From ff2fb93d564046fffbdca329c93d5ad125a732e4 Mon Sep 17 00:00:00 2001 From: David Williams-Young Date: Thu, 31 Jul 2025 12:45:22 -0700 Subject: [PATCH] Release 1.0. Includes Microsoft Contributions --- .../workflows/build_and_test_compiler_zoo.yml | 5 +- .gitignore | 2 + CMakeLists.txt | 2 +- README.md | 6 - bin/generate_primitive_kernels.py | 1155 +- include/exchcxx/enums/functionals.hpp | 74 +- include/exchcxx/enums/kernels.hpp | 86 +- include/exchcxx/impl/builtin/constants.hpp | 13 +- include/exchcxx/impl/builtin/fwd.hpp | 83 +- include/exchcxx/impl/builtin/interface.hpp | 36 +- include/exchcxx/impl/builtin/kernel_type.hpp | 526 +- include/exchcxx/impl/builtin/kernels.hpp | 83 +- .../exchcxx/impl/builtin/kernels/b3lyp.hpp | 175 - include/exchcxx/impl/builtin/kernels/b88.hpp | 831 +- .../exchcxx/impl/builtin/kernels/b97_d.hpp | 5714 ++++++ .../exchcxx/impl/builtin/kernels/bc95_c.hpp | 4544 +++++ .../exchcxx/impl/builtin/kernels/bmk_c.hpp | 4651 +++++ .../exchcxx/impl/builtin/kernels/bmk_x.hpp | 2163 +++ .../exchcxx/impl/builtin/kernels/cf22d_c.hpp | 5773 ++++++ .../exchcxx/impl/builtin/kernels/cf22d_x.hpp | 5647 ++++++ .../impl/builtin/kernels/deorbitalized.hpp | 134 +- .../exchcxx/impl/builtin/kernels/epc17_1.hpp | 432 +- .../exchcxx/impl/builtin/kernels/epc17_2.hpp | 432 +- .../exchcxx/impl/builtin/kernels/epc18_1.hpp | 424 +- .../exchcxx/impl/builtin/kernels/epc18_2.hpp | 424 +- .../exchcxx/impl/builtin/kernels/ft98_x.hpp | 3673 +++- .../impl/builtin/kernels/hjs_pbe_x.hpp | 6307 +++++++ .../impl/builtin/kernels/hse03_wpbeh_x.hpp | 11544 ++++++++++++ .../impl/builtin/kernels/hse06_wpbeh_x.hpp | 11544 ++++++++++++ .../exchcxx/impl/builtin/kernels/ityh_x.hpp | 2959 +++ .../impl/builtin/kernels/ityh_x_015.hpp | 2959 +++ .../impl/builtin/kernels/ityh_x_033.hpp | 2959 +++ .../impl/builtin/kernels/lcwpbe_wpbeh_x.hpp | 11559 ++++++++++++ .../builtin/kernels/lrcwpbe_hjs_pbe_x.hpp | 6307 +++++++ .../builtin/kernels/lrcwpbeh_hjs_pbe_x.hpp | 6307 +++++++ include/exchcxx/impl/builtin/kernels/lyp.hpp | 1248 +- .../exchcxx/impl/builtin/kernels/m05_2x_c.hpp | 5860 ++++++ .../exchcxx/impl/builtin/kernels/m05_2x_x.hpp | 2999 +++ .../exchcxx/impl/builtin/kernels/m05_c.hpp | 5860 ++++++ .../exchcxx/impl/builtin/kernels/m05_x.hpp | 2999 +++ .../exchcxx/impl/builtin/kernels/m06_2x_c.hpp | 6971 ++++++- .../exchcxx/impl/builtin/kernels/m06_2x_x.hpp | 2189 ++- .../exchcxx/impl/builtin/kernels/m06_c.hpp | 8450 +++++++++ .../exchcxx/impl/builtin/kernels/m06_hf_c.hpp | 8450 +++++++++ .../exchcxx/impl/builtin/kernels/m06_hf_x.hpp | 3559 ++++ .../exchcxx/impl/builtin/kernels/m06_l_c.hpp | 8450 +++++++++ .../exchcxx/impl/builtin/kernels/m06_l_x.hpp | 3559 ++++ .../exchcxx/impl/builtin/kernels/m06_sx_c.hpp | 8450 +++++++++ .../exchcxx/impl/builtin/kernels/m06_sx_x.hpp | 3559 ++++ .../exchcxx/impl/builtin/kernels/m06_x.hpp | 3559 ++++ .../exchcxx/impl/builtin/kernels/m08_hx_c.hpp | 5773 ++++++ .../exchcxx/impl/builtin/kernels/m08_hx_x.hpp | 3724 ++++ .../exchcxx/impl/builtin/kernels/m08_so_c.hpp | 5773 ++++++ .../exchcxx/impl/builtin/kernels/m08_so_x.hpp | 3724 ++++ .../exchcxx/impl/builtin/kernels/m11_c.hpp | 5773 ++++++ .../exchcxx/impl/builtin/kernels/m11_x.hpp | 4951 +++++ .../exchcxx/impl/builtin/kernels/mbeef_x.hpp | 5966 ++++++ .../exchcxx/impl/builtin/kernels/mn12_l_c.hpp | 5773 ++++++ .../exchcxx/impl/builtin/kernels/mn12_l_x.hpp | 5646 ++++++ .../impl/builtin/kernels/mn12_sx_c.hpp | 5773 ++++++ .../impl/builtin/kernels/mn12_sx_x.hpp | 5649 ++++++ .../exchcxx/impl/builtin/kernels/mn15_c.hpp | 5773 ++++++ .../exchcxx/impl/builtin/kernels/mn15_l_c.hpp | 5773 ++++++ .../exchcxx/impl/builtin/kernels/mn15_l_x.hpp | 5646 ++++++ .../exchcxx/impl/builtin/kernels/mn15_x.hpp | 5647 ++++++ .../exchcxx/impl/builtin/kernels/mpw91_x.hpp | 1589 ++ .../exchcxx/impl/builtin/kernels/n12_c.hpp | 4651 +++++ .../exchcxx/impl/builtin/kernels/n12_sx_c.hpp | 4651 +++++ .../exchcxx/impl/builtin/kernels/optx_x.hpp | 985 + .../exchcxx/impl/builtin/kernels/p86_c.hpp | 1730 ++ .../impl/builtin/kernels/p86vwn_ft_c.hpp | 2793 +++ include/exchcxx/impl/builtin/kernels/pbe0.hpp | 114 - .../exchcxx/impl/builtin/kernels/pbe_c.hpp | 2242 ++- .../impl/builtin/kernels/pbe_sol_c.hpp | 2911 +++ .../exchcxx/impl/builtin/kernels/pbe_x.hpp | 625 +- .../exchcxx/impl/builtin/kernels/pc07_k.hpp | 3173 +++- .../impl/builtin/kernels/pc07opt_k.hpp | 3173 +++- .../exchcxx/impl/builtin/kernels/pkzb_c.hpp | 6939 ++++++- .../exchcxx/impl/builtin/kernels/pkzb_x.hpp | 1013 +- .../exchcxx/impl/builtin/kernels/pw86_x.hpp | 1122 ++ .../exchcxx/impl/builtin/kernels/pw91_c.hpp | 3992 ++++ .../exchcxx/impl/builtin/kernels/pw91_lda.hpp | 1082 +- .../impl/builtin/kernels/pw91_lda_mod.hpp | 1082 +- .../impl/builtin/kernels/pw91_lda_rpa.hpp | 1082 +- .../exchcxx/impl/builtin/kernels/pw91_x.hpp | 1589 ++ include/exchcxx/impl/builtin/kernels/pz81.hpp | 541 +- .../exchcxx/impl/builtin/kernels/pz81_mod.hpp | 541 +- .../exchcxx/impl/builtin/kernels/r2scan_c.hpp | 7222 +++++++- .../exchcxx/impl/builtin/kernels/r2scan_x.hpp | 3137 +++- .../impl/builtin/kernels/rev_m06_l_c.hpp | 8450 +++++++++ .../impl/builtin/kernels/rev_m06_l_x.hpp | 3559 ++++ .../impl/builtin/kernels/rev_pbe_x.hpp | 625 +- .../impl/builtin/kernels/revtpss_c.hpp | 15329 ++++++++++++++++ .../impl/builtin/kernels/revtpss_x.hpp | 3530 ++++ .../exchcxx/impl/builtin/kernels/rpbe_x.hpp | 911 + .../exchcxx/impl/builtin/kernels/rscan_c.hpp | 6457 +++++++ .../exchcxx/impl/builtin/kernels/rscan_x.hpp | 5677 ++++++ .../exchcxx/impl/builtin/kernels/scan_c.hpp | 4390 ++++- .../exchcxx/impl/builtin/kernels/scan_x.hpp | 2801 ++- .../builtin/kernels/screening_interface.hpp | 440 +- .../impl/builtin/kernels/slater_exchange.hpp | 362 +- .../impl/builtin/kernels/sogga11_x_c.hpp | 2937 +++ .../impl/builtin/kernels/sogga11_x_x.hpp | 1839 ++ .../exchcxx/impl/builtin/kernels/tpss_c.hpp | 12548 +++++++++++++ .../exchcxx/impl/builtin/kernels/tpss_x.hpp | 3530 ++++ include/exchcxx/impl/builtin/kernels/vwn.hpp | 1793 ++ include/exchcxx/impl/builtin/kernels/vwn3.hpp | 2200 ++- .../exchcxx/impl/builtin/kernels/vwn_rpa.hpp | 912 +- .../exchcxx/impl/builtin/kernels/wb97_xc.hpp | 6886 +++++++ .../impl/builtin/kernels/wb97x_d3_xc.hpp | 6886 +++++++ .../impl/builtin/kernels/wb97x_d_xc.hpp | 6886 +++++++ .../impl/builtin/kernels/wb97x_v_xc.hpp | 6886 +++++++ .../exchcxx/impl/builtin/kernels/wb97x_xc.hpp | 6886 +++++++ .../impl/builtin/kernels/wpbeh_x_default0.hpp | 11544 ++++++++++++ include/exchcxx/impl/builtin/util.hpp | 150 +- include/exchcxx/impl/libxc.hpp | 36 +- include/exchcxx/impl/xc_kernel.hpp | 111 +- include/exchcxx/util/exchcxx_macros.hpp | 91 +- include/exchcxx/util/param_macros.hpp | 32 +- include/exchcxx/xc_functional.hpp | 98 +- include/exchcxx/xc_kernel.hpp | 83 +- performance/device_benchmark.cxx | 53 +- src/builtin_interface.cxx | 205 +- src/builtin_kernel.cxx | 781 +- src/cuda/builtin.cu | 1036 +- src/cuda/libxc_device.cxx | 362 + src/cuda/xc_functional_device.cu | 553 +- src/hip/builtin.hip | 12 +- src/libxc.cxx | 153 +- src/sycl/builtin_sycl.cxx | 12 +- src/xc_functional.cxx | 1102 +- src/xc_kernel.cxx | 228 +- test/CMakeLists.txt | 2 +- test/reference_values.cxx | 96 +- test/reference_values.hpp | 28 +- test/ut_common.hpp | 412 +- test/xc_functional_test.cxx | 49 +- test/xc_kernel_test.cxx | 1484 +- 138 files changed, 444500 insertions(+), 1971 deletions(-) delete mode 100644 include/exchcxx/impl/builtin/kernels/b3lyp.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/b97_d.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/bc95_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/bmk_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/bmk_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/cf22d_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/cf22d_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/hjs_pbe_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/hse03_wpbeh_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/hse06_wpbeh_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/ityh_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/ityh_x_015.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/ityh_x_033.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/lcwpbe_wpbeh_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/lrcwpbe_hjs_pbe_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/lrcwpbeh_hjs_pbe_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m05_2x_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m05_2x_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m05_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m05_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_hf_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_hf_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_l_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_l_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_sx_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_sx_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m06_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m08_hx_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m08_hx_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m08_so_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m08_so_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m11_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/m11_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mbeef_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn12_l_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn12_l_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn12_sx_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn12_sx_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn15_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn15_l_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn15_l_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mn15_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/mpw91_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/n12_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/n12_sx_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/optx_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/p86_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/p86vwn_ft_c.hpp delete mode 100644 include/exchcxx/impl/builtin/kernels/pbe0.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/pbe_sol_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/pw86_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/pw91_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/pw91_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/rev_m06_l_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/rev_m06_l_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/revtpss_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/revtpss_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/rpbe_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/rscan_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/rscan_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/sogga11_x_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/sogga11_x_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/tpss_c.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/tpss_x.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/vwn.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/wb97_xc.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/wb97x_d3_xc.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/wb97x_d_xc.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/wb97x_v_xc.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/wb97x_xc.hpp create mode 100644 include/exchcxx/impl/builtin/kernels/wpbeh_x_default0.hpp diff --git a/.github/workflows/build_and_test_compiler_zoo.yml b/.github/workflows/build_and_test_compiler_zoo.yml index c0a37ce..32690fa 100644 --- a/.github/workflows/build_and_test_compiler_zoo.yml +++ b/.github/workflows/build_and_test_compiler_zoo.yml @@ -40,7 +40,8 @@ jobs: - name: Test shell: bash - run: cmake --build ${{runner.workspace}}/build --target test + run: ${{runner.workspace}}/build/test/xc_kernel_test && + ${{runner.workspace}}/build/test/xc_functional_test debug_build: runs-on: ubuntu-latest @@ -83,7 +84,7 @@ jobs: image: dbwy/compiler-zoo strategy: matrix: - libxc_version: [ 6.2.0 ] + libxc_version: [ 7.0.0 ] steps: - uses: actions/checkout@v3 diff --git a/.gitignore b/.gitignore index 0a37f33..514a186 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ +build +.vscode *.*.swp diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b492f7..0d604c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required( VERSION 3.21 FATAL_ERROR ) # Require CMake 3.21+ include(FetchContent) # Set up project definition + version information -project( ExchCXX VERSION 0.1.0 LANGUAGES C CXX ) +project( ExchCXX VERSION 1.0.0 LANGUAGES C CXX ) # ExchCXX Options option( EXCHCXX_ENABLE_BENCHMARK "Enable Performance Benchmark" OFF ) diff --git a/README.md b/README.md index 340e64d..4c9fc86 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,6 @@ ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved. -If you have questions about your rights to use or distribute this software, -please contact Berkeley Lab's Intellectual Property Office at -IPO@lbl.gov. - NOTICE. This Software was developed under funding from the U.S. Department of Energy and the U.S. Government consequently retains certain rights. As such, the U.S. Government has been granted for itself and others acting on @@ -156,8 +152,6 @@ b3lyp.eval_exc_vxc_device( npts, rho_device, gamma_device, exc_device, vrho_devi | Perdew-Zunger 86 Modified | `XC_LDA_C_PZ_MOD` | `Kernel::PZ86_LDA_MOD` | Y | | Becke Exchange 88 | `XC_GGA_X_B88` | `Kernel::B88` | Y | | Lee-Yang-Parr | `XC_GGA_C_LYP` | `Kernel::LYP` | Y | -| PBE0 | `XC_HYB_GGA_XC_PBEH` | `Kernel::PBE0` | Y | -| B3LYP | `XC_HYB_GGA_XC_B3LYP` | `Kernel::B3LYP` | Y | diff --git a/bin/generate_primitive_kernels.py b/bin/generate_primitive_kernels.py index 44895ba..9a13b20 100644 --- a/bin/generate_primitive_kernels.py +++ b/bin/generate_primitive_kernels.py @@ -1,4 +1,4 @@ -import os,sys +import os,sys,re import textwrap import subprocess @@ -12,22 +12,37 @@ def _is_conv_to_float( x ): except ValueError: return False +def add_double_to_piecewise_functor_3_args(xc_lines): + pattern = re.compile(r'piecewise_functor_3\(([^,]+),\s*([^,]+),\s*([^)]+)\)') + def replacer(match): + arg1 = match.group(1).strip() + arg2 = match.group(2).strip() + arg3 = match.group(3).strip() + + if _is_conv_to_float(arg2): + arg2 = str(float(arg2)) + if _is_conv_to_float(arg3): + arg3 = str(float(arg3)) + + return f'piecewise_functor_3( {arg1}, {arg2}, {arg3} )' + return [pattern.sub(replacer, line) for line in xc_lines] + class XCFunc: command_map = { 'EXC' : "g++ -P -DXC_DONT_COMPILE_{{V,F,K,L}}XC -E {}", 'VXC' : "g++ -P -DXC_DONT_COMPILE_{{E,F,K,L}}XC -E {}", - 'EXC_VXC' : "g++ -P -DXC_DONT_COMPILE_{{E,F,K,L}}XC -E {}" + 'FXC' : "g++ -P -DXC_DONT_COMPILE_{{E,V,K,L}}XC -E {}", + 'EXC_VXC' : "g++ -P -DXC_DONT_COMPILE_{{E,F,K,L}}XC -E {}", + 'VXC_FXC' : "g++ -P -DXC_DONT_COMPILE_{{E,V,K,L}}XC -E {}" } unpol_lda_vars = { 'rho[0]' : 'rho', - 'zk[0]' : 'eps', } unpol_gga_vars = { 'rho[0]' : 'rho', 'sigma[0]' : 'sigma', - 'zk[0]' : 'eps', } unpol_mgga_vars = { @@ -35,14 +50,8 @@ class XCFunc: 'sigma[0]' : 'sigma', 'lapl[0]' : 'lapl', 'tau[0]' : 'tau', - 'zk[0]' : 'eps', } - #unpol_vars = { - # 'rho[0]' : 'rho', - # 'sigma[0]' : 'sigma', - # 'zk[0]' : 'eps' - #} unpol_vars = { 'LDA' : unpol_lda_vars, 'GGA' : unpol_gga_vars, @@ -59,38 +68,48 @@ class XCFunc: unpol_lda_outputs = { 'EXC' : ['eps'], 'VXC' : ['vrho'], - 'EXC_VXC' : ['eps','vrho'] + 'FXC' : ['v2rho2'], + 'EXC_VXC' : ['eps','vrho'], + 'VXC_FXC' : ['vrho', 'v2rho2'] } unpol_gga_outputs = { 'EXC' : ['eps'], 'VXC' : ['vrho', 'vsigma'], - 'EXC_VXC' : ['eps','vrho', 'vsigma'] + 'FXC' : ['v2rho2', 'v2rhosigma', 'v2sigma2'], + 'EXC_VXC' : ['eps','vrho', 'vsigma'], + 'VXC_FXC' : ['vrho', 'vsigma', 'v2rho2', 'v2rhosigma', 'v2sigma2'] } unpol_mgga_outputs = { 'EXC' : ['eps'], 'VXC' : ['vrho', 'vsigma', 'vlapl', 'vtau'], - 'EXC_VXC' : ['eps', 'vrho', 'vsigma', 'vlapl', 'vtau'] + 'FXC' : ['v2rho2', 'v2rhosigma', 'v2rholapl', 'v2rhotau', 'v2sigma2', 'v2sigmalapl', 'v2sigmatau', 'v2lapl2', 'v2lapltau', 'v2tau2'], + 'EXC_VXC' : ['eps', 'vrho', 'vsigma', 'vlapl', 'vtau'], + 'VXC_FXC' : ['vrho', 'vsigma', 'vlapl', 'vtau', 'v2rho2', 'v2rhosigma', 'v2rholapl', 'v2rhotau', 'v2sigma2', 'v2sigmalapl', 'v2sigmatau', 'v2lapl2', 'v2lapltau', 'v2tau2'] } - #unpol_outputs = { - # 'EXC' : ['eps'], - # 'VXC' : ['vrho', 'vsigma'], - # 'EXC_VXC' : ['eps','vrho', 'vsigma'] - #} unpol_outputs = { 'LDA' : unpol_lda_outputs, 'GGA' : unpol_gga_outputs, 'MGGA' : unpol_mgga_outputs } - unpol_substitutions = { 'tzk0' : 'eps', 'tvrho0' : 'vrho', 'tvsigma0': 'vsigma', 'tvlapl0' : 'vlapl', - 'tvtau0': 'vtau' + 'tvtau0': 'vtau', + 'tv2rho20': 'v2rho2', + 'tv2rhosigma0': 'v2rhosigma', + 'tv2rholapl0': 'v2rholapl', + 'tv2rhotau0': 'v2rhotau', + 'tv2sigma20': 'v2sigma2', + 'tv2sigmalapl0': 'v2sigmalapl', + 'tv2sigmatau0': 'v2sigmatau', + 'tv2lapl20': 'v2lapl2', + 'tv2lapltau0': 'v2lapltau', + 'tv2tau20': 'v2tau2' } @@ -99,7 +118,6 @@ class XCFunc: pol_lda_vars = { 'rho[0]' : 'rho_a', 'rho[1]' : 'rho_b', - 'zk[0]' : 'eps', } pol_gga_vars = { @@ -108,7 +126,6 @@ class XCFunc: 'sigma[0]' : 'sigma_aa', 'sigma[1]' : 'sigma_ab', 'sigma[2]' : 'sigma_bb', - 'zk[0]' : 'eps' } pol_mgga_vars = { @@ -121,17 +138,8 @@ class XCFunc: 'lapl[1]' : 'lapl_b', 'tau[0]' : 'tau_a', 'tau[1]' : 'tau_b', - 'zk[0]' : 'eps' } - #pol_vars = { - # 'rho[0]' : 'rho_a', - # 'rho[1]' : 'rho_b', - # 'sigma[0]' : 'sigma_aa', - # 'sigma[1]' : 'sigma_ab', - # 'sigma[2]' : 'sigma_bb', - # 'zk[0]' : 'eps' - #} pol_vars = { 'LDA' : pol_lda_vars, 'GGA' : pol_gga_vars, @@ -147,26 +155,66 @@ class XCFunc: pol_lda_outputs = { 'EXC' : ['eps'], 'VXC' : ['vrho_a', 'vrho_b'], - 'EXC_VXC' : ['eps','vrho_a', 'vrho_b'] + 'FXC' : ['v2rho2_aa', 'v2rho2_ab', 'v2rho2_bb'], + 'EXC_VXC' : ['eps','vrho_a', 'vrho_b'], + 'VXC_FXC' : ['vrho_a', 'vrho_b', 'v2rho2_aa', 'v2rho2_ab', 'v2rho2_bb'] } pol_gga_outputs = { 'EXC' : ['eps'], 'VXC' : ['vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb'], - 'EXC_VXC' : ['eps','vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb'] + 'FXC' : ['v2rho2_aa', 'v2rho2_ab', 'v2rho2_bb', + 'v2rhosigma_a_aa', 'v2rhosigma_a_ab', 'v2rhosigma_a_bb', + 'v2rhosigma_b_aa', 'v2rhosigma_b_ab', 'v2rhosigma_b_bb', + 'v2sigma2_aa_aa', 'v2sigma2_aa_ab', 'v2sigma2_aa_bb', + 'v2sigma2_ab_ab', 'v2sigma2_ab_bb', 'v2sigma2_bb_bb'], + 'EXC_VXC' : ['eps','vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb'], + 'VXC_FXC' : ['vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb', + 'v2rho2_aa', 'v2rho2_ab', 'v2rho2_bb', + 'v2rhosigma_a_aa', 'v2rhosigma_a_ab', 'v2rhosigma_a_bb', + 'v2rhosigma_b_aa', 'v2rhosigma_b_ab', 'v2rhosigma_b_bb', + 'v2sigma2_aa_aa', 'v2sigma2_aa_ab', 'v2sigma2_aa_bb', + 'v2sigma2_ab_ab', 'v2sigma2_ab_bb', 'v2sigma2_bb_bb'] } pol_mgga_outputs = { 'EXC' : ['eps'], 'VXC' : ['vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb', 'vlapl_a', 'vlapl_b', 'vtau_a', 'vtau_b'], - 'EXC_VXC' : ['eps','vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb', 'vlapl_a', 'vlapl_b', 'vtau_a', 'vtau_b'] + 'FXC' : ['v2rho2_aa', 'v2rho2_ab', 'v2rho2_bb', + 'v2rhosigma_a_aa', 'v2rhosigma_a_ab', 'v2rhosigma_a_bb', + 'v2rhosigma_b_aa', 'v2rhosigma_b_ab', 'v2rhosigma_b_bb', + 'v2rholapl_a_a', 'v2rholapl_a_b', 'v2rholapl_b_a', 'v2rholapl_b_b', + 'v2rhotau_a_a', 'v2rhotau_a_b', 'v2rhotau_b_a', 'v2rhotau_b_b', + 'v2sigma2_aa_aa', 'v2sigma2_aa_ab', 'v2sigma2_aa_bb', + 'v2sigma2_ab_ab', 'v2sigma2_ab_bb', 'v2sigma2_bb_bb', + 'v2sigmalapl_aa_a', 'v2sigmalapl_aa_b', 'v2sigmalapl_ab_a', 'v2sigmalapl_ab_b', 'v2sigmalapl_bb_a', 'v2sigmalapl_bb_b', + 'v2sigmatau_aa_a', 'v2sigmatau_aa_b', 'v2sigmatau_ab_a', 'v2sigmatau_ab_b', 'v2sigmatau_bb_a', 'v2sigmatau_bb_b', + 'v2lapl2_aa', 'v2lapl2_ab', 'v2lapl2_bb', + 'v2lapltau_a_a', 'v2lapltau_a_b', 'v2lapltau_b_a', 'v2lapltau_b_b', + 'v2tau2_aa', 'v2tau2_ab', 'v2tau2_bb'], + 'EXC_VXC' : ['eps','vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb', 'vlapl_a', 'vlapl_b', 'vtau_a', 'vtau_b'], + 'VXC_FXC' : ['vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb', 'vlapl_a', 'vlapl_b', 'vtau_a', 'vtau_b', + 'v2rho2_aa', 'v2rho2_ab', 'v2rho2_bb', + 'v2rhosigma_a_aa', 'v2rhosigma_a_ab', 'v2rhosigma_a_bb', + 'v2rhosigma_b_aa', 'v2rhosigma_b_ab', 'v2rhosigma_b_bb', + 'v2rholapl_a_a', 'v2rholapl_a_b', 'v2rholapl_b_a', 'v2rholapl_b_b', + 'v2rhotau_a_a', 'v2rhotau_a_b', 'v2rhotau_b_a', 'v2rhotau_b_b', + 'v2sigma2_aa_aa', 'v2sigma2_aa_ab', 'v2sigma2_aa_bb', + 'v2sigma2_ab_ab', 'v2sigma2_ab_bb', 'v2sigma2_bb_bb', + 'v2sigmalapl_aa_a', 'v2sigmalapl_aa_b', 'v2sigmalapl_ab_a', 'v2sigmalapl_ab_b', 'v2sigmalapl_bb_a', 'v2sigmalapl_bb_b', + 'v2sigmatau_aa_a', 'v2sigmatau_aa_b', 'v2sigmatau_ab_a', 'v2sigmatau_ab_b', 'v2sigmatau_bb_a', 'v2sigmatau_bb_b', + 'v2lapl2_aa', 'v2lapl2_ab', 'v2lapl2_bb', + 'v2lapltau_a_a', 'v2lapltau_a_b', 'v2lapltau_b_a', 'v2lapltau_b_b', + 'v2tau2_aa', 'v2tau2_ab', 'v2tau2_bb'] } - #pol_outputs = { - # 'EXC' : ['eps'], - # 'VXC' : ['vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb'], - # 'EXC_VXC' : ['eps','vrho_a', 'vrho_b', 'vsigma_aa', 'vsigma_ab', 'vsigma_bb'] - #} + zero_out_spin_cross_terms = ['v2rho2_ab', 'v2rhosigma_a_ab', 'v2rhosigma_a_bb', 'v2rhosigma_b_aa', 'v2rhosigma_b_ab', \ + 'v2rholapl_a_b', 'v2rholapl_b_a', 'v2rhotau_a_b', 'v2rhotau_b_a', \ + 'v2sigma2_aa_ab', 'v2sigma2_aa_bb', 'v2sigma2_ab_ab', 'v2sigma2_ab_bb', \ + 'v2sigmalapl_aa_b', 'v2sigmalapl_ab_a', 'v2sigmalapl_ab_b', 'v2sigmalapl_bb_a', \ + 'v2sigmatau_aa_b', 'v2sigmatau_ab_a', 'v2sigmatau_ab_b', 'v2sigmatau_bb_a', \ + 'v2lapl2_ab', 'v2lapltau_a_b', 'v2lapltau_b_a', 'v2tau2_ab'] + pol_outputs = { 'LDA' : pol_lda_outputs, 'GGA' : pol_gga_outputs, @@ -183,12 +231,57 @@ class XCFunc: 'tvlapl0' : 'vlapl_a', 'tvlapl1' : 'vlapl_b', 'tvtau0' : 'vtau_a', - 'tvtau1' : 'vtau_b' + 'tvtau1' : 'vtau_b', + 'tv2rho20' : 'v2rho2_aa', + 'tv2rho21' : 'v2rho2_ab', + 'tv2rho22' : 'v2rho2_bb', + 'tv2rhosigma0' : 'v2rhosigma_a_aa', + 'tv2rhosigma1' : 'v2rhosigma_a_ab', + 'tv2rhosigma2' : 'v2rhosigma_a_bb', + 'tv2rhosigma3' : 'v2rhosigma_b_aa', + 'tv2rhosigma4' : 'v2rhosigma_b_ab', + 'tv2rhosigma5' : 'v2rhosigma_b_bb', + 'tv2rholapl0' : 'v2rholapl_a_a', + 'tv2rholapl1' : 'v2rholapl_a_b', + 'tv2rholapl2' : 'v2rholapl_b_a', + 'tv2rholapl3' : 'v2rholapl_b_b', + 'tv2rhotau0' : 'v2rhotau_a_a', + 'tv2rhotau1' : 'v2rhotau_a_b', + 'tv2rhotau2' : 'v2rhotau_b_a', + 'tv2rhotau3' : 'v2rhotau_b_b', + 'tv2sigma20' : 'v2sigma2_aa_aa', + 'tv2sigma21' : 'v2sigma2_aa_ab', + 'tv2sigma22' : 'v2sigma2_aa_bb', + 'tv2sigma23' : 'v2sigma2_ab_ab', + 'tv2sigma24' : 'v2sigma2_ab_bb', + 'tv2sigma25' : 'v2sigma2_bb_bb', + 'tv2sigmalapl0' : 'v2sigmalapl_aa_a', + 'tv2sigmalapl1' : 'v2sigmalapl_aa_b', + 'tv2sigmalapl2' : 'v2sigmalapl_ab_a', + 'tv2sigmalapl3' : 'v2sigmalapl_ab_b', + 'tv2sigmalapl4' : 'v2sigmalapl_bb_a', + 'tv2sigmalapl5' : 'v2sigmalapl_bb_b', + 'tv2sigmatau0' : 'v2sigmatau_aa_a', + 'tv2sigmatau1' : 'v2sigmatau_aa_b', + 'tv2sigmatau2' : 'v2sigmatau_ab_a', + 'tv2sigmatau3' : 'v2sigmatau_ab_b', + 'tv2sigmatau4' : 'v2sigmatau_bb_a', + 'tv2sigmatau5' : 'v2sigmatau_bb_b', + 'tv2lapl20' : 'v2lapl2_aa', + 'tv2lapl21' : 'v2lapl2_ab', + 'tv2lapl22' : 'v2lapl2_bb', + 'tv2lapltau0' : 'v2lapltau_a_a', + 'tv2lapltau1' : 'v2lapltau_a_b', + 'tv2lapltau2' : 'v2lapltau_b_a', + 'tv2lapltau3' : 'v2lapltau_b_b', + 'tv2tau20' : 'v2tau2_aa', + 'tv2tau21' : 'v2tau2_ab', + 'tv2tau22' : 'v2tau2_bb' } arith_ops = [ '+', '-', '*', '/' ] - def __init__(self, fname, xc_approx, xc_type = 'EXC' ): + def __init__(self, fname, xc_approx, xc_type): self.fname = fname self.xc_approx = xc_approx self.xc_type = xc_type @@ -208,11 +301,15 @@ def __init__(self, fname, xc_approx, xc_type = 'EXC' ): self.pol_func_lines = self.special_cases( self.pol_func_lines ) + + fname_end = self.fname.split('/')[-1] + zero_out_spin_cross = ("_x.c" in fname_end or "_x_" in fname_end) and self.xc_type in ["FXC", "VXC_FXC"] + self.const_params = [] - tmp_params, self.unpol_xc_body = self.finalize_lines( self.unpol_func_lines, self.unpol_vars[xc_approx], self.unpol_outputs[xc_approx][xc_type], self.unpol_substitutions ) + tmp_params, self.unpol_xc_body = self.finalize_lines( self.unpol_func_lines, self.unpol_vars[xc_approx], self.unpol_outputs[xc_approx][xc_type], self.unpol_substitutions) self.const_params = self.const_params + tmp_params - tmp_params, self.pol_xc_body = self.finalize_lines( self.pol_func_lines, self.pol_vars[xc_approx], self.pol_outputs[xc_approx][xc_type], self.pol_substitutions ) + tmp_params, self.pol_xc_body = self.finalize_lines( self.pol_func_lines, self.pol_vars[xc_approx], self.pol_outputs[xc_approx][xc_type], self.pol_substitutions, zero_out_spin_cross) self.const_params = self.const_params + tmp_params self.const_params = list(set(self.const_params)) @@ -246,6 +343,7 @@ def sanitize_xc_out( self ): self.xc_out = self.xc_out.replace('p->dens_threshold','dens_tol') self.xc_out = self.xc_out.replace('p->sigma_threshold', 'sigma_tol') self.xc_out = self.xc_out.replace('p->tau_threshold', 'tau_tol') + self.xc_out = self.xc_out.replace('p->cam_omega', 'omega') xc_lines = self.xc_out.splitlines() xc_lines = list(filter( lambda x: not x.startswith(' double'), xc_lines )) @@ -254,15 +352,34 @@ def sanitize_xc_out( self ): xc_lines = list(filter( lambda x: not x.startswith(' out->'), xc_lines )) xc_lines = list(filter( lambda x: '*params' not in x, xc_lines )) + # # If piecewise_functor_3() is used, convert any integer to a double float + xc_lines = add_double_to_piecewise_functor_3_args(xc_lines) + return xc_lines def separate_xc_out( self ): - string = "exc" if self.xc_type == "EXC" else "vxc" - unpol_i = next( i for i,v in enumerate( self.xc_lines ) if f'func_{string}_unpol' in v ) - pol_i = next( i for i,v in enumerate( self.xc_lines ) if f'func_{string}_pol' in v ) - - self.unpol_func_lines = self.xc_lines[(unpol_i+2):(pol_i-2)] - self.pol_func_lines = self.xc_lines[(pol_i+2):-1] + # Map XC type to appropriate function name in output + if self.xc_type == "EXC": + string = "exc" + elif self.xc_type == "VXC" or self.xc_type == "EXC_VXC": + string = "vxc" + elif self.xc_type == "FXC" or self.xc_type == "VXC_FXC": + string = "fxc" + else: + raise ValueError(f"Unknown XC type: {self.xc_type}") + + try: + unpol_i = next( i for i,v in enumerate( self.xc_lines ) if f'func_{string}_unpol' in v ) + pol_i = next( i for i,v in enumerate( self.xc_lines ) if f'func_{string}_pol' in v ) + + self.unpol_func_lines = self.xc_lines[(unpol_i+2):(pol_i-2)] + self.pol_func_lines = self.xc_lines[(pol_i+2):-1] + except StopIteration: + # If patterns aren't found, initialize with empty lists and print a warning + print(f"Warning: Could not find expected function patterns for {self.xc_type}") + print(self.xc_lines) + sys.exit() + def special_cases( self, xc_lines ): @@ -280,10 +397,13 @@ def special_cases( self, xc_lines ): xc_lines = [ x.replace('exp(','safe_math::exp(') for x in xc_lines ] xc_lines = [ x.replace('pow(','safe_math::pow(') for x in xc_lines ] xc_lines = [ x.replace('atan(','safe_math::atan(') for x in xc_lines ] + xc_lines = [ x.replace('erf(','safe_math::erf(') for x in xc_lines ] + xc_lines = [ x.replace('xc_E1_scaled(','safe_math::xc_E1_scaled(') for x in xc_lines ] + xc_lines = [ x.replace('xc_erfcx(','safe_math::xc_erfcx(') for x in xc_lines ] return xc_lines - def finalize_lines( self, _xc_lines, xc_vars, xc_output, substitutions ): + def finalize_lines( self, _xc_lines, xc_vars, xc_output, substitutions, zero_out_spin_cross = False ): xc_lines = _xc_lines.copy() @@ -291,15 +411,25 @@ def finalize_lines( self, _xc_lines, xc_vars, xc_output, substitutions ): for k,v in xc_vars.items(): xc_lines = [ x.replace(k,v) for x in xc_lines ] + # Create a new list rather than modifying while iterating + if zero_out_spin_cross: + zero_terms = [output for output in xc_output if output in self.zero_out_spin_cross_terms] + xc_output = [output for output in xc_output if output not in self.zero_out_spin_cross_terms] + else: + zero_terms = [] + + # print("zero terms ", zero_terms) + # print("xc_output ", xc_output) + for k,v in substitutions.items(): - xc_lines = [ x.replace(k,v) for x in xc_lines ] + if v in xc_output: + xc_lines = [ x.replace(k,v) for x in xc_lines ] # This changes all parameter arrays to fixed values xc_lines = [x.replace('[','_') for x in xc_lines ] xc_lines = [x.replace(']','') for x in xc_lines ] res_lines = [ x for x in xc_lines if x.split(' = ')[0].strip() in xc_output ] - #print(res_lines) for line in res_lines: xc_lines.remove( line ) @@ -316,6 +446,7 @@ def finalize_lines( self, _xc_lines, xc_vars, xc_output, substitutions ): for op in self.arith_ops: req_vars = req_vars.replace(op,'') req_vars = req_vars.split(' ') + # additional_req_vars = [x for x in req_vars if x in substitutions.values()] req_vars = [x for x in req_vars if len(x) > 0 and 't' in x and 'tau' not in x] req_vars = [x for x in req_vars if 'functor' not in x ] req_vars = list(req_vars) @@ -341,16 +472,16 @@ def finalize_lines( self, _xc_lines, xc_vars, xc_output, substitutions ): rhs = [ x for x in rhs if 'log' not in x ] rhs = [ x for x in rhs if 'pow' not in x ] rhs = [ x for x in rhs if 'exp' not in x ] - rhs = [ x for x in rhs if 'atan' not in x ] rhs = [ x for x in rhs if 'dens_tol' not in x ] rhs = [ x for x in rhs if 'zeta_tol' not in x ] rhs = [ x for x in rhs if 'tau_tol' not in x ] rhs = [ x for x in rhs if 'sigma_tol' not in x ] + rhs = [ x for x in rhs if 'xc_E1_scaled' not in x ] + rhs = [ x for x in rhs if 'xc_erfcx' not in x ] + rhs = [ x for x in rhs if 'erf' not in x ] #if len(rhs) > 0: all_vars[tvar] = set(rhs) - #print('all vars', all_vars) - #print('req vars', req_vars) # Transverse the dependency tree until list of required variables is unchanging have_all_req_vars = False @@ -417,8 +548,14 @@ def finalize_lines( self, _xc_lines, xc_vars, xc_output, substitutions ): const_lines.append('\n') xc_lines.append('\n') + if zero_out_spin_cross: + zero_output_lines = [ f'{x} = 0.0;' for x in zero_terms ] + zero_output_lines.append('\n') + else: + zero_output_lines = [] + - xc_body_lines = unused_xc_var_lines + const_lines + xc_lines + res_lines + xc_body_lines = unused_xc_var_lines + const_lines + xc_lines + res_lines + zero_output_lines #xc_body_lines = const_lines + xc_lines + res_lines # Combine and perform final sanitization of parameters @@ -471,34 +608,75 @@ def get_const_lines( self, _xc_lines, xc_vars ): class GenMetaData: - def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff, + def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, params = {}, needs_laplacian = False, is_kedf = False, is_epc = False ): self.local_name = local_name self.libxc_file = libxc_file self.ofname = ofname self.xc_type = xc_type self.dens_tol = dens_tol - self.exx_coeff = exx_coeff self.params = params self.needs_laplacian = needs_laplacian self.is_kedf = is_kedf self.is_epc = is_epc - self.is_hyb = abs(float(exx_coeff)) > 1e-10 -#libxc_prefix = '/Users/meji656/Projects/libxc/src/maple2c/' -#kernel_prefix = '/Users/meji656/Projects/ExchCXX/include/exchcxx/impl/builtin/kernels/' -#libxc_prefix = '/home/dbwy/Software/Chemistry/libxc/6.2.0/libxc-6.2.0/src/maple2c/' -libxc_prefix = '/home/davidwillia/Development/ExchCXX/libxc-7.0.0/src/maple2c/' -kernel_prefix = 'include/exchcxx/impl/builtin/kernels/' +# libxc_prefix = '/home/davidwillia/Development/ExchCXX/libxc-7.0.0/src/maple2c/' +libxc_prefix = '/home/jsliang/madft-exchcxx/build/_deps/libxc-src/src/maple2c/' +kernel_prefix = '/home/jsliang/madft-exchcxx/include/exchcxx/impl/builtin/kernels/' gen_table = { + 'B88' : GenMetaData( 'BuiltinB88', + libxc_prefix + 'gga_exc/gga_x_b88.c', + kernel_prefix + 'b88.hpp', + 'GGA', 1e-15, {'beta':'0.0042', 'gamma':'6.0'} + ), + + 'M062X_X' : GenMetaData( 'BuiltinM062X_X', + libxc_prefix + 'mgga_exc/hyb_mgga_x_m05.c', + kernel_prefix + 'm06_2x_x.hpp', + 'MGGA', 1e-15, + {'a_0' : '0.46', + 'a_1' : '-0.2206052', + 'a_2' : '-9.431788e-02', + 'a_3' : '2.164494e+00', + 'a_4' : '-2.556466e+00', + 'a_5' : '-1.422133e+01', + 'a_6' : '1.555044e+01', + 'a_7' : '3.598078e+01', + 'a_8' : '-2.722754e+01', + 'a_9' : '-3.924093e+01', + 'a_10': '1.522808e+01', + 'a_11': '1.522227e+01', + 'csi_HF': '1.0', + 'cx': '0.54'} + ), + + 'M05_X': GenMetaData( 'BuiltinM05_X', + libxc_prefix + 'mgga_exc/hyb_mgga_x_m05.c', + kernel_prefix + 'm05_x.hpp', + 'MGGA', 1e-15, + { 'a_0': '1.0', 'a_1': '0.08151', 'a_2': '-0.43956', 'a_3': '-3.22422', 'a_4': '2.01819', 'a_5': '8.79431', 'a_6': '-0.00295', + 'a_7': '9.82029', 'a_8': '-4.82351', 'a_9': '-48.17574', 'a_10': '3.64802', 'a_11': '34.02248', + 'csi_HF': '0.72', 'cx': '0.28'} + ), + + 'M05_2X_X': GenMetaData( 'BuiltinM05_2X_X', + libxc_prefix + 'mgga_exc/hyb_mgga_x_m05.c', + kernel_prefix + 'm05_2x_x.hpp', + 'MGGA', 1e-15, + { 'a_0': '1.0', 'a_1': '-0.56833', 'a_2': '-1.30057', 'a_3': '5.50070', 'a_4': '9.06402', 'a_5': '-32.21075', 'a_6': '-23.73298', + 'a_7': '70.22996', 'a_8': '29.88614', 'a_9': '-60.25778', 'a_10': '-13.22205', 'a_11': '15.23694', + 'csi_HF': '0.44', 'cx': '0.56'} + ), + + 'EPC17_1' : GenMetaData( 'BuiltinEPC17_1', libxc_prefix + 'lda_exc/lda_c_epc17.c', kernel_prefix + 'epc17_1.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'a': '2.35', 'b': '2.40', 'c': '3.20' }, @@ -508,7 +686,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'EPC17_2' : GenMetaData( 'BuiltinEPC17_2', libxc_prefix + 'lda_exc/lda_c_epc17.c', kernel_prefix + 'epc17_2.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'a': '2.35', 'b': '2.40', 'c': '6.60' }, @@ -518,7 +696,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'EPC18_1' : GenMetaData( 'BuiltinEPC18_1', libxc_prefix + 'lda_exc/lda_c_epc18.c', kernel_prefix + 'epc18_1.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'a': '1.80', 'b': '0.10', 'c': '0.03' }, @@ -528,7 +706,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'EPC18_2' : GenMetaData( 'BuiltinEPC18_2', libxc_prefix + 'lda_exc/lda_c_epc18.c', kernel_prefix + 'epc18_2.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'a': '3.90', 'b': '0.50', 'c': '0.06' }, @@ -538,25 +716,25 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'SlaterExchange' : GenMetaData( 'BuiltinSlaterExchange', libxc_prefix + 'lda_exc/lda_x.c', kernel_prefix + 'slater_exchange.hpp', - 'LDA', 1e-24, 0., { 'alpha' : '1.0' } + 'LDA', 1e-24, { 'alpha' : '1.0' } ), 'VWN3' : GenMetaData( 'BuiltinVWN3', libxc_prefix + 'lda_exc/lda_c_vwn_3.c', kernel_prefix + 'vwn3.hpp', - 'LDA', 1e-24, 0. + 'LDA', 1e-24, ), 'VWN_RPA' : GenMetaData( 'BuiltinVWN_RPA', libxc_prefix + 'lda_exc/lda_c_vwn_rpa.c', kernel_prefix + 'vwn_rpa.hpp', - 'LDA', 1e-24, 0. + 'LDA', 1e-24, ), 'PW91' : GenMetaData( 'BuiltinPW91_LDA', libxc_prefix + 'lda_exc/lda_c_pw.c', kernel_prefix + 'pw91_lda.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'pp' : '{1., 1., 1.}', 'a' : '{0.031091, 0.015545, 0.016887}', 'alpha1' : '{0.21370, 0.20548, 0.11125}', @@ -569,7 +747,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'PW91_MOD' : GenMetaData( 'BuiltinPW91_LDA_MOD', libxc_prefix + 'lda_exc/lda_c_pw.c', kernel_prefix + 'pw91_lda_mod.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'pp' : '{1., 1., 1.}', 'a' : '{0.0310907, 0.01554535, 0.0168869}', 'alpha1' : '{0.21370, 0.20548, 0.11125}', @@ -582,7 +760,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'PW91_RPA' : GenMetaData( 'BuiltinPW91_LDA_RPA', libxc_prefix + 'lda_exc/lda_c_pw.c', kernel_prefix + 'pw91_lda_rpa.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'pp' : '{0.75, 0.75, 1.0}', 'a' : '{0.031091, 0.015545, 0.016887}', @@ -597,7 +775,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'PZ81' : GenMetaData( 'BuiltinPZ81', libxc_prefix + 'lda_exc/lda_c_pz.c', kernel_prefix + 'pz81.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'gamma' : '{-0.1423, -0.0843}' , 'beta1' : '{ 1.0529, 1.3981}' , @@ -612,7 +790,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'PZ81_MOD' : GenMetaData( 'BuiltinPZ81_MOD', libxc_prefix + 'lda_exc/lda_c_pz.c', kernel_prefix + 'pz81_mod.hpp', - 'LDA', 1e-24, 0., + 'LDA', 1e-24, { 'gamma' : '{-0.1423, -0.0843}' , 'beta1' : '{ 1.0529, 1.3981}' , @@ -624,40 +802,35 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff }), - 'B88' : GenMetaData( 'BuiltinB88', - libxc_prefix + 'gga_exc/gga_x_b88.c', - kernel_prefix + 'b88.hpp', - 'GGA', 1e-25, 0., {'beta':'0.0042', 'gamma':'6.0'} - ), 'LYP' : GenMetaData( 'BuiltinLYP', libxc_prefix + 'gga_exc/gga_c_lyp.c', kernel_prefix + 'lyp.hpp', - 'GGA', 1e-32, 0., {'a':'0.04918', 'b':'0.132', 'c':'0.2533', 'd':'0.349'} + 'GGA', 1e-32, {'a':'0.04918', 'b':'0.132', 'c':'0.2533', 'd':'0.349'} ), 'PBE_X' : GenMetaData( 'BuiltinPBE_X', libxc_prefix + 'gga_exc/gga_x_pbe.c', kernel_prefix + 'pbe_x.hpp', - 'GGA', 1e-32, 0., {'kappa':'0.8040', 'mu':' 0.2195149727645171'} + 'GGA', 1e-32, {'kappa':'0.8040', 'mu':' 0.2195149727645171'} ), 'revPBE_X' : GenMetaData( 'BuiltinRevPBE_X', libxc_prefix + 'gga_exc/gga_x_pbe.c', kernel_prefix + 'rev_pbe_x.hpp', - 'GGA', 1e-32, 0., {'kappa':'1.245', 'mu':' 0.2195149727645171'} + 'GGA', 1e-32, {'kappa':'1.245', 'mu':' 0.2195149727645171'} ), 'PBE_C' : GenMetaData( 'BuiltinPBE_C', libxc_prefix + 'gga_exc/gga_c_pbe.c', kernel_prefix + 'pbe_c.hpp', - 'GGA', 1e-12, 0., {'beta':'0.06672455060314922', 'gamma':'0.031090690869654895034', 'BB':'1.'} + 'GGA', 1e-12, {'beta':'0.06672455060314922', 'gamma':'0.031090690869654895034', 'BB':'1.'} ), 'SCAN_X' : GenMetaData( 'BuiltinSCAN_X', libxc_prefix + 'mgga_exc/mgga_x_scan.c', kernel_prefix + 'scan_x.hpp', - 'MGGA', 1e-15, 0., + 'MGGA', 1e-15, {'c1': '0.667', 'c2': '0.8', 'd' : '1.24', @@ -667,13 +840,13 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'SCAN_C' : GenMetaData( 'BuiltinSCAN_C', libxc_prefix + 'mgga_exc/mgga_c_scan.c', kernel_prefix + 'scan_c.hpp', - 'MGGA', 1e-15, 0. + 'MGGA', 1e-15, ), 'R2SCAN_X' : GenMetaData( 'BuiltinR2SCAN_X', libxc_prefix + 'mgga_exc/mgga_x_r2scan.c', kernel_prefix + 'r2scan_x.hpp', - 'MGGA', 1e-11, 0., + 'MGGA', 1e-11, {'c1': '0.667', 'c2': '0.8', 'd': '1.24', @@ -685,34 +858,15 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'R2SCAN_C' : GenMetaData( 'BuiltinR2SCAN_C', libxc_prefix + 'mgga_exc/mgga_c_r2scan.c', kernel_prefix + 'r2scan_c.hpp', - 'MGGA', 1e-15, 0., + 'MGGA', 1e-15, {'eta': '0.001'} ), - 'M062X_X' : GenMetaData( 'BuiltinM062X_X', - libxc_prefix + 'mgga_exc/hyb_mgga_x_m05.c', - kernel_prefix + 'm06_2x_x.hpp', - 'MGGA', 1e-15, 0.54, - {'a_0' : '0.46', - 'a_1' : '-0.2206052', - 'a_2' : '-9.431788e-02', - 'a_3' : '2.164494e+00', - 'a_4' : '-2.556466e+00', - 'a_5' : '-1.422133e+01', - 'a_6' : '1.555044e+01', - 'a_7' : '3.598078e+01', - 'a_8' : '-2.722754e+01', - 'a_9' : '-3.924093e+01', - 'a_10': '1.522808e+01', - 'a_11': '1.522227e+01', - 'csi_HF': '1.0', - 'cx': '0.54'} - ), 'M062X_C' : GenMetaData( 'BuiltinM062X_C', libxc_prefix + 'mgga_exc/mgga_c_m06l.c', kernel_prefix + 'm06_2x_c.hpp', - 'MGGA', 1e-12, 0.0, + 'MGGA', 1e-12, { 'gamma_ss': '0.06', 'gamma_ab': '0.0031', @@ -747,17 +901,17 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'PKZB_X' : GenMetaData( 'BuiltinPKZB_X', libxc_prefix + 'mgga_exc/mgga_x_pkzb.c', kernel_prefix + 'pkzb_x.hpp', - 'MGGA', 1e-15, 0., {}), + 'MGGA', 1e-15, {}), 'PKZB_C' : GenMetaData( 'BuiltinPKZB_C', libxc_prefix + 'mgga_exc/mgga_c_pkzb.c', kernel_prefix + 'pkzb_c.hpp', - 'MGGA', 1e-13, 0., {}), + 'MGGA', 1e-13, {}), 'FT98' : GenMetaData( 'BuiltinFT98_X', libxc_prefix + 'mgga_exc/mgga_x_ft98.c', kernel_prefix + 'ft98_x.hpp', - 'MGGA', 1e-12, 0., + 'MGGA', 1e-12, { 'a': '0.00528014', 'b': '0.00003904539', 'a1': '2.816049', @@ -770,7 +924,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'PC07' : GenMetaData( 'BuiltinPC07_K', libxc_prefix + 'mgga_exc/mgga_k_pc07.c', kernel_prefix + 'pc07_k.hpp', - 'MGGA', 1e-15, 0., + 'MGGA', 1e-15, { 'a': '0.5389', 'b': '3.0' }, True, True @@ -779,16 +933,641 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff 'PC07OPT' : GenMetaData( 'BuiltinPC07OPT_K', libxc_prefix + 'mgga_exc/mgga_k_pc07.c', kernel_prefix + 'pc07opt_k.hpp', - 'MGGA', 1e-15, 0., + 'MGGA', 1e-15, { 'a': '1.784720', 'b': '0.258304' }, True, True - ) + ), + + 'TPSS_X' : GenMetaData( 'BuiltinTPSS_X', + libxc_prefix + 'mgga_exc/mgga_x_tpss.c', + kernel_prefix + 'tpss_x.hpp', + 'MGGA', 1e-15, + { 'b': '0.40', + 'c': '1.59096', + 'e': '1.537', + 'kappa' : '0.804', + 'mu' : '0.21951', + 'BLOC_a' : '2.0', + 'BLOC_b' : '0.0' } + ), + + 'revTPSS_X' : GenMetaData( 'BuiltinRevTPSS_X', + libxc_prefix + 'mgga_exc/mgga_x_tpss.c', + kernel_prefix + 'revtpss_x.hpp', + 'MGGA', 1e-15, + { 'b': '0.40', + 'c': '2.35203946', + 'e': '2.16769874', + 'kappa' : '0.804', + 'mu' : '0.14', + 'BLOC_a' : '3.0', + 'BLOC_b' : '0.0' } + ), + + 'B97_D' : GenMetaData( 'BuiltinB97_D', + libxc_prefix + 'gga_exc/gga_xc_b97.c', + kernel_prefix + 'b97_d.hpp', + 'GGA', 1e-14, + { 'c_x_0' : '1.08662', 'c_x_1' : '-0.52127', 'c_x_2' : '3.25429', 'c_x_3' : '0.0', 'c_x_4' : '0.0', + 'c_ss_0' : '0.2234', 'c_ss_1' : '-1.56208', 'c_ss_2' : '1.94293', 'c_ss_3' : '0.0', 'c_ss_4' : '0.0', + 'c_ab_0' : '0.69041', 'c_ab_1' : '6.3027', 'c_ab_2' : '-14.9712', 'c_ab_3' : '0.0', 'c_ab_4' : '0.0', + 'c_xx' : '0.0' } + ), + + 'ITYH_X' : GenMetaData( 'BuiltinITYH_X', + libxc_prefix + 'gga_exc/gga_x_ityh.c', + kernel_prefix + 'ityh_x.hpp', + 'GGA', 1e-14, + { 'omega' : '0.2' } + ), + + 'ITYH_X_033' : GenMetaData( 'BuiltinITYH_X_033', + libxc_prefix + 'gga_exc/gga_x_ityh.c', + kernel_prefix + 'ityh_x_033.hpp', + 'GGA', 1e-14, + { 'omega' : '0.33' } + ), + + 'ITYH_X_015' : GenMetaData( 'BuiltinITYH_X_015', + libxc_prefix + 'gga_exc/gga_x_ityh.c', + kernel_prefix + 'ityh_x_015.hpp', + 'GGA', 1e-14, + { 'omega' : '0.15' } + ), + + 'VWN' : GenMetaData( 'BuiltinVWN', + libxc_prefix + 'lda_exc/lda_c_vwn.c', + kernel_prefix + 'vwn.hpp', + 'LDA', 1e-15, + ), + + 'M06_L_X' : GenMetaData( 'BuiltinM06_L_X', + libxc_prefix + 'mgga_exc/mgga_x_m06l.c', + kernel_prefix + 'm06_l_x.hpp', + 'MGGA', 1e-15, + { 'a_0' : '0.3987756', 'a_1' : '0.2548219', 'a_2' : '0.3923994', 'a_3' : '-2.103655', 'a_4' : '-6.302147', + 'a_5' : '10.97615', 'a_6' : '30.97273', 'a_7' : '-23.18489', 'a_8' : '-56.73480', 'a_9' : '21.60364', + 'a_10': '34.21814', 'a_11': '-9.049762', 'd_0' : '0.6012244', 'd_1' : '0.004748822', 'd_2' : '-0.008635108', + 'd_3' : '-0.000009308062', 'd_4' : '0.00004482811', 'd_5' : '0.0'} + ), + + 'M06_X' : GenMetaData( 'BuiltinM06_X', + libxc_prefix + 'mgga_exc/mgga_x_m06l.c', + kernel_prefix + 'm06_x.hpp', + 'MGGA', 1e-15, + { 'a_0' : '0.5877943', 'a_1' : '-0.1371776', 'a_2' : '0.2682367', 'a_3' : '-2.515898', 'a_4' : '-2.978892', + 'a_5' : '8.710679', 'a_6' : '16.88195', 'a_7' : '-4.489724', 'a_8' : '-32.99983', 'a_9' : '-14.49050', + 'a_10': '20.43747', 'a_11': '12.56504', 'd_0' : '0.1422057', 'd_1' : '0.0007370319', 'd_2' : '-0.01601373', + 'd_3' : '0.0', 'd_4' : '0.0', 'd_5' : '0.0'} + ), + + 'revM06_L_X' : GenMetaData( 'BuiltinRevM06_L_X', + libxc_prefix + 'mgga_exc/mgga_x_m06l.c', + kernel_prefix + 'rev_m06_l_x.hpp', + 'MGGA', 1e-15, + { 'a_0' : '1.423227252', 'a_1' : '0.471820438', 'a_2' : '-0.167555701', 'a_3' : '-0.250154262', 'a_4' : '0.062487588', + 'a_5' : '0.733501240', 'a_6' : '-2.359736776', 'a_7' : '-1.436594372', 'a_8' : '0.444643793', 'a_9' : '1.529925054', + 'a_10': '2.053941717', 'a_11' : '-0.036536031', + 'd_0' : '-0.423227252', 'd_1' : '0.0', 'd_2' : '0.003724234', 'd_3' : '0.0', 'd_4' : '0.0', 'd_5' : '0.0'} + ), + + 'M06_SX_X' : GenMetaData( 'BuiltinM06_SX_X', + libxc_prefix + 'mgga_exc/mgga_x_m06l.c', + kernel_prefix + 'm06_sx_x.hpp', + 'MGGA', 1e-15, + { 'a_0' : '0.996501680264007', 'a_1' : '0.0301264933631367', 'a_2' : '-0.103366758333673', 'a_3' : '-0.155653062500239', 'a_4' : '0.00795768051149902', + 'a_5' : '0.0871986277454856', 'a_6' : '-0.816152625764469', 'a_7' : '0.672773006612420', 'a_8' : '0.521127186174968', 'a_9' : '0.399466945122217', + 'a_10': '0.519400018999204', 'a_11': '-0.965261552636835', 'd_0' : '-0.347792307472902', 'd_1' : '0.0', 'd_2' : '-0.00270366787478266', 'd_3' : '0.0', + 'd_4' : '0.0', 'd_5' : '0.0'} + ), + + 'M06_HF_X' : GenMetaData( 'BuiltinM06_HF_X', + libxc_prefix + 'mgga_exc/mgga_x_m06l.c', + kernel_prefix + 'm06_hf_x.hpp', + 'MGGA', 1e-15, + { 'a_0' : '0.1179732', 'a_1' : '-1.066708', 'a_2' : '-0.1462405', 'a_3' : '7.481848', 'a_4' : '3.776679', + 'a_5' : '-44.36118', 'a_6' : '-18.30962', 'a_7' : '100.3903', 'a_8' : '38.64360', 'a_9' : '-98.06018', + 'a_10': '-25.57716', 'a_11': '35.90404', 'd_0' : '-0.1179732', 'd_1' : '-0.0025', 'd_2' : '-0.01180065', + 'd_3' : '0.0', 'd_4' : '0.0', 'd_5' : '0.0'} + ), + + 'M06_L_C' : GenMetaData( 'BuiltinM06_L_C', + libxc_prefix + 'mgga_exc/mgga_c_m06l.c', + kernel_prefix + 'm06_l_c.hpp', + 'MGGA', 1e-12, + { + 'gamma_ss': '0.06', 'gamma_ab': '0.0031', 'alpha_ss': '0.00515088', 'alpha_ab': '0.00304966', + 'css_0': '5.349466e-01', 'css_1': '5.396620e-01', 'css_2': '-3.161217e+01', 'css_3': '5.149592e+01', 'css_4': '-2.919613e+01', + 'cab_0': '6.042374e-01', 'cab_1': '1.776783e+02', 'cab_2': '-2.513252e+02', 'cab_3': '7.635173e+01', 'cab_4': '-1.255699e+01', + 'dss_0': '4.650534e-01', 'dss_1': '1.617589e-01', 'dss_2': '1.833657e-01', 'dss_3': '4.692100e-04', 'dss_4': '-4.990573e-03', 'dss_5': '0.000000e+00', + 'dab_0': '3.957626e-01', 'dab_1': '-5.614546e-01', 'dab_2': '1.403963e-02', 'dab_3': '9.831442e-04', 'dab_4': '-3.577176e-03', 'dab_5': '0.000000e+00', + 'Fermi_D_cnst': '1e-10'} + ), + 'M06_HF_C' : GenMetaData( 'BuiltinM06_HF_C', + libxc_prefix + 'mgga_exc/mgga_c_m06l.c', + kernel_prefix + 'm06_hf_c.hpp', + 'MGGA', 1e-12, + { + 'gamma_ss': '0.06', 'gamma_ab': '0.0031', 'alpha_ss': '0.00515088', 'alpha_ab': '0.00304966', + 'css_0': '1.023254e-01', 'css_1': '-2.453783e+00', 'css_2': '2.913180e+01', 'css_3': '-3.494358e+01', 'css_4': '2.315955e+01', + 'cab_0': '1.674634e+00', 'cab_1': '5.732017e+01', 'cab_2': '5.955416e+01', 'cab_3': '-2.311007e+02', 'cab_4': '1.255199e+02', + 'dss_0': '8.976746e-01', 'dss_1': '-2.345830e-01', 'dss_2': '2.368173e-01', 'dss_3': '-9.913890e-04', 'dss_4': '-1.146165e-02', 'dss_5': '0.000000e+00', + 'dab_0': '-6.746338e-01', 'dab_1': '-1.534002e-01', 'dab_2': '-9.021521e-02', 'dab_3': '-1.292037e-03', 'dab_4': '-2.352983e-04', 'dab_5': '0.000000e+00', + 'Fermi_D_cnst': '1e-10'} + ), + 'M06_C' : GenMetaData( 'BuiltinM06_C', + libxc_prefix + 'mgga_exc/mgga_c_m06l.c', + kernel_prefix + 'm06_c.hpp', + 'MGGA', 1e-12, + { + 'gamma_ss': '0.06', 'gamma_ab': '0.0031', 'alpha_ss': '0.00515088', 'alpha_ab': '0.00304966', + 'css_0': '5.094055e-01', 'css_1': '-1.491085e+00', 'css_2': '1.723922e+01', 'css_3': '-3.859018e+01', 'css_4': '2.845044e+01', + 'cab_0': '3.741539e+00', 'cab_1': '2.187098e+02', 'cab_2': '-4.531252e+02', 'cab_3': '2.936479e+02', 'cab_4': '-6.287470e+01', + 'dss_0': '4.905945e-01', 'dss_1': '-1.437348e-01', 'dss_2': '2.357824e-01', 'dss_3': '1.871015e-03', 'dss_4': '-3.788963e-03', 'dss_5': '0.000000e+00', + 'dab_0': '-2.741539e+00', 'dab_1': '-6.720113e-01', 'dab_2': '-7.932688e-02', 'dab_3': '1.918681e-03', 'dab_4': '-2.032902e-03', 'dab_5': '0.000000e+00', + 'Fermi_D_cnst': '1e-10'} + ), + 'M06_SX_C' : GenMetaData( 'BuiltinM06_SX_C', + libxc_prefix + 'mgga_exc/mgga_c_m06l.c', + kernel_prefix + 'm06_sx_c.hpp', + 'MGGA', 1e-14, + { + 'gamma_ss': '0.06', 'gamma_ab': '0.0031', 'alpha_ss': '0.00515088', 'alpha_ab': '0.00304966', + 'css_0': '1.17575011057022E+00', 'css_1': '6.58083496678423E-01', 'css_2': '-2.78913774852905E+00', 'css_3': '-1.18597601856255E+00', 'css_4': '1.16439928209688E+00', + 'cab_0': '1.63738167314691E-01', 'cab_1': '-4.36481171027951E-01', 'cab_2': '-1.90232628449712E+00', 'cab_3': '-1.42432902881841E+00', 'cab_4': '-9.05909137360893E-01', + 'dss_0': '8.17322574473352E-02', 'dss_1': '-2.88531085759385E-02', 'dss_2': '9.05917734868130E-02', 'dss_3': '0.0', 'dss_4': '0.0', 'dss_5': '-4.86297499082106E-04', + 'dab_0': '7.40594619832397E-01', 'dab_1': '1.23306511345974E-02', 'dab_2': '-1.88253421850249E-02', 'dab_3': '0.0', 'dab_4': '0.0', 'dab_5': '4.87276242162303E-04', + 'Fermi_D_cnst': '1e-10'} + ), + 'revM06_L_C' : GenMetaData( 'BuiltinRevM06_L_C', + libxc_prefix + 'mgga_exc/mgga_c_m06l.c', + kernel_prefix + 'rev_m06_l_c.hpp', + 'MGGA', 1e-12, + { + 'gamma_ss': '0.06', 'gamma_ab': '0.0031', 'alpha_ss': '0.00515088', 'alpha_ab': '0.00304966', + 'css_0': '1.227659748', 'css_1': '0.855201283', 'css_2': '-3.113346677', 'css_3': '-2.239678026', 'css_4': '0.354638962', + 'cab_0': '0.344360696', 'cab_1': '-0.557080242', 'cab_2': '-2.009821162', 'cab_3': '-1.857641887', 'cab_4': '-1.076639864', + 'dss_0': '-0.538821292', 'dss_1': '-0.028296030', 'dss_2': '0.023889696', 'dss_3': '0.0', 'dss_4': '0.0', 'dss_5': '-0.002437902', + 'dab_0': '0.400714600', 'dab_1': '0.015796569', 'dab_2': '-0.032680984', 'dab_3': '0.0', 'dab_4': '0.0', 'dab_5': '0.001260132', + 'Fermi_D_cnst': '1e-10'} + ), + + 'M05_C' : GenMetaData( 'BuiltinM05_C', + libxc_prefix + 'mgga_exc/mgga_c_m05.c', + kernel_prefix + 'm05_c.hpp', + 'MGGA', 1e-15, + { 'gamma_ss': '0.06', 'gamma_ab': '0.0031', + 'css_0': '1.00000e0', 'css_1': '3.77344e0', 'css_2': '-26.04463e0', 'css_3': '30.69913e0', 'css_4': '-9.22695e0', + 'cab_0': '1.00000e0', 'cab_1': '3.78569e0', 'cab_2': '-14.15261e0', 'cab_3': '-7.46589e0', 'cab_4': '17.94491e0', + 'Fermi_D_cnst': '1e-10'} + ), + 'M05_2X_C' : GenMetaData( 'BuiltinM05_2X_C', + libxc_prefix + 'mgga_exc/mgga_c_m05.c', + kernel_prefix + 'm05_2x_c.hpp', + 'MGGA', 1e-15, + { 'gamma_ss': '0.06', 'gamma_ab': '0.0031', + 'css_0': '1.00000e0', 'css_1': '-3.05430e0', 'css_2': '7.61854e0', 'css_3': '1.47665e0', 'css_4': '-11.92365e0', + 'cab_0': '1.00000e0', 'cab_1': '1.09297e0', 'cab_2': '-3.79171e0', 'cab_3': '2.82810e0', 'cab_4': '-10.58909e0', + 'Fermi_D_cnst': '1e-10'} + ), + + 'M08_HX_C' : GenMetaData( 'BuiltinM08_HX_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'm08_hx_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '1.0000000e+00', 'm08_a_1': '-4.0661387e-01', 'm08_a_2': '-3.3232530e+00', 'm08_a_3': '1.5540980e+00', 'm08_a_4': '4.4248033e+01', 'm08_a_5': '-8.4351930e+01', + 'm08_a_6': '-1.1955581e+02', 'm08_a_7': '3.9147081e+02', 'm08_a_8': '1.8363851e+02', 'm08_a_9': '-6.3268223e+02', 'm08_a_10': '-1.1297403e+02', 'm08_a_11': '3.3629312e+02', + 'm08_b_0': '1.3812334e+00', 'm08_b_1': '-2.4683806e+00', 'm08_b_2': '-1.1901501e+01', 'm08_b_3': '-5.4112667e+01', 'm08_b_4': '1.0055846e+01', 'm08_b_5': '1.4800687e+02', + 'm08_b_6': '1.1561420e+02', 'm08_b_7': '2.5591815e+02', 'm08_b_8': '2.1320772e+02', 'm08_b_9': '-4.8412067e+02', 'm08_b_10': '-4.3430813e+02', 'm08_b_11': '5.6627964e+01'} + ), + 'M08_SO_C' : GenMetaData( 'BuiltinM08_SO_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'm08_so_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '1.0000000e+00', 'm08_a_1': '0.0000000e+00', 'm08_a_2': '-3.9980886e+00', 'm08_a_3': '1.2982340e+01', 'm08_a_4': '1.0117507e+02', 'm08_a_5': '-8.9541984e+01', + 'm08_a_6': '-3.5640242e+02', 'm08_a_7': '2.0698803e+02', 'm08_a_8': '4.6037780e+02', 'm08_a_9': '-2.4510559e+02', 'm08_a_10': '-1.9638425e+02', 'm08_a_11': '1.1881459e+02', + 'm08_b_0': '1.0000000e+00', 'm08_b_1': '-4.4117403e+00', 'm08_b_2': '-6.4128622e+00', 'm08_b_3': '4.7583635e+01', 'm08_b_4': '1.8630053e+02', 'm08_b_5': '-1.2800784e+02', + 'm08_b_6': '-5.5385258e+02', 'm08_b_7': '1.3873727e+02', 'm08_b_8': '4.1646537e+02', 'm08_b_9': '-2.6626577e+02', 'm08_b_10': '5.6676300e+01', 'm08_b_11': '3.1673746e+02'} + ), + 'M11_C' : GenMetaData( 'BuiltinM11_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'm11_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '1.0000000e+00', 'm08_a_1': '0.0000000e+00', 'm08_a_2': '-3.8933250e+00', 'm08_a_3': '-2.1688455e+00', 'm08_a_4': '9.3497200e+00', 'm08_a_5': '-1.9845140e+01', + 'm08_a_6': '2.3455253e+00', 'm08_a_7': '7.9246513e+01', 'm08_a_8': '9.6042757e+00', 'm08_a_9': '-6.7856719e+01', 'm08_a_10': '-9.1841067e+00', 'm08_a_11': '0.0000000e+00', + 'm08_b_0': '7.2239798e-01', 'm08_b_1': '4.3730564e-01', 'm08_b_2': '-1.6088809e+01', 'm08_b_3': '-6.5542437e+01', 'm08_b_4': '3.2057230e+01', 'm08_b_5': '1.8617888e+02', + 'm08_b_6': '2.0483468e+01', 'm08_b_7': '-7.0853739e+01', 'm08_b_8': '4.4483915e+01', 'm08_b_9': '-9.4484747e+01', 'm08_b_10': '-1.1459868e+02', 'm08_b_11': '0.0000000e+00'} + ), + 'MN12_L_C' : GenMetaData( 'BuiltinMN12_L_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'mn12_l_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '8.844610e-01', 'm08_a_1': '-2.202279e-01', 'm08_a_2': '5.701372e+00', 'm08_a_3': '-2.562378e+00', 'm08_a_4': '-9.646827e-01', 'm08_a_5': '1.982183e-01', + 'm08_a_6': '1.019976e+01', 'm08_a_7': '9.789352e-01', 'm08_a_8': '-1.512722e+00', 'm08_a_9': '0.000000e+00', 'm08_a_10': '0.000000e+00', 'm08_a_11': '0.000000e+00', + 'm08_b_0': '5.323948e-01', 'm08_b_1': '-5.831909e+00', 'm08_b_2': '3.882386e+00', 'm08_b_3': '5.878488e+00', 'm08_b_4': '1.493228e+01', 'm08_b_5': '-1.374636e+01', + 'm08_b_6': '-8.492327e+00', 'm08_b_7': '-2.486548e+00', 'm08_b_8': '-1.822346e+01', 'm08_b_9': '0.000000e+00', 'm08_b_10': '0.000000e+00', 'm08_b_11': '0.000000e+00'} + ), + 'MN12_SX_C' : GenMetaData( 'BuiltinMN12_SX_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'mn12_sx_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '7.171161e-01', 'm08_a_1': '-2.380914e+00', 'm08_a_2': '5.793565e+00', 'm08_a_3': '-1.243624e+00', 'm08_a_4': '1.364920e+01', 'm08_a_5': '-2.110812e+01', + 'm08_a_6': '-1.598767e+01', 'm08_a_7': '1.429208e+01', 'm08_a_8': '6.149191e+00', 'm08_a_9': '0.000000e+00', 'm08_a_10': '0.000000e+00', 'm08_a_11': '0.000000e+00', + 'm08_b_0': '4.663699e-01', 'm08_b_1': '-9.110685e+00', 'm08_b_2': '8.705051e+00', 'm08_b_3': '-1.813949e+00', 'm08_b_4': '-4.147211e-01', 'm08_b_5': '-1.021527e+01', + 'm08_b_6': '8.240270e-01', 'm08_b_7': '4.993815e+00', 'm08_b_8': '-2.563930e+01', 'm08_b_9': '0.000000e+00', 'm08_b_10': '0.000000e+00', 'm08_b_11': '0.000000e+00'} + ), + 'MN15_L_C' : GenMetaData( 'BuiltinMN15_L_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'mn15_l_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '0.952058087', 'm08_a_1': '-0.756954364', 'm08_a_2': '5.677396094', 'm08_a_3': '-5.017104782', 'm08_a_4': '-5.10654071', 'm08_a_5': '-4.812053335', + 'm08_a_6': '3.397640087', 'm08_a_7': '1.980041517', 'm08_a_8': '10.1231046', 'm08_a_9': '0.0', 'm08_a_10': '0.0', 'm08_a_11': '0.0', + 'm08_b_0': '0.819504932', 'm08_b_1': '-7.689358913', 'm08_b_2': '-0.70532663', 'm08_b_3': '-0.600096421', 'm08_b_4': '11.03332527', 'm08_b_5': '5.861969337', + 'm08_b_6': '8.913865465', 'm08_b_7': '5.74529876', 'm08_b_8': '4.254880837', 'm08_b_9': '0.0', 'm08_b_10': '0.0', 'm08_b_11': '0.0'} + ), + 'MN15_C' : GenMetaData( 'BuiltinMN15_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'mn15_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '1.093250748', 'm08_a_1': '-0.269735037', 'm08_a_2': '6.368997613', 'm08_a_3': '-0.245337101', 'm08_a_4': '-1.587103441', 'm08_a_5': '0.124698862', + 'm08_a_6': '1.605819855', 'm08_a_7': '0.466206031', 'm08_a_8': '3.484978654', 'm08_a_9': '0.0', 'm08_a_10': '0.0', 'm08_a_11': '0.0', + 'm08_b_0': '1.427424993', 'm08_b_1': '-3.57883682', 'm08_b_2': '7.398727547', 'm08_b_3': '3.927810559', 'm08_b_4': '2.789804639', 'm08_b_5': '4.988320462', + 'm08_b_6': '3.079464318', 'm08_b_7': '3.521636859', 'm08_b_8': '4.769671992', 'm08_b_9': '0.0', 'm08_b_10': '0.0', 'm08_b_11': '0.0'} + ), + 'CF22D_C' : GenMetaData( 'BuiltinCF22D_C', + libxc_prefix + 'mgga_exc/mgga_c_m08.c', + kernel_prefix + 'cf22d_c.hpp', + 'MGGA', 1e-15, + { 'm08_a_0': '0.873863376', 'm08_a_1': '0.078066142', 'm08_a_2': '6.576550257', 'm08_a_3': '-1.126030147', 'm08_a_4': '-3.244797887', 'm08_a_5': '-2.186090839', + 'm08_a_6': '-3.489135041', 'm08_a_7': '3.090689716', 'm08_a_8': '3.866592474', 'm08_a_9': '0.0', 'm08_a_10': '0.0', 'm08_a_11': '0.0', + 'm08_b_0': '0.828203832', 'm08_b_1': '-2.518707202', 'm08_b_2': '10.436806314', 'm08_b_3': '3.588267084', 'm08_b_4': '-5.789404145', 'm08_b_5': '3.353560215', + 'm08_b_6': '-2.432384384', 'm08_b_7': '-1.147183331', 'm08_b_8': '2.991316045', 'm08_b_9': '0.0', 'm08_b_10': '0.0', 'm08_b_11': '0.0'} + ), + + 'P86_C' : GenMetaData( 'BuiltinP86_C', + libxc_prefix + 'gga_exc/gga_c_p86.c', + kernel_prefix + 'p86_c.hpp', + 'GGA', 1e-15, + { 'malpha': '0.023266', 'mbeta': '7.389e-6', 'mgamma': '8.723', 'mdelta': '0.472', 'aa': '0.001667', + 'bb': '0.002568', 'ftilde': '0.19195'} + ), + + 'PW91_C' : GenMetaData( 'BuiltinPW91_C', + libxc_prefix + 'gga_exc/gga_c_pw91.c', + kernel_prefix + 'pw91_c.hpp', + 'GGA', 1e-12), + + 'PBE_SOL_C' : GenMetaData( 'BuiltinPBE_SOL_C', + libxc_prefix + 'gga_exc/gga_c_pbe.c', + kernel_prefix + 'pbe_sol_c.hpp', + 'GGA', 1e-12, {'beta':'0.046', 'gamma':'0.031090690869654895034', 'BB':'1.'} + ), + + 'BMK_C' : GenMetaData( 'BuiltinBMK_C', + libxc_prefix + 'gga_exc/gga_c_bmk.c', + kernel_prefix + 'bmk_c.hpp', + 'GGA', 1e-14, + {'c_ss_0':'-2.19098', 'c_ss_1':'23.8939', 'c_ss_2':'-44.3303', 'c_ss_3':'22.5982', 'c_ss_4':'0.0', + 'c_ab_0':'1.22334', 'c_ab_1':'-3.4631', 'c_ab_2':'10.0731', 'c_ab_3':'-11.1974', 'c_ab_4':'0.0'} + ), + 'N12_C' : GenMetaData( 'BuiltinN12_C', + libxc_prefix + 'gga_exc/gga_c_bmk.c', + kernel_prefix + 'n12_c.hpp', + 'GGA', 1e-14, + {'c_ss_0':'1.00000e+00', 'c_ss_1':'-5.53170e+00', 'c_ss_2':'3.07958e+01', 'c_ss_3':'-5.64196e+01', 'c_ss_4':'3.21250e+01', + 'c_ab_0':'1.00000e+00', 'c_ab_1':'3.24511e+00', 'c_ab_2':'-2.52893e+01', 'c_ab_3':'1.44407e+01', 'c_ab_4':'1.96870e+01'} + ), + 'N12_SX_C' : GenMetaData( 'BuiltinN12_SX_C', + libxc_prefix + 'gga_exc/gga_c_bmk.c', + kernel_prefix + 'n12_sx_c.hpp', + 'GGA', 1e-14, + {'c_ss_0':'2.63373e+00', 'c_ss_1':'-1.05450e+00', 'c_ss_2':'-7.29853e-01', 'c_ss_3':'4.94024e+00', 'c_ss_4':'-7.31760e+00', + 'c_ab_0':'8.33615e-01', 'c_ab_1':'3.24128e+00', 'c_ab_2':'-1.06407e+01', 'c_ab_3':'-1.60471e+01', 'c_ab_4':'2.51047e+01'} + ), + + 'P86VWN_FT_C' : GenMetaData( 'BuiltinP86VWN_FT_C', + libxc_prefix + 'gga_exc/gga_c_p86vwn.c', + kernel_prefix + 'p86vwn_ft_c.hpp', + 'GGA', 1e-15, + { 'malpha': '0.023266', 'mbeta': '7.389e-6', 'mgamma': '8.723', 'mdelta': '0.472', 'aa': '0.001667', + 'bb': '0.002568', 'ftilde': '1.7454151061251239789*0.11'} + ), + + 'SOGGA11_X_C' : GenMetaData( 'BuiltinSOGGA11_X_C', + libxc_prefix + 'gga_exc/gga_c_sogga11.c', + kernel_prefix + 'sogga11_x_c.hpp', + 'GGA', 1e-14, + { 'sogga11_a_0': '0.50000', 'sogga11_a_1': '78.2439', 'sogga11_a_2': '25.7211', 'sogga11_a_3': '-13.8830', 'sogga11_a_4': '-9.87375', 'sogga11_a_5': '-14.1357', + 'sogga11_b_0': '0.50000', 'sogga11_b_1': '-79.2439', 'sogga11_b_2': '16.3725', 'sogga11_b_3': '2.08129', 'sogga11_b_4': '7.50769', 'sogga11_b_5': '-10.1861'} + ), + + 'TPSS_C' : GenMetaData( 'BuiltinTPSS_C', + libxc_prefix + 'mgga_exc/mgga_c_tpss.c', + kernel_prefix + 'tpss_c.hpp', + 'MGGA', 1e-15, + { 'beta': '0.06672455060314922', 'd': '2.8', 'C0_c_0': '0.53', 'C0_c_1': '0.87', 'C0_c_2': '0.50', 'C0_c_3': '2.26'} + ), + 'BC95_C' : GenMetaData( 'BuiltinBC95_C', + libxc_prefix + 'mgga_exc/mgga_c_bc95.c', + kernel_prefix + 'bc95_c.hpp', + 'MGGA', 1e-14, + { 'css': '0.038', 'copp': '0.0031'} + ), + + 'revTPSS_C' : GenMetaData( 'BuiltinRevTPSS_C', + libxc_prefix + 'mgga_exc/mgga_c_revtpss.c', + kernel_prefix + 'revtpss_c.hpp', + 'MGGA', 1e-13, + { 'd': '2.8', 'C0_c_0': '0.59', 'C0_c_1': '0.9269', 'C0_c_2': '0.6225', 'C0_c_3': '2.1540'} + ), + + 'RSCAN_C' : GenMetaData( 'BuiltinRSCAN_C', + libxc_prefix + 'mgga_exc/mgga_c_rscan.c', + kernel_prefix + 'rscan_c.hpp', + 'MGGA', 1e-15), + + 'PW91_X': GenMetaData( 'BuiltinPW91_X', + libxc_prefix + 'gga_exc/gga_x_pw91.c', + kernel_prefix + 'pw91_x.hpp', + 'GGA', 1e-15, + { 'a': '0.19645', 'b': '7.7956', 'c': '0.2743', 'd': '-0.1508', 'f': '0.004', 'alpha': '100.0', 'expo': '4.0'} + ), + + 'MPW91_X': GenMetaData( 'BuiltinMPW91_X', + libxc_prefix + 'gga_exc/gga_x_pw91.c', + kernel_prefix + 'mpw91_x.hpp', + 'GGA', 1e-15, + { 'a': '6.0*0.00426/constants::X2S', 'b': '1.0/constants::X2S', + 'c': '0.00426/(constants::X_FACTOR_C*constants::X2S*constants::X2S)', + 'd': '-(0.00426 - 5.0*0.0003780762333399851)/(constants::X_FACTOR_C*constants::X2S*constants::X2S)', + 'f': '1.0e-6/(constants::X_FACTOR_C*0.00048120394750740677)', + 'alpha': '100.0', 'expo': '3.72'} + ), + + 'OPTX_X': GenMetaData( 'BuiltinOPTX_X', + libxc_prefix + 'gga_exc/gga_x_optx.c', + kernel_prefix + 'optx_x.hpp', + 'GGA', 1e-15, + { 'a': '1.05151', 'b': '1.43169/constants::X_FACTOR_C', 'gamma': '0.006'} + ), + + 'RPBE_X': GenMetaData( 'BuiltinRPBE_X', + libxc_prefix + 'gga_exc/gga_x_rpbe.c', + kernel_prefix + 'rpbe_x.hpp', + 'GGA', 1e-15, + { 'rpbe_kappa': '0.8040', 'rpbe_mu': '0.2195149727645171'} + ), + + 'SOGGA11_X_X': GenMetaData( 'BuiltinSOGGA11_X_X', + libxc_prefix + 'gga_exc/gga_x_sogga11.c', + kernel_prefix + 'sogga11_x_x.hpp', + 'GGA', 1e-15, + { 'kappa': '0.552', 'mu': '0.1234567901234567901234567901234567901235', + 'a_0': '0.29925', 'a_1': '3.21638', 'a_2': '-3.55605', 'a_3': '7.65852', 'a_4': '-11.2830', 'a_5': '5.25813', + 'b_0': '0.29925', 'b_1': '-2.88595', 'b_2': '3.23617', 'b_3': '-2.45393', 'b_4': '-3.75495', 'b_5': '3.96613', + 'cx': '0.4015'} + ), + + 'PW86_X': GenMetaData( 'BuiltinPW86_X', + libxc_prefix + 'gga_exc/gga_x_pw86.c', + kernel_prefix + 'pw86_x.hpp', + 'GGA', 1e-15, + { 'aa': '1.296', 'bb': '14.0', 'cc': '0.2'} + ), + + 'mBEEF_X': GenMetaData( 'BuiltinMBEEF_X', + libxc_prefix + 'mgga_exc/mgga_x_mbeef.c', + kernel_prefix + 'mbeef_x.hpp', + 'MGGA', 1e-15, + ), + + 'RSCAN_X': GenMetaData( 'BuiltinRSCAN_X', + libxc_prefix + 'mgga_exc/mgga_x_rscan.c', + kernel_prefix + 'rscan_x.hpp', + 'MGGA', 1e-11, + { 'c2': '0.8', 'd': '1.24', 'k1': '0.065', 'taur': '1.0e-4', 'alphar': '1.0e-3'} + ), + + 'BMK_X': GenMetaData( 'BuiltinBMK_X', + libxc_prefix + 'mgga_exc/mgga_x_tau_hcth.c', + kernel_prefix + 'bmk_x.hpp', + 'MGGA', 1e-15, + { 'cx_local_0': '0.474302', 'cx_local_1': '2.77701', 'cx_local_2': '-11.4230', 'cx_local_3': '11.7167', + 'cx_nlocal_0': '-0.192212', 'cx_nlocal_1': '4.73936', 'cx_nlocal_2': '-26.6188', 'cx_nlocal_3': '22.4891', 'ax': '0.42'} + ), + + 'M08_HX_X': GenMetaData( 'BuiltinM08_HX_X', + libxc_prefix + 'mgga_exc/mgga_x_m08.c', + kernel_prefix + 'm08_hx_x.hpp', + 'MGGA', 1e-15, + { 'a_0': '1.3340172e+00', 'a_1': '-9.4751087e+00', 'a_2': '-1.2541893e+01', 'a_3': '9.1369974e+00', 'a_4': '3.4717204e+01', 'a_5': '5.8831807e+01', + 'a_6': '7.1369574e+01', 'a_7': '2.3312961e+01', 'a_8': '4.8314679e+00', 'a_9': '-6.5044167e+00', 'a_10': '-1.4058265e+01', 'a_11': '1.2880570e+01', + 'b_0': '-8.5631823e-01', 'b_1': '9.2810354e+00', 'b_2': '1.2260749e+01', 'b_3': '-5.5189665e+00', 'b_4': '-3.5534989e+01', 'b_5': '-8.2049996e+01', + 'b_6': '-6.8586558e+01', 'b_7': '3.6085694e+01', 'b_8': '-9.3740983e+00', 'b_9': '-5.9731688e+01', 'b_10': '1.6587868e+01', 'b_11': '1.3993203e+01', + 'ax': '0.5223'} + ), + + 'M08_SO_X': GenMetaData( 'BuiltinM08_SO_X', + libxc_prefix + 'mgga_exc/mgga_x_m08.c', + kernel_prefix + 'm08_so_x.hpp', + 'MGGA', 1e-15, + { 'a_0': '-3.4888428e-01', 'a_1': '-5.8157416e+00', 'a_2': '3.7550810e+01', 'a_3': '6.3727406e+01', 'a_4': '-5.3742313e+01', 'a_5': '-9.8595529e+01', + 'a_6': '1.6282216e+01', 'a_7': '1.7513468e+01', 'a_8': '-6.7627553e+00', 'a_9': '1.1106658e+01', 'a_10': '1.5663545e+00', 'a_11': '8.7603470e+00', + 'b_0': '7.8098428e-01', 'b_1': '5.4538178e+00', 'b_2': '-3.7853348e+01', 'b_3': '-6.2295080e+01', 'b_4': '4.6713254e+01', 'b_5': '8.7321376e+01', + 'b_6': '1.6053446e+01', 'b_7': '2.0126920e+01', 'b_8': '-4.0343695e+01', 'b_9': '-5.8577565e+01', 'b_10': '2.0890272e+01', 'b_11': '1.0946903e+01', + 'ax': '0.5679'} + ), + + 'MN12_L_X': GenMetaData( 'BuiltinMN12_L_X', + libxc_prefix + 'mgga_exc/mgga_x_mn12.c', + kernel_prefix + 'mn12_l_x.hpp', + 'MGGA', 1e-15, + { 'c_0': '6.735981e-01', 'c_1': '-2.270598e+00', 'c_2': '-2.613712e+00', 'c_3': '3.993609e+00', 'c_4': '4.635575e+00', 'c_5': '1.250676e+00', + 'c_6': '8.444920e-01', 'c_7': '-1.301173e+01', 'c_8': '-1.777730e+01', 'c_9': '-4.627211e+00', 'c_10': '5.976605e+00', 'c_11': '1.142897e+00', + 'c_12': '-2.040226e+01', 'c_13': '-2.382843e+01', 'c_14': '7.119109e+00', 'c_15': '-2.335726e+01', 'c_16': '-1.622633e+01', 'c_17': '1.482732e+01', + 'c_18': '1.449285e+00', 'c_19': '1.020598e+01', 'c_20': '4.407450e+00', 'c_21': '-2.008193e+01', 'c_22': '-1.253561e+01', 'c_23': '-5.435031e+00', + 'c_24': '1.656736e+01', 'c_25': '2.000229e+01', 'c_26': '-2.513105e+00', 'c_27': '9.658436e+00', 'c_28': '-3.825281e+00', 'c_29': '-2.500000e+01', + 'c_30': '-2.070080e+00', 'c_31': '-9.951913e+00', 'c_32': '8.731211e-01', 'c_33': '2.210891e+01', 'c_34': '8.822633e+00', 'c_35': '2.499949e+01', + 'c_36': '2.500000e+01', 'c_37': '6.851693e-01', 'c_38': '-7.406948e-02', 'c_39': '-6.788000e-01'} + ), + + 'MN15_L_X': GenMetaData( 'BuiltinMN15_L_X', + libxc_prefix + 'mgga_exc/mgga_x_mn12.c', + kernel_prefix + 'mn15_l_x.hpp', + 'MGGA', 1e-15, + { 'c_0': '0.670864162', 'c_1': '-0.822003903', 'c_2': '-1.022407046', 'c_3': '1.689460986', 'c_4': '-0.00562032', 'c_5': '-0.110293849', + 'c_6': '0.972245178', 'c_7': '-6.697641991', 'c_8': '-4.322814495', 'c_9': '-6.786641376', 'c_10': '-5.687461462', 'c_11': '9.419643818', + 'c_12': '11.83939406', 'c_13': '5.086951311', 'c_14': '4.302369948', 'c_15': '-8.07344065', 'c_16': '2.429988978', 'c_17': '11.09485698', + 'c_18': '1.247333909', 'c_19': '3.700485291', 'c_20': '0.867791614', 'c_21': '-0.591190518', 'c_22': '-0.295305435', 'c_23': '-5.825759145', + 'c_24': '2.537532196', 'c_25': '3.143390933', 'c_26': '2.939126332', 'c_27': '0.599342114', 'c_28': '2.241702738', 'c_29': '2.035713838', + 'c_30': '-1.525344043', 'c_31': '-2.325875691', 'c_32': '1.141940663', 'c_33': '-1.563165026', 'c_34': '7.882032871', 'c_35': '11.93400684', + 'c_36': '9.852928303', 'c_37': '0.584030245', 'c_38': '-0.720941131', 'c_39': '-2.836037078'} + ), + + 'MN15_X': GenMetaData( 'BuiltinMN15_X', + libxc_prefix + 'mgga_exc/mgga_x_mn12.c', + kernel_prefix + 'mn15_x.hpp', + 'MGGA', 1e-15, + { 'c_0': '0.073852235', 'c_1': '-0.839976156', 'c_2': '-3.082660125', 'c_3': '-1.02881285', 'c_4': '-0.811697255', 'c_5': '-0.063404387', + 'c_6': '2.54805518', 'c_7': '-5.031578906', 'c_8': '0.31702159', 'c_9': '2.981868205', 'c_10': '-0.749503735', + 'c_11': '0.231825661', 'c_12': '1.261961411', 'c_13': '1.665920815', 'c_14': '7.483304941', 'c_15': '-2.544245723', 'c_16': '1.384720031', + 'c_17': '6.902569885', 'c_18': '1.657399451', 'c_19': '2.98526709', 'c_20': '6.89391326', 'c_21': '2.489813993', 'c_22': '1.454724691', + 'c_23': '-5.054324071', 'c_24': '2.35273334', 'c_25': '1.299104132', 'c_26': '1.203168217', 'c_27': '0.121595877', 'c_28': '8.048348238', + 'c_29': '21.91203659', 'c_30': '-1.852335832', 'c_31': '-3.4722735', 'c_32': '-1.564591493', 'c_33': '-2.29578769', 'c_34': '3.666482991', + 'c_35': '10.87074639', 'c_36': '9.696691388', 'c_37': '0.630701064', 'c_38': '-0.505825216', 'c_39': '-3.562354535', 'ax': '0.44'} + ), + + 'CF22D_X': GenMetaData( 'BuiltinCF22D_X', + libxc_prefix + 'mgga_exc/mgga_x_mn12.c', + kernel_prefix + 'cf22d_x.hpp', + 'MGGA', 1e-15, + { 'c_0': '0.24416116', 'c_1': '-0.389728151', 'c_2': '-1.829675858', 'c_3': '1.396044771', 'c_4': '2.315047133', 'c_5': '0.397552547', + 'c_6': '1.082144406', 'c_7': '-7.894560034', 'c_8': '-3.656253030', 'c_9': '2.574496508', 'c_10': '4.031038406', + 'c_11': '-3.931389433', 'c_12': '0.333519075', 'c_13': '-3.032270318', 'c_14': '3.673752289', 'c_15': '3.005997956', 'c_16': '-6.463733874', + 'c_17': '-4.596755225', 'c_18': '0.964839180', 'c_19': '0.363791944', 'c_20': '1.646506623', 'c_21': '-3.504641550', 'c_22': '-3.922228074', + 'c_23': '0.843718076', 'c_24': '10.779373313', 'c_25': '2.293612669', 'c_26': '7.088363286', 'c_27': '2.598770741', 'c_28': '-0.088522116', + 'c_29': '7.180809030', 'c_30': '-1.017514009', 'c_31': '1.735020310', 'c_32': '3.499241561', 'c_33': '0.922224945', 'c_34': '-2.212903920', + 'c_35': '0.243080429', 'c_36': '17.306321840', 'c_37': '0.311402396', 'c_38': '-3.257126009', 'c_39': '-3.372399742', 'ax': '0.462806'} + ), + + 'MN12_SX_X': GenMetaData( 'BuiltinMN12_SX_X', + libxc_prefix + 'mgga_exc/mgga_x_mn12.c', + kernel_prefix + 'mn12_sx_x.hpp', + 'MGGA', 1e-15, + { 'c_0': '5.226556e-01', 'c_1': '-2.681208e-01', 'c_2': '-4.670705e+00', 'c_3': '3.067320e+00', 'c_4': '4.095370e+00', 'c_5': '2.653023e+00', + 'c_6': '5.165969e-01', 'c_7': '-2.035442e+01', 'c_8': '-9.946472e+00', 'c_9': '2.938637e+00', 'c_10': '1.131100e+01', 'c_11': '4.752452e+00', + 'c_12': '-3.061331e+00', 'c_13': '-2.523173e+01', 'c_14': '1.710903e+01', 'c_15': '-2.357480e+01', 'c_16': '-2.727754e+01', 'c_17': '1.603291e+01', + 'c_18': '1.842503e+00', 'c_19': '1.927120e+00', 'c_20': '1.107987e+01', 'c_21': '-1.182087e+01', 'c_22': '-1.117768e+01', 'c_23': '-5.821000e+00', + 'c_24': '2.266545e+01', 'c_25': '8.246708e+00', 'c_26': '-4.778364e+00', 'c_27': '5.329122e-01', 'c_28': '-6.666755e+00', 'c_29': '1.671429e+00', + 'c_30': '-3.311409e+00', 'c_31': '3.415913e-01', 'c_32': '-6.413076e+00', 'c_33': '1.038584e+01', 'c_34': '9.026277e+00', 'c_35': '1.929689e+01', + 'c_36': '2.669232e+01', 'c_37': '1.517278e+00', 'c_38': '-3.442503e+00', 'c_39': '1.100161e+00', 'ax': '0.0', 'sx': '0.25', 'omega': '0.11'} + ), + + 'M11_X': GenMetaData( 'BuiltinM11_X', + libxc_prefix + 'mgga_exc/mgga_x_m11.c', + kernel_prefix + 'm11_x.hpp', + 'MGGA', 1e-11, + { 'a_0': '-0.18399900e+00', 'a_1': '-1.39046703e+01', 'a_2': '1.18206837e+01', 'a_3': '3.10098465e+01', 'a_4': '-5.19625696e+01', 'a_5': '1.55750312e+01', + 'a_6': '-6.94775730e+00', 'a_7': '-1.58465014e+02', 'a_8': '-1.48447565e+00', 'a_9': '5.51042124e+01', 'a_10': '-1.34714184e+01', 'a_11': '0.00000000e+00', + 'b_0': '0.75599900e+00', 'b_1': '1.37137944e+01', 'b_2': '-1.27998304e+01', 'b_3': '-2.93428814e+01', 'b_4': '5.91075674e+01', 'b_5': '-2.27604866e+01', + 'b_6': '-1.02769340e+01', 'b_7': '1.64752731e+02', 'b_8': '1.85349258e+01', 'b_9': '-5.56825639e+01', 'b_10': '7.47980859e+00', 'b_11': '0.00000000e+00', + 'alpha': '1.0', 'beta': '-0.572', 'omega': '0.25'} + ), + + 'wB97_XC': GenMetaData( 'BuiltinWB97_XC', + libxc_prefix + 'gga_exc/hyb_gga_xc_wb97.c', + kernel_prefix + 'wb97_xc.hpp', + 'GGA', 1e-14, + { 'c_x_0': '1.00000e+00', 'c_x_1': '1.13116e+00', 'c_x_2': '-2.74915e+00', 'c_x_3': '1.20900e+01', 'c_x_4': '-5.71642e+00', + 'c_ss_0': '1.00000e+00', 'c_ss_1': '-2.55352e+00', 'c_ss_2': '1.18926e+01', 'c_ss_3': '-2.69452e+01', 'c_ss_4': '1.70927e+01', + 'c_ab_0': '1.00000e+00', 'c_ab_1': '3.99051e+00', 'c_ab_2': '-1.70066e+01', 'c_ab_3': '1.07292e+00', 'c_ab_4': '8.88211e+00', + 'alpha': '1.0', 'beta': '-1.0', 'omega': '0.4'} + ), + + 'wB97X_XC': GenMetaData( 'BuiltinWB97X_XC', + libxc_prefix + 'gga_exc/hyb_gga_xc_wb97.c', + kernel_prefix + 'wb97x_xc.hpp', + 'GGA', 1e-14, + { 'c_x_0': '8.42294e-01', 'c_x_1': '7.26479e-01', 'c_x_2': '1.04760e+00', 'c_x_3': '-5.70635e+00', 'c_x_4': '1.32794e+01', + 'c_ss_0': '1.00000e+00', 'c_ss_1': '-4.33879e+00', 'c_ss_2': '1.82308e+01', 'c_ss_3': '-3.17430e+01', 'c_ss_4': '1.72901e+01', + 'c_ab_0': '1.00000e+00', 'c_ab_1': '2.37031e+00', 'c_ab_2': '-1.13995e+01', 'c_ab_3': '6.58405e+00', 'c_ab_4': '-3.78132e+00', + 'alpha': '1.0', 'beta': '-0.842294', 'omega': '0.3'} + ), + + 'wB97X_V_XC': GenMetaData( 'BuiltinWB97X_V_XC', + libxc_prefix + 'gga_exc/hyb_gga_xc_wb97.c', + kernel_prefix + 'wb97x_v_xc.hpp', + 'GGA', 1e-14, + { 'c_x_0': '0.833', 'c_x_1': '0.603', 'c_x_2': '1.194', 'c_x_3': '0.0', 'c_x_4': '0.0', + 'c_ss_0': '0.556', 'c_ss_1': '-0.257', 'c_ss_2': '0.0', 'c_ss_3': '0.0', 'c_ss_4': '0.0', + 'c_ab_0': '1.219', 'c_ab_1': '-1.850', 'c_ab_2': '0.0', 'c_ab_3': '0.0', 'c_ab_4': '0.0', + 'alpha': '1.0', 'beta': '-0.833', 'omega': '0.3'} + ), + + 'wB97X_D_XC': GenMetaData( 'BuiltinWB97X_D_XC', + libxc_prefix + 'gga_exc/hyb_gga_xc_wb97.c', + kernel_prefix + 'wb97x_d_xc.hpp', + 'GGA', 1e-14, + { 'c_x_0': '7.77964e-01', 'c_x_1': '6.61160e-01', 'c_x_2': '5.74541e-01', 'c_x_3': '-5.25671e+00', 'c_x_4': '1.16386e+01', + 'c_ss_0': '1.00000e+00', 'c_ss_1': '-6.90539e+00', 'c_ss_2': '3.13343e+01', 'c_ss_3': '-5.10533e+01', 'c_ss_4': '2.64423e+01', + 'c_ab_0': '1.00000e+00', 'c_ab_1': '1.79413e+00', 'c_ab_2': '-1.20477e+01', 'c_ab_3': '1.40847e+01', 'c_ab_4': '-8.50809e+00', + 'alpha': '1.0', 'beta': '-0.777964', 'omega': '0.2'} + ), + + 'wB97X_D3_XC': GenMetaData( 'BuiltinWB97X_D3_XC', + libxc_prefix + 'gga_exc/hyb_gga_xc_wb97.c', + kernel_prefix + 'wb97x_d3_xc.hpp', + 'GGA', 1e-14, + { 'c_x_0': '0.804272', 'c_x_1': '0.698900', 'c_x_2': '0.508940', 'c_x_3': '-3.744903', 'c_x_4': '10.060790', + 'c_ss_0': '1.00000', 'c_ss_1': '-4.868902', 'c_ss_2': '21.295726', 'c_ss_3': '-36.020866', 'c_ss_4': '19.177018', + 'c_ab_0': '1.00000', 'c_ab_1': '2.433266', 'c_ab_2': '-15.446008', 'c_ab_3': '17.644390', 'c_ab_4': '-8.879494', + 'alpha': '1.0', 'beta': '-0.804272', 'omega': '0.25'} + ), + + 'HJS_PBE_X': GenMetaData( 'BuiltinHJS_PBE_X', + libxc_prefix + 'gga_exc/gga_x_hjs.c', + kernel_prefix + 'hjs_pbe_x.hpp', + 'GGA', 5e-12, + { 'a_0': '0.0159941', 'a_1': '0.0852995', 'a_2': '-0.160368', 'a_3': '0.152645', 'a_4': '-0.0971263', 'a_5': '0.0422061', + 'b_0': '5.33319', 'b_1': '-12.4780', 'b_2': '11.0988', 'b_3': '-5.11013', 'b_4': '1.71468', + 'b_5': '-0.610380', 'b_6': '0.307555', 'b_7': '-0.0770547', 'b_8': '0.0334840', 'omega': '0.11'} + ), + + 'LRCwPBE_HJS_PBE_X': GenMetaData( 'BuiltinLRCwPBE_HJS_PBE_X', + libxc_prefix + 'gga_exc/gga_x_hjs.c', + kernel_prefix + 'lrcwpbe_hjs_pbe_x.hpp', + 'GGA', 5e-12, + { 'a_0': '0.0159941', 'a_1': '0.0852995', 'a_2': '-0.160368', 'a_3': '0.152645', 'a_4': '-0.0971263', 'a_5': '0.0422061', + 'b_0': '5.33319', 'b_1': '-12.4780', 'b_2': '11.0988', 'b_3': '-5.11013', 'b_4': '1.71468', + 'b_5': '-0.610380', 'b_6': '0.307555', 'b_7': '-0.0770547', 'b_8': '0.0334840', 'omega': '0.3'} + ), + + 'LRCwPBEh_HJS_PBE_X': GenMetaData( 'BuiltinLRCwPBEh_HJS_PBE_X', + libxc_prefix + 'gga_exc/gga_x_hjs.c', + kernel_prefix + 'lrcwpbeh_hjs_pbe_x.hpp', + 'GGA', 5e-12, + { 'a_0': '0.0159941', 'a_1': '0.0852995', 'a_2': '-0.160368', 'a_3': '0.152645', 'a_4': '-0.0971263', 'a_5': '0.0422061', + 'b_0': '5.33319', 'b_1': '-12.4780', 'b_2': '11.0988', 'b_3': '-5.11013', 'b_4': '1.71468', + 'b_5': '-0.610380', 'b_6': '0.307555', 'b_7': '-0.0770547', 'b_8': '0.0334840', 'omega': '0.2'} + ), + + 'wPBEh_X_default0': GenMetaData( 'BuiltinWPBEh_X_default0', + libxc_prefix + 'gga_exc/gga_x_wpbeh.c', + kernel_prefix + 'wpbeh_x_default0.hpp', + 'GGA', 1e-14, + { 'omega': '0.0'} + ), + + 'LCwPBE_wPBEh_X': GenMetaData( 'BuiltinLCwPBE_wPBEh_X', + libxc_prefix + 'gga_exc/gga_x_wpbeh.c', + kernel_prefix + 'lcwpbe_wpbeh_x.hpp', + 'GGA', 5e-12, + { 'a_0': '0.0159941', 'a_1': '0.0852995', 'a_2': '-0.160368', 'a_3': '0.152645', 'a_4': '-0.0971263', 'a_5': '0.0422061', + 'b_0': '5.33319', 'b_1': '-12.4780', 'b_2': '11.0988', 'b_3': '-5.11013', 'b_4': '1.71468', + 'b_5': '-0.610380', 'b_6': '0.307555', 'b_7': '-0.0770547', 'b_8': '0.0334840', 'omega': '0.4'} + ), + + 'HSE03_wPBEh_X': GenMetaData( 'BuiltinHSE03_wPBEh_X', + libxc_prefix + 'gga_exc/gga_x_wpbeh.c', + kernel_prefix + 'hse03_wpbeh_x.hpp', + 'GGA', 1e-14, + { 'omega': '0.188988157484230974715081591092'} + ), + + 'HSE06_wPBEh_X': GenMetaData( 'BuiltinHSE06_wPBEh_X', + libxc_prefix + 'gga_exc/gga_x_wpbeh.c', + kernel_prefix + 'hse06_wpbeh_x.hpp', + 'GGA', 1e-14, + { 'omega': '0.11'} + ), + + #'R2SCANL_X' : GenMetaData( 'BuiltinR2SCANL_X', # libxc_prefix + 'mgga_exc/mgga_x_r2scanl.c', # kernel_prefix + 'r2scanl_x.hpp', - # 'MGGA', 1e-11, 0., + # 'MGGA', 1e-11, # {'c1': '0.667', # 'c2': '0.8', # 'd': '1.24', @@ -802,7 +1581,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff #'R2SCANL_C' : GenMetaData( 'BuiltinR2SCANL_C', # libxc_prefix + 'mgga_exc/mgga_c_r2scanl.c', # kernel_prefix + 'r2scanl_c.hpp', - # 'MGGA', 1e-11, 0., + # 'MGGA', 1e-11, # {'eta': '0.001', # 'a': '1.784720', # 'b': '0.258304'} @@ -813,10 +1592,6 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff - - - - file_prefix = """#pragma once #include @@ -848,8 +1623,6 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff static constexpr double sigma_tol = {9}; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = {10}; - static constexpr double exx_coeff = {11}; """ lda_exc_args_unpolar = "double rho, double& eps" @@ -866,6 +1639,67 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff mgga_exc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps" mgga_exc_vxc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b" +# Define VXC arguments (no energy output) +lda_vxc_args_unpolar = "double rho, double& vrho" +gga_vxc_args_unpolar = "double rho, double sigma, double& vrho, double& vsigma" +mgga_vxc_args_unpolar = "double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau" + +lda_vxc_args_polar = "double rho_a, double rho_b, double& vrho_a, double& vrho_b" +gga_vxc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb" +mgga_vxc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b" + +# Create dictionaries for VXC argument maps +vxc_args_unpolar = { + 'LDA' : lda_vxc_args_unpolar, + 'GGA' : gga_vxc_args_unpolar, + 'MGGA': mgga_vxc_args_unpolar +} +vxc_args_polar = { + 'LDA' : lda_vxc_args_polar, + 'GGA' : gga_vxc_args_polar, + 'MGGA': mgga_vxc_args_polar +} + +# LDA FXC argument definitions +lda_fxc_args_unpolar = "double rho, double& v2rho2" +lda_vxc_fxc_args_unpolar = "double rho, double& vrho, double& v2rho2" +lda_fxc_args_polar = "double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb" +lda_vxc_fxc_args_polar = "double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb" + +# GGA FXC argument definitions +gga_fxc_args_unpolar = "double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2" +gga_vxc_fxc_args_unpolar = "double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2" +gga_fxc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb" +gga_vxc_fxc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb" + +# MGGA FXC argument definitions +mgga_fxc_args_unpolar = "double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2" +mgga_vxc_fxc_args_unpolar = "double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2" +mgga_fxc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb" +mgga_vxc_fxc_args_polar = "double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb" + +# Create dictionaries for argument maps +fxc_args_unpolar = { + 'LDA' : lda_fxc_args_unpolar, + 'GGA' : gga_fxc_args_unpolar, + 'MGGA': mgga_fxc_args_unpolar +} +fxc_args_polar = { + 'LDA' : lda_fxc_args_polar, + 'GGA' : gga_fxc_args_polar, + 'MGGA': mgga_fxc_args_polar +} +vxc_fxc_args_unpolar = { + 'LDA' : lda_vxc_fxc_args_unpolar, + 'GGA' : gga_vxc_fxc_args_unpolar, + 'MGGA': mgga_vxc_fxc_args_unpolar +} +vxc_fxc_args_polar = { + 'LDA' : lda_vxc_fxc_args_polar, + 'GGA' : gga_vxc_fxc_args_polar, + 'MGGA': mgga_vxc_fxc_args_polar +} + exc_args_unpolar = { 'LDA' : lda_exc_args_unpolar, 'GGA' : gga_exc_args_unpolar, @@ -910,7 +1744,10 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff for name, meta_data in gen_table.items(): print(name) xc_exc = XCFunc( meta_data.libxc_file, meta_data.xc_type, 'EXC' ) + # xc_vxc = XCFunc( meta_data.libxc_file, meta_data.xc_type, 'VXC' ) xc_exc_vxc = XCFunc( meta_data.libxc_file, meta_data.xc_type, 'EXC_VXC' ) + xc_fxc = XCFunc( meta_data.libxc_file, meta_data.xc_type, 'FXC' ) + xc_vxc_fxc = XCFunc( meta_data.libxc_file, meta_data.xc_type, 'VXC_FXC' ) xc_type = meta_data.xc_type @@ -925,7 +1762,7 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff meta_data.local_name, xc_type.lower(), str(is_lda).lower(), str(is_gga).lower(), str(is_mgga).lower(), str(needs_laplacian).lower(), str(is_kedf).lower(), str(is_epc).lower(), meta_data.dens_tol, - meta_data.dens_tol**(4.0/3.0), str(meta_data.is_hyb).lower(), meta_data.exx_coeff ) + meta_data.dens_tol**(4.0/3.0) ) xc_param_lines = [] for pname, valstr in meta_data.params.items(): @@ -952,7 +1789,38 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff exc_args_polar[xc_type] ) exc_vxc_prefix_polar = func_prefix.format( 'exc_vxc', 'polar', exc_vxc_args_polar[xc_type] ) - + + # # Generate VXC-only function bodies + # vxc_func_unpolar_body = "\n".join( [ + # vxc_prefix_unpolar, + # indent(xc_vxc.unpol_xc_body,2), + # "\n}" + # ] ) + # vxc_func_polar_body = "\n".join( [ + # vxc_prefix_polar, + # indent(xc_vxc.pol_xc_body,2), + # "\n}" + # ] ) + + # vxc_func_unpolar_body = indent(vxc_func_unpolar_body, 2) + # vxc_func_polar_body = indent(vxc_func_polar_body, 2) + + # Add functions for FXC and VXC_FXC + fxc_prefix_unpolar = func_prefix.format('fxc', 'unpolar', + fxc_args_unpolar[xc_type]) + vxc_fxc_prefix_unpolar = func_prefix.format('vxc_fxc', 'unpolar', + vxc_fxc_args_unpolar[xc_type]) + + fxc_prefix_polar = func_prefix.format('fxc', 'polar', + fxc_args_polar[xc_type]) + vxc_fxc_prefix_polar = func_prefix.format('vxc_fxc', 'polar', + vxc_fxc_args_polar[xc_type]) + + # Add VXC-only function prefixes + vxc_prefix_unpolar = func_prefix.format('vxc', 'unpolar', + vxc_args_unpolar[xc_type]) + vxc_prefix_polar = func_prefix.format('vxc', 'polar', + vxc_args_polar[xc_type]) exc_func_unpolar_body = "\n".join( [ exc_prefix_unpolar, @@ -982,14 +1850,49 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff exc_vxc_func_unpolar_body = indent(exc_vxc_func_unpolar_body, 2) exc_vxc_func_polar_body = indent(exc_vxc_func_polar_body, 2) + # Generate function bodies for FXC and VXC_FXC + fxc_func_unpolar_body = "\n".join( [ + fxc_prefix_unpolar, + indent(xc_fxc.unpol_xc_body,2), + "\n}" + ] ) + fxc_func_polar_body = "\n".join( [ + fxc_prefix_polar, + indent(xc_fxc.pol_xc_body,2), + "\n}" + ] ) + + fxc_func_unpolar_body = indent(fxc_func_unpolar_body, 2) + fxc_func_polar_body = indent(fxc_func_polar_body, 2) + + vxc_fxc_func_unpolar_body = "\n".join( [ + vxc_fxc_prefix_unpolar, + indent(xc_vxc_fxc.unpol_xc_body,2), + "\n}" + ] ) + vxc_fxc_func_polar_body = "\n".join( [ + vxc_fxc_prefix_polar, + indent(xc_vxc_fxc.pol_xc_body,2), + "\n}" + ] ) + + vxc_fxc_func_unpolar_body = indent(vxc_fxc_func_unpolar_body, 2) + vxc_fxc_func_polar_body = indent(vxc_fxc_func_polar_body, 2) + xc_struct_str = "\n".join([ xc_struct_prefix, xc_param_lines, exc_func_unpolar_body, + # vxc_func_unpolar_body, exc_vxc_func_unpolar_body, + fxc_func_unpolar_body, + vxc_fxc_func_unpolar_body, exc_func_polar_body, + # vxc_func_polar_body, exc_vxc_func_polar_body, + fxc_func_polar_body, + vxc_fxc_func_polar_body, "\n\n};" ]) @@ -1005,4 +1908,4 @@ def __init__( self, local_name, libxc_file, ofname, xc_type, dens_tol, exx_coeff with open( meta_data.ofname, 'w' ) as f: f.write( xc_file_body ) - + diff --git a/include/exchcxx/enums/functionals.hpp b/include/exchcxx/enums/functionals.hpp index 24a47a0..57d218c 100644 --- a/include/exchcxx/enums/functionals.hpp +++ b/include/exchcxx/enums/functionals.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -66,6 +72,70 @@ enum class Functional { EPC17_2, EPC18_1, EPC18_2, + + B97D, + B97D3ZERO, + CAMB3LYP, + LDA, + M06L, + SCAN0, + SPW92, + TPSS, + TPSSh, + TPSS0, + VWN3, + VWN5, + LRCwPBE, + LRCwPBEh, + BP86, + HSE03, + HSE06, + revB3LYP, + revPBE0, + revTPSS, + revTPSSh, + PW91, + mBEEF, + B3PW91, + O3LYP, + OLYP, + OPBE, + MPW1K, + RPBE, + B88, + MPW91, + RSCAN, + TUNEDCAMB3LYP, + wB97, + wB97X, + wB97XD, + wB97XD3, + LCwPBE, + X3LYP, + XLYP, + BHANDH, + BMK, + BP86VWN, + PW86B95, + PW86PBE, + R2SCAN0, + R2SCANh, + R2SCAN50, + M05, + M06, + M08HX, + M08SO, + M052X, + M06SX, + CF22D, + SOGGA11X, + M06HF, + M11, + MN12L, + MN12SX, + MN15, + MN15L, + revM06L, }; extern BidirectionalMap functional_map; diff --git a/include/exchcxx/enums/kernels.hpp b/include/exchcxx/enums/kernels.hpp index 53a80d6..69d466f 100644 --- a/include/exchcxx/enums/kernels.hpp +++ b/include/exchcxx/enums/kernels.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -59,6 +65,7 @@ enum class Kernel { SlaterExchange, VWN3, VWN5, + VWN, PZ81, PZ81_MOD, PW91_LDA, @@ -82,6 +89,32 @@ enum class Kernel { revPBE_X, B88, LYP, + B97_D, + ITYH_X, + ITYH_X_033, + ITYH_X_015, + P86_C, + P86VWN_FT_C, + PW91_C, + PBE_SOL_C, + BMK_C, + N12_C, + N12_SX_C, + SOGGA11_X_C, + PW91_X, + MPW91_X, + OPTX_X, + RPBE_X, + SOGGA11_X_X, + PW86_X, + HJS_PBE_X, + LCwPBE_wPBEh_X, + LRCwPBE_HJS_PBE_X, + LRCwPBEh_HJS_PBE_X, + wPBEh_X_default0, + HSE03_wPBEh_X, + HSE06_wPBEh_X, + // MGGA functionals SCAN_C, @@ -97,15 +130,56 @@ enum class Kernel { M062X_C, PKZB_X, PKZB_C, - + TPSS_X, + revTPSS_X, + M06_L_X, + M06_X, + revM06_L_X, + M06_HF_X, + M06_SX_X, + M06_L_C, + M06_C, + revM06_L_C, + M06_HF_C, + M06_SX_C, + M05_2X_C, + M05_C, + M08_HX_C, + M08_SO_C, + CF22D_C, + M11_C, + MN12_L_C, + MN12_SX_C, + MN15_C, + MN15_L_C, + TPSS_C, + revTPSS_C, + RSCAN_C, + BC95_C, + mBEEF_X, + RSCAN_X, + BMK_X, + M08_HX_X, + M08_SO_X, + MN12_L_X, + MN15_L_X, + MN15_X, + CF22D_X, + MN12_SX_X, + M11_X, + M05_X, + M05_2X_X, + wB97_XC, + wB97X_XC, + wB97X_V_XC, + wB97X_D_XC, + wB97X_D3_XC, + // KEDFs PC07_K, PC07OPT_K, - // Hybrid GGA functionals - B3LYP, - PBE0, // NEO LDA Functionals EPC17_1, diff --git a/include/exchcxx/impl/builtin/constants.hpp b/include/exchcxx/impl/builtin/constants.hpp index a2a4ba1..453d64b 100644 --- a/include/exchcxx/impl/builtin/constants.hpp +++ b/include/exchcxx/impl/builtin/constants.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -66,5 +72,8 @@ constexpr double m_pi_sq = 9.869604401089357992305e+00; constexpr double m_cbrt_one_ov_pi = 6.82784063255295503581e-01; constexpr double m_cbrt_pi_sq = 2.145029397111025470934e+00; +constexpr double X2S = 0.1282782438530421943003109254455883701296L; +constexpr double X_FACTOR_C = 0.9305257363491000250020102180716672510262L; + } } diff --git a/include/exchcxx/impl/builtin/fwd.hpp b/include/exchcxx/impl/builtin/fwd.hpp index a29abd7..d2248b4 100644 --- a/include/exchcxx/impl/builtin/fwd.hpp +++ b/include/exchcxx/impl/builtin/fwd.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -57,6 +63,7 @@ class BuiltinKernel; struct BuiltinSlaterExchange; struct BuiltinVWN3; struct BuiltinVWN_RPA; +struct BuiltinVWN; struct BuiltinPW91_LDA; struct BuiltinPW91_LDA_MOD; struct BuiltinPW91_LDA_RPA; @@ -68,9 +75,37 @@ struct BuiltinLYP; struct BuiltinPBE_X; struct BuiltinRevPBE_X; struct BuiltinPBE_C; +struct BuiltinB97_D; +struct BuiltinITYH_X; +struct BuiltinITYH_X_033; +struct BuiltinITYH_X_015; +struct BuiltinP86_C; +struct BuiltinP86VWN_FT_C; +struct BuiltinPW91_C; +struct BuiltinPBE_SOL_C; +struct BuiltinBMK_C; +struct BuiltinN12_C; +struct BuiltinN12_SX_C; +struct BuiltinSOGGA11_X_C; +struct BuiltinPW91_X; +struct BuiltinMPW91_X; +struct BuiltinOPTX_X; +struct BuiltinRPBE_X; +struct BuiltinSOGGA11_X_X; +struct BuiltinPW86_X; +struct BuiltinWB97_XC; +struct BuiltinWB97X_XC; +struct BuiltinWB97X_V_XC; +struct BuiltinWB97X_D_XC; +struct BuiltinWB97X_D3_XC; +struct BuiltinHJS_PBE_X; +struct BuiltinLCwPBE_wPBEh_X; +struct BuiltinLRCwPBE_HJS_PBE_X; +struct BuiltinLRCwPBEh_HJS_PBE_X; +struct BuiltinWPBEh_X_default0; +struct BuiltinHSE03_wPBEh_X; +struct BuiltinHSE06_wPBEh_X; -struct BuiltinB3LYP; -struct BuiltinPBE0; struct BuiltinSCAN_X; struct BuiltinSCAN_C; @@ -81,6 +116,46 @@ struct BuiltinM062X_C; struct BuiltinPKZB_X; struct BuiltinPKZB_C; struct BuiltinFT98_X; +struct BuiltinTPSS_X; +struct BuiltinRevTPSS_X; +struct BuiltinM06_L_X; +struct BuiltinM06_X; +struct BuiltinM06_HF_X; +struct BuiltinRevM06_L_X; +struct BuiltinM06_SX_X; +struct BuiltinM06_L_C; +struct BuiltinM06_C; +struct BuiltinM06_HF_C; +struct BuiltinRevM06_L_C; +struct BuiltinM06_SX_C; +struct BuiltinM05_2X_C; +struct BuiltinM05_C; +struct BuiltinM08_HX_C; +struct BuiltinM08_SO_C; +struct BuiltinCF22D_C; +struct BuiltinM11_C; +struct BuiltinMN12_L_C; +struct BuiltinMN12_SX_C; +struct BuiltinMN15_C; +struct BuiltinMN15_L_C; +struct BuiltinTPSS_C; +struct BuiltinRevTPSS_C; +struct BuiltinRSCAN_C; +struct BuiltinBC95_C; +struct BuiltinMBEEF_X; +struct BuiltinRSCAN_X; +struct BuiltinBMK_X; +struct BuiltinM08_HX_X; +struct BuiltinM08_SO_X; +struct BuiltinMN12_L_X; +struct BuiltinMN15_L_X; +struct BuiltinMN15_X; +struct BuiltinCF22D_X; +struct BuiltinMN12_SX_X; +struct BuiltinM11_X; +struct BuiltinM05_X; +struct BuiltinM05_2X_X; + struct BuiltinPC07_K; struct BuiltinPC07OPT_K; diff --git a/include/exchcxx/impl/builtin/interface.hpp b/include/exchcxx/impl/builtin/interface.hpp index 91cc78a..a51f81b 100644 --- a/include/exchcxx/impl/builtin/interface.hpp +++ b/include/exchcxx/impl/builtin/interface.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -71,12 +77,10 @@ class BuiltinKernelInterface : public XCKernelImpl { bool is_lda_() const noexcept override; bool is_gga_() const noexcept override; bool is_mgga_() const noexcept override; - bool is_hyb_() const noexcept override; bool is_epc_() const noexcept override; bool needs_laplacian_() const noexcept override; bool needs_tau_() const noexcept override; bool is_polarized_() const noexcept override; - double hyb_exx_() const noexcept override; bool supports_inc_interface_() const noexcept override; @@ -85,18 +89,30 @@ class BuiltinKernelInterface : public XCKernelImpl { LDA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const override; LDA_EXC_INC_GENERATOR( eval_exc_inc_ ) const override; LDA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const override; + LDA_FXC_GENERATOR( eval_fxc_ ) const override; + LDA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const override; + LDA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const override; + LDA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const override; // GGA interface GGA_EXC_GENERATOR( eval_exc_ ) const override; GGA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const override; GGA_EXC_INC_GENERATOR( eval_exc_inc_ ) const override; GGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const override; + GGA_FXC_GENERATOR( eval_fxc_ ) const override; + GGA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const override; + GGA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const override; + GGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const override; // MGGA interface MGGA_EXC_GENERATOR( eval_exc_ ) const override; MGGA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const override; MGGA_EXC_INC_GENERATOR( eval_exc_inc_ ) const override; MGGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const override; + MGGA_FXC_GENERATOR( eval_fxc_ ) const override; + MGGA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const override; + MGGA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const override; + MGGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const override; #ifdef EXCHCXX_ENABLE_DEVICE @@ -105,18 +121,30 @@ class BuiltinKernelInterface : public XCKernelImpl { LDA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const override; LDA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const override; LDA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const override; + LDA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const override; + LDA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const override; + LDA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const override; + LDA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const override; // GGA interface GGA_EXC_GENERATOR_DEVICE( eval_exc_device_ ) const override; GGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const override; GGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const override; GGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const override; + GGA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const override; + GGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const override; + GGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const override; + GGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const override; // MGGA interface MGGA_EXC_GENERATOR_DEVICE( eval_exc_device_ ) const override; MGGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const override; MGGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const override; MGGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const override; + MGGA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const override; + MGGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const override; + MGGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const override; + MGGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const override; #endif diff --git a/include/exchcxx/impl/builtin/kernel_type.hpp b/include/exchcxx/impl/builtin/kernel_type.hpp index b211c71..1ee3032 100644 --- a/include/exchcxx/impl/builtin/kernel_type.hpp +++ b/include/exchcxx/impl/builtin/kernel_type.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -70,11 +76,9 @@ class BuiltinKernel { virtual bool is_lda() const noexcept = 0; virtual bool is_gga() const noexcept = 0; virtual bool is_mgga() const noexcept = 0; - virtual bool is_hyb() const noexcept = 0; virtual bool is_epc() const noexcept = 0; virtual bool needs_laplacian() const noexcept = 0; virtual bool needs_tau() const noexcept = 0; - virtual double hyb_exx() const noexcept = 0; inline bool is_polarized() const noexcept { return polar_ == Spin::Polarized; @@ -87,38 +91,62 @@ class BuiltinKernel { virtual LDA_EXC_VXC_GENERATOR( eval_exc_vxc ) const; virtual LDA_EXC_INC_GENERATOR( eval_exc_inc ) const; virtual LDA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc ) const; + virtual LDA_FXC_GENERATOR( eval_fxc ) const; + virtual LDA_FXC_INC_GENERATOR( eval_fxc_inc ) const; + virtual LDA_VXC_FXC_GENERATOR( eval_vxc_fxc ) const; + virtual LDA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc ) const; // GGA interface virtual GGA_EXC_GENERATOR( eval_exc ) const; virtual GGA_EXC_VXC_GENERATOR( eval_exc_vxc ) const; virtual GGA_EXC_INC_GENERATOR( eval_exc_inc ) const; virtual GGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc ) const; + virtual GGA_FXC_GENERATOR( eval_fxc ) const; + virtual GGA_FXC_INC_GENERATOR( eval_fxc_inc ) const; + virtual GGA_VXC_FXC_GENERATOR( eval_vxc_fxc ) const; + virtual GGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc ) const; // MGGA interface virtual MGGA_EXC_GENERATOR( eval_exc ) const; virtual MGGA_EXC_VXC_GENERATOR( eval_exc_vxc ) const; virtual MGGA_EXC_INC_GENERATOR( eval_exc_inc ) const; virtual MGGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc ) const; + virtual MGGA_FXC_GENERATOR( eval_fxc ) const; + virtual MGGA_FXC_INC_GENERATOR( eval_fxc_inc ) const; + virtual MGGA_VXC_FXC_GENERATOR( eval_vxc_fxc ) const; + virtual MGGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc ) const; #ifdef EXCHCXX_ENABLE_DEVICE - // LDA interface - virtual LDA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; - virtual LDA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; - virtual LDA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device ) const; - virtual LDA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device ) const; - - // GGA interface - virtual GGA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; - virtual GGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; - virtual GGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device ) const; - virtual GGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device ) const; - - // MGGA interface - virtual MGGA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; - virtual MGGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; - virtual MGGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device ) const; - virtual MGGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device ) const; +// LDA interface +virtual LDA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; +virtual LDA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; +virtual LDA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device ) const; +virtual LDA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device ) const; +virtual LDA_FXC_GENERATOR_DEVICE( eval_fxc_device ) const; +virtual LDA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device ) const; +virtual LDA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device ) const; +virtual LDA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device ) const; + +// GGA interface +virtual GGA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; +virtual GGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; +virtual GGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device ) const; +virtual GGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device ) const; +virtual GGA_FXC_GENERATOR_DEVICE( eval_fxc_device ) const; +virtual GGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device ) const; +virtual GGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device ) const; +virtual GGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device ) const; + +// MGGA interface +virtual MGGA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; +virtual MGGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; +virtual MGGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device ) const; +virtual MGGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device ) const; +virtual MGGA_FXC_GENERATOR_DEVICE( eval_fxc_device ) const; +virtual MGGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device ) const; +virtual MGGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device ) const; +virtual MGGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device ) const; #endif @@ -139,6 +167,16 @@ LDA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_unpolar ); template LDA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_unpolar ); +template +LDA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ); +template +LDA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ); + +template +LDA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ); +template +LDA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ); + template GGA_EXC_GENERATOR( host_eval_exc_helper_unpolar ); template @@ -149,6 +187,16 @@ GGA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_unpolar ); template GGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_unpolar ); +template +GGA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ); +template +GGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ); + +template +GGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ); +template +GGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ); + template MGGA_EXC_GENERATOR( host_eval_exc_helper_unpolar ); template @@ -159,6 +207,16 @@ MGGA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_unpolar ); template MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_unpolar ); +template +MGGA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ); +template +MGGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ); + +template +MGGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ); +template +MGGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ); + template LDA_EXC_GENERATOR( host_eval_exc_helper_polar ); template @@ -169,6 +227,16 @@ LDA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_polar ); template LDA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); +template +LDA_FXC_GENERATOR( host_eval_fxc_helper_polar ); +template +LDA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ); + +template +LDA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ); +template +LDA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ); + template GGA_EXC_GENERATOR( host_eval_exc_helper_polar ); template @@ -179,6 +247,16 @@ GGA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_polar ); template GGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); +template +GGA_FXC_GENERATOR( host_eval_fxc_helper_polar ); +template +GGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ); + +template +GGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ); +template +GGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ); + template MGGA_EXC_GENERATOR( host_eval_exc_helper_polar ); template @@ -189,6 +267,16 @@ MGGA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_polar ); template MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); +template +MGGA_FXC_GENERATOR( host_eval_fxc_helper_polar ); +template +MGGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ); + +template +MGGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ); +template +MGGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ); + #ifdef EXCHCXX_ENABLE_DEVICE template @@ -201,6 +289,16 @@ LDA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_unpolar ); template LDA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_unpolar ); +template +LDA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ); +template +LDA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ); + +template +LDA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ); +template +LDA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ); + template GGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_unpolar ); template @@ -211,6 +309,16 @@ GGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_unpolar ); template GGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_unpolar ); +template +GGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ); +template +GGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ); + +template +GGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ); +template +GGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ); + template MGGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_unpolar ); template @@ -221,6 +329,16 @@ MGGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_unpolar ); template MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_unpolar ); +template +MGGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ); +template +MGGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ); + +template +MGGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ); +template +MGGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ); + template LDA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_polar ); template @@ -231,6 +349,16 @@ LDA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_polar ); template LDA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); +template +LDA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ); +template +LDA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ); + +template +LDA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ); +template +LDA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ); + template GGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_polar ); template @@ -241,6 +369,16 @@ GGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_polar ); template GGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); +template +GGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ); +template +GGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ); + +template +GGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ); +template +GGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ); + template MGGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_polar ); template @@ -251,6 +389,16 @@ MGGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_polar ); template MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); +template +MGGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ); +template +MGGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ); + +template +MGGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ); +template +MGGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ); + #endif @@ -313,6 +461,54 @@ struct BuiltinKernelImpl< ); } + template + void eval_fxc_(Args&&... args) const { + if( is_polarized() ) + host_eval_fxc_helper_polar( + std::forward(args)... + ); + else + host_eval_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_fxc_inc_(Args&&... args) const { + if( is_polarized() ) + host_eval_fxc_inc_helper_polar( + std::forward(args)... + ); + else + host_eval_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_(Args&&... args) const { + if( is_polarized() ) + host_eval_vxc_fxc_helper_polar( + std::forward(args)... + ); + else + host_eval_vxc_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_inc_(Args&&... args) const { + if( is_polarized() ) + host_eval_vxc_fxc_inc_helper_polar( + std::forward(args)... + ); + else + host_eval_vxc_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + #ifdef EXCHCXX_ENABLE_DEVICE template @@ -363,6 +559,54 @@ struct BuiltinKernelImpl< ); } + template + void eval_fxc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_fxc_helper_polar( + std::forward(args)... + ); + else + device_eval_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_fxc_inc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_fxc_inc_helper_polar( + std::forward(args)... + ); + else + device_eval_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_vxc_fxc_helper_polar( + std::forward(args)... + ); + else + device_eval_vxc_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_inc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_vxc_fxc_inc_helper_polar( + std::forward(args)... + ); + else + device_eval_vxc_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + #endif public: @@ -372,15 +616,11 @@ struct BuiltinKernelImpl< BuiltinKernelImpl( Spin p ) : BuiltinKernel(p) { } virtual ~BuiltinKernelImpl() noexcept = default; - inline bool is_hyb() const noexcept override { return traits::is_hyb; } inline bool is_lda() const noexcept override { return traits::is_lda; } inline bool is_gga() const noexcept override { return traits::is_gga; } inline bool is_mgga() const noexcept override { return traits::is_mgga; } inline bool is_epc() const noexcept override { return traits::is_epc; } - inline double hyb_exx() const noexcept override { - return traits::is_hyb ? traits::exx_coeff : 0.; - } inline bool needs_laplacian() const noexcept override { if constexpr (traits::is_mgga) return traits::needs_laplacian; else return false; @@ -395,6 +635,12 @@ struct BuiltinKernelImpl< inline FORWARD_XC_INC_ARGS( LDA, EXC, eval_exc_inc, eval_exc_inc_, const override ); inline FORWARD_XC_INC_ARGS( LDA, EXC_VXC, eval_exc_vxc_inc, eval_exc_vxc_inc_, const override ); + inline FORWARD_XC_ARGS( LDA, FXC, eval_fxc, eval_fxc_, const override ); + inline FORWARD_XC_ARGS( LDA, VXC_FXC, eval_vxc_fxc, eval_vxc_fxc_, const override ); + + inline FORWARD_XC_INC_ARGS( LDA, FXC, eval_fxc_inc, eval_fxc_inc_, const override ); + inline FORWARD_XC_INC_ARGS( LDA, VXC_FXC, eval_vxc_fxc_inc, eval_vxc_fxc_inc_, const override ); + #ifdef EXCHCXX_ENABLE_DEVICE inline FORWARD_XC_ARGS_DEVICE( LDA, EXC, eval_exc_device, eval_exc_device_, const override ); @@ -402,6 +648,12 @@ struct BuiltinKernelImpl< inline FORWARD_XC_INC_ARGS_DEVICE( LDA, EXC, eval_exc_inc_device, eval_exc_inc_device_, const override ); inline FORWARD_XC_INC_ARGS_DEVICE( LDA, EXC_VXC, eval_exc_vxc_inc_device, eval_exc_vxc_inc_device_, const override ); + + inline FORWARD_XC_ARGS_DEVICE( LDA, FXC, eval_fxc_device, eval_fxc_device_, const override ); + inline FORWARD_XC_ARGS_DEVICE( LDA, VXC_FXC, eval_vxc_fxc_device, eval_vxc_fxc_device_, const override ); + + inline FORWARD_XC_INC_ARGS_DEVICE( LDA, FXC, eval_fxc_inc_device, eval_fxc_inc_device_, const override ); + inline FORWARD_XC_INC_ARGS_DEVICE( LDA, VXC_FXC, eval_vxc_fxc_inc_device, eval_vxc_fxc_inc_device_, const override ); #endif }; @@ -464,6 +716,54 @@ struct BuiltinKernelImpl< ); } + template + void eval_fxc_(Args&&... args) const { + if( is_polarized() ) + host_eval_fxc_helper_polar( + std::forward(args)... + ); + else + host_eval_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_fxc_inc_(Args&&... args) const { + if( is_polarized() ) + host_eval_fxc_inc_helper_polar( + std::forward(args)... + ); + else + host_eval_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_(Args&&... args) const { + if( is_polarized() ) + host_eval_vxc_fxc_helper_polar( + std::forward(args)... + ); + else + host_eval_vxc_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_inc_(Args&&... args) const { + if( is_polarized() ) + host_eval_vxc_fxc_inc_helper_polar( + std::forward(args)... + ); + else + host_eval_vxc_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + #ifdef EXCHCXX_ENABLE_DEVICE template @@ -514,6 +814,54 @@ struct BuiltinKernelImpl< ); } + template + void eval_fxc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_fxc_helper_polar( + std::forward(args)... + ); + else + device_eval_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_fxc_inc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_fxc_inc_helper_polar( + std::forward(args)... + ); + else + device_eval_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_vxc_fxc_helper_polar( + std::forward(args)... + ); + else + device_eval_vxc_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_inc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_vxc_fxc_inc_helper_polar( + std::forward(args)... + ); + else + device_eval_vxc_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + #endif public: @@ -523,15 +871,11 @@ struct BuiltinKernelImpl< BuiltinKernelImpl( Spin p ) : BuiltinKernel(p) { } virtual ~BuiltinKernelImpl() noexcept = default; - inline bool is_hyb() const noexcept override { return traits::is_hyb; } inline bool is_lda() const noexcept override { return traits::is_lda; } inline bool is_gga() const noexcept override { return traits::is_gga; } inline bool is_mgga() const noexcept override { return traits::is_mgga; } inline bool is_epc() const noexcept override { return traits::is_epc; } - inline double hyb_exx() const noexcept override { - return traits::is_hyb ? traits::exx_coeff : 0.; - } inline bool needs_laplacian() const noexcept override { if constexpr (traits::is_mgga) return traits::needs_laplacian; @@ -548,6 +892,12 @@ struct BuiltinKernelImpl< inline FORWARD_XC_INC_ARGS( GGA, EXC, eval_exc_inc, eval_exc_inc_, const override ); inline FORWARD_XC_INC_ARGS( GGA, EXC_VXC, eval_exc_vxc_inc, eval_exc_vxc_inc_, const override ); + inline FORWARD_XC_ARGS( GGA, FXC, eval_fxc, eval_fxc_, const override ); + inline FORWARD_XC_ARGS( GGA, VXC_FXC, eval_vxc_fxc, eval_vxc_fxc_, const override ); + + inline FORWARD_XC_INC_ARGS( GGA, FXC, eval_fxc_inc, eval_fxc_inc_, const override ); + inline FORWARD_XC_INC_ARGS( GGA, VXC_FXC, eval_vxc_fxc_inc, eval_vxc_fxc_inc_, const override ); + #ifdef EXCHCXX_ENABLE_DEVICE inline FORWARD_XC_ARGS_DEVICE( GGA, EXC, eval_exc_device, eval_exc_device_, const override ); @@ -556,6 +906,11 @@ struct BuiltinKernelImpl< inline FORWARD_XC_INC_ARGS_DEVICE( GGA, EXC, eval_exc_inc_device, eval_exc_inc_device_, const override ); inline FORWARD_XC_INC_ARGS_DEVICE( GGA, EXC_VXC, eval_exc_vxc_inc_device, eval_exc_vxc_inc_device_, const override ); + inline FORWARD_XC_ARGS_DEVICE( GGA, FXC, eval_fxc_device, eval_fxc_device_, const override ); + inline FORWARD_XC_ARGS_DEVICE( GGA, VXC_FXC, eval_vxc_fxc_device, eval_vxc_fxc_device_, const override ); + + inline FORWARD_XC_INC_ARGS_DEVICE( GGA, FXC, eval_fxc_inc_device, eval_fxc_inc_device_, const override ); + inline FORWARD_XC_INC_ARGS_DEVICE( GGA, VXC_FXC, eval_vxc_fxc_inc_device, eval_vxc_fxc_inc_device_, const override ); #endif }; @@ -616,6 +971,54 @@ struct BuiltinKernelImpl< ); } + template + void eval_fxc_(Args&&... args) const { + if( is_polarized() ) + host_eval_fxc_helper_polar( + std::forward(args)... + ); + else + host_eval_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_fxc_inc_(Args&&... args) const { + if( is_polarized() ) + host_eval_fxc_inc_helper_polar( + std::forward(args)... + ); + else + host_eval_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_(Args&&... args) const { + if( is_polarized() ) + host_eval_vxc_fxc_helper_polar( + std::forward(args)... + ); + else + host_eval_vxc_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_inc_(Args&&... args) const { + if( is_polarized() ) + host_eval_vxc_fxc_inc_helper_polar( + std::forward(args)... + ); + else + host_eval_vxc_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + #ifdef EXCHCXX_ENABLE_DEVICE template @@ -666,6 +1069,54 @@ struct BuiltinKernelImpl< ); } + template + void eval_fxc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_fxc_helper_polar( + std::forward(args)... + ); + else + device_eval_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_fxc_inc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_fxc_inc_helper_polar( + std::forward(args)... + ); + else + device_eval_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_vxc_fxc_helper_polar( + std::forward(args)... + ); + else + device_eval_vxc_fxc_helper_unpolar( + std::forward(args)... + ); + } + + template + void eval_vxc_fxc_inc_device_(Args&&... args) const { + if( is_polarized() ) + device_eval_vxc_fxc_inc_helper_polar( + std::forward(args)... + ); + else + device_eval_vxc_fxc_inc_helper_unpolar( + std::forward(args)... + ); + } + #endif public: @@ -675,16 +1126,11 @@ struct BuiltinKernelImpl< BuiltinKernelImpl( Spin p ) : BuiltinKernel(p) { } virtual ~BuiltinKernelImpl() noexcept = default; - inline bool is_hyb() const noexcept override { return traits::is_hyb; } inline bool is_lda() const noexcept override { return traits::is_lda; } inline bool is_gga() const noexcept override { return traits::is_gga; } inline bool is_mgga() const noexcept override { return traits::is_mgga; } inline bool is_epc() const noexcept override { return traits::is_epc; } - inline double hyb_exx() const noexcept override { - return traits::is_hyb ? traits::exx_coeff : 0.; - } - inline bool needs_laplacian() const noexcept override { if constexpr (traits::is_mgga) return traits::needs_laplacian; else return false; @@ -700,6 +1146,12 @@ struct BuiltinKernelImpl< inline FORWARD_XC_INC_ARGS( MGGA, EXC, eval_exc_inc, eval_exc_inc_, const override ); inline FORWARD_XC_INC_ARGS( MGGA, EXC_VXC, eval_exc_vxc_inc, eval_exc_vxc_inc_, const override ); + inline FORWARD_XC_ARGS( MGGA, FXC, eval_fxc, eval_fxc_, const override ); + inline FORWARD_XC_ARGS( MGGA, VXC_FXC, eval_vxc_fxc, eval_vxc_fxc_, const override ); + + inline FORWARD_XC_INC_ARGS( MGGA, FXC, eval_fxc_inc, eval_fxc_inc_, const override ); + inline FORWARD_XC_INC_ARGS( MGGA, VXC_FXC, eval_vxc_fxc_inc, eval_vxc_fxc_inc_, const override ); + #ifdef EXCHCXX_ENABLE_DEVICE inline FORWARD_XC_ARGS_DEVICE( MGGA, EXC, eval_exc_device, eval_exc_device_, const override ); @@ -708,6 +1160,12 @@ struct BuiltinKernelImpl< inline FORWARD_XC_INC_ARGS_DEVICE( MGGA, EXC, eval_exc_inc_device, eval_exc_inc_device_, const override ); inline FORWARD_XC_INC_ARGS_DEVICE( MGGA, EXC_VXC, eval_exc_vxc_inc_device, eval_exc_vxc_inc_device_, const override ); + inline FORWARD_XC_ARGS_DEVICE( MGGA, FXC, eval_fxc_device, eval_fxc_device_, const override ); + inline FORWARD_XC_ARGS_DEVICE( MGGA, VXC_FXC, eval_vxc_fxc_device, eval_vxc_fxc_device_, const override ); + + inline FORWARD_XC_INC_ARGS_DEVICE( MGGA, FXC, eval_fxc_inc_device, eval_fxc_inc_device_, const override ); + inline FORWARD_XC_INC_ARGS_DEVICE( MGGA, VXC_FXC, eval_vxc_fxc_inc_device, eval_vxc_fxc_inc_device_, const override ); + #endif }; diff --git a/include/exchcxx/impl/builtin/kernels.hpp b/include/exchcxx/impl/builtin/kernels.hpp index 0abd085..e6b17b2 100644 --- a/include/exchcxx/impl/builtin/kernels.hpp +++ b/include/exchcxx/impl/builtin/kernels.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -53,6 +59,7 @@ #include #include #include +#include #include #include #include @@ -64,9 +71,36 @@ #include #include #include - -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -81,6 +115,45 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/include/exchcxx/impl/builtin/kernels/b3lyp.hpp b/include/exchcxx/impl/builtin/kernels/b3lyp.hpp deleted file mode 100644 index 6f7b699..0000000 --- a/include/exchcxx/impl/builtin/kernels/b3lyp.hpp +++ /dev/null @@ -1,175 +0,0 @@ -#pragma once -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace ExchCXX { - -template <> -struct kernel_traits { - - static constexpr bool is_hyb = true; - static constexpr bool is_lda = false; - static constexpr bool is_gga = true; - static constexpr bool is_mgga = false; - static constexpr bool is_epc = false; - static constexpr double exx_coeff = 0.20; - - static constexpr double b3lyp_ax = 0.72; // % GGA X - static constexpr double b3lyp_ac = 0.81; // % GGA C - - static constexpr double b3lyp_slater_coeff = 1. - exx_coeff - b3lyp_ax; - static constexpr double b3lyp_vwn_coeff = 1. - b3lyp_ac; - - using slater_traits = kernel_traits; - using b88_traits = kernel_traits; - using vwn_traits = kernel_traits; - using lyp_traits = kernel_traits; - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_unpolar( double rho, double sigma, double& eps ) { - - slater_traits::eval_exc_unpolar( rho, eps ); - double slater_eps = eps; - - b88_traits::eval_exc_unpolar( rho, sigma, eps ); - double b88_eps = eps; - - vwn_traits::eval_exc_unpolar( rho, eps ); - double vwn_eps = eps; - - lyp_traits::eval_exc_unpolar( rho, sigma, eps ); - double lyp_eps = eps; - - eps = b3lyp_slater_coeff * slater_eps + b3lyp_ax * b88_eps + - b3lyp_vwn_coeff * vwn_eps + b3lyp_ac * lyp_eps; - - } - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar( double rho_a, double rho_b, double sigma_aa, - double sigma_ab, double sigma_bb, double& eps ) { - - slater_traits::eval_exc_polar( rho_a, rho_b, eps ); - double slater_eps = eps; - - b88_traits::eval_exc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, eps ); - double b88_eps = eps; - - vwn_traits::eval_exc_polar( rho_a, rho_b, eps ); - double vwn_eps = eps; - - lyp_traits::eval_exc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, eps ); - double lyp_eps = eps; - - eps = b3lyp_slater_coeff * slater_eps + b3lyp_ax * b88_eps + - b3lyp_vwn_coeff * vwn_eps + b3lyp_ac * lyp_eps; - - } - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_unpolar( double rho, double sigma, double& eps, double& vrho, - double& vsigma ) { - - slater_traits::eval_exc_vxc_unpolar( rho, eps, vrho ); - double slater_eps = eps; - double slater_vrho = vrho; - - b88_traits::eval_exc_vxc_unpolar( rho, sigma, eps, vrho, vsigma ); - double b88_eps = eps; - double b88_vrho = vrho; - double b88_vsigma = vsigma; - - vwn_traits::eval_exc_vxc_unpolar( rho, eps, vrho ); - double vwn_eps = eps; - double vwn_vrho = vrho; - - lyp_traits::eval_exc_vxc_unpolar( rho, sigma, eps, vrho, vsigma ); - double lyp_eps = eps; - double lyp_vrho = vrho; - double lyp_vsigma = vsigma; - - eps = b3lyp_slater_coeff * slater_eps + b3lyp_ax * b88_eps + - b3lyp_vwn_coeff * vwn_eps + b3lyp_ac * lyp_eps; - - vrho = b3lyp_slater_coeff * slater_vrho + b3lyp_ax * b88_vrho + - b3lyp_vwn_coeff * vwn_vrho + b3lyp_ac * lyp_vrho; - - vsigma = b3lyp_ax * b88_vsigma + b3lyp_ac * lyp_vsigma; - - } - - - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar( double rho_a, double rho_b, double sigma_aa, double sigma_ab, - double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, - double& vsigma_ab, double& vsigma_bb ) { - - slater_traits::eval_exc_vxc_polar( rho_a, rho_b, eps, vrho_a, vrho_b ); - double slater_eps = eps; - double slater_vrho_a = vrho_a; - double slater_vrho_b = vrho_b; - - b88_traits::eval_exc_vxc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, - eps, vrho_a, vrho_b, vsigma_aa, vsigma_ab, vsigma_bb ); - double b88_eps = eps; - double b88_vrho_a = vrho_a; - double b88_vrho_b = vrho_b; - double b88_vsigma_aa = vsigma_aa; - double b88_vsigma_ab = vsigma_ab; - double b88_vsigma_bb = vsigma_bb; - - vwn_traits::eval_exc_vxc_polar( rho_a, rho_b, eps, vrho_a, vrho_b ); - double vwn_eps = eps; - double vwn_vrho_a = vrho_a; - double vwn_vrho_b = vrho_b; - - lyp_traits::eval_exc_vxc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, - eps, vrho_a, vrho_b, vsigma_aa, vsigma_ab, vsigma_bb ); - double lyp_eps = eps; - double lyp_vrho_a = vrho_a; - double lyp_vrho_b = vrho_b; - double lyp_vsigma_aa = vsigma_aa; - double lyp_vsigma_ab = vsigma_ab; - double lyp_vsigma_bb = vsigma_bb; - - eps = b3lyp_slater_coeff * slater_eps + b3lyp_ax * b88_eps + - b3lyp_vwn_coeff * vwn_eps + b3lyp_ac * lyp_eps; - - vrho_a = b3lyp_slater_coeff * slater_vrho_a + b3lyp_ax * b88_vrho_a + - b3lyp_vwn_coeff * vwn_vrho_a + b3lyp_ac * lyp_vrho_a; - vrho_b = b3lyp_slater_coeff * slater_vrho_b + b3lyp_ax * b88_vrho_b + - b3lyp_vwn_coeff * vwn_vrho_b + b3lyp_ac * lyp_vrho_b; - - vsigma_aa = b3lyp_ax * b88_vsigma_aa + b3lyp_ac * lyp_vsigma_aa; - vsigma_ab = b3lyp_ax * b88_vsigma_ab + b3lyp_ac * lyp_vsigma_ab; - vsigma_bb = b3lyp_ax * b88_vsigma_bb + b3lyp_ac * lyp_vsigma_bb; - - } - -}; - - - - - - -struct BuiltinB3LYP : detail::BuiltinKernelImpl< BuiltinB3LYP > { - - BuiltinB3LYP( Spin p ) : - detail::BuiltinKernelImpl< BuiltinB3LYP >(p) { } - - virtual ~BuiltinB3LYP() = default; - -}; - -} diff --git a/include/exchcxx/impl/builtin/kernels/b88.hpp b/include/exchcxx/impl/builtin/kernels/b88.hpp index a70bfc4..8795998 100644 --- a/include/exchcxx/impl/builtin/kernels/b88.hpp +++ b/include/exchcxx/impl/builtin/kernels/b88.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -23,13 +74,11 @@ struct kernel_traits< BuiltinB88 > : static constexpr bool is_kedf = false; static constexpr bool is_epc = false; - static constexpr double dens_tol = 1e-25; + static constexpr double dens_tol = 1e-15; static constexpr double zeta_tol = 1e-15; - static constexpr double sigma_tol = 4.641588833612799e-34; + static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double beta = 0.0042; static constexpr double gamma = 6.0; @@ -37,7 +86,6 @@ struct kernel_traits< BuiltinB88 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t23 = constants::m_cbrt_one_ov_pi; @@ -86,7 +134,6 @@ struct kernel_traits< BuiltinB88 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t23 = constants::m_cbrt_one_ov_pi; @@ -159,11 +206,243 @@ struct kernel_traits< BuiltinB88 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t21 = beta * t20; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t21 * t26; + constexpr double t29 = t28 * t28; + constexpr double t35 = gamma * beta; + constexpr double t99 = t21 * t24; + constexpr double t100 = t25 * t29; + constexpr double t210 = t35 * t28; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t18 * t18; + const double t34 = 0.1e1 / t32 / t31; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t35 * t36; + const double t39 = 0.1e1 / t18 / rho; + const double t43 = safe_math::log( t36 * t28 * t39 + safe_math::sqrt( square( t36 * t28 * t39 ) + 0.1e1 ) ); + const double t44 = t28 * t39 * t43; + const double t46 = t37 * t44 + 0.1e1; + const double t47 = 0.1e1 / t46; + const double t48 = t34 * t47; + const double t52 = 0.1e1 + 0.2e1 / 0.9e1 * t27 * t30 * t48; + const double t58 = t17 / t32; + const double t62 = t31 * rho; + const double t64 = 0.1e1 / t32 / t62; + const double t65 = t64 * t47; + const double t69 = t46 * t46; + const double t70 = 0.1e1 / t69; + const double t71 = t34 * t70; + const double t75 = t28 / t18 / t31 * t43; + const double t77 = t35 * sigma; + const double t78 = t29 * t64; + const double t80 = t30 * t34 + 0.1e1; + const double t81 = safe_math::sqrt( t80 ); + const double t82 = 0.1e1 / t81; + const double t83 = t78 * t82; + const double t86 = -0.4e1 / 0.3e1 * t37 * t75 - 0.4e1 / 0.3e1 * t77 * t83; + const double t91 = -0.16e2 / 0.27e2 * t27 * t30 * t65 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t86; + const double t96 = piecewise_functor_3( t2, 0.0, -t6 * t58 * t52 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t91 ); + const double t104 = t35 / t36; + const double t106 = t29 * t34; + const double t107 = t106 * t82; + const double t110 = t104 * t44 / 0.2e1 + t35 * t107 / 0.2e1; + const double t115 = -0.2e1 / 0.9e1 * t27 * t30 * t71 * t110 + 0.2e1 / 0.9e1 * t99 * t100 * t48; + const double t119 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t115 ); + const double t124 = t17 / t32 / rho; + const double t131 = t31 * t31; + const double t133 = 0.1e1 / t32 / t131; + const double t134 = t133 * t47; + const double t138 = t64 * t70; + const double t144 = 0.1e1 / t69 / t46; + const double t145 = t34 * t144; + const double t146 = t86 * t86; + const double t154 = t28 / t18 / t62 * t43; + const double t157 = t29 * t133; + const double t158 = t157 * t82; + const double t161 = sigma * sigma; + const double t162 = t35 * t161; + const double t165 = 0.1e1 / t18 / t131 / t62; + const double t168 = 0.1e1 / t81 / t80; + const double t169 = t28 * t165 * t168; + const double t172 = 0.28e2 / 0.9e1 * t37 * t154 + 0.2e2 / 0.3e1 * t77 * t158 - 0.32e2 / 0.9e1 * t162 * t169; + const double t177 = 0.176e3 / 0.81e2 * t27 * t30 * t134 + 0.32e2 / 0.27e2 * t27 * t30 * t138 * t86 + 0.4e1 / 0.9e1 * t27 * t30 * t145 * t146 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t172; + const double t182 = piecewise_functor_3( t2, 0.0, t6 * t124 * t52 / 0.12e2 - t6 * t58 * t91 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t177 ); + const double t191 = t70 * t86; + const double t200 = t21 * t26 * sigma; + const double t201 = t144 * t110; + const double t202 = t201 * t86; + const double t203 = t106 * t202; + const double t211 = t131 * t31; + const double t213 = 0.1e1 / t18 / t211; + const double t218 = -0.2e1 / 0.3e1 * t104 * t75 - 0.2e1 * t35 * t83 + 0.4e1 / 0.3e1 * t210 * t213 * t168 * sigma; + const double t223 = -0.16e2 / 0.27e2 * t99 * t100 * t65 - 0.2e1 / 0.9e1 * t27 * t106 * t191 + 0.16e2 / 0.27e2 * t27 * t30 * t138 * t110 + 0.4e1 / 0.9e1 * t200 * t203 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t218; + const double t228 = piecewise_functor_3( t2, 0.0, -t6 * t58 * t115 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t223 ); + const double t231 = t70 * t110; + const double t235 = t110 * t110; + const double t242 = t35 / t36 / sigma; + const double t245 = 0.1e1 / sigma; + const double t246 = t35 * t245; + const double t249 = t131 * rho; + const double t252 = t28 / t18 / t249; + const double t253 = t252 * t168; + const double t256 = -t242 * t44 / 0.4e1 + t246 * t107 / 0.4e1 - t35 * t253 / 0.2e1; + const double t261 = -0.4e1 / 0.9e1 * t27 * t106 * t231 + 0.4e1 / 0.9e1 * t27 * t30 * t145 * t235 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t256; + const double t265 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t261 ); + + + v2rho2 = 0.2e1 * rho * t182 + 0.4e1 * t96; + v2rhosigma = 0.2e1 * rho * t228 + 0.2e1 * t119; + v2sigma2 = 0.2e1 * rho * t265; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t21 = beta * t20; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t21 * t26; + constexpr double t29 = t28 * t28; + constexpr double t35 = gamma * beta; + constexpr double t99 = t21 * t24; + constexpr double t100 = t25 * t29; + constexpr double t210 = t35 * t28; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t18 * t18; + const double t34 = 0.1e1 / t32 / t31; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t35 * t36; + const double t39 = 0.1e1 / t18 / rho; + const double t43 = safe_math::log( t36 * t28 * t39 + safe_math::sqrt( square( t36 * t28 * t39 ) + 0.1e1 ) ); + const double t44 = t28 * t39 * t43; + const double t46 = t37 * t44 + 0.1e1; + const double t47 = 0.1e1 / t46; + const double t48 = t34 * t47; + const double t52 = 0.1e1 + 0.2e1 / 0.9e1 * t27 * t30 * t48; + const double t56 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t52 ); + const double t58 = t17 / t32; + const double t62 = t31 * rho; + const double t64 = 0.1e1 / t32 / t62; + const double t65 = t64 * t47; + const double t69 = t46 * t46; + const double t70 = 0.1e1 / t69; + const double t71 = t34 * t70; + const double t75 = t28 / t18 / t31 * t43; + const double t77 = t35 * sigma; + const double t78 = t29 * t64; + const double t80 = t30 * t34 + 0.1e1; + const double t81 = safe_math::sqrt( t80 ); + const double t82 = 0.1e1 / t81; + const double t83 = t78 * t82; + const double t86 = -0.4e1 / 0.3e1 * t37 * t75 - 0.4e1 / 0.3e1 * t77 * t83; + const double t91 = -0.16e2 / 0.27e2 * t27 * t30 * t65 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t86; + const double t96 = piecewise_functor_3( t2, 0.0, -t6 * t58 * t52 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t91 ); + const double t104 = t35 / t36; + const double t106 = t29 * t34; + const double t107 = t106 * t82; + const double t110 = t104 * t44 / 0.2e1 + t35 * t107 / 0.2e1; + const double t115 = -0.2e1 / 0.9e1 * t27 * t30 * t71 * t110 + 0.2e1 / 0.9e1 * t99 * t100 * t48; + const double t119 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t115 ); + const double t124 = t17 / t32 / rho; + const double t131 = t31 * t31; + const double t133 = 0.1e1 / t32 / t131; + const double t134 = t133 * t47; + const double t138 = t64 * t70; + const double t144 = 0.1e1 / t69 / t46; + const double t145 = t34 * t144; + const double t146 = t86 * t86; + const double t154 = t28 / t18 / t62 * t43; + const double t157 = t29 * t133; + const double t158 = t157 * t82; + const double t161 = sigma * sigma; + const double t162 = t35 * t161; + const double t165 = 0.1e1 / t18 / t131 / t62; + const double t168 = 0.1e1 / t81 / t80; + const double t169 = t28 * t165 * t168; + const double t172 = 0.28e2 / 0.9e1 * t37 * t154 + 0.2e2 / 0.3e1 * t77 * t158 - 0.32e2 / 0.9e1 * t162 * t169; + const double t177 = 0.176e3 / 0.81e2 * t27 * t30 * t134 + 0.32e2 / 0.27e2 * t27 * t30 * t138 * t86 + 0.4e1 / 0.9e1 * t27 * t30 * t145 * t146 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t172; + const double t182 = piecewise_functor_3( t2, 0.0, t6 * t124 * t52 / 0.12e2 - t6 * t58 * t91 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t177 ); + const double t191 = t70 * t86; + const double t200 = t21 * t26 * sigma; + const double t201 = t144 * t110; + const double t202 = t201 * t86; + const double t203 = t106 * t202; + const double t211 = t131 * t31; + const double t213 = 0.1e1 / t18 / t211; + const double t218 = -0.2e1 / 0.3e1 * t104 * t75 - 0.2e1 * t35 * t83 + 0.4e1 / 0.3e1 * t210 * t213 * t168 * sigma; + const double t223 = -0.16e2 / 0.27e2 * t99 * t100 * t65 - 0.2e1 / 0.9e1 * t27 * t106 * t191 + 0.16e2 / 0.27e2 * t27 * t30 * t138 * t110 + 0.4e1 / 0.9e1 * t200 * t203 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t218; + const double t228 = piecewise_functor_3( t2, 0.0, -t6 * t58 * t115 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t223 ); + const double t231 = t70 * t110; + const double t235 = t110 * t110; + const double t242 = t35 / t36 / sigma; + const double t245 = 0.1e1 / sigma; + const double t246 = t35 * t245; + const double t249 = t131 * rho; + const double t252 = t28 / t18 / t249; + const double t253 = t252 * t168; + const double t256 = -t242 * t44 / 0.4e1 + t246 * t107 / 0.4e1 - t35 * t253 / 0.2e1; + const double t261 = -0.4e1 / 0.9e1 * t27 * t106 * t231 + 0.4e1 / 0.9e1 * t27 * t30 * t145 * t235 - 0.2e1 / 0.9e1 * t27 * t30 * t71 * t256; + const double t265 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t261 ); + + + vrho = 0.2e1 * rho * t96 + 0.2e1 * t56; + vsigma = 0.2e1 * rho * t119; + v2rho2 = 0.2e1 * rho * t182 + 0.4e1 * t96; + v2rhosigma = 0.2e1 * rho * t228 + 0.2e1 * t119; + v2sigma2 = 0.2e1 * rho * t265; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { (void)(sigma_ab); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t31 = constants::m_cbrt_one_ov_pi; @@ -237,7 +516,6 @@ struct kernel_traits< BuiltinB88 > : eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { (void)(sigma_ab); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t31 = constants::m_cbrt_one_ov_pi; @@ -378,6 +656,541 @@ struct kernel_traits< BuiltinB88 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t34 = constants::m_cbrt_4; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t29 = beta * t28; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t29 * t32; + constexpr double t41 = gamma * beta; + constexpr double t119 = t32 * t34; + constexpr double t120 = t29 * t119; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t35 = t34 * sigma_aa; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t42 = safe_math::sqrt( sigma_aa ); + const double t44 = 0.1e1 / t37 / rho_a; + const double t45 = t42 * t44; + const double t46 = safe_math::log( t45 + safe_math::sqrt( t45 * t45 + 0.1e1 ) ); + const double t49 = t41 * t45 * t46 + 0.1e1; + const double t50 = 0.1e1 / t49; + const double t55 = 0.1e1 + 0.2e1 / 0.9e1 * t33 * t35 * t40 * t50; + const double t60 = rho_b <= dens_tol; + const double t61 = -t16; + const double t63 = piecewise_functor_5( t14, t11, t10, t15, t61 * t7 ); + const double t64 = 0.1e1 + t63; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t22, t66 * t64 ); + const double t69 = t68 * t26; + const double t70 = t34 * sigma_bb; + const double t71 = rho_b * rho_b; + const double t72 = safe_math::cbrt( rho_b ); + const double t73 = t72 * t72; + const double t75 = 0.1e1 / t73 / t71; + const double t76 = safe_math::sqrt( sigma_bb ); + const double t78 = 0.1e1 / t72 / rho_b; + const double t79 = t76 * t78; + const double t80 = safe_math::log( t79 + safe_math::sqrt( t79 * t79 + 0.1e1 ) ); + const double t83 = t41 * t79 * t80 + 0.1e1; + const double t84 = 0.1e1 / t83; + const double t89 = 0.1e1 + 0.2e1 / 0.9e1 * t33 * t70 * t75 * t84; + const double t94 = t6 * t6; + const double t95 = 0.1e1 / t94; + const double t96 = t16 * t95; + const double t98 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t96 ); + const double t101 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t98 ); + const double t102 = t101 * t26; + const double t106 = t26 * t26; + const double t107 = 0.1e1 / t106; + const double t108 = t25 * t107; + const double t111 = t5 * t108 * t55 / 0.8e1; + const double t112 = t36 * rho_a; + const double t114 = 0.1e1 / t38 / t112; + const double t121 = sigma_aa * t40; + const double t122 = t49 * t49; + const double t123 = 0.1e1 / t122; + const double t125 = 0.1e1 / t37 / t36; + const double t129 = sigma_aa * t114; + const double t130 = t121 + 0.1e1; + const double t131 = safe_math::sqrt( t130 ); + const double t132 = 0.1e1 / t131; + const double t136 = -0.4e1 / 0.3e1 * t41 * t42 * t125 * t46 - 0.4e1 / 0.3e1 * t41 * t129 * t132; + const double t137 = t123 * t136; + const double t141 = -0.16e2 / 0.27e2 * t33 * t35 * t114 * t50 - 0.2e1 / 0.9e1 * t120 * t121 * t137; + const double t146 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t102 * t55 - t111 - 0.3e1 / 0.8e1 * t5 * t27 * t141 ); + const double t147 = t61 * t95; + const double t149 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t147 ); + const double t152 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t149 ); + const double t153 = t152 * t26; + const double t157 = t68 * t107; + const double t160 = t5 * t157 * t89 / 0.8e1; + const double t162 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t153 * t89 - t160 ); + const double t166 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t96 ); + const double t169 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t166 ); + const double t170 = t169 * t26; + const double t175 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t170 * t55 - t111 ); + const double t177 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t147 ); + const double t180 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t177 ); + const double t181 = t180 * t26; + const double t185 = t71 * rho_b; + const double t187 = 0.1e1 / t73 / t185; + const double t192 = sigma_bb * t75; + const double t193 = t83 * t83; + const double t194 = 0.1e1 / t193; + const double t196 = 0.1e1 / t72 / t71; + const double t200 = sigma_bb * t187; + const double t201 = t192 + 0.1e1; + const double t202 = safe_math::sqrt( t201 ); + const double t203 = 0.1e1 / t202; + const double t207 = -0.4e1 / 0.3e1 * t41 * t76 * t196 * t80 - 0.4e1 / 0.3e1 * t41 * t200 * t203; + const double t208 = t194 * t207; + const double t212 = -0.16e2 / 0.27e2 * t33 * t70 * t187 * t84 - 0.2e1 / 0.9e1 * t120 * t192 * t208; + const double t217 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t181 * t89 - t160 - 0.3e1 / 0.8e1 * t5 * t69 * t212 ); + const double t220 = t34 * t40; + const double t223 = 0.1e1 / t42; + const double t230 = t41 * t223 * t44 * t46 / 0.2e1 + t41 * t40 * t132 / 0.2e1; + const double t231 = t123 * t230; + const double t235 = -0.2e1 / 0.9e1 * t120 * t121 * t231 + 0.2e1 / 0.9e1 * t33 * t220 * t50; + const double t239 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t235 ); + const double t240 = t34 * t75; + const double t243 = 0.1e1 / t76; + const double t250 = t41 * t243 * t78 * t80 / 0.2e1 + t41 * t75 * t203 / 0.2e1; + const double t251 = t194 * t250; + const double t255 = -0.2e1 / 0.9e1 * t120 * t192 * t251 + 0.2e1 / 0.9e1 * t33 * t240 * t84; + const double t259 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t69 * t255 ); + const double t262 = t23 * t23; + const double t263 = 0.1e1 / t262; + const double t264 = t98 * t98; + const double t267 = t94 * t6; + const double t268 = 0.1e1 / t267; + const double t269 = t16 * t268; + const double t272 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t95 + 0.2e1 * t269 ); + const double t276 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t263 * t264 + 0.4e1 / 0.3e1 * t23 * t272 ); + const double t277 = t276 * t26; + const double t281 = t101 * t107; + const double t283 = t5 * t281 * t55; + const double t289 = 0.1e1 / t106 / t6; + const double t290 = t25 * t289; + const double t293 = t5 * t290 * t55 / 0.12e2; + const double t295 = t5 * t108 * t141; + const double t297 = t36 * t36; + const double t299 = 0.1e1 / t38 / t297; + const double t308 = 0.1e1 / t122 / t49; + const double t309 = t136 * t136; + const double t310 = t308 * t309; + const double t315 = 0.1e1 / t37 / t112; + const double t320 = sigma_aa * t299; + const double t324 = sigma_aa * sigma_aa; + const double t327 = 0.1e1 / t37 / t297 / t112; + const double t330 = 0.1e1 / t131 / t130; + const double t334 = 0.28e2 / 0.9e1 * t41 * t42 * t315 * t46 + 0.2e2 / 0.3e1 * t41 * t320 * t132 - 0.16e2 / 0.9e1 * t41 * t324 * t327 * t330; + const double t335 = t123 * t334; + const double t339 = 0.176e3 / 0.81e2 * t33 * t35 * t299 * t50 + 0.32e2 / 0.27e2 * t120 * t129 * t137 + 0.4e1 / 0.9e1 * t120 * t121 * t310 - 0.2e1 / 0.9e1 * t120 * t121 * t335; + const double t344 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t277 * t55 - t283 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t102 * t141 + t293 - t295 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t339 ); + const double t345 = t66 * t66; + const double t346 = 0.1e1 / t345; + const double t347 = t149 * t149; + const double t350 = t61 * t268; + const double t353 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t95 + 0.2e1 * t350 ); + const double t357 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t346 * t347 + 0.4e1 / 0.3e1 * t66 * t353 ); + const double t358 = t357 * t26; + const double t362 = t152 * t107; + const double t364 = t5 * t362 * t89; + const double t366 = t68 * t289; + const double t369 = t5 * t366 * t89 / 0.12e2; + const double t371 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t358 * t89 - t364 / 0.4e1 + t369 ); + const double t387 = t169 * t107; + const double t389 = t5 * t387 * t55; + const double t411 = t180 * t107; + const double t413 = t5 * t411 * t89; + const double t420 = t5 * t157 * t212; + const double t428 = t166 * t166; + const double t433 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t95 + 0.2e1 * t269 ); + const double t437 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t263 * t428 + 0.4e1 / 0.3e1 * t23 * t433 ); + const double t438 = t437 * t26; + const double t444 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t438 * t55 - t389 / 0.4e1 + t293 ); + const double t445 = t177 * t177; + const double t450 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t95 + 0.2e1 * t350 ); + const double t454 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t346 * t445 + 0.4e1 / 0.3e1 * t66 * t450 ); + const double t455 = t454 * t26; + const double t464 = t71 * t71; + const double t466 = 0.1e1 / t73 / t464; + const double t475 = 0.1e1 / t193 / t83; + const double t476 = t207 * t207; + const double t477 = t475 * t476; + const double t482 = 0.1e1 / t72 / t185; + const double t487 = sigma_bb * t466; + const double t491 = sigma_bb * sigma_bb; + const double t494 = 0.1e1 / t72 / t464 / t185; + const double t497 = 0.1e1 / t202 / t201; + const double t501 = 0.28e2 / 0.9e1 * t41 * t76 * t482 * t80 + 0.2e2 / 0.3e1 * t41 * t487 * t203 - 0.16e2 / 0.9e1 * t41 * t491 * t494 * t497; + const double t502 = t194 * t501; + const double t506 = 0.176e3 / 0.81e2 * t33 * t70 * t466 * t84 + 0.32e2 / 0.27e2 * t120 * t200 * t208 + 0.4e1 / 0.9e1 * t120 * t192 * t477 - 0.2e1 / 0.9e1 * t120 * t192 * t502; + const double t511 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t455 * t89 - t413 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t181 * t212 + t369 - t420 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t69 * t506 ); + const double t519 = t5 * t108 * t235 / 0.8e1; + const double t520 = t34 * t114; + const double t530 = t308 * t230; + const double t531 = t530 * t136; + const double t542 = t297 * t36; + const double t544 = 0.1e1 / t37 / t542; + const double t545 = t544 * t330; + const double t549 = -0.2e1 / 0.3e1 * t41 * t223 * t125 * t46 - 0.2e1 * t41 * t114 * t132 + 0.2e1 / 0.3e1 * t41 * t545 * sigma_aa; + const double t550 = t123 * t549; + const double t554 = -0.16e2 / 0.27e2 * t33 * t520 * t50 - 0.2e1 / 0.9e1 * t33 * t220 * t137 + 0.16e2 / 0.27e2 * t120 * t129 * t231 + 0.4e1 / 0.9e1 * t120 * t121 * t531 - 0.2e1 / 0.9e1 * t120 * t121 * t550; + const double t559 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t102 * t235 - t519 - 0.3e1 / 0.8e1 * t5 * t27 * t554 ); + const double t566 = t5 * t157 * t255 / 0.8e1; + const double t579 = t34 * t187; + const double t589 = t475 * t250; + const double t590 = t589 * t207; + const double t601 = t464 * t71; + const double t603 = 0.1e1 / t72 / t601; + const double t604 = t603 * t497; + const double t608 = -0.2e1 / 0.3e1 * t41 * t243 * t196 * t80 - 0.2e1 * t41 * t187 * t203 + 0.2e1 / 0.3e1 * t41 * t604 * sigma_bb; + const double t609 = t194 * t608; + const double t613 = -0.16e2 / 0.27e2 * t33 * t579 * t84 - 0.2e1 / 0.9e1 * t33 * t240 * t208 + 0.16e2 / 0.27e2 * t120 * t200 * t251 + 0.4e1 / 0.9e1 * t120 * t192 * t590 - 0.2e1 / 0.9e1 * t120 * t192 * t609; + const double t618 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t181 * t255 - t566 - 0.3e1 / 0.8e1 * t5 * t69 * t613 ); + const double t623 = t230 * t230; + const double t624 = t308 * t623; + const double t629 = 0.1e1 / t42 / sigma_aa; + const double t633 = 0.1e1 / sigma_aa; + const double t637 = t297 * rho_a; + const double t639 = 0.1e1 / t37 / t637; + const double t643 = t41 * t633 * t40 * t132 / 0.4e1 - t41 * t629 * t44 * t46 / 0.4e1 - t41 * t639 * t330 / 0.4e1; + const double t644 = t123 * t643; + const double t648 = -0.4e1 / 0.9e1 * t33 * t220 * t231 + 0.4e1 / 0.9e1 * t120 * t121 * t624 - 0.2e1 / 0.9e1 * t120 * t121 * t644; + const double t652 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t648 ); + const double t656 = t250 * t250; + const double t657 = t475 * t656; + const double t662 = 0.1e1 / t76 / sigma_bb; + const double t666 = 0.1e1 / sigma_bb; + const double t670 = t464 * rho_b; + const double t672 = 0.1e1 / t72 / t670; + const double t676 = t41 * t666 * t75 * t203 / 0.4e1 - t41 * t662 * t78 * t80 / 0.4e1 - t41 * t672 * t497 / 0.4e1; + const double t677 = t194 * t676; + const double t681 = -0.4e1 / 0.9e1 * t33 * t240 * t251 + 0.4e1 / 0.9e1 * t120 * t192 * t657 - 0.2e1 / 0.9e1 * t120 * t192 * t677; + const double t685 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t69 * t681 ); + + + v2rho2_aa = 0.2e1 * t146 + 0.2e1 * t162 + t6 * ( t344 + t371 ); + v2rho2_bb = 0.2e1 * t175 + 0.2e1 * t217 + t6 * ( t444 + t511 ); + v2rhosigma_a_aa = t6 * t559 + t239; + v2rhosigma_b_bb = t6 * t618 + t259; + v2sigma2_aa_aa = t6 * t652; + v2sigma2_bb_bb = t6 * t685; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t34 = constants::m_cbrt_4; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t29 = beta * t28; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t29 * t32; + constexpr double t41 = gamma * beta; + constexpr double t119 = t32 * t34; + constexpr double t120 = t29 * t119; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t35 = t34 * sigma_aa; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t42 = safe_math::sqrt( sigma_aa ); + const double t44 = 0.1e1 / t37 / rho_a; + const double t45 = t42 * t44; + const double t46 = safe_math::log( t45 + safe_math::sqrt( t45 * t45 + 0.1e1 ) ); + const double t49 = t41 * t45 * t46 + 0.1e1; + const double t50 = 0.1e1 / t49; + const double t55 = 0.1e1 + 0.2e1 / 0.9e1 * t33 * t35 * t40 * t50; + const double t59 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t55 ); + const double t60 = rho_b <= dens_tol; + const double t61 = -t16; + const double t63 = piecewise_functor_5( t14, t11, t10, t15, t61 * t7 ); + const double t64 = 0.1e1 + t63; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t22, t66 * t64 ); + const double t69 = t68 * t26; + const double t70 = t34 * sigma_bb; + const double t71 = rho_b * rho_b; + const double t72 = safe_math::cbrt( rho_b ); + const double t73 = t72 * t72; + const double t75 = 0.1e1 / t73 / t71; + const double t76 = safe_math::sqrt( sigma_bb ); + const double t78 = 0.1e1 / t72 / rho_b; + const double t79 = t76 * t78; + const double t80 = safe_math::log( t79 + safe_math::sqrt( t79 * t79 + 0.1e1 ) ); + const double t83 = t41 * t79 * t80 + 0.1e1; + const double t84 = 0.1e1 / t83; + const double t89 = 0.1e1 + 0.2e1 / 0.9e1 * t33 * t70 * t75 * t84; + const double t93 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t69 * t89 ); + const double t94 = t6 * t6; + const double t95 = 0.1e1 / t94; + const double t96 = t16 * t95; + const double t98 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t96 ); + const double t101 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t98 ); + const double t102 = t101 * t26; + const double t106 = t26 * t26; + const double t107 = 0.1e1 / t106; + const double t108 = t25 * t107; + const double t111 = t5 * t108 * t55 / 0.8e1; + const double t112 = t36 * rho_a; + const double t114 = 0.1e1 / t38 / t112; + const double t121 = sigma_aa * t40; + const double t122 = t49 * t49; + const double t123 = 0.1e1 / t122; + const double t125 = 0.1e1 / t37 / t36; + const double t129 = sigma_aa * t114; + const double t130 = t121 + 0.1e1; + const double t131 = safe_math::sqrt( t130 ); + const double t132 = 0.1e1 / t131; + const double t136 = -0.4e1 / 0.3e1 * t41 * t42 * t125 * t46 - 0.4e1 / 0.3e1 * t41 * t129 * t132; + const double t137 = t123 * t136; + const double t141 = -0.16e2 / 0.27e2 * t33 * t35 * t114 * t50 - 0.2e1 / 0.9e1 * t120 * t121 * t137; + const double t146 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t102 * t55 - t111 - 0.3e1 / 0.8e1 * t5 * t27 * t141 ); + const double t147 = t61 * t95; + const double t149 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t147 ); + const double t152 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t149 ); + const double t153 = t152 * t26; + const double t157 = t68 * t107; + const double t160 = t5 * t157 * t89 / 0.8e1; + const double t162 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t153 * t89 - t160 ); + const double t166 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t96 ); + const double t169 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t166 ); + const double t170 = t169 * t26; + const double t175 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t170 * t55 - t111 ); + const double t177 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t147 ); + const double t180 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t177 ); + const double t181 = t180 * t26; + const double t185 = t71 * rho_b; + const double t187 = 0.1e1 / t73 / t185; + const double t192 = sigma_bb * t75; + const double t193 = t83 * t83; + const double t194 = 0.1e1 / t193; + const double t196 = 0.1e1 / t72 / t71; + const double t200 = sigma_bb * t187; + const double t201 = t192 + 0.1e1; + const double t202 = safe_math::sqrt( t201 ); + const double t203 = 0.1e1 / t202; + const double t207 = -0.4e1 / 0.3e1 * t41 * t76 * t196 * t80 - 0.4e1 / 0.3e1 * t41 * t200 * t203; + const double t208 = t194 * t207; + const double t212 = -0.16e2 / 0.27e2 * t33 * t70 * t187 * t84 - 0.2e1 / 0.9e1 * t120 * t192 * t208; + const double t217 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t181 * t89 - t160 - 0.3e1 / 0.8e1 * t5 * t69 * t212 ); + const double t220 = t34 * t40; + const double t223 = 0.1e1 / t42; + const double t230 = t41 * t223 * t44 * t46 / 0.2e1 + t41 * t40 * t132 / 0.2e1; + const double t231 = t123 * t230; + const double t235 = -0.2e1 / 0.9e1 * t120 * t121 * t231 + 0.2e1 / 0.9e1 * t33 * t220 * t50; + const double t239 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t235 ); + const double t240 = t34 * t75; + const double t243 = 0.1e1 / t76; + const double t250 = t41 * t243 * t78 * t80 / 0.2e1 + t41 * t75 * t203 / 0.2e1; + const double t251 = t194 * t250; + const double t255 = -0.2e1 / 0.9e1 * t120 * t192 * t251 + 0.2e1 / 0.9e1 * t33 * t240 * t84; + const double t259 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t69 * t255 ); + const double t262 = t23 * t23; + const double t263 = 0.1e1 / t262; + const double t264 = t98 * t98; + const double t267 = t94 * t6; + const double t268 = 0.1e1 / t267; + const double t269 = t16 * t268; + const double t272 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t95 + 0.2e1 * t269 ); + const double t276 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t263 * t264 + 0.4e1 / 0.3e1 * t23 * t272 ); + const double t277 = t276 * t26; + const double t281 = t101 * t107; + const double t283 = t5 * t281 * t55; + const double t289 = 0.1e1 / t106 / t6; + const double t290 = t25 * t289; + const double t293 = t5 * t290 * t55 / 0.12e2; + const double t295 = t5 * t108 * t141; + const double t297 = t36 * t36; + const double t299 = 0.1e1 / t38 / t297; + const double t308 = 0.1e1 / t122 / t49; + const double t309 = t136 * t136; + const double t310 = t308 * t309; + const double t315 = 0.1e1 / t37 / t112; + const double t320 = sigma_aa * t299; + const double t324 = sigma_aa * sigma_aa; + const double t327 = 0.1e1 / t37 / t297 / t112; + const double t330 = 0.1e1 / t131 / t130; + const double t334 = 0.28e2 / 0.9e1 * t41 * t42 * t315 * t46 + 0.2e2 / 0.3e1 * t41 * t320 * t132 - 0.16e2 / 0.9e1 * t41 * t324 * t327 * t330; + const double t335 = t123 * t334; + const double t339 = 0.176e3 / 0.81e2 * t33 * t35 * t299 * t50 + 0.32e2 / 0.27e2 * t120 * t129 * t137 + 0.4e1 / 0.9e1 * t120 * t121 * t310 - 0.2e1 / 0.9e1 * t120 * t121 * t335; + const double t344 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t277 * t55 - t283 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t102 * t141 + t293 - t295 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t339 ); + const double t345 = t66 * t66; + const double t346 = 0.1e1 / t345; + const double t347 = t149 * t149; + const double t350 = t61 * t268; + const double t353 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t95 + 0.2e1 * t350 ); + const double t357 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t346 * t347 + 0.4e1 / 0.3e1 * t66 * t353 ); + const double t358 = t357 * t26; + const double t362 = t152 * t107; + const double t364 = t5 * t362 * t89; + const double t366 = t68 * t289; + const double t369 = t5 * t366 * t89 / 0.12e2; + const double t371 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t358 * t89 - t364 / 0.4e1 + t369 ); + const double t387 = t169 * t107; + const double t389 = t5 * t387 * t55; + const double t411 = t180 * t107; + const double t413 = t5 * t411 * t89; + const double t420 = t5 * t157 * t212; + const double t428 = t166 * t166; + const double t433 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t95 + 0.2e1 * t269 ); + const double t437 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t263 * t428 + 0.4e1 / 0.3e1 * t23 * t433 ); + const double t438 = t437 * t26; + const double t444 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t438 * t55 - t389 / 0.4e1 + t293 ); + const double t445 = t177 * t177; + const double t450 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t95 + 0.2e1 * t350 ); + const double t454 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t346 * t445 + 0.4e1 / 0.3e1 * t66 * t450 ); + const double t455 = t454 * t26; + const double t464 = t71 * t71; + const double t466 = 0.1e1 / t73 / t464; + const double t475 = 0.1e1 / t193 / t83; + const double t476 = t207 * t207; + const double t477 = t475 * t476; + const double t482 = 0.1e1 / t72 / t185; + const double t487 = sigma_bb * t466; + const double t491 = sigma_bb * sigma_bb; + const double t494 = 0.1e1 / t72 / t464 / t185; + const double t497 = 0.1e1 / t202 / t201; + const double t501 = 0.28e2 / 0.9e1 * t41 * t76 * t482 * t80 + 0.2e2 / 0.3e1 * t41 * t487 * t203 - 0.16e2 / 0.9e1 * t41 * t491 * t494 * t497; + const double t502 = t194 * t501; + const double t506 = 0.176e3 / 0.81e2 * t33 * t70 * t466 * t84 + 0.32e2 / 0.27e2 * t120 * t200 * t208 + 0.4e1 / 0.9e1 * t120 * t192 * t477 - 0.2e1 / 0.9e1 * t120 * t192 * t502; + const double t511 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t455 * t89 - t413 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t181 * t212 + t369 - t420 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t69 * t506 ); + const double t519 = t5 * t108 * t235 / 0.8e1; + const double t520 = t34 * t114; + const double t530 = t308 * t230; + const double t531 = t530 * t136; + const double t542 = t297 * t36; + const double t544 = 0.1e1 / t37 / t542; + const double t545 = t544 * t330; + const double t549 = -0.2e1 / 0.3e1 * t41 * t223 * t125 * t46 - 0.2e1 * t41 * t114 * t132 + 0.2e1 / 0.3e1 * t41 * t545 * sigma_aa; + const double t550 = t123 * t549; + const double t554 = -0.16e2 / 0.27e2 * t33 * t520 * t50 - 0.2e1 / 0.9e1 * t33 * t220 * t137 + 0.16e2 / 0.27e2 * t120 * t129 * t231 + 0.4e1 / 0.9e1 * t120 * t121 * t531 - 0.2e1 / 0.9e1 * t120 * t121 * t550; + const double t559 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t102 * t235 - t519 - 0.3e1 / 0.8e1 * t5 * t27 * t554 ); + const double t566 = t5 * t157 * t255 / 0.8e1; + const double t579 = t34 * t187; + const double t589 = t475 * t250; + const double t590 = t589 * t207; + const double t601 = t464 * t71; + const double t603 = 0.1e1 / t72 / t601; + const double t604 = t603 * t497; + const double t608 = -0.2e1 / 0.3e1 * t41 * t243 * t196 * t80 - 0.2e1 * t41 * t187 * t203 + 0.2e1 / 0.3e1 * t41 * t604 * sigma_bb; + const double t609 = t194 * t608; + const double t613 = -0.16e2 / 0.27e2 * t33 * t579 * t84 - 0.2e1 / 0.9e1 * t33 * t240 * t208 + 0.16e2 / 0.27e2 * t120 * t200 * t251 + 0.4e1 / 0.9e1 * t120 * t192 * t590 - 0.2e1 / 0.9e1 * t120 * t192 * t609; + const double t618 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t181 * t255 - t566 - 0.3e1 / 0.8e1 * t5 * t69 * t613 ); + const double t623 = t230 * t230; + const double t624 = t308 * t623; + const double t629 = 0.1e1 / t42 / sigma_aa; + const double t633 = 0.1e1 / sigma_aa; + const double t637 = t297 * rho_a; + const double t639 = 0.1e1 / t37 / t637; + const double t643 = t41 * t633 * t40 * t132 / 0.4e1 - t41 * t629 * t44 * t46 / 0.4e1 - t41 * t639 * t330 / 0.4e1; + const double t644 = t123 * t643; + const double t648 = -0.4e1 / 0.9e1 * t33 * t220 * t231 + 0.4e1 / 0.9e1 * t120 * t121 * t624 - 0.2e1 / 0.9e1 * t120 * t121 * t644; + const double t652 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t648 ); + const double t656 = t250 * t250; + const double t657 = t475 * t656; + const double t662 = 0.1e1 / t76 / sigma_bb; + const double t666 = 0.1e1 / sigma_bb; + const double t670 = t464 * rho_b; + const double t672 = 0.1e1 / t72 / t670; + const double t676 = t41 * t666 * t75 * t203 / 0.4e1 - t41 * t662 * t78 * t80 / 0.4e1 - t41 * t672 * t497 / 0.4e1; + const double t677 = t194 * t676; + const double t681 = -0.4e1 / 0.9e1 * t33 * t240 * t251 + 0.4e1 / 0.9e1 * t120 * t192 * t657 - 0.2e1 / 0.9e1 * t120 * t192 * t677; + const double t685 = piecewise_functor_3( t60, 0.0, -0.3e1 / 0.8e1 * t5 * t69 * t681 ); + + + vrho_a = t59 + t93 + t6 * ( t146 + t162 ); + vrho_b = t59 + t93 + t6 * ( t175 + t217 ); + vsigma_aa = t6 * t239; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t259; + v2rho2_aa = 0.2e1 * t146 + 0.2e1 * t162 + t6 * ( t344 + t371 ); + v2rho2_bb = 0.2e1 * t175 + 0.2e1 * t217 + t6 * ( t444 + t511 ); + v2rhosigma_a_aa = t6 * t559 + t239; + v2rhosigma_b_bb = t6 * t618 + t259; + v2sigma2_aa_aa = t6 * t652; + v2sigma2_bb_bb = t6 * t685; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + }; @@ -392,4 +1205,4 @@ struct BuiltinB88 : detail::BuiltinKernelImpl< BuiltinB88 > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/b97_d.hpp b/include/exchcxx/impl/builtin/kernels/b97_d.hpp new file mode 100644 index 0000000..0a51dda --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/b97_d.hpp @@ -0,0 +1,5714 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinB97_D > : + public gga_screening_interface< BuiltinB97_D > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_x_0 = 1.08662; + static constexpr double c_x_1 = -0.52127; + static constexpr double c_x_2 = 3.25429; + static constexpr double c_x_3 = 0.0; + static constexpr double c_x_4 = 0.0; + static constexpr double c_ss_0 = 0.2234; + static constexpr double c_ss_1 = -1.56208; + static constexpr double c_ss_2 = 1.94293; + static constexpr double c_ss_3 = 0.0; + static constexpr double c_ss_4 = 0.0; + static constexpr double c_ab_0 = 0.69041; + static constexpr double c_ab_1 = 6.3027; + static constexpr double c_ab_2 = -14.9712; + static constexpr double c_ab_3 = 0.0; + static constexpr double c_ab_4 = 0.0; + static constexpr double c_xx = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t15 = constants::m_cbrt_3; + constexpr double t16 = constants::m_cbrt_pi; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t100 = constants::m_cbrt_one_ov_pi; + constexpr double t102 = constants::m_cbrt_4; + constexpr double t20 = t19 * t19; + constexpr double t21 = t15 / t16 * t20; + constexpr double t46 = c_x_1; + constexpr double t61 = c_x_2; + constexpr double t74 = c_x_3; + constexpr double t84 = c_x_4; + constexpr double t101 = t15 * t100; + constexpr double t103 = t102 * t102; + constexpr double t104 = t101 * t103; + constexpr double t116 = t15 * t15; + constexpr double t117 = t100 * t100; + constexpr double t118 = t116 * t117; + constexpr double t119 = t118 * t102; + constexpr double t172 = c_ss_1; + constexpr double t180 = c_ss_2; + constexpr double t187 = c_ss_3; + constexpr double t194 = c_ss_4; + constexpr double t244 = c_ab_1; + constexpr double t252 = c_ab_2; + constexpr double t259 = c_ab_3; + constexpr double t266 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t6 = safe_math::cbrt( zeta_tol ); + const double t8 = piecewise_functor_3( t3, 0.1e1 / t6, 1.0 ); + const double t9 = t8 * t8; + const double t10 = t9 * t8; + const double t14 = rho / t10 / 0.2e1 <= dens_tol; + const double t23 = t6 * zeta_tol; + const double t25 = piecewise_functor_3( 0.2e1 <= zeta_tol, t23, 0.2e1 * t19 ); + const double t26 = safe_math::cbrt( rho ); + const double t28 = 0.1e1 / t8; + const double t32 = piecewise_functor_3( t14, 0.0, -0.3e1 / 0.16e2 * t21 * t25 * t26 * t28 ); + const double t33 = 0.e0 <= dens_tol; + const double t35 = piecewise_functor_3( 0.e0 <= zeta_tol, t23, 0.0 ); + const double t40 = piecewise_functor_3( t33, 0.0, -0.3e1 / 0.16e2 * t21 * t35 * t26 * t28 ); + const double t44 = piecewise_functor_3( t4, 0.0, t5 * ( t32 + t40 ) / 0.2e1 ); + const double t47 = t46 * sigma; + const double t48 = rho * rho; + const double t49 = t26 * t26; + const double t51 = 0.1e1 / t49 / t48; + const double t52 = t20 * t51; + const double t54 = sigma * t20 * t51; + const double t56 = 0.1e1 + 0.4e-2 * t54; + const double t57 = 0.1e1 / t56; + const double t62 = sigma * sigma; + const double t63 = t61 * t62; + const double t64 = t48 * t48; + const double t65 = t64 * rho; + const double t67 = 0.1e1 / t26 / t65; + const double t68 = t19 * t67; + const double t69 = t56 * t56; + const double t70 = 0.1e1 / t69; + const double t71 = t68 * t70; + const double t75 = t62 * sigma; + const double t76 = t74 * t75; + const double t77 = t64 * t64; + const double t78 = 0.1e1 / t77; + const double t79 = t69 * t56; + const double t80 = 0.1e1 / t79; + const double t81 = t78 * t80; + const double t85 = t62 * t62; + const double t86 = t84 * t85; + const double t87 = t77 * t48; + const double t89 = 0.1e1 / t49 / t87; + const double t90 = t20 * t89; + const double t91 = t69 * t69; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t96 = c_x_0 + 0.4e-2 * t47 * t52 * t57 + 0.32e-4 * t63 * t71 + 0.256e-6 * t76 * t81 + 0.1024e-8 * t86 * t93; + const double t98 = 0.2e1 * t44 * t96; + const double t105 = 0.1e1 / t26; + const double t108 = t104 * t105 * t19 * t8; + const double t110 = 0.1e1 + 0.53425e-1 * t108; + const double t111 = safe_math::sqrt( t108 ); + const double t114 = pow_3_2( t108 ); + const double t120 = 0.1e1 / t49; + const double t123 = t119 * t120 * t20 * t9; + const double t125 = 0.379785e1 * t111 + 0.8969e0 * t108 + 0.204775e0 * t114 + 0.123235e0 * t123; + const double t128 = 0.1e1 + 0.16081824322151104822e2 / t125; + const double t129 = safe_math::log( t128 ); + const double t131 = 0.62182e-1 * t110 * t129; + const double t135 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t136 = ( t25 + t35 - 0.2e1 ) * t135; + const double t138 = 0.1e1 + 0.5137e-1 * t108; + const double t143 = 0.705945e1 * t111 + 0.1549425e1 * t108 + 0.420775e0 * t114 + 0.1562925e0 * t123; + const double t146 = 0.1e1 + 0.32164683177870697974e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t151 = 0.1e1 + 0.278125e-1 * t108; + const double t156 = 0.51785e1 * t111 + 0.905775e0 * t108 + 0.1100325e0 * t114 + 0.1241775e0 * t123; + const double t159 = 0.1e1 + 0.29608574643216675549e2 / t156; + const double t160 = safe_math::log( t159 ); + const double t161 = t151 * t160; + const double t170 = piecewise_functor_3( t4, 0.0, t5 * ( -t131 + t136 * ( -0.3109e-1 * t138 * t147 + t131 - 0.19751789702565206229e-1 * t161 ) + 0.19751789702565206229e-1 * t136 * t161 ) / 0.2e1 ); + const double t173 = t172 * sigma; + const double t175 = 0.1e1 + 0.2e0 * t54; + const double t176 = 0.1e1 / t175; + const double t181 = t180 * t62; + const double t182 = t175 * t175; + const double t183 = 0.1e1 / t182; + const double t184 = t68 * t183; + const double t188 = t187 * t75; + const double t189 = t182 * t175; + const double t190 = 0.1e1 / t189; + const double t191 = t78 * t190; + const double t195 = t194 * t85; + const double t196 = t182 * t182; + const double t197 = 0.1e1 / t196; + const double t198 = t90 * t197; + const double t201 = c_ss_0 + 0.2e0 * t173 * t52 * t176 + 0.8e-1 * t181 * t184 + 0.32e-1 * t188 * t191 + 0.64e-2 * t195 * t198; + const double t203 = 0.2e1 * t170 * t201; + const double t205 = t101 * t103 * t105; + const double t207 = 0.1e1 + 0.53425e-1 * t205; + const double t208 = safe_math::sqrt( t205 ); + const double t211 = pow_3_2( t205 ); + const double t214 = t118 * t102 * t120; + const double t216 = 0.379785e1 * t208 + 0.8969e0 * t205 + 0.204775e0 * t211 + 0.123235e0 * t214; + const double t219 = 0.1e1 + 0.16081824322151104822e2 / t216; + const double t220 = safe_math::log( t219 ); + const double t223 = piecewise_functor_3( t3, t23, 1.0 ); + const double t226 = ( 0.2e1 * t223 - 0.2e1 ) * t135; + const double t228 = 0.1e1 + 0.278125e-1 * t205; + const double t233 = 0.51785e1 * t208 + 0.905775e0 * t205 + 0.1100325e0 * t211 + 0.1241775e0 * t214; + const double t236 = 0.1e1 + 0.29608574643216675549e2 / t233; + const double t237 = safe_math::log( t236 ); + const double t242 = -0.62182e-1 * t207 * t220 + 0.19751789702565206229e-1 * t226 * t228 * t237 - 0.2e1 * t170; + const double t245 = t244 * sigma; + const double t247 = 0.1e1 + 0.6e-2 * t54; + const double t248 = 0.1e1 / t247; + const double t253 = t252 * t62; + const double t254 = t247 * t247; + const double t255 = 0.1e1 / t254; + const double t256 = t68 * t255; + const double t260 = t259 * t75; + const double t261 = t254 * t247; + const double t262 = 0.1e1 / t261; + const double t263 = t78 * t262; + const double t267 = t266 * t85; + const double t268 = t254 * t254; + const double t269 = 0.1e1 / t268; + const double t270 = t90 * t269; + const double t273 = c_ab_0 + 0.6e-2 * t245 * t52 * t248 + 0.72e-4 * t253 * t256 + 0.864e-6 * t260 * t263 + 0.5184e-8 * t267 * t270; + const double t274 = t242 * t273; + + + eps = t98 + t203 + t274; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t15 = constants::m_cbrt_3; + constexpr double t16 = constants::m_cbrt_pi; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t100 = constants::m_cbrt_one_ov_pi; + constexpr double t102 = constants::m_cbrt_4; + constexpr double t20 = t19 * t19; + constexpr double t21 = t15 / t16 * t20; + constexpr double t46 = c_x_1; + constexpr double t61 = c_x_2; + constexpr double t74 = c_x_3; + constexpr double t84 = c_x_4; + constexpr double t101 = t15 * t100; + constexpr double t103 = t102 * t102; + constexpr double t104 = t101 * t103; + constexpr double t116 = t15 * t15; + constexpr double t117 = t100 * t100; + constexpr double t118 = t116 * t117; + constexpr double t119 = t118 * t102; + constexpr double t172 = c_ss_1; + constexpr double t180 = c_ss_2; + constexpr double t187 = c_ss_3; + constexpr double t194 = c_ss_4; + constexpr double t244 = c_ab_1; + constexpr double t252 = c_ab_2; + constexpr double t259 = c_ab_3; + constexpr double t266 = c_ab_4; + constexpr double t466 = t100 * t103; + constexpr double t537 = t46 * t20; + constexpr double t566 = t172 * t20; + constexpr double t591 = t244 * t20; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t6 = safe_math::cbrt( zeta_tol ); + const double t8 = piecewise_functor_3( t3, 0.1e1 / t6, 1.0 ); + const double t9 = t8 * t8; + const double t10 = t9 * t8; + const double t14 = rho / t10 / 0.2e1 <= dens_tol; + const double t23 = t6 * zeta_tol; + const double t25 = piecewise_functor_3( 0.2e1 <= zeta_tol, t23, 0.2e1 * t19 ); + const double t26 = safe_math::cbrt( rho ); + const double t28 = 0.1e1 / t8; + const double t32 = piecewise_functor_3( t14, 0.0, -0.3e1 / 0.16e2 * t21 * t25 * t26 * t28 ); + const double t33 = 0.e0 <= dens_tol; + const double t35 = piecewise_functor_3( 0.e0 <= zeta_tol, t23, 0.0 ); + const double t40 = piecewise_functor_3( t33, 0.0, -0.3e1 / 0.16e2 * t21 * t35 * t26 * t28 ); + const double t44 = piecewise_functor_3( t4, 0.0, t5 * ( t32 + t40 ) / 0.2e1 ); + const double t47 = t46 * sigma; + const double t48 = rho * rho; + const double t49 = t26 * t26; + const double t51 = 0.1e1 / t49 / t48; + const double t52 = t20 * t51; + const double t54 = sigma * t20 * t51; + const double t56 = 0.1e1 + 0.4e-2 * t54; + const double t57 = 0.1e1 / t56; + const double t62 = sigma * sigma; + const double t63 = t61 * t62; + const double t64 = t48 * t48; + const double t65 = t64 * rho; + const double t67 = 0.1e1 / t26 / t65; + const double t68 = t19 * t67; + const double t69 = t56 * t56; + const double t70 = 0.1e1 / t69; + const double t71 = t68 * t70; + const double t75 = t62 * sigma; + const double t76 = t74 * t75; + const double t77 = t64 * t64; + const double t78 = 0.1e1 / t77; + const double t79 = t69 * t56; + const double t80 = 0.1e1 / t79; + const double t81 = t78 * t80; + const double t85 = t62 * t62; + const double t86 = t84 * t85; + const double t87 = t77 * t48; + const double t89 = 0.1e1 / t49 / t87; + const double t90 = t20 * t89; + const double t91 = t69 * t69; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t96 = c_x_0 + 0.4e-2 * t47 * t52 * t57 + 0.32e-4 * t63 * t71 + 0.256e-6 * t76 * t81 + 0.1024e-8 * t86 * t93; + const double t98 = 0.2e1 * t44 * t96; + const double t105 = 0.1e1 / t26; + const double t108 = t104 * t105 * t19 * t8; + const double t110 = 0.1e1 + 0.53425e-1 * t108; + const double t111 = safe_math::sqrt( t108 ); + const double t114 = pow_3_2( t108 ); + const double t120 = 0.1e1 / t49; + const double t123 = t119 * t120 * t20 * t9; + const double t125 = 0.379785e1 * t111 + 0.8969e0 * t108 + 0.204775e0 * t114 + 0.123235e0 * t123; + const double t128 = 0.1e1 + 0.16081824322151104822e2 / t125; + const double t129 = safe_math::log( t128 ); + const double t131 = 0.62182e-1 * t110 * t129; + const double t135 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t136 = ( t25 + t35 - 0.2e1 ) * t135; + const double t138 = 0.1e1 + 0.5137e-1 * t108; + const double t143 = 0.705945e1 * t111 + 0.1549425e1 * t108 + 0.420775e0 * t114 + 0.1562925e0 * t123; + const double t146 = 0.1e1 + 0.32164683177870697974e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t151 = 0.1e1 + 0.278125e-1 * t108; + const double t156 = 0.51785e1 * t111 + 0.905775e0 * t108 + 0.1100325e0 * t114 + 0.1241775e0 * t123; + const double t159 = 0.1e1 + 0.29608574643216675549e2 / t156; + const double t160 = safe_math::log( t159 ); + const double t161 = t151 * t160; + const double t170 = piecewise_functor_3( t4, 0.0, t5 * ( -t131 + t136 * ( -0.3109e-1 * t138 * t147 + t131 - 0.19751789702565206229e-1 * t161 ) + 0.19751789702565206229e-1 * t136 * t161 ) / 0.2e1 ); + const double t173 = t172 * sigma; + const double t175 = 0.1e1 + 0.2e0 * t54; + const double t176 = 0.1e1 / t175; + const double t181 = t180 * t62; + const double t182 = t175 * t175; + const double t183 = 0.1e1 / t182; + const double t184 = t68 * t183; + const double t188 = t187 * t75; + const double t189 = t182 * t175; + const double t190 = 0.1e1 / t189; + const double t191 = t78 * t190; + const double t195 = t194 * t85; + const double t196 = t182 * t182; + const double t197 = 0.1e1 / t196; + const double t198 = t90 * t197; + const double t201 = c_ss_0 + 0.2e0 * t173 * t52 * t176 + 0.8e-1 * t181 * t184 + 0.32e-1 * t188 * t191 + 0.64e-2 * t195 * t198; + const double t203 = 0.2e1 * t170 * t201; + const double t205 = t101 * t103 * t105; + const double t207 = 0.1e1 + 0.53425e-1 * t205; + const double t208 = safe_math::sqrt( t205 ); + const double t211 = pow_3_2( t205 ); + const double t214 = t118 * t102 * t120; + const double t216 = 0.379785e1 * t208 + 0.8969e0 * t205 + 0.204775e0 * t211 + 0.123235e0 * t214; + const double t219 = 0.1e1 + 0.16081824322151104822e2 / t216; + const double t220 = safe_math::log( t219 ); + const double t223 = piecewise_functor_3( t3, t23, 1.0 ); + const double t226 = ( 0.2e1 * t223 - 0.2e1 ) * t135; + const double t228 = 0.1e1 + 0.278125e-1 * t205; + const double t233 = 0.51785e1 * t208 + 0.905775e0 * t205 + 0.1100325e0 * t211 + 0.1241775e0 * t214; + const double t236 = 0.1e1 + 0.29608574643216675549e2 / t233; + const double t237 = safe_math::log( t236 ); + const double t242 = -0.62182e-1 * t207 * t220 + 0.19751789702565206229e-1 * t226 * t228 * t237 - 0.2e1 * t170; + const double t245 = t244 * sigma; + const double t247 = 0.1e1 + 0.6e-2 * t54; + const double t248 = 0.1e1 / t247; + const double t253 = t252 * t62; + const double t254 = t247 * t247; + const double t255 = 0.1e1 / t254; + const double t256 = t68 * t255; + const double t260 = t259 * t75; + const double t261 = t254 * t247; + const double t262 = 0.1e1 / t261; + const double t263 = t78 * t262; + const double t267 = t266 * t85; + const double t268 = t254 * t254; + const double t269 = 0.1e1 / t268; + const double t270 = t90 * t269; + const double t273 = c_ab_0 + 0.6e-2 * t245 * t52 * t248 + 0.72e-4 * t253 * t256 + 0.864e-6 * t260 * t263 + 0.5184e-8 * t267 * t270; + const double t274 = t242 * t273; + const double t279 = piecewise_functor_3( t14, 0.0, -t21 * t25 * t120 * t28 / 0.16e2 ); + const double t284 = piecewise_functor_3( t33, 0.0, -t21 * t35 * t120 * t28 / 0.16e2 ); + const double t288 = piecewise_functor_3( t4, 0.0, t5 * ( t279 + t284 ) / 0.2e1 ); + const double t289 = t288 * t96; + const double t291 = t48 * rho; + const double t293 = 0.1e1 / t49 / t291; + const double t294 = t20 * t293; + const double t298 = t46 * t62; + const double t299 = t64 * t48; + const double t301 = 0.1e1 / t26 / t299; + const double t302 = t19 * t301; + const double t303 = t302 * t70; + const double t308 = t61 * t75; + const double t309 = t77 * rho; + const double t310 = 0.1e1 / t309; + const double t311 = t310 * t80; + const double t316 = t74 * t85; + const double t317 = t77 * t291; + const double t319 = 0.1e1 / t49 / t317; + const double t321 = t319 * t92 * t20; + const double t326 = t85 * sigma; + const double t327 = t84 * t326; + const double t328 = t77 * t299; + const double t331 = t19 / t26 / t328; + const double t333 = 0.1e1 / t91 / t56; + const double t334 = t331 * t333; + const double t337 = -0.10666666666666666667e-1 * t47 * t294 * t57 + 0.85333333333333333336e-4 * t298 * t303 - 0.17066666666666666667e-3 * t63 * t303 + 0.13653333333333333334e-5 * t308 * t311 - 0.2048e-5 * t76 * t311 + 0.81920000000000000003e-8 * t316 * t321 - 0.10922666666666666667e-7 * t86 * t321 + 0.87381333333333333336e-10 * t327 * t334; + const double t338 = t44 * t337; + const double t341 = 0.1e1 / t26 / rho; + const double t342 = t341 * t19; + const double t343 = t8 * t129; + const double t346 = 0.11073577833333333333e-2 * t104 * t342 * t343; + const double t347 = t125 * t125; + const double t348 = 0.1e1 / t347; + const double t349 = t110 * t348; + const double t352 = 0.1e1 / t111 * t15 * t100; + const double t353 = t103 * t341; + const double t354 = t19 * t8; + const double t355 = t353 * t354; + const double t356 = t352 * t355; + const double t358 = t342 * t8; + const double t359 = t104 * t358; + const double t361 = safe_math::sqrt( t108 ); + const double t363 = t361 * t15 * t100; + const double t364 = t363 * t355; + const double t367 = 0.1e1 / t49 / rho; + const double t370 = t119 * t367 * t20 * t9; + const double t372 = -0.632975e0 * t356 - 0.29896666666666666667e0 * t359 - 0.1023875e0 * t364 - 0.82156666666666666667e-1 * t370; + const double t373 = 0.1e1 / t128; + const double t374 = t372 * t373; + const double t376 = 0.1e1 * t349 * t374; + const double t377 = t8 * t147; + const double t381 = t143 * t143; + const double t382 = 0.1e1 / t381; + const double t383 = t138 * t382; + const double t388 = -0.1176575e1 * t356 - 0.516475e0 * t359 - 0.2103875e0 * t364 - 0.104195e0 * t370; + const double t389 = 0.1e1 / t146; + const double t390 = t388 * t389; + const double t393 = t8 * t160; + const double t397 = t156 * t156; + const double t398 = 0.1e1 / t397; + const double t399 = t151 * t398; + const double t404 = -0.86308333333333333334e0 * t356 - 0.301925e0 * t359 - 0.5501625e-1 * t364 - 0.82785e-1 * t370; + const double t405 = 0.1e1 / t159; + const double t406 = t404 * t405; + const double t411 = t136 * t101; + const double t412 = t354 * t160; + const double t416 = t136 * t151; + const double t418 = t398 * t404 * t405; + const double t424 = piecewise_functor_3( t4, 0.0, t5 * ( t346 + t376 + t136 * ( 0.53236443333333333332e-3 * t104 * t342 * t377 + 0.1e1 * t383 * t390 - t346 - t376 + 0.18311555036753159941e-3 * t104 * t342 * t393 + 0.58482233974552040708e0 * t399 * t406 ) - 0.18311555036753159941e-3 * t411 * t353 * t412 - 0.58482233974552040708e0 * t416 * t418 ) / 0.2e1 ); + const double t425 = t424 * t201; + const double t430 = t172 * t62; + const double t431 = t302 * t183; + const double t436 = t180 * t75; + const double t437 = t310 * t190; + const double t442 = t187 * t85; + const double t444 = t319 * t197 * t20; + const double t449 = t194 * t326; + const double t451 = 0.1e1 / t196 / t175; + const double t452 = t331 * t451; + const double t455 = -0.53333333333333333333e0 * t173 * t294 * t176 + 0.21333333333333333334e0 * t430 * t431 - 0.42666666666666666667e0 * t181 * t431 + 0.17066666666666666667e0 * t436 * t437 - 0.256e0 * t188 * t437 + 0.512e-1 * t442 * t444 - 0.68266666666666666667e-1 * t195 * t444 + 0.27306666666666666668e-1 * t449 * t452; + const double t456 = t170 * t455; + const double t461 = t216 * t216; + const double t462 = 0.1e1 / t461; + const double t463 = t207 * t462; + const double t465 = 0.1e1 / t208 * t15; + const double t467 = t466 * t341; + const double t468 = t465 * t467; + const double t470 = t101 * t353; + const double t472 = safe_math::sqrt( t205 ); + const double t473 = t472 * t15; + const double t474 = t473 * t467; + const double t477 = t118 * t102 * t367; + const double t479 = -0.632975e0 * t468 - 0.29896666666666666667e0 * t470 - 0.1023875e0 * t474 - 0.82156666666666666667e-1 * t477; + const double t480 = 0.1e1 / t219; + const double t481 = t479 * t480; + const double t484 = t226 * t15; + const double t489 = t226 * t228; + const double t490 = t233 * t233; + const double t491 = 0.1e1 / t490; + const double t496 = -0.86308333333333333334e0 * t468 - 0.301925e0 * t470 - 0.5501625e-1 * t474 - 0.82785e-1 * t477; + const double t498 = 0.1e1 / t236; + const double t499 = t491 * t496 * t498; + const double t503 = 0.11073577833333333333e-2 * t101 * t353 * t220 + 0.1e1 * t463 * t481 - 0.18311555036753159941e-3 * t484 * t466 * t341 * t237 - 0.58482233974552040708e0 * t489 * t499 - 0.2e1 * t424; + const double t504 = t503 * t273; + const double t508 = t244 * t62; + const double t509 = t302 * t255; + const double t514 = t252 * t75; + const double t515 = t310 * t262; + const double t520 = t259 * t85; + const double t522 = t319 * t269 * t20; + const double t527 = t266 * t326; + const double t529 = 0.1e1 / t268 / t247; + const double t530 = t331 * t529; + const double t533 = -0.16e-1 * t245 * t294 * t248 + 0.192e-3 * t508 * t509 - 0.384e-3 * t253 * t509 + 0.4608e-5 * t514 * t515 - 0.6912e-5 * t260 * t515 + 0.41472e-7 * t520 * t522 - 0.55296e-7 * t267 * t522 + 0.663552e-9 * t527 * t530; + const double t534 = t242 * t533; + const double t543 = t61 * sigma; + const double t548 = t74 * t62; + const double t553 = t84 * t75; + const double t556 = t77 * t65; + const double t559 = t19 / t26 / t556; + const double t560 = t559 * t333; + const double t563 = 0.4e-2 * t537 * t51 * t57 - 0.32e-4 * t47 * t71 + 0.64e-4 * t543 * t71 - 0.512e-6 * t63 * t81 + 0.768e-6 * t548 * t81 - 0.3072e-8 * t76 * t93 + 0.4096e-8 * t553 * t93 - 0.32768e-10 * t86 * t560; + const double t565 = 0.2e1 * t44 * t563; + const double t572 = t180 * sigma; + const double t577 = t187 * t62; + const double t582 = t194 * t75; + const double t585 = t559 * t451; + const double t588 = 0.2e0 * t566 * t51 * t176 - 0.8e-1 * t173 * t184 + 0.16e0 * t572 * t184 - 0.64e-1 * t181 * t191 + 0.96e-1 * t577 * t191 - 0.192e-1 * t188 * t198 + 0.256e-1 * t582 * t198 - 0.1024e-1 * t195 * t585; + const double t590 = 0.2e1 * t170 * t588; + const double t597 = t252 * sigma; + const double t602 = t259 * t62; + const double t607 = t266 * t75; + const double t610 = t559 * t529; + const double t613 = 0.6e-2 * t591 * t51 * t248 - 0.72e-4 * t245 * t256 + 0.144e-3 * t597 * t256 - 0.1728e-5 * t253 * t263 + 0.2592e-5 * t602 * t263 - 0.15552e-7 * t260 * t270 + 0.20736e-7 * t607 * t270 - 0.248832e-9 * t267 * t610; + const double t614 = t242 * t613; + + + eps = t98 + t203 + t274; + vrho = t98 + t203 + t274 + rho * ( 0.2e1 * t289 + 0.2e1 * t338 + 0.2e1 * t425 + 0.2e1 * t456 + t504 + t534 ); + vsigma = rho * ( t565 + t590 + t614 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t15 = constants::m_cbrt_3; + constexpr double t16 = constants::m_cbrt_pi; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t100 = constants::m_cbrt_one_ov_pi; + constexpr double t102 = constants::m_cbrt_4; + constexpr double t20 = t19 * t19; + constexpr double t21 = t15 / t16 * t20; + constexpr double t46 = c_x_1; + constexpr double t61 = c_x_2; + constexpr double t74 = c_x_3; + constexpr double t84 = c_x_4; + constexpr double t101 = t15 * t100; + constexpr double t103 = t102 * t102; + constexpr double t104 = t101 * t103; + constexpr double t116 = t15 * t15; + constexpr double t117 = t100 * t100; + constexpr double t118 = t116 * t117; + constexpr double t119 = t118 * t102; + constexpr double t172 = c_ss_1; + constexpr double t180 = c_ss_2; + constexpr double t187 = c_ss_3; + constexpr double t194 = c_ss_4; + constexpr double t244 = c_ab_1; + constexpr double t252 = c_ab_2; + constexpr double t259 = c_ab_3; + constexpr double t266 = c_ab_4; + constexpr double t466 = t100 * t103; + constexpr double t537 = t46 * t20; + constexpr double t566 = t172 * t20; + constexpr double t591 = t244 * t20; + constexpr double t906 = t117 * t102; + constexpr double t1021 = t46 * t19; + constexpr double t1057 = t172 * t19; + constexpr double t1090 = t244 * t19; + constexpr double t1125 = t61 * t19; + constexpr double t1156 = t180 * t19; + constexpr double t1186 = t252 * t19; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t6 = safe_math::cbrt( zeta_tol ); + const double t8 = piecewise_functor_3( t3, 0.1e1 / t6, 1.0 ); + const double t9 = t8 * t8; + const double t10 = t9 * t8; + const double t14 = rho / t10 / 0.2e1 <= dens_tol; + const double t23 = t6 * zeta_tol; + const double t25 = piecewise_functor_3( 0.2e1 <= zeta_tol, t23, 0.2e1 * t19 ); + const double t26 = safe_math::cbrt( rho ); + const double t28 = 0.1e1 / t8; + const double t32 = piecewise_functor_3( t14, 0.0, -0.3e1 / 0.16e2 * t21 * t25 * t26 * t28 ); + const double t33 = 0.e0 <= dens_tol; + const double t35 = piecewise_functor_3( 0.e0 <= zeta_tol, t23, 0.0 ); + const double t40 = piecewise_functor_3( t33, 0.0, -0.3e1 / 0.16e2 * t21 * t35 * t26 * t28 ); + const double t44 = piecewise_functor_3( t4, 0.0, t5 * ( t32 + t40 ) / 0.2e1 ); + const double t47 = t46 * sigma; + const double t48 = rho * rho; + const double t49 = t26 * t26; + const double t51 = 0.1e1 / t49 / t48; + const double t52 = t20 * t51; + const double t54 = sigma * t20 * t51; + const double t56 = 0.1e1 + 0.4e-2 * t54; + const double t57 = 0.1e1 / t56; + const double t62 = sigma * sigma; + const double t63 = t61 * t62; + const double t64 = t48 * t48; + const double t65 = t64 * rho; + const double t67 = 0.1e1 / t26 / t65; + const double t68 = t19 * t67; + const double t69 = t56 * t56; + const double t70 = 0.1e1 / t69; + const double t71 = t68 * t70; + const double t75 = t62 * sigma; + const double t76 = t74 * t75; + const double t77 = t64 * t64; + const double t78 = 0.1e1 / t77; + const double t79 = t69 * t56; + const double t80 = 0.1e1 / t79; + const double t81 = t78 * t80; + const double t85 = t62 * t62; + const double t86 = t84 * t85; + const double t87 = t77 * t48; + const double t89 = 0.1e1 / t49 / t87; + const double t90 = t20 * t89; + const double t91 = t69 * t69; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t96 = c_x_0 + 0.4e-2 * t47 * t52 * t57 + 0.32e-4 * t63 * t71 + 0.256e-6 * t76 * t81 + 0.1024e-8 * t86 * t93; + const double t105 = 0.1e1 / t26; + const double t108 = t104 * t105 * t19 * t8; + const double t110 = 0.1e1 + 0.53425e-1 * t108; + const double t111 = safe_math::sqrt( t108 ); + const double t114 = pow_3_2( t108 ); + const double t120 = 0.1e1 / t49; + const double t123 = t119 * t120 * t20 * t9; + const double t125 = 0.379785e1 * t111 + 0.8969e0 * t108 + 0.204775e0 * t114 + 0.123235e0 * t123; + const double t128 = 0.1e1 + 0.16081824322151104822e2 / t125; + const double t129 = safe_math::log( t128 ); + const double t131 = 0.62182e-1 * t110 * t129; + const double t135 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t136 = ( t25 + t35 - 0.2e1 ) * t135; + const double t138 = 0.1e1 + 0.5137e-1 * t108; + const double t143 = 0.705945e1 * t111 + 0.1549425e1 * t108 + 0.420775e0 * t114 + 0.1562925e0 * t123; + const double t146 = 0.1e1 + 0.32164683177870697974e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t151 = 0.1e1 + 0.278125e-1 * t108; + const double t156 = 0.51785e1 * t111 + 0.905775e0 * t108 + 0.1100325e0 * t114 + 0.1241775e0 * t123; + const double t159 = 0.1e1 + 0.29608574643216675549e2 / t156; + const double t160 = safe_math::log( t159 ); + const double t161 = t151 * t160; + const double t170 = piecewise_functor_3( t4, 0.0, t5 * ( -t131 + t136 * ( -0.3109e-1 * t138 * t147 + t131 - 0.19751789702565206229e-1 * t161 ) + 0.19751789702565206229e-1 * t136 * t161 ) / 0.2e1 ); + const double t173 = t172 * sigma; + const double t175 = 0.1e1 + 0.2e0 * t54; + const double t176 = 0.1e1 / t175; + const double t181 = t180 * t62; + const double t182 = t175 * t175; + const double t183 = 0.1e1 / t182; + const double t184 = t68 * t183; + const double t188 = t187 * t75; + const double t189 = t182 * t175; + const double t190 = 0.1e1 / t189; + const double t191 = t78 * t190; + const double t195 = t194 * t85; + const double t196 = t182 * t182; + const double t197 = 0.1e1 / t196; + const double t198 = t90 * t197; + const double t201 = c_ss_0 + 0.2e0 * t173 * t52 * t176 + 0.8e-1 * t181 * t184 + 0.32e-1 * t188 * t191 + 0.64e-2 * t195 * t198; + const double t205 = t101 * t103 * t105; + const double t207 = 0.1e1 + 0.53425e-1 * t205; + const double t208 = safe_math::sqrt( t205 ); + const double t211 = pow_3_2( t205 ); + const double t214 = t118 * t102 * t120; + const double t216 = 0.379785e1 * t208 + 0.8969e0 * t205 + 0.204775e0 * t211 + 0.123235e0 * t214; + const double t219 = 0.1e1 + 0.16081824322151104822e2 / t216; + const double t220 = safe_math::log( t219 ); + const double t223 = piecewise_functor_3( t3, t23, 1.0 ); + const double t226 = ( 0.2e1 * t223 - 0.2e1 ) * t135; + const double t228 = 0.1e1 + 0.278125e-1 * t205; + const double t233 = 0.51785e1 * t208 + 0.905775e0 * t205 + 0.1100325e0 * t211 + 0.1241775e0 * t214; + const double t236 = 0.1e1 + 0.29608574643216675549e2 / t233; + const double t237 = safe_math::log( t236 ); + const double t242 = -0.62182e-1 * t207 * t220 + 0.19751789702565206229e-1 * t226 * t228 * t237 - 0.2e1 * t170; + const double t245 = t244 * sigma; + const double t247 = 0.1e1 + 0.6e-2 * t54; + const double t248 = 0.1e1 / t247; + const double t253 = t252 * t62; + const double t254 = t247 * t247; + const double t255 = 0.1e1 / t254; + const double t256 = t68 * t255; + const double t260 = t259 * t75; + const double t261 = t254 * t247; + const double t262 = 0.1e1 / t261; + const double t263 = t78 * t262; + const double t267 = t266 * t85; + const double t268 = t254 * t254; + const double t269 = 0.1e1 / t268; + const double t270 = t90 * t269; + const double t273 = c_ab_0 + 0.6e-2 * t245 * t52 * t248 + 0.72e-4 * t253 * t256 + 0.864e-6 * t260 * t263 + 0.5184e-8 * t267 * t270; + const double t279 = piecewise_functor_3( t14, 0.0, -t21 * t25 * t120 * t28 / 0.16e2 ); + const double t284 = piecewise_functor_3( t33, 0.0, -t21 * t35 * t120 * t28 / 0.16e2 ); + const double t288 = piecewise_functor_3( t4, 0.0, t5 * ( t279 + t284 ) / 0.2e1 ); + const double t289 = t288 * t96; + const double t291 = t48 * rho; + const double t293 = 0.1e1 / t49 / t291; + const double t294 = t20 * t293; + const double t298 = t46 * t62; + const double t299 = t64 * t48; + const double t301 = 0.1e1 / t26 / t299; + const double t302 = t19 * t301; + const double t303 = t302 * t70; + const double t308 = t61 * t75; + const double t309 = t77 * rho; + const double t310 = 0.1e1 / t309; + const double t311 = t310 * t80; + const double t316 = t74 * t85; + const double t317 = t77 * t291; + const double t319 = 0.1e1 / t49 / t317; + const double t321 = t319 * t92 * t20; + const double t326 = t85 * sigma; + const double t327 = t84 * t326; + const double t328 = t77 * t299; + const double t331 = t19 / t26 / t328; + const double t333 = 0.1e1 / t91 / t56; + const double t334 = t331 * t333; + const double t337 = -0.10666666666666666667e-1 * t47 * t294 * t57 + 0.85333333333333333336e-4 * t298 * t303 - 0.17066666666666666667e-3 * t63 * t303 + 0.13653333333333333334e-5 * t308 * t311 - 0.2048e-5 * t76 * t311 + 0.81920000000000000003e-8 * t316 * t321 - 0.10922666666666666667e-7 * t86 * t321 + 0.87381333333333333336e-10 * t327 * t334; + const double t338 = t44 * t337; + const double t341 = 0.1e1 / t26 / rho; + const double t342 = t341 * t19; + const double t343 = t8 * t129; + const double t346 = 0.11073577833333333333e-2 * t104 * t342 * t343; + const double t347 = t125 * t125; + const double t348 = 0.1e1 / t347; + const double t349 = t110 * t348; + const double t352 = 0.1e1 / t111 * t15 * t100; + const double t353 = t103 * t341; + const double t354 = t19 * t8; + const double t355 = t353 * t354; + const double t356 = t352 * t355; + const double t358 = t342 * t8; + const double t359 = t104 * t358; + const double t361 = safe_math::sqrt( t108 ); + const double t363 = t361 * t15 * t100; + const double t364 = t363 * t355; + const double t367 = 0.1e1 / t49 / rho; + const double t370 = t119 * t367 * t20 * t9; + const double t372 = -0.632975e0 * t356 - 0.29896666666666666667e0 * t359 - 0.1023875e0 * t364 - 0.82156666666666666667e-1 * t370; + const double t373 = 0.1e1 / t128; + const double t374 = t372 * t373; + const double t376 = 0.1e1 * t349 * t374; + const double t377 = t8 * t147; + const double t381 = t143 * t143; + const double t382 = 0.1e1 / t381; + const double t383 = t138 * t382; + const double t388 = -0.1176575e1 * t356 - 0.516475e0 * t359 - 0.2103875e0 * t364 - 0.104195e0 * t370; + const double t389 = 0.1e1 / t146; + const double t390 = t388 * t389; + const double t393 = t8 * t160; + const double t397 = t156 * t156; + const double t398 = 0.1e1 / t397; + const double t399 = t151 * t398; + const double t404 = -0.86308333333333333334e0 * t356 - 0.301925e0 * t359 - 0.5501625e-1 * t364 - 0.82785e-1 * t370; + const double t405 = 0.1e1 / t159; + const double t406 = t404 * t405; + const double t411 = t136 * t101; + const double t412 = t354 * t160; + const double t416 = t136 * t151; + const double t418 = t398 * t404 * t405; + const double t424 = piecewise_functor_3( t4, 0.0, t5 * ( t346 + t376 + t136 * ( 0.53236443333333333332e-3 * t104 * t342 * t377 + 0.1e1 * t383 * t390 - t346 - t376 + 0.18311555036753159941e-3 * t104 * t342 * t393 + 0.58482233974552040708e0 * t399 * t406 ) - 0.18311555036753159941e-3 * t411 * t353 * t412 - 0.58482233974552040708e0 * t416 * t418 ) / 0.2e1 ); + const double t425 = t424 * t201; + const double t430 = t172 * t62; + const double t431 = t302 * t183; + const double t436 = t180 * t75; + const double t437 = t310 * t190; + const double t442 = t187 * t85; + const double t444 = t319 * t197 * t20; + const double t449 = t194 * t326; + const double t451 = 0.1e1 / t196 / t175; + const double t452 = t331 * t451; + const double t455 = -0.53333333333333333333e0 * t173 * t294 * t176 + 0.21333333333333333334e0 * t430 * t431 - 0.42666666666666666667e0 * t181 * t431 + 0.17066666666666666667e0 * t436 * t437 - 0.256e0 * t188 * t437 + 0.512e-1 * t442 * t444 - 0.68266666666666666667e-1 * t195 * t444 + 0.27306666666666666668e-1 * t449 * t452; + const double t456 = t170 * t455; + const double t461 = t216 * t216; + const double t462 = 0.1e1 / t461; + const double t463 = t207 * t462; + const double t465 = 0.1e1 / t208 * t15; + const double t467 = t466 * t341; + const double t468 = t465 * t467; + const double t470 = t101 * t353; + const double t472 = safe_math::sqrt( t205 ); + const double t473 = t472 * t15; + const double t474 = t473 * t467; + const double t477 = t118 * t102 * t367; + const double t479 = -0.632975e0 * t468 - 0.29896666666666666667e0 * t470 - 0.1023875e0 * t474 - 0.82156666666666666667e-1 * t477; + const double t480 = 0.1e1 / t219; + const double t481 = t479 * t480; + const double t484 = t226 * t15; + const double t489 = t226 * t228; + const double t490 = t233 * t233; + const double t491 = 0.1e1 / t490; + const double t496 = -0.86308333333333333334e0 * t468 - 0.301925e0 * t470 - 0.5501625e-1 * t474 - 0.82785e-1 * t477; + const double t498 = 0.1e1 / t236; + const double t499 = t491 * t496 * t498; + const double t503 = 0.11073577833333333333e-2 * t101 * t353 * t220 + 0.1e1 * t463 * t481 - 0.18311555036753159941e-3 * t484 * t466 * t341 * t237 - 0.58482233974552040708e0 * t489 * t499 - 0.2e1 * t424; + const double t504 = t503 * t273; + const double t508 = t244 * t62; + const double t509 = t302 * t255; + const double t514 = t252 * t75; + const double t515 = t310 * t262; + const double t520 = t259 * t85; + const double t522 = t319 * t269 * t20; + const double t527 = t266 * t326; + const double t529 = 0.1e1 / t268 / t247; + const double t530 = t331 * t529; + const double t533 = -0.16e-1 * t245 * t294 * t248 + 0.192e-3 * t508 * t509 - 0.384e-3 * t253 * t509 + 0.4608e-5 * t514 * t515 - 0.6912e-5 * t260 * t515 + 0.41472e-7 * t520 * t522 - 0.55296e-7 * t267 * t522 + 0.663552e-9 * t527 * t530; + const double t534 = t242 * t533; + const double t543 = t61 * sigma; + const double t548 = t74 * t62; + const double t553 = t84 * t75; + const double t556 = t77 * t65; + const double t559 = t19 / t26 / t556; + const double t560 = t559 * t333; + const double t563 = 0.4e-2 * t537 * t51 * t57 - 0.32e-4 * t47 * t71 + 0.64e-4 * t543 * t71 - 0.512e-6 * t63 * t81 + 0.768e-6 * t548 * t81 - 0.3072e-8 * t76 * t93 + 0.4096e-8 * t553 * t93 - 0.32768e-10 * t86 * t560; + const double t565 = 0.2e1 * t44 * t563; + const double t572 = t180 * sigma; + const double t577 = t187 * t62; + const double t582 = t194 * t75; + const double t585 = t559 * t451; + const double t588 = 0.2e0 * t566 * t51 * t176 - 0.8e-1 * t173 * t184 + 0.16e0 * t572 * t184 - 0.64e-1 * t181 * t191 + 0.96e-1 * t577 * t191 - 0.192e-1 * t188 * t198 + 0.256e-1 * t582 * t198 - 0.1024e-1 * t195 * t585; + const double t590 = 0.2e1 * t170 * t588; + const double t597 = t252 * sigma; + const double t602 = t259 * t62; + const double t607 = t266 * t75; + const double t610 = t559 * t529; + const double t613 = 0.6e-2 * t591 * t51 * t248 - 0.72e-4 * t245 * t256 + 0.144e-3 * t597 * t256 - 0.1728e-5 * t253 * t263 + 0.2592e-5 * t602 * t263 - 0.15552e-7 * t260 * t270 + 0.20736e-7 * t607 * t270 - 0.248832e-9 * t267 * t610; + const double t614 = t242 * t613; + const double t626 = piecewise_functor_3( t14, 0.0, t21 * t25 * t367 * t28 / 0.24e2 ); + const double t631 = piecewise_functor_3( t33, 0.0, t21 * t35 * t367 * t28 / 0.24e2 ); + const double t635 = piecewise_functor_3( t4, 0.0, t5 * ( t626 + t631 ) / 0.2e1 ); + const double t636 = t635 * t96; + const double t638 = t288 * t337; + const double t641 = 0.1e1 / t49 / t64; + const double t642 = t20 * t641; + const double t646 = t64 * t291; + const double t648 = 0.1e1 / t26 / t646; + const double t649 = t19 * t648; + const double t650 = t649 * t70; + const double t653 = t46 * t75; + const double t654 = 0.1e1 / t87; + const double t655 = t654 * t80; + const double t662 = t61 * t85; + const double t663 = t77 * t64; + const double t665 = 0.1e1 / t49 / t663; + const double t667 = t665 * t92 * t20; + const double t674 = t74 * t326; + const double t677 = 0.1e1 / t26 / t77 / t646; + const double t679 = t677 * t333 * t19; + const double t686 = t85 * t62; + const double t687 = t84 * t686; + const double t688 = t77 * t77; + const double t689 = t688 * t48; + const double t690 = 0.1e1 / t689; + const double t692 = 0.1e1 / t91 / t69; + const double t693 = t690 * t692; + const double t696 = 0.39111111111111111112e-1 * t47 * t642 * t57 - 0.76800000000000000003e-3 * t298 * t650 + 0.36408888888888888891e-5 * t653 * t655 + 0.10808888888888888889e-2 * t63 * t650 - 0.19569777777777777779e-4 * t308 * t655 + 0.4369066666666666667e-7 * t662 * t667 + 0.18432e-4 * t76 * t655 - 0.16110933333333333334e-6 * t316 * t667 + 0.69905066666666666671e-9 * t674 * t679 + 0.12743111111111111112e-6 * t86 * t667 - 0.21845333333333333334e-8 * t327 * t679 + 0.93206755555555555561e-11 * t687 * t693; + const double t697 = t44 * t696; + const double t700 = 0.1e1 / t26 / t48; + const double t701 = t700 * t19; + const double t704 = 0.14764770444444444444e-2 * t104 * t701 * t343; + const double t707 = t354 * t348 * t372 * t373; + const double t709 = 0.35616666666666666667e-1 * t470 * t707; + const double t710 = t347 * t125; + const double t711 = 0.1e1 / t710; + const double t712 = t110 * t711; + const double t713 = t372 * t372; + const double t714 = t713 * t373; + const double t716 = 0.2e1 * t712 * t714; + const double t720 = 0.1e1 / t111 / t108 * t116 * t117; + const double t721 = t102 * t51; + const double t722 = t20 * t9; + const double t723 = t721 * t722; + const double t724 = t720 * t723; + const double t726 = t103 * t700; + const double t727 = t726 * t354; + const double t728 = t352 * t727; + const double t730 = t701 * t8; + const double t731 = t104 * t730; + const double t733 = 0.1e1/safe_math::sqrt( t108 ); + const double t735 = t733 * t116 * t117; + const double t736 = t735 * t723; + const double t738 = t363 * t727; + const double t741 = t119 * t52 * t9; + const double t743 = -0.42198333333333333333e0 * t724 + 0.84396666666666666666e0 * t728 + 0.39862222222222222223e0 * t731 + 0.68258333333333333333e-1 * t736 + 0.13651666666666666667e0 * t738 + 0.13692777777777777778e0 * t741; + const double t746 = 0.1e1 * t349 * t743 * t373; + const double t747 = t347 * t347; + const double t748 = 0.1e1 / t747; + const double t749 = t110 * t748; + const double t750 = t128 * t128; + const double t751 = 0.1e1 / t750; + const double t752 = t713 * t751; + const double t754 = 0.16081824322151104822e2 * t749 * t752; + const double t760 = t354 * t382 * t388 * t389; + const double t763 = t381 * t143; + const double t764 = 0.1e1 / t763; + const double t765 = t138 * t764; + const double t766 = t388 * t388; + const double t767 = t766 * t389; + const double t776 = -0.78438333333333333333e0 * t724 + 0.15687666666666666667e1 * t728 + 0.68863333333333333333e0 * t731 + 0.14025833333333333333e0 * t736 + 0.28051666666666666667e0 * t738 + 0.17365833333333333333e0 * t741; + const double t780 = t381 * t381; + const double t781 = 0.1e1 / t780; + const double t782 = t138 * t781; + const double t783 = t146 * t146; + const double t784 = 0.1e1 / t783; + const double t785 = t766 * t784; + const double t791 = t354 * t418; + const double t794 = t397 * t156; + const double t795 = 0.1e1 / t794; + const double t796 = t151 * t795; + const double t797 = t404 * t404; + const double t798 = t797 * t405; + const double t807 = -0.57538888888888888889e0 * t724 + 0.11507777777777777778e1 * t728 + 0.40256666666666666667e0 * t731 + 0.366775e-1 * t736 + 0.73355e-1 * t738 + 0.137975e0 * t741; + const double t808 = t807 * t405; + const double t811 = t397 * t397; + const double t812 = 0.1e1 / t811; + const double t813 = t151 * t812; + const double t814 = t159 * t159; + const double t815 = 0.1e1 / t814; + const double t816 = t797 * t815; + const double t819 = -0.70981924444444444442e-3 * t104 * t701 * t377 - 0.34246666666666666666e-1 * t470 * t760 - 0.2e1 * t765 * t767 + 0.1e1 * t383 * t776 * t389 + 0.32164683177870697974e2 * t782 * t785 + t704 + t709 + t716 - t746 - t754 - 0.24415406715670879921e-3 * t104 * t701 * t393 - 0.10843580882781524214e-1 * t470 * t791 - 0.11696446794910408142e1 * t796 * t798 + 0.58482233974552040708e0 * t399 * t808 + 0.17315755899375863299e2 * t813 * t816; + const double t824 = t136 * t104; + const double t829 = t795 * t797 * t405; + const double t833 = t398 * t807 * t405; + const double t836 = t812 * t797; + const double t837 = t836 * t815; + const double t840 = -t704 - t709 - t716 + t746 + t754 + t136 * t819 + 0.24415406715670879921e-3 * t411 * t726 * t412 + 0.10843580882781524214e-1 * t824 * t358 * t418 + 0.11696446794910408142e1 * t416 * t829 - 0.58482233974552040708e0 * t416 * t833 - 0.17315755899375863299e2 * t416 * t837; + const double t843 = piecewise_functor_3( t4, 0.0, t5 * t840 / 0.2e1 ); + const double t844 = t843 * t201; + const double t846 = t424 * t455; + const double t851 = t649 * t183; + const double t854 = t172 * t75; + const double t855 = t654 * t190; + const double t862 = t180 * t85; + const double t864 = t665 * t197 * t20; + const double t871 = t187 * t326; + const double t873 = t677 * t451 * t19; + const double t880 = t194 * t686; + const double t882 = 0.1e1 / t196 / t182; + const double t883 = t690 * t882; + const double t886 = 0.19555555555555555555e1 * t173 * t642 * t176 - 0.19200000000000000001e1 * t430 * t851 + 0.45511111111111111114e0 * t854 * t855 + 0.27022222222222222222e1 * t181 * t851 - 0.24462222222222222223e1 * t436 * t855 + 0.27306666666666666667e0 * t862 * t864 + 0.2304e1 * t188 * t855 - 0.10069333333333333333e1 * t442 * t864 + 0.21845333333333333334e0 * t871 * t873 + 0.79644444444444444445e0 * t195 * t864 - 0.68266666666666666669e0 * t449 * t873 + 0.14563555555555555557e0 * t880 * t883; + const double t887 = t170 * t886; + const double t892 = t341 * t462; + const double t896 = t461 * t216; + const double t897 = 0.1e1 / t896; + const double t898 = t207 * t897; + const double t899 = t479 * t479; + const double t900 = t899 * t480; + const double t905 = 0.1e1 / t208 / t205 * t116; + const double t907 = t906 * t51; + const double t908 = t905 * t907; + const double t910 = t466 * t700; + const double t911 = t465 * t910; + const double t913 = t101 * t726; + const double t915 = 0.1e1/safe_math::sqrt( t205 ); + const double t916 = t915 * t116; + const double t917 = t916 * t907; + const double t919 = t473 * t910; + const double t921 = t118 * t721; + const double t923 = -0.42198333333333333333e0 * t908 + 0.84396666666666666666e0 * t911 + 0.39862222222222222223e0 * t913 + 0.68258333333333333333e-1 * t917 + 0.13651666666666666667e0 * t919 + 0.13692777777777777778e0 * t921; + const double t924 = t923 * t480; + const double t927 = t461 * t461; + const double t928 = 0.1e1 / t927; + const double t929 = t207 * t928; + const double t930 = t219 * t219; + const double t931 = 0.1e1 / t930; + const double t932 = t899 * t931; + const double t939 = t226 * t101; + const double t943 = t490 * t233; + const double t944 = 0.1e1 / t943; + const double t945 = t496 * t496; + const double t947 = t944 * t945 * t498; + const double t956 = -0.57538888888888888889e0 * t908 + 0.11507777777777777778e1 * t911 + 0.40256666666666666667e0 * t913 + 0.366775e-1 * t917 + 0.73355e-1 * t919 + 0.137975e0 * t921; + const double t958 = t491 * t956 * t498; + const double t961 = t490 * t490; + const double t962 = 0.1e1 / t961; + const double t963 = t962 * t945; + const double t964 = t236 * t236; + const double t965 = 0.1e1 / t964; + const double t966 = t963 * t965; + const double t970 = -0.14764770444444444444e-2 * t101 * t726 * t220 - 0.35616666666666666667e-1 * t104 * t892 * t481 - 0.2e1 * t898 * t900 + 0.1e1 * t463 * t924 + 0.16081824322151104822e2 * t929 * t932 + 0.24415406715670879921e-3 * t484 * t466 * t700 * t237 + 0.10843580882781524214e-1 * t939 * t353 * t499 + 0.11696446794910408142e1 * t489 * t947 - 0.58482233974552040708e0 * t489 * t958 - 0.17315755899375863299e2 * t489 * t966 - 0.2e1 * t843; + const double t971 = t970 * t273; + const double t972 = t503 * t533; + const double t977 = t649 * t255; + const double t980 = t244 * t75; + const double t981 = t654 * t262; + const double t988 = t252 * t85; + const double t990 = t665 * t269 * t20; + const double t997 = t259 * t326; + const double t999 = t677 * t529 * t19; + const double t1006 = t266 * t686; + const double t1008 = 0.1e1 / t268 / t254; + const double t1009 = t690 * t1008; + const double t1012 = 0.58666666666666666667e-1 * t245 * t642 * t248 - 0.1728e-2 * t508 * t977 + 0.12288e-4 * t980 * t981 + 0.2432e-2 * t253 * t977 - 0.66048e-4 * t514 * t981 + 0.221184e-6 * t988 * t990 + 0.62208e-4 * t260 * t981 - 0.815616e-6 * t520 * t990 + 0.5308416e-8 * t997 * t999 + 0.64512e-6 * t267 * t990 - 0.165888e-7 * t527 * t999 + 0.10616832e-9 * t1006 * t1009; + const double t1013 = t242 * t1012; + const double t1016 = t288 * t563; + const double t1022 = t301 * t70; + const double t1044 = t688 * rho; + const double t1045 = 0.1e1 / t1044; + const double t1046 = t1045 * t692; + const double t1049 = -0.10666666666666666667e-1 * t537 * t293 * t57 + 0.25600000000000000001e-3 * t1021 * t1022 * sigma - 0.13653333333333333334e-5 * t298 * t311 - 0.34133333333333333333e-3 * t543 * t303 + 0.68266666666666666668e-5 * t63 * t311 - 0.16384000000000000001e-7 * t308 * t321 - 0.6144e-5 * t548 * t311 + 0.57344000000000000001e-7 * t76 * t321 - 0.26214400000000000001e-9 * t316 * t334 - 0.43690666666666666667e-7 * t553 * t321 + 0.78643200000000000001e-9 * t86 * t334 - 0.34952533333333333334e-11 * t327 * t1046; + const double t1050 = t44 * t1049; + const double t1052 = t424 * t588; + const double t1058 = t301 * t183; + const double t1080 = t1045 * t882; + const double t1083 = -0.53333333333333333333e0 * t566 * t293 * t176 + 0.64000000000000000001e0 * t1057 * t1058 * sigma - 0.17066666666666666667e0 * t430 * t437 - 0.85333333333333333333e0 * t572 * t431 + 0.85333333333333333334e0 * t181 * t437 - 0.1024e0 * t436 * t444 - 0.768e0 * t577 * t437 + 0.3584e0 * t188 * t444 - 0.81920000000000000003e-1 * t442 * t452 - 0.27306666666666666667e0 * t582 * t444 + 0.24576e0 * t195 * t452 - 0.54613333333333333335e-1 * t449 * t1080; + const double t1084 = t170 * t1083; + const double t1086 = t503 * t613; + const double t1091 = t301 * t255; + const double t1113 = t1045 * t1008; + const double t1116 = -0.16e-1 * t591 * t293 * t248 + 0.576e-3 * t1090 * t1091 * sigma - 0.4608e-5 * t508 * t515 - 0.768e-3 * t597 * t509 + 0.2304e-4 * t253 * t515 - 0.82944e-7 * t514 * t522 - 0.20736e-4 * t602 * t515 + 0.290304e-6 * t260 * t522 - 0.1990656e-8 * t520 * t530 - 0.221184e-6 * t607 * t522 + 0.5971968e-8 * t267 * t530 - 0.3981312e-10 * t527 * t1113; + const double t1117 = t242 * t1116; + const double t1120 = t67 * t70; + const double t1132 = t74 * sigma; + const double t1139 = t84 * t62; + const double t1144 = 0.1e1 / t688; + const double t1145 = t1144 * t692; + const double t1148 = -0.64e-4 * t1021 * t1120 + 0.512e-6 * t47 * t81 + 0.64e-4 * t1125 * t1120 - 0.2048e-5 * t543 * t81 + 0.6144e-8 * t63 * t93 + 0.1536e-5 * t1132 * t81 - 0.18432e-7 * t548 * t93 + 0.98304e-10 * t76 * t560 + 0.12288e-7 * t1139 * t93 - 0.262144e-9 * t553 * t560 + 0.131072e-11 * t86 * t1145; + const double t1150 = 0.2e1 * t44 * t1148; + const double t1151 = t67 * t183; + const double t1163 = t187 * sigma; + const double t1170 = t194 * t62; + const double t1175 = t1144 * t882; + const double t1178 = -0.16e0 * t1057 * t1151 + 0.64e-1 * t173 * t191 + 0.16e0 * t1156 * t1151 - 0.256e0 * t572 * t191 + 0.384e-1 * t181 * t198 + 0.192e0 * t1163 * t191 - 0.1152e0 * t577 * t198 + 0.3072e-1 * t188 * t585 + 0.768e-1 * t1170 * t198 - 0.8192e-1 * t582 * t585 + 0.2048e-1 * t195 * t1175; + const double t1180 = 0.2e1 * t170 * t1178; + const double t1181 = t67 * t255; + const double t1193 = t259 * sigma; + const double t1200 = t266 * t62; + const double t1205 = t1144 * t1008; + const double t1208 = -0.144e-3 * t1090 * t1181 + 0.1728e-5 * t245 * t263 + 0.144e-3 * t1186 * t1181 - 0.6912e-5 * t597 * t263 + 0.31104e-7 * t253 * t270 + 0.5184e-5 * t1193 * t263 - 0.93312e-7 * t602 * t270 + 0.746496e-9 * t260 * t610 + 0.62208e-7 * t1200 * t270 - 0.1990656e-8 * t607 * t610 + 0.1492992e-10 * t267 * t1205; + const double t1209 = t242 * t1208; + + + v2rho2 = 0.4e1 * t289 + 0.4e1 * t338 + 0.4e1 * t425 + 0.4e1 * t456 + 0.2e1 * t504 + 0.2e1 * t534 + rho * ( 0.2e1 * t636 + 0.4e1 * t638 + 0.2e1 * t697 + 0.2e1 * t844 + 0.4e1 * t846 + 0.2e1 * t887 + t971 + 0.2e1 * t972 + t1013 ); + v2rhosigma = t565 + t590 + t614 + rho * ( 0.2e1 * t1016 + 0.2e1 * t1050 + 0.2e1 * t1052 + 0.2e1 * t1084 + t1086 + t1117 ); + v2sigma2 = rho * ( t1150 + t1180 + t1209 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t15 = constants::m_cbrt_3; + constexpr double t16 = constants::m_cbrt_pi; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t100 = constants::m_cbrt_one_ov_pi; + constexpr double t102 = constants::m_cbrt_4; + constexpr double t20 = t19 * t19; + constexpr double t21 = t15 / t16 * t20; + constexpr double t46 = c_x_1; + constexpr double t61 = c_x_2; + constexpr double t74 = c_x_3; + constexpr double t84 = c_x_4; + constexpr double t101 = t15 * t100; + constexpr double t103 = t102 * t102; + constexpr double t104 = t101 * t103; + constexpr double t116 = t15 * t15; + constexpr double t117 = t100 * t100; + constexpr double t118 = t116 * t117; + constexpr double t119 = t118 * t102; + constexpr double t172 = c_ss_1; + constexpr double t180 = c_ss_2; + constexpr double t187 = c_ss_3; + constexpr double t194 = c_ss_4; + constexpr double t244 = c_ab_1; + constexpr double t252 = c_ab_2; + constexpr double t259 = c_ab_3; + constexpr double t266 = c_ab_4; + constexpr double t466 = t100 * t103; + constexpr double t537 = t46 * t20; + constexpr double t566 = t172 * t20; + constexpr double t591 = t244 * t20; + constexpr double t906 = t117 * t102; + constexpr double t1021 = t46 * t19; + constexpr double t1057 = t172 * t19; + constexpr double t1090 = t244 * t19; + constexpr double t1125 = t61 * t19; + constexpr double t1156 = t180 * t19; + constexpr double t1186 = t252 * t19; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t6 = safe_math::cbrt( zeta_tol ); + const double t8 = piecewise_functor_3( t3, 0.1e1 / t6, 1.0 ); + const double t9 = t8 * t8; + const double t10 = t9 * t8; + const double t14 = rho / t10 / 0.2e1 <= dens_tol; + const double t23 = t6 * zeta_tol; + const double t25 = piecewise_functor_3( 0.2e1 <= zeta_tol, t23, 0.2e1 * t19 ); + const double t26 = safe_math::cbrt( rho ); + const double t28 = 0.1e1 / t8; + const double t32 = piecewise_functor_3( t14, 0.0, -0.3e1 / 0.16e2 * t21 * t25 * t26 * t28 ); + const double t33 = 0.e0 <= dens_tol; + const double t35 = piecewise_functor_3( 0.e0 <= zeta_tol, t23, 0.0 ); + const double t40 = piecewise_functor_3( t33, 0.0, -0.3e1 / 0.16e2 * t21 * t35 * t26 * t28 ); + const double t44 = piecewise_functor_3( t4, 0.0, t5 * ( t32 + t40 ) / 0.2e1 ); + const double t47 = t46 * sigma; + const double t48 = rho * rho; + const double t49 = t26 * t26; + const double t51 = 0.1e1 / t49 / t48; + const double t52 = t20 * t51; + const double t54 = sigma * t20 * t51; + const double t56 = 0.1e1 + 0.4e-2 * t54; + const double t57 = 0.1e1 / t56; + const double t62 = sigma * sigma; + const double t63 = t61 * t62; + const double t64 = t48 * t48; + const double t65 = t64 * rho; + const double t67 = 0.1e1 / t26 / t65; + const double t68 = t19 * t67; + const double t69 = t56 * t56; + const double t70 = 0.1e1 / t69; + const double t71 = t68 * t70; + const double t75 = t62 * sigma; + const double t76 = t74 * t75; + const double t77 = t64 * t64; + const double t78 = 0.1e1 / t77; + const double t79 = t69 * t56; + const double t80 = 0.1e1 / t79; + const double t81 = t78 * t80; + const double t85 = t62 * t62; + const double t86 = t84 * t85; + const double t87 = t77 * t48; + const double t89 = 0.1e1 / t49 / t87; + const double t90 = t20 * t89; + const double t91 = t69 * t69; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t96 = c_x_0 + 0.4e-2 * t47 * t52 * t57 + 0.32e-4 * t63 * t71 + 0.256e-6 * t76 * t81 + 0.1024e-8 * t86 * t93; + const double t98 = 0.2e1 * t44 * t96; + const double t105 = 0.1e1 / t26; + const double t108 = t104 * t105 * t19 * t8; + const double t110 = 0.1e1 + 0.53425e-1 * t108; + const double t111 = safe_math::sqrt( t108 ); + const double t114 = pow_3_2( t108 ); + const double t120 = 0.1e1 / t49; + const double t123 = t119 * t120 * t20 * t9; + const double t125 = 0.379785e1 * t111 + 0.8969e0 * t108 + 0.204775e0 * t114 + 0.123235e0 * t123; + const double t128 = 0.1e1 + 0.16081824322151104822e2 / t125; + const double t129 = safe_math::log( t128 ); + const double t131 = 0.62182e-1 * t110 * t129; + const double t135 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t136 = ( t25 + t35 - 0.2e1 ) * t135; + const double t138 = 0.1e1 + 0.5137e-1 * t108; + const double t143 = 0.705945e1 * t111 + 0.1549425e1 * t108 + 0.420775e0 * t114 + 0.1562925e0 * t123; + const double t146 = 0.1e1 + 0.32164683177870697974e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t151 = 0.1e1 + 0.278125e-1 * t108; + const double t156 = 0.51785e1 * t111 + 0.905775e0 * t108 + 0.1100325e0 * t114 + 0.1241775e0 * t123; + const double t159 = 0.1e1 + 0.29608574643216675549e2 / t156; + const double t160 = safe_math::log( t159 ); + const double t161 = t151 * t160; + const double t170 = piecewise_functor_3( t4, 0.0, t5 * ( -t131 + t136 * ( -0.3109e-1 * t138 * t147 + t131 - 0.19751789702565206229e-1 * t161 ) + 0.19751789702565206229e-1 * t136 * t161 ) / 0.2e1 ); + const double t173 = t172 * sigma; + const double t175 = 0.1e1 + 0.2e0 * t54; + const double t176 = 0.1e1 / t175; + const double t181 = t180 * t62; + const double t182 = t175 * t175; + const double t183 = 0.1e1 / t182; + const double t184 = t68 * t183; + const double t188 = t187 * t75; + const double t189 = t182 * t175; + const double t190 = 0.1e1 / t189; + const double t191 = t78 * t190; + const double t195 = t194 * t85; + const double t196 = t182 * t182; + const double t197 = 0.1e1 / t196; + const double t198 = t90 * t197; + const double t201 = c_ss_0 + 0.2e0 * t173 * t52 * t176 + 0.8e-1 * t181 * t184 + 0.32e-1 * t188 * t191 + 0.64e-2 * t195 * t198; + const double t203 = 0.2e1 * t170 * t201; + const double t205 = t101 * t103 * t105; + const double t207 = 0.1e1 + 0.53425e-1 * t205; + const double t208 = safe_math::sqrt( t205 ); + const double t211 = pow_3_2( t205 ); + const double t214 = t118 * t102 * t120; + const double t216 = 0.379785e1 * t208 + 0.8969e0 * t205 + 0.204775e0 * t211 + 0.123235e0 * t214; + const double t219 = 0.1e1 + 0.16081824322151104822e2 / t216; + const double t220 = safe_math::log( t219 ); + const double t223 = piecewise_functor_3( t3, t23, 1.0 ); + const double t226 = ( 0.2e1 * t223 - 0.2e1 ) * t135; + const double t228 = 0.1e1 + 0.278125e-1 * t205; + const double t233 = 0.51785e1 * t208 + 0.905775e0 * t205 + 0.1100325e0 * t211 + 0.1241775e0 * t214; + const double t236 = 0.1e1 + 0.29608574643216675549e2 / t233; + const double t237 = safe_math::log( t236 ); + const double t242 = -0.62182e-1 * t207 * t220 + 0.19751789702565206229e-1 * t226 * t228 * t237 - 0.2e1 * t170; + const double t245 = t244 * sigma; + const double t247 = 0.1e1 + 0.6e-2 * t54; + const double t248 = 0.1e1 / t247; + const double t253 = t252 * t62; + const double t254 = t247 * t247; + const double t255 = 0.1e1 / t254; + const double t256 = t68 * t255; + const double t260 = t259 * t75; + const double t261 = t254 * t247; + const double t262 = 0.1e1 / t261; + const double t263 = t78 * t262; + const double t267 = t266 * t85; + const double t268 = t254 * t254; + const double t269 = 0.1e1 / t268; + const double t270 = t90 * t269; + const double t273 = c_ab_0 + 0.6e-2 * t245 * t52 * t248 + 0.72e-4 * t253 * t256 + 0.864e-6 * t260 * t263 + 0.5184e-8 * t267 * t270; + const double t274 = t242 * t273; + const double t279 = piecewise_functor_3( t14, 0.0, -t21 * t25 * t120 * t28 / 0.16e2 ); + const double t284 = piecewise_functor_3( t33, 0.0, -t21 * t35 * t120 * t28 / 0.16e2 ); + const double t288 = piecewise_functor_3( t4, 0.0, t5 * ( t279 + t284 ) / 0.2e1 ); + const double t289 = t288 * t96; + const double t291 = t48 * rho; + const double t293 = 0.1e1 / t49 / t291; + const double t294 = t20 * t293; + const double t298 = t46 * t62; + const double t299 = t64 * t48; + const double t301 = 0.1e1 / t26 / t299; + const double t302 = t19 * t301; + const double t303 = t302 * t70; + const double t308 = t61 * t75; + const double t309 = t77 * rho; + const double t310 = 0.1e1 / t309; + const double t311 = t310 * t80; + const double t316 = t74 * t85; + const double t317 = t77 * t291; + const double t319 = 0.1e1 / t49 / t317; + const double t321 = t319 * t92 * t20; + const double t326 = t85 * sigma; + const double t327 = t84 * t326; + const double t328 = t77 * t299; + const double t331 = t19 / t26 / t328; + const double t333 = 0.1e1 / t91 / t56; + const double t334 = t331 * t333; + const double t337 = -0.10666666666666666667e-1 * t47 * t294 * t57 + 0.85333333333333333336e-4 * t298 * t303 - 0.17066666666666666667e-3 * t63 * t303 + 0.13653333333333333334e-5 * t308 * t311 - 0.2048e-5 * t76 * t311 + 0.81920000000000000003e-8 * t316 * t321 - 0.10922666666666666667e-7 * t86 * t321 + 0.87381333333333333336e-10 * t327 * t334; + const double t338 = t44 * t337; + const double t341 = 0.1e1 / t26 / rho; + const double t342 = t341 * t19; + const double t343 = t8 * t129; + const double t346 = 0.11073577833333333333e-2 * t104 * t342 * t343; + const double t347 = t125 * t125; + const double t348 = 0.1e1 / t347; + const double t349 = t110 * t348; + const double t352 = 0.1e1 / t111 * t15 * t100; + const double t353 = t103 * t341; + const double t354 = t19 * t8; + const double t355 = t353 * t354; + const double t356 = t352 * t355; + const double t358 = t342 * t8; + const double t359 = t104 * t358; + const double t361 = safe_math::sqrt( t108 ); + const double t363 = t361 * t15 * t100; + const double t364 = t363 * t355; + const double t367 = 0.1e1 / t49 / rho; + const double t370 = t119 * t367 * t20 * t9; + const double t372 = -0.632975e0 * t356 - 0.29896666666666666667e0 * t359 - 0.1023875e0 * t364 - 0.82156666666666666667e-1 * t370; + const double t373 = 0.1e1 / t128; + const double t374 = t372 * t373; + const double t376 = 0.1e1 * t349 * t374; + const double t377 = t8 * t147; + const double t381 = t143 * t143; + const double t382 = 0.1e1 / t381; + const double t383 = t138 * t382; + const double t388 = -0.1176575e1 * t356 - 0.516475e0 * t359 - 0.2103875e0 * t364 - 0.104195e0 * t370; + const double t389 = 0.1e1 / t146; + const double t390 = t388 * t389; + const double t393 = t8 * t160; + const double t397 = t156 * t156; + const double t398 = 0.1e1 / t397; + const double t399 = t151 * t398; + const double t404 = -0.86308333333333333334e0 * t356 - 0.301925e0 * t359 - 0.5501625e-1 * t364 - 0.82785e-1 * t370; + const double t405 = 0.1e1 / t159; + const double t406 = t404 * t405; + const double t411 = t136 * t101; + const double t412 = t354 * t160; + const double t416 = t136 * t151; + const double t418 = t398 * t404 * t405; + const double t424 = piecewise_functor_3( t4, 0.0, t5 * ( t346 + t376 + t136 * ( 0.53236443333333333332e-3 * t104 * t342 * t377 + 0.1e1 * t383 * t390 - t346 - t376 + 0.18311555036753159941e-3 * t104 * t342 * t393 + 0.58482233974552040708e0 * t399 * t406 ) - 0.18311555036753159941e-3 * t411 * t353 * t412 - 0.58482233974552040708e0 * t416 * t418 ) / 0.2e1 ); + const double t425 = t424 * t201; + const double t430 = t172 * t62; + const double t431 = t302 * t183; + const double t436 = t180 * t75; + const double t437 = t310 * t190; + const double t442 = t187 * t85; + const double t444 = t319 * t197 * t20; + const double t449 = t194 * t326; + const double t451 = 0.1e1 / t196 / t175; + const double t452 = t331 * t451; + const double t455 = -0.53333333333333333333e0 * t173 * t294 * t176 + 0.21333333333333333334e0 * t430 * t431 - 0.42666666666666666667e0 * t181 * t431 + 0.17066666666666666667e0 * t436 * t437 - 0.256e0 * t188 * t437 + 0.512e-1 * t442 * t444 - 0.68266666666666666667e-1 * t195 * t444 + 0.27306666666666666668e-1 * t449 * t452; + const double t456 = t170 * t455; + const double t461 = t216 * t216; + const double t462 = 0.1e1 / t461; + const double t463 = t207 * t462; + const double t465 = 0.1e1 / t208 * t15; + const double t467 = t466 * t341; + const double t468 = t465 * t467; + const double t470 = t101 * t353; + const double t472 = safe_math::sqrt( t205 ); + const double t473 = t472 * t15; + const double t474 = t473 * t467; + const double t477 = t118 * t102 * t367; + const double t479 = -0.632975e0 * t468 - 0.29896666666666666667e0 * t470 - 0.1023875e0 * t474 - 0.82156666666666666667e-1 * t477; + const double t480 = 0.1e1 / t219; + const double t481 = t479 * t480; + const double t484 = t226 * t15; + const double t489 = t226 * t228; + const double t490 = t233 * t233; + const double t491 = 0.1e1 / t490; + const double t496 = -0.86308333333333333334e0 * t468 - 0.301925e0 * t470 - 0.5501625e-1 * t474 - 0.82785e-1 * t477; + const double t498 = 0.1e1 / t236; + const double t499 = t491 * t496 * t498; + const double t503 = 0.11073577833333333333e-2 * t101 * t353 * t220 + 0.1e1 * t463 * t481 - 0.18311555036753159941e-3 * t484 * t466 * t341 * t237 - 0.58482233974552040708e0 * t489 * t499 - 0.2e1 * t424; + const double t504 = t503 * t273; + const double t508 = t244 * t62; + const double t509 = t302 * t255; + const double t514 = t252 * t75; + const double t515 = t310 * t262; + const double t520 = t259 * t85; + const double t522 = t319 * t269 * t20; + const double t527 = t266 * t326; + const double t529 = 0.1e1 / t268 / t247; + const double t530 = t331 * t529; + const double t533 = -0.16e-1 * t245 * t294 * t248 + 0.192e-3 * t508 * t509 - 0.384e-3 * t253 * t509 + 0.4608e-5 * t514 * t515 - 0.6912e-5 * t260 * t515 + 0.41472e-7 * t520 * t522 - 0.55296e-7 * t267 * t522 + 0.663552e-9 * t527 * t530; + const double t534 = t242 * t533; + const double t543 = t61 * sigma; + const double t548 = t74 * t62; + const double t553 = t84 * t75; + const double t556 = t77 * t65; + const double t559 = t19 / t26 / t556; + const double t560 = t559 * t333; + const double t563 = 0.4e-2 * t537 * t51 * t57 - 0.32e-4 * t47 * t71 + 0.64e-4 * t543 * t71 - 0.512e-6 * t63 * t81 + 0.768e-6 * t548 * t81 - 0.3072e-8 * t76 * t93 + 0.4096e-8 * t553 * t93 - 0.32768e-10 * t86 * t560; + const double t565 = 0.2e1 * t44 * t563; + const double t572 = t180 * sigma; + const double t577 = t187 * t62; + const double t582 = t194 * t75; + const double t585 = t559 * t451; + const double t588 = 0.2e0 * t566 * t51 * t176 - 0.8e-1 * t173 * t184 + 0.16e0 * t572 * t184 - 0.64e-1 * t181 * t191 + 0.96e-1 * t577 * t191 - 0.192e-1 * t188 * t198 + 0.256e-1 * t582 * t198 - 0.1024e-1 * t195 * t585; + const double t590 = 0.2e1 * t170 * t588; + const double t597 = t252 * sigma; + const double t602 = t259 * t62; + const double t607 = t266 * t75; + const double t610 = t559 * t529; + const double t613 = 0.6e-2 * t591 * t51 * t248 - 0.72e-4 * t245 * t256 + 0.144e-3 * t597 * t256 - 0.1728e-5 * t253 * t263 + 0.2592e-5 * t602 * t263 - 0.15552e-7 * t260 * t270 + 0.20736e-7 * t607 * t270 - 0.248832e-9 * t267 * t610; + const double t614 = t242 * t613; + const double t626 = piecewise_functor_3( t14, 0.0, t21 * t25 * t367 * t28 / 0.24e2 ); + const double t631 = piecewise_functor_3( t33, 0.0, t21 * t35 * t367 * t28 / 0.24e2 ); + const double t635 = piecewise_functor_3( t4, 0.0, t5 * ( t626 + t631 ) / 0.2e1 ); + const double t636 = t635 * t96; + const double t638 = t288 * t337; + const double t641 = 0.1e1 / t49 / t64; + const double t642 = t20 * t641; + const double t646 = t64 * t291; + const double t648 = 0.1e1 / t26 / t646; + const double t649 = t19 * t648; + const double t650 = t649 * t70; + const double t653 = t46 * t75; + const double t654 = 0.1e1 / t87; + const double t655 = t654 * t80; + const double t662 = t61 * t85; + const double t663 = t77 * t64; + const double t665 = 0.1e1 / t49 / t663; + const double t667 = t665 * t92 * t20; + const double t674 = t74 * t326; + const double t677 = 0.1e1 / t26 / t77 / t646; + const double t679 = t677 * t333 * t19; + const double t686 = t85 * t62; + const double t687 = t84 * t686; + const double t688 = t77 * t77; + const double t689 = t688 * t48; + const double t690 = 0.1e1 / t689; + const double t692 = 0.1e1 / t91 / t69; + const double t693 = t690 * t692; + const double t696 = 0.39111111111111111112e-1 * t47 * t642 * t57 - 0.76800000000000000003e-3 * t298 * t650 + 0.36408888888888888891e-5 * t653 * t655 + 0.10808888888888888889e-2 * t63 * t650 - 0.19569777777777777779e-4 * t308 * t655 + 0.4369066666666666667e-7 * t662 * t667 + 0.18432e-4 * t76 * t655 - 0.16110933333333333334e-6 * t316 * t667 + 0.69905066666666666671e-9 * t674 * t679 + 0.12743111111111111112e-6 * t86 * t667 - 0.21845333333333333334e-8 * t327 * t679 + 0.93206755555555555561e-11 * t687 * t693; + const double t697 = t44 * t696; + const double t700 = 0.1e1 / t26 / t48; + const double t701 = t700 * t19; + const double t704 = 0.14764770444444444444e-2 * t104 * t701 * t343; + const double t707 = t354 * t348 * t372 * t373; + const double t709 = 0.35616666666666666667e-1 * t470 * t707; + const double t710 = t347 * t125; + const double t711 = 0.1e1 / t710; + const double t712 = t110 * t711; + const double t713 = t372 * t372; + const double t714 = t713 * t373; + const double t716 = 0.2e1 * t712 * t714; + const double t720 = 0.1e1 / t111 / t108 * t116 * t117; + const double t721 = t102 * t51; + const double t722 = t20 * t9; + const double t723 = t721 * t722; + const double t724 = t720 * t723; + const double t726 = t103 * t700; + const double t727 = t726 * t354; + const double t728 = t352 * t727; + const double t730 = t701 * t8; + const double t731 = t104 * t730; + const double t733 = 0.1e1/safe_math::sqrt( t108 ); + const double t735 = t733 * t116 * t117; + const double t736 = t735 * t723; + const double t738 = t363 * t727; + const double t741 = t119 * t52 * t9; + const double t743 = -0.42198333333333333333e0 * t724 + 0.84396666666666666666e0 * t728 + 0.39862222222222222223e0 * t731 + 0.68258333333333333333e-1 * t736 + 0.13651666666666666667e0 * t738 + 0.13692777777777777778e0 * t741; + const double t746 = 0.1e1 * t349 * t743 * t373; + const double t747 = t347 * t347; + const double t748 = 0.1e1 / t747; + const double t749 = t110 * t748; + const double t750 = t128 * t128; + const double t751 = 0.1e1 / t750; + const double t752 = t713 * t751; + const double t754 = 0.16081824322151104822e2 * t749 * t752; + const double t760 = t354 * t382 * t388 * t389; + const double t763 = t381 * t143; + const double t764 = 0.1e1 / t763; + const double t765 = t138 * t764; + const double t766 = t388 * t388; + const double t767 = t766 * t389; + const double t776 = -0.78438333333333333333e0 * t724 + 0.15687666666666666667e1 * t728 + 0.68863333333333333333e0 * t731 + 0.14025833333333333333e0 * t736 + 0.28051666666666666667e0 * t738 + 0.17365833333333333333e0 * t741; + const double t780 = t381 * t381; + const double t781 = 0.1e1 / t780; + const double t782 = t138 * t781; + const double t783 = t146 * t146; + const double t784 = 0.1e1 / t783; + const double t785 = t766 * t784; + const double t791 = t354 * t418; + const double t794 = t397 * t156; + const double t795 = 0.1e1 / t794; + const double t796 = t151 * t795; + const double t797 = t404 * t404; + const double t798 = t797 * t405; + const double t807 = -0.57538888888888888889e0 * t724 + 0.11507777777777777778e1 * t728 + 0.40256666666666666667e0 * t731 + 0.366775e-1 * t736 + 0.73355e-1 * t738 + 0.137975e0 * t741; + const double t808 = t807 * t405; + const double t811 = t397 * t397; + const double t812 = 0.1e1 / t811; + const double t813 = t151 * t812; + const double t814 = t159 * t159; + const double t815 = 0.1e1 / t814; + const double t816 = t797 * t815; + const double t819 = -0.70981924444444444442e-3 * t104 * t701 * t377 - 0.34246666666666666666e-1 * t470 * t760 - 0.2e1 * t765 * t767 + 0.1e1 * t383 * t776 * t389 + 0.32164683177870697974e2 * t782 * t785 + t704 + t709 + t716 - t746 - t754 - 0.24415406715670879921e-3 * t104 * t701 * t393 - 0.10843580882781524214e-1 * t470 * t791 - 0.11696446794910408142e1 * t796 * t798 + 0.58482233974552040708e0 * t399 * t808 + 0.17315755899375863299e2 * t813 * t816; + const double t824 = t136 * t104; + const double t829 = t795 * t797 * t405; + const double t833 = t398 * t807 * t405; + const double t836 = t812 * t797; + const double t837 = t836 * t815; + const double t840 = -t704 - t709 - t716 + t746 + t754 + t136 * t819 + 0.24415406715670879921e-3 * t411 * t726 * t412 + 0.10843580882781524214e-1 * t824 * t358 * t418 + 0.11696446794910408142e1 * t416 * t829 - 0.58482233974552040708e0 * t416 * t833 - 0.17315755899375863299e2 * t416 * t837; + const double t843 = piecewise_functor_3( t4, 0.0, t5 * t840 / 0.2e1 ); + const double t844 = t843 * t201; + const double t846 = t424 * t455; + const double t851 = t649 * t183; + const double t854 = t172 * t75; + const double t855 = t654 * t190; + const double t862 = t180 * t85; + const double t864 = t665 * t197 * t20; + const double t871 = t187 * t326; + const double t873 = t677 * t451 * t19; + const double t880 = t194 * t686; + const double t882 = 0.1e1 / t196 / t182; + const double t883 = t690 * t882; + const double t886 = 0.19555555555555555555e1 * t173 * t642 * t176 - 0.19200000000000000001e1 * t430 * t851 + 0.45511111111111111114e0 * t854 * t855 + 0.27022222222222222222e1 * t181 * t851 - 0.24462222222222222223e1 * t436 * t855 + 0.27306666666666666667e0 * t862 * t864 + 0.2304e1 * t188 * t855 - 0.10069333333333333333e1 * t442 * t864 + 0.21845333333333333334e0 * t871 * t873 + 0.79644444444444444445e0 * t195 * t864 - 0.68266666666666666669e0 * t449 * t873 + 0.14563555555555555557e0 * t880 * t883; + const double t887 = t170 * t886; + const double t892 = t341 * t462; + const double t896 = t461 * t216; + const double t897 = 0.1e1 / t896; + const double t898 = t207 * t897; + const double t899 = t479 * t479; + const double t900 = t899 * t480; + const double t905 = 0.1e1 / t208 / t205 * t116; + const double t907 = t906 * t51; + const double t908 = t905 * t907; + const double t910 = t466 * t700; + const double t911 = t465 * t910; + const double t913 = t101 * t726; + const double t915 = 0.1e1/safe_math::sqrt( t205 ); + const double t916 = t915 * t116; + const double t917 = t916 * t907; + const double t919 = t473 * t910; + const double t921 = t118 * t721; + const double t923 = -0.42198333333333333333e0 * t908 + 0.84396666666666666666e0 * t911 + 0.39862222222222222223e0 * t913 + 0.68258333333333333333e-1 * t917 + 0.13651666666666666667e0 * t919 + 0.13692777777777777778e0 * t921; + const double t924 = t923 * t480; + const double t927 = t461 * t461; + const double t928 = 0.1e1 / t927; + const double t929 = t207 * t928; + const double t930 = t219 * t219; + const double t931 = 0.1e1 / t930; + const double t932 = t899 * t931; + const double t939 = t226 * t101; + const double t943 = t490 * t233; + const double t944 = 0.1e1 / t943; + const double t945 = t496 * t496; + const double t947 = t944 * t945 * t498; + const double t956 = -0.57538888888888888889e0 * t908 + 0.11507777777777777778e1 * t911 + 0.40256666666666666667e0 * t913 + 0.366775e-1 * t917 + 0.73355e-1 * t919 + 0.137975e0 * t921; + const double t958 = t491 * t956 * t498; + const double t961 = t490 * t490; + const double t962 = 0.1e1 / t961; + const double t963 = t962 * t945; + const double t964 = t236 * t236; + const double t965 = 0.1e1 / t964; + const double t966 = t963 * t965; + const double t970 = -0.14764770444444444444e-2 * t101 * t726 * t220 - 0.35616666666666666667e-1 * t104 * t892 * t481 - 0.2e1 * t898 * t900 + 0.1e1 * t463 * t924 + 0.16081824322151104822e2 * t929 * t932 + 0.24415406715670879921e-3 * t484 * t466 * t700 * t237 + 0.10843580882781524214e-1 * t939 * t353 * t499 + 0.11696446794910408142e1 * t489 * t947 - 0.58482233974552040708e0 * t489 * t958 - 0.17315755899375863299e2 * t489 * t966 - 0.2e1 * t843; + const double t971 = t970 * t273; + const double t972 = t503 * t533; + const double t977 = t649 * t255; + const double t980 = t244 * t75; + const double t981 = t654 * t262; + const double t988 = t252 * t85; + const double t990 = t665 * t269 * t20; + const double t997 = t259 * t326; + const double t999 = t677 * t529 * t19; + const double t1006 = t266 * t686; + const double t1008 = 0.1e1 / t268 / t254; + const double t1009 = t690 * t1008; + const double t1012 = 0.58666666666666666667e-1 * t245 * t642 * t248 - 0.1728e-2 * t508 * t977 + 0.12288e-4 * t980 * t981 + 0.2432e-2 * t253 * t977 - 0.66048e-4 * t514 * t981 + 0.221184e-6 * t988 * t990 + 0.62208e-4 * t260 * t981 - 0.815616e-6 * t520 * t990 + 0.5308416e-8 * t997 * t999 + 0.64512e-6 * t267 * t990 - 0.165888e-7 * t527 * t999 + 0.10616832e-9 * t1006 * t1009; + const double t1013 = t242 * t1012; + const double t1016 = t288 * t563; + const double t1022 = t301 * t70; + const double t1044 = t688 * rho; + const double t1045 = 0.1e1 / t1044; + const double t1046 = t1045 * t692; + const double t1049 = -0.10666666666666666667e-1 * t537 * t293 * t57 + 0.25600000000000000001e-3 * t1021 * t1022 * sigma - 0.13653333333333333334e-5 * t298 * t311 - 0.34133333333333333333e-3 * t543 * t303 + 0.68266666666666666668e-5 * t63 * t311 - 0.16384000000000000001e-7 * t308 * t321 - 0.6144e-5 * t548 * t311 + 0.57344000000000000001e-7 * t76 * t321 - 0.26214400000000000001e-9 * t316 * t334 - 0.43690666666666666667e-7 * t553 * t321 + 0.78643200000000000001e-9 * t86 * t334 - 0.34952533333333333334e-11 * t327 * t1046; + const double t1050 = t44 * t1049; + const double t1052 = t424 * t588; + const double t1058 = t301 * t183; + const double t1080 = t1045 * t882; + const double t1083 = -0.53333333333333333333e0 * t566 * t293 * t176 + 0.64000000000000000001e0 * t1057 * t1058 * sigma - 0.17066666666666666667e0 * t430 * t437 - 0.85333333333333333333e0 * t572 * t431 + 0.85333333333333333334e0 * t181 * t437 - 0.1024e0 * t436 * t444 - 0.768e0 * t577 * t437 + 0.3584e0 * t188 * t444 - 0.81920000000000000003e-1 * t442 * t452 - 0.27306666666666666667e0 * t582 * t444 + 0.24576e0 * t195 * t452 - 0.54613333333333333335e-1 * t449 * t1080; + const double t1084 = t170 * t1083; + const double t1086 = t503 * t613; + const double t1091 = t301 * t255; + const double t1113 = t1045 * t1008; + const double t1116 = -0.16e-1 * t591 * t293 * t248 + 0.576e-3 * t1090 * t1091 * sigma - 0.4608e-5 * t508 * t515 - 0.768e-3 * t597 * t509 + 0.2304e-4 * t253 * t515 - 0.82944e-7 * t514 * t522 - 0.20736e-4 * t602 * t515 + 0.290304e-6 * t260 * t522 - 0.1990656e-8 * t520 * t530 - 0.221184e-6 * t607 * t522 + 0.5971968e-8 * t267 * t530 - 0.3981312e-10 * t527 * t1113; + const double t1117 = t242 * t1116; + const double t1120 = t67 * t70; + const double t1132 = t74 * sigma; + const double t1139 = t84 * t62; + const double t1144 = 0.1e1 / t688; + const double t1145 = t1144 * t692; + const double t1148 = -0.64e-4 * t1021 * t1120 + 0.512e-6 * t47 * t81 + 0.64e-4 * t1125 * t1120 - 0.2048e-5 * t543 * t81 + 0.6144e-8 * t63 * t93 + 0.1536e-5 * t1132 * t81 - 0.18432e-7 * t548 * t93 + 0.98304e-10 * t76 * t560 + 0.12288e-7 * t1139 * t93 - 0.262144e-9 * t553 * t560 + 0.131072e-11 * t86 * t1145; + const double t1150 = 0.2e1 * t44 * t1148; + const double t1151 = t67 * t183; + const double t1163 = t187 * sigma; + const double t1170 = t194 * t62; + const double t1175 = t1144 * t882; + const double t1178 = -0.16e0 * t1057 * t1151 + 0.64e-1 * t173 * t191 + 0.16e0 * t1156 * t1151 - 0.256e0 * t572 * t191 + 0.384e-1 * t181 * t198 + 0.192e0 * t1163 * t191 - 0.1152e0 * t577 * t198 + 0.3072e-1 * t188 * t585 + 0.768e-1 * t1170 * t198 - 0.8192e-1 * t582 * t585 + 0.2048e-1 * t195 * t1175; + const double t1180 = 0.2e1 * t170 * t1178; + const double t1181 = t67 * t255; + const double t1193 = t259 * sigma; + const double t1200 = t266 * t62; + const double t1205 = t1144 * t1008; + const double t1208 = -0.144e-3 * t1090 * t1181 + 0.1728e-5 * t245 * t263 + 0.144e-3 * t1186 * t1181 - 0.6912e-5 * t597 * t263 + 0.31104e-7 * t253 * t270 + 0.5184e-5 * t1193 * t263 - 0.93312e-7 * t602 * t270 + 0.746496e-9 * t260 * t610 + 0.62208e-7 * t1200 * t270 - 0.1990656e-8 * t607 * t610 + 0.1492992e-10 * t267 * t1205; + const double t1209 = t242 * t1208; + + + vrho = t98 + t203 + t274 + rho * ( 0.2e1 * t289 + 0.2e1 * t338 + 0.2e1 * t425 + 0.2e1 * t456 + t504 + t534 ); + vsigma = rho * ( t565 + t590 + t614 ); + v2rho2 = 0.4e1 * t289 + 0.4e1 * t338 + 0.4e1 * t425 + 0.4e1 * t456 + 0.2e1 * t504 + 0.2e1 * t534 + rho * ( 0.2e1 * t636 + 0.4e1 * t638 + 0.2e1 * t697 + 0.2e1 * t844 + 0.4e1 * t846 + 0.2e1 * t887 + t971 + 0.2e1 * t972 + t1013 ); + v2rhosigma = t565 + t590 + t614 + rho * ( 0.2e1 * t1016 + 0.2e1 * t1050 + 0.2e1 * t1052 + 0.2e1 * t1084 + t1086 + t1117 ); + v2sigma2 = rho * ( t1150 + t1180 + t1209 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t15 = constants::m_cbrt_2; + constexpr double t28 = constants::m_cbrt_3; + constexpr double t29 = constants::m_cbrt_pi; + constexpr double t184 = constants::m_cbrt_one_ov_pi; + constexpr double t186 = constants::m_cbrt_4; + constexpr double t16 = t15 * t15; + constexpr double t31 = t28 / t29; + constexpr double t32 = t31 * t16; + constexpr double t56 = c_x_0; + constexpr double t57 = c_x_1; + constexpr double t71 = c_x_2; + constexpr double t83 = c_x_3; + constexpr double t93 = c_x_4; + constexpr double t185 = t28 * t184; + constexpr double t187 = t186 * t186; + constexpr double t188 = t185 * t187; + constexpr double t203 = t28 * t28; + constexpr double t204 = t184 * t184; + constexpr double t205 = t203 * t204; + constexpr double t206 = t205 * t186; + constexpr double t260 = c_ss_0; + constexpr double t261 = c_ss_1; + constexpr double t269 = c_ss_2; + constexpr double t276 = c_ss_3; + constexpr double t283 = c_ss_4; + constexpr double t440 = c_ab_1; + constexpr double t449 = c_ab_2; + constexpr double t456 = c_ab_3; + constexpr double t463 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t10 = rho_a * t4; + const double t12 = 0.2e1 * t10 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( t10 ); + const double t21 = piecewise_functor_3( t12, t14, t16 / t17 / 0.2e1 ); + const double t22 = t21 * t21; + const double t24 = 0.1e1 / t22 / t21; + const double t27 = t3 * t24 / 0.2e1 <= dens_tol; + const double t34 = t13 * zeta_tol; + const double t36 = piecewise_functor_3( 0.2e1 <= zeta_tol, t34, 0.2e1 * t15 ); + const double t37 = safe_math::cbrt( t3 ); + const double t38 = t36 * t37; + const double t39 = 0.1e1 / t21; + const double t43 = piecewise_functor_3( t27, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t39 ); + const double t44 = 0.e0 <= dens_tol; + const double t46 = piecewise_functor_3( 0.e0 <= zeta_tol, t34, 0.0 ); + const double t47 = t46 * t37; + const double t51 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t39 ); + const double t52 = t43 + t51; + const double t55 = piecewise_functor_3( t8, 0.0, t9 * t52 / 0.2e1 ); + const double t58 = t57 * sigma_aa; + const double t59 = rho_a * rho_a; + const double t60 = safe_math::cbrt( rho_a ); + const double t61 = t60 * t60; + const double t63 = 0.1e1 / t61 / t59; + const double t64 = sigma_aa * t63; + const double t66 = 0.1e1 + 0.4e-2 * t64; + const double t67 = 0.1e1 / t66; + const double t72 = sigma_aa * sigma_aa; + const double t73 = t71 * t72; + const double t74 = t59 * t59; + const double t75 = t74 * rho_a; + const double t77 = 0.1e1 / t60 / t75; + const double t78 = t66 * t66; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t84 = t72 * sigma_aa; + const double t85 = t83 * t84; + const double t86 = t74 * t74; + const double t87 = 0.1e1 / t86; + const double t88 = t78 * t66; + const double t89 = 0.1e1 / t88; + const double t90 = t87 * t89; + const double t94 = t72 * t72; + const double t95 = t93 * t94; + const double t96 = t86 * t59; + const double t98 = 0.1e1 / t61 / t96; + const double t99 = t78 * t78; + const double t100 = 0.1e1 / t99; + const double t101 = t98 * t100; + const double t104 = t56 + 0.4e-2 * t58 * t63 * t67 + 0.16e-4 * t73 * t80 + 0.64e-7 * t85 * t90 + 0.256e-9 * t95 * t101; + const double t105 = t55 * t104; + const double t107 = 0.1e1 - t5; + const double t108 = t107 <= zeta_tol; + const double t109 = rho_b <= dens_tol || t108; + const double t110 = piecewise_functor_3( t108, zeta_tol, t107 ); + const double t111 = rho_b * t4; + const double t113 = 0.2e1 * t111 <= zeta_tol; + const double t114 = safe_math::cbrt( t111 ); + const double t118 = piecewise_functor_3( t113, t14, t16 / t114 / 0.2e1 ); + const double t119 = t118 * t118; + const double t121 = 0.1e1 / t119 / t118; + const double t124 = t3 * t121 / 0.2e1 <= dens_tol; + const double t125 = 0.1e1 / t118; + const double t129 = piecewise_functor_3( t124, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t125 ); + const double t133 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t125 ); + const double t134 = t129 + t133; + const double t137 = piecewise_functor_3( t109, 0.0, t110 * t134 / 0.2e1 ); + const double t138 = t57 * sigma_bb; + const double t139 = rho_b * rho_b; + const double t140 = safe_math::cbrt( rho_b ); + const double t141 = t140 * t140; + const double t143 = 0.1e1 / t141 / t139; + const double t144 = sigma_bb * t143; + const double t146 = 0.1e1 + 0.4e-2 * t144; + const double t147 = 0.1e1 / t146; + const double t151 = sigma_bb * sigma_bb; + const double t152 = t71 * t151; + const double t153 = t139 * t139; + const double t154 = t153 * rho_b; + const double t156 = 0.1e1 / t140 / t154; + const double t157 = t146 * t146; + const double t158 = 0.1e1 / t157; + const double t159 = t156 * t158; + const double t162 = t151 * sigma_bb; + const double t163 = t83 * t162; + const double t164 = t153 * t153; + const double t165 = 0.1e1 / t164; + const double t166 = t157 * t146; + const double t167 = 0.1e1 / t166; + const double t168 = t165 * t167; + const double t171 = t151 * t151; + const double t172 = t93 * t171; + const double t173 = t164 * t139; + const double t175 = 0.1e1 / t141 / t173; + const double t176 = t157 * t157; + const double t177 = 0.1e1 / t176; + const double t178 = t175 * t177; + const double t181 = t56 + 0.4e-2 * t138 * t143 * t147 + 0.16e-4 * t152 * t159 + 0.64e-7 * t163 * t168 + 0.256e-9 * t172 * t178; + const double t182 = t137 * t181; + const double t189 = 0.1e1 / t37; + const double t190 = t189 * t15; + const double t191 = safe_math::cbrt( t6 ); + const double t193 = piecewise_functor_3( t7, t14, 0.1e1 / t191 ); + const double t195 = t188 * t190 * t193; + const double t197 = 0.1e1 + 0.53425e-1 * t195; + const double t198 = safe_math::sqrt( t195 ); + const double t201 = pow_3_2( t195 ); + const double t207 = t37 * t37; + const double t208 = 0.1e1 / t207; + const double t209 = t208 * t16; + const double t210 = t193 * t193; + const double t212 = t206 * t209 * t210; + const double t214 = 0.379785e1 * t198 + 0.8969e0 * t195 + 0.204775e0 * t201 + 0.123235e0 * t212; + const double t217 = 0.1e1 + 0.16081824322151104822e2 / t214; + const double t218 = safe_math::log( t217 ); + const double t220 = 0.62182e-1 * t197 * t218; + const double t224 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t225 = ( t36 + t46 - 0.2e1 ) * t224; + const double t227 = 0.1e1 + 0.5137e-1 * t195; + const double t232 = 0.705945e1 * t198 + 0.1549425e1 * t195 + 0.420775e0 * t201 + 0.1562925e0 * t212; + const double t235 = 0.1e1 + 0.32164683177870697974e2 / t232; + const double t236 = safe_math::log( t235 ); + const double t240 = 0.1e1 + 0.278125e-1 * t195; + const double t245 = 0.51785e1 * t198 + 0.905775e0 * t195 + 0.1100325e0 * t201 + 0.1241775e0 * t212; + const double t248 = 0.1e1 + 0.29608574643216675549e2 / t245; + const double t249 = safe_math::log( t248 ); + const double t250 = t240 * t249; + const double t256 = -t220 + t225 * ( -0.3109e-1 * t227 * t236 + t220 - 0.19751789702565206229e-1 * t250 ) + 0.19751789702565206229e-1 * t225 * t250; + const double t259 = piecewise_functor_3( t8, 0.0, t9 * t256 / 0.2e1 ); + const double t262 = t261 * sigma_aa; + const double t264 = 0.1e1 + 0.2e0 * t64; + const double t265 = 0.1e1 / t264; + const double t270 = t269 * t72; + const double t271 = t264 * t264; + const double t272 = 0.1e1 / t271; + const double t273 = t77 * t272; + const double t277 = t276 * t84; + const double t278 = t271 * t264; + const double t279 = 0.1e1 / t278; + const double t280 = t87 * t279; + const double t284 = t283 * t94; + const double t285 = t271 * t271; + const double t286 = 0.1e1 / t285; + const double t287 = t98 * t286; + const double t290 = t260 + 0.2e0 * t262 * t63 * t265 + 0.4e-1 * t270 * t273 + 0.8e-2 * t277 * t280 + 0.16e-2 * t284 * t287; + const double t291 = t259 * t290; + const double t292 = safe_math::cbrt( t107 ); + const double t294 = piecewise_functor_3( t108, t14, 0.1e1 / t292 ); + const double t296 = t188 * t190 * t294; + const double t298 = 0.1e1 + 0.53425e-1 * t296; + const double t299 = safe_math::sqrt( t296 ); + const double t302 = pow_3_2( t296 ); + const double t304 = t294 * t294; + const double t306 = t206 * t209 * t304; + const double t308 = 0.379785e1 * t299 + 0.8969e0 * t296 + 0.204775e0 * t302 + 0.123235e0 * t306; + const double t311 = 0.1e1 + 0.16081824322151104822e2 / t308; + const double t312 = safe_math::log( t311 ); + const double t314 = 0.62182e-1 * t298 * t312; + const double t316 = 0.1e1 + 0.5137e-1 * t296; + const double t321 = 0.705945e1 * t299 + 0.1549425e1 * t296 + 0.420775e0 * t302 + 0.1562925e0 * t306; + const double t324 = 0.1e1 + 0.32164683177870697974e2 / t321; + const double t325 = safe_math::log( t324 ); + const double t329 = 0.1e1 + 0.278125e-1 * t296; + const double t334 = 0.51785e1 * t299 + 0.905775e0 * t296 + 0.1100325e0 * t302 + 0.1241775e0 * t306; + const double t337 = 0.1e1 + 0.29608574643216675549e2 / t334; + const double t338 = safe_math::log( t337 ); + const double t339 = t329 * t338; + const double t345 = -t314 + t225 * ( -0.3109e-1 * t316 * t325 + t314 - 0.19751789702565206229e-1 * t339 ) + 0.19751789702565206229e-1 * t225 * t339; + const double t348 = piecewise_functor_3( t109, 0.0, t110 * t345 / 0.2e1 ); + const double t349 = t261 * sigma_bb; + const double t351 = 0.1e1 + 0.2e0 * t144; + const double t352 = 0.1e1 / t351; + const double t356 = t269 * t151; + const double t357 = t351 * t351; + const double t358 = 0.1e1 / t357; + const double t359 = t156 * t358; + const double t362 = t276 * t162; + const double t363 = t357 * t351; + const double t364 = 0.1e1 / t363; + const double t365 = t165 * t364; + const double t368 = t283 * t171; + const double t369 = t357 * t357; + const double t370 = 0.1e1 / t369; + const double t371 = t175 * t370; + const double t374 = t260 + 0.2e0 * t349 * t143 * t352 + 0.4e-1 * t356 * t359 + 0.8e-2 * t362 * t365 + 0.16e-2 * t368 * t371; + const double t375 = t348 * t374; + const double t377 = t185 * t187 * t189; + const double t379 = 0.1e1 + 0.53425e-1 * t377; + const double t380 = safe_math::sqrt( t377 ); + const double t383 = pow_3_2( t377 ); + const double t386 = t205 * t186 * t208; + const double t388 = 0.379785e1 * t380 + 0.8969e0 * t377 + 0.204775e0 * t383 + 0.123235e0 * t386; + const double t391 = 0.1e1 + 0.16081824322151104822e2 / t388; + const double t392 = safe_math::log( t391 ); + const double t394 = 0.62182e-1 * t379 * t392; + const double t395 = t2 * t2; + const double t396 = t395 * t395; + const double t397 = t3 * t3; + const double t398 = t397 * t397; + const double t399 = 0.1e1 / t398; + const double t400 = t396 * t399; + const double t401 = t191 * t6; + const double t402 = piecewise_functor_3( t7, t34, t401 ); + const double t403 = t292 * t107; + const double t404 = piecewise_functor_3( t108, t34, t403 ); + const double t405 = t402 + t404 - 0.2e1; + const double t406 = t405 * t224; + const double t408 = 0.1e1 + 0.5137e-1 * t377; + const double t413 = 0.705945e1 * t380 + 0.1549425e1 * t377 + 0.420775e0 * t383 + 0.1562925e0 * t386; + const double t416 = 0.1e1 + 0.32164683177870697974e2 / t413; + const double t417 = safe_math::log( t416 ); + const double t421 = 0.1e1 + 0.278125e-1 * t377; + const double t426 = 0.51785e1 * t380 + 0.905775e0 * t377 + 0.1100325e0 * t383 + 0.1241775e0 * t386; + const double t429 = 0.1e1 + 0.29608574643216675549e2 / t426; + const double t430 = safe_math::log( t429 ); + const double t431 = t421 * t430; + const double t433 = -0.3109e-1 * t408 * t417 + t394 - 0.19751789702565206229e-1 * t431; + const double t434 = t406 * t433; + const double t438 = -t394 + t400 * t434 + 0.19751789702565206229e-1 * t406 * t431 - t259 - t348; + const double t441 = t64 + t144; + const double t442 = t440 * t441; + const double t445 = 0.1e1 + 0.3e-2 * t64 + 0.3e-2 * t144; + const double t446 = 0.1e1 / t445; + const double t450 = t441 * t441; + const double t451 = t449 * t450; + const double t452 = t445 * t445; + const double t453 = 0.1e1 / t452; + const double t457 = t450 * t441; + const double t458 = t456 * t457; + const double t459 = t452 * t445; + const double t460 = 0.1e1 / t459; + const double t464 = t450 * t450; + const double t465 = t463 * t464; + const double t466 = t452 * t452; + const double t467 = 0.1e1 / t466; + const double t470 = c_ab_0 + 0.3e-2 * t442 * t446 + 0.9e-5 * t451 * t453 + 0.27e-7 * t458 * t460 + 0.81e-10 * t465 * t467; + const double t471 = t438 * t470; + + + eps = t105 + t182 + t291 + t375 + t471; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t15 = constants::m_cbrt_2; + constexpr double t28 = constants::m_cbrt_3; + constexpr double t29 = constants::m_cbrt_pi; + constexpr double t184 = constants::m_cbrt_one_ov_pi; + constexpr double t186 = constants::m_cbrt_4; + constexpr double t16 = t15 * t15; + constexpr double t31 = t28 / t29; + constexpr double t32 = t31 * t16; + constexpr double t56 = c_x_0; + constexpr double t57 = c_x_1; + constexpr double t71 = c_x_2; + constexpr double t83 = c_x_3; + constexpr double t93 = c_x_4; + constexpr double t185 = t28 * t184; + constexpr double t187 = t186 * t186; + constexpr double t188 = t185 * t187; + constexpr double t203 = t28 * t28; + constexpr double t204 = t184 * t184; + constexpr double t205 = t203 * t204; + constexpr double t206 = t205 * t186; + constexpr double t260 = c_ss_0; + constexpr double t261 = c_ss_1; + constexpr double t269 = c_ss_2; + constexpr double t276 = c_ss_3; + constexpr double t283 = c_ss_4; + constexpr double t440 = c_ab_1; + constexpr double t449 = c_ab_2; + constexpr double t456 = c_ab_3; + constexpr double t463 = c_ab_4; + constexpr double t817 = t184 * t187; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t10 = rho_a * t4; + const double t12 = 0.2e1 * t10 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( t10 ); + const double t21 = piecewise_functor_3( t12, t14, t16 / t17 / 0.2e1 ); + const double t22 = t21 * t21; + const double t24 = 0.1e1 / t22 / t21; + const double t27 = t3 * t24 / 0.2e1 <= dens_tol; + const double t34 = t13 * zeta_tol; + const double t36 = piecewise_functor_3( 0.2e1 <= zeta_tol, t34, 0.2e1 * t15 ); + const double t37 = safe_math::cbrt( t3 ); + const double t38 = t36 * t37; + const double t39 = 0.1e1 / t21; + const double t43 = piecewise_functor_3( t27, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t39 ); + const double t44 = 0.e0 <= dens_tol; + const double t46 = piecewise_functor_3( 0.e0 <= zeta_tol, t34, 0.0 ); + const double t47 = t46 * t37; + const double t51 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t39 ); + const double t52 = t43 + t51; + const double t55 = piecewise_functor_3( t8, 0.0, t9 * t52 / 0.2e1 ); + const double t58 = t57 * sigma_aa; + const double t59 = rho_a * rho_a; + const double t60 = safe_math::cbrt( rho_a ); + const double t61 = t60 * t60; + const double t63 = 0.1e1 / t61 / t59; + const double t64 = sigma_aa * t63; + const double t66 = 0.1e1 + 0.4e-2 * t64; + const double t67 = 0.1e1 / t66; + const double t72 = sigma_aa * sigma_aa; + const double t73 = t71 * t72; + const double t74 = t59 * t59; + const double t75 = t74 * rho_a; + const double t77 = 0.1e1 / t60 / t75; + const double t78 = t66 * t66; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t84 = t72 * sigma_aa; + const double t85 = t83 * t84; + const double t86 = t74 * t74; + const double t87 = 0.1e1 / t86; + const double t88 = t78 * t66; + const double t89 = 0.1e1 / t88; + const double t90 = t87 * t89; + const double t94 = t72 * t72; + const double t95 = t93 * t94; + const double t96 = t86 * t59; + const double t98 = 0.1e1 / t61 / t96; + const double t99 = t78 * t78; + const double t100 = 0.1e1 / t99; + const double t101 = t98 * t100; + const double t104 = t56 + 0.4e-2 * t58 * t63 * t67 + 0.16e-4 * t73 * t80 + 0.64e-7 * t85 * t90 + 0.256e-9 * t95 * t101; + const double t105 = t55 * t104; + const double t107 = 0.1e1 - t5; + const double t108 = t107 <= zeta_tol; + const double t109 = rho_b <= dens_tol || t108; + const double t110 = piecewise_functor_3( t108, zeta_tol, t107 ); + const double t111 = rho_b * t4; + const double t113 = 0.2e1 * t111 <= zeta_tol; + const double t114 = safe_math::cbrt( t111 ); + const double t118 = piecewise_functor_3( t113, t14, t16 / t114 / 0.2e1 ); + const double t119 = t118 * t118; + const double t121 = 0.1e1 / t119 / t118; + const double t124 = t3 * t121 / 0.2e1 <= dens_tol; + const double t125 = 0.1e1 / t118; + const double t129 = piecewise_functor_3( t124, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t125 ); + const double t133 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t125 ); + const double t134 = t129 + t133; + const double t137 = piecewise_functor_3( t109, 0.0, t110 * t134 / 0.2e1 ); + const double t138 = t57 * sigma_bb; + const double t139 = rho_b * rho_b; + const double t140 = safe_math::cbrt( rho_b ); + const double t141 = t140 * t140; + const double t143 = 0.1e1 / t141 / t139; + const double t144 = sigma_bb * t143; + const double t146 = 0.1e1 + 0.4e-2 * t144; + const double t147 = 0.1e1 / t146; + const double t151 = sigma_bb * sigma_bb; + const double t152 = t71 * t151; + const double t153 = t139 * t139; + const double t154 = t153 * rho_b; + const double t156 = 0.1e1 / t140 / t154; + const double t157 = t146 * t146; + const double t158 = 0.1e1 / t157; + const double t159 = t156 * t158; + const double t162 = t151 * sigma_bb; + const double t163 = t83 * t162; + const double t164 = t153 * t153; + const double t165 = 0.1e1 / t164; + const double t166 = t157 * t146; + const double t167 = 0.1e1 / t166; + const double t168 = t165 * t167; + const double t171 = t151 * t151; + const double t172 = t93 * t171; + const double t173 = t164 * t139; + const double t175 = 0.1e1 / t141 / t173; + const double t176 = t157 * t157; + const double t177 = 0.1e1 / t176; + const double t178 = t175 * t177; + const double t181 = t56 + 0.4e-2 * t138 * t143 * t147 + 0.16e-4 * t152 * t159 + 0.64e-7 * t163 * t168 + 0.256e-9 * t172 * t178; + const double t182 = t137 * t181; + const double t189 = 0.1e1 / t37; + const double t190 = t189 * t15; + const double t191 = safe_math::cbrt( t6 ); + const double t193 = piecewise_functor_3( t7, t14, 0.1e1 / t191 ); + const double t195 = t188 * t190 * t193; + const double t197 = 0.1e1 + 0.53425e-1 * t195; + const double t198 = safe_math::sqrt( t195 ); + const double t201 = pow_3_2( t195 ); + const double t207 = t37 * t37; + const double t208 = 0.1e1 / t207; + const double t209 = t208 * t16; + const double t210 = t193 * t193; + const double t212 = t206 * t209 * t210; + const double t214 = 0.379785e1 * t198 + 0.8969e0 * t195 + 0.204775e0 * t201 + 0.123235e0 * t212; + const double t217 = 0.1e1 + 0.16081824322151104822e2 / t214; + const double t218 = safe_math::log( t217 ); + const double t220 = 0.62182e-1 * t197 * t218; + const double t224 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t225 = ( t36 + t46 - 0.2e1 ) * t224; + const double t227 = 0.1e1 + 0.5137e-1 * t195; + const double t232 = 0.705945e1 * t198 + 0.1549425e1 * t195 + 0.420775e0 * t201 + 0.1562925e0 * t212; + const double t235 = 0.1e1 + 0.32164683177870697974e2 / t232; + const double t236 = safe_math::log( t235 ); + const double t240 = 0.1e1 + 0.278125e-1 * t195; + const double t245 = 0.51785e1 * t198 + 0.905775e0 * t195 + 0.1100325e0 * t201 + 0.1241775e0 * t212; + const double t248 = 0.1e1 + 0.29608574643216675549e2 / t245; + const double t249 = safe_math::log( t248 ); + const double t250 = t240 * t249; + const double t256 = -t220 + t225 * ( -0.3109e-1 * t227 * t236 + t220 - 0.19751789702565206229e-1 * t250 ) + 0.19751789702565206229e-1 * t225 * t250; + const double t259 = piecewise_functor_3( t8, 0.0, t9 * t256 / 0.2e1 ); + const double t262 = t261 * sigma_aa; + const double t264 = 0.1e1 + 0.2e0 * t64; + const double t265 = 0.1e1 / t264; + const double t270 = t269 * t72; + const double t271 = t264 * t264; + const double t272 = 0.1e1 / t271; + const double t273 = t77 * t272; + const double t277 = t276 * t84; + const double t278 = t271 * t264; + const double t279 = 0.1e1 / t278; + const double t280 = t87 * t279; + const double t284 = t283 * t94; + const double t285 = t271 * t271; + const double t286 = 0.1e1 / t285; + const double t287 = t98 * t286; + const double t290 = t260 + 0.2e0 * t262 * t63 * t265 + 0.4e-1 * t270 * t273 + 0.8e-2 * t277 * t280 + 0.16e-2 * t284 * t287; + const double t291 = t259 * t290; + const double t292 = safe_math::cbrt( t107 ); + const double t294 = piecewise_functor_3( t108, t14, 0.1e1 / t292 ); + const double t296 = t188 * t190 * t294; + const double t298 = 0.1e1 + 0.53425e-1 * t296; + const double t299 = safe_math::sqrt( t296 ); + const double t302 = pow_3_2( t296 ); + const double t304 = t294 * t294; + const double t306 = t206 * t209 * t304; + const double t308 = 0.379785e1 * t299 + 0.8969e0 * t296 + 0.204775e0 * t302 + 0.123235e0 * t306; + const double t311 = 0.1e1 + 0.16081824322151104822e2 / t308; + const double t312 = safe_math::log( t311 ); + const double t314 = 0.62182e-1 * t298 * t312; + const double t316 = 0.1e1 + 0.5137e-1 * t296; + const double t321 = 0.705945e1 * t299 + 0.1549425e1 * t296 + 0.420775e0 * t302 + 0.1562925e0 * t306; + const double t324 = 0.1e1 + 0.32164683177870697974e2 / t321; + const double t325 = safe_math::log( t324 ); + const double t329 = 0.1e1 + 0.278125e-1 * t296; + const double t334 = 0.51785e1 * t299 + 0.905775e0 * t296 + 0.1100325e0 * t302 + 0.1241775e0 * t306; + const double t337 = 0.1e1 + 0.29608574643216675549e2 / t334; + const double t338 = safe_math::log( t337 ); + const double t339 = t329 * t338; + const double t345 = -t314 + t225 * ( -0.3109e-1 * t316 * t325 + t314 - 0.19751789702565206229e-1 * t339 ) + 0.19751789702565206229e-1 * t225 * t339; + const double t348 = piecewise_functor_3( t109, 0.0, t110 * t345 / 0.2e1 ); + const double t349 = t261 * sigma_bb; + const double t351 = 0.1e1 + 0.2e0 * t144; + const double t352 = 0.1e1 / t351; + const double t356 = t269 * t151; + const double t357 = t351 * t351; + const double t358 = 0.1e1 / t357; + const double t359 = t156 * t358; + const double t362 = t276 * t162; + const double t363 = t357 * t351; + const double t364 = 0.1e1 / t363; + const double t365 = t165 * t364; + const double t368 = t283 * t171; + const double t369 = t357 * t357; + const double t370 = 0.1e1 / t369; + const double t371 = t175 * t370; + const double t374 = t260 + 0.2e0 * t349 * t143 * t352 + 0.4e-1 * t356 * t359 + 0.8e-2 * t362 * t365 + 0.16e-2 * t368 * t371; + const double t375 = t348 * t374; + const double t377 = t185 * t187 * t189; + const double t379 = 0.1e1 + 0.53425e-1 * t377; + const double t380 = safe_math::sqrt( t377 ); + const double t383 = pow_3_2( t377 ); + const double t386 = t205 * t186 * t208; + const double t388 = 0.379785e1 * t380 + 0.8969e0 * t377 + 0.204775e0 * t383 + 0.123235e0 * t386; + const double t391 = 0.1e1 + 0.16081824322151104822e2 / t388; + const double t392 = safe_math::log( t391 ); + const double t394 = 0.62182e-1 * t379 * t392; + const double t395 = t2 * t2; + const double t396 = t395 * t395; + const double t397 = t3 * t3; + const double t398 = t397 * t397; + const double t399 = 0.1e1 / t398; + const double t400 = t396 * t399; + const double t401 = t191 * t6; + const double t402 = piecewise_functor_3( t7, t34, t401 ); + const double t403 = t292 * t107; + const double t404 = piecewise_functor_3( t108, t34, t403 ); + const double t405 = t402 + t404 - 0.2e1; + const double t406 = t405 * t224; + const double t408 = 0.1e1 + 0.5137e-1 * t377; + const double t413 = 0.705945e1 * t380 + 0.1549425e1 * t377 + 0.420775e0 * t383 + 0.1562925e0 * t386; + const double t416 = 0.1e1 + 0.32164683177870697974e2 / t413; + const double t417 = safe_math::log( t416 ); + const double t421 = 0.1e1 + 0.278125e-1 * t377; + const double t426 = 0.51785e1 * t380 + 0.905775e0 * t377 + 0.1100325e0 * t383 + 0.1241775e0 * t386; + const double t429 = 0.1e1 + 0.29608574643216675549e2 / t426; + const double t430 = safe_math::log( t429 ); + const double t431 = t421 * t430; + const double t433 = -0.3109e-1 * t408 * t417 + t394 - 0.19751789702565206229e-1 * t431; + const double t434 = t406 * t433; + const double t438 = -t394 + t400 * t434 + 0.19751789702565206229e-1 * t406 * t431 - t259 - t348; + const double t441 = t64 + t144; + const double t442 = t440 * t441; + const double t445 = 0.1e1 + 0.3e-2 * t64 + 0.3e-2 * t144; + const double t446 = 0.1e1 / t445; + const double t450 = t441 * t441; + const double t451 = t449 * t450; + const double t452 = t445 * t445; + const double t453 = 0.1e1 / t452; + const double t457 = t450 * t441; + const double t458 = t456 * t457; + const double t459 = t452 * t445; + const double t460 = 0.1e1 / t459; + const double t464 = t450 * t450; + const double t465 = t463 * t464; + const double t466 = t452 * t452; + const double t467 = 0.1e1 / t466; + const double t470 = c_ab_0 + 0.3e-2 * t442 * t446 + 0.9e-5 * t451 * t453 + 0.27e-7 * t458 * t460 + 0.81e-10 * t465 * t467; + const double t471 = t438 * t470; + const double t472 = 0.1e1 / t397; + const double t473 = t2 * t472; + const double t474 = t4 - t473; + const double t475 = piecewise_functor_3( t7, 0.0, t474 ); + const double t477 = t36 * t208; + const double t480 = t32 * t477 * t39 / 0.16e2; + const double t481 = 0.1e1 / t22; + const double t484 = t16 / t17 / t10; + const double t485 = rho_a * t472; + const double t486 = t4 - t485; + const double t489 = piecewise_functor_3( t12, 0.0, -t484 * t486 / 0.6e1 ); + const double t490 = t481 * t489; + const double t495 = piecewise_functor_3( t27, 0.0, -t480 + 0.3e1 / 0.16e2 * t32 * t38 * t490 ); + const double t496 = t46 * t208; + const double t499 = t32 * t496 * t39 / 0.16e2; + const double t504 = piecewise_functor_3( t44, 0.0, -t499 + 0.3e1 / 0.16e2 * t32 * t47 * t490 ); + const double t505 = t495 + t504; + const double t509 = piecewise_functor_3( t8, 0.0, t475 * t52 / 0.2e1 + t9 * t505 / 0.2e1 ); + const double t510 = t509 * t104; + const double t511 = t59 * rho_a; + const double t513 = 0.1e1 / t61 / t511; + const double t517 = t57 * t72; + const double t518 = t74 * t59; + const double t520 = 0.1e1 / t60 / t518; + const double t521 = t520 * t79; + const double t526 = t71 * t84; + const double t527 = t86 * rho_a; + const double t528 = 0.1e1 / t527; + const double t529 = t528 * t89; + const double t534 = t83 * t94; + const double t535 = t86 * t511; + const double t537 = 0.1e1 / t61 / t535; + const double t538 = t537 * t100; + const double t543 = t94 * sigma_aa; + const double t544 = t93 * t543; + const double t545 = t86 * t518; + const double t547 = 0.1e1 / t60 / t545; + const double t549 = 0.1e1 / t99 / t66; + const double t550 = t547 * t549; + const double t553 = -0.10666666666666666667e-1 * t58 * t513 * t67 + 0.42666666666666666668e-4 * t517 * t521 - 0.85333333333333333333e-4 * t73 * t521 + 0.34133333333333333334e-6 * t526 * t529 - 0.512e-6 * t85 * t529 + 0.20480000000000000001e-8 * t534 * t538 - 0.27306666666666666667e-8 * t95 * t538 + 0.10922666666666666667e-10 * t544 * t550; + const double t554 = t55 * t553; + const double t555 = -t474; + const double t556 = piecewise_functor_3( t108, 0.0, t555 ); + const double t560 = t32 * t477 * t125 / 0.16e2; + const double t561 = 0.1e1 / t119; + const double t564 = t16 / t114 / t111; + const double t565 = rho_b * t472; + const double t568 = piecewise_functor_3( t113, 0.0, t564 * t565 / 0.6e1 ); + const double t569 = t561 * t568; + const double t574 = piecewise_functor_3( t124, 0.0, -t560 + 0.3e1 / 0.16e2 * t32 * t38 * t569 ); + const double t577 = t32 * t496 * t125 / 0.16e2; + const double t582 = piecewise_functor_3( t44, 0.0, -t577 + 0.3e1 / 0.16e2 * t32 * t47 * t569 ); + const double t583 = t574 + t582; + const double t587 = piecewise_functor_3( t109, 0.0, t110 * t583 / 0.2e1 + t556 * t134 / 0.2e1 ); + const double t588 = t587 * t181; + const double t591 = 0.1e1 / t37 / t3; + const double t592 = t591 * t15; + const double t594 = t188 * t592 * t193; + const double t595 = 0.17808333333333333333e-1 * t594; + const double t596 = 0.1e1 / t401; + const double t599 = piecewise_functor_3( t7, 0.0, -t596 * t474 / 0.3e1 ); + const double t601 = t188 * t190 * t599; + const double t603 = -t595 + 0.53425e-1 * t601; + const double t605 = 0.62182e-1 * t603 * t218; + const double t606 = t214 * t214; + const double t607 = 0.1e1 / t606; + const double t608 = t197 * t607; + const double t609 = 0.1e1 / t198; + const double t610 = t594 / 0.3e1; + const double t611 = -t610 + t601; + const double t612 = t609 * t611; + const double t614 = 0.29896666666666666667e0 * t594; + const double t616 = safe_math::sqrt( t195 ); + const double t617 = t616 * t611; + const double t620 = 0.1e1 / t207 / t3; + const double t621 = t620 * t16; + const double t623 = t206 * t621 * t210; + const double t624 = 0.82156666666666666667e-1 * t623; + const double t625 = t193 * t599; + const double t627 = t206 * t209 * t625; + const double t629 = 0.1898925e1 * t612 - t614 + 0.8969e0 * t601 + 0.3071625e0 * t617 - t624 + 0.24647e0 * t627; + const double t630 = 0.1e1 / t217; + const double t631 = t629 * t630; + const double t633 = 0.1e1 * t608 * t631; + const double t634 = 0.17123333333333333333e-1 * t594; + const double t636 = -t634 + 0.5137e-1 * t601; + const double t639 = t232 * t232; + const double t640 = 0.1e1 / t639; + const double t641 = t227 * t640; + const double t643 = 0.516475e0 * t594; + const double t646 = 0.104195e0 * t623; + const double t648 = 0.3529725e1 * t612 - t643 + 0.1549425e1 * t601 + 0.6311625e0 * t617 - t646 + 0.312585e0 * t627; + const double t649 = 0.1e1 / t235; + const double t650 = t648 * t649; + const double t653 = 0.92708333333333333333e-2 * t594; + const double t655 = -t653 + 0.278125e-1 * t601; + const double t656 = t655 * t249; + const double t658 = t245 * t245; + const double t659 = 0.1e1 / t658; + const double t660 = t240 * t659; + const double t662 = 0.301925e0 * t594; + const double t665 = 0.82785e-1 * t623; + const double t667 = 0.258925e1 * t612 - t662 + 0.905775e0 * t601 + 0.16504875e0 * t617 - t665 + 0.248355e0 * t627; + const double t668 = 0.1e1 / t248; + const double t669 = t667 * t668; + const double t676 = t225 * t240; + const double t678 = t659 * t667 * t668; + const double t681 = -t605 + t633 + t225 * ( -0.3109e-1 * t636 * t236 + 0.1e1 * t641 * t650 + t605 - t633 - 0.19751789702565206229e-1 * t656 + 0.58482233974552040708e0 * t660 * t669 ) + 0.19751789702565206229e-1 * t225 * t656 - 0.58482233974552040708e0 * t676 * t678; + const double t685 = piecewise_functor_3( t8, 0.0, t475 * t256 / 0.2e1 + t9 * t681 / 0.2e1 ); + const double t686 = t685 * t290; + const double t690 = t261 * t72; + const double t691 = t520 * t272; + const double t696 = t269 * t84; + const double t697 = t528 * t279; + const double t702 = t276 * t94; + const double t703 = t537 * t286; + const double t708 = t283 * t543; + const double t710 = 0.1e1 / t285 / t264; + const double t711 = t547 * t710; + const double t714 = -0.53333333333333333333e0 * t262 * t513 * t265 + 0.10666666666666666667e0 * t690 * t691 - 0.21333333333333333333e0 * t270 * t691 + 0.42666666666666666668e-1 * t696 * t697 - 0.64e-1 * t277 * t697 + 0.128e-1 * t702 * t703 - 0.17066666666666666667e-1 * t284 * t703 + 0.34133333333333333333e-2 * t708 * t711; + const double t715 = t259 * t714; + const double t718 = t188 * t592 * t294; + const double t719 = 0.17808333333333333333e-1 * t718; + const double t720 = 0.1e1 / t403; + const double t723 = piecewise_functor_3( t108, 0.0, -t720 * t555 / 0.3e1 ); + const double t725 = t188 * t190 * t723; + const double t727 = -t719 + 0.53425e-1 * t725; + const double t729 = 0.62182e-1 * t727 * t312; + const double t730 = t308 * t308; + const double t731 = 0.1e1 / t730; + const double t732 = t298 * t731; + const double t733 = 0.1e1 / t299; + const double t734 = t718 / 0.3e1; + const double t735 = -t734 + t725; + const double t736 = t733 * t735; + const double t738 = 0.29896666666666666667e0 * t718; + const double t740 = safe_math::sqrt( t296 ); + const double t741 = t740 * t735; + const double t744 = t206 * t621 * t304; + const double t745 = 0.82156666666666666667e-1 * t744; + const double t746 = t294 * t723; + const double t748 = t206 * t209 * t746; + const double t750 = 0.1898925e1 * t736 - t738 + 0.8969e0 * t725 + 0.3071625e0 * t741 - t745 + 0.24647e0 * t748; + const double t751 = 0.1e1 / t311; + const double t752 = t750 * t751; + const double t754 = 0.1e1 * t732 * t752; + const double t755 = 0.17123333333333333333e-1 * t718; + const double t757 = -t755 + 0.5137e-1 * t725; + const double t760 = t321 * t321; + const double t761 = 0.1e1 / t760; + const double t762 = t316 * t761; + const double t764 = 0.516475e0 * t718; + const double t767 = 0.104195e0 * t744; + const double t769 = 0.3529725e1 * t736 - t764 + 0.1549425e1 * t725 + 0.6311625e0 * t741 - t767 + 0.312585e0 * t748; + const double t770 = 0.1e1 / t324; + const double t771 = t769 * t770; + const double t774 = 0.92708333333333333333e-2 * t718; + const double t776 = -t774 + 0.278125e-1 * t725; + const double t777 = t776 * t338; + const double t779 = t334 * t334; + const double t780 = 0.1e1 / t779; + const double t781 = t329 * t780; + const double t783 = 0.301925e0 * t718; + const double t786 = 0.82785e-1 * t744; + const double t788 = 0.258925e1 * t736 - t783 + 0.905775e0 * t725 + 0.16504875e0 * t741 - t786 + 0.248355e0 * t748; + const double t789 = 0.1e1 / t337; + const double t790 = t788 * t789; + const double t797 = t225 * t329; + const double t799 = t780 * t788 * t789; + const double t802 = -t729 + t754 + t225 * ( -0.3109e-1 * t757 * t325 + 0.1e1 * t762 * t771 + t729 - t754 - 0.19751789702565206229e-1 * t777 + 0.58482233974552040708e0 * t781 * t790 ) + 0.19751789702565206229e-1 * t225 * t777 - 0.58482233974552040708e0 * t797 * t799; + const double t806 = piecewise_functor_3( t109, 0.0, t110 * t802 / 0.2e1 + t556 * t345 / 0.2e1 ); + const double t807 = t806 * t374; + const double t808 = t187 * t591; + const double t811 = 0.11073577833333333333e-2 * t185 * t808 * t392; + const double t812 = t388 * t388; + const double t813 = 0.1e1 / t812; + const double t814 = t379 * t813; + const double t816 = 0.1e1 / t380 * t28; + const double t818 = t817 * t591; + const double t819 = t816 * t818; + const double t821 = t185 * t808; + const double t823 = safe_math::sqrt( t377 ); + const double t824 = t823 * t28; + const double t825 = t824 * t818; + const double t828 = t205 * t186 * t620; + const double t830 = -0.632975e0 * t819 - 0.29896666666666666667e0 * t821 - 0.1023875e0 * t825 - 0.82156666666666666667e-1 * t828; + const double t831 = 0.1e1 / t391; + const double t832 = t830 * t831; + const double t834 = 0.1e1 * t814 * t832; + const double t835 = t395 * t2; + const double t836 = t835 * t399; + const double t838 = 0.4e1 * t836 * t434; + const double t839 = t398 * t3; + const double t840 = 0.1e1 / t839; + const double t841 = t396 * t840; + const double t843 = 0.4e1 * t841 * t434; + const double t846 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t191 * t474 ); + const double t849 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.3e1 * t292 * t555 ); + const double t851 = ( t846 + t849 ) * t224; + const double t852 = t851 * t433; + const double t857 = t413 * t413; + const double t858 = 0.1e1 / t857; + const double t859 = t408 * t858; + const double t864 = -0.1176575e1 * t819 - 0.516475e0 * t821 - 0.2103875e0 * t825 - 0.104195e0 * t828; + const double t865 = 0.1e1 / t416; + const double t866 = t864 * t865; + const double t872 = t426 * t426; + const double t873 = 0.1e1 / t872; + const double t874 = t421 * t873; + const double t879 = -0.86308333333333333334e0 * t819 - 0.301925e0 * t821 - 0.5501625e-1 * t825 - 0.82785e-1 * t828; + const double t880 = 0.1e1 / t429; + const double t881 = t879 * t880; + const double t884 = 0.53236443333333333332e-3 * t185 * t808 * t417 + 0.1e1 * t859 * t866 - t811 - t834 + 0.18311555036753159941e-3 * t185 * t808 * t430 + 0.58482233974552040708e0 * t874 * t881; + const double t885 = t406 * t884; + const double t886 = t400 * t885; + const double t889 = t406 * t28; + const double t891 = t817 * t591 * t430; + const double t893 = 0.18311555036753159941e-3 * t889 * t891; + const double t894 = t406 * t421; + const double t896 = t873 * t879 * t880; + const double t898 = 0.58482233974552040708e0 * t894 * t896; + const double t899 = t811 + t834 + t838 - t843 + t400 * t852 + t886 + 0.19751789702565206229e-1 * t851 * t431 - t893 - t898 - t685 - t806; + const double t900 = t899 * t470; + const double t901 = t440 * sigma_aa; + const double t905 = t453 * sigma_aa; + const double t906 = t905 * t513; + const double t909 = t449 * t441; + const double t912 = t460 * sigma_aa; + const double t913 = t912 * t513; + const double t916 = t456 * t450; + const double t919 = t467 * sigma_aa; + const double t920 = t919 * t513; + const double t923 = t463 * t457; + const double t927 = 0.1e1 / t466 / t445; + const double t928 = t927 * sigma_aa; + const double t932 = -0.8e-2 * t901 * t513 * t446 + 0.24e-4 * t442 * t906 - 0.48e-4 * t909 * t906 + 0.144e-6 * t451 * t913 - 0.216e-6 * t916 * t913 + 0.648e-9 * t458 * t920 - 0.864e-9 * t923 * t920 + 0.2592e-11 * t465 * t928 * t513; + const double t933 = t438 * t932; + const double t936 = -t4 - t473; + const double t937 = piecewise_functor_3( t7, 0.0, t936 ); + const double t941 = piecewise_functor_3( t12, 0.0, t484 * t485 / 0.6e1 ); + const double t942 = t481 * t941; + const double t947 = piecewise_functor_3( t27, 0.0, -t480 + 0.3e1 / 0.16e2 * t32 * t38 * t942 ); + const double t952 = piecewise_functor_3( t44, 0.0, -t499 + 0.3e1 / 0.16e2 * t32 * t47 * t942 ); + const double t953 = t947 + t952; + const double t957 = piecewise_functor_3( t8, 0.0, t937 * t52 / 0.2e1 + t9 * t953 / 0.2e1 ); + const double t958 = t957 * t104; + const double t959 = -t936; + const double t960 = piecewise_functor_3( t108, 0.0, t959 ); + const double t962 = t4 - t565; + const double t965 = piecewise_functor_3( t113, 0.0, -t564 * t962 / 0.6e1 ); + const double t966 = t561 * t965; + const double t971 = piecewise_functor_3( t124, 0.0, -t560 + 0.3e1 / 0.16e2 * t32 * t38 * t966 ); + const double t976 = piecewise_functor_3( t44, 0.0, -t577 + 0.3e1 / 0.16e2 * t32 * t47 * t966 ); + const double t977 = t971 + t976; + const double t981 = piecewise_functor_3( t109, 0.0, t110 * t977 / 0.2e1 + t960 * t134 / 0.2e1 ); + const double t982 = t981 * t181; + const double t983 = t139 * rho_b; + const double t985 = 0.1e1 / t141 / t983; + const double t989 = t57 * t151; + const double t990 = t153 * t139; + const double t992 = 0.1e1 / t140 / t990; + const double t993 = t992 * t158; + const double t998 = t71 * t162; + const double t999 = t164 * rho_b; + const double t1000 = 0.1e1 / t999; + const double t1001 = t1000 * t167; + const double t1006 = t83 * t171; + const double t1007 = t164 * t983; + const double t1009 = 0.1e1 / t141 / t1007; + const double t1010 = t1009 * t177; + const double t1015 = t171 * sigma_bb; + const double t1016 = t93 * t1015; + const double t1017 = t164 * t990; + const double t1019 = 0.1e1 / t140 / t1017; + const double t1021 = 0.1e1 / t176 / t146; + const double t1022 = t1019 * t1021; + const double t1025 = -0.10666666666666666667e-1 * t138 * t985 * t147 + 0.42666666666666666668e-4 * t989 * t993 - 0.85333333333333333333e-4 * t152 * t993 + 0.34133333333333333334e-6 * t998 * t1001 - 0.512e-6 * t163 * t1001 + 0.20480000000000000001e-8 * t1006 * t1010 - 0.27306666666666666667e-8 * t172 * t1010 + 0.10922666666666666667e-10 * t1016 * t1022; + const double t1026 = t137 * t1025; + const double t1030 = piecewise_functor_3( t7, 0.0, -t596 * t936 / 0.3e1 ); + const double t1032 = t188 * t190 * t1030; + const double t1034 = -t595 + 0.53425e-1 * t1032; + const double t1036 = 0.62182e-1 * t1034 * t218; + const double t1037 = -t610 + t1032; + const double t1038 = t609 * t1037; + const double t1041 = t616 * t1037; + const double t1043 = t193 * t1030; + const double t1045 = t206 * t209 * t1043; + const double t1047 = 0.1898925e1 * t1038 - t614 + 0.8969e0 * t1032 + 0.3071625e0 * t1041 - t624 + 0.24647e0 * t1045; + const double t1048 = t1047 * t630; + const double t1050 = 0.1e1 * t608 * t1048; + const double t1052 = -t634 + 0.5137e-1 * t1032; + const double t1059 = 0.3529725e1 * t1038 - t643 + 0.1549425e1 * t1032 + 0.6311625e0 * t1041 - t646 + 0.312585e0 * t1045; + const double t1060 = t1059 * t649; + const double t1064 = -t653 + 0.278125e-1 * t1032; + const double t1065 = t1064 * t249; + const double t1071 = 0.258925e1 * t1038 - t662 + 0.905775e0 * t1032 + 0.16504875e0 * t1041 - t665 + 0.248355e0 * t1045; + const double t1072 = t1071 * t668; + const double t1080 = t659 * t1071 * t668; + const double t1083 = -t1036 + t1050 + t225 * ( -0.3109e-1 * t1052 * t236 + 0.1e1 * t641 * t1060 + t1036 - t1050 - 0.19751789702565206229e-1 * t1065 + 0.58482233974552040708e0 * t660 * t1072 ) + 0.19751789702565206229e-1 * t225 * t1065 - 0.58482233974552040708e0 * t676 * t1080; + const double t1087 = piecewise_functor_3( t8, 0.0, t9 * t1083 / 0.2e1 + t937 * t256 / 0.2e1 ); + const double t1088 = t1087 * t290; + const double t1092 = piecewise_functor_3( t108, 0.0, -t720 * t959 / 0.3e1 ); + const double t1094 = t188 * t190 * t1092; + const double t1096 = -t719 + 0.53425e-1 * t1094; + const double t1098 = 0.62182e-1 * t1096 * t312; + const double t1099 = -t734 + t1094; + const double t1100 = t733 * t1099; + const double t1103 = t740 * t1099; + const double t1105 = t294 * t1092; + const double t1107 = t206 * t209 * t1105; + const double t1109 = 0.1898925e1 * t1100 - t738 + 0.8969e0 * t1094 + 0.3071625e0 * t1103 - t745 + 0.24647e0 * t1107; + const double t1110 = t1109 * t751; + const double t1112 = 0.1e1 * t732 * t1110; + const double t1114 = -t755 + 0.5137e-1 * t1094; + const double t1121 = 0.3529725e1 * t1100 - t764 + 0.1549425e1 * t1094 + 0.6311625e0 * t1103 - t767 + 0.312585e0 * t1107; + const double t1122 = t1121 * t770; + const double t1126 = -t774 + 0.278125e-1 * t1094; + const double t1127 = t1126 * t338; + const double t1133 = 0.258925e1 * t1100 - t783 + 0.905775e0 * t1094 + 0.16504875e0 * t1103 - t786 + 0.248355e0 * t1107; + const double t1134 = t1133 * t789; + const double t1142 = t780 * t1133 * t789; + const double t1145 = -t1098 + t1112 + t225 * ( -0.3109e-1 * t1114 * t325 + 0.1e1 * t762 * t1122 + t1098 - t1112 - 0.19751789702565206229e-1 * t1127 + 0.58482233974552040708e0 * t781 * t1134 ) + 0.19751789702565206229e-1 * t225 * t1127 - 0.58482233974552040708e0 * t797 * t1142; + const double t1149 = piecewise_functor_3( t109, 0.0, t110 * t1145 / 0.2e1 + t960 * t345 / 0.2e1 ); + const double t1150 = t1149 * t374; + const double t1154 = t261 * t151; + const double t1155 = t992 * t358; + const double t1160 = t269 * t162; + const double t1161 = t1000 * t364; + const double t1166 = t276 * t171; + const double t1167 = t1009 * t370; + const double t1172 = t283 * t1015; + const double t1174 = 0.1e1 / t369 / t351; + const double t1175 = t1019 * t1174; + const double t1178 = -0.53333333333333333333e0 * t349 * t985 * t352 + 0.10666666666666666667e0 * t1154 * t1155 - 0.21333333333333333333e0 * t356 * t1155 + 0.42666666666666666668e-1 * t1160 * t1161 - 0.64e-1 * t362 * t1161 + 0.128e-1 * t1166 * t1167 - 0.17066666666666666667e-1 * t368 * t1167 + 0.34133333333333333333e-2 * t1172 * t1175; + const double t1179 = t348 * t1178; + const double t1182 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t191 * t936 ); + const double t1185 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.3e1 * t292 * t959 ); + const double t1187 = ( t1182 + t1185 ) * t224; + const double t1188 = t1187 * t433; + const double t1192 = t811 + t834 - t838 - t843 + t400 * t1188 + t886 + 0.19751789702565206229e-1 * t1187 * t431 - t893 - t898 - t1087 - t1149; + const double t1193 = t1192 * t470; + const double t1194 = t440 * sigma_bb; + const double t1198 = t453 * sigma_bb; + const double t1199 = t1198 * t985; + const double t1204 = t460 * sigma_bb; + const double t1205 = t1204 * t985; + const double t1210 = t467 * sigma_bb; + const double t1211 = t1210 * t985; + const double t1216 = t927 * sigma_bb; + const double t1220 = -0.8e-2 * t1194 * t985 * t446 + 0.24e-4 * t442 * t1199 - 0.48e-4 * t909 * t1199 + 0.144e-6 * t451 * t1205 - 0.216e-6 * t916 * t1205 + 0.648e-9 * t458 * t1211 - 0.864e-9 * t923 * t1211 + 0.2592e-11 * t465 * t1216 * t985; + const double t1221 = t438 * t1220; + const double t1229 = t71 * sigma_aa; + const double t1234 = t83 * t72; + const double t1239 = t93 * t84; + const double t1242 = t86 * t75; + const double t1244 = 0.1e1 / t60 / t1242; + const double t1245 = t1244 * t549; + const double t1248 = 0.4e-2 * t57 * t63 * t67 - 0.16e-4 * t58 * t80 + 0.32e-4 * t1229 * t80 - 0.128e-6 * t73 * t90 + 0.192e-6 * t1234 * t90 - 0.768e-9 * t85 * t101 + 0.1024e-8 * t1239 * t101 - 0.4096e-11 * t95 * t1245; + const double t1249 = t55 * t1248; + const double t1255 = t269 * sigma_aa; + const double t1260 = t276 * t72; + const double t1265 = t283 * t84; + const double t1268 = t1244 * t710; + const double t1271 = 0.2e0 * t261 * t63 * t265 - 0.4e-1 * t262 * t273 + 0.8e-1 * t1255 * t273 - 0.16e-1 * t270 * t280 + 0.24e-1 * t1260 * t280 - 0.48e-2 * t277 * t287 + 0.64e-2 * t1265 * t287 - 0.128e-2 * t284 * t1268; + const double t1272 = t259 * t1271; + const double t1273 = t440 * t63; + const double t1276 = t453 * t63; + const double t1281 = t460 * t63; + const double t1286 = t467 * t63; + const double t1294 = 0.3e-2 * t1273 * t446 - 0.9e-5 * t442 * t1276 + 0.18e-4 * t909 * t1276 - 0.54e-7 * t451 * t1281 + 0.81e-7 * t916 * t1281 - 0.243e-9 * t458 * t1286 + 0.324e-9 * t923 * t1286 - 0.972e-12 * t465 * t927 * t63; + const double t1295 = t438 * t1294; + const double t1302 = t71 * sigma_bb; + const double t1307 = t83 * t151; + const double t1312 = t93 * t162; + const double t1315 = t164 * t154; + const double t1317 = 0.1e1 / t140 / t1315; + const double t1318 = t1317 * t1021; + const double t1321 = 0.4e-2 * t57 * t143 * t147 - 0.16e-4 * t138 * t159 + 0.32e-4 * t1302 * t159 - 0.128e-6 * t152 * t168 + 0.192e-6 * t1307 * t168 - 0.768e-9 * t163 * t178 + 0.1024e-8 * t1312 * t178 - 0.4096e-11 * t172 * t1318; + const double t1322 = t137 * t1321; + const double t1328 = t269 * sigma_bb; + const double t1333 = t276 * t151; + const double t1338 = t283 * t162; + const double t1341 = t1317 * t1174; + const double t1344 = 0.2e0 * t261 * t143 * t352 - 0.4e-1 * t349 * t359 + 0.8e-1 * t1328 * t359 - 0.16e-1 * t356 * t365 + 0.24e-1 * t1333 * t365 - 0.48e-2 * t362 * t371 + 0.64e-2 * t1338 * t371 - 0.128e-2 * t368 * t1341; + const double t1345 = t348 * t1344; + const double t1346 = t440 * t143; + const double t1349 = t453 * t143; + const double t1354 = t460 * t143; + const double t1359 = t467 * t143; + const double t1364 = t927 * t143; + const double t1367 = 0.3e-2 * t1346 * t446 - 0.9e-5 * t442 * t1349 + 0.18e-4 * t909 * t1349 - 0.54e-7 * t451 * t1354 + 0.81e-7 * t916 * t1354 - 0.243e-9 * t458 * t1359 + 0.324e-9 * t923 * t1359 - 0.972e-12 * t465 * t1364; + const double t1368 = t438 * t1367; + + + eps = t105 + t182 + t291 + t375 + t471; + vrho_a = t105 + t182 + t291 + t375 + t471 + t3 * ( t510 + t554 + t588 + t686 + t715 + t807 + t900 + t933 ); + vrho_b = t105 + t182 + t291 + t375 + t471 + t3 * ( t958 + t982 + t1026 + t1088 + t1150 + t1179 + t1193 + t1221 ); + vsigma_aa = t3 * ( t1249 + t1272 + t1295 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1322 + t1345 + t1368 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t15 = constants::m_cbrt_2; + constexpr double t28 = constants::m_cbrt_3; + constexpr double t29 = constants::m_cbrt_pi; + constexpr double t184 = constants::m_cbrt_one_ov_pi; + constexpr double t186 = constants::m_cbrt_4; + constexpr double t16 = t15 * t15; + constexpr double t31 = t28 / t29; + constexpr double t32 = t31 * t16; + constexpr double t56 = c_x_0; + constexpr double t57 = c_x_1; + constexpr double t71 = c_x_2; + constexpr double t83 = c_x_3; + constexpr double t93 = c_x_4; + constexpr double t185 = t28 * t184; + constexpr double t187 = t186 * t186; + constexpr double t188 = t185 * t187; + constexpr double t203 = t28 * t28; + constexpr double t204 = t184 * t184; + constexpr double t205 = t203 * t204; + constexpr double t206 = t205 * t186; + constexpr double t260 = c_ss_0; + constexpr double t261 = c_ss_1; + constexpr double t269 = c_ss_2; + constexpr double t276 = c_ss_3; + constexpr double t283 = c_ss_4; + constexpr double t440 = c_ab_1; + constexpr double t449 = c_ab_2; + constexpr double t456 = c_ab_3; + constexpr double t463 = c_ab_4; + constexpr double t817 = t184 * t187; + constexpr double t1963 = t204 * t186; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t10 = rho_a * t4; + const double t12 = 0.2e1 * t10 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( t10 ); + const double t21 = piecewise_functor_3( t12, t14, t16 / t17 / 0.2e1 ); + const double t22 = t21 * t21; + const double t24 = 0.1e1 / t22 / t21; + const double t27 = t3 * t24 / 0.2e1 <= dens_tol; + const double t34 = t13 * zeta_tol; + const double t36 = piecewise_functor_3( 0.2e1 <= zeta_tol, t34, 0.2e1 * t15 ); + const double t37 = safe_math::cbrt( t3 ); + const double t38 = t36 * t37; + const double t39 = 0.1e1 / t21; + const double t43 = piecewise_functor_3( t27, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t39 ); + const double t44 = 0.e0 <= dens_tol; + const double t46 = piecewise_functor_3( 0.e0 <= zeta_tol, t34, 0.0 ); + const double t47 = t46 * t37; + const double t51 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t39 ); + const double t52 = t43 + t51; + const double t55 = piecewise_functor_3( t8, 0.0, t9 * t52 / 0.2e1 ); + const double t58 = t57 * sigma_aa; + const double t59 = rho_a * rho_a; + const double t60 = safe_math::cbrt( rho_a ); + const double t61 = t60 * t60; + const double t63 = 0.1e1 / t61 / t59; + const double t64 = sigma_aa * t63; + const double t66 = 0.1e1 + 0.4e-2 * t64; + const double t67 = 0.1e1 / t66; + const double t72 = sigma_aa * sigma_aa; + const double t73 = t71 * t72; + const double t74 = t59 * t59; + const double t75 = t74 * rho_a; + const double t77 = 0.1e1 / t60 / t75; + const double t78 = t66 * t66; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t84 = t72 * sigma_aa; + const double t85 = t83 * t84; + const double t86 = t74 * t74; + const double t87 = 0.1e1 / t86; + const double t88 = t78 * t66; + const double t89 = 0.1e1 / t88; + const double t90 = t87 * t89; + const double t94 = t72 * t72; + const double t95 = t93 * t94; + const double t96 = t86 * t59; + const double t98 = 0.1e1 / t61 / t96; + const double t99 = t78 * t78; + const double t100 = 0.1e1 / t99; + const double t101 = t98 * t100; + const double t104 = t56 + 0.4e-2 * t58 * t63 * t67 + 0.16e-4 * t73 * t80 + 0.64e-7 * t85 * t90 + 0.256e-9 * t95 * t101; + const double t107 = 0.1e1 - t5; + const double t108 = t107 <= zeta_tol; + const double t109 = rho_b <= dens_tol || t108; + const double t110 = piecewise_functor_3( t108, zeta_tol, t107 ); + const double t111 = rho_b * t4; + const double t113 = 0.2e1 * t111 <= zeta_tol; + const double t114 = safe_math::cbrt( t111 ); + const double t118 = piecewise_functor_3( t113, t14, t16 / t114 / 0.2e1 ); + const double t119 = t118 * t118; + const double t121 = 0.1e1 / t119 / t118; + const double t124 = t3 * t121 / 0.2e1 <= dens_tol; + const double t125 = 0.1e1 / t118; + const double t129 = piecewise_functor_3( t124, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t125 ); + const double t133 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t125 ); + const double t134 = t129 + t133; + const double t137 = piecewise_functor_3( t109, 0.0, t110 * t134 / 0.2e1 ); + const double t138 = t57 * sigma_bb; + const double t139 = rho_b * rho_b; + const double t140 = safe_math::cbrt( rho_b ); + const double t141 = t140 * t140; + const double t143 = 0.1e1 / t141 / t139; + const double t144 = sigma_bb * t143; + const double t146 = 0.1e1 + 0.4e-2 * t144; + const double t147 = 0.1e1 / t146; + const double t151 = sigma_bb * sigma_bb; + const double t152 = t71 * t151; + const double t153 = t139 * t139; + const double t154 = t153 * rho_b; + const double t156 = 0.1e1 / t140 / t154; + const double t157 = t146 * t146; + const double t158 = 0.1e1 / t157; + const double t159 = t156 * t158; + const double t162 = t151 * sigma_bb; + const double t163 = t83 * t162; + const double t164 = t153 * t153; + const double t165 = 0.1e1 / t164; + const double t166 = t157 * t146; + const double t167 = 0.1e1 / t166; + const double t168 = t165 * t167; + const double t171 = t151 * t151; + const double t172 = t93 * t171; + const double t173 = t164 * t139; + const double t175 = 0.1e1 / t141 / t173; + const double t176 = t157 * t157; + const double t177 = 0.1e1 / t176; + const double t178 = t175 * t177; + const double t181 = t56 + 0.4e-2 * t138 * t143 * t147 + 0.16e-4 * t152 * t159 + 0.64e-7 * t163 * t168 + 0.256e-9 * t172 * t178; + const double t189 = 0.1e1 / t37; + const double t190 = t189 * t15; + const double t191 = safe_math::cbrt( t6 ); + const double t193 = piecewise_functor_3( t7, t14, 0.1e1 / t191 ); + const double t195 = t188 * t190 * t193; + const double t197 = 0.1e1 + 0.53425e-1 * t195; + const double t198 = safe_math::sqrt( t195 ); + const double t201 = pow_3_2( t195 ); + const double t207 = t37 * t37; + const double t208 = 0.1e1 / t207; + const double t209 = t208 * t16; + const double t210 = t193 * t193; + const double t212 = t206 * t209 * t210; + const double t214 = 0.379785e1 * t198 + 0.8969e0 * t195 + 0.204775e0 * t201 + 0.123235e0 * t212; + const double t217 = 0.1e1 + 0.16081824322151104822e2 / t214; + const double t218 = safe_math::log( t217 ); + const double t220 = 0.62182e-1 * t197 * t218; + const double t224 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t225 = ( t36 + t46 - 0.2e1 ) * t224; + const double t227 = 0.1e1 + 0.5137e-1 * t195; + const double t232 = 0.705945e1 * t198 + 0.1549425e1 * t195 + 0.420775e0 * t201 + 0.1562925e0 * t212; + const double t235 = 0.1e1 + 0.32164683177870697974e2 / t232; + const double t236 = safe_math::log( t235 ); + const double t240 = 0.1e1 + 0.278125e-1 * t195; + const double t245 = 0.51785e1 * t198 + 0.905775e0 * t195 + 0.1100325e0 * t201 + 0.1241775e0 * t212; + const double t248 = 0.1e1 + 0.29608574643216675549e2 / t245; + const double t249 = safe_math::log( t248 ); + const double t250 = t240 * t249; + const double t256 = -t220 + t225 * ( -0.3109e-1 * t227 * t236 + t220 - 0.19751789702565206229e-1 * t250 ) + 0.19751789702565206229e-1 * t225 * t250; + const double t259 = piecewise_functor_3( t8, 0.0, t9 * t256 / 0.2e1 ); + const double t262 = t261 * sigma_aa; + const double t264 = 0.1e1 + 0.2e0 * t64; + const double t265 = 0.1e1 / t264; + const double t270 = t269 * t72; + const double t271 = t264 * t264; + const double t272 = 0.1e1 / t271; + const double t273 = t77 * t272; + const double t277 = t276 * t84; + const double t278 = t271 * t264; + const double t279 = 0.1e1 / t278; + const double t280 = t87 * t279; + const double t284 = t283 * t94; + const double t285 = t271 * t271; + const double t286 = 0.1e1 / t285; + const double t287 = t98 * t286; + const double t290 = t260 + 0.2e0 * t262 * t63 * t265 + 0.4e-1 * t270 * t273 + 0.8e-2 * t277 * t280 + 0.16e-2 * t284 * t287; + const double t292 = safe_math::cbrt( t107 ); + const double t294 = piecewise_functor_3( t108, t14, 0.1e1 / t292 ); + const double t296 = t188 * t190 * t294; + const double t298 = 0.1e1 + 0.53425e-1 * t296; + const double t299 = safe_math::sqrt( t296 ); + const double t302 = pow_3_2( t296 ); + const double t304 = t294 * t294; + const double t306 = t206 * t209 * t304; + const double t308 = 0.379785e1 * t299 + 0.8969e0 * t296 + 0.204775e0 * t302 + 0.123235e0 * t306; + const double t311 = 0.1e1 + 0.16081824322151104822e2 / t308; + const double t312 = safe_math::log( t311 ); + const double t314 = 0.62182e-1 * t298 * t312; + const double t316 = 0.1e1 + 0.5137e-1 * t296; + const double t321 = 0.705945e1 * t299 + 0.1549425e1 * t296 + 0.420775e0 * t302 + 0.1562925e0 * t306; + const double t324 = 0.1e1 + 0.32164683177870697974e2 / t321; + const double t325 = safe_math::log( t324 ); + const double t329 = 0.1e1 + 0.278125e-1 * t296; + const double t334 = 0.51785e1 * t299 + 0.905775e0 * t296 + 0.1100325e0 * t302 + 0.1241775e0 * t306; + const double t337 = 0.1e1 + 0.29608574643216675549e2 / t334; + const double t338 = safe_math::log( t337 ); + const double t339 = t329 * t338; + const double t345 = -t314 + t225 * ( -0.3109e-1 * t316 * t325 + t314 - 0.19751789702565206229e-1 * t339 ) + 0.19751789702565206229e-1 * t225 * t339; + const double t348 = piecewise_functor_3( t109, 0.0, t110 * t345 / 0.2e1 ); + const double t349 = t261 * sigma_bb; + const double t351 = 0.1e1 + 0.2e0 * t144; + const double t352 = 0.1e1 / t351; + const double t356 = t269 * t151; + const double t357 = t351 * t351; + const double t358 = 0.1e1 / t357; + const double t359 = t156 * t358; + const double t362 = t276 * t162; + const double t363 = t357 * t351; + const double t364 = 0.1e1 / t363; + const double t365 = t165 * t364; + const double t368 = t283 * t171; + const double t369 = t357 * t357; + const double t370 = 0.1e1 / t369; + const double t371 = t175 * t370; + const double t374 = t260 + 0.2e0 * t349 * t143 * t352 + 0.4e-1 * t356 * t359 + 0.8e-2 * t362 * t365 + 0.16e-2 * t368 * t371; + const double t377 = t185 * t187 * t189; + const double t379 = 0.1e1 + 0.53425e-1 * t377; + const double t380 = safe_math::sqrt( t377 ); + const double t383 = pow_3_2( t377 ); + const double t386 = t205 * t186 * t208; + const double t388 = 0.379785e1 * t380 + 0.8969e0 * t377 + 0.204775e0 * t383 + 0.123235e0 * t386; + const double t391 = 0.1e1 + 0.16081824322151104822e2 / t388; + const double t392 = safe_math::log( t391 ); + const double t394 = 0.62182e-1 * t379 * t392; + const double t395 = t2 * t2; + const double t396 = t395 * t395; + const double t397 = t3 * t3; + const double t398 = t397 * t397; + const double t399 = 0.1e1 / t398; + const double t400 = t396 * t399; + const double t401 = t191 * t6; + const double t402 = piecewise_functor_3( t7, t34, t401 ); + const double t403 = t292 * t107; + const double t404 = piecewise_functor_3( t108, t34, t403 ); + const double t405 = t402 + t404 - 0.2e1; + const double t406 = t405 * t224; + const double t408 = 0.1e1 + 0.5137e-1 * t377; + const double t413 = 0.705945e1 * t380 + 0.1549425e1 * t377 + 0.420775e0 * t383 + 0.1562925e0 * t386; + const double t416 = 0.1e1 + 0.32164683177870697974e2 / t413; + const double t417 = safe_math::log( t416 ); + const double t421 = 0.1e1 + 0.278125e-1 * t377; + const double t426 = 0.51785e1 * t380 + 0.905775e0 * t377 + 0.1100325e0 * t383 + 0.1241775e0 * t386; + const double t429 = 0.1e1 + 0.29608574643216675549e2 / t426; + const double t430 = safe_math::log( t429 ); + const double t431 = t421 * t430; + const double t433 = -0.3109e-1 * t408 * t417 + t394 - 0.19751789702565206229e-1 * t431; + const double t434 = t406 * t433; + const double t438 = -t394 + t400 * t434 + 0.19751789702565206229e-1 * t406 * t431 - t259 - t348; + const double t441 = t64 + t144; + const double t442 = t440 * t441; + const double t445 = 0.1e1 + 0.3e-2 * t64 + 0.3e-2 * t144; + const double t446 = 0.1e1 / t445; + const double t450 = t441 * t441; + const double t451 = t449 * t450; + const double t452 = t445 * t445; + const double t453 = 0.1e1 / t452; + const double t457 = t450 * t441; + const double t458 = t456 * t457; + const double t459 = t452 * t445; + const double t460 = 0.1e1 / t459; + const double t464 = t450 * t450; + const double t465 = t463 * t464; + const double t466 = t452 * t452; + const double t467 = 0.1e1 / t466; + const double t470 = c_ab_0 + 0.3e-2 * t442 * t446 + 0.9e-5 * t451 * t453 + 0.27e-7 * t458 * t460 + 0.81e-10 * t465 * t467; + const double t472 = 0.1e1 / t397; + const double t473 = t2 * t472; + const double t474 = t4 - t473; + const double t475 = piecewise_functor_3( t7, 0.0, t474 ); + const double t477 = t36 * t208; + const double t480 = t32 * t477 * t39 / 0.16e2; + const double t481 = 0.1e1 / t22; + const double t484 = t16 / t17 / t10; + const double t485 = rho_a * t472; + const double t486 = t4 - t485; + const double t489 = piecewise_functor_3( t12, 0.0, -t484 * t486 / 0.6e1 ); + const double t490 = t481 * t489; + const double t495 = piecewise_functor_3( t27, 0.0, -t480 + 0.3e1 / 0.16e2 * t32 * t38 * t490 ); + const double t496 = t46 * t208; + const double t499 = t32 * t496 * t39 / 0.16e2; + const double t504 = piecewise_functor_3( t44, 0.0, -t499 + 0.3e1 / 0.16e2 * t32 * t47 * t490 ); + const double t505 = t495 + t504; + const double t509 = piecewise_functor_3( t8, 0.0, t475 * t52 / 0.2e1 + t9 * t505 / 0.2e1 ); + const double t510 = t509 * t104; + const double t511 = t59 * rho_a; + const double t513 = 0.1e1 / t61 / t511; + const double t517 = t57 * t72; + const double t518 = t74 * t59; + const double t520 = 0.1e1 / t60 / t518; + const double t521 = t520 * t79; + const double t526 = t71 * t84; + const double t527 = t86 * rho_a; + const double t528 = 0.1e1 / t527; + const double t529 = t528 * t89; + const double t534 = t83 * t94; + const double t535 = t86 * t511; + const double t537 = 0.1e1 / t61 / t535; + const double t538 = t537 * t100; + const double t543 = t94 * sigma_aa; + const double t544 = t93 * t543; + const double t545 = t86 * t518; + const double t547 = 0.1e1 / t60 / t545; + const double t549 = 0.1e1 / t99 / t66; + const double t550 = t547 * t549; + const double t553 = -0.10666666666666666667e-1 * t58 * t513 * t67 + 0.42666666666666666668e-4 * t517 * t521 - 0.85333333333333333333e-4 * t73 * t521 + 0.34133333333333333334e-6 * t526 * t529 - 0.512e-6 * t85 * t529 + 0.20480000000000000001e-8 * t534 * t538 - 0.27306666666666666667e-8 * t95 * t538 + 0.10922666666666666667e-10 * t544 * t550; + const double t554 = t55 * t553; + const double t555 = -t474; + const double t556 = piecewise_functor_3( t108, 0.0, t555 ); + const double t560 = t32 * t477 * t125 / 0.16e2; + const double t561 = 0.1e1 / t119; + const double t564 = t16 / t114 / t111; + const double t565 = rho_b * t472; + const double t568 = piecewise_functor_3( t113, 0.0, t564 * t565 / 0.6e1 ); + const double t569 = t561 * t568; + const double t574 = piecewise_functor_3( t124, 0.0, -t560 + 0.3e1 / 0.16e2 * t32 * t38 * t569 ); + const double t577 = t32 * t496 * t125 / 0.16e2; + const double t582 = piecewise_functor_3( t44, 0.0, -t577 + 0.3e1 / 0.16e2 * t32 * t47 * t569 ); + const double t583 = t574 + t582; + const double t587 = piecewise_functor_3( t109, 0.0, t110 * t583 / 0.2e1 + t556 * t134 / 0.2e1 ); + const double t588 = t587 * t181; + const double t591 = 0.1e1 / t37 / t3; + const double t592 = t591 * t15; + const double t594 = t188 * t592 * t193; + const double t595 = 0.17808333333333333333e-1 * t594; + const double t596 = 0.1e1 / t401; + const double t599 = piecewise_functor_3( t7, 0.0, -t596 * t474 / 0.3e1 ); + const double t601 = t188 * t190 * t599; + const double t603 = -t595 + 0.53425e-1 * t601; + const double t605 = 0.62182e-1 * t603 * t218; + const double t606 = t214 * t214; + const double t607 = 0.1e1 / t606; + const double t608 = t197 * t607; + const double t609 = 0.1e1 / t198; + const double t610 = t594 / 0.3e1; + const double t611 = -t610 + t601; + const double t612 = t609 * t611; + const double t614 = 0.29896666666666666667e0 * t594; + const double t616 = safe_math::sqrt( t195 ); + const double t617 = t616 * t611; + const double t620 = 0.1e1 / t207 / t3; + const double t621 = t620 * t16; + const double t623 = t206 * t621 * t210; + const double t624 = 0.82156666666666666667e-1 * t623; + const double t625 = t193 * t599; + const double t627 = t206 * t209 * t625; + const double t629 = 0.1898925e1 * t612 - t614 + 0.8969e0 * t601 + 0.3071625e0 * t617 - t624 + 0.24647e0 * t627; + const double t630 = 0.1e1 / t217; + const double t631 = t629 * t630; + const double t633 = 0.1e1 * t608 * t631; + const double t634 = 0.17123333333333333333e-1 * t594; + const double t636 = -t634 + 0.5137e-1 * t601; + const double t639 = t232 * t232; + const double t640 = 0.1e1 / t639; + const double t641 = t227 * t640; + const double t643 = 0.516475e0 * t594; + const double t646 = 0.104195e0 * t623; + const double t648 = 0.3529725e1 * t612 - t643 + 0.1549425e1 * t601 + 0.6311625e0 * t617 - t646 + 0.312585e0 * t627; + const double t649 = 0.1e1 / t235; + const double t650 = t648 * t649; + const double t653 = 0.92708333333333333333e-2 * t594; + const double t655 = -t653 + 0.278125e-1 * t601; + const double t656 = t655 * t249; + const double t658 = t245 * t245; + const double t659 = 0.1e1 / t658; + const double t660 = t240 * t659; + const double t662 = 0.301925e0 * t594; + const double t665 = 0.82785e-1 * t623; + const double t667 = 0.258925e1 * t612 - t662 + 0.905775e0 * t601 + 0.16504875e0 * t617 - t665 + 0.248355e0 * t627; + const double t668 = 0.1e1 / t248; + const double t669 = t667 * t668; + const double t676 = t225 * t240; + const double t678 = t659 * t667 * t668; + const double t681 = -t605 + t633 + t225 * ( -0.3109e-1 * t636 * t236 + 0.1e1 * t641 * t650 + t605 - t633 - 0.19751789702565206229e-1 * t656 + 0.58482233974552040708e0 * t660 * t669 ) + 0.19751789702565206229e-1 * t225 * t656 - 0.58482233974552040708e0 * t676 * t678; + const double t685 = piecewise_functor_3( t8, 0.0, t475 * t256 / 0.2e1 + t9 * t681 / 0.2e1 ); + const double t686 = t685 * t290; + const double t690 = t261 * t72; + const double t691 = t520 * t272; + const double t696 = t269 * t84; + const double t697 = t528 * t279; + const double t702 = t276 * t94; + const double t703 = t537 * t286; + const double t708 = t283 * t543; + const double t710 = 0.1e1 / t285 / t264; + const double t711 = t547 * t710; + const double t714 = -0.53333333333333333333e0 * t262 * t513 * t265 + 0.10666666666666666667e0 * t690 * t691 - 0.21333333333333333333e0 * t270 * t691 + 0.42666666666666666668e-1 * t696 * t697 - 0.64e-1 * t277 * t697 + 0.128e-1 * t702 * t703 - 0.17066666666666666667e-1 * t284 * t703 + 0.34133333333333333333e-2 * t708 * t711; + const double t715 = t259 * t714; + const double t718 = t188 * t592 * t294; + const double t719 = 0.17808333333333333333e-1 * t718; + const double t720 = 0.1e1 / t403; + const double t723 = piecewise_functor_3( t108, 0.0, -t720 * t555 / 0.3e1 ); + const double t725 = t188 * t190 * t723; + const double t727 = -t719 + 0.53425e-1 * t725; + const double t729 = 0.62182e-1 * t727 * t312; + const double t730 = t308 * t308; + const double t731 = 0.1e1 / t730; + const double t732 = t298 * t731; + const double t733 = 0.1e1 / t299; + const double t734 = t718 / 0.3e1; + const double t735 = -t734 + t725; + const double t736 = t733 * t735; + const double t738 = 0.29896666666666666667e0 * t718; + const double t740 = safe_math::sqrt( t296 ); + const double t741 = t740 * t735; + const double t744 = t206 * t621 * t304; + const double t745 = 0.82156666666666666667e-1 * t744; + const double t746 = t294 * t723; + const double t748 = t206 * t209 * t746; + const double t750 = 0.1898925e1 * t736 - t738 + 0.8969e0 * t725 + 0.3071625e0 * t741 - t745 + 0.24647e0 * t748; + const double t751 = 0.1e1 / t311; + const double t752 = t750 * t751; + const double t754 = 0.1e1 * t732 * t752; + const double t755 = 0.17123333333333333333e-1 * t718; + const double t757 = -t755 + 0.5137e-1 * t725; + const double t760 = t321 * t321; + const double t761 = 0.1e1 / t760; + const double t762 = t316 * t761; + const double t764 = 0.516475e0 * t718; + const double t767 = 0.104195e0 * t744; + const double t769 = 0.3529725e1 * t736 - t764 + 0.1549425e1 * t725 + 0.6311625e0 * t741 - t767 + 0.312585e0 * t748; + const double t770 = 0.1e1 / t324; + const double t771 = t769 * t770; + const double t774 = 0.92708333333333333333e-2 * t718; + const double t776 = -t774 + 0.278125e-1 * t725; + const double t777 = t776 * t338; + const double t779 = t334 * t334; + const double t780 = 0.1e1 / t779; + const double t781 = t329 * t780; + const double t783 = 0.301925e0 * t718; + const double t786 = 0.82785e-1 * t744; + const double t788 = 0.258925e1 * t736 - t783 + 0.905775e0 * t725 + 0.16504875e0 * t741 - t786 + 0.248355e0 * t748; + const double t789 = 0.1e1 / t337; + const double t790 = t788 * t789; + const double t797 = t225 * t329; + const double t799 = t780 * t788 * t789; + const double t802 = -t729 + t754 + t225 * ( -0.3109e-1 * t757 * t325 + 0.1e1 * t762 * t771 + t729 - t754 - 0.19751789702565206229e-1 * t777 + 0.58482233974552040708e0 * t781 * t790 ) + 0.19751789702565206229e-1 * t225 * t777 - 0.58482233974552040708e0 * t797 * t799; + const double t806 = piecewise_functor_3( t109, 0.0, t110 * t802 / 0.2e1 + t556 * t345 / 0.2e1 ); + const double t807 = t806 * t374; + const double t808 = t187 * t591; + const double t811 = 0.11073577833333333333e-2 * t185 * t808 * t392; + const double t812 = t388 * t388; + const double t813 = 0.1e1 / t812; + const double t814 = t379 * t813; + const double t816 = 0.1e1 / t380 * t28; + const double t818 = t817 * t591; + const double t819 = t816 * t818; + const double t821 = t185 * t808; + const double t823 = safe_math::sqrt( t377 ); + const double t824 = t823 * t28; + const double t825 = t824 * t818; + const double t828 = t205 * t186 * t620; + const double t830 = -0.632975e0 * t819 - 0.29896666666666666667e0 * t821 - 0.1023875e0 * t825 - 0.82156666666666666667e-1 * t828; + const double t831 = 0.1e1 / t391; + const double t832 = t830 * t831; + const double t834 = 0.1e1 * t814 * t832; + const double t835 = t395 * t2; + const double t836 = t835 * t399; + const double t838 = 0.4e1 * t836 * t434; + const double t839 = t398 * t3; + const double t840 = 0.1e1 / t839; + const double t841 = t396 * t840; + const double t843 = 0.4e1 * t841 * t434; + const double t846 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t191 * t474 ); + const double t849 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.3e1 * t292 * t555 ); + const double t851 = ( t846 + t849 ) * t224; + const double t852 = t851 * t433; + const double t857 = t413 * t413; + const double t858 = 0.1e1 / t857; + const double t859 = t408 * t858; + const double t864 = -0.1176575e1 * t819 - 0.516475e0 * t821 - 0.2103875e0 * t825 - 0.104195e0 * t828; + const double t865 = 0.1e1 / t416; + const double t866 = t864 * t865; + const double t872 = t426 * t426; + const double t873 = 0.1e1 / t872; + const double t874 = t421 * t873; + const double t879 = -0.86308333333333333334e0 * t819 - 0.301925e0 * t821 - 0.5501625e-1 * t825 - 0.82785e-1 * t828; + const double t880 = 0.1e1 / t429; + const double t881 = t879 * t880; + const double t884 = 0.53236443333333333332e-3 * t185 * t808 * t417 + 0.1e1 * t859 * t866 - t811 - t834 + 0.18311555036753159941e-3 * t185 * t808 * t430 + 0.58482233974552040708e0 * t874 * t881; + const double t885 = t406 * t884; + const double t886 = t400 * t885; + const double t889 = t406 * t28; + const double t891 = t817 * t591 * t430; + const double t893 = 0.18311555036753159941e-3 * t889 * t891; + const double t894 = t406 * t421; + const double t896 = t873 * t879 * t880; + const double t898 = 0.58482233974552040708e0 * t894 * t896; + const double t899 = t811 + t834 + t838 - t843 + t400 * t852 + t886 + 0.19751789702565206229e-1 * t851 * t431 - t893 - t898 - t685 - t806; + const double t900 = t899 * t470; + const double t901 = t440 * sigma_aa; + const double t905 = t453 * sigma_aa; + const double t906 = t905 * t513; + const double t909 = t449 * t441; + const double t912 = t460 * sigma_aa; + const double t913 = t912 * t513; + const double t916 = t456 * t450; + const double t919 = t467 * sigma_aa; + const double t920 = t919 * t513; + const double t923 = t463 * t457; + const double t927 = 0.1e1 / t466 / t445; + const double t928 = t927 * sigma_aa; + const double t932 = -0.8e-2 * t901 * t513 * t446 + 0.24e-4 * t442 * t906 - 0.48e-4 * t909 * t906 + 0.144e-6 * t451 * t913 - 0.216e-6 * t916 * t913 + 0.648e-9 * t458 * t920 - 0.864e-9 * t923 * t920 + 0.2592e-11 * t465 * t928 * t513; + const double t933 = t438 * t932; + const double t936 = -t4 - t473; + const double t937 = piecewise_functor_3( t7, 0.0, t936 ); + const double t941 = piecewise_functor_3( t12, 0.0, t484 * t485 / 0.6e1 ); + const double t942 = t481 * t941; + const double t947 = piecewise_functor_3( t27, 0.0, -t480 + 0.3e1 / 0.16e2 * t32 * t38 * t942 ); + const double t952 = piecewise_functor_3( t44, 0.0, -t499 + 0.3e1 / 0.16e2 * t32 * t47 * t942 ); + const double t953 = t947 + t952; + const double t957 = piecewise_functor_3( t8, 0.0, t937 * t52 / 0.2e1 + t9 * t953 / 0.2e1 ); + const double t958 = t957 * t104; + const double t959 = -t936; + const double t960 = piecewise_functor_3( t108, 0.0, t959 ); + const double t962 = t4 - t565; + const double t965 = piecewise_functor_3( t113, 0.0, -t564 * t962 / 0.6e1 ); + const double t966 = t561 * t965; + const double t971 = piecewise_functor_3( t124, 0.0, -t560 + 0.3e1 / 0.16e2 * t32 * t38 * t966 ); + const double t976 = piecewise_functor_3( t44, 0.0, -t577 + 0.3e1 / 0.16e2 * t32 * t47 * t966 ); + const double t977 = t971 + t976; + const double t981 = piecewise_functor_3( t109, 0.0, t110 * t977 / 0.2e1 + t960 * t134 / 0.2e1 ); + const double t982 = t981 * t181; + const double t983 = t139 * rho_b; + const double t985 = 0.1e1 / t141 / t983; + const double t989 = t57 * t151; + const double t990 = t153 * t139; + const double t992 = 0.1e1 / t140 / t990; + const double t993 = t992 * t158; + const double t998 = t71 * t162; + const double t999 = t164 * rho_b; + const double t1000 = 0.1e1 / t999; + const double t1001 = t1000 * t167; + const double t1006 = t83 * t171; + const double t1007 = t164 * t983; + const double t1009 = 0.1e1 / t141 / t1007; + const double t1010 = t1009 * t177; + const double t1015 = t171 * sigma_bb; + const double t1016 = t93 * t1015; + const double t1017 = t164 * t990; + const double t1019 = 0.1e1 / t140 / t1017; + const double t1021 = 0.1e1 / t176 / t146; + const double t1022 = t1019 * t1021; + const double t1025 = -0.10666666666666666667e-1 * t138 * t985 * t147 + 0.42666666666666666668e-4 * t989 * t993 - 0.85333333333333333333e-4 * t152 * t993 + 0.34133333333333333334e-6 * t998 * t1001 - 0.512e-6 * t163 * t1001 + 0.20480000000000000001e-8 * t1006 * t1010 - 0.27306666666666666667e-8 * t172 * t1010 + 0.10922666666666666667e-10 * t1016 * t1022; + const double t1026 = t137 * t1025; + const double t1030 = piecewise_functor_3( t7, 0.0, -t596 * t936 / 0.3e1 ); + const double t1032 = t188 * t190 * t1030; + const double t1034 = -t595 + 0.53425e-1 * t1032; + const double t1036 = 0.62182e-1 * t1034 * t218; + const double t1037 = -t610 + t1032; + const double t1038 = t609 * t1037; + const double t1041 = t616 * t1037; + const double t1043 = t193 * t1030; + const double t1045 = t206 * t209 * t1043; + const double t1047 = 0.1898925e1 * t1038 - t614 + 0.8969e0 * t1032 + 0.3071625e0 * t1041 - t624 + 0.24647e0 * t1045; + const double t1048 = t1047 * t630; + const double t1050 = 0.1e1 * t608 * t1048; + const double t1052 = -t634 + 0.5137e-1 * t1032; + const double t1059 = 0.3529725e1 * t1038 - t643 + 0.1549425e1 * t1032 + 0.6311625e0 * t1041 - t646 + 0.312585e0 * t1045; + const double t1060 = t1059 * t649; + const double t1064 = -t653 + 0.278125e-1 * t1032; + const double t1065 = t1064 * t249; + const double t1071 = 0.258925e1 * t1038 - t662 + 0.905775e0 * t1032 + 0.16504875e0 * t1041 - t665 + 0.248355e0 * t1045; + const double t1072 = t1071 * t668; + const double t1080 = t659 * t1071 * t668; + const double t1083 = -t1036 + t1050 + t225 * ( -0.3109e-1 * t1052 * t236 + 0.1e1 * t641 * t1060 + t1036 - t1050 - 0.19751789702565206229e-1 * t1065 + 0.58482233974552040708e0 * t660 * t1072 ) + 0.19751789702565206229e-1 * t225 * t1065 - 0.58482233974552040708e0 * t676 * t1080; + const double t1087 = piecewise_functor_3( t8, 0.0, t9 * t1083 / 0.2e1 + t937 * t256 / 0.2e1 ); + const double t1088 = t1087 * t290; + const double t1092 = piecewise_functor_3( t108, 0.0, -t720 * t959 / 0.3e1 ); + const double t1094 = t188 * t190 * t1092; + const double t1096 = -t719 + 0.53425e-1 * t1094; + const double t1098 = 0.62182e-1 * t1096 * t312; + const double t1099 = -t734 + t1094; + const double t1100 = t733 * t1099; + const double t1103 = t740 * t1099; + const double t1105 = t294 * t1092; + const double t1107 = t206 * t209 * t1105; + const double t1109 = 0.1898925e1 * t1100 - t738 + 0.8969e0 * t1094 + 0.3071625e0 * t1103 - t745 + 0.24647e0 * t1107; + const double t1110 = t1109 * t751; + const double t1112 = 0.1e1 * t732 * t1110; + const double t1114 = -t755 + 0.5137e-1 * t1094; + const double t1121 = 0.3529725e1 * t1100 - t764 + 0.1549425e1 * t1094 + 0.6311625e0 * t1103 - t767 + 0.312585e0 * t1107; + const double t1122 = t1121 * t770; + const double t1126 = -t774 + 0.278125e-1 * t1094; + const double t1127 = t1126 * t338; + const double t1133 = 0.258925e1 * t1100 - t783 + 0.905775e0 * t1094 + 0.16504875e0 * t1103 - t786 + 0.248355e0 * t1107; + const double t1134 = t1133 * t789; + const double t1142 = t780 * t1133 * t789; + const double t1145 = -t1098 + t1112 + t225 * ( -0.3109e-1 * t1114 * t325 + 0.1e1 * t762 * t1122 + t1098 - t1112 - 0.19751789702565206229e-1 * t1127 + 0.58482233974552040708e0 * t781 * t1134 ) + 0.19751789702565206229e-1 * t225 * t1127 - 0.58482233974552040708e0 * t797 * t1142; + const double t1149 = piecewise_functor_3( t109, 0.0, t110 * t1145 / 0.2e1 + t960 * t345 / 0.2e1 ); + const double t1150 = t1149 * t374; + const double t1154 = t261 * t151; + const double t1155 = t992 * t358; + const double t1160 = t269 * t162; + const double t1161 = t1000 * t364; + const double t1166 = t276 * t171; + const double t1167 = t1009 * t370; + const double t1172 = t283 * t1015; + const double t1174 = 0.1e1 / t369 / t351; + const double t1175 = t1019 * t1174; + const double t1178 = -0.53333333333333333333e0 * t349 * t985 * t352 + 0.10666666666666666667e0 * t1154 * t1155 - 0.21333333333333333333e0 * t356 * t1155 + 0.42666666666666666668e-1 * t1160 * t1161 - 0.64e-1 * t362 * t1161 + 0.128e-1 * t1166 * t1167 - 0.17066666666666666667e-1 * t368 * t1167 + 0.34133333333333333333e-2 * t1172 * t1175; + const double t1179 = t348 * t1178; + const double t1182 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t191 * t936 ); + const double t1185 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.3e1 * t292 * t959 ); + const double t1187 = ( t1182 + t1185 ) * t224; + const double t1188 = t1187 * t433; + const double t1192 = t811 + t834 - t838 - t843 + t400 * t1188 + t886 + 0.19751789702565206229e-1 * t1187 * t431 - t893 - t898 - t1087 - t1149; + const double t1193 = t1192 * t470; + const double t1194 = t440 * sigma_bb; + const double t1198 = t453 * sigma_bb; + const double t1199 = t1198 * t985; + const double t1204 = t460 * sigma_bb; + const double t1205 = t1204 * t985; + const double t1210 = t467 * sigma_bb; + const double t1211 = t1210 * t985; + const double t1216 = t927 * sigma_bb; + const double t1220 = -0.8e-2 * t1194 * t985 * t446 + 0.24e-4 * t442 * t1199 - 0.48e-4 * t909 * t1199 + 0.144e-6 * t451 * t1205 - 0.216e-6 * t916 * t1205 + 0.648e-9 * t458 * t1211 - 0.864e-9 * t923 * t1211 + 0.2592e-11 * t465 * t1216 * t985; + const double t1221 = t438 * t1220; + const double t1229 = t71 * sigma_aa; + const double t1234 = t83 * t72; + const double t1239 = t93 * t84; + const double t1242 = t86 * t75; + const double t1244 = 0.1e1 / t60 / t1242; + const double t1245 = t1244 * t549; + const double t1248 = 0.4e-2 * t57 * t63 * t67 - 0.16e-4 * t58 * t80 + 0.32e-4 * t1229 * t80 - 0.128e-6 * t73 * t90 + 0.192e-6 * t1234 * t90 - 0.768e-9 * t85 * t101 + 0.1024e-8 * t1239 * t101 - 0.4096e-11 * t95 * t1245; + const double t1249 = t55 * t1248; + const double t1255 = t269 * sigma_aa; + const double t1260 = t276 * t72; + const double t1265 = t283 * t84; + const double t1268 = t1244 * t710; + const double t1271 = 0.2e0 * t261 * t63 * t265 - 0.4e-1 * t262 * t273 + 0.8e-1 * t1255 * t273 - 0.16e-1 * t270 * t280 + 0.24e-1 * t1260 * t280 - 0.48e-2 * t277 * t287 + 0.64e-2 * t1265 * t287 - 0.128e-2 * t284 * t1268; + const double t1272 = t259 * t1271; + const double t1273 = t440 * t63; + const double t1276 = t453 * t63; + const double t1281 = t460 * t63; + const double t1286 = t467 * t63; + const double t1294 = 0.3e-2 * t1273 * t446 - 0.9e-5 * t442 * t1276 + 0.18e-4 * t909 * t1276 - 0.54e-7 * t451 * t1281 + 0.81e-7 * t916 * t1281 - 0.243e-9 * t458 * t1286 + 0.324e-9 * t923 * t1286 - 0.972e-12 * t465 * t927 * t63; + const double t1295 = t438 * t1294; + const double t1302 = t71 * sigma_bb; + const double t1307 = t83 * t151; + const double t1312 = t93 * t162; + const double t1315 = t164 * t154; + const double t1317 = 0.1e1 / t140 / t1315; + const double t1318 = t1317 * t1021; + const double t1321 = 0.4e-2 * t57 * t143 * t147 - 0.16e-4 * t138 * t159 + 0.32e-4 * t1302 * t159 - 0.128e-6 * t152 * t168 + 0.192e-6 * t1307 * t168 - 0.768e-9 * t163 * t178 + 0.1024e-8 * t1312 * t178 - 0.4096e-11 * t172 * t1318; + const double t1322 = t137 * t1321; + const double t1328 = t269 * sigma_bb; + const double t1333 = t276 * t151; + const double t1338 = t283 * t162; + const double t1341 = t1317 * t1174; + const double t1344 = 0.2e0 * t261 * t143 * t352 - 0.4e-1 * t349 * t359 + 0.8e-1 * t1328 * t359 - 0.16e-1 * t356 * t365 + 0.24e-1 * t1333 * t365 - 0.48e-2 * t362 * t371 + 0.64e-2 * t1338 * t371 - 0.128e-2 * t368 * t1341; + const double t1345 = t348 * t1344; + const double t1346 = t440 * t143; + const double t1349 = t453 * t143; + const double t1354 = t460 * t143; + const double t1359 = t467 * t143; + const double t1364 = t927 * t143; + const double t1367 = 0.3e-2 * t1346 * t446 - 0.9e-5 * t442 * t1349 + 0.18e-4 * t909 * t1349 - 0.54e-7 * t451 * t1354 + 0.81e-7 * t916 * t1354 - 0.243e-9 * t458 * t1359 + 0.324e-9 * t923 * t1359 - 0.972e-12 * t465 * t1364; + const double t1368 = t438 * t1367; + const double t1378 = t397 * t3; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t2 * t1379; + const double t1382 = -0.2e1 * t472 + 0.2e1 * t1380; + const double t1383 = piecewise_functor_3( t7, 0.0, t1382 ); + const double t1387 = t36 * t620; + const double t1390 = t32 * t1387 * t39 / 0.24e2; + const double t1392 = t32 * t477 * t490; + const double t1394 = t489 * t489; + const double t1395 = t24 * t1394; + const double t1402 = t16 / t17 / t59 / t472; + const double t1403 = t486 * t486; + const double t1406 = rho_a * t1379; + const double t1408 = -0.2e1 * t472 + 0.2e1 * t1406; + const double t1412 = piecewise_functor_3( t12, 0.0, 0.2e1 / 0.9e1 * t1402 * t1403 - t484 * t1408 / 0.6e1 ); + const double t1413 = t481 * t1412; + const double t1418 = piecewise_functor_3( t27, 0.0, t1390 + t1392 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t1395 + 0.3e1 / 0.16e2 * t32 * t38 * t1413 ); + const double t1419 = t46 * t620; + const double t1422 = t32 * t1419 * t39 / 0.24e2; + const double t1424 = t32 * t496 * t490; + const double t1433 = piecewise_functor_3( t44, 0.0, t1422 + t1424 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t1395 + 0.3e1 / 0.16e2 * t32 * t47 * t1413 ); + const double t1434 = t1418 + t1433; + const double t1438 = piecewise_functor_3( t8, 0.0, t1383 * t52 / 0.2e1 + t475 * t505 + t9 * t1434 / 0.2e1 ); + const double t1439 = t1438 * t104; + const double t1440 = t509 * t553; + const double t1441 = 0.2e1 * t1440; + const double t1443 = 0.1e1 / t61 / t74; + const double t1447 = t74 * t511; + const double t1449 = 0.1e1 / t60 / t1447; + const double t1450 = t1449 * t79; + const double t1453 = t57 * t84; + const double t1454 = 0.1e1 / t96; + const double t1455 = t1454 * t89; + const double t1462 = t71 * t94; + const double t1463 = t86 * t74; + const double t1465 = 0.1e1 / t61 / t1463; + const double t1466 = t1465 * t100; + const double t1473 = t83 * t543; + const double t1476 = 0.1e1 / t60 / t86 / t1447; + const double t1477 = t1476 * t549; + const double t1484 = t94 * t72; + const double t1485 = t93 * t1484; + const double t1486 = t86 * t86; + const double t1487 = t1486 * t59; + const double t1488 = 0.1e1 / t1487; + const double t1490 = 0.1e1 / t99 / t78; + const double t1491 = t1488 * t1490; + const double t1494 = 0.39111111111111111112e-1 * t58 * t1443 * t67 - 0.38400000000000000001e-3 * t517 * t1450 + 0.91022222222222222228e-6 * t1453 * t1455 + 0.54044444444444444444e-3 * t73 * t1450 - 0.48924444444444444446e-5 * t526 * t1455 + 0.10922666666666666667e-7 * t1462 * t1466 + 0.4608e-5 * t85 * t1455 - 0.40277333333333333336e-7 * t534 * t1466 + 0.8738133333333333334e-10 * t1473 * t1477 + 0.31857777777777777778e-7 * t95 * t1466 - 0.27306666666666666668e-9 * t544 * t1477 + 0.58254222222222222226e-12 * t1485 * t1491; + const double t1495 = t55 * t1494; + const double t1496 = -t1382; + const double t1497 = piecewise_functor_3( t108, 0.0, t1496 ); + const double t1503 = t32 * t1387 * t125 / 0.24e2; + const double t1505 = t32 * t477 * t569; + const double t1507 = t568 * t568; + const double t1508 = t121 * t1507; + const double t1515 = t16 / t114 / t139 / t472; + const double t1519 = rho_b * t1379; + const double t1523 = piecewise_functor_3( t113, 0.0, 0.2e1 / 0.9e1 * t1515 * t139 * t399 - t564 * t1519 / 0.3e1 ); + const double t1524 = t561 * t1523; + const double t1529 = piecewise_functor_3( t124, 0.0, t1503 + t1505 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t1508 + 0.3e1 / 0.16e2 * t32 * t38 * t1524 ); + const double t1532 = t32 * t1419 * t125 / 0.24e2; + const double t1534 = t32 * t496 * t569; + const double t1543 = piecewise_functor_3( t44, 0.0, t1532 + t1534 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t1508 + 0.3e1 / 0.16e2 * t32 * t47 * t1524 ); + const double t1544 = t1529 + t1543; + const double t1548 = piecewise_functor_3( t109, 0.0, t1497 * t134 / 0.2e1 + t556 * t583 + t110 * t1544 / 0.2e1 ); + const double t1549 = t1548 * t181; + const double t1554 = 0.1e1 / t37 / t397; + const double t1555 = t1554 * t15; + const double t1557 = t188 * t1555 * t193; + const double t1558 = 0.23744444444444444444e-1 * t1557; + const double t1560 = t188 * t592 * t599; + const double t1562 = t6 * t6; + const double t1564 = 0.1e1 / t191 / t1562; + const double t1565 = t474 * t474; + const double t1571 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1564 * t1565 - t596 * t1382 / 0.3e1 ); + const double t1573 = t188 * t190 * t1571; + const double t1575 = t1558 - 0.35616666666666666666e-1 * t1560 + 0.53425e-1 * t1573; + const double t1577 = 0.62182e-1 * t1575 * t218; + const double t1578 = t603 * t607; + const double t1580 = 0.2e1 * t1578 * t631; + const double t1581 = t606 * t214; + const double t1582 = 0.1e1 / t1581; + const double t1583 = t197 * t1582; + const double t1584 = t629 * t629; + const double t1585 = t1584 * t630; + const double t1587 = 0.2e1 * t1583 * t1585; + const double t1589 = 0.1e1 / t198 / t195; + const double t1590 = t611 * t611; + const double t1591 = t1589 * t1590; + const double t1593 = 0.4e1 / 0.9e1 * t1557; + const double t1595 = t1593 - 0.2e1 / 0.3e1 * t1560 + t1573; + const double t1596 = t609 * t1595; + const double t1598 = 0.39862222222222222223e0 * t1557; + const double t1601 = 0.1e1/safe_math::sqrt( t195 ); + const double t1602 = t1601 * t1590; + const double t1604 = t616 * t1595; + const double t1607 = 0.1e1 / t207 / t397; + const double t1608 = t1607 * t16; + const double t1610 = t206 * t1608 * t210; + const double t1611 = 0.13692777777777777778e0 * t1610; + const double t1613 = t206 * t621 * t625; + const double t1615 = t599 * t599; + const double t1617 = t206 * t209 * t1615; + const double t1619 = t193 * t1571; + const double t1621 = t206 * t209 * t1619; + const double t1623 = -0.9494625e0 * t1591 + 0.1898925e1 * t1596 + t1598 - 0.59793333333333333334e0 * t1560 + 0.8969e0 * t1573 + 0.15358125e0 * t1602 + 0.3071625e0 * t1604 + t1611 - 0.32862666666666666666e0 * t1613 + 0.24647e0 * t1617 + 0.24647e0 * t1621; + const double t1624 = t1623 * t630; + const double t1626 = 0.1e1 * t608 * t1624; + const double t1627 = t606 * t606; + const double t1628 = 0.1e1 / t1627; + const double t1629 = t197 * t1628; + const double t1630 = t217 * t217; + const double t1631 = 0.1e1 / t1630; + const double t1632 = t1584 * t1631; + const double t1634 = 0.16081824322151104822e2 * t1629 * t1632; + const double t1635 = 0.22831111111111111111e-1 * t1557; + const double t1638 = t1635 - 0.34246666666666666666e-1 * t1560 + 0.5137e-1 * t1573; + const double t1641 = t636 * t640; + const double t1644 = t639 * t232; + const double t1645 = 0.1e1 / t1644; + const double t1646 = t227 * t1645; + const double t1647 = t648 * t648; + const double t1648 = t1647 * t649; + const double t1653 = 0.68863333333333333333e0 * t1557; + const double t1658 = 0.17365833333333333333e0 * t1610; + const double t1662 = -0.17648625e1 * t1591 + 0.3529725e1 * t1596 + t1653 - 0.103295e1 * t1560 + 0.1549425e1 * t1573 + 0.31558125e0 * t1602 + 0.6311625e0 * t1604 + t1658 - 0.41678e0 * t1613 + 0.312585e0 * t1617 + 0.312585e0 * t1621; + const double t1663 = t1662 * t649; + const double t1666 = t639 * t639; + const double t1667 = 0.1e1 / t1666; + const double t1668 = t227 * t1667; + const double t1669 = t235 * t235; + const double t1670 = 0.1e1 / t1669; + const double t1671 = t1647 * t1670; + const double t1674 = 0.12361111111111111111e-1 * t1557; + const double t1677 = t1674 - 0.18541666666666666667e-1 * t1560 + 0.278125e-1 * t1573; + const double t1678 = t1677 * t249; + const double t1680 = t655 * t659; + const double t1683 = t658 * t245; + const double t1684 = 0.1e1 / t1683; + const double t1685 = t240 * t1684; + const double t1686 = t667 * t667; + const double t1687 = t1686 * t668; + const double t1692 = 0.40256666666666666667e0 * t1557; + const double t1697 = 0.137975e0 * t1610; + const double t1701 = -0.1294625e1 * t1591 + 0.258925e1 * t1596 + t1692 - 0.60385e0 * t1560 + 0.905775e0 * t1573 + 0.82524375e-1 * t1602 + 0.16504875e0 * t1604 + t1697 - 0.33114e0 * t1613 + 0.248355e0 * t1617 + 0.248355e0 * t1621; + const double t1702 = t1701 * t668; + const double t1705 = t658 * t658; + const double t1706 = 0.1e1 / t1705; + const double t1707 = t240 * t1706; + const double t1708 = t248 * t248; + const double t1709 = 0.1e1 / t1708; + const double t1710 = t1686 * t1709; + const double t1713 = -0.3109e-1 * t1638 * t236 + 0.2e1 * t1641 * t650 - 0.2e1 * t1646 * t1648 + 0.1e1 * t641 * t1663 + 0.32164683177870697974e2 * t1668 * t1671 + t1577 - t1580 + t1587 - t1626 - t1634 - 0.19751789702565206229e-1 * t1678 + 0.11696446794910408142e1 * t1680 * t669 - 0.11696446794910408142e1 * t1685 * t1687 + 0.58482233974552040708e0 * t660 * t1702 + 0.17315755899375863299e2 * t1707 * t1710; + const double t1717 = t225 * t655; + const double t1721 = t1684 * t1686 * t668; + const double t1725 = t659 * t1701 * t668; + const double t1728 = t1706 * t1686; + const double t1729 = t1728 * t1709; + const double t1732 = -t1577 + t1580 - t1587 + t1626 + t1634 + t225 * t1713 + 0.19751789702565206229e-1 * t225 * t1678 - 0.11696446794910408142e1 * t1717 * t678 + 0.11696446794910408142e1 * t676 * t1721 - 0.58482233974552040708e0 * t676 * t1725 - 0.17315755899375863299e2 * t676 * t1729; + const double t1736 = piecewise_functor_3( t8, 0.0, t1383 * t256 / 0.2e1 + t475 * t681 + t9 * t1732 / 0.2e1 ); + const double t1737 = t1736 * t290; + const double t1738 = t685 * t714; + const double t1739 = 0.2e1 * t1738; + const double t1743 = t1449 * t272; + const double t1746 = t261 * t84; + const double t1747 = t1454 * t279; + const double t1754 = t269 * t94; + const double t1755 = t1465 * t286; + const double t1762 = t276 * t543; + const double t1763 = t1476 * t710; + const double t1770 = t283 * t1484; + const double t1772 = 0.1e1 / t285 / t271; + const double t1773 = t1488 * t1772; + const double t1776 = 0.19555555555555555555e1 * t262 * t1443 * t265 - 0.96000000000000000002e0 * t690 * t1743 + 0.11377777777777777778e0 * t1746 * t1747 + 0.13511111111111111111e1 * t270 * t1743 - 0.61155555555555555557e0 * t696 * t1747 + 0.68266666666666666669e-1 * t1754 * t1755 + 0.576e0 * t277 * t1747 - 0.25173333333333333333e0 * t702 * t1755 + 0.27306666666666666666e-1 * t1762 * t1763 + 0.19911111111111111112e0 * t284 * t1755 - 0.85333333333333333333e-1 * t708 * t1763 + 0.91022222222222222219e-2 * t1770 * t1773; + const double t1777 = t259 * t1776; + const double t1782 = t188 * t1555 * t294; + const double t1783 = 0.23744444444444444444e-1 * t1782; + const double t1785 = t188 * t592 * t723; + const double t1787 = t107 * t107; + const double t1789 = 0.1e1 / t292 / t1787; + const double t1790 = t555 * t555; + const double t1796 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t1789 * t1790 - t720 * t1496 / 0.3e1 ); + const double t1798 = t188 * t190 * t1796; + const double t1800 = t1783 - 0.35616666666666666666e-1 * t1785 + 0.53425e-1 * t1798; + const double t1802 = 0.62182e-1 * t1800 * t312; + const double t1803 = t727 * t731; + const double t1805 = 0.2e1 * t1803 * t752; + const double t1806 = t730 * t308; + const double t1807 = 0.1e1 / t1806; + const double t1808 = t298 * t1807; + const double t1809 = t750 * t750; + const double t1810 = t1809 * t751; + const double t1812 = 0.2e1 * t1808 * t1810; + const double t1814 = 0.1e1 / t299 / t296; + const double t1815 = t735 * t735; + const double t1816 = t1814 * t1815; + const double t1818 = 0.4e1 / 0.9e1 * t1782; + const double t1820 = t1818 - 0.2e1 / 0.3e1 * t1785 + t1798; + const double t1821 = t733 * t1820; + const double t1823 = 0.39862222222222222223e0 * t1782; + const double t1826 = 0.1e1/safe_math::sqrt( t296 ); + const double t1827 = t1826 * t1815; + const double t1829 = t740 * t1820; + const double t1832 = t206 * t1608 * t304; + const double t1833 = 0.13692777777777777778e0 * t1832; + const double t1835 = t206 * t621 * t746; + const double t1837 = t723 * t723; + const double t1839 = t206 * t209 * t1837; + const double t1841 = t294 * t1796; + const double t1843 = t206 * t209 * t1841; + const double t1845 = -0.9494625e0 * t1816 + 0.1898925e1 * t1821 + t1823 - 0.59793333333333333334e0 * t1785 + 0.8969e0 * t1798 + 0.15358125e0 * t1827 + 0.3071625e0 * t1829 + t1833 - 0.32862666666666666666e0 * t1835 + 0.24647e0 * t1839 + 0.24647e0 * t1843; + const double t1846 = t1845 * t751; + const double t1848 = 0.1e1 * t732 * t1846; + const double t1849 = t730 * t730; + const double t1850 = 0.1e1 / t1849; + const double t1851 = t298 * t1850; + const double t1852 = t311 * t311; + const double t1853 = 0.1e1 / t1852; + const double t1854 = t1809 * t1853; + const double t1856 = 0.16081824322151104822e2 * t1851 * t1854; + const double t1857 = 0.22831111111111111111e-1 * t1782; + const double t1860 = t1857 - 0.34246666666666666666e-1 * t1785 + 0.5137e-1 * t1798; + const double t1863 = t757 * t761; + const double t1866 = t760 * t321; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t316 * t1867; + const double t1869 = t769 * t769; + const double t1870 = t1869 * t770; + const double t1875 = 0.68863333333333333333e0 * t1782; + const double t1880 = 0.17365833333333333333e0 * t1832; + const double t1884 = -0.17648625e1 * t1816 + 0.3529725e1 * t1821 + t1875 - 0.103295e1 * t1785 + 0.1549425e1 * t1798 + 0.31558125e0 * t1827 + 0.6311625e0 * t1829 + t1880 - 0.41678e0 * t1835 + 0.312585e0 * t1839 + 0.312585e0 * t1843; + const double t1885 = t1884 * t770; + const double t1888 = t760 * t760; + const double t1889 = 0.1e1 / t1888; + const double t1890 = t316 * t1889; + const double t1891 = t324 * t324; + const double t1892 = 0.1e1 / t1891; + const double t1893 = t1869 * t1892; + const double t1896 = 0.12361111111111111111e-1 * t1782; + const double t1899 = t1896 - 0.18541666666666666667e-1 * t1785 + 0.278125e-1 * t1798; + const double t1900 = t1899 * t338; + const double t1902 = t776 * t780; + const double t1905 = t779 * t334; + const double t1906 = 0.1e1 / t1905; + const double t1907 = t329 * t1906; + const double t1908 = t788 * t788; + const double t1909 = t1908 * t789; + const double t1914 = 0.40256666666666666667e0 * t1782; + const double t1919 = 0.137975e0 * t1832; + const double t1923 = -0.1294625e1 * t1816 + 0.258925e1 * t1821 + t1914 - 0.60385e0 * t1785 + 0.905775e0 * t1798 + 0.82524375e-1 * t1827 + 0.16504875e0 * t1829 + t1919 - 0.33114e0 * t1835 + 0.248355e0 * t1839 + 0.248355e0 * t1843; + const double t1924 = t1923 * t789; + const double t1927 = t779 * t779; + const double t1928 = 0.1e1 / t1927; + const double t1929 = t329 * t1928; + const double t1930 = t337 * t337; + const double t1931 = 0.1e1 / t1930; + const double t1932 = t1908 * t1931; + const double t1935 = -0.3109e-1 * t1860 * t325 + 0.2e1 * t1863 * t771 - 0.2e1 * t1868 * t1870 + 0.1e1 * t762 * t1885 + 0.32164683177870697974e2 * t1890 * t1893 + t1802 - t1805 + t1812 - t1848 - t1856 - 0.19751789702565206229e-1 * t1900 + 0.11696446794910408142e1 * t1902 * t790 - 0.11696446794910408142e1 * t1907 * t1909 + 0.58482233974552040708e0 * t781 * t1924 + 0.17315755899375863299e2 * t1929 * t1932; + const double t1939 = t225 * t776; + const double t1943 = t1906 * t1908 * t789; + const double t1947 = t780 * t1923 * t789; + const double t1950 = t1928 * t1908; + const double t1951 = t1950 * t1931; + const double t1954 = -t1802 + t1805 - t1812 + t1848 + t1856 + t225 * t1935 + 0.19751789702565206229e-1 * t225 * t1900 - 0.11696446794910408142e1 * t1939 * t799 + 0.11696446794910408142e1 * t797 * t1943 - 0.58482233974552040708e0 * t797 * t1947 - 0.17315755899375863299e2 * t797 * t1951; + const double t1958 = piecewise_functor_3( t109, 0.0, t1497 * t345 / 0.2e1 + t556 * t802 + t110 * t1954 / 0.2e1 ); + const double t1959 = t1958 * t374; + const double t1962 = 0.1e1 / t380 / t377 * t203; + const double t1964 = t1963 * t1607; + const double t1965 = t1962 * t1964; + const double t1967 = t817 * t1554; + const double t1968 = t816 * t1967; + const double t1970 = t187 * t1554; + const double t1971 = t185 * t1970; + const double t1973 = 0.1e1/safe_math::sqrt( t377 ); + const double t1974 = t1973 * t203; + const double t1975 = t1974 * t1964; + const double t1977 = t824 * t1967; + const double t1980 = t205 * t186 * t1607; + const double t1982 = -0.57538888888888888889e0 * t1965 + 0.11507777777777777778e1 * t1968 + 0.40256666666666666667e0 * t1971 + 0.366775e-1 * t1975 + 0.73355e-1 * t1977 + 0.137975e0 * t1980; + const double t1984 = t873 * t1982 * t880; + const double t1986 = 0.58482233974552040708e0 * t894 * t1984; + const double t1987 = t872 * t872; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t879 * t879; + const double t1990 = t1988 * t1989; + const double t1991 = t429 * t429; + const double t1992 = 0.1e1 / t1991; + const double t1993 = t1990 * t1992; + const double t1995 = 0.17315755899375863299e2 * t894 * t1993; + const double t1996 = t406 * t185; + const double t1997 = t808 * t896; + const double t1999 = 0.10843580882781524214e-1 * t1996 * t1997; + const double t2000 = t851 * t28; + const double t2001 = t2000 * t891; + const double t2003 = t591 * t813; + const double t2006 = 0.35616666666666666667e-1 * t188 * t2003 * t832; + const double t2008 = t817 * t1554 * t430; + const double t2010 = 0.24415406715670879921e-3 * t889 * t2008; + const double t2011 = t851 * t421; + const double t2012 = t2011 * t896; + const double t2014 = t872 * t426; + const double t2015 = 0.1e1 / t2014; + const double t2017 = t2015 * t1989 * t880; + const double t2019 = 0.11696446794910408142e1 * t894 * t2017; + const double t2020 = t812 * t388; + const double t2021 = 0.1e1 / t2020; + const double t2022 = t379 * t2021; + const double t2023 = t830 * t830; + const double t2024 = t2023 * t831; + const double t2026 = 0.2e1 * t2022 * t2024; + const double t2027 = t191 * t191; + const double t2028 = 0.1e1 / t2027; + const double t2034 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2028 * t1565 + 0.4e1 / 0.3e1 * t191 * t1382 ); + const double t2035 = t292 * t292; + const double t2036 = 0.1e1 / t2035; + const double t2042 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2036 * t1790 + 0.4e1 / 0.3e1 * t292 * t1496 ); + const double t2044 = ( t2034 + t2042 ) * t224; + const double t2053 = -0.42198333333333333333e0 * t1965 + 0.84396666666666666666e0 * t1968 + 0.39862222222222222223e0 * t1971 + 0.68258333333333333333e-1 * t1975 + 0.13651666666666666667e0 * t1977 + 0.13692777777777777778e0 * t1980; + const double t2054 = t2053 * t831; + const double t2056 = 0.1e1 * t814 * t2054; + const double t2057 = -t1986 - t1995 + t1999 - 0.36623110073506319882e-3 * t2001 - t2006 + t2010 - 0.11696446794910408142e1 * t2012 + t2019 - t1958 - t2026 + 0.19751789702565206229e-1 * t2044 * t431 + t2056; + const double t2058 = t812 * t812; + const double t2059 = 0.1e1 / t2058; + const double t2060 = t379 * t2059; + const double t2061 = t391 * t391; + const double t2062 = 0.1e1 / t2061; + const double t2063 = t2023 * t2062; + const double t2065 = 0.16081824322151104822e2 * t2060 * t2063; + const double t2067 = 0.8e1 * t836 * t885; + const double t2069 = 0.8e1 * t841 * t885; + const double t2070 = t836 * t852; + const double t2072 = t851 * t884; + const double t2073 = t400 * t2072; + const double t2075 = t841 * t852; + const double t2077 = t2044 * t433; + const double t2082 = t591 * t858; + const double t2086 = t857 * t413; + const double t2087 = 0.1e1 / t2086; + const double t2088 = t408 * t2087; + const double t2089 = t864 * t864; + const double t2090 = t2089 * t865; + const double t2099 = -0.78438333333333333333e0 * t1965 + 0.15687666666666666667e1 * t1968 + 0.68863333333333333333e0 * t1971 + 0.14025833333333333333e0 * t1975 + 0.28051666666666666667e0 * t1977 + 0.17365833333333333333e0 * t1980; + const double t2100 = t2099 * t865; + const double t2103 = t857 * t857; + const double t2104 = 0.1e1 / t2103; + const double t2105 = t408 * t2104; + const double t2106 = t416 * t416; + const double t2107 = 0.1e1 / t2106; + const double t2108 = t2089 * t2107; + const double t2113 = 0.14764770444444444444e-2 * t185 * t1970 * t392; + const double t2117 = t591 * t873; + const double t2121 = t421 * t2015; + const double t2122 = t1989 * t880; + const double t2125 = t1982 * t880; + const double t2128 = t421 * t1988; + const double t2129 = t1989 * t1992; + const double t2132 = -0.70981924444444444442e-3 * t185 * t1970 * t417 - 0.34246666666666666666e-1 * t188 * t2082 * t866 - 0.2e1 * t2088 * t2090 + 0.1e1 * t859 * t2100 + 0.32164683177870697974e2 * t2105 * t2108 + t2113 + t2006 + t2026 - t2056 - t2065 - 0.24415406715670879921e-3 * t185 * t1970 * t430 - 0.10843580882781524214e-1 * t188 * t2117 * t881 - 0.11696446794910408142e1 * t2121 * t2122 + 0.58482233974552040708e0 * t874 * t2125 + 0.17315755899375863299e2 * t2128 * t2129; + const double t2133 = t406 * t2132; + const double t2134 = t400 * t2133; + const double t2136 = 0.1e1 / t398 / t397; + const double t2137 = t396 * t2136; + const double t2139 = 0.2e2 * t2137 * t434; + const double t2140 = t395 * t399; + const double t2142 = 0.12e2 * t2140 * t434; + const double t2143 = t835 * t840; + const double t2145 = 0.32e2 * t2143 * t434; + const double t2146 = t400 * t2077 - t1736 + t2065 + t2067 - t2069 + 0.8e1 * t2070 + 0.2e1 * t2073 - 0.8e1 * t2075 - t2113 + t2134 + t2139 + t2142 - t2145; + const double t2147 = t2057 + t2146; + const double t2148 = t2147 * t470; + const double t2149 = t899 * t932; + const double t2150 = 0.2e1 * t2149; + const double t2154 = t440 * t72; + const double t2155 = t1449 * t453; + const double t2158 = t460 * t72; + const double t2159 = t2158 * t1449; + const double t2162 = t905 * t1443; + const double t2165 = t449 * t72; + const double t2172 = t467 * t72; + const double t2173 = t2172 * t1449; + const double t2176 = t912 * t1443; + const double t2179 = t456 * t441; + const double t2186 = t927 * t72; + const double t2187 = t2186 * t1449; + const double t2190 = t919 * t1443; + const double t2193 = t463 * t450; + const double t2201 = 0.1e1 / t466 / t452; + const double t2202 = t2201 * t72; + const double t2209 = 0.29333333333333333333e-1 * t901 * t1443 * t446 - 0.128e-3 * t2154 * t2155 + 0.384e-6 * t442 * t2159 - 0.88e-4 * t442 * t2162 + 0.128e-3 * t2165 * t2155 - 0.1536e-5 * t909 * t2159 + 0.176e-3 * t909 * t2162 + 0.3456e-8 * t451 * t2173 - 0.528e-6 * t451 * t2176 + 0.1152e-5 * t2179 * t2159 - 0.10368e-7 * t916 * t2173 + 0.792e-6 * t916 * t2176 + 0.20736e-10 * t458 * t2187 - 0.2376e-8 * t458 * t2190 + 0.6912e-8 * t2193 * t2173 - 0.55296e-10 * t923 * t2187 + 0.3168e-8 * t923 * t2190 + 0.10368e-12 * t465 * t2202 * t1449 - 0.9504e-11 * t465 * t928 * t1443; + const double t2210 = t438 * t2209; + const double t2211 = t1439 + t1441 + t1495 + t1549 + t1737 + t1739 + t1777 + t1959 + t2148 + t2150 + t2210; + const double t2213 = 0.2e1 * t1380; + const double t2214 = piecewise_functor_3( t7, 0.0, t2213 ); + const double t2220 = t32 * t477 * t942; + const double t2223 = t31 * t16 * t36; + const double t2224 = t37 * t24; + const double t2225 = t941 * t489; + const double t2226 = t2224 * t2225; + const double t2235 = t484 * t1406 / 0.3e1; + const double t2237 = piecewise_functor_3( t12, 0.0, -0.2e1 / 0.9e1 * t1402 * t485 * t486 + t484 * t472 / 0.6e1 - t2235 ); + const double t2238 = t481 * t2237; + const double t2243 = piecewise_functor_3( t27, 0.0, t1390 + t1392 / 0.16e2 + t2220 / 0.16e2 - 0.3e1 / 0.8e1 * t2223 * t2226 + 0.3e1 / 0.16e2 * t32 * t38 * t2238 ); + const double t2246 = t32 * t496 * t942; + const double t2249 = t31 * t16 * t46; + const double t2256 = piecewise_functor_3( t44, 0.0, t1422 + t1424 / 0.16e2 + t2246 / 0.16e2 - 0.3e1 / 0.8e1 * t2249 * t2226 + 0.3e1 / 0.16e2 * t32 * t47 * t2238 ); + const double t2257 = t2243 + t2256; + const double t2261 = piecewise_functor_3( t8, 0.0, t2214 * t52 / 0.2e1 + t9 * t2257 / 0.2e1 + t475 * t953 / 0.2e1 + t937 * t505 / 0.2e1 ); + const double t2262 = t2261 * t104; + const double t2263 = t957 * t553; + const double t2264 = piecewise_functor_3( t108, 0.0, -t2213 ); + const double t2270 = t32 * t477 * t966; + const double t2272 = t37 * t121; + const double t2273 = t965 * t568; + const double t2274 = t2272 * t2273; + const double t2277 = t962 * rho_b; + const double t2282 = -t472 + 0.2e1 * t1519; + const double t2286 = piecewise_functor_3( t113, 0.0, -0.2e1 / 0.9e1 * t1515 * t2277 * t472 - t564 * t2282 / 0.6e1 ); + const double t2287 = t561 * t2286; + const double t2292 = piecewise_functor_3( t124, 0.0, t1503 + t1505 / 0.16e2 + t2270 / 0.16e2 - 0.3e1 / 0.8e1 * t2223 * t2274 + 0.3e1 / 0.16e2 * t32 * t38 * t2287 ); + const double t2295 = t32 * t496 * t966; + const double t2303 = piecewise_functor_3( t44, 0.0, t1532 + t1534 / 0.16e2 + t2295 / 0.16e2 - 0.3e1 / 0.8e1 * t2249 * t2274 + 0.3e1 / 0.16e2 * t32 * t47 * t2287 ); + const double t2304 = t2292 + t2303; + const double t2308 = piecewise_functor_3( t109, 0.0, t110 * t2304 / 0.2e1 + t2264 * t134 / 0.2e1 + t556 * t977 / 0.2e1 + t960 * t583 / 0.2e1 ); + const double t2309 = t2308 * t181; + const double t2310 = t587 * t1025; + const double t2316 = t188 * t592 * t1030; + const double t2318 = t1564 * t936; + const double t2321 = t596 * t2; + const double t2325 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2318 * t474 - 0.2e1 / 0.3e1 * t2321 * t1379 ); + const double t2327 = t188 * t190 * t2325; + const double t2329 = t1558 - 0.17808333333333333333e-1 * t1560 - 0.17808333333333333333e-1 * t2316 + 0.53425e-1 * t2327; + const double t2331 = 0.62182e-1 * t2329 * t218; + const double t2332 = t1034 * t607; + const double t2334 = 0.1e1 * t2332 * t631; + const double t2336 = 0.1e1 * t1578 * t1048; + const double t2337 = t1048 * t629; + const double t2339 = 0.2e1 * t1583 * t2337; + const double t2340 = t1589 * t1037; + const double t2341 = t2340 * t611; + const double t2345 = t1593 - t1560 / 0.3e1 - t2316 / 0.3e1 + t2327; + const double t2346 = t609 * t2345; + const double t2351 = t1601 * t1037; + const double t2352 = t2351 * t611; + const double t2354 = t616 * t2345; + const double t2358 = t206 * t621 * t1043; + const double t2360 = t599 * t1030; + const double t2362 = t206 * t209 * t2360; + const double t2364 = t193 * t2325; + const double t2366 = t206 * t209 * t2364; + const double t2368 = -0.9494625e0 * t2341 + 0.1898925e1 * t2346 + t1598 - 0.29896666666666666667e0 * t1560 - 0.29896666666666666667e0 * t2316 + 0.8969e0 * t2327 + 0.15358125e0 * t2352 + 0.3071625e0 * t2354 + t1611 - 0.16431333333333333333e0 * t1613 - 0.16431333333333333333e0 * t2358 + 0.24647e0 * t2362 + 0.24647e0 * t2366; + const double t2369 = t2368 * t630; + const double t2371 = 0.1e1 * t608 * t2369; + const double t2372 = t1047 * t1631; + const double t2373 = t2372 * t629; + const double t2375 = 0.16081824322151104822e2 * t1629 * t2373; + const double t2379 = t1635 - 0.17123333333333333333e-1 * t1560 - 0.17123333333333333333e-1 * t2316 + 0.5137e-1 * t2327; + const double t2382 = t1052 * t640; + const double t2387 = t1060 * t648; + const double t2401 = -0.17648625e1 * t2341 + 0.3529725e1 * t2346 + t1653 - 0.516475e0 * t1560 - 0.516475e0 * t2316 + 0.1549425e1 * t2327 + 0.31558125e0 * t2352 + 0.6311625e0 * t2354 + t1658 - 0.20839e0 * t1613 - 0.20839e0 * t2358 + 0.312585e0 * t2362 + 0.312585e0 * t2366; + const double t2402 = t2401 * t649; + const double t2405 = t1059 * t1670; + const double t2406 = t2405 * t648; + const double t2412 = t1674 - 0.92708333333333333333e-2 * t1560 - 0.92708333333333333333e-2 * t2316 + 0.278125e-1 * t2327; + const double t2413 = t2412 * t249; + const double t2415 = t1064 * t659; + const double t2420 = t1072 * t667; + const double t2434 = -0.1294625e1 * t2341 + 0.258925e1 * t2346 + t1692 - 0.301925e0 * t1560 - 0.301925e0 * t2316 + 0.905775e0 * t2327 + 0.82524375e-1 * t2352 + 0.16504875e0 * t2354 + t1697 - 0.16557e0 * t1613 - 0.16557e0 * t2358 + 0.248355e0 * t2362 + 0.248355e0 * t2366; + const double t2435 = t2434 * t668; + const double t2438 = t1071 * t1709; + const double t2439 = t2438 * t667; + const double t2442 = -0.3109e-1 * t2379 * t236 + 0.1e1 * t2382 * t650 + 0.1e1 * t1641 * t1060 - 0.2e1 * t1646 * t2387 + 0.1e1 * t641 * t2402 + 0.32164683177870697974e2 * t1668 * t2406 + t2331 - t2334 - t2336 + t2339 - t2371 - t2375 - 0.19751789702565206229e-1 * t2413 + 0.58482233974552040708e0 * t2415 * t669 + 0.58482233974552040708e0 * t1680 * t1072 - 0.11696446794910408142e1 * t1685 * t2420 + 0.58482233974552040708e0 * t660 * t2435 + 0.17315755899375863299e2 * t1707 * t2439; + const double t2446 = t225 * t1064; + const double t2451 = t1684 * t1071; + const double t2452 = t2451 * t669; + const double t2456 = t659 * t2434 * t668; + const double t2459 = t1706 * t1071; + const double t2460 = t1709 * t667; + const double t2461 = t2459 * t2460; + const double t2464 = -t2331 + t2334 + t2336 - t2339 + t2371 + t2375 + t225 * t2442 + 0.19751789702565206229e-1 * t225 * t2413 - 0.58482233974552040708e0 * t2446 * t678 - 0.58482233974552040708e0 * t1717 * t1080 + 0.11696446794910408142e1 * t676 * t2452 - 0.58482233974552040708e0 * t676 * t2456 - 0.17315755899375863299e2 * t676 * t2461; + const double t2468 = piecewise_functor_3( t8, 0.0, t475 * t1083 / 0.2e1 + t2214 * t256 / 0.2e1 + t9 * t2464 / 0.2e1 + t937 * t681 / 0.2e1 ); + const double t2469 = t2468 * t290; + const double t2470 = t1087 * t714; + const double t2476 = t188 * t592 * t1092; + const double t2478 = t1789 * t959; + const double t2481 = t720 * t2; + const double t2485 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2478 * t555 + 0.2e1 / 0.3e1 * t2481 * t1379 ); + const double t2487 = t188 * t190 * t2485; + const double t2489 = t1783 - 0.17808333333333333333e-1 * t1785 - 0.17808333333333333333e-1 * t2476 + 0.53425e-1 * t2487; + const double t2491 = 0.62182e-1 * t2489 * t312; + const double t2492 = t1096 * t731; + const double t2494 = 0.1e1 * t2492 * t752; + const double t2496 = 0.1e1 * t1803 * t1110; + const double t2497 = t1110 * t750; + const double t2499 = 0.2e1 * t1808 * t2497; + const double t2500 = t1814 * t1099; + const double t2501 = t2500 * t735; + const double t2505 = t1818 - t1785 / 0.3e1 - t2476 / 0.3e1 + t2487; + const double t2506 = t733 * t2505; + const double t2511 = t1826 * t1099; + const double t2512 = t2511 * t735; + const double t2514 = t740 * t2505; + const double t2518 = t206 * t621 * t1105; + const double t2520 = t723 * t1092; + const double t2522 = t206 * t209 * t2520; + const double t2524 = t294 * t2485; + const double t2526 = t206 * t209 * t2524; + const double t2528 = -0.9494625e0 * t2501 + 0.1898925e1 * t2506 + t1823 - 0.29896666666666666667e0 * t1785 - 0.29896666666666666667e0 * t2476 + 0.8969e0 * t2487 + 0.15358125e0 * t2512 + 0.3071625e0 * t2514 + t1833 - 0.16431333333333333333e0 * t1835 - 0.16431333333333333333e0 * t2518 + 0.24647e0 * t2522 + 0.24647e0 * t2526; + const double t2529 = t2528 * t751; + const double t2531 = 0.1e1 * t732 * t2529; + const double t2532 = t1109 * t1853; + const double t2533 = t2532 * t750; + const double t2535 = 0.16081824322151104822e2 * t1851 * t2533; + const double t2539 = t1857 - 0.17123333333333333333e-1 * t1785 - 0.17123333333333333333e-1 * t2476 + 0.5137e-1 * t2487; + const double t2542 = t1114 * t761; + const double t2547 = t1122 * t769; + const double t2561 = -0.17648625e1 * t2501 + 0.3529725e1 * t2506 + t1875 - 0.516475e0 * t1785 - 0.516475e0 * t2476 + 0.1549425e1 * t2487 + 0.31558125e0 * t2512 + 0.6311625e0 * t2514 + t1880 - 0.20839e0 * t1835 - 0.20839e0 * t2518 + 0.312585e0 * t2522 + 0.312585e0 * t2526; + const double t2562 = t2561 * t770; + const double t2565 = t1121 * t1892; + const double t2566 = t2565 * t769; + const double t2572 = t1896 - 0.92708333333333333333e-2 * t1785 - 0.92708333333333333333e-2 * t2476 + 0.278125e-1 * t2487; + const double t2573 = t2572 * t338; + const double t2575 = t1126 * t780; + const double t2580 = t1134 * t788; + const double t2594 = -0.1294625e1 * t2501 + 0.258925e1 * t2506 + t1914 - 0.301925e0 * t1785 - 0.301925e0 * t2476 + 0.905775e0 * t2487 + 0.82524375e-1 * t2512 + 0.16504875e0 * t2514 + t1919 - 0.16557e0 * t1835 - 0.16557e0 * t2518 + 0.248355e0 * t2522 + 0.248355e0 * t2526; + const double t2595 = t2594 * t789; + const double t2598 = t1133 * t1931; + const double t2599 = t2598 * t788; + const double t2602 = -0.3109e-1 * t2539 * t325 + 0.1e1 * t2542 * t771 + 0.1e1 * t1863 * t1122 - 0.2e1 * t1868 * t2547 + 0.1e1 * t762 * t2562 + 0.32164683177870697974e2 * t1890 * t2566 + t2491 - t2494 - t2496 + t2499 - t2531 - t2535 - 0.19751789702565206229e-1 * t2573 + 0.58482233974552040708e0 * t2575 * t790 + 0.58482233974552040708e0 * t1902 * t1134 - 0.11696446794910408142e1 * t1907 * t2580 + 0.58482233974552040708e0 * t781 * t2595 + 0.17315755899375863299e2 * t1929 * t2599; + const double t2606 = t225 * t1126; + const double t2611 = t1906 * t1133; + const double t2612 = t2611 * t790; + const double t2616 = t780 * t2594 * t789; + const double t2619 = t1928 * t1133; + const double t2620 = t1931 * t788; + const double t2621 = t2619 * t2620; + const double t2624 = -t2491 + t2494 + t2496 - t2499 + t2531 + t2535 + t225 * t2602 + 0.19751789702565206229e-1 * t225 * t2573 - 0.58482233974552040708e0 * t2606 * t799 - 0.58482233974552040708e0 * t1939 * t1142 + 0.11696446794910408142e1 * t797 * t2612 - 0.58482233974552040708e0 * t797 * t2616 - 0.17315755899375863299e2 * t797 * t2621; + const double t2628 = piecewise_functor_3( t109, 0.0, t110 * t2624 / 0.2e1 + t556 * t1145 / 0.2e1 + t2264 * t345 / 0.2e1 + t960 * t802 / 0.2e1 ); + const double t2629 = t2628 * t374; + const double t2630 = t806 * t1178; + const double t2633 = t1187 * t421; + const double t2634 = t2633 * t896; + const double t2636 = t2028 * t936; + const double t2639 = t191 * t2; + const double t2643 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2636 * t474 + 0.8e1 / 0.3e1 * t2639 * t1379 ); + const double t2644 = t2036 * t959; + const double t2647 = t292 * t2; + const double t2651 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2644 * t555 - 0.8e1 / 0.3e1 * t2647 * t1379 ); + const double t2653 = ( t2643 + t2651 ) * t224; + const double t2656 = t836 * t1188; + const double t2658 = -t1986 - t1995 - t2468 + t1999 - 0.18311555036753159941e-3 * t2001 - t2006 + t2010 - 0.58482233974552040708e0 * t2012 + t2019 - t2628 - 0.58482233974552040708e0 * t2634 + 0.19751789702565206229e-1 * t2653 * t431 - t2026 + 0.4e1 * t2656; + const double t2659 = t841 * t1188; + const double t2661 = t2653 * t433; + const double t2663 = t1187 * t884; + const double t2664 = t400 * t2663; + const double t2667 = t1187 * t28; + const double t2668 = t2667 * t891; + const double t2670 = -0.4e1 * t2659 + t400 * t2661 + t2664 + t2056 + t2065 - t2069 - 0.4e1 * t2070 + t2073 - 0.4e1 * t2075 + t2134 + t2139 - t2142 - t2113 - 0.18311555036753159941e-3 * t2668; + const double t2671 = t2658 + t2670; + const double t2672 = t2671 * t470; + const double t2673 = t1192 * t932; + const double t2674 = t899 * t1220; + const double t2675 = t1194 * t985; + const double t2678 = t442 * t460; + const double t2679 = sigma_bb * t985; + const double t2680 = sigma_aa * t513; + const double t2681 = t2679 * t2680; + const double t2684 = t449 * sigma_aa; + const double t2685 = t2684 * t513; + const double t2688 = t909 * t460; + const double t2691 = t451 * t467; + const double t2694 = t2179 * t460; + const double t2697 = t916 * t467; + const double t2700 = t458 * t927; + const double t2703 = t2193 * t467; + const double t2706 = t923 * t927; + const double t2709 = t465 * t2201; + const double t2712 = -0.128e-3 * t2675 * t906 + 0.384e-6 * t2678 * t2681 + 0.128e-3 * t2685 * t1199 - 0.1536e-5 * t2688 * t2681 + 0.3456e-8 * t2691 * t2681 + 0.1152e-5 * t2694 * t2681 - 0.10368e-7 * t2697 * t2681 + 0.20736e-10 * t2700 * t2681 + 0.6912e-8 * t2703 * t2681 - 0.55296e-10 * t2706 * t2681 + 0.10368e-12 * t2709 * t2681; + const double t2713 = t438 * t2712; + const double t2714 = t2262 + t2263 + t2309 + t2310 + t2469 + t2470 + t2629 + t2630 + t2672 + t2673 + t2674 + t2713; + const double t2725 = 0.2e1 * t472 + 0.2e1 * t1380; + const double t2726 = piecewise_functor_3( t7, 0.0, t2725 ); + const double t2731 = t941 * t941; + const double t2732 = t24 * t2731; + const double t2736 = t59 * t399; + const double t2740 = piecewise_functor_3( t12, 0.0, 0.2e1 / 0.9e1 * t1402 * t2736 - t2235 ); + const double t2741 = t481 * t2740; + const double t2746 = piecewise_functor_3( t27, 0.0, t1390 + t2220 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t2732 + 0.3e1 / 0.16e2 * t32 * t38 * t2741 ); + const double t2755 = piecewise_functor_3( t44, 0.0, t1422 + t2246 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t2732 + 0.3e1 / 0.16e2 * t32 * t47 * t2741 ); + const double t2756 = t2746 + t2755; + const double t2760 = piecewise_functor_3( t8, 0.0, t2726 * t52 / 0.2e1 + t937 * t953 + t9 * t2756 / 0.2e1 ); + const double t2761 = t2760 * t104; + const double t2762 = -t2725; + const double t2763 = piecewise_functor_3( t108, 0.0, t2762 ); + const double t2768 = t965 * t965; + const double t2769 = t121 * t2768; + const double t2773 = t962 * t962; + const double t2777 = -0.2e1 * t472 + 0.2e1 * t1519; + const double t2781 = piecewise_functor_3( t113, 0.0, 0.2e1 / 0.9e1 * t1515 * t2773 - t564 * t2777 / 0.6e1 ); + const double t2782 = t561 * t2781; + const double t2787 = piecewise_functor_3( t124, 0.0, t1503 + t2270 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t2769 + 0.3e1 / 0.16e2 * t32 * t38 * t2782 ); + const double t2796 = piecewise_functor_3( t44, 0.0, t1532 + t2295 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t2769 + 0.3e1 / 0.16e2 * t32 * t47 * t2782 ); + const double t2797 = t2787 + t2796; + const double t2801 = piecewise_functor_3( t109, 0.0, t2763 * t134 / 0.2e1 + t960 * t977 + t110 * t2797 / 0.2e1 ); + const double t2802 = t2801 * t181; + const double t2803 = t981 * t1025; + const double t2804 = 0.2e1 * t2803; + const double t2806 = 0.1e1 / t141 / t153; + const double t2810 = t153 * t983; + const double t2812 = 0.1e1 / t140 / t2810; + const double t2813 = t2812 * t158; + const double t2816 = t57 * t162; + const double t2817 = 0.1e1 / t173; + const double t2818 = t2817 * t167; + const double t2825 = t71 * t171; + const double t2826 = t164 * t153; + const double t2828 = 0.1e1 / t141 / t2826; + const double t2829 = t2828 * t177; + const double t2836 = t83 * t1015; + const double t2839 = 0.1e1 / t140 / t164 / t2810; + const double t2840 = t2839 * t1021; + const double t2847 = t171 * t151; + const double t2848 = t93 * t2847; + const double t2849 = t164 * t164; + const double t2850 = t2849 * t139; + const double t2851 = 0.1e1 / t2850; + const double t2853 = 0.1e1 / t176 / t157; + const double t2854 = t2851 * t2853; + const double t2857 = 0.39111111111111111112e-1 * t138 * t2806 * t147 - 0.38400000000000000001e-3 * t989 * t2813 + 0.91022222222222222228e-6 * t2816 * t2818 + 0.54044444444444444444e-3 * t152 * t2813 - 0.48924444444444444446e-5 * t998 * t2818 + 0.10922666666666666667e-7 * t2825 * t2829 + 0.4608e-5 * t163 * t2818 - 0.40277333333333333336e-7 * t1006 * t2829 + 0.8738133333333333334e-10 * t2836 * t2840 + 0.31857777777777777778e-7 * t172 * t2829 - 0.27306666666666666668e-9 * t1016 * t2840 + 0.58254222222222222226e-12 * t2848 * t2854; + const double t2858 = t137 * t2857; + const double t2863 = t936 * t936; + const double t2869 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1564 * t2863 - t596 * t2725 / 0.3e1 ); + const double t2871 = t188 * t190 * t2869; + const double t2873 = t1558 - 0.35616666666666666666e-1 * t2316 + 0.53425e-1 * t2871; + const double t2875 = 0.62182e-1 * t2873 * t218; + const double t2877 = 0.2e1 * t2332 * t1048; + const double t2878 = t1047 * t1047; + const double t2879 = t2878 * t630; + const double t2881 = 0.2e1 * t1583 * t2879; + const double t2882 = t1037 * t1037; + const double t2883 = t1589 * t2882; + const double t2886 = t1593 - 0.2e1 / 0.3e1 * t2316 + t2871; + const double t2887 = t609 * t2886; + const double t2891 = t1601 * t2882; + const double t2893 = t616 * t2886; + const double t2896 = t1030 * t1030; + const double t2898 = t206 * t209 * t2896; + const double t2900 = t193 * t2869; + const double t2902 = t206 * t209 * t2900; + const double t2904 = -0.9494625e0 * t2883 + 0.1898925e1 * t2887 + t1598 - 0.59793333333333333334e0 * t2316 + 0.8969e0 * t2871 + 0.15358125e0 * t2891 + 0.3071625e0 * t2893 + t1611 - 0.32862666666666666666e0 * t2358 + 0.24647e0 * t2898 + 0.24647e0 * t2902; + const double t2905 = t2904 * t630; + const double t2907 = 0.1e1 * t608 * t2905; + const double t2908 = t2878 * t1631; + const double t2910 = 0.16081824322151104822e2 * t1629 * t2908; + const double t2913 = t1635 - 0.34246666666666666666e-1 * t2316 + 0.5137e-1 * t2871; + const double t2918 = t1059 * t1059; + const double t2919 = t2918 * t649; + const double t2931 = -0.17648625e1 * t2883 + 0.3529725e1 * t2887 + t1653 - 0.103295e1 * t2316 + 0.1549425e1 * t2871 + 0.31558125e0 * t2891 + 0.6311625e0 * t2893 + t1658 - 0.41678e0 * t2358 + 0.312585e0 * t2898 + 0.312585e0 * t2902; + const double t2932 = t2931 * t649; + const double t2935 = t2918 * t1670; + const double t2940 = t1674 - 0.18541666666666666667e-1 * t2316 + 0.278125e-1 * t2871; + const double t2941 = t2940 * t249; + const double t2945 = t1071 * t1071; + const double t2946 = t2945 * t668; + const double t2958 = -0.1294625e1 * t2883 + 0.258925e1 * t2887 + t1692 - 0.60385e0 * t2316 + 0.905775e0 * t2871 + 0.82524375e-1 * t2891 + 0.16504875e0 * t2893 + t1697 - 0.33114e0 * t2358 + 0.248355e0 * t2898 + 0.248355e0 * t2902; + const double t2959 = t2958 * t668; + const double t2962 = t2945 * t1709; + const double t2965 = -0.3109e-1 * t2913 * t236 + 0.2e1 * t2382 * t1060 - 0.2e1 * t1646 * t2919 + 0.1e1 * t641 * t2932 + 0.32164683177870697974e2 * t1668 * t2935 + t2875 - t2877 + t2881 - t2907 - t2910 - 0.19751789702565206229e-1 * t2941 + 0.11696446794910408142e1 * t2415 * t1072 - 0.11696446794910408142e1 * t1685 * t2946 + 0.58482233974552040708e0 * t660 * t2959 + 0.17315755899375863299e2 * t1707 * t2962; + const double t2972 = t1684 * t2945 * t668; + const double t2976 = t659 * t2958 * t668; + const double t2979 = t1706 * t2945; + const double t2980 = t2979 * t1709; + const double t2983 = -t2875 + t2877 - t2881 + t2907 + t2910 + t225 * t2965 + 0.19751789702565206229e-1 * t225 * t2941 - 0.11696446794910408142e1 * t2446 * t1080 + 0.11696446794910408142e1 * t676 * t2972 - 0.58482233974552040708e0 * t676 * t2976 - 0.17315755899375863299e2 * t676 * t2980; + const double t2987 = piecewise_functor_3( t8, 0.0, t2726 * t256 / 0.2e1 + t937 * t1083 + t9 * t2983 / 0.2e1 ); + const double t2988 = t2987 * t290; + const double t2993 = t959 * t959; + const double t2999 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t1789 * t2993 - t720 * t2762 / 0.3e1 ); + const double t3001 = t188 * t190 * t2999; + const double t3003 = t1783 - 0.35616666666666666666e-1 * t2476 + 0.53425e-1 * t3001; + const double t3005 = 0.62182e-1 * t3003 * t312; + const double t3007 = 0.2e1 * t2492 * t1110; + const double t3008 = t1109 * t1109; + const double t3009 = t3008 * t751; + const double t3011 = 0.2e1 * t1808 * t3009; + const double t3012 = t1099 * t1099; + const double t3013 = t1814 * t3012; + const double t3016 = t1818 - 0.2e1 / 0.3e1 * t2476 + t3001; + const double t3017 = t733 * t3016; + const double t3021 = t1826 * t3012; + const double t3023 = t740 * t3016; + const double t3026 = t1092 * t1092; + const double t3028 = t206 * t209 * t3026; + const double t3030 = t294 * t2999; + const double t3032 = t206 * t209 * t3030; + const double t3034 = -0.9494625e0 * t3013 + 0.1898925e1 * t3017 + t1823 - 0.59793333333333333334e0 * t2476 + 0.8969e0 * t3001 + 0.15358125e0 * t3021 + 0.3071625e0 * t3023 + t1833 - 0.32862666666666666666e0 * t2518 + 0.24647e0 * t3028 + 0.24647e0 * t3032; + const double t3035 = t3034 * t751; + const double t3037 = 0.1e1 * t732 * t3035; + const double t3038 = t3008 * t1853; + const double t3040 = 0.16081824322151104822e2 * t1851 * t3038; + const double t3043 = t1857 - 0.34246666666666666666e-1 * t2476 + 0.5137e-1 * t3001; + const double t3048 = t1121 * t1121; + const double t3049 = t3048 * t770; + const double t3061 = -0.17648625e1 * t3013 + 0.3529725e1 * t3017 + t1875 - 0.103295e1 * t2476 + 0.1549425e1 * t3001 + 0.31558125e0 * t3021 + 0.6311625e0 * t3023 + t1880 - 0.41678e0 * t2518 + 0.312585e0 * t3028 + 0.312585e0 * t3032; + const double t3062 = t3061 * t770; + const double t3065 = t3048 * t1892; + const double t3070 = t1896 - 0.18541666666666666667e-1 * t2476 + 0.278125e-1 * t3001; + const double t3071 = t3070 * t338; + const double t3075 = t1133 * t1133; + const double t3076 = t3075 * t789; + const double t3088 = -0.1294625e1 * t3013 + 0.258925e1 * t3017 + t1914 - 0.60385e0 * t2476 + 0.905775e0 * t3001 + 0.82524375e-1 * t3021 + 0.16504875e0 * t3023 + t1919 - 0.33114e0 * t2518 + 0.248355e0 * t3028 + 0.248355e0 * t3032; + const double t3089 = t3088 * t789; + const double t3092 = t3075 * t1931; + const double t3095 = -0.3109e-1 * t3043 * t325 + 0.2e1 * t2542 * t1122 - 0.2e1 * t1868 * t3049 + 0.1e1 * t762 * t3062 + 0.32164683177870697974e2 * t1890 * t3065 + t3005 - t3007 + t3011 - t3037 - t3040 - 0.19751789702565206229e-1 * t3071 + 0.11696446794910408142e1 * t2575 * t1134 - 0.11696446794910408142e1 * t1907 * t3076 + 0.58482233974552040708e0 * t781 * t3089 + 0.17315755899375863299e2 * t1929 * t3092; + const double t3102 = t1906 * t3075 * t789; + const double t3106 = t780 * t3088 * t789; + const double t3109 = t1928 * t3075; + const double t3110 = t3109 * t1931; + const double t3113 = -t3005 + t3007 - t3011 + t3037 + t3040 + t225 * t3095 + 0.19751789702565206229e-1 * t225 * t3071 - 0.11696446794910408142e1 * t2606 * t1142 + 0.11696446794910408142e1 * t797 * t3102 - 0.58482233974552040708e0 * t797 * t3106 - 0.17315755899375863299e2 * t797 * t3110; + const double t3117 = piecewise_functor_3( t109, 0.0, t2763 * t345 / 0.2e1 + t960 * t1145 + t110 * t3113 / 0.2e1 ); + const double t3118 = t3117 * t374; + const double t3119 = t1149 * t1178; + const double t3120 = 0.2e1 * t3119; + const double t3124 = t2812 * t358; + const double t3127 = t261 * t162; + const double t3128 = t2817 * t364; + const double t3135 = t269 * t171; + const double t3136 = t2828 * t370; + const double t3143 = t276 * t1015; + const double t3144 = t2839 * t1174; + const double t3151 = t283 * t2847; + const double t3153 = 0.1e1 / t369 / t357; + const double t3154 = t2851 * t3153; + const double t3157 = 0.19555555555555555555e1 * t349 * t2806 * t352 - 0.96000000000000000002e0 * t1154 * t3124 + 0.11377777777777777778e0 * t3127 * t3128 + 0.13511111111111111111e1 * t356 * t3124 - 0.61155555555555555557e0 * t1160 * t3128 + 0.68266666666666666669e-1 * t3135 * t3136 + 0.576e0 * t362 * t3128 - 0.25173333333333333333e0 * t1166 * t3136 + 0.27306666666666666666e-1 * t3143 * t3144 + 0.19911111111111111112e0 * t368 * t3136 - 0.85333333333333333333e-1 * t1172 * t3144 + 0.91022222222222222219e-2 * t3151 * t3154; + const double t3158 = t348 * t3157; + const double t3164 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2028 * t2863 + 0.4e1 / 0.3e1 * t191 * t2725 ); + const double t3170 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2036 * t2993 + 0.4e1 / 0.3e1 * t292 * t2762 ); + const double t3172 = ( t3164 + t3170 ) * t224; + const double t3176 = t3172 * t433; + const double t3179 = -t1986 - t1995 + t1999 - t2006 + t2010 + t2019 + 0.19751789702565206229e-1 * t3172 * t431 - 0.11696446794910408142e1 * t2634 + t400 * t3176 - t2987 - t2026 - 0.8e1 * t2656; + const double t3183 = -0.8e1 * t2659 + 0.2e1 * t2664 + t2056 + t2065 - t2067 - t2069 + t2134 + t2139 + t2142 + t2145 - t2113 - t3117 - 0.36623110073506319882e-3 * t2668; + const double t3184 = t3179 + t3183; + const double t3185 = t3184 * t470; + const double t3186 = t1192 * t1220; + const double t3187 = 0.2e1 * t3186; + const double t3191 = t440 * t151; + const double t3192 = t2812 * t453; + const double t3195 = t460 * t151; + const double t3196 = t3195 * t2812; + const double t3199 = t1198 * t2806; + const double t3202 = t449 * t151; + const double t3209 = t467 * t151; + const double t3210 = t3209 * t2812; + const double t3213 = t1204 * t2806; + const double t3222 = t927 * t151; + const double t3223 = t3222 * t2812; + const double t3226 = t1210 * t2806; + const double t3235 = t2201 * t151; + const double t3242 = 0.29333333333333333333e-1 * t1194 * t2806 * t446 - 0.128e-3 * t3191 * t3192 + 0.384e-6 * t442 * t3196 - 0.88e-4 * t442 * t3199 + 0.128e-3 * t3202 * t3192 - 0.1536e-5 * t909 * t3196 + 0.176e-3 * t909 * t3199 + 0.3456e-8 * t451 * t3210 - 0.528e-6 * t451 * t3213 + 0.1152e-5 * t2179 * t3196 - 0.10368e-7 * t916 * t3210 + 0.792e-6 * t916 * t3213 + 0.20736e-10 * t458 * t3223 - 0.2376e-8 * t458 * t3226 + 0.6912e-8 * t2193 * t3210 - 0.55296e-10 * t923 * t3223 + 0.3168e-8 * t923 * t3226 + 0.10368e-12 * t465 * t3235 * t2812 - 0.9504e-11 * t465 * t1216 * t2806; + const double t3243 = t438 * t3242; + const double t3244 = t2761 + t2802 + t2804 + t2858 + t2988 + t3118 + t3120 + t3158 + t3185 + t3187 + t3243; + const double t3246 = t509 * t1248; + const double t3250 = t57 * t520; + const double t3251 = t79 * sigma_aa; + const double t3272 = t1486 * rho_a; + const double t3273 = 0.1e1 / t3272; + const double t3274 = t3273 * t1490; + const double t3277 = -0.10666666666666666667e-1 * t57 * t513 * t67 + 0.128e-3 * t3250 * t3251 - 0.34133333333333333334e-6 * t517 * t529 - 0.17066666666666666667e-3 * t1229 * t521 + 0.17066666666666666667e-5 * t73 * t529 - 0.40960000000000000001e-8 * t526 * t538 - 0.1536e-5 * t1234 * t529 + 0.14336e-7 * t85 * t538 - 0.32768000000000000001e-10 * t534 * t550 - 0.10922666666666666667e-7 * t1239 * t538 + 0.98304000000000000001e-10 * t95 * t550 - 0.21845333333333333334e-12 * t544 * t3274; + const double t3278 = t55 * t3277; + const double t3279 = t685 * t1271; + const double t3283 = t261 * t520; + const double t3284 = t272 * sigma_aa; + const double t3305 = t3273 * t1772; + const double t3308 = -0.53333333333333333333e0 * t261 * t513 * t265 + 0.32e0 * t3283 * t3284 - 0.42666666666666666668e-1 * t690 * t697 - 0.42666666666666666667e0 * t1255 * t691 + 0.21333333333333333334e0 * t270 * t697 - 0.256e-1 * t696 * t703 - 0.192e0 * t1260 * t697 + 0.896e-1 * t277 * t703 - 0.1024e-1 * t702 * t711 - 0.68266666666666666667e-1 * t1265 * t703 + 0.3072e-1 * t284 * t711 - 0.34133333333333333332e-2 * t708 * t3305; + const double t3309 = t259 * t3308; + const double t3310 = t899 * t1294; + const double t3311 = t440 * t513; + const double t3314 = t440 * t520; + const double t3317 = t460 * t520; + const double t3318 = t3317 * sigma_aa; + const double t3321 = t453 * t513; + const double t3331 = t467 * t520; + const double t3332 = t3331 * sigma_aa; + const double t3335 = t460 * t513; + const double t3344 = t927 * t520; + const double t3345 = t3344 * sigma_aa; + const double t3348 = t467 * t513; + const double t3357 = t2201 * t520; + const double t3364 = -0.8e-2 * t3311 * t446 + 0.48e-4 * t3314 * t905 - 0.144e-6 * t442 * t3318 + 0.24e-4 * t442 * t3321 - 0.48e-4 * t2684 * t520 * t453 + 0.576e-6 * t909 * t3318 - 0.48e-4 * t909 * t3321 - 0.1296e-8 * t451 * t3332 + 0.144e-6 * t451 * t3335 - 0.432e-6 * t2179 * t3318 + 0.3888e-8 * t916 * t3332 - 0.216e-6 * t916 * t3335 - 0.7776e-11 * t458 * t3345 + 0.648e-9 * t458 * t3348 - 0.2592e-8 * t2193 * t3332 + 0.20736e-10 * t923 * t3345 - 0.864e-9 * t923 * t3348 - 0.3888e-13 * t465 * t3357 * sigma_aa + 0.2592e-11 * t465 * t927 * t513; + const double t3365 = t438 * t3364; + const double t3368 = t587 * t1321; + const double t3369 = t806 * t1344; + const double t3370 = t899 * t1367; + const double t3373 = t143 * sigma_aa; + const double t3374 = t3373 * t513; + const double t3396 = 0.48e-4 * t1346 * t906 - 0.144e-6 * t2678 * t3374 - 0.48e-4 * t2684 * t3321 * t143 + 0.576e-6 * t2688 * t3374 - 0.1296e-8 * t2691 * t3374 - 0.432e-6 * t2694 * t3374 + 0.3888e-8 * t2697 * t3374 - 0.7776e-11 * t2700 * t3374 - 0.2592e-8 * t2703 * t3374 + 0.20736e-10 * t2706 * t3374 - 0.3888e-13 * t2709 * t3374; + const double t3397 = t438 * t3396; + const double t3400 = t957 * t1248; + const double t3401 = t1087 * t1271; + const double t3402 = t1192 * t1294; + const double t3405 = t63 * sigma_bb; + const double t3406 = t3405 * t985; + const double t3409 = t449 * sigma_bb; + const double t3410 = t985 * t453; + const double t3430 = 0.48e-4 * t1273 * t1199 - 0.144e-6 * t2678 * t3406 - 0.48e-4 * t3409 * t3410 * t63 + 0.576e-6 * t2688 * t3406 - 0.1296e-8 * t2691 * t3406 - 0.432e-6 * t2694 * t3406 + 0.3888e-8 * t2697 * t3406 - 0.7776e-11 * t2700 * t3406 - 0.2592e-8 * t2703 * t3406 + 0.20736e-10 * t2706 * t3406 - 0.3888e-13 * t2709 * t3406; + const double t3431 = t438 * t3430; + const double t3434 = t981 * t1321; + const double t3438 = t57 * t992; + const double t3439 = t158 * sigma_bb; + const double t3460 = t2849 * rho_b; + const double t3461 = 0.1e1 / t3460; + const double t3462 = t3461 * t2853; + const double t3465 = -0.10666666666666666667e-1 * t57 * t985 * t147 + 0.128e-3 * t3438 * t3439 - 0.34133333333333333334e-6 * t989 * t1001 - 0.17066666666666666667e-3 * t1302 * t993 + 0.17066666666666666667e-5 * t152 * t1001 - 0.40960000000000000001e-8 * t998 * t1010 - 0.1536e-5 * t1307 * t1001 + 0.14336e-7 * t163 * t1010 - 0.32768000000000000001e-10 * t1006 * t1022 - 0.10922666666666666667e-7 * t1312 * t1010 + 0.98304000000000000001e-10 * t172 * t1022 - 0.21845333333333333334e-12 * t1016 * t3462; + const double t3466 = t137 * t3465; + const double t3467 = t1149 * t1344; + const double t3471 = t261 * t992; + const double t3472 = t358 * sigma_bb; + const double t3493 = t3461 * t3153; + const double t3496 = -0.53333333333333333333e0 * t261 * t985 * t352 + 0.32e0 * t3471 * t3472 - 0.42666666666666666668e-1 * t1154 * t1161 - 0.42666666666666666667e0 * t1328 * t1155 + 0.21333333333333333334e0 * t356 * t1161 - 0.256e-1 * t1160 * t1167 - 0.192e0 * t1333 * t1161 + 0.896e-1 * t362 * t1167 - 0.1024e-1 * t1166 * t1175 - 0.68266666666666666667e-1 * t1338 * t1167 + 0.3072e-1 * t368 * t1175 - 0.34133333333333333332e-2 * t1172 * t3493; + const double t3497 = t348 * t3496; + const double t3498 = t1192 * t1367; + const double t3499 = t440 * t985; + const double t3502 = t440 * t992; + const double t3505 = t460 * t992; + const double t3506 = t3505 * sigma_bb; + const double t3518 = t467 * t992; + const double t3519 = t3518 * sigma_bb; + const double t3522 = t460 * t985; + const double t3531 = t927 * t992; + const double t3532 = t3531 * sigma_bb; + const double t3535 = t467 * t985; + const double t3544 = t2201 * t992; + const double t3548 = t927 * t985; + const double t3551 = -0.8e-2 * t3499 * t446 + 0.48e-4 * t3502 * t1198 - 0.144e-6 * t442 * t3506 + 0.24e-4 * t442 * t3410 - 0.48e-4 * t3409 * t992 * t453 + 0.576e-6 * t909 * t3506 - 0.48e-4 * t909 * t3410 - 0.1296e-8 * t451 * t3519 + 0.144e-6 * t451 * t3522 - 0.432e-6 * t2179 * t3506 + 0.3888e-8 * t916 * t3519 - 0.216e-6 * t916 * t3522 - 0.7776e-11 * t458 * t3532 + 0.648e-9 * t458 * t3535 - 0.2592e-8 * t2193 * t3519 + 0.20736e-10 * t923 * t3532 - 0.864e-9 * t923 * t3535 - 0.3888e-13 * t465 * t3544 * sigma_bb + 0.2592e-11 * t465 * t3548; + const double t3552 = t438 * t3551; + const double t3567 = t83 * sigma_aa; + const double t3574 = t93 * t72; + const double t3579 = 0.1e1 / t1486; + const double t3580 = t3579 * t1490; + const double t3583 = -0.32e-4 * t57 * t77 * t79 + 0.128e-6 * t58 * t90 + 0.32e-4 * t71 * t77 * t79 - 0.512e-6 * t1229 * t90 + 0.1536e-8 * t73 * t101 + 0.384e-6 * t3567 * t90 - 0.4608e-8 * t1234 * t101 + 0.12288e-10 * t85 * t1245 + 0.3072e-8 * t3574 * t101 - 0.32768e-10 * t1239 * t1245 + 0.8192e-13 * t95 * t3580; + const double t3584 = t55 * t3583; + const double t3597 = t276 * sigma_aa; + const double t3604 = t283 * t72; + const double t3609 = t3579 * t1772; + const double t3612 = -0.8e-1 * t261 * t77 * t272 + 0.16e-1 * t262 * t280 + 0.8e-1 * t269 * t77 * t272 - 0.64e-1 * t1255 * t280 + 0.96e-2 * t270 * t287 + 0.48e-1 * t3597 * t280 - 0.288e-1 * t1260 * t287 + 0.384e-2 * t277 * t1268 + 0.192e-1 * t3604 * t287 - 0.1024e-1 * t1265 * t1268 + 0.128e-2 * t284 * t3609; + const double t3613 = t259 * t3612; + const double t3614 = t440 * t77; + const double t3617 = t460 * t77; + const double t3620 = t449 * t77; + const double t3625 = t467 * t77; + const double t3632 = t927 * t77; + const double t3642 = -0.18e-4 * t3614 * t453 + 0.54e-7 * t442 * t3617 + 0.18e-4 * t3620 * t453 - 0.216e-6 * t909 * t3617 + 0.486e-9 * t451 * t3625 + 0.162e-6 * t2179 * t3617 - 0.1458e-8 * t916 * t3625 + 0.2916e-11 * t458 * t3632 + 0.972e-9 * t2193 * t3625 - 0.7776e-11 * t923 * t3632 + 0.1458e-13 * t465 * t2201 * t77; + const double t3643 = t438 * t3642; + const double t3645 = t3 * t438; + const double t3648 = t1354 * t63; + const double t3651 = t449 * t63; + const double t3656 = t1359 * t63; + const double t3663 = t1364 * t63; + const double t3670 = t2201 * t143; + const double t3674 = -0.18e-4 * t1346 * t1276 + 0.54e-7 * t442 * t3648 + 0.18e-4 * t3651 * t1349 - 0.216e-6 * t909 * t3648 + 0.486e-9 * t451 * t3656 + 0.162e-6 * t2179 * t3648 - 0.1458e-8 * t916 * t3656 + 0.2916e-11 * t458 * t3663 + 0.972e-9 * t2193 * t3656 - 0.7776e-11 * t923 * t3663 + 0.1458e-13 * t465 * t3670 * t63; + const double t3687 = t83 * sigma_bb; + const double t3694 = t93 * t151; + const double t3699 = 0.1e1 / t2849; + const double t3700 = t3699 * t2853; + const double t3703 = -0.32e-4 * t57 * t156 * t158 + 0.128e-6 * t138 * t168 + 0.32e-4 * t71 * t156 * t158 - 0.512e-6 * t1302 * t168 + 0.1536e-8 * t152 * t178 + 0.384e-6 * t3687 * t168 - 0.4608e-8 * t1307 * t178 + 0.12288e-10 * t163 * t1318 + 0.3072e-8 * t3694 * t178 - 0.32768e-10 * t1312 * t1318 + 0.8192e-13 * t172 * t3700; + const double t3704 = t137 * t3703; + const double t3717 = t276 * sigma_bb; + const double t3724 = t283 * t151; + const double t3729 = t3699 * t3153; + const double t3732 = -0.8e-1 * t261 * t156 * t358 + 0.16e-1 * t349 * t365 + 0.8e-1 * t269 * t156 * t358 - 0.64e-1 * t1328 * t365 + 0.96e-2 * t356 * t371 + 0.48e-1 * t3717 * t365 - 0.288e-1 * t1333 * t371 + 0.384e-2 * t362 * t1341 + 0.192e-1 * t3724 * t371 - 0.1024e-1 * t1338 * t1341 + 0.128e-2 * t368 * t3729; + const double t3733 = t348 * t3732; + const double t3734 = t440 * t156; + const double t3737 = t460 * t156; + const double t3740 = t449 * t156; + const double t3745 = t467 * t156; + const double t3752 = t927 * t156; + const double t3759 = t2201 * t156; + const double t3762 = -0.18e-4 * t3734 * t453 + 0.54e-7 * t442 * t3737 + 0.18e-4 * t3740 * t453 - 0.216e-6 * t909 * t3737 + 0.486e-9 * t451 * t3745 + 0.162e-6 * t2179 * t3737 - 0.1458e-8 * t916 * t3745 + 0.2916e-11 * t458 * t3752 + 0.972e-9 * t2193 * t3745 - 0.7776e-11 * t923 * t3752 + 0.1458e-13 * t465 * t3759; + const double t3763 = t438 * t3762; + + + v2rho2_aa = t3 * t2211 + 0.2e1 * t510 + 0.2e1 * t554 + 0.2e1 * t588 + 0.2e1 * t686 + 0.2e1 * t715 + 0.2e1 * t807 + 0.2e1 * t900 + 0.2e1 * t933; + v2rho2_ab = t3 * t2714 + t1026 + t1088 + t1150 + t1179 + t1193 + t1221 + t510 + t554 + t588 + t686 + t715 + t807 + t900 + t933 + t958 + t982; + v2rho2_bb = t3 * t3244 + 0.2e1 * t1026 + 0.2e1 * t1088 + 0.2e1 * t1150 + 0.2e1 * t1179 + 0.2e1 * t1193 + 0.2e1 * t1221 + 0.2e1 * t958 + 0.2e1 * t982; + v2rhosigma_a_aa = t1249 + t1272 + t1295 + t3 * ( t3246 + t3278 + t3279 + t3309 + t3310 + t3365 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1322 + t1345 + t1368 + t3 * ( t3368 + t3369 + t3370 + t3397 ); + v2rhosigma_b_aa = t1249 + t1272 + t1295 + t3 * ( t3400 + t3401 + t3402 + t3431 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1322 + t1345 + t1368 + t3 * ( t3434 + t3466 + t3467 + t3497 + t3498 + t3552 ); + v2sigma2_aa_aa = t3 * ( t3584 + t3613 + t3643 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t3645 * t3674; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t3704 + t3733 + t3763 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t15 = constants::m_cbrt_2; + constexpr double t28 = constants::m_cbrt_3; + constexpr double t29 = constants::m_cbrt_pi; + constexpr double t184 = constants::m_cbrt_one_ov_pi; + constexpr double t186 = constants::m_cbrt_4; + constexpr double t16 = t15 * t15; + constexpr double t31 = t28 / t29; + constexpr double t32 = t31 * t16; + constexpr double t56 = c_x_0; + constexpr double t57 = c_x_1; + constexpr double t71 = c_x_2; + constexpr double t83 = c_x_3; + constexpr double t93 = c_x_4; + constexpr double t185 = t28 * t184; + constexpr double t187 = t186 * t186; + constexpr double t188 = t185 * t187; + constexpr double t203 = t28 * t28; + constexpr double t204 = t184 * t184; + constexpr double t205 = t203 * t204; + constexpr double t206 = t205 * t186; + constexpr double t260 = c_ss_0; + constexpr double t261 = c_ss_1; + constexpr double t269 = c_ss_2; + constexpr double t276 = c_ss_3; + constexpr double t283 = c_ss_4; + constexpr double t440 = c_ab_1; + constexpr double t449 = c_ab_2; + constexpr double t456 = c_ab_3; + constexpr double t463 = c_ab_4; + constexpr double t817 = t184 * t187; + constexpr double t1963 = t204 * t186; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t10 = rho_a * t4; + const double t12 = 0.2e1 * t10 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( t10 ); + const double t21 = piecewise_functor_3( t12, t14, t16 / t17 / 0.2e1 ); + const double t22 = t21 * t21; + const double t24 = 0.1e1 / t22 / t21; + const double t27 = t3 * t24 / 0.2e1 <= dens_tol; + const double t34 = t13 * zeta_tol; + const double t36 = piecewise_functor_3( 0.2e1 <= zeta_tol, t34, 0.2e1 * t15 ); + const double t37 = safe_math::cbrt( t3 ); + const double t38 = t36 * t37; + const double t39 = 0.1e1 / t21; + const double t43 = piecewise_functor_3( t27, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t39 ); + const double t44 = 0.e0 <= dens_tol; + const double t46 = piecewise_functor_3( 0.e0 <= zeta_tol, t34, 0.0 ); + const double t47 = t46 * t37; + const double t51 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t39 ); + const double t52 = t43 + t51; + const double t55 = piecewise_functor_3( t8, 0.0, t9 * t52 / 0.2e1 ); + const double t58 = t57 * sigma_aa; + const double t59 = rho_a * rho_a; + const double t60 = safe_math::cbrt( rho_a ); + const double t61 = t60 * t60; + const double t63 = 0.1e1 / t61 / t59; + const double t64 = sigma_aa * t63; + const double t66 = 0.1e1 + 0.4e-2 * t64; + const double t67 = 0.1e1 / t66; + const double t72 = sigma_aa * sigma_aa; + const double t73 = t71 * t72; + const double t74 = t59 * t59; + const double t75 = t74 * rho_a; + const double t77 = 0.1e1 / t60 / t75; + const double t78 = t66 * t66; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t84 = t72 * sigma_aa; + const double t85 = t83 * t84; + const double t86 = t74 * t74; + const double t87 = 0.1e1 / t86; + const double t88 = t78 * t66; + const double t89 = 0.1e1 / t88; + const double t90 = t87 * t89; + const double t94 = t72 * t72; + const double t95 = t93 * t94; + const double t96 = t86 * t59; + const double t98 = 0.1e1 / t61 / t96; + const double t99 = t78 * t78; + const double t100 = 0.1e1 / t99; + const double t101 = t98 * t100; + const double t104 = t56 + 0.4e-2 * t58 * t63 * t67 + 0.16e-4 * t73 * t80 + 0.64e-7 * t85 * t90 + 0.256e-9 * t95 * t101; + const double t105 = t55 * t104; + const double t107 = 0.1e1 - t5; + const double t108 = t107 <= zeta_tol; + const double t109 = rho_b <= dens_tol || t108; + const double t110 = piecewise_functor_3( t108, zeta_tol, t107 ); + const double t111 = rho_b * t4; + const double t113 = 0.2e1 * t111 <= zeta_tol; + const double t114 = safe_math::cbrt( t111 ); + const double t118 = piecewise_functor_3( t113, t14, t16 / t114 / 0.2e1 ); + const double t119 = t118 * t118; + const double t121 = 0.1e1 / t119 / t118; + const double t124 = t3 * t121 / 0.2e1 <= dens_tol; + const double t125 = 0.1e1 / t118; + const double t129 = piecewise_functor_3( t124, 0.0, -0.3e1 / 0.16e2 * t32 * t38 * t125 ); + const double t133 = piecewise_functor_3( t44, 0.0, -0.3e1 / 0.16e2 * t32 * t47 * t125 ); + const double t134 = t129 + t133; + const double t137 = piecewise_functor_3( t109, 0.0, t110 * t134 / 0.2e1 ); + const double t138 = t57 * sigma_bb; + const double t139 = rho_b * rho_b; + const double t140 = safe_math::cbrt( rho_b ); + const double t141 = t140 * t140; + const double t143 = 0.1e1 / t141 / t139; + const double t144 = sigma_bb * t143; + const double t146 = 0.1e1 + 0.4e-2 * t144; + const double t147 = 0.1e1 / t146; + const double t151 = sigma_bb * sigma_bb; + const double t152 = t71 * t151; + const double t153 = t139 * t139; + const double t154 = t153 * rho_b; + const double t156 = 0.1e1 / t140 / t154; + const double t157 = t146 * t146; + const double t158 = 0.1e1 / t157; + const double t159 = t156 * t158; + const double t162 = t151 * sigma_bb; + const double t163 = t83 * t162; + const double t164 = t153 * t153; + const double t165 = 0.1e1 / t164; + const double t166 = t157 * t146; + const double t167 = 0.1e1 / t166; + const double t168 = t165 * t167; + const double t171 = t151 * t151; + const double t172 = t93 * t171; + const double t173 = t164 * t139; + const double t175 = 0.1e1 / t141 / t173; + const double t176 = t157 * t157; + const double t177 = 0.1e1 / t176; + const double t178 = t175 * t177; + const double t181 = t56 + 0.4e-2 * t138 * t143 * t147 + 0.16e-4 * t152 * t159 + 0.64e-7 * t163 * t168 + 0.256e-9 * t172 * t178; + const double t182 = t137 * t181; + const double t189 = 0.1e1 / t37; + const double t190 = t189 * t15; + const double t191 = safe_math::cbrt( t6 ); + const double t193 = piecewise_functor_3( t7, t14, 0.1e1 / t191 ); + const double t195 = t188 * t190 * t193; + const double t197 = 0.1e1 + 0.53425e-1 * t195; + const double t198 = safe_math::sqrt( t195 ); + const double t201 = pow_3_2( t195 ); + const double t207 = t37 * t37; + const double t208 = 0.1e1 / t207; + const double t209 = t208 * t16; + const double t210 = t193 * t193; + const double t212 = t206 * t209 * t210; + const double t214 = 0.379785e1 * t198 + 0.8969e0 * t195 + 0.204775e0 * t201 + 0.123235e0 * t212; + const double t217 = 0.1e1 + 0.16081824322151104822e2 / t214; + const double t218 = safe_math::log( t217 ); + const double t220 = 0.62182e-1 * t197 * t218; + const double t224 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t225 = ( t36 + t46 - 0.2e1 ) * t224; + const double t227 = 0.1e1 + 0.5137e-1 * t195; + const double t232 = 0.705945e1 * t198 + 0.1549425e1 * t195 + 0.420775e0 * t201 + 0.1562925e0 * t212; + const double t235 = 0.1e1 + 0.32164683177870697974e2 / t232; + const double t236 = safe_math::log( t235 ); + const double t240 = 0.1e1 + 0.278125e-1 * t195; + const double t245 = 0.51785e1 * t198 + 0.905775e0 * t195 + 0.1100325e0 * t201 + 0.1241775e0 * t212; + const double t248 = 0.1e1 + 0.29608574643216675549e2 / t245; + const double t249 = safe_math::log( t248 ); + const double t250 = t240 * t249; + const double t256 = -t220 + t225 * ( -0.3109e-1 * t227 * t236 + t220 - 0.19751789702565206229e-1 * t250 ) + 0.19751789702565206229e-1 * t225 * t250; + const double t259 = piecewise_functor_3( t8, 0.0, t9 * t256 / 0.2e1 ); + const double t262 = t261 * sigma_aa; + const double t264 = 0.1e1 + 0.2e0 * t64; + const double t265 = 0.1e1 / t264; + const double t270 = t269 * t72; + const double t271 = t264 * t264; + const double t272 = 0.1e1 / t271; + const double t273 = t77 * t272; + const double t277 = t276 * t84; + const double t278 = t271 * t264; + const double t279 = 0.1e1 / t278; + const double t280 = t87 * t279; + const double t284 = t283 * t94; + const double t285 = t271 * t271; + const double t286 = 0.1e1 / t285; + const double t287 = t98 * t286; + const double t290 = t260 + 0.2e0 * t262 * t63 * t265 + 0.4e-1 * t270 * t273 + 0.8e-2 * t277 * t280 + 0.16e-2 * t284 * t287; + const double t291 = t259 * t290; + const double t292 = safe_math::cbrt( t107 ); + const double t294 = piecewise_functor_3( t108, t14, 0.1e1 / t292 ); + const double t296 = t188 * t190 * t294; + const double t298 = 0.1e1 + 0.53425e-1 * t296; + const double t299 = safe_math::sqrt( t296 ); + const double t302 = pow_3_2( t296 ); + const double t304 = t294 * t294; + const double t306 = t206 * t209 * t304; + const double t308 = 0.379785e1 * t299 + 0.8969e0 * t296 + 0.204775e0 * t302 + 0.123235e0 * t306; + const double t311 = 0.1e1 + 0.16081824322151104822e2 / t308; + const double t312 = safe_math::log( t311 ); + const double t314 = 0.62182e-1 * t298 * t312; + const double t316 = 0.1e1 + 0.5137e-1 * t296; + const double t321 = 0.705945e1 * t299 + 0.1549425e1 * t296 + 0.420775e0 * t302 + 0.1562925e0 * t306; + const double t324 = 0.1e1 + 0.32164683177870697974e2 / t321; + const double t325 = safe_math::log( t324 ); + const double t329 = 0.1e1 + 0.278125e-1 * t296; + const double t334 = 0.51785e1 * t299 + 0.905775e0 * t296 + 0.1100325e0 * t302 + 0.1241775e0 * t306; + const double t337 = 0.1e1 + 0.29608574643216675549e2 / t334; + const double t338 = safe_math::log( t337 ); + const double t339 = t329 * t338; + const double t345 = -t314 + t225 * ( -0.3109e-1 * t316 * t325 + t314 - 0.19751789702565206229e-1 * t339 ) + 0.19751789702565206229e-1 * t225 * t339; + const double t348 = piecewise_functor_3( t109, 0.0, t110 * t345 / 0.2e1 ); + const double t349 = t261 * sigma_bb; + const double t351 = 0.1e1 + 0.2e0 * t144; + const double t352 = 0.1e1 / t351; + const double t356 = t269 * t151; + const double t357 = t351 * t351; + const double t358 = 0.1e1 / t357; + const double t359 = t156 * t358; + const double t362 = t276 * t162; + const double t363 = t357 * t351; + const double t364 = 0.1e1 / t363; + const double t365 = t165 * t364; + const double t368 = t283 * t171; + const double t369 = t357 * t357; + const double t370 = 0.1e1 / t369; + const double t371 = t175 * t370; + const double t374 = t260 + 0.2e0 * t349 * t143 * t352 + 0.4e-1 * t356 * t359 + 0.8e-2 * t362 * t365 + 0.16e-2 * t368 * t371; + const double t375 = t348 * t374; + const double t377 = t185 * t187 * t189; + const double t379 = 0.1e1 + 0.53425e-1 * t377; + const double t380 = safe_math::sqrt( t377 ); + const double t383 = pow_3_2( t377 ); + const double t386 = t205 * t186 * t208; + const double t388 = 0.379785e1 * t380 + 0.8969e0 * t377 + 0.204775e0 * t383 + 0.123235e0 * t386; + const double t391 = 0.1e1 + 0.16081824322151104822e2 / t388; + const double t392 = safe_math::log( t391 ); + const double t394 = 0.62182e-1 * t379 * t392; + const double t395 = t2 * t2; + const double t396 = t395 * t395; + const double t397 = t3 * t3; + const double t398 = t397 * t397; + const double t399 = 0.1e1 / t398; + const double t400 = t396 * t399; + const double t401 = t191 * t6; + const double t402 = piecewise_functor_3( t7, t34, t401 ); + const double t403 = t292 * t107; + const double t404 = piecewise_functor_3( t108, t34, t403 ); + const double t405 = t402 + t404 - 0.2e1; + const double t406 = t405 * t224; + const double t408 = 0.1e1 + 0.5137e-1 * t377; + const double t413 = 0.705945e1 * t380 + 0.1549425e1 * t377 + 0.420775e0 * t383 + 0.1562925e0 * t386; + const double t416 = 0.1e1 + 0.32164683177870697974e2 / t413; + const double t417 = safe_math::log( t416 ); + const double t421 = 0.1e1 + 0.278125e-1 * t377; + const double t426 = 0.51785e1 * t380 + 0.905775e0 * t377 + 0.1100325e0 * t383 + 0.1241775e0 * t386; + const double t429 = 0.1e1 + 0.29608574643216675549e2 / t426; + const double t430 = safe_math::log( t429 ); + const double t431 = t421 * t430; + const double t433 = -0.3109e-1 * t408 * t417 + t394 - 0.19751789702565206229e-1 * t431; + const double t434 = t406 * t433; + const double t438 = -t394 + t400 * t434 + 0.19751789702565206229e-1 * t406 * t431 - t259 - t348; + const double t441 = t64 + t144; + const double t442 = t440 * t441; + const double t445 = 0.1e1 + 0.3e-2 * t64 + 0.3e-2 * t144; + const double t446 = 0.1e1 / t445; + const double t450 = t441 * t441; + const double t451 = t449 * t450; + const double t452 = t445 * t445; + const double t453 = 0.1e1 / t452; + const double t457 = t450 * t441; + const double t458 = t456 * t457; + const double t459 = t452 * t445; + const double t460 = 0.1e1 / t459; + const double t464 = t450 * t450; + const double t465 = t463 * t464; + const double t466 = t452 * t452; + const double t467 = 0.1e1 / t466; + const double t470 = c_ab_0 + 0.3e-2 * t442 * t446 + 0.9e-5 * t451 * t453 + 0.27e-7 * t458 * t460 + 0.81e-10 * t465 * t467; + const double t471 = t438 * t470; + const double t472 = 0.1e1 / t397; + const double t473 = t2 * t472; + const double t474 = t4 - t473; + const double t475 = piecewise_functor_3( t7, 0.0, t474 ); + const double t477 = t36 * t208; + const double t480 = t32 * t477 * t39 / 0.16e2; + const double t481 = 0.1e1 / t22; + const double t484 = t16 / t17 / t10; + const double t485 = rho_a * t472; + const double t486 = t4 - t485; + const double t489 = piecewise_functor_3( t12, 0.0, -t484 * t486 / 0.6e1 ); + const double t490 = t481 * t489; + const double t495 = piecewise_functor_3( t27, 0.0, -t480 + 0.3e1 / 0.16e2 * t32 * t38 * t490 ); + const double t496 = t46 * t208; + const double t499 = t32 * t496 * t39 / 0.16e2; + const double t504 = piecewise_functor_3( t44, 0.0, -t499 + 0.3e1 / 0.16e2 * t32 * t47 * t490 ); + const double t505 = t495 + t504; + const double t509 = piecewise_functor_3( t8, 0.0, t475 * t52 / 0.2e1 + t9 * t505 / 0.2e1 ); + const double t510 = t509 * t104; + const double t511 = t59 * rho_a; + const double t513 = 0.1e1 / t61 / t511; + const double t517 = t57 * t72; + const double t518 = t74 * t59; + const double t520 = 0.1e1 / t60 / t518; + const double t521 = t520 * t79; + const double t526 = t71 * t84; + const double t527 = t86 * rho_a; + const double t528 = 0.1e1 / t527; + const double t529 = t528 * t89; + const double t534 = t83 * t94; + const double t535 = t86 * t511; + const double t537 = 0.1e1 / t61 / t535; + const double t538 = t537 * t100; + const double t543 = t94 * sigma_aa; + const double t544 = t93 * t543; + const double t545 = t86 * t518; + const double t547 = 0.1e1 / t60 / t545; + const double t549 = 0.1e1 / t99 / t66; + const double t550 = t547 * t549; + const double t553 = -0.10666666666666666667e-1 * t58 * t513 * t67 + 0.42666666666666666668e-4 * t517 * t521 - 0.85333333333333333333e-4 * t73 * t521 + 0.34133333333333333334e-6 * t526 * t529 - 0.512e-6 * t85 * t529 + 0.20480000000000000001e-8 * t534 * t538 - 0.27306666666666666667e-8 * t95 * t538 + 0.10922666666666666667e-10 * t544 * t550; + const double t554 = t55 * t553; + const double t555 = -t474; + const double t556 = piecewise_functor_3( t108, 0.0, t555 ); + const double t560 = t32 * t477 * t125 / 0.16e2; + const double t561 = 0.1e1 / t119; + const double t564 = t16 / t114 / t111; + const double t565 = rho_b * t472; + const double t568 = piecewise_functor_3( t113, 0.0, t564 * t565 / 0.6e1 ); + const double t569 = t561 * t568; + const double t574 = piecewise_functor_3( t124, 0.0, -t560 + 0.3e1 / 0.16e2 * t32 * t38 * t569 ); + const double t577 = t32 * t496 * t125 / 0.16e2; + const double t582 = piecewise_functor_3( t44, 0.0, -t577 + 0.3e1 / 0.16e2 * t32 * t47 * t569 ); + const double t583 = t574 + t582; + const double t587 = piecewise_functor_3( t109, 0.0, t110 * t583 / 0.2e1 + t556 * t134 / 0.2e1 ); + const double t588 = t587 * t181; + const double t591 = 0.1e1 / t37 / t3; + const double t592 = t591 * t15; + const double t594 = t188 * t592 * t193; + const double t595 = 0.17808333333333333333e-1 * t594; + const double t596 = 0.1e1 / t401; + const double t599 = piecewise_functor_3( t7, 0.0, -t596 * t474 / 0.3e1 ); + const double t601 = t188 * t190 * t599; + const double t603 = -t595 + 0.53425e-1 * t601; + const double t605 = 0.62182e-1 * t603 * t218; + const double t606 = t214 * t214; + const double t607 = 0.1e1 / t606; + const double t608 = t197 * t607; + const double t609 = 0.1e1 / t198; + const double t610 = t594 / 0.3e1; + const double t611 = -t610 + t601; + const double t612 = t609 * t611; + const double t614 = 0.29896666666666666667e0 * t594; + const double t616 = safe_math::sqrt( t195 ); + const double t617 = t616 * t611; + const double t620 = 0.1e1 / t207 / t3; + const double t621 = t620 * t16; + const double t623 = t206 * t621 * t210; + const double t624 = 0.82156666666666666667e-1 * t623; + const double t625 = t193 * t599; + const double t627 = t206 * t209 * t625; + const double t629 = 0.1898925e1 * t612 - t614 + 0.8969e0 * t601 + 0.3071625e0 * t617 - t624 + 0.24647e0 * t627; + const double t630 = 0.1e1 / t217; + const double t631 = t629 * t630; + const double t633 = 0.1e1 * t608 * t631; + const double t634 = 0.17123333333333333333e-1 * t594; + const double t636 = -t634 + 0.5137e-1 * t601; + const double t639 = t232 * t232; + const double t640 = 0.1e1 / t639; + const double t641 = t227 * t640; + const double t643 = 0.516475e0 * t594; + const double t646 = 0.104195e0 * t623; + const double t648 = 0.3529725e1 * t612 - t643 + 0.1549425e1 * t601 + 0.6311625e0 * t617 - t646 + 0.312585e0 * t627; + const double t649 = 0.1e1 / t235; + const double t650 = t648 * t649; + const double t653 = 0.92708333333333333333e-2 * t594; + const double t655 = -t653 + 0.278125e-1 * t601; + const double t656 = t655 * t249; + const double t658 = t245 * t245; + const double t659 = 0.1e1 / t658; + const double t660 = t240 * t659; + const double t662 = 0.301925e0 * t594; + const double t665 = 0.82785e-1 * t623; + const double t667 = 0.258925e1 * t612 - t662 + 0.905775e0 * t601 + 0.16504875e0 * t617 - t665 + 0.248355e0 * t627; + const double t668 = 0.1e1 / t248; + const double t669 = t667 * t668; + const double t676 = t225 * t240; + const double t678 = t659 * t667 * t668; + const double t681 = -t605 + t633 + t225 * ( -0.3109e-1 * t636 * t236 + 0.1e1 * t641 * t650 + t605 - t633 - 0.19751789702565206229e-1 * t656 + 0.58482233974552040708e0 * t660 * t669 ) + 0.19751789702565206229e-1 * t225 * t656 - 0.58482233974552040708e0 * t676 * t678; + const double t685 = piecewise_functor_3( t8, 0.0, t475 * t256 / 0.2e1 + t9 * t681 / 0.2e1 ); + const double t686 = t685 * t290; + const double t690 = t261 * t72; + const double t691 = t520 * t272; + const double t696 = t269 * t84; + const double t697 = t528 * t279; + const double t702 = t276 * t94; + const double t703 = t537 * t286; + const double t708 = t283 * t543; + const double t710 = 0.1e1 / t285 / t264; + const double t711 = t547 * t710; + const double t714 = -0.53333333333333333333e0 * t262 * t513 * t265 + 0.10666666666666666667e0 * t690 * t691 - 0.21333333333333333333e0 * t270 * t691 + 0.42666666666666666668e-1 * t696 * t697 - 0.64e-1 * t277 * t697 + 0.128e-1 * t702 * t703 - 0.17066666666666666667e-1 * t284 * t703 + 0.34133333333333333333e-2 * t708 * t711; + const double t715 = t259 * t714; + const double t718 = t188 * t592 * t294; + const double t719 = 0.17808333333333333333e-1 * t718; + const double t720 = 0.1e1 / t403; + const double t723 = piecewise_functor_3( t108, 0.0, -t720 * t555 / 0.3e1 ); + const double t725 = t188 * t190 * t723; + const double t727 = -t719 + 0.53425e-1 * t725; + const double t729 = 0.62182e-1 * t727 * t312; + const double t730 = t308 * t308; + const double t731 = 0.1e1 / t730; + const double t732 = t298 * t731; + const double t733 = 0.1e1 / t299; + const double t734 = t718 / 0.3e1; + const double t735 = -t734 + t725; + const double t736 = t733 * t735; + const double t738 = 0.29896666666666666667e0 * t718; + const double t740 = safe_math::sqrt( t296 ); + const double t741 = t740 * t735; + const double t744 = t206 * t621 * t304; + const double t745 = 0.82156666666666666667e-1 * t744; + const double t746 = t294 * t723; + const double t748 = t206 * t209 * t746; + const double t750 = 0.1898925e1 * t736 - t738 + 0.8969e0 * t725 + 0.3071625e0 * t741 - t745 + 0.24647e0 * t748; + const double t751 = 0.1e1 / t311; + const double t752 = t750 * t751; + const double t754 = 0.1e1 * t732 * t752; + const double t755 = 0.17123333333333333333e-1 * t718; + const double t757 = -t755 + 0.5137e-1 * t725; + const double t760 = t321 * t321; + const double t761 = 0.1e1 / t760; + const double t762 = t316 * t761; + const double t764 = 0.516475e0 * t718; + const double t767 = 0.104195e0 * t744; + const double t769 = 0.3529725e1 * t736 - t764 + 0.1549425e1 * t725 + 0.6311625e0 * t741 - t767 + 0.312585e0 * t748; + const double t770 = 0.1e1 / t324; + const double t771 = t769 * t770; + const double t774 = 0.92708333333333333333e-2 * t718; + const double t776 = -t774 + 0.278125e-1 * t725; + const double t777 = t776 * t338; + const double t779 = t334 * t334; + const double t780 = 0.1e1 / t779; + const double t781 = t329 * t780; + const double t783 = 0.301925e0 * t718; + const double t786 = 0.82785e-1 * t744; + const double t788 = 0.258925e1 * t736 - t783 + 0.905775e0 * t725 + 0.16504875e0 * t741 - t786 + 0.248355e0 * t748; + const double t789 = 0.1e1 / t337; + const double t790 = t788 * t789; + const double t797 = t225 * t329; + const double t799 = t780 * t788 * t789; + const double t802 = -t729 + t754 + t225 * ( -0.3109e-1 * t757 * t325 + 0.1e1 * t762 * t771 + t729 - t754 - 0.19751789702565206229e-1 * t777 + 0.58482233974552040708e0 * t781 * t790 ) + 0.19751789702565206229e-1 * t225 * t777 - 0.58482233974552040708e0 * t797 * t799; + const double t806 = piecewise_functor_3( t109, 0.0, t110 * t802 / 0.2e1 + t556 * t345 / 0.2e1 ); + const double t807 = t806 * t374; + const double t808 = t187 * t591; + const double t811 = 0.11073577833333333333e-2 * t185 * t808 * t392; + const double t812 = t388 * t388; + const double t813 = 0.1e1 / t812; + const double t814 = t379 * t813; + const double t816 = 0.1e1 / t380 * t28; + const double t818 = t817 * t591; + const double t819 = t816 * t818; + const double t821 = t185 * t808; + const double t823 = safe_math::sqrt( t377 ); + const double t824 = t823 * t28; + const double t825 = t824 * t818; + const double t828 = t205 * t186 * t620; + const double t830 = -0.632975e0 * t819 - 0.29896666666666666667e0 * t821 - 0.1023875e0 * t825 - 0.82156666666666666667e-1 * t828; + const double t831 = 0.1e1 / t391; + const double t832 = t830 * t831; + const double t834 = 0.1e1 * t814 * t832; + const double t835 = t395 * t2; + const double t836 = t835 * t399; + const double t838 = 0.4e1 * t836 * t434; + const double t839 = t398 * t3; + const double t840 = 0.1e1 / t839; + const double t841 = t396 * t840; + const double t843 = 0.4e1 * t841 * t434; + const double t846 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t191 * t474 ); + const double t849 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.3e1 * t292 * t555 ); + const double t851 = ( t846 + t849 ) * t224; + const double t852 = t851 * t433; + const double t857 = t413 * t413; + const double t858 = 0.1e1 / t857; + const double t859 = t408 * t858; + const double t864 = -0.1176575e1 * t819 - 0.516475e0 * t821 - 0.2103875e0 * t825 - 0.104195e0 * t828; + const double t865 = 0.1e1 / t416; + const double t866 = t864 * t865; + const double t872 = t426 * t426; + const double t873 = 0.1e1 / t872; + const double t874 = t421 * t873; + const double t879 = -0.86308333333333333334e0 * t819 - 0.301925e0 * t821 - 0.5501625e-1 * t825 - 0.82785e-1 * t828; + const double t880 = 0.1e1 / t429; + const double t881 = t879 * t880; + const double t884 = 0.53236443333333333332e-3 * t185 * t808 * t417 + 0.1e1 * t859 * t866 - t811 - t834 + 0.18311555036753159941e-3 * t185 * t808 * t430 + 0.58482233974552040708e0 * t874 * t881; + const double t885 = t406 * t884; + const double t886 = t400 * t885; + const double t889 = t406 * t28; + const double t891 = t817 * t591 * t430; + const double t893 = 0.18311555036753159941e-3 * t889 * t891; + const double t894 = t406 * t421; + const double t896 = t873 * t879 * t880; + const double t898 = 0.58482233974552040708e0 * t894 * t896; + const double t899 = t811 + t834 + t838 - t843 + t400 * t852 + t886 + 0.19751789702565206229e-1 * t851 * t431 - t893 - t898 - t685 - t806; + const double t900 = t899 * t470; + const double t901 = t440 * sigma_aa; + const double t905 = t453 * sigma_aa; + const double t906 = t905 * t513; + const double t909 = t449 * t441; + const double t912 = t460 * sigma_aa; + const double t913 = t912 * t513; + const double t916 = t456 * t450; + const double t919 = t467 * sigma_aa; + const double t920 = t919 * t513; + const double t923 = t463 * t457; + const double t927 = 0.1e1 / t466 / t445; + const double t928 = t927 * sigma_aa; + const double t932 = -0.8e-2 * t901 * t513 * t446 + 0.24e-4 * t442 * t906 - 0.48e-4 * t909 * t906 + 0.144e-6 * t451 * t913 - 0.216e-6 * t916 * t913 + 0.648e-9 * t458 * t920 - 0.864e-9 * t923 * t920 + 0.2592e-11 * t465 * t928 * t513; + const double t933 = t438 * t932; + const double t936 = -t4 - t473; + const double t937 = piecewise_functor_3( t7, 0.0, t936 ); + const double t941 = piecewise_functor_3( t12, 0.0, t484 * t485 / 0.6e1 ); + const double t942 = t481 * t941; + const double t947 = piecewise_functor_3( t27, 0.0, -t480 + 0.3e1 / 0.16e2 * t32 * t38 * t942 ); + const double t952 = piecewise_functor_3( t44, 0.0, -t499 + 0.3e1 / 0.16e2 * t32 * t47 * t942 ); + const double t953 = t947 + t952; + const double t957 = piecewise_functor_3( t8, 0.0, t937 * t52 / 0.2e1 + t9 * t953 / 0.2e1 ); + const double t958 = t957 * t104; + const double t959 = -t936; + const double t960 = piecewise_functor_3( t108, 0.0, t959 ); + const double t962 = t4 - t565; + const double t965 = piecewise_functor_3( t113, 0.0, -t564 * t962 / 0.6e1 ); + const double t966 = t561 * t965; + const double t971 = piecewise_functor_3( t124, 0.0, -t560 + 0.3e1 / 0.16e2 * t32 * t38 * t966 ); + const double t976 = piecewise_functor_3( t44, 0.0, -t577 + 0.3e1 / 0.16e2 * t32 * t47 * t966 ); + const double t977 = t971 + t976; + const double t981 = piecewise_functor_3( t109, 0.0, t110 * t977 / 0.2e1 + t960 * t134 / 0.2e1 ); + const double t982 = t981 * t181; + const double t983 = t139 * rho_b; + const double t985 = 0.1e1 / t141 / t983; + const double t989 = t57 * t151; + const double t990 = t153 * t139; + const double t992 = 0.1e1 / t140 / t990; + const double t993 = t992 * t158; + const double t998 = t71 * t162; + const double t999 = t164 * rho_b; + const double t1000 = 0.1e1 / t999; + const double t1001 = t1000 * t167; + const double t1006 = t83 * t171; + const double t1007 = t164 * t983; + const double t1009 = 0.1e1 / t141 / t1007; + const double t1010 = t1009 * t177; + const double t1015 = t171 * sigma_bb; + const double t1016 = t93 * t1015; + const double t1017 = t164 * t990; + const double t1019 = 0.1e1 / t140 / t1017; + const double t1021 = 0.1e1 / t176 / t146; + const double t1022 = t1019 * t1021; + const double t1025 = -0.10666666666666666667e-1 * t138 * t985 * t147 + 0.42666666666666666668e-4 * t989 * t993 - 0.85333333333333333333e-4 * t152 * t993 + 0.34133333333333333334e-6 * t998 * t1001 - 0.512e-6 * t163 * t1001 + 0.20480000000000000001e-8 * t1006 * t1010 - 0.27306666666666666667e-8 * t172 * t1010 + 0.10922666666666666667e-10 * t1016 * t1022; + const double t1026 = t137 * t1025; + const double t1030 = piecewise_functor_3( t7, 0.0, -t596 * t936 / 0.3e1 ); + const double t1032 = t188 * t190 * t1030; + const double t1034 = -t595 + 0.53425e-1 * t1032; + const double t1036 = 0.62182e-1 * t1034 * t218; + const double t1037 = -t610 + t1032; + const double t1038 = t609 * t1037; + const double t1041 = t616 * t1037; + const double t1043 = t193 * t1030; + const double t1045 = t206 * t209 * t1043; + const double t1047 = 0.1898925e1 * t1038 - t614 + 0.8969e0 * t1032 + 0.3071625e0 * t1041 - t624 + 0.24647e0 * t1045; + const double t1048 = t1047 * t630; + const double t1050 = 0.1e1 * t608 * t1048; + const double t1052 = -t634 + 0.5137e-1 * t1032; + const double t1059 = 0.3529725e1 * t1038 - t643 + 0.1549425e1 * t1032 + 0.6311625e0 * t1041 - t646 + 0.312585e0 * t1045; + const double t1060 = t1059 * t649; + const double t1064 = -t653 + 0.278125e-1 * t1032; + const double t1065 = t1064 * t249; + const double t1071 = 0.258925e1 * t1038 - t662 + 0.905775e0 * t1032 + 0.16504875e0 * t1041 - t665 + 0.248355e0 * t1045; + const double t1072 = t1071 * t668; + const double t1080 = t659 * t1071 * t668; + const double t1083 = -t1036 + t1050 + t225 * ( -0.3109e-1 * t1052 * t236 + 0.1e1 * t641 * t1060 + t1036 - t1050 - 0.19751789702565206229e-1 * t1065 + 0.58482233974552040708e0 * t660 * t1072 ) + 0.19751789702565206229e-1 * t225 * t1065 - 0.58482233974552040708e0 * t676 * t1080; + const double t1087 = piecewise_functor_3( t8, 0.0, t9 * t1083 / 0.2e1 + t937 * t256 / 0.2e1 ); + const double t1088 = t1087 * t290; + const double t1092 = piecewise_functor_3( t108, 0.0, -t720 * t959 / 0.3e1 ); + const double t1094 = t188 * t190 * t1092; + const double t1096 = -t719 + 0.53425e-1 * t1094; + const double t1098 = 0.62182e-1 * t1096 * t312; + const double t1099 = -t734 + t1094; + const double t1100 = t733 * t1099; + const double t1103 = t740 * t1099; + const double t1105 = t294 * t1092; + const double t1107 = t206 * t209 * t1105; + const double t1109 = 0.1898925e1 * t1100 - t738 + 0.8969e0 * t1094 + 0.3071625e0 * t1103 - t745 + 0.24647e0 * t1107; + const double t1110 = t1109 * t751; + const double t1112 = 0.1e1 * t732 * t1110; + const double t1114 = -t755 + 0.5137e-1 * t1094; + const double t1121 = 0.3529725e1 * t1100 - t764 + 0.1549425e1 * t1094 + 0.6311625e0 * t1103 - t767 + 0.312585e0 * t1107; + const double t1122 = t1121 * t770; + const double t1126 = -t774 + 0.278125e-1 * t1094; + const double t1127 = t1126 * t338; + const double t1133 = 0.258925e1 * t1100 - t783 + 0.905775e0 * t1094 + 0.16504875e0 * t1103 - t786 + 0.248355e0 * t1107; + const double t1134 = t1133 * t789; + const double t1142 = t780 * t1133 * t789; + const double t1145 = -t1098 + t1112 + t225 * ( -0.3109e-1 * t1114 * t325 + 0.1e1 * t762 * t1122 + t1098 - t1112 - 0.19751789702565206229e-1 * t1127 + 0.58482233974552040708e0 * t781 * t1134 ) + 0.19751789702565206229e-1 * t225 * t1127 - 0.58482233974552040708e0 * t797 * t1142; + const double t1149 = piecewise_functor_3( t109, 0.0, t110 * t1145 / 0.2e1 + t960 * t345 / 0.2e1 ); + const double t1150 = t1149 * t374; + const double t1154 = t261 * t151; + const double t1155 = t992 * t358; + const double t1160 = t269 * t162; + const double t1161 = t1000 * t364; + const double t1166 = t276 * t171; + const double t1167 = t1009 * t370; + const double t1172 = t283 * t1015; + const double t1174 = 0.1e1 / t369 / t351; + const double t1175 = t1019 * t1174; + const double t1178 = -0.53333333333333333333e0 * t349 * t985 * t352 + 0.10666666666666666667e0 * t1154 * t1155 - 0.21333333333333333333e0 * t356 * t1155 + 0.42666666666666666668e-1 * t1160 * t1161 - 0.64e-1 * t362 * t1161 + 0.128e-1 * t1166 * t1167 - 0.17066666666666666667e-1 * t368 * t1167 + 0.34133333333333333333e-2 * t1172 * t1175; + const double t1179 = t348 * t1178; + const double t1182 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t191 * t936 ); + const double t1185 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.3e1 * t292 * t959 ); + const double t1187 = ( t1182 + t1185 ) * t224; + const double t1188 = t1187 * t433; + const double t1192 = t811 + t834 - t838 - t843 + t400 * t1188 + t886 + 0.19751789702565206229e-1 * t1187 * t431 - t893 - t898 - t1087 - t1149; + const double t1193 = t1192 * t470; + const double t1194 = t440 * sigma_bb; + const double t1198 = t453 * sigma_bb; + const double t1199 = t1198 * t985; + const double t1204 = t460 * sigma_bb; + const double t1205 = t1204 * t985; + const double t1210 = t467 * sigma_bb; + const double t1211 = t1210 * t985; + const double t1216 = t927 * sigma_bb; + const double t1220 = -0.8e-2 * t1194 * t985 * t446 + 0.24e-4 * t442 * t1199 - 0.48e-4 * t909 * t1199 + 0.144e-6 * t451 * t1205 - 0.216e-6 * t916 * t1205 + 0.648e-9 * t458 * t1211 - 0.864e-9 * t923 * t1211 + 0.2592e-11 * t465 * t1216 * t985; + const double t1221 = t438 * t1220; + const double t1229 = t71 * sigma_aa; + const double t1234 = t83 * t72; + const double t1239 = t93 * t84; + const double t1242 = t86 * t75; + const double t1244 = 0.1e1 / t60 / t1242; + const double t1245 = t1244 * t549; + const double t1248 = 0.4e-2 * t57 * t63 * t67 - 0.16e-4 * t58 * t80 + 0.32e-4 * t1229 * t80 - 0.128e-6 * t73 * t90 + 0.192e-6 * t1234 * t90 - 0.768e-9 * t85 * t101 + 0.1024e-8 * t1239 * t101 - 0.4096e-11 * t95 * t1245; + const double t1249 = t55 * t1248; + const double t1255 = t269 * sigma_aa; + const double t1260 = t276 * t72; + const double t1265 = t283 * t84; + const double t1268 = t1244 * t710; + const double t1271 = 0.2e0 * t261 * t63 * t265 - 0.4e-1 * t262 * t273 + 0.8e-1 * t1255 * t273 - 0.16e-1 * t270 * t280 + 0.24e-1 * t1260 * t280 - 0.48e-2 * t277 * t287 + 0.64e-2 * t1265 * t287 - 0.128e-2 * t284 * t1268; + const double t1272 = t259 * t1271; + const double t1273 = t440 * t63; + const double t1276 = t453 * t63; + const double t1281 = t460 * t63; + const double t1286 = t467 * t63; + const double t1294 = 0.3e-2 * t1273 * t446 - 0.9e-5 * t442 * t1276 + 0.18e-4 * t909 * t1276 - 0.54e-7 * t451 * t1281 + 0.81e-7 * t916 * t1281 - 0.243e-9 * t458 * t1286 + 0.324e-9 * t923 * t1286 - 0.972e-12 * t465 * t927 * t63; + const double t1295 = t438 * t1294; + const double t1302 = t71 * sigma_bb; + const double t1307 = t83 * t151; + const double t1312 = t93 * t162; + const double t1315 = t164 * t154; + const double t1317 = 0.1e1 / t140 / t1315; + const double t1318 = t1317 * t1021; + const double t1321 = 0.4e-2 * t57 * t143 * t147 - 0.16e-4 * t138 * t159 + 0.32e-4 * t1302 * t159 - 0.128e-6 * t152 * t168 + 0.192e-6 * t1307 * t168 - 0.768e-9 * t163 * t178 + 0.1024e-8 * t1312 * t178 - 0.4096e-11 * t172 * t1318; + const double t1322 = t137 * t1321; + const double t1328 = t269 * sigma_bb; + const double t1333 = t276 * t151; + const double t1338 = t283 * t162; + const double t1341 = t1317 * t1174; + const double t1344 = 0.2e0 * t261 * t143 * t352 - 0.4e-1 * t349 * t359 + 0.8e-1 * t1328 * t359 - 0.16e-1 * t356 * t365 + 0.24e-1 * t1333 * t365 - 0.48e-2 * t362 * t371 + 0.64e-2 * t1338 * t371 - 0.128e-2 * t368 * t1341; + const double t1345 = t348 * t1344; + const double t1346 = t440 * t143; + const double t1349 = t453 * t143; + const double t1354 = t460 * t143; + const double t1359 = t467 * t143; + const double t1364 = t927 * t143; + const double t1367 = 0.3e-2 * t1346 * t446 - 0.9e-5 * t442 * t1349 + 0.18e-4 * t909 * t1349 - 0.54e-7 * t451 * t1354 + 0.81e-7 * t916 * t1354 - 0.243e-9 * t458 * t1359 + 0.324e-9 * t923 * t1359 - 0.972e-12 * t465 * t1364; + const double t1368 = t438 * t1367; + const double t1378 = t397 * t3; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t2 * t1379; + const double t1382 = -0.2e1 * t472 + 0.2e1 * t1380; + const double t1383 = piecewise_functor_3( t7, 0.0, t1382 ); + const double t1387 = t36 * t620; + const double t1390 = t32 * t1387 * t39 / 0.24e2; + const double t1392 = t32 * t477 * t490; + const double t1394 = t489 * t489; + const double t1395 = t24 * t1394; + const double t1402 = t16 / t17 / t59 / t472; + const double t1403 = t486 * t486; + const double t1406 = rho_a * t1379; + const double t1408 = -0.2e1 * t472 + 0.2e1 * t1406; + const double t1412 = piecewise_functor_3( t12, 0.0, 0.2e1 / 0.9e1 * t1402 * t1403 - t484 * t1408 / 0.6e1 ); + const double t1413 = t481 * t1412; + const double t1418 = piecewise_functor_3( t27, 0.0, t1390 + t1392 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t1395 + 0.3e1 / 0.16e2 * t32 * t38 * t1413 ); + const double t1419 = t46 * t620; + const double t1422 = t32 * t1419 * t39 / 0.24e2; + const double t1424 = t32 * t496 * t490; + const double t1433 = piecewise_functor_3( t44, 0.0, t1422 + t1424 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t1395 + 0.3e1 / 0.16e2 * t32 * t47 * t1413 ); + const double t1434 = t1418 + t1433; + const double t1438 = piecewise_functor_3( t8, 0.0, t1383 * t52 / 0.2e1 + t475 * t505 + t9 * t1434 / 0.2e1 ); + const double t1439 = t1438 * t104; + const double t1440 = t509 * t553; + const double t1441 = 0.2e1 * t1440; + const double t1443 = 0.1e1 / t61 / t74; + const double t1447 = t74 * t511; + const double t1449 = 0.1e1 / t60 / t1447; + const double t1450 = t1449 * t79; + const double t1453 = t57 * t84; + const double t1454 = 0.1e1 / t96; + const double t1455 = t1454 * t89; + const double t1462 = t71 * t94; + const double t1463 = t86 * t74; + const double t1465 = 0.1e1 / t61 / t1463; + const double t1466 = t1465 * t100; + const double t1473 = t83 * t543; + const double t1476 = 0.1e1 / t60 / t86 / t1447; + const double t1477 = t1476 * t549; + const double t1484 = t94 * t72; + const double t1485 = t93 * t1484; + const double t1486 = t86 * t86; + const double t1487 = t1486 * t59; + const double t1488 = 0.1e1 / t1487; + const double t1490 = 0.1e1 / t99 / t78; + const double t1491 = t1488 * t1490; + const double t1494 = 0.39111111111111111112e-1 * t58 * t1443 * t67 - 0.38400000000000000001e-3 * t517 * t1450 + 0.91022222222222222228e-6 * t1453 * t1455 + 0.54044444444444444444e-3 * t73 * t1450 - 0.48924444444444444446e-5 * t526 * t1455 + 0.10922666666666666667e-7 * t1462 * t1466 + 0.4608e-5 * t85 * t1455 - 0.40277333333333333336e-7 * t534 * t1466 + 0.8738133333333333334e-10 * t1473 * t1477 + 0.31857777777777777778e-7 * t95 * t1466 - 0.27306666666666666668e-9 * t544 * t1477 + 0.58254222222222222226e-12 * t1485 * t1491; + const double t1495 = t55 * t1494; + const double t1496 = -t1382; + const double t1497 = piecewise_functor_3( t108, 0.0, t1496 ); + const double t1503 = t32 * t1387 * t125 / 0.24e2; + const double t1505 = t32 * t477 * t569; + const double t1507 = t568 * t568; + const double t1508 = t121 * t1507; + const double t1515 = t16 / t114 / t139 / t472; + const double t1519 = rho_b * t1379; + const double t1523 = piecewise_functor_3( t113, 0.0, 0.2e1 / 0.9e1 * t1515 * t139 * t399 - t564 * t1519 / 0.3e1 ); + const double t1524 = t561 * t1523; + const double t1529 = piecewise_functor_3( t124, 0.0, t1503 + t1505 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t1508 + 0.3e1 / 0.16e2 * t32 * t38 * t1524 ); + const double t1532 = t32 * t1419 * t125 / 0.24e2; + const double t1534 = t32 * t496 * t569; + const double t1543 = piecewise_functor_3( t44, 0.0, t1532 + t1534 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t1508 + 0.3e1 / 0.16e2 * t32 * t47 * t1524 ); + const double t1544 = t1529 + t1543; + const double t1548 = piecewise_functor_3( t109, 0.0, t1497 * t134 / 0.2e1 + t556 * t583 + t110 * t1544 / 0.2e1 ); + const double t1549 = t1548 * t181; + const double t1554 = 0.1e1 / t37 / t397; + const double t1555 = t1554 * t15; + const double t1557 = t188 * t1555 * t193; + const double t1558 = 0.23744444444444444444e-1 * t1557; + const double t1560 = t188 * t592 * t599; + const double t1562 = t6 * t6; + const double t1564 = 0.1e1 / t191 / t1562; + const double t1565 = t474 * t474; + const double t1571 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1564 * t1565 - t596 * t1382 / 0.3e1 ); + const double t1573 = t188 * t190 * t1571; + const double t1575 = t1558 - 0.35616666666666666666e-1 * t1560 + 0.53425e-1 * t1573; + const double t1577 = 0.62182e-1 * t1575 * t218; + const double t1578 = t603 * t607; + const double t1580 = 0.2e1 * t1578 * t631; + const double t1581 = t606 * t214; + const double t1582 = 0.1e1 / t1581; + const double t1583 = t197 * t1582; + const double t1584 = t629 * t629; + const double t1585 = t1584 * t630; + const double t1587 = 0.2e1 * t1583 * t1585; + const double t1589 = 0.1e1 / t198 / t195; + const double t1590 = t611 * t611; + const double t1591 = t1589 * t1590; + const double t1593 = 0.4e1 / 0.9e1 * t1557; + const double t1595 = t1593 - 0.2e1 / 0.3e1 * t1560 + t1573; + const double t1596 = t609 * t1595; + const double t1598 = 0.39862222222222222223e0 * t1557; + const double t1601 = 0.1e1/safe_math::sqrt( t195 ); + const double t1602 = t1601 * t1590; + const double t1604 = t616 * t1595; + const double t1607 = 0.1e1 / t207 / t397; + const double t1608 = t1607 * t16; + const double t1610 = t206 * t1608 * t210; + const double t1611 = 0.13692777777777777778e0 * t1610; + const double t1613 = t206 * t621 * t625; + const double t1615 = t599 * t599; + const double t1617 = t206 * t209 * t1615; + const double t1619 = t193 * t1571; + const double t1621 = t206 * t209 * t1619; + const double t1623 = -0.9494625e0 * t1591 + 0.1898925e1 * t1596 + t1598 - 0.59793333333333333334e0 * t1560 + 0.8969e0 * t1573 + 0.15358125e0 * t1602 + 0.3071625e0 * t1604 + t1611 - 0.32862666666666666666e0 * t1613 + 0.24647e0 * t1617 + 0.24647e0 * t1621; + const double t1624 = t1623 * t630; + const double t1626 = 0.1e1 * t608 * t1624; + const double t1627 = t606 * t606; + const double t1628 = 0.1e1 / t1627; + const double t1629 = t197 * t1628; + const double t1630 = t217 * t217; + const double t1631 = 0.1e1 / t1630; + const double t1632 = t1584 * t1631; + const double t1634 = 0.16081824322151104822e2 * t1629 * t1632; + const double t1635 = 0.22831111111111111111e-1 * t1557; + const double t1638 = t1635 - 0.34246666666666666666e-1 * t1560 + 0.5137e-1 * t1573; + const double t1641 = t636 * t640; + const double t1644 = t639 * t232; + const double t1645 = 0.1e1 / t1644; + const double t1646 = t227 * t1645; + const double t1647 = t648 * t648; + const double t1648 = t1647 * t649; + const double t1653 = 0.68863333333333333333e0 * t1557; + const double t1658 = 0.17365833333333333333e0 * t1610; + const double t1662 = -0.17648625e1 * t1591 + 0.3529725e1 * t1596 + t1653 - 0.103295e1 * t1560 + 0.1549425e1 * t1573 + 0.31558125e0 * t1602 + 0.6311625e0 * t1604 + t1658 - 0.41678e0 * t1613 + 0.312585e0 * t1617 + 0.312585e0 * t1621; + const double t1663 = t1662 * t649; + const double t1666 = t639 * t639; + const double t1667 = 0.1e1 / t1666; + const double t1668 = t227 * t1667; + const double t1669 = t235 * t235; + const double t1670 = 0.1e1 / t1669; + const double t1671 = t1647 * t1670; + const double t1674 = 0.12361111111111111111e-1 * t1557; + const double t1677 = t1674 - 0.18541666666666666667e-1 * t1560 + 0.278125e-1 * t1573; + const double t1678 = t1677 * t249; + const double t1680 = t655 * t659; + const double t1683 = t658 * t245; + const double t1684 = 0.1e1 / t1683; + const double t1685 = t240 * t1684; + const double t1686 = t667 * t667; + const double t1687 = t1686 * t668; + const double t1692 = 0.40256666666666666667e0 * t1557; + const double t1697 = 0.137975e0 * t1610; + const double t1701 = -0.1294625e1 * t1591 + 0.258925e1 * t1596 + t1692 - 0.60385e0 * t1560 + 0.905775e0 * t1573 + 0.82524375e-1 * t1602 + 0.16504875e0 * t1604 + t1697 - 0.33114e0 * t1613 + 0.248355e0 * t1617 + 0.248355e0 * t1621; + const double t1702 = t1701 * t668; + const double t1705 = t658 * t658; + const double t1706 = 0.1e1 / t1705; + const double t1707 = t240 * t1706; + const double t1708 = t248 * t248; + const double t1709 = 0.1e1 / t1708; + const double t1710 = t1686 * t1709; + const double t1713 = -0.3109e-1 * t1638 * t236 + 0.2e1 * t1641 * t650 - 0.2e1 * t1646 * t1648 + 0.1e1 * t641 * t1663 + 0.32164683177870697974e2 * t1668 * t1671 + t1577 - t1580 + t1587 - t1626 - t1634 - 0.19751789702565206229e-1 * t1678 + 0.11696446794910408142e1 * t1680 * t669 - 0.11696446794910408142e1 * t1685 * t1687 + 0.58482233974552040708e0 * t660 * t1702 + 0.17315755899375863299e2 * t1707 * t1710; + const double t1717 = t225 * t655; + const double t1721 = t1684 * t1686 * t668; + const double t1725 = t659 * t1701 * t668; + const double t1728 = t1706 * t1686; + const double t1729 = t1728 * t1709; + const double t1732 = -t1577 + t1580 - t1587 + t1626 + t1634 + t225 * t1713 + 0.19751789702565206229e-1 * t225 * t1678 - 0.11696446794910408142e1 * t1717 * t678 + 0.11696446794910408142e1 * t676 * t1721 - 0.58482233974552040708e0 * t676 * t1725 - 0.17315755899375863299e2 * t676 * t1729; + const double t1736 = piecewise_functor_3( t8, 0.0, t1383 * t256 / 0.2e1 + t475 * t681 + t9 * t1732 / 0.2e1 ); + const double t1737 = t1736 * t290; + const double t1738 = t685 * t714; + const double t1739 = 0.2e1 * t1738; + const double t1743 = t1449 * t272; + const double t1746 = t261 * t84; + const double t1747 = t1454 * t279; + const double t1754 = t269 * t94; + const double t1755 = t1465 * t286; + const double t1762 = t276 * t543; + const double t1763 = t1476 * t710; + const double t1770 = t283 * t1484; + const double t1772 = 0.1e1 / t285 / t271; + const double t1773 = t1488 * t1772; + const double t1776 = 0.19555555555555555555e1 * t262 * t1443 * t265 - 0.96000000000000000002e0 * t690 * t1743 + 0.11377777777777777778e0 * t1746 * t1747 + 0.13511111111111111111e1 * t270 * t1743 - 0.61155555555555555557e0 * t696 * t1747 + 0.68266666666666666669e-1 * t1754 * t1755 + 0.576e0 * t277 * t1747 - 0.25173333333333333333e0 * t702 * t1755 + 0.27306666666666666666e-1 * t1762 * t1763 + 0.19911111111111111112e0 * t284 * t1755 - 0.85333333333333333333e-1 * t708 * t1763 + 0.91022222222222222219e-2 * t1770 * t1773; + const double t1777 = t259 * t1776; + const double t1782 = t188 * t1555 * t294; + const double t1783 = 0.23744444444444444444e-1 * t1782; + const double t1785 = t188 * t592 * t723; + const double t1787 = t107 * t107; + const double t1789 = 0.1e1 / t292 / t1787; + const double t1790 = t555 * t555; + const double t1796 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t1789 * t1790 - t720 * t1496 / 0.3e1 ); + const double t1798 = t188 * t190 * t1796; + const double t1800 = t1783 - 0.35616666666666666666e-1 * t1785 + 0.53425e-1 * t1798; + const double t1802 = 0.62182e-1 * t1800 * t312; + const double t1803 = t727 * t731; + const double t1805 = 0.2e1 * t1803 * t752; + const double t1806 = t730 * t308; + const double t1807 = 0.1e1 / t1806; + const double t1808 = t298 * t1807; + const double t1809 = t750 * t750; + const double t1810 = t1809 * t751; + const double t1812 = 0.2e1 * t1808 * t1810; + const double t1814 = 0.1e1 / t299 / t296; + const double t1815 = t735 * t735; + const double t1816 = t1814 * t1815; + const double t1818 = 0.4e1 / 0.9e1 * t1782; + const double t1820 = t1818 - 0.2e1 / 0.3e1 * t1785 + t1798; + const double t1821 = t733 * t1820; + const double t1823 = 0.39862222222222222223e0 * t1782; + const double t1826 = 0.1e1/safe_math::sqrt( t296 ); + const double t1827 = t1826 * t1815; + const double t1829 = t740 * t1820; + const double t1832 = t206 * t1608 * t304; + const double t1833 = 0.13692777777777777778e0 * t1832; + const double t1835 = t206 * t621 * t746; + const double t1837 = t723 * t723; + const double t1839 = t206 * t209 * t1837; + const double t1841 = t294 * t1796; + const double t1843 = t206 * t209 * t1841; + const double t1845 = -0.9494625e0 * t1816 + 0.1898925e1 * t1821 + t1823 - 0.59793333333333333334e0 * t1785 + 0.8969e0 * t1798 + 0.15358125e0 * t1827 + 0.3071625e0 * t1829 + t1833 - 0.32862666666666666666e0 * t1835 + 0.24647e0 * t1839 + 0.24647e0 * t1843; + const double t1846 = t1845 * t751; + const double t1848 = 0.1e1 * t732 * t1846; + const double t1849 = t730 * t730; + const double t1850 = 0.1e1 / t1849; + const double t1851 = t298 * t1850; + const double t1852 = t311 * t311; + const double t1853 = 0.1e1 / t1852; + const double t1854 = t1809 * t1853; + const double t1856 = 0.16081824322151104822e2 * t1851 * t1854; + const double t1857 = 0.22831111111111111111e-1 * t1782; + const double t1860 = t1857 - 0.34246666666666666666e-1 * t1785 + 0.5137e-1 * t1798; + const double t1863 = t757 * t761; + const double t1866 = t760 * t321; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t316 * t1867; + const double t1869 = t769 * t769; + const double t1870 = t1869 * t770; + const double t1875 = 0.68863333333333333333e0 * t1782; + const double t1880 = 0.17365833333333333333e0 * t1832; + const double t1884 = -0.17648625e1 * t1816 + 0.3529725e1 * t1821 + t1875 - 0.103295e1 * t1785 + 0.1549425e1 * t1798 + 0.31558125e0 * t1827 + 0.6311625e0 * t1829 + t1880 - 0.41678e0 * t1835 + 0.312585e0 * t1839 + 0.312585e0 * t1843; + const double t1885 = t1884 * t770; + const double t1888 = t760 * t760; + const double t1889 = 0.1e1 / t1888; + const double t1890 = t316 * t1889; + const double t1891 = t324 * t324; + const double t1892 = 0.1e1 / t1891; + const double t1893 = t1869 * t1892; + const double t1896 = 0.12361111111111111111e-1 * t1782; + const double t1899 = t1896 - 0.18541666666666666667e-1 * t1785 + 0.278125e-1 * t1798; + const double t1900 = t1899 * t338; + const double t1902 = t776 * t780; + const double t1905 = t779 * t334; + const double t1906 = 0.1e1 / t1905; + const double t1907 = t329 * t1906; + const double t1908 = t788 * t788; + const double t1909 = t1908 * t789; + const double t1914 = 0.40256666666666666667e0 * t1782; + const double t1919 = 0.137975e0 * t1832; + const double t1923 = -0.1294625e1 * t1816 + 0.258925e1 * t1821 + t1914 - 0.60385e0 * t1785 + 0.905775e0 * t1798 + 0.82524375e-1 * t1827 + 0.16504875e0 * t1829 + t1919 - 0.33114e0 * t1835 + 0.248355e0 * t1839 + 0.248355e0 * t1843; + const double t1924 = t1923 * t789; + const double t1927 = t779 * t779; + const double t1928 = 0.1e1 / t1927; + const double t1929 = t329 * t1928; + const double t1930 = t337 * t337; + const double t1931 = 0.1e1 / t1930; + const double t1932 = t1908 * t1931; + const double t1935 = -0.3109e-1 * t1860 * t325 + 0.2e1 * t1863 * t771 - 0.2e1 * t1868 * t1870 + 0.1e1 * t762 * t1885 + 0.32164683177870697974e2 * t1890 * t1893 + t1802 - t1805 + t1812 - t1848 - t1856 - 0.19751789702565206229e-1 * t1900 + 0.11696446794910408142e1 * t1902 * t790 - 0.11696446794910408142e1 * t1907 * t1909 + 0.58482233974552040708e0 * t781 * t1924 + 0.17315755899375863299e2 * t1929 * t1932; + const double t1939 = t225 * t776; + const double t1943 = t1906 * t1908 * t789; + const double t1947 = t780 * t1923 * t789; + const double t1950 = t1928 * t1908; + const double t1951 = t1950 * t1931; + const double t1954 = -t1802 + t1805 - t1812 + t1848 + t1856 + t225 * t1935 + 0.19751789702565206229e-1 * t225 * t1900 - 0.11696446794910408142e1 * t1939 * t799 + 0.11696446794910408142e1 * t797 * t1943 - 0.58482233974552040708e0 * t797 * t1947 - 0.17315755899375863299e2 * t797 * t1951; + const double t1958 = piecewise_functor_3( t109, 0.0, t1497 * t345 / 0.2e1 + t556 * t802 + t110 * t1954 / 0.2e1 ); + const double t1959 = t1958 * t374; + const double t1962 = 0.1e1 / t380 / t377 * t203; + const double t1964 = t1963 * t1607; + const double t1965 = t1962 * t1964; + const double t1967 = t817 * t1554; + const double t1968 = t816 * t1967; + const double t1970 = t187 * t1554; + const double t1971 = t185 * t1970; + const double t1973 = 0.1e1/safe_math::sqrt( t377 ); + const double t1974 = t1973 * t203; + const double t1975 = t1974 * t1964; + const double t1977 = t824 * t1967; + const double t1980 = t205 * t186 * t1607; + const double t1982 = -0.57538888888888888889e0 * t1965 + 0.11507777777777777778e1 * t1968 + 0.40256666666666666667e0 * t1971 + 0.366775e-1 * t1975 + 0.73355e-1 * t1977 + 0.137975e0 * t1980; + const double t1984 = t873 * t1982 * t880; + const double t1986 = 0.58482233974552040708e0 * t894 * t1984; + const double t1987 = t872 * t872; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t879 * t879; + const double t1990 = t1988 * t1989; + const double t1991 = t429 * t429; + const double t1992 = 0.1e1 / t1991; + const double t1993 = t1990 * t1992; + const double t1995 = 0.17315755899375863299e2 * t894 * t1993; + const double t1996 = t406 * t185; + const double t1997 = t808 * t896; + const double t1999 = 0.10843580882781524214e-1 * t1996 * t1997; + const double t2000 = t851 * t28; + const double t2001 = t2000 * t891; + const double t2003 = t591 * t813; + const double t2006 = 0.35616666666666666667e-1 * t188 * t2003 * t832; + const double t2008 = t817 * t1554 * t430; + const double t2010 = 0.24415406715670879921e-3 * t889 * t2008; + const double t2011 = t851 * t421; + const double t2012 = t2011 * t896; + const double t2014 = t872 * t426; + const double t2015 = 0.1e1 / t2014; + const double t2017 = t2015 * t1989 * t880; + const double t2019 = 0.11696446794910408142e1 * t894 * t2017; + const double t2020 = t812 * t388; + const double t2021 = 0.1e1 / t2020; + const double t2022 = t379 * t2021; + const double t2023 = t830 * t830; + const double t2024 = t2023 * t831; + const double t2026 = 0.2e1 * t2022 * t2024; + const double t2027 = t191 * t191; + const double t2028 = 0.1e1 / t2027; + const double t2034 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2028 * t1565 + 0.4e1 / 0.3e1 * t191 * t1382 ); + const double t2035 = t292 * t292; + const double t2036 = 0.1e1 / t2035; + const double t2042 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2036 * t1790 + 0.4e1 / 0.3e1 * t292 * t1496 ); + const double t2044 = ( t2034 + t2042 ) * t224; + const double t2053 = -0.42198333333333333333e0 * t1965 + 0.84396666666666666666e0 * t1968 + 0.39862222222222222223e0 * t1971 + 0.68258333333333333333e-1 * t1975 + 0.13651666666666666667e0 * t1977 + 0.13692777777777777778e0 * t1980; + const double t2054 = t2053 * t831; + const double t2056 = 0.1e1 * t814 * t2054; + const double t2057 = -t1986 - t1995 + t1999 - 0.36623110073506319882e-3 * t2001 - t2006 + t2010 - 0.11696446794910408142e1 * t2012 + t2019 - t1958 - t2026 + 0.19751789702565206229e-1 * t2044 * t431 + t2056; + const double t2058 = t812 * t812; + const double t2059 = 0.1e1 / t2058; + const double t2060 = t379 * t2059; + const double t2061 = t391 * t391; + const double t2062 = 0.1e1 / t2061; + const double t2063 = t2023 * t2062; + const double t2065 = 0.16081824322151104822e2 * t2060 * t2063; + const double t2067 = 0.8e1 * t836 * t885; + const double t2069 = 0.8e1 * t841 * t885; + const double t2070 = t836 * t852; + const double t2072 = t851 * t884; + const double t2073 = t400 * t2072; + const double t2075 = t841 * t852; + const double t2077 = t2044 * t433; + const double t2082 = t591 * t858; + const double t2086 = t857 * t413; + const double t2087 = 0.1e1 / t2086; + const double t2088 = t408 * t2087; + const double t2089 = t864 * t864; + const double t2090 = t2089 * t865; + const double t2099 = -0.78438333333333333333e0 * t1965 + 0.15687666666666666667e1 * t1968 + 0.68863333333333333333e0 * t1971 + 0.14025833333333333333e0 * t1975 + 0.28051666666666666667e0 * t1977 + 0.17365833333333333333e0 * t1980; + const double t2100 = t2099 * t865; + const double t2103 = t857 * t857; + const double t2104 = 0.1e1 / t2103; + const double t2105 = t408 * t2104; + const double t2106 = t416 * t416; + const double t2107 = 0.1e1 / t2106; + const double t2108 = t2089 * t2107; + const double t2113 = 0.14764770444444444444e-2 * t185 * t1970 * t392; + const double t2117 = t591 * t873; + const double t2121 = t421 * t2015; + const double t2122 = t1989 * t880; + const double t2125 = t1982 * t880; + const double t2128 = t421 * t1988; + const double t2129 = t1989 * t1992; + const double t2132 = -0.70981924444444444442e-3 * t185 * t1970 * t417 - 0.34246666666666666666e-1 * t188 * t2082 * t866 - 0.2e1 * t2088 * t2090 + 0.1e1 * t859 * t2100 + 0.32164683177870697974e2 * t2105 * t2108 + t2113 + t2006 + t2026 - t2056 - t2065 - 0.24415406715670879921e-3 * t185 * t1970 * t430 - 0.10843580882781524214e-1 * t188 * t2117 * t881 - 0.11696446794910408142e1 * t2121 * t2122 + 0.58482233974552040708e0 * t874 * t2125 + 0.17315755899375863299e2 * t2128 * t2129; + const double t2133 = t406 * t2132; + const double t2134 = t400 * t2133; + const double t2136 = 0.1e1 / t398 / t397; + const double t2137 = t396 * t2136; + const double t2139 = 0.2e2 * t2137 * t434; + const double t2140 = t395 * t399; + const double t2142 = 0.12e2 * t2140 * t434; + const double t2143 = t835 * t840; + const double t2145 = 0.32e2 * t2143 * t434; + const double t2146 = t400 * t2077 - t1736 + t2065 + t2067 - t2069 + 0.8e1 * t2070 + 0.2e1 * t2073 - 0.8e1 * t2075 - t2113 + t2134 + t2139 + t2142 - t2145; + const double t2147 = t2057 + t2146; + const double t2148 = t2147 * t470; + const double t2149 = t899 * t932; + const double t2150 = 0.2e1 * t2149; + const double t2154 = t440 * t72; + const double t2155 = t1449 * t453; + const double t2158 = t460 * t72; + const double t2159 = t2158 * t1449; + const double t2162 = t905 * t1443; + const double t2165 = t449 * t72; + const double t2172 = t467 * t72; + const double t2173 = t2172 * t1449; + const double t2176 = t912 * t1443; + const double t2179 = t456 * t441; + const double t2186 = t927 * t72; + const double t2187 = t2186 * t1449; + const double t2190 = t919 * t1443; + const double t2193 = t463 * t450; + const double t2201 = 0.1e1 / t466 / t452; + const double t2202 = t2201 * t72; + const double t2209 = 0.29333333333333333333e-1 * t901 * t1443 * t446 - 0.128e-3 * t2154 * t2155 + 0.384e-6 * t442 * t2159 - 0.88e-4 * t442 * t2162 + 0.128e-3 * t2165 * t2155 - 0.1536e-5 * t909 * t2159 + 0.176e-3 * t909 * t2162 + 0.3456e-8 * t451 * t2173 - 0.528e-6 * t451 * t2176 + 0.1152e-5 * t2179 * t2159 - 0.10368e-7 * t916 * t2173 + 0.792e-6 * t916 * t2176 + 0.20736e-10 * t458 * t2187 - 0.2376e-8 * t458 * t2190 + 0.6912e-8 * t2193 * t2173 - 0.55296e-10 * t923 * t2187 + 0.3168e-8 * t923 * t2190 + 0.10368e-12 * t465 * t2202 * t1449 - 0.9504e-11 * t465 * t928 * t1443; + const double t2210 = t438 * t2209; + const double t2211 = t1439 + t1441 + t1495 + t1549 + t1737 + t1739 + t1777 + t1959 + t2148 + t2150 + t2210; + const double t2213 = 0.2e1 * t1380; + const double t2214 = piecewise_functor_3( t7, 0.0, t2213 ); + const double t2220 = t32 * t477 * t942; + const double t2223 = t31 * t16 * t36; + const double t2224 = t37 * t24; + const double t2225 = t941 * t489; + const double t2226 = t2224 * t2225; + const double t2235 = t484 * t1406 / 0.3e1; + const double t2237 = piecewise_functor_3( t12, 0.0, -0.2e1 / 0.9e1 * t1402 * t485 * t486 + t484 * t472 / 0.6e1 - t2235 ); + const double t2238 = t481 * t2237; + const double t2243 = piecewise_functor_3( t27, 0.0, t1390 + t1392 / 0.16e2 + t2220 / 0.16e2 - 0.3e1 / 0.8e1 * t2223 * t2226 + 0.3e1 / 0.16e2 * t32 * t38 * t2238 ); + const double t2246 = t32 * t496 * t942; + const double t2249 = t31 * t16 * t46; + const double t2256 = piecewise_functor_3( t44, 0.0, t1422 + t1424 / 0.16e2 + t2246 / 0.16e2 - 0.3e1 / 0.8e1 * t2249 * t2226 + 0.3e1 / 0.16e2 * t32 * t47 * t2238 ); + const double t2257 = t2243 + t2256; + const double t2261 = piecewise_functor_3( t8, 0.0, t2214 * t52 / 0.2e1 + t9 * t2257 / 0.2e1 + t475 * t953 / 0.2e1 + t937 * t505 / 0.2e1 ); + const double t2262 = t2261 * t104; + const double t2263 = t957 * t553; + const double t2264 = piecewise_functor_3( t108, 0.0, -t2213 ); + const double t2270 = t32 * t477 * t966; + const double t2272 = t37 * t121; + const double t2273 = t965 * t568; + const double t2274 = t2272 * t2273; + const double t2277 = t962 * rho_b; + const double t2282 = -t472 + 0.2e1 * t1519; + const double t2286 = piecewise_functor_3( t113, 0.0, -0.2e1 / 0.9e1 * t1515 * t2277 * t472 - t564 * t2282 / 0.6e1 ); + const double t2287 = t561 * t2286; + const double t2292 = piecewise_functor_3( t124, 0.0, t1503 + t1505 / 0.16e2 + t2270 / 0.16e2 - 0.3e1 / 0.8e1 * t2223 * t2274 + 0.3e1 / 0.16e2 * t32 * t38 * t2287 ); + const double t2295 = t32 * t496 * t966; + const double t2303 = piecewise_functor_3( t44, 0.0, t1532 + t1534 / 0.16e2 + t2295 / 0.16e2 - 0.3e1 / 0.8e1 * t2249 * t2274 + 0.3e1 / 0.16e2 * t32 * t47 * t2287 ); + const double t2304 = t2292 + t2303; + const double t2308 = piecewise_functor_3( t109, 0.0, t110 * t2304 / 0.2e1 + t2264 * t134 / 0.2e1 + t556 * t977 / 0.2e1 + t960 * t583 / 0.2e1 ); + const double t2309 = t2308 * t181; + const double t2310 = t587 * t1025; + const double t2316 = t188 * t592 * t1030; + const double t2318 = t1564 * t936; + const double t2321 = t596 * t2; + const double t2325 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2318 * t474 - 0.2e1 / 0.3e1 * t2321 * t1379 ); + const double t2327 = t188 * t190 * t2325; + const double t2329 = t1558 - 0.17808333333333333333e-1 * t1560 - 0.17808333333333333333e-1 * t2316 + 0.53425e-1 * t2327; + const double t2331 = 0.62182e-1 * t2329 * t218; + const double t2332 = t1034 * t607; + const double t2334 = 0.1e1 * t2332 * t631; + const double t2336 = 0.1e1 * t1578 * t1048; + const double t2337 = t1048 * t629; + const double t2339 = 0.2e1 * t1583 * t2337; + const double t2340 = t1589 * t1037; + const double t2341 = t2340 * t611; + const double t2345 = t1593 - t1560 / 0.3e1 - t2316 / 0.3e1 + t2327; + const double t2346 = t609 * t2345; + const double t2351 = t1601 * t1037; + const double t2352 = t2351 * t611; + const double t2354 = t616 * t2345; + const double t2358 = t206 * t621 * t1043; + const double t2360 = t599 * t1030; + const double t2362 = t206 * t209 * t2360; + const double t2364 = t193 * t2325; + const double t2366 = t206 * t209 * t2364; + const double t2368 = -0.9494625e0 * t2341 + 0.1898925e1 * t2346 + t1598 - 0.29896666666666666667e0 * t1560 - 0.29896666666666666667e0 * t2316 + 0.8969e0 * t2327 + 0.15358125e0 * t2352 + 0.3071625e0 * t2354 + t1611 - 0.16431333333333333333e0 * t1613 - 0.16431333333333333333e0 * t2358 + 0.24647e0 * t2362 + 0.24647e0 * t2366; + const double t2369 = t2368 * t630; + const double t2371 = 0.1e1 * t608 * t2369; + const double t2372 = t1047 * t1631; + const double t2373 = t2372 * t629; + const double t2375 = 0.16081824322151104822e2 * t1629 * t2373; + const double t2379 = t1635 - 0.17123333333333333333e-1 * t1560 - 0.17123333333333333333e-1 * t2316 + 0.5137e-1 * t2327; + const double t2382 = t1052 * t640; + const double t2387 = t1060 * t648; + const double t2401 = -0.17648625e1 * t2341 + 0.3529725e1 * t2346 + t1653 - 0.516475e0 * t1560 - 0.516475e0 * t2316 + 0.1549425e1 * t2327 + 0.31558125e0 * t2352 + 0.6311625e0 * t2354 + t1658 - 0.20839e0 * t1613 - 0.20839e0 * t2358 + 0.312585e0 * t2362 + 0.312585e0 * t2366; + const double t2402 = t2401 * t649; + const double t2405 = t1059 * t1670; + const double t2406 = t2405 * t648; + const double t2412 = t1674 - 0.92708333333333333333e-2 * t1560 - 0.92708333333333333333e-2 * t2316 + 0.278125e-1 * t2327; + const double t2413 = t2412 * t249; + const double t2415 = t1064 * t659; + const double t2420 = t1072 * t667; + const double t2434 = -0.1294625e1 * t2341 + 0.258925e1 * t2346 + t1692 - 0.301925e0 * t1560 - 0.301925e0 * t2316 + 0.905775e0 * t2327 + 0.82524375e-1 * t2352 + 0.16504875e0 * t2354 + t1697 - 0.16557e0 * t1613 - 0.16557e0 * t2358 + 0.248355e0 * t2362 + 0.248355e0 * t2366; + const double t2435 = t2434 * t668; + const double t2438 = t1071 * t1709; + const double t2439 = t2438 * t667; + const double t2442 = -0.3109e-1 * t2379 * t236 + 0.1e1 * t2382 * t650 + 0.1e1 * t1641 * t1060 - 0.2e1 * t1646 * t2387 + 0.1e1 * t641 * t2402 + 0.32164683177870697974e2 * t1668 * t2406 + t2331 - t2334 - t2336 + t2339 - t2371 - t2375 - 0.19751789702565206229e-1 * t2413 + 0.58482233974552040708e0 * t2415 * t669 + 0.58482233974552040708e0 * t1680 * t1072 - 0.11696446794910408142e1 * t1685 * t2420 + 0.58482233974552040708e0 * t660 * t2435 + 0.17315755899375863299e2 * t1707 * t2439; + const double t2446 = t225 * t1064; + const double t2451 = t1684 * t1071; + const double t2452 = t2451 * t669; + const double t2456 = t659 * t2434 * t668; + const double t2459 = t1706 * t1071; + const double t2460 = t1709 * t667; + const double t2461 = t2459 * t2460; + const double t2464 = -t2331 + t2334 + t2336 - t2339 + t2371 + t2375 + t225 * t2442 + 0.19751789702565206229e-1 * t225 * t2413 - 0.58482233974552040708e0 * t2446 * t678 - 0.58482233974552040708e0 * t1717 * t1080 + 0.11696446794910408142e1 * t676 * t2452 - 0.58482233974552040708e0 * t676 * t2456 - 0.17315755899375863299e2 * t676 * t2461; + const double t2468 = piecewise_functor_3( t8, 0.0, t475 * t1083 / 0.2e1 + t2214 * t256 / 0.2e1 + t9 * t2464 / 0.2e1 + t937 * t681 / 0.2e1 ); + const double t2469 = t2468 * t290; + const double t2470 = t1087 * t714; + const double t2476 = t188 * t592 * t1092; + const double t2478 = t1789 * t959; + const double t2481 = t720 * t2; + const double t2485 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2478 * t555 + 0.2e1 / 0.3e1 * t2481 * t1379 ); + const double t2487 = t188 * t190 * t2485; + const double t2489 = t1783 - 0.17808333333333333333e-1 * t1785 - 0.17808333333333333333e-1 * t2476 + 0.53425e-1 * t2487; + const double t2491 = 0.62182e-1 * t2489 * t312; + const double t2492 = t1096 * t731; + const double t2494 = 0.1e1 * t2492 * t752; + const double t2496 = 0.1e1 * t1803 * t1110; + const double t2497 = t1110 * t750; + const double t2499 = 0.2e1 * t1808 * t2497; + const double t2500 = t1814 * t1099; + const double t2501 = t2500 * t735; + const double t2505 = t1818 - t1785 / 0.3e1 - t2476 / 0.3e1 + t2487; + const double t2506 = t733 * t2505; + const double t2511 = t1826 * t1099; + const double t2512 = t2511 * t735; + const double t2514 = t740 * t2505; + const double t2518 = t206 * t621 * t1105; + const double t2520 = t723 * t1092; + const double t2522 = t206 * t209 * t2520; + const double t2524 = t294 * t2485; + const double t2526 = t206 * t209 * t2524; + const double t2528 = -0.9494625e0 * t2501 + 0.1898925e1 * t2506 + t1823 - 0.29896666666666666667e0 * t1785 - 0.29896666666666666667e0 * t2476 + 0.8969e0 * t2487 + 0.15358125e0 * t2512 + 0.3071625e0 * t2514 + t1833 - 0.16431333333333333333e0 * t1835 - 0.16431333333333333333e0 * t2518 + 0.24647e0 * t2522 + 0.24647e0 * t2526; + const double t2529 = t2528 * t751; + const double t2531 = 0.1e1 * t732 * t2529; + const double t2532 = t1109 * t1853; + const double t2533 = t2532 * t750; + const double t2535 = 0.16081824322151104822e2 * t1851 * t2533; + const double t2539 = t1857 - 0.17123333333333333333e-1 * t1785 - 0.17123333333333333333e-1 * t2476 + 0.5137e-1 * t2487; + const double t2542 = t1114 * t761; + const double t2547 = t1122 * t769; + const double t2561 = -0.17648625e1 * t2501 + 0.3529725e1 * t2506 + t1875 - 0.516475e0 * t1785 - 0.516475e0 * t2476 + 0.1549425e1 * t2487 + 0.31558125e0 * t2512 + 0.6311625e0 * t2514 + t1880 - 0.20839e0 * t1835 - 0.20839e0 * t2518 + 0.312585e0 * t2522 + 0.312585e0 * t2526; + const double t2562 = t2561 * t770; + const double t2565 = t1121 * t1892; + const double t2566 = t2565 * t769; + const double t2572 = t1896 - 0.92708333333333333333e-2 * t1785 - 0.92708333333333333333e-2 * t2476 + 0.278125e-1 * t2487; + const double t2573 = t2572 * t338; + const double t2575 = t1126 * t780; + const double t2580 = t1134 * t788; + const double t2594 = -0.1294625e1 * t2501 + 0.258925e1 * t2506 + t1914 - 0.301925e0 * t1785 - 0.301925e0 * t2476 + 0.905775e0 * t2487 + 0.82524375e-1 * t2512 + 0.16504875e0 * t2514 + t1919 - 0.16557e0 * t1835 - 0.16557e0 * t2518 + 0.248355e0 * t2522 + 0.248355e0 * t2526; + const double t2595 = t2594 * t789; + const double t2598 = t1133 * t1931; + const double t2599 = t2598 * t788; + const double t2602 = -0.3109e-1 * t2539 * t325 + 0.1e1 * t2542 * t771 + 0.1e1 * t1863 * t1122 - 0.2e1 * t1868 * t2547 + 0.1e1 * t762 * t2562 + 0.32164683177870697974e2 * t1890 * t2566 + t2491 - t2494 - t2496 + t2499 - t2531 - t2535 - 0.19751789702565206229e-1 * t2573 + 0.58482233974552040708e0 * t2575 * t790 + 0.58482233974552040708e0 * t1902 * t1134 - 0.11696446794910408142e1 * t1907 * t2580 + 0.58482233974552040708e0 * t781 * t2595 + 0.17315755899375863299e2 * t1929 * t2599; + const double t2606 = t225 * t1126; + const double t2611 = t1906 * t1133; + const double t2612 = t2611 * t790; + const double t2616 = t780 * t2594 * t789; + const double t2619 = t1928 * t1133; + const double t2620 = t1931 * t788; + const double t2621 = t2619 * t2620; + const double t2624 = -t2491 + t2494 + t2496 - t2499 + t2531 + t2535 + t225 * t2602 + 0.19751789702565206229e-1 * t225 * t2573 - 0.58482233974552040708e0 * t2606 * t799 - 0.58482233974552040708e0 * t1939 * t1142 + 0.11696446794910408142e1 * t797 * t2612 - 0.58482233974552040708e0 * t797 * t2616 - 0.17315755899375863299e2 * t797 * t2621; + const double t2628 = piecewise_functor_3( t109, 0.0, t110 * t2624 / 0.2e1 + t556 * t1145 / 0.2e1 + t2264 * t345 / 0.2e1 + t960 * t802 / 0.2e1 ); + const double t2629 = t2628 * t374; + const double t2630 = t806 * t1178; + const double t2633 = t1187 * t421; + const double t2634 = t2633 * t896; + const double t2636 = t2028 * t936; + const double t2639 = t191 * t2; + const double t2643 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2636 * t474 + 0.8e1 / 0.3e1 * t2639 * t1379 ); + const double t2644 = t2036 * t959; + const double t2647 = t292 * t2; + const double t2651 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2644 * t555 - 0.8e1 / 0.3e1 * t2647 * t1379 ); + const double t2653 = ( t2643 + t2651 ) * t224; + const double t2656 = t836 * t1188; + const double t2658 = -t1986 - t1995 - t2468 + t1999 - 0.18311555036753159941e-3 * t2001 - t2006 + t2010 - 0.58482233974552040708e0 * t2012 + t2019 - t2628 - 0.58482233974552040708e0 * t2634 + 0.19751789702565206229e-1 * t2653 * t431 - t2026 + 0.4e1 * t2656; + const double t2659 = t841 * t1188; + const double t2661 = t2653 * t433; + const double t2663 = t1187 * t884; + const double t2664 = t400 * t2663; + const double t2667 = t1187 * t28; + const double t2668 = t2667 * t891; + const double t2670 = -0.4e1 * t2659 + t400 * t2661 + t2664 + t2056 + t2065 - t2069 - 0.4e1 * t2070 + t2073 - 0.4e1 * t2075 + t2134 + t2139 - t2142 - t2113 - 0.18311555036753159941e-3 * t2668; + const double t2671 = t2658 + t2670; + const double t2672 = t2671 * t470; + const double t2673 = t1192 * t932; + const double t2674 = t899 * t1220; + const double t2675 = t1194 * t985; + const double t2678 = t442 * t460; + const double t2679 = sigma_bb * t985; + const double t2680 = sigma_aa * t513; + const double t2681 = t2679 * t2680; + const double t2684 = t449 * sigma_aa; + const double t2685 = t2684 * t513; + const double t2688 = t909 * t460; + const double t2691 = t451 * t467; + const double t2694 = t2179 * t460; + const double t2697 = t916 * t467; + const double t2700 = t458 * t927; + const double t2703 = t2193 * t467; + const double t2706 = t923 * t927; + const double t2709 = t465 * t2201; + const double t2712 = -0.128e-3 * t2675 * t906 + 0.384e-6 * t2678 * t2681 + 0.128e-3 * t2685 * t1199 - 0.1536e-5 * t2688 * t2681 + 0.3456e-8 * t2691 * t2681 + 0.1152e-5 * t2694 * t2681 - 0.10368e-7 * t2697 * t2681 + 0.20736e-10 * t2700 * t2681 + 0.6912e-8 * t2703 * t2681 - 0.55296e-10 * t2706 * t2681 + 0.10368e-12 * t2709 * t2681; + const double t2713 = t438 * t2712; + const double t2714 = t2262 + t2263 + t2309 + t2310 + t2469 + t2470 + t2629 + t2630 + t2672 + t2673 + t2674 + t2713; + const double t2725 = 0.2e1 * t472 + 0.2e1 * t1380; + const double t2726 = piecewise_functor_3( t7, 0.0, t2725 ); + const double t2731 = t941 * t941; + const double t2732 = t24 * t2731; + const double t2736 = t59 * t399; + const double t2740 = piecewise_functor_3( t12, 0.0, 0.2e1 / 0.9e1 * t1402 * t2736 - t2235 ); + const double t2741 = t481 * t2740; + const double t2746 = piecewise_functor_3( t27, 0.0, t1390 + t2220 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t2732 + 0.3e1 / 0.16e2 * t32 * t38 * t2741 ); + const double t2755 = piecewise_functor_3( t44, 0.0, t1422 + t2246 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t2732 + 0.3e1 / 0.16e2 * t32 * t47 * t2741 ); + const double t2756 = t2746 + t2755; + const double t2760 = piecewise_functor_3( t8, 0.0, t2726 * t52 / 0.2e1 + t937 * t953 + t9 * t2756 / 0.2e1 ); + const double t2761 = t2760 * t104; + const double t2762 = -t2725; + const double t2763 = piecewise_functor_3( t108, 0.0, t2762 ); + const double t2768 = t965 * t965; + const double t2769 = t121 * t2768; + const double t2773 = t962 * t962; + const double t2777 = -0.2e1 * t472 + 0.2e1 * t1519; + const double t2781 = piecewise_functor_3( t113, 0.0, 0.2e1 / 0.9e1 * t1515 * t2773 - t564 * t2777 / 0.6e1 ); + const double t2782 = t561 * t2781; + const double t2787 = piecewise_functor_3( t124, 0.0, t1503 + t2270 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t38 * t2769 + 0.3e1 / 0.16e2 * t32 * t38 * t2782 ); + const double t2796 = piecewise_functor_3( t44, 0.0, t1532 + t2295 / 0.8e1 - 0.3e1 / 0.8e1 * t32 * t47 * t2769 + 0.3e1 / 0.16e2 * t32 * t47 * t2782 ); + const double t2797 = t2787 + t2796; + const double t2801 = piecewise_functor_3( t109, 0.0, t2763 * t134 / 0.2e1 + t960 * t977 + t110 * t2797 / 0.2e1 ); + const double t2802 = t2801 * t181; + const double t2803 = t981 * t1025; + const double t2804 = 0.2e1 * t2803; + const double t2806 = 0.1e1 / t141 / t153; + const double t2810 = t153 * t983; + const double t2812 = 0.1e1 / t140 / t2810; + const double t2813 = t2812 * t158; + const double t2816 = t57 * t162; + const double t2817 = 0.1e1 / t173; + const double t2818 = t2817 * t167; + const double t2825 = t71 * t171; + const double t2826 = t164 * t153; + const double t2828 = 0.1e1 / t141 / t2826; + const double t2829 = t2828 * t177; + const double t2836 = t83 * t1015; + const double t2839 = 0.1e1 / t140 / t164 / t2810; + const double t2840 = t2839 * t1021; + const double t2847 = t171 * t151; + const double t2848 = t93 * t2847; + const double t2849 = t164 * t164; + const double t2850 = t2849 * t139; + const double t2851 = 0.1e1 / t2850; + const double t2853 = 0.1e1 / t176 / t157; + const double t2854 = t2851 * t2853; + const double t2857 = 0.39111111111111111112e-1 * t138 * t2806 * t147 - 0.38400000000000000001e-3 * t989 * t2813 + 0.91022222222222222228e-6 * t2816 * t2818 + 0.54044444444444444444e-3 * t152 * t2813 - 0.48924444444444444446e-5 * t998 * t2818 + 0.10922666666666666667e-7 * t2825 * t2829 + 0.4608e-5 * t163 * t2818 - 0.40277333333333333336e-7 * t1006 * t2829 + 0.8738133333333333334e-10 * t2836 * t2840 + 0.31857777777777777778e-7 * t172 * t2829 - 0.27306666666666666668e-9 * t1016 * t2840 + 0.58254222222222222226e-12 * t2848 * t2854; + const double t2858 = t137 * t2857; + const double t2863 = t936 * t936; + const double t2869 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1564 * t2863 - t596 * t2725 / 0.3e1 ); + const double t2871 = t188 * t190 * t2869; + const double t2873 = t1558 - 0.35616666666666666666e-1 * t2316 + 0.53425e-1 * t2871; + const double t2875 = 0.62182e-1 * t2873 * t218; + const double t2877 = 0.2e1 * t2332 * t1048; + const double t2878 = t1047 * t1047; + const double t2879 = t2878 * t630; + const double t2881 = 0.2e1 * t1583 * t2879; + const double t2882 = t1037 * t1037; + const double t2883 = t1589 * t2882; + const double t2886 = t1593 - 0.2e1 / 0.3e1 * t2316 + t2871; + const double t2887 = t609 * t2886; + const double t2891 = t1601 * t2882; + const double t2893 = t616 * t2886; + const double t2896 = t1030 * t1030; + const double t2898 = t206 * t209 * t2896; + const double t2900 = t193 * t2869; + const double t2902 = t206 * t209 * t2900; + const double t2904 = -0.9494625e0 * t2883 + 0.1898925e1 * t2887 + t1598 - 0.59793333333333333334e0 * t2316 + 0.8969e0 * t2871 + 0.15358125e0 * t2891 + 0.3071625e0 * t2893 + t1611 - 0.32862666666666666666e0 * t2358 + 0.24647e0 * t2898 + 0.24647e0 * t2902; + const double t2905 = t2904 * t630; + const double t2907 = 0.1e1 * t608 * t2905; + const double t2908 = t2878 * t1631; + const double t2910 = 0.16081824322151104822e2 * t1629 * t2908; + const double t2913 = t1635 - 0.34246666666666666666e-1 * t2316 + 0.5137e-1 * t2871; + const double t2918 = t1059 * t1059; + const double t2919 = t2918 * t649; + const double t2931 = -0.17648625e1 * t2883 + 0.3529725e1 * t2887 + t1653 - 0.103295e1 * t2316 + 0.1549425e1 * t2871 + 0.31558125e0 * t2891 + 0.6311625e0 * t2893 + t1658 - 0.41678e0 * t2358 + 0.312585e0 * t2898 + 0.312585e0 * t2902; + const double t2932 = t2931 * t649; + const double t2935 = t2918 * t1670; + const double t2940 = t1674 - 0.18541666666666666667e-1 * t2316 + 0.278125e-1 * t2871; + const double t2941 = t2940 * t249; + const double t2945 = t1071 * t1071; + const double t2946 = t2945 * t668; + const double t2958 = -0.1294625e1 * t2883 + 0.258925e1 * t2887 + t1692 - 0.60385e0 * t2316 + 0.905775e0 * t2871 + 0.82524375e-1 * t2891 + 0.16504875e0 * t2893 + t1697 - 0.33114e0 * t2358 + 0.248355e0 * t2898 + 0.248355e0 * t2902; + const double t2959 = t2958 * t668; + const double t2962 = t2945 * t1709; + const double t2965 = -0.3109e-1 * t2913 * t236 + 0.2e1 * t2382 * t1060 - 0.2e1 * t1646 * t2919 + 0.1e1 * t641 * t2932 + 0.32164683177870697974e2 * t1668 * t2935 + t2875 - t2877 + t2881 - t2907 - t2910 - 0.19751789702565206229e-1 * t2941 + 0.11696446794910408142e1 * t2415 * t1072 - 0.11696446794910408142e1 * t1685 * t2946 + 0.58482233974552040708e0 * t660 * t2959 + 0.17315755899375863299e2 * t1707 * t2962; + const double t2972 = t1684 * t2945 * t668; + const double t2976 = t659 * t2958 * t668; + const double t2979 = t1706 * t2945; + const double t2980 = t2979 * t1709; + const double t2983 = -t2875 + t2877 - t2881 + t2907 + t2910 + t225 * t2965 + 0.19751789702565206229e-1 * t225 * t2941 - 0.11696446794910408142e1 * t2446 * t1080 + 0.11696446794910408142e1 * t676 * t2972 - 0.58482233974552040708e0 * t676 * t2976 - 0.17315755899375863299e2 * t676 * t2980; + const double t2987 = piecewise_functor_3( t8, 0.0, t2726 * t256 / 0.2e1 + t937 * t1083 + t9 * t2983 / 0.2e1 ); + const double t2988 = t2987 * t290; + const double t2993 = t959 * t959; + const double t2999 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t1789 * t2993 - t720 * t2762 / 0.3e1 ); + const double t3001 = t188 * t190 * t2999; + const double t3003 = t1783 - 0.35616666666666666666e-1 * t2476 + 0.53425e-1 * t3001; + const double t3005 = 0.62182e-1 * t3003 * t312; + const double t3007 = 0.2e1 * t2492 * t1110; + const double t3008 = t1109 * t1109; + const double t3009 = t3008 * t751; + const double t3011 = 0.2e1 * t1808 * t3009; + const double t3012 = t1099 * t1099; + const double t3013 = t1814 * t3012; + const double t3016 = t1818 - 0.2e1 / 0.3e1 * t2476 + t3001; + const double t3017 = t733 * t3016; + const double t3021 = t1826 * t3012; + const double t3023 = t740 * t3016; + const double t3026 = t1092 * t1092; + const double t3028 = t206 * t209 * t3026; + const double t3030 = t294 * t2999; + const double t3032 = t206 * t209 * t3030; + const double t3034 = -0.9494625e0 * t3013 + 0.1898925e1 * t3017 + t1823 - 0.59793333333333333334e0 * t2476 + 0.8969e0 * t3001 + 0.15358125e0 * t3021 + 0.3071625e0 * t3023 + t1833 - 0.32862666666666666666e0 * t2518 + 0.24647e0 * t3028 + 0.24647e0 * t3032; + const double t3035 = t3034 * t751; + const double t3037 = 0.1e1 * t732 * t3035; + const double t3038 = t3008 * t1853; + const double t3040 = 0.16081824322151104822e2 * t1851 * t3038; + const double t3043 = t1857 - 0.34246666666666666666e-1 * t2476 + 0.5137e-1 * t3001; + const double t3048 = t1121 * t1121; + const double t3049 = t3048 * t770; + const double t3061 = -0.17648625e1 * t3013 + 0.3529725e1 * t3017 + t1875 - 0.103295e1 * t2476 + 0.1549425e1 * t3001 + 0.31558125e0 * t3021 + 0.6311625e0 * t3023 + t1880 - 0.41678e0 * t2518 + 0.312585e0 * t3028 + 0.312585e0 * t3032; + const double t3062 = t3061 * t770; + const double t3065 = t3048 * t1892; + const double t3070 = t1896 - 0.18541666666666666667e-1 * t2476 + 0.278125e-1 * t3001; + const double t3071 = t3070 * t338; + const double t3075 = t1133 * t1133; + const double t3076 = t3075 * t789; + const double t3088 = -0.1294625e1 * t3013 + 0.258925e1 * t3017 + t1914 - 0.60385e0 * t2476 + 0.905775e0 * t3001 + 0.82524375e-1 * t3021 + 0.16504875e0 * t3023 + t1919 - 0.33114e0 * t2518 + 0.248355e0 * t3028 + 0.248355e0 * t3032; + const double t3089 = t3088 * t789; + const double t3092 = t3075 * t1931; + const double t3095 = -0.3109e-1 * t3043 * t325 + 0.2e1 * t2542 * t1122 - 0.2e1 * t1868 * t3049 + 0.1e1 * t762 * t3062 + 0.32164683177870697974e2 * t1890 * t3065 + t3005 - t3007 + t3011 - t3037 - t3040 - 0.19751789702565206229e-1 * t3071 + 0.11696446794910408142e1 * t2575 * t1134 - 0.11696446794910408142e1 * t1907 * t3076 + 0.58482233974552040708e0 * t781 * t3089 + 0.17315755899375863299e2 * t1929 * t3092; + const double t3102 = t1906 * t3075 * t789; + const double t3106 = t780 * t3088 * t789; + const double t3109 = t1928 * t3075; + const double t3110 = t3109 * t1931; + const double t3113 = -t3005 + t3007 - t3011 + t3037 + t3040 + t225 * t3095 + 0.19751789702565206229e-1 * t225 * t3071 - 0.11696446794910408142e1 * t2606 * t1142 + 0.11696446794910408142e1 * t797 * t3102 - 0.58482233974552040708e0 * t797 * t3106 - 0.17315755899375863299e2 * t797 * t3110; + const double t3117 = piecewise_functor_3( t109, 0.0, t2763 * t345 / 0.2e1 + t960 * t1145 + t110 * t3113 / 0.2e1 ); + const double t3118 = t3117 * t374; + const double t3119 = t1149 * t1178; + const double t3120 = 0.2e1 * t3119; + const double t3124 = t2812 * t358; + const double t3127 = t261 * t162; + const double t3128 = t2817 * t364; + const double t3135 = t269 * t171; + const double t3136 = t2828 * t370; + const double t3143 = t276 * t1015; + const double t3144 = t2839 * t1174; + const double t3151 = t283 * t2847; + const double t3153 = 0.1e1 / t369 / t357; + const double t3154 = t2851 * t3153; + const double t3157 = 0.19555555555555555555e1 * t349 * t2806 * t352 - 0.96000000000000000002e0 * t1154 * t3124 + 0.11377777777777777778e0 * t3127 * t3128 + 0.13511111111111111111e1 * t356 * t3124 - 0.61155555555555555557e0 * t1160 * t3128 + 0.68266666666666666669e-1 * t3135 * t3136 + 0.576e0 * t362 * t3128 - 0.25173333333333333333e0 * t1166 * t3136 + 0.27306666666666666666e-1 * t3143 * t3144 + 0.19911111111111111112e0 * t368 * t3136 - 0.85333333333333333333e-1 * t1172 * t3144 + 0.91022222222222222219e-2 * t3151 * t3154; + const double t3158 = t348 * t3157; + const double t3164 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2028 * t2863 + 0.4e1 / 0.3e1 * t191 * t2725 ); + const double t3170 = piecewise_functor_3( t108, 0.0, 0.4e1 / 0.9e1 * t2036 * t2993 + 0.4e1 / 0.3e1 * t292 * t2762 ); + const double t3172 = ( t3164 + t3170 ) * t224; + const double t3176 = t3172 * t433; + const double t3179 = -t1986 - t1995 + t1999 - t2006 + t2010 + t2019 + 0.19751789702565206229e-1 * t3172 * t431 - 0.11696446794910408142e1 * t2634 + t400 * t3176 - t2987 - t2026 - 0.8e1 * t2656; + const double t3183 = -0.8e1 * t2659 + 0.2e1 * t2664 + t2056 + t2065 - t2067 - t2069 + t2134 + t2139 + t2142 + t2145 - t2113 - t3117 - 0.36623110073506319882e-3 * t2668; + const double t3184 = t3179 + t3183; + const double t3185 = t3184 * t470; + const double t3186 = t1192 * t1220; + const double t3187 = 0.2e1 * t3186; + const double t3191 = t440 * t151; + const double t3192 = t2812 * t453; + const double t3195 = t460 * t151; + const double t3196 = t3195 * t2812; + const double t3199 = t1198 * t2806; + const double t3202 = t449 * t151; + const double t3209 = t467 * t151; + const double t3210 = t3209 * t2812; + const double t3213 = t1204 * t2806; + const double t3222 = t927 * t151; + const double t3223 = t3222 * t2812; + const double t3226 = t1210 * t2806; + const double t3235 = t2201 * t151; + const double t3242 = 0.29333333333333333333e-1 * t1194 * t2806 * t446 - 0.128e-3 * t3191 * t3192 + 0.384e-6 * t442 * t3196 - 0.88e-4 * t442 * t3199 + 0.128e-3 * t3202 * t3192 - 0.1536e-5 * t909 * t3196 + 0.176e-3 * t909 * t3199 + 0.3456e-8 * t451 * t3210 - 0.528e-6 * t451 * t3213 + 0.1152e-5 * t2179 * t3196 - 0.10368e-7 * t916 * t3210 + 0.792e-6 * t916 * t3213 + 0.20736e-10 * t458 * t3223 - 0.2376e-8 * t458 * t3226 + 0.6912e-8 * t2193 * t3210 - 0.55296e-10 * t923 * t3223 + 0.3168e-8 * t923 * t3226 + 0.10368e-12 * t465 * t3235 * t2812 - 0.9504e-11 * t465 * t1216 * t2806; + const double t3243 = t438 * t3242; + const double t3244 = t2761 + t2802 + t2804 + t2858 + t2988 + t3118 + t3120 + t3158 + t3185 + t3187 + t3243; + const double t3246 = t509 * t1248; + const double t3250 = t57 * t520; + const double t3251 = t79 * sigma_aa; + const double t3272 = t1486 * rho_a; + const double t3273 = 0.1e1 / t3272; + const double t3274 = t3273 * t1490; + const double t3277 = -0.10666666666666666667e-1 * t57 * t513 * t67 + 0.128e-3 * t3250 * t3251 - 0.34133333333333333334e-6 * t517 * t529 - 0.17066666666666666667e-3 * t1229 * t521 + 0.17066666666666666667e-5 * t73 * t529 - 0.40960000000000000001e-8 * t526 * t538 - 0.1536e-5 * t1234 * t529 + 0.14336e-7 * t85 * t538 - 0.32768000000000000001e-10 * t534 * t550 - 0.10922666666666666667e-7 * t1239 * t538 + 0.98304000000000000001e-10 * t95 * t550 - 0.21845333333333333334e-12 * t544 * t3274; + const double t3278 = t55 * t3277; + const double t3279 = t685 * t1271; + const double t3283 = t261 * t520; + const double t3284 = t272 * sigma_aa; + const double t3305 = t3273 * t1772; + const double t3308 = -0.53333333333333333333e0 * t261 * t513 * t265 + 0.32e0 * t3283 * t3284 - 0.42666666666666666668e-1 * t690 * t697 - 0.42666666666666666667e0 * t1255 * t691 + 0.21333333333333333334e0 * t270 * t697 - 0.256e-1 * t696 * t703 - 0.192e0 * t1260 * t697 + 0.896e-1 * t277 * t703 - 0.1024e-1 * t702 * t711 - 0.68266666666666666667e-1 * t1265 * t703 + 0.3072e-1 * t284 * t711 - 0.34133333333333333332e-2 * t708 * t3305; + const double t3309 = t259 * t3308; + const double t3310 = t899 * t1294; + const double t3311 = t440 * t513; + const double t3314 = t440 * t520; + const double t3317 = t460 * t520; + const double t3318 = t3317 * sigma_aa; + const double t3321 = t453 * t513; + const double t3331 = t467 * t520; + const double t3332 = t3331 * sigma_aa; + const double t3335 = t460 * t513; + const double t3344 = t927 * t520; + const double t3345 = t3344 * sigma_aa; + const double t3348 = t467 * t513; + const double t3357 = t2201 * t520; + const double t3364 = -0.8e-2 * t3311 * t446 + 0.48e-4 * t3314 * t905 - 0.144e-6 * t442 * t3318 + 0.24e-4 * t442 * t3321 - 0.48e-4 * t2684 * t520 * t453 + 0.576e-6 * t909 * t3318 - 0.48e-4 * t909 * t3321 - 0.1296e-8 * t451 * t3332 + 0.144e-6 * t451 * t3335 - 0.432e-6 * t2179 * t3318 + 0.3888e-8 * t916 * t3332 - 0.216e-6 * t916 * t3335 - 0.7776e-11 * t458 * t3345 + 0.648e-9 * t458 * t3348 - 0.2592e-8 * t2193 * t3332 + 0.20736e-10 * t923 * t3345 - 0.864e-9 * t923 * t3348 - 0.3888e-13 * t465 * t3357 * sigma_aa + 0.2592e-11 * t465 * t927 * t513; + const double t3365 = t438 * t3364; + const double t3368 = t587 * t1321; + const double t3369 = t806 * t1344; + const double t3370 = t899 * t1367; + const double t3373 = t143 * sigma_aa; + const double t3374 = t3373 * t513; + const double t3396 = 0.48e-4 * t1346 * t906 - 0.144e-6 * t2678 * t3374 - 0.48e-4 * t2684 * t3321 * t143 + 0.576e-6 * t2688 * t3374 - 0.1296e-8 * t2691 * t3374 - 0.432e-6 * t2694 * t3374 + 0.3888e-8 * t2697 * t3374 - 0.7776e-11 * t2700 * t3374 - 0.2592e-8 * t2703 * t3374 + 0.20736e-10 * t2706 * t3374 - 0.3888e-13 * t2709 * t3374; + const double t3397 = t438 * t3396; + const double t3400 = t957 * t1248; + const double t3401 = t1087 * t1271; + const double t3402 = t1192 * t1294; + const double t3405 = t63 * sigma_bb; + const double t3406 = t3405 * t985; + const double t3409 = t449 * sigma_bb; + const double t3410 = t985 * t453; + const double t3430 = 0.48e-4 * t1273 * t1199 - 0.144e-6 * t2678 * t3406 - 0.48e-4 * t3409 * t3410 * t63 + 0.576e-6 * t2688 * t3406 - 0.1296e-8 * t2691 * t3406 - 0.432e-6 * t2694 * t3406 + 0.3888e-8 * t2697 * t3406 - 0.7776e-11 * t2700 * t3406 - 0.2592e-8 * t2703 * t3406 + 0.20736e-10 * t2706 * t3406 - 0.3888e-13 * t2709 * t3406; + const double t3431 = t438 * t3430; + const double t3434 = t981 * t1321; + const double t3438 = t57 * t992; + const double t3439 = t158 * sigma_bb; + const double t3460 = t2849 * rho_b; + const double t3461 = 0.1e1 / t3460; + const double t3462 = t3461 * t2853; + const double t3465 = -0.10666666666666666667e-1 * t57 * t985 * t147 + 0.128e-3 * t3438 * t3439 - 0.34133333333333333334e-6 * t989 * t1001 - 0.17066666666666666667e-3 * t1302 * t993 + 0.17066666666666666667e-5 * t152 * t1001 - 0.40960000000000000001e-8 * t998 * t1010 - 0.1536e-5 * t1307 * t1001 + 0.14336e-7 * t163 * t1010 - 0.32768000000000000001e-10 * t1006 * t1022 - 0.10922666666666666667e-7 * t1312 * t1010 + 0.98304000000000000001e-10 * t172 * t1022 - 0.21845333333333333334e-12 * t1016 * t3462; + const double t3466 = t137 * t3465; + const double t3467 = t1149 * t1344; + const double t3471 = t261 * t992; + const double t3472 = t358 * sigma_bb; + const double t3493 = t3461 * t3153; + const double t3496 = -0.53333333333333333333e0 * t261 * t985 * t352 + 0.32e0 * t3471 * t3472 - 0.42666666666666666668e-1 * t1154 * t1161 - 0.42666666666666666667e0 * t1328 * t1155 + 0.21333333333333333334e0 * t356 * t1161 - 0.256e-1 * t1160 * t1167 - 0.192e0 * t1333 * t1161 + 0.896e-1 * t362 * t1167 - 0.1024e-1 * t1166 * t1175 - 0.68266666666666666667e-1 * t1338 * t1167 + 0.3072e-1 * t368 * t1175 - 0.34133333333333333332e-2 * t1172 * t3493; + const double t3497 = t348 * t3496; + const double t3498 = t1192 * t1367; + const double t3499 = t440 * t985; + const double t3502 = t440 * t992; + const double t3505 = t460 * t992; + const double t3506 = t3505 * sigma_bb; + const double t3518 = t467 * t992; + const double t3519 = t3518 * sigma_bb; + const double t3522 = t460 * t985; + const double t3531 = t927 * t992; + const double t3532 = t3531 * sigma_bb; + const double t3535 = t467 * t985; + const double t3544 = t2201 * t992; + const double t3548 = t927 * t985; + const double t3551 = -0.8e-2 * t3499 * t446 + 0.48e-4 * t3502 * t1198 - 0.144e-6 * t442 * t3506 + 0.24e-4 * t442 * t3410 - 0.48e-4 * t3409 * t992 * t453 + 0.576e-6 * t909 * t3506 - 0.48e-4 * t909 * t3410 - 0.1296e-8 * t451 * t3519 + 0.144e-6 * t451 * t3522 - 0.432e-6 * t2179 * t3506 + 0.3888e-8 * t916 * t3519 - 0.216e-6 * t916 * t3522 - 0.7776e-11 * t458 * t3532 + 0.648e-9 * t458 * t3535 - 0.2592e-8 * t2193 * t3519 + 0.20736e-10 * t923 * t3532 - 0.864e-9 * t923 * t3535 - 0.3888e-13 * t465 * t3544 * sigma_bb + 0.2592e-11 * t465 * t3548; + const double t3552 = t438 * t3551; + const double t3567 = t83 * sigma_aa; + const double t3574 = t93 * t72; + const double t3579 = 0.1e1 / t1486; + const double t3580 = t3579 * t1490; + const double t3583 = -0.32e-4 * t57 * t77 * t79 + 0.128e-6 * t58 * t90 + 0.32e-4 * t71 * t77 * t79 - 0.512e-6 * t1229 * t90 + 0.1536e-8 * t73 * t101 + 0.384e-6 * t3567 * t90 - 0.4608e-8 * t1234 * t101 + 0.12288e-10 * t85 * t1245 + 0.3072e-8 * t3574 * t101 - 0.32768e-10 * t1239 * t1245 + 0.8192e-13 * t95 * t3580; + const double t3584 = t55 * t3583; + const double t3597 = t276 * sigma_aa; + const double t3604 = t283 * t72; + const double t3609 = t3579 * t1772; + const double t3612 = -0.8e-1 * t261 * t77 * t272 + 0.16e-1 * t262 * t280 + 0.8e-1 * t269 * t77 * t272 - 0.64e-1 * t1255 * t280 + 0.96e-2 * t270 * t287 + 0.48e-1 * t3597 * t280 - 0.288e-1 * t1260 * t287 + 0.384e-2 * t277 * t1268 + 0.192e-1 * t3604 * t287 - 0.1024e-1 * t1265 * t1268 + 0.128e-2 * t284 * t3609; + const double t3613 = t259 * t3612; + const double t3614 = t440 * t77; + const double t3617 = t460 * t77; + const double t3620 = t449 * t77; + const double t3625 = t467 * t77; + const double t3632 = t927 * t77; + const double t3642 = -0.18e-4 * t3614 * t453 + 0.54e-7 * t442 * t3617 + 0.18e-4 * t3620 * t453 - 0.216e-6 * t909 * t3617 + 0.486e-9 * t451 * t3625 + 0.162e-6 * t2179 * t3617 - 0.1458e-8 * t916 * t3625 + 0.2916e-11 * t458 * t3632 + 0.972e-9 * t2193 * t3625 - 0.7776e-11 * t923 * t3632 + 0.1458e-13 * t465 * t2201 * t77; + const double t3643 = t438 * t3642; + const double t3645 = t3 * t438; + const double t3648 = t1354 * t63; + const double t3651 = t449 * t63; + const double t3656 = t1359 * t63; + const double t3663 = t1364 * t63; + const double t3670 = t2201 * t143; + const double t3674 = -0.18e-4 * t1346 * t1276 + 0.54e-7 * t442 * t3648 + 0.18e-4 * t3651 * t1349 - 0.216e-6 * t909 * t3648 + 0.486e-9 * t451 * t3656 + 0.162e-6 * t2179 * t3648 - 0.1458e-8 * t916 * t3656 + 0.2916e-11 * t458 * t3663 + 0.972e-9 * t2193 * t3656 - 0.7776e-11 * t923 * t3663 + 0.1458e-13 * t465 * t3670 * t63; + const double t3687 = t83 * sigma_bb; + const double t3694 = t93 * t151; + const double t3699 = 0.1e1 / t2849; + const double t3700 = t3699 * t2853; + const double t3703 = -0.32e-4 * t57 * t156 * t158 + 0.128e-6 * t138 * t168 + 0.32e-4 * t71 * t156 * t158 - 0.512e-6 * t1302 * t168 + 0.1536e-8 * t152 * t178 + 0.384e-6 * t3687 * t168 - 0.4608e-8 * t1307 * t178 + 0.12288e-10 * t163 * t1318 + 0.3072e-8 * t3694 * t178 - 0.32768e-10 * t1312 * t1318 + 0.8192e-13 * t172 * t3700; + const double t3704 = t137 * t3703; + const double t3717 = t276 * sigma_bb; + const double t3724 = t283 * t151; + const double t3729 = t3699 * t3153; + const double t3732 = -0.8e-1 * t261 * t156 * t358 + 0.16e-1 * t349 * t365 + 0.8e-1 * t269 * t156 * t358 - 0.64e-1 * t1328 * t365 + 0.96e-2 * t356 * t371 + 0.48e-1 * t3717 * t365 - 0.288e-1 * t1333 * t371 + 0.384e-2 * t362 * t1341 + 0.192e-1 * t3724 * t371 - 0.1024e-1 * t1338 * t1341 + 0.128e-2 * t368 * t3729; + const double t3733 = t348 * t3732; + const double t3734 = t440 * t156; + const double t3737 = t460 * t156; + const double t3740 = t449 * t156; + const double t3745 = t467 * t156; + const double t3752 = t927 * t156; + const double t3759 = t2201 * t156; + const double t3762 = -0.18e-4 * t3734 * t453 + 0.54e-7 * t442 * t3737 + 0.18e-4 * t3740 * t453 - 0.216e-6 * t909 * t3737 + 0.486e-9 * t451 * t3745 + 0.162e-6 * t2179 * t3737 - 0.1458e-8 * t916 * t3745 + 0.2916e-11 * t458 * t3752 + 0.972e-9 * t2193 * t3745 - 0.7776e-11 * t923 * t3752 + 0.1458e-13 * t465 * t3759; + const double t3763 = t438 * t3762; + + + vrho_a = t105 + t182 + t291 + t375 + t471 + t3 * ( t510 + t554 + t588 + t686 + t715 + t807 + t900 + t933 ); + vrho_b = t105 + t182 + t291 + t375 + t471 + t3 * ( t958 + t982 + t1026 + t1088 + t1150 + t1179 + t1193 + t1221 ); + vsigma_aa = t3 * ( t1249 + t1272 + t1295 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1322 + t1345 + t1368 ); + v2rho2_aa = t3 * t2211 + 0.2e1 * t510 + 0.2e1 * t554 + 0.2e1 * t588 + 0.2e1 * t686 + 0.2e1 * t715 + 0.2e1 * t807 + 0.2e1 * t900 + 0.2e1 * t933; + v2rho2_ab = t3 * t2714 + t1026 + t1088 + t1150 + t1179 + t1193 + t1221 + t510 + t554 + t588 + t686 + t715 + t807 + t900 + t933 + t958 + t982; + v2rho2_bb = t3 * t3244 + 0.2e1 * t1026 + 0.2e1 * t1088 + 0.2e1 * t1150 + 0.2e1 * t1179 + 0.2e1 * t1193 + 0.2e1 * t1221 + 0.2e1 * t958 + 0.2e1 * t982; + v2rhosigma_a_aa = t1249 + t1272 + t1295 + t3 * ( t3246 + t3278 + t3279 + t3309 + t3310 + t3365 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1322 + t1345 + t1368 + t3 * ( t3368 + t3369 + t3370 + t3397 ); + v2rhosigma_b_aa = t1249 + t1272 + t1295 + t3 * ( t3400 + t3401 + t3402 + t3431 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1322 + t1345 + t1368 + t3 * ( t3434 + t3466 + t3467 + t3497 + t3498 + t3552 ); + v2sigma2_aa_aa = t3 * ( t3584 + t3613 + t3643 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t3645 * t3674; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t3704 + t3733 + t3763 ); + + } + + +}; + +struct BuiltinB97_D : detail::BuiltinKernelImpl< BuiltinB97_D > { + + BuiltinB97_D( Spin p ) : + detail::BuiltinKernelImpl< BuiltinB97_D >(p) { } + + virtual ~BuiltinB97_D() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/bc95_c.hpp b/include/exchcxx/impl/builtin/kernels/bc95_c.hpp new file mode 100644 index 0000000..bc16931 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/bc95_c.hpp @@ -0,0 +1,4544 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinBC95_C > : + public mgga_screening_interface< BuiltinBC95_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double css = 0.038; + static constexpr double copp = 0.0031; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t105 = constants::m_cbrt_6; + constexpr double t108 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t109 = t108 * t108; + constexpr double t110 = 0.1e1 / t109; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t94 = t93 * tau; + const double t96 = 0.1e1 / t34 / rho; + const double t97 = t36 * t96; + const double t99 = 0.1e1 / rho; + const double t101 = 0.1e1 / tau; + const double t104 = 0.1e1 - sigma * t99 * t101 / 0.8e1; + const double t106 = t104 * t105; + const double t111 = css * sigma; + const double t112 = rho * rho; + const double t114 = 0.1e1 / t34 / t112; + const double t115 = t36 * t114; + const double t117 = t111 * t115 + 0.1e1; + const double t118 = t117 * t117; + const double t119 = 0.1e1 / t118; + const double t120 = t110 * t119; + const double t121 = t106 * t120; + const double t123 = 0.1e2 / 0.9e1 * t94 * t97 * t121; + const double t125 = t10 * t12 * t15; + const double t127 = 0.1e1 + 0.53425e-1 * t125; + const double t128 = safe_math::sqrt( t125 ); + const double t131 = pow_3_2( t125 ); + const double t134 = t32 * t11 * t35; + const double t136 = 0.379785e1 * t128 + 0.8969e0 * t125 + 0.204775e0 * t131 + 0.123235e0 * t134; + const double t139 = 0.1e1 + 0.16081979498692535067e2 / t136; + const double t140 = safe_math::log( t139 ); + const double t143 = piecewise_functor_3( t4, t50, 1.0 ); + const double t146 = ( 0.2e1 * t143 - 0.2e1 ) * t58; + const double t148 = 0.1e1 + 0.278125e-1 * t125; + const double t153 = 0.51785e1 * t128 + 0.905775e0 * t125 + 0.1100325e0 * t131 + 0.1241775e0 * t134; + const double t156 = 0.1e1 + 0.29608749977793437516e2 / t153; + const double t157 = safe_math::log( t156 ); + const double t162 = -0.621814e-1 * t127 * t140 + 0.19751673498613801407e-1 * t146 * t148 * t157 - 0.2e1 * t93; + const double t166 = 0.2e1 * copp * sigma * t115 + 0.1e1; + const double t167 = 0.1e1 / t166; + const double t168 = t162 * t167; + + + eps = t123 + t168; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t105 = constants::m_cbrt_6; + constexpr double t108 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t109 = t108 * t108; + constexpr double t110 = 0.1e1 / t109; + constexpr double t274 = t105 * t110; + constexpr double t290 = t9 * t12; + constexpr double t352 = copp * t36; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t94 = t93 * tau; + const double t96 = 0.1e1 / t34 / rho; + const double t97 = t36 * t96; + const double t99 = 0.1e1 / rho; + const double t101 = 0.1e1 / tau; + const double t104 = 0.1e1 - sigma * t99 * t101 / 0.8e1; + const double t106 = t104 * t105; + const double t111 = css * sigma; + const double t112 = rho * rho; + const double t114 = 0.1e1 / t34 / t112; + const double t115 = t36 * t114; + const double t117 = t111 * t115 + 0.1e1; + const double t118 = t117 * t117; + const double t119 = 0.1e1 / t118; + const double t120 = t110 * t119; + const double t121 = t106 * t120; + const double t123 = 0.1e2 / 0.9e1 * t94 * t97 * t121; + const double t125 = t10 * t12 * t15; + const double t127 = 0.1e1 + 0.53425e-1 * t125; + const double t128 = safe_math::sqrt( t125 ); + const double t131 = pow_3_2( t125 ); + const double t134 = t32 * t11 * t35; + const double t136 = 0.379785e1 * t128 + 0.8969e0 * t125 + 0.204775e0 * t131 + 0.123235e0 * t134; + const double t139 = 0.1e1 + 0.16081979498692535067e2 / t136; + const double t140 = safe_math::log( t139 ); + const double t143 = piecewise_functor_3( t4, t50, 1.0 ); + const double t146 = ( 0.2e1 * t143 - 0.2e1 ) * t58; + const double t148 = 0.1e1 + 0.278125e-1 * t125; + const double t153 = 0.51785e1 * t128 + 0.905775e0 * t125 + 0.1100325e0 * t131 + 0.1241775e0 * t134; + const double t156 = 0.1e1 + 0.29608749977793437516e2 / t153; + const double t157 = safe_math::log( t156 ); + const double t162 = -0.621814e-1 * t127 * t140 + 0.19751673498613801407e-1 * t146 * t148 * t157 - 0.2e1 * t93; + const double t166 = 0.2e1 * copp * sigma * t115 + 0.1e1; + const double t167 = 0.1e1 / t166; + const double t168 = t162 * t167; + const double t170 = 0.1e1 / t14 / rho; + const double t171 = t170 * t16; + const double t172 = t20 * t46; + const double t175 = 0.11073470983333333333e-2 * t13 * t171 * t172; + const double t176 = t42 * t42; + const double t177 = 0.1e1 / t176; + const double t178 = t24 * t177; + const double t181 = 0.1e1 / t25 * t7 * t9; + const double t182 = t12 * t170; + const double t183 = t16 * t20; + const double t184 = t182 * t183; + const double t185 = t181 * t184; + const double t187 = t171 * t20; + const double t188 = t13 * t187; + const double t190 = safe_math::sqrt( t22 ); + const double t192 = t190 * t7 * t9; + const double t193 = t192 * t184; + const double t196 = t33 * t97 * t38; + const double t198 = -0.632975e0 * t185 - 0.29896666666666666667e0 * t188 - 0.1023875e0 * t193 - 0.82156666666666666667e-1 * t196; + const double t199 = 0.1e1 / t45; + const double t200 = t198 * t199; + const double t202 = 0.1e1 * t178 * t200; + const double t203 = t20 * t70; + const double t207 = t66 * t66; + const double t208 = 0.1e1 / t207; + const double t209 = t61 * t208; + const double t214 = -0.1176575e1 * t185 - 0.516475e0 * t188 - 0.2103875e0 * t193 - 0.104195e0 * t196; + const double t215 = 0.1e1 / t69; + const double t216 = t214 * t215; + const double t219 = t20 * t83; + const double t223 = t79 * t79; + const double t224 = 0.1e1 / t223; + const double t225 = t74 * t224; + const double t230 = -0.86308333333333333334e0 * t185 - 0.301925e0 * t188 - 0.5501625e-1 * t193 - 0.82785e-1 * t196; + const double t231 = 0.1e1 / t82; + const double t232 = t230 * t231; + const double t237 = t59 * t10; + const double t238 = t183 * t83; + const double t242 = t59 * t74; + const double t244 = t224 * t230 * t231; + const double t250 = piecewise_functor_3( t5, 0.0, t6 * ( t175 + t202 + t59 * ( 0.53237641966666666666e-3 * t13 * t171 * t203 + 0.1e1 * t209 * t216 - t175 - t202 + 0.18311447306006545054e-3 * t13 * t171 * t219 + 0.5848223622634646207e0 * t225 * t232 ) - 0.18311447306006545054e-3 * t237 * t182 * t238 - 0.5848223622634646207e0 * t242 * t244 ) / 0.2e1 ); + const double t251 = t250 * tau; + const double t253 = t251 * t97 * t121; + const double t256 = t94 * t115 * t121; + const double t258 = t93 * t36; + const double t259 = t112 * rho; + const double t261 = 0.1e1 / t34 / t259; + const double t262 = t258 * t261; + const double t264 = sigma * t105 * t120; + const double t265 = t262 * t264; + const double t267 = t112 * t112; + const double t268 = t267 * rho; + const double t270 = 0.1e1 / t14 / t268; + const double t271 = t16 * t270; + const double t272 = t271 * t104; + const double t276 = 0.1e1 / t118 / t117; + const double t277 = t276 * css; + const double t279 = t274 * t277 * sigma; + const double t280 = t94 * t272 * t279; + const double t285 = t136 * t136; + const double t286 = 0.1e1 / t285; + const double t287 = t127 * t286; + const double t289 = 0.1e1 / t128 * t7; + const double t291 = t290 * t170; + const double t292 = t289 * t291; + const double t294 = t10 * t182; + const double t296 = safe_math::sqrt( t125 ); + const double t297 = t296 * t7; + const double t298 = t297 * t291; + const double t301 = t32 * t11 * t96; + const double t303 = -0.632975e0 * t292 - 0.29896666666666666667e0 * t294 - 0.1023875e0 * t298 - 0.82156666666666666667e-1 * t301; + const double t304 = 0.1e1 / t139; + const double t305 = t303 * t304; + const double t308 = t146 * t7; + const double t313 = t146 * t148; + const double t314 = t153 * t153; + const double t315 = 0.1e1 / t314; + const double t320 = -0.86308333333333333334e0 * t292 - 0.301925e0 * t294 - 0.5501625e-1 * t298 - 0.82785e-1 * t301; + const double t322 = 0.1e1 / t156; + const double t323 = t315 * t320 * t322; + const double t327 = 0.11073470983333333333e-2 * t10 * t182 * t140 + 0.1e1 * t287 * t305 - 0.18311447306006545054e-3 * t308 * t290 * t170 * t157 - 0.5848223622634646207e0 * t313 * t323 - 0.2e1 * t250; + const double t328 = t327 * t167; + const double t329 = t166 * t166; + const double t330 = 0.1e1 / t329; + const double t331 = t162 * t330; + const double t332 = t331 * copp; + const double t333 = sigma * t36; + const double t334 = t333 * t261; + const double t335 = t332 * t334; + const double t339 = t258 * t114; + const double t340 = t274 * t119; + const double t342 = 0.5e1 / 0.36e2 * t339 * t340; + const double t344 = 0.1e1 / t14 / t267; + const double t345 = t16 * t344; + const double t347 = t110 * t276; + const double t348 = t347 * css; + const double t349 = t106 * t348; + const double t351 = 0.4e2 / 0.9e1 * t94 * t345 * t349; + const double t353 = t352 * t114; + const double t355 = 0.2e1 * t331 * t353; + const double t359 = 0.1e2 / 0.9e1 * t258 * t96 * t121; + const double t360 = t93 * t101; + const double t363 = 0.5e1 / 0.36e2 * t360 * t115 * t264; + + + eps = t123 + t168; + vrho = t123 + t168 + rho * ( 0.1e2 / 0.9e1 * t253 - 0.5e2 / 0.27e2 * t256 + 0.5e1 / 0.36e2 * t265 + 0.32e3 / 0.27e2 * t280 + t328 + 0.16e2 / 0.3e1 * t335 ); + vsigma = rho * ( -t342 - t351 - t355 ); + vlapl = 0.e0; + vtau = rho * ( t359 + t363 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t105 = constants::m_cbrt_6; + constexpr double t108 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t109 = t108 * t108; + constexpr double t110 = 0.1e1 / t109; + constexpr double t274 = t105 * t110; + constexpr double t290 = t9 * t12; + constexpr double t352 = copp * t36; + constexpr double t564 = css * css; + constexpr double t587 = t31 * t11; + constexpr double t660 = copp * copp; + constexpr double t739 = t660 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t94 = t93 * tau; + const double t96 = 0.1e1 / t34 / rho; + const double t97 = t36 * t96; + const double t99 = 0.1e1 / rho; + const double t101 = 0.1e1 / tau; + const double t104 = 0.1e1 - sigma * t99 * t101 / 0.8e1; + const double t106 = t104 * t105; + const double t111 = css * sigma; + const double t112 = rho * rho; + const double t114 = 0.1e1 / t34 / t112; + const double t115 = t36 * t114; + const double t117 = t111 * t115 + 0.1e1; + const double t118 = t117 * t117; + const double t119 = 0.1e1 / t118; + const double t120 = t110 * t119; + const double t121 = t106 * t120; + const double t125 = t10 * t12 * t15; + const double t127 = 0.1e1 + 0.53425e-1 * t125; + const double t128 = safe_math::sqrt( t125 ); + const double t131 = pow_3_2( t125 ); + const double t134 = t32 * t11 * t35; + const double t136 = 0.379785e1 * t128 + 0.8969e0 * t125 + 0.204775e0 * t131 + 0.123235e0 * t134; + const double t139 = 0.1e1 + 0.16081979498692535067e2 / t136; + const double t140 = safe_math::log( t139 ); + const double t143 = piecewise_functor_3( t4, t50, 1.0 ); + const double t146 = ( 0.2e1 * t143 - 0.2e1 ) * t58; + const double t148 = 0.1e1 + 0.278125e-1 * t125; + const double t153 = 0.51785e1 * t128 + 0.905775e0 * t125 + 0.1100325e0 * t131 + 0.1241775e0 * t134; + const double t156 = 0.1e1 + 0.29608749977793437516e2 / t153; + const double t157 = safe_math::log( t156 ); + const double t162 = -0.621814e-1 * t127 * t140 + 0.19751673498613801407e-1 * t146 * t148 * t157 - 0.2e1 * t93; + const double t166 = 0.2e1 * copp * sigma * t115 + 0.1e1; + const double t167 = 0.1e1 / t166; + const double t170 = 0.1e1 / t14 / rho; + const double t171 = t170 * t16; + const double t172 = t20 * t46; + const double t175 = 0.11073470983333333333e-2 * t13 * t171 * t172; + const double t176 = t42 * t42; + const double t177 = 0.1e1 / t176; + const double t178 = t24 * t177; + const double t181 = 0.1e1 / t25 * t7 * t9; + const double t182 = t12 * t170; + const double t183 = t16 * t20; + const double t184 = t182 * t183; + const double t185 = t181 * t184; + const double t187 = t171 * t20; + const double t188 = t13 * t187; + const double t190 = safe_math::sqrt( t22 ); + const double t192 = t190 * t7 * t9; + const double t193 = t192 * t184; + const double t196 = t33 * t97 * t38; + const double t198 = -0.632975e0 * t185 - 0.29896666666666666667e0 * t188 - 0.1023875e0 * t193 - 0.82156666666666666667e-1 * t196; + const double t199 = 0.1e1 / t45; + const double t200 = t198 * t199; + const double t202 = 0.1e1 * t178 * t200; + const double t203 = t20 * t70; + const double t207 = t66 * t66; + const double t208 = 0.1e1 / t207; + const double t209 = t61 * t208; + const double t214 = -0.1176575e1 * t185 - 0.516475e0 * t188 - 0.2103875e0 * t193 - 0.104195e0 * t196; + const double t215 = 0.1e1 / t69; + const double t216 = t214 * t215; + const double t219 = t20 * t83; + const double t223 = t79 * t79; + const double t224 = 0.1e1 / t223; + const double t225 = t74 * t224; + const double t230 = -0.86308333333333333334e0 * t185 - 0.301925e0 * t188 - 0.5501625e-1 * t193 - 0.82785e-1 * t196; + const double t231 = 0.1e1 / t82; + const double t232 = t230 * t231; + const double t237 = t59 * t10; + const double t238 = t183 * t83; + const double t242 = t59 * t74; + const double t244 = t224 * t230 * t231; + const double t250 = piecewise_functor_3( t5, 0.0, t6 * ( t175 + t202 + t59 * ( 0.53237641966666666666e-3 * t13 * t171 * t203 + 0.1e1 * t209 * t216 - t175 - t202 + 0.18311447306006545054e-3 * t13 * t171 * t219 + 0.5848223622634646207e0 * t225 * t232 ) - 0.18311447306006545054e-3 * t237 * t182 * t238 - 0.5848223622634646207e0 * t242 * t244 ) / 0.2e1 ); + const double t251 = t250 * tau; + const double t253 = t251 * t97 * t121; + const double t256 = t94 * t115 * t121; + const double t258 = t93 * t36; + const double t259 = t112 * rho; + const double t261 = 0.1e1 / t34 / t259; + const double t262 = t258 * t261; + const double t264 = sigma * t105 * t120; + const double t265 = t262 * t264; + const double t267 = t112 * t112; + const double t268 = t267 * rho; + const double t270 = 0.1e1 / t14 / t268; + const double t271 = t16 * t270; + const double t272 = t271 * t104; + const double t276 = 0.1e1 / t118 / t117; + const double t277 = t276 * css; + const double t279 = t274 * t277 * sigma; + const double t280 = t94 * t272 * t279; + const double t285 = t136 * t136; + const double t286 = 0.1e1 / t285; + const double t287 = t127 * t286; + const double t289 = 0.1e1 / t128 * t7; + const double t291 = t290 * t170; + const double t292 = t289 * t291; + const double t294 = t10 * t182; + const double t296 = safe_math::sqrt( t125 ); + const double t297 = t296 * t7; + const double t298 = t297 * t291; + const double t301 = t32 * t11 * t96; + const double t303 = -0.632975e0 * t292 - 0.29896666666666666667e0 * t294 - 0.1023875e0 * t298 - 0.82156666666666666667e-1 * t301; + const double t304 = 0.1e1 / t139; + const double t305 = t303 * t304; + const double t308 = t146 * t7; + const double t313 = t146 * t148; + const double t314 = t153 * t153; + const double t315 = 0.1e1 / t314; + const double t320 = -0.86308333333333333334e0 * t292 - 0.301925e0 * t294 - 0.5501625e-1 * t298 - 0.82785e-1 * t301; + const double t322 = 0.1e1 / t156; + const double t323 = t315 * t320 * t322; + const double t327 = 0.11073470983333333333e-2 * t10 * t182 * t140 + 0.1e1 * t287 * t305 - 0.18311447306006545054e-3 * t308 * t290 * t170 * t157 - 0.5848223622634646207e0 * t313 * t323 - 0.2e1 * t250; + const double t328 = t327 * t167; + const double t329 = t166 * t166; + const double t330 = 0.1e1 / t329; + const double t331 = t162 * t330; + const double t332 = t331 * copp; + const double t333 = sigma * t36; + const double t334 = t333 * t261; + const double t335 = t332 * t334; + const double t339 = t258 * t114; + const double t340 = t274 * t119; + const double t342 = 0.5e1 / 0.36e2 * t339 * t340; + const double t344 = 0.1e1 / t14 / t267; + const double t345 = t16 * t344; + const double t347 = t110 * t276; + const double t348 = t347 * css; + const double t349 = t106 * t348; + const double t351 = 0.4e2 / 0.9e1 * t94 * t345 * t349; + const double t353 = t352 * t114; + const double t355 = 0.2e1 * t331 * t353; + const double t359 = 0.1e2 / 0.9e1 * t258 * t96 * t121; + const double t360 = t93 * t101; + const double t363 = 0.5e1 / 0.36e2 * t360 * t115 * t264; + const double t372 = 0.1e1 / t14 / t112; + const double t373 = t372 * t16; + const double t376 = 0.14764627977777777777e-2 * t13 * t373 * t172; + const double t379 = t183 * t177 * t198 * t199; + const double t381 = 0.35616666666666666666e-1 * t294 * t379; + const double t382 = t176 * t42; + const double t383 = 0.1e1 / t382; + const double t384 = t24 * t383; + const double t385 = t198 * t198; + const double t386 = t385 * t199; + const double t388 = 0.2e1 * t384 * t386; + const double t392 = 0.1e1 / t25 / t22 * t30 * t31; + const double t393 = t11 * t114; + const double t394 = t36 * t38; + const double t395 = t393 * t394; + const double t396 = t392 * t395; + const double t398 = t12 * t372; + const double t399 = t398 * t183; + const double t400 = t181 * t399; + const double t402 = t373 * t20; + const double t403 = t13 * t402; + const double t405 = 0.1e1/safe_math::sqrt( t22 ); + const double t407 = t405 * t30 * t31; + const double t408 = t407 * t395; + const double t410 = t192 * t399; + const double t413 = t33 * t115 * t38; + const double t415 = -0.42198333333333333333e0 * t396 + 0.84396666666666666666e0 * t400 + 0.39862222222222222223e0 * t403 + 0.68258333333333333333e-1 * t408 + 0.13651666666666666667e0 * t410 + 0.13692777777777777778e0 * t413; + const double t418 = 0.1e1 * t178 * t415 * t199; + const double t419 = t176 * t176; + const double t420 = 0.1e1 / t419; + const double t421 = t24 * t420; + const double t422 = t45 * t45; + const double t423 = 0.1e1 / t422; + const double t424 = t385 * t423; + const double t426 = 0.16081979498692535067e2 * t421 * t424; + const double t432 = t183 * t208 * t214 * t215; + const double t435 = t207 * t66; + const double t436 = 0.1e1 / t435; + const double t437 = t61 * t436; + const double t438 = t214 * t214; + const double t439 = t438 * t215; + const double t448 = -0.78438333333333333333e0 * t396 + 0.15687666666666666667e1 * t400 + 0.68863333333333333333e0 * t403 + 0.14025833333333333333e0 * t408 + 0.28051666666666666667e0 * t410 + 0.17365833333333333333e0 * t413; + const double t452 = t207 * t207; + const double t453 = 0.1e1 / t452; + const double t454 = t61 * t453; + const double t455 = t69 * t69; + const double t456 = 0.1e1 / t455; + const double t457 = t438 * t456; + const double t463 = t183 * t244; + const double t466 = t223 * t79; + const double t467 = 0.1e1 / t466; + const double t468 = t74 * t467; + const double t469 = t230 * t230; + const double t470 = t469 * t231; + const double t479 = -0.57538888888888888889e0 * t396 + 0.11507777777777777778e1 * t400 + 0.40256666666666666667e0 * t403 + 0.366775e-1 * t408 + 0.73355e-1 * t410 + 0.137975e0 * t413; + const double t480 = t479 * t231; + const double t483 = t223 * t223; + const double t484 = 0.1e1 / t483; + const double t485 = t74 * t484; + const double t486 = t82 * t82; + const double t487 = 0.1e1 / t486; + const double t488 = t469 * t487; + const double t491 = -0.70983522622222222221e-3 * t13 * t373 * t203 - 0.34246666666666666666e-1 * t294 * t432 - 0.2e1 * t437 * t439 + 0.1e1 * t209 * t448 * t215 + 0.32163958997385070134e2 * t454 * t457 + t376 + t381 + t388 - t418 - t426 - 0.24415263074675393405e-3 * t13 * t373 * t219 - 0.10843581300301739842e-1 * t294 * t463 - 0.11696447245269292414e1 * t468 * t470 + 0.5848223622634646207e0 * t225 * t480 + 0.17315859105681463759e2 * t485 * t488; + const double t496 = t59 * t13; + const double t501 = t467 * t469 * t231; + const double t505 = t224 * t479 * t231; + const double t508 = t484 * t469; + const double t509 = t508 * t487; + const double t512 = -t376 - t381 - t388 + t418 + t426 + t59 * t491 + 0.24415263074675393405e-3 * t237 * t398 * t238 + 0.10843581300301739842e-1 * t496 * t187 * t244 + 0.11696447245269292414e1 * t242 * t501 - 0.5848223622634646207e0 * t242 * t505 - 0.17315859105681463759e2 * t242 * t509; + const double t515 = piecewise_functor_3( t5, 0.0, t6 * t512 / 0.2e1 ); + const double t516 = t515 * tau; + const double t518 = t516 * t97 * t121; + const double t521 = t251 * t115 * t121; + const double t523 = t250 * t36; + const double t524 = t523 * t261; + const double t525 = t524 * t264; + const double t528 = t251 * t272 * t279; + const double t530 = t36 * t261; + const double t532 = t94 * t530 * t121; + const double t535 = 0.1e1 / t34 / t267; + const double t536 = t258 * t535; + const double t537 = t536 * t264; + const double t539 = t267 * t112; + const double t541 = 0.1e1 / t14 / t539; + const double t542 = t16 * t541; + const double t543 = t542 * t104; + const double t545 = t94 * t543 * t279; + const double t547 = t93 * t16; + const double t548 = t267 * t259; + const double t550 = 0.1e1 / t14 / t548; + const double t551 = sigma * sigma; + const double t552 = t550 * t551; + const double t553 = t547 * t552; + const double t554 = t274 * t277; + const double t555 = t553 * t554; + const double t557 = t267 * t267; + const double t558 = t557 * rho; + const double t559 = 0.1e1 / t558; + const double t560 = t559 * t104; + const double t561 = t94 * t560; + const double t562 = t118 * t118; + const double t563 = 0.1e1 / t562; + const double t565 = t563 * t564; + const double t567 = t274 * t565 * t551; + const double t568 = t561 * t567; + const double t573 = t170 * t286; + const double t577 = t285 * t136; + const double t578 = 0.1e1 / t577; + const double t579 = t127 * t578; + const double t580 = t303 * t303; + const double t581 = t580 * t304; + const double t586 = 0.1e1 / t128 / t125 * t30; + const double t588 = t587 * t114; + const double t589 = t586 * t588; + const double t591 = t290 * t372; + const double t592 = t289 * t591; + const double t594 = t10 * t398; + const double t596 = 0.1e1/safe_math::sqrt( t125 ); + const double t597 = t596 * t30; + const double t598 = t597 * t588; + const double t600 = t297 * t591; + const double t602 = t32 * t393; + const double t604 = -0.42198333333333333333e0 * t589 + 0.84396666666666666666e0 * t592 + 0.39862222222222222223e0 * t594 + 0.68258333333333333333e-1 * t598 + 0.13651666666666666667e0 * t600 + 0.13692777777777777778e0 * t602; + const double t605 = t604 * t304; + const double t608 = t285 * t285; + const double t609 = 0.1e1 / t608; + const double t610 = t127 * t609; + const double t611 = t139 * t139; + const double t612 = 0.1e1 / t611; + const double t613 = t580 * t612; + const double t620 = t146 * t10; + const double t624 = t314 * t153; + const double t625 = 0.1e1 / t624; + const double t626 = t320 * t320; + const double t628 = t625 * t626 * t322; + const double t637 = -0.57538888888888888889e0 * t589 + 0.11507777777777777778e1 * t592 + 0.40256666666666666667e0 * t594 + 0.366775e-1 * t598 + 0.73355e-1 * t600 + 0.137975e0 * t602; + const double t639 = t315 * t637 * t322; + const double t642 = t314 * t314; + const double t643 = 0.1e1 / t642; + const double t644 = t643 * t626; + const double t645 = t156 * t156; + const double t646 = 0.1e1 / t645; + const double t647 = t644 * t646; + const double t651 = -0.14764627977777777777e-2 * t10 * t398 * t140 - 0.35616666666666666666e-1 * t13 * t573 * t305 - 0.2e1 * t579 * t581 + 0.1e1 * t287 * t605 + 0.16081979498692535067e2 * t610 * t613 + 0.24415263074675393405e-3 * t308 * t290 * t372 * t157 + 0.10843581300301739842e-1 * t620 * t182 * t323 + 0.11696447245269292414e1 * t313 * t628 - 0.5848223622634646207e0 * t313 * t639 - 0.17315859105681463759e2 * t313 * t647 - 0.2e1 * t515; + const double t652 = t651 * t167; + const double t653 = t327 * t330; + const double t654 = t653 * copp; + const double t655 = t654 * t334; + const double t658 = 0.1e1 / t329 / t166; + const double t659 = t162 * t658; + const double t661 = t659 * t660; + const double t662 = t551 * t16; + const double t663 = t662 * t550; + const double t664 = t661 * t663; + const double t666 = t333 * t535; + const double t667 = t332 * t666; + const double t669 = 0.1e2 / 0.9e1 * t518 - 0.1e3 / 0.27e2 * t521 + 0.5e1 / 0.18e2 * t525 + 0.64e3 / 0.27e2 * t528 + 0.4e3 / 0.81e2 * t532 - 0.2e2 / 0.27e2 * t537 - 0.224e4 / 0.27e2 * t545 + 0.8e2 / 0.27e2 * t555 + 0.512e4 / 0.27e2 * t568 + t652 + 0.32e2 / 0.3e1 * t655 + 0.1024e4 / 0.9e1 * t664 - 0.176e3 / 0.9e1 * t667; + const double t671 = t523 * t114; + const double t672 = t671 * t340; + const double t674 = t262 * t340; + const double t676 = t541 * t105; + const double t678 = t347 * t111; + const double t679 = t547 * t676 * t678; + const double t682 = t251 * t345 * t349; + const double t685 = t94 * t271 * t349; + const double t687 = 0.1e1 / t557; + const double t688 = t687 * t104; + const double t689 = t94 * t688; + const double t691 = t274 * t565 * sigma; + const double t692 = t689 * t691; + const double t694 = t653 * t353; + const double t696 = t542 * sigma; + const double t697 = t661 * t696; + const double t699 = t352 * t261; + const double t700 = t331 * t699; + const double t705 = t523 * t96 * t121; + const double t707 = t339 * t121; + const double t709 = t261 * sigma; + const double t711 = t101 * t105; + const double t712 = t711 * t120; + const double t713 = t258 * t709 * t712; + const double t715 = t270 * t104; + const double t716 = t547 * t715; + const double t717 = t716 * t279; + const double t719 = t250 * t101; + const double t721 = t719 * t115 * t264; + const double t725 = t551 * t105 * t348; + const double t726 = t360 * t542 * t725; + const double t732 = 0.1e2 / 0.9e1 * t547 * t270 * t554; + const double t733 = 0.1e1 / t548; + const double t734 = t733 * t104; + const double t736 = t274 * t565; + const double t738 = 0.8e2 / 0.3e1 * t94 * t734 * t736; + const double t740 = t739 * t270; + const double t742 = 0.16e2 * t659 * t740; + const double t744 = t344 * t104; + const double t747 = 0.4e2 / 0.9e1 * t547 * t744 * t554; + const double t750 = 0.5e1 / 0.9e1 * t360 * t271 * t279; + + + v2rho2 = 0.2e2 / 0.9e1 * t253 - 0.1e3 / 0.27e2 * t256 + 0.5e1 / 0.18e2 * t265 + 0.64e3 / 0.27e2 * t280 + 0.2e1 * t328 + 0.32e2 / 0.3e1 * t335 + rho * t669; + v2rhosigma = -t342 - t351 - t355 + rho * ( -0.5e1 / 0.36e2 * t672 + 0.1e2 / 0.27e2 * t674 - 0.55e2 / 0.27e2 * t679 - 0.4e2 / 0.9e1 * t682 + 0.52e3 / 0.27e2 * t685 - 0.64e3 / 0.9e1 * t692 - 0.2e1 * t694 - 0.128e3 / 0.3e1 * t697 + 0.16e2 / 0.3e1 * t700 ); + v2rholapl = 0.e0; + v2rhotau = t359 + t363 + rho * ( 0.1e2 / 0.9e1 * t705 - 0.5e2 / 0.27e2 * t707 - 0.25e2 / 0.108e3 * t713 + 0.32e3 / 0.27e2 * t717 + 0.5e1 / 0.36e2 * t721 + 0.4e2 / 0.27e2 * t726 ); + v2sigma2 = rho * ( t732 + t738 + t742 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( -t747 - t750 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t105 = constants::m_cbrt_6; + constexpr double t108 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t109 = t108 * t108; + constexpr double t110 = 0.1e1 / t109; + constexpr double t274 = t105 * t110; + constexpr double t290 = t9 * t12; + constexpr double t352 = copp * t36; + constexpr double t564 = css * css; + constexpr double t587 = t31 * t11; + constexpr double t660 = copp * copp; + constexpr double t739 = t660 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t94 = t93 * tau; + const double t96 = 0.1e1 / t34 / rho; + const double t97 = t36 * t96; + const double t99 = 0.1e1 / rho; + const double t101 = 0.1e1 / tau; + const double t104 = 0.1e1 - sigma * t99 * t101 / 0.8e1; + const double t106 = t104 * t105; + const double t111 = css * sigma; + const double t112 = rho * rho; + const double t114 = 0.1e1 / t34 / t112; + const double t115 = t36 * t114; + const double t117 = t111 * t115 + 0.1e1; + const double t118 = t117 * t117; + const double t119 = 0.1e1 / t118; + const double t120 = t110 * t119; + const double t121 = t106 * t120; + const double t123 = 0.1e2 / 0.9e1 * t94 * t97 * t121; + const double t125 = t10 * t12 * t15; + const double t127 = 0.1e1 + 0.53425e-1 * t125; + const double t128 = safe_math::sqrt( t125 ); + const double t131 = pow_3_2( t125 ); + const double t134 = t32 * t11 * t35; + const double t136 = 0.379785e1 * t128 + 0.8969e0 * t125 + 0.204775e0 * t131 + 0.123235e0 * t134; + const double t139 = 0.1e1 + 0.16081979498692535067e2 / t136; + const double t140 = safe_math::log( t139 ); + const double t143 = piecewise_functor_3( t4, t50, 1.0 ); + const double t146 = ( 0.2e1 * t143 - 0.2e1 ) * t58; + const double t148 = 0.1e1 + 0.278125e-1 * t125; + const double t153 = 0.51785e1 * t128 + 0.905775e0 * t125 + 0.1100325e0 * t131 + 0.1241775e0 * t134; + const double t156 = 0.1e1 + 0.29608749977793437516e2 / t153; + const double t157 = safe_math::log( t156 ); + const double t162 = -0.621814e-1 * t127 * t140 + 0.19751673498613801407e-1 * t146 * t148 * t157 - 0.2e1 * t93; + const double t166 = 0.2e1 * copp * sigma * t115 + 0.1e1; + const double t167 = 0.1e1 / t166; + const double t168 = t162 * t167; + const double t170 = 0.1e1 / t14 / rho; + const double t171 = t170 * t16; + const double t172 = t20 * t46; + const double t175 = 0.11073470983333333333e-2 * t13 * t171 * t172; + const double t176 = t42 * t42; + const double t177 = 0.1e1 / t176; + const double t178 = t24 * t177; + const double t181 = 0.1e1 / t25 * t7 * t9; + const double t182 = t12 * t170; + const double t183 = t16 * t20; + const double t184 = t182 * t183; + const double t185 = t181 * t184; + const double t187 = t171 * t20; + const double t188 = t13 * t187; + const double t190 = safe_math::sqrt( t22 ); + const double t192 = t190 * t7 * t9; + const double t193 = t192 * t184; + const double t196 = t33 * t97 * t38; + const double t198 = -0.632975e0 * t185 - 0.29896666666666666667e0 * t188 - 0.1023875e0 * t193 - 0.82156666666666666667e-1 * t196; + const double t199 = 0.1e1 / t45; + const double t200 = t198 * t199; + const double t202 = 0.1e1 * t178 * t200; + const double t203 = t20 * t70; + const double t207 = t66 * t66; + const double t208 = 0.1e1 / t207; + const double t209 = t61 * t208; + const double t214 = -0.1176575e1 * t185 - 0.516475e0 * t188 - 0.2103875e0 * t193 - 0.104195e0 * t196; + const double t215 = 0.1e1 / t69; + const double t216 = t214 * t215; + const double t219 = t20 * t83; + const double t223 = t79 * t79; + const double t224 = 0.1e1 / t223; + const double t225 = t74 * t224; + const double t230 = -0.86308333333333333334e0 * t185 - 0.301925e0 * t188 - 0.5501625e-1 * t193 - 0.82785e-1 * t196; + const double t231 = 0.1e1 / t82; + const double t232 = t230 * t231; + const double t237 = t59 * t10; + const double t238 = t183 * t83; + const double t242 = t59 * t74; + const double t244 = t224 * t230 * t231; + const double t250 = piecewise_functor_3( t5, 0.0, t6 * ( t175 + t202 + t59 * ( 0.53237641966666666666e-3 * t13 * t171 * t203 + 0.1e1 * t209 * t216 - t175 - t202 + 0.18311447306006545054e-3 * t13 * t171 * t219 + 0.5848223622634646207e0 * t225 * t232 ) - 0.18311447306006545054e-3 * t237 * t182 * t238 - 0.5848223622634646207e0 * t242 * t244 ) / 0.2e1 ); + const double t251 = t250 * tau; + const double t253 = t251 * t97 * t121; + const double t256 = t94 * t115 * t121; + const double t258 = t93 * t36; + const double t259 = t112 * rho; + const double t261 = 0.1e1 / t34 / t259; + const double t262 = t258 * t261; + const double t264 = sigma * t105 * t120; + const double t265 = t262 * t264; + const double t267 = t112 * t112; + const double t268 = t267 * rho; + const double t270 = 0.1e1 / t14 / t268; + const double t271 = t16 * t270; + const double t272 = t271 * t104; + const double t276 = 0.1e1 / t118 / t117; + const double t277 = t276 * css; + const double t279 = t274 * t277 * sigma; + const double t280 = t94 * t272 * t279; + const double t285 = t136 * t136; + const double t286 = 0.1e1 / t285; + const double t287 = t127 * t286; + const double t289 = 0.1e1 / t128 * t7; + const double t291 = t290 * t170; + const double t292 = t289 * t291; + const double t294 = t10 * t182; + const double t296 = safe_math::sqrt( t125 ); + const double t297 = t296 * t7; + const double t298 = t297 * t291; + const double t301 = t32 * t11 * t96; + const double t303 = -0.632975e0 * t292 - 0.29896666666666666667e0 * t294 - 0.1023875e0 * t298 - 0.82156666666666666667e-1 * t301; + const double t304 = 0.1e1 / t139; + const double t305 = t303 * t304; + const double t308 = t146 * t7; + const double t313 = t146 * t148; + const double t314 = t153 * t153; + const double t315 = 0.1e1 / t314; + const double t320 = -0.86308333333333333334e0 * t292 - 0.301925e0 * t294 - 0.5501625e-1 * t298 - 0.82785e-1 * t301; + const double t322 = 0.1e1 / t156; + const double t323 = t315 * t320 * t322; + const double t327 = 0.11073470983333333333e-2 * t10 * t182 * t140 + 0.1e1 * t287 * t305 - 0.18311447306006545054e-3 * t308 * t290 * t170 * t157 - 0.5848223622634646207e0 * t313 * t323 - 0.2e1 * t250; + const double t328 = t327 * t167; + const double t329 = t166 * t166; + const double t330 = 0.1e1 / t329; + const double t331 = t162 * t330; + const double t332 = t331 * copp; + const double t333 = sigma * t36; + const double t334 = t333 * t261; + const double t335 = t332 * t334; + const double t339 = t258 * t114; + const double t340 = t274 * t119; + const double t342 = 0.5e1 / 0.36e2 * t339 * t340; + const double t344 = 0.1e1 / t14 / t267; + const double t345 = t16 * t344; + const double t347 = t110 * t276; + const double t348 = t347 * css; + const double t349 = t106 * t348; + const double t351 = 0.4e2 / 0.9e1 * t94 * t345 * t349; + const double t353 = t352 * t114; + const double t355 = 0.2e1 * t331 * t353; + const double t359 = 0.1e2 / 0.9e1 * t258 * t96 * t121; + const double t360 = t93 * t101; + const double t363 = 0.5e1 / 0.36e2 * t360 * t115 * t264; + const double t372 = 0.1e1 / t14 / t112; + const double t373 = t372 * t16; + const double t376 = 0.14764627977777777777e-2 * t13 * t373 * t172; + const double t379 = t183 * t177 * t198 * t199; + const double t381 = 0.35616666666666666666e-1 * t294 * t379; + const double t382 = t176 * t42; + const double t383 = 0.1e1 / t382; + const double t384 = t24 * t383; + const double t385 = t198 * t198; + const double t386 = t385 * t199; + const double t388 = 0.2e1 * t384 * t386; + const double t392 = 0.1e1 / t25 / t22 * t30 * t31; + const double t393 = t11 * t114; + const double t394 = t36 * t38; + const double t395 = t393 * t394; + const double t396 = t392 * t395; + const double t398 = t12 * t372; + const double t399 = t398 * t183; + const double t400 = t181 * t399; + const double t402 = t373 * t20; + const double t403 = t13 * t402; + const double t405 = 0.1e1/safe_math::sqrt( t22 ); + const double t407 = t405 * t30 * t31; + const double t408 = t407 * t395; + const double t410 = t192 * t399; + const double t413 = t33 * t115 * t38; + const double t415 = -0.42198333333333333333e0 * t396 + 0.84396666666666666666e0 * t400 + 0.39862222222222222223e0 * t403 + 0.68258333333333333333e-1 * t408 + 0.13651666666666666667e0 * t410 + 0.13692777777777777778e0 * t413; + const double t418 = 0.1e1 * t178 * t415 * t199; + const double t419 = t176 * t176; + const double t420 = 0.1e1 / t419; + const double t421 = t24 * t420; + const double t422 = t45 * t45; + const double t423 = 0.1e1 / t422; + const double t424 = t385 * t423; + const double t426 = 0.16081979498692535067e2 * t421 * t424; + const double t432 = t183 * t208 * t214 * t215; + const double t435 = t207 * t66; + const double t436 = 0.1e1 / t435; + const double t437 = t61 * t436; + const double t438 = t214 * t214; + const double t439 = t438 * t215; + const double t448 = -0.78438333333333333333e0 * t396 + 0.15687666666666666667e1 * t400 + 0.68863333333333333333e0 * t403 + 0.14025833333333333333e0 * t408 + 0.28051666666666666667e0 * t410 + 0.17365833333333333333e0 * t413; + const double t452 = t207 * t207; + const double t453 = 0.1e1 / t452; + const double t454 = t61 * t453; + const double t455 = t69 * t69; + const double t456 = 0.1e1 / t455; + const double t457 = t438 * t456; + const double t463 = t183 * t244; + const double t466 = t223 * t79; + const double t467 = 0.1e1 / t466; + const double t468 = t74 * t467; + const double t469 = t230 * t230; + const double t470 = t469 * t231; + const double t479 = -0.57538888888888888889e0 * t396 + 0.11507777777777777778e1 * t400 + 0.40256666666666666667e0 * t403 + 0.366775e-1 * t408 + 0.73355e-1 * t410 + 0.137975e0 * t413; + const double t480 = t479 * t231; + const double t483 = t223 * t223; + const double t484 = 0.1e1 / t483; + const double t485 = t74 * t484; + const double t486 = t82 * t82; + const double t487 = 0.1e1 / t486; + const double t488 = t469 * t487; + const double t491 = -0.70983522622222222221e-3 * t13 * t373 * t203 - 0.34246666666666666666e-1 * t294 * t432 - 0.2e1 * t437 * t439 + 0.1e1 * t209 * t448 * t215 + 0.32163958997385070134e2 * t454 * t457 + t376 + t381 + t388 - t418 - t426 - 0.24415263074675393405e-3 * t13 * t373 * t219 - 0.10843581300301739842e-1 * t294 * t463 - 0.11696447245269292414e1 * t468 * t470 + 0.5848223622634646207e0 * t225 * t480 + 0.17315859105681463759e2 * t485 * t488; + const double t496 = t59 * t13; + const double t501 = t467 * t469 * t231; + const double t505 = t224 * t479 * t231; + const double t508 = t484 * t469; + const double t509 = t508 * t487; + const double t512 = -t376 - t381 - t388 + t418 + t426 + t59 * t491 + 0.24415263074675393405e-3 * t237 * t398 * t238 + 0.10843581300301739842e-1 * t496 * t187 * t244 + 0.11696447245269292414e1 * t242 * t501 - 0.5848223622634646207e0 * t242 * t505 - 0.17315859105681463759e2 * t242 * t509; + const double t515 = piecewise_functor_3( t5, 0.0, t6 * t512 / 0.2e1 ); + const double t516 = t515 * tau; + const double t518 = t516 * t97 * t121; + const double t521 = t251 * t115 * t121; + const double t523 = t250 * t36; + const double t524 = t523 * t261; + const double t525 = t524 * t264; + const double t528 = t251 * t272 * t279; + const double t530 = t36 * t261; + const double t532 = t94 * t530 * t121; + const double t535 = 0.1e1 / t34 / t267; + const double t536 = t258 * t535; + const double t537 = t536 * t264; + const double t539 = t267 * t112; + const double t541 = 0.1e1 / t14 / t539; + const double t542 = t16 * t541; + const double t543 = t542 * t104; + const double t545 = t94 * t543 * t279; + const double t547 = t93 * t16; + const double t548 = t267 * t259; + const double t550 = 0.1e1 / t14 / t548; + const double t551 = sigma * sigma; + const double t552 = t550 * t551; + const double t553 = t547 * t552; + const double t554 = t274 * t277; + const double t555 = t553 * t554; + const double t557 = t267 * t267; + const double t558 = t557 * rho; + const double t559 = 0.1e1 / t558; + const double t560 = t559 * t104; + const double t561 = t94 * t560; + const double t562 = t118 * t118; + const double t563 = 0.1e1 / t562; + const double t565 = t563 * t564; + const double t567 = t274 * t565 * t551; + const double t568 = t561 * t567; + const double t573 = t170 * t286; + const double t577 = t285 * t136; + const double t578 = 0.1e1 / t577; + const double t579 = t127 * t578; + const double t580 = t303 * t303; + const double t581 = t580 * t304; + const double t586 = 0.1e1 / t128 / t125 * t30; + const double t588 = t587 * t114; + const double t589 = t586 * t588; + const double t591 = t290 * t372; + const double t592 = t289 * t591; + const double t594 = t10 * t398; + const double t596 = 0.1e1/safe_math::sqrt( t125 ); + const double t597 = t596 * t30; + const double t598 = t597 * t588; + const double t600 = t297 * t591; + const double t602 = t32 * t393; + const double t604 = -0.42198333333333333333e0 * t589 + 0.84396666666666666666e0 * t592 + 0.39862222222222222223e0 * t594 + 0.68258333333333333333e-1 * t598 + 0.13651666666666666667e0 * t600 + 0.13692777777777777778e0 * t602; + const double t605 = t604 * t304; + const double t608 = t285 * t285; + const double t609 = 0.1e1 / t608; + const double t610 = t127 * t609; + const double t611 = t139 * t139; + const double t612 = 0.1e1 / t611; + const double t613 = t580 * t612; + const double t620 = t146 * t10; + const double t624 = t314 * t153; + const double t625 = 0.1e1 / t624; + const double t626 = t320 * t320; + const double t628 = t625 * t626 * t322; + const double t637 = -0.57538888888888888889e0 * t589 + 0.11507777777777777778e1 * t592 + 0.40256666666666666667e0 * t594 + 0.366775e-1 * t598 + 0.73355e-1 * t600 + 0.137975e0 * t602; + const double t639 = t315 * t637 * t322; + const double t642 = t314 * t314; + const double t643 = 0.1e1 / t642; + const double t644 = t643 * t626; + const double t645 = t156 * t156; + const double t646 = 0.1e1 / t645; + const double t647 = t644 * t646; + const double t651 = -0.14764627977777777777e-2 * t10 * t398 * t140 - 0.35616666666666666666e-1 * t13 * t573 * t305 - 0.2e1 * t579 * t581 + 0.1e1 * t287 * t605 + 0.16081979498692535067e2 * t610 * t613 + 0.24415263074675393405e-3 * t308 * t290 * t372 * t157 + 0.10843581300301739842e-1 * t620 * t182 * t323 + 0.11696447245269292414e1 * t313 * t628 - 0.5848223622634646207e0 * t313 * t639 - 0.17315859105681463759e2 * t313 * t647 - 0.2e1 * t515; + const double t652 = t651 * t167; + const double t653 = t327 * t330; + const double t654 = t653 * copp; + const double t655 = t654 * t334; + const double t658 = 0.1e1 / t329 / t166; + const double t659 = t162 * t658; + const double t661 = t659 * t660; + const double t662 = t551 * t16; + const double t663 = t662 * t550; + const double t664 = t661 * t663; + const double t666 = t333 * t535; + const double t667 = t332 * t666; + const double t669 = 0.1e2 / 0.9e1 * t518 - 0.1e3 / 0.27e2 * t521 + 0.5e1 / 0.18e2 * t525 + 0.64e3 / 0.27e2 * t528 + 0.4e3 / 0.81e2 * t532 - 0.2e2 / 0.27e2 * t537 - 0.224e4 / 0.27e2 * t545 + 0.8e2 / 0.27e2 * t555 + 0.512e4 / 0.27e2 * t568 + t652 + 0.32e2 / 0.3e1 * t655 + 0.1024e4 / 0.9e1 * t664 - 0.176e3 / 0.9e1 * t667; + const double t671 = t523 * t114; + const double t672 = t671 * t340; + const double t674 = t262 * t340; + const double t676 = t541 * t105; + const double t678 = t347 * t111; + const double t679 = t547 * t676 * t678; + const double t682 = t251 * t345 * t349; + const double t685 = t94 * t271 * t349; + const double t687 = 0.1e1 / t557; + const double t688 = t687 * t104; + const double t689 = t94 * t688; + const double t691 = t274 * t565 * sigma; + const double t692 = t689 * t691; + const double t694 = t653 * t353; + const double t696 = t542 * sigma; + const double t697 = t661 * t696; + const double t699 = t352 * t261; + const double t700 = t331 * t699; + const double t705 = t523 * t96 * t121; + const double t707 = t339 * t121; + const double t709 = t261 * sigma; + const double t711 = t101 * t105; + const double t712 = t711 * t120; + const double t713 = t258 * t709 * t712; + const double t715 = t270 * t104; + const double t716 = t547 * t715; + const double t717 = t716 * t279; + const double t719 = t250 * t101; + const double t721 = t719 * t115 * t264; + const double t725 = t551 * t105 * t348; + const double t726 = t360 * t542 * t725; + const double t732 = 0.1e2 / 0.9e1 * t547 * t270 * t554; + const double t733 = 0.1e1 / t548; + const double t734 = t733 * t104; + const double t736 = t274 * t565; + const double t738 = 0.8e2 / 0.3e1 * t94 * t734 * t736; + const double t740 = t739 * t270; + const double t742 = 0.16e2 * t659 * t740; + const double t744 = t344 * t104; + const double t747 = 0.4e2 / 0.9e1 * t547 * t744 * t554; + const double t750 = 0.5e1 / 0.9e1 * t360 * t271 * t279; + + + vrho = t123 + t168 + rho * ( 0.1e2 / 0.9e1 * t253 - 0.5e2 / 0.27e2 * t256 + 0.5e1 / 0.36e2 * t265 + 0.32e3 / 0.27e2 * t280 + t328 + 0.16e2 / 0.3e1 * t335 ); + vsigma = rho * ( -t342 - t351 - t355 ); + vlapl = 0.e0; + vtau = rho * ( t359 + t363 ); + v2rho2 = 0.2e2 / 0.9e1 * t253 - 0.1e3 / 0.27e2 * t256 + 0.5e1 / 0.18e2 * t265 + 0.64e3 / 0.27e2 * t280 + 0.2e1 * t328 + 0.32e2 / 0.3e1 * t335 + rho * t669; + v2rhosigma = -t342 - t351 - t355 + rho * ( -0.5e1 / 0.36e2 * t672 + 0.1e2 / 0.27e2 * t674 - 0.55e2 / 0.27e2 * t679 - 0.4e2 / 0.9e1 * t682 + 0.52e3 / 0.27e2 * t685 - 0.64e3 / 0.9e1 * t692 - 0.2e1 * t694 - 0.128e3 / 0.3e1 * t697 + 0.16e2 / 0.3e1 * t700 ); + v2rholapl = 0.e0; + v2rhotau = t359 + t363 + rho * ( 0.1e2 / 0.9e1 * t705 - 0.5e2 / 0.27e2 * t707 - 0.25e2 / 0.108e3 * t713 + 0.32e3 / 0.27e2 * t717 + 0.5e1 / 0.36e2 * t721 + 0.4e2 / 0.27e2 * t726 ); + v2sigma2 = rho * ( t732 + t738 + t742 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( -t747 - t750 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t112 = constants::m_cbrt_6; + constexpr double t115 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t116 = t115 * t115; + constexpr double t117 = 0.1e1 / t116; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t100 = t99 * tau_a; + const double t101 = safe_math::cbrt( rho_a ); + const double t102 = t101 * t101; + const double t104 = 0.1e1 / t102 / rho_a; + const double t108 = 0.1e1 / tau_a; + const double t111 = 0.1e1 - sigma_aa / rho_a * t108 / 0.8e1; + const double t113 = t111 * t112; + const double t118 = css * sigma_aa; + const double t119 = rho_a * rho_a; + const double t121 = 0.1e1 / t102 / t119; + const double t123 = t118 * t121 + 0.1e1; + const double t124 = t123 * t123; + const double t125 = 0.1e1 / t124; + const double t126 = t117 * t125; + const double t127 = t113 * t126; + const double t129 = 0.5e1 / 0.9e1 * t100 * t104 * t127; + const double t131 = 0.1e1 - t6; + const double t132 = t131 <= zeta_tol; + const double t133 = rho_b <= dens_tol || t132; + const double t134 = piecewise_functor_3( t132, zeta_tol, t131 ); + const double t135 = safe_math::cbrt( t131 ); + const double t137 = piecewise_functor_3( t132, t23, 0.1e1 / t135 ); + const double t139 = t17 * t21 * t137; + const double t141 = 0.1e1 + 0.53425e-1 * t139; + const double t142 = safe_math::sqrt( t139 ); + const double t145 = pow_3_2( t139 ); + const double t147 = t137 * t137; + const double t149 = t39 * t43 * t147; + const double t151 = 0.379785e1 * t142 + 0.8969e0 * t139 + 0.204775e0 * t145 + 0.123235e0 * t149; + const double t154 = 0.1e1 + 0.16081979498692535067e2 / t151; + const double t155 = safe_math::log( t154 ); + const double t157 = 0.621814e-1 * t141 * t155; + const double t159 = 0.1e1 + 0.5137e-1 * t139; + const double t164 = 0.705945e1 * t142 + 0.1549425e1 * t139 + 0.420775e0 * t145 + 0.1562925e0 * t149; + const double t167 = 0.1e1 + 0.32163958997385070134e2 / t164; + const double t168 = safe_math::log( t167 ); + const double t172 = 0.1e1 + 0.278125e-1 * t139; + const double t177 = 0.51785e1 * t142 + 0.905775e0 * t139 + 0.1100325e0 * t145 + 0.1241775e0 * t149; + const double t180 = 0.1e1 + 0.29608749977793437516e2 / t177; + const double t181 = safe_math::log( t180 ); + const double t182 = t172 * t181; + const double t188 = -t157 + t65 * ( -0.310907e-1 * t159 * t168 + t157 - 0.19751673498613801407e-1 * t182 ) + 0.19751673498613801407e-1 * t65 * t182; + const double t191 = piecewise_functor_3( t133, 0.0, t134 * t188 / 0.2e1 ); + const double t192 = t191 * tau_b; + const double t193 = safe_math::cbrt( rho_b ); + const double t194 = t193 * t193; + const double t196 = 0.1e1 / t194 / rho_b; + const double t200 = 0.1e1 / tau_b; + const double t203 = 0.1e1 - sigma_bb / rho_b * t200 / 0.8e1; + const double t204 = t203 * t112; + const double t205 = css * sigma_bb; + const double t206 = rho_b * rho_b; + const double t208 = 0.1e1 / t194 / t206; + const double t210 = t205 * t208 + 0.1e1; + const double t211 = t210 * t210; + const double t212 = 0.1e1 / t211; + const double t213 = t117 * t212; + const double t214 = t204 * t213; + const double t216 = 0.5e1 / 0.9e1 * t192 * t196 * t214; + const double t218 = t14 * t16 * t19; + const double t220 = 0.1e1 + 0.53425e-1 * t218; + const double t221 = safe_math::sqrt( t218 ); + const double t224 = pow_3_2( t218 ); + const double t227 = t38 * t15 * t41; + const double t229 = 0.379785e1 * t221 + 0.8969e0 * t218 + 0.204775e0 * t224 + 0.123235e0 * t227; + const double t232 = 0.1e1 + 0.16081979498692535067e2 / t229; + const double t233 = safe_math::log( t232 ); + const double t235 = 0.621814e-1 * t220 * t233; + const double t236 = t3 * t3; + const double t237 = t236 * t236; + const double t238 = t4 * t4; + const double t239 = t238 * t238; + const double t240 = 0.1e1 / t239; + const double t241 = t237 * t240; + const double t242 = t24 * t7; + const double t243 = piecewise_functor_3( t8, t56, t242 ); + const double t244 = t135 * t131; + const double t245 = piecewise_functor_3( t132, t56, t244 ); + const double t246 = t243 + t245 - 0.2e1; + const double t247 = t246 * t64; + const double t249 = 0.1e1 + 0.5137e-1 * t218; + const double t254 = 0.705945e1 * t221 + 0.1549425e1 * t218 + 0.420775e0 * t224 + 0.1562925e0 * t227; + const double t257 = 0.1e1 + 0.32163958997385070134e2 / t254; + const double t258 = safe_math::log( t257 ); + const double t262 = 0.1e1 + 0.278125e-1 * t218; + const double t267 = 0.51785e1 * t221 + 0.905775e0 * t218 + 0.1100325e0 * t224 + 0.1241775e0 * t227; + const double t270 = 0.1e1 + 0.29608749977793437516e2 / t267; + const double t271 = safe_math::log( t270 ); + const double t272 = t262 * t271; + const double t274 = -0.310907e-1 * t249 * t258 + t235 - 0.19751673498613801407e-1 * t272; + const double t275 = t247 * t274; + const double t279 = -t235 + t241 * t275 + 0.19751673498613801407e-1 * t247 * t272 - t99 - t191; + const double t284 = 0.1e1 + copp * ( sigma_aa * t121 + sigma_bb * t208 ); + const double t285 = 0.1e1 / t284; + const double t286 = t279 * t285; + + + eps = t129 + t216 + t286; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t112 = constants::m_cbrt_6; + constexpr double t115 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t116 = t115 * t115; + constexpr double t117 = 0.1e1 / t116; + constexpr double t400 = t112 * t117; + constexpr double t523 = t13 * t16; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t100 = t99 * tau_a; + const double t101 = safe_math::cbrt( rho_a ); + const double t102 = t101 * t101; + const double t104 = 0.1e1 / t102 / rho_a; + const double t108 = 0.1e1 / tau_a; + const double t111 = 0.1e1 - sigma_aa / rho_a * t108 / 0.8e1; + const double t113 = t111 * t112; + const double t118 = css * sigma_aa; + const double t119 = rho_a * rho_a; + const double t121 = 0.1e1 / t102 / t119; + const double t123 = t118 * t121 + 0.1e1; + const double t124 = t123 * t123; + const double t125 = 0.1e1 / t124; + const double t126 = t117 * t125; + const double t127 = t113 * t126; + const double t129 = 0.5e1 / 0.9e1 * t100 * t104 * t127; + const double t131 = 0.1e1 - t6; + const double t132 = t131 <= zeta_tol; + const double t133 = rho_b <= dens_tol || t132; + const double t134 = piecewise_functor_3( t132, zeta_tol, t131 ); + const double t135 = safe_math::cbrt( t131 ); + const double t137 = piecewise_functor_3( t132, t23, 0.1e1 / t135 ); + const double t139 = t17 * t21 * t137; + const double t141 = 0.1e1 + 0.53425e-1 * t139; + const double t142 = safe_math::sqrt( t139 ); + const double t145 = pow_3_2( t139 ); + const double t147 = t137 * t137; + const double t149 = t39 * t43 * t147; + const double t151 = 0.379785e1 * t142 + 0.8969e0 * t139 + 0.204775e0 * t145 + 0.123235e0 * t149; + const double t154 = 0.1e1 + 0.16081979498692535067e2 / t151; + const double t155 = safe_math::log( t154 ); + const double t157 = 0.621814e-1 * t141 * t155; + const double t159 = 0.1e1 + 0.5137e-1 * t139; + const double t164 = 0.705945e1 * t142 + 0.1549425e1 * t139 + 0.420775e0 * t145 + 0.1562925e0 * t149; + const double t167 = 0.1e1 + 0.32163958997385070134e2 / t164; + const double t168 = safe_math::log( t167 ); + const double t172 = 0.1e1 + 0.278125e-1 * t139; + const double t177 = 0.51785e1 * t142 + 0.905775e0 * t139 + 0.1100325e0 * t145 + 0.1241775e0 * t149; + const double t180 = 0.1e1 + 0.29608749977793437516e2 / t177; + const double t181 = safe_math::log( t180 ); + const double t182 = t172 * t181; + const double t188 = -t157 + t65 * ( -0.310907e-1 * t159 * t168 + t157 - 0.19751673498613801407e-1 * t182 ) + 0.19751673498613801407e-1 * t65 * t182; + const double t191 = piecewise_functor_3( t133, 0.0, t134 * t188 / 0.2e1 ); + const double t192 = t191 * tau_b; + const double t193 = safe_math::cbrt( rho_b ); + const double t194 = t193 * t193; + const double t196 = 0.1e1 / t194 / rho_b; + const double t200 = 0.1e1 / tau_b; + const double t203 = 0.1e1 - sigma_bb / rho_b * t200 / 0.8e1; + const double t204 = t203 * t112; + const double t205 = css * sigma_bb; + const double t206 = rho_b * rho_b; + const double t208 = 0.1e1 / t194 / t206; + const double t210 = t205 * t208 + 0.1e1; + const double t211 = t210 * t210; + const double t212 = 0.1e1 / t211; + const double t213 = t117 * t212; + const double t214 = t204 * t213; + const double t216 = 0.5e1 / 0.9e1 * t192 * t196 * t214; + const double t218 = t14 * t16 * t19; + const double t220 = 0.1e1 + 0.53425e-1 * t218; + const double t221 = safe_math::sqrt( t218 ); + const double t224 = pow_3_2( t218 ); + const double t227 = t38 * t15 * t41; + const double t229 = 0.379785e1 * t221 + 0.8969e0 * t218 + 0.204775e0 * t224 + 0.123235e0 * t227; + const double t232 = 0.1e1 + 0.16081979498692535067e2 / t229; + const double t233 = safe_math::log( t232 ); + const double t235 = 0.621814e-1 * t220 * t233; + const double t236 = t3 * t3; + const double t237 = t236 * t236; + const double t238 = t4 * t4; + const double t239 = t238 * t238; + const double t240 = 0.1e1 / t239; + const double t241 = t237 * t240; + const double t242 = t24 * t7; + const double t243 = piecewise_functor_3( t8, t56, t242 ); + const double t244 = t135 * t131; + const double t245 = piecewise_functor_3( t132, t56, t244 ); + const double t246 = t243 + t245 - 0.2e1; + const double t247 = t246 * t64; + const double t249 = 0.1e1 + 0.5137e-1 * t218; + const double t254 = 0.705945e1 * t221 + 0.1549425e1 * t218 + 0.420775e0 * t224 + 0.1562925e0 * t227; + const double t257 = 0.1e1 + 0.32163958997385070134e2 / t254; + const double t258 = safe_math::log( t257 ); + const double t262 = 0.1e1 + 0.278125e-1 * t218; + const double t267 = 0.51785e1 * t221 + 0.905775e0 * t218 + 0.1100325e0 * t224 + 0.1241775e0 * t227; + const double t270 = 0.1e1 + 0.29608749977793437516e2 / t267; + const double t271 = safe_math::log( t270 ); + const double t272 = t262 * t271; + const double t274 = -0.310907e-1 * t249 * t258 + t235 - 0.19751673498613801407e-1 * t272; + const double t275 = t247 * t274; + const double t279 = -t235 + t241 * t275 + 0.19751673498613801407e-1 * t247 * t272 - t99 - t191; + const double t284 = 0.1e1 + copp * ( sigma_aa * t121 + sigma_bb * t208 ); + const double t285 = 0.1e1 / t284; + const double t286 = t279 * t285; + const double t287 = 0.1e1 / t238; + const double t288 = t3 * t287; + const double t289 = t5 - t288; + const double t290 = piecewise_functor_3( t8, 0.0, t289 ); + const double t293 = 0.1e1 / t18 / t4; + const double t294 = t293 * t20; + const double t296 = t17 * t294 * t26; + const double t297 = 0.17808333333333333333e-1 * t296; + const double t298 = 0.1e1 / t242; + const double t301 = piecewise_functor_3( t8, 0.0, -t298 * t289 / 0.3e1 ); + const double t303 = t17 * t21 * t301; + const double t305 = -t297 + 0.53425e-1 * t303; + const double t307 = 0.621814e-1 * t305 * t52; + const double t308 = t48 * t48; + const double t309 = 0.1e1 / t308; + const double t310 = t30 * t309; + const double t311 = 0.1e1 / t31; + const double t312 = t296 / 0.3e1; + const double t313 = -t312 + t303; + const double t314 = t311 * t313; + const double t316 = 0.29896666666666666667e0 * t296; + const double t318 = safe_math::sqrt( t28 ); + const double t319 = t318 * t313; + const double t322 = 0.1e1 / t40 / t4; + const double t323 = t322 * t42; + const double t325 = t39 * t323 * t44; + const double t326 = 0.82156666666666666667e-1 * t325; + const double t327 = t26 * t301; + const double t329 = t39 * t43 * t327; + const double t331 = 0.1898925e1 * t314 - t316 + 0.8969e0 * t303 + 0.3071625e0 * t319 - t326 + 0.24647e0 * t329; + const double t332 = 0.1e1 / t51; + const double t333 = t331 * t332; + const double t335 = 0.1e1 * t310 * t333; + const double t336 = 0.17123333333333333333e-1 * t296; + const double t338 = -t336 + 0.5137e-1 * t303; + const double t341 = t72 * t72; + const double t342 = 0.1e1 / t341; + const double t343 = t67 * t342; + const double t345 = 0.516475e0 * t296; + const double t348 = 0.104195e0 * t325; + const double t350 = 0.3529725e1 * t314 - t345 + 0.1549425e1 * t303 + 0.6311625e0 * t319 - t348 + 0.312585e0 * t329; + const double t351 = 0.1e1 / t75; + const double t352 = t350 * t351; + const double t355 = 0.92708333333333333333e-2 * t296; + const double t357 = -t355 + 0.278125e-1 * t303; + const double t358 = t357 * t89; + const double t360 = t85 * t85; + const double t361 = 0.1e1 / t360; + const double t362 = t80 * t361; + const double t364 = 0.301925e0 * t296; + const double t367 = 0.82785e-1 * t325; + const double t369 = 0.258925e1 * t314 - t364 + 0.905775e0 * t303 + 0.16504875e0 * t319 - t367 + 0.248355e0 * t329; + const double t370 = 0.1e1 / t88; + const double t371 = t369 * t370; + const double t378 = t65 * t80; + const double t380 = t361 * t369 * t370; + const double t383 = -t307 + t335 + t65 * ( -0.310907e-1 * t338 * t76 + 0.1e1 * t343 * t352 + t307 - t335 - 0.19751673498613801407e-1 * t358 + 0.5848223622634646207e0 * t362 * t371 ) + 0.19751673498613801407e-1 * t65 * t358 - 0.5848223622634646207e0 * t378 * t380; + const double t387 = piecewise_functor_3( t9, 0.0, t10 * t383 / 0.2e1 + t290 * t96 / 0.2e1 ); + const double t388 = t387 * tau_a; + const double t390 = t388 * t104 * t127; + const double t391 = 0.5e1 / 0.9e1 * t390; + const double t393 = t100 * t121 * t127; + const double t394 = 0.25e2 / 0.27e2 * t393; + const double t395 = t119 * rho_a; + const double t397 = 0.1e1 / t102 / t395; + const double t398 = t99 * t397; + const double t399 = t398 * sigma_aa; + const double t401 = t400 * t125; + const double t402 = t399 * t401; + const double t403 = 0.5e1 / 0.72e2 * t402; + const double t404 = t119 * t119; + const double t405 = t404 * rho_a; + const double t407 = 0.1e1 / t101 / t405; + const double t408 = t407 * t111; + const double t409 = t100 * t408; + const double t411 = 0.1e1 / t124 / t123; + const double t412 = t411 * css; + const double t414 = t400 * t412 * sigma_aa; + const double t415 = t409 * t414; + const double t416 = 0.8e2 / 0.27e2 * t415; + const double t417 = -t289; + const double t418 = piecewise_functor_3( t132, 0.0, t417 ); + const double t421 = t17 * t294 * t137; + const double t422 = 0.17808333333333333333e-1 * t421; + const double t423 = 0.1e1 / t244; + const double t426 = piecewise_functor_3( t132, 0.0, -t423 * t417 / 0.3e1 ); + const double t428 = t17 * t21 * t426; + const double t430 = -t422 + 0.53425e-1 * t428; + const double t432 = 0.621814e-1 * t430 * t155; + const double t433 = t151 * t151; + const double t434 = 0.1e1 / t433; + const double t435 = t141 * t434; + const double t436 = 0.1e1 / t142; + const double t437 = t421 / 0.3e1; + const double t438 = -t437 + t428; + const double t439 = t436 * t438; + const double t441 = 0.29896666666666666667e0 * t421; + const double t443 = safe_math::sqrt( t139 ); + const double t444 = t443 * t438; + const double t447 = t39 * t323 * t147; + const double t448 = 0.82156666666666666667e-1 * t447; + const double t449 = t137 * t426; + const double t451 = t39 * t43 * t449; + const double t453 = 0.1898925e1 * t439 - t441 + 0.8969e0 * t428 + 0.3071625e0 * t444 - t448 + 0.24647e0 * t451; + const double t454 = 0.1e1 / t154; + const double t455 = t453 * t454; + const double t457 = 0.1e1 * t435 * t455; + const double t458 = 0.17123333333333333333e-1 * t421; + const double t460 = -t458 + 0.5137e-1 * t428; + const double t463 = t164 * t164; + const double t464 = 0.1e1 / t463; + const double t465 = t159 * t464; + const double t467 = 0.516475e0 * t421; + const double t470 = 0.104195e0 * t447; + const double t472 = 0.3529725e1 * t439 - t467 + 0.1549425e1 * t428 + 0.6311625e0 * t444 - t470 + 0.312585e0 * t451; + const double t473 = 0.1e1 / t167; + const double t474 = t472 * t473; + const double t477 = 0.92708333333333333333e-2 * t421; + const double t479 = -t477 + 0.278125e-1 * t428; + const double t480 = t479 * t181; + const double t482 = t177 * t177; + const double t483 = 0.1e1 / t482; + const double t484 = t172 * t483; + const double t486 = 0.301925e0 * t421; + const double t489 = 0.82785e-1 * t447; + const double t491 = 0.258925e1 * t439 - t486 + 0.905775e0 * t428 + 0.16504875e0 * t444 - t489 + 0.248355e0 * t451; + const double t492 = 0.1e1 / t180; + const double t493 = t491 * t492; + const double t500 = t65 * t172; + const double t502 = t483 * t491 * t492; + const double t505 = -t432 + t457 + t65 * ( -0.310907e-1 * t460 * t168 + 0.1e1 * t465 * t474 + t432 - t457 - 0.19751673498613801407e-1 * t480 + 0.5848223622634646207e0 * t484 * t493 ) + 0.19751673498613801407e-1 * t65 * t480 - 0.5848223622634646207e0 * t500 * t502; + const double t509 = piecewise_functor_3( t133, 0.0, t134 * t505 / 0.2e1 + t418 * t188 / 0.2e1 ); + const double t510 = t509 * tau_b; + const double t512 = t510 * t196 * t214; + const double t513 = 0.5e1 / 0.9e1 * t512; + const double t514 = t16 * t293; + const double t517 = 0.11073470983333333333e-2 * t14 * t514 * t233; + const double t518 = t229 * t229; + const double t519 = 0.1e1 / t518; + const double t520 = t220 * t519; + const double t522 = 0.1e1 / t221 * t11; + const double t524 = t523 * t293; + const double t525 = t522 * t524; + const double t527 = t14 * t514; + const double t529 = safe_math::sqrt( t218 ); + const double t530 = t529 * t11; + const double t531 = t530 * t524; + const double t534 = t38 * t15 * t322; + const double t536 = -0.632975e0 * t525 - 0.29896666666666666667e0 * t527 - 0.1023875e0 * t531 - 0.82156666666666666667e-1 * t534; + const double t537 = 0.1e1 / t232; + const double t538 = t536 * t537; + const double t540 = 0.1e1 * t520 * t538; + const double t541 = t236 * t3; + const double t542 = t541 * t240; + const double t544 = 0.4e1 * t542 * t275; + const double t545 = t239 * t4; + const double t546 = 0.1e1 / t545; + const double t547 = t237 * t546; + const double t549 = 0.4e1 * t547 * t275; + const double t552 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t289 ); + const double t555 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t135 * t417 ); + const double t557 = ( t552 + t555 ) * t64; + const double t558 = t557 * t274; + const double t563 = t254 * t254; + const double t564 = 0.1e1 / t563; + const double t565 = t249 * t564; + const double t570 = -0.1176575e1 * t525 - 0.516475e0 * t527 - 0.2103875e0 * t531 - 0.104195e0 * t534; + const double t571 = 0.1e1 / t257; + const double t572 = t570 * t571; + const double t578 = t267 * t267; + const double t579 = 0.1e1 / t578; + const double t580 = t262 * t579; + const double t585 = -0.86308333333333333334e0 * t525 - 0.301925e0 * t527 - 0.5501625e-1 * t531 - 0.82785e-1 * t534; + const double t586 = 0.1e1 / t270; + const double t587 = t585 * t586; + const double t590 = 0.53237641966666666666e-3 * t14 * t514 * t258 + 0.1e1 * t565 * t572 - t517 - t540 + 0.18311447306006545054e-3 * t14 * t514 * t271 + 0.5848223622634646207e0 * t580 * t587; + const double t591 = t247 * t590; + const double t592 = t241 * t591; + const double t595 = t247 * t11; + const double t597 = t523 * t293 * t271; + const double t599 = 0.18311447306006545054e-3 * t595 * t597; + const double t600 = t247 * t262; + const double t602 = t579 * t585 * t586; + const double t604 = 0.5848223622634646207e0 * t600 * t602; + const double t605 = t517 + t540 + t544 - t549 + t241 * t558 + t592 + 0.19751673498613801407e-1 * t557 * t272 - t599 - t604 - t387 - t509; + const double t606 = t605 * t285; + const double t607 = t284 * t284; + const double t608 = 0.1e1 / t607; + const double t609 = t279 * t608; + const double t610 = copp * sigma_aa; + const double t611 = t610 * t397; + const double t612 = t609 * t611; + const double t613 = 0.8e1 / 0.3e1 * t612; + const double t616 = -t5 - t288; + const double t617 = piecewise_functor_3( t8, 0.0, t616 ); + const double t621 = piecewise_functor_3( t8, 0.0, -t298 * t616 / 0.3e1 ); + const double t623 = t17 * t21 * t621; + const double t625 = -t297 + 0.53425e-1 * t623; + const double t627 = 0.621814e-1 * t625 * t52; + const double t628 = -t312 + t623; + const double t629 = t311 * t628; + const double t632 = t318 * t628; + const double t634 = t26 * t621; + const double t636 = t39 * t43 * t634; + const double t638 = 0.1898925e1 * t629 - t316 + 0.8969e0 * t623 + 0.3071625e0 * t632 - t326 + 0.24647e0 * t636; + const double t639 = t638 * t332; + const double t641 = 0.1e1 * t310 * t639; + const double t643 = -t336 + 0.5137e-1 * t623; + const double t650 = 0.3529725e1 * t629 - t345 + 0.1549425e1 * t623 + 0.6311625e0 * t632 - t348 + 0.312585e0 * t636; + const double t651 = t650 * t351; + const double t655 = -t355 + 0.278125e-1 * t623; + const double t656 = t655 * t89; + const double t662 = 0.258925e1 * t629 - t364 + 0.905775e0 * t623 + 0.16504875e0 * t632 - t367 + 0.248355e0 * t636; + const double t663 = t662 * t370; + const double t671 = t361 * t662 * t370; + const double t674 = -t627 + t641 + t65 * ( -0.310907e-1 * t643 * t76 + 0.1e1 * t343 * t651 + t627 - t641 - 0.19751673498613801407e-1 * t656 + 0.5848223622634646207e0 * t362 * t663 ) + 0.19751673498613801407e-1 * t65 * t656 - 0.5848223622634646207e0 * t378 * t671; + const double t678 = piecewise_functor_3( t9, 0.0, t10 * t674 / 0.2e1 + t617 * t96 / 0.2e1 ); + const double t679 = t678 * tau_a; + const double t681 = t679 * t104 * t127; + const double t682 = 0.5e1 / 0.9e1 * t681; + const double t683 = -t616; + const double t684 = piecewise_functor_3( t132, 0.0, t683 ); + const double t688 = piecewise_functor_3( t132, 0.0, -t423 * t683 / 0.3e1 ); + const double t690 = t17 * t21 * t688; + const double t692 = -t422 + 0.53425e-1 * t690; + const double t694 = 0.621814e-1 * t692 * t155; + const double t695 = -t437 + t690; + const double t696 = t436 * t695; + const double t699 = t443 * t695; + const double t701 = t137 * t688; + const double t703 = t39 * t43 * t701; + const double t705 = 0.1898925e1 * t696 - t441 + 0.8969e0 * t690 + 0.3071625e0 * t699 - t448 + 0.24647e0 * t703; + const double t706 = t705 * t454; + const double t708 = 0.1e1 * t435 * t706; + const double t710 = -t458 + 0.5137e-1 * t690; + const double t717 = 0.3529725e1 * t696 - t467 + 0.1549425e1 * t690 + 0.6311625e0 * t699 - t470 + 0.312585e0 * t703; + const double t718 = t717 * t473; + const double t722 = -t477 + 0.278125e-1 * t690; + const double t723 = t722 * t181; + const double t729 = 0.258925e1 * t696 - t486 + 0.905775e0 * t690 + 0.16504875e0 * t699 - t489 + 0.248355e0 * t703; + const double t730 = t729 * t492; + const double t738 = t483 * t729 * t492; + const double t741 = -t694 + t708 + t65 * ( -0.310907e-1 * t710 * t168 + 0.1e1 * t465 * t718 + t694 - t708 - 0.19751673498613801407e-1 * t723 + 0.5848223622634646207e0 * t484 * t730 ) + 0.19751673498613801407e-1 * t65 * t723 - 0.5848223622634646207e0 * t500 * t738; + const double t745 = piecewise_functor_3( t133, 0.0, t134 * t741 / 0.2e1 + t684 * t188 / 0.2e1 ); + const double t746 = t745 * tau_b; + const double t748 = t746 * t196 * t214; + const double t749 = 0.5e1 / 0.9e1 * t748; + const double t751 = t192 * t208 * t214; + const double t752 = 0.25e2 / 0.27e2 * t751; + const double t753 = t206 * rho_b; + const double t755 = 0.1e1 / t194 / t753; + const double t756 = t191 * t755; + const double t757 = t756 * sigma_bb; + const double t758 = t400 * t212; + const double t759 = t757 * t758; + const double t760 = 0.5e1 / 0.72e2 * t759; + const double t761 = t206 * t206; + const double t762 = t761 * rho_b; + const double t764 = 0.1e1 / t193 / t762; + const double t765 = t764 * t203; + const double t766 = t192 * t765; + const double t768 = 0.1e1 / t211 / t210; + const double t769 = t768 * css; + const double t771 = t400 * t769 * sigma_bb; + const double t772 = t766 * t771; + const double t773 = 0.8e2 / 0.27e2 * t772; + const double t776 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t616 ); + const double t779 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t135 * t683 ); + const double t781 = ( t776 + t779 ) * t64; + const double t782 = t781 * t274; + const double t786 = t517 + t540 - t544 - t549 + t241 * t782 + t592 + 0.19751673498613801407e-1 * t781 * t272 - t599 - t604 - t678 - t745; + const double t787 = t786 * t285; + const double t788 = copp * sigma_bb; + const double t789 = t788 * t755; + const double t790 = t609 * t789; + const double t791 = 0.8e1 / 0.3e1 * t790; + const double t794 = t99 * t121; + const double t796 = 0.5e1 / 0.72e2 * t794 * t401; + const double t798 = 0.1e1 / t101 / t404; + const double t799 = t798 * t111; + const double t801 = t400 * t412; + const double t803 = 0.1e2 / 0.9e1 * t100 * t799 * t801; + const double t804 = copp * t121; + const double t805 = t609 * t804; + const double t807 = t191 * t208; + const double t809 = 0.5e1 / 0.72e2 * t807 * t758; + const double t811 = 0.1e1 / t193 / t761; + const double t812 = t811 * t203; + const double t814 = t400 * t769; + const double t816 = 0.1e2 / 0.9e1 * t192 * t812 * t814; + const double t817 = copp * t208; + const double t818 = t609 * t817; + const double t823 = 0.5e1 / 0.9e1 * t99 * t104 * t111 * t401; + const double t824 = t99 * t108; + const double t827 = sigma_aa * t112 * t126; + const double t829 = 0.5e1 / 0.72e2 * t824 * t121 * t827; + const double t834 = 0.5e1 / 0.9e1 * t191 * t196 * t203 * t758; + const double t835 = t191 * t200; + const double t838 = sigma_bb * t112 * t213; + const double t840 = 0.5e1 / 0.72e2 * t835 * t208 * t838; + + + eps = t129 + t216 + t286; + vrho_a = t129 + t216 + t286 + t4 * ( t391 - t394 + t403 + t416 + t513 + t606 + t613 ); + vrho_b = t129 + t216 + t286 + t4 * ( t682 + t749 - t752 + t760 + t773 + t787 + t791 ); + vsigma_aa = t4 * ( -t796 - t803 - t805 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( -t809 - t816 - t818 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t823 + t829 ); + vtau_b = t4 * ( t834 + t840 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t112 = constants::m_cbrt_6; + constexpr double t115 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t116 = t115 * t115; + constexpr double t117 = 0.1e1 / t116; + constexpr double t400 = t112 * t117; + constexpr double t523 = t13 * t16; + constexpr double t1087 = css * css; + constexpr double t1290 = t37 * t15; + constexpr double t1475 = copp * copp; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t100 = t99 * tau_a; + const double t101 = safe_math::cbrt( rho_a ); + const double t102 = t101 * t101; + const double t104 = 0.1e1 / t102 / rho_a; + const double t108 = 0.1e1 / tau_a; + const double t111 = 0.1e1 - sigma_aa / rho_a * t108 / 0.8e1; + const double t113 = t111 * t112; + const double t118 = css * sigma_aa; + const double t119 = rho_a * rho_a; + const double t121 = 0.1e1 / t102 / t119; + const double t123 = t118 * t121 + 0.1e1; + const double t124 = t123 * t123; + const double t125 = 0.1e1 / t124; + const double t126 = t117 * t125; + const double t127 = t113 * t126; + const double t131 = 0.1e1 - t6; + const double t132 = t131 <= zeta_tol; + const double t133 = rho_b <= dens_tol || t132; + const double t134 = piecewise_functor_3( t132, zeta_tol, t131 ); + const double t135 = safe_math::cbrt( t131 ); + const double t137 = piecewise_functor_3( t132, t23, 0.1e1 / t135 ); + const double t139 = t17 * t21 * t137; + const double t141 = 0.1e1 + 0.53425e-1 * t139; + const double t142 = safe_math::sqrt( t139 ); + const double t145 = pow_3_2( t139 ); + const double t147 = t137 * t137; + const double t149 = t39 * t43 * t147; + const double t151 = 0.379785e1 * t142 + 0.8969e0 * t139 + 0.204775e0 * t145 + 0.123235e0 * t149; + const double t154 = 0.1e1 + 0.16081979498692535067e2 / t151; + const double t155 = safe_math::log( t154 ); + const double t157 = 0.621814e-1 * t141 * t155; + const double t159 = 0.1e1 + 0.5137e-1 * t139; + const double t164 = 0.705945e1 * t142 + 0.1549425e1 * t139 + 0.420775e0 * t145 + 0.1562925e0 * t149; + const double t167 = 0.1e1 + 0.32163958997385070134e2 / t164; + const double t168 = safe_math::log( t167 ); + const double t172 = 0.1e1 + 0.278125e-1 * t139; + const double t177 = 0.51785e1 * t142 + 0.905775e0 * t139 + 0.1100325e0 * t145 + 0.1241775e0 * t149; + const double t180 = 0.1e1 + 0.29608749977793437516e2 / t177; + const double t181 = safe_math::log( t180 ); + const double t182 = t172 * t181; + const double t188 = -t157 + t65 * ( -0.310907e-1 * t159 * t168 + t157 - 0.19751673498613801407e-1 * t182 ) + 0.19751673498613801407e-1 * t65 * t182; + const double t191 = piecewise_functor_3( t133, 0.0, t134 * t188 / 0.2e1 ); + const double t192 = t191 * tau_b; + const double t193 = safe_math::cbrt( rho_b ); + const double t194 = t193 * t193; + const double t196 = 0.1e1 / t194 / rho_b; + const double t200 = 0.1e1 / tau_b; + const double t203 = 0.1e1 - sigma_bb / rho_b * t200 / 0.8e1; + const double t204 = t203 * t112; + const double t205 = css * sigma_bb; + const double t206 = rho_b * rho_b; + const double t208 = 0.1e1 / t194 / t206; + const double t210 = t205 * t208 + 0.1e1; + const double t211 = t210 * t210; + const double t212 = 0.1e1 / t211; + const double t213 = t117 * t212; + const double t214 = t204 * t213; + const double t218 = t14 * t16 * t19; + const double t220 = 0.1e1 + 0.53425e-1 * t218; + const double t221 = safe_math::sqrt( t218 ); + const double t224 = pow_3_2( t218 ); + const double t227 = t38 * t15 * t41; + const double t229 = 0.379785e1 * t221 + 0.8969e0 * t218 + 0.204775e0 * t224 + 0.123235e0 * t227; + const double t232 = 0.1e1 + 0.16081979498692535067e2 / t229; + const double t233 = safe_math::log( t232 ); + const double t235 = 0.621814e-1 * t220 * t233; + const double t236 = t3 * t3; + const double t237 = t236 * t236; + const double t238 = t4 * t4; + const double t239 = t238 * t238; + const double t240 = 0.1e1 / t239; + const double t241 = t237 * t240; + const double t242 = t24 * t7; + const double t243 = piecewise_functor_3( t8, t56, t242 ); + const double t244 = t135 * t131; + const double t245 = piecewise_functor_3( t132, t56, t244 ); + const double t246 = t243 + t245 - 0.2e1; + const double t247 = t246 * t64; + const double t249 = 0.1e1 + 0.5137e-1 * t218; + const double t254 = 0.705945e1 * t221 + 0.1549425e1 * t218 + 0.420775e0 * t224 + 0.1562925e0 * t227; + const double t257 = 0.1e1 + 0.32163958997385070134e2 / t254; + const double t258 = safe_math::log( t257 ); + const double t262 = 0.1e1 + 0.278125e-1 * t218; + const double t267 = 0.51785e1 * t221 + 0.905775e0 * t218 + 0.1100325e0 * t224 + 0.1241775e0 * t227; + const double t270 = 0.1e1 + 0.29608749977793437516e2 / t267; + const double t271 = safe_math::log( t270 ); + const double t272 = t262 * t271; + const double t274 = -0.310907e-1 * t249 * t258 + t235 - 0.19751673498613801407e-1 * t272; + const double t275 = t247 * t274; + const double t279 = -t235 + t241 * t275 + 0.19751673498613801407e-1 * t247 * t272 - t99 - t191; + const double t284 = 0.1e1 + copp * ( sigma_aa * t121 + sigma_bb * t208 ); + const double t285 = 0.1e1 / t284; + const double t287 = 0.1e1 / t238; + const double t288 = t3 * t287; + const double t289 = t5 - t288; + const double t290 = piecewise_functor_3( t8, 0.0, t289 ); + const double t293 = 0.1e1 / t18 / t4; + const double t294 = t293 * t20; + const double t296 = t17 * t294 * t26; + const double t297 = 0.17808333333333333333e-1 * t296; + const double t298 = 0.1e1 / t242; + const double t301 = piecewise_functor_3( t8, 0.0, -t298 * t289 / 0.3e1 ); + const double t303 = t17 * t21 * t301; + const double t305 = -t297 + 0.53425e-1 * t303; + const double t307 = 0.621814e-1 * t305 * t52; + const double t308 = t48 * t48; + const double t309 = 0.1e1 / t308; + const double t310 = t30 * t309; + const double t311 = 0.1e1 / t31; + const double t312 = t296 / 0.3e1; + const double t313 = -t312 + t303; + const double t314 = t311 * t313; + const double t316 = 0.29896666666666666667e0 * t296; + const double t318 = safe_math::sqrt( t28 ); + const double t319 = t318 * t313; + const double t322 = 0.1e1 / t40 / t4; + const double t323 = t322 * t42; + const double t325 = t39 * t323 * t44; + const double t326 = 0.82156666666666666667e-1 * t325; + const double t327 = t26 * t301; + const double t329 = t39 * t43 * t327; + const double t331 = 0.1898925e1 * t314 - t316 + 0.8969e0 * t303 + 0.3071625e0 * t319 - t326 + 0.24647e0 * t329; + const double t332 = 0.1e1 / t51; + const double t333 = t331 * t332; + const double t335 = 0.1e1 * t310 * t333; + const double t336 = 0.17123333333333333333e-1 * t296; + const double t338 = -t336 + 0.5137e-1 * t303; + const double t341 = t72 * t72; + const double t342 = 0.1e1 / t341; + const double t343 = t67 * t342; + const double t345 = 0.516475e0 * t296; + const double t348 = 0.104195e0 * t325; + const double t350 = 0.3529725e1 * t314 - t345 + 0.1549425e1 * t303 + 0.6311625e0 * t319 - t348 + 0.312585e0 * t329; + const double t351 = 0.1e1 / t75; + const double t352 = t350 * t351; + const double t355 = 0.92708333333333333333e-2 * t296; + const double t357 = -t355 + 0.278125e-1 * t303; + const double t358 = t357 * t89; + const double t360 = t85 * t85; + const double t361 = 0.1e1 / t360; + const double t362 = t80 * t361; + const double t364 = 0.301925e0 * t296; + const double t367 = 0.82785e-1 * t325; + const double t369 = 0.258925e1 * t314 - t364 + 0.905775e0 * t303 + 0.16504875e0 * t319 - t367 + 0.248355e0 * t329; + const double t370 = 0.1e1 / t88; + const double t371 = t369 * t370; + const double t378 = t65 * t80; + const double t380 = t361 * t369 * t370; + const double t383 = -t307 + t335 + t65 * ( -0.310907e-1 * t338 * t76 + 0.1e1 * t343 * t352 + t307 - t335 - 0.19751673498613801407e-1 * t358 + 0.5848223622634646207e0 * t362 * t371 ) + 0.19751673498613801407e-1 * t65 * t358 - 0.5848223622634646207e0 * t378 * t380; + const double t387 = piecewise_functor_3( t9, 0.0, t10 * t383 / 0.2e1 + t290 * t96 / 0.2e1 ); + const double t388 = t387 * tau_a; + const double t390 = t388 * t104 * t127; + const double t391 = 0.5e1 / 0.9e1 * t390; + const double t393 = t100 * t121 * t127; + const double t394 = 0.25e2 / 0.27e2 * t393; + const double t395 = t119 * rho_a; + const double t397 = 0.1e1 / t102 / t395; + const double t398 = t99 * t397; + const double t399 = t398 * sigma_aa; + const double t401 = t400 * t125; + const double t402 = t399 * t401; + const double t403 = 0.5e1 / 0.72e2 * t402; + const double t404 = t119 * t119; + const double t405 = t404 * rho_a; + const double t407 = 0.1e1 / t101 / t405; + const double t408 = t407 * t111; + const double t409 = t100 * t408; + const double t411 = 0.1e1 / t124 / t123; + const double t412 = t411 * css; + const double t414 = t400 * t412 * sigma_aa; + const double t415 = t409 * t414; + const double t416 = 0.8e2 / 0.27e2 * t415; + const double t417 = -t289; + const double t418 = piecewise_functor_3( t132, 0.0, t417 ); + const double t421 = t17 * t294 * t137; + const double t422 = 0.17808333333333333333e-1 * t421; + const double t423 = 0.1e1 / t244; + const double t426 = piecewise_functor_3( t132, 0.0, -t423 * t417 / 0.3e1 ); + const double t428 = t17 * t21 * t426; + const double t430 = -t422 + 0.53425e-1 * t428; + const double t432 = 0.621814e-1 * t430 * t155; + const double t433 = t151 * t151; + const double t434 = 0.1e1 / t433; + const double t435 = t141 * t434; + const double t436 = 0.1e1 / t142; + const double t437 = t421 / 0.3e1; + const double t438 = -t437 + t428; + const double t439 = t436 * t438; + const double t441 = 0.29896666666666666667e0 * t421; + const double t443 = safe_math::sqrt( t139 ); + const double t444 = t443 * t438; + const double t447 = t39 * t323 * t147; + const double t448 = 0.82156666666666666667e-1 * t447; + const double t449 = t137 * t426; + const double t451 = t39 * t43 * t449; + const double t453 = 0.1898925e1 * t439 - t441 + 0.8969e0 * t428 + 0.3071625e0 * t444 - t448 + 0.24647e0 * t451; + const double t454 = 0.1e1 / t154; + const double t455 = t453 * t454; + const double t457 = 0.1e1 * t435 * t455; + const double t458 = 0.17123333333333333333e-1 * t421; + const double t460 = -t458 + 0.5137e-1 * t428; + const double t463 = t164 * t164; + const double t464 = 0.1e1 / t463; + const double t465 = t159 * t464; + const double t467 = 0.516475e0 * t421; + const double t470 = 0.104195e0 * t447; + const double t472 = 0.3529725e1 * t439 - t467 + 0.1549425e1 * t428 + 0.6311625e0 * t444 - t470 + 0.312585e0 * t451; + const double t473 = 0.1e1 / t167; + const double t474 = t472 * t473; + const double t477 = 0.92708333333333333333e-2 * t421; + const double t479 = -t477 + 0.278125e-1 * t428; + const double t480 = t479 * t181; + const double t482 = t177 * t177; + const double t483 = 0.1e1 / t482; + const double t484 = t172 * t483; + const double t486 = 0.301925e0 * t421; + const double t489 = 0.82785e-1 * t447; + const double t491 = 0.258925e1 * t439 - t486 + 0.905775e0 * t428 + 0.16504875e0 * t444 - t489 + 0.248355e0 * t451; + const double t492 = 0.1e1 / t180; + const double t493 = t491 * t492; + const double t500 = t65 * t172; + const double t502 = t483 * t491 * t492; + const double t505 = -t432 + t457 + t65 * ( -0.310907e-1 * t460 * t168 + 0.1e1 * t465 * t474 + t432 - t457 - 0.19751673498613801407e-1 * t480 + 0.5848223622634646207e0 * t484 * t493 ) + 0.19751673498613801407e-1 * t65 * t480 - 0.5848223622634646207e0 * t500 * t502; + const double t509 = piecewise_functor_3( t133, 0.0, t134 * t505 / 0.2e1 + t418 * t188 / 0.2e1 ); + const double t510 = t509 * tau_b; + const double t512 = t510 * t196 * t214; + const double t513 = 0.5e1 / 0.9e1 * t512; + const double t514 = t16 * t293; + const double t517 = 0.11073470983333333333e-2 * t14 * t514 * t233; + const double t518 = t229 * t229; + const double t519 = 0.1e1 / t518; + const double t520 = t220 * t519; + const double t522 = 0.1e1 / t221 * t11; + const double t524 = t523 * t293; + const double t525 = t522 * t524; + const double t527 = t14 * t514; + const double t529 = safe_math::sqrt( t218 ); + const double t530 = t529 * t11; + const double t531 = t530 * t524; + const double t534 = t38 * t15 * t322; + const double t536 = -0.632975e0 * t525 - 0.29896666666666666667e0 * t527 - 0.1023875e0 * t531 - 0.82156666666666666667e-1 * t534; + const double t537 = 0.1e1 / t232; + const double t538 = t536 * t537; + const double t540 = 0.1e1 * t520 * t538; + const double t541 = t236 * t3; + const double t542 = t541 * t240; + const double t544 = 0.4e1 * t542 * t275; + const double t545 = t239 * t4; + const double t546 = 0.1e1 / t545; + const double t547 = t237 * t546; + const double t549 = 0.4e1 * t547 * t275; + const double t552 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t289 ); + const double t555 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t135 * t417 ); + const double t557 = ( t552 + t555 ) * t64; + const double t558 = t557 * t274; + const double t563 = t254 * t254; + const double t564 = 0.1e1 / t563; + const double t565 = t249 * t564; + const double t570 = -0.1176575e1 * t525 - 0.516475e0 * t527 - 0.2103875e0 * t531 - 0.104195e0 * t534; + const double t571 = 0.1e1 / t257; + const double t572 = t570 * t571; + const double t578 = t267 * t267; + const double t579 = 0.1e1 / t578; + const double t580 = t262 * t579; + const double t585 = -0.86308333333333333334e0 * t525 - 0.301925e0 * t527 - 0.5501625e-1 * t531 - 0.82785e-1 * t534; + const double t586 = 0.1e1 / t270; + const double t587 = t585 * t586; + const double t590 = 0.53237641966666666666e-3 * t14 * t514 * t258 + 0.1e1 * t565 * t572 - t517 - t540 + 0.18311447306006545054e-3 * t14 * t514 * t271 + 0.5848223622634646207e0 * t580 * t587; + const double t591 = t247 * t590; + const double t592 = t241 * t591; + const double t595 = t247 * t11; + const double t597 = t523 * t293 * t271; + const double t599 = 0.18311447306006545054e-3 * t595 * t597; + const double t600 = t247 * t262; + const double t602 = t579 * t585 * t586; + const double t604 = 0.5848223622634646207e0 * t600 * t602; + const double t605 = t517 + t540 + t544 - t549 + t241 * t558 + t592 + 0.19751673498613801407e-1 * t557 * t272 - t599 - t604 - t387 - t509; + const double t606 = t605 * t285; + const double t607 = t284 * t284; + const double t608 = 0.1e1 / t607; + const double t609 = t279 * t608; + const double t610 = copp * sigma_aa; + const double t611 = t610 * t397; + const double t612 = t609 * t611; + const double t613 = 0.8e1 / 0.3e1 * t612; + const double t616 = -t5 - t288; + const double t617 = piecewise_functor_3( t8, 0.0, t616 ); + const double t621 = piecewise_functor_3( t8, 0.0, -t298 * t616 / 0.3e1 ); + const double t623 = t17 * t21 * t621; + const double t625 = -t297 + 0.53425e-1 * t623; + const double t627 = 0.621814e-1 * t625 * t52; + const double t628 = -t312 + t623; + const double t629 = t311 * t628; + const double t632 = t318 * t628; + const double t634 = t26 * t621; + const double t636 = t39 * t43 * t634; + const double t638 = 0.1898925e1 * t629 - t316 + 0.8969e0 * t623 + 0.3071625e0 * t632 - t326 + 0.24647e0 * t636; + const double t639 = t638 * t332; + const double t641 = 0.1e1 * t310 * t639; + const double t643 = -t336 + 0.5137e-1 * t623; + const double t650 = 0.3529725e1 * t629 - t345 + 0.1549425e1 * t623 + 0.6311625e0 * t632 - t348 + 0.312585e0 * t636; + const double t651 = t650 * t351; + const double t655 = -t355 + 0.278125e-1 * t623; + const double t656 = t655 * t89; + const double t662 = 0.258925e1 * t629 - t364 + 0.905775e0 * t623 + 0.16504875e0 * t632 - t367 + 0.248355e0 * t636; + const double t663 = t662 * t370; + const double t671 = t361 * t662 * t370; + const double t674 = -t627 + t641 + t65 * ( -0.310907e-1 * t643 * t76 + 0.1e1 * t343 * t651 + t627 - t641 - 0.19751673498613801407e-1 * t656 + 0.5848223622634646207e0 * t362 * t663 ) + 0.19751673498613801407e-1 * t65 * t656 - 0.5848223622634646207e0 * t378 * t671; + const double t678 = piecewise_functor_3( t9, 0.0, t10 * t674 / 0.2e1 + t617 * t96 / 0.2e1 ); + const double t679 = t678 * tau_a; + const double t681 = t679 * t104 * t127; + const double t682 = 0.5e1 / 0.9e1 * t681; + const double t683 = -t616; + const double t684 = piecewise_functor_3( t132, 0.0, t683 ); + const double t688 = piecewise_functor_3( t132, 0.0, -t423 * t683 / 0.3e1 ); + const double t690 = t17 * t21 * t688; + const double t692 = -t422 + 0.53425e-1 * t690; + const double t694 = 0.621814e-1 * t692 * t155; + const double t695 = -t437 + t690; + const double t696 = t436 * t695; + const double t699 = t443 * t695; + const double t701 = t137 * t688; + const double t703 = t39 * t43 * t701; + const double t705 = 0.1898925e1 * t696 - t441 + 0.8969e0 * t690 + 0.3071625e0 * t699 - t448 + 0.24647e0 * t703; + const double t706 = t705 * t454; + const double t708 = 0.1e1 * t435 * t706; + const double t710 = -t458 + 0.5137e-1 * t690; + const double t717 = 0.3529725e1 * t696 - t467 + 0.1549425e1 * t690 + 0.6311625e0 * t699 - t470 + 0.312585e0 * t703; + const double t718 = t717 * t473; + const double t722 = -t477 + 0.278125e-1 * t690; + const double t723 = t722 * t181; + const double t729 = 0.258925e1 * t696 - t486 + 0.905775e0 * t690 + 0.16504875e0 * t699 - t489 + 0.248355e0 * t703; + const double t730 = t729 * t492; + const double t738 = t483 * t729 * t492; + const double t741 = -t694 + t708 + t65 * ( -0.310907e-1 * t710 * t168 + 0.1e1 * t465 * t718 + t694 - t708 - 0.19751673498613801407e-1 * t723 + 0.5848223622634646207e0 * t484 * t730 ) + 0.19751673498613801407e-1 * t65 * t723 - 0.5848223622634646207e0 * t500 * t738; + const double t745 = piecewise_functor_3( t133, 0.0, t134 * t741 / 0.2e1 + t684 * t188 / 0.2e1 ); + const double t746 = t745 * tau_b; + const double t748 = t746 * t196 * t214; + const double t749 = 0.5e1 / 0.9e1 * t748; + const double t751 = t192 * t208 * t214; + const double t752 = 0.25e2 / 0.27e2 * t751; + const double t753 = t206 * rho_b; + const double t755 = 0.1e1 / t194 / t753; + const double t756 = t191 * t755; + const double t757 = t756 * sigma_bb; + const double t758 = t400 * t212; + const double t759 = t757 * t758; + const double t760 = 0.5e1 / 0.72e2 * t759; + const double t761 = t206 * t206; + const double t762 = t761 * rho_b; + const double t764 = 0.1e1 / t193 / t762; + const double t765 = t764 * t203; + const double t766 = t192 * t765; + const double t768 = 0.1e1 / t211 / t210; + const double t769 = t768 * css; + const double t771 = t400 * t769 * sigma_bb; + const double t772 = t766 * t771; + const double t773 = 0.8e2 / 0.27e2 * t772; + const double t776 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t616 ); + const double t779 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t135 * t683 ); + const double t781 = ( t776 + t779 ) * t64; + const double t782 = t781 * t274; + const double t786 = t517 + t540 - t544 - t549 + t241 * t782 + t592 + 0.19751673498613801407e-1 * t781 * t272 - t599 - t604 - t678 - t745; + const double t787 = t786 * t285; + const double t788 = copp * sigma_bb; + const double t789 = t788 * t755; + const double t790 = t609 * t789; + const double t791 = 0.8e1 / 0.3e1 * t790; + const double t794 = t99 * t121; + const double t796 = 0.5e1 / 0.72e2 * t794 * t401; + const double t798 = 0.1e1 / t101 / t404; + const double t799 = t798 * t111; + const double t801 = t400 * t412; + const double t803 = 0.1e2 / 0.9e1 * t100 * t799 * t801; + const double t804 = copp * t121; + const double t805 = t609 * t804; + const double t807 = t191 * t208; + const double t809 = 0.5e1 / 0.72e2 * t807 * t758; + const double t811 = 0.1e1 / t193 / t761; + const double t812 = t811 * t203; + const double t814 = t400 * t769; + const double t816 = 0.1e2 / 0.9e1 * t192 * t812 * t814; + const double t817 = copp * t208; + const double t818 = t609 * t817; + const double t823 = 0.5e1 / 0.9e1 * t99 * t104 * t111 * t401; + const double t824 = t99 * t108; + const double t827 = sigma_aa * t112 * t126; + const double t829 = 0.5e1 / 0.72e2 * t824 * t121 * t827; + const double t834 = 0.5e1 / 0.9e1 * t191 * t196 * t203 * t758; + const double t835 = t191 * t200; + const double t838 = sigma_bb * t112 * t213; + const double t840 = 0.5e1 / 0.72e2 * t835 * t208 * t838; + const double t849 = t238 * t4; + const double t850 = 0.1e1 / t849; + const double t851 = t3 * t850; + const double t853 = -0.2e1 * t287 + 0.2e1 * t851; + const double t854 = piecewise_functor_3( t8, 0.0, t853 ); + const double t859 = 0.1e1 / t18 / t238; + const double t860 = t859 * t20; + const double t862 = t17 * t860 * t26; + const double t863 = 0.23744444444444444444e-1 * t862; + const double t865 = t17 * t294 * t301; + const double t867 = t7 * t7; + const double t869 = 0.1e1 / t24 / t867; + const double t870 = t289 * t289; + const double t876 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t869 * t870 - t298 * t853 / 0.3e1 ); + const double t878 = t17 * t21 * t876; + const double t880 = t863 - 0.35616666666666666666e-1 * t865 + 0.53425e-1 * t878; + const double t882 = 0.621814e-1 * t880 * t52; + const double t883 = t305 * t309; + const double t885 = 0.2e1 * t883 * t333; + const double t886 = t308 * t48; + const double t887 = 0.1e1 / t886; + const double t888 = t30 * t887; + const double t889 = t331 * t331; + const double t890 = t889 * t332; + const double t892 = 0.2e1 * t888 * t890; + const double t894 = 0.1e1 / t31 / t28; + const double t895 = t313 * t313; + const double t896 = t894 * t895; + const double t898 = 0.4e1 / 0.9e1 * t862; + const double t900 = t898 - 0.2e1 / 0.3e1 * t865 + t878; + const double t901 = t311 * t900; + const double t903 = 0.39862222222222222223e0 * t862; + const double t906 = 0.1e1/safe_math::sqrt( t28 ); + const double t907 = t906 * t895; + const double t909 = t318 * t900; + const double t912 = 0.1e1 / t40 / t238; + const double t913 = t912 * t42; + const double t915 = t39 * t913 * t44; + const double t916 = 0.13692777777777777778e0 * t915; + const double t918 = t39 * t323 * t327; + const double t920 = t301 * t301; + const double t922 = t39 * t43 * t920; + const double t924 = t26 * t876; + const double t926 = t39 * t43 * t924; + const double t928 = -0.9494625e0 * t896 + 0.1898925e1 * t901 + t903 - 0.59793333333333333334e0 * t865 + 0.8969e0 * t878 + 0.15358125e0 * t907 + 0.3071625e0 * t909 + t916 - 0.32862666666666666666e0 * t918 + 0.24647e0 * t922 + 0.24647e0 * t926; + const double t929 = t928 * t332; + const double t931 = 0.1e1 * t310 * t929; + const double t932 = t308 * t308; + const double t933 = 0.1e1 / t932; + const double t934 = t30 * t933; + const double t935 = t51 * t51; + const double t936 = 0.1e1 / t935; + const double t937 = t889 * t936; + const double t939 = 0.16081979498692535067e2 * t934 * t937; + const double t940 = 0.22831111111111111111e-1 * t862; + const double t943 = t940 - 0.34246666666666666666e-1 * t865 + 0.5137e-1 * t878; + const double t946 = t338 * t342; + const double t949 = t341 * t72; + const double t950 = 0.1e1 / t949; + const double t951 = t67 * t950; + const double t952 = t350 * t350; + const double t953 = t952 * t351; + const double t958 = 0.68863333333333333333e0 * t862; + const double t963 = 0.17365833333333333333e0 * t915; + const double t967 = -0.17648625e1 * t896 + 0.3529725e1 * t901 + t958 - 0.103295e1 * t865 + 0.1549425e1 * t878 + 0.31558125e0 * t907 + 0.6311625e0 * t909 + t963 - 0.41678e0 * t918 + 0.312585e0 * t922 + 0.312585e0 * t926; + const double t968 = t967 * t351; + const double t971 = t341 * t341; + const double t972 = 0.1e1 / t971; + const double t973 = t67 * t972; + const double t974 = t75 * t75; + const double t975 = 0.1e1 / t974; + const double t976 = t952 * t975; + const double t979 = 0.12361111111111111111e-1 * t862; + const double t982 = t979 - 0.18541666666666666667e-1 * t865 + 0.278125e-1 * t878; + const double t983 = t982 * t89; + const double t985 = t357 * t361; + const double t988 = t360 * t85; + const double t989 = 0.1e1 / t988; + const double t990 = t80 * t989; + const double t991 = t369 * t369; + const double t992 = t991 * t370; + const double t997 = 0.40256666666666666667e0 * t862; + const double t1002 = 0.137975e0 * t915; + const double t1006 = -0.1294625e1 * t896 + 0.258925e1 * t901 + t997 - 0.60385e0 * t865 + 0.905775e0 * t878 + 0.82524375e-1 * t907 + 0.16504875e0 * t909 + t1002 - 0.33114e0 * t918 + 0.248355e0 * t922 + 0.248355e0 * t926; + const double t1007 = t1006 * t370; + const double t1010 = t360 * t360; + const double t1011 = 0.1e1 / t1010; + const double t1012 = t80 * t1011; + const double t1013 = t88 * t88; + const double t1014 = 0.1e1 / t1013; + const double t1015 = t991 * t1014; + const double t1018 = -0.310907e-1 * t943 * t76 + 0.2e1 * t946 * t352 - 0.2e1 * t951 * t953 + 0.1e1 * t343 * t968 + 0.32163958997385070134e2 * t973 * t976 + t882 - t885 + t892 - t931 - t939 - 0.19751673498613801407e-1 * t983 + 0.11696447245269292414e1 * t985 * t371 - 0.11696447245269292414e1 * t990 * t992 + 0.5848223622634646207e0 * t362 * t1007 + 0.17315859105681463759e2 * t1012 * t1015; + const double t1022 = t65 * t357; + const double t1026 = t989 * t991 * t370; + const double t1030 = t361 * t1006 * t370; + const double t1033 = t1011 * t991; + const double t1034 = t1033 * t1014; + const double t1037 = -t882 + t885 - t892 + t931 + t939 + t65 * t1018 + 0.19751673498613801407e-1 * t65 * t983 - 0.11696447245269292414e1 * t1022 * t380 + 0.11696447245269292414e1 * t378 * t1026 - 0.5848223622634646207e0 * t378 * t1030 - 0.17315859105681463759e2 * t378 * t1034; + const double t1041 = piecewise_functor_3( t9, 0.0, t854 * t96 / 0.2e1 + t290 * t383 + t10 * t1037 / 0.2e1 ); + const double t1042 = t1041 * tau_a; + const double t1044 = t1042 * t104 * t127; + const double t1045 = 0.5e1 / 0.9e1 * t1044; + const double t1047 = t388 * t121 * t127; + const double t1048 = 0.5e2 / 0.27e2 * t1047; + const double t1049 = t387 * t397; + const double t1050 = t1049 * sigma_aa; + const double t1051 = t1050 * t401; + const double t1052 = 0.5e1 / 0.36e2 * t1051; + const double t1053 = t388 * t408; + const double t1054 = t1053 * t414; + const double t1055 = 0.16e3 / 0.27e2 * t1054; + const double t1057 = t100 * t397 * t127; + const double t1058 = 0.2e3 / 0.81e2 * t1057; + const double t1060 = 0.1e1 / t102 / t404; + const double t1061 = t99 * t1060; + const double t1062 = t1061 * sigma_aa; + const double t1063 = t1062 * t401; + const double t1064 = 0.1e2 / 0.27e2 * t1063; + const double t1065 = t404 * t119; + const double t1067 = 0.1e1 / t101 / t1065; + const double t1068 = t1067 * t111; + const double t1069 = t100 * t1068; + const double t1070 = t1069 * t414; + const double t1071 = 0.56e3 / 0.27e2 * t1070; + const double t1072 = t404 * t395; + const double t1074 = 0.1e1 / t101 / t1072; + const double t1075 = t99 * t1074; + const double t1076 = sigma_aa * sigma_aa; + const double t1078 = t1075 * t1076 * t801; + const double t1079 = 0.2e2 / 0.27e2 * t1078; + const double t1080 = t404 * t404; + const double t1081 = t1080 * rho_a; + const double t1082 = 0.1e1 / t1081; + const double t1083 = t1082 * t111; + const double t1084 = t100 * t1083; + const double t1085 = t124 * t124; + const double t1086 = 0.1e1 / t1085; + const double t1088 = t1086 * t1087; + const double t1090 = t400 * t1088 * t1076; + const double t1091 = t1084 * t1090; + const double t1092 = 0.64e3 / 0.27e2 * t1091; + const double t1093 = -t853; + const double t1094 = piecewise_functor_3( t132, 0.0, t1093 ); + const double t1099 = t17 * t860 * t137; + const double t1100 = 0.23744444444444444444e-1 * t1099; + const double t1102 = t17 * t294 * t426; + const double t1104 = t131 * t131; + const double t1106 = 0.1e1 / t135 / t1104; + const double t1107 = t417 * t417; + const double t1113 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1106 * t1107 - t423 * t1093 / 0.3e1 ); + const double t1115 = t17 * t21 * t1113; + const double t1117 = t1100 - 0.35616666666666666666e-1 * t1102 + 0.53425e-1 * t1115; + const double t1119 = 0.621814e-1 * t1117 * t155; + const double t1120 = t430 * t434; + const double t1122 = 0.2e1 * t1120 * t455; + const double t1123 = t433 * t151; + const double t1124 = 0.1e1 / t1123; + const double t1125 = t141 * t1124; + const double t1126 = t453 * t453; + const double t1127 = t1126 * t454; + const double t1129 = 0.2e1 * t1125 * t1127; + const double t1131 = 0.1e1 / t142 / t139; + const double t1132 = t438 * t438; + const double t1133 = t1131 * t1132; + const double t1135 = 0.4e1 / 0.9e1 * t1099; + const double t1137 = t1135 - 0.2e1 / 0.3e1 * t1102 + t1115; + const double t1138 = t436 * t1137; + const double t1140 = 0.39862222222222222223e0 * t1099; + const double t1143 = 0.1e1/safe_math::sqrt( t139 ); + const double t1144 = t1143 * t1132; + const double t1146 = t443 * t1137; + const double t1149 = t39 * t913 * t147; + const double t1150 = 0.13692777777777777778e0 * t1149; + const double t1152 = t39 * t323 * t449; + const double t1154 = t426 * t426; + const double t1156 = t39 * t43 * t1154; + const double t1158 = t137 * t1113; + const double t1160 = t39 * t43 * t1158; + const double t1162 = -0.9494625e0 * t1133 + 0.1898925e1 * t1138 + t1140 - 0.59793333333333333334e0 * t1102 + 0.8969e0 * t1115 + 0.15358125e0 * t1144 + 0.3071625e0 * t1146 + t1150 - 0.32862666666666666666e0 * t1152 + 0.24647e0 * t1156 + 0.24647e0 * t1160; + const double t1163 = t1162 * t454; + const double t1165 = 0.1e1 * t435 * t1163; + const double t1166 = t433 * t433; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t141 * t1167; + const double t1169 = t154 * t154; + const double t1170 = 0.1e1 / t1169; + const double t1171 = t1126 * t1170; + const double t1173 = 0.16081979498692535067e2 * t1168 * t1171; + const double t1174 = 0.22831111111111111111e-1 * t1099; + const double t1177 = t1174 - 0.34246666666666666666e-1 * t1102 + 0.5137e-1 * t1115; + const double t1180 = t460 * t464; + const double t1183 = t463 * t164; + const double t1184 = 0.1e1 / t1183; + const double t1185 = t159 * t1184; + const double t1186 = t472 * t472; + const double t1187 = t1186 * t473; + const double t1192 = 0.68863333333333333333e0 * t1099; + const double t1197 = 0.17365833333333333333e0 * t1149; + const double t1201 = -0.17648625e1 * t1133 + 0.3529725e1 * t1138 + t1192 - 0.103295e1 * t1102 + 0.1549425e1 * t1115 + 0.31558125e0 * t1144 + 0.6311625e0 * t1146 + t1197 - 0.41678e0 * t1152 + 0.312585e0 * t1156 + 0.312585e0 * t1160; + const double t1202 = t1201 * t473; + const double t1205 = t463 * t463; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t159 * t1206; + const double t1208 = t167 * t167; + const double t1209 = 0.1e1 / t1208; + const double t1210 = t1186 * t1209; + const double t1213 = 0.12361111111111111111e-1 * t1099; + const double t1216 = t1213 - 0.18541666666666666667e-1 * t1102 + 0.278125e-1 * t1115; + const double t1217 = t1216 * t181; + const double t1219 = t479 * t483; + const double t1222 = t482 * t177; + const double t1223 = 0.1e1 / t1222; + const double t1224 = t172 * t1223; + const double t1225 = t491 * t491; + const double t1226 = t1225 * t492; + const double t1231 = 0.40256666666666666667e0 * t1099; + const double t1236 = 0.137975e0 * t1149; + const double t1240 = -0.1294625e1 * t1133 + 0.258925e1 * t1138 + t1231 - 0.60385e0 * t1102 + 0.905775e0 * t1115 + 0.82524375e-1 * t1144 + 0.16504875e0 * t1146 + t1236 - 0.33114e0 * t1152 + 0.248355e0 * t1156 + 0.248355e0 * t1160; + const double t1241 = t1240 * t492; + const double t1244 = t482 * t482; + const double t1245 = 0.1e1 / t1244; + const double t1246 = t172 * t1245; + const double t1247 = t180 * t180; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1225 * t1248; + const double t1252 = -0.310907e-1 * t1177 * t168 + 0.2e1 * t1180 * t474 - 0.2e1 * t1185 * t1187 + 0.1e1 * t465 * t1202 + 0.32163958997385070134e2 * t1207 * t1210 + t1119 - t1122 + t1129 - t1165 - t1173 - 0.19751673498613801407e-1 * t1217 + 0.11696447245269292414e1 * t1219 * t493 - 0.11696447245269292414e1 * t1224 * t1226 + 0.5848223622634646207e0 * t484 * t1241 + 0.17315859105681463759e2 * t1246 * t1249; + const double t1256 = t65 * t479; + const double t1260 = t1223 * t1225 * t492; + const double t1264 = t483 * t1240 * t492; + const double t1267 = t1245 * t1225; + const double t1268 = t1267 * t1248; + const double t1271 = -t1119 + t1122 - t1129 + t1165 + t1173 + t65 * t1252 + 0.19751673498613801407e-1 * t65 * t1217 - 0.11696447245269292414e1 * t1256 * t502 + 0.11696447245269292414e1 * t500 * t1260 - 0.5848223622634646207e0 * t500 * t1264 - 0.17315859105681463759e2 * t500 * t1268; + const double t1275 = piecewise_functor_3( t133, 0.0, t1094 * t188 / 0.2e1 + t418 * t505 + t134 * t1271 / 0.2e1 ); + const double t1276 = t1275 * tau_b; + const double t1278 = t1276 * t196 * t214; + const double t1279 = 0.5e1 / 0.9e1 * t1278; + const double t1280 = t247 * t14; + const double t1281 = t514 * t602; + const double t1283 = 0.10843581300301739842e-1 * t1280 * t1281; + const double t1284 = t557 * t262; + const double t1285 = t1284 * t602; + const double t1289 = 0.1e1 / t221 / t218 * t36; + const double t1291 = t1290 * t912; + const double t1292 = t1289 * t1291; + const double t1294 = t523 * t859; + const double t1295 = t522 * t1294; + const double t1297 = t16 * t859; + const double t1298 = t14 * t1297; + const double t1300 = 0.1e1/safe_math::sqrt( t218 ); + const double t1301 = t1300 * t36; + const double t1302 = t1301 * t1291; + const double t1304 = t530 * t1294; + const double t1307 = t38 * t15 * t912; + const double t1309 = -0.57538888888888888889e0 * t1292 + 0.11507777777777777778e1 * t1295 + 0.40256666666666666667e0 * t1298 + 0.366775e-1 * t1302 + 0.73355e-1 * t1304 + 0.137975e0 * t1307; + const double t1311 = t579 * t1309 * t586; + const double t1313 = 0.5848223622634646207e0 * t600 * t1311; + const double t1314 = t578 * t267; + const double t1315 = 0.1e1 / t1314; + const double t1316 = t585 * t585; + const double t1318 = t1315 * t1316 * t586; + const double t1320 = 0.11696447245269292414e1 * t600 * t1318; + const double t1321 = t24 * t24; + const double t1322 = 0.1e1 / t1321; + const double t1328 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1322 * t870 + 0.4e1 / 0.3e1 * t24 * t853 ); + const double t1329 = t135 * t135; + const double t1330 = 0.1e1 / t1329; + const double t1336 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1330 * t1107 + 0.4e1 / 0.3e1 * t135 * t1093 ); + const double t1338 = ( t1328 + t1336 ) * t64; + const double t1342 = 0.1e1 / t239 / t238; + const double t1343 = t237 * t1342; + const double t1345 = 0.2e2 * t1343 * t275; + const double t1346 = t236 * t240; + const double t1348 = 0.12e2 * t1346 * t275; + const double t1349 = t541 * t546; + const double t1351 = 0.32e2 * t1349 * t275; + const double t1354 = 0.14764627977777777777e-2 * t14 * t1297 * t233; + const double t1358 = t293 * t564; + const double t1362 = t563 * t254; + const double t1363 = 0.1e1 / t1362; + const double t1364 = t249 * t1363; + const double t1365 = t570 * t570; + const double t1366 = t1365 * t571; + const double t1375 = -0.78438333333333333333e0 * t1292 + 0.15687666666666666667e1 * t1295 + 0.68863333333333333333e0 * t1298 + 0.14025833333333333333e0 * t1302 + 0.28051666666666666667e0 * t1304 + 0.17365833333333333333e0 * t1307; + const double t1376 = t1375 * t571; + const double t1379 = t563 * t563; + const double t1380 = 0.1e1 / t1379; + const double t1381 = t249 * t1380; + const double t1382 = t257 * t257; + const double t1383 = 0.1e1 / t1382; + const double t1384 = t1365 * t1383; + const double t1387 = t293 * t519; + const double t1390 = 0.35616666666666666666e-1 * t17 * t1387 * t538; + const double t1391 = t518 * t229; + const double t1392 = 0.1e1 / t1391; + const double t1393 = t220 * t1392; + const double t1394 = t536 * t536; + const double t1395 = t1394 * t537; + const double t1397 = 0.2e1 * t1393 * t1395; + const double t1404 = -0.42198333333333333333e0 * t1292 + 0.84396666666666666666e0 * t1295 + 0.39862222222222222223e0 * t1298 + 0.68258333333333333333e-1 * t1302 + 0.13651666666666666667e0 * t1304 + 0.13692777777777777778e0 * t1307; + const double t1405 = t1404 * t537; + const double t1407 = 0.1e1 * t520 * t1405; + const double t1408 = t518 * t518; + const double t1409 = 0.1e1 / t1408; + const double t1410 = t220 * t1409; + const double t1411 = t232 * t232; + const double t1412 = 0.1e1 / t1411; + const double t1413 = t1394 * t1412; + const double t1415 = 0.16081979498692535067e2 * t1410 * t1413; + const double t1419 = t293 * t579; + const double t1423 = t262 * t1315; + const double t1424 = t1316 * t586; + const double t1427 = t1309 * t586; + const double t1430 = t578 * t578; + const double t1431 = 0.1e1 / t1430; + const double t1432 = t262 * t1431; + const double t1433 = t270 * t270; + const double t1434 = 0.1e1 / t1433; + const double t1435 = t1316 * t1434; + const double t1438 = -0.70983522622222222221e-3 * t14 * t1297 * t258 - 0.34246666666666666666e-1 * t17 * t1358 * t572 - 0.2e1 * t1364 * t1366 + 0.1e1 * t565 * t1376 + 0.32163958997385070134e2 * t1381 * t1384 + t1354 + t1390 + t1397 - t1407 - t1415 - 0.24415263074675393405e-3 * t14 * t1297 * t271 - 0.10843581300301739842e-1 * t17 * t1419 * t587 - 0.11696447245269292414e1 * t1423 * t1424 + 0.5848223622634646207e0 * t580 * t1427 + 0.17315859105681463759e2 * t1432 * t1435; + const double t1439 = t247 * t1438; + const double t1440 = t241 * t1439; + const double t1441 = -t1041 + t1283 - 0.11696447245269292414e1 * t1285 - t1313 + t1320 + 0.19751673498613801407e-1 * t1338 * t272 - t1275 + t1345 + t1348 - t1351 - t1354 + t1440; + const double t1442 = t1431 * t1316; + const double t1443 = t1442 * t1434; + const double t1445 = 0.17315859105681463759e2 * t600 * t1443; + const double t1447 = 0.8e1 * t542 * t591; + const double t1448 = t557 * t11; + const double t1449 = t1448 * t597; + const double t1452 = t523 * t859 * t271; + const double t1454 = 0.24415263074675393405e-3 * t595 * t1452; + const double t1455 = t1338 * t274; + const double t1457 = t557 * t590; + const double t1458 = t241 * t1457; + const double t1460 = t547 * t558; + const double t1463 = 0.8e1 * t547 * t591; + const double t1464 = t542 * t558; + const double t1466 = -t1445 + t1447 - 0.36622894612013090108e-3 * t1449 - t1390 + t1454 - t1397 + t1407 + t1415 + t241 * t1455 + 0.2e1 * t1458 - 0.8e1 * t1460 - t1463 + 0.8e1 * t1464; + const double t1467 = t1441 + t1466; + const double t1468 = t1467 * t285; + const double t1469 = t605 * t608; + const double t1470 = t1469 * t611; + const double t1471 = 0.16e2 / 0.3e1 * t1470; + const double t1473 = 0.1e1 / t607 / t284; + const double t1474 = t279 * t1473; + const double t1476 = t1475 * t1076; + const double t1477 = t1476 * t1074; + const double t1478 = t1474 * t1477; + const double t1479 = 0.128e3 / 0.9e1 * t1478; + const double t1480 = t610 * t1060; + const double t1481 = t609 * t1480; + const double t1482 = 0.88e2 / 0.9e1 * t1481; + const double t1483 = t1045 - t1048 + t1052 + t1055 + t1058 - t1064 - t1071 + t1079 + t1092 + t1279 + t1468 + t1471 + t1479 - t1482; + const double t1485 = 0.2e1 * t851; + const double t1486 = piecewise_functor_3( t8, 0.0, t1485 ); + const double t1492 = t17 * t294 * t621; + const double t1494 = t869 * t616; + const double t1497 = t298 * t3; + const double t1501 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1494 * t289 - 0.2e1 / 0.3e1 * t1497 * t850 ); + const double t1503 = t17 * t21 * t1501; + const double t1505 = t863 - 0.17808333333333333333e-1 * t865 - 0.17808333333333333333e-1 * t1492 + 0.53425e-1 * t1503; + const double t1507 = 0.621814e-1 * t1505 * t52; + const double t1508 = t625 * t309; + const double t1510 = 0.1e1 * t1508 * t333; + const double t1512 = 0.1e1 * t883 * t639; + const double t1513 = t639 * t331; + const double t1515 = 0.2e1 * t888 * t1513; + const double t1516 = t894 * t628; + const double t1517 = t1516 * t313; + const double t1521 = t898 - t865 / 0.3e1 - t1492 / 0.3e1 + t1503; + const double t1522 = t311 * t1521; + const double t1527 = t906 * t628; + const double t1528 = t1527 * t313; + const double t1530 = t318 * t1521; + const double t1534 = t39 * t323 * t634; + const double t1536 = t301 * t621; + const double t1538 = t39 * t43 * t1536; + const double t1540 = t26 * t1501; + const double t1542 = t39 * t43 * t1540; + const double t1544 = -0.9494625e0 * t1517 + 0.1898925e1 * t1522 + t903 - 0.29896666666666666667e0 * t865 - 0.29896666666666666667e0 * t1492 + 0.8969e0 * t1503 + 0.15358125e0 * t1528 + 0.3071625e0 * t1530 + t916 - 0.16431333333333333333e0 * t918 - 0.16431333333333333333e0 * t1534 + 0.24647e0 * t1538 + 0.24647e0 * t1542; + const double t1545 = t1544 * t332; + const double t1547 = 0.1e1 * t310 * t1545; + const double t1548 = t638 * t936; + const double t1549 = t1548 * t331; + const double t1551 = 0.16081979498692535067e2 * t934 * t1549; + const double t1555 = t940 - 0.17123333333333333333e-1 * t865 - 0.17123333333333333333e-1 * t1492 + 0.5137e-1 * t1503; + const double t1558 = t643 * t342; + const double t1563 = t651 * t350; + const double t1577 = -0.17648625e1 * t1517 + 0.3529725e1 * t1522 + t958 - 0.516475e0 * t865 - 0.516475e0 * t1492 + 0.1549425e1 * t1503 + 0.31558125e0 * t1528 + 0.6311625e0 * t1530 + t963 - 0.20839e0 * t918 - 0.20839e0 * t1534 + 0.312585e0 * t1538 + 0.312585e0 * t1542; + const double t1578 = t1577 * t351; + const double t1581 = t650 * t975; + const double t1582 = t1581 * t350; + const double t1588 = t979 - 0.92708333333333333333e-2 * t865 - 0.92708333333333333333e-2 * t1492 + 0.278125e-1 * t1503; + const double t1589 = t1588 * t89; + const double t1591 = t655 * t361; + const double t1596 = t663 * t369; + const double t1610 = -0.1294625e1 * t1517 + 0.258925e1 * t1522 + t997 - 0.301925e0 * t865 - 0.301925e0 * t1492 + 0.905775e0 * t1503 + 0.82524375e-1 * t1528 + 0.16504875e0 * t1530 + t1002 - 0.16557e0 * t918 - 0.16557e0 * t1534 + 0.248355e0 * t1538 + 0.248355e0 * t1542; + const double t1611 = t1610 * t370; + const double t1614 = t662 * t1014; + const double t1615 = t1614 * t369; + const double t1618 = -0.310907e-1 * t1555 * t76 + 0.1e1 * t1558 * t352 + 0.1e1 * t946 * t651 - 0.2e1 * t951 * t1563 + 0.1e1 * t343 * t1578 + 0.32163958997385070134e2 * t973 * t1582 + t1507 - t1510 - t1512 + t1515 - t1547 - t1551 - 0.19751673498613801407e-1 * t1589 + 0.5848223622634646207e0 * t1591 * t371 + 0.5848223622634646207e0 * t985 * t663 - 0.11696447245269292414e1 * t990 * t1596 + 0.5848223622634646207e0 * t362 * t1611 + 0.17315859105681463759e2 * t1012 * t1615; + const double t1622 = t65 * t655; + const double t1627 = t989 * t662; + const double t1628 = t1627 * t371; + const double t1632 = t361 * t1610 * t370; + const double t1635 = t1011 * t662; + const double t1636 = t1014 * t369; + const double t1637 = t1635 * t1636; + const double t1640 = -t1507 + t1510 + t1512 - t1515 + t1547 + t1551 + t65 * t1618 + 0.19751673498613801407e-1 * t65 * t1589 - 0.5848223622634646207e0 * t1622 * t380 - 0.5848223622634646207e0 * t1022 * t671 + 0.11696447245269292414e1 * t378 * t1628 - 0.5848223622634646207e0 * t378 * t1632 - 0.17315859105681463759e2 * t378 * t1637; + const double t1644 = piecewise_functor_3( t9, 0.0, t10 * t1640 / 0.2e1 + t1486 * t96 / 0.2e1 + t290 * t674 / 0.2e1 + t617 * t383 / 0.2e1 ); + const double t1645 = t1644 * tau_a; + const double t1647 = t1645 * t104 * t127; + const double t1650 = t679 * t121 * t127; + const double t1652 = t678 * t397; + const double t1653 = t1652 * sigma_aa; + const double t1654 = t1653 * t401; + const double t1656 = t679 * t408; + const double t1657 = t1656 * t414; + const double t1659 = piecewise_functor_3( t132, 0.0, -t1485 ); + const double t1665 = t17 * t294 * t688; + const double t1667 = t1106 * t683; + const double t1670 = t423 * t3; + const double t1674 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1667 * t417 + 0.2e1 / 0.3e1 * t1670 * t850 ); + const double t1676 = t17 * t21 * t1674; + const double t1678 = t1100 - 0.17808333333333333333e-1 * t1102 - 0.17808333333333333333e-1 * t1665 + 0.53425e-1 * t1676; + const double t1680 = 0.621814e-1 * t1678 * t155; + const double t1681 = t692 * t434; + const double t1683 = 0.1e1 * t1681 * t455; + const double t1685 = 0.1e1 * t1120 * t706; + const double t1686 = t706 * t453; + const double t1688 = 0.2e1 * t1125 * t1686; + const double t1689 = t1131 * t695; + const double t1690 = t1689 * t438; + const double t1694 = t1135 - t1102 / 0.3e1 - t1665 / 0.3e1 + t1676; + const double t1695 = t436 * t1694; + const double t1700 = t1143 * t695; + const double t1701 = t1700 * t438; + const double t1703 = t443 * t1694; + const double t1707 = t39 * t323 * t701; + const double t1709 = t426 * t688; + const double t1711 = t39 * t43 * t1709; + const double t1713 = t137 * t1674; + const double t1715 = t39 * t43 * t1713; + const double t1717 = -0.9494625e0 * t1690 + 0.1898925e1 * t1695 + t1140 - 0.29896666666666666667e0 * t1102 - 0.29896666666666666667e0 * t1665 + 0.8969e0 * t1676 + 0.15358125e0 * t1701 + 0.3071625e0 * t1703 + t1150 - 0.16431333333333333333e0 * t1152 - 0.16431333333333333333e0 * t1707 + 0.24647e0 * t1711 + 0.24647e0 * t1715; + const double t1718 = t1717 * t454; + const double t1720 = 0.1e1 * t435 * t1718; + const double t1721 = t705 * t1170; + const double t1722 = t1721 * t453; + const double t1724 = 0.16081979498692535067e2 * t1168 * t1722; + const double t1728 = t1174 - 0.17123333333333333333e-1 * t1102 - 0.17123333333333333333e-1 * t1665 + 0.5137e-1 * t1676; + const double t1731 = t710 * t464; + const double t1736 = t718 * t472; + const double t1750 = -0.17648625e1 * t1690 + 0.3529725e1 * t1695 + t1192 - 0.516475e0 * t1102 - 0.516475e0 * t1665 + 0.1549425e1 * t1676 + 0.31558125e0 * t1701 + 0.6311625e0 * t1703 + t1197 - 0.20839e0 * t1152 - 0.20839e0 * t1707 + 0.312585e0 * t1711 + 0.312585e0 * t1715; + const double t1751 = t1750 * t473; + const double t1754 = t717 * t1209; + const double t1755 = t1754 * t472; + const double t1761 = t1213 - 0.92708333333333333333e-2 * t1102 - 0.92708333333333333333e-2 * t1665 + 0.278125e-1 * t1676; + const double t1762 = t1761 * t181; + const double t1764 = t722 * t483; + const double t1769 = t730 * t491; + const double t1783 = -0.1294625e1 * t1690 + 0.258925e1 * t1695 + t1231 - 0.301925e0 * t1102 - 0.301925e0 * t1665 + 0.905775e0 * t1676 + 0.82524375e-1 * t1701 + 0.16504875e0 * t1703 + t1236 - 0.16557e0 * t1152 - 0.16557e0 * t1707 + 0.248355e0 * t1711 + 0.248355e0 * t1715; + const double t1784 = t1783 * t492; + const double t1787 = t729 * t1248; + const double t1788 = t1787 * t491; + const double t1791 = -0.310907e-1 * t1728 * t168 + 0.1e1 * t1731 * t474 + 0.1e1 * t1180 * t718 - 0.2e1 * t1185 * t1736 + 0.1e1 * t465 * t1751 + 0.32163958997385070134e2 * t1207 * t1755 + t1680 - t1683 - t1685 + t1688 - t1720 - t1724 - 0.19751673498613801407e-1 * t1762 + 0.5848223622634646207e0 * t1764 * t493 + 0.5848223622634646207e0 * t1219 * t730 - 0.11696447245269292414e1 * t1224 * t1769 + 0.5848223622634646207e0 * t484 * t1784 + 0.17315859105681463759e2 * t1246 * t1788; + const double t1795 = t65 * t722; + const double t1800 = t1223 * t729; + const double t1801 = t1800 * t493; + const double t1805 = t483 * t1783 * t492; + const double t1808 = t1245 * t729; + const double t1809 = t1248 * t491; + const double t1810 = t1808 * t1809; + const double t1813 = -t1680 + t1683 + t1685 - t1688 + t1720 + t1724 + t65 * t1791 + 0.19751673498613801407e-1 * t65 * t1762 - 0.5848223622634646207e0 * t1795 * t502 - 0.5848223622634646207e0 * t1256 * t738 + 0.11696447245269292414e1 * t500 * t1801 - 0.5848223622634646207e0 * t500 * t1805 - 0.17315859105681463759e2 * t500 * t1810; + const double t1817 = piecewise_functor_3( t133, 0.0, t134 * t1813 / 0.2e1 + t1659 * t188 / 0.2e1 + t418 * t741 / 0.2e1 + t684 * t505 / 0.2e1 ); + const double t1818 = t1817 * tau_b; + const double t1820 = t1818 * t196 * t214; + const double t1823 = t510 * t208 * t214; + const double t1825 = t509 * t755; + const double t1826 = t1825 * sigma_bb; + const double t1827 = t1826 * t758; + const double t1829 = t510 * t765; + const double t1830 = t1829 * t771; + const double t1832 = t781 * t262; + const double t1833 = t1832 * t602; + const double t1836 = t1322 * t616; + const double t1839 = t24 * t3; + const double t1843 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1836 * t289 + 0.8e1 / 0.3e1 * t1839 * t850 ); + const double t1844 = t1330 * t683; + const double t1847 = t135 * t3; + const double t1851 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1844 * t417 - 0.8e1 / 0.3e1 * t1847 * t850 ); + const double t1853 = ( t1843 + t1851 ) * t64; + const double t1856 = t542 * t782; + const double t1858 = t547 * t782; + const double t1860 = -0.5848223622634646207e0 * t1833 - t1817 + t1283 - t1644 - 0.5848223622634646207e0 * t1285 - t1313 + t1320 + 0.19751673498613801407e-1 * t1853 * t272 + t1345 - t1348 - t1354 + t1440 + 0.4e1 * t1856 - 0.4e1 * t1858; + const double t1861 = t1853 * t274; + const double t1863 = t781 * t590; + const double t1864 = t241 * t1863; + const double t1866 = t781 * t11; + const double t1867 = t1866 * t597; + const double t1871 = t241 * t1861 + t1864 - t1445 - 0.18311447306006545054e-3 * t1449 - t1390 + t1454 - t1397 + t1407 + t1415 - 0.18311447306006545054e-3 * t1867 + t1458 - 0.4e1 * t1460 - t1463 - 0.4e1 * t1464; + const double t1872 = t1860 + t1871; + const double t1873 = t1872 * t285; + const double t1874 = t786 * t608; + const double t1875 = t1874 * t611; + const double t1877 = t1469 * t789; + const double t1879 = t1474 * t1475; + const double t1880 = sigma_bb * t755; + const double t1881 = sigma_aa * t397; + const double t1882 = t1880 * t1881; + const double t1883 = t1879 * t1882; + const double t1885 = 0.5e1 / 0.9e1 * t1647 - 0.25e2 / 0.27e2 * t1650 + 0.5e1 / 0.72e2 * t1654 + 0.8e2 / 0.27e2 * t1657 + 0.5e1 / 0.9e1 * t1820 - 0.25e2 / 0.27e2 * t1823 + 0.5e1 / 0.72e2 * t1827 + 0.8e2 / 0.27e2 * t1830 + t1873 + 0.8e1 / 0.3e1 * t1875 + 0.8e1 / 0.3e1 * t1877 + 0.128e3 / 0.9e1 * t1883; + const double t1895 = 0.2e1 * t287 + 0.2e1 * t851; + const double t1896 = piecewise_functor_3( t8, 0.0, t1895 ); + const double t1901 = t616 * t616; + const double t1907 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t869 * t1901 - t298 * t1895 / 0.3e1 ); + const double t1909 = t17 * t21 * t1907; + const double t1911 = t863 - 0.35616666666666666666e-1 * t1492 + 0.53425e-1 * t1909; + const double t1913 = 0.621814e-1 * t1911 * t52; + const double t1915 = 0.2e1 * t1508 * t639; + const double t1916 = t638 * t638; + const double t1917 = t1916 * t332; + const double t1919 = 0.2e1 * t888 * t1917; + const double t1920 = t628 * t628; + const double t1921 = t894 * t1920; + const double t1924 = t898 - 0.2e1 / 0.3e1 * t1492 + t1909; + const double t1925 = t311 * t1924; + const double t1929 = t906 * t1920; + const double t1931 = t318 * t1924; + const double t1934 = t621 * t621; + const double t1936 = t39 * t43 * t1934; + const double t1938 = t26 * t1907; + const double t1940 = t39 * t43 * t1938; + const double t1942 = -0.9494625e0 * t1921 + 0.1898925e1 * t1925 + t903 - 0.59793333333333333334e0 * t1492 + 0.8969e0 * t1909 + 0.15358125e0 * t1929 + 0.3071625e0 * t1931 + t916 - 0.32862666666666666666e0 * t1534 + 0.24647e0 * t1936 + 0.24647e0 * t1940; + const double t1943 = t1942 * t332; + const double t1945 = 0.1e1 * t310 * t1943; + const double t1946 = t1916 * t936; + const double t1948 = 0.16081979498692535067e2 * t934 * t1946; + const double t1951 = t940 - 0.34246666666666666666e-1 * t1492 + 0.5137e-1 * t1909; + const double t1956 = t650 * t650; + const double t1957 = t1956 * t351; + const double t1969 = -0.17648625e1 * t1921 + 0.3529725e1 * t1925 + t958 - 0.103295e1 * t1492 + 0.1549425e1 * t1909 + 0.31558125e0 * t1929 + 0.6311625e0 * t1931 + t963 - 0.41678e0 * t1534 + 0.312585e0 * t1936 + 0.312585e0 * t1940; + const double t1970 = t1969 * t351; + const double t1973 = t1956 * t975; + const double t1978 = t979 - 0.18541666666666666667e-1 * t1492 + 0.278125e-1 * t1909; + const double t1979 = t1978 * t89; + const double t1983 = t662 * t662; + const double t1984 = t1983 * t370; + const double t1996 = -0.1294625e1 * t1921 + 0.258925e1 * t1925 + t997 - 0.60385e0 * t1492 + 0.905775e0 * t1909 + 0.82524375e-1 * t1929 + 0.16504875e0 * t1931 + t1002 - 0.33114e0 * t1534 + 0.248355e0 * t1936 + 0.248355e0 * t1940; + const double t1997 = t1996 * t370; + const double t2000 = t1983 * t1014; + const double t2003 = -0.310907e-1 * t1951 * t76 + 0.2e1 * t1558 * t651 - 0.2e1 * t951 * t1957 + 0.1e1 * t343 * t1970 + 0.32163958997385070134e2 * t973 * t1973 + t1913 - t1915 + t1919 - t1945 - t1948 - 0.19751673498613801407e-1 * t1979 + 0.11696447245269292414e1 * t1591 * t663 - 0.11696447245269292414e1 * t990 * t1984 + 0.5848223622634646207e0 * t362 * t1997 + 0.17315859105681463759e2 * t1012 * t2000; + const double t2010 = t989 * t1983 * t370; + const double t2014 = t361 * t1996 * t370; + const double t2017 = t1011 * t1983; + const double t2018 = t2017 * t1014; + const double t2021 = -t1913 + t1915 - t1919 + t1945 + t1948 + t65 * t2003 + 0.19751673498613801407e-1 * t65 * t1979 - 0.11696447245269292414e1 * t1622 * t671 + 0.11696447245269292414e1 * t378 * t2010 - 0.5848223622634646207e0 * t378 * t2014 - 0.17315859105681463759e2 * t378 * t2018; + const double t2025 = piecewise_functor_3( t9, 0.0, t1896 * t96 / 0.2e1 + t617 * t674 + t10 * t2021 / 0.2e1 ); + const double t2026 = t2025 * tau_a; + const double t2028 = t2026 * t104 * t127; + const double t2029 = 0.5e1 / 0.9e1 * t2028; + const double t2030 = -t1895; + const double t2031 = piecewise_functor_3( t132, 0.0, t2030 ); + const double t2036 = t683 * t683; + const double t2042 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1106 * t2036 - t423 * t2030 / 0.3e1 ); + const double t2044 = t17 * t21 * t2042; + const double t2046 = t1100 - 0.35616666666666666666e-1 * t1665 + 0.53425e-1 * t2044; + const double t2048 = 0.621814e-1 * t2046 * t155; + const double t2050 = 0.2e1 * t1681 * t706; + const double t2051 = t705 * t705; + const double t2052 = t2051 * t454; + const double t2054 = 0.2e1 * t1125 * t2052; + const double t2055 = t695 * t695; + const double t2056 = t1131 * t2055; + const double t2059 = t1135 - 0.2e1 / 0.3e1 * t1665 + t2044; + const double t2060 = t436 * t2059; + const double t2064 = t1143 * t2055; + const double t2066 = t443 * t2059; + const double t2069 = t688 * t688; + const double t2071 = t39 * t43 * t2069; + const double t2073 = t137 * t2042; + const double t2075 = t39 * t43 * t2073; + const double t2077 = -0.9494625e0 * t2056 + 0.1898925e1 * t2060 + t1140 - 0.59793333333333333334e0 * t1665 + 0.8969e0 * t2044 + 0.15358125e0 * t2064 + 0.3071625e0 * t2066 + t1150 - 0.32862666666666666666e0 * t1707 + 0.24647e0 * t2071 + 0.24647e0 * t2075; + const double t2078 = t2077 * t454; + const double t2080 = 0.1e1 * t435 * t2078; + const double t2081 = t2051 * t1170; + const double t2083 = 0.16081979498692535067e2 * t1168 * t2081; + const double t2086 = t1174 - 0.34246666666666666666e-1 * t1665 + 0.5137e-1 * t2044; + const double t2091 = t717 * t717; + const double t2092 = t2091 * t473; + const double t2104 = -0.17648625e1 * t2056 + 0.3529725e1 * t2060 + t1192 - 0.103295e1 * t1665 + 0.1549425e1 * t2044 + 0.31558125e0 * t2064 + 0.6311625e0 * t2066 + t1197 - 0.41678e0 * t1707 + 0.312585e0 * t2071 + 0.312585e0 * t2075; + const double t2105 = t2104 * t473; + const double t2108 = t2091 * t1209; + const double t2113 = t1213 - 0.18541666666666666667e-1 * t1665 + 0.278125e-1 * t2044; + const double t2114 = t2113 * t181; + const double t2118 = t729 * t729; + const double t2119 = t2118 * t492; + const double t2131 = -0.1294625e1 * t2056 + 0.258925e1 * t2060 + t1231 - 0.60385e0 * t1665 + 0.905775e0 * t2044 + 0.82524375e-1 * t2064 + 0.16504875e0 * t2066 + t1236 - 0.33114e0 * t1707 + 0.248355e0 * t2071 + 0.248355e0 * t2075; + const double t2132 = t2131 * t492; + const double t2135 = t2118 * t1248; + const double t2138 = -0.310907e-1 * t2086 * t168 + 0.2e1 * t1731 * t718 - 0.2e1 * t1185 * t2092 + 0.1e1 * t465 * t2105 + 0.32163958997385070134e2 * t1207 * t2108 + t2048 - t2050 + t2054 - t2080 - t2083 - 0.19751673498613801407e-1 * t2114 + 0.11696447245269292414e1 * t1764 * t730 - 0.11696447245269292414e1 * t1224 * t2119 + 0.5848223622634646207e0 * t484 * t2132 + 0.17315859105681463759e2 * t1246 * t2135; + const double t2145 = t1223 * t2118 * t492; + const double t2149 = t483 * t2131 * t492; + const double t2152 = t1245 * t2118; + const double t2153 = t2152 * t1248; + const double t2156 = -t2048 + t2050 - t2054 + t2080 + t2083 + t65 * t2138 + 0.19751673498613801407e-1 * t65 * t2114 - 0.11696447245269292414e1 * t1795 * t738 + 0.11696447245269292414e1 * t500 * t2145 - 0.5848223622634646207e0 * t500 * t2149 - 0.17315859105681463759e2 * t500 * t2153; + const double t2160 = piecewise_functor_3( t133, 0.0, t2031 * t188 / 0.2e1 + t684 * t741 + t134 * t2156 / 0.2e1 ); + const double t2161 = t2160 * tau_b; + const double t2163 = t2161 * t196 * t214; + const double t2164 = 0.5e1 / 0.9e1 * t2163; + const double t2166 = t746 * t208 * t214; + const double t2167 = 0.5e2 / 0.27e2 * t2166; + const double t2168 = t745 * t755; + const double t2169 = t2168 * sigma_bb; + const double t2170 = t2169 * t758; + const double t2171 = 0.5e1 / 0.36e2 * t2170; + const double t2172 = t746 * t765; + const double t2173 = t2172 * t771; + const double t2174 = 0.16e3 / 0.27e2 * t2173; + const double t2176 = t192 * t755 * t214; + const double t2177 = 0.2e3 / 0.81e2 * t2176; + const double t2179 = 0.1e1 / t194 / t761; + const double t2180 = t191 * t2179; + const double t2181 = t2180 * sigma_bb; + const double t2182 = t2181 * t758; + const double t2183 = 0.1e2 / 0.27e2 * t2182; + const double t2184 = t761 * t206; + const double t2186 = 0.1e1 / t193 / t2184; + const double t2187 = t2186 * t203; + const double t2188 = t192 * t2187; + const double t2189 = t2188 * t771; + const double t2190 = 0.56e3 / 0.27e2 * t2189; + const double t2191 = t761 * t753; + const double t2193 = 0.1e1 / t193 / t2191; + const double t2194 = t191 * t2193; + const double t2195 = sigma_bb * sigma_bb; + const double t2197 = t2194 * t2195 * t814; + const double t2198 = 0.2e2 / 0.27e2 * t2197; + const double t2199 = t761 * t761; + const double t2200 = t2199 * rho_b; + const double t2201 = 0.1e1 / t2200; + const double t2202 = t2201 * t203; + const double t2203 = t192 * t2202; + const double t2204 = t211 * t211; + const double t2205 = 0.1e1 / t2204; + const double t2206 = t2205 * t1087; + const double t2208 = t400 * t2206 * t2195; + const double t2209 = t2203 * t2208; + const double t2210 = 0.64e3 / 0.27e2 * t2209; + const double t2217 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1322 * t1901 + 0.4e1 / 0.3e1 * t24 * t1895 ); + const double t2223 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1330 * t2036 + 0.4e1 / 0.3e1 * t135 * t2030 ); + const double t2225 = ( t2217 + t2223 ) * t64; + const double t2228 = t2225 * t274; + const double t2230 = -0.11696447245269292414e1 * t1833 - t2160 + 0.19751673498613801407e-1 * t2225 * t272 + t1283 - t1313 + t1320 + t241 * t2228 + t1345 + t1348 + t1351 - t1354 + t1440; + const double t2235 = -0.8e1 * t1856 - 0.8e1 * t1858 + 0.2e1 * t1864 - t2025 - t1445 - t1447 - t1390 + t1454 - t1397 + t1407 + t1415 - 0.36622894612013090108e-3 * t1867 - t1463; + const double t2236 = t2230 + t2235; + const double t2237 = t2236 * t285; + const double t2238 = t1874 * t789; + const double t2239 = 0.16e2 / 0.3e1 * t2238; + const double t2240 = t1475 * t2195; + const double t2241 = t2240 * t2193; + const double t2242 = t1474 * t2241; + const double t2243 = 0.128e3 / 0.9e1 * t2242; + const double t2244 = t788 * t2179; + const double t2245 = t609 * t2244; + const double t2246 = 0.88e2 / 0.9e1 * t2245; + const double t2247 = t2029 + t2164 - t2167 + t2171 + t2174 + t2177 - t2183 - t2190 + t2198 + t2210 + t2237 + t2239 + t2243 - t2246; + const double t2249 = t387 * t121; + const double t2250 = t2249 * t401; + const double t2251 = 0.5e1 / 0.72e2 * t2250; + const double t2252 = t398 * t401; + const double t2253 = 0.5e1 / 0.27e2 * t2252; + const double t2254 = t99 * t1067; + const double t2255 = t2254 * t112; + const double t2256 = t117 * t411; + const double t2257 = t2256 * t118; + const double t2258 = t2255 * t2257; + const double t2259 = 0.55e2 / 0.108e3 * t2258; + const double t2261 = t388 * t799 * t801; + const double t2262 = 0.1e2 / 0.9e1 * t2261; + const double t2263 = t409 * t801; + const double t2264 = 0.13e3 / 0.27e2 * t2263; + const double t2265 = 0.1e1 / t1080; + const double t2266 = t2265 * t111; + const double t2267 = t100 * t2266; + const double t2269 = t400 * t1088 * sigma_aa; + const double t2270 = t2267 * t2269; + const double t2271 = 0.8e2 / 0.9e1 * t2270; + const double t2272 = t1469 * t804; + const double t2273 = t1475 * t1067; + const double t2274 = t2273 * sigma_aa; + const double t2275 = t1474 * t2274; + const double t2276 = 0.16e2 / 0.3e1 * t2275; + const double t2277 = copp * t397; + const double t2278 = t609 * t2277; + const double t2279 = 0.8e1 / 0.3e1 * t2278; + const double t2282 = t509 * t208; + const double t2283 = t2282 * t758; + const double t2284 = 0.5e1 / 0.72e2 * t2283; + const double t2286 = t510 * t812 * t814; + const double t2287 = 0.1e2 / 0.9e1 * t2286; + const double t2288 = t1469 * t817; + const double t2289 = t208 * sigma_aa; + const double t2290 = t2289 * t397; + const double t2291 = t1879 * t2290; + const double t2292 = 0.16e2 / 0.3e1 * t2291; + const double t2295 = t678 * t121; + const double t2296 = t2295 * t401; + const double t2297 = 0.5e1 / 0.72e2 * t2296; + const double t2299 = t679 * t799 * t801; + const double t2300 = 0.1e2 / 0.9e1 * t2299; + const double t2301 = t1874 * t804; + const double t2302 = t121 * sigma_bb; + const double t2303 = t2302 * t755; + const double t2304 = t1879 * t2303; + const double t2305 = 0.16e2 / 0.3e1 * t2304; + const double t2308 = t745 * t208; + const double t2309 = t2308 * t758; + const double t2310 = 0.5e1 / 0.72e2 * t2309; + const double t2311 = t756 * t758; + const double t2312 = 0.5e1 / 0.27e2 * t2311; + const double t2313 = t191 * t2186; + const double t2314 = t2313 * t112; + const double t2315 = t117 * t768; + const double t2316 = t2315 * t205; + const double t2317 = t2314 * t2316; + const double t2318 = 0.55e2 / 0.108e3 * t2317; + const double t2320 = t746 * t812 * t814; + const double t2321 = 0.1e2 / 0.9e1 * t2320; + const double t2322 = t766 * t814; + const double t2323 = 0.13e3 / 0.27e2 * t2322; + const double t2324 = 0.1e1 / t2199; + const double t2325 = t2324 * t203; + const double t2326 = t192 * t2325; + const double t2328 = t400 * t2206 * sigma_bb; + const double t2329 = t2326 * t2328; + const double t2330 = 0.8e2 / 0.9e1 * t2329; + const double t2331 = t1874 * t817; + const double t2332 = t1475 * t2186; + const double t2333 = t2332 * sigma_bb; + const double t2334 = t1474 * t2333; + const double t2335 = 0.16e2 / 0.3e1 * t2334; + const double t2336 = copp * t755; + const double t2337 = t609 * t2336; + const double t2338 = 0.8e1 / 0.3e1 * t2337; + const double t2343 = t387 * t104 * t111 * t401; + const double t2344 = 0.5e1 / 0.9e1 * t2343; + const double t2346 = t794 * t111 * t401; + const double t2347 = 0.25e2 / 0.27e2 * t2346; + const double t2349 = t108 * t112 * t126; + const double t2350 = t399 * t2349; + const double t2351 = 0.25e2 / 0.216e3 * t2350; + const double t2352 = t99 * t407; + const double t2354 = t2352 * t113 * t2257; + const double t2355 = 0.8e2 / 0.27e2 * t2354; + const double t2356 = t387 * t108; + const double t2358 = t2356 * t121 * t827; + const double t2359 = 0.5e1 / 0.72e2 * t2358; + const double t2360 = t1067 * t1076; + const double t2362 = t824 * t2360 * t801; + const double t2363 = 0.1e2 / 0.27e2 * t2362; + const double t2368 = t509 * t196 * t203 * t758; + const double t2369 = 0.5e1 / 0.9e1 * t2368; + const double t2370 = t509 * t200; + const double t2372 = t2370 * t208 * t838; + const double t2373 = 0.5e1 / 0.72e2 * t2372; + const double t2378 = t678 * t104 * t111 * t401; + const double t2379 = 0.5e1 / 0.9e1 * t2378; + const double t2380 = t678 * t108; + const double t2382 = t2380 * t121 * t827; + const double t2383 = 0.5e1 / 0.72e2 * t2382; + const double t2388 = t745 * t196 * t203 * t758; + const double t2389 = 0.5e1 / 0.9e1 * t2388; + const double t2391 = t807 * t203 * t758; + const double t2392 = 0.25e2 / 0.27e2 * t2391; + const double t2394 = t200 * t112 * t213; + const double t2395 = t757 * t2394; + const double t2396 = 0.25e2 / 0.216e3 * t2395; + const double t2397 = t191 * t764; + const double t2399 = t2397 * t204 * t2316; + const double t2400 = 0.8e2 / 0.27e2 * t2399; + const double t2401 = t745 * t200; + const double t2403 = t2401 * t208 * t838; + const double t2404 = 0.5e1 / 0.72e2 * t2403; + const double t2405 = t2186 * t2195; + const double t2407 = t835 * t2405 * t814; + const double t2408 = 0.1e2 / 0.27e2 * t2407; + const double t2412 = t2256 * css; + const double t2414 = 0.5e1 / 0.18e2 * t2352 * t112 * t2412; + const double t2415 = 0.1e1 / t1072; + const double t2416 = t2415 * t111; + const double t2418 = t400 * t1088; + const double t2420 = 0.1e2 / 0.3e1 * t100 * t2416 * t2418; + const double t2421 = t1475 * t407; + const double t2423 = 0.2e1 * t1474 * t2421; + const double t2425 = t4 * t279; + const double t2426 = t2425 * t1473; + const double t2427 = t1475 * t208; + const double t2428 = t2427 * t121; + const double t2431 = t2315 * css; + const double t2433 = 0.5e1 / 0.18e2 * t2397 * t112 * t2431; + const double t2434 = 0.1e1 / t2191; + const double t2435 = t2434 * t203; + const double t2437 = t400 * t2206; + const double t2439 = 0.1e2 / 0.3e1 * t192 * t2435 * t2437; + const double t2440 = t1475 * t764; + const double t2442 = 0.2e1 * t1474 * t2440; + const double t2447 = 0.1e2 / 0.9e1 * t99 * t798 * t111 * t801; + const double t2448 = t407 * sigma_aa; + const double t2451 = 0.5e1 / 0.36e2 * t824 * t2448 * t801; + const double t2456 = 0.1e2 / 0.9e1 * t191 * t811 * t203 * t814; + const double t2457 = t764 * sigma_bb; + const double t2460 = 0.5e1 / 0.36e2 * t835 * t2457 * t814; + + + v2rho2_aa = 0.1e2 / 0.9e1 * t390 - 0.5e2 / 0.27e2 * t393 + 0.5e1 / 0.36e2 * t402 + 0.16e3 / 0.27e2 * t415 + 0.1e2 / 0.9e1 * t512 + 0.2e1 * t606 + 0.16e2 / 0.3e1 * t612 + t4 * t1483; + v2rho2_ab = t4 * t1885 + t391 - t394 + t403 + t416 + t513 + t606 + t613 + t682 + t749 - t752 + t760 + t773 + t787 + t791; + v2rho2_bb = 0.1e2 / 0.9e1 * t681 + 0.1e2 / 0.9e1 * t748 - 0.5e2 / 0.27e2 * t751 + 0.5e1 / 0.36e2 * t759 + 0.16e3 / 0.27e2 * t772 + 0.2e1 * t787 + 0.16e2 / 0.3e1 * t790 + t4 * t2247; + v2rhosigma_a_aa = -t796 - t803 - t805 + t4 * ( -t2251 + t2253 - t2259 - t2262 + t2264 - t2271 - t2272 - t2276 + t2279 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = -t809 - t816 - t818 + t4 * ( -t2284 - t2287 - t2288 - t2292 ); + v2rhosigma_b_aa = -t796 - t803 - t805 + t4 * ( -t2297 - t2300 - t2301 - t2305 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = -t809 - t816 - t818 + t4 * ( -t2310 + t2312 - t2318 - t2321 + t2323 - t2330 - t2331 - t2335 + t2338 ); + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t823 + t829 + t4 * ( t2344 - t2347 - t2351 + t2355 + t2359 + t2363 ); + v2rhotau_a_b = t834 + t840 + t4 * ( t2369 + t2373 ); + v2rhotau_b_a = t823 + t829 + t4 * ( t2379 + t2383 ); + v2rhotau_b_b = t834 + t840 + t4 * ( t2389 - t2392 - t2396 + t2400 + t2404 + t2408 ); + v2sigma2_aa_aa = t4 * ( t2414 + t2420 + t2423 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.2e1 * t2426 * t2428; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t2433 + t2439 + t2442 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( -t2447 - t2451 ); + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = t4 * ( -t2456 - t2460 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_ab = 0.e0; + v2tau2_bb = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t112 = constants::m_cbrt_6; + constexpr double t115 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t116 = t115 * t115; + constexpr double t117 = 0.1e1 / t116; + constexpr double t400 = t112 * t117; + constexpr double t523 = t13 * t16; + constexpr double t1087 = css * css; + constexpr double t1290 = t37 * t15; + constexpr double t1475 = copp * copp; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t100 = t99 * tau_a; + const double t101 = safe_math::cbrt( rho_a ); + const double t102 = t101 * t101; + const double t104 = 0.1e1 / t102 / rho_a; + const double t108 = 0.1e1 / tau_a; + const double t111 = 0.1e1 - sigma_aa / rho_a * t108 / 0.8e1; + const double t113 = t111 * t112; + const double t118 = css * sigma_aa; + const double t119 = rho_a * rho_a; + const double t121 = 0.1e1 / t102 / t119; + const double t123 = t118 * t121 + 0.1e1; + const double t124 = t123 * t123; + const double t125 = 0.1e1 / t124; + const double t126 = t117 * t125; + const double t127 = t113 * t126; + const double t129 = 0.5e1 / 0.9e1 * t100 * t104 * t127; + const double t131 = 0.1e1 - t6; + const double t132 = t131 <= zeta_tol; + const double t133 = rho_b <= dens_tol || t132; + const double t134 = piecewise_functor_3( t132, zeta_tol, t131 ); + const double t135 = safe_math::cbrt( t131 ); + const double t137 = piecewise_functor_3( t132, t23, 0.1e1 / t135 ); + const double t139 = t17 * t21 * t137; + const double t141 = 0.1e1 + 0.53425e-1 * t139; + const double t142 = safe_math::sqrt( t139 ); + const double t145 = pow_3_2( t139 ); + const double t147 = t137 * t137; + const double t149 = t39 * t43 * t147; + const double t151 = 0.379785e1 * t142 + 0.8969e0 * t139 + 0.204775e0 * t145 + 0.123235e0 * t149; + const double t154 = 0.1e1 + 0.16081979498692535067e2 / t151; + const double t155 = safe_math::log( t154 ); + const double t157 = 0.621814e-1 * t141 * t155; + const double t159 = 0.1e1 + 0.5137e-1 * t139; + const double t164 = 0.705945e1 * t142 + 0.1549425e1 * t139 + 0.420775e0 * t145 + 0.1562925e0 * t149; + const double t167 = 0.1e1 + 0.32163958997385070134e2 / t164; + const double t168 = safe_math::log( t167 ); + const double t172 = 0.1e1 + 0.278125e-1 * t139; + const double t177 = 0.51785e1 * t142 + 0.905775e0 * t139 + 0.1100325e0 * t145 + 0.1241775e0 * t149; + const double t180 = 0.1e1 + 0.29608749977793437516e2 / t177; + const double t181 = safe_math::log( t180 ); + const double t182 = t172 * t181; + const double t188 = -t157 + t65 * ( -0.310907e-1 * t159 * t168 + t157 - 0.19751673498613801407e-1 * t182 ) + 0.19751673498613801407e-1 * t65 * t182; + const double t191 = piecewise_functor_3( t133, 0.0, t134 * t188 / 0.2e1 ); + const double t192 = t191 * tau_b; + const double t193 = safe_math::cbrt( rho_b ); + const double t194 = t193 * t193; + const double t196 = 0.1e1 / t194 / rho_b; + const double t200 = 0.1e1 / tau_b; + const double t203 = 0.1e1 - sigma_bb / rho_b * t200 / 0.8e1; + const double t204 = t203 * t112; + const double t205 = css * sigma_bb; + const double t206 = rho_b * rho_b; + const double t208 = 0.1e1 / t194 / t206; + const double t210 = t205 * t208 + 0.1e1; + const double t211 = t210 * t210; + const double t212 = 0.1e1 / t211; + const double t213 = t117 * t212; + const double t214 = t204 * t213; + const double t216 = 0.5e1 / 0.9e1 * t192 * t196 * t214; + const double t218 = t14 * t16 * t19; + const double t220 = 0.1e1 + 0.53425e-1 * t218; + const double t221 = safe_math::sqrt( t218 ); + const double t224 = pow_3_2( t218 ); + const double t227 = t38 * t15 * t41; + const double t229 = 0.379785e1 * t221 + 0.8969e0 * t218 + 0.204775e0 * t224 + 0.123235e0 * t227; + const double t232 = 0.1e1 + 0.16081979498692535067e2 / t229; + const double t233 = safe_math::log( t232 ); + const double t235 = 0.621814e-1 * t220 * t233; + const double t236 = t3 * t3; + const double t237 = t236 * t236; + const double t238 = t4 * t4; + const double t239 = t238 * t238; + const double t240 = 0.1e1 / t239; + const double t241 = t237 * t240; + const double t242 = t24 * t7; + const double t243 = piecewise_functor_3( t8, t56, t242 ); + const double t244 = t135 * t131; + const double t245 = piecewise_functor_3( t132, t56, t244 ); + const double t246 = t243 + t245 - 0.2e1; + const double t247 = t246 * t64; + const double t249 = 0.1e1 + 0.5137e-1 * t218; + const double t254 = 0.705945e1 * t221 + 0.1549425e1 * t218 + 0.420775e0 * t224 + 0.1562925e0 * t227; + const double t257 = 0.1e1 + 0.32163958997385070134e2 / t254; + const double t258 = safe_math::log( t257 ); + const double t262 = 0.1e1 + 0.278125e-1 * t218; + const double t267 = 0.51785e1 * t221 + 0.905775e0 * t218 + 0.1100325e0 * t224 + 0.1241775e0 * t227; + const double t270 = 0.1e1 + 0.29608749977793437516e2 / t267; + const double t271 = safe_math::log( t270 ); + const double t272 = t262 * t271; + const double t274 = -0.310907e-1 * t249 * t258 + t235 - 0.19751673498613801407e-1 * t272; + const double t275 = t247 * t274; + const double t279 = -t235 + t241 * t275 + 0.19751673498613801407e-1 * t247 * t272 - t99 - t191; + const double t284 = 0.1e1 + copp * ( sigma_aa * t121 + sigma_bb * t208 ); + const double t285 = 0.1e1 / t284; + const double t286 = t279 * t285; + const double t287 = 0.1e1 / t238; + const double t288 = t3 * t287; + const double t289 = t5 - t288; + const double t290 = piecewise_functor_3( t8, 0.0, t289 ); + const double t293 = 0.1e1 / t18 / t4; + const double t294 = t293 * t20; + const double t296 = t17 * t294 * t26; + const double t297 = 0.17808333333333333333e-1 * t296; + const double t298 = 0.1e1 / t242; + const double t301 = piecewise_functor_3( t8, 0.0, -t298 * t289 / 0.3e1 ); + const double t303 = t17 * t21 * t301; + const double t305 = -t297 + 0.53425e-1 * t303; + const double t307 = 0.621814e-1 * t305 * t52; + const double t308 = t48 * t48; + const double t309 = 0.1e1 / t308; + const double t310 = t30 * t309; + const double t311 = 0.1e1 / t31; + const double t312 = t296 / 0.3e1; + const double t313 = -t312 + t303; + const double t314 = t311 * t313; + const double t316 = 0.29896666666666666667e0 * t296; + const double t318 = safe_math::sqrt( t28 ); + const double t319 = t318 * t313; + const double t322 = 0.1e1 / t40 / t4; + const double t323 = t322 * t42; + const double t325 = t39 * t323 * t44; + const double t326 = 0.82156666666666666667e-1 * t325; + const double t327 = t26 * t301; + const double t329 = t39 * t43 * t327; + const double t331 = 0.1898925e1 * t314 - t316 + 0.8969e0 * t303 + 0.3071625e0 * t319 - t326 + 0.24647e0 * t329; + const double t332 = 0.1e1 / t51; + const double t333 = t331 * t332; + const double t335 = 0.1e1 * t310 * t333; + const double t336 = 0.17123333333333333333e-1 * t296; + const double t338 = -t336 + 0.5137e-1 * t303; + const double t341 = t72 * t72; + const double t342 = 0.1e1 / t341; + const double t343 = t67 * t342; + const double t345 = 0.516475e0 * t296; + const double t348 = 0.104195e0 * t325; + const double t350 = 0.3529725e1 * t314 - t345 + 0.1549425e1 * t303 + 0.6311625e0 * t319 - t348 + 0.312585e0 * t329; + const double t351 = 0.1e1 / t75; + const double t352 = t350 * t351; + const double t355 = 0.92708333333333333333e-2 * t296; + const double t357 = -t355 + 0.278125e-1 * t303; + const double t358 = t357 * t89; + const double t360 = t85 * t85; + const double t361 = 0.1e1 / t360; + const double t362 = t80 * t361; + const double t364 = 0.301925e0 * t296; + const double t367 = 0.82785e-1 * t325; + const double t369 = 0.258925e1 * t314 - t364 + 0.905775e0 * t303 + 0.16504875e0 * t319 - t367 + 0.248355e0 * t329; + const double t370 = 0.1e1 / t88; + const double t371 = t369 * t370; + const double t378 = t65 * t80; + const double t380 = t361 * t369 * t370; + const double t383 = -t307 + t335 + t65 * ( -0.310907e-1 * t338 * t76 + 0.1e1 * t343 * t352 + t307 - t335 - 0.19751673498613801407e-1 * t358 + 0.5848223622634646207e0 * t362 * t371 ) + 0.19751673498613801407e-1 * t65 * t358 - 0.5848223622634646207e0 * t378 * t380; + const double t387 = piecewise_functor_3( t9, 0.0, t10 * t383 / 0.2e1 + t290 * t96 / 0.2e1 ); + const double t388 = t387 * tau_a; + const double t390 = t388 * t104 * t127; + const double t391 = 0.5e1 / 0.9e1 * t390; + const double t393 = t100 * t121 * t127; + const double t394 = 0.25e2 / 0.27e2 * t393; + const double t395 = t119 * rho_a; + const double t397 = 0.1e1 / t102 / t395; + const double t398 = t99 * t397; + const double t399 = t398 * sigma_aa; + const double t401 = t400 * t125; + const double t402 = t399 * t401; + const double t403 = 0.5e1 / 0.72e2 * t402; + const double t404 = t119 * t119; + const double t405 = t404 * rho_a; + const double t407 = 0.1e1 / t101 / t405; + const double t408 = t407 * t111; + const double t409 = t100 * t408; + const double t411 = 0.1e1 / t124 / t123; + const double t412 = t411 * css; + const double t414 = t400 * t412 * sigma_aa; + const double t415 = t409 * t414; + const double t416 = 0.8e2 / 0.27e2 * t415; + const double t417 = -t289; + const double t418 = piecewise_functor_3( t132, 0.0, t417 ); + const double t421 = t17 * t294 * t137; + const double t422 = 0.17808333333333333333e-1 * t421; + const double t423 = 0.1e1 / t244; + const double t426 = piecewise_functor_3( t132, 0.0, -t423 * t417 / 0.3e1 ); + const double t428 = t17 * t21 * t426; + const double t430 = -t422 + 0.53425e-1 * t428; + const double t432 = 0.621814e-1 * t430 * t155; + const double t433 = t151 * t151; + const double t434 = 0.1e1 / t433; + const double t435 = t141 * t434; + const double t436 = 0.1e1 / t142; + const double t437 = t421 / 0.3e1; + const double t438 = -t437 + t428; + const double t439 = t436 * t438; + const double t441 = 0.29896666666666666667e0 * t421; + const double t443 = safe_math::sqrt( t139 ); + const double t444 = t443 * t438; + const double t447 = t39 * t323 * t147; + const double t448 = 0.82156666666666666667e-1 * t447; + const double t449 = t137 * t426; + const double t451 = t39 * t43 * t449; + const double t453 = 0.1898925e1 * t439 - t441 + 0.8969e0 * t428 + 0.3071625e0 * t444 - t448 + 0.24647e0 * t451; + const double t454 = 0.1e1 / t154; + const double t455 = t453 * t454; + const double t457 = 0.1e1 * t435 * t455; + const double t458 = 0.17123333333333333333e-1 * t421; + const double t460 = -t458 + 0.5137e-1 * t428; + const double t463 = t164 * t164; + const double t464 = 0.1e1 / t463; + const double t465 = t159 * t464; + const double t467 = 0.516475e0 * t421; + const double t470 = 0.104195e0 * t447; + const double t472 = 0.3529725e1 * t439 - t467 + 0.1549425e1 * t428 + 0.6311625e0 * t444 - t470 + 0.312585e0 * t451; + const double t473 = 0.1e1 / t167; + const double t474 = t472 * t473; + const double t477 = 0.92708333333333333333e-2 * t421; + const double t479 = -t477 + 0.278125e-1 * t428; + const double t480 = t479 * t181; + const double t482 = t177 * t177; + const double t483 = 0.1e1 / t482; + const double t484 = t172 * t483; + const double t486 = 0.301925e0 * t421; + const double t489 = 0.82785e-1 * t447; + const double t491 = 0.258925e1 * t439 - t486 + 0.905775e0 * t428 + 0.16504875e0 * t444 - t489 + 0.248355e0 * t451; + const double t492 = 0.1e1 / t180; + const double t493 = t491 * t492; + const double t500 = t65 * t172; + const double t502 = t483 * t491 * t492; + const double t505 = -t432 + t457 + t65 * ( -0.310907e-1 * t460 * t168 + 0.1e1 * t465 * t474 + t432 - t457 - 0.19751673498613801407e-1 * t480 + 0.5848223622634646207e0 * t484 * t493 ) + 0.19751673498613801407e-1 * t65 * t480 - 0.5848223622634646207e0 * t500 * t502; + const double t509 = piecewise_functor_3( t133, 0.0, t134 * t505 / 0.2e1 + t418 * t188 / 0.2e1 ); + const double t510 = t509 * tau_b; + const double t512 = t510 * t196 * t214; + const double t513 = 0.5e1 / 0.9e1 * t512; + const double t514 = t16 * t293; + const double t517 = 0.11073470983333333333e-2 * t14 * t514 * t233; + const double t518 = t229 * t229; + const double t519 = 0.1e1 / t518; + const double t520 = t220 * t519; + const double t522 = 0.1e1 / t221 * t11; + const double t524 = t523 * t293; + const double t525 = t522 * t524; + const double t527 = t14 * t514; + const double t529 = safe_math::sqrt( t218 ); + const double t530 = t529 * t11; + const double t531 = t530 * t524; + const double t534 = t38 * t15 * t322; + const double t536 = -0.632975e0 * t525 - 0.29896666666666666667e0 * t527 - 0.1023875e0 * t531 - 0.82156666666666666667e-1 * t534; + const double t537 = 0.1e1 / t232; + const double t538 = t536 * t537; + const double t540 = 0.1e1 * t520 * t538; + const double t541 = t236 * t3; + const double t542 = t541 * t240; + const double t544 = 0.4e1 * t542 * t275; + const double t545 = t239 * t4; + const double t546 = 0.1e1 / t545; + const double t547 = t237 * t546; + const double t549 = 0.4e1 * t547 * t275; + const double t552 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t289 ); + const double t555 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t135 * t417 ); + const double t557 = ( t552 + t555 ) * t64; + const double t558 = t557 * t274; + const double t563 = t254 * t254; + const double t564 = 0.1e1 / t563; + const double t565 = t249 * t564; + const double t570 = -0.1176575e1 * t525 - 0.516475e0 * t527 - 0.2103875e0 * t531 - 0.104195e0 * t534; + const double t571 = 0.1e1 / t257; + const double t572 = t570 * t571; + const double t578 = t267 * t267; + const double t579 = 0.1e1 / t578; + const double t580 = t262 * t579; + const double t585 = -0.86308333333333333334e0 * t525 - 0.301925e0 * t527 - 0.5501625e-1 * t531 - 0.82785e-1 * t534; + const double t586 = 0.1e1 / t270; + const double t587 = t585 * t586; + const double t590 = 0.53237641966666666666e-3 * t14 * t514 * t258 + 0.1e1 * t565 * t572 - t517 - t540 + 0.18311447306006545054e-3 * t14 * t514 * t271 + 0.5848223622634646207e0 * t580 * t587; + const double t591 = t247 * t590; + const double t592 = t241 * t591; + const double t595 = t247 * t11; + const double t597 = t523 * t293 * t271; + const double t599 = 0.18311447306006545054e-3 * t595 * t597; + const double t600 = t247 * t262; + const double t602 = t579 * t585 * t586; + const double t604 = 0.5848223622634646207e0 * t600 * t602; + const double t605 = t517 + t540 + t544 - t549 + t241 * t558 + t592 + 0.19751673498613801407e-1 * t557 * t272 - t599 - t604 - t387 - t509; + const double t606 = t605 * t285; + const double t607 = t284 * t284; + const double t608 = 0.1e1 / t607; + const double t609 = t279 * t608; + const double t610 = copp * sigma_aa; + const double t611 = t610 * t397; + const double t612 = t609 * t611; + const double t613 = 0.8e1 / 0.3e1 * t612; + const double t616 = -t5 - t288; + const double t617 = piecewise_functor_3( t8, 0.0, t616 ); + const double t621 = piecewise_functor_3( t8, 0.0, -t298 * t616 / 0.3e1 ); + const double t623 = t17 * t21 * t621; + const double t625 = -t297 + 0.53425e-1 * t623; + const double t627 = 0.621814e-1 * t625 * t52; + const double t628 = -t312 + t623; + const double t629 = t311 * t628; + const double t632 = t318 * t628; + const double t634 = t26 * t621; + const double t636 = t39 * t43 * t634; + const double t638 = 0.1898925e1 * t629 - t316 + 0.8969e0 * t623 + 0.3071625e0 * t632 - t326 + 0.24647e0 * t636; + const double t639 = t638 * t332; + const double t641 = 0.1e1 * t310 * t639; + const double t643 = -t336 + 0.5137e-1 * t623; + const double t650 = 0.3529725e1 * t629 - t345 + 0.1549425e1 * t623 + 0.6311625e0 * t632 - t348 + 0.312585e0 * t636; + const double t651 = t650 * t351; + const double t655 = -t355 + 0.278125e-1 * t623; + const double t656 = t655 * t89; + const double t662 = 0.258925e1 * t629 - t364 + 0.905775e0 * t623 + 0.16504875e0 * t632 - t367 + 0.248355e0 * t636; + const double t663 = t662 * t370; + const double t671 = t361 * t662 * t370; + const double t674 = -t627 + t641 + t65 * ( -0.310907e-1 * t643 * t76 + 0.1e1 * t343 * t651 + t627 - t641 - 0.19751673498613801407e-1 * t656 + 0.5848223622634646207e0 * t362 * t663 ) + 0.19751673498613801407e-1 * t65 * t656 - 0.5848223622634646207e0 * t378 * t671; + const double t678 = piecewise_functor_3( t9, 0.0, t10 * t674 / 0.2e1 + t617 * t96 / 0.2e1 ); + const double t679 = t678 * tau_a; + const double t681 = t679 * t104 * t127; + const double t682 = 0.5e1 / 0.9e1 * t681; + const double t683 = -t616; + const double t684 = piecewise_functor_3( t132, 0.0, t683 ); + const double t688 = piecewise_functor_3( t132, 0.0, -t423 * t683 / 0.3e1 ); + const double t690 = t17 * t21 * t688; + const double t692 = -t422 + 0.53425e-1 * t690; + const double t694 = 0.621814e-1 * t692 * t155; + const double t695 = -t437 + t690; + const double t696 = t436 * t695; + const double t699 = t443 * t695; + const double t701 = t137 * t688; + const double t703 = t39 * t43 * t701; + const double t705 = 0.1898925e1 * t696 - t441 + 0.8969e0 * t690 + 0.3071625e0 * t699 - t448 + 0.24647e0 * t703; + const double t706 = t705 * t454; + const double t708 = 0.1e1 * t435 * t706; + const double t710 = -t458 + 0.5137e-1 * t690; + const double t717 = 0.3529725e1 * t696 - t467 + 0.1549425e1 * t690 + 0.6311625e0 * t699 - t470 + 0.312585e0 * t703; + const double t718 = t717 * t473; + const double t722 = -t477 + 0.278125e-1 * t690; + const double t723 = t722 * t181; + const double t729 = 0.258925e1 * t696 - t486 + 0.905775e0 * t690 + 0.16504875e0 * t699 - t489 + 0.248355e0 * t703; + const double t730 = t729 * t492; + const double t738 = t483 * t729 * t492; + const double t741 = -t694 + t708 + t65 * ( -0.310907e-1 * t710 * t168 + 0.1e1 * t465 * t718 + t694 - t708 - 0.19751673498613801407e-1 * t723 + 0.5848223622634646207e0 * t484 * t730 ) + 0.19751673498613801407e-1 * t65 * t723 - 0.5848223622634646207e0 * t500 * t738; + const double t745 = piecewise_functor_3( t133, 0.0, t134 * t741 / 0.2e1 + t684 * t188 / 0.2e1 ); + const double t746 = t745 * tau_b; + const double t748 = t746 * t196 * t214; + const double t749 = 0.5e1 / 0.9e1 * t748; + const double t751 = t192 * t208 * t214; + const double t752 = 0.25e2 / 0.27e2 * t751; + const double t753 = t206 * rho_b; + const double t755 = 0.1e1 / t194 / t753; + const double t756 = t191 * t755; + const double t757 = t756 * sigma_bb; + const double t758 = t400 * t212; + const double t759 = t757 * t758; + const double t760 = 0.5e1 / 0.72e2 * t759; + const double t761 = t206 * t206; + const double t762 = t761 * rho_b; + const double t764 = 0.1e1 / t193 / t762; + const double t765 = t764 * t203; + const double t766 = t192 * t765; + const double t768 = 0.1e1 / t211 / t210; + const double t769 = t768 * css; + const double t771 = t400 * t769 * sigma_bb; + const double t772 = t766 * t771; + const double t773 = 0.8e2 / 0.27e2 * t772; + const double t776 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t616 ); + const double t779 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t135 * t683 ); + const double t781 = ( t776 + t779 ) * t64; + const double t782 = t781 * t274; + const double t786 = t517 + t540 - t544 - t549 + t241 * t782 + t592 + 0.19751673498613801407e-1 * t781 * t272 - t599 - t604 - t678 - t745; + const double t787 = t786 * t285; + const double t788 = copp * sigma_bb; + const double t789 = t788 * t755; + const double t790 = t609 * t789; + const double t791 = 0.8e1 / 0.3e1 * t790; + const double t794 = t99 * t121; + const double t796 = 0.5e1 / 0.72e2 * t794 * t401; + const double t798 = 0.1e1 / t101 / t404; + const double t799 = t798 * t111; + const double t801 = t400 * t412; + const double t803 = 0.1e2 / 0.9e1 * t100 * t799 * t801; + const double t804 = copp * t121; + const double t805 = t609 * t804; + const double t807 = t191 * t208; + const double t809 = 0.5e1 / 0.72e2 * t807 * t758; + const double t811 = 0.1e1 / t193 / t761; + const double t812 = t811 * t203; + const double t814 = t400 * t769; + const double t816 = 0.1e2 / 0.9e1 * t192 * t812 * t814; + const double t817 = copp * t208; + const double t818 = t609 * t817; + const double t823 = 0.5e1 / 0.9e1 * t99 * t104 * t111 * t401; + const double t824 = t99 * t108; + const double t827 = sigma_aa * t112 * t126; + const double t829 = 0.5e1 / 0.72e2 * t824 * t121 * t827; + const double t834 = 0.5e1 / 0.9e1 * t191 * t196 * t203 * t758; + const double t835 = t191 * t200; + const double t838 = sigma_bb * t112 * t213; + const double t840 = 0.5e1 / 0.72e2 * t835 * t208 * t838; + const double t849 = t238 * t4; + const double t850 = 0.1e1 / t849; + const double t851 = t3 * t850; + const double t853 = -0.2e1 * t287 + 0.2e1 * t851; + const double t854 = piecewise_functor_3( t8, 0.0, t853 ); + const double t859 = 0.1e1 / t18 / t238; + const double t860 = t859 * t20; + const double t862 = t17 * t860 * t26; + const double t863 = 0.23744444444444444444e-1 * t862; + const double t865 = t17 * t294 * t301; + const double t867 = t7 * t7; + const double t869 = 0.1e1 / t24 / t867; + const double t870 = t289 * t289; + const double t876 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t869 * t870 - t298 * t853 / 0.3e1 ); + const double t878 = t17 * t21 * t876; + const double t880 = t863 - 0.35616666666666666666e-1 * t865 + 0.53425e-1 * t878; + const double t882 = 0.621814e-1 * t880 * t52; + const double t883 = t305 * t309; + const double t885 = 0.2e1 * t883 * t333; + const double t886 = t308 * t48; + const double t887 = 0.1e1 / t886; + const double t888 = t30 * t887; + const double t889 = t331 * t331; + const double t890 = t889 * t332; + const double t892 = 0.2e1 * t888 * t890; + const double t894 = 0.1e1 / t31 / t28; + const double t895 = t313 * t313; + const double t896 = t894 * t895; + const double t898 = 0.4e1 / 0.9e1 * t862; + const double t900 = t898 - 0.2e1 / 0.3e1 * t865 + t878; + const double t901 = t311 * t900; + const double t903 = 0.39862222222222222223e0 * t862; + const double t906 = 0.1e1/safe_math::sqrt( t28 ); + const double t907 = t906 * t895; + const double t909 = t318 * t900; + const double t912 = 0.1e1 / t40 / t238; + const double t913 = t912 * t42; + const double t915 = t39 * t913 * t44; + const double t916 = 0.13692777777777777778e0 * t915; + const double t918 = t39 * t323 * t327; + const double t920 = t301 * t301; + const double t922 = t39 * t43 * t920; + const double t924 = t26 * t876; + const double t926 = t39 * t43 * t924; + const double t928 = -0.9494625e0 * t896 + 0.1898925e1 * t901 + t903 - 0.59793333333333333334e0 * t865 + 0.8969e0 * t878 + 0.15358125e0 * t907 + 0.3071625e0 * t909 + t916 - 0.32862666666666666666e0 * t918 + 0.24647e0 * t922 + 0.24647e0 * t926; + const double t929 = t928 * t332; + const double t931 = 0.1e1 * t310 * t929; + const double t932 = t308 * t308; + const double t933 = 0.1e1 / t932; + const double t934 = t30 * t933; + const double t935 = t51 * t51; + const double t936 = 0.1e1 / t935; + const double t937 = t889 * t936; + const double t939 = 0.16081979498692535067e2 * t934 * t937; + const double t940 = 0.22831111111111111111e-1 * t862; + const double t943 = t940 - 0.34246666666666666666e-1 * t865 + 0.5137e-1 * t878; + const double t946 = t338 * t342; + const double t949 = t341 * t72; + const double t950 = 0.1e1 / t949; + const double t951 = t67 * t950; + const double t952 = t350 * t350; + const double t953 = t952 * t351; + const double t958 = 0.68863333333333333333e0 * t862; + const double t963 = 0.17365833333333333333e0 * t915; + const double t967 = -0.17648625e1 * t896 + 0.3529725e1 * t901 + t958 - 0.103295e1 * t865 + 0.1549425e1 * t878 + 0.31558125e0 * t907 + 0.6311625e0 * t909 + t963 - 0.41678e0 * t918 + 0.312585e0 * t922 + 0.312585e0 * t926; + const double t968 = t967 * t351; + const double t971 = t341 * t341; + const double t972 = 0.1e1 / t971; + const double t973 = t67 * t972; + const double t974 = t75 * t75; + const double t975 = 0.1e1 / t974; + const double t976 = t952 * t975; + const double t979 = 0.12361111111111111111e-1 * t862; + const double t982 = t979 - 0.18541666666666666667e-1 * t865 + 0.278125e-1 * t878; + const double t983 = t982 * t89; + const double t985 = t357 * t361; + const double t988 = t360 * t85; + const double t989 = 0.1e1 / t988; + const double t990 = t80 * t989; + const double t991 = t369 * t369; + const double t992 = t991 * t370; + const double t997 = 0.40256666666666666667e0 * t862; + const double t1002 = 0.137975e0 * t915; + const double t1006 = -0.1294625e1 * t896 + 0.258925e1 * t901 + t997 - 0.60385e0 * t865 + 0.905775e0 * t878 + 0.82524375e-1 * t907 + 0.16504875e0 * t909 + t1002 - 0.33114e0 * t918 + 0.248355e0 * t922 + 0.248355e0 * t926; + const double t1007 = t1006 * t370; + const double t1010 = t360 * t360; + const double t1011 = 0.1e1 / t1010; + const double t1012 = t80 * t1011; + const double t1013 = t88 * t88; + const double t1014 = 0.1e1 / t1013; + const double t1015 = t991 * t1014; + const double t1018 = -0.310907e-1 * t943 * t76 + 0.2e1 * t946 * t352 - 0.2e1 * t951 * t953 + 0.1e1 * t343 * t968 + 0.32163958997385070134e2 * t973 * t976 + t882 - t885 + t892 - t931 - t939 - 0.19751673498613801407e-1 * t983 + 0.11696447245269292414e1 * t985 * t371 - 0.11696447245269292414e1 * t990 * t992 + 0.5848223622634646207e0 * t362 * t1007 + 0.17315859105681463759e2 * t1012 * t1015; + const double t1022 = t65 * t357; + const double t1026 = t989 * t991 * t370; + const double t1030 = t361 * t1006 * t370; + const double t1033 = t1011 * t991; + const double t1034 = t1033 * t1014; + const double t1037 = -t882 + t885 - t892 + t931 + t939 + t65 * t1018 + 0.19751673498613801407e-1 * t65 * t983 - 0.11696447245269292414e1 * t1022 * t380 + 0.11696447245269292414e1 * t378 * t1026 - 0.5848223622634646207e0 * t378 * t1030 - 0.17315859105681463759e2 * t378 * t1034; + const double t1041 = piecewise_functor_3( t9, 0.0, t854 * t96 / 0.2e1 + t290 * t383 + t10 * t1037 / 0.2e1 ); + const double t1042 = t1041 * tau_a; + const double t1044 = t1042 * t104 * t127; + const double t1045 = 0.5e1 / 0.9e1 * t1044; + const double t1047 = t388 * t121 * t127; + const double t1048 = 0.5e2 / 0.27e2 * t1047; + const double t1049 = t387 * t397; + const double t1050 = t1049 * sigma_aa; + const double t1051 = t1050 * t401; + const double t1052 = 0.5e1 / 0.36e2 * t1051; + const double t1053 = t388 * t408; + const double t1054 = t1053 * t414; + const double t1055 = 0.16e3 / 0.27e2 * t1054; + const double t1057 = t100 * t397 * t127; + const double t1058 = 0.2e3 / 0.81e2 * t1057; + const double t1060 = 0.1e1 / t102 / t404; + const double t1061 = t99 * t1060; + const double t1062 = t1061 * sigma_aa; + const double t1063 = t1062 * t401; + const double t1064 = 0.1e2 / 0.27e2 * t1063; + const double t1065 = t404 * t119; + const double t1067 = 0.1e1 / t101 / t1065; + const double t1068 = t1067 * t111; + const double t1069 = t100 * t1068; + const double t1070 = t1069 * t414; + const double t1071 = 0.56e3 / 0.27e2 * t1070; + const double t1072 = t404 * t395; + const double t1074 = 0.1e1 / t101 / t1072; + const double t1075 = t99 * t1074; + const double t1076 = sigma_aa * sigma_aa; + const double t1078 = t1075 * t1076 * t801; + const double t1079 = 0.2e2 / 0.27e2 * t1078; + const double t1080 = t404 * t404; + const double t1081 = t1080 * rho_a; + const double t1082 = 0.1e1 / t1081; + const double t1083 = t1082 * t111; + const double t1084 = t100 * t1083; + const double t1085 = t124 * t124; + const double t1086 = 0.1e1 / t1085; + const double t1088 = t1086 * t1087; + const double t1090 = t400 * t1088 * t1076; + const double t1091 = t1084 * t1090; + const double t1092 = 0.64e3 / 0.27e2 * t1091; + const double t1093 = -t853; + const double t1094 = piecewise_functor_3( t132, 0.0, t1093 ); + const double t1099 = t17 * t860 * t137; + const double t1100 = 0.23744444444444444444e-1 * t1099; + const double t1102 = t17 * t294 * t426; + const double t1104 = t131 * t131; + const double t1106 = 0.1e1 / t135 / t1104; + const double t1107 = t417 * t417; + const double t1113 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1106 * t1107 - t423 * t1093 / 0.3e1 ); + const double t1115 = t17 * t21 * t1113; + const double t1117 = t1100 - 0.35616666666666666666e-1 * t1102 + 0.53425e-1 * t1115; + const double t1119 = 0.621814e-1 * t1117 * t155; + const double t1120 = t430 * t434; + const double t1122 = 0.2e1 * t1120 * t455; + const double t1123 = t433 * t151; + const double t1124 = 0.1e1 / t1123; + const double t1125 = t141 * t1124; + const double t1126 = t453 * t453; + const double t1127 = t1126 * t454; + const double t1129 = 0.2e1 * t1125 * t1127; + const double t1131 = 0.1e1 / t142 / t139; + const double t1132 = t438 * t438; + const double t1133 = t1131 * t1132; + const double t1135 = 0.4e1 / 0.9e1 * t1099; + const double t1137 = t1135 - 0.2e1 / 0.3e1 * t1102 + t1115; + const double t1138 = t436 * t1137; + const double t1140 = 0.39862222222222222223e0 * t1099; + const double t1143 = 0.1e1/safe_math::sqrt( t139 ); + const double t1144 = t1143 * t1132; + const double t1146 = t443 * t1137; + const double t1149 = t39 * t913 * t147; + const double t1150 = 0.13692777777777777778e0 * t1149; + const double t1152 = t39 * t323 * t449; + const double t1154 = t426 * t426; + const double t1156 = t39 * t43 * t1154; + const double t1158 = t137 * t1113; + const double t1160 = t39 * t43 * t1158; + const double t1162 = -0.9494625e0 * t1133 + 0.1898925e1 * t1138 + t1140 - 0.59793333333333333334e0 * t1102 + 0.8969e0 * t1115 + 0.15358125e0 * t1144 + 0.3071625e0 * t1146 + t1150 - 0.32862666666666666666e0 * t1152 + 0.24647e0 * t1156 + 0.24647e0 * t1160; + const double t1163 = t1162 * t454; + const double t1165 = 0.1e1 * t435 * t1163; + const double t1166 = t433 * t433; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t141 * t1167; + const double t1169 = t154 * t154; + const double t1170 = 0.1e1 / t1169; + const double t1171 = t1126 * t1170; + const double t1173 = 0.16081979498692535067e2 * t1168 * t1171; + const double t1174 = 0.22831111111111111111e-1 * t1099; + const double t1177 = t1174 - 0.34246666666666666666e-1 * t1102 + 0.5137e-1 * t1115; + const double t1180 = t460 * t464; + const double t1183 = t463 * t164; + const double t1184 = 0.1e1 / t1183; + const double t1185 = t159 * t1184; + const double t1186 = t472 * t472; + const double t1187 = t1186 * t473; + const double t1192 = 0.68863333333333333333e0 * t1099; + const double t1197 = 0.17365833333333333333e0 * t1149; + const double t1201 = -0.17648625e1 * t1133 + 0.3529725e1 * t1138 + t1192 - 0.103295e1 * t1102 + 0.1549425e1 * t1115 + 0.31558125e0 * t1144 + 0.6311625e0 * t1146 + t1197 - 0.41678e0 * t1152 + 0.312585e0 * t1156 + 0.312585e0 * t1160; + const double t1202 = t1201 * t473; + const double t1205 = t463 * t463; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t159 * t1206; + const double t1208 = t167 * t167; + const double t1209 = 0.1e1 / t1208; + const double t1210 = t1186 * t1209; + const double t1213 = 0.12361111111111111111e-1 * t1099; + const double t1216 = t1213 - 0.18541666666666666667e-1 * t1102 + 0.278125e-1 * t1115; + const double t1217 = t1216 * t181; + const double t1219 = t479 * t483; + const double t1222 = t482 * t177; + const double t1223 = 0.1e1 / t1222; + const double t1224 = t172 * t1223; + const double t1225 = t491 * t491; + const double t1226 = t1225 * t492; + const double t1231 = 0.40256666666666666667e0 * t1099; + const double t1236 = 0.137975e0 * t1149; + const double t1240 = -0.1294625e1 * t1133 + 0.258925e1 * t1138 + t1231 - 0.60385e0 * t1102 + 0.905775e0 * t1115 + 0.82524375e-1 * t1144 + 0.16504875e0 * t1146 + t1236 - 0.33114e0 * t1152 + 0.248355e0 * t1156 + 0.248355e0 * t1160; + const double t1241 = t1240 * t492; + const double t1244 = t482 * t482; + const double t1245 = 0.1e1 / t1244; + const double t1246 = t172 * t1245; + const double t1247 = t180 * t180; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1225 * t1248; + const double t1252 = -0.310907e-1 * t1177 * t168 + 0.2e1 * t1180 * t474 - 0.2e1 * t1185 * t1187 + 0.1e1 * t465 * t1202 + 0.32163958997385070134e2 * t1207 * t1210 + t1119 - t1122 + t1129 - t1165 - t1173 - 0.19751673498613801407e-1 * t1217 + 0.11696447245269292414e1 * t1219 * t493 - 0.11696447245269292414e1 * t1224 * t1226 + 0.5848223622634646207e0 * t484 * t1241 + 0.17315859105681463759e2 * t1246 * t1249; + const double t1256 = t65 * t479; + const double t1260 = t1223 * t1225 * t492; + const double t1264 = t483 * t1240 * t492; + const double t1267 = t1245 * t1225; + const double t1268 = t1267 * t1248; + const double t1271 = -t1119 + t1122 - t1129 + t1165 + t1173 + t65 * t1252 + 0.19751673498613801407e-1 * t65 * t1217 - 0.11696447245269292414e1 * t1256 * t502 + 0.11696447245269292414e1 * t500 * t1260 - 0.5848223622634646207e0 * t500 * t1264 - 0.17315859105681463759e2 * t500 * t1268; + const double t1275 = piecewise_functor_3( t133, 0.0, t1094 * t188 / 0.2e1 + t418 * t505 + t134 * t1271 / 0.2e1 ); + const double t1276 = t1275 * tau_b; + const double t1278 = t1276 * t196 * t214; + const double t1279 = 0.5e1 / 0.9e1 * t1278; + const double t1280 = t247 * t14; + const double t1281 = t514 * t602; + const double t1283 = 0.10843581300301739842e-1 * t1280 * t1281; + const double t1284 = t557 * t262; + const double t1285 = t1284 * t602; + const double t1289 = 0.1e1 / t221 / t218 * t36; + const double t1291 = t1290 * t912; + const double t1292 = t1289 * t1291; + const double t1294 = t523 * t859; + const double t1295 = t522 * t1294; + const double t1297 = t16 * t859; + const double t1298 = t14 * t1297; + const double t1300 = 0.1e1/safe_math::sqrt( t218 ); + const double t1301 = t1300 * t36; + const double t1302 = t1301 * t1291; + const double t1304 = t530 * t1294; + const double t1307 = t38 * t15 * t912; + const double t1309 = -0.57538888888888888889e0 * t1292 + 0.11507777777777777778e1 * t1295 + 0.40256666666666666667e0 * t1298 + 0.366775e-1 * t1302 + 0.73355e-1 * t1304 + 0.137975e0 * t1307; + const double t1311 = t579 * t1309 * t586; + const double t1313 = 0.5848223622634646207e0 * t600 * t1311; + const double t1314 = t578 * t267; + const double t1315 = 0.1e1 / t1314; + const double t1316 = t585 * t585; + const double t1318 = t1315 * t1316 * t586; + const double t1320 = 0.11696447245269292414e1 * t600 * t1318; + const double t1321 = t24 * t24; + const double t1322 = 0.1e1 / t1321; + const double t1328 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1322 * t870 + 0.4e1 / 0.3e1 * t24 * t853 ); + const double t1329 = t135 * t135; + const double t1330 = 0.1e1 / t1329; + const double t1336 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1330 * t1107 + 0.4e1 / 0.3e1 * t135 * t1093 ); + const double t1338 = ( t1328 + t1336 ) * t64; + const double t1342 = 0.1e1 / t239 / t238; + const double t1343 = t237 * t1342; + const double t1345 = 0.2e2 * t1343 * t275; + const double t1346 = t236 * t240; + const double t1348 = 0.12e2 * t1346 * t275; + const double t1349 = t541 * t546; + const double t1351 = 0.32e2 * t1349 * t275; + const double t1354 = 0.14764627977777777777e-2 * t14 * t1297 * t233; + const double t1358 = t293 * t564; + const double t1362 = t563 * t254; + const double t1363 = 0.1e1 / t1362; + const double t1364 = t249 * t1363; + const double t1365 = t570 * t570; + const double t1366 = t1365 * t571; + const double t1375 = -0.78438333333333333333e0 * t1292 + 0.15687666666666666667e1 * t1295 + 0.68863333333333333333e0 * t1298 + 0.14025833333333333333e0 * t1302 + 0.28051666666666666667e0 * t1304 + 0.17365833333333333333e0 * t1307; + const double t1376 = t1375 * t571; + const double t1379 = t563 * t563; + const double t1380 = 0.1e1 / t1379; + const double t1381 = t249 * t1380; + const double t1382 = t257 * t257; + const double t1383 = 0.1e1 / t1382; + const double t1384 = t1365 * t1383; + const double t1387 = t293 * t519; + const double t1390 = 0.35616666666666666666e-1 * t17 * t1387 * t538; + const double t1391 = t518 * t229; + const double t1392 = 0.1e1 / t1391; + const double t1393 = t220 * t1392; + const double t1394 = t536 * t536; + const double t1395 = t1394 * t537; + const double t1397 = 0.2e1 * t1393 * t1395; + const double t1404 = -0.42198333333333333333e0 * t1292 + 0.84396666666666666666e0 * t1295 + 0.39862222222222222223e0 * t1298 + 0.68258333333333333333e-1 * t1302 + 0.13651666666666666667e0 * t1304 + 0.13692777777777777778e0 * t1307; + const double t1405 = t1404 * t537; + const double t1407 = 0.1e1 * t520 * t1405; + const double t1408 = t518 * t518; + const double t1409 = 0.1e1 / t1408; + const double t1410 = t220 * t1409; + const double t1411 = t232 * t232; + const double t1412 = 0.1e1 / t1411; + const double t1413 = t1394 * t1412; + const double t1415 = 0.16081979498692535067e2 * t1410 * t1413; + const double t1419 = t293 * t579; + const double t1423 = t262 * t1315; + const double t1424 = t1316 * t586; + const double t1427 = t1309 * t586; + const double t1430 = t578 * t578; + const double t1431 = 0.1e1 / t1430; + const double t1432 = t262 * t1431; + const double t1433 = t270 * t270; + const double t1434 = 0.1e1 / t1433; + const double t1435 = t1316 * t1434; + const double t1438 = -0.70983522622222222221e-3 * t14 * t1297 * t258 - 0.34246666666666666666e-1 * t17 * t1358 * t572 - 0.2e1 * t1364 * t1366 + 0.1e1 * t565 * t1376 + 0.32163958997385070134e2 * t1381 * t1384 + t1354 + t1390 + t1397 - t1407 - t1415 - 0.24415263074675393405e-3 * t14 * t1297 * t271 - 0.10843581300301739842e-1 * t17 * t1419 * t587 - 0.11696447245269292414e1 * t1423 * t1424 + 0.5848223622634646207e0 * t580 * t1427 + 0.17315859105681463759e2 * t1432 * t1435; + const double t1439 = t247 * t1438; + const double t1440 = t241 * t1439; + const double t1441 = -t1041 + t1283 - 0.11696447245269292414e1 * t1285 - t1313 + t1320 + 0.19751673498613801407e-1 * t1338 * t272 - t1275 + t1345 + t1348 - t1351 - t1354 + t1440; + const double t1442 = t1431 * t1316; + const double t1443 = t1442 * t1434; + const double t1445 = 0.17315859105681463759e2 * t600 * t1443; + const double t1447 = 0.8e1 * t542 * t591; + const double t1448 = t557 * t11; + const double t1449 = t1448 * t597; + const double t1452 = t523 * t859 * t271; + const double t1454 = 0.24415263074675393405e-3 * t595 * t1452; + const double t1455 = t1338 * t274; + const double t1457 = t557 * t590; + const double t1458 = t241 * t1457; + const double t1460 = t547 * t558; + const double t1463 = 0.8e1 * t547 * t591; + const double t1464 = t542 * t558; + const double t1466 = -t1445 + t1447 - 0.36622894612013090108e-3 * t1449 - t1390 + t1454 - t1397 + t1407 + t1415 + t241 * t1455 + 0.2e1 * t1458 - 0.8e1 * t1460 - t1463 + 0.8e1 * t1464; + const double t1467 = t1441 + t1466; + const double t1468 = t1467 * t285; + const double t1469 = t605 * t608; + const double t1470 = t1469 * t611; + const double t1471 = 0.16e2 / 0.3e1 * t1470; + const double t1473 = 0.1e1 / t607 / t284; + const double t1474 = t279 * t1473; + const double t1476 = t1475 * t1076; + const double t1477 = t1476 * t1074; + const double t1478 = t1474 * t1477; + const double t1479 = 0.128e3 / 0.9e1 * t1478; + const double t1480 = t610 * t1060; + const double t1481 = t609 * t1480; + const double t1482 = 0.88e2 / 0.9e1 * t1481; + const double t1483 = t1045 - t1048 + t1052 + t1055 + t1058 - t1064 - t1071 + t1079 + t1092 + t1279 + t1468 + t1471 + t1479 - t1482; + const double t1485 = 0.2e1 * t851; + const double t1486 = piecewise_functor_3( t8, 0.0, t1485 ); + const double t1492 = t17 * t294 * t621; + const double t1494 = t869 * t616; + const double t1497 = t298 * t3; + const double t1501 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1494 * t289 - 0.2e1 / 0.3e1 * t1497 * t850 ); + const double t1503 = t17 * t21 * t1501; + const double t1505 = t863 - 0.17808333333333333333e-1 * t865 - 0.17808333333333333333e-1 * t1492 + 0.53425e-1 * t1503; + const double t1507 = 0.621814e-1 * t1505 * t52; + const double t1508 = t625 * t309; + const double t1510 = 0.1e1 * t1508 * t333; + const double t1512 = 0.1e1 * t883 * t639; + const double t1513 = t639 * t331; + const double t1515 = 0.2e1 * t888 * t1513; + const double t1516 = t894 * t628; + const double t1517 = t1516 * t313; + const double t1521 = t898 - t865 / 0.3e1 - t1492 / 0.3e1 + t1503; + const double t1522 = t311 * t1521; + const double t1527 = t906 * t628; + const double t1528 = t1527 * t313; + const double t1530 = t318 * t1521; + const double t1534 = t39 * t323 * t634; + const double t1536 = t301 * t621; + const double t1538 = t39 * t43 * t1536; + const double t1540 = t26 * t1501; + const double t1542 = t39 * t43 * t1540; + const double t1544 = -0.9494625e0 * t1517 + 0.1898925e1 * t1522 + t903 - 0.29896666666666666667e0 * t865 - 0.29896666666666666667e0 * t1492 + 0.8969e0 * t1503 + 0.15358125e0 * t1528 + 0.3071625e0 * t1530 + t916 - 0.16431333333333333333e0 * t918 - 0.16431333333333333333e0 * t1534 + 0.24647e0 * t1538 + 0.24647e0 * t1542; + const double t1545 = t1544 * t332; + const double t1547 = 0.1e1 * t310 * t1545; + const double t1548 = t638 * t936; + const double t1549 = t1548 * t331; + const double t1551 = 0.16081979498692535067e2 * t934 * t1549; + const double t1555 = t940 - 0.17123333333333333333e-1 * t865 - 0.17123333333333333333e-1 * t1492 + 0.5137e-1 * t1503; + const double t1558 = t643 * t342; + const double t1563 = t651 * t350; + const double t1577 = -0.17648625e1 * t1517 + 0.3529725e1 * t1522 + t958 - 0.516475e0 * t865 - 0.516475e0 * t1492 + 0.1549425e1 * t1503 + 0.31558125e0 * t1528 + 0.6311625e0 * t1530 + t963 - 0.20839e0 * t918 - 0.20839e0 * t1534 + 0.312585e0 * t1538 + 0.312585e0 * t1542; + const double t1578 = t1577 * t351; + const double t1581 = t650 * t975; + const double t1582 = t1581 * t350; + const double t1588 = t979 - 0.92708333333333333333e-2 * t865 - 0.92708333333333333333e-2 * t1492 + 0.278125e-1 * t1503; + const double t1589 = t1588 * t89; + const double t1591 = t655 * t361; + const double t1596 = t663 * t369; + const double t1610 = -0.1294625e1 * t1517 + 0.258925e1 * t1522 + t997 - 0.301925e0 * t865 - 0.301925e0 * t1492 + 0.905775e0 * t1503 + 0.82524375e-1 * t1528 + 0.16504875e0 * t1530 + t1002 - 0.16557e0 * t918 - 0.16557e0 * t1534 + 0.248355e0 * t1538 + 0.248355e0 * t1542; + const double t1611 = t1610 * t370; + const double t1614 = t662 * t1014; + const double t1615 = t1614 * t369; + const double t1618 = -0.310907e-1 * t1555 * t76 + 0.1e1 * t1558 * t352 + 0.1e1 * t946 * t651 - 0.2e1 * t951 * t1563 + 0.1e1 * t343 * t1578 + 0.32163958997385070134e2 * t973 * t1582 + t1507 - t1510 - t1512 + t1515 - t1547 - t1551 - 0.19751673498613801407e-1 * t1589 + 0.5848223622634646207e0 * t1591 * t371 + 0.5848223622634646207e0 * t985 * t663 - 0.11696447245269292414e1 * t990 * t1596 + 0.5848223622634646207e0 * t362 * t1611 + 0.17315859105681463759e2 * t1012 * t1615; + const double t1622 = t65 * t655; + const double t1627 = t989 * t662; + const double t1628 = t1627 * t371; + const double t1632 = t361 * t1610 * t370; + const double t1635 = t1011 * t662; + const double t1636 = t1014 * t369; + const double t1637 = t1635 * t1636; + const double t1640 = -t1507 + t1510 + t1512 - t1515 + t1547 + t1551 + t65 * t1618 + 0.19751673498613801407e-1 * t65 * t1589 - 0.5848223622634646207e0 * t1622 * t380 - 0.5848223622634646207e0 * t1022 * t671 + 0.11696447245269292414e1 * t378 * t1628 - 0.5848223622634646207e0 * t378 * t1632 - 0.17315859105681463759e2 * t378 * t1637; + const double t1644 = piecewise_functor_3( t9, 0.0, t10 * t1640 / 0.2e1 + t1486 * t96 / 0.2e1 + t290 * t674 / 0.2e1 + t617 * t383 / 0.2e1 ); + const double t1645 = t1644 * tau_a; + const double t1647 = t1645 * t104 * t127; + const double t1650 = t679 * t121 * t127; + const double t1652 = t678 * t397; + const double t1653 = t1652 * sigma_aa; + const double t1654 = t1653 * t401; + const double t1656 = t679 * t408; + const double t1657 = t1656 * t414; + const double t1659 = piecewise_functor_3( t132, 0.0, -t1485 ); + const double t1665 = t17 * t294 * t688; + const double t1667 = t1106 * t683; + const double t1670 = t423 * t3; + const double t1674 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1667 * t417 + 0.2e1 / 0.3e1 * t1670 * t850 ); + const double t1676 = t17 * t21 * t1674; + const double t1678 = t1100 - 0.17808333333333333333e-1 * t1102 - 0.17808333333333333333e-1 * t1665 + 0.53425e-1 * t1676; + const double t1680 = 0.621814e-1 * t1678 * t155; + const double t1681 = t692 * t434; + const double t1683 = 0.1e1 * t1681 * t455; + const double t1685 = 0.1e1 * t1120 * t706; + const double t1686 = t706 * t453; + const double t1688 = 0.2e1 * t1125 * t1686; + const double t1689 = t1131 * t695; + const double t1690 = t1689 * t438; + const double t1694 = t1135 - t1102 / 0.3e1 - t1665 / 0.3e1 + t1676; + const double t1695 = t436 * t1694; + const double t1700 = t1143 * t695; + const double t1701 = t1700 * t438; + const double t1703 = t443 * t1694; + const double t1707 = t39 * t323 * t701; + const double t1709 = t426 * t688; + const double t1711 = t39 * t43 * t1709; + const double t1713 = t137 * t1674; + const double t1715 = t39 * t43 * t1713; + const double t1717 = -0.9494625e0 * t1690 + 0.1898925e1 * t1695 + t1140 - 0.29896666666666666667e0 * t1102 - 0.29896666666666666667e0 * t1665 + 0.8969e0 * t1676 + 0.15358125e0 * t1701 + 0.3071625e0 * t1703 + t1150 - 0.16431333333333333333e0 * t1152 - 0.16431333333333333333e0 * t1707 + 0.24647e0 * t1711 + 0.24647e0 * t1715; + const double t1718 = t1717 * t454; + const double t1720 = 0.1e1 * t435 * t1718; + const double t1721 = t705 * t1170; + const double t1722 = t1721 * t453; + const double t1724 = 0.16081979498692535067e2 * t1168 * t1722; + const double t1728 = t1174 - 0.17123333333333333333e-1 * t1102 - 0.17123333333333333333e-1 * t1665 + 0.5137e-1 * t1676; + const double t1731 = t710 * t464; + const double t1736 = t718 * t472; + const double t1750 = -0.17648625e1 * t1690 + 0.3529725e1 * t1695 + t1192 - 0.516475e0 * t1102 - 0.516475e0 * t1665 + 0.1549425e1 * t1676 + 0.31558125e0 * t1701 + 0.6311625e0 * t1703 + t1197 - 0.20839e0 * t1152 - 0.20839e0 * t1707 + 0.312585e0 * t1711 + 0.312585e0 * t1715; + const double t1751 = t1750 * t473; + const double t1754 = t717 * t1209; + const double t1755 = t1754 * t472; + const double t1761 = t1213 - 0.92708333333333333333e-2 * t1102 - 0.92708333333333333333e-2 * t1665 + 0.278125e-1 * t1676; + const double t1762 = t1761 * t181; + const double t1764 = t722 * t483; + const double t1769 = t730 * t491; + const double t1783 = -0.1294625e1 * t1690 + 0.258925e1 * t1695 + t1231 - 0.301925e0 * t1102 - 0.301925e0 * t1665 + 0.905775e0 * t1676 + 0.82524375e-1 * t1701 + 0.16504875e0 * t1703 + t1236 - 0.16557e0 * t1152 - 0.16557e0 * t1707 + 0.248355e0 * t1711 + 0.248355e0 * t1715; + const double t1784 = t1783 * t492; + const double t1787 = t729 * t1248; + const double t1788 = t1787 * t491; + const double t1791 = -0.310907e-1 * t1728 * t168 + 0.1e1 * t1731 * t474 + 0.1e1 * t1180 * t718 - 0.2e1 * t1185 * t1736 + 0.1e1 * t465 * t1751 + 0.32163958997385070134e2 * t1207 * t1755 + t1680 - t1683 - t1685 + t1688 - t1720 - t1724 - 0.19751673498613801407e-1 * t1762 + 0.5848223622634646207e0 * t1764 * t493 + 0.5848223622634646207e0 * t1219 * t730 - 0.11696447245269292414e1 * t1224 * t1769 + 0.5848223622634646207e0 * t484 * t1784 + 0.17315859105681463759e2 * t1246 * t1788; + const double t1795 = t65 * t722; + const double t1800 = t1223 * t729; + const double t1801 = t1800 * t493; + const double t1805 = t483 * t1783 * t492; + const double t1808 = t1245 * t729; + const double t1809 = t1248 * t491; + const double t1810 = t1808 * t1809; + const double t1813 = -t1680 + t1683 + t1685 - t1688 + t1720 + t1724 + t65 * t1791 + 0.19751673498613801407e-1 * t65 * t1762 - 0.5848223622634646207e0 * t1795 * t502 - 0.5848223622634646207e0 * t1256 * t738 + 0.11696447245269292414e1 * t500 * t1801 - 0.5848223622634646207e0 * t500 * t1805 - 0.17315859105681463759e2 * t500 * t1810; + const double t1817 = piecewise_functor_3( t133, 0.0, t134 * t1813 / 0.2e1 + t1659 * t188 / 0.2e1 + t418 * t741 / 0.2e1 + t684 * t505 / 0.2e1 ); + const double t1818 = t1817 * tau_b; + const double t1820 = t1818 * t196 * t214; + const double t1823 = t510 * t208 * t214; + const double t1825 = t509 * t755; + const double t1826 = t1825 * sigma_bb; + const double t1827 = t1826 * t758; + const double t1829 = t510 * t765; + const double t1830 = t1829 * t771; + const double t1832 = t781 * t262; + const double t1833 = t1832 * t602; + const double t1836 = t1322 * t616; + const double t1839 = t24 * t3; + const double t1843 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1836 * t289 + 0.8e1 / 0.3e1 * t1839 * t850 ); + const double t1844 = t1330 * t683; + const double t1847 = t135 * t3; + const double t1851 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1844 * t417 - 0.8e1 / 0.3e1 * t1847 * t850 ); + const double t1853 = ( t1843 + t1851 ) * t64; + const double t1856 = t542 * t782; + const double t1858 = t547 * t782; + const double t1860 = -0.5848223622634646207e0 * t1833 - t1817 + t1283 - t1644 - 0.5848223622634646207e0 * t1285 - t1313 + t1320 + 0.19751673498613801407e-1 * t1853 * t272 + t1345 - t1348 - t1354 + t1440 + 0.4e1 * t1856 - 0.4e1 * t1858; + const double t1861 = t1853 * t274; + const double t1863 = t781 * t590; + const double t1864 = t241 * t1863; + const double t1866 = t781 * t11; + const double t1867 = t1866 * t597; + const double t1871 = t241 * t1861 + t1864 - t1445 - 0.18311447306006545054e-3 * t1449 - t1390 + t1454 - t1397 + t1407 + t1415 - 0.18311447306006545054e-3 * t1867 + t1458 - 0.4e1 * t1460 - t1463 - 0.4e1 * t1464; + const double t1872 = t1860 + t1871; + const double t1873 = t1872 * t285; + const double t1874 = t786 * t608; + const double t1875 = t1874 * t611; + const double t1877 = t1469 * t789; + const double t1879 = t1474 * t1475; + const double t1880 = sigma_bb * t755; + const double t1881 = sigma_aa * t397; + const double t1882 = t1880 * t1881; + const double t1883 = t1879 * t1882; + const double t1885 = 0.5e1 / 0.9e1 * t1647 - 0.25e2 / 0.27e2 * t1650 + 0.5e1 / 0.72e2 * t1654 + 0.8e2 / 0.27e2 * t1657 + 0.5e1 / 0.9e1 * t1820 - 0.25e2 / 0.27e2 * t1823 + 0.5e1 / 0.72e2 * t1827 + 0.8e2 / 0.27e2 * t1830 + t1873 + 0.8e1 / 0.3e1 * t1875 + 0.8e1 / 0.3e1 * t1877 + 0.128e3 / 0.9e1 * t1883; + const double t1895 = 0.2e1 * t287 + 0.2e1 * t851; + const double t1896 = piecewise_functor_3( t8, 0.0, t1895 ); + const double t1901 = t616 * t616; + const double t1907 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t869 * t1901 - t298 * t1895 / 0.3e1 ); + const double t1909 = t17 * t21 * t1907; + const double t1911 = t863 - 0.35616666666666666666e-1 * t1492 + 0.53425e-1 * t1909; + const double t1913 = 0.621814e-1 * t1911 * t52; + const double t1915 = 0.2e1 * t1508 * t639; + const double t1916 = t638 * t638; + const double t1917 = t1916 * t332; + const double t1919 = 0.2e1 * t888 * t1917; + const double t1920 = t628 * t628; + const double t1921 = t894 * t1920; + const double t1924 = t898 - 0.2e1 / 0.3e1 * t1492 + t1909; + const double t1925 = t311 * t1924; + const double t1929 = t906 * t1920; + const double t1931 = t318 * t1924; + const double t1934 = t621 * t621; + const double t1936 = t39 * t43 * t1934; + const double t1938 = t26 * t1907; + const double t1940 = t39 * t43 * t1938; + const double t1942 = -0.9494625e0 * t1921 + 0.1898925e1 * t1925 + t903 - 0.59793333333333333334e0 * t1492 + 0.8969e0 * t1909 + 0.15358125e0 * t1929 + 0.3071625e0 * t1931 + t916 - 0.32862666666666666666e0 * t1534 + 0.24647e0 * t1936 + 0.24647e0 * t1940; + const double t1943 = t1942 * t332; + const double t1945 = 0.1e1 * t310 * t1943; + const double t1946 = t1916 * t936; + const double t1948 = 0.16081979498692535067e2 * t934 * t1946; + const double t1951 = t940 - 0.34246666666666666666e-1 * t1492 + 0.5137e-1 * t1909; + const double t1956 = t650 * t650; + const double t1957 = t1956 * t351; + const double t1969 = -0.17648625e1 * t1921 + 0.3529725e1 * t1925 + t958 - 0.103295e1 * t1492 + 0.1549425e1 * t1909 + 0.31558125e0 * t1929 + 0.6311625e0 * t1931 + t963 - 0.41678e0 * t1534 + 0.312585e0 * t1936 + 0.312585e0 * t1940; + const double t1970 = t1969 * t351; + const double t1973 = t1956 * t975; + const double t1978 = t979 - 0.18541666666666666667e-1 * t1492 + 0.278125e-1 * t1909; + const double t1979 = t1978 * t89; + const double t1983 = t662 * t662; + const double t1984 = t1983 * t370; + const double t1996 = -0.1294625e1 * t1921 + 0.258925e1 * t1925 + t997 - 0.60385e0 * t1492 + 0.905775e0 * t1909 + 0.82524375e-1 * t1929 + 0.16504875e0 * t1931 + t1002 - 0.33114e0 * t1534 + 0.248355e0 * t1936 + 0.248355e0 * t1940; + const double t1997 = t1996 * t370; + const double t2000 = t1983 * t1014; + const double t2003 = -0.310907e-1 * t1951 * t76 + 0.2e1 * t1558 * t651 - 0.2e1 * t951 * t1957 + 0.1e1 * t343 * t1970 + 0.32163958997385070134e2 * t973 * t1973 + t1913 - t1915 + t1919 - t1945 - t1948 - 0.19751673498613801407e-1 * t1979 + 0.11696447245269292414e1 * t1591 * t663 - 0.11696447245269292414e1 * t990 * t1984 + 0.5848223622634646207e0 * t362 * t1997 + 0.17315859105681463759e2 * t1012 * t2000; + const double t2010 = t989 * t1983 * t370; + const double t2014 = t361 * t1996 * t370; + const double t2017 = t1011 * t1983; + const double t2018 = t2017 * t1014; + const double t2021 = -t1913 + t1915 - t1919 + t1945 + t1948 + t65 * t2003 + 0.19751673498613801407e-1 * t65 * t1979 - 0.11696447245269292414e1 * t1622 * t671 + 0.11696447245269292414e1 * t378 * t2010 - 0.5848223622634646207e0 * t378 * t2014 - 0.17315859105681463759e2 * t378 * t2018; + const double t2025 = piecewise_functor_3( t9, 0.0, t1896 * t96 / 0.2e1 + t617 * t674 + t10 * t2021 / 0.2e1 ); + const double t2026 = t2025 * tau_a; + const double t2028 = t2026 * t104 * t127; + const double t2029 = 0.5e1 / 0.9e1 * t2028; + const double t2030 = -t1895; + const double t2031 = piecewise_functor_3( t132, 0.0, t2030 ); + const double t2036 = t683 * t683; + const double t2042 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1106 * t2036 - t423 * t2030 / 0.3e1 ); + const double t2044 = t17 * t21 * t2042; + const double t2046 = t1100 - 0.35616666666666666666e-1 * t1665 + 0.53425e-1 * t2044; + const double t2048 = 0.621814e-1 * t2046 * t155; + const double t2050 = 0.2e1 * t1681 * t706; + const double t2051 = t705 * t705; + const double t2052 = t2051 * t454; + const double t2054 = 0.2e1 * t1125 * t2052; + const double t2055 = t695 * t695; + const double t2056 = t1131 * t2055; + const double t2059 = t1135 - 0.2e1 / 0.3e1 * t1665 + t2044; + const double t2060 = t436 * t2059; + const double t2064 = t1143 * t2055; + const double t2066 = t443 * t2059; + const double t2069 = t688 * t688; + const double t2071 = t39 * t43 * t2069; + const double t2073 = t137 * t2042; + const double t2075 = t39 * t43 * t2073; + const double t2077 = -0.9494625e0 * t2056 + 0.1898925e1 * t2060 + t1140 - 0.59793333333333333334e0 * t1665 + 0.8969e0 * t2044 + 0.15358125e0 * t2064 + 0.3071625e0 * t2066 + t1150 - 0.32862666666666666666e0 * t1707 + 0.24647e0 * t2071 + 0.24647e0 * t2075; + const double t2078 = t2077 * t454; + const double t2080 = 0.1e1 * t435 * t2078; + const double t2081 = t2051 * t1170; + const double t2083 = 0.16081979498692535067e2 * t1168 * t2081; + const double t2086 = t1174 - 0.34246666666666666666e-1 * t1665 + 0.5137e-1 * t2044; + const double t2091 = t717 * t717; + const double t2092 = t2091 * t473; + const double t2104 = -0.17648625e1 * t2056 + 0.3529725e1 * t2060 + t1192 - 0.103295e1 * t1665 + 0.1549425e1 * t2044 + 0.31558125e0 * t2064 + 0.6311625e0 * t2066 + t1197 - 0.41678e0 * t1707 + 0.312585e0 * t2071 + 0.312585e0 * t2075; + const double t2105 = t2104 * t473; + const double t2108 = t2091 * t1209; + const double t2113 = t1213 - 0.18541666666666666667e-1 * t1665 + 0.278125e-1 * t2044; + const double t2114 = t2113 * t181; + const double t2118 = t729 * t729; + const double t2119 = t2118 * t492; + const double t2131 = -0.1294625e1 * t2056 + 0.258925e1 * t2060 + t1231 - 0.60385e0 * t1665 + 0.905775e0 * t2044 + 0.82524375e-1 * t2064 + 0.16504875e0 * t2066 + t1236 - 0.33114e0 * t1707 + 0.248355e0 * t2071 + 0.248355e0 * t2075; + const double t2132 = t2131 * t492; + const double t2135 = t2118 * t1248; + const double t2138 = -0.310907e-1 * t2086 * t168 + 0.2e1 * t1731 * t718 - 0.2e1 * t1185 * t2092 + 0.1e1 * t465 * t2105 + 0.32163958997385070134e2 * t1207 * t2108 + t2048 - t2050 + t2054 - t2080 - t2083 - 0.19751673498613801407e-1 * t2114 + 0.11696447245269292414e1 * t1764 * t730 - 0.11696447245269292414e1 * t1224 * t2119 + 0.5848223622634646207e0 * t484 * t2132 + 0.17315859105681463759e2 * t1246 * t2135; + const double t2145 = t1223 * t2118 * t492; + const double t2149 = t483 * t2131 * t492; + const double t2152 = t1245 * t2118; + const double t2153 = t2152 * t1248; + const double t2156 = -t2048 + t2050 - t2054 + t2080 + t2083 + t65 * t2138 + 0.19751673498613801407e-1 * t65 * t2114 - 0.11696447245269292414e1 * t1795 * t738 + 0.11696447245269292414e1 * t500 * t2145 - 0.5848223622634646207e0 * t500 * t2149 - 0.17315859105681463759e2 * t500 * t2153; + const double t2160 = piecewise_functor_3( t133, 0.0, t2031 * t188 / 0.2e1 + t684 * t741 + t134 * t2156 / 0.2e1 ); + const double t2161 = t2160 * tau_b; + const double t2163 = t2161 * t196 * t214; + const double t2164 = 0.5e1 / 0.9e1 * t2163; + const double t2166 = t746 * t208 * t214; + const double t2167 = 0.5e2 / 0.27e2 * t2166; + const double t2168 = t745 * t755; + const double t2169 = t2168 * sigma_bb; + const double t2170 = t2169 * t758; + const double t2171 = 0.5e1 / 0.36e2 * t2170; + const double t2172 = t746 * t765; + const double t2173 = t2172 * t771; + const double t2174 = 0.16e3 / 0.27e2 * t2173; + const double t2176 = t192 * t755 * t214; + const double t2177 = 0.2e3 / 0.81e2 * t2176; + const double t2179 = 0.1e1 / t194 / t761; + const double t2180 = t191 * t2179; + const double t2181 = t2180 * sigma_bb; + const double t2182 = t2181 * t758; + const double t2183 = 0.1e2 / 0.27e2 * t2182; + const double t2184 = t761 * t206; + const double t2186 = 0.1e1 / t193 / t2184; + const double t2187 = t2186 * t203; + const double t2188 = t192 * t2187; + const double t2189 = t2188 * t771; + const double t2190 = 0.56e3 / 0.27e2 * t2189; + const double t2191 = t761 * t753; + const double t2193 = 0.1e1 / t193 / t2191; + const double t2194 = t191 * t2193; + const double t2195 = sigma_bb * sigma_bb; + const double t2197 = t2194 * t2195 * t814; + const double t2198 = 0.2e2 / 0.27e2 * t2197; + const double t2199 = t761 * t761; + const double t2200 = t2199 * rho_b; + const double t2201 = 0.1e1 / t2200; + const double t2202 = t2201 * t203; + const double t2203 = t192 * t2202; + const double t2204 = t211 * t211; + const double t2205 = 0.1e1 / t2204; + const double t2206 = t2205 * t1087; + const double t2208 = t400 * t2206 * t2195; + const double t2209 = t2203 * t2208; + const double t2210 = 0.64e3 / 0.27e2 * t2209; + const double t2217 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1322 * t1901 + 0.4e1 / 0.3e1 * t24 * t1895 ); + const double t2223 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t1330 * t2036 + 0.4e1 / 0.3e1 * t135 * t2030 ); + const double t2225 = ( t2217 + t2223 ) * t64; + const double t2228 = t2225 * t274; + const double t2230 = -0.11696447245269292414e1 * t1833 - t2160 + 0.19751673498613801407e-1 * t2225 * t272 + t1283 - t1313 + t1320 + t241 * t2228 + t1345 + t1348 + t1351 - t1354 + t1440; + const double t2235 = -0.8e1 * t1856 - 0.8e1 * t1858 + 0.2e1 * t1864 - t2025 - t1445 - t1447 - t1390 + t1454 - t1397 + t1407 + t1415 - 0.36622894612013090108e-3 * t1867 - t1463; + const double t2236 = t2230 + t2235; + const double t2237 = t2236 * t285; + const double t2238 = t1874 * t789; + const double t2239 = 0.16e2 / 0.3e1 * t2238; + const double t2240 = t1475 * t2195; + const double t2241 = t2240 * t2193; + const double t2242 = t1474 * t2241; + const double t2243 = 0.128e3 / 0.9e1 * t2242; + const double t2244 = t788 * t2179; + const double t2245 = t609 * t2244; + const double t2246 = 0.88e2 / 0.9e1 * t2245; + const double t2247 = t2029 + t2164 - t2167 + t2171 + t2174 + t2177 - t2183 - t2190 + t2198 + t2210 + t2237 + t2239 + t2243 - t2246; + const double t2249 = t387 * t121; + const double t2250 = t2249 * t401; + const double t2251 = 0.5e1 / 0.72e2 * t2250; + const double t2252 = t398 * t401; + const double t2253 = 0.5e1 / 0.27e2 * t2252; + const double t2254 = t99 * t1067; + const double t2255 = t2254 * t112; + const double t2256 = t117 * t411; + const double t2257 = t2256 * t118; + const double t2258 = t2255 * t2257; + const double t2259 = 0.55e2 / 0.108e3 * t2258; + const double t2261 = t388 * t799 * t801; + const double t2262 = 0.1e2 / 0.9e1 * t2261; + const double t2263 = t409 * t801; + const double t2264 = 0.13e3 / 0.27e2 * t2263; + const double t2265 = 0.1e1 / t1080; + const double t2266 = t2265 * t111; + const double t2267 = t100 * t2266; + const double t2269 = t400 * t1088 * sigma_aa; + const double t2270 = t2267 * t2269; + const double t2271 = 0.8e2 / 0.9e1 * t2270; + const double t2272 = t1469 * t804; + const double t2273 = t1475 * t1067; + const double t2274 = t2273 * sigma_aa; + const double t2275 = t1474 * t2274; + const double t2276 = 0.16e2 / 0.3e1 * t2275; + const double t2277 = copp * t397; + const double t2278 = t609 * t2277; + const double t2279 = 0.8e1 / 0.3e1 * t2278; + const double t2282 = t509 * t208; + const double t2283 = t2282 * t758; + const double t2284 = 0.5e1 / 0.72e2 * t2283; + const double t2286 = t510 * t812 * t814; + const double t2287 = 0.1e2 / 0.9e1 * t2286; + const double t2288 = t1469 * t817; + const double t2289 = t208 * sigma_aa; + const double t2290 = t2289 * t397; + const double t2291 = t1879 * t2290; + const double t2292 = 0.16e2 / 0.3e1 * t2291; + const double t2295 = t678 * t121; + const double t2296 = t2295 * t401; + const double t2297 = 0.5e1 / 0.72e2 * t2296; + const double t2299 = t679 * t799 * t801; + const double t2300 = 0.1e2 / 0.9e1 * t2299; + const double t2301 = t1874 * t804; + const double t2302 = t121 * sigma_bb; + const double t2303 = t2302 * t755; + const double t2304 = t1879 * t2303; + const double t2305 = 0.16e2 / 0.3e1 * t2304; + const double t2308 = t745 * t208; + const double t2309 = t2308 * t758; + const double t2310 = 0.5e1 / 0.72e2 * t2309; + const double t2311 = t756 * t758; + const double t2312 = 0.5e1 / 0.27e2 * t2311; + const double t2313 = t191 * t2186; + const double t2314 = t2313 * t112; + const double t2315 = t117 * t768; + const double t2316 = t2315 * t205; + const double t2317 = t2314 * t2316; + const double t2318 = 0.55e2 / 0.108e3 * t2317; + const double t2320 = t746 * t812 * t814; + const double t2321 = 0.1e2 / 0.9e1 * t2320; + const double t2322 = t766 * t814; + const double t2323 = 0.13e3 / 0.27e2 * t2322; + const double t2324 = 0.1e1 / t2199; + const double t2325 = t2324 * t203; + const double t2326 = t192 * t2325; + const double t2328 = t400 * t2206 * sigma_bb; + const double t2329 = t2326 * t2328; + const double t2330 = 0.8e2 / 0.9e1 * t2329; + const double t2331 = t1874 * t817; + const double t2332 = t1475 * t2186; + const double t2333 = t2332 * sigma_bb; + const double t2334 = t1474 * t2333; + const double t2335 = 0.16e2 / 0.3e1 * t2334; + const double t2336 = copp * t755; + const double t2337 = t609 * t2336; + const double t2338 = 0.8e1 / 0.3e1 * t2337; + const double t2343 = t387 * t104 * t111 * t401; + const double t2344 = 0.5e1 / 0.9e1 * t2343; + const double t2346 = t794 * t111 * t401; + const double t2347 = 0.25e2 / 0.27e2 * t2346; + const double t2349 = t108 * t112 * t126; + const double t2350 = t399 * t2349; + const double t2351 = 0.25e2 / 0.216e3 * t2350; + const double t2352 = t99 * t407; + const double t2354 = t2352 * t113 * t2257; + const double t2355 = 0.8e2 / 0.27e2 * t2354; + const double t2356 = t387 * t108; + const double t2358 = t2356 * t121 * t827; + const double t2359 = 0.5e1 / 0.72e2 * t2358; + const double t2360 = t1067 * t1076; + const double t2362 = t824 * t2360 * t801; + const double t2363 = 0.1e2 / 0.27e2 * t2362; + const double t2368 = t509 * t196 * t203 * t758; + const double t2369 = 0.5e1 / 0.9e1 * t2368; + const double t2370 = t509 * t200; + const double t2372 = t2370 * t208 * t838; + const double t2373 = 0.5e1 / 0.72e2 * t2372; + const double t2378 = t678 * t104 * t111 * t401; + const double t2379 = 0.5e1 / 0.9e1 * t2378; + const double t2380 = t678 * t108; + const double t2382 = t2380 * t121 * t827; + const double t2383 = 0.5e1 / 0.72e2 * t2382; + const double t2388 = t745 * t196 * t203 * t758; + const double t2389 = 0.5e1 / 0.9e1 * t2388; + const double t2391 = t807 * t203 * t758; + const double t2392 = 0.25e2 / 0.27e2 * t2391; + const double t2394 = t200 * t112 * t213; + const double t2395 = t757 * t2394; + const double t2396 = 0.25e2 / 0.216e3 * t2395; + const double t2397 = t191 * t764; + const double t2399 = t2397 * t204 * t2316; + const double t2400 = 0.8e2 / 0.27e2 * t2399; + const double t2401 = t745 * t200; + const double t2403 = t2401 * t208 * t838; + const double t2404 = 0.5e1 / 0.72e2 * t2403; + const double t2405 = t2186 * t2195; + const double t2407 = t835 * t2405 * t814; + const double t2408 = 0.1e2 / 0.27e2 * t2407; + const double t2412 = t2256 * css; + const double t2414 = 0.5e1 / 0.18e2 * t2352 * t112 * t2412; + const double t2415 = 0.1e1 / t1072; + const double t2416 = t2415 * t111; + const double t2418 = t400 * t1088; + const double t2420 = 0.1e2 / 0.3e1 * t100 * t2416 * t2418; + const double t2421 = t1475 * t407; + const double t2423 = 0.2e1 * t1474 * t2421; + const double t2425 = t4 * t279; + const double t2426 = t2425 * t1473; + const double t2427 = t1475 * t208; + const double t2428 = t2427 * t121; + const double t2431 = t2315 * css; + const double t2433 = 0.5e1 / 0.18e2 * t2397 * t112 * t2431; + const double t2434 = 0.1e1 / t2191; + const double t2435 = t2434 * t203; + const double t2437 = t400 * t2206; + const double t2439 = 0.1e2 / 0.3e1 * t192 * t2435 * t2437; + const double t2440 = t1475 * t764; + const double t2442 = 0.2e1 * t1474 * t2440; + const double t2447 = 0.1e2 / 0.9e1 * t99 * t798 * t111 * t801; + const double t2448 = t407 * sigma_aa; + const double t2451 = 0.5e1 / 0.36e2 * t824 * t2448 * t801; + const double t2456 = 0.1e2 / 0.9e1 * t191 * t811 * t203 * t814; + const double t2457 = t764 * sigma_bb; + const double t2460 = 0.5e1 / 0.36e2 * t835 * t2457 * t814; + + + vrho_a = t129 + t216 + t286 + t4 * ( t391 - t394 + t403 + t416 + t513 + t606 + t613 ); + vrho_b = t129 + t216 + t286 + t4 * ( t682 + t749 - t752 + t760 + t773 + t787 + t791 ); + vsigma_aa = t4 * ( -t796 - t803 - t805 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( -t809 - t816 - t818 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t823 + t829 ); + vtau_b = t4 * ( t834 + t840 ); + v2rho2_aa = 0.1e2 / 0.9e1 * t390 - 0.5e2 / 0.27e2 * t393 + 0.5e1 / 0.36e2 * t402 + 0.16e3 / 0.27e2 * t415 + 0.1e2 / 0.9e1 * t512 + 0.2e1 * t606 + 0.16e2 / 0.3e1 * t612 + t4 * t1483; + v2rho2_ab = t4 * t1885 + t391 - t394 + t403 + t416 + t513 + t606 + t613 + t682 + t749 - t752 + t760 + t773 + t787 + t791; + v2rho2_bb = 0.1e2 / 0.9e1 * t681 + 0.1e2 / 0.9e1 * t748 - 0.5e2 / 0.27e2 * t751 + 0.5e1 / 0.36e2 * t759 + 0.16e3 / 0.27e2 * t772 + 0.2e1 * t787 + 0.16e2 / 0.3e1 * t790 + t4 * t2247; + v2rhosigma_a_aa = -t796 - t803 - t805 + t4 * ( -t2251 + t2253 - t2259 - t2262 + t2264 - t2271 - t2272 - t2276 + t2279 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = -t809 - t816 - t818 + t4 * ( -t2284 - t2287 - t2288 - t2292 ); + v2rhosigma_b_aa = -t796 - t803 - t805 + t4 * ( -t2297 - t2300 - t2301 - t2305 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = -t809 - t816 - t818 + t4 * ( -t2310 + t2312 - t2318 - t2321 + t2323 - t2330 - t2331 - t2335 + t2338 ); + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t823 + t829 + t4 * ( t2344 - t2347 - t2351 + t2355 + t2359 + t2363 ); + v2rhotau_a_b = t834 + t840 + t4 * ( t2369 + t2373 ); + v2rhotau_b_a = t823 + t829 + t4 * ( t2379 + t2383 ); + v2rhotau_b_b = t834 + t840 + t4 * ( t2389 - t2392 - t2396 + t2400 + t2404 + t2408 ); + v2sigma2_aa_aa = t4 * ( t2414 + t2420 + t2423 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.2e1 * t2426 * t2428; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t2433 + t2439 + t2442 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( -t2447 - t2451 ); + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = t4 * ( -t2456 - t2460 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_ab = 0.e0; + v2tau2_bb = 0.e0; + + } + + +}; + +struct BuiltinBC95_C : detail::BuiltinKernelImpl< BuiltinBC95_C > { + + BuiltinBC95_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinBC95_C >(p) { } + + virtual ~BuiltinBC95_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/bmk_c.hpp b/include/exchcxx/impl/builtin/kernels/bmk_c.hpp new file mode 100644 index 0000000..84b3e3a --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/bmk_c.hpp @@ -0,0 +1,4651 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinBMK_C > : + public gga_screening_interface< BuiltinBMK_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_ss_0 = -2.19098; + static constexpr double c_ss_1 = 23.8939; + static constexpr double c_ss_2 = -44.3303; + static constexpr double c_ss_3 = 22.5982; + static constexpr double c_ss_4 = 0.0; + static constexpr double c_ab_0 = 1.22334; + static constexpr double c_ab_1 = -3.4631; + static constexpr double c_ab_2 = 10.0731; + static constexpr double c_ab_3 = -11.1974; + static constexpr double c_ab_4 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + + + eps = t145 + t216; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + + + eps = t145 + t216; + vrho = t145 + t216 + rho * ( 0.2e1 * t302 + 0.2e1 * t351 + t399 + t429 ); + vsigma = rho * ( t460 + t484 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + constexpr double t715 = t30 * t10; + constexpr double t830 = t94 * t15; + constexpr double t865 = t186 * t15; + constexpr double t900 = t108 * t15; + constexpr double t931 = t194 * t15; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + const double t491 = 0.1e1 / t13 / t96; + const double t492 = t491 * t15; + const double t495 = 0.14764770444444444444e-2 * t12 * t492 * t220; + const double t498 = t231 * t225 * t249 * t250; + const double t500 = 0.35616666666666666667e-1 * t365 * t498; + const double t501 = t224 * t41; + const double t502 = 0.1e1 / t501; + const double t503 = t23 * t502; + const double t504 = t249 * t249; + const double t505 = t504 * t250; + const double t507 = 0.2e1 * t503 * t505; + const double t511 = 0.1e1 / t24 / t21 * t29 * t30; + const double t512 = t10 * t98; + const double t513 = t35 * t37; + const double t514 = t512 * t513; + const double t515 = t511 * t514; + const double t517 = t11 * t491; + const double t518 = t517 * t231; + const double t519 = t229 * t518; + const double t521 = t492 * t19; + const double t522 = t12 * t521; + const double t524 = 0.1e1/safe_math::sqrt( t21 ); + const double t526 = t524 * t29 * t30; + const double t527 = t526 * t514; + const double t529 = t240 * t518; + const double t532 = t32 * t99 * t37; + const double t534 = -0.42198333333333333333e0 * t515 + 0.84396666666666666666e0 * t519 + 0.39862222222222222223e0 * t522 + 0.68258333333333333333e-1 * t527 + 0.13651666666666666667e0 * t529 + 0.13692777777777777778e0 * t532; + const double t537 = 0.1e1 * t226 * t534 * t250; + const double t538 = t224 * t224; + const double t539 = 0.1e1 / t538; + const double t540 = t23 * t539; + const double t541 = t44 * t44; + const double t542 = 0.1e1 / t541; + const double t543 = t504 * t542; + const double t545 = 0.16081824322151104822e2 * t540 * t543; + const double t551 = t231 * t259 * t265 * t266; + const double t554 = t258 * t65; + const double t555 = 0.1e1 / t554; + const double t556 = t60 * t555; + const double t557 = t265 * t265; + const double t558 = t557 * t266; + const double t567 = -0.78438333333333333333e0 * t515 + 0.15687666666666666667e1 * t519 + 0.68863333333333333333e0 * t522 + 0.14025833333333333333e0 * t527 + 0.28051666666666666667e0 * t529 + 0.17365833333333333333e0 * t532; + const double t571 = t258 * t258; + const double t572 = 0.1e1 / t571; + const double t573 = t60 * t572; + const double t574 = t68 * t68; + const double t575 = 0.1e1 / t574; + const double t576 = t557 * t575; + const double t582 = t231 * t295; + const double t585 = t274 * t78; + const double t586 = 0.1e1 / t585; + const double t587 = t73 * t586; + const double t588 = t281 * t281; + const double t589 = t588 * t282; + const double t598 = -0.57538888888888888889e0 * t515 + 0.11507777777777777778e1 * t519 + 0.40256666666666666667e0 * t522 + 0.366775e-1 * t527 + 0.73355e-1 * t529 + 0.137975e0 * t532; + const double t599 = t598 * t282; + const double t602 = t274 * t274; + const double t603 = 0.1e1 / t602; + const double t604 = t73 * t603; + const double t605 = t81 * t81; + const double t606 = 0.1e1 / t605; + const double t607 = t588 * t606; + const double t610 = -0.70981924444444444442e-3 * t12 * t492 * t254 - 0.34246666666666666666e-1 * t365 * t551 - 0.2e1 * t556 * t558 + 0.1e1 * t260 * t567 * t266 + 0.32164683177870697974e2 * t573 * t576 + t495 + t500 + t507 - t537 - t545 - 0.24415406715670879921e-3 * t12 * t492 * t270 - 0.10843580882781524214e-1 * t365 * t582 - 0.11696446794910408142e1 * t587 * t589 + 0.58482233974552040708e0 * t276 * t599 + 0.17315755899375863299e2 * t604 * t607; + const double t615 = t58 * t12; + const double t620 = t586 * t588 * t282; + const double t624 = t275 * t598 * t282; + const double t627 = t603 * t588; + const double t628 = t627 * t606; + const double t631 = -t495 - t500 - t507 + t537 + t545 + t58 * t610 + 0.24415406715670879921e-3 * t288 * t517 * t289 + 0.10843580882781524214e-1 * t615 * t235 * t295 + 0.11696446794910408142e1 * t293 * t620 - 0.58482233974552040708e0 * t293 * t624 - 0.17315755899375863299e2 * t293 * t628; + const double t634 = piecewise_functor_3( t4, 0.0, t5 * t631 / 0.2e1 ); + const double t635 = t634 * t143; + const double t637 = t301 * t350; + const double t640 = 0.1e1 / t33 / t111; + const double t641 = t35 * t640; + const double t645 = t111 * t304; + const double t647 = 0.1e1 / t13 / t645; + const double t648 = t15 * t647; + const double t649 = t648 * t117; + const double t652 = t94 * t122; + const double t653 = 0.1e1 / t134; + const double t654 = t653 * t127; + const double t661 = t108 * t132; + const double t662 = t124 * t111; + const double t664 = 0.1e1 / t33 / t662; + const double t666 = t664 * t139 * t35; + const double t673 = t121 * t339; + const double t676 = 0.1e1 / t13 / t124 / t645; + const double t678 = t676 * t346 * t15; + const double t685 = t132 * t109; + const double t686 = t131 * t685; + const double t687 = t124 * t124; + const double t688 = t687 * t96; + const double t689 = 0.1e1 / t688; + const double t691 = 0.1e1 / t138 / t116; + const double t692 = t689 * t691; + const double t695 = 0.19555555555555555555e1 * t95 * t641 * t104 - 0.19200000000000000001e1 * t311 * t649 + 0.45511111111111111114e0 * t652 * t654 + 0.27022222222222222222e1 * t110 * t649 - 0.24462222222222222223e1 * t321 * t654 + 0.27306666666666666667e0 * t661 * t666 + 0.2304e1 * t123 * t654 - 0.10069333333333333333e1 * t329 * t666 + 0.21845333333333333334e0 * t673 * t678 + 0.79644444444444444445e0 * t133 * t666 - 0.68266666666666666669e0 * t340 * t678 + 0.14563555555555555557e0 * t686 * t692; + const double t696 = t92 * t695; + const double t701 = t218 * t357; + const double t705 = t356 * t158; + const double t706 = 0.1e1 / t705; + const double t707 = t149 * t706; + const double t708 = t374 * t374; + const double t709 = t708 * t375; + const double t714 = 0.1e1 / t150 / t147 * t29; + const double t716 = t715 * t98; + const double t717 = t714 * t716; + const double t719 = t361 * t491; + const double t720 = t360 * t719; + const double t722 = t9 * t517; + const double t724 = 0.1e1/safe_math::sqrt( t147 ); + const double t725 = t724 * t29; + const double t726 = t725 * t716; + const double t728 = t368 * t719; + const double t730 = t31 * t512; + const double t732 = -0.42198333333333333333e0 * t717 + 0.84396666666666666666e0 * t720 + 0.39862222222222222223e0 * t722 + 0.68258333333333333333e-1 * t726 + 0.13651666666666666667e0 * t728 + 0.13692777777777777778e0 * t730; + const double t733 = t732 * t375; + const double t736 = t356 * t356; + const double t737 = 0.1e1 / t736; + const double t738 = t149 * t737; + const double t739 = t161 * t161; + const double t740 = 0.1e1 / t739; + const double t741 = t708 * t740; + const double t748 = t168 * t9; + const double t752 = t385 * t175; + const double t753 = 0.1e1 / t752; + const double t754 = t391 * t391; + const double t756 = t753 * t754 * t393; + const double t765 = -0.57538888888888888889e0 * t717 + 0.11507777777777777778e1 * t720 + 0.40256666666666666667e0 * t722 + 0.366775e-1 * t726 + 0.73355e-1 * t728 + 0.137975e0 * t730; + const double t767 = t386 * t765 * t393; + const double t770 = t385 * t385; + const double t771 = 0.1e1 / t770; + const double t772 = t771 * t754; + const double t773 = t178 * t178; + const double t774 = 0.1e1 / t773; + const double t775 = t772 * t774; + const double t779 = -0.14764770444444444444e-2 * t9 * t517 * t162 - 0.35616666666666666667e-1 * t12 * t701 * t376 - 0.2e1 * t707 * t709 + 0.1e1 * t358 * t733 + 0.16081824322151104822e2 * t738 * t741 + 0.24415406715670879921e-3 * t379 * t361 * t491 * t179 + 0.10843580882781524214e-1 * t748 * t230 * t394 + 0.11696446794910408142e1 * t384 * t756 - 0.58482233974552040708e0 * t384 * t767 - 0.17315755899375863299e2 * t384 * t775 - 0.2e1 * t634; + const double t780 = t779 * t215; + const double t781 = t398 * t428; + const double t786 = t648 * t197; + const double t789 = t186 * t122; + const double t790 = t653 * t204; + const double t797 = t194 * t132; + const double t799 = t664 * t211 * t35; + const double t806 = t201 * t339; + const double t808 = t676 * t424 * t15; + const double t815 = t208 * t685; + const double t817 = 0.1e1 / t210 / t196; + const double t818 = t689 * t817; + const double t821 = 0.58666666666666666667e-1 * t187 * t641 * t190 - 0.1728e-2 * t403 * t786 + 0.12288e-4 * t789 * t790 + 0.2432e-2 * t195 * t786 - 0.66048e-4 * t409 * t790 + 0.221184e-6 * t797 * t799 + 0.62208e-4 * t202 * t790 - 0.815616e-6 * t415 * t799 + 0.5308416e-8 * t806 * t808 + 0.64512e-6 * t209 * t799 - 0.165888e-7 * t422 * t808 + 0.10616832e-9 * t815 * t818; + const double t822 = t184 * t821; + const double t825 = t301 * t458; + const double t831 = t314 * t117; + const double t853 = t687 * rho; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t691; + const double t858 = -0.53333333333333333333e0 * t432 * t306 * t104 + 0.64000000000000000001e0 * t830 * t831 * sigma - 0.17066666666666666667e0 * t311 * t324 - 0.85333333333333333333e0 * t438 * t316 + 0.85333333333333333334e0 * t110 * t324 - 0.1024e0 * t321 * t334 - 0.768e0 * t443 * t324 + 0.3584e0 * t123 * t334 - 0.81920000000000000003e-1 * t329 * t347 - 0.27306666666666666667e0 * t448 * t334 + 0.24576e0 * t133 * t347 - 0.54613333333333333335e-1 * t340 * t855; + const double t859 = t92 * t858; + const double t861 = t398 * t483; + const double t866 = t314 * t197; + const double t888 = t854 * t817; + const double t891 = -0.16e-1 * t461 * t306 * t190 + 0.576e-3 * t865 * t866 * sigma - 0.4608e-5 * t403 * t410 - 0.768e-3 * t467 * t404 + 0.2304e-4 * t195 * t410 - 0.82944e-7 * t409 * t417 - 0.20736e-4 * t472 * t410 + 0.290304e-6 * t202 * t417 - 0.1990656e-8 * t415 * t425 - 0.221184e-6 * t477 * t417 + 0.5971968e-8 * t209 * t425 - 0.3981312e-10 * t422 * t888; + const double t892 = t184 * t891; + const double t895 = t114 * t117; + const double t907 = t121 * sigma; + const double t914 = t131 * t109; + const double t919 = 0.1e1 / t687; + const double t920 = t919 * t691; + const double t923 = -0.16e0 * t830 * t895 + 0.64e-1 * t95 * t128 + 0.16e0 * t900 * t895 - 0.256e0 * t438 * t128 + 0.384e-1 * t110 * t140 + 0.192e0 * t907 * t128 - 0.1152e0 * t443 * t140 + 0.3072e-1 * t123 * t455 + 0.768e-1 * t914 * t140 - 0.8192e-1 * t448 * t455 + 0.2048e-1 * t133 * t920; + const double t925 = 0.2e1 * t92 * t923; + const double t926 = t114 * t197; + const double t938 = t201 * sigma; + const double t945 = t208 * t109; + const double t950 = t919 * t817; + const double t953 = -0.144e-3 * t865 * t926 + 0.1728e-5 * t187 * t205 + 0.144e-3 * t931 * t926 - 0.6912e-5 * t467 * t205 + 0.31104e-7 * t195 * t212 + 0.5184e-5 * t938 * t205 - 0.93312e-7 * t472 * t212 + 0.746496e-9 * t202 * t480 + 0.62208e-7 * t945 * t212 - 0.1990656e-8 * t477 * t480 + 0.1492992e-10 * t209 * t950; + const double t954 = t184 * t953; + + + v2rho2 = 0.4e1 * t302 + 0.4e1 * t351 + 0.2e1 * t399 + 0.2e1 * t429 + rho * ( 0.2e1 * t635 + 0.4e1 * t637 + 0.2e1 * t696 + t780 + 0.2e1 * t781 + t822 ); + v2rhosigma = t460 + t484 + rho * ( 0.2e1 * t825 + 0.2e1 * t859 + t861 + t892 ); + v2sigma2 = rho * ( t925 + t954 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + constexpr double t715 = t30 * t10; + constexpr double t830 = t94 * t15; + constexpr double t865 = t186 * t15; + constexpr double t900 = t108 * t15; + constexpr double t931 = t194 * t15; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + const double t491 = 0.1e1 / t13 / t96; + const double t492 = t491 * t15; + const double t495 = 0.14764770444444444444e-2 * t12 * t492 * t220; + const double t498 = t231 * t225 * t249 * t250; + const double t500 = 0.35616666666666666667e-1 * t365 * t498; + const double t501 = t224 * t41; + const double t502 = 0.1e1 / t501; + const double t503 = t23 * t502; + const double t504 = t249 * t249; + const double t505 = t504 * t250; + const double t507 = 0.2e1 * t503 * t505; + const double t511 = 0.1e1 / t24 / t21 * t29 * t30; + const double t512 = t10 * t98; + const double t513 = t35 * t37; + const double t514 = t512 * t513; + const double t515 = t511 * t514; + const double t517 = t11 * t491; + const double t518 = t517 * t231; + const double t519 = t229 * t518; + const double t521 = t492 * t19; + const double t522 = t12 * t521; + const double t524 = 0.1e1/safe_math::sqrt( t21 ); + const double t526 = t524 * t29 * t30; + const double t527 = t526 * t514; + const double t529 = t240 * t518; + const double t532 = t32 * t99 * t37; + const double t534 = -0.42198333333333333333e0 * t515 + 0.84396666666666666666e0 * t519 + 0.39862222222222222223e0 * t522 + 0.68258333333333333333e-1 * t527 + 0.13651666666666666667e0 * t529 + 0.13692777777777777778e0 * t532; + const double t537 = 0.1e1 * t226 * t534 * t250; + const double t538 = t224 * t224; + const double t539 = 0.1e1 / t538; + const double t540 = t23 * t539; + const double t541 = t44 * t44; + const double t542 = 0.1e1 / t541; + const double t543 = t504 * t542; + const double t545 = 0.16081824322151104822e2 * t540 * t543; + const double t551 = t231 * t259 * t265 * t266; + const double t554 = t258 * t65; + const double t555 = 0.1e1 / t554; + const double t556 = t60 * t555; + const double t557 = t265 * t265; + const double t558 = t557 * t266; + const double t567 = -0.78438333333333333333e0 * t515 + 0.15687666666666666667e1 * t519 + 0.68863333333333333333e0 * t522 + 0.14025833333333333333e0 * t527 + 0.28051666666666666667e0 * t529 + 0.17365833333333333333e0 * t532; + const double t571 = t258 * t258; + const double t572 = 0.1e1 / t571; + const double t573 = t60 * t572; + const double t574 = t68 * t68; + const double t575 = 0.1e1 / t574; + const double t576 = t557 * t575; + const double t582 = t231 * t295; + const double t585 = t274 * t78; + const double t586 = 0.1e1 / t585; + const double t587 = t73 * t586; + const double t588 = t281 * t281; + const double t589 = t588 * t282; + const double t598 = -0.57538888888888888889e0 * t515 + 0.11507777777777777778e1 * t519 + 0.40256666666666666667e0 * t522 + 0.366775e-1 * t527 + 0.73355e-1 * t529 + 0.137975e0 * t532; + const double t599 = t598 * t282; + const double t602 = t274 * t274; + const double t603 = 0.1e1 / t602; + const double t604 = t73 * t603; + const double t605 = t81 * t81; + const double t606 = 0.1e1 / t605; + const double t607 = t588 * t606; + const double t610 = -0.70981924444444444442e-3 * t12 * t492 * t254 - 0.34246666666666666666e-1 * t365 * t551 - 0.2e1 * t556 * t558 + 0.1e1 * t260 * t567 * t266 + 0.32164683177870697974e2 * t573 * t576 + t495 + t500 + t507 - t537 - t545 - 0.24415406715670879921e-3 * t12 * t492 * t270 - 0.10843580882781524214e-1 * t365 * t582 - 0.11696446794910408142e1 * t587 * t589 + 0.58482233974552040708e0 * t276 * t599 + 0.17315755899375863299e2 * t604 * t607; + const double t615 = t58 * t12; + const double t620 = t586 * t588 * t282; + const double t624 = t275 * t598 * t282; + const double t627 = t603 * t588; + const double t628 = t627 * t606; + const double t631 = -t495 - t500 - t507 + t537 + t545 + t58 * t610 + 0.24415406715670879921e-3 * t288 * t517 * t289 + 0.10843580882781524214e-1 * t615 * t235 * t295 + 0.11696446794910408142e1 * t293 * t620 - 0.58482233974552040708e0 * t293 * t624 - 0.17315755899375863299e2 * t293 * t628; + const double t634 = piecewise_functor_3( t4, 0.0, t5 * t631 / 0.2e1 ); + const double t635 = t634 * t143; + const double t637 = t301 * t350; + const double t640 = 0.1e1 / t33 / t111; + const double t641 = t35 * t640; + const double t645 = t111 * t304; + const double t647 = 0.1e1 / t13 / t645; + const double t648 = t15 * t647; + const double t649 = t648 * t117; + const double t652 = t94 * t122; + const double t653 = 0.1e1 / t134; + const double t654 = t653 * t127; + const double t661 = t108 * t132; + const double t662 = t124 * t111; + const double t664 = 0.1e1 / t33 / t662; + const double t666 = t664 * t139 * t35; + const double t673 = t121 * t339; + const double t676 = 0.1e1 / t13 / t124 / t645; + const double t678 = t676 * t346 * t15; + const double t685 = t132 * t109; + const double t686 = t131 * t685; + const double t687 = t124 * t124; + const double t688 = t687 * t96; + const double t689 = 0.1e1 / t688; + const double t691 = 0.1e1 / t138 / t116; + const double t692 = t689 * t691; + const double t695 = 0.19555555555555555555e1 * t95 * t641 * t104 - 0.19200000000000000001e1 * t311 * t649 + 0.45511111111111111114e0 * t652 * t654 + 0.27022222222222222222e1 * t110 * t649 - 0.24462222222222222223e1 * t321 * t654 + 0.27306666666666666667e0 * t661 * t666 + 0.2304e1 * t123 * t654 - 0.10069333333333333333e1 * t329 * t666 + 0.21845333333333333334e0 * t673 * t678 + 0.79644444444444444445e0 * t133 * t666 - 0.68266666666666666669e0 * t340 * t678 + 0.14563555555555555557e0 * t686 * t692; + const double t696 = t92 * t695; + const double t701 = t218 * t357; + const double t705 = t356 * t158; + const double t706 = 0.1e1 / t705; + const double t707 = t149 * t706; + const double t708 = t374 * t374; + const double t709 = t708 * t375; + const double t714 = 0.1e1 / t150 / t147 * t29; + const double t716 = t715 * t98; + const double t717 = t714 * t716; + const double t719 = t361 * t491; + const double t720 = t360 * t719; + const double t722 = t9 * t517; + const double t724 = 0.1e1/safe_math::sqrt( t147 ); + const double t725 = t724 * t29; + const double t726 = t725 * t716; + const double t728 = t368 * t719; + const double t730 = t31 * t512; + const double t732 = -0.42198333333333333333e0 * t717 + 0.84396666666666666666e0 * t720 + 0.39862222222222222223e0 * t722 + 0.68258333333333333333e-1 * t726 + 0.13651666666666666667e0 * t728 + 0.13692777777777777778e0 * t730; + const double t733 = t732 * t375; + const double t736 = t356 * t356; + const double t737 = 0.1e1 / t736; + const double t738 = t149 * t737; + const double t739 = t161 * t161; + const double t740 = 0.1e1 / t739; + const double t741 = t708 * t740; + const double t748 = t168 * t9; + const double t752 = t385 * t175; + const double t753 = 0.1e1 / t752; + const double t754 = t391 * t391; + const double t756 = t753 * t754 * t393; + const double t765 = -0.57538888888888888889e0 * t717 + 0.11507777777777777778e1 * t720 + 0.40256666666666666667e0 * t722 + 0.366775e-1 * t726 + 0.73355e-1 * t728 + 0.137975e0 * t730; + const double t767 = t386 * t765 * t393; + const double t770 = t385 * t385; + const double t771 = 0.1e1 / t770; + const double t772 = t771 * t754; + const double t773 = t178 * t178; + const double t774 = 0.1e1 / t773; + const double t775 = t772 * t774; + const double t779 = -0.14764770444444444444e-2 * t9 * t517 * t162 - 0.35616666666666666667e-1 * t12 * t701 * t376 - 0.2e1 * t707 * t709 + 0.1e1 * t358 * t733 + 0.16081824322151104822e2 * t738 * t741 + 0.24415406715670879921e-3 * t379 * t361 * t491 * t179 + 0.10843580882781524214e-1 * t748 * t230 * t394 + 0.11696446794910408142e1 * t384 * t756 - 0.58482233974552040708e0 * t384 * t767 - 0.17315755899375863299e2 * t384 * t775 - 0.2e1 * t634; + const double t780 = t779 * t215; + const double t781 = t398 * t428; + const double t786 = t648 * t197; + const double t789 = t186 * t122; + const double t790 = t653 * t204; + const double t797 = t194 * t132; + const double t799 = t664 * t211 * t35; + const double t806 = t201 * t339; + const double t808 = t676 * t424 * t15; + const double t815 = t208 * t685; + const double t817 = 0.1e1 / t210 / t196; + const double t818 = t689 * t817; + const double t821 = 0.58666666666666666667e-1 * t187 * t641 * t190 - 0.1728e-2 * t403 * t786 + 0.12288e-4 * t789 * t790 + 0.2432e-2 * t195 * t786 - 0.66048e-4 * t409 * t790 + 0.221184e-6 * t797 * t799 + 0.62208e-4 * t202 * t790 - 0.815616e-6 * t415 * t799 + 0.5308416e-8 * t806 * t808 + 0.64512e-6 * t209 * t799 - 0.165888e-7 * t422 * t808 + 0.10616832e-9 * t815 * t818; + const double t822 = t184 * t821; + const double t825 = t301 * t458; + const double t831 = t314 * t117; + const double t853 = t687 * rho; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t691; + const double t858 = -0.53333333333333333333e0 * t432 * t306 * t104 + 0.64000000000000000001e0 * t830 * t831 * sigma - 0.17066666666666666667e0 * t311 * t324 - 0.85333333333333333333e0 * t438 * t316 + 0.85333333333333333334e0 * t110 * t324 - 0.1024e0 * t321 * t334 - 0.768e0 * t443 * t324 + 0.3584e0 * t123 * t334 - 0.81920000000000000003e-1 * t329 * t347 - 0.27306666666666666667e0 * t448 * t334 + 0.24576e0 * t133 * t347 - 0.54613333333333333335e-1 * t340 * t855; + const double t859 = t92 * t858; + const double t861 = t398 * t483; + const double t866 = t314 * t197; + const double t888 = t854 * t817; + const double t891 = -0.16e-1 * t461 * t306 * t190 + 0.576e-3 * t865 * t866 * sigma - 0.4608e-5 * t403 * t410 - 0.768e-3 * t467 * t404 + 0.2304e-4 * t195 * t410 - 0.82944e-7 * t409 * t417 - 0.20736e-4 * t472 * t410 + 0.290304e-6 * t202 * t417 - 0.1990656e-8 * t415 * t425 - 0.221184e-6 * t477 * t417 + 0.5971968e-8 * t209 * t425 - 0.3981312e-10 * t422 * t888; + const double t892 = t184 * t891; + const double t895 = t114 * t117; + const double t907 = t121 * sigma; + const double t914 = t131 * t109; + const double t919 = 0.1e1 / t687; + const double t920 = t919 * t691; + const double t923 = -0.16e0 * t830 * t895 + 0.64e-1 * t95 * t128 + 0.16e0 * t900 * t895 - 0.256e0 * t438 * t128 + 0.384e-1 * t110 * t140 + 0.192e0 * t907 * t128 - 0.1152e0 * t443 * t140 + 0.3072e-1 * t123 * t455 + 0.768e-1 * t914 * t140 - 0.8192e-1 * t448 * t455 + 0.2048e-1 * t133 * t920; + const double t925 = 0.2e1 * t92 * t923; + const double t926 = t114 * t197; + const double t938 = t201 * sigma; + const double t945 = t208 * t109; + const double t950 = t919 * t817; + const double t953 = -0.144e-3 * t865 * t926 + 0.1728e-5 * t187 * t205 + 0.144e-3 * t931 * t926 - 0.6912e-5 * t467 * t205 + 0.31104e-7 * t195 * t212 + 0.5184e-5 * t938 * t205 - 0.93312e-7 * t472 * t212 + 0.746496e-9 * t202 * t480 + 0.62208e-7 * t945 * t212 - 0.1990656e-8 * t477 * t480 + 0.1492992e-10 * t209 * t950; + const double t954 = t184 * t953; + + + vrho = t145 + t216 + rho * ( 0.2e1 * t302 + 0.2e1 * t351 + t399 + t429 ); + vsigma = rho * ( t460 + t484 ); + v2rho2 = 0.4e1 * t302 + 0.4e1 * t351 + 0.2e1 * t399 + 0.2e1 * t429 + rho * ( 0.2e1 * t635 + 0.4e1 * t637 + 0.2e1 * t696 + t780 + 0.2e1 * t781 + t822 ); + v2rhosigma = t460 + t484 + rho * ( 0.2e1 * t825 + 0.2e1 * t859 + t861 + t892 ); + v2sigma2 = rho * ( t925 + t954 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + + + eps = t148 + t255 + t351; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + + + eps = t148 + t255 + t351; + vrho_a = t148 + t255 + t351 + t3 * ( t453 + t497 + t591 + t684 + t717 ); + vrho_b = t148 + t255 + t351 + t3 * ( t783 + t847 + t891 + t905 + t933 ); + vsigma_aa = t3 * ( t961 + t984 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1011 + t1034 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + constexpr double t1557 = t36 * t14; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + const double t1041 = t277 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t2 * t1042; + const double t1045 = -0.2e1 * t352 + 0.2e1 * t1043; + const double t1046 = piecewise_functor_3( t7, 0.0, t1045 ); + const double t1051 = 0.1e1 / t17 / t277; + const double t1052 = t1051 * t19; + const double t1054 = t16 * t1052 * t25; + const double t1055 = 0.23744444444444444444e-1 * t1054; + const double t1057 = t16 * t359 * t366; + const double t1059 = t6 * t6; + const double t1061 = 0.1e1 / t23 / t1059; + const double t1062 = t354 * t354; + const double t1068 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t1062 - t363 * t1045 / 0.3e1 ); + const double t1070 = t16 * t20 * t1068; + const double t1072 = t1055 - 0.35616666666666666666e-1 * t1057 + 0.53425e-1 * t1070; + const double t1074 = 0.62182e-1 * t1072 * t51; + const double t1075 = t370 * t374; + const double t1077 = 0.2e1 * t1075 * t398; + const double t1078 = t373 * t47; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t29 * t1079; + const double t1081 = t396 * t396; + const double t1082 = t1081 * t397; + const double t1084 = 0.2e1 * t1080 * t1082; + const double t1086 = 0.1e1 / t30 / t27; + const double t1087 = t378 * t378; + const double t1088 = t1086 * t1087; + const double t1090 = 0.4e1 / 0.9e1 * t1054; + const double t1092 = t1090 - 0.2e1 / 0.3e1 * t1057 + t1070; + const double t1093 = t376 * t1092; + const double t1095 = 0.39862222222222222223e0 * t1054; + const double t1098 = 0.1e1/safe_math::sqrt( t27 ); + const double t1099 = t1098 * t1087; + const double t1101 = t383 * t1092; + const double t1104 = 0.1e1 / t39 / t277; + const double t1105 = t1104 * t41; + const double t1107 = t38 * t1105 * t43; + const double t1108 = 0.13692777777777777778e0 * t1107; + const double t1110 = t38 * t388 * t392; + const double t1112 = t366 * t366; + const double t1114 = t38 * t42 * t1112; + const double t1116 = t25 * t1068; + const double t1118 = t38 * t42 * t1116; + const double t1120 = -0.9494625e0 * t1088 + 0.1898925e1 * t1093 + t1095 - 0.59793333333333333334e0 * t1057 + 0.8969e0 * t1070 + 0.15358125e0 * t1099 + 0.3071625e0 * t1101 + t1108 - 0.32862666666666666666e0 * t1110 + 0.24647e0 * t1114 + 0.24647e0 * t1118; + const double t1121 = t1120 * t397; + const double t1123 = 0.1e1 * t375 * t1121; + const double t1124 = t373 * t373; + const double t1125 = 0.1e1 / t1124; + const double t1126 = t29 * t1125; + const double t1127 = t50 * t50; + const double t1128 = 0.1e1 / t1127; + const double t1129 = t1081 * t1128; + const double t1131 = 0.16081824322151104822e2 * t1126 * t1129; + const double t1132 = 0.22831111111111111111e-1 * t1054; + const double t1135 = t1132 - 0.34246666666666666666e-1 * t1057 + 0.5137e-1 * t1070; + const double t1138 = t403 * t407; + const double t1141 = t406 * t71; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t66 * t1142; + const double t1144 = t415 * t415; + const double t1145 = t1144 * t416; + const double t1150 = 0.68863333333333333333e0 * t1054; + const double t1155 = 0.17365833333333333333e0 * t1107; + const double t1159 = -0.17648625e1 * t1088 + 0.3529725e1 * t1093 + t1150 - 0.103295e1 * t1057 + 0.1549425e1 * t1070 + 0.31558125e0 * t1099 + 0.6311625e0 * t1101 + t1155 - 0.41678e0 * t1110 + 0.312585e0 * t1114 + 0.312585e0 * t1118; + const double t1160 = t1159 * t416; + const double t1163 = t406 * t406; + const double t1164 = 0.1e1 / t1163; + const double t1165 = t66 * t1164; + const double t1166 = t74 * t74; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t1144 * t1167; + const double t1171 = 0.12361111111111111111e-1 * t1054; + const double t1174 = t1171 - 0.18541666666666666667e-1 * t1057 + 0.278125e-1 * t1070; + const double t1175 = t1174 * t88; + const double t1177 = t422 * t426; + const double t1180 = t425 * t84; + const double t1181 = 0.1e1 / t1180; + const double t1182 = t79 * t1181; + const double t1183 = t434 * t434; + const double t1184 = t1183 * t435; + const double t1189 = 0.40256666666666666667e0 * t1054; + const double t1194 = 0.137975e0 * t1107; + const double t1198 = -0.1294625e1 * t1088 + 0.258925e1 * t1093 + t1189 - 0.60385e0 * t1057 + 0.905775e0 * t1070 + 0.82524375e-1 * t1099 + 0.16504875e0 * t1101 + t1194 - 0.33114e0 * t1110 + 0.248355e0 * t1114 + 0.248355e0 * t1118; + const double t1199 = t1198 * t435; + const double t1202 = t425 * t425; + const double t1203 = 0.1e1 / t1202; + const double t1204 = t79 * t1203; + const double t1205 = t87 * t87; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t1183 * t1206; + const double t1210 = -0.3109e-1 * t1135 * t75 + 0.2e1 * t1138 * t417 - 0.2e1 * t1143 * t1145 + 0.1e1 * t408 * t1160 + 0.32164683177870697974e2 * t1165 * t1168 + t1074 - t1077 + t1084 - t1123 - t1131 - 0.19751789702565206229e-1 * t1175 + 0.11696446794910408142e1 * t1177 * t436 - 0.11696446794910408142e1 * t1182 * t1184 + 0.58482233974552040708e0 * t427 * t1199 + 0.17315755899375863299e2 * t1204 * t1207; + const double t1214 = t64 * t422; + const double t1218 = t1181 * t1183 * t435; + const double t1222 = t426 * t1198 * t435; + const double t1225 = t1203 * t1183; + const double t1226 = t1225 * t1206; + const double t1229 = -t1074 + t1077 - t1084 + t1123 + t1131 + t64 * t1210 + 0.19751789702565206229e-1 * t64 * t1175 - 0.11696446794910408142e1 * t1214 * t445 + 0.11696446794910408142e1 * t443 * t1218 - 0.58482233974552040708e0 * t443 * t1222 - 0.17315755899375863299e2 * t443 * t1226; + const double t1233 = piecewise_functor_3( t8, 0.0, t1046 * t95 / 0.2e1 + t355 * t448 + t9 * t1229 / 0.2e1 ); + const double t1234 = t1233 * t147; + const double t1235 = t452 * t496; + const double t1236 = 0.2e1 * t1235; + const double t1238 = 0.1e1 / t104 / t117; + const double t1242 = t117 * t454; + const double t1244 = 0.1e1 / t103 / t1242; + const double t1245 = t1244 * t122; + const double t1248 = t100 * t127; + const double t1249 = 0.1e1 / t139; + const double t1250 = t1249 * t132; + const double t1257 = t114 * t137; + const double t1258 = t129 * t117; + const double t1260 = 0.1e1 / t104 / t1258; + const double t1261 = t1260 * t143; + const double t1268 = t126 * t486; + const double t1272 = 0.1e1 / t103 / t129 / t1242 * t492; + const double t1279 = t137 * t115; + const double t1280 = t136 * t1279; + const double t1281 = t129 * t129; + const double t1282 = t1281 * t102; + const double t1285 = 0.1e1 / t142 / t121; + const double t1286 = 0.1e1 / t1282 * t1285; + const double t1289 = 0.19555555555555555555e1 * t101 * t1238 * t110 - 0.96000000000000000002e0 * t460 * t1245 + 0.11377777777777777778e0 * t1248 * t1250 + 0.13511111111111111111e1 * t116 * t1245 - 0.61155555555555555557e0 * t469 * t1250 + 0.68266666666666666669e-1 * t1257 * t1261 + 0.576e0 * t128 * t1250 - 0.25173333333333333333e0 * t477 * t1261 + 0.27306666666666666666e-1 * t1268 * t1272 + 0.19911111111111111112e0 * t138 * t1261 - 0.85333333333333333333e-1 * t487 * t1272 + 0.91022222222222222219e-2 * t1280 * t1286; + const double t1290 = t98 * t1289; + const double t1291 = -t1045; + const double t1292 = piecewise_functor_3( t151, 0.0, t1291 ); + const double t1297 = t16 * t1052 * t156; + const double t1298 = 0.23744444444444444444e-1 * t1297; + const double t1300 = t16 * t359 * t507; + const double t1302 = t150 * t150; + const double t1304 = 0.1e1 / t154 / t1302; + const double t1305 = t498 * t498; + const double t1311 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t1305 - t504 * t1291 / 0.3e1 ); + const double t1313 = t16 * t20 * t1311; + const double t1315 = t1298 - 0.35616666666666666666e-1 * t1300 + 0.53425e-1 * t1313; + const double t1317 = 0.62182e-1 * t1315 * t174; + const double t1318 = t511 * t515; + const double t1320 = 0.2e1 * t1318 * t536; + const double t1321 = t514 * t170; + const double t1322 = 0.1e1 / t1321; + const double t1323 = t160 * t1322; + const double t1324 = t534 * t534; + const double t1325 = t1324 * t535; + const double t1327 = 0.2e1 * t1323 * t1325; + const double t1329 = 0.1e1 / t161 / t158; + const double t1330 = t519 * t519; + const double t1331 = t1329 * t1330; + const double t1333 = 0.4e1 / 0.9e1 * t1297; + const double t1335 = t1333 - 0.2e1 / 0.3e1 * t1300 + t1313; + const double t1336 = t517 * t1335; + const double t1338 = 0.39862222222222222223e0 * t1297; + const double t1341 = 0.1e1/safe_math::sqrt( t158 ); + const double t1342 = t1341 * t1330; + const double t1344 = t524 * t1335; + const double t1347 = t38 * t1105 * t166; + const double t1348 = 0.13692777777777777778e0 * t1347; + const double t1350 = t38 * t388 * t530; + const double t1352 = t507 * t507; + const double t1354 = t38 * t42 * t1352; + const double t1356 = t156 * t1311; + const double t1358 = t38 * t42 * t1356; + const double t1360 = -0.9494625e0 * t1331 + 0.1898925e1 * t1336 + t1338 - 0.59793333333333333334e0 * t1300 + 0.8969e0 * t1313 + 0.15358125e0 * t1342 + 0.3071625e0 * t1344 + t1348 - 0.32862666666666666666e0 * t1350 + 0.24647e0 * t1354 + 0.24647e0 * t1358; + const double t1361 = t1360 * t535; + const double t1363 = 0.1e1 * t516 * t1361; + const double t1364 = t514 * t514; + const double t1365 = 0.1e1 / t1364; + const double t1366 = t160 * t1365; + const double t1367 = t173 * t173; + const double t1368 = 0.1e1 / t1367; + const double t1369 = t1324 * t1368; + const double t1371 = 0.16081824322151104822e2 * t1366 * t1369; + const double t1372 = 0.22831111111111111111e-1 * t1297; + const double t1375 = t1372 - 0.34246666666666666666e-1 * t1300 + 0.5137e-1 * t1313; + const double t1378 = t541 * t545; + const double t1381 = t544 * t183; + const double t1382 = 0.1e1 / t1381; + const double t1383 = t178 * t1382; + const double t1384 = t553 * t553; + const double t1385 = t1384 * t554; + const double t1390 = 0.68863333333333333333e0 * t1297; + const double t1395 = 0.17365833333333333333e0 * t1347; + const double t1399 = -0.17648625e1 * t1331 + 0.3529725e1 * t1336 + t1390 - 0.103295e1 * t1300 + 0.1549425e1 * t1313 + 0.31558125e0 * t1342 + 0.6311625e0 * t1344 + t1395 - 0.41678e0 * t1350 + 0.312585e0 * t1354 + 0.312585e0 * t1358; + const double t1400 = t1399 * t554; + const double t1403 = t544 * t544; + const double t1404 = 0.1e1 / t1403; + const double t1405 = t178 * t1404; + const double t1406 = t186 * t186; + const double t1407 = 0.1e1 / t1406; + const double t1408 = t1384 * t1407; + const double t1411 = 0.12361111111111111111e-1 * t1297; + const double t1414 = t1411 - 0.18541666666666666667e-1 * t1300 + 0.278125e-1 * t1313; + const double t1415 = t1414 * t200; + const double t1417 = t560 * t564; + const double t1420 = t563 * t196; + const double t1421 = 0.1e1 / t1420; + const double t1422 = t191 * t1421; + const double t1423 = t572 * t572; + const double t1424 = t1423 * t573; + const double t1429 = 0.40256666666666666667e0 * t1297; + const double t1434 = 0.137975e0 * t1347; + const double t1438 = -0.1294625e1 * t1331 + 0.258925e1 * t1336 + t1429 - 0.60385e0 * t1300 + 0.905775e0 * t1313 + 0.82524375e-1 * t1342 + 0.16504875e0 * t1344 + t1434 - 0.33114e0 * t1350 + 0.248355e0 * t1354 + 0.248355e0 * t1358; + const double t1439 = t1438 * t573; + const double t1442 = t563 * t563; + const double t1443 = 0.1e1 / t1442; + const double t1444 = t191 * t1443; + const double t1445 = t199 * t199; + const double t1446 = 0.1e1 / t1445; + const double t1447 = t1423 * t1446; + const double t1450 = -0.3109e-1 * t1375 * t187 + 0.2e1 * t1378 * t555 - 0.2e1 * t1383 * t1385 + 0.1e1 * t546 * t1400 + 0.32164683177870697974e2 * t1405 * t1408 + t1317 - t1320 + t1327 - t1363 - t1371 - 0.19751789702565206229e-1 * t1415 + 0.11696446794910408142e1 * t1417 * t574 - 0.11696446794910408142e1 * t1422 * t1424 + 0.58482233974552040708e0 * t565 * t1439 + 0.17315755899375863299e2 * t1444 * t1447; + const double t1454 = t64 * t560; + const double t1458 = t1421 * t1423 * t573; + const double t1462 = t564 * t1438 * t573; + const double t1465 = t1443 * t1423; + const double t1466 = t1465 * t1446; + const double t1469 = -t1317 + t1320 - t1327 + t1363 + t1371 + t64 * t1450 + 0.19751789702565206229e-1 * t64 * t1415 - 0.11696446794910408142e1 * t1454 * t583 + 0.11696446794910408142e1 * t581 * t1458 - 0.58482233974552040708e0 * t581 * t1462 - 0.17315755899375863299e2 * t581 * t1466; + const double t1473 = piecewise_functor_3( t152, 0.0, t1292 * t207 / 0.2e1 + t499 * t586 + t153 * t1469 / 0.2e1 ); + const double t1474 = t1473 * t254; + const double t1475 = t358 * t597; + const double t1478 = 0.35616666666666666667e-1 * t16 * t1475 * t616; + const double t1479 = t635 * t10; + const double t1480 = t1479 * t675; + const double t1483 = t601 * t1051 * t310; + const double t1485 = 0.24415406715670879921e-3 * t673 * t1483; + const double t1486 = t656 * t306; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t663 * t663; + const double t1490 = t1487 * t1488 * t664; + const double t1492 = 0.11696446794910408142e1 * t678 * t1490; + const double t1493 = t620 * t636; + const double t1496 = 0.8e1 * t620 * t669; + const double t1498 = 0.1e1 / t278 / t277; + const double t1499 = t276 * t1498; + const double t1501 = 0.2e2 * t1499 * t314; + const double t1502 = t275 * t279; + const double t1504 = 0.12e2 * t1502 * t314; + const double t1505 = t619 * t624; + const double t1507 = 0.32e2 * t1505 * t314; + const double t1509 = 0.8e1 * t625 * t669; + const double t1510 = t635 * t668; + const double t1511 = t280 * t1510; + const double t1513 = t625 * t636; + const double t1515 = -t1478 - 0.36623110073506319882e-3 * t1480 + t1485 + t1492 + 0.8e1 * t1493 + t1496 + t1501 + t1504 - t1507 - t1509 + 0.2e1 * t1511 - 0.8e1 * t1513; + const double t1516 = t23 * t23; + const double t1517 = 0.1e1 / t1516; + const double t1523 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t1062 + 0.4e1 / 0.3e1 * t23 * t1045 ); + const double t1524 = t154 * t154; + const double t1525 = 0.1e1 / t1524; + const double t1531 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t1305 + 0.4e1 / 0.3e1 * t154 * t1291 ); + const double t1533 = ( t1523 + t1531 ) * t63; + const double t1534 = t1533 * t313; + const double t1536 = t15 * t1051; + const double t1539 = 0.14764770444444444444e-2 * t13 * t1536 * t272; + const double t1543 = t358 * t642; + const double t1547 = t641 * t293; + const double t1548 = 0.1e1 / t1547; + const double t1549 = t288 * t1548; + const double t1550 = t648 * t648; + const double t1551 = t1550 * t649; + const double t1556 = 0.1e1 / t260 / t257 * t35; + const double t1558 = t1557 * t1104; + const double t1559 = t1556 * t1558; + const double t1561 = t601 * t1051; + const double t1562 = t600 * t1561; + const double t1564 = t13 * t1536; + const double t1566 = 0.1e1/safe_math::sqrt( t257 ); + const double t1567 = t1566 * t35; + const double t1568 = t1567 * t1558; + const double t1570 = t608 * t1561; + const double t1573 = t37 * t14 * t1104; + const double t1575 = -0.78438333333333333333e0 * t1559 + 0.15687666666666666667e1 * t1562 + 0.68863333333333333333e0 * t1564 + 0.14025833333333333333e0 * t1568 + 0.28051666666666666667e0 * t1570 + 0.17365833333333333333e0 * t1573; + const double t1576 = t1575 * t649; + const double t1579 = t641 * t641; + const double t1580 = 0.1e1 / t1579; + const double t1581 = t288 * t1580; + const double t1582 = t296 * t296; + const double t1583 = 0.1e1 / t1582; + const double t1584 = t1550 * t1583; + const double t1587 = t596 * t268; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t259 * t1588; + const double t1590 = t614 * t614; + const double t1591 = t1590 * t615; + const double t1593 = 0.2e1 * t1589 * t1591; + const double t1600 = -0.42198333333333333333e0 * t1559 + 0.84396666666666666666e0 * t1562 + 0.39862222222222222223e0 * t1564 + 0.68258333333333333333e-1 * t1568 + 0.13651666666666666667e0 * t1570 + 0.13692777777777777778e0 * t1573; + const double t1601 = t1600 * t615; + const double t1603 = 0.1e1 * t598 * t1601; + const double t1604 = t596 * t596; + const double t1605 = 0.1e1 / t1604; + const double t1606 = t259 * t1605; + const double t1607 = t271 * t271; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t1590 * t1608; + const double t1611 = 0.16081824322151104822e2 * t1606 * t1609; + const double t1615 = t358 * t657; + const double t1619 = t301 * t1487; + const double t1620 = t1488 * t664; + const double t1629 = -0.57538888888888888889e0 * t1559 + 0.11507777777777777778e1 * t1562 + 0.40256666666666666667e0 * t1564 + 0.366775e-1 * t1568 + 0.73355e-1 * t1570 + 0.137975e0 * t1573; + const double t1630 = t1629 * t664; + const double t1633 = t656 * t656; + const double t1634 = 0.1e1 / t1633; + const double t1635 = t301 * t1634; + const double t1636 = t309 * t309; + const double t1637 = 0.1e1 / t1636; + const double t1638 = t1488 * t1637; + const double t1641 = -0.70981924444444444442e-3 * t13 * t1536 * t297 - 0.34246666666666666666e-1 * t16 * t1543 * t650 - 0.2e1 * t1549 * t1551 + 0.1e1 * t643 * t1576 + 0.32164683177870697974e2 * t1581 * t1584 + t1539 + t1478 + t1593 - t1603 - t1611 - 0.24415406715670879921e-3 * t13 * t1536 * t310 - 0.10843580882781524214e-1 * t16 * t1615 * t665 - 0.11696446794910408142e1 * t1619 * t1620 + 0.58482233974552040708e0 * t658 * t1630 + 0.17315755899375863299e2 * t1635 * t1638; + const double t1642 = t286 * t1641; + const double t1643 = t280 * t1642; + const double t1645 = t657 * t1629 * t664; + const double t1647 = 0.58482233974552040708e0 * t678 * t1645; + const double t1648 = t1634 * t1488; + const double t1649 = t1648 * t1637; + const double t1651 = 0.17315755899375863299e2 * t678 * t1649; + const double t1652 = t635 * t301; + const double t1653 = t1652 * t680; + const double t1655 = t286 * t13; + const double t1656 = t592 * t680; + const double t1658 = 0.10843580882781524214e-1 * t1655 * t1656; + const double t1661 = t280 * t1534 - t1539 + t1643 - t1647 - t1651 - 0.11696446794910408142e1 * t1653 + t1658 - t1233 + 0.19751789702565206229e-1 * t1533 * t311 - t1473 + t1611 - t1593 + t1603; + const double t1662 = t1515 + t1661; + const double t1663 = t1662 * t350; + const double t1664 = t683 * t716; + const double t1665 = 0.2e1 * t1664; + const double t1669 = t320 * t115; + const double t1670 = t1244 * t333; + const double t1673 = t340 * t115; + const double t1674 = t1673 * t1244; + const double t1677 = t689 * t1238; + const double t1680 = t329 * t115; + const double t1687 = t347 * t115; + const double t1688 = t1687 * t1244; + const double t1691 = t696 * t1238; + const double t1694 = t336 * t321; + const double t1701 = t711 * t115; + const double t1702 = t1701 * t1244; + const double t1705 = t703 * t1238; + const double t1708 = t343 * t330; + const double t1716 = 0.1e1 / t346 / t332; + const double t1717 = t1716 * t115; + const double t1724 = 0.29333333333333333333e-1 * t685 * t1238 * t326 - 0.128e-3 * t1669 * t1670 + 0.384e-6 * t322 * t1674 - 0.88e-4 * t322 * t1677 + 0.128e-3 * t1680 * t1670 - 0.1536e-5 * t693 * t1674 + 0.176e-3 * t693 * t1677 + 0.3456e-8 * t331 * t1688 - 0.528e-6 * t331 * t1691 + 0.1152e-5 * t1694 * t1674 - 0.10368e-7 * t700 * t1688 + 0.792e-6 * t700 * t1691 + 0.20736e-10 * t338 * t1702 - 0.2376e-8 * t338 * t1705 + 0.6912e-8 * t1708 * t1688 - 0.55296e-10 * t707 * t1702 + 0.3168e-8 * t707 * t1705 + 0.10368e-12 * t345 * t1717 * t1244 - 0.9504e-11 * t345 * t712 * t1238; + const double t1725 = t318 * t1724; + const double t1728 = 0.2e1 * t1043; + const double t1729 = piecewise_functor_3( t7, 0.0, t1728 ); + const double t1735 = t16 * t359 * t725; + const double t1737 = t1061 * t720; + const double t1740 = t363 * t2; + const double t1744 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1737 * t354 - 0.2e1 / 0.3e1 * t1740 * t1042 ); + const double t1746 = t16 * t20 * t1744; + const double t1748 = t1055 - 0.17808333333333333333e-1 * t1057 - 0.17808333333333333333e-1 * t1735 + 0.53425e-1 * t1746; + const double t1750 = 0.62182e-1 * t1748 * t51; + const double t1751 = t729 * t374; + const double t1753 = 0.1e1 * t1751 * t398; + const double t1755 = 0.1e1 * t1075 * t743; + const double t1756 = t743 * t396; + const double t1758 = 0.2e1 * t1080 * t1756; + const double t1759 = t1086 * t732; + const double t1760 = t1759 * t378; + const double t1764 = t1090 - t1057 / 0.3e1 - t1735 / 0.3e1 + t1746; + const double t1765 = t376 * t1764; + const double t1770 = t1098 * t732; + const double t1771 = t1770 * t378; + const double t1773 = t383 * t1764; + const double t1777 = t38 * t388 * t738; + const double t1779 = t366 * t725; + const double t1781 = t38 * t42 * t1779; + const double t1783 = t25 * t1744; + const double t1785 = t38 * t42 * t1783; + const double t1787 = -0.9494625e0 * t1760 + 0.1898925e1 * t1765 + t1095 - 0.29896666666666666667e0 * t1057 - 0.29896666666666666667e0 * t1735 + 0.8969e0 * t1746 + 0.15358125e0 * t1771 + 0.3071625e0 * t1773 + t1108 - 0.16431333333333333333e0 * t1110 - 0.16431333333333333333e0 * t1777 + 0.24647e0 * t1781 + 0.24647e0 * t1785; + const double t1788 = t1787 * t397; + const double t1790 = 0.1e1 * t375 * t1788; + const double t1791 = t742 * t1128; + const double t1792 = t1791 * t396; + const double t1794 = 0.16081824322151104822e2 * t1126 * t1792; + const double t1798 = t1132 - 0.17123333333333333333e-1 * t1057 - 0.17123333333333333333e-1 * t1735 + 0.5137e-1 * t1746; + const double t1801 = t747 * t407; + const double t1806 = t755 * t415; + const double t1820 = -0.17648625e1 * t1760 + 0.3529725e1 * t1765 + t1150 - 0.516475e0 * t1057 - 0.516475e0 * t1735 + 0.1549425e1 * t1746 + 0.31558125e0 * t1771 + 0.6311625e0 * t1773 + t1155 - 0.20839e0 * t1110 - 0.20839e0 * t1777 + 0.312585e0 * t1781 + 0.312585e0 * t1785; + const double t1821 = t1820 * t416; + const double t1824 = t754 * t1167; + const double t1825 = t1824 * t415; + const double t1831 = t1171 - 0.92708333333333333333e-2 * t1057 - 0.92708333333333333333e-2 * t1735 + 0.278125e-1 * t1746; + const double t1832 = t1831 * t88; + const double t1834 = t759 * t426; + const double t1839 = t767 * t434; + const double t1853 = -0.1294625e1 * t1760 + 0.258925e1 * t1765 + t1189 - 0.301925e0 * t1057 - 0.301925e0 * t1735 + 0.905775e0 * t1746 + 0.82524375e-1 * t1771 + 0.16504875e0 * t1773 + t1194 - 0.16557e0 * t1110 - 0.16557e0 * t1777 + 0.248355e0 * t1781 + 0.248355e0 * t1785; + const double t1854 = t1853 * t435; + const double t1857 = t766 * t1206; + const double t1858 = t1857 * t434; + const double t1861 = -0.3109e-1 * t1798 * t75 + 0.1e1 * t1801 * t417 + 0.1e1 * t1138 * t755 - 0.2e1 * t1143 * t1806 + 0.1e1 * t408 * t1821 + 0.32164683177870697974e2 * t1165 * t1825 + t1750 - t1753 - t1755 + t1758 - t1790 - t1794 - 0.19751789702565206229e-1 * t1832 + 0.58482233974552040708e0 * t1834 * t436 + 0.58482233974552040708e0 * t1177 * t767 - 0.11696446794910408142e1 * t1182 * t1839 + 0.58482233974552040708e0 * t427 * t1854 + 0.17315755899375863299e2 * t1204 * t1858; + const double t1865 = t64 * t759; + const double t1870 = t1181 * t766; + const double t1871 = t1870 * t436; + const double t1875 = t426 * t1853 * t435; + const double t1878 = t1203 * t766; + const double t1879 = t1206 * t434; + const double t1880 = t1878 * t1879; + const double t1883 = -t1750 + t1753 + t1755 - t1758 + t1790 + t1794 + t64 * t1861 + 0.19751789702565206229e-1 * t64 * t1832 - 0.58482233974552040708e0 * t1865 * t445 - 0.58482233974552040708e0 * t1214 * t775 + 0.11696446794910408142e1 * t443 * t1871 - 0.58482233974552040708e0 * t443 * t1875 - 0.17315755899375863299e2 * t443 * t1880; + const double t1887 = piecewise_functor_3( t8, 0.0, t1729 * t95 / 0.2e1 + t9 * t1883 / 0.2e1 + t355 * t778 / 0.2e1 + t721 * t448 / 0.2e1 ); + const double t1888 = t1887 * t147; + const double t1889 = t782 * t496; + const double t1890 = piecewise_functor_3( t151, 0.0, -t1728 ); + const double t1896 = t16 * t359 * t789; + const double t1898 = t1304 * t784; + const double t1901 = t504 * t2; + const double t1905 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1898 * t498 + 0.2e1 / 0.3e1 * t1901 * t1042 ); + const double t1907 = t16 * t20 * t1905; + const double t1909 = t1298 - 0.17808333333333333333e-1 * t1300 - 0.17808333333333333333e-1 * t1896 + 0.53425e-1 * t1907; + const double t1911 = 0.62182e-1 * t1909 * t174; + const double t1912 = t793 * t515; + const double t1914 = 0.1e1 * t1912 * t536; + const double t1916 = 0.1e1 * t1318 * t807; + const double t1917 = t807 * t534; + const double t1919 = 0.2e1 * t1323 * t1917; + const double t1920 = t1329 * t796; + const double t1921 = t1920 * t519; + const double t1925 = t1333 - t1300 / 0.3e1 - t1896 / 0.3e1 + t1907; + const double t1926 = t517 * t1925; + const double t1931 = t1341 * t796; + const double t1932 = t1931 * t519; + const double t1934 = t524 * t1925; + const double t1938 = t38 * t388 * t802; + const double t1940 = t507 * t789; + const double t1942 = t38 * t42 * t1940; + const double t1944 = t156 * t1905; + const double t1946 = t38 * t42 * t1944; + const double t1948 = -0.9494625e0 * t1921 + 0.1898925e1 * t1926 + t1338 - 0.29896666666666666667e0 * t1300 - 0.29896666666666666667e0 * t1896 + 0.8969e0 * t1907 + 0.15358125e0 * t1932 + 0.3071625e0 * t1934 + t1348 - 0.16431333333333333333e0 * t1350 - 0.16431333333333333333e0 * t1938 + 0.24647e0 * t1942 + 0.24647e0 * t1946; + const double t1949 = t1948 * t535; + const double t1951 = 0.1e1 * t516 * t1949; + const double t1952 = t806 * t1368; + const double t1953 = t1952 * t534; + const double t1955 = 0.16081824322151104822e2 * t1366 * t1953; + const double t1959 = t1372 - 0.17123333333333333333e-1 * t1300 - 0.17123333333333333333e-1 * t1896 + 0.5137e-1 * t1907; + const double t1962 = t811 * t545; + const double t1967 = t819 * t553; + const double t1981 = -0.17648625e1 * t1921 + 0.3529725e1 * t1926 + t1390 - 0.516475e0 * t1300 - 0.516475e0 * t1896 + 0.1549425e1 * t1907 + 0.31558125e0 * t1932 + 0.6311625e0 * t1934 + t1395 - 0.20839e0 * t1350 - 0.20839e0 * t1938 + 0.312585e0 * t1942 + 0.312585e0 * t1946; + const double t1982 = t1981 * t554; + const double t1985 = t818 * t1407; + const double t1986 = t1985 * t553; + const double t1992 = t1411 - 0.92708333333333333333e-2 * t1300 - 0.92708333333333333333e-2 * t1896 + 0.278125e-1 * t1907; + const double t1993 = t1992 * t200; + const double t1995 = t823 * t564; + const double t2000 = t831 * t572; + const double t2014 = -0.1294625e1 * t1921 + 0.258925e1 * t1926 + t1429 - 0.301925e0 * t1300 - 0.301925e0 * t1896 + 0.905775e0 * t1907 + 0.82524375e-1 * t1932 + 0.16504875e0 * t1934 + t1434 - 0.16557e0 * t1350 - 0.16557e0 * t1938 + 0.248355e0 * t1942 + 0.248355e0 * t1946; + const double t2015 = t2014 * t573; + const double t2018 = t830 * t1446; + const double t2019 = t2018 * t572; + const double t2022 = -0.3109e-1 * t1959 * t187 + 0.1e1 * t1962 * t555 + 0.1e1 * t1378 * t819 - 0.2e1 * t1383 * t1967 + 0.1e1 * t546 * t1982 + 0.32164683177870697974e2 * t1405 * t1986 + t1911 - t1914 - t1916 + t1919 - t1951 - t1955 - 0.19751789702565206229e-1 * t1993 + 0.58482233974552040708e0 * t1995 * t574 + 0.58482233974552040708e0 * t1417 * t831 - 0.11696446794910408142e1 * t1422 * t2000 + 0.58482233974552040708e0 * t565 * t2015 + 0.17315755899375863299e2 * t1444 * t2019; + const double t2026 = t64 * t823; + const double t2031 = t1421 * t830; + const double t2032 = t2031 * t574; + const double t2036 = t564 * t2014 * t573; + const double t2039 = t1443 * t830; + const double t2040 = t1446 * t572; + const double t2041 = t2039 * t2040; + const double t2044 = -t1911 + t1914 + t1916 - t1919 + t1951 + t1955 + t64 * t2022 + 0.19751789702565206229e-1 * t64 * t1993 - 0.58482233974552040708e0 * t2026 * t583 - 0.58482233974552040708e0 * t1454 * t839 + 0.11696446794910408142e1 * t581 * t2032 - 0.58482233974552040708e0 * t581 * t2036 - 0.17315755899375863299e2 * t581 * t2041; + const double t2048 = piecewise_functor_3( t152, 0.0, t153 * t2044 / 0.2e1 + t1890 * t207 / 0.2e1 + t499 * t842 / 0.2e1 + t785 * t586 / 0.2e1 ); + const double t2049 = t2048 * t254; + const double t2050 = t590 * t890; + const double t2054 = -t1478 - 0.18311555036753159941e-3 * t1480 + t1485 + t1492 - 0.4e1 * t1493 + t1501 - t1504 - t1509 + t1511 - 0.4e1 * t1513 - t1539 + t1643 - t1647 - t1651; + const double t2056 = t899 * t10; + const double t2057 = t2056 * t675; + const double t2059 = t1517 * t720; + const double t2062 = t23 * t2; + const double t2066 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2059 * t354 + 0.8e1 / 0.3e1 * t2062 * t1042 ); + const double t2067 = t1525 * t784; + const double t2070 = t154 * t2; + const double t2074 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2067 * t498 - 0.8e1 / 0.3e1 * t2070 * t1042 ); + const double t2076 = ( t2066 + t2074 ) * t63; + const double t2079 = t620 * t900; + const double t2081 = t625 * t900; + const double t2083 = t2076 * t313; + const double t2085 = t899 * t668; + const double t2086 = t280 * t2085; + const double t2087 = t899 * t301; + const double t2088 = t2087 * t680; + const double t2090 = -0.58482233974552040708e0 * t1653 - 0.18311555036753159941e-3 * t2057 - t1887 + t1658 + 0.19751789702565206229e-1 * t2076 * t311 + 0.4e1 * t2079 - 0.4e1 * t2081 + t280 * t2083 + t2086 - 0.58482233974552040708e0 * t2088 + t1611 - t1593 + t1603 - t2048; + const double t2091 = t2054 + t2090; + const double t2092 = t2091 * t350; + const double t2093 = t904 * t716; + const double t2094 = t683 * t932; + const double t2095 = t906 * t850; + const double t2098 = t322 * t340; + const double t2099 = sigma_bb * t850; + const double t2100 = sigma_aa * t456; + const double t2101 = t2099 * t2100; + const double t2104 = t329 * sigma_aa; + const double t2105 = t2104 * t456; + const double t2108 = t693 * t340; + const double t2111 = t331 * t347; + const double t2114 = t1694 * t340; + const double t2117 = t700 * t347; + const double t2120 = t338 * t711; + const double t2123 = t1708 * t347; + const double t2126 = t707 * t711; + const double t2129 = t345 * t1716; + const double t2132 = -0.128e-3 * t2095 * t690 + 0.384e-6 * t2098 * t2101 + 0.128e-3 * t2105 * t911 - 0.1536e-5 * t2108 * t2101 + 0.3456e-8 * t2111 * t2101 + 0.1152e-5 * t2114 * t2101 - 0.10368e-7 * t2117 * t2101 + 0.20736e-10 * t2120 * t2101 + 0.6912e-8 * t2123 * t2101 - 0.55296e-10 * t2126 * t2101 + 0.10368e-12 * t2129 * t2101; + const double t2133 = t318 * t2132; + const double t2142 = 0.2e1 * t352 + 0.2e1 * t1043; + const double t2143 = piecewise_functor_3( t7, 0.0, t2142 ); + const double t2148 = t720 * t720; + const double t2154 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t2148 - t363 * t2142 / 0.3e1 ); + const double t2156 = t16 * t20 * t2154; + const double t2158 = t1055 - 0.35616666666666666666e-1 * t1735 + 0.53425e-1 * t2156; + const double t2160 = 0.62182e-1 * t2158 * t51; + const double t2162 = 0.2e1 * t1751 * t743; + const double t2163 = t742 * t742; + const double t2164 = t2163 * t397; + const double t2166 = 0.2e1 * t1080 * t2164; + const double t2167 = t732 * t732; + const double t2168 = t1086 * t2167; + const double t2171 = t1090 - 0.2e1 / 0.3e1 * t1735 + t2156; + const double t2172 = t376 * t2171; + const double t2176 = t1098 * t2167; + const double t2178 = t383 * t2171; + const double t2181 = t725 * t725; + const double t2183 = t38 * t42 * t2181; + const double t2185 = t25 * t2154; + const double t2187 = t38 * t42 * t2185; + const double t2189 = -0.9494625e0 * t2168 + 0.1898925e1 * t2172 + t1095 - 0.59793333333333333334e0 * t1735 + 0.8969e0 * t2156 + 0.15358125e0 * t2176 + 0.3071625e0 * t2178 + t1108 - 0.32862666666666666666e0 * t1777 + 0.24647e0 * t2183 + 0.24647e0 * t2187; + const double t2190 = t2189 * t397; + const double t2192 = 0.1e1 * t375 * t2190; + const double t2193 = t2163 * t1128; + const double t2195 = 0.16081824322151104822e2 * t1126 * t2193; + const double t2198 = t1132 - 0.34246666666666666666e-1 * t1735 + 0.5137e-1 * t2156; + const double t2203 = t754 * t754; + const double t2204 = t2203 * t416; + const double t2216 = -0.17648625e1 * t2168 + 0.3529725e1 * t2172 + t1150 - 0.103295e1 * t1735 + 0.1549425e1 * t2156 + 0.31558125e0 * t2176 + 0.6311625e0 * t2178 + t1155 - 0.41678e0 * t1777 + 0.312585e0 * t2183 + 0.312585e0 * t2187; + const double t2217 = t2216 * t416; + const double t2220 = t2203 * t1167; + const double t2225 = t1171 - 0.18541666666666666667e-1 * t1735 + 0.278125e-1 * t2156; + const double t2226 = t2225 * t88; + const double t2230 = t766 * t766; + const double t2231 = t2230 * t435; + const double t2243 = -0.1294625e1 * t2168 + 0.258925e1 * t2172 + t1189 - 0.60385e0 * t1735 + 0.905775e0 * t2156 + 0.82524375e-1 * t2176 + 0.16504875e0 * t2178 + t1194 - 0.33114e0 * t1777 + 0.248355e0 * t2183 + 0.248355e0 * t2187; + const double t2244 = t2243 * t435; + const double t2247 = t2230 * t1206; + const double t2250 = -0.3109e-1 * t2198 * t75 + 0.2e1 * t1801 * t755 - 0.2e1 * t1143 * t2204 + 0.1e1 * t408 * t2217 + 0.32164683177870697974e2 * t1165 * t2220 + t2160 - t2162 + t2166 - t2192 - t2195 - 0.19751789702565206229e-1 * t2226 + 0.11696446794910408142e1 * t1834 * t767 - 0.11696446794910408142e1 * t1182 * t2231 + 0.58482233974552040708e0 * t427 * t2244 + 0.17315755899375863299e2 * t1204 * t2247; + const double t2257 = t1181 * t2230 * t435; + const double t2261 = t426 * t2243 * t435; + const double t2264 = t1203 * t2230; + const double t2265 = t2264 * t1206; + const double t2268 = -t2160 + t2162 - t2166 + t2192 + t2195 + t64 * t2250 + 0.19751789702565206229e-1 * t64 * t2226 - 0.11696446794910408142e1 * t1865 * t775 + 0.11696446794910408142e1 * t443 * t2257 - 0.58482233974552040708e0 * t443 * t2261 - 0.17315755899375863299e2 * t443 * t2265; + const double t2272 = piecewise_functor_3( t8, 0.0, t2143 * t95 / 0.2e1 + t721 * t778 + t9 * t2268 / 0.2e1 ); + const double t2273 = t2272 * t147; + const double t2274 = -t2142; + const double t2275 = piecewise_functor_3( t151, 0.0, t2274 ); + const double t2280 = t784 * t784; + const double t2286 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t2280 - t504 * t2274 / 0.3e1 ); + const double t2288 = t16 * t20 * t2286; + const double t2290 = t1298 - 0.35616666666666666666e-1 * t1896 + 0.53425e-1 * t2288; + const double t2292 = 0.62182e-1 * t2290 * t174; + const double t2294 = 0.2e1 * t1912 * t807; + const double t2295 = t806 * t806; + const double t2296 = t2295 * t535; + const double t2298 = 0.2e1 * t1323 * t2296; + const double t2299 = t796 * t796; + const double t2300 = t1329 * t2299; + const double t2303 = t1333 - 0.2e1 / 0.3e1 * t1896 + t2288; + const double t2304 = t517 * t2303; + const double t2308 = t1341 * t2299; + const double t2310 = t524 * t2303; + const double t2313 = t789 * t789; + const double t2315 = t38 * t42 * t2313; + const double t2317 = t156 * t2286; + const double t2319 = t38 * t42 * t2317; + const double t2321 = -0.9494625e0 * t2300 + 0.1898925e1 * t2304 + t1338 - 0.59793333333333333334e0 * t1896 + 0.8969e0 * t2288 + 0.15358125e0 * t2308 + 0.3071625e0 * t2310 + t1348 - 0.32862666666666666666e0 * t1938 + 0.24647e0 * t2315 + 0.24647e0 * t2319; + const double t2322 = t2321 * t535; + const double t2324 = 0.1e1 * t516 * t2322; + const double t2325 = t2295 * t1368; + const double t2327 = 0.16081824322151104822e2 * t1366 * t2325; + const double t2330 = t1372 - 0.34246666666666666666e-1 * t1896 + 0.5137e-1 * t2288; + const double t2335 = t818 * t818; + const double t2336 = t2335 * t554; + const double t2348 = -0.17648625e1 * t2300 + 0.3529725e1 * t2304 + t1390 - 0.103295e1 * t1896 + 0.1549425e1 * t2288 + 0.31558125e0 * t2308 + 0.6311625e0 * t2310 + t1395 - 0.41678e0 * t1938 + 0.312585e0 * t2315 + 0.312585e0 * t2319; + const double t2349 = t2348 * t554; + const double t2352 = t2335 * t1407; + const double t2357 = t1411 - 0.18541666666666666667e-1 * t1896 + 0.278125e-1 * t2288; + const double t2358 = t2357 * t200; + const double t2362 = t830 * t830; + const double t2363 = t2362 * t573; + const double t2375 = -0.1294625e1 * t2300 + 0.258925e1 * t2304 + t1429 - 0.60385e0 * t1896 + 0.905775e0 * t2288 + 0.82524375e-1 * t2308 + 0.16504875e0 * t2310 + t1434 - 0.33114e0 * t1938 + 0.248355e0 * t2315 + 0.248355e0 * t2319; + const double t2376 = t2375 * t573; + const double t2379 = t2362 * t1446; + const double t2382 = -0.3109e-1 * t2330 * t187 + 0.2e1 * t1962 * t819 - 0.2e1 * t1383 * t2336 + 0.1e1 * t546 * t2349 + 0.32164683177870697974e2 * t1405 * t2352 + t2292 - t2294 + t2298 - t2324 - t2327 - 0.19751789702565206229e-1 * t2358 + 0.11696446794910408142e1 * t1995 * t831 - 0.11696446794910408142e1 * t1422 * t2363 + 0.58482233974552040708e0 * t565 * t2376 + 0.17315755899375863299e2 * t1444 * t2379; + const double t2389 = t1421 * t2362 * t573; + const double t2393 = t564 * t2375 * t573; + const double t2396 = t1443 * t2362; + const double t2397 = t2396 * t1446; + const double t2400 = -t2292 + t2294 - t2298 + t2324 + t2327 + t64 * t2382 + 0.19751789702565206229e-1 * t64 * t2358 - 0.11696446794910408142e1 * t2026 * t839 + 0.11696446794910408142e1 * t581 * t2389 - 0.58482233974552040708e0 * t581 * t2393 - 0.17315755899375863299e2 * t581 * t2397; + const double t2404 = piecewise_functor_3( t152, 0.0, t2275 * t207 / 0.2e1 + t785 * t842 + t153 * t2400 / 0.2e1 ); + const double t2405 = t2404 * t254; + const double t2406 = t846 * t890; + const double t2407 = 0.2e1 * t2406; + const double t2409 = 0.1e1 / t214 / t226; + const double t2413 = t226 * t848; + const double t2415 = 0.1e1 / t213 / t2413; + const double t2416 = t2415 * t231; + const double t2419 = t100 * t235; + const double t2420 = 0.1e1 / t246; + const double t2421 = t2420 * t240; + const double t2428 = t114 * t244; + const double t2429 = t237 * t226; + const double t2431 = 0.1e1 / t214 / t2429; + const double t2432 = t2431 * t250; + const double t2439 = t126 * t880; + const double t2443 = 0.1e1 / t213 / t237 / t2413 * t886; + const double t2450 = t244 * t224; + const double t2451 = t136 * t2450; + const double t2452 = t237 * t237; + const double t2453 = t2452 * t212; + const double t2456 = 0.1e1 / t249 / t230; + const double t2457 = 0.1e1 / t2453 * t2456; + const double t2460 = 0.19555555555555555555e1 * t211 * t2409 * t220 - 0.96000000000000000002e0 * t854 * t2416 + 0.11377777777777777778e0 * t2419 * t2421 + 0.13511111111111111111e1 * t225 * t2416 - 0.61155555555555555557e0 * t863 * t2421 + 0.68266666666666666669e-1 * t2428 * t2432 + 0.576e0 * t236 * t2421 - 0.25173333333333333333e0 * t871 * t2432 + 0.27306666666666666666e-1 * t2439 * t2443 + 0.19911111111111111112e0 * t245 * t2432 - 0.85333333333333333333e-1 * t881 * t2443 + 0.91022222222222222219e-2 * t2451 * t2457; + const double t2461 = t210 * t2460; + const double t2467 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t2148 + 0.4e1 / 0.3e1 * t23 * t2142 ); + const double t2473 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t2280 + 0.4e1 / 0.3e1 * t154 * t2274 ); + const double t2475 = ( t2467 + t2473 ) * t63; + const double t2476 = t2475 * t313; + const double t2478 = t280 * t2476 - t1478 + t1485 + t1492 - t1496 + t1501 + t1504 + t1507 - t1509 - t1539 + t1643 - t2404; + const double t2486 = -t1647 - t1651 - 0.36623110073506319882e-3 * t2057 - t2272 + t1658 + 0.19751789702565206229e-1 * t2475 * t311 - 0.8e1 * t2079 - 0.8e1 * t2081 + 0.2e1 * t2086 - 0.11696446794910408142e1 * t2088 + t1611 - t1593 + t1603; + const double t2487 = t2478 + t2486; + const double t2488 = t2487 * t350; + const double t2489 = t904 * t932; + const double t2490 = 0.2e1 * t2489; + const double t2494 = t320 * t224; + const double t2495 = t2415 * t333; + const double t2498 = t340 * t224; + const double t2499 = t2498 * t2415; + const double t2502 = t910 * t2409; + const double t2505 = t329 * t224; + const double t2512 = t347 * t224; + const double t2513 = t2512 * t2415; + const double t2516 = t916 * t2409; + const double t2525 = t711 * t224; + const double t2526 = t2525 * t2415; + const double t2529 = t922 * t2409; + const double t2538 = t1716 * t224; + const double t2545 = 0.29333333333333333333e-1 * t906 * t2409 * t326 - 0.128e-3 * t2494 * t2495 + 0.384e-6 * t322 * t2499 - 0.88e-4 * t322 * t2502 + 0.128e-3 * t2505 * t2495 - 0.1536e-5 * t693 * t2499 + 0.176e-3 * t693 * t2502 + 0.3456e-8 * t331 * t2513 - 0.528e-6 * t331 * t2516 + 0.1152e-5 * t1694 * t2499 - 0.10368e-7 * t700 * t2513 + 0.792e-6 * t700 * t2516 + 0.20736e-10 * t338 * t2526 - 0.2376e-8 * t338 * t2529 + 0.6912e-8 * t1708 * t2513 - 0.55296e-10 * t707 * t2526 + 0.3168e-8 * t707 * t2529 + 0.10368e-12 * t345 * t2538 * t2415 - 0.9504e-11 * t345 * t928 * t2409; + const double t2546 = t318 * t2545; + const double t2549 = t452 * t960; + const double t2553 = t100 * t463; + const double t2554 = t122 * sigma_aa; + const double t2575 = t1281 * rho_a; + const double t2577 = 0.1e1 / t2575 * t1285; + const double t2580 = -0.53333333333333333333e0 * t100 * t456 * t110 + 0.32e0 * t2553 * t2554 - 0.42666666666666666668e-1 * t460 * t472 - 0.42666666666666666667e0 * t941 * t464 + 0.21333333333333333334e0 * t116 * t472 - 0.256e-1 * t469 * t481 - 0.192e0 * t946 * t472 + 0.896e-1 * t128 * t481 - 0.1024e-1 * t477 * t493 - 0.68266666666666666667e-1 * t951 * t481 + 0.3072e-1 * t138 * t493 - 0.34133333333333333332e-2 * t487 * t2577; + const double t2581 = t98 * t2580; + const double t2582 = t683 * t983; + const double t2583 = t320 * t456; + const double t2586 = t320 * t463; + const double t2589 = t340 * t463; + const double t2590 = t2589 * sigma_aa; + const double t2593 = t333 * t456; + const double t2603 = t347 * t463; + const double t2604 = t2603 * sigma_aa; + const double t2607 = t340 * t456; + const double t2616 = t711 * t463; + const double t2617 = t2616 * sigma_aa; + const double t2620 = t347 * t456; + const double t2629 = t1716 * t463; + const double t2636 = -0.8e-2 * t2583 * t326 + 0.48e-4 * t2586 * t689 - 0.144e-6 * t322 * t2590 + 0.24e-4 * t322 * t2593 - 0.48e-4 * t2104 * t463 * t333 + 0.576e-6 * t693 * t2590 - 0.48e-4 * t693 * t2593 - 0.1296e-8 * t331 * t2604 + 0.144e-6 * t331 * t2607 - 0.432e-6 * t1694 * t2590 + 0.3888e-8 * t700 * t2604 - 0.216e-6 * t700 * t2607 - 0.7776e-11 * t338 * t2617 + 0.648e-9 * t338 * t2620 - 0.2592e-8 * t1708 * t2604 + 0.20736e-10 * t707 * t2617 - 0.864e-9 * t707 * t2620 - 0.3888e-13 * t345 * t2629 * sigma_aa + 0.2592e-11 * t345 * t711 * t456; + const double t2637 = t318 * t2636; + const double t2640 = t590 * t1010; + const double t2641 = t683 * t1033; + const double t2644 = t216 * sigma_aa; + const double t2645 = t2644 * t456; + const double t2667 = 0.48e-4 * t1012 * t690 - 0.144e-6 * t2098 * t2645 - 0.48e-4 * t2104 * t2593 * t216 + 0.576e-6 * t2108 * t2645 - 0.1296e-8 * t2111 * t2645 - 0.432e-6 * t2114 * t2645 + 0.3888e-8 * t2117 * t2645 - 0.7776e-11 * t2120 * t2645 - 0.2592e-8 * t2123 * t2645 + 0.20736e-10 * t2126 * t2645 - 0.3888e-13 * t2129 * t2645; + const double t2668 = t318 * t2667; + const double t2671 = t782 * t960; + const double t2672 = t904 * t983; + const double t2675 = t106 * sigma_bb; + const double t2676 = t2675 * t850; + const double t2679 = t329 * sigma_bb; + const double t2680 = t850 * t333; + const double t2700 = 0.48e-4 * t962 * t911 - 0.144e-6 * t2098 * t2676 - 0.48e-4 * t2679 * t2680 * t106 + 0.576e-6 * t2108 * t2676 - 0.1296e-8 * t2111 * t2676 - 0.432e-6 * t2114 * t2676 + 0.3888e-8 * t2117 * t2676 - 0.7776e-11 * t2120 * t2676 - 0.2592e-8 * t2123 * t2676 + 0.20736e-10 * t2126 * t2676 - 0.3888e-13 * t2129 * t2676; + const double t2701 = t318 * t2700; + const double t2704 = t846 * t1010; + const double t2708 = t100 * t857; + const double t2709 = t231 * sigma_bb; + const double t2730 = t2452 * rho_b; + const double t2732 = 0.1e1 / t2730 * t2456; + const double t2735 = -0.53333333333333333333e0 * t100 * t850 * t220 + 0.32e0 * t2708 * t2709 - 0.42666666666666666668e-1 * t854 * t866 - 0.42666666666666666667e0 * t991 * t858 + 0.21333333333333333334e0 * t225 * t866 - 0.256e-1 * t863 * t875 - 0.192e0 * t996 * t866 + 0.896e-1 * t236 * t875 - 0.1024e-1 * t871 * t887 - 0.68266666666666666667e-1 * t1001 * t875 + 0.3072e-1 * t245 * t887 - 0.34133333333333333332e-2 * t881 * t2732; + const double t2736 = t210 * t2735; + const double t2737 = t904 * t1033; + const double t2738 = t320 * t850; + const double t2741 = t320 * t857; + const double t2744 = t340 * t857; + const double t2745 = t2744 * sigma_bb; + const double t2757 = t347 * t857; + const double t2758 = t2757 * sigma_bb; + const double t2761 = t340 * t850; + const double t2770 = t711 * t857; + const double t2771 = t2770 * sigma_bb; + const double t2774 = t347 * t850; + const double t2783 = t1716 * t857; + const double t2787 = t711 * t850; + const double t2790 = -0.8e-2 * t2738 * t326 + 0.48e-4 * t2741 * t910 - 0.144e-6 * t322 * t2745 + 0.24e-4 * t322 * t2680 - 0.48e-4 * t2679 * t857 * t333 + 0.576e-6 * t693 * t2745 - 0.48e-4 * t693 * t2680 - 0.1296e-8 * t331 * t2758 + 0.144e-6 * t331 * t2761 - 0.432e-6 * t1694 * t2745 + 0.3888e-8 * t700 * t2758 - 0.216e-6 * t700 * t2761 - 0.7776e-11 * t338 * t2771 + 0.648e-9 * t338 * t2774 - 0.2592e-8 * t1708 * t2758 + 0.20736e-10 * t707 * t2771 - 0.864e-9 * t707 * t2774 - 0.3888e-13 * t345 * t2783 * sigma_bb + 0.2592e-11 * t345 * t2787; + const double t2791 = t318 * t2790; + const double t2806 = t126 * sigma_aa; + const double t2813 = t136 * t115; + const double t2819 = 0.1e1 / t1281 * t1285; + const double t2822 = -0.8e-1 * t100 * t120 * t122 + 0.16e-1 * t101 * t133 + 0.8e-1 * t114 * t120 * t122 - 0.64e-1 * t941 * t133 + 0.96e-2 * t116 * t144 + 0.48e-1 * t2806 * t133 - 0.288e-1 * t946 * t144 + 0.384e-2 * t128 * t957 + 0.192e-1 * t2813 * t144 - 0.1024e-1 * t951 * t957 + 0.128e-2 * t138 * t2819; + const double t2823 = t98 * t2822; + const double t2824 = t320 * t120; + const double t2827 = t340 * t120; + const double t2830 = t329 * t120; + const double t2835 = t347 * t120; + const double t2842 = t711 * t120; + const double t2852 = -0.18e-4 * t2824 * t333 + 0.54e-7 * t322 * t2827 + 0.18e-4 * t2830 * t333 - 0.216e-6 * t693 * t2827 + 0.486e-9 * t331 * t2835 + 0.162e-6 * t1694 * t2827 - 0.1458e-8 * t700 * t2835 + 0.2916e-11 * t338 * t2842 + 0.972e-9 * t1708 * t2835 - 0.7776e-11 * t707 * t2842 + 0.1458e-13 * t345 * t1716 * t120; + const double t2853 = t318 * t2852; + const double t2855 = t3 * t318; + const double t2858 = t1020 * t106; + const double t2861 = t329 * t106; + const double t2866 = t1025 * t106; + const double t2873 = t1030 * t106; + const double t2880 = t1716 * t216; + const double t2884 = -0.18e-4 * t1012 * t965 + 0.54e-7 * t322 * t2858 + 0.18e-4 * t2861 * t1015 - 0.216e-6 * t693 * t2858 + 0.486e-9 * t331 * t2866 + 0.162e-6 * t1694 * t2858 - 0.1458e-8 * t700 * t2866 + 0.2916e-11 * t338 * t2873 + 0.972e-9 * t1708 * t2866 - 0.7776e-11 * t707 * t2873 + 0.1458e-13 * t345 * t2880 * t106; + const double t2897 = t126 * sigma_bb; + const double t2904 = t136 * t224; + const double t2910 = 0.1e1 / t2452 * t2456; + const double t2913 = -0.8e-1 * t100 * t229 * t231 + 0.16e-1 * t211 * t241 + 0.8e-1 * t114 * t229 * t231 - 0.64e-1 * t991 * t241 + 0.96e-2 * t225 * t251 + 0.48e-1 * t2897 * t241 - 0.288e-1 * t996 * t251 + 0.384e-2 * t236 * t1007 + 0.192e-1 * t2904 * t251 - 0.1024e-1 * t1001 * t1007 + 0.128e-2 * t245 * t2910; + const double t2914 = t210 * t2913; + const double t2915 = t320 * t229; + const double t2918 = t340 * t229; + const double t2921 = t329 * t229; + const double t2926 = t347 * t229; + const double t2933 = t711 * t229; + const double t2940 = t1716 * t229; + const double t2943 = -0.18e-4 * t2915 * t333 + 0.54e-7 * t322 * t2918 + 0.18e-4 * t2921 * t333 - 0.216e-6 * t693 * t2918 + 0.486e-9 * t331 * t2926 + 0.162e-6 * t1694 * t2918 - 0.1458e-8 * t700 * t2926 + 0.2916e-11 * t338 * t2933 + 0.972e-9 * t1708 * t2926 - 0.7776e-11 * t707 * t2933 + 0.1458e-13 * t345 * t2940; + const double t2944 = t318 * t2943; + + + v2rho2_aa = 0.2e1 * t453 + 0.2e1 * t497 + 0.2e1 * t591 + 0.2e1 * t684 + 0.2e1 * t717 + t3 * ( t1234 + t1236 + t1290 + t1474 + t1663 + t1665 + t1725 ); + v2rho2_ab = t453 + t497 + t591 + t684 + t717 + t783 + t847 + t891 + t905 + t933 + t3 * ( t1888 + t1889 + t2049 + t2050 + t2092 + t2093 + t2094 + t2133 ); + v2rho2_bb = 0.2e1 * t783 + 0.2e1 * t847 + 0.2e1 * t891 + 0.2e1 * t905 + 0.2e1 * t933 + t3 * ( t2273 + t2405 + t2407 + t2461 + t2488 + t2490 + t2546 ); + v2rhosigma_a_aa = t961 + t984 + t3 * ( t2549 + t2581 + t2582 + t2637 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1011 + t1034 + t3 * ( t2640 + t2641 + t2668 ); + v2rhosigma_b_aa = t961 + t984 + t3 * ( t2671 + t2672 + t2701 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1011 + t1034 + t3 * ( t2704 + t2736 + t2737 + t2791 ); + v2sigma2_aa_aa = t3 * ( t2823 + t2853 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t2855 * t2884; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t2914 + t2944 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + constexpr double t1557 = t36 * t14; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + const double t1041 = t277 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t2 * t1042; + const double t1045 = -0.2e1 * t352 + 0.2e1 * t1043; + const double t1046 = piecewise_functor_3( t7, 0.0, t1045 ); + const double t1051 = 0.1e1 / t17 / t277; + const double t1052 = t1051 * t19; + const double t1054 = t16 * t1052 * t25; + const double t1055 = 0.23744444444444444444e-1 * t1054; + const double t1057 = t16 * t359 * t366; + const double t1059 = t6 * t6; + const double t1061 = 0.1e1 / t23 / t1059; + const double t1062 = t354 * t354; + const double t1068 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t1062 - t363 * t1045 / 0.3e1 ); + const double t1070 = t16 * t20 * t1068; + const double t1072 = t1055 - 0.35616666666666666666e-1 * t1057 + 0.53425e-1 * t1070; + const double t1074 = 0.62182e-1 * t1072 * t51; + const double t1075 = t370 * t374; + const double t1077 = 0.2e1 * t1075 * t398; + const double t1078 = t373 * t47; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t29 * t1079; + const double t1081 = t396 * t396; + const double t1082 = t1081 * t397; + const double t1084 = 0.2e1 * t1080 * t1082; + const double t1086 = 0.1e1 / t30 / t27; + const double t1087 = t378 * t378; + const double t1088 = t1086 * t1087; + const double t1090 = 0.4e1 / 0.9e1 * t1054; + const double t1092 = t1090 - 0.2e1 / 0.3e1 * t1057 + t1070; + const double t1093 = t376 * t1092; + const double t1095 = 0.39862222222222222223e0 * t1054; + const double t1098 = 0.1e1/safe_math::sqrt( t27 ); + const double t1099 = t1098 * t1087; + const double t1101 = t383 * t1092; + const double t1104 = 0.1e1 / t39 / t277; + const double t1105 = t1104 * t41; + const double t1107 = t38 * t1105 * t43; + const double t1108 = 0.13692777777777777778e0 * t1107; + const double t1110 = t38 * t388 * t392; + const double t1112 = t366 * t366; + const double t1114 = t38 * t42 * t1112; + const double t1116 = t25 * t1068; + const double t1118 = t38 * t42 * t1116; + const double t1120 = -0.9494625e0 * t1088 + 0.1898925e1 * t1093 + t1095 - 0.59793333333333333334e0 * t1057 + 0.8969e0 * t1070 + 0.15358125e0 * t1099 + 0.3071625e0 * t1101 + t1108 - 0.32862666666666666666e0 * t1110 + 0.24647e0 * t1114 + 0.24647e0 * t1118; + const double t1121 = t1120 * t397; + const double t1123 = 0.1e1 * t375 * t1121; + const double t1124 = t373 * t373; + const double t1125 = 0.1e1 / t1124; + const double t1126 = t29 * t1125; + const double t1127 = t50 * t50; + const double t1128 = 0.1e1 / t1127; + const double t1129 = t1081 * t1128; + const double t1131 = 0.16081824322151104822e2 * t1126 * t1129; + const double t1132 = 0.22831111111111111111e-1 * t1054; + const double t1135 = t1132 - 0.34246666666666666666e-1 * t1057 + 0.5137e-1 * t1070; + const double t1138 = t403 * t407; + const double t1141 = t406 * t71; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t66 * t1142; + const double t1144 = t415 * t415; + const double t1145 = t1144 * t416; + const double t1150 = 0.68863333333333333333e0 * t1054; + const double t1155 = 0.17365833333333333333e0 * t1107; + const double t1159 = -0.17648625e1 * t1088 + 0.3529725e1 * t1093 + t1150 - 0.103295e1 * t1057 + 0.1549425e1 * t1070 + 0.31558125e0 * t1099 + 0.6311625e0 * t1101 + t1155 - 0.41678e0 * t1110 + 0.312585e0 * t1114 + 0.312585e0 * t1118; + const double t1160 = t1159 * t416; + const double t1163 = t406 * t406; + const double t1164 = 0.1e1 / t1163; + const double t1165 = t66 * t1164; + const double t1166 = t74 * t74; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t1144 * t1167; + const double t1171 = 0.12361111111111111111e-1 * t1054; + const double t1174 = t1171 - 0.18541666666666666667e-1 * t1057 + 0.278125e-1 * t1070; + const double t1175 = t1174 * t88; + const double t1177 = t422 * t426; + const double t1180 = t425 * t84; + const double t1181 = 0.1e1 / t1180; + const double t1182 = t79 * t1181; + const double t1183 = t434 * t434; + const double t1184 = t1183 * t435; + const double t1189 = 0.40256666666666666667e0 * t1054; + const double t1194 = 0.137975e0 * t1107; + const double t1198 = -0.1294625e1 * t1088 + 0.258925e1 * t1093 + t1189 - 0.60385e0 * t1057 + 0.905775e0 * t1070 + 0.82524375e-1 * t1099 + 0.16504875e0 * t1101 + t1194 - 0.33114e0 * t1110 + 0.248355e0 * t1114 + 0.248355e0 * t1118; + const double t1199 = t1198 * t435; + const double t1202 = t425 * t425; + const double t1203 = 0.1e1 / t1202; + const double t1204 = t79 * t1203; + const double t1205 = t87 * t87; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t1183 * t1206; + const double t1210 = -0.3109e-1 * t1135 * t75 + 0.2e1 * t1138 * t417 - 0.2e1 * t1143 * t1145 + 0.1e1 * t408 * t1160 + 0.32164683177870697974e2 * t1165 * t1168 + t1074 - t1077 + t1084 - t1123 - t1131 - 0.19751789702565206229e-1 * t1175 + 0.11696446794910408142e1 * t1177 * t436 - 0.11696446794910408142e1 * t1182 * t1184 + 0.58482233974552040708e0 * t427 * t1199 + 0.17315755899375863299e2 * t1204 * t1207; + const double t1214 = t64 * t422; + const double t1218 = t1181 * t1183 * t435; + const double t1222 = t426 * t1198 * t435; + const double t1225 = t1203 * t1183; + const double t1226 = t1225 * t1206; + const double t1229 = -t1074 + t1077 - t1084 + t1123 + t1131 + t64 * t1210 + 0.19751789702565206229e-1 * t64 * t1175 - 0.11696446794910408142e1 * t1214 * t445 + 0.11696446794910408142e1 * t443 * t1218 - 0.58482233974552040708e0 * t443 * t1222 - 0.17315755899375863299e2 * t443 * t1226; + const double t1233 = piecewise_functor_3( t8, 0.0, t1046 * t95 / 0.2e1 + t355 * t448 + t9 * t1229 / 0.2e1 ); + const double t1234 = t1233 * t147; + const double t1235 = t452 * t496; + const double t1236 = 0.2e1 * t1235; + const double t1238 = 0.1e1 / t104 / t117; + const double t1242 = t117 * t454; + const double t1244 = 0.1e1 / t103 / t1242; + const double t1245 = t1244 * t122; + const double t1248 = t100 * t127; + const double t1249 = 0.1e1 / t139; + const double t1250 = t1249 * t132; + const double t1257 = t114 * t137; + const double t1258 = t129 * t117; + const double t1260 = 0.1e1 / t104 / t1258; + const double t1261 = t1260 * t143; + const double t1268 = t126 * t486; + const double t1272 = 0.1e1 / t103 / t129 / t1242 * t492; + const double t1279 = t137 * t115; + const double t1280 = t136 * t1279; + const double t1281 = t129 * t129; + const double t1282 = t1281 * t102; + const double t1285 = 0.1e1 / t142 / t121; + const double t1286 = 0.1e1 / t1282 * t1285; + const double t1289 = 0.19555555555555555555e1 * t101 * t1238 * t110 - 0.96000000000000000002e0 * t460 * t1245 + 0.11377777777777777778e0 * t1248 * t1250 + 0.13511111111111111111e1 * t116 * t1245 - 0.61155555555555555557e0 * t469 * t1250 + 0.68266666666666666669e-1 * t1257 * t1261 + 0.576e0 * t128 * t1250 - 0.25173333333333333333e0 * t477 * t1261 + 0.27306666666666666666e-1 * t1268 * t1272 + 0.19911111111111111112e0 * t138 * t1261 - 0.85333333333333333333e-1 * t487 * t1272 + 0.91022222222222222219e-2 * t1280 * t1286; + const double t1290 = t98 * t1289; + const double t1291 = -t1045; + const double t1292 = piecewise_functor_3( t151, 0.0, t1291 ); + const double t1297 = t16 * t1052 * t156; + const double t1298 = 0.23744444444444444444e-1 * t1297; + const double t1300 = t16 * t359 * t507; + const double t1302 = t150 * t150; + const double t1304 = 0.1e1 / t154 / t1302; + const double t1305 = t498 * t498; + const double t1311 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t1305 - t504 * t1291 / 0.3e1 ); + const double t1313 = t16 * t20 * t1311; + const double t1315 = t1298 - 0.35616666666666666666e-1 * t1300 + 0.53425e-1 * t1313; + const double t1317 = 0.62182e-1 * t1315 * t174; + const double t1318 = t511 * t515; + const double t1320 = 0.2e1 * t1318 * t536; + const double t1321 = t514 * t170; + const double t1322 = 0.1e1 / t1321; + const double t1323 = t160 * t1322; + const double t1324 = t534 * t534; + const double t1325 = t1324 * t535; + const double t1327 = 0.2e1 * t1323 * t1325; + const double t1329 = 0.1e1 / t161 / t158; + const double t1330 = t519 * t519; + const double t1331 = t1329 * t1330; + const double t1333 = 0.4e1 / 0.9e1 * t1297; + const double t1335 = t1333 - 0.2e1 / 0.3e1 * t1300 + t1313; + const double t1336 = t517 * t1335; + const double t1338 = 0.39862222222222222223e0 * t1297; + const double t1341 = 0.1e1/safe_math::sqrt( t158 ); + const double t1342 = t1341 * t1330; + const double t1344 = t524 * t1335; + const double t1347 = t38 * t1105 * t166; + const double t1348 = 0.13692777777777777778e0 * t1347; + const double t1350 = t38 * t388 * t530; + const double t1352 = t507 * t507; + const double t1354 = t38 * t42 * t1352; + const double t1356 = t156 * t1311; + const double t1358 = t38 * t42 * t1356; + const double t1360 = -0.9494625e0 * t1331 + 0.1898925e1 * t1336 + t1338 - 0.59793333333333333334e0 * t1300 + 0.8969e0 * t1313 + 0.15358125e0 * t1342 + 0.3071625e0 * t1344 + t1348 - 0.32862666666666666666e0 * t1350 + 0.24647e0 * t1354 + 0.24647e0 * t1358; + const double t1361 = t1360 * t535; + const double t1363 = 0.1e1 * t516 * t1361; + const double t1364 = t514 * t514; + const double t1365 = 0.1e1 / t1364; + const double t1366 = t160 * t1365; + const double t1367 = t173 * t173; + const double t1368 = 0.1e1 / t1367; + const double t1369 = t1324 * t1368; + const double t1371 = 0.16081824322151104822e2 * t1366 * t1369; + const double t1372 = 0.22831111111111111111e-1 * t1297; + const double t1375 = t1372 - 0.34246666666666666666e-1 * t1300 + 0.5137e-1 * t1313; + const double t1378 = t541 * t545; + const double t1381 = t544 * t183; + const double t1382 = 0.1e1 / t1381; + const double t1383 = t178 * t1382; + const double t1384 = t553 * t553; + const double t1385 = t1384 * t554; + const double t1390 = 0.68863333333333333333e0 * t1297; + const double t1395 = 0.17365833333333333333e0 * t1347; + const double t1399 = -0.17648625e1 * t1331 + 0.3529725e1 * t1336 + t1390 - 0.103295e1 * t1300 + 0.1549425e1 * t1313 + 0.31558125e0 * t1342 + 0.6311625e0 * t1344 + t1395 - 0.41678e0 * t1350 + 0.312585e0 * t1354 + 0.312585e0 * t1358; + const double t1400 = t1399 * t554; + const double t1403 = t544 * t544; + const double t1404 = 0.1e1 / t1403; + const double t1405 = t178 * t1404; + const double t1406 = t186 * t186; + const double t1407 = 0.1e1 / t1406; + const double t1408 = t1384 * t1407; + const double t1411 = 0.12361111111111111111e-1 * t1297; + const double t1414 = t1411 - 0.18541666666666666667e-1 * t1300 + 0.278125e-1 * t1313; + const double t1415 = t1414 * t200; + const double t1417 = t560 * t564; + const double t1420 = t563 * t196; + const double t1421 = 0.1e1 / t1420; + const double t1422 = t191 * t1421; + const double t1423 = t572 * t572; + const double t1424 = t1423 * t573; + const double t1429 = 0.40256666666666666667e0 * t1297; + const double t1434 = 0.137975e0 * t1347; + const double t1438 = -0.1294625e1 * t1331 + 0.258925e1 * t1336 + t1429 - 0.60385e0 * t1300 + 0.905775e0 * t1313 + 0.82524375e-1 * t1342 + 0.16504875e0 * t1344 + t1434 - 0.33114e0 * t1350 + 0.248355e0 * t1354 + 0.248355e0 * t1358; + const double t1439 = t1438 * t573; + const double t1442 = t563 * t563; + const double t1443 = 0.1e1 / t1442; + const double t1444 = t191 * t1443; + const double t1445 = t199 * t199; + const double t1446 = 0.1e1 / t1445; + const double t1447 = t1423 * t1446; + const double t1450 = -0.3109e-1 * t1375 * t187 + 0.2e1 * t1378 * t555 - 0.2e1 * t1383 * t1385 + 0.1e1 * t546 * t1400 + 0.32164683177870697974e2 * t1405 * t1408 + t1317 - t1320 + t1327 - t1363 - t1371 - 0.19751789702565206229e-1 * t1415 + 0.11696446794910408142e1 * t1417 * t574 - 0.11696446794910408142e1 * t1422 * t1424 + 0.58482233974552040708e0 * t565 * t1439 + 0.17315755899375863299e2 * t1444 * t1447; + const double t1454 = t64 * t560; + const double t1458 = t1421 * t1423 * t573; + const double t1462 = t564 * t1438 * t573; + const double t1465 = t1443 * t1423; + const double t1466 = t1465 * t1446; + const double t1469 = -t1317 + t1320 - t1327 + t1363 + t1371 + t64 * t1450 + 0.19751789702565206229e-1 * t64 * t1415 - 0.11696446794910408142e1 * t1454 * t583 + 0.11696446794910408142e1 * t581 * t1458 - 0.58482233974552040708e0 * t581 * t1462 - 0.17315755899375863299e2 * t581 * t1466; + const double t1473 = piecewise_functor_3( t152, 0.0, t1292 * t207 / 0.2e1 + t499 * t586 + t153 * t1469 / 0.2e1 ); + const double t1474 = t1473 * t254; + const double t1475 = t358 * t597; + const double t1478 = 0.35616666666666666667e-1 * t16 * t1475 * t616; + const double t1479 = t635 * t10; + const double t1480 = t1479 * t675; + const double t1483 = t601 * t1051 * t310; + const double t1485 = 0.24415406715670879921e-3 * t673 * t1483; + const double t1486 = t656 * t306; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t663 * t663; + const double t1490 = t1487 * t1488 * t664; + const double t1492 = 0.11696446794910408142e1 * t678 * t1490; + const double t1493 = t620 * t636; + const double t1496 = 0.8e1 * t620 * t669; + const double t1498 = 0.1e1 / t278 / t277; + const double t1499 = t276 * t1498; + const double t1501 = 0.2e2 * t1499 * t314; + const double t1502 = t275 * t279; + const double t1504 = 0.12e2 * t1502 * t314; + const double t1505 = t619 * t624; + const double t1507 = 0.32e2 * t1505 * t314; + const double t1509 = 0.8e1 * t625 * t669; + const double t1510 = t635 * t668; + const double t1511 = t280 * t1510; + const double t1513 = t625 * t636; + const double t1515 = -t1478 - 0.36623110073506319882e-3 * t1480 + t1485 + t1492 + 0.8e1 * t1493 + t1496 + t1501 + t1504 - t1507 - t1509 + 0.2e1 * t1511 - 0.8e1 * t1513; + const double t1516 = t23 * t23; + const double t1517 = 0.1e1 / t1516; + const double t1523 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t1062 + 0.4e1 / 0.3e1 * t23 * t1045 ); + const double t1524 = t154 * t154; + const double t1525 = 0.1e1 / t1524; + const double t1531 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t1305 + 0.4e1 / 0.3e1 * t154 * t1291 ); + const double t1533 = ( t1523 + t1531 ) * t63; + const double t1534 = t1533 * t313; + const double t1536 = t15 * t1051; + const double t1539 = 0.14764770444444444444e-2 * t13 * t1536 * t272; + const double t1543 = t358 * t642; + const double t1547 = t641 * t293; + const double t1548 = 0.1e1 / t1547; + const double t1549 = t288 * t1548; + const double t1550 = t648 * t648; + const double t1551 = t1550 * t649; + const double t1556 = 0.1e1 / t260 / t257 * t35; + const double t1558 = t1557 * t1104; + const double t1559 = t1556 * t1558; + const double t1561 = t601 * t1051; + const double t1562 = t600 * t1561; + const double t1564 = t13 * t1536; + const double t1566 = 0.1e1/safe_math::sqrt( t257 ); + const double t1567 = t1566 * t35; + const double t1568 = t1567 * t1558; + const double t1570 = t608 * t1561; + const double t1573 = t37 * t14 * t1104; + const double t1575 = -0.78438333333333333333e0 * t1559 + 0.15687666666666666667e1 * t1562 + 0.68863333333333333333e0 * t1564 + 0.14025833333333333333e0 * t1568 + 0.28051666666666666667e0 * t1570 + 0.17365833333333333333e0 * t1573; + const double t1576 = t1575 * t649; + const double t1579 = t641 * t641; + const double t1580 = 0.1e1 / t1579; + const double t1581 = t288 * t1580; + const double t1582 = t296 * t296; + const double t1583 = 0.1e1 / t1582; + const double t1584 = t1550 * t1583; + const double t1587 = t596 * t268; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t259 * t1588; + const double t1590 = t614 * t614; + const double t1591 = t1590 * t615; + const double t1593 = 0.2e1 * t1589 * t1591; + const double t1600 = -0.42198333333333333333e0 * t1559 + 0.84396666666666666666e0 * t1562 + 0.39862222222222222223e0 * t1564 + 0.68258333333333333333e-1 * t1568 + 0.13651666666666666667e0 * t1570 + 0.13692777777777777778e0 * t1573; + const double t1601 = t1600 * t615; + const double t1603 = 0.1e1 * t598 * t1601; + const double t1604 = t596 * t596; + const double t1605 = 0.1e1 / t1604; + const double t1606 = t259 * t1605; + const double t1607 = t271 * t271; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t1590 * t1608; + const double t1611 = 0.16081824322151104822e2 * t1606 * t1609; + const double t1615 = t358 * t657; + const double t1619 = t301 * t1487; + const double t1620 = t1488 * t664; + const double t1629 = -0.57538888888888888889e0 * t1559 + 0.11507777777777777778e1 * t1562 + 0.40256666666666666667e0 * t1564 + 0.366775e-1 * t1568 + 0.73355e-1 * t1570 + 0.137975e0 * t1573; + const double t1630 = t1629 * t664; + const double t1633 = t656 * t656; + const double t1634 = 0.1e1 / t1633; + const double t1635 = t301 * t1634; + const double t1636 = t309 * t309; + const double t1637 = 0.1e1 / t1636; + const double t1638 = t1488 * t1637; + const double t1641 = -0.70981924444444444442e-3 * t13 * t1536 * t297 - 0.34246666666666666666e-1 * t16 * t1543 * t650 - 0.2e1 * t1549 * t1551 + 0.1e1 * t643 * t1576 + 0.32164683177870697974e2 * t1581 * t1584 + t1539 + t1478 + t1593 - t1603 - t1611 - 0.24415406715670879921e-3 * t13 * t1536 * t310 - 0.10843580882781524214e-1 * t16 * t1615 * t665 - 0.11696446794910408142e1 * t1619 * t1620 + 0.58482233974552040708e0 * t658 * t1630 + 0.17315755899375863299e2 * t1635 * t1638; + const double t1642 = t286 * t1641; + const double t1643 = t280 * t1642; + const double t1645 = t657 * t1629 * t664; + const double t1647 = 0.58482233974552040708e0 * t678 * t1645; + const double t1648 = t1634 * t1488; + const double t1649 = t1648 * t1637; + const double t1651 = 0.17315755899375863299e2 * t678 * t1649; + const double t1652 = t635 * t301; + const double t1653 = t1652 * t680; + const double t1655 = t286 * t13; + const double t1656 = t592 * t680; + const double t1658 = 0.10843580882781524214e-1 * t1655 * t1656; + const double t1661 = t280 * t1534 - t1539 + t1643 - t1647 - t1651 - 0.11696446794910408142e1 * t1653 + t1658 - t1233 + 0.19751789702565206229e-1 * t1533 * t311 - t1473 + t1611 - t1593 + t1603; + const double t1662 = t1515 + t1661; + const double t1663 = t1662 * t350; + const double t1664 = t683 * t716; + const double t1665 = 0.2e1 * t1664; + const double t1669 = t320 * t115; + const double t1670 = t1244 * t333; + const double t1673 = t340 * t115; + const double t1674 = t1673 * t1244; + const double t1677 = t689 * t1238; + const double t1680 = t329 * t115; + const double t1687 = t347 * t115; + const double t1688 = t1687 * t1244; + const double t1691 = t696 * t1238; + const double t1694 = t336 * t321; + const double t1701 = t711 * t115; + const double t1702 = t1701 * t1244; + const double t1705 = t703 * t1238; + const double t1708 = t343 * t330; + const double t1716 = 0.1e1 / t346 / t332; + const double t1717 = t1716 * t115; + const double t1724 = 0.29333333333333333333e-1 * t685 * t1238 * t326 - 0.128e-3 * t1669 * t1670 + 0.384e-6 * t322 * t1674 - 0.88e-4 * t322 * t1677 + 0.128e-3 * t1680 * t1670 - 0.1536e-5 * t693 * t1674 + 0.176e-3 * t693 * t1677 + 0.3456e-8 * t331 * t1688 - 0.528e-6 * t331 * t1691 + 0.1152e-5 * t1694 * t1674 - 0.10368e-7 * t700 * t1688 + 0.792e-6 * t700 * t1691 + 0.20736e-10 * t338 * t1702 - 0.2376e-8 * t338 * t1705 + 0.6912e-8 * t1708 * t1688 - 0.55296e-10 * t707 * t1702 + 0.3168e-8 * t707 * t1705 + 0.10368e-12 * t345 * t1717 * t1244 - 0.9504e-11 * t345 * t712 * t1238; + const double t1725 = t318 * t1724; + const double t1728 = 0.2e1 * t1043; + const double t1729 = piecewise_functor_3( t7, 0.0, t1728 ); + const double t1735 = t16 * t359 * t725; + const double t1737 = t1061 * t720; + const double t1740 = t363 * t2; + const double t1744 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1737 * t354 - 0.2e1 / 0.3e1 * t1740 * t1042 ); + const double t1746 = t16 * t20 * t1744; + const double t1748 = t1055 - 0.17808333333333333333e-1 * t1057 - 0.17808333333333333333e-1 * t1735 + 0.53425e-1 * t1746; + const double t1750 = 0.62182e-1 * t1748 * t51; + const double t1751 = t729 * t374; + const double t1753 = 0.1e1 * t1751 * t398; + const double t1755 = 0.1e1 * t1075 * t743; + const double t1756 = t743 * t396; + const double t1758 = 0.2e1 * t1080 * t1756; + const double t1759 = t1086 * t732; + const double t1760 = t1759 * t378; + const double t1764 = t1090 - t1057 / 0.3e1 - t1735 / 0.3e1 + t1746; + const double t1765 = t376 * t1764; + const double t1770 = t1098 * t732; + const double t1771 = t1770 * t378; + const double t1773 = t383 * t1764; + const double t1777 = t38 * t388 * t738; + const double t1779 = t366 * t725; + const double t1781 = t38 * t42 * t1779; + const double t1783 = t25 * t1744; + const double t1785 = t38 * t42 * t1783; + const double t1787 = -0.9494625e0 * t1760 + 0.1898925e1 * t1765 + t1095 - 0.29896666666666666667e0 * t1057 - 0.29896666666666666667e0 * t1735 + 0.8969e0 * t1746 + 0.15358125e0 * t1771 + 0.3071625e0 * t1773 + t1108 - 0.16431333333333333333e0 * t1110 - 0.16431333333333333333e0 * t1777 + 0.24647e0 * t1781 + 0.24647e0 * t1785; + const double t1788 = t1787 * t397; + const double t1790 = 0.1e1 * t375 * t1788; + const double t1791 = t742 * t1128; + const double t1792 = t1791 * t396; + const double t1794 = 0.16081824322151104822e2 * t1126 * t1792; + const double t1798 = t1132 - 0.17123333333333333333e-1 * t1057 - 0.17123333333333333333e-1 * t1735 + 0.5137e-1 * t1746; + const double t1801 = t747 * t407; + const double t1806 = t755 * t415; + const double t1820 = -0.17648625e1 * t1760 + 0.3529725e1 * t1765 + t1150 - 0.516475e0 * t1057 - 0.516475e0 * t1735 + 0.1549425e1 * t1746 + 0.31558125e0 * t1771 + 0.6311625e0 * t1773 + t1155 - 0.20839e0 * t1110 - 0.20839e0 * t1777 + 0.312585e0 * t1781 + 0.312585e0 * t1785; + const double t1821 = t1820 * t416; + const double t1824 = t754 * t1167; + const double t1825 = t1824 * t415; + const double t1831 = t1171 - 0.92708333333333333333e-2 * t1057 - 0.92708333333333333333e-2 * t1735 + 0.278125e-1 * t1746; + const double t1832 = t1831 * t88; + const double t1834 = t759 * t426; + const double t1839 = t767 * t434; + const double t1853 = -0.1294625e1 * t1760 + 0.258925e1 * t1765 + t1189 - 0.301925e0 * t1057 - 0.301925e0 * t1735 + 0.905775e0 * t1746 + 0.82524375e-1 * t1771 + 0.16504875e0 * t1773 + t1194 - 0.16557e0 * t1110 - 0.16557e0 * t1777 + 0.248355e0 * t1781 + 0.248355e0 * t1785; + const double t1854 = t1853 * t435; + const double t1857 = t766 * t1206; + const double t1858 = t1857 * t434; + const double t1861 = -0.3109e-1 * t1798 * t75 + 0.1e1 * t1801 * t417 + 0.1e1 * t1138 * t755 - 0.2e1 * t1143 * t1806 + 0.1e1 * t408 * t1821 + 0.32164683177870697974e2 * t1165 * t1825 + t1750 - t1753 - t1755 + t1758 - t1790 - t1794 - 0.19751789702565206229e-1 * t1832 + 0.58482233974552040708e0 * t1834 * t436 + 0.58482233974552040708e0 * t1177 * t767 - 0.11696446794910408142e1 * t1182 * t1839 + 0.58482233974552040708e0 * t427 * t1854 + 0.17315755899375863299e2 * t1204 * t1858; + const double t1865 = t64 * t759; + const double t1870 = t1181 * t766; + const double t1871 = t1870 * t436; + const double t1875 = t426 * t1853 * t435; + const double t1878 = t1203 * t766; + const double t1879 = t1206 * t434; + const double t1880 = t1878 * t1879; + const double t1883 = -t1750 + t1753 + t1755 - t1758 + t1790 + t1794 + t64 * t1861 + 0.19751789702565206229e-1 * t64 * t1832 - 0.58482233974552040708e0 * t1865 * t445 - 0.58482233974552040708e0 * t1214 * t775 + 0.11696446794910408142e1 * t443 * t1871 - 0.58482233974552040708e0 * t443 * t1875 - 0.17315755899375863299e2 * t443 * t1880; + const double t1887 = piecewise_functor_3( t8, 0.0, t1729 * t95 / 0.2e1 + t9 * t1883 / 0.2e1 + t355 * t778 / 0.2e1 + t721 * t448 / 0.2e1 ); + const double t1888 = t1887 * t147; + const double t1889 = t782 * t496; + const double t1890 = piecewise_functor_3( t151, 0.0, -t1728 ); + const double t1896 = t16 * t359 * t789; + const double t1898 = t1304 * t784; + const double t1901 = t504 * t2; + const double t1905 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1898 * t498 + 0.2e1 / 0.3e1 * t1901 * t1042 ); + const double t1907 = t16 * t20 * t1905; + const double t1909 = t1298 - 0.17808333333333333333e-1 * t1300 - 0.17808333333333333333e-1 * t1896 + 0.53425e-1 * t1907; + const double t1911 = 0.62182e-1 * t1909 * t174; + const double t1912 = t793 * t515; + const double t1914 = 0.1e1 * t1912 * t536; + const double t1916 = 0.1e1 * t1318 * t807; + const double t1917 = t807 * t534; + const double t1919 = 0.2e1 * t1323 * t1917; + const double t1920 = t1329 * t796; + const double t1921 = t1920 * t519; + const double t1925 = t1333 - t1300 / 0.3e1 - t1896 / 0.3e1 + t1907; + const double t1926 = t517 * t1925; + const double t1931 = t1341 * t796; + const double t1932 = t1931 * t519; + const double t1934 = t524 * t1925; + const double t1938 = t38 * t388 * t802; + const double t1940 = t507 * t789; + const double t1942 = t38 * t42 * t1940; + const double t1944 = t156 * t1905; + const double t1946 = t38 * t42 * t1944; + const double t1948 = -0.9494625e0 * t1921 + 0.1898925e1 * t1926 + t1338 - 0.29896666666666666667e0 * t1300 - 0.29896666666666666667e0 * t1896 + 0.8969e0 * t1907 + 0.15358125e0 * t1932 + 0.3071625e0 * t1934 + t1348 - 0.16431333333333333333e0 * t1350 - 0.16431333333333333333e0 * t1938 + 0.24647e0 * t1942 + 0.24647e0 * t1946; + const double t1949 = t1948 * t535; + const double t1951 = 0.1e1 * t516 * t1949; + const double t1952 = t806 * t1368; + const double t1953 = t1952 * t534; + const double t1955 = 0.16081824322151104822e2 * t1366 * t1953; + const double t1959 = t1372 - 0.17123333333333333333e-1 * t1300 - 0.17123333333333333333e-1 * t1896 + 0.5137e-1 * t1907; + const double t1962 = t811 * t545; + const double t1967 = t819 * t553; + const double t1981 = -0.17648625e1 * t1921 + 0.3529725e1 * t1926 + t1390 - 0.516475e0 * t1300 - 0.516475e0 * t1896 + 0.1549425e1 * t1907 + 0.31558125e0 * t1932 + 0.6311625e0 * t1934 + t1395 - 0.20839e0 * t1350 - 0.20839e0 * t1938 + 0.312585e0 * t1942 + 0.312585e0 * t1946; + const double t1982 = t1981 * t554; + const double t1985 = t818 * t1407; + const double t1986 = t1985 * t553; + const double t1992 = t1411 - 0.92708333333333333333e-2 * t1300 - 0.92708333333333333333e-2 * t1896 + 0.278125e-1 * t1907; + const double t1993 = t1992 * t200; + const double t1995 = t823 * t564; + const double t2000 = t831 * t572; + const double t2014 = -0.1294625e1 * t1921 + 0.258925e1 * t1926 + t1429 - 0.301925e0 * t1300 - 0.301925e0 * t1896 + 0.905775e0 * t1907 + 0.82524375e-1 * t1932 + 0.16504875e0 * t1934 + t1434 - 0.16557e0 * t1350 - 0.16557e0 * t1938 + 0.248355e0 * t1942 + 0.248355e0 * t1946; + const double t2015 = t2014 * t573; + const double t2018 = t830 * t1446; + const double t2019 = t2018 * t572; + const double t2022 = -0.3109e-1 * t1959 * t187 + 0.1e1 * t1962 * t555 + 0.1e1 * t1378 * t819 - 0.2e1 * t1383 * t1967 + 0.1e1 * t546 * t1982 + 0.32164683177870697974e2 * t1405 * t1986 + t1911 - t1914 - t1916 + t1919 - t1951 - t1955 - 0.19751789702565206229e-1 * t1993 + 0.58482233974552040708e0 * t1995 * t574 + 0.58482233974552040708e0 * t1417 * t831 - 0.11696446794910408142e1 * t1422 * t2000 + 0.58482233974552040708e0 * t565 * t2015 + 0.17315755899375863299e2 * t1444 * t2019; + const double t2026 = t64 * t823; + const double t2031 = t1421 * t830; + const double t2032 = t2031 * t574; + const double t2036 = t564 * t2014 * t573; + const double t2039 = t1443 * t830; + const double t2040 = t1446 * t572; + const double t2041 = t2039 * t2040; + const double t2044 = -t1911 + t1914 + t1916 - t1919 + t1951 + t1955 + t64 * t2022 + 0.19751789702565206229e-1 * t64 * t1993 - 0.58482233974552040708e0 * t2026 * t583 - 0.58482233974552040708e0 * t1454 * t839 + 0.11696446794910408142e1 * t581 * t2032 - 0.58482233974552040708e0 * t581 * t2036 - 0.17315755899375863299e2 * t581 * t2041; + const double t2048 = piecewise_functor_3( t152, 0.0, t153 * t2044 / 0.2e1 + t1890 * t207 / 0.2e1 + t499 * t842 / 0.2e1 + t785 * t586 / 0.2e1 ); + const double t2049 = t2048 * t254; + const double t2050 = t590 * t890; + const double t2054 = -t1478 - 0.18311555036753159941e-3 * t1480 + t1485 + t1492 - 0.4e1 * t1493 + t1501 - t1504 - t1509 + t1511 - 0.4e1 * t1513 - t1539 + t1643 - t1647 - t1651; + const double t2056 = t899 * t10; + const double t2057 = t2056 * t675; + const double t2059 = t1517 * t720; + const double t2062 = t23 * t2; + const double t2066 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2059 * t354 + 0.8e1 / 0.3e1 * t2062 * t1042 ); + const double t2067 = t1525 * t784; + const double t2070 = t154 * t2; + const double t2074 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2067 * t498 - 0.8e1 / 0.3e1 * t2070 * t1042 ); + const double t2076 = ( t2066 + t2074 ) * t63; + const double t2079 = t620 * t900; + const double t2081 = t625 * t900; + const double t2083 = t2076 * t313; + const double t2085 = t899 * t668; + const double t2086 = t280 * t2085; + const double t2087 = t899 * t301; + const double t2088 = t2087 * t680; + const double t2090 = -0.58482233974552040708e0 * t1653 - 0.18311555036753159941e-3 * t2057 - t1887 + t1658 + 0.19751789702565206229e-1 * t2076 * t311 + 0.4e1 * t2079 - 0.4e1 * t2081 + t280 * t2083 + t2086 - 0.58482233974552040708e0 * t2088 + t1611 - t1593 + t1603 - t2048; + const double t2091 = t2054 + t2090; + const double t2092 = t2091 * t350; + const double t2093 = t904 * t716; + const double t2094 = t683 * t932; + const double t2095 = t906 * t850; + const double t2098 = t322 * t340; + const double t2099 = sigma_bb * t850; + const double t2100 = sigma_aa * t456; + const double t2101 = t2099 * t2100; + const double t2104 = t329 * sigma_aa; + const double t2105 = t2104 * t456; + const double t2108 = t693 * t340; + const double t2111 = t331 * t347; + const double t2114 = t1694 * t340; + const double t2117 = t700 * t347; + const double t2120 = t338 * t711; + const double t2123 = t1708 * t347; + const double t2126 = t707 * t711; + const double t2129 = t345 * t1716; + const double t2132 = -0.128e-3 * t2095 * t690 + 0.384e-6 * t2098 * t2101 + 0.128e-3 * t2105 * t911 - 0.1536e-5 * t2108 * t2101 + 0.3456e-8 * t2111 * t2101 + 0.1152e-5 * t2114 * t2101 - 0.10368e-7 * t2117 * t2101 + 0.20736e-10 * t2120 * t2101 + 0.6912e-8 * t2123 * t2101 - 0.55296e-10 * t2126 * t2101 + 0.10368e-12 * t2129 * t2101; + const double t2133 = t318 * t2132; + const double t2142 = 0.2e1 * t352 + 0.2e1 * t1043; + const double t2143 = piecewise_functor_3( t7, 0.0, t2142 ); + const double t2148 = t720 * t720; + const double t2154 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t2148 - t363 * t2142 / 0.3e1 ); + const double t2156 = t16 * t20 * t2154; + const double t2158 = t1055 - 0.35616666666666666666e-1 * t1735 + 0.53425e-1 * t2156; + const double t2160 = 0.62182e-1 * t2158 * t51; + const double t2162 = 0.2e1 * t1751 * t743; + const double t2163 = t742 * t742; + const double t2164 = t2163 * t397; + const double t2166 = 0.2e1 * t1080 * t2164; + const double t2167 = t732 * t732; + const double t2168 = t1086 * t2167; + const double t2171 = t1090 - 0.2e1 / 0.3e1 * t1735 + t2156; + const double t2172 = t376 * t2171; + const double t2176 = t1098 * t2167; + const double t2178 = t383 * t2171; + const double t2181 = t725 * t725; + const double t2183 = t38 * t42 * t2181; + const double t2185 = t25 * t2154; + const double t2187 = t38 * t42 * t2185; + const double t2189 = -0.9494625e0 * t2168 + 0.1898925e1 * t2172 + t1095 - 0.59793333333333333334e0 * t1735 + 0.8969e0 * t2156 + 0.15358125e0 * t2176 + 0.3071625e0 * t2178 + t1108 - 0.32862666666666666666e0 * t1777 + 0.24647e0 * t2183 + 0.24647e0 * t2187; + const double t2190 = t2189 * t397; + const double t2192 = 0.1e1 * t375 * t2190; + const double t2193 = t2163 * t1128; + const double t2195 = 0.16081824322151104822e2 * t1126 * t2193; + const double t2198 = t1132 - 0.34246666666666666666e-1 * t1735 + 0.5137e-1 * t2156; + const double t2203 = t754 * t754; + const double t2204 = t2203 * t416; + const double t2216 = -0.17648625e1 * t2168 + 0.3529725e1 * t2172 + t1150 - 0.103295e1 * t1735 + 0.1549425e1 * t2156 + 0.31558125e0 * t2176 + 0.6311625e0 * t2178 + t1155 - 0.41678e0 * t1777 + 0.312585e0 * t2183 + 0.312585e0 * t2187; + const double t2217 = t2216 * t416; + const double t2220 = t2203 * t1167; + const double t2225 = t1171 - 0.18541666666666666667e-1 * t1735 + 0.278125e-1 * t2156; + const double t2226 = t2225 * t88; + const double t2230 = t766 * t766; + const double t2231 = t2230 * t435; + const double t2243 = -0.1294625e1 * t2168 + 0.258925e1 * t2172 + t1189 - 0.60385e0 * t1735 + 0.905775e0 * t2156 + 0.82524375e-1 * t2176 + 0.16504875e0 * t2178 + t1194 - 0.33114e0 * t1777 + 0.248355e0 * t2183 + 0.248355e0 * t2187; + const double t2244 = t2243 * t435; + const double t2247 = t2230 * t1206; + const double t2250 = -0.3109e-1 * t2198 * t75 + 0.2e1 * t1801 * t755 - 0.2e1 * t1143 * t2204 + 0.1e1 * t408 * t2217 + 0.32164683177870697974e2 * t1165 * t2220 + t2160 - t2162 + t2166 - t2192 - t2195 - 0.19751789702565206229e-1 * t2226 + 0.11696446794910408142e1 * t1834 * t767 - 0.11696446794910408142e1 * t1182 * t2231 + 0.58482233974552040708e0 * t427 * t2244 + 0.17315755899375863299e2 * t1204 * t2247; + const double t2257 = t1181 * t2230 * t435; + const double t2261 = t426 * t2243 * t435; + const double t2264 = t1203 * t2230; + const double t2265 = t2264 * t1206; + const double t2268 = -t2160 + t2162 - t2166 + t2192 + t2195 + t64 * t2250 + 0.19751789702565206229e-1 * t64 * t2226 - 0.11696446794910408142e1 * t1865 * t775 + 0.11696446794910408142e1 * t443 * t2257 - 0.58482233974552040708e0 * t443 * t2261 - 0.17315755899375863299e2 * t443 * t2265; + const double t2272 = piecewise_functor_3( t8, 0.0, t2143 * t95 / 0.2e1 + t721 * t778 + t9 * t2268 / 0.2e1 ); + const double t2273 = t2272 * t147; + const double t2274 = -t2142; + const double t2275 = piecewise_functor_3( t151, 0.0, t2274 ); + const double t2280 = t784 * t784; + const double t2286 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t2280 - t504 * t2274 / 0.3e1 ); + const double t2288 = t16 * t20 * t2286; + const double t2290 = t1298 - 0.35616666666666666666e-1 * t1896 + 0.53425e-1 * t2288; + const double t2292 = 0.62182e-1 * t2290 * t174; + const double t2294 = 0.2e1 * t1912 * t807; + const double t2295 = t806 * t806; + const double t2296 = t2295 * t535; + const double t2298 = 0.2e1 * t1323 * t2296; + const double t2299 = t796 * t796; + const double t2300 = t1329 * t2299; + const double t2303 = t1333 - 0.2e1 / 0.3e1 * t1896 + t2288; + const double t2304 = t517 * t2303; + const double t2308 = t1341 * t2299; + const double t2310 = t524 * t2303; + const double t2313 = t789 * t789; + const double t2315 = t38 * t42 * t2313; + const double t2317 = t156 * t2286; + const double t2319 = t38 * t42 * t2317; + const double t2321 = -0.9494625e0 * t2300 + 0.1898925e1 * t2304 + t1338 - 0.59793333333333333334e0 * t1896 + 0.8969e0 * t2288 + 0.15358125e0 * t2308 + 0.3071625e0 * t2310 + t1348 - 0.32862666666666666666e0 * t1938 + 0.24647e0 * t2315 + 0.24647e0 * t2319; + const double t2322 = t2321 * t535; + const double t2324 = 0.1e1 * t516 * t2322; + const double t2325 = t2295 * t1368; + const double t2327 = 0.16081824322151104822e2 * t1366 * t2325; + const double t2330 = t1372 - 0.34246666666666666666e-1 * t1896 + 0.5137e-1 * t2288; + const double t2335 = t818 * t818; + const double t2336 = t2335 * t554; + const double t2348 = -0.17648625e1 * t2300 + 0.3529725e1 * t2304 + t1390 - 0.103295e1 * t1896 + 0.1549425e1 * t2288 + 0.31558125e0 * t2308 + 0.6311625e0 * t2310 + t1395 - 0.41678e0 * t1938 + 0.312585e0 * t2315 + 0.312585e0 * t2319; + const double t2349 = t2348 * t554; + const double t2352 = t2335 * t1407; + const double t2357 = t1411 - 0.18541666666666666667e-1 * t1896 + 0.278125e-1 * t2288; + const double t2358 = t2357 * t200; + const double t2362 = t830 * t830; + const double t2363 = t2362 * t573; + const double t2375 = -0.1294625e1 * t2300 + 0.258925e1 * t2304 + t1429 - 0.60385e0 * t1896 + 0.905775e0 * t2288 + 0.82524375e-1 * t2308 + 0.16504875e0 * t2310 + t1434 - 0.33114e0 * t1938 + 0.248355e0 * t2315 + 0.248355e0 * t2319; + const double t2376 = t2375 * t573; + const double t2379 = t2362 * t1446; + const double t2382 = -0.3109e-1 * t2330 * t187 + 0.2e1 * t1962 * t819 - 0.2e1 * t1383 * t2336 + 0.1e1 * t546 * t2349 + 0.32164683177870697974e2 * t1405 * t2352 + t2292 - t2294 + t2298 - t2324 - t2327 - 0.19751789702565206229e-1 * t2358 + 0.11696446794910408142e1 * t1995 * t831 - 0.11696446794910408142e1 * t1422 * t2363 + 0.58482233974552040708e0 * t565 * t2376 + 0.17315755899375863299e2 * t1444 * t2379; + const double t2389 = t1421 * t2362 * t573; + const double t2393 = t564 * t2375 * t573; + const double t2396 = t1443 * t2362; + const double t2397 = t2396 * t1446; + const double t2400 = -t2292 + t2294 - t2298 + t2324 + t2327 + t64 * t2382 + 0.19751789702565206229e-1 * t64 * t2358 - 0.11696446794910408142e1 * t2026 * t839 + 0.11696446794910408142e1 * t581 * t2389 - 0.58482233974552040708e0 * t581 * t2393 - 0.17315755899375863299e2 * t581 * t2397; + const double t2404 = piecewise_functor_3( t152, 0.0, t2275 * t207 / 0.2e1 + t785 * t842 + t153 * t2400 / 0.2e1 ); + const double t2405 = t2404 * t254; + const double t2406 = t846 * t890; + const double t2407 = 0.2e1 * t2406; + const double t2409 = 0.1e1 / t214 / t226; + const double t2413 = t226 * t848; + const double t2415 = 0.1e1 / t213 / t2413; + const double t2416 = t2415 * t231; + const double t2419 = t100 * t235; + const double t2420 = 0.1e1 / t246; + const double t2421 = t2420 * t240; + const double t2428 = t114 * t244; + const double t2429 = t237 * t226; + const double t2431 = 0.1e1 / t214 / t2429; + const double t2432 = t2431 * t250; + const double t2439 = t126 * t880; + const double t2443 = 0.1e1 / t213 / t237 / t2413 * t886; + const double t2450 = t244 * t224; + const double t2451 = t136 * t2450; + const double t2452 = t237 * t237; + const double t2453 = t2452 * t212; + const double t2456 = 0.1e1 / t249 / t230; + const double t2457 = 0.1e1 / t2453 * t2456; + const double t2460 = 0.19555555555555555555e1 * t211 * t2409 * t220 - 0.96000000000000000002e0 * t854 * t2416 + 0.11377777777777777778e0 * t2419 * t2421 + 0.13511111111111111111e1 * t225 * t2416 - 0.61155555555555555557e0 * t863 * t2421 + 0.68266666666666666669e-1 * t2428 * t2432 + 0.576e0 * t236 * t2421 - 0.25173333333333333333e0 * t871 * t2432 + 0.27306666666666666666e-1 * t2439 * t2443 + 0.19911111111111111112e0 * t245 * t2432 - 0.85333333333333333333e-1 * t881 * t2443 + 0.91022222222222222219e-2 * t2451 * t2457; + const double t2461 = t210 * t2460; + const double t2467 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t2148 + 0.4e1 / 0.3e1 * t23 * t2142 ); + const double t2473 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t2280 + 0.4e1 / 0.3e1 * t154 * t2274 ); + const double t2475 = ( t2467 + t2473 ) * t63; + const double t2476 = t2475 * t313; + const double t2478 = t280 * t2476 - t1478 + t1485 + t1492 - t1496 + t1501 + t1504 + t1507 - t1509 - t1539 + t1643 - t2404; + const double t2486 = -t1647 - t1651 - 0.36623110073506319882e-3 * t2057 - t2272 + t1658 + 0.19751789702565206229e-1 * t2475 * t311 - 0.8e1 * t2079 - 0.8e1 * t2081 + 0.2e1 * t2086 - 0.11696446794910408142e1 * t2088 + t1611 - t1593 + t1603; + const double t2487 = t2478 + t2486; + const double t2488 = t2487 * t350; + const double t2489 = t904 * t932; + const double t2490 = 0.2e1 * t2489; + const double t2494 = t320 * t224; + const double t2495 = t2415 * t333; + const double t2498 = t340 * t224; + const double t2499 = t2498 * t2415; + const double t2502 = t910 * t2409; + const double t2505 = t329 * t224; + const double t2512 = t347 * t224; + const double t2513 = t2512 * t2415; + const double t2516 = t916 * t2409; + const double t2525 = t711 * t224; + const double t2526 = t2525 * t2415; + const double t2529 = t922 * t2409; + const double t2538 = t1716 * t224; + const double t2545 = 0.29333333333333333333e-1 * t906 * t2409 * t326 - 0.128e-3 * t2494 * t2495 + 0.384e-6 * t322 * t2499 - 0.88e-4 * t322 * t2502 + 0.128e-3 * t2505 * t2495 - 0.1536e-5 * t693 * t2499 + 0.176e-3 * t693 * t2502 + 0.3456e-8 * t331 * t2513 - 0.528e-6 * t331 * t2516 + 0.1152e-5 * t1694 * t2499 - 0.10368e-7 * t700 * t2513 + 0.792e-6 * t700 * t2516 + 0.20736e-10 * t338 * t2526 - 0.2376e-8 * t338 * t2529 + 0.6912e-8 * t1708 * t2513 - 0.55296e-10 * t707 * t2526 + 0.3168e-8 * t707 * t2529 + 0.10368e-12 * t345 * t2538 * t2415 - 0.9504e-11 * t345 * t928 * t2409; + const double t2546 = t318 * t2545; + const double t2549 = t452 * t960; + const double t2553 = t100 * t463; + const double t2554 = t122 * sigma_aa; + const double t2575 = t1281 * rho_a; + const double t2577 = 0.1e1 / t2575 * t1285; + const double t2580 = -0.53333333333333333333e0 * t100 * t456 * t110 + 0.32e0 * t2553 * t2554 - 0.42666666666666666668e-1 * t460 * t472 - 0.42666666666666666667e0 * t941 * t464 + 0.21333333333333333334e0 * t116 * t472 - 0.256e-1 * t469 * t481 - 0.192e0 * t946 * t472 + 0.896e-1 * t128 * t481 - 0.1024e-1 * t477 * t493 - 0.68266666666666666667e-1 * t951 * t481 + 0.3072e-1 * t138 * t493 - 0.34133333333333333332e-2 * t487 * t2577; + const double t2581 = t98 * t2580; + const double t2582 = t683 * t983; + const double t2583 = t320 * t456; + const double t2586 = t320 * t463; + const double t2589 = t340 * t463; + const double t2590 = t2589 * sigma_aa; + const double t2593 = t333 * t456; + const double t2603 = t347 * t463; + const double t2604 = t2603 * sigma_aa; + const double t2607 = t340 * t456; + const double t2616 = t711 * t463; + const double t2617 = t2616 * sigma_aa; + const double t2620 = t347 * t456; + const double t2629 = t1716 * t463; + const double t2636 = -0.8e-2 * t2583 * t326 + 0.48e-4 * t2586 * t689 - 0.144e-6 * t322 * t2590 + 0.24e-4 * t322 * t2593 - 0.48e-4 * t2104 * t463 * t333 + 0.576e-6 * t693 * t2590 - 0.48e-4 * t693 * t2593 - 0.1296e-8 * t331 * t2604 + 0.144e-6 * t331 * t2607 - 0.432e-6 * t1694 * t2590 + 0.3888e-8 * t700 * t2604 - 0.216e-6 * t700 * t2607 - 0.7776e-11 * t338 * t2617 + 0.648e-9 * t338 * t2620 - 0.2592e-8 * t1708 * t2604 + 0.20736e-10 * t707 * t2617 - 0.864e-9 * t707 * t2620 - 0.3888e-13 * t345 * t2629 * sigma_aa + 0.2592e-11 * t345 * t711 * t456; + const double t2637 = t318 * t2636; + const double t2640 = t590 * t1010; + const double t2641 = t683 * t1033; + const double t2644 = t216 * sigma_aa; + const double t2645 = t2644 * t456; + const double t2667 = 0.48e-4 * t1012 * t690 - 0.144e-6 * t2098 * t2645 - 0.48e-4 * t2104 * t2593 * t216 + 0.576e-6 * t2108 * t2645 - 0.1296e-8 * t2111 * t2645 - 0.432e-6 * t2114 * t2645 + 0.3888e-8 * t2117 * t2645 - 0.7776e-11 * t2120 * t2645 - 0.2592e-8 * t2123 * t2645 + 0.20736e-10 * t2126 * t2645 - 0.3888e-13 * t2129 * t2645; + const double t2668 = t318 * t2667; + const double t2671 = t782 * t960; + const double t2672 = t904 * t983; + const double t2675 = t106 * sigma_bb; + const double t2676 = t2675 * t850; + const double t2679 = t329 * sigma_bb; + const double t2680 = t850 * t333; + const double t2700 = 0.48e-4 * t962 * t911 - 0.144e-6 * t2098 * t2676 - 0.48e-4 * t2679 * t2680 * t106 + 0.576e-6 * t2108 * t2676 - 0.1296e-8 * t2111 * t2676 - 0.432e-6 * t2114 * t2676 + 0.3888e-8 * t2117 * t2676 - 0.7776e-11 * t2120 * t2676 - 0.2592e-8 * t2123 * t2676 + 0.20736e-10 * t2126 * t2676 - 0.3888e-13 * t2129 * t2676; + const double t2701 = t318 * t2700; + const double t2704 = t846 * t1010; + const double t2708 = t100 * t857; + const double t2709 = t231 * sigma_bb; + const double t2730 = t2452 * rho_b; + const double t2732 = 0.1e1 / t2730 * t2456; + const double t2735 = -0.53333333333333333333e0 * t100 * t850 * t220 + 0.32e0 * t2708 * t2709 - 0.42666666666666666668e-1 * t854 * t866 - 0.42666666666666666667e0 * t991 * t858 + 0.21333333333333333334e0 * t225 * t866 - 0.256e-1 * t863 * t875 - 0.192e0 * t996 * t866 + 0.896e-1 * t236 * t875 - 0.1024e-1 * t871 * t887 - 0.68266666666666666667e-1 * t1001 * t875 + 0.3072e-1 * t245 * t887 - 0.34133333333333333332e-2 * t881 * t2732; + const double t2736 = t210 * t2735; + const double t2737 = t904 * t1033; + const double t2738 = t320 * t850; + const double t2741 = t320 * t857; + const double t2744 = t340 * t857; + const double t2745 = t2744 * sigma_bb; + const double t2757 = t347 * t857; + const double t2758 = t2757 * sigma_bb; + const double t2761 = t340 * t850; + const double t2770 = t711 * t857; + const double t2771 = t2770 * sigma_bb; + const double t2774 = t347 * t850; + const double t2783 = t1716 * t857; + const double t2787 = t711 * t850; + const double t2790 = -0.8e-2 * t2738 * t326 + 0.48e-4 * t2741 * t910 - 0.144e-6 * t322 * t2745 + 0.24e-4 * t322 * t2680 - 0.48e-4 * t2679 * t857 * t333 + 0.576e-6 * t693 * t2745 - 0.48e-4 * t693 * t2680 - 0.1296e-8 * t331 * t2758 + 0.144e-6 * t331 * t2761 - 0.432e-6 * t1694 * t2745 + 0.3888e-8 * t700 * t2758 - 0.216e-6 * t700 * t2761 - 0.7776e-11 * t338 * t2771 + 0.648e-9 * t338 * t2774 - 0.2592e-8 * t1708 * t2758 + 0.20736e-10 * t707 * t2771 - 0.864e-9 * t707 * t2774 - 0.3888e-13 * t345 * t2783 * sigma_bb + 0.2592e-11 * t345 * t2787; + const double t2791 = t318 * t2790; + const double t2806 = t126 * sigma_aa; + const double t2813 = t136 * t115; + const double t2819 = 0.1e1 / t1281 * t1285; + const double t2822 = -0.8e-1 * t100 * t120 * t122 + 0.16e-1 * t101 * t133 + 0.8e-1 * t114 * t120 * t122 - 0.64e-1 * t941 * t133 + 0.96e-2 * t116 * t144 + 0.48e-1 * t2806 * t133 - 0.288e-1 * t946 * t144 + 0.384e-2 * t128 * t957 + 0.192e-1 * t2813 * t144 - 0.1024e-1 * t951 * t957 + 0.128e-2 * t138 * t2819; + const double t2823 = t98 * t2822; + const double t2824 = t320 * t120; + const double t2827 = t340 * t120; + const double t2830 = t329 * t120; + const double t2835 = t347 * t120; + const double t2842 = t711 * t120; + const double t2852 = -0.18e-4 * t2824 * t333 + 0.54e-7 * t322 * t2827 + 0.18e-4 * t2830 * t333 - 0.216e-6 * t693 * t2827 + 0.486e-9 * t331 * t2835 + 0.162e-6 * t1694 * t2827 - 0.1458e-8 * t700 * t2835 + 0.2916e-11 * t338 * t2842 + 0.972e-9 * t1708 * t2835 - 0.7776e-11 * t707 * t2842 + 0.1458e-13 * t345 * t1716 * t120; + const double t2853 = t318 * t2852; + const double t2855 = t3 * t318; + const double t2858 = t1020 * t106; + const double t2861 = t329 * t106; + const double t2866 = t1025 * t106; + const double t2873 = t1030 * t106; + const double t2880 = t1716 * t216; + const double t2884 = -0.18e-4 * t1012 * t965 + 0.54e-7 * t322 * t2858 + 0.18e-4 * t2861 * t1015 - 0.216e-6 * t693 * t2858 + 0.486e-9 * t331 * t2866 + 0.162e-6 * t1694 * t2858 - 0.1458e-8 * t700 * t2866 + 0.2916e-11 * t338 * t2873 + 0.972e-9 * t1708 * t2866 - 0.7776e-11 * t707 * t2873 + 0.1458e-13 * t345 * t2880 * t106; + const double t2897 = t126 * sigma_bb; + const double t2904 = t136 * t224; + const double t2910 = 0.1e1 / t2452 * t2456; + const double t2913 = -0.8e-1 * t100 * t229 * t231 + 0.16e-1 * t211 * t241 + 0.8e-1 * t114 * t229 * t231 - 0.64e-1 * t991 * t241 + 0.96e-2 * t225 * t251 + 0.48e-1 * t2897 * t241 - 0.288e-1 * t996 * t251 + 0.384e-2 * t236 * t1007 + 0.192e-1 * t2904 * t251 - 0.1024e-1 * t1001 * t1007 + 0.128e-2 * t245 * t2910; + const double t2914 = t210 * t2913; + const double t2915 = t320 * t229; + const double t2918 = t340 * t229; + const double t2921 = t329 * t229; + const double t2926 = t347 * t229; + const double t2933 = t711 * t229; + const double t2940 = t1716 * t229; + const double t2943 = -0.18e-4 * t2915 * t333 + 0.54e-7 * t322 * t2918 + 0.18e-4 * t2921 * t333 - 0.216e-6 * t693 * t2918 + 0.486e-9 * t331 * t2926 + 0.162e-6 * t1694 * t2918 - 0.1458e-8 * t700 * t2926 + 0.2916e-11 * t338 * t2933 + 0.972e-9 * t1708 * t2926 - 0.7776e-11 * t707 * t2933 + 0.1458e-13 * t345 * t2940; + const double t2944 = t318 * t2943; + + + vrho_a = t148 + t255 + t351 + t3 * ( t453 + t497 + t591 + t684 + t717 ); + vrho_b = t148 + t255 + t351 + t3 * ( t783 + t847 + t891 + t905 + t933 ); + vsigma_aa = t3 * ( t961 + t984 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1011 + t1034 ); + v2rho2_aa = 0.2e1 * t453 + 0.2e1 * t497 + 0.2e1 * t591 + 0.2e1 * t684 + 0.2e1 * t717 + t3 * ( t1234 + t1236 + t1290 + t1474 + t1663 + t1665 + t1725 ); + v2rho2_ab = t453 + t497 + t591 + t684 + t717 + t783 + t847 + t891 + t905 + t933 + t3 * ( t1888 + t1889 + t2049 + t2050 + t2092 + t2093 + t2094 + t2133 ); + v2rho2_bb = 0.2e1 * t783 + 0.2e1 * t847 + 0.2e1 * t891 + 0.2e1 * t905 + 0.2e1 * t933 + t3 * ( t2273 + t2405 + t2407 + t2461 + t2488 + t2490 + t2546 ); + v2rhosigma_a_aa = t961 + t984 + t3 * ( t2549 + t2581 + t2582 + t2637 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1011 + t1034 + t3 * ( t2640 + t2641 + t2668 ); + v2rhosigma_b_aa = t961 + t984 + t3 * ( t2671 + t2672 + t2701 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1011 + t1034 + t3 * ( t2704 + t2736 + t2737 + t2791 ); + v2sigma2_aa_aa = t3 * ( t2823 + t2853 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t2855 * t2884; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t2914 + t2944 ); + + } + + +}; + +struct BuiltinBMK_C : detail::BuiltinKernelImpl< BuiltinBMK_C > { + + BuiltinBMK_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinBMK_C >(p) { } + + virtual ~BuiltinBMK_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/bmk_x.hpp b/include/exchcxx/impl/builtin/kernels/bmk_x.hpp new file mode 100644 index 0000000..b943eb9 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/bmk_x.hpp @@ -0,0 +1,2163 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinBMK_X > : + public mgga_screening_interface< BuiltinBMK_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double cx_local_0 = 0.474302; + static constexpr double cx_local_1 = 2.77701; + static constexpr double cx_local_2 = -11.4230; + static constexpr double cx_local_3 = 11.7167; + static constexpr double cx_nlocal_0 = -0.192212; + static constexpr double cx_nlocal_1 = 4.73936; + static constexpr double cx_nlocal_2 = -26.6188; + static constexpr double cx_nlocal_3 = 22.4891; + static constexpr double ax = 0.42; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t76 = constants::m_cbrt_6; + constexpr double t79 = constants::m_cbrt_pi_sq; + constexpr double t7 = t4 / t5; + constexpr double t22 = cx_local_1; + constexpr double t25 = t24 * t24; + constexpr double t39 = cx_local_2; + constexpr double t52 = cx_local_3; + constexpr double t63 = cx_nlocal_1; + constexpr double t67 = cx_nlocal_2; + constexpr double t71 = cx_nlocal_3; + constexpr double t77 = t76 * t76; + constexpr double t80 = t79 * t79; + constexpr double t82 = 0.3e1 / 0.1e2 * t77 * t80; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t23 = t22 * sigma; + const double t26 = rho * rho; + const double t27 = t19 * t19; + const double t29 = 0.1e1 / t27 / t26; + const double t30 = t25 * t29; + const double t34 = 0.1e1 + 0.4e-2 * sigma * t25 * t29; + const double t35 = 0.1e1 / t34; + const double t36 = t30 * t35; + const double t40 = sigma * sigma; + const double t41 = t39 * t40; + const double t42 = t26 * t26; + const double t43 = t42 * rho; + const double t45 = 0.1e1 / t19 / t43; + const double t46 = t24 * t45; + const double t47 = t34 * t34; + const double t48 = 0.1e1 / t47; + const double t49 = t46 * t48; + const double t53 = t40 * sigma; + const double t54 = t52 * t53; + const double t55 = t42 * t42; + const double t56 = 0.1e1 / t55; + const double t57 = t47 * t34; + const double t58 = 0.1e1 / t57; + const double t59 = t56 * t58; + const double t64 = t63 * sigma; + const double t68 = t67 * t40; + const double t72 = t71 * t53; + const double t75 = cx_nlocal_0 + 0.4e-2 * t64 * t36 + 0.32e-4 * t68 * t49 + 0.256e-6 * t72 * t59; + const double t83 = tau * t25; + const double t85 = 0.1e1 / t27 / rho; + const double t86 = t83 * t85; + const double t87 = t82 - t86; + const double t88 = t82 + t86; + const double t89 = 0.1e1 / t88; + const double t91 = t87 * t87; + const double t92 = t91 * t87; + const double t93 = t88 * t88; + const double t94 = t93 * t88; + const double t95 = 0.1e1 / t94; + const double t98 = t91 * t91; + const double t99 = t98 * t87; + const double t100 = t93 * t93; + const double t102 = 0.1e1 / t100 / t88; + const double t104 = t99 * t102 + t87 * t89 - 0.2e1 * t92 * t95; + const double t106 = cx_local_0 + 0.4e-2 * t23 * t36 + 0.32e-4 * t41 * t49 + 0.256e-6 * t54 * t59 + t75 * t104; + const double t110 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t106 ); + + + eps = 0.2e1 * t110; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t76 = constants::m_cbrt_6; + constexpr double t79 = constants::m_cbrt_pi_sq; + constexpr double t7 = t4 / t5; + constexpr double t22 = cx_local_1; + constexpr double t25 = t24 * t24; + constexpr double t39 = cx_local_2; + constexpr double t52 = cx_local_3; + constexpr double t63 = cx_nlocal_1; + constexpr double t67 = cx_nlocal_2; + constexpr double t71 = cx_nlocal_3; + constexpr double t77 = t76 * t76; + constexpr double t80 = t79 * t79; + constexpr double t82 = 0.3e1 / 0.1e2 * t77 * t80; + constexpr double t202 = t22 * t25; + constexpr double t223 = t63 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t23 = t22 * sigma; + const double t26 = rho * rho; + const double t27 = t19 * t19; + const double t29 = 0.1e1 / t27 / t26; + const double t30 = t25 * t29; + const double t34 = 0.1e1 + 0.4e-2 * sigma * t25 * t29; + const double t35 = 0.1e1 / t34; + const double t36 = t30 * t35; + const double t40 = sigma * sigma; + const double t41 = t39 * t40; + const double t42 = t26 * t26; + const double t43 = t42 * rho; + const double t45 = 0.1e1 / t19 / t43; + const double t46 = t24 * t45; + const double t47 = t34 * t34; + const double t48 = 0.1e1 / t47; + const double t49 = t46 * t48; + const double t53 = t40 * sigma; + const double t54 = t52 * t53; + const double t55 = t42 * t42; + const double t56 = 0.1e1 / t55; + const double t57 = t47 * t34; + const double t58 = 0.1e1 / t57; + const double t59 = t56 * t58; + const double t64 = t63 * sigma; + const double t68 = t67 * t40; + const double t72 = t71 * t53; + const double t75 = cx_nlocal_0 + 0.4e-2 * t64 * t36 + 0.32e-4 * t68 * t49 + 0.256e-6 * t72 * t59; + const double t83 = tau * t25; + const double t85 = 0.1e1 / t27 / rho; + const double t86 = t83 * t85; + const double t87 = t82 - t86; + const double t88 = t82 + t86; + const double t89 = 0.1e1 / t88; + const double t91 = t87 * t87; + const double t92 = t91 * t87; + const double t93 = t88 * t88; + const double t94 = t93 * t88; + const double t95 = 0.1e1 / t94; + const double t98 = t91 * t91; + const double t99 = t98 * t87; + const double t100 = t93 * t93; + const double t102 = 0.1e1 / t100 / t88; + const double t104 = t99 * t102 + t87 * t89 - 0.2e1 * t92 * t95; + const double t106 = cx_local_0 + 0.4e-2 * t23 * t36 + 0.32e-4 * t41 * t49 + 0.256e-6 * t54 * t59 + t75 * t104; + const double t110 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t106 ); + const double t111 = 0.1e1 / t27; + const double t112 = t18 * t111; + const double t116 = t26 * rho; + const double t118 = 0.1e1 / t27 / t116; + const double t119 = t25 * t118; + const double t120 = t119 * t35; + const double t123 = t22 * t40; + const double t124 = t42 * t26; + const double t126 = 0.1e1 / t19 / t124; + const double t127 = t24 * t126; + const double t128 = t127 * t48; + const double t133 = t39 * t53; + const double t134 = t55 * rho; + const double t135 = 0.1e1 / t134; + const double t136 = t135 * t58; + const double t141 = t40 * t40; + const double t142 = t52 * t141; + const double t143 = t55 * t116; + const double t145 = 0.1e1 / t27 / t143; + const double t146 = t47 * t47; + const double t147 = 0.1e1 / t146; + const double t149 = t145 * t147 * t25; + const double t154 = t63 * t40; + const double t159 = t67 * t53; + const double t164 = t71 * t141; + const double t167 = -0.10666666666666666667e-1 * t64 * t120 + 0.85333333333333333336e-4 * t154 * t128 - 0.17066666666666666667e-3 * t68 * t128 + 0.13653333333333333334e-5 * t159 * t136 - 0.2048e-5 * t72 * t136 + 0.81920000000000000003e-8 * t164 * t149; + const double t172 = 0.1e1 / t93; + const double t173 = t87 * t172; + const double t174 = t83 * t29; + const double t177 = t91 * t95; + const double t180 = 0.1e1 / t100; + const double t181 = t92 * t180; + const double t184 = t98 * t102; + const double t188 = 0.1e1 / t100 / t93; + const double t189 = t99 * t188; + const double t192 = 0.5e1 / 0.3e1 * t83 * t29 * t89 + 0.5e1 / 0.3e1 * t173 * t174 - 0.1e2 * t177 * t174 - 0.1e2 * t181 * t174 + 0.25e2 / 0.3e1 * t184 * t174 + 0.25e2 / 0.3e1 * t189 * t174; + const double t194 = -0.10666666666666666667e-1 * t23 * t120 + 0.85333333333333333336e-4 * t123 * t128 - 0.17066666666666666667e-3 * t41 * t128 + 0.13653333333333333334e-5 * t133 * t136 - 0.2048e-5 * t54 * t136 + 0.81920000000000000003e-8 * t142 * t149 + t167 * t104 + t75 * t192; + const double t199 = piecewise_functor_3( t3, 0.0, -t7 * t112 * t106 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t194 ); + const double t203 = t29 * t35; + const double t208 = t39 * sigma; + const double t213 = t52 * t40; + const double t216 = t55 * t26; + const double t218 = 0.1e1 / t27 / t216; + const double t220 = t218 * t147 * t25; + const double t228 = t67 * sigma; + const double t233 = t71 * t40; + const double t238 = 0.4e-2 * t223 * t203 - 0.32e-4 * t64 * t49 + 0.64e-4 * t228 * t49 - 0.512e-6 * t68 * t59 + 0.768e-6 * t233 * t59 - 0.3072e-8 * t72 * t220; + const double t240 = 0.4e-2 * t202 * t203 - 0.32e-4 * t23 * t49 + 0.64e-4 * t208 * t49 - 0.512e-6 * t41 * t59 + 0.768e-6 * t213 * t59 - 0.3072e-8 * t54 * t220 + t238 * t104; + const double t244 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t240 ); + const double t246 = t7 * t18; + const double t247 = t19 * t75; + const double t248 = t25 * t85; + const double t259 = -t173 * t248 + 0.6e1 * t177 * t248 + 0.6e1 * t181 * t248 - 0.5e1 * t184 * t248 - 0.5e1 * t189 * t248 - t248 * t89; + const double t263 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t246 * t247 * t259 ); + + + eps = 0.2e1 * t110; + vrho = 0.2e1 * rho * t199 + 0.2e1 * t110; + vsigma = 0.2e1 * rho * t244; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t263; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t76 = constants::m_cbrt_6; + constexpr double t79 = constants::m_cbrt_pi_sq; + constexpr double t7 = t4 / t5; + constexpr double t22 = cx_local_1; + constexpr double t25 = t24 * t24; + constexpr double t39 = cx_local_2; + constexpr double t52 = cx_local_3; + constexpr double t63 = cx_nlocal_1; + constexpr double t67 = cx_nlocal_2; + constexpr double t71 = cx_nlocal_3; + constexpr double t77 = t76 * t76; + constexpr double t80 = t79 * t79; + constexpr double t82 = 0.3e1 / 0.1e2 * t77 * t80; + constexpr double t202 = t22 * t25; + constexpr double t223 = t63 * t25; + constexpr double t396 = t22 * t24; + constexpr double t422 = t63 * t24; + constexpr double t500 = t39 * t24; + constexpr double t523 = t67 * t24; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t23 = t22 * sigma; + const double t26 = rho * rho; + const double t27 = t19 * t19; + const double t29 = 0.1e1 / t27 / t26; + const double t30 = t25 * t29; + const double t34 = 0.1e1 + 0.4e-2 * sigma * t25 * t29; + const double t35 = 0.1e1 / t34; + const double t36 = t30 * t35; + const double t40 = sigma * sigma; + const double t41 = t39 * t40; + const double t42 = t26 * t26; + const double t43 = t42 * rho; + const double t45 = 0.1e1 / t19 / t43; + const double t46 = t24 * t45; + const double t47 = t34 * t34; + const double t48 = 0.1e1 / t47; + const double t49 = t46 * t48; + const double t53 = t40 * sigma; + const double t54 = t52 * t53; + const double t55 = t42 * t42; + const double t56 = 0.1e1 / t55; + const double t57 = t47 * t34; + const double t58 = 0.1e1 / t57; + const double t59 = t56 * t58; + const double t64 = t63 * sigma; + const double t68 = t67 * t40; + const double t72 = t71 * t53; + const double t75 = cx_nlocal_0 + 0.4e-2 * t64 * t36 + 0.32e-4 * t68 * t49 + 0.256e-6 * t72 * t59; + const double t83 = tau * t25; + const double t85 = 0.1e1 / t27 / rho; + const double t86 = t83 * t85; + const double t87 = t82 - t86; + const double t88 = t82 + t86; + const double t89 = 0.1e1 / t88; + const double t91 = t87 * t87; + const double t92 = t91 * t87; + const double t93 = t88 * t88; + const double t94 = t93 * t88; + const double t95 = 0.1e1 / t94; + const double t98 = t91 * t91; + const double t99 = t98 * t87; + const double t100 = t93 * t93; + const double t102 = 0.1e1 / t100 / t88; + const double t104 = t99 * t102 + t87 * t89 - 0.2e1 * t92 * t95; + const double t106 = cx_local_0 + 0.4e-2 * t23 * t36 + 0.32e-4 * t41 * t49 + 0.256e-6 * t54 * t59 + t75 * t104; + const double t111 = 0.1e1 / t27; + const double t112 = t18 * t111; + const double t116 = t26 * rho; + const double t118 = 0.1e1 / t27 / t116; + const double t119 = t25 * t118; + const double t120 = t119 * t35; + const double t123 = t22 * t40; + const double t124 = t42 * t26; + const double t126 = 0.1e1 / t19 / t124; + const double t127 = t24 * t126; + const double t128 = t127 * t48; + const double t133 = t39 * t53; + const double t134 = t55 * rho; + const double t135 = 0.1e1 / t134; + const double t136 = t135 * t58; + const double t141 = t40 * t40; + const double t142 = t52 * t141; + const double t143 = t55 * t116; + const double t145 = 0.1e1 / t27 / t143; + const double t146 = t47 * t47; + const double t147 = 0.1e1 / t146; + const double t149 = t145 * t147 * t25; + const double t154 = t63 * t40; + const double t159 = t67 * t53; + const double t164 = t71 * t141; + const double t167 = -0.10666666666666666667e-1 * t64 * t120 + 0.85333333333333333336e-4 * t154 * t128 - 0.17066666666666666667e-3 * t68 * t128 + 0.13653333333333333334e-5 * t159 * t136 - 0.2048e-5 * t72 * t136 + 0.81920000000000000003e-8 * t164 * t149; + const double t172 = 0.1e1 / t93; + const double t173 = t87 * t172; + const double t174 = t83 * t29; + const double t177 = t91 * t95; + const double t180 = 0.1e1 / t100; + const double t181 = t92 * t180; + const double t184 = t98 * t102; + const double t188 = 0.1e1 / t100 / t93; + const double t189 = t99 * t188; + const double t192 = 0.5e1 / 0.3e1 * t83 * t29 * t89 + 0.5e1 / 0.3e1 * t173 * t174 - 0.1e2 * t177 * t174 - 0.1e2 * t181 * t174 + 0.25e2 / 0.3e1 * t184 * t174 + 0.25e2 / 0.3e1 * t189 * t174; + const double t194 = -0.10666666666666666667e-1 * t23 * t120 + 0.85333333333333333336e-4 * t123 * t128 - 0.17066666666666666667e-3 * t41 * t128 + 0.13653333333333333334e-5 * t133 * t136 - 0.2048e-5 * t54 * t136 + 0.81920000000000000003e-8 * t142 * t149 + t167 * t104 + t75 * t192; + const double t199 = piecewise_functor_3( t3, 0.0, -t7 * t112 * t106 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t194 ); + const double t203 = t29 * t35; + const double t208 = t39 * sigma; + const double t213 = t52 * t40; + const double t216 = t55 * t26; + const double t218 = 0.1e1 / t27 / t216; + const double t220 = t218 * t147 * t25; + const double t228 = t67 * sigma; + const double t233 = t71 * t40; + const double t238 = 0.4e-2 * t223 * t203 - 0.32e-4 * t64 * t49 + 0.64e-4 * t228 * t49 - 0.512e-6 * t68 * t59 + 0.768e-6 * t233 * t59 - 0.3072e-8 * t72 * t220; + const double t240 = 0.4e-2 * t202 * t203 - 0.32e-4 * t23 * t49 + 0.64e-4 * t208 * t49 - 0.512e-6 * t41 * t59 + 0.768e-6 * t213 * t59 - 0.3072e-8 * t54 * t220 + t238 * t104; + const double t244 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t240 ); + const double t246 = t7 * t18; + const double t247 = t19 * t75; + const double t248 = t25 * t85; + const double t259 = -t173 * t248 + 0.6e1 * t177 * t248 + 0.6e1 * t181 * t248 - 0.5e1 * t184 * t248 - 0.5e1 * t189 * t248 - t248 * t89; + const double t263 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t246 * t247 * t259 ); + const double t266 = t18 * t85; + const double t274 = 0.1e1 / t27 / t42; + const double t275 = t25 * t274; + const double t276 = t275 * t35; + const double t279 = t42 * t116; + const double t281 = 0.1e1 / t19 / t279; + const double t283 = t24 * t281 * t48; + const double t286 = t22 * t53; + const double t287 = 0.1e1 / t216; + const double t288 = t287 * t58; + const double t295 = t39 * t141; + const double t296 = t55 * t42; + const double t298 = 0.1e1 / t27 / t296; + const double t300 = t298 * t147 * t25; + const double t307 = t141 * sigma; + const double t308 = t52 * t307; + const double t313 = 0.1e1 / t146 / t34; + const double t315 = 0.1e1 / t19 / t55 / t279 * t313 * t24; + const double t322 = t63 * t53; + const double t329 = t67 * t141; + const double t336 = t71 * t307; + const double t339 = 0.39111111111111111112e-1 * t64 * t276 - 0.76800000000000000003e-3 * t154 * t283 + 0.36408888888888888891e-5 * t322 * t288 + 0.10808888888888888889e-2 * t68 * t283 - 0.19569777777777777779e-4 * t159 * t288 + 0.4369066666666666667e-7 * t329 * t300 + 0.18432e-4 * t72 * t288 - 0.16110933333333333334e-6 * t164 * t300 + 0.69905066666666666671e-9 * t336 * t315; + const double t346 = tau * tau; + const double t347 = t346 * t24; + const double t351 = t87 * t95; + const double t352 = t347 * t45; + const double t355 = t83 * t118; + const double t358 = t91 * t180; + const double t363 = t92 * t102; + const double t368 = t98 * t188; + const double t374 = 0.1e1 / t100 / t94; + const double t375 = t99 * t374; + const double t380 = -0.4e2 / 0.9e1 * t83 * t118 * t89 + 0.1e3 / 0.9e1 * t347 * t45 * t172 - 0.5e3 / 0.9e1 * t351 * t352 - 0.4e2 / 0.9e1 * t173 * t355 - 0.2e3 * t358 * t352 + 0.8e2 / 0.3e1 * t177 * t355 - 0.2e3 / 0.9e1 * t363 * t352 + 0.8e2 / 0.3e1 * t181 * t355 + 0.25e4 / 0.9e1 * t368 * t352 - 0.2e3 / 0.9e1 * t184 * t355 + 0.5e3 / 0.3e1 * t375 * t352 - 0.2e3 / 0.9e1 * t189 * t355; + const double t382 = 0.39111111111111111112e-1 * t23 * t276 - 0.76800000000000000003e-3 * t123 * t283 + 0.36408888888888888891e-5 * t286 * t288 + 0.10808888888888888889e-2 * t41 * t283 - 0.19569777777777777779e-4 * t133 * t288 + 0.4369066666666666667e-7 * t295 * t300 + 0.18432e-4 * t54 * t288 - 0.16110933333333333334e-6 * t142 * t300 + 0.69905066666666666671e-9 * t308 * t315 + t339 * t104 + 0.2e1 * t167 * t192 + t75 * t380; + const double t387 = piecewise_functor_3( t3, 0.0, t7 * t266 * t106 / 0.12e2 - t7 * t112 * t194 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t382 ); + const double t393 = t118 * t35; + const double t397 = t126 * t48; + const double t398 = t397 * sigma; + const double t413 = t55 * t124; + const double t417 = 0.1e1 / t19 / t413 * t313 * t24; + const double t439 = -0.10666666666666666667e-1 * t223 * t393 + 0.25600000000000000001e-3 * t422 * t398 - 0.13653333333333333334e-5 * t154 * t136 - 0.34133333333333333333e-3 * t228 * t128 + 0.68266666666666666668e-5 * t68 * t136 - 0.16384000000000000001e-7 * t159 * t149 - 0.6144e-5 * t233 * t136 + 0.57344000000000000001e-7 * t72 * t149 - 0.26214400000000000001e-9 * t164 * t417; + const double t442 = -0.10666666666666666667e-1 * t202 * t393 + 0.25600000000000000001e-3 * t396 * t398 - 0.13653333333333333334e-5 * t123 * t136 - 0.34133333333333333333e-3 * t208 * t128 + 0.68266666666666666668e-5 * t41 * t136 - 0.16384000000000000001e-7 * t133 * t149 - 0.6144e-5 * t213 * t136 + 0.57344000000000000001e-7 * t54 * t149 - 0.26214400000000000001e-9 * t142 * t417 + t439 * t104 + t238 * t192; + const double t447 = piecewise_functor_3( t3, 0.0, -t7 * t112 * t240 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t442 ); + const double t450 = t111 * t75; + const double t454 = t19 * t167; + const double t462 = t24 / t19 / t42; + const double t463 = t172 * tau; + const double t466 = t462 * tau; + const double t487 = 0.5e1 / 0.3e1 * t30 * t89 - 0.2e2 / 0.3e1 * t462 * t463 + 0.1e3 / 0.3e1 * t351 * t466 + 0.5e1 / 0.3e1 * t173 * t30 + 0.12e3 * t358 * t466 - 0.1e2 * t177 * t30 + 0.4e2 / 0.3e1 * t363 * t466 - 0.1e2 * t181 * t30 - 0.5e3 / 0.3e1 * t368 * t466 + 0.25e2 / 0.3e1 * t184 * t30 - 0.1e3 * t375 * t466 + 0.25e2 / 0.3e1 * t189 * t30; + const double t492 = piecewise_functor_3( t3, 0.0, -t246 * t450 * t259 / 0.8e1 - 0.3e1 / 0.8e1 * t246 * t454 * t259 - 0.3e1 / 0.8e1 * t246 * t247 * t487 ); + const double t495 = t45 * t48; + const double t507 = t52 * sigma; + const double t512 = t55 * t43; + const double t516 = 0.1e1 / t19 / t512 * t313 * t24; + const double t530 = t71 * sigma; + const double t537 = -0.64e-4 * t422 * t495 + 0.512e-6 * t64 * t59 + 0.64e-4 * t523 * t495 - 0.2048e-5 * t228 * t59 + 0.6144e-8 * t68 * t220 + 0.1536e-5 * t530 * t59 - 0.18432e-7 * t233 * t220 + 0.98304e-10 * t72 * t516; + const double t539 = -0.64e-4 * t396 * t495 + 0.512e-6 * t23 * t59 + 0.64e-4 * t500 * t495 - 0.2048e-5 * t208 * t59 + 0.6144e-8 * t41 * t220 + 0.1536e-5 * t507 * t59 - 0.18432e-7 * t213 * t220 + 0.98304e-10 * t54 * t516 + t537 * t104; + const double t543 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t539 ); + const double t545 = t19 * t238; + const double t549 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t246 * t545 * t259 ); + const double t553 = t24 / t19 / t116; + const double t566 = 0.4e1 * t553 * t172 - 0.2e2 * t351 * t553 - 0.72e2 * t358 * t553 - 0.8e1 * t363 * t553 + 0.1e3 * t368 * t553 + 0.6e2 * t375 * t553; + const double t570 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t246 * t247 * t566 ); + + + v2rho2 = 0.2e1 * rho * t387 + 0.4e1 * t199; + v2rhosigma = 0.2e1 * rho * t447 + 0.2e1 * t244; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t492 + 0.2e1 * t263; + v2sigma2 = 0.2e1 * rho * t543; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t549; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t570; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t76 = constants::m_cbrt_6; + constexpr double t79 = constants::m_cbrt_pi_sq; + constexpr double t7 = t4 / t5; + constexpr double t22 = cx_local_1; + constexpr double t25 = t24 * t24; + constexpr double t39 = cx_local_2; + constexpr double t52 = cx_local_3; + constexpr double t63 = cx_nlocal_1; + constexpr double t67 = cx_nlocal_2; + constexpr double t71 = cx_nlocal_3; + constexpr double t77 = t76 * t76; + constexpr double t80 = t79 * t79; + constexpr double t82 = 0.3e1 / 0.1e2 * t77 * t80; + constexpr double t202 = t22 * t25; + constexpr double t223 = t63 * t25; + constexpr double t396 = t22 * t24; + constexpr double t422 = t63 * t24; + constexpr double t500 = t39 * t24; + constexpr double t523 = t67 * t24; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t23 = t22 * sigma; + const double t26 = rho * rho; + const double t27 = t19 * t19; + const double t29 = 0.1e1 / t27 / t26; + const double t30 = t25 * t29; + const double t34 = 0.1e1 + 0.4e-2 * sigma * t25 * t29; + const double t35 = 0.1e1 / t34; + const double t36 = t30 * t35; + const double t40 = sigma * sigma; + const double t41 = t39 * t40; + const double t42 = t26 * t26; + const double t43 = t42 * rho; + const double t45 = 0.1e1 / t19 / t43; + const double t46 = t24 * t45; + const double t47 = t34 * t34; + const double t48 = 0.1e1 / t47; + const double t49 = t46 * t48; + const double t53 = t40 * sigma; + const double t54 = t52 * t53; + const double t55 = t42 * t42; + const double t56 = 0.1e1 / t55; + const double t57 = t47 * t34; + const double t58 = 0.1e1 / t57; + const double t59 = t56 * t58; + const double t64 = t63 * sigma; + const double t68 = t67 * t40; + const double t72 = t71 * t53; + const double t75 = cx_nlocal_0 + 0.4e-2 * t64 * t36 + 0.32e-4 * t68 * t49 + 0.256e-6 * t72 * t59; + const double t83 = tau * t25; + const double t85 = 0.1e1 / t27 / rho; + const double t86 = t83 * t85; + const double t87 = t82 - t86; + const double t88 = t82 + t86; + const double t89 = 0.1e1 / t88; + const double t91 = t87 * t87; + const double t92 = t91 * t87; + const double t93 = t88 * t88; + const double t94 = t93 * t88; + const double t95 = 0.1e1 / t94; + const double t98 = t91 * t91; + const double t99 = t98 * t87; + const double t100 = t93 * t93; + const double t102 = 0.1e1 / t100 / t88; + const double t104 = t99 * t102 + t87 * t89 - 0.2e1 * t92 * t95; + const double t106 = cx_local_0 + 0.4e-2 * t23 * t36 + 0.32e-4 * t41 * t49 + 0.256e-6 * t54 * t59 + t75 * t104; + const double t110 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t106 ); + const double t111 = 0.1e1 / t27; + const double t112 = t18 * t111; + const double t116 = t26 * rho; + const double t118 = 0.1e1 / t27 / t116; + const double t119 = t25 * t118; + const double t120 = t119 * t35; + const double t123 = t22 * t40; + const double t124 = t42 * t26; + const double t126 = 0.1e1 / t19 / t124; + const double t127 = t24 * t126; + const double t128 = t127 * t48; + const double t133 = t39 * t53; + const double t134 = t55 * rho; + const double t135 = 0.1e1 / t134; + const double t136 = t135 * t58; + const double t141 = t40 * t40; + const double t142 = t52 * t141; + const double t143 = t55 * t116; + const double t145 = 0.1e1 / t27 / t143; + const double t146 = t47 * t47; + const double t147 = 0.1e1 / t146; + const double t149 = t145 * t147 * t25; + const double t154 = t63 * t40; + const double t159 = t67 * t53; + const double t164 = t71 * t141; + const double t167 = -0.10666666666666666667e-1 * t64 * t120 + 0.85333333333333333336e-4 * t154 * t128 - 0.17066666666666666667e-3 * t68 * t128 + 0.13653333333333333334e-5 * t159 * t136 - 0.2048e-5 * t72 * t136 + 0.81920000000000000003e-8 * t164 * t149; + const double t172 = 0.1e1 / t93; + const double t173 = t87 * t172; + const double t174 = t83 * t29; + const double t177 = t91 * t95; + const double t180 = 0.1e1 / t100; + const double t181 = t92 * t180; + const double t184 = t98 * t102; + const double t188 = 0.1e1 / t100 / t93; + const double t189 = t99 * t188; + const double t192 = 0.5e1 / 0.3e1 * t83 * t29 * t89 + 0.5e1 / 0.3e1 * t173 * t174 - 0.1e2 * t177 * t174 - 0.1e2 * t181 * t174 + 0.25e2 / 0.3e1 * t184 * t174 + 0.25e2 / 0.3e1 * t189 * t174; + const double t194 = -0.10666666666666666667e-1 * t23 * t120 + 0.85333333333333333336e-4 * t123 * t128 - 0.17066666666666666667e-3 * t41 * t128 + 0.13653333333333333334e-5 * t133 * t136 - 0.2048e-5 * t54 * t136 + 0.81920000000000000003e-8 * t142 * t149 + t167 * t104 + t75 * t192; + const double t199 = piecewise_functor_3( t3, 0.0, -t7 * t112 * t106 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t194 ); + const double t203 = t29 * t35; + const double t208 = t39 * sigma; + const double t213 = t52 * t40; + const double t216 = t55 * t26; + const double t218 = 0.1e1 / t27 / t216; + const double t220 = t218 * t147 * t25; + const double t228 = t67 * sigma; + const double t233 = t71 * t40; + const double t238 = 0.4e-2 * t223 * t203 - 0.32e-4 * t64 * t49 + 0.64e-4 * t228 * t49 - 0.512e-6 * t68 * t59 + 0.768e-6 * t233 * t59 - 0.3072e-8 * t72 * t220; + const double t240 = 0.4e-2 * t202 * t203 - 0.32e-4 * t23 * t49 + 0.64e-4 * t208 * t49 - 0.512e-6 * t41 * t59 + 0.768e-6 * t213 * t59 - 0.3072e-8 * t54 * t220 + t238 * t104; + const double t244 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t240 ); + const double t246 = t7 * t18; + const double t247 = t19 * t75; + const double t248 = t25 * t85; + const double t259 = -t173 * t248 + 0.6e1 * t177 * t248 + 0.6e1 * t181 * t248 - 0.5e1 * t184 * t248 - 0.5e1 * t189 * t248 - t248 * t89; + const double t263 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t246 * t247 * t259 ); + const double t266 = t18 * t85; + const double t274 = 0.1e1 / t27 / t42; + const double t275 = t25 * t274; + const double t276 = t275 * t35; + const double t279 = t42 * t116; + const double t281 = 0.1e1 / t19 / t279; + const double t283 = t24 * t281 * t48; + const double t286 = t22 * t53; + const double t287 = 0.1e1 / t216; + const double t288 = t287 * t58; + const double t295 = t39 * t141; + const double t296 = t55 * t42; + const double t298 = 0.1e1 / t27 / t296; + const double t300 = t298 * t147 * t25; + const double t307 = t141 * sigma; + const double t308 = t52 * t307; + const double t313 = 0.1e1 / t146 / t34; + const double t315 = 0.1e1 / t19 / t55 / t279 * t313 * t24; + const double t322 = t63 * t53; + const double t329 = t67 * t141; + const double t336 = t71 * t307; + const double t339 = 0.39111111111111111112e-1 * t64 * t276 - 0.76800000000000000003e-3 * t154 * t283 + 0.36408888888888888891e-5 * t322 * t288 + 0.10808888888888888889e-2 * t68 * t283 - 0.19569777777777777779e-4 * t159 * t288 + 0.4369066666666666667e-7 * t329 * t300 + 0.18432e-4 * t72 * t288 - 0.16110933333333333334e-6 * t164 * t300 + 0.69905066666666666671e-9 * t336 * t315; + const double t346 = tau * tau; + const double t347 = t346 * t24; + const double t351 = t87 * t95; + const double t352 = t347 * t45; + const double t355 = t83 * t118; + const double t358 = t91 * t180; + const double t363 = t92 * t102; + const double t368 = t98 * t188; + const double t374 = 0.1e1 / t100 / t94; + const double t375 = t99 * t374; + const double t380 = -0.4e2 / 0.9e1 * t83 * t118 * t89 + 0.1e3 / 0.9e1 * t347 * t45 * t172 - 0.5e3 / 0.9e1 * t351 * t352 - 0.4e2 / 0.9e1 * t173 * t355 - 0.2e3 * t358 * t352 + 0.8e2 / 0.3e1 * t177 * t355 - 0.2e3 / 0.9e1 * t363 * t352 + 0.8e2 / 0.3e1 * t181 * t355 + 0.25e4 / 0.9e1 * t368 * t352 - 0.2e3 / 0.9e1 * t184 * t355 + 0.5e3 / 0.3e1 * t375 * t352 - 0.2e3 / 0.9e1 * t189 * t355; + const double t382 = 0.39111111111111111112e-1 * t23 * t276 - 0.76800000000000000003e-3 * t123 * t283 + 0.36408888888888888891e-5 * t286 * t288 + 0.10808888888888888889e-2 * t41 * t283 - 0.19569777777777777779e-4 * t133 * t288 + 0.4369066666666666667e-7 * t295 * t300 + 0.18432e-4 * t54 * t288 - 0.16110933333333333334e-6 * t142 * t300 + 0.69905066666666666671e-9 * t308 * t315 + t339 * t104 + 0.2e1 * t167 * t192 + t75 * t380; + const double t387 = piecewise_functor_3( t3, 0.0, t7 * t266 * t106 / 0.12e2 - t7 * t112 * t194 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t382 ); + const double t393 = t118 * t35; + const double t397 = t126 * t48; + const double t398 = t397 * sigma; + const double t413 = t55 * t124; + const double t417 = 0.1e1 / t19 / t413 * t313 * t24; + const double t439 = -0.10666666666666666667e-1 * t223 * t393 + 0.25600000000000000001e-3 * t422 * t398 - 0.13653333333333333334e-5 * t154 * t136 - 0.34133333333333333333e-3 * t228 * t128 + 0.68266666666666666668e-5 * t68 * t136 - 0.16384000000000000001e-7 * t159 * t149 - 0.6144e-5 * t233 * t136 + 0.57344000000000000001e-7 * t72 * t149 - 0.26214400000000000001e-9 * t164 * t417; + const double t442 = -0.10666666666666666667e-1 * t202 * t393 + 0.25600000000000000001e-3 * t396 * t398 - 0.13653333333333333334e-5 * t123 * t136 - 0.34133333333333333333e-3 * t208 * t128 + 0.68266666666666666668e-5 * t41 * t136 - 0.16384000000000000001e-7 * t133 * t149 - 0.6144e-5 * t213 * t136 + 0.57344000000000000001e-7 * t54 * t149 - 0.26214400000000000001e-9 * t142 * t417 + t439 * t104 + t238 * t192; + const double t447 = piecewise_functor_3( t3, 0.0, -t7 * t112 * t240 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t442 ); + const double t450 = t111 * t75; + const double t454 = t19 * t167; + const double t462 = t24 / t19 / t42; + const double t463 = t172 * tau; + const double t466 = t462 * tau; + const double t487 = 0.5e1 / 0.3e1 * t30 * t89 - 0.2e2 / 0.3e1 * t462 * t463 + 0.1e3 / 0.3e1 * t351 * t466 + 0.5e1 / 0.3e1 * t173 * t30 + 0.12e3 * t358 * t466 - 0.1e2 * t177 * t30 + 0.4e2 / 0.3e1 * t363 * t466 - 0.1e2 * t181 * t30 - 0.5e3 / 0.3e1 * t368 * t466 + 0.25e2 / 0.3e1 * t184 * t30 - 0.1e3 * t375 * t466 + 0.25e2 / 0.3e1 * t189 * t30; + const double t492 = piecewise_functor_3( t3, 0.0, -t246 * t450 * t259 / 0.8e1 - 0.3e1 / 0.8e1 * t246 * t454 * t259 - 0.3e1 / 0.8e1 * t246 * t247 * t487 ); + const double t495 = t45 * t48; + const double t507 = t52 * sigma; + const double t512 = t55 * t43; + const double t516 = 0.1e1 / t19 / t512 * t313 * t24; + const double t530 = t71 * sigma; + const double t537 = -0.64e-4 * t422 * t495 + 0.512e-6 * t64 * t59 + 0.64e-4 * t523 * t495 - 0.2048e-5 * t228 * t59 + 0.6144e-8 * t68 * t220 + 0.1536e-5 * t530 * t59 - 0.18432e-7 * t233 * t220 + 0.98304e-10 * t72 * t516; + const double t539 = -0.64e-4 * t396 * t495 + 0.512e-6 * t23 * t59 + 0.64e-4 * t500 * t495 - 0.2048e-5 * t208 * t59 + 0.6144e-8 * t41 * t220 + 0.1536e-5 * t507 * t59 - 0.18432e-7 * t213 * t220 + 0.98304e-10 * t54 * t516 + t537 * t104; + const double t543 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t539 ); + const double t545 = t19 * t238; + const double t549 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t246 * t545 * t259 ); + const double t553 = t24 / t19 / t116; + const double t566 = 0.4e1 * t553 * t172 - 0.2e2 * t351 * t553 - 0.72e2 * t358 * t553 - 0.8e1 * t363 * t553 + 0.1e3 * t368 * t553 + 0.6e2 * t375 * t553; + const double t570 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t246 * t247 * t566 ); + + + vrho = 0.2e1 * rho * t199 + 0.2e1 * t110; + vsigma = 0.2e1 * rho * t244; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t263; + v2rho2 = 0.2e1 * rho * t387 + 0.4e1 * t199; + v2rhosigma = 0.2e1 * rho * t447 + 0.2e1 * t244; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t492 + 0.2e1 * t263; + v2sigma2 = 0.2e1 * rho * t543; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t549; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t570; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t80 = constants::m_cbrt_6; + constexpr double t83 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t29 = cx_local_0; + constexpr double t30 = cx_local_1; + constexpr double t44 = cx_local_2; + constexpr double t56 = cx_local_3; + constexpr double t66 = cx_nlocal_0; + constexpr double t67 = cx_nlocal_1; + constexpr double t71 = cx_nlocal_2; + constexpr double t75 = cx_nlocal_3; + constexpr double t81 = t80 * t80; + constexpr double t84 = t83 * t83; + constexpr double t86 = 0.3e1 / 0.1e2 * t81 * t84; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t31 = t30 * sigma_aa; + const double t32 = rho_a * rho_a; + const double t33 = safe_math::cbrt( rho_a ); + const double t34 = t33 * t33; + const double t36 = 0.1e1 / t34 / t32; + const double t39 = 0.1e1 + 0.4e-2 * sigma_aa * t36; + const double t40 = 0.1e1 / t39; + const double t41 = t36 * t40; + const double t45 = sigma_aa * sigma_aa; + const double t46 = t44 * t45; + const double t47 = t32 * t32; + const double t48 = t47 * rho_a; + const double t50 = 0.1e1 / t33 / t48; + const double t51 = t39 * t39; + const double t52 = 0.1e1 / t51; + const double t53 = t50 * t52; + const double t57 = t45 * sigma_aa; + const double t58 = t56 * t57; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t61 = t51 * t39; + const double t62 = 0.1e1 / t61; + const double t63 = t60 * t62; + const double t68 = t67 * sigma_aa; + const double t72 = t71 * t45; + const double t76 = t75 * t57; + const double t79 = t66 + 0.4e-2 * t68 * t41 + 0.16e-4 * t72 * t53 + 0.64e-7 * t76 * t63; + const double t88 = 0.1e1 / t34 / rho_a; + const double t89 = tau_a * t88; + const double t90 = t86 - t89; + const double t91 = t86 + t89; + const double t92 = 0.1e1 / t91; + const double t94 = t90 * t90; + const double t95 = t94 * t90; + const double t96 = t91 * t91; + const double t97 = t96 * t91; + const double t98 = 0.1e1 / t97; + const double t101 = t94 * t94; + const double t102 = t101 * t90; + const double t103 = t96 * t96; + const double t105 = 0.1e1 / t103 / t91; + const double t107 = t102 * t105 + t90 * t92 - 0.2e1 * t95 * t98; + const double t109 = t29 + 0.4e-2 * t31 * t41 + 0.16e-4 * t46 * t53 + 0.64e-7 * t58 * t63 + t79 * t107; + const double t113 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t109 ); + const double t114 = rho_b <= dens_tol; + const double t115 = -t17; + const double t117 = piecewise_functor_5( t15, t12, t11, t16, t115 * t8 ); + const double t118 = 0.1e1 + t117; + const double t119 = t118 <= zeta_tol; + const double t120 = safe_math::cbrt( t118 ); + const double t122 = piecewise_functor_3( t119, t23, t120 * t118 ); + const double t123 = t122 * t27; + const double t124 = t30 * sigma_bb; + const double t125 = rho_b * rho_b; + const double t126 = safe_math::cbrt( rho_b ); + const double t127 = t126 * t126; + const double t129 = 0.1e1 / t127 / t125; + const double t132 = 0.1e1 + 0.4e-2 * sigma_bb * t129; + const double t133 = 0.1e1 / t132; + const double t134 = t129 * t133; + const double t137 = sigma_bb * sigma_bb; + const double t138 = t44 * t137; + const double t139 = t125 * t125; + const double t140 = t139 * rho_b; + const double t142 = 0.1e1 / t126 / t140; + const double t143 = t132 * t132; + const double t144 = 0.1e1 / t143; + const double t145 = t142 * t144; + const double t148 = t137 * sigma_bb; + const double t149 = t56 * t148; + const double t150 = t139 * t139; + const double t151 = 0.1e1 / t150; + const double t152 = t143 * t132; + const double t153 = 0.1e1 / t152; + const double t154 = t151 * t153; + const double t157 = t67 * sigma_bb; + const double t160 = t71 * t137; + const double t163 = t75 * t148; + const double t166 = t66 + 0.4e-2 * t157 * t134 + 0.16e-4 * t160 * t145 + 0.64e-7 * t163 * t154; + const double t168 = 0.1e1 / t127 / rho_b; + const double t169 = tau_b * t168; + const double t170 = t86 - t169; + const double t171 = t86 + t169; + const double t172 = 0.1e1 / t171; + const double t174 = t170 * t170; + const double t175 = t174 * t170; + const double t176 = t171 * t171; + const double t177 = t176 * t171; + const double t178 = 0.1e1 / t177; + const double t181 = t174 * t174; + const double t182 = t181 * t170; + const double t183 = t176 * t176; + const double t185 = 0.1e1 / t183 / t171; + const double t187 = t170 * t172 - 0.2e1 * t175 * t178 + t182 * t185; + const double t189 = t29 + 0.4e-2 * t124 * t134 + 0.16e-4 * t138 * t145 + 0.64e-7 * t149 * t154 + t166 * t187; + const double t193 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t189 ); + + + eps = t113 + t193; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t80 = constants::m_cbrt_6; + constexpr double t83 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t29 = cx_local_0; + constexpr double t30 = cx_local_1; + constexpr double t44 = cx_local_2; + constexpr double t56 = cx_local_3; + constexpr double t66 = cx_nlocal_0; + constexpr double t67 = cx_nlocal_1; + constexpr double t71 = cx_nlocal_2; + constexpr double t75 = cx_nlocal_3; + constexpr double t81 = t80 * t80; + constexpr double t84 = t83 * t83; + constexpr double t86 = 0.3e1 / 0.1e2 * t81 * t84; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t31 = t30 * sigma_aa; + const double t32 = rho_a * rho_a; + const double t33 = safe_math::cbrt( rho_a ); + const double t34 = t33 * t33; + const double t36 = 0.1e1 / t34 / t32; + const double t39 = 0.1e1 + 0.4e-2 * sigma_aa * t36; + const double t40 = 0.1e1 / t39; + const double t41 = t36 * t40; + const double t45 = sigma_aa * sigma_aa; + const double t46 = t44 * t45; + const double t47 = t32 * t32; + const double t48 = t47 * rho_a; + const double t50 = 0.1e1 / t33 / t48; + const double t51 = t39 * t39; + const double t52 = 0.1e1 / t51; + const double t53 = t50 * t52; + const double t57 = t45 * sigma_aa; + const double t58 = t56 * t57; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t61 = t51 * t39; + const double t62 = 0.1e1 / t61; + const double t63 = t60 * t62; + const double t68 = t67 * sigma_aa; + const double t72 = t71 * t45; + const double t76 = t75 * t57; + const double t79 = t66 + 0.4e-2 * t68 * t41 + 0.16e-4 * t72 * t53 + 0.64e-7 * t76 * t63; + const double t88 = 0.1e1 / t34 / rho_a; + const double t89 = tau_a * t88; + const double t90 = t86 - t89; + const double t91 = t86 + t89; + const double t92 = 0.1e1 / t91; + const double t94 = t90 * t90; + const double t95 = t94 * t90; + const double t96 = t91 * t91; + const double t97 = t96 * t91; + const double t98 = 0.1e1 / t97; + const double t101 = t94 * t94; + const double t102 = t101 * t90; + const double t103 = t96 * t96; + const double t105 = 0.1e1 / t103 / t91; + const double t107 = t102 * t105 + t90 * t92 - 0.2e1 * t95 * t98; + const double t109 = t29 + 0.4e-2 * t31 * t41 + 0.16e-4 * t46 * t53 + 0.64e-7 * t58 * t63 + t79 * t107; + const double t113 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t109 ); + const double t114 = rho_b <= dens_tol; + const double t115 = -t17; + const double t117 = piecewise_functor_5( t15, t12, t11, t16, t115 * t8 ); + const double t118 = 0.1e1 + t117; + const double t119 = t118 <= zeta_tol; + const double t120 = safe_math::cbrt( t118 ); + const double t122 = piecewise_functor_3( t119, t23, t120 * t118 ); + const double t123 = t122 * t27; + const double t124 = t30 * sigma_bb; + const double t125 = rho_b * rho_b; + const double t126 = safe_math::cbrt( rho_b ); + const double t127 = t126 * t126; + const double t129 = 0.1e1 / t127 / t125; + const double t132 = 0.1e1 + 0.4e-2 * sigma_bb * t129; + const double t133 = 0.1e1 / t132; + const double t134 = t129 * t133; + const double t137 = sigma_bb * sigma_bb; + const double t138 = t44 * t137; + const double t139 = t125 * t125; + const double t140 = t139 * rho_b; + const double t142 = 0.1e1 / t126 / t140; + const double t143 = t132 * t132; + const double t144 = 0.1e1 / t143; + const double t145 = t142 * t144; + const double t148 = t137 * sigma_bb; + const double t149 = t56 * t148; + const double t150 = t139 * t139; + const double t151 = 0.1e1 / t150; + const double t152 = t143 * t132; + const double t153 = 0.1e1 / t152; + const double t154 = t151 * t153; + const double t157 = t67 * sigma_bb; + const double t160 = t71 * t137; + const double t163 = t75 * t148; + const double t166 = t66 + 0.4e-2 * t157 * t134 + 0.16e-4 * t160 * t145 + 0.64e-7 * t163 * t154; + const double t168 = 0.1e1 / t127 / rho_b; + const double t169 = tau_b * t168; + const double t170 = t86 - t169; + const double t171 = t86 + t169; + const double t172 = 0.1e1 / t171; + const double t174 = t170 * t170; + const double t175 = t174 * t170; + const double t176 = t171 * t171; + const double t177 = t176 * t171; + const double t178 = 0.1e1 / t177; + const double t181 = t174 * t174; + const double t182 = t181 * t170; + const double t183 = t176 * t176; + const double t185 = 0.1e1 / t183 / t171; + const double t187 = t170 * t172 - 0.2e1 * t175 * t178 + t182 * t185; + const double t189 = t29 + 0.4e-2 * t124 * t134 + 0.16e-4 * t138 * t145 + 0.64e-7 * t149 * t154 + t166 * t187; + const double t193 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t189 ); + const double t194 = t7 * t7; + const double t195 = 0.1e1 / t194; + const double t196 = t17 * t195; + const double t198 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t196 ); + const double t201 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t198 ); + const double t202 = t201 * t27; + const double t206 = t27 * t27; + const double t207 = 0.1e1 / t206; + const double t208 = t26 * t207; + const double t211 = t6 * t208 * t109 / 0.8e1; + const double t212 = t32 * rho_a; + const double t214 = 0.1e1 / t34 / t212; + const double t215 = t214 * t40; + const double t218 = t30 * t45; + const double t219 = t47 * t32; + const double t221 = 0.1e1 / t33 / t219; + const double t222 = t221 * t52; + const double t227 = t44 * t57; + const double t228 = t59 * rho_a; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t62; + const double t235 = t45 * t45; + const double t236 = t56 * t235; + const double t237 = t59 * t212; + const double t239 = 0.1e1 / t34 / t237; + const double t240 = t51 * t51; + const double t241 = 0.1e1 / t240; + const double t242 = t239 * t241; + const double t247 = t67 * t45; + const double t252 = t71 * t57; + const double t257 = t75 * t235; + const double t260 = -0.10666666666666666667e-1 * t68 * t215 + 0.42666666666666666668e-4 * t247 * t222 - 0.85333333333333333333e-4 * t72 * t222 + 0.34133333333333333334e-6 * t252 * t230 - 0.512e-6 * t76 * t230 + 0.20480000000000000001e-8 * t257 * t242; + const double t262 = tau_a * t36; + const double t265 = 0.1e1 / t96; + const double t266 = t90 * t265; + const double t269 = t94 * t98; + const double t272 = 0.1e1 / t103; + const double t273 = t95 * t272; + const double t276 = t101 * t105; + const double t280 = 0.1e1 / t103 / t96; + const double t281 = t102 * t280; + const double t284 = 0.5e1 / 0.3e1 * t262 * t92 + 0.5e1 / 0.3e1 * t266 * t262 - 0.1e2 * t269 * t262 - 0.1e2 * t273 * t262 + 0.25e2 / 0.3e1 * t276 * t262 + 0.25e2 / 0.3e1 * t281 * t262; + const double t286 = -0.10666666666666666667e-1 * t31 * t215 + 0.42666666666666666668e-4 * t218 * t222 - 0.85333333333333333333e-4 * t46 * t222 + 0.34133333333333333334e-6 * t227 * t230 - 0.512e-6 * t58 * t230 + 0.20480000000000000001e-8 * t236 * t242 + t260 * t107 + t79 * t284; + const double t291 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t202 * t109 - t211 - 0.3e1 / 0.8e1 * t6 * t28 * t286 ); + const double t292 = t115 * t195; + const double t294 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t292 ); + const double t297 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.3e1 * t120 * t294 ); + const double t298 = t297 * t27; + const double t302 = t122 * t207; + const double t305 = t6 * t302 * t189 / 0.8e1; + const double t307 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t298 * t189 - t305 ); + const double t311 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t196 ); + const double t314 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t311 ); + const double t315 = t314 * t27; + const double t320 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t315 * t109 - t211 ); + const double t322 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t292 ); + const double t325 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.3e1 * t120 * t322 ); + const double t326 = t325 * t27; + const double t330 = t125 * rho_b; + const double t332 = 0.1e1 / t127 / t330; + const double t333 = t332 * t133; + const double t336 = t30 * t137; + const double t337 = t139 * t125; + const double t339 = 0.1e1 / t126 / t337; + const double t340 = t339 * t144; + const double t345 = t44 * t148; + const double t346 = t150 * rho_b; + const double t347 = 0.1e1 / t346; + const double t348 = t347 * t153; + const double t353 = t137 * t137; + const double t354 = t56 * t353; + const double t355 = t150 * t330; + const double t357 = 0.1e1 / t127 / t355; + const double t358 = t143 * t143; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t365 = t67 * t137; + const double t370 = t71 * t148; + const double t375 = t75 * t353; + const double t378 = -0.10666666666666666667e-1 * t157 * t333 + 0.42666666666666666668e-4 * t365 * t340 - 0.85333333333333333333e-4 * t160 * t340 + 0.34133333333333333334e-6 * t370 * t348 - 0.512e-6 * t163 * t348 + 0.20480000000000000001e-8 * t375 * t360; + const double t380 = tau_b * t129; + const double t383 = 0.1e1 / t176; + const double t384 = t170 * t383; + const double t387 = t174 * t178; + const double t390 = 0.1e1 / t183; + const double t391 = t175 * t390; + const double t394 = t181 * t185; + const double t398 = 0.1e1 / t183 / t176; + const double t399 = t182 * t398; + const double t402 = 0.5e1 / 0.3e1 * t380 * t172 + 0.5e1 / 0.3e1 * t384 * t380 - 0.1e2 * t387 * t380 - 0.1e2 * t391 * t380 + 0.25e2 / 0.3e1 * t394 * t380 + 0.25e2 / 0.3e1 * t399 * t380; + const double t404 = -0.10666666666666666667e-1 * t124 * t333 + 0.42666666666666666668e-4 * t336 * t340 - 0.85333333333333333333e-4 * t138 * t340 + 0.34133333333333333334e-6 * t345 * t348 - 0.512e-6 * t149 * t348 + 0.20480000000000000001e-8 * t354 * t360 + t378 * t187 + t166 * t402; + const double t409 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t326 * t189 - t305 - 0.3e1 / 0.8e1 * t6 * t123 * t404 ); + const double t417 = t44 * sigma_aa; + const double t422 = t56 * t45; + const double t425 = t59 * t32; + const double t427 = 0.1e1 / t34 / t425; + const double t428 = t427 * t241; + const double t436 = t71 * sigma_aa; + const double t441 = t75 * t45; + const double t446 = 0.4e-2 * t67 * t36 * t40 - 0.16e-4 * t68 * t53 + 0.32e-4 * t436 * t53 - 0.128e-6 * t72 * t63 + 0.192e-6 * t441 * t63 - 0.768e-9 * t76 * t428; + const double t448 = 0.4e-2 * t30 * t36 * t40 - 0.16e-4 * t31 * t53 + 0.32e-4 * t417 * t53 - 0.128e-6 * t46 * t63 + 0.192e-6 * t422 * t63 - 0.768e-9 * t58 * t428 + t446 * t107; + const double t452 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t448 ); + const double t458 = t44 * sigma_bb; + const double t463 = t56 * t137; + const double t466 = t150 * t125; + const double t468 = 0.1e1 / t127 / t466; + const double t469 = t468 * t359; + const double t477 = t71 * sigma_bb; + const double t482 = t75 * t137; + const double t487 = 0.4e-2 * t67 * t129 * t133 - 0.16e-4 * t157 * t145 + 0.32e-4 * t477 * t145 - 0.128e-6 * t160 * t154 + 0.192e-6 * t482 * t154 - 0.768e-9 * t163 * t469; + const double t489 = 0.4e-2 * t30 * t129 * t133 - 0.16e-4 * t124 * t145 + 0.32e-4 * t458 * t145 - 0.128e-6 * t138 * t154 + 0.192e-6 * t463 * t154 - 0.768e-9 * t149 * t469 + t487 * t187; + const double t493 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t489 ); + const double t494 = t6 * t26; + const double t495 = t27 * t79; + const double t506 = -t266 * t88 + 0.6e1 * t269 * t88 + 0.6e1 * t273 * t88 - 0.5e1 * t276 * t88 - 0.5e1 * t281 * t88 - t88 * t92; + const double t507 = t495 * t506; + const double t510 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t494 * t507 ); + const double t511 = t6 * t122; + const double t512 = t27 * t166; + const double t523 = -t168 * t172 - t384 * t168 + 0.6e1 * t387 * t168 + 0.6e1 * t391 * t168 - 0.5e1 * t394 * t168 - 0.5e1 * t399 * t168; + const double t524 = t512 * t523; + const double t527 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t511 * t524 ); + + + eps = t113 + t193; + vrho_a = t113 + t193 + t7 * ( t291 + t307 ); + vrho_b = t113 + t193 + t7 * ( t320 + t409 ); + vsigma_aa = t7 * t452; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t493; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t510; + vtau_b = t7 * t527; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t80 = constants::m_cbrt_6; + constexpr double t83 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t29 = cx_local_0; + constexpr double t30 = cx_local_1; + constexpr double t44 = cx_local_2; + constexpr double t56 = cx_local_3; + constexpr double t66 = cx_nlocal_0; + constexpr double t67 = cx_nlocal_1; + constexpr double t71 = cx_nlocal_2; + constexpr double t75 = cx_nlocal_3; + constexpr double t81 = t80 * t80; + constexpr double t84 = t83 * t83; + constexpr double t86 = 0.3e1 / 0.1e2 * t81 * t84; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t31 = t30 * sigma_aa; + const double t32 = rho_a * rho_a; + const double t33 = safe_math::cbrt( rho_a ); + const double t34 = t33 * t33; + const double t36 = 0.1e1 / t34 / t32; + const double t39 = 0.1e1 + 0.4e-2 * sigma_aa * t36; + const double t40 = 0.1e1 / t39; + const double t41 = t36 * t40; + const double t45 = sigma_aa * sigma_aa; + const double t46 = t44 * t45; + const double t47 = t32 * t32; + const double t48 = t47 * rho_a; + const double t50 = 0.1e1 / t33 / t48; + const double t51 = t39 * t39; + const double t52 = 0.1e1 / t51; + const double t53 = t50 * t52; + const double t57 = t45 * sigma_aa; + const double t58 = t56 * t57; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t61 = t51 * t39; + const double t62 = 0.1e1 / t61; + const double t63 = t60 * t62; + const double t68 = t67 * sigma_aa; + const double t72 = t71 * t45; + const double t76 = t75 * t57; + const double t79 = t66 + 0.4e-2 * t68 * t41 + 0.16e-4 * t72 * t53 + 0.64e-7 * t76 * t63; + const double t88 = 0.1e1 / t34 / rho_a; + const double t89 = tau_a * t88; + const double t90 = t86 - t89; + const double t91 = t86 + t89; + const double t92 = 0.1e1 / t91; + const double t94 = t90 * t90; + const double t95 = t94 * t90; + const double t96 = t91 * t91; + const double t97 = t96 * t91; + const double t98 = 0.1e1 / t97; + const double t101 = t94 * t94; + const double t102 = t101 * t90; + const double t103 = t96 * t96; + const double t105 = 0.1e1 / t103 / t91; + const double t107 = t102 * t105 + t90 * t92 - 0.2e1 * t95 * t98; + const double t109 = t29 + 0.4e-2 * t31 * t41 + 0.16e-4 * t46 * t53 + 0.64e-7 * t58 * t63 + t79 * t107; + const double t114 = rho_b <= dens_tol; + const double t115 = -t17; + const double t117 = piecewise_functor_5( t15, t12, t11, t16, t115 * t8 ); + const double t118 = 0.1e1 + t117; + const double t119 = t118 <= zeta_tol; + const double t120 = safe_math::cbrt( t118 ); + const double t122 = piecewise_functor_3( t119, t23, t120 * t118 ); + const double t123 = t122 * t27; + const double t124 = t30 * sigma_bb; + const double t125 = rho_b * rho_b; + const double t126 = safe_math::cbrt( rho_b ); + const double t127 = t126 * t126; + const double t129 = 0.1e1 / t127 / t125; + const double t132 = 0.1e1 + 0.4e-2 * sigma_bb * t129; + const double t133 = 0.1e1 / t132; + const double t134 = t129 * t133; + const double t137 = sigma_bb * sigma_bb; + const double t138 = t44 * t137; + const double t139 = t125 * t125; + const double t140 = t139 * rho_b; + const double t142 = 0.1e1 / t126 / t140; + const double t143 = t132 * t132; + const double t144 = 0.1e1 / t143; + const double t145 = t142 * t144; + const double t148 = t137 * sigma_bb; + const double t149 = t56 * t148; + const double t150 = t139 * t139; + const double t151 = 0.1e1 / t150; + const double t152 = t143 * t132; + const double t153 = 0.1e1 / t152; + const double t154 = t151 * t153; + const double t157 = t67 * sigma_bb; + const double t160 = t71 * t137; + const double t163 = t75 * t148; + const double t166 = t66 + 0.4e-2 * t157 * t134 + 0.16e-4 * t160 * t145 + 0.64e-7 * t163 * t154; + const double t168 = 0.1e1 / t127 / rho_b; + const double t169 = tau_b * t168; + const double t170 = t86 - t169; + const double t171 = t86 + t169; + const double t172 = 0.1e1 / t171; + const double t174 = t170 * t170; + const double t175 = t174 * t170; + const double t176 = t171 * t171; + const double t177 = t176 * t171; + const double t178 = 0.1e1 / t177; + const double t181 = t174 * t174; + const double t182 = t181 * t170; + const double t183 = t176 * t176; + const double t185 = 0.1e1 / t183 / t171; + const double t187 = t170 * t172 - 0.2e1 * t175 * t178 + t182 * t185; + const double t189 = t29 + 0.4e-2 * t124 * t134 + 0.16e-4 * t138 * t145 + 0.64e-7 * t149 * t154 + t166 * t187; + const double t194 = t7 * t7; + const double t195 = 0.1e1 / t194; + const double t196 = t17 * t195; + const double t198 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t196 ); + const double t201 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t198 ); + const double t202 = t201 * t27; + const double t206 = t27 * t27; + const double t207 = 0.1e1 / t206; + const double t208 = t26 * t207; + const double t211 = t6 * t208 * t109 / 0.8e1; + const double t212 = t32 * rho_a; + const double t214 = 0.1e1 / t34 / t212; + const double t215 = t214 * t40; + const double t218 = t30 * t45; + const double t219 = t47 * t32; + const double t221 = 0.1e1 / t33 / t219; + const double t222 = t221 * t52; + const double t227 = t44 * t57; + const double t228 = t59 * rho_a; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t62; + const double t235 = t45 * t45; + const double t236 = t56 * t235; + const double t237 = t59 * t212; + const double t239 = 0.1e1 / t34 / t237; + const double t240 = t51 * t51; + const double t241 = 0.1e1 / t240; + const double t242 = t239 * t241; + const double t247 = t67 * t45; + const double t252 = t71 * t57; + const double t257 = t75 * t235; + const double t260 = -0.10666666666666666667e-1 * t68 * t215 + 0.42666666666666666668e-4 * t247 * t222 - 0.85333333333333333333e-4 * t72 * t222 + 0.34133333333333333334e-6 * t252 * t230 - 0.512e-6 * t76 * t230 + 0.20480000000000000001e-8 * t257 * t242; + const double t262 = tau_a * t36; + const double t265 = 0.1e1 / t96; + const double t266 = t90 * t265; + const double t269 = t94 * t98; + const double t272 = 0.1e1 / t103; + const double t273 = t95 * t272; + const double t276 = t101 * t105; + const double t280 = 0.1e1 / t103 / t96; + const double t281 = t102 * t280; + const double t284 = 0.5e1 / 0.3e1 * t262 * t92 + 0.5e1 / 0.3e1 * t266 * t262 - 0.1e2 * t269 * t262 - 0.1e2 * t273 * t262 + 0.25e2 / 0.3e1 * t276 * t262 + 0.25e2 / 0.3e1 * t281 * t262; + const double t286 = -0.10666666666666666667e-1 * t31 * t215 + 0.42666666666666666668e-4 * t218 * t222 - 0.85333333333333333333e-4 * t46 * t222 + 0.34133333333333333334e-6 * t227 * t230 - 0.512e-6 * t58 * t230 + 0.20480000000000000001e-8 * t236 * t242 + t260 * t107 + t79 * t284; + const double t291 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t202 * t109 - t211 - 0.3e1 / 0.8e1 * t6 * t28 * t286 ); + const double t292 = t115 * t195; + const double t294 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t292 ); + const double t297 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.3e1 * t120 * t294 ); + const double t298 = t297 * t27; + const double t302 = t122 * t207; + const double t305 = t6 * t302 * t189 / 0.8e1; + const double t307 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t298 * t189 - t305 ); + const double t311 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t196 ); + const double t314 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t311 ); + const double t315 = t314 * t27; + const double t320 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t315 * t109 - t211 ); + const double t322 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t292 ); + const double t325 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.3e1 * t120 * t322 ); + const double t326 = t325 * t27; + const double t330 = t125 * rho_b; + const double t332 = 0.1e1 / t127 / t330; + const double t333 = t332 * t133; + const double t336 = t30 * t137; + const double t337 = t139 * t125; + const double t339 = 0.1e1 / t126 / t337; + const double t340 = t339 * t144; + const double t345 = t44 * t148; + const double t346 = t150 * rho_b; + const double t347 = 0.1e1 / t346; + const double t348 = t347 * t153; + const double t353 = t137 * t137; + const double t354 = t56 * t353; + const double t355 = t150 * t330; + const double t357 = 0.1e1 / t127 / t355; + const double t358 = t143 * t143; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t365 = t67 * t137; + const double t370 = t71 * t148; + const double t375 = t75 * t353; + const double t378 = -0.10666666666666666667e-1 * t157 * t333 + 0.42666666666666666668e-4 * t365 * t340 - 0.85333333333333333333e-4 * t160 * t340 + 0.34133333333333333334e-6 * t370 * t348 - 0.512e-6 * t163 * t348 + 0.20480000000000000001e-8 * t375 * t360; + const double t380 = tau_b * t129; + const double t383 = 0.1e1 / t176; + const double t384 = t170 * t383; + const double t387 = t174 * t178; + const double t390 = 0.1e1 / t183; + const double t391 = t175 * t390; + const double t394 = t181 * t185; + const double t398 = 0.1e1 / t183 / t176; + const double t399 = t182 * t398; + const double t402 = 0.5e1 / 0.3e1 * t380 * t172 + 0.5e1 / 0.3e1 * t384 * t380 - 0.1e2 * t387 * t380 - 0.1e2 * t391 * t380 + 0.25e2 / 0.3e1 * t394 * t380 + 0.25e2 / 0.3e1 * t399 * t380; + const double t404 = -0.10666666666666666667e-1 * t124 * t333 + 0.42666666666666666668e-4 * t336 * t340 - 0.85333333333333333333e-4 * t138 * t340 + 0.34133333333333333334e-6 * t345 * t348 - 0.512e-6 * t149 * t348 + 0.20480000000000000001e-8 * t354 * t360 + t378 * t187 + t166 * t402; + const double t409 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t326 * t189 - t305 - 0.3e1 / 0.8e1 * t6 * t123 * t404 ); + const double t417 = t44 * sigma_aa; + const double t422 = t56 * t45; + const double t425 = t59 * t32; + const double t427 = 0.1e1 / t34 / t425; + const double t428 = t427 * t241; + const double t436 = t71 * sigma_aa; + const double t441 = t75 * t45; + const double t446 = 0.4e-2 * t67 * t36 * t40 - 0.16e-4 * t68 * t53 + 0.32e-4 * t436 * t53 - 0.128e-6 * t72 * t63 + 0.192e-6 * t441 * t63 - 0.768e-9 * t76 * t428; + const double t448 = 0.4e-2 * t30 * t36 * t40 - 0.16e-4 * t31 * t53 + 0.32e-4 * t417 * t53 - 0.128e-6 * t46 * t63 + 0.192e-6 * t422 * t63 - 0.768e-9 * t58 * t428 + t446 * t107; + const double t452 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t448 ); + const double t458 = t44 * sigma_bb; + const double t463 = t56 * t137; + const double t466 = t150 * t125; + const double t468 = 0.1e1 / t127 / t466; + const double t469 = t468 * t359; + const double t477 = t71 * sigma_bb; + const double t482 = t75 * t137; + const double t487 = 0.4e-2 * t67 * t129 * t133 - 0.16e-4 * t157 * t145 + 0.32e-4 * t477 * t145 - 0.128e-6 * t160 * t154 + 0.192e-6 * t482 * t154 - 0.768e-9 * t163 * t469; + const double t489 = 0.4e-2 * t30 * t129 * t133 - 0.16e-4 * t124 * t145 + 0.32e-4 * t458 * t145 - 0.128e-6 * t138 * t154 + 0.192e-6 * t463 * t154 - 0.768e-9 * t149 * t469 + t487 * t187; + const double t493 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t489 ); + const double t494 = t6 * t26; + const double t495 = t27 * t79; + const double t506 = -t266 * t88 + 0.6e1 * t269 * t88 + 0.6e1 * t273 * t88 - 0.5e1 * t276 * t88 - 0.5e1 * t281 * t88 - t88 * t92; + const double t507 = t495 * t506; + const double t510 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t494 * t507 ); + const double t511 = t6 * t122; + const double t512 = t27 * t166; + const double t523 = -t168 * t172 - t384 * t168 + 0.6e1 * t387 * t168 + 0.6e1 * t391 * t168 - 0.5e1 * t394 * t168 - 0.5e1 * t399 * t168; + const double t524 = t512 * t523; + const double t527 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t511 * t524 ); + const double t530 = t24 * t24; + const double t531 = 0.1e1 / t530; + const double t532 = t198 * t198; + const double t535 = t194 * t7; + const double t536 = 0.1e1 / t535; + const double t537 = t17 * t536; + const double t540 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t195 + 0.2e1 * t537 ); + const double t544 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t531 * t532 + 0.4e1 / 0.3e1 * t24 * t540 ); + const double t545 = t544 * t27; + const double t549 = t201 * t207; + const double t551 = t6 * t549 * t109; + const double t557 = 0.1e1 / t206 / t7; + const double t558 = t26 * t557; + const double t561 = t6 * t558 * t109 / 0.12e2; + const double t563 = t6 * t208 * t286; + const double t566 = 0.1e1 / t34 / t47; + const double t567 = t566 * t40; + const double t570 = t47 * t212; + const double t572 = 0.1e1 / t33 / t570; + const double t573 = t572 * t52; + const double t576 = t30 * t57; + const double t577 = 0.1e1 / t425; + const double t578 = t577 * t62; + const double t585 = t44 * t235; + const double t586 = t59 * t47; + const double t588 = 0.1e1 / t34 / t586; + const double t589 = t588 * t241; + const double t596 = t235 * sigma_aa; + const double t597 = t56 * t596; + const double t602 = 0.1e1 / t240 / t39; + const double t603 = 0.1e1 / t33 / t59 / t570 * t602; + const double t610 = t67 * t57; + const double t617 = t71 * t235; + const double t624 = t75 * t596; + const double t627 = 0.39111111111111111112e-1 * t68 * t567 - 0.38400000000000000001e-3 * t247 * t573 + 0.91022222222222222228e-6 * t610 * t578 + 0.54044444444444444444e-3 * t72 * t573 - 0.48924444444444444446e-5 * t252 * t578 + 0.10922666666666666667e-7 * t617 * t589 + 0.4608e-5 * t76 * t578 - 0.40277333333333333336e-7 * t257 * t589 + 0.8738133333333333334e-10 * t624 * t603; + const double t631 = tau_a * t214; + const double t634 = tau_a * tau_a; + const double t635 = t634 * t50; + const double t638 = t90 * t98; + const double t643 = t94 * t272; + const double t648 = t95 * t105; + const double t653 = t101 * t280; + const double t659 = 0.1e1 / t103 / t97; + const double t660 = t102 * t659; + const double t665 = -0.4e2 / 0.9e1 * t631 * t92 + 0.5e2 / 0.9e1 * t635 * t265 - 0.25e3 / 0.9e1 * t638 * t635 - 0.4e2 / 0.9e1 * t266 * t631 - 0.1e3 * t643 * t635 + 0.8e2 / 0.3e1 * t269 * t631 - 0.1e3 / 0.9e1 * t648 * t635 + 0.8e2 / 0.3e1 * t273 * t631 + 0.125e4 / 0.9e1 * t653 * t635 - 0.2e3 / 0.9e1 * t276 * t631 + 0.25e3 / 0.3e1 * t660 * t635 - 0.2e3 / 0.9e1 * t281 * t631; + const double t667 = 0.39111111111111111112e-1 * t31 * t567 - 0.38400000000000000001e-3 * t218 * t573 + 0.91022222222222222228e-6 * t576 * t578 + 0.54044444444444444444e-3 * t46 * t573 - 0.48924444444444444446e-5 * t227 * t578 + 0.10922666666666666667e-7 * t585 * t589 + 0.4608e-5 * t58 * t578 - 0.40277333333333333336e-7 * t236 * t589 + 0.8738133333333333334e-10 * t597 * t603 + t627 * t107 + 0.2e1 * t260 * t284 + t79 * t665; + const double t672 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t545 * t109 - t551 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t202 * t286 + t561 - t563 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t667 ); + const double t673 = t120 * t120; + const double t674 = 0.1e1 / t673; + const double t675 = t294 * t294; + const double t678 = t115 * t536; + const double t681 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t195 + 0.2e1 * t678 ); + const double t685 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.9e1 * t674 * t675 + 0.4e1 / 0.3e1 * t120 * t681 ); + const double t686 = t685 * t27; + const double t690 = t297 * t207; + const double t692 = t6 * t690 * t189; + const double t694 = t122 * t557; + const double t697 = t6 * t694 * t189 / 0.12e2; + const double t699 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t686 * t189 - t692 / 0.4e1 + t697 ); + const double t715 = t314 * t207; + const double t717 = t6 * t715 * t109; + const double t739 = t325 * t207; + const double t741 = t6 * t739 * t189; + const double t748 = t6 * t302 * t404; + const double t756 = t311 * t311; + const double t761 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t195 + 0.2e1 * t537 ); + const double t765 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t531 * t756 + 0.4e1 / 0.3e1 * t24 * t761 ); + const double t766 = t765 * t27; + const double t772 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t766 * t109 - t717 / 0.4e1 + t561 ); + const double t773 = t322 * t322; + const double t778 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t195 + 0.2e1 * t678 ); + const double t782 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.9e1 * t674 * t773 + 0.4e1 / 0.3e1 * t120 * t778 ); + const double t783 = t782 * t27; + const double t793 = 0.1e1 / t127 / t139; + const double t794 = t793 * t133; + const double t797 = t139 * t330; + const double t799 = 0.1e1 / t126 / t797; + const double t800 = t799 * t144; + const double t803 = t30 * t148; + const double t804 = 0.1e1 / t466; + const double t805 = t804 * t153; + const double t812 = t44 * t353; + const double t813 = t150 * t139; + const double t815 = 0.1e1 / t127 / t813; + const double t816 = t815 * t359; + const double t823 = t353 * sigma_bb; + const double t824 = t56 * t823; + const double t829 = 0.1e1 / t358 / t132; + const double t830 = 0.1e1 / t126 / t150 / t797 * t829; + const double t837 = t67 * t148; + const double t844 = t71 * t353; + const double t851 = t75 * t823; + const double t854 = 0.39111111111111111112e-1 * t157 * t794 - 0.38400000000000000001e-3 * t365 * t800 + 0.91022222222222222228e-6 * t837 * t805 + 0.54044444444444444444e-3 * t160 * t800 - 0.48924444444444444446e-5 * t370 * t805 + 0.10922666666666666667e-7 * t844 * t816 + 0.4608e-5 * t163 * t805 - 0.40277333333333333336e-7 * t375 * t816 + 0.8738133333333333334e-10 * t851 * t830; + const double t858 = tau_b * t332; + const double t861 = tau_b * tau_b; + const double t862 = t861 * t142; + const double t865 = t170 * t178; + const double t870 = t174 * t390; + const double t875 = t175 * t185; + const double t880 = t181 * t398; + const double t886 = 0.1e1 / t183 / t177; + const double t887 = t182 * t886; + const double t892 = -0.4e2 / 0.9e1 * t858 * t172 + 0.5e2 / 0.9e1 * t862 * t383 - 0.25e3 / 0.9e1 * t865 * t862 - 0.4e2 / 0.9e1 * t384 * t858 - 0.1e3 * t870 * t862 + 0.8e2 / 0.3e1 * t387 * t858 - 0.1e3 / 0.9e1 * t875 * t862 + 0.8e2 / 0.3e1 * t391 * t858 + 0.125e4 / 0.9e1 * t880 * t862 - 0.2e3 / 0.9e1 * t394 * t858 + 0.25e3 / 0.3e1 * t887 * t862 - 0.2e3 / 0.9e1 * t399 * t858; + const double t894 = 0.39111111111111111112e-1 * t124 * t794 - 0.38400000000000000001e-3 * t336 * t800 + 0.91022222222222222228e-6 * t803 * t805 + 0.54044444444444444444e-3 * t138 * t800 - 0.48924444444444444446e-5 * t345 * t805 + 0.10922666666666666667e-7 * t812 * t816 + 0.4608e-5 * t149 * t805 - 0.40277333333333333336e-7 * t354 * t816 + 0.8738133333333333334e-10 * t824 * t830 + t854 * t187 + 0.2e1 * t378 * t402 + t166 * t892; + const double t899 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t783 * t189 - t741 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t326 * t404 + t697 - t748 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t123 * t894 ); + const double t907 = t6 * t208 * t448 / 0.8e1; + const double t911 = t30 * t221; + const double t912 = t52 * sigma_aa; + const double t927 = t59 * t219; + const double t930 = 0.1e1 / t33 / t927 * t602; + const double t936 = t67 * t221; + const double t953 = -0.10666666666666666667e-1 * t67 * t214 * t40 + 0.128e-3 * t936 * t912 - 0.34133333333333333334e-6 * t247 * t230 - 0.17066666666666666667e-3 * t436 * t222 + 0.17066666666666666667e-5 * t72 * t230 - 0.40960000000000000001e-8 * t252 * t242 - 0.1536e-5 * t441 * t230 + 0.14336e-7 * t76 * t242 - 0.32768000000000000001e-10 * t257 * t930; + const double t956 = -0.10666666666666666667e-1 * t30 * t214 * t40 + 0.128e-3 * t911 * t912 - 0.34133333333333333334e-6 * t218 * t230 - 0.17066666666666666667e-3 * t417 * t222 + 0.17066666666666666667e-5 * t46 * t230 - 0.40960000000000000001e-8 * t227 * t242 - 0.1536e-5 * t422 * t230 + 0.14336e-7 * t58 * t242 - 0.32768000000000000001e-10 * t236 * t930 + t953 * t107 + t446 * t284; + const double t961 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t202 * t448 - t907 - 0.3e1 / 0.8e1 * t6 * t28 * t956 ); + const double t968 = t6 * t302 * t489 / 0.8e1; + const double t984 = t30 * t339; + const double t985 = t144 * sigma_bb; + const double t1000 = t150 * t337; + const double t1003 = 0.1e1 / t126 / t1000 * t829; + const double t1009 = t67 * t339; + const double t1026 = -0.10666666666666666667e-1 * t67 * t332 * t133 + 0.128e-3 * t1009 * t985 - 0.34133333333333333334e-6 * t365 * t348 - 0.17066666666666666667e-3 * t477 * t340 + 0.17066666666666666667e-5 * t160 * t348 - 0.40960000000000000001e-8 * t370 * t360 - 0.1536e-5 * t482 * t348 + 0.14336e-7 * t163 * t360 - 0.32768000000000000001e-10 * t375 * t1003; + const double t1029 = -0.10666666666666666667e-1 * t30 * t332 * t133 + 0.128e-3 * t984 * t985 - 0.34133333333333333334e-6 * t336 * t348 - 0.17066666666666666667e-3 * t458 * t340 + 0.17066666666666666667e-5 * t138 * t348 - 0.40960000000000000001e-8 * t345 * t360 - 0.1536e-5 * t463 * t348 + 0.14336e-7 * t149 * t360 - 0.32768000000000000001e-10 * t354 * t1003 + t1026 * t187 + t487 * t402; + const double t1034 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t326 * t489 - t968 - 0.3e1 / 0.8e1 * t6 * t123 * t1029 ); + const double t1036 = t6 * t201; + const double t1039 = t207 * t79; + const double t1040 = t1039 * t506; + const double t1042 = t494 * t1040 / 0.8e1; + const double t1043 = t27 * t260; + const double t1044 = t1043 * t506; + const double t1050 = 0.1e1 / t33 / t47; + const double t1051 = t1050 * t265; + const double t1054 = t1050 * tau_a; + const double t1075 = 0.5e1 / 0.3e1 * t36 * t92 - 0.1e2 / 0.3e1 * t1051 * tau_a + 0.5e2 / 0.3e1 * t638 * t1054 + 0.5e1 / 0.3e1 * t266 * t36 + 0.6e2 * t643 * t1054 - 0.1e2 * t269 * t36 + 0.2e2 / 0.3e1 * t648 * t1054 - 0.1e2 * t273 * t36 - 0.25e3 / 0.3e1 * t653 * t1054 + 0.25e2 / 0.3e1 * t276 * t36 - 0.5e2 * t660 * t1054 + 0.25e2 / 0.3e1 * t281 * t36; + const double t1076 = t495 * t1075; + const double t1080 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1036 * t507 - t1042 - 0.3e1 / 0.8e1 * t494 * t1044 - 0.3e1 / 0.8e1 * t494 * t1076 ); + const double t1085 = t207 * t166; + const double t1086 = t1085 * t523; + const double t1088 = t511 * t1086 / 0.8e1; + const double t1098 = t6 * t325; + const double t1101 = t27 * t378; + const double t1102 = t1101 * t523; + const double t1108 = 0.1e1 / t126 / t139; + const double t1109 = t1108 * t383; + const double t1112 = t1108 * tau_b; + const double t1133 = 0.5e1 / 0.3e1 * t129 * t172 - 0.1e2 / 0.3e1 * t1109 * tau_b + 0.5e2 / 0.3e1 * t865 * t1112 + 0.5e1 / 0.3e1 * t384 * t129 + 0.6e2 * t870 * t1112 - 0.1e2 * t387 * t129 + 0.2e2 / 0.3e1 * t875 * t1112 - 0.1e2 * t391 * t129 - 0.25e3 / 0.3e1 * t880 * t1112 + 0.25e2 / 0.3e1 * t394 * t129 - 0.5e2 * t887 * t1112 + 0.25e2 / 0.3e1 * t399 * t129; + const double t1134 = t512 * t1133; + const double t1138 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t1098 * t524 - t1088 - 0.3e1 / 0.8e1 * t511 * t1102 - 0.3e1 / 0.8e1 * t511 * t1134 ); + const double t1152 = t56 * sigma_aa; + const double t1157 = t59 * t48; + const double t1160 = 0.1e1 / t33 / t1157 * t602; + const double t1175 = t75 * sigma_aa; + const double t1182 = -0.32e-4 * t67 * t50 * t52 + 0.128e-6 * t68 * t63 + 0.32e-4 * t71 * t50 * t52 - 0.512e-6 * t436 * t63 + 0.1536e-8 * t72 * t428 + 0.384e-6 * t1175 * t63 - 0.4608e-8 * t441 * t428 + 0.12288e-10 * t76 * t1160; + const double t1184 = -0.32e-4 * t30 * t50 * t52 + 0.128e-6 * t31 * t63 + 0.32e-4 * t44 * t50 * t52 - 0.512e-6 * t417 * t63 + 0.1536e-8 * t46 * t428 + 0.384e-6 * t1152 * t63 - 0.4608e-8 * t422 * t428 + 0.12288e-10 * t58 * t1160 + t1182 * t107; + const double t1188 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1184 ); + const double t1201 = t56 * sigma_bb; + const double t1206 = t150 * t140; + const double t1209 = 0.1e1 / t126 / t1206 * t829; + const double t1224 = t75 * sigma_bb; + const double t1231 = -0.32e-4 * t67 * t142 * t144 + 0.128e-6 * t157 * t154 + 0.32e-4 * t71 * t142 * t144 - 0.512e-6 * t477 * t154 + 0.1536e-8 * t160 * t469 + 0.384e-6 * t1224 * t154 - 0.4608e-8 * t482 * t469 + 0.12288e-10 * t163 * t1209; + const double t1233 = -0.32e-4 * t30 * t142 * t144 + 0.128e-6 * t124 * t154 + 0.32e-4 * t44 * t142 * t144 - 0.512e-6 * t458 * t154 + 0.1536e-8 * t138 * t469 + 0.384e-6 * t1201 * t154 - 0.4608e-8 * t463 * t469 + 0.12288e-10 * t149 * t1209 + t1231 * t187; + const double t1237 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t1233 ); + const double t1238 = t27 * t446; + const double t1239 = t1238 * t506; + const double t1242 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t494 * t1239 ); + const double t1243 = t27 * t487; + const double t1244 = t1243 * t523; + const double t1247 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t511 * t1244 ); + const double t1249 = 0.1e1 / t33 / t212; + const double t1262 = 0.2e1 * t1249 * t265 - 0.1e2 * t638 * t1249 - 0.36e2 * t643 * t1249 - 0.4e1 * t648 * t1249 + 0.5e2 * t653 * t1249 + 0.3e2 * t660 * t1249; + const double t1263 = t495 * t1262; + const double t1266 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t494 * t1263 ); + const double t1268 = 0.1e1 / t126 / t330; + const double t1281 = 0.2e1 * t1268 * t383 - 0.1e2 * t865 * t1268 - 0.36e2 * t870 * t1268 - 0.4e1 * t875 * t1268 + 0.5e2 * t880 * t1268 + 0.3e2 * t887 * t1268; + const double t1282 = t512 * t1281; + const double t1285 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t511 * t1282 ); + + + v2rho2_aa = 0.2e1 * t291 + 0.2e1 * t307 + t7 * ( t672 + t699 ); + v2rho2_bb = 0.2e1 * t320 + 0.2e1 * t409 + t7 * ( t772 + t899 ); + v2rhosigma_a_aa = t7 * t961 + t452; + v2rhosigma_b_bb = t7 * t1034 + t493; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1080 + t510; + v2rhotau_b_b = t7 * t1138 + t527; + v2sigma2_aa_aa = t7 * t1188; + v2sigma2_bb_bb = t7 * t1237; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1242; + v2sigmatau_bb_b = t7 * t1247; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1266; + v2tau2_bb = t7 * t1285; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t80 = constants::m_cbrt_6; + constexpr double t83 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t29 = cx_local_0; + constexpr double t30 = cx_local_1; + constexpr double t44 = cx_local_2; + constexpr double t56 = cx_local_3; + constexpr double t66 = cx_nlocal_0; + constexpr double t67 = cx_nlocal_1; + constexpr double t71 = cx_nlocal_2; + constexpr double t75 = cx_nlocal_3; + constexpr double t81 = t80 * t80; + constexpr double t84 = t83 * t83; + constexpr double t86 = 0.3e1 / 0.1e2 * t81 * t84; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t31 = t30 * sigma_aa; + const double t32 = rho_a * rho_a; + const double t33 = safe_math::cbrt( rho_a ); + const double t34 = t33 * t33; + const double t36 = 0.1e1 / t34 / t32; + const double t39 = 0.1e1 + 0.4e-2 * sigma_aa * t36; + const double t40 = 0.1e1 / t39; + const double t41 = t36 * t40; + const double t45 = sigma_aa * sigma_aa; + const double t46 = t44 * t45; + const double t47 = t32 * t32; + const double t48 = t47 * rho_a; + const double t50 = 0.1e1 / t33 / t48; + const double t51 = t39 * t39; + const double t52 = 0.1e1 / t51; + const double t53 = t50 * t52; + const double t57 = t45 * sigma_aa; + const double t58 = t56 * t57; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t61 = t51 * t39; + const double t62 = 0.1e1 / t61; + const double t63 = t60 * t62; + const double t68 = t67 * sigma_aa; + const double t72 = t71 * t45; + const double t76 = t75 * t57; + const double t79 = t66 + 0.4e-2 * t68 * t41 + 0.16e-4 * t72 * t53 + 0.64e-7 * t76 * t63; + const double t88 = 0.1e1 / t34 / rho_a; + const double t89 = tau_a * t88; + const double t90 = t86 - t89; + const double t91 = t86 + t89; + const double t92 = 0.1e1 / t91; + const double t94 = t90 * t90; + const double t95 = t94 * t90; + const double t96 = t91 * t91; + const double t97 = t96 * t91; + const double t98 = 0.1e1 / t97; + const double t101 = t94 * t94; + const double t102 = t101 * t90; + const double t103 = t96 * t96; + const double t105 = 0.1e1 / t103 / t91; + const double t107 = t102 * t105 + t90 * t92 - 0.2e1 * t95 * t98; + const double t109 = t29 + 0.4e-2 * t31 * t41 + 0.16e-4 * t46 * t53 + 0.64e-7 * t58 * t63 + t79 * t107; + const double t113 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t109 ); + const double t114 = rho_b <= dens_tol; + const double t115 = -t17; + const double t117 = piecewise_functor_5( t15, t12, t11, t16, t115 * t8 ); + const double t118 = 0.1e1 + t117; + const double t119 = t118 <= zeta_tol; + const double t120 = safe_math::cbrt( t118 ); + const double t122 = piecewise_functor_3( t119, t23, t120 * t118 ); + const double t123 = t122 * t27; + const double t124 = t30 * sigma_bb; + const double t125 = rho_b * rho_b; + const double t126 = safe_math::cbrt( rho_b ); + const double t127 = t126 * t126; + const double t129 = 0.1e1 / t127 / t125; + const double t132 = 0.1e1 + 0.4e-2 * sigma_bb * t129; + const double t133 = 0.1e1 / t132; + const double t134 = t129 * t133; + const double t137 = sigma_bb * sigma_bb; + const double t138 = t44 * t137; + const double t139 = t125 * t125; + const double t140 = t139 * rho_b; + const double t142 = 0.1e1 / t126 / t140; + const double t143 = t132 * t132; + const double t144 = 0.1e1 / t143; + const double t145 = t142 * t144; + const double t148 = t137 * sigma_bb; + const double t149 = t56 * t148; + const double t150 = t139 * t139; + const double t151 = 0.1e1 / t150; + const double t152 = t143 * t132; + const double t153 = 0.1e1 / t152; + const double t154 = t151 * t153; + const double t157 = t67 * sigma_bb; + const double t160 = t71 * t137; + const double t163 = t75 * t148; + const double t166 = t66 + 0.4e-2 * t157 * t134 + 0.16e-4 * t160 * t145 + 0.64e-7 * t163 * t154; + const double t168 = 0.1e1 / t127 / rho_b; + const double t169 = tau_b * t168; + const double t170 = t86 - t169; + const double t171 = t86 + t169; + const double t172 = 0.1e1 / t171; + const double t174 = t170 * t170; + const double t175 = t174 * t170; + const double t176 = t171 * t171; + const double t177 = t176 * t171; + const double t178 = 0.1e1 / t177; + const double t181 = t174 * t174; + const double t182 = t181 * t170; + const double t183 = t176 * t176; + const double t185 = 0.1e1 / t183 / t171; + const double t187 = t170 * t172 - 0.2e1 * t175 * t178 + t182 * t185; + const double t189 = t29 + 0.4e-2 * t124 * t134 + 0.16e-4 * t138 * t145 + 0.64e-7 * t149 * t154 + t166 * t187; + const double t193 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t189 ); + const double t194 = t7 * t7; + const double t195 = 0.1e1 / t194; + const double t196 = t17 * t195; + const double t198 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t196 ); + const double t201 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t198 ); + const double t202 = t201 * t27; + const double t206 = t27 * t27; + const double t207 = 0.1e1 / t206; + const double t208 = t26 * t207; + const double t211 = t6 * t208 * t109 / 0.8e1; + const double t212 = t32 * rho_a; + const double t214 = 0.1e1 / t34 / t212; + const double t215 = t214 * t40; + const double t218 = t30 * t45; + const double t219 = t47 * t32; + const double t221 = 0.1e1 / t33 / t219; + const double t222 = t221 * t52; + const double t227 = t44 * t57; + const double t228 = t59 * rho_a; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t62; + const double t235 = t45 * t45; + const double t236 = t56 * t235; + const double t237 = t59 * t212; + const double t239 = 0.1e1 / t34 / t237; + const double t240 = t51 * t51; + const double t241 = 0.1e1 / t240; + const double t242 = t239 * t241; + const double t247 = t67 * t45; + const double t252 = t71 * t57; + const double t257 = t75 * t235; + const double t260 = -0.10666666666666666667e-1 * t68 * t215 + 0.42666666666666666668e-4 * t247 * t222 - 0.85333333333333333333e-4 * t72 * t222 + 0.34133333333333333334e-6 * t252 * t230 - 0.512e-6 * t76 * t230 + 0.20480000000000000001e-8 * t257 * t242; + const double t262 = tau_a * t36; + const double t265 = 0.1e1 / t96; + const double t266 = t90 * t265; + const double t269 = t94 * t98; + const double t272 = 0.1e1 / t103; + const double t273 = t95 * t272; + const double t276 = t101 * t105; + const double t280 = 0.1e1 / t103 / t96; + const double t281 = t102 * t280; + const double t284 = 0.5e1 / 0.3e1 * t262 * t92 + 0.5e1 / 0.3e1 * t266 * t262 - 0.1e2 * t269 * t262 - 0.1e2 * t273 * t262 + 0.25e2 / 0.3e1 * t276 * t262 + 0.25e2 / 0.3e1 * t281 * t262; + const double t286 = -0.10666666666666666667e-1 * t31 * t215 + 0.42666666666666666668e-4 * t218 * t222 - 0.85333333333333333333e-4 * t46 * t222 + 0.34133333333333333334e-6 * t227 * t230 - 0.512e-6 * t58 * t230 + 0.20480000000000000001e-8 * t236 * t242 + t260 * t107 + t79 * t284; + const double t291 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t202 * t109 - t211 - 0.3e1 / 0.8e1 * t6 * t28 * t286 ); + const double t292 = t115 * t195; + const double t294 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t292 ); + const double t297 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.3e1 * t120 * t294 ); + const double t298 = t297 * t27; + const double t302 = t122 * t207; + const double t305 = t6 * t302 * t189 / 0.8e1; + const double t307 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t298 * t189 - t305 ); + const double t311 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t196 ); + const double t314 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t311 ); + const double t315 = t314 * t27; + const double t320 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t315 * t109 - t211 ); + const double t322 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t292 ); + const double t325 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.3e1 * t120 * t322 ); + const double t326 = t325 * t27; + const double t330 = t125 * rho_b; + const double t332 = 0.1e1 / t127 / t330; + const double t333 = t332 * t133; + const double t336 = t30 * t137; + const double t337 = t139 * t125; + const double t339 = 0.1e1 / t126 / t337; + const double t340 = t339 * t144; + const double t345 = t44 * t148; + const double t346 = t150 * rho_b; + const double t347 = 0.1e1 / t346; + const double t348 = t347 * t153; + const double t353 = t137 * t137; + const double t354 = t56 * t353; + const double t355 = t150 * t330; + const double t357 = 0.1e1 / t127 / t355; + const double t358 = t143 * t143; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t365 = t67 * t137; + const double t370 = t71 * t148; + const double t375 = t75 * t353; + const double t378 = -0.10666666666666666667e-1 * t157 * t333 + 0.42666666666666666668e-4 * t365 * t340 - 0.85333333333333333333e-4 * t160 * t340 + 0.34133333333333333334e-6 * t370 * t348 - 0.512e-6 * t163 * t348 + 0.20480000000000000001e-8 * t375 * t360; + const double t380 = tau_b * t129; + const double t383 = 0.1e1 / t176; + const double t384 = t170 * t383; + const double t387 = t174 * t178; + const double t390 = 0.1e1 / t183; + const double t391 = t175 * t390; + const double t394 = t181 * t185; + const double t398 = 0.1e1 / t183 / t176; + const double t399 = t182 * t398; + const double t402 = 0.5e1 / 0.3e1 * t380 * t172 + 0.5e1 / 0.3e1 * t384 * t380 - 0.1e2 * t387 * t380 - 0.1e2 * t391 * t380 + 0.25e2 / 0.3e1 * t394 * t380 + 0.25e2 / 0.3e1 * t399 * t380; + const double t404 = -0.10666666666666666667e-1 * t124 * t333 + 0.42666666666666666668e-4 * t336 * t340 - 0.85333333333333333333e-4 * t138 * t340 + 0.34133333333333333334e-6 * t345 * t348 - 0.512e-6 * t149 * t348 + 0.20480000000000000001e-8 * t354 * t360 + t378 * t187 + t166 * t402; + const double t409 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t326 * t189 - t305 - 0.3e1 / 0.8e1 * t6 * t123 * t404 ); + const double t417 = t44 * sigma_aa; + const double t422 = t56 * t45; + const double t425 = t59 * t32; + const double t427 = 0.1e1 / t34 / t425; + const double t428 = t427 * t241; + const double t436 = t71 * sigma_aa; + const double t441 = t75 * t45; + const double t446 = 0.4e-2 * t67 * t36 * t40 - 0.16e-4 * t68 * t53 + 0.32e-4 * t436 * t53 - 0.128e-6 * t72 * t63 + 0.192e-6 * t441 * t63 - 0.768e-9 * t76 * t428; + const double t448 = 0.4e-2 * t30 * t36 * t40 - 0.16e-4 * t31 * t53 + 0.32e-4 * t417 * t53 - 0.128e-6 * t46 * t63 + 0.192e-6 * t422 * t63 - 0.768e-9 * t58 * t428 + t446 * t107; + const double t452 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t448 ); + const double t458 = t44 * sigma_bb; + const double t463 = t56 * t137; + const double t466 = t150 * t125; + const double t468 = 0.1e1 / t127 / t466; + const double t469 = t468 * t359; + const double t477 = t71 * sigma_bb; + const double t482 = t75 * t137; + const double t487 = 0.4e-2 * t67 * t129 * t133 - 0.16e-4 * t157 * t145 + 0.32e-4 * t477 * t145 - 0.128e-6 * t160 * t154 + 0.192e-6 * t482 * t154 - 0.768e-9 * t163 * t469; + const double t489 = 0.4e-2 * t30 * t129 * t133 - 0.16e-4 * t124 * t145 + 0.32e-4 * t458 * t145 - 0.128e-6 * t138 * t154 + 0.192e-6 * t463 * t154 - 0.768e-9 * t149 * t469 + t487 * t187; + const double t493 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t489 ); + const double t494 = t6 * t26; + const double t495 = t27 * t79; + const double t506 = -t266 * t88 + 0.6e1 * t269 * t88 + 0.6e1 * t273 * t88 - 0.5e1 * t276 * t88 - 0.5e1 * t281 * t88 - t88 * t92; + const double t507 = t495 * t506; + const double t510 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t494 * t507 ); + const double t511 = t6 * t122; + const double t512 = t27 * t166; + const double t523 = -t168 * t172 - t384 * t168 + 0.6e1 * t387 * t168 + 0.6e1 * t391 * t168 - 0.5e1 * t394 * t168 - 0.5e1 * t399 * t168; + const double t524 = t512 * t523; + const double t527 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t511 * t524 ); + const double t530 = t24 * t24; + const double t531 = 0.1e1 / t530; + const double t532 = t198 * t198; + const double t535 = t194 * t7; + const double t536 = 0.1e1 / t535; + const double t537 = t17 * t536; + const double t540 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t195 + 0.2e1 * t537 ); + const double t544 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t531 * t532 + 0.4e1 / 0.3e1 * t24 * t540 ); + const double t545 = t544 * t27; + const double t549 = t201 * t207; + const double t551 = t6 * t549 * t109; + const double t557 = 0.1e1 / t206 / t7; + const double t558 = t26 * t557; + const double t561 = t6 * t558 * t109 / 0.12e2; + const double t563 = t6 * t208 * t286; + const double t566 = 0.1e1 / t34 / t47; + const double t567 = t566 * t40; + const double t570 = t47 * t212; + const double t572 = 0.1e1 / t33 / t570; + const double t573 = t572 * t52; + const double t576 = t30 * t57; + const double t577 = 0.1e1 / t425; + const double t578 = t577 * t62; + const double t585 = t44 * t235; + const double t586 = t59 * t47; + const double t588 = 0.1e1 / t34 / t586; + const double t589 = t588 * t241; + const double t596 = t235 * sigma_aa; + const double t597 = t56 * t596; + const double t602 = 0.1e1 / t240 / t39; + const double t603 = 0.1e1 / t33 / t59 / t570 * t602; + const double t610 = t67 * t57; + const double t617 = t71 * t235; + const double t624 = t75 * t596; + const double t627 = 0.39111111111111111112e-1 * t68 * t567 - 0.38400000000000000001e-3 * t247 * t573 + 0.91022222222222222228e-6 * t610 * t578 + 0.54044444444444444444e-3 * t72 * t573 - 0.48924444444444444446e-5 * t252 * t578 + 0.10922666666666666667e-7 * t617 * t589 + 0.4608e-5 * t76 * t578 - 0.40277333333333333336e-7 * t257 * t589 + 0.8738133333333333334e-10 * t624 * t603; + const double t631 = tau_a * t214; + const double t634 = tau_a * tau_a; + const double t635 = t634 * t50; + const double t638 = t90 * t98; + const double t643 = t94 * t272; + const double t648 = t95 * t105; + const double t653 = t101 * t280; + const double t659 = 0.1e1 / t103 / t97; + const double t660 = t102 * t659; + const double t665 = -0.4e2 / 0.9e1 * t631 * t92 + 0.5e2 / 0.9e1 * t635 * t265 - 0.25e3 / 0.9e1 * t638 * t635 - 0.4e2 / 0.9e1 * t266 * t631 - 0.1e3 * t643 * t635 + 0.8e2 / 0.3e1 * t269 * t631 - 0.1e3 / 0.9e1 * t648 * t635 + 0.8e2 / 0.3e1 * t273 * t631 + 0.125e4 / 0.9e1 * t653 * t635 - 0.2e3 / 0.9e1 * t276 * t631 + 0.25e3 / 0.3e1 * t660 * t635 - 0.2e3 / 0.9e1 * t281 * t631; + const double t667 = 0.39111111111111111112e-1 * t31 * t567 - 0.38400000000000000001e-3 * t218 * t573 + 0.91022222222222222228e-6 * t576 * t578 + 0.54044444444444444444e-3 * t46 * t573 - 0.48924444444444444446e-5 * t227 * t578 + 0.10922666666666666667e-7 * t585 * t589 + 0.4608e-5 * t58 * t578 - 0.40277333333333333336e-7 * t236 * t589 + 0.8738133333333333334e-10 * t597 * t603 + t627 * t107 + 0.2e1 * t260 * t284 + t79 * t665; + const double t672 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t545 * t109 - t551 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t202 * t286 + t561 - t563 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t667 ); + const double t673 = t120 * t120; + const double t674 = 0.1e1 / t673; + const double t675 = t294 * t294; + const double t678 = t115 * t536; + const double t681 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t195 + 0.2e1 * t678 ); + const double t685 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.9e1 * t674 * t675 + 0.4e1 / 0.3e1 * t120 * t681 ); + const double t686 = t685 * t27; + const double t690 = t297 * t207; + const double t692 = t6 * t690 * t189; + const double t694 = t122 * t557; + const double t697 = t6 * t694 * t189 / 0.12e2; + const double t699 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t686 * t189 - t692 / 0.4e1 + t697 ); + const double t715 = t314 * t207; + const double t717 = t6 * t715 * t109; + const double t739 = t325 * t207; + const double t741 = t6 * t739 * t189; + const double t748 = t6 * t302 * t404; + const double t756 = t311 * t311; + const double t761 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t195 + 0.2e1 * t537 ); + const double t765 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t531 * t756 + 0.4e1 / 0.3e1 * t24 * t761 ); + const double t766 = t765 * t27; + const double t772 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t766 * t109 - t717 / 0.4e1 + t561 ); + const double t773 = t322 * t322; + const double t778 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t195 + 0.2e1 * t678 ); + const double t782 = piecewise_functor_3( t119, 0.0, 0.4e1 / 0.9e1 * t674 * t773 + 0.4e1 / 0.3e1 * t120 * t778 ); + const double t783 = t782 * t27; + const double t793 = 0.1e1 / t127 / t139; + const double t794 = t793 * t133; + const double t797 = t139 * t330; + const double t799 = 0.1e1 / t126 / t797; + const double t800 = t799 * t144; + const double t803 = t30 * t148; + const double t804 = 0.1e1 / t466; + const double t805 = t804 * t153; + const double t812 = t44 * t353; + const double t813 = t150 * t139; + const double t815 = 0.1e1 / t127 / t813; + const double t816 = t815 * t359; + const double t823 = t353 * sigma_bb; + const double t824 = t56 * t823; + const double t829 = 0.1e1 / t358 / t132; + const double t830 = 0.1e1 / t126 / t150 / t797 * t829; + const double t837 = t67 * t148; + const double t844 = t71 * t353; + const double t851 = t75 * t823; + const double t854 = 0.39111111111111111112e-1 * t157 * t794 - 0.38400000000000000001e-3 * t365 * t800 + 0.91022222222222222228e-6 * t837 * t805 + 0.54044444444444444444e-3 * t160 * t800 - 0.48924444444444444446e-5 * t370 * t805 + 0.10922666666666666667e-7 * t844 * t816 + 0.4608e-5 * t163 * t805 - 0.40277333333333333336e-7 * t375 * t816 + 0.8738133333333333334e-10 * t851 * t830; + const double t858 = tau_b * t332; + const double t861 = tau_b * tau_b; + const double t862 = t861 * t142; + const double t865 = t170 * t178; + const double t870 = t174 * t390; + const double t875 = t175 * t185; + const double t880 = t181 * t398; + const double t886 = 0.1e1 / t183 / t177; + const double t887 = t182 * t886; + const double t892 = -0.4e2 / 0.9e1 * t858 * t172 + 0.5e2 / 0.9e1 * t862 * t383 - 0.25e3 / 0.9e1 * t865 * t862 - 0.4e2 / 0.9e1 * t384 * t858 - 0.1e3 * t870 * t862 + 0.8e2 / 0.3e1 * t387 * t858 - 0.1e3 / 0.9e1 * t875 * t862 + 0.8e2 / 0.3e1 * t391 * t858 + 0.125e4 / 0.9e1 * t880 * t862 - 0.2e3 / 0.9e1 * t394 * t858 + 0.25e3 / 0.3e1 * t887 * t862 - 0.2e3 / 0.9e1 * t399 * t858; + const double t894 = 0.39111111111111111112e-1 * t124 * t794 - 0.38400000000000000001e-3 * t336 * t800 + 0.91022222222222222228e-6 * t803 * t805 + 0.54044444444444444444e-3 * t138 * t800 - 0.48924444444444444446e-5 * t345 * t805 + 0.10922666666666666667e-7 * t812 * t816 + 0.4608e-5 * t149 * t805 - 0.40277333333333333336e-7 * t354 * t816 + 0.8738133333333333334e-10 * t824 * t830 + t854 * t187 + 0.2e1 * t378 * t402 + t166 * t892; + const double t899 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t783 * t189 - t741 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t326 * t404 + t697 - t748 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t123 * t894 ); + const double t907 = t6 * t208 * t448 / 0.8e1; + const double t911 = t30 * t221; + const double t912 = t52 * sigma_aa; + const double t927 = t59 * t219; + const double t930 = 0.1e1 / t33 / t927 * t602; + const double t936 = t67 * t221; + const double t953 = -0.10666666666666666667e-1 * t67 * t214 * t40 + 0.128e-3 * t936 * t912 - 0.34133333333333333334e-6 * t247 * t230 - 0.17066666666666666667e-3 * t436 * t222 + 0.17066666666666666667e-5 * t72 * t230 - 0.40960000000000000001e-8 * t252 * t242 - 0.1536e-5 * t441 * t230 + 0.14336e-7 * t76 * t242 - 0.32768000000000000001e-10 * t257 * t930; + const double t956 = -0.10666666666666666667e-1 * t30 * t214 * t40 + 0.128e-3 * t911 * t912 - 0.34133333333333333334e-6 * t218 * t230 - 0.17066666666666666667e-3 * t417 * t222 + 0.17066666666666666667e-5 * t46 * t230 - 0.40960000000000000001e-8 * t227 * t242 - 0.1536e-5 * t422 * t230 + 0.14336e-7 * t58 * t242 - 0.32768000000000000001e-10 * t236 * t930 + t953 * t107 + t446 * t284; + const double t961 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t202 * t448 - t907 - 0.3e1 / 0.8e1 * t6 * t28 * t956 ); + const double t968 = t6 * t302 * t489 / 0.8e1; + const double t984 = t30 * t339; + const double t985 = t144 * sigma_bb; + const double t1000 = t150 * t337; + const double t1003 = 0.1e1 / t126 / t1000 * t829; + const double t1009 = t67 * t339; + const double t1026 = -0.10666666666666666667e-1 * t67 * t332 * t133 + 0.128e-3 * t1009 * t985 - 0.34133333333333333334e-6 * t365 * t348 - 0.17066666666666666667e-3 * t477 * t340 + 0.17066666666666666667e-5 * t160 * t348 - 0.40960000000000000001e-8 * t370 * t360 - 0.1536e-5 * t482 * t348 + 0.14336e-7 * t163 * t360 - 0.32768000000000000001e-10 * t375 * t1003; + const double t1029 = -0.10666666666666666667e-1 * t30 * t332 * t133 + 0.128e-3 * t984 * t985 - 0.34133333333333333334e-6 * t336 * t348 - 0.17066666666666666667e-3 * t458 * t340 + 0.17066666666666666667e-5 * t138 * t348 - 0.40960000000000000001e-8 * t345 * t360 - 0.1536e-5 * t463 * t348 + 0.14336e-7 * t149 * t360 - 0.32768000000000000001e-10 * t354 * t1003 + t1026 * t187 + t487 * t402; + const double t1034 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t326 * t489 - t968 - 0.3e1 / 0.8e1 * t6 * t123 * t1029 ); + const double t1036 = t6 * t201; + const double t1039 = t207 * t79; + const double t1040 = t1039 * t506; + const double t1042 = t494 * t1040 / 0.8e1; + const double t1043 = t27 * t260; + const double t1044 = t1043 * t506; + const double t1050 = 0.1e1 / t33 / t47; + const double t1051 = t1050 * t265; + const double t1054 = t1050 * tau_a; + const double t1075 = 0.5e1 / 0.3e1 * t36 * t92 - 0.1e2 / 0.3e1 * t1051 * tau_a + 0.5e2 / 0.3e1 * t638 * t1054 + 0.5e1 / 0.3e1 * t266 * t36 + 0.6e2 * t643 * t1054 - 0.1e2 * t269 * t36 + 0.2e2 / 0.3e1 * t648 * t1054 - 0.1e2 * t273 * t36 - 0.25e3 / 0.3e1 * t653 * t1054 + 0.25e2 / 0.3e1 * t276 * t36 - 0.5e2 * t660 * t1054 + 0.25e2 / 0.3e1 * t281 * t36; + const double t1076 = t495 * t1075; + const double t1080 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1036 * t507 - t1042 - 0.3e1 / 0.8e1 * t494 * t1044 - 0.3e1 / 0.8e1 * t494 * t1076 ); + const double t1085 = t207 * t166; + const double t1086 = t1085 * t523; + const double t1088 = t511 * t1086 / 0.8e1; + const double t1098 = t6 * t325; + const double t1101 = t27 * t378; + const double t1102 = t1101 * t523; + const double t1108 = 0.1e1 / t126 / t139; + const double t1109 = t1108 * t383; + const double t1112 = t1108 * tau_b; + const double t1133 = 0.5e1 / 0.3e1 * t129 * t172 - 0.1e2 / 0.3e1 * t1109 * tau_b + 0.5e2 / 0.3e1 * t865 * t1112 + 0.5e1 / 0.3e1 * t384 * t129 + 0.6e2 * t870 * t1112 - 0.1e2 * t387 * t129 + 0.2e2 / 0.3e1 * t875 * t1112 - 0.1e2 * t391 * t129 - 0.25e3 / 0.3e1 * t880 * t1112 + 0.25e2 / 0.3e1 * t394 * t129 - 0.5e2 * t887 * t1112 + 0.25e2 / 0.3e1 * t399 * t129; + const double t1134 = t512 * t1133; + const double t1138 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t1098 * t524 - t1088 - 0.3e1 / 0.8e1 * t511 * t1102 - 0.3e1 / 0.8e1 * t511 * t1134 ); + const double t1152 = t56 * sigma_aa; + const double t1157 = t59 * t48; + const double t1160 = 0.1e1 / t33 / t1157 * t602; + const double t1175 = t75 * sigma_aa; + const double t1182 = -0.32e-4 * t67 * t50 * t52 + 0.128e-6 * t68 * t63 + 0.32e-4 * t71 * t50 * t52 - 0.512e-6 * t436 * t63 + 0.1536e-8 * t72 * t428 + 0.384e-6 * t1175 * t63 - 0.4608e-8 * t441 * t428 + 0.12288e-10 * t76 * t1160; + const double t1184 = -0.32e-4 * t30 * t50 * t52 + 0.128e-6 * t31 * t63 + 0.32e-4 * t44 * t50 * t52 - 0.512e-6 * t417 * t63 + 0.1536e-8 * t46 * t428 + 0.384e-6 * t1152 * t63 - 0.4608e-8 * t422 * t428 + 0.12288e-10 * t58 * t1160 + t1182 * t107; + const double t1188 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1184 ); + const double t1201 = t56 * sigma_bb; + const double t1206 = t150 * t140; + const double t1209 = 0.1e1 / t126 / t1206 * t829; + const double t1224 = t75 * sigma_bb; + const double t1231 = -0.32e-4 * t67 * t142 * t144 + 0.128e-6 * t157 * t154 + 0.32e-4 * t71 * t142 * t144 - 0.512e-6 * t477 * t154 + 0.1536e-8 * t160 * t469 + 0.384e-6 * t1224 * t154 - 0.4608e-8 * t482 * t469 + 0.12288e-10 * t163 * t1209; + const double t1233 = -0.32e-4 * t30 * t142 * t144 + 0.128e-6 * t124 * t154 + 0.32e-4 * t44 * t142 * t144 - 0.512e-6 * t458 * t154 + 0.1536e-8 * t138 * t469 + 0.384e-6 * t1201 * t154 - 0.4608e-8 * t463 * t469 + 0.12288e-10 * t149 * t1209 + t1231 * t187; + const double t1237 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t6 * t123 * t1233 ); + const double t1238 = t27 * t446; + const double t1239 = t1238 * t506; + const double t1242 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t494 * t1239 ); + const double t1243 = t27 * t487; + const double t1244 = t1243 * t523; + const double t1247 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t511 * t1244 ); + const double t1249 = 0.1e1 / t33 / t212; + const double t1262 = 0.2e1 * t1249 * t265 - 0.1e2 * t638 * t1249 - 0.36e2 * t643 * t1249 - 0.4e1 * t648 * t1249 + 0.5e2 * t653 * t1249 + 0.3e2 * t660 * t1249; + const double t1263 = t495 * t1262; + const double t1266 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t494 * t1263 ); + const double t1268 = 0.1e1 / t126 / t330; + const double t1281 = 0.2e1 * t1268 * t383 - 0.1e2 * t865 * t1268 - 0.36e2 * t870 * t1268 - 0.4e1 * t875 * t1268 + 0.5e2 * t880 * t1268 + 0.3e2 * t887 * t1268; + const double t1282 = t512 * t1281; + const double t1285 = piecewise_functor_3( t114, 0.0, -0.3e1 / 0.8e1 * t511 * t1282 ); + + + vrho_a = t113 + t193 + t7 * ( t291 + t307 ); + vrho_b = t113 + t193 + t7 * ( t320 + t409 ); + vsigma_aa = t7 * t452; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t493; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t510; + vtau_b = t7 * t527; + v2rho2_aa = 0.2e1 * t291 + 0.2e1 * t307 + t7 * ( t672 + t699 ); + v2rho2_bb = 0.2e1 * t320 + 0.2e1 * t409 + t7 * ( t772 + t899 ); + v2rhosigma_a_aa = t7 * t961 + t452; + v2rhosigma_b_bb = t7 * t1034 + t493; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1080 + t510; + v2rhotau_b_b = t7 * t1138 + t527; + v2sigma2_aa_aa = t7 * t1188; + v2sigma2_bb_bb = t7 * t1237; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1242; + v2sigmatau_bb_b = t7 * t1247; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1266; + v2tau2_bb = t7 * t1285; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinBMK_X : detail::BuiltinKernelImpl< BuiltinBMK_X > { + + BuiltinBMK_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinBMK_X >(p) { } + + virtual ~BuiltinBMK_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/cf22d_c.hpp b/include/exchcxx/impl/builtin/kernels/cf22d_c.hpp new file mode 100644 index 0000000..288fb8f --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/cf22d_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinCF22D_C > : + public mgga_screening_interface< BuiltinCF22D_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 0.873863376; + static constexpr double m08_a_1 = 0.078066142; + static constexpr double m08_a_2 = 6.576550257; + static constexpr double m08_a_3 = -1.126030147; + static constexpr double m08_a_4 = -3.244797887; + static constexpr double m08_a_5 = -2.186090839; + static constexpr double m08_a_6 = -3.489135041; + static constexpr double m08_a_7 = 3.090689716; + static constexpr double m08_a_8 = 3.866592474; + static constexpr double m08_a_9 = 0.0; + static constexpr double m08_a_10 = 0.0; + static constexpr double m08_a_11 = 0.0; + static constexpr double m08_b_0 = 0.828203832; + static constexpr double m08_b_1 = -2.518707202; + static constexpr double m08_b_2 = 10.436806314; + static constexpr double m08_b_3 = 3.588267084; + static constexpr double m08_b_4 = -5.789404145; + static constexpr double m08_b_5 = 3.353560215; + static constexpr double m08_b_6 = -2.432384384; + static constexpr double m08_b_7 = -1.147183331; + static constexpr double m08_b_8 = 2.991316045; + static constexpr double m08_b_9 = 0.0; + static constexpr double m08_b_10 = 0.0; + static constexpr double m08_b_11 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinCF22D_C : detail::BuiltinKernelImpl< BuiltinCF22D_C > { + + BuiltinCF22D_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinCF22D_C >(p) { } + + virtual ~BuiltinCF22D_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/cf22d_x.hpp b/include/exchcxx/impl/builtin/kernels/cf22d_x.hpp new file mode 100644 index 0000000..a15b7d9 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/cf22d_x.hpp @@ -0,0 +1,5647 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinCF22D_X > : + public mgga_screening_interface< BuiltinCF22D_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_0 = 0.24416116; + static constexpr double c_1 = -0.389728151; + static constexpr double c_2 = -1.829675858; + static constexpr double c_3 = 1.396044771; + static constexpr double c_4 = 2.315047133; + static constexpr double c_5 = 0.397552547; + static constexpr double c_6 = 1.082144406; + static constexpr double c_7 = -7.894560034; + static constexpr double c_8 = -3.656253030; + static constexpr double c_9 = 2.574496508; + static constexpr double c_10 = 4.031038406; + static constexpr double c_11 = -3.931389433; + static constexpr double c_12 = 0.333519075; + static constexpr double c_13 = -3.032270318; + static constexpr double c_14 = 3.673752289; + static constexpr double c_15 = 3.005997956; + static constexpr double c_16 = -6.463733874; + static constexpr double c_17 = -4.596755225; + static constexpr double c_18 = 0.964839180; + static constexpr double c_19 = 0.363791944; + static constexpr double c_20 = 1.646506623; + static constexpr double c_21 = -3.504641550; + static constexpr double c_22 = -3.922228074; + static constexpr double c_23 = 0.843718076; + static constexpr double c_24 = 10.779373313; + static constexpr double c_25 = 2.293612669; + static constexpr double c_26 = 7.088363286; + static constexpr double c_27 = 2.598770741; + static constexpr double c_28 = -0.088522116; + static constexpr double c_29 = 7.180809030; + static constexpr double c_30 = -1.017514009; + static constexpr double c_31 = 1.735020310; + static constexpr double c_32 = 3.499241561; + static constexpr double c_33 = 0.922224945; + static constexpr double c_34 = -2.212903920; + static constexpr double c_35 = 0.243080429; + static constexpr double c_36 = 17.306321840; + static constexpr double c_37 = 0.311402396; + static constexpr double c_38 = -3.257126009; + static constexpr double c_39 = -3.372399742; + static constexpr double ax = 0.462806; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + + + eps = 0.2e1 * t229; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + + + eps = 0.2e1 * t229; + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + + + eps = t234 + t396; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + + + eps = t234 + t396; + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinCF22D_X : detail::BuiltinKernelImpl< BuiltinCF22D_X > { + + BuiltinCF22D_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinCF22D_X >(p) { } + + virtual ~BuiltinCF22D_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/deorbitalized.hpp b/include/exchcxx/impl/builtin/kernels/deorbitalized.hpp index 9daab61..474f04c 100644 --- a/include/exchcxx/impl/builtin/kernels/deorbitalized.hpp +++ b/include/exchcxx/impl/builtin/kernels/deorbitalized.hpp @@ -1,7 +1,59 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include #include #include +#include namespace ExchCXX { @@ -12,7 +64,6 @@ struct kernel_traits> { using xc_traits = kernel_traits; using ke_traits = kernel_traits; - static constexpr bool is_hyb = xc_traits::is_hyb or ke_traits::is_hyb; static constexpr bool is_lda = false; static constexpr bool is_gga = false; static constexpr bool is_mgga = true; @@ -85,6 +136,87 @@ struct kernel_traits> { vtau_b = 0.0; } + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, + double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, + double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, + double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + #if defined(__CUDACC__) || defined(__HIPCC__) || defined(__SYCL_DEVICE_ONLY__) || defined(EXCHCXX_ENABLE_SYCL) + printf("eval_vxc_fxc_unpolar not implemented for deorbitalized kernels\n"); + #else + unused(rho, sigma, lapl, tau, vrho, vsigma, vlapl, vtau, v2rho2, v2rhosigma, v2rholapl, v2rhotau, v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2); + throw std::runtime_error("eval_vxc_fxc_unpolar not implemented for deorbitalized kernels"); + #endif + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar( double rho_a, double rho_b, + double sigma_aa, double sigma_ab, double sigma_bb, + double lapl_a, double lapl_b, double tau_a, double tau_b, + double& vrho_a, double& vrho_b, + double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, + double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, + double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, + double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, + double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, + double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, + double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, + double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, + double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, + double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, + double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, + double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, + double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, + double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, + double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, + double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + #if defined(__CUDACC__) || defined(__HIPCC__) || defined(__SYCL_DEVICE_ONLY__) || defined(EXCHCXX_ENABLE_SYCL) + printf("eval_vxc_fxc_polar not implemented for deorbitalized kernels\n"); + #else + unused(rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, lapl_a, lapl_b, tau_a, tau_b, vrho_a, vrho_b, vsigma_aa, vsigma_ab, vsigma_bb, vlapl_a, vlapl_b, vtau_a, vtau_b, v2rho2_aa, v2rho2_ab, v2rho2_bb, v2rhosigma_a_aa, v2rhosigma_a_ab, v2rhosigma_a_bb, v2rhosigma_b_aa, v2rhosigma_b_ab, v2rhosigma_b_bb, v2rholapl_a_a, v2rholapl_a_b, v2rholapl_b_a, v2rholapl_b_b, v2rhotau_a_a, v2rhotau_a_b, v2rhotau_b_a, v2rhotau_b_b, v2sigma2_aa_aa, v2sigma2_aa_ab, v2sigma2_aa_bb, v2sigma2_ab_ab, v2sigma2_ab_bb, v2sigma2_bb_bb, v2sigmalapl_aa_a, v2sigmalapl_aa_b, v2sigmalapl_ab_a, v2sigmalapl_ab_b, v2sigmalapl_bb_a, v2sigmalapl_bb_b, v2sigmatau_aa_a, v2sigmatau_aa_b, v2sigmatau_ab_a, v2sigmatau_ab_b, v2sigmatau_bb_a, v2sigmatau_bb_b, v2lapl2_aa, v2lapl2_ab, v2lapl2_bb, v2lapltau_a_a, v2lapltau_a_b, v2lapltau_b_a, v2lapltau_b_b, v2tau2_aa, v2tau2_ab, v2tau2_bb); + throw std::runtime_error("eval_vxc_fxc_polar not implemented for deorbitalized kernels"); + #endif + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar( double rho, double sigma, double lapl, double tau, + double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, + double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, + double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + #if defined(__CUDACC__) || defined(__HIPCC__) || defined(__SYCL_DEVICE_ONLY__) || defined(EXCHCXX_ENABLE_SYCL) + printf("eval_fxc_unpolar not implemented for deorbitalized kernels\n"); + #else + unused(rho, sigma, lapl, tau, v2rho2, v2rhosigma, v2rholapl, v2rhotau, v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2); + throw std::runtime_error("eval_fxc_unpolar not implemented for deorbitalized kernels"); + #endif + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar( double rho_a, double rho_b, + double sigma_aa, double sigma_ab, double sigma_bb, + double lapl_a, double lapl_b, double tau_a, double tau_b, + double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, + double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, + double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, + double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, + double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, + double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, + double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, + double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, + double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, + double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, + double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, + double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, + double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, + double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + #if defined(__CUDACC__) || defined(__HIPCC__) || defined(__SYCL_DEVICE_ONLY__) || defined(EXCHCXX_ENABLE_SYCL) + printf("eval_fxc_polar not implemented for deorbitalized kernels\n"); + #else + unused(rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, lapl_a, lapl_b, tau_a, tau_b, v2rho2_aa, v2rho2_ab, v2rho2_bb, v2rhosigma_a_aa, v2rhosigma_a_ab, v2rhosigma_a_bb, v2rhosigma_b_aa, v2rhosigma_b_ab, v2rhosigma_b_bb, v2rholapl_a_a, v2rholapl_a_b, v2rholapl_b_a, v2rholapl_b_b, v2rhotau_a_a, v2rhotau_a_b, v2rhotau_b_a, v2rhotau_b_b, v2sigma2_aa_aa, v2sigma2_aa_ab, v2sigma2_aa_bb, v2sigma2_ab_ab, v2sigma2_ab_bb, v2sigma2_bb_bb, v2sigmalapl_aa_a, v2sigmalapl_aa_b, v2sigmalapl_ab_a, v2sigmalapl_ab_b, v2sigmalapl_bb_a, v2sigmalapl_bb_b, v2sigmatau_aa_a, v2sigmatau_aa_b, v2sigmatau_ab_a, v2sigmatau_ab_b, v2sigmatau_bb_a, v2sigmatau_bb_b, v2lapl2_aa, v2lapl2_ab, v2lapl2_bb, v2lapltau_a_a, v2lapltau_a_b, v2lapltau_b_a, v2lapltau_b_b, v2tau2_aa, v2tau2_ab, v2tau2_bb); + throw std::runtime_error("eval_fxc_polar not implemented for deorbitalized kernels"); + #endif + } }; diff --git a/include/exchcxx/impl/builtin/kernels/epc17_1.hpp b/include/exchcxx/impl/builtin/kernels/epc17_1.hpp index a33d45d..035f4f2 100644 --- a/include/exchcxx/impl/builtin/kernels/epc17_1.hpp +++ b/include/exchcxx/impl/builtin/kernels/epc17_1.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinEPC17_1 > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 2.35; static constexpr double b = 2.40; @@ -38,7 +87,6 @@ struct kernel_traits< BuiltinEPC17_1 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); const double t2 = rho / 0.2e1 <= dens_tol; @@ -88,10 +136,81 @@ struct kernel_traits< BuiltinEPC17_1 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t8 = square( 0.1e1 + t6 ); + const double t9 = t8 * rho; + const double t10 = rho * rho; + const double t11 = t8 * t10; + const double t12 = safe_math::sqrt( t11 ); + const double t15 = c * t8; + const double t18 = a - b * t12 / 0.2e1 + t15 * t10 / 0.4e1; + const double t19 = 0.1e1 / t18; + const double t23 = t18 * t18; + const double t24 = 0.1e1 / t23; + const double t26 = b / t12; + const double t30 = t15 * rho / 0.2e1 - t26 * t9 / 0.2e1; + const double t35 = piecewise_functor_3( t2, 0.0, t9 * t24 * t30 / 0.4e1 - t8 * t19 / 0.4e1 ); + const double t38 = t8 * t24; + const double t42 = 0.1e1 / t23 / t18; + const double t43 = t30 * t30; + const double t49 = b / t12 / t11; + const double t50 = t8 * t8; + const double t55 = t49 * t50 * t10 / 0.2e1 - t26 * t8 / 0.2e1 + t15 / 0.2e1; + const double t60 = piecewise_functor_3( t2, 0.0, t38 * t30 / 0.2e1 - t9 * t42 * t43 / 0.2e1 + t9 * t24 * t55 / 0.4e1 ); + + + v2rho2 = rho * t60 + 0.2e1 * t35; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t8 = square( 0.1e1 + t6 ); + const double t9 = t8 * rho; + const double t10 = rho * rho; + const double t11 = t8 * t10; + const double t12 = safe_math::sqrt( t11 ); + const double t15 = c * t8; + const double t18 = a - b * t12 / 0.2e1 + t15 * t10 / 0.4e1; + const double t19 = 0.1e1 / t18; + const double tzk0 = piecewise_functor_3( t2, 0.0, -t9 * t19 / 0.4e1 ); + const double t23 = t18 * t18; + const double t24 = 0.1e1 / t23; + const double t26 = b / t12; + const double t30 = t15 * rho / 0.2e1 - t26 * t9 / 0.2e1; + const double t35 = piecewise_functor_3( t2, 0.0, t9 * t24 * t30 / 0.4e1 - t8 * t19 / 0.4e1 ); + const double t38 = t8 * t24; + const double t42 = 0.1e1 / t23 / t18; + const double t43 = t30 * t30; + const double t49 = b / t12 / t11; + const double t50 = t8 * t8; + const double t55 = t49 * t50 * t10 / 0.2e1 - t26 * t8 / 0.2e1 + t15 / 0.2e1; + const double t60 = piecewise_functor_3( t2, 0.0, t38 * t30 / 0.2e1 - t9 * t42 * t43 / 0.2e1 + t9 * t24 * t55 / 0.4e1 ); + + + vrho = rho * t35 + tzk0; + v2rho2 = rho * t60 + 0.2e1 * t35; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; @@ -194,6 +313,309 @@ struct kernel_traits< BuiltinEPC17_1 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t23 = t4 * t4; + const double t24 = t17 * t23; + const double t25 = t24 * t22; + const double t26 = safe_math::sqrt( t25 ); + const double t29 = c * t17; + const double t30 = t23 * t22; + const double t33 = a - b * t26 / 0.2e1 + t29 * t30 / 0.4e1; + const double t34 = 0.1e1 / t33; + const double t35 = t22 * t34; + const double t38 = 0.1e1 / t23; + const double t39 = t14 * t38; + const double t41 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t39 ); + const double t42 = t41 * t4; + const double t44 = t17 * t22; + const double t45 = t44 * t34; + const double t46 = t19 * t38; + const double t48 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t46 ); + const double t49 = t48 * t34; + const double t51 = t33 * t33; + const double t52 = 0.1e1 / t51; + const double t53 = t22 * t52; + const double t55 = b / t26; + const double t56 = t41 * t23; + const double t58 = t18 * t22; + const double t59 = 0.2e1 * t58; + const double t61 = t56 * t22 + t24 * t48 + t59; + const double t64 = c * t41; + const double t67 = t4 * t22; + const double t69 = t29 * t67 / 0.2e1; + const double t70 = t23 * t48; + const double t73 = -t55 * t61 / 0.4e1 + t64 * t30 / 0.4e1 + t69 + t29 * t70 / 0.4e1; + const double t74 = t53 * t73; + const double t78 = piecewise_functor_3( t3, 0.0, -t18 * t49 / 0.4e1 + t18 * t74 / 0.4e1 - t42 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t81 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t39 ); + const double t82 = t81 * t4; + const double t85 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t46 ); + const double t86 = t85 * t34; + const double t88 = t81 * t23; + const double t91 = t88 * t22 + t24 * t85 + t59; + const double t94 = c * t81; + const double t97 = t23 * t85; + const double t100 = -t55 * t91 / 0.4e1 + t94 * t30 / 0.4e1 + t69 + t29 * t97 / 0.4e1; + const double t101 = t53 * t100; + const double t105 = piecewise_functor_3( t3, 0.0, t18 * t101 / 0.4e1 - t18 * t86 / 0.4e1 - t82 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t109 = 0.1e1 / t23 / t4; + const double t110 = t14 * t109; + const double t113 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t38 + 0.2e1 * t110 ); + const double t114 = t113 * t4; + const double t117 = t41 * t22; + const double t118 = t117 * t34; + const double t124 = t17 * t48; + const double t125 = t124 * t34; + const double t127 = t52 * t73; + const double t128 = t44 * t127; + const double t130 = t19 * t109; + const double t133 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t38 + 0.2e1 * t130 ); + const double t134 = t133 * t34; + const double t137 = t48 * t52; + const double t138 = t137 * t73; + const double t142 = 0.1e1 / t51 / t33; + const double t143 = t22 * t142; + const double t144 = t73 * t73; + const double t145 = t143 * t144; + const double t150 = b / t26 / t25; + const double t151 = t61 * t61; + const double t154 = t113 * t23; + const double t156 = t42 * t22; + const double t160 = 0.2e1 * t44; + const double t161 = t18 * t48; + const double t164 = t24 * t133 + t154 * t22 + 0.2e1 * t56 * t48 + 0.4e1 * t156 + t160 + 0.4e1 * t161; + const double t167 = c * t113; + const double t170 = t64 * t67; + const double t174 = t29 * t22 / 0.2e1; + const double t175 = t4 * t48; + const double t176 = t29 * t175; + const double t177 = t23 * t133; + const double t180 = t150 * t151 / 0.8e1 - t55 * t164 / 0.4e1 + t167 * t30 / 0.4e1 + t170 + t64 * t70 / 0.2e1 + t174 + t176 + t29 * t177 / 0.4e1; + const double t181 = t53 * t180; + const double t185 = piecewise_functor_3( t3, 0.0, -t114 * t35 / 0.4e1 - t118 / 0.2e1 - t42 * t49 / 0.2e1 + t42 * t74 / 0.2e1 - t125 / 0.2e1 + t128 / 0.2e1 - t18 * t134 / 0.4e1 + t18 * t138 / 0.2e1 - t18 * t145 / 0.2e1 + t18 * t181 / 0.4e1 ); + const double t188 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t110 ); + const double t189 = t188 * t4; + const double t192 = t81 * t22; + const double t193 = t192 * t34; + const double t204 = t17 * t85; + const double t205 = t204 * t34; + const double t208 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t130 ); + const double t209 = t208 * t34; + const double t212 = t85 * t52; + const double t213 = t212 * t73; + const double t218 = t52 * t100; + const double t219 = t44 * t218; + const double t221 = t137 * t100; + const double t224 = t142 * t100; + const double t225 = t224 * t73; + const double t228 = t91 * t61; + const double t231 = t188 * t23; + const double t233 = t82 * t22; + const double t239 = t18 * t85; + const double t242 = t24 * t208 + t231 * t22 + t88 * t48 + t56 * t85 + 0.2e1 * t156 + t160 + 0.2e1 * t161 + 0.2e1 * t233 + 0.2e1 * t239; + const double t245 = c * t188; + const double t248 = t94 * t67; + const double t256 = t4 * t85; + const double t257 = t29 * t256; + const double t259 = t23 * t208; + const double t262 = t150 * t228 / 0.8e1 - t55 * t242 / 0.4e1 + t245 * t30 / 0.4e1 + t248 / 0.2e1 + t94 * t70 / 0.4e1 + t170 / 0.2e1 + t174 + t176 / 0.2e1 + t64 * t97 / 0.4e1 + t257 / 0.2e1 + t29 * t259 / 0.4e1; + const double t263 = t53 * t262; + const double t266 = -t189 * t35 / 0.4e1 - t193 / 0.4e1 - t82 * t49 / 0.4e1 + t82 * t74 / 0.4e1 - t118 / 0.4e1 - t125 / 0.4e1 + t128 / 0.4e1 - t42 * t86 / 0.4e1 - t205 / 0.4e1 - t18 * t209 / 0.4e1 + t18 * t213 / 0.4e1 + t42 * t101 / 0.4e1 + t219 / 0.4e1 + t18 * t221 / 0.4e1 - t58 * t225 / 0.2e1 + t18 * t263 / 0.4e1; + const double t267 = piecewise_functor_3( t3, 0.0, t266 ); + const double t272 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t38 + 0.2e1 * t110 ); + const double t273 = t272 * t4; + const double t285 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t38 + 0.2e1 * t130 ); + const double t286 = t285 * t34; + const double t289 = t212 * t100; + const double t292 = t100 * t100; + const double t293 = t143 * t292; + const double t296 = t91 * t91; + const double t299 = t272 * t23; + const double t306 = t299 * t22 + t24 * t285 + 0.2e1 * t88 * t85 + t160 + 0.4e1 * t233 + 0.4e1 * t239; + const double t309 = c * t272; + const double t314 = t23 * t285; + const double t317 = t150 * t296 / 0.8e1 - t55 * t306 / 0.4e1 + t309 * t30 / 0.4e1 + t248 + t94 * t97 / 0.2e1 + t174 + t257 + t29 * t314 / 0.4e1; + const double t318 = t53 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -t273 * t35 / 0.4e1 - t193 / 0.2e1 - t82 * t86 / 0.2e1 + t82 * t101 / 0.2e1 - t205 / 0.2e1 + t219 / 0.2e1 - t18 * t286 / 0.4e1 + t18 * t289 / 0.2e1 - t18 * t293 / 0.2e1 + t18 * t318 / 0.4e1 ); + + + v2rho2_aa = t4 * t185 + 0.2e1 * t78; + v2rho2_ab = t4 * t267 + t105 + t78; + v2rho2_bb = t4 * t322 + 0.2e1 * t105; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t23 = t4 * t4; + const double t24 = t17 * t23; + const double t25 = t24 * t22; + const double t26 = safe_math::sqrt( t25 ); + const double t29 = c * t17; + const double t30 = t23 * t22; + const double t33 = a - b * t26 / 0.2e1 + t29 * t30 / 0.4e1; + const double t34 = 0.1e1 / t33; + const double t35 = t22 * t34; + const double tzk0 = piecewise_functor_3( t3, 0.0, -t18 * t35 / 0.4e1 ); + const double t38 = 0.1e1 / t23; + const double t39 = t14 * t38; + const double t41 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t39 ); + const double t42 = t41 * t4; + const double t44 = t17 * t22; + const double t45 = t44 * t34; + const double t46 = t19 * t38; + const double t48 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t46 ); + const double t49 = t48 * t34; + const double t51 = t33 * t33; + const double t52 = 0.1e1 / t51; + const double t53 = t22 * t52; + const double t55 = b / t26; + const double t56 = t41 * t23; + const double t58 = t18 * t22; + const double t59 = 0.2e1 * t58; + const double t61 = t56 * t22 + t24 * t48 + t59; + const double t64 = c * t41; + const double t67 = t4 * t22; + const double t69 = t29 * t67 / 0.2e1; + const double t70 = t23 * t48; + const double t73 = -t55 * t61 / 0.4e1 + t64 * t30 / 0.4e1 + t69 + t29 * t70 / 0.4e1; + const double t74 = t53 * t73; + const double t78 = piecewise_functor_3( t3, 0.0, -t18 * t49 / 0.4e1 + t18 * t74 / 0.4e1 - t42 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t81 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t39 ); + const double t82 = t81 * t4; + const double t85 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t46 ); + const double t86 = t85 * t34; + const double t88 = t81 * t23; + const double t91 = t88 * t22 + t24 * t85 + t59; + const double t94 = c * t81; + const double t97 = t23 * t85; + const double t100 = -t55 * t91 / 0.4e1 + t94 * t30 / 0.4e1 + t69 + t29 * t97 / 0.4e1; + const double t101 = t53 * t100; + const double t105 = piecewise_functor_3( t3, 0.0, t18 * t101 / 0.4e1 - t18 * t86 / 0.4e1 - t82 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t109 = 0.1e1 / t23 / t4; + const double t110 = t14 * t109; + const double t113 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t38 + 0.2e1 * t110 ); + const double t114 = t113 * t4; + const double t117 = t41 * t22; + const double t118 = t117 * t34; + const double t124 = t17 * t48; + const double t125 = t124 * t34; + const double t127 = t52 * t73; + const double t128 = t44 * t127; + const double t130 = t19 * t109; + const double t133 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t38 + 0.2e1 * t130 ); + const double t134 = t133 * t34; + const double t137 = t48 * t52; + const double t138 = t137 * t73; + const double t142 = 0.1e1 / t51 / t33; + const double t143 = t22 * t142; + const double t144 = t73 * t73; + const double t145 = t143 * t144; + const double t150 = b / t26 / t25; + const double t151 = t61 * t61; + const double t154 = t113 * t23; + const double t156 = t42 * t22; + const double t160 = 0.2e1 * t44; + const double t161 = t18 * t48; + const double t164 = t24 * t133 + t154 * t22 + 0.2e1 * t56 * t48 + 0.4e1 * t156 + t160 + 0.4e1 * t161; + const double t167 = c * t113; + const double t170 = t64 * t67; + const double t174 = t29 * t22 / 0.2e1; + const double t175 = t4 * t48; + const double t176 = t29 * t175; + const double t177 = t23 * t133; + const double t180 = t150 * t151 / 0.8e1 - t55 * t164 / 0.4e1 + t167 * t30 / 0.4e1 + t170 + t64 * t70 / 0.2e1 + t174 + t176 + t29 * t177 / 0.4e1; + const double t181 = t53 * t180; + const double t185 = piecewise_functor_3( t3, 0.0, -t114 * t35 / 0.4e1 - t118 / 0.2e1 - t42 * t49 / 0.2e1 + t42 * t74 / 0.2e1 - t125 / 0.2e1 + t128 / 0.2e1 - t18 * t134 / 0.4e1 + t18 * t138 / 0.2e1 - t18 * t145 / 0.2e1 + t18 * t181 / 0.4e1 ); + const double t188 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t110 ); + const double t189 = t188 * t4; + const double t192 = t81 * t22; + const double t193 = t192 * t34; + const double t204 = t17 * t85; + const double t205 = t204 * t34; + const double t208 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t130 ); + const double t209 = t208 * t34; + const double t212 = t85 * t52; + const double t213 = t212 * t73; + const double t218 = t52 * t100; + const double t219 = t44 * t218; + const double t221 = t137 * t100; + const double t224 = t142 * t100; + const double t225 = t224 * t73; + const double t228 = t91 * t61; + const double t231 = t188 * t23; + const double t233 = t82 * t22; + const double t239 = t18 * t85; + const double t242 = t24 * t208 + t231 * t22 + t88 * t48 + t56 * t85 + 0.2e1 * t156 + t160 + 0.2e1 * t161 + 0.2e1 * t233 + 0.2e1 * t239; + const double t245 = c * t188; + const double t248 = t94 * t67; + const double t256 = t4 * t85; + const double t257 = t29 * t256; + const double t259 = t23 * t208; + const double t262 = t150 * t228 / 0.8e1 - t55 * t242 / 0.4e1 + t245 * t30 / 0.4e1 + t248 / 0.2e1 + t94 * t70 / 0.4e1 + t170 / 0.2e1 + t174 + t176 / 0.2e1 + t64 * t97 / 0.4e1 + t257 / 0.2e1 + t29 * t259 / 0.4e1; + const double t263 = t53 * t262; + const double t266 = -t189 * t35 / 0.4e1 - t193 / 0.4e1 - t82 * t49 / 0.4e1 + t82 * t74 / 0.4e1 - t118 / 0.4e1 - t125 / 0.4e1 + t128 / 0.4e1 - t42 * t86 / 0.4e1 - t205 / 0.4e1 - t18 * t209 / 0.4e1 + t18 * t213 / 0.4e1 + t42 * t101 / 0.4e1 + t219 / 0.4e1 + t18 * t221 / 0.4e1 - t58 * t225 / 0.2e1 + t18 * t263 / 0.4e1; + const double t267 = piecewise_functor_3( t3, 0.0, t266 ); + const double t272 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t38 + 0.2e1 * t110 ); + const double t273 = t272 * t4; + const double t285 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t38 + 0.2e1 * t130 ); + const double t286 = t285 * t34; + const double t289 = t212 * t100; + const double t292 = t100 * t100; + const double t293 = t143 * t292; + const double t296 = t91 * t91; + const double t299 = t272 * t23; + const double t306 = t299 * t22 + t24 * t285 + 0.2e1 * t88 * t85 + t160 + 0.4e1 * t233 + 0.4e1 * t239; + const double t309 = c * t272; + const double t314 = t23 * t285; + const double t317 = t150 * t296 / 0.8e1 - t55 * t306 / 0.4e1 + t309 * t30 / 0.4e1 + t248 + t94 * t97 / 0.2e1 + t174 + t257 + t29 * t314 / 0.4e1; + const double t318 = t53 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -t273 * t35 / 0.4e1 - t193 / 0.2e1 - t82 * t86 / 0.2e1 + t82 * t101 / 0.2e1 - t205 / 0.2e1 + t219 / 0.2e1 - t18 * t286 / 0.4e1 + t18 * t289 / 0.2e1 - t18 * t293 / 0.2e1 + t18 * t318 / 0.4e1 ); + + + vrho_a = t4 * t78 + tzk0; + vrho_b = t4 * t105 + tzk0; + v2rho2_aa = t4 * t185 + 0.2e1 * t78; + v2rho2_ab = t4 * t267 + t105 + t78; + v2rho2_bb = t4 * t322 + 0.2e1 * t105; + + } + }; @@ -208,4 +630,4 @@ struct BuiltinEPC17_1 : detail::BuiltinKernelImpl< BuiltinEPC17_1 > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/epc17_2.hpp b/include/exchcxx/impl/builtin/kernels/epc17_2.hpp index 69a8104..9a31aac 100644 --- a/include/exchcxx/impl/builtin/kernels/epc17_2.hpp +++ b/include/exchcxx/impl/builtin/kernels/epc17_2.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinEPC17_2 > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 2.35; static constexpr double b = 2.40; @@ -38,7 +87,6 @@ struct kernel_traits< BuiltinEPC17_2 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); const double t2 = rho / 0.2e1 <= dens_tol; @@ -88,10 +136,81 @@ struct kernel_traits< BuiltinEPC17_2 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t8 = square( 0.1e1 + t6 ); + const double t9 = t8 * rho; + const double t10 = rho * rho; + const double t11 = t8 * t10; + const double t12 = safe_math::sqrt( t11 ); + const double t15 = c * t8; + const double t18 = a - b * t12 / 0.2e1 + t15 * t10 / 0.4e1; + const double t19 = 0.1e1 / t18; + const double t23 = t18 * t18; + const double t24 = 0.1e1 / t23; + const double t26 = b / t12; + const double t30 = t15 * rho / 0.2e1 - t26 * t9 / 0.2e1; + const double t35 = piecewise_functor_3( t2, 0.0, t9 * t24 * t30 / 0.4e1 - t8 * t19 / 0.4e1 ); + const double t38 = t8 * t24; + const double t42 = 0.1e1 / t23 / t18; + const double t43 = t30 * t30; + const double t49 = b / t12 / t11; + const double t50 = t8 * t8; + const double t55 = t49 * t50 * t10 / 0.2e1 - t26 * t8 / 0.2e1 + t15 / 0.2e1; + const double t60 = piecewise_functor_3( t2, 0.0, t38 * t30 / 0.2e1 - t9 * t42 * t43 / 0.2e1 + t9 * t24 * t55 / 0.4e1 ); + + + v2rho2 = rho * t60 + 0.2e1 * t35; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t8 = square( 0.1e1 + t6 ); + const double t9 = t8 * rho; + const double t10 = rho * rho; + const double t11 = t8 * t10; + const double t12 = safe_math::sqrt( t11 ); + const double t15 = c * t8; + const double t18 = a - b * t12 / 0.2e1 + t15 * t10 / 0.4e1; + const double t19 = 0.1e1 / t18; + const double tzk0 = piecewise_functor_3( t2, 0.0, -t9 * t19 / 0.4e1 ); + const double t23 = t18 * t18; + const double t24 = 0.1e1 / t23; + const double t26 = b / t12; + const double t30 = t15 * rho / 0.2e1 - t26 * t9 / 0.2e1; + const double t35 = piecewise_functor_3( t2, 0.0, t9 * t24 * t30 / 0.4e1 - t8 * t19 / 0.4e1 ); + const double t38 = t8 * t24; + const double t42 = 0.1e1 / t23 / t18; + const double t43 = t30 * t30; + const double t49 = b / t12 / t11; + const double t50 = t8 * t8; + const double t55 = t49 * t50 * t10 / 0.2e1 - t26 * t8 / 0.2e1 + t15 / 0.2e1; + const double t60 = piecewise_functor_3( t2, 0.0, t38 * t30 / 0.2e1 - t9 * t42 * t43 / 0.2e1 + t9 * t24 * t55 / 0.4e1 ); + + + vrho = rho * t35 + tzk0; + v2rho2 = rho * t60 + 0.2e1 * t35; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; @@ -194,6 +313,309 @@ struct kernel_traits< BuiltinEPC17_2 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t23 = t4 * t4; + const double t24 = t17 * t23; + const double t25 = t24 * t22; + const double t26 = safe_math::sqrt( t25 ); + const double t29 = c * t17; + const double t30 = t23 * t22; + const double t33 = a - b * t26 / 0.2e1 + t29 * t30 / 0.4e1; + const double t34 = 0.1e1 / t33; + const double t35 = t22 * t34; + const double t38 = 0.1e1 / t23; + const double t39 = t14 * t38; + const double t41 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t39 ); + const double t42 = t41 * t4; + const double t44 = t17 * t22; + const double t45 = t44 * t34; + const double t46 = t19 * t38; + const double t48 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t46 ); + const double t49 = t48 * t34; + const double t51 = t33 * t33; + const double t52 = 0.1e1 / t51; + const double t53 = t22 * t52; + const double t55 = b / t26; + const double t56 = t41 * t23; + const double t58 = t18 * t22; + const double t59 = 0.2e1 * t58; + const double t61 = t56 * t22 + t24 * t48 + t59; + const double t64 = c * t41; + const double t67 = t4 * t22; + const double t69 = t29 * t67 / 0.2e1; + const double t70 = t23 * t48; + const double t73 = -t55 * t61 / 0.4e1 + t64 * t30 / 0.4e1 + t69 + t29 * t70 / 0.4e1; + const double t74 = t53 * t73; + const double t78 = piecewise_functor_3( t3, 0.0, -t18 * t49 / 0.4e1 + t18 * t74 / 0.4e1 - t42 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t81 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t39 ); + const double t82 = t81 * t4; + const double t85 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t46 ); + const double t86 = t85 * t34; + const double t88 = t81 * t23; + const double t91 = t88 * t22 + t24 * t85 + t59; + const double t94 = c * t81; + const double t97 = t23 * t85; + const double t100 = -t55 * t91 / 0.4e1 + t94 * t30 / 0.4e1 + t69 + t29 * t97 / 0.4e1; + const double t101 = t53 * t100; + const double t105 = piecewise_functor_3( t3, 0.0, t18 * t101 / 0.4e1 - t18 * t86 / 0.4e1 - t82 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t109 = 0.1e1 / t23 / t4; + const double t110 = t14 * t109; + const double t113 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t38 + 0.2e1 * t110 ); + const double t114 = t113 * t4; + const double t117 = t41 * t22; + const double t118 = t117 * t34; + const double t124 = t17 * t48; + const double t125 = t124 * t34; + const double t127 = t52 * t73; + const double t128 = t44 * t127; + const double t130 = t19 * t109; + const double t133 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t38 + 0.2e1 * t130 ); + const double t134 = t133 * t34; + const double t137 = t48 * t52; + const double t138 = t137 * t73; + const double t142 = 0.1e1 / t51 / t33; + const double t143 = t22 * t142; + const double t144 = t73 * t73; + const double t145 = t143 * t144; + const double t150 = b / t26 / t25; + const double t151 = t61 * t61; + const double t154 = t113 * t23; + const double t156 = t42 * t22; + const double t160 = 0.2e1 * t44; + const double t161 = t18 * t48; + const double t164 = t24 * t133 + t154 * t22 + 0.2e1 * t56 * t48 + 0.4e1 * t156 + t160 + 0.4e1 * t161; + const double t167 = c * t113; + const double t170 = t64 * t67; + const double t174 = t29 * t22 / 0.2e1; + const double t175 = t4 * t48; + const double t176 = t29 * t175; + const double t177 = t23 * t133; + const double t180 = t150 * t151 / 0.8e1 - t55 * t164 / 0.4e1 + t167 * t30 / 0.4e1 + t170 + t64 * t70 / 0.2e1 + t174 + t176 + t29 * t177 / 0.4e1; + const double t181 = t53 * t180; + const double t185 = piecewise_functor_3( t3, 0.0, -t114 * t35 / 0.4e1 - t118 / 0.2e1 - t42 * t49 / 0.2e1 + t42 * t74 / 0.2e1 - t125 / 0.2e1 + t128 / 0.2e1 - t18 * t134 / 0.4e1 + t18 * t138 / 0.2e1 - t18 * t145 / 0.2e1 + t18 * t181 / 0.4e1 ); + const double t188 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t110 ); + const double t189 = t188 * t4; + const double t192 = t81 * t22; + const double t193 = t192 * t34; + const double t204 = t17 * t85; + const double t205 = t204 * t34; + const double t208 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t130 ); + const double t209 = t208 * t34; + const double t212 = t85 * t52; + const double t213 = t212 * t73; + const double t218 = t52 * t100; + const double t219 = t44 * t218; + const double t221 = t137 * t100; + const double t224 = t142 * t100; + const double t225 = t224 * t73; + const double t228 = t91 * t61; + const double t231 = t188 * t23; + const double t233 = t82 * t22; + const double t239 = t18 * t85; + const double t242 = t24 * t208 + t231 * t22 + t88 * t48 + t56 * t85 + 0.2e1 * t156 + t160 + 0.2e1 * t161 + 0.2e1 * t233 + 0.2e1 * t239; + const double t245 = c * t188; + const double t248 = t94 * t67; + const double t256 = t4 * t85; + const double t257 = t29 * t256; + const double t259 = t23 * t208; + const double t262 = t150 * t228 / 0.8e1 - t55 * t242 / 0.4e1 + t245 * t30 / 0.4e1 + t248 / 0.2e1 + t94 * t70 / 0.4e1 + t170 / 0.2e1 + t174 + t176 / 0.2e1 + t64 * t97 / 0.4e1 + t257 / 0.2e1 + t29 * t259 / 0.4e1; + const double t263 = t53 * t262; + const double t266 = -t189 * t35 / 0.4e1 - t193 / 0.4e1 - t82 * t49 / 0.4e1 + t82 * t74 / 0.4e1 - t118 / 0.4e1 - t125 / 0.4e1 + t128 / 0.4e1 - t42 * t86 / 0.4e1 - t205 / 0.4e1 - t18 * t209 / 0.4e1 + t18 * t213 / 0.4e1 + t42 * t101 / 0.4e1 + t219 / 0.4e1 + t18 * t221 / 0.4e1 - t58 * t225 / 0.2e1 + t18 * t263 / 0.4e1; + const double t267 = piecewise_functor_3( t3, 0.0, t266 ); + const double t272 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t38 + 0.2e1 * t110 ); + const double t273 = t272 * t4; + const double t285 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t38 + 0.2e1 * t130 ); + const double t286 = t285 * t34; + const double t289 = t212 * t100; + const double t292 = t100 * t100; + const double t293 = t143 * t292; + const double t296 = t91 * t91; + const double t299 = t272 * t23; + const double t306 = t299 * t22 + t24 * t285 + 0.2e1 * t88 * t85 + t160 + 0.4e1 * t233 + 0.4e1 * t239; + const double t309 = c * t272; + const double t314 = t23 * t285; + const double t317 = t150 * t296 / 0.8e1 - t55 * t306 / 0.4e1 + t309 * t30 / 0.4e1 + t248 + t94 * t97 / 0.2e1 + t174 + t257 + t29 * t314 / 0.4e1; + const double t318 = t53 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -t273 * t35 / 0.4e1 - t193 / 0.2e1 - t82 * t86 / 0.2e1 + t82 * t101 / 0.2e1 - t205 / 0.2e1 + t219 / 0.2e1 - t18 * t286 / 0.4e1 + t18 * t289 / 0.2e1 - t18 * t293 / 0.2e1 + t18 * t318 / 0.4e1 ); + + + v2rho2_aa = t4 * t185 + 0.2e1 * t78; + v2rho2_ab = t4 * t267 + t105 + t78; + v2rho2_bb = t4 * t322 + 0.2e1 * t105; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t23 = t4 * t4; + const double t24 = t17 * t23; + const double t25 = t24 * t22; + const double t26 = safe_math::sqrt( t25 ); + const double t29 = c * t17; + const double t30 = t23 * t22; + const double t33 = a - b * t26 / 0.2e1 + t29 * t30 / 0.4e1; + const double t34 = 0.1e1 / t33; + const double t35 = t22 * t34; + const double tzk0 = piecewise_functor_3( t3, 0.0, -t18 * t35 / 0.4e1 ); + const double t38 = 0.1e1 / t23; + const double t39 = t14 * t38; + const double t41 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t39 ); + const double t42 = t41 * t4; + const double t44 = t17 * t22; + const double t45 = t44 * t34; + const double t46 = t19 * t38; + const double t48 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t46 ); + const double t49 = t48 * t34; + const double t51 = t33 * t33; + const double t52 = 0.1e1 / t51; + const double t53 = t22 * t52; + const double t55 = b / t26; + const double t56 = t41 * t23; + const double t58 = t18 * t22; + const double t59 = 0.2e1 * t58; + const double t61 = t56 * t22 + t24 * t48 + t59; + const double t64 = c * t41; + const double t67 = t4 * t22; + const double t69 = t29 * t67 / 0.2e1; + const double t70 = t23 * t48; + const double t73 = -t55 * t61 / 0.4e1 + t64 * t30 / 0.4e1 + t69 + t29 * t70 / 0.4e1; + const double t74 = t53 * t73; + const double t78 = piecewise_functor_3( t3, 0.0, -t18 * t49 / 0.4e1 + t18 * t74 / 0.4e1 - t42 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t81 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t39 ); + const double t82 = t81 * t4; + const double t85 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t46 ); + const double t86 = t85 * t34; + const double t88 = t81 * t23; + const double t91 = t88 * t22 + t24 * t85 + t59; + const double t94 = c * t81; + const double t97 = t23 * t85; + const double t100 = -t55 * t91 / 0.4e1 + t94 * t30 / 0.4e1 + t69 + t29 * t97 / 0.4e1; + const double t101 = t53 * t100; + const double t105 = piecewise_functor_3( t3, 0.0, t18 * t101 / 0.4e1 - t18 * t86 / 0.4e1 - t82 * t35 / 0.4e1 - t45 / 0.4e1 ); + const double t109 = 0.1e1 / t23 / t4; + const double t110 = t14 * t109; + const double t113 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t38 + 0.2e1 * t110 ); + const double t114 = t113 * t4; + const double t117 = t41 * t22; + const double t118 = t117 * t34; + const double t124 = t17 * t48; + const double t125 = t124 * t34; + const double t127 = t52 * t73; + const double t128 = t44 * t127; + const double t130 = t19 * t109; + const double t133 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t38 + 0.2e1 * t130 ); + const double t134 = t133 * t34; + const double t137 = t48 * t52; + const double t138 = t137 * t73; + const double t142 = 0.1e1 / t51 / t33; + const double t143 = t22 * t142; + const double t144 = t73 * t73; + const double t145 = t143 * t144; + const double t150 = b / t26 / t25; + const double t151 = t61 * t61; + const double t154 = t113 * t23; + const double t156 = t42 * t22; + const double t160 = 0.2e1 * t44; + const double t161 = t18 * t48; + const double t164 = t24 * t133 + t154 * t22 + 0.2e1 * t56 * t48 + 0.4e1 * t156 + t160 + 0.4e1 * t161; + const double t167 = c * t113; + const double t170 = t64 * t67; + const double t174 = t29 * t22 / 0.2e1; + const double t175 = t4 * t48; + const double t176 = t29 * t175; + const double t177 = t23 * t133; + const double t180 = t150 * t151 / 0.8e1 - t55 * t164 / 0.4e1 + t167 * t30 / 0.4e1 + t170 + t64 * t70 / 0.2e1 + t174 + t176 + t29 * t177 / 0.4e1; + const double t181 = t53 * t180; + const double t185 = piecewise_functor_3( t3, 0.0, -t114 * t35 / 0.4e1 - t118 / 0.2e1 - t42 * t49 / 0.2e1 + t42 * t74 / 0.2e1 - t125 / 0.2e1 + t128 / 0.2e1 - t18 * t134 / 0.4e1 + t18 * t138 / 0.2e1 - t18 * t145 / 0.2e1 + t18 * t181 / 0.4e1 ); + const double t188 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t110 ); + const double t189 = t188 * t4; + const double t192 = t81 * t22; + const double t193 = t192 * t34; + const double t204 = t17 * t85; + const double t205 = t204 * t34; + const double t208 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t130 ); + const double t209 = t208 * t34; + const double t212 = t85 * t52; + const double t213 = t212 * t73; + const double t218 = t52 * t100; + const double t219 = t44 * t218; + const double t221 = t137 * t100; + const double t224 = t142 * t100; + const double t225 = t224 * t73; + const double t228 = t91 * t61; + const double t231 = t188 * t23; + const double t233 = t82 * t22; + const double t239 = t18 * t85; + const double t242 = t24 * t208 + t231 * t22 + t88 * t48 + t56 * t85 + 0.2e1 * t156 + t160 + 0.2e1 * t161 + 0.2e1 * t233 + 0.2e1 * t239; + const double t245 = c * t188; + const double t248 = t94 * t67; + const double t256 = t4 * t85; + const double t257 = t29 * t256; + const double t259 = t23 * t208; + const double t262 = t150 * t228 / 0.8e1 - t55 * t242 / 0.4e1 + t245 * t30 / 0.4e1 + t248 / 0.2e1 + t94 * t70 / 0.4e1 + t170 / 0.2e1 + t174 + t176 / 0.2e1 + t64 * t97 / 0.4e1 + t257 / 0.2e1 + t29 * t259 / 0.4e1; + const double t263 = t53 * t262; + const double t266 = -t189 * t35 / 0.4e1 - t193 / 0.4e1 - t82 * t49 / 0.4e1 + t82 * t74 / 0.4e1 - t118 / 0.4e1 - t125 / 0.4e1 + t128 / 0.4e1 - t42 * t86 / 0.4e1 - t205 / 0.4e1 - t18 * t209 / 0.4e1 + t18 * t213 / 0.4e1 + t42 * t101 / 0.4e1 + t219 / 0.4e1 + t18 * t221 / 0.4e1 - t58 * t225 / 0.2e1 + t18 * t263 / 0.4e1; + const double t267 = piecewise_functor_3( t3, 0.0, t266 ); + const double t272 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t38 + 0.2e1 * t110 ); + const double t273 = t272 * t4; + const double t285 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t38 + 0.2e1 * t130 ); + const double t286 = t285 * t34; + const double t289 = t212 * t100; + const double t292 = t100 * t100; + const double t293 = t143 * t292; + const double t296 = t91 * t91; + const double t299 = t272 * t23; + const double t306 = t299 * t22 + t24 * t285 + 0.2e1 * t88 * t85 + t160 + 0.4e1 * t233 + 0.4e1 * t239; + const double t309 = c * t272; + const double t314 = t23 * t285; + const double t317 = t150 * t296 / 0.8e1 - t55 * t306 / 0.4e1 + t309 * t30 / 0.4e1 + t248 + t94 * t97 / 0.2e1 + t174 + t257 + t29 * t314 / 0.4e1; + const double t318 = t53 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -t273 * t35 / 0.4e1 - t193 / 0.2e1 - t82 * t86 / 0.2e1 + t82 * t101 / 0.2e1 - t205 / 0.2e1 + t219 / 0.2e1 - t18 * t286 / 0.4e1 + t18 * t289 / 0.2e1 - t18 * t293 / 0.2e1 + t18 * t318 / 0.4e1 ); + + + vrho_a = t4 * t78 + tzk0; + vrho_b = t4 * t105 + tzk0; + v2rho2_aa = t4 * t185 + 0.2e1 * t78; + v2rho2_ab = t4 * t267 + t105 + t78; + v2rho2_bb = t4 * t322 + 0.2e1 * t105; + + } + }; @@ -208,4 +630,4 @@ struct BuiltinEPC17_2 : detail::BuiltinKernelImpl< BuiltinEPC17_2 > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/epc18_1.hpp b/include/exchcxx/impl/builtin/kernels/epc18_1.hpp index d19fe28..aa16cc1 100644 --- a/include/exchcxx/impl/builtin/kernels/epc18_1.hpp +++ b/include/exchcxx/impl/builtin/kernels/epc18_1.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinEPC18_1 > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 1.80; static constexpr double b = 0.10; @@ -38,7 +87,6 @@ struct kernel_traits< BuiltinEPC18_1 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); const double t2 = rho / 0.2e1 <= dens_tol; @@ -87,10 +135,75 @@ struct kernel_traits< BuiltinEPC18_1 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t7 = 0.1e1 + t6; + const double t8 = t7 * t7; + const double t9 = t8 * rho; + const double t10 = b * t7; + const double t13 = c * t8; + const double t14 = rho * rho; + const double t17 = -0.4e1 * t10 * rho + 0.16e2 * t13 * t14 + a; + const double t18 = 0.1e1 / t17; + const double t22 = t17 * t17; + const double t23 = 0.1e1 / t22; + const double t27 = 0.32e2 * t13 * rho - 0.4e1 * t10; + const double t32 = piecewise_functor_3( t2, 0.0, t9 * t23 * t27 / 0.4e1 - t8 * t18 / 0.4e1 ); + const double t39 = 0.1e1 / t22 / t17; + const double t40 = t27 * t27; + const double t44 = t8 * t8; + const double t45 = t44 * rho; + const double t50 = piecewise_functor_3( t2, 0.0, t8 * t23 * t27 / 0.2e1 - t9 * t39 * t40 / 0.2e1 + 0.8e1 * t45 * t23 * c ); + + + v2rho2 = rho * t50 + 0.2e1 * t32; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t7 = 0.1e1 + t6; + const double t8 = t7 * t7; + const double t9 = t8 * rho; + const double t10 = b * t7; + const double t13 = c * t8; + const double t14 = rho * rho; + const double t17 = -0.4e1 * t10 * rho + 0.16e2 * t13 * t14 + a; + const double t18 = 0.1e1 / t17; + const double tzk0 = piecewise_functor_3( t2, 0.0, -t9 * t18 / 0.4e1 ); + const double t22 = t17 * t17; + const double t23 = 0.1e1 / t22; + const double t27 = 0.32e2 * t13 * rho - 0.4e1 * t10; + const double t32 = piecewise_functor_3( t2, 0.0, t9 * t23 * t27 / 0.4e1 - t8 * t18 / 0.4e1 ); + const double t39 = 0.1e1 / t22 / t17; + const double t40 = t27 * t27; + const double t44 = t8 * t8; + const double t45 = t44 * rho; + const double t50 = piecewise_functor_3( t2, 0.0, t8 * t23 * t27 / 0.2e1 - t9 * t39 * t40 / 0.2e1 + 0.8e1 * t45 * t23 * c ); + + + vrho = rho * t32 + tzk0; + v2rho2 = rho * t50 + 0.2e1 * t32; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t23 = constants::m_cbrt_2; constexpr double t24 = t23 * t23; @@ -199,6 +312,307 @@ struct kernel_traits< BuiltinEPC18_1 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t23 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t25 = safe_math::cbrt( t18 ); + const double t27 = t22 * t4; + const double t28 = safe_math::cbrt( t27 ); + const double t31 = t24 * t25 / 0.2e1 + t24 * t28 / 0.2e1; + const double t32 = t31 * t31; + const double t33 = t32 * t31; + const double t35 = t32 * t32; + const double t38 = c * t35 * t32 - b * t33 + a; + const double t39 = 0.1e1 / t38; + const double t40 = t22 * t39; + const double t43 = t4 * t4; + const double t44 = 0.1e1 / t43; + const double t45 = t14 * t44; + const double t47 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t45 ); + const double t48 = t47 * t4; + const double t50 = t17 * t22; + const double t51 = t50 * t39; + const double t52 = t19 * t44; + const double t54 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t52 ); + const double t55 = t54 * t39; + const double t57 = t38 * t38; + const double t58 = 0.1e1 / t57; + const double t59 = t22 * t58; + const double t60 = b * t32; + const double t61 = t25 * t25; + const double t63 = t24 / t61; + const double t64 = t48 + 0.1e1 + t16; + const double t66 = t28 * t28; + const double t68 = t24 / t66; + const double t70 = t54 * t4 + t21 + 0.1e1; + const double t73 = t63 * t64 / 0.6e1 + t68 * t70 / 0.6e1; + const double t77 = c * t35 * t31; + const double t80 = -0.3e1 * t60 * t73 + 0.6e1 * t77 * t73; + const double t81 = t59 * t80; + const double t85 = piecewise_functor_3( t3, 0.0, -t18 * t55 / 0.4e1 + t18 * t81 / 0.4e1 - t48 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t88 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t45 ); + const double t89 = t88 * t4; + const double t92 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t52 ); + const double t93 = t92 * t39; + const double t95 = t89 + 0.1e1 + t16; + const double t98 = t92 * t4 + t21 + 0.1e1; + const double t101 = t63 * t95 / 0.6e1 + t68 * t98 / 0.6e1; + const double t106 = -0.3e1 * t60 * t101 + 0.6e1 * t77 * t101; + const double t107 = t59 * t106; + const double t111 = piecewise_functor_3( t3, 0.0, t18 * t107 / 0.4e1 - t18 * t93 / 0.4e1 - t89 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t114 = t43 * t4; + const double t115 = 0.1e1 / t114; + const double t116 = t14 * t115; + const double t119 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t44 + 0.2e1 * t116 ); + const double t120 = t119 * t4; + const double t123 = t47 * t22; + const double t124 = t123 * t39; + const double t130 = t17 * t54; + const double t131 = t130 * t39; + const double t133 = t58 * t80; + const double t134 = t50 * t133; + const double t136 = t19 * t115; + const double t139 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t44 + 0.2e1 * t136 ); + const double t140 = t139 * t39; + const double t143 = t54 * t58; + const double t144 = t143 * t80; + const double t148 = 0.1e1 / t57 / t38; + const double t149 = t22 * t148; + const double t150 = t80 * t80; + const double t151 = t149 * t150; + const double t154 = b * t31; + const double t155 = t73 * t73; + const double t160 = t24 / t61 / t18; + const double t161 = t64 * t64; + const double t165 = t120 + 0.2e1 * t47; + const double t170 = t24 / t66 / t27; + const double t171 = t70 * t70; + const double t176 = t139 * t4 + 0.2e1 * t54; + const double t179 = -t160 * t161 / 0.9e1 + t63 * t165 / 0.6e1 - t170 * t171 / 0.9e1 + t68 * t176 / 0.6e1; + const double t182 = c * t35; + const double t187 = -0.6e1 * t154 * t155 + 0.3e2 * t182 * t155 - 0.3e1 * t60 * t179 + 0.6e1 * t77 * t179; + const double t188 = t59 * t187; + const double t192 = piecewise_functor_3( t3, 0.0, -t120 * t40 / 0.4e1 - t124 / 0.2e1 - t48 * t55 / 0.2e1 + t48 * t81 / 0.2e1 - t131 / 0.2e1 + t134 / 0.2e1 - t18 * t140 / 0.4e1 + t18 * t144 / 0.2e1 - t18 * t151 / 0.2e1 + t18 * t188 / 0.4e1 ); + const double t195 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t116 ); + const double t196 = t195 * t4; + const double t199 = t88 * t22; + const double t200 = t199 * t39; + const double t211 = t17 * t92; + const double t212 = t211 * t39; + const double t215 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t136 ); + const double t216 = t215 * t39; + const double t219 = t92 * t58; + const double t220 = t219 * t80; + const double t225 = t58 * t106; + const double t226 = t50 * t225; + const double t228 = t143 * t106; + const double t231 = t18 * t22; + const double t232 = t148 * t106; + const double t233 = t232 * t80; + const double t236 = t101 * t73; + const double t239 = t95 * t64; + const double t242 = t196 + t88 + t47; + const double t245 = t98 * t70; + const double t249 = t215 * t4 + t54 + t92; + const double t252 = -t160 * t239 / 0.9e1 + t63 * t242 / 0.6e1 - t170 * t245 / 0.9e1 + t68 * t249 / 0.6e1; + const double t259 = -0.6e1 * t154 * t236 + 0.3e2 * t182 * t236 - 0.3e1 * t60 * t252 + 0.6e1 * t77 * t252; + const double t260 = t59 * t259; + const double t263 = -t196 * t40 / 0.4e1 - t200 / 0.4e1 - t89 * t55 / 0.4e1 + t89 * t81 / 0.4e1 - t124 / 0.4e1 - t131 / 0.4e1 + t134 / 0.4e1 - t48 * t93 / 0.4e1 - t212 / 0.4e1 - t18 * t216 / 0.4e1 + t18 * t220 / 0.4e1 + t48 * t107 / 0.4e1 + t226 / 0.4e1 + t18 * t228 / 0.4e1 - t231 * t233 / 0.2e1 + t18 * t260 / 0.4e1; + const double t264 = piecewise_functor_3( t3, 0.0, t263 ); + const double t269 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t44 + 0.2e1 * t116 ); + const double t270 = t269 * t4; + const double t282 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t44 + 0.2e1 * t136 ); + const double t283 = t282 * t39; + const double t286 = t219 * t106; + const double t289 = t106 * t106; + const double t290 = t149 * t289; + const double t293 = t101 * t101; + const double t296 = t95 * t95; + const double t300 = t270 + 0.2e1 * t88; + const double t303 = t98 * t98; + const double t308 = t282 * t4 + 0.2e1 * t92; + const double t311 = -t160 * t296 / 0.9e1 + t63 * t300 / 0.6e1 - t170 * t303 / 0.9e1 + t68 * t308 / 0.6e1; + const double t318 = -0.6e1 * t154 * t293 + 0.3e2 * t182 * t293 - 0.3e1 * t60 * t311 + 0.6e1 * t77 * t311; + const double t319 = t59 * t318; + const double t323 = piecewise_functor_3( t3, 0.0, -t270 * t40 / 0.4e1 - t200 / 0.2e1 - t89 * t93 / 0.2e1 + t89 * t107 / 0.2e1 - t212 / 0.2e1 + t226 / 0.2e1 - t18 * t283 / 0.4e1 + t18 * t286 / 0.2e1 - t18 * t290 / 0.2e1 + t18 * t319 / 0.4e1 ); + + + v2rho2_aa = t4 * t192 + 0.2e1 * t85; + v2rho2_ab = t4 * t264 + t111 + t85; + v2rho2_bb = t4 * t323 + 0.2e1 * t111; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t23 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t25 = safe_math::cbrt( t18 ); + const double t27 = t22 * t4; + const double t28 = safe_math::cbrt( t27 ); + const double t31 = t24 * t25 / 0.2e1 + t24 * t28 / 0.2e1; + const double t32 = t31 * t31; + const double t33 = t32 * t31; + const double t35 = t32 * t32; + const double t38 = c * t35 * t32 - b * t33 + a; + const double t39 = 0.1e1 / t38; + const double t40 = t22 * t39; + const double tzk0 = piecewise_functor_3( t3, 0.0, -t18 * t40 / 0.4e1 ); + const double t43 = t4 * t4; + const double t44 = 0.1e1 / t43; + const double t45 = t14 * t44; + const double t47 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t45 ); + const double t48 = t47 * t4; + const double t50 = t17 * t22; + const double t51 = t50 * t39; + const double t52 = t19 * t44; + const double t54 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t52 ); + const double t55 = t54 * t39; + const double t57 = t38 * t38; + const double t58 = 0.1e1 / t57; + const double t59 = t22 * t58; + const double t60 = b * t32; + const double t61 = t25 * t25; + const double t63 = t24 / t61; + const double t64 = t48 + 0.1e1 + t16; + const double t66 = t28 * t28; + const double t68 = t24 / t66; + const double t70 = t54 * t4 + t21 + 0.1e1; + const double t73 = t63 * t64 / 0.6e1 + t68 * t70 / 0.6e1; + const double t77 = c * t35 * t31; + const double t80 = -0.3e1 * t60 * t73 + 0.6e1 * t77 * t73; + const double t81 = t59 * t80; + const double t85 = piecewise_functor_3( t3, 0.0, -t18 * t55 / 0.4e1 + t18 * t81 / 0.4e1 - t48 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t88 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t45 ); + const double t89 = t88 * t4; + const double t92 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t52 ); + const double t93 = t92 * t39; + const double t95 = t89 + 0.1e1 + t16; + const double t98 = t92 * t4 + t21 + 0.1e1; + const double t101 = t63 * t95 / 0.6e1 + t68 * t98 / 0.6e1; + const double t106 = -0.3e1 * t60 * t101 + 0.6e1 * t77 * t101; + const double t107 = t59 * t106; + const double t111 = piecewise_functor_3( t3, 0.0, t18 * t107 / 0.4e1 - t18 * t93 / 0.4e1 - t89 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t114 = t43 * t4; + const double t115 = 0.1e1 / t114; + const double t116 = t14 * t115; + const double t119 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t44 + 0.2e1 * t116 ); + const double t120 = t119 * t4; + const double t123 = t47 * t22; + const double t124 = t123 * t39; + const double t130 = t17 * t54; + const double t131 = t130 * t39; + const double t133 = t58 * t80; + const double t134 = t50 * t133; + const double t136 = t19 * t115; + const double t139 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t44 + 0.2e1 * t136 ); + const double t140 = t139 * t39; + const double t143 = t54 * t58; + const double t144 = t143 * t80; + const double t148 = 0.1e1 / t57 / t38; + const double t149 = t22 * t148; + const double t150 = t80 * t80; + const double t151 = t149 * t150; + const double t154 = b * t31; + const double t155 = t73 * t73; + const double t160 = t24 / t61 / t18; + const double t161 = t64 * t64; + const double t165 = t120 + 0.2e1 * t47; + const double t170 = t24 / t66 / t27; + const double t171 = t70 * t70; + const double t176 = t139 * t4 + 0.2e1 * t54; + const double t179 = -t160 * t161 / 0.9e1 + t63 * t165 / 0.6e1 - t170 * t171 / 0.9e1 + t68 * t176 / 0.6e1; + const double t182 = c * t35; + const double t187 = -0.6e1 * t154 * t155 + 0.3e2 * t182 * t155 - 0.3e1 * t60 * t179 + 0.6e1 * t77 * t179; + const double t188 = t59 * t187; + const double t192 = piecewise_functor_3( t3, 0.0, -t120 * t40 / 0.4e1 - t124 / 0.2e1 - t48 * t55 / 0.2e1 + t48 * t81 / 0.2e1 - t131 / 0.2e1 + t134 / 0.2e1 - t18 * t140 / 0.4e1 + t18 * t144 / 0.2e1 - t18 * t151 / 0.2e1 + t18 * t188 / 0.4e1 ); + const double t195 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t116 ); + const double t196 = t195 * t4; + const double t199 = t88 * t22; + const double t200 = t199 * t39; + const double t211 = t17 * t92; + const double t212 = t211 * t39; + const double t215 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t136 ); + const double t216 = t215 * t39; + const double t219 = t92 * t58; + const double t220 = t219 * t80; + const double t225 = t58 * t106; + const double t226 = t50 * t225; + const double t228 = t143 * t106; + const double t231 = t18 * t22; + const double t232 = t148 * t106; + const double t233 = t232 * t80; + const double t236 = t101 * t73; + const double t239 = t95 * t64; + const double t242 = t196 + t88 + t47; + const double t245 = t98 * t70; + const double t249 = t215 * t4 + t54 + t92; + const double t252 = -t160 * t239 / 0.9e1 + t63 * t242 / 0.6e1 - t170 * t245 / 0.9e1 + t68 * t249 / 0.6e1; + const double t259 = -0.6e1 * t154 * t236 + 0.3e2 * t182 * t236 - 0.3e1 * t60 * t252 + 0.6e1 * t77 * t252; + const double t260 = t59 * t259; + const double t263 = -t196 * t40 / 0.4e1 - t200 / 0.4e1 - t89 * t55 / 0.4e1 + t89 * t81 / 0.4e1 - t124 / 0.4e1 - t131 / 0.4e1 + t134 / 0.4e1 - t48 * t93 / 0.4e1 - t212 / 0.4e1 - t18 * t216 / 0.4e1 + t18 * t220 / 0.4e1 + t48 * t107 / 0.4e1 + t226 / 0.4e1 + t18 * t228 / 0.4e1 - t231 * t233 / 0.2e1 + t18 * t260 / 0.4e1; + const double t264 = piecewise_functor_3( t3, 0.0, t263 ); + const double t269 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t44 + 0.2e1 * t116 ); + const double t270 = t269 * t4; + const double t282 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t44 + 0.2e1 * t136 ); + const double t283 = t282 * t39; + const double t286 = t219 * t106; + const double t289 = t106 * t106; + const double t290 = t149 * t289; + const double t293 = t101 * t101; + const double t296 = t95 * t95; + const double t300 = t270 + 0.2e1 * t88; + const double t303 = t98 * t98; + const double t308 = t282 * t4 + 0.2e1 * t92; + const double t311 = -t160 * t296 / 0.9e1 + t63 * t300 / 0.6e1 - t170 * t303 / 0.9e1 + t68 * t308 / 0.6e1; + const double t318 = -0.6e1 * t154 * t293 + 0.3e2 * t182 * t293 - 0.3e1 * t60 * t311 + 0.6e1 * t77 * t311; + const double t319 = t59 * t318; + const double t323 = piecewise_functor_3( t3, 0.0, -t270 * t40 / 0.4e1 - t200 / 0.2e1 - t89 * t93 / 0.2e1 + t89 * t107 / 0.2e1 - t212 / 0.2e1 + t226 / 0.2e1 - t18 * t283 / 0.4e1 + t18 * t286 / 0.2e1 - t18 * t290 / 0.2e1 + t18 * t319 / 0.4e1 ); + + + vrho_a = t4 * t85 + tzk0; + vrho_b = t4 * t111 + tzk0; + v2rho2_aa = t4 * t192 + 0.2e1 * t85; + v2rho2_ab = t4 * t264 + t111 + t85; + v2rho2_bb = t4 * t323 + 0.2e1 * t111; + + } + }; @@ -213,4 +627,4 @@ struct BuiltinEPC18_1 : detail::BuiltinKernelImpl< BuiltinEPC18_1 > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/epc18_2.hpp b/include/exchcxx/impl/builtin/kernels/epc18_2.hpp index 3ca66b8..93117e6 100644 --- a/include/exchcxx/impl/builtin/kernels/epc18_2.hpp +++ b/include/exchcxx/impl/builtin/kernels/epc18_2.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinEPC18_2 > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 3.90; static constexpr double b = 0.50; @@ -38,7 +87,6 @@ struct kernel_traits< BuiltinEPC18_2 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); const double t2 = rho / 0.2e1 <= dens_tol; @@ -87,10 +135,75 @@ struct kernel_traits< BuiltinEPC18_2 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t7 = 0.1e1 + t6; + const double t8 = t7 * t7; + const double t9 = t8 * rho; + const double t10 = b * t7; + const double t13 = c * t8; + const double t14 = rho * rho; + const double t17 = -0.4e1 * t10 * rho + 0.16e2 * t13 * t14 + a; + const double t18 = 0.1e1 / t17; + const double t22 = t17 * t17; + const double t23 = 0.1e1 / t22; + const double t27 = 0.32e2 * t13 * rho - 0.4e1 * t10; + const double t32 = piecewise_functor_3( t2, 0.0, t9 * t23 * t27 / 0.4e1 - t8 * t18 / 0.4e1 ); + const double t39 = 0.1e1 / t22 / t17; + const double t40 = t27 * t27; + const double t44 = t8 * t8; + const double t45 = t44 * rho; + const double t50 = piecewise_functor_3( t2, 0.0, t8 * t23 * t27 / 0.2e1 - t9 * t39 * t40 / 0.2e1 + 0.8e1 * t45 * t23 * c ); + + + v2rho2 = rho * t50 + 0.2e1 * t32; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = zeta_tol - 0.1e1; + const double t6 = piecewise_functor_5( t3, t4, t3, -t4, 0.0 ); + const double t7 = 0.1e1 + t6; + const double t8 = t7 * t7; + const double t9 = t8 * rho; + const double t10 = b * t7; + const double t13 = c * t8; + const double t14 = rho * rho; + const double t17 = -0.4e1 * t10 * rho + 0.16e2 * t13 * t14 + a; + const double t18 = 0.1e1 / t17; + const double tzk0 = piecewise_functor_3( t2, 0.0, -t9 * t18 / 0.4e1 ); + const double t22 = t17 * t17; + const double t23 = 0.1e1 / t22; + const double t27 = 0.32e2 * t13 * rho - 0.4e1 * t10; + const double t32 = piecewise_functor_3( t2, 0.0, t9 * t23 * t27 / 0.4e1 - t8 * t18 / 0.4e1 ); + const double t39 = 0.1e1 / t22 / t17; + const double t40 = t27 * t27; + const double t44 = t8 * t8; + const double t45 = t44 * rho; + const double t50 = piecewise_functor_3( t2, 0.0, t8 * t23 * t27 / 0.2e1 - t9 * t39 * t40 / 0.2e1 + 0.8e1 * t45 * t23 * c ); + + + vrho = rho * t32 + tzk0; + v2rho2 = rho * t50 + 0.2e1 * t32; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t23 = constants::m_cbrt_2; constexpr double t24 = t23 * t23; @@ -199,6 +312,307 @@ struct kernel_traits< BuiltinEPC18_2 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t23 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t25 = safe_math::cbrt( t18 ); + const double t27 = t22 * t4; + const double t28 = safe_math::cbrt( t27 ); + const double t31 = t24 * t25 / 0.2e1 + t24 * t28 / 0.2e1; + const double t32 = t31 * t31; + const double t33 = t32 * t31; + const double t35 = t32 * t32; + const double t38 = c * t35 * t32 - b * t33 + a; + const double t39 = 0.1e1 / t38; + const double t40 = t22 * t39; + const double t43 = t4 * t4; + const double t44 = 0.1e1 / t43; + const double t45 = t14 * t44; + const double t47 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t45 ); + const double t48 = t47 * t4; + const double t50 = t17 * t22; + const double t51 = t50 * t39; + const double t52 = t19 * t44; + const double t54 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t52 ); + const double t55 = t54 * t39; + const double t57 = t38 * t38; + const double t58 = 0.1e1 / t57; + const double t59 = t22 * t58; + const double t60 = b * t32; + const double t61 = t25 * t25; + const double t63 = t24 / t61; + const double t64 = t48 + 0.1e1 + t16; + const double t66 = t28 * t28; + const double t68 = t24 / t66; + const double t70 = t54 * t4 + t21 + 0.1e1; + const double t73 = t63 * t64 / 0.6e1 + t68 * t70 / 0.6e1; + const double t77 = c * t35 * t31; + const double t80 = -0.3e1 * t60 * t73 + 0.6e1 * t77 * t73; + const double t81 = t59 * t80; + const double t85 = piecewise_functor_3( t3, 0.0, -t18 * t55 / 0.4e1 + t18 * t81 / 0.4e1 - t48 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t88 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t45 ); + const double t89 = t88 * t4; + const double t92 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t52 ); + const double t93 = t92 * t39; + const double t95 = t89 + 0.1e1 + t16; + const double t98 = t92 * t4 + t21 + 0.1e1; + const double t101 = t63 * t95 / 0.6e1 + t68 * t98 / 0.6e1; + const double t106 = -0.3e1 * t60 * t101 + 0.6e1 * t77 * t101; + const double t107 = t59 * t106; + const double t111 = piecewise_functor_3( t3, 0.0, t18 * t107 / 0.4e1 - t18 * t93 / 0.4e1 - t89 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t114 = t43 * t4; + const double t115 = 0.1e1 / t114; + const double t116 = t14 * t115; + const double t119 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t44 + 0.2e1 * t116 ); + const double t120 = t119 * t4; + const double t123 = t47 * t22; + const double t124 = t123 * t39; + const double t130 = t17 * t54; + const double t131 = t130 * t39; + const double t133 = t58 * t80; + const double t134 = t50 * t133; + const double t136 = t19 * t115; + const double t139 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t44 + 0.2e1 * t136 ); + const double t140 = t139 * t39; + const double t143 = t54 * t58; + const double t144 = t143 * t80; + const double t148 = 0.1e1 / t57 / t38; + const double t149 = t22 * t148; + const double t150 = t80 * t80; + const double t151 = t149 * t150; + const double t154 = b * t31; + const double t155 = t73 * t73; + const double t160 = t24 / t61 / t18; + const double t161 = t64 * t64; + const double t165 = t120 + 0.2e1 * t47; + const double t170 = t24 / t66 / t27; + const double t171 = t70 * t70; + const double t176 = t139 * t4 + 0.2e1 * t54; + const double t179 = -t160 * t161 / 0.9e1 + t63 * t165 / 0.6e1 - t170 * t171 / 0.9e1 + t68 * t176 / 0.6e1; + const double t182 = c * t35; + const double t187 = -0.6e1 * t154 * t155 + 0.3e2 * t182 * t155 - 0.3e1 * t60 * t179 + 0.6e1 * t77 * t179; + const double t188 = t59 * t187; + const double t192 = piecewise_functor_3( t3, 0.0, -t120 * t40 / 0.4e1 - t124 / 0.2e1 - t48 * t55 / 0.2e1 + t48 * t81 / 0.2e1 - t131 / 0.2e1 + t134 / 0.2e1 - t18 * t140 / 0.4e1 + t18 * t144 / 0.2e1 - t18 * t151 / 0.2e1 + t18 * t188 / 0.4e1 ); + const double t195 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t116 ); + const double t196 = t195 * t4; + const double t199 = t88 * t22; + const double t200 = t199 * t39; + const double t211 = t17 * t92; + const double t212 = t211 * t39; + const double t215 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t136 ); + const double t216 = t215 * t39; + const double t219 = t92 * t58; + const double t220 = t219 * t80; + const double t225 = t58 * t106; + const double t226 = t50 * t225; + const double t228 = t143 * t106; + const double t231 = t18 * t22; + const double t232 = t148 * t106; + const double t233 = t232 * t80; + const double t236 = t101 * t73; + const double t239 = t95 * t64; + const double t242 = t196 + t88 + t47; + const double t245 = t98 * t70; + const double t249 = t215 * t4 + t54 + t92; + const double t252 = -t160 * t239 / 0.9e1 + t63 * t242 / 0.6e1 - t170 * t245 / 0.9e1 + t68 * t249 / 0.6e1; + const double t259 = -0.6e1 * t154 * t236 + 0.3e2 * t182 * t236 - 0.3e1 * t60 * t252 + 0.6e1 * t77 * t252; + const double t260 = t59 * t259; + const double t263 = -t196 * t40 / 0.4e1 - t200 / 0.4e1 - t89 * t55 / 0.4e1 + t89 * t81 / 0.4e1 - t124 / 0.4e1 - t131 / 0.4e1 + t134 / 0.4e1 - t48 * t93 / 0.4e1 - t212 / 0.4e1 - t18 * t216 / 0.4e1 + t18 * t220 / 0.4e1 + t48 * t107 / 0.4e1 + t226 / 0.4e1 + t18 * t228 / 0.4e1 - t231 * t233 / 0.2e1 + t18 * t260 / 0.4e1; + const double t264 = piecewise_functor_3( t3, 0.0, t263 ); + const double t269 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t44 + 0.2e1 * t116 ); + const double t270 = t269 * t4; + const double t282 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t44 + 0.2e1 * t136 ); + const double t283 = t282 * t39; + const double t286 = t219 * t106; + const double t289 = t106 * t106; + const double t290 = t149 * t289; + const double t293 = t101 * t101; + const double t296 = t95 * t95; + const double t300 = t270 + 0.2e1 * t88; + const double t303 = t98 * t98; + const double t308 = t282 * t4 + 0.2e1 * t92; + const double t311 = -t160 * t296 / 0.9e1 + t63 * t300 / 0.6e1 - t170 * t303 / 0.9e1 + t68 * t308 / 0.6e1; + const double t318 = -0.6e1 * t154 * t293 + 0.3e2 * t182 * t293 - 0.3e1 * t60 * t311 + 0.6e1 * t77 * t311; + const double t319 = t59 * t318; + const double t323 = piecewise_functor_3( t3, 0.0, -t270 * t40 / 0.4e1 - t200 / 0.2e1 - t89 * t93 / 0.2e1 + t89 * t107 / 0.2e1 - t212 / 0.2e1 + t226 / 0.2e1 - t18 * t283 / 0.4e1 + t18 * t286 / 0.2e1 - t18 * t290 / 0.2e1 + t18 * t319 / 0.4e1 ); + + + v2rho2_aa = t4 * t192 + 0.2e1 * t85; + v2rho2_ab = t4 * t264 + t111 + t85; + v2rho2_bb = t4 * t323 + 0.2e1 * t111; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t23 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + + + const double t3 = rho_a <= dens_tol && rho_b <= dens_tol; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t8 = 0.2e1 * rho_a * t5 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = 0.2e1 * rho_b * t5 <= zeta_tol; + const double t13 = -t9; + const double t14 = rho_a - rho_b; + const double t16 = piecewise_functor_5( t8, t9, t12, t13, t14 * t5 ); + const double t17 = 0.1e1 + t16; + const double t18 = t17 * t4; + const double t19 = -t14; + const double t21 = piecewise_functor_5( t12, t9, t8, t13, t19 * t5 ); + const double t22 = 0.1e1 + t21; + const double t25 = safe_math::cbrt( t18 ); + const double t27 = t22 * t4; + const double t28 = safe_math::cbrt( t27 ); + const double t31 = t24 * t25 / 0.2e1 + t24 * t28 / 0.2e1; + const double t32 = t31 * t31; + const double t33 = t32 * t31; + const double t35 = t32 * t32; + const double t38 = c * t35 * t32 - b * t33 + a; + const double t39 = 0.1e1 / t38; + const double t40 = t22 * t39; + const double tzk0 = piecewise_functor_3( t3, 0.0, -t18 * t40 / 0.4e1 ); + const double t43 = t4 * t4; + const double t44 = 0.1e1 / t43; + const double t45 = t14 * t44; + const double t47 = piecewise_functor_5( t8, 0.0, t12, 0.0, t5 - t45 ); + const double t48 = t47 * t4; + const double t50 = t17 * t22; + const double t51 = t50 * t39; + const double t52 = t19 * t44; + const double t54 = piecewise_functor_5( t12, 0.0, t8, 0.0, -t5 - t52 ); + const double t55 = t54 * t39; + const double t57 = t38 * t38; + const double t58 = 0.1e1 / t57; + const double t59 = t22 * t58; + const double t60 = b * t32; + const double t61 = t25 * t25; + const double t63 = t24 / t61; + const double t64 = t48 + 0.1e1 + t16; + const double t66 = t28 * t28; + const double t68 = t24 / t66; + const double t70 = t54 * t4 + t21 + 0.1e1; + const double t73 = t63 * t64 / 0.6e1 + t68 * t70 / 0.6e1; + const double t77 = c * t35 * t31; + const double t80 = -0.3e1 * t60 * t73 + 0.6e1 * t77 * t73; + const double t81 = t59 * t80; + const double t85 = piecewise_functor_3( t3, 0.0, -t18 * t55 / 0.4e1 + t18 * t81 / 0.4e1 - t48 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t88 = piecewise_functor_5( t8, 0.0, t12, 0.0, -t5 - t45 ); + const double t89 = t88 * t4; + const double t92 = piecewise_functor_5( t12, 0.0, t8, 0.0, t5 - t52 ); + const double t93 = t92 * t39; + const double t95 = t89 + 0.1e1 + t16; + const double t98 = t92 * t4 + t21 + 0.1e1; + const double t101 = t63 * t95 / 0.6e1 + t68 * t98 / 0.6e1; + const double t106 = -0.3e1 * t60 * t101 + 0.6e1 * t77 * t101; + const double t107 = t59 * t106; + const double t111 = piecewise_functor_3( t3, 0.0, t18 * t107 / 0.4e1 - t18 * t93 / 0.4e1 - t89 * t40 / 0.4e1 - t51 / 0.4e1 ); + const double t114 = t43 * t4; + const double t115 = 0.1e1 / t114; + const double t116 = t14 * t115; + const double t119 = piecewise_functor_5( t8, 0.0, t12, 0.0, -0.2e1 * t44 + 0.2e1 * t116 ); + const double t120 = t119 * t4; + const double t123 = t47 * t22; + const double t124 = t123 * t39; + const double t130 = t17 * t54; + const double t131 = t130 * t39; + const double t133 = t58 * t80; + const double t134 = t50 * t133; + const double t136 = t19 * t115; + const double t139 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t44 + 0.2e1 * t136 ); + const double t140 = t139 * t39; + const double t143 = t54 * t58; + const double t144 = t143 * t80; + const double t148 = 0.1e1 / t57 / t38; + const double t149 = t22 * t148; + const double t150 = t80 * t80; + const double t151 = t149 * t150; + const double t154 = b * t31; + const double t155 = t73 * t73; + const double t160 = t24 / t61 / t18; + const double t161 = t64 * t64; + const double t165 = t120 + 0.2e1 * t47; + const double t170 = t24 / t66 / t27; + const double t171 = t70 * t70; + const double t176 = t139 * t4 + 0.2e1 * t54; + const double t179 = -t160 * t161 / 0.9e1 + t63 * t165 / 0.6e1 - t170 * t171 / 0.9e1 + t68 * t176 / 0.6e1; + const double t182 = c * t35; + const double t187 = -0.6e1 * t154 * t155 + 0.3e2 * t182 * t155 - 0.3e1 * t60 * t179 + 0.6e1 * t77 * t179; + const double t188 = t59 * t187; + const double t192 = piecewise_functor_3( t3, 0.0, -t120 * t40 / 0.4e1 - t124 / 0.2e1 - t48 * t55 / 0.2e1 + t48 * t81 / 0.2e1 - t131 / 0.2e1 + t134 / 0.2e1 - t18 * t140 / 0.4e1 + t18 * t144 / 0.2e1 - t18 * t151 / 0.2e1 + t18 * t188 / 0.4e1 ); + const double t195 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t116 ); + const double t196 = t195 * t4; + const double t199 = t88 * t22; + const double t200 = t199 * t39; + const double t211 = t17 * t92; + const double t212 = t211 * t39; + const double t215 = piecewise_functor_5( t12, 0.0, t8, 0.0, 0.2e1 * t136 ); + const double t216 = t215 * t39; + const double t219 = t92 * t58; + const double t220 = t219 * t80; + const double t225 = t58 * t106; + const double t226 = t50 * t225; + const double t228 = t143 * t106; + const double t231 = t18 * t22; + const double t232 = t148 * t106; + const double t233 = t232 * t80; + const double t236 = t101 * t73; + const double t239 = t95 * t64; + const double t242 = t196 + t88 + t47; + const double t245 = t98 * t70; + const double t249 = t215 * t4 + t54 + t92; + const double t252 = -t160 * t239 / 0.9e1 + t63 * t242 / 0.6e1 - t170 * t245 / 0.9e1 + t68 * t249 / 0.6e1; + const double t259 = -0.6e1 * t154 * t236 + 0.3e2 * t182 * t236 - 0.3e1 * t60 * t252 + 0.6e1 * t77 * t252; + const double t260 = t59 * t259; + const double t263 = -t196 * t40 / 0.4e1 - t200 / 0.4e1 - t89 * t55 / 0.4e1 + t89 * t81 / 0.4e1 - t124 / 0.4e1 - t131 / 0.4e1 + t134 / 0.4e1 - t48 * t93 / 0.4e1 - t212 / 0.4e1 - t18 * t216 / 0.4e1 + t18 * t220 / 0.4e1 + t48 * t107 / 0.4e1 + t226 / 0.4e1 + t18 * t228 / 0.4e1 - t231 * t233 / 0.2e1 + t18 * t260 / 0.4e1; + const double t264 = piecewise_functor_3( t3, 0.0, t263 ); + const double t269 = piecewise_functor_5( t8, 0.0, t12, 0.0, 0.2e1 * t44 + 0.2e1 * t116 ); + const double t270 = t269 * t4; + const double t282 = piecewise_functor_5( t12, 0.0, t8, 0.0, -0.2e1 * t44 + 0.2e1 * t136 ); + const double t283 = t282 * t39; + const double t286 = t219 * t106; + const double t289 = t106 * t106; + const double t290 = t149 * t289; + const double t293 = t101 * t101; + const double t296 = t95 * t95; + const double t300 = t270 + 0.2e1 * t88; + const double t303 = t98 * t98; + const double t308 = t282 * t4 + 0.2e1 * t92; + const double t311 = -t160 * t296 / 0.9e1 + t63 * t300 / 0.6e1 - t170 * t303 / 0.9e1 + t68 * t308 / 0.6e1; + const double t318 = -0.6e1 * t154 * t293 + 0.3e2 * t182 * t293 - 0.3e1 * t60 * t311 + 0.6e1 * t77 * t311; + const double t319 = t59 * t318; + const double t323 = piecewise_functor_3( t3, 0.0, -t270 * t40 / 0.4e1 - t200 / 0.2e1 - t89 * t93 / 0.2e1 + t89 * t107 / 0.2e1 - t212 / 0.2e1 + t226 / 0.2e1 - t18 * t283 / 0.4e1 + t18 * t286 / 0.2e1 - t18 * t290 / 0.2e1 + t18 * t319 / 0.4e1 ); + + + vrho_a = t4 * t85 + tzk0; + vrho_b = t4 * t111 + tzk0; + v2rho2_aa = t4 * t192 + 0.2e1 * t85; + v2rho2_ab = t4 * t264 + t111 + t85; + v2rho2_bb = t4 * t323 + 0.2e1 * t111; + + } + }; @@ -213,4 +627,4 @@ struct BuiltinEPC18_2 : detail::BuiltinKernelImpl< BuiltinEPC18_2 > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/ft98_x.hpp b/include/exchcxx/impl/builtin/kernels/ft98_x.hpp index ade5d46..710f571 100644 --- a/include/exchcxx/impl/builtin/kernels/ft98_x.hpp +++ b/include/exchcxx/impl/builtin/kernels/ft98_x.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinFT98_X > : static constexpr double sigma_tol = 1.0000000000000021e-16; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 0.00528014; static constexpr double b = 0.00003904539; @@ -42,7 +91,6 @@ struct kernel_traits< BuiltinFT98_X > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(tau); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t22 = constants::m_cbrt_2; @@ -155,7 +203,6 @@ struct kernel_traits< BuiltinFT98_X > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(tau); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t22 = constants::m_cbrt_2; @@ -385,15 +432,1800 @@ struct kernel_traits< BuiltinFT98_X > : } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(tau); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_2; + constexpr double t127 = constants::m_one_ov_pi; + constexpr double t128 = constants::m_cbrt_one_ov_pi; + constexpr double t131 = constants::m_cbrt_4; + constexpr double t6 = 0.1e1 / t5; + constexpr double t7 = t4 * t6; + constexpr double t23 = t22 * t22; + constexpr double t57 = b2 * b2; + constexpr double t115 = t22 - 0.1e1; + constexpr double t126 = t4 * t4; + constexpr double t129 = t128 * t128; + constexpr double t130 = t126 * t129; + constexpr double t252 = t131 * b; + constexpr double t338 = b * a2; + constexpr double t458 = a1 * b1; + constexpr double t544 = t115 * t115; + constexpr double t563 = a1 * a1; + constexpr double t571 = b1 * b1; + constexpr double t590 = t128 * t127; + constexpr double t591 = t4 * t590; + constexpr double t593 = t131 * t131; + constexpr double t594 = b * b; + constexpr double t595 = t593 * t594; + constexpr double t1007 = a2 * t22; + constexpr double t1174 = t252 * t23; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = a1 * sigma; + const double t24 = rho * rho; + const double t25 = t19 * t19; + const double t27 = 0.1e1 / t25 / t24; + const double t28 = t23 * t27; + const double t30 = t21 * t28 + 0.1e1; + const double t31 = safe_math::sqrt( t30 ); + const double t32 = a * t31; + const double t33 = b1 * sigma; + const double t35 = t33 * t28 + 0.1e1; + const double t36 = pow_1_4( t35 ); + const double t37 = t36 * t36; + const double t38 = t37 * t36; + const double t39 = 0.1e1 / t38; + const double t40 = t32 * t39; + const double t41 = sigma * t23; + const double t42 = t41 * t27; + const double t44 = lapl * t23; + const double t46 = 0.1e1 / t25 / rho; + const double t48 = -t44 * t46 + t42; + const double t49 = t48 * t48; + const double t50 = a2 * t49; + const double t51 = 0.1e1 + t42; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t56 = b * ( t50 * t53 + 0.1e1 ); + const double t59 = safe_math::sqrt( t57 + 0.1e1 ); + const double t60 = t59 - b2; + const double t61 = sigma * sigma; + const double t62 = t61 * t22; + const double t63 = t24 * t24; + const double t64 = t63 * rho; + const double t66 = 0.1e1 / t19 / t64; + const double t67 = t62 * t66; + const double t68 = 0.2e1 * t67; + const double t69 = lapl * lapl; + const double t70 = t69 * t22; + const double t71 = t24 * rho; + const double t73 = 0.1e1 / t19 / t71; + const double t74 = t70 * t73; + const double t75 = 0.2e1 * t74; + const double t76 = t68 - t75 - b2; + const double t77 = pow_1_4( DBL_EPSILON ); + const double t78 = 0.1e1 / t77; + const double t79 = t76 < -t78; + const double t85 = t76 * t76; + const double t86 = t85 * t76; + const double t87 = 0.1e1 / t86; + const double t89 = t85 * t85; + const double t90 = t89 * t76; + const double t91 = 0.1e1 / t90; + const double t96 = piecewise_functor_3( 0.e0 < t76, t76, -t76 ); + const double t97 = t96 < t77; + const double t100 = t89 * t85; + const double t102 = t89 * t89; + const double t105 = -t78 < t76; + const double t106 = piecewise_functor_3( t105, t76, -t78 ); + const double t107 = t106 * t106; + const double t108 = 0.1e1 + t107; + const double t109 = safe_math::sqrt( t108 ); + const double t110 = t106 + t109; + const double t112 = piecewise_functor_5( t79, -0.4e1 * t67 + 0.4e1 * t74 + 0.2e1 * b2 - 0.1e1 / t76 / 0.2e1 + t87 / 0.8e1 - t91 / 0.16e2, t97, 0.1e1 - t68 + t75 + b2 + t85 / 0.2e1 - t89 / 0.8e1 + t100 / 0.16e2 - 0.5e1 / 0.128e3 * t102, 0.1e1 / t110 ); + const double t114 = t60 * t112 + 0.1e1; + const double t116 = t115 * t60; + const double t118 = t116 * t112 + 0.1e1; + const double t119 = t118 * t118; + const double t120 = t119 * t118; + const double t121 = 0.1e1 / t120; + const double t122 = t114 * t121; + const double t123 = t122 * t49; + const double t125 = t56 * t123 + t40 * t42 + 0.1e1; + const double t133 = b * sigma; + const double t137 = 0.1e1 + 0.81e2 / 0.4e1 * t130 * t131 * t133 * t28; + const double t138 = 0.1e1 / t137; + const double t139 = t125 * t138; + const double t140 = safe_math::sqrt( t139 ); + const double t145 = 0.1e1 / t25; + const double t146 = t18 * t145; + const double t150 = t7 * t18; + const double t151 = 0.1e1 / t140; + const double t152 = t19 * t151; + const double t154 = a / t31; + const double t155 = t154 * t39; + const double t156 = t63 * t24; + const double t158 = 0.1e1 / t19 / t156; + const double t159 = t158 * a1; + const double t164 = 0.1e1 / t38 / t35; + const double t165 = t32 * t164; + const double t166 = t158 * b1; + const double t171 = 0.1e1 / t25 / t71; + const double t172 = t41 * t171; + const double t175 = a2 * t48; + const double t179 = -0.8e1 / 0.3e1 * t172 + 0.5e1 / 0.3e1 * t44 * t27; + const double t184 = 0.1e1 / t52 / t51; + const double t185 = t50 * t184; + const double t189 = b * ( 0.2e1 * t175 * t53 * t179 + 0.16e2 / 0.3e1 * t185 * t172 ); + const double t191 = t56 * t60; + const double t192 = t62 * t158; + const double t195 = 0.1e1 / t19 / t63; + const double t196 = t70 * t195; + const double t198 = 0.1e1 / t85; + const double t199 = 0.32e2 / 0.3e1 * t192; + const double t200 = 0.2e2 / 0.3e1 * t196; + const double t201 = -t199 + t200; + const double t204 = 0.1e1 / t89; + const double t207 = 0.1e1 / t100; + const double t216 = t89 * t86; + const double t220 = t110 * t110; + const double t221 = 0.1e1 / t220; + const double t222 = piecewise_functor_3( t105, t201, 0.0 ); + const double t223 = 0.1e1 / t109; + const double t224 = t223 * t106; + const double t226 = t224 * t222 + t222; + const double t228 = piecewise_functor_5( t79, 0.64e2 / 0.3e1 * t192 - 0.4e2 / 0.3e1 * t196 + t198 * t201 / 0.2e1 - 0.3e1 / 0.8e1 * t204 * t201 + 0.5e1 / 0.16e2 * t207 * t201, t97, t199 - t200 + t76 * t201 - t86 * t201 / 0.2e1 + 0.3e1 / 0.8e1 * t90 * t201 - 0.5e1 / 0.16e2 * t216 * t201, -t221 * t226 ); + const double t229 = t228 * t121; + const double t230 = t229 * t49; + const double t232 = t119 * t119; + const double t233 = 0.1e1 / t232; + const double t234 = t114 * t233; + const double t235 = t56 * t234; + const double t236 = t49 * t115; + const double t237 = t60 * t228; + const double t238 = t236 * t237; + const double t241 = t56 * t114; + const double t242 = t121 * t48; + const double t243 = t242 * t179; + const double t246 = -0.8e1 / 0.3e1 * t155 * t62 * t159 + 0.4e1 * t165 * t62 * t166 - 0.8e1 / 0.3e1 * t40 * t172 + t189 * t123 + t191 * t230 - 0.3e1 * t235 * t238 + 0.2e1 * t241 * t243; + const double t248 = t137 * t137; + const double t249 = 0.1e1 / t248; + const double t251 = t125 * t249 * t130; + const double t253 = t252 * t172; + const double t256 = t246 * t138 + 0.54e2 * t251 * t253; + const double t261 = piecewise_functor_3( t3, 0.0, -t7 * t146 * t140 / 0.8e1 - 0.3e1 / 0.16e2 * t150 * t152 * t256 ); + const double t264 = sigma * t22; + const double t272 = t39 * t23; + const double t275 = t53 * t23; + const double t276 = t275 * t27; + const double t278 = t184 * t23; + const double t279 = t278 * t27; + const double t283 = b * ( 0.2e1 * t175 * t276 - 0.2e1 * t50 * t279 ); + const double t285 = t264 * t66; + const double t287 = t198 * sigma; + const double t288 = t22 * t66; + const double t291 = t204 * sigma; + const double t294 = t207 * sigma; + const double t298 = 0.4e1 * t285; + const double t299 = t76 * sigma; + const double t302 = t86 * sigma; + const double t305 = t90 * sigma; + const double t308 = t216 * sigma; + const double t312 = piecewise_functor_3( t105, t298, 0.0 ); + const double t314 = t224 * t312 + t312; + const double t316 = piecewise_functor_5( t79, -0.8e1 * t285 + 0.2e1 * t287 * t288 - 0.3e1 / 0.2e1 * t291 * t288 + 0.5e1 / 0.4e1 * t294 * t288, t97, -t298 + 0.4e1 * t299 * t288 - 0.2e1 * t302 * t288 + 0.3e1 / 0.2e1 * t305 * t288 - 0.5e1 / 0.4e1 * t308 * t288, -t221 * t314 ); + const double t317 = t316 * t121; + const double t318 = t317 * t49; + const double t320 = t60 * t316; + const double t321 = t236 * t320; + const double t324 = t242 * t28; + const double t325 = t241 * t324; + const double t327 = t155 * t264 * t66 * a1 - 0.3e1 / 0.2e1 * t165 * t264 * t66 * b1 + t32 * t272 * t27 + t283 * t123 + t191 * t318 - 0.3e1 * t235 * t321 + 0.2e1 * t325; + const double t329 = t252 * t28; + const double t332 = t327 * t138 - 0.81e2 / 0.4e1 * t251 * t329; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.16e2 * t150 * t152 * t332 ); + const double t339 = t49 * t48; + const double t340 = t339 * t53; + const double t341 = t338 * t340; + const double t342 = t23 * t46; + const double t343 = t342 * t122; + const double t346 = lapl * t22; + const double t347 = t346 * t73; + const double t349 = t198 * lapl; + const double t350 = t22 * t73; + const double t353 = t204 * lapl; + const double t356 = t207 * lapl; + const double t360 = 0.4e1 * t347; + const double t361 = t76 * lapl; + const double t364 = t86 * lapl; + const double t367 = t90 * lapl; + const double t370 = t216 * lapl; + const double t374 = piecewise_functor_3( t105, -t360, 0.0 ); + const double t376 = t224 * t374 + t374; + const double t378 = piecewise_functor_5( t79, 0.8e1 * t347 - 0.2e1 * t349 * t350 + 0.3e1 / 0.2e1 * t353 * t350 - 0.5e1 / 0.4e1 * t356 * t350, t97, t360 - 0.4e1 * t361 * t350 + 0.2e1 * t364 * t350 - 0.3e1 / 0.2e1 * t367 * t350 + 0.5e1 / 0.4e1 * t370 * t350, -t221 * t376 ); + const double t379 = t378 * t121; + const double t380 = t379 * t49; + const double t382 = t60 * t378; + const double t383 = t236 * t382; + const double t386 = t242 * t342; + const double t389 = t191 * t380 - 0.3e1 * t235 * t383 - 0.2e1 * t241 * t386 - 0.2e1 * t341 * t343; + const double t390 = t389 * t138; + const double t394 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.16e2 * t150 * t152 * t390 ); + const double t397 = t18 * t46; + const double t401 = t145 * t151; + const double t406 = 0.1e1 / t140 / t139; + const double t407 = t19 * t406; + const double t408 = t256 * t256; + const double t412 = t179 * t179; + const double t413 = a2 * t412; + const double t416 = t175 * t184; + const double t417 = t179 * sigma; + const double t418 = t23 * t171; + const double t423 = 0.1e1 / t25 / t63; + const double t424 = t41 * t423; + const double t428 = 0.88e2 / 0.9e1 * t424 - 0.4e2 / 0.9e1 * t44 * t171; + const double t429 = t53 * t428; + const double t432 = t52 * t52; + const double t433 = 0.1e1 / t432; + const double t434 = t50 * t433; + const double t435 = t63 * t71; + const double t437 = 0.1e1 / t19 / t435; + const double t438 = t62 * t437; + const double t444 = b * ( 0.2e1 * t413 * t53 + 0.64e2 / 0.3e1 * t416 * t417 * t418 + 0.2e1 * t175 * t429 + 0.256e3 / 0.3e1 * t434 * t438 - 0.176e3 / 0.9e1 * t185 * t424 ); + const double t448 = t48 * t179; + const double t449 = t229 * t448; + const double t452 = t154 * t164; + const double t453 = t61 * sigma; + const double t454 = t63 * t63; + const double t455 = t454 * t24; + const double t456 = 0.1e1 / t455; + const double t457 = t453 * t456; + const double t462 = t189 * t234; + const double t466 = t70 * t66; + const double t468 = t201 * t201; + const double t470 = 0.608e3 / 0.9e1 * t438; + const double t471 = 0.26e3 / 0.9e1 * t466; + const double t472 = t470 - t471; + const double t479 = 0.1e1 / t216; + const double t500 = 0.1e1 / t220 / t110; + const double t501 = t226 * t226; + const double t504 = piecewise_functor_3( t105, t472, 0.0 ); + const double t506 = 0.1e1 / t109 / t108; + const double t507 = t506 * t107; + const double t508 = t222 * t222; + const double t512 = t223 * t508 + t224 * t504 - t507 * t508 + t504; + const double t515 = piecewise_functor_5( t79, -0.1216e4 / 0.9e1 * t438 + 0.52e3 / 0.9e1 * t466 - t87 * t468 + t198 * t472 / 0.2e1 + 0.3e1 / 0.2e1 * t91 * t468 - 0.3e1 / 0.8e1 * t204 * t472 - 0.15e2 / 0.8e1 * t479 * t468 + 0.5e1 / 0.16e2 * t207 * t472, t97, -t470 + t471 + t468 + t76 * t472 - 0.3e1 / 0.2e1 * t85 * t468 - t86 * t472 / 0.2e1 + 0.15e2 / 0.8e1 * t89 * t468 + 0.3e1 / 0.8e1 * t90 * t472 - 0.35e2 / 0.16e2 * t100 * t468 - 0.5e1 / 0.16e2 * t216 * t472, -t221 * t512 + 0.2e1 * t500 * t501 ); + const double t516 = t60 * t515; + const double t517 = t236 * t516; + const double t528 = t60 * t60; + const double t529 = t56 * t528; + const double t530 = t228 * t228; + const double t531 = t530 * t233; + const double t532 = t531 * t236; + const double t535 = t48 * t115; + const double t537 = t535 * t237 * t179; + const double t541 = 0.1e1 / t232 / t118; + const double t542 = t114 * t541; + const double t543 = t56 * t542; + const double t545 = t49 * t544; + const double t546 = t528 * t530; + const double t547 = t545 * t546; + const double t550 = t515 * t121; + const double t551 = t550 * t49; + const double t553 = t122 * t412; + const double t556 = t242 * t428; + const double t561 = a / t31 / t30; + const double t562 = t561 * t39; + const double t567 = t35 * t35; + const double t569 = 0.1e1 / t38 / t567; + const double t570 = t32 * t569; + const double t575 = t189 * t114; + const double t578 = t189 * t60; + const double t581 = t444 * t123 + 0.88e2 / 0.9e1 * t40 * t424 + 0.4e1 * t191 * t449 - 0.64e2 / 0.3e1 * t452 * t457 * t458 - 0.6e1 * t462 * t238 - 0.3e1 * t235 * t517 - 0.36e2 * t165 * t62 * t437 * b1 + 0.24e2 * t155 * t62 * t437 * a1 - 0.6e1 * t529 * t532 - 0.12e2 * t235 * t537 + 0.12e2 * t543 * t547 + t191 * t551 + 0.2e1 * t56 * t553 + 0.2e1 * t241 * t556 - 0.64e2 / 0.9e1 * t562 * t457 * t563 + 0.112e3 / 0.3e1 * t570 * t457 * t571 + 0.4e1 * t575 * t243 + 0.2e1 * t578 * t230; + const double t584 = t246 * t249 * t130; + const double t588 = 0.1e1 / t248 / t137; + const double t592 = t125 * t588 * t591; + const double t596 = t595 * t438; + const double t599 = t252 * t424; + const double t602 = t581 * t138 - 0.198e3 * t251 * t599 + 0.108e3 * t584 * t253 + 0.34992e5 * t592 * t596; + const double t607 = piecewise_functor_3( t3, 0.0, t7 * t397 * t140 / 0.12e2 - t150 * t401 * t256 / 0.8e1 + 0.3e1 / 0.32e2 * t150 * t407 * t408 - 0.3e1 / 0.16e2 * t150 * t152 * t602 ); + const double t613 = t332 * t256; + const double t617 = a2 * t179; + const double t620 = t264 * t158; + const double t623 = t275 * t171; + const double t631 = t278 * t171; + const double t635 = b * ( 0.2e1 * t617 * t276 + 0.64e2 / 0.3e1 * t416 * t620 - 0.16e2 / 0.3e1 * t175 * t623 - 0.4e1 * t416 * t28 * t179 - 0.32e2 * t434 * t620 + 0.16e2 / 0.3e1 * t50 * t631 ); + const double t637 = t317 * t448; + const double t640 = t575 * t324; + const double t642 = t121 * t179; + const double t643 = t642 * t28; + const double t644 = t241 * t643; + const double t646 = t454 * rho; + const double t647 = 0.1e1 / t646; + const double t648 = t61 * t647; + const double t652 = t234 * t48; + const double t653 = t56 * t652; + const double t654 = t116 * t228; + const double t655 = t28 * t654; + const double t656 = t653 * t655; + const double t661 = t87 * sigma; + const double t662 = t201 * t22; + const double t663 = t662 * t66; + const double t666 = t22 * t158; + const double t669 = t91 * sigma; + const double t674 = t479 * sigma; + const double t680 = 0.64e2 / 0.3e1 * t620; + const double t681 = t201 * sigma; + const double t686 = t85 * sigma; + const double t691 = t89 * sigma; + const double t696 = t100 * sigma; + const double t702 = t500 * t314; + const double t705 = piecewise_functor_3( t105, -t680, 0.0 ); + const double t706 = t312 * t222; + const double t708 = t223 * t222; + const double t711 = t224 * t705 + t708 * t312 - t507 * t706 + t705; + const double t714 = piecewise_functor_5( t79, 0.128e3 / 0.3e1 * t620 - 0.4e1 * t661 * t663 - 0.32e2 / 0.3e1 * t287 * t666 + 0.6e1 * t669 * t663 + 0.8e1 * t291 * t666 - 0.15e2 / 0.2e1 * t674 * t663 - 0.2e2 / 0.3e1 * t294 * t666, t97, t680 + 0.4e1 * t681 * t288 - 0.64e2 / 0.3e1 * t299 * t666 - 0.6e1 * t686 * t663 + 0.32e2 / 0.3e1 * t302 * t666 + 0.15e2 / 0.2e1 * t691 * t663 - 0.8e1 * t305 * t666 - 0.35e2 / 0.4e1 * t696 * t663 + 0.2e2 / 0.3e1 * t308 * t666, -t221 * t711 + 0.2e1 * t702 * t226 ); + const double t715 = t60 * t714; + const double t716 = t236 * t715; + const double t719 = t242 * t418; + const double t720 = t241 * t719; + const double t722 = t56 * t237; + const double t723 = t722 * t324; + const double t725 = t528 * t316; + const double t726 = t56 * t725; + const double t727 = t233 * t49; + const double t728 = t115 * t228; + const double t729 = t727 * t728; + const double t732 = t635 * t123 + 0.2e1 * t191 * t637 + 0.2e1 * t640 + 0.2e1 * t644 + 0.8e1 * t452 * t648 * t458 - 0.6e1 * t656 - 0.3e1 * t462 * t321 - 0.3e1 * t235 * t716 - 0.16e2 / 0.3e1 * t720 + 0.2e1 * t723 - 0.6e1 * t726 * t729; + const double t733 = t320 * t179; + const double t734 = t535 * t733; + const double t737 = t725 * t228; + const double t738 = t545 * t737; + const double t741 = t283 * t114; + const double t744 = t283 * t60; + const double t747 = t714 * t121; + const double t748 = t747 * t49; + const double t765 = t283 * t234; + const double t768 = -0.6e1 * t235 * t734 + 0.12e2 * t543 * t738 + 0.2e1 * t741 * t243 + t744 * t230 + t578 * t318 + t191 * t748 + 0.8e1 / 0.3e1 * t562 * t648 * t563 - 0.14e2 * t570 * t648 * t571 - 0.8e1 / 0.3e1 * t32 * t272 * t171 - 0.8e1 * t155 * t264 * t159 + 0.12e2 * t165 * t264 * t166 - 0.3e1 * t765 * t238; + const double t769 = t732 + t768; + const double t772 = t327 * t249 * t130; + const double t777 = t595 * t620; + const double t780 = t252 * t418; + const double t783 = t769 * t138 + 0.54e2 * t772 * t253 - 0.81e2 / 0.4e1 * t584 * t329 - 0.13122e5 * t592 * t777 + 0.54e2 * t251 * t780; + const double t788 = piecewise_functor_3( t3, 0.0, -t150 * t401 * t332 / 0.16e2 + 0.3e1 / 0.32e2 * t150 * t407 * t613 - 0.3e1 / 0.16e2 * t150 * t152 * t783 ); + const double t794 = t7 * t20; + const double t795 = t406 * t389; + const double t796 = t138 * t256; + const double t797 = t795 * t796; + const double t800 = t49 * t53; + const double t801 = t338 * t800; + const double t802 = t122 * t179; + const double t806 = t339 * t184; + const double t807 = t338 * t806; + const double t808 = t122 * sigma; + const double t815 = t237 * t121; + const double t820 = t338 * t340 * t23; + const double t821 = t46 * t114; + const double t822 = t821 * t233; + const double t827 = t346 * t195; + const double t829 = t87 * lapl; + const double t830 = t662 * t73; + const double t833 = t22 * t195; + const double t836 = t91 * lapl; + const double t841 = t479 * lapl; + const double t847 = 0.4e2 / 0.3e1 * t827; + const double t848 = t201 * lapl; + const double t853 = t85 * lapl; + const double t858 = t89 * lapl; + const double t863 = t100 * lapl; + const double t869 = t500 * t376; + const double t872 = piecewise_functor_3( t105, t847, 0.0 ); + const double t873 = t374 * t222; + const double t877 = t224 * t872 + t708 * t374 - t507 * t873 + t872; + const double t880 = piecewise_functor_5( t79, -0.8e2 / 0.3e1 * t827 + 0.4e1 * t829 * t830 + 0.2e2 / 0.3e1 * t349 * t833 - 0.6e1 * t836 * t830 - 0.5e1 * t353 * t833 + 0.15e2 / 0.2e1 * t841 * t830 + 0.25e2 / 0.6e1 * t356 * t833, t97, -t847 - 0.4e1 * t848 * t350 + 0.4e2 / 0.3e1 * t361 * t833 + 0.6e1 * t853 * t830 - 0.2e2 / 0.3e1 * t364 * t833 - 0.15e2 / 0.2e1 * t858 * t830 + 0.5e1 * t367 * t833 + 0.35e2 / 0.4e1 * t863 * t830 - 0.25e2 / 0.6e1 * t370 * t833, -t221 * t877 + 0.2e1 * t869 * t226 ); + const double t881 = t880 * t121; + const double t882 = t881 * t49; + const double t884 = t528 * t378; + const double t885 = t56 * t884; + const double t888 = t379 * t448; + const double t893 = t884 * t228; + const double t894 = t545 * t893; + const double t897 = t382 * t179; + const double t898 = t535 * t897; + const double t901 = t60 * t880; + const double t902 = t236 * t901; + const double t909 = t342 * t654; + const double t912 = t642 * t342; + const double t916 = -0.6e1 * t801 * t342 * t802 - 0.64e2 / 0.3e1 * t807 * t288 * t808 + 0.1e2 / 0.3e1 * t341 * t28 * t122 - 0.2e1 * t341 * t342 * t815 + 0.6e1 * t820 * t822 * t654 + t578 * t380 + t191 * t882 - 0.6e1 * t885 * t729 + 0.2e1 * t191 * t888 - 0.3e1 * t462 * t383 + 0.12e2 * t543 * t894 - 0.6e1 * t235 * t898 - 0.3e1 * t235 * t902 - 0.2e1 * t575 * t386 - 0.2e1 * t722 * t386 + 0.6e1 * t653 * t909 - 0.2e1 * t241 * t912 + 0.1e2 / 0.3e1 * t325; + const double t917 = t916 * t138; + const double t921 = t6 * t18; + const double t922 = t73 * t151; + const double t924 = t921 * t922 * t389; + const double t925 = t249 * t129; + const double t926 = t925 * t131; + const double t927 = t133 * t23; + const double t928 = t926 * t927; + const double t932 = piecewise_functor_3( t3, 0.0, -t150 * t401 * t390 / 0.16e2 + 0.3e1 / 0.32e2 * t794 * t797 - 0.3e1 / 0.16e2 * t150 * t152 * t917 - 0.243e3 / 0.8e1 * t924 * t928 ); + const double t935 = t332 * t332; + const double t939 = t56 * t320; + const double t940 = t939 * t324; + const double t943 = t87 * t61; + const double t945 = 0.1e1 / t25 / t455; + const double t946 = t23 * t945; + const double t949 = t198 * t22; + const double t950 = t949 * t66; + const double t952 = t91 * t61; + const double t955 = t204 * t22; + const double t956 = t955 * t66; + const double t958 = t479 * t61; + const double t961 = t207 * t22; + const double t962 = t961 * t66; + const double t965 = 0.4e1 * t288; + const double t966 = t61 * t23; + const double t969 = t76 * t22; + const double t970 = t969 * t66; + const double t972 = t85 * t61; + const double t975 = t86 * t22; + const double t976 = t975 * t66; + const double t978 = t89 * t61; + const double t981 = t90 * t22; + const double t982 = t981 * t66; + const double t984 = t100 * t61; + const double t987 = t216 * t22; + const double t988 = t987 * t66; + const double t991 = t314 * t314; + const double t994 = piecewise_functor_3( t105, t965, 0.0 ); + const double t995 = t312 * t312; + const double t999 = t223 * t995 + t224 * t994 - t507 * t995 + t994; + const double t1002 = piecewise_functor_5( t79, -0.8e1 * t288 - 0.16e2 * t943 * t946 + 0.2e1 * t950 + 0.24e2 * t952 * t946 - 0.3e1 / 0.2e1 * t956 - 0.3e2 * t958 * t946 + 0.5e1 / 0.4e1 * t962, t97, -t965 + 0.16e2 * t966 * t945 + 0.4e1 * t970 - 0.24e2 * t972 * t946 - 0.2e1 * t976 + 0.3e2 * t978 * t946 + 0.3e1 / 0.2e1 * t982 - 0.35e2 * t984 * t946 - 0.5e1 / 0.4e1 * t988, -t221 * t999 + 0.2e1 * t500 * t991 ); + const double t1003 = t60 * t1002; + const double t1004 = t236 * t1003; + const double t1011 = t184 * t22; + const double t1012 = t1011 * t66; + const double t1015 = t433 * t22; + const double t1016 = t1015 * t66; + const double t1020 = b * ( 0.4e1 * t1007 * t66 * t53 - 0.16e2 * t175 * t1012 + 0.12e2 * t50 * t1016 ); + const double t1027 = 0.1e1 / t454; + const double t1028 = sigma * t1027; + const double t1035 = t741 * t324; + const double t1037 = t121 * t22; + const double t1038 = t1037 * t66; + const double t1039 = t241 * t1038; + const double t1048 = t1002 * t121; + const double t1049 = t1048 * t49; + const double t1051 = t316 * t23; + const double t1052 = t1051 * t27; + const double t1053 = t116 * t1052; + const double t1054 = t653 * t1053; + const double t1056 = t316 * t316; + const double t1057 = t1056 * t233; + const double t1058 = t1057 * t236; + const double t1061 = t528 * t1056; + const double t1062 = t545 * t1061; + const double t1065 = 0.4e1 * t940 - 0.3e1 * t235 * t1004 + t1020 * t123 - 0.6e1 * t765 * t321 + 0.2e1 * t155 * t288 * a1 - 0.3e1 * t452 * t1028 * t458 - 0.3e1 * t165 * t288 * b1 + 0.4e1 * t1035 + 0.4e1 * t1039 - t562 * t1028 * t563 + 0.21e2 / 0.4e1 * t570 * t1028 * t571 + 0.2e1 * t744 * t318 + t191 * t1049 - 0.12e2 * t1054 - 0.6e1 * t529 * t1058 + 0.12e2 * t543 * t1062; + const double t1069 = t595 * t288; + const double t1072 = t1065 * t138 - 0.81e2 / 0.2e1 * t772 * t329 + 0.19683e5 / 0.4e1 * t592 * t1069; + const double t1077 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.32e2 * t150 * t407 * t935 - 0.3e1 / 0.16e2 * t150 * t152 * t1072 ); + const double t1079 = t138 * t332; + const double t1080 = t795 * t1079; + const double t1083 = t833 * t122; + const double t1084 = t801 * t1083; + const double t1088 = t320 * t121; + const double t1092 = t116 * t316; + const double t1098 = 0.1e1 / t25 / t454; + const double t1099 = t41 * t1098; + const double t1119 = piecewise_functor_3( t105, 0.0, 0.0 ); + const double t1120 = t374 * t312; + const double t1122 = t223 * t312; + const double t1124 = t224 * t1119; + const double t1125 = -t507 * t1120 + t1122 * t374 + t1119 + t1124; + const double t1128 = piecewise_functor_5( t79, 0.16e2 * t829 * t1099 - 0.24e2 * t836 * t1099 + 0.3e2 * t841 * t1099, t97, -0.16e2 * t41 * t1098 * lapl + 0.24e2 * t853 * t1099 - 0.3e2 * t858 * t1099 + 0.35e2 * t863 * t1099, -t221 * t1125 + 0.2e1 * t869 * t314 ); + const double t1129 = t1128 * t121; + const double t1130 = t1129 * t49; + const double t1132 = t115 * t316; + const double t1133 = t727 * t1132; + const double t1136 = t56 * t382; + const double t1137 = t1136 * t324; + const double t1141 = t884 * t316; + const double t1142 = t545 * t1141; + const double t1145 = t378 * t23; + const double t1146 = t1145 * t27; + const double t1147 = t116 * t1146; + const double t1148 = t653 * t1147; + const double t1150 = t60 * t1128; + const double t1151 = t236 * t1150; + const double t1158 = t342 * t1092; + const double t1161 = t1037 * t195; + const double t1162 = t241 * t1161; + const double t1164 = -0.2e1 * t341 * t342 * t1088 + 0.6e1 * t820 * t822 * t1092 + 0.8e1 * t807 * t1083 + t191 * t1130 - 0.6e1 * t885 * t1133 + 0.12e2 * t543 * t1142 - 0.3e1 * t235 * t1151 + 0.6e1 * t653 * t1158 + t744 * t380 - 0.3e1 * t765 * t383 - 0.2e1 * t741 * t386 - 0.2e1 * t939 * t386 - 0.12e2 * t1084 + 0.2e1 * t1137 - 0.6e1 * t1148 - 0.4e1 * t1162; + const double t1165 = t1164 * t138; + const double t1170 = 0.1e1 / t19 / t24; + const double t1171 = t1170 * t151; + const double t1175 = t925 * t1174; + const double t1179 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.32e2 * t794 * t1080 - 0.3e1 / 0.16e2 * t150 * t152 * t1165 + 0.729e3 / 0.64e2 * t921 * t1171 * t389 * t1175 ); + const double t1181 = t389 * t389; + const double t1182 = t1181 * t249; + const double t1186 = t350 * t122; + const double t1189 = t382 * t121; + const double t1193 = t116 * t378; + const double t1198 = t87 * t69; + const double t1200 = 0.1e1 / t25 / t156; + const double t1201 = t23 * t1200; + const double t1206 = t91 * t69; + const double t1211 = t479 * t69; + const double t1217 = 0.4e1 * t350; + const double t1218 = t69 * t23; + const double t1223 = t85 * t69; + const double t1228 = t89 * t69; + const double t1233 = t100 * t69; + const double t1239 = t376 * t376; + const double t1242 = piecewise_functor_3( t105, -t1217, 0.0 ); + const double t1243 = t374 * t374; + const double t1247 = t224 * t1242 + t223 * t1243 - t507 * t1243 + t1242; + const double t1250 = piecewise_functor_5( t79, 0.8e1 * t350 - 0.16e2 * t1198 * t1201 - 0.2e1 * t949 * t73 + 0.24e2 * t1206 * t1201 + 0.3e1 / 0.2e1 * t955 * t73 - 0.3e2 * t1211 * t1201 - 0.5e1 / 0.4e1 * t961 * t73, t97, t1217 + 0.16e2 * t1218 * t1200 - 0.4e1 * t969 * t73 - 0.24e2 * t1223 * t1201 + 0.2e1 * t975 * t73 + 0.3e2 * t1228 * t1201 - 0.3e1 / 0.2e1 * t981 * t73 - 0.35e2 * t1233 * t1201 + 0.5e1 / 0.4e1 * t987 * t73, 0.2e1 * t500 * t1239 - t221 * t1247 ); + const double t1251 = t1250 * t121; + const double t1252 = t1251 * t49; + const double t1254 = t378 * t378; + const double t1255 = t1254 * t233; + const double t1256 = t1255 * t236; + const double t1261 = t528 * t1254; + const double t1262 = t545 * t1261; + const double t1265 = t1145 * t46; + const double t1266 = t116 * t1265; + const double t1269 = t60 * t1250; + const double t1270 = t236 * t1269; + const double t1273 = t1037 * t73; + const double t1276 = -0.4e1 * t341 * t342 * t1189 + 0.12e2 * t820 * t822 * t1193 - 0.4e1 * t1136 * t386 + 0.2e2 * t801 * t1186 + t191 * t1252 - 0.6e1 * t529 * t1256 + 0.12e2 * t543 * t1262 + 0.12e2 * t653 * t1266 - 0.3e1 * t235 * t1270 + 0.4e1 * t241 * t1273; + const double t1277 = t1276 * t138; + const double t1282 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.32e2 * t150 * t407 * t1182 - 0.3e1 / 0.16e2 * t150 * t152 * t1277 ); + + + v2rho2 = 0.2e1 * rho * t607 + 0.4e1 * t261; + v2rhosigma = 0.2e1 * rho * t788 + 0.2e1 * t336; + v2rholapl = 0.2e1 * rho * t932 + 0.2e1 * t394; + v2rhotau = 0.e0; + v2sigma2 = 0.2e1 * rho * t1077; + v2sigmalapl = 0.2e1 * rho * t1179; + v2sigmatau = 0.e0; + v2lapl2 = 0.2e1 * rho * t1282; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(tau); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_2; + constexpr double t127 = constants::m_one_ov_pi; + constexpr double t128 = constants::m_cbrt_one_ov_pi; + constexpr double t131 = constants::m_cbrt_4; + constexpr double t6 = 0.1e1 / t5; + constexpr double t7 = t4 * t6; + constexpr double t23 = t22 * t22; + constexpr double t57 = b2 * b2; + constexpr double t115 = t22 - 0.1e1; + constexpr double t126 = t4 * t4; + constexpr double t129 = t128 * t128; + constexpr double t130 = t126 * t129; + constexpr double t252 = t131 * b; + constexpr double t338 = b * a2; + constexpr double t458 = a1 * b1; + constexpr double t544 = t115 * t115; + constexpr double t563 = a1 * a1; + constexpr double t571 = b1 * b1; + constexpr double t590 = t128 * t127; + constexpr double t591 = t4 * t590; + constexpr double t593 = t131 * t131; + constexpr double t594 = b * b; + constexpr double t595 = t593 * t594; + constexpr double t1007 = a2 * t22; + constexpr double t1174 = t252 * t23; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = a1 * sigma; + const double t24 = rho * rho; + const double t25 = t19 * t19; + const double t27 = 0.1e1 / t25 / t24; + const double t28 = t23 * t27; + const double t30 = t21 * t28 + 0.1e1; + const double t31 = safe_math::sqrt( t30 ); + const double t32 = a * t31; + const double t33 = b1 * sigma; + const double t35 = t33 * t28 + 0.1e1; + const double t36 = pow_1_4( t35 ); + const double t37 = t36 * t36; + const double t38 = t37 * t36; + const double t39 = 0.1e1 / t38; + const double t40 = t32 * t39; + const double t41 = sigma * t23; + const double t42 = t41 * t27; + const double t44 = lapl * t23; + const double t46 = 0.1e1 / t25 / rho; + const double t48 = -t44 * t46 + t42; + const double t49 = t48 * t48; + const double t50 = a2 * t49; + const double t51 = 0.1e1 + t42; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t56 = b * ( t50 * t53 + 0.1e1 ); + const double t59 = safe_math::sqrt( t57 + 0.1e1 ); + const double t60 = t59 - b2; + const double t61 = sigma * sigma; + const double t62 = t61 * t22; + const double t63 = t24 * t24; + const double t64 = t63 * rho; + const double t66 = 0.1e1 / t19 / t64; + const double t67 = t62 * t66; + const double t68 = 0.2e1 * t67; + const double t69 = lapl * lapl; + const double t70 = t69 * t22; + const double t71 = t24 * rho; + const double t73 = 0.1e1 / t19 / t71; + const double t74 = t70 * t73; + const double t75 = 0.2e1 * t74; + const double t76 = t68 - t75 - b2; + const double t77 = pow_1_4( DBL_EPSILON ); + const double t78 = 0.1e1 / t77; + const double t79 = t76 < -t78; + const double t85 = t76 * t76; + const double t86 = t85 * t76; + const double t87 = 0.1e1 / t86; + const double t89 = t85 * t85; + const double t90 = t89 * t76; + const double t91 = 0.1e1 / t90; + const double t96 = piecewise_functor_3( 0.e0 < t76, t76, -t76 ); + const double t97 = t96 < t77; + const double t100 = t89 * t85; + const double t102 = t89 * t89; + const double t105 = -t78 < t76; + const double t106 = piecewise_functor_3( t105, t76, -t78 ); + const double t107 = t106 * t106; + const double t108 = 0.1e1 + t107; + const double t109 = safe_math::sqrt( t108 ); + const double t110 = t106 + t109; + const double t112 = piecewise_functor_5( t79, -0.4e1 * t67 + 0.4e1 * t74 + 0.2e1 * b2 - 0.1e1 / t76 / 0.2e1 + t87 / 0.8e1 - t91 / 0.16e2, t97, 0.1e1 - t68 + t75 + b2 + t85 / 0.2e1 - t89 / 0.8e1 + t100 / 0.16e2 - 0.5e1 / 0.128e3 * t102, 0.1e1 / t110 ); + const double t114 = t60 * t112 + 0.1e1; + const double t116 = t115 * t60; + const double t118 = t116 * t112 + 0.1e1; + const double t119 = t118 * t118; + const double t120 = t119 * t118; + const double t121 = 0.1e1 / t120; + const double t122 = t114 * t121; + const double t123 = t122 * t49; + const double t125 = t56 * t123 + t40 * t42 + 0.1e1; + const double t133 = b * sigma; + const double t137 = 0.1e1 + 0.81e2 / 0.4e1 * t130 * t131 * t133 * t28; + const double t138 = 0.1e1 / t137; + const double t139 = t125 * t138; + const double t140 = safe_math::sqrt( t139 ); + const double t144 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t140 ); + const double t145 = 0.1e1 / t25; + const double t146 = t18 * t145; + const double t150 = t7 * t18; + const double t151 = 0.1e1 / t140; + const double t152 = t19 * t151; + const double t154 = a / t31; + const double t155 = t154 * t39; + const double t156 = t63 * t24; + const double t158 = 0.1e1 / t19 / t156; + const double t159 = t158 * a1; + const double t164 = 0.1e1 / t38 / t35; + const double t165 = t32 * t164; + const double t166 = t158 * b1; + const double t171 = 0.1e1 / t25 / t71; + const double t172 = t41 * t171; + const double t175 = a2 * t48; + const double t179 = -0.8e1 / 0.3e1 * t172 + 0.5e1 / 0.3e1 * t44 * t27; + const double t184 = 0.1e1 / t52 / t51; + const double t185 = t50 * t184; + const double t189 = b * ( 0.2e1 * t175 * t53 * t179 + 0.16e2 / 0.3e1 * t185 * t172 ); + const double t191 = t56 * t60; + const double t192 = t62 * t158; + const double t195 = 0.1e1 / t19 / t63; + const double t196 = t70 * t195; + const double t198 = 0.1e1 / t85; + const double t199 = 0.32e2 / 0.3e1 * t192; + const double t200 = 0.2e2 / 0.3e1 * t196; + const double t201 = -t199 + t200; + const double t204 = 0.1e1 / t89; + const double t207 = 0.1e1 / t100; + const double t216 = t89 * t86; + const double t220 = t110 * t110; + const double t221 = 0.1e1 / t220; + const double t222 = piecewise_functor_3( t105, t201, 0.0 ); + const double t223 = 0.1e1 / t109; + const double t224 = t223 * t106; + const double t226 = t224 * t222 + t222; + const double t228 = piecewise_functor_5( t79, 0.64e2 / 0.3e1 * t192 - 0.4e2 / 0.3e1 * t196 + t198 * t201 / 0.2e1 - 0.3e1 / 0.8e1 * t204 * t201 + 0.5e1 / 0.16e2 * t207 * t201, t97, t199 - t200 + t76 * t201 - t86 * t201 / 0.2e1 + 0.3e1 / 0.8e1 * t90 * t201 - 0.5e1 / 0.16e2 * t216 * t201, -t221 * t226 ); + const double t229 = t228 * t121; + const double t230 = t229 * t49; + const double t232 = t119 * t119; + const double t233 = 0.1e1 / t232; + const double t234 = t114 * t233; + const double t235 = t56 * t234; + const double t236 = t49 * t115; + const double t237 = t60 * t228; + const double t238 = t236 * t237; + const double t241 = t56 * t114; + const double t242 = t121 * t48; + const double t243 = t242 * t179; + const double t246 = -0.8e1 / 0.3e1 * t155 * t62 * t159 + 0.4e1 * t165 * t62 * t166 - 0.8e1 / 0.3e1 * t40 * t172 + t189 * t123 + t191 * t230 - 0.3e1 * t235 * t238 + 0.2e1 * t241 * t243; + const double t248 = t137 * t137; + const double t249 = 0.1e1 / t248; + const double t251 = t125 * t249 * t130; + const double t253 = t252 * t172; + const double t256 = t246 * t138 + 0.54e2 * t251 * t253; + const double t261 = piecewise_functor_3( t3, 0.0, -t7 * t146 * t140 / 0.8e1 - 0.3e1 / 0.16e2 * t150 * t152 * t256 ); + const double t264 = sigma * t22; + const double t272 = t39 * t23; + const double t275 = t53 * t23; + const double t276 = t275 * t27; + const double t278 = t184 * t23; + const double t279 = t278 * t27; + const double t283 = b * ( 0.2e1 * t175 * t276 - 0.2e1 * t50 * t279 ); + const double t285 = t264 * t66; + const double t287 = t198 * sigma; + const double t288 = t22 * t66; + const double t291 = t204 * sigma; + const double t294 = t207 * sigma; + const double t298 = 0.4e1 * t285; + const double t299 = t76 * sigma; + const double t302 = t86 * sigma; + const double t305 = t90 * sigma; + const double t308 = t216 * sigma; + const double t312 = piecewise_functor_3( t105, t298, 0.0 ); + const double t314 = t224 * t312 + t312; + const double t316 = piecewise_functor_5( t79, -0.8e1 * t285 + 0.2e1 * t287 * t288 - 0.3e1 / 0.2e1 * t291 * t288 + 0.5e1 / 0.4e1 * t294 * t288, t97, -t298 + 0.4e1 * t299 * t288 - 0.2e1 * t302 * t288 + 0.3e1 / 0.2e1 * t305 * t288 - 0.5e1 / 0.4e1 * t308 * t288, -t221 * t314 ); + const double t317 = t316 * t121; + const double t318 = t317 * t49; + const double t320 = t60 * t316; + const double t321 = t236 * t320; + const double t324 = t242 * t28; + const double t325 = t241 * t324; + const double t327 = t155 * t264 * t66 * a1 - 0.3e1 / 0.2e1 * t165 * t264 * t66 * b1 + t32 * t272 * t27 + t283 * t123 + t191 * t318 - 0.3e1 * t235 * t321 + 0.2e1 * t325; + const double t329 = t252 * t28; + const double t332 = t327 * t138 - 0.81e2 / 0.4e1 * t251 * t329; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.16e2 * t150 * t152 * t332 ); + const double t339 = t49 * t48; + const double t340 = t339 * t53; + const double t341 = t338 * t340; + const double t342 = t23 * t46; + const double t343 = t342 * t122; + const double t346 = lapl * t22; + const double t347 = t346 * t73; + const double t349 = t198 * lapl; + const double t350 = t22 * t73; + const double t353 = t204 * lapl; + const double t356 = t207 * lapl; + const double t360 = 0.4e1 * t347; + const double t361 = t76 * lapl; + const double t364 = t86 * lapl; + const double t367 = t90 * lapl; + const double t370 = t216 * lapl; + const double t374 = piecewise_functor_3( t105, -t360, 0.0 ); + const double t376 = t224 * t374 + t374; + const double t378 = piecewise_functor_5( t79, 0.8e1 * t347 - 0.2e1 * t349 * t350 + 0.3e1 / 0.2e1 * t353 * t350 - 0.5e1 / 0.4e1 * t356 * t350, t97, t360 - 0.4e1 * t361 * t350 + 0.2e1 * t364 * t350 - 0.3e1 / 0.2e1 * t367 * t350 + 0.5e1 / 0.4e1 * t370 * t350, -t221 * t376 ); + const double t379 = t378 * t121; + const double t380 = t379 * t49; + const double t382 = t60 * t378; + const double t383 = t236 * t382; + const double t386 = t242 * t342; + const double t389 = t191 * t380 - 0.3e1 * t235 * t383 - 0.2e1 * t241 * t386 - 0.2e1 * t341 * t343; + const double t390 = t389 * t138; + const double t394 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.16e2 * t150 * t152 * t390 ); + const double t397 = t18 * t46; + const double t401 = t145 * t151; + const double t406 = 0.1e1 / t140 / t139; + const double t407 = t19 * t406; + const double t408 = t256 * t256; + const double t412 = t179 * t179; + const double t413 = a2 * t412; + const double t416 = t175 * t184; + const double t417 = t179 * sigma; + const double t418 = t23 * t171; + const double t423 = 0.1e1 / t25 / t63; + const double t424 = t41 * t423; + const double t428 = 0.88e2 / 0.9e1 * t424 - 0.4e2 / 0.9e1 * t44 * t171; + const double t429 = t53 * t428; + const double t432 = t52 * t52; + const double t433 = 0.1e1 / t432; + const double t434 = t50 * t433; + const double t435 = t63 * t71; + const double t437 = 0.1e1 / t19 / t435; + const double t438 = t62 * t437; + const double t444 = b * ( 0.2e1 * t413 * t53 + 0.64e2 / 0.3e1 * t416 * t417 * t418 + 0.2e1 * t175 * t429 + 0.256e3 / 0.3e1 * t434 * t438 - 0.176e3 / 0.9e1 * t185 * t424 ); + const double t448 = t48 * t179; + const double t449 = t229 * t448; + const double t452 = t154 * t164; + const double t453 = t61 * sigma; + const double t454 = t63 * t63; + const double t455 = t454 * t24; + const double t456 = 0.1e1 / t455; + const double t457 = t453 * t456; + const double t462 = t189 * t234; + const double t466 = t70 * t66; + const double t468 = t201 * t201; + const double t470 = 0.608e3 / 0.9e1 * t438; + const double t471 = 0.26e3 / 0.9e1 * t466; + const double t472 = t470 - t471; + const double t479 = 0.1e1 / t216; + const double t500 = 0.1e1 / t220 / t110; + const double t501 = t226 * t226; + const double t504 = piecewise_functor_3( t105, t472, 0.0 ); + const double t506 = 0.1e1 / t109 / t108; + const double t507 = t506 * t107; + const double t508 = t222 * t222; + const double t512 = t223 * t508 + t224 * t504 - t507 * t508 + t504; + const double t515 = piecewise_functor_5( t79, -0.1216e4 / 0.9e1 * t438 + 0.52e3 / 0.9e1 * t466 - t87 * t468 + t198 * t472 / 0.2e1 + 0.3e1 / 0.2e1 * t91 * t468 - 0.3e1 / 0.8e1 * t204 * t472 - 0.15e2 / 0.8e1 * t479 * t468 + 0.5e1 / 0.16e2 * t207 * t472, t97, -t470 + t471 + t468 + t76 * t472 - 0.3e1 / 0.2e1 * t85 * t468 - t86 * t472 / 0.2e1 + 0.15e2 / 0.8e1 * t89 * t468 + 0.3e1 / 0.8e1 * t90 * t472 - 0.35e2 / 0.16e2 * t100 * t468 - 0.5e1 / 0.16e2 * t216 * t472, -t221 * t512 + 0.2e1 * t500 * t501 ); + const double t516 = t60 * t515; + const double t517 = t236 * t516; + const double t528 = t60 * t60; + const double t529 = t56 * t528; + const double t530 = t228 * t228; + const double t531 = t530 * t233; + const double t532 = t531 * t236; + const double t535 = t48 * t115; + const double t537 = t535 * t237 * t179; + const double t541 = 0.1e1 / t232 / t118; + const double t542 = t114 * t541; + const double t543 = t56 * t542; + const double t545 = t49 * t544; + const double t546 = t528 * t530; + const double t547 = t545 * t546; + const double t550 = t515 * t121; + const double t551 = t550 * t49; + const double t553 = t122 * t412; + const double t556 = t242 * t428; + const double t561 = a / t31 / t30; + const double t562 = t561 * t39; + const double t567 = t35 * t35; + const double t569 = 0.1e1 / t38 / t567; + const double t570 = t32 * t569; + const double t575 = t189 * t114; + const double t578 = t189 * t60; + const double t581 = t444 * t123 + 0.88e2 / 0.9e1 * t40 * t424 + 0.4e1 * t191 * t449 - 0.64e2 / 0.3e1 * t452 * t457 * t458 - 0.6e1 * t462 * t238 - 0.3e1 * t235 * t517 - 0.36e2 * t165 * t62 * t437 * b1 + 0.24e2 * t155 * t62 * t437 * a1 - 0.6e1 * t529 * t532 - 0.12e2 * t235 * t537 + 0.12e2 * t543 * t547 + t191 * t551 + 0.2e1 * t56 * t553 + 0.2e1 * t241 * t556 - 0.64e2 / 0.9e1 * t562 * t457 * t563 + 0.112e3 / 0.3e1 * t570 * t457 * t571 + 0.4e1 * t575 * t243 + 0.2e1 * t578 * t230; + const double t584 = t246 * t249 * t130; + const double t588 = 0.1e1 / t248 / t137; + const double t592 = t125 * t588 * t591; + const double t596 = t595 * t438; + const double t599 = t252 * t424; + const double t602 = t581 * t138 - 0.198e3 * t251 * t599 + 0.108e3 * t584 * t253 + 0.34992e5 * t592 * t596; + const double t607 = piecewise_functor_3( t3, 0.0, t7 * t397 * t140 / 0.12e2 - t150 * t401 * t256 / 0.8e1 + 0.3e1 / 0.32e2 * t150 * t407 * t408 - 0.3e1 / 0.16e2 * t150 * t152 * t602 ); + const double t613 = t332 * t256; + const double t617 = a2 * t179; + const double t620 = t264 * t158; + const double t623 = t275 * t171; + const double t631 = t278 * t171; + const double t635 = b * ( 0.2e1 * t617 * t276 + 0.64e2 / 0.3e1 * t416 * t620 - 0.16e2 / 0.3e1 * t175 * t623 - 0.4e1 * t416 * t28 * t179 - 0.32e2 * t434 * t620 + 0.16e2 / 0.3e1 * t50 * t631 ); + const double t637 = t317 * t448; + const double t640 = t575 * t324; + const double t642 = t121 * t179; + const double t643 = t642 * t28; + const double t644 = t241 * t643; + const double t646 = t454 * rho; + const double t647 = 0.1e1 / t646; + const double t648 = t61 * t647; + const double t652 = t234 * t48; + const double t653 = t56 * t652; + const double t654 = t116 * t228; + const double t655 = t28 * t654; + const double t656 = t653 * t655; + const double t661 = t87 * sigma; + const double t662 = t201 * t22; + const double t663 = t662 * t66; + const double t666 = t22 * t158; + const double t669 = t91 * sigma; + const double t674 = t479 * sigma; + const double t680 = 0.64e2 / 0.3e1 * t620; + const double t681 = t201 * sigma; + const double t686 = t85 * sigma; + const double t691 = t89 * sigma; + const double t696 = t100 * sigma; + const double t702 = t500 * t314; + const double t705 = piecewise_functor_3( t105, -t680, 0.0 ); + const double t706 = t312 * t222; + const double t708 = t223 * t222; + const double t711 = t224 * t705 + t708 * t312 - t507 * t706 + t705; + const double t714 = piecewise_functor_5( t79, 0.128e3 / 0.3e1 * t620 - 0.4e1 * t661 * t663 - 0.32e2 / 0.3e1 * t287 * t666 + 0.6e1 * t669 * t663 + 0.8e1 * t291 * t666 - 0.15e2 / 0.2e1 * t674 * t663 - 0.2e2 / 0.3e1 * t294 * t666, t97, t680 + 0.4e1 * t681 * t288 - 0.64e2 / 0.3e1 * t299 * t666 - 0.6e1 * t686 * t663 + 0.32e2 / 0.3e1 * t302 * t666 + 0.15e2 / 0.2e1 * t691 * t663 - 0.8e1 * t305 * t666 - 0.35e2 / 0.4e1 * t696 * t663 + 0.2e2 / 0.3e1 * t308 * t666, -t221 * t711 + 0.2e1 * t702 * t226 ); + const double t715 = t60 * t714; + const double t716 = t236 * t715; + const double t719 = t242 * t418; + const double t720 = t241 * t719; + const double t722 = t56 * t237; + const double t723 = t722 * t324; + const double t725 = t528 * t316; + const double t726 = t56 * t725; + const double t727 = t233 * t49; + const double t728 = t115 * t228; + const double t729 = t727 * t728; + const double t732 = t635 * t123 + 0.2e1 * t191 * t637 + 0.2e1 * t640 + 0.2e1 * t644 + 0.8e1 * t452 * t648 * t458 - 0.6e1 * t656 - 0.3e1 * t462 * t321 - 0.3e1 * t235 * t716 - 0.16e2 / 0.3e1 * t720 + 0.2e1 * t723 - 0.6e1 * t726 * t729; + const double t733 = t320 * t179; + const double t734 = t535 * t733; + const double t737 = t725 * t228; + const double t738 = t545 * t737; + const double t741 = t283 * t114; + const double t744 = t283 * t60; + const double t747 = t714 * t121; + const double t748 = t747 * t49; + const double t765 = t283 * t234; + const double t768 = -0.6e1 * t235 * t734 + 0.12e2 * t543 * t738 + 0.2e1 * t741 * t243 + t744 * t230 + t578 * t318 + t191 * t748 + 0.8e1 / 0.3e1 * t562 * t648 * t563 - 0.14e2 * t570 * t648 * t571 - 0.8e1 / 0.3e1 * t32 * t272 * t171 - 0.8e1 * t155 * t264 * t159 + 0.12e2 * t165 * t264 * t166 - 0.3e1 * t765 * t238; + const double t769 = t732 + t768; + const double t772 = t327 * t249 * t130; + const double t777 = t595 * t620; + const double t780 = t252 * t418; + const double t783 = t769 * t138 + 0.54e2 * t772 * t253 - 0.81e2 / 0.4e1 * t584 * t329 - 0.13122e5 * t592 * t777 + 0.54e2 * t251 * t780; + const double t788 = piecewise_functor_3( t3, 0.0, -t150 * t401 * t332 / 0.16e2 + 0.3e1 / 0.32e2 * t150 * t407 * t613 - 0.3e1 / 0.16e2 * t150 * t152 * t783 ); + const double t794 = t7 * t20; + const double t795 = t406 * t389; + const double t796 = t138 * t256; + const double t797 = t795 * t796; + const double t800 = t49 * t53; + const double t801 = t338 * t800; + const double t802 = t122 * t179; + const double t806 = t339 * t184; + const double t807 = t338 * t806; + const double t808 = t122 * sigma; + const double t815 = t237 * t121; + const double t820 = t338 * t340 * t23; + const double t821 = t46 * t114; + const double t822 = t821 * t233; + const double t827 = t346 * t195; + const double t829 = t87 * lapl; + const double t830 = t662 * t73; + const double t833 = t22 * t195; + const double t836 = t91 * lapl; + const double t841 = t479 * lapl; + const double t847 = 0.4e2 / 0.3e1 * t827; + const double t848 = t201 * lapl; + const double t853 = t85 * lapl; + const double t858 = t89 * lapl; + const double t863 = t100 * lapl; + const double t869 = t500 * t376; + const double t872 = piecewise_functor_3( t105, t847, 0.0 ); + const double t873 = t374 * t222; + const double t877 = t224 * t872 + t708 * t374 - t507 * t873 + t872; + const double t880 = piecewise_functor_5( t79, -0.8e2 / 0.3e1 * t827 + 0.4e1 * t829 * t830 + 0.2e2 / 0.3e1 * t349 * t833 - 0.6e1 * t836 * t830 - 0.5e1 * t353 * t833 + 0.15e2 / 0.2e1 * t841 * t830 + 0.25e2 / 0.6e1 * t356 * t833, t97, -t847 - 0.4e1 * t848 * t350 + 0.4e2 / 0.3e1 * t361 * t833 + 0.6e1 * t853 * t830 - 0.2e2 / 0.3e1 * t364 * t833 - 0.15e2 / 0.2e1 * t858 * t830 + 0.5e1 * t367 * t833 + 0.35e2 / 0.4e1 * t863 * t830 - 0.25e2 / 0.6e1 * t370 * t833, -t221 * t877 + 0.2e1 * t869 * t226 ); + const double t881 = t880 * t121; + const double t882 = t881 * t49; + const double t884 = t528 * t378; + const double t885 = t56 * t884; + const double t888 = t379 * t448; + const double t893 = t884 * t228; + const double t894 = t545 * t893; + const double t897 = t382 * t179; + const double t898 = t535 * t897; + const double t901 = t60 * t880; + const double t902 = t236 * t901; + const double t909 = t342 * t654; + const double t912 = t642 * t342; + const double t916 = -0.6e1 * t801 * t342 * t802 - 0.64e2 / 0.3e1 * t807 * t288 * t808 + 0.1e2 / 0.3e1 * t341 * t28 * t122 - 0.2e1 * t341 * t342 * t815 + 0.6e1 * t820 * t822 * t654 + t578 * t380 + t191 * t882 - 0.6e1 * t885 * t729 + 0.2e1 * t191 * t888 - 0.3e1 * t462 * t383 + 0.12e2 * t543 * t894 - 0.6e1 * t235 * t898 - 0.3e1 * t235 * t902 - 0.2e1 * t575 * t386 - 0.2e1 * t722 * t386 + 0.6e1 * t653 * t909 - 0.2e1 * t241 * t912 + 0.1e2 / 0.3e1 * t325; + const double t917 = t916 * t138; + const double t921 = t6 * t18; + const double t922 = t73 * t151; + const double t924 = t921 * t922 * t389; + const double t925 = t249 * t129; + const double t926 = t925 * t131; + const double t927 = t133 * t23; + const double t928 = t926 * t927; + const double t932 = piecewise_functor_3( t3, 0.0, -t150 * t401 * t390 / 0.16e2 + 0.3e1 / 0.32e2 * t794 * t797 - 0.3e1 / 0.16e2 * t150 * t152 * t917 - 0.243e3 / 0.8e1 * t924 * t928 ); + const double t935 = t332 * t332; + const double t939 = t56 * t320; + const double t940 = t939 * t324; + const double t943 = t87 * t61; + const double t945 = 0.1e1 / t25 / t455; + const double t946 = t23 * t945; + const double t949 = t198 * t22; + const double t950 = t949 * t66; + const double t952 = t91 * t61; + const double t955 = t204 * t22; + const double t956 = t955 * t66; + const double t958 = t479 * t61; + const double t961 = t207 * t22; + const double t962 = t961 * t66; + const double t965 = 0.4e1 * t288; + const double t966 = t61 * t23; + const double t969 = t76 * t22; + const double t970 = t969 * t66; + const double t972 = t85 * t61; + const double t975 = t86 * t22; + const double t976 = t975 * t66; + const double t978 = t89 * t61; + const double t981 = t90 * t22; + const double t982 = t981 * t66; + const double t984 = t100 * t61; + const double t987 = t216 * t22; + const double t988 = t987 * t66; + const double t991 = t314 * t314; + const double t994 = piecewise_functor_3( t105, t965, 0.0 ); + const double t995 = t312 * t312; + const double t999 = t223 * t995 + t224 * t994 - t507 * t995 + t994; + const double t1002 = piecewise_functor_5( t79, -0.8e1 * t288 - 0.16e2 * t943 * t946 + 0.2e1 * t950 + 0.24e2 * t952 * t946 - 0.3e1 / 0.2e1 * t956 - 0.3e2 * t958 * t946 + 0.5e1 / 0.4e1 * t962, t97, -t965 + 0.16e2 * t966 * t945 + 0.4e1 * t970 - 0.24e2 * t972 * t946 - 0.2e1 * t976 + 0.3e2 * t978 * t946 + 0.3e1 / 0.2e1 * t982 - 0.35e2 * t984 * t946 - 0.5e1 / 0.4e1 * t988, -t221 * t999 + 0.2e1 * t500 * t991 ); + const double t1003 = t60 * t1002; + const double t1004 = t236 * t1003; + const double t1011 = t184 * t22; + const double t1012 = t1011 * t66; + const double t1015 = t433 * t22; + const double t1016 = t1015 * t66; + const double t1020 = b * ( 0.4e1 * t1007 * t66 * t53 - 0.16e2 * t175 * t1012 + 0.12e2 * t50 * t1016 ); + const double t1027 = 0.1e1 / t454; + const double t1028 = sigma * t1027; + const double t1035 = t741 * t324; + const double t1037 = t121 * t22; + const double t1038 = t1037 * t66; + const double t1039 = t241 * t1038; + const double t1048 = t1002 * t121; + const double t1049 = t1048 * t49; + const double t1051 = t316 * t23; + const double t1052 = t1051 * t27; + const double t1053 = t116 * t1052; + const double t1054 = t653 * t1053; + const double t1056 = t316 * t316; + const double t1057 = t1056 * t233; + const double t1058 = t1057 * t236; + const double t1061 = t528 * t1056; + const double t1062 = t545 * t1061; + const double t1065 = 0.4e1 * t940 - 0.3e1 * t235 * t1004 + t1020 * t123 - 0.6e1 * t765 * t321 + 0.2e1 * t155 * t288 * a1 - 0.3e1 * t452 * t1028 * t458 - 0.3e1 * t165 * t288 * b1 + 0.4e1 * t1035 + 0.4e1 * t1039 - t562 * t1028 * t563 + 0.21e2 / 0.4e1 * t570 * t1028 * t571 + 0.2e1 * t744 * t318 + t191 * t1049 - 0.12e2 * t1054 - 0.6e1 * t529 * t1058 + 0.12e2 * t543 * t1062; + const double t1069 = t595 * t288; + const double t1072 = t1065 * t138 - 0.81e2 / 0.2e1 * t772 * t329 + 0.19683e5 / 0.4e1 * t592 * t1069; + const double t1077 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.32e2 * t150 * t407 * t935 - 0.3e1 / 0.16e2 * t150 * t152 * t1072 ); + const double t1079 = t138 * t332; + const double t1080 = t795 * t1079; + const double t1083 = t833 * t122; + const double t1084 = t801 * t1083; + const double t1088 = t320 * t121; + const double t1092 = t116 * t316; + const double t1098 = 0.1e1 / t25 / t454; + const double t1099 = t41 * t1098; + const double t1119 = piecewise_functor_3( t105, 0.0, 0.0 ); + const double t1120 = t374 * t312; + const double t1122 = t223 * t312; + const double t1124 = t224 * t1119; + const double t1125 = -t507 * t1120 + t1122 * t374 + t1119 + t1124; + const double t1128 = piecewise_functor_5( t79, 0.16e2 * t829 * t1099 - 0.24e2 * t836 * t1099 + 0.3e2 * t841 * t1099, t97, -0.16e2 * t41 * t1098 * lapl + 0.24e2 * t853 * t1099 - 0.3e2 * t858 * t1099 + 0.35e2 * t863 * t1099, -t221 * t1125 + 0.2e1 * t869 * t314 ); + const double t1129 = t1128 * t121; + const double t1130 = t1129 * t49; + const double t1132 = t115 * t316; + const double t1133 = t727 * t1132; + const double t1136 = t56 * t382; + const double t1137 = t1136 * t324; + const double t1141 = t884 * t316; + const double t1142 = t545 * t1141; + const double t1145 = t378 * t23; + const double t1146 = t1145 * t27; + const double t1147 = t116 * t1146; + const double t1148 = t653 * t1147; + const double t1150 = t60 * t1128; + const double t1151 = t236 * t1150; + const double t1158 = t342 * t1092; + const double t1161 = t1037 * t195; + const double t1162 = t241 * t1161; + const double t1164 = -0.2e1 * t341 * t342 * t1088 + 0.6e1 * t820 * t822 * t1092 + 0.8e1 * t807 * t1083 + t191 * t1130 - 0.6e1 * t885 * t1133 + 0.12e2 * t543 * t1142 - 0.3e1 * t235 * t1151 + 0.6e1 * t653 * t1158 + t744 * t380 - 0.3e1 * t765 * t383 - 0.2e1 * t741 * t386 - 0.2e1 * t939 * t386 - 0.12e2 * t1084 + 0.2e1 * t1137 - 0.6e1 * t1148 - 0.4e1 * t1162; + const double t1165 = t1164 * t138; + const double t1170 = 0.1e1 / t19 / t24; + const double t1171 = t1170 * t151; + const double t1175 = t925 * t1174; + const double t1179 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.32e2 * t794 * t1080 - 0.3e1 / 0.16e2 * t150 * t152 * t1165 + 0.729e3 / 0.64e2 * t921 * t1171 * t389 * t1175 ); + const double t1181 = t389 * t389; + const double t1182 = t1181 * t249; + const double t1186 = t350 * t122; + const double t1189 = t382 * t121; + const double t1193 = t116 * t378; + const double t1198 = t87 * t69; + const double t1200 = 0.1e1 / t25 / t156; + const double t1201 = t23 * t1200; + const double t1206 = t91 * t69; + const double t1211 = t479 * t69; + const double t1217 = 0.4e1 * t350; + const double t1218 = t69 * t23; + const double t1223 = t85 * t69; + const double t1228 = t89 * t69; + const double t1233 = t100 * t69; + const double t1239 = t376 * t376; + const double t1242 = piecewise_functor_3( t105, -t1217, 0.0 ); + const double t1243 = t374 * t374; + const double t1247 = t224 * t1242 + t223 * t1243 - t507 * t1243 + t1242; + const double t1250 = piecewise_functor_5( t79, 0.8e1 * t350 - 0.16e2 * t1198 * t1201 - 0.2e1 * t949 * t73 + 0.24e2 * t1206 * t1201 + 0.3e1 / 0.2e1 * t955 * t73 - 0.3e2 * t1211 * t1201 - 0.5e1 / 0.4e1 * t961 * t73, t97, t1217 + 0.16e2 * t1218 * t1200 - 0.4e1 * t969 * t73 - 0.24e2 * t1223 * t1201 + 0.2e1 * t975 * t73 + 0.3e2 * t1228 * t1201 - 0.3e1 / 0.2e1 * t981 * t73 - 0.35e2 * t1233 * t1201 + 0.5e1 / 0.4e1 * t987 * t73, 0.2e1 * t500 * t1239 - t221 * t1247 ); + const double t1251 = t1250 * t121; + const double t1252 = t1251 * t49; + const double t1254 = t378 * t378; + const double t1255 = t1254 * t233; + const double t1256 = t1255 * t236; + const double t1261 = t528 * t1254; + const double t1262 = t545 * t1261; + const double t1265 = t1145 * t46; + const double t1266 = t116 * t1265; + const double t1269 = t60 * t1250; + const double t1270 = t236 * t1269; + const double t1273 = t1037 * t73; + const double t1276 = -0.4e1 * t341 * t342 * t1189 + 0.12e2 * t820 * t822 * t1193 - 0.4e1 * t1136 * t386 + 0.2e2 * t801 * t1186 + t191 * t1252 - 0.6e1 * t529 * t1256 + 0.12e2 * t543 * t1262 + 0.12e2 * t653 * t1266 - 0.3e1 * t235 * t1270 + 0.4e1 * t241 * t1273; + const double t1277 = t1276 * t138; + const double t1282 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.32e2 * t150 * t407 * t1182 - 0.3e1 / 0.16e2 * t150 * t152 * t1277 ); + + + vrho = 0.2e1 * rho * t261 + 0.2e1 * t144; + vsigma = 0.2e1 * rho * t336; + vlapl = 0.2e1 * rho * t394; + vtau = 0.e0; + v2rho2 = 0.2e1 * rho * t607 + 0.4e1 * t261; + v2rhosigma = 0.2e1 * rho * t788 + 0.2e1 * t336; + v2rholapl = 0.2e1 * rho * t932 + 0.2e1 * t394; + v2rhotau = 0.e0; + v2sigma2 = 0.2e1 * rho * t1077; + v2sigmalapl = 0.2e1 * rho * t1179; + v2sigmatau = 0.e0; + v2lapl2 = 0.2e1 * rho * t1282; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(tau_a); + (void)(tau_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t116 = constants::m_cbrt_2; + constexpr double t130 = constants::m_cbrt_one_ov_pi; + constexpr double t133 = constants::m_cbrt_4; + constexpr double t5 = 0.1e1 / t4; + constexpr double t6 = t3 * t5; + constexpr double t62 = b2 * b2; + constexpr double t83 = 0.2e1 * b2; + constexpr double t117 = t116 - 0.1e1; + constexpr double t128 = t3 * t3; + constexpr double t131 = t130 * t130; + constexpr double t132 = t128 * t131; + constexpr double t134 = t132 * t133; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t30 = rho_a * rho_a; + const double t31 = safe_math::cbrt( rho_a ); + const double t32 = t31 * t31; + const double t34 = 0.1e1 / t32 / t30; + const double t36 = a1 * sigma_aa * t34 + 0.1e1; + const double t37 = safe_math::sqrt( t36 ); + const double t38 = a * t37; + const double t39 = b1 * sigma_aa; + const double t41 = t39 * t34 + 0.1e1; + const double t42 = pow_1_4( t41 ); + const double t43 = t42 * t42; + const double t44 = t43 * t42; + const double t45 = 0.1e1 / t44; + const double t46 = t45 * sigma_aa; + const double t49 = sigma_aa * t34; + const double t51 = 0.1e1 / t32 / rho_a; + const double t53 = -lapl_a * t51 + t49; + const double t54 = t53 * t53; + const double t55 = a2 * t54; + const double t56 = 0.1e1 + t49; + const double t57 = t56 * t56; + const double t58 = 0.1e1 / t57; + const double t61 = b * ( t55 * t58 + 0.1e1 ); + const double t64 = safe_math::sqrt( t62 + 0.1e1 ); + const double t65 = t64 - b2; + const double t66 = sigma_aa * sigma_aa; + const double t67 = t30 * t30; + const double t68 = t67 * rho_a; + const double t70 = 0.1e1 / t31 / t68; + const double t71 = t66 * t70; + const double t72 = lapl_a * lapl_a; + const double t73 = t30 * rho_a; + const double t75 = 0.1e1 / t31 / t73; + const double t76 = t72 * t75; + const double t77 = t71 - t76 - b2; + const double t78 = pow_1_4( DBL_EPSILON ); + const double t79 = 0.1e1 / t78; + const double t80 = t77 < -t79; + const double t86 = t77 * t77; + const double t87 = t86 * t77; + const double t88 = 0.1e1 / t87; + const double t90 = t86 * t86; + const double t91 = t90 * t77; + const double t92 = 0.1e1 / t91; + const double t97 = piecewise_functor_3( 0.e0 < t77, t77, -t77 ); + const double t98 = t97 < t78; + const double t101 = t90 * t86; + const double t103 = t90 * t90; + const double t106 = -t79 < t77; + const double t107 = piecewise_functor_3( t106, t77, -t79 ); + const double t108 = t107 * t107; + const double t109 = 0.1e1 + t108; + const double t110 = safe_math::sqrt( t109 ); + const double t111 = t107 + t110; + const double t113 = piecewise_functor_5( t80, -0.2e1 * t71 + 0.2e1 * t76 + t83 - 0.1e1 / t77 / 0.2e1 + t88 / 0.8e1 - t92 / 0.16e2, t98, 0.1e1 - t71 + t76 + b2 + t86 / 0.2e1 - t90 / 0.8e1 + t101 / 0.16e2 - 0.5e1 / 0.128e3 * t103, 0.1e1 / t111 ); + const double t115 = t65 * t113 + 0.1e1; + const double t118 = t117 * t65; + const double t120 = t118 * t113 + 0.1e1; + const double t121 = t120 * t120; + const double t122 = t121 * t120; + const double t123 = 0.1e1 / t122; + const double t124 = t115 * t123; + const double t125 = t124 * t54; + const double t127 = t38 * t46 * t34 + t61 * t125 + 0.1e1; + const double t135 = b * sigma_aa; + const double t139 = 0.1e1 + 0.81e2 / 0.4e1 * t134 * t135 * t34; + const double t140 = 0.1e1 / t139; + const double t141 = t127 * t140; + const double t142 = safe_math::sqrt( t141 ); + const double t146 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t142 ); + const double t147 = rho_b <= dens_tol; + const double t148 = -t17; + const double t150 = piecewise_functor_5( t15, t12, t11, t16, t148 * t8 ); + const double t151 = 0.1e1 + t150; + const double t152 = t151 <= zeta_tol; + const double t153 = safe_math::cbrt( t151 ); + const double t155 = piecewise_functor_3( t152, t23, t153 * t151 ); + const double t156 = t155 * t27; + const double t158 = rho_b * rho_b; + const double t159 = safe_math::cbrt( rho_b ); + const double t160 = t159 * t159; + const double t162 = 0.1e1 / t160 / t158; + const double t164 = a1 * sigma_bb * t162 + 0.1e1; + const double t165 = safe_math::sqrt( t164 ); + const double t166 = a * t165; + const double t167 = b1 * sigma_bb; + const double t169 = t167 * t162 + 0.1e1; + const double t170 = pow_1_4( t169 ); + const double t171 = t170 * t170; + const double t172 = t171 * t170; + const double t173 = 0.1e1 / t172; + const double t174 = t173 * sigma_bb; + const double t177 = sigma_bb * t162; + const double t179 = 0.1e1 / t160 / rho_b; + const double t181 = -lapl_b * t179 + t177; + const double t182 = t181 * t181; + const double t183 = a2 * t182; + const double t184 = 0.1e1 + t177; + const double t185 = t184 * t184; + const double t186 = 0.1e1 / t185; + const double t189 = b * ( t183 * t186 + 0.1e1 ); + const double t190 = sigma_bb * sigma_bb; + const double t191 = t158 * t158; + const double t192 = t191 * rho_b; + const double t194 = 0.1e1 / t159 / t192; + const double t195 = t190 * t194; + const double t196 = lapl_b * lapl_b; + const double t197 = t158 * rho_b; + const double t199 = 0.1e1 / t159 / t197; + const double t200 = t196 * t199; + const double t201 = t195 - t200 - b2; + const double t202 = t201 < -t79; + const double t207 = t201 * t201; + const double t208 = t207 * t201; + const double t209 = 0.1e1 / t208; + const double t211 = t207 * t207; + const double t212 = t211 * t201; + const double t213 = 0.1e1 / t212; + const double t218 = piecewise_functor_3( 0.e0 < t201, t201, -t201 ); + const double t219 = t218 < t78; + const double t222 = t211 * t207; + const double t224 = t211 * t211; + const double t227 = -t79 < t201; + const double t228 = piecewise_functor_3( t227, t201, -t79 ); + const double t229 = t228 * t228; + const double t230 = 0.1e1 + t229; + const double t231 = safe_math::sqrt( t230 ); + const double t232 = t228 + t231; + const double t234 = piecewise_functor_5( t202, -0.2e1 * t195 + 0.2e1 * t200 + t83 - 0.1e1 / t201 / 0.2e1 + t209 / 0.8e1 - t213 / 0.16e2, t219, 0.1e1 - t195 + t200 + b2 + t207 / 0.2e1 - t211 / 0.8e1 + t222 / 0.16e2 - 0.5e1 / 0.128e3 * t224, 0.1e1 / t232 ); + const double t236 = t65 * t234 + 0.1e1; + const double t238 = t118 * t234 + 0.1e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = 0.1e1 / t240; + const double t242 = t236 * t241; + const double t243 = t242 * t182; + const double t245 = t166 * t174 * t162 + t189 * t243 + 0.1e1; + const double t246 = b * sigma_bb; + const double t250 = 0.1e1 + 0.81e2 / 0.4e1 * t134 * t246 * t162; + const double t251 = 0.1e1 / t250; + const double t252 = t245 * t251; + const double t253 = safe_math::sqrt( t252 ); + const double t257 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t156 * t253 ); + + + eps = t146 + t257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(tau_a); + (void)(tau_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t116 = constants::m_cbrt_2; + constexpr double t130 = constants::m_cbrt_one_ov_pi; + constexpr double t133 = constants::m_cbrt_4; + constexpr double t5 = 0.1e1 / t4; + constexpr double t6 = t3 * t5; + constexpr double t62 = b2 * b2; + constexpr double t83 = 0.2e1 * b2; + constexpr double t117 = t116 - 0.1e1; + constexpr double t128 = t3 * t3; + constexpr double t131 = t130 * t130; + constexpr double t132 = t128 * t131; + constexpr double t134 = t132 * t133; + constexpr double t378 = t133 * b; + constexpr double t597 = t131 * t133; + constexpr double t674 = b * a2; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t30 = rho_a * rho_a; + const double t31 = safe_math::cbrt( rho_a ); + const double t32 = t31 * t31; + const double t34 = 0.1e1 / t32 / t30; + const double t36 = a1 * sigma_aa * t34 + 0.1e1; + const double t37 = safe_math::sqrt( t36 ); + const double t38 = a * t37; + const double t39 = b1 * sigma_aa; + const double t41 = t39 * t34 + 0.1e1; + const double t42 = pow_1_4( t41 ); + const double t43 = t42 * t42; + const double t44 = t43 * t42; + const double t45 = 0.1e1 / t44; + const double t46 = t45 * sigma_aa; + const double t49 = sigma_aa * t34; + const double t51 = 0.1e1 / t32 / rho_a; + const double t53 = -lapl_a * t51 + t49; + const double t54 = t53 * t53; + const double t55 = a2 * t54; + const double t56 = 0.1e1 + t49; + const double t57 = t56 * t56; + const double t58 = 0.1e1 / t57; + const double t61 = b * ( t55 * t58 + 0.1e1 ); + const double t64 = safe_math::sqrt( t62 + 0.1e1 ); + const double t65 = t64 - b2; + const double t66 = sigma_aa * sigma_aa; + const double t67 = t30 * t30; + const double t68 = t67 * rho_a; + const double t70 = 0.1e1 / t31 / t68; + const double t71 = t66 * t70; + const double t72 = lapl_a * lapl_a; + const double t73 = t30 * rho_a; + const double t75 = 0.1e1 / t31 / t73; + const double t76 = t72 * t75; + const double t77 = t71 - t76 - b2; + const double t78 = pow_1_4( DBL_EPSILON ); + const double t79 = 0.1e1 / t78; + const double t80 = t77 < -t79; + const double t86 = t77 * t77; + const double t87 = t86 * t77; + const double t88 = 0.1e1 / t87; + const double t90 = t86 * t86; + const double t91 = t90 * t77; + const double t92 = 0.1e1 / t91; + const double t97 = piecewise_functor_3( 0.e0 < t77, t77, -t77 ); + const double t98 = t97 < t78; + const double t101 = t90 * t86; + const double t103 = t90 * t90; + const double t106 = -t79 < t77; + const double t107 = piecewise_functor_3( t106, t77, -t79 ); + const double t108 = t107 * t107; + const double t109 = 0.1e1 + t108; + const double t110 = safe_math::sqrt( t109 ); + const double t111 = t107 + t110; + const double t113 = piecewise_functor_5( t80, -0.2e1 * t71 + 0.2e1 * t76 + t83 - 0.1e1 / t77 / 0.2e1 + t88 / 0.8e1 - t92 / 0.16e2, t98, 0.1e1 - t71 + t76 + b2 + t86 / 0.2e1 - t90 / 0.8e1 + t101 / 0.16e2 - 0.5e1 / 0.128e3 * t103, 0.1e1 / t111 ); + const double t115 = t65 * t113 + 0.1e1; + const double t118 = t117 * t65; + const double t120 = t118 * t113 + 0.1e1; + const double t121 = t120 * t120; + const double t122 = t121 * t120; + const double t123 = 0.1e1 / t122; + const double t124 = t115 * t123; + const double t125 = t124 * t54; + const double t127 = t38 * t46 * t34 + t61 * t125 + 0.1e1; + const double t135 = b * sigma_aa; + const double t139 = 0.1e1 + 0.81e2 / 0.4e1 * t134 * t135 * t34; + const double t140 = 0.1e1 / t139; + const double t141 = t127 * t140; + const double t142 = safe_math::sqrt( t141 ); + const double t146 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t142 ); + const double t147 = rho_b <= dens_tol; + const double t148 = -t17; + const double t150 = piecewise_functor_5( t15, t12, t11, t16, t148 * t8 ); + const double t151 = 0.1e1 + t150; + const double t152 = t151 <= zeta_tol; + const double t153 = safe_math::cbrt( t151 ); + const double t155 = piecewise_functor_3( t152, t23, t153 * t151 ); + const double t156 = t155 * t27; + const double t158 = rho_b * rho_b; + const double t159 = safe_math::cbrt( rho_b ); + const double t160 = t159 * t159; + const double t162 = 0.1e1 / t160 / t158; + const double t164 = a1 * sigma_bb * t162 + 0.1e1; + const double t165 = safe_math::sqrt( t164 ); + const double t166 = a * t165; + const double t167 = b1 * sigma_bb; + const double t169 = t167 * t162 + 0.1e1; + const double t170 = pow_1_4( t169 ); + const double t171 = t170 * t170; + const double t172 = t171 * t170; + const double t173 = 0.1e1 / t172; + const double t174 = t173 * sigma_bb; + const double t177 = sigma_bb * t162; + const double t179 = 0.1e1 / t160 / rho_b; + const double t181 = -lapl_b * t179 + t177; + const double t182 = t181 * t181; + const double t183 = a2 * t182; + const double t184 = 0.1e1 + t177; + const double t185 = t184 * t184; + const double t186 = 0.1e1 / t185; + const double t189 = b * ( t183 * t186 + 0.1e1 ); + const double t190 = sigma_bb * sigma_bb; + const double t191 = t158 * t158; + const double t192 = t191 * rho_b; + const double t194 = 0.1e1 / t159 / t192; + const double t195 = t190 * t194; + const double t196 = lapl_b * lapl_b; + const double t197 = t158 * rho_b; + const double t199 = 0.1e1 / t159 / t197; + const double t200 = t196 * t199; + const double t201 = t195 - t200 - b2; + const double t202 = t201 < -t79; + const double t207 = t201 * t201; + const double t208 = t207 * t201; + const double t209 = 0.1e1 / t208; + const double t211 = t207 * t207; + const double t212 = t211 * t201; + const double t213 = 0.1e1 / t212; + const double t218 = piecewise_functor_3( 0.e0 < t201, t201, -t201 ); + const double t219 = t218 < t78; + const double t222 = t211 * t207; + const double t224 = t211 * t211; + const double t227 = -t79 < t201; + const double t228 = piecewise_functor_3( t227, t201, -t79 ); + const double t229 = t228 * t228; + const double t230 = 0.1e1 + t229; + const double t231 = safe_math::sqrt( t230 ); + const double t232 = t228 + t231; + const double t234 = piecewise_functor_5( t202, -0.2e1 * t195 + 0.2e1 * t200 + t83 - 0.1e1 / t201 / 0.2e1 + t209 / 0.8e1 - t213 / 0.16e2, t219, 0.1e1 - t195 + t200 + b2 + t207 / 0.2e1 - t211 / 0.8e1 + t222 / 0.16e2 - 0.5e1 / 0.128e3 * t224, 0.1e1 / t232 ); + const double t236 = t65 * t234 + 0.1e1; + const double t238 = t118 * t234 + 0.1e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = 0.1e1 / t240; + const double t242 = t236 * t241; + const double t243 = t242 * t182; + const double t245 = t166 * t174 * t162 + t189 * t243 + 0.1e1; + const double t246 = b * sigma_bb; + const double t250 = 0.1e1 + 0.81e2 / 0.4e1 * t134 * t246 * t162; + const double t251 = 0.1e1 / t250; + const double t252 = t245 * t251; + const double t253 = safe_math::sqrt( t252 ); + const double t257 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t156 * t253 ); + const double t258 = t7 * t7; + const double t259 = 0.1e1 / t258; + const double t260 = t17 * t259; + const double t262 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t260 ); + const double t265 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t262 ); + const double t266 = t265 * t27; + const double t270 = t27 * t27; + const double t271 = 0.1e1 / t270; + const double t272 = t26 * t271; + const double t275 = t6 * t272 * t142 / 0.8e1; + const double t276 = t6 * t26; + const double t277 = 0.1e1 / t142; + const double t278 = t27 * t277; + const double t280 = a / t37; + const double t281 = t280 * t45; + const double t282 = t67 * t30; + const double t284 = 0.1e1 / t31 / t282; + const double t285 = t66 * t284; + const double t290 = 0.1e1 / t44 / t41; + const double t291 = t38 * t290; + const double t296 = 0.1e1 / t32 / t73; + const double t300 = a2 * t53; + const double t301 = sigma_aa * t296; + const double t305 = -0.8e1 / 0.3e1 * t301 + 0.5e1 / 0.3e1 * lapl_a * t34; + const double t310 = 0.1e1 / t57 / t56; + const double t311 = t310 * sigma_aa; + const double t312 = t311 * t296; + const double t316 = b * ( 0.2e1 * t300 * t58 * t305 + 0.16e2 / 0.3e1 * t55 * t312 ); + const double t318 = t61 * t65; + const double t321 = 0.1e1 / t31 / t67; + const double t322 = t72 * t321; + const double t324 = 0.1e1 / t86; + const double t325 = 0.16e2 / 0.3e1 * t285; + const double t326 = 0.1e2 / 0.3e1 * t322; + const double t327 = -t325 + t326; + const double t330 = 0.1e1 / t90; + const double t333 = 0.1e1 / t101; + const double t342 = t90 * t87; + const double t346 = t111 * t111; + const double t347 = 0.1e1 / t346; + const double t348 = piecewise_functor_3( t106, t327, 0.0 ); + const double t349 = 0.1e1 / t110; + const double t350 = t349 * t107; + const double t352 = t350 * t348 + t348; + const double t354 = piecewise_functor_5( t80, 0.32e2 / 0.3e1 * t285 - 0.2e2 / 0.3e1 * t322 + t324 * t327 / 0.2e1 - 0.3e1 / 0.8e1 * t330 * t327 + 0.5e1 / 0.16e2 * t333 * t327, t98, t325 - t326 + t77 * t327 - t87 * t327 / 0.2e1 + 0.3e1 / 0.8e1 * t91 * t327 - 0.5e1 / 0.16e2 * t342 * t327, -t347 * t352 ); + const double t355 = t354 * t123; + const double t356 = t355 * t54; + const double t358 = t121 * t121; + const double t359 = 0.1e1 / t358; + const double t360 = t115 * t359; + const double t361 = t61 * t360; + const double t362 = t54 * t117; + const double t363 = t65 * t354; + const double t364 = t362 * t363; + const double t367 = t61 * t115; + const double t368 = t123 * t53; + const double t369 = t368 * t305; + const double t372 = -0.4e1 / 0.3e1 * t281 * t285 * a1 + 0.2e1 * t291 * t285 * b1 - 0.8e1 / 0.3e1 * t38 * t46 * t296 + t316 * t125 + t318 * t356 - 0.3e1 * t361 * t364 + 0.2e1 * t367 * t369; + const double t374 = t139 * t139; + const double t375 = 0.1e1 / t374; + const double t376 = t127 * t375; + const double t377 = t376 * t132; + const double t379 = t378 * t301; + const double t382 = t372 * t140 + 0.54e2 * t377 * t379; + const double t383 = t278 * t382; + const double t387 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t266 * t142 - t275 - 0.3e1 / 0.16e2 * t276 * t383 ); + const double t388 = t148 * t259; + const double t390 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t388 ); + const double t393 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.3e1 * t153 * t390 ); + const double t394 = t393 * t27; + const double t398 = t155 * t271; + const double t401 = t6 * t398 * t253 / 0.8e1; + const double t403 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t394 * t253 - t401 ); + const double t407 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t260 ); + const double t410 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t407 ); + const double t411 = t410 * t27; + const double t416 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t411 * t142 - t275 ); + const double t418 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t388 ); + const double t421 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.3e1 * t153 * t418 ); + const double t422 = t421 * t27; + const double t426 = t6 * t155; + const double t427 = 0.1e1 / t253; + const double t428 = t27 * t427; + const double t430 = a / t165; + const double t431 = t430 * t173; + const double t432 = t191 * t158; + const double t434 = 0.1e1 / t159 / t432; + const double t435 = t190 * t434; + const double t440 = 0.1e1 / t172 / t169; + const double t441 = t166 * t440; + const double t446 = 0.1e1 / t160 / t197; + const double t450 = a2 * t181; + const double t451 = sigma_bb * t446; + const double t455 = -0.8e1 / 0.3e1 * t451 + 0.5e1 / 0.3e1 * lapl_b * t162; + const double t460 = 0.1e1 / t185 / t184; + const double t461 = t460 * sigma_bb; + const double t462 = t461 * t446; + const double t466 = b * ( 0.2e1 * t450 * t186 * t455 + 0.16e2 / 0.3e1 * t183 * t462 ); + const double t468 = t189 * t65; + const double t471 = 0.1e1 / t159 / t191; + const double t472 = t196 * t471; + const double t474 = 0.1e1 / t207; + const double t475 = 0.16e2 / 0.3e1 * t435; + const double t476 = 0.1e2 / 0.3e1 * t472; + const double t477 = -t475 + t476; + const double t480 = 0.1e1 / t211; + const double t483 = 0.1e1 / t222; + const double t492 = t211 * t208; + const double t496 = t232 * t232; + const double t497 = 0.1e1 / t496; + const double t498 = piecewise_functor_3( t227, t477, 0.0 ); + const double t499 = 0.1e1 / t231; + const double t500 = t499 * t228; + const double t502 = t500 * t498 + t498; + const double t504 = piecewise_functor_5( t202, 0.32e2 / 0.3e1 * t435 - 0.2e2 / 0.3e1 * t472 + t474 * t477 / 0.2e1 - 0.3e1 / 0.8e1 * t480 * t477 + 0.5e1 / 0.16e2 * t483 * t477, t219, t475 - t476 + t201 * t477 - t208 * t477 / 0.2e1 + 0.3e1 / 0.8e1 * t212 * t477 - 0.5e1 / 0.16e2 * t492 * t477, -t497 * t502 ); + const double t505 = t504 * t241; + const double t506 = t505 * t182; + const double t508 = t239 * t239; + const double t509 = 0.1e1 / t508; + const double t510 = t236 * t509; + const double t511 = t189 * t510; + const double t512 = t182 * t117; + const double t513 = t65 * t504; + const double t514 = t512 * t513; + const double t517 = t189 * t236; + const double t518 = t241 * t181; + const double t519 = t518 * t455; + const double t522 = -0.4e1 / 0.3e1 * t431 * t435 * a1 + 0.2e1 * t441 * t435 * b1 - 0.8e1 / 0.3e1 * t166 * t174 * t446 + t466 * t243 + t468 * t506 - 0.3e1 * t511 * t514 + 0.2e1 * t517 * t519; + const double t524 = t250 * t250; + const double t525 = 0.1e1 / t524; + const double t526 = t245 * t525; + const double t527 = t526 * t132; + const double t528 = t378 * t451; + const double t531 = t522 * t251 + 0.54e2 * t527 * t528; + const double t532 = t428 * t531; + const double t536 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t422 * t253 - t401 - 0.3e1 / 0.16e2 * t426 * t532 ); + const double t539 = sigma_aa * t70; + const double t548 = t58 * t34; + const double t550 = t310 * t34; + const double t554 = b * ( 0.2e1 * t300 * t548 - 0.2e1 * t55 * t550 ); + const double t557 = t324 * sigma_aa; + const double t559 = t330 * sigma_aa; + const double t562 = t333 * sigma_aa; + const double t566 = 0.2e1 * t539; + const double t567 = t77 * sigma_aa; + const double t570 = t87 * sigma_aa; + const double t572 = t91 * sigma_aa; + const double t575 = t342 * sigma_aa; + const double t579 = piecewise_functor_3( t106, t566, 0.0 ); + const double t581 = t350 * t579 + t579; + const double t583 = piecewise_functor_5( t80, -0.4e1 * t539 + t557 * t70 - 0.3e1 / 0.4e1 * t559 * t70 + 0.5e1 / 0.8e1 * t562 * t70, t98, -t566 + 0.2e1 * t567 * t70 - t570 * t70 + 0.3e1 / 0.4e1 * t572 * t70 - 0.5e1 / 0.8e1 * t575 * t70, -t347 * t581 ); + const double t584 = t583 * t123; + const double t585 = t584 * t54; + const double t587 = t65 * t583; + const double t588 = t362 * t587; + const double t591 = t368 * t34; + const double t592 = t367 * t591; + const double t594 = t281 * t539 * a1 / 0.2e1 - 0.3e1 / 0.4e1 * t291 * t539 * b1 + t38 * t45 * t34 + t554 * t125 + t318 * t585 - 0.3e1 * t361 * t588 + 0.2e1 * t592; + const double t596 = t376 * t128; + const double t598 = b * t34; + const double t599 = t597 * t598; + const double t602 = t594 * t140 - 0.81e2 / 0.4e1 * t596 * t599; + const double t603 = t278 * t602; + const double t606 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t276 * t603 ); + const double t607 = sigma_bb * t194; + const double t616 = t186 * t162; + const double t618 = t460 * t162; + const double t622 = b * ( -0.2e1 * t183 * t618 + 0.2e1 * t450 * t616 ); + const double t625 = t474 * sigma_bb; + const double t627 = t480 * sigma_bb; + const double t630 = t483 * sigma_bb; + const double t634 = 0.2e1 * t607; + const double t635 = t201 * sigma_bb; + const double t638 = t208 * sigma_bb; + const double t640 = t212 * sigma_bb; + const double t643 = t492 * sigma_bb; + const double t647 = piecewise_functor_3( t227, t634, 0.0 ); + const double t649 = t500 * t647 + t647; + const double t651 = piecewise_functor_5( t202, -0.4e1 * t607 + t625 * t194 - 0.3e1 / 0.4e1 * t627 * t194 + 0.5e1 / 0.8e1 * t630 * t194, t219, -t634 + 0.2e1 * t635 * t194 - t638 * t194 + 0.3e1 / 0.4e1 * t640 * t194 - 0.5e1 / 0.8e1 * t643 * t194, -t497 * t649 ); + const double t652 = t651 * t241; + const double t653 = t652 * t182; + const double t655 = t65 * t651; + const double t656 = t512 * t655; + const double t659 = t518 * t162; + const double t660 = t517 * t659; + const double t662 = t431 * t607 * a1 / 0.2e1 - 0.3e1 / 0.4e1 * t441 * t607 * b1 + t166 * t173 * t162 + t622 * t243 + t468 * t653 - 0.3e1 * t511 * t656 + 0.2e1 * t660; + const double t664 = t526 * t128; + const double t665 = b * t162; + const double t666 = t597 * t665; + const double t669 = t662 * t251 - 0.81e2 / 0.4e1 * t664 * t666; + const double t670 = t428 * t669; + const double t673 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t426 * t670 ); + const double t675 = t54 * t53; + const double t676 = t674 * t675; + const double t677 = t58 * t51; + const double t678 = t677 * t124; + const double t681 = lapl_a * t75; + const double t683 = t324 * lapl_a; + const double t685 = t330 * lapl_a; + const double t688 = t333 * lapl_a; + const double t692 = 0.2e1 * t681; + const double t693 = t77 * lapl_a; + const double t696 = t87 * lapl_a; + const double t698 = t91 * lapl_a; + const double t701 = t342 * lapl_a; + const double t705 = piecewise_functor_3( t106, -t692, 0.0 ); + const double t707 = t350 * t705 + t705; + const double t709 = piecewise_functor_5( t80, 0.4e1 * t681 - t683 * t75 + 0.3e1 / 0.4e1 * t685 * t75 - 0.5e1 / 0.8e1 * t688 * t75, t98, t692 - 0.2e1 * t693 * t75 + t696 * t75 - 0.3e1 / 0.4e1 * t698 * t75 + 0.5e1 / 0.8e1 * t701 * t75, -t347 * t707 ); + const double t710 = t709 * t123; + const double t711 = t710 * t54; + const double t713 = t65 * t709; + const double t714 = t362 * t713; + const double t717 = t368 * t51; + const double t720 = t318 * t711 - 0.3e1 * t361 * t714 - 0.2e1 * t367 * t717 - 0.2e1 * t676 * t678; + const double t721 = t720 * t140; + const double t722 = t278 * t721; + const double t725 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t276 * t722 ); + const double t726 = t182 * t181; + const double t727 = t674 * t726; + const double t728 = t186 * t179; + const double t729 = t728 * t242; + const double t732 = lapl_b * t199; + const double t734 = t474 * lapl_b; + const double t736 = t480 * lapl_b; + const double t739 = t483 * lapl_b; + const double t743 = 0.2e1 * t732; + const double t744 = t201 * lapl_b; + const double t747 = t208 * lapl_b; + const double t749 = t212 * lapl_b; + const double t752 = t492 * lapl_b; + const double t756 = piecewise_functor_3( t227, -t743, 0.0 ); + const double t758 = t500 * t756 + t756; + const double t760 = piecewise_functor_5( t202, 0.4e1 * t732 - t734 * t199 + 0.3e1 / 0.4e1 * t736 * t199 - 0.5e1 / 0.8e1 * t739 * t199, t219, t743 - 0.2e1 * t744 * t199 + t747 * t199 - 0.3e1 / 0.4e1 * t749 * t199 + 0.5e1 / 0.8e1 * t752 * t199, -t497 * t758 ); + const double t761 = t760 * t241; + const double t762 = t761 * t182; + const double t764 = t65 * t760; + const double t765 = t512 * t764; + const double t768 = t518 * t179; + const double t771 = t468 * t762 - 0.3e1 * t511 * t765 - 0.2e1 * t517 * t768 - 0.2e1 * t727 * t729; + const double t772 = t771 * t251; + const double t773 = t428 * t772; + const double t776 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t426 * t773 ); + + + eps = t146 + t257; + vrho_a = t146 + t257 + t7 * ( t387 + t403 ); + vrho_b = t146 + t257 + t7 * ( t416 + t536 ); + vsigma_aa = t7 * t606; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t673; + vlapl_a = t7 * t725; + vlapl_b = t7 * t776; + vtau_a = 0.e0; + vtau_b = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(tau_a); (void)(tau_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t116 = constants::m_cbrt_2; + constexpr double t129 = constants::m_one_ov_pi; constexpr double t130 = constants::m_cbrt_one_ov_pi; constexpr double t133 = constants::m_cbrt_4; constexpr double t5 = 0.1e1 / t4; @@ -405,6 +2237,19 @@ struct kernel_traits< BuiltinFT98_X > : constexpr double t131 = t130 * t130; constexpr double t132 = t128 * t131; constexpr double t134 = t132 * t133; + constexpr double t378 = t133 * b; + constexpr double t597 = t131 * t133; + constexpr double t674 = b * a2; + constexpr double t826 = t117 * t117; + constexpr double t847 = a1 * b1; + constexpr double t884 = a1 * a1; + constexpr double t892 = b1 * b1; + constexpr double t1000 = t130 * t129; + constexpr double t1001 = t3 * t1000; + constexpr double t1003 = t133 * t133; + constexpr double t1004 = b * b; + constexpr double t1005 = t1003 * t1004; + constexpr double t2137 = t1000 * t1003; const double t2 = rho_a <= dens_tol; @@ -493,7 +2338,6 @@ struct kernel_traits< BuiltinFT98_X > : const double t140 = 0.1e1 / t139; const double t141 = t127 * t140; const double t142 = safe_math::sqrt( t141 ); - const double t146 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t142 ); const double t147 = rho_b <= dens_tol; const double t148 = -t17; const double t150 = piecewise_functor_5( t15, t12, t11, t16, t148 * t8 ); @@ -566,23 +2410,1040 @@ struct kernel_traits< BuiltinFT98_X > : const double t251 = 0.1e1 / t250; const double t252 = t245 * t251; const double t253 = safe_math::sqrt( t252 ); - const double t257 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t156 * t253 ); + const double t258 = t7 * t7; + const double t259 = 0.1e1 / t258; + const double t260 = t17 * t259; + const double t262 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t260 ); + const double t265 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t262 ); + const double t266 = t265 * t27; + const double t270 = t27 * t27; + const double t271 = 0.1e1 / t270; + const double t272 = t26 * t271; + const double t275 = t6 * t272 * t142 / 0.8e1; + const double t276 = t6 * t26; + const double t277 = 0.1e1 / t142; + const double t278 = t27 * t277; + const double t280 = a / t37; + const double t281 = t280 * t45; + const double t282 = t67 * t30; + const double t284 = 0.1e1 / t31 / t282; + const double t285 = t66 * t284; + const double t290 = 0.1e1 / t44 / t41; + const double t291 = t38 * t290; + const double t296 = 0.1e1 / t32 / t73; + const double t300 = a2 * t53; + const double t301 = sigma_aa * t296; + const double t305 = -0.8e1 / 0.3e1 * t301 + 0.5e1 / 0.3e1 * lapl_a * t34; + const double t310 = 0.1e1 / t57 / t56; + const double t311 = t310 * sigma_aa; + const double t312 = t311 * t296; + const double t316 = b * ( 0.2e1 * t300 * t58 * t305 + 0.16e2 / 0.3e1 * t55 * t312 ); + const double t318 = t61 * t65; + const double t321 = 0.1e1 / t31 / t67; + const double t322 = t72 * t321; + const double t324 = 0.1e1 / t86; + const double t325 = 0.16e2 / 0.3e1 * t285; + const double t326 = 0.1e2 / 0.3e1 * t322; + const double t327 = -t325 + t326; + const double t330 = 0.1e1 / t90; + const double t333 = 0.1e1 / t101; + const double t342 = t90 * t87; + const double t346 = t111 * t111; + const double t347 = 0.1e1 / t346; + const double t348 = piecewise_functor_3( t106, t327, 0.0 ); + const double t349 = 0.1e1 / t110; + const double t350 = t349 * t107; + const double t352 = t350 * t348 + t348; + const double t354 = piecewise_functor_5( t80, 0.32e2 / 0.3e1 * t285 - 0.2e2 / 0.3e1 * t322 + t324 * t327 / 0.2e1 - 0.3e1 / 0.8e1 * t330 * t327 + 0.5e1 / 0.16e2 * t333 * t327, t98, t325 - t326 + t77 * t327 - t87 * t327 / 0.2e1 + 0.3e1 / 0.8e1 * t91 * t327 - 0.5e1 / 0.16e2 * t342 * t327, -t347 * t352 ); + const double t355 = t354 * t123; + const double t356 = t355 * t54; + const double t358 = t121 * t121; + const double t359 = 0.1e1 / t358; + const double t360 = t115 * t359; + const double t361 = t61 * t360; + const double t362 = t54 * t117; + const double t363 = t65 * t354; + const double t364 = t362 * t363; + const double t367 = t61 * t115; + const double t368 = t123 * t53; + const double t369 = t368 * t305; + const double t372 = -0.4e1 / 0.3e1 * t281 * t285 * a1 + 0.2e1 * t291 * t285 * b1 - 0.8e1 / 0.3e1 * t38 * t46 * t296 + t316 * t125 + t318 * t356 - 0.3e1 * t361 * t364 + 0.2e1 * t367 * t369; + const double t374 = t139 * t139; + const double t375 = 0.1e1 / t374; + const double t376 = t127 * t375; + const double t377 = t376 * t132; + const double t379 = t378 * t301; + const double t382 = t372 * t140 + 0.54e2 * t377 * t379; + const double t383 = t278 * t382; + const double t387 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t266 * t142 - t275 - 0.3e1 / 0.16e2 * t276 * t383 ); + const double t388 = t148 * t259; + const double t390 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t388 ); + const double t393 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.3e1 * t153 * t390 ); + const double t394 = t393 * t27; + const double t398 = t155 * t271; + const double t401 = t6 * t398 * t253 / 0.8e1; + const double t403 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t394 * t253 - t401 ); + const double t407 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t260 ); + const double t410 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t407 ); + const double t411 = t410 * t27; + const double t416 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t411 * t142 - t275 ); + const double t418 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t388 ); + const double t421 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.3e1 * t153 * t418 ); + const double t422 = t421 * t27; + const double t426 = t6 * t155; + const double t427 = 0.1e1 / t253; + const double t428 = t27 * t427; + const double t430 = a / t165; + const double t431 = t430 * t173; + const double t432 = t191 * t158; + const double t434 = 0.1e1 / t159 / t432; + const double t435 = t190 * t434; + const double t440 = 0.1e1 / t172 / t169; + const double t441 = t166 * t440; + const double t446 = 0.1e1 / t160 / t197; + const double t450 = a2 * t181; + const double t451 = sigma_bb * t446; + const double t455 = -0.8e1 / 0.3e1 * t451 + 0.5e1 / 0.3e1 * lapl_b * t162; + const double t460 = 0.1e1 / t185 / t184; + const double t461 = t460 * sigma_bb; + const double t462 = t461 * t446; + const double t466 = b * ( 0.2e1 * t450 * t186 * t455 + 0.16e2 / 0.3e1 * t183 * t462 ); + const double t468 = t189 * t65; + const double t471 = 0.1e1 / t159 / t191; + const double t472 = t196 * t471; + const double t474 = 0.1e1 / t207; + const double t475 = 0.16e2 / 0.3e1 * t435; + const double t476 = 0.1e2 / 0.3e1 * t472; + const double t477 = -t475 + t476; + const double t480 = 0.1e1 / t211; + const double t483 = 0.1e1 / t222; + const double t492 = t211 * t208; + const double t496 = t232 * t232; + const double t497 = 0.1e1 / t496; + const double t498 = piecewise_functor_3( t227, t477, 0.0 ); + const double t499 = 0.1e1 / t231; + const double t500 = t499 * t228; + const double t502 = t500 * t498 + t498; + const double t504 = piecewise_functor_5( t202, 0.32e2 / 0.3e1 * t435 - 0.2e2 / 0.3e1 * t472 + t474 * t477 / 0.2e1 - 0.3e1 / 0.8e1 * t480 * t477 + 0.5e1 / 0.16e2 * t483 * t477, t219, t475 - t476 + t201 * t477 - t208 * t477 / 0.2e1 + 0.3e1 / 0.8e1 * t212 * t477 - 0.5e1 / 0.16e2 * t492 * t477, -t497 * t502 ); + const double t505 = t504 * t241; + const double t506 = t505 * t182; + const double t508 = t239 * t239; + const double t509 = 0.1e1 / t508; + const double t510 = t236 * t509; + const double t511 = t189 * t510; + const double t512 = t182 * t117; + const double t513 = t65 * t504; + const double t514 = t512 * t513; + const double t517 = t189 * t236; + const double t518 = t241 * t181; + const double t519 = t518 * t455; + const double t522 = -0.4e1 / 0.3e1 * t431 * t435 * a1 + 0.2e1 * t441 * t435 * b1 - 0.8e1 / 0.3e1 * t166 * t174 * t446 + t466 * t243 + t468 * t506 - 0.3e1 * t511 * t514 + 0.2e1 * t517 * t519; + const double t524 = t250 * t250; + const double t525 = 0.1e1 / t524; + const double t526 = t245 * t525; + const double t527 = t526 * t132; + const double t528 = t378 * t451; + const double t531 = t522 * t251 + 0.54e2 * t527 * t528; + const double t532 = t428 * t531; + const double t536 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t422 * t253 - t401 - 0.3e1 / 0.16e2 * t426 * t532 ); + const double t539 = sigma_aa * t70; + const double t548 = t58 * t34; + const double t550 = t310 * t34; + const double t554 = b * ( 0.2e1 * t300 * t548 - 0.2e1 * t55 * t550 ); + const double t557 = t324 * sigma_aa; + const double t559 = t330 * sigma_aa; + const double t562 = t333 * sigma_aa; + const double t566 = 0.2e1 * t539; + const double t567 = t77 * sigma_aa; + const double t570 = t87 * sigma_aa; + const double t572 = t91 * sigma_aa; + const double t575 = t342 * sigma_aa; + const double t579 = piecewise_functor_3( t106, t566, 0.0 ); + const double t581 = t350 * t579 + t579; + const double t583 = piecewise_functor_5( t80, -0.4e1 * t539 + t557 * t70 - 0.3e1 / 0.4e1 * t559 * t70 + 0.5e1 / 0.8e1 * t562 * t70, t98, -t566 + 0.2e1 * t567 * t70 - t570 * t70 + 0.3e1 / 0.4e1 * t572 * t70 - 0.5e1 / 0.8e1 * t575 * t70, -t347 * t581 ); + const double t584 = t583 * t123; + const double t585 = t584 * t54; + const double t587 = t65 * t583; + const double t588 = t362 * t587; + const double t591 = t368 * t34; + const double t592 = t367 * t591; + const double t594 = t281 * t539 * a1 / 0.2e1 - 0.3e1 / 0.4e1 * t291 * t539 * b1 + t38 * t45 * t34 + t554 * t125 + t318 * t585 - 0.3e1 * t361 * t588 + 0.2e1 * t592; + const double t596 = t376 * t128; + const double t598 = b * t34; + const double t599 = t597 * t598; + const double t602 = t594 * t140 - 0.81e2 / 0.4e1 * t596 * t599; + const double t603 = t278 * t602; + const double t606 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t276 * t603 ); + const double t607 = sigma_bb * t194; + const double t616 = t186 * t162; + const double t618 = t460 * t162; + const double t622 = b * ( -0.2e1 * t183 * t618 + 0.2e1 * t450 * t616 ); + const double t625 = t474 * sigma_bb; + const double t627 = t480 * sigma_bb; + const double t630 = t483 * sigma_bb; + const double t634 = 0.2e1 * t607; + const double t635 = t201 * sigma_bb; + const double t638 = t208 * sigma_bb; + const double t640 = t212 * sigma_bb; + const double t643 = t492 * sigma_bb; + const double t647 = piecewise_functor_3( t227, t634, 0.0 ); + const double t649 = t500 * t647 + t647; + const double t651 = piecewise_functor_5( t202, -0.4e1 * t607 + t625 * t194 - 0.3e1 / 0.4e1 * t627 * t194 + 0.5e1 / 0.8e1 * t630 * t194, t219, -t634 + 0.2e1 * t635 * t194 - t638 * t194 + 0.3e1 / 0.4e1 * t640 * t194 - 0.5e1 / 0.8e1 * t643 * t194, -t497 * t649 ); + const double t652 = t651 * t241; + const double t653 = t652 * t182; + const double t655 = t65 * t651; + const double t656 = t512 * t655; + const double t659 = t518 * t162; + const double t660 = t517 * t659; + const double t662 = t431 * t607 * a1 / 0.2e1 - 0.3e1 / 0.4e1 * t441 * t607 * b1 + t166 * t173 * t162 + t622 * t243 + t468 * t653 - 0.3e1 * t511 * t656 + 0.2e1 * t660; + const double t664 = t526 * t128; + const double t665 = b * t162; + const double t666 = t597 * t665; + const double t669 = t662 * t251 - 0.81e2 / 0.4e1 * t664 * t666; + const double t670 = t428 * t669; + const double t673 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t426 * t670 ); + const double t675 = t54 * t53; + const double t676 = t674 * t675; + const double t677 = t58 * t51; + const double t678 = t677 * t124; + const double t681 = lapl_a * t75; + const double t683 = t324 * lapl_a; + const double t685 = t330 * lapl_a; + const double t688 = t333 * lapl_a; + const double t692 = 0.2e1 * t681; + const double t693 = t77 * lapl_a; + const double t696 = t87 * lapl_a; + const double t698 = t91 * lapl_a; + const double t701 = t342 * lapl_a; + const double t705 = piecewise_functor_3( t106, -t692, 0.0 ); + const double t707 = t350 * t705 + t705; + const double t709 = piecewise_functor_5( t80, 0.4e1 * t681 - t683 * t75 + 0.3e1 / 0.4e1 * t685 * t75 - 0.5e1 / 0.8e1 * t688 * t75, t98, t692 - 0.2e1 * t693 * t75 + t696 * t75 - 0.3e1 / 0.4e1 * t698 * t75 + 0.5e1 / 0.8e1 * t701 * t75, -t347 * t707 ); + const double t710 = t709 * t123; + const double t711 = t710 * t54; + const double t713 = t65 * t709; + const double t714 = t362 * t713; + const double t717 = t368 * t51; + const double t720 = t318 * t711 - 0.3e1 * t361 * t714 - 0.2e1 * t367 * t717 - 0.2e1 * t676 * t678; + const double t721 = t720 * t140; + const double t722 = t278 * t721; + const double t725 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t276 * t722 ); + const double t726 = t182 * t181; + const double t727 = t674 * t726; + const double t728 = t186 * t179; + const double t729 = t728 * t242; + const double t732 = lapl_b * t199; + const double t734 = t474 * lapl_b; + const double t736 = t480 * lapl_b; + const double t739 = t483 * lapl_b; + const double t743 = 0.2e1 * t732; + const double t744 = t201 * lapl_b; + const double t747 = t208 * lapl_b; + const double t749 = t212 * lapl_b; + const double t752 = t492 * lapl_b; + const double t756 = piecewise_functor_3( t227, -t743, 0.0 ); + const double t758 = t500 * t756 + t756; + const double t760 = piecewise_functor_5( t202, 0.4e1 * t732 - t734 * t199 + 0.3e1 / 0.4e1 * t736 * t199 - 0.5e1 / 0.8e1 * t739 * t199, t219, t743 - 0.2e1 * t744 * t199 + t747 * t199 - 0.3e1 / 0.4e1 * t749 * t199 + 0.5e1 / 0.8e1 * t752 * t199, -t497 * t758 ); + const double t761 = t760 * t241; + const double t762 = t761 * t182; + const double t764 = t65 * t760; + const double t765 = t512 * t764; + const double t768 = t518 * t179; + const double t771 = t468 * t762 - 0.3e1 * t511 * t765 - 0.2e1 * t517 * t768 - 0.2e1 * t727 * t729; + const double t772 = t771 * t251; + const double t773 = t428 * t772; + const double t776 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t426 * t773 ); + const double t779 = t24 * t24; + const double t780 = 0.1e1 / t779; + const double t781 = t262 * t262; + const double t784 = t258 * t7; + const double t785 = 0.1e1 / t784; + const double t786 = t17 * t785; + const double t789 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t259 + 0.2e1 * t786 ); + const double t793 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t780 * t781 + 0.4e1 / 0.3e1 * t24 * t789 ); + const double t794 = t793 * t27; + const double t798 = t265 * t271; + const double t800 = t6 * t798 * t142; + const double t802 = t6 * t265; + const double t806 = 0.1e1 / t270 / t7; + const double t807 = t26 * t806; + const double t810 = t6 * t807 * t142 / 0.12e2; + const double t811 = t271 * t277; + const double t812 = t811 * t382; + const double t813 = t276 * t812; + const double t816 = 0.1e1 / t142 / t141; + const double t817 = t27 * t816; + const double t818 = t382 * t382; + const double t819 = t817 * t818; + const double t823 = 0.1e1 / t358 / t120; + const double t824 = t115 * t823; + const double t825 = t61 * t824; + const double t827 = t54 * t826; + const double t828 = t65 * t65; + const double t829 = t354 * t354; + const double t830 = t828 * t829; + const double t831 = t827 * t830; + const double t834 = t67 * t73; + const double t836 = 0.1e1 / t31 / t834; + const double t837 = t66 * t836; + const double t841 = t280 * t290; + const double t842 = t66 * sigma_aa; + const double t843 = t67 * t67; + const double t844 = t843 * t30; + const double t845 = 0.1e1 / t844; + const double t846 = t842 * t845; + const double t854 = t53 * t305; + const double t855 = t355 * t854; + const double t858 = t53 * t117; + const double t860 = t858 * t363 * t305; + const double t863 = t305 * t305; + const double t864 = t124 * t863; + const double t868 = 0.1e1 / t32 / t67; + const double t869 = sigma_aa * t868; + const double t873 = 0.88e2 / 0.9e1 * t869 - 0.4e2 / 0.9e1 * lapl_a * t296; + const double t874 = t368 * t873; + const double t877 = t316 * t360; + const double t882 = a / t37 / t36; + const double t883 = t882 * t45; + const double t888 = t41 * t41; + const double t890 = 0.1e1 / t44 / t888; + const double t891 = t38 * t890; + const double t899 = t316 * t115; + const double t902 = t316 * t65; + const double t906 = t72 * t70; + const double t908 = t327 * t327; + const double t910 = 0.304e3 / 0.9e1 * t837; + const double t911 = 0.13e3 / 0.9e1 * t906; + const double t912 = t910 - t911; + const double t919 = 0.1e1 / t342; + const double t940 = 0.1e1 / t346 / t111; + const double t941 = t352 * t352; + const double t944 = piecewise_functor_3( t106, t912, 0.0 ); + const double t946 = 0.1e1 / t110 / t109; + const double t947 = t946 * t108; + const double t948 = t348 * t348; + const double t952 = t349 * t948 + t350 * t944 - t947 * t948 + t944; + const double t955 = piecewise_functor_5( t80, -0.608e3 / 0.9e1 * t837 + 0.26e3 / 0.9e1 * t906 - t88 * t908 + t324 * t912 / 0.2e1 + 0.3e1 / 0.2e1 * t92 * t908 - 0.3e1 / 0.8e1 * t330 * t912 - 0.15e2 / 0.8e1 * t919 * t908 + 0.5e1 / 0.16e2 * t333 * t912, t98, -t910 + t911 + t908 + t77 * t912 - 0.3e1 / 0.2e1 * t86 * t908 - t87 * t912 / 0.2e1 + 0.15e2 / 0.8e1 * t90 * t908 + 0.3e1 / 0.8e1 * t91 * t912 - 0.35e2 / 0.16e2 * t101 * t908 - 0.5e1 / 0.16e2 * t342 * t912, -t347 * t952 + 0.2e1 * t940 * t941 ); + const double t956 = t955 * t123; + const double t957 = t956 * t54; + const double t959 = t65 * t955; + const double t960 = t362 * t959; + const double t963 = t61 * t828; + const double t964 = t829 * t359; + const double t965 = t964 * t362; + const double t968 = a2 * t863; + const double t971 = t300 * t310; + const double t972 = t305 * sigma_aa; + const double t976 = t58 * t873; + const double t979 = t57 * t57; + const double t980 = 0.1e1 / t979; + const double t981 = t980 * t66; + const double t982 = t981 * t836; + const double t985 = t311 * t868; + const double t989 = b * ( 0.2e1 * t968 * t58 + 0.64e2 / 0.3e1 * t971 * t972 * t296 + 0.2e1 * t300 * t976 + 0.128e3 / 0.3e1 * t55 * t982 - 0.176e3 / 0.9e1 * t55 * t985 ); + const double t991 = 0.12e2 * t825 * t831 + 0.12e2 * t281 * t837 * a1 - 0.16e2 / 0.3e1 * t841 * t846 * t847 - 0.18e2 * t291 * t837 * b1 + 0.4e1 * t318 * t855 - 0.12e2 * t361 * t860 + 0.2e1 * t61 * t864 + 0.2e1 * t367 * t874 - 0.6e1 * t877 * t364 - 0.16e2 / 0.9e1 * t883 * t846 * t884 + 0.28e2 / 0.3e1 * t891 * t846 * t892 + 0.88e2 / 0.9e1 * t38 * t46 * t868 + 0.4e1 * t899 * t369 + 0.2e1 * t902 * t356 + t318 * t957 - 0.3e1 * t361 * t960 - 0.6e1 * t963 * t965 + t989 * t125; + const double t993 = t372 * t375; + const double t994 = t993 * t132; + const double t998 = 0.1e1 / t374 / t139; + const double t999 = t127 * t998; + const double t1002 = t999 * t1001; + const double t1006 = t1005 * t837; + const double t1009 = t378 * t869; + const double t1012 = 0.17496e5 * t1002 * t1006 - 0.198e3 * t377 * t1009 + t991 * t140 + 0.108e3 * t994 * t379; + const double t1013 = t278 * t1012; + const double t1017 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t794 * t142 - t800 / 0.4e1 - 0.3e1 / 0.8e1 * t802 * t383 + t810 - t813 / 0.8e1 + 0.3e1 / 0.32e2 * t276 * t819 - 0.3e1 / 0.16e2 * t276 * t1013 ); + const double t1018 = t153 * t153; + const double t1019 = 0.1e1 / t1018; + const double t1020 = t390 * t390; + const double t1023 = t148 * t785; + const double t1026 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t259 + 0.2e1 * t1023 ); + const double t1030 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.9e1 * t1019 * t1020 + 0.4e1 / 0.3e1 * t153 * t1026 ); + const double t1031 = t1030 * t27; + const double t1035 = t393 * t271; + const double t1037 = t6 * t1035 * t253; + const double t1039 = t155 * t806; + const double t1042 = t6 * t1039 * t253 / 0.12e2; + const double t1044 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t1031 * t253 - t1037 / 0.4e1 + t1042 ); + const double t1060 = t410 * t271; + const double t1062 = t6 * t1060 * t142; + const double t1084 = t421 * t271; + const double t1086 = t6 * t1084 * t253; + const double t1092 = t271 * t427; + const double t1093 = t1092 * t531; + const double t1094 = t426 * t1093; + const double t1102 = t407 * t407; + const double t1107 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t259 + 0.2e1 * t786 ); + const double t1111 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t780 * t1102 + 0.4e1 / 0.3e1 * t24 * t1107 ); + const double t1112 = t1111 * t27; + const double t1118 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1112 * t142 - t1062 / 0.4e1 + t810 ); + const double t1119 = t418 * t418; + const double t1124 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t259 + 0.2e1 * t1023 ); + const double t1128 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.9e1 * t1019 * t1119 + 0.4e1 / 0.3e1 * t153 * t1124 ); + const double t1129 = t1128 * t27; + const double t1134 = t6 * t421; + const double t1139 = 0.1e1 / t253 / t252; + const double t1140 = t27 * t1139; + const double t1141 = t531 * t531; + const double t1142 = t1140 * t1141; + const double t1146 = 0.1e1 / t508 / t238; + const double t1147 = t236 * t1146; + const double t1148 = t189 * t1147; + const double t1149 = t182 * t826; + const double t1150 = t504 * t504; + const double t1151 = t828 * t1150; + const double t1152 = t1149 * t1151; + const double t1155 = t189 * t828; + const double t1156 = t1150 * t509; + const double t1157 = t1156 * t512; + const double t1160 = t181 * t117; + const double t1162 = t1160 * t513 * t455; + const double t1165 = t466 * t510; + const double t1168 = t191 * t197; + const double t1170 = 0.1e1 / t159 / t1168; + const double t1171 = t190 * t1170; + const double t1173 = t196 * t194; + const double t1175 = t477 * t477; + const double t1177 = 0.304e3 / 0.9e1 * t1171; + const double t1178 = 0.13e3 / 0.9e1 * t1173; + const double t1179 = t1177 - t1178; + const double t1186 = 0.1e1 / t492; + const double t1207 = 0.1e1 / t496 / t232; + const double t1208 = t502 * t502; + const double t1211 = piecewise_functor_3( t227, t1179, 0.0 ); + const double t1213 = 0.1e1 / t231 / t230; + const double t1214 = t1213 * t229; + const double t1215 = t498 * t498; + const double t1219 = t500 * t1211 - t1214 * t1215 + t499 * t1215 + t1211; + const double t1222 = piecewise_functor_5( t202, -0.608e3 / 0.9e1 * t1171 + 0.26e3 / 0.9e1 * t1173 - t209 * t1175 + t474 * t1179 / 0.2e1 + 0.3e1 / 0.2e1 * t213 * t1175 - 0.3e1 / 0.8e1 * t480 * t1179 - 0.15e2 / 0.8e1 * t1186 * t1175 + 0.5e1 / 0.16e2 * t483 * t1179, t219, -t1177 + t1178 + t1175 + t201 * t1179 - 0.3e1 / 0.2e1 * t207 * t1175 - t208 * t1179 / 0.2e1 + 0.15e2 / 0.8e1 * t211 * t1175 + 0.3e1 / 0.8e1 * t212 * t1179 - 0.35e2 / 0.16e2 * t222 * t1175 - 0.5e1 / 0.16e2 * t492 * t1179, 0.2e1 * t1207 * t1208 - t497 * t1219 ); + const double t1223 = t65 * t1222; + const double t1224 = t512 * t1223; + const double t1227 = t1222 * t241; + const double t1228 = t1227 * t182; + const double t1230 = t455 * t455; + const double t1231 = t242 * t1230; + const double t1235 = 0.1e1 / t160 / t191; + const double t1236 = sigma_bb * t1235; + const double t1240 = 0.88e2 / 0.9e1 * t1236 - 0.4e2 / 0.9e1 * lapl_b * t446; + const double t1241 = t518 * t1240; + const double t1246 = a / t165 / t164; + const double t1247 = t1246 * t173; + const double t1248 = t190 * sigma_bb; + const double t1249 = t191 * t191; + const double t1250 = t1249 * t158; + const double t1251 = 0.1e1 / t1250; + const double t1252 = t1248 * t1251; + const double t1256 = t169 * t169; + const double t1258 = 0.1e1 / t172 / t1256; + const double t1259 = t166 * t1258; + const double t1266 = t466 * t236; + const double t1269 = t466 * t65; + const double t1272 = a2 * t1230; + const double t1275 = t450 * t460; + const double t1276 = t455 * sigma_bb; + const double t1280 = t186 * t1240; + const double t1283 = t185 * t185; + const double t1284 = 0.1e1 / t1283; + const double t1285 = t1284 * t190; + const double t1286 = t1285 * t1170; + const double t1289 = t461 * t1235; + const double t1293 = b * ( 0.2e1 * t1272 * t186 + 0.64e2 / 0.3e1 * t1275 * t1276 * t446 + 0.2e1 * t450 * t1280 + 0.128e3 / 0.3e1 * t183 * t1286 - 0.176e3 / 0.9e1 * t183 * t1289 ); + const double t1298 = t430 * t440; + const double t1305 = t181 * t455; + const double t1306 = t505 * t1305; + const double t1309 = 0.12e2 * t1148 * t1152 - 0.6e1 * t1155 * t1157 - 0.12e2 * t511 * t1162 - 0.6e1 * t1165 * t514 - 0.3e1 * t511 * t1224 + t468 * t1228 + 0.2e1 * t189 * t1231 + 0.2e1 * t517 * t1241 - 0.16e2 / 0.9e1 * t1247 * t1252 * t884 + 0.28e2 / 0.3e1 * t1259 * t1252 * t892 + 0.88e2 / 0.9e1 * t166 * t174 * t1235 + 0.4e1 * t1266 * t519 + 0.2e1 * t1269 * t506 + t1293 * t243 + 0.12e2 * t431 * t1171 * a1 - 0.16e2 / 0.3e1 * t1298 * t1252 * t847 - 0.18e2 * t441 * t1171 * b1 + 0.4e1 * t468 * t1306; + const double t1311 = t522 * t525; + const double t1312 = t1311 * t132; + const double t1316 = 0.1e1 / t524 / t250; + const double t1317 = t245 * t1316; + const double t1318 = t1317 * t1001; + const double t1319 = t1005 * t1171; + const double t1322 = t378 * t1236; + const double t1325 = t1309 * t251 + 0.108e3 * t1312 * t528 + 0.17496e5 * t1318 * t1319 - 0.198e3 * t527 * t1322; + const double t1326 = t428 * t1325; + const double t1330 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t1129 * t253 - t1086 / 0.4e1 - 0.3e1 / 0.8e1 * t1134 * t532 + t1042 - t1094 / 0.8e1 + 0.3e1 / 0.32e2 * t426 * t1142 - 0.3e1 / 0.16e2 * t426 * t1326 ); + const double t1335 = t811 * t602; + const double t1337 = t276 * t1335 / 0.16e2; + const double t1338 = t602 * t382; + const double t1339 = t817 * t1338; + const double t1342 = t828 * t583; + const double t1343 = t1342 * t354; + const double t1344 = t827 * t1343; + const double t1350 = a2 * t305; + const double t1353 = t310 * t284; + const double t1354 = t1353 * sigma_aa; + const double t1357 = t58 * t296; + const double t1363 = t980 * t284; + const double t1364 = t1363 * sigma_aa; + const double t1367 = t310 * t296; + const double t1371 = b * ( 0.2e1 * t1350 * t548 + 0.32e2 / 0.3e1 * t300 * t1354 - 0.16e2 / 0.3e1 * t300 * t1357 - 0.4e1 * t300 * t550 * t305 - 0.16e2 * t55 * t1364 + 0.16e2 / 0.3e1 * t55 * t1367 ); + const double t1373 = t843 * rho_a; + const double t1374 = 0.1e1 / t1373; + const double t1375 = t66 * t1374; + const double t1382 = t554 * t115; + const double t1385 = t554 * t65; + const double t1388 = t61 * t1342; + const double t1389 = t359 * t54; + const double t1390 = t117 * t354; + const double t1391 = t1389 * t1390; + const double t1394 = t587 * t305; + const double t1395 = t858 * t1394; + const double t1398 = t53 * t34; + const double t1399 = t118 * t354; + const double t1400 = t1398 * t1399; + const double t1401 = t361 * t1400; + const double t1403 = 0.12e2 * t825 * t1344 - 0.8e1 / 0.3e1 * t38 * t45 * t296 + t1371 * t125 + 0.2e1 / 0.3e1 * t883 * t1375 * t884 - 0.7e1 / 0.2e1 * t891 * t1375 * t892 + 0.2e1 * t1382 * t369 + t1385 * t356 + t902 * t585 - 0.6e1 * t1388 * t1391 - 0.6e1 * t361 * t1395 - 0.6e1 * t1401; + const double t1404 = sigma_aa * t284; + const double t1414 = t584 * t854; + const double t1417 = t368 * t296; + const double t1418 = t367 * t1417; + const double t1420 = t355 * t1398; + const double t1421 = t318 * t1420; + const double t1424 = t88 * sigma_aa; + const double t1425 = t327 * t70; + const double t1430 = t92 * sigma_aa; + const double t1435 = t919 * sigma_aa; + const double t1441 = 0.32e2 / 0.3e1 * t1404; + const double t1442 = t327 * sigma_aa; + const double t1447 = t86 * sigma_aa; + const double t1452 = t90 * sigma_aa; + const double t1457 = t101 * sigma_aa; + const double t1463 = t940 * t581; + const double t1466 = piecewise_functor_3( t106, -t1441, 0.0 ); + const double t1467 = t579 * t348; + const double t1469 = t349 * t348; + const double t1472 = t350 * t1466 - t947 * t1467 + t1469 * t579 + t1466; + const double t1475 = piecewise_functor_5( t80, 0.64e2 / 0.3e1 * t1404 - 0.2e1 * t1424 * t1425 - 0.16e2 / 0.3e1 * t557 * t284 + 0.3e1 * t1430 * t1425 + 0.4e1 * t559 * t284 - 0.15e2 / 0.4e1 * t1435 * t1425 - 0.1e2 / 0.3e1 * t562 * t284, t98, t1441 + 0.2e1 * t1442 * t70 - 0.32e2 / 0.3e1 * t567 * t284 - 0.3e1 * t1447 * t1425 + 0.16e2 / 0.3e1 * t570 * t284 + 0.15e2 / 0.4e1 * t1452 * t1425 - 0.4e1 * t572 * t284 - 0.35e2 / 0.8e1 * t1457 * t1425 + 0.1e2 / 0.3e1 * t575 * t284, 0.2e1 * t1463 * t352 - t347 * t1472 ); + const double t1476 = t1475 * t123; + const double t1477 = t1476 * t54; + const double t1479 = t899 * t591; + const double t1481 = t123 * t305; + const double t1482 = t1481 * t34; + const double t1483 = t367 * t1482; + const double t1485 = t554 * t360; + const double t1490 = t65 * t1475; + const double t1491 = t362 * t1490; + const double t1494 = -0.4e1 * t281 * t1404 * a1 + 0.2e1 * t841 * t1375 * t847 + 0.6e1 * t291 * t1404 * b1 + 0.2e1 * t318 * t1414 - 0.16e2 / 0.3e1 * t1418 + 0.2e1 * t1421 + t318 * t1477 + 0.2e1 * t1479 + 0.2e1 * t1483 - 0.3e1 * t1485 * t364 - 0.3e1 * t877 * t588 - 0.3e1 * t361 * t1491; + const double t1495 = t1403 + t1494; + const double t1497 = t594 * t375; + const double t1498 = t1497 * t132; + const double t1501 = t993 * t128; + const double t1504 = t1005 * t1404; + const double t1507 = b * t296; + const double t1508 = t597 * t1507; + const double t1511 = t1495 * t140 + 0.54e2 * t1498 * t379 - 0.81e2 / 0.4e1 * t1501 * t599 - 0.6561e4 * t1002 * t1504 + 0.54e2 * t596 * t1508; + const double t1512 = t278 * t1511; + const double t1516 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t802 * t603 - t1337 + 0.3e1 / 0.32e2 * t276 * t1339 - 0.3e1 / 0.16e2 * t276 * t1512 ); + const double t1520 = t1092 * t669; + const double t1522 = t426 * t1520 / 0.16e2; + const double t1533 = t669 * t531; + const double t1534 = t1140 * t1533; + const double t1537 = t828 * t651; + const double t1538 = t1537 * t504; + const double t1539 = t1149 * t1538; + const double t1542 = t189 * t1537; + const double t1543 = t509 * t182; + const double t1544 = t117 * t504; + const double t1545 = t1543 * t1544; + const double t1548 = t655 * t455; + const double t1549 = t1160 * t1548; + const double t1552 = t181 * t162; + const double t1553 = t118 * t504; + const double t1554 = t1552 * t1553; + const double t1555 = t511 * t1554; + const double t1560 = a2 * t455; + const double t1563 = t460 * t434; + const double t1564 = t1563 * sigma_bb; + const double t1567 = t186 * t446; + const double t1573 = t1284 * t434; + const double t1574 = t1573 * sigma_bb; + const double t1577 = t460 * t446; + const double t1581 = b * ( 0.2e1 * t1560 * t616 + 0.32e2 / 0.3e1 * t450 * t1564 - 0.16e2 / 0.3e1 * t450 * t1567 - 0.4e1 * t450 * t618 * t455 - 0.16e2 * t183 * t1574 + 0.16e2 / 0.3e1 * t183 * t1577 ); + const double t1583 = sigma_bb * t434; + const double t1587 = t1249 * rho_b; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t190 * t1588; + const double t1596 = t652 * t1305; + const double t1599 = t518 * t446; + const double t1600 = t517 * t1599; + const double t1602 = 0.12e2 * t1148 * t1539 - 0.6e1 * t1542 * t1545 - 0.6e1 * t511 * t1549 - 0.6e1 * t1555 - 0.8e1 / 0.3e1 * t166 * t173 * t446 + t1581 * t243 - 0.4e1 * t431 * t1583 * a1 + 0.2e1 * t1298 * t1589 * t847 + 0.6e1 * t441 * t1583 * b1 + 0.2e1 * t468 * t1596 - 0.16e2 / 0.3e1 * t1600; + const double t1603 = t505 * t1552; + const double t1604 = t468 * t1603; + const double t1612 = t622 * t236; + const double t1615 = t622 * t65; + const double t1619 = t209 * sigma_bb; + const double t1620 = t477 * t194; + const double t1625 = t213 * sigma_bb; + const double t1630 = t1186 * sigma_bb; + const double t1636 = 0.32e2 / 0.3e1 * t1583; + const double t1637 = t477 * sigma_bb; + const double t1642 = t207 * sigma_bb; + const double t1647 = t211 * sigma_bb; + const double t1652 = t222 * sigma_bb; + const double t1658 = t1207 * t649; + const double t1661 = piecewise_functor_3( t227, -t1636, 0.0 ); + const double t1662 = t647 * t498; + const double t1664 = t499 * t498; + const double t1667 = -t1214 * t1662 + t500 * t1661 + t1664 * t647 + t1661; + const double t1670 = piecewise_functor_5( t202, 0.64e2 / 0.3e1 * t1583 - 0.2e1 * t1619 * t1620 - 0.16e2 / 0.3e1 * t625 * t434 + 0.3e1 * t1625 * t1620 + 0.4e1 * t627 * t434 - 0.15e2 / 0.4e1 * t1630 * t1620 - 0.1e2 / 0.3e1 * t630 * t434, t219, t1636 + 0.2e1 * t1637 * t194 - 0.32e2 / 0.3e1 * t635 * t434 - 0.3e1 * t1642 * t1620 + 0.16e2 / 0.3e1 * t638 * t434 + 0.15e2 / 0.4e1 * t1647 * t1620 - 0.4e1 * t640 * t434 - 0.35e2 / 0.8e1 * t1652 * t1620 + 0.1e2 / 0.3e1 * t643 * t434, 0.2e1 * t1658 * t502 - t497 * t1667 ); + const double t1671 = t1670 * t241; + const double t1672 = t1671 * t182; + const double t1674 = t1266 * t659; + const double t1676 = t241 * t455; + const double t1677 = t1676 * t162; + const double t1678 = t517 * t1677; + const double t1680 = t622 * t510; + const double t1685 = t65 * t1670; + const double t1686 = t512 * t1685; + const double t1689 = 0.2e1 * t1604 + 0.2e1 / 0.3e1 * t1247 * t1589 * t884 - 0.7e1 / 0.2e1 * t1259 * t1589 * t892 + 0.2e1 * t1612 * t519 + t1615 * t506 + t1269 * t653 + t468 * t1672 + 0.2e1 * t1674 + 0.2e1 * t1678 - 0.3e1 * t1680 * t514 - 0.3e1 * t1165 * t656 - 0.3e1 * t511 * t1686; + const double t1690 = t1602 + t1689; + const double t1692 = t662 * t525; + const double t1693 = t1692 * t132; + const double t1696 = t1311 * t128; + const double t1699 = t1005 * t1583; + const double t1702 = b * t446; + const double t1703 = t597 * t1702; + const double t1706 = t1690 * t251 + 0.54e2 * t1693 * t528 - 0.81e2 / 0.4e1 * t1696 * t666 - 0.6561e4 * t1318 * t1699 + 0.54e2 * t664 * t1703; + const double t1707 = t428 * t1706; + const double t1711 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t1134 * t670 - t1522 + 0.3e1 / 0.32e2 * t426 * t1534 - 0.3e1 / 0.16e2 * t426 * t1707 ); + const double t1715 = t811 * t721; + const double t1717 = t276 * t1715 / 0.16e2; + const double t1718 = t6 * t28; + const double t1719 = t816 * t720; + const double t1720 = t140 * t382; + const double t1721 = t1719 * t1720; + const double t1724 = t54 * t58; + const double t1725 = t674 * t1724; + const double t1726 = t51 * t115; + const double t1730 = t675 * t310; + const double t1731 = t674 * t1730; + const double t1732 = t70 * t115; + const double t1733 = t123 * sigma_aa; + const double t1740 = t675 * t58; + const double t1741 = t674 * t1740; + const double t1742 = t51 * t65; + const double t1747 = t674 * t1740 * t51; + const double t1748 = t360 * t1399; + const double t1752 = lapl_a * t321; + const double t1754 = t88 * lapl_a; + const double t1755 = t327 * t75; + const double t1760 = t92 * lapl_a; + const double t1765 = t919 * lapl_a; + const double t1771 = 0.2e2 / 0.3e1 * t1752; + const double t1772 = t327 * lapl_a; + const double t1777 = t86 * lapl_a; + const double t1782 = t90 * lapl_a; + const double t1787 = t101 * lapl_a; + const double t1793 = t940 * t707; + const double t1796 = piecewise_functor_3( t106, t1771, 0.0 ); + const double t1797 = t705 * t348; + const double t1801 = t1469 * t705 + t350 * t1796 - t947 * t1797 + t1796; + const double t1804 = piecewise_functor_5( t80, -0.4e2 / 0.3e1 * t1752 + 0.2e1 * t1754 * t1755 + 0.1e2 / 0.3e1 * t683 * t321 - 0.3e1 * t1760 * t1755 - 0.5e1 / 0.2e1 * t685 * t321 + 0.15e2 / 0.4e1 * t1765 * t1755 + 0.25e2 / 0.12e2 * t688 * t321, t98, -t1771 - 0.2e1 * t1772 * t75 + 0.2e2 / 0.3e1 * t693 * t321 + 0.3e1 * t1777 * t1755 - 0.1e2 / 0.3e1 * t696 * t321 - 0.15e2 / 0.4e1 * t1782 * t1755 + 0.5e1 / 0.2e1 * t698 * t321 + 0.35e2 / 0.8e1 * t1787 * t1755 - 0.25e2 / 0.12e2 * t701 * t321, 0.2e1 * t1793 * t352 - t347 * t1801 ); + const double t1805 = t1804 * t123; + const double t1806 = t1805 * t54; + const double t1808 = t828 * t709; + const double t1809 = t61 * t1808; + const double t1812 = t710 * t854; + const double t1817 = t1808 * t354; + const double t1818 = t827 * t1817; + const double t1821 = t713 * t305; + const double t1822 = t858 * t1821; + const double t1825 = t65 * t1804; + const double t1826 = t362 * t1825; + const double t1831 = t53 * t51; + const double t1832 = t355 * t1831; + const double t1835 = t1831 * t1399; + const double t1838 = t1481 * t51; + const double t1842 = -0.6e1 * t1725 * t1726 * t1481 - 0.32e2 / 0.3e1 * t1731 * t1732 * t1733 + 0.1e2 / 0.3e1 * t676 * t548 * t124 - 0.2e1 * t1741 * t1742 * t355 + 0.6e1 * t1747 * t1748 + t902 * t711 + t318 * t1806 - 0.6e1 * t1809 * t1391 + 0.2e1 * t318 * t1812 - 0.3e1 * t877 * t714 + 0.12e2 * t825 * t1818 - 0.6e1 * t361 * t1822 - 0.3e1 * t361 * t1826 - 0.2e1 * t899 * t717 - 0.2e1 * t318 * t1832 + 0.6e1 * t361 * t1835 - 0.2e1 * t367 * t1838 + 0.1e2 / 0.3e1 * t592; + const double t1843 = t1842 * t140; + const double t1844 = t278 * t1843; + const double t1847 = t5 * t26; + const double t1848 = t278 * t720; + const double t1849 = t1847 * t1848; + const double t1850 = t375 * t131; + const double t1851 = t1850 * t133; + const double t1852 = t135 * t296; + const double t1853 = t1851 * t1852; + const double t1857 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t802 * t722 - t1717 + 0.3e1 / 0.32e2 * t1718 * t1721 - 0.3e1 / 0.16e2 * t276 * t1844 - 0.243e3 / 0.8e1 * t1849 * t1853 ); + const double t1861 = t1092 * t772; + const double t1863 = t426 * t1861 / 0.16e2; + const double t1874 = t6 * t156; + const double t1875 = t1139 * t771; + const double t1876 = t251 * t531; + const double t1877 = t1875 * t1876; + const double t1880 = t182 * t186; + const double t1881 = t674 * t1880; + const double t1882 = t179 * t236; + const double t1886 = t726 * t460; + const double t1887 = t674 * t1886; + const double t1888 = t194 * t236; + const double t1889 = t241 * sigma_bb; + const double t1896 = t726 * t186; + const double t1897 = t674 * t1896; + const double t1898 = t179 * t65; + const double t1903 = t674 * t1896 * t179; + const double t1904 = t510 * t1553; + const double t1908 = lapl_b * t471; + const double t1910 = t209 * lapl_b; + const double t1911 = t477 * t199; + const double t1916 = t213 * lapl_b; + const double t1921 = t1186 * lapl_b; + const double t1927 = 0.2e2 / 0.3e1 * t1908; + const double t1928 = t477 * lapl_b; + const double t1933 = t207 * lapl_b; + const double t1938 = t211 * lapl_b; + const double t1943 = t222 * lapl_b; + const double t1949 = t1207 * t758; + const double t1952 = piecewise_functor_3( t227, t1927, 0.0 ); + const double t1953 = t756 * t498; + const double t1957 = -t1214 * t1953 + t1664 * t756 + t500 * t1952 + t1952; + const double t1960 = piecewise_functor_5( t202, -0.4e2 / 0.3e1 * t1908 + 0.2e1 * t1910 * t1911 + 0.1e2 / 0.3e1 * t734 * t471 - 0.3e1 * t1916 * t1911 - 0.5e1 / 0.2e1 * t736 * t471 + 0.15e2 / 0.4e1 * t1921 * t1911 + 0.25e2 / 0.12e2 * t739 * t471, t219, -t1927 - 0.2e1 * t1928 * t199 + 0.2e2 / 0.3e1 * t744 * t471 + 0.3e1 * t1933 * t1911 - 0.1e2 / 0.3e1 * t747 * t471 - 0.15e2 / 0.4e1 * t1938 * t1911 + 0.5e1 / 0.2e1 * t749 * t471 + 0.35e2 / 0.8e1 * t1943 * t1911 - 0.25e2 / 0.12e2 * t752 * t471, 0.2e1 * t1949 * t502 - t497 * t1957 ); + const double t1961 = t1960 * t241; + const double t1962 = t1961 * t182; + const double t1964 = t828 * t760; + const double t1965 = t189 * t1964; + const double t1968 = t761 * t1305; + const double t1973 = t1964 * t504; + const double t1974 = t1149 * t1973; + const double t1977 = t764 * t455; + const double t1978 = t1160 * t1977; + const double t1981 = t65 * t1960; + const double t1982 = t512 * t1981; + const double t1987 = t181 * t179; + const double t1988 = t505 * t1987; + const double t1991 = t1987 * t1553; + const double t1994 = t1676 * t179; + const double t1998 = -0.6e1 * t1881 * t1882 * t1676 - 0.32e2 / 0.3e1 * t1887 * t1888 * t1889 + 0.1e2 / 0.3e1 * t727 * t616 * t242 - 0.2e1 * t1897 * t1898 * t505 + 0.6e1 * t1903 * t1904 + t1269 * t762 + t468 * t1962 - 0.6e1 * t1965 * t1545 + 0.2e1 * t468 * t1968 - 0.3e1 * t1165 * t765 + 0.12e2 * t1148 * t1974 - 0.6e1 * t511 * t1978 - 0.3e1 * t511 * t1982 - 0.2e1 * t1266 * t768 - 0.2e1 * t468 * t1988 + 0.6e1 * t511 * t1991 - 0.2e1 * t517 * t1994 + 0.1e2 / 0.3e1 * t660; + const double t1999 = t1998 * t251; + const double t2000 = t428 * t1999; + const double t2003 = t5 * t155; + const double t2004 = t428 * t771; + const double t2005 = t2003 * t2004; + const double t2006 = t525 * t131; + const double t2007 = t2006 * t133; + const double t2008 = t246 * t446; + const double t2009 = t2007 * t2008; + const double t2013 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t1134 * t773 - t1863 + 0.3e1 / 0.32e2 * t1874 * t1877 - 0.3e1 / 0.16e2 * t426 * t2000 - 0.243e3 / 0.8e1 * t2005 * t2009 ); + const double t2015 = t602 * t602; + const double t2016 = t817 * t2015; + const double t2019 = t583 * t583; + const double t2020 = t828 * t2019; + const double t2021 = t827 * t2020; + const double t2024 = 0.1e1 / t843; + const double t2025 = sigma_aa * t2024; + const double t2038 = t88 * t66; + const double t2040 = 0.1e1 / t32 / t844; + const double t2043 = t324 * t70; + const double t2044 = t92 * t66; + const double t2047 = t330 * t70; + const double t2049 = t919 * t66; + const double t2052 = t333 * t70; + const double t2055 = 0.2e1 * t70; + const double t2058 = t77 * t70; + const double t2060 = t86 * t66; + const double t2063 = t87 * t70; + const double t2064 = t90 * t66; + const double t2067 = t91 * t70; + const double t2069 = t101 * t66; + const double t2072 = t342 * t70; + const double t2075 = t581 * t581; + const double t2078 = piecewise_functor_3( t106, t2055, 0.0 ); + const double t2079 = t579 * t579; + const double t2083 = t350 * t2078 + t349 * t2079 - t947 * t2079 + t2078; + const double t2086 = piecewise_functor_5( t80, -0.4e1 * t70 - 0.4e1 * t2038 * t2040 + t2043 + 0.6e1 * t2044 * t2040 - 0.3e1 / 0.4e1 * t2047 - 0.15e2 / 0.2e1 * t2049 * t2040 + 0.5e1 / 0.8e1 * t2052, t98, -t2055 + 0.4e1 * t66 * t2040 + 0.2e1 * t2058 - 0.6e1 * t2060 * t2040 - t2063 + 0.15e2 / 0.2e1 * t2064 * t2040 + 0.3e1 / 0.4e1 * t2067 - 0.35e2 / 0.4e1 * t2069 * t2040 - 0.5e1 / 0.8e1 * t2072, 0.2e1 * t940 * t2075 - t347 * t2083 ); + const double t2087 = t65 * t2086; + const double t2088 = t362 * t2087; + const double t2094 = t310 * t70; + const double t2097 = t980 * t70; + const double t2101 = b * ( 0.2e1 * a2 * t70 * t58 - 0.8e1 * t300 * t2094 + 0.6e1 * t55 * t2097 ); + const double t2103 = t584 * t1398; + const double t2104 = t318 * t2103; + const double t2106 = t2019 * t359; + const double t2107 = t2106 * t362; + const double t2110 = t587 * t34; + const double t2111 = t858 * t2110; + const double t2112 = t361 * t2111; + const double t2118 = t1382 * t591; + const double t2122 = t2086 * t123; + const double t2123 = t2122 * t54; + const double t2125 = t124 * t70; + const double t2126 = t61 * t2125; + const double t2131 = 0.12e2 * t825 * t2021 - t883 * t2025 * t884 / 0.4e1 - 0.3e1 / 0.4e1 * t841 * t2025 * t847 + 0.21e2 / 0.16e2 * t891 * t2025 * t892 - 0.6e1 * t1485 * t588 - 0.3e1 * t361 * t2088 + t2101 * t125 + 0.4e1 * t2104 - 0.6e1 * t963 * t2107 - 0.12e2 * t2112 - 0.3e1 / 0.2e1 * t38 * t290 * t70 * b1 + 0.4e1 * t2118 + 0.2e1 * t1385 * t585 + t318 * t2123 + 0.2e1 * t2126 + t280 * t45 * t70 * a1; + const double t2133 = t1497 * t128; + const double t2136 = t999 * t3; + const double t2138 = t1004 * t70; + const double t2139 = t2137 * t2138; + const double t2142 = t2131 * t140 - 0.81e2 / 0.2e1 * t2133 * t599 + 0.19683e5 / 0.8e1 * t2136 * t2139; + const double t2143 = t278 * t2142; + const double t2147 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.32e2 * t276 * t2016 - 0.3e1 / 0.16e2 * t276 * t2143 ); + const double t2148 = t669 * t669; + const double t2149 = t1140 * t2148; + const double t2152 = t651 * t651; + const double t2153 = t828 * t2152; + const double t2154 = t1149 * t2153; + const double t2160 = t460 * t194; + const double t2163 = t1284 * t194; + const double t2167 = b * ( 0.2e1 * a2 * t194 * t186 + 0.6e1 * t183 * t2163 - 0.8e1 * t450 * t2160 ); + const double t2169 = 0.1e1 / t1249; + const double t2170 = sigma_bb * t2169; + const double t2183 = t209 * t190; + const double t2185 = 0.1e1 / t160 / t1250; + const double t2188 = t474 * t194; + const double t2189 = t213 * t190; + const double t2192 = t480 * t194; + const double t2194 = t1186 * t190; + const double t2197 = t483 * t194; + const double t2200 = 0.2e1 * t194; + const double t2203 = t201 * t194; + const double t2205 = t207 * t190; + const double t2208 = t208 * t194; + const double t2209 = t211 * t190; + const double t2212 = t212 * t194; + const double t2214 = t222 * t190; + const double t2217 = t492 * t194; + const double t2220 = t649 * t649; + const double t2223 = piecewise_functor_3( t227, t2200, 0.0 ); + const double t2224 = t647 * t647; + const double t2228 = -t1214 * t2224 + t500 * t2223 + t499 * t2224 + t2223; + const double t2231 = piecewise_functor_5( t202, -0.4e1 * t194 - 0.4e1 * t2183 * t2185 + t2188 + 0.6e1 * t2189 * t2185 - 0.3e1 / 0.4e1 * t2192 - 0.15e2 / 0.2e1 * t2194 * t2185 + 0.5e1 / 0.8e1 * t2197, t219, -t2200 + 0.4e1 * t190 * t2185 + 0.2e1 * t2203 - 0.6e1 * t2205 * t2185 - t2208 + 0.15e2 / 0.2e1 * t2209 * t2185 + 0.3e1 / 0.4e1 * t2212 - 0.35e2 / 0.4e1 * t2214 * t2185 - 0.5e1 / 0.8e1 * t2217, 0.2e1 * t1207 * t2220 - t497 * t2228 ); + const double t2232 = t65 * t2231; + const double t2233 = t512 * t2232; + const double t2243 = t1612 * t659; + const double t2247 = t2231 * t241; + const double t2248 = t2247 * t182; + const double t2250 = t242 * t194; + const double t2251 = t189 * t2250; + const double t2253 = t652 * t1552; + const double t2254 = t468 * t2253; + const double t2256 = t2152 * t509; + const double t2257 = t2256 * t512; + const double t2260 = t655 * t162; + const double t2261 = t1160 * t2260; + const double t2262 = t511 * t2261; + const double t2264 = 0.12e2 * t1148 * t2154 + t2167 * t243 - t1247 * t2170 * t884 / 0.4e1 - 0.3e1 / 0.4e1 * t1298 * t2170 * t847 + 0.21e2 / 0.16e2 * t1259 * t2170 * t892 - 0.6e1 * t1680 * t656 - 0.3e1 * t511 * t2233 + t430 * t173 * t194 * a1 - 0.3e1 / 0.2e1 * t166 * t440 * t194 * b1 + 0.4e1 * t2243 + 0.2e1 * t1615 * t653 + t468 * t2248 + 0.2e1 * t2251 + 0.4e1 * t2254 - 0.6e1 * t1155 * t2257 - 0.12e2 * t2262; + const double t2266 = t1692 * t128; + const double t2269 = t1317 * t3; + const double t2270 = t1004 * t194; + const double t2271 = t2137 * t2270; + const double t2274 = t2264 * t251 - 0.81e2 / 0.2e1 * t2266 * t666 + 0.19683e5 / 0.8e1 * t2269 * t2271; + const double t2275 = t428 * t2274; + const double t2279 = piecewise_functor_3( t147, 0.0, 0.3e1 / 0.32e2 * t426 * t2149 - 0.3e1 / 0.16e2 * t426 * t2275 ); + const double t2280 = t140 * t602; + const double t2281 = t1719 * t2280; + const double t2284 = t674 * t54; + const double t2286 = t58 * t321 * t124; + const double t2287 = t2284 * t2286; + const double t2296 = t118 * t583; + const double t2297 = t360 * t2296; + const double t2302 = 0.1e1 / t32 / t843; + const double t2303 = sigma_aa * t2302; + const double t2322 = piecewise_functor_3( t106, 0.0, 0.0 ); + const double t2323 = t705 * t579; + const double t2325 = t349 * t579; + const double t2327 = t350 * t2322; + const double t2328 = -t947 * t2323 + t2325 * t705 + t2322 + t2327; + const double t2331 = piecewise_functor_5( t80, 0.4e1 * t1754 * t2303 - 0.6e1 * t1760 * t2303 + 0.15e2 / 0.2e1 * t1765 * t2303, t98, -0.4e1 * t2303 * lapl_a + 0.6e1 * t1777 * t2303 - 0.15e2 / 0.2e1 * t1782 * t2303 + 0.35e2 / 0.4e1 * t1787 * t2303, 0.2e1 * t1793 * t581 - t347 * t2328 ); + const double t2332 = t2331 * t123; + const double t2333 = t2332 * t54; + const double t2335 = t117 * t583; + const double t2336 = t1389 * t2335; + const double t2339 = t710 * t1398; + const double t2340 = t318 * t2339; + const double t2344 = t1808 * t583; + const double t2345 = t827 * t2344; + const double t2348 = t713 * t34; + const double t2349 = t858 * t2348; + const double t2350 = t361 * t2349; + const double t2352 = t65 * t2331; + const double t2353 = t362 * t2352; + const double t2358 = t584 * t1831; + const double t2361 = t1831 * t2296; + const double t2364 = t124 * t321; + const double t2365 = t61 * t2364; + const double t2367 = 0.4e1 * t676 * t310 * t321 * t124 - 0.2e1 * t1741 * t1742 * t584 - 0.2e1 * t1382 * t717 + t1385 * t711 - 0.3e1 * t1485 * t714 + 0.6e1 * t1747 * t2297 - 0.6e1 * t1809 * t2336 + t318 * t2333 + 0.12e2 * t825 * t2345 - 0.3e1 * t361 * t2353 - 0.2e1 * t318 * t2358 + 0.6e1 * t361 * t2361 - 0.6e1 * t2287 + 0.2e1 * t2340 - 0.6e1 * t2350 - 0.2e1 * t2365; + const double t2368 = t2367 * t140; + const double t2369 = t278 * t2368; + const double t2372 = t378 * t34; + const double t2373 = t1850 * t2372; + const double t2377 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.32e2 * t1718 * t2281 - 0.3e1 / 0.16e2 * t276 * t2369 + 0.729e3 / 0.64e2 * t1849 * t2373 ); + const double t2378 = t251 * t669; + const double t2379 = t1875 * t2378; + const double t2382 = t674 * t182; + const double t2384 = t186 * t471 * t242; + const double t2385 = t2382 * t2384; + const double t2394 = t118 * t651; + const double t2395 = t510 * t2394; + const double t2400 = 0.1e1 / t160 / t1249; + const double t2401 = sigma_bb * t2400; + const double t2420 = piecewise_functor_3( t227, 0.0, 0.0 ); + const double t2421 = t756 * t647; + const double t2423 = t499 * t647; + const double t2425 = t500 * t2420; + const double t2426 = -t1214 * t2421 + t2423 * t756 + t2420 + t2425; + const double t2429 = piecewise_functor_5( t202, 0.4e1 * t1910 * t2401 - 0.6e1 * t1916 * t2401 + 0.15e2 / 0.2e1 * t1921 * t2401, t219, -0.4e1 * t2401 * lapl_b + 0.6e1 * t1933 * t2401 - 0.15e2 / 0.2e1 * t1938 * t2401 + 0.35e2 / 0.4e1 * t1943 * t2401, 0.2e1 * t1949 * t649 - t497 * t2426 ); + const double t2430 = t2429 * t241; + const double t2431 = t2430 * t182; + const double t2433 = t117 * t651; + const double t2434 = t1543 * t2433; + const double t2437 = t761 * t1552; + const double t2438 = t468 * t2437; + const double t2442 = t1964 * t651; + const double t2443 = t1149 * t2442; + const double t2446 = t764 * t162; + const double t2447 = t1160 * t2446; + const double t2448 = t511 * t2447; + const double t2450 = t65 * t2429; + const double t2451 = t512 * t2450; + const double t2456 = t652 * t1987; + const double t2459 = t1987 * t2394; + const double t2462 = t242 * t471; + const double t2463 = t189 * t2462; + const double t2465 = 0.4e1 * t727 * t460 * t471 * t242 - 0.2e1 * t1897 * t1898 * t652 + 0.12e2 * t1148 * t2443 - 0.2e1 * t1612 * t768 + t1615 * t762 - 0.3e1 * t1680 * t765 + 0.6e1 * t1903 * t2395 - 0.6e1 * t1965 * t2434 + t468 * t2431 - 0.3e1 * t511 * t2451 - 0.2e1 * t468 * t2456 + 0.6e1 * t511 * t2459 - 0.6e1 * t2385 + 0.2e1 * t2438 - 0.6e1 * t2448 - 0.2e1 * t2463; + const double t2466 = t2465 * t251; + const double t2467 = t428 * t2466; + const double t2470 = t378 * t162; + const double t2471 = t2006 * t2470; + const double t2475 = piecewise_functor_3( t147, 0.0, 0.3e1 / 0.32e2 * t1874 * t2379 - 0.3e1 / 0.16e2 * t426 * t2467 + 0.729e3 / 0.64e2 * t2005 * t2471 ); + const double t2476 = t720 * t720; + const double t2477 = t2476 * t375; + const double t2478 = t817 * t2477; + const double t2482 = t58 * t75 * t124; + const double t2489 = t360 * t118 * t709; + const double t2493 = t88 * t72; + const double t2495 = 0.1e1 / t32 / t282; + const double t2499 = t92 * t72; + const double t2502 = t330 * t75; + const double t2504 = t919 * t72; + const double t2507 = t333 * t75; + const double t2510 = 0.2e1 * t75; + const double t2513 = t77 * t75; + const double t2515 = t86 * t72; + const double t2518 = t87 * t75; + const double t2519 = t90 * t72; + const double t2522 = t91 * t75; + const double t2524 = t101 * t72; + const double t2530 = t707 * t707; + const double t2533 = piecewise_functor_3( t106, -t2510, 0.0 ); + const double t2534 = t705 * t705; + const double t2538 = t350 * t2533 + t349 * t2534 - t947 * t2534 + t2533; + const double t2541 = piecewise_functor_5( t80, 0.4e1 * t75 - 0.4e1 * t2493 * t2495 - t324 * t75 + 0.6e1 * t2499 * t2495 + 0.3e1 / 0.4e1 * t2502 - 0.15e2 / 0.2e1 * t2504 * t2495 - 0.5e1 / 0.8e1 * t2507, t98, t2510 + 0.4e1 * t72 * t2495 - 0.2e1 * t2513 - 0.6e1 * t2515 * t2495 + t2518 + 0.15e2 / 0.2e1 * t2519 * t2495 - 0.3e1 / 0.4e1 * t2522 - 0.35e2 / 0.4e1 * t2524 * t2495 + 0.5e1 / 0.8e1 * t342 * t75, 0.2e1 * t940 * t2530 - t347 * t2538 ); + const double t2542 = t2541 * t123; + const double t2543 = t2542 * t54; + const double t2545 = t709 * t709; + const double t2546 = t2545 * t359; + const double t2547 = t2546 * t362; + const double t2550 = t710 * t1831; + const double t2553 = t828 * t2545; + const double t2554 = t827 * t2553; + const double t2557 = t713 * t51; + const double t2558 = t858 * t2557; + const double t2561 = t65 * t2541; + const double t2562 = t362 * t2561; + const double t2565 = t124 * t75; + const double t2568 = -0.4e1 * t1741 * t1742 * t710 + 0.12e2 * t1747 * t2489 + 0.1e2 * t2284 * t2482 + t318 * t2543 - 0.6e1 * t963 * t2547 - 0.4e1 * t318 * t2550 + 0.12e2 * t825 * t2554 + 0.12e2 * t361 * t2558 - 0.3e1 * t361 * t2562 + 0.2e1 * t61 * t2565; + const double t2569 = t2568 * t140; + const double t2570 = t278 * t2569; + const double t2574 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.32e2 * t276 * t2478 - 0.3e1 / 0.16e2 * t276 * t2570 ); + const double t2575 = t771 * t771; + const double t2576 = t2575 * t525; + const double t2577 = t1140 * t2576; + const double t2581 = t186 * t199 * t242; + const double t2588 = t510 * t118 * t760; + const double t2592 = t209 * t196; + const double t2594 = 0.1e1 / t160 / t432; + const double t2598 = t213 * t196; + const double t2601 = t480 * t199; + const double t2603 = t1186 * t196; + const double t2606 = t483 * t199; + const double t2609 = 0.2e1 * t199; + const double t2612 = t201 * t199; + const double t2614 = t207 * t196; + const double t2617 = t208 * t199; + const double t2618 = t211 * t196; + const double t2621 = t212 * t199; + const double t2623 = t222 * t196; + const double t2629 = t758 * t758; + const double t2632 = piecewise_functor_3( t227, -t2609, 0.0 ); + const double t2633 = t756 * t756; + const double t2637 = -t1214 * t2633 + t500 * t2632 + t499 * t2633 + t2632; + const double t2640 = piecewise_functor_5( t202, 0.4e1 * t199 - 0.4e1 * t2592 * t2594 - t474 * t199 + 0.6e1 * t2598 * t2594 + 0.3e1 / 0.4e1 * t2601 - 0.15e2 / 0.2e1 * t2603 * t2594 - 0.5e1 / 0.8e1 * t2606, t219, t2609 + 0.4e1 * t196 * t2594 - 0.2e1 * t2612 - 0.6e1 * t2614 * t2594 + t2617 + 0.15e2 / 0.2e1 * t2618 * t2594 - 0.3e1 / 0.4e1 * t2621 - 0.35e2 / 0.4e1 * t2623 * t2594 + 0.5e1 / 0.8e1 * t492 * t199, 0.2e1 * t1207 * t2629 - t497 * t2637 ); + const double t2641 = t2640 * t241; + const double t2642 = t2641 * t182; + const double t2644 = t760 * t760; + const double t2645 = t2644 * t509; + const double t2646 = t2645 * t512; + const double t2649 = t761 * t1987; + const double t2652 = t828 * t2644; + const double t2653 = t1149 * t2652; + const double t2656 = t764 * t179; + const double t2657 = t1160 * t2656; + const double t2660 = t65 * t2640; + const double t2661 = t512 * t2660; + const double t2664 = t242 * t199; + const double t2667 = -0.4e1 * t1897 * t1898 * t761 + 0.12e2 * t1148 * t2653 - 0.6e1 * t1155 * t2646 + 0.2e1 * t189 * t2664 + 0.12e2 * t1903 * t2588 + 0.1e2 * t2382 * t2581 + t468 * t2642 - 0.4e1 * t468 * t2649 + 0.12e2 * t511 * t2657 - 0.3e1 * t511 * t2661; + const double t2668 = t2667 * t251; + const double t2669 = t428 * t2668; + const double t2673 = piecewise_functor_3( t147, 0.0, 0.3e1 / 0.32e2 * t426 * t2577 - 0.3e1 / 0.16e2 * t426 * t2669 ); + + + v2rho2_aa = 0.2e1 * t387 + 0.2e1 * t403 + t7 * ( t1017 + t1044 ); + v2rho2_bb = 0.2e1 * t416 + 0.2e1 * t536 + t7 * ( t1118 + t1330 ); + v2rhosigma_a_aa = t7 * t1516 + t606; + v2rhosigma_b_bb = t7 * t1711 + t673; + v2rholapl_a_a = t7 * t1857 + t725; + v2rholapl_b_b = t7 * t2013 + t776; + v2rhotau_a_a = 0.e0; + v2rhotau_b_b = 0.e0; + v2sigma2_aa_aa = t7 * t2147; + v2sigma2_bb_bb = t7 * t2279; + v2sigmalapl_aa_a = t7 * t2377; + v2sigmalapl_bb_b = t7 * t2475; + v2sigmatau_aa_a = 0.e0; + v2sigmatau_bb_b = 0.e0; + v2lapl2_aa = t7 * t2574; + v2lapl2_bb = t7 * t2673; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_bb = 0.e0; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; - eps = t146 + t257; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(tau_a); (void)(tau_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t116 = constants::m_cbrt_2; + constexpr double t129 = constants::m_one_ov_pi; constexpr double t130 = constants::m_cbrt_one_ov_pi; constexpr double t133 = constants::m_cbrt_4; constexpr double t5 = 0.1e1 / t4; @@ -597,6 +3458,16 @@ struct kernel_traits< BuiltinFT98_X > : constexpr double t378 = t133 * b; constexpr double t597 = t131 * t133; constexpr double t674 = b * a2; + constexpr double t826 = t117 * t117; + constexpr double t847 = a1 * b1; + constexpr double t884 = a1 * a1; + constexpr double t892 = b1 * b1; + constexpr double t1000 = t130 * t129; + constexpr double t1001 = t3 * t1000; + constexpr double t1003 = t133 * t133; + constexpr double t1004 = b * b; + constexpr double t1005 = t1003 * t1004; + constexpr double t2137 = t1000 * t1003; const double t2 = rho_a <= dens_tol; @@ -1001,9 +3872,738 @@ struct kernel_traits< BuiltinFT98_X > : const double t772 = t771 * t251; const double t773 = t428 * t772; const double t776 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t426 * t773 ); + const double t779 = t24 * t24; + const double t780 = 0.1e1 / t779; + const double t781 = t262 * t262; + const double t784 = t258 * t7; + const double t785 = 0.1e1 / t784; + const double t786 = t17 * t785; + const double t789 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t259 + 0.2e1 * t786 ); + const double t793 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t780 * t781 + 0.4e1 / 0.3e1 * t24 * t789 ); + const double t794 = t793 * t27; + const double t798 = t265 * t271; + const double t800 = t6 * t798 * t142; + const double t802 = t6 * t265; + const double t806 = 0.1e1 / t270 / t7; + const double t807 = t26 * t806; + const double t810 = t6 * t807 * t142 / 0.12e2; + const double t811 = t271 * t277; + const double t812 = t811 * t382; + const double t813 = t276 * t812; + const double t816 = 0.1e1 / t142 / t141; + const double t817 = t27 * t816; + const double t818 = t382 * t382; + const double t819 = t817 * t818; + const double t823 = 0.1e1 / t358 / t120; + const double t824 = t115 * t823; + const double t825 = t61 * t824; + const double t827 = t54 * t826; + const double t828 = t65 * t65; + const double t829 = t354 * t354; + const double t830 = t828 * t829; + const double t831 = t827 * t830; + const double t834 = t67 * t73; + const double t836 = 0.1e1 / t31 / t834; + const double t837 = t66 * t836; + const double t841 = t280 * t290; + const double t842 = t66 * sigma_aa; + const double t843 = t67 * t67; + const double t844 = t843 * t30; + const double t845 = 0.1e1 / t844; + const double t846 = t842 * t845; + const double t854 = t53 * t305; + const double t855 = t355 * t854; + const double t858 = t53 * t117; + const double t860 = t858 * t363 * t305; + const double t863 = t305 * t305; + const double t864 = t124 * t863; + const double t868 = 0.1e1 / t32 / t67; + const double t869 = sigma_aa * t868; + const double t873 = 0.88e2 / 0.9e1 * t869 - 0.4e2 / 0.9e1 * lapl_a * t296; + const double t874 = t368 * t873; + const double t877 = t316 * t360; + const double t882 = a / t37 / t36; + const double t883 = t882 * t45; + const double t888 = t41 * t41; + const double t890 = 0.1e1 / t44 / t888; + const double t891 = t38 * t890; + const double t899 = t316 * t115; + const double t902 = t316 * t65; + const double t906 = t72 * t70; + const double t908 = t327 * t327; + const double t910 = 0.304e3 / 0.9e1 * t837; + const double t911 = 0.13e3 / 0.9e1 * t906; + const double t912 = t910 - t911; + const double t919 = 0.1e1 / t342; + const double t940 = 0.1e1 / t346 / t111; + const double t941 = t352 * t352; + const double t944 = piecewise_functor_3( t106, t912, 0.0 ); + const double t946 = 0.1e1 / t110 / t109; + const double t947 = t946 * t108; + const double t948 = t348 * t348; + const double t952 = t349 * t948 + t350 * t944 - t947 * t948 + t944; + const double t955 = piecewise_functor_5( t80, -0.608e3 / 0.9e1 * t837 + 0.26e3 / 0.9e1 * t906 - t88 * t908 + t324 * t912 / 0.2e1 + 0.3e1 / 0.2e1 * t92 * t908 - 0.3e1 / 0.8e1 * t330 * t912 - 0.15e2 / 0.8e1 * t919 * t908 + 0.5e1 / 0.16e2 * t333 * t912, t98, -t910 + t911 + t908 + t77 * t912 - 0.3e1 / 0.2e1 * t86 * t908 - t87 * t912 / 0.2e1 + 0.15e2 / 0.8e1 * t90 * t908 + 0.3e1 / 0.8e1 * t91 * t912 - 0.35e2 / 0.16e2 * t101 * t908 - 0.5e1 / 0.16e2 * t342 * t912, -t347 * t952 + 0.2e1 * t940 * t941 ); + const double t956 = t955 * t123; + const double t957 = t956 * t54; + const double t959 = t65 * t955; + const double t960 = t362 * t959; + const double t963 = t61 * t828; + const double t964 = t829 * t359; + const double t965 = t964 * t362; + const double t968 = a2 * t863; + const double t971 = t300 * t310; + const double t972 = t305 * sigma_aa; + const double t976 = t58 * t873; + const double t979 = t57 * t57; + const double t980 = 0.1e1 / t979; + const double t981 = t980 * t66; + const double t982 = t981 * t836; + const double t985 = t311 * t868; + const double t989 = b * ( 0.2e1 * t968 * t58 + 0.64e2 / 0.3e1 * t971 * t972 * t296 + 0.2e1 * t300 * t976 + 0.128e3 / 0.3e1 * t55 * t982 - 0.176e3 / 0.9e1 * t55 * t985 ); + const double t991 = 0.12e2 * t825 * t831 + 0.12e2 * t281 * t837 * a1 - 0.16e2 / 0.3e1 * t841 * t846 * t847 - 0.18e2 * t291 * t837 * b1 + 0.4e1 * t318 * t855 - 0.12e2 * t361 * t860 + 0.2e1 * t61 * t864 + 0.2e1 * t367 * t874 - 0.6e1 * t877 * t364 - 0.16e2 / 0.9e1 * t883 * t846 * t884 + 0.28e2 / 0.3e1 * t891 * t846 * t892 + 0.88e2 / 0.9e1 * t38 * t46 * t868 + 0.4e1 * t899 * t369 + 0.2e1 * t902 * t356 + t318 * t957 - 0.3e1 * t361 * t960 - 0.6e1 * t963 * t965 + t989 * t125; + const double t993 = t372 * t375; + const double t994 = t993 * t132; + const double t998 = 0.1e1 / t374 / t139; + const double t999 = t127 * t998; + const double t1002 = t999 * t1001; + const double t1006 = t1005 * t837; + const double t1009 = t378 * t869; + const double t1012 = 0.17496e5 * t1002 * t1006 - 0.198e3 * t377 * t1009 + t991 * t140 + 0.108e3 * t994 * t379; + const double t1013 = t278 * t1012; + const double t1017 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t794 * t142 - t800 / 0.4e1 - 0.3e1 / 0.8e1 * t802 * t383 + t810 - t813 / 0.8e1 + 0.3e1 / 0.32e2 * t276 * t819 - 0.3e1 / 0.16e2 * t276 * t1013 ); + const double t1018 = t153 * t153; + const double t1019 = 0.1e1 / t1018; + const double t1020 = t390 * t390; + const double t1023 = t148 * t785; + const double t1026 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t259 + 0.2e1 * t1023 ); + const double t1030 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.9e1 * t1019 * t1020 + 0.4e1 / 0.3e1 * t153 * t1026 ); + const double t1031 = t1030 * t27; + const double t1035 = t393 * t271; + const double t1037 = t6 * t1035 * t253; + const double t1039 = t155 * t806; + const double t1042 = t6 * t1039 * t253 / 0.12e2; + const double t1044 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t1031 * t253 - t1037 / 0.4e1 + t1042 ); + const double t1060 = t410 * t271; + const double t1062 = t6 * t1060 * t142; + const double t1084 = t421 * t271; + const double t1086 = t6 * t1084 * t253; + const double t1092 = t271 * t427; + const double t1093 = t1092 * t531; + const double t1094 = t426 * t1093; + const double t1102 = t407 * t407; + const double t1107 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t259 + 0.2e1 * t786 ); + const double t1111 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t780 * t1102 + 0.4e1 / 0.3e1 * t24 * t1107 ); + const double t1112 = t1111 * t27; + const double t1118 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1112 * t142 - t1062 / 0.4e1 + t810 ); + const double t1119 = t418 * t418; + const double t1124 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t259 + 0.2e1 * t1023 ); + const double t1128 = piecewise_functor_3( t152, 0.0, 0.4e1 / 0.9e1 * t1019 * t1119 + 0.4e1 / 0.3e1 * t153 * t1124 ); + const double t1129 = t1128 * t27; + const double t1134 = t6 * t421; + const double t1139 = 0.1e1 / t253 / t252; + const double t1140 = t27 * t1139; + const double t1141 = t531 * t531; + const double t1142 = t1140 * t1141; + const double t1146 = 0.1e1 / t508 / t238; + const double t1147 = t236 * t1146; + const double t1148 = t189 * t1147; + const double t1149 = t182 * t826; + const double t1150 = t504 * t504; + const double t1151 = t828 * t1150; + const double t1152 = t1149 * t1151; + const double t1155 = t189 * t828; + const double t1156 = t1150 * t509; + const double t1157 = t1156 * t512; + const double t1160 = t181 * t117; + const double t1162 = t1160 * t513 * t455; + const double t1165 = t466 * t510; + const double t1168 = t191 * t197; + const double t1170 = 0.1e1 / t159 / t1168; + const double t1171 = t190 * t1170; + const double t1173 = t196 * t194; + const double t1175 = t477 * t477; + const double t1177 = 0.304e3 / 0.9e1 * t1171; + const double t1178 = 0.13e3 / 0.9e1 * t1173; + const double t1179 = t1177 - t1178; + const double t1186 = 0.1e1 / t492; + const double t1207 = 0.1e1 / t496 / t232; + const double t1208 = t502 * t502; + const double t1211 = piecewise_functor_3( t227, t1179, 0.0 ); + const double t1213 = 0.1e1 / t231 / t230; + const double t1214 = t1213 * t229; + const double t1215 = t498 * t498; + const double t1219 = t500 * t1211 - t1214 * t1215 + t499 * t1215 + t1211; + const double t1222 = piecewise_functor_5( t202, -0.608e3 / 0.9e1 * t1171 + 0.26e3 / 0.9e1 * t1173 - t209 * t1175 + t474 * t1179 / 0.2e1 + 0.3e1 / 0.2e1 * t213 * t1175 - 0.3e1 / 0.8e1 * t480 * t1179 - 0.15e2 / 0.8e1 * t1186 * t1175 + 0.5e1 / 0.16e2 * t483 * t1179, t219, -t1177 + t1178 + t1175 + t201 * t1179 - 0.3e1 / 0.2e1 * t207 * t1175 - t208 * t1179 / 0.2e1 + 0.15e2 / 0.8e1 * t211 * t1175 + 0.3e1 / 0.8e1 * t212 * t1179 - 0.35e2 / 0.16e2 * t222 * t1175 - 0.5e1 / 0.16e2 * t492 * t1179, 0.2e1 * t1207 * t1208 - t497 * t1219 ); + const double t1223 = t65 * t1222; + const double t1224 = t512 * t1223; + const double t1227 = t1222 * t241; + const double t1228 = t1227 * t182; + const double t1230 = t455 * t455; + const double t1231 = t242 * t1230; + const double t1235 = 0.1e1 / t160 / t191; + const double t1236 = sigma_bb * t1235; + const double t1240 = 0.88e2 / 0.9e1 * t1236 - 0.4e2 / 0.9e1 * lapl_b * t446; + const double t1241 = t518 * t1240; + const double t1246 = a / t165 / t164; + const double t1247 = t1246 * t173; + const double t1248 = t190 * sigma_bb; + const double t1249 = t191 * t191; + const double t1250 = t1249 * t158; + const double t1251 = 0.1e1 / t1250; + const double t1252 = t1248 * t1251; + const double t1256 = t169 * t169; + const double t1258 = 0.1e1 / t172 / t1256; + const double t1259 = t166 * t1258; + const double t1266 = t466 * t236; + const double t1269 = t466 * t65; + const double t1272 = a2 * t1230; + const double t1275 = t450 * t460; + const double t1276 = t455 * sigma_bb; + const double t1280 = t186 * t1240; + const double t1283 = t185 * t185; + const double t1284 = 0.1e1 / t1283; + const double t1285 = t1284 * t190; + const double t1286 = t1285 * t1170; + const double t1289 = t461 * t1235; + const double t1293 = b * ( 0.2e1 * t1272 * t186 + 0.64e2 / 0.3e1 * t1275 * t1276 * t446 + 0.2e1 * t450 * t1280 + 0.128e3 / 0.3e1 * t183 * t1286 - 0.176e3 / 0.9e1 * t183 * t1289 ); + const double t1298 = t430 * t440; + const double t1305 = t181 * t455; + const double t1306 = t505 * t1305; + const double t1309 = 0.12e2 * t1148 * t1152 - 0.6e1 * t1155 * t1157 - 0.12e2 * t511 * t1162 - 0.6e1 * t1165 * t514 - 0.3e1 * t511 * t1224 + t468 * t1228 + 0.2e1 * t189 * t1231 + 0.2e1 * t517 * t1241 - 0.16e2 / 0.9e1 * t1247 * t1252 * t884 + 0.28e2 / 0.3e1 * t1259 * t1252 * t892 + 0.88e2 / 0.9e1 * t166 * t174 * t1235 + 0.4e1 * t1266 * t519 + 0.2e1 * t1269 * t506 + t1293 * t243 + 0.12e2 * t431 * t1171 * a1 - 0.16e2 / 0.3e1 * t1298 * t1252 * t847 - 0.18e2 * t441 * t1171 * b1 + 0.4e1 * t468 * t1306; + const double t1311 = t522 * t525; + const double t1312 = t1311 * t132; + const double t1316 = 0.1e1 / t524 / t250; + const double t1317 = t245 * t1316; + const double t1318 = t1317 * t1001; + const double t1319 = t1005 * t1171; + const double t1322 = t378 * t1236; + const double t1325 = t1309 * t251 + 0.108e3 * t1312 * t528 + 0.17496e5 * t1318 * t1319 - 0.198e3 * t527 * t1322; + const double t1326 = t428 * t1325; + const double t1330 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.8e1 * t6 * t1129 * t253 - t1086 / 0.4e1 - 0.3e1 / 0.8e1 * t1134 * t532 + t1042 - t1094 / 0.8e1 + 0.3e1 / 0.32e2 * t426 * t1142 - 0.3e1 / 0.16e2 * t426 * t1326 ); + const double t1335 = t811 * t602; + const double t1337 = t276 * t1335 / 0.16e2; + const double t1338 = t602 * t382; + const double t1339 = t817 * t1338; + const double t1342 = t828 * t583; + const double t1343 = t1342 * t354; + const double t1344 = t827 * t1343; + const double t1350 = a2 * t305; + const double t1353 = t310 * t284; + const double t1354 = t1353 * sigma_aa; + const double t1357 = t58 * t296; + const double t1363 = t980 * t284; + const double t1364 = t1363 * sigma_aa; + const double t1367 = t310 * t296; + const double t1371 = b * ( 0.2e1 * t1350 * t548 + 0.32e2 / 0.3e1 * t300 * t1354 - 0.16e2 / 0.3e1 * t300 * t1357 - 0.4e1 * t300 * t550 * t305 - 0.16e2 * t55 * t1364 + 0.16e2 / 0.3e1 * t55 * t1367 ); + const double t1373 = t843 * rho_a; + const double t1374 = 0.1e1 / t1373; + const double t1375 = t66 * t1374; + const double t1382 = t554 * t115; + const double t1385 = t554 * t65; + const double t1388 = t61 * t1342; + const double t1389 = t359 * t54; + const double t1390 = t117 * t354; + const double t1391 = t1389 * t1390; + const double t1394 = t587 * t305; + const double t1395 = t858 * t1394; + const double t1398 = t53 * t34; + const double t1399 = t118 * t354; + const double t1400 = t1398 * t1399; + const double t1401 = t361 * t1400; + const double t1403 = 0.12e2 * t825 * t1344 - 0.8e1 / 0.3e1 * t38 * t45 * t296 + t1371 * t125 + 0.2e1 / 0.3e1 * t883 * t1375 * t884 - 0.7e1 / 0.2e1 * t891 * t1375 * t892 + 0.2e1 * t1382 * t369 + t1385 * t356 + t902 * t585 - 0.6e1 * t1388 * t1391 - 0.6e1 * t361 * t1395 - 0.6e1 * t1401; + const double t1404 = sigma_aa * t284; + const double t1414 = t584 * t854; + const double t1417 = t368 * t296; + const double t1418 = t367 * t1417; + const double t1420 = t355 * t1398; + const double t1421 = t318 * t1420; + const double t1424 = t88 * sigma_aa; + const double t1425 = t327 * t70; + const double t1430 = t92 * sigma_aa; + const double t1435 = t919 * sigma_aa; + const double t1441 = 0.32e2 / 0.3e1 * t1404; + const double t1442 = t327 * sigma_aa; + const double t1447 = t86 * sigma_aa; + const double t1452 = t90 * sigma_aa; + const double t1457 = t101 * sigma_aa; + const double t1463 = t940 * t581; + const double t1466 = piecewise_functor_3( t106, -t1441, 0.0 ); + const double t1467 = t579 * t348; + const double t1469 = t349 * t348; + const double t1472 = t350 * t1466 - t947 * t1467 + t1469 * t579 + t1466; + const double t1475 = piecewise_functor_5( t80, 0.64e2 / 0.3e1 * t1404 - 0.2e1 * t1424 * t1425 - 0.16e2 / 0.3e1 * t557 * t284 + 0.3e1 * t1430 * t1425 + 0.4e1 * t559 * t284 - 0.15e2 / 0.4e1 * t1435 * t1425 - 0.1e2 / 0.3e1 * t562 * t284, t98, t1441 + 0.2e1 * t1442 * t70 - 0.32e2 / 0.3e1 * t567 * t284 - 0.3e1 * t1447 * t1425 + 0.16e2 / 0.3e1 * t570 * t284 + 0.15e2 / 0.4e1 * t1452 * t1425 - 0.4e1 * t572 * t284 - 0.35e2 / 0.8e1 * t1457 * t1425 + 0.1e2 / 0.3e1 * t575 * t284, 0.2e1 * t1463 * t352 - t347 * t1472 ); + const double t1476 = t1475 * t123; + const double t1477 = t1476 * t54; + const double t1479 = t899 * t591; + const double t1481 = t123 * t305; + const double t1482 = t1481 * t34; + const double t1483 = t367 * t1482; + const double t1485 = t554 * t360; + const double t1490 = t65 * t1475; + const double t1491 = t362 * t1490; + const double t1494 = -0.4e1 * t281 * t1404 * a1 + 0.2e1 * t841 * t1375 * t847 + 0.6e1 * t291 * t1404 * b1 + 0.2e1 * t318 * t1414 - 0.16e2 / 0.3e1 * t1418 + 0.2e1 * t1421 + t318 * t1477 + 0.2e1 * t1479 + 0.2e1 * t1483 - 0.3e1 * t1485 * t364 - 0.3e1 * t877 * t588 - 0.3e1 * t361 * t1491; + const double t1495 = t1403 + t1494; + const double t1497 = t594 * t375; + const double t1498 = t1497 * t132; + const double t1501 = t993 * t128; + const double t1504 = t1005 * t1404; + const double t1507 = b * t296; + const double t1508 = t597 * t1507; + const double t1511 = t1495 * t140 + 0.54e2 * t1498 * t379 - 0.81e2 / 0.4e1 * t1501 * t599 - 0.6561e4 * t1002 * t1504 + 0.54e2 * t596 * t1508; + const double t1512 = t278 * t1511; + const double t1516 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t802 * t603 - t1337 + 0.3e1 / 0.32e2 * t276 * t1339 - 0.3e1 / 0.16e2 * t276 * t1512 ); + const double t1520 = t1092 * t669; + const double t1522 = t426 * t1520 / 0.16e2; + const double t1533 = t669 * t531; + const double t1534 = t1140 * t1533; + const double t1537 = t828 * t651; + const double t1538 = t1537 * t504; + const double t1539 = t1149 * t1538; + const double t1542 = t189 * t1537; + const double t1543 = t509 * t182; + const double t1544 = t117 * t504; + const double t1545 = t1543 * t1544; + const double t1548 = t655 * t455; + const double t1549 = t1160 * t1548; + const double t1552 = t181 * t162; + const double t1553 = t118 * t504; + const double t1554 = t1552 * t1553; + const double t1555 = t511 * t1554; + const double t1560 = a2 * t455; + const double t1563 = t460 * t434; + const double t1564 = t1563 * sigma_bb; + const double t1567 = t186 * t446; + const double t1573 = t1284 * t434; + const double t1574 = t1573 * sigma_bb; + const double t1577 = t460 * t446; + const double t1581 = b * ( 0.2e1 * t1560 * t616 + 0.32e2 / 0.3e1 * t450 * t1564 - 0.16e2 / 0.3e1 * t450 * t1567 - 0.4e1 * t450 * t618 * t455 - 0.16e2 * t183 * t1574 + 0.16e2 / 0.3e1 * t183 * t1577 ); + const double t1583 = sigma_bb * t434; + const double t1587 = t1249 * rho_b; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t190 * t1588; + const double t1596 = t652 * t1305; + const double t1599 = t518 * t446; + const double t1600 = t517 * t1599; + const double t1602 = 0.12e2 * t1148 * t1539 - 0.6e1 * t1542 * t1545 - 0.6e1 * t511 * t1549 - 0.6e1 * t1555 - 0.8e1 / 0.3e1 * t166 * t173 * t446 + t1581 * t243 - 0.4e1 * t431 * t1583 * a1 + 0.2e1 * t1298 * t1589 * t847 + 0.6e1 * t441 * t1583 * b1 + 0.2e1 * t468 * t1596 - 0.16e2 / 0.3e1 * t1600; + const double t1603 = t505 * t1552; + const double t1604 = t468 * t1603; + const double t1612 = t622 * t236; + const double t1615 = t622 * t65; + const double t1619 = t209 * sigma_bb; + const double t1620 = t477 * t194; + const double t1625 = t213 * sigma_bb; + const double t1630 = t1186 * sigma_bb; + const double t1636 = 0.32e2 / 0.3e1 * t1583; + const double t1637 = t477 * sigma_bb; + const double t1642 = t207 * sigma_bb; + const double t1647 = t211 * sigma_bb; + const double t1652 = t222 * sigma_bb; + const double t1658 = t1207 * t649; + const double t1661 = piecewise_functor_3( t227, -t1636, 0.0 ); + const double t1662 = t647 * t498; + const double t1664 = t499 * t498; + const double t1667 = -t1214 * t1662 + t500 * t1661 + t1664 * t647 + t1661; + const double t1670 = piecewise_functor_5( t202, 0.64e2 / 0.3e1 * t1583 - 0.2e1 * t1619 * t1620 - 0.16e2 / 0.3e1 * t625 * t434 + 0.3e1 * t1625 * t1620 + 0.4e1 * t627 * t434 - 0.15e2 / 0.4e1 * t1630 * t1620 - 0.1e2 / 0.3e1 * t630 * t434, t219, t1636 + 0.2e1 * t1637 * t194 - 0.32e2 / 0.3e1 * t635 * t434 - 0.3e1 * t1642 * t1620 + 0.16e2 / 0.3e1 * t638 * t434 + 0.15e2 / 0.4e1 * t1647 * t1620 - 0.4e1 * t640 * t434 - 0.35e2 / 0.8e1 * t1652 * t1620 + 0.1e2 / 0.3e1 * t643 * t434, 0.2e1 * t1658 * t502 - t497 * t1667 ); + const double t1671 = t1670 * t241; + const double t1672 = t1671 * t182; + const double t1674 = t1266 * t659; + const double t1676 = t241 * t455; + const double t1677 = t1676 * t162; + const double t1678 = t517 * t1677; + const double t1680 = t622 * t510; + const double t1685 = t65 * t1670; + const double t1686 = t512 * t1685; + const double t1689 = 0.2e1 * t1604 + 0.2e1 / 0.3e1 * t1247 * t1589 * t884 - 0.7e1 / 0.2e1 * t1259 * t1589 * t892 + 0.2e1 * t1612 * t519 + t1615 * t506 + t1269 * t653 + t468 * t1672 + 0.2e1 * t1674 + 0.2e1 * t1678 - 0.3e1 * t1680 * t514 - 0.3e1 * t1165 * t656 - 0.3e1 * t511 * t1686; + const double t1690 = t1602 + t1689; + const double t1692 = t662 * t525; + const double t1693 = t1692 * t132; + const double t1696 = t1311 * t128; + const double t1699 = t1005 * t1583; + const double t1702 = b * t446; + const double t1703 = t597 * t1702; + const double t1706 = t1690 * t251 + 0.54e2 * t1693 * t528 - 0.81e2 / 0.4e1 * t1696 * t666 - 0.6561e4 * t1318 * t1699 + 0.54e2 * t664 * t1703; + const double t1707 = t428 * t1706; + const double t1711 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t1134 * t670 - t1522 + 0.3e1 / 0.32e2 * t426 * t1534 - 0.3e1 / 0.16e2 * t426 * t1707 ); + const double t1715 = t811 * t721; + const double t1717 = t276 * t1715 / 0.16e2; + const double t1718 = t6 * t28; + const double t1719 = t816 * t720; + const double t1720 = t140 * t382; + const double t1721 = t1719 * t1720; + const double t1724 = t54 * t58; + const double t1725 = t674 * t1724; + const double t1726 = t51 * t115; + const double t1730 = t675 * t310; + const double t1731 = t674 * t1730; + const double t1732 = t70 * t115; + const double t1733 = t123 * sigma_aa; + const double t1740 = t675 * t58; + const double t1741 = t674 * t1740; + const double t1742 = t51 * t65; + const double t1747 = t674 * t1740 * t51; + const double t1748 = t360 * t1399; + const double t1752 = lapl_a * t321; + const double t1754 = t88 * lapl_a; + const double t1755 = t327 * t75; + const double t1760 = t92 * lapl_a; + const double t1765 = t919 * lapl_a; + const double t1771 = 0.2e2 / 0.3e1 * t1752; + const double t1772 = t327 * lapl_a; + const double t1777 = t86 * lapl_a; + const double t1782 = t90 * lapl_a; + const double t1787 = t101 * lapl_a; + const double t1793 = t940 * t707; + const double t1796 = piecewise_functor_3( t106, t1771, 0.0 ); + const double t1797 = t705 * t348; + const double t1801 = t1469 * t705 + t350 * t1796 - t947 * t1797 + t1796; + const double t1804 = piecewise_functor_5( t80, -0.4e2 / 0.3e1 * t1752 + 0.2e1 * t1754 * t1755 + 0.1e2 / 0.3e1 * t683 * t321 - 0.3e1 * t1760 * t1755 - 0.5e1 / 0.2e1 * t685 * t321 + 0.15e2 / 0.4e1 * t1765 * t1755 + 0.25e2 / 0.12e2 * t688 * t321, t98, -t1771 - 0.2e1 * t1772 * t75 + 0.2e2 / 0.3e1 * t693 * t321 + 0.3e1 * t1777 * t1755 - 0.1e2 / 0.3e1 * t696 * t321 - 0.15e2 / 0.4e1 * t1782 * t1755 + 0.5e1 / 0.2e1 * t698 * t321 + 0.35e2 / 0.8e1 * t1787 * t1755 - 0.25e2 / 0.12e2 * t701 * t321, 0.2e1 * t1793 * t352 - t347 * t1801 ); + const double t1805 = t1804 * t123; + const double t1806 = t1805 * t54; + const double t1808 = t828 * t709; + const double t1809 = t61 * t1808; + const double t1812 = t710 * t854; + const double t1817 = t1808 * t354; + const double t1818 = t827 * t1817; + const double t1821 = t713 * t305; + const double t1822 = t858 * t1821; + const double t1825 = t65 * t1804; + const double t1826 = t362 * t1825; + const double t1831 = t53 * t51; + const double t1832 = t355 * t1831; + const double t1835 = t1831 * t1399; + const double t1838 = t1481 * t51; + const double t1842 = -0.6e1 * t1725 * t1726 * t1481 - 0.32e2 / 0.3e1 * t1731 * t1732 * t1733 + 0.1e2 / 0.3e1 * t676 * t548 * t124 - 0.2e1 * t1741 * t1742 * t355 + 0.6e1 * t1747 * t1748 + t902 * t711 + t318 * t1806 - 0.6e1 * t1809 * t1391 + 0.2e1 * t318 * t1812 - 0.3e1 * t877 * t714 + 0.12e2 * t825 * t1818 - 0.6e1 * t361 * t1822 - 0.3e1 * t361 * t1826 - 0.2e1 * t899 * t717 - 0.2e1 * t318 * t1832 + 0.6e1 * t361 * t1835 - 0.2e1 * t367 * t1838 + 0.1e2 / 0.3e1 * t592; + const double t1843 = t1842 * t140; + const double t1844 = t278 * t1843; + const double t1847 = t5 * t26; + const double t1848 = t278 * t720; + const double t1849 = t1847 * t1848; + const double t1850 = t375 * t131; + const double t1851 = t1850 * t133; + const double t1852 = t135 * t296; + const double t1853 = t1851 * t1852; + const double t1857 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.16e2 * t802 * t722 - t1717 + 0.3e1 / 0.32e2 * t1718 * t1721 - 0.3e1 / 0.16e2 * t276 * t1844 - 0.243e3 / 0.8e1 * t1849 * t1853 ); + const double t1861 = t1092 * t772; + const double t1863 = t426 * t1861 / 0.16e2; + const double t1874 = t6 * t156; + const double t1875 = t1139 * t771; + const double t1876 = t251 * t531; + const double t1877 = t1875 * t1876; + const double t1880 = t182 * t186; + const double t1881 = t674 * t1880; + const double t1882 = t179 * t236; + const double t1886 = t726 * t460; + const double t1887 = t674 * t1886; + const double t1888 = t194 * t236; + const double t1889 = t241 * sigma_bb; + const double t1896 = t726 * t186; + const double t1897 = t674 * t1896; + const double t1898 = t179 * t65; + const double t1903 = t674 * t1896 * t179; + const double t1904 = t510 * t1553; + const double t1908 = lapl_b * t471; + const double t1910 = t209 * lapl_b; + const double t1911 = t477 * t199; + const double t1916 = t213 * lapl_b; + const double t1921 = t1186 * lapl_b; + const double t1927 = 0.2e2 / 0.3e1 * t1908; + const double t1928 = t477 * lapl_b; + const double t1933 = t207 * lapl_b; + const double t1938 = t211 * lapl_b; + const double t1943 = t222 * lapl_b; + const double t1949 = t1207 * t758; + const double t1952 = piecewise_functor_3( t227, t1927, 0.0 ); + const double t1953 = t756 * t498; + const double t1957 = -t1214 * t1953 + t1664 * t756 + t500 * t1952 + t1952; + const double t1960 = piecewise_functor_5( t202, -0.4e2 / 0.3e1 * t1908 + 0.2e1 * t1910 * t1911 + 0.1e2 / 0.3e1 * t734 * t471 - 0.3e1 * t1916 * t1911 - 0.5e1 / 0.2e1 * t736 * t471 + 0.15e2 / 0.4e1 * t1921 * t1911 + 0.25e2 / 0.12e2 * t739 * t471, t219, -t1927 - 0.2e1 * t1928 * t199 + 0.2e2 / 0.3e1 * t744 * t471 + 0.3e1 * t1933 * t1911 - 0.1e2 / 0.3e1 * t747 * t471 - 0.15e2 / 0.4e1 * t1938 * t1911 + 0.5e1 / 0.2e1 * t749 * t471 + 0.35e2 / 0.8e1 * t1943 * t1911 - 0.25e2 / 0.12e2 * t752 * t471, 0.2e1 * t1949 * t502 - t497 * t1957 ); + const double t1961 = t1960 * t241; + const double t1962 = t1961 * t182; + const double t1964 = t828 * t760; + const double t1965 = t189 * t1964; + const double t1968 = t761 * t1305; + const double t1973 = t1964 * t504; + const double t1974 = t1149 * t1973; + const double t1977 = t764 * t455; + const double t1978 = t1160 * t1977; + const double t1981 = t65 * t1960; + const double t1982 = t512 * t1981; + const double t1987 = t181 * t179; + const double t1988 = t505 * t1987; + const double t1991 = t1987 * t1553; + const double t1994 = t1676 * t179; + const double t1998 = -0.6e1 * t1881 * t1882 * t1676 - 0.32e2 / 0.3e1 * t1887 * t1888 * t1889 + 0.1e2 / 0.3e1 * t727 * t616 * t242 - 0.2e1 * t1897 * t1898 * t505 + 0.6e1 * t1903 * t1904 + t1269 * t762 + t468 * t1962 - 0.6e1 * t1965 * t1545 + 0.2e1 * t468 * t1968 - 0.3e1 * t1165 * t765 + 0.12e2 * t1148 * t1974 - 0.6e1 * t511 * t1978 - 0.3e1 * t511 * t1982 - 0.2e1 * t1266 * t768 - 0.2e1 * t468 * t1988 + 0.6e1 * t511 * t1991 - 0.2e1 * t517 * t1994 + 0.1e2 / 0.3e1 * t660; + const double t1999 = t1998 * t251; + const double t2000 = t428 * t1999; + const double t2003 = t5 * t155; + const double t2004 = t428 * t771; + const double t2005 = t2003 * t2004; + const double t2006 = t525 * t131; + const double t2007 = t2006 * t133; + const double t2008 = t246 * t446; + const double t2009 = t2007 * t2008; + const double t2013 = piecewise_functor_3( t147, 0.0, -0.3e1 / 0.16e2 * t1134 * t773 - t1863 + 0.3e1 / 0.32e2 * t1874 * t1877 - 0.3e1 / 0.16e2 * t426 * t2000 - 0.243e3 / 0.8e1 * t2005 * t2009 ); + const double t2015 = t602 * t602; + const double t2016 = t817 * t2015; + const double t2019 = t583 * t583; + const double t2020 = t828 * t2019; + const double t2021 = t827 * t2020; + const double t2024 = 0.1e1 / t843; + const double t2025 = sigma_aa * t2024; + const double t2038 = t88 * t66; + const double t2040 = 0.1e1 / t32 / t844; + const double t2043 = t324 * t70; + const double t2044 = t92 * t66; + const double t2047 = t330 * t70; + const double t2049 = t919 * t66; + const double t2052 = t333 * t70; + const double t2055 = 0.2e1 * t70; + const double t2058 = t77 * t70; + const double t2060 = t86 * t66; + const double t2063 = t87 * t70; + const double t2064 = t90 * t66; + const double t2067 = t91 * t70; + const double t2069 = t101 * t66; + const double t2072 = t342 * t70; + const double t2075 = t581 * t581; + const double t2078 = piecewise_functor_3( t106, t2055, 0.0 ); + const double t2079 = t579 * t579; + const double t2083 = t350 * t2078 + t349 * t2079 - t947 * t2079 + t2078; + const double t2086 = piecewise_functor_5( t80, -0.4e1 * t70 - 0.4e1 * t2038 * t2040 + t2043 + 0.6e1 * t2044 * t2040 - 0.3e1 / 0.4e1 * t2047 - 0.15e2 / 0.2e1 * t2049 * t2040 + 0.5e1 / 0.8e1 * t2052, t98, -t2055 + 0.4e1 * t66 * t2040 + 0.2e1 * t2058 - 0.6e1 * t2060 * t2040 - t2063 + 0.15e2 / 0.2e1 * t2064 * t2040 + 0.3e1 / 0.4e1 * t2067 - 0.35e2 / 0.4e1 * t2069 * t2040 - 0.5e1 / 0.8e1 * t2072, 0.2e1 * t940 * t2075 - t347 * t2083 ); + const double t2087 = t65 * t2086; + const double t2088 = t362 * t2087; + const double t2094 = t310 * t70; + const double t2097 = t980 * t70; + const double t2101 = b * ( 0.2e1 * a2 * t70 * t58 - 0.8e1 * t300 * t2094 + 0.6e1 * t55 * t2097 ); + const double t2103 = t584 * t1398; + const double t2104 = t318 * t2103; + const double t2106 = t2019 * t359; + const double t2107 = t2106 * t362; + const double t2110 = t587 * t34; + const double t2111 = t858 * t2110; + const double t2112 = t361 * t2111; + const double t2118 = t1382 * t591; + const double t2122 = t2086 * t123; + const double t2123 = t2122 * t54; + const double t2125 = t124 * t70; + const double t2126 = t61 * t2125; + const double t2131 = 0.12e2 * t825 * t2021 - t883 * t2025 * t884 / 0.4e1 - 0.3e1 / 0.4e1 * t841 * t2025 * t847 + 0.21e2 / 0.16e2 * t891 * t2025 * t892 - 0.6e1 * t1485 * t588 - 0.3e1 * t361 * t2088 + t2101 * t125 + 0.4e1 * t2104 - 0.6e1 * t963 * t2107 - 0.12e2 * t2112 - 0.3e1 / 0.2e1 * t38 * t290 * t70 * b1 + 0.4e1 * t2118 + 0.2e1 * t1385 * t585 + t318 * t2123 + 0.2e1 * t2126 + t280 * t45 * t70 * a1; + const double t2133 = t1497 * t128; + const double t2136 = t999 * t3; + const double t2138 = t1004 * t70; + const double t2139 = t2137 * t2138; + const double t2142 = t2131 * t140 - 0.81e2 / 0.2e1 * t2133 * t599 + 0.19683e5 / 0.8e1 * t2136 * t2139; + const double t2143 = t278 * t2142; + const double t2147 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.32e2 * t276 * t2016 - 0.3e1 / 0.16e2 * t276 * t2143 ); + const double t2148 = t669 * t669; + const double t2149 = t1140 * t2148; + const double t2152 = t651 * t651; + const double t2153 = t828 * t2152; + const double t2154 = t1149 * t2153; + const double t2160 = t460 * t194; + const double t2163 = t1284 * t194; + const double t2167 = b * ( 0.2e1 * a2 * t194 * t186 + 0.6e1 * t183 * t2163 - 0.8e1 * t450 * t2160 ); + const double t2169 = 0.1e1 / t1249; + const double t2170 = sigma_bb * t2169; + const double t2183 = t209 * t190; + const double t2185 = 0.1e1 / t160 / t1250; + const double t2188 = t474 * t194; + const double t2189 = t213 * t190; + const double t2192 = t480 * t194; + const double t2194 = t1186 * t190; + const double t2197 = t483 * t194; + const double t2200 = 0.2e1 * t194; + const double t2203 = t201 * t194; + const double t2205 = t207 * t190; + const double t2208 = t208 * t194; + const double t2209 = t211 * t190; + const double t2212 = t212 * t194; + const double t2214 = t222 * t190; + const double t2217 = t492 * t194; + const double t2220 = t649 * t649; + const double t2223 = piecewise_functor_3( t227, t2200, 0.0 ); + const double t2224 = t647 * t647; + const double t2228 = -t1214 * t2224 + t500 * t2223 + t499 * t2224 + t2223; + const double t2231 = piecewise_functor_5( t202, -0.4e1 * t194 - 0.4e1 * t2183 * t2185 + t2188 + 0.6e1 * t2189 * t2185 - 0.3e1 / 0.4e1 * t2192 - 0.15e2 / 0.2e1 * t2194 * t2185 + 0.5e1 / 0.8e1 * t2197, t219, -t2200 + 0.4e1 * t190 * t2185 + 0.2e1 * t2203 - 0.6e1 * t2205 * t2185 - t2208 + 0.15e2 / 0.2e1 * t2209 * t2185 + 0.3e1 / 0.4e1 * t2212 - 0.35e2 / 0.4e1 * t2214 * t2185 - 0.5e1 / 0.8e1 * t2217, 0.2e1 * t1207 * t2220 - t497 * t2228 ); + const double t2232 = t65 * t2231; + const double t2233 = t512 * t2232; + const double t2243 = t1612 * t659; + const double t2247 = t2231 * t241; + const double t2248 = t2247 * t182; + const double t2250 = t242 * t194; + const double t2251 = t189 * t2250; + const double t2253 = t652 * t1552; + const double t2254 = t468 * t2253; + const double t2256 = t2152 * t509; + const double t2257 = t2256 * t512; + const double t2260 = t655 * t162; + const double t2261 = t1160 * t2260; + const double t2262 = t511 * t2261; + const double t2264 = 0.12e2 * t1148 * t2154 + t2167 * t243 - t1247 * t2170 * t884 / 0.4e1 - 0.3e1 / 0.4e1 * t1298 * t2170 * t847 + 0.21e2 / 0.16e2 * t1259 * t2170 * t892 - 0.6e1 * t1680 * t656 - 0.3e1 * t511 * t2233 + t430 * t173 * t194 * a1 - 0.3e1 / 0.2e1 * t166 * t440 * t194 * b1 + 0.4e1 * t2243 + 0.2e1 * t1615 * t653 + t468 * t2248 + 0.2e1 * t2251 + 0.4e1 * t2254 - 0.6e1 * t1155 * t2257 - 0.12e2 * t2262; + const double t2266 = t1692 * t128; + const double t2269 = t1317 * t3; + const double t2270 = t1004 * t194; + const double t2271 = t2137 * t2270; + const double t2274 = t2264 * t251 - 0.81e2 / 0.2e1 * t2266 * t666 + 0.19683e5 / 0.8e1 * t2269 * t2271; + const double t2275 = t428 * t2274; + const double t2279 = piecewise_functor_3( t147, 0.0, 0.3e1 / 0.32e2 * t426 * t2149 - 0.3e1 / 0.16e2 * t426 * t2275 ); + const double t2280 = t140 * t602; + const double t2281 = t1719 * t2280; + const double t2284 = t674 * t54; + const double t2286 = t58 * t321 * t124; + const double t2287 = t2284 * t2286; + const double t2296 = t118 * t583; + const double t2297 = t360 * t2296; + const double t2302 = 0.1e1 / t32 / t843; + const double t2303 = sigma_aa * t2302; + const double t2322 = piecewise_functor_3( t106, 0.0, 0.0 ); + const double t2323 = t705 * t579; + const double t2325 = t349 * t579; + const double t2327 = t350 * t2322; + const double t2328 = -t947 * t2323 + t2325 * t705 + t2322 + t2327; + const double t2331 = piecewise_functor_5( t80, 0.4e1 * t1754 * t2303 - 0.6e1 * t1760 * t2303 + 0.15e2 / 0.2e1 * t1765 * t2303, t98, -0.4e1 * t2303 * lapl_a + 0.6e1 * t1777 * t2303 - 0.15e2 / 0.2e1 * t1782 * t2303 + 0.35e2 / 0.4e1 * t1787 * t2303, 0.2e1 * t1793 * t581 - t347 * t2328 ); + const double t2332 = t2331 * t123; + const double t2333 = t2332 * t54; + const double t2335 = t117 * t583; + const double t2336 = t1389 * t2335; + const double t2339 = t710 * t1398; + const double t2340 = t318 * t2339; + const double t2344 = t1808 * t583; + const double t2345 = t827 * t2344; + const double t2348 = t713 * t34; + const double t2349 = t858 * t2348; + const double t2350 = t361 * t2349; + const double t2352 = t65 * t2331; + const double t2353 = t362 * t2352; + const double t2358 = t584 * t1831; + const double t2361 = t1831 * t2296; + const double t2364 = t124 * t321; + const double t2365 = t61 * t2364; + const double t2367 = 0.4e1 * t676 * t310 * t321 * t124 - 0.2e1 * t1741 * t1742 * t584 - 0.2e1 * t1382 * t717 + t1385 * t711 - 0.3e1 * t1485 * t714 + 0.6e1 * t1747 * t2297 - 0.6e1 * t1809 * t2336 + t318 * t2333 + 0.12e2 * t825 * t2345 - 0.3e1 * t361 * t2353 - 0.2e1 * t318 * t2358 + 0.6e1 * t361 * t2361 - 0.6e1 * t2287 + 0.2e1 * t2340 - 0.6e1 * t2350 - 0.2e1 * t2365; + const double t2368 = t2367 * t140; + const double t2369 = t278 * t2368; + const double t2372 = t378 * t34; + const double t2373 = t1850 * t2372; + const double t2377 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.32e2 * t1718 * t2281 - 0.3e1 / 0.16e2 * t276 * t2369 + 0.729e3 / 0.64e2 * t1849 * t2373 ); + const double t2378 = t251 * t669; + const double t2379 = t1875 * t2378; + const double t2382 = t674 * t182; + const double t2384 = t186 * t471 * t242; + const double t2385 = t2382 * t2384; + const double t2394 = t118 * t651; + const double t2395 = t510 * t2394; + const double t2400 = 0.1e1 / t160 / t1249; + const double t2401 = sigma_bb * t2400; + const double t2420 = piecewise_functor_3( t227, 0.0, 0.0 ); + const double t2421 = t756 * t647; + const double t2423 = t499 * t647; + const double t2425 = t500 * t2420; + const double t2426 = -t1214 * t2421 + t2423 * t756 + t2420 + t2425; + const double t2429 = piecewise_functor_5( t202, 0.4e1 * t1910 * t2401 - 0.6e1 * t1916 * t2401 + 0.15e2 / 0.2e1 * t1921 * t2401, t219, -0.4e1 * t2401 * lapl_b + 0.6e1 * t1933 * t2401 - 0.15e2 / 0.2e1 * t1938 * t2401 + 0.35e2 / 0.4e1 * t1943 * t2401, 0.2e1 * t1949 * t649 - t497 * t2426 ); + const double t2430 = t2429 * t241; + const double t2431 = t2430 * t182; + const double t2433 = t117 * t651; + const double t2434 = t1543 * t2433; + const double t2437 = t761 * t1552; + const double t2438 = t468 * t2437; + const double t2442 = t1964 * t651; + const double t2443 = t1149 * t2442; + const double t2446 = t764 * t162; + const double t2447 = t1160 * t2446; + const double t2448 = t511 * t2447; + const double t2450 = t65 * t2429; + const double t2451 = t512 * t2450; + const double t2456 = t652 * t1987; + const double t2459 = t1987 * t2394; + const double t2462 = t242 * t471; + const double t2463 = t189 * t2462; + const double t2465 = 0.4e1 * t727 * t460 * t471 * t242 - 0.2e1 * t1897 * t1898 * t652 + 0.12e2 * t1148 * t2443 - 0.2e1 * t1612 * t768 + t1615 * t762 - 0.3e1 * t1680 * t765 + 0.6e1 * t1903 * t2395 - 0.6e1 * t1965 * t2434 + t468 * t2431 - 0.3e1 * t511 * t2451 - 0.2e1 * t468 * t2456 + 0.6e1 * t511 * t2459 - 0.6e1 * t2385 + 0.2e1 * t2438 - 0.6e1 * t2448 - 0.2e1 * t2463; + const double t2466 = t2465 * t251; + const double t2467 = t428 * t2466; + const double t2470 = t378 * t162; + const double t2471 = t2006 * t2470; + const double t2475 = piecewise_functor_3( t147, 0.0, 0.3e1 / 0.32e2 * t1874 * t2379 - 0.3e1 / 0.16e2 * t426 * t2467 + 0.729e3 / 0.64e2 * t2005 * t2471 ); + const double t2476 = t720 * t720; + const double t2477 = t2476 * t375; + const double t2478 = t817 * t2477; + const double t2482 = t58 * t75 * t124; + const double t2489 = t360 * t118 * t709; + const double t2493 = t88 * t72; + const double t2495 = 0.1e1 / t32 / t282; + const double t2499 = t92 * t72; + const double t2502 = t330 * t75; + const double t2504 = t919 * t72; + const double t2507 = t333 * t75; + const double t2510 = 0.2e1 * t75; + const double t2513 = t77 * t75; + const double t2515 = t86 * t72; + const double t2518 = t87 * t75; + const double t2519 = t90 * t72; + const double t2522 = t91 * t75; + const double t2524 = t101 * t72; + const double t2530 = t707 * t707; + const double t2533 = piecewise_functor_3( t106, -t2510, 0.0 ); + const double t2534 = t705 * t705; + const double t2538 = t350 * t2533 + t349 * t2534 - t947 * t2534 + t2533; + const double t2541 = piecewise_functor_5( t80, 0.4e1 * t75 - 0.4e1 * t2493 * t2495 - t324 * t75 + 0.6e1 * t2499 * t2495 + 0.3e1 / 0.4e1 * t2502 - 0.15e2 / 0.2e1 * t2504 * t2495 - 0.5e1 / 0.8e1 * t2507, t98, t2510 + 0.4e1 * t72 * t2495 - 0.2e1 * t2513 - 0.6e1 * t2515 * t2495 + t2518 + 0.15e2 / 0.2e1 * t2519 * t2495 - 0.3e1 / 0.4e1 * t2522 - 0.35e2 / 0.4e1 * t2524 * t2495 + 0.5e1 / 0.8e1 * t342 * t75, 0.2e1 * t940 * t2530 - t347 * t2538 ); + const double t2542 = t2541 * t123; + const double t2543 = t2542 * t54; + const double t2545 = t709 * t709; + const double t2546 = t2545 * t359; + const double t2547 = t2546 * t362; + const double t2550 = t710 * t1831; + const double t2553 = t828 * t2545; + const double t2554 = t827 * t2553; + const double t2557 = t713 * t51; + const double t2558 = t858 * t2557; + const double t2561 = t65 * t2541; + const double t2562 = t362 * t2561; + const double t2565 = t124 * t75; + const double t2568 = -0.4e1 * t1741 * t1742 * t710 + 0.12e2 * t1747 * t2489 + 0.1e2 * t2284 * t2482 + t318 * t2543 - 0.6e1 * t963 * t2547 - 0.4e1 * t318 * t2550 + 0.12e2 * t825 * t2554 + 0.12e2 * t361 * t2558 - 0.3e1 * t361 * t2562 + 0.2e1 * t61 * t2565; + const double t2569 = t2568 * t140; + const double t2570 = t278 * t2569; + const double t2574 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.32e2 * t276 * t2478 - 0.3e1 / 0.16e2 * t276 * t2570 ); + const double t2575 = t771 * t771; + const double t2576 = t2575 * t525; + const double t2577 = t1140 * t2576; + const double t2581 = t186 * t199 * t242; + const double t2588 = t510 * t118 * t760; + const double t2592 = t209 * t196; + const double t2594 = 0.1e1 / t160 / t432; + const double t2598 = t213 * t196; + const double t2601 = t480 * t199; + const double t2603 = t1186 * t196; + const double t2606 = t483 * t199; + const double t2609 = 0.2e1 * t199; + const double t2612 = t201 * t199; + const double t2614 = t207 * t196; + const double t2617 = t208 * t199; + const double t2618 = t211 * t196; + const double t2621 = t212 * t199; + const double t2623 = t222 * t196; + const double t2629 = t758 * t758; + const double t2632 = piecewise_functor_3( t227, -t2609, 0.0 ); + const double t2633 = t756 * t756; + const double t2637 = -t1214 * t2633 + t500 * t2632 + t499 * t2633 + t2632; + const double t2640 = piecewise_functor_5( t202, 0.4e1 * t199 - 0.4e1 * t2592 * t2594 - t474 * t199 + 0.6e1 * t2598 * t2594 + 0.3e1 / 0.4e1 * t2601 - 0.15e2 / 0.2e1 * t2603 * t2594 - 0.5e1 / 0.8e1 * t2606, t219, t2609 + 0.4e1 * t196 * t2594 - 0.2e1 * t2612 - 0.6e1 * t2614 * t2594 + t2617 + 0.15e2 / 0.2e1 * t2618 * t2594 - 0.3e1 / 0.4e1 * t2621 - 0.35e2 / 0.4e1 * t2623 * t2594 + 0.5e1 / 0.8e1 * t492 * t199, 0.2e1 * t1207 * t2629 - t497 * t2637 ); + const double t2641 = t2640 * t241; + const double t2642 = t2641 * t182; + const double t2644 = t760 * t760; + const double t2645 = t2644 * t509; + const double t2646 = t2645 * t512; + const double t2649 = t761 * t1987; + const double t2652 = t828 * t2644; + const double t2653 = t1149 * t2652; + const double t2656 = t764 * t179; + const double t2657 = t1160 * t2656; + const double t2660 = t65 * t2640; + const double t2661 = t512 * t2660; + const double t2664 = t242 * t199; + const double t2667 = -0.4e1 * t1897 * t1898 * t761 + 0.12e2 * t1148 * t2653 - 0.6e1 * t1155 * t2646 + 0.2e1 * t189 * t2664 + 0.12e2 * t1903 * t2588 + 0.1e2 * t2382 * t2581 + t468 * t2642 - 0.4e1 * t468 * t2649 + 0.12e2 * t511 * t2657 - 0.3e1 * t511 * t2661; + const double t2668 = t2667 * t251; + const double t2669 = t428 * t2668; + const double t2673 = piecewise_functor_3( t147, 0.0, 0.3e1 / 0.32e2 * t426 * t2577 - 0.3e1 / 0.16e2 * t426 * t2669 ); - eps = t146 + t257; vrho_a = t146 + t257 + t7 * ( t387 + t403 ); vrho_b = t146 + t257 + t7 * ( t416 + t536 ); vsigma_aa = t7 * t606; @@ -1013,6 +4613,53 @@ struct kernel_traits< BuiltinFT98_X > : vlapl_b = t7 * t776; vtau_a = 0.e0; vtau_b = 0.e0; + v2rho2_aa = 0.2e1 * t387 + 0.2e1 * t403 + t7 * ( t1017 + t1044 ); + v2rho2_bb = 0.2e1 * t416 + 0.2e1 * t536 + t7 * ( t1118 + t1330 ); + v2rhosigma_a_aa = t7 * t1516 + t606; + v2rhosigma_b_bb = t7 * t1711 + t673; + v2rholapl_a_a = t7 * t1857 + t725; + v2rholapl_b_b = t7 * t2013 + t776; + v2rhotau_a_a = 0.e0; + v2rhotau_b_b = 0.e0; + v2sigma2_aa_aa = t7 * t2147; + v2sigma2_bb_bb = t7 * t2279; + v2sigmalapl_aa_a = t7 * t2377; + v2sigmalapl_bb_b = t7 * t2475; + v2sigmatau_aa_a = 0.e0; + v2sigmatau_bb_b = 0.e0; + v2lapl2_aa = t7 * t2574; + v2lapl2_bb = t7 * t2673; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_bb = 0.e0; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + } @@ -1030,4 +4677,4 @@ struct BuiltinFT98_X : detail::BuiltinKernelImpl< BuiltinFT98_X > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/hjs_pbe_x.hpp b/include/exchcxx/impl/builtin/kernels/hjs_pbe_x.hpp new file mode 100644 index 0000000..1f14ddb --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/hjs_pbe_x.hpp @@ -0,0 +1,6307 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinHJS_PBE_X > : + public gga_screening_interface< BuiltinHJS_PBE_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 5e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 8.549879733383501e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.0159941; + static constexpr double a_1 = 0.0852995; + static constexpr double a_2 = -0.160368; + static constexpr double a_3 = 0.152645; + static constexpr double a_4 = -0.0971263; + static constexpr double a_5 = 0.0422061; + static constexpr double b_0 = 5.33319; + static constexpr double b_1 = -12.4780; + static constexpr double b_2 = 11.0988; + static constexpr double b_3 = -5.11013; + static constexpr double b_4 = 1.71468; + static constexpr double b_5 = -0.610380; + static constexpr double b_6 = 0.307555; + static constexpr double b_7 = -0.0770547; + static constexpr double b_8 = 0.0334840; + static constexpr double omega = 0.11; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + + + eps = 0.2e1 * t301; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + + + eps = 0.2e1 * t301; + vrho = 0.2e1 * rho * t541 + 0.2e1 * t301; + vsigma = 0.2e1 * rho * t702; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + constexpr double t1207 = t405 * t35; + constexpr double t1443 = t63 * t35; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + const double t705 = t17 * t254; + const double t712 = t452 * t530; + const double t717 = 0.4e1 / 0.27e2 * t21 * t279 * t354; + const double t719 = 0.1e1 / t273 / t272; + const double t720 = t495 * t495; + const double t722 = t719 * t720 / 0.12e2; + const double t724 = 0.1e1 / t38 / t54; + const double t725 = t36 * t724; + const double t732 = t312 * t109; + const double t733 = t732 * t382; + const double t736 = t45 * t724; + const double t739 = 0.1e1 / t80; + const double t740 = t53 * t739; + const double t744 = 0.1e1 / t18 / t329; + const double t745 = t66 * t744; + const double t749 = 0.1e1 / t38 / t91; + const double t750 = t79 * t749; + const double t753 = 0.1e1 / t154; + const double t754 = t90 * t753; + const double t758 = 0.1e1 / t18 / t370; + const double t759 = t102 * t758; + const double t762 = 0.11e2 / 0.27e2 * t44 * t736 + 0.5e1 / 0.6e1 * t51 * t740 + 0.19e2 / 0.162e3 * t64 * t745 + 0.115e3 / 0.1296e4 * t77 * t750 + t89 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t100 * t759; + const double t763 = t762 * t171; + const double t767 = t40 * t344; + const double t768 = t767 * t382; + const double t772 = 0.1e1 / t351 / t170; + const double t773 = t381 * t381; + const double t774 = t772 * t773; + const double t775 = t350 * t774; + const double t779 = 0.1e1 / t18 / t310; + const double t796 = 0.1e1 / t38 / t165; + const double t800 = t91 * t80; + const double t801 = 0.1e1 / t800; + const double t805 = 0.7e1 / 0.27e2 * t112 * t113 * t779 + 0.11e2 / 0.27e2 * t121 * t736 + 0.5e1 / 0.6e1 * t125 * t740 + 0.19e2 / 0.162e3 * t130 * t745 + 0.115e3 / 0.1296e4 * t135 * t750 + t139 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t144 * t759 + 0.35e2 / 0.3888e4 * t151 * t153 * t796 + 0.13e2 / 0.1152e4 * t163 * t164 * t801; + const double t806 = t352 * t805; + const double t807 = t350 * t806; + const double t811 = piecewise_functor_3( t176, 0.11e2 / 0.27e2 * t34 * t725 * t172 - 0.2e1 / 0.9e1 * t34 * t313 * t345 + 0.2e1 / 0.9e1 * t349 * t733 + t34 * t41 * t763 / 0.24e2 - t349 * t768 / 0.12e2 + t349 * t775 / 0.12e2 - t349 * t807 / 0.24e2, 0.0 ); + const double t812 = piecewise_functor_3( t236, t811, 0.0 ); + const double t815 = t179 * t182 * t40; + const double t816 = 0.1e2 / 0.3e1 * t815; + const double t817 = 0.9e1 * t812 + t816; + const double t819 = t493 * t817 / 0.6e1; + const double t820 = t717 - t722 + t819; + const double t822 = t526 * t511; + const double t826 = 0.1e1 / t510 / t285; + const double t827 = t292 * t826; + const double t828 = t515 * t515; + const double t831 = t391 * t391; + const double t835 = t811 + 0.1e2 / 0.27e2 * t815; + const double t838 = t717 - t214 * t831 / 0.4e1 + t189 * t835 / 0.2e1; + const double t840 = t820 * t286 - 0.2e1 * t822 * t515 - t528 * t838 + 0.2e1 * t827 * t828; + const double t841 = t238 * t840; + const double t844 = t532 * t515; + const double t851 = t264 * t811; + const double t858 = t481 * t811; + const double t861 = t387 * t517; + const double t865 = 0.1e1 / t270 / t269; + const double t866 = t491 * t491; + const double t868 = t865 * t866 / 0.12e2; + const double t870 = 0.9e1 * t811 + t816; + const double t872 = t488 * t870 / 0.6e1; + const double t873 = t717 - t868 + t872; + const double t875 = t508 * t511; + const double t878 = t283 * t826; + const double t882 = t873 * t286 - t512 * t838 - 0.2e1 * t875 * t515 + 0.2e1 * t878 * t828; + const double t883 = t177 * t882; + const double t886 = t519 * t515; + const double t889 = t387 * t387; + const double t890 = t481 * t889; + const double t894 = 0.1e1 / t480 / t194; + const double t895 = t894 * t889; + const double t898 = t193 * t264; + const double t901 = -0.4e1 * t712 * t533 - 0.2e1 * t841 * t533 - 0.2e1 * t531 * t844 - 0.10546577777777777778e0 * t415 * t434 - 0.10546577777777777778e0 * t431 * t434 - 0.52732888888888888888e-1 * t219 * t851 + 0.2e1 / 0.3e1 * t458 * t482 + 0.2e1 / 0.3e1 * t477 * t482 + t263 * t858 / 0.3e1 + 0.4e1 * t861 * t520 + 0.2e1 * t883 * t520 + 0.2e1 * t518 * t886 + 0.15819866666666666666e0 * t219 * t890 - 0.4e1 / 0.3e1 * t263 * t895 + 0.94545777777777777778e-1 * t898 * t889; + const double t902 = t414 * t430; + const double t905 = t27 * t354; + const double t907 = t25 * t905 * t189; + const double t910 = t25 * t306 * t392; + const double t912 = t258 * t831; + const double t914 = t25 * t29 * t912; + const double t916 = t214 * t835; + const double t918 = t25 * t29 * t916; + const double t920 = 0.1e1 / t310; + const double t923 = t208 * t210 * t920 * t214; + const double t925 = t420 * t258; + const double t927 = t425 * t925 * t391; + const double t928 = t211 * t471; + const double t930 = t425 * t928 * t831; + const double t933 = t425 * t426 * t835; + const double t935 = -0.4e1 / 0.9e1 * t907 - t910 / 0.3e1 - 0.3e1 / 0.4e1 * t914 + t918 / 0.2e1 + 0.2e1 / 0.3e1 * t923 + t927 + 0.5e1 / 0.4e1 * t930 - t933 / 0.2e1; + const double t936 = t206 * t935; + const double t939 = t725 * t201; + const double t943 = t35 * t744 * t409; + const double t946 = t88 * t90; + const double t948 = 0.1e1 / t408 / t200; + const double t953 = 0.12717480330480143498e0 * t34 * t939 - 0.6503256987177346107e-2 * t406 * t943 + 0.48172273979091452645e-3 * t946 * t753 * t948 + 0.42141105276909202774e1 * t811; + const double t967 = t229 * t194; + const double t968 = t967 * t241; + const double t971 = t445 * t455; + const double t977 = 0.1e1 / t233 / t177; + const double t983 = 0.1e1 / t239 / t238; + const double t984 = t452 * t452; + const double t989 = -0.3e1 / 0.5e1 * t977 * t889 + 0.6e1 / 0.5e1 * t449 * t811 + 0.3e1 / 0.5e1 * t983 * t984 - 0.6e1 / 0.5e1 * t451 * t812; + const double t991 = 0.474596e-1 * t953 * t194 + 0.949192e-1 * t414 * t387 + 0.474596e-1 * t206 * t811 + 0.56727466666666666666e-1 * t889 + 0.56727466666666666666e-1 * t194 * t811 - 0.54519192e1 * t194 * t889 - 0.27259596e1 * t220 * t811 - 0.35e2 / 0.4e1 * t968 * t889 - 0.7e1 * t971 * t387 - 0.7e1 / 0.2e1 * t446 * t811 - t230 * t989; + const double t992 = t991 * t262; + const double t995 = t457 * t476; + const double t1006 = t252 * t312; + const double t1013 = t256 * t256; + const double t1015 = 0.1e1 / t188 / t1013; + const double t1016 = t1015 * t831; + const double t1020 = t471 * t835; + const double t1024 = -0.2e2 / 0.9e1 * t907 - 0.5e1 / 0.3e1 * t910 - 0.15e2 / 0.4e1 * t914 + 0.5e1 / 0.2e1 * t918 + 0.2e2 / 0.3e1 * t923 + 0.1e2 * t927 + 0.25e2 / 0.2e1 * t930 - 0.5e1 * t933 - 0.4e2 / 0.27e2 * t249 * t1006 * t258 - 0.25e2 / 0.9e1 * t249 * t465 * t472 - 0.35e2 / 0.12e2 * t249 * t255 * t1016 + 0.5e1 / 0.6e1 * t249 * t255 * t1020; + const double t1025 = t243 * t1024; + const double t1028 = t396 * t221; + const double t1033 = t953 * t218; + const double t1040 = -0.4e1 / 0.27e2 * t907 - t910 / 0.9e1 - t914 / 0.4e1 + t918 / 0.6e1; + const double t1047 = -t868 + t872 + t722 - t819; + const double t1057 = t283 * t283; + const double t1058 = 0.1e1 / t1057; + const double t1059 = t1058 * t285; + const double t1060 = t1059 * t508; + const double t1063 = t292 * t292; + const double t1064 = 0.1e1 / t1063; + const double t1065 = t1064 * t285; + const double t1066 = t1065 * t526; + const double t1069 = 0.52732888888888888888e-1 * t902 * t221 + 0.26366444444444444444e-1 * t936 * t221 - t992 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t995 * t264 - t1025 * t264 / 0.9e1 - 0.94545777777777777778e-1 * t1028 * t387 - 0.47272888888888888889e-1 * t399 * t811 + 0.26366444444444444444e-1 * t1033 * t221 + 0.47272888888888888889e-1 * t1040 * t195 + 0.2e1 * t811 * t288 - 0.2e1 * t812 * t294 + 0.2e1 / 0.3e1 * t25 * t29 * t1047 - 0.4e1 / 0.9e1 * t25 * t306 * t498 + 0.8e1 / 0.27e2 * t25 * t905 * t275 - 0.2e1 * t518 * t1060 + 0.2e1 * t531 * t1066; + const double t1070 = t901 + t1069; + const double t1075 = piecewise_functor_3( t2, 0.0, t6 * t705 * t297 / 0.12e2 - t6 * t302 * t536 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1070 ); + const double t1081 = t865 * t605; + const double t1095 = t549 * t312; + const double t1098 = t52 * t320; + const double t1101 = t556 * t325; + const double t1104 = t560 * t331; + const double t1107 = t65 * t335; + const double t1110 = t567 * t340; + const double t1113 = -t43 * t1095 / 0.9e1 - t51 * t1098 / 0.4e1 - t64 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t77 * t1104 - t89 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t100 * t1110; + const double t1114 = t1113 * t171; + const double t1118 = t40 * t571; + const double t1119 = t1118 * t382; + const double t1122 = t732 * t600; + const double t1125 = t767 * t600; + const double t1128 = t772 * t599; + const double t1129 = t1128 * t381; + const double t1154 = -t112 * t576 * t354 / 0.18e2 - t120 * t1095 / 0.9e1 - t125 * t1098 / 0.4e1 - t130 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t135 * t1104 - t139 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t144 * t1110 - t151 * t592 * t372 / 0.324e3 - t163 * t101 * t377 / 0.256e3; + const double t1155 = t352 * t1154; + const double t1156 = t350 * t1155; + const double t1160 = piecewise_functor_3( t176, -t546 * t732 * t171 / 0.9e1 + t546 * t767 * t171 / 0.24e2 - t546 * t383 / 0.24e2 - t34 * t313 * t572 / 0.9e1 + t34 * t41 * t1114 / 0.24e2 - t349 * t1119 / 0.24e2 + t349 * t1122 / 0.9e1 - t349 * t1125 / 0.24e2 + t349 * t350 * t1129 / 0.12e2 - t349 * t1156 / 0.24e2, 0.0 ); + const double t1161 = t488 * t1160; + const double t1163 = t719 * t648; + const double t1166 = piecewise_functor_3( t236, t1160, 0.0 ); + const double t1167 = t493 * t1166; + const double t1169 = -0.3e1 / 0.4e1 * t1081 * t491 + 0.3e1 / 0.2e1 * t1161 + 0.3e1 / 0.4e1 * t1163 * t495 - 0.3e1 / 0.2e1 * t1167; + const double t1180 = t667 * t387; + const double t1183 = t894 * t605; + const double t1184 = t1183 * t387; + const double t1187 = t115 * t214; + const double t1191 = t1160 * t195; + const double t1195 = t605 * t221; + const double t1196 = t1195 * t387; + const double t1200 = t28 * t258; + const double t1201 = t606 * t391; + const double t1212 = t88 * t65; + const double t1217 = -0.34684037264945845904e-1 * t33 * t402 + 0.2167752329059115369e-2 * t1207 * t325 * t409 * sigma - 0.18064602742159294741e-3 * t1212 * t335 * t948 + 0.42141105276909202774e1 * t1160; + const double t1226 = t387 * t605; + const double t1228 = t194 * t1160; + const double t1240 = t445 * t651; + const double t1243 = t977 * t605; + const double t1248 = t983 * t648; + const double t1253 = -0.3e1 / 0.5e1 * t1243 * t387 + 0.6e1 / 0.5e1 * t449 * t1160 + 0.3e1 / 0.5e1 * t1248 * t452 - 0.6e1 / 0.5e1 * t451 * t1166; + const double t1255 = 0.474596e-1 * t1217 * t194 + 0.474596e-1 * t620 * t387 + 0.474596e-1 * t414 * t605 + 0.474596e-1 * t206 * t1160 + 0.56727466666666666666e-1 * t1226 + 0.56727466666666666666e-1 * t1228 - 0.54519192e1 * t641 * t387 - 0.27259596e1 * t220 * t1160 - 0.35e2 / 0.4e1 * t968 * t1226 - 0.7e1 / 0.2e1 * t971 * t605 - 0.7e1 / 0.2e1 * t446 * t1160 - 0.7e1 / 0.2e1 * t1240 * t387 - t230 * t1253; + const double t1256 = t1255 * t262; + const double t1259 = t653 * t476; + const double t1262 = t457 * t663; + const double t1266 = t25 * t306 * t624; + const double t1268 = t605 * t391; + const double t1270 = t544 * t1200 * t1268; + const double t1272 = t214 * t1160; + const double t1274 = t25 * t29 * t1272; + const double t1277 = t425 * t925 * t605; + const double t1280 = t425 * t928 * t1268; + const double t1283 = t425 * t426 * t1160; + const double t1289 = t248 * t76 * t252; + const double t1290 = t254 * t1015; + const double t1294 = t471 * t1160; + const double t1298 = -0.5e1 / 0.6e1 * t1266 - 0.15e2 / 0.4e1 * t1270 + 0.5e1 / 0.2e1 * t1274 + 0.5e1 * t1277 + 0.25e2 / 0.2e1 * t1280 - 0.5e1 * t1283 - 0.25e2 / 0.18e2 * t249 * t465 * t659 - 0.35e2 / 0.12e2 * t1289 * t1290 * t1268 + 0.5e1 / 0.6e1 * t249 * t255 * t1294; + const double t1299 = t243 * t1298; + const double t1306 = t1217 * t218; + const double t1309 = t620 * t430; + const double t1312 = t414 * t630; + const double t1321 = -t1266 / 0.6e1 - 0.3e1 / 0.4e1 * t1270 + t1274 / 0.2e1 + t1277 / 0.2e1 + 0.5e1 / 0.4e1 * t1280 - t1283 / 0.2e1; + const double t1322 = t206 * t1321; + const double t1325 = 0.2e1 / 0.3e1 * t25 * t29 * t1169 - 0.2e1 / 0.9e1 * t25 * t306 * t673 - 0.2e1 * t685 * t1060 + 0.2e1 * t695 * t1066 + 0.15819866666666666666e0 * t219 * t1180 - 0.4e1 / 0.3e1 * t263 * t1184 - 0.26262716049382716049e-2 * t544 * t1187 * t606 + 0.78788148148148148148e-2 * t544 * t545 * t1191 - 0.78788148148148148148e-2 * t544 * t545 * t1196 - 0.11818222222222222222e-1 * t544 * t1200 * t1201 - t1256 * t264 / 0.9e1 - t1259 * t264 / 0.9e1 - t1262 * t264 / 0.9e1 - t1299 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t1028 * t605 - 0.47272888888888888889e-1 * t399 * t1160 + 0.26366444444444444444e-1 * t1306 * t221 + 0.26366444444444444444e-1 * t1309 * t221 + 0.26366444444444444444e-1 * t1312 * t221 + 0.26366444444444444444e-1 * t1322 * t221; + const double t1326 = t481 * t1160; + const double t1329 = t605 * t517; + const double t1332 = t387 * t684; + const double t1335 = t286 * t491; + const double t1340 = t511 * t515; + const double t1345 = t681 * t515; + const double t1347 = t624 * t391; + const double t1350 = t189 * t1160; + const double t1353 = -0.3e1 / 0.4e1 * t1081 * t1335 + 0.3e1 / 0.2e1 * t1161 * t286 - 0.3e1 / 0.2e1 * t670 * t1340 - t875 * t681 / 0.2e1 + t878 * t1345 + t512 * t1347 / 0.4e1 - t512 * t1350 / 0.2e1; + const double t1354 = t177 * t1353; + const double t1359 = t648 * t530; + const double t1362 = t452 * t694; + const double t1365 = t286 * t495; + const double t1379 = -0.3e1 / 0.4e1 * t1163 * t1365 + 0.3e1 / 0.2e1 * t1167 * t286 - 0.3e1 / 0.2e1 * t671 * t1340 - t822 * t681 / 0.2e1 + t827 * t1345 + t528 * t1347 / 0.4e1 - t528 * t1350 / 0.2e1; + const double t1380 = t238 * t1379; + const double t1396 = t264 * t1160; + const double t1411 = -0.52732888888888888888e-1 * t621 * t434 - 0.52732888888888888888e-1 * t631 * t434 - 0.52732888888888888888e-1 * t415 * t634 - 0.52732888888888888888e-1 * t431 * t634 - 0.52732888888888888888e-1 * t219 * t1396 + t654 * t482 / 0.3e1 + t664 * t482 / 0.3e1 + t458 * t667 / 0.3e1 + t477 * t667 / 0.3e1 + 0.2e1 * t1160 * t288 - 0.2e1 * t1166 * t294; + const double t1413 = t1325 + t263 * t1326 / 0.3e1 + 0.2e1 * t1329 * t520 + 0.2e1 * t1332 * t520 + 0.2e1 * t1354 * t520 + 0.2e1 * t685 * t886 - 0.2e1 * t1359 * t533 - 0.2e1 * t1362 * t533 - 0.2e1 * t1380 * t533 - 0.2e1 * t695 * t844 + 0.94545777777777777778e-1 * t898 * t1226 + t1411; + const double t1418 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t698 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1413 ); + const double t1421 = t519 * t189; + const double t1422 = t1421 * t605; + const double t1424 = t532 * t189; + const double t1425 = t1424 * t605; + const double t1427 = t695 * t1064; + const double t1428 = t285 * t493; + const double t1429 = t1428 * t648; + const double t1432 = t605 * t605; + const double t1433 = t865 * t1432; + const double t1440 = t575 * t55; + const double t1444 = t1443 * t69; + const double t1447 = t52 * t36; + const double t1448 = t1447 * t82; + const double t1451 = sigma * t92; + const double t1454 = t53 * t35; + const double t1455 = t1454 * t105; + const double t1458 = t51 * t1440 / 0.32e2 + t61 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t77 * t1448 + t89 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t100 * t1455; + const double t1459 = t1458 * t171; + const double t1463 = t1118 * t600; + const double t1466 = t599 * t599; + const double t1467 = t772 * t1466; + const double t1468 = t350 * t1467; + const double t1471 = 0.1e1 / t53; + const double t1472 = t1471 * t35; + const double t1486 = t65 * t36; + const double t1493 = -t112 * t1472 * t115 / 0.48e2 + t125 * t1440 / 0.32e2 + t129 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t135 * t1448 + t139 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t144 * t1455 + t151 * t1486 * t156 / 0.1152e4 + 0.7e1 / 0.6144e4 * t163 * t78 * t166; + const double t1494 = t352 * t1493; + const double t1495 = t350 * t1494; + const double t1499 = piecewise_functor_3( t176, t546 * t1118 * t171 / 0.12e2 - t546 * t601 / 0.12e2 + t34 * t41 * t1459 / 0.24e2 - t349 * t1463 / 0.12e2 + t349 * t1468 / 0.12e2 - t349 * t1495 / 0.24e2, 0.0 ); + const double t1500 = t488 * t1499; + const double t1502 = t648 * t648; + const double t1503 = t719 * t1502; + const double t1505 = piecewise_functor_3( t236, t1499, 0.0 ); + const double t1506 = t493 * t1505; + const double t1508 = -0.27e2 / 0.4e1 * t1433 + 0.3e1 / 0.2e1 * t1500 + 0.27e2 / 0.4e1 * t1503 - 0.3e1 / 0.2e1 * t1506; + const double t1512 = t685 * t1058; + const double t1513 = t285 * t488; + const double t1514 = t1513 * t605; + const double t1517 = t1432 * t195; + const double t1521 = t1432 * t221; + const double t1525 = t1499 * t195; + const double t1529 = t481 * t1432; + const double t1532 = t894 * t1432; + const double t1537 = t648 * t694; + const double t1544 = t511 * t189; + const double t1545 = t1544 * t605; + const double t1548 = 0.1e1 / t187; + const double t1549 = t1548 * t1432; + const double t1552 = t214 * t1432; + const double t1555 = t189 * t1499; + const double t1558 = -0.27e2 / 0.4e1 * t1503 * t286 + 0.3e1 / 0.2e1 * t1506 * t286 - 0.3e1 / 0.2e1 * t671 * t1545 + t827 * t1549 / 0.2e1 + t528 * t1552 / 0.4e1 - t528 * t1555 / 0.2e1; + const double t1559 = t238 * t1558; + const double t1566 = t685 * t1422 - t695 * t1425 + 0.3e1 * t1427 * t1429 + 0.2e1 / 0.3e1 * t25 * t29 * t1508 - 0.3e1 * t1512 * t1514 - 0.11818222222222222222e-1 * t544 * t1200 * t1517 - 0.1575762962962962963e-1 * t544 * t545 * t1521 + 0.78788148148148148148e-2 * t544 * t545 * t1525 + 0.15819866666666666666e0 * t219 * t1529 - 0.4e1 / 0.3e1 * t263 * t1532 + 0.94545777777777777778e-1 * t898 * t1432 - 0.4e1 * t1537 * t533 - 0.2e1 * t1559 * t533 - 0.10546577777777777778e0 * t621 * t634 - 0.10546577777777777778e0 * t631 * t634; + const double t1567 = t264 * t1499; + const double t1574 = t481 * t1499; + const double t1577 = t605 * t684; + const double t1584 = t488 * t1432; + const double t1593 = -0.27e2 / 0.4e1 * t1433 * t286 + 0.3e1 / 0.2e1 * t1500 * t286 - 0.3e1 / 0.2e1 * t1584 * t1544 + t878 * t1549 / 0.2e1 + t512 * t1552 / 0.4e1 - t512 * t1555 / 0.2e1; + const double t1594 = t177 * t1593; + const double t1599 = t88 * sigma; + const double t1604 = -0.54193808226477884224e-3 * t405 * t616 + 0.6774226028309735528e-4 * t1599 * t92 * t948 + 0.42141105276909202774e1 * t1499; + const double t1612 = t194 * t1499; + const double t1632 = -0.3e1 / 0.5e1 * t977 * t1432 + 0.6e1 / 0.5e1 * t449 * t1499 + 0.3e1 / 0.5e1 * t983 * t1502 - 0.6e1 / 0.5e1 * t451 * t1505; + const double t1634 = 0.474596e-1 * t1604 * t194 + 0.949192e-1 * t620 * t605 + 0.474596e-1 * t206 * t1499 + 0.56727466666666666666e-1 * t1432 + 0.56727466666666666666e-1 * t1612 - 0.54519192e1 * t194 * t1432 - 0.27259596e1 * t220 * t1499 - 0.35e2 / 0.4e1 * t968 * t1432 - 0.7e1 * t1240 * t605 - 0.7e1 / 0.2e1 * t446 * t1499 - t230 * t1632; + const double t1635 = t1634 * t262; + const double t1638 = t653 * t663; + const double t1641 = t258 * t1432; + const double t1643 = t25 * t29 * t1641; + const double t1645 = t214 * t1499; + const double t1647 = t25 * t29 * t1645; + const double t1650 = t425 * t928 * t1432; + const double t1653 = t425 * t426 * t1499; + const double t1655 = t1015 * t1432; + const double t1659 = t471 * t1499; + const double t1663 = -0.15e2 / 0.4e1 * t1643 + 0.5e1 / 0.2e1 * t1647 + 0.25e2 / 0.2e1 * t1650 - 0.5e1 * t1653 - 0.35e2 / 0.12e2 * t249 * t255 * t1655 + 0.5e1 / 0.6e1 * t249 * t255 * t1659; + const double t1664 = t243 * t1663; + const double t1669 = t1604 * t218; + const double t1672 = t620 * t630; + const double t1679 = -0.3e1 / 0.4e1 * t1643 + t1647 / 0.2e1 + 0.5e1 / 0.4e1 * t1650 - t1653 / 0.2e1; + const double t1680 = t206 * t1679; + const double t1687 = -0.52732888888888888888e-1 * t219 * t1567 + 0.2e1 / 0.3e1 * t654 * t667 + 0.2e1 / 0.3e1 * t664 * t667 + t263 * t1574 / 0.3e1 + 0.4e1 * t1577 * t520 + 0.2e1 * t1594 * t520 - t1635 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t1638 * t264 - t1664 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t399 * t1499 + 0.26366444444444444444e-1 * t1669 * t221 + 0.52732888888888888888e-1 * t1672 * t221 + 0.26366444444444444444e-1 * t1680 * t221 - 0.2e1 * t1505 * t294 + 0.2e1 * t1499 * t288; + const double t1688 = t1566 + t1687; + const double t1692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t1688 ); + + + v2rho2 = 0.2e1 * rho * t1075 + 0.4e1 * t541; + v2rhosigma = 0.2e1 * rho * t1418 + 0.2e1 * t702; + v2sigma2 = 0.2e1 * rho * t1692; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + constexpr double t1207 = t405 * t35; + constexpr double t1443 = t63 * t35; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + const double t705 = t17 * t254; + const double t712 = t452 * t530; + const double t717 = 0.4e1 / 0.27e2 * t21 * t279 * t354; + const double t719 = 0.1e1 / t273 / t272; + const double t720 = t495 * t495; + const double t722 = t719 * t720 / 0.12e2; + const double t724 = 0.1e1 / t38 / t54; + const double t725 = t36 * t724; + const double t732 = t312 * t109; + const double t733 = t732 * t382; + const double t736 = t45 * t724; + const double t739 = 0.1e1 / t80; + const double t740 = t53 * t739; + const double t744 = 0.1e1 / t18 / t329; + const double t745 = t66 * t744; + const double t749 = 0.1e1 / t38 / t91; + const double t750 = t79 * t749; + const double t753 = 0.1e1 / t154; + const double t754 = t90 * t753; + const double t758 = 0.1e1 / t18 / t370; + const double t759 = t102 * t758; + const double t762 = 0.11e2 / 0.27e2 * t44 * t736 + 0.5e1 / 0.6e1 * t51 * t740 + 0.19e2 / 0.162e3 * t64 * t745 + 0.115e3 / 0.1296e4 * t77 * t750 + t89 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t100 * t759; + const double t763 = t762 * t171; + const double t767 = t40 * t344; + const double t768 = t767 * t382; + const double t772 = 0.1e1 / t351 / t170; + const double t773 = t381 * t381; + const double t774 = t772 * t773; + const double t775 = t350 * t774; + const double t779 = 0.1e1 / t18 / t310; + const double t796 = 0.1e1 / t38 / t165; + const double t800 = t91 * t80; + const double t801 = 0.1e1 / t800; + const double t805 = 0.7e1 / 0.27e2 * t112 * t113 * t779 + 0.11e2 / 0.27e2 * t121 * t736 + 0.5e1 / 0.6e1 * t125 * t740 + 0.19e2 / 0.162e3 * t130 * t745 + 0.115e3 / 0.1296e4 * t135 * t750 + t139 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t144 * t759 + 0.35e2 / 0.3888e4 * t151 * t153 * t796 + 0.13e2 / 0.1152e4 * t163 * t164 * t801; + const double t806 = t352 * t805; + const double t807 = t350 * t806; + const double t811 = piecewise_functor_3( t176, 0.11e2 / 0.27e2 * t34 * t725 * t172 - 0.2e1 / 0.9e1 * t34 * t313 * t345 + 0.2e1 / 0.9e1 * t349 * t733 + t34 * t41 * t763 / 0.24e2 - t349 * t768 / 0.12e2 + t349 * t775 / 0.12e2 - t349 * t807 / 0.24e2, 0.0 ); + const double t812 = piecewise_functor_3( t236, t811, 0.0 ); + const double t815 = t179 * t182 * t40; + const double t816 = 0.1e2 / 0.3e1 * t815; + const double t817 = 0.9e1 * t812 + t816; + const double t819 = t493 * t817 / 0.6e1; + const double t820 = t717 - t722 + t819; + const double t822 = t526 * t511; + const double t826 = 0.1e1 / t510 / t285; + const double t827 = t292 * t826; + const double t828 = t515 * t515; + const double t831 = t391 * t391; + const double t835 = t811 + 0.1e2 / 0.27e2 * t815; + const double t838 = t717 - t214 * t831 / 0.4e1 + t189 * t835 / 0.2e1; + const double t840 = t820 * t286 - 0.2e1 * t822 * t515 - t528 * t838 + 0.2e1 * t827 * t828; + const double t841 = t238 * t840; + const double t844 = t532 * t515; + const double t851 = t264 * t811; + const double t858 = t481 * t811; + const double t861 = t387 * t517; + const double t865 = 0.1e1 / t270 / t269; + const double t866 = t491 * t491; + const double t868 = t865 * t866 / 0.12e2; + const double t870 = 0.9e1 * t811 + t816; + const double t872 = t488 * t870 / 0.6e1; + const double t873 = t717 - t868 + t872; + const double t875 = t508 * t511; + const double t878 = t283 * t826; + const double t882 = t873 * t286 - t512 * t838 - 0.2e1 * t875 * t515 + 0.2e1 * t878 * t828; + const double t883 = t177 * t882; + const double t886 = t519 * t515; + const double t889 = t387 * t387; + const double t890 = t481 * t889; + const double t894 = 0.1e1 / t480 / t194; + const double t895 = t894 * t889; + const double t898 = t193 * t264; + const double t901 = -0.4e1 * t712 * t533 - 0.2e1 * t841 * t533 - 0.2e1 * t531 * t844 - 0.10546577777777777778e0 * t415 * t434 - 0.10546577777777777778e0 * t431 * t434 - 0.52732888888888888888e-1 * t219 * t851 + 0.2e1 / 0.3e1 * t458 * t482 + 0.2e1 / 0.3e1 * t477 * t482 + t263 * t858 / 0.3e1 + 0.4e1 * t861 * t520 + 0.2e1 * t883 * t520 + 0.2e1 * t518 * t886 + 0.15819866666666666666e0 * t219 * t890 - 0.4e1 / 0.3e1 * t263 * t895 + 0.94545777777777777778e-1 * t898 * t889; + const double t902 = t414 * t430; + const double t905 = t27 * t354; + const double t907 = t25 * t905 * t189; + const double t910 = t25 * t306 * t392; + const double t912 = t258 * t831; + const double t914 = t25 * t29 * t912; + const double t916 = t214 * t835; + const double t918 = t25 * t29 * t916; + const double t920 = 0.1e1 / t310; + const double t923 = t208 * t210 * t920 * t214; + const double t925 = t420 * t258; + const double t927 = t425 * t925 * t391; + const double t928 = t211 * t471; + const double t930 = t425 * t928 * t831; + const double t933 = t425 * t426 * t835; + const double t935 = -0.4e1 / 0.9e1 * t907 - t910 / 0.3e1 - 0.3e1 / 0.4e1 * t914 + t918 / 0.2e1 + 0.2e1 / 0.3e1 * t923 + t927 + 0.5e1 / 0.4e1 * t930 - t933 / 0.2e1; + const double t936 = t206 * t935; + const double t939 = t725 * t201; + const double t943 = t35 * t744 * t409; + const double t946 = t88 * t90; + const double t948 = 0.1e1 / t408 / t200; + const double t953 = 0.12717480330480143498e0 * t34 * t939 - 0.6503256987177346107e-2 * t406 * t943 + 0.48172273979091452645e-3 * t946 * t753 * t948 + 0.42141105276909202774e1 * t811; + const double t967 = t229 * t194; + const double t968 = t967 * t241; + const double t971 = t445 * t455; + const double t977 = 0.1e1 / t233 / t177; + const double t983 = 0.1e1 / t239 / t238; + const double t984 = t452 * t452; + const double t989 = -0.3e1 / 0.5e1 * t977 * t889 + 0.6e1 / 0.5e1 * t449 * t811 + 0.3e1 / 0.5e1 * t983 * t984 - 0.6e1 / 0.5e1 * t451 * t812; + const double t991 = 0.474596e-1 * t953 * t194 + 0.949192e-1 * t414 * t387 + 0.474596e-1 * t206 * t811 + 0.56727466666666666666e-1 * t889 + 0.56727466666666666666e-1 * t194 * t811 - 0.54519192e1 * t194 * t889 - 0.27259596e1 * t220 * t811 - 0.35e2 / 0.4e1 * t968 * t889 - 0.7e1 * t971 * t387 - 0.7e1 / 0.2e1 * t446 * t811 - t230 * t989; + const double t992 = t991 * t262; + const double t995 = t457 * t476; + const double t1006 = t252 * t312; + const double t1013 = t256 * t256; + const double t1015 = 0.1e1 / t188 / t1013; + const double t1016 = t1015 * t831; + const double t1020 = t471 * t835; + const double t1024 = -0.2e2 / 0.9e1 * t907 - 0.5e1 / 0.3e1 * t910 - 0.15e2 / 0.4e1 * t914 + 0.5e1 / 0.2e1 * t918 + 0.2e2 / 0.3e1 * t923 + 0.1e2 * t927 + 0.25e2 / 0.2e1 * t930 - 0.5e1 * t933 - 0.4e2 / 0.27e2 * t249 * t1006 * t258 - 0.25e2 / 0.9e1 * t249 * t465 * t472 - 0.35e2 / 0.12e2 * t249 * t255 * t1016 + 0.5e1 / 0.6e1 * t249 * t255 * t1020; + const double t1025 = t243 * t1024; + const double t1028 = t396 * t221; + const double t1033 = t953 * t218; + const double t1040 = -0.4e1 / 0.27e2 * t907 - t910 / 0.9e1 - t914 / 0.4e1 + t918 / 0.6e1; + const double t1047 = -t868 + t872 + t722 - t819; + const double t1057 = t283 * t283; + const double t1058 = 0.1e1 / t1057; + const double t1059 = t1058 * t285; + const double t1060 = t1059 * t508; + const double t1063 = t292 * t292; + const double t1064 = 0.1e1 / t1063; + const double t1065 = t1064 * t285; + const double t1066 = t1065 * t526; + const double t1069 = 0.52732888888888888888e-1 * t902 * t221 + 0.26366444444444444444e-1 * t936 * t221 - t992 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t995 * t264 - t1025 * t264 / 0.9e1 - 0.94545777777777777778e-1 * t1028 * t387 - 0.47272888888888888889e-1 * t399 * t811 + 0.26366444444444444444e-1 * t1033 * t221 + 0.47272888888888888889e-1 * t1040 * t195 + 0.2e1 * t811 * t288 - 0.2e1 * t812 * t294 + 0.2e1 / 0.3e1 * t25 * t29 * t1047 - 0.4e1 / 0.9e1 * t25 * t306 * t498 + 0.8e1 / 0.27e2 * t25 * t905 * t275 - 0.2e1 * t518 * t1060 + 0.2e1 * t531 * t1066; + const double t1070 = t901 + t1069; + const double t1075 = piecewise_functor_3( t2, 0.0, t6 * t705 * t297 / 0.12e2 - t6 * t302 * t536 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1070 ); + const double t1081 = t865 * t605; + const double t1095 = t549 * t312; + const double t1098 = t52 * t320; + const double t1101 = t556 * t325; + const double t1104 = t560 * t331; + const double t1107 = t65 * t335; + const double t1110 = t567 * t340; + const double t1113 = -t43 * t1095 / 0.9e1 - t51 * t1098 / 0.4e1 - t64 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t77 * t1104 - t89 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t100 * t1110; + const double t1114 = t1113 * t171; + const double t1118 = t40 * t571; + const double t1119 = t1118 * t382; + const double t1122 = t732 * t600; + const double t1125 = t767 * t600; + const double t1128 = t772 * t599; + const double t1129 = t1128 * t381; + const double t1154 = -t112 * t576 * t354 / 0.18e2 - t120 * t1095 / 0.9e1 - t125 * t1098 / 0.4e1 - t130 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t135 * t1104 - t139 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t144 * t1110 - t151 * t592 * t372 / 0.324e3 - t163 * t101 * t377 / 0.256e3; + const double t1155 = t352 * t1154; + const double t1156 = t350 * t1155; + const double t1160 = piecewise_functor_3( t176, -t546 * t732 * t171 / 0.9e1 + t546 * t767 * t171 / 0.24e2 - t546 * t383 / 0.24e2 - t34 * t313 * t572 / 0.9e1 + t34 * t41 * t1114 / 0.24e2 - t349 * t1119 / 0.24e2 + t349 * t1122 / 0.9e1 - t349 * t1125 / 0.24e2 + t349 * t350 * t1129 / 0.12e2 - t349 * t1156 / 0.24e2, 0.0 ); + const double t1161 = t488 * t1160; + const double t1163 = t719 * t648; + const double t1166 = piecewise_functor_3( t236, t1160, 0.0 ); + const double t1167 = t493 * t1166; + const double t1169 = -0.3e1 / 0.4e1 * t1081 * t491 + 0.3e1 / 0.2e1 * t1161 + 0.3e1 / 0.4e1 * t1163 * t495 - 0.3e1 / 0.2e1 * t1167; + const double t1180 = t667 * t387; + const double t1183 = t894 * t605; + const double t1184 = t1183 * t387; + const double t1187 = t115 * t214; + const double t1191 = t1160 * t195; + const double t1195 = t605 * t221; + const double t1196 = t1195 * t387; + const double t1200 = t28 * t258; + const double t1201 = t606 * t391; + const double t1212 = t88 * t65; + const double t1217 = -0.34684037264945845904e-1 * t33 * t402 + 0.2167752329059115369e-2 * t1207 * t325 * t409 * sigma - 0.18064602742159294741e-3 * t1212 * t335 * t948 + 0.42141105276909202774e1 * t1160; + const double t1226 = t387 * t605; + const double t1228 = t194 * t1160; + const double t1240 = t445 * t651; + const double t1243 = t977 * t605; + const double t1248 = t983 * t648; + const double t1253 = -0.3e1 / 0.5e1 * t1243 * t387 + 0.6e1 / 0.5e1 * t449 * t1160 + 0.3e1 / 0.5e1 * t1248 * t452 - 0.6e1 / 0.5e1 * t451 * t1166; + const double t1255 = 0.474596e-1 * t1217 * t194 + 0.474596e-1 * t620 * t387 + 0.474596e-1 * t414 * t605 + 0.474596e-1 * t206 * t1160 + 0.56727466666666666666e-1 * t1226 + 0.56727466666666666666e-1 * t1228 - 0.54519192e1 * t641 * t387 - 0.27259596e1 * t220 * t1160 - 0.35e2 / 0.4e1 * t968 * t1226 - 0.7e1 / 0.2e1 * t971 * t605 - 0.7e1 / 0.2e1 * t446 * t1160 - 0.7e1 / 0.2e1 * t1240 * t387 - t230 * t1253; + const double t1256 = t1255 * t262; + const double t1259 = t653 * t476; + const double t1262 = t457 * t663; + const double t1266 = t25 * t306 * t624; + const double t1268 = t605 * t391; + const double t1270 = t544 * t1200 * t1268; + const double t1272 = t214 * t1160; + const double t1274 = t25 * t29 * t1272; + const double t1277 = t425 * t925 * t605; + const double t1280 = t425 * t928 * t1268; + const double t1283 = t425 * t426 * t1160; + const double t1289 = t248 * t76 * t252; + const double t1290 = t254 * t1015; + const double t1294 = t471 * t1160; + const double t1298 = -0.5e1 / 0.6e1 * t1266 - 0.15e2 / 0.4e1 * t1270 + 0.5e1 / 0.2e1 * t1274 + 0.5e1 * t1277 + 0.25e2 / 0.2e1 * t1280 - 0.5e1 * t1283 - 0.25e2 / 0.18e2 * t249 * t465 * t659 - 0.35e2 / 0.12e2 * t1289 * t1290 * t1268 + 0.5e1 / 0.6e1 * t249 * t255 * t1294; + const double t1299 = t243 * t1298; + const double t1306 = t1217 * t218; + const double t1309 = t620 * t430; + const double t1312 = t414 * t630; + const double t1321 = -t1266 / 0.6e1 - 0.3e1 / 0.4e1 * t1270 + t1274 / 0.2e1 + t1277 / 0.2e1 + 0.5e1 / 0.4e1 * t1280 - t1283 / 0.2e1; + const double t1322 = t206 * t1321; + const double t1325 = 0.2e1 / 0.3e1 * t25 * t29 * t1169 - 0.2e1 / 0.9e1 * t25 * t306 * t673 - 0.2e1 * t685 * t1060 + 0.2e1 * t695 * t1066 + 0.15819866666666666666e0 * t219 * t1180 - 0.4e1 / 0.3e1 * t263 * t1184 - 0.26262716049382716049e-2 * t544 * t1187 * t606 + 0.78788148148148148148e-2 * t544 * t545 * t1191 - 0.78788148148148148148e-2 * t544 * t545 * t1196 - 0.11818222222222222222e-1 * t544 * t1200 * t1201 - t1256 * t264 / 0.9e1 - t1259 * t264 / 0.9e1 - t1262 * t264 / 0.9e1 - t1299 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t1028 * t605 - 0.47272888888888888889e-1 * t399 * t1160 + 0.26366444444444444444e-1 * t1306 * t221 + 0.26366444444444444444e-1 * t1309 * t221 + 0.26366444444444444444e-1 * t1312 * t221 + 0.26366444444444444444e-1 * t1322 * t221; + const double t1326 = t481 * t1160; + const double t1329 = t605 * t517; + const double t1332 = t387 * t684; + const double t1335 = t286 * t491; + const double t1340 = t511 * t515; + const double t1345 = t681 * t515; + const double t1347 = t624 * t391; + const double t1350 = t189 * t1160; + const double t1353 = -0.3e1 / 0.4e1 * t1081 * t1335 + 0.3e1 / 0.2e1 * t1161 * t286 - 0.3e1 / 0.2e1 * t670 * t1340 - t875 * t681 / 0.2e1 + t878 * t1345 + t512 * t1347 / 0.4e1 - t512 * t1350 / 0.2e1; + const double t1354 = t177 * t1353; + const double t1359 = t648 * t530; + const double t1362 = t452 * t694; + const double t1365 = t286 * t495; + const double t1379 = -0.3e1 / 0.4e1 * t1163 * t1365 + 0.3e1 / 0.2e1 * t1167 * t286 - 0.3e1 / 0.2e1 * t671 * t1340 - t822 * t681 / 0.2e1 + t827 * t1345 + t528 * t1347 / 0.4e1 - t528 * t1350 / 0.2e1; + const double t1380 = t238 * t1379; + const double t1396 = t264 * t1160; + const double t1411 = -0.52732888888888888888e-1 * t621 * t434 - 0.52732888888888888888e-1 * t631 * t434 - 0.52732888888888888888e-1 * t415 * t634 - 0.52732888888888888888e-1 * t431 * t634 - 0.52732888888888888888e-1 * t219 * t1396 + t654 * t482 / 0.3e1 + t664 * t482 / 0.3e1 + t458 * t667 / 0.3e1 + t477 * t667 / 0.3e1 + 0.2e1 * t1160 * t288 - 0.2e1 * t1166 * t294; + const double t1413 = t1325 + t263 * t1326 / 0.3e1 + 0.2e1 * t1329 * t520 + 0.2e1 * t1332 * t520 + 0.2e1 * t1354 * t520 + 0.2e1 * t685 * t886 - 0.2e1 * t1359 * t533 - 0.2e1 * t1362 * t533 - 0.2e1 * t1380 * t533 - 0.2e1 * t695 * t844 + 0.94545777777777777778e-1 * t898 * t1226 + t1411; + const double t1418 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t698 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1413 ); + const double t1421 = t519 * t189; + const double t1422 = t1421 * t605; + const double t1424 = t532 * t189; + const double t1425 = t1424 * t605; + const double t1427 = t695 * t1064; + const double t1428 = t285 * t493; + const double t1429 = t1428 * t648; + const double t1432 = t605 * t605; + const double t1433 = t865 * t1432; + const double t1440 = t575 * t55; + const double t1444 = t1443 * t69; + const double t1447 = t52 * t36; + const double t1448 = t1447 * t82; + const double t1451 = sigma * t92; + const double t1454 = t53 * t35; + const double t1455 = t1454 * t105; + const double t1458 = t51 * t1440 / 0.32e2 + t61 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t77 * t1448 + t89 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t100 * t1455; + const double t1459 = t1458 * t171; + const double t1463 = t1118 * t600; + const double t1466 = t599 * t599; + const double t1467 = t772 * t1466; + const double t1468 = t350 * t1467; + const double t1471 = 0.1e1 / t53; + const double t1472 = t1471 * t35; + const double t1486 = t65 * t36; + const double t1493 = -t112 * t1472 * t115 / 0.48e2 + t125 * t1440 / 0.32e2 + t129 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t135 * t1448 + t139 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t144 * t1455 + t151 * t1486 * t156 / 0.1152e4 + 0.7e1 / 0.6144e4 * t163 * t78 * t166; + const double t1494 = t352 * t1493; + const double t1495 = t350 * t1494; + const double t1499 = piecewise_functor_3( t176, t546 * t1118 * t171 / 0.12e2 - t546 * t601 / 0.12e2 + t34 * t41 * t1459 / 0.24e2 - t349 * t1463 / 0.12e2 + t349 * t1468 / 0.12e2 - t349 * t1495 / 0.24e2, 0.0 ); + const double t1500 = t488 * t1499; + const double t1502 = t648 * t648; + const double t1503 = t719 * t1502; + const double t1505 = piecewise_functor_3( t236, t1499, 0.0 ); + const double t1506 = t493 * t1505; + const double t1508 = -0.27e2 / 0.4e1 * t1433 + 0.3e1 / 0.2e1 * t1500 + 0.27e2 / 0.4e1 * t1503 - 0.3e1 / 0.2e1 * t1506; + const double t1512 = t685 * t1058; + const double t1513 = t285 * t488; + const double t1514 = t1513 * t605; + const double t1517 = t1432 * t195; + const double t1521 = t1432 * t221; + const double t1525 = t1499 * t195; + const double t1529 = t481 * t1432; + const double t1532 = t894 * t1432; + const double t1537 = t648 * t694; + const double t1544 = t511 * t189; + const double t1545 = t1544 * t605; + const double t1548 = 0.1e1 / t187; + const double t1549 = t1548 * t1432; + const double t1552 = t214 * t1432; + const double t1555 = t189 * t1499; + const double t1558 = -0.27e2 / 0.4e1 * t1503 * t286 + 0.3e1 / 0.2e1 * t1506 * t286 - 0.3e1 / 0.2e1 * t671 * t1545 + t827 * t1549 / 0.2e1 + t528 * t1552 / 0.4e1 - t528 * t1555 / 0.2e1; + const double t1559 = t238 * t1558; + const double t1566 = t685 * t1422 - t695 * t1425 + 0.3e1 * t1427 * t1429 + 0.2e1 / 0.3e1 * t25 * t29 * t1508 - 0.3e1 * t1512 * t1514 - 0.11818222222222222222e-1 * t544 * t1200 * t1517 - 0.1575762962962962963e-1 * t544 * t545 * t1521 + 0.78788148148148148148e-2 * t544 * t545 * t1525 + 0.15819866666666666666e0 * t219 * t1529 - 0.4e1 / 0.3e1 * t263 * t1532 + 0.94545777777777777778e-1 * t898 * t1432 - 0.4e1 * t1537 * t533 - 0.2e1 * t1559 * t533 - 0.10546577777777777778e0 * t621 * t634 - 0.10546577777777777778e0 * t631 * t634; + const double t1567 = t264 * t1499; + const double t1574 = t481 * t1499; + const double t1577 = t605 * t684; + const double t1584 = t488 * t1432; + const double t1593 = -0.27e2 / 0.4e1 * t1433 * t286 + 0.3e1 / 0.2e1 * t1500 * t286 - 0.3e1 / 0.2e1 * t1584 * t1544 + t878 * t1549 / 0.2e1 + t512 * t1552 / 0.4e1 - t512 * t1555 / 0.2e1; + const double t1594 = t177 * t1593; + const double t1599 = t88 * sigma; + const double t1604 = -0.54193808226477884224e-3 * t405 * t616 + 0.6774226028309735528e-4 * t1599 * t92 * t948 + 0.42141105276909202774e1 * t1499; + const double t1612 = t194 * t1499; + const double t1632 = -0.3e1 / 0.5e1 * t977 * t1432 + 0.6e1 / 0.5e1 * t449 * t1499 + 0.3e1 / 0.5e1 * t983 * t1502 - 0.6e1 / 0.5e1 * t451 * t1505; + const double t1634 = 0.474596e-1 * t1604 * t194 + 0.949192e-1 * t620 * t605 + 0.474596e-1 * t206 * t1499 + 0.56727466666666666666e-1 * t1432 + 0.56727466666666666666e-1 * t1612 - 0.54519192e1 * t194 * t1432 - 0.27259596e1 * t220 * t1499 - 0.35e2 / 0.4e1 * t968 * t1432 - 0.7e1 * t1240 * t605 - 0.7e1 / 0.2e1 * t446 * t1499 - t230 * t1632; + const double t1635 = t1634 * t262; + const double t1638 = t653 * t663; + const double t1641 = t258 * t1432; + const double t1643 = t25 * t29 * t1641; + const double t1645 = t214 * t1499; + const double t1647 = t25 * t29 * t1645; + const double t1650 = t425 * t928 * t1432; + const double t1653 = t425 * t426 * t1499; + const double t1655 = t1015 * t1432; + const double t1659 = t471 * t1499; + const double t1663 = -0.15e2 / 0.4e1 * t1643 + 0.5e1 / 0.2e1 * t1647 + 0.25e2 / 0.2e1 * t1650 - 0.5e1 * t1653 - 0.35e2 / 0.12e2 * t249 * t255 * t1655 + 0.5e1 / 0.6e1 * t249 * t255 * t1659; + const double t1664 = t243 * t1663; + const double t1669 = t1604 * t218; + const double t1672 = t620 * t630; + const double t1679 = -0.3e1 / 0.4e1 * t1643 + t1647 / 0.2e1 + 0.5e1 / 0.4e1 * t1650 - t1653 / 0.2e1; + const double t1680 = t206 * t1679; + const double t1687 = -0.52732888888888888888e-1 * t219 * t1567 + 0.2e1 / 0.3e1 * t654 * t667 + 0.2e1 / 0.3e1 * t664 * t667 + t263 * t1574 / 0.3e1 + 0.4e1 * t1577 * t520 + 0.2e1 * t1594 * t520 - t1635 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t1638 * t264 - t1664 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t399 * t1499 + 0.26366444444444444444e-1 * t1669 * t221 + 0.52732888888888888888e-1 * t1672 * t221 + 0.26366444444444444444e-1 * t1680 * t221 - 0.2e1 * t1505 * t294 + 0.2e1 * t1499 * t288; + const double t1688 = t1566 + t1687; + const double t1692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t1688 ); + + + vrho = 0.2e1 * rho * t541 + 0.2e1 * t301; + vsigma = 0.2e1 * rho * t702; + v2rho2 = 0.2e1 * rho * t1075 + 0.4e1 * t541; + v2rhosigma = 0.2e1 * rho * t1418 + 0.2e1 * t702; + v2sigma2 = 0.2e1 * rho * t1692; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + + + eps = t306 + t522; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + + + eps = t306 + t522; + vrho_a = t306 + t522 + t6 * ( t813 + t964 ); + vrho_b = t306 + t522 + t6 * ( t1061 + t1290 ); + vsigma_aa = t6 * t1448; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t1604; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + const double t1607 = t23 * t23; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t527 * t527; + const double t1612 = t523 * t6; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t16 * t1613; + const double t1616 = -0.2e1 * t524 + 0.2e1 * t1614; + const double t1617 = piecewise_functor_5( t10, 0.0, t14, 0.0, t1616 ); + const double t1621 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t1609 + 0.4e1 / 0.3e1 * t23 * t1617 ); + const double t1622 = t1621 * t26; + const double t1626 = t530 * t188; + const double t1628 = t5 * t1626 * t302; + const double t1633 = t25 * t259; + const double t1636 = t5 * t1633 * t302 / 0.12e2; + const double t1638 = t5 * t535 * t808; + const double t1641 = 0.1e1 / t26 / t523; + const double t1642 = t43 * t1641; + const double t1645 = 0.8e1 / 0.27e2 * t33 * t1642 * t280; + const double t1646 = t767 * t545; + const double t1651 = t33 * t552 * t767; + const double t1654 = 0.1e1 / t275 / t274; + const double t1655 = t760 * t760; + const double t1657 = t1654 * t1655 / 0.12e2; + const double t1659 = 0.1e1 / t53 / t67; + const double t1660 = t1659 * t119; + const double t1661 = t1660 * t176; + const double t1664 = t558 * t590; + const double t1665 = t1664 * t176; + const double t1671 = t58 * t1659; + const double t1674 = 0.1e1 / t91; + const double t1675 = t66 * t1674; + const double t1679 = 0.1e1 / t52 / t575; + const double t1680 = t78 * t1679; + const double t1684 = 0.1e1 / t53 / t102; + const double t1685 = t90 * t1684; + const double t1688 = 0.1e1 / t159; + const double t1689 = t101 * t1688; + const double t1693 = 0.1e1 / t52 / t614; + const double t1694 = t112 * t1693; + const double t1697 = 0.11e2 / 0.27e2 * t57 * t1671 + 0.5e1 / 0.12e2 * t64 * t1675 + 0.19e2 / 0.324e3 * t74 * t1680 + 0.115e3 / 0.2592e4 * t86 * t1685 + t100 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t1694; + const double t1698 = t55 * t1697; + const double t1699 = t1698 * t176; + const double t1706 = 0.1e1 / t595 / t175; + const double t1707 = t625 * t625; + const double t1708 = t1706 * t1707; + const double t1713 = 0.1e1 / t52 / t556; + const double t1730 = 0.1e1 / t53 / t170; + const double t1734 = t102 * t91; + const double t1735 = 0.1e1 / t1734; + const double t1739 = 0.7e1 / 0.27e2 * t122 * t123 * t1713 + 0.11e2 / 0.27e2 * t130 * t1671 + 0.5e1 / 0.12e2 * t134 * t1675 + 0.19e2 / 0.324e3 * t138 * t1680 + 0.115e3 / 0.2592e4 * t142 * t1685 + t146 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t1694 + 0.35e2 / 0.15552e5 * t154 * t158 * t1730 + 0.13e2 / 0.9216e4 * t168 * t169 * t1735; + const double t1740 = t596 * t1739; + const double t1745 = piecewise_functor_3( t180, 0.11e2 / 0.27e2 * t50 * t1661 - 0.2e1 / 0.9e1 * t50 * t1665 + 0.2e1 / 0.9e1 * t50 * t559 * t626 + t50 * t1699 / 0.24e2 - t50 * t591 * t626 / 0.12e2 + t50 * t120 * t1708 / 0.12e2 - t50 * t120 * t1740 / 0.24e2, 0.0 ); + const double t1747 = t669 * t188; + const double t1748 = t545 * t545; + const double t1750 = t632 * t1747 * t1748; + const double t1751 = 0.18e2 * t1750; + const double t1752 = t216 * t259; + const double t1754 = t632 * t1752 * t545; + const double t1755 = 0.8e1 * t1754; + const double t1757 = 0.1e1 / t540 / t39; + const double t1758 = t542 * t542; + const double t1761 = piecewise_functor_5( t35, 0.0, t37, 0.0, t1616 ); + const double t1765 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t1758 + t541 * t1761 / 0.3e1 ); + const double t1767 = t632 * t633 * t1765; + const double t1768 = 0.6e1 * t1767; + const double t1770 = t183 * t186 * t728; + const double t1771 = 0.1e2 / 0.3e1 * t1770; + const double t1772 = 0.9e1 * t1745 + t1751 + t1755 - t1768 + t1771; + const double t1774 = t756 * t1772 / 0.6e1; + const double t1776 = 0.1e1 / t278 / t277; + const double t1777 = t764 * t764; + const double t1779 = t1776 * t1777 / 0.12e2; + const double t1780 = piecewise_functor_3( t241, t1745, 0.0 ); + const double t1782 = 0.9e1 * t1780 + t1751 + t1755 - t1768 + t1771; + const double t1784 = t762 * t1782 / 0.6e1; + const double t1785 = -t1657 + t1774 + t1779 - t1784; + const double t1789 = t288 * t288; + const double t1790 = 0.1e1 / t1789; + const double t1791 = t1790 * t290; + const double t1792 = t1791 * t780; + const double t1795 = t297 * t297; + const double t1796 = 0.1e1 / t1795; + const double t1797 = t1796 * t290; + const double t1798 = t1797 * t798; + const double t1801 = t216 * t44; + const double t1802 = t280 * t1748; + const double t1806 = t185 * t551; + const double t1808 = t33 * t1806 * t749; + const double t1812 = 0.2e1 / 0.3e1 * t33 * t1801 * t1748; + const double t1814 = t33 * t1806 * t545; + const double t1815 = 0.2e1 / 0.9e1 * t1814; + const double t1818 = t33 * t539 * t1765 / 0.3e1; + const double t1821 = 0.4e1 / 0.27e2 * t29 * t284 * t1641; + const double t1822 = t1812 + t1815 - t1818 + t1821 - t1779 + t1784; + const double t1824 = t798 * t783; + const double t1828 = 0.1e1 / t782 / t290; + const double t1829 = t297 * t1828; + const double t1830 = t787 * t787; + const double t1833 = t640 * t640; + const double t1839 = 0.1e2 / 0.27e2 * t1770; + const double t1840 = t1745 + 0.2e1 * t1750 + 0.8e1 / 0.9e1 * t1754 - 0.2e1 / 0.3e1 * t1767 + t1839; + const double t1843 = t1812 + t1815 - t1818 + t1821 - t219 * t1833 / 0.4e1 + t194 * t1840 / 0.2e1; + const double t1845 = t1822 * t291 - 0.2e1 * t1824 * t787 + 0.2e1 * t1829 * t1830 - t1843 * t800; + const double t1846 = t243 * t1845; + const double t1849 = t804 * t787; + const double t1856 = t269 * t1745; + const double t1863 = t745 * t1745; + const double t1866 = t631 * t789; + const double t1869 = t1645 - 0.4e1 / 0.3e1 * t33 * t539 * t1646 - 0.4e1 / 0.9e1 * t1651 + 0.2e1 / 0.3e1 * t33 * t45 * t1785 - 0.2e1 * t790 * t1792 + 0.2e1 * t803 * t1798 + 0.4e1 / 0.3e1 * t33 * t1801 * t1802 + 0.4e1 / 0.9e1 * t1808 - 0.2e1 * t1846 * t805 - 0.2e1 * t803 * t1849 - 0.10546577777777777778e0 * t664 * t687 - 0.10546577777777777778e0 * t684 * t687 - 0.52732888888888888888e-1 * t224 * t1856 + 0.2e1 / 0.3e1 * t711 * t746 + 0.2e1 / 0.3e1 * t741 * t746 + t268 * t1863 / 0.3e1 + 0.4e1 * t1866 * t792; + const double t1870 = t1812 + t1815 - t1818 + t1821 - t1657 + t1774; + const double t1872 = t780 * t783; + const double t1875 = t288 * t1828; + const double t1879 = 0.2e1 * t1830 * t1875 - t1843 * t784 + t1870 * t291 - 0.2e1 * t1872 * t787; + const double t1880 = t181 * t1879; + const double t1883 = t280 * t1765; + const double t1887 = t194 * t1748; + const double t1889 = t33 * t1801 * t1887; + const double t1892 = t33 * t1806 * t546; + const double t1894 = t32 * t185; + const double t1895 = t29 * t1894; + const double t1896 = t545 * t640; + const double t1898 = t1895 * t1294 * t1896; + const double t1900 = t194 * t1765; + const double t1902 = t33 * t539 * t1900; + const double t1905 = t33 * t1642 * t194; + const double t1906 = 0.4e1 / 0.27e2 * t1905; + const double t1908 = t33 * t552 * t641; + const double t1910 = t263 * t1833; + const double t1912 = t33 * t45 * t1910; + const double t1914 = t219 * t1840; + const double t1916 = t33 * t45 * t1914; + const double t1918 = -0.2e1 / 0.3e1 * t1889 - 0.2e1 / 0.9e1 * t1892 - t1898 / 0.3e1 + t1902 / 0.3e1 - t1906 - t1908 / 0.9e1 - t1912 / 0.4e1 + t1916 / 0.6e1; + const double t1922 = 0.1e1 / t744 / t199; + const double t1923 = t631 * t631; + const double t1924 = t1922 * t1923; + const double t1927 = t745 * t1923; + const double t1930 = t791 * t787; + const double t1933 = t705 * t802; + const double t1936 = t198 * t269; + const double t1939 = t663 * t683; + const double t1944 = 0.4e1 / 0.9e1 * t1905; + const double t1948 = t214 * t257; + const double t1950 = t1948 * t671 * t1748; + const double t1952 = t524 * t219; + const double t1954 = t670 * t1952 * t545; + const double t1957 = t670 * t679 * t1896; + const double t1960 = t670 * t671 * t1765; + const double t1963 = t214 * t216 * t1613 * t219; + const double t1964 = 0.2e1 / 0.3e1 * t1963; + const double t1965 = t524 * t263; + const double t1967 = t678 * t1965 * t640; + const double t1968 = t7 * t735; + const double t1970 = t678 * t1968 * t1833; + const double t1973 = t678 * t679 * t1840; + const double t1975 = -0.2e1 * t1889 - 0.2e1 / 0.3e1 * t1892 - t1898 + t1902 - t1944 - t1908 / 0.3e1 - 0.3e1 / 0.4e1 * t1912 + t1916 / 0.2e1 + 0.4e1 * t1950 + 0.2e1 * t1954 + 0.3e1 * t1957 - t1960 + t1964 + t1967 + 0.5e1 / 0.4e1 * t1970 - t1973 / 0.2e1; + const double t1976 = t212 * t1975; + const double t1979 = sigma_aa * t1659; + const double t1987 = t99 * t101; + const double t1989 = 0.1e1 / t657 / t206; + const double t1994 = 0.12717480330480143498e0 * t49 * t1979 * t207 - 0.32516284935886730535e-2 * t655 * t77 * t1679 * t658 + 0.12043068494772863161e-3 * t1987 * t1688 * t1989 + 0.42141105276909202774e1 * t1745; + const double t2008 = t234 * t199; + const double t2009 = t2008 * t246; + const double t2012 = t698 * t708; + const double t2018 = 0.1e1 / t238 / t181; + const double t2024 = 0.1e1 / t244 / t243; + const double t2025 = t705 * t705; + const double t2030 = -0.3e1 / 0.5e1 * t2018 * t1923 + 0.6e1 / 0.5e1 * t702 * t1745 + 0.3e1 / 0.5e1 * t2024 * t2025 - 0.6e1 / 0.5e1 * t704 * t1780; + const double t2032 = 0.474596e-1 * t1994 * t199 + 0.949192e-1 * t663 * t631 + 0.474596e-1 * t212 * t1745 + 0.56727466666666666666e-1 * t1923 + 0.56727466666666666666e-1 * t199 * t1745 - 0.54519192e1 * t199 * t1923 - 0.27259596e1 * t225 * t1745 - 0.35e2 / 0.4e1 * t2009 * t1923 - 0.7e1 * t2012 * t631 - 0.7e1 / 0.2e1 * t699 * t1745 - t235 * t2030; + const double t2033 = t2032 * t267; + const double t2036 = t710 * t740; + const double t2040 = 0.2e2 / 0.3e1 * t1963; + const double t2044 = 0.1e1 / t187 / t1612; + const double t2045 = t257 * t2044; + const double t2048 = 0.4e2 / 0.27e2 * t254 * t2045 * t263; + const double t2050 = t254 * t729 * t736; + const double t2052 = t735 * t1840; + const double t2056 = t263 * t1765; + const double t2064 = -0.1e2 * t1960 + t2040 + 0.1e2 * t1967 - 0.5e1 * t1973 - t2048 - 0.25e2 / 0.9e1 * t2050 + 0.5e1 / 0.6e1 * t254 * t260 * t2052 + 0.5e1 / 0.3e1 * t254 * t722 * t2056 + 0.4e2 * t1950 + 0.2e2 * t1954 + 0.3e2 * t1957 + 0.25e2 / 0.2e1 * t1970; + const double t2066 = 0.2e2 / 0.9e1 * t1905; + const double t2069 = t261 * t261; + const double t2071 = 0.1e1 / t193 / t2069; + const double t2072 = t2071 * t1833; + const double t2077 = 0.1e1 / t255 / t215; + const double t2078 = t2077 * t259; + const double t2079 = t263 * t1748; + const double t2083 = t721 * t728; + const double t2085 = t254 * t2083 * t723; + const double t2087 = t88 * t721; + const double t2088 = t253 * t2087; + const double t2089 = t259 * t735; + const double t2097 = 0.5e1 * t1902 - t2066 - 0.5e1 / 0.3e1 * t1908 + 0.5e1 / 0.2e1 * t1916 - 0.35e2 / 0.12e2 * t254 * t260 * t2072 - 0.1e2 * t254 * t2078 * t2079 - 0.5e2 / 0.9e1 * t2085 - 0.25e2 / 0.3e1 * t2088 * t2089 * t1896 - 0.1e2 * t1889 - 0.1e2 / 0.3e1 * t1892 - 0.5e1 * t1898 - 0.15e2 / 0.4e1 * t1912; + const double t2098 = t2064 + t2097; + const double t2099 = t248 * t2098; + const double t2102 = t645 * t226; + const double t2107 = t1994 * t223; + const double t2114 = 0.2e1 * t1880 * t792 - 0.2e1 / 0.3e1 * t33 * t539 * t1883 + 0.47272888888888888889e-1 * t1918 * t200 - 0.4e1 / 0.3e1 * t268 * t1924 + 0.15819866666666666666e0 * t224 * t1927 + 0.2e1 * t790 * t1930 - 0.4e1 * t1933 * t805 + 0.94545777777777777778e-1 * t1936 * t1923 + 0.52732888888888888888e-1 * t1939 * t226 + 0.26366444444444444444e-1 * t1976 * t226 - t2033 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t2036 * t269 - t2099 * t269 / 0.9e1 - 0.94545777777777777778e-1 * t2102 * t631 - 0.47272888888888888889e-1 * t648 * t1745 + 0.26366444444444444444e-1 * t2107 * t226 - 0.2e1 * t1780 * t299 + 0.2e1 * t1745 * t293; + const double t2115 = t1869 + t2114; + const double t2120 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t1622 * t302 - t1628 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t531 * t808 + t1636 - t1638 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t2115 ); + const double t2121 = t313 * t313; + const double t2122 = 0.1e1 / t2121; + const double t2123 = t816 * t816; + const double t2126 = t308 * t1613; + const double t2129 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t524 + 0.2e1 * t2126 ); + const double t2133 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t2123 + 0.4e1 / 0.3e1 * t313 * t2129 ); + const double t2134 = t2133 * t26; + const double t2138 = t819 * t188; + const double t2140 = t5 * t2138 * t518; + const double t2145 = t315 * t259; + const double t2148 = t5 * t2145 * t518 / 0.12e2; + const double t2150 = t5 * t824 * t959; + const double t2152 = t440 * t44; + const double t2153 = t835 * t835; + const double t2154 = t420 * t2153; + const double t2156 = t33 * t2152 * t2154; + const double t2158 = t413 * t551; + const double t2160 = t33 * t2158 * t836; + const double t2162 = t32 * t413; + const double t2163 = t29 * t2162; + const double t2164 = t835 * t851; + const double t2166 = t2163 * t1450 * t2164; + const double t2169 = 0.1e1 / t829 / t318; + const double t2170 = t832 * t832; + const double t2174 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t1616 ); + const double t2178 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t2170 + t830 * t2174 / 0.3e1 ); + const double t2179 = t420 * t2178; + const double t2181 = t33 * t828 * t2179; + const double t2183 = t322 * t1641; + const double t2185 = t33 * t2183 * t420; + const double t2186 = 0.4e1 / 0.27e2 * t2185; + const double t2188 = t33 * t840 * t852; + const double t2190 = t851 * t851; + const double t2191 = t479 * t2190; + const double t2193 = t33 * t323 * t2191; + const double t2195 = t861 * t188; + const double t2197 = t632 * t2195 * t2153; + const double t2199 = t440 * t259; + const double t2201 = t632 * t2199 * t835; + const double t2204 = t632 * t844 * t2178; + const double t2207 = t183 * t414 * t728; + const double t2208 = 0.1e2 / 0.27e2 * t2207; + const double t2209 = 0.2e1 * t2197 + 0.8e1 / 0.9e1 * t2201 - 0.2e1 / 0.3e1 * t2204 + t2208; + const double t2210 = t443 * t2209; + const double t2212 = t33 * t323 * t2210; + const double t2214 = -0.2e1 / 0.3e1 * t2156 - 0.2e1 / 0.9e1 * t2160 - t2166 / 0.3e1 + t2181 / 0.3e1 - t2186 - t2188 / 0.9e1 - t2193 / 0.4e1 + t2212 / 0.6e1; + const double t2219 = 0.4e1 / 0.9e1 * t2185; + const double t2223 = t214 * t475; + const double t2225 = t2223 * t863 * t2153; + const double t2227 = t524 * t443; + const double t2229 = t862 * t2227 * t835; + const double t2232 = t862 * t871 * t2164; + const double t2235 = t862 * t863 * t2178; + const double t2238 = t214 * t440 * t1613 * t443; + const double t2239 = 0.2e1 / 0.3e1 * t2238; + const double t2240 = t524 * t479; + const double t2242 = t870 * t2240 * t851; + const double t2243 = t7 * t898; + const double t2245 = t870 * t2243 * t2190; + const double t2248 = t870 * t871 * t2209; + const double t2250 = -0.2e1 * t2156 - 0.2e1 / 0.3e1 * t2160 - t2166 + t2181 - t2219 - t2188 / 0.3e1 - 0.3e1 / 0.4e1 * t2193 + t2212 / 0.2e1 + 0.4e1 * t2225 + 0.2e1 * t2229 + 0.3e1 * t2232 - t2235 + t2239 + t2242 + 0.5e1 / 0.4e1 * t2245 - t2248 / 0.2e1; + const double t2251 = t438 * t2250; + const double t2254 = t479 * t2178; + const double t2258 = t475 * t2044; + const double t2261 = 0.4e2 / 0.27e2 * t254 * t2258 * t479; + const double t2263 = t254 * t892 * t899; + const double t2265 = t898 * t2209; + const double t2271 = 0.2e2 / 0.3e1 * t2238; + const double t2277 = 0.5e1 / 0.3e1 * t254 * t887 * t2254 - t2261 - 0.25e2 / 0.9e1 * t2263 + 0.5e1 / 0.6e1 * t254 * t476 * t2265 + 0.25e2 / 0.2e1 * t2245 - 0.1e2 * t2235 + t2271 + 0.1e2 * t2242 - 0.5e1 * t2248 + 0.5e1 / 0.2e1 * t2212 + 0.4e2 * t2225 + 0.2e2 * t2229; + const double t2280 = 0.2e2 / 0.9e1 * t2185; + const double t2283 = 0.1e1 / t473 / t439; + const double t2284 = t2283 * t259; + const double t2285 = t479 * t2153; + const double t2289 = t886 * t728; + const double t2291 = t254 * t2289 * t888; + const double t2293 = t88 * t886; + const double t2294 = t253 * t2293; + const double t2295 = t259 * t898; + const double t2299 = t477 * t477; + const double t2301 = 0.1e1 / t419 / t2299; + const double t2302 = t2301 * t2190; + const double t2310 = 0.3e2 * t2232 + 0.5e1 * t2181 - t2280 - 0.5e1 / 0.3e1 * t2188 - 0.1e2 * t254 * t2284 * t2285 - 0.5e2 / 0.9e1 * t2291 - 0.25e2 / 0.3e1 * t2294 * t2295 * t2164 - 0.35e2 / 0.12e2 * t254 * t476 * t2302 - 0.1e2 * t2156 - 0.1e2 / 0.3e1 * t2160 - 0.5e1 * t2166 - 0.15e2 / 0.4e1 * t2193; + const double t2311 = t2277 + t2310; + const double t2312 = t470 * t2311; + const double t2315 = t496 * t2153; + const double t2320 = t33 * t2158 * t907; + const double t2322 = t922 * t835; + const double t2326 = t496 * t2178; + const double t2332 = 0.8e1 / 0.27e2 * t33 * t2183 * t496; + const double t2334 = t33 * t840 * t922; + const double t2337 = 0.1e1 / t491 / t490; + const double t2338 = t917 * t917; + const double t2340 = t2337 * t2338 / 0.12e2; + const double t2344 = 0.1e2 / 0.3e1 * t2207; + const double t2345 = 0.18e2 * t2197 + 0.8e1 * t2201 - 0.6e1 * t2204 + t2344; + const double t2347 = t914 * t2345 / 0.6e1; + const double t2349 = 0.1e1 / t494 / t493; + const double t2351 = t2349 * t2338 / 0.12e2; + const double t2353 = t919 * t2345 / 0.6e1; + const double t2354 = -t2340 + t2347 + t2351 - t2353; + const double t2360 = 0.2e1 / 0.3e1 * t33 * t2152 * t2153; + const double t2362 = t33 * t2158 * t835; + const double t2363 = 0.2e1 / 0.9e1 * t2362; + const double t2366 = t33 * t828 * t2178 / 0.3e1; + const double t2369 = 0.4e1 / 0.27e2 * t29 * t500 * t1641; + const double t2370 = t2360 + t2363 - t2366 + t2369 - t2340 + t2347; + const double t2372 = t933 * t936; + const double t2376 = 0.1e1 / t935 / t506; + const double t2377 = t504 * t2376; + const double t2378 = t940 * t940; + const double t2385 = t2360 + t2363 - t2366 + t2369 - t443 * t2190 / 0.4e1 + t420 * t2209 / 0.2e1; + const double t2387 = t2370 * t507 - 0.2e1 * t2372 * t940 + 0.2e1 * t2377 * t2378 - t2385 * t937; + const double t2388 = t411 * t2387; + const double t2391 = t504 * t504; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t2392 * t506; + const double t2394 = t2393 * t933; + const double t2397 = t944 * t940; + const double t2400 = t2360 + t2363 - t2366 + t2369 - t2351 + t2353; + const double t2402 = t949 * t936; + const double t2405 = t513 * t2376; + const double t2409 = 0.2e1 * t2378 * t2405 - t2385 * t951 + t2400 * t507 - 0.2e1 * t2402 * t940; + const double t2410 = t465 * t2409; + const double t2413 = t513 * t513; + const double t2414 = 0.1e1 / t2413; + const double t2415 = t2414 * t506; + const double t2416 = t2415 * t949; + const double t2419 = t955 * t940; + const double t2422 = 0.47272888888888888889e-1 * t2214 * t426 + 0.26366444444444444444e-1 * t2251 * t450 - t2312 * t485 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t2152 * t2315 + 0.4e1 / 0.9e1 * t2320 - 0.4e1 / 0.3e1 * t33 * t828 * t2322 - 0.2e1 / 0.3e1 * t33 * t828 * t2326 + t2332 - 0.4e1 / 0.9e1 * t2334 + 0.2e1 / 0.3e1 * t33 * t323 * t2354 + 0.2e1 * t2388 * t945 - 0.2e1 * t943 * t2394 + 0.2e1 * t943 * t2397 - 0.2e1 * t2410 * t956 + 0.2e1 * t954 * t2416 - 0.2e1 * t954 * t2419; + const double t2427 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t2134 * t518 - t2140 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t820 * t959 + t2148 - t2150 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t2422 ); + const double t2443 = t971 * t188; + const double t2445 = t5 * t2443 * t302; + const double t2456 = t5 * t535 * t1056; + const double t2470 = t632 * t1752 * t979; + const double t2497 = t33 * t552 * t1030; + const double t2501 = t33 * t1806 * t1021; + const double t2515 = t33 * t1806 * t980; + const double t2532 = t33 * t552 * t988; + const double t2534 = t44 * t263; + const double t2568 = t33 * t1806 * t979; + const double t2576 = t1038 * t783; + const double t2599 = t1049 * t783; + const double t2622 = t254 * t2083 * t1009; + const double t2625 = t254 * t729 * t1013; + const double t2632 = t678 * t1965 * t987; + const double t2684 = t670 * t1952 * t979; + const double t2687 = t253 * t88 * t257; + const double t2688 = t259 * t2071; + const double t2745 = t1066 * t188; + const double t2747 = t5 * t2745 * t518; + const double t2758 = t5 * t824 * t1285; + const double t2773 = t632 * t2199 * t1075; + const double t2800 = t33 * t840 * t1255; + const double t2803 = t33 * t2158 * t1243; + const double t2824 = t33 * t2158 * t1076; + const double t2841 = t33 * t840 * t1160; + const double t2843 = t44 * t479; + const double t2864 = t33 * t2158 * t1075; + const double t2872 = t1265 * t936; + const double t2896 = t1278 * t936; + const double t2929 = t862 * t2227 * t1075; + const double t2935 = t870 * t2240 * t1159; + const double t2946 = t254 * t2289 * t1226; + const double t2950 = t254 * t892 * t1230; + const double t2984 = t253 * t88 * t475; + const double t2985 = t259 * t2301; + const double t3038 = t968 * t968; + const double t3042 = 0.2e1 * t524 + 0.2e1 * t1614; + const double t3043 = piecewise_functor_5( t10, 0.0, t14, 0.0, t3042 ); + const double t3047 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t3038 + 0.4e1 / 0.3e1 * t23 * t3043 ); + const double t3048 = t3047 * t26; + const double t3057 = t979 * t979; + const double t3058 = t194 * t3057; + const double t3060 = t33 * t1801 * t3058; + const double t3063 = t979 * t987; + const double t3065 = t1895 * t1294 * t3063; + const double t3067 = t976 * t976; + const double t3070 = piecewise_functor_5( t35, 0.0, t37, 0.0, t3042 ); + const double t3074 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t3067 + t541 * t3070 / 0.3e1 ); + const double t3075 = t194 * t3074; + const double t3077 = t33 * t539 * t3075; + const double t3080 = t987 * t987; + const double t3081 = t263 * t3080; + const double t3083 = t33 * t45 * t3081; + const double t3086 = t632 * t1747 * t3057; + const double t3090 = t632 * t633 * t3074; + const double t3092 = 0.2e1 * t3086 + 0.8e1 / 0.9e1 * t2470 - 0.2e1 / 0.3e1 * t3090 + t1839; + const double t3093 = t219 * t3092; + const double t3095 = t33 * t45 * t3093; + const double t3097 = -0.2e1 / 0.3e1 * t3060 - 0.2e1 / 0.9e1 * t2515 - t3065 / 0.3e1 + t3077 / 0.3e1 - t1906 - t2532 / 0.9e1 - t3083 / 0.4e1 + t3095 / 0.6e1; + const double t3106 = t1948 * t671 * t3057; + const double t3110 = t670 * t679 * t3063; + const double t3113 = t670 * t671 * t3074; + const double t3115 = t678 * t1968 * t3080; + const double t3118 = t678 * t679 * t3092; + const double t3120 = -0.2e1 * t3060 - 0.2e1 / 0.3e1 * t2515 - t3065 + t3077 - t1944 - t2532 / 0.3e1 - 0.3e1 / 0.4e1 * t3083 + t3095 / 0.2e1 + 0.4e1 * t3106 + 0.2e1 * t2684 + 0.3e1 * t3110 - t3113 + t1964 + t2632 + 0.5e1 / 0.4e1 * t3115 - t3118 / 0.2e1; + const double t3121 = t212 * t3120; + const double t3124 = t263 * t3074; + const double t3128 = t735 * t3092; + const double t3141 = t2071 * t3080; + const double t3145 = 0.5e1 / 0.3e1 * t254 * t722 * t3124 + 0.5e1 / 0.6e1 * t254 * t260 * t3128 - 0.1e2 * t3113 - 0.5e1 * t3118 + 0.25e2 / 0.2e1 * t3115 + 0.5e1 / 0.2e1 * t3095 + 0.4e2 * t3106 + 0.3e2 * t3110 + 0.5e1 * t3077 + 0.2e2 * t2684 + 0.1e2 * t2632 - 0.35e2 / 0.12e2 * t254 * t260 * t3141; + const double t3146 = t263 * t3057; + const double t3160 = -0.1e2 * t254 * t2078 * t3146 - 0.25e2 / 0.3e1 * t2088 * t2089 * t3063 - 0.1e2 * t3060 - 0.5e1 * t3065 - 0.15e2 / 0.4e1 * t3083 - 0.5e2 / 0.9e1 * t2622 - 0.25e2 / 0.9e1 * t2625 - 0.5e1 / 0.3e1 * t2532 - 0.1e2 / 0.3e1 * t2515 + t2040 - t2048 - t2066; + const double t3161 = t3145 + t3160; + const double t3162 = t248 * t3161; + const double t3165 = t280 * t3057; + const double t3170 = t1030 * t979; + const double t3174 = t280 * t3074; + const double t3179 = t1026 * t1026; + const double t3181 = t1654 * t3179 / 0.12e2; + const double t3185 = 0.18e2 * t3086 + 0.8e1 * t2470 - 0.6e1 * t3090 + t1771; + const double t3187 = t756 * t3185 / 0.6e1; + const double t3189 = t1776 * t3179 / 0.12e2; + const double t3191 = t762 * t3185 / 0.6e1; + const double t3192 = -t3181 + t3187 + t3189 - t3191; + const double t3198 = 0.2e1 / 0.3e1 * t33 * t1801 * t3057; + const double t3199 = 0.2e1 / 0.9e1 * t2568; + const double t3202 = t33 * t539 * t3074 / 0.3e1; + const double t3203 = t3198 + t3199 - t3202 + t1821 - t3181 + t3187; + const double t3207 = t1042 * t1042; + const double t3214 = t3198 + t3199 - t3202 + t1821 - t219 * t3080 / 0.4e1 + t194 * t3092 / 0.2e1; + const double t3216 = -0.2e1 * t1042 * t2576 + 0.2e1 * t1875 * t3207 + t291 * t3203 - t3214 * t784; + const double t3217 = t181 * t3216; + const double t3220 = t1791 * t1038; + const double t3223 = t791 * t1042; + const double t3226 = t3198 + t3199 - t3202 + t1821 - t3189 + t3191; + const double t3233 = -0.2e1 * t1042 * t2599 + 0.2e1 * t1829 * t3207 + t291 * t3226 - t3214 * t800; + const double t3234 = t243 * t3233; + const double t3237 = t1797 * t1049; + const double t3240 = t804 * t1042; + const double t3243 = 0.47272888888888888889e-1 * t3097 * t200 + 0.26366444444444444444e-1 * t3121 * t226 - t3162 * t269 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t1801 * t3165 + 0.4e1 / 0.9e1 * t2501 - 0.4e1 / 0.3e1 * t33 * t539 * t3170 - 0.2e1 / 0.3e1 * t33 * t539 * t3174 + t1645 - 0.4e1 / 0.9e1 * t2497 + 0.2e1 / 0.3e1 * t33 * t45 * t3192 + 0.2e1 * t3217 * t792 - 0.2e1 * t1045 * t3220 + 0.2e1 * t1045 * t3223 - 0.2e1 * t3234 * t805 + 0.2e1 * t1053 * t3237 - 0.2e1 * t1053 * t3240; + const double t3248 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t3048 * t302 - t2445 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t972 * t1056 + t1636 - t2456 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t3243 ); + const double t3249 = t1063 * t1063; + const double t3254 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t524 + 0.2e1 * t2126 ); + const double t3258 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t3249 + 0.4e1 / 0.3e1 * t313 * t3254 ); + const double t3259 = t3258 * t26; + const double t3269 = 0.1e1 / t327 / t336; + const double t3270 = t3269 * t371; + const double t3271 = t3270 * t406; + const double t3274 = t1082 * t1114; + const double t3275 = t3274 * t406; + const double t3281 = t330 * t3269; + const double t3284 = 0.1e1 / t351; + const double t3285 = t335 * t3284; + const double t3289 = 0.1e1 / t326 / t1099; + const double t3290 = t342 * t3289; + const double t3294 = 0.1e1 / t327 / t358; + const double t3295 = t350 * t3294; + const double t3298 = 0.1e1 / t393; + const double t3299 = t357 * t3298; + const double t3303 = 0.1e1 / t326 / t1138; + const double t3304 = t364 * t3303; + const double t3307 = 0.11e2 / 0.27e2 * t57 * t3281 + 0.5e1 / 0.12e2 * t64 * t3285 + 0.19e2 / 0.324e3 * t74 * t3290 + 0.115e3 / 0.2592e4 * t86 * t3295 + t100 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t3304; + const double t3308 = t329 * t3307; + const double t3309 = t3308 * t406; + const double t3316 = 0.1e1 / t1119 / t405; + const double t3317 = t1149 * t1149; + const double t3318 = t3316 * t3317; + const double t3323 = 0.1e1 / t326 / t1080; + const double t3340 = 0.1e1 / t327 / t400; + const double t3344 = t358 * t351; + const double t3345 = 0.1e1 / t3344; + const double t3349 = 0.7e1 / 0.27e2 * t122 * t373 * t3323 + 0.11e2 / 0.27e2 * t130 * t3281 + 0.5e1 / 0.12e2 * t134 * t3285 + 0.19e2 / 0.324e3 * t138 * t3290 + 0.115e3 / 0.2592e4 * t142 * t3295 + t146 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t3304 + 0.35e2 / 0.15552e5 * t154 * t392 * t3340 + 0.13e2 / 0.9216e4 * t168 * t399 * t3345; + const double t3350 = t1120 * t3349; + const double t3355 = piecewise_functor_3( t410, 0.11e2 / 0.27e2 * t324 * t3271 - 0.2e1 / 0.9e1 * t324 * t3275 + 0.2e1 / 0.9e1 * t324 * t1083 * t1150 + t324 * t3309 / 0.24e2 - t324 * t1115 * t1150 / 0.12e2 + t324 * t372 * t3318 / 0.12e2 - t324 * t372 * t3350 / 0.24e2, 0.0 ); + const double t3358 = piecewise_functor_3( t463, t3355, 0.0 ); + const double t3361 = t1075 * t1075; + const double t3362 = t420 * t3361; + const double t3364 = t33 * t2152 * t3362; + const double t3367 = t1075 * t1159; + const double t3369 = t2163 * t1450 * t3367; + const double t3371 = t1072 * t1072; + const double t3375 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t3042 ); + const double t3379 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t3371 + t830 * t3375 / 0.3e1 ); + const double t3380 = t420 * t3379; + const double t3382 = t33 * t828 * t3380; + const double t3385 = t1159 * t1159; + const double t3386 = t479 * t3385; + const double t3388 = t33 * t323 * t3386; + const double t3391 = t632 * t2195 * t3361; + const double t3395 = t632 * t844 * t3379; + const double t3397 = t3355 + 0.2e1 * t3391 + 0.8e1 / 0.9e1 * t2773 - 0.2e1 / 0.3e1 * t3395 + t2208; + const double t3398 = t443 * t3397; + const double t3400 = t33 * t323 * t3398; + const double t3402 = -0.2e1 / 0.3e1 * t3364 - 0.2e1 / 0.9e1 * t2824 - t3369 / 0.3e1 + t3382 / 0.3e1 - t2186 - t2841 / 0.9e1 - t3388 / 0.4e1 + t3400 / 0.6e1; + const double t3405 = t2393 * t1265; + const double t3408 = t2415 * t1278; + const double t3411 = t1249 * t1249; + const double t3413 = t2337 * t3411 / 0.12e2; + const double t3415 = 0.18e2 * t3391; + const double t3416 = 0.8e1 * t2773; + const double t3417 = 0.6e1 * t3395; + const double t3418 = 0.9e1 * t3355 + t3415 + t3416 - t3417 + t2344; + const double t3420 = t914 * t3418 / 0.6e1; + const double t3421 = t1252 * t1252; + const double t3423 = t2349 * t3421 / 0.12e2; + const double t3425 = 0.9e1 * t3358 + t3415 + t3416 - t3417 + t2344; + const double t3427 = t919 * t3425 / 0.6e1; + const double t3428 = -t3413 + t3420 + t3423 - t3427; + const double t3436 = 0.2e1 / 0.3e1 * t33 * t2152 * t3361; + const double t3437 = 0.2e1 / 0.9e1 * t2864; + const double t3440 = t33 * t828 * t3379 / 0.3e1; + const double t3441 = t3436 + t3437 - t3440 + t2369 - t3413 + t3420; + const double t3445 = t1269 * t1269; + const double t3452 = t3436 + t3437 - t3440 + t2369 - t443 * t3385 / 0.4e1 + t420 * t3397 / 0.2e1; + const double t3454 = -0.2e1 * t1269 * t2872 + 0.2e1 * t2377 * t3445 + t3441 * t507 - t3452 * t937; + const double t3455 = t411 * t3454; + const double t3458 = t944 * t1269; + const double t3461 = t1213 * t1281; + const double t3464 = t3436 + t3437 - t3440 + t2369 - t3423 + t3427; + const double t3471 = -0.2e1 * t1269 * t2896 + 0.2e1 * t2405 * t3445 - t3452 * t951 + t3464 * t507; + const double t3472 = t465 * t3471; + const double t3475 = t955 * t1269; + const double t3478 = t1155 * t1155; + const double t3479 = t1239 * t3478; + const double t3484 = t485 * t3355; + const double t3491 = 0.2e1 * t3355 * t509 - 0.2e1 * t3358 * t515 + 0.47272888888888888889e-1 * t3402 * t426 - 0.2e1 * t1272 * t3405 + 0.2e1 * t1282 * t3408 + 0.2e1 / 0.3e1 * t33 * t323 * t3428 - 0.10546577777777777778e0 * t1182 * t1195 + 0.2e1 * t3455 * t945 + 0.2e1 * t1272 * t3458 - 0.4e1 * t3461 * t956 - 0.2e1 * t3472 * t956 - 0.2e1 * t1282 * t3475 + 0.15819866666666666666e0 * t448 * t3479 - 0.10546577777777777778e0 * t1192 * t1195 - 0.52732888888888888888e-1 * t448 * t3484 + 0.2e1 / 0.3e1 * t1219 * t1240 + 0.2e1 / 0.3e1 * t1235 * t1240; + const double t3492 = t1239 * t3355; + const double t3495 = t1155 * t1271; + const double t3500 = 0.1e1 / t1238 / t425; + const double t3501 = t3500 * t3478; + const double t3504 = t496 * t3379; + const double t3508 = t496 * t3361; + const double t3512 = t1255 * t1075; + const double t3523 = t2223 * t863 * t3361; + const double t3527 = t862 * t871 * t3367; + const double t3530 = t862 * t863 * t3379; + const double t3532 = t870 * t2243 * t3385; + const double t3535 = t870 * t871 * t3397; + const double t3537 = -0.2e1 * t3364 - 0.2e1 / 0.3e1 * t2824 - t3369 + t3382 - t2219 - t2841 / 0.3e1 - 0.3e1 / 0.4e1 * t3388 + t3400 / 0.2e1 + 0.4e1 * t3523 + 0.2e1 * t2929 + 0.3e1 * t3527 - t3530 + t2239 + t2935 + 0.5e1 / 0.4e1 * t3532 - t3535 / 0.2e1; + const double t3538 = t438 * t3537; + const double t3541 = sigma_bb * t3269; + const double t3549 = t99 * t357; + const double t3551 = 0.1e1 / t1175 / t432; + const double t3556 = 0.12717480330480143498e0 * t49 * t3541 * t433 - 0.32516284935886730535e-2 * t655 * t341 * t3289 * t1176 + 0.12043068494772863161e-3 * t3549 * t3298 * t3551 + 0.42141105276909202774e1 * t3355; + const double t3570 = t458 * t425; + const double t3571 = t3570 * t468; + const double t3574 = t1206 * t1216; + const double t3580 = 0.1e1 / t460 / t411; + const double t3586 = 0.1e1 / t466 / t465; + const double t3587 = t1213 * t1213; + const double t3592 = -0.3e1 / 0.5e1 * t3580 * t3478 + 0.6e1 / 0.5e1 * t1210 * t3355 + 0.3e1 / 0.5e1 * t3586 * t3587 - 0.6e1 / 0.5e1 * t1212 * t3358; + const double t3594 = 0.474596e-1 * t3556 * t425 + 0.949192e-1 * t1181 * t1155 + 0.474596e-1 * t438 * t3355 + 0.56727466666666666666e-1 * t3478 + 0.56727466666666666666e-1 * t425 * t3355 - 0.54519192e1 * t425 * t3478 - 0.27259596e1 * t449 * t3355 - 0.35e2 / 0.4e1 * t3571 * t3478 - 0.7e1 * t3574 * t1155 - 0.7e1 / 0.2e1 * t1207 * t3355 - t459 * t3592; + const double t3595 = t3594 * t483; + const double t3598 = t1218 * t1234; + const double t3601 = t2301 * t3385; + const double t3607 = t479 * t3379; + const double t3611 = t898 * t3397; + const double t3622 = -0.35e2 / 0.12e2 * t254 * t476 * t3601 - 0.5e1 * t3535 - 0.1e2 * t3530 + 0.5e1 / 0.3e1 * t254 * t887 * t3607 + 0.5e1 / 0.6e1 * t254 * t476 * t3611 + 0.4e2 * t3523 + 0.3e2 * t3527 + 0.25e2 / 0.2e1 * t3532 + 0.5e1 / 0.2e1 * t3400 + 0.5e1 * t3382 + 0.2e2 * t2929 + 0.1e2 * t2935; + const double t3623 = t479 * t3361; + const double t3637 = -0.1e2 * t254 * t2284 * t3623 - 0.25e2 / 0.3e1 * t2294 * t2295 * t3367 - 0.1e2 * t3364 - 0.5e1 * t3369 - 0.15e2 / 0.4e1 * t3388 - 0.5e2 / 0.9e1 * t2946 - 0.25e2 / 0.9e1 * t2950 - 0.1e2 / 0.3e1 * t2824 - 0.5e1 / 0.3e1 * t2841 - t2261 + t2271 - t2280; + const double t3638 = t3622 + t3637; + const double t3639 = t470 * t3638; + const double t3642 = t1164 * t450; + const double t3647 = t3556 * t447; + const double t3650 = t1181 * t1191; + const double t3653 = t424 * t485; + const double t3656 = t484 * t3492 / 0.3e1 + 0.4e1 * t3495 * t945 - 0.4e1 / 0.9e1 * t2800 - 0.4e1 / 0.3e1 * t484 * t3501 - 0.2e1 / 0.3e1 * t33 * t828 * t3504 + 0.4e1 / 0.3e1 * t33 * t2152 * t3508 - 0.4e1 / 0.3e1 * t33 * t828 * t3512 + 0.4e1 / 0.9e1 * t2803 + 0.26366444444444444444e-1 * t3538 * t450 - t3595 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t3598 * t485 - t3639 * t485 / 0.9e1 - 0.94545777777777777778e-1 * t3642 * t1155 - 0.47272888888888888889e-1 * t1167 * t3355 + 0.26366444444444444444e-1 * t3647 * t450 + 0.52732888888888888888e-1 * t3650 * t450 + 0.94545777777777777778e-1 * t3653 * t3478 + t2332; + const double t3657 = t3491 + t3656; + const double t3662 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t3259 * t518 - t2747 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t1067 * t1285 + t2148 - t2758 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t3657 ); + const double t3670 = t5 * t535 * t1444 / 0.8e1; + const double t3673 = 0.2e1 / 0.9e1 * t33 * t552 * t1419; + const double t3686 = t49 * t55; + const double t3687 = t119 * t596; + const double t3688 = t3687 * t625; + const double t3691 = t558 * t1317; + const double t3692 = t3691 * t176; + const double t3695 = t48 * t558; + const double t3698 = t65 * t566; + const double t3701 = t1302 * t571; + const double t3704 = t1306 * t577; + const double t3707 = t77 * t581; + const double t3710 = t1313 * t586; + const double t3713 = -t57 * t3695 / 0.9e1 - t64 * t3698 / 0.8e1 - t74 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t3704 - t100 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t3710; + const double t3714 = t55 * t3713; + const double t3715 = t3714 * t176; + const double t3727 = t119 * t1706; + const double t3728 = t1345 * t625; + const double t3729 = t3727 * t3728; + const double t3753 = -t122 * t1322 * t598 / 0.18e2 - t130 * t3695 / 0.9e1 - t134 * t3698 / 0.8e1 - t138 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t3704 - t146 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t3710 - t154 * t1338 * t616 / 0.1296e4 - t168 * t111 * t621 / 0.2048e4; + const double t3754 = t596 * t3753; + const double t3759 = piecewise_functor_3( t180, -t49 * t560 / 0.9e1 + t49 * t592 / 0.24e2 - t3686 * t3688 / 0.24e2 - t50 * t3692 / 0.9e1 + t50 * t3715 / 0.24e2 - t50 * t1318 * t626 / 0.24e2 + t50 * t559 * t1346 / 0.9e1 - t50 * t591 * t1346 / 0.24e2 + t204 * t3729 / 0.12e2 - t50 * t120 * t3754 / 0.24e2, 0.0 ); + const double t3760 = t269 * t3759; + const double t3763 = t745 * t3759; + const double t3766 = t1351 * t789; + const double t3769 = t631 * t1430; + const double t3772 = t1654 * t1351; + const double t3773 = t291 * t760; + const double t3776 = t756 * t3759; + const double t3779 = t783 * t787; + const double t3784 = t1427 * t787; + const double t3786 = t1370 * t640; + const double t3789 = t194 * t3759; + const double t3792 = -0.3e1 / 0.4e1 * t3772 * t3773 + 0.3e1 / 0.2e1 * t3776 * t291 - 0.3e1 / 0.2e1 * t1416 * t3779 - t1872 * t1427 / 0.2e1 + t1875 * t3784 + t784 * t3786 / 0.4e1 - t784 * t3789 / 0.2e1; + const double t3793 = t181 * t3792; + const double t3799 = t1394 * t802; + const double t3802 = t705 * t1440; + const double t3805 = t1776 * t1394; + const double t3806 = t291 * t764; + const double t3809 = piecewise_functor_3( t241, t3759, 0.0 ); + const double t3810 = t762 * t3809; + const double t3822 = -0.3e1 / 0.4e1 * t3805 * t3806 + 0.3e1 / 0.2e1 * t3810 * t291 - 0.3e1 / 0.2e1 * t1417 * t3779 - t1824 * t1427 / 0.2e1 + t1829 * t3784 + t800 * t3786 / 0.4e1 - t800 * t3789 / 0.2e1; + const double t3823 = t243 * t3822; + const double t3828 = t631 * t1351; + const double t3839 = t1352 * t640; + const double t3843 = 0.2e1 * t1431 * t1930 - 0.2e1 * t3799 * t805 - 0.2e1 * t3802 * t805 - 0.2e1 * t3823 * t805 - 0.2e1 * t1441 * t1849 + 0.94545777777777777778e-1 * t1936 * t3828 + t1400 * t746 / 0.3e1 + t1410 * t746 / 0.3e1 + t711 * t1413 / 0.3e1 + t741 * t1413 / 0.3e1 - 0.11818222222222222222e-1 * t1293 * t2534 * t3839; + const double t3845 = t1419 * t545; + const double t3849 = t1351 * t226; + const double t3850 = t3849 * t631; + const double t3854 = t1352 * t545; + const double t3864 = -0.3e1 / 0.4e1 * t3772 * t760 + 0.3e1 / 0.2e1 * t3776 + 0.3e1 / 0.4e1 * t3805 * t764 - 0.3e1 / 0.2e1 * t3810; + const double t3868 = t3759 * t200; + const double t3872 = t551 * t219; + const double t3875 = 0.26262716049382716049e-2 * t1293 * t3872 * t1352; + const double t3876 = t1351 * t545; + const double t3878 = t1895 * t1294 * t3876; + const double t3881 = t33 * t552 * t1370; + const double t3882 = t3881 / 0.6e1; + const double t3883 = t1351 * t640; + const double t3885 = t1293 * t2534 * t3883; + const double t3887 = t219 * t3759; + const double t3889 = t33 * t45 * t3887; + const double t3892 = t670 * t679 * t3876; + const double t3895 = t678 * t1965 * t1351; + const double t3896 = t3895 / 0.2e1; + const double t3898 = t678 * t1968 * t3883; + const double t3901 = t678 * t679 * t3759; + const double t3903 = -t3878 / 0.2e1 - t3882 - 0.3e1 / 0.4e1 * t3885 + t3889 / 0.2e1 + 0.3e1 / 0.2e1 * t3892 + t3896 + 0.5e1 / 0.4e1 * t3898 - t3901 / 0.2e1; + const double t3904 = t212 * t3903; + const double t3910 = t571 * t658; + const double t3914 = t99 * t77; + const double t3919 = -0.34684037264945845904e-1 * t49 * t558 * t207 + 0.10838761645295576845e-2 * t655 * t3910 * sigma_aa - 0.45161506855398236853e-4 * t3914 * t581 * t1989 + 0.42141105276909202774e1 * t3759; + const double t3929 = t199 * t3759; + const double t3941 = t698 * t1397; + const double t3944 = t2018 * t1351; + const double t3949 = t2024 * t1394; + const double t3954 = -0.3e1 / 0.5e1 * t3944 * t631 + 0.6e1 / 0.5e1 * t702 * t3759 + 0.3e1 / 0.5e1 * t3949 * t705 - 0.6e1 / 0.5e1 * t704 * t3809; + const double t3956 = 0.474596e-1 * t3919 * t199 + 0.474596e-1 * t1366 * t631 + 0.474596e-1 * t663 * t1351 + 0.474596e-1 * t212 * t3759 + 0.56727466666666666666e-1 * t3828 + 0.56727466666666666666e-1 * t3929 - 0.54519192e1 * t1387 * t631 - 0.27259596e1 * t225 * t3759 - 0.35e2 / 0.4e1 * t2009 * t3828 - 0.7e1 / 0.2e1 * t2012 * t1351 - 0.7e1 / 0.2e1 * t699 * t3759 - 0.7e1 / 0.2e1 * t3941 * t631 - t235 * t3954; + const double t3957 = t3956 * t267; + const double t3961 = 0.5e1 / 0.6e1 * t3881; + const double t3965 = 0.5e1 * t3895; + const double t3973 = 0.25e2 / 0.18e2 * t254 * t729 * t1405; + const double t3977 = t735 * t3759; + const double t3981 = -0.5e1 / 0.2e1 * t3878 - t3961 - 0.15e2 / 0.4e1 * t3885 + 0.5e1 / 0.2e1 * t3889 + 0.15e2 * t3892 + t3965 + 0.25e2 / 0.2e1 * t3898 - 0.5e1 * t3901 - 0.25e2 / 0.6e1 * t2088 * t2089 * t3876 - t3973 - 0.35e2 / 0.12e2 * t2687 * t2688 * t3883 + 0.5e1 / 0.6e1 * t254 * t260 * t3977; + const double t3982 = t248 * t3981; + const double t3989 = -0.2e1 / 0.3e1 * t33 * t539 * t3845 - 0.78788148148148148148e-2 * t1293 * t1294 * t3850 - 0.78788148148148148148e-2 * t1895 * t1294 * t3854 + 0.2e1 / 0.3e1 * t33 * t45 * t3864 + 0.78788148148148148148e-2 * t1293 * t1294 * t3868 - t3875 + 0.26366444444444444444e-1 * t3904 * t226 - t3957 * t269 / 0.9e1 - t3982 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t2102 * t1351 - 0.47272888888888888889e-1 * t648 * t3759; + const double t3990 = t3919 * t223; + const double t3993 = t1366 * t683; + const double t3996 = t663 * t1376; + const double t3999 = t1399 * t740; + const double t4002 = t710 * t1409; + const double t4005 = t1922 * t1351; + const double t4006 = t4005 * t631; + const double t4011 = t1413 * t631; + const double t4020 = 0.26366444444444444444e-1 * t3990 * t226 + 0.26366444444444444444e-1 * t3993 * t226 + 0.26366444444444444444e-1 * t3996 * t226 - t3999 * t269 / 0.9e1 - t4002 * t269 / 0.9e1 - 0.4e1 / 0.3e1 * t268 * t4006 - 0.2e1 * t1431 * t1792 + 0.15819866666666666666e0 * t224 * t4011 + 0.2e1 * t1441 * t1798 + 0.2e1 * t3759 * t293 - 0.2e1 * t3809 * t299; + const double t4022 = -t3673 - 0.52732888888888888888e-1 * t1367 * t687 - 0.52732888888888888888e-1 * t1377 * t687 - 0.52732888888888888888e-1 * t664 * t1380 - 0.52732888888888888888e-1 * t684 * t1380 - 0.52732888888888888888e-1 * t224 * t3760 + t268 * t3763 / 0.3e1 + 0.2e1 * t3766 * t792 + 0.2e1 * t3769 * t792 + 0.2e1 * t3793 * t792 + t3843 + t3989 + t4020; + const double t4027 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t1444 - t3670 - 0.3e1 / 0.8e1 * t5 * t27 * t4022 ); + const double t4034 = t5 * t824 * t1600 / 0.8e1; + const double t4039 = t551 * t443; + const double t4042 = 0.26262716049382716049e-2 * t1449 * t4039 * t1508; + const double t4057 = t33 * t840 * t1526; + const double t4058 = t4057 / 0.6e1; + const double t4067 = t870 * t2240 * t1507; + const double t4068 = t4067 / 0.2e1; + const double t4082 = 0.5e1 / 0.6e1 * t4057; + const double t4085 = 0.5e1 * t4067; + const double t4092 = 0.25e2 / 0.18e2 * t254 * t892 * t1561; + const double t4109 = 0.2e1 / 0.9e1 * t33 * t840 * t1575; + const double t4110 = t2337 * t1507; + const double t4112 = t2349 * t1550; + const double t4293 = t1507 * t450; + const double t4294 = t4293 * t1155; + const double t4298 = t1508 * t1075; + const double t4302 = t1508 * t1159; + const double t4312 = t49 * t329; + const double t4313 = t371 * t1120; + const double t4314 = t4313 * t1149; + const double t4317 = t1082 * t1473; + const double t4318 = t4317 * t406; + const double t4321 = t48 * t1082; + const double t4324 = t334 * t1090; + const double t4327 = t1458 * t1095; + const double t4330 = t1462 * t1101; + const double t4333 = t341 * t1105; + const double t4336 = t1469 * t1110; + const double t4339 = -t57 * t4321 / 0.9e1 - t64 * t4324 / 0.8e1 - t74 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t4330 - t100 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t4336; + const double t4340 = t329 * t4339; + const double t4341 = t4340 * t406; + const double t4353 = t371 * t3316; + const double t4354 = t1501 * t1149; + const double t4355 = t4353 * t4354; + const double t4379 = -t122 * t1478 * t1122 / 0.18e2 - t130 * t4321 / 0.9e1 - t134 * t4324 / 0.8e1 - t138 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t4330 - t146 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t4336 - t154 * t1494 * t1140 / 0.1296e4 - t168 * t363 * t1145 / 0.2048e4; + const double t4380 = t1120 * t4379; + const double t4385 = piecewise_functor_3( t410, -t49 * t1084 / 0.9e1 + t49 * t1116 / 0.24e2 - t4312 * t4314 / 0.24e2 - t324 * t4318 / 0.9e1 + t324 * t4341 / 0.24e2 - t324 * t1474 * t1150 / 0.24e2 + t324 * t1083 * t1502 / 0.9e1 - t324 * t1115 * t1502 / 0.24e2 + t430 * t4355 / 0.12e2 - t324 * t372 * t4380 / 0.24e2, 0.0 ); + const double t4386 = t914 * t4385; + const double t4390 = piecewise_functor_3( t463, t4385, 0.0 ); + const double t4391 = t919 * t4390; + const double t4393 = -0.3e1 / 0.4e1 * t4110 * t1249 + 0.3e1 / 0.2e1 * t4386 + 0.3e1 / 0.4e1 * t4112 * t1252 - 0.3e1 / 0.2e1 * t4391; + const double t4405 = t1218 * t1565; + const double t4409 = t1507 * t1075; + const double t4411 = t2163 * t1450 * t4409; + const double t4413 = t1507 * t1159; + const double t4415 = t1449 * t2843 * t4413; + const double t4417 = t443 * t4385; + const double t4419 = t33 * t323 * t4417; + const double t4422 = t862 * t871 * t4409; + const double t4425 = t870 * t2243 * t4413; + const double t4428 = t870 * t871 * t4385; + const double t4436 = t898 * t4385; + const double t4440 = -0.5e1 / 0.2e1 * t4411 - t4082 - 0.15e2 / 0.4e1 * t4415 + 0.5e1 / 0.2e1 * t4419 + 0.15e2 * t4422 + t4085 + 0.25e2 / 0.2e1 * t4425 - 0.5e1 * t4428 - 0.25e2 / 0.6e1 * t2294 * t2295 * t4409 - t4092 - 0.35e2 / 0.12e2 * t2984 * t2985 * t4413 + 0.5e1 / 0.6e1 * t254 * t476 * t4436; + const double t4441 = t470 * t4440; + const double t4447 = t1095 * t1176; + const double t4451 = t99 * t341; + const double t4456 = -0.34684037264945845904e-1 * t49 * t1082 * t433 + 0.10838761645295576845e-2 * t655 * t4447 * sigma_bb - 0.45161506855398236853e-4 * t4451 * t1105 * t3551 + 0.42141105276909202774e1 * t4385; + const double t4465 = t1155 * t1507; + const double t4467 = t425 * t4385; + const double t4479 = t1206 * t1553; + const double t4482 = t3580 * t1507; + const double t4487 = t3586 * t1550; + const double t4492 = -0.3e1 / 0.5e1 * t4482 * t1155 + 0.6e1 / 0.5e1 * t1210 * t4385 + 0.3e1 / 0.5e1 * t4487 * t1213 - 0.6e1 / 0.5e1 * t1212 * t4390; + const double t4494 = 0.474596e-1 * t4456 * t425 + 0.474596e-1 * t1522 * t1155 + 0.474596e-1 * t1181 * t1507 + 0.474596e-1 * t438 * t4385 + 0.56727466666666666666e-1 * t4465 + 0.56727466666666666666e-1 * t4467 - 0.54519192e1 * t1543 * t1155 - 0.27259596e1 * t449 * t4385 - 0.35e2 / 0.4e1 * t3571 * t4465 - 0.7e1 / 0.2e1 * t3574 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4385 - 0.7e1 / 0.2e1 * t4479 * t1155 - t459 * t4492; + const double t4495 = t4494 * t483; + const double t4498 = t1555 * t1234; + const double t4501 = t4456 * t447; + const double t4504 = t1522 * t1191; + const double t4507 = t1181 * t1532; + const double t4516 = -t4411 / 0.2e1 - t4058 - 0.3e1 / 0.4e1 * t4415 + t4419 / 0.2e1 + 0.3e1 / 0.2e1 * t4422 + t4068 + 0.5e1 / 0.4e1 * t4425 - t4428 / 0.2e1; + const double t4517 = t438 * t4516; + const double t4520 = t4385 * t426; + const double t4524 = t1575 * t1075; + const double t4530 = -t4441 * t485 / 0.9e1 - t4495 * t485 / 0.9e1 - t4498 * t485 / 0.9e1 + 0.26366444444444444444e-1 * t4501 * t450 + 0.26366444444444444444e-1 * t4504 * t450 + 0.26366444444444444444e-1 * t4507 * t450 + 0.26366444444444444444e-1 * t4517 * t450 + 0.78788148148148148148e-2 * t1449 * t1450 * t4520 - 0.2e1 / 0.3e1 * t33 * t828 * t4524 - t4042 - 0.2e1 * t1587 * t3405; + const double t4532 = t1569 * t1155; + const double t4537 = t1239 * t4385; + const double t4540 = t1507 * t1271; + const double t4543 = t1155 * t1586; + const double t4546 = t507 * t1249; + const double t4551 = t936 * t1269; + const double t4556 = t1583 * t1269; + const double t4558 = t1526 * t1159; + const double t4561 = t420 * t4385; + const double t4564 = -0.3e1 / 0.4e1 * t4110 * t4546 + 0.3e1 / 0.2e1 * t4386 * t507 - 0.3e1 / 0.2e1 * t1572 * t4551 - t2872 * t1583 / 0.2e1 + t2377 * t4556 + t937 * t4558 / 0.4e1 - t937 * t4561 / 0.2e1; + const double t4565 = t411 * t4564; + const double t4568 = t507 * t1252; + const double t4582 = -0.3e1 / 0.4e1 * t4112 * t4568 + 0.3e1 / 0.2e1 * t4391 * t507 - 0.3e1 / 0.2e1 * t1573 * t4551 - t2896 * t1583 / 0.2e1 + t2405 * t4556 + t951 * t4558 / 0.4e1 - t951 * t4561 / 0.2e1; + const double t4583 = t465 * t4582; + const double t4594 = 0.15819866666666666666e0 * t448 * t4532 + t1235 * t1569 / 0.3e1 + t484 * t4537 / 0.3e1 + 0.2e1 * t4540 * t945 + 0.2e1 * t4543 * t945 + 0.2e1 * t4565 * t945 - 0.2e1 * t4583 * t956 - 0.2e1 * t1597 * t3475 + 0.94545777777777777778e-1 * t3653 * t4465 - 0.52732888888888888888e-1 * t1523 * t1195 - 0.52732888888888888888e-1 * t1533 * t1195; + const double t4599 = t485 * t4385; + const double t4610 = t1550 * t1281; + const double t4613 = t1213 * t1596; + const double t4618 = t3500 * t1507; + const double t4619 = t4618 * t1155; + const double t4622 = -0.52732888888888888888e-1 * t1182 * t1536 - 0.52732888888888888888e-1 * t1192 * t1536 - 0.52732888888888888888e-1 * t448 * t4599 + t1556 * t1240 / 0.3e1 + t1566 * t1240 / 0.3e1 + t1219 * t1569 / 0.3e1 + 0.2e1 * t1587 * t3458 - 0.2e1 * t4610 * t956 - 0.2e1 * t4613 * t956 + 0.2e1 * t1597 * t3408 - 0.4e1 / 0.3e1 * t484 * t4619; + const double t4624 = -0.78788148148148148148e-2 * t1449 * t1450 * t4294 - 0.78788148148148148148e-2 * t2163 * t1450 * t4298 - 0.11818222222222222222e-1 * t1449 * t2843 * t4302 + 0.2e1 / 0.3e1 * t33 * t323 * t4393 - t4109 - 0.2e1 * t4390 * t515 + 0.2e1 * t4385 * t509 - 0.47272888888888888889e-1 * t3642 * t1507 - 0.47272888888888888889e-1 * t1167 * t4385 - t4405 * t485 / 0.9e1 + t4530 + t4594 + t4622; + const double t4629 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t1600 - t4034 - 0.3e1 / 0.8e1 * t5 * t316 * t4624 ); + const double t4631 = t1441 * t1796; + const double t4632 = t290 * t762; + const double t4633 = t4632 * t1394; + const double t4636 = t1351 * t1351; + const double t4637 = t1654 * t4636; + const double t4641 = t3687 * t1345; + const double t4644 = t1321 * t68; + const double t4647 = t76 * t81; + const double t4650 = t88 * t65; + const double t4651 = t4650 * t93; + const double t4654 = sigma_aa * t103; + const double t4657 = t110 * t66; + const double t4658 = t4657 * t115; + const double t4661 = t64 * t4644 / 0.64e2 + t74 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4651 + t100 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4658; + const double t4662 = t55 * t4661; + const double t4663 = t4662 * t176; + const double t4669 = t1345 * t1345; + const double t4670 = t1706 * t4669; + const double t4674 = 0.1e1 / t66; + const double t4675 = t32 * t4674; + const double t4689 = t156 * t77; + const double t4696 = -t122 * t4675 * t125 / 0.48e2 + t134 * t4644 / 0.64e2 + t138 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4651 + t146 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4658 + t154 * t4689 * t161 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t89 * t171; + const double t4697 = t596 * t4696; + const double t4702 = piecewise_functor_3( t180, t49 * t1319 / 0.12e2 - t3686 * t4641 / 0.12e2 + t50 * t4663 / 0.24e2 - t50 * t1318 * t1346 / 0.12e2 + t50 * t120 * t4670 / 0.12e2 - t50 * t120 * t4697 / 0.24e2, 0.0 ); + const double t4703 = t756 * t4702; + const double t4705 = t1394 * t1394; + const double t4706 = t1776 * t4705; + const double t4708 = piecewise_functor_3( t241, t4702, 0.0 ); + const double t4709 = t762 * t4708; + const double t4711 = -0.27e2 / 0.4e1 * t4637 + 0.3e1 / 0.2e1 * t4703 + 0.27e2 / 0.4e1 * t4706 - 0.3e1 / 0.2e1 * t4709; + const double t4715 = t1431 * t1790; + const double t4716 = t290 * t756; + const double t4717 = t4716 * t1351; + const double t4720 = t804 * t194; + const double t4721 = t4720 * t1351; + const double t4723 = t791 * t194; + const double t4724 = t4723 * t1351; + const double t4731 = t99 * sigma_aa; + const double t4736 = -0.27096904113238942112e-3 * t655 * t81 * t658 + 0.1693556507077433882e-4 * t4731 * t103 * t1989 + 0.42141105276909202774e1 * t4702; + const double t4744 = t199 * t4702; + const double t4764 = -0.3e1 / 0.5e1 * t2018 * t4636 + 0.6e1 / 0.5e1 * t702 * t4702 + 0.3e1 / 0.5e1 * t2024 * t4705 - 0.6e1 / 0.5e1 * t704 * t4708; + const double t4766 = 0.474596e-1 * t4736 * t199 + 0.949192e-1 * t1366 * t1351 + 0.474596e-1 * t212 * t4702 + 0.56727466666666666666e-1 * t4636 + 0.56727466666666666666e-1 * t4744 - 0.54519192e1 * t199 * t4636 - 0.27259596e1 * t225 * t4702 - 0.35e2 / 0.4e1 * t2009 * t4636 - 0.7e1 * t3941 * t1351 - 0.7e1 / 0.2e1 * t699 * t4702 - t235 * t4764; + const double t4767 = t4766 * t267; + const double t4770 = t1399 * t1409; + const double t4773 = t263 * t4636; + const double t4775 = t33 * t45 * t4773; + const double t4777 = t219 * t4702; + const double t4779 = t33 * t45 * t4777; + const double t4782 = t678 * t1968 * t4636; + const double t4785 = t678 * t679 * t4702; + const double t4787 = t2071 * t4636; + const double t4791 = t735 * t4702; + const double t4795 = -0.15e2 / 0.4e1 * t4775 + 0.5e1 / 0.2e1 * t4779 + 0.25e2 / 0.2e1 * t4782 - 0.5e1 * t4785 - 0.35e2 / 0.12e2 * t254 * t260 * t4787 + 0.5e1 / 0.6e1 * t254 * t260 * t4791; + const double t4796 = t248 * t4795; + const double t4801 = t4736 * t223; + const double t4804 = t1366 * t1376; + const double t4811 = -0.3e1 / 0.4e1 * t4775 + t4779 / 0.2e1 + 0.5e1 / 0.4e1 * t4782 - t4785 / 0.2e1; + const double t4812 = t212 * t4811; + const double t4815 = t4702 * t200; + const double t4819 = t4636 * t200; + const double t4823 = 0.3e1 * t4631 * t4633 + 0.2e1 / 0.3e1 * t33 * t45 * t4711 - 0.3e1 * t4715 * t4717 - t1441 * t4721 + t1431 * t4724 + 0.94545777777777777778e-1 * t1936 * t4636 - t4767 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t4770 * t269 - t4796 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t648 * t4702 + 0.26366444444444444444e-1 * t4801 * t226 + 0.52732888888888888888e-1 * t4804 * t226 + 0.26366444444444444444e-1 * t4812 * t226 + 0.78788148148148148148e-2 * t1293 * t1294 * t4815 - 0.11818222222222222222e-1 * t1293 * t2534 * t4819; + const double t4824 = t4636 * t226; + const double t4832 = t756 * t4636; + const double t4833 = t783 * t194; + const double t4836 = 0.1e1 / t192; + const double t4837 = t4836 * t4636; + const double t4840 = t219 * t4636; + const double t4843 = t194 * t4702; + const double t4846 = -0.27e2 / 0.4e1 * t4637 * t291 + 0.3e1 / 0.2e1 * t4703 * t291 - 0.3e1 / 0.2e1 * t4832 * t4833 + t1875 * t4837 / 0.2e1 + t784 * t4840 / 0.4e1 - t784 * t4843 / 0.2e1; + const double t4847 = t181 * t4846; + const double t4850 = t1394 * t1440; + const double t4857 = t4833 * t1351; + const double t4866 = -0.27e2 / 0.4e1 * t4706 * t291 + 0.3e1 / 0.2e1 * t4709 * t291 - 0.3e1 / 0.2e1 * t1417 * t4857 + t1829 * t4837 / 0.2e1 + t800 * t4840 / 0.4e1 - t800 * t4843 / 0.2e1; + const double t4867 = t243 * t4866; + const double t4874 = t269 * t4702; + const double t4881 = t745 * t4702; + const double t4888 = t1922 * t4636; + const double t4891 = t745 * t4636; + const double t4894 = t1351 * t1430; + const double t4897 = -0.1575762962962962963e-1 * t1293 * t1294 * t4824 + 0.2e1 * t4847 * t792 - 0.4e1 * t4850 * t805 - 0.2e1 * t4867 * t805 - 0.10546577777777777778e0 * t1367 * t1380 - 0.10546577777777777778e0 * t1377 * t1380 - 0.52732888888888888888e-1 * t224 * t4874 + 0.2e1 / 0.3e1 * t1400 * t1413 + 0.2e1 / 0.3e1 * t1410 * t1413 + t268 * t4881 / 0.3e1 - 0.2e1 * t4708 * t299 + 0.2e1 * t4702 * t293 - 0.4e1 / 0.3e1 * t268 * t4888 + 0.15819866666666666666e0 * t224 * t4891 + 0.4e1 * t4894 * t792; + const double t4898 = t4823 + t4897; + const double t4902 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t4898 ); + const double t4903 = t1587 * t2392; + const double t4904 = t506 * t914; + const double t4905 = t4904 * t1507; + const double t4908 = t1597 * t2414; + const double t4909 = t506 * t919; + const double t4910 = t4909 * t1550; + const double t4913 = t1507 * t1507; + const double t4914 = t2337 * t4913; + const double t4918 = t4313 * t1501; + const double t4921 = t1477 * t337; + const double t4924 = t76 * t345; + const double t4927 = t88 * t334; + const double t4928 = t4927 * t353; + const double t4931 = sigma_bb * t359; + const double t4934 = t110 * t335; + const double t4935 = t4934 * t367; + const double t4938 = t64 * t4921 / 0.64e2 + t74 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4928 + t100 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4935; + const double t4939 = t329 * t4938; + const double t4940 = t4939 * t406; + const double t4946 = t1501 * t1501; + const double t4947 = t3316 * t4946; + const double t4951 = 0.1e1 / t335; + const double t4952 = t32 * t4951; + const double t4966 = t156 * t341; + const double t4973 = -t122 * t4952 * t375 / 0.48e2 + t134 * t4921 / 0.64e2 + t138 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4928 + t146 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4935 + t154 * t4966 * t395 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t349 * t401; + const double t4974 = t1120 * t4973; + const double t4979 = piecewise_functor_3( t410, t49 * t1475 / 0.12e2 - t4312 * t4918 / 0.12e2 + t324 * t4940 / 0.24e2 - t324 * t1474 * t1502 / 0.12e2 + t324 * t372 * t4947 / 0.12e2 - t324 * t372 * t4974 / 0.24e2, 0.0 ); + const double t4980 = t914 * t4979; + const double t4982 = t1550 * t1550; + const double t4983 = t2349 * t4982; + const double t4985 = piecewise_functor_3( t463, t4979, 0.0 ); + const double t4986 = t919 * t4985; + const double t4988 = -0.27e2 / 0.4e1 * t4914 + 0.3e1 / 0.2e1 * t4980 + 0.27e2 / 0.4e1 * t4983 - 0.3e1 / 0.2e1 * t4986; + const double t5000 = t1239 * t4979; + const double t5003 = t1507 * t1586; + const double t5010 = t914 * t4913; + const double t5011 = t936 * t420; + const double t5014 = 0.1e1 / t418; + const double t5015 = t5014 * t4913; + const double t5018 = t443 * t4913; + const double t5021 = t420 * t4979; + const double t5024 = -0.27e2 / 0.4e1 * t4914 * t507 + 0.3e1 / 0.2e1 * t4980 * t507 - 0.3e1 / 0.2e1 * t5010 * t5011 + t2377 * t5015 / 0.2e1 + t937 * t5018 / 0.4e1 - t937 * t5021 / 0.2e1; + const double t5025 = t411 * t5024; + const double t5028 = t1550 * t1596; + const double t5031 = t3500 * t4913; + const double t5034 = t1239 * t4913; + const double t5040 = t99 * sigma_bb; + const double t5045 = -0.27096904113238942112e-3 * t655 * t345 * t1176 + 0.1693556507077433882e-4 * t5040 * t359 * t3551 + 0.42141105276909202774e1 * t4979; + const double t5053 = t425 * t4979; + const double t5073 = -0.3e1 / 0.5e1 * t3580 * t4913 + 0.6e1 / 0.5e1 * t1210 * t4979 + 0.3e1 / 0.5e1 * t3586 * t4982 - 0.6e1 / 0.5e1 * t1212 * t4985; + const double t5075 = 0.474596e-1 * t5045 * t425 + 0.949192e-1 * t1522 * t1507 + 0.474596e-1 * t438 * t4979 + 0.56727466666666666666e-1 * t4913 + 0.56727466666666666666e-1 * t5053 - 0.54519192e1 * t425 * t4913 - 0.27259596e1 * t449 * t4979 - 0.35e2 / 0.4e1 * t3571 * t4913 - 0.7e1 * t4479 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4979 - t459 * t5073; + const double t5076 = t5075 * t483; + const double t5079 = t1555 * t1565; + const double t5082 = -0.3e1 * t4903 * t4905 + 0.3e1 * t4908 * t4910 + 0.2e1 / 0.3e1 * t33 * t323 * t4988 + 0.94545777777777777778e-1 * t3653 * t4913 - 0.2e1 * t4985 * t515 + 0.2e1 * t4979 * t509 + 0.2e1 / 0.3e1 * t1566 * t1569 + t484 * t5000 / 0.3e1 + 0.4e1 * t5003 * t945 + 0.2e1 * t5025 * t945 - 0.4e1 * t5028 * t956 - 0.4e1 / 0.3e1 * t484 * t5031 + 0.15819866666666666666e0 * t448 * t5034 - t5076 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t5079 * t485; + const double t5083 = t479 * t4913; + const double t5085 = t33 * t323 * t5083; + const double t5087 = t443 * t4979; + const double t5089 = t33 * t323 * t5087; + const double t5092 = t870 * t2243 * t4913; + const double t5095 = t870 * t871 * t4979; + const double t5097 = t2301 * t4913; + const double t5101 = t898 * t4979; + const double t5105 = -0.15e2 / 0.4e1 * t5085 + 0.5e1 / 0.2e1 * t5089 + 0.25e2 / 0.2e1 * t5092 - 0.5e1 * t5095 - 0.35e2 / 0.12e2 * t254 * t476 * t5097 + 0.5e1 / 0.6e1 * t254 * t476 * t5101; + const double t5106 = t470 * t5105; + const double t5111 = t5045 * t447; + const double t5114 = t1522 * t1532; + const double t5121 = -0.3e1 / 0.4e1 * t5085 + t5089 / 0.2e1 + 0.5e1 / 0.4e1 * t5092 - t5095 / 0.2e1; + const double t5122 = t438 * t5121; + const double t5129 = t5011 * t1507; + const double t5138 = -0.27e2 / 0.4e1 * t4983 * t507 + 0.3e1 / 0.2e1 * t4986 * t507 - 0.3e1 / 0.2e1 * t1573 * t5129 + t2405 * t5015 / 0.2e1 + t951 * t5018 / 0.4e1 - t951 * t5021 / 0.2e1; + const double t5139 = t465 * t5138; + const double t5146 = t485 * t4979; + const double t5151 = t4979 * t426; + const double t5155 = t4913 * t450; + const double t5159 = t4913 * t426; + const double t5163 = t944 * t420; + const double t5164 = t5163 * t1507; + const double t5166 = t955 * t420; + const double t5167 = t5166 * t1507; + const double t5169 = -t5106 * t485 / 0.9e1 - 0.47272888888888888889e-1 * t1167 * t4979 + 0.26366444444444444444e-1 * t5111 * t450 + 0.52732888888888888888e-1 * t5114 * t450 + 0.26366444444444444444e-1 * t5122 * t450 - 0.2e1 * t5139 * t956 - 0.10546577777777777778e0 * t1523 * t1536 - 0.10546577777777777778e0 * t1533 * t1536 - 0.52732888888888888888e-1 * t448 * t5146 + 0.2e1 / 0.3e1 * t1556 * t1569 + 0.78788148148148148148e-2 * t1449 * t1450 * t5151 - 0.1575762962962962963e-1 * t1449 * t1450 * t5155 - 0.11818222222222222222e-1 * t1449 * t2843 * t5159 + t1587 * t5164 - t1597 * t5167; + const double t5170 = t5082 + t5169; + const double t5174 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t5170 ); + + + v2rho2_aa = 0.2e1 * t813 + 0.2e1 * t964 + t6 * ( t2120 + t2427 ); + v2rho2_bb = 0.2e1 * t1061 + 0.2e1 * t1290 + t6 * ( t3248 + t3662 ); + v2rhosigma_a_aa = t4027 * t6 + t1448; + v2rhosigma_b_bb = t4629 * t6 + t1604; + v2sigma2_aa_aa = t6 * t4902; + v2sigma2_bb_bb = t6 * t5174; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + const double t1607 = t23 * t23; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t527 * t527; + const double t1612 = t523 * t6; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t16 * t1613; + const double t1616 = -0.2e1 * t524 + 0.2e1 * t1614; + const double t1617 = piecewise_functor_5( t10, 0.0, t14, 0.0, t1616 ); + const double t1621 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t1609 + 0.4e1 / 0.3e1 * t23 * t1617 ); + const double t1622 = t1621 * t26; + const double t1626 = t530 * t188; + const double t1628 = t5 * t1626 * t302; + const double t1633 = t25 * t259; + const double t1636 = t5 * t1633 * t302 / 0.12e2; + const double t1638 = t5 * t535 * t808; + const double t1641 = 0.1e1 / t26 / t523; + const double t1642 = t43 * t1641; + const double t1645 = 0.8e1 / 0.27e2 * t33 * t1642 * t280; + const double t1646 = t767 * t545; + const double t1651 = t33 * t552 * t767; + const double t1654 = 0.1e1 / t275 / t274; + const double t1655 = t760 * t760; + const double t1657 = t1654 * t1655 / 0.12e2; + const double t1659 = 0.1e1 / t53 / t67; + const double t1660 = t1659 * t119; + const double t1661 = t1660 * t176; + const double t1664 = t558 * t590; + const double t1665 = t1664 * t176; + const double t1671 = t58 * t1659; + const double t1674 = 0.1e1 / t91; + const double t1675 = t66 * t1674; + const double t1679 = 0.1e1 / t52 / t575; + const double t1680 = t78 * t1679; + const double t1684 = 0.1e1 / t53 / t102; + const double t1685 = t90 * t1684; + const double t1688 = 0.1e1 / t159; + const double t1689 = t101 * t1688; + const double t1693 = 0.1e1 / t52 / t614; + const double t1694 = t112 * t1693; + const double t1697 = 0.11e2 / 0.27e2 * t57 * t1671 + 0.5e1 / 0.12e2 * t64 * t1675 + 0.19e2 / 0.324e3 * t74 * t1680 + 0.115e3 / 0.2592e4 * t86 * t1685 + t100 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t1694; + const double t1698 = t55 * t1697; + const double t1699 = t1698 * t176; + const double t1706 = 0.1e1 / t595 / t175; + const double t1707 = t625 * t625; + const double t1708 = t1706 * t1707; + const double t1713 = 0.1e1 / t52 / t556; + const double t1730 = 0.1e1 / t53 / t170; + const double t1734 = t102 * t91; + const double t1735 = 0.1e1 / t1734; + const double t1739 = 0.7e1 / 0.27e2 * t122 * t123 * t1713 + 0.11e2 / 0.27e2 * t130 * t1671 + 0.5e1 / 0.12e2 * t134 * t1675 + 0.19e2 / 0.324e3 * t138 * t1680 + 0.115e3 / 0.2592e4 * t142 * t1685 + t146 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t1694 + 0.35e2 / 0.15552e5 * t154 * t158 * t1730 + 0.13e2 / 0.9216e4 * t168 * t169 * t1735; + const double t1740 = t596 * t1739; + const double t1745 = piecewise_functor_3( t180, 0.11e2 / 0.27e2 * t50 * t1661 - 0.2e1 / 0.9e1 * t50 * t1665 + 0.2e1 / 0.9e1 * t50 * t559 * t626 + t50 * t1699 / 0.24e2 - t50 * t591 * t626 / 0.12e2 + t50 * t120 * t1708 / 0.12e2 - t50 * t120 * t1740 / 0.24e2, 0.0 ); + const double t1747 = t669 * t188; + const double t1748 = t545 * t545; + const double t1750 = t632 * t1747 * t1748; + const double t1751 = 0.18e2 * t1750; + const double t1752 = t216 * t259; + const double t1754 = t632 * t1752 * t545; + const double t1755 = 0.8e1 * t1754; + const double t1757 = 0.1e1 / t540 / t39; + const double t1758 = t542 * t542; + const double t1761 = piecewise_functor_5( t35, 0.0, t37, 0.0, t1616 ); + const double t1765 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t1758 + t541 * t1761 / 0.3e1 ); + const double t1767 = t632 * t633 * t1765; + const double t1768 = 0.6e1 * t1767; + const double t1770 = t183 * t186 * t728; + const double t1771 = 0.1e2 / 0.3e1 * t1770; + const double t1772 = 0.9e1 * t1745 + t1751 + t1755 - t1768 + t1771; + const double t1774 = t756 * t1772 / 0.6e1; + const double t1776 = 0.1e1 / t278 / t277; + const double t1777 = t764 * t764; + const double t1779 = t1776 * t1777 / 0.12e2; + const double t1780 = piecewise_functor_3( t241, t1745, 0.0 ); + const double t1782 = 0.9e1 * t1780 + t1751 + t1755 - t1768 + t1771; + const double t1784 = t762 * t1782 / 0.6e1; + const double t1785 = -t1657 + t1774 + t1779 - t1784; + const double t1789 = t288 * t288; + const double t1790 = 0.1e1 / t1789; + const double t1791 = t1790 * t290; + const double t1792 = t1791 * t780; + const double t1795 = t297 * t297; + const double t1796 = 0.1e1 / t1795; + const double t1797 = t1796 * t290; + const double t1798 = t1797 * t798; + const double t1801 = t216 * t44; + const double t1802 = t280 * t1748; + const double t1806 = t185 * t551; + const double t1808 = t33 * t1806 * t749; + const double t1812 = 0.2e1 / 0.3e1 * t33 * t1801 * t1748; + const double t1814 = t33 * t1806 * t545; + const double t1815 = 0.2e1 / 0.9e1 * t1814; + const double t1818 = t33 * t539 * t1765 / 0.3e1; + const double t1821 = 0.4e1 / 0.27e2 * t29 * t284 * t1641; + const double t1822 = t1812 + t1815 - t1818 + t1821 - t1779 + t1784; + const double t1824 = t798 * t783; + const double t1828 = 0.1e1 / t782 / t290; + const double t1829 = t297 * t1828; + const double t1830 = t787 * t787; + const double t1833 = t640 * t640; + const double t1839 = 0.1e2 / 0.27e2 * t1770; + const double t1840 = t1745 + 0.2e1 * t1750 + 0.8e1 / 0.9e1 * t1754 - 0.2e1 / 0.3e1 * t1767 + t1839; + const double t1843 = t1812 + t1815 - t1818 + t1821 - t219 * t1833 / 0.4e1 + t194 * t1840 / 0.2e1; + const double t1845 = t1822 * t291 - 0.2e1 * t1824 * t787 + 0.2e1 * t1829 * t1830 - t1843 * t800; + const double t1846 = t243 * t1845; + const double t1849 = t804 * t787; + const double t1856 = t269 * t1745; + const double t1863 = t745 * t1745; + const double t1866 = t631 * t789; + const double t1869 = t1645 - 0.4e1 / 0.3e1 * t33 * t539 * t1646 - 0.4e1 / 0.9e1 * t1651 + 0.2e1 / 0.3e1 * t33 * t45 * t1785 - 0.2e1 * t790 * t1792 + 0.2e1 * t803 * t1798 + 0.4e1 / 0.3e1 * t33 * t1801 * t1802 + 0.4e1 / 0.9e1 * t1808 - 0.2e1 * t1846 * t805 - 0.2e1 * t803 * t1849 - 0.10546577777777777778e0 * t664 * t687 - 0.10546577777777777778e0 * t684 * t687 - 0.52732888888888888888e-1 * t224 * t1856 + 0.2e1 / 0.3e1 * t711 * t746 + 0.2e1 / 0.3e1 * t741 * t746 + t268 * t1863 / 0.3e1 + 0.4e1 * t1866 * t792; + const double t1870 = t1812 + t1815 - t1818 + t1821 - t1657 + t1774; + const double t1872 = t780 * t783; + const double t1875 = t288 * t1828; + const double t1879 = 0.2e1 * t1830 * t1875 - t1843 * t784 + t1870 * t291 - 0.2e1 * t1872 * t787; + const double t1880 = t181 * t1879; + const double t1883 = t280 * t1765; + const double t1887 = t194 * t1748; + const double t1889 = t33 * t1801 * t1887; + const double t1892 = t33 * t1806 * t546; + const double t1894 = t32 * t185; + const double t1895 = t29 * t1894; + const double t1896 = t545 * t640; + const double t1898 = t1895 * t1294 * t1896; + const double t1900 = t194 * t1765; + const double t1902 = t33 * t539 * t1900; + const double t1905 = t33 * t1642 * t194; + const double t1906 = 0.4e1 / 0.27e2 * t1905; + const double t1908 = t33 * t552 * t641; + const double t1910 = t263 * t1833; + const double t1912 = t33 * t45 * t1910; + const double t1914 = t219 * t1840; + const double t1916 = t33 * t45 * t1914; + const double t1918 = -0.2e1 / 0.3e1 * t1889 - 0.2e1 / 0.9e1 * t1892 - t1898 / 0.3e1 + t1902 / 0.3e1 - t1906 - t1908 / 0.9e1 - t1912 / 0.4e1 + t1916 / 0.6e1; + const double t1922 = 0.1e1 / t744 / t199; + const double t1923 = t631 * t631; + const double t1924 = t1922 * t1923; + const double t1927 = t745 * t1923; + const double t1930 = t791 * t787; + const double t1933 = t705 * t802; + const double t1936 = t198 * t269; + const double t1939 = t663 * t683; + const double t1944 = 0.4e1 / 0.9e1 * t1905; + const double t1948 = t214 * t257; + const double t1950 = t1948 * t671 * t1748; + const double t1952 = t524 * t219; + const double t1954 = t670 * t1952 * t545; + const double t1957 = t670 * t679 * t1896; + const double t1960 = t670 * t671 * t1765; + const double t1963 = t214 * t216 * t1613 * t219; + const double t1964 = 0.2e1 / 0.3e1 * t1963; + const double t1965 = t524 * t263; + const double t1967 = t678 * t1965 * t640; + const double t1968 = t7 * t735; + const double t1970 = t678 * t1968 * t1833; + const double t1973 = t678 * t679 * t1840; + const double t1975 = -0.2e1 * t1889 - 0.2e1 / 0.3e1 * t1892 - t1898 + t1902 - t1944 - t1908 / 0.3e1 - 0.3e1 / 0.4e1 * t1912 + t1916 / 0.2e1 + 0.4e1 * t1950 + 0.2e1 * t1954 + 0.3e1 * t1957 - t1960 + t1964 + t1967 + 0.5e1 / 0.4e1 * t1970 - t1973 / 0.2e1; + const double t1976 = t212 * t1975; + const double t1979 = sigma_aa * t1659; + const double t1987 = t99 * t101; + const double t1989 = 0.1e1 / t657 / t206; + const double t1994 = 0.12717480330480143498e0 * t49 * t1979 * t207 - 0.32516284935886730535e-2 * t655 * t77 * t1679 * t658 + 0.12043068494772863161e-3 * t1987 * t1688 * t1989 + 0.42141105276909202774e1 * t1745; + const double t2008 = t234 * t199; + const double t2009 = t2008 * t246; + const double t2012 = t698 * t708; + const double t2018 = 0.1e1 / t238 / t181; + const double t2024 = 0.1e1 / t244 / t243; + const double t2025 = t705 * t705; + const double t2030 = -0.3e1 / 0.5e1 * t2018 * t1923 + 0.6e1 / 0.5e1 * t702 * t1745 + 0.3e1 / 0.5e1 * t2024 * t2025 - 0.6e1 / 0.5e1 * t704 * t1780; + const double t2032 = 0.474596e-1 * t1994 * t199 + 0.949192e-1 * t663 * t631 + 0.474596e-1 * t212 * t1745 + 0.56727466666666666666e-1 * t1923 + 0.56727466666666666666e-1 * t199 * t1745 - 0.54519192e1 * t199 * t1923 - 0.27259596e1 * t225 * t1745 - 0.35e2 / 0.4e1 * t2009 * t1923 - 0.7e1 * t2012 * t631 - 0.7e1 / 0.2e1 * t699 * t1745 - t235 * t2030; + const double t2033 = t2032 * t267; + const double t2036 = t710 * t740; + const double t2040 = 0.2e2 / 0.3e1 * t1963; + const double t2044 = 0.1e1 / t187 / t1612; + const double t2045 = t257 * t2044; + const double t2048 = 0.4e2 / 0.27e2 * t254 * t2045 * t263; + const double t2050 = t254 * t729 * t736; + const double t2052 = t735 * t1840; + const double t2056 = t263 * t1765; + const double t2064 = -0.1e2 * t1960 + t2040 + 0.1e2 * t1967 - 0.5e1 * t1973 - t2048 - 0.25e2 / 0.9e1 * t2050 + 0.5e1 / 0.6e1 * t254 * t260 * t2052 + 0.5e1 / 0.3e1 * t254 * t722 * t2056 + 0.4e2 * t1950 + 0.2e2 * t1954 + 0.3e2 * t1957 + 0.25e2 / 0.2e1 * t1970; + const double t2066 = 0.2e2 / 0.9e1 * t1905; + const double t2069 = t261 * t261; + const double t2071 = 0.1e1 / t193 / t2069; + const double t2072 = t2071 * t1833; + const double t2077 = 0.1e1 / t255 / t215; + const double t2078 = t2077 * t259; + const double t2079 = t263 * t1748; + const double t2083 = t721 * t728; + const double t2085 = t254 * t2083 * t723; + const double t2087 = t88 * t721; + const double t2088 = t253 * t2087; + const double t2089 = t259 * t735; + const double t2097 = 0.5e1 * t1902 - t2066 - 0.5e1 / 0.3e1 * t1908 + 0.5e1 / 0.2e1 * t1916 - 0.35e2 / 0.12e2 * t254 * t260 * t2072 - 0.1e2 * t254 * t2078 * t2079 - 0.5e2 / 0.9e1 * t2085 - 0.25e2 / 0.3e1 * t2088 * t2089 * t1896 - 0.1e2 * t1889 - 0.1e2 / 0.3e1 * t1892 - 0.5e1 * t1898 - 0.15e2 / 0.4e1 * t1912; + const double t2098 = t2064 + t2097; + const double t2099 = t248 * t2098; + const double t2102 = t645 * t226; + const double t2107 = t1994 * t223; + const double t2114 = 0.2e1 * t1880 * t792 - 0.2e1 / 0.3e1 * t33 * t539 * t1883 + 0.47272888888888888889e-1 * t1918 * t200 - 0.4e1 / 0.3e1 * t268 * t1924 + 0.15819866666666666666e0 * t224 * t1927 + 0.2e1 * t790 * t1930 - 0.4e1 * t1933 * t805 + 0.94545777777777777778e-1 * t1936 * t1923 + 0.52732888888888888888e-1 * t1939 * t226 + 0.26366444444444444444e-1 * t1976 * t226 - t2033 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t2036 * t269 - t2099 * t269 / 0.9e1 - 0.94545777777777777778e-1 * t2102 * t631 - 0.47272888888888888889e-1 * t648 * t1745 + 0.26366444444444444444e-1 * t2107 * t226 - 0.2e1 * t1780 * t299 + 0.2e1 * t1745 * t293; + const double t2115 = t1869 + t2114; + const double t2120 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t1622 * t302 - t1628 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t531 * t808 + t1636 - t1638 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t2115 ); + const double t2121 = t313 * t313; + const double t2122 = 0.1e1 / t2121; + const double t2123 = t816 * t816; + const double t2126 = t308 * t1613; + const double t2129 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t524 + 0.2e1 * t2126 ); + const double t2133 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t2123 + 0.4e1 / 0.3e1 * t313 * t2129 ); + const double t2134 = t2133 * t26; + const double t2138 = t819 * t188; + const double t2140 = t5 * t2138 * t518; + const double t2145 = t315 * t259; + const double t2148 = t5 * t2145 * t518 / 0.12e2; + const double t2150 = t5 * t824 * t959; + const double t2152 = t440 * t44; + const double t2153 = t835 * t835; + const double t2154 = t420 * t2153; + const double t2156 = t33 * t2152 * t2154; + const double t2158 = t413 * t551; + const double t2160 = t33 * t2158 * t836; + const double t2162 = t32 * t413; + const double t2163 = t29 * t2162; + const double t2164 = t835 * t851; + const double t2166 = t2163 * t1450 * t2164; + const double t2169 = 0.1e1 / t829 / t318; + const double t2170 = t832 * t832; + const double t2174 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t1616 ); + const double t2178 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t2170 + t830 * t2174 / 0.3e1 ); + const double t2179 = t420 * t2178; + const double t2181 = t33 * t828 * t2179; + const double t2183 = t322 * t1641; + const double t2185 = t33 * t2183 * t420; + const double t2186 = 0.4e1 / 0.27e2 * t2185; + const double t2188 = t33 * t840 * t852; + const double t2190 = t851 * t851; + const double t2191 = t479 * t2190; + const double t2193 = t33 * t323 * t2191; + const double t2195 = t861 * t188; + const double t2197 = t632 * t2195 * t2153; + const double t2199 = t440 * t259; + const double t2201 = t632 * t2199 * t835; + const double t2204 = t632 * t844 * t2178; + const double t2207 = t183 * t414 * t728; + const double t2208 = 0.1e2 / 0.27e2 * t2207; + const double t2209 = 0.2e1 * t2197 + 0.8e1 / 0.9e1 * t2201 - 0.2e1 / 0.3e1 * t2204 + t2208; + const double t2210 = t443 * t2209; + const double t2212 = t33 * t323 * t2210; + const double t2214 = -0.2e1 / 0.3e1 * t2156 - 0.2e1 / 0.9e1 * t2160 - t2166 / 0.3e1 + t2181 / 0.3e1 - t2186 - t2188 / 0.9e1 - t2193 / 0.4e1 + t2212 / 0.6e1; + const double t2219 = 0.4e1 / 0.9e1 * t2185; + const double t2223 = t214 * t475; + const double t2225 = t2223 * t863 * t2153; + const double t2227 = t524 * t443; + const double t2229 = t862 * t2227 * t835; + const double t2232 = t862 * t871 * t2164; + const double t2235 = t862 * t863 * t2178; + const double t2238 = t214 * t440 * t1613 * t443; + const double t2239 = 0.2e1 / 0.3e1 * t2238; + const double t2240 = t524 * t479; + const double t2242 = t870 * t2240 * t851; + const double t2243 = t7 * t898; + const double t2245 = t870 * t2243 * t2190; + const double t2248 = t870 * t871 * t2209; + const double t2250 = -0.2e1 * t2156 - 0.2e1 / 0.3e1 * t2160 - t2166 + t2181 - t2219 - t2188 / 0.3e1 - 0.3e1 / 0.4e1 * t2193 + t2212 / 0.2e1 + 0.4e1 * t2225 + 0.2e1 * t2229 + 0.3e1 * t2232 - t2235 + t2239 + t2242 + 0.5e1 / 0.4e1 * t2245 - t2248 / 0.2e1; + const double t2251 = t438 * t2250; + const double t2254 = t479 * t2178; + const double t2258 = t475 * t2044; + const double t2261 = 0.4e2 / 0.27e2 * t254 * t2258 * t479; + const double t2263 = t254 * t892 * t899; + const double t2265 = t898 * t2209; + const double t2271 = 0.2e2 / 0.3e1 * t2238; + const double t2277 = 0.5e1 / 0.3e1 * t254 * t887 * t2254 - t2261 - 0.25e2 / 0.9e1 * t2263 + 0.5e1 / 0.6e1 * t254 * t476 * t2265 + 0.25e2 / 0.2e1 * t2245 - 0.1e2 * t2235 + t2271 + 0.1e2 * t2242 - 0.5e1 * t2248 + 0.5e1 / 0.2e1 * t2212 + 0.4e2 * t2225 + 0.2e2 * t2229; + const double t2280 = 0.2e2 / 0.9e1 * t2185; + const double t2283 = 0.1e1 / t473 / t439; + const double t2284 = t2283 * t259; + const double t2285 = t479 * t2153; + const double t2289 = t886 * t728; + const double t2291 = t254 * t2289 * t888; + const double t2293 = t88 * t886; + const double t2294 = t253 * t2293; + const double t2295 = t259 * t898; + const double t2299 = t477 * t477; + const double t2301 = 0.1e1 / t419 / t2299; + const double t2302 = t2301 * t2190; + const double t2310 = 0.3e2 * t2232 + 0.5e1 * t2181 - t2280 - 0.5e1 / 0.3e1 * t2188 - 0.1e2 * t254 * t2284 * t2285 - 0.5e2 / 0.9e1 * t2291 - 0.25e2 / 0.3e1 * t2294 * t2295 * t2164 - 0.35e2 / 0.12e2 * t254 * t476 * t2302 - 0.1e2 * t2156 - 0.1e2 / 0.3e1 * t2160 - 0.5e1 * t2166 - 0.15e2 / 0.4e1 * t2193; + const double t2311 = t2277 + t2310; + const double t2312 = t470 * t2311; + const double t2315 = t496 * t2153; + const double t2320 = t33 * t2158 * t907; + const double t2322 = t922 * t835; + const double t2326 = t496 * t2178; + const double t2332 = 0.8e1 / 0.27e2 * t33 * t2183 * t496; + const double t2334 = t33 * t840 * t922; + const double t2337 = 0.1e1 / t491 / t490; + const double t2338 = t917 * t917; + const double t2340 = t2337 * t2338 / 0.12e2; + const double t2344 = 0.1e2 / 0.3e1 * t2207; + const double t2345 = 0.18e2 * t2197 + 0.8e1 * t2201 - 0.6e1 * t2204 + t2344; + const double t2347 = t914 * t2345 / 0.6e1; + const double t2349 = 0.1e1 / t494 / t493; + const double t2351 = t2349 * t2338 / 0.12e2; + const double t2353 = t919 * t2345 / 0.6e1; + const double t2354 = -t2340 + t2347 + t2351 - t2353; + const double t2360 = 0.2e1 / 0.3e1 * t33 * t2152 * t2153; + const double t2362 = t33 * t2158 * t835; + const double t2363 = 0.2e1 / 0.9e1 * t2362; + const double t2366 = t33 * t828 * t2178 / 0.3e1; + const double t2369 = 0.4e1 / 0.27e2 * t29 * t500 * t1641; + const double t2370 = t2360 + t2363 - t2366 + t2369 - t2340 + t2347; + const double t2372 = t933 * t936; + const double t2376 = 0.1e1 / t935 / t506; + const double t2377 = t504 * t2376; + const double t2378 = t940 * t940; + const double t2385 = t2360 + t2363 - t2366 + t2369 - t443 * t2190 / 0.4e1 + t420 * t2209 / 0.2e1; + const double t2387 = t2370 * t507 - 0.2e1 * t2372 * t940 + 0.2e1 * t2377 * t2378 - t2385 * t937; + const double t2388 = t411 * t2387; + const double t2391 = t504 * t504; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t2392 * t506; + const double t2394 = t2393 * t933; + const double t2397 = t944 * t940; + const double t2400 = t2360 + t2363 - t2366 + t2369 - t2351 + t2353; + const double t2402 = t949 * t936; + const double t2405 = t513 * t2376; + const double t2409 = 0.2e1 * t2378 * t2405 - t2385 * t951 + t2400 * t507 - 0.2e1 * t2402 * t940; + const double t2410 = t465 * t2409; + const double t2413 = t513 * t513; + const double t2414 = 0.1e1 / t2413; + const double t2415 = t2414 * t506; + const double t2416 = t2415 * t949; + const double t2419 = t955 * t940; + const double t2422 = 0.47272888888888888889e-1 * t2214 * t426 + 0.26366444444444444444e-1 * t2251 * t450 - t2312 * t485 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t2152 * t2315 + 0.4e1 / 0.9e1 * t2320 - 0.4e1 / 0.3e1 * t33 * t828 * t2322 - 0.2e1 / 0.3e1 * t33 * t828 * t2326 + t2332 - 0.4e1 / 0.9e1 * t2334 + 0.2e1 / 0.3e1 * t33 * t323 * t2354 + 0.2e1 * t2388 * t945 - 0.2e1 * t943 * t2394 + 0.2e1 * t943 * t2397 - 0.2e1 * t2410 * t956 + 0.2e1 * t954 * t2416 - 0.2e1 * t954 * t2419; + const double t2427 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t2134 * t518 - t2140 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t820 * t959 + t2148 - t2150 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t2422 ); + const double t2443 = t971 * t188; + const double t2445 = t5 * t2443 * t302; + const double t2456 = t5 * t535 * t1056; + const double t2470 = t632 * t1752 * t979; + const double t2497 = t33 * t552 * t1030; + const double t2501 = t33 * t1806 * t1021; + const double t2515 = t33 * t1806 * t980; + const double t2532 = t33 * t552 * t988; + const double t2534 = t44 * t263; + const double t2568 = t33 * t1806 * t979; + const double t2576 = t1038 * t783; + const double t2599 = t1049 * t783; + const double t2622 = t254 * t2083 * t1009; + const double t2625 = t254 * t729 * t1013; + const double t2632 = t678 * t1965 * t987; + const double t2684 = t670 * t1952 * t979; + const double t2687 = t253 * t88 * t257; + const double t2688 = t259 * t2071; + const double t2745 = t1066 * t188; + const double t2747 = t5 * t2745 * t518; + const double t2758 = t5 * t824 * t1285; + const double t2773 = t632 * t2199 * t1075; + const double t2800 = t33 * t840 * t1255; + const double t2803 = t33 * t2158 * t1243; + const double t2824 = t33 * t2158 * t1076; + const double t2841 = t33 * t840 * t1160; + const double t2843 = t44 * t479; + const double t2864 = t33 * t2158 * t1075; + const double t2872 = t1265 * t936; + const double t2896 = t1278 * t936; + const double t2929 = t862 * t2227 * t1075; + const double t2935 = t870 * t2240 * t1159; + const double t2946 = t254 * t2289 * t1226; + const double t2950 = t254 * t892 * t1230; + const double t2984 = t253 * t88 * t475; + const double t2985 = t259 * t2301; + const double t3038 = t968 * t968; + const double t3042 = 0.2e1 * t524 + 0.2e1 * t1614; + const double t3043 = piecewise_functor_5( t10, 0.0, t14, 0.0, t3042 ); + const double t3047 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t3038 + 0.4e1 / 0.3e1 * t23 * t3043 ); + const double t3048 = t3047 * t26; + const double t3057 = t979 * t979; + const double t3058 = t194 * t3057; + const double t3060 = t33 * t1801 * t3058; + const double t3063 = t979 * t987; + const double t3065 = t1895 * t1294 * t3063; + const double t3067 = t976 * t976; + const double t3070 = piecewise_functor_5( t35, 0.0, t37, 0.0, t3042 ); + const double t3074 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t3067 + t541 * t3070 / 0.3e1 ); + const double t3075 = t194 * t3074; + const double t3077 = t33 * t539 * t3075; + const double t3080 = t987 * t987; + const double t3081 = t263 * t3080; + const double t3083 = t33 * t45 * t3081; + const double t3086 = t632 * t1747 * t3057; + const double t3090 = t632 * t633 * t3074; + const double t3092 = 0.2e1 * t3086 + 0.8e1 / 0.9e1 * t2470 - 0.2e1 / 0.3e1 * t3090 + t1839; + const double t3093 = t219 * t3092; + const double t3095 = t33 * t45 * t3093; + const double t3097 = -0.2e1 / 0.3e1 * t3060 - 0.2e1 / 0.9e1 * t2515 - t3065 / 0.3e1 + t3077 / 0.3e1 - t1906 - t2532 / 0.9e1 - t3083 / 0.4e1 + t3095 / 0.6e1; + const double t3106 = t1948 * t671 * t3057; + const double t3110 = t670 * t679 * t3063; + const double t3113 = t670 * t671 * t3074; + const double t3115 = t678 * t1968 * t3080; + const double t3118 = t678 * t679 * t3092; + const double t3120 = -0.2e1 * t3060 - 0.2e1 / 0.3e1 * t2515 - t3065 + t3077 - t1944 - t2532 / 0.3e1 - 0.3e1 / 0.4e1 * t3083 + t3095 / 0.2e1 + 0.4e1 * t3106 + 0.2e1 * t2684 + 0.3e1 * t3110 - t3113 + t1964 + t2632 + 0.5e1 / 0.4e1 * t3115 - t3118 / 0.2e1; + const double t3121 = t212 * t3120; + const double t3124 = t263 * t3074; + const double t3128 = t735 * t3092; + const double t3141 = t2071 * t3080; + const double t3145 = 0.5e1 / 0.3e1 * t254 * t722 * t3124 + 0.5e1 / 0.6e1 * t254 * t260 * t3128 - 0.1e2 * t3113 - 0.5e1 * t3118 + 0.25e2 / 0.2e1 * t3115 + 0.5e1 / 0.2e1 * t3095 + 0.4e2 * t3106 + 0.3e2 * t3110 + 0.5e1 * t3077 + 0.2e2 * t2684 + 0.1e2 * t2632 - 0.35e2 / 0.12e2 * t254 * t260 * t3141; + const double t3146 = t263 * t3057; + const double t3160 = -0.1e2 * t254 * t2078 * t3146 - 0.25e2 / 0.3e1 * t2088 * t2089 * t3063 - 0.1e2 * t3060 - 0.5e1 * t3065 - 0.15e2 / 0.4e1 * t3083 - 0.5e2 / 0.9e1 * t2622 - 0.25e2 / 0.9e1 * t2625 - 0.5e1 / 0.3e1 * t2532 - 0.1e2 / 0.3e1 * t2515 + t2040 - t2048 - t2066; + const double t3161 = t3145 + t3160; + const double t3162 = t248 * t3161; + const double t3165 = t280 * t3057; + const double t3170 = t1030 * t979; + const double t3174 = t280 * t3074; + const double t3179 = t1026 * t1026; + const double t3181 = t1654 * t3179 / 0.12e2; + const double t3185 = 0.18e2 * t3086 + 0.8e1 * t2470 - 0.6e1 * t3090 + t1771; + const double t3187 = t756 * t3185 / 0.6e1; + const double t3189 = t1776 * t3179 / 0.12e2; + const double t3191 = t762 * t3185 / 0.6e1; + const double t3192 = -t3181 + t3187 + t3189 - t3191; + const double t3198 = 0.2e1 / 0.3e1 * t33 * t1801 * t3057; + const double t3199 = 0.2e1 / 0.9e1 * t2568; + const double t3202 = t33 * t539 * t3074 / 0.3e1; + const double t3203 = t3198 + t3199 - t3202 + t1821 - t3181 + t3187; + const double t3207 = t1042 * t1042; + const double t3214 = t3198 + t3199 - t3202 + t1821 - t219 * t3080 / 0.4e1 + t194 * t3092 / 0.2e1; + const double t3216 = -0.2e1 * t1042 * t2576 + 0.2e1 * t1875 * t3207 + t291 * t3203 - t3214 * t784; + const double t3217 = t181 * t3216; + const double t3220 = t1791 * t1038; + const double t3223 = t791 * t1042; + const double t3226 = t3198 + t3199 - t3202 + t1821 - t3189 + t3191; + const double t3233 = -0.2e1 * t1042 * t2599 + 0.2e1 * t1829 * t3207 + t291 * t3226 - t3214 * t800; + const double t3234 = t243 * t3233; + const double t3237 = t1797 * t1049; + const double t3240 = t804 * t1042; + const double t3243 = 0.47272888888888888889e-1 * t3097 * t200 + 0.26366444444444444444e-1 * t3121 * t226 - t3162 * t269 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t1801 * t3165 + 0.4e1 / 0.9e1 * t2501 - 0.4e1 / 0.3e1 * t33 * t539 * t3170 - 0.2e1 / 0.3e1 * t33 * t539 * t3174 + t1645 - 0.4e1 / 0.9e1 * t2497 + 0.2e1 / 0.3e1 * t33 * t45 * t3192 + 0.2e1 * t3217 * t792 - 0.2e1 * t1045 * t3220 + 0.2e1 * t1045 * t3223 - 0.2e1 * t3234 * t805 + 0.2e1 * t1053 * t3237 - 0.2e1 * t1053 * t3240; + const double t3248 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t3048 * t302 - t2445 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t972 * t1056 + t1636 - t2456 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t3243 ); + const double t3249 = t1063 * t1063; + const double t3254 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t524 + 0.2e1 * t2126 ); + const double t3258 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t3249 + 0.4e1 / 0.3e1 * t313 * t3254 ); + const double t3259 = t3258 * t26; + const double t3269 = 0.1e1 / t327 / t336; + const double t3270 = t3269 * t371; + const double t3271 = t3270 * t406; + const double t3274 = t1082 * t1114; + const double t3275 = t3274 * t406; + const double t3281 = t330 * t3269; + const double t3284 = 0.1e1 / t351; + const double t3285 = t335 * t3284; + const double t3289 = 0.1e1 / t326 / t1099; + const double t3290 = t342 * t3289; + const double t3294 = 0.1e1 / t327 / t358; + const double t3295 = t350 * t3294; + const double t3298 = 0.1e1 / t393; + const double t3299 = t357 * t3298; + const double t3303 = 0.1e1 / t326 / t1138; + const double t3304 = t364 * t3303; + const double t3307 = 0.11e2 / 0.27e2 * t57 * t3281 + 0.5e1 / 0.12e2 * t64 * t3285 + 0.19e2 / 0.324e3 * t74 * t3290 + 0.115e3 / 0.2592e4 * t86 * t3295 + t100 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t3304; + const double t3308 = t329 * t3307; + const double t3309 = t3308 * t406; + const double t3316 = 0.1e1 / t1119 / t405; + const double t3317 = t1149 * t1149; + const double t3318 = t3316 * t3317; + const double t3323 = 0.1e1 / t326 / t1080; + const double t3340 = 0.1e1 / t327 / t400; + const double t3344 = t358 * t351; + const double t3345 = 0.1e1 / t3344; + const double t3349 = 0.7e1 / 0.27e2 * t122 * t373 * t3323 + 0.11e2 / 0.27e2 * t130 * t3281 + 0.5e1 / 0.12e2 * t134 * t3285 + 0.19e2 / 0.324e3 * t138 * t3290 + 0.115e3 / 0.2592e4 * t142 * t3295 + t146 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t3304 + 0.35e2 / 0.15552e5 * t154 * t392 * t3340 + 0.13e2 / 0.9216e4 * t168 * t399 * t3345; + const double t3350 = t1120 * t3349; + const double t3355 = piecewise_functor_3( t410, 0.11e2 / 0.27e2 * t324 * t3271 - 0.2e1 / 0.9e1 * t324 * t3275 + 0.2e1 / 0.9e1 * t324 * t1083 * t1150 + t324 * t3309 / 0.24e2 - t324 * t1115 * t1150 / 0.12e2 + t324 * t372 * t3318 / 0.12e2 - t324 * t372 * t3350 / 0.24e2, 0.0 ); + const double t3358 = piecewise_functor_3( t463, t3355, 0.0 ); + const double t3361 = t1075 * t1075; + const double t3362 = t420 * t3361; + const double t3364 = t33 * t2152 * t3362; + const double t3367 = t1075 * t1159; + const double t3369 = t2163 * t1450 * t3367; + const double t3371 = t1072 * t1072; + const double t3375 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t3042 ); + const double t3379 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t3371 + t830 * t3375 / 0.3e1 ); + const double t3380 = t420 * t3379; + const double t3382 = t33 * t828 * t3380; + const double t3385 = t1159 * t1159; + const double t3386 = t479 * t3385; + const double t3388 = t33 * t323 * t3386; + const double t3391 = t632 * t2195 * t3361; + const double t3395 = t632 * t844 * t3379; + const double t3397 = t3355 + 0.2e1 * t3391 + 0.8e1 / 0.9e1 * t2773 - 0.2e1 / 0.3e1 * t3395 + t2208; + const double t3398 = t443 * t3397; + const double t3400 = t33 * t323 * t3398; + const double t3402 = -0.2e1 / 0.3e1 * t3364 - 0.2e1 / 0.9e1 * t2824 - t3369 / 0.3e1 + t3382 / 0.3e1 - t2186 - t2841 / 0.9e1 - t3388 / 0.4e1 + t3400 / 0.6e1; + const double t3405 = t2393 * t1265; + const double t3408 = t2415 * t1278; + const double t3411 = t1249 * t1249; + const double t3413 = t2337 * t3411 / 0.12e2; + const double t3415 = 0.18e2 * t3391; + const double t3416 = 0.8e1 * t2773; + const double t3417 = 0.6e1 * t3395; + const double t3418 = 0.9e1 * t3355 + t3415 + t3416 - t3417 + t2344; + const double t3420 = t914 * t3418 / 0.6e1; + const double t3421 = t1252 * t1252; + const double t3423 = t2349 * t3421 / 0.12e2; + const double t3425 = 0.9e1 * t3358 + t3415 + t3416 - t3417 + t2344; + const double t3427 = t919 * t3425 / 0.6e1; + const double t3428 = -t3413 + t3420 + t3423 - t3427; + const double t3436 = 0.2e1 / 0.3e1 * t33 * t2152 * t3361; + const double t3437 = 0.2e1 / 0.9e1 * t2864; + const double t3440 = t33 * t828 * t3379 / 0.3e1; + const double t3441 = t3436 + t3437 - t3440 + t2369 - t3413 + t3420; + const double t3445 = t1269 * t1269; + const double t3452 = t3436 + t3437 - t3440 + t2369 - t443 * t3385 / 0.4e1 + t420 * t3397 / 0.2e1; + const double t3454 = -0.2e1 * t1269 * t2872 + 0.2e1 * t2377 * t3445 + t3441 * t507 - t3452 * t937; + const double t3455 = t411 * t3454; + const double t3458 = t944 * t1269; + const double t3461 = t1213 * t1281; + const double t3464 = t3436 + t3437 - t3440 + t2369 - t3423 + t3427; + const double t3471 = -0.2e1 * t1269 * t2896 + 0.2e1 * t2405 * t3445 - t3452 * t951 + t3464 * t507; + const double t3472 = t465 * t3471; + const double t3475 = t955 * t1269; + const double t3478 = t1155 * t1155; + const double t3479 = t1239 * t3478; + const double t3484 = t485 * t3355; + const double t3491 = 0.2e1 * t3355 * t509 - 0.2e1 * t3358 * t515 + 0.47272888888888888889e-1 * t3402 * t426 - 0.2e1 * t1272 * t3405 + 0.2e1 * t1282 * t3408 + 0.2e1 / 0.3e1 * t33 * t323 * t3428 - 0.10546577777777777778e0 * t1182 * t1195 + 0.2e1 * t3455 * t945 + 0.2e1 * t1272 * t3458 - 0.4e1 * t3461 * t956 - 0.2e1 * t3472 * t956 - 0.2e1 * t1282 * t3475 + 0.15819866666666666666e0 * t448 * t3479 - 0.10546577777777777778e0 * t1192 * t1195 - 0.52732888888888888888e-1 * t448 * t3484 + 0.2e1 / 0.3e1 * t1219 * t1240 + 0.2e1 / 0.3e1 * t1235 * t1240; + const double t3492 = t1239 * t3355; + const double t3495 = t1155 * t1271; + const double t3500 = 0.1e1 / t1238 / t425; + const double t3501 = t3500 * t3478; + const double t3504 = t496 * t3379; + const double t3508 = t496 * t3361; + const double t3512 = t1255 * t1075; + const double t3523 = t2223 * t863 * t3361; + const double t3527 = t862 * t871 * t3367; + const double t3530 = t862 * t863 * t3379; + const double t3532 = t870 * t2243 * t3385; + const double t3535 = t870 * t871 * t3397; + const double t3537 = -0.2e1 * t3364 - 0.2e1 / 0.3e1 * t2824 - t3369 + t3382 - t2219 - t2841 / 0.3e1 - 0.3e1 / 0.4e1 * t3388 + t3400 / 0.2e1 + 0.4e1 * t3523 + 0.2e1 * t2929 + 0.3e1 * t3527 - t3530 + t2239 + t2935 + 0.5e1 / 0.4e1 * t3532 - t3535 / 0.2e1; + const double t3538 = t438 * t3537; + const double t3541 = sigma_bb * t3269; + const double t3549 = t99 * t357; + const double t3551 = 0.1e1 / t1175 / t432; + const double t3556 = 0.12717480330480143498e0 * t49 * t3541 * t433 - 0.32516284935886730535e-2 * t655 * t341 * t3289 * t1176 + 0.12043068494772863161e-3 * t3549 * t3298 * t3551 + 0.42141105276909202774e1 * t3355; + const double t3570 = t458 * t425; + const double t3571 = t3570 * t468; + const double t3574 = t1206 * t1216; + const double t3580 = 0.1e1 / t460 / t411; + const double t3586 = 0.1e1 / t466 / t465; + const double t3587 = t1213 * t1213; + const double t3592 = -0.3e1 / 0.5e1 * t3580 * t3478 + 0.6e1 / 0.5e1 * t1210 * t3355 + 0.3e1 / 0.5e1 * t3586 * t3587 - 0.6e1 / 0.5e1 * t1212 * t3358; + const double t3594 = 0.474596e-1 * t3556 * t425 + 0.949192e-1 * t1181 * t1155 + 0.474596e-1 * t438 * t3355 + 0.56727466666666666666e-1 * t3478 + 0.56727466666666666666e-1 * t425 * t3355 - 0.54519192e1 * t425 * t3478 - 0.27259596e1 * t449 * t3355 - 0.35e2 / 0.4e1 * t3571 * t3478 - 0.7e1 * t3574 * t1155 - 0.7e1 / 0.2e1 * t1207 * t3355 - t459 * t3592; + const double t3595 = t3594 * t483; + const double t3598 = t1218 * t1234; + const double t3601 = t2301 * t3385; + const double t3607 = t479 * t3379; + const double t3611 = t898 * t3397; + const double t3622 = -0.35e2 / 0.12e2 * t254 * t476 * t3601 - 0.5e1 * t3535 - 0.1e2 * t3530 + 0.5e1 / 0.3e1 * t254 * t887 * t3607 + 0.5e1 / 0.6e1 * t254 * t476 * t3611 + 0.4e2 * t3523 + 0.3e2 * t3527 + 0.25e2 / 0.2e1 * t3532 + 0.5e1 / 0.2e1 * t3400 + 0.5e1 * t3382 + 0.2e2 * t2929 + 0.1e2 * t2935; + const double t3623 = t479 * t3361; + const double t3637 = -0.1e2 * t254 * t2284 * t3623 - 0.25e2 / 0.3e1 * t2294 * t2295 * t3367 - 0.1e2 * t3364 - 0.5e1 * t3369 - 0.15e2 / 0.4e1 * t3388 - 0.5e2 / 0.9e1 * t2946 - 0.25e2 / 0.9e1 * t2950 - 0.1e2 / 0.3e1 * t2824 - 0.5e1 / 0.3e1 * t2841 - t2261 + t2271 - t2280; + const double t3638 = t3622 + t3637; + const double t3639 = t470 * t3638; + const double t3642 = t1164 * t450; + const double t3647 = t3556 * t447; + const double t3650 = t1181 * t1191; + const double t3653 = t424 * t485; + const double t3656 = t484 * t3492 / 0.3e1 + 0.4e1 * t3495 * t945 - 0.4e1 / 0.9e1 * t2800 - 0.4e1 / 0.3e1 * t484 * t3501 - 0.2e1 / 0.3e1 * t33 * t828 * t3504 + 0.4e1 / 0.3e1 * t33 * t2152 * t3508 - 0.4e1 / 0.3e1 * t33 * t828 * t3512 + 0.4e1 / 0.9e1 * t2803 + 0.26366444444444444444e-1 * t3538 * t450 - t3595 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t3598 * t485 - t3639 * t485 / 0.9e1 - 0.94545777777777777778e-1 * t3642 * t1155 - 0.47272888888888888889e-1 * t1167 * t3355 + 0.26366444444444444444e-1 * t3647 * t450 + 0.52732888888888888888e-1 * t3650 * t450 + 0.94545777777777777778e-1 * t3653 * t3478 + t2332; + const double t3657 = t3491 + t3656; + const double t3662 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t3259 * t518 - t2747 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t1067 * t1285 + t2148 - t2758 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t3657 ); + const double t3670 = t5 * t535 * t1444 / 0.8e1; + const double t3673 = 0.2e1 / 0.9e1 * t33 * t552 * t1419; + const double t3686 = t49 * t55; + const double t3687 = t119 * t596; + const double t3688 = t3687 * t625; + const double t3691 = t558 * t1317; + const double t3692 = t3691 * t176; + const double t3695 = t48 * t558; + const double t3698 = t65 * t566; + const double t3701 = t1302 * t571; + const double t3704 = t1306 * t577; + const double t3707 = t77 * t581; + const double t3710 = t1313 * t586; + const double t3713 = -t57 * t3695 / 0.9e1 - t64 * t3698 / 0.8e1 - t74 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t3704 - t100 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t3710; + const double t3714 = t55 * t3713; + const double t3715 = t3714 * t176; + const double t3727 = t119 * t1706; + const double t3728 = t1345 * t625; + const double t3729 = t3727 * t3728; + const double t3753 = -t122 * t1322 * t598 / 0.18e2 - t130 * t3695 / 0.9e1 - t134 * t3698 / 0.8e1 - t138 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t3704 - t146 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t3710 - t154 * t1338 * t616 / 0.1296e4 - t168 * t111 * t621 / 0.2048e4; + const double t3754 = t596 * t3753; + const double t3759 = piecewise_functor_3( t180, -t49 * t560 / 0.9e1 + t49 * t592 / 0.24e2 - t3686 * t3688 / 0.24e2 - t50 * t3692 / 0.9e1 + t50 * t3715 / 0.24e2 - t50 * t1318 * t626 / 0.24e2 + t50 * t559 * t1346 / 0.9e1 - t50 * t591 * t1346 / 0.24e2 + t204 * t3729 / 0.12e2 - t50 * t120 * t3754 / 0.24e2, 0.0 ); + const double t3760 = t269 * t3759; + const double t3763 = t745 * t3759; + const double t3766 = t1351 * t789; + const double t3769 = t631 * t1430; + const double t3772 = t1654 * t1351; + const double t3773 = t291 * t760; + const double t3776 = t756 * t3759; + const double t3779 = t783 * t787; + const double t3784 = t1427 * t787; + const double t3786 = t1370 * t640; + const double t3789 = t194 * t3759; + const double t3792 = -0.3e1 / 0.4e1 * t3772 * t3773 + 0.3e1 / 0.2e1 * t3776 * t291 - 0.3e1 / 0.2e1 * t1416 * t3779 - t1872 * t1427 / 0.2e1 + t1875 * t3784 + t784 * t3786 / 0.4e1 - t784 * t3789 / 0.2e1; + const double t3793 = t181 * t3792; + const double t3799 = t1394 * t802; + const double t3802 = t705 * t1440; + const double t3805 = t1776 * t1394; + const double t3806 = t291 * t764; + const double t3809 = piecewise_functor_3( t241, t3759, 0.0 ); + const double t3810 = t762 * t3809; + const double t3822 = -0.3e1 / 0.4e1 * t3805 * t3806 + 0.3e1 / 0.2e1 * t3810 * t291 - 0.3e1 / 0.2e1 * t1417 * t3779 - t1824 * t1427 / 0.2e1 + t1829 * t3784 + t800 * t3786 / 0.4e1 - t800 * t3789 / 0.2e1; + const double t3823 = t243 * t3822; + const double t3828 = t631 * t1351; + const double t3839 = t1352 * t640; + const double t3843 = 0.2e1 * t1431 * t1930 - 0.2e1 * t3799 * t805 - 0.2e1 * t3802 * t805 - 0.2e1 * t3823 * t805 - 0.2e1 * t1441 * t1849 + 0.94545777777777777778e-1 * t1936 * t3828 + t1400 * t746 / 0.3e1 + t1410 * t746 / 0.3e1 + t711 * t1413 / 0.3e1 + t741 * t1413 / 0.3e1 - 0.11818222222222222222e-1 * t1293 * t2534 * t3839; + const double t3845 = t1419 * t545; + const double t3849 = t1351 * t226; + const double t3850 = t3849 * t631; + const double t3854 = t1352 * t545; + const double t3864 = -0.3e1 / 0.4e1 * t3772 * t760 + 0.3e1 / 0.2e1 * t3776 + 0.3e1 / 0.4e1 * t3805 * t764 - 0.3e1 / 0.2e1 * t3810; + const double t3868 = t3759 * t200; + const double t3872 = t551 * t219; + const double t3875 = 0.26262716049382716049e-2 * t1293 * t3872 * t1352; + const double t3876 = t1351 * t545; + const double t3878 = t1895 * t1294 * t3876; + const double t3881 = t33 * t552 * t1370; + const double t3882 = t3881 / 0.6e1; + const double t3883 = t1351 * t640; + const double t3885 = t1293 * t2534 * t3883; + const double t3887 = t219 * t3759; + const double t3889 = t33 * t45 * t3887; + const double t3892 = t670 * t679 * t3876; + const double t3895 = t678 * t1965 * t1351; + const double t3896 = t3895 / 0.2e1; + const double t3898 = t678 * t1968 * t3883; + const double t3901 = t678 * t679 * t3759; + const double t3903 = -t3878 / 0.2e1 - t3882 - 0.3e1 / 0.4e1 * t3885 + t3889 / 0.2e1 + 0.3e1 / 0.2e1 * t3892 + t3896 + 0.5e1 / 0.4e1 * t3898 - t3901 / 0.2e1; + const double t3904 = t212 * t3903; + const double t3910 = t571 * t658; + const double t3914 = t99 * t77; + const double t3919 = -0.34684037264945845904e-1 * t49 * t558 * t207 + 0.10838761645295576845e-2 * t655 * t3910 * sigma_aa - 0.45161506855398236853e-4 * t3914 * t581 * t1989 + 0.42141105276909202774e1 * t3759; + const double t3929 = t199 * t3759; + const double t3941 = t698 * t1397; + const double t3944 = t2018 * t1351; + const double t3949 = t2024 * t1394; + const double t3954 = -0.3e1 / 0.5e1 * t3944 * t631 + 0.6e1 / 0.5e1 * t702 * t3759 + 0.3e1 / 0.5e1 * t3949 * t705 - 0.6e1 / 0.5e1 * t704 * t3809; + const double t3956 = 0.474596e-1 * t3919 * t199 + 0.474596e-1 * t1366 * t631 + 0.474596e-1 * t663 * t1351 + 0.474596e-1 * t212 * t3759 + 0.56727466666666666666e-1 * t3828 + 0.56727466666666666666e-1 * t3929 - 0.54519192e1 * t1387 * t631 - 0.27259596e1 * t225 * t3759 - 0.35e2 / 0.4e1 * t2009 * t3828 - 0.7e1 / 0.2e1 * t2012 * t1351 - 0.7e1 / 0.2e1 * t699 * t3759 - 0.7e1 / 0.2e1 * t3941 * t631 - t235 * t3954; + const double t3957 = t3956 * t267; + const double t3961 = 0.5e1 / 0.6e1 * t3881; + const double t3965 = 0.5e1 * t3895; + const double t3973 = 0.25e2 / 0.18e2 * t254 * t729 * t1405; + const double t3977 = t735 * t3759; + const double t3981 = -0.5e1 / 0.2e1 * t3878 - t3961 - 0.15e2 / 0.4e1 * t3885 + 0.5e1 / 0.2e1 * t3889 + 0.15e2 * t3892 + t3965 + 0.25e2 / 0.2e1 * t3898 - 0.5e1 * t3901 - 0.25e2 / 0.6e1 * t2088 * t2089 * t3876 - t3973 - 0.35e2 / 0.12e2 * t2687 * t2688 * t3883 + 0.5e1 / 0.6e1 * t254 * t260 * t3977; + const double t3982 = t248 * t3981; + const double t3989 = -0.2e1 / 0.3e1 * t33 * t539 * t3845 - 0.78788148148148148148e-2 * t1293 * t1294 * t3850 - 0.78788148148148148148e-2 * t1895 * t1294 * t3854 + 0.2e1 / 0.3e1 * t33 * t45 * t3864 + 0.78788148148148148148e-2 * t1293 * t1294 * t3868 - t3875 + 0.26366444444444444444e-1 * t3904 * t226 - t3957 * t269 / 0.9e1 - t3982 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t2102 * t1351 - 0.47272888888888888889e-1 * t648 * t3759; + const double t3990 = t3919 * t223; + const double t3993 = t1366 * t683; + const double t3996 = t663 * t1376; + const double t3999 = t1399 * t740; + const double t4002 = t710 * t1409; + const double t4005 = t1922 * t1351; + const double t4006 = t4005 * t631; + const double t4011 = t1413 * t631; + const double t4020 = 0.26366444444444444444e-1 * t3990 * t226 + 0.26366444444444444444e-1 * t3993 * t226 + 0.26366444444444444444e-1 * t3996 * t226 - t3999 * t269 / 0.9e1 - t4002 * t269 / 0.9e1 - 0.4e1 / 0.3e1 * t268 * t4006 - 0.2e1 * t1431 * t1792 + 0.15819866666666666666e0 * t224 * t4011 + 0.2e1 * t1441 * t1798 + 0.2e1 * t3759 * t293 - 0.2e1 * t3809 * t299; + const double t4022 = -t3673 - 0.52732888888888888888e-1 * t1367 * t687 - 0.52732888888888888888e-1 * t1377 * t687 - 0.52732888888888888888e-1 * t664 * t1380 - 0.52732888888888888888e-1 * t684 * t1380 - 0.52732888888888888888e-1 * t224 * t3760 + t268 * t3763 / 0.3e1 + 0.2e1 * t3766 * t792 + 0.2e1 * t3769 * t792 + 0.2e1 * t3793 * t792 + t3843 + t3989 + t4020; + const double t4027 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t1444 - t3670 - 0.3e1 / 0.8e1 * t5 * t27 * t4022 ); + const double t4034 = t5 * t824 * t1600 / 0.8e1; + const double t4039 = t551 * t443; + const double t4042 = 0.26262716049382716049e-2 * t1449 * t4039 * t1508; + const double t4057 = t33 * t840 * t1526; + const double t4058 = t4057 / 0.6e1; + const double t4067 = t870 * t2240 * t1507; + const double t4068 = t4067 / 0.2e1; + const double t4082 = 0.5e1 / 0.6e1 * t4057; + const double t4085 = 0.5e1 * t4067; + const double t4092 = 0.25e2 / 0.18e2 * t254 * t892 * t1561; + const double t4109 = 0.2e1 / 0.9e1 * t33 * t840 * t1575; + const double t4110 = t2337 * t1507; + const double t4112 = t2349 * t1550; + const double t4293 = t1507 * t450; + const double t4294 = t4293 * t1155; + const double t4298 = t1508 * t1075; + const double t4302 = t1508 * t1159; + const double t4312 = t49 * t329; + const double t4313 = t371 * t1120; + const double t4314 = t4313 * t1149; + const double t4317 = t1082 * t1473; + const double t4318 = t4317 * t406; + const double t4321 = t48 * t1082; + const double t4324 = t334 * t1090; + const double t4327 = t1458 * t1095; + const double t4330 = t1462 * t1101; + const double t4333 = t341 * t1105; + const double t4336 = t1469 * t1110; + const double t4339 = -t57 * t4321 / 0.9e1 - t64 * t4324 / 0.8e1 - t74 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t4330 - t100 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t4336; + const double t4340 = t329 * t4339; + const double t4341 = t4340 * t406; + const double t4353 = t371 * t3316; + const double t4354 = t1501 * t1149; + const double t4355 = t4353 * t4354; + const double t4379 = -t122 * t1478 * t1122 / 0.18e2 - t130 * t4321 / 0.9e1 - t134 * t4324 / 0.8e1 - t138 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t4330 - t146 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t4336 - t154 * t1494 * t1140 / 0.1296e4 - t168 * t363 * t1145 / 0.2048e4; + const double t4380 = t1120 * t4379; + const double t4385 = piecewise_functor_3( t410, -t49 * t1084 / 0.9e1 + t49 * t1116 / 0.24e2 - t4312 * t4314 / 0.24e2 - t324 * t4318 / 0.9e1 + t324 * t4341 / 0.24e2 - t324 * t1474 * t1150 / 0.24e2 + t324 * t1083 * t1502 / 0.9e1 - t324 * t1115 * t1502 / 0.24e2 + t430 * t4355 / 0.12e2 - t324 * t372 * t4380 / 0.24e2, 0.0 ); + const double t4386 = t914 * t4385; + const double t4390 = piecewise_functor_3( t463, t4385, 0.0 ); + const double t4391 = t919 * t4390; + const double t4393 = -0.3e1 / 0.4e1 * t4110 * t1249 + 0.3e1 / 0.2e1 * t4386 + 0.3e1 / 0.4e1 * t4112 * t1252 - 0.3e1 / 0.2e1 * t4391; + const double t4405 = t1218 * t1565; + const double t4409 = t1507 * t1075; + const double t4411 = t2163 * t1450 * t4409; + const double t4413 = t1507 * t1159; + const double t4415 = t1449 * t2843 * t4413; + const double t4417 = t443 * t4385; + const double t4419 = t33 * t323 * t4417; + const double t4422 = t862 * t871 * t4409; + const double t4425 = t870 * t2243 * t4413; + const double t4428 = t870 * t871 * t4385; + const double t4436 = t898 * t4385; + const double t4440 = -0.5e1 / 0.2e1 * t4411 - t4082 - 0.15e2 / 0.4e1 * t4415 + 0.5e1 / 0.2e1 * t4419 + 0.15e2 * t4422 + t4085 + 0.25e2 / 0.2e1 * t4425 - 0.5e1 * t4428 - 0.25e2 / 0.6e1 * t2294 * t2295 * t4409 - t4092 - 0.35e2 / 0.12e2 * t2984 * t2985 * t4413 + 0.5e1 / 0.6e1 * t254 * t476 * t4436; + const double t4441 = t470 * t4440; + const double t4447 = t1095 * t1176; + const double t4451 = t99 * t341; + const double t4456 = -0.34684037264945845904e-1 * t49 * t1082 * t433 + 0.10838761645295576845e-2 * t655 * t4447 * sigma_bb - 0.45161506855398236853e-4 * t4451 * t1105 * t3551 + 0.42141105276909202774e1 * t4385; + const double t4465 = t1155 * t1507; + const double t4467 = t425 * t4385; + const double t4479 = t1206 * t1553; + const double t4482 = t3580 * t1507; + const double t4487 = t3586 * t1550; + const double t4492 = -0.3e1 / 0.5e1 * t4482 * t1155 + 0.6e1 / 0.5e1 * t1210 * t4385 + 0.3e1 / 0.5e1 * t4487 * t1213 - 0.6e1 / 0.5e1 * t1212 * t4390; + const double t4494 = 0.474596e-1 * t4456 * t425 + 0.474596e-1 * t1522 * t1155 + 0.474596e-1 * t1181 * t1507 + 0.474596e-1 * t438 * t4385 + 0.56727466666666666666e-1 * t4465 + 0.56727466666666666666e-1 * t4467 - 0.54519192e1 * t1543 * t1155 - 0.27259596e1 * t449 * t4385 - 0.35e2 / 0.4e1 * t3571 * t4465 - 0.7e1 / 0.2e1 * t3574 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4385 - 0.7e1 / 0.2e1 * t4479 * t1155 - t459 * t4492; + const double t4495 = t4494 * t483; + const double t4498 = t1555 * t1234; + const double t4501 = t4456 * t447; + const double t4504 = t1522 * t1191; + const double t4507 = t1181 * t1532; + const double t4516 = -t4411 / 0.2e1 - t4058 - 0.3e1 / 0.4e1 * t4415 + t4419 / 0.2e1 + 0.3e1 / 0.2e1 * t4422 + t4068 + 0.5e1 / 0.4e1 * t4425 - t4428 / 0.2e1; + const double t4517 = t438 * t4516; + const double t4520 = t4385 * t426; + const double t4524 = t1575 * t1075; + const double t4530 = -t4441 * t485 / 0.9e1 - t4495 * t485 / 0.9e1 - t4498 * t485 / 0.9e1 + 0.26366444444444444444e-1 * t4501 * t450 + 0.26366444444444444444e-1 * t4504 * t450 + 0.26366444444444444444e-1 * t4507 * t450 + 0.26366444444444444444e-1 * t4517 * t450 + 0.78788148148148148148e-2 * t1449 * t1450 * t4520 - 0.2e1 / 0.3e1 * t33 * t828 * t4524 - t4042 - 0.2e1 * t1587 * t3405; + const double t4532 = t1569 * t1155; + const double t4537 = t1239 * t4385; + const double t4540 = t1507 * t1271; + const double t4543 = t1155 * t1586; + const double t4546 = t507 * t1249; + const double t4551 = t936 * t1269; + const double t4556 = t1583 * t1269; + const double t4558 = t1526 * t1159; + const double t4561 = t420 * t4385; + const double t4564 = -0.3e1 / 0.4e1 * t4110 * t4546 + 0.3e1 / 0.2e1 * t4386 * t507 - 0.3e1 / 0.2e1 * t1572 * t4551 - t2872 * t1583 / 0.2e1 + t2377 * t4556 + t937 * t4558 / 0.4e1 - t937 * t4561 / 0.2e1; + const double t4565 = t411 * t4564; + const double t4568 = t507 * t1252; + const double t4582 = -0.3e1 / 0.4e1 * t4112 * t4568 + 0.3e1 / 0.2e1 * t4391 * t507 - 0.3e1 / 0.2e1 * t1573 * t4551 - t2896 * t1583 / 0.2e1 + t2405 * t4556 + t951 * t4558 / 0.4e1 - t951 * t4561 / 0.2e1; + const double t4583 = t465 * t4582; + const double t4594 = 0.15819866666666666666e0 * t448 * t4532 + t1235 * t1569 / 0.3e1 + t484 * t4537 / 0.3e1 + 0.2e1 * t4540 * t945 + 0.2e1 * t4543 * t945 + 0.2e1 * t4565 * t945 - 0.2e1 * t4583 * t956 - 0.2e1 * t1597 * t3475 + 0.94545777777777777778e-1 * t3653 * t4465 - 0.52732888888888888888e-1 * t1523 * t1195 - 0.52732888888888888888e-1 * t1533 * t1195; + const double t4599 = t485 * t4385; + const double t4610 = t1550 * t1281; + const double t4613 = t1213 * t1596; + const double t4618 = t3500 * t1507; + const double t4619 = t4618 * t1155; + const double t4622 = -0.52732888888888888888e-1 * t1182 * t1536 - 0.52732888888888888888e-1 * t1192 * t1536 - 0.52732888888888888888e-1 * t448 * t4599 + t1556 * t1240 / 0.3e1 + t1566 * t1240 / 0.3e1 + t1219 * t1569 / 0.3e1 + 0.2e1 * t1587 * t3458 - 0.2e1 * t4610 * t956 - 0.2e1 * t4613 * t956 + 0.2e1 * t1597 * t3408 - 0.4e1 / 0.3e1 * t484 * t4619; + const double t4624 = -0.78788148148148148148e-2 * t1449 * t1450 * t4294 - 0.78788148148148148148e-2 * t2163 * t1450 * t4298 - 0.11818222222222222222e-1 * t1449 * t2843 * t4302 + 0.2e1 / 0.3e1 * t33 * t323 * t4393 - t4109 - 0.2e1 * t4390 * t515 + 0.2e1 * t4385 * t509 - 0.47272888888888888889e-1 * t3642 * t1507 - 0.47272888888888888889e-1 * t1167 * t4385 - t4405 * t485 / 0.9e1 + t4530 + t4594 + t4622; + const double t4629 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t1600 - t4034 - 0.3e1 / 0.8e1 * t5 * t316 * t4624 ); + const double t4631 = t1441 * t1796; + const double t4632 = t290 * t762; + const double t4633 = t4632 * t1394; + const double t4636 = t1351 * t1351; + const double t4637 = t1654 * t4636; + const double t4641 = t3687 * t1345; + const double t4644 = t1321 * t68; + const double t4647 = t76 * t81; + const double t4650 = t88 * t65; + const double t4651 = t4650 * t93; + const double t4654 = sigma_aa * t103; + const double t4657 = t110 * t66; + const double t4658 = t4657 * t115; + const double t4661 = t64 * t4644 / 0.64e2 + t74 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4651 + t100 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4658; + const double t4662 = t55 * t4661; + const double t4663 = t4662 * t176; + const double t4669 = t1345 * t1345; + const double t4670 = t1706 * t4669; + const double t4674 = 0.1e1 / t66; + const double t4675 = t32 * t4674; + const double t4689 = t156 * t77; + const double t4696 = -t122 * t4675 * t125 / 0.48e2 + t134 * t4644 / 0.64e2 + t138 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4651 + t146 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4658 + t154 * t4689 * t161 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t89 * t171; + const double t4697 = t596 * t4696; + const double t4702 = piecewise_functor_3( t180, t49 * t1319 / 0.12e2 - t3686 * t4641 / 0.12e2 + t50 * t4663 / 0.24e2 - t50 * t1318 * t1346 / 0.12e2 + t50 * t120 * t4670 / 0.12e2 - t50 * t120 * t4697 / 0.24e2, 0.0 ); + const double t4703 = t756 * t4702; + const double t4705 = t1394 * t1394; + const double t4706 = t1776 * t4705; + const double t4708 = piecewise_functor_3( t241, t4702, 0.0 ); + const double t4709 = t762 * t4708; + const double t4711 = -0.27e2 / 0.4e1 * t4637 + 0.3e1 / 0.2e1 * t4703 + 0.27e2 / 0.4e1 * t4706 - 0.3e1 / 0.2e1 * t4709; + const double t4715 = t1431 * t1790; + const double t4716 = t290 * t756; + const double t4717 = t4716 * t1351; + const double t4720 = t804 * t194; + const double t4721 = t4720 * t1351; + const double t4723 = t791 * t194; + const double t4724 = t4723 * t1351; + const double t4731 = t99 * sigma_aa; + const double t4736 = -0.27096904113238942112e-3 * t655 * t81 * t658 + 0.1693556507077433882e-4 * t4731 * t103 * t1989 + 0.42141105276909202774e1 * t4702; + const double t4744 = t199 * t4702; + const double t4764 = -0.3e1 / 0.5e1 * t2018 * t4636 + 0.6e1 / 0.5e1 * t702 * t4702 + 0.3e1 / 0.5e1 * t2024 * t4705 - 0.6e1 / 0.5e1 * t704 * t4708; + const double t4766 = 0.474596e-1 * t4736 * t199 + 0.949192e-1 * t1366 * t1351 + 0.474596e-1 * t212 * t4702 + 0.56727466666666666666e-1 * t4636 + 0.56727466666666666666e-1 * t4744 - 0.54519192e1 * t199 * t4636 - 0.27259596e1 * t225 * t4702 - 0.35e2 / 0.4e1 * t2009 * t4636 - 0.7e1 * t3941 * t1351 - 0.7e1 / 0.2e1 * t699 * t4702 - t235 * t4764; + const double t4767 = t4766 * t267; + const double t4770 = t1399 * t1409; + const double t4773 = t263 * t4636; + const double t4775 = t33 * t45 * t4773; + const double t4777 = t219 * t4702; + const double t4779 = t33 * t45 * t4777; + const double t4782 = t678 * t1968 * t4636; + const double t4785 = t678 * t679 * t4702; + const double t4787 = t2071 * t4636; + const double t4791 = t735 * t4702; + const double t4795 = -0.15e2 / 0.4e1 * t4775 + 0.5e1 / 0.2e1 * t4779 + 0.25e2 / 0.2e1 * t4782 - 0.5e1 * t4785 - 0.35e2 / 0.12e2 * t254 * t260 * t4787 + 0.5e1 / 0.6e1 * t254 * t260 * t4791; + const double t4796 = t248 * t4795; + const double t4801 = t4736 * t223; + const double t4804 = t1366 * t1376; + const double t4811 = -0.3e1 / 0.4e1 * t4775 + t4779 / 0.2e1 + 0.5e1 / 0.4e1 * t4782 - t4785 / 0.2e1; + const double t4812 = t212 * t4811; + const double t4815 = t4702 * t200; + const double t4819 = t4636 * t200; + const double t4823 = 0.3e1 * t4631 * t4633 + 0.2e1 / 0.3e1 * t33 * t45 * t4711 - 0.3e1 * t4715 * t4717 - t1441 * t4721 + t1431 * t4724 + 0.94545777777777777778e-1 * t1936 * t4636 - t4767 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t4770 * t269 - t4796 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t648 * t4702 + 0.26366444444444444444e-1 * t4801 * t226 + 0.52732888888888888888e-1 * t4804 * t226 + 0.26366444444444444444e-1 * t4812 * t226 + 0.78788148148148148148e-2 * t1293 * t1294 * t4815 - 0.11818222222222222222e-1 * t1293 * t2534 * t4819; + const double t4824 = t4636 * t226; + const double t4832 = t756 * t4636; + const double t4833 = t783 * t194; + const double t4836 = 0.1e1 / t192; + const double t4837 = t4836 * t4636; + const double t4840 = t219 * t4636; + const double t4843 = t194 * t4702; + const double t4846 = -0.27e2 / 0.4e1 * t4637 * t291 + 0.3e1 / 0.2e1 * t4703 * t291 - 0.3e1 / 0.2e1 * t4832 * t4833 + t1875 * t4837 / 0.2e1 + t784 * t4840 / 0.4e1 - t784 * t4843 / 0.2e1; + const double t4847 = t181 * t4846; + const double t4850 = t1394 * t1440; + const double t4857 = t4833 * t1351; + const double t4866 = -0.27e2 / 0.4e1 * t4706 * t291 + 0.3e1 / 0.2e1 * t4709 * t291 - 0.3e1 / 0.2e1 * t1417 * t4857 + t1829 * t4837 / 0.2e1 + t800 * t4840 / 0.4e1 - t800 * t4843 / 0.2e1; + const double t4867 = t243 * t4866; + const double t4874 = t269 * t4702; + const double t4881 = t745 * t4702; + const double t4888 = t1922 * t4636; + const double t4891 = t745 * t4636; + const double t4894 = t1351 * t1430; + const double t4897 = -0.1575762962962962963e-1 * t1293 * t1294 * t4824 + 0.2e1 * t4847 * t792 - 0.4e1 * t4850 * t805 - 0.2e1 * t4867 * t805 - 0.10546577777777777778e0 * t1367 * t1380 - 0.10546577777777777778e0 * t1377 * t1380 - 0.52732888888888888888e-1 * t224 * t4874 + 0.2e1 / 0.3e1 * t1400 * t1413 + 0.2e1 / 0.3e1 * t1410 * t1413 + t268 * t4881 / 0.3e1 - 0.2e1 * t4708 * t299 + 0.2e1 * t4702 * t293 - 0.4e1 / 0.3e1 * t268 * t4888 + 0.15819866666666666666e0 * t224 * t4891 + 0.4e1 * t4894 * t792; + const double t4898 = t4823 + t4897; + const double t4902 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t4898 ); + const double t4903 = t1587 * t2392; + const double t4904 = t506 * t914; + const double t4905 = t4904 * t1507; + const double t4908 = t1597 * t2414; + const double t4909 = t506 * t919; + const double t4910 = t4909 * t1550; + const double t4913 = t1507 * t1507; + const double t4914 = t2337 * t4913; + const double t4918 = t4313 * t1501; + const double t4921 = t1477 * t337; + const double t4924 = t76 * t345; + const double t4927 = t88 * t334; + const double t4928 = t4927 * t353; + const double t4931 = sigma_bb * t359; + const double t4934 = t110 * t335; + const double t4935 = t4934 * t367; + const double t4938 = t64 * t4921 / 0.64e2 + t74 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4928 + t100 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4935; + const double t4939 = t329 * t4938; + const double t4940 = t4939 * t406; + const double t4946 = t1501 * t1501; + const double t4947 = t3316 * t4946; + const double t4951 = 0.1e1 / t335; + const double t4952 = t32 * t4951; + const double t4966 = t156 * t341; + const double t4973 = -t122 * t4952 * t375 / 0.48e2 + t134 * t4921 / 0.64e2 + t138 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4928 + t146 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4935 + t154 * t4966 * t395 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t349 * t401; + const double t4974 = t1120 * t4973; + const double t4979 = piecewise_functor_3( t410, t49 * t1475 / 0.12e2 - t4312 * t4918 / 0.12e2 + t324 * t4940 / 0.24e2 - t324 * t1474 * t1502 / 0.12e2 + t324 * t372 * t4947 / 0.12e2 - t324 * t372 * t4974 / 0.24e2, 0.0 ); + const double t4980 = t914 * t4979; + const double t4982 = t1550 * t1550; + const double t4983 = t2349 * t4982; + const double t4985 = piecewise_functor_3( t463, t4979, 0.0 ); + const double t4986 = t919 * t4985; + const double t4988 = -0.27e2 / 0.4e1 * t4914 + 0.3e1 / 0.2e1 * t4980 + 0.27e2 / 0.4e1 * t4983 - 0.3e1 / 0.2e1 * t4986; + const double t5000 = t1239 * t4979; + const double t5003 = t1507 * t1586; + const double t5010 = t914 * t4913; + const double t5011 = t936 * t420; + const double t5014 = 0.1e1 / t418; + const double t5015 = t5014 * t4913; + const double t5018 = t443 * t4913; + const double t5021 = t420 * t4979; + const double t5024 = -0.27e2 / 0.4e1 * t4914 * t507 + 0.3e1 / 0.2e1 * t4980 * t507 - 0.3e1 / 0.2e1 * t5010 * t5011 + t2377 * t5015 / 0.2e1 + t937 * t5018 / 0.4e1 - t937 * t5021 / 0.2e1; + const double t5025 = t411 * t5024; + const double t5028 = t1550 * t1596; + const double t5031 = t3500 * t4913; + const double t5034 = t1239 * t4913; + const double t5040 = t99 * sigma_bb; + const double t5045 = -0.27096904113238942112e-3 * t655 * t345 * t1176 + 0.1693556507077433882e-4 * t5040 * t359 * t3551 + 0.42141105276909202774e1 * t4979; + const double t5053 = t425 * t4979; + const double t5073 = -0.3e1 / 0.5e1 * t3580 * t4913 + 0.6e1 / 0.5e1 * t1210 * t4979 + 0.3e1 / 0.5e1 * t3586 * t4982 - 0.6e1 / 0.5e1 * t1212 * t4985; + const double t5075 = 0.474596e-1 * t5045 * t425 + 0.949192e-1 * t1522 * t1507 + 0.474596e-1 * t438 * t4979 + 0.56727466666666666666e-1 * t4913 + 0.56727466666666666666e-1 * t5053 - 0.54519192e1 * t425 * t4913 - 0.27259596e1 * t449 * t4979 - 0.35e2 / 0.4e1 * t3571 * t4913 - 0.7e1 * t4479 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4979 - t459 * t5073; + const double t5076 = t5075 * t483; + const double t5079 = t1555 * t1565; + const double t5082 = -0.3e1 * t4903 * t4905 + 0.3e1 * t4908 * t4910 + 0.2e1 / 0.3e1 * t33 * t323 * t4988 + 0.94545777777777777778e-1 * t3653 * t4913 - 0.2e1 * t4985 * t515 + 0.2e1 * t4979 * t509 + 0.2e1 / 0.3e1 * t1566 * t1569 + t484 * t5000 / 0.3e1 + 0.4e1 * t5003 * t945 + 0.2e1 * t5025 * t945 - 0.4e1 * t5028 * t956 - 0.4e1 / 0.3e1 * t484 * t5031 + 0.15819866666666666666e0 * t448 * t5034 - t5076 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t5079 * t485; + const double t5083 = t479 * t4913; + const double t5085 = t33 * t323 * t5083; + const double t5087 = t443 * t4979; + const double t5089 = t33 * t323 * t5087; + const double t5092 = t870 * t2243 * t4913; + const double t5095 = t870 * t871 * t4979; + const double t5097 = t2301 * t4913; + const double t5101 = t898 * t4979; + const double t5105 = -0.15e2 / 0.4e1 * t5085 + 0.5e1 / 0.2e1 * t5089 + 0.25e2 / 0.2e1 * t5092 - 0.5e1 * t5095 - 0.35e2 / 0.12e2 * t254 * t476 * t5097 + 0.5e1 / 0.6e1 * t254 * t476 * t5101; + const double t5106 = t470 * t5105; + const double t5111 = t5045 * t447; + const double t5114 = t1522 * t1532; + const double t5121 = -0.3e1 / 0.4e1 * t5085 + t5089 / 0.2e1 + 0.5e1 / 0.4e1 * t5092 - t5095 / 0.2e1; + const double t5122 = t438 * t5121; + const double t5129 = t5011 * t1507; + const double t5138 = -0.27e2 / 0.4e1 * t4983 * t507 + 0.3e1 / 0.2e1 * t4986 * t507 - 0.3e1 / 0.2e1 * t1573 * t5129 + t2405 * t5015 / 0.2e1 + t951 * t5018 / 0.4e1 - t951 * t5021 / 0.2e1; + const double t5139 = t465 * t5138; + const double t5146 = t485 * t4979; + const double t5151 = t4979 * t426; + const double t5155 = t4913 * t450; + const double t5159 = t4913 * t426; + const double t5163 = t944 * t420; + const double t5164 = t5163 * t1507; + const double t5166 = t955 * t420; + const double t5167 = t5166 * t1507; + const double t5169 = -t5106 * t485 / 0.9e1 - 0.47272888888888888889e-1 * t1167 * t4979 + 0.26366444444444444444e-1 * t5111 * t450 + 0.52732888888888888888e-1 * t5114 * t450 + 0.26366444444444444444e-1 * t5122 * t450 - 0.2e1 * t5139 * t956 - 0.10546577777777777778e0 * t1523 * t1536 - 0.10546577777777777778e0 * t1533 * t1536 - 0.52732888888888888888e-1 * t448 * t5146 + 0.2e1 / 0.3e1 * t1556 * t1569 + 0.78788148148148148148e-2 * t1449 * t1450 * t5151 - 0.1575762962962962963e-1 * t1449 * t1450 * t5155 - 0.11818222222222222222e-1 * t1449 * t2843 * t5159 + t1587 * t5164 - t1597 * t5167; + const double t5170 = t5082 + t5169; + const double t5174 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t5170 ); + + + vrho_a = t306 + t522 + t6 * ( t813 + t964 ); + vrho_b = t306 + t522 + t6 * ( t1061 + t1290 ); + vsigma_aa = t6 * t1448; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t1604; + v2rho2_aa = 0.2e1 * t813 + 0.2e1 * t964 + t6 * ( t2120 + t2427 ); + v2rho2_bb = 0.2e1 * t1061 + 0.2e1 * t1290 + t6 * ( t3248 + t3662 ); + v2rhosigma_a_aa = t4027 * t6 + t1448; + v2rhosigma_b_bb = t4629 * t6 + t1604; + v2sigma2_aa_aa = t6 * t4902; + v2sigma2_bb_bb = t6 * t5174; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinHJS_PBE_X : detail::BuiltinKernelImpl< BuiltinHJS_PBE_X > { + + BuiltinHJS_PBE_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinHJS_PBE_X >(p) { } + + virtual ~BuiltinHJS_PBE_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/hse03_wpbeh_x.hpp b/include/exchcxx/impl/builtin/kernels/hse03_wpbeh_x.hpp new file mode 100644 index 0000000..b924578 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/hse03_wpbeh_x.hpp @@ -0,0 +1,11544 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinHSE03_wPBEh_X > : + public gga_screening_interface< BuiltinHSE03_wPBEh_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double omega = 0.188988157484230974715081591092; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + + + eps = 0.2e1 * t336; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + + + eps = 0.2e1 * t336; + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + + + eps = t350 + t649; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + + + eps = t350 + t649; + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinHSE03_wPBEh_X : detail::BuiltinKernelImpl< BuiltinHSE03_wPBEh_X > { + + BuiltinHSE03_wPBEh_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinHSE03_wPBEh_X >(p) { } + + virtual ~BuiltinHSE03_wPBEh_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/hse06_wpbeh_x.hpp b/include/exchcxx/impl/builtin/kernels/hse06_wpbeh_x.hpp new file mode 100644 index 0000000..7900875 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/hse06_wpbeh_x.hpp @@ -0,0 +1,11544 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinHSE06_wPBEh_X > : + public gga_screening_interface< BuiltinHSE06_wPBEh_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double omega = 0.11; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + + + eps = 0.2e1 * t336; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + + + eps = 0.2e1 * t336; + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + + + eps = t350 + t649; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + + + eps = t350 + t649; + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinHSE06_wPBEh_X : detail::BuiltinKernelImpl< BuiltinHSE06_wPBEh_X > { + + BuiltinHSE06_wPBEh_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinHSE06_wPBEh_X >(p) { } + + virtual ~BuiltinHSE06_wPBEh_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/ityh_x.hpp b/include/exchcxx/impl/builtin/kernels/ityh_x.hpp new file mode 100644 index 0000000..31f47da --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/ityh_x.hpp @@ -0,0 +1,2959 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinITYH_X > : + public gga_screening_interface< BuiltinITYH_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double omega = 0.2; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + + + eps = 0.2e1 * t117; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + + + eps = 0.2e1 * t117; + vrho = 0.2e1 * rho * t238 + 0.2e1 * t117; + vsigma = 0.2e1 * rho * t305; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t324 = constants::m_pi_sq; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + constexpr double t326 = t23 * t23; + constexpr double t327 = 0.1e1 / t326; + constexpr double t328 = t25 * t25; + constexpr double t329 = t327 * t328; + constexpr double t338 = t3 * t327; + constexpr double t519 = t338 * t328; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + const double t309 = 0.1e1 / t33 / rho; + const double t310 = t309 * t112; + const double t314 = t118 * t229; + const double t321 = t174 * t174; + const double t335 = omega / t55 / t324 / t3 / t329 / t131 / 0.3e1; + const double t337 = t335 * t61 * t324; + const double t339 = t130 * t130; + const double t340 = 0.1e1 / t339; + const double t341 = t328 * t340; + const double t342 = t162 * t162; + const double t348 = t127 * t169 * M_PI; + const double t349 = t131 * t162; + const double t354 = t130 * t51; + const double t355 = 0.1e1 / t354; + const double t356 = t25 * t355; + const double t361 = t32 * t32; + const double t363 = 0.1e1 / t33 / t361; + const double t368 = t30 * t135; + const double t369 = t368 * t158; + const double t373 = 0.1e1 / t143 / t45; + const double t374 = t157 * t157; + const double t375 = t373 * t374; + const double t376 = t142 * t375; + const double t381 = 0.1e1 / t19 / t133 * t41; + const double t384 = t363 * t153; + const double t387 = sigma * sigma; + const double t388 = t387 * t29; + const double t391 = 0.1e1 / t19 / t361 / t133; + const double t393 = 0.1e1 / t152 / t151; + const double t397 = 0.784e-1 * t37 * t381 + 0.168e0 * t31 * t384 - 0.896e-1 * t388 * t391 * t393; + const double t398 = t144 * t397; + const double t399 = t142 * t398; + const double t402 = 0.9125925925925925926e-2 * t28 * t31 * t363 * t46 + 0.49777777777777777778e-2 * t141 * t369 + 0.18666666666666666666e-2 * t141 * t376 - 0.93333333333333333332e-3 * t141 * t399; + const double t407 = t11 * t11; + const double t410 = 0.1e1 / t59 / t407 / t32; + const double t411 = t29 * t410; + const double t415 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t342 - t348 * t28 * t349 * t11 / 0.6e1 - t129 * t27 * t356 * t342 / 0.2e1 + t129 * t27 * t132 * t402 / 0.4e1 + 0.2e1 / 0.9e1 * t57 * t411 * t407; + const double t416 = piecewise_functor_3( t65, t415, 0.0 ); + const double t444 = 0.1e1 / t88 / t67; + const double t449 = t71 * t321 / 0.6e1 - t124 * t416 / 0.18e2 - t74 * t321 / 0.48e2 + t178 * t416 / 0.24e3 + t77 * t321 / 0.64e3 - t182 * t416 / 0.448e4 - t80 * t321 / 0.1152e5 + t186 * t416 / 0.10368e6 + t83 * t321 / 0.258048e6 - t190 * t416 / 0.2838528e7 - t86 * t321 / 0.688128e7 + t194 * t416 / 0.8945664e8 + t89 * t321 / 0.21233664e9 - t198 * t416 / 0.31850496e10 - t444 * t321 / 0.74317824e10 + t202 * t416 / 0.1263403008e12; + const double t450 = piecewise_functor_3( t65, 0.0, t415 ); + const double t455 = t98 * t98; + const double t457 = 0.1e1 / t455 / t92; + const double t458 = t206 * t206; + const double t459 = t457 * t458; + const double t462 = t101 * t213; + const double t470 = 0.1e1 / t455; + const double t478 = 0.1e1 / t455 / t98; + const double t479 = t478 * t458; + const double t490 = -0.2e1 * t470 * t458 * t101 + t213 * t450 * t101 / 0.2e1 + t479 * t101 / 0.4e1 - 0.4e1 * t458 * t102 - t99 * t458 * t101 - 0.4e1 * t217 * t450 - t94 * t450 * t101; + const double t493 = -t459 * t101 / 0.2e1 + 0.2e1 * t462 * t458 - t208 * t450 + 0.2e1 * t450 * t105 + 0.4e1 * t206 * t222 + 0.2e1 * t92 * t490; + const double t497 = piecewise_functor_3( t64, t449, -0.8e1 / 0.3e1 * t450 * t108 - 0.16e2 / 0.3e1 * t206 * t225 - 0.8e1 / 0.3e1 * t92 * t493 ); + const double t498 = t19 * t497; + const double t509 = piecewise_functor_3( t2, 0.0, t18 * t310 * t51 / 0.12e2 - t18 * t314 * t51 / 0.4e1 - t18 * t119 * t162 / 0.4e1 - 0.3e1 / 0.8e1 * t18 * t498 * t51 - 0.3e1 / 0.4e1 * t18 * t230 * t162 - 0.3e1 / 0.8e1 * t18 * t113 * t402 ); + const double t512 = t118 * t297; + const double t516 = t71 * t260; + const double t520 = t340 * t255; + const double t525 = t131 * t255; + const double t530 = t355 * t255; + const double t540 = t368 * t251; + const double t543 = t373 * t250; + const double t544 = t543 * t157; + const double t552 = t361 * t32; + const double t554 = 0.1e1 / t19 / t552; + const double t555 = t29 * t554; + const double t556 = t393 * sigma; + const double t559 = -0.168e-1 * t245 * t147 - 0.504e-1 * t368 * t153 + 0.336e-1 * t555 * t556; + const double t560 = t144 * t559; + const double t561 = t142 * t560; + const double t564 = -0.24888888888888888889e-2 * t28 * t368 * t46 - 0.93333333333333333332e-3 * t28 * t159 + 0.24888888888888888889e-2 * t141 * t540 + 0.18666666666666666666e-2 * t141 * t142 * t544 - 0.93333333333333333332e-3 * t141 * t561; + const double t569 = 0.9e1 / 0.8e1 * t337 * t519 * t520 * t162 - t348 * t28 * t525 * t11 / 0.12e2 - t129 * t28 * t530 * t162 / 0.2e1 + t129 * t27 * t132 * t564 / 0.4e1; + const double t570 = piecewise_functor_3( t65, t569, 0.0 ); + const double t573 = t74 * t260; + const double t576 = t178 * t570; + const double t578 = t77 * t260; + const double t581 = t182 * t570; + const double t583 = t80 * t260; + const double t586 = t186 * t570; + const double t588 = t83 * t260; + const double t591 = t190 * t570; + const double t593 = t86 * t260; + const double t596 = t194 * t570; + const double t598 = t89 * t260; + const double t601 = t198 * t570; + const double t603 = t444 * t260; + const double t606 = t202 * t570; + const double t608 = t516 * t174 / 0.6e1 - t124 * t570 / 0.18e2 - t573 * t174 / 0.48e2 + t576 / 0.24e3 + t578 * t174 / 0.64e3 - t581 / 0.448e4 - t583 * t174 / 0.1152e5 + t586 / 0.10368e6 + t588 * t174 / 0.258048e6 - t591 / 0.2838528e7 - t593 * t174 / 0.688128e7 + t596 / 0.8945664e8 + t598 * t174 / 0.21233664e9 - t601 / 0.31850496e10 - t603 * t174 / 0.74317824e10 + t606 / 0.1263403008e12; + const double t609 = piecewise_functor_3( t65, 0.0, t569 ); + const double t613 = t457 * t206; + const double t614 = t101 * t278; + const double t617 = t278 * t206; + const double t627 = t470 * t278; + const double t628 = t101 * t206; + const double t634 = t478 * t278; + const double t637 = t206 * t102; + const double t640 = t99 * t206; + const double t646 = -0.2e1 * t627 * t628 + t213 * t609 * t101 / 0.2e1 + t634 * t628 / 0.4e1 - 0.4e1 * t637 * t278 - t640 * t614 - 0.4e1 * t217 * t609 - t94 * t609 * t101; + const double t649 = -t613 * t614 / 0.2e1 + 0.2e1 * t462 * t617 - t208 * t609 + 0.2e1 * t609 * t105 + 0.2e1 * t278 * t222 + 0.2e1 * t206 * t290 + 0.2e1 * t92 * t646; + const double t653 = piecewise_functor_3( t64, t608, -0.8e1 / 0.3e1 * t609 * t108 - 0.8e1 / 0.3e1 * t206 * t293 - 0.8e1 / 0.3e1 * t278 * t225 - 0.8e1 / 0.3e1 * t92 * t649 ); + const double t654 = t19 * t653; + const double t671 = piecewise_functor_3( t2, 0.0, -t18 * t512 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t654 * t51 - 0.3e1 / 0.8e1 * t18 * t298 * t162 - t18 * t119 * t255 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t564 ); + const double t674 = t260 * t260; + const double t677 = t255 * t255; + const double t688 = t250 * t250; + const double t689 = t373 * t688; + const double t690 = t142 * t689; + const double t695 = 0.1e1 / t36 / sigma * t29; + const double t698 = 0.1e1 / sigma; + const double t699 = t698 * t30; + const double t700 = t35 * t153; + const double t703 = t361 * rho; + const double t705 = 0.1e1 / t19 / t703; + const double t709 = -0.63e-2 * t695 * t42 + 0.63e-2 * t699 * t700 - 0.126e-1 * t29 * t705 * t393; + const double t710 = t144 * t709; + const double t711 = t142 * t710; + const double t714 = -0.18666666666666666666e-2 * t28 * t252 + 0.18666666666666666666e-2 * t141 * t690 - 0.93333333333333333332e-3 * t141 * t711; + const double t719 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t677 - t129 * t27 * t356 * t677 / 0.2e1 + t129 * t27 * t132 * t714 / 0.4e1; + const double t720 = piecewise_functor_3( t65, t719, 0.0 ); + const double t723 = t74 * t674; + const double t725 = t178 * t720; + const double t727 = t77 * t674; + const double t729 = t182 * t720; + const double t731 = t80 * t674; + const double t733 = t186 * t720; + const double t735 = t83 * t674; + const double t737 = t190 * t720; + const double t739 = t86 * t674; + const double t741 = t194 * t720; + const double t743 = t89 * t674; + const double t745 = t198 * t720; + const double t747 = t444 * t674; + const double t749 = t202 * t720; + const double t751 = t71 * t674 / 0.6e1 - t124 * t720 / 0.18e2 - t723 / 0.48e2 + t725 / 0.24e3 + t727 / 0.64e3 - t729 / 0.448e4 - t731 / 0.1152e5 + t733 / 0.10368e6 + t735 / 0.258048e6 - t737 / 0.2838528e7 - t739 / 0.688128e7 + t741 / 0.8945664e8 + t743 / 0.21233664e9 - t745 / 0.31850496e10 - t747 / 0.74317824e10 + t749 / 0.1263403008e12; + const double t752 = piecewise_functor_3( t65, 0.0, t719 ); + const double t757 = t278 * t278; + const double t758 = t457 * t757; + const double t774 = t478 * t757; + const double t785 = -0.2e1 * t470 * t757 * t101 + t213 * t752 * t101 / 0.2e1 + t774 * t101 / 0.4e1 - 0.4e1 * t757 * t102 - t99 * t757 * t101 - 0.4e1 * t217 * t752 - t94 * t752 * t101; + const double t788 = -t758 * t101 / 0.2e1 + 0.2e1 * t462 * t757 - t208 * t752 + 0.2e1 * t752 * t105 + 0.4e1 * t278 * t290 + 0.2e1 * t92 * t785; + const double t792 = piecewise_functor_3( t64, t751, -0.8e1 / 0.3e1 * t752 * t108 - 0.16e2 / 0.3e1 * t278 * t293 - 0.8e1 / 0.3e1 * t92 * t788 ); + const double t793 = t19 * t792; + const double t804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t793 * t51 - 0.3e1 / 0.4e1 * t18 * t298 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t714 ); + + + v2rho2 = 0.2e1 * rho * t509 + 0.4e1 * t238; + v2rhosigma = 0.2e1 * rho * t671 + 0.2e1 * t305; + v2sigma2 = 0.2e1 * rho * t804; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t324 = constants::m_pi_sq; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + constexpr double t326 = t23 * t23; + constexpr double t327 = 0.1e1 / t326; + constexpr double t328 = t25 * t25; + constexpr double t329 = t327 * t328; + constexpr double t338 = t3 * t327; + constexpr double t519 = t338 * t328; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + const double t309 = 0.1e1 / t33 / rho; + const double t310 = t309 * t112; + const double t314 = t118 * t229; + const double t321 = t174 * t174; + const double t335 = omega / t55 / t324 / t3 / t329 / t131 / 0.3e1; + const double t337 = t335 * t61 * t324; + const double t339 = t130 * t130; + const double t340 = 0.1e1 / t339; + const double t341 = t328 * t340; + const double t342 = t162 * t162; + const double t348 = t127 * t169 * M_PI; + const double t349 = t131 * t162; + const double t354 = t130 * t51; + const double t355 = 0.1e1 / t354; + const double t356 = t25 * t355; + const double t361 = t32 * t32; + const double t363 = 0.1e1 / t33 / t361; + const double t368 = t30 * t135; + const double t369 = t368 * t158; + const double t373 = 0.1e1 / t143 / t45; + const double t374 = t157 * t157; + const double t375 = t373 * t374; + const double t376 = t142 * t375; + const double t381 = 0.1e1 / t19 / t133 * t41; + const double t384 = t363 * t153; + const double t387 = sigma * sigma; + const double t388 = t387 * t29; + const double t391 = 0.1e1 / t19 / t361 / t133; + const double t393 = 0.1e1 / t152 / t151; + const double t397 = 0.784e-1 * t37 * t381 + 0.168e0 * t31 * t384 - 0.896e-1 * t388 * t391 * t393; + const double t398 = t144 * t397; + const double t399 = t142 * t398; + const double t402 = 0.9125925925925925926e-2 * t28 * t31 * t363 * t46 + 0.49777777777777777778e-2 * t141 * t369 + 0.18666666666666666666e-2 * t141 * t376 - 0.93333333333333333332e-3 * t141 * t399; + const double t407 = t11 * t11; + const double t410 = 0.1e1 / t59 / t407 / t32; + const double t411 = t29 * t410; + const double t415 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t342 - t348 * t28 * t349 * t11 / 0.6e1 - t129 * t27 * t356 * t342 / 0.2e1 + t129 * t27 * t132 * t402 / 0.4e1 + 0.2e1 / 0.9e1 * t57 * t411 * t407; + const double t416 = piecewise_functor_3( t65, t415, 0.0 ); + const double t444 = 0.1e1 / t88 / t67; + const double t449 = t71 * t321 / 0.6e1 - t124 * t416 / 0.18e2 - t74 * t321 / 0.48e2 + t178 * t416 / 0.24e3 + t77 * t321 / 0.64e3 - t182 * t416 / 0.448e4 - t80 * t321 / 0.1152e5 + t186 * t416 / 0.10368e6 + t83 * t321 / 0.258048e6 - t190 * t416 / 0.2838528e7 - t86 * t321 / 0.688128e7 + t194 * t416 / 0.8945664e8 + t89 * t321 / 0.21233664e9 - t198 * t416 / 0.31850496e10 - t444 * t321 / 0.74317824e10 + t202 * t416 / 0.1263403008e12; + const double t450 = piecewise_functor_3( t65, 0.0, t415 ); + const double t455 = t98 * t98; + const double t457 = 0.1e1 / t455 / t92; + const double t458 = t206 * t206; + const double t459 = t457 * t458; + const double t462 = t101 * t213; + const double t470 = 0.1e1 / t455; + const double t478 = 0.1e1 / t455 / t98; + const double t479 = t478 * t458; + const double t490 = -0.2e1 * t470 * t458 * t101 + t213 * t450 * t101 / 0.2e1 + t479 * t101 / 0.4e1 - 0.4e1 * t458 * t102 - t99 * t458 * t101 - 0.4e1 * t217 * t450 - t94 * t450 * t101; + const double t493 = -t459 * t101 / 0.2e1 + 0.2e1 * t462 * t458 - t208 * t450 + 0.2e1 * t450 * t105 + 0.4e1 * t206 * t222 + 0.2e1 * t92 * t490; + const double t497 = piecewise_functor_3( t64, t449, -0.8e1 / 0.3e1 * t450 * t108 - 0.16e2 / 0.3e1 * t206 * t225 - 0.8e1 / 0.3e1 * t92 * t493 ); + const double t498 = t19 * t497; + const double t509 = piecewise_functor_3( t2, 0.0, t18 * t310 * t51 / 0.12e2 - t18 * t314 * t51 / 0.4e1 - t18 * t119 * t162 / 0.4e1 - 0.3e1 / 0.8e1 * t18 * t498 * t51 - 0.3e1 / 0.4e1 * t18 * t230 * t162 - 0.3e1 / 0.8e1 * t18 * t113 * t402 ); + const double t512 = t118 * t297; + const double t516 = t71 * t260; + const double t520 = t340 * t255; + const double t525 = t131 * t255; + const double t530 = t355 * t255; + const double t540 = t368 * t251; + const double t543 = t373 * t250; + const double t544 = t543 * t157; + const double t552 = t361 * t32; + const double t554 = 0.1e1 / t19 / t552; + const double t555 = t29 * t554; + const double t556 = t393 * sigma; + const double t559 = -0.168e-1 * t245 * t147 - 0.504e-1 * t368 * t153 + 0.336e-1 * t555 * t556; + const double t560 = t144 * t559; + const double t561 = t142 * t560; + const double t564 = -0.24888888888888888889e-2 * t28 * t368 * t46 - 0.93333333333333333332e-3 * t28 * t159 + 0.24888888888888888889e-2 * t141 * t540 + 0.18666666666666666666e-2 * t141 * t142 * t544 - 0.93333333333333333332e-3 * t141 * t561; + const double t569 = 0.9e1 / 0.8e1 * t337 * t519 * t520 * t162 - t348 * t28 * t525 * t11 / 0.12e2 - t129 * t28 * t530 * t162 / 0.2e1 + t129 * t27 * t132 * t564 / 0.4e1; + const double t570 = piecewise_functor_3( t65, t569, 0.0 ); + const double t573 = t74 * t260; + const double t576 = t178 * t570; + const double t578 = t77 * t260; + const double t581 = t182 * t570; + const double t583 = t80 * t260; + const double t586 = t186 * t570; + const double t588 = t83 * t260; + const double t591 = t190 * t570; + const double t593 = t86 * t260; + const double t596 = t194 * t570; + const double t598 = t89 * t260; + const double t601 = t198 * t570; + const double t603 = t444 * t260; + const double t606 = t202 * t570; + const double t608 = t516 * t174 / 0.6e1 - t124 * t570 / 0.18e2 - t573 * t174 / 0.48e2 + t576 / 0.24e3 + t578 * t174 / 0.64e3 - t581 / 0.448e4 - t583 * t174 / 0.1152e5 + t586 / 0.10368e6 + t588 * t174 / 0.258048e6 - t591 / 0.2838528e7 - t593 * t174 / 0.688128e7 + t596 / 0.8945664e8 + t598 * t174 / 0.21233664e9 - t601 / 0.31850496e10 - t603 * t174 / 0.74317824e10 + t606 / 0.1263403008e12; + const double t609 = piecewise_functor_3( t65, 0.0, t569 ); + const double t613 = t457 * t206; + const double t614 = t101 * t278; + const double t617 = t278 * t206; + const double t627 = t470 * t278; + const double t628 = t101 * t206; + const double t634 = t478 * t278; + const double t637 = t206 * t102; + const double t640 = t99 * t206; + const double t646 = -0.2e1 * t627 * t628 + t213 * t609 * t101 / 0.2e1 + t634 * t628 / 0.4e1 - 0.4e1 * t637 * t278 - t640 * t614 - 0.4e1 * t217 * t609 - t94 * t609 * t101; + const double t649 = -t613 * t614 / 0.2e1 + 0.2e1 * t462 * t617 - t208 * t609 + 0.2e1 * t609 * t105 + 0.2e1 * t278 * t222 + 0.2e1 * t206 * t290 + 0.2e1 * t92 * t646; + const double t653 = piecewise_functor_3( t64, t608, -0.8e1 / 0.3e1 * t609 * t108 - 0.8e1 / 0.3e1 * t206 * t293 - 0.8e1 / 0.3e1 * t278 * t225 - 0.8e1 / 0.3e1 * t92 * t649 ); + const double t654 = t19 * t653; + const double t671 = piecewise_functor_3( t2, 0.0, -t18 * t512 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t654 * t51 - 0.3e1 / 0.8e1 * t18 * t298 * t162 - t18 * t119 * t255 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t564 ); + const double t674 = t260 * t260; + const double t677 = t255 * t255; + const double t688 = t250 * t250; + const double t689 = t373 * t688; + const double t690 = t142 * t689; + const double t695 = 0.1e1 / t36 / sigma * t29; + const double t698 = 0.1e1 / sigma; + const double t699 = t698 * t30; + const double t700 = t35 * t153; + const double t703 = t361 * rho; + const double t705 = 0.1e1 / t19 / t703; + const double t709 = -0.63e-2 * t695 * t42 + 0.63e-2 * t699 * t700 - 0.126e-1 * t29 * t705 * t393; + const double t710 = t144 * t709; + const double t711 = t142 * t710; + const double t714 = -0.18666666666666666666e-2 * t28 * t252 + 0.18666666666666666666e-2 * t141 * t690 - 0.93333333333333333332e-3 * t141 * t711; + const double t719 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t677 - t129 * t27 * t356 * t677 / 0.2e1 + t129 * t27 * t132 * t714 / 0.4e1; + const double t720 = piecewise_functor_3( t65, t719, 0.0 ); + const double t723 = t74 * t674; + const double t725 = t178 * t720; + const double t727 = t77 * t674; + const double t729 = t182 * t720; + const double t731 = t80 * t674; + const double t733 = t186 * t720; + const double t735 = t83 * t674; + const double t737 = t190 * t720; + const double t739 = t86 * t674; + const double t741 = t194 * t720; + const double t743 = t89 * t674; + const double t745 = t198 * t720; + const double t747 = t444 * t674; + const double t749 = t202 * t720; + const double t751 = t71 * t674 / 0.6e1 - t124 * t720 / 0.18e2 - t723 / 0.48e2 + t725 / 0.24e3 + t727 / 0.64e3 - t729 / 0.448e4 - t731 / 0.1152e5 + t733 / 0.10368e6 + t735 / 0.258048e6 - t737 / 0.2838528e7 - t739 / 0.688128e7 + t741 / 0.8945664e8 + t743 / 0.21233664e9 - t745 / 0.31850496e10 - t747 / 0.74317824e10 + t749 / 0.1263403008e12; + const double t752 = piecewise_functor_3( t65, 0.0, t719 ); + const double t757 = t278 * t278; + const double t758 = t457 * t757; + const double t774 = t478 * t757; + const double t785 = -0.2e1 * t470 * t757 * t101 + t213 * t752 * t101 / 0.2e1 + t774 * t101 / 0.4e1 - 0.4e1 * t757 * t102 - t99 * t757 * t101 - 0.4e1 * t217 * t752 - t94 * t752 * t101; + const double t788 = -t758 * t101 / 0.2e1 + 0.2e1 * t462 * t757 - t208 * t752 + 0.2e1 * t752 * t105 + 0.4e1 * t278 * t290 + 0.2e1 * t92 * t785; + const double t792 = piecewise_functor_3( t64, t751, -0.8e1 / 0.3e1 * t752 * t108 - 0.16e2 / 0.3e1 * t278 * t293 - 0.8e1 / 0.3e1 * t92 * t788 ); + const double t793 = t19 * t792; + const double t804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t793 * t51 - 0.3e1 / 0.4e1 * t18 * t298 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t714 ); + + + vrho = 0.2e1 * rho * t238 + 0.2e1 * t117; + vsigma = 0.2e1 * rho * t305; + v2rho2 = 0.2e1 * rho * t509 + 0.4e1 * t238; + v2rhosigma = 0.2e1 * rho * t671 + 0.2e1 * t305; + v2sigma2 = 0.2e1 * rho * t804; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + + + eps = t122 + t216; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + + + eps = t122 + t216; + vrho_a = t122 + t216 + t6 * ( t346 + t431 ); + vrho_b = t122 + t216 + t6 * ( t490 + t588 ); + vsigma_aa = t6 * t656; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t722; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t765 = constants::m_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + constexpr double t766 = t765 * t2; + constexpr double t767 = t31 * t31; + constexpr double t768 = 0.1e1 / t767; + constexpr double t769 = t33 * t33; + constexpr double t770 = t768 * t769; + constexpr double t779 = t2 * t768; + constexpr double t1688 = t779 * t769; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + const double t725 = t23 * t23; + const double t726 = 0.1e1 / t725; + const double t727 = t221 * t221; + const double t730 = t217 * t6; + const double t731 = 0.1e1 / t730; + const double t732 = t16 * t731; + const double t735 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t218 + 0.2e1 * t732 ); + const double t739 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t727 + 0.4e1 / 0.3e1 * t23 * t735 ); + const double t740 = t5 * t739; + const double t743 = t225 * t231; + const double t750 = 0.1e1 / t228 / t6; + const double t751 = t750 * t117; + const double t752 = t751 * t55; + const double t754 = t26 * t752 / 0.12e2; + const double t755 = t229 * t337; + const double t756 = t755 * t55; + const double t757 = t26 * t756; + const double t759 = t230 * t268; + const double t760 = t26 * t759; + const double t762 = t282 * t282; + const double t776 = omega / t59 / t766 / t770 / t242 / 0.3e1; + const double t778 = t776 * t66 * t765; + const double t780 = t241 * t241; + const double t781 = 0.1e1 / t780; + const double t782 = t769 * t781; + const double t783 = t268 * t268; + const double t784 = t782 * t783; + const double t789 = t238 * t275 * M_PI; + const double t790 = t242 * t268; + const double t792 = t36 * t790 * t277; + const double t795 = t241 * t55; + const double t796 = 0.1e1 / t795; + const double t797 = t33 * t796; + const double t798 = t797 * t783; + const double t802 = t37 * t37; + const double t804 = 0.1e1 / t39 / t802; + const double t805 = sigma_aa * t804; + const double t813 = 0.1e1 / t251 / t50; + const double t814 = t263 * t263; + const double t815 = t813 * t814; + const double t820 = 0.1e1 / t38 / t244; + const double t826 = sigma_aa * sigma_aa; + const double t829 = 0.1e1 / t38 / t802 / t244; + const double t832 = 0.1e1 / t259 / t258; + const double t835 = 0.784e-1 * t43 * t820 * t47 + 0.168e0 * t805 * t260 - 0.448e-1 * t826 * t829 * t832; + const double t836 = t252 * t835; + const double t840 = 0.9125925925925925926e-2 * t36 * t805 * t51 + 0.49777777777777777778e-2 * t36 * t247 * t264 + 0.18666666666666666666e-2 * t36 * t42 * t815 - 0.93333333333333333332e-3 * t36 * t42 * t836; + const double t841 = t243 * t840; + const double t845 = t19 * t19; + const double t848 = 0.1e1 / t64 / t845 / t217; + const double t849 = t62 * t848; + const double t850 = t277 * t277; + const double t856 = t735 * t6 + 0.2e1 * t221; + const double t860 = 0.9e1 / 0.8e1 * t778 * t779 * t784 - t789 * t792 / 0.6e1 - t240 * t35 * t798 / 0.2e1 + t240 * t35 * t841 / 0.4e1 + 0.2e1 / 0.9e1 * t61 * t849 * t850 - t61 * t275 * t856 / 0.6e1; + const double t861 = piecewise_functor_3( t70, t860, 0.0 ); + const double t889 = 0.1e1 / t93 / t72; + const double t894 = t76 * t762 / 0.6e1 - t235 * t861 / 0.18e2 - t79 * t762 / 0.48e2 + t286 * t861 / 0.24e3 + t82 * t762 / 0.64e3 - t290 * t861 / 0.448e4 - t85 * t762 / 0.1152e5 + t294 * t861 / 0.10368e6 + t88 * t762 / 0.258048e6 - t298 * t861 / 0.2838528e7 - t91 * t762 / 0.688128e7 + t302 * t861 / 0.8945664e8 + t94 * t762 / 0.21233664e9 - t306 * t861 / 0.31850496e10 - t889 * t762 / 0.74317824e10 + t310 * t861 / 0.1263403008e12; + const double t895 = piecewise_functor_3( t70, 0.0, t860 ); + const double t900 = t103 * t103; + const double t902 = 0.1e1 / t900 / t97; + const double t903 = t314 * t314; + const double t904 = t902 * t903; + const double t907 = t106 * t321; + const double t915 = 0.1e1 / t900; + const double t923 = 0.1e1 / t900 / t103; + const double t924 = t923 * t903; + const double t935 = -0.2e1 * t915 * t903 * t106 + t321 * t895 * t106 / 0.2e1 + t924 * t106 / 0.4e1 - 0.4e1 * t903 * t107 - t104 * t903 * t106 - 0.4e1 * t325 * t895 - t99 * t895 * t106; + const double t938 = -t904 * t106 / 0.2e1 + 0.2e1 * t907 * t903 - t316 * t895 + 0.2e1 * t895 * t110 + 0.4e1 * t314 * t330 + 0.2e1 * t97 * t935; + const double t942 = piecewise_functor_3( t69, t894, -0.8e1 / 0.3e1 * t895 * t113 - 0.16e2 / 0.3e1 * t314 * t333 - 0.8e1 / 0.3e1 * t97 * t938 ); + const double t943 = t27 * t942; + const double t944 = t943 * t55; + const double t947 = t338 * t268; + const double t950 = t118 * t840; + const double t954 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t740 * t119 - t743 / 0.4e1 - 0.3e1 / 0.4e1 * t225 * t339 - 0.3e1 / 0.4e1 * t225 * t342 + t754 - t757 / 0.4e1 - t760 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t944 - 0.3e1 / 0.4e1 * t26 * t947 - 0.3e1 / 0.8e1 * t26 * t950 ); + const double t955 = t129 * t129; + const double t956 = 0.1e1 / t955; + const double t957 = t349 * t349; + const double t960 = t124 * t731; + const double t963 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t218 + 0.2e1 * t960 ); + const double t967 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t957 + 0.4e1 / 0.3e1 * t129 * t963 ); + const double t968 = t5 * t967; + const double t971 = t353 * t357; + const double t975 = t750 * t211; + const double t976 = t975 * t151; + const double t978 = t132 * t976 / 0.12e2; + const double t979 = t229 * t425; + const double t980 = t979 * t151; + const double t981 = t132 * t980; + const double t983 = t370 * t370; + const double t986 = t127 * t127; + const double t989 = 0.1e1 / t159 / t986 / t217; + const double t990 = t62 * t989; + const double t991 = t366 * t366; + const double t997 = t963 * t6 + 0.2e1 * t349; + const double t1001 = 0.2e1 / 0.9e1 * t157 * t990 * t991 - t157 * t364 * t997 / 0.6e1; + const double t1002 = piecewise_functor_3( t165, t1001, 0.0 ); + const double t1030 = 0.1e1 / t188 / t167; + const double t1035 = t171 * t983 / 0.6e1 - t361 * t1002 / 0.18e2 - t174 * t983 / 0.48e2 + t374 * t1002 / 0.24e3 + t177 * t983 / 0.64e3 - t378 * t1002 / 0.448e4 - t180 * t983 / 0.1152e5 + t382 * t1002 / 0.10368e6 + t183 * t983 / 0.258048e6 - t386 * t1002 / 0.2838528e7 - t186 * t983 / 0.688128e7 + t390 * t1002 / 0.8945664e8 + t189 * t983 / 0.21233664e9 - t394 * t1002 / 0.31850496e10 - t1030 * t983 / 0.74317824e10 + t398 * t1002 / 0.1263403008e12; + const double t1036 = piecewise_functor_3( t165, 0.0, t1001 ); + const double t1041 = t197 * t197; + const double t1043 = 0.1e1 / t1041 / t192; + const double t1044 = t402 * t402; + const double t1045 = t1043 * t1044; + const double t1048 = t200 * t409; + const double t1056 = 0.1e1 / t1041; + const double t1064 = 0.1e1 / t1041 / t197; + const double t1065 = t1064 * t1044; + const double t1076 = -0.2e1 * t1056 * t1044 * t200 + t409 * t1036 * t200 / 0.2e1 + t1065 * t200 / 0.4e1 - 0.4e1 * t1044 * t201 - t198 * t1044 * t200 - 0.4e1 * t413 * t1036 - t193 * t1036 * t200; + const double t1079 = -t1045 * t200 / 0.2e1 + 0.2e1 * t1048 * t1044 - t404 * t1036 + 0.2e1 * t1036 * t204 + 0.4e1 * t402 * t418 + 0.2e1 * t192 * t1076; + const double t1083 = piecewise_functor_3( t164, t1035, -0.8e1 / 0.3e1 * t1036 * t207 - 0.16e2 / 0.3e1 * t402 * t421 - 0.8e1 / 0.3e1 * t192 * t1079 ); + const double t1084 = t27 * t1083; + const double t1085 = t1084 * t151; + const double t1089 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t968 * t213 - t971 / 0.4e1 - 0.3e1 / 0.4e1 * t353 * t427 + t978 - t981 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1085 ); + const double t1104 = t439 * t231; + const double t1115 = t229 * t484; + const double t1116 = t1115 * t55; + const double t1117 = t26 * t1116; + const double t1181 = t902 * t314; + const double t1196 = t106 * t314; + const double t1205 = t314 * t107; + const double t1208 = t104 * t314; + const double t1243 = t496 * t357; + const double t1251 = t229 * t579; + const double t1252 = t1251 * t151; + const double t1253 = t132 * t1252; + const double t1259 = t501 * t364 * M_PI; + const double t1260 = t505 * t531; + const double t1320 = t200 * t560; + const double t1366 = t356 * t531; + const double t1367 = t132 * t1366; + const double t1378 = t435 * t435; + const double t1383 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t218 + 0.2e1 * t732 ); + const double t1387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t1378 + 0.4e1 / 0.3e1 * t23 * t1383 ); + const double t1388 = t5 * t1387; + const double t1395 = t447 * t447; + const double t1398 = t443 * t443; + const double t1399 = t849 * t1398; + const double t1404 = t1383 * t6 + 0.2e1 * t435; + const double t1405 = t275 * t1404; + const double t1408 = 0.2e1 / 0.9e1 * t61 * t1399 - t61 * t1405 / 0.6e1; + const double t1409 = piecewise_functor_3( t70, t1408, 0.0 ); + const double t1412 = t79 * t1395; + const double t1414 = t286 * t1409; + const double t1416 = t82 * t1395; + const double t1418 = t290 * t1409; + const double t1420 = t85 * t1395; + const double t1422 = t294 * t1409; + const double t1424 = t88 * t1395; + const double t1426 = t298 * t1409; + const double t1428 = t91 * t1395; + const double t1430 = t302 * t1409; + const double t1432 = t94 * t1395; + const double t1434 = t306 * t1409; + const double t1436 = t889 * t1395; + const double t1438 = t310 * t1409; + const double t1440 = t76 * t1395 / 0.6e1 - t235 * t1409 / 0.18e2 - t1412 / 0.48e2 + t1414 / 0.24e3 + t1416 / 0.64e3 - t1418 / 0.448e4 - t1420 / 0.1152e5 + t1422 / 0.10368e6 + t1424 / 0.258048e6 - t1426 / 0.2838528e7 - t1428 / 0.688128e7 + t1430 / 0.8945664e8 + t1432 / 0.21233664e9 - t1434 / 0.31850496e10 - t1436 / 0.74317824e10 + t1438 / 0.1263403008e12; + const double t1441 = piecewise_functor_3( t70, 0.0, t1408 ); + const double t1446 = t465 * t465; + const double t1447 = t902 * t1446; + const double t1463 = t923 * t1446; + const double t1474 = -0.2e1 * t915 * t1446 * t106 + t321 * t1441 * t106 / 0.2e1 + t1463 * t106 / 0.4e1 - 0.4e1 * t1446 * t107 - t104 * t1446 * t106 - 0.4e1 * t325 * t1441 - t99 * t1441 * t106; + const double t1477 = -t1447 * t106 / 0.2e1 + 0.2e1 * t907 * t1446 - t316 * t1441 + 0.2e1 * t1441 * t110 + 0.4e1 * t465 * t477 + 0.2e1 * t97 * t1474; + const double t1481 = piecewise_functor_3( t69, t1440, -0.8e1 / 0.3e1 * t1441 * t113 - 0.16e2 / 0.3e1 * t465 * t480 - 0.8e1 / 0.3e1 * t97 * t1477 ); + const double t1482 = t27 * t1481; + const double t1483 = t1482 * t55; + const double t1487 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t1388 * t119 - t1104 / 0.4e1 - 0.3e1 / 0.4e1 * t439 * t486 + t754 - t1117 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t1483 ); + const double t1488 = t492 * t492; + const double t1493 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t218 + 0.2e1 * t960 ); + const double t1497 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t1488 + 0.4e1 / 0.3e1 * t129 * t1493 ); + const double t1498 = t5 * t1497; + const double t1508 = t542 * t542; + const double t1516 = omega / t155 / t766 / t770 / t505 / 0.3e1; + const double t1518 = t1516 * t161 * t765; + const double t1519 = t504 * t504; + const double t1520 = 0.1e1 / t1519; + const double t1521 = t769 * t1520; + const double t1522 = t531 * t531; + const double t1531 = t504 * t151; + const double t1532 = 0.1e1 / t1531; + const double t1533 = t33 * t1532; + const double t1538 = t133 * t133; + const double t1540 = 0.1e1 / t135 / t1538; + const double t1541 = sigma_bb * t1540; + const double t1549 = 0.1e1 / t514 / t146; + const double t1550 = t526 * t526; + const double t1551 = t1549 * t1550; + const double t1556 = 0.1e1 / t134 / t507; + const double t1562 = sigma_bb * sigma_bb; + const double t1565 = 0.1e1 / t134 / t1538 / t507; + const double t1568 = 0.1e1 / t522 / t521; + const double t1571 = 0.784e-1 * t139 * t1556 * t143 + 0.168e0 * t1541 * t523 - 0.448e-1 * t1562 * t1565 * t1568; + const double t1572 = t515 * t1571; + const double t1576 = 0.9125925925925925926e-2 * t36 * t1541 * t147 + 0.49777777777777777778e-2 * t36 * t510 * t527 + 0.18666666666666666666e-2 * t36 * t138 * t1551 - 0.93333333333333333332e-3 * t36 * t138 * t1572; + const double t1581 = t537 * t537; + const double t1587 = t1493 * t6 + 0.2e1 * t492; + const double t1591 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t1522 - t1259 * t36 * t1260 * t537 / 0.6e1 - t503 * t35 * t1533 * t1522 / 0.2e1 + t503 * t35 * t506 * t1576 / 0.4e1 + 0.2e1 / 0.9e1 * t157 * t990 * t1581 - t157 * t364 * t1587 / 0.6e1; + const double t1592 = piecewise_functor_3( t165, t1591, 0.0 ); + const double t1595 = t174 * t1508; + const double t1597 = t374 * t1592; + const double t1599 = t177 * t1508; + const double t1601 = t378 * t1592; + const double t1603 = t180 * t1508; + const double t1605 = t382 * t1592; + const double t1607 = t183 * t1508; + const double t1609 = t386 * t1592; + const double t1611 = t186 * t1508; + const double t1613 = t390 * t1592; + const double t1615 = t189 * t1508; + const double t1617 = t394 * t1592; + const double t1619 = t1030 * t1508; + const double t1621 = t398 * t1592; + const double t1623 = t171 * t1508 / 0.6e1 - t361 * t1592 / 0.18e2 - t1595 / 0.48e2 + t1597 / 0.24e3 + t1599 / 0.64e3 - t1601 / 0.448e4 - t1603 / 0.1152e5 + t1605 / 0.10368e6 + t1607 / 0.258048e6 - t1609 / 0.2838528e7 - t1611 / 0.688128e7 + t1613 / 0.8945664e8 + t1615 / 0.21233664e9 - t1617 / 0.31850496e10 - t1619 / 0.74317824e10 + t1621 / 0.1263403008e12; + const double t1624 = piecewise_functor_3( t165, 0.0, t1591 ); + const double t1629 = t560 * t560; + const double t1630 = t1043 * t1629; + const double t1646 = t1064 * t1629; + const double t1657 = -0.2e1 * t1056 * t1629 * t200 + t409 * t1624 * t200 / 0.2e1 + t1646 * t200 / 0.4e1 - 0.4e1 * t1629 * t201 - t198 * t1629 * t200 - 0.4e1 * t413 * t1624 - t193 * t1624 * t200; + const double t1660 = -t1630 * t200 / 0.2e1 + 0.2e1 * t1048 * t1629 - t404 * t1624 + 0.2e1 * t1624 * t204 + 0.4e1 * t560 * t572 + 0.2e1 * t192 * t1657; + const double t1664 = piecewise_functor_3( t164, t1623, -0.8e1 / 0.3e1 * t1624 * t207 - 0.16e2 / 0.3e1 * t560 * t575 - 0.8e1 / 0.3e1 * t192 * t1660 ); + const double t1665 = t27 * t1664; + const double t1666 = t1665 * t151; + const double t1669 = t580 * t531; + const double t1672 = t212 * t1576; + const double t1676 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t1498 * t213 - t1243 / 0.4e1 - 0.3e1 / 0.4e1 * t496 * t581 - 0.3e1 / 0.4e1 * t496 * t584 + t978 - t1253 / 0.4e1 - t1367 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1666 - 0.3e1 / 0.4e1 * t132 * t1669 - 0.3e1 / 0.8e1 * t132 * t1672 ); + const double t1681 = t229 * t648; + const double t1682 = t1681 * t55; + const double t1684 = t26 * t1682 / 0.8e1; + const double t1685 = t76 * t611; + const double t1689 = t781 * t606; + const double t1694 = t242 * t606; + const double t1699 = t796 * t606; + const double t1708 = t41 * t252; + const double t1716 = t35 * t33 * sigma_aa; + const double t1717 = t41 * t813; + const double t1718 = t601 * t263; + const double t1719 = t1717 * t1718; + const double t1727 = t802 * t37; + const double t1729 = 0.1e1 / t38 / t1727; + const double t1730 = t1729 * t832; + const double t1733 = -0.168e-1 * t595 * t254 * t47 - 0.504e-1 * t246 * t260 + 0.168e-1 * t1730 * sigma_aa; + const double t1734 = t252 * t1733; + const double t1738 = -0.24888888888888888889e-2 * t35 * t33 * t246 * t51 - 0.93333333333333333332e-3 * t36 * t1708 * t263 + 0.24888888888888888889e-2 * t36 * t247 * t602 + 0.18666666666666666666e-2 * t1716 * t1719 - 0.93333333333333333332e-3 * t36 * t42 * t1734; + const double t1743 = 0.9e1 / 0.8e1 * t778 * t1688 * t1689 * t268 - t789 * t36 * t1694 * t277 / 0.12e2 - t240 * t36 * t1699 * t268 / 0.2e1 + t240 * t35 * t243 * t1738 / 0.4e1; + const double t1744 = piecewise_functor_3( t70, t1743, 0.0 ); + const double t1747 = t79 * t611; + const double t1750 = t286 * t1744; + const double t1752 = t82 * t611; + const double t1755 = t290 * t1744; + const double t1757 = t85 * t611; + const double t1760 = t294 * t1744; + const double t1762 = t88 * t611; + const double t1765 = t298 * t1744; + const double t1767 = t91 * t611; + const double t1770 = t302 * t1744; + const double t1772 = t94 * t611; + const double t1775 = t306 * t1744; + const double t1777 = t889 * t611; + const double t1780 = t310 * t1744; + const double t1782 = t1685 * t282 / 0.6e1 - t235 * t1744 / 0.18e2 - t1747 * t282 / 0.48e2 + t1750 / 0.24e3 + t1752 * t282 / 0.64e3 - t1755 / 0.448e4 - t1757 * t282 / 0.1152e5 + t1760 / 0.10368e6 + t1762 * t282 / 0.258048e6 - t1765 / 0.2838528e7 - t1767 * t282 / 0.688128e7 + t1770 / 0.8945664e8 + t1772 * t282 / 0.21233664e9 - t1775 / 0.31850496e10 - t1777 * t282 / 0.74317824e10 + t1780 / 0.1263403008e12; + const double t1783 = piecewise_functor_3( t70, 0.0, t1743 ); + const double t1787 = t106 * t629; + const double t1790 = t629 * t314; + const double t1800 = t915 * t629; + const double t1806 = t923 * t629; + const double t1816 = -0.2e1 * t1800 * t1196 + t321 * t1783 * t106 / 0.2e1 + t1806 * t1196 / 0.4e1 - 0.4e1 * t1205 * t629 - t1208 * t1787 - 0.4e1 * t325 * t1783 - t99 * t1783 * t106; + const double t1819 = -t1181 * t1787 / 0.2e1 + 0.2e1 * t907 * t1790 - t316 * t1783 + 0.2e1 * t1783 * t110 + 0.2e1 * t629 * t330 + 0.2e1 * t314 * t641 + 0.2e1 * t97 * t1816; + const double t1823 = piecewise_functor_3( t69, t1782, -0.8e1 / 0.3e1 * t1783 * t113 - 0.8e1 / 0.3e1 * t97 * t1819 - 0.8e1 / 0.3e1 * t314 * t644 - 0.8e1 / 0.3e1 * t629 * t333 ); + const double t1824 = t27 * t1823; + const double t1825 = t1824 * t55; + const double t1828 = t649 * t268; + const double t1833 = t230 * t606; + const double t1835 = t26 * t1833 / 0.8e1; + const double t1836 = t338 * t606; + const double t1839 = t118 * t1738; + const double t1843 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t650 - t1684 - 0.3e1 / 0.8e1 * t26 * t1825 - 0.3e1 / 0.8e1 * t26 * t1828 - 0.3e1 / 0.8e1 * t225 * t652 - t1835 - 0.3e1 / 0.8e1 * t26 * t1836 - 0.3e1 / 0.8e1 * t26 * t1839 ); + const double t1847 = t229 * t714; + const double t1848 = t1847 * t151; + const double t1850 = t132 * t1848 / 0.8e1; + const double t1851 = t171 * t677; + const double t1854 = t505 * t672; + const double t1862 = t174 * t677; + const double t1867 = t177 * t677; + const double t1872 = t180 * t677; + const double t1877 = t183 * t677; + const double t1882 = t186 * t677; + const double t1887 = t189 * t677; + const double t1892 = t1030 * t677; + const double t1902 = t200 * t695; + const double t1915 = t1056 * t695; + const double t1921 = t1064 * t695; + const double t1945 = t356 * t672; + const double t1947 = t132 * t1945 / 0.8e1; + const double t2051 = t1520 * t672; + const double t2060 = t1532 * t672; + const double t2069 = t137 * t515; + const double t2077 = t35 * t33 * sigma_bb; + const double t2078 = t137 * t1549; + const double t2079 = t667 * t526; + const double t2080 = t2078 * t2079; + const double t2088 = t1538 * t133; + const double t2090 = 0.1e1 / t134 / t2088; + const double t2091 = t2090 * t1568; + const double t2094 = -0.168e-1 * t661 * t517 * t143 - 0.504e-1 * t509 * t523 + 0.168e-1 * t2091 * sigma_bb; + const double t2095 = t515 * t2094; + const double t2099 = -0.24888888888888888889e-2 * t35 * t33 * t509 * t147 - 0.93333333333333333332e-3 * t36 * t2069 * t526 + 0.24888888888888888889e-2 * t36 * t510 * t668 + 0.18666666666666666666e-2 * t2077 * t2080 - 0.93333333333333333332e-3 * t36 * t138 * t2095; + const double t2104 = 0.9e1 / 0.8e1 * t1518 * t1688 * t2051 * t531 - t1259 * t36 * t1854 * t537 / 0.12e2 - t503 * t36 * t2060 * t531 / 0.2e1 + t503 * t35 * t506 * t2099 / 0.4e1; + const double t2105 = piecewise_functor_3( t165, t2104, 0.0 ); + const double t2110 = t374 * t2105; + const double t2114 = t378 * t2105; + const double t2118 = t382 * t2105; + const double t2122 = t386 * t2105; + const double t2126 = t390 * t2105; + const double t2130 = t394 * t2105; + const double t2134 = t398 * t2105; + const double t2136 = t1851 * t542 / 0.6e1 - t361 * t2105 / 0.18e2 - t1862 * t542 / 0.48e2 + t2110 / 0.24e3 + t1867 * t542 / 0.64e3 - t2114 / 0.448e4 - t1872 * t542 / 0.1152e5 + t2118 / 0.10368e6 + t1877 * t542 / 0.258048e6 - t2122 / 0.2838528e7 - t1882 * t542 / 0.688128e7 + t2126 / 0.8945664e8 + t1887 * t542 / 0.21233664e9 - t2130 / 0.31850496e10 - t1892 * t542 / 0.74317824e10 + t2134 / 0.1263403008e12; + const double t2137 = piecewise_functor_3( t165, 0.0, t2104 ); + const double t2141 = t1043 * t560; + const double t2144 = t695 * t560; + const double t2161 = t560 * t201; + const double t2164 = t198 * t560; + const double t2170 = -0.2e1 * t1915 * t1320 + t409 * t2137 * t200 / 0.2e1 + t1921 * t1320 / 0.4e1 - 0.4e1 * t2161 * t695 - t2164 * t1902 - 0.4e1 * t413 * t2137 - t193 * t2137 * t200; + const double t2173 = -t2141 * t1902 / 0.2e1 + 0.2e1 * t1048 * t2144 - t404 * t2137 + 0.2e1 * t2137 * t204 + 0.2e1 * t695 * t572 + 0.2e1 * t560 * t707 + 0.2e1 * t192 * t2170; + const double t2177 = piecewise_functor_3( t164, t2136, -0.8e1 / 0.3e1 * t192 * t2173 - 0.8e1 / 0.3e1 * t2137 * t207 - 0.8e1 / 0.3e1 * t560 * t710 - 0.8e1 / 0.3e1 * t695 * t575 ); + const double t2178 = t27 * t2177; + const double t2179 = t2178 * t151; + const double t2182 = t715 * t531; + const double t2187 = t580 * t672; + const double t2190 = t212 * t2099; + const double t2194 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t716 - t1850 - 0.3e1 / 0.8e1 * t132 * t2179 - 0.3e1 / 0.8e1 * t132 * t2182 - 0.3e1 / 0.8e1 * t496 * t718 - t1947 - 0.3e1 / 0.8e1 * t132 * t2187 - 0.3e1 / 0.8e1 * t132 * t2190 ); + const double t2196 = t611 * t611; + const double t2199 = t606 * t606; + const double t2211 = t601 * t601; + const double t2212 = t813 * t2211; + const double t2217 = 0.1e1 / t43 / sigma_aa; + const double t2221 = 0.1e1 / sigma_aa; + const double t2225 = t802 * rho_a; + const double t2227 = 0.1e1 / t38 / t2225; + const double t2230 = -0.63e-2 * t2217 * t45 * t47 + 0.63e-2 * t2221 * t41 * t260 - 0.63e-2 * t2227 * t832; + const double t2231 = t252 * t2230; + const double t2235 = -0.18666666666666666666e-2 * t36 * t1708 * t601 + 0.18666666666666666666e-2 * t36 * t42 * t2212 - 0.93333333333333333332e-3 * t36 * t42 * t2231; + const double t2240 = 0.9e1 / 0.8e1 * t778 * t779 * t782 * t2199 - t240 * t35 * t797 * t2199 / 0.2e1 + t240 * t35 * t243 * t2235 / 0.4e1; + const double t2241 = piecewise_functor_3( t70, t2240, 0.0 ); + const double t2244 = t79 * t2196; + const double t2246 = t286 * t2241; + const double t2248 = t82 * t2196; + const double t2250 = t290 * t2241; + const double t2252 = t85 * t2196; + const double t2254 = t294 * t2241; + const double t2256 = t88 * t2196; + const double t2258 = t298 * t2241; + const double t2260 = t91 * t2196; + const double t2262 = t302 * t2241; + const double t2264 = t94 * t2196; + const double t2266 = t306 * t2241; + const double t2268 = t889 * t2196; + const double t2270 = t310 * t2241; + const double t2272 = t76 * t2196 / 0.6e1 - t235 * t2241 / 0.18e2 - t2244 / 0.48e2 + t2246 / 0.24e3 + t2248 / 0.64e3 - t2250 / 0.448e4 - t2252 / 0.1152e5 + t2254 / 0.10368e6 + t2256 / 0.258048e6 - t2258 / 0.2838528e7 - t2260 / 0.688128e7 + t2262 / 0.8945664e8 + t2264 / 0.21233664e9 - t2266 / 0.31850496e10 - t2268 / 0.74317824e10 + t2270 / 0.1263403008e12; + const double t2273 = piecewise_functor_3( t70, 0.0, t2240 ); + const double t2278 = t629 * t629; + const double t2279 = t902 * t2278; + const double t2295 = t923 * t2278; + const double t2306 = -0.2e1 * t915 * t2278 * t106 + t321 * t2273 * t106 / 0.2e1 + t2295 * t106 / 0.4e1 - 0.4e1 * t2278 * t107 - t104 * t2278 * t106 - 0.4e1 * t325 * t2273 - t99 * t2273 * t106; + const double t2309 = -t2279 * t106 / 0.2e1 + 0.2e1 * t907 * t2278 - t316 * t2273 + 0.2e1 * t2273 * t110 + 0.4e1 * t629 * t641 + 0.2e1 * t97 * t2306; + const double t2313 = piecewise_functor_3( t69, t2272, -0.8e1 / 0.3e1 * t2273 * t113 - 0.16e2 / 0.3e1 * t629 * t644 - 0.8e1 / 0.3e1 * t97 * t2309 ); + const double t2314 = t27 * t2313; + const double t2315 = t2314 * t55; + const double t2318 = t649 * t606; + const double t2321 = t118 * t2235; + const double t2325 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t2315 - 0.3e1 / 0.4e1 * t26 * t2318 - 0.3e1 / 0.8e1 * t26 * t2321 ); + const double t2326 = t677 * t677; + const double t2329 = t672 * t672; + const double t2341 = t667 * t667; + const double t2342 = t1549 * t2341; + const double t2347 = 0.1e1 / t139 / sigma_bb; + const double t2351 = 0.1e1 / sigma_bb; + const double t2355 = t1538 * rho_b; + const double t2357 = 0.1e1 / t134 / t2355; + const double t2360 = -0.63e-2 * t2347 * t141 * t143 + 0.63e-2 * t2351 * t137 * t523 - 0.63e-2 * t2357 * t1568; + const double t2361 = t515 * t2360; + const double t2365 = -0.18666666666666666666e-2 * t36 * t2069 * t667 + 0.18666666666666666666e-2 * t36 * t138 * t2342 - 0.93333333333333333332e-3 * t36 * t138 * t2361; + const double t2370 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t2329 - t503 * t35 * t1533 * t2329 / 0.2e1 + t503 * t35 * t506 * t2365 / 0.4e1; + const double t2371 = piecewise_functor_3( t165, t2370, 0.0 ); + const double t2374 = t174 * t2326; + const double t2376 = t374 * t2371; + const double t2378 = t177 * t2326; + const double t2380 = t378 * t2371; + const double t2382 = t180 * t2326; + const double t2384 = t382 * t2371; + const double t2386 = t183 * t2326; + const double t2388 = t386 * t2371; + const double t2390 = t186 * t2326; + const double t2392 = t390 * t2371; + const double t2394 = t189 * t2326; + const double t2396 = t394 * t2371; + const double t2398 = t1030 * t2326; + const double t2400 = t398 * t2371; + const double t2402 = t171 * t2326 / 0.6e1 - t361 * t2371 / 0.18e2 - t2374 / 0.48e2 + t2376 / 0.24e3 + t2378 / 0.64e3 - t2380 / 0.448e4 - t2382 / 0.1152e5 + t2384 / 0.10368e6 + t2386 / 0.258048e6 - t2388 / 0.2838528e7 - t2390 / 0.688128e7 + t2392 / 0.8945664e8 + t2394 / 0.21233664e9 - t2396 / 0.31850496e10 - t2398 / 0.74317824e10 + t2400 / 0.1263403008e12; + const double t2403 = piecewise_functor_3( t165, 0.0, t2370 ); + const double t2408 = t695 * t695; + const double t2409 = t1043 * t2408; + const double t2425 = t1064 * t2408; + const double t2436 = -0.2e1 * t1056 * t2408 * t200 + t409 * t2403 * t200 / 0.2e1 + t2425 * t200 / 0.4e1 - 0.4e1 * t2408 * t201 - t198 * t2408 * t200 - 0.4e1 * t413 * t2403 - t193 * t2403 * t200; + const double t2439 = -t2409 * t200 / 0.2e1 + 0.2e1 * t1048 * t2408 - t404 * t2403 + 0.2e1 * t2403 * t204 + 0.4e1 * t695 * t707 + 0.2e1 * t192 * t2436; + const double t2443 = piecewise_functor_3( t164, t2402, -0.8e1 / 0.3e1 * t2403 * t207 - 0.16e2 / 0.3e1 * t695 * t710 - 0.8e1 / 0.3e1 * t192 * t2439 ); + const double t2444 = t27 * t2443; + const double t2445 = t2444 * t151; + const double t2448 = t715 * t672; + const double t2451 = t212 * t2365; + const double t2455 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t2445 - 0.3e1 / 0.4e1 * t132 * t2448 - 0.3e1 / 0.8e1 * t132 * t2451 ); + + + v2rho2_aa = 0.2e1 * t346 + 0.2e1 * t431 + t6 * ( t954 + t1089 ); + v2rho2_bb = 0.2e1 * t490 + 0.2e1 * t588 + t6 * ( t1487 + t1676 ); + v2rhosigma_a_aa = t6 * t1843 + t656; + v2rhosigma_b_bb = t6 * t2194 + t722; + v2sigma2_aa_aa = t6 * t2325; + v2sigma2_bb_bb = t6 * t2455; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t765 = constants::m_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + constexpr double t766 = t765 * t2; + constexpr double t767 = t31 * t31; + constexpr double t768 = 0.1e1 / t767; + constexpr double t769 = t33 * t33; + constexpr double t770 = t768 * t769; + constexpr double t779 = t2 * t768; + constexpr double t1688 = t779 * t769; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + const double t725 = t23 * t23; + const double t726 = 0.1e1 / t725; + const double t727 = t221 * t221; + const double t730 = t217 * t6; + const double t731 = 0.1e1 / t730; + const double t732 = t16 * t731; + const double t735 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t218 + 0.2e1 * t732 ); + const double t739 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t727 + 0.4e1 / 0.3e1 * t23 * t735 ); + const double t740 = t5 * t739; + const double t743 = t225 * t231; + const double t750 = 0.1e1 / t228 / t6; + const double t751 = t750 * t117; + const double t752 = t751 * t55; + const double t754 = t26 * t752 / 0.12e2; + const double t755 = t229 * t337; + const double t756 = t755 * t55; + const double t757 = t26 * t756; + const double t759 = t230 * t268; + const double t760 = t26 * t759; + const double t762 = t282 * t282; + const double t776 = omega / t59 / t766 / t770 / t242 / 0.3e1; + const double t778 = t776 * t66 * t765; + const double t780 = t241 * t241; + const double t781 = 0.1e1 / t780; + const double t782 = t769 * t781; + const double t783 = t268 * t268; + const double t784 = t782 * t783; + const double t789 = t238 * t275 * M_PI; + const double t790 = t242 * t268; + const double t792 = t36 * t790 * t277; + const double t795 = t241 * t55; + const double t796 = 0.1e1 / t795; + const double t797 = t33 * t796; + const double t798 = t797 * t783; + const double t802 = t37 * t37; + const double t804 = 0.1e1 / t39 / t802; + const double t805 = sigma_aa * t804; + const double t813 = 0.1e1 / t251 / t50; + const double t814 = t263 * t263; + const double t815 = t813 * t814; + const double t820 = 0.1e1 / t38 / t244; + const double t826 = sigma_aa * sigma_aa; + const double t829 = 0.1e1 / t38 / t802 / t244; + const double t832 = 0.1e1 / t259 / t258; + const double t835 = 0.784e-1 * t43 * t820 * t47 + 0.168e0 * t805 * t260 - 0.448e-1 * t826 * t829 * t832; + const double t836 = t252 * t835; + const double t840 = 0.9125925925925925926e-2 * t36 * t805 * t51 + 0.49777777777777777778e-2 * t36 * t247 * t264 + 0.18666666666666666666e-2 * t36 * t42 * t815 - 0.93333333333333333332e-3 * t36 * t42 * t836; + const double t841 = t243 * t840; + const double t845 = t19 * t19; + const double t848 = 0.1e1 / t64 / t845 / t217; + const double t849 = t62 * t848; + const double t850 = t277 * t277; + const double t856 = t735 * t6 + 0.2e1 * t221; + const double t860 = 0.9e1 / 0.8e1 * t778 * t779 * t784 - t789 * t792 / 0.6e1 - t240 * t35 * t798 / 0.2e1 + t240 * t35 * t841 / 0.4e1 + 0.2e1 / 0.9e1 * t61 * t849 * t850 - t61 * t275 * t856 / 0.6e1; + const double t861 = piecewise_functor_3( t70, t860, 0.0 ); + const double t889 = 0.1e1 / t93 / t72; + const double t894 = t76 * t762 / 0.6e1 - t235 * t861 / 0.18e2 - t79 * t762 / 0.48e2 + t286 * t861 / 0.24e3 + t82 * t762 / 0.64e3 - t290 * t861 / 0.448e4 - t85 * t762 / 0.1152e5 + t294 * t861 / 0.10368e6 + t88 * t762 / 0.258048e6 - t298 * t861 / 0.2838528e7 - t91 * t762 / 0.688128e7 + t302 * t861 / 0.8945664e8 + t94 * t762 / 0.21233664e9 - t306 * t861 / 0.31850496e10 - t889 * t762 / 0.74317824e10 + t310 * t861 / 0.1263403008e12; + const double t895 = piecewise_functor_3( t70, 0.0, t860 ); + const double t900 = t103 * t103; + const double t902 = 0.1e1 / t900 / t97; + const double t903 = t314 * t314; + const double t904 = t902 * t903; + const double t907 = t106 * t321; + const double t915 = 0.1e1 / t900; + const double t923 = 0.1e1 / t900 / t103; + const double t924 = t923 * t903; + const double t935 = -0.2e1 * t915 * t903 * t106 + t321 * t895 * t106 / 0.2e1 + t924 * t106 / 0.4e1 - 0.4e1 * t903 * t107 - t104 * t903 * t106 - 0.4e1 * t325 * t895 - t99 * t895 * t106; + const double t938 = -t904 * t106 / 0.2e1 + 0.2e1 * t907 * t903 - t316 * t895 + 0.2e1 * t895 * t110 + 0.4e1 * t314 * t330 + 0.2e1 * t97 * t935; + const double t942 = piecewise_functor_3( t69, t894, -0.8e1 / 0.3e1 * t895 * t113 - 0.16e2 / 0.3e1 * t314 * t333 - 0.8e1 / 0.3e1 * t97 * t938 ); + const double t943 = t27 * t942; + const double t944 = t943 * t55; + const double t947 = t338 * t268; + const double t950 = t118 * t840; + const double t954 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t740 * t119 - t743 / 0.4e1 - 0.3e1 / 0.4e1 * t225 * t339 - 0.3e1 / 0.4e1 * t225 * t342 + t754 - t757 / 0.4e1 - t760 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t944 - 0.3e1 / 0.4e1 * t26 * t947 - 0.3e1 / 0.8e1 * t26 * t950 ); + const double t955 = t129 * t129; + const double t956 = 0.1e1 / t955; + const double t957 = t349 * t349; + const double t960 = t124 * t731; + const double t963 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t218 + 0.2e1 * t960 ); + const double t967 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t957 + 0.4e1 / 0.3e1 * t129 * t963 ); + const double t968 = t5 * t967; + const double t971 = t353 * t357; + const double t975 = t750 * t211; + const double t976 = t975 * t151; + const double t978 = t132 * t976 / 0.12e2; + const double t979 = t229 * t425; + const double t980 = t979 * t151; + const double t981 = t132 * t980; + const double t983 = t370 * t370; + const double t986 = t127 * t127; + const double t989 = 0.1e1 / t159 / t986 / t217; + const double t990 = t62 * t989; + const double t991 = t366 * t366; + const double t997 = t963 * t6 + 0.2e1 * t349; + const double t1001 = 0.2e1 / 0.9e1 * t157 * t990 * t991 - t157 * t364 * t997 / 0.6e1; + const double t1002 = piecewise_functor_3( t165, t1001, 0.0 ); + const double t1030 = 0.1e1 / t188 / t167; + const double t1035 = t171 * t983 / 0.6e1 - t361 * t1002 / 0.18e2 - t174 * t983 / 0.48e2 + t374 * t1002 / 0.24e3 + t177 * t983 / 0.64e3 - t378 * t1002 / 0.448e4 - t180 * t983 / 0.1152e5 + t382 * t1002 / 0.10368e6 + t183 * t983 / 0.258048e6 - t386 * t1002 / 0.2838528e7 - t186 * t983 / 0.688128e7 + t390 * t1002 / 0.8945664e8 + t189 * t983 / 0.21233664e9 - t394 * t1002 / 0.31850496e10 - t1030 * t983 / 0.74317824e10 + t398 * t1002 / 0.1263403008e12; + const double t1036 = piecewise_functor_3( t165, 0.0, t1001 ); + const double t1041 = t197 * t197; + const double t1043 = 0.1e1 / t1041 / t192; + const double t1044 = t402 * t402; + const double t1045 = t1043 * t1044; + const double t1048 = t200 * t409; + const double t1056 = 0.1e1 / t1041; + const double t1064 = 0.1e1 / t1041 / t197; + const double t1065 = t1064 * t1044; + const double t1076 = -0.2e1 * t1056 * t1044 * t200 + t409 * t1036 * t200 / 0.2e1 + t1065 * t200 / 0.4e1 - 0.4e1 * t1044 * t201 - t198 * t1044 * t200 - 0.4e1 * t413 * t1036 - t193 * t1036 * t200; + const double t1079 = -t1045 * t200 / 0.2e1 + 0.2e1 * t1048 * t1044 - t404 * t1036 + 0.2e1 * t1036 * t204 + 0.4e1 * t402 * t418 + 0.2e1 * t192 * t1076; + const double t1083 = piecewise_functor_3( t164, t1035, -0.8e1 / 0.3e1 * t1036 * t207 - 0.16e2 / 0.3e1 * t402 * t421 - 0.8e1 / 0.3e1 * t192 * t1079 ); + const double t1084 = t27 * t1083; + const double t1085 = t1084 * t151; + const double t1089 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t968 * t213 - t971 / 0.4e1 - 0.3e1 / 0.4e1 * t353 * t427 + t978 - t981 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1085 ); + const double t1104 = t439 * t231; + const double t1115 = t229 * t484; + const double t1116 = t1115 * t55; + const double t1117 = t26 * t1116; + const double t1181 = t902 * t314; + const double t1196 = t106 * t314; + const double t1205 = t314 * t107; + const double t1208 = t104 * t314; + const double t1243 = t496 * t357; + const double t1251 = t229 * t579; + const double t1252 = t1251 * t151; + const double t1253 = t132 * t1252; + const double t1259 = t501 * t364 * M_PI; + const double t1260 = t505 * t531; + const double t1320 = t200 * t560; + const double t1366 = t356 * t531; + const double t1367 = t132 * t1366; + const double t1378 = t435 * t435; + const double t1383 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t218 + 0.2e1 * t732 ); + const double t1387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t1378 + 0.4e1 / 0.3e1 * t23 * t1383 ); + const double t1388 = t5 * t1387; + const double t1395 = t447 * t447; + const double t1398 = t443 * t443; + const double t1399 = t849 * t1398; + const double t1404 = t1383 * t6 + 0.2e1 * t435; + const double t1405 = t275 * t1404; + const double t1408 = 0.2e1 / 0.9e1 * t61 * t1399 - t61 * t1405 / 0.6e1; + const double t1409 = piecewise_functor_3( t70, t1408, 0.0 ); + const double t1412 = t79 * t1395; + const double t1414 = t286 * t1409; + const double t1416 = t82 * t1395; + const double t1418 = t290 * t1409; + const double t1420 = t85 * t1395; + const double t1422 = t294 * t1409; + const double t1424 = t88 * t1395; + const double t1426 = t298 * t1409; + const double t1428 = t91 * t1395; + const double t1430 = t302 * t1409; + const double t1432 = t94 * t1395; + const double t1434 = t306 * t1409; + const double t1436 = t889 * t1395; + const double t1438 = t310 * t1409; + const double t1440 = t76 * t1395 / 0.6e1 - t235 * t1409 / 0.18e2 - t1412 / 0.48e2 + t1414 / 0.24e3 + t1416 / 0.64e3 - t1418 / 0.448e4 - t1420 / 0.1152e5 + t1422 / 0.10368e6 + t1424 / 0.258048e6 - t1426 / 0.2838528e7 - t1428 / 0.688128e7 + t1430 / 0.8945664e8 + t1432 / 0.21233664e9 - t1434 / 0.31850496e10 - t1436 / 0.74317824e10 + t1438 / 0.1263403008e12; + const double t1441 = piecewise_functor_3( t70, 0.0, t1408 ); + const double t1446 = t465 * t465; + const double t1447 = t902 * t1446; + const double t1463 = t923 * t1446; + const double t1474 = -0.2e1 * t915 * t1446 * t106 + t321 * t1441 * t106 / 0.2e1 + t1463 * t106 / 0.4e1 - 0.4e1 * t1446 * t107 - t104 * t1446 * t106 - 0.4e1 * t325 * t1441 - t99 * t1441 * t106; + const double t1477 = -t1447 * t106 / 0.2e1 + 0.2e1 * t907 * t1446 - t316 * t1441 + 0.2e1 * t1441 * t110 + 0.4e1 * t465 * t477 + 0.2e1 * t97 * t1474; + const double t1481 = piecewise_functor_3( t69, t1440, -0.8e1 / 0.3e1 * t1441 * t113 - 0.16e2 / 0.3e1 * t465 * t480 - 0.8e1 / 0.3e1 * t97 * t1477 ); + const double t1482 = t27 * t1481; + const double t1483 = t1482 * t55; + const double t1487 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t1388 * t119 - t1104 / 0.4e1 - 0.3e1 / 0.4e1 * t439 * t486 + t754 - t1117 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t1483 ); + const double t1488 = t492 * t492; + const double t1493 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t218 + 0.2e1 * t960 ); + const double t1497 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t1488 + 0.4e1 / 0.3e1 * t129 * t1493 ); + const double t1498 = t5 * t1497; + const double t1508 = t542 * t542; + const double t1516 = omega / t155 / t766 / t770 / t505 / 0.3e1; + const double t1518 = t1516 * t161 * t765; + const double t1519 = t504 * t504; + const double t1520 = 0.1e1 / t1519; + const double t1521 = t769 * t1520; + const double t1522 = t531 * t531; + const double t1531 = t504 * t151; + const double t1532 = 0.1e1 / t1531; + const double t1533 = t33 * t1532; + const double t1538 = t133 * t133; + const double t1540 = 0.1e1 / t135 / t1538; + const double t1541 = sigma_bb * t1540; + const double t1549 = 0.1e1 / t514 / t146; + const double t1550 = t526 * t526; + const double t1551 = t1549 * t1550; + const double t1556 = 0.1e1 / t134 / t507; + const double t1562 = sigma_bb * sigma_bb; + const double t1565 = 0.1e1 / t134 / t1538 / t507; + const double t1568 = 0.1e1 / t522 / t521; + const double t1571 = 0.784e-1 * t139 * t1556 * t143 + 0.168e0 * t1541 * t523 - 0.448e-1 * t1562 * t1565 * t1568; + const double t1572 = t515 * t1571; + const double t1576 = 0.9125925925925925926e-2 * t36 * t1541 * t147 + 0.49777777777777777778e-2 * t36 * t510 * t527 + 0.18666666666666666666e-2 * t36 * t138 * t1551 - 0.93333333333333333332e-3 * t36 * t138 * t1572; + const double t1581 = t537 * t537; + const double t1587 = t1493 * t6 + 0.2e1 * t492; + const double t1591 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t1522 - t1259 * t36 * t1260 * t537 / 0.6e1 - t503 * t35 * t1533 * t1522 / 0.2e1 + t503 * t35 * t506 * t1576 / 0.4e1 + 0.2e1 / 0.9e1 * t157 * t990 * t1581 - t157 * t364 * t1587 / 0.6e1; + const double t1592 = piecewise_functor_3( t165, t1591, 0.0 ); + const double t1595 = t174 * t1508; + const double t1597 = t374 * t1592; + const double t1599 = t177 * t1508; + const double t1601 = t378 * t1592; + const double t1603 = t180 * t1508; + const double t1605 = t382 * t1592; + const double t1607 = t183 * t1508; + const double t1609 = t386 * t1592; + const double t1611 = t186 * t1508; + const double t1613 = t390 * t1592; + const double t1615 = t189 * t1508; + const double t1617 = t394 * t1592; + const double t1619 = t1030 * t1508; + const double t1621 = t398 * t1592; + const double t1623 = t171 * t1508 / 0.6e1 - t361 * t1592 / 0.18e2 - t1595 / 0.48e2 + t1597 / 0.24e3 + t1599 / 0.64e3 - t1601 / 0.448e4 - t1603 / 0.1152e5 + t1605 / 0.10368e6 + t1607 / 0.258048e6 - t1609 / 0.2838528e7 - t1611 / 0.688128e7 + t1613 / 0.8945664e8 + t1615 / 0.21233664e9 - t1617 / 0.31850496e10 - t1619 / 0.74317824e10 + t1621 / 0.1263403008e12; + const double t1624 = piecewise_functor_3( t165, 0.0, t1591 ); + const double t1629 = t560 * t560; + const double t1630 = t1043 * t1629; + const double t1646 = t1064 * t1629; + const double t1657 = -0.2e1 * t1056 * t1629 * t200 + t409 * t1624 * t200 / 0.2e1 + t1646 * t200 / 0.4e1 - 0.4e1 * t1629 * t201 - t198 * t1629 * t200 - 0.4e1 * t413 * t1624 - t193 * t1624 * t200; + const double t1660 = -t1630 * t200 / 0.2e1 + 0.2e1 * t1048 * t1629 - t404 * t1624 + 0.2e1 * t1624 * t204 + 0.4e1 * t560 * t572 + 0.2e1 * t192 * t1657; + const double t1664 = piecewise_functor_3( t164, t1623, -0.8e1 / 0.3e1 * t1624 * t207 - 0.16e2 / 0.3e1 * t560 * t575 - 0.8e1 / 0.3e1 * t192 * t1660 ); + const double t1665 = t27 * t1664; + const double t1666 = t1665 * t151; + const double t1669 = t580 * t531; + const double t1672 = t212 * t1576; + const double t1676 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t1498 * t213 - t1243 / 0.4e1 - 0.3e1 / 0.4e1 * t496 * t581 - 0.3e1 / 0.4e1 * t496 * t584 + t978 - t1253 / 0.4e1 - t1367 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1666 - 0.3e1 / 0.4e1 * t132 * t1669 - 0.3e1 / 0.8e1 * t132 * t1672 ); + const double t1681 = t229 * t648; + const double t1682 = t1681 * t55; + const double t1684 = t26 * t1682 / 0.8e1; + const double t1685 = t76 * t611; + const double t1689 = t781 * t606; + const double t1694 = t242 * t606; + const double t1699 = t796 * t606; + const double t1708 = t41 * t252; + const double t1716 = t35 * t33 * sigma_aa; + const double t1717 = t41 * t813; + const double t1718 = t601 * t263; + const double t1719 = t1717 * t1718; + const double t1727 = t802 * t37; + const double t1729 = 0.1e1 / t38 / t1727; + const double t1730 = t1729 * t832; + const double t1733 = -0.168e-1 * t595 * t254 * t47 - 0.504e-1 * t246 * t260 + 0.168e-1 * t1730 * sigma_aa; + const double t1734 = t252 * t1733; + const double t1738 = -0.24888888888888888889e-2 * t35 * t33 * t246 * t51 - 0.93333333333333333332e-3 * t36 * t1708 * t263 + 0.24888888888888888889e-2 * t36 * t247 * t602 + 0.18666666666666666666e-2 * t1716 * t1719 - 0.93333333333333333332e-3 * t36 * t42 * t1734; + const double t1743 = 0.9e1 / 0.8e1 * t778 * t1688 * t1689 * t268 - t789 * t36 * t1694 * t277 / 0.12e2 - t240 * t36 * t1699 * t268 / 0.2e1 + t240 * t35 * t243 * t1738 / 0.4e1; + const double t1744 = piecewise_functor_3( t70, t1743, 0.0 ); + const double t1747 = t79 * t611; + const double t1750 = t286 * t1744; + const double t1752 = t82 * t611; + const double t1755 = t290 * t1744; + const double t1757 = t85 * t611; + const double t1760 = t294 * t1744; + const double t1762 = t88 * t611; + const double t1765 = t298 * t1744; + const double t1767 = t91 * t611; + const double t1770 = t302 * t1744; + const double t1772 = t94 * t611; + const double t1775 = t306 * t1744; + const double t1777 = t889 * t611; + const double t1780 = t310 * t1744; + const double t1782 = t1685 * t282 / 0.6e1 - t235 * t1744 / 0.18e2 - t1747 * t282 / 0.48e2 + t1750 / 0.24e3 + t1752 * t282 / 0.64e3 - t1755 / 0.448e4 - t1757 * t282 / 0.1152e5 + t1760 / 0.10368e6 + t1762 * t282 / 0.258048e6 - t1765 / 0.2838528e7 - t1767 * t282 / 0.688128e7 + t1770 / 0.8945664e8 + t1772 * t282 / 0.21233664e9 - t1775 / 0.31850496e10 - t1777 * t282 / 0.74317824e10 + t1780 / 0.1263403008e12; + const double t1783 = piecewise_functor_3( t70, 0.0, t1743 ); + const double t1787 = t106 * t629; + const double t1790 = t629 * t314; + const double t1800 = t915 * t629; + const double t1806 = t923 * t629; + const double t1816 = -0.2e1 * t1800 * t1196 + t321 * t1783 * t106 / 0.2e1 + t1806 * t1196 / 0.4e1 - 0.4e1 * t1205 * t629 - t1208 * t1787 - 0.4e1 * t325 * t1783 - t99 * t1783 * t106; + const double t1819 = -t1181 * t1787 / 0.2e1 + 0.2e1 * t907 * t1790 - t316 * t1783 + 0.2e1 * t1783 * t110 + 0.2e1 * t629 * t330 + 0.2e1 * t314 * t641 + 0.2e1 * t97 * t1816; + const double t1823 = piecewise_functor_3( t69, t1782, -0.8e1 / 0.3e1 * t1783 * t113 - 0.8e1 / 0.3e1 * t97 * t1819 - 0.8e1 / 0.3e1 * t314 * t644 - 0.8e1 / 0.3e1 * t629 * t333 ); + const double t1824 = t27 * t1823; + const double t1825 = t1824 * t55; + const double t1828 = t649 * t268; + const double t1833 = t230 * t606; + const double t1835 = t26 * t1833 / 0.8e1; + const double t1836 = t338 * t606; + const double t1839 = t118 * t1738; + const double t1843 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t650 - t1684 - 0.3e1 / 0.8e1 * t26 * t1825 - 0.3e1 / 0.8e1 * t26 * t1828 - 0.3e1 / 0.8e1 * t225 * t652 - t1835 - 0.3e1 / 0.8e1 * t26 * t1836 - 0.3e1 / 0.8e1 * t26 * t1839 ); + const double t1847 = t229 * t714; + const double t1848 = t1847 * t151; + const double t1850 = t132 * t1848 / 0.8e1; + const double t1851 = t171 * t677; + const double t1854 = t505 * t672; + const double t1862 = t174 * t677; + const double t1867 = t177 * t677; + const double t1872 = t180 * t677; + const double t1877 = t183 * t677; + const double t1882 = t186 * t677; + const double t1887 = t189 * t677; + const double t1892 = t1030 * t677; + const double t1902 = t200 * t695; + const double t1915 = t1056 * t695; + const double t1921 = t1064 * t695; + const double t1945 = t356 * t672; + const double t1947 = t132 * t1945 / 0.8e1; + const double t2051 = t1520 * t672; + const double t2060 = t1532 * t672; + const double t2069 = t137 * t515; + const double t2077 = t35 * t33 * sigma_bb; + const double t2078 = t137 * t1549; + const double t2079 = t667 * t526; + const double t2080 = t2078 * t2079; + const double t2088 = t1538 * t133; + const double t2090 = 0.1e1 / t134 / t2088; + const double t2091 = t2090 * t1568; + const double t2094 = -0.168e-1 * t661 * t517 * t143 - 0.504e-1 * t509 * t523 + 0.168e-1 * t2091 * sigma_bb; + const double t2095 = t515 * t2094; + const double t2099 = -0.24888888888888888889e-2 * t35 * t33 * t509 * t147 - 0.93333333333333333332e-3 * t36 * t2069 * t526 + 0.24888888888888888889e-2 * t36 * t510 * t668 + 0.18666666666666666666e-2 * t2077 * t2080 - 0.93333333333333333332e-3 * t36 * t138 * t2095; + const double t2104 = 0.9e1 / 0.8e1 * t1518 * t1688 * t2051 * t531 - t1259 * t36 * t1854 * t537 / 0.12e2 - t503 * t36 * t2060 * t531 / 0.2e1 + t503 * t35 * t506 * t2099 / 0.4e1; + const double t2105 = piecewise_functor_3( t165, t2104, 0.0 ); + const double t2110 = t374 * t2105; + const double t2114 = t378 * t2105; + const double t2118 = t382 * t2105; + const double t2122 = t386 * t2105; + const double t2126 = t390 * t2105; + const double t2130 = t394 * t2105; + const double t2134 = t398 * t2105; + const double t2136 = t1851 * t542 / 0.6e1 - t361 * t2105 / 0.18e2 - t1862 * t542 / 0.48e2 + t2110 / 0.24e3 + t1867 * t542 / 0.64e3 - t2114 / 0.448e4 - t1872 * t542 / 0.1152e5 + t2118 / 0.10368e6 + t1877 * t542 / 0.258048e6 - t2122 / 0.2838528e7 - t1882 * t542 / 0.688128e7 + t2126 / 0.8945664e8 + t1887 * t542 / 0.21233664e9 - t2130 / 0.31850496e10 - t1892 * t542 / 0.74317824e10 + t2134 / 0.1263403008e12; + const double t2137 = piecewise_functor_3( t165, 0.0, t2104 ); + const double t2141 = t1043 * t560; + const double t2144 = t695 * t560; + const double t2161 = t560 * t201; + const double t2164 = t198 * t560; + const double t2170 = -0.2e1 * t1915 * t1320 + t409 * t2137 * t200 / 0.2e1 + t1921 * t1320 / 0.4e1 - 0.4e1 * t2161 * t695 - t2164 * t1902 - 0.4e1 * t413 * t2137 - t193 * t2137 * t200; + const double t2173 = -t2141 * t1902 / 0.2e1 + 0.2e1 * t1048 * t2144 - t404 * t2137 + 0.2e1 * t2137 * t204 + 0.2e1 * t695 * t572 + 0.2e1 * t560 * t707 + 0.2e1 * t192 * t2170; + const double t2177 = piecewise_functor_3( t164, t2136, -0.8e1 / 0.3e1 * t192 * t2173 - 0.8e1 / 0.3e1 * t2137 * t207 - 0.8e1 / 0.3e1 * t560 * t710 - 0.8e1 / 0.3e1 * t695 * t575 ); + const double t2178 = t27 * t2177; + const double t2179 = t2178 * t151; + const double t2182 = t715 * t531; + const double t2187 = t580 * t672; + const double t2190 = t212 * t2099; + const double t2194 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t716 - t1850 - 0.3e1 / 0.8e1 * t132 * t2179 - 0.3e1 / 0.8e1 * t132 * t2182 - 0.3e1 / 0.8e1 * t496 * t718 - t1947 - 0.3e1 / 0.8e1 * t132 * t2187 - 0.3e1 / 0.8e1 * t132 * t2190 ); + const double t2196 = t611 * t611; + const double t2199 = t606 * t606; + const double t2211 = t601 * t601; + const double t2212 = t813 * t2211; + const double t2217 = 0.1e1 / t43 / sigma_aa; + const double t2221 = 0.1e1 / sigma_aa; + const double t2225 = t802 * rho_a; + const double t2227 = 0.1e1 / t38 / t2225; + const double t2230 = -0.63e-2 * t2217 * t45 * t47 + 0.63e-2 * t2221 * t41 * t260 - 0.63e-2 * t2227 * t832; + const double t2231 = t252 * t2230; + const double t2235 = -0.18666666666666666666e-2 * t36 * t1708 * t601 + 0.18666666666666666666e-2 * t36 * t42 * t2212 - 0.93333333333333333332e-3 * t36 * t42 * t2231; + const double t2240 = 0.9e1 / 0.8e1 * t778 * t779 * t782 * t2199 - t240 * t35 * t797 * t2199 / 0.2e1 + t240 * t35 * t243 * t2235 / 0.4e1; + const double t2241 = piecewise_functor_3( t70, t2240, 0.0 ); + const double t2244 = t79 * t2196; + const double t2246 = t286 * t2241; + const double t2248 = t82 * t2196; + const double t2250 = t290 * t2241; + const double t2252 = t85 * t2196; + const double t2254 = t294 * t2241; + const double t2256 = t88 * t2196; + const double t2258 = t298 * t2241; + const double t2260 = t91 * t2196; + const double t2262 = t302 * t2241; + const double t2264 = t94 * t2196; + const double t2266 = t306 * t2241; + const double t2268 = t889 * t2196; + const double t2270 = t310 * t2241; + const double t2272 = t76 * t2196 / 0.6e1 - t235 * t2241 / 0.18e2 - t2244 / 0.48e2 + t2246 / 0.24e3 + t2248 / 0.64e3 - t2250 / 0.448e4 - t2252 / 0.1152e5 + t2254 / 0.10368e6 + t2256 / 0.258048e6 - t2258 / 0.2838528e7 - t2260 / 0.688128e7 + t2262 / 0.8945664e8 + t2264 / 0.21233664e9 - t2266 / 0.31850496e10 - t2268 / 0.74317824e10 + t2270 / 0.1263403008e12; + const double t2273 = piecewise_functor_3( t70, 0.0, t2240 ); + const double t2278 = t629 * t629; + const double t2279 = t902 * t2278; + const double t2295 = t923 * t2278; + const double t2306 = -0.2e1 * t915 * t2278 * t106 + t321 * t2273 * t106 / 0.2e1 + t2295 * t106 / 0.4e1 - 0.4e1 * t2278 * t107 - t104 * t2278 * t106 - 0.4e1 * t325 * t2273 - t99 * t2273 * t106; + const double t2309 = -t2279 * t106 / 0.2e1 + 0.2e1 * t907 * t2278 - t316 * t2273 + 0.2e1 * t2273 * t110 + 0.4e1 * t629 * t641 + 0.2e1 * t97 * t2306; + const double t2313 = piecewise_functor_3( t69, t2272, -0.8e1 / 0.3e1 * t2273 * t113 - 0.16e2 / 0.3e1 * t629 * t644 - 0.8e1 / 0.3e1 * t97 * t2309 ); + const double t2314 = t27 * t2313; + const double t2315 = t2314 * t55; + const double t2318 = t649 * t606; + const double t2321 = t118 * t2235; + const double t2325 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t2315 - 0.3e1 / 0.4e1 * t26 * t2318 - 0.3e1 / 0.8e1 * t26 * t2321 ); + const double t2326 = t677 * t677; + const double t2329 = t672 * t672; + const double t2341 = t667 * t667; + const double t2342 = t1549 * t2341; + const double t2347 = 0.1e1 / t139 / sigma_bb; + const double t2351 = 0.1e1 / sigma_bb; + const double t2355 = t1538 * rho_b; + const double t2357 = 0.1e1 / t134 / t2355; + const double t2360 = -0.63e-2 * t2347 * t141 * t143 + 0.63e-2 * t2351 * t137 * t523 - 0.63e-2 * t2357 * t1568; + const double t2361 = t515 * t2360; + const double t2365 = -0.18666666666666666666e-2 * t36 * t2069 * t667 + 0.18666666666666666666e-2 * t36 * t138 * t2342 - 0.93333333333333333332e-3 * t36 * t138 * t2361; + const double t2370 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t2329 - t503 * t35 * t1533 * t2329 / 0.2e1 + t503 * t35 * t506 * t2365 / 0.4e1; + const double t2371 = piecewise_functor_3( t165, t2370, 0.0 ); + const double t2374 = t174 * t2326; + const double t2376 = t374 * t2371; + const double t2378 = t177 * t2326; + const double t2380 = t378 * t2371; + const double t2382 = t180 * t2326; + const double t2384 = t382 * t2371; + const double t2386 = t183 * t2326; + const double t2388 = t386 * t2371; + const double t2390 = t186 * t2326; + const double t2392 = t390 * t2371; + const double t2394 = t189 * t2326; + const double t2396 = t394 * t2371; + const double t2398 = t1030 * t2326; + const double t2400 = t398 * t2371; + const double t2402 = t171 * t2326 / 0.6e1 - t361 * t2371 / 0.18e2 - t2374 / 0.48e2 + t2376 / 0.24e3 + t2378 / 0.64e3 - t2380 / 0.448e4 - t2382 / 0.1152e5 + t2384 / 0.10368e6 + t2386 / 0.258048e6 - t2388 / 0.2838528e7 - t2390 / 0.688128e7 + t2392 / 0.8945664e8 + t2394 / 0.21233664e9 - t2396 / 0.31850496e10 - t2398 / 0.74317824e10 + t2400 / 0.1263403008e12; + const double t2403 = piecewise_functor_3( t165, 0.0, t2370 ); + const double t2408 = t695 * t695; + const double t2409 = t1043 * t2408; + const double t2425 = t1064 * t2408; + const double t2436 = -0.2e1 * t1056 * t2408 * t200 + t409 * t2403 * t200 / 0.2e1 + t2425 * t200 / 0.4e1 - 0.4e1 * t2408 * t201 - t198 * t2408 * t200 - 0.4e1 * t413 * t2403 - t193 * t2403 * t200; + const double t2439 = -t2409 * t200 / 0.2e1 + 0.2e1 * t1048 * t2408 - t404 * t2403 + 0.2e1 * t2403 * t204 + 0.4e1 * t695 * t707 + 0.2e1 * t192 * t2436; + const double t2443 = piecewise_functor_3( t164, t2402, -0.8e1 / 0.3e1 * t2403 * t207 - 0.16e2 / 0.3e1 * t695 * t710 - 0.8e1 / 0.3e1 * t192 * t2439 ); + const double t2444 = t27 * t2443; + const double t2445 = t2444 * t151; + const double t2448 = t715 * t672; + const double t2451 = t212 * t2365; + const double t2455 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t2445 - 0.3e1 / 0.4e1 * t132 * t2448 - 0.3e1 / 0.8e1 * t132 * t2451 ); + + + vrho_a = t122 + t216 + t6 * ( t346 + t431 ); + vrho_b = t122 + t216 + t6 * ( t490 + t588 ); + vsigma_aa = t6 * t656; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t722; + v2rho2_aa = 0.2e1 * t346 + 0.2e1 * t431 + t6 * ( t954 + t1089 ); + v2rho2_bb = 0.2e1 * t490 + 0.2e1 * t588 + t6 * ( t1487 + t1676 ); + v2rhosigma_a_aa = t6 * t1843 + t656; + v2rhosigma_b_bb = t6 * t2194 + t722; + v2sigma2_aa_aa = t6 * t2325; + v2sigma2_bb_bb = t6 * t2455; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinITYH_X : detail::BuiltinKernelImpl< BuiltinITYH_X > { + + BuiltinITYH_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinITYH_X >(p) { } + + virtual ~BuiltinITYH_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/ityh_x_015.hpp b/include/exchcxx/impl/builtin/kernels/ityh_x_015.hpp new file mode 100644 index 0000000..1597762 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/ityh_x_015.hpp @@ -0,0 +1,2959 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinITYH_X_015 > : + public gga_screening_interface< BuiltinITYH_X_015 > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double omega = 0.15; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + + + eps = 0.2e1 * t117; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + + + eps = 0.2e1 * t117; + vrho = 0.2e1 * rho * t238 + 0.2e1 * t117; + vsigma = 0.2e1 * rho * t305; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t324 = constants::m_pi_sq; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + constexpr double t326 = t23 * t23; + constexpr double t327 = 0.1e1 / t326; + constexpr double t328 = t25 * t25; + constexpr double t329 = t327 * t328; + constexpr double t338 = t3 * t327; + constexpr double t519 = t338 * t328; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + const double t309 = 0.1e1 / t33 / rho; + const double t310 = t309 * t112; + const double t314 = t118 * t229; + const double t321 = t174 * t174; + const double t335 = omega / t55 / t324 / t3 / t329 / t131 / 0.3e1; + const double t337 = t335 * t61 * t324; + const double t339 = t130 * t130; + const double t340 = 0.1e1 / t339; + const double t341 = t328 * t340; + const double t342 = t162 * t162; + const double t348 = t127 * t169 * M_PI; + const double t349 = t131 * t162; + const double t354 = t130 * t51; + const double t355 = 0.1e1 / t354; + const double t356 = t25 * t355; + const double t361 = t32 * t32; + const double t363 = 0.1e1 / t33 / t361; + const double t368 = t30 * t135; + const double t369 = t368 * t158; + const double t373 = 0.1e1 / t143 / t45; + const double t374 = t157 * t157; + const double t375 = t373 * t374; + const double t376 = t142 * t375; + const double t381 = 0.1e1 / t19 / t133 * t41; + const double t384 = t363 * t153; + const double t387 = sigma * sigma; + const double t388 = t387 * t29; + const double t391 = 0.1e1 / t19 / t361 / t133; + const double t393 = 0.1e1 / t152 / t151; + const double t397 = 0.784e-1 * t37 * t381 + 0.168e0 * t31 * t384 - 0.896e-1 * t388 * t391 * t393; + const double t398 = t144 * t397; + const double t399 = t142 * t398; + const double t402 = 0.9125925925925925926e-2 * t28 * t31 * t363 * t46 + 0.49777777777777777778e-2 * t141 * t369 + 0.18666666666666666666e-2 * t141 * t376 - 0.93333333333333333332e-3 * t141 * t399; + const double t407 = t11 * t11; + const double t410 = 0.1e1 / t59 / t407 / t32; + const double t411 = t29 * t410; + const double t415 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t342 - t348 * t28 * t349 * t11 / 0.6e1 - t129 * t27 * t356 * t342 / 0.2e1 + t129 * t27 * t132 * t402 / 0.4e1 + 0.2e1 / 0.9e1 * t57 * t411 * t407; + const double t416 = piecewise_functor_3( t65, t415, 0.0 ); + const double t444 = 0.1e1 / t88 / t67; + const double t449 = t71 * t321 / 0.6e1 - t124 * t416 / 0.18e2 - t74 * t321 / 0.48e2 + t178 * t416 / 0.24e3 + t77 * t321 / 0.64e3 - t182 * t416 / 0.448e4 - t80 * t321 / 0.1152e5 + t186 * t416 / 0.10368e6 + t83 * t321 / 0.258048e6 - t190 * t416 / 0.2838528e7 - t86 * t321 / 0.688128e7 + t194 * t416 / 0.8945664e8 + t89 * t321 / 0.21233664e9 - t198 * t416 / 0.31850496e10 - t444 * t321 / 0.74317824e10 + t202 * t416 / 0.1263403008e12; + const double t450 = piecewise_functor_3( t65, 0.0, t415 ); + const double t455 = t98 * t98; + const double t457 = 0.1e1 / t455 / t92; + const double t458 = t206 * t206; + const double t459 = t457 * t458; + const double t462 = t101 * t213; + const double t470 = 0.1e1 / t455; + const double t478 = 0.1e1 / t455 / t98; + const double t479 = t478 * t458; + const double t490 = -0.2e1 * t470 * t458 * t101 + t213 * t450 * t101 / 0.2e1 + t479 * t101 / 0.4e1 - 0.4e1 * t458 * t102 - t99 * t458 * t101 - 0.4e1 * t217 * t450 - t94 * t450 * t101; + const double t493 = -t459 * t101 / 0.2e1 + 0.2e1 * t462 * t458 - t208 * t450 + 0.2e1 * t450 * t105 + 0.4e1 * t206 * t222 + 0.2e1 * t92 * t490; + const double t497 = piecewise_functor_3( t64, t449, -0.8e1 / 0.3e1 * t450 * t108 - 0.16e2 / 0.3e1 * t206 * t225 - 0.8e1 / 0.3e1 * t92 * t493 ); + const double t498 = t19 * t497; + const double t509 = piecewise_functor_3( t2, 0.0, t18 * t310 * t51 / 0.12e2 - t18 * t314 * t51 / 0.4e1 - t18 * t119 * t162 / 0.4e1 - 0.3e1 / 0.8e1 * t18 * t498 * t51 - 0.3e1 / 0.4e1 * t18 * t230 * t162 - 0.3e1 / 0.8e1 * t18 * t113 * t402 ); + const double t512 = t118 * t297; + const double t516 = t71 * t260; + const double t520 = t340 * t255; + const double t525 = t131 * t255; + const double t530 = t355 * t255; + const double t540 = t368 * t251; + const double t543 = t373 * t250; + const double t544 = t543 * t157; + const double t552 = t361 * t32; + const double t554 = 0.1e1 / t19 / t552; + const double t555 = t29 * t554; + const double t556 = t393 * sigma; + const double t559 = -0.168e-1 * t245 * t147 - 0.504e-1 * t368 * t153 + 0.336e-1 * t555 * t556; + const double t560 = t144 * t559; + const double t561 = t142 * t560; + const double t564 = -0.24888888888888888889e-2 * t28 * t368 * t46 - 0.93333333333333333332e-3 * t28 * t159 + 0.24888888888888888889e-2 * t141 * t540 + 0.18666666666666666666e-2 * t141 * t142 * t544 - 0.93333333333333333332e-3 * t141 * t561; + const double t569 = 0.9e1 / 0.8e1 * t337 * t519 * t520 * t162 - t348 * t28 * t525 * t11 / 0.12e2 - t129 * t28 * t530 * t162 / 0.2e1 + t129 * t27 * t132 * t564 / 0.4e1; + const double t570 = piecewise_functor_3( t65, t569, 0.0 ); + const double t573 = t74 * t260; + const double t576 = t178 * t570; + const double t578 = t77 * t260; + const double t581 = t182 * t570; + const double t583 = t80 * t260; + const double t586 = t186 * t570; + const double t588 = t83 * t260; + const double t591 = t190 * t570; + const double t593 = t86 * t260; + const double t596 = t194 * t570; + const double t598 = t89 * t260; + const double t601 = t198 * t570; + const double t603 = t444 * t260; + const double t606 = t202 * t570; + const double t608 = t516 * t174 / 0.6e1 - t124 * t570 / 0.18e2 - t573 * t174 / 0.48e2 + t576 / 0.24e3 + t578 * t174 / 0.64e3 - t581 / 0.448e4 - t583 * t174 / 0.1152e5 + t586 / 0.10368e6 + t588 * t174 / 0.258048e6 - t591 / 0.2838528e7 - t593 * t174 / 0.688128e7 + t596 / 0.8945664e8 + t598 * t174 / 0.21233664e9 - t601 / 0.31850496e10 - t603 * t174 / 0.74317824e10 + t606 / 0.1263403008e12; + const double t609 = piecewise_functor_3( t65, 0.0, t569 ); + const double t613 = t457 * t206; + const double t614 = t101 * t278; + const double t617 = t278 * t206; + const double t627 = t470 * t278; + const double t628 = t101 * t206; + const double t634 = t478 * t278; + const double t637 = t206 * t102; + const double t640 = t99 * t206; + const double t646 = -0.2e1 * t627 * t628 + t213 * t609 * t101 / 0.2e1 + t634 * t628 / 0.4e1 - 0.4e1 * t637 * t278 - t640 * t614 - 0.4e1 * t217 * t609 - t94 * t609 * t101; + const double t649 = -t613 * t614 / 0.2e1 + 0.2e1 * t462 * t617 - t208 * t609 + 0.2e1 * t609 * t105 + 0.2e1 * t278 * t222 + 0.2e1 * t206 * t290 + 0.2e1 * t92 * t646; + const double t653 = piecewise_functor_3( t64, t608, -0.8e1 / 0.3e1 * t609 * t108 - 0.8e1 / 0.3e1 * t206 * t293 - 0.8e1 / 0.3e1 * t278 * t225 - 0.8e1 / 0.3e1 * t92 * t649 ); + const double t654 = t19 * t653; + const double t671 = piecewise_functor_3( t2, 0.0, -t18 * t512 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t654 * t51 - 0.3e1 / 0.8e1 * t18 * t298 * t162 - t18 * t119 * t255 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t564 ); + const double t674 = t260 * t260; + const double t677 = t255 * t255; + const double t688 = t250 * t250; + const double t689 = t373 * t688; + const double t690 = t142 * t689; + const double t695 = 0.1e1 / t36 / sigma * t29; + const double t698 = 0.1e1 / sigma; + const double t699 = t698 * t30; + const double t700 = t35 * t153; + const double t703 = t361 * rho; + const double t705 = 0.1e1 / t19 / t703; + const double t709 = -0.63e-2 * t695 * t42 + 0.63e-2 * t699 * t700 - 0.126e-1 * t29 * t705 * t393; + const double t710 = t144 * t709; + const double t711 = t142 * t710; + const double t714 = -0.18666666666666666666e-2 * t28 * t252 + 0.18666666666666666666e-2 * t141 * t690 - 0.93333333333333333332e-3 * t141 * t711; + const double t719 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t677 - t129 * t27 * t356 * t677 / 0.2e1 + t129 * t27 * t132 * t714 / 0.4e1; + const double t720 = piecewise_functor_3( t65, t719, 0.0 ); + const double t723 = t74 * t674; + const double t725 = t178 * t720; + const double t727 = t77 * t674; + const double t729 = t182 * t720; + const double t731 = t80 * t674; + const double t733 = t186 * t720; + const double t735 = t83 * t674; + const double t737 = t190 * t720; + const double t739 = t86 * t674; + const double t741 = t194 * t720; + const double t743 = t89 * t674; + const double t745 = t198 * t720; + const double t747 = t444 * t674; + const double t749 = t202 * t720; + const double t751 = t71 * t674 / 0.6e1 - t124 * t720 / 0.18e2 - t723 / 0.48e2 + t725 / 0.24e3 + t727 / 0.64e3 - t729 / 0.448e4 - t731 / 0.1152e5 + t733 / 0.10368e6 + t735 / 0.258048e6 - t737 / 0.2838528e7 - t739 / 0.688128e7 + t741 / 0.8945664e8 + t743 / 0.21233664e9 - t745 / 0.31850496e10 - t747 / 0.74317824e10 + t749 / 0.1263403008e12; + const double t752 = piecewise_functor_3( t65, 0.0, t719 ); + const double t757 = t278 * t278; + const double t758 = t457 * t757; + const double t774 = t478 * t757; + const double t785 = -0.2e1 * t470 * t757 * t101 + t213 * t752 * t101 / 0.2e1 + t774 * t101 / 0.4e1 - 0.4e1 * t757 * t102 - t99 * t757 * t101 - 0.4e1 * t217 * t752 - t94 * t752 * t101; + const double t788 = -t758 * t101 / 0.2e1 + 0.2e1 * t462 * t757 - t208 * t752 + 0.2e1 * t752 * t105 + 0.4e1 * t278 * t290 + 0.2e1 * t92 * t785; + const double t792 = piecewise_functor_3( t64, t751, -0.8e1 / 0.3e1 * t752 * t108 - 0.16e2 / 0.3e1 * t278 * t293 - 0.8e1 / 0.3e1 * t92 * t788 ); + const double t793 = t19 * t792; + const double t804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t793 * t51 - 0.3e1 / 0.4e1 * t18 * t298 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t714 ); + + + v2rho2 = 0.2e1 * rho * t509 + 0.4e1 * t238; + v2rhosigma = 0.2e1 * rho * t671 + 0.2e1 * t305; + v2sigma2 = 0.2e1 * rho * t804; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t324 = constants::m_pi_sq; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + constexpr double t326 = t23 * t23; + constexpr double t327 = 0.1e1 / t326; + constexpr double t328 = t25 * t25; + constexpr double t329 = t327 * t328; + constexpr double t338 = t3 * t327; + constexpr double t519 = t338 * t328; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + const double t309 = 0.1e1 / t33 / rho; + const double t310 = t309 * t112; + const double t314 = t118 * t229; + const double t321 = t174 * t174; + const double t335 = omega / t55 / t324 / t3 / t329 / t131 / 0.3e1; + const double t337 = t335 * t61 * t324; + const double t339 = t130 * t130; + const double t340 = 0.1e1 / t339; + const double t341 = t328 * t340; + const double t342 = t162 * t162; + const double t348 = t127 * t169 * M_PI; + const double t349 = t131 * t162; + const double t354 = t130 * t51; + const double t355 = 0.1e1 / t354; + const double t356 = t25 * t355; + const double t361 = t32 * t32; + const double t363 = 0.1e1 / t33 / t361; + const double t368 = t30 * t135; + const double t369 = t368 * t158; + const double t373 = 0.1e1 / t143 / t45; + const double t374 = t157 * t157; + const double t375 = t373 * t374; + const double t376 = t142 * t375; + const double t381 = 0.1e1 / t19 / t133 * t41; + const double t384 = t363 * t153; + const double t387 = sigma * sigma; + const double t388 = t387 * t29; + const double t391 = 0.1e1 / t19 / t361 / t133; + const double t393 = 0.1e1 / t152 / t151; + const double t397 = 0.784e-1 * t37 * t381 + 0.168e0 * t31 * t384 - 0.896e-1 * t388 * t391 * t393; + const double t398 = t144 * t397; + const double t399 = t142 * t398; + const double t402 = 0.9125925925925925926e-2 * t28 * t31 * t363 * t46 + 0.49777777777777777778e-2 * t141 * t369 + 0.18666666666666666666e-2 * t141 * t376 - 0.93333333333333333332e-3 * t141 * t399; + const double t407 = t11 * t11; + const double t410 = 0.1e1 / t59 / t407 / t32; + const double t411 = t29 * t410; + const double t415 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t342 - t348 * t28 * t349 * t11 / 0.6e1 - t129 * t27 * t356 * t342 / 0.2e1 + t129 * t27 * t132 * t402 / 0.4e1 + 0.2e1 / 0.9e1 * t57 * t411 * t407; + const double t416 = piecewise_functor_3( t65, t415, 0.0 ); + const double t444 = 0.1e1 / t88 / t67; + const double t449 = t71 * t321 / 0.6e1 - t124 * t416 / 0.18e2 - t74 * t321 / 0.48e2 + t178 * t416 / 0.24e3 + t77 * t321 / 0.64e3 - t182 * t416 / 0.448e4 - t80 * t321 / 0.1152e5 + t186 * t416 / 0.10368e6 + t83 * t321 / 0.258048e6 - t190 * t416 / 0.2838528e7 - t86 * t321 / 0.688128e7 + t194 * t416 / 0.8945664e8 + t89 * t321 / 0.21233664e9 - t198 * t416 / 0.31850496e10 - t444 * t321 / 0.74317824e10 + t202 * t416 / 0.1263403008e12; + const double t450 = piecewise_functor_3( t65, 0.0, t415 ); + const double t455 = t98 * t98; + const double t457 = 0.1e1 / t455 / t92; + const double t458 = t206 * t206; + const double t459 = t457 * t458; + const double t462 = t101 * t213; + const double t470 = 0.1e1 / t455; + const double t478 = 0.1e1 / t455 / t98; + const double t479 = t478 * t458; + const double t490 = -0.2e1 * t470 * t458 * t101 + t213 * t450 * t101 / 0.2e1 + t479 * t101 / 0.4e1 - 0.4e1 * t458 * t102 - t99 * t458 * t101 - 0.4e1 * t217 * t450 - t94 * t450 * t101; + const double t493 = -t459 * t101 / 0.2e1 + 0.2e1 * t462 * t458 - t208 * t450 + 0.2e1 * t450 * t105 + 0.4e1 * t206 * t222 + 0.2e1 * t92 * t490; + const double t497 = piecewise_functor_3( t64, t449, -0.8e1 / 0.3e1 * t450 * t108 - 0.16e2 / 0.3e1 * t206 * t225 - 0.8e1 / 0.3e1 * t92 * t493 ); + const double t498 = t19 * t497; + const double t509 = piecewise_functor_3( t2, 0.0, t18 * t310 * t51 / 0.12e2 - t18 * t314 * t51 / 0.4e1 - t18 * t119 * t162 / 0.4e1 - 0.3e1 / 0.8e1 * t18 * t498 * t51 - 0.3e1 / 0.4e1 * t18 * t230 * t162 - 0.3e1 / 0.8e1 * t18 * t113 * t402 ); + const double t512 = t118 * t297; + const double t516 = t71 * t260; + const double t520 = t340 * t255; + const double t525 = t131 * t255; + const double t530 = t355 * t255; + const double t540 = t368 * t251; + const double t543 = t373 * t250; + const double t544 = t543 * t157; + const double t552 = t361 * t32; + const double t554 = 0.1e1 / t19 / t552; + const double t555 = t29 * t554; + const double t556 = t393 * sigma; + const double t559 = -0.168e-1 * t245 * t147 - 0.504e-1 * t368 * t153 + 0.336e-1 * t555 * t556; + const double t560 = t144 * t559; + const double t561 = t142 * t560; + const double t564 = -0.24888888888888888889e-2 * t28 * t368 * t46 - 0.93333333333333333332e-3 * t28 * t159 + 0.24888888888888888889e-2 * t141 * t540 + 0.18666666666666666666e-2 * t141 * t142 * t544 - 0.93333333333333333332e-3 * t141 * t561; + const double t569 = 0.9e1 / 0.8e1 * t337 * t519 * t520 * t162 - t348 * t28 * t525 * t11 / 0.12e2 - t129 * t28 * t530 * t162 / 0.2e1 + t129 * t27 * t132 * t564 / 0.4e1; + const double t570 = piecewise_functor_3( t65, t569, 0.0 ); + const double t573 = t74 * t260; + const double t576 = t178 * t570; + const double t578 = t77 * t260; + const double t581 = t182 * t570; + const double t583 = t80 * t260; + const double t586 = t186 * t570; + const double t588 = t83 * t260; + const double t591 = t190 * t570; + const double t593 = t86 * t260; + const double t596 = t194 * t570; + const double t598 = t89 * t260; + const double t601 = t198 * t570; + const double t603 = t444 * t260; + const double t606 = t202 * t570; + const double t608 = t516 * t174 / 0.6e1 - t124 * t570 / 0.18e2 - t573 * t174 / 0.48e2 + t576 / 0.24e3 + t578 * t174 / 0.64e3 - t581 / 0.448e4 - t583 * t174 / 0.1152e5 + t586 / 0.10368e6 + t588 * t174 / 0.258048e6 - t591 / 0.2838528e7 - t593 * t174 / 0.688128e7 + t596 / 0.8945664e8 + t598 * t174 / 0.21233664e9 - t601 / 0.31850496e10 - t603 * t174 / 0.74317824e10 + t606 / 0.1263403008e12; + const double t609 = piecewise_functor_3( t65, 0.0, t569 ); + const double t613 = t457 * t206; + const double t614 = t101 * t278; + const double t617 = t278 * t206; + const double t627 = t470 * t278; + const double t628 = t101 * t206; + const double t634 = t478 * t278; + const double t637 = t206 * t102; + const double t640 = t99 * t206; + const double t646 = -0.2e1 * t627 * t628 + t213 * t609 * t101 / 0.2e1 + t634 * t628 / 0.4e1 - 0.4e1 * t637 * t278 - t640 * t614 - 0.4e1 * t217 * t609 - t94 * t609 * t101; + const double t649 = -t613 * t614 / 0.2e1 + 0.2e1 * t462 * t617 - t208 * t609 + 0.2e1 * t609 * t105 + 0.2e1 * t278 * t222 + 0.2e1 * t206 * t290 + 0.2e1 * t92 * t646; + const double t653 = piecewise_functor_3( t64, t608, -0.8e1 / 0.3e1 * t609 * t108 - 0.8e1 / 0.3e1 * t206 * t293 - 0.8e1 / 0.3e1 * t278 * t225 - 0.8e1 / 0.3e1 * t92 * t649 ); + const double t654 = t19 * t653; + const double t671 = piecewise_functor_3( t2, 0.0, -t18 * t512 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t654 * t51 - 0.3e1 / 0.8e1 * t18 * t298 * t162 - t18 * t119 * t255 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t564 ); + const double t674 = t260 * t260; + const double t677 = t255 * t255; + const double t688 = t250 * t250; + const double t689 = t373 * t688; + const double t690 = t142 * t689; + const double t695 = 0.1e1 / t36 / sigma * t29; + const double t698 = 0.1e1 / sigma; + const double t699 = t698 * t30; + const double t700 = t35 * t153; + const double t703 = t361 * rho; + const double t705 = 0.1e1 / t19 / t703; + const double t709 = -0.63e-2 * t695 * t42 + 0.63e-2 * t699 * t700 - 0.126e-1 * t29 * t705 * t393; + const double t710 = t144 * t709; + const double t711 = t142 * t710; + const double t714 = -0.18666666666666666666e-2 * t28 * t252 + 0.18666666666666666666e-2 * t141 * t690 - 0.93333333333333333332e-3 * t141 * t711; + const double t719 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t677 - t129 * t27 * t356 * t677 / 0.2e1 + t129 * t27 * t132 * t714 / 0.4e1; + const double t720 = piecewise_functor_3( t65, t719, 0.0 ); + const double t723 = t74 * t674; + const double t725 = t178 * t720; + const double t727 = t77 * t674; + const double t729 = t182 * t720; + const double t731 = t80 * t674; + const double t733 = t186 * t720; + const double t735 = t83 * t674; + const double t737 = t190 * t720; + const double t739 = t86 * t674; + const double t741 = t194 * t720; + const double t743 = t89 * t674; + const double t745 = t198 * t720; + const double t747 = t444 * t674; + const double t749 = t202 * t720; + const double t751 = t71 * t674 / 0.6e1 - t124 * t720 / 0.18e2 - t723 / 0.48e2 + t725 / 0.24e3 + t727 / 0.64e3 - t729 / 0.448e4 - t731 / 0.1152e5 + t733 / 0.10368e6 + t735 / 0.258048e6 - t737 / 0.2838528e7 - t739 / 0.688128e7 + t741 / 0.8945664e8 + t743 / 0.21233664e9 - t745 / 0.31850496e10 - t747 / 0.74317824e10 + t749 / 0.1263403008e12; + const double t752 = piecewise_functor_3( t65, 0.0, t719 ); + const double t757 = t278 * t278; + const double t758 = t457 * t757; + const double t774 = t478 * t757; + const double t785 = -0.2e1 * t470 * t757 * t101 + t213 * t752 * t101 / 0.2e1 + t774 * t101 / 0.4e1 - 0.4e1 * t757 * t102 - t99 * t757 * t101 - 0.4e1 * t217 * t752 - t94 * t752 * t101; + const double t788 = -t758 * t101 / 0.2e1 + 0.2e1 * t462 * t757 - t208 * t752 + 0.2e1 * t752 * t105 + 0.4e1 * t278 * t290 + 0.2e1 * t92 * t785; + const double t792 = piecewise_functor_3( t64, t751, -0.8e1 / 0.3e1 * t752 * t108 - 0.16e2 / 0.3e1 * t278 * t293 - 0.8e1 / 0.3e1 * t92 * t788 ); + const double t793 = t19 * t792; + const double t804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t793 * t51 - 0.3e1 / 0.4e1 * t18 * t298 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t714 ); + + + vrho = 0.2e1 * rho * t238 + 0.2e1 * t117; + vsigma = 0.2e1 * rho * t305; + v2rho2 = 0.2e1 * rho * t509 + 0.4e1 * t238; + v2rhosigma = 0.2e1 * rho * t671 + 0.2e1 * t305; + v2sigma2 = 0.2e1 * rho * t804; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + + + eps = t122 + t216; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + + + eps = t122 + t216; + vrho_a = t122 + t216 + t6 * ( t346 + t431 ); + vrho_b = t122 + t216 + t6 * ( t490 + t588 ); + vsigma_aa = t6 * t656; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t722; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t765 = constants::m_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + constexpr double t766 = t765 * t2; + constexpr double t767 = t31 * t31; + constexpr double t768 = 0.1e1 / t767; + constexpr double t769 = t33 * t33; + constexpr double t770 = t768 * t769; + constexpr double t779 = t2 * t768; + constexpr double t1688 = t779 * t769; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + const double t725 = t23 * t23; + const double t726 = 0.1e1 / t725; + const double t727 = t221 * t221; + const double t730 = t217 * t6; + const double t731 = 0.1e1 / t730; + const double t732 = t16 * t731; + const double t735 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t218 + 0.2e1 * t732 ); + const double t739 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t727 + 0.4e1 / 0.3e1 * t23 * t735 ); + const double t740 = t5 * t739; + const double t743 = t225 * t231; + const double t750 = 0.1e1 / t228 / t6; + const double t751 = t750 * t117; + const double t752 = t751 * t55; + const double t754 = t26 * t752 / 0.12e2; + const double t755 = t229 * t337; + const double t756 = t755 * t55; + const double t757 = t26 * t756; + const double t759 = t230 * t268; + const double t760 = t26 * t759; + const double t762 = t282 * t282; + const double t776 = omega / t59 / t766 / t770 / t242 / 0.3e1; + const double t778 = t776 * t66 * t765; + const double t780 = t241 * t241; + const double t781 = 0.1e1 / t780; + const double t782 = t769 * t781; + const double t783 = t268 * t268; + const double t784 = t782 * t783; + const double t789 = t238 * t275 * M_PI; + const double t790 = t242 * t268; + const double t792 = t36 * t790 * t277; + const double t795 = t241 * t55; + const double t796 = 0.1e1 / t795; + const double t797 = t33 * t796; + const double t798 = t797 * t783; + const double t802 = t37 * t37; + const double t804 = 0.1e1 / t39 / t802; + const double t805 = sigma_aa * t804; + const double t813 = 0.1e1 / t251 / t50; + const double t814 = t263 * t263; + const double t815 = t813 * t814; + const double t820 = 0.1e1 / t38 / t244; + const double t826 = sigma_aa * sigma_aa; + const double t829 = 0.1e1 / t38 / t802 / t244; + const double t832 = 0.1e1 / t259 / t258; + const double t835 = 0.784e-1 * t43 * t820 * t47 + 0.168e0 * t805 * t260 - 0.448e-1 * t826 * t829 * t832; + const double t836 = t252 * t835; + const double t840 = 0.9125925925925925926e-2 * t36 * t805 * t51 + 0.49777777777777777778e-2 * t36 * t247 * t264 + 0.18666666666666666666e-2 * t36 * t42 * t815 - 0.93333333333333333332e-3 * t36 * t42 * t836; + const double t841 = t243 * t840; + const double t845 = t19 * t19; + const double t848 = 0.1e1 / t64 / t845 / t217; + const double t849 = t62 * t848; + const double t850 = t277 * t277; + const double t856 = t735 * t6 + 0.2e1 * t221; + const double t860 = 0.9e1 / 0.8e1 * t778 * t779 * t784 - t789 * t792 / 0.6e1 - t240 * t35 * t798 / 0.2e1 + t240 * t35 * t841 / 0.4e1 + 0.2e1 / 0.9e1 * t61 * t849 * t850 - t61 * t275 * t856 / 0.6e1; + const double t861 = piecewise_functor_3( t70, t860, 0.0 ); + const double t889 = 0.1e1 / t93 / t72; + const double t894 = t76 * t762 / 0.6e1 - t235 * t861 / 0.18e2 - t79 * t762 / 0.48e2 + t286 * t861 / 0.24e3 + t82 * t762 / 0.64e3 - t290 * t861 / 0.448e4 - t85 * t762 / 0.1152e5 + t294 * t861 / 0.10368e6 + t88 * t762 / 0.258048e6 - t298 * t861 / 0.2838528e7 - t91 * t762 / 0.688128e7 + t302 * t861 / 0.8945664e8 + t94 * t762 / 0.21233664e9 - t306 * t861 / 0.31850496e10 - t889 * t762 / 0.74317824e10 + t310 * t861 / 0.1263403008e12; + const double t895 = piecewise_functor_3( t70, 0.0, t860 ); + const double t900 = t103 * t103; + const double t902 = 0.1e1 / t900 / t97; + const double t903 = t314 * t314; + const double t904 = t902 * t903; + const double t907 = t106 * t321; + const double t915 = 0.1e1 / t900; + const double t923 = 0.1e1 / t900 / t103; + const double t924 = t923 * t903; + const double t935 = -0.2e1 * t915 * t903 * t106 + t321 * t895 * t106 / 0.2e1 + t924 * t106 / 0.4e1 - 0.4e1 * t903 * t107 - t104 * t903 * t106 - 0.4e1 * t325 * t895 - t99 * t895 * t106; + const double t938 = -t904 * t106 / 0.2e1 + 0.2e1 * t907 * t903 - t316 * t895 + 0.2e1 * t895 * t110 + 0.4e1 * t314 * t330 + 0.2e1 * t97 * t935; + const double t942 = piecewise_functor_3( t69, t894, -0.8e1 / 0.3e1 * t895 * t113 - 0.16e2 / 0.3e1 * t314 * t333 - 0.8e1 / 0.3e1 * t97 * t938 ); + const double t943 = t27 * t942; + const double t944 = t943 * t55; + const double t947 = t338 * t268; + const double t950 = t118 * t840; + const double t954 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t740 * t119 - t743 / 0.4e1 - 0.3e1 / 0.4e1 * t225 * t339 - 0.3e1 / 0.4e1 * t225 * t342 + t754 - t757 / 0.4e1 - t760 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t944 - 0.3e1 / 0.4e1 * t26 * t947 - 0.3e1 / 0.8e1 * t26 * t950 ); + const double t955 = t129 * t129; + const double t956 = 0.1e1 / t955; + const double t957 = t349 * t349; + const double t960 = t124 * t731; + const double t963 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t218 + 0.2e1 * t960 ); + const double t967 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t957 + 0.4e1 / 0.3e1 * t129 * t963 ); + const double t968 = t5 * t967; + const double t971 = t353 * t357; + const double t975 = t750 * t211; + const double t976 = t975 * t151; + const double t978 = t132 * t976 / 0.12e2; + const double t979 = t229 * t425; + const double t980 = t979 * t151; + const double t981 = t132 * t980; + const double t983 = t370 * t370; + const double t986 = t127 * t127; + const double t989 = 0.1e1 / t159 / t986 / t217; + const double t990 = t62 * t989; + const double t991 = t366 * t366; + const double t997 = t963 * t6 + 0.2e1 * t349; + const double t1001 = 0.2e1 / 0.9e1 * t157 * t990 * t991 - t157 * t364 * t997 / 0.6e1; + const double t1002 = piecewise_functor_3( t165, t1001, 0.0 ); + const double t1030 = 0.1e1 / t188 / t167; + const double t1035 = t171 * t983 / 0.6e1 - t361 * t1002 / 0.18e2 - t174 * t983 / 0.48e2 + t374 * t1002 / 0.24e3 + t177 * t983 / 0.64e3 - t378 * t1002 / 0.448e4 - t180 * t983 / 0.1152e5 + t382 * t1002 / 0.10368e6 + t183 * t983 / 0.258048e6 - t386 * t1002 / 0.2838528e7 - t186 * t983 / 0.688128e7 + t390 * t1002 / 0.8945664e8 + t189 * t983 / 0.21233664e9 - t394 * t1002 / 0.31850496e10 - t1030 * t983 / 0.74317824e10 + t398 * t1002 / 0.1263403008e12; + const double t1036 = piecewise_functor_3( t165, 0.0, t1001 ); + const double t1041 = t197 * t197; + const double t1043 = 0.1e1 / t1041 / t192; + const double t1044 = t402 * t402; + const double t1045 = t1043 * t1044; + const double t1048 = t200 * t409; + const double t1056 = 0.1e1 / t1041; + const double t1064 = 0.1e1 / t1041 / t197; + const double t1065 = t1064 * t1044; + const double t1076 = -0.2e1 * t1056 * t1044 * t200 + t409 * t1036 * t200 / 0.2e1 + t1065 * t200 / 0.4e1 - 0.4e1 * t1044 * t201 - t198 * t1044 * t200 - 0.4e1 * t413 * t1036 - t193 * t1036 * t200; + const double t1079 = -t1045 * t200 / 0.2e1 + 0.2e1 * t1048 * t1044 - t404 * t1036 + 0.2e1 * t1036 * t204 + 0.4e1 * t402 * t418 + 0.2e1 * t192 * t1076; + const double t1083 = piecewise_functor_3( t164, t1035, -0.8e1 / 0.3e1 * t1036 * t207 - 0.16e2 / 0.3e1 * t402 * t421 - 0.8e1 / 0.3e1 * t192 * t1079 ); + const double t1084 = t27 * t1083; + const double t1085 = t1084 * t151; + const double t1089 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t968 * t213 - t971 / 0.4e1 - 0.3e1 / 0.4e1 * t353 * t427 + t978 - t981 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1085 ); + const double t1104 = t439 * t231; + const double t1115 = t229 * t484; + const double t1116 = t1115 * t55; + const double t1117 = t26 * t1116; + const double t1181 = t902 * t314; + const double t1196 = t106 * t314; + const double t1205 = t314 * t107; + const double t1208 = t104 * t314; + const double t1243 = t496 * t357; + const double t1251 = t229 * t579; + const double t1252 = t1251 * t151; + const double t1253 = t132 * t1252; + const double t1259 = t501 * t364 * M_PI; + const double t1260 = t505 * t531; + const double t1320 = t200 * t560; + const double t1366 = t356 * t531; + const double t1367 = t132 * t1366; + const double t1378 = t435 * t435; + const double t1383 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t218 + 0.2e1 * t732 ); + const double t1387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t1378 + 0.4e1 / 0.3e1 * t23 * t1383 ); + const double t1388 = t5 * t1387; + const double t1395 = t447 * t447; + const double t1398 = t443 * t443; + const double t1399 = t849 * t1398; + const double t1404 = t1383 * t6 + 0.2e1 * t435; + const double t1405 = t275 * t1404; + const double t1408 = 0.2e1 / 0.9e1 * t61 * t1399 - t61 * t1405 / 0.6e1; + const double t1409 = piecewise_functor_3( t70, t1408, 0.0 ); + const double t1412 = t79 * t1395; + const double t1414 = t286 * t1409; + const double t1416 = t82 * t1395; + const double t1418 = t290 * t1409; + const double t1420 = t85 * t1395; + const double t1422 = t294 * t1409; + const double t1424 = t88 * t1395; + const double t1426 = t298 * t1409; + const double t1428 = t91 * t1395; + const double t1430 = t302 * t1409; + const double t1432 = t94 * t1395; + const double t1434 = t306 * t1409; + const double t1436 = t889 * t1395; + const double t1438 = t310 * t1409; + const double t1440 = t76 * t1395 / 0.6e1 - t235 * t1409 / 0.18e2 - t1412 / 0.48e2 + t1414 / 0.24e3 + t1416 / 0.64e3 - t1418 / 0.448e4 - t1420 / 0.1152e5 + t1422 / 0.10368e6 + t1424 / 0.258048e6 - t1426 / 0.2838528e7 - t1428 / 0.688128e7 + t1430 / 0.8945664e8 + t1432 / 0.21233664e9 - t1434 / 0.31850496e10 - t1436 / 0.74317824e10 + t1438 / 0.1263403008e12; + const double t1441 = piecewise_functor_3( t70, 0.0, t1408 ); + const double t1446 = t465 * t465; + const double t1447 = t902 * t1446; + const double t1463 = t923 * t1446; + const double t1474 = -0.2e1 * t915 * t1446 * t106 + t321 * t1441 * t106 / 0.2e1 + t1463 * t106 / 0.4e1 - 0.4e1 * t1446 * t107 - t104 * t1446 * t106 - 0.4e1 * t325 * t1441 - t99 * t1441 * t106; + const double t1477 = -t1447 * t106 / 0.2e1 + 0.2e1 * t907 * t1446 - t316 * t1441 + 0.2e1 * t1441 * t110 + 0.4e1 * t465 * t477 + 0.2e1 * t97 * t1474; + const double t1481 = piecewise_functor_3( t69, t1440, -0.8e1 / 0.3e1 * t1441 * t113 - 0.16e2 / 0.3e1 * t465 * t480 - 0.8e1 / 0.3e1 * t97 * t1477 ); + const double t1482 = t27 * t1481; + const double t1483 = t1482 * t55; + const double t1487 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t1388 * t119 - t1104 / 0.4e1 - 0.3e1 / 0.4e1 * t439 * t486 + t754 - t1117 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t1483 ); + const double t1488 = t492 * t492; + const double t1493 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t218 + 0.2e1 * t960 ); + const double t1497 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t1488 + 0.4e1 / 0.3e1 * t129 * t1493 ); + const double t1498 = t5 * t1497; + const double t1508 = t542 * t542; + const double t1516 = omega / t155 / t766 / t770 / t505 / 0.3e1; + const double t1518 = t1516 * t161 * t765; + const double t1519 = t504 * t504; + const double t1520 = 0.1e1 / t1519; + const double t1521 = t769 * t1520; + const double t1522 = t531 * t531; + const double t1531 = t504 * t151; + const double t1532 = 0.1e1 / t1531; + const double t1533 = t33 * t1532; + const double t1538 = t133 * t133; + const double t1540 = 0.1e1 / t135 / t1538; + const double t1541 = sigma_bb * t1540; + const double t1549 = 0.1e1 / t514 / t146; + const double t1550 = t526 * t526; + const double t1551 = t1549 * t1550; + const double t1556 = 0.1e1 / t134 / t507; + const double t1562 = sigma_bb * sigma_bb; + const double t1565 = 0.1e1 / t134 / t1538 / t507; + const double t1568 = 0.1e1 / t522 / t521; + const double t1571 = 0.784e-1 * t139 * t1556 * t143 + 0.168e0 * t1541 * t523 - 0.448e-1 * t1562 * t1565 * t1568; + const double t1572 = t515 * t1571; + const double t1576 = 0.9125925925925925926e-2 * t36 * t1541 * t147 + 0.49777777777777777778e-2 * t36 * t510 * t527 + 0.18666666666666666666e-2 * t36 * t138 * t1551 - 0.93333333333333333332e-3 * t36 * t138 * t1572; + const double t1581 = t537 * t537; + const double t1587 = t1493 * t6 + 0.2e1 * t492; + const double t1591 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t1522 - t1259 * t36 * t1260 * t537 / 0.6e1 - t503 * t35 * t1533 * t1522 / 0.2e1 + t503 * t35 * t506 * t1576 / 0.4e1 + 0.2e1 / 0.9e1 * t157 * t990 * t1581 - t157 * t364 * t1587 / 0.6e1; + const double t1592 = piecewise_functor_3( t165, t1591, 0.0 ); + const double t1595 = t174 * t1508; + const double t1597 = t374 * t1592; + const double t1599 = t177 * t1508; + const double t1601 = t378 * t1592; + const double t1603 = t180 * t1508; + const double t1605 = t382 * t1592; + const double t1607 = t183 * t1508; + const double t1609 = t386 * t1592; + const double t1611 = t186 * t1508; + const double t1613 = t390 * t1592; + const double t1615 = t189 * t1508; + const double t1617 = t394 * t1592; + const double t1619 = t1030 * t1508; + const double t1621 = t398 * t1592; + const double t1623 = t171 * t1508 / 0.6e1 - t361 * t1592 / 0.18e2 - t1595 / 0.48e2 + t1597 / 0.24e3 + t1599 / 0.64e3 - t1601 / 0.448e4 - t1603 / 0.1152e5 + t1605 / 0.10368e6 + t1607 / 0.258048e6 - t1609 / 0.2838528e7 - t1611 / 0.688128e7 + t1613 / 0.8945664e8 + t1615 / 0.21233664e9 - t1617 / 0.31850496e10 - t1619 / 0.74317824e10 + t1621 / 0.1263403008e12; + const double t1624 = piecewise_functor_3( t165, 0.0, t1591 ); + const double t1629 = t560 * t560; + const double t1630 = t1043 * t1629; + const double t1646 = t1064 * t1629; + const double t1657 = -0.2e1 * t1056 * t1629 * t200 + t409 * t1624 * t200 / 0.2e1 + t1646 * t200 / 0.4e1 - 0.4e1 * t1629 * t201 - t198 * t1629 * t200 - 0.4e1 * t413 * t1624 - t193 * t1624 * t200; + const double t1660 = -t1630 * t200 / 0.2e1 + 0.2e1 * t1048 * t1629 - t404 * t1624 + 0.2e1 * t1624 * t204 + 0.4e1 * t560 * t572 + 0.2e1 * t192 * t1657; + const double t1664 = piecewise_functor_3( t164, t1623, -0.8e1 / 0.3e1 * t1624 * t207 - 0.16e2 / 0.3e1 * t560 * t575 - 0.8e1 / 0.3e1 * t192 * t1660 ); + const double t1665 = t27 * t1664; + const double t1666 = t1665 * t151; + const double t1669 = t580 * t531; + const double t1672 = t212 * t1576; + const double t1676 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t1498 * t213 - t1243 / 0.4e1 - 0.3e1 / 0.4e1 * t496 * t581 - 0.3e1 / 0.4e1 * t496 * t584 + t978 - t1253 / 0.4e1 - t1367 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1666 - 0.3e1 / 0.4e1 * t132 * t1669 - 0.3e1 / 0.8e1 * t132 * t1672 ); + const double t1681 = t229 * t648; + const double t1682 = t1681 * t55; + const double t1684 = t26 * t1682 / 0.8e1; + const double t1685 = t76 * t611; + const double t1689 = t781 * t606; + const double t1694 = t242 * t606; + const double t1699 = t796 * t606; + const double t1708 = t41 * t252; + const double t1716 = t35 * t33 * sigma_aa; + const double t1717 = t41 * t813; + const double t1718 = t601 * t263; + const double t1719 = t1717 * t1718; + const double t1727 = t802 * t37; + const double t1729 = 0.1e1 / t38 / t1727; + const double t1730 = t1729 * t832; + const double t1733 = -0.168e-1 * t595 * t254 * t47 - 0.504e-1 * t246 * t260 + 0.168e-1 * t1730 * sigma_aa; + const double t1734 = t252 * t1733; + const double t1738 = -0.24888888888888888889e-2 * t35 * t33 * t246 * t51 - 0.93333333333333333332e-3 * t36 * t1708 * t263 + 0.24888888888888888889e-2 * t36 * t247 * t602 + 0.18666666666666666666e-2 * t1716 * t1719 - 0.93333333333333333332e-3 * t36 * t42 * t1734; + const double t1743 = 0.9e1 / 0.8e1 * t778 * t1688 * t1689 * t268 - t789 * t36 * t1694 * t277 / 0.12e2 - t240 * t36 * t1699 * t268 / 0.2e1 + t240 * t35 * t243 * t1738 / 0.4e1; + const double t1744 = piecewise_functor_3( t70, t1743, 0.0 ); + const double t1747 = t79 * t611; + const double t1750 = t286 * t1744; + const double t1752 = t82 * t611; + const double t1755 = t290 * t1744; + const double t1757 = t85 * t611; + const double t1760 = t294 * t1744; + const double t1762 = t88 * t611; + const double t1765 = t298 * t1744; + const double t1767 = t91 * t611; + const double t1770 = t302 * t1744; + const double t1772 = t94 * t611; + const double t1775 = t306 * t1744; + const double t1777 = t889 * t611; + const double t1780 = t310 * t1744; + const double t1782 = t1685 * t282 / 0.6e1 - t235 * t1744 / 0.18e2 - t1747 * t282 / 0.48e2 + t1750 / 0.24e3 + t1752 * t282 / 0.64e3 - t1755 / 0.448e4 - t1757 * t282 / 0.1152e5 + t1760 / 0.10368e6 + t1762 * t282 / 0.258048e6 - t1765 / 0.2838528e7 - t1767 * t282 / 0.688128e7 + t1770 / 0.8945664e8 + t1772 * t282 / 0.21233664e9 - t1775 / 0.31850496e10 - t1777 * t282 / 0.74317824e10 + t1780 / 0.1263403008e12; + const double t1783 = piecewise_functor_3( t70, 0.0, t1743 ); + const double t1787 = t106 * t629; + const double t1790 = t629 * t314; + const double t1800 = t915 * t629; + const double t1806 = t923 * t629; + const double t1816 = -0.2e1 * t1800 * t1196 + t321 * t1783 * t106 / 0.2e1 + t1806 * t1196 / 0.4e1 - 0.4e1 * t1205 * t629 - t1208 * t1787 - 0.4e1 * t325 * t1783 - t99 * t1783 * t106; + const double t1819 = -t1181 * t1787 / 0.2e1 + 0.2e1 * t907 * t1790 - t316 * t1783 + 0.2e1 * t1783 * t110 + 0.2e1 * t629 * t330 + 0.2e1 * t314 * t641 + 0.2e1 * t97 * t1816; + const double t1823 = piecewise_functor_3( t69, t1782, -0.8e1 / 0.3e1 * t1783 * t113 - 0.8e1 / 0.3e1 * t97 * t1819 - 0.8e1 / 0.3e1 * t314 * t644 - 0.8e1 / 0.3e1 * t629 * t333 ); + const double t1824 = t27 * t1823; + const double t1825 = t1824 * t55; + const double t1828 = t649 * t268; + const double t1833 = t230 * t606; + const double t1835 = t26 * t1833 / 0.8e1; + const double t1836 = t338 * t606; + const double t1839 = t118 * t1738; + const double t1843 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t650 - t1684 - 0.3e1 / 0.8e1 * t26 * t1825 - 0.3e1 / 0.8e1 * t26 * t1828 - 0.3e1 / 0.8e1 * t225 * t652 - t1835 - 0.3e1 / 0.8e1 * t26 * t1836 - 0.3e1 / 0.8e1 * t26 * t1839 ); + const double t1847 = t229 * t714; + const double t1848 = t1847 * t151; + const double t1850 = t132 * t1848 / 0.8e1; + const double t1851 = t171 * t677; + const double t1854 = t505 * t672; + const double t1862 = t174 * t677; + const double t1867 = t177 * t677; + const double t1872 = t180 * t677; + const double t1877 = t183 * t677; + const double t1882 = t186 * t677; + const double t1887 = t189 * t677; + const double t1892 = t1030 * t677; + const double t1902 = t200 * t695; + const double t1915 = t1056 * t695; + const double t1921 = t1064 * t695; + const double t1945 = t356 * t672; + const double t1947 = t132 * t1945 / 0.8e1; + const double t2051 = t1520 * t672; + const double t2060 = t1532 * t672; + const double t2069 = t137 * t515; + const double t2077 = t35 * t33 * sigma_bb; + const double t2078 = t137 * t1549; + const double t2079 = t667 * t526; + const double t2080 = t2078 * t2079; + const double t2088 = t1538 * t133; + const double t2090 = 0.1e1 / t134 / t2088; + const double t2091 = t2090 * t1568; + const double t2094 = -0.168e-1 * t661 * t517 * t143 - 0.504e-1 * t509 * t523 + 0.168e-1 * t2091 * sigma_bb; + const double t2095 = t515 * t2094; + const double t2099 = -0.24888888888888888889e-2 * t35 * t33 * t509 * t147 - 0.93333333333333333332e-3 * t36 * t2069 * t526 + 0.24888888888888888889e-2 * t36 * t510 * t668 + 0.18666666666666666666e-2 * t2077 * t2080 - 0.93333333333333333332e-3 * t36 * t138 * t2095; + const double t2104 = 0.9e1 / 0.8e1 * t1518 * t1688 * t2051 * t531 - t1259 * t36 * t1854 * t537 / 0.12e2 - t503 * t36 * t2060 * t531 / 0.2e1 + t503 * t35 * t506 * t2099 / 0.4e1; + const double t2105 = piecewise_functor_3( t165, t2104, 0.0 ); + const double t2110 = t374 * t2105; + const double t2114 = t378 * t2105; + const double t2118 = t382 * t2105; + const double t2122 = t386 * t2105; + const double t2126 = t390 * t2105; + const double t2130 = t394 * t2105; + const double t2134 = t398 * t2105; + const double t2136 = t1851 * t542 / 0.6e1 - t361 * t2105 / 0.18e2 - t1862 * t542 / 0.48e2 + t2110 / 0.24e3 + t1867 * t542 / 0.64e3 - t2114 / 0.448e4 - t1872 * t542 / 0.1152e5 + t2118 / 0.10368e6 + t1877 * t542 / 0.258048e6 - t2122 / 0.2838528e7 - t1882 * t542 / 0.688128e7 + t2126 / 0.8945664e8 + t1887 * t542 / 0.21233664e9 - t2130 / 0.31850496e10 - t1892 * t542 / 0.74317824e10 + t2134 / 0.1263403008e12; + const double t2137 = piecewise_functor_3( t165, 0.0, t2104 ); + const double t2141 = t1043 * t560; + const double t2144 = t695 * t560; + const double t2161 = t560 * t201; + const double t2164 = t198 * t560; + const double t2170 = -0.2e1 * t1915 * t1320 + t409 * t2137 * t200 / 0.2e1 + t1921 * t1320 / 0.4e1 - 0.4e1 * t2161 * t695 - t2164 * t1902 - 0.4e1 * t413 * t2137 - t193 * t2137 * t200; + const double t2173 = -t2141 * t1902 / 0.2e1 + 0.2e1 * t1048 * t2144 - t404 * t2137 + 0.2e1 * t2137 * t204 + 0.2e1 * t695 * t572 + 0.2e1 * t560 * t707 + 0.2e1 * t192 * t2170; + const double t2177 = piecewise_functor_3( t164, t2136, -0.8e1 / 0.3e1 * t192 * t2173 - 0.8e1 / 0.3e1 * t2137 * t207 - 0.8e1 / 0.3e1 * t560 * t710 - 0.8e1 / 0.3e1 * t695 * t575 ); + const double t2178 = t27 * t2177; + const double t2179 = t2178 * t151; + const double t2182 = t715 * t531; + const double t2187 = t580 * t672; + const double t2190 = t212 * t2099; + const double t2194 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t716 - t1850 - 0.3e1 / 0.8e1 * t132 * t2179 - 0.3e1 / 0.8e1 * t132 * t2182 - 0.3e1 / 0.8e1 * t496 * t718 - t1947 - 0.3e1 / 0.8e1 * t132 * t2187 - 0.3e1 / 0.8e1 * t132 * t2190 ); + const double t2196 = t611 * t611; + const double t2199 = t606 * t606; + const double t2211 = t601 * t601; + const double t2212 = t813 * t2211; + const double t2217 = 0.1e1 / t43 / sigma_aa; + const double t2221 = 0.1e1 / sigma_aa; + const double t2225 = t802 * rho_a; + const double t2227 = 0.1e1 / t38 / t2225; + const double t2230 = -0.63e-2 * t2217 * t45 * t47 + 0.63e-2 * t2221 * t41 * t260 - 0.63e-2 * t2227 * t832; + const double t2231 = t252 * t2230; + const double t2235 = -0.18666666666666666666e-2 * t36 * t1708 * t601 + 0.18666666666666666666e-2 * t36 * t42 * t2212 - 0.93333333333333333332e-3 * t36 * t42 * t2231; + const double t2240 = 0.9e1 / 0.8e1 * t778 * t779 * t782 * t2199 - t240 * t35 * t797 * t2199 / 0.2e1 + t240 * t35 * t243 * t2235 / 0.4e1; + const double t2241 = piecewise_functor_3( t70, t2240, 0.0 ); + const double t2244 = t79 * t2196; + const double t2246 = t286 * t2241; + const double t2248 = t82 * t2196; + const double t2250 = t290 * t2241; + const double t2252 = t85 * t2196; + const double t2254 = t294 * t2241; + const double t2256 = t88 * t2196; + const double t2258 = t298 * t2241; + const double t2260 = t91 * t2196; + const double t2262 = t302 * t2241; + const double t2264 = t94 * t2196; + const double t2266 = t306 * t2241; + const double t2268 = t889 * t2196; + const double t2270 = t310 * t2241; + const double t2272 = t76 * t2196 / 0.6e1 - t235 * t2241 / 0.18e2 - t2244 / 0.48e2 + t2246 / 0.24e3 + t2248 / 0.64e3 - t2250 / 0.448e4 - t2252 / 0.1152e5 + t2254 / 0.10368e6 + t2256 / 0.258048e6 - t2258 / 0.2838528e7 - t2260 / 0.688128e7 + t2262 / 0.8945664e8 + t2264 / 0.21233664e9 - t2266 / 0.31850496e10 - t2268 / 0.74317824e10 + t2270 / 0.1263403008e12; + const double t2273 = piecewise_functor_3( t70, 0.0, t2240 ); + const double t2278 = t629 * t629; + const double t2279 = t902 * t2278; + const double t2295 = t923 * t2278; + const double t2306 = -0.2e1 * t915 * t2278 * t106 + t321 * t2273 * t106 / 0.2e1 + t2295 * t106 / 0.4e1 - 0.4e1 * t2278 * t107 - t104 * t2278 * t106 - 0.4e1 * t325 * t2273 - t99 * t2273 * t106; + const double t2309 = -t2279 * t106 / 0.2e1 + 0.2e1 * t907 * t2278 - t316 * t2273 + 0.2e1 * t2273 * t110 + 0.4e1 * t629 * t641 + 0.2e1 * t97 * t2306; + const double t2313 = piecewise_functor_3( t69, t2272, -0.8e1 / 0.3e1 * t2273 * t113 - 0.16e2 / 0.3e1 * t629 * t644 - 0.8e1 / 0.3e1 * t97 * t2309 ); + const double t2314 = t27 * t2313; + const double t2315 = t2314 * t55; + const double t2318 = t649 * t606; + const double t2321 = t118 * t2235; + const double t2325 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t2315 - 0.3e1 / 0.4e1 * t26 * t2318 - 0.3e1 / 0.8e1 * t26 * t2321 ); + const double t2326 = t677 * t677; + const double t2329 = t672 * t672; + const double t2341 = t667 * t667; + const double t2342 = t1549 * t2341; + const double t2347 = 0.1e1 / t139 / sigma_bb; + const double t2351 = 0.1e1 / sigma_bb; + const double t2355 = t1538 * rho_b; + const double t2357 = 0.1e1 / t134 / t2355; + const double t2360 = -0.63e-2 * t2347 * t141 * t143 + 0.63e-2 * t2351 * t137 * t523 - 0.63e-2 * t2357 * t1568; + const double t2361 = t515 * t2360; + const double t2365 = -0.18666666666666666666e-2 * t36 * t2069 * t667 + 0.18666666666666666666e-2 * t36 * t138 * t2342 - 0.93333333333333333332e-3 * t36 * t138 * t2361; + const double t2370 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t2329 - t503 * t35 * t1533 * t2329 / 0.2e1 + t503 * t35 * t506 * t2365 / 0.4e1; + const double t2371 = piecewise_functor_3( t165, t2370, 0.0 ); + const double t2374 = t174 * t2326; + const double t2376 = t374 * t2371; + const double t2378 = t177 * t2326; + const double t2380 = t378 * t2371; + const double t2382 = t180 * t2326; + const double t2384 = t382 * t2371; + const double t2386 = t183 * t2326; + const double t2388 = t386 * t2371; + const double t2390 = t186 * t2326; + const double t2392 = t390 * t2371; + const double t2394 = t189 * t2326; + const double t2396 = t394 * t2371; + const double t2398 = t1030 * t2326; + const double t2400 = t398 * t2371; + const double t2402 = t171 * t2326 / 0.6e1 - t361 * t2371 / 0.18e2 - t2374 / 0.48e2 + t2376 / 0.24e3 + t2378 / 0.64e3 - t2380 / 0.448e4 - t2382 / 0.1152e5 + t2384 / 0.10368e6 + t2386 / 0.258048e6 - t2388 / 0.2838528e7 - t2390 / 0.688128e7 + t2392 / 0.8945664e8 + t2394 / 0.21233664e9 - t2396 / 0.31850496e10 - t2398 / 0.74317824e10 + t2400 / 0.1263403008e12; + const double t2403 = piecewise_functor_3( t165, 0.0, t2370 ); + const double t2408 = t695 * t695; + const double t2409 = t1043 * t2408; + const double t2425 = t1064 * t2408; + const double t2436 = -0.2e1 * t1056 * t2408 * t200 + t409 * t2403 * t200 / 0.2e1 + t2425 * t200 / 0.4e1 - 0.4e1 * t2408 * t201 - t198 * t2408 * t200 - 0.4e1 * t413 * t2403 - t193 * t2403 * t200; + const double t2439 = -t2409 * t200 / 0.2e1 + 0.2e1 * t1048 * t2408 - t404 * t2403 + 0.2e1 * t2403 * t204 + 0.4e1 * t695 * t707 + 0.2e1 * t192 * t2436; + const double t2443 = piecewise_functor_3( t164, t2402, -0.8e1 / 0.3e1 * t2403 * t207 - 0.16e2 / 0.3e1 * t695 * t710 - 0.8e1 / 0.3e1 * t192 * t2439 ); + const double t2444 = t27 * t2443; + const double t2445 = t2444 * t151; + const double t2448 = t715 * t672; + const double t2451 = t212 * t2365; + const double t2455 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t2445 - 0.3e1 / 0.4e1 * t132 * t2448 - 0.3e1 / 0.8e1 * t132 * t2451 ); + + + v2rho2_aa = 0.2e1 * t346 + 0.2e1 * t431 + t6 * ( t954 + t1089 ); + v2rho2_bb = 0.2e1 * t490 + 0.2e1 * t588 + t6 * ( t1487 + t1676 ); + v2rhosigma_a_aa = t6 * t1843 + t656; + v2rhosigma_b_bb = t6 * t2194 + t722; + v2sigma2_aa_aa = t6 * t2325; + v2sigma2_bb_bb = t6 * t2455; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t765 = constants::m_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + constexpr double t766 = t765 * t2; + constexpr double t767 = t31 * t31; + constexpr double t768 = 0.1e1 / t767; + constexpr double t769 = t33 * t33; + constexpr double t770 = t768 * t769; + constexpr double t779 = t2 * t768; + constexpr double t1688 = t779 * t769; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + const double t725 = t23 * t23; + const double t726 = 0.1e1 / t725; + const double t727 = t221 * t221; + const double t730 = t217 * t6; + const double t731 = 0.1e1 / t730; + const double t732 = t16 * t731; + const double t735 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t218 + 0.2e1 * t732 ); + const double t739 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t727 + 0.4e1 / 0.3e1 * t23 * t735 ); + const double t740 = t5 * t739; + const double t743 = t225 * t231; + const double t750 = 0.1e1 / t228 / t6; + const double t751 = t750 * t117; + const double t752 = t751 * t55; + const double t754 = t26 * t752 / 0.12e2; + const double t755 = t229 * t337; + const double t756 = t755 * t55; + const double t757 = t26 * t756; + const double t759 = t230 * t268; + const double t760 = t26 * t759; + const double t762 = t282 * t282; + const double t776 = omega / t59 / t766 / t770 / t242 / 0.3e1; + const double t778 = t776 * t66 * t765; + const double t780 = t241 * t241; + const double t781 = 0.1e1 / t780; + const double t782 = t769 * t781; + const double t783 = t268 * t268; + const double t784 = t782 * t783; + const double t789 = t238 * t275 * M_PI; + const double t790 = t242 * t268; + const double t792 = t36 * t790 * t277; + const double t795 = t241 * t55; + const double t796 = 0.1e1 / t795; + const double t797 = t33 * t796; + const double t798 = t797 * t783; + const double t802 = t37 * t37; + const double t804 = 0.1e1 / t39 / t802; + const double t805 = sigma_aa * t804; + const double t813 = 0.1e1 / t251 / t50; + const double t814 = t263 * t263; + const double t815 = t813 * t814; + const double t820 = 0.1e1 / t38 / t244; + const double t826 = sigma_aa * sigma_aa; + const double t829 = 0.1e1 / t38 / t802 / t244; + const double t832 = 0.1e1 / t259 / t258; + const double t835 = 0.784e-1 * t43 * t820 * t47 + 0.168e0 * t805 * t260 - 0.448e-1 * t826 * t829 * t832; + const double t836 = t252 * t835; + const double t840 = 0.9125925925925925926e-2 * t36 * t805 * t51 + 0.49777777777777777778e-2 * t36 * t247 * t264 + 0.18666666666666666666e-2 * t36 * t42 * t815 - 0.93333333333333333332e-3 * t36 * t42 * t836; + const double t841 = t243 * t840; + const double t845 = t19 * t19; + const double t848 = 0.1e1 / t64 / t845 / t217; + const double t849 = t62 * t848; + const double t850 = t277 * t277; + const double t856 = t735 * t6 + 0.2e1 * t221; + const double t860 = 0.9e1 / 0.8e1 * t778 * t779 * t784 - t789 * t792 / 0.6e1 - t240 * t35 * t798 / 0.2e1 + t240 * t35 * t841 / 0.4e1 + 0.2e1 / 0.9e1 * t61 * t849 * t850 - t61 * t275 * t856 / 0.6e1; + const double t861 = piecewise_functor_3( t70, t860, 0.0 ); + const double t889 = 0.1e1 / t93 / t72; + const double t894 = t76 * t762 / 0.6e1 - t235 * t861 / 0.18e2 - t79 * t762 / 0.48e2 + t286 * t861 / 0.24e3 + t82 * t762 / 0.64e3 - t290 * t861 / 0.448e4 - t85 * t762 / 0.1152e5 + t294 * t861 / 0.10368e6 + t88 * t762 / 0.258048e6 - t298 * t861 / 0.2838528e7 - t91 * t762 / 0.688128e7 + t302 * t861 / 0.8945664e8 + t94 * t762 / 0.21233664e9 - t306 * t861 / 0.31850496e10 - t889 * t762 / 0.74317824e10 + t310 * t861 / 0.1263403008e12; + const double t895 = piecewise_functor_3( t70, 0.0, t860 ); + const double t900 = t103 * t103; + const double t902 = 0.1e1 / t900 / t97; + const double t903 = t314 * t314; + const double t904 = t902 * t903; + const double t907 = t106 * t321; + const double t915 = 0.1e1 / t900; + const double t923 = 0.1e1 / t900 / t103; + const double t924 = t923 * t903; + const double t935 = -0.2e1 * t915 * t903 * t106 + t321 * t895 * t106 / 0.2e1 + t924 * t106 / 0.4e1 - 0.4e1 * t903 * t107 - t104 * t903 * t106 - 0.4e1 * t325 * t895 - t99 * t895 * t106; + const double t938 = -t904 * t106 / 0.2e1 + 0.2e1 * t907 * t903 - t316 * t895 + 0.2e1 * t895 * t110 + 0.4e1 * t314 * t330 + 0.2e1 * t97 * t935; + const double t942 = piecewise_functor_3( t69, t894, -0.8e1 / 0.3e1 * t895 * t113 - 0.16e2 / 0.3e1 * t314 * t333 - 0.8e1 / 0.3e1 * t97 * t938 ); + const double t943 = t27 * t942; + const double t944 = t943 * t55; + const double t947 = t338 * t268; + const double t950 = t118 * t840; + const double t954 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t740 * t119 - t743 / 0.4e1 - 0.3e1 / 0.4e1 * t225 * t339 - 0.3e1 / 0.4e1 * t225 * t342 + t754 - t757 / 0.4e1 - t760 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t944 - 0.3e1 / 0.4e1 * t26 * t947 - 0.3e1 / 0.8e1 * t26 * t950 ); + const double t955 = t129 * t129; + const double t956 = 0.1e1 / t955; + const double t957 = t349 * t349; + const double t960 = t124 * t731; + const double t963 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t218 + 0.2e1 * t960 ); + const double t967 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t957 + 0.4e1 / 0.3e1 * t129 * t963 ); + const double t968 = t5 * t967; + const double t971 = t353 * t357; + const double t975 = t750 * t211; + const double t976 = t975 * t151; + const double t978 = t132 * t976 / 0.12e2; + const double t979 = t229 * t425; + const double t980 = t979 * t151; + const double t981 = t132 * t980; + const double t983 = t370 * t370; + const double t986 = t127 * t127; + const double t989 = 0.1e1 / t159 / t986 / t217; + const double t990 = t62 * t989; + const double t991 = t366 * t366; + const double t997 = t963 * t6 + 0.2e1 * t349; + const double t1001 = 0.2e1 / 0.9e1 * t157 * t990 * t991 - t157 * t364 * t997 / 0.6e1; + const double t1002 = piecewise_functor_3( t165, t1001, 0.0 ); + const double t1030 = 0.1e1 / t188 / t167; + const double t1035 = t171 * t983 / 0.6e1 - t361 * t1002 / 0.18e2 - t174 * t983 / 0.48e2 + t374 * t1002 / 0.24e3 + t177 * t983 / 0.64e3 - t378 * t1002 / 0.448e4 - t180 * t983 / 0.1152e5 + t382 * t1002 / 0.10368e6 + t183 * t983 / 0.258048e6 - t386 * t1002 / 0.2838528e7 - t186 * t983 / 0.688128e7 + t390 * t1002 / 0.8945664e8 + t189 * t983 / 0.21233664e9 - t394 * t1002 / 0.31850496e10 - t1030 * t983 / 0.74317824e10 + t398 * t1002 / 0.1263403008e12; + const double t1036 = piecewise_functor_3( t165, 0.0, t1001 ); + const double t1041 = t197 * t197; + const double t1043 = 0.1e1 / t1041 / t192; + const double t1044 = t402 * t402; + const double t1045 = t1043 * t1044; + const double t1048 = t200 * t409; + const double t1056 = 0.1e1 / t1041; + const double t1064 = 0.1e1 / t1041 / t197; + const double t1065 = t1064 * t1044; + const double t1076 = -0.2e1 * t1056 * t1044 * t200 + t409 * t1036 * t200 / 0.2e1 + t1065 * t200 / 0.4e1 - 0.4e1 * t1044 * t201 - t198 * t1044 * t200 - 0.4e1 * t413 * t1036 - t193 * t1036 * t200; + const double t1079 = -t1045 * t200 / 0.2e1 + 0.2e1 * t1048 * t1044 - t404 * t1036 + 0.2e1 * t1036 * t204 + 0.4e1 * t402 * t418 + 0.2e1 * t192 * t1076; + const double t1083 = piecewise_functor_3( t164, t1035, -0.8e1 / 0.3e1 * t1036 * t207 - 0.16e2 / 0.3e1 * t402 * t421 - 0.8e1 / 0.3e1 * t192 * t1079 ); + const double t1084 = t27 * t1083; + const double t1085 = t1084 * t151; + const double t1089 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t968 * t213 - t971 / 0.4e1 - 0.3e1 / 0.4e1 * t353 * t427 + t978 - t981 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1085 ); + const double t1104 = t439 * t231; + const double t1115 = t229 * t484; + const double t1116 = t1115 * t55; + const double t1117 = t26 * t1116; + const double t1181 = t902 * t314; + const double t1196 = t106 * t314; + const double t1205 = t314 * t107; + const double t1208 = t104 * t314; + const double t1243 = t496 * t357; + const double t1251 = t229 * t579; + const double t1252 = t1251 * t151; + const double t1253 = t132 * t1252; + const double t1259 = t501 * t364 * M_PI; + const double t1260 = t505 * t531; + const double t1320 = t200 * t560; + const double t1366 = t356 * t531; + const double t1367 = t132 * t1366; + const double t1378 = t435 * t435; + const double t1383 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t218 + 0.2e1 * t732 ); + const double t1387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t1378 + 0.4e1 / 0.3e1 * t23 * t1383 ); + const double t1388 = t5 * t1387; + const double t1395 = t447 * t447; + const double t1398 = t443 * t443; + const double t1399 = t849 * t1398; + const double t1404 = t1383 * t6 + 0.2e1 * t435; + const double t1405 = t275 * t1404; + const double t1408 = 0.2e1 / 0.9e1 * t61 * t1399 - t61 * t1405 / 0.6e1; + const double t1409 = piecewise_functor_3( t70, t1408, 0.0 ); + const double t1412 = t79 * t1395; + const double t1414 = t286 * t1409; + const double t1416 = t82 * t1395; + const double t1418 = t290 * t1409; + const double t1420 = t85 * t1395; + const double t1422 = t294 * t1409; + const double t1424 = t88 * t1395; + const double t1426 = t298 * t1409; + const double t1428 = t91 * t1395; + const double t1430 = t302 * t1409; + const double t1432 = t94 * t1395; + const double t1434 = t306 * t1409; + const double t1436 = t889 * t1395; + const double t1438 = t310 * t1409; + const double t1440 = t76 * t1395 / 0.6e1 - t235 * t1409 / 0.18e2 - t1412 / 0.48e2 + t1414 / 0.24e3 + t1416 / 0.64e3 - t1418 / 0.448e4 - t1420 / 0.1152e5 + t1422 / 0.10368e6 + t1424 / 0.258048e6 - t1426 / 0.2838528e7 - t1428 / 0.688128e7 + t1430 / 0.8945664e8 + t1432 / 0.21233664e9 - t1434 / 0.31850496e10 - t1436 / 0.74317824e10 + t1438 / 0.1263403008e12; + const double t1441 = piecewise_functor_3( t70, 0.0, t1408 ); + const double t1446 = t465 * t465; + const double t1447 = t902 * t1446; + const double t1463 = t923 * t1446; + const double t1474 = -0.2e1 * t915 * t1446 * t106 + t321 * t1441 * t106 / 0.2e1 + t1463 * t106 / 0.4e1 - 0.4e1 * t1446 * t107 - t104 * t1446 * t106 - 0.4e1 * t325 * t1441 - t99 * t1441 * t106; + const double t1477 = -t1447 * t106 / 0.2e1 + 0.2e1 * t907 * t1446 - t316 * t1441 + 0.2e1 * t1441 * t110 + 0.4e1 * t465 * t477 + 0.2e1 * t97 * t1474; + const double t1481 = piecewise_functor_3( t69, t1440, -0.8e1 / 0.3e1 * t1441 * t113 - 0.16e2 / 0.3e1 * t465 * t480 - 0.8e1 / 0.3e1 * t97 * t1477 ); + const double t1482 = t27 * t1481; + const double t1483 = t1482 * t55; + const double t1487 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t1388 * t119 - t1104 / 0.4e1 - 0.3e1 / 0.4e1 * t439 * t486 + t754 - t1117 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t1483 ); + const double t1488 = t492 * t492; + const double t1493 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t218 + 0.2e1 * t960 ); + const double t1497 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t1488 + 0.4e1 / 0.3e1 * t129 * t1493 ); + const double t1498 = t5 * t1497; + const double t1508 = t542 * t542; + const double t1516 = omega / t155 / t766 / t770 / t505 / 0.3e1; + const double t1518 = t1516 * t161 * t765; + const double t1519 = t504 * t504; + const double t1520 = 0.1e1 / t1519; + const double t1521 = t769 * t1520; + const double t1522 = t531 * t531; + const double t1531 = t504 * t151; + const double t1532 = 0.1e1 / t1531; + const double t1533 = t33 * t1532; + const double t1538 = t133 * t133; + const double t1540 = 0.1e1 / t135 / t1538; + const double t1541 = sigma_bb * t1540; + const double t1549 = 0.1e1 / t514 / t146; + const double t1550 = t526 * t526; + const double t1551 = t1549 * t1550; + const double t1556 = 0.1e1 / t134 / t507; + const double t1562 = sigma_bb * sigma_bb; + const double t1565 = 0.1e1 / t134 / t1538 / t507; + const double t1568 = 0.1e1 / t522 / t521; + const double t1571 = 0.784e-1 * t139 * t1556 * t143 + 0.168e0 * t1541 * t523 - 0.448e-1 * t1562 * t1565 * t1568; + const double t1572 = t515 * t1571; + const double t1576 = 0.9125925925925925926e-2 * t36 * t1541 * t147 + 0.49777777777777777778e-2 * t36 * t510 * t527 + 0.18666666666666666666e-2 * t36 * t138 * t1551 - 0.93333333333333333332e-3 * t36 * t138 * t1572; + const double t1581 = t537 * t537; + const double t1587 = t1493 * t6 + 0.2e1 * t492; + const double t1591 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t1522 - t1259 * t36 * t1260 * t537 / 0.6e1 - t503 * t35 * t1533 * t1522 / 0.2e1 + t503 * t35 * t506 * t1576 / 0.4e1 + 0.2e1 / 0.9e1 * t157 * t990 * t1581 - t157 * t364 * t1587 / 0.6e1; + const double t1592 = piecewise_functor_3( t165, t1591, 0.0 ); + const double t1595 = t174 * t1508; + const double t1597 = t374 * t1592; + const double t1599 = t177 * t1508; + const double t1601 = t378 * t1592; + const double t1603 = t180 * t1508; + const double t1605 = t382 * t1592; + const double t1607 = t183 * t1508; + const double t1609 = t386 * t1592; + const double t1611 = t186 * t1508; + const double t1613 = t390 * t1592; + const double t1615 = t189 * t1508; + const double t1617 = t394 * t1592; + const double t1619 = t1030 * t1508; + const double t1621 = t398 * t1592; + const double t1623 = t171 * t1508 / 0.6e1 - t361 * t1592 / 0.18e2 - t1595 / 0.48e2 + t1597 / 0.24e3 + t1599 / 0.64e3 - t1601 / 0.448e4 - t1603 / 0.1152e5 + t1605 / 0.10368e6 + t1607 / 0.258048e6 - t1609 / 0.2838528e7 - t1611 / 0.688128e7 + t1613 / 0.8945664e8 + t1615 / 0.21233664e9 - t1617 / 0.31850496e10 - t1619 / 0.74317824e10 + t1621 / 0.1263403008e12; + const double t1624 = piecewise_functor_3( t165, 0.0, t1591 ); + const double t1629 = t560 * t560; + const double t1630 = t1043 * t1629; + const double t1646 = t1064 * t1629; + const double t1657 = -0.2e1 * t1056 * t1629 * t200 + t409 * t1624 * t200 / 0.2e1 + t1646 * t200 / 0.4e1 - 0.4e1 * t1629 * t201 - t198 * t1629 * t200 - 0.4e1 * t413 * t1624 - t193 * t1624 * t200; + const double t1660 = -t1630 * t200 / 0.2e1 + 0.2e1 * t1048 * t1629 - t404 * t1624 + 0.2e1 * t1624 * t204 + 0.4e1 * t560 * t572 + 0.2e1 * t192 * t1657; + const double t1664 = piecewise_functor_3( t164, t1623, -0.8e1 / 0.3e1 * t1624 * t207 - 0.16e2 / 0.3e1 * t560 * t575 - 0.8e1 / 0.3e1 * t192 * t1660 ); + const double t1665 = t27 * t1664; + const double t1666 = t1665 * t151; + const double t1669 = t580 * t531; + const double t1672 = t212 * t1576; + const double t1676 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t1498 * t213 - t1243 / 0.4e1 - 0.3e1 / 0.4e1 * t496 * t581 - 0.3e1 / 0.4e1 * t496 * t584 + t978 - t1253 / 0.4e1 - t1367 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1666 - 0.3e1 / 0.4e1 * t132 * t1669 - 0.3e1 / 0.8e1 * t132 * t1672 ); + const double t1681 = t229 * t648; + const double t1682 = t1681 * t55; + const double t1684 = t26 * t1682 / 0.8e1; + const double t1685 = t76 * t611; + const double t1689 = t781 * t606; + const double t1694 = t242 * t606; + const double t1699 = t796 * t606; + const double t1708 = t41 * t252; + const double t1716 = t35 * t33 * sigma_aa; + const double t1717 = t41 * t813; + const double t1718 = t601 * t263; + const double t1719 = t1717 * t1718; + const double t1727 = t802 * t37; + const double t1729 = 0.1e1 / t38 / t1727; + const double t1730 = t1729 * t832; + const double t1733 = -0.168e-1 * t595 * t254 * t47 - 0.504e-1 * t246 * t260 + 0.168e-1 * t1730 * sigma_aa; + const double t1734 = t252 * t1733; + const double t1738 = -0.24888888888888888889e-2 * t35 * t33 * t246 * t51 - 0.93333333333333333332e-3 * t36 * t1708 * t263 + 0.24888888888888888889e-2 * t36 * t247 * t602 + 0.18666666666666666666e-2 * t1716 * t1719 - 0.93333333333333333332e-3 * t36 * t42 * t1734; + const double t1743 = 0.9e1 / 0.8e1 * t778 * t1688 * t1689 * t268 - t789 * t36 * t1694 * t277 / 0.12e2 - t240 * t36 * t1699 * t268 / 0.2e1 + t240 * t35 * t243 * t1738 / 0.4e1; + const double t1744 = piecewise_functor_3( t70, t1743, 0.0 ); + const double t1747 = t79 * t611; + const double t1750 = t286 * t1744; + const double t1752 = t82 * t611; + const double t1755 = t290 * t1744; + const double t1757 = t85 * t611; + const double t1760 = t294 * t1744; + const double t1762 = t88 * t611; + const double t1765 = t298 * t1744; + const double t1767 = t91 * t611; + const double t1770 = t302 * t1744; + const double t1772 = t94 * t611; + const double t1775 = t306 * t1744; + const double t1777 = t889 * t611; + const double t1780 = t310 * t1744; + const double t1782 = t1685 * t282 / 0.6e1 - t235 * t1744 / 0.18e2 - t1747 * t282 / 0.48e2 + t1750 / 0.24e3 + t1752 * t282 / 0.64e3 - t1755 / 0.448e4 - t1757 * t282 / 0.1152e5 + t1760 / 0.10368e6 + t1762 * t282 / 0.258048e6 - t1765 / 0.2838528e7 - t1767 * t282 / 0.688128e7 + t1770 / 0.8945664e8 + t1772 * t282 / 0.21233664e9 - t1775 / 0.31850496e10 - t1777 * t282 / 0.74317824e10 + t1780 / 0.1263403008e12; + const double t1783 = piecewise_functor_3( t70, 0.0, t1743 ); + const double t1787 = t106 * t629; + const double t1790 = t629 * t314; + const double t1800 = t915 * t629; + const double t1806 = t923 * t629; + const double t1816 = -0.2e1 * t1800 * t1196 + t321 * t1783 * t106 / 0.2e1 + t1806 * t1196 / 0.4e1 - 0.4e1 * t1205 * t629 - t1208 * t1787 - 0.4e1 * t325 * t1783 - t99 * t1783 * t106; + const double t1819 = -t1181 * t1787 / 0.2e1 + 0.2e1 * t907 * t1790 - t316 * t1783 + 0.2e1 * t1783 * t110 + 0.2e1 * t629 * t330 + 0.2e1 * t314 * t641 + 0.2e1 * t97 * t1816; + const double t1823 = piecewise_functor_3( t69, t1782, -0.8e1 / 0.3e1 * t1783 * t113 - 0.8e1 / 0.3e1 * t97 * t1819 - 0.8e1 / 0.3e1 * t314 * t644 - 0.8e1 / 0.3e1 * t629 * t333 ); + const double t1824 = t27 * t1823; + const double t1825 = t1824 * t55; + const double t1828 = t649 * t268; + const double t1833 = t230 * t606; + const double t1835 = t26 * t1833 / 0.8e1; + const double t1836 = t338 * t606; + const double t1839 = t118 * t1738; + const double t1843 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t650 - t1684 - 0.3e1 / 0.8e1 * t26 * t1825 - 0.3e1 / 0.8e1 * t26 * t1828 - 0.3e1 / 0.8e1 * t225 * t652 - t1835 - 0.3e1 / 0.8e1 * t26 * t1836 - 0.3e1 / 0.8e1 * t26 * t1839 ); + const double t1847 = t229 * t714; + const double t1848 = t1847 * t151; + const double t1850 = t132 * t1848 / 0.8e1; + const double t1851 = t171 * t677; + const double t1854 = t505 * t672; + const double t1862 = t174 * t677; + const double t1867 = t177 * t677; + const double t1872 = t180 * t677; + const double t1877 = t183 * t677; + const double t1882 = t186 * t677; + const double t1887 = t189 * t677; + const double t1892 = t1030 * t677; + const double t1902 = t200 * t695; + const double t1915 = t1056 * t695; + const double t1921 = t1064 * t695; + const double t1945 = t356 * t672; + const double t1947 = t132 * t1945 / 0.8e1; + const double t2051 = t1520 * t672; + const double t2060 = t1532 * t672; + const double t2069 = t137 * t515; + const double t2077 = t35 * t33 * sigma_bb; + const double t2078 = t137 * t1549; + const double t2079 = t667 * t526; + const double t2080 = t2078 * t2079; + const double t2088 = t1538 * t133; + const double t2090 = 0.1e1 / t134 / t2088; + const double t2091 = t2090 * t1568; + const double t2094 = -0.168e-1 * t661 * t517 * t143 - 0.504e-1 * t509 * t523 + 0.168e-1 * t2091 * sigma_bb; + const double t2095 = t515 * t2094; + const double t2099 = -0.24888888888888888889e-2 * t35 * t33 * t509 * t147 - 0.93333333333333333332e-3 * t36 * t2069 * t526 + 0.24888888888888888889e-2 * t36 * t510 * t668 + 0.18666666666666666666e-2 * t2077 * t2080 - 0.93333333333333333332e-3 * t36 * t138 * t2095; + const double t2104 = 0.9e1 / 0.8e1 * t1518 * t1688 * t2051 * t531 - t1259 * t36 * t1854 * t537 / 0.12e2 - t503 * t36 * t2060 * t531 / 0.2e1 + t503 * t35 * t506 * t2099 / 0.4e1; + const double t2105 = piecewise_functor_3( t165, t2104, 0.0 ); + const double t2110 = t374 * t2105; + const double t2114 = t378 * t2105; + const double t2118 = t382 * t2105; + const double t2122 = t386 * t2105; + const double t2126 = t390 * t2105; + const double t2130 = t394 * t2105; + const double t2134 = t398 * t2105; + const double t2136 = t1851 * t542 / 0.6e1 - t361 * t2105 / 0.18e2 - t1862 * t542 / 0.48e2 + t2110 / 0.24e3 + t1867 * t542 / 0.64e3 - t2114 / 0.448e4 - t1872 * t542 / 0.1152e5 + t2118 / 0.10368e6 + t1877 * t542 / 0.258048e6 - t2122 / 0.2838528e7 - t1882 * t542 / 0.688128e7 + t2126 / 0.8945664e8 + t1887 * t542 / 0.21233664e9 - t2130 / 0.31850496e10 - t1892 * t542 / 0.74317824e10 + t2134 / 0.1263403008e12; + const double t2137 = piecewise_functor_3( t165, 0.0, t2104 ); + const double t2141 = t1043 * t560; + const double t2144 = t695 * t560; + const double t2161 = t560 * t201; + const double t2164 = t198 * t560; + const double t2170 = -0.2e1 * t1915 * t1320 + t409 * t2137 * t200 / 0.2e1 + t1921 * t1320 / 0.4e1 - 0.4e1 * t2161 * t695 - t2164 * t1902 - 0.4e1 * t413 * t2137 - t193 * t2137 * t200; + const double t2173 = -t2141 * t1902 / 0.2e1 + 0.2e1 * t1048 * t2144 - t404 * t2137 + 0.2e1 * t2137 * t204 + 0.2e1 * t695 * t572 + 0.2e1 * t560 * t707 + 0.2e1 * t192 * t2170; + const double t2177 = piecewise_functor_3( t164, t2136, -0.8e1 / 0.3e1 * t192 * t2173 - 0.8e1 / 0.3e1 * t2137 * t207 - 0.8e1 / 0.3e1 * t560 * t710 - 0.8e1 / 0.3e1 * t695 * t575 ); + const double t2178 = t27 * t2177; + const double t2179 = t2178 * t151; + const double t2182 = t715 * t531; + const double t2187 = t580 * t672; + const double t2190 = t212 * t2099; + const double t2194 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t716 - t1850 - 0.3e1 / 0.8e1 * t132 * t2179 - 0.3e1 / 0.8e1 * t132 * t2182 - 0.3e1 / 0.8e1 * t496 * t718 - t1947 - 0.3e1 / 0.8e1 * t132 * t2187 - 0.3e1 / 0.8e1 * t132 * t2190 ); + const double t2196 = t611 * t611; + const double t2199 = t606 * t606; + const double t2211 = t601 * t601; + const double t2212 = t813 * t2211; + const double t2217 = 0.1e1 / t43 / sigma_aa; + const double t2221 = 0.1e1 / sigma_aa; + const double t2225 = t802 * rho_a; + const double t2227 = 0.1e1 / t38 / t2225; + const double t2230 = -0.63e-2 * t2217 * t45 * t47 + 0.63e-2 * t2221 * t41 * t260 - 0.63e-2 * t2227 * t832; + const double t2231 = t252 * t2230; + const double t2235 = -0.18666666666666666666e-2 * t36 * t1708 * t601 + 0.18666666666666666666e-2 * t36 * t42 * t2212 - 0.93333333333333333332e-3 * t36 * t42 * t2231; + const double t2240 = 0.9e1 / 0.8e1 * t778 * t779 * t782 * t2199 - t240 * t35 * t797 * t2199 / 0.2e1 + t240 * t35 * t243 * t2235 / 0.4e1; + const double t2241 = piecewise_functor_3( t70, t2240, 0.0 ); + const double t2244 = t79 * t2196; + const double t2246 = t286 * t2241; + const double t2248 = t82 * t2196; + const double t2250 = t290 * t2241; + const double t2252 = t85 * t2196; + const double t2254 = t294 * t2241; + const double t2256 = t88 * t2196; + const double t2258 = t298 * t2241; + const double t2260 = t91 * t2196; + const double t2262 = t302 * t2241; + const double t2264 = t94 * t2196; + const double t2266 = t306 * t2241; + const double t2268 = t889 * t2196; + const double t2270 = t310 * t2241; + const double t2272 = t76 * t2196 / 0.6e1 - t235 * t2241 / 0.18e2 - t2244 / 0.48e2 + t2246 / 0.24e3 + t2248 / 0.64e3 - t2250 / 0.448e4 - t2252 / 0.1152e5 + t2254 / 0.10368e6 + t2256 / 0.258048e6 - t2258 / 0.2838528e7 - t2260 / 0.688128e7 + t2262 / 0.8945664e8 + t2264 / 0.21233664e9 - t2266 / 0.31850496e10 - t2268 / 0.74317824e10 + t2270 / 0.1263403008e12; + const double t2273 = piecewise_functor_3( t70, 0.0, t2240 ); + const double t2278 = t629 * t629; + const double t2279 = t902 * t2278; + const double t2295 = t923 * t2278; + const double t2306 = -0.2e1 * t915 * t2278 * t106 + t321 * t2273 * t106 / 0.2e1 + t2295 * t106 / 0.4e1 - 0.4e1 * t2278 * t107 - t104 * t2278 * t106 - 0.4e1 * t325 * t2273 - t99 * t2273 * t106; + const double t2309 = -t2279 * t106 / 0.2e1 + 0.2e1 * t907 * t2278 - t316 * t2273 + 0.2e1 * t2273 * t110 + 0.4e1 * t629 * t641 + 0.2e1 * t97 * t2306; + const double t2313 = piecewise_functor_3( t69, t2272, -0.8e1 / 0.3e1 * t2273 * t113 - 0.16e2 / 0.3e1 * t629 * t644 - 0.8e1 / 0.3e1 * t97 * t2309 ); + const double t2314 = t27 * t2313; + const double t2315 = t2314 * t55; + const double t2318 = t649 * t606; + const double t2321 = t118 * t2235; + const double t2325 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t2315 - 0.3e1 / 0.4e1 * t26 * t2318 - 0.3e1 / 0.8e1 * t26 * t2321 ); + const double t2326 = t677 * t677; + const double t2329 = t672 * t672; + const double t2341 = t667 * t667; + const double t2342 = t1549 * t2341; + const double t2347 = 0.1e1 / t139 / sigma_bb; + const double t2351 = 0.1e1 / sigma_bb; + const double t2355 = t1538 * rho_b; + const double t2357 = 0.1e1 / t134 / t2355; + const double t2360 = -0.63e-2 * t2347 * t141 * t143 + 0.63e-2 * t2351 * t137 * t523 - 0.63e-2 * t2357 * t1568; + const double t2361 = t515 * t2360; + const double t2365 = -0.18666666666666666666e-2 * t36 * t2069 * t667 + 0.18666666666666666666e-2 * t36 * t138 * t2342 - 0.93333333333333333332e-3 * t36 * t138 * t2361; + const double t2370 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t2329 - t503 * t35 * t1533 * t2329 / 0.2e1 + t503 * t35 * t506 * t2365 / 0.4e1; + const double t2371 = piecewise_functor_3( t165, t2370, 0.0 ); + const double t2374 = t174 * t2326; + const double t2376 = t374 * t2371; + const double t2378 = t177 * t2326; + const double t2380 = t378 * t2371; + const double t2382 = t180 * t2326; + const double t2384 = t382 * t2371; + const double t2386 = t183 * t2326; + const double t2388 = t386 * t2371; + const double t2390 = t186 * t2326; + const double t2392 = t390 * t2371; + const double t2394 = t189 * t2326; + const double t2396 = t394 * t2371; + const double t2398 = t1030 * t2326; + const double t2400 = t398 * t2371; + const double t2402 = t171 * t2326 / 0.6e1 - t361 * t2371 / 0.18e2 - t2374 / 0.48e2 + t2376 / 0.24e3 + t2378 / 0.64e3 - t2380 / 0.448e4 - t2382 / 0.1152e5 + t2384 / 0.10368e6 + t2386 / 0.258048e6 - t2388 / 0.2838528e7 - t2390 / 0.688128e7 + t2392 / 0.8945664e8 + t2394 / 0.21233664e9 - t2396 / 0.31850496e10 - t2398 / 0.74317824e10 + t2400 / 0.1263403008e12; + const double t2403 = piecewise_functor_3( t165, 0.0, t2370 ); + const double t2408 = t695 * t695; + const double t2409 = t1043 * t2408; + const double t2425 = t1064 * t2408; + const double t2436 = -0.2e1 * t1056 * t2408 * t200 + t409 * t2403 * t200 / 0.2e1 + t2425 * t200 / 0.4e1 - 0.4e1 * t2408 * t201 - t198 * t2408 * t200 - 0.4e1 * t413 * t2403 - t193 * t2403 * t200; + const double t2439 = -t2409 * t200 / 0.2e1 + 0.2e1 * t1048 * t2408 - t404 * t2403 + 0.2e1 * t2403 * t204 + 0.4e1 * t695 * t707 + 0.2e1 * t192 * t2436; + const double t2443 = piecewise_functor_3( t164, t2402, -0.8e1 / 0.3e1 * t2403 * t207 - 0.16e2 / 0.3e1 * t695 * t710 - 0.8e1 / 0.3e1 * t192 * t2439 ); + const double t2444 = t27 * t2443; + const double t2445 = t2444 * t151; + const double t2448 = t715 * t672; + const double t2451 = t212 * t2365; + const double t2455 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t2445 - 0.3e1 / 0.4e1 * t132 * t2448 - 0.3e1 / 0.8e1 * t132 * t2451 ); + + + vrho_a = t122 + t216 + t6 * ( t346 + t431 ); + vrho_b = t122 + t216 + t6 * ( t490 + t588 ); + vsigma_aa = t6 * t656; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t722; + v2rho2_aa = 0.2e1 * t346 + 0.2e1 * t431 + t6 * ( t954 + t1089 ); + v2rho2_bb = 0.2e1 * t490 + 0.2e1 * t588 + t6 * ( t1487 + t1676 ); + v2rhosigma_a_aa = t6 * t1843 + t656; + v2rhosigma_b_bb = t6 * t2194 + t722; + v2sigma2_aa_aa = t6 * t2325; + v2sigma2_bb_bb = t6 * t2455; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinITYH_X_015 : detail::BuiltinKernelImpl< BuiltinITYH_X_015 > { + + BuiltinITYH_X_015( Spin p ) : + detail::BuiltinKernelImpl< BuiltinITYH_X_015 >(p) { } + + virtual ~BuiltinITYH_X_015() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/ityh_x_033.hpp b/include/exchcxx/impl/builtin/kernels/ityh_x_033.hpp new file mode 100644 index 0000000..39299e9 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/ityh_x_033.hpp @@ -0,0 +1,2959 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinITYH_X_033 > : + public gga_screening_interface< BuiltinITYH_X_033 > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double omega = 0.33; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + + + eps = 0.2e1 * t117; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + + + eps = 0.2e1 * t117; + vrho = 0.2e1 * rho * t238 + 0.2e1 * t117; + vsigma = 0.2e1 * rho * t305; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t324 = constants::m_pi_sq; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + constexpr double t326 = t23 * t23; + constexpr double t327 = 0.1e1 / t326; + constexpr double t328 = t25 * t25; + constexpr double t329 = t327 * t328; + constexpr double t338 = t3 * t327; + constexpr double t519 = t338 * t328; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + const double t309 = 0.1e1 / t33 / rho; + const double t310 = t309 * t112; + const double t314 = t118 * t229; + const double t321 = t174 * t174; + const double t335 = omega / t55 / t324 / t3 / t329 / t131 / 0.3e1; + const double t337 = t335 * t61 * t324; + const double t339 = t130 * t130; + const double t340 = 0.1e1 / t339; + const double t341 = t328 * t340; + const double t342 = t162 * t162; + const double t348 = t127 * t169 * M_PI; + const double t349 = t131 * t162; + const double t354 = t130 * t51; + const double t355 = 0.1e1 / t354; + const double t356 = t25 * t355; + const double t361 = t32 * t32; + const double t363 = 0.1e1 / t33 / t361; + const double t368 = t30 * t135; + const double t369 = t368 * t158; + const double t373 = 0.1e1 / t143 / t45; + const double t374 = t157 * t157; + const double t375 = t373 * t374; + const double t376 = t142 * t375; + const double t381 = 0.1e1 / t19 / t133 * t41; + const double t384 = t363 * t153; + const double t387 = sigma * sigma; + const double t388 = t387 * t29; + const double t391 = 0.1e1 / t19 / t361 / t133; + const double t393 = 0.1e1 / t152 / t151; + const double t397 = 0.784e-1 * t37 * t381 + 0.168e0 * t31 * t384 - 0.896e-1 * t388 * t391 * t393; + const double t398 = t144 * t397; + const double t399 = t142 * t398; + const double t402 = 0.9125925925925925926e-2 * t28 * t31 * t363 * t46 + 0.49777777777777777778e-2 * t141 * t369 + 0.18666666666666666666e-2 * t141 * t376 - 0.93333333333333333332e-3 * t141 * t399; + const double t407 = t11 * t11; + const double t410 = 0.1e1 / t59 / t407 / t32; + const double t411 = t29 * t410; + const double t415 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t342 - t348 * t28 * t349 * t11 / 0.6e1 - t129 * t27 * t356 * t342 / 0.2e1 + t129 * t27 * t132 * t402 / 0.4e1 + 0.2e1 / 0.9e1 * t57 * t411 * t407; + const double t416 = piecewise_functor_3( t65, t415, 0.0 ); + const double t444 = 0.1e1 / t88 / t67; + const double t449 = t71 * t321 / 0.6e1 - t124 * t416 / 0.18e2 - t74 * t321 / 0.48e2 + t178 * t416 / 0.24e3 + t77 * t321 / 0.64e3 - t182 * t416 / 0.448e4 - t80 * t321 / 0.1152e5 + t186 * t416 / 0.10368e6 + t83 * t321 / 0.258048e6 - t190 * t416 / 0.2838528e7 - t86 * t321 / 0.688128e7 + t194 * t416 / 0.8945664e8 + t89 * t321 / 0.21233664e9 - t198 * t416 / 0.31850496e10 - t444 * t321 / 0.74317824e10 + t202 * t416 / 0.1263403008e12; + const double t450 = piecewise_functor_3( t65, 0.0, t415 ); + const double t455 = t98 * t98; + const double t457 = 0.1e1 / t455 / t92; + const double t458 = t206 * t206; + const double t459 = t457 * t458; + const double t462 = t101 * t213; + const double t470 = 0.1e1 / t455; + const double t478 = 0.1e1 / t455 / t98; + const double t479 = t478 * t458; + const double t490 = -0.2e1 * t470 * t458 * t101 + t213 * t450 * t101 / 0.2e1 + t479 * t101 / 0.4e1 - 0.4e1 * t458 * t102 - t99 * t458 * t101 - 0.4e1 * t217 * t450 - t94 * t450 * t101; + const double t493 = -t459 * t101 / 0.2e1 + 0.2e1 * t462 * t458 - t208 * t450 + 0.2e1 * t450 * t105 + 0.4e1 * t206 * t222 + 0.2e1 * t92 * t490; + const double t497 = piecewise_functor_3( t64, t449, -0.8e1 / 0.3e1 * t450 * t108 - 0.16e2 / 0.3e1 * t206 * t225 - 0.8e1 / 0.3e1 * t92 * t493 ); + const double t498 = t19 * t497; + const double t509 = piecewise_functor_3( t2, 0.0, t18 * t310 * t51 / 0.12e2 - t18 * t314 * t51 / 0.4e1 - t18 * t119 * t162 / 0.4e1 - 0.3e1 / 0.8e1 * t18 * t498 * t51 - 0.3e1 / 0.4e1 * t18 * t230 * t162 - 0.3e1 / 0.8e1 * t18 * t113 * t402 ); + const double t512 = t118 * t297; + const double t516 = t71 * t260; + const double t520 = t340 * t255; + const double t525 = t131 * t255; + const double t530 = t355 * t255; + const double t540 = t368 * t251; + const double t543 = t373 * t250; + const double t544 = t543 * t157; + const double t552 = t361 * t32; + const double t554 = 0.1e1 / t19 / t552; + const double t555 = t29 * t554; + const double t556 = t393 * sigma; + const double t559 = -0.168e-1 * t245 * t147 - 0.504e-1 * t368 * t153 + 0.336e-1 * t555 * t556; + const double t560 = t144 * t559; + const double t561 = t142 * t560; + const double t564 = -0.24888888888888888889e-2 * t28 * t368 * t46 - 0.93333333333333333332e-3 * t28 * t159 + 0.24888888888888888889e-2 * t141 * t540 + 0.18666666666666666666e-2 * t141 * t142 * t544 - 0.93333333333333333332e-3 * t141 * t561; + const double t569 = 0.9e1 / 0.8e1 * t337 * t519 * t520 * t162 - t348 * t28 * t525 * t11 / 0.12e2 - t129 * t28 * t530 * t162 / 0.2e1 + t129 * t27 * t132 * t564 / 0.4e1; + const double t570 = piecewise_functor_3( t65, t569, 0.0 ); + const double t573 = t74 * t260; + const double t576 = t178 * t570; + const double t578 = t77 * t260; + const double t581 = t182 * t570; + const double t583 = t80 * t260; + const double t586 = t186 * t570; + const double t588 = t83 * t260; + const double t591 = t190 * t570; + const double t593 = t86 * t260; + const double t596 = t194 * t570; + const double t598 = t89 * t260; + const double t601 = t198 * t570; + const double t603 = t444 * t260; + const double t606 = t202 * t570; + const double t608 = t516 * t174 / 0.6e1 - t124 * t570 / 0.18e2 - t573 * t174 / 0.48e2 + t576 / 0.24e3 + t578 * t174 / 0.64e3 - t581 / 0.448e4 - t583 * t174 / 0.1152e5 + t586 / 0.10368e6 + t588 * t174 / 0.258048e6 - t591 / 0.2838528e7 - t593 * t174 / 0.688128e7 + t596 / 0.8945664e8 + t598 * t174 / 0.21233664e9 - t601 / 0.31850496e10 - t603 * t174 / 0.74317824e10 + t606 / 0.1263403008e12; + const double t609 = piecewise_functor_3( t65, 0.0, t569 ); + const double t613 = t457 * t206; + const double t614 = t101 * t278; + const double t617 = t278 * t206; + const double t627 = t470 * t278; + const double t628 = t101 * t206; + const double t634 = t478 * t278; + const double t637 = t206 * t102; + const double t640 = t99 * t206; + const double t646 = -0.2e1 * t627 * t628 + t213 * t609 * t101 / 0.2e1 + t634 * t628 / 0.4e1 - 0.4e1 * t637 * t278 - t640 * t614 - 0.4e1 * t217 * t609 - t94 * t609 * t101; + const double t649 = -t613 * t614 / 0.2e1 + 0.2e1 * t462 * t617 - t208 * t609 + 0.2e1 * t609 * t105 + 0.2e1 * t278 * t222 + 0.2e1 * t206 * t290 + 0.2e1 * t92 * t646; + const double t653 = piecewise_functor_3( t64, t608, -0.8e1 / 0.3e1 * t609 * t108 - 0.8e1 / 0.3e1 * t206 * t293 - 0.8e1 / 0.3e1 * t278 * t225 - 0.8e1 / 0.3e1 * t92 * t649 ); + const double t654 = t19 * t653; + const double t671 = piecewise_functor_3( t2, 0.0, -t18 * t512 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t654 * t51 - 0.3e1 / 0.8e1 * t18 * t298 * t162 - t18 * t119 * t255 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t564 ); + const double t674 = t260 * t260; + const double t677 = t255 * t255; + const double t688 = t250 * t250; + const double t689 = t373 * t688; + const double t690 = t142 * t689; + const double t695 = 0.1e1 / t36 / sigma * t29; + const double t698 = 0.1e1 / sigma; + const double t699 = t698 * t30; + const double t700 = t35 * t153; + const double t703 = t361 * rho; + const double t705 = 0.1e1 / t19 / t703; + const double t709 = -0.63e-2 * t695 * t42 + 0.63e-2 * t699 * t700 - 0.126e-1 * t29 * t705 * t393; + const double t710 = t144 * t709; + const double t711 = t142 * t710; + const double t714 = -0.18666666666666666666e-2 * t28 * t252 + 0.18666666666666666666e-2 * t141 * t690 - 0.93333333333333333332e-3 * t141 * t711; + const double t719 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t677 - t129 * t27 * t356 * t677 / 0.2e1 + t129 * t27 * t132 * t714 / 0.4e1; + const double t720 = piecewise_functor_3( t65, t719, 0.0 ); + const double t723 = t74 * t674; + const double t725 = t178 * t720; + const double t727 = t77 * t674; + const double t729 = t182 * t720; + const double t731 = t80 * t674; + const double t733 = t186 * t720; + const double t735 = t83 * t674; + const double t737 = t190 * t720; + const double t739 = t86 * t674; + const double t741 = t194 * t720; + const double t743 = t89 * t674; + const double t745 = t198 * t720; + const double t747 = t444 * t674; + const double t749 = t202 * t720; + const double t751 = t71 * t674 / 0.6e1 - t124 * t720 / 0.18e2 - t723 / 0.48e2 + t725 / 0.24e3 + t727 / 0.64e3 - t729 / 0.448e4 - t731 / 0.1152e5 + t733 / 0.10368e6 + t735 / 0.258048e6 - t737 / 0.2838528e7 - t739 / 0.688128e7 + t741 / 0.8945664e8 + t743 / 0.21233664e9 - t745 / 0.31850496e10 - t747 / 0.74317824e10 + t749 / 0.1263403008e12; + const double t752 = piecewise_functor_3( t65, 0.0, t719 ); + const double t757 = t278 * t278; + const double t758 = t457 * t757; + const double t774 = t478 * t757; + const double t785 = -0.2e1 * t470 * t757 * t101 + t213 * t752 * t101 / 0.2e1 + t774 * t101 / 0.4e1 - 0.4e1 * t757 * t102 - t99 * t757 * t101 - 0.4e1 * t217 * t752 - t94 * t752 * t101; + const double t788 = -t758 * t101 / 0.2e1 + 0.2e1 * t462 * t757 - t208 * t752 + 0.2e1 * t752 * t105 + 0.4e1 * t278 * t290 + 0.2e1 * t92 * t785; + const double t792 = piecewise_functor_3( t64, t751, -0.8e1 / 0.3e1 * t752 * t108 - 0.16e2 / 0.3e1 * t278 * t293 - 0.8e1 / 0.3e1 * t92 * t788 ); + const double t793 = t19 * t792; + const double t804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t793 * t51 - 0.3e1 / 0.4e1 * t18 * t298 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t714 ); + + + v2rho2 = 0.2e1 * rho * t509 + 0.4e1 * t238; + v2rhosigma = 0.2e1 * rho * t671 + 0.2e1 * t305; + v2sigma2 = 0.2e1 * rho * t804; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_one_ov_pi; + constexpr double t25 = constants::m_cbrt_4; + constexpr double t29 = constants::m_cbrt_2; + constexpr double t324 = constants::m_pi_sq; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t26 = t24 * t25; + constexpr double t27 = t20 * t24; + constexpr double t28 = t27 * t25; + constexpr double t30 = t29 * t29; + constexpr double t326 = t23 * t23; + constexpr double t327 = 0.1e1 / t326; + constexpr double t328 = t25 * t25; + constexpr double t329 = t327 * t328; + constexpr double t338 = t3 * t327; + constexpr double t519 = t338 * t328; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = t3 / t4 * t17; + const double t19 = safe_math::cbrt( rho ); + const double t31 = sigma * t30; + const double t32 = rho * rho; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / t32; + const double t36 = safe_math::sqrt( sigma ); + const double t37 = t36 * t29; + const double t39 = 0.1e1 / t19 / rho; + const double t41 = safe_math::log( t37 * t39 + safe_math::sqrt( square( t37 * t39 ) + 0.1e1 ) ); + const double t42 = t39 * t41; + const double t45 = 0.1e1 + 0.252e-1 * t37 * t42; + const double t46 = 0.1e1 / t45; + const double t51 = 0.1e1 + 0.93333333333333333332e-3 * t28 * t31 * t35 * t46; + const double t54 = M_PI * t20 * t26 / t51; + const double t55 = safe_math::sqrt( t54 ); + const double t57 = omega / t55; + const double t58 = t11 * rho; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = 0.1e1 / t59; + const double t61 = t29 * t60; + const double t63 = t57 * t61 / 0.2e1; + const double t64 = 0.135e1 <= t63; + const double t65 = 0.135e1 < t63; + const double t66 = piecewise_functor_3( t65, t63, 1.35 ); + const double t67 = t66 * t66; + const double t70 = t67 * t67; + const double t71 = 0.1e1 / t70; + const double t73 = t70 * t67; + const double t74 = 0.1e1 / t73; + const double t76 = t70 * t70; + const double t77 = 0.1e1 / t76; + const double t80 = 0.1e1 / t76 / t67; + const double t83 = 0.1e1 / t76 / t70; + const double t86 = 0.1e1 / t76 / t73; + const double t88 = t76 * t76; + const double t89 = 0.1e1 / t88; + const double t92 = piecewise_functor_3( t65, 1.35, t63 ); + const double t93 = safe_math::sqrt( M_PI ); + const double t94 = 0.1e1 / t92; + const double t96 = safe_math::erf( t94 / 0.2e1 ); + const double t98 = t92 * t92; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t99 / 0.4e1 ); + const double t102 = t101 - 0.1e1; + const double t105 = t101 - 0.3e1 / 0.2e1 - 0.2e1 * t98 * t102; + const double t108 = 0.2e1 * t92 * t105 + t93 * t96; + const double t112 = piecewise_functor_3( t64, 0.1e1 / t67 / 0.36e2 - t71 / 0.96e3 + t74 / 0.2688e5 - t77 / 0.82944e6 + t80 / 0.2838528e8 - t83 / 0.107347968e10 + t86 / 0.445906944e11 - t89 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t92 * t108 ); + const double t113 = t19 * t112; + const double t117 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t51 ); + const double t118 = 0.1e1 / t33; + const double t119 = t118 * t112; + const double t123 = t67 * t66; + const double t124 = 0.1e1 / t123; + const double t127 = omega / t55 / t54; + const double t129 = t127 * t61 * M_PI; + const double t130 = t51 * t51; + const double t131 = 0.1e1 / t130; + const double t132 = t25 * t131; + const double t133 = t32 * rho; + const double t135 = 0.1e1 / t33 / t133; + const double t140 = t25 * sigma; + const double t141 = t27 * t140; + const double t142 = t30 * t35; + const double t143 = t45 * t45; + const double t144 = 0.1e1 / t143; + const double t147 = 0.1e1 / t19 / t32 * t41; + const double t151 = t31 * t35 + 0.1e1; + const double t152 = safe_math::sqrt( t151 ); + const double t153 = 0.1e1 / t152; + const double t154 = t135 * t153; + const double t157 = -0.336e-1 * t37 * t147 - 0.336e-1 * t31 * t154; + const double t158 = t144 * t157; + const double t159 = t142 * t158; + const double t162 = -0.24888888888888888889e-2 * t28 * t31 * t135 * t46 - 0.93333333333333333332e-3 * t141 * t159; + const double t168 = 0.1e1 / t59 / t58; + const double t169 = t29 * t168; + const double t173 = t129 * t27 * t132 * t162 / 0.4e1 - t57 * t169 * t11 / 0.6e1; + const double t174 = piecewise_functor_3( t65, t173, 0.0 ); + const double t177 = t70 * t66; + const double t178 = 0.1e1 / t177; + const double t181 = t70 * t123; + const double t182 = 0.1e1 / t181; + const double t186 = 0.1e1 / t76 / t66; + const double t190 = 0.1e1 / t76 / t123; + const double t194 = 0.1e1 / t76 / t177; + const double t198 = 0.1e1 / t76 / t181; + const double t202 = 0.1e1 / t88 / t66; + const double t206 = piecewise_functor_3( t65, 0.0, t173 ); + const double t208 = t101 * t99; + const double t212 = t98 * t92; + const double t213 = 0.1e1 / t212; + const double t217 = t92 * t102; + const double t222 = t213 * t206 * t101 / 0.2e1 - 0.4e1 * t217 * t206 - t94 * t206 * t101; + const double t225 = 0.2e1 * t206 * t105 - t208 * t206 + 0.2e1 * t92 * t222; + const double t229 = piecewise_functor_3( t64, -t124 * t174 / 0.18e2 + t178 * t174 / 0.24e3 - t182 * t174 / 0.448e4 + t186 * t174 / 0.10368e6 - t190 * t174 / 0.2838528e7 + t194 * t174 / 0.8945664e8 - t198 * t174 / 0.31850496e10 + t202 * t174 / 0.1263403008e12, -0.8e1 / 0.3e1 * t206 * t108 - 0.8e1 / 0.3e1 * t92 * t225 ); + const double t230 = t19 * t229; + const double t238 = piecewise_functor_3( t2, 0.0, -t18 * t119 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t51 - 0.3e1 / 0.8e1 * t18 * t113 * t162 ); + const double t245 = 0.1e1 / t36 * t29; + const double t250 = 0.126e-1 * t245 * t42 + 0.126e-1 * t142 * t153; + const double t251 = t144 * t250; + const double t252 = t142 * t251; + const double t255 = 0.93333333333333333332e-3 * t28 * t142 * t46 - 0.93333333333333333332e-3 * t141 * t252; + const double t259 = t129 * t27 * t132 * t255 / 0.4e1; + const double t260 = piecewise_functor_3( t65, t259, 0.0 ); + const double t263 = t178 * t260; + const double t265 = t182 * t260; + const double t267 = t186 * t260; + const double t269 = t190 * t260; + const double t271 = t194 * t260; + const double t273 = t198 * t260; + const double t275 = t202 * t260; + const double t278 = piecewise_functor_3( t65, 0.0, t259 ); + const double t290 = t213 * t278 * t101 / 0.2e1 - 0.4e1 * t217 * t278 - t94 * t278 * t101; + const double t293 = 0.2e1 * t278 * t105 - t208 * t278 + 0.2e1 * t92 * t290; + const double t297 = piecewise_functor_3( t64, -t124 * t260 / 0.18e2 + t263 / 0.24e3 - t265 / 0.448e4 + t267 / 0.10368e6 - t269 / 0.2838528e7 + t271 / 0.8945664e8 - t273 / 0.31850496e10 + t275 / 0.1263403008e12, -0.8e1 / 0.3e1 * t278 * t108 - 0.8e1 / 0.3e1 * t92 * t293 ); + const double t298 = t19 * t297; + const double t305 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t113 * t255 - 0.3e1 / 0.8e1 * t18 * t298 * t51 ); + const double t309 = 0.1e1 / t33 / rho; + const double t310 = t309 * t112; + const double t314 = t118 * t229; + const double t321 = t174 * t174; + const double t335 = omega / t55 / t324 / t3 / t329 / t131 / 0.3e1; + const double t337 = t335 * t61 * t324; + const double t339 = t130 * t130; + const double t340 = 0.1e1 / t339; + const double t341 = t328 * t340; + const double t342 = t162 * t162; + const double t348 = t127 * t169 * M_PI; + const double t349 = t131 * t162; + const double t354 = t130 * t51; + const double t355 = 0.1e1 / t354; + const double t356 = t25 * t355; + const double t361 = t32 * t32; + const double t363 = 0.1e1 / t33 / t361; + const double t368 = t30 * t135; + const double t369 = t368 * t158; + const double t373 = 0.1e1 / t143 / t45; + const double t374 = t157 * t157; + const double t375 = t373 * t374; + const double t376 = t142 * t375; + const double t381 = 0.1e1 / t19 / t133 * t41; + const double t384 = t363 * t153; + const double t387 = sigma * sigma; + const double t388 = t387 * t29; + const double t391 = 0.1e1 / t19 / t361 / t133; + const double t393 = 0.1e1 / t152 / t151; + const double t397 = 0.784e-1 * t37 * t381 + 0.168e0 * t31 * t384 - 0.896e-1 * t388 * t391 * t393; + const double t398 = t144 * t397; + const double t399 = t142 * t398; + const double t402 = 0.9125925925925925926e-2 * t28 * t31 * t363 * t46 + 0.49777777777777777778e-2 * t141 * t369 + 0.18666666666666666666e-2 * t141 * t376 - 0.93333333333333333332e-3 * t141 * t399; + const double t407 = t11 * t11; + const double t410 = 0.1e1 / t59 / t407 / t32; + const double t411 = t29 * t410; + const double t415 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t342 - t348 * t28 * t349 * t11 / 0.6e1 - t129 * t27 * t356 * t342 / 0.2e1 + t129 * t27 * t132 * t402 / 0.4e1 + 0.2e1 / 0.9e1 * t57 * t411 * t407; + const double t416 = piecewise_functor_3( t65, t415, 0.0 ); + const double t444 = 0.1e1 / t88 / t67; + const double t449 = t71 * t321 / 0.6e1 - t124 * t416 / 0.18e2 - t74 * t321 / 0.48e2 + t178 * t416 / 0.24e3 + t77 * t321 / 0.64e3 - t182 * t416 / 0.448e4 - t80 * t321 / 0.1152e5 + t186 * t416 / 0.10368e6 + t83 * t321 / 0.258048e6 - t190 * t416 / 0.2838528e7 - t86 * t321 / 0.688128e7 + t194 * t416 / 0.8945664e8 + t89 * t321 / 0.21233664e9 - t198 * t416 / 0.31850496e10 - t444 * t321 / 0.74317824e10 + t202 * t416 / 0.1263403008e12; + const double t450 = piecewise_functor_3( t65, 0.0, t415 ); + const double t455 = t98 * t98; + const double t457 = 0.1e1 / t455 / t92; + const double t458 = t206 * t206; + const double t459 = t457 * t458; + const double t462 = t101 * t213; + const double t470 = 0.1e1 / t455; + const double t478 = 0.1e1 / t455 / t98; + const double t479 = t478 * t458; + const double t490 = -0.2e1 * t470 * t458 * t101 + t213 * t450 * t101 / 0.2e1 + t479 * t101 / 0.4e1 - 0.4e1 * t458 * t102 - t99 * t458 * t101 - 0.4e1 * t217 * t450 - t94 * t450 * t101; + const double t493 = -t459 * t101 / 0.2e1 + 0.2e1 * t462 * t458 - t208 * t450 + 0.2e1 * t450 * t105 + 0.4e1 * t206 * t222 + 0.2e1 * t92 * t490; + const double t497 = piecewise_functor_3( t64, t449, -0.8e1 / 0.3e1 * t450 * t108 - 0.16e2 / 0.3e1 * t206 * t225 - 0.8e1 / 0.3e1 * t92 * t493 ); + const double t498 = t19 * t497; + const double t509 = piecewise_functor_3( t2, 0.0, t18 * t310 * t51 / 0.12e2 - t18 * t314 * t51 / 0.4e1 - t18 * t119 * t162 / 0.4e1 - 0.3e1 / 0.8e1 * t18 * t498 * t51 - 0.3e1 / 0.4e1 * t18 * t230 * t162 - 0.3e1 / 0.8e1 * t18 * t113 * t402 ); + const double t512 = t118 * t297; + const double t516 = t71 * t260; + const double t520 = t340 * t255; + const double t525 = t131 * t255; + const double t530 = t355 * t255; + const double t540 = t368 * t251; + const double t543 = t373 * t250; + const double t544 = t543 * t157; + const double t552 = t361 * t32; + const double t554 = 0.1e1 / t19 / t552; + const double t555 = t29 * t554; + const double t556 = t393 * sigma; + const double t559 = -0.168e-1 * t245 * t147 - 0.504e-1 * t368 * t153 + 0.336e-1 * t555 * t556; + const double t560 = t144 * t559; + const double t561 = t142 * t560; + const double t564 = -0.24888888888888888889e-2 * t28 * t368 * t46 - 0.93333333333333333332e-3 * t28 * t159 + 0.24888888888888888889e-2 * t141 * t540 + 0.18666666666666666666e-2 * t141 * t142 * t544 - 0.93333333333333333332e-3 * t141 * t561; + const double t569 = 0.9e1 / 0.8e1 * t337 * t519 * t520 * t162 - t348 * t28 * t525 * t11 / 0.12e2 - t129 * t28 * t530 * t162 / 0.2e1 + t129 * t27 * t132 * t564 / 0.4e1; + const double t570 = piecewise_functor_3( t65, t569, 0.0 ); + const double t573 = t74 * t260; + const double t576 = t178 * t570; + const double t578 = t77 * t260; + const double t581 = t182 * t570; + const double t583 = t80 * t260; + const double t586 = t186 * t570; + const double t588 = t83 * t260; + const double t591 = t190 * t570; + const double t593 = t86 * t260; + const double t596 = t194 * t570; + const double t598 = t89 * t260; + const double t601 = t198 * t570; + const double t603 = t444 * t260; + const double t606 = t202 * t570; + const double t608 = t516 * t174 / 0.6e1 - t124 * t570 / 0.18e2 - t573 * t174 / 0.48e2 + t576 / 0.24e3 + t578 * t174 / 0.64e3 - t581 / 0.448e4 - t583 * t174 / 0.1152e5 + t586 / 0.10368e6 + t588 * t174 / 0.258048e6 - t591 / 0.2838528e7 - t593 * t174 / 0.688128e7 + t596 / 0.8945664e8 + t598 * t174 / 0.21233664e9 - t601 / 0.31850496e10 - t603 * t174 / 0.74317824e10 + t606 / 0.1263403008e12; + const double t609 = piecewise_functor_3( t65, 0.0, t569 ); + const double t613 = t457 * t206; + const double t614 = t101 * t278; + const double t617 = t278 * t206; + const double t627 = t470 * t278; + const double t628 = t101 * t206; + const double t634 = t478 * t278; + const double t637 = t206 * t102; + const double t640 = t99 * t206; + const double t646 = -0.2e1 * t627 * t628 + t213 * t609 * t101 / 0.2e1 + t634 * t628 / 0.4e1 - 0.4e1 * t637 * t278 - t640 * t614 - 0.4e1 * t217 * t609 - t94 * t609 * t101; + const double t649 = -t613 * t614 / 0.2e1 + 0.2e1 * t462 * t617 - t208 * t609 + 0.2e1 * t609 * t105 + 0.2e1 * t278 * t222 + 0.2e1 * t206 * t290 + 0.2e1 * t92 * t646; + const double t653 = piecewise_functor_3( t64, t608, -0.8e1 / 0.3e1 * t609 * t108 - 0.8e1 / 0.3e1 * t206 * t293 - 0.8e1 / 0.3e1 * t278 * t225 - 0.8e1 / 0.3e1 * t92 * t649 ); + const double t654 = t19 * t653; + const double t671 = piecewise_functor_3( t2, 0.0, -t18 * t512 * t51 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t654 * t51 - 0.3e1 / 0.8e1 * t18 * t298 * t162 - t18 * t119 * t255 / 0.8e1 - 0.3e1 / 0.8e1 * t18 * t230 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t564 ); + const double t674 = t260 * t260; + const double t677 = t255 * t255; + const double t688 = t250 * t250; + const double t689 = t373 * t688; + const double t690 = t142 * t689; + const double t695 = 0.1e1 / t36 / sigma * t29; + const double t698 = 0.1e1 / sigma; + const double t699 = t698 * t30; + const double t700 = t35 * t153; + const double t703 = t361 * rho; + const double t705 = 0.1e1 / t19 / t703; + const double t709 = -0.63e-2 * t695 * t42 + 0.63e-2 * t699 * t700 - 0.126e-1 * t29 * t705 * t393; + const double t710 = t144 * t709; + const double t711 = t142 * t710; + const double t714 = -0.18666666666666666666e-2 * t28 * t252 + 0.18666666666666666666e-2 * t141 * t690 - 0.93333333333333333332e-3 * t141 * t711; + const double t719 = 0.9e1 / 0.8e1 * t337 * t338 * t341 * t677 - t129 * t27 * t356 * t677 / 0.2e1 + t129 * t27 * t132 * t714 / 0.4e1; + const double t720 = piecewise_functor_3( t65, t719, 0.0 ); + const double t723 = t74 * t674; + const double t725 = t178 * t720; + const double t727 = t77 * t674; + const double t729 = t182 * t720; + const double t731 = t80 * t674; + const double t733 = t186 * t720; + const double t735 = t83 * t674; + const double t737 = t190 * t720; + const double t739 = t86 * t674; + const double t741 = t194 * t720; + const double t743 = t89 * t674; + const double t745 = t198 * t720; + const double t747 = t444 * t674; + const double t749 = t202 * t720; + const double t751 = t71 * t674 / 0.6e1 - t124 * t720 / 0.18e2 - t723 / 0.48e2 + t725 / 0.24e3 + t727 / 0.64e3 - t729 / 0.448e4 - t731 / 0.1152e5 + t733 / 0.10368e6 + t735 / 0.258048e6 - t737 / 0.2838528e7 - t739 / 0.688128e7 + t741 / 0.8945664e8 + t743 / 0.21233664e9 - t745 / 0.31850496e10 - t747 / 0.74317824e10 + t749 / 0.1263403008e12; + const double t752 = piecewise_functor_3( t65, 0.0, t719 ); + const double t757 = t278 * t278; + const double t758 = t457 * t757; + const double t774 = t478 * t757; + const double t785 = -0.2e1 * t470 * t757 * t101 + t213 * t752 * t101 / 0.2e1 + t774 * t101 / 0.4e1 - 0.4e1 * t757 * t102 - t99 * t757 * t101 - 0.4e1 * t217 * t752 - t94 * t752 * t101; + const double t788 = -t758 * t101 / 0.2e1 + 0.2e1 * t462 * t757 - t208 * t752 + 0.2e1 * t752 * t105 + 0.4e1 * t278 * t290 + 0.2e1 * t92 * t785; + const double t792 = piecewise_functor_3( t64, t751, -0.8e1 / 0.3e1 * t752 * t108 - 0.16e2 / 0.3e1 * t278 * t293 - 0.8e1 / 0.3e1 * t92 * t788 ); + const double t793 = t19 * t792; + const double t804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t18 * t793 * t51 - 0.3e1 / 0.4e1 * t18 * t298 * t255 - 0.3e1 / 0.8e1 * t18 * t113 * t714 ); + + + vrho = 0.2e1 * rho * t238 + 0.2e1 * t117; + vsigma = 0.2e1 * rho * t305; + v2rho2 = 0.2e1 * rho * t509 + 0.4e1 * t238; + v2rhosigma = 0.2e1 * rho * t671 + 0.2e1 * t305; + v2sigma2 = 0.2e1 * rho * t804; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + + + eps = t122 + t216; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + + + eps = t122 + t216; + vrho_a = t122 + t216 + t6 * ( t346 + t431 ); + vrho_b = t122 + t216 + t6 * ( t490 + t588 ); + vsigma_aa = t6 * t656; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t722; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t765 = constants::m_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + constexpr double t766 = t765 * t2; + constexpr double t767 = t31 * t31; + constexpr double t768 = 0.1e1 / t767; + constexpr double t769 = t33 * t33; + constexpr double t770 = t768 * t769; + constexpr double t779 = t2 * t768; + constexpr double t1688 = t779 * t769; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + const double t725 = t23 * t23; + const double t726 = 0.1e1 / t725; + const double t727 = t221 * t221; + const double t730 = t217 * t6; + const double t731 = 0.1e1 / t730; + const double t732 = t16 * t731; + const double t735 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t218 + 0.2e1 * t732 ); + const double t739 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t727 + 0.4e1 / 0.3e1 * t23 * t735 ); + const double t740 = t5 * t739; + const double t743 = t225 * t231; + const double t750 = 0.1e1 / t228 / t6; + const double t751 = t750 * t117; + const double t752 = t751 * t55; + const double t754 = t26 * t752 / 0.12e2; + const double t755 = t229 * t337; + const double t756 = t755 * t55; + const double t757 = t26 * t756; + const double t759 = t230 * t268; + const double t760 = t26 * t759; + const double t762 = t282 * t282; + const double t776 = omega / t59 / t766 / t770 / t242 / 0.3e1; + const double t778 = t776 * t66 * t765; + const double t780 = t241 * t241; + const double t781 = 0.1e1 / t780; + const double t782 = t769 * t781; + const double t783 = t268 * t268; + const double t784 = t782 * t783; + const double t789 = t238 * t275 * M_PI; + const double t790 = t242 * t268; + const double t792 = t36 * t790 * t277; + const double t795 = t241 * t55; + const double t796 = 0.1e1 / t795; + const double t797 = t33 * t796; + const double t798 = t797 * t783; + const double t802 = t37 * t37; + const double t804 = 0.1e1 / t39 / t802; + const double t805 = sigma_aa * t804; + const double t813 = 0.1e1 / t251 / t50; + const double t814 = t263 * t263; + const double t815 = t813 * t814; + const double t820 = 0.1e1 / t38 / t244; + const double t826 = sigma_aa * sigma_aa; + const double t829 = 0.1e1 / t38 / t802 / t244; + const double t832 = 0.1e1 / t259 / t258; + const double t835 = 0.784e-1 * t43 * t820 * t47 + 0.168e0 * t805 * t260 - 0.448e-1 * t826 * t829 * t832; + const double t836 = t252 * t835; + const double t840 = 0.9125925925925925926e-2 * t36 * t805 * t51 + 0.49777777777777777778e-2 * t36 * t247 * t264 + 0.18666666666666666666e-2 * t36 * t42 * t815 - 0.93333333333333333332e-3 * t36 * t42 * t836; + const double t841 = t243 * t840; + const double t845 = t19 * t19; + const double t848 = 0.1e1 / t64 / t845 / t217; + const double t849 = t62 * t848; + const double t850 = t277 * t277; + const double t856 = t735 * t6 + 0.2e1 * t221; + const double t860 = 0.9e1 / 0.8e1 * t778 * t779 * t784 - t789 * t792 / 0.6e1 - t240 * t35 * t798 / 0.2e1 + t240 * t35 * t841 / 0.4e1 + 0.2e1 / 0.9e1 * t61 * t849 * t850 - t61 * t275 * t856 / 0.6e1; + const double t861 = piecewise_functor_3( t70, t860, 0.0 ); + const double t889 = 0.1e1 / t93 / t72; + const double t894 = t76 * t762 / 0.6e1 - t235 * t861 / 0.18e2 - t79 * t762 / 0.48e2 + t286 * t861 / 0.24e3 + t82 * t762 / 0.64e3 - t290 * t861 / 0.448e4 - t85 * t762 / 0.1152e5 + t294 * t861 / 0.10368e6 + t88 * t762 / 0.258048e6 - t298 * t861 / 0.2838528e7 - t91 * t762 / 0.688128e7 + t302 * t861 / 0.8945664e8 + t94 * t762 / 0.21233664e9 - t306 * t861 / 0.31850496e10 - t889 * t762 / 0.74317824e10 + t310 * t861 / 0.1263403008e12; + const double t895 = piecewise_functor_3( t70, 0.0, t860 ); + const double t900 = t103 * t103; + const double t902 = 0.1e1 / t900 / t97; + const double t903 = t314 * t314; + const double t904 = t902 * t903; + const double t907 = t106 * t321; + const double t915 = 0.1e1 / t900; + const double t923 = 0.1e1 / t900 / t103; + const double t924 = t923 * t903; + const double t935 = -0.2e1 * t915 * t903 * t106 + t321 * t895 * t106 / 0.2e1 + t924 * t106 / 0.4e1 - 0.4e1 * t903 * t107 - t104 * t903 * t106 - 0.4e1 * t325 * t895 - t99 * t895 * t106; + const double t938 = -t904 * t106 / 0.2e1 + 0.2e1 * t907 * t903 - t316 * t895 + 0.2e1 * t895 * t110 + 0.4e1 * t314 * t330 + 0.2e1 * t97 * t935; + const double t942 = piecewise_functor_3( t69, t894, -0.8e1 / 0.3e1 * t895 * t113 - 0.16e2 / 0.3e1 * t314 * t333 - 0.8e1 / 0.3e1 * t97 * t938 ); + const double t943 = t27 * t942; + const double t944 = t943 * t55; + const double t947 = t338 * t268; + const double t950 = t118 * t840; + const double t954 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t740 * t119 - t743 / 0.4e1 - 0.3e1 / 0.4e1 * t225 * t339 - 0.3e1 / 0.4e1 * t225 * t342 + t754 - t757 / 0.4e1 - t760 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t944 - 0.3e1 / 0.4e1 * t26 * t947 - 0.3e1 / 0.8e1 * t26 * t950 ); + const double t955 = t129 * t129; + const double t956 = 0.1e1 / t955; + const double t957 = t349 * t349; + const double t960 = t124 * t731; + const double t963 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t218 + 0.2e1 * t960 ); + const double t967 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t957 + 0.4e1 / 0.3e1 * t129 * t963 ); + const double t968 = t5 * t967; + const double t971 = t353 * t357; + const double t975 = t750 * t211; + const double t976 = t975 * t151; + const double t978 = t132 * t976 / 0.12e2; + const double t979 = t229 * t425; + const double t980 = t979 * t151; + const double t981 = t132 * t980; + const double t983 = t370 * t370; + const double t986 = t127 * t127; + const double t989 = 0.1e1 / t159 / t986 / t217; + const double t990 = t62 * t989; + const double t991 = t366 * t366; + const double t997 = t963 * t6 + 0.2e1 * t349; + const double t1001 = 0.2e1 / 0.9e1 * t157 * t990 * t991 - t157 * t364 * t997 / 0.6e1; + const double t1002 = piecewise_functor_3( t165, t1001, 0.0 ); + const double t1030 = 0.1e1 / t188 / t167; + const double t1035 = t171 * t983 / 0.6e1 - t361 * t1002 / 0.18e2 - t174 * t983 / 0.48e2 + t374 * t1002 / 0.24e3 + t177 * t983 / 0.64e3 - t378 * t1002 / 0.448e4 - t180 * t983 / 0.1152e5 + t382 * t1002 / 0.10368e6 + t183 * t983 / 0.258048e6 - t386 * t1002 / 0.2838528e7 - t186 * t983 / 0.688128e7 + t390 * t1002 / 0.8945664e8 + t189 * t983 / 0.21233664e9 - t394 * t1002 / 0.31850496e10 - t1030 * t983 / 0.74317824e10 + t398 * t1002 / 0.1263403008e12; + const double t1036 = piecewise_functor_3( t165, 0.0, t1001 ); + const double t1041 = t197 * t197; + const double t1043 = 0.1e1 / t1041 / t192; + const double t1044 = t402 * t402; + const double t1045 = t1043 * t1044; + const double t1048 = t200 * t409; + const double t1056 = 0.1e1 / t1041; + const double t1064 = 0.1e1 / t1041 / t197; + const double t1065 = t1064 * t1044; + const double t1076 = -0.2e1 * t1056 * t1044 * t200 + t409 * t1036 * t200 / 0.2e1 + t1065 * t200 / 0.4e1 - 0.4e1 * t1044 * t201 - t198 * t1044 * t200 - 0.4e1 * t413 * t1036 - t193 * t1036 * t200; + const double t1079 = -t1045 * t200 / 0.2e1 + 0.2e1 * t1048 * t1044 - t404 * t1036 + 0.2e1 * t1036 * t204 + 0.4e1 * t402 * t418 + 0.2e1 * t192 * t1076; + const double t1083 = piecewise_functor_3( t164, t1035, -0.8e1 / 0.3e1 * t1036 * t207 - 0.16e2 / 0.3e1 * t402 * t421 - 0.8e1 / 0.3e1 * t192 * t1079 ); + const double t1084 = t27 * t1083; + const double t1085 = t1084 * t151; + const double t1089 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t968 * t213 - t971 / 0.4e1 - 0.3e1 / 0.4e1 * t353 * t427 + t978 - t981 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1085 ); + const double t1104 = t439 * t231; + const double t1115 = t229 * t484; + const double t1116 = t1115 * t55; + const double t1117 = t26 * t1116; + const double t1181 = t902 * t314; + const double t1196 = t106 * t314; + const double t1205 = t314 * t107; + const double t1208 = t104 * t314; + const double t1243 = t496 * t357; + const double t1251 = t229 * t579; + const double t1252 = t1251 * t151; + const double t1253 = t132 * t1252; + const double t1259 = t501 * t364 * M_PI; + const double t1260 = t505 * t531; + const double t1320 = t200 * t560; + const double t1366 = t356 * t531; + const double t1367 = t132 * t1366; + const double t1378 = t435 * t435; + const double t1383 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t218 + 0.2e1 * t732 ); + const double t1387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t1378 + 0.4e1 / 0.3e1 * t23 * t1383 ); + const double t1388 = t5 * t1387; + const double t1395 = t447 * t447; + const double t1398 = t443 * t443; + const double t1399 = t849 * t1398; + const double t1404 = t1383 * t6 + 0.2e1 * t435; + const double t1405 = t275 * t1404; + const double t1408 = 0.2e1 / 0.9e1 * t61 * t1399 - t61 * t1405 / 0.6e1; + const double t1409 = piecewise_functor_3( t70, t1408, 0.0 ); + const double t1412 = t79 * t1395; + const double t1414 = t286 * t1409; + const double t1416 = t82 * t1395; + const double t1418 = t290 * t1409; + const double t1420 = t85 * t1395; + const double t1422 = t294 * t1409; + const double t1424 = t88 * t1395; + const double t1426 = t298 * t1409; + const double t1428 = t91 * t1395; + const double t1430 = t302 * t1409; + const double t1432 = t94 * t1395; + const double t1434 = t306 * t1409; + const double t1436 = t889 * t1395; + const double t1438 = t310 * t1409; + const double t1440 = t76 * t1395 / 0.6e1 - t235 * t1409 / 0.18e2 - t1412 / 0.48e2 + t1414 / 0.24e3 + t1416 / 0.64e3 - t1418 / 0.448e4 - t1420 / 0.1152e5 + t1422 / 0.10368e6 + t1424 / 0.258048e6 - t1426 / 0.2838528e7 - t1428 / 0.688128e7 + t1430 / 0.8945664e8 + t1432 / 0.21233664e9 - t1434 / 0.31850496e10 - t1436 / 0.74317824e10 + t1438 / 0.1263403008e12; + const double t1441 = piecewise_functor_3( t70, 0.0, t1408 ); + const double t1446 = t465 * t465; + const double t1447 = t902 * t1446; + const double t1463 = t923 * t1446; + const double t1474 = -0.2e1 * t915 * t1446 * t106 + t321 * t1441 * t106 / 0.2e1 + t1463 * t106 / 0.4e1 - 0.4e1 * t1446 * t107 - t104 * t1446 * t106 - 0.4e1 * t325 * t1441 - t99 * t1441 * t106; + const double t1477 = -t1447 * t106 / 0.2e1 + 0.2e1 * t907 * t1446 - t316 * t1441 + 0.2e1 * t1441 * t110 + 0.4e1 * t465 * t477 + 0.2e1 * t97 * t1474; + const double t1481 = piecewise_functor_3( t69, t1440, -0.8e1 / 0.3e1 * t1441 * t113 - 0.16e2 / 0.3e1 * t465 * t480 - 0.8e1 / 0.3e1 * t97 * t1477 ); + const double t1482 = t27 * t1481; + const double t1483 = t1482 * t55; + const double t1487 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t1388 * t119 - t1104 / 0.4e1 - 0.3e1 / 0.4e1 * t439 * t486 + t754 - t1117 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t1483 ); + const double t1488 = t492 * t492; + const double t1493 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t218 + 0.2e1 * t960 ); + const double t1497 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t1488 + 0.4e1 / 0.3e1 * t129 * t1493 ); + const double t1498 = t5 * t1497; + const double t1508 = t542 * t542; + const double t1516 = omega / t155 / t766 / t770 / t505 / 0.3e1; + const double t1518 = t1516 * t161 * t765; + const double t1519 = t504 * t504; + const double t1520 = 0.1e1 / t1519; + const double t1521 = t769 * t1520; + const double t1522 = t531 * t531; + const double t1531 = t504 * t151; + const double t1532 = 0.1e1 / t1531; + const double t1533 = t33 * t1532; + const double t1538 = t133 * t133; + const double t1540 = 0.1e1 / t135 / t1538; + const double t1541 = sigma_bb * t1540; + const double t1549 = 0.1e1 / t514 / t146; + const double t1550 = t526 * t526; + const double t1551 = t1549 * t1550; + const double t1556 = 0.1e1 / t134 / t507; + const double t1562 = sigma_bb * sigma_bb; + const double t1565 = 0.1e1 / t134 / t1538 / t507; + const double t1568 = 0.1e1 / t522 / t521; + const double t1571 = 0.784e-1 * t139 * t1556 * t143 + 0.168e0 * t1541 * t523 - 0.448e-1 * t1562 * t1565 * t1568; + const double t1572 = t515 * t1571; + const double t1576 = 0.9125925925925925926e-2 * t36 * t1541 * t147 + 0.49777777777777777778e-2 * t36 * t510 * t527 + 0.18666666666666666666e-2 * t36 * t138 * t1551 - 0.93333333333333333332e-3 * t36 * t138 * t1572; + const double t1581 = t537 * t537; + const double t1587 = t1493 * t6 + 0.2e1 * t492; + const double t1591 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t1522 - t1259 * t36 * t1260 * t537 / 0.6e1 - t503 * t35 * t1533 * t1522 / 0.2e1 + t503 * t35 * t506 * t1576 / 0.4e1 + 0.2e1 / 0.9e1 * t157 * t990 * t1581 - t157 * t364 * t1587 / 0.6e1; + const double t1592 = piecewise_functor_3( t165, t1591, 0.0 ); + const double t1595 = t174 * t1508; + const double t1597 = t374 * t1592; + const double t1599 = t177 * t1508; + const double t1601 = t378 * t1592; + const double t1603 = t180 * t1508; + const double t1605 = t382 * t1592; + const double t1607 = t183 * t1508; + const double t1609 = t386 * t1592; + const double t1611 = t186 * t1508; + const double t1613 = t390 * t1592; + const double t1615 = t189 * t1508; + const double t1617 = t394 * t1592; + const double t1619 = t1030 * t1508; + const double t1621 = t398 * t1592; + const double t1623 = t171 * t1508 / 0.6e1 - t361 * t1592 / 0.18e2 - t1595 / 0.48e2 + t1597 / 0.24e3 + t1599 / 0.64e3 - t1601 / 0.448e4 - t1603 / 0.1152e5 + t1605 / 0.10368e6 + t1607 / 0.258048e6 - t1609 / 0.2838528e7 - t1611 / 0.688128e7 + t1613 / 0.8945664e8 + t1615 / 0.21233664e9 - t1617 / 0.31850496e10 - t1619 / 0.74317824e10 + t1621 / 0.1263403008e12; + const double t1624 = piecewise_functor_3( t165, 0.0, t1591 ); + const double t1629 = t560 * t560; + const double t1630 = t1043 * t1629; + const double t1646 = t1064 * t1629; + const double t1657 = -0.2e1 * t1056 * t1629 * t200 + t409 * t1624 * t200 / 0.2e1 + t1646 * t200 / 0.4e1 - 0.4e1 * t1629 * t201 - t198 * t1629 * t200 - 0.4e1 * t413 * t1624 - t193 * t1624 * t200; + const double t1660 = -t1630 * t200 / 0.2e1 + 0.2e1 * t1048 * t1629 - t404 * t1624 + 0.2e1 * t1624 * t204 + 0.4e1 * t560 * t572 + 0.2e1 * t192 * t1657; + const double t1664 = piecewise_functor_3( t164, t1623, -0.8e1 / 0.3e1 * t1624 * t207 - 0.16e2 / 0.3e1 * t560 * t575 - 0.8e1 / 0.3e1 * t192 * t1660 ); + const double t1665 = t27 * t1664; + const double t1666 = t1665 * t151; + const double t1669 = t580 * t531; + const double t1672 = t212 * t1576; + const double t1676 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t1498 * t213 - t1243 / 0.4e1 - 0.3e1 / 0.4e1 * t496 * t581 - 0.3e1 / 0.4e1 * t496 * t584 + t978 - t1253 / 0.4e1 - t1367 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1666 - 0.3e1 / 0.4e1 * t132 * t1669 - 0.3e1 / 0.8e1 * t132 * t1672 ); + const double t1681 = t229 * t648; + const double t1682 = t1681 * t55; + const double t1684 = t26 * t1682 / 0.8e1; + const double t1685 = t76 * t611; + const double t1689 = t781 * t606; + const double t1694 = t242 * t606; + const double t1699 = t796 * t606; + const double t1708 = t41 * t252; + const double t1716 = t35 * t33 * sigma_aa; + const double t1717 = t41 * t813; + const double t1718 = t601 * t263; + const double t1719 = t1717 * t1718; + const double t1727 = t802 * t37; + const double t1729 = 0.1e1 / t38 / t1727; + const double t1730 = t1729 * t832; + const double t1733 = -0.168e-1 * t595 * t254 * t47 - 0.504e-1 * t246 * t260 + 0.168e-1 * t1730 * sigma_aa; + const double t1734 = t252 * t1733; + const double t1738 = -0.24888888888888888889e-2 * t35 * t33 * t246 * t51 - 0.93333333333333333332e-3 * t36 * t1708 * t263 + 0.24888888888888888889e-2 * t36 * t247 * t602 + 0.18666666666666666666e-2 * t1716 * t1719 - 0.93333333333333333332e-3 * t36 * t42 * t1734; + const double t1743 = 0.9e1 / 0.8e1 * t778 * t1688 * t1689 * t268 - t789 * t36 * t1694 * t277 / 0.12e2 - t240 * t36 * t1699 * t268 / 0.2e1 + t240 * t35 * t243 * t1738 / 0.4e1; + const double t1744 = piecewise_functor_3( t70, t1743, 0.0 ); + const double t1747 = t79 * t611; + const double t1750 = t286 * t1744; + const double t1752 = t82 * t611; + const double t1755 = t290 * t1744; + const double t1757 = t85 * t611; + const double t1760 = t294 * t1744; + const double t1762 = t88 * t611; + const double t1765 = t298 * t1744; + const double t1767 = t91 * t611; + const double t1770 = t302 * t1744; + const double t1772 = t94 * t611; + const double t1775 = t306 * t1744; + const double t1777 = t889 * t611; + const double t1780 = t310 * t1744; + const double t1782 = t1685 * t282 / 0.6e1 - t235 * t1744 / 0.18e2 - t1747 * t282 / 0.48e2 + t1750 / 0.24e3 + t1752 * t282 / 0.64e3 - t1755 / 0.448e4 - t1757 * t282 / 0.1152e5 + t1760 / 0.10368e6 + t1762 * t282 / 0.258048e6 - t1765 / 0.2838528e7 - t1767 * t282 / 0.688128e7 + t1770 / 0.8945664e8 + t1772 * t282 / 0.21233664e9 - t1775 / 0.31850496e10 - t1777 * t282 / 0.74317824e10 + t1780 / 0.1263403008e12; + const double t1783 = piecewise_functor_3( t70, 0.0, t1743 ); + const double t1787 = t106 * t629; + const double t1790 = t629 * t314; + const double t1800 = t915 * t629; + const double t1806 = t923 * t629; + const double t1816 = -0.2e1 * t1800 * t1196 + t321 * t1783 * t106 / 0.2e1 + t1806 * t1196 / 0.4e1 - 0.4e1 * t1205 * t629 - t1208 * t1787 - 0.4e1 * t325 * t1783 - t99 * t1783 * t106; + const double t1819 = -t1181 * t1787 / 0.2e1 + 0.2e1 * t907 * t1790 - t316 * t1783 + 0.2e1 * t1783 * t110 + 0.2e1 * t629 * t330 + 0.2e1 * t314 * t641 + 0.2e1 * t97 * t1816; + const double t1823 = piecewise_functor_3( t69, t1782, -0.8e1 / 0.3e1 * t1783 * t113 - 0.8e1 / 0.3e1 * t97 * t1819 - 0.8e1 / 0.3e1 * t314 * t644 - 0.8e1 / 0.3e1 * t629 * t333 ); + const double t1824 = t27 * t1823; + const double t1825 = t1824 * t55; + const double t1828 = t649 * t268; + const double t1833 = t230 * t606; + const double t1835 = t26 * t1833 / 0.8e1; + const double t1836 = t338 * t606; + const double t1839 = t118 * t1738; + const double t1843 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t650 - t1684 - 0.3e1 / 0.8e1 * t26 * t1825 - 0.3e1 / 0.8e1 * t26 * t1828 - 0.3e1 / 0.8e1 * t225 * t652 - t1835 - 0.3e1 / 0.8e1 * t26 * t1836 - 0.3e1 / 0.8e1 * t26 * t1839 ); + const double t1847 = t229 * t714; + const double t1848 = t1847 * t151; + const double t1850 = t132 * t1848 / 0.8e1; + const double t1851 = t171 * t677; + const double t1854 = t505 * t672; + const double t1862 = t174 * t677; + const double t1867 = t177 * t677; + const double t1872 = t180 * t677; + const double t1877 = t183 * t677; + const double t1882 = t186 * t677; + const double t1887 = t189 * t677; + const double t1892 = t1030 * t677; + const double t1902 = t200 * t695; + const double t1915 = t1056 * t695; + const double t1921 = t1064 * t695; + const double t1945 = t356 * t672; + const double t1947 = t132 * t1945 / 0.8e1; + const double t2051 = t1520 * t672; + const double t2060 = t1532 * t672; + const double t2069 = t137 * t515; + const double t2077 = t35 * t33 * sigma_bb; + const double t2078 = t137 * t1549; + const double t2079 = t667 * t526; + const double t2080 = t2078 * t2079; + const double t2088 = t1538 * t133; + const double t2090 = 0.1e1 / t134 / t2088; + const double t2091 = t2090 * t1568; + const double t2094 = -0.168e-1 * t661 * t517 * t143 - 0.504e-1 * t509 * t523 + 0.168e-1 * t2091 * sigma_bb; + const double t2095 = t515 * t2094; + const double t2099 = -0.24888888888888888889e-2 * t35 * t33 * t509 * t147 - 0.93333333333333333332e-3 * t36 * t2069 * t526 + 0.24888888888888888889e-2 * t36 * t510 * t668 + 0.18666666666666666666e-2 * t2077 * t2080 - 0.93333333333333333332e-3 * t36 * t138 * t2095; + const double t2104 = 0.9e1 / 0.8e1 * t1518 * t1688 * t2051 * t531 - t1259 * t36 * t1854 * t537 / 0.12e2 - t503 * t36 * t2060 * t531 / 0.2e1 + t503 * t35 * t506 * t2099 / 0.4e1; + const double t2105 = piecewise_functor_3( t165, t2104, 0.0 ); + const double t2110 = t374 * t2105; + const double t2114 = t378 * t2105; + const double t2118 = t382 * t2105; + const double t2122 = t386 * t2105; + const double t2126 = t390 * t2105; + const double t2130 = t394 * t2105; + const double t2134 = t398 * t2105; + const double t2136 = t1851 * t542 / 0.6e1 - t361 * t2105 / 0.18e2 - t1862 * t542 / 0.48e2 + t2110 / 0.24e3 + t1867 * t542 / 0.64e3 - t2114 / 0.448e4 - t1872 * t542 / 0.1152e5 + t2118 / 0.10368e6 + t1877 * t542 / 0.258048e6 - t2122 / 0.2838528e7 - t1882 * t542 / 0.688128e7 + t2126 / 0.8945664e8 + t1887 * t542 / 0.21233664e9 - t2130 / 0.31850496e10 - t1892 * t542 / 0.74317824e10 + t2134 / 0.1263403008e12; + const double t2137 = piecewise_functor_3( t165, 0.0, t2104 ); + const double t2141 = t1043 * t560; + const double t2144 = t695 * t560; + const double t2161 = t560 * t201; + const double t2164 = t198 * t560; + const double t2170 = -0.2e1 * t1915 * t1320 + t409 * t2137 * t200 / 0.2e1 + t1921 * t1320 / 0.4e1 - 0.4e1 * t2161 * t695 - t2164 * t1902 - 0.4e1 * t413 * t2137 - t193 * t2137 * t200; + const double t2173 = -t2141 * t1902 / 0.2e1 + 0.2e1 * t1048 * t2144 - t404 * t2137 + 0.2e1 * t2137 * t204 + 0.2e1 * t695 * t572 + 0.2e1 * t560 * t707 + 0.2e1 * t192 * t2170; + const double t2177 = piecewise_functor_3( t164, t2136, -0.8e1 / 0.3e1 * t192 * t2173 - 0.8e1 / 0.3e1 * t2137 * t207 - 0.8e1 / 0.3e1 * t560 * t710 - 0.8e1 / 0.3e1 * t695 * t575 ); + const double t2178 = t27 * t2177; + const double t2179 = t2178 * t151; + const double t2182 = t715 * t531; + const double t2187 = t580 * t672; + const double t2190 = t212 * t2099; + const double t2194 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t716 - t1850 - 0.3e1 / 0.8e1 * t132 * t2179 - 0.3e1 / 0.8e1 * t132 * t2182 - 0.3e1 / 0.8e1 * t496 * t718 - t1947 - 0.3e1 / 0.8e1 * t132 * t2187 - 0.3e1 / 0.8e1 * t132 * t2190 ); + const double t2196 = t611 * t611; + const double t2199 = t606 * t606; + const double t2211 = t601 * t601; + const double t2212 = t813 * t2211; + const double t2217 = 0.1e1 / t43 / sigma_aa; + const double t2221 = 0.1e1 / sigma_aa; + const double t2225 = t802 * rho_a; + const double t2227 = 0.1e1 / t38 / t2225; + const double t2230 = -0.63e-2 * t2217 * t45 * t47 + 0.63e-2 * t2221 * t41 * t260 - 0.63e-2 * t2227 * t832; + const double t2231 = t252 * t2230; + const double t2235 = -0.18666666666666666666e-2 * t36 * t1708 * t601 + 0.18666666666666666666e-2 * t36 * t42 * t2212 - 0.93333333333333333332e-3 * t36 * t42 * t2231; + const double t2240 = 0.9e1 / 0.8e1 * t778 * t779 * t782 * t2199 - t240 * t35 * t797 * t2199 / 0.2e1 + t240 * t35 * t243 * t2235 / 0.4e1; + const double t2241 = piecewise_functor_3( t70, t2240, 0.0 ); + const double t2244 = t79 * t2196; + const double t2246 = t286 * t2241; + const double t2248 = t82 * t2196; + const double t2250 = t290 * t2241; + const double t2252 = t85 * t2196; + const double t2254 = t294 * t2241; + const double t2256 = t88 * t2196; + const double t2258 = t298 * t2241; + const double t2260 = t91 * t2196; + const double t2262 = t302 * t2241; + const double t2264 = t94 * t2196; + const double t2266 = t306 * t2241; + const double t2268 = t889 * t2196; + const double t2270 = t310 * t2241; + const double t2272 = t76 * t2196 / 0.6e1 - t235 * t2241 / 0.18e2 - t2244 / 0.48e2 + t2246 / 0.24e3 + t2248 / 0.64e3 - t2250 / 0.448e4 - t2252 / 0.1152e5 + t2254 / 0.10368e6 + t2256 / 0.258048e6 - t2258 / 0.2838528e7 - t2260 / 0.688128e7 + t2262 / 0.8945664e8 + t2264 / 0.21233664e9 - t2266 / 0.31850496e10 - t2268 / 0.74317824e10 + t2270 / 0.1263403008e12; + const double t2273 = piecewise_functor_3( t70, 0.0, t2240 ); + const double t2278 = t629 * t629; + const double t2279 = t902 * t2278; + const double t2295 = t923 * t2278; + const double t2306 = -0.2e1 * t915 * t2278 * t106 + t321 * t2273 * t106 / 0.2e1 + t2295 * t106 / 0.4e1 - 0.4e1 * t2278 * t107 - t104 * t2278 * t106 - 0.4e1 * t325 * t2273 - t99 * t2273 * t106; + const double t2309 = -t2279 * t106 / 0.2e1 + 0.2e1 * t907 * t2278 - t316 * t2273 + 0.2e1 * t2273 * t110 + 0.4e1 * t629 * t641 + 0.2e1 * t97 * t2306; + const double t2313 = piecewise_functor_3( t69, t2272, -0.8e1 / 0.3e1 * t2273 * t113 - 0.16e2 / 0.3e1 * t629 * t644 - 0.8e1 / 0.3e1 * t97 * t2309 ); + const double t2314 = t27 * t2313; + const double t2315 = t2314 * t55; + const double t2318 = t649 * t606; + const double t2321 = t118 * t2235; + const double t2325 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t2315 - 0.3e1 / 0.4e1 * t26 * t2318 - 0.3e1 / 0.8e1 * t26 * t2321 ); + const double t2326 = t677 * t677; + const double t2329 = t672 * t672; + const double t2341 = t667 * t667; + const double t2342 = t1549 * t2341; + const double t2347 = 0.1e1 / t139 / sigma_bb; + const double t2351 = 0.1e1 / sigma_bb; + const double t2355 = t1538 * rho_b; + const double t2357 = 0.1e1 / t134 / t2355; + const double t2360 = -0.63e-2 * t2347 * t141 * t143 + 0.63e-2 * t2351 * t137 * t523 - 0.63e-2 * t2357 * t1568; + const double t2361 = t515 * t2360; + const double t2365 = -0.18666666666666666666e-2 * t36 * t2069 * t667 + 0.18666666666666666666e-2 * t36 * t138 * t2342 - 0.93333333333333333332e-3 * t36 * t138 * t2361; + const double t2370 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t2329 - t503 * t35 * t1533 * t2329 / 0.2e1 + t503 * t35 * t506 * t2365 / 0.4e1; + const double t2371 = piecewise_functor_3( t165, t2370, 0.0 ); + const double t2374 = t174 * t2326; + const double t2376 = t374 * t2371; + const double t2378 = t177 * t2326; + const double t2380 = t378 * t2371; + const double t2382 = t180 * t2326; + const double t2384 = t382 * t2371; + const double t2386 = t183 * t2326; + const double t2388 = t386 * t2371; + const double t2390 = t186 * t2326; + const double t2392 = t390 * t2371; + const double t2394 = t189 * t2326; + const double t2396 = t394 * t2371; + const double t2398 = t1030 * t2326; + const double t2400 = t398 * t2371; + const double t2402 = t171 * t2326 / 0.6e1 - t361 * t2371 / 0.18e2 - t2374 / 0.48e2 + t2376 / 0.24e3 + t2378 / 0.64e3 - t2380 / 0.448e4 - t2382 / 0.1152e5 + t2384 / 0.10368e6 + t2386 / 0.258048e6 - t2388 / 0.2838528e7 - t2390 / 0.688128e7 + t2392 / 0.8945664e8 + t2394 / 0.21233664e9 - t2396 / 0.31850496e10 - t2398 / 0.74317824e10 + t2400 / 0.1263403008e12; + const double t2403 = piecewise_functor_3( t165, 0.0, t2370 ); + const double t2408 = t695 * t695; + const double t2409 = t1043 * t2408; + const double t2425 = t1064 * t2408; + const double t2436 = -0.2e1 * t1056 * t2408 * t200 + t409 * t2403 * t200 / 0.2e1 + t2425 * t200 / 0.4e1 - 0.4e1 * t2408 * t201 - t198 * t2408 * t200 - 0.4e1 * t413 * t2403 - t193 * t2403 * t200; + const double t2439 = -t2409 * t200 / 0.2e1 + 0.2e1 * t1048 * t2408 - t404 * t2403 + 0.2e1 * t2403 * t204 + 0.4e1 * t695 * t707 + 0.2e1 * t192 * t2436; + const double t2443 = piecewise_functor_3( t164, t2402, -0.8e1 / 0.3e1 * t2403 * t207 - 0.16e2 / 0.3e1 * t695 * t710 - 0.8e1 / 0.3e1 * t192 * t2439 ); + const double t2444 = t27 * t2443; + const double t2445 = t2444 * t151; + const double t2448 = t715 * t672; + const double t2451 = t212 * t2365; + const double t2455 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t2445 - 0.3e1 / 0.4e1 * t132 * t2448 - 0.3e1 / 0.8e1 * t132 * t2451 ); + + + v2rho2_aa = 0.2e1 * t346 + 0.2e1 * t431 + t6 * ( t954 + t1089 ); + v2rho2_bb = 0.2e1 * t490 + 0.2e1 * t588 + t6 * ( t1487 + t1676 ); + v2rhosigma_a_aa = t6 * t1843 + t656; + v2rhosigma_b_bb = t6 * t2194 + t722; + v2sigma2_aa_aa = t6 * t2325; + v2sigma2_bb_bb = t6 * t2455; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_one_ov_pi; + constexpr double t33 = constants::m_cbrt_4; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t765 = constants::m_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t34 = t32 * t33; + constexpr double t35 = t28 * t32; + constexpr double t36 = t35 * t33; + constexpr double t766 = t765 * t2; + constexpr double t767 = t31 * t31; + constexpr double t768 = 0.1e1 / t767; + constexpr double t769 = t33 * t33; + constexpr double t770 = t768 * t769; + constexpr double t779 = t2 * t768; + constexpr double t1688 = t779 * t769; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = t5 * t25; + const double t27 = safe_math::cbrt( t6 ); + const double t29 = M_PI * t28; + const double t37 = rho_a * rho_a; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / t37; + const double t42 = sigma_aa * t41; + const double t43 = safe_math::sqrt( sigma_aa ); + const double t45 = 0.1e1 / t38 / rho_a; + const double t46 = t43 * t45; + const double t47 = safe_math::log( t46 + safe_math::sqrt( t46 * t46 + 0.1e1 ) ); + const double t50 = 0.1e1 + 0.252e-1 * t46 * t47; + const double t51 = 0.1e1 / t50; + const double t55 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t42 * t51; + const double t58 = t29 * t34 / t55; + const double t59 = safe_math::sqrt( t58 ); + const double t61 = omega / t59; + const double t63 = t19 * t6; + const double t64 = safe_math::cbrt( t63 ); + const double t65 = 0.1e1 / t64; + const double t66 = t62 * t65; + const double t68 = t61 * t66 / 0.2e1; + const double t69 = 0.135e1 <= t68; + const double t70 = 0.135e1 < t68; + const double t71 = piecewise_functor_3( t70, t68, 1.35 ); + const double t72 = t71 * t71; + const double t75 = t72 * t72; + const double t76 = 0.1e1 / t75; + const double t78 = t75 * t72; + const double t79 = 0.1e1 / t78; + const double t81 = t75 * t75; + const double t82 = 0.1e1 / t81; + const double t85 = 0.1e1 / t81 / t72; + const double t88 = 0.1e1 / t81 / t75; + const double t91 = 0.1e1 / t81 / t78; + const double t93 = t81 * t81; + const double t94 = 0.1e1 / t93; + const double t97 = piecewise_functor_3( t70, 1.35, t68 ); + const double t98 = safe_math::sqrt( M_PI ); + const double t99 = 0.1e1 / t97; + const double t101 = safe_math::erf( t99 / 0.2e1 ); + const double t103 = t97 * t97; + const double t104 = 0.1e1 / t103; + const double t106 = safe_math::exp( -t104 / 0.4e1 ); + const double t107 = t106 - 0.1e1; + const double t110 = t106 - 0.3e1 / 0.2e1 - 0.2e1 * t103 * t107; + const double t113 = t98 * t101 + 0.2e1 * t97 * t110; + const double t117 = piecewise_functor_3( t69, 0.1e1 / t72 / 0.36e2 - t76 / 0.96e3 + t79 / 0.2688e5 - t82 / 0.82944e6 + t85 / 0.2838528e8 - t88 / 0.107347968e10 + t91 / 0.445906944e11 - t94 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t97 * t113 ); + const double t118 = t27 * t117; + const double t119 = t118 * t55; + const double t122 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t119 ); + const double t123 = rho_b <= dens_tol; + const double t124 = -t16; + const double t126 = piecewise_functor_5( t14, t11, t10, t15, t124 * t7 ); + const double t127 = 0.1e1 + t126; + const double t128 = t127 <= zeta_tol; + const double t129 = safe_math::cbrt( t127 ); + const double t131 = piecewise_functor_3( t128, t22, t129 * t127 ); + const double t132 = t5 * t131; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t138 = sigma_bb * t137; + const double t139 = safe_math::sqrt( sigma_bb ); + const double t141 = 0.1e1 / t134 / rho_b; + const double t142 = t139 * t141; + const double t143 = safe_math::log( t142 + safe_math::sqrt( t142 * t142 + 0.1e1 ) ); + const double t146 = 0.1e1 + 0.252e-1 * t142 * t143; + const double t147 = 0.1e1 / t146; + const double t151 = 0.1e1 + 0.93333333333333333332e-3 * t36 * t138 * t147; + const double t154 = t29 * t34 / t151; + const double t155 = safe_math::sqrt( t154 ); + const double t157 = omega / t155; + const double t158 = t127 * t6; + const double t159 = safe_math::cbrt( t158 ); + const double t160 = 0.1e1 / t159; + const double t161 = t62 * t160; + const double t163 = t157 * t161 / 0.2e1; + const double t164 = 0.135e1 <= t163; + const double t165 = 0.135e1 < t163; + const double t166 = piecewise_functor_3( t165, t163, 1.35 ); + const double t167 = t166 * t166; + const double t170 = t167 * t167; + const double t171 = 0.1e1 / t170; + const double t173 = t170 * t167; + const double t174 = 0.1e1 / t173; + const double t176 = t170 * t170; + const double t177 = 0.1e1 / t176; + const double t180 = 0.1e1 / t176 / t167; + const double t183 = 0.1e1 / t176 / t170; + const double t186 = 0.1e1 / t176 / t173; + const double t188 = t176 * t176; + const double t189 = 0.1e1 / t188; + const double t192 = piecewise_functor_3( t165, 1.35, t163 ); + const double t193 = 0.1e1 / t192; + const double t195 = safe_math::erf( t193 / 0.2e1 ); + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = safe_math::exp( -t198 / 0.4e1 ); + const double t201 = t200 - 0.1e1; + const double t204 = t200 - 0.3e1 / 0.2e1 - 0.2e1 * t197 * t201; + const double t207 = 0.2e1 * t192 * t204 + t98 * t195; + const double t211 = piecewise_functor_3( t164, 0.1e1 / t167 / 0.36e2 - t171 / 0.96e3 + t174 / 0.2688e5 - t177 / 0.82944e6 + t180 / 0.2838528e8 - t183 / 0.107347968e10 + t186 / 0.445906944e11 - t189 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t192 * t207 ); + const double t212 = t27 * t211; + const double t213 = t212 * t151; + const double t216 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t213 ); + const double t217 = t6 * t6; + const double t218 = 0.1e1 / t217; + const double t219 = t16 * t218; + const double t221 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t219 ); + const double t224 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t221 ); + const double t225 = t5 * t224; + const double t228 = t27 * t27; + const double t229 = 0.1e1 / t228; + const double t230 = t229 * t117; + const double t231 = t230 * t55; + const double t233 = t26 * t231 / 0.8e1; + const double t234 = t72 * t71; + const double t235 = 0.1e1 / t234; + const double t238 = omega / t59 / t58; + const double t240 = t238 * t66 * M_PI; + const double t241 = t55 * t55; + const double t242 = 0.1e1 / t241; + const double t243 = t33 * t242; + const double t244 = t37 * rho_a; + const double t246 = 0.1e1 / t39 / t244; + const double t247 = sigma_aa * t246; + const double t251 = t50 * t50; + const double t252 = 0.1e1 / t251; + const double t254 = 0.1e1 / t38 / t37; + const double t258 = t42 + 0.1e1; + const double t259 = safe_math::sqrt( t258 ); + const double t260 = 0.1e1 / t259; + const double t263 = -0.336e-1 * t43 * t254 * t47 - 0.336e-1 * t247 * t260; + const double t264 = t252 * t263; + const double t268 = -0.24888888888888888889e-2 * t36 * t247 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t264; + const double t269 = t243 * t268; + const double t274 = 0.1e1 / t64 / t63; + const double t275 = t62 * t274; + const double t277 = t221 * t6 + t18 + 0.1e1; + const double t281 = t240 * t35 * t269 / 0.4e1 - t61 * t275 * t277 / 0.6e1; + const double t282 = piecewise_functor_3( t70, t281, 0.0 ); + const double t285 = t75 * t71; + const double t286 = 0.1e1 / t285; + const double t289 = t75 * t234; + const double t290 = 0.1e1 / t289; + const double t294 = 0.1e1 / t81 / t71; + const double t298 = 0.1e1 / t81 / t234; + const double t302 = 0.1e1 / t81 / t285; + const double t306 = 0.1e1 / t81 / t289; + const double t310 = 0.1e1 / t93 / t71; + const double t314 = piecewise_functor_3( t70, 0.0, t281 ); + const double t316 = t106 * t104; + const double t320 = t103 * t97; + const double t321 = 0.1e1 / t320; + const double t325 = t97 * t107; + const double t330 = t321 * t314 * t106 / 0.2e1 - 0.4e1 * t325 * t314 - t99 * t314 * t106; + const double t333 = 0.2e1 * t314 * t110 - t316 * t314 + 0.2e1 * t97 * t330; + const double t337 = piecewise_functor_3( t69, -t235 * t282 / 0.18e2 + t286 * t282 / 0.24e3 - t290 * t282 / 0.448e4 + t294 * t282 / 0.10368e6 - t298 * t282 / 0.2838528e7 + t302 * t282 / 0.8945664e8 - t306 * t282 / 0.31850496e10 + t310 * t282 / 0.1263403008e12, -0.8e1 / 0.3e1 * t314 * t113 - 0.8e1 / 0.3e1 * t97 * t333 ); + const double t338 = t27 * t337; + const double t339 = t338 * t55; + const double t342 = t118 * t268; + const double t346 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t339 - 0.3e1 / 0.8e1 * t26 * t342 ); + const double t347 = t124 * t218; + const double t349 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t347 ); + const double t352 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t349 ); + const double t353 = t5 * t352; + const double t356 = t229 * t211; + const double t357 = t356 * t151; + const double t359 = t132 * t357 / 0.8e1; + const double t360 = t167 * t166; + const double t361 = 0.1e1 / t360; + const double t363 = 0.1e1 / t159 / t158; + const double t364 = t62 * t363; + const double t366 = t349 * t6 + t126 + 0.1e1; + const double t369 = t157 * t364 * t366 / 0.6e1; + const double t370 = piecewise_functor_3( t165, -t369, 0.0 ); + const double t373 = t170 * t166; + const double t374 = 0.1e1 / t373; + const double t377 = t170 * t360; + const double t378 = 0.1e1 / t377; + const double t382 = 0.1e1 / t176 / t166; + const double t386 = 0.1e1 / t176 / t360; + const double t390 = 0.1e1 / t176 / t373; + const double t394 = 0.1e1 / t176 / t377; + const double t398 = 0.1e1 / t188 / t166; + const double t402 = piecewise_functor_3( t165, 0.0, -t369 ); + const double t404 = t200 * t198; + const double t408 = t197 * t192; + const double t409 = 0.1e1 / t408; + const double t413 = t192 * t201; + const double t418 = t409 * t402 * t200 / 0.2e1 - 0.4e1 * t413 * t402 - t193 * t402 * t200; + const double t421 = 0.2e1 * t192 * t418 + 0.2e1 * t402 * t204 - t404 * t402; + const double t425 = piecewise_functor_3( t164, -t361 * t370 / 0.18e2 + t374 * t370 / 0.24e3 - t378 * t370 / 0.448e4 + t382 * t370 / 0.10368e6 - t386 * t370 / 0.2838528e7 + t390 * t370 / 0.8945664e8 - t394 * t370 / 0.31850496e10 + t398 * t370 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t421 - 0.8e1 / 0.3e1 * t402 * t207 ); + const double t426 = t27 * t425; + const double t427 = t426 * t151; + const double t431 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t353 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t427 ); + const double t435 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t219 ); + const double t438 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t435 ); + const double t439 = t5 * t438; + const double t443 = t435 * t6 + t18 + 0.1e1; + const double t444 = t275 * t443; + const double t446 = t61 * t444 / 0.6e1; + const double t447 = piecewise_functor_3( t70, -t446, 0.0 ); + const double t450 = t286 * t447; + const double t452 = t290 * t447; + const double t454 = t294 * t447; + const double t456 = t298 * t447; + const double t458 = t302 * t447; + const double t460 = t306 * t447; + const double t462 = t310 * t447; + const double t465 = piecewise_functor_3( t70, 0.0, -t446 ); + const double t477 = t321 * t465 * t106 / 0.2e1 - 0.4e1 * t325 * t465 - t99 * t465 * t106; + const double t480 = 0.2e1 * t465 * t110 - t316 * t465 + 0.2e1 * t97 * t477; + const double t484 = piecewise_functor_3( t69, -t235 * t447 / 0.18e2 + t450 / 0.24e3 - t452 / 0.448e4 + t454 / 0.10368e6 - t456 / 0.2838528e7 + t458 / 0.8945664e8 - t460 / 0.31850496e10 + t462 / 0.1263403008e12, -0.8e1 / 0.3e1 * t465 * t113 - 0.8e1 / 0.3e1 * t97 * t480 ); + const double t485 = t27 * t484; + const double t486 = t485 * t55; + const double t490 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t439 * t119 - t233 - 0.3e1 / 0.8e1 * t26 * t486 ); + const double t492 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t347 ); + const double t495 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.3e1 * t129 * t492 ); + const double t496 = t5 * t495; + const double t501 = omega / t155 / t154; + const double t503 = t501 * t161 * M_PI; + const double t504 = t151 * t151; + const double t505 = 0.1e1 / t504; + const double t506 = t33 * t505; + const double t507 = t133 * rho_b; + const double t509 = 0.1e1 / t135 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t146 * t146; + const double t515 = 0.1e1 / t514; + const double t517 = 0.1e1 / t134 / t133; + const double t521 = t138 + 0.1e1; + const double t522 = safe_math::sqrt( t521 ); + const double t523 = 0.1e1 / t522; + const double t526 = -0.336e-1 * t139 * t517 * t143 - 0.336e-1 * t510 * t523; + const double t527 = t515 * t526; + const double t531 = -0.24888888888888888889e-2 * t36 * t510 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t527; + const double t537 = t492 * t6 + t126 + 0.1e1; + const double t541 = t503 * t35 * t506 * t531 / 0.4e1 - t157 * t364 * t537 / 0.6e1; + const double t542 = piecewise_functor_3( t165, t541, 0.0 ); + const double t545 = t374 * t542; + const double t547 = t378 * t542; + const double t549 = t382 * t542; + const double t551 = t386 * t542; + const double t553 = t390 * t542; + const double t555 = t394 * t542; + const double t557 = t398 * t542; + const double t560 = piecewise_functor_3( t165, 0.0, t541 ); + const double t572 = t409 * t560 * t200 / 0.2e1 - 0.4e1 * t413 * t560 - t193 * t560 * t200; + const double t575 = 0.2e1 * t192 * t572 + 0.2e1 * t560 * t204 - t404 * t560; + const double t579 = piecewise_functor_3( t164, -t361 * t542 / 0.18e2 + t545 / 0.24e3 - t547 / 0.448e4 + t549 / 0.10368e6 - t551 / 0.2838528e7 + t553 / 0.8945664e8 - t555 / 0.31850496e10 + t557 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t575 - 0.8e1 / 0.3e1 * t560 * t207 ); + const double t580 = t27 * t579; + const double t581 = t580 * t151; + const double t584 = t212 * t531; + const double t588 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t213 - t359 - 0.3e1 / 0.8e1 * t132 * t581 - 0.3e1 / 0.8e1 * t132 * t584 ); + const double t595 = 0.1e1 / t43; + const double t601 = 0.126e-1 * t595 * t45 * t47 + 0.126e-1 * t41 * t260; + const double t602 = t252 * t601; + const double t606 = 0.93333333333333333332e-3 * t35 * t33 * t41 * t51 - 0.93333333333333333332e-3 * t36 * t42 * t602; + const double t610 = t240 * t35 * t243 * t606 / 0.4e1; + const double t611 = piecewise_functor_3( t70, t610, 0.0 ); + const double t614 = t286 * t611; + const double t616 = t290 * t611; + const double t618 = t294 * t611; + const double t620 = t298 * t611; + const double t622 = t302 * t611; + const double t624 = t306 * t611; + const double t626 = t310 * t611; + const double t629 = piecewise_functor_3( t70, 0.0, t610 ); + const double t641 = t321 * t629 * t106 / 0.2e1 - 0.4e1 * t325 * t629 - t99 * t629 * t106; + const double t644 = 0.2e1 * t629 * t110 - t316 * t629 + 0.2e1 * t97 * t641; + const double t648 = piecewise_functor_3( t69, -t235 * t611 / 0.18e2 + t614 / 0.24e3 - t616 / 0.448e4 + t618 / 0.10368e6 - t620 / 0.2838528e7 + t622 / 0.8945664e8 - t624 / 0.31850496e10 + t626 / 0.1263403008e12, -0.8e1 / 0.3e1 * t629 * t113 - 0.8e1 / 0.3e1 * t97 * t644 ); + const double t649 = t27 * t648; + const double t650 = t649 * t55; + const double t652 = t118 * t606; + const double t656 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t650 - 0.3e1 / 0.8e1 * t26 * t652 ); + const double t661 = 0.1e1 / t139; + const double t667 = 0.126e-1 * t661 * t141 * t143 + 0.126e-1 * t137 * t523; + const double t668 = t515 * t667; + const double t672 = 0.93333333333333333332e-3 * t35 * t33 * t137 * t147 - 0.93333333333333333332e-3 * t36 * t138 * t668; + const double t676 = t503 * t35 * t506 * t672 / 0.4e1; + const double t677 = piecewise_functor_3( t165, t676, 0.0 ); + const double t680 = t374 * t677; + const double t682 = t378 * t677; + const double t684 = t382 * t677; + const double t686 = t386 * t677; + const double t688 = t390 * t677; + const double t690 = t394 * t677; + const double t692 = t398 * t677; + const double t695 = piecewise_functor_3( t165, 0.0, t676 ); + const double t707 = t409 * t695 * t200 / 0.2e1 - 0.4e1 * t413 * t695 - t193 * t695 * t200; + const double t710 = 0.2e1 * t192 * t707 + 0.2e1 * t695 * t204 - t404 * t695; + const double t714 = piecewise_functor_3( t164, -t361 * t677 / 0.18e2 + t680 / 0.24e3 - t682 / 0.448e4 + t684 / 0.10368e6 - t686 / 0.2838528e7 + t688 / 0.8945664e8 - t690 / 0.31850496e10 + t692 / 0.1263403008e12, -0.8e1 / 0.3e1 * t192 * t710 - 0.8e1 / 0.3e1 * t695 * t207 ); + const double t715 = t27 * t714; + const double t716 = t715 * t151; + const double t718 = t212 * t672; + const double t722 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t716 - 0.3e1 / 0.8e1 * t132 * t718 ); + const double t725 = t23 * t23; + const double t726 = 0.1e1 / t725; + const double t727 = t221 * t221; + const double t730 = t217 * t6; + const double t731 = 0.1e1 / t730; + const double t732 = t16 * t731; + const double t735 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t218 + 0.2e1 * t732 ); + const double t739 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t727 + 0.4e1 / 0.3e1 * t23 * t735 ); + const double t740 = t5 * t739; + const double t743 = t225 * t231; + const double t750 = 0.1e1 / t228 / t6; + const double t751 = t750 * t117; + const double t752 = t751 * t55; + const double t754 = t26 * t752 / 0.12e2; + const double t755 = t229 * t337; + const double t756 = t755 * t55; + const double t757 = t26 * t756; + const double t759 = t230 * t268; + const double t760 = t26 * t759; + const double t762 = t282 * t282; + const double t776 = omega / t59 / t766 / t770 / t242 / 0.3e1; + const double t778 = t776 * t66 * t765; + const double t780 = t241 * t241; + const double t781 = 0.1e1 / t780; + const double t782 = t769 * t781; + const double t783 = t268 * t268; + const double t784 = t782 * t783; + const double t789 = t238 * t275 * M_PI; + const double t790 = t242 * t268; + const double t792 = t36 * t790 * t277; + const double t795 = t241 * t55; + const double t796 = 0.1e1 / t795; + const double t797 = t33 * t796; + const double t798 = t797 * t783; + const double t802 = t37 * t37; + const double t804 = 0.1e1 / t39 / t802; + const double t805 = sigma_aa * t804; + const double t813 = 0.1e1 / t251 / t50; + const double t814 = t263 * t263; + const double t815 = t813 * t814; + const double t820 = 0.1e1 / t38 / t244; + const double t826 = sigma_aa * sigma_aa; + const double t829 = 0.1e1 / t38 / t802 / t244; + const double t832 = 0.1e1 / t259 / t258; + const double t835 = 0.784e-1 * t43 * t820 * t47 + 0.168e0 * t805 * t260 - 0.448e-1 * t826 * t829 * t832; + const double t836 = t252 * t835; + const double t840 = 0.9125925925925925926e-2 * t36 * t805 * t51 + 0.49777777777777777778e-2 * t36 * t247 * t264 + 0.18666666666666666666e-2 * t36 * t42 * t815 - 0.93333333333333333332e-3 * t36 * t42 * t836; + const double t841 = t243 * t840; + const double t845 = t19 * t19; + const double t848 = 0.1e1 / t64 / t845 / t217; + const double t849 = t62 * t848; + const double t850 = t277 * t277; + const double t856 = t735 * t6 + 0.2e1 * t221; + const double t860 = 0.9e1 / 0.8e1 * t778 * t779 * t784 - t789 * t792 / 0.6e1 - t240 * t35 * t798 / 0.2e1 + t240 * t35 * t841 / 0.4e1 + 0.2e1 / 0.9e1 * t61 * t849 * t850 - t61 * t275 * t856 / 0.6e1; + const double t861 = piecewise_functor_3( t70, t860, 0.0 ); + const double t889 = 0.1e1 / t93 / t72; + const double t894 = t76 * t762 / 0.6e1 - t235 * t861 / 0.18e2 - t79 * t762 / 0.48e2 + t286 * t861 / 0.24e3 + t82 * t762 / 0.64e3 - t290 * t861 / 0.448e4 - t85 * t762 / 0.1152e5 + t294 * t861 / 0.10368e6 + t88 * t762 / 0.258048e6 - t298 * t861 / 0.2838528e7 - t91 * t762 / 0.688128e7 + t302 * t861 / 0.8945664e8 + t94 * t762 / 0.21233664e9 - t306 * t861 / 0.31850496e10 - t889 * t762 / 0.74317824e10 + t310 * t861 / 0.1263403008e12; + const double t895 = piecewise_functor_3( t70, 0.0, t860 ); + const double t900 = t103 * t103; + const double t902 = 0.1e1 / t900 / t97; + const double t903 = t314 * t314; + const double t904 = t902 * t903; + const double t907 = t106 * t321; + const double t915 = 0.1e1 / t900; + const double t923 = 0.1e1 / t900 / t103; + const double t924 = t923 * t903; + const double t935 = -0.2e1 * t915 * t903 * t106 + t321 * t895 * t106 / 0.2e1 + t924 * t106 / 0.4e1 - 0.4e1 * t903 * t107 - t104 * t903 * t106 - 0.4e1 * t325 * t895 - t99 * t895 * t106; + const double t938 = -t904 * t106 / 0.2e1 + 0.2e1 * t907 * t903 - t316 * t895 + 0.2e1 * t895 * t110 + 0.4e1 * t314 * t330 + 0.2e1 * t97 * t935; + const double t942 = piecewise_functor_3( t69, t894, -0.8e1 / 0.3e1 * t895 * t113 - 0.16e2 / 0.3e1 * t314 * t333 - 0.8e1 / 0.3e1 * t97 * t938 ); + const double t943 = t27 * t942; + const double t944 = t943 * t55; + const double t947 = t338 * t268; + const double t950 = t118 * t840; + const double t954 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t740 * t119 - t743 / 0.4e1 - 0.3e1 / 0.4e1 * t225 * t339 - 0.3e1 / 0.4e1 * t225 * t342 + t754 - t757 / 0.4e1 - t760 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t944 - 0.3e1 / 0.4e1 * t26 * t947 - 0.3e1 / 0.8e1 * t26 * t950 ); + const double t955 = t129 * t129; + const double t956 = 0.1e1 / t955; + const double t957 = t349 * t349; + const double t960 = t124 * t731; + const double t963 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t218 + 0.2e1 * t960 ); + const double t967 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t957 + 0.4e1 / 0.3e1 * t129 * t963 ); + const double t968 = t5 * t967; + const double t971 = t353 * t357; + const double t975 = t750 * t211; + const double t976 = t975 * t151; + const double t978 = t132 * t976 / 0.12e2; + const double t979 = t229 * t425; + const double t980 = t979 * t151; + const double t981 = t132 * t980; + const double t983 = t370 * t370; + const double t986 = t127 * t127; + const double t989 = 0.1e1 / t159 / t986 / t217; + const double t990 = t62 * t989; + const double t991 = t366 * t366; + const double t997 = t963 * t6 + 0.2e1 * t349; + const double t1001 = 0.2e1 / 0.9e1 * t157 * t990 * t991 - t157 * t364 * t997 / 0.6e1; + const double t1002 = piecewise_functor_3( t165, t1001, 0.0 ); + const double t1030 = 0.1e1 / t188 / t167; + const double t1035 = t171 * t983 / 0.6e1 - t361 * t1002 / 0.18e2 - t174 * t983 / 0.48e2 + t374 * t1002 / 0.24e3 + t177 * t983 / 0.64e3 - t378 * t1002 / 0.448e4 - t180 * t983 / 0.1152e5 + t382 * t1002 / 0.10368e6 + t183 * t983 / 0.258048e6 - t386 * t1002 / 0.2838528e7 - t186 * t983 / 0.688128e7 + t390 * t1002 / 0.8945664e8 + t189 * t983 / 0.21233664e9 - t394 * t1002 / 0.31850496e10 - t1030 * t983 / 0.74317824e10 + t398 * t1002 / 0.1263403008e12; + const double t1036 = piecewise_functor_3( t165, 0.0, t1001 ); + const double t1041 = t197 * t197; + const double t1043 = 0.1e1 / t1041 / t192; + const double t1044 = t402 * t402; + const double t1045 = t1043 * t1044; + const double t1048 = t200 * t409; + const double t1056 = 0.1e1 / t1041; + const double t1064 = 0.1e1 / t1041 / t197; + const double t1065 = t1064 * t1044; + const double t1076 = -0.2e1 * t1056 * t1044 * t200 + t409 * t1036 * t200 / 0.2e1 + t1065 * t200 / 0.4e1 - 0.4e1 * t1044 * t201 - t198 * t1044 * t200 - 0.4e1 * t413 * t1036 - t193 * t1036 * t200; + const double t1079 = -t1045 * t200 / 0.2e1 + 0.2e1 * t1048 * t1044 - t404 * t1036 + 0.2e1 * t1036 * t204 + 0.4e1 * t402 * t418 + 0.2e1 * t192 * t1076; + const double t1083 = piecewise_functor_3( t164, t1035, -0.8e1 / 0.3e1 * t1036 * t207 - 0.16e2 / 0.3e1 * t402 * t421 - 0.8e1 / 0.3e1 * t192 * t1079 ); + const double t1084 = t27 * t1083; + const double t1085 = t1084 * t151; + const double t1089 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t968 * t213 - t971 / 0.4e1 - 0.3e1 / 0.4e1 * t353 * t427 + t978 - t981 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1085 ); + const double t1104 = t439 * t231; + const double t1115 = t229 * t484; + const double t1116 = t1115 * t55; + const double t1117 = t26 * t1116; + const double t1181 = t902 * t314; + const double t1196 = t106 * t314; + const double t1205 = t314 * t107; + const double t1208 = t104 * t314; + const double t1243 = t496 * t357; + const double t1251 = t229 * t579; + const double t1252 = t1251 * t151; + const double t1253 = t132 * t1252; + const double t1259 = t501 * t364 * M_PI; + const double t1260 = t505 * t531; + const double t1320 = t200 * t560; + const double t1366 = t356 * t531; + const double t1367 = t132 * t1366; + const double t1378 = t435 * t435; + const double t1383 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t218 + 0.2e1 * t732 ); + const double t1387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t726 * t1378 + 0.4e1 / 0.3e1 * t23 * t1383 ); + const double t1388 = t5 * t1387; + const double t1395 = t447 * t447; + const double t1398 = t443 * t443; + const double t1399 = t849 * t1398; + const double t1404 = t1383 * t6 + 0.2e1 * t435; + const double t1405 = t275 * t1404; + const double t1408 = 0.2e1 / 0.9e1 * t61 * t1399 - t61 * t1405 / 0.6e1; + const double t1409 = piecewise_functor_3( t70, t1408, 0.0 ); + const double t1412 = t79 * t1395; + const double t1414 = t286 * t1409; + const double t1416 = t82 * t1395; + const double t1418 = t290 * t1409; + const double t1420 = t85 * t1395; + const double t1422 = t294 * t1409; + const double t1424 = t88 * t1395; + const double t1426 = t298 * t1409; + const double t1428 = t91 * t1395; + const double t1430 = t302 * t1409; + const double t1432 = t94 * t1395; + const double t1434 = t306 * t1409; + const double t1436 = t889 * t1395; + const double t1438 = t310 * t1409; + const double t1440 = t76 * t1395 / 0.6e1 - t235 * t1409 / 0.18e2 - t1412 / 0.48e2 + t1414 / 0.24e3 + t1416 / 0.64e3 - t1418 / 0.448e4 - t1420 / 0.1152e5 + t1422 / 0.10368e6 + t1424 / 0.258048e6 - t1426 / 0.2838528e7 - t1428 / 0.688128e7 + t1430 / 0.8945664e8 + t1432 / 0.21233664e9 - t1434 / 0.31850496e10 - t1436 / 0.74317824e10 + t1438 / 0.1263403008e12; + const double t1441 = piecewise_functor_3( t70, 0.0, t1408 ); + const double t1446 = t465 * t465; + const double t1447 = t902 * t1446; + const double t1463 = t923 * t1446; + const double t1474 = -0.2e1 * t915 * t1446 * t106 + t321 * t1441 * t106 / 0.2e1 + t1463 * t106 / 0.4e1 - 0.4e1 * t1446 * t107 - t104 * t1446 * t106 - 0.4e1 * t325 * t1441 - t99 * t1441 * t106; + const double t1477 = -t1447 * t106 / 0.2e1 + 0.2e1 * t907 * t1446 - t316 * t1441 + 0.2e1 * t1441 * t110 + 0.4e1 * t465 * t477 + 0.2e1 * t97 * t1474; + const double t1481 = piecewise_functor_3( t69, t1440, -0.8e1 / 0.3e1 * t1441 * t113 - 0.16e2 / 0.3e1 * t465 * t480 - 0.8e1 / 0.3e1 * t97 * t1477 ); + const double t1482 = t27 * t1481; + const double t1483 = t1482 * t55; + const double t1487 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t1388 * t119 - t1104 / 0.4e1 - 0.3e1 / 0.4e1 * t439 * t486 + t754 - t1117 / 0.4e1 - 0.3e1 / 0.8e1 * t26 * t1483 ); + const double t1488 = t492 * t492; + const double t1493 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t218 + 0.2e1 * t960 ); + const double t1497 = piecewise_functor_3( t128, 0.0, 0.4e1 / 0.9e1 * t956 * t1488 + 0.4e1 / 0.3e1 * t129 * t1493 ); + const double t1498 = t5 * t1497; + const double t1508 = t542 * t542; + const double t1516 = omega / t155 / t766 / t770 / t505 / 0.3e1; + const double t1518 = t1516 * t161 * t765; + const double t1519 = t504 * t504; + const double t1520 = 0.1e1 / t1519; + const double t1521 = t769 * t1520; + const double t1522 = t531 * t531; + const double t1531 = t504 * t151; + const double t1532 = 0.1e1 / t1531; + const double t1533 = t33 * t1532; + const double t1538 = t133 * t133; + const double t1540 = 0.1e1 / t135 / t1538; + const double t1541 = sigma_bb * t1540; + const double t1549 = 0.1e1 / t514 / t146; + const double t1550 = t526 * t526; + const double t1551 = t1549 * t1550; + const double t1556 = 0.1e1 / t134 / t507; + const double t1562 = sigma_bb * sigma_bb; + const double t1565 = 0.1e1 / t134 / t1538 / t507; + const double t1568 = 0.1e1 / t522 / t521; + const double t1571 = 0.784e-1 * t139 * t1556 * t143 + 0.168e0 * t1541 * t523 - 0.448e-1 * t1562 * t1565 * t1568; + const double t1572 = t515 * t1571; + const double t1576 = 0.9125925925925925926e-2 * t36 * t1541 * t147 + 0.49777777777777777778e-2 * t36 * t510 * t527 + 0.18666666666666666666e-2 * t36 * t138 * t1551 - 0.93333333333333333332e-3 * t36 * t138 * t1572; + const double t1581 = t537 * t537; + const double t1587 = t1493 * t6 + 0.2e1 * t492; + const double t1591 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t1522 - t1259 * t36 * t1260 * t537 / 0.6e1 - t503 * t35 * t1533 * t1522 / 0.2e1 + t503 * t35 * t506 * t1576 / 0.4e1 + 0.2e1 / 0.9e1 * t157 * t990 * t1581 - t157 * t364 * t1587 / 0.6e1; + const double t1592 = piecewise_functor_3( t165, t1591, 0.0 ); + const double t1595 = t174 * t1508; + const double t1597 = t374 * t1592; + const double t1599 = t177 * t1508; + const double t1601 = t378 * t1592; + const double t1603 = t180 * t1508; + const double t1605 = t382 * t1592; + const double t1607 = t183 * t1508; + const double t1609 = t386 * t1592; + const double t1611 = t186 * t1508; + const double t1613 = t390 * t1592; + const double t1615 = t189 * t1508; + const double t1617 = t394 * t1592; + const double t1619 = t1030 * t1508; + const double t1621 = t398 * t1592; + const double t1623 = t171 * t1508 / 0.6e1 - t361 * t1592 / 0.18e2 - t1595 / 0.48e2 + t1597 / 0.24e3 + t1599 / 0.64e3 - t1601 / 0.448e4 - t1603 / 0.1152e5 + t1605 / 0.10368e6 + t1607 / 0.258048e6 - t1609 / 0.2838528e7 - t1611 / 0.688128e7 + t1613 / 0.8945664e8 + t1615 / 0.21233664e9 - t1617 / 0.31850496e10 - t1619 / 0.74317824e10 + t1621 / 0.1263403008e12; + const double t1624 = piecewise_functor_3( t165, 0.0, t1591 ); + const double t1629 = t560 * t560; + const double t1630 = t1043 * t1629; + const double t1646 = t1064 * t1629; + const double t1657 = -0.2e1 * t1056 * t1629 * t200 + t409 * t1624 * t200 / 0.2e1 + t1646 * t200 / 0.4e1 - 0.4e1 * t1629 * t201 - t198 * t1629 * t200 - 0.4e1 * t413 * t1624 - t193 * t1624 * t200; + const double t1660 = -t1630 * t200 / 0.2e1 + 0.2e1 * t1048 * t1629 - t404 * t1624 + 0.2e1 * t1624 * t204 + 0.4e1 * t560 * t572 + 0.2e1 * t192 * t1657; + const double t1664 = piecewise_functor_3( t164, t1623, -0.8e1 / 0.3e1 * t1624 * t207 - 0.16e2 / 0.3e1 * t560 * t575 - 0.8e1 / 0.3e1 * t192 * t1660 ); + const double t1665 = t27 * t1664; + const double t1666 = t1665 * t151; + const double t1669 = t580 * t531; + const double t1672 = t212 * t1576; + const double t1676 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t1498 * t213 - t1243 / 0.4e1 - 0.3e1 / 0.4e1 * t496 * t581 - 0.3e1 / 0.4e1 * t496 * t584 + t978 - t1253 / 0.4e1 - t1367 / 0.4e1 - 0.3e1 / 0.8e1 * t132 * t1666 - 0.3e1 / 0.4e1 * t132 * t1669 - 0.3e1 / 0.8e1 * t132 * t1672 ); + const double t1681 = t229 * t648; + const double t1682 = t1681 * t55; + const double t1684 = t26 * t1682 / 0.8e1; + const double t1685 = t76 * t611; + const double t1689 = t781 * t606; + const double t1694 = t242 * t606; + const double t1699 = t796 * t606; + const double t1708 = t41 * t252; + const double t1716 = t35 * t33 * sigma_aa; + const double t1717 = t41 * t813; + const double t1718 = t601 * t263; + const double t1719 = t1717 * t1718; + const double t1727 = t802 * t37; + const double t1729 = 0.1e1 / t38 / t1727; + const double t1730 = t1729 * t832; + const double t1733 = -0.168e-1 * t595 * t254 * t47 - 0.504e-1 * t246 * t260 + 0.168e-1 * t1730 * sigma_aa; + const double t1734 = t252 * t1733; + const double t1738 = -0.24888888888888888889e-2 * t35 * t33 * t246 * t51 - 0.93333333333333333332e-3 * t36 * t1708 * t263 + 0.24888888888888888889e-2 * t36 * t247 * t602 + 0.18666666666666666666e-2 * t1716 * t1719 - 0.93333333333333333332e-3 * t36 * t42 * t1734; + const double t1743 = 0.9e1 / 0.8e1 * t778 * t1688 * t1689 * t268 - t789 * t36 * t1694 * t277 / 0.12e2 - t240 * t36 * t1699 * t268 / 0.2e1 + t240 * t35 * t243 * t1738 / 0.4e1; + const double t1744 = piecewise_functor_3( t70, t1743, 0.0 ); + const double t1747 = t79 * t611; + const double t1750 = t286 * t1744; + const double t1752 = t82 * t611; + const double t1755 = t290 * t1744; + const double t1757 = t85 * t611; + const double t1760 = t294 * t1744; + const double t1762 = t88 * t611; + const double t1765 = t298 * t1744; + const double t1767 = t91 * t611; + const double t1770 = t302 * t1744; + const double t1772 = t94 * t611; + const double t1775 = t306 * t1744; + const double t1777 = t889 * t611; + const double t1780 = t310 * t1744; + const double t1782 = t1685 * t282 / 0.6e1 - t235 * t1744 / 0.18e2 - t1747 * t282 / 0.48e2 + t1750 / 0.24e3 + t1752 * t282 / 0.64e3 - t1755 / 0.448e4 - t1757 * t282 / 0.1152e5 + t1760 / 0.10368e6 + t1762 * t282 / 0.258048e6 - t1765 / 0.2838528e7 - t1767 * t282 / 0.688128e7 + t1770 / 0.8945664e8 + t1772 * t282 / 0.21233664e9 - t1775 / 0.31850496e10 - t1777 * t282 / 0.74317824e10 + t1780 / 0.1263403008e12; + const double t1783 = piecewise_functor_3( t70, 0.0, t1743 ); + const double t1787 = t106 * t629; + const double t1790 = t629 * t314; + const double t1800 = t915 * t629; + const double t1806 = t923 * t629; + const double t1816 = -0.2e1 * t1800 * t1196 + t321 * t1783 * t106 / 0.2e1 + t1806 * t1196 / 0.4e1 - 0.4e1 * t1205 * t629 - t1208 * t1787 - 0.4e1 * t325 * t1783 - t99 * t1783 * t106; + const double t1819 = -t1181 * t1787 / 0.2e1 + 0.2e1 * t907 * t1790 - t316 * t1783 + 0.2e1 * t1783 * t110 + 0.2e1 * t629 * t330 + 0.2e1 * t314 * t641 + 0.2e1 * t97 * t1816; + const double t1823 = piecewise_functor_3( t69, t1782, -0.8e1 / 0.3e1 * t1783 * t113 - 0.8e1 / 0.3e1 * t97 * t1819 - 0.8e1 / 0.3e1 * t314 * t644 - 0.8e1 / 0.3e1 * t629 * t333 ); + const double t1824 = t27 * t1823; + const double t1825 = t1824 * t55; + const double t1828 = t649 * t268; + const double t1833 = t230 * t606; + const double t1835 = t26 * t1833 / 0.8e1; + const double t1836 = t338 * t606; + const double t1839 = t118 * t1738; + const double t1843 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t225 * t650 - t1684 - 0.3e1 / 0.8e1 * t26 * t1825 - 0.3e1 / 0.8e1 * t26 * t1828 - 0.3e1 / 0.8e1 * t225 * t652 - t1835 - 0.3e1 / 0.8e1 * t26 * t1836 - 0.3e1 / 0.8e1 * t26 * t1839 ); + const double t1847 = t229 * t714; + const double t1848 = t1847 * t151; + const double t1850 = t132 * t1848 / 0.8e1; + const double t1851 = t171 * t677; + const double t1854 = t505 * t672; + const double t1862 = t174 * t677; + const double t1867 = t177 * t677; + const double t1872 = t180 * t677; + const double t1877 = t183 * t677; + const double t1882 = t186 * t677; + const double t1887 = t189 * t677; + const double t1892 = t1030 * t677; + const double t1902 = t200 * t695; + const double t1915 = t1056 * t695; + const double t1921 = t1064 * t695; + const double t1945 = t356 * t672; + const double t1947 = t132 * t1945 / 0.8e1; + const double t2051 = t1520 * t672; + const double t2060 = t1532 * t672; + const double t2069 = t137 * t515; + const double t2077 = t35 * t33 * sigma_bb; + const double t2078 = t137 * t1549; + const double t2079 = t667 * t526; + const double t2080 = t2078 * t2079; + const double t2088 = t1538 * t133; + const double t2090 = 0.1e1 / t134 / t2088; + const double t2091 = t2090 * t1568; + const double t2094 = -0.168e-1 * t661 * t517 * t143 - 0.504e-1 * t509 * t523 + 0.168e-1 * t2091 * sigma_bb; + const double t2095 = t515 * t2094; + const double t2099 = -0.24888888888888888889e-2 * t35 * t33 * t509 * t147 - 0.93333333333333333332e-3 * t36 * t2069 * t526 + 0.24888888888888888889e-2 * t36 * t510 * t668 + 0.18666666666666666666e-2 * t2077 * t2080 - 0.93333333333333333332e-3 * t36 * t138 * t2095; + const double t2104 = 0.9e1 / 0.8e1 * t1518 * t1688 * t2051 * t531 - t1259 * t36 * t1854 * t537 / 0.12e2 - t503 * t36 * t2060 * t531 / 0.2e1 + t503 * t35 * t506 * t2099 / 0.4e1; + const double t2105 = piecewise_functor_3( t165, t2104, 0.0 ); + const double t2110 = t374 * t2105; + const double t2114 = t378 * t2105; + const double t2118 = t382 * t2105; + const double t2122 = t386 * t2105; + const double t2126 = t390 * t2105; + const double t2130 = t394 * t2105; + const double t2134 = t398 * t2105; + const double t2136 = t1851 * t542 / 0.6e1 - t361 * t2105 / 0.18e2 - t1862 * t542 / 0.48e2 + t2110 / 0.24e3 + t1867 * t542 / 0.64e3 - t2114 / 0.448e4 - t1872 * t542 / 0.1152e5 + t2118 / 0.10368e6 + t1877 * t542 / 0.258048e6 - t2122 / 0.2838528e7 - t1882 * t542 / 0.688128e7 + t2126 / 0.8945664e8 + t1887 * t542 / 0.21233664e9 - t2130 / 0.31850496e10 - t1892 * t542 / 0.74317824e10 + t2134 / 0.1263403008e12; + const double t2137 = piecewise_functor_3( t165, 0.0, t2104 ); + const double t2141 = t1043 * t560; + const double t2144 = t695 * t560; + const double t2161 = t560 * t201; + const double t2164 = t198 * t560; + const double t2170 = -0.2e1 * t1915 * t1320 + t409 * t2137 * t200 / 0.2e1 + t1921 * t1320 / 0.4e1 - 0.4e1 * t2161 * t695 - t2164 * t1902 - 0.4e1 * t413 * t2137 - t193 * t2137 * t200; + const double t2173 = -t2141 * t1902 / 0.2e1 + 0.2e1 * t1048 * t2144 - t404 * t2137 + 0.2e1 * t2137 * t204 + 0.2e1 * t695 * t572 + 0.2e1 * t560 * t707 + 0.2e1 * t192 * t2170; + const double t2177 = piecewise_functor_3( t164, t2136, -0.8e1 / 0.3e1 * t192 * t2173 - 0.8e1 / 0.3e1 * t2137 * t207 - 0.8e1 / 0.3e1 * t560 * t710 - 0.8e1 / 0.3e1 * t695 * t575 ); + const double t2178 = t27 * t2177; + const double t2179 = t2178 * t151; + const double t2182 = t715 * t531; + const double t2187 = t580 * t672; + const double t2190 = t212 * t2099; + const double t2194 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t496 * t716 - t1850 - 0.3e1 / 0.8e1 * t132 * t2179 - 0.3e1 / 0.8e1 * t132 * t2182 - 0.3e1 / 0.8e1 * t496 * t718 - t1947 - 0.3e1 / 0.8e1 * t132 * t2187 - 0.3e1 / 0.8e1 * t132 * t2190 ); + const double t2196 = t611 * t611; + const double t2199 = t606 * t606; + const double t2211 = t601 * t601; + const double t2212 = t813 * t2211; + const double t2217 = 0.1e1 / t43 / sigma_aa; + const double t2221 = 0.1e1 / sigma_aa; + const double t2225 = t802 * rho_a; + const double t2227 = 0.1e1 / t38 / t2225; + const double t2230 = -0.63e-2 * t2217 * t45 * t47 + 0.63e-2 * t2221 * t41 * t260 - 0.63e-2 * t2227 * t832; + const double t2231 = t252 * t2230; + const double t2235 = -0.18666666666666666666e-2 * t36 * t1708 * t601 + 0.18666666666666666666e-2 * t36 * t42 * t2212 - 0.93333333333333333332e-3 * t36 * t42 * t2231; + const double t2240 = 0.9e1 / 0.8e1 * t778 * t779 * t782 * t2199 - t240 * t35 * t797 * t2199 / 0.2e1 + t240 * t35 * t243 * t2235 / 0.4e1; + const double t2241 = piecewise_functor_3( t70, t2240, 0.0 ); + const double t2244 = t79 * t2196; + const double t2246 = t286 * t2241; + const double t2248 = t82 * t2196; + const double t2250 = t290 * t2241; + const double t2252 = t85 * t2196; + const double t2254 = t294 * t2241; + const double t2256 = t88 * t2196; + const double t2258 = t298 * t2241; + const double t2260 = t91 * t2196; + const double t2262 = t302 * t2241; + const double t2264 = t94 * t2196; + const double t2266 = t306 * t2241; + const double t2268 = t889 * t2196; + const double t2270 = t310 * t2241; + const double t2272 = t76 * t2196 / 0.6e1 - t235 * t2241 / 0.18e2 - t2244 / 0.48e2 + t2246 / 0.24e3 + t2248 / 0.64e3 - t2250 / 0.448e4 - t2252 / 0.1152e5 + t2254 / 0.10368e6 + t2256 / 0.258048e6 - t2258 / 0.2838528e7 - t2260 / 0.688128e7 + t2262 / 0.8945664e8 + t2264 / 0.21233664e9 - t2266 / 0.31850496e10 - t2268 / 0.74317824e10 + t2270 / 0.1263403008e12; + const double t2273 = piecewise_functor_3( t70, 0.0, t2240 ); + const double t2278 = t629 * t629; + const double t2279 = t902 * t2278; + const double t2295 = t923 * t2278; + const double t2306 = -0.2e1 * t915 * t2278 * t106 + t321 * t2273 * t106 / 0.2e1 + t2295 * t106 / 0.4e1 - 0.4e1 * t2278 * t107 - t104 * t2278 * t106 - 0.4e1 * t325 * t2273 - t99 * t2273 * t106; + const double t2309 = -t2279 * t106 / 0.2e1 + 0.2e1 * t907 * t2278 - t316 * t2273 + 0.2e1 * t2273 * t110 + 0.4e1 * t629 * t641 + 0.2e1 * t97 * t2306; + const double t2313 = piecewise_functor_3( t69, t2272, -0.8e1 / 0.3e1 * t2273 * t113 - 0.16e2 / 0.3e1 * t629 * t644 - 0.8e1 / 0.3e1 * t97 * t2309 ); + const double t2314 = t27 * t2313; + const double t2315 = t2314 * t55; + const double t2318 = t649 * t606; + const double t2321 = t118 * t2235; + const double t2325 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t26 * t2315 - 0.3e1 / 0.4e1 * t26 * t2318 - 0.3e1 / 0.8e1 * t26 * t2321 ); + const double t2326 = t677 * t677; + const double t2329 = t672 * t672; + const double t2341 = t667 * t667; + const double t2342 = t1549 * t2341; + const double t2347 = 0.1e1 / t139 / sigma_bb; + const double t2351 = 0.1e1 / sigma_bb; + const double t2355 = t1538 * rho_b; + const double t2357 = 0.1e1 / t134 / t2355; + const double t2360 = -0.63e-2 * t2347 * t141 * t143 + 0.63e-2 * t2351 * t137 * t523 - 0.63e-2 * t2357 * t1568; + const double t2361 = t515 * t2360; + const double t2365 = -0.18666666666666666666e-2 * t36 * t2069 * t667 + 0.18666666666666666666e-2 * t36 * t138 * t2342 - 0.93333333333333333332e-3 * t36 * t138 * t2361; + const double t2370 = 0.9e1 / 0.8e1 * t1518 * t779 * t1521 * t2329 - t503 * t35 * t1533 * t2329 / 0.2e1 + t503 * t35 * t506 * t2365 / 0.4e1; + const double t2371 = piecewise_functor_3( t165, t2370, 0.0 ); + const double t2374 = t174 * t2326; + const double t2376 = t374 * t2371; + const double t2378 = t177 * t2326; + const double t2380 = t378 * t2371; + const double t2382 = t180 * t2326; + const double t2384 = t382 * t2371; + const double t2386 = t183 * t2326; + const double t2388 = t386 * t2371; + const double t2390 = t186 * t2326; + const double t2392 = t390 * t2371; + const double t2394 = t189 * t2326; + const double t2396 = t394 * t2371; + const double t2398 = t1030 * t2326; + const double t2400 = t398 * t2371; + const double t2402 = t171 * t2326 / 0.6e1 - t361 * t2371 / 0.18e2 - t2374 / 0.48e2 + t2376 / 0.24e3 + t2378 / 0.64e3 - t2380 / 0.448e4 - t2382 / 0.1152e5 + t2384 / 0.10368e6 + t2386 / 0.258048e6 - t2388 / 0.2838528e7 - t2390 / 0.688128e7 + t2392 / 0.8945664e8 + t2394 / 0.21233664e9 - t2396 / 0.31850496e10 - t2398 / 0.74317824e10 + t2400 / 0.1263403008e12; + const double t2403 = piecewise_functor_3( t165, 0.0, t2370 ); + const double t2408 = t695 * t695; + const double t2409 = t1043 * t2408; + const double t2425 = t1064 * t2408; + const double t2436 = -0.2e1 * t1056 * t2408 * t200 + t409 * t2403 * t200 / 0.2e1 + t2425 * t200 / 0.4e1 - 0.4e1 * t2408 * t201 - t198 * t2408 * t200 - 0.4e1 * t413 * t2403 - t193 * t2403 * t200; + const double t2439 = -t2409 * t200 / 0.2e1 + 0.2e1 * t1048 * t2408 - t404 * t2403 + 0.2e1 * t2403 * t204 + 0.4e1 * t695 * t707 + 0.2e1 * t192 * t2436; + const double t2443 = piecewise_functor_3( t164, t2402, -0.8e1 / 0.3e1 * t2403 * t207 - 0.16e2 / 0.3e1 * t695 * t710 - 0.8e1 / 0.3e1 * t192 * t2439 ); + const double t2444 = t27 * t2443; + const double t2445 = t2444 * t151; + const double t2448 = t715 * t672; + const double t2451 = t212 * t2365; + const double t2455 = piecewise_functor_3( t123, 0.0, -0.3e1 / 0.8e1 * t132 * t2445 - 0.3e1 / 0.4e1 * t132 * t2448 - 0.3e1 / 0.8e1 * t132 * t2451 ); + + + vrho_a = t122 + t216 + t6 * ( t346 + t431 ); + vrho_b = t122 + t216 + t6 * ( t490 + t588 ); + vsigma_aa = t6 * t656; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t722; + v2rho2_aa = 0.2e1 * t346 + 0.2e1 * t431 + t6 * ( t954 + t1089 ); + v2rho2_bb = 0.2e1 * t490 + 0.2e1 * t588 + t6 * ( t1487 + t1676 ); + v2rhosigma_a_aa = t6 * t1843 + t656; + v2rhosigma_b_bb = t6 * t2194 + t722; + v2sigma2_aa_aa = t6 * t2325; + v2sigma2_bb_bb = t6 * t2455; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinITYH_X_033 : detail::BuiltinKernelImpl< BuiltinITYH_X_033 > { + + BuiltinITYH_X_033( Spin p ) : + detail::BuiltinKernelImpl< BuiltinITYH_X_033 >(p) { } + + virtual ~BuiltinITYH_X_033() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/lcwpbe_wpbeh_x.hpp b/include/exchcxx/impl/builtin/kernels/lcwpbe_wpbeh_x.hpp new file mode 100644 index 0000000..82742e3 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/lcwpbe_wpbeh_x.hpp @@ -0,0 +1,11559 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinLCwPBE_wPBEh_X > : + public gga_screening_interface< BuiltinLCwPBE_wPBEh_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 5e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 8.549879733383501e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.0159941; + static constexpr double a_1 = 0.0852995; + static constexpr double a_2 = -0.160368; + static constexpr double a_3 = 0.152645; + static constexpr double a_4 = -0.0971263; + static constexpr double a_5 = 0.0422061; + static constexpr double b_0 = 5.33319; + static constexpr double b_1 = -12.4780; + static constexpr double b_2 = 11.0988; + static constexpr double b_3 = -5.11013; + static constexpr double b_4 = 1.71468; + static constexpr double b_5 = -0.610380; + static constexpr double b_6 = 0.307555; + static constexpr double b_7 = -0.0770547; + static constexpr double b_8 = 0.0334840; + static constexpr double omega = 0.4; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + + + eps = 0.2e1 * t336; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + + + eps = 0.2e1 * t336; + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + + + eps = t350 + t649; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + + + eps = t350 + t649; + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinLCwPBE_wPBEh_X : detail::BuiltinKernelImpl< BuiltinLCwPBE_wPBEh_X > { + + BuiltinLCwPBE_wPBEh_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinLCwPBE_wPBEh_X >(p) { } + + virtual ~BuiltinLCwPBE_wPBEh_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/lrcwpbe_hjs_pbe_x.hpp b/include/exchcxx/impl/builtin/kernels/lrcwpbe_hjs_pbe_x.hpp new file mode 100644 index 0000000..bed4a80 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/lrcwpbe_hjs_pbe_x.hpp @@ -0,0 +1,6307 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinLRCwPBE_HJS_PBE_X > : + public gga_screening_interface< BuiltinLRCwPBE_HJS_PBE_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 5e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 8.549879733383501e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.0159941; + static constexpr double a_1 = 0.0852995; + static constexpr double a_2 = -0.160368; + static constexpr double a_3 = 0.152645; + static constexpr double a_4 = -0.0971263; + static constexpr double a_5 = 0.0422061; + static constexpr double b_0 = 5.33319; + static constexpr double b_1 = -12.4780; + static constexpr double b_2 = 11.0988; + static constexpr double b_3 = -5.11013; + static constexpr double b_4 = 1.71468; + static constexpr double b_5 = -0.610380; + static constexpr double b_6 = 0.307555; + static constexpr double b_7 = -0.0770547; + static constexpr double b_8 = 0.0334840; + static constexpr double omega = 0.3; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + + + eps = 0.2e1 * t301; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + + + eps = 0.2e1 * t301; + vrho = 0.2e1 * rho * t541 + 0.2e1 * t301; + vsigma = 0.2e1 * rho * t702; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + constexpr double t1207 = t405 * t35; + constexpr double t1443 = t63 * t35; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + const double t705 = t17 * t254; + const double t712 = t452 * t530; + const double t717 = 0.4e1 / 0.27e2 * t21 * t279 * t354; + const double t719 = 0.1e1 / t273 / t272; + const double t720 = t495 * t495; + const double t722 = t719 * t720 / 0.12e2; + const double t724 = 0.1e1 / t38 / t54; + const double t725 = t36 * t724; + const double t732 = t312 * t109; + const double t733 = t732 * t382; + const double t736 = t45 * t724; + const double t739 = 0.1e1 / t80; + const double t740 = t53 * t739; + const double t744 = 0.1e1 / t18 / t329; + const double t745 = t66 * t744; + const double t749 = 0.1e1 / t38 / t91; + const double t750 = t79 * t749; + const double t753 = 0.1e1 / t154; + const double t754 = t90 * t753; + const double t758 = 0.1e1 / t18 / t370; + const double t759 = t102 * t758; + const double t762 = 0.11e2 / 0.27e2 * t44 * t736 + 0.5e1 / 0.6e1 * t51 * t740 + 0.19e2 / 0.162e3 * t64 * t745 + 0.115e3 / 0.1296e4 * t77 * t750 + t89 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t100 * t759; + const double t763 = t762 * t171; + const double t767 = t40 * t344; + const double t768 = t767 * t382; + const double t772 = 0.1e1 / t351 / t170; + const double t773 = t381 * t381; + const double t774 = t772 * t773; + const double t775 = t350 * t774; + const double t779 = 0.1e1 / t18 / t310; + const double t796 = 0.1e1 / t38 / t165; + const double t800 = t91 * t80; + const double t801 = 0.1e1 / t800; + const double t805 = 0.7e1 / 0.27e2 * t112 * t113 * t779 + 0.11e2 / 0.27e2 * t121 * t736 + 0.5e1 / 0.6e1 * t125 * t740 + 0.19e2 / 0.162e3 * t130 * t745 + 0.115e3 / 0.1296e4 * t135 * t750 + t139 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t144 * t759 + 0.35e2 / 0.3888e4 * t151 * t153 * t796 + 0.13e2 / 0.1152e4 * t163 * t164 * t801; + const double t806 = t352 * t805; + const double t807 = t350 * t806; + const double t811 = piecewise_functor_3( t176, 0.11e2 / 0.27e2 * t34 * t725 * t172 - 0.2e1 / 0.9e1 * t34 * t313 * t345 + 0.2e1 / 0.9e1 * t349 * t733 + t34 * t41 * t763 / 0.24e2 - t349 * t768 / 0.12e2 + t349 * t775 / 0.12e2 - t349 * t807 / 0.24e2, 0.0 ); + const double t812 = piecewise_functor_3( t236, t811, 0.0 ); + const double t815 = t179 * t182 * t40; + const double t816 = 0.1e2 / 0.3e1 * t815; + const double t817 = 0.9e1 * t812 + t816; + const double t819 = t493 * t817 / 0.6e1; + const double t820 = t717 - t722 + t819; + const double t822 = t526 * t511; + const double t826 = 0.1e1 / t510 / t285; + const double t827 = t292 * t826; + const double t828 = t515 * t515; + const double t831 = t391 * t391; + const double t835 = t811 + 0.1e2 / 0.27e2 * t815; + const double t838 = t717 - t214 * t831 / 0.4e1 + t189 * t835 / 0.2e1; + const double t840 = t820 * t286 - 0.2e1 * t822 * t515 - t528 * t838 + 0.2e1 * t827 * t828; + const double t841 = t238 * t840; + const double t844 = t532 * t515; + const double t851 = t264 * t811; + const double t858 = t481 * t811; + const double t861 = t387 * t517; + const double t865 = 0.1e1 / t270 / t269; + const double t866 = t491 * t491; + const double t868 = t865 * t866 / 0.12e2; + const double t870 = 0.9e1 * t811 + t816; + const double t872 = t488 * t870 / 0.6e1; + const double t873 = t717 - t868 + t872; + const double t875 = t508 * t511; + const double t878 = t283 * t826; + const double t882 = t873 * t286 - t512 * t838 - 0.2e1 * t875 * t515 + 0.2e1 * t878 * t828; + const double t883 = t177 * t882; + const double t886 = t519 * t515; + const double t889 = t387 * t387; + const double t890 = t481 * t889; + const double t894 = 0.1e1 / t480 / t194; + const double t895 = t894 * t889; + const double t898 = t193 * t264; + const double t901 = -0.4e1 * t712 * t533 - 0.2e1 * t841 * t533 - 0.2e1 * t531 * t844 - 0.10546577777777777778e0 * t415 * t434 - 0.10546577777777777778e0 * t431 * t434 - 0.52732888888888888888e-1 * t219 * t851 + 0.2e1 / 0.3e1 * t458 * t482 + 0.2e1 / 0.3e1 * t477 * t482 + t263 * t858 / 0.3e1 + 0.4e1 * t861 * t520 + 0.2e1 * t883 * t520 + 0.2e1 * t518 * t886 + 0.15819866666666666666e0 * t219 * t890 - 0.4e1 / 0.3e1 * t263 * t895 + 0.94545777777777777778e-1 * t898 * t889; + const double t902 = t414 * t430; + const double t905 = t27 * t354; + const double t907 = t25 * t905 * t189; + const double t910 = t25 * t306 * t392; + const double t912 = t258 * t831; + const double t914 = t25 * t29 * t912; + const double t916 = t214 * t835; + const double t918 = t25 * t29 * t916; + const double t920 = 0.1e1 / t310; + const double t923 = t208 * t210 * t920 * t214; + const double t925 = t420 * t258; + const double t927 = t425 * t925 * t391; + const double t928 = t211 * t471; + const double t930 = t425 * t928 * t831; + const double t933 = t425 * t426 * t835; + const double t935 = -0.4e1 / 0.9e1 * t907 - t910 / 0.3e1 - 0.3e1 / 0.4e1 * t914 + t918 / 0.2e1 + 0.2e1 / 0.3e1 * t923 + t927 + 0.5e1 / 0.4e1 * t930 - t933 / 0.2e1; + const double t936 = t206 * t935; + const double t939 = t725 * t201; + const double t943 = t35 * t744 * t409; + const double t946 = t88 * t90; + const double t948 = 0.1e1 / t408 / t200; + const double t953 = 0.12717480330480143498e0 * t34 * t939 - 0.6503256987177346107e-2 * t406 * t943 + 0.48172273979091452645e-3 * t946 * t753 * t948 + 0.42141105276909202774e1 * t811; + const double t967 = t229 * t194; + const double t968 = t967 * t241; + const double t971 = t445 * t455; + const double t977 = 0.1e1 / t233 / t177; + const double t983 = 0.1e1 / t239 / t238; + const double t984 = t452 * t452; + const double t989 = -0.3e1 / 0.5e1 * t977 * t889 + 0.6e1 / 0.5e1 * t449 * t811 + 0.3e1 / 0.5e1 * t983 * t984 - 0.6e1 / 0.5e1 * t451 * t812; + const double t991 = 0.474596e-1 * t953 * t194 + 0.949192e-1 * t414 * t387 + 0.474596e-1 * t206 * t811 + 0.56727466666666666666e-1 * t889 + 0.56727466666666666666e-1 * t194 * t811 - 0.54519192e1 * t194 * t889 - 0.27259596e1 * t220 * t811 - 0.35e2 / 0.4e1 * t968 * t889 - 0.7e1 * t971 * t387 - 0.7e1 / 0.2e1 * t446 * t811 - t230 * t989; + const double t992 = t991 * t262; + const double t995 = t457 * t476; + const double t1006 = t252 * t312; + const double t1013 = t256 * t256; + const double t1015 = 0.1e1 / t188 / t1013; + const double t1016 = t1015 * t831; + const double t1020 = t471 * t835; + const double t1024 = -0.2e2 / 0.9e1 * t907 - 0.5e1 / 0.3e1 * t910 - 0.15e2 / 0.4e1 * t914 + 0.5e1 / 0.2e1 * t918 + 0.2e2 / 0.3e1 * t923 + 0.1e2 * t927 + 0.25e2 / 0.2e1 * t930 - 0.5e1 * t933 - 0.4e2 / 0.27e2 * t249 * t1006 * t258 - 0.25e2 / 0.9e1 * t249 * t465 * t472 - 0.35e2 / 0.12e2 * t249 * t255 * t1016 + 0.5e1 / 0.6e1 * t249 * t255 * t1020; + const double t1025 = t243 * t1024; + const double t1028 = t396 * t221; + const double t1033 = t953 * t218; + const double t1040 = -0.4e1 / 0.27e2 * t907 - t910 / 0.9e1 - t914 / 0.4e1 + t918 / 0.6e1; + const double t1047 = -t868 + t872 + t722 - t819; + const double t1057 = t283 * t283; + const double t1058 = 0.1e1 / t1057; + const double t1059 = t1058 * t285; + const double t1060 = t1059 * t508; + const double t1063 = t292 * t292; + const double t1064 = 0.1e1 / t1063; + const double t1065 = t1064 * t285; + const double t1066 = t1065 * t526; + const double t1069 = 0.52732888888888888888e-1 * t902 * t221 + 0.26366444444444444444e-1 * t936 * t221 - t992 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t995 * t264 - t1025 * t264 / 0.9e1 - 0.94545777777777777778e-1 * t1028 * t387 - 0.47272888888888888889e-1 * t399 * t811 + 0.26366444444444444444e-1 * t1033 * t221 + 0.47272888888888888889e-1 * t1040 * t195 + 0.2e1 * t811 * t288 - 0.2e1 * t812 * t294 + 0.2e1 / 0.3e1 * t25 * t29 * t1047 - 0.4e1 / 0.9e1 * t25 * t306 * t498 + 0.8e1 / 0.27e2 * t25 * t905 * t275 - 0.2e1 * t518 * t1060 + 0.2e1 * t531 * t1066; + const double t1070 = t901 + t1069; + const double t1075 = piecewise_functor_3( t2, 0.0, t6 * t705 * t297 / 0.12e2 - t6 * t302 * t536 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1070 ); + const double t1081 = t865 * t605; + const double t1095 = t549 * t312; + const double t1098 = t52 * t320; + const double t1101 = t556 * t325; + const double t1104 = t560 * t331; + const double t1107 = t65 * t335; + const double t1110 = t567 * t340; + const double t1113 = -t43 * t1095 / 0.9e1 - t51 * t1098 / 0.4e1 - t64 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t77 * t1104 - t89 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t100 * t1110; + const double t1114 = t1113 * t171; + const double t1118 = t40 * t571; + const double t1119 = t1118 * t382; + const double t1122 = t732 * t600; + const double t1125 = t767 * t600; + const double t1128 = t772 * t599; + const double t1129 = t1128 * t381; + const double t1154 = -t112 * t576 * t354 / 0.18e2 - t120 * t1095 / 0.9e1 - t125 * t1098 / 0.4e1 - t130 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t135 * t1104 - t139 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t144 * t1110 - t151 * t592 * t372 / 0.324e3 - t163 * t101 * t377 / 0.256e3; + const double t1155 = t352 * t1154; + const double t1156 = t350 * t1155; + const double t1160 = piecewise_functor_3( t176, -t546 * t732 * t171 / 0.9e1 + t546 * t767 * t171 / 0.24e2 - t546 * t383 / 0.24e2 - t34 * t313 * t572 / 0.9e1 + t34 * t41 * t1114 / 0.24e2 - t349 * t1119 / 0.24e2 + t349 * t1122 / 0.9e1 - t349 * t1125 / 0.24e2 + t349 * t350 * t1129 / 0.12e2 - t349 * t1156 / 0.24e2, 0.0 ); + const double t1161 = t488 * t1160; + const double t1163 = t719 * t648; + const double t1166 = piecewise_functor_3( t236, t1160, 0.0 ); + const double t1167 = t493 * t1166; + const double t1169 = -0.3e1 / 0.4e1 * t1081 * t491 + 0.3e1 / 0.2e1 * t1161 + 0.3e1 / 0.4e1 * t1163 * t495 - 0.3e1 / 0.2e1 * t1167; + const double t1180 = t667 * t387; + const double t1183 = t894 * t605; + const double t1184 = t1183 * t387; + const double t1187 = t115 * t214; + const double t1191 = t1160 * t195; + const double t1195 = t605 * t221; + const double t1196 = t1195 * t387; + const double t1200 = t28 * t258; + const double t1201 = t606 * t391; + const double t1212 = t88 * t65; + const double t1217 = -0.34684037264945845904e-1 * t33 * t402 + 0.2167752329059115369e-2 * t1207 * t325 * t409 * sigma - 0.18064602742159294741e-3 * t1212 * t335 * t948 + 0.42141105276909202774e1 * t1160; + const double t1226 = t387 * t605; + const double t1228 = t194 * t1160; + const double t1240 = t445 * t651; + const double t1243 = t977 * t605; + const double t1248 = t983 * t648; + const double t1253 = -0.3e1 / 0.5e1 * t1243 * t387 + 0.6e1 / 0.5e1 * t449 * t1160 + 0.3e1 / 0.5e1 * t1248 * t452 - 0.6e1 / 0.5e1 * t451 * t1166; + const double t1255 = 0.474596e-1 * t1217 * t194 + 0.474596e-1 * t620 * t387 + 0.474596e-1 * t414 * t605 + 0.474596e-1 * t206 * t1160 + 0.56727466666666666666e-1 * t1226 + 0.56727466666666666666e-1 * t1228 - 0.54519192e1 * t641 * t387 - 0.27259596e1 * t220 * t1160 - 0.35e2 / 0.4e1 * t968 * t1226 - 0.7e1 / 0.2e1 * t971 * t605 - 0.7e1 / 0.2e1 * t446 * t1160 - 0.7e1 / 0.2e1 * t1240 * t387 - t230 * t1253; + const double t1256 = t1255 * t262; + const double t1259 = t653 * t476; + const double t1262 = t457 * t663; + const double t1266 = t25 * t306 * t624; + const double t1268 = t605 * t391; + const double t1270 = t544 * t1200 * t1268; + const double t1272 = t214 * t1160; + const double t1274 = t25 * t29 * t1272; + const double t1277 = t425 * t925 * t605; + const double t1280 = t425 * t928 * t1268; + const double t1283 = t425 * t426 * t1160; + const double t1289 = t248 * t76 * t252; + const double t1290 = t254 * t1015; + const double t1294 = t471 * t1160; + const double t1298 = -0.5e1 / 0.6e1 * t1266 - 0.15e2 / 0.4e1 * t1270 + 0.5e1 / 0.2e1 * t1274 + 0.5e1 * t1277 + 0.25e2 / 0.2e1 * t1280 - 0.5e1 * t1283 - 0.25e2 / 0.18e2 * t249 * t465 * t659 - 0.35e2 / 0.12e2 * t1289 * t1290 * t1268 + 0.5e1 / 0.6e1 * t249 * t255 * t1294; + const double t1299 = t243 * t1298; + const double t1306 = t1217 * t218; + const double t1309 = t620 * t430; + const double t1312 = t414 * t630; + const double t1321 = -t1266 / 0.6e1 - 0.3e1 / 0.4e1 * t1270 + t1274 / 0.2e1 + t1277 / 0.2e1 + 0.5e1 / 0.4e1 * t1280 - t1283 / 0.2e1; + const double t1322 = t206 * t1321; + const double t1325 = 0.2e1 / 0.3e1 * t25 * t29 * t1169 - 0.2e1 / 0.9e1 * t25 * t306 * t673 - 0.2e1 * t685 * t1060 + 0.2e1 * t695 * t1066 + 0.15819866666666666666e0 * t219 * t1180 - 0.4e1 / 0.3e1 * t263 * t1184 - 0.26262716049382716049e-2 * t544 * t1187 * t606 + 0.78788148148148148148e-2 * t544 * t545 * t1191 - 0.78788148148148148148e-2 * t544 * t545 * t1196 - 0.11818222222222222222e-1 * t544 * t1200 * t1201 - t1256 * t264 / 0.9e1 - t1259 * t264 / 0.9e1 - t1262 * t264 / 0.9e1 - t1299 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t1028 * t605 - 0.47272888888888888889e-1 * t399 * t1160 + 0.26366444444444444444e-1 * t1306 * t221 + 0.26366444444444444444e-1 * t1309 * t221 + 0.26366444444444444444e-1 * t1312 * t221 + 0.26366444444444444444e-1 * t1322 * t221; + const double t1326 = t481 * t1160; + const double t1329 = t605 * t517; + const double t1332 = t387 * t684; + const double t1335 = t286 * t491; + const double t1340 = t511 * t515; + const double t1345 = t681 * t515; + const double t1347 = t624 * t391; + const double t1350 = t189 * t1160; + const double t1353 = -0.3e1 / 0.4e1 * t1081 * t1335 + 0.3e1 / 0.2e1 * t1161 * t286 - 0.3e1 / 0.2e1 * t670 * t1340 - t875 * t681 / 0.2e1 + t878 * t1345 + t512 * t1347 / 0.4e1 - t512 * t1350 / 0.2e1; + const double t1354 = t177 * t1353; + const double t1359 = t648 * t530; + const double t1362 = t452 * t694; + const double t1365 = t286 * t495; + const double t1379 = -0.3e1 / 0.4e1 * t1163 * t1365 + 0.3e1 / 0.2e1 * t1167 * t286 - 0.3e1 / 0.2e1 * t671 * t1340 - t822 * t681 / 0.2e1 + t827 * t1345 + t528 * t1347 / 0.4e1 - t528 * t1350 / 0.2e1; + const double t1380 = t238 * t1379; + const double t1396 = t264 * t1160; + const double t1411 = -0.52732888888888888888e-1 * t621 * t434 - 0.52732888888888888888e-1 * t631 * t434 - 0.52732888888888888888e-1 * t415 * t634 - 0.52732888888888888888e-1 * t431 * t634 - 0.52732888888888888888e-1 * t219 * t1396 + t654 * t482 / 0.3e1 + t664 * t482 / 0.3e1 + t458 * t667 / 0.3e1 + t477 * t667 / 0.3e1 + 0.2e1 * t1160 * t288 - 0.2e1 * t1166 * t294; + const double t1413 = t1325 + t263 * t1326 / 0.3e1 + 0.2e1 * t1329 * t520 + 0.2e1 * t1332 * t520 + 0.2e1 * t1354 * t520 + 0.2e1 * t685 * t886 - 0.2e1 * t1359 * t533 - 0.2e1 * t1362 * t533 - 0.2e1 * t1380 * t533 - 0.2e1 * t695 * t844 + 0.94545777777777777778e-1 * t898 * t1226 + t1411; + const double t1418 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t698 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1413 ); + const double t1421 = t519 * t189; + const double t1422 = t1421 * t605; + const double t1424 = t532 * t189; + const double t1425 = t1424 * t605; + const double t1427 = t695 * t1064; + const double t1428 = t285 * t493; + const double t1429 = t1428 * t648; + const double t1432 = t605 * t605; + const double t1433 = t865 * t1432; + const double t1440 = t575 * t55; + const double t1444 = t1443 * t69; + const double t1447 = t52 * t36; + const double t1448 = t1447 * t82; + const double t1451 = sigma * t92; + const double t1454 = t53 * t35; + const double t1455 = t1454 * t105; + const double t1458 = t51 * t1440 / 0.32e2 + t61 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t77 * t1448 + t89 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t100 * t1455; + const double t1459 = t1458 * t171; + const double t1463 = t1118 * t600; + const double t1466 = t599 * t599; + const double t1467 = t772 * t1466; + const double t1468 = t350 * t1467; + const double t1471 = 0.1e1 / t53; + const double t1472 = t1471 * t35; + const double t1486 = t65 * t36; + const double t1493 = -t112 * t1472 * t115 / 0.48e2 + t125 * t1440 / 0.32e2 + t129 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t135 * t1448 + t139 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t144 * t1455 + t151 * t1486 * t156 / 0.1152e4 + 0.7e1 / 0.6144e4 * t163 * t78 * t166; + const double t1494 = t352 * t1493; + const double t1495 = t350 * t1494; + const double t1499 = piecewise_functor_3( t176, t546 * t1118 * t171 / 0.12e2 - t546 * t601 / 0.12e2 + t34 * t41 * t1459 / 0.24e2 - t349 * t1463 / 0.12e2 + t349 * t1468 / 0.12e2 - t349 * t1495 / 0.24e2, 0.0 ); + const double t1500 = t488 * t1499; + const double t1502 = t648 * t648; + const double t1503 = t719 * t1502; + const double t1505 = piecewise_functor_3( t236, t1499, 0.0 ); + const double t1506 = t493 * t1505; + const double t1508 = -0.27e2 / 0.4e1 * t1433 + 0.3e1 / 0.2e1 * t1500 + 0.27e2 / 0.4e1 * t1503 - 0.3e1 / 0.2e1 * t1506; + const double t1512 = t685 * t1058; + const double t1513 = t285 * t488; + const double t1514 = t1513 * t605; + const double t1517 = t1432 * t195; + const double t1521 = t1432 * t221; + const double t1525 = t1499 * t195; + const double t1529 = t481 * t1432; + const double t1532 = t894 * t1432; + const double t1537 = t648 * t694; + const double t1544 = t511 * t189; + const double t1545 = t1544 * t605; + const double t1548 = 0.1e1 / t187; + const double t1549 = t1548 * t1432; + const double t1552 = t214 * t1432; + const double t1555 = t189 * t1499; + const double t1558 = -0.27e2 / 0.4e1 * t1503 * t286 + 0.3e1 / 0.2e1 * t1506 * t286 - 0.3e1 / 0.2e1 * t671 * t1545 + t827 * t1549 / 0.2e1 + t528 * t1552 / 0.4e1 - t528 * t1555 / 0.2e1; + const double t1559 = t238 * t1558; + const double t1566 = t685 * t1422 - t695 * t1425 + 0.3e1 * t1427 * t1429 + 0.2e1 / 0.3e1 * t25 * t29 * t1508 - 0.3e1 * t1512 * t1514 - 0.11818222222222222222e-1 * t544 * t1200 * t1517 - 0.1575762962962962963e-1 * t544 * t545 * t1521 + 0.78788148148148148148e-2 * t544 * t545 * t1525 + 0.15819866666666666666e0 * t219 * t1529 - 0.4e1 / 0.3e1 * t263 * t1532 + 0.94545777777777777778e-1 * t898 * t1432 - 0.4e1 * t1537 * t533 - 0.2e1 * t1559 * t533 - 0.10546577777777777778e0 * t621 * t634 - 0.10546577777777777778e0 * t631 * t634; + const double t1567 = t264 * t1499; + const double t1574 = t481 * t1499; + const double t1577 = t605 * t684; + const double t1584 = t488 * t1432; + const double t1593 = -0.27e2 / 0.4e1 * t1433 * t286 + 0.3e1 / 0.2e1 * t1500 * t286 - 0.3e1 / 0.2e1 * t1584 * t1544 + t878 * t1549 / 0.2e1 + t512 * t1552 / 0.4e1 - t512 * t1555 / 0.2e1; + const double t1594 = t177 * t1593; + const double t1599 = t88 * sigma; + const double t1604 = -0.54193808226477884224e-3 * t405 * t616 + 0.6774226028309735528e-4 * t1599 * t92 * t948 + 0.42141105276909202774e1 * t1499; + const double t1612 = t194 * t1499; + const double t1632 = -0.3e1 / 0.5e1 * t977 * t1432 + 0.6e1 / 0.5e1 * t449 * t1499 + 0.3e1 / 0.5e1 * t983 * t1502 - 0.6e1 / 0.5e1 * t451 * t1505; + const double t1634 = 0.474596e-1 * t1604 * t194 + 0.949192e-1 * t620 * t605 + 0.474596e-1 * t206 * t1499 + 0.56727466666666666666e-1 * t1432 + 0.56727466666666666666e-1 * t1612 - 0.54519192e1 * t194 * t1432 - 0.27259596e1 * t220 * t1499 - 0.35e2 / 0.4e1 * t968 * t1432 - 0.7e1 * t1240 * t605 - 0.7e1 / 0.2e1 * t446 * t1499 - t230 * t1632; + const double t1635 = t1634 * t262; + const double t1638 = t653 * t663; + const double t1641 = t258 * t1432; + const double t1643 = t25 * t29 * t1641; + const double t1645 = t214 * t1499; + const double t1647 = t25 * t29 * t1645; + const double t1650 = t425 * t928 * t1432; + const double t1653 = t425 * t426 * t1499; + const double t1655 = t1015 * t1432; + const double t1659 = t471 * t1499; + const double t1663 = -0.15e2 / 0.4e1 * t1643 + 0.5e1 / 0.2e1 * t1647 + 0.25e2 / 0.2e1 * t1650 - 0.5e1 * t1653 - 0.35e2 / 0.12e2 * t249 * t255 * t1655 + 0.5e1 / 0.6e1 * t249 * t255 * t1659; + const double t1664 = t243 * t1663; + const double t1669 = t1604 * t218; + const double t1672 = t620 * t630; + const double t1679 = -0.3e1 / 0.4e1 * t1643 + t1647 / 0.2e1 + 0.5e1 / 0.4e1 * t1650 - t1653 / 0.2e1; + const double t1680 = t206 * t1679; + const double t1687 = -0.52732888888888888888e-1 * t219 * t1567 + 0.2e1 / 0.3e1 * t654 * t667 + 0.2e1 / 0.3e1 * t664 * t667 + t263 * t1574 / 0.3e1 + 0.4e1 * t1577 * t520 + 0.2e1 * t1594 * t520 - t1635 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t1638 * t264 - t1664 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t399 * t1499 + 0.26366444444444444444e-1 * t1669 * t221 + 0.52732888888888888888e-1 * t1672 * t221 + 0.26366444444444444444e-1 * t1680 * t221 - 0.2e1 * t1505 * t294 + 0.2e1 * t1499 * t288; + const double t1688 = t1566 + t1687; + const double t1692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t1688 ); + + + v2rho2 = 0.2e1 * rho * t1075 + 0.4e1 * t541; + v2rhosigma = 0.2e1 * rho * t1418 + 0.2e1 * t702; + v2sigma2 = 0.2e1 * rho * t1692; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + constexpr double t1207 = t405 * t35; + constexpr double t1443 = t63 * t35; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + const double t705 = t17 * t254; + const double t712 = t452 * t530; + const double t717 = 0.4e1 / 0.27e2 * t21 * t279 * t354; + const double t719 = 0.1e1 / t273 / t272; + const double t720 = t495 * t495; + const double t722 = t719 * t720 / 0.12e2; + const double t724 = 0.1e1 / t38 / t54; + const double t725 = t36 * t724; + const double t732 = t312 * t109; + const double t733 = t732 * t382; + const double t736 = t45 * t724; + const double t739 = 0.1e1 / t80; + const double t740 = t53 * t739; + const double t744 = 0.1e1 / t18 / t329; + const double t745 = t66 * t744; + const double t749 = 0.1e1 / t38 / t91; + const double t750 = t79 * t749; + const double t753 = 0.1e1 / t154; + const double t754 = t90 * t753; + const double t758 = 0.1e1 / t18 / t370; + const double t759 = t102 * t758; + const double t762 = 0.11e2 / 0.27e2 * t44 * t736 + 0.5e1 / 0.6e1 * t51 * t740 + 0.19e2 / 0.162e3 * t64 * t745 + 0.115e3 / 0.1296e4 * t77 * t750 + t89 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t100 * t759; + const double t763 = t762 * t171; + const double t767 = t40 * t344; + const double t768 = t767 * t382; + const double t772 = 0.1e1 / t351 / t170; + const double t773 = t381 * t381; + const double t774 = t772 * t773; + const double t775 = t350 * t774; + const double t779 = 0.1e1 / t18 / t310; + const double t796 = 0.1e1 / t38 / t165; + const double t800 = t91 * t80; + const double t801 = 0.1e1 / t800; + const double t805 = 0.7e1 / 0.27e2 * t112 * t113 * t779 + 0.11e2 / 0.27e2 * t121 * t736 + 0.5e1 / 0.6e1 * t125 * t740 + 0.19e2 / 0.162e3 * t130 * t745 + 0.115e3 / 0.1296e4 * t135 * t750 + t139 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t144 * t759 + 0.35e2 / 0.3888e4 * t151 * t153 * t796 + 0.13e2 / 0.1152e4 * t163 * t164 * t801; + const double t806 = t352 * t805; + const double t807 = t350 * t806; + const double t811 = piecewise_functor_3( t176, 0.11e2 / 0.27e2 * t34 * t725 * t172 - 0.2e1 / 0.9e1 * t34 * t313 * t345 + 0.2e1 / 0.9e1 * t349 * t733 + t34 * t41 * t763 / 0.24e2 - t349 * t768 / 0.12e2 + t349 * t775 / 0.12e2 - t349 * t807 / 0.24e2, 0.0 ); + const double t812 = piecewise_functor_3( t236, t811, 0.0 ); + const double t815 = t179 * t182 * t40; + const double t816 = 0.1e2 / 0.3e1 * t815; + const double t817 = 0.9e1 * t812 + t816; + const double t819 = t493 * t817 / 0.6e1; + const double t820 = t717 - t722 + t819; + const double t822 = t526 * t511; + const double t826 = 0.1e1 / t510 / t285; + const double t827 = t292 * t826; + const double t828 = t515 * t515; + const double t831 = t391 * t391; + const double t835 = t811 + 0.1e2 / 0.27e2 * t815; + const double t838 = t717 - t214 * t831 / 0.4e1 + t189 * t835 / 0.2e1; + const double t840 = t820 * t286 - 0.2e1 * t822 * t515 - t528 * t838 + 0.2e1 * t827 * t828; + const double t841 = t238 * t840; + const double t844 = t532 * t515; + const double t851 = t264 * t811; + const double t858 = t481 * t811; + const double t861 = t387 * t517; + const double t865 = 0.1e1 / t270 / t269; + const double t866 = t491 * t491; + const double t868 = t865 * t866 / 0.12e2; + const double t870 = 0.9e1 * t811 + t816; + const double t872 = t488 * t870 / 0.6e1; + const double t873 = t717 - t868 + t872; + const double t875 = t508 * t511; + const double t878 = t283 * t826; + const double t882 = t873 * t286 - t512 * t838 - 0.2e1 * t875 * t515 + 0.2e1 * t878 * t828; + const double t883 = t177 * t882; + const double t886 = t519 * t515; + const double t889 = t387 * t387; + const double t890 = t481 * t889; + const double t894 = 0.1e1 / t480 / t194; + const double t895 = t894 * t889; + const double t898 = t193 * t264; + const double t901 = -0.4e1 * t712 * t533 - 0.2e1 * t841 * t533 - 0.2e1 * t531 * t844 - 0.10546577777777777778e0 * t415 * t434 - 0.10546577777777777778e0 * t431 * t434 - 0.52732888888888888888e-1 * t219 * t851 + 0.2e1 / 0.3e1 * t458 * t482 + 0.2e1 / 0.3e1 * t477 * t482 + t263 * t858 / 0.3e1 + 0.4e1 * t861 * t520 + 0.2e1 * t883 * t520 + 0.2e1 * t518 * t886 + 0.15819866666666666666e0 * t219 * t890 - 0.4e1 / 0.3e1 * t263 * t895 + 0.94545777777777777778e-1 * t898 * t889; + const double t902 = t414 * t430; + const double t905 = t27 * t354; + const double t907 = t25 * t905 * t189; + const double t910 = t25 * t306 * t392; + const double t912 = t258 * t831; + const double t914 = t25 * t29 * t912; + const double t916 = t214 * t835; + const double t918 = t25 * t29 * t916; + const double t920 = 0.1e1 / t310; + const double t923 = t208 * t210 * t920 * t214; + const double t925 = t420 * t258; + const double t927 = t425 * t925 * t391; + const double t928 = t211 * t471; + const double t930 = t425 * t928 * t831; + const double t933 = t425 * t426 * t835; + const double t935 = -0.4e1 / 0.9e1 * t907 - t910 / 0.3e1 - 0.3e1 / 0.4e1 * t914 + t918 / 0.2e1 + 0.2e1 / 0.3e1 * t923 + t927 + 0.5e1 / 0.4e1 * t930 - t933 / 0.2e1; + const double t936 = t206 * t935; + const double t939 = t725 * t201; + const double t943 = t35 * t744 * t409; + const double t946 = t88 * t90; + const double t948 = 0.1e1 / t408 / t200; + const double t953 = 0.12717480330480143498e0 * t34 * t939 - 0.6503256987177346107e-2 * t406 * t943 + 0.48172273979091452645e-3 * t946 * t753 * t948 + 0.42141105276909202774e1 * t811; + const double t967 = t229 * t194; + const double t968 = t967 * t241; + const double t971 = t445 * t455; + const double t977 = 0.1e1 / t233 / t177; + const double t983 = 0.1e1 / t239 / t238; + const double t984 = t452 * t452; + const double t989 = -0.3e1 / 0.5e1 * t977 * t889 + 0.6e1 / 0.5e1 * t449 * t811 + 0.3e1 / 0.5e1 * t983 * t984 - 0.6e1 / 0.5e1 * t451 * t812; + const double t991 = 0.474596e-1 * t953 * t194 + 0.949192e-1 * t414 * t387 + 0.474596e-1 * t206 * t811 + 0.56727466666666666666e-1 * t889 + 0.56727466666666666666e-1 * t194 * t811 - 0.54519192e1 * t194 * t889 - 0.27259596e1 * t220 * t811 - 0.35e2 / 0.4e1 * t968 * t889 - 0.7e1 * t971 * t387 - 0.7e1 / 0.2e1 * t446 * t811 - t230 * t989; + const double t992 = t991 * t262; + const double t995 = t457 * t476; + const double t1006 = t252 * t312; + const double t1013 = t256 * t256; + const double t1015 = 0.1e1 / t188 / t1013; + const double t1016 = t1015 * t831; + const double t1020 = t471 * t835; + const double t1024 = -0.2e2 / 0.9e1 * t907 - 0.5e1 / 0.3e1 * t910 - 0.15e2 / 0.4e1 * t914 + 0.5e1 / 0.2e1 * t918 + 0.2e2 / 0.3e1 * t923 + 0.1e2 * t927 + 0.25e2 / 0.2e1 * t930 - 0.5e1 * t933 - 0.4e2 / 0.27e2 * t249 * t1006 * t258 - 0.25e2 / 0.9e1 * t249 * t465 * t472 - 0.35e2 / 0.12e2 * t249 * t255 * t1016 + 0.5e1 / 0.6e1 * t249 * t255 * t1020; + const double t1025 = t243 * t1024; + const double t1028 = t396 * t221; + const double t1033 = t953 * t218; + const double t1040 = -0.4e1 / 0.27e2 * t907 - t910 / 0.9e1 - t914 / 0.4e1 + t918 / 0.6e1; + const double t1047 = -t868 + t872 + t722 - t819; + const double t1057 = t283 * t283; + const double t1058 = 0.1e1 / t1057; + const double t1059 = t1058 * t285; + const double t1060 = t1059 * t508; + const double t1063 = t292 * t292; + const double t1064 = 0.1e1 / t1063; + const double t1065 = t1064 * t285; + const double t1066 = t1065 * t526; + const double t1069 = 0.52732888888888888888e-1 * t902 * t221 + 0.26366444444444444444e-1 * t936 * t221 - t992 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t995 * t264 - t1025 * t264 / 0.9e1 - 0.94545777777777777778e-1 * t1028 * t387 - 0.47272888888888888889e-1 * t399 * t811 + 0.26366444444444444444e-1 * t1033 * t221 + 0.47272888888888888889e-1 * t1040 * t195 + 0.2e1 * t811 * t288 - 0.2e1 * t812 * t294 + 0.2e1 / 0.3e1 * t25 * t29 * t1047 - 0.4e1 / 0.9e1 * t25 * t306 * t498 + 0.8e1 / 0.27e2 * t25 * t905 * t275 - 0.2e1 * t518 * t1060 + 0.2e1 * t531 * t1066; + const double t1070 = t901 + t1069; + const double t1075 = piecewise_functor_3( t2, 0.0, t6 * t705 * t297 / 0.12e2 - t6 * t302 * t536 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1070 ); + const double t1081 = t865 * t605; + const double t1095 = t549 * t312; + const double t1098 = t52 * t320; + const double t1101 = t556 * t325; + const double t1104 = t560 * t331; + const double t1107 = t65 * t335; + const double t1110 = t567 * t340; + const double t1113 = -t43 * t1095 / 0.9e1 - t51 * t1098 / 0.4e1 - t64 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t77 * t1104 - t89 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t100 * t1110; + const double t1114 = t1113 * t171; + const double t1118 = t40 * t571; + const double t1119 = t1118 * t382; + const double t1122 = t732 * t600; + const double t1125 = t767 * t600; + const double t1128 = t772 * t599; + const double t1129 = t1128 * t381; + const double t1154 = -t112 * t576 * t354 / 0.18e2 - t120 * t1095 / 0.9e1 - t125 * t1098 / 0.4e1 - t130 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t135 * t1104 - t139 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t144 * t1110 - t151 * t592 * t372 / 0.324e3 - t163 * t101 * t377 / 0.256e3; + const double t1155 = t352 * t1154; + const double t1156 = t350 * t1155; + const double t1160 = piecewise_functor_3( t176, -t546 * t732 * t171 / 0.9e1 + t546 * t767 * t171 / 0.24e2 - t546 * t383 / 0.24e2 - t34 * t313 * t572 / 0.9e1 + t34 * t41 * t1114 / 0.24e2 - t349 * t1119 / 0.24e2 + t349 * t1122 / 0.9e1 - t349 * t1125 / 0.24e2 + t349 * t350 * t1129 / 0.12e2 - t349 * t1156 / 0.24e2, 0.0 ); + const double t1161 = t488 * t1160; + const double t1163 = t719 * t648; + const double t1166 = piecewise_functor_3( t236, t1160, 0.0 ); + const double t1167 = t493 * t1166; + const double t1169 = -0.3e1 / 0.4e1 * t1081 * t491 + 0.3e1 / 0.2e1 * t1161 + 0.3e1 / 0.4e1 * t1163 * t495 - 0.3e1 / 0.2e1 * t1167; + const double t1180 = t667 * t387; + const double t1183 = t894 * t605; + const double t1184 = t1183 * t387; + const double t1187 = t115 * t214; + const double t1191 = t1160 * t195; + const double t1195 = t605 * t221; + const double t1196 = t1195 * t387; + const double t1200 = t28 * t258; + const double t1201 = t606 * t391; + const double t1212 = t88 * t65; + const double t1217 = -0.34684037264945845904e-1 * t33 * t402 + 0.2167752329059115369e-2 * t1207 * t325 * t409 * sigma - 0.18064602742159294741e-3 * t1212 * t335 * t948 + 0.42141105276909202774e1 * t1160; + const double t1226 = t387 * t605; + const double t1228 = t194 * t1160; + const double t1240 = t445 * t651; + const double t1243 = t977 * t605; + const double t1248 = t983 * t648; + const double t1253 = -0.3e1 / 0.5e1 * t1243 * t387 + 0.6e1 / 0.5e1 * t449 * t1160 + 0.3e1 / 0.5e1 * t1248 * t452 - 0.6e1 / 0.5e1 * t451 * t1166; + const double t1255 = 0.474596e-1 * t1217 * t194 + 0.474596e-1 * t620 * t387 + 0.474596e-1 * t414 * t605 + 0.474596e-1 * t206 * t1160 + 0.56727466666666666666e-1 * t1226 + 0.56727466666666666666e-1 * t1228 - 0.54519192e1 * t641 * t387 - 0.27259596e1 * t220 * t1160 - 0.35e2 / 0.4e1 * t968 * t1226 - 0.7e1 / 0.2e1 * t971 * t605 - 0.7e1 / 0.2e1 * t446 * t1160 - 0.7e1 / 0.2e1 * t1240 * t387 - t230 * t1253; + const double t1256 = t1255 * t262; + const double t1259 = t653 * t476; + const double t1262 = t457 * t663; + const double t1266 = t25 * t306 * t624; + const double t1268 = t605 * t391; + const double t1270 = t544 * t1200 * t1268; + const double t1272 = t214 * t1160; + const double t1274 = t25 * t29 * t1272; + const double t1277 = t425 * t925 * t605; + const double t1280 = t425 * t928 * t1268; + const double t1283 = t425 * t426 * t1160; + const double t1289 = t248 * t76 * t252; + const double t1290 = t254 * t1015; + const double t1294 = t471 * t1160; + const double t1298 = -0.5e1 / 0.6e1 * t1266 - 0.15e2 / 0.4e1 * t1270 + 0.5e1 / 0.2e1 * t1274 + 0.5e1 * t1277 + 0.25e2 / 0.2e1 * t1280 - 0.5e1 * t1283 - 0.25e2 / 0.18e2 * t249 * t465 * t659 - 0.35e2 / 0.12e2 * t1289 * t1290 * t1268 + 0.5e1 / 0.6e1 * t249 * t255 * t1294; + const double t1299 = t243 * t1298; + const double t1306 = t1217 * t218; + const double t1309 = t620 * t430; + const double t1312 = t414 * t630; + const double t1321 = -t1266 / 0.6e1 - 0.3e1 / 0.4e1 * t1270 + t1274 / 0.2e1 + t1277 / 0.2e1 + 0.5e1 / 0.4e1 * t1280 - t1283 / 0.2e1; + const double t1322 = t206 * t1321; + const double t1325 = 0.2e1 / 0.3e1 * t25 * t29 * t1169 - 0.2e1 / 0.9e1 * t25 * t306 * t673 - 0.2e1 * t685 * t1060 + 0.2e1 * t695 * t1066 + 0.15819866666666666666e0 * t219 * t1180 - 0.4e1 / 0.3e1 * t263 * t1184 - 0.26262716049382716049e-2 * t544 * t1187 * t606 + 0.78788148148148148148e-2 * t544 * t545 * t1191 - 0.78788148148148148148e-2 * t544 * t545 * t1196 - 0.11818222222222222222e-1 * t544 * t1200 * t1201 - t1256 * t264 / 0.9e1 - t1259 * t264 / 0.9e1 - t1262 * t264 / 0.9e1 - t1299 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t1028 * t605 - 0.47272888888888888889e-1 * t399 * t1160 + 0.26366444444444444444e-1 * t1306 * t221 + 0.26366444444444444444e-1 * t1309 * t221 + 0.26366444444444444444e-1 * t1312 * t221 + 0.26366444444444444444e-1 * t1322 * t221; + const double t1326 = t481 * t1160; + const double t1329 = t605 * t517; + const double t1332 = t387 * t684; + const double t1335 = t286 * t491; + const double t1340 = t511 * t515; + const double t1345 = t681 * t515; + const double t1347 = t624 * t391; + const double t1350 = t189 * t1160; + const double t1353 = -0.3e1 / 0.4e1 * t1081 * t1335 + 0.3e1 / 0.2e1 * t1161 * t286 - 0.3e1 / 0.2e1 * t670 * t1340 - t875 * t681 / 0.2e1 + t878 * t1345 + t512 * t1347 / 0.4e1 - t512 * t1350 / 0.2e1; + const double t1354 = t177 * t1353; + const double t1359 = t648 * t530; + const double t1362 = t452 * t694; + const double t1365 = t286 * t495; + const double t1379 = -0.3e1 / 0.4e1 * t1163 * t1365 + 0.3e1 / 0.2e1 * t1167 * t286 - 0.3e1 / 0.2e1 * t671 * t1340 - t822 * t681 / 0.2e1 + t827 * t1345 + t528 * t1347 / 0.4e1 - t528 * t1350 / 0.2e1; + const double t1380 = t238 * t1379; + const double t1396 = t264 * t1160; + const double t1411 = -0.52732888888888888888e-1 * t621 * t434 - 0.52732888888888888888e-1 * t631 * t434 - 0.52732888888888888888e-1 * t415 * t634 - 0.52732888888888888888e-1 * t431 * t634 - 0.52732888888888888888e-1 * t219 * t1396 + t654 * t482 / 0.3e1 + t664 * t482 / 0.3e1 + t458 * t667 / 0.3e1 + t477 * t667 / 0.3e1 + 0.2e1 * t1160 * t288 - 0.2e1 * t1166 * t294; + const double t1413 = t1325 + t263 * t1326 / 0.3e1 + 0.2e1 * t1329 * t520 + 0.2e1 * t1332 * t520 + 0.2e1 * t1354 * t520 + 0.2e1 * t685 * t886 - 0.2e1 * t1359 * t533 - 0.2e1 * t1362 * t533 - 0.2e1 * t1380 * t533 - 0.2e1 * t695 * t844 + 0.94545777777777777778e-1 * t898 * t1226 + t1411; + const double t1418 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t698 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1413 ); + const double t1421 = t519 * t189; + const double t1422 = t1421 * t605; + const double t1424 = t532 * t189; + const double t1425 = t1424 * t605; + const double t1427 = t695 * t1064; + const double t1428 = t285 * t493; + const double t1429 = t1428 * t648; + const double t1432 = t605 * t605; + const double t1433 = t865 * t1432; + const double t1440 = t575 * t55; + const double t1444 = t1443 * t69; + const double t1447 = t52 * t36; + const double t1448 = t1447 * t82; + const double t1451 = sigma * t92; + const double t1454 = t53 * t35; + const double t1455 = t1454 * t105; + const double t1458 = t51 * t1440 / 0.32e2 + t61 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t77 * t1448 + t89 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t100 * t1455; + const double t1459 = t1458 * t171; + const double t1463 = t1118 * t600; + const double t1466 = t599 * t599; + const double t1467 = t772 * t1466; + const double t1468 = t350 * t1467; + const double t1471 = 0.1e1 / t53; + const double t1472 = t1471 * t35; + const double t1486 = t65 * t36; + const double t1493 = -t112 * t1472 * t115 / 0.48e2 + t125 * t1440 / 0.32e2 + t129 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t135 * t1448 + t139 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t144 * t1455 + t151 * t1486 * t156 / 0.1152e4 + 0.7e1 / 0.6144e4 * t163 * t78 * t166; + const double t1494 = t352 * t1493; + const double t1495 = t350 * t1494; + const double t1499 = piecewise_functor_3( t176, t546 * t1118 * t171 / 0.12e2 - t546 * t601 / 0.12e2 + t34 * t41 * t1459 / 0.24e2 - t349 * t1463 / 0.12e2 + t349 * t1468 / 0.12e2 - t349 * t1495 / 0.24e2, 0.0 ); + const double t1500 = t488 * t1499; + const double t1502 = t648 * t648; + const double t1503 = t719 * t1502; + const double t1505 = piecewise_functor_3( t236, t1499, 0.0 ); + const double t1506 = t493 * t1505; + const double t1508 = -0.27e2 / 0.4e1 * t1433 + 0.3e1 / 0.2e1 * t1500 + 0.27e2 / 0.4e1 * t1503 - 0.3e1 / 0.2e1 * t1506; + const double t1512 = t685 * t1058; + const double t1513 = t285 * t488; + const double t1514 = t1513 * t605; + const double t1517 = t1432 * t195; + const double t1521 = t1432 * t221; + const double t1525 = t1499 * t195; + const double t1529 = t481 * t1432; + const double t1532 = t894 * t1432; + const double t1537 = t648 * t694; + const double t1544 = t511 * t189; + const double t1545 = t1544 * t605; + const double t1548 = 0.1e1 / t187; + const double t1549 = t1548 * t1432; + const double t1552 = t214 * t1432; + const double t1555 = t189 * t1499; + const double t1558 = -0.27e2 / 0.4e1 * t1503 * t286 + 0.3e1 / 0.2e1 * t1506 * t286 - 0.3e1 / 0.2e1 * t671 * t1545 + t827 * t1549 / 0.2e1 + t528 * t1552 / 0.4e1 - t528 * t1555 / 0.2e1; + const double t1559 = t238 * t1558; + const double t1566 = t685 * t1422 - t695 * t1425 + 0.3e1 * t1427 * t1429 + 0.2e1 / 0.3e1 * t25 * t29 * t1508 - 0.3e1 * t1512 * t1514 - 0.11818222222222222222e-1 * t544 * t1200 * t1517 - 0.1575762962962962963e-1 * t544 * t545 * t1521 + 0.78788148148148148148e-2 * t544 * t545 * t1525 + 0.15819866666666666666e0 * t219 * t1529 - 0.4e1 / 0.3e1 * t263 * t1532 + 0.94545777777777777778e-1 * t898 * t1432 - 0.4e1 * t1537 * t533 - 0.2e1 * t1559 * t533 - 0.10546577777777777778e0 * t621 * t634 - 0.10546577777777777778e0 * t631 * t634; + const double t1567 = t264 * t1499; + const double t1574 = t481 * t1499; + const double t1577 = t605 * t684; + const double t1584 = t488 * t1432; + const double t1593 = -0.27e2 / 0.4e1 * t1433 * t286 + 0.3e1 / 0.2e1 * t1500 * t286 - 0.3e1 / 0.2e1 * t1584 * t1544 + t878 * t1549 / 0.2e1 + t512 * t1552 / 0.4e1 - t512 * t1555 / 0.2e1; + const double t1594 = t177 * t1593; + const double t1599 = t88 * sigma; + const double t1604 = -0.54193808226477884224e-3 * t405 * t616 + 0.6774226028309735528e-4 * t1599 * t92 * t948 + 0.42141105276909202774e1 * t1499; + const double t1612 = t194 * t1499; + const double t1632 = -0.3e1 / 0.5e1 * t977 * t1432 + 0.6e1 / 0.5e1 * t449 * t1499 + 0.3e1 / 0.5e1 * t983 * t1502 - 0.6e1 / 0.5e1 * t451 * t1505; + const double t1634 = 0.474596e-1 * t1604 * t194 + 0.949192e-1 * t620 * t605 + 0.474596e-1 * t206 * t1499 + 0.56727466666666666666e-1 * t1432 + 0.56727466666666666666e-1 * t1612 - 0.54519192e1 * t194 * t1432 - 0.27259596e1 * t220 * t1499 - 0.35e2 / 0.4e1 * t968 * t1432 - 0.7e1 * t1240 * t605 - 0.7e1 / 0.2e1 * t446 * t1499 - t230 * t1632; + const double t1635 = t1634 * t262; + const double t1638 = t653 * t663; + const double t1641 = t258 * t1432; + const double t1643 = t25 * t29 * t1641; + const double t1645 = t214 * t1499; + const double t1647 = t25 * t29 * t1645; + const double t1650 = t425 * t928 * t1432; + const double t1653 = t425 * t426 * t1499; + const double t1655 = t1015 * t1432; + const double t1659 = t471 * t1499; + const double t1663 = -0.15e2 / 0.4e1 * t1643 + 0.5e1 / 0.2e1 * t1647 + 0.25e2 / 0.2e1 * t1650 - 0.5e1 * t1653 - 0.35e2 / 0.12e2 * t249 * t255 * t1655 + 0.5e1 / 0.6e1 * t249 * t255 * t1659; + const double t1664 = t243 * t1663; + const double t1669 = t1604 * t218; + const double t1672 = t620 * t630; + const double t1679 = -0.3e1 / 0.4e1 * t1643 + t1647 / 0.2e1 + 0.5e1 / 0.4e1 * t1650 - t1653 / 0.2e1; + const double t1680 = t206 * t1679; + const double t1687 = -0.52732888888888888888e-1 * t219 * t1567 + 0.2e1 / 0.3e1 * t654 * t667 + 0.2e1 / 0.3e1 * t664 * t667 + t263 * t1574 / 0.3e1 + 0.4e1 * t1577 * t520 + 0.2e1 * t1594 * t520 - t1635 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t1638 * t264 - t1664 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t399 * t1499 + 0.26366444444444444444e-1 * t1669 * t221 + 0.52732888888888888888e-1 * t1672 * t221 + 0.26366444444444444444e-1 * t1680 * t221 - 0.2e1 * t1505 * t294 + 0.2e1 * t1499 * t288; + const double t1688 = t1566 + t1687; + const double t1692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t1688 ); + + + vrho = 0.2e1 * rho * t541 + 0.2e1 * t301; + vsigma = 0.2e1 * rho * t702; + v2rho2 = 0.2e1 * rho * t1075 + 0.4e1 * t541; + v2rhosigma = 0.2e1 * rho * t1418 + 0.2e1 * t702; + v2sigma2 = 0.2e1 * rho * t1692; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + + + eps = t306 + t522; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + + + eps = t306 + t522; + vrho_a = t306 + t522 + t6 * ( t813 + t964 ); + vrho_b = t306 + t522 + t6 * ( t1061 + t1290 ); + vsigma_aa = t6 * t1448; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t1604; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + const double t1607 = t23 * t23; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t527 * t527; + const double t1612 = t523 * t6; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t16 * t1613; + const double t1616 = -0.2e1 * t524 + 0.2e1 * t1614; + const double t1617 = piecewise_functor_5( t10, 0.0, t14, 0.0, t1616 ); + const double t1621 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t1609 + 0.4e1 / 0.3e1 * t23 * t1617 ); + const double t1622 = t1621 * t26; + const double t1626 = t530 * t188; + const double t1628 = t5 * t1626 * t302; + const double t1633 = t25 * t259; + const double t1636 = t5 * t1633 * t302 / 0.12e2; + const double t1638 = t5 * t535 * t808; + const double t1641 = 0.1e1 / t26 / t523; + const double t1642 = t43 * t1641; + const double t1645 = 0.8e1 / 0.27e2 * t33 * t1642 * t280; + const double t1646 = t767 * t545; + const double t1651 = t33 * t552 * t767; + const double t1654 = 0.1e1 / t275 / t274; + const double t1655 = t760 * t760; + const double t1657 = t1654 * t1655 / 0.12e2; + const double t1659 = 0.1e1 / t53 / t67; + const double t1660 = t1659 * t119; + const double t1661 = t1660 * t176; + const double t1664 = t558 * t590; + const double t1665 = t1664 * t176; + const double t1671 = t58 * t1659; + const double t1674 = 0.1e1 / t91; + const double t1675 = t66 * t1674; + const double t1679 = 0.1e1 / t52 / t575; + const double t1680 = t78 * t1679; + const double t1684 = 0.1e1 / t53 / t102; + const double t1685 = t90 * t1684; + const double t1688 = 0.1e1 / t159; + const double t1689 = t101 * t1688; + const double t1693 = 0.1e1 / t52 / t614; + const double t1694 = t112 * t1693; + const double t1697 = 0.11e2 / 0.27e2 * t57 * t1671 + 0.5e1 / 0.12e2 * t64 * t1675 + 0.19e2 / 0.324e3 * t74 * t1680 + 0.115e3 / 0.2592e4 * t86 * t1685 + t100 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t1694; + const double t1698 = t55 * t1697; + const double t1699 = t1698 * t176; + const double t1706 = 0.1e1 / t595 / t175; + const double t1707 = t625 * t625; + const double t1708 = t1706 * t1707; + const double t1713 = 0.1e1 / t52 / t556; + const double t1730 = 0.1e1 / t53 / t170; + const double t1734 = t102 * t91; + const double t1735 = 0.1e1 / t1734; + const double t1739 = 0.7e1 / 0.27e2 * t122 * t123 * t1713 + 0.11e2 / 0.27e2 * t130 * t1671 + 0.5e1 / 0.12e2 * t134 * t1675 + 0.19e2 / 0.324e3 * t138 * t1680 + 0.115e3 / 0.2592e4 * t142 * t1685 + t146 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t1694 + 0.35e2 / 0.15552e5 * t154 * t158 * t1730 + 0.13e2 / 0.9216e4 * t168 * t169 * t1735; + const double t1740 = t596 * t1739; + const double t1745 = piecewise_functor_3( t180, 0.11e2 / 0.27e2 * t50 * t1661 - 0.2e1 / 0.9e1 * t50 * t1665 + 0.2e1 / 0.9e1 * t50 * t559 * t626 + t50 * t1699 / 0.24e2 - t50 * t591 * t626 / 0.12e2 + t50 * t120 * t1708 / 0.12e2 - t50 * t120 * t1740 / 0.24e2, 0.0 ); + const double t1747 = t669 * t188; + const double t1748 = t545 * t545; + const double t1750 = t632 * t1747 * t1748; + const double t1751 = 0.18e2 * t1750; + const double t1752 = t216 * t259; + const double t1754 = t632 * t1752 * t545; + const double t1755 = 0.8e1 * t1754; + const double t1757 = 0.1e1 / t540 / t39; + const double t1758 = t542 * t542; + const double t1761 = piecewise_functor_5( t35, 0.0, t37, 0.0, t1616 ); + const double t1765 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t1758 + t541 * t1761 / 0.3e1 ); + const double t1767 = t632 * t633 * t1765; + const double t1768 = 0.6e1 * t1767; + const double t1770 = t183 * t186 * t728; + const double t1771 = 0.1e2 / 0.3e1 * t1770; + const double t1772 = 0.9e1 * t1745 + t1751 + t1755 - t1768 + t1771; + const double t1774 = t756 * t1772 / 0.6e1; + const double t1776 = 0.1e1 / t278 / t277; + const double t1777 = t764 * t764; + const double t1779 = t1776 * t1777 / 0.12e2; + const double t1780 = piecewise_functor_3( t241, t1745, 0.0 ); + const double t1782 = 0.9e1 * t1780 + t1751 + t1755 - t1768 + t1771; + const double t1784 = t762 * t1782 / 0.6e1; + const double t1785 = -t1657 + t1774 + t1779 - t1784; + const double t1789 = t288 * t288; + const double t1790 = 0.1e1 / t1789; + const double t1791 = t1790 * t290; + const double t1792 = t1791 * t780; + const double t1795 = t297 * t297; + const double t1796 = 0.1e1 / t1795; + const double t1797 = t1796 * t290; + const double t1798 = t1797 * t798; + const double t1801 = t216 * t44; + const double t1802 = t280 * t1748; + const double t1806 = t185 * t551; + const double t1808 = t33 * t1806 * t749; + const double t1812 = 0.2e1 / 0.3e1 * t33 * t1801 * t1748; + const double t1814 = t33 * t1806 * t545; + const double t1815 = 0.2e1 / 0.9e1 * t1814; + const double t1818 = t33 * t539 * t1765 / 0.3e1; + const double t1821 = 0.4e1 / 0.27e2 * t29 * t284 * t1641; + const double t1822 = t1812 + t1815 - t1818 + t1821 - t1779 + t1784; + const double t1824 = t798 * t783; + const double t1828 = 0.1e1 / t782 / t290; + const double t1829 = t297 * t1828; + const double t1830 = t787 * t787; + const double t1833 = t640 * t640; + const double t1839 = 0.1e2 / 0.27e2 * t1770; + const double t1840 = t1745 + 0.2e1 * t1750 + 0.8e1 / 0.9e1 * t1754 - 0.2e1 / 0.3e1 * t1767 + t1839; + const double t1843 = t1812 + t1815 - t1818 + t1821 - t219 * t1833 / 0.4e1 + t194 * t1840 / 0.2e1; + const double t1845 = t1822 * t291 - 0.2e1 * t1824 * t787 + 0.2e1 * t1829 * t1830 - t1843 * t800; + const double t1846 = t243 * t1845; + const double t1849 = t804 * t787; + const double t1856 = t269 * t1745; + const double t1863 = t745 * t1745; + const double t1866 = t631 * t789; + const double t1869 = t1645 - 0.4e1 / 0.3e1 * t33 * t539 * t1646 - 0.4e1 / 0.9e1 * t1651 + 0.2e1 / 0.3e1 * t33 * t45 * t1785 - 0.2e1 * t790 * t1792 + 0.2e1 * t803 * t1798 + 0.4e1 / 0.3e1 * t33 * t1801 * t1802 + 0.4e1 / 0.9e1 * t1808 - 0.2e1 * t1846 * t805 - 0.2e1 * t803 * t1849 - 0.10546577777777777778e0 * t664 * t687 - 0.10546577777777777778e0 * t684 * t687 - 0.52732888888888888888e-1 * t224 * t1856 + 0.2e1 / 0.3e1 * t711 * t746 + 0.2e1 / 0.3e1 * t741 * t746 + t268 * t1863 / 0.3e1 + 0.4e1 * t1866 * t792; + const double t1870 = t1812 + t1815 - t1818 + t1821 - t1657 + t1774; + const double t1872 = t780 * t783; + const double t1875 = t288 * t1828; + const double t1879 = 0.2e1 * t1830 * t1875 - t1843 * t784 + t1870 * t291 - 0.2e1 * t1872 * t787; + const double t1880 = t181 * t1879; + const double t1883 = t280 * t1765; + const double t1887 = t194 * t1748; + const double t1889 = t33 * t1801 * t1887; + const double t1892 = t33 * t1806 * t546; + const double t1894 = t32 * t185; + const double t1895 = t29 * t1894; + const double t1896 = t545 * t640; + const double t1898 = t1895 * t1294 * t1896; + const double t1900 = t194 * t1765; + const double t1902 = t33 * t539 * t1900; + const double t1905 = t33 * t1642 * t194; + const double t1906 = 0.4e1 / 0.27e2 * t1905; + const double t1908 = t33 * t552 * t641; + const double t1910 = t263 * t1833; + const double t1912 = t33 * t45 * t1910; + const double t1914 = t219 * t1840; + const double t1916 = t33 * t45 * t1914; + const double t1918 = -0.2e1 / 0.3e1 * t1889 - 0.2e1 / 0.9e1 * t1892 - t1898 / 0.3e1 + t1902 / 0.3e1 - t1906 - t1908 / 0.9e1 - t1912 / 0.4e1 + t1916 / 0.6e1; + const double t1922 = 0.1e1 / t744 / t199; + const double t1923 = t631 * t631; + const double t1924 = t1922 * t1923; + const double t1927 = t745 * t1923; + const double t1930 = t791 * t787; + const double t1933 = t705 * t802; + const double t1936 = t198 * t269; + const double t1939 = t663 * t683; + const double t1944 = 0.4e1 / 0.9e1 * t1905; + const double t1948 = t214 * t257; + const double t1950 = t1948 * t671 * t1748; + const double t1952 = t524 * t219; + const double t1954 = t670 * t1952 * t545; + const double t1957 = t670 * t679 * t1896; + const double t1960 = t670 * t671 * t1765; + const double t1963 = t214 * t216 * t1613 * t219; + const double t1964 = 0.2e1 / 0.3e1 * t1963; + const double t1965 = t524 * t263; + const double t1967 = t678 * t1965 * t640; + const double t1968 = t7 * t735; + const double t1970 = t678 * t1968 * t1833; + const double t1973 = t678 * t679 * t1840; + const double t1975 = -0.2e1 * t1889 - 0.2e1 / 0.3e1 * t1892 - t1898 + t1902 - t1944 - t1908 / 0.3e1 - 0.3e1 / 0.4e1 * t1912 + t1916 / 0.2e1 + 0.4e1 * t1950 + 0.2e1 * t1954 + 0.3e1 * t1957 - t1960 + t1964 + t1967 + 0.5e1 / 0.4e1 * t1970 - t1973 / 0.2e1; + const double t1976 = t212 * t1975; + const double t1979 = sigma_aa * t1659; + const double t1987 = t99 * t101; + const double t1989 = 0.1e1 / t657 / t206; + const double t1994 = 0.12717480330480143498e0 * t49 * t1979 * t207 - 0.32516284935886730535e-2 * t655 * t77 * t1679 * t658 + 0.12043068494772863161e-3 * t1987 * t1688 * t1989 + 0.42141105276909202774e1 * t1745; + const double t2008 = t234 * t199; + const double t2009 = t2008 * t246; + const double t2012 = t698 * t708; + const double t2018 = 0.1e1 / t238 / t181; + const double t2024 = 0.1e1 / t244 / t243; + const double t2025 = t705 * t705; + const double t2030 = -0.3e1 / 0.5e1 * t2018 * t1923 + 0.6e1 / 0.5e1 * t702 * t1745 + 0.3e1 / 0.5e1 * t2024 * t2025 - 0.6e1 / 0.5e1 * t704 * t1780; + const double t2032 = 0.474596e-1 * t1994 * t199 + 0.949192e-1 * t663 * t631 + 0.474596e-1 * t212 * t1745 + 0.56727466666666666666e-1 * t1923 + 0.56727466666666666666e-1 * t199 * t1745 - 0.54519192e1 * t199 * t1923 - 0.27259596e1 * t225 * t1745 - 0.35e2 / 0.4e1 * t2009 * t1923 - 0.7e1 * t2012 * t631 - 0.7e1 / 0.2e1 * t699 * t1745 - t235 * t2030; + const double t2033 = t2032 * t267; + const double t2036 = t710 * t740; + const double t2040 = 0.2e2 / 0.3e1 * t1963; + const double t2044 = 0.1e1 / t187 / t1612; + const double t2045 = t257 * t2044; + const double t2048 = 0.4e2 / 0.27e2 * t254 * t2045 * t263; + const double t2050 = t254 * t729 * t736; + const double t2052 = t735 * t1840; + const double t2056 = t263 * t1765; + const double t2064 = -0.1e2 * t1960 + t2040 + 0.1e2 * t1967 - 0.5e1 * t1973 - t2048 - 0.25e2 / 0.9e1 * t2050 + 0.5e1 / 0.6e1 * t254 * t260 * t2052 + 0.5e1 / 0.3e1 * t254 * t722 * t2056 + 0.4e2 * t1950 + 0.2e2 * t1954 + 0.3e2 * t1957 + 0.25e2 / 0.2e1 * t1970; + const double t2066 = 0.2e2 / 0.9e1 * t1905; + const double t2069 = t261 * t261; + const double t2071 = 0.1e1 / t193 / t2069; + const double t2072 = t2071 * t1833; + const double t2077 = 0.1e1 / t255 / t215; + const double t2078 = t2077 * t259; + const double t2079 = t263 * t1748; + const double t2083 = t721 * t728; + const double t2085 = t254 * t2083 * t723; + const double t2087 = t88 * t721; + const double t2088 = t253 * t2087; + const double t2089 = t259 * t735; + const double t2097 = 0.5e1 * t1902 - t2066 - 0.5e1 / 0.3e1 * t1908 + 0.5e1 / 0.2e1 * t1916 - 0.35e2 / 0.12e2 * t254 * t260 * t2072 - 0.1e2 * t254 * t2078 * t2079 - 0.5e2 / 0.9e1 * t2085 - 0.25e2 / 0.3e1 * t2088 * t2089 * t1896 - 0.1e2 * t1889 - 0.1e2 / 0.3e1 * t1892 - 0.5e1 * t1898 - 0.15e2 / 0.4e1 * t1912; + const double t2098 = t2064 + t2097; + const double t2099 = t248 * t2098; + const double t2102 = t645 * t226; + const double t2107 = t1994 * t223; + const double t2114 = 0.2e1 * t1880 * t792 - 0.2e1 / 0.3e1 * t33 * t539 * t1883 + 0.47272888888888888889e-1 * t1918 * t200 - 0.4e1 / 0.3e1 * t268 * t1924 + 0.15819866666666666666e0 * t224 * t1927 + 0.2e1 * t790 * t1930 - 0.4e1 * t1933 * t805 + 0.94545777777777777778e-1 * t1936 * t1923 + 0.52732888888888888888e-1 * t1939 * t226 + 0.26366444444444444444e-1 * t1976 * t226 - t2033 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t2036 * t269 - t2099 * t269 / 0.9e1 - 0.94545777777777777778e-1 * t2102 * t631 - 0.47272888888888888889e-1 * t648 * t1745 + 0.26366444444444444444e-1 * t2107 * t226 - 0.2e1 * t1780 * t299 + 0.2e1 * t1745 * t293; + const double t2115 = t1869 + t2114; + const double t2120 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t1622 * t302 - t1628 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t531 * t808 + t1636 - t1638 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t2115 ); + const double t2121 = t313 * t313; + const double t2122 = 0.1e1 / t2121; + const double t2123 = t816 * t816; + const double t2126 = t308 * t1613; + const double t2129 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t524 + 0.2e1 * t2126 ); + const double t2133 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t2123 + 0.4e1 / 0.3e1 * t313 * t2129 ); + const double t2134 = t2133 * t26; + const double t2138 = t819 * t188; + const double t2140 = t5 * t2138 * t518; + const double t2145 = t315 * t259; + const double t2148 = t5 * t2145 * t518 / 0.12e2; + const double t2150 = t5 * t824 * t959; + const double t2152 = t440 * t44; + const double t2153 = t835 * t835; + const double t2154 = t420 * t2153; + const double t2156 = t33 * t2152 * t2154; + const double t2158 = t413 * t551; + const double t2160 = t33 * t2158 * t836; + const double t2162 = t32 * t413; + const double t2163 = t29 * t2162; + const double t2164 = t835 * t851; + const double t2166 = t2163 * t1450 * t2164; + const double t2169 = 0.1e1 / t829 / t318; + const double t2170 = t832 * t832; + const double t2174 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t1616 ); + const double t2178 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t2170 + t830 * t2174 / 0.3e1 ); + const double t2179 = t420 * t2178; + const double t2181 = t33 * t828 * t2179; + const double t2183 = t322 * t1641; + const double t2185 = t33 * t2183 * t420; + const double t2186 = 0.4e1 / 0.27e2 * t2185; + const double t2188 = t33 * t840 * t852; + const double t2190 = t851 * t851; + const double t2191 = t479 * t2190; + const double t2193 = t33 * t323 * t2191; + const double t2195 = t861 * t188; + const double t2197 = t632 * t2195 * t2153; + const double t2199 = t440 * t259; + const double t2201 = t632 * t2199 * t835; + const double t2204 = t632 * t844 * t2178; + const double t2207 = t183 * t414 * t728; + const double t2208 = 0.1e2 / 0.27e2 * t2207; + const double t2209 = 0.2e1 * t2197 + 0.8e1 / 0.9e1 * t2201 - 0.2e1 / 0.3e1 * t2204 + t2208; + const double t2210 = t443 * t2209; + const double t2212 = t33 * t323 * t2210; + const double t2214 = -0.2e1 / 0.3e1 * t2156 - 0.2e1 / 0.9e1 * t2160 - t2166 / 0.3e1 + t2181 / 0.3e1 - t2186 - t2188 / 0.9e1 - t2193 / 0.4e1 + t2212 / 0.6e1; + const double t2219 = 0.4e1 / 0.9e1 * t2185; + const double t2223 = t214 * t475; + const double t2225 = t2223 * t863 * t2153; + const double t2227 = t524 * t443; + const double t2229 = t862 * t2227 * t835; + const double t2232 = t862 * t871 * t2164; + const double t2235 = t862 * t863 * t2178; + const double t2238 = t214 * t440 * t1613 * t443; + const double t2239 = 0.2e1 / 0.3e1 * t2238; + const double t2240 = t524 * t479; + const double t2242 = t870 * t2240 * t851; + const double t2243 = t7 * t898; + const double t2245 = t870 * t2243 * t2190; + const double t2248 = t870 * t871 * t2209; + const double t2250 = -0.2e1 * t2156 - 0.2e1 / 0.3e1 * t2160 - t2166 + t2181 - t2219 - t2188 / 0.3e1 - 0.3e1 / 0.4e1 * t2193 + t2212 / 0.2e1 + 0.4e1 * t2225 + 0.2e1 * t2229 + 0.3e1 * t2232 - t2235 + t2239 + t2242 + 0.5e1 / 0.4e1 * t2245 - t2248 / 0.2e1; + const double t2251 = t438 * t2250; + const double t2254 = t479 * t2178; + const double t2258 = t475 * t2044; + const double t2261 = 0.4e2 / 0.27e2 * t254 * t2258 * t479; + const double t2263 = t254 * t892 * t899; + const double t2265 = t898 * t2209; + const double t2271 = 0.2e2 / 0.3e1 * t2238; + const double t2277 = 0.5e1 / 0.3e1 * t254 * t887 * t2254 - t2261 - 0.25e2 / 0.9e1 * t2263 + 0.5e1 / 0.6e1 * t254 * t476 * t2265 + 0.25e2 / 0.2e1 * t2245 - 0.1e2 * t2235 + t2271 + 0.1e2 * t2242 - 0.5e1 * t2248 + 0.5e1 / 0.2e1 * t2212 + 0.4e2 * t2225 + 0.2e2 * t2229; + const double t2280 = 0.2e2 / 0.9e1 * t2185; + const double t2283 = 0.1e1 / t473 / t439; + const double t2284 = t2283 * t259; + const double t2285 = t479 * t2153; + const double t2289 = t886 * t728; + const double t2291 = t254 * t2289 * t888; + const double t2293 = t88 * t886; + const double t2294 = t253 * t2293; + const double t2295 = t259 * t898; + const double t2299 = t477 * t477; + const double t2301 = 0.1e1 / t419 / t2299; + const double t2302 = t2301 * t2190; + const double t2310 = 0.3e2 * t2232 + 0.5e1 * t2181 - t2280 - 0.5e1 / 0.3e1 * t2188 - 0.1e2 * t254 * t2284 * t2285 - 0.5e2 / 0.9e1 * t2291 - 0.25e2 / 0.3e1 * t2294 * t2295 * t2164 - 0.35e2 / 0.12e2 * t254 * t476 * t2302 - 0.1e2 * t2156 - 0.1e2 / 0.3e1 * t2160 - 0.5e1 * t2166 - 0.15e2 / 0.4e1 * t2193; + const double t2311 = t2277 + t2310; + const double t2312 = t470 * t2311; + const double t2315 = t496 * t2153; + const double t2320 = t33 * t2158 * t907; + const double t2322 = t922 * t835; + const double t2326 = t496 * t2178; + const double t2332 = 0.8e1 / 0.27e2 * t33 * t2183 * t496; + const double t2334 = t33 * t840 * t922; + const double t2337 = 0.1e1 / t491 / t490; + const double t2338 = t917 * t917; + const double t2340 = t2337 * t2338 / 0.12e2; + const double t2344 = 0.1e2 / 0.3e1 * t2207; + const double t2345 = 0.18e2 * t2197 + 0.8e1 * t2201 - 0.6e1 * t2204 + t2344; + const double t2347 = t914 * t2345 / 0.6e1; + const double t2349 = 0.1e1 / t494 / t493; + const double t2351 = t2349 * t2338 / 0.12e2; + const double t2353 = t919 * t2345 / 0.6e1; + const double t2354 = -t2340 + t2347 + t2351 - t2353; + const double t2360 = 0.2e1 / 0.3e1 * t33 * t2152 * t2153; + const double t2362 = t33 * t2158 * t835; + const double t2363 = 0.2e1 / 0.9e1 * t2362; + const double t2366 = t33 * t828 * t2178 / 0.3e1; + const double t2369 = 0.4e1 / 0.27e2 * t29 * t500 * t1641; + const double t2370 = t2360 + t2363 - t2366 + t2369 - t2340 + t2347; + const double t2372 = t933 * t936; + const double t2376 = 0.1e1 / t935 / t506; + const double t2377 = t504 * t2376; + const double t2378 = t940 * t940; + const double t2385 = t2360 + t2363 - t2366 + t2369 - t443 * t2190 / 0.4e1 + t420 * t2209 / 0.2e1; + const double t2387 = t2370 * t507 - 0.2e1 * t2372 * t940 + 0.2e1 * t2377 * t2378 - t2385 * t937; + const double t2388 = t411 * t2387; + const double t2391 = t504 * t504; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t2392 * t506; + const double t2394 = t2393 * t933; + const double t2397 = t944 * t940; + const double t2400 = t2360 + t2363 - t2366 + t2369 - t2351 + t2353; + const double t2402 = t949 * t936; + const double t2405 = t513 * t2376; + const double t2409 = 0.2e1 * t2378 * t2405 - t2385 * t951 + t2400 * t507 - 0.2e1 * t2402 * t940; + const double t2410 = t465 * t2409; + const double t2413 = t513 * t513; + const double t2414 = 0.1e1 / t2413; + const double t2415 = t2414 * t506; + const double t2416 = t2415 * t949; + const double t2419 = t955 * t940; + const double t2422 = 0.47272888888888888889e-1 * t2214 * t426 + 0.26366444444444444444e-1 * t2251 * t450 - t2312 * t485 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t2152 * t2315 + 0.4e1 / 0.9e1 * t2320 - 0.4e1 / 0.3e1 * t33 * t828 * t2322 - 0.2e1 / 0.3e1 * t33 * t828 * t2326 + t2332 - 0.4e1 / 0.9e1 * t2334 + 0.2e1 / 0.3e1 * t33 * t323 * t2354 + 0.2e1 * t2388 * t945 - 0.2e1 * t943 * t2394 + 0.2e1 * t943 * t2397 - 0.2e1 * t2410 * t956 + 0.2e1 * t954 * t2416 - 0.2e1 * t954 * t2419; + const double t2427 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t2134 * t518 - t2140 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t820 * t959 + t2148 - t2150 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t2422 ); + const double t2443 = t971 * t188; + const double t2445 = t5 * t2443 * t302; + const double t2456 = t5 * t535 * t1056; + const double t2470 = t632 * t1752 * t979; + const double t2497 = t33 * t552 * t1030; + const double t2501 = t33 * t1806 * t1021; + const double t2515 = t33 * t1806 * t980; + const double t2532 = t33 * t552 * t988; + const double t2534 = t44 * t263; + const double t2568 = t33 * t1806 * t979; + const double t2576 = t1038 * t783; + const double t2599 = t1049 * t783; + const double t2622 = t254 * t2083 * t1009; + const double t2625 = t254 * t729 * t1013; + const double t2632 = t678 * t1965 * t987; + const double t2684 = t670 * t1952 * t979; + const double t2687 = t253 * t88 * t257; + const double t2688 = t259 * t2071; + const double t2745 = t1066 * t188; + const double t2747 = t5 * t2745 * t518; + const double t2758 = t5 * t824 * t1285; + const double t2773 = t632 * t2199 * t1075; + const double t2800 = t33 * t840 * t1255; + const double t2803 = t33 * t2158 * t1243; + const double t2824 = t33 * t2158 * t1076; + const double t2841 = t33 * t840 * t1160; + const double t2843 = t44 * t479; + const double t2864 = t33 * t2158 * t1075; + const double t2872 = t1265 * t936; + const double t2896 = t1278 * t936; + const double t2929 = t862 * t2227 * t1075; + const double t2935 = t870 * t2240 * t1159; + const double t2946 = t254 * t2289 * t1226; + const double t2950 = t254 * t892 * t1230; + const double t2984 = t253 * t88 * t475; + const double t2985 = t259 * t2301; + const double t3038 = t968 * t968; + const double t3042 = 0.2e1 * t524 + 0.2e1 * t1614; + const double t3043 = piecewise_functor_5( t10, 0.0, t14, 0.0, t3042 ); + const double t3047 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t3038 + 0.4e1 / 0.3e1 * t23 * t3043 ); + const double t3048 = t3047 * t26; + const double t3057 = t979 * t979; + const double t3058 = t194 * t3057; + const double t3060 = t33 * t1801 * t3058; + const double t3063 = t979 * t987; + const double t3065 = t1895 * t1294 * t3063; + const double t3067 = t976 * t976; + const double t3070 = piecewise_functor_5( t35, 0.0, t37, 0.0, t3042 ); + const double t3074 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t3067 + t541 * t3070 / 0.3e1 ); + const double t3075 = t194 * t3074; + const double t3077 = t33 * t539 * t3075; + const double t3080 = t987 * t987; + const double t3081 = t263 * t3080; + const double t3083 = t33 * t45 * t3081; + const double t3086 = t632 * t1747 * t3057; + const double t3090 = t632 * t633 * t3074; + const double t3092 = 0.2e1 * t3086 + 0.8e1 / 0.9e1 * t2470 - 0.2e1 / 0.3e1 * t3090 + t1839; + const double t3093 = t219 * t3092; + const double t3095 = t33 * t45 * t3093; + const double t3097 = -0.2e1 / 0.3e1 * t3060 - 0.2e1 / 0.9e1 * t2515 - t3065 / 0.3e1 + t3077 / 0.3e1 - t1906 - t2532 / 0.9e1 - t3083 / 0.4e1 + t3095 / 0.6e1; + const double t3106 = t1948 * t671 * t3057; + const double t3110 = t670 * t679 * t3063; + const double t3113 = t670 * t671 * t3074; + const double t3115 = t678 * t1968 * t3080; + const double t3118 = t678 * t679 * t3092; + const double t3120 = -0.2e1 * t3060 - 0.2e1 / 0.3e1 * t2515 - t3065 + t3077 - t1944 - t2532 / 0.3e1 - 0.3e1 / 0.4e1 * t3083 + t3095 / 0.2e1 + 0.4e1 * t3106 + 0.2e1 * t2684 + 0.3e1 * t3110 - t3113 + t1964 + t2632 + 0.5e1 / 0.4e1 * t3115 - t3118 / 0.2e1; + const double t3121 = t212 * t3120; + const double t3124 = t263 * t3074; + const double t3128 = t735 * t3092; + const double t3141 = t2071 * t3080; + const double t3145 = 0.5e1 / 0.3e1 * t254 * t722 * t3124 + 0.5e1 / 0.6e1 * t254 * t260 * t3128 - 0.1e2 * t3113 - 0.5e1 * t3118 + 0.25e2 / 0.2e1 * t3115 + 0.5e1 / 0.2e1 * t3095 + 0.4e2 * t3106 + 0.3e2 * t3110 + 0.5e1 * t3077 + 0.2e2 * t2684 + 0.1e2 * t2632 - 0.35e2 / 0.12e2 * t254 * t260 * t3141; + const double t3146 = t263 * t3057; + const double t3160 = -0.1e2 * t254 * t2078 * t3146 - 0.25e2 / 0.3e1 * t2088 * t2089 * t3063 - 0.1e2 * t3060 - 0.5e1 * t3065 - 0.15e2 / 0.4e1 * t3083 - 0.5e2 / 0.9e1 * t2622 - 0.25e2 / 0.9e1 * t2625 - 0.5e1 / 0.3e1 * t2532 - 0.1e2 / 0.3e1 * t2515 + t2040 - t2048 - t2066; + const double t3161 = t3145 + t3160; + const double t3162 = t248 * t3161; + const double t3165 = t280 * t3057; + const double t3170 = t1030 * t979; + const double t3174 = t280 * t3074; + const double t3179 = t1026 * t1026; + const double t3181 = t1654 * t3179 / 0.12e2; + const double t3185 = 0.18e2 * t3086 + 0.8e1 * t2470 - 0.6e1 * t3090 + t1771; + const double t3187 = t756 * t3185 / 0.6e1; + const double t3189 = t1776 * t3179 / 0.12e2; + const double t3191 = t762 * t3185 / 0.6e1; + const double t3192 = -t3181 + t3187 + t3189 - t3191; + const double t3198 = 0.2e1 / 0.3e1 * t33 * t1801 * t3057; + const double t3199 = 0.2e1 / 0.9e1 * t2568; + const double t3202 = t33 * t539 * t3074 / 0.3e1; + const double t3203 = t3198 + t3199 - t3202 + t1821 - t3181 + t3187; + const double t3207 = t1042 * t1042; + const double t3214 = t3198 + t3199 - t3202 + t1821 - t219 * t3080 / 0.4e1 + t194 * t3092 / 0.2e1; + const double t3216 = -0.2e1 * t1042 * t2576 + 0.2e1 * t1875 * t3207 + t291 * t3203 - t3214 * t784; + const double t3217 = t181 * t3216; + const double t3220 = t1791 * t1038; + const double t3223 = t791 * t1042; + const double t3226 = t3198 + t3199 - t3202 + t1821 - t3189 + t3191; + const double t3233 = -0.2e1 * t1042 * t2599 + 0.2e1 * t1829 * t3207 + t291 * t3226 - t3214 * t800; + const double t3234 = t243 * t3233; + const double t3237 = t1797 * t1049; + const double t3240 = t804 * t1042; + const double t3243 = 0.47272888888888888889e-1 * t3097 * t200 + 0.26366444444444444444e-1 * t3121 * t226 - t3162 * t269 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t1801 * t3165 + 0.4e1 / 0.9e1 * t2501 - 0.4e1 / 0.3e1 * t33 * t539 * t3170 - 0.2e1 / 0.3e1 * t33 * t539 * t3174 + t1645 - 0.4e1 / 0.9e1 * t2497 + 0.2e1 / 0.3e1 * t33 * t45 * t3192 + 0.2e1 * t3217 * t792 - 0.2e1 * t1045 * t3220 + 0.2e1 * t1045 * t3223 - 0.2e1 * t3234 * t805 + 0.2e1 * t1053 * t3237 - 0.2e1 * t1053 * t3240; + const double t3248 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t3048 * t302 - t2445 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t972 * t1056 + t1636 - t2456 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t3243 ); + const double t3249 = t1063 * t1063; + const double t3254 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t524 + 0.2e1 * t2126 ); + const double t3258 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t3249 + 0.4e1 / 0.3e1 * t313 * t3254 ); + const double t3259 = t3258 * t26; + const double t3269 = 0.1e1 / t327 / t336; + const double t3270 = t3269 * t371; + const double t3271 = t3270 * t406; + const double t3274 = t1082 * t1114; + const double t3275 = t3274 * t406; + const double t3281 = t330 * t3269; + const double t3284 = 0.1e1 / t351; + const double t3285 = t335 * t3284; + const double t3289 = 0.1e1 / t326 / t1099; + const double t3290 = t342 * t3289; + const double t3294 = 0.1e1 / t327 / t358; + const double t3295 = t350 * t3294; + const double t3298 = 0.1e1 / t393; + const double t3299 = t357 * t3298; + const double t3303 = 0.1e1 / t326 / t1138; + const double t3304 = t364 * t3303; + const double t3307 = 0.11e2 / 0.27e2 * t57 * t3281 + 0.5e1 / 0.12e2 * t64 * t3285 + 0.19e2 / 0.324e3 * t74 * t3290 + 0.115e3 / 0.2592e4 * t86 * t3295 + t100 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t3304; + const double t3308 = t329 * t3307; + const double t3309 = t3308 * t406; + const double t3316 = 0.1e1 / t1119 / t405; + const double t3317 = t1149 * t1149; + const double t3318 = t3316 * t3317; + const double t3323 = 0.1e1 / t326 / t1080; + const double t3340 = 0.1e1 / t327 / t400; + const double t3344 = t358 * t351; + const double t3345 = 0.1e1 / t3344; + const double t3349 = 0.7e1 / 0.27e2 * t122 * t373 * t3323 + 0.11e2 / 0.27e2 * t130 * t3281 + 0.5e1 / 0.12e2 * t134 * t3285 + 0.19e2 / 0.324e3 * t138 * t3290 + 0.115e3 / 0.2592e4 * t142 * t3295 + t146 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t3304 + 0.35e2 / 0.15552e5 * t154 * t392 * t3340 + 0.13e2 / 0.9216e4 * t168 * t399 * t3345; + const double t3350 = t1120 * t3349; + const double t3355 = piecewise_functor_3( t410, 0.11e2 / 0.27e2 * t324 * t3271 - 0.2e1 / 0.9e1 * t324 * t3275 + 0.2e1 / 0.9e1 * t324 * t1083 * t1150 + t324 * t3309 / 0.24e2 - t324 * t1115 * t1150 / 0.12e2 + t324 * t372 * t3318 / 0.12e2 - t324 * t372 * t3350 / 0.24e2, 0.0 ); + const double t3358 = piecewise_functor_3( t463, t3355, 0.0 ); + const double t3361 = t1075 * t1075; + const double t3362 = t420 * t3361; + const double t3364 = t33 * t2152 * t3362; + const double t3367 = t1075 * t1159; + const double t3369 = t2163 * t1450 * t3367; + const double t3371 = t1072 * t1072; + const double t3375 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t3042 ); + const double t3379 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t3371 + t830 * t3375 / 0.3e1 ); + const double t3380 = t420 * t3379; + const double t3382 = t33 * t828 * t3380; + const double t3385 = t1159 * t1159; + const double t3386 = t479 * t3385; + const double t3388 = t33 * t323 * t3386; + const double t3391 = t632 * t2195 * t3361; + const double t3395 = t632 * t844 * t3379; + const double t3397 = t3355 + 0.2e1 * t3391 + 0.8e1 / 0.9e1 * t2773 - 0.2e1 / 0.3e1 * t3395 + t2208; + const double t3398 = t443 * t3397; + const double t3400 = t33 * t323 * t3398; + const double t3402 = -0.2e1 / 0.3e1 * t3364 - 0.2e1 / 0.9e1 * t2824 - t3369 / 0.3e1 + t3382 / 0.3e1 - t2186 - t2841 / 0.9e1 - t3388 / 0.4e1 + t3400 / 0.6e1; + const double t3405 = t2393 * t1265; + const double t3408 = t2415 * t1278; + const double t3411 = t1249 * t1249; + const double t3413 = t2337 * t3411 / 0.12e2; + const double t3415 = 0.18e2 * t3391; + const double t3416 = 0.8e1 * t2773; + const double t3417 = 0.6e1 * t3395; + const double t3418 = 0.9e1 * t3355 + t3415 + t3416 - t3417 + t2344; + const double t3420 = t914 * t3418 / 0.6e1; + const double t3421 = t1252 * t1252; + const double t3423 = t2349 * t3421 / 0.12e2; + const double t3425 = 0.9e1 * t3358 + t3415 + t3416 - t3417 + t2344; + const double t3427 = t919 * t3425 / 0.6e1; + const double t3428 = -t3413 + t3420 + t3423 - t3427; + const double t3436 = 0.2e1 / 0.3e1 * t33 * t2152 * t3361; + const double t3437 = 0.2e1 / 0.9e1 * t2864; + const double t3440 = t33 * t828 * t3379 / 0.3e1; + const double t3441 = t3436 + t3437 - t3440 + t2369 - t3413 + t3420; + const double t3445 = t1269 * t1269; + const double t3452 = t3436 + t3437 - t3440 + t2369 - t443 * t3385 / 0.4e1 + t420 * t3397 / 0.2e1; + const double t3454 = -0.2e1 * t1269 * t2872 + 0.2e1 * t2377 * t3445 + t3441 * t507 - t3452 * t937; + const double t3455 = t411 * t3454; + const double t3458 = t944 * t1269; + const double t3461 = t1213 * t1281; + const double t3464 = t3436 + t3437 - t3440 + t2369 - t3423 + t3427; + const double t3471 = -0.2e1 * t1269 * t2896 + 0.2e1 * t2405 * t3445 - t3452 * t951 + t3464 * t507; + const double t3472 = t465 * t3471; + const double t3475 = t955 * t1269; + const double t3478 = t1155 * t1155; + const double t3479 = t1239 * t3478; + const double t3484 = t485 * t3355; + const double t3491 = 0.2e1 * t3355 * t509 - 0.2e1 * t3358 * t515 + 0.47272888888888888889e-1 * t3402 * t426 - 0.2e1 * t1272 * t3405 + 0.2e1 * t1282 * t3408 + 0.2e1 / 0.3e1 * t33 * t323 * t3428 - 0.10546577777777777778e0 * t1182 * t1195 + 0.2e1 * t3455 * t945 + 0.2e1 * t1272 * t3458 - 0.4e1 * t3461 * t956 - 0.2e1 * t3472 * t956 - 0.2e1 * t1282 * t3475 + 0.15819866666666666666e0 * t448 * t3479 - 0.10546577777777777778e0 * t1192 * t1195 - 0.52732888888888888888e-1 * t448 * t3484 + 0.2e1 / 0.3e1 * t1219 * t1240 + 0.2e1 / 0.3e1 * t1235 * t1240; + const double t3492 = t1239 * t3355; + const double t3495 = t1155 * t1271; + const double t3500 = 0.1e1 / t1238 / t425; + const double t3501 = t3500 * t3478; + const double t3504 = t496 * t3379; + const double t3508 = t496 * t3361; + const double t3512 = t1255 * t1075; + const double t3523 = t2223 * t863 * t3361; + const double t3527 = t862 * t871 * t3367; + const double t3530 = t862 * t863 * t3379; + const double t3532 = t870 * t2243 * t3385; + const double t3535 = t870 * t871 * t3397; + const double t3537 = -0.2e1 * t3364 - 0.2e1 / 0.3e1 * t2824 - t3369 + t3382 - t2219 - t2841 / 0.3e1 - 0.3e1 / 0.4e1 * t3388 + t3400 / 0.2e1 + 0.4e1 * t3523 + 0.2e1 * t2929 + 0.3e1 * t3527 - t3530 + t2239 + t2935 + 0.5e1 / 0.4e1 * t3532 - t3535 / 0.2e1; + const double t3538 = t438 * t3537; + const double t3541 = sigma_bb * t3269; + const double t3549 = t99 * t357; + const double t3551 = 0.1e1 / t1175 / t432; + const double t3556 = 0.12717480330480143498e0 * t49 * t3541 * t433 - 0.32516284935886730535e-2 * t655 * t341 * t3289 * t1176 + 0.12043068494772863161e-3 * t3549 * t3298 * t3551 + 0.42141105276909202774e1 * t3355; + const double t3570 = t458 * t425; + const double t3571 = t3570 * t468; + const double t3574 = t1206 * t1216; + const double t3580 = 0.1e1 / t460 / t411; + const double t3586 = 0.1e1 / t466 / t465; + const double t3587 = t1213 * t1213; + const double t3592 = -0.3e1 / 0.5e1 * t3580 * t3478 + 0.6e1 / 0.5e1 * t1210 * t3355 + 0.3e1 / 0.5e1 * t3586 * t3587 - 0.6e1 / 0.5e1 * t1212 * t3358; + const double t3594 = 0.474596e-1 * t3556 * t425 + 0.949192e-1 * t1181 * t1155 + 0.474596e-1 * t438 * t3355 + 0.56727466666666666666e-1 * t3478 + 0.56727466666666666666e-1 * t425 * t3355 - 0.54519192e1 * t425 * t3478 - 0.27259596e1 * t449 * t3355 - 0.35e2 / 0.4e1 * t3571 * t3478 - 0.7e1 * t3574 * t1155 - 0.7e1 / 0.2e1 * t1207 * t3355 - t459 * t3592; + const double t3595 = t3594 * t483; + const double t3598 = t1218 * t1234; + const double t3601 = t2301 * t3385; + const double t3607 = t479 * t3379; + const double t3611 = t898 * t3397; + const double t3622 = -0.35e2 / 0.12e2 * t254 * t476 * t3601 - 0.5e1 * t3535 - 0.1e2 * t3530 + 0.5e1 / 0.3e1 * t254 * t887 * t3607 + 0.5e1 / 0.6e1 * t254 * t476 * t3611 + 0.4e2 * t3523 + 0.3e2 * t3527 + 0.25e2 / 0.2e1 * t3532 + 0.5e1 / 0.2e1 * t3400 + 0.5e1 * t3382 + 0.2e2 * t2929 + 0.1e2 * t2935; + const double t3623 = t479 * t3361; + const double t3637 = -0.1e2 * t254 * t2284 * t3623 - 0.25e2 / 0.3e1 * t2294 * t2295 * t3367 - 0.1e2 * t3364 - 0.5e1 * t3369 - 0.15e2 / 0.4e1 * t3388 - 0.5e2 / 0.9e1 * t2946 - 0.25e2 / 0.9e1 * t2950 - 0.1e2 / 0.3e1 * t2824 - 0.5e1 / 0.3e1 * t2841 - t2261 + t2271 - t2280; + const double t3638 = t3622 + t3637; + const double t3639 = t470 * t3638; + const double t3642 = t1164 * t450; + const double t3647 = t3556 * t447; + const double t3650 = t1181 * t1191; + const double t3653 = t424 * t485; + const double t3656 = t484 * t3492 / 0.3e1 + 0.4e1 * t3495 * t945 - 0.4e1 / 0.9e1 * t2800 - 0.4e1 / 0.3e1 * t484 * t3501 - 0.2e1 / 0.3e1 * t33 * t828 * t3504 + 0.4e1 / 0.3e1 * t33 * t2152 * t3508 - 0.4e1 / 0.3e1 * t33 * t828 * t3512 + 0.4e1 / 0.9e1 * t2803 + 0.26366444444444444444e-1 * t3538 * t450 - t3595 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t3598 * t485 - t3639 * t485 / 0.9e1 - 0.94545777777777777778e-1 * t3642 * t1155 - 0.47272888888888888889e-1 * t1167 * t3355 + 0.26366444444444444444e-1 * t3647 * t450 + 0.52732888888888888888e-1 * t3650 * t450 + 0.94545777777777777778e-1 * t3653 * t3478 + t2332; + const double t3657 = t3491 + t3656; + const double t3662 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t3259 * t518 - t2747 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t1067 * t1285 + t2148 - t2758 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t3657 ); + const double t3670 = t5 * t535 * t1444 / 0.8e1; + const double t3673 = 0.2e1 / 0.9e1 * t33 * t552 * t1419; + const double t3686 = t49 * t55; + const double t3687 = t119 * t596; + const double t3688 = t3687 * t625; + const double t3691 = t558 * t1317; + const double t3692 = t3691 * t176; + const double t3695 = t48 * t558; + const double t3698 = t65 * t566; + const double t3701 = t1302 * t571; + const double t3704 = t1306 * t577; + const double t3707 = t77 * t581; + const double t3710 = t1313 * t586; + const double t3713 = -t57 * t3695 / 0.9e1 - t64 * t3698 / 0.8e1 - t74 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t3704 - t100 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t3710; + const double t3714 = t55 * t3713; + const double t3715 = t3714 * t176; + const double t3727 = t119 * t1706; + const double t3728 = t1345 * t625; + const double t3729 = t3727 * t3728; + const double t3753 = -t122 * t1322 * t598 / 0.18e2 - t130 * t3695 / 0.9e1 - t134 * t3698 / 0.8e1 - t138 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t3704 - t146 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t3710 - t154 * t1338 * t616 / 0.1296e4 - t168 * t111 * t621 / 0.2048e4; + const double t3754 = t596 * t3753; + const double t3759 = piecewise_functor_3( t180, -t49 * t560 / 0.9e1 + t49 * t592 / 0.24e2 - t3686 * t3688 / 0.24e2 - t50 * t3692 / 0.9e1 + t50 * t3715 / 0.24e2 - t50 * t1318 * t626 / 0.24e2 + t50 * t559 * t1346 / 0.9e1 - t50 * t591 * t1346 / 0.24e2 + t204 * t3729 / 0.12e2 - t50 * t120 * t3754 / 0.24e2, 0.0 ); + const double t3760 = t269 * t3759; + const double t3763 = t745 * t3759; + const double t3766 = t1351 * t789; + const double t3769 = t631 * t1430; + const double t3772 = t1654 * t1351; + const double t3773 = t291 * t760; + const double t3776 = t756 * t3759; + const double t3779 = t783 * t787; + const double t3784 = t1427 * t787; + const double t3786 = t1370 * t640; + const double t3789 = t194 * t3759; + const double t3792 = -0.3e1 / 0.4e1 * t3772 * t3773 + 0.3e1 / 0.2e1 * t3776 * t291 - 0.3e1 / 0.2e1 * t1416 * t3779 - t1872 * t1427 / 0.2e1 + t1875 * t3784 + t784 * t3786 / 0.4e1 - t784 * t3789 / 0.2e1; + const double t3793 = t181 * t3792; + const double t3799 = t1394 * t802; + const double t3802 = t705 * t1440; + const double t3805 = t1776 * t1394; + const double t3806 = t291 * t764; + const double t3809 = piecewise_functor_3( t241, t3759, 0.0 ); + const double t3810 = t762 * t3809; + const double t3822 = -0.3e1 / 0.4e1 * t3805 * t3806 + 0.3e1 / 0.2e1 * t3810 * t291 - 0.3e1 / 0.2e1 * t1417 * t3779 - t1824 * t1427 / 0.2e1 + t1829 * t3784 + t800 * t3786 / 0.4e1 - t800 * t3789 / 0.2e1; + const double t3823 = t243 * t3822; + const double t3828 = t631 * t1351; + const double t3839 = t1352 * t640; + const double t3843 = 0.2e1 * t1431 * t1930 - 0.2e1 * t3799 * t805 - 0.2e1 * t3802 * t805 - 0.2e1 * t3823 * t805 - 0.2e1 * t1441 * t1849 + 0.94545777777777777778e-1 * t1936 * t3828 + t1400 * t746 / 0.3e1 + t1410 * t746 / 0.3e1 + t711 * t1413 / 0.3e1 + t741 * t1413 / 0.3e1 - 0.11818222222222222222e-1 * t1293 * t2534 * t3839; + const double t3845 = t1419 * t545; + const double t3849 = t1351 * t226; + const double t3850 = t3849 * t631; + const double t3854 = t1352 * t545; + const double t3864 = -0.3e1 / 0.4e1 * t3772 * t760 + 0.3e1 / 0.2e1 * t3776 + 0.3e1 / 0.4e1 * t3805 * t764 - 0.3e1 / 0.2e1 * t3810; + const double t3868 = t3759 * t200; + const double t3872 = t551 * t219; + const double t3875 = 0.26262716049382716049e-2 * t1293 * t3872 * t1352; + const double t3876 = t1351 * t545; + const double t3878 = t1895 * t1294 * t3876; + const double t3881 = t33 * t552 * t1370; + const double t3882 = t3881 / 0.6e1; + const double t3883 = t1351 * t640; + const double t3885 = t1293 * t2534 * t3883; + const double t3887 = t219 * t3759; + const double t3889 = t33 * t45 * t3887; + const double t3892 = t670 * t679 * t3876; + const double t3895 = t678 * t1965 * t1351; + const double t3896 = t3895 / 0.2e1; + const double t3898 = t678 * t1968 * t3883; + const double t3901 = t678 * t679 * t3759; + const double t3903 = -t3878 / 0.2e1 - t3882 - 0.3e1 / 0.4e1 * t3885 + t3889 / 0.2e1 + 0.3e1 / 0.2e1 * t3892 + t3896 + 0.5e1 / 0.4e1 * t3898 - t3901 / 0.2e1; + const double t3904 = t212 * t3903; + const double t3910 = t571 * t658; + const double t3914 = t99 * t77; + const double t3919 = -0.34684037264945845904e-1 * t49 * t558 * t207 + 0.10838761645295576845e-2 * t655 * t3910 * sigma_aa - 0.45161506855398236853e-4 * t3914 * t581 * t1989 + 0.42141105276909202774e1 * t3759; + const double t3929 = t199 * t3759; + const double t3941 = t698 * t1397; + const double t3944 = t2018 * t1351; + const double t3949 = t2024 * t1394; + const double t3954 = -0.3e1 / 0.5e1 * t3944 * t631 + 0.6e1 / 0.5e1 * t702 * t3759 + 0.3e1 / 0.5e1 * t3949 * t705 - 0.6e1 / 0.5e1 * t704 * t3809; + const double t3956 = 0.474596e-1 * t3919 * t199 + 0.474596e-1 * t1366 * t631 + 0.474596e-1 * t663 * t1351 + 0.474596e-1 * t212 * t3759 + 0.56727466666666666666e-1 * t3828 + 0.56727466666666666666e-1 * t3929 - 0.54519192e1 * t1387 * t631 - 0.27259596e1 * t225 * t3759 - 0.35e2 / 0.4e1 * t2009 * t3828 - 0.7e1 / 0.2e1 * t2012 * t1351 - 0.7e1 / 0.2e1 * t699 * t3759 - 0.7e1 / 0.2e1 * t3941 * t631 - t235 * t3954; + const double t3957 = t3956 * t267; + const double t3961 = 0.5e1 / 0.6e1 * t3881; + const double t3965 = 0.5e1 * t3895; + const double t3973 = 0.25e2 / 0.18e2 * t254 * t729 * t1405; + const double t3977 = t735 * t3759; + const double t3981 = -0.5e1 / 0.2e1 * t3878 - t3961 - 0.15e2 / 0.4e1 * t3885 + 0.5e1 / 0.2e1 * t3889 + 0.15e2 * t3892 + t3965 + 0.25e2 / 0.2e1 * t3898 - 0.5e1 * t3901 - 0.25e2 / 0.6e1 * t2088 * t2089 * t3876 - t3973 - 0.35e2 / 0.12e2 * t2687 * t2688 * t3883 + 0.5e1 / 0.6e1 * t254 * t260 * t3977; + const double t3982 = t248 * t3981; + const double t3989 = -0.2e1 / 0.3e1 * t33 * t539 * t3845 - 0.78788148148148148148e-2 * t1293 * t1294 * t3850 - 0.78788148148148148148e-2 * t1895 * t1294 * t3854 + 0.2e1 / 0.3e1 * t33 * t45 * t3864 + 0.78788148148148148148e-2 * t1293 * t1294 * t3868 - t3875 + 0.26366444444444444444e-1 * t3904 * t226 - t3957 * t269 / 0.9e1 - t3982 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t2102 * t1351 - 0.47272888888888888889e-1 * t648 * t3759; + const double t3990 = t3919 * t223; + const double t3993 = t1366 * t683; + const double t3996 = t663 * t1376; + const double t3999 = t1399 * t740; + const double t4002 = t710 * t1409; + const double t4005 = t1922 * t1351; + const double t4006 = t4005 * t631; + const double t4011 = t1413 * t631; + const double t4020 = 0.26366444444444444444e-1 * t3990 * t226 + 0.26366444444444444444e-1 * t3993 * t226 + 0.26366444444444444444e-1 * t3996 * t226 - t3999 * t269 / 0.9e1 - t4002 * t269 / 0.9e1 - 0.4e1 / 0.3e1 * t268 * t4006 - 0.2e1 * t1431 * t1792 + 0.15819866666666666666e0 * t224 * t4011 + 0.2e1 * t1441 * t1798 + 0.2e1 * t3759 * t293 - 0.2e1 * t3809 * t299; + const double t4022 = -t3673 - 0.52732888888888888888e-1 * t1367 * t687 - 0.52732888888888888888e-1 * t1377 * t687 - 0.52732888888888888888e-1 * t664 * t1380 - 0.52732888888888888888e-1 * t684 * t1380 - 0.52732888888888888888e-1 * t224 * t3760 + t268 * t3763 / 0.3e1 + 0.2e1 * t3766 * t792 + 0.2e1 * t3769 * t792 + 0.2e1 * t3793 * t792 + t3843 + t3989 + t4020; + const double t4027 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t1444 - t3670 - 0.3e1 / 0.8e1 * t5 * t27 * t4022 ); + const double t4034 = t5 * t824 * t1600 / 0.8e1; + const double t4039 = t551 * t443; + const double t4042 = 0.26262716049382716049e-2 * t1449 * t4039 * t1508; + const double t4057 = t33 * t840 * t1526; + const double t4058 = t4057 / 0.6e1; + const double t4067 = t870 * t2240 * t1507; + const double t4068 = t4067 / 0.2e1; + const double t4082 = 0.5e1 / 0.6e1 * t4057; + const double t4085 = 0.5e1 * t4067; + const double t4092 = 0.25e2 / 0.18e2 * t254 * t892 * t1561; + const double t4109 = 0.2e1 / 0.9e1 * t33 * t840 * t1575; + const double t4110 = t2337 * t1507; + const double t4112 = t2349 * t1550; + const double t4293 = t1507 * t450; + const double t4294 = t4293 * t1155; + const double t4298 = t1508 * t1075; + const double t4302 = t1508 * t1159; + const double t4312 = t49 * t329; + const double t4313 = t371 * t1120; + const double t4314 = t4313 * t1149; + const double t4317 = t1082 * t1473; + const double t4318 = t4317 * t406; + const double t4321 = t48 * t1082; + const double t4324 = t334 * t1090; + const double t4327 = t1458 * t1095; + const double t4330 = t1462 * t1101; + const double t4333 = t341 * t1105; + const double t4336 = t1469 * t1110; + const double t4339 = -t57 * t4321 / 0.9e1 - t64 * t4324 / 0.8e1 - t74 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t4330 - t100 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t4336; + const double t4340 = t329 * t4339; + const double t4341 = t4340 * t406; + const double t4353 = t371 * t3316; + const double t4354 = t1501 * t1149; + const double t4355 = t4353 * t4354; + const double t4379 = -t122 * t1478 * t1122 / 0.18e2 - t130 * t4321 / 0.9e1 - t134 * t4324 / 0.8e1 - t138 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t4330 - t146 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t4336 - t154 * t1494 * t1140 / 0.1296e4 - t168 * t363 * t1145 / 0.2048e4; + const double t4380 = t1120 * t4379; + const double t4385 = piecewise_functor_3( t410, -t49 * t1084 / 0.9e1 + t49 * t1116 / 0.24e2 - t4312 * t4314 / 0.24e2 - t324 * t4318 / 0.9e1 + t324 * t4341 / 0.24e2 - t324 * t1474 * t1150 / 0.24e2 + t324 * t1083 * t1502 / 0.9e1 - t324 * t1115 * t1502 / 0.24e2 + t430 * t4355 / 0.12e2 - t324 * t372 * t4380 / 0.24e2, 0.0 ); + const double t4386 = t914 * t4385; + const double t4390 = piecewise_functor_3( t463, t4385, 0.0 ); + const double t4391 = t919 * t4390; + const double t4393 = -0.3e1 / 0.4e1 * t4110 * t1249 + 0.3e1 / 0.2e1 * t4386 + 0.3e1 / 0.4e1 * t4112 * t1252 - 0.3e1 / 0.2e1 * t4391; + const double t4405 = t1218 * t1565; + const double t4409 = t1507 * t1075; + const double t4411 = t2163 * t1450 * t4409; + const double t4413 = t1507 * t1159; + const double t4415 = t1449 * t2843 * t4413; + const double t4417 = t443 * t4385; + const double t4419 = t33 * t323 * t4417; + const double t4422 = t862 * t871 * t4409; + const double t4425 = t870 * t2243 * t4413; + const double t4428 = t870 * t871 * t4385; + const double t4436 = t898 * t4385; + const double t4440 = -0.5e1 / 0.2e1 * t4411 - t4082 - 0.15e2 / 0.4e1 * t4415 + 0.5e1 / 0.2e1 * t4419 + 0.15e2 * t4422 + t4085 + 0.25e2 / 0.2e1 * t4425 - 0.5e1 * t4428 - 0.25e2 / 0.6e1 * t2294 * t2295 * t4409 - t4092 - 0.35e2 / 0.12e2 * t2984 * t2985 * t4413 + 0.5e1 / 0.6e1 * t254 * t476 * t4436; + const double t4441 = t470 * t4440; + const double t4447 = t1095 * t1176; + const double t4451 = t99 * t341; + const double t4456 = -0.34684037264945845904e-1 * t49 * t1082 * t433 + 0.10838761645295576845e-2 * t655 * t4447 * sigma_bb - 0.45161506855398236853e-4 * t4451 * t1105 * t3551 + 0.42141105276909202774e1 * t4385; + const double t4465 = t1155 * t1507; + const double t4467 = t425 * t4385; + const double t4479 = t1206 * t1553; + const double t4482 = t3580 * t1507; + const double t4487 = t3586 * t1550; + const double t4492 = -0.3e1 / 0.5e1 * t4482 * t1155 + 0.6e1 / 0.5e1 * t1210 * t4385 + 0.3e1 / 0.5e1 * t4487 * t1213 - 0.6e1 / 0.5e1 * t1212 * t4390; + const double t4494 = 0.474596e-1 * t4456 * t425 + 0.474596e-1 * t1522 * t1155 + 0.474596e-1 * t1181 * t1507 + 0.474596e-1 * t438 * t4385 + 0.56727466666666666666e-1 * t4465 + 0.56727466666666666666e-1 * t4467 - 0.54519192e1 * t1543 * t1155 - 0.27259596e1 * t449 * t4385 - 0.35e2 / 0.4e1 * t3571 * t4465 - 0.7e1 / 0.2e1 * t3574 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4385 - 0.7e1 / 0.2e1 * t4479 * t1155 - t459 * t4492; + const double t4495 = t4494 * t483; + const double t4498 = t1555 * t1234; + const double t4501 = t4456 * t447; + const double t4504 = t1522 * t1191; + const double t4507 = t1181 * t1532; + const double t4516 = -t4411 / 0.2e1 - t4058 - 0.3e1 / 0.4e1 * t4415 + t4419 / 0.2e1 + 0.3e1 / 0.2e1 * t4422 + t4068 + 0.5e1 / 0.4e1 * t4425 - t4428 / 0.2e1; + const double t4517 = t438 * t4516; + const double t4520 = t4385 * t426; + const double t4524 = t1575 * t1075; + const double t4530 = -t4441 * t485 / 0.9e1 - t4495 * t485 / 0.9e1 - t4498 * t485 / 0.9e1 + 0.26366444444444444444e-1 * t4501 * t450 + 0.26366444444444444444e-1 * t4504 * t450 + 0.26366444444444444444e-1 * t4507 * t450 + 0.26366444444444444444e-1 * t4517 * t450 + 0.78788148148148148148e-2 * t1449 * t1450 * t4520 - 0.2e1 / 0.3e1 * t33 * t828 * t4524 - t4042 - 0.2e1 * t1587 * t3405; + const double t4532 = t1569 * t1155; + const double t4537 = t1239 * t4385; + const double t4540 = t1507 * t1271; + const double t4543 = t1155 * t1586; + const double t4546 = t507 * t1249; + const double t4551 = t936 * t1269; + const double t4556 = t1583 * t1269; + const double t4558 = t1526 * t1159; + const double t4561 = t420 * t4385; + const double t4564 = -0.3e1 / 0.4e1 * t4110 * t4546 + 0.3e1 / 0.2e1 * t4386 * t507 - 0.3e1 / 0.2e1 * t1572 * t4551 - t2872 * t1583 / 0.2e1 + t2377 * t4556 + t937 * t4558 / 0.4e1 - t937 * t4561 / 0.2e1; + const double t4565 = t411 * t4564; + const double t4568 = t507 * t1252; + const double t4582 = -0.3e1 / 0.4e1 * t4112 * t4568 + 0.3e1 / 0.2e1 * t4391 * t507 - 0.3e1 / 0.2e1 * t1573 * t4551 - t2896 * t1583 / 0.2e1 + t2405 * t4556 + t951 * t4558 / 0.4e1 - t951 * t4561 / 0.2e1; + const double t4583 = t465 * t4582; + const double t4594 = 0.15819866666666666666e0 * t448 * t4532 + t1235 * t1569 / 0.3e1 + t484 * t4537 / 0.3e1 + 0.2e1 * t4540 * t945 + 0.2e1 * t4543 * t945 + 0.2e1 * t4565 * t945 - 0.2e1 * t4583 * t956 - 0.2e1 * t1597 * t3475 + 0.94545777777777777778e-1 * t3653 * t4465 - 0.52732888888888888888e-1 * t1523 * t1195 - 0.52732888888888888888e-1 * t1533 * t1195; + const double t4599 = t485 * t4385; + const double t4610 = t1550 * t1281; + const double t4613 = t1213 * t1596; + const double t4618 = t3500 * t1507; + const double t4619 = t4618 * t1155; + const double t4622 = -0.52732888888888888888e-1 * t1182 * t1536 - 0.52732888888888888888e-1 * t1192 * t1536 - 0.52732888888888888888e-1 * t448 * t4599 + t1556 * t1240 / 0.3e1 + t1566 * t1240 / 0.3e1 + t1219 * t1569 / 0.3e1 + 0.2e1 * t1587 * t3458 - 0.2e1 * t4610 * t956 - 0.2e1 * t4613 * t956 + 0.2e1 * t1597 * t3408 - 0.4e1 / 0.3e1 * t484 * t4619; + const double t4624 = -0.78788148148148148148e-2 * t1449 * t1450 * t4294 - 0.78788148148148148148e-2 * t2163 * t1450 * t4298 - 0.11818222222222222222e-1 * t1449 * t2843 * t4302 + 0.2e1 / 0.3e1 * t33 * t323 * t4393 - t4109 - 0.2e1 * t4390 * t515 + 0.2e1 * t4385 * t509 - 0.47272888888888888889e-1 * t3642 * t1507 - 0.47272888888888888889e-1 * t1167 * t4385 - t4405 * t485 / 0.9e1 + t4530 + t4594 + t4622; + const double t4629 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t1600 - t4034 - 0.3e1 / 0.8e1 * t5 * t316 * t4624 ); + const double t4631 = t1441 * t1796; + const double t4632 = t290 * t762; + const double t4633 = t4632 * t1394; + const double t4636 = t1351 * t1351; + const double t4637 = t1654 * t4636; + const double t4641 = t3687 * t1345; + const double t4644 = t1321 * t68; + const double t4647 = t76 * t81; + const double t4650 = t88 * t65; + const double t4651 = t4650 * t93; + const double t4654 = sigma_aa * t103; + const double t4657 = t110 * t66; + const double t4658 = t4657 * t115; + const double t4661 = t64 * t4644 / 0.64e2 + t74 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4651 + t100 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4658; + const double t4662 = t55 * t4661; + const double t4663 = t4662 * t176; + const double t4669 = t1345 * t1345; + const double t4670 = t1706 * t4669; + const double t4674 = 0.1e1 / t66; + const double t4675 = t32 * t4674; + const double t4689 = t156 * t77; + const double t4696 = -t122 * t4675 * t125 / 0.48e2 + t134 * t4644 / 0.64e2 + t138 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4651 + t146 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4658 + t154 * t4689 * t161 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t89 * t171; + const double t4697 = t596 * t4696; + const double t4702 = piecewise_functor_3( t180, t49 * t1319 / 0.12e2 - t3686 * t4641 / 0.12e2 + t50 * t4663 / 0.24e2 - t50 * t1318 * t1346 / 0.12e2 + t50 * t120 * t4670 / 0.12e2 - t50 * t120 * t4697 / 0.24e2, 0.0 ); + const double t4703 = t756 * t4702; + const double t4705 = t1394 * t1394; + const double t4706 = t1776 * t4705; + const double t4708 = piecewise_functor_3( t241, t4702, 0.0 ); + const double t4709 = t762 * t4708; + const double t4711 = -0.27e2 / 0.4e1 * t4637 + 0.3e1 / 0.2e1 * t4703 + 0.27e2 / 0.4e1 * t4706 - 0.3e1 / 0.2e1 * t4709; + const double t4715 = t1431 * t1790; + const double t4716 = t290 * t756; + const double t4717 = t4716 * t1351; + const double t4720 = t804 * t194; + const double t4721 = t4720 * t1351; + const double t4723 = t791 * t194; + const double t4724 = t4723 * t1351; + const double t4731 = t99 * sigma_aa; + const double t4736 = -0.27096904113238942112e-3 * t655 * t81 * t658 + 0.1693556507077433882e-4 * t4731 * t103 * t1989 + 0.42141105276909202774e1 * t4702; + const double t4744 = t199 * t4702; + const double t4764 = -0.3e1 / 0.5e1 * t2018 * t4636 + 0.6e1 / 0.5e1 * t702 * t4702 + 0.3e1 / 0.5e1 * t2024 * t4705 - 0.6e1 / 0.5e1 * t704 * t4708; + const double t4766 = 0.474596e-1 * t4736 * t199 + 0.949192e-1 * t1366 * t1351 + 0.474596e-1 * t212 * t4702 + 0.56727466666666666666e-1 * t4636 + 0.56727466666666666666e-1 * t4744 - 0.54519192e1 * t199 * t4636 - 0.27259596e1 * t225 * t4702 - 0.35e2 / 0.4e1 * t2009 * t4636 - 0.7e1 * t3941 * t1351 - 0.7e1 / 0.2e1 * t699 * t4702 - t235 * t4764; + const double t4767 = t4766 * t267; + const double t4770 = t1399 * t1409; + const double t4773 = t263 * t4636; + const double t4775 = t33 * t45 * t4773; + const double t4777 = t219 * t4702; + const double t4779 = t33 * t45 * t4777; + const double t4782 = t678 * t1968 * t4636; + const double t4785 = t678 * t679 * t4702; + const double t4787 = t2071 * t4636; + const double t4791 = t735 * t4702; + const double t4795 = -0.15e2 / 0.4e1 * t4775 + 0.5e1 / 0.2e1 * t4779 + 0.25e2 / 0.2e1 * t4782 - 0.5e1 * t4785 - 0.35e2 / 0.12e2 * t254 * t260 * t4787 + 0.5e1 / 0.6e1 * t254 * t260 * t4791; + const double t4796 = t248 * t4795; + const double t4801 = t4736 * t223; + const double t4804 = t1366 * t1376; + const double t4811 = -0.3e1 / 0.4e1 * t4775 + t4779 / 0.2e1 + 0.5e1 / 0.4e1 * t4782 - t4785 / 0.2e1; + const double t4812 = t212 * t4811; + const double t4815 = t4702 * t200; + const double t4819 = t4636 * t200; + const double t4823 = 0.3e1 * t4631 * t4633 + 0.2e1 / 0.3e1 * t33 * t45 * t4711 - 0.3e1 * t4715 * t4717 - t1441 * t4721 + t1431 * t4724 + 0.94545777777777777778e-1 * t1936 * t4636 - t4767 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t4770 * t269 - t4796 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t648 * t4702 + 0.26366444444444444444e-1 * t4801 * t226 + 0.52732888888888888888e-1 * t4804 * t226 + 0.26366444444444444444e-1 * t4812 * t226 + 0.78788148148148148148e-2 * t1293 * t1294 * t4815 - 0.11818222222222222222e-1 * t1293 * t2534 * t4819; + const double t4824 = t4636 * t226; + const double t4832 = t756 * t4636; + const double t4833 = t783 * t194; + const double t4836 = 0.1e1 / t192; + const double t4837 = t4836 * t4636; + const double t4840 = t219 * t4636; + const double t4843 = t194 * t4702; + const double t4846 = -0.27e2 / 0.4e1 * t4637 * t291 + 0.3e1 / 0.2e1 * t4703 * t291 - 0.3e1 / 0.2e1 * t4832 * t4833 + t1875 * t4837 / 0.2e1 + t784 * t4840 / 0.4e1 - t784 * t4843 / 0.2e1; + const double t4847 = t181 * t4846; + const double t4850 = t1394 * t1440; + const double t4857 = t4833 * t1351; + const double t4866 = -0.27e2 / 0.4e1 * t4706 * t291 + 0.3e1 / 0.2e1 * t4709 * t291 - 0.3e1 / 0.2e1 * t1417 * t4857 + t1829 * t4837 / 0.2e1 + t800 * t4840 / 0.4e1 - t800 * t4843 / 0.2e1; + const double t4867 = t243 * t4866; + const double t4874 = t269 * t4702; + const double t4881 = t745 * t4702; + const double t4888 = t1922 * t4636; + const double t4891 = t745 * t4636; + const double t4894 = t1351 * t1430; + const double t4897 = -0.1575762962962962963e-1 * t1293 * t1294 * t4824 + 0.2e1 * t4847 * t792 - 0.4e1 * t4850 * t805 - 0.2e1 * t4867 * t805 - 0.10546577777777777778e0 * t1367 * t1380 - 0.10546577777777777778e0 * t1377 * t1380 - 0.52732888888888888888e-1 * t224 * t4874 + 0.2e1 / 0.3e1 * t1400 * t1413 + 0.2e1 / 0.3e1 * t1410 * t1413 + t268 * t4881 / 0.3e1 - 0.2e1 * t4708 * t299 + 0.2e1 * t4702 * t293 - 0.4e1 / 0.3e1 * t268 * t4888 + 0.15819866666666666666e0 * t224 * t4891 + 0.4e1 * t4894 * t792; + const double t4898 = t4823 + t4897; + const double t4902 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t4898 ); + const double t4903 = t1587 * t2392; + const double t4904 = t506 * t914; + const double t4905 = t4904 * t1507; + const double t4908 = t1597 * t2414; + const double t4909 = t506 * t919; + const double t4910 = t4909 * t1550; + const double t4913 = t1507 * t1507; + const double t4914 = t2337 * t4913; + const double t4918 = t4313 * t1501; + const double t4921 = t1477 * t337; + const double t4924 = t76 * t345; + const double t4927 = t88 * t334; + const double t4928 = t4927 * t353; + const double t4931 = sigma_bb * t359; + const double t4934 = t110 * t335; + const double t4935 = t4934 * t367; + const double t4938 = t64 * t4921 / 0.64e2 + t74 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4928 + t100 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4935; + const double t4939 = t329 * t4938; + const double t4940 = t4939 * t406; + const double t4946 = t1501 * t1501; + const double t4947 = t3316 * t4946; + const double t4951 = 0.1e1 / t335; + const double t4952 = t32 * t4951; + const double t4966 = t156 * t341; + const double t4973 = -t122 * t4952 * t375 / 0.48e2 + t134 * t4921 / 0.64e2 + t138 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4928 + t146 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4935 + t154 * t4966 * t395 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t349 * t401; + const double t4974 = t1120 * t4973; + const double t4979 = piecewise_functor_3( t410, t49 * t1475 / 0.12e2 - t4312 * t4918 / 0.12e2 + t324 * t4940 / 0.24e2 - t324 * t1474 * t1502 / 0.12e2 + t324 * t372 * t4947 / 0.12e2 - t324 * t372 * t4974 / 0.24e2, 0.0 ); + const double t4980 = t914 * t4979; + const double t4982 = t1550 * t1550; + const double t4983 = t2349 * t4982; + const double t4985 = piecewise_functor_3( t463, t4979, 0.0 ); + const double t4986 = t919 * t4985; + const double t4988 = -0.27e2 / 0.4e1 * t4914 + 0.3e1 / 0.2e1 * t4980 + 0.27e2 / 0.4e1 * t4983 - 0.3e1 / 0.2e1 * t4986; + const double t5000 = t1239 * t4979; + const double t5003 = t1507 * t1586; + const double t5010 = t914 * t4913; + const double t5011 = t936 * t420; + const double t5014 = 0.1e1 / t418; + const double t5015 = t5014 * t4913; + const double t5018 = t443 * t4913; + const double t5021 = t420 * t4979; + const double t5024 = -0.27e2 / 0.4e1 * t4914 * t507 + 0.3e1 / 0.2e1 * t4980 * t507 - 0.3e1 / 0.2e1 * t5010 * t5011 + t2377 * t5015 / 0.2e1 + t937 * t5018 / 0.4e1 - t937 * t5021 / 0.2e1; + const double t5025 = t411 * t5024; + const double t5028 = t1550 * t1596; + const double t5031 = t3500 * t4913; + const double t5034 = t1239 * t4913; + const double t5040 = t99 * sigma_bb; + const double t5045 = -0.27096904113238942112e-3 * t655 * t345 * t1176 + 0.1693556507077433882e-4 * t5040 * t359 * t3551 + 0.42141105276909202774e1 * t4979; + const double t5053 = t425 * t4979; + const double t5073 = -0.3e1 / 0.5e1 * t3580 * t4913 + 0.6e1 / 0.5e1 * t1210 * t4979 + 0.3e1 / 0.5e1 * t3586 * t4982 - 0.6e1 / 0.5e1 * t1212 * t4985; + const double t5075 = 0.474596e-1 * t5045 * t425 + 0.949192e-1 * t1522 * t1507 + 0.474596e-1 * t438 * t4979 + 0.56727466666666666666e-1 * t4913 + 0.56727466666666666666e-1 * t5053 - 0.54519192e1 * t425 * t4913 - 0.27259596e1 * t449 * t4979 - 0.35e2 / 0.4e1 * t3571 * t4913 - 0.7e1 * t4479 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4979 - t459 * t5073; + const double t5076 = t5075 * t483; + const double t5079 = t1555 * t1565; + const double t5082 = -0.3e1 * t4903 * t4905 + 0.3e1 * t4908 * t4910 + 0.2e1 / 0.3e1 * t33 * t323 * t4988 + 0.94545777777777777778e-1 * t3653 * t4913 - 0.2e1 * t4985 * t515 + 0.2e1 * t4979 * t509 + 0.2e1 / 0.3e1 * t1566 * t1569 + t484 * t5000 / 0.3e1 + 0.4e1 * t5003 * t945 + 0.2e1 * t5025 * t945 - 0.4e1 * t5028 * t956 - 0.4e1 / 0.3e1 * t484 * t5031 + 0.15819866666666666666e0 * t448 * t5034 - t5076 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t5079 * t485; + const double t5083 = t479 * t4913; + const double t5085 = t33 * t323 * t5083; + const double t5087 = t443 * t4979; + const double t5089 = t33 * t323 * t5087; + const double t5092 = t870 * t2243 * t4913; + const double t5095 = t870 * t871 * t4979; + const double t5097 = t2301 * t4913; + const double t5101 = t898 * t4979; + const double t5105 = -0.15e2 / 0.4e1 * t5085 + 0.5e1 / 0.2e1 * t5089 + 0.25e2 / 0.2e1 * t5092 - 0.5e1 * t5095 - 0.35e2 / 0.12e2 * t254 * t476 * t5097 + 0.5e1 / 0.6e1 * t254 * t476 * t5101; + const double t5106 = t470 * t5105; + const double t5111 = t5045 * t447; + const double t5114 = t1522 * t1532; + const double t5121 = -0.3e1 / 0.4e1 * t5085 + t5089 / 0.2e1 + 0.5e1 / 0.4e1 * t5092 - t5095 / 0.2e1; + const double t5122 = t438 * t5121; + const double t5129 = t5011 * t1507; + const double t5138 = -0.27e2 / 0.4e1 * t4983 * t507 + 0.3e1 / 0.2e1 * t4986 * t507 - 0.3e1 / 0.2e1 * t1573 * t5129 + t2405 * t5015 / 0.2e1 + t951 * t5018 / 0.4e1 - t951 * t5021 / 0.2e1; + const double t5139 = t465 * t5138; + const double t5146 = t485 * t4979; + const double t5151 = t4979 * t426; + const double t5155 = t4913 * t450; + const double t5159 = t4913 * t426; + const double t5163 = t944 * t420; + const double t5164 = t5163 * t1507; + const double t5166 = t955 * t420; + const double t5167 = t5166 * t1507; + const double t5169 = -t5106 * t485 / 0.9e1 - 0.47272888888888888889e-1 * t1167 * t4979 + 0.26366444444444444444e-1 * t5111 * t450 + 0.52732888888888888888e-1 * t5114 * t450 + 0.26366444444444444444e-1 * t5122 * t450 - 0.2e1 * t5139 * t956 - 0.10546577777777777778e0 * t1523 * t1536 - 0.10546577777777777778e0 * t1533 * t1536 - 0.52732888888888888888e-1 * t448 * t5146 + 0.2e1 / 0.3e1 * t1556 * t1569 + 0.78788148148148148148e-2 * t1449 * t1450 * t5151 - 0.1575762962962962963e-1 * t1449 * t1450 * t5155 - 0.11818222222222222222e-1 * t1449 * t2843 * t5159 + t1587 * t5164 - t1597 * t5167; + const double t5170 = t5082 + t5169; + const double t5174 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t5170 ); + + + v2rho2_aa = 0.2e1 * t813 + 0.2e1 * t964 + t6 * ( t2120 + t2427 ); + v2rho2_bb = 0.2e1 * t1061 + 0.2e1 * t1290 + t6 * ( t3248 + t3662 ); + v2rhosigma_a_aa = t4027 * t6 + t1448; + v2rhosigma_b_bb = t4629 * t6 + t1604; + v2sigma2_aa_aa = t6 * t4902; + v2sigma2_bb_bb = t6 * t5174; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + const double t1607 = t23 * t23; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t527 * t527; + const double t1612 = t523 * t6; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t16 * t1613; + const double t1616 = -0.2e1 * t524 + 0.2e1 * t1614; + const double t1617 = piecewise_functor_5( t10, 0.0, t14, 0.0, t1616 ); + const double t1621 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t1609 + 0.4e1 / 0.3e1 * t23 * t1617 ); + const double t1622 = t1621 * t26; + const double t1626 = t530 * t188; + const double t1628 = t5 * t1626 * t302; + const double t1633 = t25 * t259; + const double t1636 = t5 * t1633 * t302 / 0.12e2; + const double t1638 = t5 * t535 * t808; + const double t1641 = 0.1e1 / t26 / t523; + const double t1642 = t43 * t1641; + const double t1645 = 0.8e1 / 0.27e2 * t33 * t1642 * t280; + const double t1646 = t767 * t545; + const double t1651 = t33 * t552 * t767; + const double t1654 = 0.1e1 / t275 / t274; + const double t1655 = t760 * t760; + const double t1657 = t1654 * t1655 / 0.12e2; + const double t1659 = 0.1e1 / t53 / t67; + const double t1660 = t1659 * t119; + const double t1661 = t1660 * t176; + const double t1664 = t558 * t590; + const double t1665 = t1664 * t176; + const double t1671 = t58 * t1659; + const double t1674 = 0.1e1 / t91; + const double t1675 = t66 * t1674; + const double t1679 = 0.1e1 / t52 / t575; + const double t1680 = t78 * t1679; + const double t1684 = 0.1e1 / t53 / t102; + const double t1685 = t90 * t1684; + const double t1688 = 0.1e1 / t159; + const double t1689 = t101 * t1688; + const double t1693 = 0.1e1 / t52 / t614; + const double t1694 = t112 * t1693; + const double t1697 = 0.11e2 / 0.27e2 * t57 * t1671 + 0.5e1 / 0.12e2 * t64 * t1675 + 0.19e2 / 0.324e3 * t74 * t1680 + 0.115e3 / 0.2592e4 * t86 * t1685 + t100 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t1694; + const double t1698 = t55 * t1697; + const double t1699 = t1698 * t176; + const double t1706 = 0.1e1 / t595 / t175; + const double t1707 = t625 * t625; + const double t1708 = t1706 * t1707; + const double t1713 = 0.1e1 / t52 / t556; + const double t1730 = 0.1e1 / t53 / t170; + const double t1734 = t102 * t91; + const double t1735 = 0.1e1 / t1734; + const double t1739 = 0.7e1 / 0.27e2 * t122 * t123 * t1713 + 0.11e2 / 0.27e2 * t130 * t1671 + 0.5e1 / 0.12e2 * t134 * t1675 + 0.19e2 / 0.324e3 * t138 * t1680 + 0.115e3 / 0.2592e4 * t142 * t1685 + t146 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t1694 + 0.35e2 / 0.15552e5 * t154 * t158 * t1730 + 0.13e2 / 0.9216e4 * t168 * t169 * t1735; + const double t1740 = t596 * t1739; + const double t1745 = piecewise_functor_3( t180, 0.11e2 / 0.27e2 * t50 * t1661 - 0.2e1 / 0.9e1 * t50 * t1665 + 0.2e1 / 0.9e1 * t50 * t559 * t626 + t50 * t1699 / 0.24e2 - t50 * t591 * t626 / 0.12e2 + t50 * t120 * t1708 / 0.12e2 - t50 * t120 * t1740 / 0.24e2, 0.0 ); + const double t1747 = t669 * t188; + const double t1748 = t545 * t545; + const double t1750 = t632 * t1747 * t1748; + const double t1751 = 0.18e2 * t1750; + const double t1752 = t216 * t259; + const double t1754 = t632 * t1752 * t545; + const double t1755 = 0.8e1 * t1754; + const double t1757 = 0.1e1 / t540 / t39; + const double t1758 = t542 * t542; + const double t1761 = piecewise_functor_5( t35, 0.0, t37, 0.0, t1616 ); + const double t1765 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t1758 + t541 * t1761 / 0.3e1 ); + const double t1767 = t632 * t633 * t1765; + const double t1768 = 0.6e1 * t1767; + const double t1770 = t183 * t186 * t728; + const double t1771 = 0.1e2 / 0.3e1 * t1770; + const double t1772 = 0.9e1 * t1745 + t1751 + t1755 - t1768 + t1771; + const double t1774 = t756 * t1772 / 0.6e1; + const double t1776 = 0.1e1 / t278 / t277; + const double t1777 = t764 * t764; + const double t1779 = t1776 * t1777 / 0.12e2; + const double t1780 = piecewise_functor_3( t241, t1745, 0.0 ); + const double t1782 = 0.9e1 * t1780 + t1751 + t1755 - t1768 + t1771; + const double t1784 = t762 * t1782 / 0.6e1; + const double t1785 = -t1657 + t1774 + t1779 - t1784; + const double t1789 = t288 * t288; + const double t1790 = 0.1e1 / t1789; + const double t1791 = t1790 * t290; + const double t1792 = t1791 * t780; + const double t1795 = t297 * t297; + const double t1796 = 0.1e1 / t1795; + const double t1797 = t1796 * t290; + const double t1798 = t1797 * t798; + const double t1801 = t216 * t44; + const double t1802 = t280 * t1748; + const double t1806 = t185 * t551; + const double t1808 = t33 * t1806 * t749; + const double t1812 = 0.2e1 / 0.3e1 * t33 * t1801 * t1748; + const double t1814 = t33 * t1806 * t545; + const double t1815 = 0.2e1 / 0.9e1 * t1814; + const double t1818 = t33 * t539 * t1765 / 0.3e1; + const double t1821 = 0.4e1 / 0.27e2 * t29 * t284 * t1641; + const double t1822 = t1812 + t1815 - t1818 + t1821 - t1779 + t1784; + const double t1824 = t798 * t783; + const double t1828 = 0.1e1 / t782 / t290; + const double t1829 = t297 * t1828; + const double t1830 = t787 * t787; + const double t1833 = t640 * t640; + const double t1839 = 0.1e2 / 0.27e2 * t1770; + const double t1840 = t1745 + 0.2e1 * t1750 + 0.8e1 / 0.9e1 * t1754 - 0.2e1 / 0.3e1 * t1767 + t1839; + const double t1843 = t1812 + t1815 - t1818 + t1821 - t219 * t1833 / 0.4e1 + t194 * t1840 / 0.2e1; + const double t1845 = t1822 * t291 - 0.2e1 * t1824 * t787 + 0.2e1 * t1829 * t1830 - t1843 * t800; + const double t1846 = t243 * t1845; + const double t1849 = t804 * t787; + const double t1856 = t269 * t1745; + const double t1863 = t745 * t1745; + const double t1866 = t631 * t789; + const double t1869 = t1645 - 0.4e1 / 0.3e1 * t33 * t539 * t1646 - 0.4e1 / 0.9e1 * t1651 + 0.2e1 / 0.3e1 * t33 * t45 * t1785 - 0.2e1 * t790 * t1792 + 0.2e1 * t803 * t1798 + 0.4e1 / 0.3e1 * t33 * t1801 * t1802 + 0.4e1 / 0.9e1 * t1808 - 0.2e1 * t1846 * t805 - 0.2e1 * t803 * t1849 - 0.10546577777777777778e0 * t664 * t687 - 0.10546577777777777778e0 * t684 * t687 - 0.52732888888888888888e-1 * t224 * t1856 + 0.2e1 / 0.3e1 * t711 * t746 + 0.2e1 / 0.3e1 * t741 * t746 + t268 * t1863 / 0.3e1 + 0.4e1 * t1866 * t792; + const double t1870 = t1812 + t1815 - t1818 + t1821 - t1657 + t1774; + const double t1872 = t780 * t783; + const double t1875 = t288 * t1828; + const double t1879 = 0.2e1 * t1830 * t1875 - t1843 * t784 + t1870 * t291 - 0.2e1 * t1872 * t787; + const double t1880 = t181 * t1879; + const double t1883 = t280 * t1765; + const double t1887 = t194 * t1748; + const double t1889 = t33 * t1801 * t1887; + const double t1892 = t33 * t1806 * t546; + const double t1894 = t32 * t185; + const double t1895 = t29 * t1894; + const double t1896 = t545 * t640; + const double t1898 = t1895 * t1294 * t1896; + const double t1900 = t194 * t1765; + const double t1902 = t33 * t539 * t1900; + const double t1905 = t33 * t1642 * t194; + const double t1906 = 0.4e1 / 0.27e2 * t1905; + const double t1908 = t33 * t552 * t641; + const double t1910 = t263 * t1833; + const double t1912 = t33 * t45 * t1910; + const double t1914 = t219 * t1840; + const double t1916 = t33 * t45 * t1914; + const double t1918 = -0.2e1 / 0.3e1 * t1889 - 0.2e1 / 0.9e1 * t1892 - t1898 / 0.3e1 + t1902 / 0.3e1 - t1906 - t1908 / 0.9e1 - t1912 / 0.4e1 + t1916 / 0.6e1; + const double t1922 = 0.1e1 / t744 / t199; + const double t1923 = t631 * t631; + const double t1924 = t1922 * t1923; + const double t1927 = t745 * t1923; + const double t1930 = t791 * t787; + const double t1933 = t705 * t802; + const double t1936 = t198 * t269; + const double t1939 = t663 * t683; + const double t1944 = 0.4e1 / 0.9e1 * t1905; + const double t1948 = t214 * t257; + const double t1950 = t1948 * t671 * t1748; + const double t1952 = t524 * t219; + const double t1954 = t670 * t1952 * t545; + const double t1957 = t670 * t679 * t1896; + const double t1960 = t670 * t671 * t1765; + const double t1963 = t214 * t216 * t1613 * t219; + const double t1964 = 0.2e1 / 0.3e1 * t1963; + const double t1965 = t524 * t263; + const double t1967 = t678 * t1965 * t640; + const double t1968 = t7 * t735; + const double t1970 = t678 * t1968 * t1833; + const double t1973 = t678 * t679 * t1840; + const double t1975 = -0.2e1 * t1889 - 0.2e1 / 0.3e1 * t1892 - t1898 + t1902 - t1944 - t1908 / 0.3e1 - 0.3e1 / 0.4e1 * t1912 + t1916 / 0.2e1 + 0.4e1 * t1950 + 0.2e1 * t1954 + 0.3e1 * t1957 - t1960 + t1964 + t1967 + 0.5e1 / 0.4e1 * t1970 - t1973 / 0.2e1; + const double t1976 = t212 * t1975; + const double t1979 = sigma_aa * t1659; + const double t1987 = t99 * t101; + const double t1989 = 0.1e1 / t657 / t206; + const double t1994 = 0.12717480330480143498e0 * t49 * t1979 * t207 - 0.32516284935886730535e-2 * t655 * t77 * t1679 * t658 + 0.12043068494772863161e-3 * t1987 * t1688 * t1989 + 0.42141105276909202774e1 * t1745; + const double t2008 = t234 * t199; + const double t2009 = t2008 * t246; + const double t2012 = t698 * t708; + const double t2018 = 0.1e1 / t238 / t181; + const double t2024 = 0.1e1 / t244 / t243; + const double t2025 = t705 * t705; + const double t2030 = -0.3e1 / 0.5e1 * t2018 * t1923 + 0.6e1 / 0.5e1 * t702 * t1745 + 0.3e1 / 0.5e1 * t2024 * t2025 - 0.6e1 / 0.5e1 * t704 * t1780; + const double t2032 = 0.474596e-1 * t1994 * t199 + 0.949192e-1 * t663 * t631 + 0.474596e-1 * t212 * t1745 + 0.56727466666666666666e-1 * t1923 + 0.56727466666666666666e-1 * t199 * t1745 - 0.54519192e1 * t199 * t1923 - 0.27259596e1 * t225 * t1745 - 0.35e2 / 0.4e1 * t2009 * t1923 - 0.7e1 * t2012 * t631 - 0.7e1 / 0.2e1 * t699 * t1745 - t235 * t2030; + const double t2033 = t2032 * t267; + const double t2036 = t710 * t740; + const double t2040 = 0.2e2 / 0.3e1 * t1963; + const double t2044 = 0.1e1 / t187 / t1612; + const double t2045 = t257 * t2044; + const double t2048 = 0.4e2 / 0.27e2 * t254 * t2045 * t263; + const double t2050 = t254 * t729 * t736; + const double t2052 = t735 * t1840; + const double t2056 = t263 * t1765; + const double t2064 = -0.1e2 * t1960 + t2040 + 0.1e2 * t1967 - 0.5e1 * t1973 - t2048 - 0.25e2 / 0.9e1 * t2050 + 0.5e1 / 0.6e1 * t254 * t260 * t2052 + 0.5e1 / 0.3e1 * t254 * t722 * t2056 + 0.4e2 * t1950 + 0.2e2 * t1954 + 0.3e2 * t1957 + 0.25e2 / 0.2e1 * t1970; + const double t2066 = 0.2e2 / 0.9e1 * t1905; + const double t2069 = t261 * t261; + const double t2071 = 0.1e1 / t193 / t2069; + const double t2072 = t2071 * t1833; + const double t2077 = 0.1e1 / t255 / t215; + const double t2078 = t2077 * t259; + const double t2079 = t263 * t1748; + const double t2083 = t721 * t728; + const double t2085 = t254 * t2083 * t723; + const double t2087 = t88 * t721; + const double t2088 = t253 * t2087; + const double t2089 = t259 * t735; + const double t2097 = 0.5e1 * t1902 - t2066 - 0.5e1 / 0.3e1 * t1908 + 0.5e1 / 0.2e1 * t1916 - 0.35e2 / 0.12e2 * t254 * t260 * t2072 - 0.1e2 * t254 * t2078 * t2079 - 0.5e2 / 0.9e1 * t2085 - 0.25e2 / 0.3e1 * t2088 * t2089 * t1896 - 0.1e2 * t1889 - 0.1e2 / 0.3e1 * t1892 - 0.5e1 * t1898 - 0.15e2 / 0.4e1 * t1912; + const double t2098 = t2064 + t2097; + const double t2099 = t248 * t2098; + const double t2102 = t645 * t226; + const double t2107 = t1994 * t223; + const double t2114 = 0.2e1 * t1880 * t792 - 0.2e1 / 0.3e1 * t33 * t539 * t1883 + 0.47272888888888888889e-1 * t1918 * t200 - 0.4e1 / 0.3e1 * t268 * t1924 + 0.15819866666666666666e0 * t224 * t1927 + 0.2e1 * t790 * t1930 - 0.4e1 * t1933 * t805 + 0.94545777777777777778e-1 * t1936 * t1923 + 0.52732888888888888888e-1 * t1939 * t226 + 0.26366444444444444444e-1 * t1976 * t226 - t2033 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t2036 * t269 - t2099 * t269 / 0.9e1 - 0.94545777777777777778e-1 * t2102 * t631 - 0.47272888888888888889e-1 * t648 * t1745 + 0.26366444444444444444e-1 * t2107 * t226 - 0.2e1 * t1780 * t299 + 0.2e1 * t1745 * t293; + const double t2115 = t1869 + t2114; + const double t2120 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t1622 * t302 - t1628 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t531 * t808 + t1636 - t1638 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t2115 ); + const double t2121 = t313 * t313; + const double t2122 = 0.1e1 / t2121; + const double t2123 = t816 * t816; + const double t2126 = t308 * t1613; + const double t2129 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t524 + 0.2e1 * t2126 ); + const double t2133 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t2123 + 0.4e1 / 0.3e1 * t313 * t2129 ); + const double t2134 = t2133 * t26; + const double t2138 = t819 * t188; + const double t2140 = t5 * t2138 * t518; + const double t2145 = t315 * t259; + const double t2148 = t5 * t2145 * t518 / 0.12e2; + const double t2150 = t5 * t824 * t959; + const double t2152 = t440 * t44; + const double t2153 = t835 * t835; + const double t2154 = t420 * t2153; + const double t2156 = t33 * t2152 * t2154; + const double t2158 = t413 * t551; + const double t2160 = t33 * t2158 * t836; + const double t2162 = t32 * t413; + const double t2163 = t29 * t2162; + const double t2164 = t835 * t851; + const double t2166 = t2163 * t1450 * t2164; + const double t2169 = 0.1e1 / t829 / t318; + const double t2170 = t832 * t832; + const double t2174 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t1616 ); + const double t2178 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t2170 + t830 * t2174 / 0.3e1 ); + const double t2179 = t420 * t2178; + const double t2181 = t33 * t828 * t2179; + const double t2183 = t322 * t1641; + const double t2185 = t33 * t2183 * t420; + const double t2186 = 0.4e1 / 0.27e2 * t2185; + const double t2188 = t33 * t840 * t852; + const double t2190 = t851 * t851; + const double t2191 = t479 * t2190; + const double t2193 = t33 * t323 * t2191; + const double t2195 = t861 * t188; + const double t2197 = t632 * t2195 * t2153; + const double t2199 = t440 * t259; + const double t2201 = t632 * t2199 * t835; + const double t2204 = t632 * t844 * t2178; + const double t2207 = t183 * t414 * t728; + const double t2208 = 0.1e2 / 0.27e2 * t2207; + const double t2209 = 0.2e1 * t2197 + 0.8e1 / 0.9e1 * t2201 - 0.2e1 / 0.3e1 * t2204 + t2208; + const double t2210 = t443 * t2209; + const double t2212 = t33 * t323 * t2210; + const double t2214 = -0.2e1 / 0.3e1 * t2156 - 0.2e1 / 0.9e1 * t2160 - t2166 / 0.3e1 + t2181 / 0.3e1 - t2186 - t2188 / 0.9e1 - t2193 / 0.4e1 + t2212 / 0.6e1; + const double t2219 = 0.4e1 / 0.9e1 * t2185; + const double t2223 = t214 * t475; + const double t2225 = t2223 * t863 * t2153; + const double t2227 = t524 * t443; + const double t2229 = t862 * t2227 * t835; + const double t2232 = t862 * t871 * t2164; + const double t2235 = t862 * t863 * t2178; + const double t2238 = t214 * t440 * t1613 * t443; + const double t2239 = 0.2e1 / 0.3e1 * t2238; + const double t2240 = t524 * t479; + const double t2242 = t870 * t2240 * t851; + const double t2243 = t7 * t898; + const double t2245 = t870 * t2243 * t2190; + const double t2248 = t870 * t871 * t2209; + const double t2250 = -0.2e1 * t2156 - 0.2e1 / 0.3e1 * t2160 - t2166 + t2181 - t2219 - t2188 / 0.3e1 - 0.3e1 / 0.4e1 * t2193 + t2212 / 0.2e1 + 0.4e1 * t2225 + 0.2e1 * t2229 + 0.3e1 * t2232 - t2235 + t2239 + t2242 + 0.5e1 / 0.4e1 * t2245 - t2248 / 0.2e1; + const double t2251 = t438 * t2250; + const double t2254 = t479 * t2178; + const double t2258 = t475 * t2044; + const double t2261 = 0.4e2 / 0.27e2 * t254 * t2258 * t479; + const double t2263 = t254 * t892 * t899; + const double t2265 = t898 * t2209; + const double t2271 = 0.2e2 / 0.3e1 * t2238; + const double t2277 = 0.5e1 / 0.3e1 * t254 * t887 * t2254 - t2261 - 0.25e2 / 0.9e1 * t2263 + 0.5e1 / 0.6e1 * t254 * t476 * t2265 + 0.25e2 / 0.2e1 * t2245 - 0.1e2 * t2235 + t2271 + 0.1e2 * t2242 - 0.5e1 * t2248 + 0.5e1 / 0.2e1 * t2212 + 0.4e2 * t2225 + 0.2e2 * t2229; + const double t2280 = 0.2e2 / 0.9e1 * t2185; + const double t2283 = 0.1e1 / t473 / t439; + const double t2284 = t2283 * t259; + const double t2285 = t479 * t2153; + const double t2289 = t886 * t728; + const double t2291 = t254 * t2289 * t888; + const double t2293 = t88 * t886; + const double t2294 = t253 * t2293; + const double t2295 = t259 * t898; + const double t2299 = t477 * t477; + const double t2301 = 0.1e1 / t419 / t2299; + const double t2302 = t2301 * t2190; + const double t2310 = 0.3e2 * t2232 + 0.5e1 * t2181 - t2280 - 0.5e1 / 0.3e1 * t2188 - 0.1e2 * t254 * t2284 * t2285 - 0.5e2 / 0.9e1 * t2291 - 0.25e2 / 0.3e1 * t2294 * t2295 * t2164 - 0.35e2 / 0.12e2 * t254 * t476 * t2302 - 0.1e2 * t2156 - 0.1e2 / 0.3e1 * t2160 - 0.5e1 * t2166 - 0.15e2 / 0.4e1 * t2193; + const double t2311 = t2277 + t2310; + const double t2312 = t470 * t2311; + const double t2315 = t496 * t2153; + const double t2320 = t33 * t2158 * t907; + const double t2322 = t922 * t835; + const double t2326 = t496 * t2178; + const double t2332 = 0.8e1 / 0.27e2 * t33 * t2183 * t496; + const double t2334 = t33 * t840 * t922; + const double t2337 = 0.1e1 / t491 / t490; + const double t2338 = t917 * t917; + const double t2340 = t2337 * t2338 / 0.12e2; + const double t2344 = 0.1e2 / 0.3e1 * t2207; + const double t2345 = 0.18e2 * t2197 + 0.8e1 * t2201 - 0.6e1 * t2204 + t2344; + const double t2347 = t914 * t2345 / 0.6e1; + const double t2349 = 0.1e1 / t494 / t493; + const double t2351 = t2349 * t2338 / 0.12e2; + const double t2353 = t919 * t2345 / 0.6e1; + const double t2354 = -t2340 + t2347 + t2351 - t2353; + const double t2360 = 0.2e1 / 0.3e1 * t33 * t2152 * t2153; + const double t2362 = t33 * t2158 * t835; + const double t2363 = 0.2e1 / 0.9e1 * t2362; + const double t2366 = t33 * t828 * t2178 / 0.3e1; + const double t2369 = 0.4e1 / 0.27e2 * t29 * t500 * t1641; + const double t2370 = t2360 + t2363 - t2366 + t2369 - t2340 + t2347; + const double t2372 = t933 * t936; + const double t2376 = 0.1e1 / t935 / t506; + const double t2377 = t504 * t2376; + const double t2378 = t940 * t940; + const double t2385 = t2360 + t2363 - t2366 + t2369 - t443 * t2190 / 0.4e1 + t420 * t2209 / 0.2e1; + const double t2387 = t2370 * t507 - 0.2e1 * t2372 * t940 + 0.2e1 * t2377 * t2378 - t2385 * t937; + const double t2388 = t411 * t2387; + const double t2391 = t504 * t504; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t2392 * t506; + const double t2394 = t2393 * t933; + const double t2397 = t944 * t940; + const double t2400 = t2360 + t2363 - t2366 + t2369 - t2351 + t2353; + const double t2402 = t949 * t936; + const double t2405 = t513 * t2376; + const double t2409 = 0.2e1 * t2378 * t2405 - t2385 * t951 + t2400 * t507 - 0.2e1 * t2402 * t940; + const double t2410 = t465 * t2409; + const double t2413 = t513 * t513; + const double t2414 = 0.1e1 / t2413; + const double t2415 = t2414 * t506; + const double t2416 = t2415 * t949; + const double t2419 = t955 * t940; + const double t2422 = 0.47272888888888888889e-1 * t2214 * t426 + 0.26366444444444444444e-1 * t2251 * t450 - t2312 * t485 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t2152 * t2315 + 0.4e1 / 0.9e1 * t2320 - 0.4e1 / 0.3e1 * t33 * t828 * t2322 - 0.2e1 / 0.3e1 * t33 * t828 * t2326 + t2332 - 0.4e1 / 0.9e1 * t2334 + 0.2e1 / 0.3e1 * t33 * t323 * t2354 + 0.2e1 * t2388 * t945 - 0.2e1 * t943 * t2394 + 0.2e1 * t943 * t2397 - 0.2e1 * t2410 * t956 + 0.2e1 * t954 * t2416 - 0.2e1 * t954 * t2419; + const double t2427 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t2134 * t518 - t2140 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t820 * t959 + t2148 - t2150 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t2422 ); + const double t2443 = t971 * t188; + const double t2445 = t5 * t2443 * t302; + const double t2456 = t5 * t535 * t1056; + const double t2470 = t632 * t1752 * t979; + const double t2497 = t33 * t552 * t1030; + const double t2501 = t33 * t1806 * t1021; + const double t2515 = t33 * t1806 * t980; + const double t2532 = t33 * t552 * t988; + const double t2534 = t44 * t263; + const double t2568 = t33 * t1806 * t979; + const double t2576 = t1038 * t783; + const double t2599 = t1049 * t783; + const double t2622 = t254 * t2083 * t1009; + const double t2625 = t254 * t729 * t1013; + const double t2632 = t678 * t1965 * t987; + const double t2684 = t670 * t1952 * t979; + const double t2687 = t253 * t88 * t257; + const double t2688 = t259 * t2071; + const double t2745 = t1066 * t188; + const double t2747 = t5 * t2745 * t518; + const double t2758 = t5 * t824 * t1285; + const double t2773 = t632 * t2199 * t1075; + const double t2800 = t33 * t840 * t1255; + const double t2803 = t33 * t2158 * t1243; + const double t2824 = t33 * t2158 * t1076; + const double t2841 = t33 * t840 * t1160; + const double t2843 = t44 * t479; + const double t2864 = t33 * t2158 * t1075; + const double t2872 = t1265 * t936; + const double t2896 = t1278 * t936; + const double t2929 = t862 * t2227 * t1075; + const double t2935 = t870 * t2240 * t1159; + const double t2946 = t254 * t2289 * t1226; + const double t2950 = t254 * t892 * t1230; + const double t2984 = t253 * t88 * t475; + const double t2985 = t259 * t2301; + const double t3038 = t968 * t968; + const double t3042 = 0.2e1 * t524 + 0.2e1 * t1614; + const double t3043 = piecewise_functor_5( t10, 0.0, t14, 0.0, t3042 ); + const double t3047 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t3038 + 0.4e1 / 0.3e1 * t23 * t3043 ); + const double t3048 = t3047 * t26; + const double t3057 = t979 * t979; + const double t3058 = t194 * t3057; + const double t3060 = t33 * t1801 * t3058; + const double t3063 = t979 * t987; + const double t3065 = t1895 * t1294 * t3063; + const double t3067 = t976 * t976; + const double t3070 = piecewise_functor_5( t35, 0.0, t37, 0.0, t3042 ); + const double t3074 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t3067 + t541 * t3070 / 0.3e1 ); + const double t3075 = t194 * t3074; + const double t3077 = t33 * t539 * t3075; + const double t3080 = t987 * t987; + const double t3081 = t263 * t3080; + const double t3083 = t33 * t45 * t3081; + const double t3086 = t632 * t1747 * t3057; + const double t3090 = t632 * t633 * t3074; + const double t3092 = 0.2e1 * t3086 + 0.8e1 / 0.9e1 * t2470 - 0.2e1 / 0.3e1 * t3090 + t1839; + const double t3093 = t219 * t3092; + const double t3095 = t33 * t45 * t3093; + const double t3097 = -0.2e1 / 0.3e1 * t3060 - 0.2e1 / 0.9e1 * t2515 - t3065 / 0.3e1 + t3077 / 0.3e1 - t1906 - t2532 / 0.9e1 - t3083 / 0.4e1 + t3095 / 0.6e1; + const double t3106 = t1948 * t671 * t3057; + const double t3110 = t670 * t679 * t3063; + const double t3113 = t670 * t671 * t3074; + const double t3115 = t678 * t1968 * t3080; + const double t3118 = t678 * t679 * t3092; + const double t3120 = -0.2e1 * t3060 - 0.2e1 / 0.3e1 * t2515 - t3065 + t3077 - t1944 - t2532 / 0.3e1 - 0.3e1 / 0.4e1 * t3083 + t3095 / 0.2e1 + 0.4e1 * t3106 + 0.2e1 * t2684 + 0.3e1 * t3110 - t3113 + t1964 + t2632 + 0.5e1 / 0.4e1 * t3115 - t3118 / 0.2e1; + const double t3121 = t212 * t3120; + const double t3124 = t263 * t3074; + const double t3128 = t735 * t3092; + const double t3141 = t2071 * t3080; + const double t3145 = 0.5e1 / 0.3e1 * t254 * t722 * t3124 + 0.5e1 / 0.6e1 * t254 * t260 * t3128 - 0.1e2 * t3113 - 0.5e1 * t3118 + 0.25e2 / 0.2e1 * t3115 + 0.5e1 / 0.2e1 * t3095 + 0.4e2 * t3106 + 0.3e2 * t3110 + 0.5e1 * t3077 + 0.2e2 * t2684 + 0.1e2 * t2632 - 0.35e2 / 0.12e2 * t254 * t260 * t3141; + const double t3146 = t263 * t3057; + const double t3160 = -0.1e2 * t254 * t2078 * t3146 - 0.25e2 / 0.3e1 * t2088 * t2089 * t3063 - 0.1e2 * t3060 - 0.5e1 * t3065 - 0.15e2 / 0.4e1 * t3083 - 0.5e2 / 0.9e1 * t2622 - 0.25e2 / 0.9e1 * t2625 - 0.5e1 / 0.3e1 * t2532 - 0.1e2 / 0.3e1 * t2515 + t2040 - t2048 - t2066; + const double t3161 = t3145 + t3160; + const double t3162 = t248 * t3161; + const double t3165 = t280 * t3057; + const double t3170 = t1030 * t979; + const double t3174 = t280 * t3074; + const double t3179 = t1026 * t1026; + const double t3181 = t1654 * t3179 / 0.12e2; + const double t3185 = 0.18e2 * t3086 + 0.8e1 * t2470 - 0.6e1 * t3090 + t1771; + const double t3187 = t756 * t3185 / 0.6e1; + const double t3189 = t1776 * t3179 / 0.12e2; + const double t3191 = t762 * t3185 / 0.6e1; + const double t3192 = -t3181 + t3187 + t3189 - t3191; + const double t3198 = 0.2e1 / 0.3e1 * t33 * t1801 * t3057; + const double t3199 = 0.2e1 / 0.9e1 * t2568; + const double t3202 = t33 * t539 * t3074 / 0.3e1; + const double t3203 = t3198 + t3199 - t3202 + t1821 - t3181 + t3187; + const double t3207 = t1042 * t1042; + const double t3214 = t3198 + t3199 - t3202 + t1821 - t219 * t3080 / 0.4e1 + t194 * t3092 / 0.2e1; + const double t3216 = -0.2e1 * t1042 * t2576 + 0.2e1 * t1875 * t3207 + t291 * t3203 - t3214 * t784; + const double t3217 = t181 * t3216; + const double t3220 = t1791 * t1038; + const double t3223 = t791 * t1042; + const double t3226 = t3198 + t3199 - t3202 + t1821 - t3189 + t3191; + const double t3233 = -0.2e1 * t1042 * t2599 + 0.2e1 * t1829 * t3207 + t291 * t3226 - t3214 * t800; + const double t3234 = t243 * t3233; + const double t3237 = t1797 * t1049; + const double t3240 = t804 * t1042; + const double t3243 = 0.47272888888888888889e-1 * t3097 * t200 + 0.26366444444444444444e-1 * t3121 * t226 - t3162 * t269 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t1801 * t3165 + 0.4e1 / 0.9e1 * t2501 - 0.4e1 / 0.3e1 * t33 * t539 * t3170 - 0.2e1 / 0.3e1 * t33 * t539 * t3174 + t1645 - 0.4e1 / 0.9e1 * t2497 + 0.2e1 / 0.3e1 * t33 * t45 * t3192 + 0.2e1 * t3217 * t792 - 0.2e1 * t1045 * t3220 + 0.2e1 * t1045 * t3223 - 0.2e1 * t3234 * t805 + 0.2e1 * t1053 * t3237 - 0.2e1 * t1053 * t3240; + const double t3248 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t3048 * t302 - t2445 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t972 * t1056 + t1636 - t2456 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t3243 ); + const double t3249 = t1063 * t1063; + const double t3254 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t524 + 0.2e1 * t2126 ); + const double t3258 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t3249 + 0.4e1 / 0.3e1 * t313 * t3254 ); + const double t3259 = t3258 * t26; + const double t3269 = 0.1e1 / t327 / t336; + const double t3270 = t3269 * t371; + const double t3271 = t3270 * t406; + const double t3274 = t1082 * t1114; + const double t3275 = t3274 * t406; + const double t3281 = t330 * t3269; + const double t3284 = 0.1e1 / t351; + const double t3285 = t335 * t3284; + const double t3289 = 0.1e1 / t326 / t1099; + const double t3290 = t342 * t3289; + const double t3294 = 0.1e1 / t327 / t358; + const double t3295 = t350 * t3294; + const double t3298 = 0.1e1 / t393; + const double t3299 = t357 * t3298; + const double t3303 = 0.1e1 / t326 / t1138; + const double t3304 = t364 * t3303; + const double t3307 = 0.11e2 / 0.27e2 * t57 * t3281 + 0.5e1 / 0.12e2 * t64 * t3285 + 0.19e2 / 0.324e3 * t74 * t3290 + 0.115e3 / 0.2592e4 * t86 * t3295 + t100 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t3304; + const double t3308 = t329 * t3307; + const double t3309 = t3308 * t406; + const double t3316 = 0.1e1 / t1119 / t405; + const double t3317 = t1149 * t1149; + const double t3318 = t3316 * t3317; + const double t3323 = 0.1e1 / t326 / t1080; + const double t3340 = 0.1e1 / t327 / t400; + const double t3344 = t358 * t351; + const double t3345 = 0.1e1 / t3344; + const double t3349 = 0.7e1 / 0.27e2 * t122 * t373 * t3323 + 0.11e2 / 0.27e2 * t130 * t3281 + 0.5e1 / 0.12e2 * t134 * t3285 + 0.19e2 / 0.324e3 * t138 * t3290 + 0.115e3 / 0.2592e4 * t142 * t3295 + t146 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t3304 + 0.35e2 / 0.15552e5 * t154 * t392 * t3340 + 0.13e2 / 0.9216e4 * t168 * t399 * t3345; + const double t3350 = t1120 * t3349; + const double t3355 = piecewise_functor_3( t410, 0.11e2 / 0.27e2 * t324 * t3271 - 0.2e1 / 0.9e1 * t324 * t3275 + 0.2e1 / 0.9e1 * t324 * t1083 * t1150 + t324 * t3309 / 0.24e2 - t324 * t1115 * t1150 / 0.12e2 + t324 * t372 * t3318 / 0.12e2 - t324 * t372 * t3350 / 0.24e2, 0.0 ); + const double t3358 = piecewise_functor_3( t463, t3355, 0.0 ); + const double t3361 = t1075 * t1075; + const double t3362 = t420 * t3361; + const double t3364 = t33 * t2152 * t3362; + const double t3367 = t1075 * t1159; + const double t3369 = t2163 * t1450 * t3367; + const double t3371 = t1072 * t1072; + const double t3375 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t3042 ); + const double t3379 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t3371 + t830 * t3375 / 0.3e1 ); + const double t3380 = t420 * t3379; + const double t3382 = t33 * t828 * t3380; + const double t3385 = t1159 * t1159; + const double t3386 = t479 * t3385; + const double t3388 = t33 * t323 * t3386; + const double t3391 = t632 * t2195 * t3361; + const double t3395 = t632 * t844 * t3379; + const double t3397 = t3355 + 0.2e1 * t3391 + 0.8e1 / 0.9e1 * t2773 - 0.2e1 / 0.3e1 * t3395 + t2208; + const double t3398 = t443 * t3397; + const double t3400 = t33 * t323 * t3398; + const double t3402 = -0.2e1 / 0.3e1 * t3364 - 0.2e1 / 0.9e1 * t2824 - t3369 / 0.3e1 + t3382 / 0.3e1 - t2186 - t2841 / 0.9e1 - t3388 / 0.4e1 + t3400 / 0.6e1; + const double t3405 = t2393 * t1265; + const double t3408 = t2415 * t1278; + const double t3411 = t1249 * t1249; + const double t3413 = t2337 * t3411 / 0.12e2; + const double t3415 = 0.18e2 * t3391; + const double t3416 = 0.8e1 * t2773; + const double t3417 = 0.6e1 * t3395; + const double t3418 = 0.9e1 * t3355 + t3415 + t3416 - t3417 + t2344; + const double t3420 = t914 * t3418 / 0.6e1; + const double t3421 = t1252 * t1252; + const double t3423 = t2349 * t3421 / 0.12e2; + const double t3425 = 0.9e1 * t3358 + t3415 + t3416 - t3417 + t2344; + const double t3427 = t919 * t3425 / 0.6e1; + const double t3428 = -t3413 + t3420 + t3423 - t3427; + const double t3436 = 0.2e1 / 0.3e1 * t33 * t2152 * t3361; + const double t3437 = 0.2e1 / 0.9e1 * t2864; + const double t3440 = t33 * t828 * t3379 / 0.3e1; + const double t3441 = t3436 + t3437 - t3440 + t2369 - t3413 + t3420; + const double t3445 = t1269 * t1269; + const double t3452 = t3436 + t3437 - t3440 + t2369 - t443 * t3385 / 0.4e1 + t420 * t3397 / 0.2e1; + const double t3454 = -0.2e1 * t1269 * t2872 + 0.2e1 * t2377 * t3445 + t3441 * t507 - t3452 * t937; + const double t3455 = t411 * t3454; + const double t3458 = t944 * t1269; + const double t3461 = t1213 * t1281; + const double t3464 = t3436 + t3437 - t3440 + t2369 - t3423 + t3427; + const double t3471 = -0.2e1 * t1269 * t2896 + 0.2e1 * t2405 * t3445 - t3452 * t951 + t3464 * t507; + const double t3472 = t465 * t3471; + const double t3475 = t955 * t1269; + const double t3478 = t1155 * t1155; + const double t3479 = t1239 * t3478; + const double t3484 = t485 * t3355; + const double t3491 = 0.2e1 * t3355 * t509 - 0.2e1 * t3358 * t515 + 0.47272888888888888889e-1 * t3402 * t426 - 0.2e1 * t1272 * t3405 + 0.2e1 * t1282 * t3408 + 0.2e1 / 0.3e1 * t33 * t323 * t3428 - 0.10546577777777777778e0 * t1182 * t1195 + 0.2e1 * t3455 * t945 + 0.2e1 * t1272 * t3458 - 0.4e1 * t3461 * t956 - 0.2e1 * t3472 * t956 - 0.2e1 * t1282 * t3475 + 0.15819866666666666666e0 * t448 * t3479 - 0.10546577777777777778e0 * t1192 * t1195 - 0.52732888888888888888e-1 * t448 * t3484 + 0.2e1 / 0.3e1 * t1219 * t1240 + 0.2e1 / 0.3e1 * t1235 * t1240; + const double t3492 = t1239 * t3355; + const double t3495 = t1155 * t1271; + const double t3500 = 0.1e1 / t1238 / t425; + const double t3501 = t3500 * t3478; + const double t3504 = t496 * t3379; + const double t3508 = t496 * t3361; + const double t3512 = t1255 * t1075; + const double t3523 = t2223 * t863 * t3361; + const double t3527 = t862 * t871 * t3367; + const double t3530 = t862 * t863 * t3379; + const double t3532 = t870 * t2243 * t3385; + const double t3535 = t870 * t871 * t3397; + const double t3537 = -0.2e1 * t3364 - 0.2e1 / 0.3e1 * t2824 - t3369 + t3382 - t2219 - t2841 / 0.3e1 - 0.3e1 / 0.4e1 * t3388 + t3400 / 0.2e1 + 0.4e1 * t3523 + 0.2e1 * t2929 + 0.3e1 * t3527 - t3530 + t2239 + t2935 + 0.5e1 / 0.4e1 * t3532 - t3535 / 0.2e1; + const double t3538 = t438 * t3537; + const double t3541 = sigma_bb * t3269; + const double t3549 = t99 * t357; + const double t3551 = 0.1e1 / t1175 / t432; + const double t3556 = 0.12717480330480143498e0 * t49 * t3541 * t433 - 0.32516284935886730535e-2 * t655 * t341 * t3289 * t1176 + 0.12043068494772863161e-3 * t3549 * t3298 * t3551 + 0.42141105276909202774e1 * t3355; + const double t3570 = t458 * t425; + const double t3571 = t3570 * t468; + const double t3574 = t1206 * t1216; + const double t3580 = 0.1e1 / t460 / t411; + const double t3586 = 0.1e1 / t466 / t465; + const double t3587 = t1213 * t1213; + const double t3592 = -0.3e1 / 0.5e1 * t3580 * t3478 + 0.6e1 / 0.5e1 * t1210 * t3355 + 0.3e1 / 0.5e1 * t3586 * t3587 - 0.6e1 / 0.5e1 * t1212 * t3358; + const double t3594 = 0.474596e-1 * t3556 * t425 + 0.949192e-1 * t1181 * t1155 + 0.474596e-1 * t438 * t3355 + 0.56727466666666666666e-1 * t3478 + 0.56727466666666666666e-1 * t425 * t3355 - 0.54519192e1 * t425 * t3478 - 0.27259596e1 * t449 * t3355 - 0.35e2 / 0.4e1 * t3571 * t3478 - 0.7e1 * t3574 * t1155 - 0.7e1 / 0.2e1 * t1207 * t3355 - t459 * t3592; + const double t3595 = t3594 * t483; + const double t3598 = t1218 * t1234; + const double t3601 = t2301 * t3385; + const double t3607 = t479 * t3379; + const double t3611 = t898 * t3397; + const double t3622 = -0.35e2 / 0.12e2 * t254 * t476 * t3601 - 0.5e1 * t3535 - 0.1e2 * t3530 + 0.5e1 / 0.3e1 * t254 * t887 * t3607 + 0.5e1 / 0.6e1 * t254 * t476 * t3611 + 0.4e2 * t3523 + 0.3e2 * t3527 + 0.25e2 / 0.2e1 * t3532 + 0.5e1 / 0.2e1 * t3400 + 0.5e1 * t3382 + 0.2e2 * t2929 + 0.1e2 * t2935; + const double t3623 = t479 * t3361; + const double t3637 = -0.1e2 * t254 * t2284 * t3623 - 0.25e2 / 0.3e1 * t2294 * t2295 * t3367 - 0.1e2 * t3364 - 0.5e1 * t3369 - 0.15e2 / 0.4e1 * t3388 - 0.5e2 / 0.9e1 * t2946 - 0.25e2 / 0.9e1 * t2950 - 0.1e2 / 0.3e1 * t2824 - 0.5e1 / 0.3e1 * t2841 - t2261 + t2271 - t2280; + const double t3638 = t3622 + t3637; + const double t3639 = t470 * t3638; + const double t3642 = t1164 * t450; + const double t3647 = t3556 * t447; + const double t3650 = t1181 * t1191; + const double t3653 = t424 * t485; + const double t3656 = t484 * t3492 / 0.3e1 + 0.4e1 * t3495 * t945 - 0.4e1 / 0.9e1 * t2800 - 0.4e1 / 0.3e1 * t484 * t3501 - 0.2e1 / 0.3e1 * t33 * t828 * t3504 + 0.4e1 / 0.3e1 * t33 * t2152 * t3508 - 0.4e1 / 0.3e1 * t33 * t828 * t3512 + 0.4e1 / 0.9e1 * t2803 + 0.26366444444444444444e-1 * t3538 * t450 - t3595 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t3598 * t485 - t3639 * t485 / 0.9e1 - 0.94545777777777777778e-1 * t3642 * t1155 - 0.47272888888888888889e-1 * t1167 * t3355 + 0.26366444444444444444e-1 * t3647 * t450 + 0.52732888888888888888e-1 * t3650 * t450 + 0.94545777777777777778e-1 * t3653 * t3478 + t2332; + const double t3657 = t3491 + t3656; + const double t3662 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t3259 * t518 - t2747 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t1067 * t1285 + t2148 - t2758 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t3657 ); + const double t3670 = t5 * t535 * t1444 / 0.8e1; + const double t3673 = 0.2e1 / 0.9e1 * t33 * t552 * t1419; + const double t3686 = t49 * t55; + const double t3687 = t119 * t596; + const double t3688 = t3687 * t625; + const double t3691 = t558 * t1317; + const double t3692 = t3691 * t176; + const double t3695 = t48 * t558; + const double t3698 = t65 * t566; + const double t3701 = t1302 * t571; + const double t3704 = t1306 * t577; + const double t3707 = t77 * t581; + const double t3710 = t1313 * t586; + const double t3713 = -t57 * t3695 / 0.9e1 - t64 * t3698 / 0.8e1 - t74 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t3704 - t100 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t3710; + const double t3714 = t55 * t3713; + const double t3715 = t3714 * t176; + const double t3727 = t119 * t1706; + const double t3728 = t1345 * t625; + const double t3729 = t3727 * t3728; + const double t3753 = -t122 * t1322 * t598 / 0.18e2 - t130 * t3695 / 0.9e1 - t134 * t3698 / 0.8e1 - t138 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t3704 - t146 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t3710 - t154 * t1338 * t616 / 0.1296e4 - t168 * t111 * t621 / 0.2048e4; + const double t3754 = t596 * t3753; + const double t3759 = piecewise_functor_3( t180, -t49 * t560 / 0.9e1 + t49 * t592 / 0.24e2 - t3686 * t3688 / 0.24e2 - t50 * t3692 / 0.9e1 + t50 * t3715 / 0.24e2 - t50 * t1318 * t626 / 0.24e2 + t50 * t559 * t1346 / 0.9e1 - t50 * t591 * t1346 / 0.24e2 + t204 * t3729 / 0.12e2 - t50 * t120 * t3754 / 0.24e2, 0.0 ); + const double t3760 = t269 * t3759; + const double t3763 = t745 * t3759; + const double t3766 = t1351 * t789; + const double t3769 = t631 * t1430; + const double t3772 = t1654 * t1351; + const double t3773 = t291 * t760; + const double t3776 = t756 * t3759; + const double t3779 = t783 * t787; + const double t3784 = t1427 * t787; + const double t3786 = t1370 * t640; + const double t3789 = t194 * t3759; + const double t3792 = -0.3e1 / 0.4e1 * t3772 * t3773 + 0.3e1 / 0.2e1 * t3776 * t291 - 0.3e1 / 0.2e1 * t1416 * t3779 - t1872 * t1427 / 0.2e1 + t1875 * t3784 + t784 * t3786 / 0.4e1 - t784 * t3789 / 0.2e1; + const double t3793 = t181 * t3792; + const double t3799 = t1394 * t802; + const double t3802 = t705 * t1440; + const double t3805 = t1776 * t1394; + const double t3806 = t291 * t764; + const double t3809 = piecewise_functor_3( t241, t3759, 0.0 ); + const double t3810 = t762 * t3809; + const double t3822 = -0.3e1 / 0.4e1 * t3805 * t3806 + 0.3e1 / 0.2e1 * t3810 * t291 - 0.3e1 / 0.2e1 * t1417 * t3779 - t1824 * t1427 / 0.2e1 + t1829 * t3784 + t800 * t3786 / 0.4e1 - t800 * t3789 / 0.2e1; + const double t3823 = t243 * t3822; + const double t3828 = t631 * t1351; + const double t3839 = t1352 * t640; + const double t3843 = 0.2e1 * t1431 * t1930 - 0.2e1 * t3799 * t805 - 0.2e1 * t3802 * t805 - 0.2e1 * t3823 * t805 - 0.2e1 * t1441 * t1849 + 0.94545777777777777778e-1 * t1936 * t3828 + t1400 * t746 / 0.3e1 + t1410 * t746 / 0.3e1 + t711 * t1413 / 0.3e1 + t741 * t1413 / 0.3e1 - 0.11818222222222222222e-1 * t1293 * t2534 * t3839; + const double t3845 = t1419 * t545; + const double t3849 = t1351 * t226; + const double t3850 = t3849 * t631; + const double t3854 = t1352 * t545; + const double t3864 = -0.3e1 / 0.4e1 * t3772 * t760 + 0.3e1 / 0.2e1 * t3776 + 0.3e1 / 0.4e1 * t3805 * t764 - 0.3e1 / 0.2e1 * t3810; + const double t3868 = t3759 * t200; + const double t3872 = t551 * t219; + const double t3875 = 0.26262716049382716049e-2 * t1293 * t3872 * t1352; + const double t3876 = t1351 * t545; + const double t3878 = t1895 * t1294 * t3876; + const double t3881 = t33 * t552 * t1370; + const double t3882 = t3881 / 0.6e1; + const double t3883 = t1351 * t640; + const double t3885 = t1293 * t2534 * t3883; + const double t3887 = t219 * t3759; + const double t3889 = t33 * t45 * t3887; + const double t3892 = t670 * t679 * t3876; + const double t3895 = t678 * t1965 * t1351; + const double t3896 = t3895 / 0.2e1; + const double t3898 = t678 * t1968 * t3883; + const double t3901 = t678 * t679 * t3759; + const double t3903 = -t3878 / 0.2e1 - t3882 - 0.3e1 / 0.4e1 * t3885 + t3889 / 0.2e1 + 0.3e1 / 0.2e1 * t3892 + t3896 + 0.5e1 / 0.4e1 * t3898 - t3901 / 0.2e1; + const double t3904 = t212 * t3903; + const double t3910 = t571 * t658; + const double t3914 = t99 * t77; + const double t3919 = -0.34684037264945845904e-1 * t49 * t558 * t207 + 0.10838761645295576845e-2 * t655 * t3910 * sigma_aa - 0.45161506855398236853e-4 * t3914 * t581 * t1989 + 0.42141105276909202774e1 * t3759; + const double t3929 = t199 * t3759; + const double t3941 = t698 * t1397; + const double t3944 = t2018 * t1351; + const double t3949 = t2024 * t1394; + const double t3954 = -0.3e1 / 0.5e1 * t3944 * t631 + 0.6e1 / 0.5e1 * t702 * t3759 + 0.3e1 / 0.5e1 * t3949 * t705 - 0.6e1 / 0.5e1 * t704 * t3809; + const double t3956 = 0.474596e-1 * t3919 * t199 + 0.474596e-1 * t1366 * t631 + 0.474596e-1 * t663 * t1351 + 0.474596e-1 * t212 * t3759 + 0.56727466666666666666e-1 * t3828 + 0.56727466666666666666e-1 * t3929 - 0.54519192e1 * t1387 * t631 - 0.27259596e1 * t225 * t3759 - 0.35e2 / 0.4e1 * t2009 * t3828 - 0.7e1 / 0.2e1 * t2012 * t1351 - 0.7e1 / 0.2e1 * t699 * t3759 - 0.7e1 / 0.2e1 * t3941 * t631 - t235 * t3954; + const double t3957 = t3956 * t267; + const double t3961 = 0.5e1 / 0.6e1 * t3881; + const double t3965 = 0.5e1 * t3895; + const double t3973 = 0.25e2 / 0.18e2 * t254 * t729 * t1405; + const double t3977 = t735 * t3759; + const double t3981 = -0.5e1 / 0.2e1 * t3878 - t3961 - 0.15e2 / 0.4e1 * t3885 + 0.5e1 / 0.2e1 * t3889 + 0.15e2 * t3892 + t3965 + 0.25e2 / 0.2e1 * t3898 - 0.5e1 * t3901 - 0.25e2 / 0.6e1 * t2088 * t2089 * t3876 - t3973 - 0.35e2 / 0.12e2 * t2687 * t2688 * t3883 + 0.5e1 / 0.6e1 * t254 * t260 * t3977; + const double t3982 = t248 * t3981; + const double t3989 = -0.2e1 / 0.3e1 * t33 * t539 * t3845 - 0.78788148148148148148e-2 * t1293 * t1294 * t3850 - 0.78788148148148148148e-2 * t1895 * t1294 * t3854 + 0.2e1 / 0.3e1 * t33 * t45 * t3864 + 0.78788148148148148148e-2 * t1293 * t1294 * t3868 - t3875 + 0.26366444444444444444e-1 * t3904 * t226 - t3957 * t269 / 0.9e1 - t3982 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t2102 * t1351 - 0.47272888888888888889e-1 * t648 * t3759; + const double t3990 = t3919 * t223; + const double t3993 = t1366 * t683; + const double t3996 = t663 * t1376; + const double t3999 = t1399 * t740; + const double t4002 = t710 * t1409; + const double t4005 = t1922 * t1351; + const double t4006 = t4005 * t631; + const double t4011 = t1413 * t631; + const double t4020 = 0.26366444444444444444e-1 * t3990 * t226 + 0.26366444444444444444e-1 * t3993 * t226 + 0.26366444444444444444e-1 * t3996 * t226 - t3999 * t269 / 0.9e1 - t4002 * t269 / 0.9e1 - 0.4e1 / 0.3e1 * t268 * t4006 - 0.2e1 * t1431 * t1792 + 0.15819866666666666666e0 * t224 * t4011 + 0.2e1 * t1441 * t1798 + 0.2e1 * t3759 * t293 - 0.2e1 * t3809 * t299; + const double t4022 = -t3673 - 0.52732888888888888888e-1 * t1367 * t687 - 0.52732888888888888888e-1 * t1377 * t687 - 0.52732888888888888888e-1 * t664 * t1380 - 0.52732888888888888888e-1 * t684 * t1380 - 0.52732888888888888888e-1 * t224 * t3760 + t268 * t3763 / 0.3e1 + 0.2e1 * t3766 * t792 + 0.2e1 * t3769 * t792 + 0.2e1 * t3793 * t792 + t3843 + t3989 + t4020; + const double t4027 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t1444 - t3670 - 0.3e1 / 0.8e1 * t5 * t27 * t4022 ); + const double t4034 = t5 * t824 * t1600 / 0.8e1; + const double t4039 = t551 * t443; + const double t4042 = 0.26262716049382716049e-2 * t1449 * t4039 * t1508; + const double t4057 = t33 * t840 * t1526; + const double t4058 = t4057 / 0.6e1; + const double t4067 = t870 * t2240 * t1507; + const double t4068 = t4067 / 0.2e1; + const double t4082 = 0.5e1 / 0.6e1 * t4057; + const double t4085 = 0.5e1 * t4067; + const double t4092 = 0.25e2 / 0.18e2 * t254 * t892 * t1561; + const double t4109 = 0.2e1 / 0.9e1 * t33 * t840 * t1575; + const double t4110 = t2337 * t1507; + const double t4112 = t2349 * t1550; + const double t4293 = t1507 * t450; + const double t4294 = t4293 * t1155; + const double t4298 = t1508 * t1075; + const double t4302 = t1508 * t1159; + const double t4312 = t49 * t329; + const double t4313 = t371 * t1120; + const double t4314 = t4313 * t1149; + const double t4317 = t1082 * t1473; + const double t4318 = t4317 * t406; + const double t4321 = t48 * t1082; + const double t4324 = t334 * t1090; + const double t4327 = t1458 * t1095; + const double t4330 = t1462 * t1101; + const double t4333 = t341 * t1105; + const double t4336 = t1469 * t1110; + const double t4339 = -t57 * t4321 / 0.9e1 - t64 * t4324 / 0.8e1 - t74 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t4330 - t100 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t4336; + const double t4340 = t329 * t4339; + const double t4341 = t4340 * t406; + const double t4353 = t371 * t3316; + const double t4354 = t1501 * t1149; + const double t4355 = t4353 * t4354; + const double t4379 = -t122 * t1478 * t1122 / 0.18e2 - t130 * t4321 / 0.9e1 - t134 * t4324 / 0.8e1 - t138 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t4330 - t146 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t4336 - t154 * t1494 * t1140 / 0.1296e4 - t168 * t363 * t1145 / 0.2048e4; + const double t4380 = t1120 * t4379; + const double t4385 = piecewise_functor_3( t410, -t49 * t1084 / 0.9e1 + t49 * t1116 / 0.24e2 - t4312 * t4314 / 0.24e2 - t324 * t4318 / 0.9e1 + t324 * t4341 / 0.24e2 - t324 * t1474 * t1150 / 0.24e2 + t324 * t1083 * t1502 / 0.9e1 - t324 * t1115 * t1502 / 0.24e2 + t430 * t4355 / 0.12e2 - t324 * t372 * t4380 / 0.24e2, 0.0 ); + const double t4386 = t914 * t4385; + const double t4390 = piecewise_functor_3( t463, t4385, 0.0 ); + const double t4391 = t919 * t4390; + const double t4393 = -0.3e1 / 0.4e1 * t4110 * t1249 + 0.3e1 / 0.2e1 * t4386 + 0.3e1 / 0.4e1 * t4112 * t1252 - 0.3e1 / 0.2e1 * t4391; + const double t4405 = t1218 * t1565; + const double t4409 = t1507 * t1075; + const double t4411 = t2163 * t1450 * t4409; + const double t4413 = t1507 * t1159; + const double t4415 = t1449 * t2843 * t4413; + const double t4417 = t443 * t4385; + const double t4419 = t33 * t323 * t4417; + const double t4422 = t862 * t871 * t4409; + const double t4425 = t870 * t2243 * t4413; + const double t4428 = t870 * t871 * t4385; + const double t4436 = t898 * t4385; + const double t4440 = -0.5e1 / 0.2e1 * t4411 - t4082 - 0.15e2 / 0.4e1 * t4415 + 0.5e1 / 0.2e1 * t4419 + 0.15e2 * t4422 + t4085 + 0.25e2 / 0.2e1 * t4425 - 0.5e1 * t4428 - 0.25e2 / 0.6e1 * t2294 * t2295 * t4409 - t4092 - 0.35e2 / 0.12e2 * t2984 * t2985 * t4413 + 0.5e1 / 0.6e1 * t254 * t476 * t4436; + const double t4441 = t470 * t4440; + const double t4447 = t1095 * t1176; + const double t4451 = t99 * t341; + const double t4456 = -0.34684037264945845904e-1 * t49 * t1082 * t433 + 0.10838761645295576845e-2 * t655 * t4447 * sigma_bb - 0.45161506855398236853e-4 * t4451 * t1105 * t3551 + 0.42141105276909202774e1 * t4385; + const double t4465 = t1155 * t1507; + const double t4467 = t425 * t4385; + const double t4479 = t1206 * t1553; + const double t4482 = t3580 * t1507; + const double t4487 = t3586 * t1550; + const double t4492 = -0.3e1 / 0.5e1 * t4482 * t1155 + 0.6e1 / 0.5e1 * t1210 * t4385 + 0.3e1 / 0.5e1 * t4487 * t1213 - 0.6e1 / 0.5e1 * t1212 * t4390; + const double t4494 = 0.474596e-1 * t4456 * t425 + 0.474596e-1 * t1522 * t1155 + 0.474596e-1 * t1181 * t1507 + 0.474596e-1 * t438 * t4385 + 0.56727466666666666666e-1 * t4465 + 0.56727466666666666666e-1 * t4467 - 0.54519192e1 * t1543 * t1155 - 0.27259596e1 * t449 * t4385 - 0.35e2 / 0.4e1 * t3571 * t4465 - 0.7e1 / 0.2e1 * t3574 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4385 - 0.7e1 / 0.2e1 * t4479 * t1155 - t459 * t4492; + const double t4495 = t4494 * t483; + const double t4498 = t1555 * t1234; + const double t4501 = t4456 * t447; + const double t4504 = t1522 * t1191; + const double t4507 = t1181 * t1532; + const double t4516 = -t4411 / 0.2e1 - t4058 - 0.3e1 / 0.4e1 * t4415 + t4419 / 0.2e1 + 0.3e1 / 0.2e1 * t4422 + t4068 + 0.5e1 / 0.4e1 * t4425 - t4428 / 0.2e1; + const double t4517 = t438 * t4516; + const double t4520 = t4385 * t426; + const double t4524 = t1575 * t1075; + const double t4530 = -t4441 * t485 / 0.9e1 - t4495 * t485 / 0.9e1 - t4498 * t485 / 0.9e1 + 0.26366444444444444444e-1 * t4501 * t450 + 0.26366444444444444444e-1 * t4504 * t450 + 0.26366444444444444444e-1 * t4507 * t450 + 0.26366444444444444444e-1 * t4517 * t450 + 0.78788148148148148148e-2 * t1449 * t1450 * t4520 - 0.2e1 / 0.3e1 * t33 * t828 * t4524 - t4042 - 0.2e1 * t1587 * t3405; + const double t4532 = t1569 * t1155; + const double t4537 = t1239 * t4385; + const double t4540 = t1507 * t1271; + const double t4543 = t1155 * t1586; + const double t4546 = t507 * t1249; + const double t4551 = t936 * t1269; + const double t4556 = t1583 * t1269; + const double t4558 = t1526 * t1159; + const double t4561 = t420 * t4385; + const double t4564 = -0.3e1 / 0.4e1 * t4110 * t4546 + 0.3e1 / 0.2e1 * t4386 * t507 - 0.3e1 / 0.2e1 * t1572 * t4551 - t2872 * t1583 / 0.2e1 + t2377 * t4556 + t937 * t4558 / 0.4e1 - t937 * t4561 / 0.2e1; + const double t4565 = t411 * t4564; + const double t4568 = t507 * t1252; + const double t4582 = -0.3e1 / 0.4e1 * t4112 * t4568 + 0.3e1 / 0.2e1 * t4391 * t507 - 0.3e1 / 0.2e1 * t1573 * t4551 - t2896 * t1583 / 0.2e1 + t2405 * t4556 + t951 * t4558 / 0.4e1 - t951 * t4561 / 0.2e1; + const double t4583 = t465 * t4582; + const double t4594 = 0.15819866666666666666e0 * t448 * t4532 + t1235 * t1569 / 0.3e1 + t484 * t4537 / 0.3e1 + 0.2e1 * t4540 * t945 + 0.2e1 * t4543 * t945 + 0.2e1 * t4565 * t945 - 0.2e1 * t4583 * t956 - 0.2e1 * t1597 * t3475 + 0.94545777777777777778e-1 * t3653 * t4465 - 0.52732888888888888888e-1 * t1523 * t1195 - 0.52732888888888888888e-1 * t1533 * t1195; + const double t4599 = t485 * t4385; + const double t4610 = t1550 * t1281; + const double t4613 = t1213 * t1596; + const double t4618 = t3500 * t1507; + const double t4619 = t4618 * t1155; + const double t4622 = -0.52732888888888888888e-1 * t1182 * t1536 - 0.52732888888888888888e-1 * t1192 * t1536 - 0.52732888888888888888e-1 * t448 * t4599 + t1556 * t1240 / 0.3e1 + t1566 * t1240 / 0.3e1 + t1219 * t1569 / 0.3e1 + 0.2e1 * t1587 * t3458 - 0.2e1 * t4610 * t956 - 0.2e1 * t4613 * t956 + 0.2e1 * t1597 * t3408 - 0.4e1 / 0.3e1 * t484 * t4619; + const double t4624 = -0.78788148148148148148e-2 * t1449 * t1450 * t4294 - 0.78788148148148148148e-2 * t2163 * t1450 * t4298 - 0.11818222222222222222e-1 * t1449 * t2843 * t4302 + 0.2e1 / 0.3e1 * t33 * t323 * t4393 - t4109 - 0.2e1 * t4390 * t515 + 0.2e1 * t4385 * t509 - 0.47272888888888888889e-1 * t3642 * t1507 - 0.47272888888888888889e-1 * t1167 * t4385 - t4405 * t485 / 0.9e1 + t4530 + t4594 + t4622; + const double t4629 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t1600 - t4034 - 0.3e1 / 0.8e1 * t5 * t316 * t4624 ); + const double t4631 = t1441 * t1796; + const double t4632 = t290 * t762; + const double t4633 = t4632 * t1394; + const double t4636 = t1351 * t1351; + const double t4637 = t1654 * t4636; + const double t4641 = t3687 * t1345; + const double t4644 = t1321 * t68; + const double t4647 = t76 * t81; + const double t4650 = t88 * t65; + const double t4651 = t4650 * t93; + const double t4654 = sigma_aa * t103; + const double t4657 = t110 * t66; + const double t4658 = t4657 * t115; + const double t4661 = t64 * t4644 / 0.64e2 + t74 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4651 + t100 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4658; + const double t4662 = t55 * t4661; + const double t4663 = t4662 * t176; + const double t4669 = t1345 * t1345; + const double t4670 = t1706 * t4669; + const double t4674 = 0.1e1 / t66; + const double t4675 = t32 * t4674; + const double t4689 = t156 * t77; + const double t4696 = -t122 * t4675 * t125 / 0.48e2 + t134 * t4644 / 0.64e2 + t138 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4651 + t146 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4658 + t154 * t4689 * t161 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t89 * t171; + const double t4697 = t596 * t4696; + const double t4702 = piecewise_functor_3( t180, t49 * t1319 / 0.12e2 - t3686 * t4641 / 0.12e2 + t50 * t4663 / 0.24e2 - t50 * t1318 * t1346 / 0.12e2 + t50 * t120 * t4670 / 0.12e2 - t50 * t120 * t4697 / 0.24e2, 0.0 ); + const double t4703 = t756 * t4702; + const double t4705 = t1394 * t1394; + const double t4706 = t1776 * t4705; + const double t4708 = piecewise_functor_3( t241, t4702, 0.0 ); + const double t4709 = t762 * t4708; + const double t4711 = -0.27e2 / 0.4e1 * t4637 + 0.3e1 / 0.2e1 * t4703 + 0.27e2 / 0.4e1 * t4706 - 0.3e1 / 0.2e1 * t4709; + const double t4715 = t1431 * t1790; + const double t4716 = t290 * t756; + const double t4717 = t4716 * t1351; + const double t4720 = t804 * t194; + const double t4721 = t4720 * t1351; + const double t4723 = t791 * t194; + const double t4724 = t4723 * t1351; + const double t4731 = t99 * sigma_aa; + const double t4736 = -0.27096904113238942112e-3 * t655 * t81 * t658 + 0.1693556507077433882e-4 * t4731 * t103 * t1989 + 0.42141105276909202774e1 * t4702; + const double t4744 = t199 * t4702; + const double t4764 = -0.3e1 / 0.5e1 * t2018 * t4636 + 0.6e1 / 0.5e1 * t702 * t4702 + 0.3e1 / 0.5e1 * t2024 * t4705 - 0.6e1 / 0.5e1 * t704 * t4708; + const double t4766 = 0.474596e-1 * t4736 * t199 + 0.949192e-1 * t1366 * t1351 + 0.474596e-1 * t212 * t4702 + 0.56727466666666666666e-1 * t4636 + 0.56727466666666666666e-1 * t4744 - 0.54519192e1 * t199 * t4636 - 0.27259596e1 * t225 * t4702 - 0.35e2 / 0.4e1 * t2009 * t4636 - 0.7e1 * t3941 * t1351 - 0.7e1 / 0.2e1 * t699 * t4702 - t235 * t4764; + const double t4767 = t4766 * t267; + const double t4770 = t1399 * t1409; + const double t4773 = t263 * t4636; + const double t4775 = t33 * t45 * t4773; + const double t4777 = t219 * t4702; + const double t4779 = t33 * t45 * t4777; + const double t4782 = t678 * t1968 * t4636; + const double t4785 = t678 * t679 * t4702; + const double t4787 = t2071 * t4636; + const double t4791 = t735 * t4702; + const double t4795 = -0.15e2 / 0.4e1 * t4775 + 0.5e1 / 0.2e1 * t4779 + 0.25e2 / 0.2e1 * t4782 - 0.5e1 * t4785 - 0.35e2 / 0.12e2 * t254 * t260 * t4787 + 0.5e1 / 0.6e1 * t254 * t260 * t4791; + const double t4796 = t248 * t4795; + const double t4801 = t4736 * t223; + const double t4804 = t1366 * t1376; + const double t4811 = -0.3e1 / 0.4e1 * t4775 + t4779 / 0.2e1 + 0.5e1 / 0.4e1 * t4782 - t4785 / 0.2e1; + const double t4812 = t212 * t4811; + const double t4815 = t4702 * t200; + const double t4819 = t4636 * t200; + const double t4823 = 0.3e1 * t4631 * t4633 + 0.2e1 / 0.3e1 * t33 * t45 * t4711 - 0.3e1 * t4715 * t4717 - t1441 * t4721 + t1431 * t4724 + 0.94545777777777777778e-1 * t1936 * t4636 - t4767 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t4770 * t269 - t4796 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t648 * t4702 + 0.26366444444444444444e-1 * t4801 * t226 + 0.52732888888888888888e-1 * t4804 * t226 + 0.26366444444444444444e-1 * t4812 * t226 + 0.78788148148148148148e-2 * t1293 * t1294 * t4815 - 0.11818222222222222222e-1 * t1293 * t2534 * t4819; + const double t4824 = t4636 * t226; + const double t4832 = t756 * t4636; + const double t4833 = t783 * t194; + const double t4836 = 0.1e1 / t192; + const double t4837 = t4836 * t4636; + const double t4840 = t219 * t4636; + const double t4843 = t194 * t4702; + const double t4846 = -0.27e2 / 0.4e1 * t4637 * t291 + 0.3e1 / 0.2e1 * t4703 * t291 - 0.3e1 / 0.2e1 * t4832 * t4833 + t1875 * t4837 / 0.2e1 + t784 * t4840 / 0.4e1 - t784 * t4843 / 0.2e1; + const double t4847 = t181 * t4846; + const double t4850 = t1394 * t1440; + const double t4857 = t4833 * t1351; + const double t4866 = -0.27e2 / 0.4e1 * t4706 * t291 + 0.3e1 / 0.2e1 * t4709 * t291 - 0.3e1 / 0.2e1 * t1417 * t4857 + t1829 * t4837 / 0.2e1 + t800 * t4840 / 0.4e1 - t800 * t4843 / 0.2e1; + const double t4867 = t243 * t4866; + const double t4874 = t269 * t4702; + const double t4881 = t745 * t4702; + const double t4888 = t1922 * t4636; + const double t4891 = t745 * t4636; + const double t4894 = t1351 * t1430; + const double t4897 = -0.1575762962962962963e-1 * t1293 * t1294 * t4824 + 0.2e1 * t4847 * t792 - 0.4e1 * t4850 * t805 - 0.2e1 * t4867 * t805 - 0.10546577777777777778e0 * t1367 * t1380 - 0.10546577777777777778e0 * t1377 * t1380 - 0.52732888888888888888e-1 * t224 * t4874 + 0.2e1 / 0.3e1 * t1400 * t1413 + 0.2e1 / 0.3e1 * t1410 * t1413 + t268 * t4881 / 0.3e1 - 0.2e1 * t4708 * t299 + 0.2e1 * t4702 * t293 - 0.4e1 / 0.3e1 * t268 * t4888 + 0.15819866666666666666e0 * t224 * t4891 + 0.4e1 * t4894 * t792; + const double t4898 = t4823 + t4897; + const double t4902 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t4898 ); + const double t4903 = t1587 * t2392; + const double t4904 = t506 * t914; + const double t4905 = t4904 * t1507; + const double t4908 = t1597 * t2414; + const double t4909 = t506 * t919; + const double t4910 = t4909 * t1550; + const double t4913 = t1507 * t1507; + const double t4914 = t2337 * t4913; + const double t4918 = t4313 * t1501; + const double t4921 = t1477 * t337; + const double t4924 = t76 * t345; + const double t4927 = t88 * t334; + const double t4928 = t4927 * t353; + const double t4931 = sigma_bb * t359; + const double t4934 = t110 * t335; + const double t4935 = t4934 * t367; + const double t4938 = t64 * t4921 / 0.64e2 + t74 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4928 + t100 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4935; + const double t4939 = t329 * t4938; + const double t4940 = t4939 * t406; + const double t4946 = t1501 * t1501; + const double t4947 = t3316 * t4946; + const double t4951 = 0.1e1 / t335; + const double t4952 = t32 * t4951; + const double t4966 = t156 * t341; + const double t4973 = -t122 * t4952 * t375 / 0.48e2 + t134 * t4921 / 0.64e2 + t138 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4928 + t146 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4935 + t154 * t4966 * t395 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t349 * t401; + const double t4974 = t1120 * t4973; + const double t4979 = piecewise_functor_3( t410, t49 * t1475 / 0.12e2 - t4312 * t4918 / 0.12e2 + t324 * t4940 / 0.24e2 - t324 * t1474 * t1502 / 0.12e2 + t324 * t372 * t4947 / 0.12e2 - t324 * t372 * t4974 / 0.24e2, 0.0 ); + const double t4980 = t914 * t4979; + const double t4982 = t1550 * t1550; + const double t4983 = t2349 * t4982; + const double t4985 = piecewise_functor_3( t463, t4979, 0.0 ); + const double t4986 = t919 * t4985; + const double t4988 = -0.27e2 / 0.4e1 * t4914 + 0.3e1 / 0.2e1 * t4980 + 0.27e2 / 0.4e1 * t4983 - 0.3e1 / 0.2e1 * t4986; + const double t5000 = t1239 * t4979; + const double t5003 = t1507 * t1586; + const double t5010 = t914 * t4913; + const double t5011 = t936 * t420; + const double t5014 = 0.1e1 / t418; + const double t5015 = t5014 * t4913; + const double t5018 = t443 * t4913; + const double t5021 = t420 * t4979; + const double t5024 = -0.27e2 / 0.4e1 * t4914 * t507 + 0.3e1 / 0.2e1 * t4980 * t507 - 0.3e1 / 0.2e1 * t5010 * t5011 + t2377 * t5015 / 0.2e1 + t937 * t5018 / 0.4e1 - t937 * t5021 / 0.2e1; + const double t5025 = t411 * t5024; + const double t5028 = t1550 * t1596; + const double t5031 = t3500 * t4913; + const double t5034 = t1239 * t4913; + const double t5040 = t99 * sigma_bb; + const double t5045 = -0.27096904113238942112e-3 * t655 * t345 * t1176 + 0.1693556507077433882e-4 * t5040 * t359 * t3551 + 0.42141105276909202774e1 * t4979; + const double t5053 = t425 * t4979; + const double t5073 = -0.3e1 / 0.5e1 * t3580 * t4913 + 0.6e1 / 0.5e1 * t1210 * t4979 + 0.3e1 / 0.5e1 * t3586 * t4982 - 0.6e1 / 0.5e1 * t1212 * t4985; + const double t5075 = 0.474596e-1 * t5045 * t425 + 0.949192e-1 * t1522 * t1507 + 0.474596e-1 * t438 * t4979 + 0.56727466666666666666e-1 * t4913 + 0.56727466666666666666e-1 * t5053 - 0.54519192e1 * t425 * t4913 - 0.27259596e1 * t449 * t4979 - 0.35e2 / 0.4e1 * t3571 * t4913 - 0.7e1 * t4479 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4979 - t459 * t5073; + const double t5076 = t5075 * t483; + const double t5079 = t1555 * t1565; + const double t5082 = -0.3e1 * t4903 * t4905 + 0.3e1 * t4908 * t4910 + 0.2e1 / 0.3e1 * t33 * t323 * t4988 + 0.94545777777777777778e-1 * t3653 * t4913 - 0.2e1 * t4985 * t515 + 0.2e1 * t4979 * t509 + 0.2e1 / 0.3e1 * t1566 * t1569 + t484 * t5000 / 0.3e1 + 0.4e1 * t5003 * t945 + 0.2e1 * t5025 * t945 - 0.4e1 * t5028 * t956 - 0.4e1 / 0.3e1 * t484 * t5031 + 0.15819866666666666666e0 * t448 * t5034 - t5076 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t5079 * t485; + const double t5083 = t479 * t4913; + const double t5085 = t33 * t323 * t5083; + const double t5087 = t443 * t4979; + const double t5089 = t33 * t323 * t5087; + const double t5092 = t870 * t2243 * t4913; + const double t5095 = t870 * t871 * t4979; + const double t5097 = t2301 * t4913; + const double t5101 = t898 * t4979; + const double t5105 = -0.15e2 / 0.4e1 * t5085 + 0.5e1 / 0.2e1 * t5089 + 0.25e2 / 0.2e1 * t5092 - 0.5e1 * t5095 - 0.35e2 / 0.12e2 * t254 * t476 * t5097 + 0.5e1 / 0.6e1 * t254 * t476 * t5101; + const double t5106 = t470 * t5105; + const double t5111 = t5045 * t447; + const double t5114 = t1522 * t1532; + const double t5121 = -0.3e1 / 0.4e1 * t5085 + t5089 / 0.2e1 + 0.5e1 / 0.4e1 * t5092 - t5095 / 0.2e1; + const double t5122 = t438 * t5121; + const double t5129 = t5011 * t1507; + const double t5138 = -0.27e2 / 0.4e1 * t4983 * t507 + 0.3e1 / 0.2e1 * t4986 * t507 - 0.3e1 / 0.2e1 * t1573 * t5129 + t2405 * t5015 / 0.2e1 + t951 * t5018 / 0.4e1 - t951 * t5021 / 0.2e1; + const double t5139 = t465 * t5138; + const double t5146 = t485 * t4979; + const double t5151 = t4979 * t426; + const double t5155 = t4913 * t450; + const double t5159 = t4913 * t426; + const double t5163 = t944 * t420; + const double t5164 = t5163 * t1507; + const double t5166 = t955 * t420; + const double t5167 = t5166 * t1507; + const double t5169 = -t5106 * t485 / 0.9e1 - 0.47272888888888888889e-1 * t1167 * t4979 + 0.26366444444444444444e-1 * t5111 * t450 + 0.52732888888888888888e-1 * t5114 * t450 + 0.26366444444444444444e-1 * t5122 * t450 - 0.2e1 * t5139 * t956 - 0.10546577777777777778e0 * t1523 * t1536 - 0.10546577777777777778e0 * t1533 * t1536 - 0.52732888888888888888e-1 * t448 * t5146 + 0.2e1 / 0.3e1 * t1556 * t1569 + 0.78788148148148148148e-2 * t1449 * t1450 * t5151 - 0.1575762962962962963e-1 * t1449 * t1450 * t5155 - 0.11818222222222222222e-1 * t1449 * t2843 * t5159 + t1587 * t5164 - t1597 * t5167; + const double t5170 = t5082 + t5169; + const double t5174 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t5170 ); + + + vrho_a = t306 + t522 + t6 * ( t813 + t964 ); + vrho_b = t306 + t522 + t6 * ( t1061 + t1290 ); + vsigma_aa = t6 * t1448; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t1604; + v2rho2_aa = 0.2e1 * t813 + 0.2e1 * t964 + t6 * ( t2120 + t2427 ); + v2rho2_bb = 0.2e1 * t1061 + 0.2e1 * t1290 + t6 * ( t3248 + t3662 ); + v2rhosigma_a_aa = t4027 * t6 + t1448; + v2rhosigma_b_bb = t4629 * t6 + t1604; + v2sigma2_aa_aa = t6 * t4902; + v2sigma2_bb_bb = t6 * t5174; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinLRCwPBE_HJS_PBE_X : detail::BuiltinKernelImpl< BuiltinLRCwPBE_HJS_PBE_X > { + + BuiltinLRCwPBE_HJS_PBE_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinLRCwPBE_HJS_PBE_X >(p) { } + + virtual ~BuiltinLRCwPBE_HJS_PBE_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/lrcwpbeh_hjs_pbe_x.hpp b/include/exchcxx/impl/builtin/kernels/lrcwpbeh_hjs_pbe_x.hpp new file mode 100644 index 0000000..cc3aea7 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/lrcwpbeh_hjs_pbe_x.hpp @@ -0,0 +1,6307 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinLRCwPBEh_HJS_PBE_X > : + public gga_screening_interface< BuiltinLRCwPBEh_HJS_PBE_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 5e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 8.549879733383501e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.0159941; + static constexpr double a_1 = 0.0852995; + static constexpr double a_2 = -0.160368; + static constexpr double a_3 = 0.152645; + static constexpr double a_4 = -0.0971263; + static constexpr double a_5 = 0.0422061; + static constexpr double b_0 = 5.33319; + static constexpr double b_1 = -12.4780; + static constexpr double b_2 = 11.0988; + static constexpr double b_3 = -5.11013; + static constexpr double b_4 = 1.71468; + static constexpr double b_5 = -0.610380; + static constexpr double b_6 = 0.307555; + static constexpr double b_7 = -0.0770547; + static constexpr double b_8 = 0.0334840; + static constexpr double omega = 0.2; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + + + eps = 0.2e1 * t301; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + + + eps = 0.2e1 * t301; + vrho = 0.2e1 * rho * t541 + 0.2e1 * t301; + vsigma = 0.2e1 * rho * t702; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + constexpr double t1207 = t405 * t35; + constexpr double t1443 = t63 * t35; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + const double t705 = t17 * t254; + const double t712 = t452 * t530; + const double t717 = 0.4e1 / 0.27e2 * t21 * t279 * t354; + const double t719 = 0.1e1 / t273 / t272; + const double t720 = t495 * t495; + const double t722 = t719 * t720 / 0.12e2; + const double t724 = 0.1e1 / t38 / t54; + const double t725 = t36 * t724; + const double t732 = t312 * t109; + const double t733 = t732 * t382; + const double t736 = t45 * t724; + const double t739 = 0.1e1 / t80; + const double t740 = t53 * t739; + const double t744 = 0.1e1 / t18 / t329; + const double t745 = t66 * t744; + const double t749 = 0.1e1 / t38 / t91; + const double t750 = t79 * t749; + const double t753 = 0.1e1 / t154; + const double t754 = t90 * t753; + const double t758 = 0.1e1 / t18 / t370; + const double t759 = t102 * t758; + const double t762 = 0.11e2 / 0.27e2 * t44 * t736 + 0.5e1 / 0.6e1 * t51 * t740 + 0.19e2 / 0.162e3 * t64 * t745 + 0.115e3 / 0.1296e4 * t77 * t750 + t89 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t100 * t759; + const double t763 = t762 * t171; + const double t767 = t40 * t344; + const double t768 = t767 * t382; + const double t772 = 0.1e1 / t351 / t170; + const double t773 = t381 * t381; + const double t774 = t772 * t773; + const double t775 = t350 * t774; + const double t779 = 0.1e1 / t18 / t310; + const double t796 = 0.1e1 / t38 / t165; + const double t800 = t91 * t80; + const double t801 = 0.1e1 / t800; + const double t805 = 0.7e1 / 0.27e2 * t112 * t113 * t779 + 0.11e2 / 0.27e2 * t121 * t736 + 0.5e1 / 0.6e1 * t125 * t740 + 0.19e2 / 0.162e3 * t130 * t745 + 0.115e3 / 0.1296e4 * t135 * t750 + t139 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t144 * t759 + 0.35e2 / 0.3888e4 * t151 * t153 * t796 + 0.13e2 / 0.1152e4 * t163 * t164 * t801; + const double t806 = t352 * t805; + const double t807 = t350 * t806; + const double t811 = piecewise_functor_3( t176, 0.11e2 / 0.27e2 * t34 * t725 * t172 - 0.2e1 / 0.9e1 * t34 * t313 * t345 + 0.2e1 / 0.9e1 * t349 * t733 + t34 * t41 * t763 / 0.24e2 - t349 * t768 / 0.12e2 + t349 * t775 / 0.12e2 - t349 * t807 / 0.24e2, 0.0 ); + const double t812 = piecewise_functor_3( t236, t811, 0.0 ); + const double t815 = t179 * t182 * t40; + const double t816 = 0.1e2 / 0.3e1 * t815; + const double t817 = 0.9e1 * t812 + t816; + const double t819 = t493 * t817 / 0.6e1; + const double t820 = t717 - t722 + t819; + const double t822 = t526 * t511; + const double t826 = 0.1e1 / t510 / t285; + const double t827 = t292 * t826; + const double t828 = t515 * t515; + const double t831 = t391 * t391; + const double t835 = t811 + 0.1e2 / 0.27e2 * t815; + const double t838 = t717 - t214 * t831 / 0.4e1 + t189 * t835 / 0.2e1; + const double t840 = t820 * t286 - 0.2e1 * t822 * t515 - t528 * t838 + 0.2e1 * t827 * t828; + const double t841 = t238 * t840; + const double t844 = t532 * t515; + const double t851 = t264 * t811; + const double t858 = t481 * t811; + const double t861 = t387 * t517; + const double t865 = 0.1e1 / t270 / t269; + const double t866 = t491 * t491; + const double t868 = t865 * t866 / 0.12e2; + const double t870 = 0.9e1 * t811 + t816; + const double t872 = t488 * t870 / 0.6e1; + const double t873 = t717 - t868 + t872; + const double t875 = t508 * t511; + const double t878 = t283 * t826; + const double t882 = t873 * t286 - t512 * t838 - 0.2e1 * t875 * t515 + 0.2e1 * t878 * t828; + const double t883 = t177 * t882; + const double t886 = t519 * t515; + const double t889 = t387 * t387; + const double t890 = t481 * t889; + const double t894 = 0.1e1 / t480 / t194; + const double t895 = t894 * t889; + const double t898 = t193 * t264; + const double t901 = -0.4e1 * t712 * t533 - 0.2e1 * t841 * t533 - 0.2e1 * t531 * t844 - 0.10546577777777777778e0 * t415 * t434 - 0.10546577777777777778e0 * t431 * t434 - 0.52732888888888888888e-1 * t219 * t851 + 0.2e1 / 0.3e1 * t458 * t482 + 0.2e1 / 0.3e1 * t477 * t482 + t263 * t858 / 0.3e1 + 0.4e1 * t861 * t520 + 0.2e1 * t883 * t520 + 0.2e1 * t518 * t886 + 0.15819866666666666666e0 * t219 * t890 - 0.4e1 / 0.3e1 * t263 * t895 + 0.94545777777777777778e-1 * t898 * t889; + const double t902 = t414 * t430; + const double t905 = t27 * t354; + const double t907 = t25 * t905 * t189; + const double t910 = t25 * t306 * t392; + const double t912 = t258 * t831; + const double t914 = t25 * t29 * t912; + const double t916 = t214 * t835; + const double t918 = t25 * t29 * t916; + const double t920 = 0.1e1 / t310; + const double t923 = t208 * t210 * t920 * t214; + const double t925 = t420 * t258; + const double t927 = t425 * t925 * t391; + const double t928 = t211 * t471; + const double t930 = t425 * t928 * t831; + const double t933 = t425 * t426 * t835; + const double t935 = -0.4e1 / 0.9e1 * t907 - t910 / 0.3e1 - 0.3e1 / 0.4e1 * t914 + t918 / 0.2e1 + 0.2e1 / 0.3e1 * t923 + t927 + 0.5e1 / 0.4e1 * t930 - t933 / 0.2e1; + const double t936 = t206 * t935; + const double t939 = t725 * t201; + const double t943 = t35 * t744 * t409; + const double t946 = t88 * t90; + const double t948 = 0.1e1 / t408 / t200; + const double t953 = 0.12717480330480143498e0 * t34 * t939 - 0.6503256987177346107e-2 * t406 * t943 + 0.48172273979091452645e-3 * t946 * t753 * t948 + 0.42141105276909202774e1 * t811; + const double t967 = t229 * t194; + const double t968 = t967 * t241; + const double t971 = t445 * t455; + const double t977 = 0.1e1 / t233 / t177; + const double t983 = 0.1e1 / t239 / t238; + const double t984 = t452 * t452; + const double t989 = -0.3e1 / 0.5e1 * t977 * t889 + 0.6e1 / 0.5e1 * t449 * t811 + 0.3e1 / 0.5e1 * t983 * t984 - 0.6e1 / 0.5e1 * t451 * t812; + const double t991 = 0.474596e-1 * t953 * t194 + 0.949192e-1 * t414 * t387 + 0.474596e-1 * t206 * t811 + 0.56727466666666666666e-1 * t889 + 0.56727466666666666666e-1 * t194 * t811 - 0.54519192e1 * t194 * t889 - 0.27259596e1 * t220 * t811 - 0.35e2 / 0.4e1 * t968 * t889 - 0.7e1 * t971 * t387 - 0.7e1 / 0.2e1 * t446 * t811 - t230 * t989; + const double t992 = t991 * t262; + const double t995 = t457 * t476; + const double t1006 = t252 * t312; + const double t1013 = t256 * t256; + const double t1015 = 0.1e1 / t188 / t1013; + const double t1016 = t1015 * t831; + const double t1020 = t471 * t835; + const double t1024 = -0.2e2 / 0.9e1 * t907 - 0.5e1 / 0.3e1 * t910 - 0.15e2 / 0.4e1 * t914 + 0.5e1 / 0.2e1 * t918 + 0.2e2 / 0.3e1 * t923 + 0.1e2 * t927 + 0.25e2 / 0.2e1 * t930 - 0.5e1 * t933 - 0.4e2 / 0.27e2 * t249 * t1006 * t258 - 0.25e2 / 0.9e1 * t249 * t465 * t472 - 0.35e2 / 0.12e2 * t249 * t255 * t1016 + 0.5e1 / 0.6e1 * t249 * t255 * t1020; + const double t1025 = t243 * t1024; + const double t1028 = t396 * t221; + const double t1033 = t953 * t218; + const double t1040 = -0.4e1 / 0.27e2 * t907 - t910 / 0.9e1 - t914 / 0.4e1 + t918 / 0.6e1; + const double t1047 = -t868 + t872 + t722 - t819; + const double t1057 = t283 * t283; + const double t1058 = 0.1e1 / t1057; + const double t1059 = t1058 * t285; + const double t1060 = t1059 * t508; + const double t1063 = t292 * t292; + const double t1064 = 0.1e1 / t1063; + const double t1065 = t1064 * t285; + const double t1066 = t1065 * t526; + const double t1069 = 0.52732888888888888888e-1 * t902 * t221 + 0.26366444444444444444e-1 * t936 * t221 - t992 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t995 * t264 - t1025 * t264 / 0.9e1 - 0.94545777777777777778e-1 * t1028 * t387 - 0.47272888888888888889e-1 * t399 * t811 + 0.26366444444444444444e-1 * t1033 * t221 + 0.47272888888888888889e-1 * t1040 * t195 + 0.2e1 * t811 * t288 - 0.2e1 * t812 * t294 + 0.2e1 / 0.3e1 * t25 * t29 * t1047 - 0.4e1 / 0.9e1 * t25 * t306 * t498 + 0.8e1 / 0.27e2 * t25 * t905 * t275 - 0.2e1 * t518 * t1060 + 0.2e1 * t531 * t1066; + const double t1070 = t901 + t1069; + const double t1075 = piecewise_functor_3( t2, 0.0, t6 * t705 * t297 / 0.12e2 - t6 * t302 * t536 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1070 ); + const double t1081 = t865 * t605; + const double t1095 = t549 * t312; + const double t1098 = t52 * t320; + const double t1101 = t556 * t325; + const double t1104 = t560 * t331; + const double t1107 = t65 * t335; + const double t1110 = t567 * t340; + const double t1113 = -t43 * t1095 / 0.9e1 - t51 * t1098 / 0.4e1 - t64 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t77 * t1104 - t89 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t100 * t1110; + const double t1114 = t1113 * t171; + const double t1118 = t40 * t571; + const double t1119 = t1118 * t382; + const double t1122 = t732 * t600; + const double t1125 = t767 * t600; + const double t1128 = t772 * t599; + const double t1129 = t1128 * t381; + const double t1154 = -t112 * t576 * t354 / 0.18e2 - t120 * t1095 / 0.9e1 - t125 * t1098 / 0.4e1 - t130 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t135 * t1104 - t139 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t144 * t1110 - t151 * t592 * t372 / 0.324e3 - t163 * t101 * t377 / 0.256e3; + const double t1155 = t352 * t1154; + const double t1156 = t350 * t1155; + const double t1160 = piecewise_functor_3( t176, -t546 * t732 * t171 / 0.9e1 + t546 * t767 * t171 / 0.24e2 - t546 * t383 / 0.24e2 - t34 * t313 * t572 / 0.9e1 + t34 * t41 * t1114 / 0.24e2 - t349 * t1119 / 0.24e2 + t349 * t1122 / 0.9e1 - t349 * t1125 / 0.24e2 + t349 * t350 * t1129 / 0.12e2 - t349 * t1156 / 0.24e2, 0.0 ); + const double t1161 = t488 * t1160; + const double t1163 = t719 * t648; + const double t1166 = piecewise_functor_3( t236, t1160, 0.0 ); + const double t1167 = t493 * t1166; + const double t1169 = -0.3e1 / 0.4e1 * t1081 * t491 + 0.3e1 / 0.2e1 * t1161 + 0.3e1 / 0.4e1 * t1163 * t495 - 0.3e1 / 0.2e1 * t1167; + const double t1180 = t667 * t387; + const double t1183 = t894 * t605; + const double t1184 = t1183 * t387; + const double t1187 = t115 * t214; + const double t1191 = t1160 * t195; + const double t1195 = t605 * t221; + const double t1196 = t1195 * t387; + const double t1200 = t28 * t258; + const double t1201 = t606 * t391; + const double t1212 = t88 * t65; + const double t1217 = -0.34684037264945845904e-1 * t33 * t402 + 0.2167752329059115369e-2 * t1207 * t325 * t409 * sigma - 0.18064602742159294741e-3 * t1212 * t335 * t948 + 0.42141105276909202774e1 * t1160; + const double t1226 = t387 * t605; + const double t1228 = t194 * t1160; + const double t1240 = t445 * t651; + const double t1243 = t977 * t605; + const double t1248 = t983 * t648; + const double t1253 = -0.3e1 / 0.5e1 * t1243 * t387 + 0.6e1 / 0.5e1 * t449 * t1160 + 0.3e1 / 0.5e1 * t1248 * t452 - 0.6e1 / 0.5e1 * t451 * t1166; + const double t1255 = 0.474596e-1 * t1217 * t194 + 0.474596e-1 * t620 * t387 + 0.474596e-1 * t414 * t605 + 0.474596e-1 * t206 * t1160 + 0.56727466666666666666e-1 * t1226 + 0.56727466666666666666e-1 * t1228 - 0.54519192e1 * t641 * t387 - 0.27259596e1 * t220 * t1160 - 0.35e2 / 0.4e1 * t968 * t1226 - 0.7e1 / 0.2e1 * t971 * t605 - 0.7e1 / 0.2e1 * t446 * t1160 - 0.7e1 / 0.2e1 * t1240 * t387 - t230 * t1253; + const double t1256 = t1255 * t262; + const double t1259 = t653 * t476; + const double t1262 = t457 * t663; + const double t1266 = t25 * t306 * t624; + const double t1268 = t605 * t391; + const double t1270 = t544 * t1200 * t1268; + const double t1272 = t214 * t1160; + const double t1274 = t25 * t29 * t1272; + const double t1277 = t425 * t925 * t605; + const double t1280 = t425 * t928 * t1268; + const double t1283 = t425 * t426 * t1160; + const double t1289 = t248 * t76 * t252; + const double t1290 = t254 * t1015; + const double t1294 = t471 * t1160; + const double t1298 = -0.5e1 / 0.6e1 * t1266 - 0.15e2 / 0.4e1 * t1270 + 0.5e1 / 0.2e1 * t1274 + 0.5e1 * t1277 + 0.25e2 / 0.2e1 * t1280 - 0.5e1 * t1283 - 0.25e2 / 0.18e2 * t249 * t465 * t659 - 0.35e2 / 0.12e2 * t1289 * t1290 * t1268 + 0.5e1 / 0.6e1 * t249 * t255 * t1294; + const double t1299 = t243 * t1298; + const double t1306 = t1217 * t218; + const double t1309 = t620 * t430; + const double t1312 = t414 * t630; + const double t1321 = -t1266 / 0.6e1 - 0.3e1 / 0.4e1 * t1270 + t1274 / 0.2e1 + t1277 / 0.2e1 + 0.5e1 / 0.4e1 * t1280 - t1283 / 0.2e1; + const double t1322 = t206 * t1321; + const double t1325 = 0.2e1 / 0.3e1 * t25 * t29 * t1169 - 0.2e1 / 0.9e1 * t25 * t306 * t673 - 0.2e1 * t685 * t1060 + 0.2e1 * t695 * t1066 + 0.15819866666666666666e0 * t219 * t1180 - 0.4e1 / 0.3e1 * t263 * t1184 - 0.26262716049382716049e-2 * t544 * t1187 * t606 + 0.78788148148148148148e-2 * t544 * t545 * t1191 - 0.78788148148148148148e-2 * t544 * t545 * t1196 - 0.11818222222222222222e-1 * t544 * t1200 * t1201 - t1256 * t264 / 0.9e1 - t1259 * t264 / 0.9e1 - t1262 * t264 / 0.9e1 - t1299 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t1028 * t605 - 0.47272888888888888889e-1 * t399 * t1160 + 0.26366444444444444444e-1 * t1306 * t221 + 0.26366444444444444444e-1 * t1309 * t221 + 0.26366444444444444444e-1 * t1312 * t221 + 0.26366444444444444444e-1 * t1322 * t221; + const double t1326 = t481 * t1160; + const double t1329 = t605 * t517; + const double t1332 = t387 * t684; + const double t1335 = t286 * t491; + const double t1340 = t511 * t515; + const double t1345 = t681 * t515; + const double t1347 = t624 * t391; + const double t1350 = t189 * t1160; + const double t1353 = -0.3e1 / 0.4e1 * t1081 * t1335 + 0.3e1 / 0.2e1 * t1161 * t286 - 0.3e1 / 0.2e1 * t670 * t1340 - t875 * t681 / 0.2e1 + t878 * t1345 + t512 * t1347 / 0.4e1 - t512 * t1350 / 0.2e1; + const double t1354 = t177 * t1353; + const double t1359 = t648 * t530; + const double t1362 = t452 * t694; + const double t1365 = t286 * t495; + const double t1379 = -0.3e1 / 0.4e1 * t1163 * t1365 + 0.3e1 / 0.2e1 * t1167 * t286 - 0.3e1 / 0.2e1 * t671 * t1340 - t822 * t681 / 0.2e1 + t827 * t1345 + t528 * t1347 / 0.4e1 - t528 * t1350 / 0.2e1; + const double t1380 = t238 * t1379; + const double t1396 = t264 * t1160; + const double t1411 = -0.52732888888888888888e-1 * t621 * t434 - 0.52732888888888888888e-1 * t631 * t434 - 0.52732888888888888888e-1 * t415 * t634 - 0.52732888888888888888e-1 * t431 * t634 - 0.52732888888888888888e-1 * t219 * t1396 + t654 * t482 / 0.3e1 + t664 * t482 / 0.3e1 + t458 * t667 / 0.3e1 + t477 * t667 / 0.3e1 + 0.2e1 * t1160 * t288 - 0.2e1 * t1166 * t294; + const double t1413 = t1325 + t263 * t1326 / 0.3e1 + 0.2e1 * t1329 * t520 + 0.2e1 * t1332 * t520 + 0.2e1 * t1354 * t520 + 0.2e1 * t685 * t886 - 0.2e1 * t1359 * t533 - 0.2e1 * t1362 * t533 - 0.2e1 * t1380 * t533 - 0.2e1 * t695 * t844 + 0.94545777777777777778e-1 * t898 * t1226 + t1411; + const double t1418 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t698 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1413 ); + const double t1421 = t519 * t189; + const double t1422 = t1421 * t605; + const double t1424 = t532 * t189; + const double t1425 = t1424 * t605; + const double t1427 = t695 * t1064; + const double t1428 = t285 * t493; + const double t1429 = t1428 * t648; + const double t1432 = t605 * t605; + const double t1433 = t865 * t1432; + const double t1440 = t575 * t55; + const double t1444 = t1443 * t69; + const double t1447 = t52 * t36; + const double t1448 = t1447 * t82; + const double t1451 = sigma * t92; + const double t1454 = t53 * t35; + const double t1455 = t1454 * t105; + const double t1458 = t51 * t1440 / 0.32e2 + t61 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t77 * t1448 + t89 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t100 * t1455; + const double t1459 = t1458 * t171; + const double t1463 = t1118 * t600; + const double t1466 = t599 * t599; + const double t1467 = t772 * t1466; + const double t1468 = t350 * t1467; + const double t1471 = 0.1e1 / t53; + const double t1472 = t1471 * t35; + const double t1486 = t65 * t36; + const double t1493 = -t112 * t1472 * t115 / 0.48e2 + t125 * t1440 / 0.32e2 + t129 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t135 * t1448 + t139 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t144 * t1455 + t151 * t1486 * t156 / 0.1152e4 + 0.7e1 / 0.6144e4 * t163 * t78 * t166; + const double t1494 = t352 * t1493; + const double t1495 = t350 * t1494; + const double t1499 = piecewise_functor_3( t176, t546 * t1118 * t171 / 0.12e2 - t546 * t601 / 0.12e2 + t34 * t41 * t1459 / 0.24e2 - t349 * t1463 / 0.12e2 + t349 * t1468 / 0.12e2 - t349 * t1495 / 0.24e2, 0.0 ); + const double t1500 = t488 * t1499; + const double t1502 = t648 * t648; + const double t1503 = t719 * t1502; + const double t1505 = piecewise_functor_3( t236, t1499, 0.0 ); + const double t1506 = t493 * t1505; + const double t1508 = -0.27e2 / 0.4e1 * t1433 + 0.3e1 / 0.2e1 * t1500 + 0.27e2 / 0.4e1 * t1503 - 0.3e1 / 0.2e1 * t1506; + const double t1512 = t685 * t1058; + const double t1513 = t285 * t488; + const double t1514 = t1513 * t605; + const double t1517 = t1432 * t195; + const double t1521 = t1432 * t221; + const double t1525 = t1499 * t195; + const double t1529 = t481 * t1432; + const double t1532 = t894 * t1432; + const double t1537 = t648 * t694; + const double t1544 = t511 * t189; + const double t1545 = t1544 * t605; + const double t1548 = 0.1e1 / t187; + const double t1549 = t1548 * t1432; + const double t1552 = t214 * t1432; + const double t1555 = t189 * t1499; + const double t1558 = -0.27e2 / 0.4e1 * t1503 * t286 + 0.3e1 / 0.2e1 * t1506 * t286 - 0.3e1 / 0.2e1 * t671 * t1545 + t827 * t1549 / 0.2e1 + t528 * t1552 / 0.4e1 - t528 * t1555 / 0.2e1; + const double t1559 = t238 * t1558; + const double t1566 = t685 * t1422 - t695 * t1425 + 0.3e1 * t1427 * t1429 + 0.2e1 / 0.3e1 * t25 * t29 * t1508 - 0.3e1 * t1512 * t1514 - 0.11818222222222222222e-1 * t544 * t1200 * t1517 - 0.1575762962962962963e-1 * t544 * t545 * t1521 + 0.78788148148148148148e-2 * t544 * t545 * t1525 + 0.15819866666666666666e0 * t219 * t1529 - 0.4e1 / 0.3e1 * t263 * t1532 + 0.94545777777777777778e-1 * t898 * t1432 - 0.4e1 * t1537 * t533 - 0.2e1 * t1559 * t533 - 0.10546577777777777778e0 * t621 * t634 - 0.10546577777777777778e0 * t631 * t634; + const double t1567 = t264 * t1499; + const double t1574 = t481 * t1499; + const double t1577 = t605 * t684; + const double t1584 = t488 * t1432; + const double t1593 = -0.27e2 / 0.4e1 * t1433 * t286 + 0.3e1 / 0.2e1 * t1500 * t286 - 0.3e1 / 0.2e1 * t1584 * t1544 + t878 * t1549 / 0.2e1 + t512 * t1552 / 0.4e1 - t512 * t1555 / 0.2e1; + const double t1594 = t177 * t1593; + const double t1599 = t88 * sigma; + const double t1604 = -0.54193808226477884224e-3 * t405 * t616 + 0.6774226028309735528e-4 * t1599 * t92 * t948 + 0.42141105276909202774e1 * t1499; + const double t1612 = t194 * t1499; + const double t1632 = -0.3e1 / 0.5e1 * t977 * t1432 + 0.6e1 / 0.5e1 * t449 * t1499 + 0.3e1 / 0.5e1 * t983 * t1502 - 0.6e1 / 0.5e1 * t451 * t1505; + const double t1634 = 0.474596e-1 * t1604 * t194 + 0.949192e-1 * t620 * t605 + 0.474596e-1 * t206 * t1499 + 0.56727466666666666666e-1 * t1432 + 0.56727466666666666666e-1 * t1612 - 0.54519192e1 * t194 * t1432 - 0.27259596e1 * t220 * t1499 - 0.35e2 / 0.4e1 * t968 * t1432 - 0.7e1 * t1240 * t605 - 0.7e1 / 0.2e1 * t446 * t1499 - t230 * t1632; + const double t1635 = t1634 * t262; + const double t1638 = t653 * t663; + const double t1641 = t258 * t1432; + const double t1643 = t25 * t29 * t1641; + const double t1645 = t214 * t1499; + const double t1647 = t25 * t29 * t1645; + const double t1650 = t425 * t928 * t1432; + const double t1653 = t425 * t426 * t1499; + const double t1655 = t1015 * t1432; + const double t1659 = t471 * t1499; + const double t1663 = -0.15e2 / 0.4e1 * t1643 + 0.5e1 / 0.2e1 * t1647 + 0.25e2 / 0.2e1 * t1650 - 0.5e1 * t1653 - 0.35e2 / 0.12e2 * t249 * t255 * t1655 + 0.5e1 / 0.6e1 * t249 * t255 * t1659; + const double t1664 = t243 * t1663; + const double t1669 = t1604 * t218; + const double t1672 = t620 * t630; + const double t1679 = -0.3e1 / 0.4e1 * t1643 + t1647 / 0.2e1 + 0.5e1 / 0.4e1 * t1650 - t1653 / 0.2e1; + const double t1680 = t206 * t1679; + const double t1687 = -0.52732888888888888888e-1 * t219 * t1567 + 0.2e1 / 0.3e1 * t654 * t667 + 0.2e1 / 0.3e1 * t664 * t667 + t263 * t1574 / 0.3e1 + 0.4e1 * t1577 * t520 + 0.2e1 * t1594 * t520 - t1635 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t1638 * t264 - t1664 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t399 * t1499 + 0.26366444444444444444e-1 * t1669 * t221 + 0.52732888888888888888e-1 * t1672 * t221 + 0.26366444444444444444e-1 * t1680 * t221 - 0.2e1 * t1505 * t294 + 0.2e1 * t1499 * t288; + const double t1688 = t1566 + t1687; + const double t1692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t1688 ); + + + v2rho2 = 0.2e1 * rho * t1075 + 0.4e1 * t541; + v2rhosigma = 0.2e1 * rho * t1418 + 0.2e1 * t702; + v2sigma2 = 0.2e1 * rho * t1692; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t35 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = t3 * t3; + constexpr double t24 = 0.1e1 / t23; + constexpr double t31 = t23 * t23; + constexpr double t32 = 0.1e1 / t31; + constexpr double t33 = t30 * t32; + constexpr double t36 = t35 * t35; + constexpr double t43 = a_0 * t30; + constexpr double t44 = t43 * t32; + constexpr double t50 = 0.1e1 / t22; + constexpr double t51 = a_1 * t50; + constexpr double t60 = t30 * t30; + constexpr double t61 = a_2 * t60; + constexpr double t63 = 0.1e1 / t23 / t22; + constexpr double t64 = t61 * t63; + constexpr double t76 = 0.1e1 / t31 / t22; + constexpr double t77 = a_3 * t30 * t76; + constexpr double t87 = t22 * t22; + constexpr double t88 = 0.1e1 / t87; + constexpr double t89 = a_4 * t88; + constexpr double t99 = 0.1e1 / t23 / t87; + constexpr double t100 = a_5 * t60 * t99; + constexpr double t112 = b_0 * t60 * t24; + constexpr double t120 = b_1 * t30; + constexpr double t121 = t120 * t32; + constexpr double t125 = b_2 * t50; + constexpr double t129 = b_3 * t60; + constexpr double t130 = t129 * t63; + constexpr double t135 = b_4 * t30 * t76; + constexpr double t139 = b_5 * t88; + constexpr double t144 = b_6 * t60 * t99; + constexpr double t148 = b_7 * t30; + constexpr double t150 = 0.1e1 / t31 / t87; + constexpr double t151 = t148 * t150; + constexpr double t163 = b_8 / t87 / t22; + constexpr double t405 = t60 * t63; + constexpr double t546 = t33 * t36; + constexpr double t549 = t32 * t36; + constexpr double t1207 = t405 * t35; + constexpr double t1443 = t63 * t35; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t12 = t11 <= zeta_tol; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t12, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t21 = omega * t20; + const double t25 = t21 * t24; + const double t26 = piecewise_functor_3( t12, t13, t15 ); + const double t27 = 0.1e1 / t26; + const double t28 = 0.1e1 / t18; + const double t29 = t27 * t28; + const double t34 = t33 * sigma; + const double t37 = rho * rho; + const double t38 = t18 * t18; + const double t40 = 0.1e1 / t38 / t37; + const double t41 = t36 * t40; + const double t45 = sigma * t36; + const double t46 = t45 * t40; + const double t52 = safe_math::sqrt( sigma ); + const double t53 = t52 * sigma; + const double t54 = t37 * t37; + const double t55 = 0.1e1 / t54; + const double t56 = t53 * t55; + const double t65 = sigma * sigma; + const double t66 = t65 * t35; + const double t67 = t54 * rho; + const double t69 = 0.1e1 / t18 / t67; + const double t70 = t66 * t69; + const double t78 = t52 * t65; + const double t79 = t78 * t36; + const double t80 = t54 * t37; + const double t82 = 0.1e1 / t38 / t80; + const double t83 = t79 * t82; + const double t90 = t65 * sigma; + const double t91 = t54 * t54; + const double t92 = 0.1e1 / t91; + const double t93 = t90 * t92; + const double t101 = t52 * t90; + const double t102 = t101 * t35; + const double t103 = t91 * rho; + const double t105 = 0.1e1 / t18 / t103; + const double t106 = t102 * t105; + const double t109 = t44 * t46 / 0.24e2 + t51 * t56 / 0.24e2 + t64 * t70 / 0.288e3 + t77 * t83 / 0.576e3 + t89 * t93 / 0.576e3 + t100 * t106 / 0.6912e4; + const double t113 = t52 * t35; + const double t115 = 0.1e1 / t18 / rho; + const double t152 = t65 * t65; + const double t153 = t152 * t36; + const double t154 = t91 * t37; + const double t156 = 0.1e1 / t38 / t154; + const double t164 = t52 * t152; + const double t165 = t91 * t54; + const double t166 = 0.1e1 / t165; + const double t170 = 0.1e1 + t112 * t113 * t115 / 0.12e2 + t121 * t46 / 0.24e2 + t125 * t56 / 0.24e2 + t130 * t70 / 0.288e3 + t135 * t83 / 0.576e3 + t139 * t93 / 0.576e3 + t144 * t106 / 0.6912e4 + t151 * t153 * t156 / 0.13824e5 + t163 * t164 * t166 / 0.13824e5; + const double t171 = 0.1e1 / t170; + const double t172 = t109 * t171; + const double t175 = t34 * t41 * t172 / 0.24e2; + const double t176 = 0.1e-9 < t175; + const double t177 = piecewise_functor_3( t176, t175, 1e-10 ); + const double t178 = omega * omega; + const double t179 = t178 * t3; + const double t180 = t26 * t26; + const double t182 = t32 / t180; + const double t183 = 0.1e1 / t38; + const double t185 = t179 * t182 * t183; + const double t187 = 0.60965e0 + t177 + t185 / 0.3e1; + const double t188 = safe_math::sqrt( t187 ); + const double t189 = 0.1e1 / t188; + const double t191 = t25 * t29 * t189; + const double t193 = 0.1e1 - t191 / 0.3e1; + const double t194 = 0.60965e0 + t177; + const double t195 = 0.1e1 / t194; + const double t198 = t33 * t46; + const double t200 = 0.1e1 + t198 / 0.96e2; + const double t201 = 0.1e1 / t200; + const double t202 = t41 * t201; + const double t206 = 0.1e1 + 0.13006513974354692214e-1 * t34 * t202 + 0.42141105276909202774e1 * t177; + const double t208 = t178 * omega * t50; + const double t210 = 0.1e1 / t180 / t26; + const double t211 = 0.1e1 / rho; + const double t212 = t210 * t211; + const double t214 = 0.1e1 / t188 / t187; + const double t216 = t208 * t212 * t214; + const double t218 = 0.2e1 - t191 + t216 / 0.3e1; + const double t219 = t206 * t218; + const double t220 = t194 * t194; + const double t221 = 0.1e1 / t220; + const double t227 = t220 * t194; + const double t229 = safe_math::sqrt( t194 ); + const double t230 = t229 * t227; + const double t231 = safe_math::sqrt( M_PI ); + const double t233 = safe_math::sqrt( t177 ); + const double t236 = 0.e0 < 0.7572109999e0 + t177; + const double t238 = piecewise_functor_3( t236, 0.757211e0 + t177, 1e-10 ); + const double t239 = safe_math::sqrt( t238 ); + const double t241 = 0.4e1 / 0.5e1 * t231 + 0.12e2 / 0.5e1 * t233 - 0.12e2 / 0.5e1 * t239; + const double t243 = 0.474596e-1 * t206 * t194 + 0.28363733333333333333e-1 * t220 - 0.9086532e0 * t227 - t230 * t241; + const double t246 = t178 * t178; + const double t248 = t246 * omega * t3; + const double t249 = t248 * t76; + const double t250 = t180 * t180; + const double t252 = 0.1e1 / t250 / t26; + const double t254 = 0.1e1 / t38 / rho; + const double t255 = t252 * t254; + const double t256 = t187 * t187; + const double t258 = 0.1e1 / t188 / t256; + const double t262 = 0.8e1 - 0.5e1 * t191 + 0.1e2 / 0.3e1 * t216 - t249 * t255 * t258 / 0.3e1; + const double t263 = t243 * t262; + const double t264 = 0.1e1 / t227; + const double t268 = 0.3e1 * t185; + const double t269 = 0.9e1 * t177 + t268; + const double t270 = safe_math::sqrt( t269 ); + const double t272 = 0.9e1 * t238 + t268; + const double t273 = safe_math::sqrt( t272 ); + const double t275 = t270 / 0.3e1 - t273 / 0.3e1; + const double t279 = t24 * t27; + const double t281 = t21 * t279 * t28; + const double t283 = t281 / 0.3e1 + t270 / 0.3e1; + const double t285 = t281 / 0.3e1 + t188; + const double t286 = 0.1e1 / t285; + const double t288 = safe_math::log( t283 * t286 ); + const double t292 = t281 / 0.3e1 + t273 / 0.3e1; + const double t294 = safe_math::log( t292 * t286 ); + const double t297 = 0.757211e0 + 0.47272888888888888889e-1 * t193 * t195 + 0.26366444444444444444e-1 * t219 * t221 - t263 * t264 / 0.9e1 + 0.2e1 / 0.3e1 * t25 * t29 * t275 + 0.2e1 * t177 * t288 - 0.2e1 * t238 * t294; + const double t301 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t297 ); + const double t302 = t17 * t183; + const double t306 = t27 * t115; + const double t308 = t25 * t306 * t189; + const double t310 = t37 * rho; + const double t312 = 0.1e1 / t38 / t310; + const double t313 = t36 * t312; + const double t317 = t45 * t312; + const double t320 = 0.1e1 / t67; + const double t321 = t53 * t320; + const double t325 = 0.1e1 / t18 / t80; + const double t326 = t66 * t325; + const double t329 = t54 * t310; + const double t331 = 0.1e1 / t38 / t329; + const double t332 = t79 * t331; + const double t335 = 0.1e1 / t103; + const double t336 = t90 * t335; + const double t340 = 0.1e1 / t18 / t154; + const double t341 = t102 * t340; + const double t344 = -t44 * t317 / 0.9e1 - t51 * t321 / 0.6e1 - t64 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t77 * t332 - t89 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t100 * t341; + const double t345 = t344 * t171; + const double t349 = t33 * t45; + const double t350 = t40 * t109; + const double t351 = t170 * t170; + const double t352 = 0.1e1 / t351; + const double t354 = 0.1e1 / t18 / t37; + const double t370 = t91 * t310; + const double t372 = 0.1e1 / t38 / t370; + const double t376 = t91 * t67; + const double t377 = 0.1e1 / t376; + const double t381 = -t112 * t113 * t354 / 0.9e1 - t121 * t317 / 0.9e1 - t125 * t321 / 0.6e1 - t130 * t326 / 0.54e2 - 0.5e1 / 0.432e3 * t135 * t332 - t139 * t336 / 0.72e2 - 0.7e1 / 0.5184e4 * t144 * t341 - t151 * t153 * t372 / 0.1296e4 - t163 * t164 * t377 / 0.1152e4; + const double t382 = t352 * t381; + const double t383 = t350 * t382; + const double t387 = piecewise_functor_3( t176, -t34 * t313 * t172 / 0.9e1 + t34 * t41 * t345 / 0.24e2 - t349 * t383 / 0.24e2, 0.0 ); + const double t389 = t179 * t182 * t254; + const double t391 = t387 - 0.2e1 / 0.9e1 * t389; + const double t392 = t214 * t391; + const double t394 = t25 * t29 * t392; + const double t396 = t308 / 0.9e1 + t394 / 0.6e1; + const double t399 = t193 * t221; + const double t402 = t313 * t201; + const double t406 = t405 * t65; + const double t408 = t200 * t200; + const double t409 = 0.1e1 / t408; + const double t410 = t35 * t325 * t409; + const double t414 = -0.34684037264945845904e-1 * t34 * t402 + 0.72258410968637178967e-3 * t406 * t410 + 0.42141105276909202774e1 * t387; + const double t415 = t414 * t218; + const double t420 = 0.1e1 / t37; + const double t423 = t208 * t210 * t420 * t214; + const double t425 = t208 * t210; + const double t426 = t211 * t258; + const double t428 = t425 * t426 * t391; + const double t430 = t308 / 0.3e1 + t394 / 0.2e1 - t423 / 0.3e1 - t428 / 0.2e1; + const double t431 = t206 * t430; + const double t434 = t264 * t387; + const double t441 = t194 * t387; + const double t445 = t229 * t220; + const double t446 = t445 * t241; + const double t449 = 0.1e1 / t233; + const double t451 = 0.1e1 / t239; + const double t452 = piecewise_functor_3( t236, t387, 0.0 ); + const double t455 = 0.6e1 / 0.5e1 * t449 * t387 - 0.6e1 / 0.5e1 * t451 * t452; + const double t457 = 0.474596e-1 * t414 * t194 + 0.474596e-1 * t206 * t387 + 0.56727466666666666666e-1 * t441 - 0.27259596e1 * t220 * t387 - 0.7e1 / 0.2e1 * t446 * t387 - t230 * t455; + const double t458 = t457 * t262; + const double t465 = t252 * t40; + const double t469 = t256 * t187; + const double t471 = 0.1e1 / t188 / t469; + const double t472 = t471 * t391; + const double t476 = 0.5e1 / 0.3e1 * t308 + 0.5e1 / 0.2e1 * t394 - 0.1e2 / 0.3e1 * t423 - 0.5e1 * t428 + 0.5e1 / 0.9e1 * t249 * t465 * t258 + 0.5e1 / 0.6e1 * t249 * t255 * t472; + const double t477 = t243 * t476; + const double t480 = t220 * t220; + const double t481 = 0.1e1 / t480; + const double t482 = t481 * t387; + const double t488 = 0.1e1 / t270; + const double t490 = 0.2e1 * t389; + const double t491 = 0.9e1 * t387 - t490; + const double t492 = t488 * t491; + const double t493 = 0.1e1 / t273; + const double t495 = 0.9e1 * t452 - t490; + const double t496 = t493 * t495; + const double t498 = t492 / 0.6e1 - t496 / 0.6e1; + const double t505 = t21 * t279 * t115; + const double t506 = t505 / 0.9e1; + const double t508 = -t506 + t492 / 0.6e1; + const double t510 = t285 * t285; + const double t511 = 0.1e1 / t510; + const double t512 = t283 * t511; + const double t515 = -t506 + t189 * t391 / 0.2e1; + const double t517 = t508 * t286 - t512 * t515; + const double t518 = t177 * t517; + const double t519 = 0.1e1 / t283; + const double t520 = t519 * t285; + const double t526 = -t506 + t496 / 0.6e1; + const double t528 = t292 * t511; + const double t530 = t526 * t286 - t528 * t515; + const double t531 = t238 * t530; + const double t532 = 0.1e1 / t292; + const double t533 = t532 * t285; + const double t536 = 0.47272888888888888889e-1 * t396 * t195 - 0.47272888888888888889e-1 * t399 * t387 + 0.26366444444444444444e-1 * t415 * t221 + 0.26366444444444444444e-1 * t431 * t221 - 0.52732888888888888888e-1 * t219 * t434 - t458 * t264 / 0.9e1 - t477 * t264 / 0.9e1 + t263 * t482 / 0.3e1 - 0.2e1 / 0.9e1 * t25 * t306 * t275 + 0.2e1 / 0.3e1 * t25 * t29 * t498 + 0.2e1 * t387 * t288 + 0.2e1 * t518 * t520 - 0.2e1 * t452 * t294 - 0.2e1 * t531 * t533; + const double t541 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t297 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t536 ); + const double t544 = t21 * t279; + const double t545 = t28 * t214; + const double t550 = t549 * t40; + const double t553 = t52 * t55; + const double t556 = sigma * t35; + const double t557 = t556 * t69; + const double t560 = t53 * t36; + const double t561 = t560 * t82; + const double t564 = t65 * t92; + const double t567 = t78 * t35; + const double t568 = t567 * t105; + const double t571 = t43 * t550 / 0.24e2 + t51 * t553 / 0.16e2 + t64 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t77 * t561 + t89 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t100 * t568; + const double t572 = t571 * t171; + const double t575 = 0.1e1 / t52; + const double t576 = t575 * t35; + const double t592 = t90 * t36; + const double t599 = t112 * t576 * t115 / 0.24e2 + t120 * t550 / 0.24e2 + t125 * t553 / 0.16e2 + t130 * t557 / 0.144e3 + 0.5e1 / 0.1152e4 * t135 * t561 + t139 * t564 / 0.192e3 + 0.7e1 / 0.13824e5 * t144 * t568 + t151 * t592 * t156 / 0.3456e4 + t163 * t101 * t166 / 0.3072e4; + const double t600 = t352 * t599; + const double t601 = t350 * t600; + const double t605 = piecewise_functor_3( t176, t546 * t350 * t171 / 0.24e2 + t34 * t41 * t572 / 0.24e2 - t349 * t601 / 0.24e2, 0.0 ); + const double t606 = t605 * t195; + const double t616 = t35 * t69 * t409; + const double t620 = 0.13006513974354692214e-1 * t33 * t202 - 0.27096904113238942112e-3 * t405 * sigma * t616 + 0.42141105276909202774e1 * t605; + const double t621 = t620 * t218; + const double t624 = t214 * t605; + const double t626 = t25 * t29 * t624; + const double t628 = t425 * t426 * t605; + const double t630 = t626 / 0.2e1 - t628 / 0.2e1; + const double t631 = t206 * t630; + const double t634 = t264 * t605; + const double t641 = t194 * t605; + const double t648 = piecewise_functor_3( t236, t605, 0.0 ); + const double t651 = 0.6e1 / 0.5e1 * t449 * t605 - 0.6e1 / 0.5e1 * t451 * t648; + const double t653 = 0.474596e-1 * t620 * t194 + 0.474596e-1 * t206 * t605 + 0.56727466666666666666e-1 * t641 - 0.27259596e1 * t220 * t605 - 0.7e1 / 0.2e1 * t446 * t605 - t230 * t651; + const double t654 = t653 * t262; + const double t659 = t471 * t605; + const double t663 = 0.5e1 / 0.2e1 * t626 - 0.5e1 * t628 + 0.5e1 / 0.6e1 * t249 * t255 * t659; + const double t664 = t243 * t663; + const double t667 = t481 * t605; + const double t670 = t488 * t605; + const double t671 = t493 * t648; + const double t673 = 0.3e1 / 0.2e1 * t670 - 0.3e1 / 0.2e1 * t671; + const double t681 = t189 * t605; + const double t684 = 0.3e1 / 0.2e1 * t670 * t286 - t512 * t681 / 0.2e1; + const double t685 = t177 * t684; + const double t694 = 0.3e1 / 0.2e1 * t671 * t286 - t528 * t681 / 0.2e1; + const double t695 = t238 * t694; + const double t698 = 0.78788148148148148148e-2 * t544 * t545 * t606 - 0.47272888888888888889e-1 * t399 * t605 + 0.26366444444444444444e-1 * t621 * t221 + 0.26366444444444444444e-1 * t631 * t221 - 0.52732888888888888888e-1 * t219 * t634 - t654 * t264 / 0.9e1 - t664 * t264 / 0.9e1 + t263 * t667 / 0.3e1 + 0.2e1 / 0.3e1 * t25 * t29 * t673 + 0.2e1 * t605 * t288 + 0.2e1 * t685 * t520 - 0.2e1 * t648 * t294 - 0.2e1 * t695 * t533; + const double t702 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t698 ); + const double t705 = t17 * t254; + const double t712 = t452 * t530; + const double t717 = 0.4e1 / 0.27e2 * t21 * t279 * t354; + const double t719 = 0.1e1 / t273 / t272; + const double t720 = t495 * t495; + const double t722 = t719 * t720 / 0.12e2; + const double t724 = 0.1e1 / t38 / t54; + const double t725 = t36 * t724; + const double t732 = t312 * t109; + const double t733 = t732 * t382; + const double t736 = t45 * t724; + const double t739 = 0.1e1 / t80; + const double t740 = t53 * t739; + const double t744 = 0.1e1 / t18 / t329; + const double t745 = t66 * t744; + const double t749 = 0.1e1 / t38 / t91; + const double t750 = t79 * t749; + const double t753 = 0.1e1 / t154; + const double t754 = t90 * t753; + const double t758 = 0.1e1 / t18 / t370; + const double t759 = t102 * t758; + const double t762 = 0.11e2 / 0.27e2 * t44 * t736 + 0.5e1 / 0.6e1 * t51 * t740 + 0.19e2 / 0.162e3 * t64 * t745 + 0.115e3 / 0.1296e4 * t77 * t750 + t89 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t100 * t759; + const double t763 = t762 * t171; + const double t767 = t40 * t344; + const double t768 = t767 * t382; + const double t772 = 0.1e1 / t351 / t170; + const double t773 = t381 * t381; + const double t774 = t772 * t773; + const double t775 = t350 * t774; + const double t779 = 0.1e1 / t18 / t310; + const double t796 = 0.1e1 / t38 / t165; + const double t800 = t91 * t80; + const double t801 = 0.1e1 / t800; + const double t805 = 0.7e1 / 0.27e2 * t112 * t113 * t779 + 0.11e2 / 0.27e2 * t121 * t736 + 0.5e1 / 0.6e1 * t125 * t740 + 0.19e2 / 0.162e3 * t130 * t745 + 0.115e3 / 0.1296e4 * t135 * t750 + t139 * t754 / 0.8e1 + 0.217e3 / 0.15552e5 * t144 * t759 + 0.35e2 / 0.3888e4 * t151 * t153 * t796 + 0.13e2 / 0.1152e4 * t163 * t164 * t801; + const double t806 = t352 * t805; + const double t807 = t350 * t806; + const double t811 = piecewise_functor_3( t176, 0.11e2 / 0.27e2 * t34 * t725 * t172 - 0.2e1 / 0.9e1 * t34 * t313 * t345 + 0.2e1 / 0.9e1 * t349 * t733 + t34 * t41 * t763 / 0.24e2 - t349 * t768 / 0.12e2 + t349 * t775 / 0.12e2 - t349 * t807 / 0.24e2, 0.0 ); + const double t812 = piecewise_functor_3( t236, t811, 0.0 ); + const double t815 = t179 * t182 * t40; + const double t816 = 0.1e2 / 0.3e1 * t815; + const double t817 = 0.9e1 * t812 + t816; + const double t819 = t493 * t817 / 0.6e1; + const double t820 = t717 - t722 + t819; + const double t822 = t526 * t511; + const double t826 = 0.1e1 / t510 / t285; + const double t827 = t292 * t826; + const double t828 = t515 * t515; + const double t831 = t391 * t391; + const double t835 = t811 + 0.1e2 / 0.27e2 * t815; + const double t838 = t717 - t214 * t831 / 0.4e1 + t189 * t835 / 0.2e1; + const double t840 = t820 * t286 - 0.2e1 * t822 * t515 - t528 * t838 + 0.2e1 * t827 * t828; + const double t841 = t238 * t840; + const double t844 = t532 * t515; + const double t851 = t264 * t811; + const double t858 = t481 * t811; + const double t861 = t387 * t517; + const double t865 = 0.1e1 / t270 / t269; + const double t866 = t491 * t491; + const double t868 = t865 * t866 / 0.12e2; + const double t870 = 0.9e1 * t811 + t816; + const double t872 = t488 * t870 / 0.6e1; + const double t873 = t717 - t868 + t872; + const double t875 = t508 * t511; + const double t878 = t283 * t826; + const double t882 = t873 * t286 - t512 * t838 - 0.2e1 * t875 * t515 + 0.2e1 * t878 * t828; + const double t883 = t177 * t882; + const double t886 = t519 * t515; + const double t889 = t387 * t387; + const double t890 = t481 * t889; + const double t894 = 0.1e1 / t480 / t194; + const double t895 = t894 * t889; + const double t898 = t193 * t264; + const double t901 = -0.4e1 * t712 * t533 - 0.2e1 * t841 * t533 - 0.2e1 * t531 * t844 - 0.10546577777777777778e0 * t415 * t434 - 0.10546577777777777778e0 * t431 * t434 - 0.52732888888888888888e-1 * t219 * t851 + 0.2e1 / 0.3e1 * t458 * t482 + 0.2e1 / 0.3e1 * t477 * t482 + t263 * t858 / 0.3e1 + 0.4e1 * t861 * t520 + 0.2e1 * t883 * t520 + 0.2e1 * t518 * t886 + 0.15819866666666666666e0 * t219 * t890 - 0.4e1 / 0.3e1 * t263 * t895 + 0.94545777777777777778e-1 * t898 * t889; + const double t902 = t414 * t430; + const double t905 = t27 * t354; + const double t907 = t25 * t905 * t189; + const double t910 = t25 * t306 * t392; + const double t912 = t258 * t831; + const double t914 = t25 * t29 * t912; + const double t916 = t214 * t835; + const double t918 = t25 * t29 * t916; + const double t920 = 0.1e1 / t310; + const double t923 = t208 * t210 * t920 * t214; + const double t925 = t420 * t258; + const double t927 = t425 * t925 * t391; + const double t928 = t211 * t471; + const double t930 = t425 * t928 * t831; + const double t933 = t425 * t426 * t835; + const double t935 = -0.4e1 / 0.9e1 * t907 - t910 / 0.3e1 - 0.3e1 / 0.4e1 * t914 + t918 / 0.2e1 + 0.2e1 / 0.3e1 * t923 + t927 + 0.5e1 / 0.4e1 * t930 - t933 / 0.2e1; + const double t936 = t206 * t935; + const double t939 = t725 * t201; + const double t943 = t35 * t744 * t409; + const double t946 = t88 * t90; + const double t948 = 0.1e1 / t408 / t200; + const double t953 = 0.12717480330480143498e0 * t34 * t939 - 0.6503256987177346107e-2 * t406 * t943 + 0.48172273979091452645e-3 * t946 * t753 * t948 + 0.42141105276909202774e1 * t811; + const double t967 = t229 * t194; + const double t968 = t967 * t241; + const double t971 = t445 * t455; + const double t977 = 0.1e1 / t233 / t177; + const double t983 = 0.1e1 / t239 / t238; + const double t984 = t452 * t452; + const double t989 = -0.3e1 / 0.5e1 * t977 * t889 + 0.6e1 / 0.5e1 * t449 * t811 + 0.3e1 / 0.5e1 * t983 * t984 - 0.6e1 / 0.5e1 * t451 * t812; + const double t991 = 0.474596e-1 * t953 * t194 + 0.949192e-1 * t414 * t387 + 0.474596e-1 * t206 * t811 + 0.56727466666666666666e-1 * t889 + 0.56727466666666666666e-1 * t194 * t811 - 0.54519192e1 * t194 * t889 - 0.27259596e1 * t220 * t811 - 0.35e2 / 0.4e1 * t968 * t889 - 0.7e1 * t971 * t387 - 0.7e1 / 0.2e1 * t446 * t811 - t230 * t989; + const double t992 = t991 * t262; + const double t995 = t457 * t476; + const double t1006 = t252 * t312; + const double t1013 = t256 * t256; + const double t1015 = 0.1e1 / t188 / t1013; + const double t1016 = t1015 * t831; + const double t1020 = t471 * t835; + const double t1024 = -0.2e2 / 0.9e1 * t907 - 0.5e1 / 0.3e1 * t910 - 0.15e2 / 0.4e1 * t914 + 0.5e1 / 0.2e1 * t918 + 0.2e2 / 0.3e1 * t923 + 0.1e2 * t927 + 0.25e2 / 0.2e1 * t930 - 0.5e1 * t933 - 0.4e2 / 0.27e2 * t249 * t1006 * t258 - 0.25e2 / 0.9e1 * t249 * t465 * t472 - 0.35e2 / 0.12e2 * t249 * t255 * t1016 + 0.5e1 / 0.6e1 * t249 * t255 * t1020; + const double t1025 = t243 * t1024; + const double t1028 = t396 * t221; + const double t1033 = t953 * t218; + const double t1040 = -0.4e1 / 0.27e2 * t907 - t910 / 0.9e1 - t914 / 0.4e1 + t918 / 0.6e1; + const double t1047 = -t868 + t872 + t722 - t819; + const double t1057 = t283 * t283; + const double t1058 = 0.1e1 / t1057; + const double t1059 = t1058 * t285; + const double t1060 = t1059 * t508; + const double t1063 = t292 * t292; + const double t1064 = 0.1e1 / t1063; + const double t1065 = t1064 * t285; + const double t1066 = t1065 * t526; + const double t1069 = 0.52732888888888888888e-1 * t902 * t221 + 0.26366444444444444444e-1 * t936 * t221 - t992 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t995 * t264 - t1025 * t264 / 0.9e1 - 0.94545777777777777778e-1 * t1028 * t387 - 0.47272888888888888889e-1 * t399 * t811 + 0.26366444444444444444e-1 * t1033 * t221 + 0.47272888888888888889e-1 * t1040 * t195 + 0.2e1 * t811 * t288 - 0.2e1 * t812 * t294 + 0.2e1 / 0.3e1 * t25 * t29 * t1047 - 0.4e1 / 0.9e1 * t25 * t306 * t498 + 0.8e1 / 0.27e2 * t25 * t905 * t275 - 0.2e1 * t518 * t1060 + 0.2e1 * t531 * t1066; + const double t1070 = t901 + t1069; + const double t1075 = piecewise_functor_3( t2, 0.0, t6 * t705 * t297 / 0.12e2 - t6 * t302 * t536 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1070 ); + const double t1081 = t865 * t605; + const double t1095 = t549 * t312; + const double t1098 = t52 * t320; + const double t1101 = t556 * t325; + const double t1104 = t560 * t331; + const double t1107 = t65 * t335; + const double t1110 = t567 * t340; + const double t1113 = -t43 * t1095 / 0.9e1 - t51 * t1098 / 0.4e1 - t64 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t77 * t1104 - t89 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t100 * t1110; + const double t1114 = t1113 * t171; + const double t1118 = t40 * t571; + const double t1119 = t1118 * t382; + const double t1122 = t732 * t600; + const double t1125 = t767 * t600; + const double t1128 = t772 * t599; + const double t1129 = t1128 * t381; + const double t1154 = -t112 * t576 * t354 / 0.18e2 - t120 * t1095 / 0.9e1 - t125 * t1098 / 0.4e1 - t130 * t1101 / 0.27e2 - 0.25e2 / 0.864e3 * t135 * t1104 - t139 * t1107 / 0.24e2 - 0.49e2 / 0.10368e5 * t144 * t1110 - t151 * t592 * t372 / 0.324e3 - t163 * t101 * t377 / 0.256e3; + const double t1155 = t352 * t1154; + const double t1156 = t350 * t1155; + const double t1160 = piecewise_functor_3( t176, -t546 * t732 * t171 / 0.9e1 + t546 * t767 * t171 / 0.24e2 - t546 * t383 / 0.24e2 - t34 * t313 * t572 / 0.9e1 + t34 * t41 * t1114 / 0.24e2 - t349 * t1119 / 0.24e2 + t349 * t1122 / 0.9e1 - t349 * t1125 / 0.24e2 + t349 * t350 * t1129 / 0.12e2 - t349 * t1156 / 0.24e2, 0.0 ); + const double t1161 = t488 * t1160; + const double t1163 = t719 * t648; + const double t1166 = piecewise_functor_3( t236, t1160, 0.0 ); + const double t1167 = t493 * t1166; + const double t1169 = -0.3e1 / 0.4e1 * t1081 * t491 + 0.3e1 / 0.2e1 * t1161 + 0.3e1 / 0.4e1 * t1163 * t495 - 0.3e1 / 0.2e1 * t1167; + const double t1180 = t667 * t387; + const double t1183 = t894 * t605; + const double t1184 = t1183 * t387; + const double t1187 = t115 * t214; + const double t1191 = t1160 * t195; + const double t1195 = t605 * t221; + const double t1196 = t1195 * t387; + const double t1200 = t28 * t258; + const double t1201 = t606 * t391; + const double t1212 = t88 * t65; + const double t1217 = -0.34684037264945845904e-1 * t33 * t402 + 0.2167752329059115369e-2 * t1207 * t325 * t409 * sigma - 0.18064602742159294741e-3 * t1212 * t335 * t948 + 0.42141105276909202774e1 * t1160; + const double t1226 = t387 * t605; + const double t1228 = t194 * t1160; + const double t1240 = t445 * t651; + const double t1243 = t977 * t605; + const double t1248 = t983 * t648; + const double t1253 = -0.3e1 / 0.5e1 * t1243 * t387 + 0.6e1 / 0.5e1 * t449 * t1160 + 0.3e1 / 0.5e1 * t1248 * t452 - 0.6e1 / 0.5e1 * t451 * t1166; + const double t1255 = 0.474596e-1 * t1217 * t194 + 0.474596e-1 * t620 * t387 + 0.474596e-1 * t414 * t605 + 0.474596e-1 * t206 * t1160 + 0.56727466666666666666e-1 * t1226 + 0.56727466666666666666e-1 * t1228 - 0.54519192e1 * t641 * t387 - 0.27259596e1 * t220 * t1160 - 0.35e2 / 0.4e1 * t968 * t1226 - 0.7e1 / 0.2e1 * t971 * t605 - 0.7e1 / 0.2e1 * t446 * t1160 - 0.7e1 / 0.2e1 * t1240 * t387 - t230 * t1253; + const double t1256 = t1255 * t262; + const double t1259 = t653 * t476; + const double t1262 = t457 * t663; + const double t1266 = t25 * t306 * t624; + const double t1268 = t605 * t391; + const double t1270 = t544 * t1200 * t1268; + const double t1272 = t214 * t1160; + const double t1274 = t25 * t29 * t1272; + const double t1277 = t425 * t925 * t605; + const double t1280 = t425 * t928 * t1268; + const double t1283 = t425 * t426 * t1160; + const double t1289 = t248 * t76 * t252; + const double t1290 = t254 * t1015; + const double t1294 = t471 * t1160; + const double t1298 = -0.5e1 / 0.6e1 * t1266 - 0.15e2 / 0.4e1 * t1270 + 0.5e1 / 0.2e1 * t1274 + 0.5e1 * t1277 + 0.25e2 / 0.2e1 * t1280 - 0.5e1 * t1283 - 0.25e2 / 0.18e2 * t249 * t465 * t659 - 0.35e2 / 0.12e2 * t1289 * t1290 * t1268 + 0.5e1 / 0.6e1 * t249 * t255 * t1294; + const double t1299 = t243 * t1298; + const double t1306 = t1217 * t218; + const double t1309 = t620 * t430; + const double t1312 = t414 * t630; + const double t1321 = -t1266 / 0.6e1 - 0.3e1 / 0.4e1 * t1270 + t1274 / 0.2e1 + t1277 / 0.2e1 + 0.5e1 / 0.4e1 * t1280 - t1283 / 0.2e1; + const double t1322 = t206 * t1321; + const double t1325 = 0.2e1 / 0.3e1 * t25 * t29 * t1169 - 0.2e1 / 0.9e1 * t25 * t306 * t673 - 0.2e1 * t685 * t1060 + 0.2e1 * t695 * t1066 + 0.15819866666666666666e0 * t219 * t1180 - 0.4e1 / 0.3e1 * t263 * t1184 - 0.26262716049382716049e-2 * t544 * t1187 * t606 + 0.78788148148148148148e-2 * t544 * t545 * t1191 - 0.78788148148148148148e-2 * t544 * t545 * t1196 - 0.11818222222222222222e-1 * t544 * t1200 * t1201 - t1256 * t264 / 0.9e1 - t1259 * t264 / 0.9e1 - t1262 * t264 / 0.9e1 - t1299 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t1028 * t605 - 0.47272888888888888889e-1 * t399 * t1160 + 0.26366444444444444444e-1 * t1306 * t221 + 0.26366444444444444444e-1 * t1309 * t221 + 0.26366444444444444444e-1 * t1312 * t221 + 0.26366444444444444444e-1 * t1322 * t221; + const double t1326 = t481 * t1160; + const double t1329 = t605 * t517; + const double t1332 = t387 * t684; + const double t1335 = t286 * t491; + const double t1340 = t511 * t515; + const double t1345 = t681 * t515; + const double t1347 = t624 * t391; + const double t1350 = t189 * t1160; + const double t1353 = -0.3e1 / 0.4e1 * t1081 * t1335 + 0.3e1 / 0.2e1 * t1161 * t286 - 0.3e1 / 0.2e1 * t670 * t1340 - t875 * t681 / 0.2e1 + t878 * t1345 + t512 * t1347 / 0.4e1 - t512 * t1350 / 0.2e1; + const double t1354 = t177 * t1353; + const double t1359 = t648 * t530; + const double t1362 = t452 * t694; + const double t1365 = t286 * t495; + const double t1379 = -0.3e1 / 0.4e1 * t1163 * t1365 + 0.3e1 / 0.2e1 * t1167 * t286 - 0.3e1 / 0.2e1 * t671 * t1340 - t822 * t681 / 0.2e1 + t827 * t1345 + t528 * t1347 / 0.4e1 - t528 * t1350 / 0.2e1; + const double t1380 = t238 * t1379; + const double t1396 = t264 * t1160; + const double t1411 = -0.52732888888888888888e-1 * t621 * t434 - 0.52732888888888888888e-1 * t631 * t434 - 0.52732888888888888888e-1 * t415 * t634 - 0.52732888888888888888e-1 * t431 * t634 - 0.52732888888888888888e-1 * t219 * t1396 + t654 * t482 / 0.3e1 + t664 * t482 / 0.3e1 + t458 * t667 / 0.3e1 + t477 * t667 / 0.3e1 + 0.2e1 * t1160 * t288 - 0.2e1 * t1166 * t294; + const double t1413 = t1325 + t263 * t1326 / 0.3e1 + 0.2e1 * t1329 * t520 + 0.2e1 * t1332 * t520 + 0.2e1 * t1354 * t520 + 0.2e1 * t685 * t886 - 0.2e1 * t1359 * t533 - 0.2e1 * t1362 * t533 - 0.2e1 * t1380 * t533 - 0.2e1 * t695 * t844 + 0.94545777777777777778e-1 * t898 * t1226 + t1411; + const double t1418 = piecewise_functor_3( t2, 0.0, -t6 * t302 * t698 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t1413 ); + const double t1421 = t519 * t189; + const double t1422 = t1421 * t605; + const double t1424 = t532 * t189; + const double t1425 = t1424 * t605; + const double t1427 = t695 * t1064; + const double t1428 = t285 * t493; + const double t1429 = t1428 * t648; + const double t1432 = t605 * t605; + const double t1433 = t865 * t1432; + const double t1440 = t575 * t55; + const double t1444 = t1443 * t69; + const double t1447 = t52 * t36; + const double t1448 = t1447 * t82; + const double t1451 = sigma * t92; + const double t1454 = t53 * t35; + const double t1455 = t1454 * t105; + const double t1458 = t51 * t1440 / 0.32e2 + t61 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t77 * t1448 + t89 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t100 * t1455; + const double t1459 = t1458 * t171; + const double t1463 = t1118 * t600; + const double t1466 = t599 * t599; + const double t1467 = t772 * t1466; + const double t1468 = t350 * t1467; + const double t1471 = 0.1e1 / t53; + const double t1472 = t1471 * t35; + const double t1486 = t65 * t36; + const double t1493 = -t112 * t1472 * t115 / 0.48e2 + t125 * t1440 / 0.32e2 + t129 * t1444 / 0.144e3 + 0.5e1 / 0.768e3 * t135 * t1448 + t139 * t1451 / 0.96e2 + 0.35e2 / 0.27648e5 * t144 * t1455 + t151 * t1486 * t156 / 0.1152e4 + 0.7e1 / 0.6144e4 * t163 * t78 * t166; + const double t1494 = t352 * t1493; + const double t1495 = t350 * t1494; + const double t1499 = piecewise_functor_3( t176, t546 * t1118 * t171 / 0.12e2 - t546 * t601 / 0.12e2 + t34 * t41 * t1459 / 0.24e2 - t349 * t1463 / 0.12e2 + t349 * t1468 / 0.12e2 - t349 * t1495 / 0.24e2, 0.0 ); + const double t1500 = t488 * t1499; + const double t1502 = t648 * t648; + const double t1503 = t719 * t1502; + const double t1505 = piecewise_functor_3( t236, t1499, 0.0 ); + const double t1506 = t493 * t1505; + const double t1508 = -0.27e2 / 0.4e1 * t1433 + 0.3e1 / 0.2e1 * t1500 + 0.27e2 / 0.4e1 * t1503 - 0.3e1 / 0.2e1 * t1506; + const double t1512 = t685 * t1058; + const double t1513 = t285 * t488; + const double t1514 = t1513 * t605; + const double t1517 = t1432 * t195; + const double t1521 = t1432 * t221; + const double t1525 = t1499 * t195; + const double t1529 = t481 * t1432; + const double t1532 = t894 * t1432; + const double t1537 = t648 * t694; + const double t1544 = t511 * t189; + const double t1545 = t1544 * t605; + const double t1548 = 0.1e1 / t187; + const double t1549 = t1548 * t1432; + const double t1552 = t214 * t1432; + const double t1555 = t189 * t1499; + const double t1558 = -0.27e2 / 0.4e1 * t1503 * t286 + 0.3e1 / 0.2e1 * t1506 * t286 - 0.3e1 / 0.2e1 * t671 * t1545 + t827 * t1549 / 0.2e1 + t528 * t1552 / 0.4e1 - t528 * t1555 / 0.2e1; + const double t1559 = t238 * t1558; + const double t1566 = t685 * t1422 - t695 * t1425 + 0.3e1 * t1427 * t1429 + 0.2e1 / 0.3e1 * t25 * t29 * t1508 - 0.3e1 * t1512 * t1514 - 0.11818222222222222222e-1 * t544 * t1200 * t1517 - 0.1575762962962962963e-1 * t544 * t545 * t1521 + 0.78788148148148148148e-2 * t544 * t545 * t1525 + 0.15819866666666666666e0 * t219 * t1529 - 0.4e1 / 0.3e1 * t263 * t1532 + 0.94545777777777777778e-1 * t898 * t1432 - 0.4e1 * t1537 * t533 - 0.2e1 * t1559 * t533 - 0.10546577777777777778e0 * t621 * t634 - 0.10546577777777777778e0 * t631 * t634; + const double t1567 = t264 * t1499; + const double t1574 = t481 * t1499; + const double t1577 = t605 * t684; + const double t1584 = t488 * t1432; + const double t1593 = -0.27e2 / 0.4e1 * t1433 * t286 + 0.3e1 / 0.2e1 * t1500 * t286 - 0.3e1 / 0.2e1 * t1584 * t1544 + t878 * t1549 / 0.2e1 + t512 * t1552 / 0.4e1 - t512 * t1555 / 0.2e1; + const double t1594 = t177 * t1593; + const double t1599 = t88 * sigma; + const double t1604 = -0.54193808226477884224e-3 * t405 * t616 + 0.6774226028309735528e-4 * t1599 * t92 * t948 + 0.42141105276909202774e1 * t1499; + const double t1612 = t194 * t1499; + const double t1632 = -0.3e1 / 0.5e1 * t977 * t1432 + 0.6e1 / 0.5e1 * t449 * t1499 + 0.3e1 / 0.5e1 * t983 * t1502 - 0.6e1 / 0.5e1 * t451 * t1505; + const double t1634 = 0.474596e-1 * t1604 * t194 + 0.949192e-1 * t620 * t605 + 0.474596e-1 * t206 * t1499 + 0.56727466666666666666e-1 * t1432 + 0.56727466666666666666e-1 * t1612 - 0.54519192e1 * t194 * t1432 - 0.27259596e1 * t220 * t1499 - 0.35e2 / 0.4e1 * t968 * t1432 - 0.7e1 * t1240 * t605 - 0.7e1 / 0.2e1 * t446 * t1499 - t230 * t1632; + const double t1635 = t1634 * t262; + const double t1638 = t653 * t663; + const double t1641 = t258 * t1432; + const double t1643 = t25 * t29 * t1641; + const double t1645 = t214 * t1499; + const double t1647 = t25 * t29 * t1645; + const double t1650 = t425 * t928 * t1432; + const double t1653 = t425 * t426 * t1499; + const double t1655 = t1015 * t1432; + const double t1659 = t471 * t1499; + const double t1663 = -0.15e2 / 0.4e1 * t1643 + 0.5e1 / 0.2e1 * t1647 + 0.25e2 / 0.2e1 * t1650 - 0.5e1 * t1653 - 0.35e2 / 0.12e2 * t249 * t255 * t1655 + 0.5e1 / 0.6e1 * t249 * t255 * t1659; + const double t1664 = t243 * t1663; + const double t1669 = t1604 * t218; + const double t1672 = t620 * t630; + const double t1679 = -0.3e1 / 0.4e1 * t1643 + t1647 / 0.2e1 + 0.5e1 / 0.4e1 * t1650 - t1653 / 0.2e1; + const double t1680 = t206 * t1679; + const double t1687 = -0.52732888888888888888e-1 * t219 * t1567 + 0.2e1 / 0.3e1 * t654 * t667 + 0.2e1 / 0.3e1 * t664 * t667 + t263 * t1574 / 0.3e1 + 0.4e1 * t1577 * t520 + 0.2e1 * t1594 * t520 - t1635 * t264 / 0.9e1 - 0.2e1 / 0.9e1 * t1638 * t264 - t1664 * t264 / 0.9e1 - 0.47272888888888888889e-1 * t399 * t1499 + 0.26366444444444444444e-1 * t1669 * t221 + 0.52732888888888888888e-1 * t1672 * t221 + 0.26366444444444444444e-1 * t1680 * t221 - 0.2e1 * t1505 * t294 + 0.2e1 * t1499 * t288; + const double t1688 = t1566 + t1687; + const double t1692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t1688 ); + + + vrho = 0.2e1 * rho * t541 + 0.2e1 * t301; + vsigma = 0.2e1 * rho * t702; + v2rho2 = 0.2e1 * rho * t1075 + 0.4e1 * t541; + v2rhosigma = 0.2e1 * rho * t1418 + 0.2e1 * t702; + v2sigma2 = 0.2e1 * rho * t1692; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + + + eps = t306 + t522; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + + + eps = t306 + t522; + vrho_a = t306 + t522 + t6 * ( t813 + t964 ); + vrho_b = t306 + t522 + t6 * ( t1061 + t1290 ); + vsigma_aa = t6 * t1448; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t1604; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + const double t1607 = t23 * t23; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t527 * t527; + const double t1612 = t523 * t6; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t16 * t1613; + const double t1616 = -0.2e1 * t524 + 0.2e1 * t1614; + const double t1617 = piecewise_functor_5( t10, 0.0, t14, 0.0, t1616 ); + const double t1621 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t1609 + 0.4e1 / 0.3e1 * t23 * t1617 ); + const double t1622 = t1621 * t26; + const double t1626 = t530 * t188; + const double t1628 = t5 * t1626 * t302; + const double t1633 = t25 * t259; + const double t1636 = t5 * t1633 * t302 / 0.12e2; + const double t1638 = t5 * t535 * t808; + const double t1641 = 0.1e1 / t26 / t523; + const double t1642 = t43 * t1641; + const double t1645 = 0.8e1 / 0.27e2 * t33 * t1642 * t280; + const double t1646 = t767 * t545; + const double t1651 = t33 * t552 * t767; + const double t1654 = 0.1e1 / t275 / t274; + const double t1655 = t760 * t760; + const double t1657 = t1654 * t1655 / 0.12e2; + const double t1659 = 0.1e1 / t53 / t67; + const double t1660 = t1659 * t119; + const double t1661 = t1660 * t176; + const double t1664 = t558 * t590; + const double t1665 = t1664 * t176; + const double t1671 = t58 * t1659; + const double t1674 = 0.1e1 / t91; + const double t1675 = t66 * t1674; + const double t1679 = 0.1e1 / t52 / t575; + const double t1680 = t78 * t1679; + const double t1684 = 0.1e1 / t53 / t102; + const double t1685 = t90 * t1684; + const double t1688 = 0.1e1 / t159; + const double t1689 = t101 * t1688; + const double t1693 = 0.1e1 / t52 / t614; + const double t1694 = t112 * t1693; + const double t1697 = 0.11e2 / 0.27e2 * t57 * t1671 + 0.5e1 / 0.12e2 * t64 * t1675 + 0.19e2 / 0.324e3 * t74 * t1680 + 0.115e3 / 0.2592e4 * t86 * t1685 + t100 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t1694; + const double t1698 = t55 * t1697; + const double t1699 = t1698 * t176; + const double t1706 = 0.1e1 / t595 / t175; + const double t1707 = t625 * t625; + const double t1708 = t1706 * t1707; + const double t1713 = 0.1e1 / t52 / t556; + const double t1730 = 0.1e1 / t53 / t170; + const double t1734 = t102 * t91; + const double t1735 = 0.1e1 / t1734; + const double t1739 = 0.7e1 / 0.27e2 * t122 * t123 * t1713 + 0.11e2 / 0.27e2 * t130 * t1671 + 0.5e1 / 0.12e2 * t134 * t1675 + 0.19e2 / 0.324e3 * t138 * t1680 + 0.115e3 / 0.2592e4 * t142 * t1685 + t146 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t1694 + 0.35e2 / 0.15552e5 * t154 * t158 * t1730 + 0.13e2 / 0.9216e4 * t168 * t169 * t1735; + const double t1740 = t596 * t1739; + const double t1745 = piecewise_functor_3( t180, 0.11e2 / 0.27e2 * t50 * t1661 - 0.2e1 / 0.9e1 * t50 * t1665 + 0.2e1 / 0.9e1 * t50 * t559 * t626 + t50 * t1699 / 0.24e2 - t50 * t591 * t626 / 0.12e2 + t50 * t120 * t1708 / 0.12e2 - t50 * t120 * t1740 / 0.24e2, 0.0 ); + const double t1747 = t669 * t188; + const double t1748 = t545 * t545; + const double t1750 = t632 * t1747 * t1748; + const double t1751 = 0.18e2 * t1750; + const double t1752 = t216 * t259; + const double t1754 = t632 * t1752 * t545; + const double t1755 = 0.8e1 * t1754; + const double t1757 = 0.1e1 / t540 / t39; + const double t1758 = t542 * t542; + const double t1761 = piecewise_functor_5( t35, 0.0, t37, 0.0, t1616 ); + const double t1765 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t1758 + t541 * t1761 / 0.3e1 ); + const double t1767 = t632 * t633 * t1765; + const double t1768 = 0.6e1 * t1767; + const double t1770 = t183 * t186 * t728; + const double t1771 = 0.1e2 / 0.3e1 * t1770; + const double t1772 = 0.9e1 * t1745 + t1751 + t1755 - t1768 + t1771; + const double t1774 = t756 * t1772 / 0.6e1; + const double t1776 = 0.1e1 / t278 / t277; + const double t1777 = t764 * t764; + const double t1779 = t1776 * t1777 / 0.12e2; + const double t1780 = piecewise_functor_3( t241, t1745, 0.0 ); + const double t1782 = 0.9e1 * t1780 + t1751 + t1755 - t1768 + t1771; + const double t1784 = t762 * t1782 / 0.6e1; + const double t1785 = -t1657 + t1774 + t1779 - t1784; + const double t1789 = t288 * t288; + const double t1790 = 0.1e1 / t1789; + const double t1791 = t1790 * t290; + const double t1792 = t1791 * t780; + const double t1795 = t297 * t297; + const double t1796 = 0.1e1 / t1795; + const double t1797 = t1796 * t290; + const double t1798 = t1797 * t798; + const double t1801 = t216 * t44; + const double t1802 = t280 * t1748; + const double t1806 = t185 * t551; + const double t1808 = t33 * t1806 * t749; + const double t1812 = 0.2e1 / 0.3e1 * t33 * t1801 * t1748; + const double t1814 = t33 * t1806 * t545; + const double t1815 = 0.2e1 / 0.9e1 * t1814; + const double t1818 = t33 * t539 * t1765 / 0.3e1; + const double t1821 = 0.4e1 / 0.27e2 * t29 * t284 * t1641; + const double t1822 = t1812 + t1815 - t1818 + t1821 - t1779 + t1784; + const double t1824 = t798 * t783; + const double t1828 = 0.1e1 / t782 / t290; + const double t1829 = t297 * t1828; + const double t1830 = t787 * t787; + const double t1833 = t640 * t640; + const double t1839 = 0.1e2 / 0.27e2 * t1770; + const double t1840 = t1745 + 0.2e1 * t1750 + 0.8e1 / 0.9e1 * t1754 - 0.2e1 / 0.3e1 * t1767 + t1839; + const double t1843 = t1812 + t1815 - t1818 + t1821 - t219 * t1833 / 0.4e1 + t194 * t1840 / 0.2e1; + const double t1845 = t1822 * t291 - 0.2e1 * t1824 * t787 + 0.2e1 * t1829 * t1830 - t1843 * t800; + const double t1846 = t243 * t1845; + const double t1849 = t804 * t787; + const double t1856 = t269 * t1745; + const double t1863 = t745 * t1745; + const double t1866 = t631 * t789; + const double t1869 = t1645 - 0.4e1 / 0.3e1 * t33 * t539 * t1646 - 0.4e1 / 0.9e1 * t1651 + 0.2e1 / 0.3e1 * t33 * t45 * t1785 - 0.2e1 * t790 * t1792 + 0.2e1 * t803 * t1798 + 0.4e1 / 0.3e1 * t33 * t1801 * t1802 + 0.4e1 / 0.9e1 * t1808 - 0.2e1 * t1846 * t805 - 0.2e1 * t803 * t1849 - 0.10546577777777777778e0 * t664 * t687 - 0.10546577777777777778e0 * t684 * t687 - 0.52732888888888888888e-1 * t224 * t1856 + 0.2e1 / 0.3e1 * t711 * t746 + 0.2e1 / 0.3e1 * t741 * t746 + t268 * t1863 / 0.3e1 + 0.4e1 * t1866 * t792; + const double t1870 = t1812 + t1815 - t1818 + t1821 - t1657 + t1774; + const double t1872 = t780 * t783; + const double t1875 = t288 * t1828; + const double t1879 = 0.2e1 * t1830 * t1875 - t1843 * t784 + t1870 * t291 - 0.2e1 * t1872 * t787; + const double t1880 = t181 * t1879; + const double t1883 = t280 * t1765; + const double t1887 = t194 * t1748; + const double t1889 = t33 * t1801 * t1887; + const double t1892 = t33 * t1806 * t546; + const double t1894 = t32 * t185; + const double t1895 = t29 * t1894; + const double t1896 = t545 * t640; + const double t1898 = t1895 * t1294 * t1896; + const double t1900 = t194 * t1765; + const double t1902 = t33 * t539 * t1900; + const double t1905 = t33 * t1642 * t194; + const double t1906 = 0.4e1 / 0.27e2 * t1905; + const double t1908 = t33 * t552 * t641; + const double t1910 = t263 * t1833; + const double t1912 = t33 * t45 * t1910; + const double t1914 = t219 * t1840; + const double t1916 = t33 * t45 * t1914; + const double t1918 = -0.2e1 / 0.3e1 * t1889 - 0.2e1 / 0.9e1 * t1892 - t1898 / 0.3e1 + t1902 / 0.3e1 - t1906 - t1908 / 0.9e1 - t1912 / 0.4e1 + t1916 / 0.6e1; + const double t1922 = 0.1e1 / t744 / t199; + const double t1923 = t631 * t631; + const double t1924 = t1922 * t1923; + const double t1927 = t745 * t1923; + const double t1930 = t791 * t787; + const double t1933 = t705 * t802; + const double t1936 = t198 * t269; + const double t1939 = t663 * t683; + const double t1944 = 0.4e1 / 0.9e1 * t1905; + const double t1948 = t214 * t257; + const double t1950 = t1948 * t671 * t1748; + const double t1952 = t524 * t219; + const double t1954 = t670 * t1952 * t545; + const double t1957 = t670 * t679 * t1896; + const double t1960 = t670 * t671 * t1765; + const double t1963 = t214 * t216 * t1613 * t219; + const double t1964 = 0.2e1 / 0.3e1 * t1963; + const double t1965 = t524 * t263; + const double t1967 = t678 * t1965 * t640; + const double t1968 = t7 * t735; + const double t1970 = t678 * t1968 * t1833; + const double t1973 = t678 * t679 * t1840; + const double t1975 = -0.2e1 * t1889 - 0.2e1 / 0.3e1 * t1892 - t1898 + t1902 - t1944 - t1908 / 0.3e1 - 0.3e1 / 0.4e1 * t1912 + t1916 / 0.2e1 + 0.4e1 * t1950 + 0.2e1 * t1954 + 0.3e1 * t1957 - t1960 + t1964 + t1967 + 0.5e1 / 0.4e1 * t1970 - t1973 / 0.2e1; + const double t1976 = t212 * t1975; + const double t1979 = sigma_aa * t1659; + const double t1987 = t99 * t101; + const double t1989 = 0.1e1 / t657 / t206; + const double t1994 = 0.12717480330480143498e0 * t49 * t1979 * t207 - 0.32516284935886730535e-2 * t655 * t77 * t1679 * t658 + 0.12043068494772863161e-3 * t1987 * t1688 * t1989 + 0.42141105276909202774e1 * t1745; + const double t2008 = t234 * t199; + const double t2009 = t2008 * t246; + const double t2012 = t698 * t708; + const double t2018 = 0.1e1 / t238 / t181; + const double t2024 = 0.1e1 / t244 / t243; + const double t2025 = t705 * t705; + const double t2030 = -0.3e1 / 0.5e1 * t2018 * t1923 + 0.6e1 / 0.5e1 * t702 * t1745 + 0.3e1 / 0.5e1 * t2024 * t2025 - 0.6e1 / 0.5e1 * t704 * t1780; + const double t2032 = 0.474596e-1 * t1994 * t199 + 0.949192e-1 * t663 * t631 + 0.474596e-1 * t212 * t1745 + 0.56727466666666666666e-1 * t1923 + 0.56727466666666666666e-1 * t199 * t1745 - 0.54519192e1 * t199 * t1923 - 0.27259596e1 * t225 * t1745 - 0.35e2 / 0.4e1 * t2009 * t1923 - 0.7e1 * t2012 * t631 - 0.7e1 / 0.2e1 * t699 * t1745 - t235 * t2030; + const double t2033 = t2032 * t267; + const double t2036 = t710 * t740; + const double t2040 = 0.2e2 / 0.3e1 * t1963; + const double t2044 = 0.1e1 / t187 / t1612; + const double t2045 = t257 * t2044; + const double t2048 = 0.4e2 / 0.27e2 * t254 * t2045 * t263; + const double t2050 = t254 * t729 * t736; + const double t2052 = t735 * t1840; + const double t2056 = t263 * t1765; + const double t2064 = -0.1e2 * t1960 + t2040 + 0.1e2 * t1967 - 0.5e1 * t1973 - t2048 - 0.25e2 / 0.9e1 * t2050 + 0.5e1 / 0.6e1 * t254 * t260 * t2052 + 0.5e1 / 0.3e1 * t254 * t722 * t2056 + 0.4e2 * t1950 + 0.2e2 * t1954 + 0.3e2 * t1957 + 0.25e2 / 0.2e1 * t1970; + const double t2066 = 0.2e2 / 0.9e1 * t1905; + const double t2069 = t261 * t261; + const double t2071 = 0.1e1 / t193 / t2069; + const double t2072 = t2071 * t1833; + const double t2077 = 0.1e1 / t255 / t215; + const double t2078 = t2077 * t259; + const double t2079 = t263 * t1748; + const double t2083 = t721 * t728; + const double t2085 = t254 * t2083 * t723; + const double t2087 = t88 * t721; + const double t2088 = t253 * t2087; + const double t2089 = t259 * t735; + const double t2097 = 0.5e1 * t1902 - t2066 - 0.5e1 / 0.3e1 * t1908 + 0.5e1 / 0.2e1 * t1916 - 0.35e2 / 0.12e2 * t254 * t260 * t2072 - 0.1e2 * t254 * t2078 * t2079 - 0.5e2 / 0.9e1 * t2085 - 0.25e2 / 0.3e1 * t2088 * t2089 * t1896 - 0.1e2 * t1889 - 0.1e2 / 0.3e1 * t1892 - 0.5e1 * t1898 - 0.15e2 / 0.4e1 * t1912; + const double t2098 = t2064 + t2097; + const double t2099 = t248 * t2098; + const double t2102 = t645 * t226; + const double t2107 = t1994 * t223; + const double t2114 = 0.2e1 * t1880 * t792 - 0.2e1 / 0.3e1 * t33 * t539 * t1883 + 0.47272888888888888889e-1 * t1918 * t200 - 0.4e1 / 0.3e1 * t268 * t1924 + 0.15819866666666666666e0 * t224 * t1927 + 0.2e1 * t790 * t1930 - 0.4e1 * t1933 * t805 + 0.94545777777777777778e-1 * t1936 * t1923 + 0.52732888888888888888e-1 * t1939 * t226 + 0.26366444444444444444e-1 * t1976 * t226 - t2033 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t2036 * t269 - t2099 * t269 / 0.9e1 - 0.94545777777777777778e-1 * t2102 * t631 - 0.47272888888888888889e-1 * t648 * t1745 + 0.26366444444444444444e-1 * t2107 * t226 - 0.2e1 * t1780 * t299 + 0.2e1 * t1745 * t293; + const double t2115 = t1869 + t2114; + const double t2120 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t1622 * t302 - t1628 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t531 * t808 + t1636 - t1638 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t2115 ); + const double t2121 = t313 * t313; + const double t2122 = 0.1e1 / t2121; + const double t2123 = t816 * t816; + const double t2126 = t308 * t1613; + const double t2129 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t524 + 0.2e1 * t2126 ); + const double t2133 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t2123 + 0.4e1 / 0.3e1 * t313 * t2129 ); + const double t2134 = t2133 * t26; + const double t2138 = t819 * t188; + const double t2140 = t5 * t2138 * t518; + const double t2145 = t315 * t259; + const double t2148 = t5 * t2145 * t518 / 0.12e2; + const double t2150 = t5 * t824 * t959; + const double t2152 = t440 * t44; + const double t2153 = t835 * t835; + const double t2154 = t420 * t2153; + const double t2156 = t33 * t2152 * t2154; + const double t2158 = t413 * t551; + const double t2160 = t33 * t2158 * t836; + const double t2162 = t32 * t413; + const double t2163 = t29 * t2162; + const double t2164 = t835 * t851; + const double t2166 = t2163 * t1450 * t2164; + const double t2169 = 0.1e1 / t829 / t318; + const double t2170 = t832 * t832; + const double t2174 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t1616 ); + const double t2178 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t2170 + t830 * t2174 / 0.3e1 ); + const double t2179 = t420 * t2178; + const double t2181 = t33 * t828 * t2179; + const double t2183 = t322 * t1641; + const double t2185 = t33 * t2183 * t420; + const double t2186 = 0.4e1 / 0.27e2 * t2185; + const double t2188 = t33 * t840 * t852; + const double t2190 = t851 * t851; + const double t2191 = t479 * t2190; + const double t2193 = t33 * t323 * t2191; + const double t2195 = t861 * t188; + const double t2197 = t632 * t2195 * t2153; + const double t2199 = t440 * t259; + const double t2201 = t632 * t2199 * t835; + const double t2204 = t632 * t844 * t2178; + const double t2207 = t183 * t414 * t728; + const double t2208 = 0.1e2 / 0.27e2 * t2207; + const double t2209 = 0.2e1 * t2197 + 0.8e1 / 0.9e1 * t2201 - 0.2e1 / 0.3e1 * t2204 + t2208; + const double t2210 = t443 * t2209; + const double t2212 = t33 * t323 * t2210; + const double t2214 = -0.2e1 / 0.3e1 * t2156 - 0.2e1 / 0.9e1 * t2160 - t2166 / 0.3e1 + t2181 / 0.3e1 - t2186 - t2188 / 0.9e1 - t2193 / 0.4e1 + t2212 / 0.6e1; + const double t2219 = 0.4e1 / 0.9e1 * t2185; + const double t2223 = t214 * t475; + const double t2225 = t2223 * t863 * t2153; + const double t2227 = t524 * t443; + const double t2229 = t862 * t2227 * t835; + const double t2232 = t862 * t871 * t2164; + const double t2235 = t862 * t863 * t2178; + const double t2238 = t214 * t440 * t1613 * t443; + const double t2239 = 0.2e1 / 0.3e1 * t2238; + const double t2240 = t524 * t479; + const double t2242 = t870 * t2240 * t851; + const double t2243 = t7 * t898; + const double t2245 = t870 * t2243 * t2190; + const double t2248 = t870 * t871 * t2209; + const double t2250 = -0.2e1 * t2156 - 0.2e1 / 0.3e1 * t2160 - t2166 + t2181 - t2219 - t2188 / 0.3e1 - 0.3e1 / 0.4e1 * t2193 + t2212 / 0.2e1 + 0.4e1 * t2225 + 0.2e1 * t2229 + 0.3e1 * t2232 - t2235 + t2239 + t2242 + 0.5e1 / 0.4e1 * t2245 - t2248 / 0.2e1; + const double t2251 = t438 * t2250; + const double t2254 = t479 * t2178; + const double t2258 = t475 * t2044; + const double t2261 = 0.4e2 / 0.27e2 * t254 * t2258 * t479; + const double t2263 = t254 * t892 * t899; + const double t2265 = t898 * t2209; + const double t2271 = 0.2e2 / 0.3e1 * t2238; + const double t2277 = 0.5e1 / 0.3e1 * t254 * t887 * t2254 - t2261 - 0.25e2 / 0.9e1 * t2263 + 0.5e1 / 0.6e1 * t254 * t476 * t2265 + 0.25e2 / 0.2e1 * t2245 - 0.1e2 * t2235 + t2271 + 0.1e2 * t2242 - 0.5e1 * t2248 + 0.5e1 / 0.2e1 * t2212 + 0.4e2 * t2225 + 0.2e2 * t2229; + const double t2280 = 0.2e2 / 0.9e1 * t2185; + const double t2283 = 0.1e1 / t473 / t439; + const double t2284 = t2283 * t259; + const double t2285 = t479 * t2153; + const double t2289 = t886 * t728; + const double t2291 = t254 * t2289 * t888; + const double t2293 = t88 * t886; + const double t2294 = t253 * t2293; + const double t2295 = t259 * t898; + const double t2299 = t477 * t477; + const double t2301 = 0.1e1 / t419 / t2299; + const double t2302 = t2301 * t2190; + const double t2310 = 0.3e2 * t2232 + 0.5e1 * t2181 - t2280 - 0.5e1 / 0.3e1 * t2188 - 0.1e2 * t254 * t2284 * t2285 - 0.5e2 / 0.9e1 * t2291 - 0.25e2 / 0.3e1 * t2294 * t2295 * t2164 - 0.35e2 / 0.12e2 * t254 * t476 * t2302 - 0.1e2 * t2156 - 0.1e2 / 0.3e1 * t2160 - 0.5e1 * t2166 - 0.15e2 / 0.4e1 * t2193; + const double t2311 = t2277 + t2310; + const double t2312 = t470 * t2311; + const double t2315 = t496 * t2153; + const double t2320 = t33 * t2158 * t907; + const double t2322 = t922 * t835; + const double t2326 = t496 * t2178; + const double t2332 = 0.8e1 / 0.27e2 * t33 * t2183 * t496; + const double t2334 = t33 * t840 * t922; + const double t2337 = 0.1e1 / t491 / t490; + const double t2338 = t917 * t917; + const double t2340 = t2337 * t2338 / 0.12e2; + const double t2344 = 0.1e2 / 0.3e1 * t2207; + const double t2345 = 0.18e2 * t2197 + 0.8e1 * t2201 - 0.6e1 * t2204 + t2344; + const double t2347 = t914 * t2345 / 0.6e1; + const double t2349 = 0.1e1 / t494 / t493; + const double t2351 = t2349 * t2338 / 0.12e2; + const double t2353 = t919 * t2345 / 0.6e1; + const double t2354 = -t2340 + t2347 + t2351 - t2353; + const double t2360 = 0.2e1 / 0.3e1 * t33 * t2152 * t2153; + const double t2362 = t33 * t2158 * t835; + const double t2363 = 0.2e1 / 0.9e1 * t2362; + const double t2366 = t33 * t828 * t2178 / 0.3e1; + const double t2369 = 0.4e1 / 0.27e2 * t29 * t500 * t1641; + const double t2370 = t2360 + t2363 - t2366 + t2369 - t2340 + t2347; + const double t2372 = t933 * t936; + const double t2376 = 0.1e1 / t935 / t506; + const double t2377 = t504 * t2376; + const double t2378 = t940 * t940; + const double t2385 = t2360 + t2363 - t2366 + t2369 - t443 * t2190 / 0.4e1 + t420 * t2209 / 0.2e1; + const double t2387 = t2370 * t507 - 0.2e1 * t2372 * t940 + 0.2e1 * t2377 * t2378 - t2385 * t937; + const double t2388 = t411 * t2387; + const double t2391 = t504 * t504; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t2392 * t506; + const double t2394 = t2393 * t933; + const double t2397 = t944 * t940; + const double t2400 = t2360 + t2363 - t2366 + t2369 - t2351 + t2353; + const double t2402 = t949 * t936; + const double t2405 = t513 * t2376; + const double t2409 = 0.2e1 * t2378 * t2405 - t2385 * t951 + t2400 * t507 - 0.2e1 * t2402 * t940; + const double t2410 = t465 * t2409; + const double t2413 = t513 * t513; + const double t2414 = 0.1e1 / t2413; + const double t2415 = t2414 * t506; + const double t2416 = t2415 * t949; + const double t2419 = t955 * t940; + const double t2422 = 0.47272888888888888889e-1 * t2214 * t426 + 0.26366444444444444444e-1 * t2251 * t450 - t2312 * t485 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t2152 * t2315 + 0.4e1 / 0.9e1 * t2320 - 0.4e1 / 0.3e1 * t33 * t828 * t2322 - 0.2e1 / 0.3e1 * t33 * t828 * t2326 + t2332 - 0.4e1 / 0.9e1 * t2334 + 0.2e1 / 0.3e1 * t33 * t323 * t2354 + 0.2e1 * t2388 * t945 - 0.2e1 * t943 * t2394 + 0.2e1 * t943 * t2397 - 0.2e1 * t2410 * t956 + 0.2e1 * t954 * t2416 - 0.2e1 * t954 * t2419; + const double t2427 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t2134 * t518 - t2140 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t820 * t959 + t2148 - t2150 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t2422 ); + const double t2443 = t971 * t188; + const double t2445 = t5 * t2443 * t302; + const double t2456 = t5 * t535 * t1056; + const double t2470 = t632 * t1752 * t979; + const double t2497 = t33 * t552 * t1030; + const double t2501 = t33 * t1806 * t1021; + const double t2515 = t33 * t1806 * t980; + const double t2532 = t33 * t552 * t988; + const double t2534 = t44 * t263; + const double t2568 = t33 * t1806 * t979; + const double t2576 = t1038 * t783; + const double t2599 = t1049 * t783; + const double t2622 = t254 * t2083 * t1009; + const double t2625 = t254 * t729 * t1013; + const double t2632 = t678 * t1965 * t987; + const double t2684 = t670 * t1952 * t979; + const double t2687 = t253 * t88 * t257; + const double t2688 = t259 * t2071; + const double t2745 = t1066 * t188; + const double t2747 = t5 * t2745 * t518; + const double t2758 = t5 * t824 * t1285; + const double t2773 = t632 * t2199 * t1075; + const double t2800 = t33 * t840 * t1255; + const double t2803 = t33 * t2158 * t1243; + const double t2824 = t33 * t2158 * t1076; + const double t2841 = t33 * t840 * t1160; + const double t2843 = t44 * t479; + const double t2864 = t33 * t2158 * t1075; + const double t2872 = t1265 * t936; + const double t2896 = t1278 * t936; + const double t2929 = t862 * t2227 * t1075; + const double t2935 = t870 * t2240 * t1159; + const double t2946 = t254 * t2289 * t1226; + const double t2950 = t254 * t892 * t1230; + const double t2984 = t253 * t88 * t475; + const double t2985 = t259 * t2301; + const double t3038 = t968 * t968; + const double t3042 = 0.2e1 * t524 + 0.2e1 * t1614; + const double t3043 = piecewise_functor_5( t10, 0.0, t14, 0.0, t3042 ); + const double t3047 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t3038 + 0.4e1 / 0.3e1 * t23 * t3043 ); + const double t3048 = t3047 * t26; + const double t3057 = t979 * t979; + const double t3058 = t194 * t3057; + const double t3060 = t33 * t1801 * t3058; + const double t3063 = t979 * t987; + const double t3065 = t1895 * t1294 * t3063; + const double t3067 = t976 * t976; + const double t3070 = piecewise_functor_5( t35, 0.0, t37, 0.0, t3042 ); + const double t3074 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t3067 + t541 * t3070 / 0.3e1 ); + const double t3075 = t194 * t3074; + const double t3077 = t33 * t539 * t3075; + const double t3080 = t987 * t987; + const double t3081 = t263 * t3080; + const double t3083 = t33 * t45 * t3081; + const double t3086 = t632 * t1747 * t3057; + const double t3090 = t632 * t633 * t3074; + const double t3092 = 0.2e1 * t3086 + 0.8e1 / 0.9e1 * t2470 - 0.2e1 / 0.3e1 * t3090 + t1839; + const double t3093 = t219 * t3092; + const double t3095 = t33 * t45 * t3093; + const double t3097 = -0.2e1 / 0.3e1 * t3060 - 0.2e1 / 0.9e1 * t2515 - t3065 / 0.3e1 + t3077 / 0.3e1 - t1906 - t2532 / 0.9e1 - t3083 / 0.4e1 + t3095 / 0.6e1; + const double t3106 = t1948 * t671 * t3057; + const double t3110 = t670 * t679 * t3063; + const double t3113 = t670 * t671 * t3074; + const double t3115 = t678 * t1968 * t3080; + const double t3118 = t678 * t679 * t3092; + const double t3120 = -0.2e1 * t3060 - 0.2e1 / 0.3e1 * t2515 - t3065 + t3077 - t1944 - t2532 / 0.3e1 - 0.3e1 / 0.4e1 * t3083 + t3095 / 0.2e1 + 0.4e1 * t3106 + 0.2e1 * t2684 + 0.3e1 * t3110 - t3113 + t1964 + t2632 + 0.5e1 / 0.4e1 * t3115 - t3118 / 0.2e1; + const double t3121 = t212 * t3120; + const double t3124 = t263 * t3074; + const double t3128 = t735 * t3092; + const double t3141 = t2071 * t3080; + const double t3145 = 0.5e1 / 0.3e1 * t254 * t722 * t3124 + 0.5e1 / 0.6e1 * t254 * t260 * t3128 - 0.1e2 * t3113 - 0.5e1 * t3118 + 0.25e2 / 0.2e1 * t3115 + 0.5e1 / 0.2e1 * t3095 + 0.4e2 * t3106 + 0.3e2 * t3110 + 0.5e1 * t3077 + 0.2e2 * t2684 + 0.1e2 * t2632 - 0.35e2 / 0.12e2 * t254 * t260 * t3141; + const double t3146 = t263 * t3057; + const double t3160 = -0.1e2 * t254 * t2078 * t3146 - 0.25e2 / 0.3e1 * t2088 * t2089 * t3063 - 0.1e2 * t3060 - 0.5e1 * t3065 - 0.15e2 / 0.4e1 * t3083 - 0.5e2 / 0.9e1 * t2622 - 0.25e2 / 0.9e1 * t2625 - 0.5e1 / 0.3e1 * t2532 - 0.1e2 / 0.3e1 * t2515 + t2040 - t2048 - t2066; + const double t3161 = t3145 + t3160; + const double t3162 = t248 * t3161; + const double t3165 = t280 * t3057; + const double t3170 = t1030 * t979; + const double t3174 = t280 * t3074; + const double t3179 = t1026 * t1026; + const double t3181 = t1654 * t3179 / 0.12e2; + const double t3185 = 0.18e2 * t3086 + 0.8e1 * t2470 - 0.6e1 * t3090 + t1771; + const double t3187 = t756 * t3185 / 0.6e1; + const double t3189 = t1776 * t3179 / 0.12e2; + const double t3191 = t762 * t3185 / 0.6e1; + const double t3192 = -t3181 + t3187 + t3189 - t3191; + const double t3198 = 0.2e1 / 0.3e1 * t33 * t1801 * t3057; + const double t3199 = 0.2e1 / 0.9e1 * t2568; + const double t3202 = t33 * t539 * t3074 / 0.3e1; + const double t3203 = t3198 + t3199 - t3202 + t1821 - t3181 + t3187; + const double t3207 = t1042 * t1042; + const double t3214 = t3198 + t3199 - t3202 + t1821 - t219 * t3080 / 0.4e1 + t194 * t3092 / 0.2e1; + const double t3216 = -0.2e1 * t1042 * t2576 + 0.2e1 * t1875 * t3207 + t291 * t3203 - t3214 * t784; + const double t3217 = t181 * t3216; + const double t3220 = t1791 * t1038; + const double t3223 = t791 * t1042; + const double t3226 = t3198 + t3199 - t3202 + t1821 - t3189 + t3191; + const double t3233 = -0.2e1 * t1042 * t2599 + 0.2e1 * t1829 * t3207 + t291 * t3226 - t3214 * t800; + const double t3234 = t243 * t3233; + const double t3237 = t1797 * t1049; + const double t3240 = t804 * t1042; + const double t3243 = 0.47272888888888888889e-1 * t3097 * t200 + 0.26366444444444444444e-1 * t3121 * t226 - t3162 * t269 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t1801 * t3165 + 0.4e1 / 0.9e1 * t2501 - 0.4e1 / 0.3e1 * t33 * t539 * t3170 - 0.2e1 / 0.3e1 * t33 * t539 * t3174 + t1645 - 0.4e1 / 0.9e1 * t2497 + 0.2e1 / 0.3e1 * t33 * t45 * t3192 + 0.2e1 * t3217 * t792 - 0.2e1 * t1045 * t3220 + 0.2e1 * t1045 * t3223 - 0.2e1 * t3234 * t805 + 0.2e1 * t1053 * t3237 - 0.2e1 * t1053 * t3240; + const double t3248 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t3048 * t302 - t2445 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t972 * t1056 + t1636 - t2456 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t3243 ); + const double t3249 = t1063 * t1063; + const double t3254 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t524 + 0.2e1 * t2126 ); + const double t3258 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t3249 + 0.4e1 / 0.3e1 * t313 * t3254 ); + const double t3259 = t3258 * t26; + const double t3269 = 0.1e1 / t327 / t336; + const double t3270 = t3269 * t371; + const double t3271 = t3270 * t406; + const double t3274 = t1082 * t1114; + const double t3275 = t3274 * t406; + const double t3281 = t330 * t3269; + const double t3284 = 0.1e1 / t351; + const double t3285 = t335 * t3284; + const double t3289 = 0.1e1 / t326 / t1099; + const double t3290 = t342 * t3289; + const double t3294 = 0.1e1 / t327 / t358; + const double t3295 = t350 * t3294; + const double t3298 = 0.1e1 / t393; + const double t3299 = t357 * t3298; + const double t3303 = 0.1e1 / t326 / t1138; + const double t3304 = t364 * t3303; + const double t3307 = 0.11e2 / 0.27e2 * t57 * t3281 + 0.5e1 / 0.12e2 * t64 * t3285 + 0.19e2 / 0.324e3 * t74 * t3290 + 0.115e3 / 0.2592e4 * t86 * t3295 + t100 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t3304; + const double t3308 = t329 * t3307; + const double t3309 = t3308 * t406; + const double t3316 = 0.1e1 / t1119 / t405; + const double t3317 = t1149 * t1149; + const double t3318 = t3316 * t3317; + const double t3323 = 0.1e1 / t326 / t1080; + const double t3340 = 0.1e1 / t327 / t400; + const double t3344 = t358 * t351; + const double t3345 = 0.1e1 / t3344; + const double t3349 = 0.7e1 / 0.27e2 * t122 * t373 * t3323 + 0.11e2 / 0.27e2 * t130 * t3281 + 0.5e1 / 0.12e2 * t134 * t3285 + 0.19e2 / 0.324e3 * t138 * t3290 + 0.115e3 / 0.2592e4 * t142 * t3295 + t146 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t3304 + 0.35e2 / 0.15552e5 * t154 * t392 * t3340 + 0.13e2 / 0.9216e4 * t168 * t399 * t3345; + const double t3350 = t1120 * t3349; + const double t3355 = piecewise_functor_3( t410, 0.11e2 / 0.27e2 * t324 * t3271 - 0.2e1 / 0.9e1 * t324 * t3275 + 0.2e1 / 0.9e1 * t324 * t1083 * t1150 + t324 * t3309 / 0.24e2 - t324 * t1115 * t1150 / 0.12e2 + t324 * t372 * t3318 / 0.12e2 - t324 * t372 * t3350 / 0.24e2, 0.0 ); + const double t3358 = piecewise_functor_3( t463, t3355, 0.0 ); + const double t3361 = t1075 * t1075; + const double t3362 = t420 * t3361; + const double t3364 = t33 * t2152 * t3362; + const double t3367 = t1075 * t1159; + const double t3369 = t2163 * t1450 * t3367; + const double t3371 = t1072 * t1072; + const double t3375 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t3042 ); + const double t3379 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t3371 + t830 * t3375 / 0.3e1 ); + const double t3380 = t420 * t3379; + const double t3382 = t33 * t828 * t3380; + const double t3385 = t1159 * t1159; + const double t3386 = t479 * t3385; + const double t3388 = t33 * t323 * t3386; + const double t3391 = t632 * t2195 * t3361; + const double t3395 = t632 * t844 * t3379; + const double t3397 = t3355 + 0.2e1 * t3391 + 0.8e1 / 0.9e1 * t2773 - 0.2e1 / 0.3e1 * t3395 + t2208; + const double t3398 = t443 * t3397; + const double t3400 = t33 * t323 * t3398; + const double t3402 = -0.2e1 / 0.3e1 * t3364 - 0.2e1 / 0.9e1 * t2824 - t3369 / 0.3e1 + t3382 / 0.3e1 - t2186 - t2841 / 0.9e1 - t3388 / 0.4e1 + t3400 / 0.6e1; + const double t3405 = t2393 * t1265; + const double t3408 = t2415 * t1278; + const double t3411 = t1249 * t1249; + const double t3413 = t2337 * t3411 / 0.12e2; + const double t3415 = 0.18e2 * t3391; + const double t3416 = 0.8e1 * t2773; + const double t3417 = 0.6e1 * t3395; + const double t3418 = 0.9e1 * t3355 + t3415 + t3416 - t3417 + t2344; + const double t3420 = t914 * t3418 / 0.6e1; + const double t3421 = t1252 * t1252; + const double t3423 = t2349 * t3421 / 0.12e2; + const double t3425 = 0.9e1 * t3358 + t3415 + t3416 - t3417 + t2344; + const double t3427 = t919 * t3425 / 0.6e1; + const double t3428 = -t3413 + t3420 + t3423 - t3427; + const double t3436 = 0.2e1 / 0.3e1 * t33 * t2152 * t3361; + const double t3437 = 0.2e1 / 0.9e1 * t2864; + const double t3440 = t33 * t828 * t3379 / 0.3e1; + const double t3441 = t3436 + t3437 - t3440 + t2369 - t3413 + t3420; + const double t3445 = t1269 * t1269; + const double t3452 = t3436 + t3437 - t3440 + t2369 - t443 * t3385 / 0.4e1 + t420 * t3397 / 0.2e1; + const double t3454 = -0.2e1 * t1269 * t2872 + 0.2e1 * t2377 * t3445 + t3441 * t507 - t3452 * t937; + const double t3455 = t411 * t3454; + const double t3458 = t944 * t1269; + const double t3461 = t1213 * t1281; + const double t3464 = t3436 + t3437 - t3440 + t2369 - t3423 + t3427; + const double t3471 = -0.2e1 * t1269 * t2896 + 0.2e1 * t2405 * t3445 - t3452 * t951 + t3464 * t507; + const double t3472 = t465 * t3471; + const double t3475 = t955 * t1269; + const double t3478 = t1155 * t1155; + const double t3479 = t1239 * t3478; + const double t3484 = t485 * t3355; + const double t3491 = 0.2e1 * t3355 * t509 - 0.2e1 * t3358 * t515 + 0.47272888888888888889e-1 * t3402 * t426 - 0.2e1 * t1272 * t3405 + 0.2e1 * t1282 * t3408 + 0.2e1 / 0.3e1 * t33 * t323 * t3428 - 0.10546577777777777778e0 * t1182 * t1195 + 0.2e1 * t3455 * t945 + 0.2e1 * t1272 * t3458 - 0.4e1 * t3461 * t956 - 0.2e1 * t3472 * t956 - 0.2e1 * t1282 * t3475 + 0.15819866666666666666e0 * t448 * t3479 - 0.10546577777777777778e0 * t1192 * t1195 - 0.52732888888888888888e-1 * t448 * t3484 + 0.2e1 / 0.3e1 * t1219 * t1240 + 0.2e1 / 0.3e1 * t1235 * t1240; + const double t3492 = t1239 * t3355; + const double t3495 = t1155 * t1271; + const double t3500 = 0.1e1 / t1238 / t425; + const double t3501 = t3500 * t3478; + const double t3504 = t496 * t3379; + const double t3508 = t496 * t3361; + const double t3512 = t1255 * t1075; + const double t3523 = t2223 * t863 * t3361; + const double t3527 = t862 * t871 * t3367; + const double t3530 = t862 * t863 * t3379; + const double t3532 = t870 * t2243 * t3385; + const double t3535 = t870 * t871 * t3397; + const double t3537 = -0.2e1 * t3364 - 0.2e1 / 0.3e1 * t2824 - t3369 + t3382 - t2219 - t2841 / 0.3e1 - 0.3e1 / 0.4e1 * t3388 + t3400 / 0.2e1 + 0.4e1 * t3523 + 0.2e1 * t2929 + 0.3e1 * t3527 - t3530 + t2239 + t2935 + 0.5e1 / 0.4e1 * t3532 - t3535 / 0.2e1; + const double t3538 = t438 * t3537; + const double t3541 = sigma_bb * t3269; + const double t3549 = t99 * t357; + const double t3551 = 0.1e1 / t1175 / t432; + const double t3556 = 0.12717480330480143498e0 * t49 * t3541 * t433 - 0.32516284935886730535e-2 * t655 * t341 * t3289 * t1176 + 0.12043068494772863161e-3 * t3549 * t3298 * t3551 + 0.42141105276909202774e1 * t3355; + const double t3570 = t458 * t425; + const double t3571 = t3570 * t468; + const double t3574 = t1206 * t1216; + const double t3580 = 0.1e1 / t460 / t411; + const double t3586 = 0.1e1 / t466 / t465; + const double t3587 = t1213 * t1213; + const double t3592 = -0.3e1 / 0.5e1 * t3580 * t3478 + 0.6e1 / 0.5e1 * t1210 * t3355 + 0.3e1 / 0.5e1 * t3586 * t3587 - 0.6e1 / 0.5e1 * t1212 * t3358; + const double t3594 = 0.474596e-1 * t3556 * t425 + 0.949192e-1 * t1181 * t1155 + 0.474596e-1 * t438 * t3355 + 0.56727466666666666666e-1 * t3478 + 0.56727466666666666666e-1 * t425 * t3355 - 0.54519192e1 * t425 * t3478 - 0.27259596e1 * t449 * t3355 - 0.35e2 / 0.4e1 * t3571 * t3478 - 0.7e1 * t3574 * t1155 - 0.7e1 / 0.2e1 * t1207 * t3355 - t459 * t3592; + const double t3595 = t3594 * t483; + const double t3598 = t1218 * t1234; + const double t3601 = t2301 * t3385; + const double t3607 = t479 * t3379; + const double t3611 = t898 * t3397; + const double t3622 = -0.35e2 / 0.12e2 * t254 * t476 * t3601 - 0.5e1 * t3535 - 0.1e2 * t3530 + 0.5e1 / 0.3e1 * t254 * t887 * t3607 + 0.5e1 / 0.6e1 * t254 * t476 * t3611 + 0.4e2 * t3523 + 0.3e2 * t3527 + 0.25e2 / 0.2e1 * t3532 + 0.5e1 / 0.2e1 * t3400 + 0.5e1 * t3382 + 0.2e2 * t2929 + 0.1e2 * t2935; + const double t3623 = t479 * t3361; + const double t3637 = -0.1e2 * t254 * t2284 * t3623 - 0.25e2 / 0.3e1 * t2294 * t2295 * t3367 - 0.1e2 * t3364 - 0.5e1 * t3369 - 0.15e2 / 0.4e1 * t3388 - 0.5e2 / 0.9e1 * t2946 - 0.25e2 / 0.9e1 * t2950 - 0.1e2 / 0.3e1 * t2824 - 0.5e1 / 0.3e1 * t2841 - t2261 + t2271 - t2280; + const double t3638 = t3622 + t3637; + const double t3639 = t470 * t3638; + const double t3642 = t1164 * t450; + const double t3647 = t3556 * t447; + const double t3650 = t1181 * t1191; + const double t3653 = t424 * t485; + const double t3656 = t484 * t3492 / 0.3e1 + 0.4e1 * t3495 * t945 - 0.4e1 / 0.9e1 * t2800 - 0.4e1 / 0.3e1 * t484 * t3501 - 0.2e1 / 0.3e1 * t33 * t828 * t3504 + 0.4e1 / 0.3e1 * t33 * t2152 * t3508 - 0.4e1 / 0.3e1 * t33 * t828 * t3512 + 0.4e1 / 0.9e1 * t2803 + 0.26366444444444444444e-1 * t3538 * t450 - t3595 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t3598 * t485 - t3639 * t485 / 0.9e1 - 0.94545777777777777778e-1 * t3642 * t1155 - 0.47272888888888888889e-1 * t1167 * t3355 + 0.26366444444444444444e-1 * t3647 * t450 + 0.52732888888888888888e-1 * t3650 * t450 + 0.94545777777777777778e-1 * t3653 * t3478 + t2332; + const double t3657 = t3491 + t3656; + const double t3662 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t3259 * t518 - t2747 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t1067 * t1285 + t2148 - t2758 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t3657 ); + const double t3670 = t5 * t535 * t1444 / 0.8e1; + const double t3673 = 0.2e1 / 0.9e1 * t33 * t552 * t1419; + const double t3686 = t49 * t55; + const double t3687 = t119 * t596; + const double t3688 = t3687 * t625; + const double t3691 = t558 * t1317; + const double t3692 = t3691 * t176; + const double t3695 = t48 * t558; + const double t3698 = t65 * t566; + const double t3701 = t1302 * t571; + const double t3704 = t1306 * t577; + const double t3707 = t77 * t581; + const double t3710 = t1313 * t586; + const double t3713 = -t57 * t3695 / 0.9e1 - t64 * t3698 / 0.8e1 - t74 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t3704 - t100 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t3710; + const double t3714 = t55 * t3713; + const double t3715 = t3714 * t176; + const double t3727 = t119 * t1706; + const double t3728 = t1345 * t625; + const double t3729 = t3727 * t3728; + const double t3753 = -t122 * t1322 * t598 / 0.18e2 - t130 * t3695 / 0.9e1 - t134 * t3698 / 0.8e1 - t138 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t3704 - t146 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t3710 - t154 * t1338 * t616 / 0.1296e4 - t168 * t111 * t621 / 0.2048e4; + const double t3754 = t596 * t3753; + const double t3759 = piecewise_functor_3( t180, -t49 * t560 / 0.9e1 + t49 * t592 / 0.24e2 - t3686 * t3688 / 0.24e2 - t50 * t3692 / 0.9e1 + t50 * t3715 / 0.24e2 - t50 * t1318 * t626 / 0.24e2 + t50 * t559 * t1346 / 0.9e1 - t50 * t591 * t1346 / 0.24e2 + t204 * t3729 / 0.12e2 - t50 * t120 * t3754 / 0.24e2, 0.0 ); + const double t3760 = t269 * t3759; + const double t3763 = t745 * t3759; + const double t3766 = t1351 * t789; + const double t3769 = t631 * t1430; + const double t3772 = t1654 * t1351; + const double t3773 = t291 * t760; + const double t3776 = t756 * t3759; + const double t3779 = t783 * t787; + const double t3784 = t1427 * t787; + const double t3786 = t1370 * t640; + const double t3789 = t194 * t3759; + const double t3792 = -0.3e1 / 0.4e1 * t3772 * t3773 + 0.3e1 / 0.2e1 * t3776 * t291 - 0.3e1 / 0.2e1 * t1416 * t3779 - t1872 * t1427 / 0.2e1 + t1875 * t3784 + t784 * t3786 / 0.4e1 - t784 * t3789 / 0.2e1; + const double t3793 = t181 * t3792; + const double t3799 = t1394 * t802; + const double t3802 = t705 * t1440; + const double t3805 = t1776 * t1394; + const double t3806 = t291 * t764; + const double t3809 = piecewise_functor_3( t241, t3759, 0.0 ); + const double t3810 = t762 * t3809; + const double t3822 = -0.3e1 / 0.4e1 * t3805 * t3806 + 0.3e1 / 0.2e1 * t3810 * t291 - 0.3e1 / 0.2e1 * t1417 * t3779 - t1824 * t1427 / 0.2e1 + t1829 * t3784 + t800 * t3786 / 0.4e1 - t800 * t3789 / 0.2e1; + const double t3823 = t243 * t3822; + const double t3828 = t631 * t1351; + const double t3839 = t1352 * t640; + const double t3843 = 0.2e1 * t1431 * t1930 - 0.2e1 * t3799 * t805 - 0.2e1 * t3802 * t805 - 0.2e1 * t3823 * t805 - 0.2e1 * t1441 * t1849 + 0.94545777777777777778e-1 * t1936 * t3828 + t1400 * t746 / 0.3e1 + t1410 * t746 / 0.3e1 + t711 * t1413 / 0.3e1 + t741 * t1413 / 0.3e1 - 0.11818222222222222222e-1 * t1293 * t2534 * t3839; + const double t3845 = t1419 * t545; + const double t3849 = t1351 * t226; + const double t3850 = t3849 * t631; + const double t3854 = t1352 * t545; + const double t3864 = -0.3e1 / 0.4e1 * t3772 * t760 + 0.3e1 / 0.2e1 * t3776 + 0.3e1 / 0.4e1 * t3805 * t764 - 0.3e1 / 0.2e1 * t3810; + const double t3868 = t3759 * t200; + const double t3872 = t551 * t219; + const double t3875 = 0.26262716049382716049e-2 * t1293 * t3872 * t1352; + const double t3876 = t1351 * t545; + const double t3878 = t1895 * t1294 * t3876; + const double t3881 = t33 * t552 * t1370; + const double t3882 = t3881 / 0.6e1; + const double t3883 = t1351 * t640; + const double t3885 = t1293 * t2534 * t3883; + const double t3887 = t219 * t3759; + const double t3889 = t33 * t45 * t3887; + const double t3892 = t670 * t679 * t3876; + const double t3895 = t678 * t1965 * t1351; + const double t3896 = t3895 / 0.2e1; + const double t3898 = t678 * t1968 * t3883; + const double t3901 = t678 * t679 * t3759; + const double t3903 = -t3878 / 0.2e1 - t3882 - 0.3e1 / 0.4e1 * t3885 + t3889 / 0.2e1 + 0.3e1 / 0.2e1 * t3892 + t3896 + 0.5e1 / 0.4e1 * t3898 - t3901 / 0.2e1; + const double t3904 = t212 * t3903; + const double t3910 = t571 * t658; + const double t3914 = t99 * t77; + const double t3919 = -0.34684037264945845904e-1 * t49 * t558 * t207 + 0.10838761645295576845e-2 * t655 * t3910 * sigma_aa - 0.45161506855398236853e-4 * t3914 * t581 * t1989 + 0.42141105276909202774e1 * t3759; + const double t3929 = t199 * t3759; + const double t3941 = t698 * t1397; + const double t3944 = t2018 * t1351; + const double t3949 = t2024 * t1394; + const double t3954 = -0.3e1 / 0.5e1 * t3944 * t631 + 0.6e1 / 0.5e1 * t702 * t3759 + 0.3e1 / 0.5e1 * t3949 * t705 - 0.6e1 / 0.5e1 * t704 * t3809; + const double t3956 = 0.474596e-1 * t3919 * t199 + 0.474596e-1 * t1366 * t631 + 0.474596e-1 * t663 * t1351 + 0.474596e-1 * t212 * t3759 + 0.56727466666666666666e-1 * t3828 + 0.56727466666666666666e-1 * t3929 - 0.54519192e1 * t1387 * t631 - 0.27259596e1 * t225 * t3759 - 0.35e2 / 0.4e1 * t2009 * t3828 - 0.7e1 / 0.2e1 * t2012 * t1351 - 0.7e1 / 0.2e1 * t699 * t3759 - 0.7e1 / 0.2e1 * t3941 * t631 - t235 * t3954; + const double t3957 = t3956 * t267; + const double t3961 = 0.5e1 / 0.6e1 * t3881; + const double t3965 = 0.5e1 * t3895; + const double t3973 = 0.25e2 / 0.18e2 * t254 * t729 * t1405; + const double t3977 = t735 * t3759; + const double t3981 = -0.5e1 / 0.2e1 * t3878 - t3961 - 0.15e2 / 0.4e1 * t3885 + 0.5e1 / 0.2e1 * t3889 + 0.15e2 * t3892 + t3965 + 0.25e2 / 0.2e1 * t3898 - 0.5e1 * t3901 - 0.25e2 / 0.6e1 * t2088 * t2089 * t3876 - t3973 - 0.35e2 / 0.12e2 * t2687 * t2688 * t3883 + 0.5e1 / 0.6e1 * t254 * t260 * t3977; + const double t3982 = t248 * t3981; + const double t3989 = -0.2e1 / 0.3e1 * t33 * t539 * t3845 - 0.78788148148148148148e-2 * t1293 * t1294 * t3850 - 0.78788148148148148148e-2 * t1895 * t1294 * t3854 + 0.2e1 / 0.3e1 * t33 * t45 * t3864 + 0.78788148148148148148e-2 * t1293 * t1294 * t3868 - t3875 + 0.26366444444444444444e-1 * t3904 * t226 - t3957 * t269 / 0.9e1 - t3982 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t2102 * t1351 - 0.47272888888888888889e-1 * t648 * t3759; + const double t3990 = t3919 * t223; + const double t3993 = t1366 * t683; + const double t3996 = t663 * t1376; + const double t3999 = t1399 * t740; + const double t4002 = t710 * t1409; + const double t4005 = t1922 * t1351; + const double t4006 = t4005 * t631; + const double t4011 = t1413 * t631; + const double t4020 = 0.26366444444444444444e-1 * t3990 * t226 + 0.26366444444444444444e-1 * t3993 * t226 + 0.26366444444444444444e-1 * t3996 * t226 - t3999 * t269 / 0.9e1 - t4002 * t269 / 0.9e1 - 0.4e1 / 0.3e1 * t268 * t4006 - 0.2e1 * t1431 * t1792 + 0.15819866666666666666e0 * t224 * t4011 + 0.2e1 * t1441 * t1798 + 0.2e1 * t3759 * t293 - 0.2e1 * t3809 * t299; + const double t4022 = -t3673 - 0.52732888888888888888e-1 * t1367 * t687 - 0.52732888888888888888e-1 * t1377 * t687 - 0.52732888888888888888e-1 * t664 * t1380 - 0.52732888888888888888e-1 * t684 * t1380 - 0.52732888888888888888e-1 * t224 * t3760 + t268 * t3763 / 0.3e1 + 0.2e1 * t3766 * t792 + 0.2e1 * t3769 * t792 + 0.2e1 * t3793 * t792 + t3843 + t3989 + t4020; + const double t4027 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t1444 - t3670 - 0.3e1 / 0.8e1 * t5 * t27 * t4022 ); + const double t4034 = t5 * t824 * t1600 / 0.8e1; + const double t4039 = t551 * t443; + const double t4042 = 0.26262716049382716049e-2 * t1449 * t4039 * t1508; + const double t4057 = t33 * t840 * t1526; + const double t4058 = t4057 / 0.6e1; + const double t4067 = t870 * t2240 * t1507; + const double t4068 = t4067 / 0.2e1; + const double t4082 = 0.5e1 / 0.6e1 * t4057; + const double t4085 = 0.5e1 * t4067; + const double t4092 = 0.25e2 / 0.18e2 * t254 * t892 * t1561; + const double t4109 = 0.2e1 / 0.9e1 * t33 * t840 * t1575; + const double t4110 = t2337 * t1507; + const double t4112 = t2349 * t1550; + const double t4293 = t1507 * t450; + const double t4294 = t4293 * t1155; + const double t4298 = t1508 * t1075; + const double t4302 = t1508 * t1159; + const double t4312 = t49 * t329; + const double t4313 = t371 * t1120; + const double t4314 = t4313 * t1149; + const double t4317 = t1082 * t1473; + const double t4318 = t4317 * t406; + const double t4321 = t48 * t1082; + const double t4324 = t334 * t1090; + const double t4327 = t1458 * t1095; + const double t4330 = t1462 * t1101; + const double t4333 = t341 * t1105; + const double t4336 = t1469 * t1110; + const double t4339 = -t57 * t4321 / 0.9e1 - t64 * t4324 / 0.8e1 - t74 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t4330 - t100 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t4336; + const double t4340 = t329 * t4339; + const double t4341 = t4340 * t406; + const double t4353 = t371 * t3316; + const double t4354 = t1501 * t1149; + const double t4355 = t4353 * t4354; + const double t4379 = -t122 * t1478 * t1122 / 0.18e2 - t130 * t4321 / 0.9e1 - t134 * t4324 / 0.8e1 - t138 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t4330 - t146 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t4336 - t154 * t1494 * t1140 / 0.1296e4 - t168 * t363 * t1145 / 0.2048e4; + const double t4380 = t1120 * t4379; + const double t4385 = piecewise_functor_3( t410, -t49 * t1084 / 0.9e1 + t49 * t1116 / 0.24e2 - t4312 * t4314 / 0.24e2 - t324 * t4318 / 0.9e1 + t324 * t4341 / 0.24e2 - t324 * t1474 * t1150 / 0.24e2 + t324 * t1083 * t1502 / 0.9e1 - t324 * t1115 * t1502 / 0.24e2 + t430 * t4355 / 0.12e2 - t324 * t372 * t4380 / 0.24e2, 0.0 ); + const double t4386 = t914 * t4385; + const double t4390 = piecewise_functor_3( t463, t4385, 0.0 ); + const double t4391 = t919 * t4390; + const double t4393 = -0.3e1 / 0.4e1 * t4110 * t1249 + 0.3e1 / 0.2e1 * t4386 + 0.3e1 / 0.4e1 * t4112 * t1252 - 0.3e1 / 0.2e1 * t4391; + const double t4405 = t1218 * t1565; + const double t4409 = t1507 * t1075; + const double t4411 = t2163 * t1450 * t4409; + const double t4413 = t1507 * t1159; + const double t4415 = t1449 * t2843 * t4413; + const double t4417 = t443 * t4385; + const double t4419 = t33 * t323 * t4417; + const double t4422 = t862 * t871 * t4409; + const double t4425 = t870 * t2243 * t4413; + const double t4428 = t870 * t871 * t4385; + const double t4436 = t898 * t4385; + const double t4440 = -0.5e1 / 0.2e1 * t4411 - t4082 - 0.15e2 / 0.4e1 * t4415 + 0.5e1 / 0.2e1 * t4419 + 0.15e2 * t4422 + t4085 + 0.25e2 / 0.2e1 * t4425 - 0.5e1 * t4428 - 0.25e2 / 0.6e1 * t2294 * t2295 * t4409 - t4092 - 0.35e2 / 0.12e2 * t2984 * t2985 * t4413 + 0.5e1 / 0.6e1 * t254 * t476 * t4436; + const double t4441 = t470 * t4440; + const double t4447 = t1095 * t1176; + const double t4451 = t99 * t341; + const double t4456 = -0.34684037264945845904e-1 * t49 * t1082 * t433 + 0.10838761645295576845e-2 * t655 * t4447 * sigma_bb - 0.45161506855398236853e-4 * t4451 * t1105 * t3551 + 0.42141105276909202774e1 * t4385; + const double t4465 = t1155 * t1507; + const double t4467 = t425 * t4385; + const double t4479 = t1206 * t1553; + const double t4482 = t3580 * t1507; + const double t4487 = t3586 * t1550; + const double t4492 = -0.3e1 / 0.5e1 * t4482 * t1155 + 0.6e1 / 0.5e1 * t1210 * t4385 + 0.3e1 / 0.5e1 * t4487 * t1213 - 0.6e1 / 0.5e1 * t1212 * t4390; + const double t4494 = 0.474596e-1 * t4456 * t425 + 0.474596e-1 * t1522 * t1155 + 0.474596e-1 * t1181 * t1507 + 0.474596e-1 * t438 * t4385 + 0.56727466666666666666e-1 * t4465 + 0.56727466666666666666e-1 * t4467 - 0.54519192e1 * t1543 * t1155 - 0.27259596e1 * t449 * t4385 - 0.35e2 / 0.4e1 * t3571 * t4465 - 0.7e1 / 0.2e1 * t3574 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4385 - 0.7e1 / 0.2e1 * t4479 * t1155 - t459 * t4492; + const double t4495 = t4494 * t483; + const double t4498 = t1555 * t1234; + const double t4501 = t4456 * t447; + const double t4504 = t1522 * t1191; + const double t4507 = t1181 * t1532; + const double t4516 = -t4411 / 0.2e1 - t4058 - 0.3e1 / 0.4e1 * t4415 + t4419 / 0.2e1 + 0.3e1 / 0.2e1 * t4422 + t4068 + 0.5e1 / 0.4e1 * t4425 - t4428 / 0.2e1; + const double t4517 = t438 * t4516; + const double t4520 = t4385 * t426; + const double t4524 = t1575 * t1075; + const double t4530 = -t4441 * t485 / 0.9e1 - t4495 * t485 / 0.9e1 - t4498 * t485 / 0.9e1 + 0.26366444444444444444e-1 * t4501 * t450 + 0.26366444444444444444e-1 * t4504 * t450 + 0.26366444444444444444e-1 * t4507 * t450 + 0.26366444444444444444e-1 * t4517 * t450 + 0.78788148148148148148e-2 * t1449 * t1450 * t4520 - 0.2e1 / 0.3e1 * t33 * t828 * t4524 - t4042 - 0.2e1 * t1587 * t3405; + const double t4532 = t1569 * t1155; + const double t4537 = t1239 * t4385; + const double t4540 = t1507 * t1271; + const double t4543 = t1155 * t1586; + const double t4546 = t507 * t1249; + const double t4551 = t936 * t1269; + const double t4556 = t1583 * t1269; + const double t4558 = t1526 * t1159; + const double t4561 = t420 * t4385; + const double t4564 = -0.3e1 / 0.4e1 * t4110 * t4546 + 0.3e1 / 0.2e1 * t4386 * t507 - 0.3e1 / 0.2e1 * t1572 * t4551 - t2872 * t1583 / 0.2e1 + t2377 * t4556 + t937 * t4558 / 0.4e1 - t937 * t4561 / 0.2e1; + const double t4565 = t411 * t4564; + const double t4568 = t507 * t1252; + const double t4582 = -0.3e1 / 0.4e1 * t4112 * t4568 + 0.3e1 / 0.2e1 * t4391 * t507 - 0.3e1 / 0.2e1 * t1573 * t4551 - t2896 * t1583 / 0.2e1 + t2405 * t4556 + t951 * t4558 / 0.4e1 - t951 * t4561 / 0.2e1; + const double t4583 = t465 * t4582; + const double t4594 = 0.15819866666666666666e0 * t448 * t4532 + t1235 * t1569 / 0.3e1 + t484 * t4537 / 0.3e1 + 0.2e1 * t4540 * t945 + 0.2e1 * t4543 * t945 + 0.2e1 * t4565 * t945 - 0.2e1 * t4583 * t956 - 0.2e1 * t1597 * t3475 + 0.94545777777777777778e-1 * t3653 * t4465 - 0.52732888888888888888e-1 * t1523 * t1195 - 0.52732888888888888888e-1 * t1533 * t1195; + const double t4599 = t485 * t4385; + const double t4610 = t1550 * t1281; + const double t4613 = t1213 * t1596; + const double t4618 = t3500 * t1507; + const double t4619 = t4618 * t1155; + const double t4622 = -0.52732888888888888888e-1 * t1182 * t1536 - 0.52732888888888888888e-1 * t1192 * t1536 - 0.52732888888888888888e-1 * t448 * t4599 + t1556 * t1240 / 0.3e1 + t1566 * t1240 / 0.3e1 + t1219 * t1569 / 0.3e1 + 0.2e1 * t1587 * t3458 - 0.2e1 * t4610 * t956 - 0.2e1 * t4613 * t956 + 0.2e1 * t1597 * t3408 - 0.4e1 / 0.3e1 * t484 * t4619; + const double t4624 = -0.78788148148148148148e-2 * t1449 * t1450 * t4294 - 0.78788148148148148148e-2 * t2163 * t1450 * t4298 - 0.11818222222222222222e-1 * t1449 * t2843 * t4302 + 0.2e1 / 0.3e1 * t33 * t323 * t4393 - t4109 - 0.2e1 * t4390 * t515 + 0.2e1 * t4385 * t509 - 0.47272888888888888889e-1 * t3642 * t1507 - 0.47272888888888888889e-1 * t1167 * t4385 - t4405 * t485 / 0.9e1 + t4530 + t4594 + t4622; + const double t4629 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t1600 - t4034 - 0.3e1 / 0.8e1 * t5 * t316 * t4624 ); + const double t4631 = t1441 * t1796; + const double t4632 = t290 * t762; + const double t4633 = t4632 * t1394; + const double t4636 = t1351 * t1351; + const double t4637 = t1654 * t4636; + const double t4641 = t3687 * t1345; + const double t4644 = t1321 * t68; + const double t4647 = t76 * t81; + const double t4650 = t88 * t65; + const double t4651 = t4650 * t93; + const double t4654 = sigma_aa * t103; + const double t4657 = t110 * t66; + const double t4658 = t4657 * t115; + const double t4661 = t64 * t4644 / 0.64e2 + t74 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4651 + t100 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4658; + const double t4662 = t55 * t4661; + const double t4663 = t4662 * t176; + const double t4669 = t1345 * t1345; + const double t4670 = t1706 * t4669; + const double t4674 = 0.1e1 / t66; + const double t4675 = t32 * t4674; + const double t4689 = t156 * t77; + const double t4696 = -t122 * t4675 * t125 / 0.48e2 + t134 * t4644 / 0.64e2 + t138 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4651 + t146 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4658 + t154 * t4689 * t161 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t89 * t171; + const double t4697 = t596 * t4696; + const double t4702 = piecewise_functor_3( t180, t49 * t1319 / 0.12e2 - t3686 * t4641 / 0.12e2 + t50 * t4663 / 0.24e2 - t50 * t1318 * t1346 / 0.12e2 + t50 * t120 * t4670 / 0.12e2 - t50 * t120 * t4697 / 0.24e2, 0.0 ); + const double t4703 = t756 * t4702; + const double t4705 = t1394 * t1394; + const double t4706 = t1776 * t4705; + const double t4708 = piecewise_functor_3( t241, t4702, 0.0 ); + const double t4709 = t762 * t4708; + const double t4711 = -0.27e2 / 0.4e1 * t4637 + 0.3e1 / 0.2e1 * t4703 + 0.27e2 / 0.4e1 * t4706 - 0.3e1 / 0.2e1 * t4709; + const double t4715 = t1431 * t1790; + const double t4716 = t290 * t756; + const double t4717 = t4716 * t1351; + const double t4720 = t804 * t194; + const double t4721 = t4720 * t1351; + const double t4723 = t791 * t194; + const double t4724 = t4723 * t1351; + const double t4731 = t99 * sigma_aa; + const double t4736 = -0.27096904113238942112e-3 * t655 * t81 * t658 + 0.1693556507077433882e-4 * t4731 * t103 * t1989 + 0.42141105276909202774e1 * t4702; + const double t4744 = t199 * t4702; + const double t4764 = -0.3e1 / 0.5e1 * t2018 * t4636 + 0.6e1 / 0.5e1 * t702 * t4702 + 0.3e1 / 0.5e1 * t2024 * t4705 - 0.6e1 / 0.5e1 * t704 * t4708; + const double t4766 = 0.474596e-1 * t4736 * t199 + 0.949192e-1 * t1366 * t1351 + 0.474596e-1 * t212 * t4702 + 0.56727466666666666666e-1 * t4636 + 0.56727466666666666666e-1 * t4744 - 0.54519192e1 * t199 * t4636 - 0.27259596e1 * t225 * t4702 - 0.35e2 / 0.4e1 * t2009 * t4636 - 0.7e1 * t3941 * t1351 - 0.7e1 / 0.2e1 * t699 * t4702 - t235 * t4764; + const double t4767 = t4766 * t267; + const double t4770 = t1399 * t1409; + const double t4773 = t263 * t4636; + const double t4775 = t33 * t45 * t4773; + const double t4777 = t219 * t4702; + const double t4779 = t33 * t45 * t4777; + const double t4782 = t678 * t1968 * t4636; + const double t4785 = t678 * t679 * t4702; + const double t4787 = t2071 * t4636; + const double t4791 = t735 * t4702; + const double t4795 = -0.15e2 / 0.4e1 * t4775 + 0.5e1 / 0.2e1 * t4779 + 0.25e2 / 0.2e1 * t4782 - 0.5e1 * t4785 - 0.35e2 / 0.12e2 * t254 * t260 * t4787 + 0.5e1 / 0.6e1 * t254 * t260 * t4791; + const double t4796 = t248 * t4795; + const double t4801 = t4736 * t223; + const double t4804 = t1366 * t1376; + const double t4811 = -0.3e1 / 0.4e1 * t4775 + t4779 / 0.2e1 + 0.5e1 / 0.4e1 * t4782 - t4785 / 0.2e1; + const double t4812 = t212 * t4811; + const double t4815 = t4702 * t200; + const double t4819 = t4636 * t200; + const double t4823 = 0.3e1 * t4631 * t4633 + 0.2e1 / 0.3e1 * t33 * t45 * t4711 - 0.3e1 * t4715 * t4717 - t1441 * t4721 + t1431 * t4724 + 0.94545777777777777778e-1 * t1936 * t4636 - t4767 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t4770 * t269 - t4796 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t648 * t4702 + 0.26366444444444444444e-1 * t4801 * t226 + 0.52732888888888888888e-1 * t4804 * t226 + 0.26366444444444444444e-1 * t4812 * t226 + 0.78788148148148148148e-2 * t1293 * t1294 * t4815 - 0.11818222222222222222e-1 * t1293 * t2534 * t4819; + const double t4824 = t4636 * t226; + const double t4832 = t756 * t4636; + const double t4833 = t783 * t194; + const double t4836 = 0.1e1 / t192; + const double t4837 = t4836 * t4636; + const double t4840 = t219 * t4636; + const double t4843 = t194 * t4702; + const double t4846 = -0.27e2 / 0.4e1 * t4637 * t291 + 0.3e1 / 0.2e1 * t4703 * t291 - 0.3e1 / 0.2e1 * t4832 * t4833 + t1875 * t4837 / 0.2e1 + t784 * t4840 / 0.4e1 - t784 * t4843 / 0.2e1; + const double t4847 = t181 * t4846; + const double t4850 = t1394 * t1440; + const double t4857 = t4833 * t1351; + const double t4866 = -0.27e2 / 0.4e1 * t4706 * t291 + 0.3e1 / 0.2e1 * t4709 * t291 - 0.3e1 / 0.2e1 * t1417 * t4857 + t1829 * t4837 / 0.2e1 + t800 * t4840 / 0.4e1 - t800 * t4843 / 0.2e1; + const double t4867 = t243 * t4866; + const double t4874 = t269 * t4702; + const double t4881 = t745 * t4702; + const double t4888 = t1922 * t4636; + const double t4891 = t745 * t4636; + const double t4894 = t1351 * t1430; + const double t4897 = -0.1575762962962962963e-1 * t1293 * t1294 * t4824 + 0.2e1 * t4847 * t792 - 0.4e1 * t4850 * t805 - 0.2e1 * t4867 * t805 - 0.10546577777777777778e0 * t1367 * t1380 - 0.10546577777777777778e0 * t1377 * t1380 - 0.52732888888888888888e-1 * t224 * t4874 + 0.2e1 / 0.3e1 * t1400 * t1413 + 0.2e1 / 0.3e1 * t1410 * t1413 + t268 * t4881 / 0.3e1 - 0.2e1 * t4708 * t299 + 0.2e1 * t4702 * t293 - 0.4e1 / 0.3e1 * t268 * t4888 + 0.15819866666666666666e0 * t224 * t4891 + 0.4e1 * t4894 * t792; + const double t4898 = t4823 + t4897; + const double t4902 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t4898 ); + const double t4903 = t1587 * t2392; + const double t4904 = t506 * t914; + const double t4905 = t4904 * t1507; + const double t4908 = t1597 * t2414; + const double t4909 = t506 * t919; + const double t4910 = t4909 * t1550; + const double t4913 = t1507 * t1507; + const double t4914 = t2337 * t4913; + const double t4918 = t4313 * t1501; + const double t4921 = t1477 * t337; + const double t4924 = t76 * t345; + const double t4927 = t88 * t334; + const double t4928 = t4927 * t353; + const double t4931 = sigma_bb * t359; + const double t4934 = t110 * t335; + const double t4935 = t4934 * t367; + const double t4938 = t64 * t4921 / 0.64e2 + t74 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4928 + t100 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4935; + const double t4939 = t329 * t4938; + const double t4940 = t4939 * t406; + const double t4946 = t1501 * t1501; + const double t4947 = t3316 * t4946; + const double t4951 = 0.1e1 / t335; + const double t4952 = t32 * t4951; + const double t4966 = t156 * t341; + const double t4973 = -t122 * t4952 * t375 / 0.48e2 + t134 * t4921 / 0.64e2 + t138 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4928 + t146 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4935 + t154 * t4966 * t395 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t349 * t401; + const double t4974 = t1120 * t4973; + const double t4979 = piecewise_functor_3( t410, t49 * t1475 / 0.12e2 - t4312 * t4918 / 0.12e2 + t324 * t4940 / 0.24e2 - t324 * t1474 * t1502 / 0.12e2 + t324 * t372 * t4947 / 0.12e2 - t324 * t372 * t4974 / 0.24e2, 0.0 ); + const double t4980 = t914 * t4979; + const double t4982 = t1550 * t1550; + const double t4983 = t2349 * t4982; + const double t4985 = piecewise_functor_3( t463, t4979, 0.0 ); + const double t4986 = t919 * t4985; + const double t4988 = -0.27e2 / 0.4e1 * t4914 + 0.3e1 / 0.2e1 * t4980 + 0.27e2 / 0.4e1 * t4983 - 0.3e1 / 0.2e1 * t4986; + const double t5000 = t1239 * t4979; + const double t5003 = t1507 * t1586; + const double t5010 = t914 * t4913; + const double t5011 = t936 * t420; + const double t5014 = 0.1e1 / t418; + const double t5015 = t5014 * t4913; + const double t5018 = t443 * t4913; + const double t5021 = t420 * t4979; + const double t5024 = -0.27e2 / 0.4e1 * t4914 * t507 + 0.3e1 / 0.2e1 * t4980 * t507 - 0.3e1 / 0.2e1 * t5010 * t5011 + t2377 * t5015 / 0.2e1 + t937 * t5018 / 0.4e1 - t937 * t5021 / 0.2e1; + const double t5025 = t411 * t5024; + const double t5028 = t1550 * t1596; + const double t5031 = t3500 * t4913; + const double t5034 = t1239 * t4913; + const double t5040 = t99 * sigma_bb; + const double t5045 = -0.27096904113238942112e-3 * t655 * t345 * t1176 + 0.1693556507077433882e-4 * t5040 * t359 * t3551 + 0.42141105276909202774e1 * t4979; + const double t5053 = t425 * t4979; + const double t5073 = -0.3e1 / 0.5e1 * t3580 * t4913 + 0.6e1 / 0.5e1 * t1210 * t4979 + 0.3e1 / 0.5e1 * t3586 * t4982 - 0.6e1 / 0.5e1 * t1212 * t4985; + const double t5075 = 0.474596e-1 * t5045 * t425 + 0.949192e-1 * t1522 * t1507 + 0.474596e-1 * t438 * t4979 + 0.56727466666666666666e-1 * t4913 + 0.56727466666666666666e-1 * t5053 - 0.54519192e1 * t425 * t4913 - 0.27259596e1 * t449 * t4979 - 0.35e2 / 0.4e1 * t3571 * t4913 - 0.7e1 * t4479 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4979 - t459 * t5073; + const double t5076 = t5075 * t483; + const double t5079 = t1555 * t1565; + const double t5082 = -0.3e1 * t4903 * t4905 + 0.3e1 * t4908 * t4910 + 0.2e1 / 0.3e1 * t33 * t323 * t4988 + 0.94545777777777777778e-1 * t3653 * t4913 - 0.2e1 * t4985 * t515 + 0.2e1 * t4979 * t509 + 0.2e1 / 0.3e1 * t1566 * t1569 + t484 * t5000 / 0.3e1 + 0.4e1 * t5003 * t945 + 0.2e1 * t5025 * t945 - 0.4e1 * t5028 * t956 - 0.4e1 / 0.3e1 * t484 * t5031 + 0.15819866666666666666e0 * t448 * t5034 - t5076 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t5079 * t485; + const double t5083 = t479 * t4913; + const double t5085 = t33 * t323 * t5083; + const double t5087 = t443 * t4979; + const double t5089 = t33 * t323 * t5087; + const double t5092 = t870 * t2243 * t4913; + const double t5095 = t870 * t871 * t4979; + const double t5097 = t2301 * t4913; + const double t5101 = t898 * t4979; + const double t5105 = -0.15e2 / 0.4e1 * t5085 + 0.5e1 / 0.2e1 * t5089 + 0.25e2 / 0.2e1 * t5092 - 0.5e1 * t5095 - 0.35e2 / 0.12e2 * t254 * t476 * t5097 + 0.5e1 / 0.6e1 * t254 * t476 * t5101; + const double t5106 = t470 * t5105; + const double t5111 = t5045 * t447; + const double t5114 = t1522 * t1532; + const double t5121 = -0.3e1 / 0.4e1 * t5085 + t5089 / 0.2e1 + 0.5e1 / 0.4e1 * t5092 - t5095 / 0.2e1; + const double t5122 = t438 * t5121; + const double t5129 = t5011 * t1507; + const double t5138 = -0.27e2 / 0.4e1 * t4983 * t507 + 0.3e1 / 0.2e1 * t4986 * t507 - 0.3e1 / 0.2e1 * t1573 * t5129 + t2405 * t5015 / 0.2e1 + t951 * t5018 / 0.4e1 - t951 * t5021 / 0.2e1; + const double t5139 = t465 * t5138; + const double t5146 = t485 * t4979; + const double t5151 = t4979 * t426; + const double t5155 = t4913 * t450; + const double t5159 = t4913 * t426; + const double t5163 = t944 * t420; + const double t5164 = t5163 * t1507; + const double t5166 = t955 * t420; + const double t5167 = t5166 * t1507; + const double t5169 = -t5106 * t485 / 0.9e1 - 0.47272888888888888889e-1 * t1167 * t4979 + 0.26366444444444444444e-1 * t5111 * t450 + 0.52732888888888888888e-1 * t5114 * t450 + 0.26366444444444444444e-1 * t5122 * t450 - 0.2e1 * t5139 * t956 - 0.10546577777777777778e0 * t1523 * t1536 - 0.10546577777777777778e0 * t1533 * t1536 - 0.52732888888888888888e-1 * t448 * t5146 + 0.2e1 / 0.3e1 * t1556 * t1569 + 0.78788148148148148148e-2 * t1449 * t1450 * t5151 - 0.1575762962962962963e-1 * t1449 * t1450 * t5155 - 0.11818222222222222222e-1 * t1449 * t2843 * t5159 + t1587 * t5164 - t1597 * t5167; + const double t5170 = t5082 + t5169; + const double t5174 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t5170 ); + + + v2rho2_aa = 0.2e1 * t813 + 0.2e1 * t964 + t6 * ( t2120 + t2427 ); + v2rho2_bb = 0.2e1 * t1061 + 0.2e1 * t1290 + t6 * ( t3248 + t3662 ); + v2rhosigma_a_aa = t4027 * t6 + t1448; + v2rhosigma_b_bb = t4629 * t6 + t1604; + v2sigma2_aa_aa = t6 * t4902; + v2sigma2_bb_bb = t6 * t5174; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t5 = t2 / t3; + constexpr double t28 = t2 * t2; + constexpr double t32 = 0.1e1 / t31; + constexpr double t47 = t31 * t31; + constexpr double t48 = 0.1e1 / t47; + constexpr double t49 = t46 * t48; + constexpr double t57 = a_0 * t46; + constexpr double t63 = 0.1e1 / t30; + constexpr double t64 = a_1 * t63; + constexpr double t73 = t46 * t46; + constexpr double t74 = a_2 * t73; + constexpr double t76 = 0.1e1 / t31 / t30; + constexpr double t86 = a_3 * t46; + constexpr double t88 = 0.1e1 / t47 / t30; + constexpr double t98 = t30 * t30; + constexpr double t99 = 0.1e1 / t98; + constexpr double t100 = a_4 * t99; + constexpr double t108 = a_5 * t73; + constexpr double t110 = 0.1e1 / t31 / t98; + constexpr double t122 = b_0 * t73; + constexpr double t130 = b_1 * t46; + constexpr double t134 = b_2 * t63; + constexpr double t138 = b_3 * t73; + constexpr double t142 = b_4 * t46; + constexpr double t146 = b_5 * t99; + constexpr double t150 = b_6 * t73; + constexpr double t154 = b_7 * t46; + constexpr double t156 = 0.1e1 / t47 / t98; + constexpr double t168 = b_8 / t98 / t30; + constexpr double t655 = t73 * t76; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t17 = t16 * t7; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t17 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t29 = omega * t28; + const double t33 = t29 * t32; + const double t35 = 0.1e1 + t17 <= zeta_tol; + const double t37 = 0.1e1 - t17 <= zeta_tol; + const double t38 = piecewise_functor_5( t35, t11, t37, t15, t17 ); + const double t39 = 0.1e1 + t38; + const double t40 = t39 <= zeta_tol; + const double t41 = safe_math::cbrt( t39 ); + const double t42 = piecewise_functor_3( t40, t21, t41 ); + const double t43 = 0.1e1 / t42; + const double t44 = 0.1e1 / t26; + const double t45 = t43 * t44; + const double t50 = t49 * sigma_aa; + const double t51 = rho_a * rho_a; + const double t52 = safe_math::cbrt( rho_a ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t58 = t48 * sigma_aa; + const double t59 = t58 * t55; + const double t65 = safe_math::sqrt( sigma_aa ); + const double t66 = t65 * sigma_aa; + const double t67 = t51 * t51; + const double t68 = 0.1e1 / t67; + const double t69 = t66 * t68; + const double t77 = sigma_aa * sigma_aa; + const double t78 = t76 * t77; + const double t79 = t67 * rho_a; + const double t81 = 0.1e1 / t52 / t79; + const double t82 = t78 * t81; + const double t89 = t65 * t77; + const double t90 = t88 * t89; + const double t91 = t67 * t51; + const double t93 = 0.1e1 / t53 / t91; + const double t94 = t90 * t93; + const double t101 = t77 * sigma_aa; + const double t102 = t67 * t67; + const double t103 = 0.1e1 / t102; + const double t104 = t101 * t103; + const double t111 = t65 * t101; + const double t112 = t110 * t111; + const double t113 = t102 * rho_a; + const double t115 = 0.1e1 / t52 / t113; + const double t116 = t112 * t115; + const double t119 = t57 * t59 / 0.24e2 + t64 * t69 / 0.48e2 + t74 * t82 / 0.576e3 + t86 * t94 / 0.1152e4 + t100 * t104 / 0.2304e4 + t108 * t116 / 0.27648e5; + const double t120 = t55 * t119; + const double t123 = t32 * t65; + const double t125 = 0.1e1 / t52 / rho_a; + const double t157 = t77 * t77; + const double t158 = t156 * t157; + const double t159 = t102 * t51; + const double t161 = 0.1e1 / t53 / t159; + const double t169 = t65 * t157; + const double t170 = t102 * t67; + const double t171 = 0.1e1 / t170; + const double t175 = 0.1e1 + t122 * t123 * t125 / 0.12e2 + t130 * t59 / 0.24e2 + t134 * t69 / 0.48e2 + t138 * t82 / 0.576e3 + t142 * t94 / 0.1152e4 + t146 * t104 / 0.2304e4 + t150 * t116 / 0.27648e5 + t154 * t158 * t161 / 0.55296e5 + t168 * t169 * t171 / 0.110592e6; + const double t176 = 0.1e1 / t175; + const double t177 = t120 * t176; + const double t179 = t50 * t177 / 0.24e2; + const double t180 = 0.1e-9 < t179; + const double t181 = piecewise_functor_3( t180, t179, 1e-10 ); + const double t182 = omega * omega; + const double t183 = t182 * t2; + const double t184 = t42 * t42; + const double t185 = 0.1e1 / t184; + const double t186 = t48 * t185; + const double t187 = t26 * t26; + const double t188 = 0.1e1 / t187; + const double t190 = t183 * t186 * t188; + const double t192 = 0.60965e0 + t181 + t190 / 0.3e1; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t196 = t33 * t45 * t194; + const double t198 = 0.1e1 - t196 / 0.3e1; + const double t199 = 0.60965e0 + t181; + const double t200 = 0.1e1 / t199; + const double t203 = sigma_aa * t55; + const double t204 = t49 * t203; + const double t206 = 0.1e1 + t204 / 0.96e2; + const double t207 = 0.1e1 / t206; + const double t212 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t203 * t207 + 0.42141105276909202774e1 * t181; + const double t214 = t182 * omega * t63; + const double t215 = t184 * t42; + const double t216 = 0.1e1 / t215; + const double t217 = t216 * t7; + const double t219 = 0.1e1 / t193 / t192; + const double t221 = t214 * t217 * t219; + const double t223 = 0.2e1 - t196 + t221 / 0.3e1; + const double t224 = t212 * t223; + const double t225 = t199 * t199; + const double t226 = 0.1e1 / t225; + const double t232 = t225 * t199; + const double t234 = safe_math::sqrt( t199 ); + const double t235 = t234 * t232; + const double t236 = safe_math::sqrt( M_PI ); + const double t237 = 0.4e1 / 0.5e1 * t236; + const double t238 = safe_math::sqrt( t181 ); + const double t241 = 0.e0 < 0.7572109999e0 + t181; + const double t243 = piecewise_functor_3( t241, 0.757211e0 + t181, 1e-10 ); + const double t244 = safe_math::sqrt( t243 ); + const double t246 = t237 + 0.12e2 / 0.5e1 * t238 - 0.12e2 / 0.5e1 * t244; + const double t248 = 0.474596e-1 * t212 * t199 + 0.28363733333333333333e-1 * t225 - 0.9086532e0 * t232 - t235 * t246; + const double t251 = t182 * t182; + const double t253 = t251 * omega * t2; + const double t254 = t253 * t88; + const double t255 = t184 * t184; + const double t257 = 0.1e1 / t255 / t42; + const double t259 = 0.1e1 / t187 / t6; + const double t260 = t257 * t259; + const double t261 = t192 * t192; + const double t263 = 0.1e1 / t193 / t261; + const double t267 = 0.8e1 - 0.5e1 * t196 + 0.1e2 / 0.3e1 * t221 - t254 * t260 * t263 / 0.3e1; + const double t268 = t248 * t267; + const double t269 = 0.1e1 / t232; + const double t273 = 0.3e1 * t190; + const double t274 = 0.9e1 * t181 + t273; + const double t275 = safe_math::sqrt( t274 ); + const double t277 = 0.9e1 * t243 + t273; + const double t278 = safe_math::sqrt( t277 ); + const double t280 = t275 / 0.3e1 - t278 / 0.3e1; + const double t284 = t32 * t43; + const double t286 = t29 * t284 * t44; + const double t288 = t286 / 0.3e1 + t275 / 0.3e1; + const double t290 = t286 / 0.3e1 + t193; + const double t291 = 0.1e1 / t290; + const double t293 = safe_math::log( t288 * t291 ); + const double t297 = t286 / 0.3e1 + t278 / 0.3e1; + const double t299 = safe_math::log( t297 * t291 ); + const double t302 = 0.757211e0 + 0.47272888888888888889e-1 * t198 * t200 + 0.26366444444444444444e-1 * t224 * t226 - t268 * t269 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t45 * t280 + 0.2e1 * t181 * t293 - 0.2e1 * t243 * t299; + const double t306 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t302 ); + const double t307 = rho_b <= dens_tol; + const double t308 = -t16; + const double t310 = piecewise_functor_5( t14, t11, t10, t15, t308 * t7 ); + const double t311 = 0.1e1 + t310; + const double t312 = t311 <= zeta_tol; + const double t313 = safe_math::cbrt( t311 ); + const double t315 = piecewise_functor_3( t312, t22, t313 * t311 ); + const double t316 = t315 * t26; + const double t317 = piecewise_functor_5( t37, t11, t35, t15, -t17 ); + const double t318 = 0.1e1 + t317; + const double t319 = t318 <= zeta_tol; + const double t320 = safe_math::cbrt( t318 ); + const double t321 = piecewise_functor_3( t319, t21, t320 ); + const double t322 = 0.1e1 / t321; + const double t323 = t322 * t44; + const double t324 = t49 * sigma_bb; + const double t325 = rho_b * rho_b; + const double t326 = safe_math::cbrt( rho_b ); + const double t327 = t326 * t326; + const double t329 = 0.1e1 / t327 / t325; + const double t330 = t48 * sigma_bb; + const double t331 = t330 * t329; + const double t334 = safe_math::sqrt( sigma_bb ); + const double t335 = t334 * sigma_bb; + const double t336 = t325 * t325; + const double t337 = 0.1e1 / t336; + const double t338 = t335 * t337; + const double t341 = sigma_bb * sigma_bb; + const double t342 = t76 * t341; + const double t343 = t336 * rho_b; + const double t345 = 0.1e1 / t326 / t343; + const double t346 = t342 * t345; + const double t349 = t334 * t341; + const double t350 = t88 * t349; + const double t351 = t336 * t325; + const double t353 = 0.1e1 / t327 / t351; + const double t354 = t350 * t353; + const double t357 = t341 * sigma_bb; + const double t358 = t336 * t336; + const double t359 = 0.1e1 / t358; + const double t360 = t357 * t359; + const double t363 = t334 * t357; + const double t364 = t110 * t363; + const double t365 = t358 * rho_b; + const double t367 = 0.1e1 / t326 / t365; + const double t368 = t364 * t367; + const double t371 = t57 * t331 / 0.24e2 + t64 * t338 / 0.48e2 + t74 * t346 / 0.576e3 + t86 * t354 / 0.1152e4 + t100 * t360 / 0.2304e4 + t108 * t368 / 0.27648e5; + const double t372 = t329 * t371; + const double t373 = t32 * t334; + const double t375 = 0.1e1 / t326 / rho_b; + const double t391 = t341 * t341; + const double t392 = t156 * t391; + const double t393 = t358 * t325; + const double t395 = 0.1e1 / t327 / t393; + const double t399 = t334 * t391; + const double t400 = t358 * t336; + const double t401 = 0.1e1 / t400; + const double t405 = 0.1e1 + t122 * t373 * t375 / 0.12e2 + t130 * t331 / 0.24e2 + t134 * t338 / 0.48e2 + t138 * t346 / 0.576e3 + t142 * t354 / 0.1152e4 + t146 * t360 / 0.2304e4 + t150 * t368 / 0.27648e5 + t154 * t392 * t395 / 0.55296e5 + t168 * t399 * t401 / 0.110592e6; + const double t406 = 0.1e1 / t405; + const double t407 = t372 * t406; + const double t409 = t324 * t407 / 0.24e2; + const double t410 = 0.1e-9 < t409; + const double t411 = piecewise_functor_3( t410, t409, 1e-10 ); + const double t412 = t321 * t321; + const double t413 = 0.1e1 / t412; + const double t414 = t48 * t413; + const double t416 = t183 * t414 * t188; + const double t418 = 0.60965e0 + t411 + t416 / 0.3e1; + const double t419 = safe_math::sqrt( t418 ); + const double t420 = 0.1e1 / t419; + const double t422 = t33 * t323 * t420; + const double t424 = 0.1e1 - t422 / 0.3e1; + const double t425 = 0.60965e0 + t411; + const double t426 = 0.1e1 / t425; + const double t429 = sigma_bb * t329; + const double t430 = t49 * t429; + const double t432 = 0.1e1 + t430 / 0.96e2; + const double t433 = 0.1e1 / t432; + const double t438 = 0.1e1 + 0.13006513974354692214e-1 * t49 * t429 * t433 + 0.42141105276909202774e1 * t411; + const double t439 = t412 * t321; + const double t440 = 0.1e1 / t439; + const double t441 = t440 * t7; + const double t443 = 0.1e1 / t419 / t418; + const double t445 = t214 * t441 * t443; + const double t447 = 0.2e1 - t422 + t445 / 0.3e1; + const double t448 = t438 * t447; + const double t449 = t425 * t425; + const double t450 = 0.1e1 / t449; + const double t456 = t449 * t425; + const double t458 = safe_math::sqrt( t425 ); + const double t459 = t458 * t456; + const double t460 = safe_math::sqrt( t411 ); + const double t463 = 0.e0 < 0.7572109999e0 + t411; + const double t465 = piecewise_functor_3( t463, 0.757211e0 + t411, 1e-10 ); + const double t466 = safe_math::sqrt( t465 ); + const double t468 = t237 + 0.12e2 / 0.5e1 * t460 - 0.12e2 / 0.5e1 * t466; + const double t470 = 0.474596e-1 * t438 * t425 + 0.28363733333333333333e-1 * t449 - 0.9086532e0 * t456 - t459 * t468; + const double t473 = t412 * t412; + const double t475 = 0.1e1 / t473 / t321; + const double t476 = t475 * t259; + const double t477 = t418 * t418; + const double t479 = 0.1e1 / t419 / t477; + const double t483 = 0.8e1 - 0.5e1 * t422 + 0.1e2 / 0.3e1 * t445 - t254 * t476 * t479 / 0.3e1; + const double t484 = t470 * t483; + const double t485 = 0.1e1 / t456; + const double t489 = 0.3e1 * t416; + const double t490 = 0.9e1 * t411 + t489; + const double t491 = safe_math::sqrt( t490 ); + const double t493 = 0.9e1 * t465 + t489; + const double t494 = safe_math::sqrt( t493 ); + const double t496 = t491 / 0.3e1 - t494 / 0.3e1; + const double t500 = t32 * t322; + const double t502 = t29 * t500 * t44; + const double t504 = t502 / 0.3e1 + t491 / 0.3e1; + const double t506 = t502 / 0.3e1 + t419; + const double t507 = 0.1e1 / t506; + const double t509 = safe_math::log( t504 * t507 ); + const double t513 = t502 / 0.3e1 + t494 / 0.3e1; + const double t515 = safe_math::log( t513 * t507 ); + const double t518 = 0.757211e0 + 0.47272888888888888889e-1 * t424 * t426 + 0.26366444444444444444e-1 * t448 * t450 - t484 * t485 / 0.9e1 + 0.2e1 / 0.3e1 * t33 * t323 * t496 + 0.2e1 * t411 * t509 - 0.2e1 * t465 * t515; + const double t522 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t518 ); + const double t523 = t6 * t6; + const double t524 = 0.1e1 / t523; + const double t525 = t16 * t524; + const double t526 = t7 - t525; + const double t527 = piecewise_functor_5( t10, 0.0, t14, 0.0, t526 ); + const double t530 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t527 ); + const double t531 = t530 * t26; + const double t535 = t25 * t188; + const double t538 = t5 * t535 * t302 / 0.8e1; + const double t539 = t185 * t44; + const double t540 = t41 * t41; + const double t541 = 0.1e1 / t540; + const double t542 = piecewise_functor_5( t35, 0.0, t37, 0.0, t526 ); + const double t545 = piecewise_functor_3( t40, 0.0, t541 * t542 / 0.3e1 ); + const double t546 = t194 * t545; + const double t548 = t33 * t539 * t546; + const double t551 = 0.1e1 / t26 / t6; + const double t552 = t43 * t551; + const double t554 = t33 * t552 * t194; + const double t555 = t554 / 0.9e1; + const double t556 = t51 * rho_a; + const double t558 = 0.1e1 / t53 / t556; + const double t559 = t558 * t119; + const double t560 = t559 * t176; + const double t563 = t58 * t558; + const double t566 = 0.1e1 / t79; + const double t567 = t66 * t566; + const double t571 = 0.1e1 / t52 / t91; + const double t572 = t78 * t571; + const double t575 = t67 * t556; + const double t577 = 0.1e1 / t53 / t575; + const double t578 = t90 * t577; + const double t581 = 0.1e1 / t113; + const double t582 = t101 * t581; + const double t586 = 0.1e1 / t52 / t159; + const double t587 = t112 * t586; + const double t590 = -t57 * t563 / 0.9e1 - t64 * t567 / 0.12e2 - t74 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t578 - t100 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t587; + const double t591 = t55 * t590; + const double t592 = t591 * t176; + const double t595 = t175 * t175; + const double t596 = 0.1e1 / t595; + const double t598 = 0.1e1 / t52 / t51; + const double t614 = t102 * t556; + const double t616 = 0.1e1 / t53 / t614; + const double t620 = t102 * t79; + const double t621 = 0.1e1 / t620; + const double t625 = -t122 * t123 * t598 / 0.9e1 - t130 * t563 / 0.9e1 - t134 * t567 / 0.12e2 - t138 * t572 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t578 - t146 * t582 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t587 - t154 * t158 * t616 / 0.5184e4 - t168 * t169 * t621 / 0.9216e4; + const double t626 = t596 * t625; + const double t631 = piecewise_functor_3( t180, -t50 * t560 / 0.9e1 + t50 * t592 / 0.24e2 - t50 * t120 * t626 / 0.24e2, 0.0 ); + const double t632 = t183 * t48; + const double t633 = t216 * t188; + const double t635 = t632 * t633 * t545; + const double t638 = t183 * t186 * t259; + const double t639 = 0.2e1 / 0.9e1 * t638; + const double t640 = t631 - 0.2e1 / 0.3e1 * t635 - t639; + const double t641 = t219 * t640; + const double t643 = t33 * t45 * t641; + const double t645 = t548 / 0.3e1 + t555 + t643 / 0.6e1; + const double t648 = t198 * t226; + const double t651 = sigma_aa * t558; + const double t657 = t206 * t206; + const double t658 = 0.1e1 / t657; + const double t663 = -0.34684037264945845904e-1 * t49 * t651 * t207 + 0.36129205484318589483e-3 * t655 * t77 * t571 * t658 + 0.42141105276909202774e1 * t631; + const double t664 = t663 * t223; + const double t667 = t554 / 0.3e1; + const double t669 = 0.1e1 / t255; + const double t670 = t214 * t669; + const double t671 = t7 * t219; + const double t673 = t670 * t671 * t545; + const double t674 = t216 * t524; + const double t676 = t214 * t674 * t219; + const double t677 = t676 / 0.3e1; + const double t678 = t214 * t216; + const double t679 = t7 * t263; + const double t681 = t678 * t679 * t640; + const double t683 = t548 + t667 + t643 / 0.2e1 - t673 - t677 - t681 / 0.2e1; + const double t684 = t212 * t683; + const double t687 = t269 * t631; + const double t694 = t199 * t631; + const double t698 = t234 * t225; + const double t699 = t698 * t246; + const double t702 = 0.1e1 / t238; + const double t704 = 0.1e1 / t244; + const double t705 = piecewise_functor_3( t241, t631, 0.0 ); + const double t708 = 0.6e1 / 0.5e1 * t702 * t631 - 0.6e1 / 0.5e1 * t704 * t705; + const double t710 = 0.474596e-1 * t663 * t199 + 0.474596e-1 * t212 * t631 + 0.56727466666666666666e-1 * t694 - 0.27259596e1 * t225 * t631 - 0.7e1 / 0.2e1 * t699 * t631 - t235 * t708; + const double t711 = t710 * t267; + const double t715 = 0.5e1 / 0.3e1 * t554; + const double t718 = 0.1e2 / 0.3e1 * t676; + const double t721 = 0.1e1 / t255 / t184; + const double t722 = t721 * t259; + const double t723 = t263 * t545; + const double t728 = 0.1e1 / t187 / t523; + const double t729 = t257 * t728; + const double t732 = 0.5e1 / 0.9e1 * t254 * t729 * t263; + const double t733 = t261 * t192; + const double t735 = 0.1e1 / t193 / t733; + const double t736 = t735 * t640; + const double t740 = 0.5e1 * t548 + t715 + 0.5e1 / 0.2e1 * t643 - 0.1e2 * t673 - t718 - 0.5e1 * t681 + 0.5e1 / 0.3e1 * t254 * t722 * t723 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t736; + const double t741 = t248 * t740; + const double t744 = t225 * t225; + const double t745 = 0.1e1 / t744; + const double t746 = t745 * t631; + const double t749 = t280 * t545; + const double t755 = 0.2e1 / 0.9e1 * t33 * t552 * t280; + const double t756 = 0.1e1 / t275; + const double t758 = 0.6e1 * t635; + const double t759 = 0.2e1 * t638; + const double t760 = 0.9e1 * t631 - t758 - t759; + const double t761 = t756 * t760; + const double t762 = 0.1e1 / t278; + const double t764 = 0.9e1 * t705 - t758 - t759; + const double t765 = t762 * t764; + const double t767 = t761 / 0.6e1 - t765 / 0.6e1; + const double t775 = t33 * t539 * t545 / 0.3e1; + const double t777 = t29 * t284 * t551; + const double t778 = t777 / 0.9e1; + const double t780 = -t775 - t778 + t761 / 0.6e1; + const double t782 = t290 * t290; + const double t783 = 0.1e1 / t782; + const double t784 = t288 * t783; + const double t787 = -t775 - t778 + t194 * t640 / 0.2e1; + const double t789 = t291 * t780 - t784 * t787; + const double t790 = t181 * t789; + const double t791 = 0.1e1 / t288; + const double t792 = t791 * t290; + const double t798 = -t775 - t778 + t765 / 0.6e1; + const double t800 = t297 * t783; + const double t802 = t291 * t798 - t787 * t800; + const double t803 = t243 * t802; + const double t804 = 0.1e1 / t297; + const double t805 = t804 * t290; + const double t808 = 0.47272888888888888889e-1 * t645 * t200 - 0.47272888888888888889e-1 * t648 * t631 + 0.26366444444444444444e-1 * t664 * t226 + 0.26366444444444444444e-1 * t684 * t226 - 0.52732888888888888888e-1 * t224 * t687 - t711 * t269 / 0.9e1 - t741 * t269 / 0.9e1 + t268 * t746 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t539 * t749 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t767 + 0.2e1 * t631 * t293 + 0.2e1 * t790 * t792 - 0.2e1 * t705 * t299 - 0.2e1 * t803 * t805; + const double t813 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t808 ); + const double t814 = t308 * t524; + const double t816 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t814 ); + const double t819 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t816 ); + const double t820 = t819 * t26; + const double t824 = t315 * t188; + const double t827 = t5 * t824 * t518 / 0.8e1; + const double t828 = t413 * t44; + const double t829 = t320 * t320; + const double t830 = 0.1e1 / t829; + const double t832 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t526 ); + const double t835 = piecewise_functor_3( t319, 0.0, t830 * t832 / 0.3e1 ); + const double t836 = t420 * t835; + const double t838 = t33 * t828 * t836; + const double t840 = t322 * t551; + const double t842 = t33 * t840 * t420; + const double t843 = t842 / 0.9e1; + const double t844 = t440 * t188; + const double t846 = t632 * t844 * t835; + const double t849 = t183 * t414 * t259; + const double t850 = 0.2e1 / 0.9e1 * t849; + const double t851 = -0.2e1 / 0.3e1 * t846 - t850; + const double t852 = t443 * t851; + const double t854 = t33 * t323 * t852; + const double t856 = t838 / 0.3e1 + t843 + t854 / 0.6e1; + const double t859 = t842 / 0.3e1; + const double t861 = 0.1e1 / t473; + const double t862 = t214 * t861; + const double t863 = t7 * t443; + const double t865 = t862 * t863 * t835; + const double t866 = t440 * t524; + const double t868 = t214 * t866 * t443; + const double t869 = t868 / 0.3e1; + const double t870 = t214 * t440; + const double t871 = t7 * t479; + const double t873 = t870 * t871 * t851; + const double t875 = t838 + t859 + t854 / 0.2e1 - t865 - t869 - t873 / 0.2e1; + const double t876 = t438 * t875; + const double t880 = 0.5e1 / 0.3e1 * t842; + const double t883 = 0.1e2 / 0.3e1 * t868; + const double t886 = 0.1e1 / t473 / t412; + const double t887 = t886 * t259; + const double t888 = t479 * t835; + const double t892 = t475 * t728; + const double t895 = 0.5e1 / 0.9e1 * t254 * t892 * t479; + const double t896 = t477 * t418; + const double t898 = 0.1e1 / t419 / t896; + const double t899 = t898 * t851; + const double t903 = 0.5e1 * t838 + t880 + 0.5e1 / 0.2e1 * t854 - 0.1e2 * t865 - t883 - 0.5e1 * t873 + 0.5e1 / 0.3e1 * t254 * t887 * t888 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t899; + const double t904 = t470 * t903; + const double t907 = t496 * t835; + const double t913 = 0.2e1 / 0.9e1 * t33 * t840 * t496; + const double t914 = 0.1e1 / t491; + const double t916 = 0.2e1 * t849; + const double t917 = -0.6e1 * t846 - t916; + const double t918 = t914 * t917; + const double t919 = 0.1e1 / t494; + const double t920 = t919 * t917; + const double t922 = t918 / 0.6e1 - t920 / 0.6e1; + const double t928 = t33 * t828 * t835 / 0.3e1; + const double t930 = t29 * t500 * t551; + const double t931 = t930 / 0.9e1; + const double t933 = -t928 - t931 + t918 / 0.6e1; + const double t935 = t506 * t506; + const double t936 = 0.1e1 / t935; + const double t937 = t504 * t936; + const double t940 = -t928 - t931 + t420 * t851 / 0.2e1; + const double t942 = t507 * t933 - t937 * t940; + const double t943 = t411 * t942; + const double t944 = 0.1e1 / t504; + const double t945 = t944 * t506; + const double t949 = -t928 - t931 + t920 / 0.6e1; + const double t951 = t513 * t936; + const double t953 = t507 * t949 - t940 * t951; + const double t954 = t465 * t953; + const double t955 = 0.1e1 / t513; + const double t956 = t955 * t506; + const double t959 = 0.47272888888888888889e-1 * t856 * t426 + 0.26366444444444444444e-1 * t876 * t450 - t904 * t485 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t828 * t907 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t922 + 0.2e1 * t943 * t945 - 0.2e1 * t954 * t956; + const double t964 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t820 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t959 ); + const double t967 = -t7 - t525; + const double t968 = piecewise_functor_5( t10, 0.0, t14, 0.0, t967 ); + const double t971 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t968 ); + const double t972 = t971 * t26; + const double t976 = piecewise_functor_5( t35, 0.0, t37, 0.0, t967 ); + const double t979 = piecewise_functor_3( t40, 0.0, t541 * t976 / 0.3e1 ); + const double t980 = t194 * t979; + const double t982 = t33 * t539 * t980; + const double t985 = t632 * t633 * t979; + const double t987 = -0.2e1 / 0.3e1 * t985 - t639; + const double t988 = t219 * t987; + const double t990 = t33 * t45 * t988; + const double t992 = t982 / 0.3e1 + t555 + t990 / 0.6e1; + const double t997 = t670 * t671 * t979; + const double t999 = t678 * t679 * t987; + const double t1001 = t982 + t667 + t990 / 0.2e1 - t997 - t677 - t999 / 0.2e1; + const double t1002 = t212 * t1001; + const double t1009 = t263 * t979; + const double t1013 = t735 * t987; + const double t1017 = 0.5e1 * t982 + t715 + 0.5e1 / 0.2e1 * t990 - 0.1e2 * t997 - t718 - 0.5e1 * t999 + 0.5e1 / 0.3e1 * t254 * t722 * t1009 + t732 + 0.5e1 / 0.6e1 * t254 * t260 * t1013; + const double t1018 = t248 * t1017; + const double t1021 = t280 * t979; + const double t1026 = -0.6e1 * t985 - t759; + const double t1027 = t756 * t1026; + const double t1028 = t762 * t1026; + const double t1030 = t1027 / 0.6e1 - t1028 / 0.6e1; + const double t1036 = t33 * t539 * t979 / 0.3e1; + const double t1038 = -t1036 - t778 + t1027 / 0.6e1; + const double t1042 = -t1036 - t778 + t194 * t987 / 0.2e1; + const double t1044 = t1038 * t291 - t1042 * t784; + const double t1045 = t181 * t1044; + const double t1049 = -t1036 - t778 + t1028 / 0.6e1; + const double t1052 = -t1042 * t800 + t1049 * t291; + const double t1053 = t243 * t1052; + const double t1056 = 0.47272888888888888889e-1 * t992 * t200 + 0.26366444444444444444e-1 * t1002 * t226 - t1018 * t269 / 0.9e1 - 0.2e1 / 0.3e1 * t33 * t539 * t1021 - t755 + 0.2e1 / 0.3e1 * t33 * t45 * t1030 + 0.2e1 * t1045 * t792 - 0.2e1 * t1053 * t805; + const double t1061 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t972 * t302 - t538 - 0.3e1 / 0.8e1 * t5 * t27 * t1056 ); + const double t1063 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t814 ); + const double t1066 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.3e1 * t313 * t1063 ); + const double t1067 = t1066 * t26; + const double t1072 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t967 ); + const double t1075 = piecewise_functor_3( t319, 0.0, t830 * t1072 / 0.3e1 ); + const double t1076 = t420 * t1075; + const double t1078 = t33 * t828 * t1076; + const double t1080 = t325 * rho_b; + const double t1082 = 0.1e1 / t327 / t1080; + const double t1083 = t1082 * t371; + const double t1084 = t1083 * t406; + const double t1087 = t330 * t1082; + const double t1090 = 0.1e1 / t343; + const double t1091 = t335 * t1090; + const double t1095 = 0.1e1 / t326 / t351; + const double t1096 = t342 * t1095; + const double t1099 = t336 * t1080; + const double t1101 = 0.1e1 / t327 / t1099; + const double t1102 = t350 * t1101; + const double t1105 = 0.1e1 / t365; + const double t1106 = t357 * t1105; + const double t1110 = 0.1e1 / t326 / t393; + const double t1111 = t364 * t1110; + const double t1114 = -t57 * t1087 / 0.9e1 - t64 * t1091 / 0.12e2 - t74 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t86 * t1102 - t100 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t108 * t1111; + const double t1115 = t329 * t1114; + const double t1116 = t1115 * t406; + const double t1119 = t405 * t405; + const double t1120 = 0.1e1 / t1119; + const double t1122 = 0.1e1 / t326 / t325; + const double t1138 = t358 * t1080; + const double t1140 = 0.1e1 / t327 / t1138; + const double t1144 = t358 * t343; + const double t1145 = 0.1e1 / t1144; + const double t1149 = -t122 * t373 * t1122 / 0.9e1 - t130 * t1087 / 0.9e1 - t134 * t1091 / 0.12e2 - t138 * t1096 / 0.108e3 - 0.5e1 / 0.864e3 * t142 * t1102 - t146 * t1106 / 0.288e3 - 0.7e1 / 0.20736e5 * t150 * t1111 - t154 * t392 * t1140 / 0.5184e4 - t168 * t399 * t1145 / 0.9216e4; + const double t1150 = t1120 * t1149; + const double t1155 = piecewise_functor_3( t410, -t324 * t1084 / 0.9e1 + t324 * t1116 / 0.24e2 - t324 * t372 * t1150 / 0.24e2, 0.0 ); + const double t1157 = t632 * t844 * t1075; + const double t1159 = t1155 - 0.2e1 / 0.3e1 * t1157 - t850; + const double t1160 = t443 * t1159; + const double t1162 = t33 * t323 * t1160; + const double t1164 = t1078 / 0.3e1 + t843 + t1162 / 0.6e1; + const double t1167 = t424 * t450; + const double t1170 = sigma_bb * t1082; + const double t1175 = t432 * t432; + const double t1176 = 0.1e1 / t1175; + const double t1181 = -0.34684037264945845904e-1 * t49 * t1170 * t433 + 0.36129205484318589483e-3 * t655 * t341 * t1095 * t1176 + 0.42141105276909202774e1 * t1155; + const double t1182 = t1181 * t447; + const double t1187 = t862 * t863 * t1075; + const double t1189 = t870 * t871 * t1159; + const double t1191 = t1078 + t859 + t1162 / 0.2e1 - t1187 - t869 - t1189 / 0.2e1; + const double t1192 = t438 * t1191; + const double t1195 = t485 * t1155; + const double t1202 = t425 * t1155; + const double t1206 = t458 * t449; + const double t1207 = t1206 * t468; + const double t1210 = 0.1e1 / t460; + const double t1212 = 0.1e1 / t466; + const double t1213 = piecewise_functor_3( t463, t1155, 0.0 ); + const double t1216 = 0.6e1 / 0.5e1 * t1210 * t1155 - 0.6e1 / 0.5e1 * t1212 * t1213; + const double t1218 = 0.474596e-1 * t1181 * t425 + 0.474596e-1 * t438 * t1155 + 0.56727466666666666666e-1 * t1202 - 0.27259596e1 * t449 * t1155 - 0.7e1 / 0.2e1 * t1207 * t1155 - t459 * t1216; + const double t1219 = t1218 * t483; + const double t1226 = t479 * t1075; + const double t1230 = t898 * t1159; + const double t1234 = 0.5e1 * t1078 + t880 + 0.5e1 / 0.2e1 * t1162 - 0.1e2 * t1187 - t883 - 0.5e1 * t1189 + 0.5e1 / 0.3e1 * t254 * t887 * t1226 + t895 + 0.5e1 / 0.6e1 * t254 * t476 * t1230; + const double t1235 = t470 * t1234; + const double t1238 = t449 * t449; + const double t1239 = 0.1e1 / t1238; + const double t1240 = t1239 * t1155; + const double t1243 = t496 * t1075; + const double t1248 = 0.6e1 * t1157; + const double t1249 = 0.9e1 * t1155 - t1248 - t916; + const double t1250 = t914 * t1249; + const double t1252 = 0.9e1 * t1213 - t1248 - t916; + const double t1253 = t919 * t1252; + const double t1255 = t1250 / 0.6e1 - t1253 / 0.6e1; + const double t1263 = t33 * t828 * t1075 / 0.3e1; + const double t1265 = -t1263 - t931 + t1250 / 0.6e1; + const double t1269 = -t1263 - t931 + t420 * t1159 / 0.2e1; + const double t1271 = t1265 * t507 - t1269 * t937; + const double t1272 = t411 * t1271; + const double t1278 = -t1263 - t931 + t1253 / 0.6e1; + const double t1281 = -t1269 * t951 + t1278 * t507; + const double t1282 = t465 * t1281; + const double t1285 = 0.47272888888888888889e-1 * t1164 * t426 - 0.47272888888888888889e-1 * t1167 * t1155 + 0.26366444444444444444e-1 * t1182 * t450 + 0.26366444444444444444e-1 * t1192 * t450 - 0.52732888888888888888e-1 * t448 * t1195 - t1219 * t485 / 0.9e1 - t1235 * t485 / 0.9e1 + t484 * t1240 / 0.3e1 - 0.2e1 / 0.3e1 * t33 * t828 * t1243 - t913 + 0.2e1 / 0.3e1 * t33 * t323 * t1255 + 0.2e1 * t1155 * t509 + 0.2e1 * t1272 * t945 - 0.2e1 * t1213 * t515 - 0.2e1 * t1282 * t956; + const double t1290 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t518 - t827 - 0.3e1 / 0.8e1 * t5 * t316 * t1285 ); + const double t1293 = t29 * t284; + const double t1294 = t44 * t219; + const double t1296 = t48 * t55; + const double t1299 = t65 * t68; + const double t1302 = t76 * sigma_aa; + const double t1303 = t1302 * t81; + const double t1306 = t88 * t66; + const double t1307 = t1306 * t93; + const double t1310 = t77 * t103; + const double t1313 = t110 * t89; + const double t1314 = t1313 * t115; + const double t1317 = t57 * t1296 / 0.24e2 + t64 * t1299 / 0.32e2 + t74 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1307 + t100 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1314; + const double t1318 = t55 * t1317; + const double t1319 = t1318 * t176; + const double t1321 = 0.1e1 / t65; + const double t1322 = t32 * t1321; + const double t1338 = t156 * t101; + const double t1345 = t122 * t1322 * t125 / 0.24e2 + t130 * t1296 / 0.24e2 + t134 * t1299 / 0.32e2 + t138 * t1303 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1307 + t146 * t1310 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1314 + t154 * t1338 * t161 / 0.13824e5 + t168 * t111 * t171 / 0.24576e5; + const double t1346 = t596 * t1345; + const double t1351 = piecewise_functor_3( t180, -t50 * t120 * t1346 / 0.24e2 + t50 * t1319 / 0.24e2 + t49 * t177 / 0.24e2, 0.0 ); + const double t1352 = t1351 * t200; + const double t1366 = 0.13006513974354692214e-1 * t49 * t55 * t207 - 0.13548452056619471056e-3 * t655 * sigma_aa * t81 * t658 + 0.42141105276909202774e1 * t1351; + const double t1367 = t1366 * t223; + const double t1370 = t219 * t1351; + const double t1372 = t33 * t45 * t1370; + const double t1374 = t678 * t679 * t1351; + const double t1376 = t1372 / 0.2e1 - t1374 / 0.2e1; + const double t1377 = t212 * t1376; + const double t1380 = t269 * t1351; + const double t1387 = t199 * t1351; + const double t1394 = piecewise_functor_3( t241, t1351, 0.0 ); + const double t1397 = 0.6e1 / 0.5e1 * t702 * t1351 - 0.6e1 / 0.5e1 * t704 * t1394; + const double t1399 = 0.474596e-1 * t1366 * t199 + 0.474596e-1 * t212 * t1351 + 0.56727466666666666666e-1 * t1387 - 0.27259596e1 * t225 * t1351 - 0.7e1 / 0.2e1 * t699 * t1351 - t235 * t1397; + const double t1400 = t1399 * t267; + const double t1405 = t735 * t1351; + const double t1409 = 0.5e1 / 0.2e1 * t1372 - 0.5e1 * t1374 + 0.5e1 / 0.6e1 * t254 * t260 * t1405; + const double t1410 = t248 * t1409; + const double t1413 = t745 * t1351; + const double t1416 = t756 * t1351; + const double t1417 = t762 * t1394; + const double t1419 = 0.3e1 / 0.2e1 * t1416 - 0.3e1 / 0.2e1 * t1417; + const double t1427 = t194 * t1351; + const double t1430 = 0.3e1 / 0.2e1 * t1416 * t291 - t784 * t1427 / 0.2e1; + const double t1431 = t181 * t1430; + const double t1440 = 0.3e1 / 0.2e1 * t1417 * t291 - t800 * t1427 / 0.2e1; + const double t1441 = t243 * t1440; + const double t1444 = 0.78788148148148148148e-2 * t1293 * t1294 * t1352 - 0.47272888888888888889e-1 * t648 * t1351 + 0.26366444444444444444e-1 * t1367 * t226 + 0.26366444444444444444e-1 * t1377 * t226 - 0.52732888888888888888e-1 * t224 * t1380 - t1400 * t269 / 0.9e1 - t1410 * t269 / 0.9e1 + t268 * t1413 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t45 * t1419 + 0.2e1 * t1351 * t293 + 0.2e1 * t1431 * t792 - 0.2e1 * t1394 * t299 - 0.2e1 * t1441 * t805; + const double t1448 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1444 ); + const double t1449 = t29 * t500; + const double t1450 = t44 * t443; + const double t1452 = t48 * t329; + const double t1455 = t334 * t337; + const double t1458 = t76 * sigma_bb; + const double t1459 = t1458 * t345; + const double t1462 = t88 * t335; + const double t1463 = t1462 * t353; + const double t1466 = t341 * t359; + const double t1469 = t110 * t349; + const double t1470 = t1469 * t367; + const double t1473 = t57 * t1452 / 0.24e2 + t64 * t1455 / 0.32e2 + t74 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t86 * t1463 + t100 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t108 * t1470; + const double t1474 = t329 * t1473; + const double t1475 = t1474 * t406; + const double t1477 = 0.1e1 / t334; + const double t1478 = t32 * t1477; + const double t1494 = t156 * t357; + const double t1501 = t122 * t1478 * t375 / 0.24e2 + t130 * t1452 / 0.24e2 + t134 * t1455 / 0.32e2 + t138 * t1459 / 0.288e3 + 0.5e1 / 0.2304e4 * t142 * t1463 + t146 * t1466 / 0.768e3 + 0.7e1 / 0.55296e5 * t150 * t1470 + t154 * t1494 * t395 / 0.13824e5 + t168 * t363 * t401 / 0.24576e5; + const double t1502 = t1120 * t1501; + const double t1507 = piecewise_functor_3( t410, -t324 * t372 * t1502 / 0.24e2 + t324 * t1475 / 0.24e2 + t49 * t407 / 0.24e2, 0.0 ); + const double t1508 = t1507 * t426; + const double t1522 = 0.13006513974354692214e-1 * t49 * t329 * t433 - 0.13548452056619471056e-3 * t655 * sigma_bb * t345 * t1176 + 0.42141105276909202774e1 * t1507; + const double t1523 = t1522 * t447; + const double t1526 = t443 * t1507; + const double t1528 = t33 * t323 * t1526; + const double t1530 = t870 * t871 * t1507; + const double t1532 = t1528 / 0.2e1 - t1530 / 0.2e1; + const double t1533 = t438 * t1532; + const double t1536 = t485 * t1507; + const double t1543 = t425 * t1507; + const double t1550 = piecewise_functor_3( t463, t1507, 0.0 ); + const double t1553 = 0.6e1 / 0.5e1 * t1210 * t1507 - 0.6e1 / 0.5e1 * t1212 * t1550; + const double t1555 = 0.474596e-1 * t1522 * t425 + 0.474596e-1 * t438 * t1507 + 0.56727466666666666666e-1 * t1543 - 0.27259596e1 * t449 * t1507 - 0.7e1 / 0.2e1 * t1207 * t1507 - t459 * t1553; + const double t1556 = t1555 * t483; + const double t1561 = t898 * t1507; + const double t1565 = 0.5e1 / 0.2e1 * t1528 - 0.5e1 * t1530 + 0.5e1 / 0.6e1 * t254 * t476 * t1561; + const double t1566 = t470 * t1565; + const double t1569 = t1239 * t1507; + const double t1572 = t914 * t1507; + const double t1573 = t919 * t1550; + const double t1575 = 0.3e1 / 0.2e1 * t1572 - 0.3e1 / 0.2e1 * t1573; + const double t1583 = t420 * t1507; + const double t1586 = 0.3e1 / 0.2e1 * t1572 * t507 - t937 * t1583 / 0.2e1; + const double t1587 = t411 * t1586; + const double t1596 = 0.3e1 / 0.2e1 * t1573 * t507 - t951 * t1583 / 0.2e1; + const double t1597 = t465 * t1596; + const double t1600 = 0.78788148148148148148e-2 * t1449 * t1450 * t1508 - 0.47272888888888888889e-1 * t1167 * t1507 + 0.26366444444444444444e-1 * t1523 * t450 + 0.26366444444444444444e-1 * t1533 * t450 - 0.52732888888888888888e-1 * t448 * t1536 - t1556 * t485 / 0.9e1 - t1566 * t485 / 0.9e1 + t484 * t1569 / 0.3e1 + 0.2e1 / 0.3e1 * t33 * t323 * t1575 + 0.2e1 * t1507 * t509 + 0.2e1 * t1587 * t945 - 0.2e1 * t1550 * t515 - 0.2e1 * t1597 * t956; + const double t1604 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t1600 ); + const double t1607 = t23 * t23; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t527 * t527; + const double t1612 = t523 * t6; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t16 * t1613; + const double t1616 = -0.2e1 * t524 + 0.2e1 * t1614; + const double t1617 = piecewise_functor_5( t10, 0.0, t14, 0.0, t1616 ); + const double t1621 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t1609 + 0.4e1 / 0.3e1 * t23 * t1617 ); + const double t1622 = t1621 * t26; + const double t1626 = t530 * t188; + const double t1628 = t5 * t1626 * t302; + const double t1633 = t25 * t259; + const double t1636 = t5 * t1633 * t302 / 0.12e2; + const double t1638 = t5 * t535 * t808; + const double t1641 = 0.1e1 / t26 / t523; + const double t1642 = t43 * t1641; + const double t1645 = 0.8e1 / 0.27e2 * t33 * t1642 * t280; + const double t1646 = t767 * t545; + const double t1651 = t33 * t552 * t767; + const double t1654 = 0.1e1 / t275 / t274; + const double t1655 = t760 * t760; + const double t1657 = t1654 * t1655 / 0.12e2; + const double t1659 = 0.1e1 / t53 / t67; + const double t1660 = t1659 * t119; + const double t1661 = t1660 * t176; + const double t1664 = t558 * t590; + const double t1665 = t1664 * t176; + const double t1671 = t58 * t1659; + const double t1674 = 0.1e1 / t91; + const double t1675 = t66 * t1674; + const double t1679 = 0.1e1 / t52 / t575; + const double t1680 = t78 * t1679; + const double t1684 = 0.1e1 / t53 / t102; + const double t1685 = t90 * t1684; + const double t1688 = 0.1e1 / t159; + const double t1689 = t101 * t1688; + const double t1693 = 0.1e1 / t52 / t614; + const double t1694 = t112 * t1693; + const double t1697 = 0.11e2 / 0.27e2 * t57 * t1671 + 0.5e1 / 0.12e2 * t64 * t1675 + 0.19e2 / 0.324e3 * t74 * t1680 + 0.115e3 / 0.2592e4 * t86 * t1685 + t100 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t1694; + const double t1698 = t55 * t1697; + const double t1699 = t1698 * t176; + const double t1706 = 0.1e1 / t595 / t175; + const double t1707 = t625 * t625; + const double t1708 = t1706 * t1707; + const double t1713 = 0.1e1 / t52 / t556; + const double t1730 = 0.1e1 / t53 / t170; + const double t1734 = t102 * t91; + const double t1735 = 0.1e1 / t1734; + const double t1739 = 0.7e1 / 0.27e2 * t122 * t123 * t1713 + 0.11e2 / 0.27e2 * t130 * t1671 + 0.5e1 / 0.12e2 * t134 * t1675 + 0.19e2 / 0.324e3 * t138 * t1680 + 0.115e3 / 0.2592e4 * t142 * t1685 + t146 * t1689 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t1694 + 0.35e2 / 0.15552e5 * t154 * t158 * t1730 + 0.13e2 / 0.9216e4 * t168 * t169 * t1735; + const double t1740 = t596 * t1739; + const double t1745 = piecewise_functor_3( t180, 0.11e2 / 0.27e2 * t50 * t1661 - 0.2e1 / 0.9e1 * t50 * t1665 + 0.2e1 / 0.9e1 * t50 * t559 * t626 + t50 * t1699 / 0.24e2 - t50 * t591 * t626 / 0.12e2 + t50 * t120 * t1708 / 0.12e2 - t50 * t120 * t1740 / 0.24e2, 0.0 ); + const double t1747 = t669 * t188; + const double t1748 = t545 * t545; + const double t1750 = t632 * t1747 * t1748; + const double t1751 = 0.18e2 * t1750; + const double t1752 = t216 * t259; + const double t1754 = t632 * t1752 * t545; + const double t1755 = 0.8e1 * t1754; + const double t1757 = 0.1e1 / t540 / t39; + const double t1758 = t542 * t542; + const double t1761 = piecewise_functor_5( t35, 0.0, t37, 0.0, t1616 ); + const double t1765 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t1758 + t541 * t1761 / 0.3e1 ); + const double t1767 = t632 * t633 * t1765; + const double t1768 = 0.6e1 * t1767; + const double t1770 = t183 * t186 * t728; + const double t1771 = 0.1e2 / 0.3e1 * t1770; + const double t1772 = 0.9e1 * t1745 + t1751 + t1755 - t1768 + t1771; + const double t1774 = t756 * t1772 / 0.6e1; + const double t1776 = 0.1e1 / t278 / t277; + const double t1777 = t764 * t764; + const double t1779 = t1776 * t1777 / 0.12e2; + const double t1780 = piecewise_functor_3( t241, t1745, 0.0 ); + const double t1782 = 0.9e1 * t1780 + t1751 + t1755 - t1768 + t1771; + const double t1784 = t762 * t1782 / 0.6e1; + const double t1785 = -t1657 + t1774 + t1779 - t1784; + const double t1789 = t288 * t288; + const double t1790 = 0.1e1 / t1789; + const double t1791 = t1790 * t290; + const double t1792 = t1791 * t780; + const double t1795 = t297 * t297; + const double t1796 = 0.1e1 / t1795; + const double t1797 = t1796 * t290; + const double t1798 = t1797 * t798; + const double t1801 = t216 * t44; + const double t1802 = t280 * t1748; + const double t1806 = t185 * t551; + const double t1808 = t33 * t1806 * t749; + const double t1812 = 0.2e1 / 0.3e1 * t33 * t1801 * t1748; + const double t1814 = t33 * t1806 * t545; + const double t1815 = 0.2e1 / 0.9e1 * t1814; + const double t1818 = t33 * t539 * t1765 / 0.3e1; + const double t1821 = 0.4e1 / 0.27e2 * t29 * t284 * t1641; + const double t1822 = t1812 + t1815 - t1818 + t1821 - t1779 + t1784; + const double t1824 = t798 * t783; + const double t1828 = 0.1e1 / t782 / t290; + const double t1829 = t297 * t1828; + const double t1830 = t787 * t787; + const double t1833 = t640 * t640; + const double t1839 = 0.1e2 / 0.27e2 * t1770; + const double t1840 = t1745 + 0.2e1 * t1750 + 0.8e1 / 0.9e1 * t1754 - 0.2e1 / 0.3e1 * t1767 + t1839; + const double t1843 = t1812 + t1815 - t1818 + t1821 - t219 * t1833 / 0.4e1 + t194 * t1840 / 0.2e1; + const double t1845 = t1822 * t291 - 0.2e1 * t1824 * t787 + 0.2e1 * t1829 * t1830 - t1843 * t800; + const double t1846 = t243 * t1845; + const double t1849 = t804 * t787; + const double t1856 = t269 * t1745; + const double t1863 = t745 * t1745; + const double t1866 = t631 * t789; + const double t1869 = t1645 - 0.4e1 / 0.3e1 * t33 * t539 * t1646 - 0.4e1 / 0.9e1 * t1651 + 0.2e1 / 0.3e1 * t33 * t45 * t1785 - 0.2e1 * t790 * t1792 + 0.2e1 * t803 * t1798 + 0.4e1 / 0.3e1 * t33 * t1801 * t1802 + 0.4e1 / 0.9e1 * t1808 - 0.2e1 * t1846 * t805 - 0.2e1 * t803 * t1849 - 0.10546577777777777778e0 * t664 * t687 - 0.10546577777777777778e0 * t684 * t687 - 0.52732888888888888888e-1 * t224 * t1856 + 0.2e1 / 0.3e1 * t711 * t746 + 0.2e1 / 0.3e1 * t741 * t746 + t268 * t1863 / 0.3e1 + 0.4e1 * t1866 * t792; + const double t1870 = t1812 + t1815 - t1818 + t1821 - t1657 + t1774; + const double t1872 = t780 * t783; + const double t1875 = t288 * t1828; + const double t1879 = 0.2e1 * t1830 * t1875 - t1843 * t784 + t1870 * t291 - 0.2e1 * t1872 * t787; + const double t1880 = t181 * t1879; + const double t1883 = t280 * t1765; + const double t1887 = t194 * t1748; + const double t1889 = t33 * t1801 * t1887; + const double t1892 = t33 * t1806 * t546; + const double t1894 = t32 * t185; + const double t1895 = t29 * t1894; + const double t1896 = t545 * t640; + const double t1898 = t1895 * t1294 * t1896; + const double t1900 = t194 * t1765; + const double t1902 = t33 * t539 * t1900; + const double t1905 = t33 * t1642 * t194; + const double t1906 = 0.4e1 / 0.27e2 * t1905; + const double t1908 = t33 * t552 * t641; + const double t1910 = t263 * t1833; + const double t1912 = t33 * t45 * t1910; + const double t1914 = t219 * t1840; + const double t1916 = t33 * t45 * t1914; + const double t1918 = -0.2e1 / 0.3e1 * t1889 - 0.2e1 / 0.9e1 * t1892 - t1898 / 0.3e1 + t1902 / 0.3e1 - t1906 - t1908 / 0.9e1 - t1912 / 0.4e1 + t1916 / 0.6e1; + const double t1922 = 0.1e1 / t744 / t199; + const double t1923 = t631 * t631; + const double t1924 = t1922 * t1923; + const double t1927 = t745 * t1923; + const double t1930 = t791 * t787; + const double t1933 = t705 * t802; + const double t1936 = t198 * t269; + const double t1939 = t663 * t683; + const double t1944 = 0.4e1 / 0.9e1 * t1905; + const double t1948 = t214 * t257; + const double t1950 = t1948 * t671 * t1748; + const double t1952 = t524 * t219; + const double t1954 = t670 * t1952 * t545; + const double t1957 = t670 * t679 * t1896; + const double t1960 = t670 * t671 * t1765; + const double t1963 = t214 * t216 * t1613 * t219; + const double t1964 = 0.2e1 / 0.3e1 * t1963; + const double t1965 = t524 * t263; + const double t1967 = t678 * t1965 * t640; + const double t1968 = t7 * t735; + const double t1970 = t678 * t1968 * t1833; + const double t1973 = t678 * t679 * t1840; + const double t1975 = -0.2e1 * t1889 - 0.2e1 / 0.3e1 * t1892 - t1898 + t1902 - t1944 - t1908 / 0.3e1 - 0.3e1 / 0.4e1 * t1912 + t1916 / 0.2e1 + 0.4e1 * t1950 + 0.2e1 * t1954 + 0.3e1 * t1957 - t1960 + t1964 + t1967 + 0.5e1 / 0.4e1 * t1970 - t1973 / 0.2e1; + const double t1976 = t212 * t1975; + const double t1979 = sigma_aa * t1659; + const double t1987 = t99 * t101; + const double t1989 = 0.1e1 / t657 / t206; + const double t1994 = 0.12717480330480143498e0 * t49 * t1979 * t207 - 0.32516284935886730535e-2 * t655 * t77 * t1679 * t658 + 0.12043068494772863161e-3 * t1987 * t1688 * t1989 + 0.42141105276909202774e1 * t1745; + const double t2008 = t234 * t199; + const double t2009 = t2008 * t246; + const double t2012 = t698 * t708; + const double t2018 = 0.1e1 / t238 / t181; + const double t2024 = 0.1e1 / t244 / t243; + const double t2025 = t705 * t705; + const double t2030 = -0.3e1 / 0.5e1 * t2018 * t1923 + 0.6e1 / 0.5e1 * t702 * t1745 + 0.3e1 / 0.5e1 * t2024 * t2025 - 0.6e1 / 0.5e1 * t704 * t1780; + const double t2032 = 0.474596e-1 * t1994 * t199 + 0.949192e-1 * t663 * t631 + 0.474596e-1 * t212 * t1745 + 0.56727466666666666666e-1 * t1923 + 0.56727466666666666666e-1 * t199 * t1745 - 0.54519192e1 * t199 * t1923 - 0.27259596e1 * t225 * t1745 - 0.35e2 / 0.4e1 * t2009 * t1923 - 0.7e1 * t2012 * t631 - 0.7e1 / 0.2e1 * t699 * t1745 - t235 * t2030; + const double t2033 = t2032 * t267; + const double t2036 = t710 * t740; + const double t2040 = 0.2e2 / 0.3e1 * t1963; + const double t2044 = 0.1e1 / t187 / t1612; + const double t2045 = t257 * t2044; + const double t2048 = 0.4e2 / 0.27e2 * t254 * t2045 * t263; + const double t2050 = t254 * t729 * t736; + const double t2052 = t735 * t1840; + const double t2056 = t263 * t1765; + const double t2064 = -0.1e2 * t1960 + t2040 + 0.1e2 * t1967 - 0.5e1 * t1973 - t2048 - 0.25e2 / 0.9e1 * t2050 + 0.5e1 / 0.6e1 * t254 * t260 * t2052 + 0.5e1 / 0.3e1 * t254 * t722 * t2056 + 0.4e2 * t1950 + 0.2e2 * t1954 + 0.3e2 * t1957 + 0.25e2 / 0.2e1 * t1970; + const double t2066 = 0.2e2 / 0.9e1 * t1905; + const double t2069 = t261 * t261; + const double t2071 = 0.1e1 / t193 / t2069; + const double t2072 = t2071 * t1833; + const double t2077 = 0.1e1 / t255 / t215; + const double t2078 = t2077 * t259; + const double t2079 = t263 * t1748; + const double t2083 = t721 * t728; + const double t2085 = t254 * t2083 * t723; + const double t2087 = t88 * t721; + const double t2088 = t253 * t2087; + const double t2089 = t259 * t735; + const double t2097 = 0.5e1 * t1902 - t2066 - 0.5e1 / 0.3e1 * t1908 + 0.5e1 / 0.2e1 * t1916 - 0.35e2 / 0.12e2 * t254 * t260 * t2072 - 0.1e2 * t254 * t2078 * t2079 - 0.5e2 / 0.9e1 * t2085 - 0.25e2 / 0.3e1 * t2088 * t2089 * t1896 - 0.1e2 * t1889 - 0.1e2 / 0.3e1 * t1892 - 0.5e1 * t1898 - 0.15e2 / 0.4e1 * t1912; + const double t2098 = t2064 + t2097; + const double t2099 = t248 * t2098; + const double t2102 = t645 * t226; + const double t2107 = t1994 * t223; + const double t2114 = 0.2e1 * t1880 * t792 - 0.2e1 / 0.3e1 * t33 * t539 * t1883 + 0.47272888888888888889e-1 * t1918 * t200 - 0.4e1 / 0.3e1 * t268 * t1924 + 0.15819866666666666666e0 * t224 * t1927 + 0.2e1 * t790 * t1930 - 0.4e1 * t1933 * t805 + 0.94545777777777777778e-1 * t1936 * t1923 + 0.52732888888888888888e-1 * t1939 * t226 + 0.26366444444444444444e-1 * t1976 * t226 - t2033 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t2036 * t269 - t2099 * t269 / 0.9e1 - 0.94545777777777777778e-1 * t2102 * t631 - 0.47272888888888888889e-1 * t648 * t1745 + 0.26366444444444444444e-1 * t2107 * t226 - 0.2e1 * t1780 * t299 + 0.2e1 * t1745 * t293; + const double t2115 = t1869 + t2114; + const double t2120 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t1622 * t302 - t1628 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t531 * t808 + t1636 - t1638 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t2115 ); + const double t2121 = t313 * t313; + const double t2122 = 0.1e1 / t2121; + const double t2123 = t816 * t816; + const double t2126 = t308 * t1613; + const double t2129 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t524 + 0.2e1 * t2126 ); + const double t2133 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t2123 + 0.4e1 / 0.3e1 * t313 * t2129 ); + const double t2134 = t2133 * t26; + const double t2138 = t819 * t188; + const double t2140 = t5 * t2138 * t518; + const double t2145 = t315 * t259; + const double t2148 = t5 * t2145 * t518 / 0.12e2; + const double t2150 = t5 * t824 * t959; + const double t2152 = t440 * t44; + const double t2153 = t835 * t835; + const double t2154 = t420 * t2153; + const double t2156 = t33 * t2152 * t2154; + const double t2158 = t413 * t551; + const double t2160 = t33 * t2158 * t836; + const double t2162 = t32 * t413; + const double t2163 = t29 * t2162; + const double t2164 = t835 * t851; + const double t2166 = t2163 * t1450 * t2164; + const double t2169 = 0.1e1 / t829 / t318; + const double t2170 = t832 * t832; + const double t2174 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t1616 ); + const double t2178 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t2170 + t830 * t2174 / 0.3e1 ); + const double t2179 = t420 * t2178; + const double t2181 = t33 * t828 * t2179; + const double t2183 = t322 * t1641; + const double t2185 = t33 * t2183 * t420; + const double t2186 = 0.4e1 / 0.27e2 * t2185; + const double t2188 = t33 * t840 * t852; + const double t2190 = t851 * t851; + const double t2191 = t479 * t2190; + const double t2193 = t33 * t323 * t2191; + const double t2195 = t861 * t188; + const double t2197 = t632 * t2195 * t2153; + const double t2199 = t440 * t259; + const double t2201 = t632 * t2199 * t835; + const double t2204 = t632 * t844 * t2178; + const double t2207 = t183 * t414 * t728; + const double t2208 = 0.1e2 / 0.27e2 * t2207; + const double t2209 = 0.2e1 * t2197 + 0.8e1 / 0.9e1 * t2201 - 0.2e1 / 0.3e1 * t2204 + t2208; + const double t2210 = t443 * t2209; + const double t2212 = t33 * t323 * t2210; + const double t2214 = -0.2e1 / 0.3e1 * t2156 - 0.2e1 / 0.9e1 * t2160 - t2166 / 0.3e1 + t2181 / 0.3e1 - t2186 - t2188 / 0.9e1 - t2193 / 0.4e1 + t2212 / 0.6e1; + const double t2219 = 0.4e1 / 0.9e1 * t2185; + const double t2223 = t214 * t475; + const double t2225 = t2223 * t863 * t2153; + const double t2227 = t524 * t443; + const double t2229 = t862 * t2227 * t835; + const double t2232 = t862 * t871 * t2164; + const double t2235 = t862 * t863 * t2178; + const double t2238 = t214 * t440 * t1613 * t443; + const double t2239 = 0.2e1 / 0.3e1 * t2238; + const double t2240 = t524 * t479; + const double t2242 = t870 * t2240 * t851; + const double t2243 = t7 * t898; + const double t2245 = t870 * t2243 * t2190; + const double t2248 = t870 * t871 * t2209; + const double t2250 = -0.2e1 * t2156 - 0.2e1 / 0.3e1 * t2160 - t2166 + t2181 - t2219 - t2188 / 0.3e1 - 0.3e1 / 0.4e1 * t2193 + t2212 / 0.2e1 + 0.4e1 * t2225 + 0.2e1 * t2229 + 0.3e1 * t2232 - t2235 + t2239 + t2242 + 0.5e1 / 0.4e1 * t2245 - t2248 / 0.2e1; + const double t2251 = t438 * t2250; + const double t2254 = t479 * t2178; + const double t2258 = t475 * t2044; + const double t2261 = 0.4e2 / 0.27e2 * t254 * t2258 * t479; + const double t2263 = t254 * t892 * t899; + const double t2265 = t898 * t2209; + const double t2271 = 0.2e2 / 0.3e1 * t2238; + const double t2277 = 0.5e1 / 0.3e1 * t254 * t887 * t2254 - t2261 - 0.25e2 / 0.9e1 * t2263 + 0.5e1 / 0.6e1 * t254 * t476 * t2265 + 0.25e2 / 0.2e1 * t2245 - 0.1e2 * t2235 + t2271 + 0.1e2 * t2242 - 0.5e1 * t2248 + 0.5e1 / 0.2e1 * t2212 + 0.4e2 * t2225 + 0.2e2 * t2229; + const double t2280 = 0.2e2 / 0.9e1 * t2185; + const double t2283 = 0.1e1 / t473 / t439; + const double t2284 = t2283 * t259; + const double t2285 = t479 * t2153; + const double t2289 = t886 * t728; + const double t2291 = t254 * t2289 * t888; + const double t2293 = t88 * t886; + const double t2294 = t253 * t2293; + const double t2295 = t259 * t898; + const double t2299 = t477 * t477; + const double t2301 = 0.1e1 / t419 / t2299; + const double t2302 = t2301 * t2190; + const double t2310 = 0.3e2 * t2232 + 0.5e1 * t2181 - t2280 - 0.5e1 / 0.3e1 * t2188 - 0.1e2 * t254 * t2284 * t2285 - 0.5e2 / 0.9e1 * t2291 - 0.25e2 / 0.3e1 * t2294 * t2295 * t2164 - 0.35e2 / 0.12e2 * t254 * t476 * t2302 - 0.1e2 * t2156 - 0.1e2 / 0.3e1 * t2160 - 0.5e1 * t2166 - 0.15e2 / 0.4e1 * t2193; + const double t2311 = t2277 + t2310; + const double t2312 = t470 * t2311; + const double t2315 = t496 * t2153; + const double t2320 = t33 * t2158 * t907; + const double t2322 = t922 * t835; + const double t2326 = t496 * t2178; + const double t2332 = 0.8e1 / 0.27e2 * t33 * t2183 * t496; + const double t2334 = t33 * t840 * t922; + const double t2337 = 0.1e1 / t491 / t490; + const double t2338 = t917 * t917; + const double t2340 = t2337 * t2338 / 0.12e2; + const double t2344 = 0.1e2 / 0.3e1 * t2207; + const double t2345 = 0.18e2 * t2197 + 0.8e1 * t2201 - 0.6e1 * t2204 + t2344; + const double t2347 = t914 * t2345 / 0.6e1; + const double t2349 = 0.1e1 / t494 / t493; + const double t2351 = t2349 * t2338 / 0.12e2; + const double t2353 = t919 * t2345 / 0.6e1; + const double t2354 = -t2340 + t2347 + t2351 - t2353; + const double t2360 = 0.2e1 / 0.3e1 * t33 * t2152 * t2153; + const double t2362 = t33 * t2158 * t835; + const double t2363 = 0.2e1 / 0.9e1 * t2362; + const double t2366 = t33 * t828 * t2178 / 0.3e1; + const double t2369 = 0.4e1 / 0.27e2 * t29 * t500 * t1641; + const double t2370 = t2360 + t2363 - t2366 + t2369 - t2340 + t2347; + const double t2372 = t933 * t936; + const double t2376 = 0.1e1 / t935 / t506; + const double t2377 = t504 * t2376; + const double t2378 = t940 * t940; + const double t2385 = t2360 + t2363 - t2366 + t2369 - t443 * t2190 / 0.4e1 + t420 * t2209 / 0.2e1; + const double t2387 = t2370 * t507 - 0.2e1 * t2372 * t940 + 0.2e1 * t2377 * t2378 - t2385 * t937; + const double t2388 = t411 * t2387; + const double t2391 = t504 * t504; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t2392 * t506; + const double t2394 = t2393 * t933; + const double t2397 = t944 * t940; + const double t2400 = t2360 + t2363 - t2366 + t2369 - t2351 + t2353; + const double t2402 = t949 * t936; + const double t2405 = t513 * t2376; + const double t2409 = 0.2e1 * t2378 * t2405 - t2385 * t951 + t2400 * t507 - 0.2e1 * t2402 * t940; + const double t2410 = t465 * t2409; + const double t2413 = t513 * t513; + const double t2414 = 0.1e1 / t2413; + const double t2415 = t2414 * t506; + const double t2416 = t2415 * t949; + const double t2419 = t955 * t940; + const double t2422 = 0.47272888888888888889e-1 * t2214 * t426 + 0.26366444444444444444e-1 * t2251 * t450 - t2312 * t485 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t2152 * t2315 + 0.4e1 / 0.9e1 * t2320 - 0.4e1 / 0.3e1 * t33 * t828 * t2322 - 0.2e1 / 0.3e1 * t33 * t828 * t2326 + t2332 - 0.4e1 / 0.9e1 * t2334 + 0.2e1 / 0.3e1 * t33 * t323 * t2354 + 0.2e1 * t2388 * t945 - 0.2e1 * t943 * t2394 + 0.2e1 * t943 * t2397 - 0.2e1 * t2410 * t956 + 0.2e1 * t954 * t2416 - 0.2e1 * t954 * t2419; + const double t2427 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t2134 * t518 - t2140 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t820 * t959 + t2148 - t2150 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t2422 ); + const double t2443 = t971 * t188; + const double t2445 = t5 * t2443 * t302; + const double t2456 = t5 * t535 * t1056; + const double t2470 = t632 * t1752 * t979; + const double t2497 = t33 * t552 * t1030; + const double t2501 = t33 * t1806 * t1021; + const double t2515 = t33 * t1806 * t980; + const double t2532 = t33 * t552 * t988; + const double t2534 = t44 * t263; + const double t2568 = t33 * t1806 * t979; + const double t2576 = t1038 * t783; + const double t2599 = t1049 * t783; + const double t2622 = t254 * t2083 * t1009; + const double t2625 = t254 * t729 * t1013; + const double t2632 = t678 * t1965 * t987; + const double t2684 = t670 * t1952 * t979; + const double t2687 = t253 * t88 * t257; + const double t2688 = t259 * t2071; + const double t2745 = t1066 * t188; + const double t2747 = t5 * t2745 * t518; + const double t2758 = t5 * t824 * t1285; + const double t2773 = t632 * t2199 * t1075; + const double t2800 = t33 * t840 * t1255; + const double t2803 = t33 * t2158 * t1243; + const double t2824 = t33 * t2158 * t1076; + const double t2841 = t33 * t840 * t1160; + const double t2843 = t44 * t479; + const double t2864 = t33 * t2158 * t1075; + const double t2872 = t1265 * t936; + const double t2896 = t1278 * t936; + const double t2929 = t862 * t2227 * t1075; + const double t2935 = t870 * t2240 * t1159; + const double t2946 = t254 * t2289 * t1226; + const double t2950 = t254 * t892 * t1230; + const double t2984 = t253 * t88 * t475; + const double t2985 = t259 * t2301; + const double t3038 = t968 * t968; + const double t3042 = 0.2e1 * t524 + 0.2e1 * t1614; + const double t3043 = piecewise_functor_5( t10, 0.0, t14, 0.0, t3042 ); + const double t3047 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t1608 * t3038 + 0.4e1 / 0.3e1 * t23 * t3043 ); + const double t3048 = t3047 * t26; + const double t3057 = t979 * t979; + const double t3058 = t194 * t3057; + const double t3060 = t33 * t1801 * t3058; + const double t3063 = t979 * t987; + const double t3065 = t1895 * t1294 * t3063; + const double t3067 = t976 * t976; + const double t3070 = piecewise_functor_5( t35, 0.0, t37, 0.0, t3042 ); + const double t3074 = piecewise_functor_3( t40, 0.0, -0.2e1 / 0.9e1 * t1757 * t3067 + t541 * t3070 / 0.3e1 ); + const double t3075 = t194 * t3074; + const double t3077 = t33 * t539 * t3075; + const double t3080 = t987 * t987; + const double t3081 = t263 * t3080; + const double t3083 = t33 * t45 * t3081; + const double t3086 = t632 * t1747 * t3057; + const double t3090 = t632 * t633 * t3074; + const double t3092 = 0.2e1 * t3086 + 0.8e1 / 0.9e1 * t2470 - 0.2e1 / 0.3e1 * t3090 + t1839; + const double t3093 = t219 * t3092; + const double t3095 = t33 * t45 * t3093; + const double t3097 = -0.2e1 / 0.3e1 * t3060 - 0.2e1 / 0.9e1 * t2515 - t3065 / 0.3e1 + t3077 / 0.3e1 - t1906 - t2532 / 0.9e1 - t3083 / 0.4e1 + t3095 / 0.6e1; + const double t3106 = t1948 * t671 * t3057; + const double t3110 = t670 * t679 * t3063; + const double t3113 = t670 * t671 * t3074; + const double t3115 = t678 * t1968 * t3080; + const double t3118 = t678 * t679 * t3092; + const double t3120 = -0.2e1 * t3060 - 0.2e1 / 0.3e1 * t2515 - t3065 + t3077 - t1944 - t2532 / 0.3e1 - 0.3e1 / 0.4e1 * t3083 + t3095 / 0.2e1 + 0.4e1 * t3106 + 0.2e1 * t2684 + 0.3e1 * t3110 - t3113 + t1964 + t2632 + 0.5e1 / 0.4e1 * t3115 - t3118 / 0.2e1; + const double t3121 = t212 * t3120; + const double t3124 = t263 * t3074; + const double t3128 = t735 * t3092; + const double t3141 = t2071 * t3080; + const double t3145 = 0.5e1 / 0.3e1 * t254 * t722 * t3124 + 0.5e1 / 0.6e1 * t254 * t260 * t3128 - 0.1e2 * t3113 - 0.5e1 * t3118 + 0.25e2 / 0.2e1 * t3115 + 0.5e1 / 0.2e1 * t3095 + 0.4e2 * t3106 + 0.3e2 * t3110 + 0.5e1 * t3077 + 0.2e2 * t2684 + 0.1e2 * t2632 - 0.35e2 / 0.12e2 * t254 * t260 * t3141; + const double t3146 = t263 * t3057; + const double t3160 = -0.1e2 * t254 * t2078 * t3146 - 0.25e2 / 0.3e1 * t2088 * t2089 * t3063 - 0.1e2 * t3060 - 0.5e1 * t3065 - 0.15e2 / 0.4e1 * t3083 - 0.5e2 / 0.9e1 * t2622 - 0.25e2 / 0.9e1 * t2625 - 0.5e1 / 0.3e1 * t2532 - 0.1e2 / 0.3e1 * t2515 + t2040 - t2048 - t2066; + const double t3161 = t3145 + t3160; + const double t3162 = t248 * t3161; + const double t3165 = t280 * t3057; + const double t3170 = t1030 * t979; + const double t3174 = t280 * t3074; + const double t3179 = t1026 * t1026; + const double t3181 = t1654 * t3179 / 0.12e2; + const double t3185 = 0.18e2 * t3086 + 0.8e1 * t2470 - 0.6e1 * t3090 + t1771; + const double t3187 = t756 * t3185 / 0.6e1; + const double t3189 = t1776 * t3179 / 0.12e2; + const double t3191 = t762 * t3185 / 0.6e1; + const double t3192 = -t3181 + t3187 + t3189 - t3191; + const double t3198 = 0.2e1 / 0.3e1 * t33 * t1801 * t3057; + const double t3199 = 0.2e1 / 0.9e1 * t2568; + const double t3202 = t33 * t539 * t3074 / 0.3e1; + const double t3203 = t3198 + t3199 - t3202 + t1821 - t3181 + t3187; + const double t3207 = t1042 * t1042; + const double t3214 = t3198 + t3199 - t3202 + t1821 - t219 * t3080 / 0.4e1 + t194 * t3092 / 0.2e1; + const double t3216 = -0.2e1 * t1042 * t2576 + 0.2e1 * t1875 * t3207 + t291 * t3203 - t3214 * t784; + const double t3217 = t181 * t3216; + const double t3220 = t1791 * t1038; + const double t3223 = t791 * t1042; + const double t3226 = t3198 + t3199 - t3202 + t1821 - t3189 + t3191; + const double t3233 = -0.2e1 * t1042 * t2599 + 0.2e1 * t1829 * t3207 + t291 * t3226 - t3214 * t800; + const double t3234 = t243 * t3233; + const double t3237 = t1797 * t1049; + const double t3240 = t804 * t1042; + const double t3243 = 0.47272888888888888889e-1 * t3097 * t200 + 0.26366444444444444444e-1 * t3121 * t226 - t3162 * t269 / 0.9e1 + 0.4e1 / 0.3e1 * t33 * t1801 * t3165 + 0.4e1 / 0.9e1 * t2501 - 0.4e1 / 0.3e1 * t33 * t539 * t3170 - 0.2e1 / 0.3e1 * t33 * t539 * t3174 + t1645 - 0.4e1 / 0.9e1 * t2497 + 0.2e1 / 0.3e1 * t33 * t45 * t3192 + 0.2e1 * t3217 * t792 - 0.2e1 * t1045 * t3220 + 0.2e1 * t1045 * t3223 - 0.2e1 * t3234 * t805 + 0.2e1 * t1053 * t3237 - 0.2e1 * t1053 * t3240; + const double t3248 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t3048 * t302 - t2445 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t972 * t1056 + t1636 - t2456 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t3243 ); + const double t3249 = t1063 * t1063; + const double t3254 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t524 + 0.2e1 * t2126 ); + const double t3258 = piecewise_functor_3( t312, 0.0, 0.4e1 / 0.9e1 * t2122 * t3249 + 0.4e1 / 0.3e1 * t313 * t3254 ); + const double t3259 = t3258 * t26; + const double t3269 = 0.1e1 / t327 / t336; + const double t3270 = t3269 * t371; + const double t3271 = t3270 * t406; + const double t3274 = t1082 * t1114; + const double t3275 = t3274 * t406; + const double t3281 = t330 * t3269; + const double t3284 = 0.1e1 / t351; + const double t3285 = t335 * t3284; + const double t3289 = 0.1e1 / t326 / t1099; + const double t3290 = t342 * t3289; + const double t3294 = 0.1e1 / t327 / t358; + const double t3295 = t350 * t3294; + const double t3298 = 0.1e1 / t393; + const double t3299 = t357 * t3298; + const double t3303 = 0.1e1 / t326 / t1138; + const double t3304 = t364 * t3303; + const double t3307 = 0.11e2 / 0.27e2 * t57 * t3281 + 0.5e1 / 0.12e2 * t64 * t3285 + 0.19e2 / 0.324e3 * t74 * t3290 + 0.115e3 / 0.2592e4 * t86 * t3295 + t100 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t108 * t3304; + const double t3308 = t329 * t3307; + const double t3309 = t3308 * t406; + const double t3316 = 0.1e1 / t1119 / t405; + const double t3317 = t1149 * t1149; + const double t3318 = t3316 * t3317; + const double t3323 = 0.1e1 / t326 / t1080; + const double t3340 = 0.1e1 / t327 / t400; + const double t3344 = t358 * t351; + const double t3345 = 0.1e1 / t3344; + const double t3349 = 0.7e1 / 0.27e2 * t122 * t373 * t3323 + 0.11e2 / 0.27e2 * t130 * t3281 + 0.5e1 / 0.12e2 * t134 * t3285 + 0.19e2 / 0.324e3 * t138 * t3290 + 0.115e3 / 0.2592e4 * t142 * t3295 + t146 * t3299 / 0.32e2 + 0.217e3 / 0.62208e5 * t150 * t3304 + 0.35e2 / 0.15552e5 * t154 * t392 * t3340 + 0.13e2 / 0.9216e4 * t168 * t399 * t3345; + const double t3350 = t1120 * t3349; + const double t3355 = piecewise_functor_3( t410, 0.11e2 / 0.27e2 * t324 * t3271 - 0.2e1 / 0.9e1 * t324 * t3275 + 0.2e1 / 0.9e1 * t324 * t1083 * t1150 + t324 * t3309 / 0.24e2 - t324 * t1115 * t1150 / 0.12e2 + t324 * t372 * t3318 / 0.12e2 - t324 * t372 * t3350 / 0.24e2, 0.0 ); + const double t3358 = piecewise_functor_3( t463, t3355, 0.0 ); + const double t3361 = t1075 * t1075; + const double t3362 = t420 * t3361; + const double t3364 = t33 * t2152 * t3362; + const double t3367 = t1075 * t1159; + const double t3369 = t2163 * t1450 * t3367; + const double t3371 = t1072 * t1072; + const double t3375 = piecewise_functor_5( t37, 0.0, t35, 0.0, -t3042 ); + const double t3379 = piecewise_functor_3( t319, 0.0, -0.2e1 / 0.9e1 * t2169 * t3371 + t830 * t3375 / 0.3e1 ); + const double t3380 = t420 * t3379; + const double t3382 = t33 * t828 * t3380; + const double t3385 = t1159 * t1159; + const double t3386 = t479 * t3385; + const double t3388 = t33 * t323 * t3386; + const double t3391 = t632 * t2195 * t3361; + const double t3395 = t632 * t844 * t3379; + const double t3397 = t3355 + 0.2e1 * t3391 + 0.8e1 / 0.9e1 * t2773 - 0.2e1 / 0.3e1 * t3395 + t2208; + const double t3398 = t443 * t3397; + const double t3400 = t33 * t323 * t3398; + const double t3402 = -0.2e1 / 0.3e1 * t3364 - 0.2e1 / 0.9e1 * t2824 - t3369 / 0.3e1 + t3382 / 0.3e1 - t2186 - t2841 / 0.9e1 - t3388 / 0.4e1 + t3400 / 0.6e1; + const double t3405 = t2393 * t1265; + const double t3408 = t2415 * t1278; + const double t3411 = t1249 * t1249; + const double t3413 = t2337 * t3411 / 0.12e2; + const double t3415 = 0.18e2 * t3391; + const double t3416 = 0.8e1 * t2773; + const double t3417 = 0.6e1 * t3395; + const double t3418 = 0.9e1 * t3355 + t3415 + t3416 - t3417 + t2344; + const double t3420 = t914 * t3418 / 0.6e1; + const double t3421 = t1252 * t1252; + const double t3423 = t2349 * t3421 / 0.12e2; + const double t3425 = 0.9e1 * t3358 + t3415 + t3416 - t3417 + t2344; + const double t3427 = t919 * t3425 / 0.6e1; + const double t3428 = -t3413 + t3420 + t3423 - t3427; + const double t3436 = 0.2e1 / 0.3e1 * t33 * t2152 * t3361; + const double t3437 = 0.2e1 / 0.9e1 * t2864; + const double t3440 = t33 * t828 * t3379 / 0.3e1; + const double t3441 = t3436 + t3437 - t3440 + t2369 - t3413 + t3420; + const double t3445 = t1269 * t1269; + const double t3452 = t3436 + t3437 - t3440 + t2369 - t443 * t3385 / 0.4e1 + t420 * t3397 / 0.2e1; + const double t3454 = -0.2e1 * t1269 * t2872 + 0.2e1 * t2377 * t3445 + t3441 * t507 - t3452 * t937; + const double t3455 = t411 * t3454; + const double t3458 = t944 * t1269; + const double t3461 = t1213 * t1281; + const double t3464 = t3436 + t3437 - t3440 + t2369 - t3423 + t3427; + const double t3471 = -0.2e1 * t1269 * t2896 + 0.2e1 * t2405 * t3445 - t3452 * t951 + t3464 * t507; + const double t3472 = t465 * t3471; + const double t3475 = t955 * t1269; + const double t3478 = t1155 * t1155; + const double t3479 = t1239 * t3478; + const double t3484 = t485 * t3355; + const double t3491 = 0.2e1 * t3355 * t509 - 0.2e1 * t3358 * t515 + 0.47272888888888888889e-1 * t3402 * t426 - 0.2e1 * t1272 * t3405 + 0.2e1 * t1282 * t3408 + 0.2e1 / 0.3e1 * t33 * t323 * t3428 - 0.10546577777777777778e0 * t1182 * t1195 + 0.2e1 * t3455 * t945 + 0.2e1 * t1272 * t3458 - 0.4e1 * t3461 * t956 - 0.2e1 * t3472 * t956 - 0.2e1 * t1282 * t3475 + 0.15819866666666666666e0 * t448 * t3479 - 0.10546577777777777778e0 * t1192 * t1195 - 0.52732888888888888888e-1 * t448 * t3484 + 0.2e1 / 0.3e1 * t1219 * t1240 + 0.2e1 / 0.3e1 * t1235 * t1240; + const double t3492 = t1239 * t3355; + const double t3495 = t1155 * t1271; + const double t3500 = 0.1e1 / t1238 / t425; + const double t3501 = t3500 * t3478; + const double t3504 = t496 * t3379; + const double t3508 = t496 * t3361; + const double t3512 = t1255 * t1075; + const double t3523 = t2223 * t863 * t3361; + const double t3527 = t862 * t871 * t3367; + const double t3530 = t862 * t863 * t3379; + const double t3532 = t870 * t2243 * t3385; + const double t3535 = t870 * t871 * t3397; + const double t3537 = -0.2e1 * t3364 - 0.2e1 / 0.3e1 * t2824 - t3369 + t3382 - t2219 - t2841 / 0.3e1 - 0.3e1 / 0.4e1 * t3388 + t3400 / 0.2e1 + 0.4e1 * t3523 + 0.2e1 * t2929 + 0.3e1 * t3527 - t3530 + t2239 + t2935 + 0.5e1 / 0.4e1 * t3532 - t3535 / 0.2e1; + const double t3538 = t438 * t3537; + const double t3541 = sigma_bb * t3269; + const double t3549 = t99 * t357; + const double t3551 = 0.1e1 / t1175 / t432; + const double t3556 = 0.12717480330480143498e0 * t49 * t3541 * t433 - 0.32516284935886730535e-2 * t655 * t341 * t3289 * t1176 + 0.12043068494772863161e-3 * t3549 * t3298 * t3551 + 0.42141105276909202774e1 * t3355; + const double t3570 = t458 * t425; + const double t3571 = t3570 * t468; + const double t3574 = t1206 * t1216; + const double t3580 = 0.1e1 / t460 / t411; + const double t3586 = 0.1e1 / t466 / t465; + const double t3587 = t1213 * t1213; + const double t3592 = -0.3e1 / 0.5e1 * t3580 * t3478 + 0.6e1 / 0.5e1 * t1210 * t3355 + 0.3e1 / 0.5e1 * t3586 * t3587 - 0.6e1 / 0.5e1 * t1212 * t3358; + const double t3594 = 0.474596e-1 * t3556 * t425 + 0.949192e-1 * t1181 * t1155 + 0.474596e-1 * t438 * t3355 + 0.56727466666666666666e-1 * t3478 + 0.56727466666666666666e-1 * t425 * t3355 - 0.54519192e1 * t425 * t3478 - 0.27259596e1 * t449 * t3355 - 0.35e2 / 0.4e1 * t3571 * t3478 - 0.7e1 * t3574 * t1155 - 0.7e1 / 0.2e1 * t1207 * t3355 - t459 * t3592; + const double t3595 = t3594 * t483; + const double t3598 = t1218 * t1234; + const double t3601 = t2301 * t3385; + const double t3607 = t479 * t3379; + const double t3611 = t898 * t3397; + const double t3622 = -0.35e2 / 0.12e2 * t254 * t476 * t3601 - 0.5e1 * t3535 - 0.1e2 * t3530 + 0.5e1 / 0.3e1 * t254 * t887 * t3607 + 0.5e1 / 0.6e1 * t254 * t476 * t3611 + 0.4e2 * t3523 + 0.3e2 * t3527 + 0.25e2 / 0.2e1 * t3532 + 0.5e1 / 0.2e1 * t3400 + 0.5e1 * t3382 + 0.2e2 * t2929 + 0.1e2 * t2935; + const double t3623 = t479 * t3361; + const double t3637 = -0.1e2 * t254 * t2284 * t3623 - 0.25e2 / 0.3e1 * t2294 * t2295 * t3367 - 0.1e2 * t3364 - 0.5e1 * t3369 - 0.15e2 / 0.4e1 * t3388 - 0.5e2 / 0.9e1 * t2946 - 0.25e2 / 0.9e1 * t2950 - 0.1e2 / 0.3e1 * t2824 - 0.5e1 / 0.3e1 * t2841 - t2261 + t2271 - t2280; + const double t3638 = t3622 + t3637; + const double t3639 = t470 * t3638; + const double t3642 = t1164 * t450; + const double t3647 = t3556 * t447; + const double t3650 = t1181 * t1191; + const double t3653 = t424 * t485; + const double t3656 = t484 * t3492 / 0.3e1 + 0.4e1 * t3495 * t945 - 0.4e1 / 0.9e1 * t2800 - 0.4e1 / 0.3e1 * t484 * t3501 - 0.2e1 / 0.3e1 * t33 * t828 * t3504 + 0.4e1 / 0.3e1 * t33 * t2152 * t3508 - 0.4e1 / 0.3e1 * t33 * t828 * t3512 + 0.4e1 / 0.9e1 * t2803 + 0.26366444444444444444e-1 * t3538 * t450 - t3595 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t3598 * t485 - t3639 * t485 / 0.9e1 - 0.94545777777777777778e-1 * t3642 * t1155 - 0.47272888888888888889e-1 * t1167 * t3355 + 0.26366444444444444444e-1 * t3647 * t450 + 0.52732888888888888888e-1 * t3650 * t450 + 0.94545777777777777778e-1 * t3653 * t3478 + t2332; + const double t3657 = t3491 + t3656; + const double t3662 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t3259 * t518 - t2747 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t1067 * t1285 + t2148 - t2758 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t316 * t3657 ); + const double t3670 = t5 * t535 * t1444 / 0.8e1; + const double t3673 = 0.2e1 / 0.9e1 * t33 * t552 * t1419; + const double t3686 = t49 * t55; + const double t3687 = t119 * t596; + const double t3688 = t3687 * t625; + const double t3691 = t558 * t1317; + const double t3692 = t3691 * t176; + const double t3695 = t48 * t558; + const double t3698 = t65 * t566; + const double t3701 = t1302 * t571; + const double t3704 = t1306 * t577; + const double t3707 = t77 * t581; + const double t3710 = t1313 * t586; + const double t3713 = -t57 * t3695 / 0.9e1 - t64 * t3698 / 0.8e1 - t74 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t3704 - t100 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t3710; + const double t3714 = t55 * t3713; + const double t3715 = t3714 * t176; + const double t3727 = t119 * t1706; + const double t3728 = t1345 * t625; + const double t3729 = t3727 * t3728; + const double t3753 = -t122 * t1322 * t598 / 0.18e2 - t130 * t3695 / 0.9e1 - t134 * t3698 / 0.8e1 - t138 * t3701 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t3704 - t146 * t3707 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t3710 - t154 * t1338 * t616 / 0.1296e4 - t168 * t111 * t621 / 0.2048e4; + const double t3754 = t596 * t3753; + const double t3759 = piecewise_functor_3( t180, -t49 * t560 / 0.9e1 + t49 * t592 / 0.24e2 - t3686 * t3688 / 0.24e2 - t50 * t3692 / 0.9e1 + t50 * t3715 / 0.24e2 - t50 * t1318 * t626 / 0.24e2 + t50 * t559 * t1346 / 0.9e1 - t50 * t591 * t1346 / 0.24e2 + t204 * t3729 / 0.12e2 - t50 * t120 * t3754 / 0.24e2, 0.0 ); + const double t3760 = t269 * t3759; + const double t3763 = t745 * t3759; + const double t3766 = t1351 * t789; + const double t3769 = t631 * t1430; + const double t3772 = t1654 * t1351; + const double t3773 = t291 * t760; + const double t3776 = t756 * t3759; + const double t3779 = t783 * t787; + const double t3784 = t1427 * t787; + const double t3786 = t1370 * t640; + const double t3789 = t194 * t3759; + const double t3792 = -0.3e1 / 0.4e1 * t3772 * t3773 + 0.3e1 / 0.2e1 * t3776 * t291 - 0.3e1 / 0.2e1 * t1416 * t3779 - t1872 * t1427 / 0.2e1 + t1875 * t3784 + t784 * t3786 / 0.4e1 - t784 * t3789 / 0.2e1; + const double t3793 = t181 * t3792; + const double t3799 = t1394 * t802; + const double t3802 = t705 * t1440; + const double t3805 = t1776 * t1394; + const double t3806 = t291 * t764; + const double t3809 = piecewise_functor_3( t241, t3759, 0.0 ); + const double t3810 = t762 * t3809; + const double t3822 = -0.3e1 / 0.4e1 * t3805 * t3806 + 0.3e1 / 0.2e1 * t3810 * t291 - 0.3e1 / 0.2e1 * t1417 * t3779 - t1824 * t1427 / 0.2e1 + t1829 * t3784 + t800 * t3786 / 0.4e1 - t800 * t3789 / 0.2e1; + const double t3823 = t243 * t3822; + const double t3828 = t631 * t1351; + const double t3839 = t1352 * t640; + const double t3843 = 0.2e1 * t1431 * t1930 - 0.2e1 * t3799 * t805 - 0.2e1 * t3802 * t805 - 0.2e1 * t3823 * t805 - 0.2e1 * t1441 * t1849 + 0.94545777777777777778e-1 * t1936 * t3828 + t1400 * t746 / 0.3e1 + t1410 * t746 / 0.3e1 + t711 * t1413 / 0.3e1 + t741 * t1413 / 0.3e1 - 0.11818222222222222222e-1 * t1293 * t2534 * t3839; + const double t3845 = t1419 * t545; + const double t3849 = t1351 * t226; + const double t3850 = t3849 * t631; + const double t3854 = t1352 * t545; + const double t3864 = -0.3e1 / 0.4e1 * t3772 * t760 + 0.3e1 / 0.2e1 * t3776 + 0.3e1 / 0.4e1 * t3805 * t764 - 0.3e1 / 0.2e1 * t3810; + const double t3868 = t3759 * t200; + const double t3872 = t551 * t219; + const double t3875 = 0.26262716049382716049e-2 * t1293 * t3872 * t1352; + const double t3876 = t1351 * t545; + const double t3878 = t1895 * t1294 * t3876; + const double t3881 = t33 * t552 * t1370; + const double t3882 = t3881 / 0.6e1; + const double t3883 = t1351 * t640; + const double t3885 = t1293 * t2534 * t3883; + const double t3887 = t219 * t3759; + const double t3889 = t33 * t45 * t3887; + const double t3892 = t670 * t679 * t3876; + const double t3895 = t678 * t1965 * t1351; + const double t3896 = t3895 / 0.2e1; + const double t3898 = t678 * t1968 * t3883; + const double t3901 = t678 * t679 * t3759; + const double t3903 = -t3878 / 0.2e1 - t3882 - 0.3e1 / 0.4e1 * t3885 + t3889 / 0.2e1 + 0.3e1 / 0.2e1 * t3892 + t3896 + 0.5e1 / 0.4e1 * t3898 - t3901 / 0.2e1; + const double t3904 = t212 * t3903; + const double t3910 = t571 * t658; + const double t3914 = t99 * t77; + const double t3919 = -0.34684037264945845904e-1 * t49 * t558 * t207 + 0.10838761645295576845e-2 * t655 * t3910 * sigma_aa - 0.45161506855398236853e-4 * t3914 * t581 * t1989 + 0.42141105276909202774e1 * t3759; + const double t3929 = t199 * t3759; + const double t3941 = t698 * t1397; + const double t3944 = t2018 * t1351; + const double t3949 = t2024 * t1394; + const double t3954 = -0.3e1 / 0.5e1 * t3944 * t631 + 0.6e1 / 0.5e1 * t702 * t3759 + 0.3e1 / 0.5e1 * t3949 * t705 - 0.6e1 / 0.5e1 * t704 * t3809; + const double t3956 = 0.474596e-1 * t3919 * t199 + 0.474596e-1 * t1366 * t631 + 0.474596e-1 * t663 * t1351 + 0.474596e-1 * t212 * t3759 + 0.56727466666666666666e-1 * t3828 + 0.56727466666666666666e-1 * t3929 - 0.54519192e1 * t1387 * t631 - 0.27259596e1 * t225 * t3759 - 0.35e2 / 0.4e1 * t2009 * t3828 - 0.7e1 / 0.2e1 * t2012 * t1351 - 0.7e1 / 0.2e1 * t699 * t3759 - 0.7e1 / 0.2e1 * t3941 * t631 - t235 * t3954; + const double t3957 = t3956 * t267; + const double t3961 = 0.5e1 / 0.6e1 * t3881; + const double t3965 = 0.5e1 * t3895; + const double t3973 = 0.25e2 / 0.18e2 * t254 * t729 * t1405; + const double t3977 = t735 * t3759; + const double t3981 = -0.5e1 / 0.2e1 * t3878 - t3961 - 0.15e2 / 0.4e1 * t3885 + 0.5e1 / 0.2e1 * t3889 + 0.15e2 * t3892 + t3965 + 0.25e2 / 0.2e1 * t3898 - 0.5e1 * t3901 - 0.25e2 / 0.6e1 * t2088 * t2089 * t3876 - t3973 - 0.35e2 / 0.12e2 * t2687 * t2688 * t3883 + 0.5e1 / 0.6e1 * t254 * t260 * t3977; + const double t3982 = t248 * t3981; + const double t3989 = -0.2e1 / 0.3e1 * t33 * t539 * t3845 - 0.78788148148148148148e-2 * t1293 * t1294 * t3850 - 0.78788148148148148148e-2 * t1895 * t1294 * t3854 + 0.2e1 / 0.3e1 * t33 * t45 * t3864 + 0.78788148148148148148e-2 * t1293 * t1294 * t3868 - t3875 + 0.26366444444444444444e-1 * t3904 * t226 - t3957 * t269 / 0.9e1 - t3982 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t2102 * t1351 - 0.47272888888888888889e-1 * t648 * t3759; + const double t3990 = t3919 * t223; + const double t3993 = t1366 * t683; + const double t3996 = t663 * t1376; + const double t3999 = t1399 * t740; + const double t4002 = t710 * t1409; + const double t4005 = t1922 * t1351; + const double t4006 = t4005 * t631; + const double t4011 = t1413 * t631; + const double t4020 = 0.26366444444444444444e-1 * t3990 * t226 + 0.26366444444444444444e-1 * t3993 * t226 + 0.26366444444444444444e-1 * t3996 * t226 - t3999 * t269 / 0.9e1 - t4002 * t269 / 0.9e1 - 0.4e1 / 0.3e1 * t268 * t4006 - 0.2e1 * t1431 * t1792 + 0.15819866666666666666e0 * t224 * t4011 + 0.2e1 * t1441 * t1798 + 0.2e1 * t3759 * t293 - 0.2e1 * t3809 * t299; + const double t4022 = -t3673 - 0.52732888888888888888e-1 * t1367 * t687 - 0.52732888888888888888e-1 * t1377 * t687 - 0.52732888888888888888e-1 * t664 * t1380 - 0.52732888888888888888e-1 * t684 * t1380 - 0.52732888888888888888e-1 * t224 * t3760 + t268 * t3763 / 0.3e1 + 0.2e1 * t3766 * t792 + 0.2e1 * t3769 * t792 + 0.2e1 * t3793 * t792 + t3843 + t3989 + t4020; + const double t4027 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t531 * t1444 - t3670 - 0.3e1 / 0.8e1 * t5 * t27 * t4022 ); + const double t4034 = t5 * t824 * t1600 / 0.8e1; + const double t4039 = t551 * t443; + const double t4042 = 0.26262716049382716049e-2 * t1449 * t4039 * t1508; + const double t4057 = t33 * t840 * t1526; + const double t4058 = t4057 / 0.6e1; + const double t4067 = t870 * t2240 * t1507; + const double t4068 = t4067 / 0.2e1; + const double t4082 = 0.5e1 / 0.6e1 * t4057; + const double t4085 = 0.5e1 * t4067; + const double t4092 = 0.25e2 / 0.18e2 * t254 * t892 * t1561; + const double t4109 = 0.2e1 / 0.9e1 * t33 * t840 * t1575; + const double t4110 = t2337 * t1507; + const double t4112 = t2349 * t1550; + const double t4293 = t1507 * t450; + const double t4294 = t4293 * t1155; + const double t4298 = t1508 * t1075; + const double t4302 = t1508 * t1159; + const double t4312 = t49 * t329; + const double t4313 = t371 * t1120; + const double t4314 = t4313 * t1149; + const double t4317 = t1082 * t1473; + const double t4318 = t4317 * t406; + const double t4321 = t48 * t1082; + const double t4324 = t334 * t1090; + const double t4327 = t1458 * t1095; + const double t4330 = t1462 * t1101; + const double t4333 = t341 * t1105; + const double t4336 = t1469 * t1110; + const double t4339 = -t57 * t4321 / 0.9e1 - t64 * t4324 / 0.8e1 - t74 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t86 * t4330 - t100 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t108 * t4336; + const double t4340 = t329 * t4339; + const double t4341 = t4340 * t406; + const double t4353 = t371 * t3316; + const double t4354 = t1501 * t1149; + const double t4355 = t4353 * t4354; + const double t4379 = -t122 * t1478 * t1122 / 0.18e2 - t130 * t4321 / 0.9e1 - t134 * t4324 / 0.8e1 - t138 * t4327 / 0.54e2 - 0.25e2 / 0.1728e4 * t142 * t4330 - t146 * t4333 / 0.96e2 - 0.49e2 / 0.41472e5 * t150 * t4336 - t154 * t1494 * t1140 / 0.1296e4 - t168 * t363 * t1145 / 0.2048e4; + const double t4380 = t1120 * t4379; + const double t4385 = piecewise_functor_3( t410, -t49 * t1084 / 0.9e1 + t49 * t1116 / 0.24e2 - t4312 * t4314 / 0.24e2 - t324 * t4318 / 0.9e1 + t324 * t4341 / 0.24e2 - t324 * t1474 * t1150 / 0.24e2 + t324 * t1083 * t1502 / 0.9e1 - t324 * t1115 * t1502 / 0.24e2 + t430 * t4355 / 0.12e2 - t324 * t372 * t4380 / 0.24e2, 0.0 ); + const double t4386 = t914 * t4385; + const double t4390 = piecewise_functor_3( t463, t4385, 0.0 ); + const double t4391 = t919 * t4390; + const double t4393 = -0.3e1 / 0.4e1 * t4110 * t1249 + 0.3e1 / 0.2e1 * t4386 + 0.3e1 / 0.4e1 * t4112 * t1252 - 0.3e1 / 0.2e1 * t4391; + const double t4405 = t1218 * t1565; + const double t4409 = t1507 * t1075; + const double t4411 = t2163 * t1450 * t4409; + const double t4413 = t1507 * t1159; + const double t4415 = t1449 * t2843 * t4413; + const double t4417 = t443 * t4385; + const double t4419 = t33 * t323 * t4417; + const double t4422 = t862 * t871 * t4409; + const double t4425 = t870 * t2243 * t4413; + const double t4428 = t870 * t871 * t4385; + const double t4436 = t898 * t4385; + const double t4440 = -0.5e1 / 0.2e1 * t4411 - t4082 - 0.15e2 / 0.4e1 * t4415 + 0.5e1 / 0.2e1 * t4419 + 0.15e2 * t4422 + t4085 + 0.25e2 / 0.2e1 * t4425 - 0.5e1 * t4428 - 0.25e2 / 0.6e1 * t2294 * t2295 * t4409 - t4092 - 0.35e2 / 0.12e2 * t2984 * t2985 * t4413 + 0.5e1 / 0.6e1 * t254 * t476 * t4436; + const double t4441 = t470 * t4440; + const double t4447 = t1095 * t1176; + const double t4451 = t99 * t341; + const double t4456 = -0.34684037264945845904e-1 * t49 * t1082 * t433 + 0.10838761645295576845e-2 * t655 * t4447 * sigma_bb - 0.45161506855398236853e-4 * t4451 * t1105 * t3551 + 0.42141105276909202774e1 * t4385; + const double t4465 = t1155 * t1507; + const double t4467 = t425 * t4385; + const double t4479 = t1206 * t1553; + const double t4482 = t3580 * t1507; + const double t4487 = t3586 * t1550; + const double t4492 = -0.3e1 / 0.5e1 * t4482 * t1155 + 0.6e1 / 0.5e1 * t1210 * t4385 + 0.3e1 / 0.5e1 * t4487 * t1213 - 0.6e1 / 0.5e1 * t1212 * t4390; + const double t4494 = 0.474596e-1 * t4456 * t425 + 0.474596e-1 * t1522 * t1155 + 0.474596e-1 * t1181 * t1507 + 0.474596e-1 * t438 * t4385 + 0.56727466666666666666e-1 * t4465 + 0.56727466666666666666e-1 * t4467 - 0.54519192e1 * t1543 * t1155 - 0.27259596e1 * t449 * t4385 - 0.35e2 / 0.4e1 * t3571 * t4465 - 0.7e1 / 0.2e1 * t3574 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4385 - 0.7e1 / 0.2e1 * t4479 * t1155 - t459 * t4492; + const double t4495 = t4494 * t483; + const double t4498 = t1555 * t1234; + const double t4501 = t4456 * t447; + const double t4504 = t1522 * t1191; + const double t4507 = t1181 * t1532; + const double t4516 = -t4411 / 0.2e1 - t4058 - 0.3e1 / 0.4e1 * t4415 + t4419 / 0.2e1 + 0.3e1 / 0.2e1 * t4422 + t4068 + 0.5e1 / 0.4e1 * t4425 - t4428 / 0.2e1; + const double t4517 = t438 * t4516; + const double t4520 = t4385 * t426; + const double t4524 = t1575 * t1075; + const double t4530 = -t4441 * t485 / 0.9e1 - t4495 * t485 / 0.9e1 - t4498 * t485 / 0.9e1 + 0.26366444444444444444e-1 * t4501 * t450 + 0.26366444444444444444e-1 * t4504 * t450 + 0.26366444444444444444e-1 * t4507 * t450 + 0.26366444444444444444e-1 * t4517 * t450 + 0.78788148148148148148e-2 * t1449 * t1450 * t4520 - 0.2e1 / 0.3e1 * t33 * t828 * t4524 - t4042 - 0.2e1 * t1587 * t3405; + const double t4532 = t1569 * t1155; + const double t4537 = t1239 * t4385; + const double t4540 = t1507 * t1271; + const double t4543 = t1155 * t1586; + const double t4546 = t507 * t1249; + const double t4551 = t936 * t1269; + const double t4556 = t1583 * t1269; + const double t4558 = t1526 * t1159; + const double t4561 = t420 * t4385; + const double t4564 = -0.3e1 / 0.4e1 * t4110 * t4546 + 0.3e1 / 0.2e1 * t4386 * t507 - 0.3e1 / 0.2e1 * t1572 * t4551 - t2872 * t1583 / 0.2e1 + t2377 * t4556 + t937 * t4558 / 0.4e1 - t937 * t4561 / 0.2e1; + const double t4565 = t411 * t4564; + const double t4568 = t507 * t1252; + const double t4582 = -0.3e1 / 0.4e1 * t4112 * t4568 + 0.3e1 / 0.2e1 * t4391 * t507 - 0.3e1 / 0.2e1 * t1573 * t4551 - t2896 * t1583 / 0.2e1 + t2405 * t4556 + t951 * t4558 / 0.4e1 - t951 * t4561 / 0.2e1; + const double t4583 = t465 * t4582; + const double t4594 = 0.15819866666666666666e0 * t448 * t4532 + t1235 * t1569 / 0.3e1 + t484 * t4537 / 0.3e1 + 0.2e1 * t4540 * t945 + 0.2e1 * t4543 * t945 + 0.2e1 * t4565 * t945 - 0.2e1 * t4583 * t956 - 0.2e1 * t1597 * t3475 + 0.94545777777777777778e-1 * t3653 * t4465 - 0.52732888888888888888e-1 * t1523 * t1195 - 0.52732888888888888888e-1 * t1533 * t1195; + const double t4599 = t485 * t4385; + const double t4610 = t1550 * t1281; + const double t4613 = t1213 * t1596; + const double t4618 = t3500 * t1507; + const double t4619 = t4618 * t1155; + const double t4622 = -0.52732888888888888888e-1 * t1182 * t1536 - 0.52732888888888888888e-1 * t1192 * t1536 - 0.52732888888888888888e-1 * t448 * t4599 + t1556 * t1240 / 0.3e1 + t1566 * t1240 / 0.3e1 + t1219 * t1569 / 0.3e1 + 0.2e1 * t1587 * t3458 - 0.2e1 * t4610 * t956 - 0.2e1 * t4613 * t956 + 0.2e1 * t1597 * t3408 - 0.4e1 / 0.3e1 * t484 * t4619; + const double t4624 = -0.78788148148148148148e-2 * t1449 * t1450 * t4294 - 0.78788148148148148148e-2 * t2163 * t1450 * t4298 - 0.11818222222222222222e-1 * t1449 * t2843 * t4302 + 0.2e1 / 0.3e1 * t33 * t323 * t4393 - t4109 - 0.2e1 * t4390 * t515 + 0.2e1 * t4385 * t509 - 0.47272888888888888889e-1 * t3642 * t1507 - 0.47272888888888888889e-1 * t1167 * t4385 - t4405 * t485 / 0.9e1 + t4530 + t4594 + t4622; + const double t4629 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t1067 * t1600 - t4034 - 0.3e1 / 0.8e1 * t5 * t316 * t4624 ); + const double t4631 = t1441 * t1796; + const double t4632 = t290 * t762; + const double t4633 = t4632 * t1394; + const double t4636 = t1351 * t1351; + const double t4637 = t1654 * t4636; + const double t4641 = t3687 * t1345; + const double t4644 = t1321 * t68; + const double t4647 = t76 * t81; + const double t4650 = t88 * t65; + const double t4651 = t4650 * t93; + const double t4654 = sigma_aa * t103; + const double t4657 = t110 * t66; + const double t4658 = t4657 * t115; + const double t4661 = t64 * t4644 / 0.64e2 + t74 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4651 + t100 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4658; + const double t4662 = t55 * t4661; + const double t4663 = t4662 * t176; + const double t4669 = t1345 * t1345; + const double t4670 = t1706 * t4669; + const double t4674 = 0.1e1 / t66; + const double t4675 = t32 * t4674; + const double t4689 = t156 * t77; + const double t4696 = -t122 * t4675 * t125 / 0.48e2 + t134 * t4644 / 0.64e2 + t138 * t4647 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4651 + t146 * t4654 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4658 + t154 * t4689 * t161 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t89 * t171; + const double t4697 = t596 * t4696; + const double t4702 = piecewise_functor_3( t180, t49 * t1319 / 0.12e2 - t3686 * t4641 / 0.12e2 + t50 * t4663 / 0.24e2 - t50 * t1318 * t1346 / 0.12e2 + t50 * t120 * t4670 / 0.12e2 - t50 * t120 * t4697 / 0.24e2, 0.0 ); + const double t4703 = t756 * t4702; + const double t4705 = t1394 * t1394; + const double t4706 = t1776 * t4705; + const double t4708 = piecewise_functor_3( t241, t4702, 0.0 ); + const double t4709 = t762 * t4708; + const double t4711 = -0.27e2 / 0.4e1 * t4637 + 0.3e1 / 0.2e1 * t4703 + 0.27e2 / 0.4e1 * t4706 - 0.3e1 / 0.2e1 * t4709; + const double t4715 = t1431 * t1790; + const double t4716 = t290 * t756; + const double t4717 = t4716 * t1351; + const double t4720 = t804 * t194; + const double t4721 = t4720 * t1351; + const double t4723 = t791 * t194; + const double t4724 = t4723 * t1351; + const double t4731 = t99 * sigma_aa; + const double t4736 = -0.27096904113238942112e-3 * t655 * t81 * t658 + 0.1693556507077433882e-4 * t4731 * t103 * t1989 + 0.42141105276909202774e1 * t4702; + const double t4744 = t199 * t4702; + const double t4764 = -0.3e1 / 0.5e1 * t2018 * t4636 + 0.6e1 / 0.5e1 * t702 * t4702 + 0.3e1 / 0.5e1 * t2024 * t4705 - 0.6e1 / 0.5e1 * t704 * t4708; + const double t4766 = 0.474596e-1 * t4736 * t199 + 0.949192e-1 * t1366 * t1351 + 0.474596e-1 * t212 * t4702 + 0.56727466666666666666e-1 * t4636 + 0.56727466666666666666e-1 * t4744 - 0.54519192e1 * t199 * t4636 - 0.27259596e1 * t225 * t4702 - 0.35e2 / 0.4e1 * t2009 * t4636 - 0.7e1 * t3941 * t1351 - 0.7e1 / 0.2e1 * t699 * t4702 - t235 * t4764; + const double t4767 = t4766 * t267; + const double t4770 = t1399 * t1409; + const double t4773 = t263 * t4636; + const double t4775 = t33 * t45 * t4773; + const double t4777 = t219 * t4702; + const double t4779 = t33 * t45 * t4777; + const double t4782 = t678 * t1968 * t4636; + const double t4785 = t678 * t679 * t4702; + const double t4787 = t2071 * t4636; + const double t4791 = t735 * t4702; + const double t4795 = -0.15e2 / 0.4e1 * t4775 + 0.5e1 / 0.2e1 * t4779 + 0.25e2 / 0.2e1 * t4782 - 0.5e1 * t4785 - 0.35e2 / 0.12e2 * t254 * t260 * t4787 + 0.5e1 / 0.6e1 * t254 * t260 * t4791; + const double t4796 = t248 * t4795; + const double t4801 = t4736 * t223; + const double t4804 = t1366 * t1376; + const double t4811 = -0.3e1 / 0.4e1 * t4775 + t4779 / 0.2e1 + 0.5e1 / 0.4e1 * t4782 - t4785 / 0.2e1; + const double t4812 = t212 * t4811; + const double t4815 = t4702 * t200; + const double t4819 = t4636 * t200; + const double t4823 = 0.3e1 * t4631 * t4633 + 0.2e1 / 0.3e1 * t33 * t45 * t4711 - 0.3e1 * t4715 * t4717 - t1441 * t4721 + t1431 * t4724 + 0.94545777777777777778e-1 * t1936 * t4636 - t4767 * t269 / 0.9e1 - 0.2e1 / 0.9e1 * t4770 * t269 - t4796 * t269 / 0.9e1 - 0.47272888888888888889e-1 * t648 * t4702 + 0.26366444444444444444e-1 * t4801 * t226 + 0.52732888888888888888e-1 * t4804 * t226 + 0.26366444444444444444e-1 * t4812 * t226 + 0.78788148148148148148e-2 * t1293 * t1294 * t4815 - 0.11818222222222222222e-1 * t1293 * t2534 * t4819; + const double t4824 = t4636 * t226; + const double t4832 = t756 * t4636; + const double t4833 = t783 * t194; + const double t4836 = 0.1e1 / t192; + const double t4837 = t4836 * t4636; + const double t4840 = t219 * t4636; + const double t4843 = t194 * t4702; + const double t4846 = -0.27e2 / 0.4e1 * t4637 * t291 + 0.3e1 / 0.2e1 * t4703 * t291 - 0.3e1 / 0.2e1 * t4832 * t4833 + t1875 * t4837 / 0.2e1 + t784 * t4840 / 0.4e1 - t784 * t4843 / 0.2e1; + const double t4847 = t181 * t4846; + const double t4850 = t1394 * t1440; + const double t4857 = t4833 * t1351; + const double t4866 = -0.27e2 / 0.4e1 * t4706 * t291 + 0.3e1 / 0.2e1 * t4709 * t291 - 0.3e1 / 0.2e1 * t1417 * t4857 + t1829 * t4837 / 0.2e1 + t800 * t4840 / 0.4e1 - t800 * t4843 / 0.2e1; + const double t4867 = t243 * t4866; + const double t4874 = t269 * t4702; + const double t4881 = t745 * t4702; + const double t4888 = t1922 * t4636; + const double t4891 = t745 * t4636; + const double t4894 = t1351 * t1430; + const double t4897 = -0.1575762962962962963e-1 * t1293 * t1294 * t4824 + 0.2e1 * t4847 * t792 - 0.4e1 * t4850 * t805 - 0.2e1 * t4867 * t805 - 0.10546577777777777778e0 * t1367 * t1380 - 0.10546577777777777778e0 * t1377 * t1380 - 0.52732888888888888888e-1 * t224 * t4874 + 0.2e1 / 0.3e1 * t1400 * t1413 + 0.2e1 / 0.3e1 * t1410 * t1413 + t268 * t4881 / 0.3e1 - 0.2e1 * t4708 * t299 + 0.2e1 * t4702 * t293 - 0.4e1 / 0.3e1 * t268 * t4888 + 0.15819866666666666666e0 * t224 * t4891 + 0.4e1 * t4894 * t792; + const double t4898 = t4823 + t4897; + const double t4902 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t4898 ); + const double t4903 = t1587 * t2392; + const double t4904 = t506 * t914; + const double t4905 = t4904 * t1507; + const double t4908 = t1597 * t2414; + const double t4909 = t506 * t919; + const double t4910 = t4909 * t1550; + const double t4913 = t1507 * t1507; + const double t4914 = t2337 * t4913; + const double t4918 = t4313 * t1501; + const double t4921 = t1477 * t337; + const double t4924 = t76 * t345; + const double t4927 = t88 * t334; + const double t4928 = t4927 * t353; + const double t4931 = sigma_bb * t359; + const double t4934 = t110 * t335; + const double t4935 = t4934 * t367; + const double t4938 = t64 * t4921 / 0.64e2 + t74 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t86 * t4928 + t100 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t108 * t4935; + const double t4939 = t329 * t4938; + const double t4940 = t4939 * t406; + const double t4946 = t1501 * t1501; + const double t4947 = t3316 * t4946; + const double t4951 = 0.1e1 / t335; + const double t4952 = t32 * t4951; + const double t4966 = t156 * t341; + const double t4973 = -t122 * t4952 * t375 / 0.48e2 + t134 * t4921 / 0.64e2 + t138 * t4924 / 0.288e3 + 0.5e1 / 0.1536e4 * t142 * t4928 + t146 * t4931 / 0.384e3 + 0.35e2 / 0.110592e6 * t150 * t4935 + t154 * t4966 * t395 / 0.4608e4 + 0.7e1 / 0.49152e5 * t168 * t349 * t401; + const double t4974 = t1120 * t4973; + const double t4979 = piecewise_functor_3( t410, t49 * t1475 / 0.12e2 - t4312 * t4918 / 0.12e2 + t324 * t4940 / 0.24e2 - t324 * t1474 * t1502 / 0.12e2 + t324 * t372 * t4947 / 0.12e2 - t324 * t372 * t4974 / 0.24e2, 0.0 ); + const double t4980 = t914 * t4979; + const double t4982 = t1550 * t1550; + const double t4983 = t2349 * t4982; + const double t4985 = piecewise_functor_3( t463, t4979, 0.0 ); + const double t4986 = t919 * t4985; + const double t4988 = -0.27e2 / 0.4e1 * t4914 + 0.3e1 / 0.2e1 * t4980 + 0.27e2 / 0.4e1 * t4983 - 0.3e1 / 0.2e1 * t4986; + const double t5000 = t1239 * t4979; + const double t5003 = t1507 * t1586; + const double t5010 = t914 * t4913; + const double t5011 = t936 * t420; + const double t5014 = 0.1e1 / t418; + const double t5015 = t5014 * t4913; + const double t5018 = t443 * t4913; + const double t5021 = t420 * t4979; + const double t5024 = -0.27e2 / 0.4e1 * t4914 * t507 + 0.3e1 / 0.2e1 * t4980 * t507 - 0.3e1 / 0.2e1 * t5010 * t5011 + t2377 * t5015 / 0.2e1 + t937 * t5018 / 0.4e1 - t937 * t5021 / 0.2e1; + const double t5025 = t411 * t5024; + const double t5028 = t1550 * t1596; + const double t5031 = t3500 * t4913; + const double t5034 = t1239 * t4913; + const double t5040 = t99 * sigma_bb; + const double t5045 = -0.27096904113238942112e-3 * t655 * t345 * t1176 + 0.1693556507077433882e-4 * t5040 * t359 * t3551 + 0.42141105276909202774e1 * t4979; + const double t5053 = t425 * t4979; + const double t5073 = -0.3e1 / 0.5e1 * t3580 * t4913 + 0.6e1 / 0.5e1 * t1210 * t4979 + 0.3e1 / 0.5e1 * t3586 * t4982 - 0.6e1 / 0.5e1 * t1212 * t4985; + const double t5075 = 0.474596e-1 * t5045 * t425 + 0.949192e-1 * t1522 * t1507 + 0.474596e-1 * t438 * t4979 + 0.56727466666666666666e-1 * t4913 + 0.56727466666666666666e-1 * t5053 - 0.54519192e1 * t425 * t4913 - 0.27259596e1 * t449 * t4979 - 0.35e2 / 0.4e1 * t3571 * t4913 - 0.7e1 * t4479 * t1507 - 0.7e1 / 0.2e1 * t1207 * t4979 - t459 * t5073; + const double t5076 = t5075 * t483; + const double t5079 = t1555 * t1565; + const double t5082 = -0.3e1 * t4903 * t4905 + 0.3e1 * t4908 * t4910 + 0.2e1 / 0.3e1 * t33 * t323 * t4988 + 0.94545777777777777778e-1 * t3653 * t4913 - 0.2e1 * t4985 * t515 + 0.2e1 * t4979 * t509 + 0.2e1 / 0.3e1 * t1566 * t1569 + t484 * t5000 / 0.3e1 + 0.4e1 * t5003 * t945 + 0.2e1 * t5025 * t945 - 0.4e1 * t5028 * t956 - 0.4e1 / 0.3e1 * t484 * t5031 + 0.15819866666666666666e0 * t448 * t5034 - t5076 * t485 / 0.9e1 - 0.2e1 / 0.9e1 * t5079 * t485; + const double t5083 = t479 * t4913; + const double t5085 = t33 * t323 * t5083; + const double t5087 = t443 * t4979; + const double t5089 = t33 * t323 * t5087; + const double t5092 = t870 * t2243 * t4913; + const double t5095 = t870 * t871 * t4979; + const double t5097 = t2301 * t4913; + const double t5101 = t898 * t4979; + const double t5105 = -0.15e2 / 0.4e1 * t5085 + 0.5e1 / 0.2e1 * t5089 + 0.25e2 / 0.2e1 * t5092 - 0.5e1 * t5095 - 0.35e2 / 0.12e2 * t254 * t476 * t5097 + 0.5e1 / 0.6e1 * t254 * t476 * t5101; + const double t5106 = t470 * t5105; + const double t5111 = t5045 * t447; + const double t5114 = t1522 * t1532; + const double t5121 = -0.3e1 / 0.4e1 * t5085 + t5089 / 0.2e1 + 0.5e1 / 0.4e1 * t5092 - t5095 / 0.2e1; + const double t5122 = t438 * t5121; + const double t5129 = t5011 * t1507; + const double t5138 = -0.27e2 / 0.4e1 * t4983 * t507 + 0.3e1 / 0.2e1 * t4986 * t507 - 0.3e1 / 0.2e1 * t1573 * t5129 + t2405 * t5015 / 0.2e1 + t951 * t5018 / 0.4e1 - t951 * t5021 / 0.2e1; + const double t5139 = t465 * t5138; + const double t5146 = t485 * t4979; + const double t5151 = t4979 * t426; + const double t5155 = t4913 * t450; + const double t5159 = t4913 * t426; + const double t5163 = t944 * t420; + const double t5164 = t5163 * t1507; + const double t5166 = t955 * t420; + const double t5167 = t5166 * t1507; + const double t5169 = -t5106 * t485 / 0.9e1 - 0.47272888888888888889e-1 * t1167 * t4979 + 0.26366444444444444444e-1 * t5111 * t450 + 0.52732888888888888888e-1 * t5114 * t450 + 0.26366444444444444444e-1 * t5122 * t450 - 0.2e1 * t5139 * t956 - 0.10546577777777777778e0 * t1523 * t1536 - 0.10546577777777777778e0 * t1533 * t1536 - 0.52732888888888888888e-1 * t448 * t5146 + 0.2e1 / 0.3e1 * t1556 * t1569 + 0.78788148148148148148e-2 * t1449 * t1450 * t5151 - 0.1575762962962962963e-1 * t1449 * t1450 * t5155 - 0.11818222222222222222e-1 * t1449 * t2843 * t5159 + t1587 * t5164 - t1597 * t5167; + const double t5170 = t5082 + t5169; + const double t5174 = piecewise_functor_3( t307, 0.0, -0.3e1 / 0.8e1 * t5 * t316 * t5170 ); + + + vrho_a = t306 + t522 + t6 * ( t813 + t964 ); + vrho_b = t306 + t522 + t6 * ( t1061 + t1290 ); + vsigma_aa = t6 * t1448; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t1604; + v2rho2_aa = 0.2e1 * t813 + 0.2e1 * t964 + t6 * ( t2120 + t2427 ); + v2rho2_bb = 0.2e1 * t1061 + 0.2e1 * t1290 + t6 * ( t3248 + t3662 ); + v2rhosigma_a_aa = t4027 * t6 + t1448; + v2rhosigma_b_bb = t4629 * t6 + t1604; + v2sigma2_aa_aa = t6 * t4902; + v2sigma2_bb_bb = t6 * t5174; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinLRCwPBEh_HJS_PBE_X : detail::BuiltinKernelImpl< BuiltinLRCwPBEh_HJS_PBE_X > { + + BuiltinLRCwPBEh_HJS_PBE_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinLRCwPBEh_HJS_PBE_X >(p) { } + + virtual ~BuiltinLRCwPBEh_HJS_PBE_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/lyp.hpp b/include/exchcxx/impl/builtin/kernels/lyp.hpp index ef3a028..455c7a9 100644 --- a/include/exchcxx/impl/builtin/kernels/lyp.hpp +++ b/include/exchcxx/impl/builtin/kernels/lyp.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinLYP > : static constexpr double sigma_tol = 2.1544346900318956e-43; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 0.04918; static constexpr double b = 0.132; @@ -39,7 +88,6 @@ struct kernel_traits< BuiltinLYP > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { - (void)(eps); constexpr double t20 = constants::m_cbrt_3; constexpr double t23 = constants::m_cbrt_pi_sq; constexpr double t48 = constants::m_cbrt_2; @@ -165,10 +213,254 @@ struct kernel_traits< BuiltinLYP > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t20 = constants::m_cbrt_3; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t48 = constants::m_cbrt_2; + constexpr double t21 = t20 * t20; + constexpr double t24 = t23 * t23; + constexpr double t49 = t48 * t48; + constexpr double t74 = b * c; + constexpr double t91 = d * d; + constexpr double t160 = c * c; + constexpr double t161 = b * t160; + constexpr double t193 = t91 * d; + constexpr double t242 = a * b; + + + const double t1 = safe_math::cbrt( rho ); + const double t2 = 0.1e1 / t1; + const double t4 = d * t2 + 0.1e1; + const double t5 = 0.1e1 / t4; + const double t7 = safe_math::exp( -c * t2 ); + const double t8 = b * t7; + const double t9 = rho * rho; + const double t10 = t1 * t1; + const double t12 = 0.1e1 / t10 / t9; + const double t13 = sigma * t12; + const double t15 = d * t5 + c; + const double t16 = t15 * t2; + const double t18 = -0.1e1 / 0.72e2 - 0.7e1 / 0.72e2 * t16; + const double t26 = 0.1e1 <= zeta_tol; + const double t27 = zeta_tol * zeta_tol; + const double t28 = safe_math::cbrt( zeta_tol ); + const double t29 = t28 * t28; + const double t31 = piecewise_functor_3( t26, t29 * t27, 1.0 ); + const double t35 = 0.5e1 / 0.2e1 - t16 / 0.18e2; + const double t36 = t35 * sigma; + const double t37 = t12 * t31; + const double t40 = t16 - 0.11e2; + const double t41 = t40 * sigma; + const double t44 = piecewise_functor_3( t26, t29 * t27 * zeta_tol, 1.0 ); + const double t45 = t12 * t44; + const double t50 = sigma * t49; + const double t53 = piecewise_functor_3( t26, t27, 1.0 ); + const double t54 = t53 * sigma; + const double t56 = t49 * t12 * t31; + const double t62 = -t13 * t18 - 0.3e1 / 0.1e2 * t21 * t24 * t31 + t36 * t37 / 0.8e1 + t41 * t45 / 0.144e3 - t48 * ( 0.4e1 / 0.3e1 * t50 * t37 - t54 * t56 / 0.2e1 ) / 0.8e1; + const double t66 = rho * a; + const double t67 = t4 * t4; + const double t68 = 0.1e1 / t67; + const double t69 = t68 * d; + const double t71 = 0.1e1 / t1 / rho; + const double t75 = t74 * t71; + const double t76 = t7 * t5; + const double t77 = t76 * t62; + const double t80 = t8 * t68; + const double t81 = t62 * d; + const double t85 = t9 * rho; + const double t87 = 0.1e1 / t10 / t85; + const double t88 = sigma * t87; + const double t92 = t91 * t68; + const double t94 = 0.1e1 / t10 / rho; + const double t97 = t15 * t71 - t92 * t94; + const double t98 = 0.7e1 / 0.216e3 * t97; + const double t100 = t97 / 0.54e2; + const double t101 = t100 * sigma; + const double t104 = t87 * t31; + const double t108 = -t97 / 0.3e1; + const double t109 = t108 * sigma; + const double t112 = t87 * t44; + const double t118 = t49 * t87 * t31; + const double t124 = 0.8e1 / 0.3e1 * t88 * t18 - t13 * t98 + t101 * t37 / 0.8e1 - t36 * t104 / 0.3e1 + t109 * t45 / 0.144e3 - t41 * t112 / 0.54e2 - t48 * ( -0.32e2 / 0.9e1 * t50 * t104 + 0.4e1 / 0.3e1 * t54 * t118 ) / 0.8e1; + const double t127 = -t69 * t71 / 0.3e1 + t75 * t77 / 0.3e1 + t80 * t81 * t71 / 0.3e1 + t8 * t5 * t124; + const double t129 = t66 * b; + const double t138 = t53 * t49; + const double t144 = -t12 * t18 + t35 * t12 * t31 / 0.8e1 + t40 * t12 * t44 / 0.144e3 - t48 * ( 0.4e1 / 0.3e1 * t56 - t138 * t37 / 0.2e1 ) / 0.8e1; + const double t145 = t76 * t144; + const double t149 = 0.1e1 / t67 / t4; + const double t150 = t149 * t91; + const double t154 = 0.1e1 / t1 / t9; + const double t157 = t74 * t154; + const double t162 = t161 * t12; + const double t165 = t74 * t12; + const double t166 = t7 * t68; + const double t167 = t166 * t81; + const double t170 = t76 * t124; + const double t173 = t8 * t149; + const double t174 = t62 * t91; + const double t178 = t124 * d; + const double t185 = t9 * t9; + const double t187 = 0.1e1 / t10 / t185; + const double t188 = sigma * t187; + const double t194 = t193 * t149; + const double t195 = 0.1e1 / t85; + const double t196 = t194 * t195; + const double t198 = t92 * t12; + const double t200 = t15 * t154; + const double t202 = -0.7e1 / 0.324e3 * t196 + 0.7e1 / 0.108e3 * t198 - 0.7e1 / 0.162e3 * t200; + const double t207 = -t196 / 0.81e2 + t198 / 0.27e2 - 0.2e1 / 0.81e2 * t200; + const double t208 = t207 * sigma; + const double t213 = t187 * t31; + const double t219 = 0.2e1 / 0.9e1 * t196 - 0.2e1 / 0.3e1 * t198 + 0.4e1 / 0.9e1 * t200; + const double t220 = t219 * sigma; + const double t225 = t187 * t44; + const double t231 = t49 * t187 * t31; + const double t237 = -0.88e2 / 0.9e1 * t188 * t18 + 0.16e2 / 0.3e1 * t88 * t98 - t13 * t202 + t208 * t37 / 0.8e1 - 0.2e1 / 0.3e1 * t101 * t104 + 0.11e2 / 0.9e1 * t36 * t213 + t220 * t45 / 0.144e3 - t109 * t112 / 0.27e2 + 0.11e2 / 0.162e3 * t41 * t225 - t48 * ( 0.352e3 / 0.27e2 * t50 * t213 - 0.44e2 / 0.9e1 * t54 * t231 ) / 0.8e1; + const double t240 = -0.2e1 / 0.9e1 * t150 * t12 + 0.4e1 / 0.9e1 * t69 * t154 - 0.4e1 / 0.9e1 * t157 * t77 + t162 * t77 / 0.9e1 + 0.2e1 / 0.9e1 * t165 * t167 + 0.2e1 / 0.3e1 * t75 * t170 + 0.2e1 / 0.9e1 * t173 * t174 * t12 + 0.2e1 / 0.3e1 * t80 * t178 * t71 - 0.4e1 / 0.9e1 * t80 * t81 * t154 + t8 * t5 * t237; + const double t245 = t2 * a * b; + const double t246 = c * t7; + const double t247 = t5 * t144; + const double t252 = t166 * t144 * d; + const double t276 = 0.8e1 / 0.3e1 * t87 * t18 - t12 * t98 + t100 * t12 * t31 / 0.8e1 - t35 * t87 * t31 / 0.3e1 + t108 * t12 * t44 / 0.144e3 - t40 * t87 * t44 / 0.54e2 - t48 * ( -0.32e2 / 0.9e1 * t118 + 0.4e1 / 0.3e1 * t138 * t104 ) / 0.8e1; + const double t277 = t76 * t276; + + + v2rho2 = 0.2e1 * a * t127 + t66 * t240; + v2rhosigma = t242 * t145 + t245 * t246 * t247 / 0.3e1 + t245 * t252 / 0.3e1 + t129 * t277; + v2sigma2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t20 = constants::m_cbrt_3; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t48 = constants::m_cbrt_2; + constexpr double t21 = t20 * t20; + constexpr double t24 = t23 * t23; + constexpr double t49 = t48 * t48; + constexpr double t74 = b * c; + constexpr double t91 = d * d; + constexpr double t160 = c * c; + constexpr double t161 = b * t160; + constexpr double t193 = t91 * d; + constexpr double t242 = a * b; + + + const double t1 = safe_math::cbrt( rho ); + const double t2 = 0.1e1 / t1; + const double t4 = d * t2 + 0.1e1; + const double t5 = 0.1e1 / t4; + const double t7 = safe_math::exp( -c * t2 ); + const double t8 = b * t7; + const double t9 = rho * rho; + const double t10 = t1 * t1; + const double t12 = 0.1e1 / t10 / t9; + const double t13 = sigma * t12; + const double t15 = d * t5 + c; + const double t16 = t15 * t2; + const double t18 = -0.1e1 / 0.72e2 - 0.7e1 / 0.72e2 * t16; + const double t26 = 0.1e1 <= zeta_tol; + const double t27 = zeta_tol * zeta_tol; + const double t28 = safe_math::cbrt( zeta_tol ); + const double t29 = t28 * t28; + const double t31 = piecewise_functor_3( t26, t29 * t27, 1.0 ); + const double t35 = 0.5e1 / 0.2e1 - t16 / 0.18e2; + const double t36 = t35 * sigma; + const double t37 = t12 * t31; + const double t40 = t16 - 0.11e2; + const double t41 = t40 * sigma; + const double t44 = piecewise_functor_3( t26, t29 * t27 * zeta_tol, 1.0 ); + const double t45 = t12 * t44; + const double t50 = sigma * t49; + const double t53 = piecewise_functor_3( t26, t27, 1.0 ); + const double t54 = t53 * sigma; + const double t56 = t49 * t12 * t31; + const double t62 = -t13 * t18 - 0.3e1 / 0.1e2 * t21 * t24 * t31 + t36 * t37 / 0.8e1 + t41 * t45 / 0.144e3 - t48 * ( 0.4e1 / 0.3e1 * t50 * t37 - t54 * t56 / 0.2e1 ) / 0.8e1; + const double tzk0 = a * ( t8 * t5 * t62 - t5 ); + const double t66 = rho * a; + const double t67 = t4 * t4; + const double t68 = 0.1e1 / t67; + const double t69 = t68 * d; + const double t71 = 0.1e1 / t1 / rho; + const double t75 = t74 * t71; + const double t76 = t7 * t5; + const double t77 = t76 * t62; + const double t80 = t8 * t68; + const double t81 = t62 * d; + const double t85 = t9 * rho; + const double t87 = 0.1e1 / t10 / t85; + const double t88 = sigma * t87; + const double t92 = t91 * t68; + const double t94 = 0.1e1 / t10 / rho; + const double t97 = t15 * t71 - t92 * t94; + const double t98 = 0.7e1 / 0.216e3 * t97; + const double t100 = t97 / 0.54e2; + const double t101 = t100 * sigma; + const double t104 = t87 * t31; + const double t108 = -t97 / 0.3e1; + const double t109 = t108 * sigma; + const double t112 = t87 * t44; + const double t118 = t49 * t87 * t31; + const double t124 = 0.8e1 / 0.3e1 * t88 * t18 - t13 * t98 + t101 * t37 / 0.8e1 - t36 * t104 / 0.3e1 + t109 * t45 / 0.144e3 - t41 * t112 / 0.54e2 - t48 * ( -0.32e2 / 0.9e1 * t50 * t104 + 0.4e1 / 0.3e1 * t54 * t118 ) / 0.8e1; + const double t127 = -t69 * t71 / 0.3e1 + t75 * t77 / 0.3e1 + t80 * t81 * t71 / 0.3e1 + t8 * t5 * t124; + const double t129 = t66 * b; + const double t138 = t53 * t49; + const double t144 = -t12 * t18 + t35 * t12 * t31 / 0.8e1 + t40 * t12 * t44 / 0.144e3 - t48 * ( 0.4e1 / 0.3e1 * t56 - t138 * t37 / 0.2e1 ) / 0.8e1; + const double t145 = t76 * t144; + const double t149 = 0.1e1 / t67 / t4; + const double t150 = t149 * t91; + const double t154 = 0.1e1 / t1 / t9; + const double t157 = t74 * t154; + const double t162 = t161 * t12; + const double t165 = t74 * t12; + const double t166 = t7 * t68; + const double t167 = t166 * t81; + const double t170 = t76 * t124; + const double t173 = t8 * t149; + const double t174 = t62 * t91; + const double t178 = t124 * d; + const double t185 = t9 * t9; + const double t187 = 0.1e1 / t10 / t185; + const double t188 = sigma * t187; + const double t194 = t193 * t149; + const double t195 = 0.1e1 / t85; + const double t196 = t194 * t195; + const double t198 = t92 * t12; + const double t200 = t15 * t154; + const double t202 = -0.7e1 / 0.324e3 * t196 + 0.7e1 / 0.108e3 * t198 - 0.7e1 / 0.162e3 * t200; + const double t207 = -t196 / 0.81e2 + t198 / 0.27e2 - 0.2e1 / 0.81e2 * t200; + const double t208 = t207 * sigma; + const double t213 = t187 * t31; + const double t219 = 0.2e1 / 0.9e1 * t196 - 0.2e1 / 0.3e1 * t198 + 0.4e1 / 0.9e1 * t200; + const double t220 = t219 * sigma; + const double t225 = t187 * t44; + const double t231 = t49 * t187 * t31; + const double t237 = -0.88e2 / 0.9e1 * t188 * t18 + 0.16e2 / 0.3e1 * t88 * t98 - t13 * t202 + t208 * t37 / 0.8e1 - 0.2e1 / 0.3e1 * t101 * t104 + 0.11e2 / 0.9e1 * t36 * t213 + t220 * t45 / 0.144e3 - t109 * t112 / 0.27e2 + 0.11e2 / 0.162e3 * t41 * t225 - t48 * ( 0.352e3 / 0.27e2 * t50 * t213 - 0.44e2 / 0.9e1 * t54 * t231 ) / 0.8e1; + const double t240 = -0.2e1 / 0.9e1 * t150 * t12 + 0.4e1 / 0.9e1 * t69 * t154 - 0.4e1 / 0.9e1 * t157 * t77 + t162 * t77 / 0.9e1 + 0.2e1 / 0.9e1 * t165 * t167 + 0.2e1 / 0.3e1 * t75 * t170 + 0.2e1 / 0.9e1 * t173 * t174 * t12 + 0.2e1 / 0.3e1 * t80 * t178 * t71 - 0.4e1 / 0.9e1 * t80 * t81 * t154 + t8 * t5 * t237; + const double t245 = t2 * a * b; + const double t246 = c * t7; + const double t247 = t5 * t144; + const double t252 = t166 * t144 * d; + const double t276 = 0.8e1 / 0.3e1 * t87 * t18 - t12 * t98 + t100 * t12 * t31 / 0.8e1 - t35 * t87 * t31 / 0.3e1 + t108 * t12 * t44 / 0.144e3 - t40 * t87 * t44 / 0.54e2 - t48 * ( -0.32e2 / 0.9e1 * t118 + 0.4e1 / 0.3e1 * t138 * t104 ) / 0.8e1; + const double t277 = t76 * t276; + + + vrho = t66 * t127 + tzk0; + vsigma = t129 * t145; + v2rho2 = 0.2e1 * a * t127 + t66 * t240; + v2rhosigma = t242 * t145 + t245 * t246 * t247 / 0.3e1 + t245 * t252 / 0.3e1 + t129 * t277; + v2sigma2 = 0.e0; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { - (void)(eps); constexpr double t32 = constants::m_cbrt_3; constexpr double t35 = constants::m_cbrt_pi_sq; constexpr double t62 = constants::m_cbrt_2; @@ -460,6 +752,952 @@ struct kernel_traits< BuiltinLYP > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t32 = constants::m_cbrt_3; + constexpr double t35 = constants::m_cbrt_pi_sq; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t33 = t32 * t32; + constexpr double t36 = t35 * t35; + constexpr double t37 = t33 * t36; + constexpr double t134 = b * c; + constexpr double t151 = d * d; + constexpr double t406 = c * c; + constexpr double t407 = b * t406; + constexpr double t470 = t151 * d; + constexpr double t899 = a * b; + + + const double t1 = rho_a - rho_b; + const double t2 = t1 * t1; + const double t3 = rho_a + rho_b; + const double t4 = t3 * t3; + const double t5 = 0.1e1 / t4; + const double t7 = -t2 * t5 + 0.1e1; + const double t8 = safe_math::cbrt( t3 ); + const double t9 = 0.1e1 / t8; + const double t11 = d * t9 + 0.1e1; + const double t12 = 0.1e1 / t11; + const double t15 = safe_math::exp( -c * t9 ); + const double t16 = b * t15; + const double t18 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t19 = t8 * t8; + const double t21 = 0.1e1 / t19 / t4; + const double t22 = t18 * t21; + const double t24 = d * t12 + c; + const double t25 = t24 * t9; + const double t27 = 0.47e2 - 0.7e1 * t25; + const double t30 = t7 * t27 / 0.72e2 - 0.2e1 / 0.3e1; + const double t38 = 0.1e1 / t3; + const double t39 = t1 * t38; + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = zeta_tol * zeta_tol; + const double t43 = safe_math::cbrt( zeta_tol ); + const double t44 = t43 * t43; + const double t45 = t44 * t42; + const double t46 = t40 * t40; + const double t47 = safe_math::cbrt( t40 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t50 = piecewise_functor_3( t41, t45, t49 ); + const double t51 = 0.1e1 - t39; + const double t52 = t51 <= zeta_tol; + const double t53 = t51 * t51; + const double t54 = safe_math::cbrt( t51 ); + const double t55 = t54 * t54; + const double t56 = t55 * t53; + const double t57 = piecewise_functor_3( t52, t45, t56 ); + const double t58 = t50 + t57; + const double t63 = t62 * t7; + const double t65 = 0.5e1 / 0.2e1 - t25 / 0.18e2; + const double t66 = rho_a * rho_a; + const double t67 = safe_math::cbrt( rho_a ); + const double t68 = t67 * t67; + const double t70 = 0.1e1 / t68 / t66; + const double t71 = sigma_aa * t70; + const double t72 = t71 * t50; + const double t73 = rho_b * rho_b; + const double t74 = safe_math::cbrt( rho_b ); + const double t75 = t74 * t74; + const double t77 = 0.1e1 / t75 / t73; + const double t78 = sigma_bb * t77; + const double t79 = t78 * t57; + const double t80 = t72 + t79; + const double t81 = t65 * t80; + const double t84 = t25 - 0.11e2; + const double t86 = t44 * t42 * zeta_tol; + const double t89 = piecewise_functor_3( t41, t86, t48 * t46 * t40 ); + const double t93 = piecewise_functor_3( t52, t86, t55 * t53 * t51 ); + const double t95 = t71 * t89 + t78 * t93; + const double t96 = t84 * t95; + const double t101 = piecewise_functor_3( t41, t42, t46 ); + const double t102 = t101 * sigma_bb; + const double t103 = t77 * t57; + const double t106 = piecewise_functor_3( t52, t42, t53 ); + const double t107 = t106 * sigma_aa; + const double t108 = t70 * t50; + const double t114 = -t22 * t30 - 0.3e1 / 0.2e2 * t37 * t7 * t58 + t63 * t81 / 0.32e2 + t63 * t96 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t72 + 0.2e1 / 0.3e1 * t79 - t102 * t103 / 0.4e1 - t107 * t108 / 0.4e1 ) / 0.8e1; + const double t118 = t3 * a; + const double t119 = t1 * t5; + const double t120 = t4 * t3; + const double t121 = 0.1e1 / t120; + const double t122 = t2 * t121; + const double t124 = -0.2e1 * t119 + 0.2e1 * t122; + const double t126 = t11 * t11; + const double t127 = 0.1e1 / t126; + const double t128 = t7 * t127; + const double t130 = 0.1e1 / t8 / t3; + const double t131 = d * t130; + const double t133 = t128 * t131 / 0.3e1; + const double t135 = t134 * t130; + const double t136 = t15 * t12; + const double t137 = t136 * t114; + const double t139 = t135 * t137 / 0.3e1; + const double t140 = t16 * t127; + const double t141 = t114 * d; + const double t144 = t140 * t141 * t130 / 0.3e1; + const double t146 = 0.1e1 / t19 / t120; + const double t147 = t18 * t146; + const double t149 = 0.8e1 / 0.3e1 * t147 * t30; + const double t152 = t151 * t127; + const double t154 = 0.1e1 / t19 / t3; + const double t157 = t24 * t130 - t152 * t154; + const double t158 = 0.7e1 / 0.3e1 * t157; + const double t159 = t7 * t158; + const double t161 = t124 * t27 / 0.72e2 + t159 / 0.72e2; + const double t166 = t48 * t40; + const double t167 = t38 - t119; + const double t168 = t166 * t167; + const double t170 = piecewise_functor_3( t41, 0.0, 0.8e1 / 0.3e1 * t168 ); + const double t171 = t55 * t51; + const double t172 = -t167; + const double t173 = t171 * t172; + const double t175 = piecewise_functor_3( t52, 0.0, 0.8e1 / 0.3e1 * t173 ); + const double t176 = t170 + t175; + const double t180 = t62 * t124; + const double t183 = t157 / 0.54e2; + const double t184 = t183 * t80; + const double t186 = t63 * t184 / 0.32e2; + const double t189 = 0.1e1 / t68 / t66 / rho_a; + const double t190 = sigma_aa * t189; + const double t191 = t190 * t50; + const double t193 = t71 * t170; + const double t194 = t78 * t175; + const double t195 = -0.8e1 / 0.3e1 * t191 + t193 + t194; + const double t196 = t65 * t195; + const double t202 = -t157 / 0.3e1; + const double t203 = t202 * t95; + const double t205 = t63 * t203 / 0.576e3; + const double t210 = piecewise_functor_3( t41, 0.0, 0.11e2 / 0.3e1 * t49 * t167 ); + const double t214 = piecewise_functor_3( t52, 0.0, 0.11e2 / 0.3e1 * t56 * t172 ); + const double t216 = -0.8e1 / 0.3e1 * t190 * t89 + t71 * t210 + t78 * t214; + const double t217 = t84 * t216; + const double t225 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t167 ); + const double t226 = t225 * sigma_bb; + const double t229 = t77 * t175; + const double t234 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t172 ); + const double t235 = t234 * sigma_aa; + const double t238 = t189 * t50; + const double t241 = t70 * t170; + const double t247 = t149 - t22 * t161 - 0.3e1 / 0.2e2 * t37 * t124 * t58 - 0.3e1 / 0.2e2 * t37 * t7 * t176 + t180 * t81 / 0.32e2 + t186 + t63 * t196 / 0.32e2 + t180 * t96 / 0.576e3 + t205 + t63 * t217 / 0.576e3 - t62 * ( -0.16e2 / 0.9e1 * t191 + 0.2e1 / 0.3e1 * t193 + 0.2e1 / 0.3e1 * t194 - t226 * t103 / 0.4e1 - t102 * t229 / 0.4e1 - t235 * t108 / 0.4e1 + 0.2e1 / 0.3e1 * t107 * t238 - t107 * t241 / 0.4e1 ) / 0.8e1; + const double t250 = t16 * t12 * t247 - t124 * t12 - t133 + t139 + t144; + const double t253 = 0.2e1 * t119 + 0.2e1 * t122; + const double t257 = t253 * t27 / 0.72e2 + t159 / 0.72e2; + const double t262 = -t38 - t119; + const double t263 = t166 * t262; + const double t265 = piecewise_functor_3( t41, 0.0, 0.8e1 / 0.3e1 * t263 ); + const double t266 = -t262; + const double t267 = t171 * t266; + const double t269 = piecewise_functor_3( t52, 0.0, 0.8e1 / 0.3e1 * t267 ); + const double t270 = t265 + t269; + const double t274 = t62 * t253; + const double t277 = t71 * t265; + const double t280 = 0.1e1 / t75 / t73 / rho_b; + const double t281 = sigma_bb * t280; + const double t282 = t281 * t57; + const double t284 = t78 * t269; + const double t285 = t277 - 0.8e1 / 0.3e1 * t282 + t284; + const double t286 = t65 * t285; + const double t293 = piecewise_functor_3( t41, 0.0, 0.11e2 / 0.3e1 * t49 * t262 ); + const double t299 = piecewise_functor_3( t52, 0.0, 0.11e2 / 0.3e1 * t56 * t266 ); + const double t301 = t71 * t293 - 0.8e1 / 0.3e1 * t281 * t93 + t78 * t299; + const double t302 = t84 * t301; + const double t310 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t262 ); + const double t311 = t310 * sigma_bb; + const double t314 = t280 * t57; + const double t317 = t77 * t269; + const double t322 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t266 ); + const double t323 = t322 * sigma_aa; + const double t326 = t70 * t265; + const double t332 = t149 - t22 * t257 - 0.3e1 / 0.2e2 * t37 * t253 * t58 - 0.3e1 / 0.2e2 * t37 * t7 * t270 + t274 * t81 / 0.32e2 + t186 + t63 * t286 / 0.32e2 + t274 * t96 / 0.576e3 + t205 + t63 * t302 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t277 - 0.16e2 / 0.9e1 * t282 + 0.2e1 / 0.3e1 * t284 - t311 * t103 / 0.4e1 + 0.2e1 / 0.3e1 * t102 * t314 - t102 * t317 / 0.4e1 - t323 * t108 / 0.4e1 - t107 * t326 / 0.4e1 ) / 0.8e1; + const double t335 = t16 * t12 * t332 - t253 * t12 - t133 + t139 + t144; + const double t337 = t118 * b; + const double t338 = t21 * t30; + const double t339 = t65 * t70; + const double t340 = t339 * t50; + const double t343 = t84 * t70; + const double t344 = t343 * t89; + const double t348 = t106 * t70; + const double t354 = -t338 + t63 * t340 / 0.32e2 + t63 * t344 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t108 - t348 * t50 / 0.4e1 ) / 0.8e1; + const double t355 = t136 * t354; + const double t356 = t154 * a; + const double t357 = t356 * b; + const double t358 = t136 * t30; + const double t361 = t65 * t77; + const double t362 = t361 * t57; + const double t365 = t84 * t77; + const double t366 = t365 * t93; + const double t370 = t101 * t77; + const double t376 = -t338 + t63 * t362 / 0.32e2 + t63 * t366 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t103 - t370 * t57 / 0.4e1 ) / 0.8e1; + const double t377 = t136 * t376; + const double t378 = a * t250; + const double t380 = 0.2e1 * t5; + const double t381 = t1 * t121; + const double t382 = 0.8e1 * t381; + const double t383 = t4 * t4; + const double t384 = 0.1e1 / t383; + const double t386 = 0.6e1 * t2 * t384; + const double t387 = -t380 + t382 - t386; + const double t389 = t124 * t127; + const double t390 = t389 * t131; + const double t393 = 0.1e1 / t126 / t11; + const double t394 = t7 * t393; + const double t395 = t151 * t21; + const double t397 = 0.2e1 / 0.9e1 * t394 * t395; + const double t399 = 0.1e1 / t8 / t4; + const double t400 = d * t399; + const double t402 = 0.4e1 / 0.9e1 * t128 * t400; + const double t403 = t134 * t399; + const double t405 = 0.4e1 / 0.9e1 * t403 * t137; + const double t408 = t407 * t21; + const double t410 = t408 * t137 / 0.9e1; + const double t411 = t134 * t21; + const double t412 = t15 * t127; + const double t413 = t412 * t141; + const double t415 = 0.2e1 / 0.9e1 * t411 * t413; + const double t416 = t136 * t247; + const double t417 = t135 * t416; + const double t419 = t16 * t393; + const double t420 = t114 * t151; + const double t423 = 0.2e1 / 0.9e1 * t419 * t420 * t21; + const double t424 = t247 * d; + const double t426 = t140 * t424 * t130; + const double t430 = 0.4e1 / 0.9e1 * t140 * t141 * t399; + const double t432 = 0.1e1 / t19 / t383; + const double t433 = t18 * t432; + const double t435 = 0.88e2 / 0.9e1 * t433 * t30; + const double t442 = t167 * t167; + const double t443 = t48 * t442; + const double t446 = -0.2e1 * t5 + 0.2e1 * t381; + const double t450 = piecewise_functor_3( t41, 0.0, 0.4e2 / 0.9e1 * t443 + 0.8e1 / 0.3e1 * t166 * t446 ); + const double t451 = t172 * t172; + const double t452 = t55 * t451; + const double t454 = -t446; + const double t458 = piecewise_functor_3( t52, 0.0, 0.4e2 / 0.9e1 * t452 + 0.8e1 / 0.3e1 * t171 * t454 ); + const double t459 = t450 + t458; + const double t463 = t62 * t387; + const double t466 = t180 * t184; + const double t471 = t470 * t393; + const double t472 = t471 * t121; + const double t474 = t152 * t21; + const double t476 = t24 * t399; + const double t478 = -t472 / 0.81e2 + t474 / 0.27e2 - 0.2e1 / 0.81e2 * t476; + const double t479 = t478 * t80; + const double t481 = t63 * t479 / 0.32e2; + const double t482 = t183 * t195; + const double t483 = t63 * t482; + const double t485 = t66 * t66; + const double t487 = 0.1e1 / t68 / t485; + const double t488 = sigma_aa * t487; + const double t489 = t488 * t50; + const double t491 = t190 * t170; + const double t493 = t71 * t450; + const double t494 = t78 * t458; + const double t495 = 0.88e2 / 0.9e1 * t489 - 0.16e2 / 0.3e1 * t491 + t493 + t494; + const double t496 = t65 * t495; + const double t501 = t180 * t203; + const double t508 = 0.2e1 / 0.9e1 * t472 - 0.2e1 / 0.3e1 * t474 + 0.4e1 / 0.9e1 * t476; + const double t509 = t508 * t95; + const double t511 = t63 * t509 / 0.576e3; + const double t512 = t202 * t216; + const double t513 = t63 * t512; + const double t524 = piecewise_functor_3( t41, 0.0, 0.88e2 / 0.9e1 * t166 * t442 + 0.11e2 / 0.3e1 * t49 * t446 ); + const double t531 = piecewise_functor_3( t52, 0.0, 0.88e2 / 0.9e1 * t171 * t451 + 0.11e2 / 0.3e1 * t56 * t454 ); + const double t533 = 0.88e2 / 0.9e1 * t488 * t89 - 0.16e2 / 0.3e1 * t190 * t210 + t71 * t524 + t78 * t531; + const double t534 = t84 * t533; + const double t537 = t147 * t161; + const double t541 = t124 * t158; + const double t546 = -0.14e2 / 0.9e1 * t472 + 0.14e2 / 0.3e1 * t474 - 0.28e2 / 0.9e1 * t476; + const double t547 = t7 * t546; + const double t548 = t547 / 0.72e2; + const double t549 = t387 * t27 / 0.72e2 + t541 / 0.36e2 + t548; + const double t558 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t446 + 0.2e1 * t442 ); + const double t559 = t558 * sigma_bb; + const double t564 = t77 * t458; + const double t570 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t454 + 0.2e1 * t451 ); + const double t571 = t570 * sigma_aa; + const double t578 = t487 * t50; + const double t581 = t189 * t170; + const double t584 = t70 * t450; + const double t587 = 0.176e3 / 0.27e2 * t489 - 0.32e2 / 0.9e1 * t491 + 0.2e1 / 0.3e1 * t493 + 0.2e1 / 0.3e1 * t494 - t559 * t103 / 0.4e1 - t226 * t229 / 0.2e1 - t102 * t564 / 0.4e1 - t571 * t108 / 0.4e1 + 0.4e1 / 0.3e1 * t235 * t238 - t235 * t241 / 0.2e1 - 0.22e2 / 0.9e1 * t107 * t578 + 0.4e1 / 0.3e1 * t107 * t581 - t107 * t584 / 0.4e1; + const double t590 = -t435 - 0.3e1 / 0.2e2 * t37 * t387 * t58 - 0.3e1 / 0.1e2 * t37 * t124 * t176 - 0.3e1 / 0.2e2 * t37 * t7 * t459 + t463 * t81 / 0.32e2 + t466 / 0.16e2 + t180 * t196 / 0.16e2 + t481 + t483 / 0.16e2 + t63 * t496 / 0.32e2 + t463 * t96 / 0.576e3 + t501 / 0.288e3 + t180 * t217 / 0.288e3 + t511 + t513 / 0.288e3 + t63 * t534 / 0.576e3 + 0.16e2 / 0.3e1 * t537 - t22 * t549 - t62 * t587 / 0.8e1; + const double t593 = -t387 * t12 - 0.2e1 / 0.3e1 * t390 - t397 + t402 - t405 + t410 + t415 + 0.2e1 / 0.3e1 * t417 + t423 + 0.2e1 / 0.3e1 * t426 - t430 + t16 * t12 * t590; + const double t595 = a * t335; + const double t596 = t380 - t386; + const double t598 = t253 * t127; + const double t599 = t598 * t131; + const double t604 = t136 * t332; + const double t605 = t135 * t604; + const double t607 = t332 * d; + const double t609 = t140 * t607 * t130; + const double t611 = t190 * t265; + const double t613 = t48 * t262; + const double t616 = t166 * t1; + const double t620 = piecewise_functor_3( t41, 0.0, 0.4e2 / 0.9e1 * t613 * t167 + 0.16e2 / 0.3e1 * t616 * t121 ); + const double t621 = t71 * t620; + const double t623 = t281 * t175; + const double t625 = t55 * t266; + const double t628 = t171 * t1; + const double t632 = piecewise_functor_3( t52, 0.0, 0.4e2 / 0.9e1 * t625 * t172 - 0.16e2 / 0.3e1 * t628 * t121 ); + const double t633 = t78 * t632; + const double t637 = t40 * t1; + const double t641 = piecewise_functor_3( t41, 0.0, 0.4e1 * t637 * t121 + 0.2e1 * t167 * t262 ); + const double t642 = t641 * sigma_bb; + const double t649 = t280 * t175; + const double t654 = t77 * t632; + const double t659 = t51 * t1; + const double t663 = piecewise_functor_3( t52, 0.0, -0.4e1 * t659 * t121 + 0.2e1 * t172 * t266 ); + const double t664 = t663 * sigma_aa; + const double t673 = t189 * t265; + const double t676 = t70 * t620; + const double t679 = -0.16e2 / 0.9e1 * t611 + 0.2e1 / 0.3e1 * t621 - 0.16e2 / 0.9e1 * t623 + 0.2e1 / 0.3e1 * t633 - t642 * t103 / 0.4e1 - t311 * t229 / 0.4e1 + 0.2e1 / 0.3e1 * t226 * t314 + 0.2e1 / 0.3e1 * t102 * t649 - t226 * t317 / 0.4e1 - t102 * t654 / 0.4e1 - t664 * t108 / 0.4e1 + 0.2e1 / 0.3e1 * t323 * t238 - t323 * t241 / 0.4e1 - t235 * t326 / 0.4e1 + 0.2e1 / 0.3e1 * t107 * t673 - t107 * t676 / 0.4e1; + const double t683 = t253 * t158; + const double t685 = t596 * t27 / 0.72e2 + t541 / 0.72e2 + t547 / 0.72e2 + t683 / 0.72e2; + const double t687 = t147 * t257; + const double t690 = t620 + t632; + const double t694 = t62 * t596; + const double t697 = t274 * t184; + const double t703 = t183 * t285; + const double t704 = t63 * t703; + const double t708 = -0.8e1 / 0.3e1 * t611 + t621 - 0.8e1 / 0.3e1 * t623 + t633; + const double t709 = t65 * t708; + const double t714 = -t62 * t679 / 0.8e1 - t22 * t685 + 0.8e1 / 0.3e1 * t687 + 0.8e1 / 0.3e1 * t537 - t435 - 0.3e1 / 0.2e2 * t37 * t7 * t690 + t694 * t81 / 0.32e2 + t697 / 0.32e2 + t274 * t196 / 0.32e2 + t180 * t286 / 0.32e2 + t704 / 0.32e2 + t63 * t709 / 0.32e2 + t694 * t96 / 0.576e3; + const double t715 = t274 * t203; + const double t721 = t202 * t301; + const double t722 = t63 * t721; + const double t728 = t49 * t1; + const double t732 = piecewise_functor_3( t41, 0.0, 0.88e2 / 0.9e1 * t263 * t167 + 0.22e2 / 0.3e1 * t728 * t121 ); + const double t738 = t56 * t1; + const double t742 = piecewise_functor_3( t52, 0.0, 0.88e2 / 0.9e1 * t267 * t172 - 0.22e2 / 0.3e1 * t738 * t121 ); + const double t744 = -0.8e1 / 0.3e1 * t190 * t293 + t71 * t732 - 0.8e1 / 0.3e1 * t281 * t214 + t78 * t742; + const double t745 = t84 * t744; + const double t761 = t715 / 0.576e3 + t274 * t217 / 0.576e3 + t180 * t302 / 0.576e3 + t722 / 0.576e3 + t63 * t745 / 0.576e3 - 0.3e1 / 0.2e2 * t37 * t596 * t58 - 0.3e1 / 0.2e2 * t37 * t253 * t176 - 0.3e1 / 0.2e2 * t37 * t124 * t270 + t511 + t513 / 0.576e3 + t466 / 0.32e2 + t481 + t483 / 0.32e2 + t501 / 0.576e3; + const double t762 = t714 + t761; + const double t765 = -t596 * t12 - t599 / 0.3e1 - t390 / 0.3e1 - t397 + t402 - t405 + t410 + t415 + t417 / 0.3e1 + t423 + t426 / 0.3e1 - t430 + t605 / 0.3e1 + t609 / 0.3e1 + t16 * t12 * t762; + const double t768 = -t380 - t382 - t386; + const double t784 = t262 * t262; + const double t785 = t48 * t784; + const double t788 = 0.2e1 * t5 + 0.2e1 * t381; + const double t789 = t166 * t788; + const double t792 = piecewise_functor_3( t41, 0.0, 0.4e2 / 0.9e1 * t785 + 0.8e1 / 0.3e1 * t789 ); + const double t793 = t266 * t266; + const double t794 = t55 * t793; + const double t796 = -t788; + const double t797 = t171 * t796; + const double t800 = piecewise_functor_3( t52, 0.0, 0.4e2 / 0.9e1 * t794 + 0.8e1 / 0.3e1 * t797 ); + const double t801 = t792 + t800; + const double t805 = t62 * t768; + const double t810 = t71 * t792; + const double t811 = t73 * t73; + const double t813 = 0.1e1 / t75 / t811; + const double t814 = sigma_bb * t813; + const double t815 = t814 * t57; + const double t817 = t281 * t269; + const double t819 = t78 * t800; + const double t820 = t810 + 0.88e2 / 0.9e1 * t815 - 0.16e2 / 0.3e1 * t817 + t819; + const double t821 = t65 * t820; + const double t833 = piecewise_functor_3( t41, 0.0, 0.88e2 / 0.9e1 * t166 * t784 + 0.11e2 / 0.3e1 * t49 * t788 ); + const double t844 = piecewise_functor_3( t52, 0.0, 0.88e2 / 0.9e1 * t171 * t793 + 0.11e2 / 0.3e1 * t56 * t796 ); + const double t846 = t71 * t833 + 0.88e2 / 0.9e1 * t814 * t93 - 0.16e2 / 0.3e1 * t281 * t299 + t78 * t844; + const double t847 = t84 * t846; + const double t853 = t768 * t27 / 0.72e2 + t683 / 0.36e2 + t548; + const double t862 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t788 + 0.2e1 * t784 ); + const double t863 = t862 * sigma_bb; + const double t870 = t813 * t57; + const double t873 = t280 * t269; + const double t876 = t77 * t800; + const double t882 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t796 + 0.2e1 * t793 ); + const double t883 = t882 * sigma_aa; + const double t888 = t70 * t792; + const double t891 = 0.2e1 / 0.3e1 * t810 + 0.176e3 / 0.27e2 * t815 - 0.32e2 / 0.9e1 * t817 + 0.2e1 / 0.3e1 * t819 - t863 * t103 / 0.4e1 + 0.4e1 / 0.3e1 * t311 * t314 - t311 * t317 / 0.2e1 - 0.22e2 / 0.9e1 * t102 * t870 + 0.4e1 / 0.3e1 * t102 * t873 - t102 * t876 / 0.4e1 - t883 * t108 / 0.4e1 - t323 * t326 / 0.2e1 - t107 * t888 / 0.4e1; + const double t894 = -t435 + t481 + t511 + 0.16e2 / 0.3e1 * t687 + t697 / 0.16e2 + t704 / 0.16e2 + t715 / 0.288e3 + t722 / 0.288e3 - 0.3e1 / 0.2e2 * t37 * t768 * t58 - 0.3e1 / 0.1e2 * t37 * t253 * t270 - 0.3e1 / 0.2e2 * t37 * t7 * t801 + t805 * t81 / 0.32e2 + t274 * t286 / 0.16e2 + t63 * t821 / 0.32e2 + t805 * t96 / 0.576e3 + t274 * t302 / 0.288e3 + t63 * t847 / 0.576e3 - t22 * t853 - t62 * t891 / 0.8e1; + const double t897 = -t768 * t12 - 0.2e1 / 0.3e1 * t599 - t397 + t402 - t405 + t410 + t415 + 0.2e1 / 0.3e1 * t605 + t423 + 0.2e1 / 0.3e1 * t609 - t430 + t16 * t12 * t894; + const double t900 = t899 * t355; + const double t902 = t9 * a * b; + const double t903 = c * t15; + const double t904 = t12 * t354; + const double t907 = t902 * t903 * t904 / 0.3e1; + const double t909 = t412 * t354 * d; + const double t911 = t902 * t909 / 0.3e1; + const double t913 = 0.8e1 / 0.3e1 * t146 * t30; + const double t914 = t21 * t161; + const double t917 = t183 * t70; + const double t918 = t917 * t50; + const double t920 = t63 * t918 / 0.32e2; + const double t921 = t65 * t189; + const double t922 = t921 * t50; + const double t925 = t339 * t170; + const double t930 = t202 * t70; + const double t931 = t930 * t89; + const double t933 = t63 * t931 / 0.576e3; + const double t934 = t84 * t189; + const double t935 = t934 * t89; + const double t938 = t343 * t210; + const double t943 = t234 * t70; + const double t946 = t106 * t189; + const double t954 = t913 - t914 + t180 * t340 / 0.32e2 + t920 - t63 * t922 / 0.12e2 + t63 * t925 / 0.32e2 + t180 * t344 / 0.576e3 + t933 - t63 * t935 / 0.216e3 + t63 * t938 / 0.576e3 - t62 * ( -0.16e2 / 0.9e1 * t238 + 0.2e1 / 0.3e1 * t241 - t943 * t50 / 0.4e1 + 0.2e1 / 0.3e1 * t946 * t50 - t348 * t170 / 0.4e1 ) / 0.8e1; + const double t955 = t136 * t954; + const double t958 = t21 * a * b; + const double t960 = 0.1e2 / 0.3e1 * t958 * t358; + const double t961 = t121 * a; + const double t962 = t961 * b; + const double t963 = t12 * t30; + const double t964 = t903 * t963; + const double t966 = 0.2e1 / 0.3e1 * t962 * t964; + const double t968 = t412 * t30 * d; + const double t970 = 0.2e1 / 0.3e1 * t962 * t968; + const double t971 = t136 * t161; + const double t974 = t899 * t377; + const double t975 = t12 * t376; + const double t978 = t902 * t903 * t975 / 0.3e1; + const double t980 = t412 * t376 * d; + const double t982 = t902 * t980 / 0.3e1; + const double t985 = t183 * t77; + const double t986 = t985 * t57; + const double t988 = t63 * t986 / 0.32e2; + const double t989 = t361 * t175; + const double t994 = t202 * t77; + const double t995 = t994 * t93; + const double t997 = t63 * t995 / 0.576e3; + const double t998 = t365 * t214; + const double t1002 = t225 * t77; + const double t1010 = t913 - t914 + t180 * t362 / 0.32e2 + t988 + t63 * t989 / 0.32e2 + t180 * t366 / 0.576e3 + t997 + t63 * t998 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t229 - t1002 * t57 / 0.4e1 - t370 * t175 / 0.4e1 ) / 0.8e1; + const double t1011 = t136 * t1010; + const double t1013 = t21 * t257; + const double t1016 = t339 * t265; + const double t1021 = t343 * t293; + const double t1025 = t322 * t70; + const double t1033 = t913 - t1013 + t274 * t340 / 0.32e2 + t920 + t63 * t1016 / 0.32e2 + t274 * t344 / 0.576e3 + t933 + t63 * t1021 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t326 - t1025 * t50 / 0.4e1 - t348 * t265 / 0.4e1 ) / 0.8e1; + const double t1034 = t136 * t1033; + const double t1036 = t136 * t257; + const double t1041 = t65 * t280; + const double t1042 = t1041 * t57; + const double t1045 = t361 * t269; + const double t1050 = t84 * t280; + const double t1051 = t1050 * t93; + const double t1054 = t365 * t299; + const double t1059 = t310 * t77; + const double t1062 = t101 * t280; + const double t1070 = t913 - t1013 + t274 * t362 / 0.32e2 + t988 - t63 * t1042 / 0.12e2 + t63 * t1045 / 0.32e2 + t274 * t366 / 0.576e3 + t997 - t63 * t1051 / 0.216e3 + t63 * t1054 / 0.576e3 - t62 * ( -0.16e2 / 0.9e1 * t314 + 0.2e1 / 0.3e1 * t317 - t1059 * t57 / 0.4e1 + 0.2e1 / 0.3e1 * t1062 * t57 - t370 * t269 / 0.4e1 ) / 0.8e1; + const double t1071 = t136 * t1070; + + + v2rho2_aa = t118 * t593 + 0.2e1 * t378; + v2rho2_ab = t118 * t765 + t378 + t595; + v2rho2_bb = t118 * t897 + 0.2e1 * t595; + v2rhosigma_a_aa = t337 * t955 + t900 + t907 + t911; + v2rhosigma_a_ab = -0.2e1 * t357 * t971 + t960 - t966 - t970; + v2rhosigma_a_bb = t337 * t1011 + t974 + t978 + t982; + v2rhosigma_b_aa = t337 * t1034 + t900 + t907 + t911; + v2rhosigma_b_ab = -0.2e1 * t357 * t1036 + t960 - t966 - t970; + v2rhosigma_b_bb = t337 * t1071 + t974 + t978 + t982; + v2sigma2_aa_aa = 0.e0; + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.e0; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t32 = constants::m_cbrt_3; + constexpr double t35 = constants::m_cbrt_pi_sq; + constexpr double t62 = constants::m_cbrt_2; + constexpr double t33 = t32 * t32; + constexpr double t36 = t35 * t35; + constexpr double t37 = t33 * t36; + constexpr double t134 = b * c; + constexpr double t151 = d * d; + constexpr double t406 = c * c; + constexpr double t407 = b * t406; + constexpr double t470 = t151 * d; + constexpr double t899 = a * b; + + + const double t1 = rho_a - rho_b; + const double t2 = t1 * t1; + const double t3 = rho_a + rho_b; + const double t4 = t3 * t3; + const double t5 = 0.1e1 / t4; + const double t7 = -t2 * t5 + 0.1e1; + const double t8 = safe_math::cbrt( t3 ); + const double t9 = 0.1e1 / t8; + const double t11 = d * t9 + 0.1e1; + const double t12 = 0.1e1 / t11; + const double t15 = safe_math::exp( -c * t9 ); + const double t16 = b * t15; + const double t18 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t19 = t8 * t8; + const double t21 = 0.1e1 / t19 / t4; + const double t22 = t18 * t21; + const double t24 = d * t12 + c; + const double t25 = t24 * t9; + const double t27 = 0.47e2 - 0.7e1 * t25; + const double t30 = t7 * t27 / 0.72e2 - 0.2e1 / 0.3e1; + const double t38 = 0.1e1 / t3; + const double t39 = t1 * t38; + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = zeta_tol * zeta_tol; + const double t43 = safe_math::cbrt( zeta_tol ); + const double t44 = t43 * t43; + const double t45 = t44 * t42; + const double t46 = t40 * t40; + const double t47 = safe_math::cbrt( t40 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t50 = piecewise_functor_3( t41, t45, t49 ); + const double t51 = 0.1e1 - t39; + const double t52 = t51 <= zeta_tol; + const double t53 = t51 * t51; + const double t54 = safe_math::cbrt( t51 ); + const double t55 = t54 * t54; + const double t56 = t55 * t53; + const double t57 = piecewise_functor_3( t52, t45, t56 ); + const double t58 = t50 + t57; + const double t63 = t62 * t7; + const double t65 = 0.5e1 / 0.2e1 - t25 / 0.18e2; + const double t66 = rho_a * rho_a; + const double t67 = safe_math::cbrt( rho_a ); + const double t68 = t67 * t67; + const double t70 = 0.1e1 / t68 / t66; + const double t71 = sigma_aa * t70; + const double t72 = t71 * t50; + const double t73 = rho_b * rho_b; + const double t74 = safe_math::cbrt( rho_b ); + const double t75 = t74 * t74; + const double t77 = 0.1e1 / t75 / t73; + const double t78 = sigma_bb * t77; + const double t79 = t78 * t57; + const double t80 = t72 + t79; + const double t81 = t65 * t80; + const double t84 = t25 - 0.11e2; + const double t86 = t44 * t42 * zeta_tol; + const double t89 = piecewise_functor_3( t41, t86, t48 * t46 * t40 ); + const double t93 = piecewise_functor_3( t52, t86, t55 * t53 * t51 ); + const double t95 = t71 * t89 + t78 * t93; + const double t96 = t84 * t95; + const double t101 = piecewise_functor_3( t41, t42, t46 ); + const double t102 = t101 * sigma_bb; + const double t103 = t77 * t57; + const double t106 = piecewise_functor_3( t52, t42, t53 ); + const double t107 = t106 * sigma_aa; + const double t108 = t70 * t50; + const double t114 = -t22 * t30 - 0.3e1 / 0.2e2 * t37 * t7 * t58 + t63 * t81 / 0.32e2 + t63 * t96 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t72 + 0.2e1 / 0.3e1 * t79 - t102 * t103 / 0.4e1 - t107 * t108 / 0.4e1 ) / 0.8e1; + const double tzk0 = a * ( t16 * t12 * t114 - t7 * t12 ); + const double t118 = t3 * a; + const double t119 = t1 * t5; + const double t120 = t4 * t3; + const double t121 = 0.1e1 / t120; + const double t122 = t2 * t121; + const double t124 = -0.2e1 * t119 + 0.2e1 * t122; + const double t126 = t11 * t11; + const double t127 = 0.1e1 / t126; + const double t128 = t7 * t127; + const double t130 = 0.1e1 / t8 / t3; + const double t131 = d * t130; + const double t133 = t128 * t131 / 0.3e1; + const double t135 = t134 * t130; + const double t136 = t15 * t12; + const double t137 = t136 * t114; + const double t139 = t135 * t137 / 0.3e1; + const double t140 = t16 * t127; + const double t141 = t114 * d; + const double t144 = t140 * t141 * t130 / 0.3e1; + const double t146 = 0.1e1 / t19 / t120; + const double t147 = t18 * t146; + const double t149 = 0.8e1 / 0.3e1 * t147 * t30; + const double t152 = t151 * t127; + const double t154 = 0.1e1 / t19 / t3; + const double t157 = t24 * t130 - t152 * t154; + const double t158 = 0.7e1 / 0.3e1 * t157; + const double t159 = t7 * t158; + const double t161 = t124 * t27 / 0.72e2 + t159 / 0.72e2; + const double t166 = t48 * t40; + const double t167 = t38 - t119; + const double t168 = t166 * t167; + const double t170 = piecewise_functor_3( t41, 0.0, 0.8e1 / 0.3e1 * t168 ); + const double t171 = t55 * t51; + const double t172 = -t167; + const double t173 = t171 * t172; + const double t175 = piecewise_functor_3( t52, 0.0, 0.8e1 / 0.3e1 * t173 ); + const double t176 = t170 + t175; + const double t180 = t62 * t124; + const double t183 = t157 / 0.54e2; + const double t184 = t183 * t80; + const double t186 = t63 * t184 / 0.32e2; + const double t189 = 0.1e1 / t68 / t66 / rho_a; + const double t190 = sigma_aa * t189; + const double t191 = t190 * t50; + const double t193 = t71 * t170; + const double t194 = t78 * t175; + const double t195 = -0.8e1 / 0.3e1 * t191 + t193 + t194; + const double t196 = t65 * t195; + const double t202 = -t157 / 0.3e1; + const double t203 = t202 * t95; + const double t205 = t63 * t203 / 0.576e3; + const double t210 = piecewise_functor_3( t41, 0.0, 0.11e2 / 0.3e1 * t49 * t167 ); + const double t214 = piecewise_functor_3( t52, 0.0, 0.11e2 / 0.3e1 * t56 * t172 ); + const double t216 = -0.8e1 / 0.3e1 * t190 * t89 + t71 * t210 + t78 * t214; + const double t217 = t84 * t216; + const double t225 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t167 ); + const double t226 = t225 * sigma_bb; + const double t229 = t77 * t175; + const double t234 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t172 ); + const double t235 = t234 * sigma_aa; + const double t238 = t189 * t50; + const double t241 = t70 * t170; + const double t247 = t149 - t22 * t161 - 0.3e1 / 0.2e2 * t37 * t124 * t58 - 0.3e1 / 0.2e2 * t37 * t7 * t176 + t180 * t81 / 0.32e2 + t186 + t63 * t196 / 0.32e2 + t180 * t96 / 0.576e3 + t205 + t63 * t217 / 0.576e3 - t62 * ( -0.16e2 / 0.9e1 * t191 + 0.2e1 / 0.3e1 * t193 + 0.2e1 / 0.3e1 * t194 - t226 * t103 / 0.4e1 - t102 * t229 / 0.4e1 - t235 * t108 / 0.4e1 + 0.2e1 / 0.3e1 * t107 * t238 - t107 * t241 / 0.4e1 ) / 0.8e1; + const double t250 = t16 * t12 * t247 - t124 * t12 - t133 + t139 + t144; + const double t253 = 0.2e1 * t119 + 0.2e1 * t122; + const double t257 = t253 * t27 / 0.72e2 + t159 / 0.72e2; + const double t262 = -t38 - t119; + const double t263 = t166 * t262; + const double t265 = piecewise_functor_3( t41, 0.0, 0.8e1 / 0.3e1 * t263 ); + const double t266 = -t262; + const double t267 = t171 * t266; + const double t269 = piecewise_functor_3( t52, 0.0, 0.8e1 / 0.3e1 * t267 ); + const double t270 = t265 + t269; + const double t274 = t62 * t253; + const double t277 = t71 * t265; + const double t280 = 0.1e1 / t75 / t73 / rho_b; + const double t281 = sigma_bb * t280; + const double t282 = t281 * t57; + const double t284 = t78 * t269; + const double t285 = t277 - 0.8e1 / 0.3e1 * t282 + t284; + const double t286 = t65 * t285; + const double t293 = piecewise_functor_3( t41, 0.0, 0.11e2 / 0.3e1 * t49 * t262 ); + const double t299 = piecewise_functor_3( t52, 0.0, 0.11e2 / 0.3e1 * t56 * t266 ); + const double t301 = t71 * t293 - 0.8e1 / 0.3e1 * t281 * t93 + t78 * t299; + const double t302 = t84 * t301; + const double t310 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t262 ); + const double t311 = t310 * sigma_bb; + const double t314 = t280 * t57; + const double t317 = t77 * t269; + const double t322 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t266 ); + const double t323 = t322 * sigma_aa; + const double t326 = t70 * t265; + const double t332 = t149 - t22 * t257 - 0.3e1 / 0.2e2 * t37 * t253 * t58 - 0.3e1 / 0.2e2 * t37 * t7 * t270 + t274 * t81 / 0.32e2 + t186 + t63 * t286 / 0.32e2 + t274 * t96 / 0.576e3 + t205 + t63 * t302 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t277 - 0.16e2 / 0.9e1 * t282 + 0.2e1 / 0.3e1 * t284 - t311 * t103 / 0.4e1 + 0.2e1 / 0.3e1 * t102 * t314 - t102 * t317 / 0.4e1 - t323 * t108 / 0.4e1 - t107 * t326 / 0.4e1 ) / 0.8e1; + const double t335 = t16 * t12 * t332 - t253 * t12 - t133 + t139 + t144; + const double t337 = t118 * b; + const double t338 = t21 * t30; + const double t339 = t65 * t70; + const double t340 = t339 * t50; + const double t343 = t84 * t70; + const double t344 = t343 * t89; + const double t348 = t106 * t70; + const double t354 = -t338 + t63 * t340 / 0.32e2 + t63 * t344 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t108 - t348 * t50 / 0.4e1 ) / 0.8e1; + const double t355 = t136 * t354; + const double t356 = t154 * a; + const double t357 = t356 * b; + const double t358 = t136 * t30; + const double t361 = t65 * t77; + const double t362 = t361 * t57; + const double t365 = t84 * t77; + const double t366 = t365 * t93; + const double t370 = t101 * t77; + const double t376 = -t338 + t63 * t362 / 0.32e2 + t63 * t366 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t103 - t370 * t57 / 0.4e1 ) / 0.8e1; + const double t377 = t136 * t376; + const double t378 = a * t250; + const double t380 = 0.2e1 * t5; + const double t381 = t1 * t121; + const double t382 = 0.8e1 * t381; + const double t383 = t4 * t4; + const double t384 = 0.1e1 / t383; + const double t386 = 0.6e1 * t2 * t384; + const double t387 = -t380 + t382 - t386; + const double t389 = t124 * t127; + const double t390 = t389 * t131; + const double t393 = 0.1e1 / t126 / t11; + const double t394 = t7 * t393; + const double t395 = t151 * t21; + const double t397 = 0.2e1 / 0.9e1 * t394 * t395; + const double t399 = 0.1e1 / t8 / t4; + const double t400 = d * t399; + const double t402 = 0.4e1 / 0.9e1 * t128 * t400; + const double t403 = t134 * t399; + const double t405 = 0.4e1 / 0.9e1 * t403 * t137; + const double t408 = t407 * t21; + const double t410 = t408 * t137 / 0.9e1; + const double t411 = t134 * t21; + const double t412 = t15 * t127; + const double t413 = t412 * t141; + const double t415 = 0.2e1 / 0.9e1 * t411 * t413; + const double t416 = t136 * t247; + const double t417 = t135 * t416; + const double t419 = t16 * t393; + const double t420 = t114 * t151; + const double t423 = 0.2e1 / 0.9e1 * t419 * t420 * t21; + const double t424 = t247 * d; + const double t426 = t140 * t424 * t130; + const double t430 = 0.4e1 / 0.9e1 * t140 * t141 * t399; + const double t432 = 0.1e1 / t19 / t383; + const double t433 = t18 * t432; + const double t435 = 0.88e2 / 0.9e1 * t433 * t30; + const double t442 = t167 * t167; + const double t443 = t48 * t442; + const double t446 = -0.2e1 * t5 + 0.2e1 * t381; + const double t450 = piecewise_functor_3( t41, 0.0, 0.4e2 / 0.9e1 * t443 + 0.8e1 / 0.3e1 * t166 * t446 ); + const double t451 = t172 * t172; + const double t452 = t55 * t451; + const double t454 = -t446; + const double t458 = piecewise_functor_3( t52, 0.0, 0.4e2 / 0.9e1 * t452 + 0.8e1 / 0.3e1 * t171 * t454 ); + const double t459 = t450 + t458; + const double t463 = t62 * t387; + const double t466 = t180 * t184; + const double t471 = t470 * t393; + const double t472 = t471 * t121; + const double t474 = t152 * t21; + const double t476 = t24 * t399; + const double t478 = -t472 / 0.81e2 + t474 / 0.27e2 - 0.2e1 / 0.81e2 * t476; + const double t479 = t478 * t80; + const double t481 = t63 * t479 / 0.32e2; + const double t482 = t183 * t195; + const double t483 = t63 * t482; + const double t485 = t66 * t66; + const double t487 = 0.1e1 / t68 / t485; + const double t488 = sigma_aa * t487; + const double t489 = t488 * t50; + const double t491 = t190 * t170; + const double t493 = t71 * t450; + const double t494 = t78 * t458; + const double t495 = 0.88e2 / 0.9e1 * t489 - 0.16e2 / 0.3e1 * t491 + t493 + t494; + const double t496 = t65 * t495; + const double t501 = t180 * t203; + const double t508 = 0.2e1 / 0.9e1 * t472 - 0.2e1 / 0.3e1 * t474 + 0.4e1 / 0.9e1 * t476; + const double t509 = t508 * t95; + const double t511 = t63 * t509 / 0.576e3; + const double t512 = t202 * t216; + const double t513 = t63 * t512; + const double t524 = piecewise_functor_3( t41, 0.0, 0.88e2 / 0.9e1 * t166 * t442 + 0.11e2 / 0.3e1 * t49 * t446 ); + const double t531 = piecewise_functor_3( t52, 0.0, 0.88e2 / 0.9e1 * t171 * t451 + 0.11e2 / 0.3e1 * t56 * t454 ); + const double t533 = 0.88e2 / 0.9e1 * t488 * t89 - 0.16e2 / 0.3e1 * t190 * t210 + t71 * t524 + t78 * t531; + const double t534 = t84 * t533; + const double t537 = t147 * t161; + const double t541 = t124 * t158; + const double t546 = -0.14e2 / 0.9e1 * t472 + 0.14e2 / 0.3e1 * t474 - 0.28e2 / 0.9e1 * t476; + const double t547 = t7 * t546; + const double t548 = t547 / 0.72e2; + const double t549 = t387 * t27 / 0.72e2 + t541 / 0.36e2 + t548; + const double t558 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t446 + 0.2e1 * t442 ); + const double t559 = t558 * sigma_bb; + const double t564 = t77 * t458; + const double t570 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t454 + 0.2e1 * t451 ); + const double t571 = t570 * sigma_aa; + const double t578 = t487 * t50; + const double t581 = t189 * t170; + const double t584 = t70 * t450; + const double t587 = 0.176e3 / 0.27e2 * t489 - 0.32e2 / 0.9e1 * t491 + 0.2e1 / 0.3e1 * t493 + 0.2e1 / 0.3e1 * t494 - t559 * t103 / 0.4e1 - t226 * t229 / 0.2e1 - t102 * t564 / 0.4e1 - t571 * t108 / 0.4e1 + 0.4e1 / 0.3e1 * t235 * t238 - t235 * t241 / 0.2e1 - 0.22e2 / 0.9e1 * t107 * t578 + 0.4e1 / 0.3e1 * t107 * t581 - t107 * t584 / 0.4e1; + const double t590 = -t435 - 0.3e1 / 0.2e2 * t37 * t387 * t58 - 0.3e1 / 0.1e2 * t37 * t124 * t176 - 0.3e1 / 0.2e2 * t37 * t7 * t459 + t463 * t81 / 0.32e2 + t466 / 0.16e2 + t180 * t196 / 0.16e2 + t481 + t483 / 0.16e2 + t63 * t496 / 0.32e2 + t463 * t96 / 0.576e3 + t501 / 0.288e3 + t180 * t217 / 0.288e3 + t511 + t513 / 0.288e3 + t63 * t534 / 0.576e3 + 0.16e2 / 0.3e1 * t537 - t22 * t549 - t62 * t587 / 0.8e1; + const double t593 = -t387 * t12 - 0.2e1 / 0.3e1 * t390 - t397 + t402 - t405 + t410 + t415 + 0.2e1 / 0.3e1 * t417 + t423 + 0.2e1 / 0.3e1 * t426 - t430 + t16 * t12 * t590; + const double t595 = a * t335; + const double t596 = t380 - t386; + const double t598 = t253 * t127; + const double t599 = t598 * t131; + const double t604 = t136 * t332; + const double t605 = t135 * t604; + const double t607 = t332 * d; + const double t609 = t140 * t607 * t130; + const double t611 = t190 * t265; + const double t613 = t48 * t262; + const double t616 = t166 * t1; + const double t620 = piecewise_functor_3( t41, 0.0, 0.4e2 / 0.9e1 * t613 * t167 + 0.16e2 / 0.3e1 * t616 * t121 ); + const double t621 = t71 * t620; + const double t623 = t281 * t175; + const double t625 = t55 * t266; + const double t628 = t171 * t1; + const double t632 = piecewise_functor_3( t52, 0.0, 0.4e2 / 0.9e1 * t625 * t172 - 0.16e2 / 0.3e1 * t628 * t121 ); + const double t633 = t78 * t632; + const double t637 = t40 * t1; + const double t641 = piecewise_functor_3( t41, 0.0, 0.4e1 * t637 * t121 + 0.2e1 * t167 * t262 ); + const double t642 = t641 * sigma_bb; + const double t649 = t280 * t175; + const double t654 = t77 * t632; + const double t659 = t51 * t1; + const double t663 = piecewise_functor_3( t52, 0.0, -0.4e1 * t659 * t121 + 0.2e1 * t172 * t266 ); + const double t664 = t663 * sigma_aa; + const double t673 = t189 * t265; + const double t676 = t70 * t620; + const double t679 = -0.16e2 / 0.9e1 * t611 + 0.2e1 / 0.3e1 * t621 - 0.16e2 / 0.9e1 * t623 + 0.2e1 / 0.3e1 * t633 - t642 * t103 / 0.4e1 - t311 * t229 / 0.4e1 + 0.2e1 / 0.3e1 * t226 * t314 + 0.2e1 / 0.3e1 * t102 * t649 - t226 * t317 / 0.4e1 - t102 * t654 / 0.4e1 - t664 * t108 / 0.4e1 + 0.2e1 / 0.3e1 * t323 * t238 - t323 * t241 / 0.4e1 - t235 * t326 / 0.4e1 + 0.2e1 / 0.3e1 * t107 * t673 - t107 * t676 / 0.4e1; + const double t683 = t253 * t158; + const double t685 = t596 * t27 / 0.72e2 + t541 / 0.72e2 + t547 / 0.72e2 + t683 / 0.72e2; + const double t687 = t147 * t257; + const double t690 = t620 + t632; + const double t694 = t62 * t596; + const double t697 = t274 * t184; + const double t703 = t183 * t285; + const double t704 = t63 * t703; + const double t708 = -0.8e1 / 0.3e1 * t611 + t621 - 0.8e1 / 0.3e1 * t623 + t633; + const double t709 = t65 * t708; + const double t714 = -t62 * t679 / 0.8e1 - t22 * t685 + 0.8e1 / 0.3e1 * t687 + 0.8e1 / 0.3e1 * t537 - t435 - 0.3e1 / 0.2e2 * t37 * t7 * t690 + t694 * t81 / 0.32e2 + t697 / 0.32e2 + t274 * t196 / 0.32e2 + t180 * t286 / 0.32e2 + t704 / 0.32e2 + t63 * t709 / 0.32e2 + t694 * t96 / 0.576e3; + const double t715 = t274 * t203; + const double t721 = t202 * t301; + const double t722 = t63 * t721; + const double t728 = t49 * t1; + const double t732 = piecewise_functor_3( t41, 0.0, 0.88e2 / 0.9e1 * t263 * t167 + 0.22e2 / 0.3e1 * t728 * t121 ); + const double t738 = t56 * t1; + const double t742 = piecewise_functor_3( t52, 0.0, 0.88e2 / 0.9e1 * t267 * t172 - 0.22e2 / 0.3e1 * t738 * t121 ); + const double t744 = -0.8e1 / 0.3e1 * t190 * t293 + t71 * t732 - 0.8e1 / 0.3e1 * t281 * t214 + t78 * t742; + const double t745 = t84 * t744; + const double t761 = t715 / 0.576e3 + t274 * t217 / 0.576e3 + t180 * t302 / 0.576e3 + t722 / 0.576e3 + t63 * t745 / 0.576e3 - 0.3e1 / 0.2e2 * t37 * t596 * t58 - 0.3e1 / 0.2e2 * t37 * t253 * t176 - 0.3e1 / 0.2e2 * t37 * t124 * t270 + t511 + t513 / 0.576e3 + t466 / 0.32e2 + t481 + t483 / 0.32e2 + t501 / 0.576e3; + const double t762 = t714 + t761; + const double t765 = -t596 * t12 - t599 / 0.3e1 - t390 / 0.3e1 - t397 + t402 - t405 + t410 + t415 + t417 / 0.3e1 + t423 + t426 / 0.3e1 - t430 + t605 / 0.3e1 + t609 / 0.3e1 + t16 * t12 * t762; + const double t768 = -t380 - t382 - t386; + const double t784 = t262 * t262; + const double t785 = t48 * t784; + const double t788 = 0.2e1 * t5 + 0.2e1 * t381; + const double t789 = t166 * t788; + const double t792 = piecewise_functor_3( t41, 0.0, 0.4e2 / 0.9e1 * t785 + 0.8e1 / 0.3e1 * t789 ); + const double t793 = t266 * t266; + const double t794 = t55 * t793; + const double t796 = -t788; + const double t797 = t171 * t796; + const double t800 = piecewise_functor_3( t52, 0.0, 0.4e2 / 0.9e1 * t794 + 0.8e1 / 0.3e1 * t797 ); + const double t801 = t792 + t800; + const double t805 = t62 * t768; + const double t810 = t71 * t792; + const double t811 = t73 * t73; + const double t813 = 0.1e1 / t75 / t811; + const double t814 = sigma_bb * t813; + const double t815 = t814 * t57; + const double t817 = t281 * t269; + const double t819 = t78 * t800; + const double t820 = t810 + 0.88e2 / 0.9e1 * t815 - 0.16e2 / 0.3e1 * t817 + t819; + const double t821 = t65 * t820; + const double t833 = piecewise_functor_3( t41, 0.0, 0.88e2 / 0.9e1 * t166 * t784 + 0.11e2 / 0.3e1 * t49 * t788 ); + const double t844 = piecewise_functor_3( t52, 0.0, 0.88e2 / 0.9e1 * t171 * t793 + 0.11e2 / 0.3e1 * t56 * t796 ); + const double t846 = t71 * t833 + 0.88e2 / 0.9e1 * t814 * t93 - 0.16e2 / 0.3e1 * t281 * t299 + t78 * t844; + const double t847 = t84 * t846; + const double t853 = t768 * t27 / 0.72e2 + t683 / 0.36e2 + t548; + const double t862 = piecewise_functor_3( t41, 0.0, 0.2e1 * t40 * t788 + 0.2e1 * t784 ); + const double t863 = t862 * sigma_bb; + const double t870 = t813 * t57; + const double t873 = t280 * t269; + const double t876 = t77 * t800; + const double t882 = piecewise_functor_3( t52, 0.0, 0.2e1 * t51 * t796 + 0.2e1 * t793 ); + const double t883 = t882 * sigma_aa; + const double t888 = t70 * t792; + const double t891 = 0.2e1 / 0.3e1 * t810 + 0.176e3 / 0.27e2 * t815 - 0.32e2 / 0.9e1 * t817 + 0.2e1 / 0.3e1 * t819 - t863 * t103 / 0.4e1 + 0.4e1 / 0.3e1 * t311 * t314 - t311 * t317 / 0.2e1 - 0.22e2 / 0.9e1 * t102 * t870 + 0.4e1 / 0.3e1 * t102 * t873 - t102 * t876 / 0.4e1 - t883 * t108 / 0.4e1 - t323 * t326 / 0.2e1 - t107 * t888 / 0.4e1; + const double t894 = -t435 + t481 + t511 + 0.16e2 / 0.3e1 * t687 + t697 / 0.16e2 + t704 / 0.16e2 + t715 / 0.288e3 + t722 / 0.288e3 - 0.3e1 / 0.2e2 * t37 * t768 * t58 - 0.3e1 / 0.1e2 * t37 * t253 * t270 - 0.3e1 / 0.2e2 * t37 * t7 * t801 + t805 * t81 / 0.32e2 + t274 * t286 / 0.16e2 + t63 * t821 / 0.32e2 + t805 * t96 / 0.576e3 + t274 * t302 / 0.288e3 + t63 * t847 / 0.576e3 - t22 * t853 - t62 * t891 / 0.8e1; + const double t897 = -t768 * t12 - 0.2e1 / 0.3e1 * t599 - t397 + t402 - t405 + t410 + t415 + 0.2e1 / 0.3e1 * t605 + t423 + 0.2e1 / 0.3e1 * t609 - t430 + t16 * t12 * t894; + const double t900 = t899 * t355; + const double t902 = t9 * a * b; + const double t903 = c * t15; + const double t904 = t12 * t354; + const double t907 = t902 * t903 * t904 / 0.3e1; + const double t909 = t412 * t354 * d; + const double t911 = t902 * t909 / 0.3e1; + const double t913 = 0.8e1 / 0.3e1 * t146 * t30; + const double t914 = t21 * t161; + const double t917 = t183 * t70; + const double t918 = t917 * t50; + const double t920 = t63 * t918 / 0.32e2; + const double t921 = t65 * t189; + const double t922 = t921 * t50; + const double t925 = t339 * t170; + const double t930 = t202 * t70; + const double t931 = t930 * t89; + const double t933 = t63 * t931 / 0.576e3; + const double t934 = t84 * t189; + const double t935 = t934 * t89; + const double t938 = t343 * t210; + const double t943 = t234 * t70; + const double t946 = t106 * t189; + const double t954 = t913 - t914 + t180 * t340 / 0.32e2 + t920 - t63 * t922 / 0.12e2 + t63 * t925 / 0.32e2 + t180 * t344 / 0.576e3 + t933 - t63 * t935 / 0.216e3 + t63 * t938 / 0.576e3 - t62 * ( -0.16e2 / 0.9e1 * t238 + 0.2e1 / 0.3e1 * t241 - t943 * t50 / 0.4e1 + 0.2e1 / 0.3e1 * t946 * t50 - t348 * t170 / 0.4e1 ) / 0.8e1; + const double t955 = t136 * t954; + const double t958 = t21 * a * b; + const double t960 = 0.1e2 / 0.3e1 * t958 * t358; + const double t961 = t121 * a; + const double t962 = t961 * b; + const double t963 = t12 * t30; + const double t964 = t903 * t963; + const double t966 = 0.2e1 / 0.3e1 * t962 * t964; + const double t968 = t412 * t30 * d; + const double t970 = 0.2e1 / 0.3e1 * t962 * t968; + const double t971 = t136 * t161; + const double t974 = t899 * t377; + const double t975 = t12 * t376; + const double t978 = t902 * t903 * t975 / 0.3e1; + const double t980 = t412 * t376 * d; + const double t982 = t902 * t980 / 0.3e1; + const double t985 = t183 * t77; + const double t986 = t985 * t57; + const double t988 = t63 * t986 / 0.32e2; + const double t989 = t361 * t175; + const double t994 = t202 * t77; + const double t995 = t994 * t93; + const double t997 = t63 * t995 / 0.576e3; + const double t998 = t365 * t214; + const double t1002 = t225 * t77; + const double t1010 = t913 - t914 + t180 * t362 / 0.32e2 + t988 + t63 * t989 / 0.32e2 + t180 * t366 / 0.576e3 + t997 + t63 * t998 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t229 - t1002 * t57 / 0.4e1 - t370 * t175 / 0.4e1 ) / 0.8e1; + const double t1011 = t136 * t1010; + const double t1013 = t21 * t257; + const double t1016 = t339 * t265; + const double t1021 = t343 * t293; + const double t1025 = t322 * t70; + const double t1033 = t913 - t1013 + t274 * t340 / 0.32e2 + t920 + t63 * t1016 / 0.32e2 + t274 * t344 / 0.576e3 + t933 + t63 * t1021 / 0.576e3 - t62 * ( 0.2e1 / 0.3e1 * t326 - t1025 * t50 / 0.4e1 - t348 * t265 / 0.4e1 ) / 0.8e1; + const double t1034 = t136 * t1033; + const double t1036 = t136 * t257; + const double t1041 = t65 * t280; + const double t1042 = t1041 * t57; + const double t1045 = t361 * t269; + const double t1050 = t84 * t280; + const double t1051 = t1050 * t93; + const double t1054 = t365 * t299; + const double t1059 = t310 * t77; + const double t1062 = t101 * t280; + const double t1070 = t913 - t1013 + t274 * t362 / 0.32e2 + t988 - t63 * t1042 / 0.12e2 + t63 * t1045 / 0.32e2 + t274 * t366 / 0.576e3 + t997 - t63 * t1051 / 0.216e3 + t63 * t1054 / 0.576e3 - t62 * ( -0.16e2 / 0.9e1 * t314 + 0.2e1 / 0.3e1 * t317 - t1059 * t57 / 0.4e1 + 0.2e1 / 0.3e1 * t1062 * t57 - t370 * t269 / 0.4e1 ) / 0.8e1; + const double t1071 = t136 * t1070; + + + vrho_a = t118 * t250 + tzk0; + vrho_b = t118 * t335 + tzk0; + vsigma_aa = t337 * t355; + vsigma_ab = -0.2e1 * t357 * t358; + vsigma_bb = t337 * t377; + v2rho2_aa = t118 * t593 + 0.2e1 * t378; + v2rho2_ab = t118 * t765 + t378 + t595; + v2rho2_bb = t118 * t897 + 0.2e1 * t595; + v2rhosigma_a_aa = t337 * t955 + t900 + t907 + t911; + v2rhosigma_a_ab = -0.2e1 * t357 * t971 + t960 - t966 - t970; + v2rhosigma_a_bb = t337 * t1011 + t974 + t978 + t982; + v2rhosigma_b_aa = t337 * t1034 + t900 + t907 + t911; + v2rhosigma_b_ab = -0.2e1 * t357 * t1036 + t960 - t966 - t970; + v2rhosigma_b_bb = t337 * t1071 + t974 + t978 + t982; + v2sigma2_aa_aa = 0.e0; + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.e0; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = 0.e0; + + } + }; @@ -474,4 +1712,4 @@ struct BuiltinLYP : detail::BuiltinKernelImpl< BuiltinLYP > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m05_2x_c.hpp b/include/exchcxx/impl/builtin/kernels/m05_2x_c.hpp new file mode 100644 index 0000000..05e402f --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m05_2x_c.hpp @@ -0,0 +1,5860 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM05_2X_C > : + public mgga_screening_interface< BuiltinM05_2X_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double gamma_ss = 0.06; + static constexpr double gamma_ab = 0.0031; + static constexpr double css_0 = 1.00000e0; + static constexpr double css_1 = -3.05430e0; + static constexpr double css_2 = 7.61854e0; + static constexpr double css_3 = 1.47665e0; + static constexpr double css_4 = -11.92365e0; + static constexpr double cab_0 = 1.00000e0; + static constexpr double cab_1 = 1.09297e0; + static constexpr double cab_2 = -3.79171e0; + static constexpr double cab_3 = 2.82810e0; + static constexpr double cab_4 = -10.58909e0; + static constexpr double Fermi_D_cnst = 1e-10; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + + + eps = t171 + t250; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t345 = t95 * t109; + constexpr double t356 = t108 * t124; + constexpr double t365 = t123 * t136; + constexpr double t376 = t136 * gamma_ss; + constexpr double t377 = t135 * t376; + constexpr double t416 = t9 * t12; + constexpr double t458 = t212 * t224; + constexpr double t465 = t223 * t233; + constexpr double t471 = t232 * t241; + constexpr double t479 = t241 * gamma_ab; + constexpr double t480 = t240 * t479; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = 0.1e1 / t14 / rho; + const double t253 = t252 * t16; + const double t254 = t20 * t46; + const double t257 = 0.11073470983333333333e-2 * t13 * t253 * t254; + const double t258 = t42 * t42; + const double t259 = 0.1e1 / t258; + const double t260 = t24 * t259; + const double t263 = 0.1e1 / t25 * t7 * t9; + const double t264 = t12 * t252; + const double t265 = t16 * t20; + const double t266 = t264 * t265; + const double t267 = t263 * t266; + const double t269 = t253 * t20; + const double t270 = t13 * t269; + const double t272 = safe_math::sqrt( t22 ); + const double t274 = t272 * t7 * t9; + const double t275 = t274 * t266; + const double t278 = 0.1e1 / t34 / rho; + const double t281 = t33 * t278 * t36 * t38; + const double t283 = -0.632975e0 * t267 - 0.29896666666666666667e0 * t270 - 0.1023875e0 * t275 - 0.82156666666666666667e-1 * t281; + const double t284 = 0.1e1 / t45; + const double t285 = t283 * t284; + const double t287 = 0.1e1 * t260 * t285; + const double t288 = t20 * t70; + const double t292 = t66 * t66; + const double t293 = 0.1e1 / t292; + const double t294 = t61 * t293; + const double t299 = -0.1176575e1 * t267 - 0.516475e0 * t270 - 0.2103875e0 * t275 - 0.104195e0 * t281; + const double t300 = 0.1e1 / t69; + const double t301 = t299 * t300; + const double t304 = t20 * t83; + const double t308 = t79 * t79; + const double t309 = 0.1e1 / t308; + const double t310 = t74 * t309; + const double t315 = -0.86308333333333333334e0 * t267 - 0.301925e0 * t270 - 0.5501625e-1 * t275 - 0.82785e-1 * t281; + const double t316 = 0.1e1 / t82; + const double t317 = t315 * t316; + const double t322 = t59 * t10; + const double t323 = t265 * t83; + const double t327 = t59 * t74; + const double t329 = t309 * t315 * t316; + const double t335 = piecewise_functor_3( t5, 0.0, t6 * ( t257 + t287 + t59 * ( 0.53237641966666666666e-3 * t13 * t253 * t288 + 0.1e1 * t294 * t301 - t257 - t287 + 0.18311447306006545054e-3 * t13 * t253 * t304 + 0.5848223622634646207e0 * t310 * t317 ) - 0.18311447306006545054e-3 * t322 * t264 * t323 - 0.5848223622634646207e0 * t327 * t329 ) / 0.2e1 ); + const double t336 = t335 * t149; + const double t337 = t336 * t169; + const double t340 = 0.1e1 / t34 / t159; + const double t341 = t36 * t340; + const double t342 = t341 * t105; + const double t346 = t345 * t111; + const double t347 = t113 * t98; + const double t349 = 0.1e1 / t14 / t347; + const double t350 = t16 * t349; + const double t351 = t350 * t119; + const double t357 = t127 * rho; + const double t358 = 0.1e1 / t357; + const double t359 = t126 * t358; + const double t360 = t359 * t131; + const double t366 = t365 * t138; + const double t367 = t127 * t159; + const double t369 = 0.1e1 / t34 / t367; + const double t371 = t369 * t145 * t36; + const double t378 = t138 * sigma; + const double t379 = t377 * t378; + const double t380 = t127 * t347; + const double t382 = 0.1e1 / t14 / t380; + const double t383 = t16 * t382; + const double t385 = 0.1e1 / t144 / t104; + const double t386 = t383 * t385; + const double t389 = -0.8e1 / 0.3e1 * t97 * t342 + 0.16e2 / 0.3e1 * t346 * t351 - 0.32e2 / 0.3e1 * t112 * t351 + 0.64e2 / 0.3e1 * t356 * t360 - 0.32e2 * t125 * t360 + 0.32e2 * t366 * t371 - 0.128e3 / 0.3e1 * t139 * t371 + 0.256e3 / 0.3e1 * t379 * t386; + const double t390 = t93 * t389; + const double t391 = t390 * t169; + const double t393 = t150 * sigma; + const double t394 = 0.1e1 / t98; + const double t396 = t394 * t153 * t168; + const double t397 = t393 * t396; + const double t399 = t156 * t157; + const double t400 = t150 * t399; + const double t402 = 0.1e1 / t14 / t113; + const double t403 = t16 * t402; + const double t404 = t163 * t167; + const double t405 = t403 * t404; + const double t406 = t400 * t405; + const double t411 = t184 * t184; + const double t412 = 0.1e1 / t411; + const double t413 = t175 * t412; + const double t415 = 0.1e1 / t176 * t7; + const double t417 = t416 * t252; + const double t418 = t415 * t417; + const double t420 = t10 * t264; + const double t422 = safe_math::sqrt( t173 ); + const double t423 = t422 * t7; + const double t424 = t423 * t417; + const double t427 = t32 * t11 * t278; + const double t429 = -0.632975e0 * t418 - 0.29896666666666666667e0 * t420 - 0.1023875e0 * t424 - 0.82156666666666666667e-1 * t427; + const double t430 = 0.1e1 / t187; + const double t431 = t429 * t430; + const double t434 = t194 * t7; + const double t439 = t194 * t196; + const double t440 = t201 * t201; + const double t441 = 0.1e1 / t440; + const double t446 = -0.86308333333333333334e0 * t418 - 0.301925e0 * t420 - 0.5501625e-1 * t424 - 0.82785e-1 * t427; + const double t448 = 0.1e1 / t204; + const double t449 = t441 * t446 * t448; + const double t453 = 0.11073470983333333333e-2 * t10 * t264 * t188 + 0.1e1 * t413 * t431 - 0.18311447306006545054e-3 * t434 * t416 * t252 * t205 - 0.5848223622634646207e0 * t439 * t449 - 0.2e1 * t335; + const double t454 = t453 * t249; + const double t455 = t341 * t219; + const double t459 = t458 * t111; + const double t460 = t350 * t228; + const double t466 = t359 * t236; + const double t472 = t471 * t138; + const double t474 = t369 * t245 * t36; + const double t481 = t480 * t378; + const double t483 = 0.1e1 / t244 / t218; + const double t484 = t383 * t483; + const double t487 = -0.16e2 / 0.3e1 * t214 * t455 + 0.64e2 / 0.3e1 * t459 * t460 - 0.128e3 / 0.3e1 * t226 * t460 + 0.512e3 / 0.3e1 * t465 * t466 - 0.256e3 * t234 * t466 + 0.512e3 * t472 * t474 - 0.2048e4 / 0.3e1 * t243 * t474 + 0.8192e4 / 0.3e1 * t481 * t484; + const double t488 = t210 * t487; + const double t495 = t110 * sigma; + const double t498 = t111 * t128; + const double t499 = t498 * t131; + const double t504 = t365 * t126; + const double t507 = t137 * t126; + const double t510 = t377 * t138; + const double t511 = t127 * t114; + const double t513 = 0.1e1 / t14 / t511; + const double t514 = t16 * t513; + const double t515 = t514 * t385; + const double t518 = -0.2e1 * t345 * sigma * t120 + t96 * t106 + 0.4e1 * t495 * t120 + 0.12e2 * t125 * t499 - 0.12e2 * t504 * t146 + 0.16e2 * t507 * t146 - 0.8e1 * t356 * t499 - 0.32e2 * t510 * t515; + const double t519 = t93 * t518; + const double t521 = 0.2e1 * t519 * t169; + const double t523 = t151 * t153 * t168; + const double t525 = t150 * t523 / 0.4e1; + const double t531 = t225 * sigma; + const double t534 = t498 * t236; + const double t539 = t471 * t126; + const double t542 = t242 * t126; + const double t545 = t480 * t138; + const double t546 = t514 * t483; + const double t549 = -0.8e1 * t458 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t531 * t229 + 0.96e2 * t234 * t534 - 0.192e3 * t539 * t246 + 0.256e3 * t542 * t246 - 0.64e2 * t465 * t534 - 0.1024e4 * t545 * t546; + const double t550 = t210 * t549; + const double t552 = 0.1e1 / t157; + const double t554 = t151 * t552 * t168; + const double t556 = t393 * t554 / 0.4e1; + const double t557 = t156 * tau; + const double t558 = t150 * t557; + const double t559 = t16 * t161; + const double t560 = t559 * t404; + const double t562 = 0.32e2 * t558 * t560; + + + eps = t171 + t250; + vrho = t171 + t250 + rho * ( 0.2e1 * t337 + 0.2e1 * t391 + t397 / 0.4e1 - 0.16e3 / 0.3e1 * t406 + t454 + t488 ); + vsigma = rho * ( t521 - t525 + t550 ); + vlapl = 0.e0; + vtau = rho * ( t556 + t562 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t345 = t95 * t109; + constexpr double t356 = t108 * t124; + constexpr double t365 = t123 * t136; + constexpr double t376 = t136 * gamma_ss; + constexpr double t377 = t135 * t376; + constexpr double t416 = t9 * t12; + constexpr double t458 = t212 * t224; + constexpr double t465 = t223 * t233; + constexpr double t471 = t232 * t241; + constexpr double t479 = t241 * gamma_ab; + constexpr double t480 = t240 * t479; + constexpr double t740 = t95 * t124; + constexpr double t750 = t108 * t136; + constexpr double t763 = t123 * t376; + constexpr double t776 = t136 * t109; + constexpr double t777 = t135 * t776; + constexpr double t818 = t162 * t162; + constexpr double t819 = 0.1e1 / t818; + constexpr double t841 = t31 * t11; + constexpr double t915 = t212 * t233; + constexpr double t923 = t223 * t241; + constexpr double t933 = t232 * t479; + constexpr double t943 = t241 * t224; + constexpr double t944 = t240 * t943; + constexpr double t959 = t345 * t16; + constexpr double t1014 = t458 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = 0.1e1 / t14 / rho; + const double t253 = t252 * t16; + const double t254 = t20 * t46; + const double t257 = 0.11073470983333333333e-2 * t13 * t253 * t254; + const double t258 = t42 * t42; + const double t259 = 0.1e1 / t258; + const double t260 = t24 * t259; + const double t263 = 0.1e1 / t25 * t7 * t9; + const double t264 = t12 * t252; + const double t265 = t16 * t20; + const double t266 = t264 * t265; + const double t267 = t263 * t266; + const double t269 = t253 * t20; + const double t270 = t13 * t269; + const double t272 = safe_math::sqrt( t22 ); + const double t274 = t272 * t7 * t9; + const double t275 = t274 * t266; + const double t278 = 0.1e1 / t34 / rho; + const double t281 = t33 * t278 * t36 * t38; + const double t283 = -0.632975e0 * t267 - 0.29896666666666666667e0 * t270 - 0.1023875e0 * t275 - 0.82156666666666666667e-1 * t281; + const double t284 = 0.1e1 / t45; + const double t285 = t283 * t284; + const double t287 = 0.1e1 * t260 * t285; + const double t288 = t20 * t70; + const double t292 = t66 * t66; + const double t293 = 0.1e1 / t292; + const double t294 = t61 * t293; + const double t299 = -0.1176575e1 * t267 - 0.516475e0 * t270 - 0.2103875e0 * t275 - 0.104195e0 * t281; + const double t300 = 0.1e1 / t69; + const double t301 = t299 * t300; + const double t304 = t20 * t83; + const double t308 = t79 * t79; + const double t309 = 0.1e1 / t308; + const double t310 = t74 * t309; + const double t315 = -0.86308333333333333334e0 * t267 - 0.301925e0 * t270 - 0.5501625e-1 * t275 - 0.82785e-1 * t281; + const double t316 = 0.1e1 / t82; + const double t317 = t315 * t316; + const double t322 = t59 * t10; + const double t323 = t265 * t83; + const double t327 = t59 * t74; + const double t329 = t309 * t315 * t316; + const double t335 = piecewise_functor_3( t5, 0.0, t6 * ( t257 + t287 + t59 * ( 0.53237641966666666666e-3 * t13 * t253 * t288 + 0.1e1 * t294 * t301 - t257 - t287 + 0.18311447306006545054e-3 * t13 * t253 * t304 + 0.5848223622634646207e0 * t310 * t317 ) - 0.18311447306006545054e-3 * t322 * t264 * t323 - 0.5848223622634646207e0 * t327 * t329 ) / 0.2e1 ); + const double t336 = t335 * t149; + const double t337 = t336 * t169; + const double t340 = 0.1e1 / t34 / t159; + const double t341 = t36 * t340; + const double t342 = t341 * t105; + const double t346 = t345 * t111; + const double t347 = t113 * t98; + const double t349 = 0.1e1 / t14 / t347; + const double t350 = t16 * t349; + const double t351 = t350 * t119; + const double t357 = t127 * rho; + const double t358 = 0.1e1 / t357; + const double t359 = t126 * t358; + const double t360 = t359 * t131; + const double t366 = t365 * t138; + const double t367 = t127 * t159; + const double t369 = 0.1e1 / t34 / t367; + const double t371 = t369 * t145 * t36; + const double t378 = t138 * sigma; + const double t379 = t377 * t378; + const double t380 = t127 * t347; + const double t382 = 0.1e1 / t14 / t380; + const double t383 = t16 * t382; + const double t385 = 0.1e1 / t144 / t104; + const double t386 = t383 * t385; + const double t389 = -0.8e1 / 0.3e1 * t97 * t342 + 0.16e2 / 0.3e1 * t346 * t351 - 0.32e2 / 0.3e1 * t112 * t351 + 0.64e2 / 0.3e1 * t356 * t360 - 0.32e2 * t125 * t360 + 0.32e2 * t366 * t371 - 0.128e3 / 0.3e1 * t139 * t371 + 0.256e3 / 0.3e1 * t379 * t386; + const double t390 = t93 * t389; + const double t391 = t390 * t169; + const double t393 = t150 * sigma; + const double t394 = 0.1e1 / t98; + const double t396 = t394 * t153 * t168; + const double t397 = t393 * t396; + const double t399 = t156 * t157; + const double t400 = t150 * t399; + const double t402 = 0.1e1 / t14 / t113; + const double t403 = t16 * t402; + const double t404 = t163 * t167; + const double t405 = t403 * t404; + const double t406 = t400 * t405; + const double t411 = t184 * t184; + const double t412 = 0.1e1 / t411; + const double t413 = t175 * t412; + const double t415 = 0.1e1 / t176 * t7; + const double t417 = t416 * t252; + const double t418 = t415 * t417; + const double t420 = t10 * t264; + const double t422 = safe_math::sqrt( t173 ); + const double t423 = t422 * t7; + const double t424 = t423 * t417; + const double t427 = t32 * t11 * t278; + const double t429 = -0.632975e0 * t418 - 0.29896666666666666667e0 * t420 - 0.1023875e0 * t424 - 0.82156666666666666667e-1 * t427; + const double t430 = 0.1e1 / t187; + const double t431 = t429 * t430; + const double t434 = t194 * t7; + const double t439 = t194 * t196; + const double t440 = t201 * t201; + const double t441 = 0.1e1 / t440; + const double t446 = -0.86308333333333333334e0 * t418 - 0.301925e0 * t420 - 0.5501625e-1 * t424 - 0.82785e-1 * t427; + const double t448 = 0.1e1 / t204; + const double t449 = t441 * t446 * t448; + const double t453 = 0.11073470983333333333e-2 * t10 * t264 * t188 + 0.1e1 * t413 * t431 - 0.18311447306006545054e-3 * t434 * t416 * t252 * t205 - 0.5848223622634646207e0 * t439 * t449 - 0.2e1 * t335; + const double t454 = t453 * t249; + const double t455 = t341 * t219; + const double t459 = t458 * t111; + const double t460 = t350 * t228; + const double t466 = t359 * t236; + const double t472 = t471 * t138; + const double t474 = t369 * t245 * t36; + const double t481 = t480 * t378; + const double t483 = 0.1e1 / t244 / t218; + const double t484 = t383 * t483; + const double t487 = -0.16e2 / 0.3e1 * t214 * t455 + 0.64e2 / 0.3e1 * t459 * t460 - 0.128e3 / 0.3e1 * t226 * t460 + 0.512e3 / 0.3e1 * t465 * t466 - 0.256e3 * t234 * t466 + 0.512e3 * t472 * t474 - 0.2048e4 / 0.3e1 * t243 * t474 + 0.8192e4 / 0.3e1 * t481 * t484; + const double t488 = t210 * t487; + const double t495 = t110 * sigma; + const double t498 = t111 * t128; + const double t499 = t498 * t131; + const double t504 = t365 * t126; + const double t507 = t137 * t126; + const double t510 = t377 * t138; + const double t511 = t127 * t114; + const double t513 = 0.1e1 / t14 / t511; + const double t514 = t16 * t513; + const double t515 = t514 * t385; + const double t518 = -0.2e1 * t345 * sigma * t120 + t96 * t106 + 0.4e1 * t495 * t120 + 0.12e2 * t125 * t499 - 0.12e2 * t504 * t146 + 0.16e2 * t507 * t146 - 0.8e1 * t356 * t499 - 0.32e2 * t510 * t515; + const double t519 = t93 * t518; + const double t521 = 0.2e1 * t519 * t169; + const double t523 = t151 * t153 * t168; + const double t525 = t150 * t523 / 0.4e1; + const double t531 = t225 * sigma; + const double t534 = t498 * t236; + const double t539 = t471 * t126; + const double t542 = t242 * t126; + const double t545 = t480 * t138; + const double t546 = t514 * t483; + const double t549 = -0.8e1 * t458 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t531 * t229 + 0.96e2 * t234 * t534 - 0.192e3 * t539 * t246 + 0.256e3 * t542 * t246 - 0.64e2 * t465 * t534 - 0.1024e4 * t545 * t546; + const double t550 = t210 * t549; + const double t552 = 0.1e1 / t157; + const double t554 = t151 * t552 * t168; + const double t556 = t393 * t554 / 0.4e1; + const double t557 = t156 * tau; + const double t558 = t150 * t557; + const double t559 = t16 * t161; + const double t560 = t559 * t404; + const double t562 = 0.32e2 * t558 * t560; + const double t571 = 0.1e1 / t14 / t98; + const double t572 = t571 * t16; + const double t575 = 0.14764627977777777777e-2 * t13 * t572 * t254; + const double t578 = t265 * t259 * t283 * t284; + const double t580 = 0.35616666666666666666e-1 * t420 * t578; + const double t581 = t258 * t42; + const double t582 = 0.1e1 / t581; + const double t583 = t24 * t582; + const double t584 = t283 * t283; + const double t585 = t584 * t284; + const double t587 = 0.2e1 * t583 * t585; + const double t591 = 0.1e1 / t25 / t22 * t30 * t31; + const double t592 = t11 * t100; + const double t593 = t36 * t38; + const double t594 = t592 * t593; + const double t595 = t591 * t594; + const double t597 = t12 * t571; + const double t598 = t597 * t265; + const double t599 = t263 * t598; + const double t601 = t572 * t20; + const double t602 = t13 * t601; + const double t604 = 0.1e1/safe_math::sqrt( t22 ); + const double t606 = t604 * t30 * t31; + const double t607 = t606 * t594; + const double t609 = t274 * t598; + const double t612 = t33 * t101 * t38; + const double t614 = -0.42198333333333333333e0 * t595 + 0.84396666666666666666e0 * t599 + 0.39862222222222222223e0 * t602 + 0.68258333333333333333e-1 * t607 + 0.13651666666666666667e0 * t609 + 0.13692777777777777778e0 * t612; + const double t617 = 0.1e1 * t260 * t614 * t284; + const double t618 = t258 * t258; + const double t619 = 0.1e1 / t618; + const double t620 = t24 * t619; + const double t621 = t45 * t45; + const double t622 = 0.1e1 / t621; + const double t623 = t584 * t622; + const double t625 = 0.16081979498692535067e2 * t620 * t623; + const double t631 = t265 * t293 * t299 * t300; + const double t634 = t292 * t66; + const double t635 = 0.1e1 / t634; + const double t636 = t61 * t635; + const double t637 = t299 * t299; + const double t638 = t637 * t300; + const double t647 = -0.78438333333333333333e0 * t595 + 0.15687666666666666667e1 * t599 + 0.68863333333333333333e0 * t602 + 0.14025833333333333333e0 * t607 + 0.28051666666666666667e0 * t609 + 0.17365833333333333333e0 * t612; + const double t651 = t292 * t292; + const double t652 = 0.1e1 / t651; + const double t653 = t61 * t652; + const double t654 = t69 * t69; + const double t655 = 0.1e1 / t654; + const double t662 = t265 * t329; + const double t665 = t308 * t79; + const double t666 = 0.1e1 / t665; + const double t667 = t74 * t666; + const double t668 = t315 * t315; + const double t669 = t668 * t316; + const double t678 = -0.57538888888888888889e0 * t595 + 0.11507777777777777778e1 * t599 + 0.40256666666666666667e0 * t602 + 0.366775e-1 * t607 + 0.73355e-1 * t609 + 0.137975e0 * t612; + const double t679 = t678 * t316; + const double t682 = t308 * t308; + const double t683 = 0.1e1 / t682; + const double t684 = t74 * t683; + const double t685 = t82 * t82; + const double t686 = 0.1e1 / t685; + const double t687 = t668 * t686; + const double t690 = -0.70983522622222222221e-3 * t13 * t572 * t288 - 0.34246666666666666666e-1 * t420 * t631 - 0.2e1 * t636 * t638 + 0.1e1 * t294 * t647 * t300 + 0.32163958997385070134e2 * t653 * t637 * t655 + t575 + t580 + t587 - t617 - t625 - 0.24415263074675393405e-3 * t13 * t572 * t304 - 0.10843581300301739842e-1 * t420 * t662 - 0.11696447245269292414e1 * t667 * t669 + 0.5848223622634646207e0 * t310 * t679 + 0.17315859105681463759e2 * t684 * t687; + const double t695 = t59 * t13; + const double t700 = t666 * t668 * t316; + const double t704 = t309 * t678 * t316; + const double t707 = t683 * t668; + const double t708 = t707 * t686; + const double t711 = -t575 - t580 - t587 + t617 + t625 + t59 * t690 + 0.24415263074675393405e-3 * t322 * t597 * t323 + 0.10843581300301739842e-1 * t695 * t269 * t329 + 0.11696447245269292414e1 * t327 * t700 - 0.5848223622634646207e0 * t327 * t704 - 0.17315859105681463759e2 * t327 * t708; + const double t714 = piecewise_functor_3( t5, 0.0, t6 * t711 / 0.2e1 ); + const double t715 = t714 * t149; + const double t716 = t715 * t169; + const double t718 = t335 * t389; + const double t719 = t718 * t169; + const double t721 = t336 * sigma; + const double t722 = t721 * t396; + const double t724 = t336 * t399; + const double t725 = t724 * t405; + const double t728 = 0.1e1 / t34 / t113; + const double t729 = t36 * t728; + const double t730 = t729 * t105; + const double t733 = t113 * t159; + const double t735 = 0.1e1 / t14 / t733; + const double t736 = t16 * t735; + const double t737 = t736 * t119; + const double t741 = 0.1e1 / t140; + const double t742 = t126 * t741; + const double t743 = t742 * t131; + const double t751 = t750 * t138; + const double t752 = t127 * t113; + const double t754 = 0.1e1 / t34 / t752; + const double t756 = t754 * t145 * t36; + const double t764 = t763 * t378; + const double t765 = t127 * t733; + const double t767 = 0.1e1 / t14 / t765; + const double t769 = t767 * t385 * t16; + const double t778 = t138 * t111; + const double t779 = t127 * t127; + const double t780 = t779 * t98; + const double t781 = 0.1e1 / t780; + const double t782 = t778 * t781; + const double t784 = 0.1e1 / t144 / t118; + const double t788 = 0.88e2 / 0.9e1 * t97 * t730 - 0.48e2 * t346 * t737 + 0.512e3 / 0.9e1 * t740 * t743 + 0.608e3 / 0.9e1 * t112 * t737 - 0.2752e4 / 0.9e1 * t356 * t743 + 0.512e3 / 0.3e1 * t751 * t756 + 0.288e3 * t125 * t743 - 0.1888e4 / 0.3e1 * t366 * t756 + 0.2048e4 / 0.3e1 * t764 * t769 + 0.448e4 / 0.9e1 * t139 * t756 - 0.64e4 / 0.3e1 * t379 * t769 + 0.2048e5 / 0.9e1 * t777 * t782 * t784; + const double t789 = t93 * t788; + const double t790 = t789 * t169; + const double t792 = t390 * sigma; + const double t793 = t792 * t396; + const double t795 = t390 * t399; + const double t796 = t795 * t405; + const double t798 = 0.1e1 / t159; + const double t800 = t798 * t153 * t168; + const double t801 = t393 * t800; + const double t803 = sigma * t349; + const double t804 = t150 * t803; + const double t806 = tau * t16 * t404; + const double t807 = t804 * t806; + const double t809 = t117 * t404; + const double t810 = t400 * t809; + const double t812 = t157 * t157; + const double t813 = t156 * t812; + const double t814 = t150 * t813; + const double t816 = 0.1e1 / t34 / t127; + const double t820 = t819 * t167; + const double t821 = t36 * t816 * t820; + const double t822 = t814 * t821; + const double t827 = t252 * t412; + const double t831 = t411 * t184; + const double t832 = 0.1e1 / t831; + const double t833 = t175 * t832; + const double t834 = t429 * t429; + const double t835 = t834 * t430; + const double t840 = 0.1e1 / t176 / t173 * t30; + const double t842 = t841 * t100; + const double t843 = t840 * t842; + const double t845 = t416 * t571; + const double t846 = t415 * t845; + const double t848 = t10 * t597; + const double t850 = 0.1e1/safe_math::sqrt( t173 ); + const double t851 = t850 * t30; + const double t852 = t851 * t842; + const double t854 = t423 * t845; + const double t856 = t32 * t592; + const double t858 = -0.42198333333333333333e0 * t843 + 0.84396666666666666666e0 * t846 + 0.39862222222222222223e0 * t848 + 0.68258333333333333333e-1 * t852 + 0.13651666666666666667e0 * t854 + 0.13692777777777777778e0 * t856; + const double t859 = t858 * t430; + const double t862 = t411 * t411; + const double t863 = 0.1e1 / t862; + const double t864 = t175 * t863; + const double t865 = t187 * t187; + const double t866 = 0.1e1 / t865; + const double t867 = t834 * t866; + const double t874 = t194 * t10; + const double t878 = t440 * t201; + const double t879 = 0.1e1 / t878; + const double t880 = t446 * t446; + const double t882 = t879 * t880 * t448; + const double t891 = -0.57538888888888888889e0 * t843 + 0.11507777777777777778e1 * t846 + 0.40256666666666666667e0 * t848 + 0.366775e-1 * t852 + 0.73355e-1 * t854 + 0.137975e0 * t856; + const double t893 = t441 * t891 * t448; + const double t896 = t440 * t440; + const double t897 = 0.1e1 / t896; + const double t898 = t897 * t880; + const double t899 = t204 * t204; + const double t900 = 0.1e1 / t899; + const double t901 = t898 * t900; + const double t905 = -0.14764627977777777777e-2 * t10 * t597 * t188 - 0.35616666666666666666e-1 * t13 * t827 * t431 - 0.2e1 * t833 * t835 + 0.1e1 * t413 * t859 + 0.16081979498692535067e2 * t864 * t867 + 0.24415263074675393405e-3 * t434 * t416 * t571 * t205 + 0.10843581300301739842e-1 * t874 * t264 * t449 + 0.11696447245269292414e1 * t439 * t882 - 0.5848223622634646207e0 * t439 * t893 - 0.17315859105681463759e2 * t439 * t901 - 0.2e1 * t714; + const double t906 = t905 * t249; + const double t907 = t453 * t487; + const double t909 = t729 * t219; + const double t912 = t736 * t228; + const double t916 = t742 * t236; + const double t924 = t923 * t138; + const double t926 = t754 * t245 * t36; + const double t934 = t933 * t378; + const double t936 = t767 * t483 * t16; + const double t946 = 0.1e1 / t244 / t227; + const double t950 = 0.176e3 / 0.9e1 * t214 * t909 - 0.192e3 * t459 * t912 + 0.4096e4 / 0.9e1 * t915 * t916 + 0.2432e4 / 0.9e1 * t226 * t912 - 0.22016e5 / 0.9e1 * t465 * t916 + 0.8192e4 / 0.3e1 * t924 * t926 + 0.2304e4 * t234 * t916 - 0.30208e5 / 0.3e1 * t472 * t926 + 0.65536e5 / 0.3e1 * t934 * t936 + 0.7168e5 / 0.9e1 * t243 * t926 - 0.2048e6 / 0.3e1 * t481 * t936 + 0.131072e7 / 0.9e1 * t944 * t782 * t946; + const double t951 = t210 * t950; + const double t952 = 0.2e1 * t716 + 0.4e1 * t719 + t722 / 0.2e1 - 0.32e3 / 0.3e1 * t725 + 0.2e1 * t790 + t793 / 0.2e1 - 0.32e3 / 0.3e1 * t796 - t801 / 0.2e1 - 0.4e2 / 0.3e1 * t807 + 0.208e4 / 0.9e1 * t810 - 0.128e5 / 0.9e1 * t822 + t906 + 0.2e1 * t907 + t951; + const double t954 = t335 * t518; + const double t955 = t954 * t169; + const double t964 = t111 * t358; + const double t965 = t964 * t131; + const double t972 = t750 * t126; + const double t979 = t763 * t138; + const double t986 = t779 * rho; + const double t987 = 0.1e1 / t986; + const double t988 = t378 * t987; + const double t992 = -0.8e1 / 0.3e1 * t96 * t342 + 0.16e2 * t959 * t349 * t119 * sigma - 0.64e2 / 0.3e1 * t740 * t965 - 0.64e2 / 0.3e1 * t495 * t351 + 0.32e3 / 0.3e1 * t356 * t965 - 0.64e2 * t972 * t371 - 0.96e2 * t125 * t965 + 0.224e3 * t504 * t371 - 0.256e3 * t979 * t386 - 0.512e3 / 0.3e1 * t507 * t371 + 0.768e3 * t510 * t386 - 0.256e4 / 0.3e1 * t777 * t988 * t784; + const double t993 = t93 * t992; + const double t994 = t993 * t169; + const double t996 = t519 * sigma; + const double t997 = t996 * t396; + const double t999 = t519 * t399; + const double t1000 = t999 * t405; + const double t1002 = t336 * t523; + const double t1004 = t390 * t523; + const double t1006 = t150 * t396; + const double t1008 = t150 * t116; + const double t1009 = t1008 * t806; + const double t1011 = t453 * t549; + const double t1019 = t964 * t236; + const double t1026 = t923 * t126; + const double t1033 = t933 * t138; + const double t1043 = -0.16e2 / 0.3e1 * t213 * t455 + 0.64e2 * t1014 * t349 * t228 * sigma - 0.512e3 / 0.3e1 * t915 * t1019 - 0.256e3 / 0.3e1 * t531 * t460 + 0.256e4 / 0.3e1 * t465 * t1019 - 0.1024e4 * t1026 * t474 - 0.768e3 * t234 * t1019 + 0.3584e4 * t539 * t474 - 0.8192e4 * t1033 * t484 - 0.8192e4 / 0.3e1 * t542 * t474 + 0.24576e5 * t545 * t484 - 0.16384e6 / 0.3e1 * t944 * t988 * t946; + const double t1044 = t210 * t1043; + const double t1047 = t721 * t554; + const double t1049 = t792 * t554; + const double t1052 = t394 * t552 * t168; + const double t1053 = t393 * t1052; + const double t1055 = t393 * t809; + const double t1057 = t336 * t557; + const double t1058 = t1057 * t560; + const double t1060 = t390 * t557; + const double t1061 = t1060 * t560; + const double t1063 = t558 * t405; + const double t1065 = t157 * tau; + const double t1066 = t156 * t1065; + const double t1067 = t150 * t1066; + const double t1069 = 0.1e1 / t34 / t733; + const double t1071 = t36 * t1069 * t820; + const double t1072 = t1067 * t1071; + const double t1078 = sigma * t128; + const double t1079 = t1078 * t131; + const double t1086 = t750 * t111; + const double t1091 = t365 * t111; + const double t1094 = t763 * t126; + const double t1097 = t137 * t111; + const double t1100 = t377 * t126; + const double t1103 = 0.1e1 / t779; + const double t1104 = t138 * t1103; + const double t1108 = 0.32e3 * t777 * t1104 * t784 + 0.24e2 * t125 * t1079 - 0.32e2 * t356 * t1079 + 0.8e1 * t740 * t1079 + 0.24e2 * t1086 * t146 - 0.72e2 * t1091 * t146 + 0.96e2 * t1094 * t515 + 0.48e2 * t1097 * t146 + 0.4e1 * t110 * t120 - 0.256e3 * t1100 * t515 - 0.4e1 * t345 * t120; + const double t1109 = t93 * t1108; + const double t1111 = 0.2e1 * t1109 * t169; + const double t1113 = t519 * t523 / 0.2e1; + const double t1116 = t1078 * t236; + const double t1123 = t923 * t111; + const double t1128 = t471 * t111; + const double t1131 = t933 * t126; + const double t1134 = t242 * t111; + const double t1137 = t480 * t126; + const double t1143 = 0.2048e5 * t944 * t1104 * t946 + 0.192e3 * t234 * t1116 - 0.256e3 * t465 * t1116 + 0.64e2 * t915 * t1116 + 0.384e3 * t1123 * t246 - 0.1152e4 * t1128 * t246 + 0.3072e4 * t1131 * t546 + 0.768e3 * t1134 * t246 - 0.8192e4 * t1137 * t546 + 0.16e2 * t225 * t229 - 0.16e2 * t458 * t229; + const double t1144 = t210 * t1143; + const double t1147 = t996 * t554 / 0.4e1; + const double t1149 = t150 * t554 / 0.4e1; + const double t1150 = t519 * t557; + const double t1152 = 0.32e2 * t1150 * t560; + const double t1153 = t150 * t402; + const double t1155 = t16 * t163 * t167; + const double t1157 = 0.4e1 * t1153 * t1155; + const double t1159 = 0.1e1 / t1065; + const double t1161 = t151 * t1159 * t168; + const double t1163 = t393 * t1161 / 0.2e1; + const double t1164 = sigma * t402; + const double t1165 = t150 * t1164; + const double t1167 = t153 * t16 * t404; + const double t1169 = 0.8e1 * t1165 * t1167; + const double t1170 = t150 * t156; + const double t1172 = 0.32e2 * t1170 * t560; + const double t1174 = 0.1e1 / t34 / t347; + const double t1175 = t36 * t1174; + const double t1176 = t1175 * t820; + const double t1178 = 0.512e3 * t400 * t1176; + + + v2rho2 = 0.4e1 * t337 + 0.4e1 * t391 + t397 / 0.2e1 - 0.32e3 / 0.3e1 * t406 + 0.2e1 * t454 + 0.2e1 * t488 + rho * t952; + v2rhosigma = t521 - t525 + t550 + rho * ( 0.2e1 * t955 + 0.2e1 * t994 + t997 / 0.4e1 - 0.16e3 / 0.3e1 * t1000 - t1002 / 0.4e1 - t1004 / 0.4e1 + t1006 / 0.4e1 + 0.2e2 / 0.3e1 * t1009 + t1011 + t1044 ); + v2rholapl = 0.e0; + v2rhotau = t556 + t562 + rho * ( t1047 / 0.4e1 + t1049 / 0.4e1 - t1053 / 0.4e1 - 0.8e1 / 0.3e1 * t1055 + 0.32e2 * t1058 + 0.32e2 * t1061 - 0.32e3 / 0.3e1 * t1063 + 0.256e4 / 0.3e1 * t1072 ); + v2sigma2 = rho * ( t1111 - t1113 + t1144 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1147 + t1149 + t1152 - t1157 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1163 + t1169 + t1172 - t1178 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t345 = t95 * t109; + constexpr double t356 = t108 * t124; + constexpr double t365 = t123 * t136; + constexpr double t376 = t136 * gamma_ss; + constexpr double t377 = t135 * t376; + constexpr double t416 = t9 * t12; + constexpr double t458 = t212 * t224; + constexpr double t465 = t223 * t233; + constexpr double t471 = t232 * t241; + constexpr double t479 = t241 * gamma_ab; + constexpr double t480 = t240 * t479; + constexpr double t740 = t95 * t124; + constexpr double t750 = t108 * t136; + constexpr double t763 = t123 * t376; + constexpr double t776 = t136 * t109; + constexpr double t777 = t135 * t776; + constexpr double t818 = t162 * t162; + constexpr double t819 = 0.1e1 / t818; + constexpr double t841 = t31 * t11; + constexpr double t915 = t212 * t233; + constexpr double t923 = t223 * t241; + constexpr double t933 = t232 * t479; + constexpr double t943 = t241 * t224; + constexpr double t944 = t240 * t943; + constexpr double t959 = t345 * t16; + constexpr double t1014 = t458 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = 0.1e1 / t14 / rho; + const double t253 = t252 * t16; + const double t254 = t20 * t46; + const double t257 = 0.11073470983333333333e-2 * t13 * t253 * t254; + const double t258 = t42 * t42; + const double t259 = 0.1e1 / t258; + const double t260 = t24 * t259; + const double t263 = 0.1e1 / t25 * t7 * t9; + const double t264 = t12 * t252; + const double t265 = t16 * t20; + const double t266 = t264 * t265; + const double t267 = t263 * t266; + const double t269 = t253 * t20; + const double t270 = t13 * t269; + const double t272 = safe_math::sqrt( t22 ); + const double t274 = t272 * t7 * t9; + const double t275 = t274 * t266; + const double t278 = 0.1e1 / t34 / rho; + const double t281 = t33 * t278 * t36 * t38; + const double t283 = -0.632975e0 * t267 - 0.29896666666666666667e0 * t270 - 0.1023875e0 * t275 - 0.82156666666666666667e-1 * t281; + const double t284 = 0.1e1 / t45; + const double t285 = t283 * t284; + const double t287 = 0.1e1 * t260 * t285; + const double t288 = t20 * t70; + const double t292 = t66 * t66; + const double t293 = 0.1e1 / t292; + const double t294 = t61 * t293; + const double t299 = -0.1176575e1 * t267 - 0.516475e0 * t270 - 0.2103875e0 * t275 - 0.104195e0 * t281; + const double t300 = 0.1e1 / t69; + const double t301 = t299 * t300; + const double t304 = t20 * t83; + const double t308 = t79 * t79; + const double t309 = 0.1e1 / t308; + const double t310 = t74 * t309; + const double t315 = -0.86308333333333333334e0 * t267 - 0.301925e0 * t270 - 0.5501625e-1 * t275 - 0.82785e-1 * t281; + const double t316 = 0.1e1 / t82; + const double t317 = t315 * t316; + const double t322 = t59 * t10; + const double t323 = t265 * t83; + const double t327 = t59 * t74; + const double t329 = t309 * t315 * t316; + const double t335 = piecewise_functor_3( t5, 0.0, t6 * ( t257 + t287 + t59 * ( 0.53237641966666666666e-3 * t13 * t253 * t288 + 0.1e1 * t294 * t301 - t257 - t287 + 0.18311447306006545054e-3 * t13 * t253 * t304 + 0.5848223622634646207e0 * t310 * t317 ) - 0.18311447306006545054e-3 * t322 * t264 * t323 - 0.5848223622634646207e0 * t327 * t329 ) / 0.2e1 ); + const double t336 = t335 * t149; + const double t337 = t336 * t169; + const double t340 = 0.1e1 / t34 / t159; + const double t341 = t36 * t340; + const double t342 = t341 * t105; + const double t346 = t345 * t111; + const double t347 = t113 * t98; + const double t349 = 0.1e1 / t14 / t347; + const double t350 = t16 * t349; + const double t351 = t350 * t119; + const double t357 = t127 * rho; + const double t358 = 0.1e1 / t357; + const double t359 = t126 * t358; + const double t360 = t359 * t131; + const double t366 = t365 * t138; + const double t367 = t127 * t159; + const double t369 = 0.1e1 / t34 / t367; + const double t371 = t369 * t145 * t36; + const double t378 = t138 * sigma; + const double t379 = t377 * t378; + const double t380 = t127 * t347; + const double t382 = 0.1e1 / t14 / t380; + const double t383 = t16 * t382; + const double t385 = 0.1e1 / t144 / t104; + const double t386 = t383 * t385; + const double t389 = -0.8e1 / 0.3e1 * t97 * t342 + 0.16e2 / 0.3e1 * t346 * t351 - 0.32e2 / 0.3e1 * t112 * t351 + 0.64e2 / 0.3e1 * t356 * t360 - 0.32e2 * t125 * t360 + 0.32e2 * t366 * t371 - 0.128e3 / 0.3e1 * t139 * t371 + 0.256e3 / 0.3e1 * t379 * t386; + const double t390 = t93 * t389; + const double t391 = t390 * t169; + const double t393 = t150 * sigma; + const double t394 = 0.1e1 / t98; + const double t396 = t394 * t153 * t168; + const double t397 = t393 * t396; + const double t399 = t156 * t157; + const double t400 = t150 * t399; + const double t402 = 0.1e1 / t14 / t113; + const double t403 = t16 * t402; + const double t404 = t163 * t167; + const double t405 = t403 * t404; + const double t406 = t400 * t405; + const double t411 = t184 * t184; + const double t412 = 0.1e1 / t411; + const double t413 = t175 * t412; + const double t415 = 0.1e1 / t176 * t7; + const double t417 = t416 * t252; + const double t418 = t415 * t417; + const double t420 = t10 * t264; + const double t422 = safe_math::sqrt( t173 ); + const double t423 = t422 * t7; + const double t424 = t423 * t417; + const double t427 = t32 * t11 * t278; + const double t429 = -0.632975e0 * t418 - 0.29896666666666666667e0 * t420 - 0.1023875e0 * t424 - 0.82156666666666666667e-1 * t427; + const double t430 = 0.1e1 / t187; + const double t431 = t429 * t430; + const double t434 = t194 * t7; + const double t439 = t194 * t196; + const double t440 = t201 * t201; + const double t441 = 0.1e1 / t440; + const double t446 = -0.86308333333333333334e0 * t418 - 0.301925e0 * t420 - 0.5501625e-1 * t424 - 0.82785e-1 * t427; + const double t448 = 0.1e1 / t204; + const double t449 = t441 * t446 * t448; + const double t453 = 0.11073470983333333333e-2 * t10 * t264 * t188 + 0.1e1 * t413 * t431 - 0.18311447306006545054e-3 * t434 * t416 * t252 * t205 - 0.5848223622634646207e0 * t439 * t449 - 0.2e1 * t335; + const double t454 = t453 * t249; + const double t455 = t341 * t219; + const double t459 = t458 * t111; + const double t460 = t350 * t228; + const double t466 = t359 * t236; + const double t472 = t471 * t138; + const double t474 = t369 * t245 * t36; + const double t481 = t480 * t378; + const double t483 = 0.1e1 / t244 / t218; + const double t484 = t383 * t483; + const double t487 = -0.16e2 / 0.3e1 * t214 * t455 + 0.64e2 / 0.3e1 * t459 * t460 - 0.128e3 / 0.3e1 * t226 * t460 + 0.512e3 / 0.3e1 * t465 * t466 - 0.256e3 * t234 * t466 + 0.512e3 * t472 * t474 - 0.2048e4 / 0.3e1 * t243 * t474 + 0.8192e4 / 0.3e1 * t481 * t484; + const double t488 = t210 * t487; + const double t495 = t110 * sigma; + const double t498 = t111 * t128; + const double t499 = t498 * t131; + const double t504 = t365 * t126; + const double t507 = t137 * t126; + const double t510 = t377 * t138; + const double t511 = t127 * t114; + const double t513 = 0.1e1 / t14 / t511; + const double t514 = t16 * t513; + const double t515 = t514 * t385; + const double t518 = -0.2e1 * t345 * sigma * t120 + t96 * t106 + 0.4e1 * t495 * t120 + 0.12e2 * t125 * t499 - 0.12e2 * t504 * t146 + 0.16e2 * t507 * t146 - 0.8e1 * t356 * t499 - 0.32e2 * t510 * t515; + const double t519 = t93 * t518; + const double t521 = 0.2e1 * t519 * t169; + const double t523 = t151 * t153 * t168; + const double t525 = t150 * t523 / 0.4e1; + const double t531 = t225 * sigma; + const double t534 = t498 * t236; + const double t539 = t471 * t126; + const double t542 = t242 * t126; + const double t545 = t480 * t138; + const double t546 = t514 * t483; + const double t549 = -0.8e1 * t458 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t531 * t229 + 0.96e2 * t234 * t534 - 0.192e3 * t539 * t246 + 0.256e3 * t542 * t246 - 0.64e2 * t465 * t534 - 0.1024e4 * t545 * t546; + const double t550 = t210 * t549; + const double t552 = 0.1e1 / t157; + const double t554 = t151 * t552 * t168; + const double t556 = t393 * t554 / 0.4e1; + const double t557 = t156 * tau; + const double t558 = t150 * t557; + const double t559 = t16 * t161; + const double t560 = t559 * t404; + const double t562 = 0.32e2 * t558 * t560; + const double t571 = 0.1e1 / t14 / t98; + const double t572 = t571 * t16; + const double t575 = 0.14764627977777777777e-2 * t13 * t572 * t254; + const double t578 = t265 * t259 * t283 * t284; + const double t580 = 0.35616666666666666666e-1 * t420 * t578; + const double t581 = t258 * t42; + const double t582 = 0.1e1 / t581; + const double t583 = t24 * t582; + const double t584 = t283 * t283; + const double t585 = t584 * t284; + const double t587 = 0.2e1 * t583 * t585; + const double t591 = 0.1e1 / t25 / t22 * t30 * t31; + const double t592 = t11 * t100; + const double t593 = t36 * t38; + const double t594 = t592 * t593; + const double t595 = t591 * t594; + const double t597 = t12 * t571; + const double t598 = t597 * t265; + const double t599 = t263 * t598; + const double t601 = t572 * t20; + const double t602 = t13 * t601; + const double t604 = 0.1e1/safe_math::sqrt( t22 ); + const double t606 = t604 * t30 * t31; + const double t607 = t606 * t594; + const double t609 = t274 * t598; + const double t612 = t33 * t101 * t38; + const double t614 = -0.42198333333333333333e0 * t595 + 0.84396666666666666666e0 * t599 + 0.39862222222222222223e0 * t602 + 0.68258333333333333333e-1 * t607 + 0.13651666666666666667e0 * t609 + 0.13692777777777777778e0 * t612; + const double t617 = 0.1e1 * t260 * t614 * t284; + const double t618 = t258 * t258; + const double t619 = 0.1e1 / t618; + const double t620 = t24 * t619; + const double t621 = t45 * t45; + const double t622 = 0.1e1 / t621; + const double t623 = t584 * t622; + const double t625 = 0.16081979498692535067e2 * t620 * t623; + const double t631 = t265 * t293 * t299 * t300; + const double t634 = t292 * t66; + const double t635 = 0.1e1 / t634; + const double t636 = t61 * t635; + const double t637 = t299 * t299; + const double t638 = t637 * t300; + const double t647 = -0.78438333333333333333e0 * t595 + 0.15687666666666666667e1 * t599 + 0.68863333333333333333e0 * t602 + 0.14025833333333333333e0 * t607 + 0.28051666666666666667e0 * t609 + 0.17365833333333333333e0 * t612; + const double t651 = t292 * t292; + const double t652 = 0.1e1 / t651; + const double t653 = t61 * t652; + const double t654 = t69 * t69; + const double t655 = 0.1e1 / t654; + const double t662 = t265 * t329; + const double t665 = t308 * t79; + const double t666 = 0.1e1 / t665; + const double t667 = t74 * t666; + const double t668 = t315 * t315; + const double t669 = t668 * t316; + const double t678 = -0.57538888888888888889e0 * t595 + 0.11507777777777777778e1 * t599 + 0.40256666666666666667e0 * t602 + 0.366775e-1 * t607 + 0.73355e-1 * t609 + 0.137975e0 * t612; + const double t679 = t678 * t316; + const double t682 = t308 * t308; + const double t683 = 0.1e1 / t682; + const double t684 = t74 * t683; + const double t685 = t82 * t82; + const double t686 = 0.1e1 / t685; + const double t687 = t668 * t686; + const double t690 = -0.70983522622222222221e-3 * t13 * t572 * t288 - 0.34246666666666666666e-1 * t420 * t631 - 0.2e1 * t636 * t638 + 0.1e1 * t294 * t647 * t300 + 0.32163958997385070134e2 * t653 * t637 * t655 + t575 + t580 + t587 - t617 - t625 - 0.24415263074675393405e-3 * t13 * t572 * t304 - 0.10843581300301739842e-1 * t420 * t662 - 0.11696447245269292414e1 * t667 * t669 + 0.5848223622634646207e0 * t310 * t679 + 0.17315859105681463759e2 * t684 * t687; + const double t695 = t59 * t13; + const double t700 = t666 * t668 * t316; + const double t704 = t309 * t678 * t316; + const double t707 = t683 * t668; + const double t708 = t707 * t686; + const double t711 = -t575 - t580 - t587 + t617 + t625 + t59 * t690 + 0.24415263074675393405e-3 * t322 * t597 * t323 + 0.10843581300301739842e-1 * t695 * t269 * t329 + 0.11696447245269292414e1 * t327 * t700 - 0.5848223622634646207e0 * t327 * t704 - 0.17315859105681463759e2 * t327 * t708; + const double t714 = piecewise_functor_3( t5, 0.0, t6 * t711 / 0.2e1 ); + const double t715 = t714 * t149; + const double t716 = t715 * t169; + const double t718 = t335 * t389; + const double t719 = t718 * t169; + const double t721 = t336 * sigma; + const double t722 = t721 * t396; + const double t724 = t336 * t399; + const double t725 = t724 * t405; + const double t728 = 0.1e1 / t34 / t113; + const double t729 = t36 * t728; + const double t730 = t729 * t105; + const double t733 = t113 * t159; + const double t735 = 0.1e1 / t14 / t733; + const double t736 = t16 * t735; + const double t737 = t736 * t119; + const double t741 = 0.1e1 / t140; + const double t742 = t126 * t741; + const double t743 = t742 * t131; + const double t751 = t750 * t138; + const double t752 = t127 * t113; + const double t754 = 0.1e1 / t34 / t752; + const double t756 = t754 * t145 * t36; + const double t764 = t763 * t378; + const double t765 = t127 * t733; + const double t767 = 0.1e1 / t14 / t765; + const double t769 = t767 * t385 * t16; + const double t778 = t138 * t111; + const double t779 = t127 * t127; + const double t780 = t779 * t98; + const double t781 = 0.1e1 / t780; + const double t782 = t778 * t781; + const double t784 = 0.1e1 / t144 / t118; + const double t788 = 0.88e2 / 0.9e1 * t97 * t730 - 0.48e2 * t346 * t737 + 0.512e3 / 0.9e1 * t740 * t743 + 0.608e3 / 0.9e1 * t112 * t737 - 0.2752e4 / 0.9e1 * t356 * t743 + 0.512e3 / 0.3e1 * t751 * t756 + 0.288e3 * t125 * t743 - 0.1888e4 / 0.3e1 * t366 * t756 + 0.2048e4 / 0.3e1 * t764 * t769 + 0.448e4 / 0.9e1 * t139 * t756 - 0.64e4 / 0.3e1 * t379 * t769 + 0.2048e5 / 0.9e1 * t777 * t782 * t784; + const double t789 = t93 * t788; + const double t790 = t789 * t169; + const double t792 = t390 * sigma; + const double t793 = t792 * t396; + const double t795 = t390 * t399; + const double t796 = t795 * t405; + const double t798 = 0.1e1 / t159; + const double t800 = t798 * t153 * t168; + const double t801 = t393 * t800; + const double t803 = sigma * t349; + const double t804 = t150 * t803; + const double t806 = tau * t16 * t404; + const double t807 = t804 * t806; + const double t809 = t117 * t404; + const double t810 = t400 * t809; + const double t812 = t157 * t157; + const double t813 = t156 * t812; + const double t814 = t150 * t813; + const double t816 = 0.1e1 / t34 / t127; + const double t820 = t819 * t167; + const double t821 = t36 * t816 * t820; + const double t822 = t814 * t821; + const double t827 = t252 * t412; + const double t831 = t411 * t184; + const double t832 = 0.1e1 / t831; + const double t833 = t175 * t832; + const double t834 = t429 * t429; + const double t835 = t834 * t430; + const double t840 = 0.1e1 / t176 / t173 * t30; + const double t842 = t841 * t100; + const double t843 = t840 * t842; + const double t845 = t416 * t571; + const double t846 = t415 * t845; + const double t848 = t10 * t597; + const double t850 = 0.1e1/safe_math::sqrt( t173 ); + const double t851 = t850 * t30; + const double t852 = t851 * t842; + const double t854 = t423 * t845; + const double t856 = t32 * t592; + const double t858 = -0.42198333333333333333e0 * t843 + 0.84396666666666666666e0 * t846 + 0.39862222222222222223e0 * t848 + 0.68258333333333333333e-1 * t852 + 0.13651666666666666667e0 * t854 + 0.13692777777777777778e0 * t856; + const double t859 = t858 * t430; + const double t862 = t411 * t411; + const double t863 = 0.1e1 / t862; + const double t864 = t175 * t863; + const double t865 = t187 * t187; + const double t866 = 0.1e1 / t865; + const double t867 = t834 * t866; + const double t874 = t194 * t10; + const double t878 = t440 * t201; + const double t879 = 0.1e1 / t878; + const double t880 = t446 * t446; + const double t882 = t879 * t880 * t448; + const double t891 = -0.57538888888888888889e0 * t843 + 0.11507777777777777778e1 * t846 + 0.40256666666666666667e0 * t848 + 0.366775e-1 * t852 + 0.73355e-1 * t854 + 0.137975e0 * t856; + const double t893 = t441 * t891 * t448; + const double t896 = t440 * t440; + const double t897 = 0.1e1 / t896; + const double t898 = t897 * t880; + const double t899 = t204 * t204; + const double t900 = 0.1e1 / t899; + const double t901 = t898 * t900; + const double t905 = -0.14764627977777777777e-2 * t10 * t597 * t188 - 0.35616666666666666666e-1 * t13 * t827 * t431 - 0.2e1 * t833 * t835 + 0.1e1 * t413 * t859 + 0.16081979498692535067e2 * t864 * t867 + 0.24415263074675393405e-3 * t434 * t416 * t571 * t205 + 0.10843581300301739842e-1 * t874 * t264 * t449 + 0.11696447245269292414e1 * t439 * t882 - 0.5848223622634646207e0 * t439 * t893 - 0.17315859105681463759e2 * t439 * t901 - 0.2e1 * t714; + const double t906 = t905 * t249; + const double t907 = t453 * t487; + const double t909 = t729 * t219; + const double t912 = t736 * t228; + const double t916 = t742 * t236; + const double t924 = t923 * t138; + const double t926 = t754 * t245 * t36; + const double t934 = t933 * t378; + const double t936 = t767 * t483 * t16; + const double t946 = 0.1e1 / t244 / t227; + const double t950 = 0.176e3 / 0.9e1 * t214 * t909 - 0.192e3 * t459 * t912 + 0.4096e4 / 0.9e1 * t915 * t916 + 0.2432e4 / 0.9e1 * t226 * t912 - 0.22016e5 / 0.9e1 * t465 * t916 + 0.8192e4 / 0.3e1 * t924 * t926 + 0.2304e4 * t234 * t916 - 0.30208e5 / 0.3e1 * t472 * t926 + 0.65536e5 / 0.3e1 * t934 * t936 + 0.7168e5 / 0.9e1 * t243 * t926 - 0.2048e6 / 0.3e1 * t481 * t936 + 0.131072e7 / 0.9e1 * t944 * t782 * t946; + const double t951 = t210 * t950; + const double t952 = 0.2e1 * t716 + 0.4e1 * t719 + t722 / 0.2e1 - 0.32e3 / 0.3e1 * t725 + 0.2e1 * t790 + t793 / 0.2e1 - 0.32e3 / 0.3e1 * t796 - t801 / 0.2e1 - 0.4e2 / 0.3e1 * t807 + 0.208e4 / 0.9e1 * t810 - 0.128e5 / 0.9e1 * t822 + t906 + 0.2e1 * t907 + t951; + const double t954 = t335 * t518; + const double t955 = t954 * t169; + const double t964 = t111 * t358; + const double t965 = t964 * t131; + const double t972 = t750 * t126; + const double t979 = t763 * t138; + const double t986 = t779 * rho; + const double t987 = 0.1e1 / t986; + const double t988 = t378 * t987; + const double t992 = -0.8e1 / 0.3e1 * t96 * t342 + 0.16e2 * t959 * t349 * t119 * sigma - 0.64e2 / 0.3e1 * t740 * t965 - 0.64e2 / 0.3e1 * t495 * t351 + 0.32e3 / 0.3e1 * t356 * t965 - 0.64e2 * t972 * t371 - 0.96e2 * t125 * t965 + 0.224e3 * t504 * t371 - 0.256e3 * t979 * t386 - 0.512e3 / 0.3e1 * t507 * t371 + 0.768e3 * t510 * t386 - 0.256e4 / 0.3e1 * t777 * t988 * t784; + const double t993 = t93 * t992; + const double t994 = t993 * t169; + const double t996 = t519 * sigma; + const double t997 = t996 * t396; + const double t999 = t519 * t399; + const double t1000 = t999 * t405; + const double t1002 = t336 * t523; + const double t1004 = t390 * t523; + const double t1006 = t150 * t396; + const double t1008 = t150 * t116; + const double t1009 = t1008 * t806; + const double t1011 = t453 * t549; + const double t1019 = t964 * t236; + const double t1026 = t923 * t126; + const double t1033 = t933 * t138; + const double t1043 = -0.16e2 / 0.3e1 * t213 * t455 + 0.64e2 * t1014 * t349 * t228 * sigma - 0.512e3 / 0.3e1 * t915 * t1019 - 0.256e3 / 0.3e1 * t531 * t460 + 0.256e4 / 0.3e1 * t465 * t1019 - 0.1024e4 * t1026 * t474 - 0.768e3 * t234 * t1019 + 0.3584e4 * t539 * t474 - 0.8192e4 * t1033 * t484 - 0.8192e4 / 0.3e1 * t542 * t474 + 0.24576e5 * t545 * t484 - 0.16384e6 / 0.3e1 * t944 * t988 * t946; + const double t1044 = t210 * t1043; + const double t1047 = t721 * t554; + const double t1049 = t792 * t554; + const double t1052 = t394 * t552 * t168; + const double t1053 = t393 * t1052; + const double t1055 = t393 * t809; + const double t1057 = t336 * t557; + const double t1058 = t1057 * t560; + const double t1060 = t390 * t557; + const double t1061 = t1060 * t560; + const double t1063 = t558 * t405; + const double t1065 = t157 * tau; + const double t1066 = t156 * t1065; + const double t1067 = t150 * t1066; + const double t1069 = 0.1e1 / t34 / t733; + const double t1071 = t36 * t1069 * t820; + const double t1072 = t1067 * t1071; + const double t1078 = sigma * t128; + const double t1079 = t1078 * t131; + const double t1086 = t750 * t111; + const double t1091 = t365 * t111; + const double t1094 = t763 * t126; + const double t1097 = t137 * t111; + const double t1100 = t377 * t126; + const double t1103 = 0.1e1 / t779; + const double t1104 = t138 * t1103; + const double t1108 = 0.32e3 * t777 * t1104 * t784 + 0.24e2 * t125 * t1079 - 0.32e2 * t356 * t1079 + 0.8e1 * t740 * t1079 + 0.24e2 * t1086 * t146 - 0.72e2 * t1091 * t146 + 0.96e2 * t1094 * t515 + 0.48e2 * t1097 * t146 + 0.4e1 * t110 * t120 - 0.256e3 * t1100 * t515 - 0.4e1 * t345 * t120; + const double t1109 = t93 * t1108; + const double t1111 = 0.2e1 * t1109 * t169; + const double t1113 = t519 * t523 / 0.2e1; + const double t1116 = t1078 * t236; + const double t1123 = t923 * t111; + const double t1128 = t471 * t111; + const double t1131 = t933 * t126; + const double t1134 = t242 * t111; + const double t1137 = t480 * t126; + const double t1143 = 0.2048e5 * t944 * t1104 * t946 + 0.192e3 * t234 * t1116 - 0.256e3 * t465 * t1116 + 0.64e2 * t915 * t1116 + 0.384e3 * t1123 * t246 - 0.1152e4 * t1128 * t246 + 0.3072e4 * t1131 * t546 + 0.768e3 * t1134 * t246 - 0.8192e4 * t1137 * t546 + 0.16e2 * t225 * t229 - 0.16e2 * t458 * t229; + const double t1144 = t210 * t1143; + const double t1147 = t996 * t554 / 0.4e1; + const double t1149 = t150 * t554 / 0.4e1; + const double t1150 = t519 * t557; + const double t1152 = 0.32e2 * t1150 * t560; + const double t1153 = t150 * t402; + const double t1155 = t16 * t163 * t167; + const double t1157 = 0.4e1 * t1153 * t1155; + const double t1159 = 0.1e1 / t1065; + const double t1161 = t151 * t1159 * t168; + const double t1163 = t393 * t1161 / 0.2e1; + const double t1164 = sigma * t402; + const double t1165 = t150 * t1164; + const double t1167 = t153 * t16 * t404; + const double t1169 = 0.8e1 * t1165 * t1167; + const double t1170 = t150 * t156; + const double t1172 = 0.32e2 * t1170 * t560; + const double t1174 = 0.1e1 / t34 / t347; + const double t1175 = t36 * t1174; + const double t1176 = t1175 * t820; + const double t1178 = 0.512e3 * t400 * t1176; + + + vrho = t171 + t250 + rho * ( 0.2e1 * t337 + 0.2e1 * t391 + t397 / 0.4e1 - 0.16e3 / 0.3e1 * t406 + t454 + t488 ); + vsigma = rho * ( t521 - t525 + t550 ); + vlapl = 0.e0; + vtau = rho * ( t556 + t562 ); + v2rho2 = 0.4e1 * t337 + 0.4e1 * t391 + t397 / 0.2e1 - 0.32e3 / 0.3e1 * t406 + 0.2e1 * t454 + 0.2e1 * t488 + rho * t952; + v2rhosigma = t521 - t525 + t550 + rho * ( 0.2e1 * t955 + 0.2e1 * t994 + t997 / 0.4e1 - 0.16e3 / 0.3e1 * t1000 - t1002 / 0.4e1 - t1004 / 0.4e1 + t1006 / 0.4e1 + 0.2e2 / 0.3e1 * t1009 + t1011 + t1044 ); + v2rholapl = 0.e0; + v2rhotau = t556 + t562 + rho * ( t1047 / 0.4e1 + t1049 / 0.4e1 - t1053 / 0.4e1 - 0.8e1 / 0.3e1 * t1055 + 0.32e2 * t1058 + 0.32e2 * t1061 - 0.32e3 / 0.3e1 * t1063 + 0.256e4 / 0.3e1 * t1072 ); + v2sigma2 = rho * ( t1111 - t1113 + t1144 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1147 + t1149 + t1152 - t1157 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1163 + t1169 + t1172 - t1178 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + + + eps = t171 + t291 + t389; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t499 = t101 * t116; + constexpr double t509 = t115 * t129; + constexpr double t518 = t128 * t140; + constexpr double t528 = t140 * gamma_ss; + constexpr double t529 = t139 * t528; + constexpr double t661 = t13 * t16; + constexpr double t748 = t356 * t365; + constexpr double t757 = t364 * t373; + constexpr double t766 = t372 * t381; + constexpr double t775 = t381 * gamma_ab; + constexpr double t776 = t380 * t775; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t390 = 0.1e1 / t313; + const double t391 = t3 * t390; + const double t392 = t5 - t391; + const double t393 = piecewise_functor_3( t8, 0.0, t392 ); + const double t396 = 0.1e1 / t18 / t4; + const double t397 = t396 * t20; + const double t399 = t17 * t397 * t26; + const double t400 = 0.17808333333333333333e-1 * t399; + const double t401 = 0.1e1 / t317; + const double t404 = piecewise_functor_3( t8, 0.0, -t401 * t392 / 0.3e1 ); + const double t406 = t17 * t21 * t404; + const double t408 = -t400 + 0.53425e-1 * t406; + const double t410 = 0.621814e-1 * t408 * t52; + const double t411 = t48 * t48; + const double t412 = 0.1e1 / t411; + const double t413 = t30 * t412; + const double t414 = 0.1e1 / t31; + const double t415 = t399 / 0.3e1; + const double t416 = -t415 + t406; + const double t417 = t414 * t416; + const double t419 = 0.29896666666666666667e0 * t399; + const double t421 = safe_math::sqrt( t28 ); + const double t422 = t421 * t416; + const double t425 = 0.1e1 / t40 / t4; + const double t426 = t425 * t42; + const double t428 = t39 * t426 * t44; + const double t429 = 0.82156666666666666667e-1 * t428; + const double t430 = t26 * t404; + const double t432 = t39 * t43 * t430; + const double t434 = 0.1898925e1 * t417 - t419 + 0.8969e0 * t406 + 0.3071625e0 * t422 - t429 + 0.24647e0 * t432; + const double t435 = 0.1e1 / t51; + const double t436 = t434 * t435; + const double t438 = 0.1e1 * t413 * t436; + const double t439 = 0.17123333333333333333e-1 * t399; + const double t441 = -t439 + 0.5137e-1 * t406; + const double t444 = t72 * t72; + const double t445 = 0.1e1 / t444; + const double t446 = t67 * t445; + const double t448 = 0.516475e0 * t399; + const double t451 = 0.104195e0 * t428; + const double t453 = 0.3529725e1 * t417 - t448 + 0.1549425e1 * t406 + 0.6311625e0 * t422 - t451 + 0.312585e0 * t432; + const double t454 = 0.1e1 / t75; + const double t455 = t453 * t454; + const double t458 = 0.92708333333333333333e-2 * t399; + const double t460 = -t458 + 0.278125e-1 * t406; + const double t461 = t460 * t89; + const double t463 = t85 * t85; + const double t464 = 0.1e1 / t463; + const double t465 = t80 * t464; + const double t467 = 0.301925e0 * t399; + const double t470 = 0.82785e-1 * t428; + const double t472 = 0.258925e1 * t417 - t467 + 0.905775e0 * t406 + 0.16504875e0 * t422 - t470 + 0.248355e0 * t432; + const double t473 = 0.1e1 / t88; + const double t474 = t472 * t473; + const double t481 = t65 * t80; + const double t483 = t464 * t472 * t473; + const double t486 = -t410 + t438 + t65 * ( -0.310907e-1 * t441 * t76 + 0.1e1 * t446 * t455 + t410 - t438 - 0.19751673498613801407e-1 * t461 + 0.5848223622634646207e0 * t465 * t474 ) + 0.19751673498613801407e-1 * t65 * t461 - 0.5848223622634646207e0 * t481 * t483; + const double t490 = piecewise_functor_3( t9, 0.0, t10 * t486 / 0.2e1 + t393 * t96 / 0.2e1 ); + const double t491 = t490 * t151; + const double t492 = t491 * t170; + const double t494 = 0.1e1 / t105 / t160; + const double t495 = sigma_aa * t494; + const double t500 = t119 * t103; + const double t502 = 0.1e1 / t104 / t500; + const double t504 = t118 * t502 * t125; + const double t510 = t132 * rho_a; + const double t511 = 0.1e1 / t510; + const double t513 = t131 * t511 * t136; + const double t519 = t132 * t160; + const double t521 = 0.1e1 / t105 / t519; + const double t523 = t142 * t521 * t148; + const double t530 = t142 * sigma_aa; + const double t531 = t132 * t500; + const double t533 = 0.1e1 / t104 / t531; + const double t536 = 0.1e1 / t147 / t111; + const double t540 = -0.8e1 / 0.3e1 * t102 * t495 * t112 + 0.8e1 / 0.3e1 * t499 * t504 - 0.16e2 / 0.3e1 * t117 * t504 + 0.16e2 / 0.3e1 * t509 * t513 - 0.8e1 * t130 * t513 + 0.8e1 * t518 * t523 - 0.32e2 / 0.3e1 * t141 * t523 + 0.32e2 / 0.3e1 * t529 * t530 * t533 * t536; + const double t541 = t99 * t540; + const double t542 = t541 * t170; + const double t543 = t152 * sigma_aa; + const double t544 = 0.1e1 / t103; + const double t546 = t544 * t155 * t169; + const double t547 = t543 * t546; + const double t548 = t547 / 0.8e1; + const double t549 = t152 * t158; + const double t551 = 0.1e1 / t104 / t119; + const double t553 = t165 * t168; + const double t554 = t159 * t551 * t553; + const double t555 = t549 * t554; + const double t556 = 0.4e2 / 0.3e1 * t555; + const double t557 = -t392; + const double t558 = piecewise_functor_3( t174, 0.0, t557 ); + const double t561 = t17 * t397 * t179; + const double t562 = 0.17808333333333333333e-1 * t561; + const double t563 = 0.1e1 / t319; + const double t566 = piecewise_functor_3( t174, 0.0, -t563 * t557 / 0.3e1 ); + const double t568 = t17 * t21 * t566; + const double t570 = -t562 + 0.53425e-1 * t568; + const double t572 = 0.621814e-1 * t570 * t197; + const double t573 = t193 * t193; + const double t574 = 0.1e1 / t573; + const double t575 = t183 * t574; + const double t576 = 0.1e1 / t184; + const double t577 = t561 / 0.3e1; + const double t578 = -t577 + t568; + const double t579 = t576 * t578; + const double t581 = 0.29896666666666666667e0 * t561; + const double t583 = safe_math::sqrt( t181 ); + const double t584 = t583 * t578; + const double t587 = t39 * t426 * t189; + const double t588 = 0.82156666666666666667e-1 * t587; + const double t589 = t179 * t566; + const double t591 = t39 * t43 * t589; + const double t593 = 0.1898925e1 * t579 - t581 + 0.8969e0 * t568 + 0.3071625e0 * t584 - t588 + 0.24647e0 * t591; + const double t594 = 0.1e1 / t196; + const double t595 = t593 * t594; + const double t597 = 0.1e1 * t575 * t595; + const double t598 = 0.17123333333333333333e-1 * t561; + const double t600 = -t598 + 0.5137e-1 * t568; + const double t603 = t206 * t206; + const double t604 = 0.1e1 / t603; + const double t605 = t201 * t604; + const double t607 = 0.516475e0 * t561; + const double t610 = 0.104195e0 * t587; + const double t612 = 0.3529725e1 * t579 - t607 + 0.1549425e1 * t568 + 0.6311625e0 * t584 - t610 + 0.312585e0 * t591; + const double t613 = 0.1e1 / t209; + const double t614 = t612 * t613; + const double t617 = 0.92708333333333333333e-2 * t561; + const double t619 = -t617 + 0.278125e-1 * t568; + const double t620 = t619 * t223; + const double t622 = t219 * t219; + const double t623 = 0.1e1 / t622; + const double t624 = t214 * t623; + const double t626 = 0.301925e0 * t561; + const double t629 = 0.82785e-1 * t587; + const double t631 = 0.258925e1 * t579 - t626 + 0.905775e0 * t568 + 0.16504875e0 * t584 - t629 + 0.248355e0 * t591; + const double t632 = 0.1e1 / t222; + const double t633 = t631 * t632; + const double t640 = t65 * t214; + const double t642 = t623 * t631 * t632; + const double t645 = -t572 + t597 + t65 * ( -0.310907e-1 * t600 * t210 + 0.1e1 * t605 * t614 + t572 - t597 - 0.19751673498613801407e-1 * t620 + 0.5848223622634646207e0 * t624 * t633 ) + 0.19751673498613801407e-1 * t65 * t620 - 0.5848223622634646207e0 * t640 * t642; + const double t649 = piecewise_functor_3( t175, 0.0, t176 * t645 / 0.2e1 + t558 * t230 / 0.2e1 ); + const double t650 = t649 * t273; + const double t651 = t650 * t290; + const double t652 = t16 * t396; + const double t655 = 0.11073470983333333333e-2 * t14 * t652 * t308; + const double t656 = t304 * t304; + const double t657 = 0.1e1 / t656; + const double t658 = t295 * t657; + const double t660 = 0.1e1 / t296 * t11; + const double t662 = t661 * t396; + const double t663 = t660 * t662; + const double t665 = t14 * t652; + const double t667 = safe_math::sqrt( t293 ); + const double t668 = t667 * t11; + const double t669 = t668 * t662; + const double t672 = t38 * t15 * t425; + const double t674 = -0.632975e0 * t663 - 0.29896666666666666667e0 * t665 - 0.1023875e0 * t669 - 0.82156666666666666667e-1 * t672; + const double t675 = 0.1e1 / t307; + const double t676 = t674 * t675; + const double t678 = 0.1e1 * t658 * t676; + const double t679 = t311 * t3; + const double t680 = t679 * t315; + const double t682 = 0.4e1 * t680 * t350; + const double t683 = t314 * t4; + const double t684 = 0.1e1 / t683; + const double t685 = t312 * t684; + const double t687 = 0.4e1 * t685 * t350; + const double t690 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t392 ); + const double t693 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t557 ); + const double t695 = ( t690 + t693 ) * t64; + const double t696 = t695 * t349; + const double t701 = t329 * t329; + const double t702 = 0.1e1 / t701; + const double t703 = t324 * t702; + const double t708 = -0.1176575e1 * t663 - 0.516475e0 * t665 - 0.2103875e0 * t669 - 0.104195e0 * t672; + const double t709 = 0.1e1 / t332; + const double t710 = t708 * t709; + const double t716 = t342 * t342; + const double t717 = 0.1e1 / t716; + const double t718 = t337 * t717; + const double t723 = -0.86308333333333333334e0 * t663 - 0.301925e0 * t665 - 0.5501625e-1 * t669 - 0.82785e-1 * t672; + const double t724 = 0.1e1 / t345; + const double t725 = t723 * t724; + const double t728 = 0.53237641966666666666e-3 * t14 * t652 * t333 + 0.1e1 * t703 * t710 - t655 - t678 + 0.18311447306006545054e-3 * t14 * t652 * t346 + 0.5848223622634646207e0 * t718 * t725; + const double t729 = t322 * t728; + const double t730 = t316 * t729; + const double t733 = t322 * t11; + const double t735 = t661 * t396 * t346; + const double t737 = 0.18311447306006545054e-3 * t733 * t735; + const double t738 = t322 * t337; + const double t740 = t717 * t723 * t724; + const double t742 = 0.5848223622634646207e0 * t738 * t740; + const double t743 = t655 + t678 + t682 - t687 + t316 * t696 + t730 + 0.19751673498613801407e-1 * t695 * t347 - t737 - t742 - t490 - t649; + const double t744 = t743 * t388; + const double t749 = t748 * t358; + const double t750 = t369 * sigma_aa; + const double t751 = t750 * t494; + const double t754 = t366 * t358; + const double t758 = t757 * t367; + const double t759 = t377 * sigma_aa; + const double t760 = t759 * t494; + const double t763 = t374 * t367; + const double t767 = t766 * t375; + const double t768 = t385 * sigma_aa; + const double t769 = t768 * t494; + const double t772 = t382 * t375; + const double t777 = t776 * t383; + const double t779 = 0.1e1 / t384 / t360; + const double t780 = t779 * sigma_aa; + const double t784 = -0.8e1 / 0.3e1 * t357 * t495 * t361 + 0.8e1 / 0.3e1 * t749 * t751 - 0.16e2 / 0.3e1 * t754 * t751 + 0.16e2 / 0.3e1 * t758 * t760 - 0.8e1 * t763 * t760 + 0.8e1 * t767 * t769 - 0.32e2 / 0.3e1 * t772 * t769 + 0.32e2 / 0.3e1 * t777 * t780 * t494; + const double t785 = t354 * t784; + const double t788 = -t5 - t391; + const double t789 = piecewise_functor_3( t8, 0.0, t788 ); + const double t793 = piecewise_functor_3( t8, 0.0, -t401 * t788 / 0.3e1 ); + const double t795 = t17 * t21 * t793; + const double t797 = -t400 + 0.53425e-1 * t795; + const double t799 = 0.621814e-1 * t797 * t52; + const double t800 = -t415 + t795; + const double t801 = t414 * t800; + const double t804 = t421 * t800; + const double t806 = t26 * t793; + const double t808 = t39 * t43 * t806; + const double t810 = 0.1898925e1 * t801 - t419 + 0.8969e0 * t795 + 0.3071625e0 * t804 - t429 + 0.24647e0 * t808; + const double t811 = t810 * t435; + const double t813 = 0.1e1 * t413 * t811; + const double t815 = -t439 + 0.5137e-1 * t795; + const double t822 = 0.3529725e1 * t801 - t448 + 0.1549425e1 * t795 + 0.6311625e0 * t804 - t451 + 0.312585e0 * t808; + const double t823 = t822 * t454; + const double t827 = -t458 + 0.278125e-1 * t795; + const double t828 = t827 * t89; + const double t834 = 0.258925e1 * t801 - t467 + 0.905775e0 * t795 + 0.16504875e0 * t804 - t470 + 0.248355e0 * t808; + const double t835 = t834 * t473; + const double t843 = t464 * t834 * t473; + const double t846 = -t799 + t813 + t65 * ( -0.310907e-1 * t815 * t76 + 0.1e1 * t446 * t823 + t799 - t813 - 0.19751673498613801407e-1 * t828 + 0.5848223622634646207e0 * t465 * t835 ) + 0.19751673498613801407e-1 * t65 * t828 - 0.5848223622634646207e0 * t481 * t843; + const double t850 = piecewise_functor_3( t9, 0.0, t10 * t846 / 0.2e1 + t789 * t96 / 0.2e1 ); + const double t851 = t850 * t151; + const double t852 = t851 * t170; + const double t853 = -t788; + const double t854 = piecewise_functor_3( t174, 0.0, t853 ); + const double t858 = piecewise_functor_3( t174, 0.0, -t563 * t853 / 0.3e1 ); + const double t860 = t17 * t21 * t858; + const double t862 = -t562 + 0.53425e-1 * t860; + const double t864 = 0.621814e-1 * t862 * t197; + const double t865 = -t577 + t860; + const double t866 = t576 * t865; + const double t869 = t583 * t865; + const double t871 = t179 * t858; + const double t873 = t39 * t43 * t871; + const double t875 = 0.1898925e1 * t866 - t581 + 0.8969e0 * t860 + 0.3071625e0 * t869 - t588 + 0.24647e0 * t873; + const double t876 = t875 * t594; + const double t878 = 0.1e1 * t575 * t876; + const double t880 = -t598 + 0.5137e-1 * t860; + const double t887 = 0.3529725e1 * t866 - t607 + 0.1549425e1 * t860 + 0.6311625e0 * t869 - t610 + 0.312585e0 * t873; + const double t888 = t887 * t613; + const double t892 = -t617 + 0.278125e-1 * t860; + const double t893 = t892 * t223; + const double t899 = 0.258925e1 * t866 - t626 + 0.905775e0 * t860 + 0.16504875e0 * t869 - t629 + 0.248355e0 * t873; + const double t900 = t899 * t632; + const double t908 = t623 * t899 * t632; + const double t911 = -t864 + t878 + t65 * ( -0.310907e-1 * t880 * t210 + 0.1e1 * t605 * t888 + t864 - t878 - 0.19751673498613801407e-1 * t893 + 0.5848223622634646207e0 * t624 * t900 ) + 0.19751673498613801407e-1 * t65 * t893 - 0.5848223622634646207e0 * t640 * t908; + const double t915 = piecewise_functor_3( t175, 0.0, t176 * t911 / 0.2e1 + t854 * t230 / 0.2e1 ); + const double t916 = t915 * t273; + const double t917 = t916 * t290; + const double t919 = 0.1e1 / t236 / t282; + const double t920 = sigma_bb * t919; + const double t924 = t247 * t234; + const double t926 = 0.1e1 / t235 / t924; + const double t928 = t246 * t926 * t253; + const double t933 = t257 * rho_b; + const double t934 = 0.1e1 / t933; + const double t936 = t256 * t934 * t261; + const double t941 = t257 * t282; + const double t943 = 0.1e1 / t236 / t941; + const double t945 = t264 * t943 * t270; + const double t950 = t264 * sigma_bb; + const double t951 = t257 * t924; + const double t953 = 0.1e1 / t235 / t951; + const double t956 = 0.1e1 / t269 / t242; + const double t960 = -0.8e1 / 0.3e1 * t102 * t920 * t243 + 0.8e1 / 0.3e1 * t499 * t928 - 0.16e2 / 0.3e1 * t117 * t928 + 0.16e2 / 0.3e1 * t509 * t936 - 0.8e1 * t130 * t936 + 0.8e1 * t518 * t945 - 0.32e2 / 0.3e1 * t141 * t945 + 0.32e2 / 0.3e1 * t529 * t950 * t953 * t956; + const double t961 = t233 * t960; + const double t962 = t961 * t290; + const double t963 = t274 * sigma_bb; + const double t964 = 0.1e1 / t234; + const double t966 = t964 * t277 * t289; + const double t967 = t963 * t966; + const double t968 = t967 / 0.8e1; + const double t969 = t274 * t280; + const double t971 = 0.1e1 / t235 / t247; + const double t973 = t165 * t288; + const double t974 = t281 * t971 * t973; + const double t975 = t969 * t974; + const double t976 = 0.4e2 / 0.3e1 * t975; + const double t979 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t788 ); + const double t982 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t853 ); + const double t984 = ( t979 + t982 ) * t64; + const double t985 = t984 * t349; + const double t989 = t655 + t678 - t682 - t687 + t316 * t985 + t730 + 0.19751673498613801407e-1 * t984 * t347 - t737 - t742 - t850 - t915; + const double t990 = t989 * t388; + const double t994 = t369 * sigma_bb; + const double t995 = t994 * t919; + const double t1000 = t377 * sigma_bb; + const double t1001 = t1000 * t919; + const double t1006 = t385 * sigma_bb; + const double t1007 = t1006 * t919; + const double t1012 = t779 * sigma_bb; + const double t1016 = -0.8e1 / 0.3e1 * t357 * t920 * t361 + 0.8e1 / 0.3e1 * t749 * t995 - 0.16e2 / 0.3e1 * t754 * t995 + 0.16e2 / 0.3e1 * t758 * t1001 - 0.8e1 * t763 * t1001 + 0.8e1 * t767 * t1007 - 0.32e2 / 0.3e1 * t772 * t1007 + 0.32e2 / 0.3e1 * t777 * t1012 * t919; + const double t1017 = t354 * t1016; + const double t1023 = sigma_aa * t122 * t125; + const double t1028 = t118 * t133 * t136; + const double t1034 = t131 * t145 * t148; + const double t1039 = t132 * t120; + const double t1041 = 0.1e1 / t104 / t1039; + const double t1046 = -0.4e1 * t529 * t142 * t1041 * t536 + t102 * t107 * t112 + 0.2e1 * t117 * t1023 - t499 * t1023 + 0.3e1 * t130 * t1028 - 0.2e1 * t509 * t1028 + 0.4e1 * t141 * t1034 - 0.3e1 * t518 * t1034; + const double t1047 = t99 * t1046; + const double t1048 = t1047 * t170; + const double t1050 = t153 * t155 * t169; + const double t1052 = t152 * t1050 / 0.8e1; + const double t1055 = t358 * t369; + const double t1056 = t1055 * t107; + const double t1060 = t367 * t377; + const double t1061 = t1060 * t107; + const double t1066 = t375 * t385; + const double t1067 = t1066 * t107; + const double t1072 = t383 * t779; + const double t1076 = -0.4e1 * t776 * t1072 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1056 - t748 * t1056 + 0.3e1 * t374 * t1061 - 0.2e1 * t757 * t1061 + 0.4e1 * t382 * t1067 - 0.3e1 * t766 * t1067; + const double t1077 = t354 * t1076; + const double t1082 = sigma_bb * t250 * t253; + const double t1087 = t246 * t258 * t261; + const double t1093 = t256 * t267 * t270; + const double t1098 = t257 * t248; + const double t1100 = 0.1e1 / t235 / t1098; + const double t1105 = -0.4e1 * t529 * t264 * t1100 * t956 + t102 * t238 * t243 + 0.2e1 * t117 * t1082 - t499 * t1082 + 0.3e1 * t130 * t1087 - 0.2e1 * t509 * t1087 + 0.4e1 * t141 * t1093 - 0.3e1 * t518 * t1093; + const double t1106 = t233 * t1105; + const double t1107 = t1106 * t290; + const double t1109 = t275 * t277 * t289; + const double t1111 = t274 * t1109 / 0.8e1; + const double t1114 = t1055 * t238; + const double t1118 = t1060 * t238; + const double t1123 = t1066 * t238; + const double t1131 = -0.4e1 * t776 * t1072 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1114 - t748 * t1114 + 0.3e1 * t374 * t1118 - 0.2e1 * t757 * t1118 + 0.4e1 * t382 * t1123 - 0.3e1 * t766 * t1123; + const double t1132 = t354 * t1131; + const double t1134 = 0.1e1 / t159; + const double t1136 = t153 * t1134 * t169; + const double t1138 = t543 * t1136 / 0.8e1; + const double t1140 = tau_a * t162 * t553; + const double t1142 = 0.8e1 * t549 * t1140; + const double t1144 = 0.1e1 / t281; + const double t1146 = t275 * t1144 * t289; + const double t1148 = t963 * t1146 / 0.8e1; + const double t1150 = tau_b * t284 * t973; + const double t1152 = 0.8e1 * t969 * t1150; + + + eps = t171 + t291 + t389; + vrho_a = t171 + t291 + t389 + t4 * ( t492 + t542 + t548 - t556 + t651 + t744 + t785 ); + vrho_b = t171 + t291 + t389 + t4 * ( t852 + t917 + t962 + t968 - t976 + t990 + t1017 ); + vsigma_aa = t4 * ( t1048 - t1052 + t1077 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1107 - t1111 + t1132 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1138 + t1142 ); + vtau_b = t4 * ( t1148 + t1152 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t499 = t101 * t116; + constexpr double t509 = t115 * t129; + constexpr double t518 = t128 * t140; + constexpr double t528 = t140 * gamma_ss; + constexpr double t529 = t139 * t528; + constexpr double t661 = t13 * t16; + constexpr double t748 = t356 * t365; + constexpr double t757 = t364 * t373; + constexpr double t766 = t372 * t381; + constexpr double t775 = t381 * gamma_ab; + constexpr double t776 = t380 * t775; + constexpr double t1378 = t101 * t129; + constexpr double t1388 = t115 * t140; + constexpr double t1400 = t128 * t528; + constexpr double t1412 = t140 * t116; + constexpr double t1413 = t139 * t1412; + constexpr double t1450 = t164 * t164; + constexpr double t1451 = 0.1e1 / t1450; + constexpr double t1651 = t37 * t15; + constexpr double t1838 = t356 * t373; + constexpr double t1854 = t364 * t381; + constexpr double t1871 = t372 * t775; + constexpr double t1888 = t381 * t365; + constexpr double t1889 = t380 * t1888; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t390 = 0.1e1 / t313; + const double t391 = t3 * t390; + const double t392 = t5 - t391; + const double t393 = piecewise_functor_3( t8, 0.0, t392 ); + const double t396 = 0.1e1 / t18 / t4; + const double t397 = t396 * t20; + const double t399 = t17 * t397 * t26; + const double t400 = 0.17808333333333333333e-1 * t399; + const double t401 = 0.1e1 / t317; + const double t404 = piecewise_functor_3( t8, 0.0, -t401 * t392 / 0.3e1 ); + const double t406 = t17 * t21 * t404; + const double t408 = -t400 + 0.53425e-1 * t406; + const double t410 = 0.621814e-1 * t408 * t52; + const double t411 = t48 * t48; + const double t412 = 0.1e1 / t411; + const double t413 = t30 * t412; + const double t414 = 0.1e1 / t31; + const double t415 = t399 / 0.3e1; + const double t416 = -t415 + t406; + const double t417 = t414 * t416; + const double t419 = 0.29896666666666666667e0 * t399; + const double t421 = safe_math::sqrt( t28 ); + const double t422 = t421 * t416; + const double t425 = 0.1e1 / t40 / t4; + const double t426 = t425 * t42; + const double t428 = t39 * t426 * t44; + const double t429 = 0.82156666666666666667e-1 * t428; + const double t430 = t26 * t404; + const double t432 = t39 * t43 * t430; + const double t434 = 0.1898925e1 * t417 - t419 + 0.8969e0 * t406 + 0.3071625e0 * t422 - t429 + 0.24647e0 * t432; + const double t435 = 0.1e1 / t51; + const double t436 = t434 * t435; + const double t438 = 0.1e1 * t413 * t436; + const double t439 = 0.17123333333333333333e-1 * t399; + const double t441 = -t439 + 0.5137e-1 * t406; + const double t444 = t72 * t72; + const double t445 = 0.1e1 / t444; + const double t446 = t67 * t445; + const double t448 = 0.516475e0 * t399; + const double t451 = 0.104195e0 * t428; + const double t453 = 0.3529725e1 * t417 - t448 + 0.1549425e1 * t406 + 0.6311625e0 * t422 - t451 + 0.312585e0 * t432; + const double t454 = 0.1e1 / t75; + const double t455 = t453 * t454; + const double t458 = 0.92708333333333333333e-2 * t399; + const double t460 = -t458 + 0.278125e-1 * t406; + const double t461 = t460 * t89; + const double t463 = t85 * t85; + const double t464 = 0.1e1 / t463; + const double t465 = t80 * t464; + const double t467 = 0.301925e0 * t399; + const double t470 = 0.82785e-1 * t428; + const double t472 = 0.258925e1 * t417 - t467 + 0.905775e0 * t406 + 0.16504875e0 * t422 - t470 + 0.248355e0 * t432; + const double t473 = 0.1e1 / t88; + const double t474 = t472 * t473; + const double t481 = t65 * t80; + const double t483 = t464 * t472 * t473; + const double t486 = -t410 + t438 + t65 * ( -0.310907e-1 * t441 * t76 + 0.1e1 * t446 * t455 + t410 - t438 - 0.19751673498613801407e-1 * t461 + 0.5848223622634646207e0 * t465 * t474 ) + 0.19751673498613801407e-1 * t65 * t461 - 0.5848223622634646207e0 * t481 * t483; + const double t490 = piecewise_functor_3( t9, 0.0, t10 * t486 / 0.2e1 + t393 * t96 / 0.2e1 ); + const double t491 = t490 * t151; + const double t492 = t491 * t170; + const double t494 = 0.1e1 / t105 / t160; + const double t495 = sigma_aa * t494; + const double t500 = t119 * t103; + const double t502 = 0.1e1 / t104 / t500; + const double t504 = t118 * t502 * t125; + const double t510 = t132 * rho_a; + const double t511 = 0.1e1 / t510; + const double t513 = t131 * t511 * t136; + const double t519 = t132 * t160; + const double t521 = 0.1e1 / t105 / t519; + const double t523 = t142 * t521 * t148; + const double t530 = t142 * sigma_aa; + const double t531 = t132 * t500; + const double t533 = 0.1e1 / t104 / t531; + const double t536 = 0.1e1 / t147 / t111; + const double t540 = -0.8e1 / 0.3e1 * t102 * t495 * t112 + 0.8e1 / 0.3e1 * t499 * t504 - 0.16e2 / 0.3e1 * t117 * t504 + 0.16e2 / 0.3e1 * t509 * t513 - 0.8e1 * t130 * t513 + 0.8e1 * t518 * t523 - 0.32e2 / 0.3e1 * t141 * t523 + 0.32e2 / 0.3e1 * t529 * t530 * t533 * t536; + const double t541 = t99 * t540; + const double t542 = t541 * t170; + const double t543 = t152 * sigma_aa; + const double t544 = 0.1e1 / t103; + const double t546 = t544 * t155 * t169; + const double t547 = t543 * t546; + const double t548 = t547 / 0.8e1; + const double t549 = t152 * t158; + const double t551 = 0.1e1 / t104 / t119; + const double t553 = t165 * t168; + const double t554 = t159 * t551 * t553; + const double t555 = t549 * t554; + const double t556 = 0.4e2 / 0.3e1 * t555; + const double t557 = -t392; + const double t558 = piecewise_functor_3( t174, 0.0, t557 ); + const double t561 = t17 * t397 * t179; + const double t562 = 0.17808333333333333333e-1 * t561; + const double t563 = 0.1e1 / t319; + const double t566 = piecewise_functor_3( t174, 0.0, -t563 * t557 / 0.3e1 ); + const double t568 = t17 * t21 * t566; + const double t570 = -t562 + 0.53425e-1 * t568; + const double t572 = 0.621814e-1 * t570 * t197; + const double t573 = t193 * t193; + const double t574 = 0.1e1 / t573; + const double t575 = t183 * t574; + const double t576 = 0.1e1 / t184; + const double t577 = t561 / 0.3e1; + const double t578 = -t577 + t568; + const double t579 = t576 * t578; + const double t581 = 0.29896666666666666667e0 * t561; + const double t583 = safe_math::sqrt( t181 ); + const double t584 = t583 * t578; + const double t587 = t39 * t426 * t189; + const double t588 = 0.82156666666666666667e-1 * t587; + const double t589 = t179 * t566; + const double t591 = t39 * t43 * t589; + const double t593 = 0.1898925e1 * t579 - t581 + 0.8969e0 * t568 + 0.3071625e0 * t584 - t588 + 0.24647e0 * t591; + const double t594 = 0.1e1 / t196; + const double t595 = t593 * t594; + const double t597 = 0.1e1 * t575 * t595; + const double t598 = 0.17123333333333333333e-1 * t561; + const double t600 = -t598 + 0.5137e-1 * t568; + const double t603 = t206 * t206; + const double t604 = 0.1e1 / t603; + const double t605 = t201 * t604; + const double t607 = 0.516475e0 * t561; + const double t610 = 0.104195e0 * t587; + const double t612 = 0.3529725e1 * t579 - t607 + 0.1549425e1 * t568 + 0.6311625e0 * t584 - t610 + 0.312585e0 * t591; + const double t613 = 0.1e1 / t209; + const double t614 = t612 * t613; + const double t617 = 0.92708333333333333333e-2 * t561; + const double t619 = -t617 + 0.278125e-1 * t568; + const double t620 = t619 * t223; + const double t622 = t219 * t219; + const double t623 = 0.1e1 / t622; + const double t624 = t214 * t623; + const double t626 = 0.301925e0 * t561; + const double t629 = 0.82785e-1 * t587; + const double t631 = 0.258925e1 * t579 - t626 + 0.905775e0 * t568 + 0.16504875e0 * t584 - t629 + 0.248355e0 * t591; + const double t632 = 0.1e1 / t222; + const double t633 = t631 * t632; + const double t640 = t65 * t214; + const double t642 = t623 * t631 * t632; + const double t645 = -t572 + t597 + t65 * ( -0.310907e-1 * t600 * t210 + 0.1e1 * t605 * t614 + t572 - t597 - 0.19751673498613801407e-1 * t620 + 0.5848223622634646207e0 * t624 * t633 ) + 0.19751673498613801407e-1 * t65 * t620 - 0.5848223622634646207e0 * t640 * t642; + const double t649 = piecewise_functor_3( t175, 0.0, t176 * t645 / 0.2e1 + t558 * t230 / 0.2e1 ); + const double t650 = t649 * t273; + const double t651 = t650 * t290; + const double t652 = t16 * t396; + const double t655 = 0.11073470983333333333e-2 * t14 * t652 * t308; + const double t656 = t304 * t304; + const double t657 = 0.1e1 / t656; + const double t658 = t295 * t657; + const double t660 = 0.1e1 / t296 * t11; + const double t662 = t661 * t396; + const double t663 = t660 * t662; + const double t665 = t14 * t652; + const double t667 = safe_math::sqrt( t293 ); + const double t668 = t667 * t11; + const double t669 = t668 * t662; + const double t672 = t38 * t15 * t425; + const double t674 = -0.632975e0 * t663 - 0.29896666666666666667e0 * t665 - 0.1023875e0 * t669 - 0.82156666666666666667e-1 * t672; + const double t675 = 0.1e1 / t307; + const double t676 = t674 * t675; + const double t678 = 0.1e1 * t658 * t676; + const double t679 = t311 * t3; + const double t680 = t679 * t315; + const double t682 = 0.4e1 * t680 * t350; + const double t683 = t314 * t4; + const double t684 = 0.1e1 / t683; + const double t685 = t312 * t684; + const double t687 = 0.4e1 * t685 * t350; + const double t690 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t392 ); + const double t693 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t557 ); + const double t695 = ( t690 + t693 ) * t64; + const double t696 = t695 * t349; + const double t701 = t329 * t329; + const double t702 = 0.1e1 / t701; + const double t703 = t324 * t702; + const double t708 = -0.1176575e1 * t663 - 0.516475e0 * t665 - 0.2103875e0 * t669 - 0.104195e0 * t672; + const double t709 = 0.1e1 / t332; + const double t710 = t708 * t709; + const double t716 = t342 * t342; + const double t717 = 0.1e1 / t716; + const double t718 = t337 * t717; + const double t723 = -0.86308333333333333334e0 * t663 - 0.301925e0 * t665 - 0.5501625e-1 * t669 - 0.82785e-1 * t672; + const double t724 = 0.1e1 / t345; + const double t725 = t723 * t724; + const double t728 = 0.53237641966666666666e-3 * t14 * t652 * t333 + 0.1e1 * t703 * t710 - t655 - t678 + 0.18311447306006545054e-3 * t14 * t652 * t346 + 0.5848223622634646207e0 * t718 * t725; + const double t729 = t322 * t728; + const double t730 = t316 * t729; + const double t733 = t322 * t11; + const double t735 = t661 * t396 * t346; + const double t737 = 0.18311447306006545054e-3 * t733 * t735; + const double t738 = t322 * t337; + const double t740 = t717 * t723 * t724; + const double t742 = 0.5848223622634646207e0 * t738 * t740; + const double t743 = t655 + t678 + t682 - t687 + t316 * t696 + t730 + 0.19751673498613801407e-1 * t695 * t347 - t737 - t742 - t490 - t649; + const double t744 = t743 * t388; + const double t749 = t748 * t358; + const double t750 = t369 * sigma_aa; + const double t751 = t750 * t494; + const double t754 = t366 * t358; + const double t758 = t757 * t367; + const double t759 = t377 * sigma_aa; + const double t760 = t759 * t494; + const double t763 = t374 * t367; + const double t767 = t766 * t375; + const double t768 = t385 * sigma_aa; + const double t769 = t768 * t494; + const double t772 = t382 * t375; + const double t777 = t776 * t383; + const double t779 = 0.1e1 / t384 / t360; + const double t780 = t779 * sigma_aa; + const double t784 = -0.8e1 / 0.3e1 * t357 * t495 * t361 + 0.8e1 / 0.3e1 * t749 * t751 - 0.16e2 / 0.3e1 * t754 * t751 + 0.16e2 / 0.3e1 * t758 * t760 - 0.8e1 * t763 * t760 + 0.8e1 * t767 * t769 - 0.32e2 / 0.3e1 * t772 * t769 + 0.32e2 / 0.3e1 * t777 * t780 * t494; + const double t785 = t354 * t784; + const double t788 = -t5 - t391; + const double t789 = piecewise_functor_3( t8, 0.0, t788 ); + const double t793 = piecewise_functor_3( t8, 0.0, -t401 * t788 / 0.3e1 ); + const double t795 = t17 * t21 * t793; + const double t797 = -t400 + 0.53425e-1 * t795; + const double t799 = 0.621814e-1 * t797 * t52; + const double t800 = -t415 + t795; + const double t801 = t414 * t800; + const double t804 = t421 * t800; + const double t806 = t26 * t793; + const double t808 = t39 * t43 * t806; + const double t810 = 0.1898925e1 * t801 - t419 + 0.8969e0 * t795 + 0.3071625e0 * t804 - t429 + 0.24647e0 * t808; + const double t811 = t810 * t435; + const double t813 = 0.1e1 * t413 * t811; + const double t815 = -t439 + 0.5137e-1 * t795; + const double t822 = 0.3529725e1 * t801 - t448 + 0.1549425e1 * t795 + 0.6311625e0 * t804 - t451 + 0.312585e0 * t808; + const double t823 = t822 * t454; + const double t827 = -t458 + 0.278125e-1 * t795; + const double t828 = t827 * t89; + const double t834 = 0.258925e1 * t801 - t467 + 0.905775e0 * t795 + 0.16504875e0 * t804 - t470 + 0.248355e0 * t808; + const double t835 = t834 * t473; + const double t843 = t464 * t834 * t473; + const double t846 = -t799 + t813 + t65 * ( -0.310907e-1 * t815 * t76 + 0.1e1 * t446 * t823 + t799 - t813 - 0.19751673498613801407e-1 * t828 + 0.5848223622634646207e0 * t465 * t835 ) + 0.19751673498613801407e-1 * t65 * t828 - 0.5848223622634646207e0 * t481 * t843; + const double t850 = piecewise_functor_3( t9, 0.0, t10 * t846 / 0.2e1 + t789 * t96 / 0.2e1 ); + const double t851 = t850 * t151; + const double t852 = t851 * t170; + const double t853 = -t788; + const double t854 = piecewise_functor_3( t174, 0.0, t853 ); + const double t858 = piecewise_functor_3( t174, 0.0, -t563 * t853 / 0.3e1 ); + const double t860 = t17 * t21 * t858; + const double t862 = -t562 + 0.53425e-1 * t860; + const double t864 = 0.621814e-1 * t862 * t197; + const double t865 = -t577 + t860; + const double t866 = t576 * t865; + const double t869 = t583 * t865; + const double t871 = t179 * t858; + const double t873 = t39 * t43 * t871; + const double t875 = 0.1898925e1 * t866 - t581 + 0.8969e0 * t860 + 0.3071625e0 * t869 - t588 + 0.24647e0 * t873; + const double t876 = t875 * t594; + const double t878 = 0.1e1 * t575 * t876; + const double t880 = -t598 + 0.5137e-1 * t860; + const double t887 = 0.3529725e1 * t866 - t607 + 0.1549425e1 * t860 + 0.6311625e0 * t869 - t610 + 0.312585e0 * t873; + const double t888 = t887 * t613; + const double t892 = -t617 + 0.278125e-1 * t860; + const double t893 = t892 * t223; + const double t899 = 0.258925e1 * t866 - t626 + 0.905775e0 * t860 + 0.16504875e0 * t869 - t629 + 0.248355e0 * t873; + const double t900 = t899 * t632; + const double t908 = t623 * t899 * t632; + const double t911 = -t864 + t878 + t65 * ( -0.310907e-1 * t880 * t210 + 0.1e1 * t605 * t888 + t864 - t878 - 0.19751673498613801407e-1 * t893 + 0.5848223622634646207e0 * t624 * t900 ) + 0.19751673498613801407e-1 * t65 * t893 - 0.5848223622634646207e0 * t640 * t908; + const double t915 = piecewise_functor_3( t175, 0.0, t176 * t911 / 0.2e1 + t854 * t230 / 0.2e1 ); + const double t916 = t915 * t273; + const double t917 = t916 * t290; + const double t919 = 0.1e1 / t236 / t282; + const double t920 = sigma_bb * t919; + const double t924 = t247 * t234; + const double t926 = 0.1e1 / t235 / t924; + const double t928 = t246 * t926 * t253; + const double t933 = t257 * rho_b; + const double t934 = 0.1e1 / t933; + const double t936 = t256 * t934 * t261; + const double t941 = t257 * t282; + const double t943 = 0.1e1 / t236 / t941; + const double t945 = t264 * t943 * t270; + const double t950 = t264 * sigma_bb; + const double t951 = t257 * t924; + const double t953 = 0.1e1 / t235 / t951; + const double t956 = 0.1e1 / t269 / t242; + const double t960 = -0.8e1 / 0.3e1 * t102 * t920 * t243 + 0.8e1 / 0.3e1 * t499 * t928 - 0.16e2 / 0.3e1 * t117 * t928 + 0.16e2 / 0.3e1 * t509 * t936 - 0.8e1 * t130 * t936 + 0.8e1 * t518 * t945 - 0.32e2 / 0.3e1 * t141 * t945 + 0.32e2 / 0.3e1 * t529 * t950 * t953 * t956; + const double t961 = t233 * t960; + const double t962 = t961 * t290; + const double t963 = t274 * sigma_bb; + const double t964 = 0.1e1 / t234; + const double t966 = t964 * t277 * t289; + const double t967 = t963 * t966; + const double t968 = t967 / 0.8e1; + const double t969 = t274 * t280; + const double t971 = 0.1e1 / t235 / t247; + const double t973 = t165 * t288; + const double t974 = t281 * t971 * t973; + const double t975 = t969 * t974; + const double t976 = 0.4e2 / 0.3e1 * t975; + const double t979 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t788 ); + const double t982 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t853 ); + const double t984 = ( t979 + t982 ) * t64; + const double t985 = t984 * t349; + const double t989 = t655 + t678 - t682 - t687 + t316 * t985 + t730 + 0.19751673498613801407e-1 * t984 * t347 - t737 - t742 - t850 - t915; + const double t990 = t989 * t388; + const double t994 = t369 * sigma_bb; + const double t995 = t994 * t919; + const double t1000 = t377 * sigma_bb; + const double t1001 = t1000 * t919; + const double t1006 = t385 * sigma_bb; + const double t1007 = t1006 * t919; + const double t1012 = t779 * sigma_bb; + const double t1016 = -0.8e1 / 0.3e1 * t357 * t920 * t361 + 0.8e1 / 0.3e1 * t749 * t995 - 0.16e2 / 0.3e1 * t754 * t995 + 0.16e2 / 0.3e1 * t758 * t1001 - 0.8e1 * t763 * t1001 + 0.8e1 * t767 * t1007 - 0.32e2 / 0.3e1 * t772 * t1007 + 0.32e2 / 0.3e1 * t777 * t1012 * t919; + const double t1017 = t354 * t1016; + const double t1023 = sigma_aa * t122 * t125; + const double t1028 = t118 * t133 * t136; + const double t1034 = t131 * t145 * t148; + const double t1039 = t132 * t120; + const double t1041 = 0.1e1 / t104 / t1039; + const double t1046 = -0.4e1 * t529 * t142 * t1041 * t536 + t102 * t107 * t112 + 0.2e1 * t117 * t1023 - t499 * t1023 + 0.3e1 * t130 * t1028 - 0.2e1 * t509 * t1028 + 0.4e1 * t141 * t1034 - 0.3e1 * t518 * t1034; + const double t1047 = t99 * t1046; + const double t1048 = t1047 * t170; + const double t1050 = t153 * t155 * t169; + const double t1052 = t152 * t1050 / 0.8e1; + const double t1055 = t358 * t369; + const double t1056 = t1055 * t107; + const double t1060 = t367 * t377; + const double t1061 = t1060 * t107; + const double t1066 = t375 * t385; + const double t1067 = t1066 * t107; + const double t1072 = t383 * t779; + const double t1076 = -0.4e1 * t776 * t1072 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1056 - t748 * t1056 + 0.3e1 * t374 * t1061 - 0.2e1 * t757 * t1061 + 0.4e1 * t382 * t1067 - 0.3e1 * t766 * t1067; + const double t1077 = t354 * t1076; + const double t1082 = sigma_bb * t250 * t253; + const double t1087 = t246 * t258 * t261; + const double t1093 = t256 * t267 * t270; + const double t1098 = t257 * t248; + const double t1100 = 0.1e1 / t235 / t1098; + const double t1105 = -0.4e1 * t529 * t264 * t1100 * t956 + t102 * t238 * t243 + 0.2e1 * t117 * t1082 - t499 * t1082 + 0.3e1 * t130 * t1087 - 0.2e1 * t509 * t1087 + 0.4e1 * t141 * t1093 - 0.3e1 * t518 * t1093; + const double t1106 = t233 * t1105; + const double t1107 = t1106 * t290; + const double t1109 = t275 * t277 * t289; + const double t1111 = t274 * t1109 / 0.8e1; + const double t1114 = t1055 * t238; + const double t1118 = t1060 * t238; + const double t1123 = t1066 * t238; + const double t1131 = -0.4e1 * t776 * t1072 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1114 - t748 * t1114 + 0.3e1 * t374 * t1118 - 0.2e1 * t757 * t1118 + 0.4e1 * t382 * t1123 - 0.3e1 * t766 * t1123; + const double t1132 = t354 * t1131; + const double t1134 = 0.1e1 / t159; + const double t1136 = t153 * t1134 * t169; + const double t1138 = t543 * t1136 / 0.8e1; + const double t1140 = tau_a * t162 * t553; + const double t1142 = 0.8e1 * t549 * t1140; + const double t1144 = 0.1e1 / t281; + const double t1146 = t275 * t1144 * t289; + const double t1148 = t963 * t1146 / 0.8e1; + const double t1150 = tau_b * t284 * t973; + const double t1152 = 0.8e1 * t969 * t1150; + const double t1161 = t313 * t4; + const double t1162 = 0.1e1 / t1161; + const double t1163 = t3 * t1162; + const double t1165 = -0.2e1 * t390 + 0.2e1 * t1163; + const double t1166 = piecewise_functor_3( t8, 0.0, t1165 ); + const double t1171 = 0.1e1 / t18 / t313; + const double t1172 = t1171 * t20; + const double t1174 = t17 * t1172 * t26; + const double t1175 = 0.23744444444444444444e-1 * t1174; + const double t1177 = t17 * t397 * t404; + const double t1179 = t7 * t7; + const double t1181 = 0.1e1 / t24 / t1179; + const double t1182 = t392 * t392; + const double t1188 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t1182 - t401 * t1165 / 0.3e1 ); + const double t1190 = t17 * t21 * t1188; + const double t1192 = t1175 - 0.35616666666666666666e-1 * t1177 + 0.53425e-1 * t1190; + const double t1194 = 0.621814e-1 * t1192 * t52; + const double t1195 = t408 * t412; + const double t1197 = 0.2e1 * t1195 * t436; + const double t1198 = t411 * t48; + const double t1199 = 0.1e1 / t1198; + const double t1200 = t30 * t1199; + const double t1201 = t434 * t434; + const double t1202 = t1201 * t435; + const double t1204 = 0.2e1 * t1200 * t1202; + const double t1206 = 0.1e1 / t31 / t28; + const double t1207 = t416 * t416; + const double t1208 = t1206 * t1207; + const double t1210 = 0.4e1 / 0.9e1 * t1174; + const double t1212 = t1210 - 0.2e1 / 0.3e1 * t1177 + t1190; + const double t1213 = t414 * t1212; + const double t1215 = 0.39862222222222222223e0 * t1174; + const double t1218 = 0.1e1/safe_math::sqrt( t28 ); + const double t1219 = t1218 * t1207; + const double t1221 = t421 * t1212; + const double t1224 = 0.1e1 / t40 / t313; + const double t1225 = t1224 * t42; + const double t1227 = t39 * t1225 * t44; + const double t1228 = 0.13692777777777777778e0 * t1227; + const double t1230 = t39 * t426 * t430; + const double t1232 = t404 * t404; + const double t1234 = t39 * t43 * t1232; + const double t1236 = t26 * t1188; + const double t1238 = t39 * t43 * t1236; + const double t1240 = -0.9494625e0 * t1208 + 0.1898925e1 * t1213 + t1215 - 0.59793333333333333334e0 * t1177 + 0.8969e0 * t1190 + 0.15358125e0 * t1219 + 0.3071625e0 * t1221 + t1228 - 0.32862666666666666666e0 * t1230 + 0.24647e0 * t1234 + 0.24647e0 * t1238; + const double t1241 = t1240 * t435; + const double t1243 = 0.1e1 * t413 * t1241; + const double t1244 = t411 * t411; + const double t1245 = 0.1e1 / t1244; + const double t1246 = t30 * t1245; + const double t1247 = t51 * t51; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1201 * t1248; + const double t1251 = 0.16081979498692535067e2 * t1246 * t1249; + const double t1252 = 0.22831111111111111111e-1 * t1174; + const double t1255 = t1252 - 0.34246666666666666666e-1 * t1177 + 0.5137e-1 * t1190; + const double t1258 = t441 * t445; + const double t1261 = t444 * t72; + const double t1262 = 0.1e1 / t1261; + const double t1263 = t67 * t1262; + const double t1264 = t453 * t453; + const double t1265 = t1264 * t454; + const double t1270 = 0.68863333333333333333e0 * t1174; + const double t1275 = 0.17365833333333333333e0 * t1227; + const double t1279 = -0.17648625e1 * t1208 + 0.3529725e1 * t1213 + t1270 - 0.103295e1 * t1177 + 0.1549425e1 * t1190 + 0.31558125e0 * t1219 + 0.6311625e0 * t1221 + t1275 - 0.41678e0 * t1230 + 0.312585e0 * t1234 + 0.312585e0 * t1238; + const double t1280 = t1279 * t454; + const double t1283 = t444 * t444; + const double t1284 = 0.1e1 / t1283; + const double t1285 = t67 * t1284; + const double t1286 = t75 * t75; + const double t1287 = 0.1e1 / t1286; + const double t1288 = t1264 * t1287; + const double t1291 = 0.12361111111111111111e-1 * t1174; + const double t1294 = t1291 - 0.18541666666666666667e-1 * t1177 + 0.278125e-1 * t1190; + const double t1295 = t1294 * t89; + const double t1297 = t460 * t464; + const double t1300 = t463 * t85; + const double t1301 = 0.1e1 / t1300; + const double t1302 = t80 * t1301; + const double t1303 = t472 * t472; + const double t1304 = t1303 * t473; + const double t1309 = 0.40256666666666666667e0 * t1174; + const double t1314 = 0.137975e0 * t1227; + const double t1318 = -0.1294625e1 * t1208 + 0.258925e1 * t1213 + t1309 - 0.60385e0 * t1177 + 0.905775e0 * t1190 + 0.82524375e-1 * t1219 + 0.16504875e0 * t1221 + t1314 - 0.33114e0 * t1230 + 0.248355e0 * t1234 + 0.248355e0 * t1238; + const double t1319 = t1318 * t473; + const double t1322 = t463 * t463; + const double t1323 = 0.1e1 / t1322; + const double t1324 = t80 * t1323; + const double t1325 = t88 * t88; + const double t1326 = 0.1e1 / t1325; + const double t1327 = t1303 * t1326; + const double t1330 = -0.310907e-1 * t1255 * t76 + 0.2e1 * t1258 * t455 - 0.2e1 * t1263 * t1265 + 0.1e1 * t446 * t1280 + 0.32163958997385070134e2 * t1285 * t1288 + t1194 - t1197 + t1204 - t1243 - t1251 - 0.19751673498613801407e-1 * t1295 + 0.11696447245269292414e1 * t1297 * t474 - 0.11696447245269292414e1 * t1302 * t1304 + 0.5848223622634646207e0 * t465 * t1319 + 0.17315859105681463759e2 * t1324 * t1327; + const double t1334 = t65 * t460; + const double t1338 = t1301 * t1303 * t473; + const double t1342 = t464 * t1318 * t473; + const double t1345 = t1323 * t1303; + const double t1346 = t1345 * t1326; + const double t1349 = -t1194 + t1197 - t1204 + t1243 + t1251 + t65 * t1330 + 0.19751673498613801407e-1 * t65 * t1295 - 0.11696447245269292414e1 * t1334 * t483 + 0.11696447245269292414e1 * t481 * t1338 - 0.5848223622634646207e0 * t481 * t1342 - 0.17315859105681463759e2 * t481 * t1346; + const double t1353 = piecewise_functor_3( t9, 0.0, t1166 * t96 / 0.2e1 + t393 * t486 + t10 * t1349 / 0.2e1 ); + const double t1354 = t1353 * t151; + const double t1355 = t1354 * t170; + const double t1356 = t490 * t540; + const double t1357 = t1356 * t170; + const double t1358 = 0.2e1 * t1357; + const double t1359 = t491 * sigma_aa; + const double t1360 = t1359 * t546; + const double t1361 = t1360 / 0.4e1; + const double t1362 = t491 * t158; + const double t1363 = t1362 * t554; + const double t1364 = 0.8e2 / 0.3e1 * t1363; + const double t1366 = 0.1e1 / t105 / t119; + const double t1367 = sigma_aa * t1366; + const double t1371 = t119 * t160; + const double t1373 = 0.1e1 / t104 / t1371; + const double t1374 = t118 * t1373; + const double t1375 = t1374 * t125; + const double t1379 = 0.1e1 / t143; + const double t1381 = t131 * t1379 * t136; + const double t1389 = t132 * t119; + const double t1391 = 0.1e1 / t105 / t1389; + const double t1393 = t142 * t1391 * t148; + const double t1401 = t132 * t1371; + const double t1403 = 0.1e1 / t104 / t1401; + const double t1405 = t530 * t1403 * t536; + const double t1414 = t142 * t118; + const double t1415 = t132 * t132; + const double t1416 = t1415 * t103; + const double t1417 = 0.1e1 / t1416; + const double t1420 = 0.1e1 / t147 / t124; + const double t1424 = 0.88e2 / 0.9e1 * t102 * t1367 * t112 - 0.24e2 * t499 * t1375 + 0.128e3 / 0.9e1 * t1378 * t1381 + 0.304e3 / 0.9e1 * t117 * t1375 - 0.688e3 / 0.9e1 * t509 * t1381 + 0.128e3 / 0.3e1 * t1388 * t1393 + 0.72e2 * t130 * t1381 - 0.472e3 / 0.3e1 * t518 * t1393 + 0.256e3 / 0.3e1 * t1400 * t1405 + 0.112e4 / 0.9e1 * t141 * t1393 - 0.8e3 / 0.3e1 * t529 * t1405 + 0.128e4 / 0.9e1 * t1413 * t1414 * t1417 * t1420; + const double t1425 = t99 * t1424; + const double t1426 = t1425 * t170; + const double t1427 = t541 * sigma_aa; + const double t1428 = t1427 * t546; + const double t1429 = t1428 / 0.4e1; + const double t1430 = t541 * t158; + const double t1431 = t1430 * t554; + const double t1432 = 0.8e2 / 0.3e1 * t1431; + const double t1433 = 0.1e1 / t160; + const double t1435 = t1433 * t155 * t169; + const double t1436 = t543 * t1435; + const double t1437 = t1436 / 0.4e1; + const double t1439 = t502 * tau_a * t553; + const double t1440 = t543 * t1439; + const double t1441 = 0.1e2 / 0.3e1 * t1440; + const double t1443 = t159 * t122 * t553; + const double t1444 = t549 * t1443; + const double t1445 = 0.52e3 / 0.9e1 * t1444; + const double t1446 = t159 * t159; + const double t1448 = 0.1e1 / t105 / t132; + const double t1452 = t1451 * t168; + const double t1453 = t1446 * t1448 * t1452; + const double t1454 = t549 * t1453; + const double t1455 = 0.16e4 / 0.9e1 * t1454; + const double t1456 = -t1165; + const double t1457 = piecewise_functor_3( t174, 0.0, t1456 ); + const double t1462 = t17 * t1172 * t179; + const double t1463 = 0.23744444444444444444e-1 * t1462; + const double t1465 = t17 * t397 * t566; + const double t1467 = t173 * t173; + const double t1469 = 0.1e1 / t177 / t1467; + const double t1470 = t557 * t557; + const double t1476 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t1470 - t563 * t1456 / 0.3e1 ); + const double t1478 = t17 * t21 * t1476; + const double t1480 = t1463 - 0.35616666666666666666e-1 * t1465 + 0.53425e-1 * t1478; + const double t1482 = 0.621814e-1 * t1480 * t197; + const double t1483 = t570 * t574; + const double t1485 = 0.2e1 * t1483 * t595; + const double t1486 = t573 * t193; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t183 * t1487; + const double t1489 = t593 * t593; + const double t1490 = t1489 * t594; + const double t1492 = 0.2e1 * t1488 * t1490; + const double t1494 = 0.1e1 / t184 / t181; + const double t1495 = t578 * t578; + const double t1496 = t1494 * t1495; + const double t1498 = 0.4e1 / 0.9e1 * t1462; + const double t1500 = t1498 - 0.2e1 / 0.3e1 * t1465 + t1478; + const double t1501 = t576 * t1500; + const double t1503 = 0.39862222222222222223e0 * t1462; + const double t1506 = 0.1e1/safe_math::sqrt( t181 ); + const double t1507 = t1506 * t1495; + const double t1509 = t583 * t1500; + const double t1512 = t39 * t1225 * t189; + const double t1513 = 0.13692777777777777778e0 * t1512; + const double t1515 = t39 * t426 * t589; + const double t1517 = t566 * t566; + const double t1519 = t39 * t43 * t1517; + const double t1521 = t179 * t1476; + const double t1523 = t39 * t43 * t1521; + const double t1525 = -0.9494625e0 * t1496 + 0.1898925e1 * t1501 + t1503 - 0.59793333333333333334e0 * t1465 + 0.8969e0 * t1478 + 0.15358125e0 * t1507 + 0.3071625e0 * t1509 + t1513 - 0.32862666666666666666e0 * t1515 + 0.24647e0 * t1519 + 0.24647e0 * t1523; + const double t1526 = t1525 * t594; + const double t1528 = 0.1e1 * t575 * t1526; + const double t1529 = t573 * t573; + const double t1530 = 0.1e1 / t1529; + const double t1531 = t183 * t1530; + const double t1532 = t196 * t196; + const double t1533 = 0.1e1 / t1532; + const double t1534 = t1489 * t1533; + const double t1536 = 0.16081979498692535067e2 * t1531 * t1534; + const double t1537 = 0.22831111111111111111e-1 * t1462; + const double t1540 = t1537 - 0.34246666666666666666e-1 * t1465 + 0.5137e-1 * t1478; + const double t1543 = t600 * t604; + const double t1546 = t603 * t206; + const double t1547 = 0.1e1 / t1546; + const double t1548 = t201 * t1547; + const double t1549 = t612 * t612; + const double t1550 = t1549 * t613; + const double t1555 = 0.68863333333333333333e0 * t1462; + const double t1560 = 0.17365833333333333333e0 * t1512; + const double t1564 = -0.17648625e1 * t1496 + 0.3529725e1 * t1501 + t1555 - 0.103295e1 * t1465 + 0.1549425e1 * t1478 + 0.31558125e0 * t1507 + 0.6311625e0 * t1509 + t1560 - 0.41678e0 * t1515 + 0.312585e0 * t1519 + 0.312585e0 * t1523; + const double t1565 = t1564 * t613; + const double t1568 = t603 * t603; + const double t1569 = 0.1e1 / t1568; + const double t1570 = t201 * t1569; + const double t1571 = t209 * t209; + const double t1572 = 0.1e1 / t1571; + const double t1573 = t1549 * t1572; + const double t1576 = 0.12361111111111111111e-1 * t1462; + const double t1579 = t1576 - 0.18541666666666666667e-1 * t1465 + 0.278125e-1 * t1478; + const double t1580 = t1579 * t223; + const double t1582 = t619 * t623; + const double t1585 = t622 * t219; + const double t1586 = 0.1e1 / t1585; + const double t1587 = t214 * t1586; + const double t1588 = t631 * t631; + const double t1589 = t1588 * t632; + const double t1594 = 0.40256666666666666667e0 * t1462; + const double t1599 = 0.137975e0 * t1512; + const double t1603 = -0.1294625e1 * t1496 + 0.258925e1 * t1501 + t1594 - 0.60385e0 * t1465 + 0.905775e0 * t1478 + 0.82524375e-1 * t1507 + 0.16504875e0 * t1509 + t1599 - 0.33114e0 * t1515 + 0.248355e0 * t1519 + 0.248355e0 * t1523; + const double t1604 = t1603 * t632; + const double t1607 = t622 * t622; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t214 * t1608; + const double t1610 = t222 * t222; + const double t1611 = 0.1e1 / t1610; + const double t1612 = t1588 * t1611; + const double t1615 = -0.310907e-1 * t1540 * t210 + 0.2e1 * t1543 * t614 - 0.2e1 * t1548 * t1550 + 0.1e1 * t605 * t1565 + 0.32163958997385070134e2 * t1570 * t1573 + t1482 - t1485 + t1492 - t1528 - t1536 - 0.19751673498613801407e-1 * t1580 + 0.11696447245269292414e1 * t1582 * t633 - 0.11696447245269292414e1 * t1587 * t1589 + 0.5848223622634646207e0 * t624 * t1604 + 0.17315859105681463759e2 * t1609 * t1612; + const double t1619 = t65 * t619; + const double t1623 = t1586 * t1588 * t632; + const double t1627 = t623 * t1603 * t632; + const double t1630 = t1608 * t1588; + const double t1631 = t1630 * t1611; + const double t1634 = -t1482 + t1485 - t1492 + t1528 + t1536 + t65 * t1615 + 0.19751673498613801407e-1 * t65 * t1580 - 0.11696447245269292414e1 * t1619 * t642 + 0.11696447245269292414e1 * t640 * t1623 - 0.5848223622634646207e0 * t640 * t1627 - 0.17315859105681463759e2 * t640 * t1631; + const double t1638 = piecewise_functor_3( t175, 0.0, t1457 * t230 / 0.2e1 + t558 * t645 + t176 * t1634 / 0.2e1 ); + const double t1639 = t1638 * t273; + const double t1640 = t1639 * t290; + const double t1641 = t656 * t304; + const double t1642 = 0.1e1 / t1641; + const double t1643 = t295 * t1642; + const double t1644 = t674 * t674; + const double t1645 = t1644 * t675; + const double t1647 = 0.2e1 * t1643 * t1645; + const double t1650 = 0.1e1 / t296 / t293 * t36; + const double t1652 = t1651 * t1224; + const double t1653 = t1650 * t1652; + const double t1655 = t661 * t1171; + const double t1656 = t660 * t1655; + const double t1658 = t16 * t1171; + const double t1659 = t14 * t1658; + const double t1661 = 0.1e1/safe_math::sqrt( t293 ); + const double t1662 = t1661 * t36; + const double t1663 = t1662 * t1652; + const double t1665 = t668 * t1655; + const double t1668 = t38 * t15 * t1224; + const double t1670 = -0.42198333333333333333e0 * t1653 + 0.84396666666666666666e0 * t1656 + 0.39862222222222222223e0 * t1659 + 0.68258333333333333333e-1 * t1663 + 0.13651666666666666667e0 * t1665 + 0.13692777777777777778e0 * t1668; + const double t1671 = t1670 * t675; + const double t1673 = 0.1e1 * t658 * t1671; + const double t1674 = t656 * t656; + const double t1675 = 0.1e1 / t1674; + const double t1676 = t295 * t1675; + const double t1677 = t307 * t307; + const double t1678 = 0.1e1 / t1677; + const double t1679 = t1644 * t1678; + const double t1681 = 0.16081979498692535067e2 * t1676 * t1679; + const double t1682 = t322 * t14; + const double t1683 = t652 * t740; + const double t1685 = 0.10843581300301739842e-1 * t1682 * t1683; + const double t1686 = t24 * t24; + const double t1687 = 0.1e1 / t1686; + const double t1693 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t1182 + 0.4e1 / 0.3e1 * t24 * t1165 ); + const double t1694 = t177 * t177; + const double t1695 = 0.1e1 / t1694; + const double t1701 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t1470 + 0.4e1 / 0.3e1 * t177 * t1456 ); + const double t1703 = ( t1693 + t1701 ) * t64; + const double t1706 = t685 * t696; + const double t1709 = 0.8e1 * t685 * t729; + const double t1710 = t695 * t728; + const double t1711 = t316 * t1710; + const double t1713 = t1703 * t349; + const double t1717 = 0.14764627977777777777e-2 * t14 * t1658 * t308; + const double t1721 = t396 * t702; + const double t1725 = t701 * t329; + const double t1726 = 0.1e1 / t1725; + const double t1727 = t324 * t1726; + const double t1728 = t708 * t708; + const double t1729 = t1728 * t709; + const double t1738 = -0.78438333333333333333e0 * t1653 + 0.15687666666666666667e1 * t1656 + 0.68863333333333333333e0 * t1659 + 0.14025833333333333333e0 * t1663 + 0.28051666666666666667e0 * t1665 + 0.17365833333333333333e0 * t1668; + const double t1739 = t1738 * t709; + const double t1742 = t701 * t701; + const double t1743 = 0.1e1 / t1742; + const double t1744 = t324 * t1743; + const double t1745 = t332 * t332; + const double t1746 = 0.1e1 / t1745; + const double t1747 = t1728 * t1746; + const double t1750 = t396 * t657; + const double t1753 = 0.35616666666666666666e-1 * t17 * t1750 * t676; + const double t1757 = t396 * t717; + const double t1761 = t716 * t342; + const double t1762 = 0.1e1 / t1761; + const double t1763 = t337 * t1762; + const double t1764 = t723 * t723; + const double t1765 = t1764 * t724; + const double t1774 = -0.57538888888888888889e0 * t1653 + 0.11507777777777777778e1 * t1656 + 0.40256666666666666667e0 * t1659 + 0.366775e-1 * t1663 + 0.73355e-1 * t1665 + 0.137975e0 * t1668; + const double t1775 = t1774 * t724; + const double t1778 = t716 * t716; + const double t1779 = 0.1e1 / t1778; + const double t1780 = t337 * t1779; + const double t1781 = t345 * t345; + const double t1782 = 0.1e1 / t1781; + const double t1783 = t1764 * t1782; + const double t1786 = -0.70983522622222222221e-3 * t14 * t1658 * t333 - 0.34246666666666666666e-1 * t17 * t1721 * t710 - 0.2e1 * t1727 * t1729 + 0.1e1 * t703 * t1739 + 0.32163958997385070134e2 * t1744 * t1747 + t1717 + t1753 + t1647 - t1673 - t1681 - 0.24415263074675393405e-3 * t14 * t1658 * t346 - 0.10843581300301739842e-1 * t17 * t1757 * t725 - 0.11696447245269292414e1 * t1763 * t1765 + 0.5848223622634646207e0 * t718 * t1775 + 0.17315859105681463759e2 * t1780 * t1783; + const double t1787 = t322 * t1786; + const double t1788 = t316 * t1787; + const double t1789 = -t1647 + t1673 + t1681 + t1685 + 0.19751673498613801407e-1 * t1703 * t347 - t1638 - 0.8e1 * t1706 - t1709 + 0.2e1 * t1711 + t316 * t1713 - t1717 + t1788; + const double t1791 = 0.8e1 * t680 * t729; + const double t1792 = t311 * t315; + const double t1794 = 0.12e2 * t1792 * t350; + const double t1795 = t679 * t684; + const double t1797 = 0.32e2 * t1795 * t350; + const double t1798 = t680 * t696; + const double t1800 = t695 * t11; + const double t1801 = t1800 * t735; + const double t1804 = t661 * t1171 * t346; + const double t1806 = 0.24415263074675393405e-3 * t733 * t1804; + const double t1808 = 0.1e1 / t314 / t313; + const double t1809 = t312 * t1808; + const double t1811 = 0.2e2 * t1809 * t350; + const double t1813 = t1779 * t1764 * t1782; + const double t1815 = 0.17315859105681463759e2 * t738 * t1813; + const double t1817 = t717 * t1774 * t724; + const double t1819 = 0.5848223622634646207e0 * t738 * t1817; + const double t1820 = t695 * t337; + const double t1821 = t1820 * t740; + const double t1824 = t1762 * t1764 * t724; + const double t1826 = 0.11696447245269292414e1 * t738 * t1824; + const double t1827 = t1791 + t1794 - t1797 + 0.8e1 * t1798 - 0.36622894612013090108e-3 * t1801 + t1806 - t1753 + t1811 - t1353 - t1815 - t1819 - 0.11696447245269292414e1 * t1821 + t1826; + const double t1828 = t1789 + t1827; + const double t1829 = t1828 * t388; + const double t1830 = t743 * t784; + const double t1831 = 0.2e1 * t1830; + const double t1835 = t1374 * t369; + const double t1839 = t1838 * t358; + const double t1840 = t377 * t118; + const double t1841 = t1840 * t1373; + const double t1844 = t750 * t1366; + const double t1849 = t757 * t358; + const double t1855 = t1854 * t367; + const double t1856 = t385 * t118; + const double t1857 = t1856 * t1373; + const double t1860 = t759 * t1366; + const double t1863 = t374 * t358; + const double t1866 = t766 * t367; + const double t1872 = t1871 * t375; + const double t1873 = t779 * t118; + const double t1874 = t1873 * t1373; + const double t1877 = t768 * t1366; + const double t1880 = t382 * t367; + const double t1883 = t776 * t375; + const double t1890 = t1889 * t383; + const double t1892 = 0.1e1 / t384 / t368; + const double t1893 = t1892 * t118; + const double t1900 = 0.88e2 / 0.9e1 * t357 * t1367 * t361 - 0.128e3 / 0.9e1 * t748 * t1835 + 0.128e3 / 0.9e1 * t1839 * t1841 - 0.88e2 / 0.9e1 * t749 * t1844 + 0.128e3 / 0.9e1 * t366 * t1835 - 0.512e3 / 0.9e1 * t1849 * t1841 + 0.176e3 / 0.9e1 * t754 * t1844 + 0.128e3 / 0.3e1 * t1855 * t1857 - 0.176e3 / 0.9e1 * t758 * t1860 + 0.128e3 / 0.3e1 * t1863 * t1841 - 0.128e3 * t1866 * t1857 + 0.88e2 / 0.3e1 * t763 * t1860 + 0.256e3 / 0.3e1 * t1872 * t1874 - 0.88e2 / 0.3e1 * t767 * t1877 + 0.256e3 / 0.3e1 * t1880 * t1857 - 0.2048e4 / 0.9e1 * t1883 * t1874 + 0.352e3 / 0.9e1 * t772 * t1877 + 0.128e4 / 0.9e1 * t1890 * t1893 * t1373 - 0.352e3 / 0.9e1 * t777 * t780 * t1366; + const double t1901 = t354 * t1900; + const double t1902 = t1355 + t1358 + t1361 - t1364 + t1426 + t1429 - t1432 - t1437 - t1441 + t1445 - t1455 + t1640 + t1829 + t1831 + t1901; + const double t1904 = 0.2e1 * t1163; + const double t1905 = piecewise_functor_3( t8, 0.0, t1904 ); + const double t1911 = t17 * t397 * t793; + const double t1913 = t1181 * t788; + const double t1916 = t401 * t3; + const double t1920 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1913 * t392 - 0.2e1 / 0.3e1 * t1916 * t1162 ); + const double t1922 = t17 * t21 * t1920; + const double t1924 = t1175 - 0.17808333333333333333e-1 * t1177 - 0.17808333333333333333e-1 * t1911 + 0.53425e-1 * t1922; + const double t1926 = 0.621814e-1 * t1924 * t52; + const double t1927 = t797 * t412; + const double t1929 = 0.1e1 * t1927 * t436; + const double t1931 = 0.1e1 * t1195 * t811; + const double t1932 = t811 * t434; + const double t1934 = 0.2e1 * t1200 * t1932; + const double t1935 = t1206 * t800; + const double t1936 = t1935 * t416; + const double t1940 = t1210 - t1177 / 0.3e1 - t1911 / 0.3e1 + t1922; + const double t1941 = t414 * t1940; + const double t1946 = t1218 * t800; + const double t1947 = t1946 * t416; + const double t1949 = t421 * t1940; + const double t1953 = t39 * t426 * t806; + const double t1955 = t404 * t793; + const double t1957 = t39 * t43 * t1955; + const double t1959 = t26 * t1920; + const double t1961 = t39 * t43 * t1959; + const double t1963 = -0.9494625e0 * t1936 + 0.1898925e1 * t1941 + t1215 - 0.29896666666666666667e0 * t1177 - 0.29896666666666666667e0 * t1911 + 0.8969e0 * t1922 + 0.15358125e0 * t1947 + 0.3071625e0 * t1949 + t1228 - 0.16431333333333333333e0 * t1230 - 0.16431333333333333333e0 * t1953 + 0.24647e0 * t1957 + 0.24647e0 * t1961; + const double t1964 = t1963 * t435; + const double t1966 = 0.1e1 * t413 * t1964; + const double t1967 = t810 * t1248; + const double t1968 = t1967 * t434; + const double t1970 = 0.16081979498692535067e2 * t1246 * t1968; + const double t1974 = t1252 - 0.17123333333333333333e-1 * t1177 - 0.17123333333333333333e-1 * t1911 + 0.5137e-1 * t1922; + const double t1977 = t815 * t445; + const double t1982 = t823 * t453; + const double t1996 = -0.17648625e1 * t1936 + 0.3529725e1 * t1941 + t1270 - 0.516475e0 * t1177 - 0.516475e0 * t1911 + 0.1549425e1 * t1922 + 0.31558125e0 * t1947 + 0.6311625e0 * t1949 + t1275 - 0.20839e0 * t1230 - 0.20839e0 * t1953 + 0.312585e0 * t1957 + 0.312585e0 * t1961; + const double t1997 = t1996 * t454; + const double t2000 = t822 * t1287; + const double t2001 = t2000 * t453; + const double t2007 = t1291 - 0.92708333333333333333e-2 * t1177 - 0.92708333333333333333e-2 * t1911 + 0.278125e-1 * t1922; + const double t2008 = t2007 * t89; + const double t2010 = t827 * t464; + const double t2015 = t835 * t472; + const double t2029 = -0.1294625e1 * t1936 + 0.258925e1 * t1941 + t1309 - 0.301925e0 * t1177 - 0.301925e0 * t1911 + 0.905775e0 * t1922 + 0.82524375e-1 * t1947 + 0.16504875e0 * t1949 + t1314 - 0.16557e0 * t1230 - 0.16557e0 * t1953 + 0.248355e0 * t1957 + 0.248355e0 * t1961; + const double t2030 = t2029 * t473; + const double t2033 = t834 * t1326; + const double t2034 = t2033 * t472; + const double t2037 = -0.310907e-1 * t1974 * t76 + 0.1e1 * t1977 * t455 + 0.1e1 * t1258 * t823 - 0.2e1 * t1263 * t1982 + 0.1e1 * t446 * t1997 + 0.32163958997385070134e2 * t1285 * t2001 + t1926 - t1929 - t1931 + t1934 - t1966 - t1970 - 0.19751673498613801407e-1 * t2008 + 0.5848223622634646207e0 * t2010 * t474 + 0.5848223622634646207e0 * t1297 * t835 - 0.11696447245269292414e1 * t1302 * t2015 + 0.5848223622634646207e0 * t465 * t2030 + 0.17315859105681463759e2 * t1324 * t2034; + const double t2041 = t65 * t827; + const double t2046 = t1301 * t834; + const double t2047 = t2046 * t474; + const double t2051 = t464 * t2029 * t473; + const double t2054 = t1323 * t834; + const double t2055 = t1326 * t472; + const double t2056 = t2054 * t2055; + const double t2059 = -t1926 + t1929 + t1931 - t1934 + t1966 + t1970 + t65 * t2037 + 0.19751673498613801407e-1 * t65 * t2008 - 0.5848223622634646207e0 * t2041 * t483 - 0.5848223622634646207e0 * t1334 * t843 + 0.11696447245269292414e1 * t481 * t2047 - 0.5848223622634646207e0 * t481 * t2051 - 0.17315859105681463759e2 * t481 * t2056; + const double t2063 = piecewise_functor_3( t9, 0.0, t10 * t2059 / 0.2e1 + t1905 * t96 / 0.2e1 + t393 * t846 / 0.2e1 + t789 * t486 / 0.2e1 ); + const double t2064 = t2063 * t151; + const double t2065 = t2064 * t170; + const double t2066 = t850 * t540; + const double t2067 = t2066 * t170; + const double t2068 = t851 * sigma_aa; + const double t2069 = t2068 * t546; + const double t2071 = t851 * t158; + const double t2072 = t2071 * t554; + const double t2074 = piecewise_functor_3( t174, 0.0, -t1904 ); + const double t2080 = t17 * t397 * t858; + const double t2082 = t1469 * t853; + const double t2085 = t563 * t3; + const double t2089 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2082 * t557 + 0.2e1 / 0.3e1 * t2085 * t1162 ); + const double t2091 = t17 * t21 * t2089; + const double t2093 = t1463 - 0.17808333333333333333e-1 * t1465 - 0.17808333333333333333e-1 * t2080 + 0.53425e-1 * t2091; + const double t2095 = 0.621814e-1 * t2093 * t197; + const double t2096 = t862 * t574; + const double t2098 = 0.1e1 * t2096 * t595; + const double t2100 = 0.1e1 * t1483 * t876; + const double t2101 = t876 * t593; + const double t2103 = 0.2e1 * t1488 * t2101; + const double t2104 = t1494 * t865; + const double t2105 = t2104 * t578; + const double t2109 = t1498 - t1465 / 0.3e1 - t2080 / 0.3e1 + t2091; + const double t2110 = t576 * t2109; + const double t2115 = t1506 * t865; + const double t2116 = t2115 * t578; + const double t2118 = t583 * t2109; + const double t2122 = t39 * t426 * t871; + const double t2124 = t566 * t858; + const double t2126 = t39 * t43 * t2124; + const double t2128 = t179 * t2089; + const double t2130 = t39 * t43 * t2128; + const double t2132 = -0.9494625e0 * t2105 + 0.1898925e1 * t2110 + t1503 - 0.29896666666666666667e0 * t1465 - 0.29896666666666666667e0 * t2080 + 0.8969e0 * t2091 + 0.15358125e0 * t2116 + 0.3071625e0 * t2118 + t1513 - 0.16431333333333333333e0 * t1515 - 0.16431333333333333333e0 * t2122 + 0.24647e0 * t2126 + 0.24647e0 * t2130; + const double t2133 = t2132 * t594; + const double t2135 = 0.1e1 * t575 * t2133; + const double t2136 = t875 * t1533; + const double t2137 = t2136 * t593; + const double t2139 = 0.16081979498692535067e2 * t1531 * t2137; + const double t2143 = t1537 - 0.17123333333333333333e-1 * t1465 - 0.17123333333333333333e-1 * t2080 + 0.5137e-1 * t2091; + const double t2146 = t880 * t604; + const double t2151 = t888 * t612; + const double t2165 = -0.17648625e1 * t2105 + 0.3529725e1 * t2110 + t1555 - 0.516475e0 * t1465 - 0.516475e0 * t2080 + 0.1549425e1 * t2091 + 0.31558125e0 * t2116 + 0.6311625e0 * t2118 + t1560 - 0.20839e0 * t1515 - 0.20839e0 * t2122 + 0.312585e0 * t2126 + 0.312585e0 * t2130; + const double t2166 = t2165 * t613; + const double t2169 = t887 * t1572; + const double t2170 = t2169 * t612; + const double t2176 = t1576 - 0.92708333333333333333e-2 * t1465 - 0.92708333333333333333e-2 * t2080 + 0.278125e-1 * t2091; + const double t2177 = t2176 * t223; + const double t2179 = t892 * t623; + const double t2184 = t900 * t631; + const double t2198 = -0.1294625e1 * t2105 + 0.258925e1 * t2110 + t1594 - 0.301925e0 * t1465 - 0.301925e0 * t2080 + 0.905775e0 * t2091 + 0.82524375e-1 * t2116 + 0.16504875e0 * t2118 + t1599 - 0.16557e0 * t1515 - 0.16557e0 * t2122 + 0.248355e0 * t2126 + 0.248355e0 * t2130; + const double t2199 = t2198 * t632; + const double t2202 = t899 * t1611; + const double t2203 = t2202 * t631; + const double t2206 = -0.310907e-1 * t2143 * t210 + 0.1e1 * t2146 * t614 + 0.1e1 * t1543 * t888 - 0.2e1 * t1548 * t2151 + 0.1e1 * t605 * t2166 + 0.32163958997385070134e2 * t1570 * t2170 + t2095 - t2098 - t2100 + t2103 - t2135 - t2139 - 0.19751673498613801407e-1 * t2177 + 0.5848223622634646207e0 * t2179 * t633 + 0.5848223622634646207e0 * t1582 * t900 - 0.11696447245269292414e1 * t1587 * t2184 + 0.5848223622634646207e0 * t624 * t2199 + 0.17315859105681463759e2 * t1609 * t2203; + const double t2210 = t65 * t892; + const double t2215 = t1586 * t899; + const double t2216 = t2215 * t633; + const double t2220 = t623 * t2198 * t632; + const double t2223 = t1608 * t899; + const double t2224 = t1611 * t631; + const double t2225 = t2223 * t2224; + const double t2228 = -t2095 + t2098 + t2100 - t2103 + t2135 + t2139 + t65 * t2206 + 0.19751673498613801407e-1 * t65 * t2177 - 0.5848223622634646207e0 * t2210 * t642 - 0.5848223622634646207e0 * t1619 * t908 + 0.11696447245269292414e1 * t640 * t2216 - 0.5848223622634646207e0 * t640 * t2220 - 0.17315859105681463759e2 * t640 * t2225; + const double t2232 = piecewise_functor_3( t175, 0.0, t176 * t2228 / 0.2e1 + t2074 * t230 / 0.2e1 + t558 * t911 / 0.2e1 + t854 * t645 / 0.2e1 ); + const double t2233 = t2232 * t273; + const double t2234 = t2233 * t290; + const double t2235 = t649 * t960; + const double t2236 = t2235 * t290; + const double t2237 = t650 * sigma_bb; + const double t2238 = t2237 * t966; + const double t2240 = t650 * t280; + const double t2241 = t2240 * t974; + const double t2244 = t1687 * t788; + const double t2247 = t24 * t3; + const double t2251 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2244 * t392 + 0.8e1 / 0.3e1 * t2247 * t1162 ); + const double t2252 = t1695 * t853; + const double t2255 = t177 * t3; + const double t2259 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2252 * t557 - 0.8e1 / 0.3e1 * t2255 * t1162 ); + const double t2261 = ( t2251 + t2259 ) * t64; + const double t2265 = -t2232 - t2063 - t1647 + t1673 + t1681 + t1685 - 0.4e1 * t1706 - t1709 + t1711 + 0.19751673498613801407e-1 * t2261 * t347 - t1717 + t1788 - t1794 - 0.4e1 * t1798; + const double t2266 = t680 * t985; + const double t2268 = t685 * t985; + const double t2270 = t2261 * t349; + const double t2272 = t984 * t728; + const double t2273 = t316 * t2272; + const double t2275 = t984 * t11; + const double t2276 = t2275 * t735; + const double t2278 = t984 * t337; + const double t2279 = t2278 * t740; + const double t2282 = 0.4e1 * t2266 - 0.4e1 * t2268 + t316 * t2270 + t2273 - 0.18311447306006545054e-3 * t1801 + t1806 - t1753 - 0.18311447306006545054e-3 * t2276 - 0.5848223622634646207e0 * t2279 + t1811 - t1815 - t1819 - 0.5848223622634646207e0 * t1821 + t1826; + const double t2283 = t2265 + t2282; + const double t2284 = t2283 * t388; + const double t2285 = t989 * t784; + const double t2286 = t743 * t1016; + const double t2287 = t748 * sigma_bb; + const double t2288 = t919 * t369; + const double t2292 = t358 * t377; + const double t2293 = t1838 * t2292; + const double t2294 = t920 * t495; + const double t2297 = t366 * sigma_aa; + const double t2298 = t494 * t369; + const double t2302 = t757 * t2292; + const double t2305 = t367 * t385; + const double t2306 = t1854 * t2305; + const double t2309 = t374 * t2292; + const double t2312 = t766 * t2305; + const double t2315 = t375 * t779; + const double t2316 = t1871 * t2315; + const double t2319 = t382 * t2305; + const double t2322 = t776 * t2315; + const double t2325 = t383 * t1892; + const double t2326 = t1889 * t2325; + const double t2329 = -0.128e3 / 0.9e1 * t2287 * t2288 * t495 + 0.128e3 / 0.9e1 * t2293 * t2294 + 0.128e3 / 0.9e1 * t2297 * t2298 * t920 - 0.512e3 / 0.9e1 * t2302 * t2294 + 0.128e3 / 0.3e1 * t2306 * t2294 + 0.128e3 / 0.3e1 * t2309 * t2294 - 0.128e3 * t2312 * t2294 + 0.256e3 / 0.3e1 * t2316 * t2294 + 0.256e3 / 0.3e1 * t2319 * t2294 - 0.2048e4 / 0.9e1 * t2322 * t2294 + 0.128e4 / 0.9e1 * t2326 * t2294; + const double t2330 = t354 * t2329; + const double t2331 = t2065 + t2067 + t2069 / 0.8e1 - 0.4e2 / 0.3e1 * t2072 + t2234 + t2236 + t2238 / 0.8e1 - 0.4e2 / 0.3e1 * t2241 + t2284 + t2285 + t2286 + t2330; + const double t2341 = 0.2e1 * t390 + 0.2e1 * t1163; + const double t2342 = piecewise_functor_3( t8, 0.0, t2341 ); + const double t2347 = t788 * t788; + const double t2353 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t2347 - t401 * t2341 / 0.3e1 ); + const double t2355 = t17 * t21 * t2353; + const double t2357 = t1175 - 0.35616666666666666666e-1 * t1911 + 0.53425e-1 * t2355; + const double t2359 = 0.621814e-1 * t2357 * t52; + const double t2361 = 0.2e1 * t1927 * t811; + const double t2362 = t810 * t810; + const double t2363 = t2362 * t435; + const double t2365 = 0.2e1 * t1200 * t2363; + const double t2366 = t800 * t800; + const double t2367 = t1206 * t2366; + const double t2370 = t1210 - 0.2e1 / 0.3e1 * t1911 + t2355; + const double t2371 = t414 * t2370; + const double t2375 = t1218 * t2366; + const double t2377 = t421 * t2370; + const double t2380 = t793 * t793; + const double t2382 = t39 * t43 * t2380; + const double t2384 = t26 * t2353; + const double t2386 = t39 * t43 * t2384; + const double t2388 = -0.9494625e0 * t2367 + 0.1898925e1 * t2371 + t1215 - 0.59793333333333333334e0 * t1911 + 0.8969e0 * t2355 + 0.15358125e0 * t2375 + 0.3071625e0 * t2377 + t1228 - 0.32862666666666666666e0 * t1953 + 0.24647e0 * t2382 + 0.24647e0 * t2386; + const double t2389 = t2388 * t435; + const double t2391 = 0.1e1 * t413 * t2389; + const double t2392 = t2362 * t1248; + const double t2394 = 0.16081979498692535067e2 * t1246 * t2392; + const double t2397 = t1252 - 0.34246666666666666666e-1 * t1911 + 0.5137e-1 * t2355; + const double t2402 = t822 * t822; + const double t2403 = t2402 * t454; + const double t2415 = -0.17648625e1 * t2367 + 0.3529725e1 * t2371 + t1270 - 0.103295e1 * t1911 + 0.1549425e1 * t2355 + 0.31558125e0 * t2375 + 0.6311625e0 * t2377 + t1275 - 0.41678e0 * t1953 + 0.312585e0 * t2382 + 0.312585e0 * t2386; + const double t2416 = t2415 * t454; + const double t2419 = t2402 * t1287; + const double t2424 = t1291 - 0.18541666666666666667e-1 * t1911 + 0.278125e-1 * t2355; + const double t2425 = t2424 * t89; + const double t2429 = t834 * t834; + const double t2430 = t2429 * t473; + const double t2442 = -0.1294625e1 * t2367 + 0.258925e1 * t2371 + t1309 - 0.60385e0 * t1911 + 0.905775e0 * t2355 + 0.82524375e-1 * t2375 + 0.16504875e0 * t2377 + t1314 - 0.33114e0 * t1953 + 0.248355e0 * t2382 + 0.248355e0 * t2386; + const double t2443 = t2442 * t473; + const double t2446 = t2429 * t1326; + const double t2449 = -0.310907e-1 * t2397 * t76 + 0.2e1 * t1977 * t823 - 0.2e1 * t1263 * t2403 + 0.1e1 * t446 * t2416 + 0.32163958997385070134e2 * t1285 * t2419 + t2359 - t2361 + t2365 - t2391 - t2394 - 0.19751673498613801407e-1 * t2425 + 0.11696447245269292414e1 * t2010 * t835 - 0.11696447245269292414e1 * t1302 * t2430 + 0.5848223622634646207e0 * t465 * t2443 + 0.17315859105681463759e2 * t1324 * t2446; + const double t2456 = t1301 * t2429 * t473; + const double t2460 = t464 * t2442 * t473; + const double t2463 = t1323 * t2429; + const double t2464 = t2463 * t1326; + const double t2467 = -t2359 + t2361 - t2365 + t2391 + t2394 + t65 * t2449 + 0.19751673498613801407e-1 * t65 * t2425 - 0.11696447245269292414e1 * t2041 * t843 + 0.11696447245269292414e1 * t481 * t2456 - 0.5848223622634646207e0 * t481 * t2460 - 0.17315859105681463759e2 * t481 * t2464; + const double t2471 = piecewise_functor_3( t9, 0.0, t2342 * t96 / 0.2e1 + t789 * t846 + t10 * t2467 / 0.2e1 ); + const double t2472 = t2471 * t151; + const double t2473 = t2472 * t170; + const double t2474 = -t2341; + const double t2475 = piecewise_functor_3( t174, 0.0, t2474 ); + const double t2480 = t853 * t853; + const double t2486 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t2480 - t563 * t2474 / 0.3e1 ); + const double t2488 = t17 * t21 * t2486; + const double t2490 = t1463 - 0.35616666666666666666e-1 * t2080 + 0.53425e-1 * t2488; + const double t2492 = 0.621814e-1 * t2490 * t197; + const double t2494 = 0.2e1 * t2096 * t876; + const double t2495 = t875 * t875; + const double t2496 = t2495 * t594; + const double t2498 = 0.2e1 * t1488 * t2496; + const double t2499 = t865 * t865; + const double t2500 = t1494 * t2499; + const double t2503 = t1498 - 0.2e1 / 0.3e1 * t2080 + t2488; + const double t2504 = t576 * t2503; + const double t2508 = t1506 * t2499; + const double t2510 = t583 * t2503; + const double t2513 = t858 * t858; + const double t2515 = t39 * t43 * t2513; + const double t2517 = t179 * t2486; + const double t2519 = t39 * t43 * t2517; + const double t2521 = -0.9494625e0 * t2500 + 0.1898925e1 * t2504 + t1503 - 0.59793333333333333334e0 * t2080 + 0.8969e0 * t2488 + 0.15358125e0 * t2508 + 0.3071625e0 * t2510 + t1513 - 0.32862666666666666666e0 * t2122 + 0.24647e0 * t2515 + 0.24647e0 * t2519; + const double t2522 = t2521 * t594; + const double t2524 = 0.1e1 * t575 * t2522; + const double t2525 = t2495 * t1533; + const double t2527 = 0.16081979498692535067e2 * t1531 * t2525; + const double t2530 = t1537 - 0.34246666666666666666e-1 * t2080 + 0.5137e-1 * t2488; + const double t2535 = t887 * t887; + const double t2536 = t2535 * t613; + const double t2548 = -0.17648625e1 * t2500 + 0.3529725e1 * t2504 + t1555 - 0.103295e1 * t2080 + 0.1549425e1 * t2488 + 0.31558125e0 * t2508 + 0.6311625e0 * t2510 + t1560 - 0.41678e0 * t2122 + 0.312585e0 * t2515 + 0.312585e0 * t2519; + const double t2549 = t2548 * t613; + const double t2552 = t2535 * t1572; + const double t2557 = t1576 - 0.18541666666666666667e-1 * t2080 + 0.278125e-1 * t2488; + const double t2558 = t2557 * t223; + const double t2562 = t899 * t899; + const double t2563 = t2562 * t632; + const double t2575 = -0.1294625e1 * t2500 + 0.258925e1 * t2504 + t1594 - 0.60385e0 * t2080 + 0.905775e0 * t2488 + 0.82524375e-1 * t2508 + 0.16504875e0 * t2510 + t1599 - 0.33114e0 * t2122 + 0.248355e0 * t2515 + 0.248355e0 * t2519; + const double t2576 = t2575 * t632; + const double t2579 = t2562 * t1611; + const double t2582 = -0.310907e-1 * t2530 * t210 + 0.2e1 * t2146 * t888 - 0.2e1 * t1548 * t2536 + 0.1e1 * t605 * t2549 + 0.32163958997385070134e2 * t1570 * t2552 + t2492 - t2494 + t2498 - t2524 - t2527 - 0.19751673498613801407e-1 * t2558 + 0.11696447245269292414e1 * t2179 * t900 - 0.11696447245269292414e1 * t1587 * t2563 + 0.5848223622634646207e0 * t624 * t2576 + 0.17315859105681463759e2 * t1609 * t2579; + const double t2589 = t1586 * t2562 * t632; + const double t2593 = t623 * t2575 * t632; + const double t2596 = t1608 * t2562; + const double t2597 = t2596 * t1611; + const double t2600 = -t2492 + t2494 - t2498 + t2524 + t2527 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2558 - 0.11696447245269292414e1 * t2210 * t908 + 0.11696447245269292414e1 * t640 * t2589 - 0.5848223622634646207e0 * t640 * t2593 - 0.17315859105681463759e2 * t640 * t2597; + const double t2604 = piecewise_functor_3( t175, 0.0, t2475 * t230 / 0.2e1 + t854 * t911 + t176 * t2600 / 0.2e1 ); + const double t2605 = t2604 * t273; + const double t2606 = t2605 * t290; + const double t2607 = t915 * t960; + const double t2608 = t2607 * t290; + const double t2609 = 0.2e1 * t2608; + const double t2610 = t916 * sigma_bb; + const double t2611 = t2610 * t966; + const double t2612 = t2611 / 0.4e1; + const double t2613 = t916 * t280; + const double t2614 = t2613 * t974; + const double t2615 = 0.8e2 / 0.3e1 * t2614; + const double t2617 = 0.1e1 / t236 / t247; + const double t2618 = sigma_bb * t2617; + const double t2622 = t247 * t282; + const double t2624 = 0.1e1 / t235 / t2622; + const double t2625 = t246 * t2624; + const double t2626 = t2625 * t253; + const double t2629 = 0.1e1 / t265; + const double t2631 = t256 * t2629 * t261; + const double t2638 = t257 * t247; + const double t2640 = 0.1e1 / t236 / t2638; + const double t2642 = t264 * t2640 * t270; + const double t2649 = t257 * t2622; + const double t2651 = 0.1e1 / t235 / t2649; + const double t2653 = t950 * t2651 * t956; + const double t2660 = t264 * t246; + const double t2661 = t257 * t257; + const double t2662 = t2661 * t234; + const double t2663 = 0.1e1 / t2662; + const double t2666 = 0.1e1 / t269 / t252; + const double t2670 = 0.88e2 / 0.9e1 * t102 * t2618 * t243 - 0.24e2 * t499 * t2626 + 0.128e3 / 0.9e1 * t1378 * t2631 + 0.304e3 / 0.9e1 * t117 * t2626 - 0.688e3 / 0.9e1 * t509 * t2631 + 0.128e3 / 0.3e1 * t1388 * t2642 + 0.72e2 * t130 * t2631 - 0.472e3 / 0.3e1 * t518 * t2642 + 0.256e3 / 0.3e1 * t1400 * t2653 + 0.112e4 / 0.9e1 * t141 * t2642 - 0.8e3 / 0.3e1 * t529 * t2653 + 0.128e4 / 0.9e1 * t1413 * t2660 * t2663 * t2666; + const double t2671 = t233 * t2670; + const double t2672 = t2671 * t290; + const double t2673 = t961 * sigma_bb; + const double t2674 = t2673 * t966; + const double t2675 = t2674 / 0.4e1; + const double t2676 = t961 * t280; + const double t2677 = t2676 * t974; + const double t2678 = 0.8e2 / 0.3e1 * t2677; + const double t2679 = 0.1e1 / t282; + const double t2681 = t2679 * t277 * t289; + const double t2682 = t963 * t2681; + const double t2683 = t2682 / 0.4e1; + const double t2685 = t926 * tau_b * t973; + const double t2686 = t963 * t2685; + const double t2687 = 0.1e2 / 0.3e1 * t2686; + const double t2689 = t281 * t250 * t973; + const double t2690 = t969 * t2689; + const double t2691 = 0.52e3 / 0.9e1 * t2690; + const double t2692 = t281 * t281; + const double t2694 = 0.1e1 / t236 / t257; + const double t2696 = t1451 * t288; + const double t2697 = t2692 * t2694 * t2696; + const double t2698 = t969 * t2697; + const double t2699 = 0.16e4 / 0.9e1 * t2698; + const double t2705 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t2347 + 0.4e1 / 0.3e1 * t24 * t2341 ); + const double t2711 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t2480 + 0.4e1 / 0.3e1 * t177 * t2474 ); + const double t2713 = ( t2705 + t2711 ) * t64; + const double t2716 = t2713 * t349; + const double t2718 = -t2604 - t2471 + 0.19751673498613801407e-1 * t2713 * t347 - t1647 + t1673 + t1681 + t1685 - t1709 + t316 * t2716 - t1717 + t1788 - t1791; + const double t2724 = t1794 + t1797 - 0.8e1 * t2266 - 0.8e1 * t2268 + 0.2e1 * t2273 + t1806 - t1753 - 0.36622894612013090108e-3 * t2276 - 0.11696447245269292414e1 * t2279 + t1811 - t1815 - t1819 + t1826; + const double t2725 = t2718 + t2724; + const double t2726 = t2725 * t388; + const double t2727 = t989 * t1016; + const double t2728 = 0.2e1 * t2727; + const double t2732 = t2625 * t369; + const double t2735 = t377 * t246; + const double t2736 = t2735 * t2624; + const double t2739 = t994 * t2617; + const double t2748 = t385 * t246; + const double t2749 = t2748 * t2624; + const double t2752 = t1000 * t2617; + const double t2761 = t779 * t246; + const double t2762 = t2761 * t2624; + const double t2765 = t1006 * t2617; + const double t2774 = t1892 * t246; + const double t2781 = 0.88e2 / 0.9e1 * t357 * t2618 * t361 - 0.128e3 / 0.9e1 * t748 * t2732 + 0.128e3 / 0.9e1 * t1839 * t2736 - 0.88e2 / 0.9e1 * t749 * t2739 + 0.128e3 / 0.9e1 * t366 * t2732 - 0.512e3 / 0.9e1 * t1849 * t2736 + 0.176e3 / 0.9e1 * t754 * t2739 + 0.128e3 / 0.3e1 * t1855 * t2749 - 0.176e3 / 0.9e1 * t758 * t2752 + 0.128e3 / 0.3e1 * t1863 * t2736 - 0.128e3 * t1866 * t2749 + 0.88e2 / 0.3e1 * t763 * t2752 + 0.256e3 / 0.3e1 * t1872 * t2762 - 0.88e2 / 0.3e1 * t767 * t2765 + 0.256e3 / 0.3e1 * t1880 * t2749 - 0.2048e4 / 0.9e1 * t1883 * t2762 + 0.352e3 / 0.9e1 * t772 * t2765 + 0.128e4 / 0.9e1 * t1890 * t2774 * t2624 - 0.352e3 / 0.9e1 * t777 * t1012 * t2617; + const double t2782 = t354 * t2781; + const double t2783 = t2473 + t2606 + t2609 + t2612 - t2615 + t2672 + t2675 - t2678 - t2683 - t2687 + t2691 - t2699 + t2726 + t2728 + t2782; + const double t2785 = t490 * t1046; + const double t2786 = t2785 * t170; + const double t2790 = t502 * t125; + const double t2791 = t2790 * sigma_aa; + const double t2795 = t118 * t511 * t136; + const double t2803 = t131 * t521 * t148; + const double t2811 = t142 * t533 * t536; + const double t2818 = t1415 * rho_a; + const double t2819 = 0.1e1 / t2818; + const double t2824 = -0.8e1 / 0.3e1 * t102 * t494 * t112 + 0.8e1 * t499 * t2791 - 0.16e2 / 0.3e1 * t1378 * t2795 - 0.32e2 / 0.3e1 * t117 * t2791 + 0.8e2 / 0.3e1 * t509 * t2795 - 0.16e2 * t1388 * t2803 - 0.24e2 * t130 * t2795 + 0.56e2 * t518 * t2803 - 0.32e2 * t1400 * t2811 - 0.128e3 / 0.3e1 * t141 * t2803 + 0.96e2 * t529 * t2811 - 0.16e3 / 0.3e1 * t1413 * t530 * t2819 * t1420; + const double t2825 = t99 * t2824; + const double t2826 = t2825 * t170; + const double t2827 = t1047 * sigma_aa; + const double t2828 = t2827 * t546; + const double t2829 = t2828 / 0.8e1; + const double t2830 = t1047 * t158; + const double t2831 = t2830 * t554; + const double t2832 = 0.4e2 / 0.3e1 * t2831; + const double t2833 = t491 * t1050; + const double t2834 = t2833 / 0.8e1; + const double t2835 = t541 * t1050; + const double t2836 = t2835 / 0.8e1; + const double t2837 = t152 * t546; + const double t2838 = t2837 / 0.8e1; + const double t2839 = t152 * t122; + const double t2841 = tau_a * t165 * t168; + const double t2842 = t2839 * t2841; + const double t2843 = 0.5e1 / 0.3e1 * t2842; + const double t2844 = t743 * t1076; + const double t2848 = t502 * t369; + const double t2849 = t2848 * sigma_aa; + const double t2852 = t377 * t502; + const double t2853 = t2852 * sigma_aa; + const double t2856 = t1055 * t494; + const double t2865 = t385 * t502; + const double t2866 = t2865 * sigma_aa; + const double t2869 = t1060 * t494; + const double t2878 = t779 * t502; + const double t2879 = t2878 * sigma_aa; + const double t2882 = t1066 * t494; + const double t2891 = t1892 * t502; + const double t2898 = -0.8e1 / 0.3e1 * t357 * t494 * t361 + 0.16e2 / 0.3e1 * t748 * t2849 - 0.16e2 / 0.3e1 * t1839 * t2853 + 0.8e1 / 0.3e1 * t748 * t2856 - 0.16e2 / 0.3e1 * t366 * t2849 + 0.64e2 / 0.3e1 * t1849 * t2853 - 0.16e2 / 0.3e1 * t366 * t2856 - 0.16e2 * t1855 * t2866 + 0.16e2 / 0.3e1 * t757 * t2869 - 0.16e2 * t1863 * t2853 + 0.48e2 * t1866 * t2866 - 0.8e1 * t374 * t2869 - 0.32e2 * t1872 * t2879 + 0.8e1 * t766 * t2882 - 0.32e2 * t1880 * t2866 + 0.256e3 / 0.3e1 * t1883 * t2879 - 0.32e2 / 0.3e1 * t382 * t2882 - 0.16e3 / 0.3e1 * t1890 * t2891 * sigma_aa + 0.32e2 / 0.3e1 * t776 * t1072 * t494; + const double t2899 = t354 * t2898; + const double t2902 = t649 * t1105; + const double t2903 = t2902 * t290; + const double t2904 = t650 * t1109; + const double t2905 = t2904 / 0.8e1; + const double t2906 = t743 * t1131; + const double t2907 = t748 * t238; + const double t2910 = t377 * t238; + const double t2911 = t2910 * t495; + const double t2914 = t2298 * t238; + const double t2919 = t385 * t238; + const double t2920 = t2919 * t495; + const double t2927 = t779 * t238; + const double t2928 = t2927 * t495; + const double t2935 = t1892 * t238; + const double t2939 = 0.16e2 / 0.3e1 * t2907 * t751 - 0.16e2 / 0.3e1 * t1839 * t2911 - 0.16e2 / 0.3e1 * t2297 * t2914 + 0.64e2 / 0.3e1 * t1849 * t2911 - 0.16e2 * t1855 * t2920 - 0.16e2 * t1863 * t2911 + 0.48e2 * t1866 * t2920 - 0.32e2 * t1872 * t2928 - 0.32e2 * t1880 * t2920 + 0.256e3 / 0.3e1 * t1883 * t2928 - 0.16e3 / 0.3e1 * t1890 * t2935 * t495; + const double t2940 = t354 * t2939; + const double t2943 = t850 * t1046; + const double t2944 = t2943 * t170; + const double t2945 = t851 * t1050; + const double t2946 = t2945 / 0.8e1; + const double t2947 = t989 * t1076; + const double t2948 = t748 * t107; + const double t2951 = t377 * t107; + const double t2952 = t2951 * t920; + const double t2955 = t366 * sigma_bb; + const double t2956 = t2288 * t107; + const double t2961 = t385 * t107; + const double t2962 = t2961 * t920; + const double t2969 = t779 * t107; + const double t2970 = t2969 * t920; + const double t2977 = t1892 * t107; + const double t2981 = 0.16e2 / 0.3e1 * t2948 * t995 - 0.16e2 / 0.3e1 * t1839 * t2952 - 0.16e2 / 0.3e1 * t2955 * t2956 + 0.64e2 / 0.3e1 * t1849 * t2952 - 0.16e2 * t1855 * t2962 - 0.16e2 * t1863 * t2952 + 0.48e2 * t1866 * t2962 - 0.32e2 * t1872 * t2970 - 0.32e2 * t1880 * t2962 + 0.256e3 / 0.3e1 * t1883 * t2970 - 0.16e3 / 0.3e1 * t1890 * t2977 * t920; + const double t2982 = t354 * t2981; + const double t2985 = t915 * t1105; + const double t2986 = t2985 * t290; + const double t2990 = t926 * t253; + const double t2991 = t2990 * sigma_bb; + const double t2995 = t246 * t934 * t261; + const double t3003 = t256 * t943 * t270; + const double t3011 = t264 * t953 * t956; + const double t3018 = t2661 * rho_b; + const double t3019 = 0.1e1 / t3018; + const double t3024 = -0.8e1 / 0.3e1 * t102 * t919 * t243 + 0.8e1 * t499 * t2991 - 0.16e2 / 0.3e1 * t1378 * t2995 - 0.32e2 / 0.3e1 * t117 * t2991 + 0.8e2 / 0.3e1 * t509 * t2995 - 0.16e2 * t1388 * t3003 - 0.24e2 * t130 * t2995 + 0.56e2 * t518 * t3003 - 0.32e2 * t1400 * t3011 - 0.128e3 / 0.3e1 * t141 * t3003 + 0.96e2 * t529 * t3011 - 0.16e3 / 0.3e1 * t1413 * t950 * t3019 * t2666; + const double t3025 = t233 * t3024; + const double t3026 = t3025 * t290; + const double t3027 = t1106 * sigma_bb; + const double t3028 = t3027 * t966; + const double t3029 = t3028 / 0.8e1; + const double t3030 = t1106 * t280; + const double t3031 = t3030 * t974; + const double t3032 = 0.4e2 / 0.3e1 * t3031; + const double t3033 = t916 * t1109; + const double t3034 = t3033 / 0.8e1; + const double t3035 = t961 * t1109; + const double t3036 = t3035 / 0.8e1; + const double t3037 = t274 * t966; + const double t3038 = t3037 / 0.8e1; + const double t3039 = t274 * t250; + const double t3041 = tau_b * t165 * t288; + const double t3042 = t3039 * t3041; + const double t3043 = 0.5e1 / 0.3e1 * t3042; + const double t3044 = t989 * t1131; + const double t3048 = t926 * t369; + const double t3049 = t3048 * sigma_bb; + const double t3052 = t377 * t926; + const double t3053 = t3052 * sigma_bb; + const double t3056 = t1055 * t919; + const double t3065 = t385 * t926; + const double t3066 = t3065 * sigma_bb; + const double t3069 = t1060 * t919; + const double t3078 = t779 * t926; + const double t3079 = t3078 * sigma_bb; + const double t3082 = t1066 * t919; + const double t3091 = t1892 * t926; + const double t3098 = -0.8e1 / 0.3e1 * t357 * t919 * t361 + 0.16e2 / 0.3e1 * t748 * t3049 - 0.16e2 / 0.3e1 * t1839 * t3053 + 0.8e1 / 0.3e1 * t748 * t3056 - 0.16e2 / 0.3e1 * t366 * t3049 + 0.64e2 / 0.3e1 * t1849 * t3053 - 0.16e2 / 0.3e1 * t366 * t3056 - 0.16e2 * t1855 * t3066 + 0.16e2 / 0.3e1 * t757 * t3069 - 0.16e2 * t1863 * t3053 + 0.48e2 * t1866 * t3066 - 0.8e1 * t374 * t3069 - 0.32e2 * t1872 * t3079 + 0.8e1 * t766 * t3082 - 0.32e2 * t1880 * t3066 + 0.256e3 / 0.3e1 * t1883 * t3079 - 0.32e2 / 0.3e1 * t382 * t3082 - 0.16e3 / 0.3e1 * t1890 * t3091 * sigma_bb + 0.32e2 / 0.3e1 * t776 * t1072 * t919; + const double t3099 = t354 * t3098; + const double t3102 = t1359 * t1136; + const double t3103 = t3102 / 0.8e1; + const double t3104 = t1427 * t1136; + const double t3105 = t3104 / 0.8e1; + const double t3107 = t544 * t1134 * t169; + const double t3108 = t543 * t3107; + const double t3109 = t3108 / 0.8e1; + const double t3111 = t122 * t165 * t168; + const double t3112 = t543 * t3111; + const double t3113 = 0.2e1 / 0.3e1 * t3112; + const double t3114 = t1362 * t1140; + const double t3115 = 0.8e1 * t3114; + const double t3116 = t1430 * t1140; + const double t3117 = 0.8e1 * t3116; + const double t3119 = tau_a * t551 * t553; + const double t3120 = t549 * t3119; + const double t3121 = 0.8e2 / 0.3e1 * t3120; + const double t3122 = t159 * tau_a; + const double t3124 = 0.1e1 / t105 / t1371; + const double t3126 = t3122 * t3124 * t1452; + const double t3127 = t549 * t3126; + const double t3128 = 0.32e3 / 0.3e1 * t3127; + const double t3131 = t2237 * t1146; + const double t3132 = t3131 / 0.8e1; + const double t3133 = t2240 * t1150; + const double t3134 = 0.8e1 * t3133; + const double t3137 = t2068 * t1136; + const double t3138 = t3137 / 0.8e1; + const double t3139 = t2071 * t1140; + const double t3140 = 0.8e1 * t3139; + const double t3143 = t2610 * t1146; + const double t3144 = t3143 / 0.8e1; + const double t3145 = t2673 * t1146; + const double t3146 = t3145 / 0.8e1; + const double t3148 = t964 * t1144 * t289; + const double t3149 = t963 * t3148; + const double t3150 = t3149 / 0.8e1; + const double t3152 = t250 * t165 * t288; + const double t3153 = t963 * t3152; + const double t3154 = 0.2e1 / 0.3e1 * t3153; + const double t3155 = t2613 * t1150; + const double t3156 = 0.8e1 * t3155; + const double t3157 = t2676 * t1150; + const double t3158 = 0.8e1 * t3157; + const double t3160 = tau_b * t971 * t973; + const double t3161 = t969 * t3160; + const double t3162 = 0.8e2 / 0.3e1 * t3161; + const double t3163 = t281 * tau_b; + const double t3165 = 0.1e1 / t236 / t2622; + const double t3167 = t3163 * t3165 * t2696; + const double t3168 = t969 * t3167; + const double t3169 = 0.32e3 / 0.3e1 * t3168; + const double t3172 = t122 * t125; + const double t3176 = sigma_aa * t133 * t136; + const double t3184 = t118 * t145 * t148; + const double t3192 = t131 * t1041 * t536; + const double t3199 = 0.1e1 / t1415; + const double t3204 = 0.2e2 * t1413 * t142 * t3199 * t1420 + 0.2e1 * t117 * t3172 + 0.6e1 * t130 * t3176 + 0.2e1 * t1378 * t3176 + 0.6e1 * t1388 * t3184 + 0.12e2 * t1400 * t3192 + 0.12e2 * t141 * t3184 - 0.2e1 * t499 * t3172 - 0.8e1 * t509 * t3176 - 0.18e2 * t518 * t3184 - 0.32e2 * t529 * t3192; + const double t3205 = t99 * t3204; + const double t3206 = t3205 * t170; + const double t3208 = t1047 * t1050 / 0.4e1; + const double t3209 = t122 * t369; + const double t3212 = t2292 * t122; + const double t3219 = t2305 * t122; + const double t3226 = t2315 * t122; + const double t3236 = 0.2e2 * t1889 * t2325 * t122 + 0.2e1 * t1838 * t3212 + 0.6e1 * t1854 * t3219 + 0.12e2 * t1871 * t3226 + 0.2e1 * t366 * t3209 - 0.2e1 * t748 * t3209 + 0.6e1 * t374 * t3212 - 0.8e1 * t757 * t3212 + 0.12e2 * t382 * t3219 - 0.18e2 * t766 * t3219 - 0.32e2 * t776 * t3226; + const double t3237 = t354 * t3236; + const double t3239 = t4 * t354; + const double t3241 = t238 * t369 * t107; + const double t3244 = t2910 * t107; + const double t3251 = t2919 * t107; + const double t3258 = t2927 * t107; + const double t3268 = 0.2e2 * t1890 * t2935 * t107 + 0.2e1 * t1839 * t3244 - 0.8e1 * t1849 * t3244 + 0.6e1 * t1855 * t3251 + 0.6e1 * t1863 * t3244 - 0.18e2 * t1866 * t3251 + 0.12e2 * t1872 * t3258 + 0.12e2 * t1880 * t3251 - 0.32e2 * t1883 * t3258 + 0.2e1 * t366 * t3241 - 0.2e1 * t748 * t3241; + const double t3269 = t250 * t253; + const double t3273 = sigma_bb * t258 * t261; + const double t3281 = t246 * t267 * t270; + const double t3289 = t256 * t1100 * t956; + const double t3296 = 0.1e1 / t2661; + const double t3301 = 0.2e2 * t1413 * t264 * t3296 * t2666 + 0.2e1 * t117 * t3269 + 0.6e1 * t130 * t3273 + 0.2e1 * t1378 * t3273 + 0.6e1 * t1388 * t3281 + 0.12e2 * t1400 * t3289 + 0.12e2 * t141 * t3281 - 0.2e1 * t499 * t3269 - 0.8e1 * t509 * t3273 - 0.18e2 * t518 * t3281 - 0.32e2 * t529 * t3289; + const double t3302 = t233 * t3301; + const double t3303 = t3302 * t290; + const double t3305 = t1106 * t1109 / 0.4e1; + const double t3306 = t250 * t369; + const double t3309 = t2292 * t250; + const double t3316 = t2305 * t250; + const double t3323 = t2315 * t250; + const double t3333 = 0.2e2 * t1889 * t2325 * t250 + 0.2e1 * t1838 * t3309 + 0.6e1 * t1854 * t3316 + 0.12e2 * t1871 * t3323 + 0.2e1 * t366 * t3306 - 0.2e1 * t748 * t3306 + 0.6e1 * t374 * t3309 - 0.8e1 * t757 * t3309 + 0.12e2 * t382 * t3316 - 0.18e2 * t766 * t3316 - 0.32e2 * t776 * t3323; + const double t3334 = t354 * t3333; + const double t3337 = t2827 * t1136 / 0.8e1; + const double t3339 = t152 * t1136 / 0.8e1; + const double t3341 = 0.8e1 * t2830 * t1140; + const double t3343 = t551 * t165 * t168; + const double t3344 = t152 * t3343; + const double t3347 = t3027 * t1146 / 0.8e1; + const double t3349 = t274 * t1146 / 0.8e1; + const double t3351 = 0.8e1 * t3030 * t1150; + const double t3353 = t971 * t165 * t288; + const double t3354 = t274 * t3353; + const double t3356 = 0.1e1 / t3122; + const double t3358 = t153 * t3356 * t169; + const double t3360 = t543 * t3358 / 0.4e1; + const double t3362 = t551 * t155 * t553; + const double t3364 = 0.2e1 * t543 * t3362; + const double t3366 = t162 * t165 * t168; + const double t3368 = 0.8e1 * t549 * t3366; + const double t3370 = 0.1e1 / t105 / t500; + const double t3372 = t159 * t3370 * t1452; + const double t3374 = 0.64e2 * t549 * t3372; + const double t3376 = 0.1e1 / t3163; + const double t3378 = t275 * t3376 * t289; + const double t3380 = t963 * t3378 / 0.4e1; + const double t3382 = t971 * t277 * t973; + const double t3384 = 0.2e1 * t963 * t3382; + const double t3386 = t284 * t165 * t288; + const double t3388 = 0.8e1 * t969 * t3386; + const double t3390 = 0.1e1 / t236 / t924; + const double t3392 = t281 * t3390 * t2696; + const double t3394 = 0.64e2 * t969 * t3392; + + + v2rho2_aa = 0.2e1 * t492 + 0.2e1 * t542 + t547 / 0.4e1 - 0.8e2 / 0.3e1 * t555 + 0.2e1 * t651 + 0.2e1 * t744 + 0.2e1 * t785 + t4 * t1902; + v2rho2_ab = t4 * t2331 + t1017 + t492 + t542 + t548 - t556 + t651 + t744 + t785 + t852 + t917 + t962 + t968 - t976 + t990; + v2rho2_bb = 0.2e1 * t852 + 0.2e1 * t917 + 0.2e1 * t962 + t967 / 0.4e1 - 0.8e2 / 0.3e1 * t975 + 0.2e1 * t990 + 0.2e1 * t1017 + t4 * t2783; + v2rhosigma_a_aa = t1048 - t1052 + t1077 + t4 * ( t2786 + t2826 + t2829 - t2832 - t2834 - t2836 + t2838 + t2843 + t2844 + t2899 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1107 - t1111 + t1132 + t4 * ( t2903 - t2905 + t2906 + t2940 ); + v2rhosigma_b_aa = t1048 - t1052 + t1077 + t4 * ( t2944 - t2946 + t2947 + t2982 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1107 - t1111 + t1132 + t4 * ( t2986 + t3026 + t3029 - t3032 - t3034 - t3036 + t3038 + t3043 + t3044 + t3099 ); + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1138 + t1142 + t4 * ( t3103 + t3105 - t3109 - t3113 + t3115 + t3117 - t3121 + t3128 ); + v2rhotau_a_b = t1148 + t1152 + t4 * ( t3132 + t3134 ); + v2rhotau_b_a = t1138 + t1142 + t4 * ( t3138 + t3140 ); + v2rhotau_b_b = t1148 + t1152 + t4 * ( t3144 + t3146 - t3150 - t3154 + t3156 + t3158 - t3162 + t3169 ); + v2sigma2_aa_aa = t4 * ( t3206 - t3208 + t3237 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t3239 * t3268; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t3303 - t3305 + t3334 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t3337 + t3339 + t3341 - t3344 ); + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = t4 * ( t3347 + t3349 + t3351 - t3354 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t3360 + t3364 + t3368 - t3374 ); + v2tau2_ab = 0.e0; + v2tau2_bb = t4 * ( -t3380 + t3384 + t3388 - t3394 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t499 = t101 * t116; + constexpr double t509 = t115 * t129; + constexpr double t518 = t128 * t140; + constexpr double t528 = t140 * gamma_ss; + constexpr double t529 = t139 * t528; + constexpr double t661 = t13 * t16; + constexpr double t748 = t356 * t365; + constexpr double t757 = t364 * t373; + constexpr double t766 = t372 * t381; + constexpr double t775 = t381 * gamma_ab; + constexpr double t776 = t380 * t775; + constexpr double t1378 = t101 * t129; + constexpr double t1388 = t115 * t140; + constexpr double t1400 = t128 * t528; + constexpr double t1412 = t140 * t116; + constexpr double t1413 = t139 * t1412; + constexpr double t1450 = t164 * t164; + constexpr double t1451 = 0.1e1 / t1450; + constexpr double t1651 = t37 * t15; + constexpr double t1838 = t356 * t373; + constexpr double t1854 = t364 * t381; + constexpr double t1871 = t372 * t775; + constexpr double t1888 = t381 * t365; + constexpr double t1889 = t380 * t1888; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t390 = 0.1e1 / t313; + const double t391 = t3 * t390; + const double t392 = t5 - t391; + const double t393 = piecewise_functor_3( t8, 0.0, t392 ); + const double t396 = 0.1e1 / t18 / t4; + const double t397 = t396 * t20; + const double t399 = t17 * t397 * t26; + const double t400 = 0.17808333333333333333e-1 * t399; + const double t401 = 0.1e1 / t317; + const double t404 = piecewise_functor_3( t8, 0.0, -t401 * t392 / 0.3e1 ); + const double t406 = t17 * t21 * t404; + const double t408 = -t400 + 0.53425e-1 * t406; + const double t410 = 0.621814e-1 * t408 * t52; + const double t411 = t48 * t48; + const double t412 = 0.1e1 / t411; + const double t413 = t30 * t412; + const double t414 = 0.1e1 / t31; + const double t415 = t399 / 0.3e1; + const double t416 = -t415 + t406; + const double t417 = t414 * t416; + const double t419 = 0.29896666666666666667e0 * t399; + const double t421 = safe_math::sqrt( t28 ); + const double t422 = t421 * t416; + const double t425 = 0.1e1 / t40 / t4; + const double t426 = t425 * t42; + const double t428 = t39 * t426 * t44; + const double t429 = 0.82156666666666666667e-1 * t428; + const double t430 = t26 * t404; + const double t432 = t39 * t43 * t430; + const double t434 = 0.1898925e1 * t417 - t419 + 0.8969e0 * t406 + 0.3071625e0 * t422 - t429 + 0.24647e0 * t432; + const double t435 = 0.1e1 / t51; + const double t436 = t434 * t435; + const double t438 = 0.1e1 * t413 * t436; + const double t439 = 0.17123333333333333333e-1 * t399; + const double t441 = -t439 + 0.5137e-1 * t406; + const double t444 = t72 * t72; + const double t445 = 0.1e1 / t444; + const double t446 = t67 * t445; + const double t448 = 0.516475e0 * t399; + const double t451 = 0.104195e0 * t428; + const double t453 = 0.3529725e1 * t417 - t448 + 0.1549425e1 * t406 + 0.6311625e0 * t422 - t451 + 0.312585e0 * t432; + const double t454 = 0.1e1 / t75; + const double t455 = t453 * t454; + const double t458 = 0.92708333333333333333e-2 * t399; + const double t460 = -t458 + 0.278125e-1 * t406; + const double t461 = t460 * t89; + const double t463 = t85 * t85; + const double t464 = 0.1e1 / t463; + const double t465 = t80 * t464; + const double t467 = 0.301925e0 * t399; + const double t470 = 0.82785e-1 * t428; + const double t472 = 0.258925e1 * t417 - t467 + 0.905775e0 * t406 + 0.16504875e0 * t422 - t470 + 0.248355e0 * t432; + const double t473 = 0.1e1 / t88; + const double t474 = t472 * t473; + const double t481 = t65 * t80; + const double t483 = t464 * t472 * t473; + const double t486 = -t410 + t438 + t65 * ( -0.310907e-1 * t441 * t76 + 0.1e1 * t446 * t455 + t410 - t438 - 0.19751673498613801407e-1 * t461 + 0.5848223622634646207e0 * t465 * t474 ) + 0.19751673498613801407e-1 * t65 * t461 - 0.5848223622634646207e0 * t481 * t483; + const double t490 = piecewise_functor_3( t9, 0.0, t10 * t486 / 0.2e1 + t393 * t96 / 0.2e1 ); + const double t491 = t490 * t151; + const double t492 = t491 * t170; + const double t494 = 0.1e1 / t105 / t160; + const double t495 = sigma_aa * t494; + const double t500 = t119 * t103; + const double t502 = 0.1e1 / t104 / t500; + const double t504 = t118 * t502 * t125; + const double t510 = t132 * rho_a; + const double t511 = 0.1e1 / t510; + const double t513 = t131 * t511 * t136; + const double t519 = t132 * t160; + const double t521 = 0.1e1 / t105 / t519; + const double t523 = t142 * t521 * t148; + const double t530 = t142 * sigma_aa; + const double t531 = t132 * t500; + const double t533 = 0.1e1 / t104 / t531; + const double t536 = 0.1e1 / t147 / t111; + const double t540 = -0.8e1 / 0.3e1 * t102 * t495 * t112 + 0.8e1 / 0.3e1 * t499 * t504 - 0.16e2 / 0.3e1 * t117 * t504 + 0.16e2 / 0.3e1 * t509 * t513 - 0.8e1 * t130 * t513 + 0.8e1 * t518 * t523 - 0.32e2 / 0.3e1 * t141 * t523 + 0.32e2 / 0.3e1 * t529 * t530 * t533 * t536; + const double t541 = t99 * t540; + const double t542 = t541 * t170; + const double t543 = t152 * sigma_aa; + const double t544 = 0.1e1 / t103; + const double t546 = t544 * t155 * t169; + const double t547 = t543 * t546; + const double t548 = t547 / 0.8e1; + const double t549 = t152 * t158; + const double t551 = 0.1e1 / t104 / t119; + const double t553 = t165 * t168; + const double t554 = t159 * t551 * t553; + const double t555 = t549 * t554; + const double t556 = 0.4e2 / 0.3e1 * t555; + const double t557 = -t392; + const double t558 = piecewise_functor_3( t174, 0.0, t557 ); + const double t561 = t17 * t397 * t179; + const double t562 = 0.17808333333333333333e-1 * t561; + const double t563 = 0.1e1 / t319; + const double t566 = piecewise_functor_3( t174, 0.0, -t563 * t557 / 0.3e1 ); + const double t568 = t17 * t21 * t566; + const double t570 = -t562 + 0.53425e-1 * t568; + const double t572 = 0.621814e-1 * t570 * t197; + const double t573 = t193 * t193; + const double t574 = 0.1e1 / t573; + const double t575 = t183 * t574; + const double t576 = 0.1e1 / t184; + const double t577 = t561 / 0.3e1; + const double t578 = -t577 + t568; + const double t579 = t576 * t578; + const double t581 = 0.29896666666666666667e0 * t561; + const double t583 = safe_math::sqrt( t181 ); + const double t584 = t583 * t578; + const double t587 = t39 * t426 * t189; + const double t588 = 0.82156666666666666667e-1 * t587; + const double t589 = t179 * t566; + const double t591 = t39 * t43 * t589; + const double t593 = 0.1898925e1 * t579 - t581 + 0.8969e0 * t568 + 0.3071625e0 * t584 - t588 + 0.24647e0 * t591; + const double t594 = 0.1e1 / t196; + const double t595 = t593 * t594; + const double t597 = 0.1e1 * t575 * t595; + const double t598 = 0.17123333333333333333e-1 * t561; + const double t600 = -t598 + 0.5137e-1 * t568; + const double t603 = t206 * t206; + const double t604 = 0.1e1 / t603; + const double t605 = t201 * t604; + const double t607 = 0.516475e0 * t561; + const double t610 = 0.104195e0 * t587; + const double t612 = 0.3529725e1 * t579 - t607 + 0.1549425e1 * t568 + 0.6311625e0 * t584 - t610 + 0.312585e0 * t591; + const double t613 = 0.1e1 / t209; + const double t614 = t612 * t613; + const double t617 = 0.92708333333333333333e-2 * t561; + const double t619 = -t617 + 0.278125e-1 * t568; + const double t620 = t619 * t223; + const double t622 = t219 * t219; + const double t623 = 0.1e1 / t622; + const double t624 = t214 * t623; + const double t626 = 0.301925e0 * t561; + const double t629 = 0.82785e-1 * t587; + const double t631 = 0.258925e1 * t579 - t626 + 0.905775e0 * t568 + 0.16504875e0 * t584 - t629 + 0.248355e0 * t591; + const double t632 = 0.1e1 / t222; + const double t633 = t631 * t632; + const double t640 = t65 * t214; + const double t642 = t623 * t631 * t632; + const double t645 = -t572 + t597 + t65 * ( -0.310907e-1 * t600 * t210 + 0.1e1 * t605 * t614 + t572 - t597 - 0.19751673498613801407e-1 * t620 + 0.5848223622634646207e0 * t624 * t633 ) + 0.19751673498613801407e-1 * t65 * t620 - 0.5848223622634646207e0 * t640 * t642; + const double t649 = piecewise_functor_3( t175, 0.0, t176 * t645 / 0.2e1 + t558 * t230 / 0.2e1 ); + const double t650 = t649 * t273; + const double t651 = t650 * t290; + const double t652 = t16 * t396; + const double t655 = 0.11073470983333333333e-2 * t14 * t652 * t308; + const double t656 = t304 * t304; + const double t657 = 0.1e1 / t656; + const double t658 = t295 * t657; + const double t660 = 0.1e1 / t296 * t11; + const double t662 = t661 * t396; + const double t663 = t660 * t662; + const double t665 = t14 * t652; + const double t667 = safe_math::sqrt( t293 ); + const double t668 = t667 * t11; + const double t669 = t668 * t662; + const double t672 = t38 * t15 * t425; + const double t674 = -0.632975e0 * t663 - 0.29896666666666666667e0 * t665 - 0.1023875e0 * t669 - 0.82156666666666666667e-1 * t672; + const double t675 = 0.1e1 / t307; + const double t676 = t674 * t675; + const double t678 = 0.1e1 * t658 * t676; + const double t679 = t311 * t3; + const double t680 = t679 * t315; + const double t682 = 0.4e1 * t680 * t350; + const double t683 = t314 * t4; + const double t684 = 0.1e1 / t683; + const double t685 = t312 * t684; + const double t687 = 0.4e1 * t685 * t350; + const double t690 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t392 ); + const double t693 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t557 ); + const double t695 = ( t690 + t693 ) * t64; + const double t696 = t695 * t349; + const double t701 = t329 * t329; + const double t702 = 0.1e1 / t701; + const double t703 = t324 * t702; + const double t708 = -0.1176575e1 * t663 - 0.516475e0 * t665 - 0.2103875e0 * t669 - 0.104195e0 * t672; + const double t709 = 0.1e1 / t332; + const double t710 = t708 * t709; + const double t716 = t342 * t342; + const double t717 = 0.1e1 / t716; + const double t718 = t337 * t717; + const double t723 = -0.86308333333333333334e0 * t663 - 0.301925e0 * t665 - 0.5501625e-1 * t669 - 0.82785e-1 * t672; + const double t724 = 0.1e1 / t345; + const double t725 = t723 * t724; + const double t728 = 0.53237641966666666666e-3 * t14 * t652 * t333 + 0.1e1 * t703 * t710 - t655 - t678 + 0.18311447306006545054e-3 * t14 * t652 * t346 + 0.5848223622634646207e0 * t718 * t725; + const double t729 = t322 * t728; + const double t730 = t316 * t729; + const double t733 = t322 * t11; + const double t735 = t661 * t396 * t346; + const double t737 = 0.18311447306006545054e-3 * t733 * t735; + const double t738 = t322 * t337; + const double t740 = t717 * t723 * t724; + const double t742 = 0.5848223622634646207e0 * t738 * t740; + const double t743 = t655 + t678 + t682 - t687 + t316 * t696 + t730 + 0.19751673498613801407e-1 * t695 * t347 - t737 - t742 - t490 - t649; + const double t744 = t743 * t388; + const double t749 = t748 * t358; + const double t750 = t369 * sigma_aa; + const double t751 = t750 * t494; + const double t754 = t366 * t358; + const double t758 = t757 * t367; + const double t759 = t377 * sigma_aa; + const double t760 = t759 * t494; + const double t763 = t374 * t367; + const double t767 = t766 * t375; + const double t768 = t385 * sigma_aa; + const double t769 = t768 * t494; + const double t772 = t382 * t375; + const double t777 = t776 * t383; + const double t779 = 0.1e1 / t384 / t360; + const double t780 = t779 * sigma_aa; + const double t784 = -0.8e1 / 0.3e1 * t357 * t495 * t361 + 0.8e1 / 0.3e1 * t749 * t751 - 0.16e2 / 0.3e1 * t754 * t751 + 0.16e2 / 0.3e1 * t758 * t760 - 0.8e1 * t763 * t760 + 0.8e1 * t767 * t769 - 0.32e2 / 0.3e1 * t772 * t769 + 0.32e2 / 0.3e1 * t777 * t780 * t494; + const double t785 = t354 * t784; + const double t788 = -t5 - t391; + const double t789 = piecewise_functor_3( t8, 0.0, t788 ); + const double t793 = piecewise_functor_3( t8, 0.0, -t401 * t788 / 0.3e1 ); + const double t795 = t17 * t21 * t793; + const double t797 = -t400 + 0.53425e-1 * t795; + const double t799 = 0.621814e-1 * t797 * t52; + const double t800 = -t415 + t795; + const double t801 = t414 * t800; + const double t804 = t421 * t800; + const double t806 = t26 * t793; + const double t808 = t39 * t43 * t806; + const double t810 = 0.1898925e1 * t801 - t419 + 0.8969e0 * t795 + 0.3071625e0 * t804 - t429 + 0.24647e0 * t808; + const double t811 = t810 * t435; + const double t813 = 0.1e1 * t413 * t811; + const double t815 = -t439 + 0.5137e-1 * t795; + const double t822 = 0.3529725e1 * t801 - t448 + 0.1549425e1 * t795 + 0.6311625e0 * t804 - t451 + 0.312585e0 * t808; + const double t823 = t822 * t454; + const double t827 = -t458 + 0.278125e-1 * t795; + const double t828 = t827 * t89; + const double t834 = 0.258925e1 * t801 - t467 + 0.905775e0 * t795 + 0.16504875e0 * t804 - t470 + 0.248355e0 * t808; + const double t835 = t834 * t473; + const double t843 = t464 * t834 * t473; + const double t846 = -t799 + t813 + t65 * ( -0.310907e-1 * t815 * t76 + 0.1e1 * t446 * t823 + t799 - t813 - 0.19751673498613801407e-1 * t828 + 0.5848223622634646207e0 * t465 * t835 ) + 0.19751673498613801407e-1 * t65 * t828 - 0.5848223622634646207e0 * t481 * t843; + const double t850 = piecewise_functor_3( t9, 0.0, t10 * t846 / 0.2e1 + t789 * t96 / 0.2e1 ); + const double t851 = t850 * t151; + const double t852 = t851 * t170; + const double t853 = -t788; + const double t854 = piecewise_functor_3( t174, 0.0, t853 ); + const double t858 = piecewise_functor_3( t174, 0.0, -t563 * t853 / 0.3e1 ); + const double t860 = t17 * t21 * t858; + const double t862 = -t562 + 0.53425e-1 * t860; + const double t864 = 0.621814e-1 * t862 * t197; + const double t865 = -t577 + t860; + const double t866 = t576 * t865; + const double t869 = t583 * t865; + const double t871 = t179 * t858; + const double t873 = t39 * t43 * t871; + const double t875 = 0.1898925e1 * t866 - t581 + 0.8969e0 * t860 + 0.3071625e0 * t869 - t588 + 0.24647e0 * t873; + const double t876 = t875 * t594; + const double t878 = 0.1e1 * t575 * t876; + const double t880 = -t598 + 0.5137e-1 * t860; + const double t887 = 0.3529725e1 * t866 - t607 + 0.1549425e1 * t860 + 0.6311625e0 * t869 - t610 + 0.312585e0 * t873; + const double t888 = t887 * t613; + const double t892 = -t617 + 0.278125e-1 * t860; + const double t893 = t892 * t223; + const double t899 = 0.258925e1 * t866 - t626 + 0.905775e0 * t860 + 0.16504875e0 * t869 - t629 + 0.248355e0 * t873; + const double t900 = t899 * t632; + const double t908 = t623 * t899 * t632; + const double t911 = -t864 + t878 + t65 * ( -0.310907e-1 * t880 * t210 + 0.1e1 * t605 * t888 + t864 - t878 - 0.19751673498613801407e-1 * t893 + 0.5848223622634646207e0 * t624 * t900 ) + 0.19751673498613801407e-1 * t65 * t893 - 0.5848223622634646207e0 * t640 * t908; + const double t915 = piecewise_functor_3( t175, 0.0, t176 * t911 / 0.2e1 + t854 * t230 / 0.2e1 ); + const double t916 = t915 * t273; + const double t917 = t916 * t290; + const double t919 = 0.1e1 / t236 / t282; + const double t920 = sigma_bb * t919; + const double t924 = t247 * t234; + const double t926 = 0.1e1 / t235 / t924; + const double t928 = t246 * t926 * t253; + const double t933 = t257 * rho_b; + const double t934 = 0.1e1 / t933; + const double t936 = t256 * t934 * t261; + const double t941 = t257 * t282; + const double t943 = 0.1e1 / t236 / t941; + const double t945 = t264 * t943 * t270; + const double t950 = t264 * sigma_bb; + const double t951 = t257 * t924; + const double t953 = 0.1e1 / t235 / t951; + const double t956 = 0.1e1 / t269 / t242; + const double t960 = -0.8e1 / 0.3e1 * t102 * t920 * t243 + 0.8e1 / 0.3e1 * t499 * t928 - 0.16e2 / 0.3e1 * t117 * t928 + 0.16e2 / 0.3e1 * t509 * t936 - 0.8e1 * t130 * t936 + 0.8e1 * t518 * t945 - 0.32e2 / 0.3e1 * t141 * t945 + 0.32e2 / 0.3e1 * t529 * t950 * t953 * t956; + const double t961 = t233 * t960; + const double t962 = t961 * t290; + const double t963 = t274 * sigma_bb; + const double t964 = 0.1e1 / t234; + const double t966 = t964 * t277 * t289; + const double t967 = t963 * t966; + const double t968 = t967 / 0.8e1; + const double t969 = t274 * t280; + const double t971 = 0.1e1 / t235 / t247; + const double t973 = t165 * t288; + const double t974 = t281 * t971 * t973; + const double t975 = t969 * t974; + const double t976 = 0.4e2 / 0.3e1 * t975; + const double t979 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t788 ); + const double t982 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t853 ); + const double t984 = ( t979 + t982 ) * t64; + const double t985 = t984 * t349; + const double t989 = t655 + t678 - t682 - t687 + t316 * t985 + t730 + 0.19751673498613801407e-1 * t984 * t347 - t737 - t742 - t850 - t915; + const double t990 = t989 * t388; + const double t994 = t369 * sigma_bb; + const double t995 = t994 * t919; + const double t1000 = t377 * sigma_bb; + const double t1001 = t1000 * t919; + const double t1006 = t385 * sigma_bb; + const double t1007 = t1006 * t919; + const double t1012 = t779 * sigma_bb; + const double t1016 = -0.8e1 / 0.3e1 * t357 * t920 * t361 + 0.8e1 / 0.3e1 * t749 * t995 - 0.16e2 / 0.3e1 * t754 * t995 + 0.16e2 / 0.3e1 * t758 * t1001 - 0.8e1 * t763 * t1001 + 0.8e1 * t767 * t1007 - 0.32e2 / 0.3e1 * t772 * t1007 + 0.32e2 / 0.3e1 * t777 * t1012 * t919; + const double t1017 = t354 * t1016; + const double t1023 = sigma_aa * t122 * t125; + const double t1028 = t118 * t133 * t136; + const double t1034 = t131 * t145 * t148; + const double t1039 = t132 * t120; + const double t1041 = 0.1e1 / t104 / t1039; + const double t1046 = -0.4e1 * t529 * t142 * t1041 * t536 + t102 * t107 * t112 + 0.2e1 * t117 * t1023 - t499 * t1023 + 0.3e1 * t130 * t1028 - 0.2e1 * t509 * t1028 + 0.4e1 * t141 * t1034 - 0.3e1 * t518 * t1034; + const double t1047 = t99 * t1046; + const double t1048 = t1047 * t170; + const double t1050 = t153 * t155 * t169; + const double t1052 = t152 * t1050 / 0.8e1; + const double t1055 = t358 * t369; + const double t1056 = t1055 * t107; + const double t1060 = t367 * t377; + const double t1061 = t1060 * t107; + const double t1066 = t375 * t385; + const double t1067 = t1066 * t107; + const double t1072 = t383 * t779; + const double t1076 = -0.4e1 * t776 * t1072 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1056 - t748 * t1056 + 0.3e1 * t374 * t1061 - 0.2e1 * t757 * t1061 + 0.4e1 * t382 * t1067 - 0.3e1 * t766 * t1067; + const double t1077 = t354 * t1076; + const double t1082 = sigma_bb * t250 * t253; + const double t1087 = t246 * t258 * t261; + const double t1093 = t256 * t267 * t270; + const double t1098 = t257 * t248; + const double t1100 = 0.1e1 / t235 / t1098; + const double t1105 = -0.4e1 * t529 * t264 * t1100 * t956 + t102 * t238 * t243 + 0.2e1 * t117 * t1082 - t499 * t1082 + 0.3e1 * t130 * t1087 - 0.2e1 * t509 * t1087 + 0.4e1 * t141 * t1093 - 0.3e1 * t518 * t1093; + const double t1106 = t233 * t1105; + const double t1107 = t1106 * t290; + const double t1109 = t275 * t277 * t289; + const double t1111 = t274 * t1109 / 0.8e1; + const double t1114 = t1055 * t238; + const double t1118 = t1060 * t238; + const double t1123 = t1066 * t238; + const double t1131 = -0.4e1 * t776 * t1072 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1114 - t748 * t1114 + 0.3e1 * t374 * t1118 - 0.2e1 * t757 * t1118 + 0.4e1 * t382 * t1123 - 0.3e1 * t766 * t1123; + const double t1132 = t354 * t1131; + const double t1134 = 0.1e1 / t159; + const double t1136 = t153 * t1134 * t169; + const double t1138 = t543 * t1136 / 0.8e1; + const double t1140 = tau_a * t162 * t553; + const double t1142 = 0.8e1 * t549 * t1140; + const double t1144 = 0.1e1 / t281; + const double t1146 = t275 * t1144 * t289; + const double t1148 = t963 * t1146 / 0.8e1; + const double t1150 = tau_b * t284 * t973; + const double t1152 = 0.8e1 * t969 * t1150; + const double t1161 = t313 * t4; + const double t1162 = 0.1e1 / t1161; + const double t1163 = t3 * t1162; + const double t1165 = -0.2e1 * t390 + 0.2e1 * t1163; + const double t1166 = piecewise_functor_3( t8, 0.0, t1165 ); + const double t1171 = 0.1e1 / t18 / t313; + const double t1172 = t1171 * t20; + const double t1174 = t17 * t1172 * t26; + const double t1175 = 0.23744444444444444444e-1 * t1174; + const double t1177 = t17 * t397 * t404; + const double t1179 = t7 * t7; + const double t1181 = 0.1e1 / t24 / t1179; + const double t1182 = t392 * t392; + const double t1188 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t1182 - t401 * t1165 / 0.3e1 ); + const double t1190 = t17 * t21 * t1188; + const double t1192 = t1175 - 0.35616666666666666666e-1 * t1177 + 0.53425e-1 * t1190; + const double t1194 = 0.621814e-1 * t1192 * t52; + const double t1195 = t408 * t412; + const double t1197 = 0.2e1 * t1195 * t436; + const double t1198 = t411 * t48; + const double t1199 = 0.1e1 / t1198; + const double t1200 = t30 * t1199; + const double t1201 = t434 * t434; + const double t1202 = t1201 * t435; + const double t1204 = 0.2e1 * t1200 * t1202; + const double t1206 = 0.1e1 / t31 / t28; + const double t1207 = t416 * t416; + const double t1208 = t1206 * t1207; + const double t1210 = 0.4e1 / 0.9e1 * t1174; + const double t1212 = t1210 - 0.2e1 / 0.3e1 * t1177 + t1190; + const double t1213 = t414 * t1212; + const double t1215 = 0.39862222222222222223e0 * t1174; + const double t1218 = 0.1e1/safe_math::sqrt( t28 ); + const double t1219 = t1218 * t1207; + const double t1221 = t421 * t1212; + const double t1224 = 0.1e1 / t40 / t313; + const double t1225 = t1224 * t42; + const double t1227 = t39 * t1225 * t44; + const double t1228 = 0.13692777777777777778e0 * t1227; + const double t1230 = t39 * t426 * t430; + const double t1232 = t404 * t404; + const double t1234 = t39 * t43 * t1232; + const double t1236 = t26 * t1188; + const double t1238 = t39 * t43 * t1236; + const double t1240 = -0.9494625e0 * t1208 + 0.1898925e1 * t1213 + t1215 - 0.59793333333333333334e0 * t1177 + 0.8969e0 * t1190 + 0.15358125e0 * t1219 + 0.3071625e0 * t1221 + t1228 - 0.32862666666666666666e0 * t1230 + 0.24647e0 * t1234 + 0.24647e0 * t1238; + const double t1241 = t1240 * t435; + const double t1243 = 0.1e1 * t413 * t1241; + const double t1244 = t411 * t411; + const double t1245 = 0.1e1 / t1244; + const double t1246 = t30 * t1245; + const double t1247 = t51 * t51; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1201 * t1248; + const double t1251 = 0.16081979498692535067e2 * t1246 * t1249; + const double t1252 = 0.22831111111111111111e-1 * t1174; + const double t1255 = t1252 - 0.34246666666666666666e-1 * t1177 + 0.5137e-1 * t1190; + const double t1258 = t441 * t445; + const double t1261 = t444 * t72; + const double t1262 = 0.1e1 / t1261; + const double t1263 = t67 * t1262; + const double t1264 = t453 * t453; + const double t1265 = t1264 * t454; + const double t1270 = 0.68863333333333333333e0 * t1174; + const double t1275 = 0.17365833333333333333e0 * t1227; + const double t1279 = -0.17648625e1 * t1208 + 0.3529725e1 * t1213 + t1270 - 0.103295e1 * t1177 + 0.1549425e1 * t1190 + 0.31558125e0 * t1219 + 0.6311625e0 * t1221 + t1275 - 0.41678e0 * t1230 + 0.312585e0 * t1234 + 0.312585e0 * t1238; + const double t1280 = t1279 * t454; + const double t1283 = t444 * t444; + const double t1284 = 0.1e1 / t1283; + const double t1285 = t67 * t1284; + const double t1286 = t75 * t75; + const double t1287 = 0.1e1 / t1286; + const double t1288 = t1264 * t1287; + const double t1291 = 0.12361111111111111111e-1 * t1174; + const double t1294 = t1291 - 0.18541666666666666667e-1 * t1177 + 0.278125e-1 * t1190; + const double t1295 = t1294 * t89; + const double t1297 = t460 * t464; + const double t1300 = t463 * t85; + const double t1301 = 0.1e1 / t1300; + const double t1302 = t80 * t1301; + const double t1303 = t472 * t472; + const double t1304 = t1303 * t473; + const double t1309 = 0.40256666666666666667e0 * t1174; + const double t1314 = 0.137975e0 * t1227; + const double t1318 = -0.1294625e1 * t1208 + 0.258925e1 * t1213 + t1309 - 0.60385e0 * t1177 + 0.905775e0 * t1190 + 0.82524375e-1 * t1219 + 0.16504875e0 * t1221 + t1314 - 0.33114e0 * t1230 + 0.248355e0 * t1234 + 0.248355e0 * t1238; + const double t1319 = t1318 * t473; + const double t1322 = t463 * t463; + const double t1323 = 0.1e1 / t1322; + const double t1324 = t80 * t1323; + const double t1325 = t88 * t88; + const double t1326 = 0.1e1 / t1325; + const double t1327 = t1303 * t1326; + const double t1330 = -0.310907e-1 * t1255 * t76 + 0.2e1 * t1258 * t455 - 0.2e1 * t1263 * t1265 + 0.1e1 * t446 * t1280 + 0.32163958997385070134e2 * t1285 * t1288 + t1194 - t1197 + t1204 - t1243 - t1251 - 0.19751673498613801407e-1 * t1295 + 0.11696447245269292414e1 * t1297 * t474 - 0.11696447245269292414e1 * t1302 * t1304 + 0.5848223622634646207e0 * t465 * t1319 + 0.17315859105681463759e2 * t1324 * t1327; + const double t1334 = t65 * t460; + const double t1338 = t1301 * t1303 * t473; + const double t1342 = t464 * t1318 * t473; + const double t1345 = t1323 * t1303; + const double t1346 = t1345 * t1326; + const double t1349 = -t1194 + t1197 - t1204 + t1243 + t1251 + t65 * t1330 + 0.19751673498613801407e-1 * t65 * t1295 - 0.11696447245269292414e1 * t1334 * t483 + 0.11696447245269292414e1 * t481 * t1338 - 0.5848223622634646207e0 * t481 * t1342 - 0.17315859105681463759e2 * t481 * t1346; + const double t1353 = piecewise_functor_3( t9, 0.0, t1166 * t96 / 0.2e1 + t393 * t486 + t10 * t1349 / 0.2e1 ); + const double t1354 = t1353 * t151; + const double t1355 = t1354 * t170; + const double t1356 = t490 * t540; + const double t1357 = t1356 * t170; + const double t1358 = 0.2e1 * t1357; + const double t1359 = t491 * sigma_aa; + const double t1360 = t1359 * t546; + const double t1361 = t1360 / 0.4e1; + const double t1362 = t491 * t158; + const double t1363 = t1362 * t554; + const double t1364 = 0.8e2 / 0.3e1 * t1363; + const double t1366 = 0.1e1 / t105 / t119; + const double t1367 = sigma_aa * t1366; + const double t1371 = t119 * t160; + const double t1373 = 0.1e1 / t104 / t1371; + const double t1374 = t118 * t1373; + const double t1375 = t1374 * t125; + const double t1379 = 0.1e1 / t143; + const double t1381 = t131 * t1379 * t136; + const double t1389 = t132 * t119; + const double t1391 = 0.1e1 / t105 / t1389; + const double t1393 = t142 * t1391 * t148; + const double t1401 = t132 * t1371; + const double t1403 = 0.1e1 / t104 / t1401; + const double t1405 = t530 * t1403 * t536; + const double t1414 = t142 * t118; + const double t1415 = t132 * t132; + const double t1416 = t1415 * t103; + const double t1417 = 0.1e1 / t1416; + const double t1420 = 0.1e1 / t147 / t124; + const double t1424 = 0.88e2 / 0.9e1 * t102 * t1367 * t112 - 0.24e2 * t499 * t1375 + 0.128e3 / 0.9e1 * t1378 * t1381 + 0.304e3 / 0.9e1 * t117 * t1375 - 0.688e3 / 0.9e1 * t509 * t1381 + 0.128e3 / 0.3e1 * t1388 * t1393 + 0.72e2 * t130 * t1381 - 0.472e3 / 0.3e1 * t518 * t1393 + 0.256e3 / 0.3e1 * t1400 * t1405 + 0.112e4 / 0.9e1 * t141 * t1393 - 0.8e3 / 0.3e1 * t529 * t1405 + 0.128e4 / 0.9e1 * t1413 * t1414 * t1417 * t1420; + const double t1425 = t99 * t1424; + const double t1426 = t1425 * t170; + const double t1427 = t541 * sigma_aa; + const double t1428 = t1427 * t546; + const double t1429 = t1428 / 0.4e1; + const double t1430 = t541 * t158; + const double t1431 = t1430 * t554; + const double t1432 = 0.8e2 / 0.3e1 * t1431; + const double t1433 = 0.1e1 / t160; + const double t1435 = t1433 * t155 * t169; + const double t1436 = t543 * t1435; + const double t1437 = t1436 / 0.4e1; + const double t1439 = t502 * tau_a * t553; + const double t1440 = t543 * t1439; + const double t1441 = 0.1e2 / 0.3e1 * t1440; + const double t1443 = t159 * t122 * t553; + const double t1444 = t549 * t1443; + const double t1445 = 0.52e3 / 0.9e1 * t1444; + const double t1446 = t159 * t159; + const double t1448 = 0.1e1 / t105 / t132; + const double t1452 = t1451 * t168; + const double t1453 = t1446 * t1448 * t1452; + const double t1454 = t549 * t1453; + const double t1455 = 0.16e4 / 0.9e1 * t1454; + const double t1456 = -t1165; + const double t1457 = piecewise_functor_3( t174, 0.0, t1456 ); + const double t1462 = t17 * t1172 * t179; + const double t1463 = 0.23744444444444444444e-1 * t1462; + const double t1465 = t17 * t397 * t566; + const double t1467 = t173 * t173; + const double t1469 = 0.1e1 / t177 / t1467; + const double t1470 = t557 * t557; + const double t1476 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t1470 - t563 * t1456 / 0.3e1 ); + const double t1478 = t17 * t21 * t1476; + const double t1480 = t1463 - 0.35616666666666666666e-1 * t1465 + 0.53425e-1 * t1478; + const double t1482 = 0.621814e-1 * t1480 * t197; + const double t1483 = t570 * t574; + const double t1485 = 0.2e1 * t1483 * t595; + const double t1486 = t573 * t193; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t183 * t1487; + const double t1489 = t593 * t593; + const double t1490 = t1489 * t594; + const double t1492 = 0.2e1 * t1488 * t1490; + const double t1494 = 0.1e1 / t184 / t181; + const double t1495 = t578 * t578; + const double t1496 = t1494 * t1495; + const double t1498 = 0.4e1 / 0.9e1 * t1462; + const double t1500 = t1498 - 0.2e1 / 0.3e1 * t1465 + t1478; + const double t1501 = t576 * t1500; + const double t1503 = 0.39862222222222222223e0 * t1462; + const double t1506 = 0.1e1/safe_math::sqrt( t181 ); + const double t1507 = t1506 * t1495; + const double t1509 = t583 * t1500; + const double t1512 = t39 * t1225 * t189; + const double t1513 = 0.13692777777777777778e0 * t1512; + const double t1515 = t39 * t426 * t589; + const double t1517 = t566 * t566; + const double t1519 = t39 * t43 * t1517; + const double t1521 = t179 * t1476; + const double t1523 = t39 * t43 * t1521; + const double t1525 = -0.9494625e0 * t1496 + 0.1898925e1 * t1501 + t1503 - 0.59793333333333333334e0 * t1465 + 0.8969e0 * t1478 + 0.15358125e0 * t1507 + 0.3071625e0 * t1509 + t1513 - 0.32862666666666666666e0 * t1515 + 0.24647e0 * t1519 + 0.24647e0 * t1523; + const double t1526 = t1525 * t594; + const double t1528 = 0.1e1 * t575 * t1526; + const double t1529 = t573 * t573; + const double t1530 = 0.1e1 / t1529; + const double t1531 = t183 * t1530; + const double t1532 = t196 * t196; + const double t1533 = 0.1e1 / t1532; + const double t1534 = t1489 * t1533; + const double t1536 = 0.16081979498692535067e2 * t1531 * t1534; + const double t1537 = 0.22831111111111111111e-1 * t1462; + const double t1540 = t1537 - 0.34246666666666666666e-1 * t1465 + 0.5137e-1 * t1478; + const double t1543 = t600 * t604; + const double t1546 = t603 * t206; + const double t1547 = 0.1e1 / t1546; + const double t1548 = t201 * t1547; + const double t1549 = t612 * t612; + const double t1550 = t1549 * t613; + const double t1555 = 0.68863333333333333333e0 * t1462; + const double t1560 = 0.17365833333333333333e0 * t1512; + const double t1564 = -0.17648625e1 * t1496 + 0.3529725e1 * t1501 + t1555 - 0.103295e1 * t1465 + 0.1549425e1 * t1478 + 0.31558125e0 * t1507 + 0.6311625e0 * t1509 + t1560 - 0.41678e0 * t1515 + 0.312585e0 * t1519 + 0.312585e0 * t1523; + const double t1565 = t1564 * t613; + const double t1568 = t603 * t603; + const double t1569 = 0.1e1 / t1568; + const double t1570 = t201 * t1569; + const double t1571 = t209 * t209; + const double t1572 = 0.1e1 / t1571; + const double t1573 = t1549 * t1572; + const double t1576 = 0.12361111111111111111e-1 * t1462; + const double t1579 = t1576 - 0.18541666666666666667e-1 * t1465 + 0.278125e-1 * t1478; + const double t1580 = t1579 * t223; + const double t1582 = t619 * t623; + const double t1585 = t622 * t219; + const double t1586 = 0.1e1 / t1585; + const double t1587 = t214 * t1586; + const double t1588 = t631 * t631; + const double t1589 = t1588 * t632; + const double t1594 = 0.40256666666666666667e0 * t1462; + const double t1599 = 0.137975e0 * t1512; + const double t1603 = -0.1294625e1 * t1496 + 0.258925e1 * t1501 + t1594 - 0.60385e0 * t1465 + 0.905775e0 * t1478 + 0.82524375e-1 * t1507 + 0.16504875e0 * t1509 + t1599 - 0.33114e0 * t1515 + 0.248355e0 * t1519 + 0.248355e0 * t1523; + const double t1604 = t1603 * t632; + const double t1607 = t622 * t622; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t214 * t1608; + const double t1610 = t222 * t222; + const double t1611 = 0.1e1 / t1610; + const double t1612 = t1588 * t1611; + const double t1615 = -0.310907e-1 * t1540 * t210 + 0.2e1 * t1543 * t614 - 0.2e1 * t1548 * t1550 + 0.1e1 * t605 * t1565 + 0.32163958997385070134e2 * t1570 * t1573 + t1482 - t1485 + t1492 - t1528 - t1536 - 0.19751673498613801407e-1 * t1580 + 0.11696447245269292414e1 * t1582 * t633 - 0.11696447245269292414e1 * t1587 * t1589 + 0.5848223622634646207e0 * t624 * t1604 + 0.17315859105681463759e2 * t1609 * t1612; + const double t1619 = t65 * t619; + const double t1623 = t1586 * t1588 * t632; + const double t1627 = t623 * t1603 * t632; + const double t1630 = t1608 * t1588; + const double t1631 = t1630 * t1611; + const double t1634 = -t1482 + t1485 - t1492 + t1528 + t1536 + t65 * t1615 + 0.19751673498613801407e-1 * t65 * t1580 - 0.11696447245269292414e1 * t1619 * t642 + 0.11696447245269292414e1 * t640 * t1623 - 0.5848223622634646207e0 * t640 * t1627 - 0.17315859105681463759e2 * t640 * t1631; + const double t1638 = piecewise_functor_3( t175, 0.0, t1457 * t230 / 0.2e1 + t558 * t645 + t176 * t1634 / 0.2e1 ); + const double t1639 = t1638 * t273; + const double t1640 = t1639 * t290; + const double t1641 = t656 * t304; + const double t1642 = 0.1e1 / t1641; + const double t1643 = t295 * t1642; + const double t1644 = t674 * t674; + const double t1645 = t1644 * t675; + const double t1647 = 0.2e1 * t1643 * t1645; + const double t1650 = 0.1e1 / t296 / t293 * t36; + const double t1652 = t1651 * t1224; + const double t1653 = t1650 * t1652; + const double t1655 = t661 * t1171; + const double t1656 = t660 * t1655; + const double t1658 = t16 * t1171; + const double t1659 = t14 * t1658; + const double t1661 = 0.1e1/safe_math::sqrt( t293 ); + const double t1662 = t1661 * t36; + const double t1663 = t1662 * t1652; + const double t1665 = t668 * t1655; + const double t1668 = t38 * t15 * t1224; + const double t1670 = -0.42198333333333333333e0 * t1653 + 0.84396666666666666666e0 * t1656 + 0.39862222222222222223e0 * t1659 + 0.68258333333333333333e-1 * t1663 + 0.13651666666666666667e0 * t1665 + 0.13692777777777777778e0 * t1668; + const double t1671 = t1670 * t675; + const double t1673 = 0.1e1 * t658 * t1671; + const double t1674 = t656 * t656; + const double t1675 = 0.1e1 / t1674; + const double t1676 = t295 * t1675; + const double t1677 = t307 * t307; + const double t1678 = 0.1e1 / t1677; + const double t1679 = t1644 * t1678; + const double t1681 = 0.16081979498692535067e2 * t1676 * t1679; + const double t1682 = t322 * t14; + const double t1683 = t652 * t740; + const double t1685 = 0.10843581300301739842e-1 * t1682 * t1683; + const double t1686 = t24 * t24; + const double t1687 = 0.1e1 / t1686; + const double t1693 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t1182 + 0.4e1 / 0.3e1 * t24 * t1165 ); + const double t1694 = t177 * t177; + const double t1695 = 0.1e1 / t1694; + const double t1701 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t1470 + 0.4e1 / 0.3e1 * t177 * t1456 ); + const double t1703 = ( t1693 + t1701 ) * t64; + const double t1706 = t685 * t696; + const double t1709 = 0.8e1 * t685 * t729; + const double t1710 = t695 * t728; + const double t1711 = t316 * t1710; + const double t1713 = t1703 * t349; + const double t1717 = 0.14764627977777777777e-2 * t14 * t1658 * t308; + const double t1721 = t396 * t702; + const double t1725 = t701 * t329; + const double t1726 = 0.1e1 / t1725; + const double t1727 = t324 * t1726; + const double t1728 = t708 * t708; + const double t1729 = t1728 * t709; + const double t1738 = -0.78438333333333333333e0 * t1653 + 0.15687666666666666667e1 * t1656 + 0.68863333333333333333e0 * t1659 + 0.14025833333333333333e0 * t1663 + 0.28051666666666666667e0 * t1665 + 0.17365833333333333333e0 * t1668; + const double t1739 = t1738 * t709; + const double t1742 = t701 * t701; + const double t1743 = 0.1e1 / t1742; + const double t1744 = t324 * t1743; + const double t1745 = t332 * t332; + const double t1746 = 0.1e1 / t1745; + const double t1747 = t1728 * t1746; + const double t1750 = t396 * t657; + const double t1753 = 0.35616666666666666666e-1 * t17 * t1750 * t676; + const double t1757 = t396 * t717; + const double t1761 = t716 * t342; + const double t1762 = 0.1e1 / t1761; + const double t1763 = t337 * t1762; + const double t1764 = t723 * t723; + const double t1765 = t1764 * t724; + const double t1774 = -0.57538888888888888889e0 * t1653 + 0.11507777777777777778e1 * t1656 + 0.40256666666666666667e0 * t1659 + 0.366775e-1 * t1663 + 0.73355e-1 * t1665 + 0.137975e0 * t1668; + const double t1775 = t1774 * t724; + const double t1778 = t716 * t716; + const double t1779 = 0.1e1 / t1778; + const double t1780 = t337 * t1779; + const double t1781 = t345 * t345; + const double t1782 = 0.1e1 / t1781; + const double t1783 = t1764 * t1782; + const double t1786 = -0.70983522622222222221e-3 * t14 * t1658 * t333 - 0.34246666666666666666e-1 * t17 * t1721 * t710 - 0.2e1 * t1727 * t1729 + 0.1e1 * t703 * t1739 + 0.32163958997385070134e2 * t1744 * t1747 + t1717 + t1753 + t1647 - t1673 - t1681 - 0.24415263074675393405e-3 * t14 * t1658 * t346 - 0.10843581300301739842e-1 * t17 * t1757 * t725 - 0.11696447245269292414e1 * t1763 * t1765 + 0.5848223622634646207e0 * t718 * t1775 + 0.17315859105681463759e2 * t1780 * t1783; + const double t1787 = t322 * t1786; + const double t1788 = t316 * t1787; + const double t1789 = -t1647 + t1673 + t1681 + t1685 + 0.19751673498613801407e-1 * t1703 * t347 - t1638 - 0.8e1 * t1706 - t1709 + 0.2e1 * t1711 + t316 * t1713 - t1717 + t1788; + const double t1791 = 0.8e1 * t680 * t729; + const double t1792 = t311 * t315; + const double t1794 = 0.12e2 * t1792 * t350; + const double t1795 = t679 * t684; + const double t1797 = 0.32e2 * t1795 * t350; + const double t1798 = t680 * t696; + const double t1800 = t695 * t11; + const double t1801 = t1800 * t735; + const double t1804 = t661 * t1171 * t346; + const double t1806 = 0.24415263074675393405e-3 * t733 * t1804; + const double t1808 = 0.1e1 / t314 / t313; + const double t1809 = t312 * t1808; + const double t1811 = 0.2e2 * t1809 * t350; + const double t1813 = t1779 * t1764 * t1782; + const double t1815 = 0.17315859105681463759e2 * t738 * t1813; + const double t1817 = t717 * t1774 * t724; + const double t1819 = 0.5848223622634646207e0 * t738 * t1817; + const double t1820 = t695 * t337; + const double t1821 = t1820 * t740; + const double t1824 = t1762 * t1764 * t724; + const double t1826 = 0.11696447245269292414e1 * t738 * t1824; + const double t1827 = t1791 + t1794 - t1797 + 0.8e1 * t1798 - 0.36622894612013090108e-3 * t1801 + t1806 - t1753 + t1811 - t1353 - t1815 - t1819 - 0.11696447245269292414e1 * t1821 + t1826; + const double t1828 = t1789 + t1827; + const double t1829 = t1828 * t388; + const double t1830 = t743 * t784; + const double t1831 = 0.2e1 * t1830; + const double t1835 = t1374 * t369; + const double t1839 = t1838 * t358; + const double t1840 = t377 * t118; + const double t1841 = t1840 * t1373; + const double t1844 = t750 * t1366; + const double t1849 = t757 * t358; + const double t1855 = t1854 * t367; + const double t1856 = t385 * t118; + const double t1857 = t1856 * t1373; + const double t1860 = t759 * t1366; + const double t1863 = t374 * t358; + const double t1866 = t766 * t367; + const double t1872 = t1871 * t375; + const double t1873 = t779 * t118; + const double t1874 = t1873 * t1373; + const double t1877 = t768 * t1366; + const double t1880 = t382 * t367; + const double t1883 = t776 * t375; + const double t1890 = t1889 * t383; + const double t1892 = 0.1e1 / t384 / t368; + const double t1893 = t1892 * t118; + const double t1900 = 0.88e2 / 0.9e1 * t357 * t1367 * t361 - 0.128e3 / 0.9e1 * t748 * t1835 + 0.128e3 / 0.9e1 * t1839 * t1841 - 0.88e2 / 0.9e1 * t749 * t1844 + 0.128e3 / 0.9e1 * t366 * t1835 - 0.512e3 / 0.9e1 * t1849 * t1841 + 0.176e3 / 0.9e1 * t754 * t1844 + 0.128e3 / 0.3e1 * t1855 * t1857 - 0.176e3 / 0.9e1 * t758 * t1860 + 0.128e3 / 0.3e1 * t1863 * t1841 - 0.128e3 * t1866 * t1857 + 0.88e2 / 0.3e1 * t763 * t1860 + 0.256e3 / 0.3e1 * t1872 * t1874 - 0.88e2 / 0.3e1 * t767 * t1877 + 0.256e3 / 0.3e1 * t1880 * t1857 - 0.2048e4 / 0.9e1 * t1883 * t1874 + 0.352e3 / 0.9e1 * t772 * t1877 + 0.128e4 / 0.9e1 * t1890 * t1893 * t1373 - 0.352e3 / 0.9e1 * t777 * t780 * t1366; + const double t1901 = t354 * t1900; + const double t1902 = t1355 + t1358 + t1361 - t1364 + t1426 + t1429 - t1432 - t1437 - t1441 + t1445 - t1455 + t1640 + t1829 + t1831 + t1901; + const double t1904 = 0.2e1 * t1163; + const double t1905 = piecewise_functor_3( t8, 0.0, t1904 ); + const double t1911 = t17 * t397 * t793; + const double t1913 = t1181 * t788; + const double t1916 = t401 * t3; + const double t1920 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1913 * t392 - 0.2e1 / 0.3e1 * t1916 * t1162 ); + const double t1922 = t17 * t21 * t1920; + const double t1924 = t1175 - 0.17808333333333333333e-1 * t1177 - 0.17808333333333333333e-1 * t1911 + 0.53425e-1 * t1922; + const double t1926 = 0.621814e-1 * t1924 * t52; + const double t1927 = t797 * t412; + const double t1929 = 0.1e1 * t1927 * t436; + const double t1931 = 0.1e1 * t1195 * t811; + const double t1932 = t811 * t434; + const double t1934 = 0.2e1 * t1200 * t1932; + const double t1935 = t1206 * t800; + const double t1936 = t1935 * t416; + const double t1940 = t1210 - t1177 / 0.3e1 - t1911 / 0.3e1 + t1922; + const double t1941 = t414 * t1940; + const double t1946 = t1218 * t800; + const double t1947 = t1946 * t416; + const double t1949 = t421 * t1940; + const double t1953 = t39 * t426 * t806; + const double t1955 = t404 * t793; + const double t1957 = t39 * t43 * t1955; + const double t1959 = t26 * t1920; + const double t1961 = t39 * t43 * t1959; + const double t1963 = -0.9494625e0 * t1936 + 0.1898925e1 * t1941 + t1215 - 0.29896666666666666667e0 * t1177 - 0.29896666666666666667e0 * t1911 + 0.8969e0 * t1922 + 0.15358125e0 * t1947 + 0.3071625e0 * t1949 + t1228 - 0.16431333333333333333e0 * t1230 - 0.16431333333333333333e0 * t1953 + 0.24647e0 * t1957 + 0.24647e0 * t1961; + const double t1964 = t1963 * t435; + const double t1966 = 0.1e1 * t413 * t1964; + const double t1967 = t810 * t1248; + const double t1968 = t1967 * t434; + const double t1970 = 0.16081979498692535067e2 * t1246 * t1968; + const double t1974 = t1252 - 0.17123333333333333333e-1 * t1177 - 0.17123333333333333333e-1 * t1911 + 0.5137e-1 * t1922; + const double t1977 = t815 * t445; + const double t1982 = t823 * t453; + const double t1996 = -0.17648625e1 * t1936 + 0.3529725e1 * t1941 + t1270 - 0.516475e0 * t1177 - 0.516475e0 * t1911 + 0.1549425e1 * t1922 + 0.31558125e0 * t1947 + 0.6311625e0 * t1949 + t1275 - 0.20839e0 * t1230 - 0.20839e0 * t1953 + 0.312585e0 * t1957 + 0.312585e0 * t1961; + const double t1997 = t1996 * t454; + const double t2000 = t822 * t1287; + const double t2001 = t2000 * t453; + const double t2007 = t1291 - 0.92708333333333333333e-2 * t1177 - 0.92708333333333333333e-2 * t1911 + 0.278125e-1 * t1922; + const double t2008 = t2007 * t89; + const double t2010 = t827 * t464; + const double t2015 = t835 * t472; + const double t2029 = -0.1294625e1 * t1936 + 0.258925e1 * t1941 + t1309 - 0.301925e0 * t1177 - 0.301925e0 * t1911 + 0.905775e0 * t1922 + 0.82524375e-1 * t1947 + 0.16504875e0 * t1949 + t1314 - 0.16557e0 * t1230 - 0.16557e0 * t1953 + 0.248355e0 * t1957 + 0.248355e0 * t1961; + const double t2030 = t2029 * t473; + const double t2033 = t834 * t1326; + const double t2034 = t2033 * t472; + const double t2037 = -0.310907e-1 * t1974 * t76 + 0.1e1 * t1977 * t455 + 0.1e1 * t1258 * t823 - 0.2e1 * t1263 * t1982 + 0.1e1 * t446 * t1997 + 0.32163958997385070134e2 * t1285 * t2001 + t1926 - t1929 - t1931 + t1934 - t1966 - t1970 - 0.19751673498613801407e-1 * t2008 + 0.5848223622634646207e0 * t2010 * t474 + 0.5848223622634646207e0 * t1297 * t835 - 0.11696447245269292414e1 * t1302 * t2015 + 0.5848223622634646207e0 * t465 * t2030 + 0.17315859105681463759e2 * t1324 * t2034; + const double t2041 = t65 * t827; + const double t2046 = t1301 * t834; + const double t2047 = t2046 * t474; + const double t2051 = t464 * t2029 * t473; + const double t2054 = t1323 * t834; + const double t2055 = t1326 * t472; + const double t2056 = t2054 * t2055; + const double t2059 = -t1926 + t1929 + t1931 - t1934 + t1966 + t1970 + t65 * t2037 + 0.19751673498613801407e-1 * t65 * t2008 - 0.5848223622634646207e0 * t2041 * t483 - 0.5848223622634646207e0 * t1334 * t843 + 0.11696447245269292414e1 * t481 * t2047 - 0.5848223622634646207e0 * t481 * t2051 - 0.17315859105681463759e2 * t481 * t2056; + const double t2063 = piecewise_functor_3( t9, 0.0, t10 * t2059 / 0.2e1 + t1905 * t96 / 0.2e1 + t393 * t846 / 0.2e1 + t789 * t486 / 0.2e1 ); + const double t2064 = t2063 * t151; + const double t2065 = t2064 * t170; + const double t2066 = t850 * t540; + const double t2067 = t2066 * t170; + const double t2068 = t851 * sigma_aa; + const double t2069 = t2068 * t546; + const double t2071 = t851 * t158; + const double t2072 = t2071 * t554; + const double t2074 = piecewise_functor_3( t174, 0.0, -t1904 ); + const double t2080 = t17 * t397 * t858; + const double t2082 = t1469 * t853; + const double t2085 = t563 * t3; + const double t2089 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2082 * t557 + 0.2e1 / 0.3e1 * t2085 * t1162 ); + const double t2091 = t17 * t21 * t2089; + const double t2093 = t1463 - 0.17808333333333333333e-1 * t1465 - 0.17808333333333333333e-1 * t2080 + 0.53425e-1 * t2091; + const double t2095 = 0.621814e-1 * t2093 * t197; + const double t2096 = t862 * t574; + const double t2098 = 0.1e1 * t2096 * t595; + const double t2100 = 0.1e1 * t1483 * t876; + const double t2101 = t876 * t593; + const double t2103 = 0.2e1 * t1488 * t2101; + const double t2104 = t1494 * t865; + const double t2105 = t2104 * t578; + const double t2109 = t1498 - t1465 / 0.3e1 - t2080 / 0.3e1 + t2091; + const double t2110 = t576 * t2109; + const double t2115 = t1506 * t865; + const double t2116 = t2115 * t578; + const double t2118 = t583 * t2109; + const double t2122 = t39 * t426 * t871; + const double t2124 = t566 * t858; + const double t2126 = t39 * t43 * t2124; + const double t2128 = t179 * t2089; + const double t2130 = t39 * t43 * t2128; + const double t2132 = -0.9494625e0 * t2105 + 0.1898925e1 * t2110 + t1503 - 0.29896666666666666667e0 * t1465 - 0.29896666666666666667e0 * t2080 + 0.8969e0 * t2091 + 0.15358125e0 * t2116 + 0.3071625e0 * t2118 + t1513 - 0.16431333333333333333e0 * t1515 - 0.16431333333333333333e0 * t2122 + 0.24647e0 * t2126 + 0.24647e0 * t2130; + const double t2133 = t2132 * t594; + const double t2135 = 0.1e1 * t575 * t2133; + const double t2136 = t875 * t1533; + const double t2137 = t2136 * t593; + const double t2139 = 0.16081979498692535067e2 * t1531 * t2137; + const double t2143 = t1537 - 0.17123333333333333333e-1 * t1465 - 0.17123333333333333333e-1 * t2080 + 0.5137e-1 * t2091; + const double t2146 = t880 * t604; + const double t2151 = t888 * t612; + const double t2165 = -0.17648625e1 * t2105 + 0.3529725e1 * t2110 + t1555 - 0.516475e0 * t1465 - 0.516475e0 * t2080 + 0.1549425e1 * t2091 + 0.31558125e0 * t2116 + 0.6311625e0 * t2118 + t1560 - 0.20839e0 * t1515 - 0.20839e0 * t2122 + 0.312585e0 * t2126 + 0.312585e0 * t2130; + const double t2166 = t2165 * t613; + const double t2169 = t887 * t1572; + const double t2170 = t2169 * t612; + const double t2176 = t1576 - 0.92708333333333333333e-2 * t1465 - 0.92708333333333333333e-2 * t2080 + 0.278125e-1 * t2091; + const double t2177 = t2176 * t223; + const double t2179 = t892 * t623; + const double t2184 = t900 * t631; + const double t2198 = -0.1294625e1 * t2105 + 0.258925e1 * t2110 + t1594 - 0.301925e0 * t1465 - 0.301925e0 * t2080 + 0.905775e0 * t2091 + 0.82524375e-1 * t2116 + 0.16504875e0 * t2118 + t1599 - 0.16557e0 * t1515 - 0.16557e0 * t2122 + 0.248355e0 * t2126 + 0.248355e0 * t2130; + const double t2199 = t2198 * t632; + const double t2202 = t899 * t1611; + const double t2203 = t2202 * t631; + const double t2206 = -0.310907e-1 * t2143 * t210 + 0.1e1 * t2146 * t614 + 0.1e1 * t1543 * t888 - 0.2e1 * t1548 * t2151 + 0.1e1 * t605 * t2166 + 0.32163958997385070134e2 * t1570 * t2170 + t2095 - t2098 - t2100 + t2103 - t2135 - t2139 - 0.19751673498613801407e-1 * t2177 + 0.5848223622634646207e0 * t2179 * t633 + 0.5848223622634646207e0 * t1582 * t900 - 0.11696447245269292414e1 * t1587 * t2184 + 0.5848223622634646207e0 * t624 * t2199 + 0.17315859105681463759e2 * t1609 * t2203; + const double t2210 = t65 * t892; + const double t2215 = t1586 * t899; + const double t2216 = t2215 * t633; + const double t2220 = t623 * t2198 * t632; + const double t2223 = t1608 * t899; + const double t2224 = t1611 * t631; + const double t2225 = t2223 * t2224; + const double t2228 = -t2095 + t2098 + t2100 - t2103 + t2135 + t2139 + t65 * t2206 + 0.19751673498613801407e-1 * t65 * t2177 - 0.5848223622634646207e0 * t2210 * t642 - 0.5848223622634646207e0 * t1619 * t908 + 0.11696447245269292414e1 * t640 * t2216 - 0.5848223622634646207e0 * t640 * t2220 - 0.17315859105681463759e2 * t640 * t2225; + const double t2232 = piecewise_functor_3( t175, 0.0, t176 * t2228 / 0.2e1 + t2074 * t230 / 0.2e1 + t558 * t911 / 0.2e1 + t854 * t645 / 0.2e1 ); + const double t2233 = t2232 * t273; + const double t2234 = t2233 * t290; + const double t2235 = t649 * t960; + const double t2236 = t2235 * t290; + const double t2237 = t650 * sigma_bb; + const double t2238 = t2237 * t966; + const double t2240 = t650 * t280; + const double t2241 = t2240 * t974; + const double t2244 = t1687 * t788; + const double t2247 = t24 * t3; + const double t2251 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2244 * t392 + 0.8e1 / 0.3e1 * t2247 * t1162 ); + const double t2252 = t1695 * t853; + const double t2255 = t177 * t3; + const double t2259 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2252 * t557 - 0.8e1 / 0.3e1 * t2255 * t1162 ); + const double t2261 = ( t2251 + t2259 ) * t64; + const double t2265 = -t2232 - t2063 - t1647 + t1673 + t1681 + t1685 - 0.4e1 * t1706 - t1709 + t1711 + 0.19751673498613801407e-1 * t2261 * t347 - t1717 + t1788 - t1794 - 0.4e1 * t1798; + const double t2266 = t680 * t985; + const double t2268 = t685 * t985; + const double t2270 = t2261 * t349; + const double t2272 = t984 * t728; + const double t2273 = t316 * t2272; + const double t2275 = t984 * t11; + const double t2276 = t2275 * t735; + const double t2278 = t984 * t337; + const double t2279 = t2278 * t740; + const double t2282 = 0.4e1 * t2266 - 0.4e1 * t2268 + t316 * t2270 + t2273 - 0.18311447306006545054e-3 * t1801 + t1806 - t1753 - 0.18311447306006545054e-3 * t2276 - 0.5848223622634646207e0 * t2279 + t1811 - t1815 - t1819 - 0.5848223622634646207e0 * t1821 + t1826; + const double t2283 = t2265 + t2282; + const double t2284 = t2283 * t388; + const double t2285 = t989 * t784; + const double t2286 = t743 * t1016; + const double t2287 = t748 * sigma_bb; + const double t2288 = t919 * t369; + const double t2292 = t358 * t377; + const double t2293 = t1838 * t2292; + const double t2294 = t920 * t495; + const double t2297 = t366 * sigma_aa; + const double t2298 = t494 * t369; + const double t2302 = t757 * t2292; + const double t2305 = t367 * t385; + const double t2306 = t1854 * t2305; + const double t2309 = t374 * t2292; + const double t2312 = t766 * t2305; + const double t2315 = t375 * t779; + const double t2316 = t1871 * t2315; + const double t2319 = t382 * t2305; + const double t2322 = t776 * t2315; + const double t2325 = t383 * t1892; + const double t2326 = t1889 * t2325; + const double t2329 = -0.128e3 / 0.9e1 * t2287 * t2288 * t495 + 0.128e3 / 0.9e1 * t2293 * t2294 + 0.128e3 / 0.9e1 * t2297 * t2298 * t920 - 0.512e3 / 0.9e1 * t2302 * t2294 + 0.128e3 / 0.3e1 * t2306 * t2294 + 0.128e3 / 0.3e1 * t2309 * t2294 - 0.128e3 * t2312 * t2294 + 0.256e3 / 0.3e1 * t2316 * t2294 + 0.256e3 / 0.3e1 * t2319 * t2294 - 0.2048e4 / 0.9e1 * t2322 * t2294 + 0.128e4 / 0.9e1 * t2326 * t2294; + const double t2330 = t354 * t2329; + const double t2331 = t2065 + t2067 + t2069 / 0.8e1 - 0.4e2 / 0.3e1 * t2072 + t2234 + t2236 + t2238 / 0.8e1 - 0.4e2 / 0.3e1 * t2241 + t2284 + t2285 + t2286 + t2330; + const double t2341 = 0.2e1 * t390 + 0.2e1 * t1163; + const double t2342 = piecewise_functor_3( t8, 0.0, t2341 ); + const double t2347 = t788 * t788; + const double t2353 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t2347 - t401 * t2341 / 0.3e1 ); + const double t2355 = t17 * t21 * t2353; + const double t2357 = t1175 - 0.35616666666666666666e-1 * t1911 + 0.53425e-1 * t2355; + const double t2359 = 0.621814e-1 * t2357 * t52; + const double t2361 = 0.2e1 * t1927 * t811; + const double t2362 = t810 * t810; + const double t2363 = t2362 * t435; + const double t2365 = 0.2e1 * t1200 * t2363; + const double t2366 = t800 * t800; + const double t2367 = t1206 * t2366; + const double t2370 = t1210 - 0.2e1 / 0.3e1 * t1911 + t2355; + const double t2371 = t414 * t2370; + const double t2375 = t1218 * t2366; + const double t2377 = t421 * t2370; + const double t2380 = t793 * t793; + const double t2382 = t39 * t43 * t2380; + const double t2384 = t26 * t2353; + const double t2386 = t39 * t43 * t2384; + const double t2388 = -0.9494625e0 * t2367 + 0.1898925e1 * t2371 + t1215 - 0.59793333333333333334e0 * t1911 + 0.8969e0 * t2355 + 0.15358125e0 * t2375 + 0.3071625e0 * t2377 + t1228 - 0.32862666666666666666e0 * t1953 + 0.24647e0 * t2382 + 0.24647e0 * t2386; + const double t2389 = t2388 * t435; + const double t2391 = 0.1e1 * t413 * t2389; + const double t2392 = t2362 * t1248; + const double t2394 = 0.16081979498692535067e2 * t1246 * t2392; + const double t2397 = t1252 - 0.34246666666666666666e-1 * t1911 + 0.5137e-1 * t2355; + const double t2402 = t822 * t822; + const double t2403 = t2402 * t454; + const double t2415 = -0.17648625e1 * t2367 + 0.3529725e1 * t2371 + t1270 - 0.103295e1 * t1911 + 0.1549425e1 * t2355 + 0.31558125e0 * t2375 + 0.6311625e0 * t2377 + t1275 - 0.41678e0 * t1953 + 0.312585e0 * t2382 + 0.312585e0 * t2386; + const double t2416 = t2415 * t454; + const double t2419 = t2402 * t1287; + const double t2424 = t1291 - 0.18541666666666666667e-1 * t1911 + 0.278125e-1 * t2355; + const double t2425 = t2424 * t89; + const double t2429 = t834 * t834; + const double t2430 = t2429 * t473; + const double t2442 = -0.1294625e1 * t2367 + 0.258925e1 * t2371 + t1309 - 0.60385e0 * t1911 + 0.905775e0 * t2355 + 0.82524375e-1 * t2375 + 0.16504875e0 * t2377 + t1314 - 0.33114e0 * t1953 + 0.248355e0 * t2382 + 0.248355e0 * t2386; + const double t2443 = t2442 * t473; + const double t2446 = t2429 * t1326; + const double t2449 = -0.310907e-1 * t2397 * t76 + 0.2e1 * t1977 * t823 - 0.2e1 * t1263 * t2403 + 0.1e1 * t446 * t2416 + 0.32163958997385070134e2 * t1285 * t2419 + t2359 - t2361 + t2365 - t2391 - t2394 - 0.19751673498613801407e-1 * t2425 + 0.11696447245269292414e1 * t2010 * t835 - 0.11696447245269292414e1 * t1302 * t2430 + 0.5848223622634646207e0 * t465 * t2443 + 0.17315859105681463759e2 * t1324 * t2446; + const double t2456 = t1301 * t2429 * t473; + const double t2460 = t464 * t2442 * t473; + const double t2463 = t1323 * t2429; + const double t2464 = t2463 * t1326; + const double t2467 = -t2359 + t2361 - t2365 + t2391 + t2394 + t65 * t2449 + 0.19751673498613801407e-1 * t65 * t2425 - 0.11696447245269292414e1 * t2041 * t843 + 0.11696447245269292414e1 * t481 * t2456 - 0.5848223622634646207e0 * t481 * t2460 - 0.17315859105681463759e2 * t481 * t2464; + const double t2471 = piecewise_functor_3( t9, 0.0, t2342 * t96 / 0.2e1 + t789 * t846 + t10 * t2467 / 0.2e1 ); + const double t2472 = t2471 * t151; + const double t2473 = t2472 * t170; + const double t2474 = -t2341; + const double t2475 = piecewise_functor_3( t174, 0.0, t2474 ); + const double t2480 = t853 * t853; + const double t2486 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t2480 - t563 * t2474 / 0.3e1 ); + const double t2488 = t17 * t21 * t2486; + const double t2490 = t1463 - 0.35616666666666666666e-1 * t2080 + 0.53425e-1 * t2488; + const double t2492 = 0.621814e-1 * t2490 * t197; + const double t2494 = 0.2e1 * t2096 * t876; + const double t2495 = t875 * t875; + const double t2496 = t2495 * t594; + const double t2498 = 0.2e1 * t1488 * t2496; + const double t2499 = t865 * t865; + const double t2500 = t1494 * t2499; + const double t2503 = t1498 - 0.2e1 / 0.3e1 * t2080 + t2488; + const double t2504 = t576 * t2503; + const double t2508 = t1506 * t2499; + const double t2510 = t583 * t2503; + const double t2513 = t858 * t858; + const double t2515 = t39 * t43 * t2513; + const double t2517 = t179 * t2486; + const double t2519 = t39 * t43 * t2517; + const double t2521 = -0.9494625e0 * t2500 + 0.1898925e1 * t2504 + t1503 - 0.59793333333333333334e0 * t2080 + 0.8969e0 * t2488 + 0.15358125e0 * t2508 + 0.3071625e0 * t2510 + t1513 - 0.32862666666666666666e0 * t2122 + 0.24647e0 * t2515 + 0.24647e0 * t2519; + const double t2522 = t2521 * t594; + const double t2524 = 0.1e1 * t575 * t2522; + const double t2525 = t2495 * t1533; + const double t2527 = 0.16081979498692535067e2 * t1531 * t2525; + const double t2530 = t1537 - 0.34246666666666666666e-1 * t2080 + 0.5137e-1 * t2488; + const double t2535 = t887 * t887; + const double t2536 = t2535 * t613; + const double t2548 = -0.17648625e1 * t2500 + 0.3529725e1 * t2504 + t1555 - 0.103295e1 * t2080 + 0.1549425e1 * t2488 + 0.31558125e0 * t2508 + 0.6311625e0 * t2510 + t1560 - 0.41678e0 * t2122 + 0.312585e0 * t2515 + 0.312585e0 * t2519; + const double t2549 = t2548 * t613; + const double t2552 = t2535 * t1572; + const double t2557 = t1576 - 0.18541666666666666667e-1 * t2080 + 0.278125e-1 * t2488; + const double t2558 = t2557 * t223; + const double t2562 = t899 * t899; + const double t2563 = t2562 * t632; + const double t2575 = -0.1294625e1 * t2500 + 0.258925e1 * t2504 + t1594 - 0.60385e0 * t2080 + 0.905775e0 * t2488 + 0.82524375e-1 * t2508 + 0.16504875e0 * t2510 + t1599 - 0.33114e0 * t2122 + 0.248355e0 * t2515 + 0.248355e0 * t2519; + const double t2576 = t2575 * t632; + const double t2579 = t2562 * t1611; + const double t2582 = -0.310907e-1 * t2530 * t210 + 0.2e1 * t2146 * t888 - 0.2e1 * t1548 * t2536 + 0.1e1 * t605 * t2549 + 0.32163958997385070134e2 * t1570 * t2552 + t2492 - t2494 + t2498 - t2524 - t2527 - 0.19751673498613801407e-1 * t2558 + 0.11696447245269292414e1 * t2179 * t900 - 0.11696447245269292414e1 * t1587 * t2563 + 0.5848223622634646207e0 * t624 * t2576 + 0.17315859105681463759e2 * t1609 * t2579; + const double t2589 = t1586 * t2562 * t632; + const double t2593 = t623 * t2575 * t632; + const double t2596 = t1608 * t2562; + const double t2597 = t2596 * t1611; + const double t2600 = -t2492 + t2494 - t2498 + t2524 + t2527 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2558 - 0.11696447245269292414e1 * t2210 * t908 + 0.11696447245269292414e1 * t640 * t2589 - 0.5848223622634646207e0 * t640 * t2593 - 0.17315859105681463759e2 * t640 * t2597; + const double t2604 = piecewise_functor_3( t175, 0.0, t2475 * t230 / 0.2e1 + t854 * t911 + t176 * t2600 / 0.2e1 ); + const double t2605 = t2604 * t273; + const double t2606 = t2605 * t290; + const double t2607 = t915 * t960; + const double t2608 = t2607 * t290; + const double t2609 = 0.2e1 * t2608; + const double t2610 = t916 * sigma_bb; + const double t2611 = t2610 * t966; + const double t2612 = t2611 / 0.4e1; + const double t2613 = t916 * t280; + const double t2614 = t2613 * t974; + const double t2615 = 0.8e2 / 0.3e1 * t2614; + const double t2617 = 0.1e1 / t236 / t247; + const double t2618 = sigma_bb * t2617; + const double t2622 = t247 * t282; + const double t2624 = 0.1e1 / t235 / t2622; + const double t2625 = t246 * t2624; + const double t2626 = t2625 * t253; + const double t2629 = 0.1e1 / t265; + const double t2631 = t256 * t2629 * t261; + const double t2638 = t257 * t247; + const double t2640 = 0.1e1 / t236 / t2638; + const double t2642 = t264 * t2640 * t270; + const double t2649 = t257 * t2622; + const double t2651 = 0.1e1 / t235 / t2649; + const double t2653 = t950 * t2651 * t956; + const double t2660 = t264 * t246; + const double t2661 = t257 * t257; + const double t2662 = t2661 * t234; + const double t2663 = 0.1e1 / t2662; + const double t2666 = 0.1e1 / t269 / t252; + const double t2670 = 0.88e2 / 0.9e1 * t102 * t2618 * t243 - 0.24e2 * t499 * t2626 + 0.128e3 / 0.9e1 * t1378 * t2631 + 0.304e3 / 0.9e1 * t117 * t2626 - 0.688e3 / 0.9e1 * t509 * t2631 + 0.128e3 / 0.3e1 * t1388 * t2642 + 0.72e2 * t130 * t2631 - 0.472e3 / 0.3e1 * t518 * t2642 + 0.256e3 / 0.3e1 * t1400 * t2653 + 0.112e4 / 0.9e1 * t141 * t2642 - 0.8e3 / 0.3e1 * t529 * t2653 + 0.128e4 / 0.9e1 * t1413 * t2660 * t2663 * t2666; + const double t2671 = t233 * t2670; + const double t2672 = t2671 * t290; + const double t2673 = t961 * sigma_bb; + const double t2674 = t2673 * t966; + const double t2675 = t2674 / 0.4e1; + const double t2676 = t961 * t280; + const double t2677 = t2676 * t974; + const double t2678 = 0.8e2 / 0.3e1 * t2677; + const double t2679 = 0.1e1 / t282; + const double t2681 = t2679 * t277 * t289; + const double t2682 = t963 * t2681; + const double t2683 = t2682 / 0.4e1; + const double t2685 = t926 * tau_b * t973; + const double t2686 = t963 * t2685; + const double t2687 = 0.1e2 / 0.3e1 * t2686; + const double t2689 = t281 * t250 * t973; + const double t2690 = t969 * t2689; + const double t2691 = 0.52e3 / 0.9e1 * t2690; + const double t2692 = t281 * t281; + const double t2694 = 0.1e1 / t236 / t257; + const double t2696 = t1451 * t288; + const double t2697 = t2692 * t2694 * t2696; + const double t2698 = t969 * t2697; + const double t2699 = 0.16e4 / 0.9e1 * t2698; + const double t2705 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t2347 + 0.4e1 / 0.3e1 * t24 * t2341 ); + const double t2711 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t2480 + 0.4e1 / 0.3e1 * t177 * t2474 ); + const double t2713 = ( t2705 + t2711 ) * t64; + const double t2716 = t2713 * t349; + const double t2718 = -t2604 - t2471 + 0.19751673498613801407e-1 * t2713 * t347 - t1647 + t1673 + t1681 + t1685 - t1709 + t316 * t2716 - t1717 + t1788 - t1791; + const double t2724 = t1794 + t1797 - 0.8e1 * t2266 - 0.8e1 * t2268 + 0.2e1 * t2273 + t1806 - t1753 - 0.36622894612013090108e-3 * t2276 - 0.11696447245269292414e1 * t2279 + t1811 - t1815 - t1819 + t1826; + const double t2725 = t2718 + t2724; + const double t2726 = t2725 * t388; + const double t2727 = t989 * t1016; + const double t2728 = 0.2e1 * t2727; + const double t2732 = t2625 * t369; + const double t2735 = t377 * t246; + const double t2736 = t2735 * t2624; + const double t2739 = t994 * t2617; + const double t2748 = t385 * t246; + const double t2749 = t2748 * t2624; + const double t2752 = t1000 * t2617; + const double t2761 = t779 * t246; + const double t2762 = t2761 * t2624; + const double t2765 = t1006 * t2617; + const double t2774 = t1892 * t246; + const double t2781 = 0.88e2 / 0.9e1 * t357 * t2618 * t361 - 0.128e3 / 0.9e1 * t748 * t2732 + 0.128e3 / 0.9e1 * t1839 * t2736 - 0.88e2 / 0.9e1 * t749 * t2739 + 0.128e3 / 0.9e1 * t366 * t2732 - 0.512e3 / 0.9e1 * t1849 * t2736 + 0.176e3 / 0.9e1 * t754 * t2739 + 0.128e3 / 0.3e1 * t1855 * t2749 - 0.176e3 / 0.9e1 * t758 * t2752 + 0.128e3 / 0.3e1 * t1863 * t2736 - 0.128e3 * t1866 * t2749 + 0.88e2 / 0.3e1 * t763 * t2752 + 0.256e3 / 0.3e1 * t1872 * t2762 - 0.88e2 / 0.3e1 * t767 * t2765 + 0.256e3 / 0.3e1 * t1880 * t2749 - 0.2048e4 / 0.9e1 * t1883 * t2762 + 0.352e3 / 0.9e1 * t772 * t2765 + 0.128e4 / 0.9e1 * t1890 * t2774 * t2624 - 0.352e3 / 0.9e1 * t777 * t1012 * t2617; + const double t2782 = t354 * t2781; + const double t2783 = t2473 + t2606 + t2609 + t2612 - t2615 + t2672 + t2675 - t2678 - t2683 - t2687 + t2691 - t2699 + t2726 + t2728 + t2782; + const double t2785 = t490 * t1046; + const double t2786 = t2785 * t170; + const double t2790 = t502 * t125; + const double t2791 = t2790 * sigma_aa; + const double t2795 = t118 * t511 * t136; + const double t2803 = t131 * t521 * t148; + const double t2811 = t142 * t533 * t536; + const double t2818 = t1415 * rho_a; + const double t2819 = 0.1e1 / t2818; + const double t2824 = -0.8e1 / 0.3e1 * t102 * t494 * t112 + 0.8e1 * t499 * t2791 - 0.16e2 / 0.3e1 * t1378 * t2795 - 0.32e2 / 0.3e1 * t117 * t2791 + 0.8e2 / 0.3e1 * t509 * t2795 - 0.16e2 * t1388 * t2803 - 0.24e2 * t130 * t2795 + 0.56e2 * t518 * t2803 - 0.32e2 * t1400 * t2811 - 0.128e3 / 0.3e1 * t141 * t2803 + 0.96e2 * t529 * t2811 - 0.16e3 / 0.3e1 * t1413 * t530 * t2819 * t1420; + const double t2825 = t99 * t2824; + const double t2826 = t2825 * t170; + const double t2827 = t1047 * sigma_aa; + const double t2828 = t2827 * t546; + const double t2829 = t2828 / 0.8e1; + const double t2830 = t1047 * t158; + const double t2831 = t2830 * t554; + const double t2832 = 0.4e2 / 0.3e1 * t2831; + const double t2833 = t491 * t1050; + const double t2834 = t2833 / 0.8e1; + const double t2835 = t541 * t1050; + const double t2836 = t2835 / 0.8e1; + const double t2837 = t152 * t546; + const double t2838 = t2837 / 0.8e1; + const double t2839 = t152 * t122; + const double t2841 = tau_a * t165 * t168; + const double t2842 = t2839 * t2841; + const double t2843 = 0.5e1 / 0.3e1 * t2842; + const double t2844 = t743 * t1076; + const double t2848 = t502 * t369; + const double t2849 = t2848 * sigma_aa; + const double t2852 = t377 * t502; + const double t2853 = t2852 * sigma_aa; + const double t2856 = t1055 * t494; + const double t2865 = t385 * t502; + const double t2866 = t2865 * sigma_aa; + const double t2869 = t1060 * t494; + const double t2878 = t779 * t502; + const double t2879 = t2878 * sigma_aa; + const double t2882 = t1066 * t494; + const double t2891 = t1892 * t502; + const double t2898 = -0.8e1 / 0.3e1 * t357 * t494 * t361 + 0.16e2 / 0.3e1 * t748 * t2849 - 0.16e2 / 0.3e1 * t1839 * t2853 + 0.8e1 / 0.3e1 * t748 * t2856 - 0.16e2 / 0.3e1 * t366 * t2849 + 0.64e2 / 0.3e1 * t1849 * t2853 - 0.16e2 / 0.3e1 * t366 * t2856 - 0.16e2 * t1855 * t2866 + 0.16e2 / 0.3e1 * t757 * t2869 - 0.16e2 * t1863 * t2853 + 0.48e2 * t1866 * t2866 - 0.8e1 * t374 * t2869 - 0.32e2 * t1872 * t2879 + 0.8e1 * t766 * t2882 - 0.32e2 * t1880 * t2866 + 0.256e3 / 0.3e1 * t1883 * t2879 - 0.32e2 / 0.3e1 * t382 * t2882 - 0.16e3 / 0.3e1 * t1890 * t2891 * sigma_aa + 0.32e2 / 0.3e1 * t776 * t1072 * t494; + const double t2899 = t354 * t2898; + const double t2902 = t649 * t1105; + const double t2903 = t2902 * t290; + const double t2904 = t650 * t1109; + const double t2905 = t2904 / 0.8e1; + const double t2906 = t743 * t1131; + const double t2907 = t748 * t238; + const double t2910 = t377 * t238; + const double t2911 = t2910 * t495; + const double t2914 = t2298 * t238; + const double t2919 = t385 * t238; + const double t2920 = t2919 * t495; + const double t2927 = t779 * t238; + const double t2928 = t2927 * t495; + const double t2935 = t1892 * t238; + const double t2939 = 0.16e2 / 0.3e1 * t2907 * t751 - 0.16e2 / 0.3e1 * t1839 * t2911 - 0.16e2 / 0.3e1 * t2297 * t2914 + 0.64e2 / 0.3e1 * t1849 * t2911 - 0.16e2 * t1855 * t2920 - 0.16e2 * t1863 * t2911 + 0.48e2 * t1866 * t2920 - 0.32e2 * t1872 * t2928 - 0.32e2 * t1880 * t2920 + 0.256e3 / 0.3e1 * t1883 * t2928 - 0.16e3 / 0.3e1 * t1890 * t2935 * t495; + const double t2940 = t354 * t2939; + const double t2943 = t850 * t1046; + const double t2944 = t2943 * t170; + const double t2945 = t851 * t1050; + const double t2946 = t2945 / 0.8e1; + const double t2947 = t989 * t1076; + const double t2948 = t748 * t107; + const double t2951 = t377 * t107; + const double t2952 = t2951 * t920; + const double t2955 = t366 * sigma_bb; + const double t2956 = t2288 * t107; + const double t2961 = t385 * t107; + const double t2962 = t2961 * t920; + const double t2969 = t779 * t107; + const double t2970 = t2969 * t920; + const double t2977 = t1892 * t107; + const double t2981 = 0.16e2 / 0.3e1 * t2948 * t995 - 0.16e2 / 0.3e1 * t1839 * t2952 - 0.16e2 / 0.3e1 * t2955 * t2956 + 0.64e2 / 0.3e1 * t1849 * t2952 - 0.16e2 * t1855 * t2962 - 0.16e2 * t1863 * t2952 + 0.48e2 * t1866 * t2962 - 0.32e2 * t1872 * t2970 - 0.32e2 * t1880 * t2962 + 0.256e3 / 0.3e1 * t1883 * t2970 - 0.16e3 / 0.3e1 * t1890 * t2977 * t920; + const double t2982 = t354 * t2981; + const double t2985 = t915 * t1105; + const double t2986 = t2985 * t290; + const double t2990 = t926 * t253; + const double t2991 = t2990 * sigma_bb; + const double t2995 = t246 * t934 * t261; + const double t3003 = t256 * t943 * t270; + const double t3011 = t264 * t953 * t956; + const double t3018 = t2661 * rho_b; + const double t3019 = 0.1e1 / t3018; + const double t3024 = -0.8e1 / 0.3e1 * t102 * t919 * t243 + 0.8e1 * t499 * t2991 - 0.16e2 / 0.3e1 * t1378 * t2995 - 0.32e2 / 0.3e1 * t117 * t2991 + 0.8e2 / 0.3e1 * t509 * t2995 - 0.16e2 * t1388 * t3003 - 0.24e2 * t130 * t2995 + 0.56e2 * t518 * t3003 - 0.32e2 * t1400 * t3011 - 0.128e3 / 0.3e1 * t141 * t3003 + 0.96e2 * t529 * t3011 - 0.16e3 / 0.3e1 * t1413 * t950 * t3019 * t2666; + const double t3025 = t233 * t3024; + const double t3026 = t3025 * t290; + const double t3027 = t1106 * sigma_bb; + const double t3028 = t3027 * t966; + const double t3029 = t3028 / 0.8e1; + const double t3030 = t1106 * t280; + const double t3031 = t3030 * t974; + const double t3032 = 0.4e2 / 0.3e1 * t3031; + const double t3033 = t916 * t1109; + const double t3034 = t3033 / 0.8e1; + const double t3035 = t961 * t1109; + const double t3036 = t3035 / 0.8e1; + const double t3037 = t274 * t966; + const double t3038 = t3037 / 0.8e1; + const double t3039 = t274 * t250; + const double t3041 = tau_b * t165 * t288; + const double t3042 = t3039 * t3041; + const double t3043 = 0.5e1 / 0.3e1 * t3042; + const double t3044 = t989 * t1131; + const double t3048 = t926 * t369; + const double t3049 = t3048 * sigma_bb; + const double t3052 = t377 * t926; + const double t3053 = t3052 * sigma_bb; + const double t3056 = t1055 * t919; + const double t3065 = t385 * t926; + const double t3066 = t3065 * sigma_bb; + const double t3069 = t1060 * t919; + const double t3078 = t779 * t926; + const double t3079 = t3078 * sigma_bb; + const double t3082 = t1066 * t919; + const double t3091 = t1892 * t926; + const double t3098 = -0.8e1 / 0.3e1 * t357 * t919 * t361 + 0.16e2 / 0.3e1 * t748 * t3049 - 0.16e2 / 0.3e1 * t1839 * t3053 + 0.8e1 / 0.3e1 * t748 * t3056 - 0.16e2 / 0.3e1 * t366 * t3049 + 0.64e2 / 0.3e1 * t1849 * t3053 - 0.16e2 / 0.3e1 * t366 * t3056 - 0.16e2 * t1855 * t3066 + 0.16e2 / 0.3e1 * t757 * t3069 - 0.16e2 * t1863 * t3053 + 0.48e2 * t1866 * t3066 - 0.8e1 * t374 * t3069 - 0.32e2 * t1872 * t3079 + 0.8e1 * t766 * t3082 - 0.32e2 * t1880 * t3066 + 0.256e3 / 0.3e1 * t1883 * t3079 - 0.32e2 / 0.3e1 * t382 * t3082 - 0.16e3 / 0.3e1 * t1890 * t3091 * sigma_bb + 0.32e2 / 0.3e1 * t776 * t1072 * t919; + const double t3099 = t354 * t3098; + const double t3102 = t1359 * t1136; + const double t3103 = t3102 / 0.8e1; + const double t3104 = t1427 * t1136; + const double t3105 = t3104 / 0.8e1; + const double t3107 = t544 * t1134 * t169; + const double t3108 = t543 * t3107; + const double t3109 = t3108 / 0.8e1; + const double t3111 = t122 * t165 * t168; + const double t3112 = t543 * t3111; + const double t3113 = 0.2e1 / 0.3e1 * t3112; + const double t3114 = t1362 * t1140; + const double t3115 = 0.8e1 * t3114; + const double t3116 = t1430 * t1140; + const double t3117 = 0.8e1 * t3116; + const double t3119 = tau_a * t551 * t553; + const double t3120 = t549 * t3119; + const double t3121 = 0.8e2 / 0.3e1 * t3120; + const double t3122 = t159 * tau_a; + const double t3124 = 0.1e1 / t105 / t1371; + const double t3126 = t3122 * t3124 * t1452; + const double t3127 = t549 * t3126; + const double t3128 = 0.32e3 / 0.3e1 * t3127; + const double t3131 = t2237 * t1146; + const double t3132 = t3131 / 0.8e1; + const double t3133 = t2240 * t1150; + const double t3134 = 0.8e1 * t3133; + const double t3137 = t2068 * t1136; + const double t3138 = t3137 / 0.8e1; + const double t3139 = t2071 * t1140; + const double t3140 = 0.8e1 * t3139; + const double t3143 = t2610 * t1146; + const double t3144 = t3143 / 0.8e1; + const double t3145 = t2673 * t1146; + const double t3146 = t3145 / 0.8e1; + const double t3148 = t964 * t1144 * t289; + const double t3149 = t963 * t3148; + const double t3150 = t3149 / 0.8e1; + const double t3152 = t250 * t165 * t288; + const double t3153 = t963 * t3152; + const double t3154 = 0.2e1 / 0.3e1 * t3153; + const double t3155 = t2613 * t1150; + const double t3156 = 0.8e1 * t3155; + const double t3157 = t2676 * t1150; + const double t3158 = 0.8e1 * t3157; + const double t3160 = tau_b * t971 * t973; + const double t3161 = t969 * t3160; + const double t3162 = 0.8e2 / 0.3e1 * t3161; + const double t3163 = t281 * tau_b; + const double t3165 = 0.1e1 / t236 / t2622; + const double t3167 = t3163 * t3165 * t2696; + const double t3168 = t969 * t3167; + const double t3169 = 0.32e3 / 0.3e1 * t3168; + const double t3172 = t122 * t125; + const double t3176 = sigma_aa * t133 * t136; + const double t3184 = t118 * t145 * t148; + const double t3192 = t131 * t1041 * t536; + const double t3199 = 0.1e1 / t1415; + const double t3204 = 0.2e2 * t1413 * t142 * t3199 * t1420 + 0.2e1 * t117 * t3172 + 0.6e1 * t130 * t3176 + 0.2e1 * t1378 * t3176 + 0.6e1 * t1388 * t3184 + 0.12e2 * t1400 * t3192 + 0.12e2 * t141 * t3184 - 0.2e1 * t499 * t3172 - 0.8e1 * t509 * t3176 - 0.18e2 * t518 * t3184 - 0.32e2 * t529 * t3192; + const double t3205 = t99 * t3204; + const double t3206 = t3205 * t170; + const double t3208 = t1047 * t1050 / 0.4e1; + const double t3209 = t122 * t369; + const double t3212 = t2292 * t122; + const double t3219 = t2305 * t122; + const double t3226 = t2315 * t122; + const double t3236 = 0.2e2 * t1889 * t2325 * t122 + 0.2e1 * t1838 * t3212 + 0.6e1 * t1854 * t3219 + 0.12e2 * t1871 * t3226 + 0.2e1 * t366 * t3209 - 0.2e1 * t748 * t3209 + 0.6e1 * t374 * t3212 - 0.8e1 * t757 * t3212 + 0.12e2 * t382 * t3219 - 0.18e2 * t766 * t3219 - 0.32e2 * t776 * t3226; + const double t3237 = t354 * t3236; + const double t3239 = t4 * t354; + const double t3241 = t238 * t369 * t107; + const double t3244 = t2910 * t107; + const double t3251 = t2919 * t107; + const double t3258 = t2927 * t107; + const double t3268 = 0.2e2 * t1890 * t2935 * t107 + 0.2e1 * t1839 * t3244 - 0.8e1 * t1849 * t3244 + 0.6e1 * t1855 * t3251 + 0.6e1 * t1863 * t3244 - 0.18e2 * t1866 * t3251 + 0.12e2 * t1872 * t3258 + 0.12e2 * t1880 * t3251 - 0.32e2 * t1883 * t3258 + 0.2e1 * t366 * t3241 - 0.2e1 * t748 * t3241; + const double t3269 = t250 * t253; + const double t3273 = sigma_bb * t258 * t261; + const double t3281 = t246 * t267 * t270; + const double t3289 = t256 * t1100 * t956; + const double t3296 = 0.1e1 / t2661; + const double t3301 = 0.2e2 * t1413 * t264 * t3296 * t2666 + 0.2e1 * t117 * t3269 + 0.6e1 * t130 * t3273 + 0.2e1 * t1378 * t3273 + 0.6e1 * t1388 * t3281 + 0.12e2 * t1400 * t3289 + 0.12e2 * t141 * t3281 - 0.2e1 * t499 * t3269 - 0.8e1 * t509 * t3273 - 0.18e2 * t518 * t3281 - 0.32e2 * t529 * t3289; + const double t3302 = t233 * t3301; + const double t3303 = t3302 * t290; + const double t3305 = t1106 * t1109 / 0.4e1; + const double t3306 = t250 * t369; + const double t3309 = t2292 * t250; + const double t3316 = t2305 * t250; + const double t3323 = t2315 * t250; + const double t3333 = 0.2e2 * t1889 * t2325 * t250 + 0.2e1 * t1838 * t3309 + 0.6e1 * t1854 * t3316 + 0.12e2 * t1871 * t3323 + 0.2e1 * t366 * t3306 - 0.2e1 * t748 * t3306 + 0.6e1 * t374 * t3309 - 0.8e1 * t757 * t3309 + 0.12e2 * t382 * t3316 - 0.18e2 * t766 * t3316 - 0.32e2 * t776 * t3323; + const double t3334 = t354 * t3333; + const double t3337 = t2827 * t1136 / 0.8e1; + const double t3339 = t152 * t1136 / 0.8e1; + const double t3341 = 0.8e1 * t2830 * t1140; + const double t3343 = t551 * t165 * t168; + const double t3344 = t152 * t3343; + const double t3347 = t3027 * t1146 / 0.8e1; + const double t3349 = t274 * t1146 / 0.8e1; + const double t3351 = 0.8e1 * t3030 * t1150; + const double t3353 = t971 * t165 * t288; + const double t3354 = t274 * t3353; + const double t3356 = 0.1e1 / t3122; + const double t3358 = t153 * t3356 * t169; + const double t3360 = t543 * t3358 / 0.4e1; + const double t3362 = t551 * t155 * t553; + const double t3364 = 0.2e1 * t543 * t3362; + const double t3366 = t162 * t165 * t168; + const double t3368 = 0.8e1 * t549 * t3366; + const double t3370 = 0.1e1 / t105 / t500; + const double t3372 = t159 * t3370 * t1452; + const double t3374 = 0.64e2 * t549 * t3372; + const double t3376 = 0.1e1 / t3163; + const double t3378 = t275 * t3376 * t289; + const double t3380 = t963 * t3378 / 0.4e1; + const double t3382 = t971 * t277 * t973; + const double t3384 = 0.2e1 * t963 * t3382; + const double t3386 = t284 * t165 * t288; + const double t3388 = 0.8e1 * t969 * t3386; + const double t3390 = 0.1e1 / t236 / t924; + const double t3392 = t281 * t3390 * t2696; + const double t3394 = 0.64e2 * t969 * t3392; + + + vrho_a = t171 + t291 + t389 + t4 * ( t492 + t542 + t548 - t556 + t651 + t744 + t785 ); + vrho_b = t171 + t291 + t389 + t4 * ( t852 + t917 + t962 + t968 - t976 + t990 + t1017 ); + vsigma_aa = t4 * ( t1048 - t1052 + t1077 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1107 - t1111 + t1132 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1138 + t1142 ); + vtau_b = t4 * ( t1148 + t1152 ); + v2rho2_aa = 0.2e1 * t492 + 0.2e1 * t542 + t547 / 0.4e1 - 0.8e2 / 0.3e1 * t555 + 0.2e1 * t651 + 0.2e1 * t744 + 0.2e1 * t785 + t4 * t1902; + v2rho2_ab = t4 * t2331 + t1017 + t492 + t542 + t548 - t556 + t651 + t744 + t785 + t852 + t917 + t962 + t968 - t976 + t990; + v2rho2_bb = 0.2e1 * t852 + 0.2e1 * t917 + 0.2e1 * t962 + t967 / 0.4e1 - 0.8e2 / 0.3e1 * t975 + 0.2e1 * t990 + 0.2e1 * t1017 + t4 * t2783; + v2rhosigma_a_aa = t1048 - t1052 + t1077 + t4 * ( t2786 + t2826 + t2829 - t2832 - t2834 - t2836 + t2838 + t2843 + t2844 + t2899 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1107 - t1111 + t1132 + t4 * ( t2903 - t2905 + t2906 + t2940 ); + v2rhosigma_b_aa = t1048 - t1052 + t1077 + t4 * ( t2944 - t2946 + t2947 + t2982 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1107 - t1111 + t1132 + t4 * ( t2986 + t3026 + t3029 - t3032 - t3034 - t3036 + t3038 + t3043 + t3044 + t3099 ); + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1138 + t1142 + t4 * ( t3103 + t3105 - t3109 - t3113 + t3115 + t3117 - t3121 + t3128 ); + v2rhotau_a_b = t1148 + t1152 + t4 * ( t3132 + t3134 ); + v2rhotau_b_a = t1138 + t1142 + t4 * ( t3138 + t3140 ); + v2rhotau_b_b = t1148 + t1152 + t4 * ( t3144 + t3146 - t3150 - t3154 + t3156 + t3158 - t3162 + t3169 ); + v2sigma2_aa_aa = t4 * ( t3206 - t3208 + t3237 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t3239 * t3268; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t3303 - t3305 + t3334 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t3337 + t3339 + t3341 - t3344 ); + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = t4 * ( t3347 + t3349 + t3351 - t3354 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t3360 + t3364 + t3368 - t3374 ); + v2tau2_ab = 0.e0; + v2tau2_bb = t4 * ( -t3380 + t3384 + t3388 - t3394 ); + + } + + +}; + +struct BuiltinM05_2X_C : detail::BuiltinKernelImpl< BuiltinM05_2X_C > { + + BuiltinM05_2X_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM05_2X_C >(p) { } + + virtual ~BuiltinM05_2X_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m05_2x_x.hpp b/include/exchcxx/impl/builtin/kernels/m05_2x_x.hpp new file mode 100644 index 0000000..853f674 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m05_2x_x.hpp @@ -0,0 +1,2999 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM05_2X_X > : + public mgga_screening_interface< BuiltinM05_2X_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 1.0; + static constexpr double a_1 = -0.56833; + static constexpr double a_2 = -1.30057; + static constexpr double a_3 = 5.50070; + static constexpr double a_4 = 9.06402; + static constexpr double a_5 = -32.21075; + static constexpr double a_6 = -23.73298; + static constexpr double a_7 = 70.22996; + static constexpr double a_8 = 29.88614; + static constexpr double a_9 = -60.25778; + static constexpr double a_10 = -13.22205; + static constexpr double a_11 = 15.23694; + static constexpr double csi_HF = 0.44; + static constexpr double cx = 0.56; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t121 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t117 ); + + + eps = 0.2e1 * t121; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t121 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t117 ); + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + + + eps = 0.2e1 * t121; + vrho = 0.2e1 * rho * t229 + 0.2e1 * t121; + vsigma = 0.2e1 * rho * t242; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t317; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t23 = constants::m_pi_sq; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + constexpr double t343 = 0.1e1 / t24 / t23; + constexpr double t344 = t44 * t343; + constexpr double t688 = t43 * t28; + constexpr double t708 = t343 * t28; + constexpr double t724 = t56 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + const double t320 = t49 * csi_HF; + const double t324 = t31 * t31; + const double t326 = 0.1e1 / t20 / t324; + const double t327 = t326 * csi_HF; + const double t329 = t127 * t327 * t133; + const double t335 = t324 * t128; + const double t336 = 0.1e1 / t335; + const double t337 = t336 * csi_HF; + const double t339 = 0.1e1 / t132 / t38; + const double t341 = t127 * t337 * t339; + const double t345 = sigma * sigma; + const double t346 = t345 * t28; + const double t348 = t344 * t346 * t116; + const double t352 = t27 * t30 * t223; + const double t355 = t86 * t75; + const double t356 = t355 * t90; + const double t357 = tau * tau; + const double t358 = t357 * t28; + const double t359 = t324 * rho; + const double t361 = 0.1e1 / t20 / t359; + const double t362 = t358 * t361; + const double t365 = t185 * t96; + const double t368 = t88 * t102; + const double t371 = t92 * t81; + const double t372 = t371 * t96; + const double t375 = t192 * t102; + const double t378 = t94 * t108; + const double t381 = t98 * t87; + const double t382 = t381 * t102; + const double t385 = t199 * t108; + const double t388 = t100 * t114; + const double t391 = t104 * t93; + const double t392 = t391 * t108; + const double t395 = t58 * t72; + const double t398 = t62 * t51; + const double t399 = t398 * t66; + const double t402 = t156 * t72; + const double t405 = 0.7e3 / 0.3e1 * t356 * t362 + 0.49e4 / 0.9e1 * t365 * t362 + 0.28e4 / 0.9e1 * t368 * t362 + 0.28e4 / 0.9e1 * t372 * t362 + 0.64e4 / 0.9e1 * t375 * t362 + 0.4e3 * t378 * t362 + 0.4e3 * t382 * t362 + 0.9e3 * t385 * t362 + 0.5e3 * t388 * t362 + 0.5e3 * t392 * t362 + 0.1e3 / 0.3e1 * t395 * t362 + 0.1e3 / 0.3e1 * t399 * t362 + 0.1e3 * t402 * t362; + const double t406 = t64 * t78; + const double t409 = t68 * t57; + const double t410 = t409 * t72; + const double t413 = t163 * t78; + const double t416 = t70 * t84; + const double t419 = t74 * t63; + const double t420 = t419 * t78; + const double t423 = t170 * t84; + const double t426 = t76 * t90; + const double t429 = t80 * t69; + const double t430 = t429 * t84; + const double t433 = t177 * t90; + const double t436 = t52 * t66; + const double t439 = t149 * t66; + const double t443 = 0.1e1 / t32 / t128; + const double t444 = t47 * t443; + const double t451 = 0.2e3 / 0.3e1 * t406 * t362 + 0.2e3 / 0.3e1 * t410 * t362 + 0.16e4 / 0.9e1 * t413 * t362 + 0.1e4 / 0.9e1 * t416 * t362 + 0.1e4 / 0.9e1 * t420 * t362 + 0.25e4 / 0.9e1 * t423 * t362 + 0.5e3 / 0.3e1 * t426 * t362 + 0.5e3 / 0.3e1 * t430 * t362 + 0.4e3 * t433 * t362 + 0.1e3 / 0.9e1 * t436 * t362 + 0.4e3 / 0.9e1 * t439 * t362 - 0.4e3 / 0.9e1 * t207 * t444 - 0.4e3 / 0.9e1 * t210 * t444 - 0.44e3 / 0.9e1 * t214 * t444; + const double t479 = -0.44e3 / 0.9e1 * t219 * t444 - 0.8e2 / 0.3e1 * t178 * t444 - 0.8e2 / 0.3e1 * t182 * t444 - 0.28e3 / 0.9e1 * t186 * t444 - 0.28e3 / 0.9e1 * t189 * t444 - 0.32e3 / 0.9e1 * t193 * t444 - 0.32e3 / 0.9e1 * t196 * t444 - 0.4e2 * t200 * t444 - 0.4e2 * t203 * t444 - 0.4e2 / 0.9e1 * t145 * t444 - 0.8e2 / 0.9e1 * t150 * t444 - 0.8e2 / 0.9e1 * t153 * t444 - 0.4e2 / 0.3e1 * t157 * t444; + const double t490 = t206 * t114; + const double t493 = t106 * t218; + const double t496 = t110 * t99; + const double t497 = t496 * t114; + const double t500 = t213 * t218; + const double t504 = 0.1e1 / t95 / t77; + const double t505 = t112 * t504; + const double t508 = t82 * t96; + const double t515 = t43 * t357; + const double t516 = t28 * t361; + const double t517 = t516 * t60; + const double t520 = t56 * t357; + const double t523 = -0.4e2 / 0.3e1 * t160 * t444 - 0.16e3 / 0.9e1 * t164 * t444 - 0.16e3 / 0.9e1 * t167 * t444 - 0.2e3 / 0.9e1 * t171 * t444 - 0.2e3 / 0.9e1 * t174 * t444 + 0.1e5 / 0.9e1 * t490 * t362 + 0.55e4 / 0.9e1 * t493 * t362 + 0.55e4 / 0.9e1 * t497 * t362 + 0.121e5 / 0.9e1 * t500 * t362 + 0.22e4 / 0.3e1 * t505 * t362 + 0.7e3 / 0.3e1 * t508 * t362 - 0.4e2 / 0.9e1 * t140 * t29 * t443 * t54 + 0.1e3 / 0.9e1 * t515 * t517 + 0.1e3 / 0.9e1 * t520 * t517; + const double t525 = t405 + t451 + t479 + t523; + const double t526 = t41 * t525; + const double t531 = piecewise_functor_3( t3, 0.0, t19 * t320 * t117 / 0.12e2 - 0.12110710826652329294e-1 * t329 * t137 - t19 * t123 * t224 / 0.4e1 + 0.39384923811430050947e-3 * t341 * t348 + 0.80738072177682195292e-2 * t135 * t352 - 0.3e1 / 0.8e1 * t19 * t21 * t526 ); + const double t534 = t127 * t131; + const double t537 = t324 * t31; + const double t538 = 0.1e1 / t537; + const double t539 = t538 * csi_HF; + const double t541 = t127 * t539 * t339; + const double t544 = t344 * t28 * t116 * sigma; + const double t548 = t236 * t237 * t223; + const double t552 = piecewise_functor_3( t3, 0.0, 0.35322906577735960442e-2 * t534 * t239 - 0.14769346429286269106e-3 * t541 * t544 - 0.15138388533315411618e-2 * t235 * t548 ); + const double t559 = t27 * t30 * t312; + const double t562 = t28 * t326; + const double t563 = t562 * tau; + const double t590 = -0.2e3 / 0.3e1 * t416 * t563 - 0.2e3 / 0.3e1 * t420 * t563 - 0.5e3 / 0.3e1 * t423 * t563 - 0.1e3 * t426 * t563 - 0.1e3 * t430 * t563 - 0.24e3 * t433 * t563 - 0.14e3 * t508 * t563 - 0.14e3 * t356 * t563 - 0.98e3 / 0.3e1 * t365 * t563 - 0.56e3 / 0.3e1 * t368 * t563 - 0.2e2 / 0.3e1 * t436 * t563 - 0.8e2 / 0.3e1 * t439 * t563 - 0.2e2 * t395 * t563; + const double t619 = -0.2e2 * t399 * t563 - 0.6e2 * t402 * t563 - 0.4e2 * t406 * t563 - 0.4e2 * t410 * t563 - 0.32e3 / 0.3e1 * t413 * t563 - 0.11e4 / 0.3e1 * t497 * t563 - 0.242e4 / 0.3e1 * t500 * t563 - 0.44e3 * t505 * t563 - 0.56e3 / 0.3e1 * t372 * t563 - 0.128e4 / 0.3e1 * t375 * t563 - 0.24e3 * t378 * t563 - 0.24e3 * t382 * t563 - 0.54e3 * t385 * t563 - 0.3e3 * t388 * t563; + const double t630 = t301 * t34; + const double t636 = t283 * t34; + const double t639 = t289 * t34; + const double t644 = t295 * t34; + const double t651 = t264 * t34; + const double t654 = -0.3e3 * t392 * t563 - 0.2e4 / 0.3e1 * t490 * t563 - 0.11e4 / 0.3e1 * t493 * t563 + 0.5e1 / 0.3e1 * t244 * t34 * t54 + 0.55e2 / 0.3e1 * t213 * t630 + 0.55e2 / 0.3e1 * t112 * t307 * t34 + 0.4e2 / 0.3e1 * t192 * t636 + 0.4e2 / 0.3e1 * t94 * t639 + 0.15e2 * t199 * t639 + 0.15e2 * t100 * t644 + 0.5e2 / 0.3e1 * t206 * t644 + 0.5e2 / 0.3e1 * t106 * t630 + 0.2e2 / 0.3e1 * t70 * t651; + const double t657 = t270 * t34; + const double t662 = t277 * t34; + const double t669 = t247 * t34; + const double t674 = t252 * t34; + const double t679 = t258 * t34; + const double t684 = t56 * tau; + const double t689 = t326 * t60; + const double t693 = 0.25e2 / 0.3e1 * t170 * t651 + 0.25e2 / 0.3e1 * t76 * t657 + 0.1e2 * t177 * t657 + 0.1e2 * t82 * t662 + 0.35e2 / 0.3e1 * t185 * t662 + 0.35e2 / 0.3e1 * t88 * t636 + 0.5e1 / 0.3e1 * t52 * t669 + 0.1e2 / 0.3e1 * t149 * t669 + 0.1e2 / 0.3e1 * t58 * t674 + 0.5e1 * t156 * t674 + 0.5e1 * t64 * t679 + 0.2e2 / 0.3e1 * t163 * t679 - 0.2e2 / 0.3e1 * t684 * t562 * t60 - 0.2e2 / 0.3e1 * t688 * t689 * tau; + const double t695 = t590 + t619 + t654 + t693; + const double t696 = t41 * t695; + const double t701 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t313 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t559 - 0.3e1 / 0.8e1 * t19 * t21 * t696 ); + const double t704 = 0.1e1 / t359; + const double t706 = t127 * t704 * csi_HF; + const double t707 = t339 * t44; + const double t710 = t707 * t708 * t116; + const double t713 = piecewise_functor_3( t3, 0.0, 0.55385049109823509145e-4 * t706 * t710 ); + const double t716 = t236 * t237 * t312; + const double t719 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t716 ); + const double t721 = t130 * t60; + const double t727 = t108 * t28; + const double t728 = t727 * t130; + const double t731 = t114 * t28; + const double t732 = t731 * t130; + const double t739 = t218 * t28; + const double t740 = t739 * t130; + const double t747 = t504 * t28; + const double t751 = t78 * t28; + const double t752 = t751 * t130; + const double t755 = t72 * t28; + const double t756 = t755 * t130; + const double t761 = t84 * t28; + const double t762 = t761 * t130; + const double t769 = 0.264e3 * t112 * t130 * t747 + 0.18e3 * t100 * t732 + 0.22e3 * t106 * t740 + 0.64e2 * t163 * t752 + 0.1e3 * t170 * t762 + 0.324e3 * t199 * t728 + 0.4e3 * t206 * t732 + 0.484e3 * t213 * t740 + 0.18e3 * t391 * t728 + 0.24e2 * t409 * t756 + 0.4e2 * t419 * t752 + 0.22e3 * t496 * t732 + 0.24e2 * t64 * t752 + 0.4e1 * t688 * t721 + 0.4e2 * t70 * t762 + 0.4e1 * t721 * t724; + const double t770 = t90 * t28; + const double t771 = t770 * t130; + const double t778 = t96 * t28; + const double t779 = t778 * t130; + const double t786 = t102 * t28; + const double t787 = t786 * t130; + const double t798 = t66 * t28; + const double t799 = t798 * t130; + const double t810 = 0.16e2 * t149 * t799 + 0.36e2 * t156 * t756 + 0.144e3 * t177 * t771 + 0.196e3 * t185 * t779 + 0.256e3 * t192 * t787 + 0.84e2 * t355 * t771 + 0.112e3 * t371 * t779 + 0.144e3 * t381 * t787 + 0.12e2 * t398 * t799 + 0.6e2 * t429 * t762 + 0.4e1 * t52 * t799 + 0.12e2 * t58 * t756 + 0.144e3 * t728 * t94 + 0.6e2 * t76 * t771 + 0.84e2 * t779 * t82 + 0.112e3 * t787 * t88; + const double t811 = t769 + t810; + const double t812 = t41 * t811; + const double t816 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t812 ); + + + v2rho2 = 0.2e1 * rho * t531 + 0.4e1 * t229; + v2rhosigma = 0.2e1 * rho * t552 + 0.2e1 * t242; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t701 + 0.2e1 * t317; + v2sigma2 = 0.2e1 * rho * t713; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t719; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t816; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t23 = constants::m_pi_sq; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + constexpr double t343 = 0.1e1 / t24 / t23; + constexpr double t344 = t44 * t343; + constexpr double t688 = t43 * t28; + constexpr double t708 = t343 * t28; + constexpr double t724 = t56 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t121 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t117 ); + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + const double t320 = t49 * csi_HF; + const double t324 = t31 * t31; + const double t326 = 0.1e1 / t20 / t324; + const double t327 = t326 * csi_HF; + const double t329 = t127 * t327 * t133; + const double t335 = t324 * t128; + const double t336 = 0.1e1 / t335; + const double t337 = t336 * csi_HF; + const double t339 = 0.1e1 / t132 / t38; + const double t341 = t127 * t337 * t339; + const double t345 = sigma * sigma; + const double t346 = t345 * t28; + const double t348 = t344 * t346 * t116; + const double t352 = t27 * t30 * t223; + const double t355 = t86 * t75; + const double t356 = t355 * t90; + const double t357 = tau * tau; + const double t358 = t357 * t28; + const double t359 = t324 * rho; + const double t361 = 0.1e1 / t20 / t359; + const double t362 = t358 * t361; + const double t365 = t185 * t96; + const double t368 = t88 * t102; + const double t371 = t92 * t81; + const double t372 = t371 * t96; + const double t375 = t192 * t102; + const double t378 = t94 * t108; + const double t381 = t98 * t87; + const double t382 = t381 * t102; + const double t385 = t199 * t108; + const double t388 = t100 * t114; + const double t391 = t104 * t93; + const double t392 = t391 * t108; + const double t395 = t58 * t72; + const double t398 = t62 * t51; + const double t399 = t398 * t66; + const double t402 = t156 * t72; + const double t405 = 0.7e3 / 0.3e1 * t356 * t362 + 0.49e4 / 0.9e1 * t365 * t362 + 0.28e4 / 0.9e1 * t368 * t362 + 0.28e4 / 0.9e1 * t372 * t362 + 0.64e4 / 0.9e1 * t375 * t362 + 0.4e3 * t378 * t362 + 0.4e3 * t382 * t362 + 0.9e3 * t385 * t362 + 0.5e3 * t388 * t362 + 0.5e3 * t392 * t362 + 0.1e3 / 0.3e1 * t395 * t362 + 0.1e3 / 0.3e1 * t399 * t362 + 0.1e3 * t402 * t362; + const double t406 = t64 * t78; + const double t409 = t68 * t57; + const double t410 = t409 * t72; + const double t413 = t163 * t78; + const double t416 = t70 * t84; + const double t419 = t74 * t63; + const double t420 = t419 * t78; + const double t423 = t170 * t84; + const double t426 = t76 * t90; + const double t429 = t80 * t69; + const double t430 = t429 * t84; + const double t433 = t177 * t90; + const double t436 = t52 * t66; + const double t439 = t149 * t66; + const double t443 = 0.1e1 / t32 / t128; + const double t444 = t47 * t443; + const double t451 = 0.2e3 / 0.3e1 * t406 * t362 + 0.2e3 / 0.3e1 * t410 * t362 + 0.16e4 / 0.9e1 * t413 * t362 + 0.1e4 / 0.9e1 * t416 * t362 + 0.1e4 / 0.9e1 * t420 * t362 + 0.25e4 / 0.9e1 * t423 * t362 + 0.5e3 / 0.3e1 * t426 * t362 + 0.5e3 / 0.3e1 * t430 * t362 + 0.4e3 * t433 * t362 + 0.1e3 / 0.9e1 * t436 * t362 + 0.4e3 / 0.9e1 * t439 * t362 - 0.4e3 / 0.9e1 * t207 * t444 - 0.4e3 / 0.9e1 * t210 * t444 - 0.44e3 / 0.9e1 * t214 * t444; + const double t479 = -0.44e3 / 0.9e1 * t219 * t444 - 0.8e2 / 0.3e1 * t178 * t444 - 0.8e2 / 0.3e1 * t182 * t444 - 0.28e3 / 0.9e1 * t186 * t444 - 0.28e3 / 0.9e1 * t189 * t444 - 0.32e3 / 0.9e1 * t193 * t444 - 0.32e3 / 0.9e1 * t196 * t444 - 0.4e2 * t200 * t444 - 0.4e2 * t203 * t444 - 0.4e2 / 0.9e1 * t145 * t444 - 0.8e2 / 0.9e1 * t150 * t444 - 0.8e2 / 0.9e1 * t153 * t444 - 0.4e2 / 0.3e1 * t157 * t444; + const double t490 = t206 * t114; + const double t493 = t106 * t218; + const double t496 = t110 * t99; + const double t497 = t496 * t114; + const double t500 = t213 * t218; + const double t504 = 0.1e1 / t95 / t77; + const double t505 = t112 * t504; + const double t508 = t82 * t96; + const double t515 = t43 * t357; + const double t516 = t28 * t361; + const double t517 = t516 * t60; + const double t520 = t56 * t357; + const double t523 = -0.4e2 / 0.3e1 * t160 * t444 - 0.16e3 / 0.9e1 * t164 * t444 - 0.16e3 / 0.9e1 * t167 * t444 - 0.2e3 / 0.9e1 * t171 * t444 - 0.2e3 / 0.9e1 * t174 * t444 + 0.1e5 / 0.9e1 * t490 * t362 + 0.55e4 / 0.9e1 * t493 * t362 + 0.55e4 / 0.9e1 * t497 * t362 + 0.121e5 / 0.9e1 * t500 * t362 + 0.22e4 / 0.3e1 * t505 * t362 + 0.7e3 / 0.3e1 * t508 * t362 - 0.4e2 / 0.9e1 * t140 * t29 * t443 * t54 + 0.1e3 / 0.9e1 * t515 * t517 + 0.1e3 / 0.9e1 * t520 * t517; + const double t525 = t405 + t451 + t479 + t523; + const double t526 = t41 * t525; + const double t531 = piecewise_functor_3( t3, 0.0, t19 * t320 * t117 / 0.12e2 - 0.12110710826652329294e-1 * t329 * t137 - t19 * t123 * t224 / 0.4e1 + 0.39384923811430050947e-3 * t341 * t348 + 0.80738072177682195292e-2 * t135 * t352 - 0.3e1 / 0.8e1 * t19 * t21 * t526 ); + const double t534 = t127 * t131; + const double t537 = t324 * t31; + const double t538 = 0.1e1 / t537; + const double t539 = t538 * csi_HF; + const double t541 = t127 * t539 * t339; + const double t544 = t344 * t28 * t116 * sigma; + const double t548 = t236 * t237 * t223; + const double t552 = piecewise_functor_3( t3, 0.0, 0.35322906577735960442e-2 * t534 * t239 - 0.14769346429286269106e-3 * t541 * t544 - 0.15138388533315411618e-2 * t235 * t548 ); + const double t559 = t27 * t30 * t312; + const double t562 = t28 * t326; + const double t563 = t562 * tau; + const double t590 = -0.2e3 / 0.3e1 * t416 * t563 - 0.2e3 / 0.3e1 * t420 * t563 - 0.5e3 / 0.3e1 * t423 * t563 - 0.1e3 * t426 * t563 - 0.1e3 * t430 * t563 - 0.24e3 * t433 * t563 - 0.14e3 * t508 * t563 - 0.14e3 * t356 * t563 - 0.98e3 / 0.3e1 * t365 * t563 - 0.56e3 / 0.3e1 * t368 * t563 - 0.2e2 / 0.3e1 * t436 * t563 - 0.8e2 / 0.3e1 * t439 * t563 - 0.2e2 * t395 * t563; + const double t619 = -0.2e2 * t399 * t563 - 0.6e2 * t402 * t563 - 0.4e2 * t406 * t563 - 0.4e2 * t410 * t563 - 0.32e3 / 0.3e1 * t413 * t563 - 0.11e4 / 0.3e1 * t497 * t563 - 0.242e4 / 0.3e1 * t500 * t563 - 0.44e3 * t505 * t563 - 0.56e3 / 0.3e1 * t372 * t563 - 0.128e4 / 0.3e1 * t375 * t563 - 0.24e3 * t378 * t563 - 0.24e3 * t382 * t563 - 0.54e3 * t385 * t563 - 0.3e3 * t388 * t563; + const double t630 = t301 * t34; + const double t636 = t283 * t34; + const double t639 = t289 * t34; + const double t644 = t295 * t34; + const double t651 = t264 * t34; + const double t654 = -0.3e3 * t392 * t563 - 0.2e4 / 0.3e1 * t490 * t563 - 0.11e4 / 0.3e1 * t493 * t563 + 0.5e1 / 0.3e1 * t244 * t34 * t54 + 0.55e2 / 0.3e1 * t213 * t630 + 0.55e2 / 0.3e1 * t112 * t307 * t34 + 0.4e2 / 0.3e1 * t192 * t636 + 0.4e2 / 0.3e1 * t94 * t639 + 0.15e2 * t199 * t639 + 0.15e2 * t100 * t644 + 0.5e2 / 0.3e1 * t206 * t644 + 0.5e2 / 0.3e1 * t106 * t630 + 0.2e2 / 0.3e1 * t70 * t651; + const double t657 = t270 * t34; + const double t662 = t277 * t34; + const double t669 = t247 * t34; + const double t674 = t252 * t34; + const double t679 = t258 * t34; + const double t684 = t56 * tau; + const double t689 = t326 * t60; + const double t693 = 0.25e2 / 0.3e1 * t170 * t651 + 0.25e2 / 0.3e1 * t76 * t657 + 0.1e2 * t177 * t657 + 0.1e2 * t82 * t662 + 0.35e2 / 0.3e1 * t185 * t662 + 0.35e2 / 0.3e1 * t88 * t636 + 0.5e1 / 0.3e1 * t52 * t669 + 0.1e2 / 0.3e1 * t149 * t669 + 0.1e2 / 0.3e1 * t58 * t674 + 0.5e1 * t156 * t674 + 0.5e1 * t64 * t679 + 0.2e2 / 0.3e1 * t163 * t679 - 0.2e2 / 0.3e1 * t684 * t562 * t60 - 0.2e2 / 0.3e1 * t688 * t689 * tau; + const double t695 = t590 + t619 + t654 + t693; + const double t696 = t41 * t695; + const double t701 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t313 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t559 - 0.3e1 / 0.8e1 * t19 * t21 * t696 ); + const double t704 = 0.1e1 / t359; + const double t706 = t127 * t704 * csi_HF; + const double t707 = t339 * t44; + const double t710 = t707 * t708 * t116; + const double t713 = piecewise_functor_3( t3, 0.0, 0.55385049109823509145e-4 * t706 * t710 ); + const double t716 = t236 * t237 * t312; + const double t719 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t716 ); + const double t721 = t130 * t60; + const double t727 = t108 * t28; + const double t728 = t727 * t130; + const double t731 = t114 * t28; + const double t732 = t731 * t130; + const double t739 = t218 * t28; + const double t740 = t739 * t130; + const double t747 = t504 * t28; + const double t751 = t78 * t28; + const double t752 = t751 * t130; + const double t755 = t72 * t28; + const double t756 = t755 * t130; + const double t761 = t84 * t28; + const double t762 = t761 * t130; + const double t769 = 0.264e3 * t112 * t130 * t747 + 0.18e3 * t100 * t732 + 0.22e3 * t106 * t740 + 0.64e2 * t163 * t752 + 0.1e3 * t170 * t762 + 0.324e3 * t199 * t728 + 0.4e3 * t206 * t732 + 0.484e3 * t213 * t740 + 0.18e3 * t391 * t728 + 0.24e2 * t409 * t756 + 0.4e2 * t419 * t752 + 0.22e3 * t496 * t732 + 0.24e2 * t64 * t752 + 0.4e1 * t688 * t721 + 0.4e2 * t70 * t762 + 0.4e1 * t721 * t724; + const double t770 = t90 * t28; + const double t771 = t770 * t130; + const double t778 = t96 * t28; + const double t779 = t778 * t130; + const double t786 = t102 * t28; + const double t787 = t786 * t130; + const double t798 = t66 * t28; + const double t799 = t798 * t130; + const double t810 = 0.16e2 * t149 * t799 + 0.36e2 * t156 * t756 + 0.144e3 * t177 * t771 + 0.196e3 * t185 * t779 + 0.256e3 * t192 * t787 + 0.84e2 * t355 * t771 + 0.112e3 * t371 * t779 + 0.144e3 * t381 * t787 + 0.12e2 * t398 * t799 + 0.6e2 * t429 * t762 + 0.4e1 * t52 * t799 + 0.12e2 * t58 * t756 + 0.144e3 * t728 * t94 + 0.6e2 * t76 * t771 + 0.84e2 * t779 * t82 + 0.112e3 * t787 * t88; + const double t811 = t769 + t810; + const double t812 = t41 * t811; + const double t816 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t812 ); + + + vrho = 0.2e1 * rho * t229 + 0.2e1 * t121; + vsigma = 0.2e1 * rho * t242; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t317; + v2rho2 = 0.2e1 * rho * t531 + 0.4e1 * t229; + v2rhosigma = 0.2e1 * rho * t552 + 0.2e1 * t242; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t701 + 0.2e1 * t317; + v2sigma2 = 0.2e1 * rho * t713; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t719; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t816; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + + + eps = t126 + t212; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + + + eps = t126 + t212; + vrho_a = t126 + t212 + t7 * ( t331 + t345 ); + vrho_b = t126 + t212 + t7 * ( t357 + t467 ); + vsigma_aa = t7 * t477; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t485; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t547; + vtau_b = t7 * t609; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t31 = constants::m_pi_sq; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + constexpr double t656 = 0.1e1 / t32 / t31; + constexpr double t657 = t50 * t656; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + const double t612 = t24 * t24; + const double t613 = 0.1e1 / t612; + const double t614 = t217 * t217; + const double t617 = t213 * t7; + const double t618 = 0.1e1 / t617; + const double t619 = t17 * t618; + const double t622 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t214 + 0.2e1 * t619 ); + const double t626 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t614 + 0.4e1 / 0.3e1 * t24 * t622 ); + const double t627 = t6 * t626; + const double t630 = t221 * t227; + const double t632 = t3 * t220; + const double t633 = t632 * t233; + const double t640 = 0.1e1 / t224 / t7 * csi_HF; + const double t641 = t640 * t122; + const double t643 = t27 * t641 / 0.12e2; + const double t644 = t226 * t232; + const double t645 = t230 * t644; + const double t646 = t645 * t240; + const double t648 = t226 * t326; + const double t649 = t27 * t648; + const double t652 = 0.1e1 / t231 / t44; + const double t653 = t29 * t652; + const double t654 = t230 * t653; + const double t658 = sigma_aa * sigma_aa; + const double t659 = t36 * t36; + const double t660 = t659 * t235; + const double t662 = 0.1e1 / t37 / t660; + const double t663 = t658 * t662; + const double t665 = t657 * t663 * t121; + const double t669 = 0.1e1 / t38 / t659; + const double t670 = sigma_aa * t669; + const double t672 = t35 * t670 * t121; + const double t676 = t35 * t238 * t325; + const double t679 = tau_a * tau_a; + const double t680 = t49 * t679; + const double t681 = t659 * rho_a; + const double t683 = 0.1e1 / t37 / t681; + const double t684 = t683 * t65; + const double t687 = t61 * t679; + const double t693 = t247 * t237; + const double t696 = t254 * t237; + const double t701 = t261 * t237; + const double t704 = t311 * t237; + const double t714 = t268 * t237; + const double t719 = 0.5e2 / 0.9e1 * t680 * t684 + 0.5e2 / 0.9e1 * t687 * t684 - 0.4e2 / 0.9e1 * t243 * t237 * t59 - 0.8e2 / 0.9e1 * t251 * t693 - 0.8e2 / 0.9e1 * t63 * t696 - 0.4e2 / 0.3e1 * t258 * t696 - 0.4e2 / 0.3e1 * t69 * t701 - 0.4e3 / 0.9e1 * t111 * t704 - 0.44e3 / 0.9e1 * t315 * t704 - 0.44e3 / 0.9e1 * t117 * t320 * t237 - 0.16e3 / 0.9e1 * t265 * t701 - 0.16e3 / 0.9e1 * t75 * t714 - 0.2e3 / 0.9e1 * t272 * t714; + const double t720 = t275 * t237; + const double t725 = t283 * t237; + const double t730 = t290 * t237; + const double t735 = t297 * t237; + const double t740 = t304 * t237; + const double t747 = t67 * t56; + const double t748 = t71 * t679; + const double t749 = t748 * t683; + const double t752 = t77 * t679; + const double t753 = t752 * t683; + const double t756 = t83 * t679; + const double t757 = t756 * t683; + const double t760 = -0.2e3 / 0.9e1 * t81 * t720 - 0.8e2 / 0.3e1 * t279 * t720 - 0.8e2 / 0.3e1 * t87 * t725 - 0.28e3 / 0.9e1 * t287 * t725 - 0.28e3 / 0.9e1 * t93 * t730 - 0.32e3 / 0.9e1 * t294 * t730 - 0.32e3 / 0.9e1 * t99 * t735 - 0.4e2 * t301 * t735 - 0.4e2 * t105 * t740 - 0.4e3 / 0.9e1 * t308 * t740 - 0.4e2 / 0.9e1 * t57 * t693 + 0.5e2 / 0.3e1 * t747 * t749 + 0.5e2 * t258 * t753 + 0.1e3 / 0.3e1 * t69 * t757; + const double t762 = t73 * t62; + const double t767 = t89 * t679; + const double t768 = t767 * t683; + const double t771 = t79 * t68; + const double t776 = t95 * t679; + const double t777 = t776 * t683; + const double t780 = t85 * t74; + const double t785 = t101 * t679; + const double t786 = t785 * t683; + const double t793 = t113 * t679; + const double t794 = t793 * t683; + const double t797 = t119 * t679; + const double t798 = t797 * t683; + const double t801 = 0.1e3 / 0.3e1 * t762 * t753 + 0.8e3 / 0.9e1 * t265 * t757 + 0.5e3 / 0.9e1 * t75 * t768 + 0.5e3 / 0.9e1 * t771 * t757 + 0.125e4 / 0.9e1 * t272 * t768 + 0.25e3 / 0.3e1 * t81 * t777 + 0.25e3 / 0.3e1 * t780 * t768 + 0.2e3 * t279 * t777 + 0.35e3 / 0.3e1 * t87 * t786 + 0.5e2 / 0.9e1 * t57 * t749 + 0.2e3 / 0.9e1 * t251 * t749 + 0.45e3 * t301 * t794 + 0.25e3 * t105 * t798; + const double t802 = t109 * t98; + const double t807 = t319 * t679; + const double t808 = t807 * t683; + const double t811 = t115 * t104; + const double t818 = t97 * t86; + const double t821 = t107 * t679; + const double t822 = t821 * t683; + const double t827 = t103 * t92; + const double t831 = 0.1e1 / t100 / t82; + const double t832 = t831 * t679; + const double t836 = t91 * t80; + const double t843 = 0.25e3 * t802 * t794 + 0.5e4 / 0.9e1 * t308 * t798 + 0.275e4 / 0.9e1 * t111 * t808 + 0.275e4 / 0.9e1 * t811 * t798 + 0.605e4 / 0.9e1 * t315 * t808 + 0.5e2 / 0.3e1 * t63 * t753 + 0.14e4 / 0.9e1 * t818 * t786 + 0.32e4 / 0.9e1 * t294 * t822 + 0.2e3 * t99 * t794 + 0.2e3 * t827 * t822 + 0.11e4 / 0.3e1 * t117 * t832 * t683 + 0.35e3 / 0.3e1 * t836 * t777 + 0.245e4 / 0.9e1 * t287 * t786 + 0.14e4 / 0.9e1 * t93 * t822; + const double t845 = t719 + t760 + t801 + t843; + const double t846 = t47 * t845; + const double t847 = t29 * t846; + const double t850 = -0.3e1 / 0.8e1 * t627 * t123 - t630 / 0.4e1 + 0.80738072177682195292e-2 * t633 * t240 - 0.3e1 / 0.4e1 * t221 * t327 + t643 + 0.26912690725894065098e-2 * t646 - t649 / 0.4e1 + 0.19692461905715025473e-3 * t654 * t665 - 0.14801979899241735804e-1 * t234 * t672 + 0.80738072177682195292e-2 * t234 * t676 - 0.3e1 / 0.8e1 * t27 * t847; + const double t851 = piecewise_functor_3( t2, 0.0, t850 ); + const double t852 = t133 * t133; + const double t853 = 0.1e1 / t852; + const double t854 = t334 * t334; + const double t857 = t128 * t618; + const double t860 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t214 + 0.2e1 * t857 ); + const double t864 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t854 + 0.4e1 / 0.3e1 * t133 * t860 ); + const double t865 = t6 * t864; + const double t868 = t338 * t341; + const double t870 = t640 * t208; + const double t872 = t136 * t870 / 0.12e2; + const double t874 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t865 * t209 - t868 / 0.4e1 + t872 ); + const double t889 = t353 * t227; + const double t914 = t363 * t341; + const double t921 = t226 * t368; + const double t922 = t366 * t921; + const double t923 = t922 * t376; + const double t927 = t226 * t462; + const double t928 = t136 * t927; + const double t936 = t349 * t349; + const double t941 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t214 + 0.2e1 * t619 ); + const double t945 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t936 + 0.4e1 / 0.3e1 * t24 * t941 ); + const double t946 = t6 * t945; + const double t951 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t946 * t123 - t889 / 0.4e1 + t643 ); + const double t952 = t359 * t359; + const double t957 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t214 + 0.2e1 * t857 ); + const double t961 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t952 + 0.4e1 / 0.3e1 * t133 * t957 ); + const double t962 = t6 * t961; + const double t966 = t3 * t362; + const double t967 = t966 * t369; + const double t975 = 0.1e1 / t367 / t145; + const double t976 = t29 * t975; + const double t977 = t366 * t976; + const double t978 = sigma_bb * sigma_bb; + const double t979 = t137 * t137; + const double t980 = t979 * t371; + const double t982 = 0.1e1 / t138 / t980; + const double t983 = t978 * t982; + const double t985 = t657 * t983 * t207; + const double t989 = 0.1e1 / t139 / t979; + const double t990 = sigma_bb * t989; + const double t992 = t35 * t990 * t207; + const double t996 = t35 * t374 * t461; + const double t1002 = tau_b * tau_b; + const double t1003 = t49 * t1002; + const double t1004 = t979 * rho_b; + const double t1006 = 0.1e1 / t138 / t1004; + const double t1007 = t1006 * t160; + const double t1010 = t61 * t1002; + const double t1013 = t397 * t373; + const double t1018 = t404 * t373; + const double t1023 = t411 * t373; + const double t1028 = t419 * t373; + const double t1033 = t426 * t373; + const double t1038 = -0.4e2 / 0.9e1 * t379 * t373 * t155 + 0.5e2 / 0.9e1 * t1003 * t1007 + 0.5e2 / 0.9e1 * t1010 * t1007 - 0.4e2 / 0.3e1 * t163 * t1013 - 0.16e3 / 0.9e1 * t401 * t1013 - 0.16e3 / 0.9e1 * t168 * t1018 - 0.2e3 / 0.9e1 * t408 * t1018 - 0.2e3 / 0.9e1 * t173 * t1023 - 0.8e2 / 0.3e1 * t415 * t1023 - 0.8e2 / 0.3e1 * t178 * t1028 - 0.28e3 / 0.9e1 * t423 * t1028 - 0.28e3 / 0.9e1 * t183 * t1033 - 0.32e3 / 0.9e1 * t430 * t1033; + const double t1039 = t433 * t373; + const double t1042 = t383 * t373; + const double t1047 = t115 * t192; + const double t1048 = t205 * t1002; + const double t1049 = t1048 * t1006; + const double t1052 = t455 * t1002; + const double t1053 = t1052 * t1006; + const double t1057 = 0.1e1 / t189 / t174; + const double t1058 = t1057 * t1002; + const double t1062 = t185 * t1002; + const double t1063 = t1062 * t1006; + const double t1066 = t85 * t167; + const double t1067 = t180 * t1002; + const double t1068 = t1067 * t1006; + const double t1073 = t190 * t1002; + const double t1074 = t1073 * t1006; + const double t1077 = t91 * t172; + const double t1082 = t195 * t1002; + const double t1083 = t1082 * t1006; + const double t1086 = t97 * t177; + const double t1089 = -0.32e3 / 0.9e1 * t188 * t1039 - 0.4e2 / 0.9e1 * t153 * t1042 - 0.8e2 / 0.9e1 * t387 * t1042 + 0.275e4 / 0.9e1 * t1047 * t1049 + 0.605e4 / 0.9e1 * t451 * t1053 + 0.11e4 / 0.3e1 * t203 * t1058 * t1006 + 0.25e3 / 0.3e1 * t173 * t1063 + 0.25e3 / 0.3e1 * t1066 * t1068 + 0.2e3 * t415 * t1063 + 0.35e3 / 0.3e1 * t178 * t1074 + 0.35e3 / 0.3e1 * t1077 * t1063 + 0.245e4 / 0.9e1 * t423 * t1074 + 0.14e4 / 0.9e1 * t183 * t1083 + 0.14e4 / 0.9e1 * t1086 * t1074; + const double t1093 = t200 * t1002; + const double t1094 = t1093 * t1006; + const double t1097 = t103 * t182; + const double t1104 = t165 * t1002; + const double t1105 = t1104 * t1006; + const double t1110 = t170 * t1002; + const double t1111 = t1110 * t1006; + const double t1114 = t67 * t152; + const double t1119 = t175 * t1002; + const double t1120 = t1119 * t1006; + const double t1123 = t73 * t157; + const double t1128 = 0.32e4 / 0.9e1 * t430 * t1083 + 0.2e3 * t188 * t1094 + 0.2e3 * t1097 * t1083 + 0.45e3 * t437 * t1094 + 0.25e3 * t193 * t1049 + 0.5e2 / 0.9e1 * t153 * t1105 + 0.2e3 / 0.9e1 * t387 * t1105 + 0.5e2 / 0.3e1 * t158 * t1111 + 0.5e2 / 0.3e1 * t1114 * t1105 + 0.5e2 * t394 * t1111 + 0.1e3 / 0.3e1 * t163 * t1120 + 0.1e3 / 0.3e1 * t1123 * t1111 + 0.8e3 / 0.9e1 * t401 * t1120; + const double t1131 = t79 * t162; + const double t1136 = t390 * t373; + const double t1143 = t440 * t373; + const double t1148 = t447 * t373; + const double t1156 = t109 * t187; + const double t1163 = 0.5e3 / 0.9e1 * t168 * t1068 + 0.5e3 / 0.9e1 * t1131 * t1120 + 0.125e4 / 0.9e1 * t408 * t1068 - 0.8e2 / 0.9e1 * t158 * t1136 - 0.4e2 / 0.3e1 * t394 * t1136 - 0.4e2 * t437 * t1039 - 0.4e2 * t193 * t1143 - 0.4e3 / 0.9e1 * t444 * t1143 - 0.4e3 / 0.9e1 * t198 * t1148 - 0.44e3 / 0.9e1 * t451 * t1148 - 0.44e3 / 0.9e1 * t203 * t456 * t373 + 0.25e3 * t1156 * t1094 + 0.5e4 / 0.9e1 * t444 * t1049 + 0.275e4 / 0.9e1 * t198 * t1053; + const double t1165 = t1038 + t1089 + t1128 + t1163; + const double t1166 = t148 * t1165; + const double t1167 = t29 * t1166; + const double t1170 = -0.3e1 / 0.8e1 * t962 * t209 - t914 / 0.4e1 + 0.80738072177682195292e-2 * t967 * t376 - 0.3e1 / 0.4e1 * t363 * t463 + t872 + 0.26912690725894065098e-2 * t923 - t928 / 0.4e1 + 0.19692461905715025473e-3 * t977 * t985 - 0.14801979899241735804e-1 * t370 * t992 + 0.80738072177682195292e-2 * t370 * t996 - 0.3e1 / 0.8e1 * t136 * t1167; + const double t1171 = piecewise_functor_3( t127, 0.0, t1170 ); + const double t1174 = t632 * t29; + const double t1177 = t230 * t226; + const double t1179 = 0.5046129511105137206e-3 * t1177 * t474; + const double t1180 = t659 * t36; + const double t1182 = 0.1e1 / t37 / t1180; + const double t1185 = t657 * t1182 * t121 * sigma_aa; + const double t1188 = t34 * t237; + const double t1190 = t471 * t1188 * t121; + const double t1194 = t471 * t472 * t325; + const double t1198 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t1174 * t474 - t1179 - 0.73846732146431345529e-4 * t654 * t1185 + 0.40369036088841097648e-2 * t470 * t1190 - 0.15138388533315411618e-2 * t470 * t1194 ); + const double t1203 = t366 * t226; + const double t1205 = 0.5046129511105137206e-3 * t1203 * t482; + const double t1215 = t966 * t29; + const double t1218 = t979 * t137; + const double t1220 = 0.1e1 / t138 / t1218; + const double t1223 = t657 * t1220 * t207 * sigma_bb; + const double t1226 = t34 * t373; + const double t1228 = t479 * t1226 * t207; + const double t1232 = t479 * t480 * t461; + const double t1236 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t1215 * t482 - t1205 - 0.73846732146431345529e-4 * t977 * t1223 + 0.40369036088841097648e-2 * t478 * t1228 - 0.15138388533315411618e-2 * t478 * t1232 ); + const double t1240 = t226 * t543; + const double t1242 = t27 * t1240 / 0.8e1; + const double t1244 = t35 * t238 * t542; + const double t1250 = t95 * t40; + const double t1253 = t101 * t40; + const double t1258 = t107 * t40; + const double t1263 = t113 * t40; + const double t1268 = t119 * t40; + const double t1273 = t71 * t40; + const double t1278 = t77 * t40; + const double t1281 = 0.55e2 / 0.3e1 * t117 * t319 * t40 + 0.35e2 / 0.3e1 * t287 * t1250 + 0.35e2 / 0.3e1 * t93 * t1253 + 0.4e2 / 0.3e1 * t294 * t1253 + 0.4e2 / 0.3e1 * t99 * t1258 + 0.15e2 * t301 * t1258 + 0.15e2 * t105 * t1263 + 0.5e2 / 0.3e1 * t308 * t1263 + 0.5e2 / 0.3e1 * t111 * t1268 + 0.55e2 / 0.3e1 * t315 * t1268 + 0.1e2 / 0.3e1 * t63 * t1273 + 0.5e1 * t258 * t1273 + 0.5e1 * t69 * t1278; + const double t1284 = t83 * t40; + const double t1289 = t89 * t40; + const double t1296 = t65 * t40; + const double t1302 = 0.1e1 / t37 / t659; + const double t1303 = t49 * t1302; + const double t1306 = t61 * tau_a; + const double t1313 = t89 * t1302; + const double t1314 = t1313 * tau_a; + const double t1317 = t95 * t1302; + const double t1318 = t1317 * tau_a; + const double t1321 = t101 * t1302; + const double t1322 = t1321 * tau_a; + const double t1325 = 0.2e2 / 0.3e1 * t265 * t1278 + 0.2e2 / 0.3e1 * t75 * t1284 + 0.25e2 / 0.3e1 * t272 * t1284 + 0.25e2 / 0.3e1 * t81 * t1289 + 0.1e2 * t279 * t1289 + 0.1e2 * t87 * t1250 + 0.5e1 / 0.3e1 * t57 * t1296 + 0.1e2 / 0.3e1 * t251 * t1296 - 0.1e2 / 0.3e1 * t1303 * t247 - 0.1e2 / 0.3e1 * t1306 * t1302 * t65 + 0.5e1 / 0.3e1 * t49 * t40 * t59 - 0.5e2 * t780 * t1314 - 0.12e3 * t279 * t1318 - 0.7e2 * t87 * t1322; + const double t1327 = t71 * t1302; + const double t1328 = t1327 * tau_a; + const double t1331 = t107 * t1302; + const double t1332 = t1331 * tau_a; + const double t1339 = t113 * t1302; + const double t1340 = t1339 * tau_a; + const double t1347 = t119 * t1302; + const double t1348 = t1347 * tau_a; + const double t1355 = t319 * t1302; + const double t1356 = t1355 * tau_a; + const double t1363 = -0.1e2 / 0.3e1 * t57 * t1328 - 0.28e3 / 0.3e1 * t93 * t1332 - 0.28e3 / 0.3e1 * t818 * t1322 - 0.64e3 / 0.3e1 * t294 * t1332 - 0.12e3 * t99 * t1340 - 0.12e3 * t827 * t1332 - 0.27e3 * t301 * t1340 - 0.15e3 * t105 * t1348 - 0.15e3 * t802 * t1340 - 0.1e4 / 0.3e1 * t308 * t1348 - 0.55e3 / 0.3e1 * t111 * t1356 - 0.55e3 / 0.3e1 * t811 * t1348 - 0.121e4 / 0.3e1 * t315 * t1356; + const double t1366 = t77 * t1302; + const double t1367 = t1366 * tau_a; + const double t1374 = t83 * t1302; + const double t1375 = t1374 * tau_a; + const double t1390 = t831 * t1302; + const double t1398 = -0.4e2 / 0.3e1 * t251 * t1328 - 0.1e2 * t63 * t1367 - 0.1e2 * t747 * t1328 - 0.3e2 * t258 * t1367 - 0.2e2 * t69 * t1375 - 0.2e2 * t762 * t1367 - 0.16e3 / 0.3e1 * t265 * t1375 - 0.1e3 / 0.3e1 * t75 * t1314 - 0.1e3 / 0.3e1 * t771 * t1375 - 0.25e3 / 0.3e1 * t272 * t1314 - 0.5e2 * t81 * t1318 - 0.22e3 * t117 * t1390 * tau_a - 0.7e2 * t836 * t1318 - 0.49e3 / 0.3e1 * t287 * t1322; + const double t1400 = t1281 + t1325 + t1363 + t1398; + const double t1401 = t47 * t1400; + const double t1402 = t29 * t1401; + const double t1406 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t544 - t1242 + 0.40369036088841097646e-2 * t234 * t1244 - 0.3e1 / 0.8e1 * t27 * t1402 ); + const double t1410 = t226 * t605; + const double t1412 = t136 * t1410 / 0.8e1; + const double t1424 = t35 * t374 * t604; + const double t1427 = t195 * t141; + const double t1430 = t200 * t141; + const double t1435 = t205 * t141; + const double t1443 = t175 * t141; + const double t1448 = t180 * t141; + const double t1453 = t185 * t141; + const double t1458 = t190 * t141; + const double t1461 = 0.15e2 * t437 * t1427 + 0.15e2 * t193 * t1430 + 0.5e2 / 0.3e1 * t444 * t1430 + 0.5e2 / 0.3e1 * t198 * t1435 + 0.55e2 / 0.3e1 * t451 * t1435 + 0.55e2 / 0.3e1 * t203 * t455 * t141 + 0.2e2 / 0.3e1 * t168 * t1443 + 0.25e2 / 0.3e1 * t408 * t1443 + 0.25e2 / 0.3e1 * t173 * t1448 + 0.1e2 * t415 * t1448 + 0.1e2 * t178 * t1453 + 0.35e2 / 0.3e1 * t423 * t1453 + 0.35e2 / 0.3e1 * t183 * t1458; + const double t1466 = t160 * t141; + const double t1471 = t165 * t141; + const double t1476 = t170 * t141; + const double t1481 = t61 * tau_b; + const double t1483 = 0.1e1 / t138 / t979; + const double t1487 = t49 * t1483; + const double t1493 = t455 * t1483; + const double t1494 = t1493 * tau_b; + const double t1497 = t1057 * t1483; + const double t1501 = t180 * t1483; + const double t1502 = t1501 * tau_b; + const double t1505 = 0.4e2 / 0.3e1 * t430 * t1458 + 0.4e2 / 0.3e1 * t188 * t1427 + 0.5e1 / 0.3e1 * t153 * t1466 + 0.1e2 / 0.3e1 * t387 * t1466 + 0.1e2 / 0.3e1 * t158 * t1471 + 0.5e1 * t394 * t1471 + 0.5e1 * t163 * t1476 + 0.2e2 / 0.3e1 * t401 * t1476 - 0.1e2 / 0.3e1 * t1481 * t1483 * t160 - 0.1e2 / 0.3e1 * t1487 * t383 + 0.5e1 / 0.3e1 * t49 * t141 * t155 - 0.121e4 / 0.3e1 * t451 * t1494 - 0.22e3 * t203 * t1497 * tau_b - 0.1e3 / 0.3e1 * t168 * t1502; + const double t1507 = t175 * t1483; + const double t1508 = t1507 * tau_b; + const double t1513 = t185 * t1483; + const double t1514 = t1513 * tau_b; + const double t1521 = t190 * t1483; + const double t1522 = t1521 * tau_b; + const double t1529 = t195 * t1483; + const double t1530 = t1529 * tau_b; + const double t1537 = t200 * t1483; + const double t1538 = t1537 * tau_b; + const double t1541 = t165 * t1483; + const double t1542 = t1541 * tau_b; + const double t1545 = -0.1e3 / 0.3e1 * t1131 * t1508 - 0.25e3 / 0.3e1 * t408 * t1502 - 0.5e2 * t173 * t1514 - 0.5e2 * t1066 * t1502 - 0.12e3 * t415 * t1514 - 0.7e2 * t178 * t1522 - 0.7e2 * t1077 * t1514 - 0.49e3 / 0.3e1 * t423 * t1522 - 0.28e3 / 0.3e1 * t183 * t1530 - 0.28e3 / 0.3e1 * t1086 * t1522 - 0.64e3 / 0.3e1 * t430 * t1530 - 0.12e3 * t188 * t1538 - 0.1e2 / 0.3e1 * t153 * t1542; + const double t1548 = t170 * t1483; + const double t1549 = t1548 * tau_b; + const double t1566 = t205 * t1483; + const double t1567 = t1566 * tau_b; + const double t1578 = -0.4e2 / 0.3e1 * t387 * t1542 - 0.1e2 * t158 * t1549 - 0.1e2 * t1114 * t1542 - 0.3e2 * t394 * t1549 - 0.2e2 * t163 * t1508 - 0.2e2 * t1123 * t1549 - 0.16e3 / 0.3e1 * t401 * t1508 - 0.12e3 * t1097 * t1530 - 0.27e3 * t437 * t1538 - 0.15e3 * t193 * t1567 - 0.15e3 * t1156 * t1538 - 0.1e4 / 0.3e1 * t444 * t1567 - 0.55e3 / 0.3e1 * t198 * t1494 - 0.55e3 / 0.3e1 * t1047 * t1567; + const double t1580 = t1461 + t1505 + t1545 + t1578; + const double t1581 = t148 * t1580; + const double t1582 = t29 * t1581; + const double t1586 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t606 - t1412 + 0.40369036088841097646e-2 * t370 * t1424 - 0.3e1 / 0.8e1 * t136 * t1582 ); + const double t1588 = t652 * t50; + const double t1589 = t656 * t683; + const double t1591 = t1588 * t1589 * t121; + const double t1594 = piecewise_functor_3( t2, 0.0, 0.27692524554911754573e-4 * t470 * t1591 ); + const double t1595 = t975 * t50; + const double t1596 = t656 * t1006; + const double t1598 = t1595 * t1596 * t207; + const double t1601 = piecewise_functor_3( t127, 0.0, 0.27692524554911754573e-4 * t478 * t1598 ); + const double t1603 = t471 * t472 * t542; + const double t1606 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t1603 ); + const double t1608 = t479 * t480 * t604; + const double t1611 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t1608 ); + const double t1613 = 0.1e1 / t37 / t235; + const double t1614 = t71 * t1613; + const double t1619 = t77 * t1613; + const double t1624 = t83 * t1613; + const double t1629 = t89 * t1613; + const double t1634 = t95 * t1613; + const double t1639 = t101 * t1613; + const double t1652 = 0.8e1 * t251 * t1614 + 0.2e1 * t57 * t1614 + 0.18e2 * t258 * t1619 + 0.6e1 * t63 * t1619 + 0.12e2 * t762 * t1619 + 0.32e2 * t265 * t1624 + 0.12e2 * t69 * t1624 + 0.2e2 * t771 * t1624 + 0.5e2 * t272 * t1629 + 0.2e2 * t75 * t1629 + 0.3e2 * t780 * t1629 + 0.72e2 * t279 * t1634 + 0.3e2 * t81 * t1634 + 0.42e2 * t836 * t1634 + 0.98e2 * t287 * t1639 + 0.42e2 * t87 * t1639; + const double t1655 = t107 * t1613; + const double t1658 = t113 * t1613; + const double t1661 = t119 * t1613; + const double t1678 = t319 * t1613; + const double t1692 = 0.132e3 * t117 * t831 * t1613 + 0.2e1 * t49 * t1613 * t65 + 0.2e1 * t61 * t1613 * t65 + 0.9e2 * t105 * t1661 + 0.11e3 * t111 * t1678 + 0.6e1 * t747 * t1614 + 0.56e2 * t818 * t1639 + 0.128e3 * t294 * t1655 + 0.72e2 * t827 * t1655 + 0.56e2 * t93 * t1655 + 0.162e3 * t301 * t1658 + 0.9e2 * t802 * t1658 + 0.72e2 * t99 * t1658 + 0.2e3 * t308 * t1661 + 0.11e3 * t811 * t1661 + 0.242e3 * t315 * t1678; + const double t1693 = t1652 + t1692; + const double t1694 = t47 * t1693; + const double t1695 = t29 * t1694; + const double t1698 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1695 ); + const double t1700 = 0.1e1 / t138 / t371; + const double t1701 = t195 * t1700; + const double t1704 = t200 * t1700; + const double t1707 = t205 * t1700; + const double t1710 = t165 * t1700; + const double t1713 = t170 * t1700; + const double t1716 = t175 * t1700; + const double t1719 = t180 * t1700; + const double t1722 = t185 * t1700; + const double t1725 = t190 * t1700; + const double t1742 = 0.11e3 * t1047 * t1707 + 0.3e2 * t1066 * t1719 + 0.42e2 * t1077 * t1722 + 0.56e2 * t1086 * t1725 + 0.72e2 * t1097 * t1701 + 0.6e1 * t1114 * t1710 + 0.12e2 * t1123 * t1713 + 0.2e2 * t1131 * t1716 + 0.9e2 * t1156 * t1704 + 0.56e2 * t183 * t1701 + 0.128e3 * t430 * t1701 + 0.72e2 * t188 * t1704 + 0.162e3 * t437 * t1704 + 0.72e2 * t415 * t1722 + 0.42e2 * t178 * t1725 + 0.98e2 * t423 * t1725; + const double t1747 = t455 * t1700; + const double t1779 = 0.132e3 * t203 * t1057 * t1700 + 0.2e1 * t49 * t1700 * t160 + 0.2e1 * t61 * t1700 * t160 + 0.2e1 * t153 * t1710 + 0.6e1 * t158 * t1713 + 0.12e2 * t163 * t1716 + 0.2e2 * t168 * t1719 + 0.9e2 * t193 * t1707 + 0.2e3 * t444 * t1707 + 0.8e1 * t387 * t1710 + 0.18e2 * t394 * t1713 + 0.32e2 * t401 * t1716 + 0.5e2 * t408 * t1719 + 0.3e2 * t173 * t1722 + 0.11e3 * t198 * t1747 + 0.242e3 * t451 * t1747; + const double t1780 = t1742 + t1779; + const double t1781 = t148 * t1780; + const double t1782 = t29 * t1781; + const double t1785 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t1782 ); + + + v2rho2_aa = 0.2e1 * t331 + 0.2e1 * t345 + t7 * ( t851 + t874 ); + v2rho2_bb = 0.2e1 * t357 + 0.2e1 * t467 + t7 * ( t951 + t1171 ); + v2rhosigma_a_aa = t7 * t1198 + t477; + v2rhosigma_b_bb = t7 * t1236 + t485; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1406 + t547; + v2rhotau_b_b = t7 * t1586 + t609; + v2sigma2_aa_aa = t7 * t1594; + v2sigma2_bb_bb = t7 * t1601; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1606; + v2sigmatau_bb_b = t7 * t1611; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1698; + v2tau2_bb = t7 * t1785; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t31 = constants::m_pi_sq; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + constexpr double t656 = 0.1e1 / t32 / t31; + constexpr double t657 = t50 * t656; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + const double t612 = t24 * t24; + const double t613 = 0.1e1 / t612; + const double t614 = t217 * t217; + const double t617 = t213 * t7; + const double t618 = 0.1e1 / t617; + const double t619 = t17 * t618; + const double t622 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t214 + 0.2e1 * t619 ); + const double t626 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t614 + 0.4e1 / 0.3e1 * t24 * t622 ); + const double t627 = t6 * t626; + const double t630 = t221 * t227; + const double t632 = t3 * t220; + const double t633 = t632 * t233; + const double t640 = 0.1e1 / t224 / t7 * csi_HF; + const double t641 = t640 * t122; + const double t643 = t27 * t641 / 0.12e2; + const double t644 = t226 * t232; + const double t645 = t230 * t644; + const double t646 = t645 * t240; + const double t648 = t226 * t326; + const double t649 = t27 * t648; + const double t652 = 0.1e1 / t231 / t44; + const double t653 = t29 * t652; + const double t654 = t230 * t653; + const double t658 = sigma_aa * sigma_aa; + const double t659 = t36 * t36; + const double t660 = t659 * t235; + const double t662 = 0.1e1 / t37 / t660; + const double t663 = t658 * t662; + const double t665 = t657 * t663 * t121; + const double t669 = 0.1e1 / t38 / t659; + const double t670 = sigma_aa * t669; + const double t672 = t35 * t670 * t121; + const double t676 = t35 * t238 * t325; + const double t679 = tau_a * tau_a; + const double t680 = t49 * t679; + const double t681 = t659 * rho_a; + const double t683 = 0.1e1 / t37 / t681; + const double t684 = t683 * t65; + const double t687 = t61 * t679; + const double t693 = t247 * t237; + const double t696 = t254 * t237; + const double t701 = t261 * t237; + const double t704 = t311 * t237; + const double t714 = t268 * t237; + const double t719 = 0.5e2 / 0.9e1 * t680 * t684 + 0.5e2 / 0.9e1 * t687 * t684 - 0.4e2 / 0.9e1 * t243 * t237 * t59 - 0.8e2 / 0.9e1 * t251 * t693 - 0.8e2 / 0.9e1 * t63 * t696 - 0.4e2 / 0.3e1 * t258 * t696 - 0.4e2 / 0.3e1 * t69 * t701 - 0.4e3 / 0.9e1 * t111 * t704 - 0.44e3 / 0.9e1 * t315 * t704 - 0.44e3 / 0.9e1 * t117 * t320 * t237 - 0.16e3 / 0.9e1 * t265 * t701 - 0.16e3 / 0.9e1 * t75 * t714 - 0.2e3 / 0.9e1 * t272 * t714; + const double t720 = t275 * t237; + const double t725 = t283 * t237; + const double t730 = t290 * t237; + const double t735 = t297 * t237; + const double t740 = t304 * t237; + const double t747 = t67 * t56; + const double t748 = t71 * t679; + const double t749 = t748 * t683; + const double t752 = t77 * t679; + const double t753 = t752 * t683; + const double t756 = t83 * t679; + const double t757 = t756 * t683; + const double t760 = -0.2e3 / 0.9e1 * t81 * t720 - 0.8e2 / 0.3e1 * t279 * t720 - 0.8e2 / 0.3e1 * t87 * t725 - 0.28e3 / 0.9e1 * t287 * t725 - 0.28e3 / 0.9e1 * t93 * t730 - 0.32e3 / 0.9e1 * t294 * t730 - 0.32e3 / 0.9e1 * t99 * t735 - 0.4e2 * t301 * t735 - 0.4e2 * t105 * t740 - 0.4e3 / 0.9e1 * t308 * t740 - 0.4e2 / 0.9e1 * t57 * t693 + 0.5e2 / 0.3e1 * t747 * t749 + 0.5e2 * t258 * t753 + 0.1e3 / 0.3e1 * t69 * t757; + const double t762 = t73 * t62; + const double t767 = t89 * t679; + const double t768 = t767 * t683; + const double t771 = t79 * t68; + const double t776 = t95 * t679; + const double t777 = t776 * t683; + const double t780 = t85 * t74; + const double t785 = t101 * t679; + const double t786 = t785 * t683; + const double t793 = t113 * t679; + const double t794 = t793 * t683; + const double t797 = t119 * t679; + const double t798 = t797 * t683; + const double t801 = 0.1e3 / 0.3e1 * t762 * t753 + 0.8e3 / 0.9e1 * t265 * t757 + 0.5e3 / 0.9e1 * t75 * t768 + 0.5e3 / 0.9e1 * t771 * t757 + 0.125e4 / 0.9e1 * t272 * t768 + 0.25e3 / 0.3e1 * t81 * t777 + 0.25e3 / 0.3e1 * t780 * t768 + 0.2e3 * t279 * t777 + 0.35e3 / 0.3e1 * t87 * t786 + 0.5e2 / 0.9e1 * t57 * t749 + 0.2e3 / 0.9e1 * t251 * t749 + 0.45e3 * t301 * t794 + 0.25e3 * t105 * t798; + const double t802 = t109 * t98; + const double t807 = t319 * t679; + const double t808 = t807 * t683; + const double t811 = t115 * t104; + const double t818 = t97 * t86; + const double t821 = t107 * t679; + const double t822 = t821 * t683; + const double t827 = t103 * t92; + const double t831 = 0.1e1 / t100 / t82; + const double t832 = t831 * t679; + const double t836 = t91 * t80; + const double t843 = 0.25e3 * t802 * t794 + 0.5e4 / 0.9e1 * t308 * t798 + 0.275e4 / 0.9e1 * t111 * t808 + 0.275e4 / 0.9e1 * t811 * t798 + 0.605e4 / 0.9e1 * t315 * t808 + 0.5e2 / 0.3e1 * t63 * t753 + 0.14e4 / 0.9e1 * t818 * t786 + 0.32e4 / 0.9e1 * t294 * t822 + 0.2e3 * t99 * t794 + 0.2e3 * t827 * t822 + 0.11e4 / 0.3e1 * t117 * t832 * t683 + 0.35e3 / 0.3e1 * t836 * t777 + 0.245e4 / 0.9e1 * t287 * t786 + 0.14e4 / 0.9e1 * t93 * t822; + const double t845 = t719 + t760 + t801 + t843; + const double t846 = t47 * t845; + const double t847 = t29 * t846; + const double t850 = -0.3e1 / 0.8e1 * t627 * t123 - t630 / 0.4e1 + 0.80738072177682195292e-2 * t633 * t240 - 0.3e1 / 0.4e1 * t221 * t327 + t643 + 0.26912690725894065098e-2 * t646 - t649 / 0.4e1 + 0.19692461905715025473e-3 * t654 * t665 - 0.14801979899241735804e-1 * t234 * t672 + 0.80738072177682195292e-2 * t234 * t676 - 0.3e1 / 0.8e1 * t27 * t847; + const double t851 = piecewise_functor_3( t2, 0.0, t850 ); + const double t852 = t133 * t133; + const double t853 = 0.1e1 / t852; + const double t854 = t334 * t334; + const double t857 = t128 * t618; + const double t860 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t214 + 0.2e1 * t857 ); + const double t864 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t854 + 0.4e1 / 0.3e1 * t133 * t860 ); + const double t865 = t6 * t864; + const double t868 = t338 * t341; + const double t870 = t640 * t208; + const double t872 = t136 * t870 / 0.12e2; + const double t874 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t865 * t209 - t868 / 0.4e1 + t872 ); + const double t889 = t353 * t227; + const double t914 = t363 * t341; + const double t921 = t226 * t368; + const double t922 = t366 * t921; + const double t923 = t922 * t376; + const double t927 = t226 * t462; + const double t928 = t136 * t927; + const double t936 = t349 * t349; + const double t941 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t214 + 0.2e1 * t619 ); + const double t945 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t936 + 0.4e1 / 0.3e1 * t24 * t941 ); + const double t946 = t6 * t945; + const double t951 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t946 * t123 - t889 / 0.4e1 + t643 ); + const double t952 = t359 * t359; + const double t957 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t214 + 0.2e1 * t857 ); + const double t961 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t952 + 0.4e1 / 0.3e1 * t133 * t957 ); + const double t962 = t6 * t961; + const double t966 = t3 * t362; + const double t967 = t966 * t369; + const double t975 = 0.1e1 / t367 / t145; + const double t976 = t29 * t975; + const double t977 = t366 * t976; + const double t978 = sigma_bb * sigma_bb; + const double t979 = t137 * t137; + const double t980 = t979 * t371; + const double t982 = 0.1e1 / t138 / t980; + const double t983 = t978 * t982; + const double t985 = t657 * t983 * t207; + const double t989 = 0.1e1 / t139 / t979; + const double t990 = sigma_bb * t989; + const double t992 = t35 * t990 * t207; + const double t996 = t35 * t374 * t461; + const double t1002 = tau_b * tau_b; + const double t1003 = t49 * t1002; + const double t1004 = t979 * rho_b; + const double t1006 = 0.1e1 / t138 / t1004; + const double t1007 = t1006 * t160; + const double t1010 = t61 * t1002; + const double t1013 = t397 * t373; + const double t1018 = t404 * t373; + const double t1023 = t411 * t373; + const double t1028 = t419 * t373; + const double t1033 = t426 * t373; + const double t1038 = -0.4e2 / 0.9e1 * t379 * t373 * t155 + 0.5e2 / 0.9e1 * t1003 * t1007 + 0.5e2 / 0.9e1 * t1010 * t1007 - 0.4e2 / 0.3e1 * t163 * t1013 - 0.16e3 / 0.9e1 * t401 * t1013 - 0.16e3 / 0.9e1 * t168 * t1018 - 0.2e3 / 0.9e1 * t408 * t1018 - 0.2e3 / 0.9e1 * t173 * t1023 - 0.8e2 / 0.3e1 * t415 * t1023 - 0.8e2 / 0.3e1 * t178 * t1028 - 0.28e3 / 0.9e1 * t423 * t1028 - 0.28e3 / 0.9e1 * t183 * t1033 - 0.32e3 / 0.9e1 * t430 * t1033; + const double t1039 = t433 * t373; + const double t1042 = t383 * t373; + const double t1047 = t115 * t192; + const double t1048 = t205 * t1002; + const double t1049 = t1048 * t1006; + const double t1052 = t455 * t1002; + const double t1053 = t1052 * t1006; + const double t1057 = 0.1e1 / t189 / t174; + const double t1058 = t1057 * t1002; + const double t1062 = t185 * t1002; + const double t1063 = t1062 * t1006; + const double t1066 = t85 * t167; + const double t1067 = t180 * t1002; + const double t1068 = t1067 * t1006; + const double t1073 = t190 * t1002; + const double t1074 = t1073 * t1006; + const double t1077 = t91 * t172; + const double t1082 = t195 * t1002; + const double t1083 = t1082 * t1006; + const double t1086 = t97 * t177; + const double t1089 = -0.32e3 / 0.9e1 * t188 * t1039 - 0.4e2 / 0.9e1 * t153 * t1042 - 0.8e2 / 0.9e1 * t387 * t1042 + 0.275e4 / 0.9e1 * t1047 * t1049 + 0.605e4 / 0.9e1 * t451 * t1053 + 0.11e4 / 0.3e1 * t203 * t1058 * t1006 + 0.25e3 / 0.3e1 * t173 * t1063 + 0.25e3 / 0.3e1 * t1066 * t1068 + 0.2e3 * t415 * t1063 + 0.35e3 / 0.3e1 * t178 * t1074 + 0.35e3 / 0.3e1 * t1077 * t1063 + 0.245e4 / 0.9e1 * t423 * t1074 + 0.14e4 / 0.9e1 * t183 * t1083 + 0.14e4 / 0.9e1 * t1086 * t1074; + const double t1093 = t200 * t1002; + const double t1094 = t1093 * t1006; + const double t1097 = t103 * t182; + const double t1104 = t165 * t1002; + const double t1105 = t1104 * t1006; + const double t1110 = t170 * t1002; + const double t1111 = t1110 * t1006; + const double t1114 = t67 * t152; + const double t1119 = t175 * t1002; + const double t1120 = t1119 * t1006; + const double t1123 = t73 * t157; + const double t1128 = 0.32e4 / 0.9e1 * t430 * t1083 + 0.2e3 * t188 * t1094 + 0.2e3 * t1097 * t1083 + 0.45e3 * t437 * t1094 + 0.25e3 * t193 * t1049 + 0.5e2 / 0.9e1 * t153 * t1105 + 0.2e3 / 0.9e1 * t387 * t1105 + 0.5e2 / 0.3e1 * t158 * t1111 + 0.5e2 / 0.3e1 * t1114 * t1105 + 0.5e2 * t394 * t1111 + 0.1e3 / 0.3e1 * t163 * t1120 + 0.1e3 / 0.3e1 * t1123 * t1111 + 0.8e3 / 0.9e1 * t401 * t1120; + const double t1131 = t79 * t162; + const double t1136 = t390 * t373; + const double t1143 = t440 * t373; + const double t1148 = t447 * t373; + const double t1156 = t109 * t187; + const double t1163 = 0.5e3 / 0.9e1 * t168 * t1068 + 0.5e3 / 0.9e1 * t1131 * t1120 + 0.125e4 / 0.9e1 * t408 * t1068 - 0.8e2 / 0.9e1 * t158 * t1136 - 0.4e2 / 0.3e1 * t394 * t1136 - 0.4e2 * t437 * t1039 - 0.4e2 * t193 * t1143 - 0.4e3 / 0.9e1 * t444 * t1143 - 0.4e3 / 0.9e1 * t198 * t1148 - 0.44e3 / 0.9e1 * t451 * t1148 - 0.44e3 / 0.9e1 * t203 * t456 * t373 + 0.25e3 * t1156 * t1094 + 0.5e4 / 0.9e1 * t444 * t1049 + 0.275e4 / 0.9e1 * t198 * t1053; + const double t1165 = t1038 + t1089 + t1128 + t1163; + const double t1166 = t148 * t1165; + const double t1167 = t29 * t1166; + const double t1170 = -0.3e1 / 0.8e1 * t962 * t209 - t914 / 0.4e1 + 0.80738072177682195292e-2 * t967 * t376 - 0.3e1 / 0.4e1 * t363 * t463 + t872 + 0.26912690725894065098e-2 * t923 - t928 / 0.4e1 + 0.19692461905715025473e-3 * t977 * t985 - 0.14801979899241735804e-1 * t370 * t992 + 0.80738072177682195292e-2 * t370 * t996 - 0.3e1 / 0.8e1 * t136 * t1167; + const double t1171 = piecewise_functor_3( t127, 0.0, t1170 ); + const double t1174 = t632 * t29; + const double t1177 = t230 * t226; + const double t1179 = 0.5046129511105137206e-3 * t1177 * t474; + const double t1180 = t659 * t36; + const double t1182 = 0.1e1 / t37 / t1180; + const double t1185 = t657 * t1182 * t121 * sigma_aa; + const double t1188 = t34 * t237; + const double t1190 = t471 * t1188 * t121; + const double t1194 = t471 * t472 * t325; + const double t1198 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t1174 * t474 - t1179 - 0.73846732146431345529e-4 * t654 * t1185 + 0.40369036088841097648e-2 * t470 * t1190 - 0.15138388533315411618e-2 * t470 * t1194 ); + const double t1203 = t366 * t226; + const double t1205 = 0.5046129511105137206e-3 * t1203 * t482; + const double t1215 = t966 * t29; + const double t1218 = t979 * t137; + const double t1220 = 0.1e1 / t138 / t1218; + const double t1223 = t657 * t1220 * t207 * sigma_bb; + const double t1226 = t34 * t373; + const double t1228 = t479 * t1226 * t207; + const double t1232 = t479 * t480 * t461; + const double t1236 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t1215 * t482 - t1205 - 0.73846732146431345529e-4 * t977 * t1223 + 0.40369036088841097648e-2 * t478 * t1228 - 0.15138388533315411618e-2 * t478 * t1232 ); + const double t1240 = t226 * t543; + const double t1242 = t27 * t1240 / 0.8e1; + const double t1244 = t35 * t238 * t542; + const double t1250 = t95 * t40; + const double t1253 = t101 * t40; + const double t1258 = t107 * t40; + const double t1263 = t113 * t40; + const double t1268 = t119 * t40; + const double t1273 = t71 * t40; + const double t1278 = t77 * t40; + const double t1281 = 0.55e2 / 0.3e1 * t117 * t319 * t40 + 0.35e2 / 0.3e1 * t287 * t1250 + 0.35e2 / 0.3e1 * t93 * t1253 + 0.4e2 / 0.3e1 * t294 * t1253 + 0.4e2 / 0.3e1 * t99 * t1258 + 0.15e2 * t301 * t1258 + 0.15e2 * t105 * t1263 + 0.5e2 / 0.3e1 * t308 * t1263 + 0.5e2 / 0.3e1 * t111 * t1268 + 0.55e2 / 0.3e1 * t315 * t1268 + 0.1e2 / 0.3e1 * t63 * t1273 + 0.5e1 * t258 * t1273 + 0.5e1 * t69 * t1278; + const double t1284 = t83 * t40; + const double t1289 = t89 * t40; + const double t1296 = t65 * t40; + const double t1302 = 0.1e1 / t37 / t659; + const double t1303 = t49 * t1302; + const double t1306 = t61 * tau_a; + const double t1313 = t89 * t1302; + const double t1314 = t1313 * tau_a; + const double t1317 = t95 * t1302; + const double t1318 = t1317 * tau_a; + const double t1321 = t101 * t1302; + const double t1322 = t1321 * tau_a; + const double t1325 = 0.2e2 / 0.3e1 * t265 * t1278 + 0.2e2 / 0.3e1 * t75 * t1284 + 0.25e2 / 0.3e1 * t272 * t1284 + 0.25e2 / 0.3e1 * t81 * t1289 + 0.1e2 * t279 * t1289 + 0.1e2 * t87 * t1250 + 0.5e1 / 0.3e1 * t57 * t1296 + 0.1e2 / 0.3e1 * t251 * t1296 - 0.1e2 / 0.3e1 * t1303 * t247 - 0.1e2 / 0.3e1 * t1306 * t1302 * t65 + 0.5e1 / 0.3e1 * t49 * t40 * t59 - 0.5e2 * t780 * t1314 - 0.12e3 * t279 * t1318 - 0.7e2 * t87 * t1322; + const double t1327 = t71 * t1302; + const double t1328 = t1327 * tau_a; + const double t1331 = t107 * t1302; + const double t1332 = t1331 * tau_a; + const double t1339 = t113 * t1302; + const double t1340 = t1339 * tau_a; + const double t1347 = t119 * t1302; + const double t1348 = t1347 * tau_a; + const double t1355 = t319 * t1302; + const double t1356 = t1355 * tau_a; + const double t1363 = -0.1e2 / 0.3e1 * t57 * t1328 - 0.28e3 / 0.3e1 * t93 * t1332 - 0.28e3 / 0.3e1 * t818 * t1322 - 0.64e3 / 0.3e1 * t294 * t1332 - 0.12e3 * t99 * t1340 - 0.12e3 * t827 * t1332 - 0.27e3 * t301 * t1340 - 0.15e3 * t105 * t1348 - 0.15e3 * t802 * t1340 - 0.1e4 / 0.3e1 * t308 * t1348 - 0.55e3 / 0.3e1 * t111 * t1356 - 0.55e3 / 0.3e1 * t811 * t1348 - 0.121e4 / 0.3e1 * t315 * t1356; + const double t1366 = t77 * t1302; + const double t1367 = t1366 * tau_a; + const double t1374 = t83 * t1302; + const double t1375 = t1374 * tau_a; + const double t1390 = t831 * t1302; + const double t1398 = -0.4e2 / 0.3e1 * t251 * t1328 - 0.1e2 * t63 * t1367 - 0.1e2 * t747 * t1328 - 0.3e2 * t258 * t1367 - 0.2e2 * t69 * t1375 - 0.2e2 * t762 * t1367 - 0.16e3 / 0.3e1 * t265 * t1375 - 0.1e3 / 0.3e1 * t75 * t1314 - 0.1e3 / 0.3e1 * t771 * t1375 - 0.25e3 / 0.3e1 * t272 * t1314 - 0.5e2 * t81 * t1318 - 0.22e3 * t117 * t1390 * tau_a - 0.7e2 * t836 * t1318 - 0.49e3 / 0.3e1 * t287 * t1322; + const double t1400 = t1281 + t1325 + t1363 + t1398; + const double t1401 = t47 * t1400; + const double t1402 = t29 * t1401; + const double t1406 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t544 - t1242 + 0.40369036088841097646e-2 * t234 * t1244 - 0.3e1 / 0.8e1 * t27 * t1402 ); + const double t1410 = t226 * t605; + const double t1412 = t136 * t1410 / 0.8e1; + const double t1424 = t35 * t374 * t604; + const double t1427 = t195 * t141; + const double t1430 = t200 * t141; + const double t1435 = t205 * t141; + const double t1443 = t175 * t141; + const double t1448 = t180 * t141; + const double t1453 = t185 * t141; + const double t1458 = t190 * t141; + const double t1461 = 0.15e2 * t437 * t1427 + 0.15e2 * t193 * t1430 + 0.5e2 / 0.3e1 * t444 * t1430 + 0.5e2 / 0.3e1 * t198 * t1435 + 0.55e2 / 0.3e1 * t451 * t1435 + 0.55e2 / 0.3e1 * t203 * t455 * t141 + 0.2e2 / 0.3e1 * t168 * t1443 + 0.25e2 / 0.3e1 * t408 * t1443 + 0.25e2 / 0.3e1 * t173 * t1448 + 0.1e2 * t415 * t1448 + 0.1e2 * t178 * t1453 + 0.35e2 / 0.3e1 * t423 * t1453 + 0.35e2 / 0.3e1 * t183 * t1458; + const double t1466 = t160 * t141; + const double t1471 = t165 * t141; + const double t1476 = t170 * t141; + const double t1481 = t61 * tau_b; + const double t1483 = 0.1e1 / t138 / t979; + const double t1487 = t49 * t1483; + const double t1493 = t455 * t1483; + const double t1494 = t1493 * tau_b; + const double t1497 = t1057 * t1483; + const double t1501 = t180 * t1483; + const double t1502 = t1501 * tau_b; + const double t1505 = 0.4e2 / 0.3e1 * t430 * t1458 + 0.4e2 / 0.3e1 * t188 * t1427 + 0.5e1 / 0.3e1 * t153 * t1466 + 0.1e2 / 0.3e1 * t387 * t1466 + 0.1e2 / 0.3e1 * t158 * t1471 + 0.5e1 * t394 * t1471 + 0.5e1 * t163 * t1476 + 0.2e2 / 0.3e1 * t401 * t1476 - 0.1e2 / 0.3e1 * t1481 * t1483 * t160 - 0.1e2 / 0.3e1 * t1487 * t383 + 0.5e1 / 0.3e1 * t49 * t141 * t155 - 0.121e4 / 0.3e1 * t451 * t1494 - 0.22e3 * t203 * t1497 * tau_b - 0.1e3 / 0.3e1 * t168 * t1502; + const double t1507 = t175 * t1483; + const double t1508 = t1507 * tau_b; + const double t1513 = t185 * t1483; + const double t1514 = t1513 * tau_b; + const double t1521 = t190 * t1483; + const double t1522 = t1521 * tau_b; + const double t1529 = t195 * t1483; + const double t1530 = t1529 * tau_b; + const double t1537 = t200 * t1483; + const double t1538 = t1537 * tau_b; + const double t1541 = t165 * t1483; + const double t1542 = t1541 * tau_b; + const double t1545 = -0.1e3 / 0.3e1 * t1131 * t1508 - 0.25e3 / 0.3e1 * t408 * t1502 - 0.5e2 * t173 * t1514 - 0.5e2 * t1066 * t1502 - 0.12e3 * t415 * t1514 - 0.7e2 * t178 * t1522 - 0.7e2 * t1077 * t1514 - 0.49e3 / 0.3e1 * t423 * t1522 - 0.28e3 / 0.3e1 * t183 * t1530 - 0.28e3 / 0.3e1 * t1086 * t1522 - 0.64e3 / 0.3e1 * t430 * t1530 - 0.12e3 * t188 * t1538 - 0.1e2 / 0.3e1 * t153 * t1542; + const double t1548 = t170 * t1483; + const double t1549 = t1548 * tau_b; + const double t1566 = t205 * t1483; + const double t1567 = t1566 * tau_b; + const double t1578 = -0.4e2 / 0.3e1 * t387 * t1542 - 0.1e2 * t158 * t1549 - 0.1e2 * t1114 * t1542 - 0.3e2 * t394 * t1549 - 0.2e2 * t163 * t1508 - 0.2e2 * t1123 * t1549 - 0.16e3 / 0.3e1 * t401 * t1508 - 0.12e3 * t1097 * t1530 - 0.27e3 * t437 * t1538 - 0.15e3 * t193 * t1567 - 0.15e3 * t1156 * t1538 - 0.1e4 / 0.3e1 * t444 * t1567 - 0.55e3 / 0.3e1 * t198 * t1494 - 0.55e3 / 0.3e1 * t1047 * t1567; + const double t1580 = t1461 + t1505 + t1545 + t1578; + const double t1581 = t148 * t1580; + const double t1582 = t29 * t1581; + const double t1586 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t606 - t1412 + 0.40369036088841097646e-2 * t370 * t1424 - 0.3e1 / 0.8e1 * t136 * t1582 ); + const double t1588 = t652 * t50; + const double t1589 = t656 * t683; + const double t1591 = t1588 * t1589 * t121; + const double t1594 = piecewise_functor_3( t2, 0.0, 0.27692524554911754573e-4 * t470 * t1591 ); + const double t1595 = t975 * t50; + const double t1596 = t656 * t1006; + const double t1598 = t1595 * t1596 * t207; + const double t1601 = piecewise_functor_3( t127, 0.0, 0.27692524554911754573e-4 * t478 * t1598 ); + const double t1603 = t471 * t472 * t542; + const double t1606 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t1603 ); + const double t1608 = t479 * t480 * t604; + const double t1611 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t1608 ); + const double t1613 = 0.1e1 / t37 / t235; + const double t1614 = t71 * t1613; + const double t1619 = t77 * t1613; + const double t1624 = t83 * t1613; + const double t1629 = t89 * t1613; + const double t1634 = t95 * t1613; + const double t1639 = t101 * t1613; + const double t1652 = 0.8e1 * t251 * t1614 + 0.2e1 * t57 * t1614 + 0.18e2 * t258 * t1619 + 0.6e1 * t63 * t1619 + 0.12e2 * t762 * t1619 + 0.32e2 * t265 * t1624 + 0.12e2 * t69 * t1624 + 0.2e2 * t771 * t1624 + 0.5e2 * t272 * t1629 + 0.2e2 * t75 * t1629 + 0.3e2 * t780 * t1629 + 0.72e2 * t279 * t1634 + 0.3e2 * t81 * t1634 + 0.42e2 * t836 * t1634 + 0.98e2 * t287 * t1639 + 0.42e2 * t87 * t1639; + const double t1655 = t107 * t1613; + const double t1658 = t113 * t1613; + const double t1661 = t119 * t1613; + const double t1678 = t319 * t1613; + const double t1692 = 0.132e3 * t117 * t831 * t1613 + 0.2e1 * t49 * t1613 * t65 + 0.2e1 * t61 * t1613 * t65 + 0.9e2 * t105 * t1661 + 0.11e3 * t111 * t1678 + 0.6e1 * t747 * t1614 + 0.56e2 * t818 * t1639 + 0.128e3 * t294 * t1655 + 0.72e2 * t827 * t1655 + 0.56e2 * t93 * t1655 + 0.162e3 * t301 * t1658 + 0.9e2 * t802 * t1658 + 0.72e2 * t99 * t1658 + 0.2e3 * t308 * t1661 + 0.11e3 * t811 * t1661 + 0.242e3 * t315 * t1678; + const double t1693 = t1652 + t1692; + const double t1694 = t47 * t1693; + const double t1695 = t29 * t1694; + const double t1698 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1695 ); + const double t1700 = 0.1e1 / t138 / t371; + const double t1701 = t195 * t1700; + const double t1704 = t200 * t1700; + const double t1707 = t205 * t1700; + const double t1710 = t165 * t1700; + const double t1713 = t170 * t1700; + const double t1716 = t175 * t1700; + const double t1719 = t180 * t1700; + const double t1722 = t185 * t1700; + const double t1725 = t190 * t1700; + const double t1742 = 0.11e3 * t1047 * t1707 + 0.3e2 * t1066 * t1719 + 0.42e2 * t1077 * t1722 + 0.56e2 * t1086 * t1725 + 0.72e2 * t1097 * t1701 + 0.6e1 * t1114 * t1710 + 0.12e2 * t1123 * t1713 + 0.2e2 * t1131 * t1716 + 0.9e2 * t1156 * t1704 + 0.56e2 * t183 * t1701 + 0.128e3 * t430 * t1701 + 0.72e2 * t188 * t1704 + 0.162e3 * t437 * t1704 + 0.72e2 * t415 * t1722 + 0.42e2 * t178 * t1725 + 0.98e2 * t423 * t1725; + const double t1747 = t455 * t1700; + const double t1779 = 0.132e3 * t203 * t1057 * t1700 + 0.2e1 * t49 * t1700 * t160 + 0.2e1 * t61 * t1700 * t160 + 0.2e1 * t153 * t1710 + 0.6e1 * t158 * t1713 + 0.12e2 * t163 * t1716 + 0.2e2 * t168 * t1719 + 0.9e2 * t193 * t1707 + 0.2e3 * t444 * t1707 + 0.8e1 * t387 * t1710 + 0.18e2 * t394 * t1713 + 0.32e2 * t401 * t1716 + 0.5e2 * t408 * t1719 + 0.3e2 * t173 * t1722 + 0.11e3 * t198 * t1747 + 0.242e3 * t451 * t1747; + const double t1780 = t1742 + t1779; + const double t1781 = t148 * t1780; + const double t1782 = t29 * t1781; + const double t1785 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t1782 ); + + + vrho_a = t126 + t212 + t7 * ( t331 + t345 ); + vrho_b = t126 + t212 + t7 * ( t357 + t467 ); + vsigma_aa = t7 * t477; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t485; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t547; + vtau_b = t7 * t609; + v2rho2_aa = 0.2e1 * t331 + 0.2e1 * t345 + t7 * ( t851 + t874 ); + v2rho2_bb = 0.2e1 * t357 + 0.2e1 * t467 + t7 * ( t951 + t1171 ); + v2rhosigma_a_aa = t7 * t1198 + t477; + v2rhosigma_b_bb = t7 * t1236 + t485; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1406 + t547; + v2rhotau_b_b = t7 * t1586 + t609; + v2sigma2_aa_aa = t7 * t1594; + v2sigma2_bb_bb = t7 * t1601; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1606; + v2sigmatau_bb_b = t7 * t1611; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1698; + v2tau2_bb = t7 * t1785; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM05_2X_X : detail::BuiltinKernelImpl< BuiltinM05_2X_X > { + + BuiltinM05_2X_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM05_2X_X >(p) { } + + virtual ~BuiltinM05_2X_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m05_c.hpp b/include/exchcxx/impl/builtin/kernels/m05_c.hpp new file mode 100644 index 0000000..585f772 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m05_c.hpp @@ -0,0 +1,5860 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM05_C > : + public mgga_screening_interface< BuiltinM05_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double gamma_ss = 0.06; + static constexpr double gamma_ab = 0.0031; + static constexpr double css_0 = 1.00000e0; + static constexpr double css_1 = 3.77344e0; + static constexpr double css_2 = -26.04463e0; + static constexpr double css_3 = 30.69913e0; + static constexpr double css_4 = -9.22695e0; + static constexpr double cab_0 = 1.00000e0; + static constexpr double cab_1 = 3.78569e0; + static constexpr double cab_2 = -14.15261e0; + static constexpr double cab_3 = -7.46589e0; + static constexpr double cab_4 = 17.94491e0; + static constexpr double Fermi_D_cnst = 1e-10; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + + + eps = t171 + t250; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t345 = t95 * t109; + constexpr double t356 = t108 * t124; + constexpr double t365 = t123 * t136; + constexpr double t376 = t136 * gamma_ss; + constexpr double t377 = t135 * t376; + constexpr double t416 = t9 * t12; + constexpr double t458 = t212 * t224; + constexpr double t465 = t223 * t233; + constexpr double t471 = t232 * t241; + constexpr double t479 = t241 * gamma_ab; + constexpr double t480 = t240 * t479; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = 0.1e1 / t14 / rho; + const double t253 = t252 * t16; + const double t254 = t20 * t46; + const double t257 = 0.11073470983333333333e-2 * t13 * t253 * t254; + const double t258 = t42 * t42; + const double t259 = 0.1e1 / t258; + const double t260 = t24 * t259; + const double t263 = 0.1e1 / t25 * t7 * t9; + const double t264 = t12 * t252; + const double t265 = t16 * t20; + const double t266 = t264 * t265; + const double t267 = t263 * t266; + const double t269 = t253 * t20; + const double t270 = t13 * t269; + const double t272 = safe_math::sqrt( t22 ); + const double t274 = t272 * t7 * t9; + const double t275 = t274 * t266; + const double t278 = 0.1e1 / t34 / rho; + const double t281 = t33 * t278 * t36 * t38; + const double t283 = -0.632975e0 * t267 - 0.29896666666666666667e0 * t270 - 0.1023875e0 * t275 - 0.82156666666666666667e-1 * t281; + const double t284 = 0.1e1 / t45; + const double t285 = t283 * t284; + const double t287 = 0.1e1 * t260 * t285; + const double t288 = t20 * t70; + const double t292 = t66 * t66; + const double t293 = 0.1e1 / t292; + const double t294 = t61 * t293; + const double t299 = -0.1176575e1 * t267 - 0.516475e0 * t270 - 0.2103875e0 * t275 - 0.104195e0 * t281; + const double t300 = 0.1e1 / t69; + const double t301 = t299 * t300; + const double t304 = t20 * t83; + const double t308 = t79 * t79; + const double t309 = 0.1e1 / t308; + const double t310 = t74 * t309; + const double t315 = -0.86308333333333333334e0 * t267 - 0.301925e0 * t270 - 0.5501625e-1 * t275 - 0.82785e-1 * t281; + const double t316 = 0.1e1 / t82; + const double t317 = t315 * t316; + const double t322 = t59 * t10; + const double t323 = t265 * t83; + const double t327 = t59 * t74; + const double t329 = t309 * t315 * t316; + const double t335 = piecewise_functor_3( t5, 0.0, t6 * ( t257 + t287 + t59 * ( 0.53237641966666666666e-3 * t13 * t253 * t288 + 0.1e1 * t294 * t301 - t257 - t287 + 0.18311447306006545054e-3 * t13 * t253 * t304 + 0.5848223622634646207e0 * t310 * t317 ) - 0.18311447306006545054e-3 * t322 * t264 * t323 - 0.5848223622634646207e0 * t327 * t329 ) / 0.2e1 ); + const double t336 = t335 * t149; + const double t337 = t336 * t169; + const double t340 = 0.1e1 / t34 / t159; + const double t341 = t36 * t340; + const double t342 = t341 * t105; + const double t346 = t345 * t111; + const double t347 = t113 * t98; + const double t349 = 0.1e1 / t14 / t347; + const double t350 = t16 * t349; + const double t351 = t350 * t119; + const double t357 = t127 * rho; + const double t358 = 0.1e1 / t357; + const double t359 = t126 * t358; + const double t360 = t359 * t131; + const double t366 = t365 * t138; + const double t367 = t127 * t159; + const double t369 = 0.1e1 / t34 / t367; + const double t371 = t369 * t145 * t36; + const double t378 = t138 * sigma; + const double t379 = t377 * t378; + const double t380 = t127 * t347; + const double t382 = 0.1e1 / t14 / t380; + const double t383 = t16 * t382; + const double t385 = 0.1e1 / t144 / t104; + const double t386 = t383 * t385; + const double t389 = -0.8e1 / 0.3e1 * t97 * t342 + 0.16e2 / 0.3e1 * t346 * t351 - 0.32e2 / 0.3e1 * t112 * t351 + 0.64e2 / 0.3e1 * t356 * t360 - 0.32e2 * t125 * t360 + 0.32e2 * t366 * t371 - 0.128e3 / 0.3e1 * t139 * t371 + 0.256e3 / 0.3e1 * t379 * t386; + const double t390 = t93 * t389; + const double t391 = t390 * t169; + const double t393 = t150 * sigma; + const double t394 = 0.1e1 / t98; + const double t396 = t394 * t153 * t168; + const double t397 = t393 * t396; + const double t399 = t156 * t157; + const double t400 = t150 * t399; + const double t402 = 0.1e1 / t14 / t113; + const double t403 = t16 * t402; + const double t404 = t163 * t167; + const double t405 = t403 * t404; + const double t406 = t400 * t405; + const double t411 = t184 * t184; + const double t412 = 0.1e1 / t411; + const double t413 = t175 * t412; + const double t415 = 0.1e1 / t176 * t7; + const double t417 = t416 * t252; + const double t418 = t415 * t417; + const double t420 = t10 * t264; + const double t422 = safe_math::sqrt( t173 ); + const double t423 = t422 * t7; + const double t424 = t423 * t417; + const double t427 = t32 * t11 * t278; + const double t429 = -0.632975e0 * t418 - 0.29896666666666666667e0 * t420 - 0.1023875e0 * t424 - 0.82156666666666666667e-1 * t427; + const double t430 = 0.1e1 / t187; + const double t431 = t429 * t430; + const double t434 = t194 * t7; + const double t439 = t194 * t196; + const double t440 = t201 * t201; + const double t441 = 0.1e1 / t440; + const double t446 = -0.86308333333333333334e0 * t418 - 0.301925e0 * t420 - 0.5501625e-1 * t424 - 0.82785e-1 * t427; + const double t448 = 0.1e1 / t204; + const double t449 = t441 * t446 * t448; + const double t453 = 0.11073470983333333333e-2 * t10 * t264 * t188 + 0.1e1 * t413 * t431 - 0.18311447306006545054e-3 * t434 * t416 * t252 * t205 - 0.5848223622634646207e0 * t439 * t449 - 0.2e1 * t335; + const double t454 = t453 * t249; + const double t455 = t341 * t219; + const double t459 = t458 * t111; + const double t460 = t350 * t228; + const double t466 = t359 * t236; + const double t472 = t471 * t138; + const double t474 = t369 * t245 * t36; + const double t481 = t480 * t378; + const double t483 = 0.1e1 / t244 / t218; + const double t484 = t383 * t483; + const double t487 = -0.16e2 / 0.3e1 * t214 * t455 + 0.64e2 / 0.3e1 * t459 * t460 - 0.128e3 / 0.3e1 * t226 * t460 + 0.512e3 / 0.3e1 * t465 * t466 - 0.256e3 * t234 * t466 + 0.512e3 * t472 * t474 - 0.2048e4 / 0.3e1 * t243 * t474 + 0.8192e4 / 0.3e1 * t481 * t484; + const double t488 = t210 * t487; + const double t495 = t110 * sigma; + const double t498 = t111 * t128; + const double t499 = t498 * t131; + const double t504 = t365 * t126; + const double t507 = t137 * t126; + const double t510 = t377 * t138; + const double t511 = t127 * t114; + const double t513 = 0.1e1 / t14 / t511; + const double t514 = t16 * t513; + const double t515 = t514 * t385; + const double t518 = -0.2e1 * t345 * sigma * t120 + t96 * t106 + 0.4e1 * t495 * t120 + 0.12e2 * t125 * t499 - 0.12e2 * t504 * t146 + 0.16e2 * t507 * t146 - 0.8e1 * t356 * t499 - 0.32e2 * t510 * t515; + const double t519 = t93 * t518; + const double t521 = 0.2e1 * t519 * t169; + const double t523 = t151 * t153 * t168; + const double t525 = t150 * t523 / 0.4e1; + const double t531 = t225 * sigma; + const double t534 = t498 * t236; + const double t539 = t471 * t126; + const double t542 = t242 * t126; + const double t545 = t480 * t138; + const double t546 = t514 * t483; + const double t549 = -0.8e1 * t458 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t531 * t229 + 0.96e2 * t234 * t534 - 0.192e3 * t539 * t246 + 0.256e3 * t542 * t246 - 0.64e2 * t465 * t534 - 0.1024e4 * t545 * t546; + const double t550 = t210 * t549; + const double t552 = 0.1e1 / t157; + const double t554 = t151 * t552 * t168; + const double t556 = t393 * t554 / 0.4e1; + const double t557 = t156 * tau; + const double t558 = t150 * t557; + const double t559 = t16 * t161; + const double t560 = t559 * t404; + const double t562 = 0.32e2 * t558 * t560; + + + eps = t171 + t250; + vrho = t171 + t250 + rho * ( 0.2e1 * t337 + 0.2e1 * t391 + t397 / 0.4e1 - 0.16e3 / 0.3e1 * t406 + t454 + t488 ); + vsigma = rho * ( t521 - t525 + t550 ); + vlapl = 0.e0; + vtau = rho * ( t556 + t562 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t345 = t95 * t109; + constexpr double t356 = t108 * t124; + constexpr double t365 = t123 * t136; + constexpr double t376 = t136 * gamma_ss; + constexpr double t377 = t135 * t376; + constexpr double t416 = t9 * t12; + constexpr double t458 = t212 * t224; + constexpr double t465 = t223 * t233; + constexpr double t471 = t232 * t241; + constexpr double t479 = t241 * gamma_ab; + constexpr double t480 = t240 * t479; + constexpr double t740 = t95 * t124; + constexpr double t750 = t108 * t136; + constexpr double t763 = t123 * t376; + constexpr double t776 = t136 * t109; + constexpr double t777 = t135 * t776; + constexpr double t818 = t162 * t162; + constexpr double t819 = 0.1e1 / t818; + constexpr double t841 = t31 * t11; + constexpr double t915 = t212 * t233; + constexpr double t923 = t223 * t241; + constexpr double t933 = t232 * t479; + constexpr double t943 = t241 * t224; + constexpr double t944 = t240 * t943; + constexpr double t959 = t345 * t16; + constexpr double t1014 = t458 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = 0.1e1 / t14 / rho; + const double t253 = t252 * t16; + const double t254 = t20 * t46; + const double t257 = 0.11073470983333333333e-2 * t13 * t253 * t254; + const double t258 = t42 * t42; + const double t259 = 0.1e1 / t258; + const double t260 = t24 * t259; + const double t263 = 0.1e1 / t25 * t7 * t9; + const double t264 = t12 * t252; + const double t265 = t16 * t20; + const double t266 = t264 * t265; + const double t267 = t263 * t266; + const double t269 = t253 * t20; + const double t270 = t13 * t269; + const double t272 = safe_math::sqrt( t22 ); + const double t274 = t272 * t7 * t9; + const double t275 = t274 * t266; + const double t278 = 0.1e1 / t34 / rho; + const double t281 = t33 * t278 * t36 * t38; + const double t283 = -0.632975e0 * t267 - 0.29896666666666666667e0 * t270 - 0.1023875e0 * t275 - 0.82156666666666666667e-1 * t281; + const double t284 = 0.1e1 / t45; + const double t285 = t283 * t284; + const double t287 = 0.1e1 * t260 * t285; + const double t288 = t20 * t70; + const double t292 = t66 * t66; + const double t293 = 0.1e1 / t292; + const double t294 = t61 * t293; + const double t299 = -0.1176575e1 * t267 - 0.516475e0 * t270 - 0.2103875e0 * t275 - 0.104195e0 * t281; + const double t300 = 0.1e1 / t69; + const double t301 = t299 * t300; + const double t304 = t20 * t83; + const double t308 = t79 * t79; + const double t309 = 0.1e1 / t308; + const double t310 = t74 * t309; + const double t315 = -0.86308333333333333334e0 * t267 - 0.301925e0 * t270 - 0.5501625e-1 * t275 - 0.82785e-1 * t281; + const double t316 = 0.1e1 / t82; + const double t317 = t315 * t316; + const double t322 = t59 * t10; + const double t323 = t265 * t83; + const double t327 = t59 * t74; + const double t329 = t309 * t315 * t316; + const double t335 = piecewise_functor_3( t5, 0.0, t6 * ( t257 + t287 + t59 * ( 0.53237641966666666666e-3 * t13 * t253 * t288 + 0.1e1 * t294 * t301 - t257 - t287 + 0.18311447306006545054e-3 * t13 * t253 * t304 + 0.5848223622634646207e0 * t310 * t317 ) - 0.18311447306006545054e-3 * t322 * t264 * t323 - 0.5848223622634646207e0 * t327 * t329 ) / 0.2e1 ); + const double t336 = t335 * t149; + const double t337 = t336 * t169; + const double t340 = 0.1e1 / t34 / t159; + const double t341 = t36 * t340; + const double t342 = t341 * t105; + const double t346 = t345 * t111; + const double t347 = t113 * t98; + const double t349 = 0.1e1 / t14 / t347; + const double t350 = t16 * t349; + const double t351 = t350 * t119; + const double t357 = t127 * rho; + const double t358 = 0.1e1 / t357; + const double t359 = t126 * t358; + const double t360 = t359 * t131; + const double t366 = t365 * t138; + const double t367 = t127 * t159; + const double t369 = 0.1e1 / t34 / t367; + const double t371 = t369 * t145 * t36; + const double t378 = t138 * sigma; + const double t379 = t377 * t378; + const double t380 = t127 * t347; + const double t382 = 0.1e1 / t14 / t380; + const double t383 = t16 * t382; + const double t385 = 0.1e1 / t144 / t104; + const double t386 = t383 * t385; + const double t389 = -0.8e1 / 0.3e1 * t97 * t342 + 0.16e2 / 0.3e1 * t346 * t351 - 0.32e2 / 0.3e1 * t112 * t351 + 0.64e2 / 0.3e1 * t356 * t360 - 0.32e2 * t125 * t360 + 0.32e2 * t366 * t371 - 0.128e3 / 0.3e1 * t139 * t371 + 0.256e3 / 0.3e1 * t379 * t386; + const double t390 = t93 * t389; + const double t391 = t390 * t169; + const double t393 = t150 * sigma; + const double t394 = 0.1e1 / t98; + const double t396 = t394 * t153 * t168; + const double t397 = t393 * t396; + const double t399 = t156 * t157; + const double t400 = t150 * t399; + const double t402 = 0.1e1 / t14 / t113; + const double t403 = t16 * t402; + const double t404 = t163 * t167; + const double t405 = t403 * t404; + const double t406 = t400 * t405; + const double t411 = t184 * t184; + const double t412 = 0.1e1 / t411; + const double t413 = t175 * t412; + const double t415 = 0.1e1 / t176 * t7; + const double t417 = t416 * t252; + const double t418 = t415 * t417; + const double t420 = t10 * t264; + const double t422 = safe_math::sqrt( t173 ); + const double t423 = t422 * t7; + const double t424 = t423 * t417; + const double t427 = t32 * t11 * t278; + const double t429 = -0.632975e0 * t418 - 0.29896666666666666667e0 * t420 - 0.1023875e0 * t424 - 0.82156666666666666667e-1 * t427; + const double t430 = 0.1e1 / t187; + const double t431 = t429 * t430; + const double t434 = t194 * t7; + const double t439 = t194 * t196; + const double t440 = t201 * t201; + const double t441 = 0.1e1 / t440; + const double t446 = -0.86308333333333333334e0 * t418 - 0.301925e0 * t420 - 0.5501625e-1 * t424 - 0.82785e-1 * t427; + const double t448 = 0.1e1 / t204; + const double t449 = t441 * t446 * t448; + const double t453 = 0.11073470983333333333e-2 * t10 * t264 * t188 + 0.1e1 * t413 * t431 - 0.18311447306006545054e-3 * t434 * t416 * t252 * t205 - 0.5848223622634646207e0 * t439 * t449 - 0.2e1 * t335; + const double t454 = t453 * t249; + const double t455 = t341 * t219; + const double t459 = t458 * t111; + const double t460 = t350 * t228; + const double t466 = t359 * t236; + const double t472 = t471 * t138; + const double t474 = t369 * t245 * t36; + const double t481 = t480 * t378; + const double t483 = 0.1e1 / t244 / t218; + const double t484 = t383 * t483; + const double t487 = -0.16e2 / 0.3e1 * t214 * t455 + 0.64e2 / 0.3e1 * t459 * t460 - 0.128e3 / 0.3e1 * t226 * t460 + 0.512e3 / 0.3e1 * t465 * t466 - 0.256e3 * t234 * t466 + 0.512e3 * t472 * t474 - 0.2048e4 / 0.3e1 * t243 * t474 + 0.8192e4 / 0.3e1 * t481 * t484; + const double t488 = t210 * t487; + const double t495 = t110 * sigma; + const double t498 = t111 * t128; + const double t499 = t498 * t131; + const double t504 = t365 * t126; + const double t507 = t137 * t126; + const double t510 = t377 * t138; + const double t511 = t127 * t114; + const double t513 = 0.1e1 / t14 / t511; + const double t514 = t16 * t513; + const double t515 = t514 * t385; + const double t518 = -0.2e1 * t345 * sigma * t120 + t96 * t106 + 0.4e1 * t495 * t120 + 0.12e2 * t125 * t499 - 0.12e2 * t504 * t146 + 0.16e2 * t507 * t146 - 0.8e1 * t356 * t499 - 0.32e2 * t510 * t515; + const double t519 = t93 * t518; + const double t521 = 0.2e1 * t519 * t169; + const double t523 = t151 * t153 * t168; + const double t525 = t150 * t523 / 0.4e1; + const double t531 = t225 * sigma; + const double t534 = t498 * t236; + const double t539 = t471 * t126; + const double t542 = t242 * t126; + const double t545 = t480 * t138; + const double t546 = t514 * t483; + const double t549 = -0.8e1 * t458 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t531 * t229 + 0.96e2 * t234 * t534 - 0.192e3 * t539 * t246 + 0.256e3 * t542 * t246 - 0.64e2 * t465 * t534 - 0.1024e4 * t545 * t546; + const double t550 = t210 * t549; + const double t552 = 0.1e1 / t157; + const double t554 = t151 * t552 * t168; + const double t556 = t393 * t554 / 0.4e1; + const double t557 = t156 * tau; + const double t558 = t150 * t557; + const double t559 = t16 * t161; + const double t560 = t559 * t404; + const double t562 = 0.32e2 * t558 * t560; + const double t571 = 0.1e1 / t14 / t98; + const double t572 = t571 * t16; + const double t575 = 0.14764627977777777777e-2 * t13 * t572 * t254; + const double t578 = t265 * t259 * t283 * t284; + const double t580 = 0.35616666666666666666e-1 * t420 * t578; + const double t581 = t258 * t42; + const double t582 = 0.1e1 / t581; + const double t583 = t24 * t582; + const double t584 = t283 * t283; + const double t585 = t584 * t284; + const double t587 = 0.2e1 * t583 * t585; + const double t591 = 0.1e1 / t25 / t22 * t30 * t31; + const double t592 = t11 * t100; + const double t593 = t36 * t38; + const double t594 = t592 * t593; + const double t595 = t591 * t594; + const double t597 = t12 * t571; + const double t598 = t597 * t265; + const double t599 = t263 * t598; + const double t601 = t572 * t20; + const double t602 = t13 * t601; + const double t604 = 0.1e1/safe_math::sqrt( t22 ); + const double t606 = t604 * t30 * t31; + const double t607 = t606 * t594; + const double t609 = t274 * t598; + const double t612 = t33 * t101 * t38; + const double t614 = -0.42198333333333333333e0 * t595 + 0.84396666666666666666e0 * t599 + 0.39862222222222222223e0 * t602 + 0.68258333333333333333e-1 * t607 + 0.13651666666666666667e0 * t609 + 0.13692777777777777778e0 * t612; + const double t617 = 0.1e1 * t260 * t614 * t284; + const double t618 = t258 * t258; + const double t619 = 0.1e1 / t618; + const double t620 = t24 * t619; + const double t621 = t45 * t45; + const double t622 = 0.1e1 / t621; + const double t623 = t584 * t622; + const double t625 = 0.16081979498692535067e2 * t620 * t623; + const double t631 = t265 * t293 * t299 * t300; + const double t634 = t292 * t66; + const double t635 = 0.1e1 / t634; + const double t636 = t61 * t635; + const double t637 = t299 * t299; + const double t638 = t637 * t300; + const double t647 = -0.78438333333333333333e0 * t595 + 0.15687666666666666667e1 * t599 + 0.68863333333333333333e0 * t602 + 0.14025833333333333333e0 * t607 + 0.28051666666666666667e0 * t609 + 0.17365833333333333333e0 * t612; + const double t651 = t292 * t292; + const double t652 = 0.1e1 / t651; + const double t653 = t61 * t652; + const double t654 = t69 * t69; + const double t655 = 0.1e1 / t654; + const double t662 = t265 * t329; + const double t665 = t308 * t79; + const double t666 = 0.1e1 / t665; + const double t667 = t74 * t666; + const double t668 = t315 * t315; + const double t669 = t668 * t316; + const double t678 = -0.57538888888888888889e0 * t595 + 0.11507777777777777778e1 * t599 + 0.40256666666666666667e0 * t602 + 0.366775e-1 * t607 + 0.73355e-1 * t609 + 0.137975e0 * t612; + const double t679 = t678 * t316; + const double t682 = t308 * t308; + const double t683 = 0.1e1 / t682; + const double t684 = t74 * t683; + const double t685 = t82 * t82; + const double t686 = 0.1e1 / t685; + const double t687 = t668 * t686; + const double t690 = -0.70983522622222222221e-3 * t13 * t572 * t288 - 0.34246666666666666666e-1 * t420 * t631 - 0.2e1 * t636 * t638 + 0.1e1 * t294 * t647 * t300 + 0.32163958997385070134e2 * t653 * t637 * t655 + t575 + t580 + t587 - t617 - t625 - 0.24415263074675393405e-3 * t13 * t572 * t304 - 0.10843581300301739842e-1 * t420 * t662 - 0.11696447245269292414e1 * t667 * t669 + 0.5848223622634646207e0 * t310 * t679 + 0.17315859105681463759e2 * t684 * t687; + const double t695 = t59 * t13; + const double t700 = t666 * t668 * t316; + const double t704 = t309 * t678 * t316; + const double t707 = t683 * t668; + const double t708 = t707 * t686; + const double t711 = -t575 - t580 - t587 + t617 + t625 + t59 * t690 + 0.24415263074675393405e-3 * t322 * t597 * t323 + 0.10843581300301739842e-1 * t695 * t269 * t329 + 0.11696447245269292414e1 * t327 * t700 - 0.5848223622634646207e0 * t327 * t704 - 0.17315859105681463759e2 * t327 * t708; + const double t714 = piecewise_functor_3( t5, 0.0, t6 * t711 / 0.2e1 ); + const double t715 = t714 * t149; + const double t716 = t715 * t169; + const double t718 = t335 * t389; + const double t719 = t718 * t169; + const double t721 = t336 * sigma; + const double t722 = t721 * t396; + const double t724 = t336 * t399; + const double t725 = t724 * t405; + const double t728 = 0.1e1 / t34 / t113; + const double t729 = t36 * t728; + const double t730 = t729 * t105; + const double t733 = t113 * t159; + const double t735 = 0.1e1 / t14 / t733; + const double t736 = t16 * t735; + const double t737 = t736 * t119; + const double t741 = 0.1e1 / t140; + const double t742 = t126 * t741; + const double t743 = t742 * t131; + const double t751 = t750 * t138; + const double t752 = t127 * t113; + const double t754 = 0.1e1 / t34 / t752; + const double t756 = t754 * t145 * t36; + const double t764 = t763 * t378; + const double t765 = t127 * t733; + const double t767 = 0.1e1 / t14 / t765; + const double t769 = t767 * t385 * t16; + const double t778 = t138 * t111; + const double t779 = t127 * t127; + const double t780 = t779 * t98; + const double t781 = 0.1e1 / t780; + const double t782 = t778 * t781; + const double t784 = 0.1e1 / t144 / t118; + const double t788 = 0.88e2 / 0.9e1 * t97 * t730 - 0.48e2 * t346 * t737 + 0.512e3 / 0.9e1 * t740 * t743 + 0.608e3 / 0.9e1 * t112 * t737 - 0.2752e4 / 0.9e1 * t356 * t743 + 0.512e3 / 0.3e1 * t751 * t756 + 0.288e3 * t125 * t743 - 0.1888e4 / 0.3e1 * t366 * t756 + 0.2048e4 / 0.3e1 * t764 * t769 + 0.448e4 / 0.9e1 * t139 * t756 - 0.64e4 / 0.3e1 * t379 * t769 + 0.2048e5 / 0.9e1 * t777 * t782 * t784; + const double t789 = t93 * t788; + const double t790 = t789 * t169; + const double t792 = t390 * sigma; + const double t793 = t792 * t396; + const double t795 = t390 * t399; + const double t796 = t795 * t405; + const double t798 = 0.1e1 / t159; + const double t800 = t798 * t153 * t168; + const double t801 = t393 * t800; + const double t803 = sigma * t349; + const double t804 = t150 * t803; + const double t806 = tau * t16 * t404; + const double t807 = t804 * t806; + const double t809 = t117 * t404; + const double t810 = t400 * t809; + const double t812 = t157 * t157; + const double t813 = t156 * t812; + const double t814 = t150 * t813; + const double t816 = 0.1e1 / t34 / t127; + const double t820 = t819 * t167; + const double t821 = t36 * t816 * t820; + const double t822 = t814 * t821; + const double t827 = t252 * t412; + const double t831 = t411 * t184; + const double t832 = 0.1e1 / t831; + const double t833 = t175 * t832; + const double t834 = t429 * t429; + const double t835 = t834 * t430; + const double t840 = 0.1e1 / t176 / t173 * t30; + const double t842 = t841 * t100; + const double t843 = t840 * t842; + const double t845 = t416 * t571; + const double t846 = t415 * t845; + const double t848 = t10 * t597; + const double t850 = 0.1e1/safe_math::sqrt( t173 ); + const double t851 = t850 * t30; + const double t852 = t851 * t842; + const double t854 = t423 * t845; + const double t856 = t32 * t592; + const double t858 = -0.42198333333333333333e0 * t843 + 0.84396666666666666666e0 * t846 + 0.39862222222222222223e0 * t848 + 0.68258333333333333333e-1 * t852 + 0.13651666666666666667e0 * t854 + 0.13692777777777777778e0 * t856; + const double t859 = t858 * t430; + const double t862 = t411 * t411; + const double t863 = 0.1e1 / t862; + const double t864 = t175 * t863; + const double t865 = t187 * t187; + const double t866 = 0.1e1 / t865; + const double t867 = t834 * t866; + const double t874 = t194 * t10; + const double t878 = t440 * t201; + const double t879 = 0.1e1 / t878; + const double t880 = t446 * t446; + const double t882 = t879 * t880 * t448; + const double t891 = -0.57538888888888888889e0 * t843 + 0.11507777777777777778e1 * t846 + 0.40256666666666666667e0 * t848 + 0.366775e-1 * t852 + 0.73355e-1 * t854 + 0.137975e0 * t856; + const double t893 = t441 * t891 * t448; + const double t896 = t440 * t440; + const double t897 = 0.1e1 / t896; + const double t898 = t897 * t880; + const double t899 = t204 * t204; + const double t900 = 0.1e1 / t899; + const double t901 = t898 * t900; + const double t905 = -0.14764627977777777777e-2 * t10 * t597 * t188 - 0.35616666666666666666e-1 * t13 * t827 * t431 - 0.2e1 * t833 * t835 + 0.1e1 * t413 * t859 + 0.16081979498692535067e2 * t864 * t867 + 0.24415263074675393405e-3 * t434 * t416 * t571 * t205 + 0.10843581300301739842e-1 * t874 * t264 * t449 + 0.11696447245269292414e1 * t439 * t882 - 0.5848223622634646207e0 * t439 * t893 - 0.17315859105681463759e2 * t439 * t901 - 0.2e1 * t714; + const double t906 = t905 * t249; + const double t907 = t453 * t487; + const double t909 = t729 * t219; + const double t912 = t736 * t228; + const double t916 = t742 * t236; + const double t924 = t923 * t138; + const double t926 = t754 * t245 * t36; + const double t934 = t933 * t378; + const double t936 = t767 * t483 * t16; + const double t946 = 0.1e1 / t244 / t227; + const double t950 = 0.176e3 / 0.9e1 * t214 * t909 - 0.192e3 * t459 * t912 + 0.4096e4 / 0.9e1 * t915 * t916 + 0.2432e4 / 0.9e1 * t226 * t912 - 0.22016e5 / 0.9e1 * t465 * t916 + 0.8192e4 / 0.3e1 * t924 * t926 + 0.2304e4 * t234 * t916 - 0.30208e5 / 0.3e1 * t472 * t926 + 0.65536e5 / 0.3e1 * t934 * t936 + 0.7168e5 / 0.9e1 * t243 * t926 - 0.2048e6 / 0.3e1 * t481 * t936 + 0.131072e7 / 0.9e1 * t944 * t782 * t946; + const double t951 = t210 * t950; + const double t952 = 0.2e1 * t716 + 0.4e1 * t719 + t722 / 0.2e1 - 0.32e3 / 0.3e1 * t725 + 0.2e1 * t790 + t793 / 0.2e1 - 0.32e3 / 0.3e1 * t796 - t801 / 0.2e1 - 0.4e2 / 0.3e1 * t807 + 0.208e4 / 0.9e1 * t810 - 0.128e5 / 0.9e1 * t822 + t906 + 0.2e1 * t907 + t951; + const double t954 = t335 * t518; + const double t955 = t954 * t169; + const double t964 = t111 * t358; + const double t965 = t964 * t131; + const double t972 = t750 * t126; + const double t979 = t763 * t138; + const double t986 = t779 * rho; + const double t987 = 0.1e1 / t986; + const double t988 = t378 * t987; + const double t992 = -0.8e1 / 0.3e1 * t96 * t342 + 0.16e2 * t959 * t349 * t119 * sigma - 0.64e2 / 0.3e1 * t740 * t965 - 0.64e2 / 0.3e1 * t495 * t351 + 0.32e3 / 0.3e1 * t356 * t965 - 0.64e2 * t972 * t371 - 0.96e2 * t125 * t965 + 0.224e3 * t504 * t371 - 0.256e3 * t979 * t386 - 0.512e3 / 0.3e1 * t507 * t371 + 0.768e3 * t510 * t386 - 0.256e4 / 0.3e1 * t777 * t988 * t784; + const double t993 = t93 * t992; + const double t994 = t993 * t169; + const double t996 = t519 * sigma; + const double t997 = t996 * t396; + const double t999 = t519 * t399; + const double t1000 = t999 * t405; + const double t1002 = t336 * t523; + const double t1004 = t390 * t523; + const double t1006 = t150 * t396; + const double t1008 = t150 * t116; + const double t1009 = t1008 * t806; + const double t1011 = t453 * t549; + const double t1019 = t964 * t236; + const double t1026 = t923 * t126; + const double t1033 = t933 * t138; + const double t1043 = -0.16e2 / 0.3e1 * t213 * t455 + 0.64e2 * t1014 * t349 * t228 * sigma - 0.512e3 / 0.3e1 * t915 * t1019 - 0.256e3 / 0.3e1 * t531 * t460 + 0.256e4 / 0.3e1 * t465 * t1019 - 0.1024e4 * t1026 * t474 - 0.768e3 * t234 * t1019 + 0.3584e4 * t539 * t474 - 0.8192e4 * t1033 * t484 - 0.8192e4 / 0.3e1 * t542 * t474 + 0.24576e5 * t545 * t484 - 0.16384e6 / 0.3e1 * t944 * t988 * t946; + const double t1044 = t210 * t1043; + const double t1047 = t721 * t554; + const double t1049 = t792 * t554; + const double t1052 = t394 * t552 * t168; + const double t1053 = t393 * t1052; + const double t1055 = t393 * t809; + const double t1057 = t336 * t557; + const double t1058 = t1057 * t560; + const double t1060 = t390 * t557; + const double t1061 = t1060 * t560; + const double t1063 = t558 * t405; + const double t1065 = t157 * tau; + const double t1066 = t156 * t1065; + const double t1067 = t150 * t1066; + const double t1069 = 0.1e1 / t34 / t733; + const double t1071 = t36 * t1069 * t820; + const double t1072 = t1067 * t1071; + const double t1078 = sigma * t128; + const double t1079 = t1078 * t131; + const double t1086 = t750 * t111; + const double t1091 = t365 * t111; + const double t1094 = t763 * t126; + const double t1097 = t137 * t111; + const double t1100 = t377 * t126; + const double t1103 = 0.1e1 / t779; + const double t1104 = t138 * t1103; + const double t1108 = 0.32e3 * t777 * t1104 * t784 + 0.24e2 * t125 * t1079 - 0.32e2 * t356 * t1079 + 0.8e1 * t740 * t1079 + 0.24e2 * t1086 * t146 - 0.72e2 * t1091 * t146 + 0.96e2 * t1094 * t515 + 0.48e2 * t1097 * t146 + 0.4e1 * t110 * t120 - 0.256e3 * t1100 * t515 - 0.4e1 * t345 * t120; + const double t1109 = t93 * t1108; + const double t1111 = 0.2e1 * t1109 * t169; + const double t1113 = t519 * t523 / 0.2e1; + const double t1116 = t1078 * t236; + const double t1123 = t923 * t111; + const double t1128 = t471 * t111; + const double t1131 = t933 * t126; + const double t1134 = t242 * t111; + const double t1137 = t480 * t126; + const double t1143 = 0.2048e5 * t944 * t1104 * t946 + 0.192e3 * t234 * t1116 - 0.256e3 * t465 * t1116 + 0.64e2 * t915 * t1116 + 0.384e3 * t1123 * t246 - 0.1152e4 * t1128 * t246 + 0.3072e4 * t1131 * t546 + 0.768e3 * t1134 * t246 - 0.8192e4 * t1137 * t546 + 0.16e2 * t225 * t229 - 0.16e2 * t458 * t229; + const double t1144 = t210 * t1143; + const double t1147 = t996 * t554 / 0.4e1; + const double t1149 = t150 * t554 / 0.4e1; + const double t1150 = t519 * t557; + const double t1152 = 0.32e2 * t1150 * t560; + const double t1153 = t150 * t402; + const double t1155 = t16 * t163 * t167; + const double t1157 = 0.4e1 * t1153 * t1155; + const double t1159 = 0.1e1 / t1065; + const double t1161 = t151 * t1159 * t168; + const double t1163 = t393 * t1161 / 0.2e1; + const double t1164 = sigma * t402; + const double t1165 = t150 * t1164; + const double t1167 = t153 * t16 * t404; + const double t1169 = 0.8e1 * t1165 * t1167; + const double t1170 = t150 * t156; + const double t1172 = 0.32e2 * t1170 * t560; + const double t1174 = 0.1e1 / t34 / t347; + const double t1175 = t36 * t1174; + const double t1176 = t1175 * t820; + const double t1178 = 0.512e3 * t400 * t1176; + + + v2rho2 = 0.4e1 * t337 + 0.4e1 * t391 + t397 / 0.2e1 - 0.32e3 / 0.3e1 * t406 + 0.2e1 * t454 + 0.2e1 * t488 + rho * t952; + v2rhosigma = t521 - t525 + t550 + rho * ( 0.2e1 * t955 + 0.2e1 * t994 + t997 / 0.4e1 - 0.16e3 / 0.3e1 * t1000 - t1002 / 0.4e1 - t1004 / 0.4e1 + t1006 / 0.4e1 + 0.2e2 / 0.3e1 * t1009 + t1011 + t1044 ); + v2rholapl = 0.e0; + v2rhotau = t556 + t562 + rho * ( t1047 / 0.4e1 + t1049 / 0.4e1 - t1053 / 0.4e1 - 0.8e1 / 0.3e1 * t1055 + 0.32e2 * t1058 + 0.32e2 * t1061 - 0.32e3 / 0.3e1 * t1063 + 0.256e4 / 0.3e1 * t1072 ); + v2sigma2 = rho * ( t1111 - t1113 + t1144 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1147 + t1149 + t1152 - t1157 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1163 + t1169 + t1172 - t1178 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t345 = t95 * t109; + constexpr double t356 = t108 * t124; + constexpr double t365 = t123 * t136; + constexpr double t376 = t136 * gamma_ss; + constexpr double t377 = t135 * t376; + constexpr double t416 = t9 * t12; + constexpr double t458 = t212 * t224; + constexpr double t465 = t223 * t233; + constexpr double t471 = t232 * t241; + constexpr double t479 = t241 * gamma_ab; + constexpr double t480 = t240 * t479; + constexpr double t740 = t95 * t124; + constexpr double t750 = t108 * t136; + constexpr double t763 = t123 * t376; + constexpr double t776 = t136 * t109; + constexpr double t777 = t135 * t776; + constexpr double t818 = t162 * t162; + constexpr double t819 = 0.1e1 / t818; + constexpr double t841 = t31 * t11; + constexpr double t915 = t212 * t233; + constexpr double t923 = t223 * t241; + constexpr double t933 = t232 * t479; + constexpr double t943 = t241 * t224; + constexpr double t944 = t240 * t943; + constexpr double t959 = t345 * t16; + constexpr double t1014 = t458 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - sigma * t151 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = 0.1e1 / t14 / rho; + const double t253 = t252 * t16; + const double t254 = t20 * t46; + const double t257 = 0.11073470983333333333e-2 * t13 * t253 * t254; + const double t258 = t42 * t42; + const double t259 = 0.1e1 / t258; + const double t260 = t24 * t259; + const double t263 = 0.1e1 / t25 * t7 * t9; + const double t264 = t12 * t252; + const double t265 = t16 * t20; + const double t266 = t264 * t265; + const double t267 = t263 * t266; + const double t269 = t253 * t20; + const double t270 = t13 * t269; + const double t272 = safe_math::sqrt( t22 ); + const double t274 = t272 * t7 * t9; + const double t275 = t274 * t266; + const double t278 = 0.1e1 / t34 / rho; + const double t281 = t33 * t278 * t36 * t38; + const double t283 = -0.632975e0 * t267 - 0.29896666666666666667e0 * t270 - 0.1023875e0 * t275 - 0.82156666666666666667e-1 * t281; + const double t284 = 0.1e1 / t45; + const double t285 = t283 * t284; + const double t287 = 0.1e1 * t260 * t285; + const double t288 = t20 * t70; + const double t292 = t66 * t66; + const double t293 = 0.1e1 / t292; + const double t294 = t61 * t293; + const double t299 = -0.1176575e1 * t267 - 0.516475e0 * t270 - 0.2103875e0 * t275 - 0.104195e0 * t281; + const double t300 = 0.1e1 / t69; + const double t301 = t299 * t300; + const double t304 = t20 * t83; + const double t308 = t79 * t79; + const double t309 = 0.1e1 / t308; + const double t310 = t74 * t309; + const double t315 = -0.86308333333333333334e0 * t267 - 0.301925e0 * t270 - 0.5501625e-1 * t275 - 0.82785e-1 * t281; + const double t316 = 0.1e1 / t82; + const double t317 = t315 * t316; + const double t322 = t59 * t10; + const double t323 = t265 * t83; + const double t327 = t59 * t74; + const double t329 = t309 * t315 * t316; + const double t335 = piecewise_functor_3( t5, 0.0, t6 * ( t257 + t287 + t59 * ( 0.53237641966666666666e-3 * t13 * t253 * t288 + 0.1e1 * t294 * t301 - t257 - t287 + 0.18311447306006545054e-3 * t13 * t253 * t304 + 0.5848223622634646207e0 * t310 * t317 ) - 0.18311447306006545054e-3 * t322 * t264 * t323 - 0.5848223622634646207e0 * t327 * t329 ) / 0.2e1 ); + const double t336 = t335 * t149; + const double t337 = t336 * t169; + const double t340 = 0.1e1 / t34 / t159; + const double t341 = t36 * t340; + const double t342 = t341 * t105; + const double t346 = t345 * t111; + const double t347 = t113 * t98; + const double t349 = 0.1e1 / t14 / t347; + const double t350 = t16 * t349; + const double t351 = t350 * t119; + const double t357 = t127 * rho; + const double t358 = 0.1e1 / t357; + const double t359 = t126 * t358; + const double t360 = t359 * t131; + const double t366 = t365 * t138; + const double t367 = t127 * t159; + const double t369 = 0.1e1 / t34 / t367; + const double t371 = t369 * t145 * t36; + const double t378 = t138 * sigma; + const double t379 = t377 * t378; + const double t380 = t127 * t347; + const double t382 = 0.1e1 / t14 / t380; + const double t383 = t16 * t382; + const double t385 = 0.1e1 / t144 / t104; + const double t386 = t383 * t385; + const double t389 = -0.8e1 / 0.3e1 * t97 * t342 + 0.16e2 / 0.3e1 * t346 * t351 - 0.32e2 / 0.3e1 * t112 * t351 + 0.64e2 / 0.3e1 * t356 * t360 - 0.32e2 * t125 * t360 + 0.32e2 * t366 * t371 - 0.128e3 / 0.3e1 * t139 * t371 + 0.256e3 / 0.3e1 * t379 * t386; + const double t390 = t93 * t389; + const double t391 = t390 * t169; + const double t393 = t150 * sigma; + const double t394 = 0.1e1 / t98; + const double t396 = t394 * t153 * t168; + const double t397 = t393 * t396; + const double t399 = t156 * t157; + const double t400 = t150 * t399; + const double t402 = 0.1e1 / t14 / t113; + const double t403 = t16 * t402; + const double t404 = t163 * t167; + const double t405 = t403 * t404; + const double t406 = t400 * t405; + const double t411 = t184 * t184; + const double t412 = 0.1e1 / t411; + const double t413 = t175 * t412; + const double t415 = 0.1e1 / t176 * t7; + const double t417 = t416 * t252; + const double t418 = t415 * t417; + const double t420 = t10 * t264; + const double t422 = safe_math::sqrt( t173 ); + const double t423 = t422 * t7; + const double t424 = t423 * t417; + const double t427 = t32 * t11 * t278; + const double t429 = -0.632975e0 * t418 - 0.29896666666666666667e0 * t420 - 0.1023875e0 * t424 - 0.82156666666666666667e-1 * t427; + const double t430 = 0.1e1 / t187; + const double t431 = t429 * t430; + const double t434 = t194 * t7; + const double t439 = t194 * t196; + const double t440 = t201 * t201; + const double t441 = 0.1e1 / t440; + const double t446 = -0.86308333333333333334e0 * t418 - 0.301925e0 * t420 - 0.5501625e-1 * t424 - 0.82785e-1 * t427; + const double t448 = 0.1e1 / t204; + const double t449 = t441 * t446 * t448; + const double t453 = 0.11073470983333333333e-2 * t10 * t264 * t188 + 0.1e1 * t413 * t431 - 0.18311447306006545054e-3 * t434 * t416 * t252 * t205 - 0.5848223622634646207e0 * t439 * t449 - 0.2e1 * t335; + const double t454 = t453 * t249; + const double t455 = t341 * t219; + const double t459 = t458 * t111; + const double t460 = t350 * t228; + const double t466 = t359 * t236; + const double t472 = t471 * t138; + const double t474 = t369 * t245 * t36; + const double t481 = t480 * t378; + const double t483 = 0.1e1 / t244 / t218; + const double t484 = t383 * t483; + const double t487 = -0.16e2 / 0.3e1 * t214 * t455 + 0.64e2 / 0.3e1 * t459 * t460 - 0.128e3 / 0.3e1 * t226 * t460 + 0.512e3 / 0.3e1 * t465 * t466 - 0.256e3 * t234 * t466 + 0.512e3 * t472 * t474 - 0.2048e4 / 0.3e1 * t243 * t474 + 0.8192e4 / 0.3e1 * t481 * t484; + const double t488 = t210 * t487; + const double t495 = t110 * sigma; + const double t498 = t111 * t128; + const double t499 = t498 * t131; + const double t504 = t365 * t126; + const double t507 = t137 * t126; + const double t510 = t377 * t138; + const double t511 = t127 * t114; + const double t513 = 0.1e1 / t14 / t511; + const double t514 = t16 * t513; + const double t515 = t514 * t385; + const double t518 = -0.2e1 * t345 * sigma * t120 + t96 * t106 + 0.4e1 * t495 * t120 + 0.12e2 * t125 * t499 - 0.12e2 * t504 * t146 + 0.16e2 * t507 * t146 - 0.8e1 * t356 * t499 - 0.32e2 * t510 * t515; + const double t519 = t93 * t518; + const double t521 = 0.2e1 * t519 * t169; + const double t523 = t151 * t153 * t168; + const double t525 = t150 * t523 / 0.4e1; + const double t531 = t225 * sigma; + const double t534 = t498 * t236; + const double t539 = t471 * t126; + const double t542 = t242 * t126; + const double t545 = t480 * t138; + const double t546 = t514 * t483; + const double t549 = -0.8e1 * t458 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t531 * t229 + 0.96e2 * t234 * t534 - 0.192e3 * t539 * t246 + 0.256e3 * t542 * t246 - 0.64e2 * t465 * t534 - 0.1024e4 * t545 * t546; + const double t550 = t210 * t549; + const double t552 = 0.1e1 / t157; + const double t554 = t151 * t552 * t168; + const double t556 = t393 * t554 / 0.4e1; + const double t557 = t156 * tau; + const double t558 = t150 * t557; + const double t559 = t16 * t161; + const double t560 = t559 * t404; + const double t562 = 0.32e2 * t558 * t560; + const double t571 = 0.1e1 / t14 / t98; + const double t572 = t571 * t16; + const double t575 = 0.14764627977777777777e-2 * t13 * t572 * t254; + const double t578 = t265 * t259 * t283 * t284; + const double t580 = 0.35616666666666666666e-1 * t420 * t578; + const double t581 = t258 * t42; + const double t582 = 0.1e1 / t581; + const double t583 = t24 * t582; + const double t584 = t283 * t283; + const double t585 = t584 * t284; + const double t587 = 0.2e1 * t583 * t585; + const double t591 = 0.1e1 / t25 / t22 * t30 * t31; + const double t592 = t11 * t100; + const double t593 = t36 * t38; + const double t594 = t592 * t593; + const double t595 = t591 * t594; + const double t597 = t12 * t571; + const double t598 = t597 * t265; + const double t599 = t263 * t598; + const double t601 = t572 * t20; + const double t602 = t13 * t601; + const double t604 = 0.1e1/safe_math::sqrt( t22 ); + const double t606 = t604 * t30 * t31; + const double t607 = t606 * t594; + const double t609 = t274 * t598; + const double t612 = t33 * t101 * t38; + const double t614 = -0.42198333333333333333e0 * t595 + 0.84396666666666666666e0 * t599 + 0.39862222222222222223e0 * t602 + 0.68258333333333333333e-1 * t607 + 0.13651666666666666667e0 * t609 + 0.13692777777777777778e0 * t612; + const double t617 = 0.1e1 * t260 * t614 * t284; + const double t618 = t258 * t258; + const double t619 = 0.1e1 / t618; + const double t620 = t24 * t619; + const double t621 = t45 * t45; + const double t622 = 0.1e1 / t621; + const double t623 = t584 * t622; + const double t625 = 0.16081979498692535067e2 * t620 * t623; + const double t631 = t265 * t293 * t299 * t300; + const double t634 = t292 * t66; + const double t635 = 0.1e1 / t634; + const double t636 = t61 * t635; + const double t637 = t299 * t299; + const double t638 = t637 * t300; + const double t647 = -0.78438333333333333333e0 * t595 + 0.15687666666666666667e1 * t599 + 0.68863333333333333333e0 * t602 + 0.14025833333333333333e0 * t607 + 0.28051666666666666667e0 * t609 + 0.17365833333333333333e0 * t612; + const double t651 = t292 * t292; + const double t652 = 0.1e1 / t651; + const double t653 = t61 * t652; + const double t654 = t69 * t69; + const double t655 = 0.1e1 / t654; + const double t662 = t265 * t329; + const double t665 = t308 * t79; + const double t666 = 0.1e1 / t665; + const double t667 = t74 * t666; + const double t668 = t315 * t315; + const double t669 = t668 * t316; + const double t678 = -0.57538888888888888889e0 * t595 + 0.11507777777777777778e1 * t599 + 0.40256666666666666667e0 * t602 + 0.366775e-1 * t607 + 0.73355e-1 * t609 + 0.137975e0 * t612; + const double t679 = t678 * t316; + const double t682 = t308 * t308; + const double t683 = 0.1e1 / t682; + const double t684 = t74 * t683; + const double t685 = t82 * t82; + const double t686 = 0.1e1 / t685; + const double t687 = t668 * t686; + const double t690 = -0.70983522622222222221e-3 * t13 * t572 * t288 - 0.34246666666666666666e-1 * t420 * t631 - 0.2e1 * t636 * t638 + 0.1e1 * t294 * t647 * t300 + 0.32163958997385070134e2 * t653 * t637 * t655 + t575 + t580 + t587 - t617 - t625 - 0.24415263074675393405e-3 * t13 * t572 * t304 - 0.10843581300301739842e-1 * t420 * t662 - 0.11696447245269292414e1 * t667 * t669 + 0.5848223622634646207e0 * t310 * t679 + 0.17315859105681463759e2 * t684 * t687; + const double t695 = t59 * t13; + const double t700 = t666 * t668 * t316; + const double t704 = t309 * t678 * t316; + const double t707 = t683 * t668; + const double t708 = t707 * t686; + const double t711 = -t575 - t580 - t587 + t617 + t625 + t59 * t690 + 0.24415263074675393405e-3 * t322 * t597 * t323 + 0.10843581300301739842e-1 * t695 * t269 * t329 + 0.11696447245269292414e1 * t327 * t700 - 0.5848223622634646207e0 * t327 * t704 - 0.17315859105681463759e2 * t327 * t708; + const double t714 = piecewise_functor_3( t5, 0.0, t6 * t711 / 0.2e1 ); + const double t715 = t714 * t149; + const double t716 = t715 * t169; + const double t718 = t335 * t389; + const double t719 = t718 * t169; + const double t721 = t336 * sigma; + const double t722 = t721 * t396; + const double t724 = t336 * t399; + const double t725 = t724 * t405; + const double t728 = 0.1e1 / t34 / t113; + const double t729 = t36 * t728; + const double t730 = t729 * t105; + const double t733 = t113 * t159; + const double t735 = 0.1e1 / t14 / t733; + const double t736 = t16 * t735; + const double t737 = t736 * t119; + const double t741 = 0.1e1 / t140; + const double t742 = t126 * t741; + const double t743 = t742 * t131; + const double t751 = t750 * t138; + const double t752 = t127 * t113; + const double t754 = 0.1e1 / t34 / t752; + const double t756 = t754 * t145 * t36; + const double t764 = t763 * t378; + const double t765 = t127 * t733; + const double t767 = 0.1e1 / t14 / t765; + const double t769 = t767 * t385 * t16; + const double t778 = t138 * t111; + const double t779 = t127 * t127; + const double t780 = t779 * t98; + const double t781 = 0.1e1 / t780; + const double t782 = t778 * t781; + const double t784 = 0.1e1 / t144 / t118; + const double t788 = 0.88e2 / 0.9e1 * t97 * t730 - 0.48e2 * t346 * t737 + 0.512e3 / 0.9e1 * t740 * t743 + 0.608e3 / 0.9e1 * t112 * t737 - 0.2752e4 / 0.9e1 * t356 * t743 + 0.512e3 / 0.3e1 * t751 * t756 + 0.288e3 * t125 * t743 - 0.1888e4 / 0.3e1 * t366 * t756 + 0.2048e4 / 0.3e1 * t764 * t769 + 0.448e4 / 0.9e1 * t139 * t756 - 0.64e4 / 0.3e1 * t379 * t769 + 0.2048e5 / 0.9e1 * t777 * t782 * t784; + const double t789 = t93 * t788; + const double t790 = t789 * t169; + const double t792 = t390 * sigma; + const double t793 = t792 * t396; + const double t795 = t390 * t399; + const double t796 = t795 * t405; + const double t798 = 0.1e1 / t159; + const double t800 = t798 * t153 * t168; + const double t801 = t393 * t800; + const double t803 = sigma * t349; + const double t804 = t150 * t803; + const double t806 = tau * t16 * t404; + const double t807 = t804 * t806; + const double t809 = t117 * t404; + const double t810 = t400 * t809; + const double t812 = t157 * t157; + const double t813 = t156 * t812; + const double t814 = t150 * t813; + const double t816 = 0.1e1 / t34 / t127; + const double t820 = t819 * t167; + const double t821 = t36 * t816 * t820; + const double t822 = t814 * t821; + const double t827 = t252 * t412; + const double t831 = t411 * t184; + const double t832 = 0.1e1 / t831; + const double t833 = t175 * t832; + const double t834 = t429 * t429; + const double t835 = t834 * t430; + const double t840 = 0.1e1 / t176 / t173 * t30; + const double t842 = t841 * t100; + const double t843 = t840 * t842; + const double t845 = t416 * t571; + const double t846 = t415 * t845; + const double t848 = t10 * t597; + const double t850 = 0.1e1/safe_math::sqrt( t173 ); + const double t851 = t850 * t30; + const double t852 = t851 * t842; + const double t854 = t423 * t845; + const double t856 = t32 * t592; + const double t858 = -0.42198333333333333333e0 * t843 + 0.84396666666666666666e0 * t846 + 0.39862222222222222223e0 * t848 + 0.68258333333333333333e-1 * t852 + 0.13651666666666666667e0 * t854 + 0.13692777777777777778e0 * t856; + const double t859 = t858 * t430; + const double t862 = t411 * t411; + const double t863 = 0.1e1 / t862; + const double t864 = t175 * t863; + const double t865 = t187 * t187; + const double t866 = 0.1e1 / t865; + const double t867 = t834 * t866; + const double t874 = t194 * t10; + const double t878 = t440 * t201; + const double t879 = 0.1e1 / t878; + const double t880 = t446 * t446; + const double t882 = t879 * t880 * t448; + const double t891 = -0.57538888888888888889e0 * t843 + 0.11507777777777777778e1 * t846 + 0.40256666666666666667e0 * t848 + 0.366775e-1 * t852 + 0.73355e-1 * t854 + 0.137975e0 * t856; + const double t893 = t441 * t891 * t448; + const double t896 = t440 * t440; + const double t897 = 0.1e1 / t896; + const double t898 = t897 * t880; + const double t899 = t204 * t204; + const double t900 = 0.1e1 / t899; + const double t901 = t898 * t900; + const double t905 = -0.14764627977777777777e-2 * t10 * t597 * t188 - 0.35616666666666666666e-1 * t13 * t827 * t431 - 0.2e1 * t833 * t835 + 0.1e1 * t413 * t859 + 0.16081979498692535067e2 * t864 * t867 + 0.24415263074675393405e-3 * t434 * t416 * t571 * t205 + 0.10843581300301739842e-1 * t874 * t264 * t449 + 0.11696447245269292414e1 * t439 * t882 - 0.5848223622634646207e0 * t439 * t893 - 0.17315859105681463759e2 * t439 * t901 - 0.2e1 * t714; + const double t906 = t905 * t249; + const double t907 = t453 * t487; + const double t909 = t729 * t219; + const double t912 = t736 * t228; + const double t916 = t742 * t236; + const double t924 = t923 * t138; + const double t926 = t754 * t245 * t36; + const double t934 = t933 * t378; + const double t936 = t767 * t483 * t16; + const double t946 = 0.1e1 / t244 / t227; + const double t950 = 0.176e3 / 0.9e1 * t214 * t909 - 0.192e3 * t459 * t912 + 0.4096e4 / 0.9e1 * t915 * t916 + 0.2432e4 / 0.9e1 * t226 * t912 - 0.22016e5 / 0.9e1 * t465 * t916 + 0.8192e4 / 0.3e1 * t924 * t926 + 0.2304e4 * t234 * t916 - 0.30208e5 / 0.3e1 * t472 * t926 + 0.65536e5 / 0.3e1 * t934 * t936 + 0.7168e5 / 0.9e1 * t243 * t926 - 0.2048e6 / 0.3e1 * t481 * t936 + 0.131072e7 / 0.9e1 * t944 * t782 * t946; + const double t951 = t210 * t950; + const double t952 = 0.2e1 * t716 + 0.4e1 * t719 + t722 / 0.2e1 - 0.32e3 / 0.3e1 * t725 + 0.2e1 * t790 + t793 / 0.2e1 - 0.32e3 / 0.3e1 * t796 - t801 / 0.2e1 - 0.4e2 / 0.3e1 * t807 + 0.208e4 / 0.9e1 * t810 - 0.128e5 / 0.9e1 * t822 + t906 + 0.2e1 * t907 + t951; + const double t954 = t335 * t518; + const double t955 = t954 * t169; + const double t964 = t111 * t358; + const double t965 = t964 * t131; + const double t972 = t750 * t126; + const double t979 = t763 * t138; + const double t986 = t779 * rho; + const double t987 = 0.1e1 / t986; + const double t988 = t378 * t987; + const double t992 = -0.8e1 / 0.3e1 * t96 * t342 + 0.16e2 * t959 * t349 * t119 * sigma - 0.64e2 / 0.3e1 * t740 * t965 - 0.64e2 / 0.3e1 * t495 * t351 + 0.32e3 / 0.3e1 * t356 * t965 - 0.64e2 * t972 * t371 - 0.96e2 * t125 * t965 + 0.224e3 * t504 * t371 - 0.256e3 * t979 * t386 - 0.512e3 / 0.3e1 * t507 * t371 + 0.768e3 * t510 * t386 - 0.256e4 / 0.3e1 * t777 * t988 * t784; + const double t993 = t93 * t992; + const double t994 = t993 * t169; + const double t996 = t519 * sigma; + const double t997 = t996 * t396; + const double t999 = t519 * t399; + const double t1000 = t999 * t405; + const double t1002 = t336 * t523; + const double t1004 = t390 * t523; + const double t1006 = t150 * t396; + const double t1008 = t150 * t116; + const double t1009 = t1008 * t806; + const double t1011 = t453 * t549; + const double t1019 = t964 * t236; + const double t1026 = t923 * t126; + const double t1033 = t933 * t138; + const double t1043 = -0.16e2 / 0.3e1 * t213 * t455 + 0.64e2 * t1014 * t349 * t228 * sigma - 0.512e3 / 0.3e1 * t915 * t1019 - 0.256e3 / 0.3e1 * t531 * t460 + 0.256e4 / 0.3e1 * t465 * t1019 - 0.1024e4 * t1026 * t474 - 0.768e3 * t234 * t1019 + 0.3584e4 * t539 * t474 - 0.8192e4 * t1033 * t484 - 0.8192e4 / 0.3e1 * t542 * t474 + 0.24576e5 * t545 * t484 - 0.16384e6 / 0.3e1 * t944 * t988 * t946; + const double t1044 = t210 * t1043; + const double t1047 = t721 * t554; + const double t1049 = t792 * t554; + const double t1052 = t394 * t552 * t168; + const double t1053 = t393 * t1052; + const double t1055 = t393 * t809; + const double t1057 = t336 * t557; + const double t1058 = t1057 * t560; + const double t1060 = t390 * t557; + const double t1061 = t1060 * t560; + const double t1063 = t558 * t405; + const double t1065 = t157 * tau; + const double t1066 = t156 * t1065; + const double t1067 = t150 * t1066; + const double t1069 = 0.1e1 / t34 / t733; + const double t1071 = t36 * t1069 * t820; + const double t1072 = t1067 * t1071; + const double t1078 = sigma * t128; + const double t1079 = t1078 * t131; + const double t1086 = t750 * t111; + const double t1091 = t365 * t111; + const double t1094 = t763 * t126; + const double t1097 = t137 * t111; + const double t1100 = t377 * t126; + const double t1103 = 0.1e1 / t779; + const double t1104 = t138 * t1103; + const double t1108 = 0.32e3 * t777 * t1104 * t784 + 0.24e2 * t125 * t1079 - 0.32e2 * t356 * t1079 + 0.8e1 * t740 * t1079 + 0.24e2 * t1086 * t146 - 0.72e2 * t1091 * t146 + 0.96e2 * t1094 * t515 + 0.48e2 * t1097 * t146 + 0.4e1 * t110 * t120 - 0.256e3 * t1100 * t515 - 0.4e1 * t345 * t120; + const double t1109 = t93 * t1108; + const double t1111 = 0.2e1 * t1109 * t169; + const double t1113 = t519 * t523 / 0.2e1; + const double t1116 = t1078 * t236; + const double t1123 = t923 * t111; + const double t1128 = t471 * t111; + const double t1131 = t933 * t126; + const double t1134 = t242 * t111; + const double t1137 = t480 * t126; + const double t1143 = 0.2048e5 * t944 * t1104 * t946 + 0.192e3 * t234 * t1116 - 0.256e3 * t465 * t1116 + 0.64e2 * t915 * t1116 + 0.384e3 * t1123 * t246 - 0.1152e4 * t1128 * t246 + 0.3072e4 * t1131 * t546 + 0.768e3 * t1134 * t246 - 0.8192e4 * t1137 * t546 + 0.16e2 * t225 * t229 - 0.16e2 * t458 * t229; + const double t1144 = t210 * t1143; + const double t1147 = t996 * t554 / 0.4e1; + const double t1149 = t150 * t554 / 0.4e1; + const double t1150 = t519 * t557; + const double t1152 = 0.32e2 * t1150 * t560; + const double t1153 = t150 * t402; + const double t1155 = t16 * t163 * t167; + const double t1157 = 0.4e1 * t1153 * t1155; + const double t1159 = 0.1e1 / t1065; + const double t1161 = t151 * t1159 * t168; + const double t1163 = t393 * t1161 / 0.2e1; + const double t1164 = sigma * t402; + const double t1165 = t150 * t1164; + const double t1167 = t153 * t16 * t404; + const double t1169 = 0.8e1 * t1165 * t1167; + const double t1170 = t150 * t156; + const double t1172 = 0.32e2 * t1170 * t560; + const double t1174 = 0.1e1 / t34 / t347; + const double t1175 = t36 * t1174; + const double t1176 = t1175 * t820; + const double t1178 = 0.512e3 * t400 * t1176; + + + vrho = t171 + t250 + rho * ( 0.2e1 * t337 + 0.2e1 * t391 + t397 / 0.4e1 - 0.16e3 / 0.3e1 * t406 + t454 + t488 ); + vsigma = rho * ( t521 - t525 + t550 ); + vlapl = 0.e0; + vtau = rho * ( t556 + t562 ); + v2rho2 = 0.4e1 * t337 + 0.4e1 * t391 + t397 / 0.2e1 - 0.32e3 / 0.3e1 * t406 + 0.2e1 * t454 + 0.2e1 * t488 + rho * t952; + v2rhosigma = t521 - t525 + t550 + rho * ( 0.2e1 * t955 + 0.2e1 * t994 + t997 / 0.4e1 - 0.16e3 / 0.3e1 * t1000 - t1002 / 0.4e1 - t1004 / 0.4e1 + t1006 / 0.4e1 + 0.2e2 / 0.3e1 * t1009 + t1011 + t1044 ); + v2rholapl = 0.e0; + v2rhotau = t556 + t562 + rho * ( t1047 / 0.4e1 + t1049 / 0.4e1 - t1053 / 0.4e1 - 0.8e1 / 0.3e1 * t1055 + 0.32e2 * t1058 + 0.32e2 * t1061 - 0.32e3 / 0.3e1 * t1063 + 0.256e4 / 0.3e1 * t1072 ); + v2sigma2 = rho * ( t1111 - t1113 + t1144 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1147 + t1149 + t1152 - t1157 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1163 + t1169 + t1172 - t1178 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + + + eps = t171 + t291 + t389; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t499 = t101 * t116; + constexpr double t509 = t115 * t129; + constexpr double t518 = t128 * t140; + constexpr double t528 = t140 * gamma_ss; + constexpr double t529 = t139 * t528; + constexpr double t661 = t13 * t16; + constexpr double t748 = t356 * t365; + constexpr double t757 = t364 * t373; + constexpr double t766 = t372 * t381; + constexpr double t775 = t381 * gamma_ab; + constexpr double t776 = t380 * t775; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t390 = 0.1e1 / t313; + const double t391 = t3 * t390; + const double t392 = t5 - t391; + const double t393 = piecewise_functor_3( t8, 0.0, t392 ); + const double t396 = 0.1e1 / t18 / t4; + const double t397 = t396 * t20; + const double t399 = t17 * t397 * t26; + const double t400 = 0.17808333333333333333e-1 * t399; + const double t401 = 0.1e1 / t317; + const double t404 = piecewise_functor_3( t8, 0.0, -t401 * t392 / 0.3e1 ); + const double t406 = t17 * t21 * t404; + const double t408 = -t400 + 0.53425e-1 * t406; + const double t410 = 0.621814e-1 * t408 * t52; + const double t411 = t48 * t48; + const double t412 = 0.1e1 / t411; + const double t413 = t30 * t412; + const double t414 = 0.1e1 / t31; + const double t415 = t399 / 0.3e1; + const double t416 = -t415 + t406; + const double t417 = t414 * t416; + const double t419 = 0.29896666666666666667e0 * t399; + const double t421 = safe_math::sqrt( t28 ); + const double t422 = t421 * t416; + const double t425 = 0.1e1 / t40 / t4; + const double t426 = t425 * t42; + const double t428 = t39 * t426 * t44; + const double t429 = 0.82156666666666666667e-1 * t428; + const double t430 = t26 * t404; + const double t432 = t39 * t43 * t430; + const double t434 = 0.1898925e1 * t417 - t419 + 0.8969e0 * t406 + 0.3071625e0 * t422 - t429 + 0.24647e0 * t432; + const double t435 = 0.1e1 / t51; + const double t436 = t434 * t435; + const double t438 = 0.1e1 * t413 * t436; + const double t439 = 0.17123333333333333333e-1 * t399; + const double t441 = -t439 + 0.5137e-1 * t406; + const double t444 = t72 * t72; + const double t445 = 0.1e1 / t444; + const double t446 = t67 * t445; + const double t448 = 0.516475e0 * t399; + const double t451 = 0.104195e0 * t428; + const double t453 = 0.3529725e1 * t417 - t448 + 0.1549425e1 * t406 + 0.6311625e0 * t422 - t451 + 0.312585e0 * t432; + const double t454 = 0.1e1 / t75; + const double t455 = t453 * t454; + const double t458 = 0.92708333333333333333e-2 * t399; + const double t460 = -t458 + 0.278125e-1 * t406; + const double t461 = t460 * t89; + const double t463 = t85 * t85; + const double t464 = 0.1e1 / t463; + const double t465 = t80 * t464; + const double t467 = 0.301925e0 * t399; + const double t470 = 0.82785e-1 * t428; + const double t472 = 0.258925e1 * t417 - t467 + 0.905775e0 * t406 + 0.16504875e0 * t422 - t470 + 0.248355e0 * t432; + const double t473 = 0.1e1 / t88; + const double t474 = t472 * t473; + const double t481 = t65 * t80; + const double t483 = t464 * t472 * t473; + const double t486 = -t410 + t438 + t65 * ( -0.310907e-1 * t441 * t76 + 0.1e1 * t446 * t455 + t410 - t438 - 0.19751673498613801407e-1 * t461 + 0.5848223622634646207e0 * t465 * t474 ) + 0.19751673498613801407e-1 * t65 * t461 - 0.5848223622634646207e0 * t481 * t483; + const double t490 = piecewise_functor_3( t9, 0.0, t10 * t486 / 0.2e1 + t393 * t96 / 0.2e1 ); + const double t491 = t490 * t151; + const double t492 = t491 * t170; + const double t494 = 0.1e1 / t105 / t160; + const double t495 = sigma_aa * t494; + const double t500 = t119 * t103; + const double t502 = 0.1e1 / t104 / t500; + const double t504 = t118 * t502 * t125; + const double t510 = t132 * rho_a; + const double t511 = 0.1e1 / t510; + const double t513 = t131 * t511 * t136; + const double t519 = t132 * t160; + const double t521 = 0.1e1 / t105 / t519; + const double t523 = t142 * t521 * t148; + const double t530 = t142 * sigma_aa; + const double t531 = t132 * t500; + const double t533 = 0.1e1 / t104 / t531; + const double t536 = 0.1e1 / t147 / t111; + const double t540 = -0.8e1 / 0.3e1 * t102 * t495 * t112 + 0.8e1 / 0.3e1 * t499 * t504 - 0.16e2 / 0.3e1 * t117 * t504 + 0.16e2 / 0.3e1 * t509 * t513 - 0.8e1 * t130 * t513 + 0.8e1 * t518 * t523 - 0.32e2 / 0.3e1 * t141 * t523 + 0.32e2 / 0.3e1 * t529 * t530 * t533 * t536; + const double t541 = t99 * t540; + const double t542 = t541 * t170; + const double t543 = t152 * sigma_aa; + const double t544 = 0.1e1 / t103; + const double t546 = t544 * t155 * t169; + const double t547 = t543 * t546; + const double t548 = t547 / 0.8e1; + const double t549 = t152 * t158; + const double t551 = 0.1e1 / t104 / t119; + const double t553 = t165 * t168; + const double t554 = t159 * t551 * t553; + const double t555 = t549 * t554; + const double t556 = 0.4e2 / 0.3e1 * t555; + const double t557 = -t392; + const double t558 = piecewise_functor_3( t174, 0.0, t557 ); + const double t561 = t17 * t397 * t179; + const double t562 = 0.17808333333333333333e-1 * t561; + const double t563 = 0.1e1 / t319; + const double t566 = piecewise_functor_3( t174, 0.0, -t563 * t557 / 0.3e1 ); + const double t568 = t17 * t21 * t566; + const double t570 = -t562 + 0.53425e-1 * t568; + const double t572 = 0.621814e-1 * t570 * t197; + const double t573 = t193 * t193; + const double t574 = 0.1e1 / t573; + const double t575 = t183 * t574; + const double t576 = 0.1e1 / t184; + const double t577 = t561 / 0.3e1; + const double t578 = -t577 + t568; + const double t579 = t576 * t578; + const double t581 = 0.29896666666666666667e0 * t561; + const double t583 = safe_math::sqrt( t181 ); + const double t584 = t583 * t578; + const double t587 = t39 * t426 * t189; + const double t588 = 0.82156666666666666667e-1 * t587; + const double t589 = t179 * t566; + const double t591 = t39 * t43 * t589; + const double t593 = 0.1898925e1 * t579 - t581 + 0.8969e0 * t568 + 0.3071625e0 * t584 - t588 + 0.24647e0 * t591; + const double t594 = 0.1e1 / t196; + const double t595 = t593 * t594; + const double t597 = 0.1e1 * t575 * t595; + const double t598 = 0.17123333333333333333e-1 * t561; + const double t600 = -t598 + 0.5137e-1 * t568; + const double t603 = t206 * t206; + const double t604 = 0.1e1 / t603; + const double t605 = t201 * t604; + const double t607 = 0.516475e0 * t561; + const double t610 = 0.104195e0 * t587; + const double t612 = 0.3529725e1 * t579 - t607 + 0.1549425e1 * t568 + 0.6311625e0 * t584 - t610 + 0.312585e0 * t591; + const double t613 = 0.1e1 / t209; + const double t614 = t612 * t613; + const double t617 = 0.92708333333333333333e-2 * t561; + const double t619 = -t617 + 0.278125e-1 * t568; + const double t620 = t619 * t223; + const double t622 = t219 * t219; + const double t623 = 0.1e1 / t622; + const double t624 = t214 * t623; + const double t626 = 0.301925e0 * t561; + const double t629 = 0.82785e-1 * t587; + const double t631 = 0.258925e1 * t579 - t626 + 0.905775e0 * t568 + 0.16504875e0 * t584 - t629 + 0.248355e0 * t591; + const double t632 = 0.1e1 / t222; + const double t633 = t631 * t632; + const double t640 = t65 * t214; + const double t642 = t623 * t631 * t632; + const double t645 = -t572 + t597 + t65 * ( -0.310907e-1 * t600 * t210 + 0.1e1 * t605 * t614 + t572 - t597 - 0.19751673498613801407e-1 * t620 + 0.5848223622634646207e0 * t624 * t633 ) + 0.19751673498613801407e-1 * t65 * t620 - 0.5848223622634646207e0 * t640 * t642; + const double t649 = piecewise_functor_3( t175, 0.0, t176 * t645 / 0.2e1 + t558 * t230 / 0.2e1 ); + const double t650 = t649 * t273; + const double t651 = t650 * t290; + const double t652 = t16 * t396; + const double t655 = 0.11073470983333333333e-2 * t14 * t652 * t308; + const double t656 = t304 * t304; + const double t657 = 0.1e1 / t656; + const double t658 = t295 * t657; + const double t660 = 0.1e1 / t296 * t11; + const double t662 = t661 * t396; + const double t663 = t660 * t662; + const double t665 = t14 * t652; + const double t667 = safe_math::sqrt( t293 ); + const double t668 = t667 * t11; + const double t669 = t668 * t662; + const double t672 = t38 * t15 * t425; + const double t674 = -0.632975e0 * t663 - 0.29896666666666666667e0 * t665 - 0.1023875e0 * t669 - 0.82156666666666666667e-1 * t672; + const double t675 = 0.1e1 / t307; + const double t676 = t674 * t675; + const double t678 = 0.1e1 * t658 * t676; + const double t679 = t311 * t3; + const double t680 = t679 * t315; + const double t682 = 0.4e1 * t680 * t350; + const double t683 = t314 * t4; + const double t684 = 0.1e1 / t683; + const double t685 = t312 * t684; + const double t687 = 0.4e1 * t685 * t350; + const double t690 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t392 ); + const double t693 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t557 ); + const double t695 = ( t690 + t693 ) * t64; + const double t696 = t695 * t349; + const double t701 = t329 * t329; + const double t702 = 0.1e1 / t701; + const double t703 = t324 * t702; + const double t708 = -0.1176575e1 * t663 - 0.516475e0 * t665 - 0.2103875e0 * t669 - 0.104195e0 * t672; + const double t709 = 0.1e1 / t332; + const double t710 = t708 * t709; + const double t716 = t342 * t342; + const double t717 = 0.1e1 / t716; + const double t718 = t337 * t717; + const double t723 = -0.86308333333333333334e0 * t663 - 0.301925e0 * t665 - 0.5501625e-1 * t669 - 0.82785e-1 * t672; + const double t724 = 0.1e1 / t345; + const double t725 = t723 * t724; + const double t728 = 0.53237641966666666666e-3 * t14 * t652 * t333 + 0.1e1 * t703 * t710 - t655 - t678 + 0.18311447306006545054e-3 * t14 * t652 * t346 + 0.5848223622634646207e0 * t718 * t725; + const double t729 = t322 * t728; + const double t730 = t316 * t729; + const double t733 = t322 * t11; + const double t735 = t661 * t396 * t346; + const double t737 = 0.18311447306006545054e-3 * t733 * t735; + const double t738 = t322 * t337; + const double t740 = t717 * t723 * t724; + const double t742 = 0.5848223622634646207e0 * t738 * t740; + const double t743 = t655 + t678 + t682 - t687 + t316 * t696 + t730 + 0.19751673498613801407e-1 * t695 * t347 - t737 - t742 - t490 - t649; + const double t744 = t743 * t388; + const double t749 = t748 * t358; + const double t750 = t369 * sigma_aa; + const double t751 = t750 * t494; + const double t754 = t366 * t358; + const double t758 = t757 * t367; + const double t759 = t377 * sigma_aa; + const double t760 = t759 * t494; + const double t763 = t374 * t367; + const double t767 = t766 * t375; + const double t768 = t385 * sigma_aa; + const double t769 = t768 * t494; + const double t772 = t382 * t375; + const double t777 = t776 * t383; + const double t779 = 0.1e1 / t384 / t360; + const double t780 = t779 * sigma_aa; + const double t784 = -0.8e1 / 0.3e1 * t357 * t495 * t361 + 0.8e1 / 0.3e1 * t749 * t751 - 0.16e2 / 0.3e1 * t754 * t751 + 0.16e2 / 0.3e1 * t758 * t760 - 0.8e1 * t763 * t760 + 0.8e1 * t767 * t769 - 0.32e2 / 0.3e1 * t772 * t769 + 0.32e2 / 0.3e1 * t777 * t780 * t494; + const double t785 = t354 * t784; + const double t788 = -t5 - t391; + const double t789 = piecewise_functor_3( t8, 0.0, t788 ); + const double t793 = piecewise_functor_3( t8, 0.0, -t401 * t788 / 0.3e1 ); + const double t795 = t17 * t21 * t793; + const double t797 = -t400 + 0.53425e-1 * t795; + const double t799 = 0.621814e-1 * t797 * t52; + const double t800 = -t415 + t795; + const double t801 = t414 * t800; + const double t804 = t421 * t800; + const double t806 = t26 * t793; + const double t808 = t39 * t43 * t806; + const double t810 = 0.1898925e1 * t801 - t419 + 0.8969e0 * t795 + 0.3071625e0 * t804 - t429 + 0.24647e0 * t808; + const double t811 = t810 * t435; + const double t813 = 0.1e1 * t413 * t811; + const double t815 = -t439 + 0.5137e-1 * t795; + const double t822 = 0.3529725e1 * t801 - t448 + 0.1549425e1 * t795 + 0.6311625e0 * t804 - t451 + 0.312585e0 * t808; + const double t823 = t822 * t454; + const double t827 = -t458 + 0.278125e-1 * t795; + const double t828 = t827 * t89; + const double t834 = 0.258925e1 * t801 - t467 + 0.905775e0 * t795 + 0.16504875e0 * t804 - t470 + 0.248355e0 * t808; + const double t835 = t834 * t473; + const double t843 = t464 * t834 * t473; + const double t846 = -t799 + t813 + t65 * ( -0.310907e-1 * t815 * t76 + 0.1e1 * t446 * t823 + t799 - t813 - 0.19751673498613801407e-1 * t828 + 0.5848223622634646207e0 * t465 * t835 ) + 0.19751673498613801407e-1 * t65 * t828 - 0.5848223622634646207e0 * t481 * t843; + const double t850 = piecewise_functor_3( t9, 0.0, t10 * t846 / 0.2e1 + t789 * t96 / 0.2e1 ); + const double t851 = t850 * t151; + const double t852 = t851 * t170; + const double t853 = -t788; + const double t854 = piecewise_functor_3( t174, 0.0, t853 ); + const double t858 = piecewise_functor_3( t174, 0.0, -t563 * t853 / 0.3e1 ); + const double t860 = t17 * t21 * t858; + const double t862 = -t562 + 0.53425e-1 * t860; + const double t864 = 0.621814e-1 * t862 * t197; + const double t865 = -t577 + t860; + const double t866 = t576 * t865; + const double t869 = t583 * t865; + const double t871 = t179 * t858; + const double t873 = t39 * t43 * t871; + const double t875 = 0.1898925e1 * t866 - t581 + 0.8969e0 * t860 + 0.3071625e0 * t869 - t588 + 0.24647e0 * t873; + const double t876 = t875 * t594; + const double t878 = 0.1e1 * t575 * t876; + const double t880 = -t598 + 0.5137e-1 * t860; + const double t887 = 0.3529725e1 * t866 - t607 + 0.1549425e1 * t860 + 0.6311625e0 * t869 - t610 + 0.312585e0 * t873; + const double t888 = t887 * t613; + const double t892 = -t617 + 0.278125e-1 * t860; + const double t893 = t892 * t223; + const double t899 = 0.258925e1 * t866 - t626 + 0.905775e0 * t860 + 0.16504875e0 * t869 - t629 + 0.248355e0 * t873; + const double t900 = t899 * t632; + const double t908 = t623 * t899 * t632; + const double t911 = -t864 + t878 + t65 * ( -0.310907e-1 * t880 * t210 + 0.1e1 * t605 * t888 + t864 - t878 - 0.19751673498613801407e-1 * t893 + 0.5848223622634646207e0 * t624 * t900 ) + 0.19751673498613801407e-1 * t65 * t893 - 0.5848223622634646207e0 * t640 * t908; + const double t915 = piecewise_functor_3( t175, 0.0, t176 * t911 / 0.2e1 + t854 * t230 / 0.2e1 ); + const double t916 = t915 * t273; + const double t917 = t916 * t290; + const double t919 = 0.1e1 / t236 / t282; + const double t920 = sigma_bb * t919; + const double t924 = t247 * t234; + const double t926 = 0.1e1 / t235 / t924; + const double t928 = t246 * t926 * t253; + const double t933 = t257 * rho_b; + const double t934 = 0.1e1 / t933; + const double t936 = t256 * t934 * t261; + const double t941 = t257 * t282; + const double t943 = 0.1e1 / t236 / t941; + const double t945 = t264 * t943 * t270; + const double t950 = t264 * sigma_bb; + const double t951 = t257 * t924; + const double t953 = 0.1e1 / t235 / t951; + const double t956 = 0.1e1 / t269 / t242; + const double t960 = -0.8e1 / 0.3e1 * t102 * t920 * t243 + 0.8e1 / 0.3e1 * t499 * t928 - 0.16e2 / 0.3e1 * t117 * t928 + 0.16e2 / 0.3e1 * t509 * t936 - 0.8e1 * t130 * t936 + 0.8e1 * t518 * t945 - 0.32e2 / 0.3e1 * t141 * t945 + 0.32e2 / 0.3e1 * t529 * t950 * t953 * t956; + const double t961 = t233 * t960; + const double t962 = t961 * t290; + const double t963 = t274 * sigma_bb; + const double t964 = 0.1e1 / t234; + const double t966 = t964 * t277 * t289; + const double t967 = t963 * t966; + const double t968 = t967 / 0.8e1; + const double t969 = t274 * t280; + const double t971 = 0.1e1 / t235 / t247; + const double t973 = t165 * t288; + const double t974 = t281 * t971 * t973; + const double t975 = t969 * t974; + const double t976 = 0.4e2 / 0.3e1 * t975; + const double t979 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t788 ); + const double t982 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t853 ); + const double t984 = ( t979 + t982 ) * t64; + const double t985 = t984 * t349; + const double t989 = t655 + t678 - t682 - t687 + t316 * t985 + t730 + 0.19751673498613801407e-1 * t984 * t347 - t737 - t742 - t850 - t915; + const double t990 = t989 * t388; + const double t994 = t369 * sigma_bb; + const double t995 = t994 * t919; + const double t1000 = t377 * sigma_bb; + const double t1001 = t1000 * t919; + const double t1006 = t385 * sigma_bb; + const double t1007 = t1006 * t919; + const double t1012 = t779 * sigma_bb; + const double t1016 = -0.8e1 / 0.3e1 * t357 * t920 * t361 + 0.8e1 / 0.3e1 * t749 * t995 - 0.16e2 / 0.3e1 * t754 * t995 + 0.16e2 / 0.3e1 * t758 * t1001 - 0.8e1 * t763 * t1001 + 0.8e1 * t767 * t1007 - 0.32e2 / 0.3e1 * t772 * t1007 + 0.32e2 / 0.3e1 * t777 * t1012 * t919; + const double t1017 = t354 * t1016; + const double t1023 = sigma_aa * t122 * t125; + const double t1028 = t118 * t133 * t136; + const double t1034 = t131 * t145 * t148; + const double t1039 = t132 * t120; + const double t1041 = 0.1e1 / t104 / t1039; + const double t1046 = -0.4e1 * t529 * t142 * t1041 * t536 + t102 * t107 * t112 + 0.2e1 * t117 * t1023 - t499 * t1023 + 0.3e1 * t130 * t1028 - 0.2e1 * t509 * t1028 + 0.4e1 * t141 * t1034 - 0.3e1 * t518 * t1034; + const double t1047 = t99 * t1046; + const double t1048 = t1047 * t170; + const double t1050 = t153 * t155 * t169; + const double t1052 = t152 * t1050 / 0.8e1; + const double t1055 = t358 * t369; + const double t1056 = t1055 * t107; + const double t1060 = t367 * t377; + const double t1061 = t1060 * t107; + const double t1066 = t375 * t385; + const double t1067 = t1066 * t107; + const double t1072 = t383 * t779; + const double t1076 = -0.4e1 * t776 * t1072 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1056 - t748 * t1056 + 0.3e1 * t374 * t1061 - 0.2e1 * t757 * t1061 + 0.4e1 * t382 * t1067 - 0.3e1 * t766 * t1067; + const double t1077 = t354 * t1076; + const double t1082 = sigma_bb * t250 * t253; + const double t1087 = t246 * t258 * t261; + const double t1093 = t256 * t267 * t270; + const double t1098 = t257 * t248; + const double t1100 = 0.1e1 / t235 / t1098; + const double t1105 = -0.4e1 * t529 * t264 * t1100 * t956 + t102 * t238 * t243 + 0.2e1 * t117 * t1082 - t499 * t1082 + 0.3e1 * t130 * t1087 - 0.2e1 * t509 * t1087 + 0.4e1 * t141 * t1093 - 0.3e1 * t518 * t1093; + const double t1106 = t233 * t1105; + const double t1107 = t1106 * t290; + const double t1109 = t275 * t277 * t289; + const double t1111 = t274 * t1109 / 0.8e1; + const double t1114 = t1055 * t238; + const double t1118 = t1060 * t238; + const double t1123 = t1066 * t238; + const double t1131 = -0.4e1 * t776 * t1072 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1114 - t748 * t1114 + 0.3e1 * t374 * t1118 - 0.2e1 * t757 * t1118 + 0.4e1 * t382 * t1123 - 0.3e1 * t766 * t1123; + const double t1132 = t354 * t1131; + const double t1134 = 0.1e1 / t159; + const double t1136 = t153 * t1134 * t169; + const double t1138 = t543 * t1136 / 0.8e1; + const double t1140 = tau_a * t162 * t553; + const double t1142 = 0.8e1 * t549 * t1140; + const double t1144 = 0.1e1 / t281; + const double t1146 = t275 * t1144 * t289; + const double t1148 = t963 * t1146 / 0.8e1; + const double t1150 = tau_b * t284 * t973; + const double t1152 = 0.8e1 * t969 * t1150; + + + eps = t171 + t291 + t389; + vrho_a = t171 + t291 + t389 + t4 * ( t492 + t542 + t548 - t556 + t651 + t744 + t785 ); + vrho_b = t171 + t291 + t389 + t4 * ( t852 + t917 + t962 + t968 - t976 + t990 + t1017 ); + vsigma_aa = t4 * ( t1048 - t1052 + t1077 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1107 - t1111 + t1132 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1138 + t1142 ); + vtau_b = t4 * ( t1148 + t1152 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t499 = t101 * t116; + constexpr double t509 = t115 * t129; + constexpr double t518 = t128 * t140; + constexpr double t528 = t140 * gamma_ss; + constexpr double t529 = t139 * t528; + constexpr double t661 = t13 * t16; + constexpr double t748 = t356 * t365; + constexpr double t757 = t364 * t373; + constexpr double t766 = t372 * t381; + constexpr double t775 = t381 * gamma_ab; + constexpr double t776 = t380 * t775; + constexpr double t1378 = t101 * t129; + constexpr double t1388 = t115 * t140; + constexpr double t1400 = t128 * t528; + constexpr double t1412 = t140 * t116; + constexpr double t1413 = t139 * t1412; + constexpr double t1450 = t164 * t164; + constexpr double t1451 = 0.1e1 / t1450; + constexpr double t1651 = t37 * t15; + constexpr double t1838 = t356 * t373; + constexpr double t1854 = t364 * t381; + constexpr double t1871 = t372 * t775; + constexpr double t1888 = t381 * t365; + constexpr double t1889 = t380 * t1888; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t390 = 0.1e1 / t313; + const double t391 = t3 * t390; + const double t392 = t5 - t391; + const double t393 = piecewise_functor_3( t8, 0.0, t392 ); + const double t396 = 0.1e1 / t18 / t4; + const double t397 = t396 * t20; + const double t399 = t17 * t397 * t26; + const double t400 = 0.17808333333333333333e-1 * t399; + const double t401 = 0.1e1 / t317; + const double t404 = piecewise_functor_3( t8, 0.0, -t401 * t392 / 0.3e1 ); + const double t406 = t17 * t21 * t404; + const double t408 = -t400 + 0.53425e-1 * t406; + const double t410 = 0.621814e-1 * t408 * t52; + const double t411 = t48 * t48; + const double t412 = 0.1e1 / t411; + const double t413 = t30 * t412; + const double t414 = 0.1e1 / t31; + const double t415 = t399 / 0.3e1; + const double t416 = -t415 + t406; + const double t417 = t414 * t416; + const double t419 = 0.29896666666666666667e0 * t399; + const double t421 = safe_math::sqrt( t28 ); + const double t422 = t421 * t416; + const double t425 = 0.1e1 / t40 / t4; + const double t426 = t425 * t42; + const double t428 = t39 * t426 * t44; + const double t429 = 0.82156666666666666667e-1 * t428; + const double t430 = t26 * t404; + const double t432 = t39 * t43 * t430; + const double t434 = 0.1898925e1 * t417 - t419 + 0.8969e0 * t406 + 0.3071625e0 * t422 - t429 + 0.24647e0 * t432; + const double t435 = 0.1e1 / t51; + const double t436 = t434 * t435; + const double t438 = 0.1e1 * t413 * t436; + const double t439 = 0.17123333333333333333e-1 * t399; + const double t441 = -t439 + 0.5137e-1 * t406; + const double t444 = t72 * t72; + const double t445 = 0.1e1 / t444; + const double t446 = t67 * t445; + const double t448 = 0.516475e0 * t399; + const double t451 = 0.104195e0 * t428; + const double t453 = 0.3529725e1 * t417 - t448 + 0.1549425e1 * t406 + 0.6311625e0 * t422 - t451 + 0.312585e0 * t432; + const double t454 = 0.1e1 / t75; + const double t455 = t453 * t454; + const double t458 = 0.92708333333333333333e-2 * t399; + const double t460 = -t458 + 0.278125e-1 * t406; + const double t461 = t460 * t89; + const double t463 = t85 * t85; + const double t464 = 0.1e1 / t463; + const double t465 = t80 * t464; + const double t467 = 0.301925e0 * t399; + const double t470 = 0.82785e-1 * t428; + const double t472 = 0.258925e1 * t417 - t467 + 0.905775e0 * t406 + 0.16504875e0 * t422 - t470 + 0.248355e0 * t432; + const double t473 = 0.1e1 / t88; + const double t474 = t472 * t473; + const double t481 = t65 * t80; + const double t483 = t464 * t472 * t473; + const double t486 = -t410 + t438 + t65 * ( -0.310907e-1 * t441 * t76 + 0.1e1 * t446 * t455 + t410 - t438 - 0.19751673498613801407e-1 * t461 + 0.5848223622634646207e0 * t465 * t474 ) + 0.19751673498613801407e-1 * t65 * t461 - 0.5848223622634646207e0 * t481 * t483; + const double t490 = piecewise_functor_3( t9, 0.0, t10 * t486 / 0.2e1 + t393 * t96 / 0.2e1 ); + const double t491 = t490 * t151; + const double t492 = t491 * t170; + const double t494 = 0.1e1 / t105 / t160; + const double t495 = sigma_aa * t494; + const double t500 = t119 * t103; + const double t502 = 0.1e1 / t104 / t500; + const double t504 = t118 * t502 * t125; + const double t510 = t132 * rho_a; + const double t511 = 0.1e1 / t510; + const double t513 = t131 * t511 * t136; + const double t519 = t132 * t160; + const double t521 = 0.1e1 / t105 / t519; + const double t523 = t142 * t521 * t148; + const double t530 = t142 * sigma_aa; + const double t531 = t132 * t500; + const double t533 = 0.1e1 / t104 / t531; + const double t536 = 0.1e1 / t147 / t111; + const double t540 = -0.8e1 / 0.3e1 * t102 * t495 * t112 + 0.8e1 / 0.3e1 * t499 * t504 - 0.16e2 / 0.3e1 * t117 * t504 + 0.16e2 / 0.3e1 * t509 * t513 - 0.8e1 * t130 * t513 + 0.8e1 * t518 * t523 - 0.32e2 / 0.3e1 * t141 * t523 + 0.32e2 / 0.3e1 * t529 * t530 * t533 * t536; + const double t541 = t99 * t540; + const double t542 = t541 * t170; + const double t543 = t152 * sigma_aa; + const double t544 = 0.1e1 / t103; + const double t546 = t544 * t155 * t169; + const double t547 = t543 * t546; + const double t548 = t547 / 0.8e1; + const double t549 = t152 * t158; + const double t551 = 0.1e1 / t104 / t119; + const double t553 = t165 * t168; + const double t554 = t159 * t551 * t553; + const double t555 = t549 * t554; + const double t556 = 0.4e2 / 0.3e1 * t555; + const double t557 = -t392; + const double t558 = piecewise_functor_3( t174, 0.0, t557 ); + const double t561 = t17 * t397 * t179; + const double t562 = 0.17808333333333333333e-1 * t561; + const double t563 = 0.1e1 / t319; + const double t566 = piecewise_functor_3( t174, 0.0, -t563 * t557 / 0.3e1 ); + const double t568 = t17 * t21 * t566; + const double t570 = -t562 + 0.53425e-1 * t568; + const double t572 = 0.621814e-1 * t570 * t197; + const double t573 = t193 * t193; + const double t574 = 0.1e1 / t573; + const double t575 = t183 * t574; + const double t576 = 0.1e1 / t184; + const double t577 = t561 / 0.3e1; + const double t578 = -t577 + t568; + const double t579 = t576 * t578; + const double t581 = 0.29896666666666666667e0 * t561; + const double t583 = safe_math::sqrt( t181 ); + const double t584 = t583 * t578; + const double t587 = t39 * t426 * t189; + const double t588 = 0.82156666666666666667e-1 * t587; + const double t589 = t179 * t566; + const double t591 = t39 * t43 * t589; + const double t593 = 0.1898925e1 * t579 - t581 + 0.8969e0 * t568 + 0.3071625e0 * t584 - t588 + 0.24647e0 * t591; + const double t594 = 0.1e1 / t196; + const double t595 = t593 * t594; + const double t597 = 0.1e1 * t575 * t595; + const double t598 = 0.17123333333333333333e-1 * t561; + const double t600 = -t598 + 0.5137e-1 * t568; + const double t603 = t206 * t206; + const double t604 = 0.1e1 / t603; + const double t605 = t201 * t604; + const double t607 = 0.516475e0 * t561; + const double t610 = 0.104195e0 * t587; + const double t612 = 0.3529725e1 * t579 - t607 + 0.1549425e1 * t568 + 0.6311625e0 * t584 - t610 + 0.312585e0 * t591; + const double t613 = 0.1e1 / t209; + const double t614 = t612 * t613; + const double t617 = 0.92708333333333333333e-2 * t561; + const double t619 = -t617 + 0.278125e-1 * t568; + const double t620 = t619 * t223; + const double t622 = t219 * t219; + const double t623 = 0.1e1 / t622; + const double t624 = t214 * t623; + const double t626 = 0.301925e0 * t561; + const double t629 = 0.82785e-1 * t587; + const double t631 = 0.258925e1 * t579 - t626 + 0.905775e0 * t568 + 0.16504875e0 * t584 - t629 + 0.248355e0 * t591; + const double t632 = 0.1e1 / t222; + const double t633 = t631 * t632; + const double t640 = t65 * t214; + const double t642 = t623 * t631 * t632; + const double t645 = -t572 + t597 + t65 * ( -0.310907e-1 * t600 * t210 + 0.1e1 * t605 * t614 + t572 - t597 - 0.19751673498613801407e-1 * t620 + 0.5848223622634646207e0 * t624 * t633 ) + 0.19751673498613801407e-1 * t65 * t620 - 0.5848223622634646207e0 * t640 * t642; + const double t649 = piecewise_functor_3( t175, 0.0, t176 * t645 / 0.2e1 + t558 * t230 / 0.2e1 ); + const double t650 = t649 * t273; + const double t651 = t650 * t290; + const double t652 = t16 * t396; + const double t655 = 0.11073470983333333333e-2 * t14 * t652 * t308; + const double t656 = t304 * t304; + const double t657 = 0.1e1 / t656; + const double t658 = t295 * t657; + const double t660 = 0.1e1 / t296 * t11; + const double t662 = t661 * t396; + const double t663 = t660 * t662; + const double t665 = t14 * t652; + const double t667 = safe_math::sqrt( t293 ); + const double t668 = t667 * t11; + const double t669 = t668 * t662; + const double t672 = t38 * t15 * t425; + const double t674 = -0.632975e0 * t663 - 0.29896666666666666667e0 * t665 - 0.1023875e0 * t669 - 0.82156666666666666667e-1 * t672; + const double t675 = 0.1e1 / t307; + const double t676 = t674 * t675; + const double t678 = 0.1e1 * t658 * t676; + const double t679 = t311 * t3; + const double t680 = t679 * t315; + const double t682 = 0.4e1 * t680 * t350; + const double t683 = t314 * t4; + const double t684 = 0.1e1 / t683; + const double t685 = t312 * t684; + const double t687 = 0.4e1 * t685 * t350; + const double t690 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t392 ); + const double t693 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t557 ); + const double t695 = ( t690 + t693 ) * t64; + const double t696 = t695 * t349; + const double t701 = t329 * t329; + const double t702 = 0.1e1 / t701; + const double t703 = t324 * t702; + const double t708 = -0.1176575e1 * t663 - 0.516475e0 * t665 - 0.2103875e0 * t669 - 0.104195e0 * t672; + const double t709 = 0.1e1 / t332; + const double t710 = t708 * t709; + const double t716 = t342 * t342; + const double t717 = 0.1e1 / t716; + const double t718 = t337 * t717; + const double t723 = -0.86308333333333333334e0 * t663 - 0.301925e0 * t665 - 0.5501625e-1 * t669 - 0.82785e-1 * t672; + const double t724 = 0.1e1 / t345; + const double t725 = t723 * t724; + const double t728 = 0.53237641966666666666e-3 * t14 * t652 * t333 + 0.1e1 * t703 * t710 - t655 - t678 + 0.18311447306006545054e-3 * t14 * t652 * t346 + 0.5848223622634646207e0 * t718 * t725; + const double t729 = t322 * t728; + const double t730 = t316 * t729; + const double t733 = t322 * t11; + const double t735 = t661 * t396 * t346; + const double t737 = 0.18311447306006545054e-3 * t733 * t735; + const double t738 = t322 * t337; + const double t740 = t717 * t723 * t724; + const double t742 = 0.5848223622634646207e0 * t738 * t740; + const double t743 = t655 + t678 + t682 - t687 + t316 * t696 + t730 + 0.19751673498613801407e-1 * t695 * t347 - t737 - t742 - t490 - t649; + const double t744 = t743 * t388; + const double t749 = t748 * t358; + const double t750 = t369 * sigma_aa; + const double t751 = t750 * t494; + const double t754 = t366 * t358; + const double t758 = t757 * t367; + const double t759 = t377 * sigma_aa; + const double t760 = t759 * t494; + const double t763 = t374 * t367; + const double t767 = t766 * t375; + const double t768 = t385 * sigma_aa; + const double t769 = t768 * t494; + const double t772 = t382 * t375; + const double t777 = t776 * t383; + const double t779 = 0.1e1 / t384 / t360; + const double t780 = t779 * sigma_aa; + const double t784 = -0.8e1 / 0.3e1 * t357 * t495 * t361 + 0.8e1 / 0.3e1 * t749 * t751 - 0.16e2 / 0.3e1 * t754 * t751 + 0.16e2 / 0.3e1 * t758 * t760 - 0.8e1 * t763 * t760 + 0.8e1 * t767 * t769 - 0.32e2 / 0.3e1 * t772 * t769 + 0.32e2 / 0.3e1 * t777 * t780 * t494; + const double t785 = t354 * t784; + const double t788 = -t5 - t391; + const double t789 = piecewise_functor_3( t8, 0.0, t788 ); + const double t793 = piecewise_functor_3( t8, 0.0, -t401 * t788 / 0.3e1 ); + const double t795 = t17 * t21 * t793; + const double t797 = -t400 + 0.53425e-1 * t795; + const double t799 = 0.621814e-1 * t797 * t52; + const double t800 = -t415 + t795; + const double t801 = t414 * t800; + const double t804 = t421 * t800; + const double t806 = t26 * t793; + const double t808 = t39 * t43 * t806; + const double t810 = 0.1898925e1 * t801 - t419 + 0.8969e0 * t795 + 0.3071625e0 * t804 - t429 + 0.24647e0 * t808; + const double t811 = t810 * t435; + const double t813 = 0.1e1 * t413 * t811; + const double t815 = -t439 + 0.5137e-1 * t795; + const double t822 = 0.3529725e1 * t801 - t448 + 0.1549425e1 * t795 + 0.6311625e0 * t804 - t451 + 0.312585e0 * t808; + const double t823 = t822 * t454; + const double t827 = -t458 + 0.278125e-1 * t795; + const double t828 = t827 * t89; + const double t834 = 0.258925e1 * t801 - t467 + 0.905775e0 * t795 + 0.16504875e0 * t804 - t470 + 0.248355e0 * t808; + const double t835 = t834 * t473; + const double t843 = t464 * t834 * t473; + const double t846 = -t799 + t813 + t65 * ( -0.310907e-1 * t815 * t76 + 0.1e1 * t446 * t823 + t799 - t813 - 0.19751673498613801407e-1 * t828 + 0.5848223622634646207e0 * t465 * t835 ) + 0.19751673498613801407e-1 * t65 * t828 - 0.5848223622634646207e0 * t481 * t843; + const double t850 = piecewise_functor_3( t9, 0.0, t10 * t846 / 0.2e1 + t789 * t96 / 0.2e1 ); + const double t851 = t850 * t151; + const double t852 = t851 * t170; + const double t853 = -t788; + const double t854 = piecewise_functor_3( t174, 0.0, t853 ); + const double t858 = piecewise_functor_3( t174, 0.0, -t563 * t853 / 0.3e1 ); + const double t860 = t17 * t21 * t858; + const double t862 = -t562 + 0.53425e-1 * t860; + const double t864 = 0.621814e-1 * t862 * t197; + const double t865 = -t577 + t860; + const double t866 = t576 * t865; + const double t869 = t583 * t865; + const double t871 = t179 * t858; + const double t873 = t39 * t43 * t871; + const double t875 = 0.1898925e1 * t866 - t581 + 0.8969e0 * t860 + 0.3071625e0 * t869 - t588 + 0.24647e0 * t873; + const double t876 = t875 * t594; + const double t878 = 0.1e1 * t575 * t876; + const double t880 = -t598 + 0.5137e-1 * t860; + const double t887 = 0.3529725e1 * t866 - t607 + 0.1549425e1 * t860 + 0.6311625e0 * t869 - t610 + 0.312585e0 * t873; + const double t888 = t887 * t613; + const double t892 = -t617 + 0.278125e-1 * t860; + const double t893 = t892 * t223; + const double t899 = 0.258925e1 * t866 - t626 + 0.905775e0 * t860 + 0.16504875e0 * t869 - t629 + 0.248355e0 * t873; + const double t900 = t899 * t632; + const double t908 = t623 * t899 * t632; + const double t911 = -t864 + t878 + t65 * ( -0.310907e-1 * t880 * t210 + 0.1e1 * t605 * t888 + t864 - t878 - 0.19751673498613801407e-1 * t893 + 0.5848223622634646207e0 * t624 * t900 ) + 0.19751673498613801407e-1 * t65 * t893 - 0.5848223622634646207e0 * t640 * t908; + const double t915 = piecewise_functor_3( t175, 0.0, t176 * t911 / 0.2e1 + t854 * t230 / 0.2e1 ); + const double t916 = t915 * t273; + const double t917 = t916 * t290; + const double t919 = 0.1e1 / t236 / t282; + const double t920 = sigma_bb * t919; + const double t924 = t247 * t234; + const double t926 = 0.1e1 / t235 / t924; + const double t928 = t246 * t926 * t253; + const double t933 = t257 * rho_b; + const double t934 = 0.1e1 / t933; + const double t936 = t256 * t934 * t261; + const double t941 = t257 * t282; + const double t943 = 0.1e1 / t236 / t941; + const double t945 = t264 * t943 * t270; + const double t950 = t264 * sigma_bb; + const double t951 = t257 * t924; + const double t953 = 0.1e1 / t235 / t951; + const double t956 = 0.1e1 / t269 / t242; + const double t960 = -0.8e1 / 0.3e1 * t102 * t920 * t243 + 0.8e1 / 0.3e1 * t499 * t928 - 0.16e2 / 0.3e1 * t117 * t928 + 0.16e2 / 0.3e1 * t509 * t936 - 0.8e1 * t130 * t936 + 0.8e1 * t518 * t945 - 0.32e2 / 0.3e1 * t141 * t945 + 0.32e2 / 0.3e1 * t529 * t950 * t953 * t956; + const double t961 = t233 * t960; + const double t962 = t961 * t290; + const double t963 = t274 * sigma_bb; + const double t964 = 0.1e1 / t234; + const double t966 = t964 * t277 * t289; + const double t967 = t963 * t966; + const double t968 = t967 / 0.8e1; + const double t969 = t274 * t280; + const double t971 = 0.1e1 / t235 / t247; + const double t973 = t165 * t288; + const double t974 = t281 * t971 * t973; + const double t975 = t969 * t974; + const double t976 = 0.4e2 / 0.3e1 * t975; + const double t979 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t788 ); + const double t982 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t853 ); + const double t984 = ( t979 + t982 ) * t64; + const double t985 = t984 * t349; + const double t989 = t655 + t678 - t682 - t687 + t316 * t985 + t730 + 0.19751673498613801407e-1 * t984 * t347 - t737 - t742 - t850 - t915; + const double t990 = t989 * t388; + const double t994 = t369 * sigma_bb; + const double t995 = t994 * t919; + const double t1000 = t377 * sigma_bb; + const double t1001 = t1000 * t919; + const double t1006 = t385 * sigma_bb; + const double t1007 = t1006 * t919; + const double t1012 = t779 * sigma_bb; + const double t1016 = -0.8e1 / 0.3e1 * t357 * t920 * t361 + 0.8e1 / 0.3e1 * t749 * t995 - 0.16e2 / 0.3e1 * t754 * t995 + 0.16e2 / 0.3e1 * t758 * t1001 - 0.8e1 * t763 * t1001 + 0.8e1 * t767 * t1007 - 0.32e2 / 0.3e1 * t772 * t1007 + 0.32e2 / 0.3e1 * t777 * t1012 * t919; + const double t1017 = t354 * t1016; + const double t1023 = sigma_aa * t122 * t125; + const double t1028 = t118 * t133 * t136; + const double t1034 = t131 * t145 * t148; + const double t1039 = t132 * t120; + const double t1041 = 0.1e1 / t104 / t1039; + const double t1046 = -0.4e1 * t529 * t142 * t1041 * t536 + t102 * t107 * t112 + 0.2e1 * t117 * t1023 - t499 * t1023 + 0.3e1 * t130 * t1028 - 0.2e1 * t509 * t1028 + 0.4e1 * t141 * t1034 - 0.3e1 * t518 * t1034; + const double t1047 = t99 * t1046; + const double t1048 = t1047 * t170; + const double t1050 = t153 * t155 * t169; + const double t1052 = t152 * t1050 / 0.8e1; + const double t1055 = t358 * t369; + const double t1056 = t1055 * t107; + const double t1060 = t367 * t377; + const double t1061 = t1060 * t107; + const double t1066 = t375 * t385; + const double t1067 = t1066 * t107; + const double t1072 = t383 * t779; + const double t1076 = -0.4e1 * t776 * t1072 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1056 - t748 * t1056 + 0.3e1 * t374 * t1061 - 0.2e1 * t757 * t1061 + 0.4e1 * t382 * t1067 - 0.3e1 * t766 * t1067; + const double t1077 = t354 * t1076; + const double t1082 = sigma_bb * t250 * t253; + const double t1087 = t246 * t258 * t261; + const double t1093 = t256 * t267 * t270; + const double t1098 = t257 * t248; + const double t1100 = 0.1e1 / t235 / t1098; + const double t1105 = -0.4e1 * t529 * t264 * t1100 * t956 + t102 * t238 * t243 + 0.2e1 * t117 * t1082 - t499 * t1082 + 0.3e1 * t130 * t1087 - 0.2e1 * t509 * t1087 + 0.4e1 * t141 * t1093 - 0.3e1 * t518 * t1093; + const double t1106 = t233 * t1105; + const double t1107 = t1106 * t290; + const double t1109 = t275 * t277 * t289; + const double t1111 = t274 * t1109 / 0.8e1; + const double t1114 = t1055 * t238; + const double t1118 = t1060 * t238; + const double t1123 = t1066 * t238; + const double t1131 = -0.4e1 * t776 * t1072 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1114 - t748 * t1114 + 0.3e1 * t374 * t1118 - 0.2e1 * t757 * t1118 + 0.4e1 * t382 * t1123 - 0.3e1 * t766 * t1123; + const double t1132 = t354 * t1131; + const double t1134 = 0.1e1 / t159; + const double t1136 = t153 * t1134 * t169; + const double t1138 = t543 * t1136 / 0.8e1; + const double t1140 = tau_a * t162 * t553; + const double t1142 = 0.8e1 * t549 * t1140; + const double t1144 = 0.1e1 / t281; + const double t1146 = t275 * t1144 * t289; + const double t1148 = t963 * t1146 / 0.8e1; + const double t1150 = tau_b * t284 * t973; + const double t1152 = 0.8e1 * t969 * t1150; + const double t1161 = t313 * t4; + const double t1162 = 0.1e1 / t1161; + const double t1163 = t3 * t1162; + const double t1165 = -0.2e1 * t390 + 0.2e1 * t1163; + const double t1166 = piecewise_functor_3( t8, 0.0, t1165 ); + const double t1171 = 0.1e1 / t18 / t313; + const double t1172 = t1171 * t20; + const double t1174 = t17 * t1172 * t26; + const double t1175 = 0.23744444444444444444e-1 * t1174; + const double t1177 = t17 * t397 * t404; + const double t1179 = t7 * t7; + const double t1181 = 0.1e1 / t24 / t1179; + const double t1182 = t392 * t392; + const double t1188 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t1182 - t401 * t1165 / 0.3e1 ); + const double t1190 = t17 * t21 * t1188; + const double t1192 = t1175 - 0.35616666666666666666e-1 * t1177 + 0.53425e-1 * t1190; + const double t1194 = 0.621814e-1 * t1192 * t52; + const double t1195 = t408 * t412; + const double t1197 = 0.2e1 * t1195 * t436; + const double t1198 = t411 * t48; + const double t1199 = 0.1e1 / t1198; + const double t1200 = t30 * t1199; + const double t1201 = t434 * t434; + const double t1202 = t1201 * t435; + const double t1204 = 0.2e1 * t1200 * t1202; + const double t1206 = 0.1e1 / t31 / t28; + const double t1207 = t416 * t416; + const double t1208 = t1206 * t1207; + const double t1210 = 0.4e1 / 0.9e1 * t1174; + const double t1212 = t1210 - 0.2e1 / 0.3e1 * t1177 + t1190; + const double t1213 = t414 * t1212; + const double t1215 = 0.39862222222222222223e0 * t1174; + const double t1218 = 0.1e1/safe_math::sqrt( t28 ); + const double t1219 = t1218 * t1207; + const double t1221 = t421 * t1212; + const double t1224 = 0.1e1 / t40 / t313; + const double t1225 = t1224 * t42; + const double t1227 = t39 * t1225 * t44; + const double t1228 = 0.13692777777777777778e0 * t1227; + const double t1230 = t39 * t426 * t430; + const double t1232 = t404 * t404; + const double t1234 = t39 * t43 * t1232; + const double t1236 = t26 * t1188; + const double t1238 = t39 * t43 * t1236; + const double t1240 = -0.9494625e0 * t1208 + 0.1898925e1 * t1213 + t1215 - 0.59793333333333333334e0 * t1177 + 0.8969e0 * t1190 + 0.15358125e0 * t1219 + 0.3071625e0 * t1221 + t1228 - 0.32862666666666666666e0 * t1230 + 0.24647e0 * t1234 + 0.24647e0 * t1238; + const double t1241 = t1240 * t435; + const double t1243 = 0.1e1 * t413 * t1241; + const double t1244 = t411 * t411; + const double t1245 = 0.1e1 / t1244; + const double t1246 = t30 * t1245; + const double t1247 = t51 * t51; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1201 * t1248; + const double t1251 = 0.16081979498692535067e2 * t1246 * t1249; + const double t1252 = 0.22831111111111111111e-1 * t1174; + const double t1255 = t1252 - 0.34246666666666666666e-1 * t1177 + 0.5137e-1 * t1190; + const double t1258 = t441 * t445; + const double t1261 = t444 * t72; + const double t1262 = 0.1e1 / t1261; + const double t1263 = t67 * t1262; + const double t1264 = t453 * t453; + const double t1265 = t1264 * t454; + const double t1270 = 0.68863333333333333333e0 * t1174; + const double t1275 = 0.17365833333333333333e0 * t1227; + const double t1279 = -0.17648625e1 * t1208 + 0.3529725e1 * t1213 + t1270 - 0.103295e1 * t1177 + 0.1549425e1 * t1190 + 0.31558125e0 * t1219 + 0.6311625e0 * t1221 + t1275 - 0.41678e0 * t1230 + 0.312585e0 * t1234 + 0.312585e0 * t1238; + const double t1280 = t1279 * t454; + const double t1283 = t444 * t444; + const double t1284 = 0.1e1 / t1283; + const double t1285 = t67 * t1284; + const double t1286 = t75 * t75; + const double t1287 = 0.1e1 / t1286; + const double t1288 = t1264 * t1287; + const double t1291 = 0.12361111111111111111e-1 * t1174; + const double t1294 = t1291 - 0.18541666666666666667e-1 * t1177 + 0.278125e-1 * t1190; + const double t1295 = t1294 * t89; + const double t1297 = t460 * t464; + const double t1300 = t463 * t85; + const double t1301 = 0.1e1 / t1300; + const double t1302 = t80 * t1301; + const double t1303 = t472 * t472; + const double t1304 = t1303 * t473; + const double t1309 = 0.40256666666666666667e0 * t1174; + const double t1314 = 0.137975e0 * t1227; + const double t1318 = -0.1294625e1 * t1208 + 0.258925e1 * t1213 + t1309 - 0.60385e0 * t1177 + 0.905775e0 * t1190 + 0.82524375e-1 * t1219 + 0.16504875e0 * t1221 + t1314 - 0.33114e0 * t1230 + 0.248355e0 * t1234 + 0.248355e0 * t1238; + const double t1319 = t1318 * t473; + const double t1322 = t463 * t463; + const double t1323 = 0.1e1 / t1322; + const double t1324 = t80 * t1323; + const double t1325 = t88 * t88; + const double t1326 = 0.1e1 / t1325; + const double t1327 = t1303 * t1326; + const double t1330 = -0.310907e-1 * t1255 * t76 + 0.2e1 * t1258 * t455 - 0.2e1 * t1263 * t1265 + 0.1e1 * t446 * t1280 + 0.32163958997385070134e2 * t1285 * t1288 + t1194 - t1197 + t1204 - t1243 - t1251 - 0.19751673498613801407e-1 * t1295 + 0.11696447245269292414e1 * t1297 * t474 - 0.11696447245269292414e1 * t1302 * t1304 + 0.5848223622634646207e0 * t465 * t1319 + 0.17315859105681463759e2 * t1324 * t1327; + const double t1334 = t65 * t460; + const double t1338 = t1301 * t1303 * t473; + const double t1342 = t464 * t1318 * t473; + const double t1345 = t1323 * t1303; + const double t1346 = t1345 * t1326; + const double t1349 = -t1194 + t1197 - t1204 + t1243 + t1251 + t65 * t1330 + 0.19751673498613801407e-1 * t65 * t1295 - 0.11696447245269292414e1 * t1334 * t483 + 0.11696447245269292414e1 * t481 * t1338 - 0.5848223622634646207e0 * t481 * t1342 - 0.17315859105681463759e2 * t481 * t1346; + const double t1353 = piecewise_functor_3( t9, 0.0, t1166 * t96 / 0.2e1 + t393 * t486 + t10 * t1349 / 0.2e1 ); + const double t1354 = t1353 * t151; + const double t1355 = t1354 * t170; + const double t1356 = t490 * t540; + const double t1357 = t1356 * t170; + const double t1358 = 0.2e1 * t1357; + const double t1359 = t491 * sigma_aa; + const double t1360 = t1359 * t546; + const double t1361 = t1360 / 0.4e1; + const double t1362 = t491 * t158; + const double t1363 = t1362 * t554; + const double t1364 = 0.8e2 / 0.3e1 * t1363; + const double t1366 = 0.1e1 / t105 / t119; + const double t1367 = sigma_aa * t1366; + const double t1371 = t119 * t160; + const double t1373 = 0.1e1 / t104 / t1371; + const double t1374 = t118 * t1373; + const double t1375 = t1374 * t125; + const double t1379 = 0.1e1 / t143; + const double t1381 = t131 * t1379 * t136; + const double t1389 = t132 * t119; + const double t1391 = 0.1e1 / t105 / t1389; + const double t1393 = t142 * t1391 * t148; + const double t1401 = t132 * t1371; + const double t1403 = 0.1e1 / t104 / t1401; + const double t1405 = t530 * t1403 * t536; + const double t1414 = t142 * t118; + const double t1415 = t132 * t132; + const double t1416 = t1415 * t103; + const double t1417 = 0.1e1 / t1416; + const double t1420 = 0.1e1 / t147 / t124; + const double t1424 = 0.88e2 / 0.9e1 * t102 * t1367 * t112 - 0.24e2 * t499 * t1375 + 0.128e3 / 0.9e1 * t1378 * t1381 + 0.304e3 / 0.9e1 * t117 * t1375 - 0.688e3 / 0.9e1 * t509 * t1381 + 0.128e3 / 0.3e1 * t1388 * t1393 + 0.72e2 * t130 * t1381 - 0.472e3 / 0.3e1 * t518 * t1393 + 0.256e3 / 0.3e1 * t1400 * t1405 + 0.112e4 / 0.9e1 * t141 * t1393 - 0.8e3 / 0.3e1 * t529 * t1405 + 0.128e4 / 0.9e1 * t1413 * t1414 * t1417 * t1420; + const double t1425 = t99 * t1424; + const double t1426 = t1425 * t170; + const double t1427 = t541 * sigma_aa; + const double t1428 = t1427 * t546; + const double t1429 = t1428 / 0.4e1; + const double t1430 = t541 * t158; + const double t1431 = t1430 * t554; + const double t1432 = 0.8e2 / 0.3e1 * t1431; + const double t1433 = 0.1e1 / t160; + const double t1435 = t1433 * t155 * t169; + const double t1436 = t543 * t1435; + const double t1437 = t1436 / 0.4e1; + const double t1439 = t502 * tau_a * t553; + const double t1440 = t543 * t1439; + const double t1441 = 0.1e2 / 0.3e1 * t1440; + const double t1443 = t159 * t122 * t553; + const double t1444 = t549 * t1443; + const double t1445 = 0.52e3 / 0.9e1 * t1444; + const double t1446 = t159 * t159; + const double t1448 = 0.1e1 / t105 / t132; + const double t1452 = t1451 * t168; + const double t1453 = t1446 * t1448 * t1452; + const double t1454 = t549 * t1453; + const double t1455 = 0.16e4 / 0.9e1 * t1454; + const double t1456 = -t1165; + const double t1457 = piecewise_functor_3( t174, 0.0, t1456 ); + const double t1462 = t17 * t1172 * t179; + const double t1463 = 0.23744444444444444444e-1 * t1462; + const double t1465 = t17 * t397 * t566; + const double t1467 = t173 * t173; + const double t1469 = 0.1e1 / t177 / t1467; + const double t1470 = t557 * t557; + const double t1476 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t1470 - t563 * t1456 / 0.3e1 ); + const double t1478 = t17 * t21 * t1476; + const double t1480 = t1463 - 0.35616666666666666666e-1 * t1465 + 0.53425e-1 * t1478; + const double t1482 = 0.621814e-1 * t1480 * t197; + const double t1483 = t570 * t574; + const double t1485 = 0.2e1 * t1483 * t595; + const double t1486 = t573 * t193; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t183 * t1487; + const double t1489 = t593 * t593; + const double t1490 = t1489 * t594; + const double t1492 = 0.2e1 * t1488 * t1490; + const double t1494 = 0.1e1 / t184 / t181; + const double t1495 = t578 * t578; + const double t1496 = t1494 * t1495; + const double t1498 = 0.4e1 / 0.9e1 * t1462; + const double t1500 = t1498 - 0.2e1 / 0.3e1 * t1465 + t1478; + const double t1501 = t576 * t1500; + const double t1503 = 0.39862222222222222223e0 * t1462; + const double t1506 = 0.1e1/safe_math::sqrt( t181 ); + const double t1507 = t1506 * t1495; + const double t1509 = t583 * t1500; + const double t1512 = t39 * t1225 * t189; + const double t1513 = 0.13692777777777777778e0 * t1512; + const double t1515 = t39 * t426 * t589; + const double t1517 = t566 * t566; + const double t1519 = t39 * t43 * t1517; + const double t1521 = t179 * t1476; + const double t1523 = t39 * t43 * t1521; + const double t1525 = -0.9494625e0 * t1496 + 0.1898925e1 * t1501 + t1503 - 0.59793333333333333334e0 * t1465 + 0.8969e0 * t1478 + 0.15358125e0 * t1507 + 0.3071625e0 * t1509 + t1513 - 0.32862666666666666666e0 * t1515 + 0.24647e0 * t1519 + 0.24647e0 * t1523; + const double t1526 = t1525 * t594; + const double t1528 = 0.1e1 * t575 * t1526; + const double t1529 = t573 * t573; + const double t1530 = 0.1e1 / t1529; + const double t1531 = t183 * t1530; + const double t1532 = t196 * t196; + const double t1533 = 0.1e1 / t1532; + const double t1534 = t1489 * t1533; + const double t1536 = 0.16081979498692535067e2 * t1531 * t1534; + const double t1537 = 0.22831111111111111111e-1 * t1462; + const double t1540 = t1537 - 0.34246666666666666666e-1 * t1465 + 0.5137e-1 * t1478; + const double t1543 = t600 * t604; + const double t1546 = t603 * t206; + const double t1547 = 0.1e1 / t1546; + const double t1548 = t201 * t1547; + const double t1549 = t612 * t612; + const double t1550 = t1549 * t613; + const double t1555 = 0.68863333333333333333e0 * t1462; + const double t1560 = 0.17365833333333333333e0 * t1512; + const double t1564 = -0.17648625e1 * t1496 + 0.3529725e1 * t1501 + t1555 - 0.103295e1 * t1465 + 0.1549425e1 * t1478 + 0.31558125e0 * t1507 + 0.6311625e0 * t1509 + t1560 - 0.41678e0 * t1515 + 0.312585e0 * t1519 + 0.312585e0 * t1523; + const double t1565 = t1564 * t613; + const double t1568 = t603 * t603; + const double t1569 = 0.1e1 / t1568; + const double t1570 = t201 * t1569; + const double t1571 = t209 * t209; + const double t1572 = 0.1e1 / t1571; + const double t1573 = t1549 * t1572; + const double t1576 = 0.12361111111111111111e-1 * t1462; + const double t1579 = t1576 - 0.18541666666666666667e-1 * t1465 + 0.278125e-1 * t1478; + const double t1580 = t1579 * t223; + const double t1582 = t619 * t623; + const double t1585 = t622 * t219; + const double t1586 = 0.1e1 / t1585; + const double t1587 = t214 * t1586; + const double t1588 = t631 * t631; + const double t1589 = t1588 * t632; + const double t1594 = 0.40256666666666666667e0 * t1462; + const double t1599 = 0.137975e0 * t1512; + const double t1603 = -0.1294625e1 * t1496 + 0.258925e1 * t1501 + t1594 - 0.60385e0 * t1465 + 0.905775e0 * t1478 + 0.82524375e-1 * t1507 + 0.16504875e0 * t1509 + t1599 - 0.33114e0 * t1515 + 0.248355e0 * t1519 + 0.248355e0 * t1523; + const double t1604 = t1603 * t632; + const double t1607 = t622 * t622; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t214 * t1608; + const double t1610 = t222 * t222; + const double t1611 = 0.1e1 / t1610; + const double t1612 = t1588 * t1611; + const double t1615 = -0.310907e-1 * t1540 * t210 + 0.2e1 * t1543 * t614 - 0.2e1 * t1548 * t1550 + 0.1e1 * t605 * t1565 + 0.32163958997385070134e2 * t1570 * t1573 + t1482 - t1485 + t1492 - t1528 - t1536 - 0.19751673498613801407e-1 * t1580 + 0.11696447245269292414e1 * t1582 * t633 - 0.11696447245269292414e1 * t1587 * t1589 + 0.5848223622634646207e0 * t624 * t1604 + 0.17315859105681463759e2 * t1609 * t1612; + const double t1619 = t65 * t619; + const double t1623 = t1586 * t1588 * t632; + const double t1627 = t623 * t1603 * t632; + const double t1630 = t1608 * t1588; + const double t1631 = t1630 * t1611; + const double t1634 = -t1482 + t1485 - t1492 + t1528 + t1536 + t65 * t1615 + 0.19751673498613801407e-1 * t65 * t1580 - 0.11696447245269292414e1 * t1619 * t642 + 0.11696447245269292414e1 * t640 * t1623 - 0.5848223622634646207e0 * t640 * t1627 - 0.17315859105681463759e2 * t640 * t1631; + const double t1638 = piecewise_functor_3( t175, 0.0, t1457 * t230 / 0.2e1 + t558 * t645 + t176 * t1634 / 0.2e1 ); + const double t1639 = t1638 * t273; + const double t1640 = t1639 * t290; + const double t1641 = t656 * t304; + const double t1642 = 0.1e1 / t1641; + const double t1643 = t295 * t1642; + const double t1644 = t674 * t674; + const double t1645 = t1644 * t675; + const double t1647 = 0.2e1 * t1643 * t1645; + const double t1650 = 0.1e1 / t296 / t293 * t36; + const double t1652 = t1651 * t1224; + const double t1653 = t1650 * t1652; + const double t1655 = t661 * t1171; + const double t1656 = t660 * t1655; + const double t1658 = t16 * t1171; + const double t1659 = t14 * t1658; + const double t1661 = 0.1e1/safe_math::sqrt( t293 ); + const double t1662 = t1661 * t36; + const double t1663 = t1662 * t1652; + const double t1665 = t668 * t1655; + const double t1668 = t38 * t15 * t1224; + const double t1670 = -0.42198333333333333333e0 * t1653 + 0.84396666666666666666e0 * t1656 + 0.39862222222222222223e0 * t1659 + 0.68258333333333333333e-1 * t1663 + 0.13651666666666666667e0 * t1665 + 0.13692777777777777778e0 * t1668; + const double t1671 = t1670 * t675; + const double t1673 = 0.1e1 * t658 * t1671; + const double t1674 = t656 * t656; + const double t1675 = 0.1e1 / t1674; + const double t1676 = t295 * t1675; + const double t1677 = t307 * t307; + const double t1678 = 0.1e1 / t1677; + const double t1679 = t1644 * t1678; + const double t1681 = 0.16081979498692535067e2 * t1676 * t1679; + const double t1682 = t322 * t14; + const double t1683 = t652 * t740; + const double t1685 = 0.10843581300301739842e-1 * t1682 * t1683; + const double t1686 = t24 * t24; + const double t1687 = 0.1e1 / t1686; + const double t1693 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t1182 + 0.4e1 / 0.3e1 * t24 * t1165 ); + const double t1694 = t177 * t177; + const double t1695 = 0.1e1 / t1694; + const double t1701 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t1470 + 0.4e1 / 0.3e1 * t177 * t1456 ); + const double t1703 = ( t1693 + t1701 ) * t64; + const double t1706 = t685 * t696; + const double t1709 = 0.8e1 * t685 * t729; + const double t1710 = t695 * t728; + const double t1711 = t316 * t1710; + const double t1713 = t1703 * t349; + const double t1717 = 0.14764627977777777777e-2 * t14 * t1658 * t308; + const double t1721 = t396 * t702; + const double t1725 = t701 * t329; + const double t1726 = 0.1e1 / t1725; + const double t1727 = t324 * t1726; + const double t1728 = t708 * t708; + const double t1729 = t1728 * t709; + const double t1738 = -0.78438333333333333333e0 * t1653 + 0.15687666666666666667e1 * t1656 + 0.68863333333333333333e0 * t1659 + 0.14025833333333333333e0 * t1663 + 0.28051666666666666667e0 * t1665 + 0.17365833333333333333e0 * t1668; + const double t1739 = t1738 * t709; + const double t1742 = t701 * t701; + const double t1743 = 0.1e1 / t1742; + const double t1744 = t324 * t1743; + const double t1745 = t332 * t332; + const double t1746 = 0.1e1 / t1745; + const double t1747 = t1728 * t1746; + const double t1750 = t396 * t657; + const double t1753 = 0.35616666666666666666e-1 * t17 * t1750 * t676; + const double t1757 = t396 * t717; + const double t1761 = t716 * t342; + const double t1762 = 0.1e1 / t1761; + const double t1763 = t337 * t1762; + const double t1764 = t723 * t723; + const double t1765 = t1764 * t724; + const double t1774 = -0.57538888888888888889e0 * t1653 + 0.11507777777777777778e1 * t1656 + 0.40256666666666666667e0 * t1659 + 0.366775e-1 * t1663 + 0.73355e-1 * t1665 + 0.137975e0 * t1668; + const double t1775 = t1774 * t724; + const double t1778 = t716 * t716; + const double t1779 = 0.1e1 / t1778; + const double t1780 = t337 * t1779; + const double t1781 = t345 * t345; + const double t1782 = 0.1e1 / t1781; + const double t1783 = t1764 * t1782; + const double t1786 = -0.70983522622222222221e-3 * t14 * t1658 * t333 - 0.34246666666666666666e-1 * t17 * t1721 * t710 - 0.2e1 * t1727 * t1729 + 0.1e1 * t703 * t1739 + 0.32163958997385070134e2 * t1744 * t1747 + t1717 + t1753 + t1647 - t1673 - t1681 - 0.24415263074675393405e-3 * t14 * t1658 * t346 - 0.10843581300301739842e-1 * t17 * t1757 * t725 - 0.11696447245269292414e1 * t1763 * t1765 + 0.5848223622634646207e0 * t718 * t1775 + 0.17315859105681463759e2 * t1780 * t1783; + const double t1787 = t322 * t1786; + const double t1788 = t316 * t1787; + const double t1789 = -t1647 + t1673 + t1681 + t1685 + 0.19751673498613801407e-1 * t1703 * t347 - t1638 - 0.8e1 * t1706 - t1709 + 0.2e1 * t1711 + t316 * t1713 - t1717 + t1788; + const double t1791 = 0.8e1 * t680 * t729; + const double t1792 = t311 * t315; + const double t1794 = 0.12e2 * t1792 * t350; + const double t1795 = t679 * t684; + const double t1797 = 0.32e2 * t1795 * t350; + const double t1798 = t680 * t696; + const double t1800 = t695 * t11; + const double t1801 = t1800 * t735; + const double t1804 = t661 * t1171 * t346; + const double t1806 = 0.24415263074675393405e-3 * t733 * t1804; + const double t1808 = 0.1e1 / t314 / t313; + const double t1809 = t312 * t1808; + const double t1811 = 0.2e2 * t1809 * t350; + const double t1813 = t1779 * t1764 * t1782; + const double t1815 = 0.17315859105681463759e2 * t738 * t1813; + const double t1817 = t717 * t1774 * t724; + const double t1819 = 0.5848223622634646207e0 * t738 * t1817; + const double t1820 = t695 * t337; + const double t1821 = t1820 * t740; + const double t1824 = t1762 * t1764 * t724; + const double t1826 = 0.11696447245269292414e1 * t738 * t1824; + const double t1827 = t1791 + t1794 - t1797 + 0.8e1 * t1798 - 0.36622894612013090108e-3 * t1801 + t1806 - t1753 + t1811 - t1353 - t1815 - t1819 - 0.11696447245269292414e1 * t1821 + t1826; + const double t1828 = t1789 + t1827; + const double t1829 = t1828 * t388; + const double t1830 = t743 * t784; + const double t1831 = 0.2e1 * t1830; + const double t1835 = t1374 * t369; + const double t1839 = t1838 * t358; + const double t1840 = t377 * t118; + const double t1841 = t1840 * t1373; + const double t1844 = t750 * t1366; + const double t1849 = t757 * t358; + const double t1855 = t1854 * t367; + const double t1856 = t385 * t118; + const double t1857 = t1856 * t1373; + const double t1860 = t759 * t1366; + const double t1863 = t374 * t358; + const double t1866 = t766 * t367; + const double t1872 = t1871 * t375; + const double t1873 = t779 * t118; + const double t1874 = t1873 * t1373; + const double t1877 = t768 * t1366; + const double t1880 = t382 * t367; + const double t1883 = t776 * t375; + const double t1890 = t1889 * t383; + const double t1892 = 0.1e1 / t384 / t368; + const double t1893 = t1892 * t118; + const double t1900 = 0.88e2 / 0.9e1 * t357 * t1367 * t361 - 0.128e3 / 0.9e1 * t748 * t1835 + 0.128e3 / 0.9e1 * t1839 * t1841 - 0.88e2 / 0.9e1 * t749 * t1844 + 0.128e3 / 0.9e1 * t366 * t1835 - 0.512e3 / 0.9e1 * t1849 * t1841 + 0.176e3 / 0.9e1 * t754 * t1844 + 0.128e3 / 0.3e1 * t1855 * t1857 - 0.176e3 / 0.9e1 * t758 * t1860 + 0.128e3 / 0.3e1 * t1863 * t1841 - 0.128e3 * t1866 * t1857 + 0.88e2 / 0.3e1 * t763 * t1860 + 0.256e3 / 0.3e1 * t1872 * t1874 - 0.88e2 / 0.3e1 * t767 * t1877 + 0.256e3 / 0.3e1 * t1880 * t1857 - 0.2048e4 / 0.9e1 * t1883 * t1874 + 0.352e3 / 0.9e1 * t772 * t1877 + 0.128e4 / 0.9e1 * t1890 * t1893 * t1373 - 0.352e3 / 0.9e1 * t777 * t780 * t1366; + const double t1901 = t354 * t1900; + const double t1902 = t1355 + t1358 + t1361 - t1364 + t1426 + t1429 - t1432 - t1437 - t1441 + t1445 - t1455 + t1640 + t1829 + t1831 + t1901; + const double t1904 = 0.2e1 * t1163; + const double t1905 = piecewise_functor_3( t8, 0.0, t1904 ); + const double t1911 = t17 * t397 * t793; + const double t1913 = t1181 * t788; + const double t1916 = t401 * t3; + const double t1920 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1913 * t392 - 0.2e1 / 0.3e1 * t1916 * t1162 ); + const double t1922 = t17 * t21 * t1920; + const double t1924 = t1175 - 0.17808333333333333333e-1 * t1177 - 0.17808333333333333333e-1 * t1911 + 0.53425e-1 * t1922; + const double t1926 = 0.621814e-1 * t1924 * t52; + const double t1927 = t797 * t412; + const double t1929 = 0.1e1 * t1927 * t436; + const double t1931 = 0.1e1 * t1195 * t811; + const double t1932 = t811 * t434; + const double t1934 = 0.2e1 * t1200 * t1932; + const double t1935 = t1206 * t800; + const double t1936 = t1935 * t416; + const double t1940 = t1210 - t1177 / 0.3e1 - t1911 / 0.3e1 + t1922; + const double t1941 = t414 * t1940; + const double t1946 = t1218 * t800; + const double t1947 = t1946 * t416; + const double t1949 = t421 * t1940; + const double t1953 = t39 * t426 * t806; + const double t1955 = t404 * t793; + const double t1957 = t39 * t43 * t1955; + const double t1959 = t26 * t1920; + const double t1961 = t39 * t43 * t1959; + const double t1963 = -0.9494625e0 * t1936 + 0.1898925e1 * t1941 + t1215 - 0.29896666666666666667e0 * t1177 - 0.29896666666666666667e0 * t1911 + 0.8969e0 * t1922 + 0.15358125e0 * t1947 + 0.3071625e0 * t1949 + t1228 - 0.16431333333333333333e0 * t1230 - 0.16431333333333333333e0 * t1953 + 0.24647e0 * t1957 + 0.24647e0 * t1961; + const double t1964 = t1963 * t435; + const double t1966 = 0.1e1 * t413 * t1964; + const double t1967 = t810 * t1248; + const double t1968 = t1967 * t434; + const double t1970 = 0.16081979498692535067e2 * t1246 * t1968; + const double t1974 = t1252 - 0.17123333333333333333e-1 * t1177 - 0.17123333333333333333e-1 * t1911 + 0.5137e-1 * t1922; + const double t1977 = t815 * t445; + const double t1982 = t823 * t453; + const double t1996 = -0.17648625e1 * t1936 + 0.3529725e1 * t1941 + t1270 - 0.516475e0 * t1177 - 0.516475e0 * t1911 + 0.1549425e1 * t1922 + 0.31558125e0 * t1947 + 0.6311625e0 * t1949 + t1275 - 0.20839e0 * t1230 - 0.20839e0 * t1953 + 0.312585e0 * t1957 + 0.312585e0 * t1961; + const double t1997 = t1996 * t454; + const double t2000 = t822 * t1287; + const double t2001 = t2000 * t453; + const double t2007 = t1291 - 0.92708333333333333333e-2 * t1177 - 0.92708333333333333333e-2 * t1911 + 0.278125e-1 * t1922; + const double t2008 = t2007 * t89; + const double t2010 = t827 * t464; + const double t2015 = t835 * t472; + const double t2029 = -0.1294625e1 * t1936 + 0.258925e1 * t1941 + t1309 - 0.301925e0 * t1177 - 0.301925e0 * t1911 + 0.905775e0 * t1922 + 0.82524375e-1 * t1947 + 0.16504875e0 * t1949 + t1314 - 0.16557e0 * t1230 - 0.16557e0 * t1953 + 0.248355e0 * t1957 + 0.248355e0 * t1961; + const double t2030 = t2029 * t473; + const double t2033 = t834 * t1326; + const double t2034 = t2033 * t472; + const double t2037 = -0.310907e-1 * t1974 * t76 + 0.1e1 * t1977 * t455 + 0.1e1 * t1258 * t823 - 0.2e1 * t1263 * t1982 + 0.1e1 * t446 * t1997 + 0.32163958997385070134e2 * t1285 * t2001 + t1926 - t1929 - t1931 + t1934 - t1966 - t1970 - 0.19751673498613801407e-1 * t2008 + 0.5848223622634646207e0 * t2010 * t474 + 0.5848223622634646207e0 * t1297 * t835 - 0.11696447245269292414e1 * t1302 * t2015 + 0.5848223622634646207e0 * t465 * t2030 + 0.17315859105681463759e2 * t1324 * t2034; + const double t2041 = t65 * t827; + const double t2046 = t1301 * t834; + const double t2047 = t2046 * t474; + const double t2051 = t464 * t2029 * t473; + const double t2054 = t1323 * t834; + const double t2055 = t1326 * t472; + const double t2056 = t2054 * t2055; + const double t2059 = -t1926 + t1929 + t1931 - t1934 + t1966 + t1970 + t65 * t2037 + 0.19751673498613801407e-1 * t65 * t2008 - 0.5848223622634646207e0 * t2041 * t483 - 0.5848223622634646207e0 * t1334 * t843 + 0.11696447245269292414e1 * t481 * t2047 - 0.5848223622634646207e0 * t481 * t2051 - 0.17315859105681463759e2 * t481 * t2056; + const double t2063 = piecewise_functor_3( t9, 0.0, t10 * t2059 / 0.2e1 + t1905 * t96 / 0.2e1 + t393 * t846 / 0.2e1 + t789 * t486 / 0.2e1 ); + const double t2064 = t2063 * t151; + const double t2065 = t2064 * t170; + const double t2066 = t850 * t540; + const double t2067 = t2066 * t170; + const double t2068 = t851 * sigma_aa; + const double t2069 = t2068 * t546; + const double t2071 = t851 * t158; + const double t2072 = t2071 * t554; + const double t2074 = piecewise_functor_3( t174, 0.0, -t1904 ); + const double t2080 = t17 * t397 * t858; + const double t2082 = t1469 * t853; + const double t2085 = t563 * t3; + const double t2089 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2082 * t557 + 0.2e1 / 0.3e1 * t2085 * t1162 ); + const double t2091 = t17 * t21 * t2089; + const double t2093 = t1463 - 0.17808333333333333333e-1 * t1465 - 0.17808333333333333333e-1 * t2080 + 0.53425e-1 * t2091; + const double t2095 = 0.621814e-1 * t2093 * t197; + const double t2096 = t862 * t574; + const double t2098 = 0.1e1 * t2096 * t595; + const double t2100 = 0.1e1 * t1483 * t876; + const double t2101 = t876 * t593; + const double t2103 = 0.2e1 * t1488 * t2101; + const double t2104 = t1494 * t865; + const double t2105 = t2104 * t578; + const double t2109 = t1498 - t1465 / 0.3e1 - t2080 / 0.3e1 + t2091; + const double t2110 = t576 * t2109; + const double t2115 = t1506 * t865; + const double t2116 = t2115 * t578; + const double t2118 = t583 * t2109; + const double t2122 = t39 * t426 * t871; + const double t2124 = t566 * t858; + const double t2126 = t39 * t43 * t2124; + const double t2128 = t179 * t2089; + const double t2130 = t39 * t43 * t2128; + const double t2132 = -0.9494625e0 * t2105 + 0.1898925e1 * t2110 + t1503 - 0.29896666666666666667e0 * t1465 - 0.29896666666666666667e0 * t2080 + 0.8969e0 * t2091 + 0.15358125e0 * t2116 + 0.3071625e0 * t2118 + t1513 - 0.16431333333333333333e0 * t1515 - 0.16431333333333333333e0 * t2122 + 0.24647e0 * t2126 + 0.24647e0 * t2130; + const double t2133 = t2132 * t594; + const double t2135 = 0.1e1 * t575 * t2133; + const double t2136 = t875 * t1533; + const double t2137 = t2136 * t593; + const double t2139 = 0.16081979498692535067e2 * t1531 * t2137; + const double t2143 = t1537 - 0.17123333333333333333e-1 * t1465 - 0.17123333333333333333e-1 * t2080 + 0.5137e-1 * t2091; + const double t2146 = t880 * t604; + const double t2151 = t888 * t612; + const double t2165 = -0.17648625e1 * t2105 + 0.3529725e1 * t2110 + t1555 - 0.516475e0 * t1465 - 0.516475e0 * t2080 + 0.1549425e1 * t2091 + 0.31558125e0 * t2116 + 0.6311625e0 * t2118 + t1560 - 0.20839e0 * t1515 - 0.20839e0 * t2122 + 0.312585e0 * t2126 + 0.312585e0 * t2130; + const double t2166 = t2165 * t613; + const double t2169 = t887 * t1572; + const double t2170 = t2169 * t612; + const double t2176 = t1576 - 0.92708333333333333333e-2 * t1465 - 0.92708333333333333333e-2 * t2080 + 0.278125e-1 * t2091; + const double t2177 = t2176 * t223; + const double t2179 = t892 * t623; + const double t2184 = t900 * t631; + const double t2198 = -0.1294625e1 * t2105 + 0.258925e1 * t2110 + t1594 - 0.301925e0 * t1465 - 0.301925e0 * t2080 + 0.905775e0 * t2091 + 0.82524375e-1 * t2116 + 0.16504875e0 * t2118 + t1599 - 0.16557e0 * t1515 - 0.16557e0 * t2122 + 0.248355e0 * t2126 + 0.248355e0 * t2130; + const double t2199 = t2198 * t632; + const double t2202 = t899 * t1611; + const double t2203 = t2202 * t631; + const double t2206 = -0.310907e-1 * t2143 * t210 + 0.1e1 * t2146 * t614 + 0.1e1 * t1543 * t888 - 0.2e1 * t1548 * t2151 + 0.1e1 * t605 * t2166 + 0.32163958997385070134e2 * t1570 * t2170 + t2095 - t2098 - t2100 + t2103 - t2135 - t2139 - 0.19751673498613801407e-1 * t2177 + 0.5848223622634646207e0 * t2179 * t633 + 0.5848223622634646207e0 * t1582 * t900 - 0.11696447245269292414e1 * t1587 * t2184 + 0.5848223622634646207e0 * t624 * t2199 + 0.17315859105681463759e2 * t1609 * t2203; + const double t2210 = t65 * t892; + const double t2215 = t1586 * t899; + const double t2216 = t2215 * t633; + const double t2220 = t623 * t2198 * t632; + const double t2223 = t1608 * t899; + const double t2224 = t1611 * t631; + const double t2225 = t2223 * t2224; + const double t2228 = -t2095 + t2098 + t2100 - t2103 + t2135 + t2139 + t65 * t2206 + 0.19751673498613801407e-1 * t65 * t2177 - 0.5848223622634646207e0 * t2210 * t642 - 0.5848223622634646207e0 * t1619 * t908 + 0.11696447245269292414e1 * t640 * t2216 - 0.5848223622634646207e0 * t640 * t2220 - 0.17315859105681463759e2 * t640 * t2225; + const double t2232 = piecewise_functor_3( t175, 0.0, t176 * t2228 / 0.2e1 + t2074 * t230 / 0.2e1 + t558 * t911 / 0.2e1 + t854 * t645 / 0.2e1 ); + const double t2233 = t2232 * t273; + const double t2234 = t2233 * t290; + const double t2235 = t649 * t960; + const double t2236 = t2235 * t290; + const double t2237 = t650 * sigma_bb; + const double t2238 = t2237 * t966; + const double t2240 = t650 * t280; + const double t2241 = t2240 * t974; + const double t2244 = t1687 * t788; + const double t2247 = t24 * t3; + const double t2251 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2244 * t392 + 0.8e1 / 0.3e1 * t2247 * t1162 ); + const double t2252 = t1695 * t853; + const double t2255 = t177 * t3; + const double t2259 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2252 * t557 - 0.8e1 / 0.3e1 * t2255 * t1162 ); + const double t2261 = ( t2251 + t2259 ) * t64; + const double t2265 = -t2232 - t2063 - t1647 + t1673 + t1681 + t1685 - 0.4e1 * t1706 - t1709 + t1711 + 0.19751673498613801407e-1 * t2261 * t347 - t1717 + t1788 - t1794 - 0.4e1 * t1798; + const double t2266 = t680 * t985; + const double t2268 = t685 * t985; + const double t2270 = t2261 * t349; + const double t2272 = t984 * t728; + const double t2273 = t316 * t2272; + const double t2275 = t984 * t11; + const double t2276 = t2275 * t735; + const double t2278 = t984 * t337; + const double t2279 = t2278 * t740; + const double t2282 = 0.4e1 * t2266 - 0.4e1 * t2268 + t316 * t2270 + t2273 - 0.18311447306006545054e-3 * t1801 + t1806 - t1753 - 0.18311447306006545054e-3 * t2276 - 0.5848223622634646207e0 * t2279 + t1811 - t1815 - t1819 - 0.5848223622634646207e0 * t1821 + t1826; + const double t2283 = t2265 + t2282; + const double t2284 = t2283 * t388; + const double t2285 = t989 * t784; + const double t2286 = t743 * t1016; + const double t2287 = t748 * sigma_bb; + const double t2288 = t919 * t369; + const double t2292 = t358 * t377; + const double t2293 = t1838 * t2292; + const double t2294 = t920 * t495; + const double t2297 = t366 * sigma_aa; + const double t2298 = t494 * t369; + const double t2302 = t757 * t2292; + const double t2305 = t367 * t385; + const double t2306 = t1854 * t2305; + const double t2309 = t374 * t2292; + const double t2312 = t766 * t2305; + const double t2315 = t375 * t779; + const double t2316 = t1871 * t2315; + const double t2319 = t382 * t2305; + const double t2322 = t776 * t2315; + const double t2325 = t383 * t1892; + const double t2326 = t1889 * t2325; + const double t2329 = -0.128e3 / 0.9e1 * t2287 * t2288 * t495 + 0.128e3 / 0.9e1 * t2293 * t2294 + 0.128e3 / 0.9e1 * t2297 * t2298 * t920 - 0.512e3 / 0.9e1 * t2302 * t2294 + 0.128e3 / 0.3e1 * t2306 * t2294 + 0.128e3 / 0.3e1 * t2309 * t2294 - 0.128e3 * t2312 * t2294 + 0.256e3 / 0.3e1 * t2316 * t2294 + 0.256e3 / 0.3e1 * t2319 * t2294 - 0.2048e4 / 0.9e1 * t2322 * t2294 + 0.128e4 / 0.9e1 * t2326 * t2294; + const double t2330 = t354 * t2329; + const double t2331 = t2065 + t2067 + t2069 / 0.8e1 - 0.4e2 / 0.3e1 * t2072 + t2234 + t2236 + t2238 / 0.8e1 - 0.4e2 / 0.3e1 * t2241 + t2284 + t2285 + t2286 + t2330; + const double t2341 = 0.2e1 * t390 + 0.2e1 * t1163; + const double t2342 = piecewise_functor_3( t8, 0.0, t2341 ); + const double t2347 = t788 * t788; + const double t2353 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t2347 - t401 * t2341 / 0.3e1 ); + const double t2355 = t17 * t21 * t2353; + const double t2357 = t1175 - 0.35616666666666666666e-1 * t1911 + 0.53425e-1 * t2355; + const double t2359 = 0.621814e-1 * t2357 * t52; + const double t2361 = 0.2e1 * t1927 * t811; + const double t2362 = t810 * t810; + const double t2363 = t2362 * t435; + const double t2365 = 0.2e1 * t1200 * t2363; + const double t2366 = t800 * t800; + const double t2367 = t1206 * t2366; + const double t2370 = t1210 - 0.2e1 / 0.3e1 * t1911 + t2355; + const double t2371 = t414 * t2370; + const double t2375 = t1218 * t2366; + const double t2377 = t421 * t2370; + const double t2380 = t793 * t793; + const double t2382 = t39 * t43 * t2380; + const double t2384 = t26 * t2353; + const double t2386 = t39 * t43 * t2384; + const double t2388 = -0.9494625e0 * t2367 + 0.1898925e1 * t2371 + t1215 - 0.59793333333333333334e0 * t1911 + 0.8969e0 * t2355 + 0.15358125e0 * t2375 + 0.3071625e0 * t2377 + t1228 - 0.32862666666666666666e0 * t1953 + 0.24647e0 * t2382 + 0.24647e0 * t2386; + const double t2389 = t2388 * t435; + const double t2391 = 0.1e1 * t413 * t2389; + const double t2392 = t2362 * t1248; + const double t2394 = 0.16081979498692535067e2 * t1246 * t2392; + const double t2397 = t1252 - 0.34246666666666666666e-1 * t1911 + 0.5137e-1 * t2355; + const double t2402 = t822 * t822; + const double t2403 = t2402 * t454; + const double t2415 = -0.17648625e1 * t2367 + 0.3529725e1 * t2371 + t1270 - 0.103295e1 * t1911 + 0.1549425e1 * t2355 + 0.31558125e0 * t2375 + 0.6311625e0 * t2377 + t1275 - 0.41678e0 * t1953 + 0.312585e0 * t2382 + 0.312585e0 * t2386; + const double t2416 = t2415 * t454; + const double t2419 = t2402 * t1287; + const double t2424 = t1291 - 0.18541666666666666667e-1 * t1911 + 0.278125e-1 * t2355; + const double t2425 = t2424 * t89; + const double t2429 = t834 * t834; + const double t2430 = t2429 * t473; + const double t2442 = -0.1294625e1 * t2367 + 0.258925e1 * t2371 + t1309 - 0.60385e0 * t1911 + 0.905775e0 * t2355 + 0.82524375e-1 * t2375 + 0.16504875e0 * t2377 + t1314 - 0.33114e0 * t1953 + 0.248355e0 * t2382 + 0.248355e0 * t2386; + const double t2443 = t2442 * t473; + const double t2446 = t2429 * t1326; + const double t2449 = -0.310907e-1 * t2397 * t76 + 0.2e1 * t1977 * t823 - 0.2e1 * t1263 * t2403 + 0.1e1 * t446 * t2416 + 0.32163958997385070134e2 * t1285 * t2419 + t2359 - t2361 + t2365 - t2391 - t2394 - 0.19751673498613801407e-1 * t2425 + 0.11696447245269292414e1 * t2010 * t835 - 0.11696447245269292414e1 * t1302 * t2430 + 0.5848223622634646207e0 * t465 * t2443 + 0.17315859105681463759e2 * t1324 * t2446; + const double t2456 = t1301 * t2429 * t473; + const double t2460 = t464 * t2442 * t473; + const double t2463 = t1323 * t2429; + const double t2464 = t2463 * t1326; + const double t2467 = -t2359 + t2361 - t2365 + t2391 + t2394 + t65 * t2449 + 0.19751673498613801407e-1 * t65 * t2425 - 0.11696447245269292414e1 * t2041 * t843 + 0.11696447245269292414e1 * t481 * t2456 - 0.5848223622634646207e0 * t481 * t2460 - 0.17315859105681463759e2 * t481 * t2464; + const double t2471 = piecewise_functor_3( t9, 0.0, t2342 * t96 / 0.2e1 + t789 * t846 + t10 * t2467 / 0.2e1 ); + const double t2472 = t2471 * t151; + const double t2473 = t2472 * t170; + const double t2474 = -t2341; + const double t2475 = piecewise_functor_3( t174, 0.0, t2474 ); + const double t2480 = t853 * t853; + const double t2486 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t2480 - t563 * t2474 / 0.3e1 ); + const double t2488 = t17 * t21 * t2486; + const double t2490 = t1463 - 0.35616666666666666666e-1 * t2080 + 0.53425e-1 * t2488; + const double t2492 = 0.621814e-1 * t2490 * t197; + const double t2494 = 0.2e1 * t2096 * t876; + const double t2495 = t875 * t875; + const double t2496 = t2495 * t594; + const double t2498 = 0.2e1 * t1488 * t2496; + const double t2499 = t865 * t865; + const double t2500 = t1494 * t2499; + const double t2503 = t1498 - 0.2e1 / 0.3e1 * t2080 + t2488; + const double t2504 = t576 * t2503; + const double t2508 = t1506 * t2499; + const double t2510 = t583 * t2503; + const double t2513 = t858 * t858; + const double t2515 = t39 * t43 * t2513; + const double t2517 = t179 * t2486; + const double t2519 = t39 * t43 * t2517; + const double t2521 = -0.9494625e0 * t2500 + 0.1898925e1 * t2504 + t1503 - 0.59793333333333333334e0 * t2080 + 0.8969e0 * t2488 + 0.15358125e0 * t2508 + 0.3071625e0 * t2510 + t1513 - 0.32862666666666666666e0 * t2122 + 0.24647e0 * t2515 + 0.24647e0 * t2519; + const double t2522 = t2521 * t594; + const double t2524 = 0.1e1 * t575 * t2522; + const double t2525 = t2495 * t1533; + const double t2527 = 0.16081979498692535067e2 * t1531 * t2525; + const double t2530 = t1537 - 0.34246666666666666666e-1 * t2080 + 0.5137e-1 * t2488; + const double t2535 = t887 * t887; + const double t2536 = t2535 * t613; + const double t2548 = -0.17648625e1 * t2500 + 0.3529725e1 * t2504 + t1555 - 0.103295e1 * t2080 + 0.1549425e1 * t2488 + 0.31558125e0 * t2508 + 0.6311625e0 * t2510 + t1560 - 0.41678e0 * t2122 + 0.312585e0 * t2515 + 0.312585e0 * t2519; + const double t2549 = t2548 * t613; + const double t2552 = t2535 * t1572; + const double t2557 = t1576 - 0.18541666666666666667e-1 * t2080 + 0.278125e-1 * t2488; + const double t2558 = t2557 * t223; + const double t2562 = t899 * t899; + const double t2563 = t2562 * t632; + const double t2575 = -0.1294625e1 * t2500 + 0.258925e1 * t2504 + t1594 - 0.60385e0 * t2080 + 0.905775e0 * t2488 + 0.82524375e-1 * t2508 + 0.16504875e0 * t2510 + t1599 - 0.33114e0 * t2122 + 0.248355e0 * t2515 + 0.248355e0 * t2519; + const double t2576 = t2575 * t632; + const double t2579 = t2562 * t1611; + const double t2582 = -0.310907e-1 * t2530 * t210 + 0.2e1 * t2146 * t888 - 0.2e1 * t1548 * t2536 + 0.1e1 * t605 * t2549 + 0.32163958997385070134e2 * t1570 * t2552 + t2492 - t2494 + t2498 - t2524 - t2527 - 0.19751673498613801407e-1 * t2558 + 0.11696447245269292414e1 * t2179 * t900 - 0.11696447245269292414e1 * t1587 * t2563 + 0.5848223622634646207e0 * t624 * t2576 + 0.17315859105681463759e2 * t1609 * t2579; + const double t2589 = t1586 * t2562 * t632; + const double t2593 = t623 * t2575 * t632; + const double t2596 = t1608 * t2562; + const double t2597 = t2596 * t1611; + const double t2600 = -t2492 + t2494 - t2498 + t2524 + t2527 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2558 - 0.11696447245269292414e1 * t2210 * t908 + 0.11696447245269292414e1 * t640 * t2589 - 0.5848223622634646207e0 * t640 * t2593 - 0.17315859105681463759e2 * t640 * t2597; + const double t2604 = piecewise_functor_3( t175, 0.0, t2475 * t230 / 0.2e1 + t854 * t911 + t176 * t2600 / 0.2e1 ); + const double t2605 = t2604 * t273; + const double t2606 = t2605 * t290; + const double t2607 = t915 * t960; + const double t2608 = t2607 * t290; + const double t2609 = 0.2e1 * t2608; + const double t2610 = t916 * sigma_bb; + const double t2611 = t2610 * t966; + const double t2612 = t2611 / 0.4e1; + const double t2613 = t916 * t280; + const double t2614 = t2613 * t974; + const double t2615 = 0.8e2 / 0.3e1 * t2614; + const double t2617 = 0.1e1 / t236 / t247; + const double t2618 = sigma_bb * t2617; + const double t2622 = t247 * t282; + const double t2624 = 0.1e1 / t235 / t2622; + const double t2625 = t246 * t2624; + const double t2626 = t2625 * t253; + const double t2629 = 0.1e1 / t265; + const double t2631 = t256 * t2629 * t261; + const double t2638 = t257 * t247; + const double t2640 = 0.1e1 / t236 / t2638; + const double t2642 = t264 * t2640 * t270; + const double t2649 = t257 * t2622; + const double t2651 = 0.1e1 / t235 / t2649; + const double t2653 = t950 * t2651 * t956; + const double t2660 = t264 * t246; + const double t2661 = t257 * t257; + const double t2662 = t2661 * t234; + const double t2663 = 0.1e1 / t2662; + const double t2666 = 0.1e1 / t269 / t252; + const double t2670 = 0.88e2 / 0.9e1 * t102 * t2618 * t243 - 0.24e2 * t499 * t2626 + 0.128e3 / 0.9e1 * t1378 * t2631 + 0.304e3 / 0.9e1 * t117 * t2626 - 0.688e3 / 0.9e1 * t509 * t2631 + 0.128e3 / 0.3e1 * t1388 * t2642 + 0.72e2 * t130 * t2631 - 0.472e3 / 0.3e1 * t518 * t2642 + 0.256e3 / 0.3e1 * t1400 * t2653 + 0.112e4 / 0.9e1 * t141 * t2642 - 0.8e3 / 0.3e1 * t529 * t2653 + 0.128e4 / 0.9e1 * t1413 * t2660 * t2663 * t2666; + const double t2671 = t233 * t2670; + const double t2672 = t2671 * t290; + const double t2673 = t961 * sigma_bb; + const double t2674 = t2673 * t966; + const double t2675 = t2674 / 0.4e1; + const double t2676 = t961 * t280; + const double t2677 = t2676 * t974; + const double t2678 = 0.8e2 / 0.3e1 * t2677; + const double t2679 = 0.1e1 / t282; + const double t2681 = t2679 * t277 * t289; + const double t2682 = t963 * t2681; + const double t2683 = t2682 / 0.4e1; + const double t2685 = t926 * tau_b * t973; + const double t2686 = t963 * t2685; + const double t2687 = 0.1e2 / 0.3e1 * t2686; + const double t2689 = t281 * t250 * t973; + const double t2690 = t969 * t2689; + const double t2691 = 0.52e3 / 0.9e1 * t2690; + const double t2692 = t281 * t281; + const double t2694 = 0.1e1 / t236 / t257; + const double t2696 = t1451 * t288; + const double t2697 = t2692 * t2694 * t2696; + const double t2698 = t969 * t2697; + const double t2699 = 0.16e4 / 0.9e1 * t2698; + const double t2705 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t2347 + 0.4e1 / 0.3e1 * t24 * t2341 ); + const double t2711 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t2480 + 0.4e1 / 0.3e1 * t177 * t2474 ); + const double t2713 = ( t2705 + t2711 ) * t64; + const double t2716 = t2713 * t349; + const double t2718 = -t2604 - t2471 + 0.19751673498613801407e-1 * t2713 * t347 - t1647 + t1673 + t1681 + t1685 - t1709 + t316 * t2716 - t1717 + t1788 - t1791; + const double t2724 = t1794 + t1797 - 0.8e1 * t2266 - 0.8e1 * t2268 + 0.2e1 * t2273 + t1806 - t1753 - 0.36622894612013090108e-3 * t2276 - 0.11696447245269292414e1 * t2279 + t1811 - t1815 - t1819 + t1826; + const double t2725 = t2718 + t2724; + const double t2726 = t2725 * t388; + const double t2727 = t989 * t1016; + const double t2728 = 0.2e1 * t2727; + const double t2732 = t2625 * t369; + const double t2735 = t377 * t246; + const double t2736 = t2735 * t2624; + const double t2739 = t994 * t2617; + const double t2748 = t385 * t246; + const double t2749 = t2748 * t2624; + const double t2752 = t1000 * t2617; + const double t2761 = t779 * t246; + const double t2762 = t2761 * t2624; + const double t2765 = t1006 * t2617; + const double t2774 = t1892 * t246; + const double t2781 = 0.88e2 / 0.9e1 * t357 * t2618 * t361 - 0.128e3 / 0.9e1 * t748 * t2732 + 0.128e3 / 0.9e1 * t1839 * t2736 - 0.88e2 / 0.9e1 * t749 * t2739 + 0.128e3 / 0.9e1 * t366 * t2732 - 0.512e3 / 0.9e1 * t1849 * t2736 + 0.176e3 / 0.9e1 * t754 * t2739 + 0.128e3 / 0.3e1 * t1855 * t2749 - 0.176e3 / 0.9e1 * t758 * t2752 + 0.128e3 / 0.3e1 * t1863 * t2736 - 0.128e3 * t1866 * t2749 + 0.88e2 / 0.3e1 * t763 * t2752 + 0.256e3 / 0.3e1 * t1872 * t2762 - 0.88e2 / 0.3e1 * t767 * t2765 + 0.256e3 / 0.3e1 * t1880 * t2749 - 0.2048e4 / 0.9e1 * t1883 * t2762 + 0.352e3 / 0.9e1 * t772 * t2765 + 0.128e4 / 0.9e1 * t1890 * t2774 * t2624 - 0.352e3 / 0.9e1 * t777 * t1012 * t2617; + const double t2782 = t354 * t2781; + const double t2783 = t2473 + t2606 + t2609 + t2612 - t2615 + t2672 + t2675 - t2678 - t2683 - t2687 + t2691 - t2699 + t2726 + t2728 + t2782; + const double t2785 = t490 * t1046; + const double t2786 = t2785 * t170; + const double t2790 = t502 * t125; + const double t2791 = t2790 * sigma_aa; + const double t2795 = t118 * t511 * t136; + const double t2803 = t131 * t521 * t148; + const double t2811 = t142 * t533 * t536; + const double t2818 = t1415 * rho_a; + const double t2819 = 0.1e1 / t2818; + const double t2824 = -0.8e1 / 0.3e1 * t102 * t494 * t112 + 0.8e1 * t499 * t2791 - 0.16e2 / 0.3e1 * t1378 * t2795 - 0.32e2 / 0.3e1 * t117 * t2791 + 0.8e2 / 0.3e1 * t509 * t2795 - 0.16e2 * t1388 * t2803 - 0.24e2 * t130 * t2795 + 0.56e2 * t518 * t2803 - 0.32e2 * t1400 * t2811 - 0.128e3 / 0.3e1 * t141 * t2803 + 0.96e2 * t529 * t2811 - 0.16e3 / 0.3e1 * t1413 * t530 * t2819 * t1420; + const double t2825 = t99 * t2824; + const double t2826 = t2825 * t170; + const double t2827 = t1047 * sigma_aa; + const double t2828 = t2827 * t546; + const double t2829 = t2828 / 0.8e1; + const double t2830 = t1047 * t158; + const double t2831 = t2830 * t554; + const double t2832 = 0.4e2 / 0.3e1 * t2831; + const double t2833 = t491 * t1050; + const double t2834 = t2833 / 0.8e1; + const double t2835 = t541 * t1050; + const double t2836 = t2835 / 0.8e1; + const double t2837 = t152 * t546; + const double t2838 = t2837 / 0.8e1; + const double t2839 = t152 * t122; + const double t2841 = tau_a * t165 * t168; + const double t2842 = t2839 * t2841; + const double t2843 = 0.5e1 / 0.3e1 * t2842; + const double t2844 = t743 * t1076; + const double t2848 = t502 * t369; + const double t2849 = t2848 * sigma_aa; + const double t2852 = t377 * t502; + const double t2853 = t2852 * sigma_aa; + const double t2856 = t1055 * t494; + const double t2865 = t385 * t502; + const double t2866 = t2865 * sigma_aa; + const double t2869 = t1060 * t494; + const double t2878 = t779 * t502; + const double t2879 = t2878 * sigma_aa; + const double t2882 = t1066 * t494; + const double t2891 = t1892 * t502; + const double t2898 = -0.8e1 / 0.3e1 * t357 * t494 * t361 + 0.16e2 / 0.3e1 * t748 * t2849 - 0.16e2 / 0.3e1 * t1839 * t2853 + 0.8e1 / 0.3e1 * t748 * t2856 - 0.16e2 / 0.3e1 * t366 * t2849 + 0.64e2 / 0.3e1 * t1849 * t2853 - 0.16e2 / 0.3e1 * t366 * t2856 - 0.16e2 * t1855 * t2866 + 0.16e2 / 0.3e1 * t757 * t2869 - 0.16e2 * t1863 * t2853 + 0.48e2 * t1866 * t2866 - 0.8e1 * t374 * t2869 - 0.32e2 * t1872 * t2879 + 0.8e1 * t766 * t2882 - 0.32e2 * t1880 * t2866 + 0.256e3 / 0.3e1 * t1883 * t2879 - 0.32e2 / 0.3e1 * t382 * t2882 - 0.16e3 / 0.3e1 * t1890 * t2891 * sigma_aa + 0.32e2 / 0.3e1 * t776 * t1072 * t494; + const double t2899 = t354 * t2898; + const double t2902 = t649 * t1105; + const double t2903 = t2902 * t290; + const double t2904 = t650 * t1109; + const double t2905 = t2904 / 0.8e1; + const double t2906 = t743 * t1131; + const double t2907 = t748 * t238; + const double t2910 = t377 * t238; + const double t2911 = t2910 * t495; + const double t2914 = t2298 * t238; + const double t2919 = t385 * t238; + const double t2920 = t2919 * t495; + const double t2927 = t779 * t238; + const double t2928 = t2927 * t495; + const double t2935 = t1892 * t238; + const double t2939 = 0.16e2 / 0.3e1 * t2907 * t751 - 0.16e2 / 0.3e1 * t1839 * t2911 - 0.16e2 / 0.3e1 * t2297 * t2914 + 0.64e2 / 0.3e1 * t1849 * t2911 - 0.16e2 * t1855 * t2920 - 0.16e2 * t1863 * t2911 + 0.48e2 * t1866 * t2920 - 0.32e2 * t1872 * t2928 - 0.32e2 * t1880 * t2920 + 0.256e3 / 0.3e1 * t1883 * t2928 - 0.16e3 / 0.3e1 * t1890 * t2935 * t495; + const double t2940 = t354 * t2939; + const double t2943 = t850 * t1046; + const double t2944 = t2943 * t170; + const double t2945 = t851 * t1050; + const double t2946 = t2945 / 0.8e1; + const double t2947 = t989 * t1076; + const double t2948 = t748 * t107; + const double t2951 = t377 * t107; + const double t2952 = t2951 * t920; + const double t2955 = t366 * sigma_bb; + const double t2956 = t2288 * t107; + const double t2961 = t385 * t107; + const double t2962 = t2961 * t920; + const double t2969 = t779 * t107; + const double t2970 = t2969 * t920; + const double t2977 = t1892 * t107; + const double t2981 = 0.16e2 / 0.3e1 * t2948 * t995 - 0.16e2 / 0.3e1 * t1839 * t2952 - 0.16e2 / 0.3e1 * t2955 * t2956 + 0.64e2 / 0.3e1 * t1849 * t2952 - 0.16e2 * t1855 * t2962 - 0.16e2 * t1863 * t2952 + 0.48e2 * t1866 * t2962 - 0.32e2 * t1872 * t2970 - 0.32e2 * t1880 * t2962 + 0.256e3 / 0.3e1 * t1883 * t2970 - 0.16e3 / 0.3e1 * t1890 * t2977 * t920; + const double t2982 = t354 * t2981; + const double t2985 = t915 * t1105; + const double t2986 = t2985 * t290; + const double t2990 = t926 * t253; + const double t2991 = t2990 * sigma_bb; + const double t2995 = t246 * t934 * t261; + const double t3003 = t256 * t943 * t270; + const double t3011 = t264 * t953 * t956; + const double t3018 = t2661 * rho_b; + const double t3019 = 0.1e1 / t3018; + const double t3024 = -0.8e1 / 0.3e1 * t102 * t919 * t243 + 0.8e1 * t499 * t2991 - 0.16e2 / 0.3e1 * t1378 * t2995 - 0.32e2 / 0.3e1 * t117 * t2991 + 0.8e2 / 0.3e1 * t509 * t2995 - 0.16e2 * t1388 * t3003 - 0.24e2 * t130 * t2995 + 0.56e2 * t518 * t3003 - 0.32e2 * t1400 * t3011 - 0.128e3 / 0.3e1 * t141 * t3003 + 0.96e2 * t529 * t3011 - 0.16e3 / 0.3e1 * t1413 * t950 * t3019 * t2666; + const double t3025 = t233 * t3024; + const double t3026 = t3025 * t290; + const double t3027 = t1106 * sigma_bb; + const double t3028 = t3027 * t966; + const double t3029 = t3028 / 0.8e1; + const double t3030 = t1106 * t280; + const double t3031 = t3030 * t974; + const double t3032 = 0.4e2 / 0.3e1 * t3031; + const double t3033 = t916 * t1109; + const double t3034 = t3033 / 0.8e1; + const double t3035 = t961 * t1109; + const double t3036 = t3035 / 0.8e1; + const double t3037 = t274 * t966; + const double t3038 = t3037 / 0.8e1; + const double t3039 = t274 * t250; + const double t3041 = tau_b * t165 * t288; + const double t3042 = t3039 * t3041; + const double t3043 = 0.5e1 / 0.3e1 * t3042; + const double t3044 = t989 * t1131; + const double t3048 = t926 * t369; + const double t3049 = t3048 * sigma_bb; + const double t3052 = t377 * t926; + const double t3053 = t3052 * sigma_bb; + const double t3056 = t1055 * t919; + const double t3065 = t385 * t926; + const double t3066 = t3065 * sigma_bb; + const double t3069 = t1060 * t919; + const double t3078 = t779 * t926; + const double t3079 = t3078 * sigma_bb; + const double t3082 = t1066 * t919; + const double t3091 = t1892 * t926; + const double t3098 = -0.8e1 / 0.3e1 * t357 * t919 * t361 + 0.16e2 / 0.3e1 * t748 * t3049 - 0.16e2 / 0.3e1 * t1839 * t3053 + 0.8e1 / 0.3e1 * t748 * t3056 - 0.16e2 / 0.3e1 * t366 * t3049 + 0.64e2 / 0.3e1 * t1849 * t3053 - 0.16e2 / 0.3e1 * t366 * t3056 - 0.16e2 * t1855 * t3066 + 0.16e2 / 0.3e1 * t757 * t3069 - 0.16e2 * t1863 * t3053 + 0.48e2 * t1866 * t3066 - 0.8e1 * t374 * t3069 - 0.32e2 * t1872 * t3079 + 0.8e1 * t766 * t3082 - 0.32e2 * t1880 * t3066 + 0.256e3 / 0.3e1 * t1883 * t3079 - 0.32e2 / 0.3e1 * t382 * t3082 - 0.16e3 / 0.3e1 * t1890 * t3091 * sigma_bb + 0.32e2 / 0.3e1 * t776 * t1072 * t919; + const double t3099 = t354 * t3098; + const double t3102 = t1359 * t1136; + const double t3103 = t3102 / 0.8e1; + const double t3104 = t1427 * t1136; + const double t3105 = t3104 / 0.8e1; + const double t3107 = t544 * t1134 * t169; + const double t3108 = t543 * t3107; + const double t3109 = t3108 / 0.8e1; + const double t3111 = t122 * t165 * t168; + const double t3112 = t543 * t3111; + const double t3113 = 0.2e1 / 0.3e1 * t3112; + const double t3114 = t1362 * t1140; + const double t3115 = 0.8e1 * t3114; + const double t3116 = t1430 * t1140; + const double t3117 = 0.8e1 * t3116; + const double t3119 = tau_a * t551 * t553; + const double t3120 = t549 * t3119; + const double t3121 = 0.8e2 / 0.3e1 * t3120; + const double t3122 = t159 * tau_a; + const double t3124 = 0.1e1 / t105 / t1371; + const double t3126 = t3122 * t3124 * t1452; + const double t3127 = t549 * t3126; + const double t3128 = 0.32e3 / 0.3e1 * t3127; + const double t3131 = t2237 * t1146; + const double t3132 = t3131 / 0.8e1; + const double t3133 = t2240 * t1150; + const double t3134 = 0.8e1 * t3133; + const double t3137 = t2068 * t1136; + const double t3138 = t3137 / 0.8e1; + const double t3139 = t2071 * t1140; + const double t3140 = 0.8e1 * t3139; + const double t3143 = t2610 * t1146; + const double t3144 = t3143 / 0.8e1; + const double t3145 = t2673 * t1146; + const double t3146 = t3145 / 0.8e1; + const double t3148 = t964 * t1144 * t289; + const double t3149 = t963 * t3148; + const double t3150 = t3149 / 0.8e1; + const double t3152 = t250 * t165 * t288; + const double t3153 = t963 * t3152; + const double t3154 = 0.2e1 / 0.3e1 * t3153; + const double t3155 = t2613 * t1150; + const double t3156 = 0.8e1 * t3155; + const double t3157 = t2676 * t1150; + const double t3158 = 0.8e1 * t3157; + const double t3160 = tau_b * t971 * t973; + const double t3161 = t969 * t3160; + const double t3162 = 0.8e2 / 0.3e1 * t3161; + const double t3163 = t281 * tau_b; + const double t3165 = 0.1e1 / t236 / t2622; + const double t3167 = t3163 * t3165 * t2696; + const double t3168 = t969 * t3167; + const double t3169 = 0.32e3 / 0.3e1 * t3168; + const double t3172 = t122 * t125; + const double t3176 = sigma_aa * t133 * t136; + const double t3184 = t118 * t145 * t148; + const double t3192 = t131 * t1041 * t536; + const double t3199 = 0.1e1 / t1415; + const double t3204 = 0.2e2 * t1413 * t142 * t3199 * t1420 + 0.2e1 * t117 * t3172 + 0.6e1 * t130 * t3176 + 0.2e1 * t1378 * t3176 + 0.6e1 * t1388 * t3184 + 0.12e2 * t1400 * t3192 + 0.12e2 * t141 * t3184 - 0.2e1 * t499 * t3172 - 0.8e1 * t509 * t3176 - 0.18e2 * t518 * t3184 - 0.32e2 * t529 * t3192; + const double t3205 = t99 * t3204; + const double t3206 = t3205 * t170; + const double t3208 = t1047 * t1050 / 0.4e1; + const double t3209 = t122 * t369; + const double t3212 = t2292 * t122; + const double t3219 = t2305 * t122; + const double t3226 = t2315 * t122; + const double t3236 = 0.2e2 * t1889 * t2325 * t122 + 0.2e1 * t1838 * t3212 + 0.6e1 * t1854 * t3219 + 0.12e2 * t1871 * t3226 + 0.2e1 * t366 * t3209 - 0.2e1 * t748 * t3209 + 0.6e1 * t374 * t3212 - 0.8e1 * t757 * t3212 + 0.12e2 * t382 * t3219 - 0.18e2 * t766 * t3219 - 0.32e2 * t776 * t3226; + const double t3237 = t354 * t3236; + const double t3239 = t4 * t354; + const double t3241 = t238 * t369 * t107; + const double t3244 = t2910 * t107; + const double t3251 = t2919 * t107; + const double t3258 = t2927 * t107; + const double t3268 = 0.2e2 * t1890 * t2935 * t107 + 0.2e1 * t1839 * t3244 - 0.8e1 * t1849 * t3244 + 0.6e1 * t1855 * t3251 + 0.6e1 * t1863 * t3244 - 0.18e2 * t1866 * t3251 + 0.12e2 * t1872 * t3258 + 0.12e2 * t1880 * t3251 - 0.32e2 * t1883 * t3258 + 0.2e1 * t366 * t3241 - 0.2e1 * t748 * t3241; + const double t3269 = t250 * t253; + const double t3273 = sigma_bb * t258 * t261; + const double t3281 = t246 * t267 * t270; + const double t3289 = t256 * t1100 * t956; + const double t3296 = 0.1e1 / t2661; + const double t3301 = 0.2e2 * t1413 * t264 * t3296 * t2666 + 0.2e1 * t117 * t3269 + 0.6e1 * t130 * t3273 + 0.2e1 * t1378 * t3273 + 0.6e1 * t1388 * t3281 + 0.12e2 * t1400 * t3289 + 0.12e2 * t141 * t3281 - 0.2e1 * t499 * t3269 - 0.8e1 * t509 * t3273 - 0.18e2 * t518 * t3281 - 0.32e2 * t529 * t3289; + const double t3302 = t233 * t3301; + const double t3303 = t3302 * t290; + const double t3305 = t1106 * t1109 / 0.4e1; + const double t3306 = t250 * t369; + const double t3309 = t2292 * t250; + const double t3316 = t2305 * t250; + const double t3323 = t2315 * t250; + const double t3333 = 0.2e2 * t1889 * t2325 * t250 + 0.2e1 * t1838 * t3309 + 0.6e1 * t1854 * t3316 + 0.12e2 * t1871 * t3323 + 0.2e1 * t366 * t3306 - 0.2e1 * t748 * t3306 + 0.6e1 * t374 * t3309 - 0.8e1 * t757 * t3309 + 0.12e2 * t382 * t3316 - 0.18e2 * t766 * t3316 - 0.32e2 * t776 * t3323; + const double t3334 = t354 * t3333; + const double t3337 = t2827 * t1136 / 0.8e1; + const double t3339 = t152 * t1136 / 0.8e1; + const double t3341 = 0.8e1 * t2830 * t1140; + const double t3343 = t551 * t165 * t168; + const double t3344 = t152 * t3343; + const double t3347 = t3027 * t1146 / 0.8e1; + const double t3349 = t274 * t1146 / 0.8e1; + const double t3351 = 0.8e1 * t3030 * t1150; + const double t3353 = t971 * t165 * t288; + const double t3354 = t274 * t3353; + const double t3356 = 0.1e1 / t3122; + const double t3358 = t153 * t3356 * t169; + const double t3360 = t543 * t3358 / 0.4e1; + const double t3362 = t551 * t155 * t553; + const double t3364 = 0.2e1 * t543 * t3362; + const double t3366 = t162 * t165 * t168; + const double t3368 = 0.8e1 * t549 * t3366; + const double t3370 = 0.1e1 / t105 / t500; + const double t3372 = t159 * t3370 * t1452; + const double t3374 = 0.64e2 * t549 * t3372; + const double t3376 = 0.1e1 / t3163; + const double t3378 = t275 * t3376 * t289; + const double t3380 = t963 * t3378 / 0.4e1; + const double t3382 = t971 * t277 * t973; + const double t3384 = 0.2e1 * t963 * t3382; + const double t3386 = t284 * t165 * t288; + const double t3388 = 0.8e1 * t969 * t3386; + const double t3390 = 0.1e1 / t236 / t924; + const double t3392 = t281 * t3390 * t2696; + const double t3394 = 0.64e2 * t969 * t3392; + + + v2rho2_aa = 0.2e1 * t492 + 0.2e1 * t542 + t547 / 0.4e1 - 0.8e2 / 0.3e1 * t555 + 0.2e1 * t651 + 0.2e1 * t744 + 0.2e1 * t785 + t4 * t1902; + v2rho2_ab = t4 * t2331 + t1017 + t492 + t542 + t548 - t556 + t651 + t744 + t785 + t852 + t917 + t962 + t968 - t976 + t990; + v2rho2_bb = 0.2e1 * t852 + 0.2e1 * t917 + 0.2e1 * t962 + t967 / 0.4e1 - 0.8e2 / 0.3e1 * t975 + 0.2e1 * t990 + 0.2e1 * t1017 + t4 * t2783; + v2rhosigma_a_aa = t1048 - t1052 + t1077 + t4 * ( t2786 + t2826 + t2829 - t2832 - t2834 - t2836 + t2838 + t2843 + t2844 + t2899 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1107 - t1111 + t1132 + t4 * ( t2903 - t2905 + t2906 + t2940 ); + v2rhosigma_b_aa = t1048 - t1052 + t1077 + t4 * ( t2944 - t2946 + t2947 + t2982 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1107 - t1111 + t1132 + t4 * ( t2986 + t3026 + t3029 - t3032 - t3034 - t3036 + t3038 + t3043 + t3044 + t3099 ); + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1138 + t1142 + t4 * ( t3103 + t3105 - t3109 - t3113 + t3115 + t3117 - t3121 + t3128 ); + v2rhotau_a_b = t1148 + t1152 + t4 * ( t3132 + t3134 ); + v2rhotau_b_a = t1138 + t1142 + t4 * ( t3138 + t3140 ); + v2rhotau_b_b = t1148 + t1152 + t4 * ( t3144 + t3146 - t3150 - t3154 + t3156 + t3158 - t3162 + t3169 ); + v2sigma2_aa_aa = t4 * ( t3206 - t3208 + t3237 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t3239 * t3268; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t3303 - t3305 + t3334 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t3337 + t3339 + t3341 - t3344 ); + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = t4 * ( t3347 + t3349 + t3351 - t3354 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t3360 + t3364 + t3368 - t3374 ); + v2tau2_ab = 0.e0; + v2tau2_bb = t4 * ( -t3380 + t3384 + t3388 - t3394 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t499 = t101 * t116; + constexpr double t509 = t115 * t129; + constexpr double t518 = t128 * t140; + constexpr double t528 = t140 * gamma_ss; + constexpr double t529 = t139 * t528; + constexpr double t661 = t13 * t16; + constexpr double t748 = t356 * t365; + constexpr double t757 = t364 * t373; + constexpr double t766 = t372 * t381; + constexpr double t775 = t381 * gamma_ab; + constexpr double t776 = t380 * t775; + constexpr double t1378 = t101 * t129; + constexpr double t1388 = t115 * t140; + constexpr double t1400 = t128 * t528; + constexpr double t1412 = t140 * t116; + constexpr double t1413 = t139 * t1412; + constexpr double t1450 = t164 * t164; + constexpr double t1451 = 0.1e1 / t1450; + constexpr double t1651 = t37 * t15; + constexpr double t1838 = t356 * t373; + constexpr double t1854 = t364 * t381; + constexpr double t1871 = t372 * t775; + constexpr double t1888 = t381 * t365; + constexpr double t1889 = t380 * t1888; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - sigma_aa * t153 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - sigma_bb * t275 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t390 = 0.1e1 / t313; + const double t391 = t3 * t390; + const double t392 = t5 - t391; + const double t393 = piecewise_functor_3( t8, 0.0, t392 ); + const double t396 = 0.1e1 / t18 / t4; + const double t397 = t396 * t20; + const double t399 = t17 * t397 * t26; + const double t400 = 0.17808333333333333333e-1 * t399; + const double t401 = 0.1e1 / t317; + const double t404 = piecewise_functor_3( t8, 0.0, -t401 * t392 / 0.3e1 ); + const double t406 = t17 * t21 * t404; + const double t408 = -t400 + 0.53425e-1 * t406; + const double t410 = 0.621814e-1 * t408 * t52; + const double t411 = t48 * t48; + const double t412 = 0.1e1 / t411; + const double t413 = t30 * t412; + const double t414 = 0.1e1 / t31; + const double t415 = t399 / 0.3e1; + const double t416 = -t415 + t406; + const double t417 = t414 * t416; + const double t419 = 0.29896666666666666667e0 * t399; + const double t421 = safe_math::sqrt( t28 ); + const double t422 = t421 * t416; + const double t425 = 0.1e1 / t40 / t4; + const double t426 = t425 * t42; + const double t428 = t39 * t426 * t44; + const double t429 = 0.82156666666666666667e-1 * t428; + const double t430 = t26 * t404; + const double t432 = t39 * t43 * t430; + const double t434 = 0.1898925e1 * t417 - t419 + 0.8969e0 * t406 + 0.3071625e0 * t422 - t429 + 0.24647e0 * t432; + const double t435 = 0.1e1 / t51; + const double t436 = t434 * t435; + const double t438 = 0.1e1 * t413 * t436; + const double t439 = 0.17123333333333333333e-1 * t399; + const double t441 = -t439 + 0.5137e-1 * t406; + const double t444 = t72 * t72; + const double t445 = 0.1e1 / t444; + const double t446 = t67 * t445; + const double t448 = 0.516475e0 * t399; + const double t451 = 0.104195e0 * t428; + const double t453 = 0.3529725e1 * t417 - t448 + 0.1549425e1 * t406 + 0.6311625e0 * t422 - t451 + 0.312585e0 * t432; + const double t454 = 0.1e1 / t75; + const double t455 = t453 * t454; + const double t458 = 0.92708333333333333333e-2 * t399; + const double t460 = -t458 + 0.278125e-1 * t406; + const double t461 = t460 * t89; + const double t463 = t85 * t85; + const double t464 = 0.1e1 / t463; + const double t465 = t80 * t464; + const double t467 = 0.301925e0 * t399; + const double t470 = 0.82785e-1 * t428; + const double t472 = 0.258925e1 * t417 - t467 + 0.905775e0 * t406 + 0.16504875e0 * t422 - t470 + 0.248355e0 * t432; + const double t473 = 0.1e1 / t88; + const double t474 = t472 * t473; + const double t481 = t65 * t80; + const double t483 = t464 * t472 * t473; + const double t486 = -t410 + t438 + t65 * ( -0.310907e-1 * t441 * t76 + 0.1e1 * t446 * t455 + t410 - t438 - 0.19751673498613801407e-1 * t461 + 0.5848223622634646207e0 * t465 * t474 ) + 0.19751673498613801407e-1 * t65 * t461 - 0.5848223622634646207e0 * t481 * t483; + const double t490 = piecewise_functor_3( t9, 0.0, t10 * t486 / 0.2e1 + t393 * t96 / 0.2e1 ); + const double t491 = t490 * t151; + const double t492 = t491 * t170; + const double t494 = 0.1e1 / t105 / t160; + const double t495 = sigma_aa * t494; + const double t500 = t119 * t103; + const double t502 = 0.1e1 / t104 / t500; + const double t504 = t118 * t502 * t125; + const double t510 = t132 * rho_a; + const double t511 = 0.1e1 / t510; + const double t513 = t131 * t511 * t136; + const double t519 = t132 * t160; + const double t521 = 0.1e1 / t105 / t519; + const double t523 = t142 * t521 * t148; + const double t530 = t142 * sigma_aa; + const double t531 = t132 * t500; + const double t533 = 0.1e1 / t104 / t531; + const double t536 = 0.1e1 / t147 / t111; + const double t540 = -0.8e1 / 0.3e1 * t102 * t495 * t112 + 0.8e1 / 0.3e1 * t499 * t504 - 0.16e2 / 0.3e1 * t117 * t504 + 0.16e2 / 0.3e1 * t509 * t513 - 0.8e1 * t130 * t513 + 0.8e1 * t518 * t523 - 0.32e2 / 0.3e1 * t141 * t523 + 0.32e2 / 0.3e1 * t529 * t530 * t533 * t536; + const double t541 = t99 * t540; + const double t542 = t541 * t170; + const double t543 = t152 * sigma_aa; + const double t544 = 0.1e1 / t103; + const double t546 = t544 * t155 * t169; + const double t547 = t543 * t546; + const double t548 = t547 / 0.8e1; + const double t549 = t152 * t158; + const double t551 = 0.1e1 / t104 / t119; + const double t553 = t165 * t168; + const double t554 = t159 * t551 * t553; + const double t555 = t549 * t554; + const double t556 = 0.4e2 / 0.3e1 * t555; + const double t557 = -t392; + const double t558 = piecewise_functor_3( t174, 0.0, t557 ); + const double t561 = t17 * t397 * t179; + const double t562 = 0.17808333333333333333e-1 * t561; + const double t563 = 0.1e1 / t319; + const double t566 = piecewise_functor_3( t174, 0.0, -t563 * t557 / 0.3e1 ); + const double t568 = t17 * t21 * t566; + const double t570 = -t562 + 0.53425e-1 * t568; + const double t572 = 0.621814e-1 * t570 * t197; + const double t573 = t193 * t193; + const double t574 = 0.1e1 / t573; + const double t575 = t183 * t574; + const double t576 = 0.1e1 / t184; + const double t577 = t561 / 0.3e1; + const double t578 = -t577 + t568; + const double t579 = t576 * t578; + const double t581 = 0.29896666666666666667e0 * t561; + const double t583 = safe_math::sqrt( t181 ); + const double t584 = t583 * t578; + const double t587 = t39 * t426 * t189; + const double t588 = 0.82156666666666666667e-1 * t587; + const double t589 = t179 * t566; + const double t591 = t39 * t43 * t589; + const double t593 = 0.1898925e1 * t579 - t581 + 0.8969e0 * t568 + 0.3071625e0 * t584 - t588 + 0.24647e0 * t591; + const double t594 = 0.1e1 / t196; + const double t595 = t593 * t594; + const double t597 = 0.1e1 * t575 * t595; + const double t598 = 0.17123333333333333333e-1 * t561; + const double t600 = -t598 + 0.5137e-1 * t568; + const double t603 = t206 * t206; + const double t604 = 0.1e1 / t603; + const double t605 = t201 * t604; + const double t607 = 0.516475e0 * t561; + const double t610 = 0.104195e0 * t587; + const double t612 = 0.3529725e1 * t579 - t607 + 0.1549425e1 * t568 + 0.6311625e0 * t584 - t610 + 0.312585e0 * t591; + const double t613 = 0.1e1 / t209; + const double t614 = t612 * t613; + const double t617 = 0.92708333333333333333e-2 * t561; + const double t619 = -t617 + 0.278125e-1 * t568; + const double t620 = t619 * t223; + const double t622 = t219 * t219; + const double t623 = 0.1e1 / t622; + const double t624 = t214 * t623; + const double t626 = 0.301925e0 * t561; + const double t629 = 0.82785e-1 * t587; + const double t631 = 0.258925e1 * t579 - t626 + 0.905775e0 * t568 + 0.16504875e0 * t584 - t629 + 0.248355e0 * t591; + const double t632 = 0.1e1 / t222; + const double t633 = t631 * t632; + const double t640 = t65 * t214; + const double t642 = t623 * t631 * t632; + const double t645 = -t572 + t597 + t65 * ( -0.310907e-1 * t600 * t210 + 0.1e1 * t605 * t614 + t572 - t597 - 0.19751673498613801407e-1 * t620 + 0.5848223622634646207e0 * t624 * t633 ) + 0.19751673498613801407e-1 * t65 * t620 - 0.5848223622634646207e0 * t640 * t642; + const double t649 = piecewise_functor_3( t175, 0.0, t176 * t645 / 0.2e1 + t558 * t230 / 0.2e1 ); + const double t650 = t649 * t273; + const double t651 = t650 * t290; + const double t652 = t16 * t396; + const double t655 = 0.11073470983333333333e-2 * t14 * t652 * t308; + const double t656 = t304 * t304; + const double t657 = 0.1e1 / t656; + const double t658 = t295 * t657; + const double t660 = 0.1e1 / t296 * t11; + const double t662 = t661 * t396; + const double t663 = t660 * t662; + const double t665 = t14 * t652; + const double t667 = safe_math::sqrt( t293 ); + const double t668 = t667 * t11; + const double t669 = t668 * t662; + const double t672 = t38 * t15 * t425; + const double t674 = -0.632975e0 * t663 - 0.29896666666666666667e0 * t665 - 0.1023875e0 * t669 - 0.82156666666666666667e-1 * t672; + const double t675 = 0.1e1 / t307; + const double t676 = t674 * t675; + const double t678 = 0.1e1 * t658 * t676; + const double t679 = t311 * t3; + const double t680 = t679 * t315; + const double t682 = 0.4e1 * t680 * t350; + const double t683 = t314 * t4; + const double t684 = 0.1e1 / t683; + const double t685 = t312 * t684; + const double t687 = 0.4e1 * t685 * t350; + const double t690 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t392 ); + const double t693 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t557 ); + const double t695 = ( t690 + t693 ) * t64; + const double t696 = t695 * t349; + const double t701 = t329 * t329; + const double t702 = 0.1e1 / t701; + const double t703 = t324 * t702; + const double t708 = -0.1176575e1 * t663 - 0.516475e0 * t665 - 0.2103875e0 * t669 - 0.104195e0 * t672; + const double t709 = 0.1e1 / t332; + const double t710 = t708 * t709; + const double t716 = t342 * t342; + const double t717 = 0.1e1 / t716; + const double t718 = t337 * t717; + const double t723 = -0.86308333333333333334e0 * t663 - 0.301925e0 * t665 - 0.5501625e-1 * t669 - 0.82785e-1 * t672; + const double t724 = 0.1e1 / t345; + const double t725 = t723 * t724; + const double t728 = 0.53237641966666666666e-3 * t14 * t652 * t333 + 0.1e1 * t703 * t710 - t655 - t678 + 0.18311447306006545054e-3 * t14 * t652 * t346 + 0.5848223622634646207e0 * t718 * t725; + const double t729 = t322 * t728; + const double t730 = t316 * t729; + const double t733 = t322 * t11; + const double t735 = t661 * t396 * t346; + const double t737 = 0.18311447306006545054e-3 * t733 * t735; + const double t738 = t322 * t337; + const double t740 = t717 * t723 * t724; + const double t742 = 0.5848223622634646207e0 * t738 * t740; + const double t743 = t655 + t678 + t682 - t687 + t316 * t696 + t730 + 0.19751673498613801407e-1 * t695 * t347 - t737 - t742 - t490 - t649; + const double t744 = t743 * t388; + const double t749 = t748 * t358; + const double t750 = t369 * sigma_aa; + const double t751 = t750 * t494; + const double t754 = t366 * t358; + const double t758 = t757 * t367; + const double t759 = t377 * sigma_aa; + const double t760 = t759 * t494; + const double t763 = t374 * t367; + const double t767 = t766 * t375; + const double t768 = t385 * sigma_aa; + const double t769 = t768 * t494; + const double t772 = t382 * t375; + const double t777 = t776 * t383; + const double t779 = 0.1e1 / t384 / t360; + const double t780 = t779 * sigma_aa; + const double t784 = -0.8e1 / 0.3e1 * t357 * t495 * t361 + 0.8e1 / 0.3e1 * t749 * t751 - 0.16e2 / 0.3e1 * t754 * t751 + 0.16e2 / 0.3e1 * t758 * t760 - 0.8e1 * t763 * t760 + 0.8e1 * t767 * t769 - 0.32e2 / 0.3e1 * t772 * t769 + 0.32e2 / 0.3e1 * t777 * t780 * t494; + const double t785 = t354 * t784; + const double t788 = -t5 - t391; + const double t789 = piecewise_functor_3( t8, 0.0, t788 ); + const double t793 = piecewise_functor_3( t8, 0.0, -t401 * t788 / 0.3e1 ); + const double t795 = t17 * t21 * t793; + const double t797 = -t400 + 0.53425e-1 * t795; + const double t799 = 0.621814e-1 * t797 * t52; + const double t800 = -t415 + t795; + const double t801 = t414 * t800; + const double t804 = t421 * t800; + const double t806 = t26 * t793; + const double t808 = t39 * t43 * t806; + const double t810 = 0.1898925e1 * t801 - t419 + 0.8969e0 * t795 + 0.3071625e0 * t804 - t429 + 0.24647e0 * t808; + const double t811 = t810 * t435; + const double t813 = 0.1e1 * t413 * t811; + const double t815 = -t439 + 0.5137e-1 * t795; + const double t822 = 0.3529725e1 * t801 - t448 + 0.1549425e1 * t795 + 0.6311625e0 * t804 - t451 + 0.312585e0 * t808; + const double t823 = t822 * t454; + const double t827 = -t458 + 0.278125e-1 * t795; + const double t828 = t827 * t89; + const double t834 = 0.258925e1 * t801 - t467 + 0.905775e0 * t795 + 0.16504875e0 * t804 - t470 + 0.248355e0 * t808; + const double t835 = t834 * t473; + const double t843 = t464 * t834 * t473; + const double t846 = -t799 + t813 + t65 * ( -0.310907e-1 * t815 * t76 + 0.1e1 * t446 * t823 + t799 - t813 - 0.19751673498613801407e-1 * t828 + 0.5848223622634646207e0 * t465 * t835 ) + 0.19751673498613801407e-1 * t65 * t828 - 0.5848223622634646207e0 * t481 * t843; + const double t850 = piecewise_functor_3( t9, 0.0, t10 * t846 / 0.2e1 + t789 * t96 / 0.2e1 ); + const double t851 = t850 * t151; + const double t852 = t851 * t170; + const double t853 = -t788; + const double t854 = piecewise_functor_3( t174, 0.0, t853 ); + const double t858 = piecewise_functor_3( t174, 0.0, -t563 * t853 / 0.3e1 ); + const double t860 = t17 * t21 * t858; + const double t862 = -t562 + 0.53425e-1 * t860; + const double t864 = 0.621814e-1 * t862 * t197; + const double t865 = -t577 + t860; + const double t866 = t576 * t865; + const double t869 = t583 * t865; + const double t871 = t179 * t858; + const double t873 = t39 * t43 * t871; + const double t875 = 0.1898925e1 * t866 - t581 + 0.8969e0 * t860 + 0.3071625e0 * t869 - t588 + 0.24647e0 * t873; + const double t876 = t875 * t594; + const double t878 = 0.1e1 * t575 * t876; + const double t880 = -t598 + 0.5137e-1 * t860; + const double t887 = 0.3529725e1 * t866 - t607 + 0.1549425e1 * t860 + 0.6311625e0 * t869 - t610 + 0.312585e0 * t873; + const double t888 = t887 * t613; + const double t892 = -t617 + 0.278125e-1 * t860; + const double t893 = t892 * t223; + const double t899 = 0.258925e1 * t866 - t626 + 0.905775e0 * t860 + 0.16504875e0 * t869 - t629 + 0.248355e0 * t873; + const double t900 = t899 * t632; + const double t908 = t623 * t899 * t632; + const double t911 = -t864 + t878 + t65 * ( -0.310907e-1 * t880 * t210 + 0.1e1 * t605 * t888 + t864 - t878 - 0.19751673498613801407e-1 * t893 + 0.5848223622634646207e0 * t624 * t900 ) + 0.19751673498613801407e-1 * t65 * t893 - 0.5848223622634646207e0 * t640 * t908; + const double t915 = piecewise_functor_3( t175, 0.0, t176 * t911 / 0.2e1 + t854 * t230 / 0.2e1 ); + const double t916 = t915 * t273; + const double t917 = t916 * t290; + const double t919 = 0.1e1 / t236 / t282; + const double t920 = sigma_bb * t919; + const double t924 = t247 * t234; + const double t926 = 0.1e1 / t235 / t924; + const double t928 = t246 * t926 * t253; + const double t933 = t257 * rho_b; + const double t934 = 0.1e1 / t933; + const double t936 = t256 * t934 * t261; + const double t941 = t257 * t282; + const double t943 = 0.1e1 / t236 / t941; + const double t945 = t264 * t943 * t270; + const double t950 = t264 * sigma_bb; + const double t951 = t257 * t924; + const double t953 = 0.1e1 / t235 / t951; + const double t956 = 0.1e1 / t269 / t242; + const double t960 = -0.8e1 / 0.3e1 * t102 * t920 * t243 + 0.8e1 / 0.3e1 * t499 * t928 - 0.16e2 / 0.3e1 * t117 * t928 + 0.16e2 / 0.3e1 * t509 * t936 - 0.8e1 * t130 * t936 + 0.8e1 * t518 * t945 - 0.32e2 / 0.3e1 * t141 * t945 + 0.32e2 / 0.3e1 * t529 * t950 * t953 * t956; + const double t961 = t233 * t960; + const double t962 = t961 * t290; + const double t963 = t274 * sigma_bb; + const double t964 = 0.1e1 / t234; + const double t966 = t964 * t277 * t289; + const double t967 = t963 * t966; + const double t968 = t967 / 0.8e1; + const double t969 = t274 * t280; + const double t971 = 0.1e1 / t235 / t247; + const double t973 = t165 * t288; + const double t974 = t281 * t971 * t973; + const double t975 = t969 * t974; + const double t976 = 0.4e2 / 0.3e1 * t975; + const double t979 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t788 ); + const double t982 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t853 ); + const double t984 = ( t979 + t982 ) * t64; + const double t985 = t984 * t349; + const double t989 = t655 + t678 - t682 - t687 + t316 * t985 + t730 + 0.19751673498613801407e-1 * t984 * t347 - t737 - t742 - t850 - t915; + const double t990 = t989 * t388; + const double t994 = t369 * sigma_bb; + const double t995 = t994 * t919; + const double t1000 = t377 * sigma_bb; + const double t1001 = t1000 * t919; + const double t1006 = t385 * sigma_bb; + const double t1007 = t1006 * t919; + const double t1012 = t779 * sigma_bb; + const double t1016 = -0.8e1 / 0.3e1 * t357 * t920 * t361 + 0.8e1 / 0.3e1 * t749 * t995 - 0.16e2 / 0.3e1 * t754 * t995 + 0.16e2 / 0.3e1 * t758 * t1001 - 0.8e1 * t763 * t1001 + 0.8e1 * t767 * t1007 - 0.32e2 / 0.3e1 * t772 * t1007 + 0.32e2 / 0.3e1 * t777 * t1012 * t919; + const double t1017 = t354 * t1016; + const double t1023 = sigma_aa * t122 * t125; + const double t1028 = t118 * t133 * t136; + const double t1034 = t131 * t145 * t148; + const double t1039 = t132 * t120; + const double t1041 = 0.1e1 / t104 / t1039; + const double t1046 = -0.4e1 * t529 * t142 * t1041 * t536 + t102 * t107 * t112 + 0.2e1 * t117 * t1023 - t499 * t1023 + 0.3e1 * t130 * t1028 - 0.2e1 * t509 * t1028 + 0.4e1 * t141 * t1034 - 0.3e1 * t518 * t1034; + const double t1047 = t99 * t1046; + const double t1048 = t1047 * t170; + const double t1050 = t153 * t155 * t169; + const double t1052 = t152 * t1050 / 0.8e1; + const double t1055 = t358 * t369; + const double t1056 = t1055 * t107; + const double t1060 = t367 * t377; + const double t1061 = t1060 * t107; + const double t1066 = t375 * t385; + const double t1067 = t1066 * t107; + const double t1072 = t383 * t779; + const double t1076 = -0.4e1 * t776 * t1072 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1056 - t748 * t1056 + 0.3e1 * t374 * t1061 - 0.2e1 * t757 * t1061 + 0.4e1 * t382 * t1067 - 0.3e1 * t766 * t1067; + const double t1077 = t354 * t1076; + const double t1082 = sigma_bb * t250 * t253; + const double t1087 = t246 * t258 * t261; + const double t1093 = t256 * t267 * t270; + const double t1098 = t257 * t248; + const double t1100 = 0.1e1 / t235 / t1098; + const double t1105 = -0.4e1 * t529 * t264 * t1100 * t956 + t102 * t238 * t243 + 0.2e1 * t117 * t1082 - t499 * t1082 + 0.3e1 * t130 * t1087 - 0.2e1 * t509 * t1087 + 0.4e1 * t141 * t1093 - 0.3e1 * t518 * t1093; + const double t1106 = t233 * t1105; + const double t1107 = t1106 * t290; + const double t1109 = t275 * t277 * t289; + const double t1111 = t274 * t1109 / 0.8e1; + const double t1114 = t1055 * t238; + const double t1118 = t1060 * t238; + const double t1123 = t1066 * t238; + const double t1131 = -0.4e1 * t776 * t1072 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1114 - t748 * t1114 + 0.3e1 * t374 * t1118 - 0.2e1 * t757 * t1118 + 0.4e1 * t382 * t1123 - 0.3e1 * t766 * t1123; + const double t1132 = t354 * t1131; + const double t1134 = 0.1e1 / t159; + const double t1136 = t153 * t1134 * t169; + const double t1138 = t543 * t1136 / 0.8e1; + const double t1140 = tau_a * t162 * t553; + const double t1142 = 0.8e1 * t549 * t1140; + const double t1144 = 0.1e1 / t281; + const double t1146 = t275 * t1144 * t289; + const double t1148 = t963 * t1146 / 0.8e1; + const double t1150 = tau_b * t284 * t973; + const double t1152 = 0.8e1 * t969 * t1150; + const double t1161 = t313 * t4; + const double t1162 = 0.1e1 / t1161; + const double t1163 = t3 * t1162; + const double t1165 = -0.2e1 * t390 + 0.2e1 * t1163; + const double t1166 = piecewise_functor_3( t8, 0.0, t1165 ); + const double t1171 = 0.1e1 / t18 / t313; + const double t1172 = t1171 * t20; + const double t1174 = t17 * t1172 * t26; + const double t1175 = 0.23744444444444444444e-1 * t1174; + const double t1177 = t17 * t397 * t404; + const double t1179 = t7 * t7; + const double t1181 = 0.1e1 / t24 / t1179; + const double t1182 = t392 * t392; + const double t1188 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t1182 - t401 * t1165 / 0.3e1 ); + const double t1190 = t17 * t21 * t1188; + const double t1192 = t1175 - 0.35616666666666666666e-1 * t1177 + 0.53425e-1 * t1190; + const double t1194 = 0.621814e-1 * t1192 * t52; + const double t1195 = t408 * t412; + const double t1197 = 0.2e1 * t1195 * t436; + const double t1198 = t411 * t48; + const double t1199 = 0.1e1 / t1198; + const double t1200 = t30 * t1199; + const double t1201 = t434 * t434; + const double t1202 = t1201 * t435; + const double t1204 = 0.2e1 * t1200 * t1202; + const double t1206 = 0.1e1 / t31 / t28; + const double t1207 = t416 * t416; + const double t1208 = t1206 * t1207; + const double t1210 = 0.4e1 / 0.9e1 * t1174; + const double t1212 = t1210 - 0.2e1 / 0.3e1 * t1177 + t1190; + const double t1213 = t414 * t1212; + const double t1215 = 0.39862222222222222223e0 * t1174; + const double t1218 = 0.1e1/safe_math::sqrt( t28 ); + const double t1219 = t1218 * t1207; + const double t1221 = t421 * t1212; + const double t1224 = 0.1e1 / t40 / t313; + const double t1225 = t1224 * t42; + const double t1227 = t39 * t1225 * t44; + const double t1228 = 0.13692777777777777778e0 * t1227; + const double t1230 = t39 * t426 * t430; + const double t1232 = t404 * t404; + const double t1234 = t39 * t43 * t1232; + const double t1236 = t26 * t1188; + const double t1238 = t39 * t43 * t1236; + const double t1240 = -0.9494625e0 * t1208 + 0.1898925e1 * t1213 + t1215 - 0.59793333333333333334e0 * t1177 + 0.8969e0 * t1190 + 0.15358125e0 * t1219 + 0.3071625e0 * t1221 + t1228 - 0.32862666666666666666e0 * t1230 + 0.24647e0 * t1234 + 0.24647e0 * t1238; + const double t1241 = t1240 * t435; + const double t1243 = 0.1e1 * t413 * t1241; + const double t1244 = t411 * t411; + const double t1245 = 0.1e1 / t1244; + const double t1246 = t30 * t1245; + const double t1247 = t51 * t51; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1201 * t1248; + const double t1251 = 0.16081979498692535067e2 * t1246 * t1249; + const double t1252 = 0.22831111111111111111e-1 * t1174; + const double t1255 = t1252 - 0.34246666666666666666e-1 * t1177 + 0.5137e-1 * t1190; + const double t1258 = t441 * t445; + const double t1261 = t444 * t72; + const double t1262 = 0.1e1 / t1261; + const double t1263 = t67 * t1262; + const double t1264 = t453 * t453; + const double t1265 = t1264 * t454; + const double t1270 = 0.68863333333333333333e0 * t1174; + const double t1275 = 0.17365833333333333333e0 * t1227; + const double t1279 = -0.17648625e1 * t1208 + 0.3529725e1 * t1213 + t1270 - 0.103295e1 * t1177 + 0.1549425e1 * t1190 + 0.31558125e0 * t1219 + 0.6311625e0 * t1221 + t1275 - 0.41678e0 * t1230 + 0.312585e0 * t1234 + 0.312585e0 * t1238; + const double t1280 = t1279 * t454; + const double t1283 = t444 * t444; + const double t1284 = 0.1e1 / t1283; + const double t1285 = t67 * t1284; + const double t1286 = t75 * t75; + const double t1287 = 0.1e1 / t1286; + const double t1288 = t1264 * t1287; + const double t1291 = 0.12361111111111111111e-1 * t1174; + const double t1294 = t1291 - 0.18541666666666666667e-1 * t1177 + 0.278125e-1 * t1190; + const double t1295 = t1294 * t89; + const double t1297 = t460 * t464; + const double t1300 = t463 * t85; + const double t1301 = 0.1e1 / t1300; + const double t1302 = t80 * t1301; + const double t1303 = t472 * t472; + const double t1304 = t1303 * t473; + const double t1309 = 0.40256666666666666667e0 * t1174; + const double t1314 = 0.137975e0 * t1227; + const double t1318 = -0.1294625e1 * t1208 + 0.258925e1 * t1213 + t1309 - 0.60385e0 * t1177 + 0.905775e0 * t1190 + 0.82524375e-1 * t1219 + 0.16504875e0 * t1221 + t1314 - 0.33114e0 * t1230 + 0.248355e0 * t1234 + 0.248355e0 * t1238; + const double t1319 = t1318 * t473; + const double t1322 = t463 * t463; + const double t1323 = 0.1e1 / t1322; + const double t1324 = t80 * t1323; + const double t1325 = t88 * t88; + const double t1326 = 0.1e1 / t1325; + const double t1327 = t1303 * t1326; + const double t1330 = -0.310907e-1 * t1255 * t76 + 0.2e1 * t1258 * t455 - 0.2e1 * t1263 * t1265 + 0.1e1 * t446 * t1280 + 0.32163958997385070134e2 * t1285 * t1288 + t1194 - t1197 + t1204 - t1243 - t1251 - 0.19751673498613801407e-1 * t1295 + 0.11696447245269292414e1 * t1297 * t474 - 0.11696447245269292414e1 * t1302 * t1304 + 0.5848223622634646207e0 * t465 * t1319 + 0.17315859105681463759e2 * t1324 * t1327; + const double t1334 = t65 * t460; + const double t1338 = t1301 * t1303 * t473; + const double t1342 = t464 * t1318 * t473; + const double t1345 = t1323 * t1303; + const double t1346 = t1345 * t1326; + const double t1349 = -t1194 + t1197 - t1204 + t1243 + t1251 + t65 * t1330 + 0.19751673498613801407e-1 * t65 * t1295 - 0.11696447245269292414e1 * t1334 * t483 + 0.11696447245269292414e1 * t481 * t1338 - 0.5848223622634646207e0 * t481 * t1342 - 0.17315859105681463759e2 * t481 * t1346; + const double t1353 = piecewise_functor_3( t9, 0.0, t1166 * t96 / 0.2e1 + t393 * t486 + t10 * t1349 / 0.2e1 ); + const double t1354 = t1353 * t151; + const double t1355 = t1354 * t170; + const double t1356 = t490 * t540; + const double t1357 = t1356 * t170; + const double t1358 = 0.2e1 * t1357; + const double t1359 = t491 * sigma_aa; + const double t1360 = t1359 * t546; + const double t1361 = t1360 / 0.4e1; + const double t1362 = t491 * t158; + const double t1363 = t1362 * t554; + const double t1364 = 0.8e2 / 0.3e1 * t1363; + const double t1366 = 0.1e1 / t105 / t119; + const double t1367 = sigma_aa * t1366; + const double t1371 = t119 * t160; + const double t1373 = 0.1e1 / t104 / t1371; + const double t1374 = t118 * t1373; + const double t1375 = t1374 * t125; + const double t1379 = 0.1e1 / t143; + const double t1381 = t131 * t1379 * t136; + const double t1389 = t132 * t119; + const double t1391 = 0.1e1 / t105 / t1389; + const double t1393 = t142 * t1391 * t148; + const double t1401 = t132 * t1371; + const double t1403 = 0.1e1 / t104 / t1401; + const double t1405 = t530 * t1403 * t536; + const double t1414 = t142 * t118; + const double t1415 = t132 * t132; + const double t1416 = t1415 * t103; + const double t1417 = 0.1e1 / t1416; + const double t1420 = 0.1e1 / t147 / t124; + const double t1424 = 0.88e2 / 0.9e1 * t102 * t1367 * t112 - 0.24e2 * t499 * t1375 + 0.128e3 / 0.9e1 * t1378 * t1381 + 0.304e3 / 0.9e1 * t117 * t1375 - 0.688e3 / 0.9e1 * t509 * t1381 + 0.128e3 / 0.3e1 * t1388 * t1393 + 0.72e2 * t130 * t1381 - 0.472e3 / 0.3e1 * t518 * t1393 + 0.256e3 / 0.3e1 * t1400 * t1405 + 0.112e4 / 0.9e1 * t141 * t1393 - 0.8e3 / 0.3e1 * t529 * t1405 + 0.128e4 / 0.9e1 * t1413 * t1414 * t1417 * t1420; + const double t1425 = t99 * t1424; + const double t1426 = t1425 * t170; + const double t1427 = t541 * sigma_aa; + const double t1428 = t1427 * t546; + const double t1429 = t1428 / 0.4e1; + const double t1430 = t541 * t158; + const double t1431 = t1430 * t554; + const double t1432 = 0.8e2 / 0.3e1 * t1431; + const double t1433 = 0.1e1 / t160; + const double t1435 = t1433 * t155 * t169; + const double t1436 = t543 * t1435; + const double t1437 = t1436 / 0.4e1; + const double t1439 = t502 * tau_a * t553; + const double t1440 = t543 * t1439; + const double t1441 = 0.1e2 / 0.3e1 * t1440; + const double t1443 = t159 * t122 * t553; + const double t1444 = t549 * t1443; + const double t1445 = 0.52e3 / 0.9e1 * t1444; + const double t1446 = t159 * t159; + const double t1448 = 0.1e1 / t105 / t132; + const double t1452 = t1451 * t168; + const double t1453 = t1446 * t1448 * t1452; + const double t1454 = t549 * t1453; + const double t1455 = 0.16e4 / 0.9e1 * t1454; + const double t1456 = -t1165; + const double t1457 = piecewise_functor_3( t174, 0.0, t1456 ); + const double t1462 = t17 * t1172 * t179; + const double t1463 = 0.23744444444444444444e-1 * t1462; + const double t1465 = t17 * t397 * t566; + const double t1467 = t173 * t173; + const double t1469 = 0.1e1 / t177 / t1467; + const double t1470 = t557 * t557; + const double t1476 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t1470 - t563 * t1456 / 0.3e1 ); + const double t1478 = t17 * t21 * t1476; + const double t1480 = t1463 - 0.35616666666666666666e-1 * t1465 + 0.53425e-1 * t1478; + const double t1482 = 0.621814e-1 * t1480 * t197; + const double t1483 = t570 * t574; + const double t1485 = 0.2e1 * t1483 * t595; + const double t1486 = t573 * t193; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t183 * t1487; + const double t1489 = t593 * t593; + const double t1490 = t1489 * t594; + const double t1492 = 0.2e1 * t1488 * t1490; + const double t1494 = 0.1e1 / t184 / t181; + const double t1495 = t578 * t578; + const double t1496 = t1494 * t1495; + const double t1498 = 0.4e1 / 0.9e1 * t1462; + const double t1500 = t1498 - 0.2e1 / 0.3e1 * t1465 + t1478; + const double t1501 = t576 * t1500; + const double t1503 = 0.39862222222222222223e0 * t1462; + const double t1506 = 0.1e1/safe_math::sqrt( t181 ); + const double t1507 = t1506 * t1495; + const double t1509 = t583 * t1500; + const double t1512 = t39 * t1225 * t189; + const double t1513 = 0.13692777777777777778e0 * t1512; + const double t1515 = t39 * t426 * t589; + const double t1517 = t566 * t566; + const double t1519 = t39 * t43 * t1517; + const double t1521 = t179 * t1476; + const double t1523 = t39 * t43 * t1521; + const double t1525 = -0.9494625e0 * t1496 + 0.1898925e1 * t1501 + t1503 - 0.59793333333333333334e0 * t1465 + 0.8969e0 * t1478 + 0.15358125e0 * t1507 + 0.3071625e0 * t1509 + t1513 - 0.32862666666666666666e0 * t1515 + 0.24647e0 * t1519 + 0.24647e0 * t1523; + const double t1526 = t1525 * t594; + const double t1528 = 0.1e1 * t575 * t1526; + const double t1529 = t573 * t573; + const double t1530 = 0.1e1 / t1529; + const double t1531 = t183 * t1530; + const double t1532 = t196 * t196; + const double t1533 = 0.1e1 / t1532; + const double t1534 = t1489 * t1533; + const double t1536 = 0.16081979498692535067e2 * t1531 * t1534; + const double t1537 = 0.22831111111111111111e-1 * t1462; + const double t1540 = t1537 - 0.34246666666666666666e-1 * t1465 + 0.5137e-1 * t1478; + const double t1543 = t600 * t604; + const double t1546 = t603 * t206; + const double t1547 = 0.1e1 / t1546; + const double t1548 = t201 * t1547; + const double t1549 = t612 * t612; + const double t1550 = t1549 * t613; + const double t1555 = 0.68863333333333333333e0 * t1462; + const double t1560 = 0.17365833333333333333e0 * t1512; + const double t1564 = -0.17648625e1 * t1496 + 0.3529725e1 * t1501 + t1555 - 0.103295e1 * t1465 + 0.1549425e1 * t1478 + 0.31558125e0 * t1507 + 0.6311625e0 * t1509 + t1560 - 0.41678e0 * t1515 + 0.312585e0 * t1519 + 0.312585e0 * t1523; + const double t1565 = t1564 * t613; + const double t1568 = t603 * t603; + const double t1569 = 0.1e1 / t1568; + const double t1570 = t201 * t1569; + const double t1571 = t209 * t209; + const double t1572 = 0.1e1 / t1571; + const double t1573 = t1549 * t1572; + const double t1576 = 0.12361111111111111111e-1 * t1462; + const double t1579 = t1576 - 0.18541666666666666667e-1 * t1465 + 0.278125e-1 * t1478; + const double t1580 = t1579 * t223; + const double t1582 = t619 * t623; + const double t1585 = t622 * t219; + const double t1586 = 0.1e1 / t1585; + const double t1587 = t214 * t1586; + const double t1588 = t631 * t631; + const double t1589 = t1588 * t632; + const double t1594 = 0.40256666666666666667e0 * t1462; + const double t1599 = 0.137975e0 * t1512; + const double t1603 = -0.1294625e1 * t1496 + 0.258925e1 * t1501 + t1594 - 0.60385e0 * t1465 + 0.905775e0 * t1478 + 0.82524375e-1 * t1507 + 0.16504875e0 * t1509 + t1599 - 0.33114e0 * t1515 + 0.248355e0 * t1519 + 0.248355e0 * t1523; + const double t1604 = t1603 * t632; + const double t1607 = t622 * t622; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t214 * t1608; + const double t1610 = t222 * t222; + const double t1611 = 0.1e1 / t1610; + const double t1612 = t1588 * t1611; + const double t1615 = -0.310907e-1 * t1540 * t210 + 0.2e1 * t1543 * t614 - 0.2e1 * t1548 * t1550 + 0.1e1 * t605 * t1565 + 0.32163958997385070134e2 * t1570 * t1573 + t1482 - t1485 + t1492 - t1528 - t1536 - 0.19751673498613801407e-1 * t1580 + 0.11696447245269292414e1 * t1582 * t633 - 0.11696447245269292414e1 * t1587 * t1589 + 0.5848223622634646207e0 * t624 * t1604 + 0.17315859105681463759e2 * t1609 * t1612; + const double t1619 = t65 * t619; + const double t1623 = t1586 * t1588 * t632; + const double t1627 = t623 * t1603 * t632; + const double t1630 = t1608 * t1588; + const double t1631 = t1630 * t1611; + const double t1634 = -t1482 + t1485 - t1492 + t1528 + t1536 + t65 * t1615 + 0.19751673498613801407e-1 * t65 * t1580 - 0.11696447245269292414e1 * t1619 * t642 + 0.11696447245269292414e1 * t640 * t1623 - 0.5848223622634646207e0 * t640 * t1627 - 0.17315859105681463759e2 * t640 * t1631; + const double t1638 = piecewise_functor_3( t175, 0.0, t1457 * t230 / 0.2e1 + t558 * t645 + t176 * t1634 / 0.2e1 ); + const double t1639 = t1638 * t273; + const double t1640 = t1639 * t290; + const double t1641 = t656 * t304; + const double t1642 = 0.1e1 / t1641; + const double t1643 = t295 * t1642; + const double t1644 = t674 * t674; + const double t1645 = t1644 * t675; + const double t1647 = 0.2e1 * t1643 * t1645; + const double t1650 = 0.1e1 / t296 / t293 * t36; + const double t1652 = t1651 * t1224; + const double t1653 = t1650 * t1652; + const double t1655 = t661 * t1171; + const double t1656 = t660 * t1655; + const double t1658 = t16 * t1171; + const double t1659 = t14 * t1658; + const double t1661 = 0.1e1/safe_math::sqrt( t293 ); + const double t1662 = t1661 * t36; + const double t1663 = t1662 * t1652; + const double t1665 = t668 * t1655; + const double t1668 = t38 * t15 * t1224; + const double t1670 = -0.42198333333333333333e0 * t1653 + 0.84396666666666666666e0 * t1656 + 0.39862222222222222223e0 * t1659 + 0.68258333333333333333e-1 * t1663 + 0.13651666666666666667e0 * t1665 + 0.13692777777777777778e0 * t1668; + const double t1671 = t1670 * t675; + const double t1673 = 0.1e1 * t658 * t1671; + const double t1674 = t656 * t656; + const double t1675 = 0.1e1 / t1674; + const double t1676 = t295 * t1675; + const double t1677 = t307 * t307; + const double t1678 = 0.1e1 / t1677; + const double t1679 = t1644 * t1678; + const double t1681 = 0.16081979498692535067e2 * t1676 * t1679; + const double t1682 = t322 * t14; + const double t1683 = t652 * t740; + const double t1685 = 0.10843581300301739842e-1 * t1682 * t1683; + const double t1686 = t24 * t24; + const double t1687 = 0.1e1 / t1686; + const double t1693 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t1182 + 0.4e1 / 0.3e1 * t24 * t1165 ); + const double t1694 = t177 * t177; + const double t1695 = 0.1e1 / t1694; + const double t1701 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t1470 + 0.4e1 / 0.3e1 * t177 * t1456 ); + const double t1703 = ( t1693 + t1701 ) * t64; + const double t1706 = t685 * t696; + const double t1709 = 0.8e1 * t685 * t729; + const double t1710 = t695 * t728; + const double t1711 = t316 * t1710; + const double t1713 = t1703 * t349; + const double t1717 = 0.14764627977777777777e-2 * t14 * t1658 * t308; + const double t1721 = t396 * t702; + const double t1725 = t701 * t329; + const double t1726 = 0.1e1 / t1725; + const double t1727 = t324 * t1726; + const double t1728 = t708 * t708; + const double t1729 = t1728 * t709; + const double t1738 = -0.78438333333333333333e0 * t1653 + 0.15687666666666666667e1 * t1656 + 0.68863333333333333333e0 * t1659 + 0.14025833333333333333e0 * t1663 + 0.28051666666666666667e0 * t1665 + 0.17365833333333333333e0 * t1668; + const double t1739 = t1738 * t709; + const double t1742 = t701 * t701; + const double t1743 = 0.1e1 / t1742; + const double t1744 = t324 * t1743; + const double t1745 = t332 * t332; + const double t1746 = 0.1e1 / t1745; + const double t1747 = t1728 * t1746; + const double t1750 = t396 * t657; + const double t1753 = 0.35616666666666666666e-1 * t17 * t1750 * t676; + const double t1757 = t396 * t717; + const double t1761 = t716 * t342; + const double t1762 = 0.1e1 / t1761; + const double t1763 = t337 * t1762; + const double t1764 = t723 * t723; + const double t1765 = t1764 * t724; + const double t1774 = -0.57538888888888888889e0 * t1653 + 0.11507777777777777778e1 * t1656 + 0.40256666666666666667e0 * t1659 + 0.366775e-1 * t1663 + 0.73355e-1 * t1665 + 0.137975e0 * t1668; + const double t1775 = t1774 * t724; + const double t1778 = t716 * t716; + const double t1779 = 0.1e1 / t1778; + const double t1780 = t337 * t1779; + const double t1781 = t345 * t345; + const double t1782 = 0.1e1 / t1781; + const double t1783 = t1764 * t1782; + const double t1786 = -0.70983522622222222221e-3 * t14 * t1658 * t333 - 0.34246666666666666666e-1 * t17 * t1721 * t710 - 0.2e1 * t1727 * t1729 + 0.1e1 * t703 * t1739 + 0.32163958997385070134e2 * t1744 * t1747 + t1717 + t1753 + t1647 - t1673 - t1681 - 0.24415263074675393405e-3 * t14 * t1658 * t346 - 0.10843581300301739842e-1 * t17 * t1757 * t725 - 0.11696447245269292414e1 * t1763 * t1765 + 0.5848223622634646207e0 * t718 * t1775 + 0.17315859105681463759e2 * t1780 * t1783; + const double t1787 = t322 * t1786; + const double t1788 = t316 * t1787; + const double t1789 = -t1647 + t1673 + t1681 + t1685 + 0.19751673498613801407e-1 * t1703 * t347 - t1638 - 0.8e1 * t1706 - t1709 + 0.2e1 * t1711 + t316 * t1713 - t1717 + t1788; + const double t1791 = 0.8e1 * t680 * t729; + const double t1792 = t311 * t315; + const double t1794 = 0.12e2 * t1792 * t350; + const double t1795 = t679 * t684; + const double t1797 = 0.32e2 * t1795 * t350; + const double t1798 = t680 * t696; + const double t1800 = t695 * t11; + const double t1801 = t1800 * t735; + const double t1804 = t661 * t1171 * t346; + const double t1806 = 0.24415263074675393405e-3 * t733 * t1804; + const double t1808 = 0.1e1 / t314 / t313; + const double t1809 = t312 * t1808; + const double t1811 = 0.2e2 * t1809 * t350; + const double t1813 = t1779 * t1764 * t1782; + const double t1815 = 0.17315859105681463759e2 * t738 * t1813; + const double t1817 = t717 * t1774 * t724; + const double t1819 = 0.5848223622634646207e0 * t738 * t1817; + const double t1820 = t695 * t337; + const double t1821 = t1820 * t740; + const double t1824 = t1762 * t1764 * t724; + const double t1826 = 0.11696447245269292414e1 * t738 * t1824; + const double t1827 = t1791 + t1794 - t1797 + 0.8e1 * t1798 - 0.36622894612013090108e-3 * t1801 + t1806 - t1753 + t1811 - t1353 - t1815 - t1819 - 0.11696447245269292414e1 * t1821 + t1826; + const double t1828 = t1789 + t1827; + const double t1829 = t1828 * t388; + const double t1830 = t743 * t784; + const double t1831 = 0.2e1 * t1830; + const double t1835 = t1374 * t369; + const double t1839 = t1838 * t358; + const double t1840 = t377 * t118; + const double t1841 = t1840 * t1373; + const double t1844 = t750 * t1366; + const double t1849 = t757 * t358; + const double t1855 = t1854 * t367; + const double t1856 = t385 * t118; + const double t1857 = t1856 * t1373; + const double t1860 = t759 * t1366; + const double t1863 = t374 * t358; + const double t1866 = t766 * t367; + const double t1872 = t1871 * t375; + const double t1873 = t779 * t118; + const double t1874 = t1873 * t1373; + const double t1877 = t768 * t1366; + const double t1880 = t382 * t367; + const double t1883 = t776 * t375; + const double t1890 = t1889 * t383; + const double t1892 = 0.1e1 / t384 / t368; + const double t1893 = t1892 * t118; + const double t1900 = 0.88e2 / 0.9e1 * t357 * t1367 * t361 - 0.128e3 / 0.9e1 * t748 * t1835 + 0.128e3 / 0.9e1 * t1839 * t1841 - 0.88e2 / 0.9e1 * t749 * t1844 + 0.128e3 / 0.9e1 * t366 * t1835 - 0.512e3 / 0.9e1 * t1849 * t1841 + 0.176e3 / 0.9e1 * t754 * t1844 + 0.128e3 / 0.3e1 * t1855 * t1857 - 0.176e3 / 0.9e1 * t758 * t1860 + 0.128e3 / 0.3e1 * t1863 * t1841 - 0.128e3 * t1866 * t1857 + 0.88e2 / 0.3e1 * t763 * t1860 + 0.256e3 / 0.3e1 * t1872 * t1874 - 0.88e2 / 0.3e1 * t767 * t1877 + 0.256e3 / 0.3e1 * t1880 * t1857 - 0.2048e4 / 0.9e1 * t1883 * t1874 + 0.352e3 / 0.9e1 * t772 * t1877 + 0.128e4 / 0.9e1 * t1890 * t1893 * t1373 - 0.352e3 / 0.9e1 * t777 * t780 * t1366; + const double t1901 = t354 * t1900; + const double t1902 = t1355 + t1358 + t1361 - t1364 + t1426 + t1429 - t1432 - t1437 - t1441 + t1445 - t1455 + t1640 + t1829 + t1831 + t1901; + const double t1904 = 0.2e1 * t1163; + const double t1905 = piecewise_functor_3( t8, 0.0, t1904 ); + const double t1911 = t17 * t397 * t793; + const double t1913 = t1181 * t788; + const double t1916 = t401 * t3; + const double t1920 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1913 * t392 - 0.2e1 / 0.3e1 * t1916 * t1162 ); + const double t1922 = t17 * t21 * t1920; + const double t1924 = t1175 - 0.17808333333333333333e-1 * t1177 - 0.17808333333333333333e-1 * t1911 + 0.53425e-1 * t1922; + const double t1926 = 0.621814e-1 * t1924 * t52; + const double t1927 = t797 * t412; + const double t1929 = 0.1e1 * t1927 * t436; + const double t1931 = 0.1e1 * t1195 * t811; + const double t1932 = t811 * t434; + const double t1934 = 0.2e1 * t1200 * t1932; + const double t1935 = t1206 * t800; + const double t1936 = t1935 * t416; + const double t1940 = t1210 - t1177 / 0.3e1 - t1911 / 0.3e1 + t1922; + const double t1941 = t414 * t1940; + const double t1946 = t1218 * t800; + const double t1947 = t1946 * t416; + const double t1949 = t421 * t1940; + const double t1953 = t39 * t426 * t806; + const double t1955 = t404 * t793; + const double t1957 = t39 * t43 * t1955; + const double t1959 = t26 * t1920; + const double t1961 = t39 * t43 * t1959; + const double t1963 = -0.9494625e0 * t1936 + 0.1898925e1 * t1941 + t1215 - 0.29896666666666666667e0 * t1177 - 0.29896666666666666667e0 * t1911 + 0.8969e0 * t1922 + 0.15358125e0 * t1947 + 0.3071625e0 * t1949 + t1228 - 0.16431333333333333333e0 * t1230 - 0.16431333333333333333e0 * t1953 + 0.24647e0 * t1957 + 0.24647e0 * t1961; + const double t1964 = t1963 * t435; + const double t1966 = 0.1e1 * t413 * t1964; + const double t1967 = t810 * t1248; + const double t1968 = t1967 * t434; + const double t1970 = 0.16081979498692535067e2 * t1246 * t1968; + const double t1974 = t1252 - 0.17123333333333333333e-1 * t1177 - 0.17123333333333333333e-1 * t1911 + 0.5137e-1 * t1922; + const double t1977 = t815 * t445; + const double t1982 = t823 * t453; + const double t1996 = -0.17648625e1 * t1936 + 0.3529725e1 * t1941 + t1270 - 0.516475e0 * t1177 - 0.516475e0 * t1911 + 0.1549425e1 * t1922 + 0.31558125e0 * t1947 + 0.6311625e0 * t1949 + t1275 - 0.20839e0 * t1230 - 0.20839e0 * t1953 + 0.312585e0 * t1957 + 0.312585e0 * t1961; + const double t1997 = t1996 * t454; + const double t2000 = t822 * t1287; + const double t2001 = t2000 * t453; + const double t2007 = t1291 - 0.92708333333333333333e-2 * t1177 - 0.92708333333333333333e-2 * t1911 + 0.278125e-1 * t1922; + const double t2008 = t2007 * t89; + const double t2010 = t827 * t464; + const double t2015 = t835 * t472; + const double t2029 = -0.1294625e1 * t1936 + 0.258925e1 * t1941 + t1309 - 0.301925e0 * t1177 - 0.301925e0 * t1911 + 0.905775e0 * t1922 + 0.82524375e-1 * t1947 + 0.16504875e0 * t1949 + t1314 - 0.16557e0 * t1230 - 0.16557e0 * t1953 + 0.248355e0 * t1957 + 0.248355e0 * t1961; + const double t2030 = t2029 * t473; + const double t2033 = t834 * t1326; + const double t2034 = t2033 * t472; + const double t2037 = -0.310907e-1 * t1974 * t76 + 0.1e1 * t1977 * t455 + 0.1e1 * t1258 * t823 - 0.2e1 * t1263 * t1982 + 0.1e1 * t446 * t1997 + 0.32163958997385070134e2 * t1285 * t2001 + t1926 - t1929 - t1931 + t1934 - t1966 - t1970 - 0.19751673498613801407e-1 * t2008 + 0.5848223622634646207e0 * t2010 * t474 + 0.5848223622634646207e0 * t1297 * t835 - 0.11696447245269292414e1 * t1302 * t2015 + 0.5848223622634646207e0 * t465 * t2030 + 0.17315859105681463759e2 * t1324 * t2034; + const double t2041 = t65 * t827; + const double t2046 = t1301 * t834; + const double t2047 = t2046 * t474; + const double t2051 = t464 * t2029 * t473; + const double t2054 = t1323 * t834; + const double t2055 = t1326 * t472; + const double t2056 = t2054 * t2055; + const double t2059 = -t1926 + t1929 + t1931 - t1934 + t1966 + t1970 + t65 * t2037 + 0.19751673498613801407e-1 * t65 * t2008 - 0.5848223622634646207e0 * t2041 * t483 - 0.5848223622634646207e0 * t1334 * t843 + 0.11696447245269292414e1 * t481 * t2047 - 0.5848223622634646207e0 * t481 * t2051 - 0.17315859105681463759e2 * t481 * t2056; + const double t2063 = piecewise_functor_3( t9, 0.0, t10 * t2059 / 0.2e1 + t1905 * t96 / 0.2e1 + t393 * t846 / 0.2e1 + t789 * t486 / 0.2e1 ); + const double t2064 = t2063 * t151; + const double t2065 = t2064 * t170; + const double t2066 = t850 * t540; + const double t2067 = t2066 * t170; + const double t2068 = t851 * sigma_aa; + const double t2069 = t2068 * t546; + const double t2071 = t851 * t158; + const double t2072 = t2071 * t554; + const double t2074 = piecewise_functor_3( t174, 0.0, -t1904 ); + const double t2080 = t17 * t397 * t858; + const double t2082 = t1469 * t853; + const double t2085 = t563 * t3; + const double t2089 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2082 * t557 + 0.2e1 / 0.3e1 * t2085 * t1162 ); + const double t2091 = t17 * t21 * t2089; + const double t2093 = t1463 - 0.17808333333333333333e-1 * t1465 - 0.17808333333333333333e-1 * t2080 + 0.53425e-1 * t2091; + const double t2095 = 0.621814e-1 * t2093 * t197; + const double t2096 = t862 * t574; + const double t2098 = 0.1e1 * t2096 * t595; + const double t2100 = 0.1e1 * t1483 * t876; + const double t2101 = t876 * t593; + const double t2103 = 0.2e1 * t1488 * t2101; + const double t2104 = t1494 * t865; + const double t2105 = t2104 * t578; + const double t2109 = t1498 - t1465 / 0.3e1 - t2080 / 0.3e1 + t2091; + const double t2110 = t576 * t2109; + const double t2115 = t1506 * t865; + const double t2116 = t2115 * t578; + const double t2118 = t583 * t2109; + const double t2122 = t39 * t426 * t871; + const double t2124 = t566 * t858; + const double t2126 = t39 * t43 * t2124; + const double t2128 = t179 * t2089; + const double t2130 = t39 * t43 * t2128; + const double t2132 = -0.9494625e0 * t2105 + 0.1898925e1 * t2110 + t1503 - 0.29896666666666666667e0 * t1465 - 0.29896666666666666667e0 * t2080 + 0.8969e0 * t2091 + 0.15358125e0 * t2116 + 0.3071625e0 * t2118 + t1513 - 0.16431333333333333333e0 * t1515 - 0.16431333333333333333e0 * t2122 + 0.24647e0 * t2126 + 0.24647e0 * t2130; + const double t2133 = t2132 * t594; + const double t2135 = 0.1e1 * t575 * t2133; + const double t2136 = t875 * t1533; + const double t2137 = t2136 * t593; + const double t2139 = 0.16081979498692535067e2 * t1531 * t2137; + const double t2143 = t1537 - 0.17123333333333333333e-1 * t1465 - 0.17123333333333333333e-1 * t2080 + 0.5137e-1 * t2091; + const double t2146 = t880 * t604; + const double t2151 = t888 * t612; + const double t2165 = -0.17648625e1 * t2105 + 0.3529725e1 * t2110 + t1555 - 0.516475e0 * t1465 - 0.516475e0 * t2080 + 0.1549425e1 * t2091 + 0.31558125e0 * t2116 + 0.6311625e0 * t2118 + t1560 - 0.20839e0 * t1515 - 0.20839e0 * t2122 + 0.312585e0 * t2126 + 0.312585e0 * t2130; + const double t2166 = t2165 * t613; + const double t2169 = t887 * t1572; + const double t2170 = t2169 * t612; + const double t2176 = t1576 - 0.92708333333333333333e-2 * t1465 - 0.92708333333333333333e-2 * t2080 + 0.278125e-1 * t2091; + const double t2177 = t2176 * t223; + const double t2179 = t892 * t623; + const double t2184 = t900 * t631; + const double t2198 = -0.1294625e1 * t2105 + 0.258925e1 * t2110 + t1594 - 0.301925e0 * t1465 - 0.301925e0 * t2080 + 0.905775e0 * t2091 + 0.82524375e-1 * t2116 + 0.16504875e0 * t2118 + t1599 - 0.16557e0 * t1515 - 0.16557e0 * t2122 + 0.248355e0 * t2126 + 0.248355e0 * t2130; + const double t2199 = t2198 * t632; + const double t2202 = t899 * t1611; + const double t2203 = t2202 * t631; + const double t2206 = -0.310907e-1 * t2143 * t210 + 0.1e1 * t2146 * t614 + 0.1e1 * t1543 * t888 - 0.2e1 * t1548 * t2151 + 0.1e1 * t605 * t2166 + 0.32163958997385070134e2 * t1570 * t2170 + t2095 - t2098 - t2100 + t2103 - t2135 - t2139 - 0.19751673498613801407e-1 * t2177 + 0.5848223622634646207e0 * t2179 * t633 + 0.5848223622634646207e0 * t1582 * t900 - 0.11696447245269292414e1 * t1587 * t2184 + 0.5848223622634646207e0 * t624 * t2199 + 0.17315859105681463759e2 * t1609 * t2203; + const double t2210 = t65 * t892; + const double t2215 = t1586 * t899; + const double t2216 = t2215 * t633; + const double t2220 = t623 * t2198 * t632; + const double t2223 = t1608 * t899; + const double t2224 = t1611 * t631; + const double t2225 = t2223 * t2224; + const double t2228 = -t2095 + t2098 + t2100 - t2103 + t2135 + t2139 + t65 * t2206 + 0.19751673498613801407e-1 * t65 * t2177 - 0.5848223622634646207e0 * t2210 * t642 - 0.5848223622634646207e0 * t1619 * t908 + 0.11696447245269292414e1 * t640 * t2216 - 0.5848223622634646207e0 * t640 * t2220 - 0.17315859105681463759e2 * t640 * t2225; + const double t2232 = piecewise_functor_3( t175, 0.0, t176 * t2228 / 0.2e1 + t2074 * t230 / 0.2e1 + t558 * t911 / 0.2e1 + t854 * t645 / 0.2e1 ); + const double t2233 = t2232 * t273; + const double t2234 = t2233 * t290; + const double t2235 = t649 * t960; + const double t2236 = t2235 * t290; + const double t2237 = t650 * sigma_bb; + const double t2238 = t2237 * t966; + const double t2240 = t650 * t280; + const double t2241 = t2240 * t974; + const double t2244 = t1687 * t788; + const double t2247 = t24 * t3; + const double t2251 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2244 * t392 + 0.8e1 / 0.3e1 * t2247 * t1162 ); + const double t2252 = t1695 * t853; + const double t2255 = t177 * t3; + const double t2259 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2252 * t557 - 0.8e1 / 0.3e1 * t2255 * t1162 ); + const double t2261 = ( t2251 + t2259 ) * t64; + const double t2265 = -t2232 - t2063 - t1647 + t1673 + t1681 + t1685 - 0.4e1 * t1706 - t1709 + t1711 + 0.19751673498613801407e-1 * t2261 * t347 - t1717 + t1788 - t1794 - 0.4e1 * t1798; + const double t2266 = t680 * t985; + const double t2268 = t685 * t985; + const double t2270 = t2261 * t349; + const double t2272 = t984 * t728; + const double t2273 = t316 * t2272; + const double t2275 = t984 * t11; + const double t2276 = t2275 * t735; + const double t2278 = t984 * t337; + const double t2279 = t2278 * t740; + const double t2282 = 0.4e1 * t2266 - 0.4e1 * t2268 + t316 * t2270 + t2273 - 0.18311447306006545054e-3 * t1801 + t1806 - t1753 - 0.18311447306006545054e-3 * t2276 - 0.5848223622634646207e0 * t2279 + t1811 - t1815 - t1819 - 0.5848223622634646207e0 * t1821 + t1826; + const double t2283 = t2265 + t2282; + const double t2284 = t2283 * t388; + const double t2285 = t989 * t784; + const double t2286 = t743 * t1016; + const double t2287 = t748 * sigma_bb; + const double t2288 = t919 * t369; + const double t2292 = t358 * t377; + const double t2293 = t1838 * t2292; + const double t2294 = t920 * t495; + const double t2297 = t366 * sigma_aa; + const double t2298 = t494 * t369; + const double t2302 = t757 * t2292; + const double t2305 = t367 * t385; + const double t2306 = t1854 * t2305; + const double t2309 = t374 * t2292; + const double t2312 = t766 * t2305; + const double t2315 = t375 * t779; + const double t2316 = t1871 * t2315; + const double t2319 = t382 * t2305; + const double t2322 = t776 * t2315; + const double t2325 = t383 * t1892; + const double t2326 = t1889 * t2325; + const double t2329 = -0.128e3 / 0.9e1 * t2287 * t2288 * t495 + 0.128e3 / 0.9e1 * t2293 * t2294 + 0.128e3 / 0.9e1 * t2297 * t2298 * t920 - 0.512e3 / 0.9e1 * t2302 * t2294 + 0.128e3 / 0.3e1 * t2306 * t2294 + 0.128e3 / 0.3e1 * t2309 * t2294 - 0.128e3 * t2312 * t2294 + 0.256e3 / 0.3e1 * t2316 * t2294 + 0.256e3 / 0.3e1 * t2319 * t2294 - 0.2048e4 / 0.9e1 * t2322 * t2294 + 0.128e4 / 0.9e1 * t2326 * t2294; + const double t2330 = t354 * t2329; + const double t2331 = t2065 + t2067 + t2069 / 0.8e1 - 0.4e2 / 0.3e1 * t2072 + t2234 + t2236 + t2238 / 0.8e1 - 0.4e2 / 0.3e1 * t2241 + t2284 + t2285 + t2286 + t2330; + const double t2341 = 0.2e1 * t390 + 0.2e1 * t1163; + const double t2342 = piecewise_functor_3( t8, 0.0, t2341 ); + const double t2347 = t788 * t788; + const double t2353 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1181 * t2347 - t401 * t2341 / 0.3e1 ); + const double t2355 = t17 * t21 * t2353; + const double t2357 = t1175 - 0.35616666666666666666e-1 * t1911 + 0.53425e-1 * t2355; + const double t2359 = 0.621814e-1 * t2357 * t52; + const double t2361 = 0.2e1 * t1927 * t811; + const double t2362 = t810 * t810; + const double t2363 = t2362 * t435; + const double t2365 = 0.2e1 * t1200 * t2363; + const double t2366 = t800 * t800; + const double t2367 = t1206 * t2366; + const double t2370 = t1210 - 0.2e1 / 0.3e1 * t1911 + t2355; + const double t2371 = t414 * t2370; + const double t2375 = t1218 * t2366; + const double t2377 = t421 * t2370; + const double t2380 = t793 * t793; + const double t2382 = t39 * t43 * t2380; + const double t2384 = t26 * t2353; + const double t2386 = t39 * t43 * t2384; + const double t2388 = -0.9494625e0 * t2367 + 0.1898925e1 * t2371 + t1215 - 0.59793333333333333334e0 * t1911 + 0.8969e0 * t2355 + 0.15358125e0 * t2375 + 0.3071625e0 * t2377 + t1228 - 0.32862666666666666666e0 * t1953 + 0.24647e0 * t2382 + 0.24647e0 * t2386; + const double t2389 = t2388 * t435; + const double t2391 = 0.1e1 * t413 * t2389; + const double t2392 = t2362 * t1248; + const double t2394 = 0.16081979498692535067e2 * t1246 * t2392; + const double t2397 = t1252 - 0.34246666666666666666e-1 * t1911 + 0.5137e-1 * t2355; + const double t2402 = t822 * t822; + const double t2403 = t2402 * t454; + const double t2415 = -0.17648625e1 * t2367 + 0.3529725e1 * t2371 + t1270 - 0.103295e1 * t1911 + 0.1549425e1 * t2355 + 0.31558125e0 * t2375 + 0.6311625e0 * t2377 + t1275 - 0.41678e0 * t1953 + 0.312585e0 * t2382 + 0.312585e0 * t2386; + const double t2416 = t2415 * t454; + const double t2419 = t2402 * t1287; + const double t2424 = t1291 - 0.18541666666666666667e-1 * t1911 + 0.278125e-1 * t2355; + const double t2425 = t2424 * t89; + const double t2429 = t834 * t834; + const double t2430 = t2429 * t473; + const double t2442 = -0.1294625e1 * t2367 + 0.258925e1 * t2371 + t1309 - 0.60385e0 * t1911 + 0.905775e0 * t2355 + 0.82524375e-1 * t2375 + 0.16504875e0 * t2377 + t1314 - 0.33114e0 * t1953 + 0.248355e0 * t2382 + 0.248355e0 * t2386; + const double t2443 = t2442 * t473; + const double t2446 = t2429 * t1326; + const double t2449 = -0.310907e-1 * t2397 * t76 + 0.2e1 * t1977 * t823 - 0.2e1 * t1263 * t2403 + 0.1e1 * t446 * t2416 + 0.32163958997385070134e2 * t1285 * t2419 + t2359 - t2361 + t2365 - t2391 - t2394 - 0.19751673498613801407e-1 * t2425 + 0.11696447245269292414e1 * t2010 * t835 - 0.11696447245269292414e1 * t1302 * t2430 + 0.5848223622634646207e0 * t465 * t2443 + 0.17315859105681463759e2 * t1324 * t2446; + const double t2456 = t1301 * t2429 * t473; + const double t2460 = t464 * t2442 * t473; + const double t2463 = t1323 * t2429; + const double t2464 = t2463 * t1326; + const double t2467 = -t2359 + t2361 - t2365 + t2391 + t2394 + t65 * t2449 + 0.19751673498613801407e-1 * t65 * t2425 - 0.11696447245269292414e1 * t2041 * t843 + 0.11696447245269292414e1 * t481 * t2456 - 0.5848223622634646207e0 * t481 * t2460 - 0.17315859105681463759e2 * t481 * t2464; + const double t2471 = piecewise_functor_3( t9, 0.0, t2342 * t96 / 0.2e1 + t789 * t846 + t10 * t2467 / 0.2e1 ); + const double t2472 = t2471 * t151; + const double t2473 = t2472 * t170; + const double t2474 = -t2341; + const double t2475 = piecewise_functor_3( t174, 0.0, t2474 ); + const double t2480 = t853 * t853; + const double t2486 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1469 * t2480 - t563 * t2474 / 0.3e1 ); + const double t2488 = t17 * t21 * t2486; + const double t2490 = t1463 - 0.35616666666666666666e-1 * t2080 + 0.53425e-1 * t2488; + const double t2492 = 0.621814e-1 * t2490 * t197; + const double t2494 = 0.2e1 * t2096 * t876; + const double t2495 = t875 * t875; + const double t2496 = t2495 * t594; + const double t2498 = 0.2e1 * t1488 * t2496; + const double t2499 = t865 * t865; + const double t2500 = t1494 * t2499; + const double t2503 = t1498 - 0.2e1 / 0.3e1 * t2080 + t2488; + const double t2504 = t576 * t2503; + const double t2508 = t1506 * t2499; + const double t2510 = t583 * t2503; + const double t2513 = t858 * t858; + const double t2515 = t39 * t43 * t2513; + const double t2517 = t179 * t2486; + const double t2519 = t39 * t43 * t2517; + const double t2521 = -0.9494625e0 * t2500 + 0.1898925e1 * t2504 + t1503 - 0.59793333333333333334e0 * t2080 + 0.8969e0 * t2488 + 0.15358125e0 * t2508 + 0.3071625e0 * t2510 + t1513 - 0.32862666666666666666e0 * t2122 + 0.24647e0 * t2515 + 0.24647e0 * t2519; + const double t2522 = t2521 * t594; + const double t2524 = 0.1e1 * t575 * t2522; + const double t2525 = t2495 * t1533; + const double t2527 = 0.16081979498692535067e2 * t1531 * t2525; + const double t2530 = t1537 - 0.34246666666666666666e-1 * t2080 + 0.5137e-1 * t2488; + const double t2535 = t887 * t887; + const double t2536 = t2535 * t613; + const double t2548 = -0.17648625e1 * t2500 + 0.3529725e1 * t2504 + t1555 - 0.103295e1 * t2080 + 0.1549425e1 * t2488 + 0.31558125e0 * t2508 + 0.6311625e0 * t2510 + t1560 - 0.41678e0 * t2122 + 0.312585e0 * t2515 + 0.312585e0 * t2519; + const double t2549 = t2548 * t613; + const double t2552 = t2535 * t1572; + const double t2557 = t1576 - 0.18541666666666666667e-1 * t2080 + 0.278125e-1 * t2488; + const double t2558 = t2557 * t223; + const double t2562 = t899 * t899; + const double t2563 = t2562 * t632; + const double t2575 = -0.1294625e1 * t2500 + 0.258925e1 * t2504 + t1594 - 0.60385e0 * t2080 + 0.905775e0 * t2488 + 0.82524375e-1 * t2508 + 0.16504875e0 * t2510 + t1599 - 0.33114e0 * t2122 + 0.248355e0 * t2515 + 0.248355e0 * t2519; + const double t2576 = t2575 * t632; + const double t2579 = t2562 * t1611; + const double t2582 = -0.310907e-1 * t2530 * t210 + 0.2e1 * t2146 * t888 - 0.2e1 * t1548 * t2536 + 0.1e1 * t605 * t2549 + 0.32163958997385070134e2 * t1570 * t2552 + t2492 - t2494 + t2498 - t2524 - t2527 - 0.19751673498613801407e-1 * t2558 + 0.11696447245269292414e1 * t2179 * t900 - 0.11696447245269292414e1 * t1587 * t2563 + 0.5848223622634646207e0 * t624 * t2576 + 0.17315859105681463759e2 * t1609 * t2579; + const double t2589 = t1586 * t2562 * t632; + const double t2593 = t623 * t2575 * t632; + const double t2596 = t1608 * t2562; + const double t2597 = t2596 * t1611; + const double t2600 = -t2492 + t2494 - t2498 + t2524 + t2527 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2558 - 0.11696447245269292414e1 * t2210 * t908 + 0.11696447245269292414e1 * t640 * t2589 - 0.5848223622634646207e0 * t640 * t2593 - 0.17315859105681463759e2 * t640 * t2597; + const double t2604 = piecewise_functor_3( t175, 0.0, t2475 * t230 / 0.2e1 + t854 * t911 + t176 * t2600 / 0.2e1 ); + const double t2605 = t2604 * t273; + const double t2606 = t2605 * t290; + const double t2607 = t915 * t960; + const double t2608 = t2607 * t290; + const double t2609 = 0.2e1 * t2608; + const double t2610 = t916 * sigma_bb; + const double t2611 = t2610 * t966; + const double t2612 = t2611 / 0.4e1; + const double t2613 = t916 * t280; + const double t2614 = t2613 * t974; + const double t2615 = 0.8e2 / 0.3e1 * t2614; + const double t2617 = 0.1e1 / t236 / t247; + const double t2618 = sigma_bb * t2617; + const double t2622 = t247 * t282; + const double t2624 = 0.1e1 / t235 / t2622; + const double t2625 = t246 * t2624; + const double t2626 = t2625 * t253; + const double t2629 = 0.1e1 / t265; + const double t2631 = t256 * t2629 * t261; + const double t2638 = t257 * t247; + const double t2640 = 0.1e1 / t236 / t2638; + const double t2642 = t264 * t2640 * t270; + const double t2649 = t257 * t2622; + const double t2651 = 0.1e1 / t235 / t2649; + const double t2653 = t950 * t2651 * t956; + const double t2660 = t264 * t246; + const double t2661 = t257 * t257; + const double t2662 = t2661 * t234; + const double t2663 = 0.1e1 / t2662; + const double t2666 = 0.1e1 / t269 / t252; + const double t2670 = 0.88e2 / 0.9e1 * t102 * t2618 * t243 - 0.24e2 * t499 * t2626 + 0.128e3 / 0.9e1 * t1378 * t2631 + 0.304e3 / 0.9e1 * t117 * t2626 - 0.688e3 / 0.9e1 * t509 * t2631 + 0.128e3 / 0.3e1 * t1388 * t2642 + 0.72e2 * t130 * t2631 - 0.472e3 / 0.3e1 * t518 * t2642 + 0.256e3 / 0.3e1 * t1400 * t2653 + 0.112e4 / 0.9e1 * t141 * t2642 - 0.8e3 / 0.3e1 * t529 * t2653 + 0.128e4 / 0.9e1 * t1413 * t2660 * t2663 * t2666; + const double t2671 = t233 * t2670; + const double t2672 = t2671 * t290; + const double t2673 = t961 * sigma_bb; + const double t2674 = t2673 * t966; + const double t2675 = t2674 / 0.4e1; + const double t2676 = t961 * t280; + const double t2677 = t2676 * t974; + const double t2678 = 0.8e2 / 0.3e1 * t2677; + const double t2679 = 0.1e1 / t282; + const double t2681 = t2679 * t277 * t289; + const double t2682 = t963 * t2681; + const double t2683 = t2682 / 0.4e1; + const double t2685 = t926 * tau_b * t973; + const double t2686 = t963 * t2685; + const double t2687 = 0.1e2 / 0.3e1 * t2686; + const double t2689 = t281 * t250 * t973; + const double t2690 = t969 * t2689; + const double t2691 = 0.52e3 / 0.9e1 * t2690; + const double t2692 = t281 * t281; + const double t2694 = 0.1e1 / t236 / t257; + const double t2696 = t1451 * t288; + const double t2697 = t2692 * t2694 * t2696; + const double t2698 = t969 * t2697; + const double t2699 = 0.16e4 / 0.9e1 * t2698; + const double t2705 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1687 * t2347 + 0.4e1 / 0.3e1 * t24 * t2341 ); + const double t2711 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1695 * t2480 + 0.4e1 / 0.3e1 * t177 * t2474 ); + const double t2713 = ( t2705 + t2711 ) * t64; + const double t2716 = t2713 * t349; + const double t2718 = -t2604 - t2471 + 0.19751673498613801407e-1 * t2713 * t347 - t1647 + t1673 + t1681 + t1685 - t1709 + t316 * t2716 - t1717 + t1788 - t1791; + const double t2724 = t1794 + t1797 - 0.8e1 * t2266 - 0.8e1 * t2268 + 0.2e1 * t2273 + t1806 - t1753 - 0.36622894612013090108e-3 * t2276 - 0.11696447245269292414e1 * t2279 + t1811 - t1815 - t1819 + t1826; + const double t2725 = t2718 + t2724; + const double t2726 = t2725 * t388; + const double t2727 = t989 * t1016; + const double t2728 = 0.2e1 * t2727; + const double t2732 = t2625 * t369; + const double t2735 = t377 * t246; + const double t2736 = t2735 * t2624; + const double t2739 = t994 * t2617; + const double t2748 = t385 * t246; + const double t2749 = t2748 * t2624; + const double t2752 = t1000 * t2617; + const double t2761 = t779 * t246; + const double t2762 = t2761 * t2624; + const double t2765 = t1006 * t2617; + const double t2774 = t1892 * t246; + const double t2781 = 0.88e2 / 0.9e1 * t357 * t2618 * t361 - 0.128e3 / 0.9e1 * t748 * t2732 + 0.128e3 / 0.9e1 * t1839 * t2736 - 0.88e2 / 0.9e1 * t749 * t2739 + 0.128e3 / 0.9e1 * t366 * t2732 - 0.512e3 / 0.9e1 * t1849 * t2736 + 0.176e3 / 0.9e1 * t754 * t2739 + 0.128e3 / 0.3e1 * t1855 * t2749 - 0.176e3 / 0.9e1 * t758 * t2752 + 0.128e3 / 0.3e1 * t1863 * t2736 - 0.128e3 * t1866 * t2749 + 0.88e2 / 0.3e1 * t763 * t2752 + 0.256e3 / 0.3e1 * t1872 * t2762 - 0.88e2 / 0.3e1 * t767 * t2765 + 0.256e3 / 0.3e1 * t1880 * t2749 - 0.2048e4 / 0.9e1 * t1883 * t2762 + 0.352e3 / 0.9e1 * t772 * t2765 + 0.128e4 / 0.9e1 * t1890 * t2774 * t2624 - 0.352e3 / 0.9e1 * t777 * t1012 * t2617; + const double t2782 = t354 * t2781; + const double t2783 = t2473 + t2606 + t2609 + t2612 - t2615 + t2672 + t2675 - t2678 - t2683 - t2687 + t2691 - t2699 + t2726 + t2728 + t2782; + const double t2785 = t490 * t1046; + const double t2786 = t2785 * t170; + const double t2790 = t502 * t125; + const double t2791 = t2790 * sigma_aa; + const double t2795 = t118 * t511 * t136; + const double t2803 = t131 * t521 * t148; + const double t2811 = t142 * t533 * t536; + const double t2818 = t1415 * rho_a; + const double t2819 = 0.1e1 / t2818; + const double t2824 = -0.8e1 / 0.3e1 * t102 * t494 * t112 + 0.8e1 * t499 * t2791 - 0.16e2 / 0.3e1 * t1378 * t2795 - 0.32e2 / 0.3e1 * t117 * t2791 + 0.8e2 / 0.3e1 * t509 * t2795 - 0.16e2 * t1388 * t2803 - 0.24e2 * t130 * t2795 + 0.56e2 * t518 * t2803 - 0.32e2 * t1400 * t2811 - 0.128e3 / 0.3e1 * t141 * t2803 + 0.96e2 * t529 * t2811 - 0.16e3 / 0.3e1 * t1413 * t530 * t2819 * t1420; + const double t2825 = t99 * t2824; + const double t2826 = t2825 * t170; + const double t2827 = t1047 * sigma_aa; + const double t2828 = t2827 * t546; + const double t2829 = t2828 / 0.8e1; + const double t2830 = t1047 * t158; + const double t2831 = t2830 * t554; + const double t2832 = 0.4e2 / 0.3e1 * t2831; + const double t2833 = t491 * t1050; + const double t2834 = t2833 / 0.8e1; + const double t2835 = t541 * t1050; + const double t2836 = t2835 / 0.8e1; + const double t2837 = t152 * t546; + const double t2838 = t2837 / 0.8e1; + const double t2839 = t152 * t122; + const double t2841 = tau_a * t165 * t168; + const double t2842 = t2839 * t2841; + const double t2843 = 0.5e1 / 0.3e1 * t2842; + const double t2844 = t743 * t1076; + const double t2848 = t502 * t369; + const double t2849 = t2848 * sigma_aa; + const double t2852 = t377 * t502; + const double t2853 = t2852 * sigma_aa; + const double t2856 = t1055 * t494; + const double t2865 = t385 * t502; + const double t2866 = t2865 * sigma_aa; + const double t2869 = t1060 * t494; + const double t2878 = t779 * t502; + const double t2879 = t2878 * sigma_aa; + const double t2882 = t1066 * t494; + const double t2891 = t1892 * t502; + const double t2898 = -0.8e1 / 0.3e1 * t357 * t494 * t361 + 0.16e2 / 0.3e1 * t748 * t2849 - 0.16e2 / 0.3e1 * t1839 * t2853 + 0.8e1 / 0.3e1 * t748 * t2856 - 0.16e2 / 0.3e1 * t366 * t2849 + 0.64e2 / 0.3e1 * t1849 * t2853 - 0.16e2 / 0.3e1 * t366 * t2856 - 0.16e2 * t1855 * t2866 + 0.16e2 / 0.3e1 * t757 * t2869 - 0.16e2 * t1863 * t2853 + 0.48e2 * t1866 * t2866 - 0.8e1 * t374 * t2869 - 0.32e2 * t1872 * t2879 + 0.8e1 * t766 * t2882 - 0.32e2 * t1880 * t2866 + 0.256e3 / 0.3e1 * t1883 * t2879 - 0.32e2 / 0.3e1 * t382 * t2882 - 0.16e3 / 0.3e1 * t1890 * t2891 * sigma_aa + 0.32e2 / 0.3e1 * t776 * t1072 * t494; + const double t2899 = t354 * t2898; + const double t2902 = t649 * t1105; + const double t2903 = t2902 * t290; + const double t2904 = t650 * t1109; + const double t2905 = t2904 / 0.8e1; + const double t2906 = t743 * t1131; + const double t2907 = t748 * t238; + const double t2910 = t377 * t238; + const double t2911 = t2910 * t495; + const double t2914 = t2298 * t238; + const double t2919 = t385 * t238; + const double t2920 = t2919 * t495; + const double t2927 = t779 * t238; + const double t2928 = t2927 * t495; + const double t2935 = t1892 * t238; + const double t2939 = 0.16e2 / 0.3e1 * t2907 * t751 - 0.16e2 / 0.3e1 * t1839 * t2911 - 0.16e2 / 0.3e1 * t2297 * t2914 + 0.64e2 / 0.3e1 * t1849 * t2911 - 0.16e2 * t1855 * t2920 - 0.16e2 * t1863 * t2911 + 0.48e2 * t1866 * t2920 - 0.32e2 * t1872 * t2928 - 0.32e2 * t1880 * t2920 + 0.256e3 / 0.3e1 * t1883 * t2928 - 0.16e3 / 0.3e1 * t1890 * t2935 * t495; + const double t2940 = t354 * t2939; + const double t2943 = t850 * t1046; + const double t2944 = t2943 * t170; + const double t2945 = t851 * t1050; + const double t2946 = t2945 / 0.8e1; + const double t2947 = t989 * t1076; + const double t2948 = t748 * t107; + const double t2951 = t377 * t107; + const double t2952 = t2951 * t920; + const double t2955 = t366 * sigma_bb; + const double t2956 = t2288 * t107; + const double t2961 = t385 * t107; + const double t2962 = t2961 * t920; + const double t2969 = t779 * t107; + const double t2970 = t2969 * t920; + const double t2977 = t1892 * t107; + const double t2981 = 0.16e2 / 0.3e1 * t2948 * t995 - 0.16e2 / 0.3e1 * t1839 * t2952 - 0.16e2 / 0.3e1 * t2955 * t2956 + 0.64e2 / 0.3e1 * t1849 * t2952 - 0.16e2 * t1855 * t2962 - 0.16e2 * t1863 * t2952 + 0.48e2 * t1866 * t2962 - 0.32e2 * t1872 * t2970 - 0.32e2 * t1880 * t2962 + 0.256e3 / 0.3e1 * t1883 * t2970 - 0.16e3 / 0.3e1 * t1890 * t2977 * t920; + const double t2982 = t354 * t2981; + const double t2985 = t915 * t1105; + const double t2986 = t2985 * t290; + const double t2990 = t926 * t253; + const double t2991 = t2990 * sigma_bb; + const double t2995 = t246 * t934 * t261; + const double t3003 = t256 * t943 * t270; + const double t3011 = t264 * t953 * t956; + const double t3018 = t2661 * rho_b; + const double t3019 = 0.1e1 / t3018; + const double t3024 = -0.8e1 / 0.3e1 * t102 * t919 * t243 + 0.8e1 * t499 * t2991 - 0.16e2 / 0.3e1 * t1378 * t2995 - 0.32e2 / 0.3e1 * t117 * t2991 + 0.8e2 / 0.3e1 * t509 * t2995 - 0.16e2 * t1388 * t3003 - 0.24e2 * t130 * t2995 + 0.56e2 * t518 * t3003 - 0.32e2 * t1400 * t3011 - 0.128e3 / 0.3e1 * t141 * t3003 + 0.96e2 * t529 * t3011 - 0.16e3 / 0.3e1 * t1413 * t950 * t3019 * t2666; + const double t3025 = t233 * t3024; + const double t3026 = t3025 * t290; + const double t3027 = t1106 * sigma_bb; + const double t3028 = t3027 * t966; + const double t3029 = t3028 / 0.8e1; + const double t3030 = t1106 * t280; + const double t3031 = t3030 * t974; + const double t3032 = 0.4e2 / 0.3e1 * t3031; + const double t3033 = t916 * t1109; + const double t3034 = t3033 / 0.8e1; + const double t3035 = t961 * t1109; + const double t3036 = t3035 / 0.8e1; + const double t3037 = t274 * t966; + const double t3038 = t3037 / 0.8e1; + const double t3039 = t274 * t250; + const double t3041 = tau_b * t165 * t288; + const double t3042 = t3039 * t3041; + const double t3043 = 0.5e1 / 0.3e1 * t3042; + const double t3044 = t989 * t1131; + const double t3048 = t926 * t369; + const double t3049 = t3048 * sigma_bb; + const double t3052 = t377 * t926; + const double t3053 = t3052 * sigma_bb; + const double t3056 = t1055 * t919; + const double t3065 = t385 * t926; + const double t3066 = t3065 * sigma_bb; + const double t3069 = t1060 * t919; + const double t3078 = t779 * t926; + const double t3079 = t3078 * sigma_bb; + const double t3082 = t1066 * t919; + const double t3091 = t1892 * t926; + const double t3098 = -0.8e1 / 0.3e1 * t357 * t919 * t361 + 0.16e2 / 0.3e1 * t748 * t3049 - 0.16e2 / 0.3e1 * t1839 * t3053 + 0.8e1 / 0.3e1 * t748 * t3056 - 0.16e2 / 0.3e1 * t366 * t3049 + 0.64e2 / 0.3e1 * t1849 * t3053 - 0.16e2 / 0.3e1 * t366 * t3056 - 0.16e2 * t1855 * t3066 + 0.16e2 / 0.3e1 * t757 * t3069 - 0.16e2 * t1863 * t3053 + 0.48e2 * t1866 * t3066 - 0.8e1 * t374 * t3069 - 0.32e2 * t1872 * t3079 + 0.8e1 * t766 * t3082 - 0.32e2 * t1880 * t3066 + 0.256e3 / 0.3e1 * t1883 * t3079 - 0.32e2 / 0.3e1 * t382 * t3082 - 0.16e3 / 0.3e1 * t1890 * t3091 * sigma_bb + 0.32e2 / 0.3e1 * t776 * t1072 * t919; + const double t3099 = t354 * t3098; + const double t3102 = t1359 * t1136; + const double t3103 = t3102 / 0.8e1; + const double t3104 = t1427 * t1136; + const double t3105 = t3104 / 0.8e1; + const double t3107 = t544 * t1134 * t169; + const double t3108 = t543 * t3107; + const double t3109 = t3108 / 0.8e1; + const double t3111 = t122 * t165 * t168; + const double t3112 = t543 * t3111; + const double t3113 = 0.2e1 / 0.3e1 * t3112; + const double t3114 = t1362 * t1140; + const double t3115 = 0.8e1 * t3114; + const double t3116 = t1430 * t1140; + const double t3117 = 0.8e1 * t3116; + const double t3119 = tau_a * t551 * t553; + const double t3120 = t549 * t3119; + const double t3121 = 0.8e2 / 0.3e1 * t3120; + const double t3122 = t159 * tau_a; + const double t3124 = 0.1e1 / t105 / t1371; + const double t3126 = t3122 * t3124 * t1452; + const double t3127 = t549 * t3126; + const double t3128 = 0.32e3 / 0.3e1 * t3127; + const double t3131 = t2237 * t1146; + const double t3132 = t3131 / 0.8e1; + const double t3133 = t2240 * t1150; + const double t3134 = 0.8e1 * t3133; + const double t3137 = t2068 * t1136; + const double t3138 = t3137 / 0.8e1; + const double t3139 = t2071 * t1140; + const double t3140 = 0.8e1 * t3139; + const double t3143 = t2610 * t1146; + const double t3144 = t3143 / 0.8e1; + const double t3145 = t2673 * t1146; + const double t3146 = t3145 / 0.8e1; + const double t3148 = t964 * t1144 * t289; + const double t3149 = t963 * t3148; + const double t3150 = t3149 / 0.8e1; + const double t3152 = t250 * t165 * t288; + const double t3153 = t963 * t3152; + const double t3154 = 0.2e1 / 0.3e1 * t3153; + const double t3155 = t2613 * t1150; + const double t3156 = 0.8e1 * t3155; + const double t3157 = t2676 * t1150; + const double t3158 = 0.8e1 * t3157; + const double t3160 = tau_b * t971 * t973; + const double t3161 = t969 * t3160; + const double t3162 = 0.8e2 / 0.3e1 * t3161; + const double t3163 = t281 * tau_b; + const double t3165 = 0.1e1 / t236 / t2622; + const double t3167 = t3163 * t3165 * t2696; + const double t3168 = t969 * t3167; + const double t3169 = 0.32e3 / 0.3e1 * t3168; + const double t3172 = t122 * t125; + const double t3176 = sigma_aa * t133 * t136; + const double t3184 = t118 * t145 * t148; + const double t3192 = t131 * t1041 * t536; + const double t3199 = 0.1e1 / t1415; + const double t3204 = 0.2e2 * t1413 * t142 * t3199 * t1420 + 0.2e1 * t117 * t3172 + 0.6e1 * t130 * t3176 + 0.2e1 * t1378 * t3176 + 0.6e1 * t1388 * t3184 + 0.12e2 * t1400 * t3192 + 0.12e2 * t141 * t3184 - 0.2e1 * t499 * t3172 - 0.8e1 * t509 * t3176 - 0.18e2 * t518 * t3184 - 0.32e2 * t529 * t3192; + const double t3205 = t99 * t3204; + const double t3206 = t3205 * t170; + const double t3208 = t1047 * t1050 / 0.4e1; + const double t3209 = t122 * t369; + const double t3212 = t2292 * t122; + const double t3219 = t2305 * t122; + const double t3226 = t2315 * t122; + const double t3236 = 0.2e2 * t1889 * t2325 * t122 + 0.2e1 * t1838 * t3212 + 0.6e1 * t1854 * t3219 + 0.12e2 * t1871 * t3226 + 0.2e1 * t366 * t3209 - 0.2e1 * t748 * t3209 + 0.6e1 * t374 * t3212 - 0.8e1 * t757 * t3212 + 0.12e2 * t382 * t3219 - 0.18e2 * t766 * t3219 - 0.32e2 * t776 * t3226; + const double t3237 = t354 * t3236; + const double t3239 = t4 * t354; + const double t3241 = t238 * t369 * t107; + const double t3244 = t2910 * t107; + const double t3251 = t2919 * t107; + const double t3258 = t2927 * t107; + const double t3268 = 0.2e2 * t1890 * t2935 * t107 + 0.2e1 * t1839 * t3244 - 0.8e1 * t1849 * t3244 + 0.6e1 * t1855 * t3251 + 0.6e1 * t1863 * t3244 - 0.18e2 * t1866 * t3251 + 0.12e2 * t1872 * t3258 + 0.12e2 * t1880 * t3251 - 0.32e2 * t1883 * t3258 + 0.2e1 * t366 * t3241 - 0.2e1 * t748 * t3241; + const double t3269 = t250 * t253; + const double t3273 = sigma_bb * t258 * t261; + const double t3281 = t246 * t267 * t270; + const double t3289 = t256 * t1100 * t956; + const double t3296 = 0.1e1 / t2661; + const double t3301 = 0.2e2 * t1413 * t264 * t3296 * t2666 + 0.2e1 * t117 * t3269 + 0.6e1 * t130 * t3273 + 0.2e1 * t1378 * t3273 + 0.6e1 * t1388 * t3281 + 0.12e2 * t1400 * t3289 + 0.12e2 * t141 * t3281 - 0.2e1 * t499 * t3269 - 0.8e1 * t509 * t3273 - 0.18e2 * t518 * t3281 - 0.32e2 * t529 * t3289; + const double t3302 = t233 * t3301; + const double t3303 = t3302 * t290; + const double t3305 = t1106 * t1109 / 0.4e1; + const double t3306 = t250 * t369; + const double t3309 = t2292 * t250; + const double t3316 = t2305 * t250; + const double t3323 = t2315 * t250; + const double t3333 = 0.2e2 * t1889 * t2325 * t250 + 0.2e1 * t1838 * t3309 + 0.6e1 * t1854 * t3316 + 0.12e2 * t1871 * t3323 + 0.2e1 * t366 * t3306 - 0.2e1 * t748 * t3306 + 0.6e1 * t374 * t3309 - 0.8e1 * t757 * t3309 + 0.12e2 * t382 * t3316 - 0.18e2 * t766 * t3316 - 0.32e2 * t776 * t3323; + const double t3334 = t354 * t3333; + const double t3337 = t2827 * t1136 / 0.8e1; + const double t3339 = t152 * t1136 / 0.8e1; + const double t3341 = 0.8e1 * t2830 * t1140; + const double t3343 = t551 * t165 * t168; + const double t3344 = t152 * t3343; + const double t3347 = t3027 * t1146 / 0.8e1; + const double t3349 = t274 * t1146 / 0.8e1; + const double t3351 = 0.8e1 * t3030 * t1150; + const double t3353 = t971 * t165 * t288; + const double t3354 = t274 * t3353; + const double t3356 = 0.1e1 / t3122; + const double t3358 = t153 * t3356 * t169; + const double t3360 = t543 * t3358 / 0.4e1; + const double t3362 = t551 * t155 * t553; + const double t3364 = 0.2e1 * t543 * t3362; + const double t3366 = t162 * t165 * t168; + const double t3368 = 0.8e1 * t549 * t3366; + const double t3370 = 0.1e1 / t105 / t500; + const double t3372 = t159 * t3370 * t1452; + const double t3374 = 0.64e2 * t549 * t3372; + const double t3376 = 0.1e1 / t3163; + const double t3378 = t275 * t3376 * t289; + const double t3380 = t963 * t3378 / 0.4e1; + const double t3382 = t971 * t277 * t973; + const double t3384 = 0.2e1 * t963 * t3382; + const double t3386 = t284 * t165 * t288; + const double t3388 = 0.8e1 * t969 * t3386; + const double t3390 = 0.1e1 / t236 / t924; + const double t3392 = t281 * t3390 * t2696; + const double t3394 = 0.64e2 * t969 * t3392; + + + vrho_a = t171 + t291 + t389 + t4 * ( t492 + t542 + t548 - t556 + t651 + t744 + t785 ); + vrho_b = t171 + t291 + t389 + t4 * ( t852 + t917 + t962 + t968 - t976 + t990 + t1017 ); + vsigma_aa = t4 * ( t1048 - t1052 + t1077 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1107 - t1111 + t1132 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1138 + t1142 ); + vtau_b = t4 * ( t1148 + t1152 ); + v2rho2_aa = 0.2e1 * t492 + 0.2e1 * t542 + t547 / 0.4e1 - 0.8e2 / 0.3e1 * t555 + 0.2e1 * t651 + 0.2e1 * t744 + 0.2e1 * t785 + t4 * t1902; + v2rho2_ab = t4 * t2331 + t1017 + t492 + t542 + t548 - t556 + t651 + t744 + t785 + t852 + t917 + t962 + t968 - t976 + t990; + v2rho2_bb = 0.2e1 * t852 + 0.2e1 * t917 + 0.2e1 * t962 + t967 / 0.4e1 - 0.8e2 / 0.3e1 * t975 + 0.2e1 * t990 + 0.2e1 * t1017 + t4 * t2783; + v2rhosigma_a_aa = t1048 - t1052 + t1077 + t4 * ( t2786 + t2826 + t2829 - t2832 - t2834 - t2836 + t2838 + t2843 + t2844 + t2899 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1107 - t1111 + t1132 + t4 * ( t2903 - t2905 + t2906 + t2940 ); + v2rhosigma_b_aa = t1048 - t1052 + t1077 + t4 * ( t2944 - t2946 + t2947 + t2982 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1107 - t1111 + t1132 + t4 * ( t2986 + t3026 + t3029 - t3032 - t3034 - t3036 + t3038 + t3043 + t3044 + t3099 ); + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1138 + t1142 + t4 * ( t3103 + t3105 - t3109 - t3113 + t3115 + t3117 - t3121 + t3128 ); + v2rhotau_a_b = t1148 + t1152 + t4 * ( t3132 + t3134 ); + v2rhotau_b_a = t1138 + t1142 + t4 * ( t3138 + t3140 ); + v2rhotau_b_b = t1148 + t1152 + t4 * ( t3144 + t3146 - t3150 - t3154 + t3156 + t3158 - t3162 + t3169 ); + v2sigma2_aa_aa = t4 * ( t3206 - t3208 + t3237 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t3239 * t3268; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t3303 - t3305 + t3334 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t3337 + t3339 + t3341 - t3344 ); + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = t4 * ( t3347 + t3349 + t3351 - t3354 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t3360 + t3364 + t3368 - t3374 ); + v2tau2_ab = 0.e0; + v2tau2_bb = t4 * ( -t3380 + t3384 + t3388 - t3394 ); + + } + + +}; + +struct BuiltinM05_C : detail::BuiltinKernelImpl< BuiltinM05_C > { + + BuiltinM05_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM05_C >(p) { } + + virtual ~BuiltinM05_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m05_x.hpp b/include/exchcxx/impl/builtin/kernels/m05_x.hpp new file mode 100644 index 0000000..66dd866 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m05_x.hpp @@ -0,0 +1,2999 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM05_X > : + public mgga_screening_interface< BuiltinM05_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 1.0; + static constexpr double a_1 = 0.08151; + static constexpr double a_2 = -0.43956; + static constexpr double a_3 = -3.22422; + static constexpr double a_4 = 2.01819; + static constexpr double a_5 = 8.79431; + static constexpr double a_6 = -0.00295; + static constexpr double a_7 = 9.82029; + static constexpr double a_8 = -4.82351; + static constexpr double a_9 = -48.17574; + static constexpr double a_10 = 3.64802; + static constexpr double a_11 = 34.02248; + static constexpr double csi_HF = 0.72; + static constexpr double cx = 0.28; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t121 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t117 ); + + + eps = 0.2e1 * t121; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t121 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t117 ); + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + + + eps = 0.2e1 * t121; + vrho = 0.2e1 * rho * t229 + 0.2e1 * t121; + vsigma = 0.2e1 * rho * t242; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t317; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t23 = constants::m_pi_sq; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + constexpr double t343 = 0.1e1 / t24 / t23; + constexpr double t344 = t44 * t343; + constexpr double t688 = t43 * t28; + constexpr double t708 = t343 * t28; + constexpr double t724 = t56 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + const double t320 = t49 * csi_HF; + const double t324 = t31 * t31; + const double t326 = 0.1e1 / t20 / t324; + const double t327 = t326 * csi_HF; + const double t329 = t127 * t327 * t133; + const double t335 = t324 * t128; + const double t336 = 0.1e1 / t335; + const double t337 = t336 * csi_HF; + const double t339 = 0.1e1 / t132 / t38; + const double t341 = t127 * t337 * t339; + const double t345 = sigma * sigma; + const double t346 = t345 * t28; + const double t348 = t344 * t346 * t116; + const double t352 = t27 * t30 * t223; + const double t355 = t86 * t75; + const double t356 = t355 * t90; + const double t357 = tau * tau; + const double t358 = t357 * t28; + const double t359 = t324 * rho; + const double t361 = 0.1e1 / t20 / t359; + const double t362 = t358 * t361; + const double t365 = t185 * t96; + const double t368 = t88 * t102; + const double t371 = t92 * t81; + const double t372 = t371 * t96; + const double t375 = t192 * t102; + const double t378 = t94 * t108; + const double t381 = t98 * t87; + const double t382 = t381 * t102; + const double t385 = t199 * t108; + const double t388 = t100 * t114; + const double t391 = t104 * t93; + const double t392 = t391 * t108; + const double t395 = t58 * t72; + const double t398 = t62 * t51; + const double t399 = t398 * t66; + const double t402 = t156 * t72; + const double t405 = 0.7e3 / 0.3e1 * t356 * t362 + 0.49e4 / 0.9e1 * t365 * t362 + 0.28e4 / 0.9e1 * t368 * t362 + 0.28e4 / 0.9e1 * t372 * t362 + 0.64e4 / 0.9e1 * t375 * t362 + 0.4e3 * t378 * t362 + 0.4e3 * t382 * t362 + 0.9e3 * t385 * t362 + 0.5e3 * t388 * t362 + 0.5e3 * t392 * t362 + 0.1e3 / 0.3e1 * t395 * t362 + 0.1e3 / 0.3e1 * t399 * t362 + 0.1e3 * t402 * t362; + const double t406 = t64 * t78; + const double t409 = t68 * t57; + const double t410 = t409 * t72; + const double t413 = t163 * t78; + const double t416 = t70 * t84; + const double t419 = t74 * t63; + const double t420 = t419 * t78; + const double t423 = t170 * t84; + const double t426 = t76 * t90; + const double t429 = t80 * t69; + const double t430 = t429 * t84; + const double t433 = t177 * t90; + const double t436 = t52 * t66; + const double t439 = t149 * t66; + const double t443 = 0.1e1 / t32 / t128; + const double t444 = t47 * t443; + const double t451 = 0.2e3 / 0.3e1 * t406 * t362 + 0.2e3 / 0.3e1 * t410 * t362 + 0.16e4 / 0.9e1 * t413 * t362 + 0.1e4 / 0.9e1 * t416 * t362 + 0.1e4 / 0.9e1 * t420 * t362 + 0.25e4 / 0.9e1 * t423 * t362 + 0.5e3 / 0.3e1 * t426 * t362 + 0.5e3 / 0.3e1 * t430 * t362 + 0.4e3 * t433 * t362 + 0.1e3 / 0.9e1 * t436 * t362 + 0.4e3 / 0.9e1 * t439 * t362 - 0.4e3 / 0.9e1 * t207 * t444 - 0.4e3 / 0.9e1 * t210 * t444 - 0.44e3 / 0.9e1 * t214 * t444; + const double t479 = -0.44e3 / 0.9e1 * t219 * t444 - 0.8e2 / 0.3e1 * t178 * t444 - 0.8e2 / 0.3e1 * t182 * t444 - 0.28e3 / 0.9e1 * t186 * t444 - 0.28e3 / 0.9e1 * t189 * t444 - 0.32e3 / 0.9e1 * t193 * t444 - 0.32e3 / 0.9e1 * t196 * t444 - 0.4e2 * t200 * t444 - 0.4e2 * t203 * t444 - 0.4e2 / 0.9e1 * t145 * t444 - 0.8e2 / 0.9e1 * t150 * t444 - 0.8e2 / 0.9e1 * t153 * t444 - 0.4e2 / 0.3e1 * t157 * t444; + const double t490 = t206 * t114; + const double t493 = t106 * t218; + const double t496 = t110 * t99; + const double t497 = t496 * t114; + const double t500 = t213 * t218; + const double t504 = 0.1e1 / t95 / t77; + const double t505 = t112 * t504; + const double t508 = t82 * t96; + const double t515 = t43 * t357; + const double t516 = t28 * t361; + const double t517 = t516 * t60; + const double t520 = t56 * t357; + const double t523 = -0.4e2 / 0.3e1 * t160 * t444 - 0.16e3 / 0.9e1 * t164 * t444 - 0.16e3 / 0.9e1 * t167 * t444 - 0.2e3 / 0.9e1 * t171 * t444 - 0.2e3 / 0.9e1 * t174 * t444 + 0.1e5 / 0.9e1 * t490 * t362 + 0.55e4 / 0.9e1 * t493 * t362 + 0.55e4 / 0.9e1 * t497 * t362 + 0.121e5 / 0.9e1 * t500 * t362 + 0.22e4 / 0.3e1 * t505 * t362 + 0.7e3 / 0.3e1 * t508 * t362 - 0.4e2 / 0.9e1 * t140 * t29 * t443 * t54 + 0.1e3 / 0.9e1 * t515 * t517 + 0.1e3 / 0.9e1 * t520 * t517; + const double t525 = t405 + t451 + t479 + t523; + const double t526 = t41 * t525; + const double t531 = piecewise_functor_3( t3, 0.0, t19 * t320 * t117 / 0.12e2 - 0.12110710826652329294e-1 * t329 * t137 - t19 * t123 * t224 / 0.4e1 + 0.39384923811430050947e-3 * t341 * t348 + 0.80738072177682195292e-2 * t135 * t352 - 0.3e1 / 0.8e1 * t19 * t21 * t526 ); + const double t534 = t127 * t131; + const double t537 = t324 * t31; + const double t538 = 0.1e1 / t537; + const double t539 = t538 * csi_HF; + const double t541 = t127 * t539 * t339; + const double t544 = t344 * t28 * t116 * sigma; + const double t548 = t236 * t237 * t223; + const double t552 = piecewise_functor_3( t3, 0.0, 0.35322906577735960442e-2 * t534 * t239 - 0.14769346429286269106e-3 * t541 * t544 - 0.15138388533315411618e-2 * t235 * t548 ); + const double t559 = t27 * t30 * t312; + const double t562 = t28 * t326; + const double t563 = t562 * tau; + const double t590 = -0.2e3 / 0.3e1 * t416 * t563 - 0.2e3 / 0.3e1 * t420 * t563 - 0.5e3 / 0.3e1 * t423 * t563 - 0.1e3 * t426 * t563 - 0.1e3 * t430 * t563 - 0.24e3 * t433 * t563 - 0.14e3 * t508 * t563 - 0.14e3 * t356 * t563 - 0.98e3 / 0.3e1 * t365 * t563 - 0.56e3 / 0.3e1 * t368 * t563 - 0.2e2 / 0.3e1 * t436 * t563 - 0.8e2 / 0.3e1 * t439 * t563 - 0.2e2 * t395 * t563; + const double t619 = -0.2e2 * t399 * t563 - 0.6e2 * t402 * t563 - 0.4e2 * t406 * t563 - 0.4e2 * t410 * t563 - 0.32e3 / 0.3e1 * t413 * t563 - 0.11e4 / 0.3e1 * t497 * t563 - 0.242e4 / 0.3e1 * t500 * t563 - 0.44e3 * t505 * t563 - 0.56e3 / 0.3e1 * t372 * t563 - 0.128e4 / 0.3e1 * t375 * t563 - 0.24e3 * t378 * t563 - 0.24e3 * t382 * t563 - 0.54e3 * t385 * t563 - 0.3e3 * t388 * t563; + const double t630 = t301 * t34; + const double t636 = t283 * t34; + const double t639 = t289 * t34; + const double t644 = t295 * t34; + const double t651 = t264 * t34; + const double t654 = -0.3e3 * t392 * t563 - 0.2e4 / 0.3e1 * t490 * t563 - 0.11e4 / 0.3e1 * t493 * t563 + 0.5e1 / 0.3e1 * t244 * t34 * t54 + 0.55e2 / 0.3e1 * t213 * t630 + 0.55e2 / 0.3e1 * t112 * t307 * t34 + 0.4e2 / 0.3e1 * t192 * t636 + 0.4e2 / 0.3e1 * t94 * t639 + 0.15e2 * t199 * t639 + 0.15e2 * t100 * t644 + 0.5e2 / 0.3e1 * t206 * t644 + 0.5e2 / 0.3e1 * t106 * t630 + 0.2e2 / 0.3e1 * t70 * t651; + const double t657 = t270 * t34; + const double t662 = t277 * t34; + const double t669 = t247 * t34; + const double t674 = t252 * t34; + const double t679 = t258 * t34; + const double t684 = t56 * tau; + const double t689 = t326 * t60; + const double t693 = 0.25e2 / 0.3e1 * t170 * t651 + 0.25e2 / 0.3e1 * t76 * t657 + 0.1e2 * t177 * t657 + 0.1e2 * t82 * t662 + 0.35e2 / 0.3e1 * t185 * t662 + 0.35e2 / 0.3e1 * t88 * t636 + 0.5e1 / 0.3e1 * t52 * t669 + 0.1e2 / 0.3e1 * t149 * t669 + 0.1e2 / 0.3e1 * t58 * t674 + 0.5e1 * t156 * t674 + 0.5e1 * t64 * t679 + 0.2e2 / 0.3e1 * t163 * t679 - 0.2e2 / 0.3e1 * t684 * t562 * t60 - 0.2e2 / 0.3e1 * t688 * t689 * tau; + const double t695 = t590 + t619 + t654 + t693; + const double t696 = t41 * t695; + const double t701 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t313 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t559 - 0.3e1 / 0.8e1 * t19 * t21 * t696 ); + const double t704 = 0.1e1 / t359; + const double t706 = t127 * t704 * csi_HF; + const double t707 = t339 * t44; + const double t710 = t707 * t708 * t116; + const double t713 = piecewise_functor_3( t3, 0.0, 0.55385049109823509145e-4 * t706 * t710 ); + const double t716 = t236 * t237 * t312; + const double t719 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t716 ); + const double t721 = t130 * t60; + const double t727 = t108 * t28; + const double t728 = t727 * t130; + const double t731 = t114 * t28; + const double t732 = t731 * t130; + const double t739 = t218 * t28; + const double t740 = t739 * t130; + const double t747 = t504 * t28; + const double t751 = t78 * t28; + const double t752 = t751 * t130; + const double t755 = t72 * t28; + const double t756 = t755 * t130; + const double t761 = t84 * t28; + const double t762 = t761 * t130; + const double t769 = 0.264e3 * t112 * t130 * t747 + 0.18e3 * t100 * t732 + 0.22e3 * t106 * t740 + 0.64e2 * t163 * t752 + 0.1e3 * t170 * t762 + 0.324e3 * t199 * t728 + 0.4e3 * t206 * t732 + 0.484e3 * t213 * t740 + 0.18e3 * t391 * t728 + 0.24e2 * t409 * t756 + 0.4e2 * t419 * t752 + 0.22e3 * t496 * t732 + 0.24e2 * t64 * t752 + 0.4e1 * t688 * t721 + 0.4e2 * t70 * t762 + 0.4e1 * t721 * t724; + const double t770 = t90 * t28; + const double t771 = t770 * t130; + const double t778 = t96 * t28; + const double t779 = t778 * t130; + const double t786 = t102 * t28; + const double t787 = t786 * t130; + const double t798 = t66 * t28; + const double t799 = t798 * t130; + const double t810 = 0.16e2 * t149 * t799 + 0.36e2 * t156 * t756 + 0.144e3 * t177 * t771 + 0.196e3 * t185 * t779 + 0.256e3 * t192 * t787 + 0.84e2 * t355 * t771 + 0.112e3 * t371 * t779 + 0.144e3 * t381 * t787 + 0.12e2 * t398 * t799 + 0.6e2 * t429 * t762 + 0.4e1 * t52 * t799 + 0.12e2 * t58 * t756 + 0.144e3 * t728 * t94 + 0.6e2 * t76 * t771 + 0.84e2 * t779 * t82 + 0.112e3 * t787 * t88; + const double t811 = t769 + t810; + const double t812 = t41 * t811; + const double t816 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t812 ); + + + v2rho2 = 0.2e1 * rho * t531 + 0.4e1 * t229; + v2rhosigma = 0.2e1 * rho * t552 + 0.2e1 * t242; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t701 + 0.2e1 * t317; + v2sigma2 = 0.2e1 * rho * t713; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t719; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t816; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t23 = constants::m_pi_sq; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + constexpr double t343 = 0.1e1 / t24 / t23; + constexpr double t344 = t44 * t343; + constexpr double t688 = t43 * t28; + constexpr double t708 = t343 * t28; + constexpr double t724 = t56 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t121 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t117 ); + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + const double t320 = t49 * csi_HF; + const double t324 = t31 * t31; + const double t326 = 0.1e1 / t20 / t324; + const double t327 = t326 * csi_HF; + const double t329 = t127 * t327 * t133; + const double t335 = t324 * t128; + const double t336 = 0.1e1 / t335; + const double t337 = t336 * csi_HF; + const double t339 = 0.1e1 / t132 / t38; + const double t341 = t127 * t337 * t339; + const double t345 = sigma * sigma; + const double t346 = t345 * t28; + const double t348 = t344 * t346 * t116; + const double t352 = t27 * t30 * t223; + const double t355 = t86 * t75; + const double t356 = t355 * t90; + const double t357 = tau * tau; + const double t358 = t357 * t28; + const double t359 = t324 * rho; + const double t361 = 0.1e1 / t20 / t359; + const double t362 = t358 * t361; + const double t365 = t185 * t96; + const double t368 = t88 * t102; + const double t371 = t92 * t81; + const double t372 = t371 * t96; + const double t375 = t192 * t102; + const double t378 = t94 * t108; + const double t381 = t98 * t87; + const double t382 = t381 * t102; + const double t385 = t199 * t108; + const double t388 = t100 * t114; + const double t391 = t104 * t93; + const double t392 = t391 * t108; + const double t395 = t58 * t72; + const double t398 = t62 * t51; + const double t399 = t398 * t66; + const double t402 = t156 * t72; + const double t405 = 0.7e3 / 0.3e1 * t356 * t362 + 0.49e4 / 0.9e1 * t365 * t362 + 0.28e4 / 0.9e1 * t368 * t362 + 0.28e4 / 0.9e1 * t372 * t362 + 0.64e4 / 0.9e1 * t375 * t362 + 0.4e3 * t378 * t362 + 0.4e3 * t382 * t362 + 0.9e3 * t385 * t362 + 0.5e3 * t388 * t362 + 0.5e3 * t392 * t362 + 0.1e3 / 0.3e1 * t395 * t362 + 0.1e3 / 0.3e1 * t399 * t362 + 0.1e3 * t402 * t362; + const double t406 = t64 * t78; + const double t409 = t68 * t57; + const double t410 = t409 * t72; + const double t413 = t163 * t78; + const double t416 = t70 * t84; + const double t419 = t74 * t63; + const double t420 = t419 * t78; + const double t423 = t170 * t84; + const double t426 = t76 * t90; + const double t429 = t80 * t69; + const double t430 = t429 * t84; + const double t433 = t177 * t90; + const double t436 = t52 * t66; + const double t439 = t149 * t66; + const double t443 = 0.1e1 / t32 / t128; + const double t444 = t47 * t443; + const double t451 = 0.2e3 / 0.3e1 * t406 * t362 + 0.2e3 / 0.3e1 * t410 * t362 + 0.16e4 / 0.9e1 * t413 * t362 + 0.1e4 / 0.9e1 * t416 * t362 + 0.1e4 / 0.9e1 * t420 * t362 + 0.25e4 / 0.9e1 * t423 * t362 + 0.5e3 / 0.3e1 * t426 * t362 + 0.5e3 / 0.3e1 * t430 * t362 + 0.4e3 * t433 * t362 + 0.1e3 / 0.9e1 * t436 * t362 + 0.4e3 / 0.9e1 * t439 * t362 - 0.4e3 / 0.9e1 * t207 * t444 - 0.4e3 / 0.9e1 * t210 * t444 - 0.44e3 / 0.9e1 * t214 * t444; + const double t479 = -0.44e3 / 0.9e1 * t219 * t444 - 0.8e2 / 0.3e1 * t178 * t444 - 0.8e2 / 0.3e1 * t182 * t444 - 0.28e3 / 0.9e1 * t186 * t444 - 0.28e3 / 0.9e1 * t189 * t444 - 0.32e3 / 0.9e1 * t193 * t444 - 0.32e3 / 0.9e1 * t196 * t444 - 0.4e2 * t200 * t444 - 0.4e2 * t203 * t444 - 0.4e2 / 0.9e1 * t145 * t444 - 0.8e2 / 0.9e1 * t150 * t444 - 0.8e2 / 0.9e1 * t153 * t444 - 0.4e2 / 0.3e1 * t157 * t444; + const double t490 = t206 * t114; + const double t493 = t106 * t218; + const double t496 = t110 * t99; + const double t497 = t496 * t114; + const double t500 = t213 * t218; + const double t504 = 0.1e1 / t95 / t77; + const double t505 = t112 * t504; + const double t508 = t82 * t96; + const double t515 = t43 * t357; + const double t516 = t28 * t361; + const double t517 = t516 * t60; + const double t520 = t56 * t357; + const double t523 = -0.4e2 / 0.3e1 * t160 * t444 - 0.16e3 / 0.9e1 * t164 * t444 - 0.16e3 / 0.9e1 * t167 * t444 - 0.2e3 / 0.9e1 * t171 * t444 - 0.2e3 / 0.9e1 * t174 * t444 + 0.1e5 / 0.9e1 * t490 * t362 + 0.55e4 / 0.9e1 * t493 * t362 + 0.55e4 / 0.9e1 * t497 * t362 + 0.121e5 / 0.9e1 * t500 * t362 + 0.22e4 / 0.3e1 * t505 * t362 + 0.7e3 / 0.3e1 * t508 * t362 - 0.4e2 / 0.9e1 * t140 * t29 * t443 * t54 + 0.1e3 / 0.9e1 * t515 * t517 + 0.1e3 / 0.9e1 * t520 * t517; + const double t525 = t405 + t451 + t479 + t523; + const double t526 = t41 * t525; + const double t531 = piecewise_functor_3( t3, 0.0, t19 * t320 * t117 / 0.12e2 - 0.12110710826652329294e-1 * t329 * t137 - t19 * t123 * t224 / 0.4e1 + 0.39384923811430050947e-3 * t341 * t348 + 0.80738072177682195292e-2 * t135 * t352 - 0.3e1 / 0.8e1 * t19 * t21 * t526 ); + const double t534 = t127 * t131; + const double t537 = t324 * t31; + const double t538 = 0.1e1 / t537; + const double t539 = t538 * csi_HF; + const double t541 = t127 * t539 * t339; + const double t544 = t344 * t28 * t116 * sigma; + const double t548 = t236 * t237 * t223; + const double t552 = piecewise_functor_3( t3, 0.0, 0.35322906577735960442e-2 * t534 * t239 - 0.14769346429286269106e-3 * t541 * t544 - 0.15138388533315411618e-2 * t235 * t548 ); + const double t559 = t27 * t30 * t312; + const double t562 = t28 * t326; + const double t563 = t562 * tau; + const double t590 = -0.2e3 / 0.3e1 * t416 * t563 - 0.2e3 / 0.3e1 * t420 * t563 - 0.5e3 / 0.3e1 * t423 * t563 - 0.1e3 * t426 * t563 - 0.1e3 * t430 * t563 - 0.24e3 * t433 * t563 - 0.14e3 * t508 * t563 - 0.14e3 * t356 * t563 - 0.98e3 / 0.3e1 * t365 * t563 - 0.56e3 / 0.3e1 * t368 * t563 - 0.2e2 / 0.3e1 * t436 * t563 - 0.8e2 / 0.3e1 * t439 * t563 - 0.2e2 * t395 * t563; + const double t619 = -0.2e2 * t399 * t563 - 0.6e2 * t402 * t563 - 0.4e2 * t406 * t563 - 0.4e2 * t410 * t563 - 0.32e3 / 0.3e1 * t413 * t563 - 0.11e4 / 0.3e1 * t497 * t563 - 0.242e4 / 0.3e1 * t500 * t563 - 0.44e3 * t505 * t563 - 0.56e3 / 0.3e1 * t372 * t563 - 0.128e4 / 0.3e1 * t375 * t563 - 0.24e3 * t378 * t563 - 0.24e3 * t382 * t563 - 0.54e3 * t385 * t563 - 0.3e3 * t388 * t563; + const double t630 = t301 * t34; + const double t636 = t283 * t34; + const double t639 = t289 * t34; + const double t644 = t295 * t34; + const double t651 = t264 * t34; + const double t654 = -0.3e3 * t392 * t563 - 0.2e4 / 0.3e1 * t490 * t563 - 0.11e4 / 0.3e1 * t493 * t563 + 0.5e1 / 0.3e1 * t244 * t34 * t54 + 0.55e2 / 0.3e1 * t213 * t630 + 0.55e2 / 0.3e1 * t112 * t307 * t34 + 0.4e2 / 0.3e1 * t192 * t636 + 0.4e2 / 0.3e1 * t94 * t639 + 0.15e2 * t199 * t639 + 0.15e2 * t100 * t644 + 0.5e2 / 0.3e1 * t206 * t644 + 0.5e2 / 0.3e1 * t106 * t630 + 0.2e2 / 0.3e1 * t70 * t651; + const double t657 = t270 * t34; + const double t662 = t277 * t34; + const double t669 = t247 * t34; + const double t674 = t252 * t34; + const double t679 = t258 * t34; + const double t684 = t56 * tau; + const double t689 = t326 * t60; + const double t693 = 0.25e2 / 0.3e1 * t170 * t651 + 0.25e2 / 0.3e1 * t76 * t657 + 0.1e2 * t177 * t657 + 0.1e2 * t82 * t662 + 0.35e2 / 0.3e1 * t185 * t662 + 0.35e2 / 0.3e1 * t88 * t636 + 0.5e1 / 0.3e1 * t52 * t669 + 0.1e2 / 0.3e1 * t149 * t669 + 0.1e2 / 0.3e1 * t58 * t674 + 0.5e1 * t156 * t674 + 0.5e1 * t64 * t679 + 0.2e2 / 0.3e1 * t163 * t679 - 0.2e2 / 0.3e1 * t684 * t562 * t60 - 0.2e2 / 0.3e1 * t688 * t689 * tau; + const double t695 = t590 + t619 + t654 + t693; + const double t696 = t41 * t695; + const double t701 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t313 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t559 - 0.3e1 / 0.8e1 * t19 * t21 * t696 ); + const double t704 = 0.1e1 / t359; + const double t706 = t127 * t704 * csi_HF; + const double t707 = t339 * t44; + const double t710 = t707 * t708 * t116; + const double t713 = piecewise_functor_3( t3, 0.0, 0.55385049109823509145e-4 * t706 * t710 ); + const double t716 = t236 * t237 * t312; + const double t719 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t716 ); + const double t721 = t130 * t60; + const double t727 = t108 * t28; + const double t728 = t727 * t130; + const double t731 = t114 * t28; + const double t732 = t731 * t130; + const double t739 = t218 * t28; + const double t740 = t739 * t130; + const double t747 = t504 * t28; + const double t751 = t78 * t28; + const double t752 = t751 * t130; + const double t755 = t72 * t28; + const double t756 = t755 * t130; + const double t761 = t84 * t28; + const double t762 = t761 * t130; + const double t769 = 0.264e3 * t112 * t130 * t747 + 0.18e3 * t100 * t732 + 0.22e3 * t106 * t740 + 0.64e2 * t163 * t752 + 0.1e3 * t170 * t762 + 0.324e3 * t199 * t728 + 0.4e3 * t206 * t732 + 0.484e3 * t213 * t740 + 0.18e3 * t391 * t728 + 0.24e2 * t409 * t756 + 0.4e2 * t419 * t752 + 0.22e3 * t496 * t732 + 0.24e2 * t64 * t752 + 0.4e1 * t688 * t721 + 0.4e2 * t70 * t762 + 0.4e1 * t721 * t724; + const double t770 = t90 * t28; + const double t771 = t770 * t130; + const double t778 = t96 * t28; + const double t779 = t778 * t130; + const double t786 = t102 * t28; + const double t787 = t786 * t130; + const double t798 = t66 * t28; + const double t799 = t798 * t130; + const double t810 = 0.16e2 * t149 * t799 + 0.36e2 * t156 * t756 + 0.144e3 * t177 * t771 + 0.196e3 * t185 * t779 + 0.256e3 * t192 * t787 + 0.84e2 * t355 * t771 + 0.112e3 * t371 * t779 + 0.144e3 * t381 * t787 + 0.12e2 * t398 * t799 + 0.6e2 * t429 * t762 + 0.4e1 * t52 * t799 + 0.12e2 * t58 * t756 + 0.144e3 * t728 * t94 + 0.6e2 * t76 * t771 + 0.84e2 * t779 * t82 + 0.112e3 * t787 * t88; + const double t811 = t769 + t810; + const double t812 = t41 * t811; + const double t816 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t812 ); + + + vrho = 0.2e1 * rho * t229 + 0.2e1 * t121; + vsigma = 0.2e1 * rho * t242; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t317; + v2rho2 = 0.2e1 * rho * t531 + 0.4e1 * t229; + v2rhosigma = 0.2e1 * rho * t552 + 0.2e1 * t242; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t701 + 0.2e1 * t317; + v2sigma2 = 0.2e1 * rho * t713; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t719; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t816; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + + + eps = t126 + t212; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + + + eps = t126 + t212; + vrho_a = t126 + t212 + t7 * ( t331 + t345 ); + vrho_b = t126 + t212 + t7 * ( t357 + t467 ); + vsigma_aa = t7 * t477; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t485; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t547; + vtau_b = t7 * t609; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t31 = constants::m_pi_sq; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + constexpr double t656 = 0.1e1 / t32 / t31; + constexpr double t657 = t50 * t656; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + const double t612 = t24 * t24; + const double t613 = 0.1e1 / t612; + const double t614 = t217 * t217; + const double t617 = t213 * t7; + const double t618 = 0.1e1 / t617; + const double t619 = t17 * t618; + const double t622 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t214 + 0.2e1 * t619 ); + const double t626 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t614 + 0.4e1 / 0.3e1 * t24 * t622 ); + const double t627 = t6 * t626; + const double t630 = t221 * t227; + const double t632 = t3 * t220; + const double t633 = t632 * t233; + const double t640 = 0.1e1 / t224 / t7 * csi_HF; + const double t641 = t640 * t122; + const double t643 = t27 * t641 / 0.12e2; + const double t644 = t226 * t232; + const double t645 = t230 * t644; + const double t646 = t645 * t240; + const double t648 = t226 * t326; + const double t649 = t27 * t648; + const double t652 = 0.1e1 / t231 / t44; + const double t653 = t29 * t652; + const double t654 = t230 * t653; + const double t658 = sigma_aa * sigma_aa; + const double t659 = t36 * t36; + const double t660 = t659 * t235; + const double t662 = 0.1e1 / t37 / t660; + const double t663 = t658 * t662; + const double t665 = t657 * t663 * t121; + const double t669 = 0.1e1 / t38 / t659; + const double t670 = sigma_aa * t669; + const double t672 = t35 * t670 * t121; + const double t676 = t35 * t238 * t325; + const double t679 = tau_a * tau_a; + const double t680 = t49 * t679; + const double t681 = t659 * rho_a; + const double t683 = 0.1e1 / t37 / t681; + const double t684 = t683 * t65; + const double t687 = t61 * t679; + const double t693 = t247 * t237; + const double t696 = t254 * t237; + const double t701 = t261 * t237; + const double t704 = t311 * t237; + const double t714 = t268 * t237; + const double t719 = 0.5e2 / 0.9e1 * t680 * t684 + 0.5e2 / 0.9e1 * t687 * t684 - 0.4e2 / 0.9e1 * t243 * t237 * t59 - 0.8e2 / 0.9e1 * t251 * t693 - 0.8e2 / 0.9e1 * t63 * t696 - 0.4e2 / 0.3e1 * t258 * t696 - 0.4e2 / 0.3e1 * t69 * t701 - 0.4e3 / 0.9e1 * t111 * t704 - 0.44e3 / 0.9e1 * t315 * t704 - 0.44e3 / 0.9e1 * t117 * t320 * t237 - 0.16e3 / 0.9e1 * t265 * t701 - 0.16e3 / 0.9e1 * t75 * t714 - 0.2e3 / 0.9e1 * t272 * t714; + const double t720 = t275 * t237; + const double t725 = t283 * t237; + const double t730 = t290 * t237; + const double t735 = t297 * t237; + const double t740 = t304 * t237; + const double t747 = t67 * t56; + const double t748 = t71 * t679; + const double t749 = t748 * t683; + const double t752 = t77 * t679; + const double t753 = t752 * t683; + const double t756 = t83 * t679; + const double t757 = t756 * t683; + const double t760 = -0.2e3 / 0.9e1 * t81 * t720 - 0.8e2 / 0.3e1 * t279 * t720 - 0.8e2 / 0.3e1 * t87 * t725 - 0.28e3 / 0.9e1 * t287 * t725 - 0.28e3 / 0.9e1 * t93 * t730 - 0.32e3 / 0.9e1 * t294 * t730 - 0.32e3 / 0.9e1 * t99 * t735 - 0.4e2 * t301 * t735 - 0.4e2 * t105 * t740 - 0.4e3 / 0.9e1 * t308 * t740 - 0.4e2 / 0.9e1 * t57 * t693 + 0.5e2 / 0.3e1 * t747 * t749 + 0.5e2 * t258 * t753 + 0.1e3 / 0.3e1 * t69 * t757; + const double t762 = t73 * t62; + const double t767 = t89 * t679; + const double t768 = t767 * t683; + const double t771 = t79 * t68; + const double t776 = t95 * t679; + const double t777 = t776 * t683; + const double t780 = t85 * t74; + const double t785 = t101 * t679; + const double t786 = t785 * t683; + const double t793 = t113 * t679; + const double t794 = t793 * t683; + const double t797 = t119 * t679; + const double t798 = t797 * t683; + const double t801 = 0.1e3 / 0.3e1 * t762 * t753 + 0.8e3 / 0.9e1 * t265 * t757 + 0.5e3 / 0.9e1 * t75 * t768 + 0.5e3 / 0.9e1 * t771 * t757 + 0.125e4 / 0.9e1 * t272 * t768 + 0.25e3 / 0.3e1 * t81 * t777 + 0.25e3 / 0.3e1 * t780 * t768 + 0.2e3 * t279 * t777 + 0.35e3 / 0.3e1 * t87 * t786 + 0.5e2 / 0.9e1 * t57 * t749 + 0.2e3 / 0.9e1 * t251 * t749 + 0.45e3 * t301 * t794 + 0.25e3 * t105 * t798; + const double t802 = t109 * t98; + const double t807 = t319 * t679; + const double t808 = t807 * t683; + const double t811 = t115 * t104; + const double t818 = t97 * t86; + const double t821 = t107 * t679; + const double t822 = t821 * t683; + const double t827 = t103 * t92; + const double t831 = 0.1e1 / t100 / t82; + const double t832 = t831 * t679; + const double t836 = t91 * t80; + const double t843 = 0.25e3 * t802 * t794 + 0.5e4 / 0.9e1 * t308 * t798 + 0.275e4 / 0.9e1 * t111 * t808 + 0.275e4 / 0.9e1 * t811 * t798 + 0.605e4 / 0.9e1 * t315 * t808 + 0.5e2 / 0.3e1 * t63 * t753 + 0.14e4 / 0.9e1 * t818 * t786 + 0.32e4 / 0.9e1 * t294 * t822 + 0.2e3 * t99 * t794 + 0.2e3 * t827 * t822 + 0.11e4 / 0.3e1 * t117 * t832 * t683 + 0.35e3 / 0.3e1 * t836 * t777 + 0.245e4 / 0.9e1 * t287 * t786 + 0.14e4 / 0.9e1 * t93 * t822; + const double t845 = t719 + t760 + t801 + t843; + const double t846 = t47 * t845; + const double t847 = t29 * t846; + const double t850 = -0.3e1 / 0.8e1 * t627 * t123 - t630 / 0.4e1 + 0.80738072177682195292e-2 * t633 * t240 - 0.3e1 / 0.4e1 * t221 * t327 + t643 + 0.26912690725894065098e-2 * t646 - t649 / 0.4e1 + 0.19692461905715025473e-3 * t654 * t665 - 0.14801979899241735804e-1 * t234 * t672 + 0.80738072177682195292e-2 * t234 * t676 - 0.3e1 / 0.8e1 * t27 * t847; + const double t851 = piecewise_functor_3( t2, 0.0, t850 ); + const double t852 = t133 * t133; + const double t853 = 0.1e1 / t852; + const double t854 = t334 * t334; + const double t857 = t128 * t618; + const double t860 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t214 + 0.2e1 * t857 ); + const double t864 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t854 + 0.4e1 / 0.3e1 * t133 * t860 ); + const double t865 = t6 * t864; + const double t868 = t338 * t341; + const double t870 = t640 * t208; + const double t872 = t136 * t870 / 0.12e2; + const double t874 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t865 * t209 - t868 / 0.4e1 + t872 ); + const double t889 = t353 * t227; + const double t914 = t363 * t341; + const double t921 = t226 * t368; + const double t922 = t366 * t921; + const double t923 = t922 * t376; + const double t927 = t226 * t462; + const double t928 = t136 * t927; + const double t936 = t349 * t349; + const double t941 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t214 + 0.2e1 * t619 ); + const double t945 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t936 + 0.4e1 / 0.3e1 * t24 * t941 ); + const double t946 = t6 * t945; + const double t951 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t946 * t123 - t889 / 0.4e1 + t643 ); + const double t952 = t359 * t359; + const double t957 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t214 + 0.2e1 * t857 ); + const double t961 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t952 + 0.4e1 / 0.3e1 * t133 * t957 ); + const double t962 = t6 * t961; + const double t966 = t3 * t362; + const double t967 = t966 * t369; + const double t975 = 0.1e1 / t367 / t145; + const double t976 = t29 * t975; + const double t977 = t366 * t976; + const double t978 = sigma_bb * sigma_bb; + const double t979 = t137 * t137; + const double t980 = t979 * t371; + const double t982 = 0.1e1 / t138 / t980; + const double t983 = t978 * t982; + const double t985 = t657 * t983 * t207; + const double t989 = 0.1e1 / t139 / t979; + const double t990 = sigma_bb * t989; + const double t992 = t35 * t990 * t207; + const double t996 = t35 * t374 * t461; + const double t1002 = tau_b * tau_b; + const double t1003 = t49 * t1002; + const double t1004 = t979 * rho_b; + const double t1006 = 0.1e1 / t138 / t1004; + const double t1007 = t1006 * t160; + const double t1010 = t61 * t1002; + const double t1013 = t397 * t373; + const double t1018 = t404 * t373; + const double t1023 = t411 * t373; + const double t1028 = t419 * t373; + const double t1033 = t426 * t373; + const double t1038 = -0.4e2 / 0.9e1 * t379 * t373 * t155 + 0.5e2 / 0.9e1 * t1003 * t1007 + 0.5e2 / 0.9e1 * t1010 * t1007 - 0.4e2 / 0.3e1 * t163 * t1013 - 0.16e3 / 0.9e1 * t401 * t1013 - 0.16e3 / 0.9e1 * t168 * t1018 - 0.2e3 / 0.9e1 * t408 * t1018 - 0.2e3 / 0.9e1 * t173 * t1023 - 0.8e2 / 0.3e1 * t415 * t1023 - 0.8e2 / 0.3e1 * t178 * t1028 - 0.28e3 / 0.9e1 * t423 * t1028 - 0.28e3 / 0.9e1 * t183 * t1033 - 0.32e3 / 0.9e1 * t430 * t1033; + const double t1039 = t433 * t373; + const double t1042 = t383 * t373; + const double t1047 = t115 * t192; + const double t1048 = t205 * t1002; + const double t1049 = t1048 * t1006; + const double t1052 = t455 * t1002; + const double t1053 = t1052 * t1006; + const double t1057 = 0.1e1 / t189 / t174; + const double t1058 = t1057 * t1002; + const double t1062 = t185 * t1002; + const double t1063 = t1062 * t1006; + const double t1066 = t85 * t167; + const double t1067 = t180 * t1002; + const double t1068 = t1067 * t1006; + const double t1073 = t190 * t1002; + const double t1074 = t1073 * t1006; + const double t1077 = t91 * t172; + const double t1082 = t195 * t1002; + const double t1083 = t1082 * t1006; + const double t1086 = t97 * t177; + const double t1089 = -0.32e3 / 0.9e1 * t188 * t1039 - 0.4e2 / 0.9e1 * t153 * t1042 - 0.8e2 / 0.9e1 * t387 * t1042 + 0.275e4 / 0.9e1 * t1047 * t1049 + 0.605e4 / 0.9e1 * t451 * t1053 + 0.11e4 / 0.3e1 * t203 * t1058 * t1006 + 0.25e3 / 0.3e1 * t173 * t1063 + 0.25e3 / 0.3e1 * t1066 * t1068 + 0.2e3 * t415 * t1063 + 0.35e3 / 0.3e1 * t178 * t1074 + 0.35e3 / 0.3e1 * t1077 * t1063 + 0.245e4 / 0.9e1 * t423 * t1074 + 0.14e4 / 0.9e1 * t183 * t1083 + 0.14e4 / 0.9e1 * t1086 * t1074; + const double t1093 = t200 * t1002; + const double t1094 = t1093 * t1006; + const double t1097 = t103 * t182; + const double t1104 = t165 * t1002; + const double t1105 = t1104 * t1006; + const double t1110 = t170 * t1002; + const double t1111 = t1110 * t1006; + const double t1114 = t67 * t152; + const double t1119 = t175 * t1002; + const double t1120 = t1119 * t1006; + const double t1123 = t73 * t157; + const double t1128 = 0.32e4 / 0.9e1 * t430 * t1083 + 0.2e3 * t188 * t1094 + 0.2e3 * t1097 * t1083 + 0.45e3 * t437 * t1094 + 0.25e3 * t193 * t1049 + 0.5e2 / 0.9e1 * t153 * t1105 + 0.2e3 / 0.9e1 * t387 * t1105 + 0.5e2 / 0.3e1 * t158 * t1111 + 0.5e2 / 0.3e1 * t1114 * t1105 + 0.5e2 * t394 * t1111 + 0.1e3 / 0.3e1 * t163 * t1120 + 0.1e3 / 0.3e1 * t1123 * t1111 + 0.8e3 / 0.9e1 * t401 * t1120; + const double t1131 = t79 * t162; + const double t1136 = t390 * t373; + const double t1143 = t440 * t373; + const double t1148 = t447 * t373; + const double t1156 = t109 * t187; + const double t1163 = 0.5e3 / 0.9e1 * t168 * t1068 + 0.5e3 / 0.9e1 * t1131 * t1120 + 0.125e4 / 0.9e1 * t408 * t1068 - 0.8e2 / 0.9e1 * t158 * t1136 - 0.4e2 / 0.3e1 * t394 * t1136 - 0.4e2 * t437 * t1039 - 0.4e2 * t193 * t1143 - 0.4e3 / 0.9e1 * t444 * t1143 - 0.4e3 / 0.9e1 * t198 * t1148 - 0.44e3 / 0.9e1 * t451 * t1148 - 0.44e3 / 0.9e1 * t203 * t456 * t373 + 0.25e3 * t1156 * t1094 + 0.5e4 / 0.9e1 * t444 * t1049 + 0.275e4 / 0.9e1 * t198 * t1053; + const double t1165 = t1038 + t1089 + t1128 + t1163; + const double t1166 = t148 * t1165; + const double t1167 = t29 * t1166; + const double t1170 = -0.3e1 / 0.8e1 * t962 * t209 - t914 / 0.4e1 + 0.80738072177682195292e-2 * t967 * t376 - 0.3e1 / 0.4e1 * t363 * t463 + t872 + 0.26912690725894065098e-2 * t923 - t928 / 0.4e1 + 0.19692461905715025473e-3 * t977 * t985 - 0.14801979899241735804e-1 * t370 * t992 + 0.80738072177682195292e-2 * t370 * t996 - 0.3e1 / 0.8e1 * t136 * t1167; + const double t1171 = piecewise_functor_3( t127, 0.0, t1170 ); + const double t1174 = t632 * t29; + const double t1177 = t230 * t226; + const double t1179 = 0.5046129511105137206e-3 * t1177 * t474; + const double t1180 = t659 * t36; + const double t1182 = 0.1e1 / t37 / t1180; + const double t1185 = t657 * t1182 * t121 * sigma_aa; + const double t1188 = t34 * t237; + const double t1190 = t471 * t1188 * t121; + const double t1194 = t471 * t472 * t325; + const double t1198 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t1174 * t474 - t1179 - 0.73846732146431345529e-4 * t654 * t1185 + 0.40369036088841097648e-2 * t470 * t1190 - 0.15138388533315411618e-2 * t470 * t1194 ); + const double t1203 = t366 * t226; + const double t1205 = 0.5046129511105137206e-3 * t1203 * t482; + const double t1215 = t966 * t29; + const double t1218 = t979 * t137; + const double t1220 = 0.1e1 / t138 / t1218; + const double t1223 = t657 * t1220 * t207 * sigma_bb; + const double t1226 = t34 * t373; + const double t1228 = t479 * t1226 * t207; + const double t1232 = t479 * t480 * t461; + const double t1236 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t1215 * t482 - t1205 - 0.73846732146431345529e-4 * t977 * t1223 + 0.40369036088841097648e-2 * t478 * t1228 - 0.15138388533315411618e-2 * t478 * t1232 ); + const double t1240 = t226 * t543; + const double t1242 = t27 * t1240 / 0.8e1; + const double t1244 = t35 * t238 * t542; + const double t1250 = t95 * t40; + const double t1253 = t101 * t40; + const double t1258 = t107 * t40; + const double t1263 = t113 * t40; + const double t1268 = t119 * t40; + const double t1273 = t71 * t40; + const double t1278 = t77 * t40; + const double t1281 = 0.55e2 / 0.3e1 * t117 * t319 * t40 + 0.35e2 / 0.3e1 * t287 * t1250 + 0.35e2 / 0.3e1 * t93 * t1253 + 0.4e2 / 0.3e1 * t294 * t1253 + 0.4e2 / 0.3e1 * t99 * t1258 + 0.15e2 * t301 * t1258 + 0.15e2 * t105 * t1263 + 0.5e2 / 0.3e1 * t308 * t1263 + 0.5e2 / 0.3e1 * t111 * t1268 + 0.55e2 / 0.3e1 * t315 * t1268 + 0.1e2 / 0.3e1 * t63 * t1273 + 0.5e1 * t258 * t1273 + 0.5e1 * t69 * t1278; + const double t1284 = t83 * t40; + const double t1289 = t89 * t40; + const double t1296 = t65 * t40; + const double t1302 = 0.1e1 / t37 / t659; + const double t1303 = t49 * t1302; + const double t1306 = t61 * tau_a; + const double t1313 = t89 * t1302; + const double t1314 = t1313 * tau_a; + const double t1317 = t95 * t1302; + const double t1318 = t1317 * tau_a; + const double t1321 = t101 * t1302; + const double t1322 = t1321 * tau_a; + const double t1325 = 0.2e2 / 0.3e1 * t265 * t1278 + 0.2e2 / 0.3e1 * t75 * t1284 + 0.25e2 / 0.3e1 * t272 * t1284 + 0.25e2 / 0.3e1 * t81 * t1289 + 0.1e2 * t279 * t1289 + 0.1e2 * t87 * t1250 + 0.5e1 / 0.3e1 * t57 * t1296 + 0.1e2 / 0.3e1 * t251 * t1296 - 0.1e2 / 0.3e1 * t1303 * t247 - 0.1e2 / 0.3e1 * t1306 * t1302 * t65 + 0.5e1 / 0.3e1 * t49 * t40 * t59 - 0.5e2 * t780 * t1314 - 0.12e3 * t279 * t1318 - 0.7e2 * t87 * t1322; + const double t1327 = t71 * t1302; + const double t1328 = t1327 * tau_a; + const double t1331 = t107 * t1302; + const double t1332 = t1331 * tau_a; + const double t1339 = t113 * t1302; + const double t1340 = t1339 * tau_a; + const double t1347 = t119 * t1302; + const double t1348 = t1347 * tau_a; + const double t1355 = t319 * t1302; + const double t1356 = t1355 * tau_a; + const double t1363 = -0.1e2 / 0.3e1 * t57 * t1328 - 0.28e3 / 0.3e1 * t93 * t1332 - 0.28e3 / 0.3e1 * t818 * t1322 - 0.64e3 / 0.3e1 * t294 * t1332 - 0.12e3 * t99 * t1340 - 0.12e3 * t827 * t1332 - 0.27e3 * t301 * t1340 - 0.15e3 * t105 * t1348 - 0.15e3 * t802 * t1340 - 0.1e4 / 0.3e1 * t308 * t1348 - 0.55e3 / 0.3e1 * t111 * t1356 - 0.55e3 / 0.3e1 * t811 * t1348 - 0.121e4 / 0.3e1 * t315 * t1356; + const double t1366 = t77 * t1302; + const double t1367 = t1366 * tau_a; + const double t1374 = t83 * t1302; + const double t1375 = t1374 * tau_a; + const double t1390 = t831 * t1302; + const double t1398 = -0.4e2 / 0.3e1 * t251 * t1328 - 0.1e2 * t63 * t1367 - 0.1e2 * t747 * t1328 - 0.3e2 * t258 * t1367 - 0.2e2 * t69 * t1375 - 0.2e2 * t762 * t1367 - 0.16e3 / 0.3e1 * t265 * t1375 - 0.1e3 / 0.3e1 * t75 * t1314 - 0.1e3 / 0.3e1 * t771 * t1375 - 0.25e3 / 0.3e1 * t272 * t1314 - 0.5e2 * t81 * t1318 - 0.22e3 * t117 * t1390 * tau_a - 0.7e2 * t836 * t1318 - 0.49e3 / 0.3e1 * t287 * t1322; + const double t1400 = t1281 + t1325 + t1363 + t1398; + const double t1401 = t47 * t1400; + const double t1402 = t29 * t1401; + const double t1406 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t544 - t1242 + 0.40369036088841097646e-2 * t234 * t1244 - 0.3e1 / 0.8e1 * t27 * t1402 ); + const double t1410 = t226 * t605; + const double t1412 = t136 * t1410 / 0.8e1; + const double t1424 = t35 * t374 * t604; + const double t1427 = t195 * t141; + const double t1430 = t200 * t141; + const double t1435 = t205 * t141; + const double t1443 = t175 * t141; + const double t1448 = t180 * t141; + const double t1453 = t185 * t141; + const double t1458 = t190 * t141; + const double t1461 = 0.15e2 * t437 * t1427 + 0.15e2 * t193 * t1430 + 0.5e2 / 0.3e1 * t444 * t1430 + 0.5e2 / 0.3e1 * t198 * t1435 + 0.55e2 / 0.3e1 * t451 * t1435 + 0.55e2 / 0.3e1 * t203 * t455 * t141 + 0.2e2 / 0.3e1 * t168 * t1443 + 0.25e2 / 0.3e1 * t408 * t1443 + 0.25e2 / 0.3e1 * t173 * t1448 + 0.1e2 * t415 * t1448 + 0.1e2 * t178 * t1453 + 0.35e2 / 0.3e1 * t423 * t1453 + 0.35e2 / 0.3e1 * t183 * t1458; + const double t1466 = t160 * t141; + const double t1471 = t165 * t141; + const double t1476 = t170 * t141; + const double t1481 = t61 * tau_b; + const double t1483 = 0.1e1 / t138 / t979; + const double t1487 = t49 * t1483; + const double t1493 = t455 * t1483; + const double t1494 = t1493 * tau_b; + const double t1497 = t1057 * t1483; + const double t1501 = t180 * t1483; + const double t1502 = t1501 * tau_b; + const double t1505 = 0.4e2 / 0.3e1 * t430 * t1458 + 0.4e2 / 0.3e1 * t188 * t1427 + 0.5e1 / 0.3e1 * t153 * t1466 + 0.1e2 / 0.3e1 * t387 * t1466 + 0.1e2 / 0.3e1 * t158 * t1471 + 0.5e1 * t394 * t1471 + 0.5e1 * t163 * t1476 + 0.2e2 / 0.3e1 * t401 * t1476 - 0.1e2 / 0.3e1 * t1481 * t1483 * t160 - 0.1e2 / 0.3e1 * t1487 * t383 + 0.5e1 / 0.3e1 * t49 * t141 * t155 - 0.121e4 / 0.3e1 * t451 * t1494 - 0.22e3 * t203 * t1497 * tau_b - 0.1e3 / 0.3e1 * t168 * t1502; + const double t1507 = t175 * t1483; + const double t1508 = t1507 * tau_b; + const double t1513 = t185 * t1483; + const double t1514 = t1513 * tau_b; + const double t1521 = t190 * t1483; + const double t1522 = t1521 * tau_b; + const double t1529 = t195 * t1483; + const double t1530 = t1529 * tau_b; + const double t1537 = t200 * t1483; + const double t1538 = t1537 * tau_b; + const double t1541 = t165 * t1483; + const double t1542 = t1541 * tau_b; + const double t1545 = -0.1e3 / 0.3e1 * t1131 * t1508 - 0.25e3 / 0.3e1 * t408 * t1502 - 0.5e2 * t173 * t1514 - 0.5e2 * t1066 * t1502 - 0.12e3 * t415 * t1514 - 0.7e2 * t178 * t1522 - 0.7e2 * t1077 * t1514 - 0.49e3 / 0.3e1 * t423 * t1522 - 0.28e3 / 0.3e1 * t183 * t1530 - 0.28e3 / 0.3e1 * t1086 * t1522 - 0.64e3 / 0.3e1 * t430 * t1530 - 0.12e3 * t188 * t1538 - 0.1e2 / 0.3e1 * t153 * t1542; + const double t1548 = t170 * t1483; + const double t1549 = t1548 * tau_b; + const double t1566 = t205 * t1483; + const double t1567 = t1566 * tau_b; + const double t1578 = -0.4e2 / 0.3e1 * t387 * t1542 - 0.1e2 * t158 * t1549 - 0.1e2 * t1114 * t1542 - 0.3e2 * t394 * t1549 - 0.2e2 * t163 * t1508 - 0.2e2 * t1123 * t1549 - 0.16e3 / 0.3e1 * t401 * t1508 - 0.12e3 * t1097 * t1530 - 0.27e3 * t437 * t1538 - 0.15e3 * t193 * t1567 - 0.15e3 * t1156 * t1538 - 0.1e4 / 0.3e1 * t444 * t1567 - 0.55e3 / 0.3e1 * t198 * t1494 - 0.55e3 / 0.3e1 * t1047 * t1567; + const double t1580 = t1461 + t1505 + t1545 + t1578; + const double t1581 = t148 * t1580; + const double t1582 = t29 * t1581; + const double t1586 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t606 - t1412 + 0.40369036088841097646e-2 * t370 * t1424 - 0.3e1 / 0.8e1 * t136 * t1582 ); + const double t1588 = t652 * t50; + const double t1589 = t656 * t683; + const double t1591 = t1588 * t1589 * t121; + const double t1594 = piecewise_functor_3( t2, 0.0, 0.27692524554911754573e-4 * t470 * t1591 ); + const double t1595 = t975 * t50; + const double t1596 = t656 * t1006; + const double t1598 = t1595 * t1596 * t207; + const double t1601 = piecewise_functor_3( t127, 0.0, 0.27692524554911754573e-4 * t478 * t1598 ); + const double t1603 = t471 * t472 * t542; + const double t1606 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t1603 ); + const double t1608 = t479 * t480 * t604; + const double t1611 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t1608 ); + const double t1613 = 0.1e1 / t37 / t235; + const double t1614 = t71 * t1613; + const double t1619 = t77 * t1613; + const double t1624 = t83 * t1613; + const double t1629 = t89 * t1613; + const double t1634 = t95 * t1613; + const double t1639 = t101 * t1613; + const double t1652 = 0.8e1 * t251 * t1614 + 0.2e1 * t57 * t1614 + 0.18e2 * t258 * t1619 + 0.6e1 * t63 * t1619 + 0.12e2 * t762 * t1619 + 0.32e2 * t265 * t1624 + 0.12e2 * t69 * t1624 + 0.2e2 * t771 * t1624 + 0.5e2 * t272 * t1629 + 0.2e2 * t75 * t1629 + 0.3e2 * t780 * t1629 + 0.72e2 * t279 * t1634 + 0.3e2 * t81 * t1634 + 0.42e2 * t836 * t1634 + 0.98e2 * t287 * t1639 + 0.42e2 * t87 * t1639; + const double t1655 = t107 * t1613; + const double t1658 = t113 * t1613; + const double t1661 = t119 * t1613; + const double t1678 = t319 * t1613; + const double t1692 = 0.132e3 * t117 * t831 * t1613 + 0.2e1 * t49 * t1613 * t65 + 0.2e1 * t61 * t1613 * t65 + 0.9e2 * t105 * t1661 + 0.11e3 * t111 * t1678 + 0.6e1 * t747 * t1614 + 0.56e2 * t818 * t1639 + 0.128e3 * t294 * t1655 + 0.72e2 * t827 * t1655 + 0.56e2 * t93 * t1655 + 0.162e3 * t301 * t1658 + 0.9e2 * t802 * t1658 + 0.72e2 * t99 * t1658 + 0.2e3 * t308 * t1661 + 0.11e3 * t811 * t1661 + 0.242e3 * t315 * t1678; + const double t1693 = t1652 + t1692; + const double t1694 = t47 * t1693; + const double t1695 = t29 * t1694; + const double t1698 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1695 ); + const double t1700 = 0.1e1 / t138 / t371; + const double t1701 = t195 * t1700; + const double t1704 = t200 * t1700; + const double t1707 = t205 * t1700; + const double t1710 = t165 * t1700; + const double t1713 = t170 * t1700; + const double t1716 = t175 * t1700; + const double t1719 = t180 * t1700; + const double t1722 = t185 * t1700; + const double t1725 = t190 * t1700; + const double t1742 = 0.11e3 * t1047 * t1707 + 0.3e2 * t1066 * t1719 + 0.42e2 * t1077 * t1722 + 0.56e2 * t1086 * t1725 + 0.72e2 * t1097 * t1701 + 0.6e1 * t1114 * t1710 + 0.12e2 * t1123 * t1713 + 0.2e2 * t1131 * t1716 + 0.9e2 * t1156 * t1704 + 0.56e2 * t183 * t1701 + 0.128e3 * t430 * t1701 + 0.72e2 * t188 * t1704 + 0.162e3 * t437 * t1704 + 0.72e2 * t415 * t1722 + 0.42e2 * t178 * t1725 + 0.98e2 * t423 * t1725; + const double t1747 = t455 * t1700; + const double t1779 = 0.132e3 * t203 * t1057 * t1700 + 0.2e1 * t49 * t1700 * t160 + 0.2e1 * t61 * t1700 * t160 + 0.2e1 * t153 * t1710 + 0.6e1 * t158 * t1713 + 0.12e2 * t163 * t1716 + 0.2e2 * t168 * t1719 + 0.9e2 * t193 * t1707 + 0.2e3 * t444 * t1707 + 0.8e1 * t387 * t1710 + 0.18e2 * t394 * t1713 + 0.32e2 * t401 * t1716 + 0.5e2 * t408 * t1719 + 0.3e2 * t173 * t1722 + 0.11e3 * t198 * t1747 + 0.242e3 * t451 * t1747; + const double t1780 = t1742 + t1779; + const double t1781 = t148 * t1780; + const double t1782 = t29 * t1781; + const double t1785 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t1782 ); + + + v2rho2_aa = 0.2e1 * t331 + 0.2e1 * t345 + t7 * ( t851 + t874 ); + v2rho2_bb = 0.2e1 * t357 + 0.2e1 * t467 + t7 * ( t951 + t1171 ); + v2rhosigma_a_aa = t7 * t1198 + t477; + v2rhosigma_b_bb = t7 * t1236 + t485; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1406 + t547; + v2rhotau_b_b = t7 * t1586 + t609; + v2sigma2_aa_aa = t7 * t1594; + v2sigma2_bb_bb = t7 * t1601; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1606; + v2sigmatau_bb_b = t7 * t1611; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1698; + v2tau2_bb = t7 * t1785; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t31 = constants::m_pi_sq; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + constexpr double t656 = 0.1e1 / t32 / t31; + constexpr double t657 = t50 * t656; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + const double t612 = t24 * t24; + const double t613 = 0.1e1 / t612; + const double t614 = t217 * t217; + const double t617 = t213 * t7; + const double t618 = 0.1e1 / t617; + const double t619 = t17 * t618; + const double t622 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t214 + 0.2e1 * t619 ); + const double t626 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t614 + 0.4e1 / 0.3e1 * t24 * t622 ); + const double t627 = t6 * t626; + const double t630 = t221 * t227; + const double t632 = t3 * t220; + const double t633 = t632 * t233; + const double t640 = 0.1e1 / t224 / t7 * csi_HF; + const double t641 = t640 * t122; + const double t643 = t27 * t641 / 0.12e2; + const double t644 = t226 * t232; + const double t645 = t230 * t644; + const double t646 = t645 * t240; + const double t648 = t226 * t326; + const double t649 = t27 * t648; + const double t652 = 0.1e1 / t231 / t44; + const double t653 = t29 * t652; + const double t654 = t230 * t653; + const double t658 = sigma_aa * sigma_aa; + const double t659 = t36 * t36; + const double t660 = t659 * t235; + const double t662 = 0.1e1 / t37 / t660; + const double t663 = t658 * t662; + const double t665 = t657 * t663 * t121; + const double t669 = 0.1e1 / t38 / t659; + const double t670 = sigma_aa * t669; + const double t672 = t35 * t670 * t121; + const double t676 = t35 * t238 * t325; + const double t679 = tau_a * tau_a; + const double t680 = t49 * t679; + const double t681 = t659 * rho_a; + const double t683 = 0.1e1 / t37 / t681; + const double t684 = t683 * t65; + const double t687 = t61 * t679; + const double t693 = t247 * t237; + const double t696 = t254 * t237; + const double t701 = t261 * t237; + const double t704 = t311 * t237; + const double t714 = t268 * t237; + const double t719 = 0.5e2 / 0.9e1 * t680 * t684 + 0.5e2 / 0.9e1 * t687 * t684 - 0.4e2 / 0.9e1 * t243 * t237 * t59 - 0.8e2 / 0.9e1 * t251 * t693 - 0.8e2 / 0.9e1 * t63 * t696 - 0.4e2 / 0.3e1 * t258 * t696 - 0.4e2 / 0.3e1 * t69 * t701 - 0.4e3 / 0.9e1 * t111 * t704 - 0.44e3 / 0.9e1 * t315 * t704 - 0.44e3 / 0.9e1 * t117 * t320 * t237 - 0.16e3 / 0.9e1 * t265 * t701 - 0.16e3 / 0.9e1 * t75 * t714 - 0.2e3 / 0.9e1 * t272 * t714; + const double t720 = t275 * t237; + const double t725 = t283 * t237; + const double t730 = t290 * t237; + const double t735 = t297 * t237; + const double t740 = t304 * t237; + const double t747 = t67 * t56; + const double t748 = t71 * t679; + const double t749 = t748 * t683; + const double t752 = t77 * t679; + const double t753 = t752 * t683; + const double t756 = t83 * t679; + const double t757 = t756 * t683; + const double t760 = -0.2e3 / 0.9e1 * t81 * t720 - 0.8e2 / 0.3e1 * t279 * t720 - 0.8e2 / 0.3e1 * t87 * t725 - 0.28e3 / 0.9e1 * t287 * t725 - 0.28e3 / 0.9e1 * t93 * t730 - 0.32e3 / 0.9e1 * t294 * t730 - 0.32e3 / 0.9e1 * t99 * t735 - 0.4e2 * t301 * t735 - 0.4e2 * t105 * t740 - 0.4e3 / 0.9e1 * t308 * t740 - 0.4e2 / 0.9e1 * t57 * t693 + 0.5e2 / 0.3e1 * t747 * t749 + 0.5e2 * t258 * t753 + 0.1e3 / 0.3e1 * t69 * t757; + const double t762 = t73 * t62; + const double t767 = t89 * t679; + const double t768 = t767 * t683; + const double t771 = t79 * t68; + const double t776 = t95 * t679; + const double t777 = t776 * t683; + const double t780 = t85 * t74; + const double t785 = t101 * t679; + const double t786 = t785 * t683; + const double t793 = t113 * t679; + const double t794 = t793 * t683; + const double t797 = t119 * t679; + const double t798 = t797 * t683; + const double t801 = 0.1e3 / 0.3e1 * t762 * t753 + 0.8e3 / 0.9e1 * t265 * t757 + 0.5e3 / 0.9e1 * t75 * t768 + 0.5e3 / 0.9e1 * t771 * t757 + 0.125e4 / 0.9e1 * t272 * t768 + 0.25e3 / 0.3e1 * t81 * t777 + 0.25e3 / 0.3e1 * t780 * t768 + 0.2e3 * t279 * t777 + 0.35e3 / 0.3e1 * t87 * t786 + 0.5e2 / 0.9e1 * t57 * t749 + 0.2e3 / 0.9e1 * t251 * t749 + 0.45e3 * t301 * t794 + 0.25e3 * t105 * t798; + const double t802 = t109 * t98; + const double t807 = t319 * t679; + const double t808 = t807 * t683; + const double t811 = t115 * t104; + const double t818 = t97 * t86; + const double t821 = t107 * t679; + const double t822 = t821 * t683; + const double t827 = t103 * t92; + const double t831 = 0.1e1 / t100 / t82; + const double t832 = t831 * t679; + const double t836 = t91 * t80; + const double t843 = 0.25e3 * t802 * t794 + 0.5e4 / 0.9e1 * t308 * t798 + 0.275e4 / 0.9e1 * t111 * t808 + 0.275e4 / 0.9e1 * t811 * t798 + 0.605e4 / 0.9e1 * t315 * t808 + 0.5e2 / 0.3e1 * t63 * t753 + 0.14e4 / 0.9e1 * t818 * t786 + 0.32e4 / 0.9e1 * t294 * t822 + 0.2e3 * t99 * t794 + 0.2e3 * t827 * t822 + 0.11e4 / 0.3e1 * t117 * t832 * t683 + 0.35e3 / 0.3e1 * t836 * t777 + 0.245e4 / 0.9e1 * t287 * t786 + 0.14e4 / 0.9e1 * t93 * t822; + const double t845 = t719 + t760 + t801 + t843; + const double t846 = t47 * t845; + const double t847 = t29 * t846; + const double t850 = -0.3e1 / 0.8e1 * t627 * t123 - t630 / 0.4e1 + 0.80738072177682195292e-2 * t633 * t240 - 0.3e1 / 0.4e1 * t221 * t327 + t643 + 0.26912690725894065098e-2 * t646 - t649 / 0.4e1 + 0.19692461905715025473e-3 * t654 * t665 - 0.14801979899241735804e-1 * t234 * t672 + 0.80738072177682195292e-2 * t234 * t676 - 0.3e1 / 0.8e1 * t27 * t847; + const double t851 = piecewise_functor_3( t2, 0.0, t850 ); + const double t852 = t133 * t133; + const double t853 = 0.1e1 / t852; + const double t854 = t334 * t334; + const double t857 = t128 * t618; + const double t860 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t214 + 0.2e1 * t857 ); + const double t864 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t854 + 0.4e1 / 0.3e1 * t133 * t860 ); + const double t865 = t6 * t864; + const double t868 = t338 * t341; + const double t870 = t640 * t208; + const double t872 = t136 * t870 / 0.12e2; + const double t874 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t865 * t209 - t868 / 0.4e1 + t872 ); + const double t889 = t353 * t227; + const double t914 = t363 * t341; + const double t921 = t226 * t368; + const double t922 = t366 * t921; + const double t923 = t922 * t376; + const double t927 = t226 * t462; + const double t928 = t136 * t927; + const double t936 = t349 * t349; + const double t941 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t214 + 0.2e1 * t619 ); + const double t945 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t936 + 0.4e1 / 0.3e1 * t24 * t941 ); + const double t946 = t6 * t945; + const double t951 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t946 * t123 - t889 / 0.4e1 + t643 ); + const double t952 = t359 * t359; + const double t957 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t214 + 0.2e1 * t857 ); + const double t961 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t952 + 0.4e1 / 0.3e1 * t133 * t957 ); + const double t962 = t6 * t961; + const double t966 = t3 * t362; + const double t967 = t966 * t369; + const double t975 = 0.1e1 / t367 / t145; + const double t976 = t29 * t975; + const double t977 = t366 * t976; + const double t978 = sigma_bb * sigma_bb; + const double t979 = t137 * t137; + const double t980 = t979 * t371; + const double t982 = 0.1e1 / t138 / t980; + const double t983 = t978 * t982; + const double t985 = t657 * t983 * t207; + const double t989 = 0.1e1 / t139 / t979; + const double t990 = sigma_bb * t989; + const double t992 = t35 * t990 * t207; + const double t996 = t35 * t374 * t461; + const double t1002 = tau_b * tau_b; + const double t1003 = t49 * t1002; + const double t1004 = t979 * rho_b; + const double t1006 = 0.1e1 / t138 / t1004; + const double t1007 = t1006 * t160; + const double t1010 = t61 * t1002; + const double t1013 = t397 * t373; + const double t1018 = t404 * t373; + const double t1023 = t411 * t373; + const double t1028 = t419 * t373; + const double t1033 = t426 * t373; + const double t1038 = -0.4e2 / 0.9e1 * t379 * t373 * t155 + 0.5e2 / 0.9e1 * t1003 * t1007 + 0.5e2 / 0.9e1 * t1010 * t1007 - 0.4e2 / 0.3e1 * t163 * t1013 - 0.16e3 / 0.9e1 * t401 * t1013 - 0.16e3 / 0.9e1 * t168 * t1018 - 0.2e3 / 0.9e1 * t408 * t1018 - 0.2e3 / 0.9e1 * t173 * t1023 - 0.8e2 / 0.3e1 * t415 * t1023 - 0.8e2 / 0.3e1 * t178 * t1028 - 0.28e3 / 0.9e1 * t423 * t1028 - 0.28e3 / 0.9e1 * t183 * t1033 - 0.32e3 / 0.9e1 * t430 * t1033; + const double t1039 = t433 * t373; + const double t1042 = t383 * t373; + const double t1047 = t115 * t192; + const double t1048 = t205 * t1002; + const double t1049 = t1048 * t1006; + const double t1052 = t455 * t1002; + const double t1053 = t1052 * t1006; + const double t1057 = 0.1e1 / t189 / t174; + const double t1058 = t1057 * t1002; + const double t1062 = t185 * t1002; + const double t1063 = t1062 * t1006; + const double t1066 = t85 * t167; + const double t1067 = t180 * t1002; + const double t1068 = t1067 * t1006; + const double t1073 = t190 * t1002; + const double t1074 = t1073 * t1006; + const double t1077 = t91 * t172; + const double t1082 = t195 * t1002; + const double t1083 = t1082 * t1006; + const double t1086 = t97 * t177; + const double t1089 = -0.32e3 / 0.9e1 * t188 * t1039 - 0.4e2 / 0.9e1 * t153 * t1042 - 0.8e2 / 0.9e1 * t387 * t1042 + 0.275e4 / 0.9e1 * t1047 * t1049 + 0.605e4 / 0.9e1 * t451 * t1053 + 0.11e4 / 0.3e1 * t203 * t1058 * t1006 + 0.25e3 / 0.3e1 * t173 * t1063 + 0.25e3 / 0.3e1 * t1066 * t1068 + 0.2e3 * t415 * t1063 + 0.35e3 / 0.3e1 * t178 * t1074 + 0.35e3 / 0.3e1 * t1077 * t1063 + 0.245e4 / 0.9e1 * t423 * t1074 + 0.14e4 / 0.9e1 * t183 * t1083 + 0.14e4 / 0.9e1 * t1086 * t1074; + const double t1093 = t200 * t1002; + const double t1094 = t1093 * t1006; + const double t1097 = t103 * t182; + const double t1104 = t165 * t1002; + const double t1105 = t1104 * t1006; + const double t1110 = t170 * t1002; + const double t1111 = t1110 * t1006; + const double t1114 = t67 * t152; + const double t1119 = t175 * t1002; + const double t1120 = t1119 * t1006; + const double t1123 = t73 * t157; + const double t1128 = 0.32e4 / 0.9e1 * t430 * t1083 + 0.2e3 * t188 * t1094 + 0.2e3 * t1097 * t1083 + 0.45e3 * t437 * t1094 + 0.25e3 * t193 * t1049 + 0.5e2 / 0.9e1 * t153 * t1105 + 0.2e3 / 0.9e1 * t387 * t1105 + 0.5e2 / 0.3e1 * t158 * t1111 + 0.5e2 / 0.3e1 * t1114 * t1105 + 0.5e2 * t394 * t1111 + 0.1e3 / 0.3e1 * t163 * t1120 + 0.1e3 / 0.3e1 * t1123 * t1111 + 0.8e3 / 0.9e1 * t401 * t1120; + const double t1131 = t79 * t162; + const double t1136 = t390 * t373; + const double t1143 = t440 * t373; + const double t1148 = t447 * t373; + const double t1156 = t109 * t187; + const double t1163 = 0.5e3 / 0.9e1 * t168 * t1068 + 0.5e3 / 0.9e1 * t1131 * t1120 + 0.125e4 / 0.9e1 * t408 * t1068 - 0.8e2 / 0.9e1 * t158 * t1136 - 0.4e2 / 0.3e1 * t394 * t1136 - 0.4e2 * t437 * t1039 - 0.4e2 * t193 * t1143 - 0.4e3 / 0.9e1 * t444 * t1143 - 0.4e3 / 0.9e1 * t198 * t1148 - 0.44e3 / 0.9e1 * t451 * t1148 - 0.44e3 / 0.9e1 * t203 * t456 * t373 + 0.25e3 * t1156 * t1094 + 0.5e4 / 0.9e1 * t444 * t1049 + 0.275e4 / 0.9e1 * t198 * t1053; + const double t1165 = t1038 + t1089 + t1128 + t1163; + const double t1166 = t148 * t1165; + const double t1167 = t29 * t1166; + const double t1170 = -0.3e1 / 0.8e1 * t962 * t209 - t914 / 0.4e1 + 0.80738072177682195292e-2 * t967 * t376 - 0.3e1 / 0.4e1 * t363 * t463 + t872 + 0.26912690725894065098e-2 * t923 - t928 / 0.4e1 + 0.19692461905715025473e-3 * t977 * t985 - 0.14801979899241735804e-1 * t370 * t992 + 0.80738072177682195292e-2 * t370 * t996 - 0.3e1 / 0.8e1 * t136 * t1167; + const double t1171 = piecewise_functor_3( t127, 0.0, t1170 ); + const double t1174 = t632 * t29; + const double t1177 = t230 * t226; + const double t1179 = 0.5046129511105137206e-3 * t1177 * t474; + const double t1180 = t659 * t36; + const double t1182 = 0.1e1 / t37 / t1180; + const double t1185 = t657 * t1182 * t121 * sigma_aa; + const double t1188 = t34 * t237; + const double t1190 = t471 * t1188 * t121; + const double t1194 = t471 * t472 * t325; + const double t1198 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t1174 * t474 - t1179 - 0.73846732146431345529e-4 * t654 * t1185 + 0.40369036088841097648e-2 * t470 * t1190 - 0.15138388533315411618e-2 * t470 * t1194 ); + const double t1203 = t366 * t226; + const double t1205 = 0.5046129511105137206e-3 * t1203 * t482; + const double t1215 = t966 * t29; + const double t1218 = t979 * t137; + const double t1220 = 0.1e1 / t138 / t1218; + const double t1223 = t657 * t1220 * t207 * sigma_bb; + const double t1226 = t34 * t373; + const double t1228 = t479 * t1226 * t207; + const double t1232 = t479 * t480 * t461; + const double t1236 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t1215 * t482 - t1205 - 0.73846732146431345529e-4 * t977 * t1223 + 0.40369036088841097648e-2 * t478 * t1228 - 0.15138388533315411618e-2 * t478 * t1232 ); + const double t1240 = t226 * t543; + const double t1242 = t27 * t1240 / 0.8e1; + const double t1244 = t35 * t238 * t542; + const double t1250 = t95 * t40; + const double t1253 = t101 * t40; + const double t1258 = t107 * t40; + const double t1263 = t113 * t40; + const double t1268 = t119 * t40; + const double t1273 = t71 * t40; + const double t1278 = t77 * t40; + const double t1281 = 0.55e2 / 0.3e1 * t117 * t319 * t40 + 0.35e2 / 0.3e1 * t287 * t1250 + 0.35e2 / 0.3e1 * t93 * t1253 + 0.4e2 / 0.3e1 * t294 * t1253 + 0.4e2 / 0.3e1 * t99 * t1258 + 0.15e2 * t301 * t1258 + 0.15e2 * t105 * t1263 + 0.5e2 / 0.3e1 * t308 * t1263 + 0.5e2 / 0.3e1 * t111 * t1268 + 0.55e2 / 0.3e1 * t315 * t1268 + 0.1e2 / 0.3e1 * t63 * t1273 + 0.5e1 * t258 * t1273 + 0.5e1 * t69 * t1278; + const double t1284 = t83 * t40; + const double t1289 = t89 * t40; + const double t1296 = t65 * t40; + const double t1302 = 0.1e1 / t37 / t659; + const double t1303 = t49 * t1302; + const double t1306 = t61 * tau_a; + const double t1313 = t89 * t1302; + const double t1314 = t1313 * tau_a; + const double t1317 = t95 * t1302; + const double t1318 = t1317 * tau_a; + const double t1321 = t101 * t1302; + const double t1322 = t1321 * tau_a; + const double t1325 = 0.2e2 / 0.3e1 * t265 * t1278 + 0.2e2 / 0.3e1 * t75 * t1284 + 0.25e2 / 0.3e1 * t272 * t1284 + 0.25e2 / 0.3e1 * t81 * t1289 + 0.1e2 * t279 * t1289 + 0.1e2 * t87 * t1250 + 0.5e1 / 0.3e1 * t57 * t1296 + 0.1e2 / 0.3e1 * t251 * t1296 - 0.1e2 / 0.3e1 * t1303 * t247 - 0.1e2 / 0.3e1 * t1306 * t1302 * t65 + 0.5e1 / 0.3e1 * t49 * t40 * t59 - 0.5e2 * t780 * t1314 - 0.12e3 * t279 * t1318 - 0.7e2 * t87 * t1322; + const double t1327 = t71 * t1302; + const double t1328 = t1327 * tau_a; + const double t1331 = t107 * t1302; + const double t1332 = t1331 * tau_a; + const double t1339 = t113 * t1302; + const double t1340 = t1339 * tau_a; + const double t1347 = t119 * t1302; + const double t1348 = t1347 * tau_a; + const double t1355 = t319 * t1302; + const double t1356 = t1355 * tau_a; + const double t1363 = -0.1e2 / 0.3e1 * t57 * t1328 - 0.28e3 / 0.3e1 * t93 * t1332 - 0.28e3 / 0.3e1 * t818 * t1322 - 0.64e3 / 0.3e1 * t294 * t1332 - 0.12e3 * t99 * t1340 - 0.12e3 * t827 * t1332 - 0.27e3 * t301 * t1340 - 0.15e3 * t105 * t1348 - 0.15e3 * t802 * t1340 - 0.1e4 / 0.3e1 * t308 * t1348 - 0.55e3 / 0.3e1 * t111 * t1356 - 0.55e3 / 0.3e1 * t811 * t1348 - 0.121e4 / 0.3e1 * t315 * t1356; + const double t1366 = t77 * t1302; + const double t1367 = t1366 * tau_a; + const double t1374 = t83 * t1302; + const double t1375 = t1374 * tau_a; + const double t1390 = t831 * t1302; + const double t1398 = -0.4e2 / 0.3e1 * t251 * t1328 - 0.1e2 * t63 * t1367 - 0.1e2 * t747 * t1328 - 0.3e2 * t258 * t1367 - 0.2e2 * t69 * t1375 - 0.2e2 * t762 * t1367 - 0.16e3 / 0.3e1 * t265 * t1375 - 0.1e3 / 0.3e1 * t75 * t1314 - 0.1e3 / 0.3e1 * t771 * t1375 - 0.25e3 / 0.3e1 * t272 * t1314 - 0.5e2 * t81 * t1318 - 0.22e3 * t117 * t1390 * tau_a - 0.7e2 * t836 * t1318 - 0.49e3 / 0.3e1 * t287 * t1322; + const double t1400 = t1281 + t1325 + t1363 + t1398; + const double t1401 = t47 * t1400; + const double t1402 = t29 * t1401; + const double t1406 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t544 - t1242 + 0.40369036088841097646e-2 * t234 * t1244 - 0.3e1 / 0.8e1 * t27 * t1402 ); + const double t1410 = t226 * t605; + const double t1412 = t136 * t1410 / 0.8e1; + const double t1424 = t35 * t374 * t604; + const double t1427 = t195 * t141; + const double t1430 = t200 * t141; + const double t1435 = t205 * t141; + const double t1443 = t175 * t141; + const double t1448 = t180 * t141; + const double t1453 = t185 * t141; + const double t1458 = t190 * t141; + const double t1461 = 0.15e2 * t437 * t1427 + 0.15e2 * t193 * t1430 + 0.5e2 / 0.3e1 * t444 * t1430 + 0.5e2 / 0.3e1 * t198 * t1435 + 0.55e2 / 0.3e1 * t451 * t1435 + 0.55e2 / 0.3e1 * t203 * t455 * t141 + 0.2e2 / 0.3e1 * t168 * t1443 + 0.25e2 / 0.3e1 * t408 * t1443 + 0.25e2 / 0.3e1 * t173 * t1448 + 0.1e2 * t415 * t1448 + 0.1e2 * t178 * t1453 + 0.35e2 / 0.3e1 * t423 * t1453 + 0.35e2 / 0.3e1 * t183 * t1458; + const double t1466 = t160 * t141; + const double t1471 = t165 * t141; + const double t1476 = t170 * t141; + const double t1481 = t61 * tau_b; + const double t1483 = 0.1e1 / t138 / t979; + const double t1487 = t49 * t1483; + const double t1493 = t455 * t1483; + const double t1494 = t1493 * tau_b; + const double t1497 = t1057 * t1483; + const double t1501 = t180 * t1483; + const double t1502 = t1501 * tau_b; + const double t1505 = 0.4e2 / 0.3e1 * t430 * t1458 + 0.4e2 / 0.3e1 * t188 * t1427 + 0.5e1 / 0.3e1 * t153 * t1466 + 0.1e2 / 0.3e1 * t387 * t1466 + 0.1e2 / 0.3e1 * t158 * t1471 + 0.5e1 * t394 * t1471 + 0.5e1 * t163 * t1476 + 0.2e2 / 0.3e1 * t401 * t1476 - 0.1e2 / 0.3e1 * t1481 * t1483 * t160 - 0.1e2 / 0.3e1 * t1487 * t383 + 0.5e1 / 0.3e1 * t49 * t141 * t155 - 0.121e4 / 0.3e1 * t451 * t1494 - 0.22e3 * t203 * t1497 * tau_b - 0.1e3 / 0.3e1 * t168 * t1502; + const double t1507 = t175 * t1483; + const double t1508 = t1507 * tau_b; + const double t1513 = t185 * t1483; + const double t1514 = t1513 * tau_b; + const double t1521 = t190 * t1483; + const double t1522 = t1521 * tau_b; + const double t1529 = t195 * t1483; + const double t1530 = t1529 * tau_b; + const double t1537 = t200 * t1483; + const double t1538 = t1537 * tau_b; + const double t1541 = t165 * t1483; + const double t1542 = t1541 * tau_b; + const double t1545 = -0.1e3 / 0.3e1 * t1131 * t1508 - 0.25e3 / 0.3e1 * t408 * t1502 - 0.5e2 * t173 * t1514 - 0.5e2 * t1066 * t1502 - 0.12e3 * t415 * t1514 - 0.7e2 * t178 * t1522 - 0.7e2 * t1077 * t1514 - 0.49e3 / 0.3e1 * t423 * t1522 - 0.28e3 / 0.3e1 * t183 * t1530 - 0.28e3 / 0.3e1 * t1086 * t1522 - 0.64e3 / 0.3e1 * t430 * t1530 - 0.12e3 * t188 * t1538 - 0.1e2 / 0.3e1 * t153 * t1542; + const double t1548 = t170 * t1483; + const double t1549 = t1548 * tau_b; + const double t1566 = t205 * t1483; + const double t1567 = t1566 * tau_b; + const double t1578 = -0.4e2 / 0.3e1 * t387 * t1542 - 0.1e2 * t158 * t1549 - 0.1e2 * t1114 * t1542 - 0.3e2 * t394 * t1549 - 0.2e2 * t163 * t1508 - 0.2e2 * t1123 * t1549 - 0.16e3 / 0.3e1 * t401 * t1508 - 0.12e3 * t1097 * t1530 - 0.27e3 * t437 * t1538 - 0.15e3 * t193 * t1567 - 0.15e3 * t1156 * t1538 - 0.1e4 / 0.3e1 * t444 * t1567 - 0.55e3 / 0.3e1 * t198 * t1494 - 0.55e3 / 0.3e1 * t1047 * t1567; + const double t1580 = t1461 + t1505 + t1545 + t1578; + const double t1581 = t148 * t1580; + const double t1582 = t29 * t1581; + const double t1586 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t606 - t1412 + 0.40369036088841097646e-2 * t370 * t1424 - 0.3e1 / 0.8e1 * t136 * t1582 ); + const double t1588 = t652 * t50; + const double t1589 = t656 * t683; + const double t1591 = t1588 * t1589 * t121; + const double t1594 = piecewise_functor_3( t2, 0.0, 0.27692524554911754573e-4 * t470 * t1591 ); + const double t1595 = t975 * t50; + const double t1596 = t656 * t1006; + const double t1598 = t1595 * t1596 * t207; + const double t1601 = piecewise_functor_3( t127, 0.0, 0.27692524554911754573e-4 * t478 * t1598 ); + const double t1603 = t471 * t472 * t542; + const double t1606 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t1603 ); + const double t1608 = t479 * t480 * t604; + const double t1611 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t1608 ); + const double t1613 = 0.1e1 / t37 / t235; + const double t1614 = t71 * t1613; + const double t1619 = t77 * t1613; + const double t1624 = t83 * t1613; + const double t1629 = t89 * t1613; + const double t1634 = t95 * t1613; + const double t1639 = t101 * t1613; + const double t1652 = 0.8e1 * t251 * t1614 + 0.2e1 * t57 * t1614 + 0.18e2 * t258 * t1619 + 0.6e1 * t63 * t1619 + 0.12e2 * t762 * t1619 + 0.32e2 * t265 * t1624 + 0.12e2 * t69 * t1624 + 0.2e2 * t771 * t1624 + 0.5e2 * t272 * t1629 + 0.2e2 * t75 * t1629 + 0.3e2 * t780 * t1629 + 0.72e2 * t279 * t1634 + 0.3e2 * t81 * t1634 + 0.42e2 * t836 * t1634 + 0.98e2 * t287 * t1639 + 0.42e2 * t87 * t1639; + const double t1655 = t107 * t1613; + const double t1658 = t113 * t1613; + const double t1661 = t119 * t1613; + const double t1678 = t319 * t1613; + const double t1692 = 0.132e3 * t117 * t831 * t1613 + 0.2e1 * t49 * t1613 * t65 + 0.2e1 * t61 * t1613 * t65 + 0.9e2 * t105 * t1661 + 0.11e3 * t111 * t1678 + 0.6e1 * t747 * t1614 + 0.56e2 * t818 * t1639 + 0.128e3 * t294 * t1655 + 0.72e2 * t827 * t1655 + 0.56e2 * t93 * t1655 + 0.162e3 * t301 * t1658 + 0.9e2 * t802 * t1658 + 0.72e2 * t99 * t1658 + 0.2e3 * t308 * t1661 + 0.11e3 * t811 * t1661 + 0.242e3 * t315 * t1678; + const double t1693 = t1652 + t1692; + const double t1694 = t47 * t1693; + const double t1695 = t29 * t1694; + const double t1698 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1695 ); + const double t1700 = 0.1e1 / t138 / t371; + const double t1701 = t195 * t1700; + const double t1704 = t200 * t1700; + const double t1707 = t205 * t1700; + const double t1710 = t165 * t1700; + const double t1713 = t170 * t1700; + const double t1716 = t175 * t1700; + const double t1719 = t180 * t1700; + const double t1722 = t185 * t1700; + const double t1725 = t190 * t1700; + const double t1742 = 0.11e3 * t1047 * t1707 + 0.3e2 * t1066 * t1719 + 0.42e2 * t1077 * t1722 + 0.56e2 * t1086 * t1725 + 0.72e2 * t1097 * t1701 + 0.6e1 * t1114 * t1710 + 0.12e2 * t1123 * t1713 + 0.2e2 * t1131 * t1716 + 0.9e2 * t1156 * t1704 + 0.56e2 * t183 * t1701 + 0.128e3 * t430 * t1701 + 0.72e2 * t188 * t1704 + 0.162e3 * t437 * t1704 + 0.72e2 * t415 * t1722 + 0.42e2 * t178 * t1725 + 0.98e2 * t423 * t1725; + const double t1747 = t455 * t1700; + const double t1779 = 0.132e3 * t203 * t1057 * t1700 + 0.2e1 * t49 * t1700 * t160 + 0.2e1 * t61 * t1700 * t160 + 0.2e1 * t153 * t1710 + 0.6e1 * t158 * t1713 + 0.12e2 * t163 * t1716 + 0.2e2 * t168 * t1719 + 0.9e2 * t193 * t1707 + 0.2e3 * t444 * t1707 + 0.8e1 * t387 * t1710 + 0.18e2 * t394 * t1713 + 0.32e2 * t401 * t1716 + 0.5e2 * t408 * t1719 + 0.3e2 * t173 * t1722 + 0.11e3 * t198 * t1747 + 0.242e3 * t451 * t1747; + const double t1780 = t1742 + t1779; + const double t1781 = t148 * t1780; + const double t1782 = t29 * t1781; + const double t1785 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t1782 ); + + + vrho_a = t126 + t212 + t7 * ( t331 + t345 ); + vrho_b = t126 + t212 + t7 * ( t357 + t467 ); + vsigma_aa = t7 * t477; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t485; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t547; + vtau_b = t7 * t609; + v2rho2_aa = 0.2e1 * t331 + 0.2e1 * t345 + t7 * ( t851 + t874 ); + v2rho2_bb = 0.2e1 * t357 + 0.2e1 * t467 + t7 * ( t951 + t1171 ); + v2rhosigma_a_aa = t7 * t1198 + t477; + v2rhosigma_b_bb = t7 * t1236 + t485; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1406 + t547; + v2rhotau_b_b = t7 * t1586 + t609; + v2sigma2_aa_aa = t7 * t1594; + v2sigma2_bb_bb = t7 * t1601; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1606; + v2sigmatau_bb_b = t7 * t1611; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1698; + v2tau2_bb = t7 * t1785; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM05_X : detail::BuiltinKernelImpl< BuiltinM05_X > { + + BuiltinM05_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM05_X >(p) { } + + virtual ~BuiltinM05_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_2x_c.hpp b/include/exchcxx/impl/builtin/kernels/m06_2x_c.hpp index 619a4a1..9b40bcc 100644 --- a/include/exchcxx/impl/builtin/kernels/m06_2x_c.hpp +++ b/include/exchcxx/impl/builtin/kernels/m06_2x_c.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinM062X_C > : static constexpr double sigma_tol = 1.0000000000000021e-16; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double gamma_ss = 0.06; static constexpr double gamma_ab = 0.0031; @@ -63,7 +112,6 @@ struct kernel_traits< BuiltinM062X_C > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t7 = constants::m_cbrt_3; constexpr double t9 = constants::m_cbrt_one_ov_pi; constexpr double t11 = constants::m_cbrt_4; @@ -275,7 +323,6 @@ struct kernel_traits< BuiltinM062X_C > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t7 = constants::m_cbrt_3; constexpr double t9 = constants::m_cbrt_one_ov_pi; constexpr double t11 = constants::m_cbrt_4; @@ -724,190 +771,3201 @@ struct kernel_traits< BuiltinM062X_C > : } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { - (void)(sigma_ab); - (void)(lapl_a); - (void)(lapl_b); - (void)(eps); - constexpr double t11 = constants::m_cbrt_3; - constexpr double t13 = constants::m_cbrt_one_ov_pi; - constexpr double t15 = constants::m_cbrt_4; - constexpr double t20 = constants::m_cbrt_2; - constexpr double t395 = constants::m_cbrt_6; - constexpr double t398 = constants::m_cbrt_pi_sq; - constexpr double t14 = t11 * t13; - constexpr double t16 = t15 * t15; - constexpr double t17 = t14 * t16; - constexpr double t36 = t11 * t11; - constexpr double t37 = t13 * t13; - constexpr double t38 = t36 * t37; - constexpr double t39 = t38 * t15; - constexpr double t42 = t20 * t20; - constexpr double t100 = css_0; - constexpr double t101 = css_1; - constexpr double t102 = t101 * gamma_ss; - constexpr double t115 = css_2; - constexpr double t116 = gamma_ss * gamma_ss; - constexpr double t117 = t115 * t116; - constexpr double t128 = css_3; - constexpr double t129 = t116 * gamma_ss; - constexpr double t130 = t128 * t129; - constexpr double t139 = css_4; - constexpr double t140 = t116 * t116; - constexpr double t141 = t139 * t140; - constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; - constexpr double t165 = 0.1e1 / t164; - constexpr double t356 = cab_1; - constexpr double t357 = t356 * gamma_ab; - constexpr double t364 = cab_2; - constexpr double t365 = gamma_ab * gamma_ab; - constexpr double t366 = t364 * t365; - constexpr double t372 = cab_3; - constexpr double t373 = t365 * gamma_ab; - constexpr double t374 = t372 * t373; - constexpr double t380 = cab_4; - constexpr double t381 = t365 * t365; - constexpr double t382 = t380 * t381; - constexpr double t390 = dss_0; - constexpr double t396 = t395 * t395; - constexpr double t399 = t398 * t398; - constexpr double t400 = t396 * t399; - constexpr double t401 = 0.3e1 / 0.5e1 * t400; - constexpr double t407 = dss_1; - constexpr double t410 = dss_2; - constexpr double t417 = dss_3; - constexpr double t420 = dss_4; - constexpr double t424 = dss_5; - constexpr double t465 = dab_0; - constexpr double t466 = 0.6e1 / 0.5e1 * t400; - constexpr double t472 = dab_1; - constexpr double t474 = dab_2; - constexpr double t481 = dab_3; - constexpr double t483 = dab_4; - constexpr double t486 = dab_5; + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; - const double t3 = rho_a - rho_b; - const double t4 = rho_a + rho_b; - const double t5 = 0.1e1 / t4; - const double t6 = t3 * t5; - const double t7 = 0.1e1 + t6; - const double t8 = t7 <= zeta_tol; - const double t9 = rho_a <= dens_tol || t8; - const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); - const double t18 = safe_math::cbrt( t4 ); - const double t19 = 0.1e1 / t18; - const double t21 = t19 * t20; - const double t22 = safe_math::cbrt( zeta_tol ); - const double t23 = 0.1e1 / t22; - const double t24 = safe_math::cbrt( t7 ); - const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); - const double t28 = t17 * t21 * t26; - const double t30 = 0.1e1 + 0.53425e-1 * t28; - const double t31 = safe_math::sqrt( t28 ); - const double t34 = pow_3_2( t28 ); - const double t40 = t18 * t18; - const double t41 = 0.1e1 / t40; - const double t43 = t41 * t42; - const double t44 = t26 * t26; - const double t46 = t39 * t43 * t44; - const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; - const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; - const double t52 = safe_math::log( t51 ); - const double t54 = 0.621814e-1 * t30 * t52; - const double t56 = t22 * zeta_tol; - const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); - const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); - const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); - const double t65 = ( t58 + t60 - 0.2e1 ) * t64; - const double t67 = 0.1e1 + 0.5137e-1 * t28; - const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; - const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; - const double t76 = safe_math::log( t75 ); - const double t80 = 0.1e1 + 0.278125e-1 * t28; - const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; - const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; - const double t89 = safe_math::log( t88 ); - const double t90 = t80 * t89; - const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; - const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); - const double t103 = rho_a * rho_a; - const double t104 = safe_math::cbrt( rho_a ); - const double t105 = t104 * t104; - const double t107 = 0.1e1 / t105 / t103; - const double t108 = sigma_aa * t107; - const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; - const double t112 = 0.1e1 / t111; - const double t118 = sigma_aa * sigma_aa; - const double t119 = t103 * t103; - const double t120 = t119 * rho_a; - const double t122 = 0.1e1 / t104 / t120; - const double t124 = t111 * t111; - const double t125 = 0.1e1 / t124; - const double t131 = t118 * sigma_aa; - const double t132 = t119 * t119; - const double t133 = 0.1e1 / t132; - const double t135 = t124 * t111; - const double t136 = 0.1e1 / t135; - const double t142 = t118 * t118; - const double t143 = t132 * t103; - const double t145 = 0.1e1 / t105 / t143; - const double t147 = t124 * t124; - const double t148 = 0.1e1 / t147; - const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; - const double t152 = t99 * t151; - const double t153 = 0.1e1 / rho_a; - const double t154 = sigma_aa * t153; - const double t155 = 0.1e1 / tau_a; - const double t158 = 0.1e1 - t154 * t155 / 0.8e1; - const double t159 = tau_a * tau_a; - const double t160 = t103 * rho_a; - const double t162 = 0.1e1 / t104 / t160; - const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); - const double t169 = 0.1e1 - t168; - const double t170 = t158 * t169; - const double t171 = t152 * t170; - const double t173 = 0.1e1 - t6; - const double t174 = t173 <= zeta_tol; - const double t175 = rho_b <= dens_tol || t174; - const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); - const double t177 = safe_math::cbrt( t173 ); - const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); - const double t181 = t17 * t21 * t179; - const double t183 = 0.1e1 + 0.53425e-1 * t181; - const double t184 = safe_math::sqrt( t181 ); - const double t187 = pow_3_2( t181 ); - const double t189 = t179 * t179; - const double t191 = t39 * t43 * t189; - const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; - const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; - const double t197 = safe_math::log( t196 ); - const double t199 = 0.621814e-1 * t183 * t197; - const double t201 = 0.1e1 + 0.5137e-1 * t181; - const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; - const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; - const double t210 = safe_math::log( t209 ); - const double t214 = 0.1e1 + 0.278125e-1 * t181; - const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; - const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; - const double t223 = safe_math::log( t222 ); - const double t224 = t214 * t223; - const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; - const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); - const double t234 = rho_b * rho_b; - const double t235 = safe_math::cbrt( rho_b ); - const double t236 = t235 * t235; - const double t238 = 0.1e1 / t236 / t234; - const double t239 = sigma_bb * t238; - const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; - const double t243 = 0.1e1 / t242; - const double t246 = sigma_bb * sigma_bb; - const double t247 = t234 * t234; - const double t248 = t247 * rho_b; - const double t250 = 0.1e1 / t235 / t248; - const double t252 = t242 * t242; - const double t253 = 0.1e1 / t252; + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; const double t256 = t246 * sigma_bb; const double t257 = t247 * t247; const double t258 = 0.1e1 / t257; @@ -930,7 +3988,6 @@ struct kernel_traits< BuiltinM062X_C > : const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); const double t289 = 0.1e1 - t288; const double t290 = t280 * t289; - const double t291 = t274 * t290; const double t293 = t14 * t16 * t19; const double t295 = 0.1e1 + 0.53425e-1 * t293; const double t296 = safe_math::sqrt( t293 ); @@ -977,7 +4034,6 @@ struct kernel_traits< BuiltinM062X_C > : const double t384 = t368 * t368; const double t385 = 0.1e1 / t384; const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; - const double t389 = t354 * t388; const double t392 = 0.1e1 / t105 / rho_a; const double t394 = 0.2e1 * tau_a * t392; const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); @@ -994,7 +4050,6 @@ struct kernel_traits< BuiltinM062X_C > : const double t429 = 0.1e1 / t428; const double t431 = t390 / t404 + t413 * t415 + t427 * t429; const double t432 = t99 * t431; - const double t433 = t432 * t158; const double t435 = 0.1e1 / t236 / rho_b; const double t437 = 0.2e1 * tau_b * t435; const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); @@ -1011,7 +4066,6 @@ struct kernel_traits< BuiltinM062X_C > : const double t460 = 0.1e1 / t459; const double t462 = t390 / t440 + t447 * t449 + t458 * t460; const double t463 = t233 * t462; - const double t464 = t463 * t280; const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); const double t475 = t394 + t437 - t466; const double t477 = t472 * t358 + t474 * t475; @@ -1023,20 +4077,2023 @@ struct kernel_traits< BuiltinM062X_C > : const double t490 = t478 * t469; const double t491 = 0.1e1 / t490; const double t493 = t465 / t469 + t477 * t479 + t489 * t491; - const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; - eps = t171 + t291 + t389 + t433 + t464 + t494; + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t11 = constants::m_cbrt_3; constexpr double t13 = constants::m_cbrt_one_ov_pi; constexpr double t15 = constants::m_cbrt_4; @@ -1104,6 +6161,21 @@ struct kernel_traits< BuiltinM062X_C > : constexpr double t871 = t372 * t381; constexpr double t880 = t381 * gamma_ab; constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; const double t3 = rho_a - rho_b; @@ -1840,9 +6912,1473 @@ struct kernel_traits< BuiltinM062X_C > : const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; - eps = t171 + t291 + t389 + t433 + t464 + t494; vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); @@ -1852,6 +8388,51 @@ struct kernel_traits< BuiltinM062X_C > : vlapl_b = 0.e0; vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); } @@ -1869,4 +8450,4 @@ struct BuiltinM062X_C : detail::BuiltinKernelImpl< BuiltinM062X_C > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_2x_x.hpp b/include/exchcxx/impl/builtin/kernels/m06_2x_x.hpp index 177bdb5..32dbbef 100644 --- a/include/exchcxx/impl/builtin/kernels/m06_2x_x.hpp +++ b/include/exchcxx/impl/builtin/kernels/m06_2x_x.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinM062X_X > : static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = true; - static constexpr double exx_coeff = 0.54; static constexpr double a_0 = 0.46; static constexpr double a_1 = -0.2206052; @@ -50,7 +99,6 @@ struct kernel_traits< BuiltinM062X_X > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t22 = constants::m_cbrt_6; @@ -148,7 +196,6 @@ struct kernel_traits< BuiltinM062X_X > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t22 = constants::m_cbrt_6; @@ -318,24 +365,1187 @@ struct kernel_traits< BuiltinM062X_X > : const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); - eps = 0.2e1 * t121; - vrho = 0.2e1 * rho * t229 + 0.2e1 * t121; - vsigma = 0.2e1 * rho * t242; - vlapl = 0.e0; - vtau = 0.2e1 * rho * t317; + eps = 0.2e1 * t121; + vrho = 0.2e1 * rho * t229 + 0.2e1 * t121; + vsigma = 0.2e1 * rho * t242; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t317; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t23 = constants::m_pi_sq; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + constexpr double t343 = 0.1e1 / t24 / t23; + constexpr double t344 = t44 * t343; + constexpr double t688 = t43 * t28; + constexpr double t708 = t343 * t28; + constexpr double t724 = t56 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + const double t320 = t49 * csi_HF; + const double t324 = t31 * t31; + const double t326 = 0.1e1 / t20 / t324; + const double t327 = t326 * csi_HF; + const double t329 = t127 * t327 * t133; + const double t335 = t324 * t128; + const double t336 = 0.1e1 / t335; + const double t337 = t336 * csi_HF; + const double t339 = 0.1e1 / t132 / t38; + const double t341 = t127 * t337 * t339; + const double t345 = sigma * sigma; + const double t346 = t345 * t28; + const double t348 = t344 * t346 * t116; + const double t352 = t27 * t30 * t223; + const double t355 = t86 * t75; + const double t356 = t355 * t90; + const double t357 = tau * tau; + const double t358 = t357 * t28; + const double t359 = t324 * rho; + const double t361 = 0.1e1 / t20 / t359; + const double t362 = t358 * t361; + const double t365 = t185 * t96; + const double t368 = t88 * t102; + const double t371 = t92 * t81; + const double t372 = t371 * t96; + const double t375 = t192 * t102; + const double t378 = t94 * t108; + const double t381 = t98 * t87; + const double t382 = t381 * t102; + const double t385 = t199 * t108; + const double t388 = t100 * t114; + const double t391 = t104 * t93; + const double t392 = t391 * t108; + const double t395 = t58 * t72; + const double t398 = t62 * t51; + const double t399 = t398 * t66; + const double t402 = t156 * t72; + const double t405 = 0.7e3 / 0.3e1 * t356 * t362 + 0.49e4 / 0.9e1 * t365 * t362 + 0.28e4 / 0.9e1 * t368 * t362 + 0.28e4 / 0.9e1 * t372 * t362 + 0.64e4 / 0.9e1 * t375 * t362 + 0.4e3 * t378 * t362 + 0.4e3 * t382 * t362 + 0.9e3 * t385 * t362 + 0.5e3 * t388 * t362 + 0.5e3 * t392 * t362 + 0.1e3 / 0.3e1 * t395 * t362 + 0.1e3 / 0.3e1 * t399 * t362 + 0.1e3 * t402 * t362; + const double t406 = t64 * t78; + const double t409 = t68 * t57; + const double t410 = t409 * t72; + const double t413 = t163 * t78; + const double t416 = t70 * t84; + const double t419 = t74 * t63; + const double t420 = t419 * t78; + const double t423 = t170 * t84; + const double t426 = t76 * t90; + const double t429 = t80 * t69; + const double t430 = t429 * t84; + const double t433 = t177 * t90; + const double t436 = t52 * t66; + const double t439 = t149 * t66; + const double t443 = 0.1e1 / t32 / t128; + const double t444 = t47 * t443; + const double t451 = 0.2e3 / 0.3e1 * t406 * t362 + 0.2e3 / 0.3e1 * t410 * t362 + 0.16e4 / 0.9e1 * t413 * t362 + 0.1e4 / 0.9e1 * t416 * t362 + 0.1e4 / 0.9e1 * t420 * t362 + 0.25e4 / 0.9e1 * t423 * t362 + 0.5e3 / 0.3e1 * t426 * t362 + 0.5e3 / 0.3e1 * t430 * t362 + 0.4e3 * t433 * t362 + 0.1e3 / 0.9e1 * t436 * t362 + 0.4e3 / 0.9e1 * t439 * t362 - 0.4e3 / 0.9e1 * t207 * t444 - 0.4e3 / 0.9e1 * t210 * t444 - 0.44e3 / 0.9e1 * t214 * t444; + const double t479 = -0.44e3 / 0.9e1 * t219 * t444 - 0.8e2 / 0.3e1 * t178 * t444 - 0.8e2 / 0.3e1 * t182 * t444 - 0.28e3 / 0.9e1 * t186 * t444 - 0.28e3 / 0.9e1 * t189 * t444 - 0.32e3 / 0.9e1 * t193 * t444 - 0.32e3 / 0.9e1 * t196 * t444 - 0.4e2 * t200 * t444 - 0.4e2 * t203 * t444 - 0.4e2 / 0.9e1 * t145 * t444 - 0.8e2 / 0.9e1 * t150 * t444 - 0.8e2 / 0.9e1 * t153 * t444 - 0.4e2 / 0.3e1 * t157 * t444; + const double t490 = t206 * t114; + const double t493 = t106 * t218; + const double t496 = t110 * t99; + const double t497 = t496 * t114; + const double t500 = t213 * t218; + const double t504 = 0.1e1 / t95 / t77; + const double t505 = t112 * t504; + const double t508 = t82 * t96; + const double t515 = t43 * t357; + const double t516 = t28 * t361; + const double t517 = t516 * t60; + const double t520 = t56 * t357; + const double t523 = -0.4e2 / 0.3e1 * t160 * t444 - 0.16e3 / 0.9e1 * t164 * t444 - 0.16e3 / 0.9e1 * t167 * t444 - 0.2e3 / 0.9e1 * t171 * t444 - 0.2e3 / 0.9e1 * t174 * t444 + 0.1e5 / 0.9e1 * t490 * t362 + 0.55e4 / 0.9e1 * t493 * t362 + 0.55e4 / 0.9e1 * t497 * t362 + 0.121e5 / 0.9e1 * t500 * t362 + 0.22e4 / 0.3e1 * t505 * t362 + 0.7e3 / 0.3e1 * t508 * t362 - 0.4e2 / 0.9e1 * t140 * t29 * t443 * t54 + 0.1e3 / 0.9e1 * t515 * t517 + 0.1e3 / 0.9e1 * t520 * t517; + const double t525 = t405 + t451 + t479 + t523; + const double t526 = t41 * t525; + const double t531 = piecewise_functor_3( t3, 0.0, t19 * t320 * t117 / 0.12e2 - 0.12110710826652329294e-1 * t329 * t137 - t19 * t123 * t224 / 0.4e1 + 0.39384923811430050947e-3 * t341 * t348 + 0.80738072177682195292e-2 * t135 * t352 - 0.3e1 / 0.8e1 * t19 * t21 * t526 ); + const double t534 = t127 * t131; + const double t537 = t324 * t31; + const double t538 = 0.1e1 / t537; + const double t539 = t538 * csi_HF; + const double t541 = t127 * t539 * t339; + const double t544 = t344 * t28 * t116 * sigma; + const double t548 = t236 * t237 * t223; + const double t552 = piecewise_functor_3( t3, 0.0, 0.35322906577735960442e-2 * t534 * t239 - 0.14769346429286269106e-3 * t541 * t544 - 0.15138388533315411618e-2 * t235 * t548 ); + const double t559 = t27 * t30 * t312; + const double t562 = t28 * t326; + const double t563 = t562 * tau; + const double t590 = -0.2e3 / 0.3e1 * t416 * t563 - 0.2e3 / 0.3e1 * t420 * t563 - 0.5e3 / 0.3e1 * t423 * t563 - 0.1e3 * t426 * t563 - 0.1e3 * t430 * t563 - 0.24e3 * t433 * t563 - 0.14e3 * t508 * t563 - 0.14e3 * t356 * t563 - 0.98e3 / 0.3e1 * t365 * t563 - 0.56e3 / 0.3e1 * t368 * t563 - 0.2e2 / 0.3e1 * t436 * t563 - 0.8e2 / 0.3e1 * t439 * t563 - 0.2e2 * t395 * t563; + const double t619 = -0.2e2 * t399 * t563 - 0.6e2 * t402 * t563 - 0.4e2 * t406 * t563 - 0.4e2 * t410 * t563 - 0.32e3 / 0.3e1 * t413 * t563 - 0.11e4 / 0.3e1 * t497 * t563 - 0.242e4 / 0.3e1 * t500 * t563 - 0.44e3 * t505 * t563 - 0.56e3 / 0.3e1 * t372 * t563 - 0.128e4 / 0.3e1 * t375 * t563 - 0.24e3 * t378 * t563 - 0.24e3 * t382 * t563 - 0.54e3 * t385 * t563 - 0.3e3 * t388 * t563; + const double t630 = t301 * t34; + const double t636 = t283 * t34; + const double t639 = t289 * t34; + const double t644 = t295 * t34; + const double t651 = t264 * t34; + const double t654 = -0.3e3 * t392 * t563 - 0.2e4 / 0.3e1 * t490 * t563 - 0.11e4 / 0.3e1 * t493 * t563 + 0.5e1 / 0.3e1 * t244 * t34 * t54 + 0.55e2 / 0.3e1 * t213 * t630 + 0.55e2 / 0.3e1 * t112 * t307 * t34 + 0.4e2 / 0.3e1 * t192 * t636 + 0.4e2 / 0.3e1 * t94 * t639 + 0.15e2 * t199 * t639 + 0.15e2 * t100 * t644 + 0.5e2 / 0.3e1 * t206 * t644 + 0.5e2 / 0.3e1 * t106 * t630 + 0.2e2 / 0.3e1 * t70 * t651; + const double t657 = t270 * t34; + const double t662 = t277 * t34; + const double t669 = t247 * t34; + const double t674 = t252 * t34; + const double t679 = t258 * t34; + const double t684 = t56 * tau; + const double t689 = t326 * t60; + const double t693 = 0.25e2 / 0.3e1 * t170 * t651 + 0.25e2 / 0.3e1 * t76 * t657 + 0.1e2 * t177 * t657 + 0.1e2 * t82 * t662 + 0.35e2 / 0.3e1 * t185 * t662 + 0.35e2 / 0.3e1 * t88 * t636 + 0.5e1 / 0.3e1 * t52 * t669 + 0.1e2 / 0.3e1 * t149 * t669 + 0.1e2 / 0.3e1 * t58 * t674 + 0.5e1 * t156 * t674 + 0.5e1 * t64 * t679 + 0.2e2 / 0.3e1 * t163 * t679 - 0.2e2 / 0.3e1 * t684 * t562 * t60 - 0.2e2 / 0.3e1 * t688 * t689 * tau; + const double t695 = t590 + t619 + t654 + t693; + const double t696 = t41 * t695; + const double t701 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t313 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t559 - 0.3e1 / 0.8e1 * t19 * t21 * t696 ); + const double t704 = 0.1e1 / t359; + const double t706 = t127 * t704 * csi_HF; + const double t707 = t339 * t44; + const double t710 = t707 * t708 * t116; + const double t713 = piecewise_functor_3( t3, 0.0, 0.55385049109823509145e-4 * t706 * t710 ); + const double t716 = t236 * t237 * t312; + const double t719 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t716 ); + const double t721 = t130 * t60; + const double t727 = t108 * t28; + const double t728 = t727 * t130; + const double t731 = t114 * t28; + const double t732 = t731 * t130; + const double t739 = t218 * t28; + const double t740 = t739 * t130; + const double t747 = t504 * t28; + const double t751 = t78 * t28; + const double t752 = t751 * t130; + const double t755 = t72 * t28; + const double t756 = t755 * t130; + const double t761 = t84 * t28; + const double t762 = t761 * t130; + const double t769 = 0.264e3 * t112 * t130 * t747 + 0.18e3 * t100 * t732 + 0.22e3 * t106 * t740 + 0.64e2 * t163 * t752 + 0.1e3 * t170 * t762 + 0.324e3 * t199 * t728 + 0.4e3 * t206 * t732 + 0.484e3 * t213 * t740 + 0.18e3 * t391 * t728 + 0.24e2 * t409 * t756 + 0.4e2 * t419 * t752 + 0.22e3 * t496 * t732 + 0.24e2 * t64 * t752 + 0.4e1 * t688 * t721 + 0.4e2 * t70 * t762 + 0.4e1 * t721 * t724; + const double t770 = t90 * t28; + const double t771 = t770 * t130; + const double t778 = t96 * t28; + const double t779 = t778 * t130; + const double t786 = t102 * t28; + const double t787 = t786 * t130; + const double t798 = t66 * t28; + const double t799 = t798 * t130; + const double t810 = 0.16e2 * t149 * t799 + 0.36e2 * t156 * t756 + 0.144e3 * t177 * t771 + 0.196e3 * t185 * t779 + 0.256e3 * t192 * t787 + 0.84e2 * t355 * t771 + 0.112e3 * t371 * t779 + 0.144e3 * t381 * t787 + 0.12e2 * t398 * t799 + 0.6e2 * t429 * t762 + 0.4e1 * t52 * t799 + 0.12e2 * t58 * t756 + 0.144e3 * t728 * t94 + 0.6e2 * t76 * t771 + 0.84e2 * t779 * t82 + 0.112e3 * t787 * t88; + const double t811 = t769 + t810; + const double t812 = t41 * t811; + const double t816 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t812 ); + + + v2rho2 = 0.2e1 * rho * t531 + 0.4e1 * t229; + v2rhosigma = 0.2e1 * rho * t552 + 0.2e1 * t242; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t701 + 0.2e1 * t317; + v2sigma2 = 0.2e1 * rho * t713; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t719; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t816; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t23 = constants::m_pi_sq; + constexpr double t24 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t26 = 0.1e1 / t25; + constexpr double t27 = t22 * t26; + constexpr double t29 = t28 * t28; + constexpr double t43 = a_1; + constexpr double t44 = t22 * t22; + constexpr double t46 = 0.3e1 / 0.1e2 * t44 * t25; + constexpr double t56 = a_2; + constexpr double t62 = a_3; + constexpr double t68 = a_4; + constexpr double t74 = a_5; + constexpr double t80 = a_6; + constexpr double t86 = a_7; + constexpr double t92 = a_8; + constexpr double t98 = a_9; + constexpr double t104 = a_10; + constexpr double t110 = a_11; + constexpr double t237 = t26 * t29; + constexpr double t244 = t43 * t29; + constexpr double t343 = 0.1e1 / t24 / t23; + constexpr double t344 = t44 * t343; + constexpr double t688 = t43 * t28; + constexpr double t708 = t343 * t28; + constexpr double t724 = t56 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * csi_HF; + const double t30 = sigma * t29; + const double t31 = rho * rho; + const double t32 = t20 * t20; + const double t34 = 0.1e1 / t32 / t31; + const double t38 = 0.804e0 + 0.91464571985215458336e-2 * t27 * t30 * t34; + const double t41 = 0.1804e1 - 0.646416e0 / t38; + const double t47 = tau * t29; + const double t49 = 0.1e1 / t32 / rho; + const double t50 = t47 * t49; + const double t51 = t46 - t50; + const double t52 = t43 * t51; + const double t53 = t46 + t50; + const double t54 = 0.1e1 / t53; + const double t57 = t51 * t51; + const double t58 = t56 * t57; + const double t59 = t53 * t53; + const double t60 = 0.1e1 / t59; + const double t63 = t57 * t51; + const double t64 = t62 * t63; + const double t65 = t59 * t53; + const double t66 = 0.1e1 / t65; + const double t69 = t57 * t57; + const double t70 = t68 * t69; + const double t71 = t59 * t59; + const double t72 = 0.1e1 / t71; + const double t75 = t69 * t51; + const double t76 = t74 * t75; + const double t77 = t71 * t53; + const double t78 = 0.1e1 / t77; + const double t81 = t69 * t57; + const double t82 = t80 * t81; + const double t83 = t71 * t59; + const double t84 = 0.1e1 / t83; + const double t87 = t69 * t63; + const double t88 = t86 * t87; + const double t89 = t71 * t65; + const double t90 = 0.1e1 / t89; + const double t93 = t69 * t69; + const double t94 = t92 * t93; + const double t95 = t71 * t71; + const double t96 = 0.1e1 / t95; + const double t99 = t93 * t51; + const double t100 = t98 * t99; + const double t102 = 0.1e1 / t95 / t53; + const double t105 = t93 * t57; + const double t106 = t104 * t105; + const double t108 = 0.1e1 / t95 / t59; + const double t112 = t110 * t93 * t63; + const double t114 = 0.1e1 / t95 / t65; + const double t116 = t100 * t102 + t106 * t108 + t112 * t114 + t52 * t54 + t58 * t60 + t64 * t66 + t70 * t72 + t76 * t78 + t82 * t84 + t88 * t90 + t94 * t96 + a_0; + const double t117 = t41 * t116; + const double t121 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t117 ); + const double t123 = 0.1e1 / t32 * csi_HF; + const double t127 = t4 * t18; + const double t128 = t31 * rho; + const double t130 = 0.1e1 / t20 / t128; + const double t131 = t130 * csi_HF; + const double t132 = t38 * t38; + const double t133 = 0.1e1 / t132; + const double t135 = t127 * t131 * t133; + const double t137 = t27 * t30 * t116; + const double t140 = t43 * tau; + const double t145 = t52 * t60; + const double t146 = t47 * t34; + const double t149 = t56 * t51; + const double t150 = t149 * t60; + const double t153 = t58 * t66; + const double t156 = t62 * t57; + const double t157 = t156 * t66; + const double t160 = t64 * t72; + const double t163 = t68 * t63; + const double t164 = t163 * t72; + const double t167 = t70 * t78; + const double t170 = t74 * t69; + const double t171 = t170 * t78; + const double t174 = t76 * t84; + const double t177 = t80 * t75; + const double t178 = t177 * t84; + const double t181 = 0.5e1 / 0.3e1 * t140 * t29 * t34 * t54 + 0.5e1 / 0.3e1 * t145 * t146 + 0.1e2 / 0.3e1 * t150 * t146 + 0.1e2 / 0.3e1 * t153 * t146 + 0.5e1 * t157 * t146 + 0.5e1 * t160 * t146 + 0.2e2 / 0.3e1 * t164 * t146 + 0.2e2 / 0.3e1 * t167 * t146 + 0.25e2 / 0.3e1 * t171 * t146 + 0.25e2 / 0.3e1 * t174 * t146 + 0.1e2 * t178 * t146; + const double t182 = t82 * t90; + const double t185 = t86 * t81; + const double t186 = t185 * t90; + const double t189 = t88 * t96; + const double t192 = t92 * t87; + const double t193 = t192 * t96; + const double t196 = t94 * t102; + const double t199 = t98 * t93; + const double t200 = t199 * t102; + const double t203 = t100 * t108; + const double t206 = t104 * t99; + const double t207 = t206 * t108; + const double t210 = t106 * t114; + const double t213 = t110 * t105; + const double t214 = t213 * t114; + const double t218 = 0.1e1 / t95 / t71; + const double t219 = t112 * t218; + const double t222 = 0.1e2 * t182 * t146 + 0.35e2 / 0.3e1 * t186 * t146 + 0.35e2 / 0.3e1 * t189 * t146 + 0.4e2 / 0.3e1 * t193 * t146 + 0.4e2 / 0.3e1 * t196 * t146 + 0.15e2 * t200 * t146 + 0.15e2 * t203 * t146 + 0.5e2 / 0.3e1 * t207 * t146 + 0.5e2 / 0.3e1 * t210 * t146 + 0.55e2 / 0.3e1 * t214 * t146 + 0.55e2 / 0.3e1 * t219 * t146; + const double t223 = t181 + t222; + const double t224 = t41 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t117 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t137 - 0.3e1 / 0.8e1 * t19 * t21 * t224 ); + const double t235 = t127 / t20 / t31 * csi_HF; + const double t236 = t133 * t22; + const double t239 = t236 * t237 * t116; + const double t242 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t239 ); + const double t247 = t60 * t29; + const double t248 = t247 * t49; + const double t252 = t66 * t29; + const double t253 = t252 * t49; + const double t258 = t72 * t29; + const double t259 = t258 * t49; + const double t264 = t78 * t29; + const double t265 = t264 * t49; + const double t270 = t84 * t29; + const double t271 = t270 * t49; + const double t276 = -t244 * t49 * t54 - 0.2e1 * t149 * t248 - 0.3e1 * t156 * t253 - 0.4e1 * t163 * t259 - 0.5e1 * t170 * t265 - 0.6e1 * t177 * t271 - t248 * t52 - 0.2e1 * t253 * t58 - 0.3e1 * t259 * t64 - 0.4e1 * t265 * t70 - 0.5e1 * t271 * t76; + const double t277 = t90 * t29; + const double t278 = t277 * t49; + const double t283 = t96 * t29; + const double t284 = t283 * t49; + const double t289 = t102 * t29; + const double t290 = t289 * t49; + const double t295 = t108 * t29; + const double t296 = t295 * t49; + const double t301 = t114 * t29; + const double t302 = t301 * t49; + const double t307 = t218 * t29; + const double t311 = -0.11e2 * t112 * t307 * t49 - 0.9e1 * t100 * t296 - 0.1e2 * t106 * t302 - 0.7e1 * t185 * t278 - 0.8e1 * t192 * t284 - 0.9e1 * t199 * t290 - 0.1e2 * t206 * t296 - 0.11e2 * t213 * t302 - 0.6e1 * t278 * t82 - 0.7e1 * t284 * t88 - 0.8e1 * t290 * t94; + const double t312 = t276 + t311; + const double t313 = t41 * t312; + const double t317 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t313 ); + const double t320 = t49 * csi_HF; + const double t324 = t31 * t31; + const double t326 = 0.1e1 / t20 / t324; + const double t327 = t326 * csi_HF; + const double t329 = t127 * t327 * t133; + const double t335 = t324 * t128; + const double t336 = 0.1e1 / t335; + const double t337 = t336 * csi_HF; + const double t339 = 0.1e1 / t132 / t38; + const double t341 = t127 * t337 * t339; + const double t345 = sigma * sigma; + const double t346 = t345 * t28; + const double t348 = t344 * t346 * t116; + const double t352 = t27 * t30 * t223; + const double t355 = t86 * t75; + const double t356 = t355 * t90; + const double t357 = tau * tau; + const double t358 = t357 * t28; + const double t359 = t324 * rho; + const double t361 = 0.1e1 / t20 / t359; + const double t362 = t358 * t361; + const double t365 = t185 * t96; + const double t368 = t88 * t102; + const double t371 = t92 * t81; + const double t372 = t371 * t96; + const double t375 = t192 * t102; + const double t378 = t94 * t108; + const double t381 = t98 * t87; + const double t382 = t381 * t102; + const double t385 = t199 * t108; + const double t388 = t100 * t114; + const double t391 = t104 * t93; + const double t392 = t391 * t108; + const double t395 = t58 * t72; + const double t398 = t62 * t51; + const double t399 = t398 * t66; + const double t402 = t156 * t72; + const double t405 = 0.7e3 / 0.3e1 * t356 * t362 + 0.49e4 / 0.9e1 * t365 * t362 + 0.28e4 / 0.9e1 * t368 * t362 + 0.28e4 / 0.9e1 * t372 * t362 + 0.64e4 / 0.9e1 * t375 * t362 + 0.4e3 * t378 * t362 + 0.4e3 * t382 * t362 + 0.9e3 * t385 * t362 + 0.5e3 * t388 * t362 + 0.5e3 * t392 * t362 + 0.1e3 / 0.3e1 * t395 * t362 + 0.1e3 / 0.3e1 * t399 * t362 + 0.1e3 * t402 * t362; + const double t406 = t64 * t78; + const double t409 = t68 * t57; + const double t410 = t409 * t72; + const double t413 = t163 * t78; + const double t416 = t70 * t84; + const double t419 = t74 * t63; + const double t420 = t419 * t78; + const double t423 = t170 * t84; + const double t426 = t76 * t90; + const double t429 = t80 * t69; + const double t430 = t429 * t84; + const double t433 = t177 * t90; + const double t436 = t52 * t66; + const double t439 = t149 * t66; + const double t443 = 0.1e1 / t32 / t128; + const double t444 = t47 * t443; + const double t451 = 0.2e3 / 0.3e1 * t406 * t362 + 0.2e3 / 0.3e1 * t410 * t362 + 0.16e4 / 0.9e1 * t413 * t362 + 0.1e4 / 0.9e1 * t416 * t362 + 0.1e4 / 0.9e1 * t420 * t362 + 0.25e4 / 0.9e1 * t423 * t362 + 0.5e3 / 0.3e1 * t426 * t362 + 0.5e3 / 0.3e1 * t430 * t362 + 0.4e3 * t433 * t362 + 0.1e3 / 0.9e1 * t436 * t362 + 0.4e3 / 0.9e1 * t439 * t362 - 0.4e3 / 0.9e1 * t207 * t444 - 0.4e3 / 0.9e1 * t210 * t444 - 0.44e3 / 0.9e1 * t214 * t444; + const double t479 = -0.44e3 / 0.9e1 * t219 * t444 - 0.8e2 / 0.3e1 * t178 * t444 - 0.8e2 / 0.3e1 * t182 * t444 - 0.28e3 / 0.9e1 * t186 * t444 - 0.28e3 / 0.9e1 * t189 * t444 - 0.32e3 / 0.9e1 * t193 * t444 - 0.32e3 / 0.9e1 * t196 * t444 - 0.4e2 * t200 * t444 - 0.4e2 * t203 * t444 - 0.4e2 / 0.9e1 * t145 * t444 - 0.8e2 / 0.9e1 * t150 * t444 - 0.8e2 / 0.9e1 * t153 * t444 - 0.4e2 / 0.3e1 * t157 * t444; + const double t490 = t206 * t114; + const double t493 = t106 * t218; + const double t496 = t110 * t99; + const double t497 = t496 * t114; + const double t500 = t213 * t218; + const double t504 = 0.1e1 / t95 / t77; + const double t505 = t112 * t504; + const double t508 = t82 * t96; + const double t515 = t43 * t357; + const double t516 = t28 * t361; + const double t517 = t516 * t60; + const double t520 = t56 * t357; + const double t523 = -0.4e2 / 0.3e1 * t160 * t444 - 0.16e3 / 0.9e1 * t164 * t444 - 0.16e3 / 0.9e1 * t167 * t444 - 0.2e3 / 0.9e1 * t171 * t444 - 0.2e3 / 0.9e1 * t174 * t444 + 0.1e5 / 0.9e1 * t490 * t362 + 0.55e4 / 0.9e1 * t493 * t362 + 0.55e4 / 0.9e1 * t497 * t362 + 0.121e5 / 0.9e1 * t500 * t362 + 0.22e4 / 0.3e1 * t505 * t362 + 0.7e3 / 0.3e1 * t508 * t362 - 0.4e2 / 0.9e1 * t140 * t29 * t443 * t54 + 0.1e3 / 0.9e1 * t515 * t517 + 0.1e3 / 0.9e1 * t520 * t517; + const double t525 = t405 + t451 + t479 + t523; + const double t526 = t41 * t525; + const double t531 = piecewise_functor_3( t3, 0.0, t19 * t320 * t117 / 0.12e2 - 0.12110710826652329294e-1 * t329 * t137 - t19 * t123 * t224 / 0.4e1 + 0.39384923811430050947e-3 * t341 * t348 + 0.80738072177682195292e-2 * t135 * t352 - 0.3e1 / 0.8e1 * t19 * t21 * t526 ); + const double t534 = t127 * t131; + const double t537 = t324 * t31; + const double t538 = 0.1e1 / t537; + const double t539 = t538 * csi_HF; + const double t541 = t127 * t539 * t339; + const double t544 = t344 * t28 * t116 * sigma; + const double t548 = t236 * t237 * t223; + const double t552 = piecewise_functor_3( t3, 0.0, 0.35322906577735960442e-2 * t534 * t239 - 0.14769346429286269106e-3 * t541 * t544 - 0.15138388533315411618e-2 * t235 * t548 ); + const double t559 = t27 * t30 * t312; + const double t562 = t28 * t326; + const double t563 = t562 * tau; + const double t590 = -0.2e3 / 0.3e1 * t416 * t563 - 0.2e3 / 0.3e1 * t420 * t563 - 0.5e3 / 0.3e1 * t423 * t563 - 0.1e3 * t426 * t563 - 0.1e3 * t430 * t563 - 0.24e3 * t433 * t563 - 0.14e3 * t508 * t563 - 0.14e3 * t356 * t563 - 0.98e3 / 0.3e1 * t365 * t563 - 0.56e3 / 0.3e1 * t368 * t563 - 0.2e2 / 0.3e1 * t436 * t563 - 0.8e2 / 0.3e1 * t439 * t563 - 0.2e2 * t395 * t563; + const double t619 = -0.2e2 * t399 * t563 - 0.6e2 * t402 * t563 - 0.4e2 * t406 * t563 - 0.4e2 * t410 * t563 - 0.32e3 / 0.3e1 * t413 * t563 - 0.11e4 / 0.3e1 * t497 * t563 - 0.242e4 / 0.3e1 * t500 * t563 - 0.44e3 * t505 * t563 - 0.56e3 / 0.3e1 * t372 * t563 - 0.128e4 / 0.3e1 * t375 * t563 - 0.24e3 * t378 * t563 - 0.24e3 * t382 * t563 - 0.54e3 * t385 * t563 - 0.3e3 * t388 * t563; + const double t630 = t301 * t34; + const double t636 = t283 * t34; + const double t639 = t289 * t34; + const double t644 = t295 * t34; + const double t651 = t264 * t34; + const double t654 = -0.3e3 * t392 * t563 - 0.2e4 / 0.3e1 * t490 * t563 - 0.11e4 / 0.3e1 * t493 * t563 + 0.5e1 / 0.3e1 * t244 * t34 * t54 + 0.55e2 / 0.3e1 * t213 * t630 + 0.55e2 / 0.3e1 * t112 * t307 * t34 + 0.4e2 / 0.3e1 * t192 * t636 + 0.4e2 / 0.3e1 * t94 * t639 + 0.15e2 * t199 * t639 + 0.15e2 * t100 * t644 + 0.5e2 / 0.3e1 * t206 * t644 + 0.5e2 / 0.3e1 * t106 * t630 + 0.2e2 / 0.3e1 * t70 * t651; + const double t657 = t270 * t34; + const double t662 = t277 * t34; + const double t669 = t247 * t34; + const double t674 = t252 * t34; + const double t679 = t258 * t34; + const double t684 = t56 * tau; + const double t689 = t326 * t60; + const double t693 = 0.25e2 / 0.3e1 * t170 * t651 + 0.25e2 / 0.3e1 * t76 * t657 + 0.1e2 * t177 * t657 + 0.1e2 * t82 * t662 + 0.35e2 / 0.3e1 * t185 * t662 + 0.35e2 / 0.3e1 * t88 * t636 + 0.5e1 / 0.3e1 * t52 * t669 + 0.1e2 / 0.3e1 * t149 * t669 + 0.1e2 / 0.3e1 * t58 * t674 + 0.5e1 * t156 * t674 + 0.5e1 * t64 * t679 + 0.2e2 / 0.3e1 * t163 * t679 - 0.2e2 / 0.3e1 * t684 * t562 * t60 - 0.2e2 / 0.3e1 * t688 * t689 * tau; + const double t695 = t590 + t619 + t654 + t693; + const double t696 = t41 * t695; + const double t701 = piecewise_functor_3( t3, 0.0, -t19 * t123 * t313 / 0.8e1 + 0.40369036088841097646e-2 * t135 * t559 - 0.3e1 / 0.8e1 * t19 * t21 * t696 ); + const double t704 = 0.1e1 / t359; + const double t706 = t127 * t704 * csi_HF; + const double t707 = t339 * t44; + const double t710 = t707 * t708 * t116; + const double t713 = piecewise_functor_3( t3, 0.0, 0.55385049109823509145e-4 * t706 * t710 ); + const double t716 = t236 * t237 * t312; + const double t719 = piecewise_functor_3( t3, 0.0, -0.15138388533315411618e-2 * t235 * t716 ); + const double t721 = t130 * t60; + const double t727 = t108 * t28; + const double t728 = t727 * t130; + const double t731 = t114 * t28; + const double t732 = t731 * t130; + const double t739 = t218 * t28; + const double t740 = t739 * t130; + const double t747 = t504 * t28; + const double t751 = t78 * t28; + const double t752 = t751 * t130; + const double t755 = t72 * t28; + const double t756 = t755 * t130; + const double t761 = t84 * t28; + const double t762 = t761 * t130; + const double t769 = 0.264e3 * t112 * t130 * t747 + 0.18e3 * t100 * t732 + 0.22e3 * t106 * t740 + 0.64e2 * t163 * t752 + 0.1e3 * t170 * t762 + 0.324e3 * t199 * t728 + 0.4e3 * t206 * t732 + 0.484e3 * t213 * t740 + 0.18e3 * t391 * t728 + 0.24e2 * t409 * t756 + 0.4e2 * t419 * t752 + 0.22e3 * t496 * t732 + 0.24e2 * t64 * t752 + 0.4e1 * t688 * t721 + 0.4e2 * t70 * t762 + 0.4e1 * t721 * t724; + const double t770 = t90 * t28; + const double t771 = t770 * t130; + const double t778 = t96 * t28; + const double t779 = t778 * t130; + const double t786 = t102 * t28; + const double t787 = t786 * t130; + const double t798 = t66 * t28; + const double t799 = t798 * t130; + const double t810 = 0.16e2 * t149 * t799 + 0.36e2 * t156 * t756 + 0.144e3 * t177 * t771 + 0.196e3 * t185 * t779 + 0.256e3 * t192 * t787 + 0.84e2 * t355 * t771 + 0.112e3 * t371 * t779 + 0.144e3 * t381 * t787 + 0.12e2 * t398 * t799 + 0.6e2 * t429 * t762 + 0.4e1 * t52 * t799 + 0.12e2 * t58 * t756 + 0.144e3 * t728 * t94 + 0.6e2 * t76 * t771 + 0.84e2 * t779 * t82 + 0.112e3 * t787 * t88; + const double t811 = t769 + t810; + const double t812 = t41 * t811; + const double t816 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t21 * t812 ); + + + vrho = 0.2e1 * rho * t229 + 0.2e1 * t121; + vsigma = 0.2e1 * rho * t242; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t317; + v2rho2 = 0.2e1 * rho * t531 + 0.4e1 * t229; + v2rhosigma = 0.2e1 * rho * t552 + 0.2e1 * t242; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t701 + 0.2e1 * t317; + v2sigma2 = 0.2e1 * rho * t713; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t719; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t816; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + + + eps = t126 + t212; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t34 = 0.1e1 / t33; + constexpr double t35 = t30 * t34; + constexpr double t48 = a_0; + constexpr double t49 = a_1; + constexpr double t50 = t30 * t30; + constexpr double t52 = 0.3e1 / 0.1e2 * t50 * t33; + constexpr double t61 = a_2; + constexpr double t67 = a_3; + constexpr double t73 = a_4; + constexpr double t79 = a_5; + constexpr double t85 = a_6; + constexpr double t91 = a_7; + constexpr double t97 = a_8; + constexpr double t103 = a_9; + constexpr double t109 = a_10; + constexpr double t115 = a_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t28 * csi_HF; + const double t36 = rho_a * rho_a; + const double t37 = safe_math::cbrt( rho_a ); + const double t38 = t37 * t37; + const double t40 = 0.1e1 / t38 / t36; + const double t44 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_aa * t40; + const double t47 = 0.1804e1 - 0.646416e0 / t44; + const double t54 = 0.1e1 / t38 / rho_a; + const double t55 = tau_a * t54; + const double t56 = t52 - t55; + const double t57 = t49 * t56; + const double t58 = t52 + t55; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t56; + const double t63 = t61 * t62; + const double t64 = t58 * t58; + const double t65 = 0.1e1 / t64; + const double t68 = t62 * t56; + const double t69 = t67 * t68; + const double t70 = t64 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t62 * t62; + const double t75 = t73 * t74; + const double t76 = t64 * t64; + const double t77 = 0.1e1 / t76; + const double t80 = t74 * t56; + const double t81 = t79 * t80; + const double t82 = t76 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t74 * t62; + const double t87 = t85 * t86; + const double t88 = t76 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t74 * t68; + const double t93 = t91 * t92; + const double t94 = t76 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t74 * t74; + const double t99 = t97 * t98; + const double t100 = t76 * t76; + const double t101 = 0.1e1 / t100; + const double t104 = t98 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t100 / t58; + const double t110 = t98 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t100 / t64; + const double t117 = t115 * t98 * t68; + const double t119 = 0.1e1 / t100 / t70; + const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; + const double t122 = t47 * t121; + const double t123 = t29 * t122; + const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); + const double t127 = rho_b <= dens_tol; + const double t128 = -t17; + const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); + const double t131 = 0.1e1 + t130; + const double t132 = t131 <= zeta_tol; + const double t133 = safe_math::cbrt( t131 ); + const double t135 = piecewise_functor_3( t132, t23, t133 * t131 ); + const double t136 = t6 * t135; + const double t137 = rho_b * rho_b; + const double t138 = safe_math::cbrt( rho_b ); + const double t139 = t138 * t138; + const double t141 = 0.1e1 / t139 / t137; + const double t145 = 0.804e0 + 0.91464571985215458336e-2 * t35 * sigma_bb * t141; + const double t148 = 0.1804e1 - 0.646416e0 / t145; + const double t150 = 0.1e1 / t139 / rho_b; + const double t151 = tau_b * t150; + const double t152 = t52 - t151; + const double t153 = t49 * t152; + const double t154 = t52 + t151; + const double t155 = 0.1e1 / t154; + const double t157 = t152 * t152; + const double t158 = t61 * t157; + const double t159 = t154 * t154; + const double t160 = 0.1e1 / t159; + const double t162 = t157 * t152; + const double t163 = t67 * t162; + const double t164 = t159 * t154; + const double t165 = 0.1e1 / t164; + const double t167 = t157 * t157; + const double t168 = t73 * t167; + const double t169 = t159 * t159; + const double t170 = 0.1e1 / t169; + const double t172 = t167 * t152; + const double t173 = t79 * t172; + const double t174 = t169 * t154; + const double t175 = 0.1e1 / t174; + const double t177 = t167 * t157; + const double t178 = t85 * t177; + const double t179 = t169 * t159; + const double t180 = 0.1e1 / t179; + const double t182 = t167 * t162; + const double t183 = t91 * t182; + const double t184 = t169 * t164; + const double t185 = 0.1e1 / t184; + const double t187 = t167 * t167; + const double t188 = t97 * t187; + const double t189 = t169 * t169; + const double t190 = 0.1e1 / t189; + const double t192 = t187 * t152; + const double t193 = t103 * t192; + const double t195 = 0.1e1 / t189 / t154; + const double t197 = t187 * t157; + const double t198 = t109 * t197; + const double t200 = 0.1e1 / t189 / t159; + const double t203 = t115 * t187 * t162; + const double t205 = 0.1e1 / t189 / t164; + const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; + const double t208 = t148 * t207; + const double t209 = t29 * t208; + const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + + + eps = t126 + t212; + vrho_a = t126 + t212 + t7 * ( t331 + t345 ); + vrho_b = t126 + t212 + t7 * ( t357 + t467 ); + vsigma_aa = t7 * t477; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t485; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t547; + vtau_b = t7 * t609; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t30 = constants::m_cbrt_6; + constexpr double t31 = constants::m_pi_sq; constexpr double t32 = constants::m_cbrt_pi_sq; constexpr double t6 = t3 / t4; constexpr double t33 = t32 * t32; @@ -355,6 +1565,8 @@ struct kernel_traits< BuiltinM062X_X > : constexpr double t103 = a_9; constexpr double t109 = a_10; constexpr double t115 = a_11; + constexpr double t656 = 0.1e1 / t32 / t31; + constexpr double t657 = t50 * t656; const double t2 = rho_a <= dens_tol; @@ -426,7 +1638,6 @@ struct kernel_traits< BuiltinM062X_X > : const double t121 = t99 * t101 + t105 * t107 + t111 * t113 + t117 * t119 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + t48; const double t122 = t47 * t121; const double t123 = t29 * t122; - const double t126 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t123 ); const double t127 = rho_b <= dens_tol; const double t128 = -t17; const double t130 = piecewise_functor_5( t15, t12, t11, t16, t128 * t8 ); @@ -486,23 +1697,574 @@ struct kernel_traits< BuiltinM062X_X > : const double t207 = t153 * t155 + t158 * t160 + t163 * t165 + t168 * t170 + t173 * t175 + t178 * t180 + t183 * t185 + t188 * t190 + t193 * t195 + t198 * t200 + t203 * t205 + t48; const double t208 = t148 * t207; const double t209 = t29 * t208; - const double t212 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t209 ); + const double t213 = t7 * t7; + const double t214 = 0.1e1 / t213; + const double t215 = t17 * t214; + const double t217 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t215 ); + const double t220 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t217 ); + const double t221 = t6 * t220; + const double t224 = t28 * t28; + const double t225 = 0.1e1 / t224; + const double t226 = t225 * csi_HF; + const double t227 = t226 * t122; + const double t229 = t27 * t227 / 0.8e1; + const double t230 = t3 * t26; + const double t231 = t44 * t44; + const double t232 = 0.1e1 / t231; + const double t233 = t29 * t232; + const double t234 = t230 * t233; + const double t235 = t36 * rho_a; + const double t237 = 0.1e1 / t38 / t235; + const double t238 = sigma_aa * t237; + const double t240 = t35 * t238 * t121; + const double t243 = t49 * tau_a; + const double t247 = t65 * tau_a; + const double t248 = t247 * t40; + const double t251 = t61 * t56; + const double t254 = t71 * tau_a; + const double t255 = t254 * t40; + const double t258 = t67 * t62; + const double t261 = t77 * tau_a; + const double t262 = t261 * t40; + const double t265 = t73 * t68; + const double t268 = t83 * tau_a; + const double t269 = t268 * t40; + const double t272 = t79 * t74; + const double t275 = t89 * tau_a; + const double t276 = t275 * t40; + const double t279 = t85 * t80; + const double t282 = 0.5e1 / 0.3e1 * t243 * t40 * t59 + 0.5e1 / 0.3e1 * t57 * t248 + 0.1e2 / 0.3e1 * t251 * t248 + 0.1e2 / 0.3e1 * t63 * t255 + 0.5e1 * t258 * t255 + 0.5e1 * t69 * t262 + 0.2e2 / 0.3e1 * t265 * t262 + 0.2e2 / 0.3e1 * t75 * t269 + 0.25e2 / 0.3e1 * t272 * t269 + 0.25e2 / 0.3e1 * t81 * t276 + 0.1e2 * t279 * t276; + const double t283 = t95 * tau_a; + const double t284 = t283 * t40; + const double t287 = t91 * t86; + const double t290 = t101 * tau_a; + const double t291 = t290 * t40; + const double t294 = t97 * t92; + const double t297 = t107 * tau_a; + const double t298 = t297 * t40; + const double t301 = t103 * t98; + const double t304 = t113 * tau_a; + const double t305 = t304 * t40; + const double t308 = t109 * t104; + const double t311 = t119 * tau_a; + const double t312 = t311 * t40; + const double t315 = t115 * t110; + const double t319 = 0.1e1 / t100 / t76; + const double t320 = t319 * tau_a; + const double t324 = 0.1e2 * t87 * t284 + 0.35e2 / 0.3e1 * t287 * t284 + 0.35e2 / 0.3e1 * t93 * t291 + 0.4e2 / 0.3e1 * t294 * t291 + 0.4e2 / 0.3e1 * t99 * t298 + 0.15e2 * t301 * t298 + 0.15e2 * t105 * t305 + 0.5e2 / 0.3e1 * t308 * t305 + 0.5e2 / 0.3e1 * t111 * t312 + 0.55e2 / 0.3e1 * t315 * t312 + 0.55e2 / 0.3e1 * t117 * t320 * t40; + const double t325 = t282 + t324; + const double t326 = t47 * t325; + const double t327 = t29 * t326; + const double t331 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t123 - t229 + 0.40369036088841097646e-2 * t234 * t240 - 0.3e1 / 0.8e1 * t27 * t327 ); + const double t332 = t128 * t214; + const double t334 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t332 ); + const double t337 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t334 ); + const double t338 = t6 * t337; + const double t341 = t226 * t208; + const double t343 = t136 * t341 / 0.8e1; + const double t345 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t338 * t209 - t343 ); + const double t349 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t215 ); + const double t352 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t349 ); + const double t353 = t6 * t352; + const double t357 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t353 * t123 - t229 ); + const double t359 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t332 ); + const double t362 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.3e1 * t133 * t359 ); + const double t363 = t6 * t362; + const double t366 = t3 * t135; + const double t367 = t145 * t145; + const double t368 = 0.1e1 / t367; + const double t369 = t29 * t368; + const double t370 = t366 * t369; + const double t371 = t137 * rho_b; + const double t373 = 0.1e1 / t139 / t371; + const double t374 = sigma_bb * t373; + const double t376 = t35 * t374 * t207; + const double t379 = t49 * tau_b; + const double t383 = t160 * tau_b; + const double t384 = t383 * t141; + const double t387 = t61 * t152; + const double t390 = t165 * tau_b; + const double t391 = t390 * t141; + const double t394 = t67 * t157; + const double t397 = t170 * tau_b; + const double t398 = t397 * t141; + const double t401 = t73 * t162; + const double t404 = t175 * tau_b; + const double t405 = t404 * t141; + const double t408 = t79 * t167; + const double t411 = t180 * tau_b; + const double t412 = t411 * t141; + const double t415 = t85 * t172; + const double t418 = 0.5e1 / 0.3e1 * t379 * t141 * t155 + 0.5e1 / 0.3e1 * t153 * t384 + 0.1e2 / 0.3e1 * t387 * t384 + 0.1e2 / 0.3e1 * t158 * t391 + 0.5e1 * t394 * t391 + 0.5e1 * t163 * t398 + 0.2e2 / 0.3e1 * t401 * t398 + 0.2e2 / 0.3e1 * t168 * t405 + 0.25e2 / 0.3e1 * t408 * t405 + 0.25e2 / 0.3e1 * t173 * t412 + 0.1e2 * t415 * t412; + const double t419 = t185 * tau_b; + const double t420 = t419 * t141; + const double t423 = t91 * t177; + const double t426 = t190 * tau_b; + const double t427 = t426 * t141; + const double t430 = t97 * t182; + const double t433 = t195 * tau_b; + const double t434 = t433 * t141; + const double t437 = t103 * t187; + const double t440 = t200 * tau_b; + const double t441 = t440 * t141; + const double t444 = t109 * t192; + const double t447 = t205 * tau_b; + const double t448 = t447 * t141; + const double t451 = t115 * t197; + const double t455 = 0.1e1 / t189 / t169; + const double t456 = t455 * tau_b; + const double t460 = 0.1e2 * t178 * t420 + 0.35e2 / 0.3e1 * t423 * t420 + 0.35e2 / 0.3e1 * t183 * t427 + 0.4e2 / 0.3e1 * t430 * t427 + 0.4e2 / 0.3e1 * t188 * t434 + 0.15e2 * t437 * t434 + 0.15e2 * t193 * t441 + 0.5e2 / 0.3e1 * t444 * t441 + 0.5e2 / 0.3e1 * t198 * t448 + 0.55e2 / 0.3e1 * t451 * t448 + 0.55e2 / 0.3e1 * t203 * t456 * t141; + const double t461 = t418 + t460; + const double t462 = t148 * t461; + const double t463 = t29 * t462; + const double t467 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t209 - t343 + 0.40369036088841097646e-2 * t370 * t376 - 0.3e1 / 0.8e1 * t136 * t463 ); + const double t470 = t230 * t29; + const double t471 = t232 * t30; + const double t472 = t34 * t40; + const double t474 = t471 * t472 * t121; + const double t477 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t474 ); + const double t478 = t366 * t29; + const double t479 = t368 * t30; + const double t480 = t34 * t141; + const double t482 = t479 * t480 * t207; + const double t485 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t482 ); + const double t488 = t65 * t54; + const double t492 = t71 * t54; + const double t497 = t77 * t54; + const double t502 = t83 * t54; + const double t507 = t89 * t54; + const double t512 = -t49 * t54 * t59 - 0.2e1 * t251 * t488 - 0.3e1 * t258 * t492 - 0.4e1 * t265 * t497 - 0.5e1 * t272 * t502 - 0.6e1 * t279 * t507 - t57 * t488 - 0.2e1 * t63 * t492 - 0.3e1 * t69 * t497 - 0.4e1 * t75 * t502 - 0.5e1 * t81 * t507; + const double t513 = t95 * t54; + const double t518 = t101 * t54; + const double t523 = t107 * t54; + const double t528 = t113 * t54; + const double t533 = t119 * t54; + const double t541 = -0.11e2 * t117 * t319 * t54 - 0.9e1 * t105 * t528 - 0.1e2 * t111 * t533 - 0.7e1 * t287 * t513 - 0.8e1 * t294 * t518 - 0.9e1 * t301 * t523 - 0.1e2 * t308 * t528 - 0.11e2 * t315 * t533 - 0.6e1 * t87 * t513 - 0.7e1 * t93 * t518 - 0.8e1 * t99 * t523; + const double t542 = t512 + t541; + const double t543 = t47 * t542; + const double t544 = t29 * t543; + const double t547 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t544 ); + const double t550 = t160 * t150; + const double t554 = t165 * t150; + const double t559 = t170 * t150; + const double t564 = t175 * t150; + const double t569 = t180 * t150; + const double t574 = -t49 * t150 * t155 - t153 * t550 - 0.2e1 * t158 * t554 - 0.3e1 * t163 * t559 - 0.4e1 * t168 * t564 - 0.5e1 * t173 * t569 - 0.2e1 * t387 * t550 - 0.3e1 * t394 * t554 - 0.4e1 * t401 * t559 - 0.5e1 * t408 * t564 - 0.6e1 * t415 * t569; + const double t575 = t185 * t150; + const double t580 = t190 * t150; + const double t585 = t195 * t150; + const double t590 = t200 * t150; + const double t595 = t205 * t150; + const double t603 = -0.11e2 * t203 * t455 * t150 - 0.6e1 * t178 * t575 - 0.7e1 * t183 * t580 - 0.8e1 * t188 * t585 - 0.9e1 * t193 * t590 - 0.1e2 * t198 * t595 - 0.7e1 * t423 * t575 - 0.8e1 * t430 * t580 - 0.9e1 * t437 * t585 - 0.1e2 * t444 * t590 - 0.11e2 * t451 * t595; + const double t604 = t574 + t603; + const double t605 = t148 * t604; + const double t606 = t29 * t605; + const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + const double t612 = t24 * t24; + const double t613 = 0.1e1 / t612; + const double t614 = t217 * t217; + const double t617 = t213 * t7; + const double t618 = 0.1e1 / t617; + const double t619 = t17 * t618; + const double t622 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t214 + 0.2e1 * t619 ); + const double t626 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t614 + 0.4e1 / 0.3e1 * t24 * t622 ); + const double t627 = t6 * t626; + const double t630 = t221 * t227; + const double t632 = t3 * t220; + const double t633 = t632 * t233; + const double t640 = 0.1e1 / t224 / t7 * csi_HF; + const double t641 = t640 * t122; + const double t643 = t27 * t641 / 0.12e2; + const double t644 = t226 * t232; + const double t645 = t230 * t644; + const double t646 = t645 * t240; + const double t648 = t226 * t326; + const double t649 = t27 * t648; + const double t652 = 0.1e1 / t231 / t44; + const double t653 = t29 * t652; + const double t654 = t230 * t653; + const double t658 = sigma_aa * sigma_aa; + const double t659 = t36 * t36; + const double t660 = t659 * t235; + const double t662 = 0.1e1 / t37 / t660; + const double t663 = t658 * t662; + const double t665 = t657 * t663 * t121; + const double t669 = 0.1e1 / t38 / t659; + const double t670 = sigma_aa * t669; + const double t672 = t35 * t670 * t121; + const double t676 = t35 * t238 * t325; + const double t679 = tau_a * tau_a; + const double t680 = t49 * t679; + const double t681 = t659 * rho_a; + const double t683 = 0.1e1 / t37 / t681; + const double t684 = t683 * t65; + const double t687 = t61 * t679; + const double t693 = t247 * t237; + const double t696 = t254 * t237; + const double t701 = t261 * t237; + const double t704 = t311 * t237; + const double t714 = t268 * t237; + const double t719 = 0.5e2 / 0.9e1 * t680 * t684 + 0.5e2 / 0.9e1 * t687 * t684 - 0.4e2 / 0.9e1 * t243 * t237 * t59 - 0.8e2 / 0.9e1 * t251 * t693 - 0.8e2 / 0.9e1 * t63 * t696 - 0.4e2 / 0.3e1 * t258 * t696 - 0.4e2 / 0.3e1 * t69 * t701 - 0.4e3 / 0.9e1 * t111 * t704 - 0.44e3 / 0.9e1 * t315 * t704 - 0.44e3 / 0.9e1 * t117 * t320 * t237 - 0.16e3 / 0.9e1 * t265 * t701 - 0.16e3 / 0.9e1 * t75 * t714 - 0.2e3 / 0.9e1 * t272 * t714; + const double t720 = t275 * t237; + const double t725 = t283 * t237; + const double t730 = t290 * t237; + const double t735 = t297 * t237; + const double t740 = t304 * t237; + const double t747 = t67 * t56; + const double t748 = t71 * t679; + const double t749 = t748 * t683; + const double t752 = t77 * t679; + const double t753 = t752 * t683; + const double t756 = t83 * t679; + const double t757 = t756 * t683; + const double t760 = -0.2e3 / 0.9e1 * t81 * t720 - 0.8e2 / 0.3e1 * t279 * t720 - 0.8e2 / 0.3e1 * t87 * t725 - 0.28e3 / 0.9e1 * t287 * t725 - 0.28e3 / 0.9e1 * t93 * t730 - 0.32e3 / 0.9e1 * t294 * t730 - 0.32e3 / 0.9e1 * t99 * t735 - 0.4e2 * t301 * t735 - 0.4e2 * t105 * t740 - 0.4e3 / 0.9e1 * t308 * t740 - 0.4e2 / 0.9e1 * t57 * t693 + 0.5e2 / 0.3e1 * t747 * t749 + 0.5e2 * t258 * t753 + 0.1e3 / 0.3e1 * t69 * t757; + const double t762 = t73 * t62; + const double t767 = t89 * t679; + const double t768 = t767 * t683; + const double t771 = t79 * t68; + const double t776 = t95 * t679; + const double t777 = t776 * t683; + const double t780 = t85 * t74; + const double t785 = t101 * t679; + const double t786 = t785 * t683; + const double t793 = t113 * t679; + const double t794 = t793 * t683; + const double t797 = t119 * t679; + const double t798 = t797 * t683; + const double t801 = 0.1e3 / 0.3e1 * t762 * t753 + 0.8e3 / 0.9e1 * t265 * t757 + 0.5e3 / 0.9e1 * t75 * t768 + 0.5e3 / 0.9e1 * t771 * t757 + 0.125e4 / 0.9e1 * t272 * t768 + 0.25e3 / 0.3e1 * t81 * t777 + 0.25e3 / 0.3e1 * t780 * t768 + 0.2e3 * t279 * t777 + 0.35e3 / 0.3e1 * t87 * t786 + 0.5e2 / 0.9e1 * t57 * t749 + 0.2e3 / 0.9e1 * t251 * t749 + 0.45e3 * t301 * t794 + 0.25e3 * t105 * t798; + const double t802 = t109 * t98; + const double t807 = t319 * t679; + const double t808 = t807 * t683; + const double t811 = t115 * t104; + const double t818 = t97 * t86; + const double t821 = t107 * t679; + const double t822 = t821 * t683; + const double t827 = t103 * t92; + const double t831 = 0.1e1 / t100 / t82; + const double t832 = t831 * t679; + const double t836 = t91 * t80; + const double t843 = 0.25e3 * t802 * t794 + 0.5e4 / 0.9e1 * t308 * t798 + 0.275e4 / 0.9e1 * t111 * t808 + 0.275e4 / 0.9e1 * t811 * t798 + 0.605e4 / 0.9e1 * t315 * t808 + 0.5e2 / 0.3e1 * t63 * t753 + 0.14e4 / 0.9e1 * t818 * t786 + 0.32e4 / 0.9e1 * t294 * t822 + 0.2e3 * t99 * t794 + 0.2e3 * t827 * t822 + 0.11e4 / 0.3e1 * t117 * t832 * t683 + 0.35e3 / 0.3e1 * t836 * t777 + 0.245e4 / 0.9e1 * t287 * t786 + 0.14e4 / 0.9e1 * t93 * t822; + const double t845 = t719 + t760 + t801 + t843; + const double t846 = t47 * t845; + const double t847 = t29 * t846; + const double t850 = -0.3e1 / 0.8e1 * t627 * t123 - t630 / 0.4e1 + 0.80738072177682195292e-2 * t633 * t240 - 0.3e1 / 0.4e1 * t221 * t327 + t643 + 0.26912690725894065098e-2 * t646 - t649 / 0.4e1 + 0.19692461905715025473e-3 * t654 * t665 - 0.14801979899241735804e-1 * t234 * t672 + 0.80738072177682195292e-2 * t234 * t676 - 0.3e1 / 0.8e1 * t27 * t847; + const double t851 = piecewise_functor_3( t2, 0.0, t850 ); + const double t852 = t133 * t133; + const double t853 = 0.1e1 / t852; + const double t854 = t334 * t334; + const double t857 = t128 * t618; + const double t860 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t214 + 0.2e1 * t857 ); + const double t864 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t854 + 0.4e1 / 0.3e1 * t133 * t860 ); + const double t865 = t6 * t864; + const double t868 = t338 * t341; + const double t870 = t640 * t208; + const double t872 = t136 * t870 / 0.12e2; + const double t874 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t865 * t209 - t868 / 0.4e1 + t872 ); + const double t889 = t353 * t227; + const double t914 = t363 * t341; + const double t921 = t226 * t368; + const double t922 = t366 * t921; + const double t923 = t922 * t376; + const double t927 = t226 * t462; + const double t928 = t136 * t927; + const double t936 = t349 * t349; + const double t941 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t214 + 0.2e1 * t619 ); + const double t945 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t936 + 0.4e1 / 0.3e1 * t24 * t941 ); + const double t946 = t6 * t945; + const double t951 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t946 * t123 - t889 / 0.4e1 + t643 ); + const double t952 = t359 * t359; + const double t957 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t214 + 0.2e1 * t857 ); + const double t961 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t952 + 0.4e1 / 0.3e1 * t133 * t957 ); + const double t962 = t6 * t961; + const double t966 = t3 * t362; + const double t967 = t966 * t369; + const double t975 = 0.1e1 / t367 / t145; + const double t976 = t29 * t975; + const double t977 = t366 * t976; + const double t978 = sigma_bb * sigma_bb; + const double t979 = t137 * t137; + const double t980 = t979 * t371; + const double t982 = 0.1e1 / t138 / t980; + const double t983 = t978 * t982; + const double t985 = t657 * t983 * t207; + const double t989 = 0.1e1 / t139 / t979; + const double t990 = sigma_bb * t989; + const double t992 = t35 * t990 * t207; + const double t996 = t35 * t374 * t461; + const double t1002 = tau_b * tau_b; + const double t1003 = t49 * t1002; + const double t1004 = t979 * rho_b; + const double t1006 = 0.1e1 / t138 / t1004; + const double t1007 = t1006 * t160; + const double t1010 = t61 * t1002; + const double t1013 = t397 * t373; + const double t1018 = t404 * t373; + const double t1023 = t411 * t373; + const double t1028 = t419 * t373; + const double t1033 = t426 * t373; + const double t1038 = -0.4e2 / 0.9e1 * t379 * t373 * t155 + 0.5e2 / 0.9e1 * t1003 * t1007 + 0.5e2 / 0.9e1 * t1010 * t1007 - 0.4e2 / 0.3e1 * t163 * t1013 - 0.16e3 / 0.9e1 * t401 * t1013 - 0.16e3 / 0.9e1 * t168 * t1018 - 0.2e3 / 0.9e1 * t408 * t1018 - 0.2e3 / 0.9e1 * t173 * t1023 - 0.8e2 / 0.3e1 * t415 * t1023 - 0.8e2 / 0.3e1 * t178 * t1028 - 0.28e3 / 0.9e1 * t423 * t1028 - 0.28e3 / 0.9e1 * t183 * t1033 - 0.32e3 / 0.9e1 * t430 * t1033; + const double t1039 = t433 * t373; + const double t1042 = t383 * t373; + const double t1047 = t115 * t192; + const double t1048 = t205 * t1002; + const double t1049 = t1048 * t1006; + const double t1052 = t455 * t1002; + const double t1053 = t1052 * t1006; + const double t1057 = 0.1e1 / t189 / t174; + const double t1058 = t1057 * t1002; + const double t1062 = t185 * t1002; + const double t1063 = t1062 * t1006; + const double t1066 = t85 * t167; + const double t1067 = t180 * t1002; + const double t1068 = t1067 * t1006; + const double t1073 = t190 * t1002; + const double t1074 = t1073 * t1006; + const double t1077 = t91 * t172; + const double t1082 = t195 * t1002; + const double t1083 = t1082 * t1006; + const double t1086 = t97 * t177; + const double t1089 = -0.32e3 / 0.9e1 * t188 * t1039 - 0.4e2 / 0.9e1 * t153 * t1042 - 0.8e2 / 0.9e1 * t387 * t1042 + 0.275e4 / 0.9e1 * t1047 * t1049 + 0.605e4 / 0.9e1 * t451 * t1053 + 0.11e4 / 0.3e1 * t203 * t1058 * t1006 + 0.25e3 / 0.3e1 * t173 * t1063 + 0.25e3 / 0.3e1 * t1066 * t1068 + 0.2e3 * t415 * t1063 + 0.35e3 / 0.3e1 * t178 * t1074 + 0.35e3 / 0.3e1 * t1077 * t1063 + 0.245e4 / 0.9e1 * t423 * t1074 + 0.14e4 / 0.9e1 * t183 * t1083 + 0.14e4 / 0.9e1 * t1086 * t1074; + const double t1093 = t200 * t1002; + const double t1094 = t1093 * t1006; + const double t1097 = t103 * t182; + const double t1104 = t165 * t1002; + const double t1105 = t1104 * t1006; + const double t1110 = t170 * t1002; + const double t1111 = t1110 * t1006; + const double t1114 = t67 * t152; + const double t1119 = t175 * t1002; + const double t1120 = t1119 * t1006; + const double t1123 = t73 * t157; + const double t1128 = 0.32e4 / 0.9e1 * t430 * t1083 + 0.2e3 * t188 * t1094 + 0.2e3 * t1097 * t1083 + 0.45e3 * t437 * t1094 + 0.25e3 * t193 * t1049 + 0.5e2 / 0.9e1 * t153 * t1105 + 0.2e3 / 0.9e1 * t387 * t1105 + 0.5e2 / 0.3e1 * t158 * t1111 + 0.5e2 / 0.3e1 * t1114 * t1105 + 0.5e2 * t394 * t1111 + 0.1e3 / 0.3e1 * t163 * t1120 + 0.1e3 / 0.3e1 * t1123 * t1111 + 0.8e3 / 0.9e1 * t401 * t1120; + const double t1131 = t79 * t162; + const double t1136 = t390 * t373; + const double t1143 = t440 * t373; + const double t1148 = t447 * t373; + const double t1156 = t109 * t187; + const double t1163 = 0.5e3 / 0.9e1 * t168 * t1068 + 0.5e3 / 0.9e1 * t1131 * t1120 + 0.125e4 / 0.9e1 * t408 * t1068 - 0.8e2 / 0.9e1 * t158 * t1136 - 0.4e2 / 0.3e1 * t394 * t1136 - 0.4e2 * t437 * t1039 - 0.4e2 * t193 * t1143 - 0.4e3 / 0.9e1 * t444 * t1143 - 0.4e3 / 0.9e1 * t198 * t1148 - 0.44e3 / 0.9e1 * t451 * t1148 - 0.44e3 / 0.9e1 * t203 * t456 * t373 + 0.25e3 * t1156 * t1094 + 0.5e4 / 0.9e1 * t444 * t1049 + 0.275e4 / 0.9e1 * t198 * t1053; + const double t1165 = t1038 + t1089 + t1128 + t1163; + const double t1166 = t148 * t1165; + const double t1167 = t29 * t1166; + const double t1170 = -0.3e1 / 0.8e1 * t962 * t209 - t914 / 0.4e1 + 0.80738072177682195292e-2 * t967 * t376 - 0.3e1 / 0.4e1 * t363 * t463 + t872 + 0.26912690725894065098e-2 * t923 - t928 / 0.4e1 + 0.19692461905715025473e-3 * t977 * t985 - 0.14801979899241735804e-1 * t370 * t992 + 0.80738072177682195292e-2 * t370 * t996 - 0.3e1 / 0.8e1 * t136 * t1167; + const double t1171 = piecewise_functor_3( t127, 0.0, t1170 ); + const double t1174 = t632 * t29; + const double t1177 = t230 * t226; + const double t1179 = 0.5046129511105137206e-3 * t1177 * t474; + const double t1180 = t659 * t36; + const double t1182 = 0.1e1 / t37 / t1180; + const double t1185 = t657 * t1182 * t121 * sigma_aa; + const double t1188 = t34 * t237; + const double t1190 = t471 * t1188 * t121; + const double t1194 = t471 * t472 * t325; + const double t1198 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t1174 * t474 - t1179 - 0.73846732146431345529e-4 * t654 * t1185 + 0.40369036088841097648e-2 * t470 * t1190 - 0.15138388533315411618e-2 * t470 * t1194 ); + const double t1203 = t366 * t226; + const double t1205 = 0.5046129511105137206e-3 * t1203 * t482; + const double t1215 = t966 * t29; + const double t1218 = t979 * t137; + const double t1220 = 0.1e1 / t138 / t1218; + const double t1223 = t657 * t1220 * t207 * sigma_bb; + const double t1226 = t34 * t373; + const double t1228 = t479 * t1226 * t207; + const double t1232 = t479 * t480 * t461; + const double t1236 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t1215 * t482 - t1205 - 0.73846732146431345529e-4 * t977 * t1223 + 0.40369036088841097648e-2 * t478 * t1228 - 0.15138388533315411618e-2 * t478 * t1232 ); + const double t1240 = t226 * t543; + const double t1242 = t27 * t1240 / 0.8e1; + const double t1244 = t35 * t238 * t542; + const double t1250 = t95 * t40; + const double t1253 = t101 * t40; + const double t1258 = t107 * t40; + const double t1263 = t113 * t40; + const double t1268 = t119 * t40; + const double t1273 = t71 * t40; + const double t1278 = t77 * t40; + const double t1281 = 0.55e2 / 0.3e1 * t117 * t319 * t40 + 0.35e2 / 0.3e1 * t287 * t1250 + 0.35e2 / 0.3e1 * t93 * t1253 + 0.4e2 / 0.3e1 * t294 * t1253 + 0.4e2 / 0.3e1 * t99 * t1258 + 0.15e2 * t301 * t1258 + 0.15e2 * t105 * t1263 + 0.5e2 / 0.3e1 * t308 * t1263 + 0.5e2 / 0.3e1 * t111 * t1268 + 0.55e2 / 0.3e1 * t315 * t1268 + 0.1e2 / 0.3e1 * t63 * t1273 + 0.5e1 * t258 * t1273 + 0.5e1 * t69 * t1278; + const double t1284 = t83 * t40; + const double t1289 = t89 * t40; + const double t1296 = t65 * t40; + const double t1302 = 0.1e1 / t37 / t659; + const double t1303 = t49 * t1302; + const double t1306 = t61 * tau_a; + const double t1313 = t89 * t1302; + const double t1314 = t1313 * tau_a; + const double t1317 = t95 * t1302; + const double t1318 = t1317 * tau_a; + const double t1321 = t101 * t1302; + const double t1322 = t1321 * tau_a; + const double t1325 = 0.2e2 / 0.3e1 * t265 * t1278 + 0.2e2 / 0.3e1 * t75 * t1284 + 0.25e2 / 0.3e1 * t272 * t1284 + 0.25e2 / 0.3e1 * t81 * t1289 + 0.1e2 * t279 * t1289 + 0.1e2 * t87 * t1250 + 0.5e1 / 0.3e1 * t57 * t1296 + 0.1e2 / 0.3e1 * t251 * t1296 - 0.1e2 / 0.3e1 * t1303 * t247 - 0.1e2 / 0.3e1 * t1306 * t1302 * t65 + 0.5e1 / 0.3e1 * t49 * t40 * t59 - 0.5e2 * t780 * t1314 - 0.12e3 * t279 * t1318 - 0.7e2 * t87 * t1322; + const double t1327 = t71 * t1302; + const double t1328 = t1327 * tau_a; + const double t1331 = t107 * t1302; + const double t1332 = t1331 * tau_a; + const double t1339 = t113 * t1302; + const double t1340 = t1339 * tau_a; + const double t1347 = t119 * t1302; + const double t1348 = t1347 * tau_a; + const double t1355 = t319 * t1302; + const double t1356 = t1355 * tau_a; + const double t1363 = -0.1e2 / 0.3e1 * t57 * t1328 - 0.28e3 / 0.3e1 * t93 * t1332 - 0.28e3 / 0.3e1 * t818 * t1322 - 0.64e3 / 0.3e1 * t294 * t1332 - 0.12e3 * t99 * t1340 - 0.12e3 * t827 * t1332 - 0.27e3 * t301 * t1340 - 0.15e3 * t105 * t1348 - 0.15e3 * t802 * t1340 - 0.1e4 / 0.3e1 * t308 * t1348 - 0.55e3 / 0.3e1 * t111 * t1356 - 0.55e3 / 0.3e1 * t811 * t1348 - 0.121e4 / 0.3e1 * t315 * t1356; + const double t1366 = t77 * t1302; + const double t1367 = t1366 * tau_a; + const double t1374 = t83 * t1302; + const double t1375 = t1374 * tau_a; + const double t1390 = t831 * t1302; + const double t1398 = -0.4e2 / 0.3e1 * t251 * t1328 - 0.1e2 * t63 * t1367 - 0.1e2 * t747 * t1328 - 0.3e2 * t258 * t1367 - 0.2e2 * t69 * t1375 - 0.2e2 * t762 * t1367 - 0.16e3 / 0.3e1 * t265 * t1375 - 0.1e3 / 0.3e1 * t75 * t1314 - 0.1e3 / 0.3e1 * t771 * t1375 - 0.25e3 / 0.3e1 * t272 * t1314 - 0.5e2 * t81 * t1318 - 0.22e3 * t117 * t1390 * tau_a - 0.7e2 * t836 * t1318 - 0.49e3 / 0.3e1 * t287 * t1322; + const double t1400 = t1281 + t1325 + t1363 + t1398; + const double t1401 = t47 * t1400; + const double t1402 = t29 * t1401; + const double t1406 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t544 - t1242 + 0.40369036088841097646e-2 * t234 * t1244 - 0.3e1 / 0.8e1 * t27 * t1402 ); + const double t1410 = t226 * t605; + const double t1412 = t136 * t1410 / 0.8e1; + const double t1424 = t35 * t374 * t604; + const double t1427 = t195 * t141; + const double t1430 = t200 * t141; + const double t1435 = t205 * t141; + const double t1443 = t175 * t141; + const double t1448 = t180 * t141; + const double t1453 = t185 * t141; + const double t1458 = t190 * t141; + const double t1461 = 0.15e2 * t437 * t1427 + 0.15e2 * t193 * t1430 + 0.5e2 / 0.3e1 * t444 * t1430 + 0.5e2 / 0.3e1 * t198 * t1435 + 0.55e2 / 0.3e1 * t451 * t1435 + 0.55e2 / 0.3e1 * t203 * t455 * t141 + 0.2e2 / 0.3e1 * t168 * t1443 + 0.25e2 / 0.3e1 * t408 * t1443 + 0.25e2 / 0.3e1 * t173 * t1448 + 0.1e2 * t415 * t1448 + 0.1e2 * t178 * t1453 + 0.35e2 / 0.3e1 * t423 * t1453 + 0.35e2 / 0.3e1 * t183 * t1458; + const double t1466 = t160 * t141; + const double t1471 = t165 * t141; + const double t1476 = t170 * t141; + const double t1481 = t61 * tau_b; + const double t1483 = 0.1e1 / t138 / t979; + const double t1487 = t49 * t1483; + const double t1493 = t455 * t1483; + const double t1494 = t1493 * tau_b; + const double t1497 = t1057 * t1483; + const double t1501 = t180 * t1483; + const double t1502 = t1501 * tau_b; + const double t1505 = 0.4e2 / 0.3e1 * t430 * t1458 + 0.4e2 / 0.3e1 * t188 * t1427 + 0.5e1 / 0.3e1 * t153 * t1466 + 0.1e2 / 0.3e1 * t387 * t1466 + 0.1e2 / 0.3e1 * t158 * t1471 + 0.5e1 * t394 * t1471 + 0.5e1 * t163 * t1476 + 0.2e2 / 0.3e1 * t401 * t1476 - 0.1e2 / 0.3e1 * t1481 * t1483 * t160 - 0.1e2 / 0.3e1 * t1487 * t383 + 0.5e1 / 0.3e1 * t49 * t141 * t155 - 0.121e4 / 0.3e1 * t451 * t1494 - 0.22e3 * t203 * t1497 * tau_b - 0.1e3 / 0.3e1 * t168 * t1502; + const double t1507 = t175 * t1483; + const double t1508 = t1507 * tau_b; + const double t1513 = t185 * t1483; + const double t1514 = t1513 * tau_b; + const double t1521 = t190 * t1483; + const double t1522 = t1521 * tau_b; + const double t1529 = t195 * t1483; + const double t1530 = t1529 * tau_b; + const double t1537 = t200 * t1483; + const double t1538 = t1537 * tau_b; + const double t1541 = t165 * t1483; + const double t1542 = t1541 * tau_b; + const double t1545 = -0.1e3 / 0.3e1 * t1131 * t1508 - 0.25e3 / 0.3e1 * t408 * t1502 - 0.5e2 * t173 * t1514 - 0.5e2 * t1066 * t1502 - 0.12e3 * t415 * t1514 - 0.7e2 * t178 * t1522 - 0.7e2 * t1077 * t1514 - 0.49e3 / 0.3e1 * t423 * t1522 - 0.28e3 / 0.3e1 * t183 * t1530 - 0.28e3 / 0.3e1 * t1086 * t1522 - 0.64e3 / 0.3e1 * t430 * t1530 - 0.12e3 * t188 * t1538 - 0.1e2 / 0.3e1 * t153 * t1542; + const double t1548 = t170 * t1483; + const double t1549 = t1548 * tau_b; + const double t1566 = t205 * t1483; + const double t1567 = t1566 * tau_b; + const double t1578 = -0.4e2 / 0.3e1 * t387 * t1542 - 0.1e2 * t158 * t1549 - 0.1e2 * t1114 * t1542 - 0.3e2 * t394 * t1549 - 0.2e2 * t163 * t1508 - 0.2e2 * t1123 * t1549 - 0.16e3 / 0.3e1 * t401 * t1508 - 0.12e3 * t1097 * t1530 - 0.27e3 * t437 * t1538 - 0.15e3 * t193 * t1567 - 0.15e3 * t1156 * t1538 - 0.1e4 / 0.3e1 * t444 * t1567 - 0.55e3 / 0.3e1 * t198 * t1494 - 0.55e3 / 0.3e1 * t1047 * t1567; + const double t1580 = t1461 + t1505 + t1545 + t1578; + const double t1581 = t148 * t1580; + const double t1582 = t29 * t1581; + const double t1586 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t606 - t1412 + 0.40369036088841097646e-2 * t370 * t1424 - 0.3e1 / 0.8e1 * t136 * t1582 ); + const double t1588 = t652 * t50; + const double t1589 = t656 * t683; + const double t1591 = t1588 * t1589 * t121; + const double t1594 = piecewise_functor_3( t2, 0.0, 0.27692524554911754573e-4 * t470 * t1591 ); + const double t1595 = t975 * t50; + const double t1596 = t656 * t1006; + const double t1598 = t1595 * t1596 * t207; + const double t1601 = piecewise_functor_3( t127, 0.0, 0.27692524554911754573e-4 * t478 * t1598 ); + const double t1603 = t471 * t472 * t542; + const double t1606 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t1603 ); + const double t1608 = t479 * t480 * t604; + const double t1611 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t1608 ); + const double t1613 = 0.1e1 / t37 / t235; + const double t1614 = t71 * t1613; + const double t1619 = t77 * t1613; + const double t1624 = t83 * t1613; + const double t1629 = t89 * t1613; + const double t1634 = t95 * t1613; + const double t1639 = t101 * t1613; + const double t1652 = 0.8e1 * t251 * t1614 + 0.2e1 * t57 * t1614 + 0.18e2 * t258 * t1619 + 0.6e1 * t63 * t1619 + 0.12e2 * t762 * t1619 + 0.32e2 * t265 * t1624 + 0.12e2 * t69 * t1624 + 0.2e2 * t771 * t1624 + 0.5e2 * t272 * t1629 + 0.2e2 * t75 * t1629 + 0.3e2 * t780 * t1629 + 0.72e2 * t279 * t1634 + 0.3e2 * t81 * t1634 + 0.42e2 * t836 * t1634 + 0.98e2 * t287 * t1639 + 0.42e2 * t87 * t1639; + const double t1655 = t107 * t1613; + const double t1658 = t113 * t1613; + const double t1661 = t119 * t1613; + const double t1678 = t319 * t1613; + const double t1692 = 0.132e3 * t117 * t831 * t1613 + 0.2e1 * t49 * t1613 * t65 + 0.2e1 * t61 * t1613 * t65 + 0.9e2 * t105 * t1661 + 0.11e3 * t111 * t1678 + 0.6e1 * t747 * t1614 + 0.56e2 * t818 * t1639 + 0.128e3 * t294 * t1655 + 0.72e2 * t827 * t1655 + 0.56e2 * t93 * t1655 + 0.162e3 * t301 * t1658 + 0.9e2 * t802 * t1658 + 0.72e2 * t99 * t1658 + 0.2e3 * t308 * t1661 + 0.11e3 * t811 * t1661 + 0.242e3 * t315 * t1678; + const double t1693 = t1652 + t1692; + const double t1694 = t47 * t1693; + const double t1695 = t29 * t1694; + const double t1698 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1695 ); + const double t1700 = 0.1e1 / t138 / t371; + const double t1701 = t195 * t1700; + const double t1704 = t200 * t1700; + const double t1707 = t205 * t1700; + const double t1710 = t165 * t1700; + const double t1713 = t170 * t1700; + const double t1716 = t175 * t1700; + const double t1719 = t180 * t1700; + const double t1722 = t185 * t1700; + const double t1725 = t190 * t1700; + const double t1742 = 0.11e3 * t1047 * t1707 + 0.3e2 * t1066 * t1719 + 0.42e2 * t1077 * t1722 + 0.56e2 * t1086 * t1725 + 0.72e2 * t1097 * t1701 + 0.6e1 * t1114 * t1710 + 0.12e2 * t1123 * t1713 + 0.2e2 * t1131 * t1716 + 0.9e2 * t1156 * t1704 + 0.56e2 * t183 * t1701 + 0.128e3 * t430 * t1701 + 0.72e2 * t188 * t1704 + 0.162e3 * t437 * t1704 + 0.72e2 * t415 * t1722 + 0.42e2 * t178 * t1725 + 0.98e2 * t423 * t1725; + const double t1747 = t455 * t1700; + const double t1779 = 0.132e3 * t203 * t1057 * t1700 + 0.2e1 * t49 * t1700 * t160 + 0.2e1 * t61 * t1700 * t160 + 0.2e1 * t153 * t1710 + 0.6e1 * t158 * t1713 + 0.12e2 * t163 * t1716 + 0.2e2 * t168 * t1719 + 0.9e2 * t193 * t1707 + 0.2e3 * t444 * t1707 + 0.8e1 * t387 * t1710 + 0.18e2 * t394 * t1713 + 0.32e2 * t401 * t1716 + 0.5e2 * t408 * t1719 + 0.3e2 * t173 * t1722 + 0.11e3 * t198 * t1747 + 0.242e3 * t451 * t1747; + const double t1780 = t1742 + t1779; + const double t1781 = t148 * t1780; + const double t1782 = t29 * t1781; + const double t1785 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t1782 ); + + + v2rho2_aa = 0.2e1 * t331 + 0.2e1 * t345 + t7 * ( t851 + t874 ); + v2rho2_bb = 0.2e1 * t357 + 0.2e1 * t467 + t7 * ( t951 + t1171 ); + v2rhosigma_a_aa = t7 * t1198 + t477; + v2rhosigma_b_bb = t7 * t1236 + t485; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1406 + t547; + v2rhotau_b_b = t7 * t1586 + t609; + v2sigma2_aa_aa = t7 * t1594; + v2sigma2_bb_bb = t7 * t1601; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1606; + v2sigmatau_bb_b = t7 * t1611; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1698; + v2tau2_bb = t7 * t1785; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; - eps = t126 + t212; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t30 = constants::m_cbrt_6; + constexpr double t31 = constants::m_pi_sq; constexpr double t32 = constants::m_cbrt_pi_sq; constexpr double t6 = t3 / t4; constexpr double t33 = t32 * t32; @@ -522,6 +2284,8 @@ struct kernel_traits< BuiltinM062X_X > : constexpr double t103 = a_9; constexpr double t109 = a_10; constexpr double t115 = a_11; + constexpr double t656 = 0.1e1 / t32 / t31; + constexpr double t657 = t50 * t656; const double t2 = rho_a <= dens_tol; @@ -817,9 +2581,351 @@ struct kernel_traits< BuiltinM062X_X > : const double t605 = t148 * t604; const double t606 = t29 * t605; const double t609 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t606 ); + const double t612 = t24 * t24; + const double t613 = 0.1e1 / t612; + const double t614 = t217 * t217; + const double t617 = t213 * t7; + const double t618 = 0.1e1 / t617; + const double t619 = t17 * t618; + const double t622 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t214 + 0.2e1 * t619 ); + const double t626 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t614 + 0.4e1 / 0.3e1 * t24 * t622 ); + const double t627 = t6 * t626; + const double t630 = t221 * t227; + const double t632 = t3 * t220; + const double t633 = t632 * t233; + const double t640 = 0.1e1 / t224 / t7 * csi_HF; + const double t641 = t640 * t122; + const double t643 = t27 * t641 / 0.12e2; + const double t644 = t226 * t232; + const double t645 = t230 * t644; + const double t646 = t645 * t240; + const double t648 = t226 * t326; + const double t649 = t27 * t648; + const double t652 = 0.1e1 / t231 / t44; + const double t653 = t29 * t652; + const double t654 = t230 * t653; + const double t658 = sigma_aa * sigma_aa; + const double t659 = t36 * t36; + const double t660 = t659 * t235; + const double t662 = 0.1e1 / t37 / t660; + const double t663 = t658 * t662; + const double t665 = t657 * t663 * t121; + const double t669 = 0.1e1 / t38 / t659; + const double t670 = sigma_aa * t669; + const double t672 = t35 * t670 * t121; + const double t676 = t35 * t238 * t325; + const double t679 = tau_a * tau_a; + const double t680 = t49 * t679; + const double t681 = t659 * rho_a; + const double t683 = 0.1e1 / t37 / t681; + const double t684 = t683 * t65; + const double t687 = t61 * t679; + const double t693 = t247 * t237; + const double t696 = t254 * t237; + const double t701 = t261 * t237; + const double t704 = t311 * t237; + const double t714 = t268 * t237; + const double t719 = 0.5e2 / 0.9e1 * t680 * t684 + 0.5e2 / 0.9e1 * t687 * t684 - 0.4e2 / 0.9e1 * t243 * t237 * t59 - 0.8e2 / 0.9e1 * t251 * t693 - 0.8e2 / 0.9e1 * t63 * t696 - 0.4e2 / 0.3e1 * t258 * t696 - 0.4e2 / 0.3e1 * t69 * t701 - 0.4e3 / 0.9e1 * t111 * t704 - 0.44e3 / 0.9e1 * t315 * t704 - 0.44e3 / 0.9e1 * t117 * t320 * t237 - 0.16e3 / 0.9e1 * t265 * t701 - 0.16e3 / 0.9e1 * t75 * t714 - 0.2e3 / 0.9e1 * t272 * t714; + const double t720 = t275 * t237; + const double t725 = t283 * t237; + const double t730 = t290 * t237; + const double t735 = t297 * t237; + const double t740 = t304 * t237; + const double t747 = t67 * t56; + const double t748 = t71 * t679; + const double t749 = t748 * t683; + const double t752 = t77 * t679; + const double t753 = t752 * t683; + const double t756 = t83 * t679; + const double t757 = t756 * t683; + const double t760 = -0.2e3 / 0.9e1 * t81 * t720 - 0.8e2 / 0.3e1 * t279 * t720 - 0.8e2 / 0.3e1 * t87 * t725 - 0.28e3 / 0.9e1 * t287 * t725 - 0.28e3 / 0.9e1 * t93 * t730 - 0.32e3 / 0.9e1 * t294 * t730 - 0.32e3 / 0.9e1 * t99 * t735 - 0.4e2 * t301 * t735 - 0.4e2 * t105 * t740 - 0.4e3 / 0.9e1 * t308 * t740 - 0.4e2 / 0.9e1 * t57 * t693 + 0.5e2 / 0.3e1 * t747 * t749 + 0.5e2 * t258 * t753 + 0.1e3 / 0.3e1 * t69 * t757; + const double t762 = t73 * t62; + const double t767 = t89 * t679; + const double t768 = t767 * t683; + const double t771 = t79 * t68; + const double t776 = t95 * t679; + const double t777 = t776 * t683; + const double t780 = t85 * t74; + const double t785 = t101 * t679; + const double t786 = t785 * t683; + const double t793 = t113 * t679; + const double t794 = t793 * t683; + const double t797 = t119 * t679; + const double t798 = t797 * t683; + const double t801 = 0.1e3 / 0.3e1 * t762 * t753 + 0.8e3 / 0.9e1 * t265 * t757 + 0.5e3 / 0.9e1 * t75 * t768 + 0.5e3 / 0.9e1 * t771 * t757 + 0.125e4 / 0.9e1 * t272 * t768 + 0.25e3 / 0.3e1 * t81 * t777 + 0.25e3 / 0.3e1 * t780 * t768 + 0.2e3 * t279 * t777 + 0.35e3 / 0.3e1 * t87 * t786 + 0.5e2 / 0.9e1 * t57 * t749 + 0.2e3 / 0.9e1 * t251 * t749 + 0.45e3 * t301 * t794 + 0.25e3 * t105 * t798; + const double t802 = t109 * t98; + const double t807 = t319 * t679; + const double t808 = t807 * t683; + const double t811 = t115 * t104; + const double t818 = t97 * t86; + const double t821 = t107 * t679; + const double t822 = t821 * t683; + const double t827 = t103 * t92; + const double t831 = 0.1e1 / t100 / t82; + const double t832 = t831 * t679; + const double t836 = t91 * t80; + const double t843 = 0.25e3 * t802 * t794 + 0.5e4 / 0.9e1 * t308 * t798 + 0.275e4 / 0.9e1 * t111 * t808 + 0.275e4 / 0.9e1 * t811 * t798 + 0.605e4 / 0.9e1 * t315 * t808 + 0.5e2 / 0.3e1 * t63 * t753 + 0.14e4 / 0.9e1 * t818 * t786 + 0.32e4 / 0.9e1 * t294 * t822 + 0.2e3 * t99 * t794 + 0.2e3 * t827 * t822 + 0.11e4 / 0.3e1 * t117 * t832 * t683 + 0.35e3 / 0.3e1 * t836 * t777 + 0.245e4 / 0.9e1 * t287 * t786 + 0.14e4 / 0.9e1 * t93 * t822; + const double t845 = t719 + t760 + t801 + t843; + const double t846 = t47 * t845; + const double t847 = t29 * t846; + const double t850 = -0.3e1 / 0.8e1 * t627 * t123 - t630 / 0.4e1 + 0.80738072177682195292e-2 * t633 * t240 - 0.3e1 / 0.4e1 * t221 * t327 + t643 + 0.26912690725894065098e-2 * t646 - t649 / 0.4e1 + 0.19692461905715025473e-3 * t654 * t665 - 0.14801979899241735804e-1 * t234 * t672 + 0.80738072177682195292e-2 * t234 * t676 - 0.3e1 / 0.8e1 * t27 * t847; + const double t851 = piecewise_functor_3( t2, 0.0, t850 ); + const double t852 = t133 * t133; + const double t853 = 0.1e1 / t852; + const double t854 = t334 * t334; + const double t857 = t128 * t618; + const double t860 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t214 + 0.2e1 * t857 ); + const double t864 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t854 + 0.4e1 / 0.3e1 * t133 * t860 ); + const double t865 = t6 * t864; + const double t868 = t338 * t341; + const double t870 = t640 * t208; + const double t872 = t136 * t870 / 0.12e2; + const double t874 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t865 * t209 - t868 / 0.4e1 + t872 ); + const double t889 = t353 * t227; + const double t914 = t363 * t341; + const double t921 = t226 * t368; + const double t922 = t366 * t921; + const double t923 = t922 * t376; + const double t927 = t226 * t462; + const double t928 = t136 * t927; + const double t936 = t349 * t349; + const double t941 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t214 + 0.2e1 * t619 ); + const double t945 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t613 * t936 + 0.4e1 / 0.3e1 * t24 * t941 ); + const double t946 = t6 * t945; + const double t951 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t946 * t123 - t889 / 0.4e1 + t643 ); + const double t952 = t359 * t359; + const double t957 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t214 + 0.2e1 * t857 ); + const double t961 = piecewise_functor_3( t132, 0.0, 0.4e1 / 0.9e1 * t853 * t952 + 0.4e1 / 0.3e1 * t133 * t957 ); + const double t962 = t6 * t961; + const double t966 = t3 * t362; + const double t967 = t966 * t369; + const double t975 = 0.1e1 / t367 / t145; + const double t976 = t29 * t975; + const double t977 = t366 * t976; + const double t978 = sigma_bb * sigma_bb; + const double t979 = t137 * t137; + const double t980 = t979 * t371; + const double t982 = 0.1e1 / t138 / t980; + const double t983 = t978 * t982; + const double t985 = t657 * t983 * t207; + const double t989 = 0.1e1 / t139 / t979; + const double t990 = sigma_bb * t989; + const double t992 = t35 * t990 * t207; + const double t996 = t35 * t374 * t461; + const double t1002 = tau_b * tau_b; + const double t1003 = t49 * t1002; + const double t1004 = t979 * rho_b; + const double t1006 = 0.1e1 / t138 / t1004; + const double t1007 = t1006 * t160; + const double t1010 = t61 * t1002; + const double t1013 = t397 * t373; + const double t1018 = t404 * t373; + const double t1023 = t411 * t373; + const double t1028 = t419 * t373; + const double t1033 = t426 * t373; + const double t1038 = -0.4e2 / 0.9e1 * t379 * t373 * t155 + 0.5e2 / 0.9e1 * t1003 * t1007 + 0.5e2 / 0.9e1 * t1010 * t1007 - 0.4e2 / 0.3e1 * t163 * t1013 - 0.16e3 / 0.9e1 * t401 * t1013 - 0.16e3 / 0.9e1 * t168 * t1018 - 0.2e3 / 0.9e1 * t408 * t1018 - 0.2e3 / 0.9e1 * t173 * t1023 - 0.8e2 / 0.3e1 * t415 * t1023 - 0.8e2 / 0.3e1 * t178 * t1028 - 0.28e3 / 0.9e1 * t423 * t1028 - 0.28e3 / 0.9e1 * t183 * t1033 - 0.32e3 / 0.9e1 * t430 * t1033; + const double t1039 = t433 * t373; + const double t1042 = t383 * t373; + const double t1047 = t115 * t192; + const double t1048 = t205 * t1002; + const double t1049 = t1048 * t1006; + const double t1052 = t455 * t1002; + const double t1053 = t1052 * t1006; + const double t1057 = 0.1e1 / t189 / t174; + const double t1058 = t1057 * t1002; + const double t1062 = t185 * t1002; + const double t1063 = t1062 * t1006; + const double t1066 = t85 * t167; + const double t1067 = t180 * t1002; + const double t1068 = t1067 * t1006; + const double t1073 = t190 * t1002; + const double t1074 = t1073 * t1006; + const double t1077 = t91 * t172; + const double t1082 = t195 * t1002; + const double t1083 = t1082 * t1006; + const double t1086 = t97 * t177; + const double t1089 = -0.32e3 / 0.9e1 * t188 * t1039 - 0.4e2 / 0.9e1 * t153 * t1042 - 0.8e2 / 0.9e1 * t387 * t1042 + 0.275e4 / 0.9e1 * t1047 * t1049 + 0.605e4 / 0.9e1 * t451 * t1053 + 0.11e4 / 0.3e1 * t203 * t1058 * t1006 + 0.25e3 / 0.3e1 * t173 * t1063 + 0.25e3 / 0.3e1 * t1066 * t1068 + 0.2e3 * t415 * t1063 + 0.35e3 / 0.3e1 * t178 * t1074 + 0.35e3 / 0.3e1 * t1077 * t1063 + 0.245e4 / 0.9e1 * t423 * t1074 + 0.14e4 / 0.9e1 * t183 * t1083 + 0.14e4 / 0.9e1 * t1086 * t1074; + const double t1093 = t200 * t1002; + const double t1094 = t1093 * t1006; + const double t1097 = t103 * t182; + const double t1104 = t165 * t1002; + const double t1105 = t1104 * t1006; + const double t1110 = t170 * t1002; + const double t1111 = t1110 * t1006; + const double t1114 = t67 * t152; + const double t1119 = t175 * t1002; + const double t1120 = t1119 * t1006; + const double t1123 = t73 * t157; + const double t1128 = 0.32e4 / 0.9e1 * t430 * t1083 + 0.2e3 * t188 * t1094 + 0.2e3 * t1097 * t1083 + 0.45e3 * t437 * t1094 + 0.25e3 * t193 * t1049 + 0.5e2 / 0.9e1 * t153 * t1105 + 0.2e3 / 0.9e1 * t387 * t1105 + 0.5e2 / 0.3e1 * t158 * t1111 + 0.5e2 / 0.3e1 * t1114 * t1105 + 0.5e2 * t394 * t1111 + 0.1e3 / 0.3e1 * t163 * t1120 + 0.1e3 / 0.3e1 * t1123 * t1111 + 0.8e3 / 0.9e1 * t401 * t1120; + const double t1131 = t79 * t162; + const double t1136 = t390 * t373; + const double t1143 = t440 * t373; + const double t1148 = t447 * t373; + const double t1156 = t109 * t187; + const double t1163 = 0.5e3 / 0.9e1 * t168 * t1068 + 0.5e3 / 0.9e1 * t1131 * t1120 + 0.125e4 / 0.9e1 * t408 * t1068 - 0.8e2 / 0.9e1 * t158 * t1136 - 0.4e2 / 0.3e1 * t394 * t1136 - 0.4e2 * t437 * t1039 - 0.4e2 * t193 * t1143 - 0.4e3 / 0.9e1 * t444 * t1143 - 0.4e3 / 0.9e1 * t198 * t1148 - 0.44e3 / 0.9e1 * t451 * t1148 - 0.44e3 / 0.9e1 * t203 * t456 * t373 + 0.25e3 * t1156 * t1094 + 0.5e4 / 0.9e1 * t444 * t1049 + 0.275e4 / 0.9e1 * t198 * t1053; + const double t1165 = t1038 + t1089 + t1128 + t1163; + const double t1166 = t148 * t1165; + const double t1167 = t29 * t1166; + const double t1170 = -0.3e1 / 0.8e1 * t962 * t209 - t914 / 0.4e1 + 0.80738072177682195292e-2 * t967 * t376 - 0.3e1 / 0.4e1 * t363 * t463 + t872 + 0.26912690725894065098e-2 * t923 - t928 / 0.4e1 + 0.19692461905715025473e-3 * t977 * t985 - 0.14801979899241735804e-1 * t370 * t992 + 0.80738072177682195292e-2 * t370 * t996 - 0.3e1 / 0.8e1 * t136 * t1167; + const double t1171 = piecewise_functor_3( t127, 0.0, t1170 ); + const double t1174 = t632 * t29; + const double t1177 = t230 * t226; + const double t1179 = 0.5046129511105137206e-3 * t1177 * t474; + const double t1180 = t659 * t36; + const double t1182 = 0.1e1 / t37 / t1180; + const double t1185 = t657 * t1182 * t121 * sigma_aa; + const double t1188 = t34 * t237; + const double t1190 = t471 * t1188 * t121; + const double t1194 = t471 * t472 * t325; + const double t1198 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t1174 * t474 - t1179 - 0.73846732146431345529e-4 * t654 * t1185 + 0.40369036088841097648e-2 * t470 * t1190 - 0.15138388533315411618e-2 * t470 * t1194 ); + const double t1203 = t366 * t226; + const double t1205 = 0.5046129511105137206e-3 * t1203 * t482; + const double t1215 = t966 * t29; + const double t1218 = t979 * t137; + const double t1220 = 0.1e1 / t138 / t1218; + const double t1223 = t657 * t1220 * t207 * sigma_bb; + const double t1226 = t34 * t373; + const double t1228 = t479 * t1226 * t207; + const double t1232 = t479 * t480 * t461; + const double t1236 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t1215 * t482 - t1205 - 0.73846732146431345529e-4 * t977 * t1223 + 0.40369036088841097648e-2 * t478 * t1228 - 0.15138388533315411618e-2 * t478 * t1232 ); + const double t1240 = t226 * t543; + const double t1242 = t27 * t1240 / 0.8e1; + const double t1244 = t35 * t238 * t542; + const double t1250 = t95 * t40; + const double t1253 = t101 * t40; + const double t1258 = t107 * t40; + const double t1263 = t113 * t40; + const double t1268 = t119 * t40; + const double t1273 = t71 * t40; + const double t1278 = t77 * t40; + const double t1281 = 0.55e2 / 0.3e1 * t117 * t319 * t40 + 0.35e2 / 0.3e1 * t287 * t1250 + 0.35e2 / 0.3e1 * t93 * t1253 + 0.4e2 / 0.3e1 * t294 * t1253 + 0.4e2 / 0.3e1 * t99 * t1258 + 0.15e2 * t301 * t1258 + 0.15e2 * t105 * t1263 + 0.5e2 / 0.3e1 * t308 * t1263 + 0.5e2 / 0.3e1 * t111 * t1268 + 0.55e2 / 0.3e1 * t315 * t1268 + 0.1e2 / 0.3e1 * t63 * t1273 + 0.5e1 * t258 * t1273 + 0.5e1 * t69 * t1278; + const double t1284 = t83 * t40; + const double t1289 = t89 * t40; + const double t1296 = t65 * t40; + const double t1302 = 0.1e1 / t37 / t659; + const double t1303 = t49 * t1302; + const double t1306 = t61 * tau_a; + const double t1313 = t89 * t1302; + const double t1314 = t1313 * tau_a; + const double t1317 = t95 * t1302; + const double t1318 = t1317 * tau_a; + const double t1321 = t101 * t1302; + const double t1322 = t1321 * tau_a; + const double t1325 = 0.2e2 / 0.3e1 * t265 * t1278 + 0.2e2 / 0.3e1 * t75 * t1284 + 0.25e2 / 0.3e1 * t272 * t1284 + 0.25e2 / 0.3e1 * t81 * t1289 + 0.1e2 * t279 * t1289 + 0.1e2 * t87 * t1250 + 0.5e1 / 0.3e1 * t57 * t1296 + 0.1e2 / 0.3e1 * t251 * t1296 - 0.1e2 / 0.3e1 * t1303 * t247 - 0.1e2 / 0.3e1 * t1306 * t1302 * t65 + 0.5e1 / 0.3e1 * t49 * t40 * t59 - 0.5e2 * t780 * t1314 - 0.12e3 * t279 * t1318 - 0.7e2 * t87 * t1322; + const double t1327 = t71 * t1302; + const double t1328 = t1327 * tau_a; + const double t1331 = t107 * t1302; + const double t1332 = t1331 * tau_a; + const double t1339 = t113 * t1302; + const double t1340 = t1339 * tau_a; + const double t1347 = t119 * t1302; + const double t1348 = t1347 * tau_a; + const double t1355 = t319 * t1302; + const double t1356 = t1355 * tau_a; + const double t1363 = -0.1e2 / 0.3e1 * t57 * t1328 - 0.28e3 / 0.3e1 * t93 * t1332 - 0.28e3 / 0.3e1 * t818 * t1322 - 0.64e3 / 0.3e1 * t294 * t1332 - 0.12e3 * t99 * t1340 - 0.12e3 * t827 * t1332 - 0.27e3 * t301 * t1340 - 0.15e3 * t105 * t1348 - 0.15e3 * t802 * t1340 - 0.1e4 / 0.3e1 * t308 * t1348 - 0.55e3 / 0.3e1 * t111 * t1356 - 0.55e3 / 0.3e1 * t811 * t1348 - 0.121e4 / 0.3e1 * t315 * t1356; + const double t1366 = t77 * t1302; + const double t1367 = t1366 * tau_a; + const double t1374 = t83 * t1302; + const double t1375 = t1374 * tau_a; + const double t1390 = t831 * t1302; + const double t1398 = -0.4e2 / 0.3e1 * t251 * t1328 - 0.1e2 * t63 * t1367 - 0.1e2 * t747 * t1328 - 0.3e2 * t258 * t1367 - 0.2e2 * t69 * t1375 - 0.2e2 * t762 * t1367 - 0.16e3 / 0.3e1 * t265 * t1375 - 0.1e3 / 0.3e1 * t75 * t1314 - 0.1e3 / 0.3e1 * t771 * t1375 - 0.25e3 / 0.3e1 * t272 * t1314 - 0.5e2 * t81 * t1318 - 0.22e3 * t117 * t1390 * tau_a - 0.7e2 * t836 * t1318 - 0.49e3 / 0.3e1 * t287 * t1322; + const double t1400 = t1281 + t1325 + t1363 + t1398; + const double t1401 = t47 * t1400; + const double t1402 = t29 * t1401; + const double t1406 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t221 * t544 - t1242 + 0.40369036088841097646e-2 * t234 * t1244 - 0.3e1 / 0.8e1 * t27 * t1402 ); + const double t1410 = t226 * t605; + const double t1412 = t136 * t1410 / 0.8e1; + const double t1424 = t35 * t374 * t604; + const double t1427 = t195 * t141; + const double t1430 = t200 * t141; + const double t1435 = t205 * t141; + const double t1443 = t175 * t141; + const double t1448 = t180 * t141; + const double t1453 = t185 * t141; + const double t1458 = t190 * t141; + const double t1461 = 0.15e2 * t437 * t1427 + 0.15e2 * t193 * t1430 + 0.5e2 / 0.3e1 * t444 * t1430 + 0.5e2 / 0.3e1 * t198 * t1435 + 0.55e2 / 0.3e1 * t451 * t1435 + 0.55e2 / 0.3e1 * t203 * t455 * t141 + 0.2e2 / 0.3e1 * t168 * t1443 + 0.25e2 / 0.3e1 * t408 * t1443 + 0.25e2 / 0.3e1 * t173 * t1448 + 0.1e2 * t415 * t1448 + 0.1e2 * t178 * t1453 + 0.35e2 / 0.3e1 * t423 * t1453 + 0.35e2 / 0.3e1 * t183 * t1458; + const double t1466 = t160 * t141; + const double t1471 = t165 * t141; + const double t1476 = t170 * t141; + const double t1481 = t61 * tau_b; + const double t1483 = 0.1e1 / t138 / t979; + const double t1487 = t49 * t1483; + const double t1493 = t455 * t1483; + const double t1494 = t1493 * tau_b; + const double t1497 = t1057 * t1483; + const double t1501 = t180 * t1483; + const double t1502 = t1501 * tau_b; + const double t1505 = 0.4e2 / 0.3e1 * t430 * t1458 + 0.4e2 / 0.3e1 * t188 * t1427 + 0.5e1 / 0.3e1 * t153 * t1466 + 0.1e2 / 0.3e1 * t387 * t1466 + 0.1e2 / 0.3e1 * t158 * t1471 + 0.5e1 * t394 * t1471 + 0.5e1 * t163 * t1476 + 0.2e2 / 0.3e1 * t401 * t1476 - 0.1e2 / 0.3e1 * t1481 * t1483 * t160 - 0.1e2 / 0.3e1 * t1487 * t383 + 0.5e1 / 0.3e1 * t49 * t141 * t155 - 0.121e4 / 0.3e1 * t451 * t1494 - 0.22e3 * t203 * t1497 * tau_b - 0.1e3 / 0.3e1 * t168 * t1502; + const double t1507 = t175 * t1483; + const double t1508 = t1507 * tau_b; + const double t1513 = t185 * t1483; + const double t1514 = t1513 * tau_b; + const double t1521 = t190 * t1483; + const double t1522 = t1521 * tau_b; + const double t1529 = t195 * t1483; + const double t1530 = t1529 * tau_b; + const double t1537 = t200 * t1483; + const double t1538 = t1537 * tau_b; + const double t1541 = t165 * t1483; + const double t1542 = t1541 * tau_b; + const double t1545 = -0.1e3 / 0.3e1 * t1131 * t1508 - 0.25e3 / 0.3e1 * t408 * t1502 - 0.5e2 * t173 * t1514 - 0.5e2 * t1066 * t1502 - 0.12e3 * t415 * t1514 - 0.7e2 * t178 * t1522 - 0.7e2 * t1077 * t1514 - 0.49e3 / 0.3e1 * t423 * t1522 - 0.28e3 / 0.3e1 * t183 * t1530 - 0.28e3 / 0.3e1 * t1086 * t1522 - 0.64e3 / 0.3e1 * t430 * t1530 - 0.12e3 * t188 * t1538 - 0.1e2 / 0.3e1 * t153 * t1542; + const double t1548 = t170 * t1483; + const double t1549 = t1548 * tau_b; + const double t1566 = t205 * t1483; + const double t1567 = t1566 * tau_b; + const double t1578 = -0.4e2 / 0.3e1 * t387 * t1542 - 0.1e2 * t158 * t1549 - 0.1e2 * t1114 * t1542 - 0.3e2 * t394 * t1549 - 0.2e2 * t163 * t1508 - 0.2e2 * t1123 * t1549 - 0.16e3 / 0.3e1 * t401 * t1508 - 0.12e3 * t1097 * t1530 - 0.27e3 * t437 * t1538 - 0.15e3 * t193 * t1567 - 0.15e3 * t1156 * t1538 - 0.1e4 / 0.3e1 * t444 * t1567 - 0.55e3 / 0.3e1 * t198 * t1494 - 0.55e3 / 0.3e1 * t1047 * t1567; + const double t1580 = t1461 + t1505 + t1545 + t1578; + const double t1581 = t148 * t1580; + const double t1582 = t29 * t1581; + const double t1586 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t363 * t606 - t1412 + 0.40369036088841097646e-2 * t370 * t1424 - 0.3e1 / 0.8e1 * t136 * t1582 ); + const double t1588 = t652 * t50; + const double t1589 = t656 * t683; + const double t1591 = t1588 * t1589 * t121; + const double t1594 = piecewise_functor_3( t2, 0.0, 0.27692524554911754573e-4 * t470 * t1591 ); + const double t1595 = t975 * t50; + const double t1596 = t656 * t1006; + const double t1598 = t1595 * t1596 * t207; + const double t1601 = piecewise_functor_3( t127, 0.0, 0.27692524554911754573e-4 * t478 * t1598 ); + const double t1603 = t471 * t472 * t542; + const double t1606 = piecewise_functor_3( t2, 0.0, -0.15138388533315411618e-2 * t470 * t1603 ); + const double t1608 = t479 * t480 * t604; + const double t1611 = piecewise_functor_3( t127, 0.0, -0.15138388533315411618e-2 * t478 * t1608 ); + const double t1613 = 0.1e1 / t37 / t235; + const double t1614 = t71 * t1613; + const double t1619 = t77 * t1613; + const double t1624 = t83 * t1613; + const double t1629 = t89 * t1613; + const double t1634 = t95 * t1613; + const double t1639 = t101 * t1613; + const double t1652 = 0.8e1 * t251 * t1614 + 0.2e1 * t57 * t1614 + 0.18e2 * t258 * t1619 + 0.6e1 * t63 * t1619 + 0.12e2 * t762 * t1619 + 0.32e2 * t265 * t1624 + 0.12e2 * t69 * t1624 + 0.2e2 * t771 * t1624 + 0.5e2 * t272 * t1629 + 0.2e2 * t75 * t1629 + 0.3e2 * t780 * t1629 + 0.72e2 * t279 * t1634 + 0.3e2 * t81 * t1634 + 0.42e2 * t836 * t1634 + 0.98e2 * t287 * t1639 + 0.42e2 * t87 * t1639; + const double t1655 = t107 * t1613; + const double t1658 = t113 * t1613; + const double t1661 = t119 * t1613; + const double t1678 = t319 * t1613; + const double t1692 = 0.132e3 * t117 * t831 * t1613 + 0.2e1 * t49 * t1613 * t65 + 0.2e1 * t61 * t1613 * t65 + 0.9e2 * t105 * t1661 + 0.11e3 * t111 * t1678 + 0.6e1 * t747 * t1614 + 0.56e2 * t818 * t1639 + 0.128e3 * t294 * t1655 + 0.72e2 * t827 * t1655 + 0.56e2 * t93 * t1655 + 0.162e3 * t301 * t1658 + 0.9e2 * t802 * t1658 + 0.72e2 * t99 * t1658 + 0.2e3 * t308 * t1661 + 0.11e3 * t811 * t1661 + 0.242e3 * t315 * t1678; + const double t1693 = t1652 + t1692; + const double t1694 = t47 * t1693; + const double t1695 = t29 * t1694; + const double t1698 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1695 ); + const double t1700 = 0.1e1 / t138 / t371; + const double t1701 = t195 * t1700; + const double t1704 = t200 * t1700; + const double t1707 = t205 * t1700; + const double t1710 = t165 * t1700; + const double t1713 = t170 * t1700; + const double t1716 = t175 * t1700; + const double t1719 = t180 * t1700; + const double t1722 = t185 * t1700; + const double t1725 = t190 * t1700; + const double t1742 = 0.11e3 * t1047 * t1707 + 0.3e2 * t1066 * t1719 + 0.42e2 * t1077 * t1722 + 0.56e2 * t1086 * t1725 + 0.72e2 * t1097 * t1701 + 0.6e1 * t1114 * t1710 + 0.12e2 * t1123 * t1713 + 0.2e2 * t1131 * t1716 + 0.9e2 * t1156 * t1704 + 0.56e2 * t183 * t1701 + 0.128e3 * t430 * t1701 + 0.72e2 * t188 * t1704 + 0.162e3 * t437 * t1704 + 0.72e2 * t415 * t1722 + 0.42e2 * t178 * t1725 + 0.98e2 * t423 * t1725; + const double t1747 = t455 * t1700; + const double t1779 = 0.132e3 * t203 * t1057 * t1700 + 0.2e1 * t49 * t1700 * t160 + 0.2e1 * t61 * t1700 * t160 + 0.2e1 * t153 * t1710 + 0.6e1 * t158 * t1713 + 0.12e2 * t163 * t1716 + 0.2e2 * t168 * t1719 + 0.9e2 * t193 * t1707 + 0.2e3 * t444 * t1707 + 0.8e1 * t387 * t1710 + 0.18e2 * t394 * t1713 + 0.32e2 * t401 * t1716 + 0.5e2 * t408 * t1719 + 0.3e2 * t173 * t1722 + 0.11e3 * t198 * t1747 + 0.242e3 * t451 * t1747; + const double t1780 = t1742 + t1779; + const double t1781 = t148 * t1780; + const double t1782 = t29 * t1781; + const double t1785 = piecewise_functor_3( t127, 0.0, -0.3e1 / 0.8e1 * t136 * t1782 ); - eps = t126 + t212; vrho_a = t126 + t212 + t7 * ( t331 + t345 ); vrho_b = t126 + t212 + t7 * ( t357 + t467 ); vsigma_aa = t7 * t477; @@ -829,6 +2935,53 @@ struct kernel_traits< BuiltinM062X_X > : vlapl_b = 0.e0; vtau_a = t7 * t547; vtau_b = t7 * t609; + v2rho2_aa = 0.2e1 * t331 + 0.2e1 * t345 + t7 * ( t851 + t874 ); + v2rho2_bb = 0.2e1 * t357 + 0.2e1 * t467 + t7 * ( t951 + t1171 ); + v2rhosigma_a_aa = t7 * t1198 + t477; + v2rhosigma_b_bb = t7 * t1236 + t485; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1406 + t547; + v2rhotau_b_b = t7 * t1586 + t609; + v2sigma2_aa_aa = t7 * t1594; + v2sigma2_bb_bb = t7 * t1601; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1606; + v2sigmatau_bb_b = t7 * t1611; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1698; + v2tau2_bb = t7 * t1785; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + } @@ -846,4 +2999,4 @@ struct BuiltinM062X_X : detail::BuiltinKernelImpl< BuiltinM062X_X > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_c.hpp b/include/exchcxx/impl/builtin/kernels/m06_c.hpp new file mode 100644 index 0000000..a645f25 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_c.hpp @@ -0,0 +1,8450 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_C > : + public mgga_screening_interface< BuiltinM06_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000021e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double gamma_ss = 0.06; + static constexpr double gamma_ab = 0.0031; + static constexpr double alpha_ss = 0.00515088; + static constexpr double alpha_ab = 0.00304966; + static constexpr double css_0 = 5.094055e-01; + static constexpr double css_1 = -1.491085e+00; + static constexpr double css_2 = 1.723922e+01; + static constexpr double css_3 = -3.859018e+01; + static constexpr double css_4 = 2.845044e+01; + static constexpr double cab_0 = 3.741539e+00; + static constexpr double cab_1 = 2.187098e+02; + static constexpr double cab_2 = -4.531252e+02; + static constexpr double cab_3 = 2.936479e+02; + static constexpr double cab_4 = -6.287470e+01; + static constexpr double dss_0 = 4.905945e-01; + static constexpr double dss_1 = -1.437348e-01; + static constexpr double dss_2 = 2.357824e-01; + static constexpr double dss_3 = 1.871015e-03; + static constexpr double dss_4 = -3.788963e-03; + static constexpr double dss_5 = 0.000000e+00; + static constexpr double dab_0 = -2.741539e+00; + static constexpr double dab_1 = -6.720113e-01; + static constexpr double dab_2 = -7.932688e-02; + static constexpr double dab_3 = 1.918681e-03; + static constexpr double dab_4 = -2.032902e-03; + static constexpr double dab_5 = 0.000000e+00; + static constexpr double Fermi_D_cnst = 1e-10; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + + + eps = t171 + t250 + t299 + t337; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + + + eps = t171 + t250 + t299 + t337; + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + +}; + +struct BuiltinM06_C : detail::BuiltinKernelImpl< BuiltinM06_C > { + + BuiltinM06_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_C >(p) { } + + virtual ~BuiltinM06_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_hf_c.hpp b/include/exchcxx/impl/builtin/kernels/m06_hf_c.hpp new file mode 100644 index 0000000..4241856 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_hf_c.hpp @@ -0,0 +1,8450 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_HF_C > : + public mgga_screening_interface< BuiltinM06_HF_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000021e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double gamma_ss = 0.06; + static constexpr double gamma_ab = 0.0031; + static constexpr double alpha_ss = 0.00515088; + static constexpr double alpha_ab = 0.00304966; + static constexpr double css_0 = 1.023254e-01; + static constexpr double css_1 = -2.453783e+00; + static constexpr double css_2 = 2.913180e+01; + static constexpr double css_3 = -3.494358e+01; + static constexpr double css_4 = 2.315955e+01; + static constexpr double cab_0 = 1.674634e+00; + static constexpr double cab_1 = 5.732017e+01; + static constexpr double cab_2 = 5.955416e+01; + static constexpr double cab_3 = -2.311007e+02; + static constexpr double cab_4 = 1.255199e+02; + static constexpr double dss_0 = 8.976746e-01; + static constexpr double dss_1 = -2.345830e-01; + static constexpr double dss_2 = 2.368173e-01; + static constexpr double dss_3 = -9.913890e-04; + static constexpr double dss_4 = -1.146165e-02; + static constexpr double dss_5 = 0.000000e+00; + static constexpr double dab_0 = -6.746338e-01; + static constexpr double dab_1 = -1.534002e-01; + static constexpr double dab_2 = -9.021521e-02; + static constexpr double dab_3 = -1.292037e-03; + static constexpr double dab_4 = -2.352983e-04; + static constexpr double dab_5 = 0.000000e+00; + static constexpr double Fermi_D_cnst = 1e-10; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + + + eps = t171 + t250 + t299 + t337; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + + + eps = t171 + t250 + t299 + t337; + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + +}; + +struct BuiltinM06_HF_C : detail::BuiltinKernelImpl< BuiltinM06_HF_C > { + + BuiltinM06_HF_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_HF_C >(p) { } + + virtual ~BuiltinM06_HF_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_hf_x.hpp b/include/exchcxx/impl/builtin/kernels/m06_hf_x.hpp new file mode 100644 index 0000000..15b5268 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_hf_x.hpp @@ -0,0 +1,3559 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_HF_X > : + public mgga_screening_interface< BuiltinM06_HF_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.1179732; + static constexpr double a_1 = -1.066708; + static constexpr double a_2 = -0.1462405; + static constexpr double a_3 = 7.481848; + static constexpr double a_4 = 3.776679; + static constexpr double a_5 = -44.36118; + static constexpr double a_6 = -18.30962; + static constexpr double a_7 = 100.3903; + static constexpr double a_8 = 38.64360; + static constexpr double a_9 = -98.06018; + static constexpr double a_10 = -25.57716; + static constexpr double a_11 = 35.90404; + static constexpr double d_0 = -0.1179732; + static constexpr double d_1 = -0.0025; + static constexpr double d_2 = -0.01180065; + static constexpr double d_3 = 0.0; + static constexpr double d_4 = 0.0; + static constexpr double d_5 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + + + eps = 0.2e1 * t162; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + + + eps = 0.2e1 * t162; + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + + + eps = t164 + t281; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + + + eps = t164 + t281; + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM06_HF_X : detail::BuiltinKernelImpl< BuiltinM06_HF_X > { + + BuiltinM06_HF_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_HF_X >(p) { } + + virtual ~BuiltinM06_HF_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_l_c.hpp b/include/exchcxx/impl/builtin/kernels/m06_l_c.hpp new file mode 100644 index 0000000..5e3fdf4 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_l_c.hpp @@ -0,0 +1,8450 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_L_C > : + public mgga_screening_interface< BuiltinM06_L_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000021e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double gamma_ss = 0.06; + static constexpr double gamma_ab = 0.0031; + static constexpr double alpha_ss = 0.00515088; + static constexpr double alpha_ab = 0.00304966; + static constexpr double css_0 = 5.349466e-01; + static constexpr double css_1 = 5.396620e-01; + static constexpr double css_2 = -3.161217e+01; + static constexpr double css_3 = 5.149592e+01; + static constexpr double css_4 = -2.919613e+01; + static constexpr double cab_0 = 6.042374e-01; + static constexpr double cab_1 = 1.776783e+02; + static constexpr double cab_2 = -2.513252e+02; + static constexpr double cab_3 = 7.635173e+01; + static constexpr double cab_4 = -1.255699e+01; + static constexpr double dss_0 = 4.650534e-01; + static constexpr double dss_1 = 1.617589e-01; + static constexpr double dss_2 = 1.833657e-01; + static constexpr double dss_3 = 4.692100e-04; + static constexpr double dss_4 = -4.990573e-03; + static constexpr double dss_5 = 0.000000e+00; + static constexpr double dab_0 = 3.957626e-01; + static constexpr double dab_1 = -5.614546e-01; + static constexpr double dab_2 = 1.403963e-02; + static constexpr double dab_3 = 9.831442e-04; + static constexpr double dab_4 = -3.577176e-03; + static constexpr double dab_5 = 0.000000e+00; + static constexpr double Fermi_D_cnst = 1e-10; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + + + eps = t171 + t250 + t299 + t337; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + + + eps = t171 + t250 + t299 + t337; + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + +}; + +struct BuiltinM06_L_C : detail::BuiltinKernelImpl< BuiltinM06_L_C > { + + BuiltinM06_L_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_L_C >(p) { } + + virtual ~BuiltinM06_L_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_l_x.hpp b/include/exchcxx/impl/builtin/kernels/m06_l_x.hpp new file mode 100644 index 0000000..c73a63b --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_l_x.hpp @@ -0,0 +1,3559 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_L_X > : + public mgga_screening_interface< BuiltinM06_L_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.3987756; + static constexpr double a_1 = 0.2548219; + static constexpr double a_2 = 0.3923994; + static constexpr double a_3 = -2.103655; + static constexpr double a_4 = -6.302147; + static constexpr double a_5 = 10.97615; + static constexpr double a_6 = 30.97273; + static constexpr double a_7 = -23.18489; + static constexpr double a_8 = -56.73480; + static constexpr double a_9 = 21.60364; + static constexpr double a_10 = 34.21814; + static constexpr double a_11 = -9.049762; + static constexpr double d_0 = 0.6012244; + static constexpr double d_1 = 0.004748822; + static constexpr double d_2 = -0.008635108; + static constexpr double d_3 = -0.000009308062; + static constexpr double d_4 = 0.00004482811; + static constexpr double d_5 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + + + eps = 0.2e1 * t162; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + + + eps = 0.2e1 * t162; + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + + + eps = t164 + t281; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + + + eps = t164 + t281; + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM06_L_X : detail::BuiltinKernelImpl< BuiltinM06_L_X > { + + BuiltinM06_L_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_L_X >(p) { } + + virtual ~BuiltinM06_L_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_sx_c.hpp b/include/exchcxx/impl/builtin/kernels/m06_sx_c.hpp new file mode 100644 index 0000000..58dba05 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_sx_c.hpp @@ -0,0 +1,8450 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_SX_C > : + public mgga_screening_interface< BuiltinM06_SX_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double gamma_ss = 0.06; + static constexpr double gamma_ab = 0.0031; + static constexpr double alpha_ss = 0.00515088; + static constexpr double alpha_ab = 0.00304966; + static constexpr double css_0 = 1.17575011057022E+00; + static constexpr double css_1 = 6.58083496678423E-01; + static constexpr double css_2 = -2.78913774852905E+00; + static constexpr double css_3 = -1.18597601856255E+00; + static constexpr double css_4 = 1.16439928209688E+00; + static constexpr double cab_0 = 1.63738167314691E-01; + static constexpr double cab_1 = -4.36481171027951E-01; + static constexpr double cab_2 = -1.90232628449712E+00; + static constexpr double cab_3 = -1.42432902881841E+00; + static constexpr double cab_4 = -9.05909137360893E-01; + static constexpr double dss_0 = 8.17322574473352E-02; + static constexpr double dss_1 = -2.88531085759385E-02; + static constexpr double dss_2 = 9.05917734868130E-02; + static constexpr double dss_3 = 0.0; + static constexpr double dss_4 = 0.0; + static constexpr double dss_5 = -4.86297499082106E-04; + static constexpr double dab_0 = 7.40594619832397E-01; + static constexpr double dab_1 = 1.23306511345974E-02; + static constexpr double dab_2 = -1.88253421850249E-02; + static constexpr double dab_3 = 0.0; + static constexpr double dab_4 = 0.0; + static constexpr double dab_5 = 4.87276242162303E-04; + static constexpr double Fermi_D_cnst = 1e-10; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + + + eps = t171 + t250 + t299 + t337; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + + + eps = t171 + t250 + t299 + t337; + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + +}; + +struct BuiltinM06_SX_C : detail::BuiltinKernelImpl< BuiltinM06_SX_C > { + + BuiltinM06_SX_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_SX_C >(p) { } + + virtual ~BuiltinM06_SX_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_sx_x.hpp b/include/exchcxx/impl/builtin/kernels/m06_sx_x.hpp new file mode 100644 index 0000000..dfa4538 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_sx_x.hpp @@ -0,0 +1,3559 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_SX_X > : + public mgga_screening_interface< BuiltinM06_SX_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.996501680264007; + static constexpr double a_1 = 0.0301264933631367; + static constexpr double a_2 = -0.103366758333673; + static constexpr double a_3 = -0.155653062500239; + static constexpr double a_4 = 0.00795768051149902; + static constexpr double a_5 = 0.0871986277454856; + static constexpr double a_6 = -0.816152625764469; + static constexpr double a_7 = 0.672773006612420; + static constexpr double a_8 = 0.521127186174968; + static constexpr double a_9 = 0.399466945122217; + static constexpr double a_10 = 0.519400018999204; + static constexpr double a_11 = -0.965261552636835; + static constexpr double d_0 = -0.347792307472902; + static constexpr double d_1 = 0.0; + static constexpr double d_2 = -0.00270366787478266; + static constexpr double d_3 = 0.0; + static constexpr double d_4 = 0.0; + static constexpr double d_5 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + + + eps = 0.2e1 * t162; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + + + eps = 0.2e1 * t162; + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + + + eps = t164 + t281; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + + + eps = t164 + t281; + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM06_SX_X : detail::BuiltinKernelImpl< BuiltinM06_SX_X > { + + BuiltinM06_SX_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_SX_X >(p) { } + + virtual ~BuiltinM06_SX_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m06_x.hpp b/include/exchcxx/impl/builtin/kernels/m06_x.hpp new file mode 100644 index 0000000..eaf032c --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m06_x.hpp @@ -0,0 +1,3559 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM06_X > : + public mgga_screening_interface< BuiltinM06_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 0.5877943; + static constexpr double a_1 = -0.1371776; + static constexpr double a_2 = 0.2682367; + static constexpr double a_3 = -2.515898; + static constexpr double a_4 = -2.978892; + static constexpr double a_5 = 8.710679; + static constexpr double a_6 = 16.88195; + static constexpr double a_7 = -4.489724; + static constexpr double a_8 = -32.99983; + static constexpr double a_9 = -14.49050; + static constexpr double a_10 = 20.43747; + static constexpr double a_11 = 12.56504; + static constexpr double d_0 = 0.1422057; + static constexpr double d_1 = 0.0007370319; + static constexpr double d_2 = -0.01601373; + static constexpr double d_3 = 0.0; + static constexpr double d_4 = 0.0; + static constexpr double d_5 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + + + eps = 0.2e1 * t162; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + + + eps = 0.2e1 * t162; + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + + + eps = t164 + t281; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + + + eps = t164 + t281; + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM06_X : detail::BuiltinKernelImpl< BuiltinM06_X > { + + BuiltinM06_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM06_X >(p) { } + + virtual ~BuiltinM06_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m08_hx_c.hpp b/include/exchcxx/impl/builtin/kernels/m08_hx_c.hpp new file mode 100644 index 0000000..6e458ba --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m08_hx_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM08_HX_C > : + public mgga_screening_interface< BuiltinM08_HX_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 1.0000000e+00; + static constexpr double m08_a_1 = -4.0661387e-01; + static constexpr double m08_a_2 = -3.3232530e+00; + static constexpr double m08_a_3 = 1.5540980e+00; + static constexpr double m08_a_4 = 4.4248033e+01; + static constexpr double m08_a_5 = -8.4351930e+01; + static constexpr double m08_a_6 = -1.1955581e+02; + static constexpr double m08_a_7 = 3.9147081e+02; + static constexpr double m08_a_8 = 1.8363851e+02; + static constexpr double m08_a_9 = -6.3268223e+02; + static constexpr double m08_a_10 = -1.1297403e+02; + static constexpr double m08_a_11 = 3.3629312e+02; + static constexpr double m08_b_0 = 1.3812334e+00; + static constexpr double m08_b_1 = -2.4683806e+00; + static constexpr double m08_b_2 = -1.1901501e+01; + static constexpr double m08_b_3 = -5.4112667e+01; + static constexpr double m08_b_4 = 1.0055846e+01; + static constexpr double m08_b_5 = 1.4800687e+02; + static constexpr double m08_b_6 = 1.1561420e+02; + static constexpr double m08_b_7 = 2.5591815e+02; + static constexpr double m08_b_8 = 2.1320772e+02; + static constexpr double m08_b_9 = -4.8412067e+02; + static constexpr double m08_b_10 = -4.3430813e+02; + static constexpr double m08_b_11 = 5.6627964e+01; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinM08_HX_C : detail::BuiltinKernelImpl< BuiltinM08_HX_C > { + + BuiltinM08_HX_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM08_HX_C >(p) { } + + virtual ~BuiltinM08_HX_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m08_hx_x.hpp b/include/exchcxx/impl/builtin/kernels/m08_hx_x.hpp new file mode 100644 index 0000000..b246468 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m08_hx_x.hpp @@ -0,0 +1,3724 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM08_HX_X > : + public mgga_screening_interface< BuiltinM08_HX_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 1.3340172e+00; + static constexpr double a_1 = -9.4751087e+00; + static constexpr double a_2 = -1.2541893e+01; + static constexpr double a_3 = 9.1369974e+00; + static constexpr double a_4 = 3.4717204e+01; + static constexpr double a_5 = 5.8831807e+01; + static constexpr double a_6 = 7.1369574e+01; + static constexpr double a_7 = 2.3312961e+01; + static constexpr double a_8 = 4.8314679e+00; + static constexpr double a_9 = -6.5044167e+00; + static constexpr double a_10 = -1.4058265e+01; + static constexpr double a_11 = 1.2880570e+01; + static constexpr double b_0 = -8.5631823e-01; + static constexpr double b_1 = 9.2810354e+00; + static constexpr double b_2 = 1.2260749e+01; + static constexpr double b_3 = -5.5189665e+00; + static constexpr double b_4 = -3.5534989e+01; + static constexpr double b_5 = -8.2049996e+01; + static constexpr double b_6 = -6.8586558e+01; + static constexpr double b_7 = 3.6085694e+01; + static constexpr double b_8 = -9.3740983e+00; + static constexpr double b_9 = -5.9731688e+01; + static constexpr double b_10 = 1.6587868e+01; + static constexpr double b_11 = 1.3993203e+01; + static constexpr double ax = 0.5223; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t161 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t157 ); + + + eps = 0.2e1 * t161; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + constexpr double t360 = t26 * t28; + constexpr double t371 = t42 * t28; + constexpr double t441 = t122 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t161 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t157 ); + const double t163 = t18 / t31; + const double t167 = t37 * t37; + const double t170 = 0.1e1 / t167 * t21 * t25; + const double t171 = t30 * rho; + const double t173 = 0.1e1 / t31 / t171; + const double t178 = t42 * tau; + const double t179 = t28 * t33; + const double t180 = t179 * t53; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t178 * t180 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t26 * sigma; + const double t264 = t28 * t173; + const double t265 = t118 * t155; + const double t269 = t122 * tau; + const double t272 = t123 * t59; + const double t275 = t125 * t50; + const double t276 = t275 * t59; + const double t279 = t126 * t65; + const double t282 = t128 * t56; + const double t283 = t282 * t65; + const double t286 = t129 * t71; + const double t289 = t131 * t62; + const double t290 = t289 * t71; + const double t293 = t132 * t77; + const double t296 = t134 * t68; + const double t297 = t296 * t77; + const double t300 = t135 * t83; + const double t303 = t137 * t74; + const double t304 = t303 * t83; + const double t307 = 0.5e1 / 0.3e1 * t269 * t180 + 0.5e1 / 0.3e1 * t272 * t184 + 0.1e2 / 0.3e1 * t276 * t184 + 0.1e2 / 0.3e1 * t279 * t184 + 0.5e1 * t283 * t184 + 0.5e1 * t286 * t184 + 0.2e2 / 0.3e1 * t290 * t184 + 0.2e2 / 0.3e1 * t293 * t184 + 0.25e2 / 0.3e1 * t297 * t184 + 0.25e2 / 0.3e1 * t300 * t184 + 0.1e2 * t304 * t184; + const double t308 = t138 * t89; + const double t311 = t140 * t80; + const double t312 = t311 * t89; + const double t315 = t141 * t95; + const double t318 = t143 * t86; + const double t319 = t318 * t95; + const double t322 = t144 * t101; + const double t325 = t146 * t92; + const double t326 = t325 * t101; + const double t329 = t147 * t107; + const double t332 = t149 * t98; + const double t333 = t332 * t107; + const double t336 = t150 * t113; + const double t339 = t152 * t104; + const double t340 = t339 * t113; + const double t343 = t153 * t256; + const double t346 = 0.1e2 * t308 * t184 + 0.35e2 / 0.3e1 * t312 * t184 + 0.35e2 / 0.3e1 * t315 * t184 + 0.4e2 / 0.3e1 * t319 * t184 + 0.4e2 / 0.3e1 * t322 * t184 + 0.15e2 * t326 * t184 + 0.15e2 * t329 * t184 + 0.5e2 / 0.3e1 * t333 * t184 + 0.5e2 / 0.3e1 * t336 * t184 + 0.55e2 / 0.3e1 * t340 * t184 + 0.55e2 / 0.3e1 * t343 * t184; + const double t347 = t307 + t346; + const double t349 = -0.1576608624e-1 * t170 * t29 * t173 * t115 + t40 * t261 - 0.13717421124828532236e-1 * t263 * t264 * t265 + t120 * t347; + const double t354 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t157 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t349 ); + const double t361 = t33 * t118; + const double t365 = 0.591228234e-2 * t170 * t179 * t115 + 0.51440329218106995885e-2 * t360 * t361 * t155; + const double t369 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t365 ); + const double t372 = t48 * t53; + const double t374 = t59 * t28; + const double t375 = t374 * t48; + const double t379 = t65 * t28; + const double t380 = t379 * t48; + const double t385 = t71 * t28; + const double t386 = t385 * t48; + const double t391 = t77 * t28; + const double t392 = t391 * t48; + const double t397 = t83 * t28; + const double t398 = t397 * t48; + const double t403 = -0.2e1 * t187 * t375 - 0.3e1 * t194 * t380 - 0.4e1 * t201 * t386 - 0.5e1 * t208 * t392 - 0.6e1 * t215 * t398 - t371 * t372 - t51 * t375 - 0.2e1 * t57 * t380 - 0.3e1 * t63 * t386 - 0.4e1 * t69 * t392 - 0.5e1 * t75 * t398; + const double t404 = t89 * t28; + const double t405 = t404 * t48; + const double t410 = t95 * t28; + const double t411 = t410 * t48; + const double t416 = t101 * t28; + const double t417 = t416 * t48; + const double t422 = t107 * t28; + const double t423 = t422 * t48; + const double t428 = t113 * t28; + const double t429 = t428 * t48; + const double t434 = t256 * t28; + const double t435 = t434 * t48; + const double t438 = -0.1e2 * t105 * t429 - 0.11e2 * t111 * t435 - 0.7e1 * t223 * t405 - 0.8e1 * t230 * t411 - 0.9e1 * t237 * t417 - 0.1e2 * t244 * t423 - 0.11e2 * t251 * t429 - 0.6e1 * t81 * t405 - 0.7e1 * t87 * t411 - 0.8e1 * t93 * t417 - 0.9e1 * t99 * t423; + const double t439 = t403 + t438; + const double t462 = -t123 * t375 - 0.2e1 * t126 * t380 - 0.3e1 * t129 * t386 - 0.4e1 * t132 * t392 - 0.5e1 * t135 * t398 - 0.2e1 * t275 * t375 - 0.3e1 * t282 * t380 - 0.4e1 * t289 * t386 - 0.5e1 * t296 * t392 - 0.6e1 * t303 * t398 - t441 * t372; + const double t485 = -0.6e1 * t138 * t405 - 0.7e1 * t141 * t411 - 0.8e1 * t144 * t417 - 0.9e1 * t147 * t423 - 0.1e2 * t150 * t429 - 0.11e2 * t153 * t435 - 0.7e1 * t311 * t405 - 0.8e1 * t318 * t411 - 0.9e1 * t325 * t417 - 0.1e2 * t332 * t423 - 0.11e2 * t339 * t429; + const double t486 = t462 + t485; + const double t488 = t120 * t486 + t40 * t439; + const double t492 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t488 ); + + + eps = 0.2e1 * t161; + vrho = 0.2e1 * rho * t354 + 0.2e1 * t161; + vsigma = 0.2e1 * rho * t369; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t492; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + constexpr double t360 = t26 * t28; + constexpr double t371 = t42 * t28; + constexpr double t441 = t122 * t28; + constexpr double t506 = 0.1e1 / t23 / t22; + constexpr double t701 = t43 * t506; + constexpr double t897 = t701 * t27; + constexpr double t1044 = t42 * t27; + constexpr double t1169 = t122 * t27; + constexpr double t1217 = t55 * t27; + constexpr double t1363 = t125 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t163 = t18 / t31; + const double t167 = t37 * t37; + const double t170 = 0.1e1 / t167 * t21 * t25; + const double t171 = t30 * rho; + const double t173 = 0.1e1 / t31 / t171; + const double t178 = t42 * tau; + const double t179 = t28 * t33; + const double t180 = t179 * t53; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t178 * t180 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t26 * sigma; + const double t264 = t28 * t173; + const double t265 = t118 * t155; + const double t269 = t122 * tau; + const double t272 = t123 * t59; + const double t275 = t125 * t50; + const double t276 = t275 * t59; + const double t279 = t126 * t65; + const double t282 = t128 * t56; + const double t283 = t282 * t65; + const double t286 = t129 * t71; + const double t289 = t131 * t62; + const double t290 = t289 * t71; + const double t293 = t132 * t77; + const double t296 = t134 * t68; + const double t297 = t296 * t77; + const double t300 = t135 * t83; + const double t303 = t137 * t74; + const double t304 = t303 * t83; + const double t307 = 0.5e1 / 0.3e1 * t269 * t180 + 0.5e1 / 0.3e1 * t272 * t184 + 0.1e2 / 0.3e1 * t276 * t184 + 0.1e2 / 0.3e1 * t279 * t184 + 0.5e1 * t283 * t184 + 0.5e1 * t286 * t184 + 0.2e2 / 0.3e1 * t290 * t184 + 0.2e2 / 0.3e1 * t293 * t184 + 0.25e2 / 0.3e1 * t297 * t184 + 0.25e2 / 0.3e1 * t300 * t184 + 0.1e2 * t304 * t184; + const double t308 = t138 * t89; + const double t311 = t140 * t80; + const double t312 = t311 * t89; + const double t315 = t141 * t95; + const double t318 = t143 * t86; + const double t319 = t318 * t95; + const double t322 = t144 * t101; + const double t325 = t146 * t92; + const double t326 = t325 * t101; + const double t329 = t147 * t107; + const double t332 = t149 * t98; + const double t333 = t332 * t107; + const double t336 = t150 * t113; + const double t339 = t152 * t104; + const double t340 = t339 * t113; + const double t343 = t153 * t256; + const double t346 = 0.1e2 * t308 * t184 + 0.35e2 / 0.3e1 * t312 * t184 + 0.35e2 / 0.3e1 * t315 * t184 + 0.4e2 / 0.3e1 * t319 * t184 + 0.4e2 / 0.3e1 * t322 * t184 + 0.15e2 * t326 * t184 + 0.15e2 * t329 * t184 + 0.5e2 / 0.3e1 * t333 * t184 + 0.5e2 / 0.3e1 * t336 * t184 + 0.55e2 / 0.3e1 * t340 * t184 + 0.55e2 / 0.3e1 * t343 * t184; + const double t347 = t307 + t346; + const double t349 = -0.1576608624e-1 * t170 * t29 * t173 * t115 + t40 * t261 - 0.13717421124828532236e-1 * t263 * t264 * t265 + t120 * t347; + const double t354 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t157 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t349 ); + const double t361 = t33 * t118; + const double t365 = 0.591228234e-2 * t170 * t179 * t115 + 0.51440329218106995885e-2 * t360 * t361 * t155; + const double t369 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t365 ); + const double t372 = t48 * t53; + const double t374 = t59 * t28; + const double t375 = t374 * t48; + const double t379 = t65 * t28; + const double t380 = t379 * t48; + const double t385 = t71 * t28; + const double t386 = t385 * t48; + const double t391 = t77 * t28; + const double t392 = t391 * t48; + const double t397 = t83 * t28; + const double t398 = t397 * t48; + const double t403 = -0.2e1 * t187 * t375 - 0.3e1 * t194 * t380 - 0.4e1 * t201 * t386 - 0.5e1 * t208 * t392 - 0.6e1 * t215 * t398 - t371 * t372 - t51 * t375 - 0.2e1 * t57 * t380 - 0.3e1 * t63 * t386 - 0.4e1 * t69 * t392 - 0.5e1 * t75 * t398; + const double t404 = t89 * t28; + const double t405 = t404 * t48; + const double t410 = t95 * t28; + const double t411 = t410 * t48; + const double t416 = t101 * t28; + const double t417 = t416 * t48; + const double t422 = t107 * t28; + const double t423 = t422 * t48; + const double t428 = t113 * t28; + const double t429 = t428 * t48; + const double t434 = t256 * t28; + const double t435 = t434 * t48; + const double t438 = -0.1e2 * t105 * t429 - 0.11e2 * t111 * t435 - 0.7e1 * t223 * t405 - 0.8e1 * t230 * t411 - 0.9e1 * t237 * t417 - 0.1e2 * t244 * t423 - 0.11e2 * t251 * t429 - 0.6e1 * t81 * t405 - 0.7e1 * t87 * t411 - 0.8e1 * t93 * t417 - 0.9e1 * t99 * t423; + const double t439 = t403 + t438; + const double t462 = -t123 * t375 - 0.2e1 * t126 * t380 - 0.3e1 * t129 * t386 - 0.4e1 * t132 * t392 - 0.5e1 * t135 * t398 - 0.2e1 * t275 * t375 - 0.3e1 * t282 * t380 - 0.4e1 * t289 * t386 - 0.5e1 * t296 * t392 - 0.6e1 * t303 * t398 - t441 * t372; + const double t485 = -0.6e1 * t138 * t405 - 0.7e1 * t141 * t411 - 0.8e1 * t144 * t417 - 0.9e1 * t147 * t423 - 0.1e2 * t150 * t429 - 0.11e2 * t153 * t435 - 0.7e1 * t311 * t405 - 0.8e1 * t318 * t411 - 0.9e1 * t325 * t417 - 0.1e2 * t332 * t423 - 0.11e2 * t339 * t429; + const double t486 = t462 + t485; + const double t488 = t120 * t486 + t40 * t439; + const double t492 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t488 ); + const double t495 = t18 * t48; + const double t507 = 0.1e1 / t167 / t37 * t43 * t506; + const double t508 = sigma * sigma; + const double t509 = t508 * t27; + const double t510 = t30 * t30; + const double t511 = t510 * t171; + const double t513 = 0.1e1 / t19 / t511; + const double t519 = 0.1e1 / t31 / t510; + const double t528 = tau * tau; + const double t529 = t42 * t528; + const double t530 = t510 * rho; + const double t532 = 0.1e1 / t19 / t530; + const double t533 = t27 * t532; + const double t534 = t533 * t59; + const double t537 = t55 * t528; + const double t540 = t264 * t53; + const double t543 = t237 * t107; + const double t544 = t528 * t27; + const double t545 = t544 * t532; + const double t548 = t99 * t113; + const double t551 = t103 * t92; + const double t552 = t551 * t107; + const double t555 = t244 * t113; + const double t558 = t105 * t256; + const double t561 = t109 * t98; + const double t562 = t561 * t113; + const double t565 = t251 * t256; + const double t569 = 0.1e1 / t94 / t76; + const double t570 = t111 * t569; + const double t573 = t73 * t62; + const double t574 = t573 * t77; + const double t577 = t208 * t83; + const double t580 = 0.1e3 / 0.9e1 * t529 * t534 + 0.1e3 / 0.9e1 * t537 * t534 - 0.4e2 / 0.9e1 * t178 * t540 + 0.9e3 * t543 * t545 + 0.5e3 * t548 * t545 + 0.5e3 * t552 * t545 + 0.1e5 / 0.9e1 * t555 * t545 + 0.55e4 / 0.9e1 * t558 * t545 + 0.55e4 / 0.9e1 * t562 * t545 + 0.121e5 / 0.9e1 * t565 * t545 + 0.22e4 / 0.3e1 * t570 * t545 + 0.1e4 / 0.9e1 * t574 * t545 + 0.25e4 / 0.9e1 * t577 * t545; + const double t581 = t75 * t89; + const double t584 = t79 * t68; + const double t585 = t584 * t83; + const double t588 = t215 * t89; + const double t591 = t81 * t95; + const double t594 = t85 * t74; + const double t595 = t594 * t89; + const double t598 = t223 * t95; + const double t601 = t87 * t101; + const double t604 = t91 * t80; + const double t605 = t604 * t95; + const double t608 = t230 * t101; + const double t611 = t93 * t107; + const double t614 = t51 * t65; + const double t617 = t187 * t65; + const double t620 = t57 * t71; + const double t623 = t61 * t50; + const double t624 = t623 * t65; + const double t627 = 0.5e3 / 0.3e1 * t581 * t545 + 0.5e3 / 0.3e1 * t585 * t545 + 0.4e3 * t588 * t545 + 0.7e3 / 0.3e1 * t591 * t545 + 0.7e3 / 0.3e1 * t595 * t545 + 0.49e4 / 0.9e1 * t598 * t545 + 0.28e4 / 0.9e1 * t601 * t545 + 0.28e4 / 0.9e1 * t605 * t545 + 0.64e4 / 0.9e1 * t608 * t545 + 0.4e3 * t611 * t545 + 0.1e3 / 0.9e1 * t614 * t545 + 0.4e3 / 0.9e1 * t617 * t545 + 0.1e3 / 0.3e1 * t620 * t545 + 0.1e3 / 0.3e1 * t624 * t545; + const double t629 = t194 * t71; + const double t632 = t63 * t77; + const double t635 = t67 * t56; + const double t636 = t635 * t71; + const double t639 = t201 * t77; + const double t642 = t69 * t83; + const double t645 = t46 * t173; + const double t662 = 0.1e3 * t629 * t545 + 0.2e3 / 0.3e1 * t632 * t545 + 0.2e3 / 0.3e1 * t636 * t545 + 0.16e4 / 0.9e1 * t639 * t545 + 0.1e4 / 0.9e1 * t642 * t545 - 0.4e2 * t241 * t645 - 0.4e3 / 0.9e1 * t245 * t645 - 0.4e3 / 0.9e1 * t248 * t645 - 0.44e3 / 0.9e1 * t252 * t645 - 0.44e3 / 0.9e1 * t257 * t645 - 0.2e3 / 0.9e1 * t212 * t645 - 0.8e2 / 0.3e1 * t216 * t645 - 0.8e2 / 0.3e1 * t220 * t645; + const double t689 = t97 * t86; + const double t690 = t689 * t101; + const double t693 = -0.28e3 / 0.9e1 * t224 * t645 - 0.28e3 / 0.9e1 * t227 * t645 - 0.32e3 / 0.9e1 * t231 * t645 - 0.32e3 / 0.9e1 * t234 * t645 - 0.4e2 * t238 * t645 - 0.4e2 / 0.9e1 * t183 * t645 - 0.8e2 / 0.9e1 * t188 * t645 - 0.8e2 / 0.9e1 * t191 * t645 - 0.4e2 / 0.3e1 * t195 * t645 - 0.4e2 / 0.3e1 * t198 * t645 - 0.16e3 / 0.9e1 * t202 * t645 - 0.16e3 / 0.9e1 * t205 * t645 - 0.2e3 / 0.9e1 * t209 * t645 + 0.4e3 * t690 * t545; + const double t695 = t580 + t627 + t662 + t693; + const double t697 = t28 * t519; + const double t702 = t701 * t508; + const double t703 = t27 * t513; + const double t707 = t118 * t347; + const double t711 = t122 * t528; + const double t714 = t125 * t528; + const double t719 = t153 * t569; + const double t722 = t141 * t101; + const double t725 = t143 * t80; + const double t726 = t725 * t95; + const double t729 = t318 * t101; + const double t732 = t144 * t107; + const double t735 = t146 * t86; + const double t736 = t735 * t101; + const double t739 = t325 * t107; + const double t742 = t147 * t113; + const double t745 = t149 * t92; + const double t746 = t745 * t107; + const double t749 = t332 * t113; + const double t752 = 0.1e3 / 0.9e1 * t711 * t534 + 0.1e3 / 0.9e1 * t714 * t534 - 0.4e2 / 0.9e1 * t269 * t540 + 0.22e4 / 0.3e1 * t719 * t545 + 0.28e4 / 0.9e1 * t722 * t545 + 0.28e4 / 0.9e1 * t726 * t545 + 0.64e4 / 0.9e1 * t729 * t545 + 0.4e3 * t732 * t545 + 0.4e3 * t736 * t545 + 0.9e3 * t739 * t545 + 0.5e3 * t742 * t545 + 0.5e3 * t746 * t545 + 0.1e5 / 0.9e1 * t749 * t545; + const double t753 = t150 * t256; + const double t756 = t152 * t98; + const double t757 = t756 * t113; + const double t760 = t339 * t256; + const double t763 = t129 * t77; + const double t766 = t131 * t56; + const double t767 = t766 * t71; + const double t770 = t289 * t77; + const double t773 = t132 * t83; + const double t776 = t134 * t62; + const double t777 = t776 * t77; + const double t780 = t296 * t83; + const double t783 = t135 * t89; + const double t786 = t137 * t68; + const double t787 = t786 * t83; + const double t790 = t303 * t89; + const double t793 = t138 * t95; + const double t796 = t140 * t74; + const double t797 = t796 * t89; + const double t800 = 0.55e4 / 0.9e1 * t753 * t545 + 0.55e4 / 0.9e1 * t757 * t545 + 0.121e5 / 0.9e1 * t760 * t545 + 0.2e3 / 0.3e1 * t763 * t545 + 0.2e3 / 0.3e1 * t767 * t545 + 0.16e4 / 0.9e1 * t770 * t545 + 0.1e4 / 0.9e1 * t773 * t545 + 0.1e4 / 0.9e1 * t777 * t545 + 0.25e4 / 0.9e1 * t780 * t545 + 0.5e3 / 0.3e1 * t783 * t545 + 0.5e3 / 0.3e1 * t787 * t545 + 0.4e3 * t790 * t545 + 0.7e3 / 0.3e1 * t793 * t545 + 0.7e3 / 0.3e1 * t797 * t545; + const double t802 = t311 * t95; + const double t807 = t123 * t65; + const double t810 = t275 * t65; + const double t813 = t126 * t71; + const double t816 = t128 * t50; + const double t817 = t816 * t65; + const double t820 = t282 * t71; + const double t835 = 0.49e4 / 0.9e1 * t802 * t545 - 0.4e2 / 0.3e1 * t283 * t645 + 0.1e3 / 0.9e1 * t807 * t545 + 0.4e3 / 0.9e1 * t810 * t545 + 0.1e3 / 0.3e1 * t813 * t545 + 0.1e3 / 0.3e1 * t817 * t545 + 0.1e3 * t820 * t545 - 0.32e3 / 0.9e1 * t319 * t645 - 0.32e3 / 0.9e1 * t322 * t645 - 0.4e2 * t326 * t645 - 0.4e2 * t329 * t645 - 0.4e3 / 0.9e1 * t333 * t645 - 0.4e3 / 0.9e1 * t336 * t645; + const double t864 = -0.44e3 / 0.9e1 * t340 * t645 - 0.44e3 / 0.9e1 * t343 * t645 - 0.4e2 / 0.3e1 * t286 * t645 - 0.16e3 / 0.9e1 * t290 * t645 - 0.16e3 / 0.9e1 * t293 * t645 - 0.2e3 / 0.9e1 * t297 * t645 - 0.2e3 / 0.9e1 * t300 * t645 - 0.8e2 / 0.3e1 * t304 * t645 - 0.8e2 / 0.3e1 * t308 * t645 - 0.28e3 / 0.9e1 * t312 * t645 - 0.28e3 / 0.9e1 * t315 * t645 - 0.4e2 / 0.9e1 * t272 * t645 - 0.8e2 / 0.9e1 * t276 * t645 - 0.8e2 / 0.9e1 * t279 * t645; + const double t866 = t752 + t800 + t835 + t864; + const double t868 = -0.15381393735744e-2 * t507 * t509 * t513 * t115 + 0.5780898288e-1 * t170 * t29 * t519 * t115 - 0.3153217248e-1 * t170 * t29 * t173 * t261 + t40 * t695 + 0.50297210791037951532e-1 * t263 * t697 * t265 - 0.68176681998511621221e-3 * t702 * t703 * t265 - 0.27434842249657064472e-1 * t263 * t264 * t707 + t120 * t866; + const double t873 = piecewise_functor_3( t3, 0.0, t7 * t495 * t157 / 0.12e2 - t7 * t163 * t349 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t868 ); + const double t879 = t510 * t30; + const double t881 = 0.1e1 / t19 / t879; + const double t882 = t27 * t881; + const double t883 = t115 * sigma; + const double t893 = t173 * t118; + const double t898 = t881 * sigma; + const double t905 = 0.5768022650904e-3 * t507 * t882 * t883 - 0.1576608624e-1 * t170 * t264 * t115 + 0.591228234e-2 * t170 * t179 * t261 - 0.13717421124828532236e-1 * t360 * t893 * t155 + 0.25566255749441857958e-3 * t897 * t898 * t265 + 0.51440329218106995885e-2 * t360 * t361 * t347; + const double t910 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t365 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t905 ); + const double t920 = t422 * t33; + const double t925 = t428 * t33; + const double t930 = t434 * t33; + const double t933 = t397 * t33; + const double t936 = t404 * t33; + const double t942 = 0.1e1 / t19 / t510; + const double t943 = t27 * t942; + const double t944 = t943 * tau; + const double t955 = 0.15e2 * t99 * t920 + 0.5e2 / 0.3e1 * t244 * t920 + 0.5e2 / 0.3e1 * t105 * t925 + 0.55e2 / 0.3e1 * t251 * t925 + 0.55e2 / 0.3e1 * t111 * t930 + 0.1e2 * t215 * t933 + 0.1e2 * t81 * t936 + 0.35e2 / 0.3e1 * t223 * t936 - 0.6e2 * t629 * t944 - 0.4e2 * t632 * t944 - 0.4e2 * t636 * t944 - 0.32e3 / 0.3e1 * t639 * t944 - 0.2e3 / 0.3e1 * t642 * t944; + const double t984 = -0.2e3 / 0.3e1 * t574 * t944 - 0.5e3 / 0.3e1 * t577 * t944 - 0.1e3 * t581 * t944 - 0.2e2 / 0.3e1 * t614 * t944 - 0.8e2 / 0.3e1 * t617 * t944 - 0.3e3 * t552 * t944 - 0.2e4 / 0.3e1 * t555 * t944 - 0.11e4 / 0.3e1 * t558 * t944 - 0.11e4 / 0.3e1 * t562 * t944 - 0.242e4 / 0.3e1 * t565 * t944 - 0.44e3 * t570 * t944 - 0.1e3 * t585 * t944 - 0.24e3 * t588 * t944 - 0.14e3 * t591 * t944; + const double t1008 = t33 * t53; + const double t1011 = t410 * t33; + const double t1014 = -0.14e3 * t595 * t944 - 0.98e3 / 0.3e1 * t598 * t944 - 0.56e3 / 0.3e1 * t601 * t944 - 0.56e3 / 0.3e1 * t605 * t944 - 0.128e4 / 0.3e1 * t608 * t944 - 0.24e3 * t611 * t944 - 0.24e3 * t690 * t944 - 0.2e2 * t620 * t944 - 0.2e2 * t624 * t944 - 0.54e3 * t543 * t944 - 0.3e3 * t548 * t944 + 0.5e1 / 0.3e1 * t371 * t1008 + 0.35e2 / 0.3e1 * t87 * t1011; + const double t1017 = t416 * t33; + const double t1022 = t379 * t33; + const double t1025 = t385 * t33; + const double t1030 = t391 * t33; + const double t1037 = t374 * t33; + const double t1045 = t942 * t59; + const double t1046 = t1045 * tau; + const double t1049 = t55 * tau; + const double t1050 = t943 * t59; + const double t1053 = 0.4e2 / 0.3e1 * t230 * t1011 + 0.4e2 / 0.3e1 * t93 * t1017 + 0.15e2 * t237 * t1017 + 0.5e1 * t194 * t1022 + 0.5e1 * t63 * t1025 + 0.2e2 / 0.3e1 * t201 * t1025 + 0.2e2 / 0.3e1 * t69 * t1030 + 0.25e2 / 0.3e1 * t208 * t1030 + 0.25e2 / 0.3e1 * t75 * t933 + 0.5e1 / 0.3e1 * t51 * t1037 + 0.1e2 / 0.3e1 * t187 * t1037 + 0.1e2 / 0.3e1 * t57 * t1022 - 0.2e2 / 0.3e1 * t1044 * t1046 - 0.2e2 / 0.3e1 * t1049 * t1050; + const double t1055 = t955 + t984 + t1014 + t1053; + const double t1057 = t118 * t486; + const double t1087 = -0.2e2 / 0.3e1 * t807 * t944 - 0.2e3 / 0.3e1 * t777 * t944 - 0.5e3 / 0.3e1 * t780 * t944 - 0.1e3 * t783 * t944 - 0.1e3 * t787 * t944 - 0.24e3 * t790 * t944 - 0.14e3 * t793 * t944 - 0.14e3 * t797 * t944 - 0.98e3 / 0.3e1 * t802 * t944 - 0.56e3 / 0.3e1 * t722 * t944 - 0.56e3 / 0.3e1 * t726 * t944 - 0.128e4 / 0.3e1 * t729 * t944 - 0.8e2 / 0.3e1 * t810 * t944; + const double t1116 = -0.2e2 * t813 * t944 - 0.2e2 * t817 * t944 - 0.6e2 * t820 * t944 - 0.4e2 * t763 * t944 - 0.4e2 * t767 * t944 - 0.32e3 / 0.3e1 * t770 * t944 - 0.2e3 / 0.3e1 * t773 * t944 - 0.44e3 * t719 * t944 - 0.24e3 * t732 * t944 - 0.24e3 * t736 * t944 - 0.54e3 * t739 * t944 - 0.3e3 * t742 * t944 - 0.3e3 * t746 * t944 - 0.2e4 / 0.3e1 * t749 * t944; + const double t1144 = -0.11e4 / 0.3e1 * t753 * t944 - 0.11e4 / 0.3e1 * t757 * t944 - 0.242e4 / 0.3e1 * t760 * t944 + 0.5e1 / 0.3e1 * t441 * t1008 + 0.4e2 / 0.3e1 * t144 * t1017 + 0.15e2 * t325 * t1017 + 0.15e2 * t147 * t920 + 0.5e2 / 0.3e1 * t332 * t920 + 0.5e2 / 0.3e1 * t150 * t925 + 0.55e2 / 0.3e1 * t339 * t925 + 0.55e2 / 0.3e1 * t153 * t930 + 0.25e2 / 0.3e1 * t135 * t933 + 0.1e2 * t303 * t933; + const double t1172 = t125 * tau; + const double t1175 = 0.1e2 * t138 * t936 + 0.35e2 / 0.3e1 * t311 * t936 + 0.35e2 / 0.3e1 * t141 * t1011 + 0.4e2 / 0.3e1 * t318 * t1011 + 0.1e2 / 0.3e1 * t275 * t1037 + 0.1e2 / 0.3e1 * t126 * t1022 + 0.5e1 * t282 * t1022 + 0.5e1 * t129 * t1025 + 0.2e2 / 0.3e1 * t289 * t1025 + 0.2e2 / 0.3e1 * t132 * t1030 + 0.25e2 / 0.3e1 * t296 * t1030 + 0.5e1 / 0.3e1 * t123 * t1037 - 0.2e2 / 0.3e1 * t1169 * t1046 - 0.2e2 / 0.3e1 * t1172 * t1050; + const double t1177 = t1087 + t1116 + t1144 + t1175; + const double t1179 = -0.1576608624e-1 * t170 * t29 * t173 * t439 + t40 * t1055 - 0.13717421124828532236e-1 * t263 * t264 * t1057 + t120 * t1177; + const double t1184 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t488 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1179 ); + const double t1190 = t532 * t118; + const double t1194 = -0.2163008494089e-3 * t507 * t533 * t115 - 0.95873459060406967341e-4 * t897 * t1190 * t155; + const double t1198 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1194 ); + const double t1206 = 0.591228234e-2 * t170 * t179 * t439 + 0.51440329218106995885e-2 * t360 * t361 * t486; + const double t1210 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1206 ); + const double t1213 = 0.1e1 / t19 / t171; + const double t1214 = t1213 * t59; + const double t1220 = t89 * t27; + const double t1221 = t1220 * t1213; + const double t1224 = t95 * t27; + const double t1225 = t1224 * t1213; + const double t1228 = t101 * t27; + const double t1229 = t1228 * t1213; + const double t1236 = t107 * t27; + const double t1237 = t1236 * t1213; + const double t1244 = t113 * t27; + const double t1245 = t1244 * t1213; + const double t1252 = t256 * t27; + const double t1253 = t1252 * t1213; + const double t1260 = 0.4e1 * t1044 * t1214 + 0.22e3 * t105 * t1253 + 0.4e1 * t1217 * t1214 + 0.84e2 * t594 * t1221 + 0.196e3 * t223 * t1225 + 0.112e3 * t604 * t1225 + 0.256e3 * t230 * t1229 + 0.144e3 * t689 * t1229 + 0.112e3 * t87 * t1229 + 0.324e3 * t237 * t1237 + 0.18e3 * t551 * t1237 + 0.144e3 * t93 * t1237 + 0.4e3 * t244 * t1245 + 0.22e3 * t561 * t1245 + 0.18e3 * t99 * t1245 + 0.484e3 * t251 * t1253; + const double t1261 = t569 * t27; + const double t1262 = t1261 * t1213; + const double t1265 = t65 * t27; + const double t1266 = t1265 * t1213; + const double t1271 = t71 * t27; + const double t1272 = t1271 * t1213; + const double t1279 = t77 * t27; + const double t1280 = t1279 * t1213; + const double t1287 = t83 * t27; + const double t1288 = t1287 * t1213; + const double t1303 = 0.264e3 * t111 * t1262 + 0.144e3 * t215 * t1221 + 0.6e2 * t75 * t1221 + 0.84e2 * t81 * t1225 + 0.16e2 * t187 * t1266 + 0.4e1 * t51 * t1266 + 0.12e2 * t623 * t1266 + 0.36e2 * t194 * t1272 + 0.12e2 * t57 * t1272 + 0.24e2 * t635 * t1272 + 0.64e2 * t201 * t1280 + 0.4e2 * t573 * t1280 + 0.24e2 * t63 * t1280 + 0.1e3 * t208 * t1288 + 0.6e2 * t584 * t1288 + 0.4e2 * t69 * t1288; + const double t1304 = t1260 + t1303; + const double t1338 = 0.18e3 * t745 * t1237 + 0.18e3 * t147 * t1245 + 0.4e3 * t332 * t1245 + 0.22e3 * t756 * t1245 + 0.22e3 * t150 * t1253 + 0.484e3 * t339 * t1253 + 0.12e2 * t126 * t1272 + 0.264e3 * t153 * t1262 + 0.16e2 * t275 * t1266 + 0.12e2 * t816 * t1266 + 0.36e2 * t282 * t1272 + 0.24e2 * t766 * t1272 + 0.24e2 * t129 * t1280 + 0.64e2 * t289 * t1280 + 0.4e2 * t776 * t1280 + 0.4e2 * t132 * t1288; + const double t1372 = 0.4e1 * t1169 * t1214 + 0.4e1 * t1363 * t1214 + 0.6e2 * t135 * t1221 + 0.144e3 * t303 * t1221 + 0.84e2 * t796 * t1221 + 0.84e2 * t138 * t1225 + 0.196e3 * t311 * t1225 + 0.112e3 * t725 * t1225 + 0.112e3 * t141 * t1229 + 0.256e3 * t318 * t1229 + 0.144e3 * t735 * t1229 + 0.4e1 * t123 * t1266 + 0.144e3 * t144 * t1237 + 0.324e3 * t325 * t1237 + 0.1e3 * t296 * t1288 + 0.6e2 * t786 * t1288; + const double t1373 = t1338 + t1372; + const double t1375 = t120 * t1373 + t40 * t1304; + const double t1379 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1375 ); + + + v2rho2 = 0.2e1 * rho * t873 + 0.4e1 * t354; + v2rhosigma = 0.2e1 * rho * t910 + 0.2e1 * t369; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1184 + 0.2e1 * t492; + v2sigma2 = 0.2e1 * rho * t1198; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1210; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1379; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + constexpr double t360 = t26 * t28; + constexpr double t371 = t42 * t28; + constexpr double t441 = t122 * t28; + constexpr double t506 = 0.1e1 / t23 / t22; + constexpr double t701 = t43 * t506; + constexpr double t897 = t701 * t27; + constexpr double t1044 = t42 * t27; + constexpr double t1169 = t122 * t27; + constexpr double t1217 = t55 * t27; + constexpr double t1363 = t125 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t161 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t157 ); + const double t163 = t18 / t31; + const double t167 = t37 * t37; + const double t170 = 0.1e1 / t167 * t21 * t25; + const double t171 = t30 * rho; + const double t173 = 0.1e1 / t31 / t171; + const double t178 = t42 * tau; + const double t179 = t28 * t33; + const double t180 = t179 * t53; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t178 * t180 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t26 * sigma; + const double t264 = t28 * t173; + const double t265 = t118 * t155; + const double t269 = t122 * tau; + const double t272 = t123 * t59; + const double t275 = t125 * t50; + const double t276 = t275 * t59; + const double t279 = t126 * t65; + const double t282 = t128 * t56; + const double t283 = t282 * t65; + const double t286 = t129 * t71; + const double t289 = t131 * t62; + const double t290 = t289 * t71; + const double t293 = t132 * t77; + const double t296 = t134 * t68; + const double t297 = t296 * t77; + const double t300 = t135 * t83; + const double t303 = t137 * t74; + const double t304 = t303 * t83; + const double t307 = 0.5e1 / 0.3e1 * t269 * t180 + 0.5e1 / 0.3e1 * t272 * t184 + 0.1e2 / 0.3e1 * t276 * t184 + 0.1e2 / 0.3e1 * t279 * t184 + 0.5e1 * t283 * t184 + 0.5e1 * t286 * t184 + 0.2e2 / 0.3e1 * t290 * t184 + 0.2e2 / 0.3e1 * t293 * t184 + 0.25e2 / 0.3e1 * t297 * t184 + 0.25e2 / 0.3e1 * t300 * t184 + 0.1e2 * t304 * t184; + const double t308 = t138 * t89; + const double t311 = t140 * t80; + const double t312 = t311 * t89; + const double t315 = t141 * t95; + const double t318 = t143 * t86; + const double t319 = t318 * t95; + const double t322 = t144 * t101; + const double t325 = t146 * t92; + const double t326 = t325 * t101; + const double t329 = t147 * t107; + const double t332 = t149 * t98; + const double t333 = t332 * t107; + const double t336 = t150 * t113; + const double t339 = t152 * t104; + const double t340 = t339 * t113; + const double t343 = t153 * t256; + const double t346 = 0.1e2 * t308 * t184 + 0.35e2 / 0.3e1 * t312 * t184 + 0.35e2 / 0.3e1 * t315 * t184 + 0.4e2 / 0.3e1 * t319 * t184 + 0.4e2 / 0.3e1 * t322 * t184 + 0.15e2 * t326 * t184 + 0.15e2 * t329 * t184 + 0.5e2 / 0.3e1 * t333 * t184 + 0.5e2 / 0.3e1 * t336 * t184 + 0.55e2 / 0.3e1 * t340 * t184 + 0.55e2 / 0.3e1 * t343 * t184; + const double t347 = t307 + t346; + const double t349 = -0.1576608624e-1 * t170 * t29 * t173 * t115 + t40 * t261 - 0.13717421124828532236e-1 * t263 * t264 * t265 + t120 * t347; + const double t354 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t157 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t349 ); + const double t361 = t33 * t118; + const double t365 = 0.591228234e-2 * t170 * t179 * t115 + 0.51440329218106995885e-2 * t360 * t361 * t155; + const double t369 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t365 ); + const double t372 = t48 * t53; + const double t374 = t59 * t28; + const double t375 = t374 * t48; + const double t379 = t65 * t28; + const double t380 = t379 * t48; + const double t385 = t71 * t28; + const double t386 = t385 * t48; + const double t391 = t77 * t28; + const double t392 = t391 * t48; + const double t397 = t83 * t28; + const double t398 = t397 * t48; + const double t403 = -0.2e1 * t187 * t375 - 0.3e1 * t194 * t380 - 0.4e1 * t201 * t386 - 0.5e1 * t208 * t392 - 0.6e1 * t215 * t398 - t371 * t372 - t51 * t375 - 0.2e1 * t57 * t380 - 0.3e1 * t63 * t386 - 0.4e1 * t69 * t392 - 0.5e1 * t75 * t398; + const double t404 = t89 * t28; + const double t405 = t404 * t48; + const double t410 = t95 * t28; + const double t411 = t410 * t48; + const double t416 = t101 * t28; + const double t417 = t416 * t48; + const double t422 = t107 * t28; + const double t423 = t422 * t48; + const double t428 = t113 * t28; + const double t429 = t428 * t48; + const double t434 = t256 * t28; + const double t435 = t434 * t48; + const double t438 = -0.1e2 * t105 * t429 - 0.11e2 * t111 * t435 - 0.7e1 * t223 * t405 - 0.8e1 * t230 * t411 - 0.9e1 * t237 * t417 - 0.1e2 * t244 * t423 - 0.11e2 * t251 * t429 - 0.6e1 * t81 * t405 - 0.7e1 * t87 * t411 - 0.8e1 * t93 * t417 - 0.9e1 * t99 * t423; + const double t439 = t403 + t438; + const double t462 = -t123 * t375 - 0.2e1 * t126 * t380 - 0.3e1 * t129 * t386 - 0.4e1 * t132 * t392 - 0.5e1 * t135 * t398 - 0.2e1 * t275 * t375 - 0.3e1 * t282 * t380 - 0.4e1 * t289 * t386 - 0.5e1 * t296 * t392 - 0.6e1 * t303 * t398 - t441 * t372; + const double t485 = -0.6e1 * t138 * t405 - 0.7e1 * t141 * t411 - 0.8e1 * t144 * t417 - 0.9e1 * t147 * t423 - 0.1e2 * t150 * t429 - 0.11e2 * t153 * t435 - 0.7e1 * t311 * t405 - 0.8e1 * t318 * t411 - 0.9e1 * t325 * t417 - 0.1e2 * t332 * t423 - 0.11e2 * t339 * t429; + const double t486 = t462 + t485; + const double t488 = t120 * t486 + t40 * t439; + const double t492 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t488 ); + const double t495 = t18 * t48; + const double t507 = 0.1e1 / t167 / t37 * t43 * t506; + const double t508 = sigma * sigma; + const double t509 = t508 * t27; + const double t510 = t30 * t30; + const double t511 = t510 * t171; + const double t513 = 0.1e1 / t19 / t511; + const double t519 = 0.1e1 / t31 / t510; + const double t528 = tau * tau; + const double t529 = t42 * t528; + const double t530 = t510 * rho; + const double t532 = 0.1e1 / t19 / t530; + const double t533 = t27 * t532; + const double t534 = t533 * t59; + const double t537 = t55 * t528; + const double t540 = t264 * t53; + const double t543 = t237 * t107; + const double t544 = t528 * t27; + const double t545 = t544 * t532; + const double t548 = t99 * t113; + const double t551 = t103 * t92; + const double t552 = t551 * t107; + const double t555 = t244 * t113; + const double t558 = t105 * t256; + const double t561 = t109 * t98; + const double t562 = t561 * t113; + const double t565 = t251 * t256; + const double t569 = 0.1e1 / t94 / t76; + const double t570 = t111 * t569; + const double t573 = t73 * t62; + const double t574 = t573 * t77; + const double t577 = t208 * t83; + const double t580 = 0.1e3 / 0.9e1 * t529 * t534 + 0.1e3 / 0.9e1 * t537 * t534 - 0.4e2 / 0.9e1 * t178 * t540 + 0.9e3 * t543 * t545 + 0.5e3 * t548 * t545 + 0.5e3 * t552 * t545 + 0.1e5 / 0.9e1 * t555 * t545 + 0.55e4 / 0.9e1 * t558 * t545 + 0.55e4 / 0.9e1 * t562 * t545 + 0.121e5 / 0.9e1 * t565 * t545 + 0.22e4 / 0.3e1 * t570 * t545 + 0.1e4 / 0.9e1 * t574 * t545 + 0.25e4 / 0.9e1 * t577 * t545; + const double t581 = t75 * t89; + const double t584 = t79 * t68; + const double t585 = t584 * t83; + const double t588 = t215 * t89; + const double t591 = t81 * t95; + const double t594 = t85 * t74; + const double t595 = t594 * t89; + const double t598 = t223 * t95; + const double t601 = t87 * t101; + const double t604 = t91 * t80; + const double t605 = t604 * t95; + const double t608 = t230 * t101; + const double t611 = t93 * t107; + const double t614 = t51 * t65; + const double t617 = t187 * t65; + const double t620 = t57 * t71; + const double t623 = t61 * t50; + const double t624 = t623 * t65; + const double t627 = 0.5e3 / 0.3e1 * t581 * t545 + 0.5e3 / 0.3e1 * t585 * t545 + 0.4e3 * t588 * t545 + 0.7e3 / 0.3e1 * t591 * t545 + 0.7e3 / 0.3e1 * t595 * t545 + 0.49e4 / 0.9e1 * t598 * t545 + 0.28e4 / 0.9e1 * t601 * t545 + 0.28e4 / 0.9e1 * t605 * t545 + 0.64e4 / 0.9e1 * t608 * t545 + 0.4e3 * t611 * t545 + 0.1e3 / 0.9e1 * t614 * t545 + 0.4e3 / 0.9e1 * t617 * t545 + 0.1e3 / 0.3e1 * t620 * t545 + 0.1e3 / 0.3e1 * t624 * t545; + const double t629 = t194 * t71; + const double t632 = t63 * t77; + const double t635 = t67 * t56; + const double t636 = t635 * t71; + const double t639 = t201 * t77; + const double t642 = t69 * t83; + const double t645 = t46 * t173; + const double t662 = 0.1e3 * t629 * t545 + 0.2e3 / 0.3e1 * t632 * t545 + 0.2e3 / 0.3e1 * t636 * t545 + 0.16e4 / 0.9e1 * t639 * t545 + 0.1e4 / 0.9e1 * t642 * t545 - 0.4e2 * t241 * t645 - 0.4e3 / 0.9e1 * t245 * t645 - 0.4e3 / 0.9e1 * t248 * t645 - 0.44e3 / 0.9e1 * t252 * t645 - 0.44e3 / 0.9e1 * t257 * t645 - 0.2e3 / 0.9e1 * t212 * t645 - 0.8e2 / 0.3e1 * t216 * t645 - 0.8e2 / 0.3e1 * t220 * t645; + const double t689 = t97 * t86; + const double t690 = t689 * t101; + const double t693 = -0.28e3 / 0.9e1 * t224 * t645 - 0.28e3 / 0.9e1 * t227 * t645 - 0.32e3 / 0.9e1 * t231 * t645 - 0.32e3 / 0.9e1 * t234 * t645 - 0.4e2 * t238 * t645 - 0.4e2 / 0.9e1 * t183 * t645 - 0.8e2 / 0.9e1 * t188 * t645 - 0.8e2 / 0.9e1 * t191 * t645 - 0.4e2 / 0.3e1 * t195 * t645 - 0.4e2 / 0.3e1 * t198 * t645 - 0.16e3 / 0.9e1 * t202 * t645 - 0.16e3 / 0.9e1 * t205 * t645 - 0.2e3 / 0.9e1 * t209 * t645 + 0.4e3 * t690 * t545; + const double t695 = t580 + t627 + t662 + t693; + const double t697 = t28 * t519; + const double t702 = t701 * t508; + const double t703 = t27 * t513; + const double t707 = t118 * t347; + const double t711 = t122 * t528; + const double t714 = t125 * t528; + const double t719 = t153 * t569; + const double t722 = t141 * t101; + const double t725 = t143 * t80; + const double t726 = t725 * t95; + const double t729 = t318 * t101; + const double t732 = t144 * t107; + const double t735 = t146 * t86; + const double t736 = t735 * t101; + const double t739 = t325 * t107; + const double t742 = t147 * t113; + const double t745 = t149 * t92; + const double t746 = t745 * t107; + const double t749 = t332 * t113; + const double t752 = 0.1e3 / 0.9e1 * t711 * t534 + 0.1e3 / 0.9e1 * t714 * t534 - 0.4e2 / 0.9e1 * t269 * t540 + 0.22e4 / 0.3e1 * t719 * t545 + 0.28e4 / 0.9e1 * t722 * t545 + 0.28e4 / 0.9e1 * t726 * t545 + 0.64e4 / 0.9e1 * t729 * t545 + 0.4e3 * t732 * t545 + 0.4e3 * t736 * t545 + 0.9e3 * t739 * t545 + 0.5e3 * t742 * t545 + 0.5e3 * t746 * t545 + 0.1e5 / 0.9e1 * t749 * t545; + const double t753 = t150 * t256; + const double t756 = t152 * t98; + const double t757 = t756 * t113; + const double t760 = t339 * t256; + const double t763 = t129 * t77; + const double t766 = t131 * t56; + const double t767 = t766 * t71; + const double t770 = t289 * t77; + const double t773 = t132 * t83; + const double t776 = t134 * t62; + const double t777 = t776 * t77; + const double t780 = t296 * t83; + const double t783 = t135 * t89; + const double t786 = t137 * t68; + const double t787 = t786 * t83; + const double t790 = t303 * t89; + const double t793 = t138 * t95; + const double t796 = t140 * t74; + const double t797 = t796 * t89; + const double t800 = 0.55e4 / 0.9e1 * t753 * t545 + 0.55e4 / 0.9e1 * t757 * t545 + 0.121e5 / 0.9e1 * t760 * t545 + 0.2e3 / 0.3e1 * t763 * t545 + 0.2e3 / 0.3e1 * t767 * t545 + 0.16e4 / 0.9e1 * t770 * t545 + 0.1e4 / 0.9e1 * t773 * t545 + 0.1e4 / 0.9e1 * t777 * t545 + 0.25e4 / 0.9e1 * t780 * t545 + 0.5e3 / 0.3e1 * t783 * t545 + 0.5e3 / 0.3e1 * t787 * t545 + 0.4e3 * t790 * t545 + 0.7e3 / 0.3e1 * t793 * t545 + 0.7e3 / 0.3e1 * t797 * t545; + const double t802 = t311 * t95; + const double t807 = t123 * t65; + const double t810 = t275 * t65; + const double t813 = t126 * t71; + const double t816 = t128 * t50; + const double t817 = t816 * t65; + const double t820 = t282 * t71; + const double t835 = 0.49e4 / 0.9e1 * t802 * t545 - 0.4e2 / 0.3e1 * t283 * t645 + 0.1e3 / 0.9e1 * t807 * t545 + 0.4e3 / 0.9e1 * t810 * t545 + 0.1e3 / 0.3e1 * t813 * t545 + 0.1e3 / 0.3e1 * t817 * t545 + 0.1e3 * t820 * t545 - 0.32e3 / 0.9e1 * t319 * t645 - 0.32e3 / 0.9e1 * t322 * t645 - 0.4e2 * t326 * t645 - 0.4e2 * t329 * t645 - 0.4e3 / 0.9e1 * t333 * t645 - 0.4e3 / 0.9e1 * t336 * t645; + const double t864 = -0.44e3 / 0.9e1 * t340 * t645 - 0.44e3 / 0.9e1 * t343 * t645 - 0.4e2 / 0.3e1 * t286 * t645 - 0.16e3 / 0.9e1 * t290 * t645 - 0.16e3 / 0.9e1 * t293 * t645 - 0.2e3 / 0.9e1 * t297 * t645 - 0.2e3 / 0.9e1 * t300 * t645 - 0.8e2 / 0.3e1 * t304 * t645 - 0.8e2 / 0.3e1 * t308 * t645 - 0.28e3 / 0.9e1 * t312 * t645 - 0.28e3 / 0.9e1 * t315 * t645 - 0.4e2 / 0.9e1 * t272 * t645 - 0.8e2 / 0.9e1 * t276 * t645 - 0.8e2 / 0.9e1 * t279 * t645; + const double t866 = t752 + t800 + t835 + t864; + const double t868 = -0.15381393735744e-2 * t507 * t509 * t513 * t115 + 0.5780898288e-1 * t170 * t29 * t519 * t115 - 0.3153217248e-1 * t170 * t29 * t173 * t261 + t40 * t695 + 0.50297210791037951532e-1 * t263 * t697 * t265 - 0.68176681998511621221e-3 * t702 * t703 * t265 - 0.27434842249657064472e-1 * t263 * t264 * t707 + t120 * t866; + const double t873 = piecewise_functor_3( t3, 0.0, t7 * t495 * t157 / 0.12e2 - t7 * t163 * t349 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t868 ); + const double t879 = t510 * t30; + const double t881 = 0.1e1 / t19 / t879; + const double t882 = t27 * t881; + const double t883 = t115 * sigma; + const double t893 = t173 * t118; + const double t898 = t881 * sigma; + const double t905 = 0.5768022650904e-3 * t507 * t882 * t883 - 0.1576608624e-1 * t170 * t264 * t115 + 0.591228234e-2 * t170 * t179 * t261 - 0.13717421124828532236e-1 * t360 * t893 * t155 + 0.25566255749441857958e-3 * t897 * t898 * t265 + 0.51440329218106995885e-2 * t360 * t361 * t347; + const double t910 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t365 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t905 ); + const double t920 = t422 * t33; + const double t925 = t428 * t33; + const double t930 = t434 * t33; + const double t933 = t397 * t33; + const double t936 = t404 * t33; + const double t942 = 0.1e1 / t19 / t510; + const double t943 = t27 * t942; + const double t944 = t943 * tau; + const double t955 = 0.15e2 * t99 * t920 + 0.5e2 / 0.3e1 * t244 * t920 + 0.5e2 / 0.3e1 * t105 * t925 + 0.55e2 / 0.3e1 * t251 * t925 + 0.55e2 / 0.3e1 * t111 * t930 + 0.1e2 * t215 * t933 + 0.1e2 * t81 * t936 + 0.35e2 / 0.3e1 * t223 * t936 - 0.6e2 * t629 * t944 - 0.4e2 * t632 * t944 - 0.4e2 * t636 * t944 - 0.32e3 / 0.3e1 * t639 * t944 - 0.2e3 / 0.3e1 * t642 * t944; + const double t984 = -0.2e3 / 0.3e1 * t574 * t944 - 0.5e3 / 0.3e1 * t577 * t944 - 0.1e3 * t581 * t944 - 0.2e2 / 0.3e1 * t614 * t944 - 0.8e2 / 0.3e1 * t617 * t944 - 0.3e3 * t552 * t944 - 0.2e4 / 0.3e1 * t555 * t944 - 0.11e4 / 0.3e1 * t558 * t944 - 0.11e4 / 0.3e1 * t562 * t944 - 0.242e4 / 0.3e1 * t565 * t944 - 0.44e3 * t570 * t944 - 0.1e3 * t585 * t944 - 0.24e3 * t588 * t944 - 0.14e3 * t591 * t944; + const double t1008 = t33 * t53; + const double t1011 = t410 * t33; + const double t1014 = -0.14e3 * t595 * t944 - 0.98e3 / 0.3e1 * t598 * t944 - 0.56e3 / 0.3e1 * t601 * t944 - 0.56e3 / 0.3e1 * t605 * t944 - 0.128e4 / 0.3e1 * t608 * t944 - 0.24e3 * t611 * t944 - 0.24e3 * t690 * t944 - 0.2e2 * t620 * t944 - 0.2e2 * t624 * t944 - 0.54e3 * t543 * t944 - 0.3e3 * t548 * t944 + 0.5e1 / 0.3e1 * t371 * t1008 + 0.35e2 / 0.3e1 * t87 * t1011; + const double t1017 = t416 * t33; + const double t1022 = t379 * t33; + const double t1025 = t385 * t33; + const double t1030 = t391 * t33; + const double t1037 = t374 * t33; + const double t1045 = t942 * t59; + const double t1046 = t1045 * tau; + const double t1049 = t55 * tau; + const double t1050 = t943 * t59; + const double t1053 = 0.4e2 / 0.3e1 * t230 * t1011 + 0.4e2 / 0.3e1 * t93 * t1017 + 0.15e2 * t237 * t1017 + 0.5e1 * t194 * t1022 + 0.5e1 * t63 * t1025 + 0.2e2 / 0.3e1 * t201 * t1025 + 0.2e2 / 0.3e1 * t69 * t1030 + 0.25e2 / 0.3e1 * t208 * t1030 + 0.25e2 / 0.3e1 * t75 * t933 + 0.5e1 / 0.3e1 * t51 * t1037 + 0.1e2 / 0.3e1 * t187 * t1037 + 0.1e2 / 0.3e1 * t57 * t1022 - 0.2e2 / 0.3e1 * t1044 * t1046 - 0.2e2 / 0.3e1 * t1049 * t1050; + const double t1055 = t955 + t984 + t1014 + t1053; + const double t1057 = t118 * t486; + const double t1087 = -0.2e2 / 0.3e1 * t807 * t944 - 0.2e3 / 0.3e1 * t777 * t944 - 0.5e3 / 0.3e1 * t780 * t944 - 0.1e3 * t783 * t944 - 0.1e3 * t787 * t944 - 0.24e3 * t790 * t944 - 0.14e3 * t793 * t944 - 0.14e3 * t797 * t944 - 0.98e3 / 0.3e1 * t802 * t944 - 0.56e3 / 0.3e1 * t722 * t944 - 0.56e3 / 0.3e1 * t726 * t944 - 0.128e4 / 0.3e1 * t729 * t944 - 0.8e2 / 0.3e1 * t810 * t944; + const double t1116 = -0.2e2 * t813 * t944 - 0.2e2 * t817 * t944 - 0.6e2 * t820 * t944 - 0.4e2 * t763 * t944 - 0.4e2 * t767 * t944 - 0.32e3 / 0.3e1 * t770 * t944 - 0.2e3 / 0.3e1 * t773 * t944 - 0.44e3 * t719 * t944 - 0.24e3 * t732 * t944 - 0.24e3 * t736 * t944 - 0.54e3 * t739 * t944 - 0.3e3 * t742 * t944 - 0.3e3 * t746 * t944 - 0.2e4 / 0.3e1 * t749 * t944; + const double t1144 = -0.11e4 / 0.3e1 * t753 * t944 - 0.11e4 / 0.3e1 * t757 * t944 - 0.242e4 / 0.3e1 * t760 * t944 + 0.5e1 / 0.3e1 * t441 * t1008 + 0.4e2 / 0.3e1 * t144 * t1017 + 0.15e2 * t325 * t1017 + 0.15e2 * t147 * t920 + 0.5e2 / 0.3e1 * t332 * t920 + 0.5e2 / 0.3e1 * t150 * t925 + 0.55e2 / 0.3e1 * t339 * t925 + 0.55e2 / 0.3e1 * t153 * t930 + 0.25e2 / 0.3e1 * t135 * t933 + 0.1e2 * t303 * t933; + const double t1172 = t125 * tau; + const double t1175 = 0.1e2 * t138 * t936 + 0.35e2 / 0.3e1 * t311 * t936 + 0.35e2 / 0.3e1 * t141 * t1011 + 0.4e2 / 0.3e1 * t318 * t1011 + 0.1e2 / 0.3e1 * t275 * t1037 + 0.1e2 / 0.3e1 * t126 * t1022 + 0.5e1 * t282 * t1022 + 0.5e1 * t129 * t1025 + 0.2e2 / 0.3e1 * t289 * t1025 + 0.2e2 / 0.3e1 * t132 * t1030 + 0.25e2 / 0.3e1 * t296 * t1030 + 0.5e1 / 0.3e1 * t123 * t1037 - 0.2e2 / 0.3e1 * t1169 * t1046 - 0.2e2 / 0.3e1 * t1172 * t1050; + const double t1177 = t1087 + t1116 + t1144 + t1175; + const double t1179 = -0.1576608624e-1 * t170 * t29 * t173 * t439 + t40 * t1055 - 0.13717421124828532236e-1 * t263 * t264 * t1057 + t120 * t1177; + const double t1184 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t488 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1179 ); + const double t1190 = t532 * t118; + const double t1194 = -0.2163008494089e-3 * t507 * t533 * t115 - 0.95873459060406967341e-4 * t897 * t1190 * t155; + const double t1198 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1194 ); + const double t1206 = 0.591228234e-2 * t170 * t179 * t439 + 0.51440329218106995885e-2 * t360 * t361 * t486; + const double t1210 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1206 ); + const double t1213 = 0.1e1 / t19 / t171; + const double t1214 = t1213 * t59; + const double t1220 = t89 * t27; + const double t1221 = t1220 * t1213; + const double t1224 = t95 * t27; + const double t1225 = t1224 * t1213; + const double t1228 = t101 * t27; + const double t1229 = t1228 * t1213; + const double t1236 = t107 * t27; + const double t1237 = t1236 * t1213; + const double t1244 = t113 * t27; + const double t1245 = t1244 * t1213; + const double t1252 = t256 * t27; + const double t1253 = t1252 * t1213; + const double t1260 = 0.4e1 * t1044 * t1214 + 0.22e3 * t105 * t1253 + 0.4e1 * t1217 * t1214 + 0.84e2 * t594 * t1221 + 0.196e3 * t223 * t1225 + 0.112e3 * t604 * t1225 + 0.256e3 * t230 * t1229 + 0.144e3 * t689 * t1229 + 0.112e3 * t87 * t1229 + 0.324e3 * t237 * t1237 + 0.18e3 * t551 * t1237 + 0.144e3 * t93 * t1237 + 0.4e3 * t244 * t1245 + 0.22e3 * t561 * t1245 + 0.18e3 * t99 * t1245 + 0.484e3 * t251 * t1253; + const double t1261 = t569 * t27; + const double t1262 = t1261 * t1213; + const double t1265 = t65 * t27; + const double t1266 = t1265 * t1213; + const double t1271 = t71 * t27; + const double t1272 = t1271 * t1213; + const double t1279 = t77 * t27; + const double t1280 = t1279 * t1213; + const double t1287 = t83 * t27; + const double t1288 = t1287 * t1213; + const double t1303 = 0.264e3 * t111 * t1262 + 0.144e3 * t215 * t1221 + 0.6e2 * t75 * t1221 + 0.84e2 * t81 * t1225 + 0.16e2 * t187 * t1266 + 0.4e1 * t51 * t1266 + 0.12e2 * t623 * t1266 + 0.36e2 * t194 * t1272 + 0.12e2 * t57 * t1272 + 0.24e2 * t635 * t1272 + 0.64e2 * t201 * t1280 + 0.4e2 * t573 * t1280 + 0.24e2 * t63 * t1280 + 0.1e3 * t208 * t1288 + 0.6e2 * t584 * t1288 + 0.4e2 * t69 * t1288; + const double t1304 = t1260 + t1303; + const double t1338 = 0.18e3 * t745 * t1237 + 0.18e3 * t147 * t1245 + 0.4e3 * t332 * t1245 + 0.22e3 * t756 * t1245 + 0.22e3 * t150 * t1253 + 0.484e3 * t339 * t1253 + 0.12e2 * t126 * t1272 + 0.264e3 * t153 * t1262 + 0.16e2 * t275 * t1266 + 0.12e2 * t816 * t1266 + 0.36e2 * t282 * t1272 + 0.24e2 * t766 * t1272 + 0.24e2 * t129 * t1280 + 0.64e2 * t289 * t1280 + 0.4e2 * t776 * t1280 + 0.4e2 * t132 * t1288; + const double t1372 = 0.4e1 * t1169 * t1214 + 0.4e1 * t1363 * t1214 + 0.6e2 * t135 * t1221 + 0.144e3 * t303 * t1221 + 0.84e2 * t796 * t1221 + 0.84e2 * t138 * t1225 + 0.196e3 * t311 * t1225 + 0.112e3 * t725 * t1225 + 0.112e3 * t141 * t1229 + 0.256e3 * t318 * t1229 + 0.144e3 * t735 * t1229 + 0.4e1 * t123 * t1266 + 0.144e3 * t144 * t1237 + 0.324e3 * t325 * t1237 + 0.1e3 * t296 * t1288 + 0.6e2 * t786 * t1288; + const double t1373 = t1338 + t1372; + const double t1375 = t120 * t1373 + t40 * t1304; + const double t1379 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1375 ); + + + vrho = 0.2e1 * rho * t354 + 0.2e1 * t161; + vsigma = 0.2e1 * rho * t369; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t492; + v2rho2 = 0.2e1 * rho * t873 + 0.4e1 * t354; + v2rhosigma = 0.2e1 * rho * t910 + 0.2e1 * t369; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1184 + 0.2e1 * t492; + v2sigma2 = 0.2e1 * rho * t1198; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1210; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1379; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t162 ); + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t281 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t277 ); + + + eps = t166 + t281; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t162 ); + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t281 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t162 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t312 = t39 * t58; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t312 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t389 = t388 * t39; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t389; + const double t393 = t350 + t392; + const double t395 = t34 * sigma_aa; + const double t396 = t306 * t123; + const double t397 = t396 * t160; + const double t400 = t127 * tau_a; + const double t405 = t130 * t55; + const double t410 = t133 * t61; + const double t415 = t136 * t67; + const double t420 = t139 * t73; + const double t425 = t142 * t79; + const double t428 = 0.5e1 / 0.3e1 * t400 * t312 + 0.5e1 / 0.3e1 * t128 * t316 + 0.1e2 / 0.3e1 * t405 * t316 + 0.1e2 / 0.3e1 * t131 * t323 + 0.5e1 * t410 * t323 + 0.5e1 * t134 * t330 + 0.2e2 / 0.3e1 * t415 * t330 + 0.2e2 / 0.3e1 * t137 * t337 + 0.25e2 / 0.3e1 * t420 * t337 + 0.25e2 / 0.3e1 * t140 * t344 + 0.1e2 * t425 * t344; + const double t431 = t145 * t85; + const double t436 = t148 * t91; + const double t441 = t151 * t97; + const double t446 = t154 * t103; + const double t451 = t157 * t109; + const double t456 = 0.1e2 * t143 * t352 + 0.35e2 / 0.3e1 * t431 * t352 + 0.35e2 / 0.3e1 * t146 * t359 + 0.4e2 / 0.3e1 * t436 * t359 + 0.4e2 / 0.3e1 * t149 * t366 + 0.15e2 * t441 * t366 + 0.15e2 * t152 * t373 + 0.5e2 / 0.3e1 * t446 * t373 + 0.5e2 / 0.3e1 * t155 * t380 + 0.55e2 / 0.3e1 * t451 * t380 + 0.55e2 / 0.3e1 * t158 * t389; + const double t457 = t428 + t456; + const double t459 = -0.1576608624e-1 * t303 * t307 * t120 + t46 * t393 - 0.13717421124828532236e-1 * t395 * t397 + t125 * t457; + const double t464 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t162 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t459 ); + const double t465 = t168 * t283; + const double t467 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t465 ); + const double t470 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t467 ); + const double t471 = t470 * t27; + const double t475 = t175 * t295; + const double t478 = t6 * t475 * t277 / 0.8e1; + const double t480 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t471 * t277 - t478 ); + const double t484 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t487 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t484 ); + const double t488 = t487 * t27; + const double t493 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t488 * t162 - t299 ); + const double t495 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t465 ); + const double t498 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t495 ); + const double t499 = t498 * t27; + const double t503 = t185 * t185; + const double t505 = 0.1e1 / t503 * t29; + const double t506 = t505 * t33; + const double t507 = t177 * rho_b; + const double t509 = 0.1e1 / t179 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t48 * tau_b; + const double t515 = t181 * t195; + const double t518 = t200 * tau_b; + const double t519 = t518 * t181; + const double t522 = t60 * t192; + const double t525 = t205 * tau_b; + const double t526 = t525 * t181; + const double t529 = t66 * t197; + const double t532 = t210 * tau_b; + const double t533 = t532 * t181; + const double t536 = t72 * t202; + const double t539 = t215 * tau_b; + const double t540 = t539 * t181; + const double t543 = t78 * t207; + const double t546 = t220 * tau_b; + const double t547 = t546 * t181; + const double t550 = t84 * t212; + const double t553 = 0.5e1 / 0.3e1 * t514 * t515 + 0.5e1 / 0.3e1 * t193 * t519 + 0.1e2 / 0.3e1 * t522 * t519 + 0.1e2 / 0.3e1 * t198 * t526 + 0.5e1 * t529 * t526 + 0.5e1 * t203 * t533 + 0.2e2 / 0.3e1 * t536 * t533 + 0.2e2 / 0.3e1 * t208 * t540 + 0.25e2 / 0.3e1 * t543 * t540 + 0.25e2 / 0.3e1 * t213 * t547 + 0.1e2 * t550 * t547; + const double t554 = t225 * tau_b; + const double t555 = t554 * t181; + const double t558 = t90 * t217; + const double t561 = t230 * tau_b; + const double t562 = t561 * t181; + const double t565 = t96 * t222; + const double t568 = t235 * tau_b; + const double t569 = t568 * t181; + const double t572 = t102 * t227; + const double t575 = t240 * tau_b; + const double t576 = t575 * t181; + const double t579 = t108 * t232; + const double t582 = t245 * tau_b; + const double t583 = t582 * t181; + const double t586 = t114 * t237; + const double t590 = 0.1e1 / t229 / t209; + const double t591 = t590 * tau_b; + const double t592 = t591 * t181; + const double t595 = 0.1e2 * t218 * t555 + 0.35e2 / 0.3e1 * t558 * t555 + 0.35e2 / 0.3e1 * t223 * t562 + 0.4e2 / 0.3e1 * t565 * t562 + 0.4e2 / 0.3e1 * t228 * t569 + 0.15e2 * t572 * t569 + 0.15e2 * t233 * t576 + 0.5e2 / 0.3e1 * t579 * t576 + 0.5e2 / 0.3e1 * t238 * t583 + 0.55e2 / 0.3e1 * t586 * t583 + 0.55e2 / 0.3e1 * t243 * t592; + const double t596 = t553 + t595; + const double t598 = t34 * sigma_bb; + const double t599 = t509 * t250; + const double t600 = t599 * t275; + const double t603 = t127 * tau_b; + const double t608 = t130 * t192; + const double t613 = t133 * t197; + const double t618 = t136 * t202; + const double t623 = t139 * t207; + const double t628 = t142 * t212; + const double t631 = 0.5e1 / 0.3e1 * t603 * t515 + 0.5e1 / 0.3e1 * t253 * t519 + 0.1e2 / 0.3e1 * t608 * t519 + 0.1e2 / 0.3e1 * t255 * t526 + 0.5e1 * t613 * t526 + 0.5e1 * t257 * t533 + 0.2e2 / 0.3e1 * t618 * t533 + 0.2e2 / 0.3e1 * t259 * t540 + 0.25e2 / 0.3e1 * t623 * t540 + 0.25e2 / 0.3e1 * t261 * t547 + 0.1e2 * t628 * t547; + const double t634 = t145 * t217; + const double t639 = t148 * t222; + const double t644 = t151 * t227; + const double t649 = t154 * t232; + const double t654 = t157 * t237; + const double t659 = 0.1e2 * t263 * t555 + 0.35e2 / 0.3e1 * t634 * t555 + 0.35e2 / 0.3e1 * t265 * t562 + 0.4e2 / 0.3e1 * t639 * t562 + 0.4e2 / 0.3e1 * t267 * t569 + 0.15e2 * t644 * t569 + 0.15e2 * t269 * t576 + 0.5e2 / 0.3e1 * t649 * t576 + 0.5e2 / 0.3e1 * t271 * t583 + 0.55e2 / 0.3e1 * t654 * t583 + 0.55e2 / 0.3e1 * t273 * t592; + const double t660 = t631 + t659; + const double t662 = -0.1576608624e-1 * t506 * t510 * t247 + t188 * t596 - 0.13717421124828532236e-1 * t598 * t600 + t252 * t660; + const double t667 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t277 - t478 - 0.3e1 / 0.8e1 * t6 * t176 * t662 ); + const double t670 = t33 * t39; + const double t674 = t39 * t123; + const double t678 = 0.591228234e-2 * t302 * t670 * t120 + 0.51440329218106995885e-2 * t34 * t674 * t160; + const double t682 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t678 ); + const double t683 = t33 * t181; + const double t687 = t181 * t250; + const double t691 = 0.591228234e-2 * t505 * t683 * t247 + 0.51440329218106995885e-2 * t34 * t687 * t275; + const double t695 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t691 ); + const double t698 = t64 * t53; + const double t702 = t70 * t53; + const double t707 = t76 * t53; + const double t712 = t82 * t53; + const double t717 = t88 * t53; + const double t722 = -t48 * t53 * t58 - 0.2e1 * t319 * t698 - 0.3e1 * t326 * t702 - 0.4e1 * t333 * t707 - 0.5e1 * t340 * t712 - 0.6e1 * t347 * t717 - t56 * t698 - 0.2e1 * t62 * t702 - 0.3e1 * t68 * t707 - 0.4e1 * t712 * t74 - 0.5e1 * t717 * t80; + const double t723 = t94 * t53; + const double t728 = t100 * t53; + const double t733 = t106 * t53; + const double t738 = t112 * t53; + const double t743 = t118 * t53; + const double t748 = t387 * t53; + const double t751 = -0.9e1 * t104 * t738 - 0.1e2 * t110 * t743 - 0.11e2 * t116 * t748 - 0.7e1 * t355 * t723 - 0.8e1 * t362 * t728 - 0.9e1 * t369 * t733 - 0.1e2 * t376 * t738 - 0.11e2 * t383 * t743 - 0.6e1 * t723 * t86 - 0.7e1 * t728 * t92 - 0.8e1 * t733 * t98; + const double t752 = t722 + t751; + const double t775 = -t127 * t53 * t58 - t128 * t698 - 0.2e1 * t131 * t702 - 0.3e1 * t134 * t707 - 0.4e1 * t137 * t712 - 0.5e1 * t140 * t717 - 0.2e1 * t405 * t698 - 0.3e1 * t410 * t702 - 0.4e1 * t415 * t707 - 0.5e1 * t420 * t712 - 0.6e1 * t425 * t717; + const double t798 = -0.6e1 * t143 * t723 - 0.7e1 * t146 * t728 - 0.8e1 * t149 * t733 - 0.9e1 * t152 * t738 - 0.1e2 * t155 * t743 - 0.11e2 * t158 * t748 - 0.7e1 * t431 * t723 - 0.8e1 * t436 * t728 - 0.9e1 * t441 * t733 - 0.1e2 * t446 * t738 - 0.11e2 * t451 * t743; + const double t799 = t775 + t798; + const double t801 = t125 * t799 + t46 * t752; + const double t805 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t801 ); + const double t808 = t200 * t190; + const double t812 = t205 * t190; + const double t817 = t210 * t190; + const double t822 = t215 * t190; + const double t827 = t220 * t190; + const double t832 = -t190 * t195 * t48 - t193 * t808 - 0.2e1 * t198 * t812 - 0.3e1 * t203 * t817 - 0.4e1 * t208 * t822 - 0.5e1 * t213 * t827 - 0.2e1 * t522 * t808 - 0.3e1 * t529 * t812 - 0.4e1 * t536 * t817 - 0.5e1 * t543 * t822 - 0.6e1 * t550 * t827; + const double t833 = t225 * t190; + const double t838 = t230 * t190; + const double t843 = t235 * t190; + const double t848 = t240 * t190; + const double t853 = t245 * t190; + const double t858 = t590 * t190; + const double t861 = -0.6e1 * t218 * t833 - 0.7e1 * t223 * t838 - 0.8e1 * t228 * t843 - 0.9e1 * t233 * t848 - 0.1e2 * t238 * t853 - 0.11e2 * t243 * t858 - 0.7e1 * t558 * t833 - 0.8e1 * t565 * t838 - 0.9e1 * t572 * t843 - 0.1e2 * t579 * t848 - 0.11e2 * t586 * t853; + const double t862 = t832 + t861; + const double t885 = -t127 * t190 * t195 - t253 * t808 - 0.2e1 * t255 * t812 - 0.3e1 * t257 * t817 - 0.4e1 * t259 * t822 - 0.5e1 * t261 * t827 - 0.2e1 * t608 * t808 - 0.3e1 * t613 * t812 - 0.4e1 * t618 * t817 - 0.5e1 * t623 * t822 - 0.6e1 * t628 * t827; + const double t908 = -0.6e1 * t263 * t833 - 0.7e1 * t265 * t838 - 0.8e1 * t267 * t843 - 0.9e1 * t269 * t848 - 0.1e2 * t271 * t853 - 0.11e2 * t273 * t858 - 0.7e1 * t634 * t833 - 0.8e1 * t639 * t838 - 0.9e1 * t644 * t843 - 0.1e2 * t649 * t848 - 0.11e2 * t654 * t853; + const double t909 = t885 + t908; + const double t911 = t188 * t862 + t252 * t909; + const double t915 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t911 ); + + + eps = t166 + t281; + vrho_a = t166 + t281 + t7 * ( t464 + t480 ); + vrho_b = t166 + t281 + t7 * ( t493 + t667 ); + vsigma_aa = t7 * t682; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t695; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t805; + vtau_b = t7 * t915; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + constexpr double t957 = 0.1e1 / t31 / t30; + constexpr double t1149 = t49 * t957; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t162 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t312 = t39 * t58; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t312 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t389 = t388 * t39; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t389; + const double t393 = t350 + t392; + const double t395 = t34 * sigma_aa; + const double t396 = t306 * t123; + const double t397 = t396 * t160; + const double t400 = t127 * tau_a; + const double t405 = t130 * t55; + const double t410 = t133 * t61; + const double t415 = t136 * t67; + const double t420 = t139 * t73; + const double t425 = t142 * t79; + const double t428 = 0.5e1 / 0.3e1 * t400 * t312 + 0.5e1 / 0.3e1 * t128 * t316 + 0.1e2 / 0.3e1 * t405 * t316 + 0.1e2 / 0.3e1 * t131 * t323 + 0.5e1 * t410 * t323 + 0.5e1 * t134 * t330 + 0.2e2 / 0.3e1 * t415 * t330 + 0.2e2 / 0.3e1 * t137 * t337 + 0.25e2 / 0.3e1 * t420 * t337 + 0.25e2 / 0.3e1 * t140 * t344 + 0.1e2 * t425 * t344; + const double t431 = t145 * t85; + const double t436 = t148 * t91; + const double t441 = t151 * t97; + const double t446 = t154 * t103; + const double t451 = t157 * t109; + const double t456 = 0.1e2 * t143 * t352 + 0.35e2 / 0.3e1 * t431 * t352 + 0.35e2 / 0.3e1 * t146 * t359 + 0.4e2 / 0.3e1 * t436 * t359 + 0.4e2 / 0.3e1 * t149 * t366 + 0.15e2 * t441 * t366 + 0.15e2 * t152 * t373 + 0.5e2 / 0.3e1 * t446 * t373 + 0.5e2 / 0.3e1 * t155 * t380 + 0.55e2 / 0.3e1 * t451 * t380 + 0.55e2 / 0.3e1 * t158 * t389; + const double t457 = t428 + t456; + const double t459 = -0.1576608624e-1 * t303 * t307 * t120 + t46 * t393 - 0.13717421124828532236e-1 * t395 * t397 + t125 * t457; + const double t464 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t162 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t459 ); + const double t465 = t168 * t283; + const double t467 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t465 ); + const double t470 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t467 ); + const double t471 = t470 * t27; + const double t475 = t175 * t295; + const double t478 = t6 * t475 * t277 / 0.8e1; + const double t480 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t471 * t277 - t478 ); + const double t484 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t487 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t484 ); + const double t488 = t487 * t27; + const double t493 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t488 * t162 - t299 ); + const double t495 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t465 ); + const double t498 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t495 ); + const double t499 = t498 * t27; + const double t503 = t185 * t185; + const double t505 = 0.1e1 / t503 * t29; + const double t506 = t505 * t33; + const double t507 = t177 * rho_b; + const double t509 = 0.1e1 / t179 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t48 * tau_b; + const double t515 = t181 * t195; + const double t518 = t200 * tau_b; + const double t519 = t518 * t181; + const double t522 = t60 * t192; + const double t525 = t205 * tau_b; + const double t526 = t525 * t181; + const double t529 = t66 * t197; + const double t532 = t210 * tau_b; + const double t533 = t532 * t181; + const double t536 = t72 * t202; + const double t539 = t215 * tau_b; + const double t540 = t539 * t181; + const double t543 = t78 * t207; + const double t546 = t220 * tau_b; + const double t547 = t546 * t181; + const double t550 = t84 * t212; + const double t553 = 0.5e1 / 0.3e1 * t514 * t515 + 0.5e1 / 0.3e1 * t193 * t519 + 0.1e2 / 0.3e1 * t522 * t519 + 0.1e2 / 0.3e1 * t198 * t526 + 0.5e1 * t529 * t526 + 0.5e1 * t203 * t533 + 0.2e2 / 0.3e1 * t536 * t533 + 0.2e2 / 0.3e1 * t208 * t540 + 0.25e2 / 0.3e1 * t543 * t540 + 0.25e2 / 0.3e1 * t213 * t547 + 0.1e2 * t550 * t547; + const double t554 = t225 * tau_b; + const double t555 = t554 * t181; + const double t558 = t90 * t217; + const double t561 = t230 * tau_b; + const double t562 = t561 * t181; + const double t565 = t96 * t222; + const double t568 = t235 * tau_b; + const double t569 = t568 * t181; + const double t572 = t102 * t227; + const double t575 = t240 * tau_b; + const double t576 = t575 * t181; + const double t579 = t108 * t232; + const double t582 = t245 * tau_b; + const double t583 = t582 * t181; + const double t586 = t114 * t237; + const double t590 = 0.1e1 / t229 / t209; + const double t591 = t590 * tau_b; + const double t592 = t591 * t181; + const double t595 = 0.1e2 * t218 * t555 + 0.35e2 / 0.3e1 * t558 * t555 + 0.35e2 / 0.3e1 * t223 * t562 + 0.4e2 / 0.3e1 * t565 * t562 + 0.4e2 / 0.3e1 * t228 * t569 + 0.15e2 * t572 * t569 + 0.15e2 * t233 * t576 + 0.5e2 / 0.3e1 * t579 * t576 + 0.5e2 / 0.3e1 * t238 * t583 + 0.55e2 / 0.3e1 * t586 * t583 + 0.55e2 / 0.3e1 * t243 * t592; + const double t596 = t553 + t595; + const double t598 = t34 * sigma_bb; + const double t599 = t509 * t250; + const double t600 = t599 * t275; + const double t603 = t127 * tau_b; + const double t608 = t130 * t192; + const double t613 = t133 * t197; + const double t618 = t136 * t202; + const double t623 = t139 * t207; + const double t628 = t142 * t212; + const double t631 = 0.5e1 / 0.3e1 * t603 * t515 + 0.5e1 / 0.3e1 * t253 * t519 + 0.1e2 / 0.3e1 * t608 * t519 + 0.1e2 / 0.3e1 * t255 * t526 + 0.5e1 * t613 * t526 + 0.5e1 * t257 * t533 + 0.2e2 / 0.3e1 * t618 * t533 + 0.2e2 / 0.3e1 * t259 * t540 + 0.25e2 / 0.3e1 * t623 * t540 + 0.25e2 / 0.3e1 * t261 * t547 + 0.1e2 * t628 * t547; + const double t634 = t145 * t217; + const double t639 = t148 * t222; + const double t644 = t151 * t227; + const double t649 = t154 * t232; + const double t654 = t157 * t237; + const double t659 = 0.1e2 * t263 * t555 + 0.35e2 / 0.3e1 * t634 * t555 + 0.35e2 / 0.3e1 * t265 * t562 + 0.4e2 / 0.3e1 * t639 * t562 + 0.4e2 / 0.3e1 * t267 * t569 + 0.15e2 * t644 * t569 + 0.15e2 * t269 * t576 + 0.5e2 / 0.3e1 * t649 * t576 + 0.5e2 / 0.3e1 * t271 * t583 + 0.55e2 / 0.3e1 * t654 * t583 + 0.55e2 / 0.3e1 * t273 * t592; + const double t660 = t631 + t659; + const double t662 = -0.1576608624e-1 * t506 * t510 * t247 + t188 * t596 - 0.13717421124828532236e-1 * t598 * t600 + t252 * t660; + const double t667 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t277 - t478 - 0.3e1 / 0.8e1 * t6 * t176 * t662 ); + const double t670 = t33 * t39; + const double t674 = t39 * t123; + const double t678 = 0.591228234e-2 * t302 * t670 * t120 + 0.51440329218106995885e-2 * t34 * t674 * t160; + const double t682 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t678 ); + const double t683 = t33 * t181; + const double t687 = t181 * t250; + const double t691 = 0.591228234e-2 * t505 * t683 * t247 + 0.51440329218106995885e-2 * t34 * t687 * t275; + const double t695 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t691 ); + const double t698 = t64 * t53; + const double t702 = t70 * t53; + const double t707 = t76 * t53; + const double t712 = t82 * t53; + const double t717 = t88 * t53; + const double t722 = -t48 * t53 * t58 - 0.2e1 * t319 * t698 - 0.3e1 * t326 * t702 - 0.4e1 * t333 * t707 - 0.5e1 * t340 * t712 - 0.6e1 * t347 * t717 - t56 * t698 - 0.2e1 * t62 * t702 - 0.3e1 * t68 * t707 - 0.4e1 * t712 * t74 - 0.5e1 * t717 * t80; + const double t723 = t94 * t53; + const double t728 = t100 * t53; + const double t733 = t106 * t53; + const double t738 = t112 * t53; + const double t743 = t118 * t53; + const double t748 = t387 * t53; + const double t751 = -0.9e1 * t104 * t738 - 0.1e2 * t110 * t743 - 0.11e2 * t116 * t748 - 0.7e1 * t355 * t723 - 0.8e1 * t362 * t728 - 0.9e1 * t369 * t733 - 0.1e2 * t376 * t738 - 0.11e2 * t383 * t743 - 0.6e1 * t723 * t86 - 0.7e1 * t728 * t92 - 0.8e1 * t733 * t98; + const double t752 = t722 + t751; + const double t775 = -t127 * t53 * t58 - t128 * t698 - 0.2e1 * t131 * t702 - 0.3e1 * t134 * t707 - 0.4e1 * t137 * t712 - 0.5e1 * t140 * t717 - 0.2e1 * t405 * t698 - 0.3e1 * t410 * t702 - 0.4e1 * t415 * t707 - 0.5e1 * t420 * t712 - 0.6e1 * t425 * t717; + const double t798 = -0.6e1 * t143 * t723 - 0.7e1 * t146 * t728 - 0.8e1 * t149 * t733 - 0.9e1 * t152 * t738 - 0.1e2 * t155 * t743 - 0.11e2 * t158 * t748 - 0.7e1 * t431 * t723 - 0.8e1 * t436 * t728 - 0.9e1 * t441 * t733 - 0.1e2 * t446 * t738 - 0.11e2 * t451 * t743; + const double t799 = t775 + t798; + const double t801 = t125 * t799 + t46 * t752; + const double t805 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t801 ); + const double t808 = t200 * t190; + const double t812 = t205 * t190; + const double t817 = t210 * t190; + const double t822 = t215 * t190; + const double t827 = t220 * t190; + const double t832 = -t190 * t195 * t48 - t193 * t808 - 0.2e1 * t198 * t812 - 0.3e1 * t203 * t817 - 0.4e1 * t208 * t822 - 0.5e1 * t213 * t827 - 0.2e1 * t522 * t808 - 0.3e1 * t529 * t812 - 0.4e1 * t536 * t817 - 0.5e1 * t543 * t822 - 0.6e1 * t550 * t827; + const double t833 = t225 * t190; + const double t838 = t230 * t190; + const double t843 = t235 * t190; + const double t848 = t240 * t190; + const double t853 = t245 * t190; + const double t858 = t590 * t190; + const double t861 = -0.6e1 * t218 * t833 - 0.7e1 * t223 * t838 - 0.8e1 * t228 * t843 - 0.9e1 * t233 * t848 - 0.1e2 * t238 * t853 - 0.11e2 * t243 * t858 - 0.7e1 * t558 * t833 - 0.8e1 * t565 * t838 - 0.9e1 * t572 * t843 - 0.1e2 * t579 * t848 - 0.11e2 * t586 * t853; + const double t862 = t832 + t861; + const double t885 = -t127 * t190 * t195 - t253 * t808 - 0.2e1 * t255 * t812 - 0.3e1 * t257 * t817 - 0.4e1 * t259 * t822 - 0.5e1 * t261 * t827 - 0.2e1 * t608 * t808 - 0.3e1 * t613 * t812 - 0.4e1 * t618 * t817 - 0.5e1 * t623 * t822 - 0.6e1 * t628 * t827; + const double t908 = -0.6e1 * t263 * t833 - 0.7e1 * t265 * t838 - 0.8e1 * t267 * t843 - 0.9e1 * t269 * t848 - 0.1e2 * t271 * t853 - 0.11e2 * t273 * t858 - 0.7e1 * t634 * t833 - 0.8e1 * t639 * t838 - 0.9e1 * t644 * t843 - 0.1e2 * t649 * t848 - 0.11e2 * t654 * t853; + const double t909 = t885 + t908; + const double t911 = t188 * t862 + t252 * t909; + const double t915 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t911 ); + const double t918 = t24 * t24; + const double t919 = 0.1e1 / t918; + const double t920 = t286 * t286; + const double t923 = t282 * t7; + const double t924 = 0.1e1 / t923; + const double t925 = t17 * t924; + const double t928 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t925 ); + const double t932 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t920 + 0.4e1 / 0.3e1 * t24 * t928 ); + const double t933 = t932 * t27; + const double t937 = t289 * t295; + const double t939 = t6 * t937 * t162; + const double t945 = 0.1e1 / t294 / t7; + const double t946 = t26 * t945; + const double t949 = t6 * t946 * t162 / 0.12e2; + const double t951 = t6 * t296 * t459; + const double t955 = 0.1e1 / t300 / t43 * t49; + const double t958 = t955 * t957; + const double t959 = sigma_aa * sigma_aa; + const double t960 = t35 * t35; + const double t961 = t960 * t304; + const double t963 = 0.1e1 / t36 / t961; + const double t964 = t959 * t963; + const double t969 = 0.1e1 / t37 / t960; + const double t970 = sigma_aa * t969; + const double t977 = tau_a * tau_a; + const double t978 = t60 * t977; + const double t979 = t960 * rho_a; + const double t981 = 0.1e1 / t36 / t979; + const double t982 = t981 * t64; + const double t985 = t48 * t977; + const double t988 = t306 * t58; + const double t991 = t387 * t977; + const double t992 = t991 * t981; + const double t995 = t114 * t103; + const double t996 = t118 * t977; + const double t997 = t996 * t981; + const double t1003 = 0.1e1 / t99 / t81; + const double t1004 = t1003 * t977; + const double t1005 = t1004 * t981; + const double t1008 = t84 * t73; + const double t1009 = t88 * t977; + const double t1010 = t1009 * t981; + const double t1013 = t94 * t977; + const double t1014 = t1013 * t981; + const double t1017 = t100 * t977; + const double t1018 = t1017 * t981; + const double t1021 = t90 * t79; + const double t1026 = t106 * t977; + const double t1027 = t1026 * t981; + const double t1030 = 0.5e2 / 0.9e1 * t978 * t982 + 0.5e2 / 0.9e1 * t985 * t982 - 0.4e2 / 0.9e1 * t311 * t988 + 0.275e4 / 0.9e1 * t110 * t992 + 0.275e4 / 0.9e1 * t995 * t997 + 0.605e4 / 0.9e1 * t383 * t992 + 0.11e4 / 0.3e1 * t116 * t1005 + 0.25e3 / 0.3e1 * t1008 * t1010 + 0.2e3 * t347 * t1014 + 0.35e3 / 0.3e1 * t86 * t1018 + 0.35e3 / 0.3e1 * t1021 * t1014 + 0.245e4 / 0.9e1 * t355 * t1018 + 0.14e4 / 0.9e1 * t92 * t1027; + const double t1031 = t96 * t85; + const double t1036 = t112 * t977; + const double t1037 = t1036 * t981; + const double t1040 = t102 * t91; + const double t1047 = t108 * t97; + const double t1052 = t70 * t977; + const double t1053 = t1052 * t981; + const double t1058 = t76 * t977; + const double t1059 = t1058 * t981; + const double t1062 = t66 * t55; + const double t1067 = t82 * t977; + const double t1068 = t1067 * t981; + const double t1071 = 0.14e4 / 0.9e1 * t1031 * t1018 + 0.32e4 / 0.9e1 * t362 * t1027 + 0.2e3 * t98 * t1037 + 0.2e3 * t1040 * t1027 + 0.45e3 * t369 * t1037 + 0.25e3 * t104 * t997 + 0.25e3 * t1047 * t1037 + 0.5e4 / 0.9e1 * t376 * t997 + 0.5e2 / 0.9e1 * t56 * t1053 + 0.2e3 / 0.9e1 * t319 * t1053 + 0.5e2 / 0.3e1 * t62 * t1059 + 0.5e2 / 0.3e1 * t1062 * t1053 + 0.5e2 * t326 * t1059 + 0.1e3 / 0.3e1 * t68 * t1068; + const double t1073 = t72 * t61; + const double t1080 = t78 * t67; + const double t1087 = t365 * t306; + const double t1090 = t372 * t306; + const double t1095 = t379 * t306; + const double t1100 = t388 * t306; + const double t1103 = t322 * t306; + const double t1106 = 0.1e3 / 0.3e1 * t1073 * t1059 + 0.8e3 / 0.9e1 * t333 * t1068 + 0.5e3 / 0.9e1 * t74 * t1010 + 0.5e3 / 0.9e1 * t1080 * t1068 + 0.125e4 / 0.9e1 * t340 * t1010 + 0.25e3 / 0.3e1 * t80 * t1014 - 0.4e2 * t369 * t1087 - 0.4e2 * t104 * t1090 - 0.4e3 / 0.9e1 * t376 * t1090 - 0.4e3 / 0.9e1 * t110 * t1095 - 0.44e3 / 0.9e1 * t383 * t1095 - 0.44e3 / 0.9e1 * t116 * t1100 - 0.8e2 / 0.9e1 * t62 * t1103; + const double t1109 = t329 * t306; + const double t1114 = t336 * t306; + const double t1119 = t343 * t306; + const double t1124 = t351 * t306; + const double t1129 = t358 * t306; + const double t1136 = t315 * t306; + const double t1141 = -0.4e2 / 0.3e1 * t326 * t1103 - 0.4e2 / 0.3e1 * t68 * t1109 - 0.16e3 / 0.9e1 * t333 * t1109 - 0.16e3 / 0.9e1 * t74 * t1114 - 0.2e3 / 0.9e1 * t340 * t1114 - 0.2e3 / 0.9e1 * t80 * t1119 - 0.8e2 / 0.3e1 * t347 * t1119 - 0.8e2 / 0.3e1 * t86 * t1124 - 0.28e3 / 0.9e1 * t355 * t1124 - 0.28e3 / 0.9e1 * t92 * t1129 - 0.32e3 / 0.9e1 * t362 * t1129 - 0.32e3 / 0.9e1 * t98 * t1087 - 0.4e2 / 0.9e1 * t56 * t1136 - 0.8e2 / 0.9e1 * t319 * t1136; + const double t1143 = t1030 + t1071 + t1106 + t1141; + const double t1145 = t969 * t123; + const double t1146 = t1145 * t160; + const double t1150 = t1149 * t959; + const double t1151 = t963 * t123; + const double t1152 = t1151 * t160; + const double t1155 = t396 * t457; + const double t1160 = t127 * t977; + const double t1163 = t130 * t977; + const double t1168 = t148 * t85; + const double t1181 = t133 * t55; + const double t1188 = -0.4e2 / 0.9e1 * t400 * t988 + 0.5e2 / 0.9e1 * t1160 * t982 + 0.5e2 / 0.9e1 * t1163 * t982 + 0.14e4 / 0.9e1 * t146 * t1027 + 0.14e4 / 0.9e1 * t1168 * t1018 + 0.32e4 / 0.9e1 * t436 * t1027 + 0.2e3 * t149 * t1037 + 0.5e2 / 0.9e1 * t128 * t1053 + 0.2e3 / 0.9e1 * t405 * t1053 + 0.5e2 / 0.3e1 * t131 * t1059 + 0.5e2 / 0.3e1 * t1181 * t1053 + 0.5e2 * t410 * t1059 + 0.1e3 / 0.3e1 * t134 * t1068; + const double t1189 = t136 * t61; + const double t1218 = 0.1e3 / 0.3e1 * t1189 * t1059 + 0.8e3 / 0.9e1 * t415 * t1068 + 0.245e4 / 0.9e1 * t431 * t1018 - 0.8e2 / 0.3e1 * t143 * t1124 - 0.28e3 / 0.9e1 * t431 * t1124 - 0.28e3 / 0.9e1 * t146 * t1129 - 0.32e3 / 0.9e1 * t436 * t1129 - 0.32e3 / 0.9e1 * t149 * t1087 - 0.4e2 * t441 * t1087 - 0.4e2 * t152 * t1090 - 0.4e3 / 0.9e1 * t446 * t1090 - 0.4e3 / 0.9e1 * t155 * t1095 - 0.44e3 / 0.9e1 * t451 * t1095 - 0.44e3 / 0.9e1 * t158 * t1100; + const double t1240 = t151 * t91; + const double t1247 = -0.4e2 / 0.9e1 * t128 * t1136 - 0.8e2 / 0.9e1 * t405 * t1136 - 0.8e2 / 0.9e1 * t131 * t1103 - 0.4e2 / 0.3e1 * t410 * t1103 - 0.4e2 / 0.3e1 * t134 * t1109 - 0.16e3 / 0.9e1 * t415 * t1109 - 0.16e3 / 0.9e1 * t137 * t1114 - 0.2e3 / 0.9e1 * t420 * t1114 - 0.2e3 / 0.9e1 * t140 * t1119 - 0.8e2 / 0.3e1 * t425 * t1119 + 0.2e3 * t1240 * t1027 + 0.45e3 * t441 * t1037 + 0.25e3 * t152 * t997; + const double t1248 = t154 * t97; + const double t1255 = t157 * t103; + const double t1264 = t139 * t67; + const double t1271 = t142 * t73; + const double t1278 = t145 * t79; + const double t1281 = 0.25e3 * t1248 * t1037 + 0.5e4 / 0.9e1 * t446 * t997 + 0.275e4 / 0.9e1 * t155 * t992 + 0.275e4 / 0.9e1 * t1255 * t997 + 0.605e4 / 0.9e1 * t451 * t992 + 0.11e4 / 0.3e1 * t158 * t1005 + 0.5e3 / 0.9e1 * t137 * t1010 + 0.5e3 / 0.9e1 * t1264 * t1068 + 0.125e4 / 0.9e1 * t420 * t1010 + 0.25e3 / 0.3e1 * t140 * t1014 + 0.25e3 / 0.3e1 * t1271 * t1010 + 0.2e3 * t425 * t1014 + 0.35e3 / 0.3e1 * t143 * t1018 + 0.35e3 / 0.3e1 * t1278 * t1014; + const double t1283 = t1188 + t1218 + t1247 + t1281; + const double t1285 = -0.7690696867872e-3 * t958 * t964 * t120 + 0.5780898288e-1 * t303 * t970 * t120 - 0.3153217248e-1 * t303 * t307 * t393 + t46 * t1143 + 0.50297210791037951532e-1 * t395 * t1146 - 0.34088340999255810611e-3 * t1150 * t1152 - 0.27434842249657064472e-1 * t395 * t1155 + t125 * t1283; + const double t1290 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t933 * t162 - t939 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t459 + t949 - t951 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1285 ); + const double t1291 = t173 * t173; + const double t1292 = 0.1e1 / t1291; + const double t1293 = t467 * t467; + const double t1296 = t168 * t924; + const double t1299 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1303 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1293 + 0.4e1 / 0.3e1 * t173 * t1299 ); + const double t1304 = t1303 * t27; + const double t1308 = t470 * t295; + const double t1310 = t6 * t1308 * t277; + const double t1312 = t175 * t945; + const double t1315 = t6 * t1312 * t277 / 0.12e2; + const double t1317 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1304 * t277 - t1310 / 0.4e1 + t1315 ); + const double t1333 = t487 * t295; + const double t1335 = t6 * t1333 * t162; + const double t1357 = t498 * t295; + const double t1359 = t6 * t1357 * t277; + const double t1366 = t6 * t475 * t662; + const double t1374 = t484 * t484; + const double t1379 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t925 ); + const double t1383 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t1374 + 0.4e1 / 0.3e1 * t24 * t1379 ); + const double t1384 = t1383 * t27; + const double t1390 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1384 * t162 - t1335 / 0.4e1 + t949 ); + const double t1391 = t495 * t495; + const double t1396 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1400 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1391 + 0.4e1 / 0.3e1 * t173 * t1396 ); + const double t1401 = t1400 * t27; + const double t1412 = 0.1e1 / t503 / t185 * t49; + const double t1413 = t1412 * t957; + const double t1414 = sigma_bb * sigma_bb; + const double t1415 = t177 * t177; + const double t1416 = t1415 * t507; + const double t1418 = 0.1e1 / t178 / t1416; + const double t1419 = t1414 * t1418; + const double t1424 = 0.1e1 / t179 / t1415; + const double t1425 = sigma_bb * t1424; + const double t1432 = t509 * t195; + const double t1435 = tau_b * tau_b; + const double t1436 = t48 * t1435; + const double t1437 = t1415 * rho_b; + const double t1439 = 0.1e1 / t178 / t1437; + const double t1440 = t1439 * t200; + const double t1443 = t60 * t1435; + const double t1446 = t532 * t509; + const double t1449 = t539 * t509; + const double t1454 = t546 * t509; + const double t1457 = t215 * t1435; + const double t1458 = t1457 * t1439; + const double t1461 = t72 * t197; + const double t1462 = t210 * t1435; + const double t1463 = t1462 * t1439; + const double t1468 = t220 * t1435; + const double t1469 = t1468 * t1439; + const double t1472 = t78 * t202; + const double t1477 = -0.4e2 / 0.9e1 * t514 * t1432 + 0.5e2 / 0.9e1 * t1436 * t1440 + 0.5e2 / 0.9e1 * t1443 * t1440 - 0.16e3 / 0.9e1 * t536 * t1446 - 0.16e3 / 0.9e1 * t208 * t1449 - 0.2e3 / 0.9e1 * t543 * t1449 - 0.2e3 / 0.9e1 * t213 * t1454 + 0.1e3 / 0.3e1 * t203 * t1458 + 0.1e3 / 0.3e1 * t1461 * t1463 + 0.8e3 / 0.9e1 * t536 * t1458 + 0.5e3 / 0.9e1 * t208 * t1469 + 0.5e3 / 0.9e1 * t1472 * t1458 + 0.125e4 / 0.9e1 * t543 * t1469; + const double t1480 = t554 * t509; + const double t1485 = t561 * t509; + const double t1490 = t568 * t509; + const double t1495 = t575 * t509; + const double t1500 = t582 * t509; + const double t1505 = t591 * t509; + const double t1508 = t518 * t509; + const double t1513 = -0.8e2 / 0.3e1 * t550 * t1454 - 0.8e2 / 0.3e1 * t218 * t1480 - 0.28e3 / 0.9e1 * t558 * t1480 - 0.28e3 / 0.9e1 * t223 * t1485 - 0.32e3 / 0.9e1 * t565 * t1485 - 0.32e3 / 0.9e1 * t228 * t1490 - 0.4e2 * t572 * t1490 - 0.4e2 * t233 * t1495 - 0.4e3 / 0.9e1 * t579 * t1495 - 0.4e3 / 0.9e1 * t238 * t1500 - 0.44e3 / 0.9e1 * t586 * t1500 - 0.44e3 / 0.9e1 * t243 * t1505 - 0.4e2 / 0.9e1 * t193 * t1508 - 0.8e2 / 0.9e1 * t522 * t1508; + const double t1515 = t525 * t509; + const double t1522 = t590 * t1435; + const double t1523 = t1522 * t1439; + const double t1527 = 0.1e1 / t229 / t214; + const double t1528 = t1527 * t1435; + const double t1529 = t1528 * t1439; + const double t1532 = t225 * t1435; + const double t1533 = t1532 * t1439; + const double t1536 = t84 * t207; + const double t1541 = t230 * t1435; + const double t1542 = t1541 * t1439; + const double t1545 = t90 * t212; + const double t1550 = t235 * t1435; + const double t1551 = t1550 * t1439; + const double t1554 = t96 * t217; + const double t1557 = -0.8e2 / 0.9e1 * t198 * t1515 - 0.4e2 / 0.3e1 * t529 * t1515 - 0.4e2 / 0.3e1 * t203 * t1446 + 0.605e4 / 0.9e1 * t586 * t1523 + 0.11e4 / 0.3e1 * t243 * t1529 + 0.25e3 / 0.3e1 * t213 * t1533 + 0.25e3 / 0.3e1 * t1536 * t1469 + 0.2e3 * t550 * t1533 + 0.35e3 / 0.3e1 * t218 * t1542 + 0.35e3 / 0.3e1 * t1545 * t1533 + 0.245e4 / 0.9e1 * t558 * t1542 + 0.14e4 / 0.9e1 * t223 * t1551 + 0.14e4 / 0.9e1 * t1554 * t1542; + const double t1560 = t240 * t1435; + const double t1561 = t1560 * t1439; + const double t1564 = t102 * t222; + const double t1569 = t245 * t1435; + const double t1570 = t1569 * t1439; + const double t1573 = t108 * t227; + const double t1578 = t205 * t1435; + const double t1579 = t1578 * t1439; + const double t1586 = t66 * t192; + const double t1593 = t114 * t232; + const double t1596 = 0.32e4 / 0.9e1 * t565 * t1551 + 0.2e3 * t228 * t1561 + 0.2e3 * t1564 * t1551 + 0.45e3 * t572 * t1561 + 0.25e3 * t233 * t1570 + 0.25e3 * t1573 * t1561 + 0.5e4 / 0.9e1 * t579 * t1570 + 0.5e2 / 0.9e1 * t193 * t1579 + 0.2e3 / 0.9e1 * t522 * t1579 + 0.5e2 / 0.3e1 * t198 * t1463 + 0.5e2 / 0.3e1 * t1586 * t1579 + 0.5e2 * t529 * t1463 + 0.275e4 / 0.9e1 * t238 * t1523 + 0.275e4 / 0.9e1 * t1593 * t1570; + const double t1598 = t1477 + t1513 + t1557 + t1596; + const double t1600 = t1424 * t250; + const double t1601 = t1600 * t275; + const double t1604 = t1149 * t1414; + const double t1605 = t1418 * t250; + const double t1606 = t1605 * t275; + const double t1609 = t599 * t660; + const double t1614 = t127 * t1435; + const double t1617 = t130 * t1435; + const double t1622 = t136 * t197; + const double t1629 = t139 * t202; + const double t1636 = t142 * t207; + const double t1643 = -0.4e2 / 0.9e1 * t603 * t1432 + 0.5e2 / 0.9e1 * t1614 * t1440 + 0.5e2 / 0.9e1 * t1617 * t1440 + 0.11e4 / 0.3e1 * t273 * t1529 + 0.1e3 / 0.3e1 * t1622 * t1463 + 0.8e3 / 0.9e1 * t618 * t1458 + 0.5e3 / 0.9e1 * t259 * t1469 + 0.5e3 / 0.9e1 * t1629 * t1458 + 0.125e4 / 0.9e1 * t623 * t1469 + 0.25e3 / 0.3e1 * t261 * t1533 + 0.25e3 / 0.3e1 * t1636 * t1469 + 0.2e3 * t628 * t1533 + 0.35e3 / 0.3e1 * t263 * t1542; + const double t1644 = t145 * t212; + const double t1651 = t148 * t217; + const double t1662 = t133 * t192; + const double t1675 = 0.35e3 / 0.3e1 * t1644 * t1533 + 0.245e4 / 0.9e1 * t634 * t1542 + 0.14e4 / 0.9e1 * t265 * t1551 + 0.14e4 / 0.9e1 * t1651 * t1542 + 0.32e4 / 0.9e1 * t639 * t1551 + 0.5e2 / 0.9e1 * t253 * t1579 + 0.2e3 / 0.9e1 * t608 * t1579 + 0.5e2 / 0.3e1 * t255 * t1463 + 0.5e2 / 0.3e1 * t1662 * t1579 + 0.5e2 * t613 * t1463 + 0.1e3 / 0.3e1 * t257 * t1458 - 0.4e3 / 0.9e1 * t649 * t1495 - 0.4e3 / 0.9e1 * t271 * t1500 - 0.44e3 / 0.9e1 * t654 * t1500; + const double t1703 = -0.44e3 / 0.9e1 * t273 * t1505 - 0.4e2 / 0.3e1 * t257 * t1446 - 0.16e3 / 0.9e1 * t618 * t1446 - 0.16e3 / 0.9e1 * t259 * t1449 - 0.2e3 / 0.9e1 * t623 * t1449 - 0.2e3 / 0.9e1 * t261 * t1454 - 0.8e2 / 0.3e1 * t628 * t1454 - 0.8e2 / 0.3e1 * t263 * t1480 - 0.28e3 / 0.9e1 * t634 * t1480 - 0.28e3 / 0.9e1 * t265 * t1485 - 0.32e3 / 0.9e1 * t639 * t1485 - 0.32e3 / 0.9e1 * t267 * t1490 - 0.4e2 * t644 * t1490; + const double t1716 = t151 * t222; + const double t1723 = t154 * t227; + const double t1730 = t157 * t232; + const double t1735 = -0.4e2 * t269 * t1495 - 0.4e2 / 0.9e1 * t253 * t1508 - 0.8e2 / 0.9e1 * t608 * t1508 - 0.8e2 / 0.9e1 * t255 * t1515 - 0.4e2 / 0.3e1 * t613 * t1515 + 0.2e3 * t267 * t1561 + 0.2e3 * t1716 * t1551 + 0.45e3 * t644 * t1561 + 0.25e3 * t269 * t1570 + 0.25e3 * t1723 * t1561 + 0.5e4 / 0.9e1 * t649 * t1570 + 0.275e4 / 0.9e1 * t271 * t1523 + 0.275e4 / 0.9e1 * t1730 * t1570 + 0.605e4 / 0.9e1 * t654 * t1523; + const double t1737 = t1643 + t1675 + t1703 + t1735; + const double t1739 = -0.7690696867872e-3 * t1413 * t1419 * t247 + 0.5780898288e-1 * t506 * t1425 * t247 - 0.3153217248e-1 * t506 * t510 * t596 + t188 * t1598 + 0.50297210791037951532e-1 * t598 * t1601 - 0.34088340999255810611e-3 * t1604 * t1606 - 0.27434842249657064472e-1 * t598 * t1609 + t252 * t1737; + const double t1744 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1401 * t277 - t1359 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t499 * t662 + t1315 - t1366 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t176 * t1739 ); + const double t1752 = t6 * t296 * t678 / 0.8e1; + const double t1753 = t960 * t35; + const double t1755 = 0.1e1 / t36 / t1753; + const double t1760 = t33 * t306; + const double t1769 = t1149 * t1755; + const double t1770 = sigma_aa * t123; + const double t1771 = t1770 * t160; + const double t1777 = 0.2884011325452e-3 * t958 * t1755 * t120 * sigma_aa - 0.1576608624e-1 * t302 * t1760 * t120 + 0.591228234e-2 * t302 * t670 * t393 - 0.13717421124828532236e-1 * t34 * t397 + 0.12783127874720928979e-3 * t1769 * t1771 + 0.51440329218106995885e-2 * t34 * t674 * t457; + const double t1782 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t678 - t1752 - 0.3e1 / 0.8e1 * t6 * t28 * t1777 ); + const double t1789 = t6 * t475 * t691 / 0.8e1; + const double t1802 = t1415 * t177; + const double t1804 = 0.1e1 / t178 / t1802; + const double t1809 = t33 * t509; + const double t1818 = t1149 * t1804; + const double t1819 = sigma_bb * t250; + const double t1820 = t1819 * t275; + const double t1826 = 0.2884011325452e-3 * t1413 * t1804 * t247 * sigma_bb - 0.1576608624e-1 * t505 * t1809 * t247 + 0.591228234e-2 * t505 * t683 * t596 - 0.13717421124828532236e-1 * t34 * t600 + 0.12783127874720928979e-3 * t1818 * t1820 + 0.51440329218106995885e-2 * t34 * t687 * t660; + const double t1831 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t691 - t1789 - 0.3e1 / 0.8e1 * t6 * t176 * t1826 ); + const double t1838 = t6 * t296 * t801 / 0.8e1; + const double t1842 = t106 * t39; + const double t1845 = t112 * t39; + const double t1850 = t118 * t39; + const double t1855 = t387 * t39; + const double t1858 = t82 * t39; + const double t1863 = t88 * t39; + const double t1871 = t94 * t39; + const double t1876 = 0.15e2 * t369 * t1842 + 0.15e2 * t104 * t1845 + 0.5e2 / 0.3e1 * t376 * t1845 + 0.5e2 / 0.3e1 * t110 * t1850 + 0.55e2 / 0.3e1 * t383 * t1850 + 0.55e2 / 0.3e1 * t116 * t1855 + 0.2e2 / 0.3e1 * t74 * t1858 + 0.25e2 / 0.3e1 * t340 * t1858 + 0.25e2 / 0.3e1 * t80 * t1863 + 0.1e2 * t347 * t1863 + 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.1e2 * t86 * t1871 + 0.35e2 / 0.3e1 * t355 * t1871; + const double t1877 = t100 * t39; + const double t1884 = t64 * t39; + const double t1889 = t70 * t39; + const double t1894 = t76 * t39; + const double t1900 = 0.1e1 / t36 / t960; + const double t1901 = t48 * t1900; + const double t1904 = t60 * tau_a; + const double t1905 = t1900 * t64; + const double t1908 = t82 * t1900; + const double t1909 = t1908 * tau_a; + const double t1912 = t118 * t1900; + const double t1913 = t1912 * tau_a; + const double t1916 = t387 * t1900; + const double t1917 = t1916 * tau_a; + const double t1920 = 0.35e2 / 0.3e1 * t92 * t1877 + 0.4e2 / 0.3e1 * t362 * t1877 + 0.4e2 / 0.3e1 * t98 * t1842 + 0.5e1 / 0.3e1 * t56 * t1884 + 0.1e2 / 0.3e1 * t319 * t1884 + 0.1e2 / 0.3e1 * t62 * t1889 + 0.5e1 * t326 * t1889 + 0.5e1 * t68 * t1894 + 0.2e2 / 0.3e1 * t333 * t1894 - 0.1e2 / 0.3e1 * t1901 * t315 - 0.1e2 / 0.3e1 * t1904 * t1905 - 0.2e2 * t68 * t1909 - 0.55e3 / 0.3e1 * t995 * t1913 - 0.121e4 / 0.3e1 * t383 * t1917; + const double t1922 = t1003 * t1900; + const double t1923 = t1922 * tau_a; + const double t1926 = t76 * t1900; + const double t1927 = t1926 * tau_a; + const double t1932 = t88 * t1900; + const double t1933 = t1932 * tau_a; + const double t1940 = t94 * t1900; + const double t1941 = t1940 * tau_a; + const double t1948 = t100 * t1900; + const double t1949 = t1948 * tau_a; + const double t1956 = t106 * t1900; + const double t1957 = t1956 * tau_a; + const double t1960 = -0.22e3 * t116 * t1923 - 0.2e2 * t1073 * t1927 - 0.16e3 / 0.3e1 * t333 * t1909 - 0.1e3 / 0.3e1 * t74 * t1933 - 0.1e3 / 0.3e1 * t1080 * t1909 - 0.25e3 / 0.3e1 * t340 * t1933 - 0.5e2 * t80 * t1941 - 0.5e2 * t1008 * t1933 - 0.12e3 * t347 * t1941 - 0.7e2 * t86 * t1949 - 0.7e2 * t1021 * t1941 - 0.49e3 / 0.3e1 * t355 * t1949 - 0.28e3 / 0.3e1 * t92 * t1957; + const double t1965 = t70 * t1900; + const double t1966 = t1965 * tau_a; + const double t1977 = t112 * t1900; + const double t1978 = t1977 * tau_a; + const double t1993 = -0.28e3 / 0.3e1 * t1031 * t1949 - 0.64e3 / 0.3e1 * t362 * t1957 - 0.1e2 / 0.3e1 * t56 * t1966 - 0.4e2 / 0.3e1 * t319 * t1966 - 0.1e2 * t62 * t1927 - 0.1e2 * t1062 * t1966 - 0.3e2 * t326 * t1927 - 0.12e3 * t98 * t1978 - 0.12e3 * t1040 * t1957 - 0.27e3 * t369 * t1978 - 0.15e3 * t104 * t1913 - 0.15e3 * t1047 * t1978 - 0.1e4 / 0.3e1 * t376 * t1913 - 0.55e3 / 0.3e1 * t110 * t1917; + const double t1995 = t1876 + t1920 + t1960 + t1993; + const double t1997 = t396 * t799; + const double t2005 = t127 * t1900; + const double t2008 = t130 * tau_a; + const double t2029 = 0.5e1 / 0.3e1 * t127 * t39 * t58 + 0.1e2 / 0.3e1 * t131 * t1889 - 0.1e2 / 0.3e1 * t2005 * t315 - 0.1e2 / 0.3e1 * t2008 * t1905 + 0.35e2 / 0.3e1 * t146 * t1877 + 0.4e2 / 0.3e1 * t436 * t1877 + 0.4e2 / 0.3e1 * t149 * t1842 + 0.15e2 * t441 * t1842 + 0.15e2 * t152 * t1845 + 0.5e2 / 0.3e1 * t446 * t1845 + 0.5e2 / 0.3e1 * t155 * t1850 + 0.55e2 / 0.3e1 * t451 * t1850 + 0.55e2 / 0.3e1 * t158 * t1855; + const double t2058 = 0.5e1 * t410 * t1889 + 0.5e1 * t134 * t1894 + 0.2e2 / 0.3e1 * t415 * t1894 + 0.2e2 / 0.3e1 * t137 * t1858 + 0.25e2 / 0.3e1 * t420 * t1858 + 0.25e2 / 0.3e1 * t140 * t1863 + 0.1e2 * t425 * t1863 + 0.1e2 * t143 * t1871 + 0.35e2 / 0.3e1 * t431 * t1871 + 0.5e1 / 0.3e1 * t128 * t1884 + 0.1e2 / 0.3e1 * t405 * t1884 - 0.22e3 * t158 * t1923 - 0.1e2 * t131 * t1927 - 0.1e2 * t1181 * t1966; + const double t2086 = -0.3e2 * t410 * t1927 - 0.2e2 * t134 * t1909 - 0.2e2 * t1189 * t1927 - 0.16e3 / 0.3e1 * t415 * t1909 - 0.1e3 / 0.3e1 * t137 * t1933 - 0.1e3 / 0.3e1 * t1264 * t1909 - 0.25e3 / 0.3e1 * t420 * t1933 - 0.5e2 * t140 * t1941 - 0.5e2 * t1271 * t1933 - 0.12e3 * t425 * t1941 - 0.7e2 * t143 * t1949 - 0.7e2 * t1278 * t1941 - 0.49e3 / 0.3e1 * t431 * t1949; + const double t2115 = -0.1e2 / 0.3e1 * t128 * t1966 - 0.4e2 / 0.3e1 * t405 * t1966 - 0.28e3 / 0.3e1 * t146 * t1957 - 0.28e3 / 0.3e1 * t1168 * t1949 - 0.64e3 / 0.3e1 * t436 * t1957 - 0.12e3 * t149 * t1978 - 0.12e3 * t1240 * t1957 - 0.27e3 * t441 * t1978 - 0.15e3 * t152 * t1913 - 0.15e3 * t1248 * t1978 - 0.1e4 / 0.3e1 * t446 * t1913 - 0.55e3 / 0.3e1 * t155 * t1917 - 0.55e3 / 0.3e1 * t1255 * t1913 - 0.121e4 / 0.3e1 * t451 * t1917; + const double t2117 = t2029 + t2058 + t2086 + t2115; + const double t2119 = -0.1576608624e-1 * t303 * t307 * t752 + t46 * t1995 - 0.13717421124828532236e-1 * t395 * t1997 + t125 * t2117; + const double t2124 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t801 - t1838 - 0.3e1 / 0.8e1 * t6 * t28 * t2119 ); + const double t2131 = t6 * t475 * t911 / 0.8e1; + const double t2151 = 0.1e1 / t178 / t1415; + const double t2152 = t225 * t2151; + const double t2153 = t2152 * tau_b; + const double t2156 = t230 * t2151; + const double t2157 = t2156 * tau_b; + const double t2164 = t235 * t2151; + const double t2165 = t2164 * tau_b; + const double t2168 = t205 * t2151; + const double t2169 = t2168 * tau_b; + const double t2174 = t210 * t2151; + const double t2175 = t2174 * tau_b; + const double t2184 = t240 * t2151; + const double t2185 = t2184 * tau_b; + const double t2188 = 0.5e1 / 0.3e1 * t48 * t181 * t195 - 0.12e3 * t550 * t2153 - 0.7e2 * t218 * t2157 - 0.7e2 * t1545 * t2153 - 0.49e3 / 0.3e1 * t558 * t2157 - 0.28e3 / 0.3e1 * t223 * t2165 - 0.1e2 / 0.3e1 * t193 * t2169 - 0.4e2 / 0.3e1 * t522 * t2169 - 0.1e2 * t198 * t2175 - 0.1e2 * t1586 * t2169 - 0.3e2 * t529 * t2175 - 0.12e3 * t1564 * t2165 - 0.27e3 * t572 * t2185; + const double t2189 = t245 * t2151; + const double t2190 = t2189 * tau_b; + const double t2197 = t590 * t2151; + const double t2198 = t2197 * tau_b; + const double t2205 = t1527 * t2151; + const double t2206 = t2205 * tau_b; + const double t2209 = t215 * t2151; + const double t2210 = t2209 * tau_b; + const double t2217 = t220 * t2151; + const double t2218 = t2217 * tau_b; + const double t2227 = -0.15e3 * t233 * t2190 - 0.15e3 * t1573 * t2185 - 0.1e4 / 0.3e1 * t579 * t2190 - 0.55e3 / 0.3e1 * t238 * t2198 - 0.55e3 / 0.3e1 * t1593 * t2190 - 0.121e4 / 0.3e1 * t586 * t2198 - 0.22e3 * t243 * t2206 - 0.2e2 * t203 * t2210 - 0.2e2 * t1461 * t2175 - 0.16e3 / 0.3e1 * t536 * t2210 - 0.1e3 / 0.3e1 * t208 * t2218 - 0.1e3 / 0.3e1 * t1472 * t2210 - 0.25e3 / 0.3e1 * t543 * t2218 - 0.5e2 * t213 * t2153; + const double t2237 = t230 * t181; + const double t2240 = t235 * t181; + const double t2245 = t240 * t181; + const double t2250 = t245 * t181; + const double t2255 = t590 * t181; + const double t2258 = t210 * t181; + const double t2261 = -0.5e2 * t1536 * t2218 - 0.28e3 / 0.3e1 * t1554 * t2157 - 0.64e3 / 0.3e1 * t565 * t2165 - 0.12e3 * t228 * t2185 + 0.4e2 / 0.3e1 * t565 * t2237 + 0.4e2 / 0.3e1 * t228 * t2240 + 0.15e2 * t572 * t2240 + 0.15e2 * t233 * t2245 + 0.5e2 / 0.3e1 * t579 * t2245 + 0.5e2 / 0.3e1 * t238 * t2250 + 0.55e2 / 0.3e1 * t586 * t2250 + 0.55e2 / 0.3e1 * t243 * t2255 + 0.5e1 * t203 * t2258; + const double t2264 = t215 * t181; + const double t2269 = t220 * t181; + const double t2274 = t225 * t181; + const double t2281 = t200 * t181; + const double t2286 = t205 * t181; + const double t2291 = t48 * t2151; + const double t2294 = t60 * tau_b; + const double t2295 = t2151 * t200; + const double t2298 = 0.2e2 / 0.3e1 * t536 * t2258 + 0.2e2 / 0.3e1 * t208 * t2264 + 0.25e2 / 0.3e1 * t543 * t2264 + 0.25e2 / 0.3e1 * t213 * t2269 + 0.1e2 * t550 * t2269 + 0.1e2 * t218 * t2274 + 0.35e2 / 0.3e1 * t558 * t2274 + 0.35e2 / 0.3e1 * t223 * t2237 + 0.5e1 / 0.3e1 * t193 * t2281 + 0.1e2 / 0.3e1 * t522 * t2281 + 0.1e2 / 0.3e1 * t198 * t2286 + 0.5e1 * t529 * t2286 - 0.1e2 / 0.3e1 * t2291 * t518 - 0.1e2 / 0.3e1 * t2294 * t2295; + const double t2300 = t2188 + t2227 + t2261 + t2298; + const double t2302 = t599 * t909; + const double t2332 = 0.5e1 / 0.3e1 * t127 * t181 * t195 - 0.1e2 * t255 * t2175 - 0.1e2 * t1662 * t2169 - 0.3e2 * t613 * t2175 - 0.2e2 * t257 * t2210 - 0.2e2 * t1622 * t2175 - 0.16e3 / 0.3e1 * t618 * t2210 - 0.1e3 / 0.3e1 * t259 * t2218 - 0.1e3 / 0.3e1 * t1629 * t2210 - 0.25e3 / 0.3e1 * t623 * t2218 - 0.5e2 * t261 * t2153 - 0.5e2 * t1636 * t2218 - 0.12e3 * t628 * t2153; + const double t2361 = -0.1e2 / 0.3e1 * t253 * t2169 - 0.12e3 * t267 * t2185 - 0.12e3 * t1716 * t2165 - 0.27e3 * t644 * t2185 - 0.15e3 * t269 * t2190 - 0.15e3 * t1723 * t2185 - 0.1e4 / 0.3e1 * t649 * t2190 - 0.55e3 / 0.3e1 * t271 * t2198 - 0.55e3 / 0.3e1 * t1730 * t2190 - 0.4e2 / 0.3e1 * t608 * t2169 - 0.121e4 / 0.3e1 * t654 * t2198 - 0.22e3 * t273 * t2206 - 0.7e2 * t263 * t2157 - 0.7e2 * t1644 * t2153; + const double t2389 = -0.49e3 / 0.3e1 * t634 * t2157 - 0.28e3 / 0.3e1 * t265 * t2165 - 0.28e3 / 0.3e1 * t1651 * t2157 - 0.64e3 / 0.3e1 * t639 * t2165 + 0.55e2 / 0.3e1 * t273 * t2255 + 0.35e2 / 0.3e1 * t634 * t2274 + 0.35e2 / 0.3e1 * t265 * t2237 + 0.4e2 / 0.3e1 * t639 * t2237 + 0.4e2 / 0.3e1 * t267 * t2240 + 0.15e2 * t644 * t2240 + 0.15e2 * t269 * t2245 + 0.5e2 / 0.3e1 * t649 * t2245 + 0.5e2 / 0.3e1 * t271 * t2250; + const double t2414 = t127 * t2151; + const double t2417 = t130 * tau_b; + const double t2420 = 0.55e2 / 0.3e1 * t654 * t2250 + 0.1e2 / 0.3e1 * t608 * t2281 + 0.1e2 / 0.3e1 * t255 * t2286 + 0.5e1 * t613 * t2286 + 0.5e1 * t257 * t2258 + 0.2e2 / 0.3e1 * t618 * t2258 + 0.2e2 / 0.3e1 * t259 * t2264 + 0.25e2 / 0.3e1 * t623 * t2264 + 0.25e2 / 0.3e1 * t261 * t2269 + 0.1e2 * t628 * t2269 + 0.1e2 * t263 * t2274 + 0.5e1 / 0.3e1 * t253 * t2281 - 0.1e2 / 0.3e1 * t2414 * t518 - 0.1e2 / 0.3e1 * t2417 * t2295; + const double t2422 = t2332 + t2361 + t2389 + t2420; + const double t2424 = -0.1576608624e-1 * t506 * t510 * t862 + t188 * t2300 - 0.13717421124828532236e-1 * t598 * t2302 + t252 * t2422; + const double t2429 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t911 - t2131 - 0.3e1 / 0.8e1 * t6 * t176 * t2424 ); + const double t2431 = t957 * t981; + const double t2435 = t981 * t123; + const double t2439 = -0.10815042470445e-3 * t955 * t2431 * t120 - 0.4793672953020348367e-4 * t1149 * t2435 * t160; + const double t2443 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2439 ); + const double t2444 = t957 * t1439; + const double t2448 = t1439 * t250; + const double t2452 = -0.10815042470445e-3 * t1412 * t2444 * t247 - 0.4793672953020348367e-4 * t1149 * t2448 * t275; + const double t2456 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2452 ); + const double t2463 = 0.591228234e-2 * t302 * t670 * t752 + 0.51440329218106995885e-2 * t34 * t674 * t799; + const double t2467 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2463 ); + const double t2474 = 0.591228234e-2 * t505 * t683 * t862 + 0.51440329218106995885e-2 * t34 * t687 * t909; + const double t2478 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2474 ); + const double t2480 = 0.1e1 / t36 / t304; + const double t2481 = t100 * t2480; + const double t2484 = t106 * t2480; + const double t2487 = t112 * t2480; + const double t2490 = t118 * t2480; + const double t2493 = t70 * t2480; + const double t2496 = t76 * t2480; + const double t2499 = t82 * t2480; + const double t2502 = t88 * t2480; + const double t2505 = t94 * t2480; + const double t2522 = 0.3e2 * t1008 * t2502 + 0.42e2 * t1021 * t2505 + 0.56e2 * t1031 * t2481 + 0.72e2 * t1040 * t2484 + 0.9e2 * t1047 * t2487 + 0.6e1 * t1062 * t2493 + 0.12e2 * t1073 * t2496 + 0.2e2 * t1080 * t2499 + 0.98e2 * t2481 * t355 + 0.42e2 * t2481 * t86 + 0.56e2 * t2484 * t92 + 0.11e3 * t2490 * t995 + 0.5e2 * t2502 * t340 + 0.2e2 * t2502 * t74 + 0.72e2 * t2505 * t347 + 0.3e2 * t2505 * t80; + const double t2533 = t387 * t2480; + const double t2538 = t1003 * t2480; + const double t2559 = 0.2e1 * t2480 * t48 * t64 + 0.2e1 * t2480 * t60 * t64 + 0.9e2 * t104 * t2490 + 0.11e3 * t110 * t2533 + 0.132e3 * t116 * t2538 + 0.128e3 * t2484 * t362 + 0.162e3 * t2487 * t369 + 0.72e2 * t2487 * t98 + 0.2e3 * t2490 * t376 + 0.8e1 * t2493 * t319 + 0.2e1 * t2493 * t56 + 0.18e2 * t2496 * t326 + 0.6e1 * t2496 * t62 + 0.32e2 * t2499 * t333 + 0.12e2 * t2499 * t68 + 0.242e3 * t2533 * t383; + const double t2560 = t2522 + t2559; + const double t2594 = 0.56e2 * t1168 * t2481 + 0.6e1 * t1181 * t2493 + 0.12e2 * t1189 * t2496 + 0.72e2 * t1240 * t2484 + 0.9e2 * t1248 * t2487 + 0.11e3 * t1255 * t2490 + 0.2e2 * t1264 * t2499 + 0.3e2 * t1271 * t2502 + 0.42e2 * t1278 * t2505 + 0.2e1 * t128 * t2493 + 0.9e2 * t152 * t2490 + 0.11e3 * t155 * t2533 + 0.132e3 * t158 * t2538 + 0.162e3 * t2487 * t441 + 0.2e3 * t2490 * t446 + 0.242e3 * t2533 * t451; + const double t2629 = 0.2e1 * t127 * t2480 * t64 + 0.2e1 * t130 * t2480 * t64 + 0.6e1 * t131 * t2496 + 0.12e2 * t134 * t2499 + 0.2e2 * t137 * t2502 + 0.3e2 * t140 * t2505 + 0.42e2 * t143 * t2481 + 0.56e2 * t146 * t2484 + 0.72e2 * t149 * t2487 + 0.98e2 * t2481 * t431 + 0.128e3 * t2484 * t436 + 0.8e1 * t2493 * t405 + 0.18e2 * t2496 * t410 + 0.32e2 * t2499 * t415 + 0.5e2 * t2502 * t420 + 0.72e2 * t2505 * t425; + const double t2630 = t2594 + t2629; + const double t2632 = t125 * t2630 + t2560 * t46; + const double t2636 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2632 ); + const double t2638 = 0.1e1 / t178 / t507; + const double t2639 = t230 * t2638; + const double t2642 = t235 * t2638; + const double t2645 = t240 * t2638; + const double t2648 = t245 * t2638; + const double t2651 = t205 * t2638; + const double t2654 = t210 * t2638; + const double t2657 = t215 * t2638; + const double t2660 = t220 * t2638; + const double t2663 = t225 * t2638; + const double t2672 = t590 * t2638; + const double t2677 = t1527 * t2638; + const double t2682 = 0.12e2 * t1461 * t2654 + 0.2e2 * t1472 * t2657 + 0.3e2 * t1536 * t2660 + 0.42e2 * t1545 * t2663 + 0.56e2 * t1554 * t2639 + 0.72e2 * t1564 * t2642 + 0.9e2 * t1573 * t2645 + 0.6e1 * t1586 * t2651 + 0.11e3 * t1593 * t2648 + 0.2e1 * t193 * t2651 + 0.9e2 * t233 * t2648 + 0.11e3 * t238 * t2672 + 0.132e3 * t243 * t2677 + 0.162e3 * t2645 * t572 + 0.2e3 * t2648 * t579 + 0.242e3 * t2672 * t586; + const double t2717 = 0.2e1 * t200 * t2638 * t48 + 0.2e1 * t200 * t2638 * t60 + 0.6e1 * t198 * t2654 + 0.12e2 * t203 * t2657 + 0.2e2 * t208 * t2660 + 0.3e2 * t213 * t2663 + 0.42e2 * t218 * t2639 + 0.56e2 * t223 * t2642 + 0.72e2 * t228 * t2645 + 0.98e2 * t2639 * t558 + 0.128e3 * t2642 * t565 + 0.8e1 * t2651 * t522 + 0.18e2 * t2654 * t529 + 0.32e2 * t2657 * t536 + 0.5e2 * t2660 * t543 + 0.72e2 * t2663 * t550; + const double t2718 = t2682 + t2717; + const double t2752 = 0.12e2 * t1622 * t2654 + 0.2e2 * t1629 * t2657 + 0.3e2 * t1636 * t2660 + 0.42e2 * t1644 * t2663 + 0.56e2 * t1651 * t2639 + 0.6e1 * t1662 * t2651 + 0.72e2 * t1716 * t2642 + 0.9e2 * t1723 * t2645 + 0.11e3 * t1730 * t2648 + 0.42e2 * t263 * t2639 + 0.98e2 * t2639 * t634 + 0.56e2 * t2642 * t265 + 0.128e3 * t2642 * t639 + 0.72e2 * t2645 * t267 + 0.162e3 * t2645 * t644 + 0.72e2 * t2663 * t628; + const double t2787 = 0.2e1 * t127 * t200 * t2638 + 0.2e1 * t130 * t200 * t2638 + 0.2e1 * t253 * t2651 + 0.6e1 * t255 * t2654 + 0.12e2 * t257 * t2657 + 0.2e2 * t259 * t2660 + 0.3e2 * t261 * t2663 + 0.9e2 * t2648 * t269 + 0.2e3 * t2648 * t649 + 0.8e1 * t2651 * t608 + 0.18e2 * t2654 * t613 + 0.32e2 * t2657 * t618 + 0.5e2 * t2660 * t623 + 0.11e3 * t2672 * t271 + 0.242e3 * t2672 * t654 + 0.132e3 * t2677 * t273; + const double t2788 = t2752 + t2787; + const double t2790 = t188 * t2718 + t252 * t2788; + const double t2794 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2790 ); + + + v2rho2_aa = 0.2e1 * t464 + 0.2e1 * t480 + t7 * ( t1290 + t1317 ); + v2rho2_bb = 0.2e1 * t493 + 0.2e1 * t667 + t7 * ( t1390 + t1744 ); + v2rhosigma_a_aa = t1782 * t7 + t682; + v2rhosigma_b_bb = t1831 * t7 + t695; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2124 * t7 + t805; + v2rhotau_b_b = t2429 * t7 + t915; + v2sigma2_aa_aa = t7 * t2443; + v2sigma2_bb_bb = t7 * t2456; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2467; + v2sigmatau_bb_b = t7 * t2478; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2636; + v2tau2_bb = t7 * t2794; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + constexpr double t957 = 0.1e1 / t31 / t30; + constexpr double t1149 = t49 * t957; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t162 ); + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t281 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t162 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t312 = t39 * t58; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t312 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t389 = t388 * t39; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t389; + const double t393 = t350 + t392; + const double t395 = t34 * sigma_aa; + const double t396 = t306 * t123; + const double t397 = t396 * t160; + const double t400 = t127 * tau_a; + const double t405 = t130 * t55; + const double t410 = t133 * t61; + const double t415 = t136 * t67; + const double t420 = t139 * t73; + const double t425 = t142 * t79; + const double t428 = 0.5e1 / 0.3e1 * t400 * t312 + 0.5e1 / 0.3e1 * t128 * t316 + 0.1e2 / 0.3e1 * t405 * t316 + 0.1e2 / 0.3e1 * t131 * t323 + 0.5e1 * t410 * t323 + 0.5e1 * t134 * t330 + 0.2e2 / 0.3e1 * t415 * t330 + 0.2e2 / 0.3e1 * t137 * t337 + 0.25e2 / 0.3e1 * t420 * t337 + 0.25e2 / 0.3e1 * t140 * t344 + 0.1e2 * t425 * t344; + const double t431 = t145 * t85; + const double t436 = t148 * t91; + const double t441 = t151 * t97; + const double t446 = t154 * t103; + const double t451 = t157 * t109; + const double t456 = 0.1e2 * t143 * t352 + 0.35e2 / 0.3e1 * t431 * t352 + 0.35e2 / 0.3e1 * t146 * t359 + 0.4e2 / 0.3e1 * t436 * t359 + 0.4e2 / 0.3e1 * t149 * t366 + 0.15e2 * t441 * t366 + 0.15e2 * t152 * t373 + 0.5e2 / 0.3e1 * t446 * t373 + 0.5e2 / 0.3e1 * t155 * t380 + 0.55e2 / 0.3e1 * t451 * t380 + 0.55e2 / 0.3e1 * t158 * t389; + const double t457 = t428 + t456; + const double t459 = -0.1576608624e-1 * t303 * t307 * t120 + t46 * t393 - 0.13717421124828532236e-1 * t395 * t397 + t125 * t457; + const double t464 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t162 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t459 ); + const double t465 = t168 * t283; + const double t467 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t465 ); + const double t470 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t467 ); + const double t471 = t470 * t27; + const double t475 = t175 * t295; + const double t478 = t6 * t475 * t277 / 0.8e1; + const double t480 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t471 * t277 - t478 ); + const double t484 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t487 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t484 ); + const double t488 = t487 * t27; + const double t493 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t488 * t162 - t299 ); + const double t495 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t465 ); + const double t498 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t495 ); + const double t499 = t498 * t27; + const double t503 = t185 * t185; + const double t505 = 0.1e1 / t503 * t29; + const double t506 = t505 * t33; + const double t507 = t177 * rho_b; + const double t509 = 0.1e1 / t179 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t48 * tau_b; + const double t515 = t181 * t195; + const double t518 = t200 * tau_b; + const double t519 = t518 * t181; + const double t522 = t60 * t192; + const double t525 = t205 * tau_b; + const double t526 = t525 * t181; + const double t529 = t66 * t197; + const double t532 = t210 * tau_b; + const double t533 = t532 * t181; + const double t536 = t72 * t202; + const double t539 = t215 * tau_b; + const double t540 = t539 * t181; + const double t543 = t78 * t207; + const double t546 = t220 * tau_b; + const double t547 = t546 * t181; + const double t550 = t84 * t212; + const double t553 = 0.5e1 / 0.3e1 * t514 * t515 + 0.5e1 / 0.3e1 * t193 * t519 + 0.1e2 / 0.3e1 * t522 * t519 + 0.1e2 / 0.3e1 * t198 * t526 + 0.5e1 * t529 * t526 + 0.5e1 * t203 * t533 + 0.2e2 / 0.3e1 * t536 * t533 + 0.2e2 / 0.3e1 * t208 * t540 + 0.25e2 / 0.3e1 * t543 * t540 + 0.25e2 / 0.3e1 * t213 * t547 + 0.1e2 * t550 * t547; + const double t554 = t225 * tau_b; + const double t555 = t554 * t181; + const double t558 = t90 * t217; + const double t561 = t230 * tau_b; + const double t562 = t561 * t181; + const double t565 = t96 * t222; + const double t568 = t235 * tau_b; + const double t569 = t568 * t181; + const double t572 = t102 * t227; + const double t575 = t240 * tau_b; + const double t576 = t575 * t181; + const double t579 = t108 * t232; + const double t582 = t245 * tau_b; + const double t583 = t582 * t181; + const double t586 = t114 * t237; + const double t590 = 0.1e1 / t229 / t209; + const double t591 = t590 * tau_b; + const double t592 = t591 * t181; + const double t595 = 0.1e2 * t218 * t555 + 0.35e2 / 0.3e1 * t558 * t555 + 0.35e2 / 0.3e1 * t223 * t562 + 0.4e2 / 0.3e1 * t565 * t562 + 0.4e2 / 0.3e1 * t228 * t569 + 0.15e2 * t572 * t569 + 0.15e2 * t233 * t576 + 0.5e2 / 0.3e1 * t579 * t576 + 0.5e2 / 0.3e1 * t238 * t583 + 0.55e2 / 0.3e1 * t586 * t583 + 0.55e2 / 0.3e1 * t243 * t592; + const double t596 = t553 + t595; + const double t598 = t34 * sigma_bb; + const double t599 = t509 * t250; + const double t600 = t599 * t275; + const double t603 = t127 * tau_b; + const double t608 = t130 * t192; + const double t613 = t133 * t197; + const double t618 = t136 * t202; + const double t623 = t139 * t207; + const double t628 = t142 * t212; + const double t631 = 0.5e1 / 0.3e1 * t603 * t515 + 0.5e1 / 0.3e1 * t253 * t519 + 0.1e2 / 0.3e1 * t608 * t519 + 0.1e2 / 0.3e1 * t255 * t526 + 0.5e1 * t613 * t526 + 0.5e1 * t257 * t533 + 0.2e2 / 0.3e1 * t618 * t533 + 0.2e2 / 0.3e1 * t259 * t540 + 0.25e2 / 0.3e1 * t623 * t540 + 0.25e2 / 0.3e1 * t261 * t547 + 0.1e2 * t628 * t547; + const double t634 = t145 * t217; + const double t639 = t148 * t222; + const double t644 = t151 * t227; + const double t649 = t154 * t232; + const double t654 = t157 * t237; + const double t659 = 0.1e2 * t263 * t555 + 0.35e2 / 0.3e1 * t634 * t555 + 0.35e2 / 0.3e1 * t265 * t562 + 0.4e2 / 0.3e1 * t639 * t562 + 0.4e2 / 0.3e1 * t267 * t569 + 0.15e2 * t644 * t569 + 0.15e2 * t269 * t576 + 0.5e2 / 0.3e1 * t649 * t576 + 0.5e2 / 0.3e1 * t271 * t583 + 0.55e2 / 0.3e1 * t654 * t583 + 0.55e2 / 0.3e1 * t273 * t592; + const double t660 = t631 + t659; + const double t662 = -0.1576608624e-1 * t506 * t510 * t247 + t188 * t596 - 0.13717421124828532236e-1 * t598 * t600 + t252 * t660; + const double t667 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t277 - t478 - 0.3e1 / 0.8e1 * t6 * t176 * t662 ); + const double t670 = t33 * t39; + const double t674 = t39 * t123; + const double t678 = 0.591228234e-2 * t302 * t670 * t120 + 0.51440329218106995885e-2 * t34 * t674 * t160; + const double t682 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t678 ); + const double t683 = t33 * t181; + const double t687 = t181 * t250; + const double t691 = 0.591228234e-2 * t505 * t683 * t247 + 0.51440329218106995885e-2 * t34 * t687 * t275; + const double t695 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t691 ); + const double t698 = t64 * t53; + const double t702 = t70 * t53; + const double t707 = t76 * t53; + const double t712 = t82 * t53; + const double t717 = t88 * t53; + const double t722 = -t48 * t53 * t58 - 0.2e1 * t319 * t698 - 0.3e1 * t326 * t702 - 0.4e1 * t333 * t707 - 0.5e1 * t340 * t712 - 0.6e1 * t347 * t717 - t56 * t698 - 0.2e1 * t62 * t702 - 0.3e1 * t68 * t707 - 0.4e1 * t712 * t74 - 0.5e1 * t717 * t80; + const double t723 = t94 * t53; + const double t728 = t100 * t53; + const double t733 = t106 * t53; + const double t738 = t112 * t53; + const double t743 = t118 * t53; + const double t748 = t387 * t53; + const double t751 = -0.9e1 * t104 * t738 - 0.1e2 * t110 * t743 - 0.11e2 * t116 * t748 - 0.7e1 * t355 * t723 - 0.8e1 * t362 * t728 - 0.9e1 * t369 * t733 - 0.1e2 * t376 * t738 - 0.11e2 * t383 * t743 - 0.6e1 * t723 * t86 - 0.7e1 * t728 * t92 - 0.8e1 * t733 * t98; + const double t752 = t722 + t751; + const double t775 = -t127 * t53 * t58 - t128 * t698 - 0.2e1 * t131 * t702 - 0.3e1 * t134 * t707 - 0.4e1 * t137 * t712 - 0.5e1 * t140 * t717 - 0.2e1 * t405 * t698 - 0.3e1 * t410 * t702 - 0.4e1 * t415 * t707 - 0.5e1 * t420 * t712 - 0.6e1 * t425 * t717; + const double t798 = -0.6e1 * t143 * t723 - 0.7e1 * t146 * t728 - 0.8e1 * t149 * t733 - 0.9e1 * t152 * t738 - 0.1e2 * t155 * t743 - 0.11e2 * t158 * t748 - 0.7e1 * t431 * t723 - 0.8e1 * t436 * t728 - 0.9e1 * t441 * t733 - 0.1e2 * t446 * t738 - 0.11e2 * t451 * t743; + const double t799 = t775 + t798; + const double t801 = t125 * t799 + t46 * t752; + const double t805 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t801 ); + const double t808 = t200 * t190; + const double t812 = t205 * t190; + const double t817 = t210 * t190; + const double t822 = t215 * t190; + const double t827 = t220 * t190; + const double t832 = -t190 * t195 * t48 - t193 * t808 - 0.2e1 * t198 * t812 - 0.3e1 * t203 * t817 - 0.4e1 * t208 * t822 - 0.5e1 * t213 * t827 - 0.2e1 * t522 * t808 - 0.3e1 * t529 * t812 - 0.4e1 * t536 * t817 - 0.5e1 * t543 * t822 - 0.6e1 * t550 * t827; + const double t833 = t225 * t190; + const double t838 = t230 * t190; + const double t843 = t235 * t190; + const double t848 = t240 * t190; + const double t853 = t245 * t190; + const double t858 = t590 * t190; + const double t861 = -0.6e1 * t218 * t833 - 0.7e1 * t223 * t838 - 0.8e1 * t228 * t843 - 0.9e1 * t233 * t848 - 0.1e2 * t238 * t853 - 0.11e2 * t243 * t858 - 0.7e1 * t558 * t833 - 0.8e1 * t565 * t838 - 0.9e1 * t572 * t843 - 0.1e2 * t579 * t848 - 0.11e2 * t586 * t853; + const double t862 = t832 + t861; + const double t885 = -t127 * t190 * t195 - t253 * t808 - 0.2e1 * t255 * t812 - 0.3e1 * t257 * t817 - 0.4e1 * t259 * t822 - 0.5e1 * t261 * t827 - 0.2e1 * t608 * t808 - 0.3e1 * t613 * t812 - 0.4e1 * t618 * t817 - 0.5e1 * t623 * t822 - 0.6e1 * t628 * t827; + const double t908 = -0.6e1 * t263 * t833 - 0.7e1 * t265 * t838 - 0.8e1 * t267 * t843 - 0.9e1 * t269 * t848 - 0.1e2 * t271 * t853 - 0.11e2 * t273 * t858 - 0.7e1 * t634 * t833 - 0.8e1 * t639 * t838 - 0.9e1 * t644 * t843 - 0.1e2 * t649 * t848 - 0.11e2 * t654 * t853; + const double t909 = t885 + t908; + const double t911 = t188 * t862 + t252 * t909; + const double t915 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t911 ); + const double t918 = t24 * t24; + const double t919 = 0.1e1 / t918; + const double t920 = t286 * t286; + const double t923 = t282 * t7; + const double t924 = 0.1e1 / t923; + const double t925 = t17 * t924; + const double t928 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t925 ); + const double t932 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t920 + 0.4e1 / 0.3e1 * t24 * t928 ); + const double t933 = t932 * t27; + const double t937 = t289 * t295; + const double t939 = t6 * t937 * t162; + const double t945 = 0.1e1 / t294 / t7; + const double t946 = t26 * t945; + const double t949 = t6 * t946 * t162 / 0.12e2; + const double t951 = t6 * t296 * t459; + const double t955 = 0.1e1 / t300 / t43 * t49; + const double t958 = t955 * t957; + const double t959 = sigma_aa * sigma_aa; + const double t960 = t35 * t35; + const double t961 = t960 * t304; + const double t963 = 0.1e1 / t36 / t961; + const double t964 = t959 * t963; + const double t969 = 0.1e1 / t37 / t960; + const double t970 = sigma_aa * t969; + const double t977 = tau_a * tau_a; + const double t978 = t60 * t977; + const double t979 = t960 * rho_a; + const double t981 = 0.1e1 / t36 / t979; + const double t982 = t981 * t64; + const double t985 = t48 * t977; + const double t988 = t306 * t58; + const double t991 = t387 * t977; + const double t992 = t991 * t981; + const double t995 = t114 * t103; + const double t996 = t118 * t977; + const double t997 = t996 * t981; + const double t1003 = 0.1e1 / t99 / t81; + const double t1004 = t1003 * t977; + const double t1005 = t1004 * t981; + const double t1008 = t84 * t73; + const double t1009 = t88 * t977; + const double t1010 = t1009 * t981; + const double t1013 = t94 * t977; + const double t1014 = t1013 * t981; + const double t1017 = t100 * t977; + const double t1018 = t1017 * t981; + const double t1021 = t90 * t79; + const double t1026 = t106 * t977; + const double t1027 = t1026 * t981; + const double t1030 = 0.5e2 / 0.9e1 * t978 * t982 + 0.5e2 / 0.9e1 * t985 * t982 - 0.4e2 / 0.9e1 * t311 * t988 + 0.275e4 / 0.9e1 * t110 * t992 + 0.275e4 / 0.9e1 * t995 * t997 + 0.605e4 / 0.9e1 * t383 * t992 + 0.11e4 / 0.3e1 * t116 * t1005 + 0.25e3 / 0.3e1 * t1008 * t1010 + 0.2e3 * t347 * t1014 + 0.35e3 / 0.3e1 * t86 * t1018 + 0.35e3 / 0.3e1 * t1021 * t1014 + 0.245e4 / 0.9e1 * t355 * t1018 + 0.14e4 / 0.9e1 * t92 * t1027; + const double t1031 = t96 * t85; + const double t1036 = t112 * t977; + const double t1037 = t1036 * t981; + const double t1040 = t102 * t91; + const double t1047 = t108 * t97; + const double t1052 = t70 * t977; + const double t1053 = t1052 * t981; + const double t1058 = t76 * t977; + const double t1059 = t1058 * t981; + const double t1062 = t66 * t55; + const double t1067 = t82 * t977; + const double t1068 = t1067 * t981; + const double t1071 = 0.14e4 / 0.9e1 * t1031 * t1018 + 0.32e4 / 0.9e1 * t362 * t1027 + 0.2e3 * t98 * t1037 + 0.2e3 * t1040 * t1027 + 0.45e3 * t369 * t1037 + 0.25e3 * t104 * t997 + 0.25e3 * t1047 * t1037 + 0.5e4 / 0.9e1 * t376 * t997 + 0.5e2 / 0.9e1 * t56 * t1053 + 0.2e3 / 0.9e1 * t319 * t1053 + 0.5e2 / 0.3e1 * t62 * t1059 + 0.5e2 / 0.3e1 * t1062 * t1053 + 0.5e2 * t326 * t1059 + 0.1e3 / 0.3e1 * t68 * t1068; + const double t1073 = t72 * t61; + const double t1080 = t78 * t67; + const double t1087 = t365 * t306; + const double t1090 = t372 * t306; + const double t1095 = t379 * t306; + const double t1100 = t388 * t306; + const double t1103 = t322 * t306; + const double t1106 = 0.1e3 / 0.3e1 * t1073 * t1059 + 0.8e3 / 0.9e1 * t333 * t1068 + 0.5e3 / 0.9e1 * t74 * t1010 + 0.5e3 / 0.9e1 * t1080 * t1068 + 0.125e4 / 0.9e1 * t340 * t1010 + 0.25e3 / 0.3e1 * t80 * t1014 - 0.4e2 * t369 * t1087 - 0.4e2 * t104 * t1090 - 0.4e3 / 0.9e1 * t376 * t1090 - 0.4e3 / 0.9e1 * t110 * t1095 - 0.44e3 / 0.9e1 * t383 * t1095 - 0.44e3 / 0.9e1 * t116 * t1100 - 0.8e2 / 0.9e1 * t62 * t1103; + const double t1109 = t329 * t306; + const double t1114 = t336 * t306; + const double t1119 = t343 * t306; + const double t1124 = t351 * t306; + const double t1129 = t358 * t306; + const double t1136 = t315 * t306; + const double t1141 = -0.4e2 / 0.3e1 * t326 * t1103 - 0.4e2 / 0.3e1 * t68 * t1109 - 0.16e3 / 0.9e1 * t333 * t1109 - 0.16e3 / 0.9e1 * t74 * t1114 - 0.2e3 / 0.9e1 * t340 * t1114 - 0.2e3 / 0.9e1 * t80 * t1119 - 0.8e2 / 0.3e1 * t347 * t1119 - 0.8e2 / 0.3e1 * t86 * t1124 - 0.28e3 / 0.9e1 * t355 * t1124 - 0.28e3 / 0.9e1 * t92 * t1129 - 0.32e3 / 0.9e1 * t362 * t1129 - 0.32e3 / 0.9e1 * t98 * t1087 - 0.4e2 / 0.9e1 * t56 * t1136 - 0.8e2 / 0.9e1 * t319 * t1136; + const double t1143 = t1030 + t1071 + t1106 + t1141; + const double t1145 = t969 * t123; + const double t1146 = t1145 * t160; + const double t1150 = t1149 * t959; + const double t1151 = t963 * t123; + const double t1152 = t1151 * t160; + const double t1155 = t396 * t457; + const double t1160 = t127 * t977; + const double t1163 = t130 * t977; + const double t1168 = t148 * t85; + const double t1181 = t133 * t55; + const double t1188 = -0.4e2 / 0.9e1 * t400 * t988 + 0.5e2 / 0.9e1 * t1160 * t982 + 0.5e2 / 0.9e1 * t1163 * t982 + 0.14e4 / 0.9e1 * t146 * t1027 + 0.14e4 / 0.9e1 * t1168 * t1018 + 0.32e4 / 0.9e1 * t436 * t1027 + 0.2e3 * t149 * t1037 + 0.5e2 / 0.9e1 * t128 * t1053 + 0.2e3 / 0.9e1 * t405 * t1053 + 0.5e2 / 0.3e1 * t131 * t1059 + 0.5e2 / 0.3e1 * t1181 * t1053 + 0.5e2 * t410 * t1059 + 0.1e3 / 0.3e1 * t134 * t1068; + const double t1189 = t136 * t61; + const double t1218 = 0.1e3 / 0.3e1 * t1189 * t1059 + 0.8e3 / 0.9e1 * t415 * t1068 + 0.245e4 / 0.9e1 * t431 * t1018 - 0.8e2 / 0.3e1 * t143 * t1124 - 0.28e3 / 0.9e1 * t431 * t1124 - 0.28e3 / 0.9e1 * t146 * t1129 - 0.32e3 / 0.9e1 * t436 * t1129 - 0.32e3 / 0.9e1 * t149 * t1087 - 0.4e2 * t441 * t1087 - 0.4e2 * t152 * t1090 - 0.4e3 / 0.9e1 * t446 * t1090 - 0.4e3 / 0.9e1 * t155 * t1095 - 0.44e3 / 0.9e1 * t451 * t1095 - 0.44e3 / 0.9e1 * t158 * t1100; + const double t1240 = t151 * t91; + const double t1247 = -0.4e2 / 0.9e1 * t128 * t1136 - 0.8e2 / 0.9e1 * t405 * t1136 - 0.8e2 / 0.9e1 * t131 * t1103 - 0.4e2 / 0.3e1 * t410 * t1103 - 0.4e2 / 0.3e1 * t134 * t1109 - 0.16e3 / 0.9e1 * t415 * t1109 - 0.16e3 / 0.9e1 * t137 * t1114 - 0.2e3 / 0.9e1 * t420 * t1114 - 0.2e3 / 0.9e1 * t140 * t1119 - 0.8e2 / 0.3e1 * t425 * t1119 + 0.2e3 * t1240 * t1027 + 0.45e3 * t441 * t1037 + 0.25e3 * t152 * t997; + const double t1248 = t154 * t97; + const double t1255 = t157 * t103; + const double t1264 = t139 * t67; + const double t1271 = t142 * t73; + const double t1278 = t145 * t79; + const double t1281 = 0.25e3 * t1248 * t1037 + 0.5e4 / 0.9e1 * t446 * t997 + 0.275e4 / 0.9e1 * t155 * t992 + 0.275e4 / 0.9e1 * t1255 * t997 + 0.605e4 / 0.9e1 * t451 * t992 + 0.11e4 / 0.3e1 * t158 * t1005 + 0.5e3 / 0.9e1 * t137 * t1010 + 0.5e3 / 0.9e1 * t1264 * t1068 + 0.125e4 / 0.9e1 * t420 * t1010 + 0.25e3 / 0.3e1 * t140 * t1014 + 0.25e3 / 0.3e1 * t1271 * t1010 + 0.2e3 * t425 * t1014 + 0.35e3 / 0.3e1 * t143 * t1018 + 0.35e3 / 0.3e1 * t1278 * t1014; + const double t1283 = t1188 + t1218 + t1247 + t1281; + const double t1285 = -0.7690696867872e-3 * t958 * t964 * t120 + 0.5780898288e-1 * t303 * t970 * t120 - 0.3153217248e-1 * t303 * t307 * t393 + t46 * t1143 + 0.50297210791037951532e-1 * t395 * t1146 - 0.34088340999255810611e-3 * t1150 * t1152 - 0.27434842249657064472e-1 * t395 * t1155 + t125 * t1283; + const double t1290 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t933 * t162 - t939 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t459 + t949 - t951 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1285 ); + const double t1291 = t173 * t173; + const double t1292 = 0.1e1 / t1291; + const double t1293 = t467 * t467; + const double t1296 = t168 * t924; + const double t1299 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1303 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1293 + 0.4e1 / 0.3e1 * t173 * t1299 ); + const double t1304 = t1303 * t27; + const double t1308 = t470 * t295; + const double t1310 = t6 * t1308 * t277; + const double t1312 = t175 * t945; + const double t1315 = t6 * t1312 * t277 / 0.12e2; + const double t1317 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1304 * t277 - t1310 / 0.4e1 + t1315 ); + const double t1333 = t487 * t295; + const double t1335 = t6 * t1333 * t162; + const double t1357 = t498 * t295; + const double t1359 = t6 * t1357 * t277; + const double t1366 = t6 * t475 * t662; + const double t1374 = t484 * t484; + const double t1379 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t925 ); + const double t1383 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t1374 + 0.4e1 / 0.3e1 * t24 * t1379 ); + const double t1384 = t1383 * t27; + const double t1390 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1384 * t162 - t1335 / 0.4e1 + t949 ); + const double t1391 = t495 * t495; + const double t1396 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1400 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1391 + 0.4e1 / 0.3e1 * t173 * t1396 ); + const double t1401 = t1400 * t27; + const double t1412 = 0.1e1 / t503 / t185 * t49; + const double t1413 = t1412 * t957; + const double t1414 = sigma_bb * sigma_bb; + const double t1415 = t177 * t177; + const double t1416 = t1415 * t507; + const double t1418 = 0.1e1 / t178 / t1416; + const double t1419 = t1414 * t1418; + const double t1424 = 0.1e1 / t179 / t1415; + const double t1425 = sigma_bb * t1424; + const double t1432 = t509 * t195; + const double t1435 = tau_b * tau_b; + const double t1436 = t48 * t1435; + const double t1437 = t1415 * rho_b; + const double t1439 = 0.1e1 / t178 / t1437; + const double t1440 = t1439 * t200; + const double t1443 = t60 * t1435; + const double t1446 = t532 * t509; + const double t1449 = t539 * t509; + const double t1454 = t546 * t509; + const double t1457 = t215 * t1435; + const double t1458 = t1457 * t1439; + const double t1461 = t72 * t197; + const double t1462 = t210 * t1435; + const double t1463 = t1462 * t1439; + const double t1468 = t220 * t1435; + const double t1469 = t1468 * t1439; + const double t1472 = t78 * t202; + const double t1477 = -0.4e2 / 0.9e1 * t514 * t1432 + 0.5e2 / 0.9e1 * t1436 * t1440 + 0.5e2 / 0.9e1 * t1443 * t1440 - 0.16e3 / 0.9e1 * t536 * t1446 - 0.16e3 / 0.9e1 * t208 * t1449 - 0.2e3 / 0.9e1 * t543 * t1449 - 0.2e3 / 0.9e1 * t213 * t1454 + 0.1e3 / 0.3e1 * t203 * t1458 + 0.1e3 / 0.3e1 * t1461 * t1463 + 0.8e3 / 0.9e1 * t536 * t1458 + 0.5e3 / 0.9e1 * t208 * t1469 + 0.5e3 / 0.9e1 * t1472 * t1458 + 0.125e4 / 0.9e1 * t543 * t1469; + const double t1480 = t554 * t509; + const double t1485 = t561 * t509; + const double t1490 = t568 * t509; + const double t1495 = t575 * t509; + const double t1500 = t582 * t509; + const double t1505 = t591 * t509; + const double t1508 = t518 * t509; + const double t1513 = -0.8e2 / 0.3e1 * t550 * t1454 - 0.8e2 / 0.3e1 * t218 * t1480 - 0.28e3 / 0.9e1 * t558 * t1480 - 0.28e3 / 0.9e1 * t223 * t1485 - 0.32e3 / 0.9e1 * t565 * t1485 - 0.32e3 / 0.9e1 * t228 * t1490 - 0.4e2 * t572 * t1490 - 0.4e2 * t233 * t1495 - 0.4e3 / 0.9e1 * t579 * t1495 - 0.4e3 / 0.9e1 * t238 * t1500 - 0.44e3 / 0.9e1 * t586 * t1500 - 0.44e3 / 0.9e1 * t243 * t1505 - 0.4e2 / 0.9e1 * t193 * t1508 - 0.8e2 / 0.9e1 * t522 * t1508; + const double t1515 = t525 * t509; + const double t1522 = t590 * t1435; + const double t1523 = t1522 * t1439; + const double t1527 = 0.1e1 / t229 / t214; + const double t1528 = t1527 * t1435; + const double t1529 = t1528 * t1439; + const double t1532 = t225 * t1435; + const double t1533 = t1532 * t1439; + const double t1536 = t84 * t207; + const double t1541 = t230 * t1435; + const double t1542 = t1541 * t1439; + const double t1545 = t90 * t212; + const double t1550 = t235 * t1435; + const double t1551 = t1550 * t1439; + const double t1554 = t96 * t217; + const double t1557 = -0.8e2 / 0.9e1 * t198 * t1515 - 0.4e2 / 0.3e1 * t529 * t1515 - 0.4e2 / 0.3e1 * t203 * t1446 + 0.605e4 / 0.9e1 * t586 * t1523 + 0.11e4 / 0.3e1 * t243 * t1529 + 0.25e3 / 0.3e1 * t213 * t1533 + 0.25e3 / 0.3e1 * t1536 * t1469 + 0.2e3 * t550 * t1533 + 0.35e3 / 0.3e1 * t218 * t1542 + 0.35e3 / 0.3e1 * t1545 * t1533 + 0.245e4 / 0.9e1 * t558 * t1542 + 0.14e4 / 0.9e1 * t223 * t1551 + 0.14e4 / 0.9e1 * t1554 * t1542; + const double t1560 = t240 * t1435; + const double t1561 = t1560 * t1439; + const double t1564 = t102 * t222; + const double t1569 = t245 * t1435; + const double t1570 = t1569 * t1439; + const double t1573 = t108 * t227; + const double t1578 = t205 * t1435; + const double t1579 = t1578 * t1439; + const double t1586 = t66 * t192; + const double t1593 = t114 * t232; + const double t1596 = 0.32e4 / 0.9e1 * t565 * t1551 + 0.2e3 * t228 * t1561 + 0.2e3 * t1564 * t1551 + 0.45e3 * t572 * t1561 + 0.25e3 * t233 * t1570 + 0.25e3 * t1573 * t1561 + 0.5e4 / 0.9e1 * t579 * t1570 + 0.5e2 / 0.9e1 * t193 * t1579 + 0.2e3 / 0.9e1 * t522 * t1579 + 0.5e2 / 0.3e1 * t198 * t1463 + 0.5e2 / 0.3e1 * t1586 * t1579 + 0.5e2 * t529 * t1463 + 0.275e4 / 0.9e1 * t238 * t1523 + 0.275e4 / 0.9e1 * t1593 * t1570; + const double t1598 = t1477 + t1513 + t1557 + t1596; + const double t1600 = t1424 * t250; + const double t1601 = t1600 * t275; + const double t1604 = t1149 * t1414; + const double t1605 = t1418 * t250; + const double t1606 = t1605 * t275; + const double t1609 = t599 * t660; + const double t1614 = t127 * t1435; + const double t1617 = t130 * t1435; + const double t1622 = t136 * t197; + const double t1629 = t139 * t202; + const double t1636 = t142 * t207; + const double t1643 = -0.4e2 / 0.9e1 * t603 * t1432 + 0.5e2 / 0.9e1 * t1614 * t1440 + 0.5e2 / 0.9e1 * t1617 * t1440 + 0.11e4 / 0.3e1 * t273 * t1529 + 0.1e3 / 0.3e1 * t1622 * t1463 + 0.8e3 / 0.9e1 * t618 * t1458 + 0.5e3 / 0.9e1 * t259 * t1469 + 0.5e3 / 0.9e1 * t1629 * t1458 + 0.125e4 / 0.9e1 * t623 * t1469 + 0.25e3 / 0.3e1 * t261 * t1533 + 0.25e3 / 0.3e1 * t1636 * t1469 + 0.2e3 * t628 * t1533 + 0.35e3 / 0.3e1 * t263 * t1542; + const double t1644 = t145 * t212; + const double t1651 = t148 * t217; + const double t1662 = t133 * t192; + const double t1675 = 0.35e3 / 0.3e1 * t1644 * t1533 + 0.245e4 / 0.9e1 * t634 * t1542 + 0.14e4 / 0.9e1 * t265 * t1551 + 0.14e4 / 0.9e1 * t1651 * t1542 + 0.32e4 / 0.9e1 * t639 * t1551 + 0.5e2 / 0.9e1 * t253 * t1579 + 0.2e3 / 0.9e1 * t608 * t1579 + 0.5e2 / 0.3e1 * t255 * t1463 + 0.5e2 / 0.3e1 * t1662 * t1579 + 0.5e2 * t613 * t1463 + 0.1e3 / 0.3e1 * t257 * t1458 - 0.4e3 / 0.9e1 * t649 * t1495 - 0.4e3 / 0.9e1 * t271 * t1500 - 0.44e3 / 0.9e1 * t654 * t1500; + const double t1703 = -0.44e3 / 0.9e1 * t273 * t1505 - 0.4e2 / 0.3e1 * t257 * t1446 - 0.16e3 / 0.9e1 * t618 * t1446 - 0.16e3 / 0.9e1 * t259 * t1449 - 0.2e3 / 0.9e1 * t623 * t1449 - 0.2e3 / 0.9e1 * t261 * t1454 - 0.8e2 / 0.3e1 * t628 * t1454 - 0.8e2 / 0.3e1 * t263 * t1480 - 0.28e3 / 0.9e1 * t634 * t1480 - 0.28e3 / 0.9e1 * t265 * t1485 - 0.32e3 / 0.9e1 * t639 * t1485 - 0.32e3 / 0.9e1 * t267 * t1490 - 0.4e2 * t644 * t1490; + const double t1716 = t151 * t222; + const double t1723 = t154 * t227; + const double t1730 = t157 * t232; + const double t1735 = -0.4e2 * t269 * t1495 - 0.4e2 / 0.9e1 * t253 * t1508 - 0.8e2 / 0.9e1 * t608 * t1508 - 0.8e2 / 0.9e1 * t255 * t1515 - 0.4e2 / 0.3e1 * t613 * t1515 + 0.2e3 * t267 * t1561 + 0.2e3 * t1716 * t1551 + 0.45e3 * t644 * t1561 + 0.25e3 * t269 * t1570 + 0.25e3 * t1723 * t1561 + 0.5e4 / 0.9e1 * t649 * t1570 + 0.275e4 / 0.9e1 * t271 * t1523 + 0.275e4 / 0.9e1 * t1730 * t1570 + 0.605e4 / 0.9e1 * t654 * t1523; + const double t1737 = t1643 + t1675 + t1703 + t1735; + const double t1739 = -0.7690696867872e-3 * t1413 * t1419 * t247 + 0.5780898288e-1 * t506 * t1425 * t247 - 0.3153217248e-1 * t506 * t510 * t596 + t188 * t1598 + 0.50297210791037951532e-1 * t598 * t1601 - 0.34088340999255810611e-3 * t1604 * t1606 - 0.27434842249657064472e-1 * t598 * t1609 + t252 * t1737; + const double t1744 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1401 * t277 - t1359 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t499 * t662 + t1315 - t1366 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t176 * t1739 ); + const double t1752 = t6 * t296 * t678 / 0.8e1; + const double t1753 = t960 * t35; + const double t1755 = 0.1e1 / t36 / t1753; + const double t1760 = t33 * t306; + const double t1769 = t1149 * t1755; + const double t1770 = sigma_aa * t123; + const double t1771 = t1770 * t160; + const double t1777 = 0.2884011325452e-3 * t958 * t1755 * t120 * sigma_aa - 0.1576608624e-1 * t302 * t1760 * t120 + 0.591228234e-2 * t302 * t670 * t393 - 0.13717421124828532236e-1 * t34 * t397 + 0.12783127874720928979e-3 * t1769 * t1771 + 0.51440329218106995885e-2 * t34 * t674 * t457; + const double t1782 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t678 - t1752 - 0.3e1 / 0.8e1 * t6 * t28 * t1777 ); + const double t1789 = t6 * t475 * t691 / 0.8e1; + const double t1802 = t1415 * t177; + const double t1804 = 0.1e1 / t178 / t1802; + const double t1809 = t33 * t509; + const double t1818 = t1149 * t1804; + const double t1819 = sigma_bb * t250; + const double t1820 = t1819 * t275; + const double t1826 = 0.2884011325452e-3 * t1413 * t1804 * t247 * sigma_bb - 0.1576608624e-1 * t505 * t1809 * t247 + 0.591228234e-2 * t505 * t683 * t596 - 0.13717421124828532236e-1 * t34 * t600 + 0.12783127874720928979e-3 * t1818 * t1820 + 0.51440329218106995885e-2 * t34 * t687 * t660; + const double t1831 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t691 - t1789 - 0.3e1 / 0.8e1 * t6 * t176 * t1826 ); + const double t1838 = t6 * t296 * t801 / 0.8e1; + const double t1842 = t106 * t39; + const double t1845 = t112 * t39; + const double t1850 = t118 * t39; + const double t1855 = t387 * t39; + const double t1858 = t82 * t39; + const double t1863 = t88 * t39; + const double t1871 = t94 * t39; + const double t1876 = 0.15e2 * t369 * t1842 + 0.15e2 * t104 * t1845 + 0.5e2 / 0.3e1 * t376 * t1845 + 0.5e2 / 0.3e1 * t110 * t1850 + 0.55e2 / 0.3e1 * t383 * t1850 + 0.55e2 / 0.3e1 * t116 * t1855 + 0.2e2 / 0.3e1 * t74 * t1858 + 0.25e2 / 0.3e1 * t340 * t1858 + 0.25e2 / 0.3e1 * t80 * t1863 + 0.1e2 * t347 * t1863 + 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.1e2 * t86 * t1871 + 0.35e2 / 0.3e1 * t355 * t1871; + const double t1877 = t100 * t39; + const double t1884 = t64 * t39; + const double t1889 = t70 * t39; + const double t1894 = t76 * t39; + const double t1900 = 0.1e1 / t36 / t960; + const double t1901 = t48 * t1900; + const double t1904 = t60 * tau_a; + const double t1905 = t1900 * t64; + const double t1908 = t82 * t1900; + const double t1909 = t1908 * tau_a; + const double t1912 = t118 * t1900; + const double t1913 = t1912 * tau_a; + const double t1916 = t387 * t1900; + const double t1917 = t1916 * tau_a; + const double t1920 = 0.35e2 / 0.3e1 * t92 * t1877 + 0.4e2 / 0.3e1 * t362 * t1877 + 0.4e2 / 0.3e1 * t98 * t1842 + 0.5e1 / 0.3e1 * t56 * t1884 + 0.1e2 / 0.3e1 * t319 * t1884 + 0.1e2 / 0.3e1 * t62 * t1889 + 0.5e1 * t326 * t1889 + 0.5e1 * t68 * t1894 + 0.2e2 / 0.3e1 * t333 * t1894 - 0.1e2 / 0.3e1 * t1901 * t315 - 0.1e2 / 0.3e1 * t1904 * t1905 - 0.2e2 * t68 * t1909 - 0.55e3 / 0.3e1 * t995 * t1913 - 0.121e4 / 0.3e1 * t383 * t1917; + const double t1922 = t1003 * t1900; + const double t1923 = t1922 * tau_a; + const double t1926 = t76 * t1900; + const double t1927 = t1926 * tau_a; + const double t1932 = t88 * t1900; + const double t1933 = t1932 * tau_a; + const double t1940 = t94 * t1900; + const double t1941 = t1940 * tau_a; + const double t1948 = t100 * t1900; + const double t1949 = t1948 * tau_a; + const double t1956 = t106 * t1900; + const double t1957 = t1956 * tau_a; + const double t1960 = -0.22e3 * t116 * t1923 - 0.2e2 * t1073 * t1927 - 0.16e3 / 0.3e1 * t333 * t1909 - 0.1e3 / 0.3e1 * t74 * t1933 - 0.1e3 / 0.3e1 * t1080 * t1909 - 0.25e3 / 0.3e1 * t340 * t1933 - 0.5e2 * t80 * t1941 - 0.5e2 * t1008 * t1933 - 0.12e3 * t347 * t1941 - 0.7e2 * t86 * t1949 - 0.7e2 * t1021 * t1941 - 0.49e3 / 0.3e1 * t355 * t1949 - 0.28e3 / 0.3e1 * t92 * t1957; + const double t1965 = t70 * t1900; + const double t1966 = t1965 * tau_a; + const double t1977 = t112 * t1900; + const double t1978 = t1977 * tau_a; + const double t1993 = -0.28e3 / 0.3e1 * t1031 * t1949 - 0.64e3 / 0.3e1 * t362 * t1957 - 0.1e2 / 0.3e1 * t56 * t1966 - 0.4e2 / 0.3e1 * t319 * t1966 - 0.1e2 * t62 * t1927 - 0.1e2 * t1062 * t1966 - 0.3e2 * t326 * t1927 - 0.12e3 * t98 * t1978 - 0.12e3 * t1040 * t1957 - 0.27e3 * t369 * t1978 - 0.15e3 * t104 * t1913 - 0.15e3 * t1047 * t1978 - 0.1e4 / 0.3e1 * t376 * t1913 - 0.55e3 / 0.3e1 * t110 * t1917; + const double t1995 = t1876 + t1920 + t1960 + t1993; + const double t1997 = t396 * t799; + const double t2005 = t127 * t1900; + const double t2008 = t130 * tau_a; + const double t2029 = 0.5e1 / 0.3e1 * t127 * t39 * t58 + 0.1e2 / 0.3e1 * t131 * t1889 - 0.1e2 / 0.3e1 * t2005 * t315 - 0.1e2 / 0.3e1 * t2008 * t1905 + 0.35e2 / 0.3e1 * t146 * t1877 + 0.4e2 / 0.3e1 * t436 * t1877 + 0.4e2 / 0.3e1 * t149 * t1842 + 0.15e2 * t441 * t1842 + 0.15e2 * t152 * t1845 + 0.5e2 / 0.3e1 * t446 * t1845 + 0.5e2 / 0.3e1 * t155 * t1850 + 0.55e2 / 0.3e1 * t451 * t1850 + 0.55e2 / 0.3e1 * t158 * t1855; + const double t2058 = 0.5e1 * t410 * t1889 + 0.5e1 * t134 * t1894 + 0.2e2 / 0.3e1 * t415 * t1894 + 0.2e2 / 0.3e1 * t137 * t1858 + 0.25e2 / 0.3e1 * t420 * t1858 + 0.25e2 / 0.3e1 * t140 * t1863 + 0.1e2 * t425 * t1863 + 0.1e2 * t143 * t1871 + 0.35e2 / 0.3e1 * t431 * t1871 + 0.5e1 / 0.3e1 * t128 * t1884 + 0.1e2 / 0.3e1 * t405 * t1884 - 0.22e3 * t158 * t1923 - 0.1e2 * t131 * t1927 - 0.1e2 * t1181 * t1966; + const double t2086 = -0.3e2 * t410 * t1927 - 0.2e2 * t134 * t1909 - 0.2e2 * t1189 * t1927 - 0.16e3 / 0.3e1 * t415 * t1909 - 0.1e3 / 0.3e1 * t137 * t1933 - 0.1e3 / 0.3e1 * t1264 * t1909 - 0.25e3 / 0.3e1 * t420 * t1933 - 0.5e2 * t140 * t1941 - 0.5e2 * t1271 * t1933 - 0.12e3 * t425 * t1941 - 0.7e2 * t143 * t1949 - 0.7e2 * t1278 * t1941 - 0.49e3 / 0.3e1 * t431 * t1949; + const double t2115 = -0.1e2 / 0.3e1 * t128 * t1966 - 0.4e2 / 0.3e1 * t405 * t1966 - 0.28e3 / 0.3e1 * t146 * t1957 - 0.28e3 / 0.3e1 * t1168 * t1949 - 0.64e3 / 0.3e1 * t436 * t1957 - 0.12e3 * t149 * t1978 - 0.12e3 * t1240 * t1957 - 0.27e3 * t441 * t1978 - 0.15e3 * t152 * t1913 - 0.15e3 * t1248 * t1978 - 0.1e4 / 0.3e1 * t446 * t1913 - 0.55e3 / 0.3e1 * t155 * t1917 - 0.55e3 / 0.3e1 * t1255 * t1913 - 0.121e4 / 0.3e1 * t451 * t1917; + const double t2117 = t2029 + t2058 + t2086 + t2115; + const double t2119 = -0.1576608624e-1 * t303 * t307 * t752 + t46 * t1995 - 0.13717421124828532236e-1 * t395 * t1997 + t125 * t2117; + const double t2124 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t801 - t1838 - 0.3e1 / 0.8e1 * t6 * t28 * t2119 ); + const double t2131 = t6 * t475 * t911 / 0.8e1; + const double t2151 = 0.1e1 / t178 / t1415; + const double t2152 = t225 * t2151; + const double t2153 = t2152 * tau_b; + const double t2156 = t230 * t2151; + const double t2157 = t2156 * tau_b; + const double t2164 = t235 * t2151; + const double t2165 = t2164 * tau_b; + const double t2168 = t205 * t2151; + const double t2169 = t2168 * tau_b; + const double t2174 = t210 * t2151; + const double t2175 = t2174 * tau_b; + const double t2184 = t240 * t2151; + const double t2185 = t2184 * tau_b; + const double t2188 = 0.5e1 / 0.3e1 * t48 * t181 * t195 - 0.12e3 * t550 * t2153 - 0.7e2 * t218 * t2157 - 0.7e2 * t1545 * t2153 - 0.49e3 / 0.3e1 * t558 * t2157 - 0.28e3 / 0.3e1 * t223 * t2165 - 0.1e2 / 0.3e1 * t193 * t2169 - 0.4e2 / 0.3e1 * t522 * t2169 - 0.1e2 * t198 * t2175 - 0.1e2 * t1586 * t2169 - 0.3e2 * t529 * t2175 - 0.12e3 * t1564 * t2165 - 0.27e3 * t572 * t2185; + const double t2189 = t245 * t2151; + const double t2190 = t2189 * tau_b; + const double t2197 = t590 * t2151; + const double t2198 = t2197 * tau_b; + const double t2205 = t1527 * t2151; + const double t2206 = t2205 * tau_b; + const double t2209 = t215 * t2151; + const double t2210 = t2209 * tau_b; + const double t2217 = t220 * t2151; + const double t2218 = t2217 * tau_b; + const double t2227 = -0.15e3 * t233 * t2190 - 0.15e3 * t1573 * t2185 - 0.1e4 / 0.3e1 * t579 * t2190 - 0.55e3 / 0.3e1 * t238 * t2198 - 0.55e3 / 0.3e1 * t1593 * t2190 - 0.121e4 / 0.3e1 * t586 * t2198 - 0.22e3 * t243 * t2206 - 0.2e2 * t203 * t2210 - 0.2e2 * t1461 * t2175 - 0.16e3 / 0.3e1 * t536 * t2210 - 0.1e3 / 0.3e1 * t208 * t2218 - 0.1e3 / 0.3e1 * t1472 * t2210 - 0.25e3 / 0.3e1 * t543 * t2218 - 0.5e2 * t213 * t2153; + const double t2237 = t230 * t181; + const double t2240 = t235 * t181; + const double t2245 = t240 * t181; + const double t2250 = t245 * t181; + const double t2255 = t590 * t181; + const double t2258 = t210 * t181; + const double t2261 = -0.5e2 * t1536 * t2218 - 0.28e3 / 0.3e1 * t1554 * t2157 - 0.64e3 / 0.3e1 * t565 * t2165 - 0.12e3 * t228 * t2185 + 0.4e2 / 0.3e1 * t565 * t2237 + 0.4e2 / 0.3e1 * t228 * t2240 + 0.15e2 * t572 * t2240 + 0.15e2 * t233 * t2245 + 0.5e2 / 0.3e1 * t579 * t2245 + 0.5e2 / 0.3e1 * t238 * t2250 + 0.55e2 / 0.3e1 * t586 * t2250 + 0.55e2 / 0.3e1 * t243 * t2255 + 0.5e1 * t203 * t2258; + const double t2264 = t215 * t181; + const double t2269 = t220 * t181; + const double t2274 = t225 * t181; + const double t2281 = t200 * t181; + const double t2286 = t205 * t181; + const double t2291 = t48 * t2151; + const double t2294 = t60 * tau_b; + const double t2295 = t2151 * t200; + const double t2298 = 0.2e2 / 0.3e1 * t536 * t2258 + 0.2e2 / 0.3e1 * t208 * t2264 + 0.25e2 / 0.3e1 * t543 * t2264 + 0.25e2 / 0.3e1 * t213 * t2269 + 0.1e2 * t550 * t2269 + 0.1e2 * t218 * t2274 + 0.35e2 / 0.3e1 * t558 * t2274 + 0.35e2 / 0.3e1 * t223 * t2237 + 0.5e1 / 0.3e1 * t193 * t2281 + 0.1e2 / 0.3e1 * t522 * t2281 + 0.1e2 / 0.3e1 * t198 * t2286 + 0.5e1 * t529 * t2286 - 0.1e2 / 0.3e1 * t2291 * t518 - 0.1e2 / 0.3e1 * t2294 * t2295; + const double t2300 = t2188 + t2227 + t2261 + t2298; + const double t2302 = t599 * t909; + const double t2332 = 0.5e1 / 0.3e1 * t127 * t181 * t195 - 0.1e2 * t255 * t2175 - 0.1e2 * t1662 * t2169 - 0.3e2 * t613 * t2175 - 0.2e2 * t257 * t2210 - 0.2e2 * t1622 * t2175 - 0.16e3 / 0.3e1 * t618 * t2210 - 0.1e3 / 0.3e1 * t259 * t2218 - 0.1e3 / 0.3e1 * t1629 * t2210 - 0.25e3 / 0.3e1 * t623 * t2218 - 0.5e2 * t261 * t2153 - 0.5e2 * t1636 * t2218 - 0.12e3 * t628 * t2153; + const double t2361 = -0.1e2 / 0.3e1 * t253 * t2169 - 0.12e3 * t267 * t2185 - 0.12e3 * t1716 * t2165 - 0.27e3 * t644 * t2185 - 0.15e3 * t269 * t2190 - 0.15e3 * t1723 * t2185 - 0.1e4 / 0.3e1 * t649 * t2190 - 0.55e3 / 0.3e1 * t271 * t2198 - 0.55e3 / 0.3e1 * t1730 * t2190 - 0.4e2 / 0.3e1 * t608 * t2169 - 0.121e4 / 0.3e1 * t654 * t2198 - 0.22e3 * t273 * t2206 - 0.7e2 * t263 * t2157 - 0.7e2 * t1644 * t2153; + const double t2389 = -0.49e3 / 0.3e1 * t634 * t2157 - 0.28e3 / 0.3e1 * t265 * t2165 - 0.28e3 / 0.3e1 * t1651 * t2157 - 0.64e3 / 0.3e1 * t639 * t2165 + 0.55e2 / 0.3e1 * t273 * t2255 + 0.35e2 / 0.3e1 * t634 * t2274 + 0.35e2 / 0.3e1 * t265 * t2237 + 0.4e2 / 0.3e1 * t639 * t2237 + 0.4e2 / 0.3e1 * t267 * t2240 + 0.15e2 * t644 * t2240 + 0.15e2 * t269 * t2245 + 0.5e2 / 0.3e1 * t649 * t2245 + 0.5e2 / 0.3e1 * t271 * t2250; + const double t2414 = t127 * t2151; + const double t2417 = t130 * tau_b; + const double t2420 = 0.55e2 / 0.3e1 * t654 * t2250 + 0.1e2 / 0.3e1 * t608 * t2281 + 0.1e2 / 0.3e1 * t255 * t2286 + 0.5e1 * t613 * t2286 + 0.5e1 * t257 * t2258 + 0.2e2 / 0.3e1 * t618 * t2258 + 0.2e2 / 0.3e1 * t259 * t2264 + 0.25e2 / 0.3e1 * t623 * t2264 + 0.25e2 / 0.3e1 * t261 * t2269 + 0.1e2 * t628 * t2269 + 0.1e2 * t263 * t2274 + 0.5e1 / 0.3e1 * t253 * t2281 - 0.1e2 / 0.3e1 * t2414 * t518 - 0.1e2 / 0.3e1 * t2417 * t2295; + const double t2422 = t2332 + t2361 + t2389 + t2420; + const double t2424 = -0.1576608624e-1 * t506 * t510 * t862 + t188 * t2300 - 0.13717421124828532236e-1 * t598 * t2302 + t252 * t2422; + const double t2429 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t911 - t2131 - 0.3e1 / 0.8e1 * t6 * t176 * t2424 ); + const double t2431 = t957 * t981; + const double t2435 = t981 * t123; + const double t2439 = -0.10815042470445e-3 * t955 * t2431 * t120 - 0.4793672953020348367e-4 * t1149 * t2435 * t160; + const double t2443 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2439 ); + const double t2444 = t957 * t1439; + const double t2448 = t1439 * t250; + const double t2452 = -0.10815042470445e-3 * t1412 * t2444 * t247 - 0.4793672953020348367e-4 * t1149 * t2448 * t275; + const double t2456 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2452 ); + const double t2463 = 0.591228234e-2 * t302 * t670 * t752 + 0.51440329218106995885e-2 * t34 * t674 * t799; + const double t2467 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2463 ); + const double t2474 = 0.591228234e-2 * t505 * t683 * t862 + 0.51440329218106995885e-2 * t34 * t687 * t909; + const double t2478 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2474 ); + const double t2480 = 0.1e1 / t36 / t304; + const double t2481 = t100 * t2480; + const double t2484 = t106 * t2480; + const double t2487 = t112 * t2480; + const double t2490 = t118 * t2480; + const double t2493 = t70 * t2480; + const double t2496 = t76 * t2480; + const double t2499 = t82 * t2480; + const double t2502 = t88 * t2480; + const double t2505 = t94 * t2480; + const double t2522 = 0.3e2 * t1008 * t2502 + 0.42e2 * t1021 * t2505 + 0.56e2 * t1031 * t2481 + 0.72e2 * t1040 * t2484 + 0.9e2 * t1047 * t2487 + 0.6e1 * t1062 * t2493 + 0.12e2 * t1073 * t2496 + 0.2e2 * t1080 * t2499 + 0.98e2 * t2481 * t355 + 0.42e2 * t2481 * t86 + 0.56e2 * t2484 * t92 + 0.11e3 * t2490 * t995 + 0.5e2 * t2502 * t340 + 0.2e2 * t2502 * t74 + 0.72e2 * t2505 * t347 + 0.3e2 * t2505 * t80; + const double t2533 = t387 * t2480; + const double t2538 = t1003 * t2480; + const double t2559 = 0.2e1 * t2480 * t48 * t64 + 0.2e1 * t2480 * t60 * t64 + 0.9e2 * t104 * t2490 + 0.11e3 * t110 * t2533 + 0.132e3 * t116 * t2538 + 0.128e3 * t2484 * t362 + 0.162e3 * t2487 * t369 + 0.72e2 * t2487 * t98 + 0.2e3 * t2490 * t376 + 0.8e1 * t2493 * t319 + 0.2e1 * t2493 * t56 + 0.18e2 * t2496 * t326 + 0.6e1 * t2496 * t62 + 0.32e2 * t2499 * t333 + 0.12e2 * t2499 * t68 + 0.242e3 * t2533 * t383; + const double t2560 = t2522 + t2559; + const double t2594 = 0.56e2 * t1168 * t2481 + 0.6e1 * t1181 * t2493 + 0.12e2 * t1189 * t2496 + 0.72e2 * t1240 * t2484 + 0.9e2 * t1248 * t2487 + 0.11e3 * t1255 * t2490 + 0.2e2 * t1264 * t2499 + 0.3e2 * t1271 * t2502 + 0.42e2 * t1278 * t2505 + 0.2e1 * t128 * t2493 + 0.9e2 * t152 * t2490 + 0.11e3 * t155 * t2533 + 0.132e3 * t158 * t2538 + 0.162e3 * t2487 * t441 + 0.2e3 * t2490 * t446 + 0.242e3 * t2533 * t451; + const double t2629 = 0.2e1 * t127 * t2480 * t64 + 0.2e1 * t130 * t2480 * t64 + 0.6e1 * t131 * t2496 + 0.12e2 * t134 * t2499 + 0.2e2 * t137 * t2502 + 0.3e2 * t140 * t2505 + 0.42e2 * t143 * t2481 + 0.56e2 * t146 * t2484 + 0.72e2 * t149 * t2487 + 0.98e2 * t2481 * t431 + 0.128e3 * t2484 * t436 + 0.8e1 * t2493 * t405 + 0.18e2 * t2496 * t410 + 0.32e2 * t2499 * t415 + 0.5e2 * t2502 * t420 + 0.72e2 * t2505 * t425; + const double t2630 = t2594 + t2629; + const double t2632 = t125 * t2630 + t2560 * t46; + const double t2636 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2632 ); + const double t2638 = 0.1e1 / t178 / t507; + const double t2639 = t230 * t2638; + const double t2642 = t235 * t2638; + const double t2645 = t240 * t2638; + const double t2648 = t245 * t2638; + const double t2651 = t205 * t2638; + const double t2654 = t210 * t2638; + const double t2657 = t215 * t2638; + const double t2660 = t220 * t2638; + const double t2663 = t225 * t2638; + const double t2672 = t590 * t2638; + const double t2677 = t1527 * t2638; + const double t2682 = 0.12e2 * t1461 * t2654 + 0.2e2 * t1472 * t2657 + 0.3e2 * t1536 * t2660 + 0.42e2 * t1545 * t2663 + 0.56e2 * t1554 * t2639 + 0.72e2 * t1564 * t2642 + 0.9e2 * t1573 * t2645 + 0.6e1 * t1586 * t2651 + 0.11e3 * t1593 * t2648 + 0.2e1 * t193 * t2651 + 0.9e2 * t233 * t2648 + 0.11e3 * t238 * t2672 + 0.132e3 * t243 * t2677 + 0.162e3 * t2645 * t572 + 0.2e3 * t2648 * t579 + 0.242e3 * t2672 * t586; + const double t2717 = 0.2e1 * t200 * t2638 * t48 + 0.2e1 * t200 * t2638 * t60 + 0.6e1 * t198 * t2654 + 0.12e2 * t203 * t2657 + 0.2e2 * t208 * t2660 + 0.3e2 * t213 * t2663 + 0.42e2 * t218 * t2639 + 0.56e2 * t223 * t2642 + 0.72e2 * t228 * t2645 + 0.98e2 * t2639 * t558 + 0.128e3 * t2642 * t565 + 0.8e1 * t2651 * t522 + 0.18e2 * t2654 * t529 + 0.32e2 * t2657 * t536 + 0.5e2 * t2660 * t543 + 0.72e2 * t2663 * t550; + const double t2718 = t2682 + t2717; + const double t2752 = 0.12e2 * t1622 * t2654 + 0.2e2 * t1629 * t2657 + 0.3e2 * t1636 * t2660 + 0.42e2 * t1644 * t2663 + 0.56e2 * t1651 * t2639 + 0.6e1 * t1662 * t2651 + 0.72e2 * t1716 * t2642 + 0.9e2 * t1723 * t2645 + 0.11e3 * t1730 * t2648 + 0.42e2 * t263 * t2639 + 0.98e2 * t2639 * t634 + 0.56e2 * t2642 * t265 + 0.128e3 * t2642 * t639 + 0.72e2 * t2645 * t267 + 0.162e3 * t2645 * t644 + 0.72e2 * t2663 * t628; + const double t2787 = 0.2e1 * t127 * t200 * t2638 + 0.2e1 * t130 * t200 * t2638 + 0.2e1 * t253 * t2651 + 0.6e1 * t255 * t2654 + 0.12e2 * t257 * t2657 + 0.2e2 * t259 * t2660 + 0.3e2 * t261 * t2663 + 0.9e2 * t2648 * t269 + 0.2e3 * t2648 * t649 + 0.8e1 * t2651 * t608 + 0.18e2 * t2654 * t613 + 0.32e2 * t2657 * t618 + 0.5e2 * t2660 * t623 + 0.11e3 * t2672 * t271 + 0.242e3 * t2672 * t654 + 0.132e3 * t2677 * t273; + const double t2788 = t2752 + t2787; + const double t2790 = t188 * t2718 + t252 * t2788; + const double t2794 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2790 ); + + + vrho_a = t166 + t281 + t7 * ( t464 + t480 ); + vrho_b = t166 + t281 + t7 * ( t493 + t667 ); + vsigma_aa = t7 * t682; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t695; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t805; + vtau_b = t7 * t915; + v2rho2_aa = 0.2e1 * t464 + 0.2e1 * t480 + t7 * ( t1290 + t1317 ); + v2rho2_bb = 0.2e1 * t493 + 0.2e1 * t667 + t7 * ( t1390 + t1744 ); + v2rhosigma_a_aa = t1782 * t7 + t682; + v2rhosigma_b_bb = t1831 * t7 + t695; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2124 * t7 + t805; + v2rhotau_b_b = t2429 * t7 + t915; + v2sigma2_aa_aa = t7 * t2443; + v2sigma2_bb_bb = t7 * t2456; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2467; + v2sigmatau_bb_b = t7 * t2478; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2636; + v2tau2_bb = t7 * t2794; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM08_HX_X : detail::BuiltinKernelImpl< BuiltinM08_HX_X > { + + BuiltinM08_HX_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM08_HX_X >(p) { } + + virtual ~BuiltinM08_HX_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m08_so_c.hpp b/include/exchcxx/impl/builtin/kernels/m08_so_c.hpp new file mode 100644 index 0000000..0a70780 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m08_so_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM08_SO_C > : + public mgga_screening_interface< BuiltinM08_SO_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 1.0000000e+00; + static constexpr double m08_a_1 = 0.0000000e+00; + static constexpr double m08_a_2 = -3.9980886e+00; + static constexpr double m08_a_3 = 1.2982340e+01; + static constexpr double m08_a_4 = 1.0117507e+02; + static constexpr double m08_a_5 = -8.9541984e+01; + static constexpr double m08_a_6 = -3.5640242e+02; + static constexpr double m08_a_7 = 2.0698803e+02; + static constexpr double m08_a_8 = 4.6037780e+02; + static constexpr double m08_a_9 = -2.4510559e+02; + static constexpr double m08_a_10 = -1.9638425e+02; + static constexpr double m08_a_11 = 1.1881459e+02; + static constexpr double m08_b_0 = 1.0000000e+00; + static constexpr double m08_b_1 = -4.4117403e+00; + static constexpr double m08_b_2 = -6.4128622e+00; + static constexpr double m08_b_3 = 4.7583635e+01; + static constexpr double m08_b_4 = 1.8630053e+02; + static constexpr double m08_b_5 = -1.2800784e+02; + static constexpr double m08_b_6 = -5.5385258e+02; + static constexpr double m08_b_7 = 1.3873727e+02; + static constexpr double m08_b_8 = 4.1646537e+02; + static constexpr double m08_b_9 = -2.6626577e+02; + static constexpr double m08_b_10 = 5.6676300e+01; + static constexpr double m08_b_11 = 3.1673746e+02; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinM08_SO_C : detail::BuiltinKernelImpl< BuiltinM08_SO_C > { + + BuiltinM08_SO_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM08_SO_C >(p) { } + + virtual ~BuiltinM08_SO_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m08_so_x.hpp b/include/exchcxx/impl/builtin/kernels/m08_so_x.hpp new file mode 100644 index 0000000..a911126 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m08_so_x.hpp @@ -0,0 +1,3724 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM08_SO_X > : + public mgga_screening_interface< BuiltinM08_SO_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = -3.4888428e-01; + static constexpr double a_1 = -5.8157416e+00; + static constexpr double a_2 = 3.7550810e+01; + static constexpr double a_3 = 6.3727406e+01; + static constexpr double a_4 = -5.3742313e+01; + static constexpr double a_5 = -9.8595529e+01; + static constexpr double a_6 = 1.6282216e+01; + static constexpr double a_7 = 1.7513468e+01; + static constexpr double a_8 = -6.7627553e+00; + static constexpr double a_9 = 1.1106658e+01; + static constexpr double a_10 = 1.5663545e+00; + static constexpr double a_11 = 8.7603470e+00; + static constexpr double b_0 = 7.8098428e-01; + static constexpr double b_1 = 5.4538178e+00; + static constexpr double b_2 = -3.7853348e+01; + static constexpr double b_3 = -6.2295080e+01; + static constexpr double b_4 = 4.6713254e+01; + static constexpr double b_5 = 8.7321376e+01; + static constexpr double b_6 = 1.6053446e+01; + static constexpr double b_7 = 2.0126920e+01; + static constexpr double b_8 = -4.0343695e+01; + static constexpr double b_9 = -5.8577565e+01; + static constexpr double b_10 = 2.0890272e+01; + static constexpr double b_11 = 1.0946903e+01; + static constexpr double ax = 0.5679; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t161 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t157 ); + + + eps = 0.2e1 * t161; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + constexpr double t360 = t26 * t28; + constexpr double t371 = t42 * t28; + constexpr double t441 = t122 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t161 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t157 ); + const double t163 = t18 / t31; + const double t167 = t37 * t37; + const double t170 = 0.1e1 / t167 * t21 * t25; + const double t171 = t30 * rho; + const double t173 = 0.1e1 / t31 / t171; + const double t178 = t42 * tau; + const double t179 = t28 * t33; + const double t180 = t179 * t53; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t178 * t180 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t26 * sigma; + const double t264 = t28 * t173; + const double t265 = t118 * t155; + const double t269 = t122 * tau; + const double t272 = t123 * t59; + const double t275 = t125 * t50; + const double t276 = t275 * t59; + const double t279 = t126 * t65; + const double t282 = t128 * t56; + const double t283 = t282 * t65; + const double t286 = t129 * t71; + const double t289 = t131 * t62; + const double t290 = t289 * t71; + const double t293 = t132 * t77; + const double t296 = t134 * t68; + const double t297 = t296 * t77; + const double t300 = t135 * t83; + const double t303 = t137 * t74; + const double t304 = t303 * t83; + const double t307 = 0.5e1 / 0.3e1 * t269 * t180 + 0.5e1 / 0.3e1 * t272 * t184 + 0.1e2 / 0.3e1 * t276 * t184 + 0.1e2 / 0.3e1 * t279 * t184 + 0.5e1 * t283 * t184 + 0.5e1 * t286 * t184 + 0.2e2 / 0.3e1 * t290 * t184 + 0.2e2 / 0.3e1 * t293 * t184 + 0.25e2 / 0.3e1 * t297 * t184 + 0.25e2 / 0.3e1 * t300 * t184 + 0.1e2 * t304 * t184; + const double t308 = t138 * t89; + const double t311 = t140 * t80; + const double t312 = t311 * t89; + const double t315 = t141 * t95; + const double t318 = t143 * t86; + const double t319 = t318 * t95; + const double t322 = t144 * t101; + const double t325 = t146 * t92; + const double t326 = t325 * t101; + const double t329 = t147 * t107; + const double t332 = t149 * t98; + const double t333 = t332 * t107; + const double t336 = t150 * t113; + const double t339 = t152 * t104; + const double t340 = t339 * t113; + const double t343 = t153 * t256; + const double t346 = 0.1e2 * t308 * t184 + 0.35e2 / 0.3e1 * t312 * t184 + 0.35e2 / 0.3e1 * t315 * t184 + 0.4e2 / 0.3e1 * t319 * t184 + 0.4e2 / 0.3e1 * t322 * t184 + 0.15e2 * t326 * t184 + 0.15e2 * t329 * t184 + 0.5e2 / 0.3e1 * t333 * t184 + 0.5e2 / 0.3e1 * t336 * t184 + 0.55e2 / 0.3e1 * t340 * t184 + 0.55e2 / 0.3e1 * t343 * t184; + const double t347 = t307 + t346; + const double t349 = -0.1576608624e-1 * t170 * t29 * t173 * t115 + t40 * t261 - 0.13717421124828532236e-1 * t263 * t264 * t265 + t120 * t347; + const double t354 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t157 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t349 ); + const double t361 = t33 * t118; + const double t365 = 0.591228234e-2 * t170 * t179 * t115 + 0.51440329218106995885e-2 * t360 * t361 * t155; + const double t369 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t365 ); + const double t372 = t48 * t53; + const double t374 = t59 * t28; + const double t375 = t374 * t48; + const double t379 = t65 * t28; + const double t380 = t379 * t48; + const double t385 = t71 * t28; + const double t386 = t385 * t48; + const double t391 = t77 * t28; + const double t392 = t391 * t48; + const double t397 = t83 * t28; + const double t398 = t397 * t48; + const double t403 = -0.2e1 * t187 * t375 - 0.3e1 * t194 * t380 - 0.4e1 * t201 * t386 - 0.5e1 * t208 * t392 - 0.6e1 * t215 * t398 - t371 * t372 - t51 * t375 - 0.2e1 * t57 * t380 - 0.3e1 * t63 * t386 - 0.4e1 * t69 * t392 - 0.5e1 * t75 * t398; + const double t404 = t89 * t28; + const double t405 = t404 * t48; + const double t410 = t95 * t28; + const double t411 = t410 * t48; + const double t416 = t101 * t28; + const double t417 = t416 * t48; + const double t422 = t107 * t28; + const double t423 = t422 * t48; + const double t428 = t113 * t28; + const double t429 = t428 * t48; + const double t434 = t256 * t28; + const double t435 = t434 * t48; + const double t438 = -0.1e2 * t105 * t429 - 0.11e2 * t111 * t435 - 0.7e1 * t223 * t405 - 0.8e1 * t230 * t411 - 0.9e1 * t237 * t417 - 0.1e2 * t244 * t423 - 0.11e2 * t251 * t429 - 0.6e1 * t81 * t405 - 0.7e1 * t87 * t411 - 0.8e1 * t93 * t417 - 0.9e1 * t99 * t423; + const double t439 = t403 + t438; + const double t462 = -t123 * t375 - 0.2e1 * t126 * t380 - 0.3e1 * t129 * t386 - 0.4e1 * t132 * t392 - 0.5e1 * t135 * t398 - 0.2e1 * t275 * t375 - 0.3e1 * t282 * t380 - 0.4e1 * t289 * t386 - 0.5e1 * t296 * t392 - 0.6e1 * t303 * t398 - t441 * t372; + const double t485 = -0.6e1 * t138 * t405 - 0.7e1 * t141 * t411 - 0.8e1 * t144 * t417 - 0.9e1 * t147 * t423 - 0.1e2 * t150 * t429 - 0.11e2 * t153 * t435 - 0.7e1 * t311 * t405 - 0.8e1 * t318 * t411 - 0.9e1 * t325 * t417 - 0.1e2 * t332 * t423 - 0.11e2 * t339 * t429; + const double t486 = t462 + t485; + const double t488 = t120 * t486 + t40 * t439; + const double t492 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t488 ); + + + eps = 0.2e1 * t161; + vrho = 0.2e1 * rho * t354 + 0.2e1 * t161; + vsigma = 0.2e1 * rho * t369; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t492; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + constexpr double t360 = t26 * t28; + constexpr double t371 = t42 * t28; + constexpr double t441 = t122 * t28; + constexpr double t506 = 0.1e1 / t23 / t22; + constexpr double t701 = t43 * t506; + constexpr double t897 = t701 * t27; + constexpr double t1044 = t42 * t27; + constexpr double t1169 = t122 * t27; + constexpr double t1217 = t55 * t27; + constexpr double t1363 = t125 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t163 = t18 / t31; + const double t167 = t37 * t37; + const double t170 = 0.1e1 / t167 * t21 * t25; + const double t171 = t30 * rho; + const double t173 = 0.1e1 / t31 / t171; + const double t178 = t42 * tau; + const double t179 = t28 * t33; + const double t180 = t179 * t53; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t178 * t180 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t26 * sigma; + const double t264 = t28 * t173; + const double t265 = t118 * t155; + const double t269 = t122 * tau; + const double t272 = t123 * t59; + const double t275 = t125 * t50; + const double t276 = t275 * t59; + const double t279 = t126 * t65; + const double t282 = t128 * t56; + const double t283 = t282 * t65; + const double t286 = t129 * t71; + const double t289 = t131 * t62; + const double t290 = t289 * t71; + const double t293 = t132 * t77; + const double t296 = t134 * t68; + const double t297 = t296 * t77; + const double t300 = t135 * t83; + const double t303 = t137 * t74; + const double t304 = t303 * t83; + const double t307 = 0.5e1 / 0.3e1 * t269 * t180 + 0.5e1 / 0.3e1 * t272 * t184 + 0.1e2 / 0.3e1 * t276 * t184 + 0.1e2 / 0.3e1 * t279 * t184 + 0.5e1 * t283 * t184 + 0.5e1 * t286 * t184 + 0.2e2 / 0.3e1 * t290 * t184 + 0.2e2 / 0.3e1 * t293 * t184 + 0.25e2 / 0.3e1 * t297 * t184 + 0.25e2 / 0.3e1 * t300 * t184 + 0.1e2 * t304 * t184; + const double t308 = t138 * t89; + const double t311 = t140 * t80; + const double t312 = t311 * t89; + const double t315 = t141 * t95; + const double t318 = t143 * t86; + const double t319 = t318 * t95; + const double t322 = t144 * t101; + const double t325 = t146 * t92; + const double t326 = t325 * t101; + const double t329 = t147 * t107; + const double t332 = t149 * t98; + const double t333 = t332 * t107; + const double t336 = t150 * t113; + const double t339 = t152 * t104; + const double t340 = t339 * t113; + const double t343 = t153 * t256; + const double t346 = 0.1e2 * t308 * t184 + 0.35e2 / 0.3e1 * t312 * t184 + 0.35e2 / 0.3e1 * t315 * t184 + 0.4e2 / 0.3e1 * t319 * t184 + 0.4e2 / 0.3e1 * t322 * t184 + 0.15e2 * t326 * t184 + 0.15e2 * t329 * t184 + 0.5e2 / 0.3e1 * t333 * t184 + 0.5e2 / 0.3e1 * t336 * t184 + 0.55e2 / 0.3e1 * t340 * t184 + 0.55e2 / 0.3e1 * t343 * t184; + const double t347 = t307 + t346; + const double t349 = -0.1576608624e-1 * t170 * t29 * t173 * t115 + t40 * t261 - 0.13717421124828532236e-1 * t263 * t264 * t265 + t120 * t347; + const double t354 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t157 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t349 ); + const double t361 = t33 * t118; + const double t365 = 0.591228234e-2 * t170 * t179 * t115 + 0.51440329218106995885e-2 * t360 * t361 * t155; + const double t369 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t365 ); + const double t372 = t48 * t53; + const double t374 = t59 * t28; + const double t375 = t374 * t48; + const double t379 = t65 * t28; + const double t380 = t379 * t48; + const double t385 = t71 * t28; + const double t386 = t385 * t48; + const double t391 = t77 * t28; + const double t392 = t391 * t48; + const double t397 = t83 * t28; + const double t398 = t397 * t48; + const double t403 = -0.2e1 * t187 * t375 - 0.3e1 * t194 * t380 - 0.4e1 * t201 * t386 - 0.5e1 * t208 * t392 - 0.6e1 * t215 * t398 - t371 * t372 - t51 * t375 - 0.2e1 * t57 * t380 - 0.3e1 * t63 * t386 - 0.4e1 * t69 * t392 - 0.5e1 * t75 * t398; + const double t404 = t89 * t28; + const double t405 = t404 * t48; + const double t410 = t95 * t28; + const double t411 = t410 * t48; + const double t416 = t101 * t28; + const double t417 = t416 * t48; + const double t422 = t107 * t28; + const double t423 = t422 * t48; + const double t428 = t113 * t28; + const double t429 = t428 * t48; + const double t434 = t256 * t28; + const double t435 = t434 * t48; + const double t438 = -0.1e2 * t105 * t429 - 0.11e2 * t111 * t435 - 0.7e1 * t223 * t405 - 0.8e1 * t230 * t411 - 0.9e1 * t237 * t417 - 0.1e2 * t244 * t423 - 0.11e2 * t251 * t429 - 0.6e1 * t81 * t405 - 0.7e1 * t87 * t411 - 0.8e1 * t93 * t417 - 0.9e1 * t99 * t423; + const double t439 = t403 + t438; + const double t462 = -t123 * t375 - 0.2e1 * t126 * t380 - 0.3e1 * t129 * t386 - 0.4e1 * t132 * t392 - 0.5e1 * t135 * t398 - 0.2e1 * t275 * t375 - 0.3e1 * t282 * t380 - 0.4e1 * t289 * t386 - 0.5e1 * t296 * t392 - 0.6e1 * t303 * t398 - t441 * t372; + const double t485 = -0.6e1 * t138 * t405 - 0.7e1 * t141 * t411 - 0.8e1 * t144 * t417 - 0.9e1 * t147 * t423 - 0.1e2 * t150 * t429 - 0.11e2 * t153 * t435 - 0.7e1 * t311 * t405 - 0.8e1 * t318 * t411 - 0.9e1 * t325 * t417 - 0.1e2 * t332 * t423 - 0.11e2 * t339 * t429; + const double t486 = t462 + t485; + const double t488 = t120 * t486 + t40 * t439; + const double t492 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t488 ); + const double t495 = t18 * t48; + const double t507 = 0.1e1 / t167 / t37 * t43 * t506; + const double t508 = sigma * sigma; + const double t509 = t508 * t27; + const double t510 = t30 * t30; + const double t511 = t510 * t171; + const double t513 = 0.1e1 / t19 / t511; + const double t519 = 0.1e1 / t31 / t510; + const double t528 = tau * tau; + const double t529 = t42 * t528; + const double t530 = t510 * rho; + const double t532 = 0.1e1 / t19 / t530; + const double t533 = t27 * t532; + const double t534 = t533 * t59; + const double t537 = t55 * t528; + const double t540 = t264 * t53; + const double t543 = t237 * t107; + const double t544 = t528 * t27; + const double t545 = t544 * t532; + const double t548 = t99 * t113; + const double t551 = t103 * t92; + const double t552 = t551 * t107; + const double t555 = t244 * t113; + const double t558 = t105 * t256; + const double t561 = t109 * t98; + const double t562 = t561 * t113; + const double t565 = t251 * t256; + const double t569 = 0.1e1 / t94 / t76; + const double t570 = t111 * t569; + const double t573 = t73 * t62; + const double t574 = t573 * t77; + const double t577 = t208 * t83; + const double t580 = 0.1e3 / 0.9e1 * t529 * t534 + 0.1e3 / 0.9e1 * t537 * t534 - 0.4e2 / 0.9e1 * t178 * t540 + 0.9e3 * t543 * t545 + 0.5e3 * t548 * t545 + 0.5e3 * t552 * t545 + 0.1e5 / 0.9e1 * t555 * t545 + 0.55e4 / 0.9e1 * t558 * t545 + 0.55e4 / 0.9e1 * t562 * t545 + 0.121e5 / 0.9e1 * t565 * t545 + 0.22e4 / 0.3e1 * t570 * t545 + 0.1e4 / 0.9e1 * t574 * t545 + 0.25e4 / 0.9e1 * t577 * t545; + const double t581 = t75 * t89; + const double t584 = t79 * t68; + const double t585 = t584 * t83; + const double t588 = t215 * t89; + const double t591 = t81 * t95; + const double t594 = t85 * t74; + const double t595 = t594 * t89; + const double t598 = t223 * t95; + const double t601 = t87 * t101; + const double t604 = t91 * t80; + const double t605 = t604 * t95; + const double t608 = t230 * t101; + const double t611 = t93 * t107; + const double t614 = t51 * t65; + const double t617 = t187 * t65; + const double t620 = t57 * t71; + const double t623 = t61 * t50; + const double t624 = t623 * t65; + const double t627 = 0.5e3 / 0.3e1 * t581 * t545 + 0.5e3 / 0.3e1 * t585 * t545 + 0.4e3 * t588 * t545 + 0.7e3 / 0.3e1 * t591 * t545 + 0.7e3 / 0.3e1 * t595 * t545 + 0.49e4 / 0.9e1 * t598 * t545 + 0.28e4 / 0.9e1 * t601 * t545 + 0.28e4 / 0.9e1 * t605 * t545 + 0.64e4 / 0.9e1 * t608 * t545 + 0.4e3 * t611 * t545 + 0.1e3 / 0.9e1 * t614 * t545 + 0.4e3 / 0.9e1 * t617 * t545 + 0.1e3 / 0.3e1 * t620 * t545 + 0.1e3 / 0.3e1 * t624 * t545; + const double t629 = t194 * t71; + const double t632 = t63 * t77; + const double t635 = t67 * t56; + const double t636 = t635 * t71; + const double t639 = t201 * t77; + const double t642 = t69 * t83; + const double t645 = t46 * t173; + const double t662 = 0.1e3 * t629 * t545 + 0.2e3 / 0.3e1 * t632 * t545 + 0.2e3 / 0.3e1 * t636 * t545 + 0.16e4 / 0.9e1 * t639 * t545 + 0.1e4 / 0.9e1 * t642 * t545 - 0.4e2 * t241 * t645 - 0.4e3 / 0.9e1 * t245 * t645 - 0.4e3 / 0.9e1 * t248 * t645 - 0.44e3 / 0.9e1 * t252 * t645 - 0.44e3 / 0.9e1 * t257 * t645 - 0.2e3 / 0.9e1 * t212 * t645 - 0.8e2 / 0.3e1 * t216 * t645 - 0.8e2 / 0.3e1 * t220 * t645; + const double t689 = t97 * t86; + const double t690 = t689 * t101; + const double t693 = -0.28e3 / 0.9e1 * t224 * t645 - 0.28e3 / 0.9e1 * t227 * t645 - 0.32e3 / 0.9e1 * t231 * t645 - 0.32e3 / 0.9e1 * t234 * t645 - 0.4e2 * t238 * t645 - 0.4e2 / 0.9e1 * t183 * t645 - 0.8e2 / 0.9e1 * t188 * t645 - 0.8e2 / 0.9e1 * t191 * t645 - 0.4e2 / 0.3e1 * t195 * t645 - 0.4e2 / 0.3e1 * t198 * t645 - 0.16e3 / 0.9e1 * t202 * t645 - 0.16e3 / 0.9e1 * t205 * t645 - 0.2e3 / 0.9e1 * t209 * t645 + 0.4e3 * t690 * t545; + const double t695 = t580 + t627 + t662 + t693; + const double t697 = t28 * t519; + const double t702 = t701 * t508; + const double t703 = t27 * t513; + const double t707 = t118 * t347; + const double t711 = t122 * t528; + const double t714 = t125 * t528; + const double t719 = t153 * t569; + const double t722 = t141 * t101; + const double t725 = t143 * t80; + const double t726 = t725 * t95; + const double t729 = t318 * t101; + const double t732 = t144 * t107; + const double t735 = t146 * t86; + const double t736 = t735 * t101; + const double t739 = t325 * t107; + const double t742 = t147 * t113; + const double t745 = t149 * t92; + const double t746 = t745 * t107; + const double t749 = t332 * t113; + const double t752 = 0.1e3 / 0.9e1 * t711 * t534 + 0.1e3 / 0.9e1 * t714 * t534 - 0.4e2 / 0.9e1 * t269 * t540 + 0.22e4 / 0.3e1 * t719 * t545 + 0.28e4 / 0.9e1 * t722 * t545 + 0.28e4 / 0.9e1 * t726 * t545 + 0.64e4 / 0.9e1 * t729 * t545 + 0.4e3 * t732 * t545 + 0.4e3 * t736 * t545 + 0.9e3 * t739 * t545 + 0.5e3 * t742 * t545 + 0.5e3 * t746 * t545 + 0.1e5 / 0.9e1 * t749 * t545; + const double t753 = t150 * t256; + const double t756 = t152 * t98; + const double t757 = t756 * t113; + const double t760 = t339 * t256; + const double t763 = t129 * t77; + const double t766 = t131 * t56; + const double t767 = t766 * t71; + const double t770 = t289 * t77; + const double t773 = t132 * t83; + const double t776 = t134 * t62; + const double t777 = t776 * t77; + const double t780 = t296 * t83; + const double t783 = t135 * t89; + const double t786 = t137 * t68; + const double t787 = t786 * t83; + const double t790 = t303 * t89; + const double t793 = t138 * t95; + const double t796 = t140 * t74; + const double t797 = t796 * t89; + const double t800 = 0.55e4 / 0.9e1 * t753 * t545 + 0.55e4 / 0.9e1 * t757 * t545 + 0.121e5 / 0.9e1 * t760 * t545 + 0.2e3 / 0.3e1 * t763 * t545 + 0.2e3 / 0.3e1 * t767 * t545 + 0.16e4 / 0.9e1 * t770 * t545 + 0.1e4 / 0.9e1 * t773 * t545 + 0.1e4 / 0.9e1 * t777 * t545 + 0.25e4 / 0.9e1 * t780 * t545 + 0.5e3 / 0.3e1 * t783 * t545 + 0.5e3 / 0.3e1 * t787 * t545 + 0.4e3 * t790 * t545 + 0.7e3 / 0.3e1 * t793 * t545 + 0.7e3 / 0.3e1 * t797 * t545; + const double t802 = t311 * t95; + const double t807 = t123 * t65; + const double t810 = t275 * t65; + const double t813 = t126 * t71; + const double t816 = t128 * t50; + const double t817 = t816 * t65; + const double t820 = t282 * t71; + const double t835 = 0.49e4 / 0.9e1 * t802 * t545 - 0.4e2 / 0.3e1 * t283 * t645 + 0.1e3 / 0.9e1 * t807 * t545 + 0.4e3 / 0.9e1 * t810 * t545 + 0.1e3 / 0.3e1 * t813 * t545 + 0.1e3 / 0.3e1 * t817 * t545 + 0.1e3 * t820 * t545 - 0.32e3 / 0.9e1 * t319 * t645 - 0.32e3 / 0.9e1 * t322 * t645 - 0.4e2 * t326 * t645 - 0.4e2 * t329 * t645 - 0.4e3 / 0.9e1 * t333 * t645 - 0.4e3 / 0.9e1 * t336 * t645; + const double t864 = -0.44e3 / 0.9e1 * t340 * t645 - 0.44e3 / 0.9e1 * t343 * t645 - 0.4e2 / 0.3e1 * t286 * t645 - 0.16e3 / 0.9e1 * t290 * t645 - 0.16e3 / 0.9e1 * t293 * t645 - 0.2e3 / 0.9e1 * t297 * t645 - 0.2e3 / 0.9e1 * t300 * t645 - 0.8e2 / 0.3e1 * t304 * t645 - 0.8e2 / 0.3e1 * t308 * t645 - 0.28e3 / 0.9e1 * t312 * t645 - 0.28e3 / 0.9e1 * t315 * t645 - 0.4e2 / 0.9e1 * t272 * t645 - 0.8e2 / 0.9e1 * t276 * t645 - 0.8e2 / 0.9e1 * t279 * t645; + const double t866 = t752 + t800 + t835 + t864; + const double t868 = -0.15381393735744e-2 * t507 * t509 * t513 * t115 + 0.5780898288e-1 * t170 * t29 * t519 * t115 - 0.3153217248e-1 * t170 * t29 * t173 * t261 + t40 * t695 + 0.50297210791037951532e-1 * t263 * t697 * t265 - 0.68176681998511621221e-3 * t702 * t703 * t265 - 0.27434842249657064472e-1 * t263 * t264 * t707 + t120 * t866; + const double t873 = piecewise_functor_3( t3, 0.0, t7 * t495 * t157 / 0.12e2 - t7 * t163 * t349 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t868 ); + const double t879 = t510 * t30; + const double t881 = 0.1e1 / t19 / t879; + const double t882 = t27 * t881; + const double t883 = t115 * sigma; + const double t893 = t173 * t118; + const double t898 = t881 * sigma; + const double t905 = 0.5768022650904e-3 * t507 * t882 * t883 - 0.1576608624e-1 * t170 * t264 * t115 + 0.591228234e-2 * t170 * t179 * t261 - 0.13717421124828532236e-1 * t360 * t893 * t155 + 0.25566255749441857958e-3 * t897 * t898 * t265 + 0.51440329218106995885e-2 * t360 * t361 * t347; + const double t910 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t365 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t905 ); + const double t920 = t422 * t33; + const double t925 = t428 * t33; + const double t930 = t434 * t33; + const double t933 = t397 * t33; + const double t936 = t404 * t33; + const double t942 = 0.1e1 / t19 / t510; + const double t943 = t27 * t942; + const double t944 = t943 * tau; + const double t955 = 0.15e2 * t99 * t920 + 0.5e2 / 0.3e1 * t244 * t920 + 0.5e2 / 0.3e1 * t105 * t925 + 0.55e2 / 0.3e1 * t251 * t925 + 0.55e2 / 0.3e1 * t111 * t930 + 0.1e2 * t215 * t933 + 0.1e2 * t81 * t936 + 0.35e2 / 0.3e1 * t223 * t936 - 0.6e2 * t629 * t944 - 0.4e2 * t632 * t944 - 0.4e2 * t636 * t944 - 0.32e3 / 0.3e1 * t639 * t944 - 0.2e3 / 0.3e1 * t642 * t944; + const double t984 = -0.2e3 / 0.3e1 * t574 * t944 - 0.5e3 / 0.3e1 * t577 * t944 - 0.1e3 * t581 * t944 - 0.2e2 / 0.3e1 * t614 * t944 - 0.8e2 / 0.3e1 * t617 * t944 - 0.3e3 * t552 * t944 - 0.2e4 / 0.3e1 * t555 * t944 - 0.11e4 / 0.3e1 * t558 * t944 - 0.11e4 / 0.3e1 * t562 * t944 - 0.242e4 / 0.3e1 * t565 * t944 - 0.44e3 * t570 * t944 - 0.1e3 * t585 * t944 - 0.24e3 * t588 * t944 - 0.14e3 * t591 * t944; + const double t1008 = t33 * t53; + const double t1011 = t410 * t33; + const double t1014 = -0.14e3 * t595 * t944 - 0.98e3 / 0.3e1 * t598 * t944 - 0.56e3 / 0.3e1 * t601 * t944 - 0.56e3 / 0.3e1 * t605 * t944 - 0.128e4 / 0.3e1 * t608 * t944 - 0.24e3 * t611 * t944 - 0.24e3 * t690 * t944 - 0.2e2 * t620 * t944 - 0.2e2 * t624 * t944 - 0.54e3 * t543 * t944 - 0.3e3 * t548 * t944 + 0.5e1 / 0.3e1 * t371 * t1008 + 0.35e2 / 0.3e1 * t87 * t1011; + const double t1017 = t416 * t33; + const double t1022 = t379 * t33; + const double t1025 = t385 * t33; + const double t1030 = t391 * t33; + const double t1037 = t374 * t33; + const double t1045 = t942 * t59; + const double t1046 = t1045 * tau; + const double t1049 = t55 * tau; + const double t1050 = t943 * t59; + const double t1053 = 0.4e2 / 0.3e1 * t230 * t1011 + 0.4e2 / 0.3e1 * t93 * t1017 + 0.15e2 * t237 * t1017 + 0.5e1 * t194 * t1022 + 0.5e1 * t63 * t1025 + 0.2e2 / 0.3e1 * t201 * t1025 + 0.2e2 / 0.3e1 * t69 * t1030 + 0.25e2 / 0.3e1 * t208 * t1030 + 0.25e2 / 0.3e1 * t75 * t933 + 0.5e1 / 0.3e1 * t51 * t1037 + 0.1e2 / 0.3e1 * t187 * t1037 + 0.1e2 / 0.3e1 * t57 * t1022 - 0.2e2 / 0.3e1 * t1044 * t1046 - 0.2e2 / 0.3e1 * t1049 * t1050; + const double t1055 = t955 + t984 + t1014 + t1053; + const double t1057 = t118 * t486; + const double t1087 = -0.2e2 / 0.3e1 * t807 * t944 - 0.2e3 / 0.3e1 * t777 * t944 - 0.5e3 / 0.3e1 * t780 * t944 - 0.1e3 * t783 * t944 - 0.1e3 * t787 * t944 - 0.24e3 * t790 * t944 - 0.14e3 * t793 * t944 - 0.14e3 * t797 * t944 - 0.98e3 / 0.3e1 * t802 * t944 - 0.56e3 / 0.3e1 * t722 * t944 - 0.56e3 / 0.3e1 * t726 * t944 - 0.128e4 / 0.3e1 * t729 * t944 - 0.8e2 / 0.3e1 * t810 * t944; + const double t1116 = -0.2e2 * t813 * t944 - 0.2e2 * t817 * t944 - 0.6e2 * t820 * t944 - 0.4e2 * t763 * t944 - 0.4e2 * t767 * t944 - 0.32e3 / 0.3e1 * t770 * t944 - 0.2e3 / 0.3e1 * t773 * t944 - 0.44e3 * t719 * t944 - 0.24e3 * t732 * t944 - 0.24e3 * t736 * t944 - 0.54e3 * t739 * t944 - 0.3e3 * t742 * t944 - 0.3e3 * t746 * t944 - 0.2e4 / 0.3e1 * t749 * t944; + const double t1144 = -0.11e4 / 0.3e1 * t753 * t944 - 0.11e4 / 0.3e1 * t757 * t944 - 0.242e4 / 0.3e1 * t760 * t944 + 0.5e1 / 0.3e1 * t441 * t1008 + 0.4e2 / 0.3e1 * t144 * t1017 + 0.15e2 * t325 * t1017 + 0.15e2 * t147 * t920 + 0.5e2 / 0.3e1 * t332 * t920 + 0.5e2 / 0.3e1 * t150 * t925 + 0.55e2 / 0.3e1 * t339 * t925 + 0.55e2 / 0.3e1 * t153 * t930 + 0.25e2 / 0.3e1 * t135 * t933 + 0.1e2 * t303 * t933; + const double t1172 = t125 * tau; + const double t1175 = 0.1e2 * t138 * t936 + 0.35e2 / 0.3e1 * t311 * t936 + 0.35e2 / 0.3e1 * t141 * t1011 + 0.4e2 / 0.3e1 * t318 * t1011 + 0.1e2 / 0.3e1 * t275 * t1037 + 0.1e2 / 0.3e1 * t126 * t1022 + 0.5e1 * t282 * t1022 + 0.5e1 * t129 * t1025 + 0.2e2 / 0.3e1 * t289 * t1025 + 0.2e2 / 0.3e1 * t132 * t1030 + 0.25e2 / 0.3e1 * t296 * t1030 + 0.5e1 / 0.3e1 * t123 * t1037 - 0.2e2 / 0.3e1 * t1169 * t1046 - 0.2e2 / 0.3e1 * t1172 * t1050; + const double t1177 = t1087 + t1116 + t1144 + t1175; + const double t1179 = -0.1576608624e-1 * t170 * t29 * t173 * t439 + t40 * t1055 - 0.13717421124828532236e-1 * t263 * t264 * t1057 + t120 * t1177; + const double t1184 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t488 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1179 ); + const double t1190 = t532 * t118; + const double t1194 = -0.2163008494089e-3 * t507 * t533 * t115 - 0.95873459060406967341e-4 * t897 * t1190 * t155; + const double t1198 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1194 ); + const double t1206 = 0.591228234e-2 * t170 * t179 * t439 + 0.51440329218106995885e-2 * t360 * t361 * t486; + const double t1210 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1206 ); + const double t1213 = 0.1e1 / t19 / t171; + const double t1214 = t1213 * t59; + const double t1220 = t89 * t27; + const double t1221 = t1220 * t1213; + const double t1224 = t95 * t27; + const double t1225 = t1224 * t1213; + const double t1228 = t101 * t27; + const double t1229 = t1228 * t1213; + const double t1236 = t107 * t27; + const double t1237 = t1236 * t1213; + const double t1244 = t113 * t27; + const double t1245 = t1244 * t1213; + const double t1252 = t256 * t27; + const double t1253 = t1252 * t1213; + const double t1260 = 0.4e1 * t1044 * t1214 + 0.22e3 * t105 * t1253 + 0.4e1 * t1217 * t1214 + 0.84e2 * t594 * t1221 + 0.196e3 * t223 * t1225 + 0.112e3 * t604 * t1225 + 0.256e3 * t230 * t1229 + 0.144e3 * t689 * t1229 + 0.112e3 * t87 * t1229 + 0.324e3 * t237 * t1237 + 0.18e3 * t551 * t1237 + 0.144e3 * t93 * t1237 + 0.4e3 * t244 * t1245 + 0.22e3 * t561 * t1245 + 0.18e3 * t99 * t1245 + 0.484e3 * t251 * t1253; + const double t1261 = t569 * t27; + const double t1262 = t1261 * t1213; + const double t1265 = t65 * t27; + const double t1266 = t1265 * t1213; + const double t1271 = t71 * t27; + const double t1272 = t1271 * t1213; + const double t1279 = t77 * t27; + const double t1280 = t1279 * t1213; + const double t1287 = t83 * t27; + const double t1288 = t1287 * t1213; + const double t1303 = 0.264e3 * t111 * t1262 + 0.144e3 * t215 * t1221 + 0.6e2 * t75 * t1221 + 0.84e2 * t81 * t1225 + 0.16e2 * t187 * t1266 + 0.4e1 * t51 * t1266 + 0.12e2 * t623 * t1266 + 0.36e2 * t194 * t1272 + 0.12e2 * t57 * t1272 + 0.24e2 * t635 * t1272 + 0.64e2 * t201 * t1280 + 0.4e2 * t573 * t1280 + 0.24e2 * t63 * t1280 + 0.1e3 * t208 * t1288 + 0.6e2 * t584 * t1288 + 0.4e2 * t69 * t1288; + const double t1304 = t1260 + t1303; + const double t1338 = 0.18e3 * t745 * t1237 + 0.18e3 * t147 * t1245 + 0.4e3 * t332 * t1245 + 0.22e3 * t756 * t1245 + 0.22e3 * t150 * t1253 + 0.484e3 * t339 * t1253 + 0.12e2 * t126 * t1272 + 0.264e3 * t153 * t1262 + 0.16e2 * t275 * t1266 + 0.12e2 * t816 * t1266 + 0.36e2 * t282 * t1272 + 0.24e2 * t766 * t1272 + 0.24e2 * t129 * t1280 + 0.64e2 * t289 * t1280 + 0.4e2 * t776 * t1280 + 0.4e2 * t132 * t1288; + const double t1372 = 0.4e1 * t1169 * t1214 + 0.4e1 * t1363 * t1214 + 0.6e2 * t135 * t1221 + 0.144e3 * t303 * t1221 + 0.84e2 * t796 * t1221 + 0.84e2 * t138 * t1225 + 0.196e3 * t311 * t1225 + 0.112e3 * t725 * t1225 + 0.112e3 * t141 * t1229 + 0.256e3 * t318 * t1229 + 0.144e3 * t735 * t1229 + 0.4e1 * t123 * t1266 + 0.144e3 * t144 * t1237 + 0.324e3 * t325 * t1237 + 0.1e3 * t296 * t1288 + 0.6e2 * t786 * t1288; + const double t1373 = t1338 + t1372; + const double t1375 = t120 * t1373 + t40 * t1304; + const double t1379 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1375 ); + + + v2rho2 = 0.2e1 * rho * t873 + 0.4e1 * t354; + v2rhosigma = 0.2e1 * rho * t910 + 0.2e1 * t369; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1184 + 0.2e1 * t492; + v2sigma2 = 0.2e1 * rho * t1198; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1210; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1379; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t45 = 0.3e1 / 0.1e2 * t43 * t24; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t122 = b_1; + constexpr double t125 = b_2; + constexpr double t128 = b_3; + constexpr double t131 = b_4; + constexpr double t134 = b_5; + constexpr double t137 = b_6; + constexpr double t140 = b_7; + constexpr double t143 = b_8; + constexpr double t146 = b_9; + constexpr double t149 = b_10; + constexpr double t152 = b_11; + constexpr double t360 = t26 * t28; + constexpr double t371 = t42 * t28; + constexpr double t441 = t122 * t28; + constexpr double t506 = 0.1e1 / t23 / t22; + constexpr double t701 = t43 * t506; + constexpr double t897 = t701 * t27; + constexpr double t1044 = t42 * t27; + constexpr double t1169 = t122 * t27; + constexpr double t1217 = t55 * t27; + constexpr double t1363 = t125 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t35 = t26 * t29 * t33; + const double t37 = 0.804e0 + 0.914625e-2 * t35; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t110 = t92 * t62; + const double t111 = t109 * t110; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t99 * t101 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t118 = safe_math::exp( -0.93189002206715572255e-2 * t35 ); + const double t120 = 0.1552e1 - 0.552e0 * t118; + const double t123 = t122 * t50; + const double t126 = t125 * t56; + const double t129 = t128 * t62; + const double t132 = t131 * t68; + const double t135 = t134 * t74; + const double t138 = t137 * t80; + const double t141 = t140 * t86; + const double t144 = t143 * t92; + const double t147 = t146 * t98; + const double t150 = t149 * t104; + const double t153 = t152 * t110; + const double t155 = t147 * t101 + t150 * t107 + t153 * t113 + t123 * t53 + t126 * t59 + t129 * t65 + t132 * t71 + t135 * t77 + t138 * t83 + t141 * t89 + t144 * t95 + b_0; + const double t157 = t40 * t115 + t120 * t155; + const double t161 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t157 ); + const double t163 = t18 / t31; + const double t167 = t37 * t37; + const double t170 = 0.1e1 / t167 * t21 * t25; + const double t171 = t30 * rho; + const double t173 = 0.1e1 / t31 / t171; + const double t178 = t42 * tau; + const double t179 = t28 * t33; + const double t180 = t179 * t53; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t178 * t180 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t26 * sigma; + const double t264 = t28 * t173; + const double t265 = t118 * t155; + const double t269 = t122 * tau; + const double t272 = t123 * t59; + const double t275 = t125 * t50; + const double t276 = t275 * t59; + const double t279 = t126 * t65; + const double t282 = t128 * t56; + const double t283 = t282 * t65; + const double t286 = t129 * t71; + const double t289 = t131 * t62; + const double t290 = t289 * t71; + const double t293 = t132 * t77; + const double t296 = t134 * t68; + const double t297 = t296 * t77; + const double t300 = t135 * t83; + const double t303 = t137 * t74; + const double t304 = t303 * t83; + const double t307 = 0.5e1 / 0.3e1 * t269 * t180 + 0.5e1 / 0.3e1 * t272 * t184 + 0.1e2 / 0.3e1 * t276 * t184 + 0.1e2 / 0.3e1 * t279 * t184 + 0.5e1 * t283 * t184 + 0.5e1 * t286 * t184 + 0.2e2 / 0.3e1 * t290 * t184 + 0.2e2 / 0.3e1 * t293 * t184 + 0.25e2 / 0.3e1 * t297 * t184 + 0.25e2 / 0.3e1 * t300 * t184 + 0.1e2 * t304 * t184; + const double t308 = t138 * t89; + const double t311 = t140 * t80; + const double t312 = t311 * t89; + const double t315 = t141 * t95; + const double t318 = t143 * t86; + const double t319 = t318 * t95; + const double t322 = t144 * t101; + const double t325 = t146 * t92; + const double t326 = t325 * t101; + const double t329 = t147 * t107; + const double t332 = t149 * t98; + const double t333 = t332 * t107; + const double t336 = t150 * t113; + const double t339 = t152 * t104; + const double t340 = t339 * t113; + const double t343 = t153 * t256; + const double t346 = 0.1e2 * t308 * t184 + 0.35e2 / 0.3e1 * t312 * t184 + 0.35e2 / 0.3e1 * t315 * t184 + 0.4e2 / 0.3e1 * t319 * t184 + 0.4e2 / 0.3e1 * t322 * t184 + 0.15e2 * t326 * t184 + 0.15e2 * t329 * t184 + 0.5e2 / 0.3e1 * t333 * t184 + 0.5e2 / 0.3e1 * t336 * t184 + 0.55e2 / 0.3e1 * t340 * t184 + 0.55e2 / 0.3e1 * t343 * t184; + const double t347 = t307 + t346; + const double t349 = -0.1576608624e-1 * t170 * t29 * t173 * t115 + t40 * t261 - 0.13717421124828532236e-1 * t263 * t264 * t265 + t120 * t347; + const double t354 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t157 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t349 ); + const double t361 = t33 * t118; + const double t365 = 0.591228234e-2 * t170 * t179 * t115 + 0.51440329218106995885e-2 * t360 * t361 * t155; + const double t369 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t365 ); + const double t372 = t48 * t53; + const double t374 = t59 * t28; + const double t375 = t374 * t48; + const double t379 = t65 * t28; + const double t380 = t379 * t48; + const double t385 = t71 * t28; + const double t386 = t385 * t48; + const double t391 = t77 * t28; + const double t392 = t391 * t48; + const double t397 = t83 * t28; + const double t398 = t397 * t48; + const double t403 = -0.2e1 * t187 * t375 - 0.3e1 * t194 * t380 - 0.4e1 * t201 * t386 - 0.5e1 * t208 * t392 - 0.6e1 * t215 * t398 - t371 * t372 - t51 * t375 - 0.2e1 * t57 * t380 - 0.3e1 * t63 * t386 - 0.4e1 * t69 * t392 - 0.5e1 * t75 * t398; + const double t404 = t89 * t28; + const double t405 = t404 * t48; + const double t410 = t95 * t28; + const double t411 = t410 * t48; + const double t416 = t101 * t28; + const double t417 = t416 * t48; + const double t422 = t107 * t28; + const double t423 = t422 * t48; + const double t428 = t113 * t28; + const double t429 = t428 * t48; + const double t434 = t256 * t28; + const double t435 = t434 * t48; + const double t438 = -0.1e2 * t105 * t429 - 0.11e2 * t111 * t435 - 0.7e1 * t223 * t405 - 0.8e1 * t230 * t411 - 0.9e1 * t237 * t417 - 0.1e2 * t244 * t423 - 0.11e2 * t251 * t429 - 0.6e1 * t81 * t405 - 0.7e1 * t87 * t411 - 0.8e1 * t93 * t417 - 0.9e1 * t99 * t423; + const double t439 = t403 + t438; + const double t462 = -t123 * t375 - 0.2e1 * t126 * t380 - 0.3e1 * t129 * t386 - 0.4e1 * t132 * t392 - 0.5e1 * t135 * t398 - 0.2e1 * t275 * t375 - 0.3e1 * t282 * t380 - 0.4e1 * t289 * t386 - 0.5e1 * t296 * t392 - 0.6e1 * t303 * t398 - t441 * t372; + const double t485 = -0.6e1 * t138 * t405 - 0.7e1 * t141 * t411 - 0.8e1 * t144 * t417 - 0.9e1 * t147 * t423 - 0.1e2 * t150 * t429 - 0.11e2 * t153 * t435 - 0.7e1 * t311 * t405 - 0.8e1 * t318 * t411 - 0.9e1 * t325 * t417 - 0.1e2 * t332 * t423 - 0.11e2 * t339 * t429; + const double t486 = t462 + t485; + const double t488 = t120 * t486 + t40 * t439; + const double t492 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t488 ); + const double t495 = t18 * t48; + const double t507 = 0.1e1 / t167 / t37 * t43 * t506; + const double t508 = sigma * sigma; + const double t509 = t508 * t27; + const double t510 = t30 * t30; + const double t511 = t510 * t171; + const double t513 = 0.1e1 / t19 / t511; + const double t519 = 0.1e1 / t31 / t510; + const double t528 = tau * tau; + const double t529 = t42 * t528; + const double t530 = t510 * rho; + const double t532 = 0.1e1 / t19 / t530; + const double t533 = t27 * t532; + const double t534 = t533 * t59; + const double t537 = t55 * t528; + const double t540 = t264 * t53; + const double t543 = t237 * t107; + const double t544 = t528 * t27; + const double t545 = t544 * t532; + const double t548 = t99 * t113; + const double t551 = t103 * t92; + const double t552 = t551 * t107; + const double t555 = t244 * t113; + const double t558 = t105 * t256; + const double t561 = t109 * t98; + const double t562 = t561 * t113; + const double t565 = t251 * t256; + const double t569 = 0.1e1 / t94 / t76; + const double t570 = t111 * t569; + const double t573 = t73 * t62; + const double t574 = t573 * t77; + const double t577 = t208 * t83; + const double t580 = 0.1e3 / 0.9e1 * t529 * t534 + 0.1e3 / 0.9e1 * t537 * t534 - 0.4e2 / 0.9e1 * t178 * t540 + 0.9e3 * t543 * t545 + 0.5e3 * t548 * t545 + 0.5e3 * t552 * t545 + 0.1e5 / 0.9e1 * t555 * t545 + 0.55e4 / 0.9e1 * t558 * t545 + 0.55e4 / 0.9e1 * t562 * t545 + 0.121e5 / 0.9e1 * t565 * t545 + 0.22e4 / 0.3e1 * t570 * t545 + 0.1e4 / 0.9e1 * t574 * t545 + 0.25e4 / 0.9e1 * t577 * t545; + const double t581 = t75 * t89; + const double t584 = t79 * t68; + const double t585 = t584 * t83; + const double t588 = t215 * t89; + const double t591 = t81 * t95; + const double t594 = t85 * t74; + const double t595 = t594 * t89; + const double t598 = t223 * t95; + const double t601 = t87 * t101; + const double t604 = t91 * t80; + const double t605 = t604 * t95; + const double t608 = t230 * t101; + const double t611 = t93 * t107; + const double t614 = t51 * t65; + const double t617 = t187 * t65; + const double t620 = t57 * t71; + const double t623 = t61 * t50; + const double t624 = t623 * t65; + const double t627 = 0.5e3 / 0.3e1 * t581 * t545 + 0.5e3 / 0.3e1 * t585 * t545 + 0.4e3 * t588 * t545 + 0.7e3 / 0.3e1 * t591 * t545 + 0.7e3 / 0.3e1 * t595 * t545 + 0.49e4 / 0.9e1 * t598 * t545 + 0.28e4 / 0.9e1 * t601 * t545 + 0.28e4 / 0.9e1 * t605 * t545 + 0.64e4 / 0.9e1 * t608 * t545 + 0.4e3 * t611 * t545 + 0.1e3 / 0.9e1 * t614 * t545 + 0.4e3 / 0.9e1 * t617 * t545 + 0.1e3 / 0.3e1 * t620 * t545 + 0.1e3 / 0.3e1 * t624 * t545; + const double t629 = t194 * t71; + const double t632 = t63 * t77; + const double t635 = t67 * t56; + const double t636 = t635 * t71; + const double t639 = t201 * t77; + const double t642 = t69 * t83; + const double t645 = t46 * t173; + const double t662 = 0.1e3 * t629 * t545 + 0.2e3 / 0.3e1 * t632 * t545 + 0.2e3 / 0.3e1 * t636 * t545 + 0.16e4 / 0.9e1 * t639 * t545 + 0.1e4 / 0.9e1 * t642 * t545 - 0.4e2 * t241 * t645 - 0.4e3 / 0.9e1 * t245 * t645 - 0.4e3 / 0.9e1 * t248 * t645 - 0.44e3 / 0.9e1 * t252 * t645 - 0.44e3 / 0.9e1 * t257 * t645 - 0.2e3 / 0.9e1 * t212 * t645 - 0.8e2 / 0.3e1 * t216 * t645 - 0.8e2 / 0.3e1 * t220 * t645; + const double t689 = t97 * t86; + const double t690 = t689 * t101; + const double t693 = -0.28e3 / 0.9e1 * t224 * t645 - 0.28e3 / 0.9e1 * t227 * t645 - 0.32e3 / 0.9e1 * t231 * t645 - 0.32e3 / 0.9e1 * t234 * t645 - 0.4e2 * t238 * t645 - 0.4e2 / 0.9e1 * t183 * t645 - 0.8e2 / 0.9e1 * t188 * t645 - 0.8e2 / 0.9e1 * t191 * t645 - 0.4e2 / 0.3e1 * t195 * t645 - 0.4e2 / 0.3e1 * t198 * t645 - 0.16e3 / 0.9e1 * t202 * t645 - 0.16e3 / 0.9e1 * t205 * t645 - 0.2e3 / 0.9e1 * t209 * t645 + 0.4e3 * t690 * t545; + const double t695 = t580 + t627 + t662 + t693; + const double t697 = t28 * t519; + const double t702 = t701 * t508; + const double t703 = t27 * t513; + const double t707 = t118 * t347; + const double t711 = t122 * t528; + const double t714 = t125 * t528; + const double t719 = t153 * t569; + const double t722 = t141 * t101; + const double t725 = t143 * t80; + const double t726 = t725 * t95; + const double t729 = t318 * t101; + const double t732 = t144 * t107; + const double t735 = t146 * t86; + const double t736 = t735 * t101; + const double t739 = t325 * t107; + const double t742 = t147 * t113; + const double t745 = t149 * t92; + const double t746 = t745 * t107; + const double t749 = t332 * t113; + const double t752 = 0.1e3 / 0.9e1 * t711 * t534 + 0.1e3 / 0.9e1 * t714 * t534 - 0.4e2 / 0.9e1 * t269 * t540 + 0.22e4 / 0.3e1 * t719 * t545 + 0.28e4 / 0.9e1 * t722 * t545 + 0.28e4 / 0.9e1 * t726 * t545 + 0.64e4 / 0.9e1 * t729 * t545 + 0.4e3 * t732 * t545 + 0.4e3 * t736 * t545 + 0.9e3 * t739 * t545 + 0.5e3 * t742 * t545 + 0.5e3 * t746 * t545 + 0.1e5 / 0.9e1 * t749 * t545; + const double t753 = t150 * t256; + const double t756 = t152 * t98; + const double t757 = t756 * t113; + const double t760 = t339 * t256; + const double t763 = t129 * t77; + const double t766 = t131 * t56; + const double t767 = t766 * t71; + const double t770 = t289 * t77; + const double t773 = t132 * t83; + const double t776 = t134 * t62; + const double t777 = t776 * t77; + const double t780 = t296 * t83; + const double t783 = t135 * t89; + const double t786 = t137 * t68; + const double t787 = t786 * t83; + const double t790 = t303 * t89; + const double t793 = t138 * t95; + const double t796 = t140 * t74; + const double t797 = t796 * t89; + const double t800 = 0.55e4 / 0.9e1 * t753 * t545 + 0.55e4 / 0.9e1 * t757 * t545 + 0.121e5 / 0.9e1 * t760 * t545 + 0.2e3 / 0.3e1 * t763 * t545 + 0.2e3 / 0.3e1 * t767 * t545 + 0.16e4 / 0.9e1 * t770 * t545 + 0.1e4 / 0.9e1 * t773 * t545 + 0.1e4 / 0.9e1 * t777 * t545 + 0.25e4 / 0.9e1 * t780 * t545 + 0.5e3 / 0.3e1 * t783 * t545 + 0.5e3 / 0.3e1 * t787 * t545 + 0.4e3 * t790 * t545 + 0.7e3 / 0.3e1 * t793 * t545 + 0.7e3 / 0.3e1 * t797 * t545; + const double t802 = t311 * t95; + const double t807 = t123 * t65; + const double t810 = t275 * t65; + const double t813 = t126 * t71; + const double t816 = t128 * t50; + const double t817 = t816 * t65; + const double t820 = t282 * t71; + const double t835 = 0.49e4 / 0.9e1 * t802 * t545 - 0.4e2 / 0.3e1 * t283 * t645 + 0.1e3 / 0.9e1 * t807 * t545 + 0.4e3 / 0.9e1 * t810 * t545 + 0.1e3 / 0.3e1 * t813 * t545 + 0.1e3 / 0.3e1 * t817 * t545 + 0.1e3 * t820 * t545 - 0.32e3 / 0.9e1 * t319 * t645 - 0.32e3 / 0.9e1 * t322 * t645 - 0.4e2 * t326 * t645 - 0.4e2 * t329 * t645 - 0.4e3 / 0.9e1 * t333 * t645 - 0.4e3 / 0.9e1 * t336 * t645; + const double t864 = -0.44e3 / 0.9e1 * t340 * t645 - 0.44e3 / 0.9e1 * t343 * t645 - 0.4e2 / 0.3e1 * t286 * t645 - 0.16e3 / 0.9e1 * t290 * t645 - 0.16e3 / 0.9e1 * t293 * t645 - 0.2e3 / 0.9e1 * t297 * t645 - 0.2e3 / 0.9e1 * t300 * t645 - 0.8e2 / 0.3e1 * t304 * t645 - 0.8e2 / 0.3e1 * t308 * t645 - 0.28e3 / 0.9e1 * t312 * t645 - 0.28e3 / 0.9e1 * t315 * t645 - 0.4e2 / 0.9e1 * t272 * t645 - 0.8e2 / 0.9e1 * t276 * t645 - 0.8e2 / 0.9e1 * t279 * t645; + const double t866 = t752 + t800 + t835 + t864; + const double t868 = -0.15381393735744e-2 * t507 * t509 * t513 * t115 + 0.5780898288e-1 * t170 * t29 * t519 * t115 - 0.3153217248e-1 * t170 * t29 * t173 * t261 + t40 * t695 + 0.50297210791037951532e-1 * t263 * t697 * t265 - 0.68176681998511621221e-3 * t702 * t703 * t265 - 0.27434842249657064472e-1 * t263 * t264 * t707 + t120 * t866; + const double t873 = piecewise_functor_3( t3, 0.0, t7 * t495 * t157 / 0.12e2 - t7 * t163 * t349 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t868 ); + const double t879 = t510 * t30; + const double t881 = 0.1e1 / t19 / t879; + const double t882 = t27 * t881; + const double t883 = t115 * sigma; + const double t893 = t173 * t118; + const double t898 = t881 * sigma; + const double t905 = 0.5768022650904e-3 * t507 * t882 * t883 - 0.1576608624e-1 * t170 * t264 * t115 + 0.591228234e-2 * t170 * t179 * t261 - 0.13717421124828532236e-1 * t360 * t893 * t155 + 0.25566255749441857958e-3 * t897 * t898 * t265 + 0.51440329218106995885e-2 * t360 * t361 * t347; + const double t910 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t365 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t905 ); + const double t920 = t422 * t33; + const double t925 = t428 * t33; + const double t930 = t434 * t33; + const double t933 = t397 * t33; + const double t936 = t404 * t33; + const double t942 = 0.1e1 / t19 / t510; + const double t943 = t27 * t942; + const double t944 = t943 * tau; + const double t955 = 0.15e2 * t99 * t920 + 0.5e2 / 0.3e1 * t244 * t920 + 0.5e2 / 0.3e1 * t105 * t925 + 0.55e2 / 0.3e1 * t251 * t925 + 0.55e2 / 0.3e1 * t111 * t930 + 0.1e2 * t215 * t933 + 0.1e2 * t81 * t936 + 0.35e2 / 0.3e1 * t223 * t936 - 0.6e2 * t629 * t944 - 0.4e2 * t632 * t944 - 0.4e2 * t636 * t944 - 0.32e3 / 0.3e1 * t639 * t944 - 0.2e3 / 0.3e1 * t642 * t944; + const double t984 = -0.2e3 / 0.3e1 * t574 * t944 - 0.5e3 / 0.3e1 * t577 * t944 - 0.1e3 * t581 * t944 - 0.2e2 / 0.3e1 * t614 * t944 - 0.8e2 / 0.3e1 * t617 * t944 - 0.3e3 * t552 * t944 - 0.2e4 / 0.3e1 * t555 * t944 - 0.11e4 / 0.3e1 * t558 * t944 - 0.11e4 / 0.3e1 * t562 * t944 - 0.242e4 / 0.3e1 * t565 * t944 - 0.44e3 * t570 * t944 - 0.1e3 * t585 * t944 - 0.24e3 * t588 * t944 - 0.14e3 * t591 * t944; + const double t1008 = t33 * t53; + const double t1011 = t410 * t33; + const double t1014 = -0.14e3 * t595 * t944 - 0.98e3 / 0.3e1 * t598 * t944 - 0.56e3 / 0.3e1 * t601 * t944 - 0.56e3 / 0.3e1 * t605 * t944 - 0.128e4 / 0.3e1 * t608 * t944 - 0.24e3 * t611 * t944 - 0.24e3 * t690 * t944 - 0.2e2 * t620 * t944 - 0.2e2 * t624 * t944 - 0.54e3 * t543 * t944 - 0.3e3 * t548 * t944 + 0.5e1 / 0.3e1 * t371 * t1008 + 0.35e2 / 0.3e1 * t87 * t1011; + const double t1017 = t416 * t33; + const double t1022 = t379 * t33; + const double t1025 = t385 * t33; + const double t1030 = t391 * t33; + const double t1037 = t374 * t33; + const double t1045 = t942 * t59; + const double t1046 = t1045 * tau; + const double t1049 = t55 * tau; + const double t1050 = t943 * t59; + const double t1053 = 0.4e2 / 0.3e1 * t230 * t1011 + 0.4e2 / 0.3e1 * t93 * t1017 + 0.15e2 * t237 * t1017 + 0.5e1 * t194 * t1022 + 0.5e1 * t63 * t1025 + 0.2e2 / 0.3e1 * t201 * t1025 + 0.2e2 / 0.3e1 * t69 * t1030 + 0.25e2 / 0.3e1 * t208 * t1030 + 0.25e2 / 0.3e1 * t75 * t933 + 0.5e1 / 0.3e1 * t51 * t1037 + 0.1e2 / 0.3e1 * t187 * t1037 + 0.1e2 / 0.3e1 * t57 * t1022 - 0.2e2 / 0.3e1 * t1044 * t1046 - 0.2e2 / 0.3e1 * t1049 * t1050; + const double t1055 = t955 + t984 + t1014 + t1053; + const double t1057 = t118 * t486; + const double t1087 = -0.2e2 / 0.3e1 * t807 * t944 - 0.2e3 / 0.3e1 * t777 * t944 - 0.5e3 / 0.3e1 * t780 * t944 - 0.1e3 * t783 * t944 - 0.1e3 * t787 * t944 - 0.24e3 * t790 * t944 - 0.14e3 * t793 * t944 - 0.14e3 * t797 * t944 - 0.98e3 / 0.3e1 * t802 * t944 - 0.56e3 / 0.3e1 * t722 * t944 - 0.56e3 / 0.3e1 * t726 * t944 - 0.128e4 / 0.3e1 * t729 * t944 - 0.8e2 / 0.3e1 * t810 * t944; + const double t1116 = -0.2e2 * t813 * t944 - 0.2e2 * t817 * t944 - 0.6e2 * t820 * t944 - 0.4e2 * t763 * t944 - 0.4e2 * t767 * t944 - 0.32e3 / 0.3e1 * t770 * t944 - 0.2e3 / 0.3e1 * t773 * t944 - 0.44e3 * t719 * t944 - 0.24e3 * t732 * t944 - 0.24e3 * t736 * t944 - 0.54e3 * t739 * t944 - 0.3e3 * t742 * t944 - 0.3e3 * t746 * t944 - 0.2e4 / 0.3e1 * t749 * t944; + const double t1144 = -0.11e4 / 0.3e1 * t753 * t944 - 0.11e4 / 0.3e1 * t757 * t944 - 0.242e4 / 0.3e1 * t760 * t944 + 0.5e1 / 0.3e1 * t441 * t1008 + 0.4e2 / 0.3e1 * t144 * t1017 + 0.15e2 * t325 * t1017 + 0.15e2 * t147 * t920 + 0.5e2 / 0.3e1 * t332 * t920 + 0.5e2 / 0.3e1 * t150 * t925 + 0.55e2 / 0.3e1 * t339 * t925 + 0.55e2 / 0.3e1 * t153 * t930 + 0.25e2 / 0.3e1 * t135 * t933 + 0.1e2 * t303 * t933; + const double t1172 = t125 * tau; + const double t1175 = 0.1e2 * t138 * t936 + 0.35e2 / 0.3e1 * t311 * t936 + 0.35e2 / 0.3e1 * t141 * t1011 + 0.4e2 / 0.3e1 * t318 * t1011 + 0.1e2 / 0.3e1 * t275 * t1037 + 0.1e2 / 0.3e1 * t126 * t1022 + 0.5e1 * t282 * t1022 + 0.5e1 * t129 * t1025 + 0.2e2 / 0.3e1 * t289 * t1025 + 0.2e2 / 0.3e1 * t132 * t1030 + 0.25e2 / 0.3e1 * t296 * t1030 + 0.5e1 / 0.3e1 * t123 * t1037 - 0.2e2 / 0.3e1 * t1169 * t1046 - 0.2e2 / 0.3e1 * t1172 * t1050; + const double t1177 = t1087 + t1116 + t1144 + t1175; + const double t1179 = -0.1576608624e-1 * t170 * t29 * t173 * t439 + t40 * t1055 - 0.13717421124828532236e-1 * t263 * t264 * t1057 + t120 * t1177; + const double t1184 = piecewise_functor_3( t3, 0.0, -t7 * t163 * t488 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1179 ); + const double t1190 = t532 * t118; + const double t1194 = -0.2163008494089e-3 * t507 * t533 * t115 - 0.95873459060406967341e-4 * t897 * t1190 * t155; + const double t1198 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1194 ); + const double t1206 = 0.591228234e-2 * t170 * t179 * t439 + 0.51440329218106995885e-2 * t360 * t361 * t486; + const double t1210 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1206 ); + const double t1213 = 0.1e1 / t19 / t171; + const double t1214 = t1213 * t59; + const double t1220 = t89 * t27; + const double t1221 = t1220 * t1213; + const double t1224 = t95 * t27; + const double t1225 = t1224 * t1213; + const double t1228 = t101 * t27; + const double t1229 = t1228 * t1213; + const double t1236 = t107 * t27; + const double t1237 = t1236 * t1213; + const double t1244 = t113 * t27; + const double t1245 = t1244 * t1213; + const double t1252 = t256 * t27; + const double t1253 = t1252 * t1213; + const double t1260 = 0.4e1 * t1044 * t1214 + 0.22e3 * t105 * t1253 + 0.4e1 * t1217 * t1214 + 0.84e2 * t594 * t1221 + 0.196e3 * t223 * t1225 + 0.112e3 * t604 * t1225 + 0.256e3 * t230 * t1229 + 0.144e3 * t689 * t1229 + 0.112e3 * t87 * t1229 + 0.324e3 * t237 * t1237 + 0.18e3 * t551 * t1237 + 0.144e3 * t93 * t1237 + 0.4e3 * t244 * t1245 + 0.22e3 * t561 * t1245 + 0.18e3 * t99 * t1245 + 0.484e3 * t251 * t1253; + const double t1261 = t569 * t27; + const double t1262 = t1261 * t1213; + const double t1265 = t65 * t27; + const double t1266 = t1265 * t1213; + const double t1271 = t71 * t27; + const double t1272 = t1271 * t1213; + const double t1279 = t77 * t27; + const double t1280 = t1279 * t1213; + const double t1287 = t83 * t27; + const double t1288 = t1287 * t1213; + const double t1303 = 0.264e3 * t111 * t1262 + 0.144e3 * t215 * t1221 + 0.6e2 * t75 * t1221 + 0.84e2 * t81 * t1225 + 0.16e2 * t187 * t1266 + 0.4e1 * t51 * t1266 + 0.12e2 * t623 * t1266 + 0.36e2 * t194 * t1272 + 0.12e2 * t57 * t1272 + 0.24e2 * t635 * t1272 + 0.64e2 * t201 * t1280 + 0.4e2 * t573 * t1280 + 0.24e2 * t63 * t1280 + 0.1e3 * t208 * t1288 + 0.6e2 * t584 * t1288 + 0.4e2 * t69 * t1288; + const double t1304 = t1260 + t1303; + const double t1338 = 0.18e3 * t745 * t1237 + 0.18e3 * t147 * t1245 + 0.4e3 * t332 * t1245 + 0.22e3 * t756 * t1245 + 0.22e3 * t150 * t1253 + 0.484e3 * t339 * t1253 + 0.12e2 * t126 * t1272 + 0.264e3 * t153 * t1262 + 0.16e2 * t275 * t1266 + 0.12e2 * t816 * t1266 + 0.36e2 * t282 * t1272 + 0.24e2 * t766 * t1272 + 0.24e2 * t129 * t1280 + 0.64e2 * t289 * t1280 + 0.4e2 * t776 * t1280 + 0.4e2 * t132 * t1288; + const double t1372 = 0.4e1 * t1169 * t1214 + 0.4e1 * t1363 * t1214 + 0.6e2 * t135 * t1221 + 0.144e3 * t303 * t1221 + 0.84e2 * t796 * t1221 + 0.84e2 * t138 * t1225 + 0.196e3 * t311 * t1225 + 0.112e3 * t725 * t1225 + 0.112e3 * t141 * t1229 + 0.256e3 * t318 * t1229 + 0.144e3 * t735 * t1229 + 0.4e1 * t123 * t1266 + 0.144e3 * t144 * t1237 + 0.324e3 * t325 * t1237 + 0.1e3 * t296 * t1288 + 0.6e2 * t786 * t1288; + const double t1373 = t1338 + t1372; + const double t1375 = t120 * t1373 + t40 * t1304; + const double t1379 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1375 ); + + + vrho = 0.2e1 * rho * t354 + 0.2e1 * t161; + vsigma = 0.2e1 * rho * t369; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t492; + v2rho2 = 0.2e1 * rho * t873 + 0.4e1 * t354; + v2rhosigma = 0.2e1 * rho * t910 + 0.2e1 * t369; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1184 + 0.2e1 * t492; + v2sigma2 = 0.2e1 * rho * t1198; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1210; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1379; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t162 ); + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t281 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t277 ); + + + eps = t166 + t281; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t162 ); + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t281 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t162 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t312 = t39 * t58; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t312 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t389 = t388 * t39; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t389; + const double t393 = t350 + t392; + const double t395 = t34 * sigma_aa; + const double t396 = t306 * t123; + const double t397 = t396 * t160; + const double t400 = t127 * tau_a; + const double t405 = t130 * t55; + const double t410 = t133 * t61; + const double t415 = t136 * t67; + const double t420 = t139 * t73; + const double t425 = t142 * t79; + const double t428 = 0.5e1 / 0.3e1 * t400 * t312 + 0.5e1 / 0.3e1 * t128 * t316 + 0.1e2 / 0.3e1 * t405 * t316 + 0.1e2 / 0.3e1 * t131 * t323 + 0.5e1 * t410 * t323 + 0.5e1 * t134 * t330 + 0.2e2 / 0.3e1 * t415 * t330 + 0.2e2 / 0.3e1 * t137 * t337 + 0.25e2 / 0.3e1 * t420 * t337 + 0.25e2 / 0.3e1 * t140 * t344 + 0.1e2 * t425 * t344; + const double t431 = t145 * t85; + const double t436 = t148 * t91; + const double t441 = t151 * t97; + const double t446 = t154 * t103; + const double t451 = t157 * t109; + const double t456 = 0.1e2 * t143 * t352 + 0.35e2 / 0.3e1 * t431 * t352 + 0.35e2 / 0.3e1 * t146 * t359 + 0.4e2 / 0.3e1 * t436 * t359 + 0.4e2 / 0.3e1 * t149 * t366 + 0.15e2 * t441 * t366 + 0.15e2 * t152 * t373 + 0.5e2 / 0.3e1 * t446 * t373 + 0.5e2 / 0.3e1 * t155 * t380 + 0.55e2 / 0.3e1 * t451 * t380 + 0.55e2 / 0.3e1 * t158 * t389; + const double t457 = t428 + t456; + const double t459 = -0.1576608624e-1 * t303 * t307 * t120 + t46 * t393 - 0.13717421124828532236e-1 * t395 * t397 + t125 * t457; + const double t464 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t162 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t459 ); + const double t465 = t168 * t283; + const double t467 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t465 ); + const double t470 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t467 ); + const double t471 = t470 * t27; + const double t475 = t175 * t295; + const double t478 = t6 * t475 * t277 / 0.8e1; + const double t480 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t471 * t277 - t478 ); + const double t484 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t487 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t484 ); + const double t488 = t487 * t27; + const double t493 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t488 * t162 - t299 ); + const double t495 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t465 ); + const double t498 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t495 ); + const double t499 = t498 * t27; + const double t503 = t185 * t185; + const double t505 = 0.1e1 / t503 * t29; + const double t506 = t505 * t33; + const double t507 = t177 * rho_b; + const double t509 = 0.1e1 / t179 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t48 * tau_b; + const double t515 = t181 * t195; + const double t518 = t200 * tau_b; + const double t519 = t518 * t181; + const double t522 = t60 * t192; + const double t525 = t205 * tau_b; + const double t526 = t525 * t181; + const double t529 = t66 * t197; + const double t532 = t210 * tau_b; + const double t533 = t532 * t181; + const double t536 = t72 * t202; + const double t539 = t215 * tau_b; + const double t540 = t539 * t181; + const double t543 = t78 * t207; + const double t546 = t220 * tau_b; + const double t547 = t546 * t181; + const double t550 = t84 * t212; + const double t553 = 0.5e1 / 0.3e1 * t514 * t515 + 0.5e1 / 0.3e1 * t193 * t519 + 0.1e2 / 0.3e1 * t522 * t519 + 0.1e2 / 0.3e1 * t198 * t526 + 0.5e1 * t529 * t526 + 0.5e1 * t203 * t533 + 0.2e2 / 0.3e1 * t536 * t533 + 0.2e2 / 0.3e1 * t208 * t540 + 0.25e2 / 0.3e1 * t543 * t540 + 0.25e2 / 0.3e1 * t213 * t547 + 0.1e2 * t550 * t547; + const double t554 = t225 * tau_b; + const double t555 = t554 * t181; + const double t558 = t90 * t217; + const double t561 = t230 * tau_b; + const double t562 = t561 * t181; + const double t565 = t96 * t222; + const double t568 = t235 * tau_b; + const double t569 = t568 * t181; + const double t572 = t102 * t227; + const double t575 = t240 * tau_b; + const double t576 = t575 * t181; + const double t579 = t108 * t232; + const double t582 = t245 * tau_b; + const double t583 = t582 * t181; + const double t586 = t114 * t237; + const double t590 = 0.1e1 / t229 / t209; + const double t591 = t590 * tau_b; + const double t592 = t591 * t181; + const double t595 = 0.1e2 * t218 * t555 + 0.35e2 / 0.3e1 * t558 * t555 + 0.35e2 / 0.3e1 * t223 * t562 + 0.4e2 / 0.3e1 * t565 * t562 + 0.4e2 / 0.3e1 * t228 * t569 + 0.15e2 * t572 * t569 + 0.15e2 * t233 * t576 + 0.5e2 / 0.3e1 * t579 * t576 + 0.5e2 / 0.3e1 * t238 * t583 + 0.55e2 / 0.3e1 * t586 * t583 + 0.55e2 / 0.3e1 * t243 * t592; + const double t596 = t553 + t595; + const double t598 = t34 * sigma_bb; + const double t599 = t509 * t250; + const double t600 = t599 * t275; + const double t603 = t127 * tau_b; + const double t608 = t130 * t192; + const double t613 = t133 * t197; + const double t618 = t136 * t202; + const double t623 = t139 * t207; + const double t628 = t142 * t212; + const double t631 = 0.5e1 / 0.3e1 * t603 * t515 + 0.5e1 / 0.3e1 * t253 * t519 + 0.1e2 / 0.3e1 * t608 * t519 + 0.1e2 / 0.3e1 * t255 * t526 + 0.5e1 * t613 * t526 + 0.5e1 * t257 * t533 + 0.2e2 / 0.3e1 * t618 * t533 + 0.2e2 / 0.3e1 * t259 * t540 + 0.25e2 / 0.3e1 * t623 * t540 + 0.25e2 / 0.3e1 * t261 * t547 + 0.1e2 * t628 * t547; + const double t634 = t145 * t217; + const double t639 = t148 * t222; + const double t644 = t151 * t227; + const double t649 = t154 * t232; + const double t654 = t157 * t237; + const double t659 = 0.1e2 * t263 * t555 + 0.35e2 / 0.3e1 * t634 * t555 + 0.35e2 / 0.3e1 * t265 * t562 + 0.4e2 / 0.3e1 * t639 * t562 + 0.4e2 / 0.3e1 * t267 * t569 + 0.15e2 * t644 * t569 + 0.15e2 * t269 * t576 + 0.5e2 / 0.3e1 * t649 * t576 + 0.5e2 / 0.3e1 * t271 * t583 + 0.55e2 / 0.3e1 * t654 * t583 + 0.55e2 / 0.3e1 * t273 * t592; + const double t660 = t631 + t659; + const double t662 = -0.1576608624e-1 * t506 * t510 * t247 + t188 * t596 - 0.13717421124828532236e-1 * t598 * t600 + t252 * t660; + const double t667 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t277 - t478 - 0.3e1 / 0.8e1 * t6 * t176 * t662 ); + const double t670 = t33 * t39; + const double t674 = t39 * t123; + const double t678 = 0.591228234e-2 * t302 * t670 * t120 + 0.51440329218106995885e-2 * t34 * t674 * t160; + const double t682 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t678 ); + const double t683 = t33 * t181; + const double t687 = t181 * t250; + const double t691 = 0.591228234e-2 * t505 * t683 * t247 + 0.51440329218106995885e-2 * t34 * t687 * t275; + const double t695 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t691 ); + const double t698 = t64 * t53; + const double t702 = t70 * t53; + const double t707 = t76 * t53; + const double t712 = t82 * t53; + const double t717 = t88 * t53; + const double t722 = -t48 * t53 * t58 - 0.2e1 * t319 * t698 - 0.3e1 * t326 * t702 - 0.4e1 * t333 * t707 - 0.5e1 * t340 * t712 - 0.6e1 * t347 * t717 - t56 * t698 - 0.2e1 * t62 * t702 - 0.3e1 * t68 * t707 - 0.4e1 * t712 * t74 - 0.5e1 * t717 * t80; + const double t723 = t94 * t53; + const double t728 = t100 * t53; + const double t733 = t106 * t53; + const double t738 = t112 * t53; + const double t743 = t118 * t53; + const double t748 = t387 * t53; + const double t751 = -0.9e1 * t104 * t738 - 0.1e2 * t110 * t743 - 0.11e2 * t116 * t748 - 0.7e1 * t355 * t723 - 0.8e1 * t362 * t728 - 0.9e1 * t369 * t733 - 0.1e2 * t376 * t738 - 0.11e2 * t383 * t743 - 0.6e1 * t723 * t86 - 0.7e1 * t728 * t92 - 0.8e1 * t733 * t98; + const double t752 = t722 + t751; + const double t775 = -t127 * t53 * t58 - t128 * t698 - 0.2e1 * t131 * t702 - 0.3e1 * t134 * t707 - 0.4e1 * t137 * t712 - 0.5e1 * t140 * t717 - 0.2e1 * t405 * t698 - 0.3e1 * t410 * t702 - 0.4e1 * t415 * t707 - 0.5e1 * t420 * t712 - 0.6e1 * t425 * t717; + const double t798 = -0.6e1 * t143 * t723 - 0.7e1 * t146 * t728 - 0.8e1 * t149 * t733 - 0.9e1 * t152 * t738 - 0.1e2 * t155 * t743 - 0.11e2 * t158 * t748 - 0.7e1 * t431 * t723 - 0.8e1 * t436 * t728 - 0.9e1 * t441 * t733 - 0.1e2 * t446 * t738 - 0.11e2 * t451 * t743; + const double t799 = t775 + t798; + const double t801 = t125 * t799 + t46 * t752; + const double t805 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t801 ); + const double t808 = t200 * t190; + const double t812 = t205 * t190; + const double t817 = t210 * t190; + const double t822 = t215 * t190; + const double t827 = t220 * t190; + const double t832 = -t190 * t195 * t48 - t193 * t808 - 0.2e1 * t198 * t812 - 0.3e1 * t203 * t817 - 0.4e1 * t208 * t822 - 0.5e1 * t213 * t827 - 0.2e1 * t522 * t808 - 0.3e1 * t529 * t812 - 0.4e1 * t536 * t817 - 0.5e1 * t543 * t822 - 0.6e1 * t550 * t827; + const double t833 = t225 * t190; + const double t838 = t230 * t190; + const double t843 = t235 * t190; + const double t848 = t240 * t190; + const double t853 = t245 * t190; + const double t858 = t590 * t190; + const double t861 = -0.6e1 * t218 * t833 - 0.7e1 * t223 * t838 - 0.8e1 * t228 * t843 - 0.9e1 * t233 * t848 - 0.1e2 * t238 * t853 - 0.11e2 * t243 * t858 - 0.7e1 * t558 * t833 - 0.8e1 * t565 * t838 - 0.9e1 * t572 * t843 - 0.1e2 * t579 * t848 - 0.11e2 * t586 * t853; + const double t862 = t832 + t861; + const double t885 = -t127 * t190 * t195 - t253 * t808 - 0.2e1 * t255 * t812 - 0.3e1 * t257 * t817 - 0.4e1 * t259 * t822 - 0.5e1 * t261 * t827 - 0.2e1 * t608 * t808 - 0.3e1 * t613 * t812 - 0.4e1 * t618 * t817 - 0.5e1 * t623 * t822 - 0.6e1 * t628 * t827; + const double t908 = -0.6e1 * t263 * t833 - 0.7e1 * t265 * t838 - 0.8e1 * t267 * t843 - 0.9e1 * t269 * t848 - 0.1e2 * t271 * t853 - 0.11e2 * t273 * t858 - 0.7e1 * t634 * t833 - 0.8e1 * t639 * t838 - 0.9e1 * t644 * t843 - 0.1e2 * t649 * t848 - 0.11e2 * t654 * t853; + const double t909 = t885 + t908; + const double t911 = t188 * t862 + t252 * t909; + const double t915 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t911 ); + + + eps = t166 + t281; + vrho_a = t166 + t281 + t7 * ( t464 + t480 ); + vrho_b = t166 + t281 + t7 * ( t493 + t667 ); + vsigma_aa = t7 * t682; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t695; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t805; + vtau_b = t7 * t915; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + constexpr double t957 = 0.1e1 / t31 / t30; + constexpr double t1149 = t49 * t957; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t162 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t312 = t39 * t58; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t312 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t389 = t388 * t39; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t389; + const double t393 = t350 + t392; + const double t395 = t34 * sigma_aa; + const double t396 = t306 * t123; + const double t397 = t396 * t160; + const double t400 = t127 * tau_a; + const double t405 = t130 * t55; + const double t410 = t133 * t61; + const double t415 = t136 * t67; + const double t420 = t139 * t73; + const double t425 = t142 * t79; + const double t428 = 0.5e1 / 0.3e1 * t400 * t312 + 0.5e1 / 0.3e1 * t128 * t316 + 0.1e2 / 0.3e1 * t405 * t316 + 0.1e2 / 0.3e1 * t131 * t323 + 0.5e1 * t410 * t323 + 0.5e1 * t134 * t330 + 0.2e2 / 0.3e1 * t415 * t330 + 0.2e2 / 0.3e1 * t137 * t337 + 0.25e2 / 0.3e1 * t420 * t337 + 0.25e2 / 0.3e1 * t140 * t344 + 0.1e2 * t425 * t344; + const double t431 = t145 * t85; + const double t436 = t148 * t91; + const double t441 = t151 * t97; + const double t446 = t154 * t103; + const double t451 = t157 * t109; + const double t456 = 0.1e2 * t143 * t352 + 0.35e2 / 0.3e1 * t431 * t352 + 0.35e2 / 0.3e1 * t146 * t359 + 0.4e2 / 0.3e1 * t436 * t359 + 0.4e2 / 0.3e1 * t149 * t366 + 0.15e2 * t441 * t366 + 0.15e2 * t152 * t373 + 0.5e2 / 0.3e1 * t446 * t373 + 0.5e2 / 0.3e1 * t155 * t380 + 0.55e2 / 0.3e1 * t451 * t380 + 0.55e2 / 0.3e1 * t158 * t389; + const double t457 = t428 + t456; + const double t459 = -0.1576608624e-1 * t303 * t307 * t120 + t46 * t393 - 0.13717421124828532236e-1 * t395 * t397 + t125 * t457; + const double t464 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t162 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t459 ); + const double t465 = t168 * t283; + const double t467 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t465 ); + const double t470 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t467 ); + const double t471 = t470 * t27; + const double t475 = t175 * t295; + const double t478 = t6 * t475 * t277 / 0.8e1; + const double t480 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t471 * t277 - t478 ); + const double t484 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t487 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t484 ); + const double t488 = t487 * t27; + const double t493 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t488 * t162 - t299 ); + const double t495 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t465 ); + const double t498 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t495 ); + const double t499 = t498 * t27; + const double t503 = t185 * t185; + const double t505 = 0.1e1 / t503 * t29; + const double t506 = t505 * t33; + const double t507 = t177 * rho_b; + const double t509 = 0.1e1 / t179 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t48 * tau_b; + const double t515 = t181 * t195; + const double t518 = t200 * tau_b; + const double t519 = t518 * t181; + const double t522 = t60 * t192; + const double t525 = t205 * tau_b; + const double t526 = t525 * t181; + const double t529 = t66 * t197; + const double t532 = t210 * tau_b; + const double t533 = t532 * t181; + const double t536 = t72 * t202; + const double t539 = t215 * tau_b; + const double t540 = t539 * t181; + const double t543 = t78 * t207; + const double t546 = t220 * tau_b; + const double t547 = t546 * t181; + const double t550 = t84 * t212; + const double t553 = 0.5e1 / 0.3e1 * t514 * t515 + 0.5e1 / 0.3e1 * t193 * t519 + 0.1e2 / 0.3e1 * t522 * t519 + 0.1e2 / 0.3e1 * t198 * t526 + 0.5e1 * t529 * t526 + 0.5e1 * t203 * t533 + 0.2e2 / 0.3e1 * t536 * t533 + 0.2e2 / 0.3e1 * t208 * t540 + 0.25e2 / 0.3e1 * t543 * t540 + 0.25e2 / 0.3e1 * t213 * t547 + 0.1e2 * t550 * t547; + const double t554 = t225 * tau_b; + const double t555 = t554 * t181; + const double t558 = t90 * t217; + const double t561 = t230 * tau_b; + const double t562 = t561 * t181; + const double t565 = t96 * t222; + const double t568 = t235 * tau_b; + const double t569 = t568 * t181; + const double t572 = t102 * t227; + const double t575 = t240 * tau_b; + const double t576 = t575 * t181; + const double t579 = t108 * t232; + const double t582 = t245 * tau_b; + const double t583 = t582 * t181; + const double t586 = t114 * t237; + const double t590 = 0.1e1 / t229 / t209; + const double t591 = t590 * tau_b; + const double t592 = t591 * t181; + const double t595 = 0.1e2 * t218 * t555 + 0.35e2 / 0.3e1 * t558 * t555 + 0.35e2 / 0.3e1 * t223 * t562 + 0.4e2 / 0.3e1 * t565 * t562 + 0.4e2 / 0.3e1 * t228 * t569 + 0.15e2 * t572 * t569 + 0.15e2 * t233 * t576 + 0.5e2 / 0.3e1 * t579 * t576 + 0.5e2 / 0.3e1 * t238 * t583 + 0.55e2 / 0.3e1 * t586 * t583 + 0.55e2 / 0.3e1 * t243 * t592; + const double t596 = t553 + t595; + const double t598 = t34 * sigma_bb; + const double t599 = t509 * t250; + const double t600 = t599 * t275; + const double t603 = t127 * tau_b; + const double t608 = t130 * t192; + const double t613 = t133 * t197; + const double t618 = t136 * t202; + const double t623 = t139 * t207; + const double t628 = t142 * t212; + const double t631 = 0.5e1 / 0.3e1 * t603 * t515 + 0.5e1 / 0.3e1 * t253 * t519 + 0.1e2 / 0.3e1 * t608 * t519 + 0.1e2 / 0.3e1 * t255 * t526 + 0.5e1 * t613 * t526 + 0.5e1 * t257 * t533 + 0.2e2 / 0.3e1 * t618 * t533 + 0.2e2 / 0.3e1 * t259 * t540 + 0.25e2 / 0.3e1 * t623 * t540 + 0.25e2 / 0.3e1 * t261 * t547 + 0.1e2 * t628 * t547; + const double t634 = t145 * t217; + const double t639 = t148 * t222; + const double t644 = t151 * t227; + const double t649 = t154 * t232; + const double t654 = t157 * t237; + const double t659 = 0.1e2 * t263 * t555 + 0.35e2 / 0.3e1 * t634 * t555 + 0.35e2 / 0.3e1 * t265 * t562 + 0.4e2 / 0.3e1 * t639 * t562 + 0.4e2 / 0.3e1 * t267 * t569 + 0.15e2 * t644 * t569 + 0.15e2 * t269 * t576 + 0.5e2 / 0.3e1 * t649 * t576 + 0.5e2 / 0.3e1 * t271 * t583 + 0.55e2 / 0.3e1 * t654 * t583 + 0.55e2 / 0.3e1 * t273 * t592; + const double t660 = t631 + t659; + const double t662 = -0.1576608624e-1 * t506 * t510 * t247 + t188 * t596 - 0.13717421124828532236e-1 * t598 * t600 + t252 * t660; + const double t667 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t277 - t478 - 0.3e1 / 0.8e1 * t6 * t176 * t662 ); + const double t670 = t33 * t39; + const double t674 = t39 * t123; + const double t678 = 0.591228234e-2 * t302 * t670 * t120 + 0.51440329218106995885e-2 * t34 * t674 * t160; + const double t682 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t678 ); + const double t683 = t33 * t181; + const double t687 = t181 * t250; + const double t691 = 0.591228234e-2 * t505 * t683 * t247 + 0.51440329218106995885e-2 * t34 * t687 * t275; + const double t695 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t691 ); + const double t698 = t64 * t53; + const double t702 = t70 * t53; + const double t707 = t76 * t53; + const double t712 = t82 * t53; + const double t717 = t88 * t53; + const double t722 = -t48 * t53 * t58 - 0.2e1 * t319 * t698 - 0.3e1 * t326 * t702 - 0.4e1 * t333 * t707 - 0.5e1 * t340 * t712 - 0.6e1 * t347 * t717 - t56 * t698 - 0.2e1 * t62 * t702 - 0.3e1 * t68 * t707 - 0.4e1 * t712 * t74 - 0.5e1 * t717 * t80; + const double t723 = t94 * t53; + const double t728 = t100 * t53; + const double t733 = t106 * t53; + const double t738 = t112 * t53; + const double t743 = t118 * t53; + const double t748 = t387 * t53; + const double t751 = -0.9e1 * t104 * t738 - 0.1e2 * t110 * t743 - 0.11e2 * t116 * t748 - 0.7e1 * t355 * t723 - 0.8e1 * t362 * t728 - 0.9e1 * t369 * t733 - 0.1e2 * t376 * t738 - 0.11e2 * t383 * t743 - 0.6e1 * t723 * t86 - 0.7e1 * t728 * t92 - 0.8e1 * t733 * t98; + const double t752 = t722 + t751; + const double t775 = -t127 * t53 * t58 - t128 * t698 - 0.2e1 * t131 * t702 - 0.3e1 * t134 * t707 - 0.4e1 * t137 * t712 - 0.5e1 * t140 * t717 - 0.2e1 * t405 * t698 - 0.3e1 * t410 * t702 - 0.4e1 * t415 * t707 - 0.5e1 * t420 * t712 - 0.6e1 * t425 * t717; + const double t798 = -0.6e1 * t143 * t723 - 0.7e1 * t146 * t728 - 0.8e1 * t149 * t733 - 0.9e1 * t152 * t738 - 0.1e2 * t155 * t743 - 0.11e2 * t158 * t748 - 0.7e1 * t431 * t723 - 0.8e1 * t436 * t728 - 0.9e1 * t441 * t733 - 0.1e2 * t446 * t738 - 0.11e2 * t451 * t743; + const double t799 = t775 + t798; + const double t801 = t125 * t799 + t46 * t752; + const double t805 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t801 ); + const double t808 = t200 * t190; + const double t812 = t205 * t190; + const double t817 = t210 * t190; + const double t822 = t215 * t190; + const double t827 = t220 * t190; + const double t832 = -t190 * t195 * t48 - t193 * t808 - 0.2e1 * t198 * t812 - 0.3e1 * t203 * t817 - 0.4e1 * t208 * t822 - 0.5e1 * t213 * t827 - 0.2e1 * t522 * t808 - 0.3e1 * t529 * t812 - 0.4e1 * t536 * t817 - 0.5e1 * t543 * t822 - 0.6e1 * t550 * t827; + const double t833 = t225 * t190; + const double t838 = t230 * t190; + const double t843 = t235 * t190; + const double t848 = t240 * t190; + const double t853 = t245 * t190; + const double t858 = t590 * t190; + const double t861 = -0.6e1 * t218 * t833 - 0.7e1 * t223 * t838 - 0.8e1 * t228 * t843 - 0.9e1 * t233 * t848 - 0.1e2 * t238 * t853 - 0.11e2 * t243 * t858 - 0.7e1 * t558 * t833 - 0.8e1 * t565 * t838 - 0.9e1 * t572 * t843 - 0.1e2 * t579 * t848 - 0.11e2 * t586 * t853; + const double t862 = t832 + t861; + const double t885 = -t127 * t190 * t195 - t253 * t808 - 0.2e1 * t255 * t812 - 0.3e1 * t257 * t817 - 0.4e1 * t259 * t822 - 0.5e1 * t261 * t827 - 0.2e1 * t608 * t808 - 0.3e1 * t613 * t812 - 0.4e1 * t618 * t817 - 0.5e1 * t623 * t822 - 0.6e1 * t628 * t827; + const double t908 = -0.6e1 * t263 * t833 - 0.7e1 * t265 * t838 - 0.8e1 * t267 * t843 - 0.9e1 * t269 * t848 - 0.1e2 * t271 * t853 - 0.11e2 * t273 * t858 - 0.7e1 * t634 * t833 - 0.8e1 * t639 * t838 - 0.9e1 * t644 * t843 - 0.1e2 * t649 * t848 - 0.11e2 * t654 * t853; + const double t909 = t885 + t908; + const double t911 = t188 * t862 + t252 * t909; + const double t915 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t911 ); + const double t918 = t24 * t24; + const double t919 = 0.1e1 / t918; + const double t920 = t286 * t286; + const double t923 = t282 * t7; + const double t924 = 0.1e1 / t923; + const double t925 = t17 * t924; + const double t928 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t925 ); + const double t932 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t920 + 0.4e1 / 0.3e1 * t24 * t928 ); + const double t933 = t932 * t27; + const double t937 = t289 * t295; + const double t939 = t6 * t937 * t162; + const double t945 = 0.1e1 / t294 / t7; + const double t946 = t26 * t945; + const double t949 = t6 * t946 * t162 / 0.12e2; + const double t951 = t6 * t296 * t459; + const double t955 = 0.1e1 / t300 / t43 * t49; + const double t958 = t955 * t957; + const double t959 = sigma_aa * sigma_aa; + const double t960 = t35 * t35; + const double t961 = t960 * t304; + const double t963 = 0.1e1 / t36 / t961; + const double t964 = t959 * t963; + const double t969 = 0.1e1 / t37 / t960; + const double t970 = sigma_aa * t969; + const double t977 = tau_a * tau_a; + const double t978 = t60 * t977; + const double t979 = t960 * rho_a; + const double t981 = 0.1e1 / t36 / t979; + const double t982 = t981 * t64; + const double t985 = t48 * t977; + const double t988 = t306 * t58; + const double t991 = t387 * t977; + const double t992 = t991 * t981; + const double t995 = t114 * t103; + const double t996 = t118 * t977; + const double t997 = t996 * t981; + const double t1003 = 0.1e1 / t99 / t81; + const double t1004 = t1003 * t977; + const double t1005 = t1004 * t981; + const double t1008 = t84 * t73; + const double t1009 = t88 * t977; + const double t1010 = t1009 * t981; + const double t1013 = t94 * t977; + const double t1014 = t1013 * t981; + const double t1017 = t100 * t977; + const double t1018 = t1017 * t981; + const double t1021 = t90 * t79; + const double t1026 = t106 * t977; + const double t1027 = t1026 * t981; + const double t1030 = 0.5e2 / 0.9e1 * t978 * t982 + 0.5e2 / 0.9e1 * t985 * t982 - 0.4e2 / 0.9e1 * t311 * t988 + 0.275e4 / 0.9e1 * t110 * t992 + 0.275e4 / 0.9e1 * t995 * t997 + 0.605e4 / 0.9e1 * t383 * t992 + 0.11e4 / 0.3e1 * t116 * t1005 + 0.25e3 / 0.3e1 * t1008 * t1010 + 0.2e3 * t347 * t1014 + 0.35e3 / 0.3e1 * t86 * t1018 + 0.35e3 / 0.3e1 * t1021 * t1014 + 0.245e4 / 0.9e1 * t355 * t1018 + 0.14e4 / 0.9e1 * t92 * t1027; + const double t1031 = t96 * t85; + const double t1036 = t112 * t977; + const double t1037 = t1036 * t981; + const double t1040 = t102 * t91; + const double t1047 = t108 * t97; + const double t1052 = t70 * t977; + const double t1053 = t1052 * t981; + const double t1058 = t76 * t977; + const double t1059 = t1058 * t981; + const double t1062 = t66 * t55; + const double t1067 = t82 * t977; + const double t1068 = t1067 * t981; + const double t1071 = 0.14e4 / 0.9e1 * t1031 * t1018 + 0.32e4 / 0.9e1 * t362 * t1027 + 0.2e3 * t98 * t1037 + 0.2e3 * t1040 * t1027 + 0.45e3 * t369 * t1037 + 0.25e3 * t104 * t997 + 0.25e3 * t1047 * t1037 + 0.5e4 / 0.9e1 * t376 * t997 + 0.5e2 / 0.9e1 * t56 * t1053 + 0.2e3 / 0.9e1 * t319 * t1053 + 0.5e2 / 0.3e1 * t62 * t1059 + 0.5e2 / 0.3e1 * t1062 * t1053 + 0.5e2 * t326 * t1059 + 0.1e3 / 0.3e1 * t68 * t1068; + const double t1073 = t72 * t61; + const double t1080 = t78 * t67; + const double t1087 = t365 * t306; + const double t1090 = t372 * t306; + const double t1095 = t379 * t306; + const double t1100 = t388 * t306; + const double t1103 = t322 * t306; + const double t1106 = 0.1e3 / 0.3e1 * t1073 * t1059 + 0.8e3 / 0.9e1 * t333 * t1068 + 0.5e3 / 0.9e1 * t74 * t1010 + 0.5e3 / 0.9e1 * t1080 * t1068 + 0.125e4 / 0.9e1 * t340 * t1010 + 0.25e3 / 0.3e1 * t80 * t1014 - 0.4e2 * t369 * t1087 - 0.4e2 * t104 * t1090 - 0.4e3 / 0.9e1 * t376 * t1090 - 0.4e3 / 0.9e1 * t110 * t1095 - 0.44e3 / 0.9e1 * t383 * t1095 - 0.44e3 / 0.9e1 * t116 * t1100 - 0.8e2 / 0.9e1 * t62 * t1103; + const double t1109 = t329 * t306; + const double t1114 = t336 * t306; + const double t1119 = t343 * t306; + const double t1124 = t351 * t306; + const double t1129 = t358 * t306; + const double t1136 = t315 * t306; + const double t1141 = -0.4e2 / 0.3e1 * t326 * t1103 - 0.4e2 / 0.3e1 * t68 * t1109 - 0.16e3 / 0.9e1 * t333 * t1109 - 0.16e3 / 0.9e1 * t74 * t1114 - 0.2e3 / 0.9e1 * t340 * t1114 - 0.2e3 / 0.9e1 * t80 * t1119 - 0.8e2 / 0.3e1 * t347 * t1119 - 0.8e2 / 0.3e1 * t86 * t1124 - 0.28e3 / 0.9e1 * t355 * t1124 - 0.28e3 / 0.9e1 * t92 * t1129 - 0.32e3 / 0.9e1 * t362 * t1129 - 0.32e3 / 0.9e1 * t98 * t1087 - 0.4e2 / 0.9e1 * t56 * t1136 - 0.8e2 / 0.9e1 * t319 * t1136; + const double t1143 = t1030 + t1071 + t1106 + t1141; + const double t1145 = t969 * t123; + const double t1146 = t1145 * t160; + const double t1150 = t1149 * t959; + const double t1151 = t963 * t123; + const double t1152 = t1151 * t160; + const double t1155 = t396 * t457; + const double t1160 = t127 * t977; + const double t1163 = t130 * t977; + const double t1168 = t148 * t85; + const double t1181 = t133 * t55; + const double t1188 = -0.4e2 / 0.9e1 * t400 * t988 + 0.5e2 / 0.9e1 * t1160 * t982 + 0.5e2 / 0.9e1 * t1163 * t982 + 0.14e4 / 0.9e1 * t146 * t1027 + 0.14e4 / 0.9e1 * t1168 * t1018 + 0.32e4 / 0.9e1 * t436 * t1027 + 0.2e3 * t149 * t1037 + 0.5e2 / 0.9e1 * t128 * t1053 + 0.2e3 / 0.9e1 * t405 * t1053 + 0.5e2 / 0.3e1 * t131 * t1059 + 0.5e2 / 0.3e1 * t1181 * t1053 + 0.5e2 * t410 * t1059 + 0.1e3 / 0.3e1 * t134 * t1068; + const double t1189 = t136 * t61; + const double t1218 = 0.1e3 / 0.3e1 * t1189 * t1059 + 0.8e3 / 0.9e1 * t415 * t1068 + 0.245e4 / 0.9e1 * t431 * t1018 - 0.8e2 / 0.3e1 * t143 * t1124 - 0.28e3 / 0.9e1 * t431 * t1124 - 0.28e3 / 0.9e1 * t146 * t1129 - 0.32e3 / 0.9e1 * t436 * t1129 - 0.32e3 / 0.9e1 * t149 * t1087 - 0.4e2 * t441 * t1087 - 0.4e2 * t152 * t1090 - 0.4e3 / 0.9e1 * t446 * t1090 - 0.4e3 / 0.9e1 * t155 * t1095 - 0.44e3 / 0.9e1 * t451 * t1095 - 0.44e3 / 0.9e1 * t158 * t1100; + const double t1240 = t151 * t91; + const double t1247 = -0.4e2 / 0.9e1 * t128 * t1136 - 0.8e2 / 0.9e1 * t405 * t1136 - 0.8e2 / 0.9e1 * t131 * t1103 - 0.4e2 / 0.3e1 * t410 * t1103 - 0.4e2 / 0.3e1 * t134 * t1109 - 0.16e3 / 0.9e1 * t415 * t1109 - 0.16e3 / 0.9e1 * t137 * t1114 - 0.2e3 / 0.9e1 * t420 * t1114 - 0.2e3 / 0.9e1 * t140 * t1119 - 0.8e2 / 0.3e1 * t425 * t1119 + 0.2e3 * t1240 * t1027 + 0.45e3 * t441 * t1037 + 0.25e3 * t152 * t997; + const double t1248 = t154 * t97; + const double t1255 = t157 * t103; + const double t1264 = t139 * t67; + const double t1271 = t142 * t73; + const double t1278 = t145 * t79; + const double t1281 = 0.25e3 * t1248 * t1037 + 0.5e4 / 0.9e1 * t446 * t997 + 0.275e4 / 0.9e1 * t155 * t992 + 0.275e4 / 0.9e1 * t1255 * t997 + 0.605e4 / 0.9e1 * t451 * t992 + 0.11e4 / 0.3e1 * t158 * t1005 + 0.5e3 / 0.9e1 * t137 * t1010 + 0.5e3 / 0.9e1 * t1264 * t1068 + 0.125e4 / 0.9e1 * t420 * t1010 + 0.25e3 / 0.3e1 * t140 * t1014 + 0.25e3 / 0.3e1 * t1271 * t1010 + 0.2e3 * t425 * t1014 + 0.35e3 / 0.3e1 * t143 * t1018 + 0.35e3 / 0.3e1 * t1278 * t1014; + const double t1283 = t1188 + t1218 + t1247 + t1281; + const double t1285 = -0.7690696867872e-3 * t958 * t964 * t120 + 0.5780898288e-1 * t303 * t970 * t120 - 0.3153217248e-1 * t303 * t307 * t393 + t46 * t1143 + 0.50297210791037951532e-1 * t395 * t1146 - 0.34088340999255810611e-3 * t1150 * t1152 - 0.27434842249657064472e-1 * t395 * t1155 + t125 * t1283; + const double t1290 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t933 * t162 - t939 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t459 + t949 - t951 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1285 ); + const double t1291 = t173 * t173; + const double t1292 = 0.1e1 / t1291; + const double t1293 = t467 * t467; + const double t1296 = t168 * t924; + const double t1299 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1303 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1293 + 0.4e1 / 0.3e1 * t173 * t1299 ); + const double t1304 = t1303 * t27; + const double t1308 = t470 * t295; + const double t1310 = t6 * t1308 * t277; + const double t1312 = t175 * t945; + const double t1315 = t6 * t1312 * t277 / 0.12e2; + const double t1317 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1304 * t277 - t1310 / 0.4e1 + t1315 ); + const double t1333 = t487 * t295; + const double t1335 = t6 * t1333 * t162; + const double t1357 = t498 * t295; + const double t1359 = t6 * t1357 * t277; + const double t1366 = t6 * t475 * t662; + const double t1374 = t484 * t484; + const double t1379 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t925 ); + const double t1383 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t1374 + 0.4e1 / 0.3e1 * t24 * t1379 ); + const double t1384 = t1383 * t27; + const double t1390 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1384 * t162 - t1335 / 0.4e1 + t949 ); + const double t1391 = t495 * t495; + const double t1396 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1400 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1391 + 0.4e1 / 0.3e1 * t173 * t1396 ); + const double t1401 = t1400 * t27; + const double t1412 = 0.1e1 / t503 / t185 * t49; + const double t1413 = t1412 * t957; + const double t1414 = sigma_bb * sigma_bb; + const double t1415 = t177 * t177; + const double t1416 = t1415 * t507; + const double t1418 = 0.1e1 / t178 / t1416; + const double t1419 = t1414 * t1418; + const double t1424 = 0.1e1 / t179 / t1415; + const double t1425 = sigma_bb * t1424; + const double t1432 = t509 * t195; + const double t1435 = tau_b * tau_b; + const double t1436 = t48 * t1435; + const double t1437 = t1415 * rho_b; + const double t1439 = 0.1e1 / t178 / t1437; + const double t1440 = t1439 * t200; + const double t1443 = t60 * t1435; + const double t1446 = t532 * t509; + const double t1449 = t539 * t509; + const double t1454 = t546 * t509; + const double t1457 = t215 * t1435; + const double t1458 = t1457 * t1439; + const double t1461 = t72 * t197; + const double t1462 = t210 * t1435; + const double t1463 = t1462 * t1439; + const double t1468 = t220 * t1435; + const double t1469 = t1468 * t1439; + const double t1472 = t78 * t202; + const double t1477 = -0.4e2 / 0.9e1 * t514 * t1432 + 0.5e2 / 0.9e1 * t1436 * t1440 + 0.5e2 / 0.9e1 * t1443 * t1440 - 0.16e3 / 0.9e1 * t536 * t1446 - 0.16e3 / 0.9e1 * t208 * t1449 - 0.2e3 / 0.9e1 * t543 * t1449 - 0.2e3 / 0.9e1 * t213 * t1454 + 0.1e3 / 0.3e1 * t203 * t1458 + 0.1e3 / 0.3e1 * t1461 * t1463 + 0.8e3 / 0.9e1 * t536 * t1458 + 0.5e3 / 0.9e1 * t208 * t1469 + 0.5e3 / 0.9e1 * t1472 * t1458 + 0.125e4 / 0.9e1 * t543 * t1469; + const double t1480 = t554 * t509; + const double t1485 = t561 * t509; + const double t1490 = t568 * t509; + const double t1495 = t575 * t509; + const double t1500 = t582 * t509; + const double t1505 = t591 * t509; + const double t1508 = t518 * t509; + const double t1513 = -0.8e2 / 0.3e1 * t550 * t1454 - 0.8e2 / 0.3e1 * t218 * t1480 - 0.28e3 / 0.9e1 * t558 * t1480 - 0.28e3 / 0.9e1 * t223 * t1485 - 0.32e3 / 0.9e1 * t565 * t1485 - 0.32e3 / 0.9e1 * t228 * t1490 - 0.4e2 * t572 * t1490 - 0.4e2 * t233 * t1495 - 0.4e3 / 0.9e1 * t579 * t1495 - 0.4e3 / 0.9e1 * t238 * t1500 - 0.44e3 / 0.9e1 * t586 * t1500 - 0.44e3 / 0.9e1 * t243 * t1505 - 0.4e2 / 0.9e1 * t193 * t1508 - 0.8e2 / 0.9e1 * t522 * t1508; + const double t1515 = t525 * t509; + const double t1522 = t590 * t1435; + const double t1523 = t1522 * t1439; + const double t1527 = 0.1e1 / t229 / t214; + const double t1528 = t1527 * t1435; + const double t1529 = t1528 * t1439; + const double t1532 = t225 * t1435; + const double t1533 = t1532 * t1439; + const double t1536 = t84 * t207; + const double t1541 = t230 * t1435; + const double t1542 = t1541 * t1439; + const double t1545 = t90 * t212; + const double t1550 = t235 * t1435; + const double t1551 = t1550 * t1439; + const double t1554 = t96 * t217; + const double t1557 = -0.8e2 / 0.9e1 * t198 * t1515 - 0.4e2 / 0.3e1 * t529 * t1515 - 0.4e2 / 0.3e1 * t203 * t1446 + 0.605e4 / 0.9e1 * t586 * t1523 + 0.11e4 / 0.3e1 * t243 * t1529 + 0.25e3 / 0.3e1 * t213 * t1533 + 0.25e3 / 0.3e1 * t1536 * t1469 + 0.2e3 * t550 * t1533 + 0.35e3 / 0.3e1 * t218 * t1542 + 0.35e3 / 0.3e1 * t1545 * t1533 + 0.245e4 / 0.9e1 * t558 * t1542 + 0.14e4 / 0.9e1 * t223 * t1551 + 0.14e4 / 0.9e1 * t1554 * t1542; + const double t1560 = t240 * t1435; + const double t1561 = t1560 * t1439; + const double t1564 = t102 * t222; + const double t1569 = t245 * t1435; + const double t1570 = t1569 * t1439; + const double t1573 = t108 * t227; + const double t1578 = t205 * t1435; + const double t1579 = t1578 * t1439; + const double t1586 = t66 * t192; + const double t1593 = t114 * t232; + const double t1596 = 0.32e4 / 0.9e1 * t565 * t1551 + 0.2e3 * t228 * t1561 + 0.2e3 * t1564 * t1551 + 0.45e3 * t572 * t1561 + 0.25e3 * t233 * t1570 + 0.25e3 * t1573 * t1561 + 0.5e4 / 0.9e1 * t579 * t1570 + 0.5e2 / 0.9e1 * t193 * t1579 + 0.2e3 / 0.9e1 * t522 * t1579 + 0.5e2 / 0.3e1 * t198 * t1463 + 0.5e2 / 0.3e1 * t1586 * t1579 + 0.5e2 * t529 * t1463 + 0.275e4 / 0.9e1 * t238 * t1523 + 0.275e4 / 0.9e1 * t1593 * t1570; + const double t1598 = t1477 + t1513 + t1557 + t1596; + const double t1600 = t1424 * t250; + const double t1601 = t1600 * t275; + const double t1604 = t1149 * t1414; + const double t1605 = t1418 * t250; + const double t1606 = t1605 * t275; + const double t1609 = t599 * t660; + const double t1614 = t127 * t1435; + const double t1617 = t130 * t1435; + const double t1622 = t136 * t197; + const double t1629 = t139 * t202; + const double t1636 = t142 * t207; + const double t1643 = -0.4e2 / 0.9e1 * t603 * t1432 + 0.5e2 / 0.9e1 * t1614 * t1440 + 0.5e2 / 0.9e1 * t1617 * t1440 + 0.11e4 / 0.3e1 * t273 * t1529 + 0.1e3 / 0.3e1 * t1622 * t1463 + 0.8e3 / 0.9e1 * t618 * t1458 + 0.5e3 / 0.9e1 * t259 * t1469 + 0.5e3 / 0.9e1 * t1629 * t1458 + 0.125e4 / 0.9e1 * t623 * t1469 + 0.25e3 / 0.3e1 * t261 * t1533 + 0.25e3 / 0.3e1 * t1636 * t1469 + 0.2e3 * t628 * t1533 + 0.35e3 / 0.3e1 * t263 * t1542; + const double t1644 = t145 * t212; + const double t1651 = t148 * t217; + const double t1662 = t133 * t192; + const double t1675 = 0.35e3 / 0.3e1 * t1644 * t1533 + 0.245e4 / 0.9e1 * t634 * t1542 + 0.14e4 / 0.9e1 * t265 * t1551 + 0.14e4 / 0.9e1 * t1651 * t1542 + 0.32e4 / 0.9e1 * t639 * t1551 + 0.5e2 / 0.9e1 * t253 * t1579 + 0.2e3 / 0.9e1 * t608 * t1579 + 0.5e2 / 0.3e1 * t255 * t1463 + 0.5e2 / 0.3e1 * t1662 * t1579 + 0.5e2 * t613 * t1463 + 0.1e3 / 0.3e1 * t257 * t1458 - 0.4e3 / 0.9e1 * t649 * t1495 - 0.4e3 / 0.9e1 * t271 * t1500 - 0.44e3 / 0.9e1 * t654 * t1500; + const double t1703 = -0.44e3 / 0.9e1 * t273 * t1505 - 0.4e2 / 0.3e1 * t257 * t1446 - 0.16e3 / 0.9e1 * t618 * t1446 - 0.16e3 / 0.9e1 * t259 * t1449 - 0.2e3 / 0.9e1 * t623 * t1449 - 0.2e3 / 0.9e1 * t261 * t1454 - 0.8e2 / 0.3e1 * t628 * t1454 - 0.8e2 / 0.3e1 * t263 * t1480 - 0.28e3 / 0.9e1 * t634 * t1480 - 0.28e3 / 0.9e1 * t265 * t1485 - 0.32e3 / 0.9e1 * t639 * t1485 - 0.32e3 / 0.9e1 * t267 * t1490 - 0.4e2 * t644 * t1490; + const double t1716 = t151 * t222; + const double t1723 = t154 * t227; + const double t1730 = t157 * t232; + const double t1735 = -0.4e2 * t269 * t1495 - 0.4e2 / 0.9e1 * t253 * t1508 - 0.8e2 / 0.9e1 * t608 * t1508 - 0.8e2 / 0.9e1 * t255 * t1515 - 0.4e2 / 0.3e1 * t613 * t1515 + 0.2e3 * t267 * t1561 + 0.2e3 * t1716 * t1551 + 0.45e3 * t644 * t1561 + 0.25e3 * t269 * t1570 + 0.25e3 * t1723 * t1561 + 0.5e4 / 0.9e1 * t649 * t1570 + 0.275e4 / 0.9e1 * t271 * t1523 + 0.275e4 / 0.9e1 * t1730 * t1570 + 0.605e4 / 0.9e1 * t654 * t1523; + const double t1737 = t1643 + t1675 + t1703 + t1735; + const double t1739 = -0.7690696867872e-3 * t1413 * t1419 * t247 + 0.5780898288e-1 * t506 * t1425 * t247 - 0.3153217248e-1 * t506 * t510 * t596 + t188 * t1598 + 0.50297210791037951532e-1 * t598 * t1601 - 0.34088340999255810611e-3 * t1604 * t1606 - 0.27434842249657064472e-1 * t598 * t1609 + t252 * t1737; + const double t1744 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1401 * t277 - t1359 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t499 * t662 + t1315 - t1366 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t176 * t1739 ); + const double t1752 = t6 * t296 * t678 / 0.8e1; + const double t1753 = t960 * t35; + const double t1755 = 0.1e1 / t36 / t1753; + const double t1760 = t33 * t306; + const double t1769 = t1149 * t1755; + const double t1770 = sigma_aa * t123; + const double t1771 = t1770 * t160; + const double t1777 = 0.2884011325452e-3 * t958 * t1755 * t120 * sigma_aa - 0.1576608624e-1 * t302 * t1760 * t120 + 0.591228234e-2 * t302 * t670 * t393 - 0.13717421124828532236e-1 * t34 * t397 + 0.12783127874720928979e-3 * t1769 * t1771 + 0.51440329218106995885e-2 * t34 * t674 * t457; + const double t1782 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t678 - t1752 - 0.3e1 / 0.8e1 * t6 * t28 * t1777 ); + const double t1789 = t6 * t475 * t691 / 0.8e1; + const double t1802 = t1415 * t177; + const double t1804 = 0.1e1 / t178 / t1802; + const double t1809 = t33 * t509; + const double t1818 = t1149 * t1804; + const double t1819 = sigma_bb * t250; + const double t1820 = t1819 * t275; + const double t1826 = 0.2884011325452e-3 * t1413 * t1804 * t247 * sigma_bb - 0.1576608624e-1 * t505 * t1809 * t247 + 0.591228234e-2 * t505 * t683 * t596 - 0.13717421124828532236e-1 * t34 * t600 + 0.12783127874720928979e-3 * t1818 * t1820 + 0.51440329218106995885e-2 * t34 * t687 * t660; + const double t1831 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t691 - t1789 - 0.3e1 / 0.8e1 * t6 * t176 * t1826 ); + const double t1838 = t6 * t296 * t801 / 0.8e1; + const double t1842 = t106 * t39; + const double t1845 = t112 * t39; + const double t1850 = t118 * t39; + const double t1855 = t387 * t39; + const double t1858 = t82 * t39; + const double t1863 = t88 * t39; + const double t1871 = t94 * t39; + const double t1876 = 0.15e2 * t369 * t1842 + 0.15e2 * t104 * t1845 + 0.5e2 / 0.3e1 * t376 * t1845 + 0.5e2 / 0.3e1 * t110 * t1850 + 0.55e2 / 0.3e1 * t383 * t1850 + 0.55e2 / 0.3e1 * t116 * t1855 + 0.2e2 / 0.3e1 * t74 * t1858 + 0.25e2 / 0.3e1 * t340 * t1858 + 0.25e2 / 0.3e1 * t80 * t1863 + 0.1e2 * t347 * t1863 + 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.1e2 * t86 * t1871 + 0.35e2 / 0.3e1 * t355 * t1871; + const double t1877 = t100 * t39; + const double t1884 = t64 * t39; + const double t1889 = t70 * t39; + const double t1894 = t76 * t39; + const double t1900 = 0.1e1 / t36 / t960; + const double t1901 = t48 * t1900; + const double t1904 = t60 * tau_a; + const double t1905 = t1900 * t64; + const double t1908 = t82 * t1900; + const double t1909 = t1908 * tau_a; + const double t1912 = t118 * t1900; + const double t1913 = t1912 * tau_a; + const double t1916 = t387 * t1900; + const double t1917 = t1916 * tau_a; + const double t1920 = 0.35e2 / 0.3e1 * t92 * t1877 + 0.4e2 / 0.3e1 * t362 * t1877 + 0.4e2 / 0.3e1 * t98 * t1842 + 0.5e1 / 0.3e1 * t56 * t1884 + 0.1e2 / 0.3e1 * t319 * t1884 + 0.1e2 / 0.3e1 * t62 * t1889 + 0.5e1 * t326 * t1889 + 0.5e1 * t68 * t1894 + 0.2e2 / 0.3e1 * t333 * t1894 - 0.1e2 / 0.3e1 * t1901 * t315 - 0.1e2 / 0.3e1 * t1904 * t1905 - 0.2e2 * t68 * t1909 - 0.55e3 / 0.3e1 * t995 * t1913 - 0.121e4 / 0.3e1 * t383 * t1917; + const double t1922 = t1003 * t1900; + const double t1923 = t1922 * tau_a; + const double t1926 = t76 * t1900; + const double t1927 = t1926 * tau_a; + const double t1932 = t88 * t1900; + const double t1933 = t1932 * tau_a; + const double t1940 = t94 * t1900; + const double t1941 = t1940 * tau_a; + const double t1948 = t100 * t1900; + const double t1949 = t1948 * tau_a; + const double t1956 = t106 * t1900; + const double t1957 = t1956 * tau_a; + const double t1960 = -0.22e3 * t116 * t1923 - 0.2e2 * t1073 * t1927 - 0.16e3 / 0.3e1 * t333 * t1909 - 0.1e3 / 0.3e1 * t74 * t1933 - 0.1e3 / 0.3e1 * t1080 * t1909 - 0.25e3 / 0.3e1 * t340 * t1933 - 0.5e2 * t80 * t1941 - 0.5e2 * t1008 * t1933 - 0.12e3 * t347 * t1941 - 0.7e2 * t86 * t1949 - 0.7e2 * t1021 * t1941 - 0.49e3 / 0.3e1 * t355 * t1949 - 0.28e3 / 0.3e1 * t92 * t1957; + const double t1965 = t70 * t1900; + const double t1966 = t1965 * tau_a; + const double t1977 = t112 * t1900; + const double t1978 = t1977 * tau_a; + const double t1993 = -0.28e3 / 0.3e1 * t1031 * t1949 - 0.64e3 / 0.3e1 * t362 * t1957 - 0.1e2 / 0.3e1 * t56 * t1966 - 0.4e2 / 0.3e1 * t319 * t1966 - 0.1e2 * t62 * t1927 - 0.1e2 * t1062 * t1966 - 0.3e2 * t326 * t1927 - 0.12e3 * t98 * t1978 - 0.12e3 * t1040 * t1957 - 0.27e3 * t369 * t1978 - 0.15e3 * t104 * t1913 - 0.15e3 * t1047 * t1978 - 0.1e4 / 0.3e1 * t376 * t1913 - 0.55e3 / 0.3e1 * t110 * t1917; + const double t1995 = t1876 + t1920 + t1960 + t1993; + const double t1997 = t396 * t799; + const double t2005 = t127 * t1900; + const double t2008 = t130 * tau_a; + const double t2029 = 0.5e1 / 0.3e1 * t127 * t39 * t58 + 0.1e2 / 0.3e1 * t131 * t1889 - 0.1e2 / 0.3e1 * t2005 * t315 - 0.1e2 / 0.3e1 * t2008 * t1905 + 0.35e2 / 0.3e1 * t146 * t1877 + 0.4e2 / 0.3e1 * t436 * t1877 + 0.4e2 / 0.3e1 * t149 * t1842 + 0.15e2 * t441 * t1842 + 0.15e2 * t152 * t1845 + 0.5e2 / 0.3e1 * t446 * t1845 + 0.5e2 / 0.3e1 * t155 * t1850 + 0.55e2 / 0.3e1 * t451 * t1850 + 0.55e2 / 0.3e1 * t158 * t1855; + const double t2058 = 0.5e1 * t410 * t1889 + 0.5e1 * t134 * t1894 + 0.2e2 / 0.3e1 * t415 * t1894 + 0.2e2 / 0.3e1 * t137 * t1858 + 0.25e2 / 0.3e1 * t420 * t1858 + 0.25e2 / 0.3e1 * t140 * t1863 + 0.1e2 * t425 * t1863 + 0.1e2 * t143 * t1871 + 0.35e2 / 0.3e1 * t431 * t1871 + 0.5e1 / 0.3e1 * t128 * t1884 + 0.1e2 / 0.3e1 * t405 * t1884 - 0.22e3 * t158 * t1923 - 0.1e2 * t131 * t1927 - 0.1e2 * t1181 * t1966; + const double t2086 = -0.3e2 * t410 * t1927 - 0.2e2 * t134 * t1909 - 0.2e2 * t1189 * t1927 - 0.16e3 / 0.3e1 * t415 * t1909 - 0.1e3 / 0.3e1 * t137 * t1933 - 0.1e3 / 0.3e1 * t1264 * t1909 - 0.25e3 / 0.3e1 * t420 * t1933 - 0.5e2 * t140 * t1941 - 0.5e2 * t1271 * t1933 - 0.12e3 * t425 * t1941 - 0.7e2 * t143 * t1949 - 0.7e2 * t1278 * t1941 - 0.49e3 / 0.3e1 * t431 * t1949; + const double t2115 = -0.1e2 / 0.3e1 * t128 * t1966 - 0.4e2 / 0.3e1 * t405 * t1966 - 0.28e3 / 0.3e1 * t146 * t1957 - 0.28e3 / 0.3e1 * t1168 * t1949 - 0.64e3 / 0.3e1 * t436 * t1957 - 0.12e3 * t149 * t1978 - 0.12e3 * t1240 * t1957 - 0.27e3 * t441 * t1978 - 0.15e3 * t152 * t1913 - 0.15e3 * t1248 * t1978 - 0.1e4 / 0.3e1 * t446 * t1913 - 0.55e3 / 0.3e1 * t155 * t1917 - 0.55e3 / 0.3e1 * t1255 * t1913 - 0.121e4 / 0.3e1 * t451 * t1917; + const double t2117 = t2029 + t2058 + t2086 + t2115; + const double t2119 = -0.1576608624e-1 * t303 * t307 * t752 + t46 * t1995 - 0.13717421124828532236e-1 * t395 * t1997 + t125 * t2117; + const double t2124 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t801 - t1838 - 0.3e1 / 0.8e1 * t6 * t28 * t2119 ); + const double t2131 = t6 * t475 * t911 / 0.8e1; + const double t2151 = 0.1e1 / t178 / t1415; + const double t2152 = t225 * t2151; + const double t2153 = t2152 * tau_b; + const double t2156 = t230 * t2151; + const double t2157 = t2156 * tau_b; + const double t2164 = t235 * t2151; + const double t2165 = t2164 * tau_b; + const double t2168 = t205 * t2151; + const double t2169 = t2168 * tau_b; + const double t2174 = t210 * t2151; + const double t2175 = t2174 * tau_b; + const double t2184 = t240 * t2151; + const double t2185 = t2184 * tau_b; + const double t2188 = 0.5e1 / 0.3e1 * t48 * t181 * t195 - 0.12e3 * t550 * t2153 - 0.7e2 * t218 * t2157 - 0.7e2 * t1545 * t2153 - 0.49e3 / 0.3e1 * t558 * t2157 - 0.28e3 / 0.3e1 * t223 * t2165 - 0.1e2 / 0.3e1 * t193 * t2169 - 0.4e2 / 0.3e1 * t522 * t2169 - 0.1e2 * t198 * t2175 - 0.1e2 * t1586 * t2169 - 0.3e2 * t529 * t2175 - 0.12e3 * t1564 * t2165 - 0.27e3 * t572 * t2185; + const double t2189 = t245 * t2151; + const double t2190 = t2189 * tau_b; + const double t2197 = t590 * t2151; + const double t2198 = t2197 * tau_b; + const double t2205 = t1527 * t2151; + const double t2206 = t2205 * tau_b; + const double t2209 = t215 * t2151; + const double t2210 = t2209 * tau_b; + const double t2217 = t220 * t2151; + const double t2218 = t2217 * tau_b; + const double t2227 = -0.15e3 * t233 * t2190 - 0.15e3 * t1573 * t2185 - 0.1e4 / 0.3e1 * t579 * t2190 - 0.55e3 / 0.3e1 * t238 * t2198 - 0.55e3 / 0.3e1 * t1593 * t2190 - 0.121e4 / 0.3e1 * t586 * t2198 - 0.22e3 * t243 * t2206 - 0.2e2 * t203 * t2210 - 0.2e2 * t1461 * t2175 - 0.16e3 / 0.3e1 * t536 * t2210 - 0.1e3 / 0.3e1 * t208 * t2218 - 0.1e3 / 0.3e1 * t1472 * t2210 - 0.25e3 / 0.3e1 * t543 * t2218 - 0.5e2 * t213 * t2153; + const double t2237 = t230 * t181; + const double t2240 = t235 * t181; + const double t2245 = t240 * t181; + const double t2250 = t245 * t181; + const double t2255 = t590 * t181; + const double t2258 = t210 * t181; + const double t2261 = -0.5e2 * t1536 * t2218 - 0.28e3 / 0.3e1 * t1554 * t2157 - 0.64e3 / 0.3e1 * t565 * t2165 - 0.12e3 * t228 * t2185 + 0.4e2 / 0.3e1 * t565 * t2237 + 0.4e2 / 0.3e1 * t228 * t2240 + 0.15e2 * t572 * t2240 + 0.15e2 * t233 * t2245 + 0.5e2 / 0.3e1 * t579 * t2245 + 0.5e2 / 0.3e1 * t238 * t2250 + 0.55e2 / 0.3e1 * t586 * t2250 + 0.55e2 / 0.3e1 * t243 * t2255 + 0.5e1 * t203 * t2258; + const double t2264 = t215 * t181; + const double t2269 = t220 * t181; + const double t2274 = t225 * t181; + const double t2281 = t200 * t181; + const double t2286 = t205 * t181; + const double t2291 = t48 * t2151; + const double t2294 = t60 * tau_b; + const double t2295 = t2151 * t200; + const double t2298 = 0.2e2 / 0.3e1 * t536 * t2258 + 0.2e2 / 0.3e1 * t208 * t2264 + 0.25e2 / 0.3e1 * t543 * t2264 + 0.25e2 / 0.3e1 * t213 * t2269 + 0.1e2 * t550 * t2269 + 0.1e2 * t218 * t2274 + 0.35e2 / 0.3e1 * t558 * t2274 + 0.35e2 / 0.3e1 * t223 * t2237 + 0.5e1 / 0.3e1 * t193 * t2281 + 0.1e2 / 0.3e1 * t522 * t2281 + 0.1e2 / 0.3e1 * t198 * t2286 + 0.5e1 * t529 * t2286 - 0.1e2 / 0.3e1 * t2291 * t518 - 0.1e2 / 0.3e1 * t2294 * t2295; + const double t2300 = t2188 + t2227 + t2261 + t2298; + const double t2302 = t599 * t909; + const double t2332 = 0.5e1 / 0.3e1 * t127 * t181 * t195 - 0.1e2 * t255 * t2175 - 0.1e2 * t1662 * t2169 - 0.3e2 * t613 * t2175 - 0.2e2 * t257 * t2210 - 0.2e2 * t1622 * t2175 - 0.16e3 / 0.3e1 * t618 * t2210 - 0.1e3 / 0.3e1 * t259 * t2218 - 0.1e3 / 0.3e1 * t1629 * t2210 - 0.25e3 / 0.3e1 * t623 * t2218 - 0.5e2 * t261 * t2153 - 0.5e2 * t1636 * t2218 - 0.12e3 * t628 * t2153; + const double t2361 = -0.1e2 / 0.3e1 * t253 * t2169 - 0.12e3 * t267 * t2185 - 0.12e3 * t1716 * t2165 - 0.27e3 * t644 * t2185 - 0.15e3 * t269 * t2190 - 0.15e3 * t1723 * t2185 - 0.1e4 / 0.3e1 * t649 * t2190 - 0.55e3 / 0.3e1 * t271 * t2198 - 0.55e3 / 0.3e1 * t1730 * t2190 - 0.4e2 / 0.3e1 * t608 * t2169 - 0.121e4 / 0.3e1 * t654 * t2198 - 0.22e3 * t273 * t2206 - 0.7e2 * t263 * t2157 - 0.7e2 * t1644 * t2153; + const double t2389 = -0.49e3 / 0.3e1 * t634 * t2157 - 0.28e3 / 0.3e1 * t265 * t2165 - 0.28e3 / 0.3e1 * t1651 * t2157 - 0.64e3 / 0.3e1 * t639 * t2165 + 0.55e2 / 0.3e1 * t273 * t2255 + 0.35e2 / 0.3e1 * t634 * t2274 + 0.35e2 / 0.3e1 * t265 * t2237 + 0.4e2 / 0.3e1 * t639 * t2237 + 0.4e2 / 0.3e1 * t267 * t2240 + 0.15e2 * t644 * t2240 + 0.15e2 * t269 * t2245 + 0.5e2 / 0.3e1 * t649 * t2245 + 0.5e2 / 0.3e1 * t271 * t2250; + const double t2414 = t127 * t2151; + const double t2417 = t130 * tau_b; + const double t2420 = 0.55e2 / 0.3e1 * t654 * t2250 + 0.1e2 / 0.3e1 * t608 * t2281 + 0.1e2 / 0.3e1 * t255 * t2286 + 0.5e1 * t613 * t2286 + 0.5e1 * t257 * t2258 + 0.2e2 / 0.3e1 * t618 * t2258 + 0.2e2 / 0.3e1 * t259 * t2264 + 0.25e2 / 0.3e1 * t623 * t2264 + 0.25e2 / 0.3e1 * t261 * t2269 + 0.1e2 * t628 * t2269 + 0.1e2 * t263 * t2274 + 0.5e1 / 0.3e1 * t253 * t2281 - 0.1e2 / 0.3e1 * t2414 * t518 - 0.1e2 / 0.3e1 * t2417 * t2295; + const double t2422 = t2332 + t2361 + t2389 + t2420; + const double t2424 = -0.1576608624e-1 * t506 * t510 * t862 + t188 * t2300 - 0.13717421124828532236e-1 * t598 * t2302 + t252 * t2422; + const double t2429 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t911 - t2131 - 0.3e1 / 0.8e1 * t6 * t176 * t2424 ); + const double t2431 = t957 * t981; + const double t2435 = t981 * t123; + const double t2439 = -0.10815042470445e-3 * t955 * t2431 * t120 - 0.4793672953020348367e-4 * t1149 * t2435 * t160; + const double t2443 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2439 ); + const double t2444 = t957 * t1439; + const double t2448 = t1439 * t250; + const double t2452 = -0.10815042470445e-3 * t1412 * t2444 * t247 - 0.4793672953020348367e-4 * t1149 * t2448 * t275; + const double t2456 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2452 ); + const double t2463 = 0.591228234e-2 * t302 * t670 * t752 + 0.51440329218106995885e-2 * t34 * t674 * t799; + const double t2467 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2463 ); + const double t2474 = 0.591228234e-2 * t505 * t683 * t862 + 0.51440329218106995885e-2 * t34 * t687 * t909; + const double t2478 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2474 ); + const double t2480 = 0.1e1 / t36 / t304; + const double t2481 = t100 * t2480; + const double t2484 = t106 * t2480; + const double t2487 = t112 * t2480; + const double t2490 = t118 * t2480; + const double t2493 = t70 * t2480; + const double t2496 = t76 * t2480; + const double t2499 = t82 * t2480; + const double t2502 = t88 * t2480; + const double t2505 = t94 * t2480; + const double t2522 = 0.3e2 * t1008 * t2502 + 0.42e2 * t1021 * t2505 + 0.56e2 * t1031 * t2481 + 0.72e2 * t1040 * t2484 + 0.9e2 * t1047 * t2487 + 0.6e1 * t1062 * t2493 + 0.12e2 * t1073 * t2496 + 0.2e2 * t1080 * t2499 + 0.98e2 * t2481 * t355 + 0.42e2 * t2481 * t86 + 0.56e2 * t2484 * t92 + 0.11e3 * t2490 * t995 + 0.5e2 * t2502 * t340 + 0.2e2 * t2502 * t74 + 0.72e2 * t2505 * t347 + 0.3e2 * t2505 * t80; + const double t2533 = t387 * t2480; + const double t2538 = t1003 * t2480; + const double t2559 = 0.2e1 * t2480 * t48 * t64 + 0.2e1 * t2480 * t60 * t64 + 0.9e2 * t104 * t2490 + 0.11e3 * t110 * t2533 + 0.132e3 * t116 * t2538 + 0.128e3 * t2484 * t362 + 0.162e3 * t2487 * t369 + 0.72e2 * t2487 * t98 + 0.2e3 * t2490 * t376 + 0.8e1 * t2493 * t319 + 0.2e1 * t2493 * t56 + 0.18e2 * t2496 * t326 + 0.6e1 * t2496 * t62 + 0.32e2 * t2499 * t333 + 0.12e2 * t2499 * t68 + 0.242e3 * t2533 * t383; + const double t2560 = t2522 + t2559; + const double t2594 = 0.56e2 * t1168 * t2481 + 0.6e1 * t1181 * t2493 + 0.12e2 * t1189 * t2496 + 0.72e2 * t1240 * t2484 + 0.9e2 * t1248 * t2487 + 0.11e3 * t1255 * t2490 + 0.2e2 * t1264 * t2499 + 0.3e2 * t1271 * t2502 + 0.42e2 * t1278 * t2505 + 0.2e1 * t128 * t2493 + 0.9e2 * t152 * t2490 + 0.11e3 * t155 * t2533 + 0.132e3 * t158 * t2538 + 0.162e3 * t2487 * t441 + 0.2e3 * t2490 * t446 + 0.242e3 * t2533 * t451; + const double t2629 = 0.2e1 * t127 * t2480 * t64 + 0.2e1 * t130 * t2480 * t64 + 0.6e1 * t131 * t2496 + 0.12e2 * t134 * t2499 + 0.2e2 * t137 * t2502 + 0.3e2 * t140 * t2505 + 0.42e2 * t143 * t2481 + 0.56e2 * t146 * t2484 + 0.72e2 * t149 * t2487 + 0.98e2 * t2481 * t431 + 0.128e3 * t2484 * t436 + 0.8e1 * t2493 * t405 + 0.18e2 * t2496 * t410 + 0.32e2 * t2499 * t415 + 0.5e2 * t2502 * t420 + 0.72e2 * t2505 * t425; + const double t2630 = t2594 + t2629; + const double t2632 = t125 * t2630 + t2560 * t46; + const double t2636 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2632 ); + const double t2638 = 0.1e1 / t178 / t507; + const double t2639 = t230 * t2638; + const double t2642 = t235 * t2638; + const double t2645 = t240 * t2638; + const double t2648 = t245 * t2638; + const double t2651 = t205 * t2638; + const double t2654 = t210 * t2638; + const double t2657 = t215 * t2638; + const double t2660 = t220 * t2638; + const double t2663 = t225 * t2638; + const double t2672 = t590 * t2638; + const double t2677 = t1527 * t2638; + const double t2682 = 0.12e2 * t1461 * t2654 + 0.2e2 * t1472 * t2657 + 0.3e2 * t1536 * t2660 + 0.42e2 * t1545 * t2663 + 0.56e2 * t1554 * t2639 + 0.72e2 * t1564 * t2642 + 0.9e2 * t1573 * t2645 + 0.6e1 * t1586 * t2651 + 0.11e3 * t1593 * t2648 + 0.2e1 * t193 * t2651 + 0.9e2 * t233 * t2648 + 0.11e3 * t238 * t2672 + 0.132e3 * t243 * t2677 + 0.162e3 * t2645 * t572 + 0.2e3 * t2648 * t579 + 0.242e3 * t2672 * t586; + const double t2717 = 0.2e1 * t200 * t2638 * t48 + 0.2e1 * t200 * t2638 * t60 + 0.6e1 * t198 * t2654 + 0.12e2 * t203 * t2657 + 0.2e2 * t208 * t2660 + 0.3e2 * t213 * t2663 + 0.42e2 * t218 * t2639 + 0.56e2 * t223 * t2642 + 0.72e2 * t228 * t2645 + 0.98e2 * t2639 * t558 + 0.128e3 * t2642 * t565 + 0.8e1 * t2651 * t522 + 0.18e2 * t2654 * t529 + 0.32e2 * t2657 * t536 + 0.5e2 * t2660 * t543 + 0.72e2 * t2663 * t550; + const double t2718 = t2682 + t2717; + const double t2752 = 0.12e2 * t1622 * t2654 + 0.2e2 * t1629 * t2657 + 0.3e2 * t1636 * t2660 + 0.42e2 * t1644 * t2663 + 0.56e2 * t1651 * t2639 + 0.6e1 * t1662 * t2651 + 0.72e2 * t1716 * t2642 + 0.9e2 * t1723 * t2645 + 0.11e3 * t1730 * t2648 + 0.42e2 * t263 * t2639 + 0.98e2 * t2639 * t634 + 0.56e2 * t2642 * t265 + 0.128e3 * t2642 * t639 + 0.72e2 * t2645 * t267 + 0.162e3 * t2645 * t644 + 0.72e2 * t2663 * t628; + const double t2787 = 0.2e1 * t127 * t200 * t2638 + 0.2e1 * t130 * t200 * t2638 + 0.2e1 * t253 * t2651 + 0.6e1 * t255 * t2654 + 0.12e2 * t257 * t2657 + 0.2e2 * t259 * t2660 + 0.3e2 * t261 * t2663 + 0.9e2 * t2648 * t269 + 0.2e3 * t2648 * t649 + 0.8e1 * t2651 * t608 + 0.18e2 * t2654 * t613 + 0.32e2 * t2657 * t618 + 0.5e2 * t2660 * t623 + 0.11e3 * t2672 * t271 + 0.242e3 * t2672 * t654 + 0.132e3 * t2677 * t273; + const double t2788 = t2752 + t2787; + const double t2790 = t188 * t2718 + t252 * t2788; + const double t2794 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2790 ); + + + v2rho2_aa = 0.2e1 * t464 + 0.2e1 * t480 + t7 * ( t1290 + t1317 ); + v2rho2_bb = 0.2e1 * t493 + 0.2e1 * t667 + t7 * ( t1390 + t1744 ); + v2rhosigma_a_aa = t1782 * t7 + t682; + v2rhosigma_b_bb = t1831 * t7 + t695; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2124 * t7 + t805; + v2rhotau_b_b = t2429 * t7 + t915; + v2sigma2_aa_aa = t7 * t2443; + v2sigma2_bb_bb = t7 * t2456; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2467; + v2sigmatau_bb_b = t7 * t2478; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2636; + v2tau2_bb = t7 * t2794; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t51 = 0.3e1 / 0.1e2 * t49 * t32; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t126 = b_0; + constexpr double t127 = b_1; + constexpr double t130 = b_2; + constexpr double t133 = b_3; + constexpr double t136 = b_4; + constexpr double t139 = b_5; + constexpr double t142 = b_6; + constexpr double t145 = b_7; + constexpr double t148 = b_8; + constexpr double t151 = b_9; + constexpr double t154 = b_10; + constexpr double t157 = b_11; + constexpr double t957 = 0.1e1 / t31 / t30; + constexpr double t1149 = t49 * t957; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t43 = 0.804e0 + 0.914625e-2 * t41; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t115 = t97 * t67; + const double t116 = t114 * t115; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t100 * t98 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t123 = safe_math::exp( -0.93189002206715572255e-2 * t41 ); + const double t125 = 0.1552e1 - 0.552e0 * t123; + const double t128 = t127 * t55; + const double t131 = t130 * t61; + const double t134 = t133 * t67; + const double t137 = t136 * t73; + const double t140 = t139 * t79; + const double t143 = t142 * t85; + const double t146 = t145 * t91; + const double t149 = t148 * t97; + const double t152 = t151 * t103; + const double t155 = t154 * t109; + const double t158 = t157 * t115; + const double t160 = t100 * t149 + t106 * t152 + t112 * t155 + t118 * t158 + t128 * t58 + t131 * t64 + t134 * t70 + t137 * t76 + t140 * t82 + t143 * t88 + t146 * t94 + t126; + const double t162 = t120 * t46 + t125 * t160; + const double t166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t162 ); + const double t167 = rho_b <= dens_tol; + const double t168 = -t17; + const double t170 = piecewise_functor_5( t15, t12, t11, t16, t168 * t8 ); + const double t171 = 0.1e1 + t170; + const double t172 = t171 <= zeta_tol; + const double t173 = safe_math::cbrt( t171 ); + const double t175 = piecewise_functor_3( t172, t23, t173 * t171 ); + const double t176 = t175 * t27; + const double t177 = rho_b * rho_b; + const double t178 = safe_math::cbrt( rho_b ); + const double t179 = t178 * t178; + const double t181 = 0.1e1 / t179 / t177; + const double t183 = t34 * sigma_bb * t181; + const double t185 = 0.804e0 + 0.914625e-2 * t183; + const double t188 = 0.1804e1 - 0.646416e0 / t185; + const double t190 = 0.1e1 / t179 / rho_b; + const double t191 = tau_b * t190; + const double t192 = t51 - t191; + const double t193 = t48 * t192; + const double t194 = t51 + t191; + const double t195 = 0.1e1 / t194; + const double t197 = t192 * t192; + const double t198 = t60 * t197; + const double t199 = t194 * t194; + const double t200 = 0.1e1 / t199; + const double t202 = t197 * t192; + const double t203 = t66 * t202; + const double t204 = t199 * t194; + const double t205 = 0.1e1 / t204; + const double t207 = t197 * t197; + const double t208 = t72 * t207; + const double t209 = t199 * t199; + const double t210 = 0.1e1 / t209; + const double t212 = t207 * t192; + const double t213 = t78 * t212; + const double t214 = t209 * t194; + const double t215 = 0.1e1 / t214; + const double t217 = t207 * t197; + const double t218 = t84 * t217; + const double t219 = t209 * t199; + const double t220 = 0.1e1 / t219; + const double t222 = t207 * t202; + const double t223 = t90 * t222; + const double t224 = t209 * t204; + const double t225 = 0.1e1 / t224; + const double t227 = t207 * t207; + const double t228 = t96 * t227; + const double t229 = t209 * t209; + const double t230 = 0.1e1 / t229; + const double t232 = t227 * t192; + const double t233 = t102 * t232; + const double t235 = 0.1e1 / t229 / t194; + const double t237 = t227 * t197; + const double t238 = t108 * t237; + const double t240 = 0.1e1 / t229 / t199; + const double t242 = t227 * t202; + const double t243 = t114 * t242; + const double t245 = 0.1e1 / t229 / t204; + const double t247 = t193 * t195 + t198 * t200 + t203 * t205 + t208 * t210 + t213 * t215 + t218 * t220 + t223 * t225 + t228 * t230 + t233 * t235 + t238 * t240 + t243 * t245 + t47; + const double t250 = safe_math::exp( -0.93189002206715572255e-2 * t183 ); + const double t252 = 0.1552e1 - 0.552e0 * t250; + const double t253 = t127 * t192; + const double t255 = t130 * t197; + const double t257 = t133 * t202; + const double t259 = t136 * t207; + const double t261 = t139 * t212; + const double t263 = t142 * t217; + const double t265 = t145 * t222; + const double t267 = t148 * t227; + const double t269 = t151 * t232; + const double t271 = t154 * t237; + const double t273 = t157 * t242; + const double t275 = t195 * t253 + t200 * t255 + t205 * t257 + t210 * t259 + t215 * t261 + t220 * t263 + t225 * t265 + t230 * t267 + t235 * t269 + t240 * t271 + t245 * t273 + t126; + const double t277 = t188 * t247 + t252 * t275; + const double t281 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t162 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t312 = t39 * t58; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t312 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t389 = t388 * t39; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t389; + const double t393 = t350 + t392; + const double t395 = t34 * sigma_aa; + const double t396 = t306 * t123; + const double t397 = t396 * t160; + const double t400 = t127 * tau_a; + const double t405 = t130 * t55; + const double t410 = t133 * t61; + const double t415 = t136 * t67; + const double t420 = t139 * t73; + const double t425 = t142 * t79; + const double t428 = 0.5e1 / 0.3e1 * t400 * t312 + 0.5e1 / 0.3e1 * t128 * t316 + 0.1e2 / 0.3e1 * t405 * t316 + 0.1e2 / 0.3e1 * t131 * t323 + 0.5e1 * t410 * t323 + 0.5e1 * t134 * t330 + 0.2e2 / 0.3e1 * t415 * t330 + 0.2e2 / 0.3e1 * t137 * t337 + 0.25e2 / 0.3e1 * t420 * t337 + 0.25e2 / 0.3e1 * t140 * t344 + 0.1e2 * t425 * t344; + const double t431 = t145 * t85; + const double t436 = t148 * t91; + const double t441 = t151 * t97; + const double t446 = t154 * t103; + const double t451 = t157 * t109; + const double t456 = 0.1e2 * t143 * t352 + 0.35e2 / 0.3e1 * t431 * t352 + 0.35e2 / 0.3e1 * t146 * t359 + 0.4e2 / 0.3e1 * t436 * t359 + 0.4e2 / 0.3e1 * t149 * t366 + 0.15e2 * t441 * t366 + 0.15e2 * t152 * t373 + 0.5e2 / 0.3e1 * t446 * t373 + 0.5e2 / 0.3e1 * t155 * t380 + 0.55e2 / 0.3e1 * t451 * t380 + 0.55e2 / 0.3e1 * t158 * t389; + const double t457 = t428 + t456; + const double t459 = -0.1576608624e-1 * t303 * t307 * t120 + t46 * t393 - 0.13717421124828532236e-1 * t395 * t397 + t125 * t457; + const double t464 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t162 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t459 ); + const double t465 = t168 * t283; + const double t467 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t465 ); + const double t470 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t467 ); + const double t471 = t470 * t27; + const double t475 = t175 * t295; + const double t478 = t6 * t475 * t277 / 0.8e1; + const double t480 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t471 * t277 - t478 ); + const double t484 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t487 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t484 ); + const double t488 = t487 * t27; + const double t493 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t488 * t162 - t299 ); + const double t495 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t465 ); + const double t498 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.3e1 * t173 * t495 ); + const double t499 = t498 * t27; + const double t503 = t185 * t185; + const double t505 = 0.1e1 / t503 * t29; + const double t506 = t505 * t33; + const double t507 = t177 * rho_b; + const double t509 = 0.1e1 / t179 / t507; + const double t510 = sigma_bb * t509; + const double t514 = t48 * tau_b; + const double t515 = t181 * t195; + const double t518 = t200 * tau_b; + const double t519 = t518 * t181; + const double t522 = t60 * t192; + const double t525 = t205 * tau_b; + const double t526 = t525 * t181; + const double t529 = t66 * t197; + const double t532 = t210 * tau_b; + const double t533 = t532 * t181; + const double t536 = t72 * t202; + const double t539 = t215 * tau_b; + const double t540 = t539 * t181; + const double t543 = t78 * t207; + const double t546 = t220 * tau_b; + const double t547 = t546 * t181; + const double t550 = t84 * t212; + const double t553 = 0.5e1 / 0.3e1 * t514 * t515 + 0.5e1 / 0.3e1 * t193 * t519 + 0.1e2 / 0.3e1 * t522 * t519 + 0.1e2 / 0.3e1 * t198 * t526 + 0.5e1 * t529 * t526 + 0.5e1 * t203 * t533 + 0.2e2 / 0.3e1 * t536 * t533 + 0.2e2 / 0.3e1 * t208 * t540 + 0.25e2 / 0.3e1 * t543 * t540 + 0.25e2 / 0.3e1 * t213 * t547 + 0.1e2 * t550 * t547; + const double t554 = t225 * tau_b; + const double t555 = t554 * t181; + const double t558 = t90 * t217; + const double t561 = t230 * tau_b; + const double t562 = t561 * t181; + const double t565 = t96 * t222; + const double t568 = t235 * tau_b; + const double t569 = t568 * t181; + const double t572 = t102 * t227; + const double t575 = t240 * tau_b; + const double t576 = t575 * t181; + const double t579 = t108 * t232; + const double t582 = t245 * tau_b; + const double t583 = t582 * t181; + const double t586 = t114 * t237; + const double t590 = 0.1e1 / t229 / t209; + const double t591 = t590 * tau_b; + const double t592 = t591 * t181; + const double t595 = 0.1e2 * t218 * t555 + 0.35e2 / 0.3e1 * t558 * t555 + 0.35e2 / 0.3e1 * t223 * t562 + 0.4e2 / 0.3e1 * t565 * t562 + 0.4e2 / 0.3e1 * t228 * t569 + 0.15e2 * t572 * t569 + 0.15e2 * t233 * t576 + 0.5e2 / 0.3e1 * t579 * t576 + 0.5e2 / 0.3e1 * t238 * t583 + 0.55e2 / 0.3e1 * t586 * t583 + 0.55e2 / 0.3e1 * t243 * t592; + const double t596 = t553 + t595; + const double t598 = t34 * sigma_bb; + const double t599 = t509 * t250; + const double t600 = t599 * t275; + const double t603 = t127 * tau_b; + const double t608 = t130 * t192; + const double t613 = t133 * t197; + const double t618 = t136 * t202; + const double t623 = t139 * t207; + const double t628 = t142 * t212; + const double t631 = 0.5e1 / 0.3e1 * t603 * t515 + 0.5e1 / 0.3e1 * t253 * t519 + 0.1e2 / 0.3e1 * t608 * t519 + 0.1e2 / 0.3e1 * t255 * t526 + 0.5e1 * t613 * t526 + 0.5e1 * t257 * t533 + 0.2e2 / 0.3e1 * t618 * t533 + 0.2e2 / 0.3e1 * t259 * t540 + 0.25e2 / 0.3e1 * t623 * t540 + 0.25e2 / 0.3e1 * t261 * t547 + 0.1e2 * t628 * t547; + const double t634 = t145 * t217; + const double t639 = t148 * t222; + const double t644 = t151 * t227; + const double t649 = t154 * t232; + const double t654 = t157 * t237; + const double t659 = 0.1e2 * t263 * t555 + 0.35e2 / 0.3e1 * t634 * t555 + 0.35e2 / 0.3e1 * t265 * t562 + 0.4e2 / 0.3e1 * t639 * t562 + 0.4e2 / 0.3e1 * t267 * t569 + 0.15e2 * t644 * t569 + 0.15e2 * t269 * t576 + 0.5e2 / 0.3e1 * t649 * t576 + 0.5e2 / 0.3e1 * t271 * t583 + 0.55e2 / 0.3e1 * t654 * t583 + 0.55e2 / 0.3e1 * t273 * t592; + const double t660 = t631 + t659; + const double t662 = -0.1576608624e-1 * t506 * t510 * t247 + t188 * t596 - 0.13717421124828532236e-1 * t598 * t600 + t252 * t660; + const double t667 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t277 - t478 - 0.3e1 / 0.8e1 * t6 * t176 * t662 ); + const double t670 = t33 * t39; + const double t674 = t39 * t123; + const double t678 = 0.591228234e-2 * t302 * t670 * t120 + 0.51440329218106995885e-2 * t34 * t674 * t160; + const double t682 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t678 ); + const double t683 = t33 * t181; + const double t687 = t181 * t250; + const double t691 = 0.591228234e-2 * t505 * t683 * t247 + 0.51440329218106995885e-2 * t34 * t687 * t275; + const double t695 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t691 ); + const double t698 = t64 * t53; + const double t702 = t70 * t53; + const double t707 = t76 * t53; + const double t712 = t82 * t53; + const double t717 = t88 * t53; + const double t722 = -t48 * t53 * t58 - 0.2e1 * t319 * t698 - 0.3e1 * t326 * t702 - 0.4e1 * t333 * t707 - 0.5e1 * t340 * t712 - 0.6e1 * t347 * t717 - t56 * t698 - 0.2e1 * t62 * t702 - 0.3e1 * t68 * t707 - 0.4e1 * t712 * t74 - 0.5e1 * t717 * t80; + const double t723 = t94 * t53; + const double t728 = t100 * t53; + const double t733 = t106 * t53; + const double t738 = t112 * t53; + const double t743 = t118 * t53; + const double t748 = t387 * t53; + const double t751 = -0.9e1 * t104 * t738 - 0.1e2 * t110 * t743 - 0.11e2 * t116 * t748 - 0.7e1 * t355 * t723 - 0.8e1 * t362 * t728 - 0.9e1 * t369 * t733 - 0.1e2 * t376 * t738 - 0.11e2 * t383 * t743 - 0.6e1 * t723 * t86 - 0.7e1 * t728 * t92 - 0.8e1 * t733 * t98; + const double t752 = t722 + t751; + const double t775 = -t127 * t53 * t58 - t128 * t698 - 0.2e1 * t131 * t702 - 0.3e1 * t134 * t707 - 0.4e1 * t137 * t712 - 0.5e1 * t140 * t717 - 0.2e1 * t405 * t698 - 0.3e1 * t410 * t702 - 0.4e1 * t415 * t707 - 0.5e1 * t420 * t712 - 0.6e1 * t425 * t717; + const double t798 = -0.6e1 * t143 * t723 - 0.7e1 * t146 * t728 - 0.8e1 * t149 * t733 - 0.9e1 * t152 * t738 - 0.1e2 * t155 * t743 - 0.11e2 * t158 * t748 - 0.7e1 * t431 * t723 - 0.8e1 * t436 * t728 - 0.9e1 * t441 * t733 - 0.1e2 * t446 * t738 - 0.11e2 * t451 * t743; + const double t799 = t775 + t798; + const double t801 = t125 * t799 + t46 * t752; + const double t805 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t801 ); + const double t808 = t200 * t190; + const double t812 = t205 * t190; + const double t817 = t210 * t190; + const double t822 = t215 * t190; + const double t827 = t220 * t190; + const double t832 = -t190 * t195 * t48 - t193 * t808 - 0.2e1 * t198 * t812 - 0.3e1 * t203 * t817 - 0.4e1 * t208 * t822 - 0.5e1 * t213 * t827 - 0.2e1 * t522 * t808 - 0.3e1 * t529 * t812 - 0.4e1 * t536 * t817 - 0.5e1 * t543 * t822 - 0.6e1 * t550 * t827; + const double t833 = t225 * t190; + const double t838 = t230 * t190; + const double t843 = t235 * t190; + const double t848 = t240 * t190; + const double t853 = t245 * t190; + const double t858 = t590 * t190; + const double t861 = -0.6e1 * t218 * t833 - 0.7e1 * t223 * t838 - 0.8e1 * t228 * t843 - 0.9e1 * t233 * t848 - 0.1e2 * t238 * t853 - 0.11e2 * t243 * t858 - 0.7e1 * t558 * t833 - 0.8e1 * t565 * t838 - 0.9e1 * t572 * t843 - 0.1e2 * t579 * t848 - 0.11e2 * t586 * t853; + const double t862 = t832 + t861; + const double t885 = -t127 * t190 * t195 - t253 * t808 - 0.2e1 * t255 * t812 - 0.3e1 * t257 * t817 - 0.4e1 * t259 * t822 - 0.5e1 * t261 * t827 - 0.2e1 * t608 * t808 - 0.3e1 * t613 * t812 - 0.4e1 * t618 * t817 - 0.5e1 * t623 * t822 - 0.6e1 * t628 * t827; + const double t908 = -0.6e1 * t263 * t833 - 0.7e1 * t265 * t838 - 0.8e1 * t267 * t843 - 0.9e1 * t269 * t848 - 0.1e2 * t271 * t853 - 0.11e2 * t273 * t858 - 0.7e1 * t634 * t833 - 0.8e1 * t639 * t838 - 0.9e1 * t644 * t843 - 0.1e2 * t649 * t848 - 0.11e2 * t654 * t853; + const double t909 = t885 + t908; + const double t911 = t188 * t862 + t252 * t909; + const double t915 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t911 ); + const double t918 = t24 * t24; + const double t919 = 0.1e1 / t918; + const double t920 = t286 * t286; + const double t923 = t282 * t7; + const double t924 = 0.1e1 / t923; + const double t925 = t17 * t924; + const double t928 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t925 ); + const double t932 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t920 + 0.4e1 / 0.3e1 * t24 * t928 ); + const double t933 = t932 * t27; + const double t937 = t289 * t295; + const double t939 = t6 * t937 * t162; + const double t945 = 0.1e1 / t294 / t7; + const double t946 = t26 * t945; + const double t949 = t6 * t946 * t162 / 0.12e2; + const double t951 = t6 * t296 * t459; + const double t955 = 0.1e1 / t300 / t43 * t49; + const double t958 = t955 * t957; + const double t959 = sigma_aa * sigma_aa; + const double t960 = t35 * t35; + const double t961 = t960 * t304; + const double t963 = 0.1e1 / t36 / t961; + const double t964 = t959 * t963; + const double t969 = 0.1e1 / t37 / t960; + const double t970 = sigma_aa * t969; + const double t977 = tau_a * tau_a; + const double t978 = t60 * t977; + const double t979 = t960 * rho_a; + const double t981 = 0.1e1 / t36 / t979; + const double t982 = t981 * t64; + const double t985 = t48 * t977; + const double t988 = t306 * t58; + const double t991 = t387 * t977; + const double t992 = t991 * t981; + const double t995 = t114 * t103; + const double t996 = t118 * t977; + const double t997 = t996 * t981; + const double t1003 = 0.1e1 / t99 / t81; + const double t1004 = t1003 * t977; + const double t1005 = t1004 * t981; + const double t1008 = t84 * t73; + const double t1009 = t88 * t977; + const double t1010 = t1009 * t981; + const double t1013 = t94 * t977; + const double t1014 = t1013 * t981; + const double t1017 = t100 * t977; + const double t1018 = t1017 * t981; + const double t1021 = t90 * t79; + const double t1026 = t106 * t977; + const double t1027 = t1026 * t981; + const double t1030 = 0.5e2 / 0.9e1 * t978 * t982 + 0.5e2 / 0.9e1 * t985 * t982 - 0.4e2 / 0.9e1 * t311 * t988 + 0.275e4 / 0.9e1 * t110 * t992 + 0.275e4 / 0.9e1 * t995 * t997 + 0.605e4 / 0.9e1 * t383 * t992 + 0.11e4 / 0.3e1 * t116 * t1005 + 0.25e3 / 0.3e1 * t1008 * t1010 + 0.2e3 * t347 * t1014 + 0.35e3 / 0.3e1 * t86 * t1018 + 0.35e3 / 0.3e1 * t1021 * t1014 + 0.245e4 / 0.9e1 * t355 * t1018 + 0.14e4 / 0.9e1 * t92 * t1027; + const double t1031 = t96 * t85; + const double t1036 = t112 * t977; + const double t1037 = t1036 * t981; + const double t1040 = t102 * t91; + const double t1047 = t108 * t97; + const double t1052 = t70 * t977; + const double t1053 = t1052 * t981; + const double t1058 = t76 * t977; + const double t1059 = t1058 * t981; + const double t1062 = t66 * t55; + const double t1067 = t82 * t977; + const double t1068 = t1067 * t981; + const double t1071 = 0.14e4 / 0.9e1 * t1031 * t1018 + 0.32e4 / 0.9e1 * t362 * t1027 + 0.2e3 * t98 * t1037 + 0.2e3 * t1040 * t1027 + 0.45e3 * t369 * t1037 + 0.25e3 * t104 * t997 + 0.25e3 * t1047 * t1037 + 0.5e4 / 0.9e1 * t376 * t997 + 0.5e2 / 0.9e1 * t56 * t1053 + 0.2e3 / 0.9e1 * t319 * t1053 + 0.5e2 / 0.3e1 * t62 * t1059 + 0.5e2 / 0.3e1 * t1062 * t1053 + 0.5e2 * t326 * t1059 + 0.1e3 / 0.3e1 * t68 * t1068; + const double t1073 = t72 * t61; + const double t1080 = t78 * t67; + const double t1087 = t365 * t306; + const double t1090 = t372 * t306; + const double t1095 = t379 * t306; + const double t1100 = t388 * t306; + const double t1103 = t322 * t306; + const double t1106 = 0.1e3 / 0.3e1 * t1073 * t1059 + 0.8e3 / 0.9e1 * t333 * t1068 + 0.5e3 / 0.9e1 * t74 * t1010 + 0.5e3 / 0.9e1 * t1080 * t1068 + 0.125e4 / 0.9e1 * t340 * t1010 + 0.25e3 / 0.3e1 * t80 * t1014 - 0.4e2 * t369 * t1087 - 0.4e2 * t104 * t1090 - 0.4e3 / 0.9e1 * t376 * t1090 - 0.4e3 / 0.9e1 * t110 * t1095 - 0.44e3 / 0.9e1 * t383 * t1095 - 0.44e3 / 0.9e1 * t116 * t1100 - 0.8e2 / 0.9e1 * t62 * t1103; + const double t1109 = t329 * t306; + const double t1114 = t336 * t306; + const double t1119 = t343 * t306; + const double t1124 = t351 * t306; + const double t1129 = t358 * t306; + const double t1136 = t315 * t306; + const double t1141 = -0.4e2 / 0.3e1 * t326 * t1103 - 0.4e2 / 0.3e1 * t68 * t1109 - 0.16e3 / 0.9e1 * t333 * t1109 - 0.16e3 / 0.9e1 * t74 * t1114 - 0.2e3 / 0.9e1 * t340 * t1114 - 0.2e3 / 0.9e1 * t80 * t1119 - 0.8e2 / 0.3e1 * t347 * t1119 - 0.8e2 / 0.3e1 * t86 * t1124 - 0.28e3 / 0.9e1 * t355 * t1124 - 0.28e3 / 0.9e1 * t92 * t1129 - 0.32e3 / 0.9e1 * t362 * t1129 - 0.32e3 / 0.9e1 * t98 * t1087 - 0.4e2 / 0.9e1 * t56 * t1136 - 0.8e2 / 0.9e1 * t319 * t1136; + const double t1143 = t1030 + t1071 + t1106 + t1141; + const double t1145 = t969 * t123; + const double t1146 = t1145 * t160; + const double t1150 = t1149 * t959; + const double t1151 = t963 * t123; + const double t1152 = t1151 * t160; + const double t1155 = t396 * t457; + const double t1160 = t127 * t977; + const double t1163 = t130 * t977; + const double t1168 = t148 * t85; + const double t1181 = t133 * t55; + const double t1188 = -0.4e2 / 0.9e1 * t400 * t988 + 0.5e2 / 0.9e1 * t1160 * t982 + 0.5e2 / 0.9e1 * t1163 * t982 + 0.14e4 / 0.9e1 * t146 * t1027 + 0.14e4 / 0.9e1 * t1168 * t1018 + 0.32e4 / 0.9e1 * t436 * t1027 + 0.2e3 * t149 * t1037 + 0.5e2 / 0.9e1 * t128 * t1053 + 0.2e3 / 0.9e1 * t405 * t1053 + 0.5e2 / 0.3e1 * t131 * t1059 + 0.5e2 / 0.3e1 * t1181 * t1053 + 0.5e2 * t410 * t1059 + 0.1e3 / 0.3e1 * t134 * t1068; + const double t1189 = t136 * t61; + const double t1218 = 0.1e3 / 0.3e1 * t1189 * t1059 + 0.8e3 / 0.9e1 * t415 * t1068 + 0.245e4 / 0.9e1 * t431 * t1018 - 0.8e2 / 0.3e1 * t143 * t1124 - 0.28e3 / 0.9e1 * t431 * t1124 - 0.28e3 / 0.9e1 * t146 * t1129 - 0.32e3 / 0.9e1 * t436 * t1129 - 0.32e3 / 0.9e1 * t149 * t1087 - 0.4e2 * t441 * t1087 - 0.4e2 * t152 * t1090 - 0.4e3 / 0.9e1 * t446 * t1090 - 0.4e3 / 0.9e1 * t155 * t1095 - 0.44e3 / 0.9e1 * t451 * t1095 - 0.44e3 / 0.9e1 * t158 * t1100; + const double t1240 = t151 * t91; + const double t1247 = -0.4e2 / 0.9e1 * t128 * t1136 - 0.8e2 / 0.9e1 * t405 * t1136 - 0.8e2 / 0.9e1 * t131 * t1103 - 0.4e2 / 0.3e1 * t410 * t1103 - 0.4e2 / 0.3e1 * t134 * t1109 - 0.16e3 / 0.9e1 * t415 * t1109 - 0.16e3 / 0.9e1 * t137 * t1114 - 0.2e3 / 0.9e1 * t420 * t1114 - 0.2e3 / 0.9e1 * t140 * t1119 - 0.8e2 / 0.3e1 * t425 * t1119 + 0.2e3 * t1240 * t1027 + 0.45e3 * t441 * t1037 + 0.25e3 * t152 * t997; + const double t1248 = t154 * t97; + const double t1255 = t157 * t103; + const double t1264 = t139 * t67; + const double t1271 = t142 * t73; + const double t1278 = t145 * t79; + const double t1281 = 0.25e3 * t1248 * t1037 + 0.5e4 / 0.9e1 * t446 * t997 + 0.275e4 / 0.9e1 * t155 * t992 + 0.275e4 / 0.9e1 * t1255 * t997 + 0.605e4 / 0.9e1 * t451 * t992 + 0.11e4 / 0.3e1 * t158 * t1005 + 0.5e3 / 0.9e1 * t137 * t1010 + 0.5e3 / 0.9e1 * t1264 * t1068 + 0.125e4 / 0.9e1 * t420 * t1010 + 0.25e3 / 0.3e1 * t140 * t1014 + 0.25e3 / 0.3e1 * t1271 * t1010 + 0.2e3 * t425 * t1014 + 0.35e3 / 0.3e1 * t143 * t1018 + 0.35e3 / 0.3e1 * t1278 * t1014; + const double t1283 = t1188 + t1218 + t1247 + t1281; + const double t1285 = -0.7690696867872e-3 * t958 * t964 * t120 + 0.5780898288e-1 * t303 * t970 * t120 - 0.3153217248e-1 * t303 * t307 * t393 + t46 * t1143 + 0.50297210791037951532e-1 * t395 * t1146 - 0.34088340999255810611e-3 * t1150 * t1152 - 0.27434842249657064472e-1 * t395 * t1155 + t125 * t1283; + const double t1290 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t933 * t162 - t939 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t459 + t949 - t951 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1285 ); + const double t1291 = t173 * t173; + const double t1292 = 0.1e1 / t1291; + const double t1293 = t467 * t467; + const double t1296 = t168 * t924; + const double t1299 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1303 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1293 + 0.4e1 / 0.3e1 * t173 * t1299 ); + const double t1304 = t1303 * t27; + const double t1308 = t470 * t295; + const double t1310 = t6 * t1308 * t277; + const double t1312 = t175 * t945; + const double t1315 = t6 * t1312 * t277 / 0.12e2; + const double t1317 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1304 * t277 - t1310 / 0.4e1 + t1315 ); + const double t1333 = t487 * t295; + const double t1335 = t6 * t1333 * t162; + const double t1357 = t498 * t295; + const double t1359 = t6 * t1357 * t277; + const double t1366 = t6 * t475 * t662; + const double t1374 = t484 * t484; + const double t1379 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t925 ); + const double t1383 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t919 * t1374 + 0.4e1 / 0.3e1 * t24 * t1379 ); + const double t1384 = t1383 * t27; + const double t1390 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1384 * t162 - t1335 / 0.4e1 + t949 ); + const double t1391 = t495 * t495; + const double t1396 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1296 ); + const double t1400 = piecewise_functor_3( t172, 0.0, 0.4e1 / 0.9e1 * t1292 * t1391 + 0.4e1 / 0.3e1 * t173 * t1396 ); + const double t1401 = t1400 * t27; + const double t1412 = 0.1e1 / t503 / t185 * t49; + const double t1413 = t1412 * t957; + const double t1414 = sigma_bb * sigma_bb; + const double t1415 = t177 * t177; + const double t1416 = t1415 * t507; + const double t1418 = 0.1e1 / t178 / t1416; + const double t1419 = t1414 * t1418; + const double t1424 = 0.1e1 / t179 / t1415; + const double t1425 = sigma_bb * t1424; + const double t1432 = t509 * t195; + const double t1435 = tau_b * tau_b; + const double t1436 = t48 * t1435; + const double t1437 = t1415 * rho_b; + const double t1439 = 0.1e1 / t178 / t1437; + const double t1440 = t1439 * t200; + const double t1443 = t60 * t1435; + const double t1446 = t532 * t509; + const double t1449 = t539 * t509; + const double t1454 = t546 * t509; + const double t1457 = t215 * t1435; + const double t1458 = t1457 * t1439; + const double t1461 = t72 * t197; + const double t1462 = t210 * t1435; + const double t1463 = t1462 * t1439; + const double t1468 = t220 * t1435; + const double t1469 = t1468 * t1439; + const double t1472 = t78 * t202; + const double t1477 = -0.4e2 / 0.9e1 * t514 * t1432 + 0.5e2 / 0.9e1 * t1436 * t1440 + 0.5e2 / 0.9e1 * t1443 * t1440 - 0.16e3 / 0.9e1 * t536 * t1446 - 0.16e3 / 0.9e1 * t208 * t1449 - 0.2e3 / 0.9e1 * t543 * t1449 - 0.2e3 / 0.9e1 * t213 * t1454 + 0.1e3 / 0.3e1 * t203 * t1458 + 0.1e3 / 0.3e1 * t1461 * t1463 + 0.8e3 / 0.9e1 * t536 * t1458 + 0.5e3 / 0.9e1 * t208 * t1469 + 0.5e3 / 0.9e1 * t1472 * t1458 + 0.125e4 / 0.9e1 * t543 * t1469; + const double t1480 = t554 * t509; + const double t1485 = t561 * t509; + const double t1490 = t568 * t509; + const double t1495 = t575 * t509; + const double t1500 = t582 * t509; + const double t1505 = t591 * t509; + const double t1508 = t518 * t509; + const double t1513 = -0.8e2 / 0.3e1 * t550 * t1454 - 0.8e2 / 0.3e1 * t218 * t1480 - 0.28e3 / 0.9e1 * t558 * t1480 - 0.28e3 / 0.9e1 * t223 * t1485 - 0.32e3 / 0.9e1 * t565 * t1485 - 0.32e3 / 0.9e1 * t228 * t1490 - 0.4e2 * t572 * t1490 - 0.4e2 * t233 * t1495 - 0.4e3 / 0.9e1 * t579 * t1495 - 0.4e3 / 0.9e1 * t238 * t1500 - 0.44e3 / 0.9e1 * t586 * t1500 - 0.44e3 / 0.9e1 * t243 * t1505 - 0.4e2 / 0.9e1 * t193 * t1508 - 0.8e2 / 0.9e1 * t522 * t1508; + const double t1515 = t525 * t509; + const double t1522 = t590 * t1435; + const double t1523 = t1522 * t1439; + const double t1527 = 0.1e1 / t229 / t214; + const double t1528 = t1527 * t1435; + const double t1529 = t1528 * t1439; + const double t1532 = t225 * t1435; + const double t1533 = t1532 * t1439; + const double t1536 = t84 * t207; + const double t1541 = t230 * t1435; + const double t1542 = t1541 * t1439; + const double t1545 = t90 * t212; + const double t1550 = t235 * t1435; + const double t1551 = t1550 * t1439; + const double t1554 = t96 * t217; + const double t1557 = -0.8e2 / 0.9e1 * t198 * t1515 - 0.4e2 / 0.3e1 * t529 * t1515 - 0.4e2 / 0.3e1 * t203 * t1446 + 0.605e4 / 0.9e1 * t586 * t1523 + 0.11e4 / 0.3e1 * t243 * t1529 + 0.25e3 / 0.3e1 * t213 * t1533 + 0.25e3 / 0.3e1 * t1536 * t1469 + 0.2e3 * t550 * t1533 + 0.35e3 / 0.3e1 * t218 * t1542 + 0.35e3 / 0.3e1 * t1545 * t1533 + 0.245e4 / 0.9e1 * t558 * t1542 + 0.14e4 / 0.9e1 * t223 * t1551 + 0.14e4 / 0.9e1 * t1554 * t1542; + const double t1560 = t240 * t1435; + const double t1561 = t1560 * t1439; + const double t1564 = t102 * t222; + const double t1569 = t245 * t1435; + const double t1570 = t1569 * t1439; + const double t1573 = t108 * t227; + const double t1578 = t205 * t1435; + const double t1579 = t1578 * t1439; + const double t1586 = t66 * t192; + const double t1593 = t114 * t232; + const double t1596 = 0.32e4 / 0.9e1 * t565 * t1551 + 0.2e3 * t228 * t1561 + 0.2e3 * t1564 * t1551 + 0.45e3 * t572 * t1561 + 0.25e3 * t233 * t1570 + 0.25e3 * t1573 * t1561 + 0.5e4 / 0.9e1 * t579 * t1570 + 0.5e2 / 0.9e1 * t193 * t1579 + 0.2e3 / 0.9e1 * t522 * t1579 + 0.5e2 / 0.3e1 * t198 * t1463 + 0.5e2 / 0.3e1 * t1586 * t1579 + 0.5e2 * t529 * t1463 + 0.275e4 / 0.9e1 * t238 * t1523 + 0.275e4 / 0.9e1 * t1593 * t1570; + const double t1598 = t1477 + t1513 + t1557 + t1596; + const double t1600 = t1424 * t250; + const double t1601 = t1600 * t275; + const double t1604 = t1149 * t1414; + const double t1605 = t1418 * t250; + const double t1606 = t1605 * t275; + const double t1609 = t599 * t660; + const double t1614 = t127 * t1435; + const double t1617 = t130 * t1435; + const double t1622 = t136 * t197; + const double t1629 = t139 * t202; + const double t1636 = t142 * t207; + const double t1643 = -0.4e2 / 0.9e1 * t603 * t1432 + 0.5e2 / 0.9e1 * t1614 * t1440 + 0.5e2 / 0.9e1 * t1617 * t1440 + 0.11e4 / 0.3e1 * t273 * t1529 + 0.1e3 / 0.3e1 * t1622 * t1463 + 0.8e3 / 0.9e1 * t618 * t1458 + 0.5e3 / 0.9e1 * t259 * t1469 + 0.5e3 / 0.9e1 * t1629 * t1458 + 0.125e4 / 0.9e1 * t623 * t1469 + 0.25e3 / 0.3e1 * t261 * t1533 + 0.25e3 / 0.3e1 * t1636 * t1469 + 0.2e3 * t628 * t1533 + 0.35e3 / 0.3e1 * t263 * t1542; + const double t1644 = t145 * t212; + const double t1651 = t148 * t217; + const double t1662 = t133 * t192; + const double t1675 = 0.35e3 / 0.3e1 * t1644 * t1533 + 0.245e4 / 0.9e1 * t634 * t1542 + 0.14e4 / 0.9e1 * t265 * t1551 + 0.14e4 / 0.9e1 * t1651 * t1542 + 0.32e4 / 0.9e1 * t639 * t1551 + 0.5e2 / 0.9e1 * t253 * t1579 + 0.2e3 / 0.9e1 * t608 * t1579 + 0.5e2 / 0.3e1 * t255 * t1463 + 0.5e2 / 0.3e1 * t1662 * t1579 + 0.5e2 * t613 * t1463 + 0.1e3 / 0.3e1 * t257 * t1458 - 0.4e3 / 0.9e1 * t649 * t1495 - 0.4e3 / 0.9e1 * t271 * t1500 - 0.44e3 / 0.9e1 * t654 * t1500; + const double t1703 = -0.44e3 / 0.9e1 * t273 * t1505 - 0.4e2 / 0.3e1 * t257 * t1446 - 0.16e3 / 0.9e1 * t618 * t1446 - 0.16e3 / 0.9e1 * t259 * t1449 - 0.2e3 / 0.9e1 * t623 * t1449 - 0.2e3 / 0.9e1 * t261 * t1454 - 0.8e2 / 0.3e1 * t628 * t1454 - 0.8e2 / 0.3e1 * t263 * t1480 - 0.28e3 / 0.9e1 * t634 * t1480 - 0.28e3 / 0.9e1 * t265 * t1485 - 0.32e3 / 0.9e1 * t639 * t1485 - 0.32e3 / 0.9e1 * t267 * t1490 - 0.4e2 * t644 * t1490; + const double t1716 = t151 * t222; + const double t1723 = t154 * t227; + const double t1730 = t157 * t232; + const double t1735 = -0.4e2 * t269 * t1495 - 0.4e2 / 0.9e1 * t253 * t1508 - 0.8e2 / 0.9e1 * t608 * t1508 - 0.8e2 / 0.9e1 * t255 * t1515 - 0.4e2 / 0.3e1 * t613 * t1515 + 0.2e3 * t267 * t1561 + 0.2e3 * t1716 * t1551 + 0.45e3 * t644 * t1561 + 0.25e3 * t269 * t1570 + 0.25e3 * t1723 * t1561 + 0.5e4 / 0.9e1 * t649 * t1570 + 0.275e4 / 0.9e1 * t271 * t1523 + 0.275e4 / 0.9e1 * t1730 * t1570 + 0.605e4 / 0.9e1 * t654 * t1523; + const double t1737 = t1643 + t1675 + t1703 + t1735; + const double t1739 = -0.7690696867872e-3 * t1413 * t1419 * t247 + 0.5780898288e-1 * t506 * t1425 * t247 - 0.3153217248e-1 * t506 * t510 * t596 + t188 * t1598 + 0.50297210791037951532e-1 * t598 * t1601 - 0.34088340999255810611e-3 * t1604 * t1606 - 0.27434842249657064472e-1 * t598 * t1609 + t252 * t1737; + const double t1744 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t1401 * t277 - t1359 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t499 * t662 + t1315 - t1366 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t176 * t1739 ); + const double t1752 = t6 * t296 * t678 / 0.8e1; + const double t1753 = t960 * t35; + const double t1755 = 0.1e1 / t36 / t1753; + const double t1760 = t33 * t306; + const double t1769 = t1149 * t1755; + const double t1770 = sigma_aa * t123; + const double t1771 = t1770 * t160; + const double t1777 = 0.2884011325452e-3 * t958 * t1755 * t120 * sigma_aa - 0.1576608624e-1 * t302 * t1760 * t120 + 0.591228234e-2 * t302 * t670 * t393 - 0.13717421124828532236e-1 * t34 * t397 + 0.12783127874720928979e-3 * t1769 * t1771 + 0.51440329218106995885e-2 * t34 * t674 * t457; + const double t1782 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t678 - t1752 - 0.3e1 / 0.8e1 * t6 * t28 * t1777 ); + const double t1789 = t6 * t475 * t691 / 0.8e1; + const double t1802 = t1415 * t177; + const double t1804 = 0.1e1 / t178 / t1802; + const double t1809 = t33 * t509; + const double t1818 = t1149 * t1804; + const double t1819 = sigma_bb * t250; + const double t1820 = t1819 * t275; + const double t1826 = 0.2884011325452e-3 * t1413 * t1804 * t247 * sigma_bb - 0.1576608624e-1 * t505 * t1809 * t247 + 0.591228234e-2 * t505 * t683 * t596 - 0.13717421124828532236e-1 * t34 * t600 + 0.12783127874720928979e-3 * t1818 * t1820 + 0.51440329218106995885e-2 * t34 * t687 * t660; + const double t1831 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t691 - t1789 - 0.3e1 / 0.8e1 * t6 * t176 * t1826 ); + const double t1838 = t6 * t296 * t801 / 0.8e1; + const double t1842 = t106 * t39; + const double t1845 = t112 * t39; + const double t1850 = t118 * t39; + const double t1855 = t387 * t39; + const double t1858 = t82 * t39; + const double t1863 = t88 * t39; + const double t1871 = t94 * t39; + const double t1876 = 0.15e2 * t369 * t1842 + 0.15e2 * t104 * t1845 + 0.5e2 / 0.3e1 * t376 * t1845 + 0.5e2 / 0.3e1 * t110 * t1850 + 0.55e2 / 0.3e1 * t383 * t1850 + 0.55e2 / 0.3e1 * t116 * t1855 + 0.2e2 / 0.3e1 * t74 * t1858 + 0.25e2 / 0.3e1 * t340 * t1858 + 0.25e2 / 0.3e1 * t80 * t1863 + 0.1e2 * t347 * t1863 + 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.1e2 * t86 * t1871 + 0.35e2 / 0.3e1 * t355 * t1871; + const double t1877 = t100 * t39; + const double t1884 = t64 * t39; + const double t1889 = t70 * t39; + const double t1894 = t76 * t39; + const double t1900 = 0.1e1 / t36 / t960; + const double t1901 = t48 * t1900; + const double t1904 = t60 * tau_a; + const double t1905 = t1900 * t64; + const double t1908 = t82 * t1900; + const double t1909 = t1908 * tau_a; + const double t1912 = t118 * t1900; + const double t1913 = t1912 * tau_a; + const double t1916 = t387 * t1900; + const double t1917 = t1916 * tau_a; + const double t1920 = 0.35e2 / 0.3e1 * t92 * t1877 + 0.4e2 / 0.3e1 * t362 * t1877 + 0.4e2 / 0.3e1 * t98 * t1842 + 0.5e1 / 0.3e1 * t56 * t1884 + 0.1e2 / 0.3e1 * t319 * t1884 + 0.1e2 / 0.3e1 * t62 * t1889 + 0.5e1 * t326 * t1889 + 0.5e1 * t68 * t1894 + 0.2e2 / 0.3e1 * t333 * t1894 - 0.1e2 / 0.3e1 * t1901 * t315 - 0.1e2 / 0.3e1 * t1904 * t1905 - 0.2e2 * t68 * t1909 - 0.55e3 / 0.3e1 * t995 * t1913 - 0.121e4 / 0.3e1 * t383 * t1917; + const double t1922 = t1003 * t1900; + const double t1923 = t1922 * tau_a; + const double t1926 = t76 * t1900; + const double t1927 = t1926 * tau_a; + const double t1932 = t88 * t1900; + const double t1933 = t1932 * tau_a; + const double t1940 = t94 * t1900; + const double t1941 = t1940 * tau_a; + const double t1948 = t100 * t1900; + const double t1949 = t1948 * tau_a; + const double t1956 = t106 * t1900; + const double t1957 = t1956 * tau_a; + const double t1960 = -0.22e3 * t116 * t1923 - 0.2e2 * t1073 * t1927 - 0.16e3 / 0.3e1 * t333 * t1909 - 0.1e3 / 0.3e1 * t74 * t1933 - 0.1e3 / 0.3e1 * t1080 * t1909 - 0.25e3 / 0.3e1 * t340 * t1933 - 0.5e2 * t80 * t1941 - 0.5e2 * t1008 * t1933 - 0.12e3 * t347 * t1941 - 0.7e2 * t86 * t1949 - 0.7e2 * t1021 * t1941 - 0.49e3 / 0.3e1 * t355 * t1949 - 0.28e3 / 0.3e1 * t92 * t1957; + const double t1965 = t70 * t1900; + const double t1966 = t1965 * tau_a; + const double t1977 = t112 * t1900; + const double t1978 = t1977 * tau_a; + const double t1993 = -0.28e3 / 0.3e1 * t1031 * t1949 - 0.64e3 / 0.3e1 * t362 * t1957 - 0.1e2 / 0.3e1 * t56 * t1966 - 0.4e2 / 0.3e1 * t319 * t1966 - 0.1e2 * t62 * t1927 - 0.1e2 * t1062 * t1966 - 0.3e2 * t326 * t1927 - 0.12e3 * t98 * t1978 - 0.12e3 * t1040 * t1957 - 0.27e3 * t369 * t1978 - 0.15e3 * t104 * t1913 - 0.15e3 * t1047 * t1978 - 0.1e4 / 0.3e1 * t376 * t1913 - 0.55e3 / 0.3e1 * t110 * t1917; + const double t1995 = t1876 + t1920 + t1960 + t1993; + const double t1997 = t396 * t799; + const double t2005 = t127 * t1900; + const double t2008 = t130 * tau_a; + const double t2029 = 0.5e1 / 0.3e1 * t127 * t39 * t58 + 0.1e2 / 0.3e1 * t131 * t1889 - 0.1e2 / 0.3e1 * t2005 * t315 - 0.1e2 / 0.3e1 * t2008 * t1905 + 0.35e2 / 0.3e1 * t146 * t1877 + 0.4e2 / 0.3e1 * t436 * t1877 + 0.4e2 / 0.3e1 * t149 * t1842 + 0.15e2 * t441 * t1842 + 0.15e2 * t152 * t1845 + 0.5e2 / 0.3e1 * t446 * t1845 + 0.5e2 / 0.3e1 * t155 * t1850 + 0.55e2 / 0.3e1 * t451 * t1850 + 0.55e2 / 0.3e1 * t158 * t1855; + const double t2058 = 0.5e1 * t410 * t1889 + 0.5e1 * t134 * t1894 + 0.2e2 / 0.3e1 * t415 * t1894 + 0.2e2 / 0.3e1 * t137 * t1858 + 0.25e2 / 0.3e1 * t420 * t1858 + 0.25e2 / 0.3e1 * t140 * t1863 + 0.1e2 * t425 * t1863 + 0.1e2 * t143 * t1871 + 0.35e2 / 0.3e1 * t431 * t1871 + 0.5e1 / 0.3e1 * t128 * t1884 + 0.1e2 / 0.3e1 * t405 * t1884 - 0.22e3 * t158 * t1923 - 0.1e2 * t131 * t1927 - 0.1e2 * t1181 * t1966; + const double t2086 = -0.3e2 * t410 * t1927 - 0.2e2 * t134 * t1909 - 0.2e2 * t1189 * t1927 - 0.16e3 / 0.3e1 * t415 * t1909 - 0.1e3 / 0.3e1 * t137 * t1933 - 0.1e3 / 0.3e1 * t1264 * t1909 - 0.25e3 / 0.3e1 * t420 * t1933 - 0.5e2 * t140 * t1941 - 0.5e2 * t1271 * t1933 - 0.12e3 * t425 * t1941 - 0.7e2 * t143 * t1949 - 0.7e2 * t1278 * t1941 - 0.49e3 / 0.3e1 * t431 * t1949; + const double t2115 = -0.1e2 / 0.3e1 * t128 * t1966 - 0.4e2 / 0.3e1 * t405 * t1966 - 0.28e3 / 0.3e1 * t146 * t1957 - 0.28e3 / 0.3e1 * t1168 * t1949 - 0.64e3 / 0.3e1 * t436 * t1957 - 0.12e3 * t149 * t1978 - 0.12e3 * t1240 * t1957 - 0.27e3 * t441 * t1978 - 0.15e3 * t152 * t1913 - 0.15e3 * t1248 * t1978 - 0.1e4 / 0.3e1 * t446 * t1913 - 0.55e3 / 0.3e1 * t155 * t1917 - 0.55e3 / 0.3e1 * t1255 * t1913 - 0.121e4 / 0.3e1 * t451 * t1917; + const double t2117 = t2029 + t2058 + t2086 + t2115; + const double t2119 = -0.1576608624e-1 * t303 * t307 * t752 + t46 * t1995 - 0.13717421124828532236e-1 * t395 * t1997 + t125 * t2117; + const double t2124 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t801 - t1838 - 0.3e1 / 0.8e1 * t6 * t28 * t2119 ); + const double t2131 = t6 * t475 * t911 / 0.8e1; + const double t2151 = 0.1e1 / t178 / t1415; + const double t2152 = t225 * t2151; + const double t2153 = t2152 * tau_b; + const double t2156 = t230 * t2151; + const double t2157 = t2156 * tau_b; + const double t2164 = t235 * t2151; + const double t2165 = t2164 * tau_b; + const double t2168 = t205 * t2151; + const double t2169 = t2168 * tau_b; + const double t2174 = t210 * t2151; + const double t2175 = t2174 * tau_b; + const double t2184 = t240 * t2151; + const double t2185 = t2184 * tau_b; + const double t2188 = 0.5e1 / 0.3e1 * t48 * t181 * t195 - 0.12e3 * t550 * t2153 - 0.7e2 * t218 * t2157 - 0.7e2 * t1545 * t2153 - 0.49e3 / 0.3e1 * t558 * t2157 - 0.28e3 / 0.3e1 * t223 * t2165 - 0.1e2 / 0.3e1 * t193 * t2169 - 0.4e2 / 0.3e1 * t522 * t2169 - 0.1e2 * t198 * t2175 - 0.1e2 * t1586 * t2169 - 0.3e2 * t529 * t2175 - 0.12e3 * t1564 * t2165 - 0.27e3 * t572 * t2185; + const double t2189 = t245 * t2151; + const double t2190 = t2189 * tau_b; + const double t2197 = t590 * t2151; + const double t2198 = t2197 * tau_b; + const double t2205 = t1527 * t2151; + const double t2206 = t2205 * tau_b; + const double t2209 = t215 * t2151; + const double t2210 = t2209 * tau_b; + const double t2217 = t220 * t2151; + const double t2218 = t2217 * tau_b; + const double t2227 = -0.15e3 * t233 * t2190 - 0.15e3 * t1573 * t2185 - 0.1e4 / 0.3e1 * t579 * t2190 - 0.55e3 / 0.3e1 * t238 * t2198 - 0.55e3 / 0.3e1 * t1593 * t2190 - 0.121e4 / 0.3e1 * t586 * t2198 - 0.22e3 * t243 * t2206 - 0.2e2 * t203 * t2210 - 0.2e2 * t1461 * t2175 - 0.16e3 / 0.3e1 * t536 * t2210 - 0.1e3 / 0.3e1 * t208 * t2218 - 0.1e3 / 0.3e1 * t1472 * t2210 - 0.25e3 / 0.3e1 * t543 * t2218 - 0.5e2 * t213 * t2153; + const double t2237 = t230 * t181; + const double t2240 = t235 * t181; + const double t2245 = t240 * t181; + const double t2250 = t245 * t181; + const double t2255 = t590 * t181; + const double t2258 = t210 * t181; + const double t2261 = -0.5e2 * t1536 * t2218 - 0.28e3 / 0.3e1 * t1554 * t2157 - 0.64e3 / 0.3e1 * t565 * t2165 - 0.12e3 * t228 * t2185 + 0.4e2 / 0.3e1 * t565 * t2237 + 0.4e2 / 0.3e1 * t228 * t2240 + 0.15e2 * t572 * t2240 + 0.15e2 * t233 * t2245 + 0.5e2 / 0.3e1 * t579 * t2245 + 0.5e2 / 0.3e1 * t238 * t2250 + 0.55e2 / 0.3e1 * t586 * t2250 + 0.55e2 / 0.3e1 * t243 * t2255 + 0.5e1 * t203 * t2258; + const double t2264 = t215 * t181; + const double t2269 = t220 * t181; + const double t2274 = t225 * t181; + const double t2281 = t200 * t181; + const double t2286 = t205 * t181; + const double t2291 = t48 * t2151; + const double t2294 = t60 * tau_b; + const double t2295 = t2151 * t200; + const double t2298 = 0.2e2 / 0.3e1 * t536 * t2258 + 0.2e2 / 0.3e1 * t208 * t2264 + 0.25e2 / 0.3e1 * t543 * t2264 + 0.25e2 / 0.3e1 * t213 * t2269 + 0.1e2 * t550 * t2269 + 0.1e2 * t218 * t2274 + 0.35e2 / 0.3e1 * t558 * t2274 + 0.35e2 / 0.3e1 * t223 * t2237 + 0.5e1 / 0.3e1 * t193 * t2281 + 0.1e2 / 0.3e1 * t522 * t2281 + 0.1e2 / 0.3e1 * t198 * t2286 + 0.5e1 * t529 * t2286 - 0.1e2 / 0.3e1 * t2291 * t518 - 0.1e2 / 0.3e1 * t2294 * t2295; + const double t2300 = t2188 + t2227 + t2261 + t2298; + const double t2302 = t599 * t909; + const double t2332 = 0.5e1 / 0.3e1 * t127 * t181 * t195 - 0.1e2 * t255 * t2175 - 0.1e2 * t1662 * t2169 - 0.3e2 * t613 * t2175 - 0.2e2 * t257 * t2210 - 0.2e2 * t1622 * t2175 - 0.16e3 / 0.3e1 * t618 * t2210 - 0.1e3 / 0.3e1 * t259 * t2218 - 0.1e3 / 0.3e1 * t1629 * t2210 - 0.25e3 / 0.3e1 * t623 * t2218 - 0.5e2 * t261 * t2153 - 0.5e2 * t1636 * t2218 - 0.12e3 * t628 * t2153; + const double t2361 = -0.1e2 / 0.3e1 * t253 * t2169 - 0.12e3 * t267 * t2185 - 0.12e3 * t1716 * t2165 - 0.27e3 * t644 * t2185 - 0.15e3 * t269 * t2190 - 0.15e3 * t1723 * t2185 - 0.1e4 / 0.3e1 * t649 * t2190 - 0.55e3 / 0.3e1 * t271 * t2198 - 0.55e3 / 0.3e1 * t1730 * t2190 - 0.4e2 / 0.3e1 * t608 * t2169 - 0.121e4 / 0.3e1 * t654 * t2198 - 0.22e3 * t273 * t2206 - 0.7e2 * t263 * t2157 - 0.7e2 * t1644 * t2153; + const double t2389 = -0.49e3 / 0.3e1 * t634 * t2157 - 0.28e3 / 0.3e1 * t265 * t2165 - 0.28e3 / 0.3e1 * t1651 * t2157 - 0.64e3 / 0.3e1 * t639 * t2165 + 0.55e2 / 0.3e1 * t273 * t2255 + 0.35e2 / 0.3e1 * t634 * t2274 + 0.35e2 / 0.3e1 * t265 * t2237 + 0.4e2 / 0.3e1 * t639 * t2237 + 0.4e2 / 0.3e1 * t267 * t2240 + 0.15e2 * t644 * t2240 + 0.15e2 * t269 * t2245 + 0.5e2 / 0.3e1 * t649 * t2245 + 0.5e2 / 0.3e1 * t271 * t2250; + const double t2414 = t127 * t2151; + const double t2417 = t130 * tau_b; + const double t2420 = 0.55e2 / 0.3e1 * t654 * t2250 + 0.1e2 / 0.3e1 * t608 * t2281 + 0.1e2 / 0.3e1 * t255 * t2286 + 0.5e1 * t613 * t2286 + 0.5e1 * t257 * t2258 + 0.2e2 / 0.3e1 * t618 * t2258 + 0.2e2 / 0.3e1 * t259 * t2264 + 0.25e2 / 0.3e1 * t623 * t2264 + 0.25e2 / 0.3e1 * t261 * t2269 + 0.1e2 * t628 * t2269 + 0.1e2 * t263 * t2274 + 0.5e1 / 0.3e1 * t253 * t2281 - 0.1e2 / 0.3e1 * t2414 * t518 - 0.1e2 / 0.3e1 * t2417 * t2295; + const double t2422 = t2332 + t2361 + t2389 + t2420; + const double t2424 = -0.1576608624e-1 * t506 * t510 * t862 + t188 * t2300 - 0.13717421124828532236e-1 * t598 * t2302 + t252 * t2422; + const double t2429 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t911 - t2131 - 0.3e1 / 0.8e1 * t6 * t176 * t2424 ); + const double t2431 = t957 * t981; + const double t2435 = t981 * t123; + const double t2439 = -0.10815042470445e-3 * t955 * t2431 * t120 - 0.4793672953020348367e-4 * t1149 * t2435 * t160; + const double t2443 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2439 ); + const double t2444 = t957 * t1439; + const double t2448 = t1439 * t250; + const double t2452 = -0.10815042470445e-3 * t1412 * t2444 * t247 - 0.4793672953020348367e-4 * t1149 * t2448 * t275; + const double t2456 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2452 ); + const double t2463 = 0.591228234e-2 * t302 * t670 * t752 + 0.51440329218106995885e-2 * t34 * t674 * t799; + const double t2467 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2463 ); + const double t2474 = 0.591228234e-2 * t505 * t683 * t862 + 0.51440329218106995885e-2 * t34 * t687 * t909; + const double t2478 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2474 ); + const double t2480 = 0.1e1 / t36 / t304; + const double t2481 = t100 * t2480; + const double t2484 = t106 * t2480; + const double t2487 = t112 * t2480; + const double t2490 = t118 * t2480; + const double t2493 = t70 * t2480; + const double t2496 = t76 * t2480; + const double t2499 = t82 * t2480; + const double t2502 = t88 * t2480; + const double t2505 = t94 * t2480; + const double t2522 = 0.3e2 * t1008 * t2502 + 0.42e2 * t1021 * t2505 + 0.56e2 * t1031 * t2481 + 0.72e2 * t1040 * t2484 + 0.9e2 * t1047 * t2487 + 0.6e1 * t1062 * t2493 + 0.12e2 * t1073 * t2496 + 0.2e2 * t1080 * t2499 + 0.98e2 * t2481 * t355 + 0.42e2 * t2481 * t86 + 0.56e2 * t2484 * t92 + 0.11e3 * t2490 * t995 + 0.5e2 * t2502 * t340 + 0.2e2 * t2502 * t74 + 0.72e2 * t2505 * t347 + 0.3e2 * t2505 * t80; + const double t2533 = t387 * t2480; + const double t2538 = t1003 * t2480; + const double t2559 = 0.2e1 * t2480 * t48 * t64 + 0.2e1 * t2480 * t60 * t64 + 0.9e2 * t104 * t2490 + 0.11e3 * t110 * t2533 + 0.132e3 * t116 * t2538 + 0.128e3 * t2484 * t362 + 0.162e3 * t2487 * t369 + 0.72e2 * t2487 * t98 + 0.2e3 * t2490 * t376 + 0.8e1 * t2493 * t319 + 0.2e1 * t2493 * t56 + 0.18e2 * t2496 * t326 + 0.6e1 * t2496 * t62 + 0.32e2 * t2499 * t333 + 0.12e2 * t2499 * t68 + 0.242e3 * t2533 * t383; + const double t2560 = t2522 + t2559; + const double t2594 = 0.56e2 * t1168 * t2481 + 0.6e1 * t1181 * t2493 + 0.12e2 * t1189 * t2496 + 0.72e2 * t1240 * t2484 + 0.9e2 * t1248 * t2487 + 0.11e3 * t1255 * t2490 + 0.2e2 * t1264 * t2499 + 0.3e2 * t1271 * t2502 + 0.42e2 * t1278 * t2505 + 0.2e1 * t128 * t2493 + 0.9e2 * t152 * t2490 + 0.11e3 * t155 * t2533 + 0.132e3 * t158 * t2538 + 0.162e3 * t2487 * t441 + 0.2e3 * t2490 * t446 + 0.242e3 * t2533 * t451; + const double t2629 = 0.2e1 * t127 * t2480 * t64 + 0.2e1 * t130 * t2480 * t64 + 0.6e1 * t131 * t2496 + 0.12e2 * t134 * t2499 + 0.2e2 * t137 * t2502 + 0.3e2 * t140 * t2505 + 0.42e2 * t143 * t2481 + 0.56e2 * t146 * t2484 + 0.72e2 * t149 * t2487 + 0.98e2 * t2481 * t431 + 0.128e3 * t2484 * t436 + 0.8e1 * t2493 * t405 + 0.18e2 * t2496 * t410 + 0.32e2 * t2499 * t415 + 0.5e2 * t2502 * t420 + 0.72e2 * t2505 * t425; + const double t2630 = t2594 + t2629; + const double t2632 = t125 * t2630 + t2560 * t46; + const double t2636 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2632 ); + const double t2638 = 0.1e1 / t178 / t507; + const double t2639 = t230 * t2638; + const double t2642 = t235 * t2638; + const double t2645 = t240 * t2638; + const double t2648 = t245 * t2638; + const double t2651 = t205 * t2638; + const double t2654 = t210 * t2638; + const double t2657 = t215 * t2638; + const double t2660 = t220 * t2638; + const double t2663 = t225 * t2638; + const double t2672 = t590 * t2638; + const double t2677 = t1527 * t2638; + const double t2682 = 0.12e2 * t1461 * t2654 + 0.2e2 * t1472 * t2657 + 0.3e2 * t1536 * t2660 + 0.42e2 * t1545 * t2663 + 0.56e2 * t1554 * t2639 + 0.72e2 * t1564 * t2642 + 0.9e2 * t1573 * t2645 + 0.6e1 * t1586 * t2651 + 0.11e3 * t1593 * t2648 + 0.2e1 * t193 * t2651 + 0.9e2 * t233 * t2648 + 0.11e3 * t238 * t2672 + 0.132e3 * t243 * t2677 + 0.162e3 * t2645 * t572 + 0.2e3 * t2648 * t579 + 0.242e3 * t2672 * t586; + const double t2717 = 0.2e1 * t200 * t2638 * t48 + 0.2e1 * t200 * t2638 * t60 + 0.6e1 * t198 * t2654 + 0.12e2 * t203 * t2657 + 0.2e2 * t208 * t2660 + 0.3e2 * t213 * t2663 + 0.42e2 * t218 * t2639 + 0.56e2 * t223 * t2642 + 0.72e2 * t228 * t2645 + 0.98e2 * t2639 * t558 + 0.128e3 * t2642 * t565 + 0.8e1 * t2651 * t522 + 0.18e2 * t2654 * t529 + 0.32e2 * t2657 * t536 + 0.5e2 * t2660 * t543 + 0.72e2 * t2663 * t550; + const double t2718 = t2682 + t2717; + const double t2752 = 0.12e2 * t1622 * t2654 + 0.2e2 * t1629 * t2657 + 0.3e2 * t1636 * t2660 + 0.42e2 * t1644 * t2663 + 0.56e2 * t1651 * t2639 + 0.6e1 * t1662 * t2651 + 0.72e2 * t1716 * t2642 + 0.9e2 * t1723 * t2645 + 0.11e3 * t1730 * t2648 + 0.42e2 * t263 * t2639 + 0.98e2 * t2639 * t634 + 0.56e2 * t2642 * t265 + 0.128e3 * t2642 * t639 + 0.72e2 * t2645 * t267 + 0.162e3 * t2645 * t644 + 0.72e2 * t2663 * t628; + const double t2787 = 0.2e1 * t127 * t200 * t2638 + 0.2e1 * t130 * t200 * t2638 + 0.2e1 * t253 * t2651 + 0.6e1 * t255 * t2654 + 0.12e2 * t257 * t2657 + 0.2e2 * t259 * t2660 + 0.3e2 * t261 * t2663 + 0.9e2 * t2648 * t269 + 0.2e3 * t2648 * t649 + 0.8e1 * t2651 * t608 + 0.18e2 * t2654 * t613 + 0.32e2 * t2657 * t618 + 0.5e2 * t2660 * t623 + 0.11e3 * t2672 * t271 + 0.242e3 * t2672 * t654 + 0.132e3 * t2677 * t273; + const double t2788 = t2752 + t2787; + const double t2790 = t188 * t2718 + t252 * t2788; + const double t2794 = piecewise_functor_3( t167, 0.0, -0.3e1 / 0.8e1 * t6 * t176 * t2790 ); + + + vrho_a = t166 + t281 + t7 * ( t464 + t480 ); + vrho_b = t166 + t281 + t7 * ( t493 + t667 ); + vsigma_aa = t7 * t682; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t695; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t805; + vtau_b = t7 * t915; + v2rho2_aa = 0.2e1 * t464 + 0.2e1 * t480 + t7 * ( t1290 + t1317 ); + v2rho2_bb = 0.2e1 * t493 + 0.2e1 * t667 + t7 * ( t1390 + t1744 ); + v2rhosigma_a_aa = t1782 * t7 + t682; + v2rhosigma_b_bb = t1831 * t7 + t695; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2124 * t7 + t805; + v2rhotau_b_b = t2429 * t7 + t915; + v2sigma2_aa_aa = t7 * t2443; + v2sigma2_bb_bb = t7 * t2456; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2467; + v2sigmatau_bb_b = t7 * t2478; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2636; + v2tau2_bb = t7 * t2794; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM08_SO_X : detail::BuiltinKernelImpl< BuiltinM08_SO_X > { + + BuiltinM08_SO_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM08_SO_X >(p) { } + + virtual ~BuiltinM08_SO_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m11_c.hpp b/include/exchcxx/impl/builtin/kernels/m11_c.hpp new file mode 100644 index 0000000..2c72843 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m11_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM11_C > : + public mgga_screening_interface< BuiltinM11_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 1.0000000e+00; + static constexpr double m08_a_1 = 0.0000000e+00; + static constexpr double m08_a_2 = -3.8933250e+00; + static constexpr double m08_a_3 = -2.1688455e+00; + static constexpr double m08_a_4 = 9.3497200e+00; + static constexpr double m08_a_5 = -1.9845140e+01; + static constexpr double m08_a_6 = 2.3455253e+00; + static constexpr double m08_a_7 = 7.9246513e+01; + static constexpr double m08_a_8 = 9.6042757e+00; + static constexpr double m08_a_9 = -6.7856719e+01; + static constexpr double m08_a_10 = -9.1841067e+00; + static constexpr double m08_a_11 = 0.0000000e+00; + static constexpr double m08_b_0 = 7.2239798e-01; + static constexpr double m08_b_1 = 4.3730564e-01; + static constexpr double m08_b_2 = -1.6088809e+01; + static constexpr double m08_b_3 = -6.5542437e+01; + static constexpr double m08_b_4 = 3.2057230e+01; + static constexpr double m08_b_5 = 1.8617888e+02; + static constexpr double m08_b_6 = 2.0483468e+01; + static constexpr double m08_b_7 = -7.0853739e+01; + static constexpr double m08_b_8 = 4.4483915e+01; + static constexpr double m08_b_9 = -9.4484747e+01; + static constexpr double m08_b_10 = -1.1459868e+02; + static constexpr double m08_b_11 = 0.0000000e+00; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinM11_C : detail::BuiltinKernelImpl< BuiltinM11_C > { + + BuiltinM11_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM11_C >(p) { } + + virtual ~BuiltinM11_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/m11_x.hpp b/include/exchcxx/impl/builtin/kernels/m11_x.hpp new file mode 100644 index 0000000..97c6b1d --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/m11_x.hpp @@ -0,0 +1,4951 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinM11_X > : + public mgga_screening_interface< BuiltinM11_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-11; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318875e-15; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = -0.18399900e+00; + static constexpr double a_1 = -1.39046703e+01; + static constexpr double a_2 = 1.18206837e+01; + static constexpr double a_3 = 3.10098465e+01; + static constexpr double a_4 = -5.19625696e+01; + static constexpr double a_5 = 1.55750312e+01; + static constexpr double a_6 = -6.94775730e+00; + static constexpr double a_7 = -1.58465014e+02; + static constexpr double a_8 = -1.48447565e+00; + static constexpr double a_9 = 5.51042124e+01; + static constexpr double a_10 = -1.34714184e+01; + static constexpr double a_11 = 0.00000000e+00; + static constexpr double b_0 = 0.75599900e+00; + static constexpr double b_1 = 1.37137944e+01; + static constexpr double b_2 = -1.27998304e+01; + static constexpr double b_3 = -2.93428814e+01; + static constexpr double b_4 = 5.91075674e+01; + static constexpr double b_5 = -2.27604866e+01; + static constexpr double b_6 = -1.02769340e+01; + static constexpr double b_7 = 1.64752731e+02; + static constexpr double b_8 = 1.85349258e+01; + static constexpr double b_9 = -5.56825639e+01; + static constexpr double b_10 = 7.47980859e+00; + static constexpr double b_11 = 0.00000000e+00; + static constexpr double alpha = 1.0; + static constexpr double beta = -0.572; + static constexpr double omega = 0.25; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_one_ov_pi; + constexpr double t85 = constants::m_cbrt_6; + constexpr double t87 = constants::m_cbrt_pi_sq; + constexpr double t91 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t88 = t87 * t87; + constexpr double t89 = 0.1e1 / t88; + constexpr double t90 = t85 * t89; + constexpr double t92 = t91 * t91; + constexpr double t106 = a_1; + constexpr double t107 = t85 * t85; + constexpr double t109 = 0.3e1 / 0.1e2 * t107 * t88; + constexpr double t119 = a_2; + constexpr double t125 = a_3; + constexpr double t131 = a_4; + constexpr double t137 = a_5; + constexpr double t143 = a_6; + constexpr double t149 = a_7; + constexpr double t155 = a_8; + constexpr double t161 = a_9; + constexpr double t167 = a_10; + constexpr double t173 = a_11; + constexpr double t186 = b_1; + constexpr double t189 = b_2; + constexpr double t192 = b_3; + constexpr double t195 = b_4; + constexpr double t198 = b_5; + constexpr double t201 = b_6; + constexpr double t204 = b_7; + constexpr double t207 = b_8; + constexpr double t210 = b_9; + constexpr double t213 = b_10; + constexpr double t216 = b_11; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t13 = t12 <= zeta_tol; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t13, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t27 = t22 * t25 * omega; + const double t30 = piecewise_functor_3( t13, t14, t16 ); + const double t31 = 0.1e1 / t30; + const double t34 = t27 * t4 / t20 * t31 / 0.18e2; + const double t35 = 0.135e1 <= t34; + const double t36 = 0.135e1 < t34; + const double t37 = piecewise_functor_3( t36, t34, 1.35 ); + const double t38 = t37 * t37; + const double t41 = t38 * t38; + const double t42 = 0.1e1 / t41; + const double t44 = t41 * t38; + const double t45 = 0.1e1 / t44; + const double t47 = t41 * t41; + const double t48 = 0.1e1 / t47; + const double t51 = 0.1e1 / t47 / t38; + const double t54 = 0.1e1 / t47 / t41; + const double t57 = 0.1e1 / t47 / t44; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t63 = piecewise_functor_3( t36, 1.35, t34 ); + const double t64 = safe_math::sqrt( M_PI ); + const double t65 = 0.1e1 / t63; + const double t67 = safe_math::erf( t65 / 0.2e1 ); + const double t69 = t63 * t63; + const double t70 = 0.1e1 / t69; + const double t72 = safe_math::exp( -t70 / 0.4e1 ); + const double t73 = t72 - 0.1e1; + const double t76 = t72 - 0.3e1 / 0.2e1 - 0.2e1 * t69 * t73; + const double t79 = 0.2e1 * t63 * t76 + t64 * t67; + const double t83 = piecewise_functor_3( t35, 0.1e1 / t38 / 0.36e2 - t42 / 0.96e3 + t45 / 0.2688e5 - t48 / 0.82944e6 + t51 / 0.2838528e8 - t54 / 0.107347968e10 + t57 / 0.445906944e11 - t60 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t63 * t79 ); + const double t84 = t20 * t83; + const double t93 = sigma * t92; + const double t94 = rho * rho; + const double t95 = t20 * t20; + const double t97 = 0.1e1 / t95 / t94; + const double t99 = t90 * t93 * t97; + const double t101 = 0.804e0 + 0.914625e-2 * t99; + const double t104 = 0.1804e1 - 0.646416e0 / t101; + const double t110 = tau * t92; + const double t112 = 0.1e1 / t95 / rho; + const double t113 = t110 * t112; + const double t114 = t109 - t113; + const double t115 = t106 * t114; + const double t116 = t109 + t113; + const double t117 = 0.1e1 / t116; + const double t120 = t114 * t114; + const double t121 = t119 * t120; + const double t122 = t116 * t116; + const double t123 = 0.1e1 / t122; + const double t126 = t120 * t114; + const double t127 = t125 * t126; + const double t128 = t122 * t116; + const double t129 = 0.1e1 / t128; + const double t132 = t120 * t120; + const double t133 = t131 * t132; + const double t134 = t122 * t122; + const double t135 = 0.1e1 / t134; + const double t138 = t132 * t114; + const double t139 = t137 * t138; + const double t140 = t134 * t116; + const double t141 = 0.1e1 / t140; + const double t144 = t132 * t120; + const double t145 = t143 * t144; + const double t146 = t134 * t122; + const double t147 = 0.1e1 / t146; + const double t150 = t132 * t126; + const double t151 = t149 * t150; + const double t152 = t134 * t128; + const double t153 = 0.1e1 / t152; + const double t156 = t132 * t132; + const double t157 = t155 * t156; + const double t158 = t134 * t134; + const double t159 = 0.1e1 / t158; + const double t162 = t156 * t114; + const double t163 = t161 * t162; + const double t165 = 0.1e1 / t158 / t116; + const double t168 = t156 * t120; + const double t169 = t167 * t168; + const double t171 = 0.1e1 / t158 / t122; + const double t174 = t156 * t126; + const double t175 = t173 * t174; + const double t177 = 0.1e1 / t158 / t128; + const double t179 = t115 * t117 + t121 * t123 + t127 * t129 + t133 * t135 + t139 * t141 + t145 * t147 + t151 * t153 + t157 * t159 + t163 * t165 + t169 * t171 + t175 * t177 + a_0; + const double t182 = safe_math::exp( -0.93189002206715572255e-2 * t99 ); + const double t184 = 0.1552e1 - 0.552e0 * t182; + const double t187 = t186 * t114; + const double t190 = t189 * t120; + const double t193 = t192 * t126; + const double t196 = t195 * t132; + const double t199 = t198 * t138; + const double t202 = t201 * t144; + const double t205 = t204 * t150; + const double t208 = t207 * t156; + const double t211 = t210 * t162; + const double t214 = t213 * t168; + const double t217 = t216 * t174; + const double t219 = t187 * t117 + t190 * t123 + t193 * t129 + t196 * t135 + t199 * t141 + t202 * t147 + t205 * t153 + t208 * t159 + t211 * t165 + t214 * t171 + t217 * t177 + b_0; + const double t221 = t104 * t179 + t184 * t219; + const double t225 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t221 ); + + + eps = 0.2e1 * t225; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_one_ov_pi; + constexpr double t85 = constants::m_cbrt_6; + constexpr double t87 = constants::m_cbrt_pi_sq; + constexpr double t91 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t88 = t87 * t87; + constexpr double t89 = 0.1e1 / t88; + constexpr double t90 = t85 * t89; + constexpr double t92 = t91 * t91; + constexpr double t106 = a_1; + constexpr double t107 = t85 * t85; + constexpr double t109 = 0.3e1 / 0.1e2 * t107 * t88; + constexpr double t119 = a_2; + constexpr double t125 = a_3; + constexpr double t131 = a_4; + constexpr double t137 = a_5; + constexpr double t143 = a_6; + constexpr double t149 = a_7; + constexpr double t155 = a_8; + constexpr double t161 = a_9; + constexpr double t167 = a_10; + constexpr double t173 = a_11; + constexpr double t186 = b_1; + constexpr double t189 = b_2; + constexpr double t192 = b_3; + constexpr double t195 = b_4; + constexpr double t198 = b_5; + constexpr double t201 = b_6; + constexpr double t204 = b_7; + constexpr double t207 = b_8; + constexpr double t210 = b_9; + constexpr double t213 = b_10; + constexpr double t216 = b_11; + constexpr double t492 = t90 * t92; + constexpr double t503 = t106 * t92; + constexpr double t573 = t186 * t92; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t13 = t12 <= zeta_tol; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t13, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t27 = t22 * t25 * omega; + const double t30 = piecewise_functor_3( t13, t14, t16 ); + const double t31 = 0.1e1 / t30; + const double t34 = t27 * t4 / t20 * t31 / 0.18e2; + const double t35 = 0.135e1 <= t34; + const double t36 = 0.135e1 < t34; + const double t37 = piecewise_functor_3( t36, t34, 1.35 ); + const double t38 = t37 * t37; + const double t41 = t38 * t38; + const double t42 = 0.1e1 / t41; + const double t44 = t41 * t38; + const double t45 = 0.1e1 / t44; + const double t47 = t41 * t41; + const double t48 = 0.1e1 / t47; + const double t51 = 0.1e1 / t47 / t38; + const double t54 = 0.1e1 / t47 / t41; + const double t57 = 0.1e1 / t47 / t44; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t63 = piecewise_functor_3( t36, 1.35, t34 ); + const double t64 = safe_math::sqrt( M_PI ); + const double t65 = 0.1e1 / t63; + const double t67 = safe_math::erf( t65 / 0.2e1 ); + const double t69 = t63 * t63; + const double t70 = 0.1e1 / t69; + const double t72 = safe_math::exp( -t70 / 0.4e1 ); + const double t73 = t72 - 0.1e1; + const double t76 = t72 - 0.3e1 / 0.2e1 - 0.2e1 * t69 * t73; + const double t79 = 0.2e1 * t63 * t76 + t64 * t67; + const double t83 = piecewise_functor_3( t35, 0.1e1 / t38 / 0.36e2 - t42 / 0.96e3 + t45 / 0.2688e5 - t48 / 0.82944e6 + t51 / 0.2838528e8 - t54 / 0.107347968e10 + t57 / 0.445906944e11 - t60 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t63 * t79 ); + const double t84 = t20 * t83; + const double t93 = sigma * t92; + const double t94 = rho * rho; + const double t95 = t20 * t20; + const double t97 = 0.1e1 / t95 / t94; + const double t99 = t90 * t93 * t97; + const double t101 = 0.804e0 + 0.914625e-2 * t99; + const double t104 = 0.1804e1 - 0.646416e0 / t101; + const double t110 = tau * t92; + const double t112 = 0.1e1 / t95 / rho; + const double t113 = t110 * t112; + const double t114 = t109 - t113; + const double t115 = t106 * t114; + const double t116 = t109 + t113; + const double t117 = 0.1e1 / t116; + const double t120 = t114 * t114; + const double t121 = t119 * t120; + const double t122 = t116 * t116; + const double t123 = 0.1e1 / t122; + const double t126 = t120 * t114; + const double t127 = t125 * t126; + const double t128 = t122 * t116; + const double t129 = 0.1e1 / t128; + const double t132 = t120 * t120; + const double t133 = t131 * t132; + const double t134 = t122 * t122; + const double t135 = 0.1e1 / t134; + const double t138 = t132 * t114; + const double t139 = t137 * t138; + const double t140 = t134 * t116; + const double t141 = 0.1e1 / t140; + const double t144 = t132 * t120; + const double t145 = t143 * t144; + const double t146 = t134 * t122; + const double t147 = 0.1e1 / t146; + const double t150 = t132 * t126; + const double t151 = t149 * t150; + const double t152 = t134 * t128; + const double t153 = 0.1e1 / t152; + const double t156 = t132 * t132; + const double t157 = t155 * t156; + const double t158 = t134 * t134; + const double t159 = 0.1e1 / t158; + const double t162 = t156 * t114; + const double t163 = t161 * t162; + const double t165 = 0.1e1 / t158 / t116; + const double t168 = t156 * t120; + const double t169 = t167 * t168; + const double t171 = 0.1e1 / t158 / t122; + const double t174 = t156 * t126; + const double t175 = t173 * t174; + const double t177 = 0.1e1 / t158 / t128; + const double t179 = t115 * t117 + t121 * t123 + t127 * t129 + t133 * t135 + t139 * t141 + t145 * t147 + t151 * t153 + t157 * t159 + t163 * t165 + t169 * t171 + t175 * t177 + a_0; + const double t182 = safe_math::exp( -0.93189002206715572255e-2 * t99 ); + const double t184 = 0.1552e1 - 0.552e0 * t182; + const double t187 = t186 * t114; + const double t190 = t189 * t120; + const double t193 = t192 * t126; + const double t196 = t195 * t132; + const double t199 = t198 * t138; + const double t202 = t201 * t144; + const double t205 = t204 * t150; + const double t208 = t207 * t156; + const double t211 = t210 * t162; + const double t214 = t213 * t168; + const double t217 = t216 * t174; + const double t219 = t187 * t117 + t190 * t123 + t193 * t129 + t196 * t135 + t199 * t141 + t202 * t147 + t205 * t153 + t208 * t159 + t211 * t165 + t214 * t171 + t217 * t177 + b_0; + const double t221 = t104 * t179 + t184 * t219; + const double t225 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t221 ); + const double t226 = 0.1e1 / t95; + const double t227 = t226 * t83; + const double t231 = t38 * t37; + const double t232 = 0.1e1 / t231; + const double t238 = t27 * t4 / t20 / rho * t31 / 0.54e2; + const double t239 = piecewise_functor_3( t36, -t238, 0.0 ); + const double t242 = t41 * t37; + const double t243 = 0.1e1 / t242; + const double t246 = t41 * t231; + const double t247 = 0.1e1 / t246; + const double t251 = 0.1e1 / t47 / t37; + const double t255 = 0.1e1 / t47 / t231; + const double t259 = 0.1e1 / t47 / t242; + const double t263 = 0.1e1 / t47 / t246; + const double t267 = 0.1e1 / t59 / t37; + const double t271 = piecewise_functor_3( t36, 0.0, -t238 ); + const double t273 = t72 * t70; + const double t277 = t69 * t63; + const double t278 = 0.1e1 / t277; + const double t282 = t63 * t73; + const double t287 = t278 * t271 * t72 / 0.2e1 - 0.4e1 * t282 * t271 - t65 * t271 * t72; + const double t290 = -t273 * t271 + 0.2e1 * t271 * t76 + 0.2e1 * t63 * t287; + const double t294 = piecewise_functor_3( t35, -t232 * t239 / 0.18e2 + t243 * t239 / 0.24e3 - t247 * t239 / 0.448e4 + t251 * t239 / 0.10368e6 - t255 * t239 / 0.2838528e7 + t259 * t239 / 0.8945664e8 - t263 * t239 / 0.31850496e10 + t267 * t239 / 0.1263403008e12, -0.8e1 / 0.3e1 * t271 * t79 - 0.8e1 / 0.3e1 * t63 * t290 ); + const double t295 = t20 * t294; + const double t299 = t101 * t101; + const double t302 = 0.1e1 / t299 * t85 * t89; + const double t303 = t94 * rho; + const double t305 = 0.1e1 / t95 / t303; + const double t310 = t106 * tau; + const double t311 = t92 * t97; + const double t312 = t311 * t117; + const double t315 = t115 * t123; + const double t316 = t110 * t97; + const double t319 = t119 * t114; + const double t320 = t319 * t123; + const double t323 = t121 * t129; + const double t326 = t125 * t120; + const double t327 = t326 * t129; + const double t330 = t127 * t135; + const double t333 = t131 * t126; + const double t334 = t333 * t135; + const double t337 = t133 * t141; + const double t340 = t137 * t132; + const double t341 = t340 * t141; + const double t344 = t139 * t147; + const double t347 = t143 * t138; + const double t348 = t347 * t147; + const double t351 = 0.5e1 / 0.3e1 * t310 * t312 + 0.5e1 / 0.3e1 * t315 * t316 + 0.1e2 / 0.3e1 * t320 * t316 + 0.1e2 / 0.3e1 * t323 * t316 + 0.5e1 * t327 * t316 + 0.5e1 * t330 * t316 + 0.2e2 / 0.3e1 * t334 * t316 + 0.2e2 / 0.3e1 * t337 * t316 + 0.25e2 / 0.3e1 * t341 * t316 + 0.25e2 / 0.3e1 * t344 * t316 + 0.1e2 * t348 * t316; + const double t352 = t145 * t153; + const double t355 = t149 * t144; + const double t356 = t355 * t153; + const double t359 = t151 * t159; + const double t362 = t155 * t150; + const double t363 = t362 * t159; + const double t366 = t157 * t165; + const double t369 = t161 * t156; + const double t370 = t369 * t165; + const double t373 = t163 * t171; + const double t376 = t167 * t162; + const double t377 = t376 * t171; + const double t380 = t169 * t177; + const double t383 = t173 * t168; + const double t384 = t383 * t177; + const double t388 = 0.1e1 / t158 / t134; + const double t389 = t175 * t388; + const double t392 = 0.1e2 * t352 * t316 + 0.35e2 / 0.3e1 * t356 * t316 + 0.35e2 / 0.3e1 * t359 * t316 + 0.4e2 / 0.3e1 * t363 * t316 + 0.4e2 / 0.3e1 * t366 * t316 + 0.15e2 * t370 * t316 + 0.15e2 * t373 * t316 + 0.5e2 / 0.3e1 * t377 * t316 + 0.5e2 / 0.3e1 * t380 * t316 + 0.55e2 / 0.3e1 * t384 * t316 + 0.55e2 / 0.3e1 * t389 * t316; + const double t393 = t351 + t392; + const double t395 = t90 * sigma; + const double t396 = t92 * t305; + const double t397 = t182 * t219; + const double t401 = t186 * tau; + const double t404 = t187 * t123; + const double t407 = t189 * t114; + const double t408 = t407 * t123; + const double t411 = t190 * t129; + const double t414 = t192 * t120; + const double t415 = t414 * t129; + const double t418 = t193 * t135; + const double t421 = t195 * t126; + const double t422 = t421 * t135; + const double t425 = t196 * t141; + const double t428 = t198 * t132; + const double t429 = t428 * t141; + const double t432 = t199 * t147; + const double t435 = t201 * t138; + const double t436 = t435 * t147; + const double t439 = 0.5e1 / 0.3e1 * t401 * t312 + 0.5e1 / 0.3e1 * t404 * t316 + 0.1e2 / 0.3e1 * t408 * t316 + 0.1e2 / 0.3e1 * t411 * t316 + 0.5e1 * t415 * t316 + 0.5e1 * t418 * t316 + 0.2e2 / 0.3e1 * t422 * t316 + 0.2e2 / 0.3e1 * t425 * t316 + 0.25e2 / 0.3e1 * t429 * t316 + 0.25e2 / 0.3e1 * t432 * t316 + 0.1e2 * t436 * t316; + const double t440 = t202 * t153; + const double t443 = t204 * t144; + const double t444 = t443 * t153; + const double t447 = t205 * t159; + const double t450 = t207 * t150; + const double t451 = t450 * t159; + const double t454 = t208 * t165; + const double t457 = t210 * t156; + const double t458 = t457 * t165; + const double t461 = t211 * t171; + const double t464 = t213 * t162; + const double t465 = t464 * t171; + const double t468 = t214 * t177; + const double t471 = t216 * t168; + const double t472 = t471 * t177; + const double t475 = t217 * t388; + const double t478 = 0.1e2 * t440 * t316 + 0.35e2 / 0.3e1 * t444 * t316 + 0.35e2 / 0.3e1 * t447 * t316 + 0.4e2 / 0.3e1 * t451 * t316 + 0.4e2 / 0.3e1 * t454 * t316 + 0.15e2 * t458 * t316 + 0.15e2 * t461 * t316 + 0.5e2 / 0.3e1 * t465 * t316 + 0.5e2 / 0.3e1 * t468 * t316 + 0.55e2 / 0.3e1 * t472 * t316 + 0.55e2 / 0.3e1 * t475 * t316; + const double t479 = t439 + t478; + const double t481 = -0.1576608624e-1 * t302 * t93 * t305 * t179 + t104 * t393 - 0.13717421124828532236e-1 * t395 * t396 * t397 + t184 * t479; + const double t486 = piecewise_functor_3( t3, 0.0, -t19 * t227 * t221 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t295 * t221 - 0.3e1 / 0.8e1 * t19 * t84 * t481 ); + const double t493 = t97 * t182; + const double t497 = 0.591228234e-2 * t302 * t311 * t179 + 0.51440329218106995885e-2 * t492 * t493 * t219; + const double t501 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t497 ); + const double t504 = t112 * t117; + const double t506 = t123 * t92; + const double t507 = t506 * t112; + const double t511 = t129 * t92; + const double t512 = t511 * t112; + const double t517 = t135 * t92; + const double t518 = t517 * t112; + const double t523 = t141 * t92; + const double t524 = t523 * t112; + const double t529 = t147 * t92; + const double t530 = t529 * t112; + const double t535 = -t115 * t507 - 0.2e1 * t121 * t512 - 0.3e1 * t127 * t518 - 0.4e1 * t133 * t524 - 0.5e1 * t139 * t530 - 0.2e1 * t319 * t507 - 0.3e1 * t326 * t512 - 0.4e1 * t333 * t518 - 0.5e1 * t340 * t524 - 0.6e1 * t347 * t530 - t503 * t504; + const double t536 = t153 * t92; + const double t537 = t536 * t112; + const double t542 = t159 * t92; + const double t543 = t542 * t112; + const double t548 = t165 * t92; + const double t549 = t548 * t112; + const double t554 = t171 * t92; + const double t555 = t554 * t112; + const double t560 = t177 * t92; + const double t561 = t560 * t112; + const double t566 = t388 * t92; + const double t567 = t566 * t112; + const double t570 = -0.6e1 * t145 * t537 - 0.7e1 * t151 * t543 - 0.8e1 * t157 * t549 - 0.9e1 * t163 * t555 - 0.1e2 * t169 * t561 - 0.11e2 * t175 * t567 - 0.7e1 * t355 * t537 - 0.8e1 * t362 * t543 - 0.9e1 * t369 * t549 - 0.1e2 * t376 * t555 - 0.11e2 * t383 * t561; + const double t571 = t535 + t570; + const double t594 = -t187 * t507 - 0.2e1 * t190 * t512 - 0.3e1 * t193 * t518 - 0.4e1 * t196 * t524 - 0.5e1 * t199 * t530 - 0.2e1 * t407 * t507 - 0.3e1 * t414 * t512 - 0.4e1 * t421 * t518 - 0.5e1 * t428 * t524 - 0.6e1 * t435 * t530 - t573 * t504; + const double t617 = -0.6e1 * t202 * t537 - 0.7e1 * t205 * t543 - 0.8e1 * t208 * t549 - 0.9e1 * t211 * t555 - 0.1e2 * t214 * t561 - 0.11e2 * t217 * t567 - 0.7e1 * t443 * t537 - 0.8e1 * t450 * t543 - 0.9e1 * t457 * t549 - 0.1e2 * t464 * t555 - 0.11e2 * t471 * t561; + const double t618 = t594 + t617; + const double t620 = t104 * t571 + t184 * t618; + const double t624 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t620 ); + + + eps = 0.2e1 * t225; + vrho = 0.2e1 * rho * t486 + 0.2e1 * t225; + vsigma = 0.2e1 * rho * t501; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t624; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_one_ov_pi; + constexpr double t85 = constants::m_cbrt_6; + constexpr double t86 = constants::m_pi_sq; + constexpr double t87 = constants::m_cbrt_pi_sq; + constexpr double t91 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t88 = t87 * t87; + constexpr double t89 = 0.1e1 / t88; + constexpr double t90 = t85 * t89; + constexpr double t92 = t91 * t91; + constexpr double t106 = a_1; + constexpr double t107 = t85 * t85; + constexpr double t109 = 0.3e1 / 0.1e2 * t107 * t88; + constexpr double t119 = a_2; + constexpr double t125 = a_3; + constexpr double t131 = a_4; + constexpr double t137 = a_5; + constexpr double t143 = a_6; + constexpr double t149 = a_7; + constexpr double t155 = a_8; + constexpr double t161 = a_9; + constexpr double t167 = a_10; + constexpr double t173 = a_11; + constexpr double t186 = b_1; + constexpr double t189 = b_2; + constexpr double t192 = b_3; + constexpr double t195 = b_4; + constexpr double t198 = b_5; + constexpr double t201 = b_6; + constexpr double t204 = b_7; + constexpr double t207 = b_8; + constexpr double t210 = b_9; + constexpr double t213 = b_10; + constexpr double t216 = b_11; + constexpr double t492 = t90 * t92; + constexpr double t503 = t106 * t92; + constexpr double t573 = t186 * t92; + constexpr double t740 = 0.1e1 / t87 / t86; + constexpr double t935 = t107 * t740; + constexpr double t1134 = t935 * t91; + constexpr double t1160 = t106 * t91; + constexpr double t1303 = t186 * t91; + constexpr double t1457 = t119 * t91; + constexpr double t1548 = t189 * t91; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t13 = t12 <= zeta_tol; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t13, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t27 = t22 * t25 * omega; + const double t30 = piecewise_functor_3( t13, t14, t16 ); + const double t31 = 0.1e1 / t30; + const double t34 = t27 * t4 / t20 * t31 / 0.18e2; + const double t35 = 0.135e1 <= t34; + const double t36 = 0.135e1 < t34; + const double t37 = piecewise_functor_3( t36, t34, 1.35 ); + const double t38 = t37 * t37; + const double t41 = t38 * t38; + const double t42 = 0.1e1 / t41; + const double t44 = t41 * t38; + const double t45 = 0.1e1 / t44; + const double t47 = t41 * t41; + const double t48 = 0.1e1 / t47; + const double t51 = 0.1e1 / t47 / t38; + const double t54 = 0.1e1 / t47 / t41; + const double t57 = 0.1e1 / t47 / t44; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t63 = piecewise_functor_3( t36, 1.35, t34 ); + const double t64 = safe_math::sqrt( M_PI ); + const double t65 = 0.1e1 / t63; + const double t67 = safe_math::erf( t65 / 0.2e1 ); + const double t69 = t63 * t63; + const double t70 = 0.1e1 / t69; + const double t72 = safe_math::exp( -t70 / 0.4e1 ); + const double t73 = t72 - 0.1e1; + const double t76 = t72 - 0.3e1 / 0.2e1 - 0.2e1 * t69 * t73; + const double t79 = 0.2e1 * t63 * t76 + t64 * t67; + const double t83 = piecewise_functor_3( t35, 0.1e1 / t38 / 0.36e2 - t42 / 0.96e3 + t45 / 0.2688e5 - t48 / 0.82944e6 + t51 / 0.2838528e8 - t54 / 0.107347968e10 + t57 / 0.445906944e11 - t60 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t63 * t79 ); + const double t84 = t20 * t83; + const double t93 = sigma * t92; + const double t94 = rho * rho; + const double t95 = t20 * t20; + const double t97 = 0.1e1 / t95 / t94; + const double t99 = t90 * t93 * t97; + const double t101 = 0.804e0 + 0.914625e-2 * t99; + const double t104 = 0.1804e1 - 0.646416e0 / t101; + const double t110 = tau * t92; + const double t112 = 0.1e1 / t95 / rho; + const double t113 = t110 * t112; + const double t114 = t109 - t113; + const double t115 = t106 * t114; + const double t116 = t109 + t113; + const double t117 = 0.1e1 / t116; + const double t120 = t114 * t114; + const double t121 = t119 * t120; + const double t122 = t116 * t116; + const double t123 = 0.1e1 / t122; + const double t126 = t120 * t114; + const double t127 = t125 * t126; + const double t128 = t122 * t116; + const double t129 = 0.1e1 / t128; + const double t132 = t120 * t120; + const double t133 = t131 * t132; + const double t134 = t122 * t122; + const double t135 = 0.1e1 / t134; + const double t138 = t132 * t114; + const double t139 = t137 * t138; + const double t140 = t134 * t116; + const double t141 = 0.1e1 / t140; + const double t144 = t132 * t120; + const double t145 = t143 * t144; + const double t146 = t134 * t122; + const double t147 = 0.1e1 / t146; + const double t150 = t132 * t126; + const double t151 = t149 * t150; + const double t152 = t134 * t128; + const double t153 = 0.1e1 / t152; + const double t156 = t132 * t132; + const double t157 = t155 * t156; + const double t158 = t134 * t134; + const double t159 = 0.1e1 / t158; + const double t162 = t156 * t114; + const double t163 = t161 * t162; + const double t165 = 0.1e1 / t158 / t116; + const double t168 = t156 * t120; + const double t169 = t167 * t168; + const double t171 = 0.1e1 / t158 / t122; + const double t174 = t156 * t126; + const double t175 = t173 * t174; + const double t177 = 0.1e1 / t158 / t128; + const double t179 = t115 * t117 + t121 * t123 + t127 * t129 + t133 * t135 + t139 * t141 + t145 * t147 + t151 * t153 + t157 * t159 + t163 * t165 + t169 * t171 + t175 * t177 + a_0; + const double t182 = safe_math::exp( -0.93189002206715572255e-2 * t99 ); + const double t184 = 0.1552e1 - 0.552e0 * t182; + const double t187 = t186 * t114; + const double t190 = t189 * t120; + const double t193 = t192 * t126; + const double t196 = t195 * t132; + const double t199 = t198 * t138; + const double t202 = t201 * t144; + const double t205 = t204 * t150; + const double t208 = t207 * t156; + const double t211 = t210 * t162; + const double t214 = t213 * t168; + const double t217 = t216 * t174; + const double t219 = t187 * t117 + t190 * t123 + t193 * t129 + t196 * t135 + t199 * t141 + t202 * t147 + t205 * t153 + t208 * t159 + t211 * t165 + t214 * t171 + t217 * t177 + b_0; + const double t221 = t104 * t179 + t184 * t219; + const double t226 = 0.1e1 / t95; + const double t227 = t226 * t83; + const double t231 = t38 * t37; + const double t232 = 0.1e1 / t231; + const double t238 = t27 * t4 / t20 / rho * t31 / 0.54e2; + const double t239 = piecewise_functor_3( t36, -t238, 0.0 ); + const double t242 = t41 * t37; + const double t243 = 0.1e1 / t242; + const double t246 = t41 * t231; + const double t247 = 0.1e1 / t246; + const double t251 = 0.1e1 / t47 / t37; + const double t255 = 0.1e1 / t47 / t231; + const double t259 = 0.1e1 / t47 / t242; + const double t263 = 0.1e1 / t47 / t246; + const double t267 = 0.1e1 / t59 / t37; + const double t271 = piecewise_functor_3( t36, 0.0, -t238 ); + const double t273 = t72 * t70; + const double t277 = t69 * t63; + const double t278 = 0.1e1 / t277; + const double t282 = t63 * t73; + const double t287 = t278 * t271 * t72 / 0.2e1 - 0.4e1 * t282 * t271 - t65 * t271 * t72; + const double t290 = -t273 * t271 + 0.2e1 * t271 * t76 + 0.2e1 * t63 * t287; + const double t294 = piecewise_functor_3( t35, -t232 * t239 / 0.18e2 + t243 * t239 / 0.24e3 - t247 * t239 / 0.448e4 + t251 * t239 / 0.10368e6 - t255 * t239 / 0.2838528e7 + t259 * t239 / 0.8945664e8 - t263 * t239 / 0.31850496e10 + t267 * t239 / 0.1263403008e12, -0.8e1 / 0.3e1 * t271 * t79 - 0.8e1 / 0.3e1 * t63 * t290 ); + const double t295 = t20 * t294; + const double t299 = t101 * t101; + const double t302 = 0.1e1 / t299 * t85 * t89; + const double t303 = t94 * rho; + const double t305 = 0.1e1 / t95 / t303; + const double t310 = t106 * tau; + const double t311 = t92 * t97; + const double t312 = t311 * t117; + const double t315 = t115 * t123; + const double t316 = t110 * t97; + const double t319 = t119 * t114; + const double t320 = t319 * t123; + const double t323 = t121 * t129; + const double t326 = t125 * t120; + const double t327 = t326 * t129; + const double t330 = t127 * t135; + const double t333 = t131 * t126; + const double t334 = t333 * t135; + const double t337 = t133 * t141; + const double t340 = t137 * t132; + const double t341 = t340 * t141; + const double t344 = t139 * t147; + const double t347 = t143 * t138; + const double t348 = t347 * t147; + const double t351 = 0.5e1 / 0.3e1 * t310 * t312 + 0.5e1 / 0.3e1 * t315 * t316 + 0.1e2 / 0.3e1 * t320 * t316 + 0.1e2 / 0.3e1 * t323 * t316 + 0.5e1 * t327 * t316 + 0.5e1 * t330 * t316 + 0.2e2 / 0.3e1 * t334 * t316 + 0.2e2 / 0.3e1 * t337 * t316 + 0.25e2 / 0.3e1 * t341 * t316 + 0.25e2 / 0.3e1 * t344 * t316 + 0.1e2 * t348 * t316; + const double t352 = t145 * t153; + const double t355 = t149 * t144; + const double t356 = t355 * t153; + const double t359 = t151 * t159; + const double t362 = t155 * t150; + const double t363 = t362 * t159; + const double t366 = t157 * t165; + const double t369 = t161 * t156; + const double t370 = t369 * t165; + const double t373 = t163 * t171; + const double t376 = t167 * t162; + const double t377 = t376 * t171; + const double t380 = t169 * t177; + const double t383 = t173 * t168; + const double t384 = t383 * t177; + const double t388 = 0.1e1 / t158 / t134; + const double t389 = t175 * t388; + const double t392 = 0.1e2 * t352 * t316 + 0.35e2 / 0.3e1 * t356 * t316 + 0.35e2 / 0.3e1 * t359 * t316 + 0.4e2 / 0.3e1 * t363 * t316 + 0.4e2 / 0.3e1 * t366 * t316 + 0.15e2 * t370 * t316 + 0.15e2 * t373 * t316 + 0.5e2 / 0.3e1 * t377 * t316 + 0.5e2 / 0.3e1 * t380 * t316 + 0.55e2 / 0.3e1 * t384 * t316 + 0.55e2 / 0.3e1 * t389 * t316; + const double t393 = t351 + t392; + const double t395 = t90 * sigma; + const double t396 = t92 * t305; + const double t397 = t182 * t219; + const double t401 = t186 * tau; + const double t404 = t187 * t123; + const double t407 = t189 * t114; + const double t408 = t407 * t123; + const double t411 = t190 * t129; + const double t414 = t192 * t120; + const double t415 = t414 * t129; + const double t418 = t193 * t135; + const double t421 = t195 * t126; + const double t422 = t421 * t135; + const double t425 = t196 * t141; + const double t428 = t198 * t132; + const double t429 = t428 * t141; + const double t432 = t199 * t147; + const double t435 = t201 * t138; + const double t436 = t435 * t147; + const double t439 = 0.5e1 / 0.3e1 * t401 * t312 + 0.5e1 / 0.3e1 * t404 * t316 + 0.1e2 / 0.3e1 * t408 * t316 + 0.1e2 / 0.3e1 * t411 * t316 + 0.5e1 * t415 * t316 + 0.5e1 * t418 * t316 + 0.2e2 / 0.3e1 * t422 * t316 + 0.2e2 / 0.3e1 * t425 * t316 + 0.25e2 / 0.3e1 * t429 * t316 + 0.25e2 / 0.3e1 * t432 * t316 + 0.1e2 * t436 * t316; + const double t440 = t202 * t153; + const double t443 = t204 * t144; + const double t444 = t443 * t153; + const double t447 = t205 * t159; + const double t450 = t207 * t150; + const double t451 = t450 * t159; + const double t454 = t208 * t165; + const double t457 = t210 * t156; + const double t458 = t457 * t165; + const double t461 = t211 * t171; + const double t464 = t213 * t162; + const double t465 = t464 * t171; + const double t468 = t214 * t177; + const double t471 = t216 * t168; + const double t472 = t471 * t177; + const double t475 = t217 * t388; + const double t478 = 0.1e2 * t440 * t316 + 0.35e2 / 0.3e1 * t444 * t316 + 0.35e2 / 0.3e1 * t447 * t316 + 0.4e2 / 0.3e1 * t451 * t316 + 0.4e2 / 0.3e1 * t454 * t316 + 0.15e2 * t458 * t316 + 0.15e2 * t461 * t316 + 0.5e2 / 0.3e1 * t465 * t316 + 0.5e2 / 0.3e1 * t468 * t316 + 0.55e2 / 0.3e1 * t472 * t316 + 0.55e2 / 0.3e1 * t475 * t316; + const double t479 = t439 + t478; + const double t481 = -0.1576608624e-1 * t302 * t93 * t305 * t179 + t104 * t393 - 0.13717421124828532236e-1 * t395 * t396 * t397 + t184 * t479; + const double t486 = piecewise_functor_3( t3, 0.0, -t19 * t227 * t221 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t295 * t221 - 0.3e1 / 0.8e1 * t19 * t84 * t481 ); + const double t493 = t97 * t182; + const double t497 = 0.591228234e-2 * t302 * t311 * t179 + 0.51440329218106995885e-2 * t492 * t493 * t219; + const double t501 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t497 ); + const double t504 = t112 * t117; + const double t506 = t123 * t92; + const double t507 = t506 * t112; + const double t511 = t129 * t92; + const double t512 = t511 * t112; + const double t517 = t135 * t92; + const double t518 = t517 * t112; + const double t523 = t141 * t92; + const double t524 = t523 * t112; + const double t529 = t147 * t92; + const double t530 = t529 * t112; + const double t535 = -t115 * t507 - 0.2e1 * t121 * t512 - 0.3e1 * t127 * t518 - 0.4e1 * t133 * t524 - 0.5e1 * t139 * t530 - 0.2e1 * t319 * t507 - 0.3e1 * t326 * t512 - 0.4e1 * t333 * t518 - 0.5e1 * t340 * t524 - 0.6e1 * t347 * t530 - t503 * t504; + const double t536 = t153 * t92; + const double t537 = t536 * t112; + const double t542 = t159 * t92; + const double t543 = t542 * t112; + const double t548 = t165 * t92; + const double t549 = t548 * t112; + const double t554 = t171 * t92; + const double t555 = t554 * t112; + const double t560 = t177 * t92; + const double t561 = t560 * t112; + const double t566 = t388 * t92; + const double t567 = t566 * t112; + const double t570 = -0.6e1 * t145 * t537 - 0.7e1 * t151 * t543 - 0.8e1 * t157 * t549 - 0.9e1 * t163 * t555 - 0.1e2 * t169 * t561 - 0.11e2 * t175 * t567 - 0.7e1 * t355 * t537 - 0.8e1 * t362 * t543 - 0.9e1 * t369 * t549 - 0.1e2 * t376 * t555 - 0.11e2 * t383 * t561; + const double t571 = t535 + t570; + const double t594 = -t187 * t507 - 0.2e1 * t190 * t512 - 0.3e1 * t193 * t518 - 0.4e1 * t196 * t524 - 0.5e1 * t199 * t530 - 0.2e1 * t407 * t507 - 0.3e1 * t414 * t512 - 0.4e1 * t421 * t518 - 0.5e1 * t428 * t524 - 0.6e1 * t435 * t530 - t573 * t504; + const double t617 = -0.6e1 * t202 * t537 - 0.7e1 * t205 * t543 - 0.8e1 * t208 * t549 - 0.9e1 * t211 * t555 - 0.1e2 * t214 * t561 - 0.11e2 * t217 * t567 - 0.7e1 * t443 * t537 - 0.8e1 * t450 * t543 - 0.9e1 * t457 * t549 - 0.1e2 * t464 * t555 - 0.11e2 * t471 * t561; + const double t618 = t594 + t617; + const double t620 = t104 * t571 + t184 * t618; + const double t624 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t620 ); + const double t627 = t112 * t83; + const double t631 = t226 * t294; + const double t638 = t239 * t239; + const double t646 = 0.2e1 / 0.81e2 * t27 * t4 / t20 / t94 * t31; + const double t647 = piecewise_functor_3( t36, t646, 0.0 ); + const double t675 = 0.1e1 / t59 / t38; + const double t680 = t42 * t638 / 0.6e1 - t232 * t647 / 0.18e2 - t45 * t638 / 0.48e2 + t243 * t647 / 0.24e3 + t48 * t638 / 0.64e3 - t247 * t647 / 0.448e4 - t51 * t638 / 0.1152e5 + t251 * t647 / 0.10368e6 + t54 * t638 / 0.258048e6 - t255 * t647 / 0.2838528e7 - t57 * t638 / 0.688128e7 + t259 * t647 / 0.8945664e8 + t60 * t638 / 0.21233664e9 - t263 * t647 / 0.31850496e10 - t675 * t638 / 0.74317824e10 + t267 * t647 / 0.1263403008e12; + const double t681 = piecewise_functor_3( t36, 0.0, t646 ); + const double t686 = t69 * t69; + const double t688 = 0.1e1 / t686 / t63; + const double t689 = t271 * t271; + const double t690 = t688 * t689; + const double t693 = t72 * t278; + const double t701 = 0.1e1 / t686; + const double t709 = 0.1e1 / t686 / t69; + const double t710 = t709 * t689; + const double t721 = -0.2e1 * t701 * t689 * t72 + t278 * t681 * t72 / 0.2e1 + t710 * t72 / 0.4e1 - 0.4e1 * t689 * t73 - t70 * t689 * t72 - 0.4e1 * t282 * t681 - t65 * t681 * t72; + const double t724 = -t690 * t72 / 0.2e1 + 0.2e1 * t693 * t689 - t273 * t681 + 0.2e1 * t681 * t76 + 0.4e1 * t271 * t287 + 0.2e1 * t63 * t721; + const double t728 = piecewise_functor_3( t35, t680, -0.8e1 / 0.3e1 * t681 * t79 - 0.16e2 / 0.3e1 * t271 * t290 - 0.8e1 / 0.3e1 * t63 * t724 ); + const double t729 = t20 * t728; + const double t741 = 0.1e1 / t299 / t101 * t107 * t740; + const double t742 = sigma * sigma; + const double t743 = t742 * t91; + const double t744 = t94 * t94; + const double t745 = t744 * t303; + const double t747 = 0.1e1 / t20 / t745; + const double t753 = 0.1e1 / t95 / t744; + const double t762 = t110 * t305; + const double t765 = t115 * t129; + const double t766 = tau * tau; + const double t767 = t766 * t91; + const double t768 = t744 * rho; + const double t770 = 0.1e1 / t20 / t768; + const double t771 = t767 * t770; + const double t774 = t319 * t129; + const double t777 = t121 * t135; + const double t780 = t125 * t114; + const double t781 = t780 * t129; + const double t784 = t326 * t135; + const double t787 = t106 * t766; + const double t788 = t91 * t770; + const double t789 = t788 * t123; + const double t792 = t119 * t766; + const double t795 = t396 * t117; + const double t801 = 0.1e1 / t158 / t140; + const double t802 = t175 * t801; + const double t805 = t151 * t165; + const double t808 = t155 * t144; + const double t809 = t808 * t159; + const double t812 = -0.8e2 / 0.9e1 * t323 * t762 + 0.1e3 / 0.9e1 * t765 * t771 + 0.4e3 / 0.9e1 * t774 * t771 + 0.1e3 / 0.3e1 * t777 * t771 + 0.1e3 / 0.3e1 * t781 * t771 + 0.1e3 * t784 * t771 + 0.1e3 / 0.9e1 * t787 * t789 + 0.1e3 / 0.9e1 * t792 * t789 - 0.4e2 / 0.9e1 * t310 * t795 - 0.44e3 / 0.9e1 * t389 * t762 + 0.22e4 / 0.3e1 * t802 * t771 + 0.28e4 / 0.9e1 * t805 * t771 + 0.28e4 / 0.9e1 * t809 * t771; + const double t813 = t362 * t165; + const double t816 = t157 * t171; + const double t819 = t161 * t150; + const double t820 = t819 * t165; + const double t823 = t369 * t171; + const double t826 = t163 * t177; + const double t829 = t167 * t156; + const double t830 = t829 * t171; + const double t833 = t376 * t177; + const double t836 = t169 * t388; + const double t839 = t173 * t162; + const double t840 = t839 * t177; + const double t843 = t383 * t388; + const double t846 = t127 * t141; + const double t849 = t131 * t120; + const double t850 = t849 * t135; + const double t853 = t333 * t141; + const double t856 = t133 * t147; + const double t859 = 0.64e4 / 0.9e1 * t813 * t771 + 0.4e3 * t816 * t771 + 0.4e3 * t820 * t771 + 0.9e3 * t823 * t771 + 0.5e3 * t826 * t771 + 0.5e3 * t830 * t771 + 0.1e5 / 0.9e1 * t833 * t771 + 0.55e4 / 0.9e1 * t836 * t771 + 0.55e4 / 0.9e1 * t840 * t771 + 0.121e5 / 0.9e1 * t843 * t771 + 0.2e3 / 0.3e1 * t846 * t771 + 0.2e3 / 0.3e1 * t850 * t771 + 0.16e4 / 0.9e1 * t853 * t771 + 0.1e4 / 0.9e1 * t856 * t771; + const double t861 = t137 * t126; + const double t862 = t861 * t141; + const double t865 = t340 * t147; + const double t868 = t139 * t153; + const double t871 = t143 * t132; + const double t872 = t871 * t147; + const double t875 = t347 * t153; + const double t878 = t145 * t159; + const double t881 = t149 * t138; + const double t882 = t881 * t153; + const double t885 = t355 * t159; + const double t898 = 0.1e4 / 0.9e1 * t862 * t771 + 0.25e4 / 0.9e1 * t865 * t771 + 0.5e3 / 0.3e1 * t868 * t771 + 0.5e3 / 0.3e1 * t872 * t771 + 0.4e3 * t875 * t771 + 0.7e3 / 0.3e1 * t878 * t771 + 0.7e3 / 0.3e1 * t882 * t771 + 0.49e4 / 0.9e1 * t885 * t771 - 0.28e3 / 0.9e1 * t356 * t762 - 0.28e3 / 0.9e1 * t359 * t762 - 0.32e3 / 0.9e1 * t363 * t762 - 0.32e3 / 0.9e1 * t366 * t762 - 0.4e2 * t370 * t762; + const double t927 = -0.4e2 * t373 * t762 - 0.4e3 / 0.9e1 * t377 * t762 - 0.4e3 / 0.9e1 * t380 * t762 - 0.44e3 / 0.9e1 * t384 * t762 - 0.4e2 / 0.3e1 * t327 * t762 - 0.4e2 / 0.3e1 * t330 * t762 - 0.16e3 / 0.9e1 * t334 * t762 - 0.16e3 / 0.9e1 * t337 * t762 - 0.2e3 / 0.9e1 * t341 * t762 - 0.2e3 / 0.9e1 * t344 * t762 - 0.8e2 / 0.3e1 * t348 * t762 - 0.8e2 / 0.3e1 * t352 * t762 - 0.4e2 / 0.9e1 * t315 * t762 - 0.8e2 / 0.9e1 * t320 * t762; + const double t929 = t812 + t859 + t898 + t927; + const double t931 = t92 * t753; + const double t936 = t935 * t742; + const double t937 = t91 * t747; + const double t941 = t182 * t479; + const double t967 = t186 * t766; + const double t970 = t189 * t766; + const double t973 = -0.4e2 * t461 * t762 - 0.4e3 / 0.9e1 * t465 * t762 - 0.4e3 / 0.9e1 * t468 * t762 - 0.44e3 / 0.9e1 * t472 * t762 - 0.44e3 / 0.9e1 * t475 * t762 - 0.2e3 / 0.9e1 * t432 * t762 - 0.8e2 / 0.3e1 * t436 * t762 - 0.8e2 / 0.3e1 * t440 * t762 - 0.28e3 / 0.9e1 * t444 * t762 - 0.28e3 / 0.9e1 * t447 * t762 - 0.4e2 / 0.9e1 * t401 * t795 + 0.1e3 / 0.9e1 * t967 * t789 + 0.1e3 / 0.9e1 * t970 * t789; + const double t996 = t213 * t156; + const double t997 = t996 * t171; + const double t1000 = t464 * t177; + const double t1003 = t214 * t388; + const double t1006 = -0.32e3 / 0.9e1 * t451 * t762 - 0.32e3 / 0.9e1 * t454 * t762 - 0.4e2 * t458 * t762 - 0.4e2 / 0.9e1 * t404 * t762 - 0.8e2 / 0.9e1 * t408 * t762 - 0.8e2 / 0.9e1 * t411 * t762 - 0.4e2 / 0.3e1 * t415 * t762 - 0.4e2 / 0.3e1 * t418 * t762 - 0.16e3 / 0.9e1 * t422 * t762 - 0.16e3 / 0.9e1 * t425 * t762 - 0.2e3 / 0.9e1 * t429 * t762 + 0.5e3 * t997 * t771 + 0.1e5 / 0.9e1 * t1000 * t771 + 0.55e4 / 0.9e1 * t1003 * t771; + const double t1008 = t216 * t162; + const double t1009 = t1008 * t177; + const double t1012 = t471 * t388; + const double t1015 = t217 * t801; + const double t1018 = t201 * t132; + const double t1019 = t1018 * t147; + const double t1022 = t435 * t153; + const double t1025 = t202 * t159; + const double t1028 = t204 * t138; + const double t1029 = t1028 * t153; + const double t1032 = t443 * t159; + const double t1035 = t205 * t165; + const double t1038 = t207 * t144; + const double t1039 = t1038 * t159; + const double t1042 = t450 * t165; + const double t1045 = t208 * t171; + const double t1048 = t210 * t150; + const double t1049 = t1048 * t165; + const double t1052 = 0.55e4 / 0.9e1 * t1009 * t771 + 0.121e5 / 0.9e1 * t1012 * t771 + 0.22e4 / 0.3e1 * t1015 * t771 + 0.5e3 / 0.3e1 * t1019 * t771 + 0.4e3 * t1022 * t771 + 0.7e3 / 0.3e1 * t1025 * t771 + 0.7e3 / 0.3e1 * t1029 * t771 + 0.49e4 / 0.9e1 * t1032 * t771 + 0.28e4 / 0.9e1 * t1035 * t771 + 0.28e4 / 0.9e1 * t1039 * t771 + 0.64e4 / 0.9e1 * t1042 * t771 + 0.4e3 * t1045 * t771 + 0.4e3 * t1049 * t771; + const double t1053 = t457 * t171; + const double t1056 = t211 * t177; + const double t1059 = t407 * t129; + const double t1062 = t190 * t135; + const double t1065 = t192 * t114; + const double t1066 = t1065 * t129; + const double t1069 = t414 * t135; + const double t1072 = t193 * t141; + const double t1075 = t195 * t120; + const double t1076 = t1075 * t135; + const double t1079 = t421 * t141; + const double t1082 = t196 * t147; + const double t1085 = t198 * t126; + const double t1086 = t1085 * t141; + const double t1089 = t428 * t147; + const double t1092 = t199 * t153; + const double t1095 = t187 * t129; + const double t1098 = 0.9e3 * t1053 * t771 + 0.5e3 * t1056 * t771 + 0.4e3 / 0.9e1 * t1059 * t771 + 0.1e3 / 0.3e1 * t1062 * t771 + 0.1e3 / 0.3e1 * t1066 * t771 + 0.1e3 * t1069 * t771 + 0.2e3 / 0.3e1 * t1072 * t771 + 0.2e3 / 0.3e1 * t1076 * t771 + 0.16e4 / 0.9e1 * t1079 * t771 + 0.1e4 / 0.9e1 * t1082 * t771 + 0.1e4 / 0.9e1 * t1086 * t771 + 0.25e4 / 0.9e1 * t1089 * t771 + 0.5e3 / 0.3e1 * t1092 * t771 + 0.1e3 / 0.9e1 * t1095 * t771; + const double t1100 = t973 + t1006 + t1052 + t1098; + const double t1102 = -0.15381393735744e-2 * t741 * t743 * t747 * t179 + 0.5780898288e-1 * t302 * t93 * t753 * t179 - 0.3153217248e-1 * t302 * t93 * t305 * t393 + t104 * t929 + 0.50297210791037951532e-1 * t395 * t931 * t397 - 0.68176681998511621221e-3 * t936 * t937 * t397 - 0.27434842249657064472e-1 * t395 * t396 * t941 + t184 * t1100; + const double t1107 = piecewise_functor_3( t3, 0.0, t19 * t627 * t221 / 0.12e2 - t19 * t631 * t221 / 0.4e1 - t19 * t227 * t481 / 0.4e1 - 0.3e1 / 0.8e1 * t19 * t729 * t221 - 0.3e1 / 0.4e1 * t19 * t295 * t481 - 0.3e1 / 0.8e1 * t19 * t84 * t1102 ); + const double t1116 = t744 * t94; + const double t1118 = 0.1e1 / t20 / t1116; + const double t1119 = t91 * t1118; + const double t1120 = t179 * sigma; + const double t1130 = t305 * t182; + const double t1135 = t1118 * sigma; + const double t1142 = 0.5768022650904e-3 * t741 * t1119 * t1120 - 0.1576608624e-1 * t302 * t396 * t179 + 0.591228234e-2 * t302 * t311 * t393 - 0.13717421124828532236e-1 * t492 * t1130 * t219 + 0.25566255749441857958e-3 * t1134 * t1135 * t397 + 0.51440329218106995885e-2 * t492 * t493 * t479; + const double t1147 = piecewise_functor_3( t3, 0.0, -t19 * t227 * t497 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t295 * t497 - 0.3e1 / 0.8e1 * t19 * t84 * t1142 ); + const double t1162 = 0.1e1 / t20 / t744; + const double t1163 = t1162 * t123; + const double t1164 = t1163 * tau; + const double t1167 = t506 * t97; + const double t1172 = t511 * t97; + const double t1175 = t554 * t97; + const double t1180 = t560 * t97; + const double t1185 = t566 * t97; + const double t1188 = t536 * t97; + const double t1193 = t542 * t97; + const double t1198 = -0.2e2 / 0.3e1 * t1160 * t1164 + 0.5e1 / 0.3e1 * t115 * t1167 + 0.1e2 / 0.3e1 * t319 * t1167 + 0.1e2 / 0.3e1 * t121 * t1172 + 0.15e2 * t163 * t1175 + 0.5e2 / 0.3e1 * t376 * t1175 + 0.5e2 / 0.3e1 * t169 * t1180 + 0.55e2 / 0.3e1 * t383 * t1180 + 0.55e2 / 0.3e1 * t175 * t1185 + 0.1e2 * t145 * t1188 + 0.35e2 / 0.3e1 * t355 * t1188 + 0.35e2 / 0.3e1 * t151 * t1193 + 0.4e2 / 0.3e1 * t362 * t1193; + const double t1199 = t548 * t97; + const double t1206 = t517 * t97; + const double t1211 = t523 * t97; + const double t1216 = t529 * t97; + const double t1221 = t119 * tau; + const double t1222 = t91 * t1162; + const double t1223 = t1222 * t123; + const double t1226 = t1222 * tau; + const double t1235 = 0.4e2 / 0.3e1 * t157 * t1199 + 0.15e2 * t369 * t1199 + 0.5e1 * t326 * t1172 + 0.5e1 * t127 * t1206 + 0.2e2 / 0.3e1 * t333 * t1206 + 0.2e2 / 0.3e1 * t133 * t1211 + 0.25e2 / 0.3e1 * t340 * t1211 + 0.25e2 / 0.3e1 * t139 * t1216 + 0.1e2 * t347 * t1216 - 0.2e2 / 0.3e1 * t1221 * t1223 - 0.3e3 * t826 * t1226 - 0.3e3 * t830 * t1226 - 0.2e4 / 0.3e1 * t833 * t1226 - 0.11e4 / 0.3e1 * t836 * t1226; + const double t1263 = -0.11e4 / 0.3e1 * t840 * t1226 - 0.242e4 / 0.3e1 * t843 * t1226 - 0.44e3 * t802 * t1226 - 0.24e3 * t875 * t1226 - 0.14e3 * t878 * t1226 - 0.14e3 * t882 * t1226 - 0.98e3 / 0.3e1 * t885 * t1226 - 0.56e3 / 0.3e1 * t805 * t1226 - 0.56e3 / 0.3e1 * t809 * t1226 - 0.128e4 / 0.3e1 * t813 * t1226 - 0.24e3 * t816 * t1226 - 0.24e3 * t820 * t1226 - 0.54e3 * t823 * t1226; + const double t1290 = t97 * t117; + const double t1293 = -0.2e2 * t781 * t1226 - 0.6e2 * t784 * t1226 - 0.4e2 * t846 * t1226 - 0.4e2 * t850 * t1226 - 0.32e3 / 0.3e1 * t853 * t1226 - 0.2e3 / 0.3e1 * t856 * t1226 - 0.2e3 / 0.3e1 * t862 * t1226 - 0.5e3 / 0.3e1 * t865 * t1226 - 0.1e3 * t868 * t1226 - 0.1e3 * t872 * t1226 - 0.2e2 / 0.3e1 * t765 * t1226 - 0.8e2 / 0.3e1 * t774 * t1226 - 0.2e2 * t777 * t1226 + 0.5e1 / 0.3e1 * t503 * t1290; + const double t1295 = t1198 + t1235 + t1263 + t1293; + const double t1297 = t182 * t618; + const double t1306 = t189 * tau; + const double t1329 = 0.1e2 / 0.3e1 * t407 * t1167 - 0.2e2 / 0.3e1 * t1303 * t1164 - 0.2e2 / 0.3e1 * t1306 * t1223 + 0.15e2 * t457 * t1199 + 0.15e2 * t211 * t1175 + 0.5e2 / 0.3e1 * t464 * t1175 + 0.5e2 / 0.3e1 * t214 * t1180 + 0.55e2 / 0.3e1 * t471 * t1180 + 0.55e2 / 0.3e1 * t217 * t1185 + 0.25e2 / 0.3e1 * t199 * t1216 + 0.1e2 * t435 * t1216 + 0.1e2 * t202 * t1188 + 0.35e2 / 0.3e1 * t443 * t1188; + const double t1358 = 0.35e2 / 0.3e1 * t205 * t1193 + 0.4e2 / 0.3e1 * t450 * t1193 + 0.4e2 / 0.3e1 * t208 * t1199 + 0.1e2 / 0.3e1 * t190 * t1172 + 0.5e1 * t414 * t1172 + 0.5e1 * t193 * t1206 + 0.2e2 / 0.3e1 * t421 * t1206 + 0.2e2 / 0.3e1 * t196 * t1211 + 0.25e2 / 0.3e1 * t428 * t1211 + 0.5e1 / 0.3e1 * t187 * t1167 + 0.5e1 / 0.3e1 * t573 * t1290 - 0.24e3 * t1045 * t1226 - 0.24e3 * t1049 * t1226 - 0.54e3 * t1053 * t1226; + const double t1386 = -0.3e3 * t1056 * t1226 - 0.3e3 * t997 * t1226 - 0.2e4 / 0.3e1 * t1000 * t1226 - 0.11e4 / 0.3e1 * t1003 * t1226 - 0.11e4 / 0.3e1 * t1009 * t1226 - 0.242e4 / 0.3e1 * t1012 * t1226 - 0.44e3 * t1015 * t1226 - 0.1e3 * t1092 * t1226 - 0.1e3 * t1019 * t1226 - 0.24e3 * t1022 * t1226 - 0.14e3 * t1025 * t1226 - 0.14e3 * t1029 * t1226 - 0.98e3 / 0.3e1 * t1032 * t1226; + const double t1415 = -0.56e3 / 0.3e1 * t1035 * t1226 - 0.56e3 / 0.3e1 * t1039 * t1226 - 0.128e4 / 0.3e1 * t1042 * t1226 - 0.8e2 / 0.3e1 * t1059 * t1226 - 0.2e2 * t1062 * t1226 - 0.2e2 * t1066 * t1226 - 0.6e2 * t1069 * t1226 - 0.4e2 * t1072 * t1226 - 0.4e2 * t1076 * t1226 - 0.32e3 / 0.3e1 * t1079 * t1226 - 0.2e3 / 0.3e1 * t1082 * t1226 - 0.2e3 / 0.3e1 * t1086 * t1226 - 0.5e3 / 0.3e1 * t1089 * t1226 - 0.2e2 / 0.3e1 * t1095 * t1226; + const double t1417 = t1329 + t1358 + t1386 + t1415; + const double t1419 = -0.1576608624e-1 * t302 * t93 * t305 * t571 + t104 * t1295 - 0.13717421124828532236e-1 * t395 * t396 * t1297 + t184 * t1417; + const double t1424 = piecewise_functor_3( t3, 0.0, -t19 * t227 * t620 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t295 * t620 - 0.3e1 / 0.8e1 * t19 * t84 * t1419 ); + const double t1430 = t770 * t182; + const double t1434 = -0.2163008494089e-3 * t741 * t788 * t179 - 0.95873459060406967341e-4 * t1134 * t1430 * t219; + const double t1438 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t1434 ); + const double t1446 = 0.591228234e-2 * t302 * t311 * t571 + 0.51440329218106995885e-2 * t492 * t493 * t618; + const double t1450 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t1446 ); + const double t1453 = 0.1e1 / t20 / t303; + const double t1454 = t1453 * t123; + const double t1460 = t171 * t91; + const double t1461 = t1460 * t1453; + const double t1464 = t177 * t91; + const double t1465 = t1464 * t1453; + const double t1468 = t388 * t91; + const double t1469 = t1468 * t1453; + const double t1476 = t801 * t91; + const double t1477 = t1476 * t1453; + const double t1480 = t129 * t91; + const double t1481 = t1480 * t1453; + const double t1486 = t135 * t91; + const double t1487 = t1486 * t1453; + const double t1494 = t141 * t91; + const double t1495 = t1494 * t1453; + const double t1502 = 0.4e1 * t115 * t1481 + 0.4e1 * t1160 * t1454 + 0.12e2 * t121 * t1487 + 0.24e2 * t127 * t1495 + 0.4e1 * t1457 * t1454 + 0.18e3 * t829 * t1461 + 0.4e3 * t376 * t1465 + 0.22e3 * t839 * t1465 + 0.22e3 * t169 * t1469 + 0.484e3 * t383 * t1469 + 0.264e3 * t175 * t1477 + 0.16e2 * t319 * t1481 + 0.12e2 * t780 * t1481 + 0.36e2 * t326 * t1487 + 0.24e2 * t849 * t1487 + 0.64e2 * t333 * t1495; + const double t1503 = t147 * t91; + const double t1504 = t1503 * t1453; + const double t1511 = t153 * t91; + const double t1512 = t1511 * t1453; + const double t1519 = t159 * t91; + const double t1520 = t1519 * t1453; + const double t1527 = t165 * t91; + const double t1528 = t1527 * t1453; + const double t1543 = 0.4e2 * t133 * t1504 + 0.6e2 * t139 * t1512 + 0.84e2 * t145 * t1520 + 0.144e3 * t157 * t1461 + 0.324e3 * t369 * t1461 + 0.18e3 * t163 * t1465 + 0.4e2 * t861 * t1495 + 0.1e3 * t340 * t1504 + 0.6e2 * t871 * t1504 + 0.112e3 * t151 * t1528 + 0.144e3 * t347 * t1512 + 0.84e2 * t881 * t1512 + 0.196e3 * t355 * t1520 + 0.112e3 * t808 * t1520 + 0.256e3 * t362 * t1528 + 0.144e3 * t819 * t1528; + const double t1544 = t1502 + t1543; + const double t1579 = 0.6e2 * t1018 * t1504 + 0.84e2 * t1028 * t1512 + 0.112e3 * t1038 * t1520 + 0.144e3 * t1048 * t1528 + 0.4e2 * t1085 * t1495 + 0.4e1 * t1303 * t1454 + 0.4e1 * t1548 * t1454 + 0.144e3 * t208 * t1461 + 0.324e3 * t457 * t1461 + 0.1e3 * t428 * t1504 + 0.6e2 * t199 * t1512 + 0.144e3 * t435 * t1512 + 0.84e2 * t202 * t1520 + 0.196e3 * t443 * t1520 + 0.112e3 * t205 * t1528 + 0.256e3 * t450 * t1528; + const double t1612 = 0.22e3 * t1008 * t1465 + 0.12e2 * t1065 * t1481 + 0.24e2 * t1075 * t1487 + 0.18e3 * t996 * t1461 + 0.18e3 * t211 * t1465 + 0.4e3 * t464 * t1465 + 0.22e3 * t214 * t1469 + 0.484e3 * t471 * t1469 + 0.264e3 * t217 * t1477 + 0.4e1 * t187 * t1481 + 0.16e2 * t407 * t1481 + 0.12e2 * t190 * t1487 + 0.36e2 * t414 * t1487 + 0.24e2 * t193 * t1495 + 0.64e2 * t421 * t1495 + 0.4e2 * t196 * t1504; + const double t1613 = t1579 + t1612; + const double t1615 = t104 * t1544 + t184 * t1613; + const double t1619 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t1615 ); + + + v2rho2 = 0.2e1 * rho * t1107 + 0.4e1 * t486; + v2rhosigma = 0.2e1 * rho * t1147 + 0.2e1 * t501; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1424 + 0.2e1 * t624; + v2sigma2 = 0.2e1 * rho * t1438; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1450; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1619; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_one_ov_pi; + constexpr double t85 = constants::m_cbrt_6; + constexpr double t86 = constants::m_pi_sq; + constexpr double t87 = constants::m_cbrt_pi_sq; + constexpr double t91 = constants::m_cbrt_2; + constexpr double t25 = t24 * t24; + constexpr double t88 = t87 * t87; + constexpr double t89 = 0.1e1 / t88; + constexpr double t90 = t85 * t89; + constexpr double t92 = t91 * t91; + constexpr double t106 = a_1; + constexpr double t107 = t85 * t85; + constexpr double t109 = 0.3e1 / 0.1e2 * t107 * t88; + constexpr double t119 = a_2; + constexpr double t125 = a_3; + constexpr double t131 = a_4; + constexpr double t137 = a_5; + constexpr double t143 = a_6; + constexpr double t149 = a_7; + constexpr double t155 = a_8; + constexpr double t161 = a_9; + constexpr double t167 = a_10; + constexpr double t173 = a_11; + constexpr double t186 = b_1; + constexpr double t189 = b_2; + constexpr double t192 = b_3; + constexpr double t195 = b_4; + constexpr double t198 = b_5; + constexpr double t201 = b_6; + constexpr double t204 = b_7; + constexpr double t207 = b_8; + constexpr double t210 = b_9; + constexpr double t213 = b_10; + constexpr double t216 = b_11; + constexpr double t492 = t90 * t92; + constexpr double t503 = t106 * t92; + constexpr double t573 = t186 * t92; + constexpr double t740 = 0.1e1 / t87 / t86; + constexpr double t935 = t107 * t740; + constexpr double t1134 = t935 * t91; + constexpr double t1160 = t106 * t91; + constexpr double t1303 = t186 * t91; + constexpr double t1457 = t119 * t91; + constexpr double t1548 = t189 * t91; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t13 = t12 <= zeta_tol; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t13, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t27 = t22 * t25 * omega; + const double t30 = piecewise_functor_3( t13, t14, t16 ); + const double t31 = 0.1e1 / t30; + const double t34 = t27 * t4 / t20 * t31 / 0.18e2; + const double t35 = 0.135e1 <= t34; + const double t36 = 0.135e1 < t34; + const double t37 = piecewise_functor_3( t36, t34, 1.35 ); + const double t38 = t37 * t37; + const double t41 = t38 * t38; + const double t42 = 0.1e1 / t41; + const double t44 = t41 * t38; + const double t45 = 0.1e1 / t44; + const double t47 = t41 * t41; + const double t48 = 0.1e1 / t47; + const double t51 = 0.1e1 / t47 / t38; + const double t54 = 0.1e1 / t47 / t41; + const double t57 = 0.1e1 / t47 / t44; + const double t59 = t47 * t47; + const double t60 = 0.1e1 / t59; + const double t63 = piecewise_functor_3( t36, 1.35, t34 ); + const double t64 = safe_math::sqrt( M_PI ); + const double t65 = 0.1e1 / t63; + const double t67 = safe_math::erf( t65 / 0.2e1 ); + const double t69 = t63 * t63; + const double t70 = 0.1e1 / t69; + const double t72 = safe_math::exp( -t70 / 0.4e1 ); + const double t73 = t72 - 0.1e1; + const double t76 = t72 - 0.3e1 / 0.2e1 - 0.2e1 * t69 * t73; + const double t79 = 0.2e1 * t63 * t76 + t64 * t67; + const double t83 = piecewise_functor_3( t35, 0.1e1 / t38 / 0.36e2 - t42 / 0.96e3 + t45 / 0.2688e5 - t48 / 0.82944e6 + t51 / 0.2838528e8 - t54 / 0.107347968e10 + t57 / 0.445906944e11 - t60 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t63 * t79 ); + const double t84 = t20 * t83; + const double t93 = sigma * t92; + const double t94 = rho * rho; + const double t95 = t20 * t20; + const double t97 = 0.1e1 / t95 / t94; + const double t99 = t90 * t93 * t97; + const double t101 = 0.804e0 + 0.914625e-2 * t99; + const double t104 = 0.1804e1 - 0.646416e0 / t101; + const double t110 = tau * t92; + const double t112 = 0.1e1 / t95 / rho; + const double t113 = t110 * t112; + const double t114 = t109 - t113; + const double t115 = t106 * t114; + const double t116 = t109 + t113; + const double t117 = 0.1e1 / t116; + const double t120 = t114 * t114; + const double t121 = t119 * t120; + const double t122 = t116 * t116; + const double t123 = 0.1e1 / t122; + const double t126 = t120 * t114; + const double t127 = t125 * t126; + const double t128 = t122 * t116; + const double t129 = 0.1e1 / t128; + const double t132 = t120 * t120; + const double t133 = t131 * t132; + const double t134 = t122 * t122; + const double t135 = 0.1e1 / t134; + const double t138 = t132 * t114; + const double t139 = t137 * t138; + const double t140 = t134 * t116; + const double t141 = 0.1e1 / t140; + const double t144 = t132 * t120; + const double t145 = t143 * t144; + const double t146 = t134 * t122; + const double t147 = 0.1e1 / t146; + const double t150 = t132 * t126; + const double t151 = t149 * t150; + const double t152 = t134 * t128; + const double t153 = 0.1e1 / t152; + const double t156 = t132 * t132; + const double t157 = t155 * t156; + const double t158 = t134 * t134; + const double t159 = 0.1e1 / t158; + const double t162 = t156 * t114; + const double t163 = t161 * t162; + const double t165 = 0.1e1 / t158 / t116; + const double t168 = t156 * t120; + const double t169 = t167 * t168; + const double t171 = 0.1e1 / t158 / t122; + const double t174 = t156 * t126; + const double t175 = t173 * t174; + const double t177 = 0.1e1 / t158 / t128; + const double t179 = t115 * t117 + t121 * t123 + t127 * t129 + t133 * t135 + t139 * t141 + t145 * t147 + t151 * t153 + t157 * t159 + t163 * t165 + t169 * t171 + t175 * t177 + a_0; + const double t182 = safe_math::exp( -0.93189002206715572255e-2 * t99 ); + const double t184 = 0.1552e1 - 0.552e0 * t182; + const double t187 = t186 * t114; + const double t190 = t189 * t120; + const double t193 = t192 * t126; + const double t196 = t195 * t132; + const double t199 = t198 * t138; + const double t202 = t201 * t144; + const double t205 = t204 * t150; + const double t208 = t207 * t156; + const double t211 = t210 * t162; + const double t214 = t213 * t168; + const double t217 = t216 * t174; + const double t219 = t187 * t117 + t190 * t123 + t193 * t129 + t196 * t135 + t199 * t141 + t202 * t147 + t205 * t153 + t208 * t159 + t211 * t165 + t214 * t171 + t217 * t177 + b_0; + const double t221 = t104 * t179 + t184 * t219; + const double t225 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t221 ); + const double t226 = 0.1e1 / t95; + const double t227 = t226 * t83; + const double t231 = t38 * t37; + const double t232 = 0.1e1 / t231; + const double t238 = t27 * t4 / t20 / rho * t31 / 0.54e2; + const double t239 = piecewise_functor_3( t36, -t238, 0.0 ); + const double t242 = t41 * t37; + const double t243 = 0.1e1 / t242; + const double t246 = t41 * t231; + const double t247 = 0.1e1 / t246; + const double t251 = 0.1e1 / t47 / t37; + const double t255 = 0.1e1 / t47 / t231; + const double t259 = 0.1e1 / t47 / t242; + const double t263 = 0.1e1 / t47 / t246; + const double t267 = 0.1e1 / t59 / t37; + const double t271 = piecewise_functor_3( t36, 0.0, -t238 ); + const double t273 = t72 * t70; + const double t277 = t69 * t63; + const double t278 = 0.1e1 / t277; + const double t282 = t63 * t73; + const double t287 = t278 * t271 * t72 / 0.2e1 - 0.4e1 * t282 * t271 - t65 * t271 * t72; + const double t290 = -t273 * t271 + 0.2e1 * t271 * t76 + 0.2e1 * t63 * t287; + const double t294 = piecewise_functor_3( t35, -t232 * t239 / 0.18e2 + t243 * t239 / 0.24e3 - t247 * t239 / 0.448e4 + t251 * t239 / 0.10368e6 - t255 * t239 / 0.2838528e7 + t259 * t239 / 0.8945664e8 - t263 * t239 / 0.31850496e10 + t267 * t239 / 0.1263403008e12, -0.8e1 / 0.3e1 * t271 * t79 - 0.8e1 / 0.3e1 * t63 * t290 ); + const double t295 = t20 * t294; + const double t299 = t101 * t101; + const double t302 = 0.1e1 / t299 * t85 * t89; + const double t303 = t94 * rho; + const double t305 = 0.1e1 / t95 / t303; + const double t310 = t106 * tau; + const double t311 = t92 * t97; + const double t312 = t311 * t117; + const double t315 = t115 * t123; + const double t316 = t110 * t97; + const double t319 = t119 * t114; + const double t320 = t319 * t123; + const double t323 = t121 * t129; + const double t326 = t125 * t120; + const double t327 = t326 * t129; + const double t330 = t127 * t135; + const double t333 = t131 * t126; + const double t334 = t333 * t135; + const double t337 = t133 * t141; + const double t340 = t137 * t132; + const double t341 = t340 * t141; + const double t344 = t139 * t147; + const double t347 = t143 * t138; + const double t348 = t347 * t147; + const double t351 = 0.5e1 / 0.3e1 * t310 * t312 + 0.5e1 / 0.3e1 * t315 * t316 + 0.1e2 / 0.3e1 * t320 * t316 + 0.1e2 / 0.3e1 * t323 * t316 + 0.5e1 * t327 * t316 + 0.5e1 * t330 * t316 + 0.2e2 / 0.3e1 * t334 * t316 + 0.2e2 / 0.3e1 * t337 * t316 + 0.25e2 / 0.3e1 * t341 * t316 + 0.25e2 / 0.3e1 * t344 * t316 + 0.1e2 * t348 * t316; + const double t352 = t145 * t153; + const double t355 = t149 * t144; + const double t356 = t355 * t153; + const double t359 = t151 * t159; + const double t362 = t155 * t150; + const double t363 = t362 * t159; + const double t366 = t157 * t165; + const double t369 = t161 * t156; + const double t370 = t369 * t165; + const double t373 = t163 * t171; + const double t376 = t167 * t162; + const double t377 = t376 * t171; + const double t380 = t169 * t177; + const double t383 = t173 * t168; + const double t384 = t383 * t177; + const double t388 = 0.1e1 / t158 / t134; + const double t389 = t175 * t388; + const double t392 = 0.1e2 * t352 * t316 + 0.35e2 / 0.3e1 * t356 * t316 + 0.35e2 / 0.3e1 * t359 * t316 + 0.4e2 / 0.3e1 * t363 * t316 + 0.4e2 / 0.3e1 * t366 * t316 + 0.15e2 * t370 * t316 + 0.15e2 * t373 * t316 + 0.5e2 / 0.3e1 * t377 * t316 + 0.5e2 / 0.3e1 * t380 * t316 + 0.55e2 / 0.3e1 * t384 * t316 + 0.55e2 / 0.3e1 * t389 * t316; + const double t393 = t351 + t392; + const double t395 = t90 * sigma; + const double t396 = t92 * t305; + const double t397 = t182 * t219; + const double t401 = t186 * tau; + const double t404 = t187 * t123; + const double t407 = t189 * t114; + const double t408 = t407 * t123; + const double t411 = t190 * t129; + const double t414 = t192 * t120; + const double t415 = t414 * t129; + const double t418 = t193 * t135; + const double t421 = t195 * t126; + const double t422 = t421 * t135; + const double t425 = t196 * t141; + const double t428 = t198 * t132; + const double t429 = t428 * t141; + const double t432 = t199 * t147; + const double t435 = t201 * t138; + const double t436 = t435 * t147; + const double t439 = 0.5e1 / 0.3e1 * t401 * t312 + 0.5e1 / 0.3e1 * t404 * t316 + 0.1e2 / 0.3e1 * t408 * t316 + 0.1e2 / 0.3e1 * t411 * t316 + 0.5e1 * t415 * t316 + 0.5e1 * t418 * t316 + 0.2e2 / 0.3e1 * t422 * t316 + 0.2e2 / 0.3e1 * t425 * t316 + 0.25e2 / 0.3e1 * t429 * t316 + 0.25e2 / 0.3e1 * t432 * t316 + 0.1e2 * t436 * t316; + const double t440 = t202 * t153; + const double t443 = t204 * t144; + const double t444 = t443 * t153; + const double t447 = t205 * t159; + const double t450 = t207 * t150; + const double t451 = t450 * t159; + const double t454 = t208 * t165; + const double t457 = t210 * t156; + const double t458 = t457 * t165; + const double t461 = t211 * t171; + const double t464 = t213 * t162; + const double t465 = t464 * t171; + const double t468 = t214 * t177; + const double t471 = t216 * t168; + const double t472 = t471 * t177; + const double t475 = t217 * t388; + const double t478 = 0.1e2 * t440 * t316 + 0.35e2 / 0.3e1 * t444 * t316 + 0.35e2 / 0.3e1 * t447 * t316 + 0.4e2 / 0.3e1 * t451 * t316 + 0.4e2 / 0.3e1 * t454 * t316 + 0.15e2 * t458 * t316 + 0.15e2 * t461 * t316 + 0.5e2 / 0.3e1 * t465 * t316 + 0.5e2 / 0.3e1 * t468 * t316 + 0.55e2 / 0.3e1 * t472 * t316 + 0.55e2 / 0.3e1 * t475 * t316; + const double t479 = t439 + t478; + const double t481 = -0.1576608624e-1 * t302 * t93 * t305 * t179 + t104 * t393 - 0.13717421124828532236e-1 * t395 * t396 * t397 + t184 * t479; + const double t486 = piecewise_functor_3( t3, 0.0, -t19 * t227 * t221 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t295 * t221 - 0.3e1 / 0.8e1 * t19 * t84 * t481 ); + const double t493 = t97 * t182; + const double t497 = 0.591228234e-2 * t302 * t311 * t179 + 0.51440329218106995885e-2 * t492 * t493 * t219; + const double t501 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t497 ); + const double t504 = t112 * t117; + const double t506 = t123 * t92; + const double t507 = t506 * t112; + const double t511 = t129 * t92; + const double t512 = t511 * t112; + const double t517 = t135 * t92; + const double t518 = t517 * t112; + const double t523 = t141 * t92; + const double t524 = t523 * t112; + const double t529 = t147 * t92; + const double t530 = t529 * t112; + const double t535 = -t115 * t507 - 0.2e1 * t121 * t512 - 0.3e1 * t127 * t518 - 0.4e1 * t133 * t524 - 0.5e1 * t139 * t530 - 0.2e1 * t319 * t507 - 0.3e1 * t326 * t512 - 0.4e1 * t333 * t518 - 0.5e1 * t340 * t524 - 0.6e1 * t347 * t530 - t503 * t504; + const double t536 = t153 * t92; + const double t537 = t536 * t112; + const double t542 = t159 * t92; + const double t543 = t542 * t112; + const double t548 = t165 * t92; + const double t549 = t548 * t112; + const double t554 = t171 * t92; + const double t555 = t554 * t112; + const double t560 = t177 * t92; + const double t561 = t560 * t112; + const double t566 = t388 * t92; + const double t567 = t566 * t112; + const double t570 = -0.6e1 * t145 * t537 - 0.7e1 * t151 * t543 - 0.8e1 * t157 * t549 - 0.9e1 * t163 * t555 - 0.1e2 * t169 * t561 - 0.11e2 * t175 * t567 - 0.7e1 * t355 * t537 - 0.8e1 * t362 * t543 - 0.9e1 * t369 * t549 - 0.1e2 * t376 * t555 - 0.11e2 * t383 * t561; + const double t571 = t535 + t570; + const double t594 = -t187 * t507 - 0.2e1 * t190 * t512 - 0.3e1 * t193 * t518 - 0.4e1 * t196 * t524 - 0.5e1 * t199 * t530 - 0.2e1 * t407 * t507 - 0.3e1 * t414 * t512 - 0.4e1 * t421 * t518 - 0.5e1 * t428 * t524 - 0.6e1 * t435 * t530 - t573 * t504; + const double t617 = -0.6e1 * t202 * t537 - 0.7e1 * t205 * t543 - 0.8e1 * t208 * t549 - 0.9e1 * t211 * t555 - 0.1e2 * t214 * t561 - 0.11e2 * t217 * t567 - 0.7e1 * t443 * t537 - 0.8e1 * t450 * t543 - 0.9e1 * t457 * t549 - 0.1e2 * t464 * t555 - 0.11e2 * t471 * t561; + const double t618 = t594 + t617; + const double t620 = t104 * t571 + t184 * t618; + const double t624 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t620 ); + const double t627 = t112 * t83; + const double t631 = t226 * t294; + const double t638 = t239 * t239; + const double t646 = 0.2e1 / 0.81e2 * t27 * t4 / t20 / t94 * t31; + const double t647 = piecewise_functor_3( t36, t646, 0.0 ); + const double t675 = 0.1e1 / t59 / t38; + const double t680 = t42 * t638 / 0.6e1 - t232 * t647 / 0.18e2 - t45 * t638 / 0.48e2 + t243 * t647 / 0.24e3 + t48 * t638 / 0.64e3 - t247 * t647 / 0.448e4 - t51 * t638 / 0.1152e5 + t251 * t647 / 0.10368e6 + t54 * t638 / 0.258048e6 - t255 * t647 / 0.2838528e7 - t57 * t638 / 0.688128e7 + t259 * t647 / 0.8945664e8 + t60 * t638 / 0.21233664e9 - t263 * t647 / 0.31850496e10 - t675 * t638 / 0.74317824e10 + t267 * t647 / 0.1263403008e12; + const double t681 = piecewise_functor_3( t36, 0.0, t646 ); + const double t686 = t69 * t69; + const double t688 = 0.1e1 / t686 / t63; + const double t689 = t271 * t271; + const double t690 = t688 * t689; + const double t693 = t72 * t278; + const double t701 = 0.1e1 / t686; + const double t709 = 0.1e1 / t686 / t69; + const double t710 = t709 * t689; + const double t721 = -0.2e1 * t701 * t689 * t72 + t278 * t681 * t72 / 0.2e1 + t710 * t72 / 0.4e1 - 0.4e1 * t689 * t73 - t70 * t689 * t72 - 0.4e1 * t282 * t681 - t65 * t681 * t72; + const double t724 = -t690 * t72 / 0.2e1 + 0.2e1 * t693 * t689 - t273 * t681 + 0.2e1 * t681 * t76 + 0.4e1 * t271 * t287 + 0.2e1 * t63 * t721; + const double t728 = piecewise_functor_3( t35, t680, -0.8e1 / 0.3e1 * t681 * t79 - 0.16e2 / 0.3e1 * t271 * t290 - 0.8e1 / 0.3e1 * t63 * t724 ); + const double t729 = t20 * t728; + const double t741 = 0.1e1 / t299 / t101 * t107 * t740; + const double t742 = sigma * sigma; + const double t743 = t742 * t91; + const double t744 = t94 * t94; + const double t745 = t744 * t303; + const double t747 = 0.1e1 / t20 / t745; + const double t753 = 0.1e1 / t95 / t744; + const double t762 = t110 * t305; + const double t765 = t115 * t129; + const double t766 = tau * tau; + const double t767 = t766 * t91; + const double t768 = t744 * rho; + const double t770 = 0.1e1 / t20 / t768; + const double t771 = t767 * t770; + const double t774 = t319 * t129; + const double t777 = t121 * t135; + const double t780 = t125 * t114; + const double t781 = t780 * t129; + const double t784 = t326 * t135; + const double t787 = t106 * t766; + const double t788 = t91 * t770; + const double t789 = t788 * t123; + const double t792 = t119 * t766; + const double t795 = t396 * t117; + const double t801 = 0.1e1 / t158 / t140; + const double t802 = t175 * t801; + const double t805 = t151 * t165; + const double t808 = t155 * t144; + const double t809 = t808 * t159; + const double t812 = -0.8e2 / 0.9e1 * t323 * t762 + 0.1e3 / 0.9e1 * t765 * t771 + 0.4e3 / 0.9e1 * t774 * t771 + 0.1e3 / 0.3e1 * t777 * t771 + 0.1e3 / 0.3e1 * t781 * t771 + 0.1e3 * t784 * t771 + 0.1e3 / 0.9e1 * t787 * t789 + 0.1e3 / 0.9e1 * t792 * t789 - 0.4e2 / 0.9e1 * t310 * t795 - 0.44e3 / 0.9e1 * t389 * t762 + 0.22e4 / 0.3e1 * t802 * t771 + 0.28e4 / 0.9e1 * t805 * t771 + 0.28e4 / 0.9e1 * t809 * t771; + const double t813 = t362 * t165; + const double t816 = t157 * t171; + const double t819 = t161 * t150; + const double t820 = t819 * t165; + const double t823 = t369 * t171; + const double t826 = t163 * t177; + const double t829 = t167 * t156; + const double t830 = t829 * t171; + const double t833 = t376 * t177; + const double t836 = t169 * t388; + const double t839 = t173 * t162; + const double t840 = t839 * t177; + const double t843 = t383 * t388; + const double t846 = t127 * t141; + const double t849 = t131 * t120; + const double t850 = t849 * t135; + const double t853 = t333 * t141; + const double t856 = t133 * t147; + const double t859 = 0.64e4 / 0.9e1 * t813 * t771 + 0.4e3 * t816 * t771 + 0.4e3 * t820 * t771 + 0.9e3 * t823 * t771 + 0.5e3 * t826 * t771 + 0.5e3 * t830 * t771 + 0.1e5 / 0.9e1 * t833 * t771 + 0.55e4 / 0.9e1 * t836 * t771 + 0.55e4 / 0.9e1 * t840 * t771 + 0.121e5 / 0.9e1 * t843 * t771 + 0.2e3 / 0.3e1 * t846 * t771 + 0.2e3 / 0.3e1 * t850 * t771 + 0.16e4 / 0.9e1 * t853 * t771 + 0.1e4 / 0.9e1 * t856 * t771; + const double t861 = t137 * t126; + const double t862 = t861 * t141; + const double t865 = t340 * t147; + const double t868 = t139 * t153; + const double t871 = t143 * t132; + const double t872 = t871 * t147; + const double t875 = t347 * t153; + const double t878 = t145 * t159; + const double t881 = t149 * t138; + const double t882 = t881 * t153; + const double t885 = t355 * t159; + const double t898 = 0.1e4 / 0.9e1 * t862 * t771 + 0.25e4 / 0.9e1 * t865 * t771 + 0.5e3 / 0.3e1 * t868 * t771 + 0.5e3 / 0.3e1 * t872 * t771 + 0.4e3 * t875 * t771 + 0.7e3 / 0.3e1 * t878 * t771 + 0.7e3 / 0.3e1 * t882 * t771 + 0.49e4 / 0.9e1 * t885 * t771 - 0.28e3 / 0.9e1 * t356 * t762 - 0.28e3 / 0.9e1 * t359 * t762 - 0.32e3 / 0.9e1 * t363 * t762 - 0.32e3 / 0.9e1 * t366 * t762 - 0.4e2 * t370 * t762; + const double t927 = -0.4e2 * t373 * t762 - 0.4e3 / 0.9e1 * t377 * t762 - 0.4e3 / 0.9e1 * t380 * t762 - 0.44e3 / 0.9e1 * t384 * t762 - 0.4e2 / 0.3e1 * t327 * t762 - 0.4e2 / 0.3e1 * t330 * t762 - 0.16e3 / 0.9e1 * t334 * t762 - 0.16e3 / 0.9e1 * t337 * t762 - 0.2e3 / 0.9e1 * t341 * t762 - 0.2e3 / 0.9e1 * t344 * t762 - 0.8e2 / 0.3e1 * t348 * t762 - 0.8e2 / 0.3e1 * t352 * t762 - 0.4e2 / 0.9e1 * t315 * t762 - 0.8e2 / 0.9e1 * t320 * t762; + const double t929 = t812 + t859 + t898 + t927; + const double t931 = t92 * t753; + const double t936 = t935 * t742; + const double t937 = t91 * t747; + const double t941 = t182 * t479; + const double t967 = t186 * t766; + const double t970 = t189 * t766; + const double t973 = -0.4e2 * t461 * t762 - 0.4e3 / 0.9e1 * t465 * t762 - 0.4e3 / 0.9e1 * t468 * t762 - 0.44e3 / 0.9e1 * t472 * t762 - 0.44e3 / 0.9e1 * t475 * t762 - 0.2e3 / 0.9e1 * t432 * t762 - 0.8e2 / 0.3e1 * t436 * t762 - 0.8e2 / 0.3e1 * t440 * t762 - 0.28e3 / 0.9e1 * t444 * t762 - 0.28e3 / 0.9e1 * t447 * t762 - 0.4e2 / 0.9e1 * t401 * t795 + 0.1e3 / 0.9e1 * t967 * t789 + 0.1e3 / 0.9e1 * t970 * t789; + const double t996 = t213 * t156; + const double t997 = t996 * t171; + const double t1000 = t464 * t177; + const double t1003 = t214 * t388; + const double t1006 = -0.32e3 / 0.9e1 * t451 * t762 - 0.32e3 / 0.9e1 * t454 * t762 - 0.4e2 * t458 * t762 - 0.4e2 / 0.9e1 * t404 * t762 - 0.8e2 / 0.9e1 * t408 * t762 - 0.8e2 / 0.9e1 * t411 * t762 - 0.4e2 / 0.3e1 * t415 * t762 - 0.4e2 / 0.3e1 * t418 * t762 - 0.16e3 / 0.9e1 * t422 * t762 - 0.16e3 / 0.9e1 * t425 * t762 - 0.2e3 / 0.9e1 * t429 * t762 + 0.5e3 * t997 * t771 + 0.1e5 / 0.9e1 * t1000 * t771 + 0.55e4 / 0.9e1 * t1003 * t771; + const double t1008 = t216 * t162; + const double t1009 = t1008 * t177; + const double t1012 = t471 * t388; + const double t1015 = t217 * t801; + const double t1018 = t201 * t132; + const double t1019 = t1018 * t147; + const double t1022 = t435 * t153; + const double t1025 = t202 * t159; + const double t1028 = t204 * t138; + const double t1029 = t1028 * t153; + const double t1032 = t443 * t159; + const double t1035 = t205 * t165; + const double t1038 = t207 * t144; + const double t1039 = t1038 * t159; + const double t1042 = t450 * t165; + const double t1045 = t208 * t171; + const double t1048 = t210 * t150; + const double t1049 = t1048 * t165; + const double t1052 = 0.55e4 / 0.9e1 * t1009 * t771 + 0.121e5 / 0.9e1 * t1012 * t771 + 0.22e4 / 0.3e1 * t1015 * t771 + 0.5e3 / 0.3e1 * t1019 * t771 + 0.4e3 * t1022 * t771 + 0.7e3 / 0.3e1 * t1025 * t771 + 0.7e3 / 0.3e1 * t1029 * t771 + 0.49e4 / 0.9e1 * t1032 * t771 + 0.28e4 / 0.9e1 * t1035 * t771 + 0.28e4 / 0.9e1 * t1039 * t771 + 0.64e4 / 0.9e1 * t1042 * t771 + 0.4e3 * t1045 * t771 + 0.4e3 * t1049 * t771; + const double t1053 = t457 * t171; + const double t1056 = t211 * t177; + const double t1059 = t407 * t129; + const double t1062 = t190 * t135; + const double t1065 = t192 * t114; + const double t1066 = t1065 * t129; + const double t1069 = t414 * t135; + const double t1072 = t193 * t141; + const double t1075 = t195 * t120; + const double t1076 = t1075 * t135; + const double t1079 = t421 * t141; + const double t1082 = t196 * t147; + const double t1085 = t198 * t126; + const double t1086 = t1085 * t141; + const double t1089 = t428 * t147; + const double t1092 = t199 * t153; + const double t1095 = t187 * t129; + const double t1098 = 0.9e3 * t1053 * t771 + 0.5e3 * t1056 * t771 + 0.4e3 / 0.9e1 * t1059 * t771 + 0.1e3 / 0.3e1 * t1062 * t771 + 0.1e3 / 0.3e1 * t1066 * t771 + 0.1e3 * t1069 * t771 + 0.2e3 / 0.3e1 * t1072 * t771 + 0.2e3 / 0.3e1 * t1076 * t771 + 0.16e4 / 0.9e1 * t1079 * t771 + 0.1e4 / 0.9e1 * t1082 * t771 + 0.1e4 / 0.9e1 * t1086 * t771 + 0.25e4 / 0.9e1 * t1089 * t771 + 0.5e3 / 0.3e1 * t1092 * t771 + 0.1e3 / 0.9e1 * t1095 * t771; + const double t1100 = t973 + t1006 + t1052 + t1098; + const double t1102 = -0.15381393735744e-2 * t741 * t743 * t747 * t179 + 0.5780898288e-1 * t302 * t93 * t753 * t179 - 0.3153217248e-1 * t302 * t93 * t305 * t393 + t104 * t929 + 0.50297210791037951532e-1 * t395 * t931 * t397 - 0.68176681998511621221e-3 * t936 * t937 * t397 - 0.27434842249657064472e-1 * t395 * t396 * t941 + t184 * t1100; + const double t1107 = piecewise_functor_3( t3, 0.0, t19 * t627 * t221 / 0.12e2 - t19 * t631 * t221 / 0.4e1 - t19 * t227 * t481 / 0.4e1 - 0.3e1 / 0.8e1 * t19 * t729 * t221 - 0.3e1 / 0.4e1 * t19 * t295 * t481 - 0.3e1 / 0.8e1 * t19 * t84 * t1102 ); + const double t1116 = t744 * t94; + const double t1118 = 0.1e1 / t20 / t1116; + const double t1119 = t91 * t1118; + const double t1120 = t179 * sigma; + const double t1130 = t305 * t182; + const double t1135 = t1118 * sigma; + const double t1142 = 0.5768022650904e-3 * t741 * t1119 * t1120 - 0.1576608624e-1 * t302 * t396 * t179 + 0.591228234e-2 * t302 * t311 * t393 - 0.13717421124828532236e-1 * t492 * t1130 * t219 + 0.25566255749441857958e-3 * t1134 * t1135 * t397 + 0.51440329218106995885e-2 * t492 * t493 * t479; + const double t1147 = piecewise_functor_3( t3, 0.0, -t19 * t227 * t497 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t295 * t497 - 0.3e1 / 0.8e1 * t19 * t84 * t1142 ); + const double t1162 = 0.1e1 / t20 / t744; + const double t1163 = t1162 * t123; + const double t1164 = t1163 * tau; + const double t1167 = t506 * t97; + const double t1172 = t511 * t97; + const double t1175 = t554 * t97; + const double t1180 = t560 * t97; + const double t1185 = t566 * t97; + const double t1188 = t536 * t97; + const double t1193 = t542 * t97; + const double t1198 = -0.2e2 / 0.3e1 * t1160 * t1164 + 0.5e1 / 0.3e1 * t115 * t1167 + 0.1e2 / 0.3e1 * t319 * t1167 + 0.1e2 / 0.3e1 * t121 * t1172 + 0.15e2 * t163 * t1175 + 0.5e2 / 0.3e1 * t376 * t1175 + 0.5e2 / 0.3e1 * t169 * t1180 + 0.55e2 / 0.3e1 * t383 * t1180 + 0.55e2 / 0.3e1 * t175 * t1185 + 0.1e2 * t145 * t1188 + 0.35e2 / 0.3e1 * t355 * t1188 + 0.35e2 / 0.3e1 * t151 * t1193 + 0.4e2 / 0.3e1 * t362 * t1193; + const double t1199 = t548 * t97; + const double t1206 = t517 * t97; + const double t1211 = t523 * t97; + const double t1216 = t529 * t97; + const double t1221 = t119 * tau; + const double t1222 = t91 * t1162; + const double t1223 = t1222 * t123; + const double t1226 = t1222 * tau; + const double t1235 = 0.4e2 / 0.3e1 * t157 * t1199 + 0.15e2 * t369 * t1199 + 0.5e1 * t326 * t1172 + 0.5e1 * t127 * t1206 + 0.2e2 / 0.3e1 * t333 * t1206 + 0.2e2 / 0.3e1 * t133 * t1211 + 0.25e2 / 0.3e1 * t340 * t1211 + 0.25e2 / 0.3e1 * t139 * t1216 + 0.1e2 * t347 * t1216 - 0.2e2 / 0.3e1 * t1221 * t1223 - 0.3e3 * t826 * t1226 - 0.3e3 * t830 * t1226 - 0.2e4 / 0.3e1 * t833 * t1226 - 0.11e4 / 0.3e1 * t836 * t1226; + const double t1263 = -0.11e4 / 0.3e1 * t840 * t1226 - 0.242e4 / 0.3e1 * t843 * t1226 - 0.44e3 * t802 * t1226 - 0.24e3 * t875 * t1226 - 0.14e3 * t878 * t1226 - 0.14e3 * t882 * t1226 - 0.98e3 / 0.3e1 * t885 * t1226 - 0.56e3 / 0.3e1 * t805 * t1226 - 0.56e3 / 0.3e1 * t809 * t1226 - 0.128e4 / 0.3e1 * t813 * t1226 - 0.24e3 * t816 * t1226 - 0.24e3 * t820 * t1226 - 0.54e3 * t823 * t1226; + const double t1290 = t97 * t117; + const double t1293 = -0.2e2 * t781 * t1226 - 0.6e2 * t784 * t1226 - 0.4e2 * t846 * t1226 - 0.4e2 * t850 * t1226 - 0.32e3 / 0.3e1 * t853 * t1226 - 0.2e3 / 0.3e1 * t856 * t1226 - 0.2e3 / 0.3e1 * t862 * t1226 - 0.5e3 / 0.3e1 * t865 * t1226 - 0.1e3 * t868 * t1226 - 0.1e3 * t872 * t1226 - 0.2e2 / 0.3e1 * t765 * t1226 - 0.8e2 / 0.3e1 * t774 * t1226 - 0.2e2 * t777 * t1226 + 0.5e1 / 0.3e1 * t503 * t1290; + const double t1295 = t1198 + t1235 + t1263 + t1293; + const double t1297 = t182 * t618; + const double t1306 = t189 * tau; + const double t1329 = 0.1e2 / 0.3e1 * t407 * t1167 - 0.2e2 / 0.3e1 * t1303 * t1164 - 0.2e2 / 0.3e1 * t1306 * t1223 + 0.15e2 * t457 * t1199 + 0.15e2 * t211 * t1175 + 0.5e2 / 0.3e1 * t464 * t1175 + 0.5e2 / 0.3e1 * t214 * t1180 + 0.55e2 / 0.3e1 * t471 * t1180 + 0.55e2 / 0.3e1 * t217 * t1185 + 0.25e2 / 0.3e1 * t199 * t1216 + 0.1e2 * t435 * t1216 + 0.1e2 * t202 * t1188 + 0.35e2 / 0.3e1 * t443 * t1188; + const double t1358 = 0.35e2 / 0.3e1 * t205 * t1193 + 0.4e2 / 0.3e1 * t450 * t1193 + 0.4e2 / 0.3e1 * t208 * t1199 + 0.1e2 / 0.3e1 * t190 * t1172 + 0.5e1 * t414 * t1172 + 0.5e1 * t193 * t1206 + 0.2e2 / 0.3e1 * t421 * t1206 + 0.2e2 / 0.3e1 * t196 * t1211 + 0.25e2 / 0.3e1 * t428 * t1211 + 0.5e1 / 0.3e1 * t187 * t1167 + 0.5e1 / 0.3e1 * t573 * t1290 - 0.24e3 * t1045 * t1226 - 0.24e3 * t1049 * t1226 - 0.54e3 * t1053 * t1226; + const double t1386 = -0.3e3 * t1056 * t1226 - 0.3e3 * t997 * t1226 - 0.2e4 / 0.3e1 * t1000 * t1226 - 0.11e4 / 0.3e1 * t1003 * t1226 - 0.11e4 / 0.3e1 * t1009 * t1226 - 0.242e4 / 0.3e1 * t1012 * t1226 - 0.44e3 * t1015 * t1226 - 0.1e3 * t1092 * t1226 - 0.1e3 * t1019 * t1226 - 0.24e3 * t1022 * t1226 - 0.14e3 * t1025 * t1226 - 0.14e3 * t1029 * t1226 - 0.98e3 / 0.3e1 * t1032 * t1226; + const double t1415 = -0.56e3 / 0.3e1 * t1035 * t1226 - 0.56e3 / 0.3e1 * t1039 * t1226 - 0.128e4 / 0.3e1 * t1042 * t1226 - 0.8e2 / 0.3e1 * t1059 * t1226 - 0.2e2 * t1062 * t1226 - 0.2e2 * t1066 * t1226 - 0.6e2 * t1069 * t1226 - 0.4e2 * t1072 * t1226 - 0.4e2 * t1076 * t1226 - 0.32e3 / 0.3e1 * t1079 * t1226 - 0.2e3 / 0.3e1 * t1082 * t1226 - 0.2e3 / 0.3e1 * t1086 * t1226 - 0.5e3 / 0.3e1 * t1089 * t1226 - 0.2e2 / 0.3e1 * t1095 * t1226; + const double t1417 = t1329 + t1358 + t1386 + t1415; + const double t1419 = -0.1576608624e-1 * t302 * t93 * t305 * t571 + t104 * t1295 - 0.13717421124828532236e-1 * t395 * t396 * t1297 + t184 * t1417; + const double t1424 = piecewise_functor_3( t3, 0.0, -t19 * t227 * t620 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t295 * t620 - 0.3e1 / 0.8e1 * t19 * t84 * t1419 ); + const double t1430 = t770 * t182; + const double t1434 = -0.2163008494089e-3 * t741 * t788 * t179 - 0.95873459060406967341e-4 * t1134 * t1430 * t219; + const double t1438 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t1434 ); + const double t1446 = 0.591228234e-2 * t302 * t311 * t571 + 0.51440329218106995885e-2 * t492 * t493 * t618; + const double t1450 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t1446 ); + const double t1453 = 0.1e1 / t20 / t303; + const double t1454 = t1453 * t123; + const double t1460 = t171 * t91; + const double t1461 = t1460 * t1453; + const double t1464 = t177 * t91; + const double t1465 = t1464 * t1453; + const double t1468 = t388 * t91; + const double t1469 = t1468 * t1453; + const double t1476 = t801 * t91; + const double t1477 = t1476 * t1453; + const double t1480 = t129 * t91; + const double t1481 = t1480 * t1453; + const double t1486 = t135 * t91; + const double t1487 = t1486 * t1453; + const double t1494 = t141 * t91; + const double t1495 = t1494 * t1453; + const double t1502 = 0.4e1 * t115 * t1481 + 0.4e1 * t1160 * t1454 + 0.12e2 * t121 * t1487 + 0.24e2 * t127 * t1495 + 0.4e1 * t1457 * t1454 + 0.18e3 * t829 * t1461 + 0.4e3 * t376 * t1465 + 0.22e3 * t839 * t1465 + 0.22e3 * t169 * t1469 + 0.484e3 * t383 * t1469 + 0.264e3 * t175 * t1477 + 0.16e2 * t319 * t1481 + 0.12e2 * t780 * t1481 + 0.36e2 * t326 * t1487 + 0.24e2 * t849 * t1487 + 0.64e2 * t333 * t1495; + const double t1503 = t147 * t91; + const double t1504 = t1503 * t1453; + const double t1511 = t153 * t91; + const double t1512 = t1511 * t1453; + const double t1519 = t159 * t91; + const double t1520 = t1519 * t1453; + const double t1527 = t165 * t91; + const double t1528 = t1527 * t1453; + const double t1543 = 0.4e2 * t133 * t1504 + 0.6e2 * t139 * t1512 + 0.84e2 * t145 * t1520 + 0.144e3 * t157 * t1461 + 0.324e3 * t369 * t1461 + 0.18e3 * t163 * t1465 + 0.4e2 * t861 * t1495 + 0.1e3 * t340 * t1504 + 0.6e2 * t871 * t1504 + 0.112e3 * t151 * t1528 + 0.144e3 * t347 * t1512 + 0.84e2 * t881 * t1512 + 0.196e3 * t355 * t1520 + 0.112e3 * t808 * t1520 + 0.256e3 * t362 * t1528 + 0.144e3 * t819 * t1528; + const double t1544 = t1502 + t1543; + const double t1579 = 0.6e2 * t1018 * t1504 + 0.84e2 * t1028 * t1512 + 0.112e3 * t1038 * t1520 + 0.144e3 * t1048 * t1528 + 0.4e2 * t1085 * t1495 + 0.4e1 * t1303 * t1454 + 0.4e1 * t1548 * t1454 + 0.144e3 * t208 * t1461 + 0.324e3 * t457 * t1461 + 0.1e3 * t428 * t1504 + 0.6e2 * t199 * t1512 + 0.144e3 * t435 * t1512 + 0.84e2 * t202 * t1520 + 0.196e3 * t443 * t1520 + 0.112e3 * t205 * t1528 + 0.256e3 * t450 * t1528; + const double t1612 = 0.22e3 * t1008 * t1465 + 0.12e2 * t1065 * t1481 + 0.24e2 * t1075 * t1487 + 0.18e3 * t996 * t1461 + 0.18e3 * t211 * t1465 + 0.4e3 * t464 * t1465 + 0.22e3 * t214 * t1469 + 0.484e3 * t471 * t1469 + 0.264e3 * t217 * t1477 + 0.4e1 * t187 * t1481 + 0.16e2 * t407 * t1481 + 0.12e2 * t190 * t1487 + 0.36e2 * t414 * t1487 + 0.24e2 * t193 * t1495 + 0.64e2 * t421 * t1495 + 0.4e2 * t196 * t1504; + const double t1613 = t1579 + t1612; + const double t1615 = t104 * t1544 + t184 * t1613; + const double t1619 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t84 * t1615 ); + + + vrho = 0.2e1 * rho * t486 + 0.2e1 * t225; + vsigma = 0.2e1 * rho * t501; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t624; + v2rho2 = 0.2e1 * rho * t1107 + 0.4e1 * t486; + v2rhosigma = 0.2e1 * rho * t1147 + 0.2e1 * t501; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1424 + 0.2e1 * t624; + v2sigma2 = 0.2e1 * rho * t1438; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1450; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1619; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_cbrt_one_ov_pi; + constexpr double t101 = constants::m_cbrt_6; + constexpr double t103 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t104 = t103 * t103; + constexpr double t105 = 0.1e1 / t104; + constexpr double t106 = t101 * t105; + constexpr double t119 = a_0; + constexpr double t120 = a_1; + constexpr double t121 = t101 * t101; + constexpr double t123 = 0.3e1 / 0.1e2 * t121 * t104; + constexpr double t132 = a_2; + constexpr double t138 = a_3; + constexpr double t144 = a_4; + constexpr double t150 = a_5; + constexpr double t156 = a_6; + constexpr double t162 = a_7; + constexpr double t168 = a_8; + constexpr double t174 = a_9; + constexpr double t180 = a_10; + constexpr double t186 = a_11; + constexpr double t198 = b_0; + constexpr double t199 = b_1; + constexpr double t202 = b_2; + constexpr double t205 = b_3; + constexpr double t208 = b_4; + constexpr double t211 = b_5; + constexpr double t214 = b_6; + constexpr double t217 = b_7; + constexpr double t220 = b_8; + constexpr double t223 = b_9; + constexpr double t226 = b_10; + constexpr double t229 = b_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t34 = t30 * t33; + const double t35 = t34 * omega; + const double t36 = 0.1e1 / t28; + const double t37 = t3 * t36; + const double t39 = 0.1e1 + t18 <= zeta_tol; + const double t41 = 0.1e1 - t18 <= zeta_tol; + const double t42 = piecewise_functor_5( t39, t12, t41, t16, t18 ); + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( t43 ); + const double t46 = piecewise_functor_3( t44, t22, t45 ); + const double t47 = 0.1e1 / t46; + const double t50 = t35 * t37 * t47 / 0.18e2; + const double t51 = 0.135e1 <= t50; + const double t52 = 0.135e1 < t50; + const double t53 = piecewise_functor_3( t52, t50, 1.35 ); + const double t54 = t53 * t53; + const double t57 = t54 * t54; + const double t58 = 0.1e1 / t57; + const double t60 = t57 * t54; + const double t61 = 0.1e1 / t60; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = 0.1e1 / t63 / t54; + const double t70 = 0.1e1 / t63 / t57; + const double t73 = 0.1e1 / t63 / t60; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = piecewise_functor_3( t52, 1.35, t50 ); + const double t80 = safe_math::sqrt( M_PI ); + const double t81 = 0.1e1 / t79; + const double t83 = safe_math::erf( t81 / 0.2e1 ); + const double t85 = t79 * t79; + const double t86 = 0.1e1 / t85; + const double t88 = safe_math::exp( -t86 / 0.4e1 ); + const double t89 = t88 - 0.1e1; + const double t92 = t88 - 0.3e1 / 0.2e1 - 0.2e1 * t85 * t89; + const double t95 = 0.2e1 * t79 * t92 + t80 * t83; + const double t99 = piecewise_functor_3( t51, 0.1e1 / t54 / 0.36e2 - t58 / 0.96e3 + t61 / 0.2688e5 - t64 / 0.82944e6 + t67 / 0.2838528e8 - t70 / 0.107347968e10 + t73 / 0.445906944e11 - t76 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t79 * t95 ); + const double t100 = t28 * t99; + const double t107 = rho_a * rho_a; + const double t108 = safe_math::cbrt( rho_a ); + const double t109 = t108 * t108; + const double t111 = 0.1e1 / t109 / t107; + const double t113 = t106 * sigma_aa * t111; + const double t115 = 0.804e0 + 0.914625e-2 * t113; + const double t118 = 0.1804e1 - 0.646416e0 / t115; + const double t125 = 0.1e1 / t109 / rho_a; + const double t126 = tau_a * t125; + const double t127 = t123 - t126; + const double t128 = t120 * t127; + const double t129 = t123 + t126; + const double t130 = 0.1e1 / t129; + const double t133 = t127 * t127; + const double t134 = t132 * t133; + const double t135 = t129 * t129; + const double t136 = 0.1e1 / t135; + const double t139 = t133 * t127; + const double t140 = t138 * t139; + const double t141 = t135 * t129; + const double t142 = 0.1e1 / t141; + const double t145 = t133 * t133; + const double t146 = t144 * t145; + const double t147 = t135 * t135; + const double t148 = 0.1e1 / t147; + const double t151 = t145 * t127; + const double t152 = t150 * t151; + const double t153 = t147 * t129; + const double t154 = 0.1e1 / t153; + const double t157 = t145 * t133; + const double t158 = t156 * t157; + const double t159 = t147 * t135; + const double t160 = 0.1e1 / t159; + const double t163 = t145 * t139; + const double t164 = t162 * t163; + const double t165 = t147 * t141; + const double t166 = 0.1e1 / t165; + const double t169 = t145 * t145; + const double t170 = t168 * t169; + const double t171 = t147 * t147; + const double t172 = 0.1e1 / t171; + const double t175 = t169 * t127; + const double t176 = t174 * t175; + const double t178 = 0.1e1 / t171 / t129; + const double t181 = t169 * t133; + const double t182 = t180 * t181; + const double t184 = 0.1e1 / t171 / t135; + const double t187 = t169 * t139; + const double t188 = t186 * t187; + const double t190 = 0.1e1 / t171 / t141; + const double t192 = t128 * t130 + t134 * t136 + t140 * t142 + t146 * t148 + t152 * t154 + t158 * t160 + t164 * t166 + t170 * t172 + t176 * t178 + t182 * t184 + t188 * t190 + t119; + const double t195 = safe_math::exp( -0.93189002206715572255e-2 * t113 ); + const double t197 = 0.1552e1 - 0.552e0 * t195; + const double t200 = t199 * t127; + const double t203 = t202 * t133; + const double t206 = t205 * t139; + const double t209 = t208 * t145; + const double t212 = t211 * t151; + const double t215 = t214 * t157; + const double t218 = t217 * t163; + const double t221 = t220 * t169; + const double t224 = t223 * t175; + const double t227 = t226 * t181; + const double t230 = t229 * t187; + const double t232 = t200 * t130 + t203 * t136 + t206 * t142 + t209 * t148 + t212 * t154 + t215 * t160 + t218 * t166 + t221 * t172 + t224 * t178 + t227 * t184 + t230 * t190 + t198; + const double t234 = t118 * t192 + t197 * t232; + const double t235 = t100 * t234; + const double t238 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t235 ); + const double t239 = rho_b <= dens_tol; + const double t240 = -t17; + const double t242 = piecewise_functor_5( t15, t12, t11, t16, t240 * t8 ); + const double t243 = 0.1e1 + t242; + const double t244 = t243 <= zeta_tol; + const double t245 = safe_math::cbrt( t243 ); + const double t247 = piecewise_functor_3( t244, t23, t245 * t243 ); + const double t248 = t6 * t247; + const double t249 = piecewise_functor_5( t41, t12, t39, t16, -t18 ); + const double t250 = 0.1e1 + t249; + const double t251 = t250 <= zeta_tol; + const double t252 = safe_math::cbrt( t250 ); + const double t253 = piecewise_functor_3( t251, t22, t252 ); + const double t254 = 0.1e1 / t253; + const double t257 = t35 * t37 * t254 / 0.18e2; + const double t258 = 0.135e1 <= t257; + const double t259 = 0.135e1 < t257; + const double t260 = piecewise_functor_3( t259, t257, 1.35 ); + const double t261 = t260 * t260; + const double t264 = t261 * t261; + const double t265 = 0.1e1 / t264; + const double t267 = t264 * t261; + const double t268 = 0.1e1 / t267; + const double t270 = t264 * t264; + const double t271 = 0.1e1 / t270; + const double t274 = 0.1e1 / t270 / t261; + const double t277 = 0.1e1 / t270 / t264; + const double t280 = 0.1e1 / t270 / t267; + const double t282 = t270 * t270; + const double t283 = 0.1e1 / t282; + const double t286 = piecewise_functor_3( t259, 1.35, t257 ); + const double t287 = 0.1e1 / t286; + const double t289 = safe_math::erf( t287 / 0.2e1 ); + const double t291 = t286 * t286; + const double t292 = 0.1e1 / t291; + const double t294 = safe_math::exp( -t292 / 0.4e1 ); + const double t295 = t294 - 0.1e1; + const double t298 = t294 - 0.3e1 / 0.2e1 - 0.2e1 * t291 * t295; + const double t301 = 0.2e1 * t286 * t298 + t80 * t289; + const double t305 = piecewise_functor_3( t258, 0.1e1 / t261 / 0.36e2 - t265 / 0.96e3 + t268 / 0.2688e5 - t271 / 0.82944e6 + t274 / 0.2838528e8 - t277 / 0.107347968e10 + t280 / 0.445906944e11 - t283 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t286 * t301 ); + const double t306 = t28 * t305; + const double t307 = rho_b * rho_b; + const double t308 = safe_math::cbrt( rho_b ); + const double t309 = t308 * t308; + const double t311 = 0.1e1 / t309 / t307; + const double t313 = t106 * sigma_bb * t311; + const double t315 = 0.804e0 + 0.914625e-2 * t313; + const double t318 = 0.1804e1 - 0.646416e0 / t315; + const double t320 = 0.1e1 / t309 / rho_b; + const double t321 = tau_b * t320; + const double t322 = t123 - t321; + const double t323 = t120 * t322; + const double t324 = t123 + t321; + const double t325 = 0.1e1 / t324; + const double t327 = t322 * t322; + const double t328 = t132 * t327; + const double t329 = t324 * t324; + const double t330 = 0.1e1 / t329; + const double t332 = t327 * t322; + const double t333 = t138 * t332; + const double t334 = t329 * t324; + const double t335 = 0.1e1 / t334; + const double t337 = t327 * t327; + const double t338 = t144 * t337; + const double t339 = t329 * t329; + const double t340 = 0.1e1 / t339; + const double t342 = t337 * t322; + const double t343 = t150 * t342; + const double t344 = t339 * t324; + const double t345 = 0.1e1 / t344; + const double t347 = t337 * t327; + const double t348 = t156 * t347; + const double t349 = t339 * t329; + const double t350 = 0.1e1 / t349; + const double t352 = t337 * t332; + const double t353 = t162 * t352; + const double t354 = t339 * t334; + const double t355 = 0.1e1 / t354; + const double t357 = t337 * t337; + const double t358 = t168 * t357; + const double t359 = t339 * t339; + const double t360 = 0.1e1 / t359; + const double t362 = t357 * t322; + const double t363 = t174 * t362; + const double t365 = 0.1e1 / t359 / t324; + const double t367 = t357 * t327; + const double t368 = t180 * t367; + const double t370 = 0.1e1 / t359 / t329; + const double t372 = t357 * t332; + const double t373 = t186 * t372; + const double t375 = 0.1e1 / t359 / t334; + const double t377 = t323 * t325 + t328 * t330 + t333 * t335 + t338 * t340 + t343 * t345 + t348 * t350 + t353 * t355 + t358 * t360 + t363 * t365 + t368 * t370 + t373 * t375 + t119; + const double t380 = safe_math::exp( -0.93189002206715572255e-2 * t313 ); + const double t382 = 0.1552e1 - 0.552e0 * t380; + const double t383 = t199 * t322; + const double t385 = t202 * t327; + const double t387 = t205 * t332; + const double t389 = t208 * t337; + const double t391 = t211 * t342; + const double t393 = t214 * t347; + const double t395 = t217 * t352; + const double t397 = t220 * t357; + const double t399 = t223 * t362; + const double t401 = t226 * t367; + const double t403 = t229 * t372; + const double t405 = t383 * t325 + t385 * t330 + t387 * t335 + t389 * t340 + t391 * t345 + t393 * t350 + t395 * t355 + t397 * t360 + t399 * t365 + t401 * t370 + t403 * t375 + t198; + const double t407 = t318 * t377 + t382 * t405; + const double t408 = t306 * t407; + const double t411 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t408 ); + + + eps = t238 + t411; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_cbrt_one_ov_pi; + constexpr double t101 = constants::m_cbrt_6; + constexpr double t103 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t104 = t103 * t103; + constexpr double t105 = 0.1e1 / t104; + constexpr double t106 = t101 * t105; + constexpr double t119 = a_0; + constexpr double t120 = a_1; + constexpr double t121 = t101 * t101; + constexpr double t123 = 0.3e1 / 0.1e2 * t121 * t104; + constexpr double t132 = a_2; + constexpr double t138 = a_3; + constexpr double t144 = a_4; + constexpr double t150 = a_5; + constexpr double t156 = a_6; + constexpr double t162 = a_7; + constexpr double t168 = a_8; + constexpr double t174 = a_9; + constexpr double t180 = a_10; + constexpr double t186 = a_11; + constexpr double t198 = b_0; + constexpr double t199 = b_1; + constexpr double t202 = b_2; + constexpr double t205 = b_3; + constexpr double t208 = b_4; + constexpr double t211 = b_5; + constexpr double t214 = b_6; + constexpr double t217 = b_7; + constexpr double t220 = b_8; + constexpr double t223 = b_9; + constexpr double t226 = b_10; + constexpr double t229 = b_11; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t34 = t30 * t33; + const double t35 = t34 * omega; + const double t36 = 0.1e1 / t28; + const double t37 = t3 * t36; + const double t39 = 0.1e1 + t18 <= zeta_tol; + const double t41 = 0.1e1 - t18 <= zeta_tol; + const double t42 = piecewise_functor_5( t39, t12, t41, t16, t18 ); + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( t43 ); + const double t46 = piecewise_functor_3( t44, t22, t45 ); + const double t47 = 0.1e1 / t46; + const double t50 = t35 * t37 * t47 / 0.18e2; + const double t51 = 0.135e1 <= t50; + const double t52 = 0.135e1 < t50; + const double t53 = piecewise_functor_3( t52, t50, 1.35 ); + const double t54 = t53 * t53; + const double t57 = t54 * t54; + const double t58 = 0.1e1 / t57; + const double t60 = t57 * t54; + const double t61 = 0.1e1 / t60; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = 0.1e1 / t63 / t54; + const double t70 = 0.1e1 / t63 / t57; + const double t73 = 0.1e1 / t63 / t60; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = piecewise_functor_3( t52, 1.35, t50 ); + const double t80 = safe_math::sqrt( M_PI ); + const double t81 = 0.1e1 / t79; + const double t83 = safe_math::erf( t81 / 0.2e1 ); + const double t85 = t79 * t79; + const double t86 = 0.1e1 / t85; + const double t88 = safe_math::exp( -t86 / 0.4e1 ); + const double t89 = t88 - 0.1e1; + const double t92 = t88 - 0.3e1 / 0.2e1 - 0.2e1 * t85 * t89; + const double t95 = 0.2e1 * t79 * t92 + t80 * t83; + const double t99 = piecewise_functor_3( t51, 0.1e1 / t54 / 0.36e2 - t58 / 0.96e3 + t61 / 0.2688e5 - t64 / 0.82944e6 + t67 / 0.2838528e8 - t70 / 0.107347968e10 + t73 / 0.445906944e11 - t76 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t79 * t95 ); + const double t100 = t28 * t99; + const double t107 = rho_a * rho_a; + const double t108 = safe_math::cbrt( rho_a ); + const double t109 = t108 * t108; + const double t111 = 0.1e1 / t109 / t107; + const double t113 = t106 * sigma_aa * t111; + const double t115 = 0.804e0 + 0.914625e-2 * t113; + const double t118 = 0.1804e1 - 0.646416e0 / t115; + const double t125 = 0.1e1 / t109 / rho_a; + const double t126 = tau_a * t125; + const double t127 = t123 - t126; + const double t128 = t120 * t127; + const double t129 = t123 + t126; + const double t130 = 0.1e1 / t129; + const double t133 = t127 * t127; + const double t134 = t132 * t133; + const double t135 = t129 * t129; + const double t136 = 0.1e1 / t135; + const double t139 = t133 * t127; + const double t140 = t138 * t139; + const double t141 = t135 * t129; + const double t142 = 0.1e1 / t141; + const double t145 = t133 * t133; + const double t146 = t144 * t145; + const double t147 = t135 * t135; + const double t148 = 0.1e1 / t147; + const double t151 = t145 * t127; + const double t152 = t150 * t151; + const double t153 = t147 * t129; + const double t154 = 0.1e1 / t153; + const double t157 = t145 * t133; + const double t158 = t156 * t157; + const double t159 = t147 * t135; + const double t160 = 0.1e1 / t159; + const double t163 = t145 * t139; + const double t164 = t162 * t163; + const double t165 = t147 * t141; + const double t166 = 0.1e1 / t165; + const double t169 = t145 * t145; + const double t170 = t168 * t169; + const double t171 = t147 * t147; + const double t172 = 0.1e1 / t171; + const double t175 = t169 * t127; + const double t176 = t174 * t175; + const double t178 = 0.1e1 / t171 / t129; + const double t181 = t169 * t133; + const double t182 = t180 * t181; + const double t184 = 0.1e1 / t171 / t135; + const double t187 = t169 * t139; + const double t188 = t186 * t187; + const double t190 = 0.1e1 / t171 / t141; + const double t192 = t128 * t130 + t134 * t136 + t140 * t142 + t146 * t148 + t152 * t154 + t158 * t160 + t164 * t166 + t170 * t172 + t176 * t178 + t182 * t184 + t188 * t190 + t119; + const double t195 = safe_math::exp( -0.93189002206715572255e-2 * t113 ); + const double t197 = 0.1552e1 - 0.552e0 * t195; + const double t200 = t199 * t127; + const double t203 = t202 * t133; + const double t206 = t205 * t139; + const double t209 = t208 * t145; + const double t212 = t211 * t151; + const double t215 = t214 * t157; + const double t218 = t217 * t163; + const double t221 = t220 * t169; + const double t224 = t223 * t175; + const double t227 = t226 * t181; + const double t230 = t229 * t187; + const double t232 = t200 * t130 + t203 * t136 + t206 * t142 + t209 * t148 + t212 * t154 + t215 * t160 + t218 * t166 + t221 * t172 + t224 * t178 + t227 * t184 + t230 * t190 + t198; + const double t234 = t118 * t192 + t197 * t232; + const double t235 = t100 * t234; + const double t238 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t235 ); + const double t239 = rho_b <= dens_tol; + const double t240 = -t17; + const double t242 = piecewise_functor_5( t15, t12, t11, t16, t240 * t8 ); + const double t243 = 0.1e1 + t242; + const double t244 = t243 <= zeta_tol; + const double t245 = safe_math::cbrt( t243 ); + const double t247 = piecewise_functor_3( t244, t23, t245 * t243 ); + const double t248 = t6 * t247; + const double t249 = piecewise_functor_5( t41, t12, t39, t16, -t18 ); + const double t250 = 0.1e1 + t249; + const double t251 = t250 <= zeta_tol; + const double t252 = safe_math::cbrt( t250 ); + const double t253 = piecewise_functor_3( t251, t22, t252 ); + const double t254 = 0.1e1 / t253; + const double t257 = t35 * t37 * t254 / 0.18e2; + const double t258 = 0.135e1 <= t257; + const double t259 = 0.135e1 < t257; + const double t260 = piecewise_functor_3( t259, t257, 1.35 ); + const double t261 = t260 * t260; + const double t264 = t261 * t261; + const double t265 = 0.1e1 / t264; + const double t267 = t264 * t261; + const double t268 = 0.1e1 / t267; + const double t270 = t264 * t264; + const double t271 = 0.1e1 / t270; + const double t274 = 0.1e1 / t270 / t261; + const double t277 = 0.1e1 / t270 / t264; + const double t280 = 0.1e1 / t270 / t267; + const double t282 = t270 * t270; + const double t283 = 0.1e1 / t282; + const double t286 = piecewise_functor_3( t259, 1.35, t257 ); + const double t287 = 0.1e1 / t286; + const double t289 = safe_math::erf( t287 / 0.2e1 ); + const double t291 = t286 * t286; + const double t292 = 0.1e1 / t291; + const double t294 = safe_math::exp( -t292 / 0.4e1 ); + const double t295 = t294 - 0.1e1; + const double t298 = t294 - 0.3e1 / 0.2e1 - 0.2e1 * t291 * t295; + const double t301 = 0.2e1 * t286 * t298 + t80 * t289; + const double t305 = piecewise_functor_3( t258, 0.1e1 / t261 / 0.36e2 - t265 / 0.96e3 + t268 / 0.2688e5 - t271 / 0.82944e6 + t274 / 0.2838528e8 - t277 / 0.107347968e10 + t280 / 0.445906944e11 - t283 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t286 * t301 ); + const double t306 = t28 * t305; + const double t307 = rho_b * rho_b; + const double t308 = safe_math::cbrt( rho_b ); + const double t309 = t308 * t308; + const double t311 = 0.1e1 / t309 / t307; + const double t313 = t106 * sigma_bb * t311; + const double t315 = 0.804e0 + 0.914625e-2 * t313; + const double t318 = 0.1804e1 - 0.646416e0 / t315; + const double t320 = 0.1e1 / t309 / rho_b; + const double t321 = tau_b * t320; + const double t322 = t123 - t321; + const double t323 = t120 * t322; + const double t324 = t123 + t321; + const double t325 = 0.1e1 / t324; + const double t327 = t322 * t322; + const double t328 = t132 * t327; + const double t329 = t324 * t324; + const double t330 = 0.1e1 / t329; + const double t332 = t327 * t322; + const double t333 = t138 * t332; + const double t334 = t329 * t324; + const double t335 = 0.1e1 / t334; + const double t337 = t327 * t327; + const double t338 = t144 * t337; + const double t339 = t329 * t329; + const double t340 = 0.1e1 / t339; + const double t342 = t337 * t322; + const double t343 = t150 * t342; + const double t344 = t339 * t324; + const double t345 = 0.1e1 / t344; + const double t347 = t337 * t327; + const double t348 = t156 * t347; + const double t349 = t339 * t329; + const double t350 = 0.1e1 / t349; + const double t352 = t337 * t332; + const double t353 = t162 * t352; + const double t354 = t339 * t334; + const double t355 = 0.1e1 / t354; + const double t357 = t337 * t337; + const double t358 = t168 * t357; + const double t359 = t339 * t339; + const double t360 = 0.1e1 / t359; + const double t362 = t357 * t322; + const double t363 = t174 * t362; + const double t365 = 0.1e1 / t359 / t324; + const double t367 = t357 * t327; + const double t368 = t180 * t367; + const double t370 = 0.1e1 / t359 / t329; + const double t372 = t357 * t332; + const double t373 = t186 * t372; + const double t375 = 0.1e1 / t359 / t334; + const double t377 = t323 * t325 + t328 * t330 + t333 * t335 + t338 * t340 + t343 * t345 + t348 * t350 + t353 * t355 + t358 * t360 + t363 * t365 + t368 * t370 + t373 * t375 + t119; + const double t380 = safe_math::exp( -0.93189002206715572255e-2 * t313 ); + const double t382 = 0.1552e1 - 0.552e0 * t380; + const double t383 = t199 * t322; + const double t385 = t202 * t327; + const double t387 = t205 * t332; + const double t389 = t208 * t337; + const double t391 = t211 * t342; + const double t393 = t214 * t347; + const double t395 = t217 * t352; + const double t397 = t220 * t357; + const double t399 = t223 * t362; + const double t401 = t226 * t367; + const double t403 = t229 * t372; + const double t405 = t383 * t325 + t385 * t330 + t387 * t335 + t389 * t340 + t391 * t345 + t393 * t350 + t395 * t355 + t397 * t360 + t399 * t365 + t401 * t370 + t403 * t375 + t198; + const double t407 = t318 * t377 + t382 * t405; + const double t408 = t306 * t407; + const double t411 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t408 ); + const double t412 = t7 * t7; + const double t413 = 0.1e1 / t412; + const double t414 = t17 * t413; + const double t415 = t8 - t414; + const double t416 = piecewise_functor_5( t11, 0.0, t15, 0.0, t415 ); + const double t419 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t416 ); + const double t420 = t6 * t419; + const double t423 = t28 * t28; + const double t424 = 0.1e1 / t423; + const double t425 = t424 * t99; + const double t426 = t425 * t234; + const double t428 = t27 * t426 / 0.8e1; + const double t429 = t54 * t53; + const double t430 = 0.1e1 / t429; + const double t432 = 0.1e1 / t28 / t7; + const double t433 = t3 * t432; + const double t436 = t35 * t433 * t47 / 0.54e2; + const double t437 = t46 * t46; + const double t438 = 0.1e1 / t437; + const double t439 = t45 * t45; + const double t440 = 0.1e1 / t439; + const double t441 = piecewise_functor_5( t39, 0.0, t41, 0.0, t415 ); + const double t444 = piecewise_functor_3( t44, 0.0, t440 * t441 / 0.3e1 ); + const double t445 = t438 * t444; + const double t449 = -t436 - t35 * t37 * t445 / 0.18e2; + const double t450 = piecewise_functor_3( t52, t449, 0.0 ); + const double t453 = t57 * t53; + const double t454 = 0.1e1 / t453; + const double t457 = t57 * t429; + const double t458 = 0.1e1 / t457; + const double t462 = 0.1e1 / t63 / t53; + const double t466 = 0.1e1 / t63 / t429; + const double t470 = 0.1e1 / t63 / t453; + const double t474 = 0.1e1 / t63 / t457; + const double t478 = 0.1e1 / t75 / t53; + const double t482 = piecewise_functor_3( t52, 0.0, t449 ); + const double t484 = t88 * t86; + const double t488 = t85 * t79; + const double t489 = 0.1e1 / t488; + const double t493 = t79 * t89; + const double t498 = t489 * t482 * t88 / 0.2e1 - 0.4e1 * t493 * t482 - t81 * t482 * t88; + const double t501 = -t484 * t482 + 0.2e1 * t482 * t92 + 0.2e1 * t79 * t498; + const double t505 = piecewise_functor_3( t51, -t430 * t450 / 0.18e2 + t454 * t450 / 0.24e3 - t458 * t450 / 0.448e4 + t462 * t450 / 0.10368e6 - t466 * t450 / 0.2838528e7 + t470 * t450 / 0.8945664e8 - t474 * t450 / 0.31850496e10 + t478 * t450 / 0.1263403008e12, -0.8e1 / 0.3e1 * t482 * t95 - 0.8e1 / 0.3e1 * t79 * t501 ); + const double t506 = t28 * t505; + const double t507 = t506 * t234; + const double t510 = t115 * t115; + const double t512 = 0.1e1 / t510 * t101; + const double t513 = t512 * t105; + const double t514 = t107 * rho_a; + const double t516 = 0.1e1 / t109 / t514; + const double t517 = sigma_aa * t516; + const double t521 = t120 * tau_a; + const double t522 = t111 * t130; + const double t525 = t136 * tau_a; + const double t526 = t525 * t111; + const double t529 = t132 * t127; + const double t532 = t142 * tau_a; + const double t533 = t532 * t111; + const double t536 = t138 * t133; + const double t539 = t148 * tau_a; + const double t540 = t539 * t111; + const double t543 = t144 * t139; + const double t546 = t154 * tau_a; + const double t547 = t546 * t111; + const double t550 = t150 * t145; + const double t553 = t160 * tau_a; + const double t554 = t553 * t111; + const double t557 = t156 * t151; + const double t560 = 0.5e1 / 0.3e1 * t521 * t522 + 0.5e1 / 0.3e1 * t128 * t526 + 0.1e2 / 0.3e1 * t529 * t526 + 0.1e2 / 0.3e1 * t134 * t533 + 0.5e1 * t536 * t533 + 0.5e1 * t140 * t540 + 0.2e2 / 0.3e1 * t543 * t540 + 0.2e2 / 0.3e1 * t146 * t547 + 0.25e2 / 0.3e1 * t550 * t547 + 0.25e2 / 0.3e1 * t152 * t554 + 0.1e2 * t557 * t554; + const double t561 = t166 * tau_a; + const double t562 = t561 * t111; + const double t565 = t162 * t157; + const double t568 = t172 * tau_a; + const double t569 = t568 * t111; + const double t572 = t168 * t163; + const double t575 = t178 * tau_a; + const double t576 = t575 * t111; + const double t579 = t174 * t169; + const double t582 = t184 * tau_a; + const double t583 = t582 * t111; + const double t586 = t180 * t175; + const double t589 = t190 * tau_a; + const double t590 = t589 * t111; + const double t593 = t186 * t181; + const double t597 = 0.1e1 / t171 / t147; + const double t598 = t597 * tau_a; + const double t599 = t598 * t111; + const double t602 = 0.1e2 * t158 * t562 + 0.35e2 / 0.3e1 * t565 * t562 + 0.35e2 / 0.3e1 * t164 * t569 + 0.4e2 / 0.3e1 * t572 * t569 + 0.4e2 / 0.3e1 * t170 * t576 + 0.15e2 * t579 * t576 + 0.15e2 * t176 * t583 + 0.5e2 / 0.3e1 * t586 * t583 + 0.5e2 / 0.3e1 * t182 * t590 + 0.55e2 / 0.3e1 * t593 * t590 + 0.55e2 / 0.3e1 * t188 * t599; + const double t603 = t560 + t602; + const double t605 = t106 * sigma_aa; + const double t606 = t516 * t195; + const double t607 = t606 * t232; + const double t610 = t199 * tau_a; + const double t615 = t202 * t127; + const double t620 = t205 * t133; + const double t625 = t208 * t139; + const double t630 = t211 * t145; + const double t635 = t214 * t151; + const double t638 = 0.5e1 / 0.3e1 * t610 * t522 + 0.5e1 / 0.3e1 * t200 * t526 + 0.1e2 / 0.3e1 * t615 * t526 + 0.1e2 / 0.3e1 * t203 * t533 + 0.5e1 * t620 * t533 + 0.5e1 * t206 * t540 + 0.2e2 / 0.3e1 * t625 * t540 + 0.2e2 / 0.3e1 * t209 * t547 + 0.25e2 / 0.3e1 * t630 * t547 + 0.25e2 / 0.3e1 * t212 * t554 + 0.1e2 * t635 * t554; + const double t641 = t217 * t157; + const double t646 = t220 * t163; + const double t651 = t223 * t169; + const double t656 = t226 * t175; + const double t661 = t229 * t181; + const double t666 = 0.1e2 * t215 * t562 + 0.35e2 / 0.3e1 * t641 * t562 + 0.35e2 / 0.3e1 * t218 * t569 + 0.4e2 / 0.3e1 * t646 * t569 + 0.4e2 / 0.3e1 * t221 * t576 + 0.15e2 * t651 * t576 + 0.15e2 * t224 * t583 + 0.5e2 / 0.3e1 * t656 * t583 + 0.5e2 / 0.3e1 * t227 * t590 + 0.55e2 / 0.3e1 * t661 * t590 + 0.55e2 / 0.3e1 * t230 * t599; + const double t667 = t638 + t666; + const double t669 = -0.1576608624e-1 * t513 * t517 * t192 + t118 * t603 - 0.13717421124828532236e-1 * t605 * t607 + t197 * t667; + const double t670 = t100 * t669; + const double t674 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t420 * t235 - t428 - 0.3e1 / 0.8e1 * t27 * t507 - 0.3e1 / 0.8e1 * t27 * t670 ); + const double t675 = t240 * t413; + const double t677 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t675 ); + const double t680 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.3e1 * t245 * t677 ); + const double t681 = t6 * t680; + const double t684 = t424 * t305; + const double t685 = t684 * t407; + const double t687 = t248 * t685 / 0.8e1; + const double t688 = t261 * t260; + const double t689 = 0.1e1 / t688; + const double t692 = t35 * t433 * t254 / 0.54e2; + const double t693 = t253 * t253; + const double t694 = 0.1e1 / t693; + const double t695 = t252 * t252; + const double t696 = 0.1e1 / t695; + const double t698 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t415 ); + const double t701 = piecewise_functor_3( t251, 0.0, t696 * t698 / 0.3e1 ); + const double t702 = t694 * t701; + const double t706 = -t692 - t35 * t37 * t702 / 0.18e2; + const double t707 = piecewise_functor_3( t259, t706, 0.0 ); + const double t710 = t264 * t260; + const double t711 = 0.1e1 / t710; + const double t714 = t264 * t688; + const double t715 = 0.1e1 / t714; + const double t719 = 0.1e1 / t270 / t260; + const double t723 = 0.1e1 / t270 / t688; + const double t727 = 0.1e1 / t270 / t710; + const double t731 = 0.1e1 / t270 / t714; + const double t735 = 0.1e1 / t282 / t260; + const double t739 = piecewise_functor_3( t259, 0.0, t706 ); + const double t741 = t294 * t292; + const double t745 = t291 * t286; + const double t746 = 0.1e1 / t745; + const double t750 = t286 * t295; + const double t755 = t746 * t739 * t294 / 0.2e1 - 0.4e1 * t750 * t739 - t287 * t739 * t294; + const double t758 = 0.2e1 * t286 * t755 + 0.2e1 * t739 * t298 - t741 * t739; + const double t762 = piecewise_functor_3( t258, -t689 * t707 / 0.18e2 + t711 * t707 / 0.24e3 - t715 * t707 / 0.448e4 + t719 * t707 / 0.10368e6 - t723 * t707 / 0.2838528e7 + t727 * t707 / 0.8945664e8 - t731 * t707 / 0.31850496e10 + t735 * t707 / 0.1263403008e12, -0.8e1 / 0.3e1 * t286 * t758 - 0.8e1 / 0.3e1 * t739 * t301 ); + const double t763 = t28 * t762; + const double t764 = t763 * t407; + const double t768 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t681 * t408 - t687 - 0.3e1 / 0.8e1 * t248 * t764 ); + const double t771 = -t8 - t414; + const double t772 = piecewise_functor_5( t11, 0.0, t15, 0.0, t771 ); + const double t775 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t772 ); + const double t776 = t6 * t775; + const double t779 = piecewise_functor_5( t39, 0.0, t41, 0.0, t771 ); + const double t782 = piecewise_functor_3( t44, 0.0, t440 * t779 / 0.3e1 ); + const double t783 = t438 * t782; + const double t787 = -t436 - t35 * t37 * t783 / 0.18e2; + const double t788 = piecewise_functor_3( t52, t787, 0.0 ); + const double t791 = t454 * t788; + const double t793 = t458 * t788; + const double t795 = t462 * t788; + const double t797 = t466 * t788; + const double t799 = t470 * t788; + const double t801 = t474 * t788; + const double t803 = t478 * t788; + const double t806 = piecewise_functor_3( t52, 0.0, t787 ); + const double t818 = t489 * t806 * t88 / 0.2e1 - 0.4e1 * t493 * t806 - t81 * t806 * t88; + const double t821 = -t484 * t806 + 0.2e1 * t79 * t818 + 0.2e1 * t806 * t92; + const double t825 = piecewise_functor_3( t51, -t430 * t788 / 0.18e2 + t791 / 0.24e3 - t793 / 0.448e4 + t795 / 0.10368e6 - t797 / 0.2838528e7 + t799 / 0.8945664e8 - t801 / 0.31850496e10 + t803 / 0.1263403008e12, -0.8e1 / 0.3e1 * t79 * t821 - 0.8e1 / 0.3e1 * t806 * t95 ); + const double t826 = t28 * t825; + const double t827 = t826 * t234; + const double t831 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t776 * t235 - t428 - 0.3e1 / 0.8e1 * t27 * t827 ); + const double t833 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t675 ); + const double t836 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.3e1 * t245 * t833 ); + const double t837 = t6 * t836; + const double t841 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t771 ); + const double t844 = piecewise_functor_3( t251, 0.0, t696 * t841 / 0.3e1 ); + const double t845 = t694 * t844; + const double t849 = -t692 - t35 * t37 * t845 / 0.18e2; + const double t850 = piecewise_functor_3( t259, t849, 0.0 ); + const double t853 = t711 * t850; + const double t855 = t715 * t850; + const double t857 = t719 * t850; + const double t859 = t723 * t850; + const double t861 = t727 * t850; + const double t863 = t731 * t850; + const double t865 = t735 * t850; + const double t868 = piecewise_functor_3( t259, 0.0, t849 ); + const double t880 = t746 * t868 * t294 / 0.2e1 - 0.4e1 * t750 * t868 - t287 * t868 * t294; + const double t883 = 0.2e1 * t286 * t880 + 0.2e1 * t868 * t298 - t741 * t868; + const double t887 = piecewise_functor_3( t258, -t689 * t850 / 0.18e2 + t853 / 0.24e3 - t855 / 0.448e4 + t857 / 0.10368e6 - t859 / 0.2838528e7 + t861 / 0.8945664e8 - t863 / 0.31850496e10 + t865 / 0.1263403008e12, -0.8e1 / 0.3e1 * t286 * t883 - 0.8e1 / 0.3e1 * t868 * t301 ); + const double t888 = t28 * t887; + const double t889 = t888 * t407; + const double t892 = t315 * t315; + const double t894 = 0.1e1 / t892 * t101; + const double t895 = t894 * t105; + const double t896 = t307 * rho_b; + const double t898 = 0.1e1 / t309 / t896; + const double t899 = sigma_bb * t898; + const double t903 = t120 * tau_b; + const double t904 = t311 * t325; + const double t907 = t330 * tau_b; + const double t908 = t907 * t311; + const double t911 = t132 * t322; + const double t914 = t335 * tau_b; + const double t915 = t914 * t311; + const double t918 = t138 * t327; + const double t921 = t340 * tau_b; + const double t922 = t921 * t311; + const double t925 = t144 * t332; + const double t928 = t345 * tau_b; + const double t929 = t928 * t311; + const double t932 = t150 * t337; + const double t935 = t350 * tau_b; + const double t936 = t935 * t311; + const double t939 = t156 * t342; + const double t942 = 0.5e1 / 0.3e1 * t903 * t904 + 0.5e1 / 0.3e1 * t323 * t908 + 0.1e2 / 0.3e1 * t911 * t908 + 0.1e2 / 0.3e1 * t328 * t915 + 0.5e1 * t918 * t915 + 0.5e1 * t333 * t922 + 0.2e2 / 0.3e1 * t925 * t922 + 0.2e2 / 0.3e1 * t338 * t929 + 0.25e2 / 0.3e1 * t932 * t929 + 0.25e2 / 0.3e1 * t343 * t936 + 0.1e2 * t939 * t936; + const double t943 = t355 * tau_b; + const double t944 = t943 * t311; + const double t947 = t162 * t347; + const double t950 = t360 * tau_b; + const double t951 = t950 * t311; + const double t954 = t168 * t352; + const double t957 = t365 * tau_b; + const double t958 = t957 * t311; + const double t961 = t174 * t357; + const double t964 = t370 * tau_b; + const double t965 = t964 * t311; + const double t968 = t180 * t362; + const double t971 = t375 * tau_b; + const double t972 = t971 * t311; + const double t975 = t186 * t367; + const double t979 = 0.1e1 / t359 / t339; + const double t980 = t979 * tau_b; + const double t981 = t980 * t311; + const double t984 = 0.1e2 * t348 * t944 + 0.35e2 / 0.3e1 * t947 * t944 + 0.35e2 / 0.3e1 * t353 * t951 + 0.4e2 / 0.3e1 * t954 * t951 + 0.4e2 / 0.3e1 * t358 * t958 + 0.15e2 * t961 * t958 + 0.15e2 * t363 * t965 + 0.5e2 / 0.3e1 * t968 * t965 + 0.5e2 / 0.3e1 * t368 * t972 + 0.55e2 / 0.3e1 * t975 * t972 + 0.55e2 / 0.3e1 * t373 * t981; + const double t985 = t942 + t984; + const double t987 = t106 * sigma_bb; + const double t988 = t898 * t380; + const double t989 = t988 * t405; + const double t992 = t199 * tau_b; + const double t997 = t202 * t322; + const double t1002 = t205 * t327; + const double t1007 = t208 * t332; + const double t1012 = t211 * t337; + const double t1017 = t214 * t342; + const double t1020 = 0.5e1 / 0.3e1 * t992 * t904 + 0.5e1 / 0.3e1 * t383 * t908 + 0.1e2 / 0.3e1 * t997 * t908 + 0.1e2 / 0.3e1 * t385 * t915 + 0.5e1 * t1002 * t915 + 0.5e1 * t387 * t922 + 0.2e2 / 0.3e1 * t1007 * t922 + 0.2e2 / 0.3e1 * t389 * t929 + 0.25e2 / 0.3e1 * t1012 * t929 + 0.25e2 / 0.3e1 * t391 * t936 + 0.1e2 * t1017 * t936; + const double t1023 = t217 * t347; + const double t1028 = t220 * t352; + const double t1033 = t223 * t357; + const double t1038 = t226 * t362; + const double t1043 = t229 * t367; + const double t1048 = 0.1e2 * t393 * t944 + 0.35e2 / 0.3e1 * t1023 * t944 + 0.35e2 / 0.3e1 * t395 * t951 + 0.4e2 / 0.3e1 * t1028 * t951 + 0.4e2 / 0.3e1 * t397 * t958 + 0.15e2 * t1033 * t958 + 0.15e2 * t399 * t965 + 0.5e2 / 0.3e1 * t1038 * t965 + 0.5e2 / 0.3e1 * t401 * t972 + 0.55e2 / 0.3e1 * t1043 * t972 + 0.55e2 / 0.3e1 * t403 * t981; + const double t1049 = t1020 + t1048; + const double t1051 = -0.1576608624e-1 * t895 * t899 * t377 + t318 * t985 - 0.13717421124828532236e-1 * t987 * t989 + t382 * t1049; + const double t1052 = t306 * t1051; + const double t1056 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t837 * t408 - t687 - 0.3e1 / 0.8e1 * t248 * t889 - 0.3e1 / 0.8e1 * t248 * t1052 ); + const double t1059 = t105 * t111; + const double t1063 = t111 * t195; + const double t1067 = 0.591228234e-2 * t512 * t1059 * t192 + 0.51440329218106995885e-2 * t106 * t1063 * t232; + const double t1068 = t100 * t1067; + const double t1071 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1068 ); + const double t1072 = t105 * t311; + const double t1076 = t311 * t380; + const double t1080 = 0.591228234e-2 * t894 * t1072 * t377 + 0.51440329218106995885e-2 * t106 * t1076 * t405; + const double t1081 = t306 * t1080; + const double t1084 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t1081 ); + const double t1087 = t136 * t125; + const double t1091 = t142 * t125; + const double t1096 = t148 * t125; + const double t1101 = t154 * t125; + const double t1106 = t160 * t125; + const double t1111 = -t120 * t125 * t130 - t128 * t1087 - 0.2e1 * t529 * t1087 - 0.2e1 * t134 * t1091 - 0.3e1 * t536 * t1091 - 0.3e1 * t140 * t1096 - 0.4e1 * t543 * t1096 - 0.4e1 * t146 * t1101 - 0.5e1 * t550 * t1101 - 0.5e1 * t152 * t1106 - 0.6e1 * t557 * t1106; + const double t1112 = t166 * t125; + const double t1117 = t172 * t125; + const double t1122 = t178 * t125; + const double t1127 = t184 * t125; + const double t1132 = t190 * t125; + const double t1137 = t597 * t125; + const double t1140 = -0.6e1 * t158 * t1112 - 0.7e1 * t565 * t1112 - 0.7e1 * t164 * t1117 - 0.8e1 * t572 * t1117 - 0.8e1 * t170 * t1122 - 0.9e1 * t579 * t1122 - 0.9e1 * t176 * t1127 - 0.1e2 * t586 * t1127 - 0.1e2 * t182 * t1132 - 0.11e2 * t593 * t1132 - 0.11e2 * t188 * t1137; + const double t1141 = t1111 + t1140; + const double t1164 = -t199 * t125 * t130 - t200 * t1087 - 0.2e1 * t615 * t1087 - 0.2e1 * t203 * t1091 - 0.3e1 * t620 * t1091 - 0.3e1 * t206 * t1096 - 0.4e1 * t625 * t1096 - 0.4e1 * t209 * t1101 - 0.5e1 * t630 * t1101 - 0.5e1 * t212 * t1106 - 0.6e1 * t635 * t1106; + const double t1187 = -0.6e1 * t215 * t1112 - 0.7e1 * t641 * t1112 - 0.7e1 * t218 * t1117 - 0.8e1 * t646 * t1117 - 0.8e1 * t221 * t1122 - 0.9e1 * t651 * t1122 - 0.9e1 * t224 * t1127 - 0.1e2 * t656 * t1127 - 0.1e2 * t227 * t1132 - 0.11e2 * t661 * t1132 - 0.11e2 * t230 * t1137; + const double t1188 = t1164 + t1187; + const double t1190 = t118 * t1141 + t197 * t1188; + const double t1191 = t100 * t1190; + const double t1194 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1191 ); + const double t1197 = t330 * t320; + const double t1201 = t335 * t320; + const double t1206 = t340 * t320; + const double t1211 = t345 * t320; + const double t1216 = t350 * t320; + const double t1221 = -t120 * t320 * t325 - t323 * t1197 - 0.2e1 * t911 * t1197 - 0.2e1 * t328 * t1201 - 0.3e1 * t918 * t1201 - 0.3e1 * t333 * t1206 - 0.4e1 * t925 * t1206 - 0.4e1 * t338 * t1211 - 0.5e1 * t932 * t1211 - 0.5e1 * t343 * t1216 - 0.6e1 * t939 * t1216; + const double t1222 = t355 * t320; + const double t1227 = t360 * t320; + const double t1232 = t365 * t320; + const double t1237 = t370 * t320; + const double t1242 = t375 * t320; + const double t1247 = t979 * t320; + const double t1250 = -0.6e1 * t348 * t1222 - 0.7e1 * t947 * t1222 - 0.7e1 * t353 * t1227 - 0.8e1 * t954 * t1227 - 0.8e1 * t358 * t1232 - 0.9e1 * t961 * t1232 - 0.9e1 * t363 * t1237 - 0.1e2 * t968 * t1237 - 0.1e2 * t368 * t1242 - 0.11e2 * t975 * t1242 - 0.11e2 * t373 * t1247; + const double t1251 = t1221 + t1250; + const double t1274 = -t199 * t320 * t325 - 0.3e1 * t1002 * t1201 - 0.4e1 * t1007 * t1206 - 0.5e1 * t1012 * t1211 - 0.6e1 * t1017 * t1216 - t383 * t1197 - 0.2e1 * t997 * t1197 - 0.2e1 * t385 * t1201 - 0.3e1 * t387 * t1206 - 0.4e1 * t389 * t1211 - 0.5e1 * t391 * t1216; + const double t1297 = -0.7e1 * t1023 * t1222 - 0.8e1 * t1028 * t1227 - 0.9e1 * t1033 * t1232 - 0.1e2 * t1038 * t1237 - 0.11e2 * t1043 * t1242 - 0.6e1 * t393 * t1222 - 0.7e1 * t395 * t1227 - 0.8e1 * t397 * t1232 - 0.9e1 * t399 * t1237 - 0.1e2 * t401 * t1242 - 0.11e2 * t403 * t1247; + const double t1298 = t1274 + t1297; + const double t1300 = t318 * t1251 + t382 * t1298; + const double t1301 = t306 * t1300; + const double t1304 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t1301 ); + + + eps = t238 + t411; + vrho_a = t238 + t411 + t7 * ( t674 + t768 ); + vrho_b = t238 + t411 + t7 * ( t831 + t1056 ); + vsigma_aa = t7 * t1071; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1084; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1194; + vtau_b = t7 * t1304; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_cbrt_one_ov_pi; + constexpr double t101 = constants::m_cbrt_6; + constexpr double t102 = constants::m_pi_sq; + constexpr double t103 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t104 = t103 * t103; + constexpr double t105 = 0.1e1 / t104; + constexpr double t106 = t101 * t105; + constexpr double t119 = a_0; + constexpr double t120 = a_1; + constexpr double t121 = t101 * t101; + constexpr double t123 = 0.3e1 / 0.1e2 * t121 * t104; + constexpr double t132 = a_2; + constexpr double t138 = a_3; + constexpr double t144 = a_4; + constexpr double t150 = a_5; + constexpr double t156 = a_6; + constexpr double t162 = a_7; + constexpr double t168 = a_8; + constexpr double t174 = a_9; + constexpr double t180 = a_10; + constexpr double t186 = a_11; + constexpr double t198 = b_0; + constexpr double t199 = b_1; + constexpr double t202 = b_2; + constexpr double t205 = b_3; + constexpr double t208 = b_4; + constexpr double t211 = b_5; + constexpr double t214 = b_6; + constexpr double t217 = b_7; + constexpr double t220 = b_8; + constexpr double t223 = b_9; + constexpr double t226 = b_10; + constexpr double t229 = b_11; + constexpr double t1471 = 0.1e1 / t103 / t102; + constexpr double t1663 = t121 * t1471; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t34 = t30 * t33; + const double t35 = t34 * omega; + const double t36 = 0.1e1 / t28; + const double t37 = t3 * t36; + const double t39 = 0.1e1 + t18 <= zeta_tol; + const double t41 = 0.1e1 - t18 <= zeta_tol; + const double t42 = piecewise_functor_5( t39, t12, t41, t16, t18 ); + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( t43 ); + const double t46 = piecewise_functor_3( t44, t22, t45 ); + const double t47 = 0.1e1 / t46; + const double t50 = t35 * t37 * t47 / 0.18e2; + const double t51 = 0.135e1 <= t50; + const double t52 = 0.135e1 < t50; + const double t53 = piecewise_functor_3( t52, t50, 1.35 ); + const double t54 = t53 * t53; + const double t57 = t54 * t54; + const double t58 = 0.1e1 / t57; + const double t60 = t57 * t54; + const double t61 = 0.1e1 / t60; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = 0.1e1 / t63 / t54; + const double t70 = 0.1e1 / t63 / t57; + const double t73 = 0.1e1 / t63 / t60; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = piecewise_functor_3( t52, 1.35, t50 ); + const double t80 = safe_math::sqrt( M_PI ); + const double t81 = 0.1e1 / t79; + const double t83 = safe_math::erf( t81 / 0.2e1 ); + const double t85 = t79 * t79; + const double t86 = 0.1e1 / t85; + const double t88 = safe_math::exp( -t86 / 0.4e1 ); + const double t89 = t88 - 0.1e1; + const double t92 = t88 - 0.3e1 / 0.2e1 - 0.2e1 * t85 * t89; + const double t95 = 0.2e1 * t79 * t92 + t80 * t83; + const double t99 = piecewise_functor_3( t51, 0.1e1 / t54 / 0.36e2 - t58 / 0.96e3 + t61 / 0.2688e5 - t64 / 0.82944e6 + t67 / 0.2838528e8 - t70 / 0.107347968e10 + t73 / 0.445906944e11 - t76 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t79 * t95 ); + const double t100 = t28 * t99; + const double t107 = rho_a * rho_a; + const double t108 = safe_math::cbrt( rho_a ); + const double t109 = t108 * t108; + const double t111 = 0.1e1 / t109 / t107; + const double t113 = t106 * sigma_aa * t111; + const double t115 = 0.804e0 + 0.914625e-2 * t113; + const double t118 = 0.1804e1 - 0.646416e0 / t115; + const double t125 = 0.1e1 / t109 / rho_a; + const double t126 = tau_a * t125; + const double t127 = t123 - t126; + const double t128 = t120 * t127; + const double t129 = t123 + t126; + const double t130 = 0.1e1 / t129; + const double t133 = t127 * t127; + const double t134 = t132 * t133; + const double t135 = t129 * t129; + const double t136 = 0.1e1 / t135; + const double t139 = t133 * t127; + const double t140 = t138 * t139; + const double t141 = t135 * t129; + const double t142 = 0.1e1 / t141; + const double t145 = t133 * t133; + const double t146 = t144 * t145; + const double t147 = t135 * t135; + const double t148 = 0.1e1 / t147; + const double t151 = t145 * t127; + const double t152 = t150 * t151; + const double t153 = t147 * t129; + const double t154 = 0.1e1 / t153; + const double t157 = t145 * t133; + const double t158 = t156 * t157; + const double t159 = t147 * t135; + const double t160 = 0.1e1 / t159; + const double t163 = t145 * t139; + const double t164 = t162 * t163; + const double t165 = t147 * t141; + const double t166 = 0.1e1 / t165; + const double t169 = t145 * t145; + const double t170 = t168 * t169; + const double t171 = t147 * t147; + const double t172 = 0.1e1 / t171; + const double t175 = t169 * t127; + const double t176 = t174 * t175; + const double t178 = 0.1e1 / t171 / t129; + const double t181 = t169 * t133; + const double t182 = t180 * t181; + const double t184 = 0.1e1 / t171 / t135; + const double t187 = t169 * t139; + const double t188 = t186 * t187; + const double t190 = 0.1e1 / t171 / t141; + const double t192 = t128 * t130 + t134 * t136 + t140 * t142 + t146 * t148 + t152 * t154 + t158 * t160 + t164 * t166 + t170 * t172 + t176 * t178 + t182 * t184 + t188 * t190 + t119; + const double t195 = safe_math::exp( -0.93189002206715572255e-2 * t113 ); + const double t197 = 0.1552e1 - 0.552e0 * t195; + const double t200 = t199 * t127; + const double t203 = t202 * t133; + const double t206 = t205 * t139; + const double t209 = t208 * t145; + const double t212 = t211 * t151; + const double t215 = t214 * t157; + const double t218 = t217 * t163; + const double t221 = t220 * t169; + const double t224 = t223 * t175; + const double t227 = t226 * t181; + const double t230 = t229 * t187; + const double t232 = t200 * t130 + t203 * t136 + t206 * t142 + t209 * t148 + t212 * t154 + t215 * t160 + t218 * t166 + t221 * t172 + t224 * t178 + t227 * t184 + t230 * t190 + t198; + const double t234 = t118 * t192 + t197 * t232; + const double t235 = t100 * t234; + const double t239 = rho_b <= dens_tol; + const double t240 = -t17; + const double t242 = piecewise_functor_5( t15, t12, t11, t16, t240 * t8 ); + const double t243 = 0.1e1 + t242; + const double t244 = t243 <= zeta_tol; + const double t245 = safe_math::cbrt( t243 ); + const double t247 = piecewise_functor_3( t244, t23, t245 * t243 ); + const double t248 = t6 * t247; + const double t249 = piecewise_functor_5( t41, t12, t39, t16, -t18 ); + const double t250 = 0.1e1 + t249; + const double t251 = t250 <= zeta_tol; + const double t252 = safe_math::cbrt( t250 ); + const double t253 = piecewise_functor_3( t251, t22, t252 ); + const double t254 = 0.1e1 / t253; + const double t257 = t35 * t37 * t254 / 0.18e2; + const double t258 = 0.135e1 <= t257; + const double t259 = 0.135e1 < t257; + const double t260 = piecewise_functor_3( t259, t257, 1.35 ); + const double t261 = t260 * t260; + const double t264 = t261 * t261; + const double t265 = 0.1e1 / t264; + const double t267 = t264 * t261; + const double t268 = 0.1e1 / t267; + const double t270 = t264 * t264; + const double t271 = 0.1e1 / t270; + const double t274 = 0.1e1 / t270 / t261; + const double t277 = 0.1e1 / t270 / t264; + const double t280 = 0.1e1 / t270 / t267; + const double t282 = t270 * t270; + const double t283 = 0.1e1 / t282; + const double t286 = piecewise_functor_3( t259, 1.35, t257 ); + const double t287 = 0.1e1 / t286; + const double t289 = safe_math::erf( t287 / 0.2e1 ); + const double t291 = t286 * t286; + const double t292 = 0.1e1 / t291; + const double t294 = safe_math::exp( -t292 / 0.4e1 ); + const double t295 = t294 - 0.1e1; + const double t298 = t294 - 0.3e1 / 0.2e1 - 0.2e1 * t291 * t295; + const double t301 = 0.2e1 * t286 * t298 + t80 * t289; + const double t305 = piecewise_functor_3( t258, 0.1e1 / t261 / 0.36e2 - t265 / 0.96e3 + t268 / 0.2688e5 - t271 / 0.82944e6 + t274 / 0.2838528e8 - t277 / 0.107347968e10 + t280 / 0.445906944e11 - t283 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t286 * t301 ); + const double t306 = t28 * t305; + const double t307 = rho_b * rho_b; + const double t308 = safe_math::cbrt( rho_b ); + const double t309 = t308 * t308; + const double t311 = 0.1e1 / t309 / t307; + const double t313 = t106 * sigma_bb * t311; + const double t315 = 0.804e0 + 0.914625e-2 * t313; + const double t318 = 0.1804e1 - 0.646416e0 / t315; + const double t320 = 0.1e1 / t309 / rho_b; + const double t321 = tau_b * t320; + const double t322 = t123 - t321; + const double t323 = t120 * t322; + const double t324 = t123 + t321; + const double t325 = 0.1e1 / t324; + const double t327 = t322 * t322; + const double t328 = t132 * t327; + const double t329 = t324 * t324; + const double t330 = 0.1e1 / t329; + const double t332 = t327 * t322; + const double t333 = t138 * t332; + const double t334 = t329 * t324; + const double t335 = 0.1e1 / t334; + const double t337 = t327 * t327; + const double t338 = t144 * t337; + const double t339 = t329 * t329; + const double t340 = 0.1e1 / t339; + const double t342 = t337 * t322; + const double t343 = t150 * t342; + const double t344 = t339 * t324; + const double t345 = 0.1e1 / t344; + const double t347 = t337 * t327; + const double t348 = t156 * t347; + const double t349 = t339 * t329; + const double t350 = 0.1e1 / t349; + const double t352 = t337 * t332; + const double t353 = t162 * t352; + const double t354 = t339 * t334; + const double t355 = 0.1e1 / t354; + const double t357 = t337 * t337; + const double t358 = t168 * t357; + const double t359 = t339 * t339; + const double t360 = 0.1e1 / t359; + const double t362 = t357 * t322; + const double t363 = t174 * t362; + const double t365 = 0.1e1 / t359 / t324; + const double t367 = t357 * t327; + const double t368 = t180 * t367; + const double t370 = 0.1e1 / t359 / t329; + const double t372 = t357 * t332; + const double t373 = t186 * t372; + const double t375 = 0.1e1 / t359 / t334; + const double t377 = t323 * t325 + t328 * t330 + t333 * t335 + t338 * t340 + t343 * t345 + t348 * t350 + t353 * t355 + t358 * t360 + t363 * t365 + t368 * t370 + t373 * t375 + t119; + const double t380 = safe_math::exp( -0.93189002206715572255e-2 * t313 ); + const double t382 = 0.1552e1 - 0.552e0 * t380; + const double t383 = t199 * t322; + const double t385 = t202 * t327; + const double t387 = t205 * t332; + const double t389 = t208 * t337; + const double t391 = t211 * t342; + const double t393 = t214 * t347; + const double t395 = t217 * t352; + const double t397 = t220 * t357; + const double t399 = t223 * t362; + const double t401 = t226 * t367; + const double t403 = t229 * t372; + const double t405 = t383 * t325 + t385 * t330 + t387 * t335 + t389 * t340 + t391 * t345 + t393 * t350 + t395 * t355 + t397 * t360 + t399 * t365 + t401 * t370 + t403 * t375 + t198; + const double t407 = t318 * t377 + t382 * t405; + const double t408 = t306 * t407; + const double t412 = t7 * t7; + const double t413 = 0.1e1 / t412; + const double t414 = t17 * t413; + const double t415 = t8 - t414; + const double t416 = piecewise_functor_5( t11, 0.0, t15, 0.0, t415 ); + const double t419 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t416 ); + const double t420 = t6 * t419; + const double t423 = t28 * t28; + const double t424 = 0.1e1 / t423; + const double t425 = t424 * t99; + const double t426 = t425 * t234; + const double t428 = t27 * t426 / 0.8e1; + const double t429 = t54 * t53; + const double t430 = 0.1e1 / t429; + const double t432 = 0.1e1 / t28 / t7; + const double t433 = t3 * t432; + const double t436 = t35 * t433 * t47 / 0.54e2; + const double t437 = t46 * t46; + const double t438 = 0.1e1 / t437; + const double t439 = t45 * t45; + const double t440 = 0.1e1 / t439; + const double t441 = piecewise_functor_5( t39, 0.0, t41, 0.0, t415 ); + const double t444 = piecewise_functor_3( t44, 0.0, t440 * t441 / 0.3e1 ); + const double t445 = t438 * t444; + const double t449 = -t436 - t35 * t37 * t445 / 0.18e2; + const double t450 = piecewise_functor_3( t52, t449, 0.0 ); + const double t453 = t57 * t53; + const double t454 = 0.1e1 / t453; + const double t457 = t57 * t429; + const double t458 = 0.1e1 / t457; + const double t462 = 0.1e1 / t63 / t53; + const double t466 = 0.1e1 / t63 / t429; + const double t470 = 0.1e1 / t63 / t453; + const double t474 = 0.1e1 / t63 / t457; + const double t478 = 0.1e1 / t75 / t53; + const double t482 = piecewise_functor_3( t52, 0.0, t449 ); + const double t484 = t88 * t86; + const double t488 = t85 * t79; + const double t489 = 0.1e1 / t488; + const double t493 = t79 * t89; + const double t498 = t489 * t482 * t88 / 0.2e1 - 0.4e1 * t493 * t482 - t81 * t482 * t88; + const double t501 = -t484 * t482 + 0.2e1 * t482 * t92 + 0.2e1 * t79 * t498; + const double t505 = piecewise_functor_3( t51, -t430 * t450 / 0.18e2 + t454 * t450 / 0.24e3 - t458 * t450 / 0.448e4 + t462 * t450 / 0.10368e6 - t466 * t450 / 0.2838528e7 + t470 * t450 / 0.8945664e8 - t474 * t450 / 0.31850496e10 + t478 * t450 / 0.1263403008e12, -0.8e1 / 0.3e1 * t482 * t95 - 0.8e1 / 0.3e1 * t79 * t501 ); + const double t506 = t28 * t505; + const double t507 = t506 * t234; + const double t510 = t115 * t115; + const double t512 = 0.1e1 / t510 * t101; + const double t513 = t512 * t105; + const double t514 = t107 * rho_a; + const double t516 = 0.1e1 / t109 / t514; + const double t517 = sigma_aa * t516; + const double t521 = t120 * tau_a; + const double t522 = t111 * t130; + const double t525 = t136 * tau_a; + const double t526 = t525 * t111; + const double t529 = t132 * t127; + const double t532 = t142 * tau_a; + const double t533 = t532 * t111; + const double t536 = t138 * t133; + const double t539 = t148 * tau_a; + const double t540 = t539 * t111; + const double t543 = t144 * t139; + const double t546 = t154 * tau_a; + const double t547 = t546 * t111; + const double t550 = t150 * t145; + const double t553 = t160 * tau_a; + const double t554 = t553 * t111; + const double t557 = t156 * t151; + const double t560 = 0.5e1 / 0.3e1 * t521 * t522 + 0.5e1 / 0.3e1 * t128 * t526 + 0.1e2 / 0.3e1 * t529 * t526 + 0.1e2 / 0.3e1 * t134 * t533 + 0.5e1 * t536 * t533 + 0.5e1 * t140 * t540 + 0.2e2 / 0.3e1 * t543 * t540 + 0.2e2 / 0.3e1 * t146 * t547 + 0.25e2 / 0.3e1 * t550 * t547 + 0.25e2 / 0.3e1 * t152 * t554 + 0.1e2 * t557 * t554; + const double t561 = t166 * tau_a; + const double t562 = t561 * t111; + const double t565 = t162 * t157; + const double t568 = t172 * tau_a; + const double t569 = t568 * t111; + const double t572 = t168 * t163; + const double t575 = t178 * tau_a; + const double t576 = t575 * t111; + const double t579 = t174 * t169; + const double t582 = t184 * tau_a; + const double t583 = t582 * t111; + const double t586 = t180 * t175; + const double t589 = t190 * tau_a; + const double t590 = t589 * t111; + const double t593 = t186 * t181; + const double t597 = 0.1e1 / t171 / t147; + const double t598 = t597 * tau_a; + const double t599 = t598 * t111; + const double t602 = 0.1e2 * t158 * t562 + 0.35e2 / 0.3e1 * t565 * t562 + 0.35e2 / 0.3e1 * t164 * t569 + 0.4e2 / 0.3e1 * t572 * t569 + 0.4e2 / 0.3e1 * t170 * t576 + 0.15e2 * t579 * t576 + 0.15e2 * t176 * t583 + 0.5e2 / 0.3e1 * t586 * t583 + 0.5e2 / 0.3e1 * t182 * t590 + 0.55e2 / 0.3e1 * t593 * t590 + 0.55e2 / 0.3e1 * t188 * t599; + const double t603 = t560 + t602; + const double t605 = t106 * sigma_aa; + const double t606 = t516 * t195; + const double t607 = t606 * t232; + const double t610 = t199 * tau_a; + const double t615 = t202 * t127; + const double t620 = t205 * t133; + const double t625 = t208 * t139; + const double t630 = t211 * t145; + const double t635 = t214 * t151; + const double t638 = 0.5e1 / 0.3e1 * t610 * t522 + 0.5e1 / 0.3e1 * t200 * t526 + 0.1e2 / 0.3e1 * t615 * t526 + 0.1e2 / 0.3e1 * t203 * t533 + 0.5e1 * t620 * t533 + 0.5e1 * t206 * t540 + 0.2e2 / 0.3e1 * t625 * t540 + 0.2e2 / 0.3e1 * t209 * t547 + 0.25e2 / 0.3e1 * t630 * t547 + 0.25e2 / 0.3e1 * t212 * t554 + 0.1e2 * t635 * t554; + const double t641 = t217 * t157; + const double t646 = t220 * t163; + const double t651 = t223 * t169; + const double t656 = t226 * t175; + const double t661 = t229 * t181; + const double t666 = 0.1e2 * t215 * t562 + 0.35e2 / 0.3e1 * t641 * t562 + 0.35e2 / 0.3e1 * t218 * t569 + 0.4e2 / 0.3e1 * t646 * t569 + 0.4e2 / 0.3e1 * t221 * t576 + 0.15e2 * t651 * t576 + 0.15e2 * t224 * t583 + 0.5e2 / 0.3e1 * t656 * t583 + 0.5e2 / 0.3e1 * t227 * t590 + 0.55e2 / 0.3e1 * t661 * t590 + 0.55e2 / 0.3e1 * t230 * t599; + const double t667 = t638 + t666; + const double t669 = -0.1576608624e-1 * t513 * t517 * t192 + t118 * t603 - 0.13717421124828532236e-1 * t605 * t607 + t197 * t667; + const double t670 = t100 * t669; + const double t674 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t420 * t235 - t428 - 0.3e1 / 0.8e1 * t27 * t507 - 0.3e1 / 0.8e1 * t27 * t670 ); + const double t675 = t240 * t413; + const double t677 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t675 ); + const double t680 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.3e1 * t245 * t677 ); + const double t681 = t6 * t680; + const double t684 = t424 * t305; + const double t685 = t684 * t407; + const double t687 = t248 * t685 / 0.8e1; + const double t688 = t261 * t260; + const double t689 = 0.1e1 / t688; + const double t692 = t35 * t433 * t254 / 0.54e2; + const double t693 = t253 * t253; + const double t694 = 0.1e1 / t693; + const double t695 = t252 * t252; + const double t696 = 0.1e1 / t695; + const double t698 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t415 ); + const double t701 = piecewise_functor_3( t251, 0.0, t696 * t698 / 0.3e1 ); + const double t702 = t694 * t701; + const double t706 = -t692 - t35 * t37 * t702 / 0.18e2; + const double t707 = piecewise_functor_3( t259, t706, 0.0 ); + const double t710 = t264 * t260; + const double t711 = 0.1e1 / t710; + const double t714 = t264 * t688; + const double t715 = 0.1e1 / t714; + const double t719 = 0.1e1 / t270 / t260; + const double t723 = 0.1e1 / t270 / t688; + const double t727 = 0.1e1 / t270 / t710; + const double t731 = 0.1e1 / t270 / t714; + const double t735 = 0.1e1 / t282 / t260; + const double t739 = piecewise_functor_3( t259, 0.0, t706 ); + const double t741 = t294 * t292; + const double t745 = t291 * t286; + const double t746 = 0.1e1 / t745; + const double t750 = t286 * t295; + const double t755 = t746 * t739 * t294 / 0.2e1 - 0.4e1 * t750 * t739 - t287 * t739 * t294; + const double t758 = 0.2e1 * t286 * t755 + 0.2e1 * t739 * t298 - t741 * t739; + const double t762 = piecewise_functor_3( t258, -t689 * t707 / 0.18e2 + t711 * t707 / 0.24e3 - t715 * t707 / 0.448e4 + t719 * t707 / 0.10368e6 - t723 * t707 / 0.2838528e7 + t727 * t707 / 0.8945664e8 - t731 * t707 / 0.31850496e10 + t735 * t707 / 0.1263403008e12, -0.8e1 / 0.3e1 * t286 * t758 - 0.8e1 / 0.3e1 * t739 * t301 ); + const double t763 = t28 * t762; + const double t764 = t763 * t407; + const double t768 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t681 * t408 - t687 - 0.3e1 / 0.8e1 * t248 * t764 ); + const double t771 = -t8 - t414; + const double t772 = piecewise_functor_5( t11, 0.0, t15, 0.0, t771 ); + const double t775 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t772 ); + const double t776 = t6 * t775; + const double t779 = piecewise_functor_5( t39, 0.0, t41, 0.0, t771 ); + const double t782 = piecewise_functor_3( t44, 0.0, t440 * t779 / 0.3e1 ); + const double t783 = t438 * t782; + const double t787 = -t436 - t35 * t37 * t783 / 0.18e2; + const double t788 = piecewise_functor_3( t52, t787, 0.0 ); + const double t791 = t454 * t788; + const double t793 = t458 * t788; + const double t795 = t462 * t788; + const double t797 = t466 * t788; + const double t799 = t470 * t788; + const double t801 = t474 * t788; + const double t803 = t478 * t788; + const double t806 = piecewise_functor_3( t52, 0.0, t787 ); + const double t818 = t489 * t806 * t88 / 0.2e1 - 0.4e1 * t493 * t806 - t81 * t806 * t88; + const double t821 = -t484 * t806 + 0.2e1 * t79 * t818 + 0.2e1 * t806 * t92; + const double t825 = piecewise_functor_3( t51, -t430 * t788 / 0.18e2 + t791 / 0.24e3 - t793 / 0.448e4 + t795 / 0.10368e6 - t797 / 0.2838528e7 + t799 / 0.8945664e8 - t801 / 0.31850496e10 + t803 / 0.1263403008e12, -0.8e1 / 0.3e1 * t79 * t821 - 0.8e1 / 0.3e1 * t806 * t95 ); + const double t826 = t28 * t825; + const double t827 = t826 * t234; + const double t831 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t776 * t235 - t428 - 0.3e1 / 0.8e1 * t27 * t827 ); + const double t833 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t675 ); + const double t836 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.3e1 * t245 * t833 ); + const double t837 = t6 * t836; + const double t841 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t771 ); + const double t844 = piecewise_functor_3( t251, 0.0, t696 * t841 / 0.3e1 ); + const double t845 = t694 * t844; + const double t849 = -t692 - t35 * t37 * t845 / 0.18e2; + const double t850 = piecewise_functor_3( t259, t849, 0.0 ); + const double t853 = t711 * t850; + const double t855 = t715 * t850; + const double t857 = t719 * t850; + const double t859 = t723 * t850; + const double t861 = t727 * t850; + const double t863 = t731 * t850; + const double t865 = t735 * t850; + const double t868 = piecewise_functor_3( t259, 0.0, t849 ); + const double t880 = t746 * t868 * t294 / 0.2e1 - 0.4e1 * t750 * t868 - t287 * t868 * t294; + const double t883 = 0.2e1 * t286 * t880 + 0.2e1 * t868 * t298 - t741 * t868; + const double t887 = piecewise_functor_3( t258, -t689 * t850 / 0.18e2 + t853 / 0.24e3 - t855 / 0.448e4 + t857 / 0.10368e6 - t859 / 0.2838528e7 + t861 / 0.8945664e8 - t863 / 0.31850496e10 + t865 / 0.1263403008e12, -0.8e1 / 0.3e1 * t286 * t883 - 0.8e1 / 0.3e1 * t868 * t301 ); + const double t888 = t28 * t887; + const double t889 = t888 * t407; + const double t892 = t315 * t315; + const double t894 = 0.1e1 / t892 * t101; + const double t895 = t894 * t105; + const double t896 = t307 * rho_b; + const double t898 = 0.1e1 / t309 / t896; + const double t899 = sigma_bb * t898; + const double t903 = t120 * tau_b; + const double t904 = t311 * t325; + const double t907 = t330 * tau_b; + const double t908 = t907 * t311; + const double t911 = t132 * t322; + const double t914 = t335 * tau_b; + const double t915 = t914 * t311; + const double t918 = t138 * t327; + const double t921 = t340 * tau_b; + const double t922 = t921 * t311; + const double t925 = t144 * t332; + const double t928 = t345 * tau_b; + const double t929 = t928 * t311; + const double t932 = t150 * t337; + const double t935 = t350 * tau_b; + const double t936 = t935 * t311; + const double t939 = t156 * t342; + const double t942 = 0.5e1 / 0.3e1 * t903 * t904 + 0.5e1 / 0.3e1 * t323 * t908 + 0.1e2 / 0.3e1 * t911 * t908 + 0.1e2 / 0.3e1 * t328 * t915 + 0.5e1 * t918 * t915 + 0.5e1 * t333 * t922 + 0.2e2 / 0.3e1 * t925 * t922 + 0.2e2 / 0.3e1 * t338 * t929 + 0.25e2 / 0.3e1 * t932 * t929 + 0.25e2 / 0.3e1 * t343 * t936 + 0.1e2 * t939 * t936; + const double t943 = t355 * tau_b; + const double t944 = t943 * t311; + const double t947 = t162 * t347; + const double t950 = t360 * tau_b; + const double t951 = t950 * t311; + const double t954 = t168 * t352; + const double t957 = t365 * tau_b; + const double t958 = t957 * t311; + const double t961 = t174 * t357; + const double t964 = t370 * tau_b; + const double t965 = t964 * t311; + const double t968 = t180 * t362; + const double t971 = t375 * tau_b; + const double t972 = t971 * t311; + const double t975 = t186 * t367; + const double t979 = 0.1e1 / t359 / t339; + const double t980 = t979 * tau_b; + const double t981 = t980 * t311; + const double t984 = 0.1e2 * t348 * t944 + 0.35e2 / 0.3e1 * t947 * t944 + 0.35e2 / 0.3e1 * t353 * t951 + 0.4e2 / 0.3e1 * t954 * t951 + 0.4e2 / 0.3e1 * t358 * t958 + 0.15e2 * t961 * t958 + 0.15e2 * t363 * t965 + 0.5e2 / 0.3e1 * t968 * t965 + 0.5e2 / 0.3e1 * t368 * t972 + 0.55e2 / 0.3e1 * t975 * t972 + 0.55e2 / 0.3e1 * t373 * t981; + const double t985 = t942 + t984; + const double t987 = t106 * sigma_bb; + const double t988 = t898 * t380; + const double t989 = t988 * t405; + const double t992 = t199 * tau_b; + const double t997 = t202 * t322; + const double t1002 = t205 * t327; + const double t1007 = t208 * t332; + const double t1012 = t211 * t337; + const double t1017 = t214 * t342; + const double t1020 = 0.5e1 / 0.3e1 * t992 * t904 + 0.5e1 / 0.3e1 * t383 * t908 + 0.1e2 / 0.3e1 * t997 * t908 + 0.1e2 / 0.3e1 * t385 * t915 + 0.5e1 * t1002 * t915 + 0.5e1 * t387 * t922 + 0.2e2 / 0.3e1 * t1007 * t922 + 0.2e2 / 0.3e1 * t389 * t929 + 0.25e2 / 0.3e1 * t1012 * t929 + 0.25e2 / 0.3e1 * t391 * t936 + 0.1e2 * t1017 * t936; + const double t1023 = t217 * t347; + const double t1028 = t220 * t352; + const double t1033 = t223 * t357; + const double t1038 = t226 * t362; + const double t1043 = t229 * t367; + const double t1048 = 0.1e2 * t393 * t944 + 0.35e2 / 0.3e1 * t1023 * t944 + 0.35e2 / 0.3e1 * t395 * t951 + 0.4e2 / 0.3e1 * t1028 * t951 + 0.4e2 / 0.3e1 * t397 * t958 + 0.15e2 * t1033 * t958 + 0.15e2 * t399 * t965 + 0.5e2 / 0.3e1 * t1038 * t965 + 0.5e2 / 0.3e1 * t401 * t972 + 0.55e2 / 0.3e1 * t1043 * t972 + 0.55e2 / 0.3e1 * t403 * t981; + const double t1049 = t1020 + t1048; + const double t1051 = -0.1576608624e-1 * t895 * t899 * t377 + t318 * t985 - 0.13717421124828532236e-1 * t987 * t989 + t382 * t1049; + const double t1052 = t306 * t1051; + const double t1056 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t837 * t408 - t687 - 0.3e1 / 0.8e1 * t248 * t889 - 0.3e1 / 0.8e1 * t248 * t1052 ); + const double t1059 = t105 * t111; + const double t1063 = t111 * t195; + const double t1067 = 0.591228234e-2 * t512 * t1059 * t192 + 0.51440329218106995885e-2 * t106 * t1063 * t232; + const double t1068 = t100 * t1067; + const double t1071 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1068 ); + const double t1072 = t105 * t311; + const double t1076 = t311 * t380; + const double t1080 = 0.591228234e-2 * t894 * t1072 * t377 + 0.51440329218106995885e-2 * t106 * t1076 * t405; + const double t1081 = t306 * t1080; + const double t1084 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t1081 ); + const double t1087 = t136 * t125; + const double t1091 = t142 * t125; + const double t1096 = t148 * t125; + const double t1101 = t154 * t125; + const double t1106 = t160 * t125; + const double t1111 = -t120 * t125 * t130 - t128 * t1087 - 0.2e1 * t529 * t1087 - 0.2e1 * t134 * t1091 - 0.3e1 * t536 * t1091 - 0.3e1 * t140 * t1096 - 0.4e1 * t543 * t1096 - 0.4e1 * t146 * t1101 - 0.5e1 * t550 * t1101 - 0.5e1 * t152 * t1106 - 0.6e1 * t557 * t1106; + const double t1112 = t166 * t125; + const double t1117 = t172 * t125; + const double t1122 = t178 * t125; + const double t1127 = t184 * t125; + const double t1132 = t190 * t125; + const double t1137 = t597 * t125; + const double t1140 = -0.6e1 * t158 * t1112 - 0.7e1 * t565 * t1112 - 0.7e1 * t164 * t1117 - 0.8e1 * t572 * t1117 - 0.8e1 * t170 * t1122 - 0.9e1 * t579 * t1122 - 0.9e1 * t176 * t1127 - 0.1e2 * t586 * t1127 - 0.1e2 * t182 * t1132 - 0.11e2 * t593 * t1132 - 0.11e2 * t188 * t1137; + const double t1141 = t1111 + t1140; + const double t1164 = -t199 * t125 * t130 - t200 * t1087 - 0.2e1 * t615 * t1087 - 0.2e1 * t203 * t1091 - 0.3e1 * t620 * t1091 - 0.3e1 * t206 * t1096 - 0.4e1 * t625 * t1096 - 0.4e1 * t209 * t1101 - 0.5e1 * t630 * t1101 - 0.5e1 * t212 * t1106 - 0.6e1 * t635 * t1106; + const double t1187 = -0.6e1 * t215 * t1112 - 0.7e1 * t641 * t1112 - 0.7e1 * t218 * t1117 - 0.8e1 * t646 * t1117 - 0.8e1 * t221 * t1122 - 0.9e1 * t651 * t1122 - 0.9e1 * t224 * t1127 - 0.1e2 * t656 * t1127 - 0.1e2 * t227 * t1132 - 0.11e2 * t661 * t1132 - 0.11e2 * t230 * t1137; + const double t1188 = t1164 + t1187; + const double t1190 = t118 * t1141 + t197 * t1188; + const double t1191 = t100 * t1190; + const double t1194 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1191 ); + const double t1197 = t330 * t320; + const double t1201 = t335 * t320; + const double t1206 = t340 * t320; + const double t1211 = t345 * t320; + const double t1216 = t350 * t320; + const double t1221 = -t120 * t320 * t325 - t323 * t1197 - 0.2e1 * t911 * t1197 - 0.2e1 * t328 * t1201 - 0.3e1 * t918 * t1201 - 0.3e1 * t333 * t1206 - 0.4e1 * t925 * t1206 - 0.4e1 * t338 * t1211 - 0.5e1 * t932 * t1211 - 0.5e1 * t343 * t1216 - 0.6e1 * t939 * t1216; + const double t1222 = t355 * t320; + const double t1227 = t360 * t320; + const double t1232 = t365 * t320; + const double t1237 = t370 * t320; + const double t1242 = t375 * t320; + const double t1247 = t979 * t320; + const double t1250 = -0.6e1 * t348 * t1222 - 0.7e1 * t947 * t1222 - 0.7e1 * t353 * t1227 - 0.8e1 * t954 * t1227 - 0.8e1 * t358 * t1232 - 0.9e1 * t961 * t1232 - 0.9e1 * t363 * t1237 - 0.1e2 * t968 * t1237 - 0.1e2 * t368 * t1242 - 0.11e2 * t975 * t1242 - 0.11e2 * t373 * t1247; + const double t1251 = t1221 + t1250; + const double t1274 = -t199 * t320 * t325 - 0.3e1 * t1002 * t1201 - 0.4e1 * t1007 * t1206 - 0.5e1 * t1012 * t1211 - 0.6e1 * t1017 * t1216 - t383 * t1197 - 0.2e1 * t997 * t1197 - 0.2e1 * t385 * t1201 - 0.3e1 * t387 * t1206 - 0.4e1 * t389 * t1211 - 0.5e1 * t391 * t1216; + const double t1297 = -0.7e1 * t1023 * t1222 - 0.8e1 * t1028 * t1227 - 0.9e1 * t1033 * t1232 - 0.1e2 * t1038 * t1237 - 0.11e2 * t1043 * t1242 - 0.6e1 * t393 * t1222 - 0.7e1 * t395 * t1227 - 0.8e1 * t397 * t1232 - 0.9e1 * t399 * t1237 - 0.1e2 * t401 * t1242 - 0.11e2 * t403 * t1247; + const double t1298 = t1274 + t1297; + const double t1300 = t318 * t1251 + t382 * t1298; + const double t1301 = t306 * t1300; + const double t1304 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t1301 ); + const double t1307 = t24 * t24; + const double t1308 = 0.1e1 / t1307; + const double t1309 = t416 * t416; + const double t1312 = t412 * t7; + const double t1313 = 0.1e1 / t1312; + const double t1314 = t17 * t1313; + const double t1316 = -0.2e1 * t413 + 0.2e1 * t1314; + const double t1317 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1316 ); + const double t1321 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1308 * t1309 + 0.4e1 / 0.3e1 * t24 * t1317 ); + const double t1322 = t6 * t1321; + const double t1325 = t420 * t426; + const double t1332 = 0.1e1 / t423 / t7; + const double t1333 = t1332 * t99; + const double t1334 = t1333 * t234; + const double t1336 = t27 * t1334 / 0.12e2; + const double t1337 = t424 * t505; + const double t1338 = t1337 * t234; + const double t1339 = t27 * t1338; + const double t1341 = t425 * t669; + const double t1342 = t27 * t1341; + const double t1344 = t450 * t450; + const double t1348 = 0.1e1 / t28 / t412; + const double t1349 = t3 * t1348; + const double t1352 = 0.2e1 / 0.81e2 * t35 * t1349 * t47; + const double t1354 = t35 * t433 * t445; + const double t1357 = 0.1e1 / t437 / t46; + const double t1358 = t444 * t444; + const double t1359 = t1357 * t1358; + const double t1364 = 0.1e1 / t439 / t43; + const double t1365 = t441 * t441; + const double t1368 = piecewise_functor_5( t39, 0.0, t41, 0.0, t1316 ); + const double t1372 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t1364 * t1365 + t440 * t1368 / 0.3e1 ); + const double t1373 = t438 * t1372; + const double t1377 = t1352 + t1354 / 0.27e2 + t35 * t37 * t1359 / 0.9e1 - t35 * t37 * t1373 / 0.18e2; + const double t1378 = piecewise_functor_3( t52, t1377, 0.0 ); + const double t1406 = 0.1e1 / t75 / t54; + const double t1411 = t58 * t1344 / 0.6e1 - t430 * t1378 / 0.18e2 - t61 * t1344 / 0.48e2 + t454 * t1378 / 0.24e3 + t64 * t1344 / 0.64e3 - t458 * t1378 / 0.448e4 - t67 * t1344 / 0.1152e5 + t462 * t1378 / 0.10368e6 + t70 * t1344 / 0.258048e6 - t466 * t1378 / 0.2838528e7 - t73 * t1344 / 0.688128e7 + t470 * t1378 / 0.8945664e8 + t76 * t1344 / 0.21233664e9 - t474 * t1378 / 0.31850496e10 - t1406 * t1344 / 0.74317824e10 + t478 * t1378 / 0.1263403008e12; + const double t1412 = piecewise_functor_3( t52, 0.0, t1377 ); + const double t1417 = t85 * t85; + const double t1419 = 0.1e1 / t1417 / t79; + const double t1420 = t482 * t482; + const double t1421 = t1419 * t1420; + const double t1424 = t88 * t489; + const double t1432 = 0.1e1 / t1417; + const double t1440 = 0.1e1 / t1417 / t85; + const double t1441 = t1440 * t1420; + const double t1452 = -0.2e1 * t1432 * t1420 * t88 + t489 * t1412 * t88 / 0.2e1 + t1441 * t88 / 0.4e1 - 0.4e1 * t1420 * t89 - t86 * t1420 * t88 - 0.4e1 * t493 * t1412 - t81 * t1412 * t88; + const double t1455 = -t1421 * t88 / 0.2e1 + 0.2e1 * t1424 * t1420 - t484 * t1412 + 0.2e1 * t1412 * t92 + 0.4e1 * t482 * t498 + 0.2e1 * t79 * t1452; + const double t1459 = piecewise_functor_3( t51, t1411, -0.8e1 / 0.3e1 * t1412 * t95 - 0.16e2 / 0.3e1 * t482 * t501 - 0.8e1 / 0.3e1 * t79 * t1455 ); + const double t1460 = t28 * t1459; + const double t1461 = t1460 * t234; + const double t1464 = t506 * t669; + const double t1469 = 0.1e1 / t510 / t115 * t121; + const double t1472 = t1469 * t1471; + const double t1473 = sigma_aa * sigma_aa; + const double t1474 = t107 * t107; + const double t1475 = t1474 * t514; + const double t1477 = 0.1e1 / t108 / t1475; + const double t1478 = t1473 * t1477; + const double t1483 = 0.1e1 / t109 / t1474; + const double t1484 = sigma_aa * t1483; + const double t1491 = t168 * t157; + const double t1492 = tau_a * tau_a; + const double t1493 = t172 * t1492; + const double t1494 = t1474 * rho_a; + const double t1496 = 0.1e1 / t108 / t1494; + const double t1497 = t1493 * t1496; + const double t1500 = t178 * t1492; + const double t1501 = t1500 * t1496; + const double t1504 = t184 * t1492; + const double t1505 = t1504 * t1496; + const double t1508 = t174 * t163; + const double t1513 = t190 * t1492; + const double t1514 = t1513 * t1496; + const double t1517 = t180 * t169; + const double t1522 = t597 * t1492; + const double t1523 = t1522 * t1496; + const double t1526 = t186 * t175; + const double t1532 = 0.1e1 / t171 / t153; + const double t1533 = t1532 * t1492; + const double t1534 = t1533 * t1496; + const double t1537 = t148 * t1492; + const double t1538 = t1537 * t1496; + const double t1541 = 0.14e4 / 0.9e1 * t1491 * t1497 + 0.32e4 / 0.9e1 * t572 * t1501 + 0.2e3 * t170 * t1505 + 0.2e3 * t1508 * t1501 + 0.45e3 * t579 * t1505 + 0.25e3 * t176 * t1514 + 0.25e3 * t1517 * t1505 + 0.5e4 / 0.9e1 * t586 * t1514 + 0.275e4 / 0.9e1 * t182 * t1523 + 0.275e4 / 0.9e1 * t1526 * t1514 + 0.605e4 / 0.9e1 * t593 * t1523 + 0.11e4 / 0.3e1 * t188 * t1534 + 0.5e2 * t536 * t1538; + const double t1542 = t154 * t1492; + const double t1543 = t1542 * t1496; + const double t1546 = t144 * t133; + const double t1551 = t160 * t1492; + const double t1552 = t1551 * t1496; + const double t1555 = t150 * t139; + const double t1560 = t166 * t1492; + const double t1561 = t1560 * t1496; + const double t1564 = t156 * t145; + const double t1571 = t162 * t151; + const double t1578 = t142 * t1492; + const double t1579 = t1578 * t1496; + const double t1582 = 0.1e3 / 0.3e1 * t140 * t1543 + 0.1e3 / 0.3e1 * t1546 * t1538 + 0.8e3 / 0.9e1 * t543 * t1543 + 0.5e3 / 0.9e1 * t146 * t1552 + 0.5e3 / 0.9e1 * t1555 * t1543 + 0.125e4 / 0.9e1 * t550 * t1552 + 0.25e3 / 0.3e1 * t152 * t1561 + 0.25e3 / 0.3e1 * t1564 * t1552 + 0.2e3 * t557 * t1561 + 0.35e3 / 0.3e1 * t158 * t1497 + 0.35e3 / 0.3e1 * t1571 * t1561 + 0.245e4 / 0.9e1 * t565 * t1497 + 0.14e4 / 0.9e1 * t164 * t1501 + 0.5e2 / 0.9e1 * t128 * t1579; + const double t1588 = t138 * t127; + const double t1591 = t582 * t516; + const double t1596 = t589 * t516; + const double t1601 = t598 * t516; + const double t1604 = t532 * t516; + const double t1607 = t539 * t516; + const double t1612 = t546 * t516; + const double t1617 = 0.2e3 / 0.9e1 * t529 * t1579 + 0.5e2 / 0.3e1 * t134 * t1538 + 0.5e2 / 0.3e1 * t1588 * t1579 - 0.4e2 * t176 * t1591 - 0.4e3 / 0.9e1 * t586 * t1591 - 0.4e3 / 0.9e1 * t182 * t1596 - 0.44e3 / 0.9e1 * t593 * t1596 - 0.44e3 / 0.9e1 * t188 * t1601 - 0.4e2 / 0.3e1 * t536 * t1604 - 0.4e2 / 0.3e1 * t140 * t1607 - 0.16e3 / 0.9e1 * t543 * t1607 - 0.16e3 / 0.9e1 * t146 * t1612 - 0.2e3 / 0.9e1 * t550 * t1612; + const double t1618 = t553 * t516; + const double t1623 = t561 * t516; + const double t1628 = t568 * t516; + const double t1633 = t575 * t516; + const double t1638 = t525 * t516; + const double t1645 = t516 * t130; + const double t1648 = t120 * t1492; + const double t1649 = t1496 * t136; + const double t1652 = t132 * t1492; + const double t1655 = -0.2e3 / 0.9e1 * t152 * t1618 - 0.8e2 / 0.3e1 * t557 * t1618 - 0.8e2 / 0.3e1 * t158 * t1623 - 0.28e3 / 0.9e1 * t565 * t1623 - 0.28e3 / 0.9e1 * t164 * t1628 - 0.32e3 / 0.9e1 * t572 * t1628 - 0.32e3 / 0.9e1 * t170 * t1633 - 0.4e2 * t579 * t1633 - 0.4e2 / 0.9e1 * t128 * t1638 - 0.8e2 / 0.9e1 * t529 * t1638 - 0.8e2 / 0.9e1 * t134 * t1604 - 0.4e2 / 0.9e1 * t521 * t1645 + 0.5e2 / 0.9e1 * t1648 * t1649 + 0.5e2 / 0.9e1 * t1652 * t1649; + const double t1657 = t1541 + t1582 + t1617 + t1655; + const double t1659 = t1483 * t195; + const double t1660 = t1659 * t232; + const double t1664 = t1663 * t1473; + const double t1665 = t1477 * t195; + const double t1666 = t1665 * t232; + const double t1669 = t606 * t667; + const double t1678 = t214 * t145; + const double t1699 = -0.8e2 / 0.3e1 * t215 * t1623 + 0.125e4 / 0.9e1 * t630 * t1552 + 0.25e3 / 0.3e1 * t212 * t1561 + 0.25e3 / 0.3e1 * t1678 * t1552 - 0.28e3 / 0.9e1 * t641 * t1623 - 0.28e3 / 0.9e1 * t218 * t1628 - 0.32e3 / 0.9e1 * t646 * t1628 - 0.32e3 / 0.9e1 * t221 * t1633 - 0.4e2 * t651 * t1633 - 0.4e2 * t224 * t1591 - 0.4e3 / 0.9e1 * t656 * t1591 - 0.4e3 / 0.9e1 * t227 * t1596 - 0.44e3 / 0.9e1 * t661 * t1596; + const double t1722 = t229 * t175; + const double t1729 = -0.44e3 / 0.9e1 * t230 * t1601 - 0.4e2 / 0.9e1 * t200 * t1638 - 0.8e2 / 0.9e1 * t615 * t1638 - 0.8e2 / 0.9e1 * t203 * t1604 - 0.4e2 / 0.3e1 * t620 * t1604 - 0.4e2 / 0.3e1 * t206 * t1607 - 0.16e3 / 0.9e1 * t625 * t1607 - 0.16e3 / 0.9e1 * t209 * t1612 - 0.2e3 / 0.9e1 * t630 * t1612 - 0.2e3 / 0.9e1 * t212 * t1618 - 0.8e2 / 0.3e1 * t635 * t1618 + 0.275e4 / 0.9e1 * t1722 * t1514 + 0.605e4 / 0.9e1 * t661 * t1523 + 0.11e4 / 0.3e1 * t230 * t1534; + const double t1735 = t217 * t151; + const double t1742 = t220 * t157; + const double t1749 = t223 * t163; + const double t1756 = t226 * t169; + const double t1761 = 0.2e3 * t635 * t1561 + 0.35e3 / 0.3e1 * t215 * t1497 + 0.35e3 / 0.3e1 * t1735 * t1561 + 0.245e4 / 0.9e1 * t641 * t1497 + 0.14e4 / 0.9e1 * t218 * t1501 + 0.14e4 / 0.9e1 * t1742 * t1497 + 0.32e4 / 0.9e1 * t646 * t1501 + 0.2e3 * t221 * t1505 + 0.2e3 * t1749 * t1501 + 0.45e3 * t651 * t1505 + 0.25e3 * t224 * t1514 + 0.25e3 * t1756 * t1505 + 0.5e4 / 0.9e1 * t656 * t1514; + const double t1770 = t205 * t127; + const double t1777 = t208 * t133; + const double t1784 = t211 * t139; + const double t1789 = t199 * t1492; + const double t1792 = t202 * t1492; + const double t1795 = 0.275e4 / 0.9e1 * t227 * t1523 + 0.5e2 / 0.9e1 * t200 * t1579 + 0.2e3 / 0.9e1 * t615 * t1579 + 0.5e2 / 0.3e1 * t203 * t1538 + 0.5e2 / 0.3e1 * t1770 * t1579 + 0.5e2 * t620 * t1538 + 0.1e3 / 0.3e1 * t206 * t1543 + 0.1e3 / 0.3e1 * t1777 * t1538 + 0.8e3 / 0.9e1 * t625 * t1543 + 0.5e3 / 0.9e1 * t209 * t1552 + 0.5e3 / 0.9e1 * t1784 * t1543 - 0.4e2 / 0.9e1 * t610 * t1645 + 0.5e2 / 0.9e1 * t1789 * t1649 + 0.5e2 / 0.9e1 * t1792 * t1649; + const double t1797 = t1699 + t1729 + t1761 + t1795; + const double t1799 = -0.7690696867872e-3 * t1472 * t1478 * t192 + 0.5780898288e-1 * t513 * t1484 * t192 - 0.3153217248e-1 * t513 * t517 * t603 + t118 * t1657 + 0.50297210791037951532e-1 * t605 * t1660 - 0.34088340999255810611e-3 * t1664 * t1666 - 0.27434842249657064472e-1 * t605 * t1669 + t197 * t1797; + const double t1800 = t100 * t1799; + const double t1804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1322 * t235 - t1325 / 0.4e1 - 0.3e1 / 0.4e1 * t420 * t507 - 0.3e1 / 0.4e1 * t420 * t670 + t1336 - t1339 / 0.4e1 - t1342 / 0.4e1 - 0.3e1 / 0.8e1 * t27 * t1461 - 0.3e1 / 0.4e1 * t27 * t1464 - 0.3e1 / 0.8e1 * t27 * t1800 ); + const double t1805 = t245 * t245; + const double t1806 = 0.1e1 / t1805; + const double t1807 = t677 * t677; + const double t1810 = t240 * t1313; + const double t1813 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t413 + 0.2e1 * t1810 ); + const double t1817 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.9e1 * t1806 * t1807 + 0.4e1 / 0.3e1 * t245 * t1813 ); + const double t1818 = t6 * t1817; + const double t1821 = t681 * t685; + const double t1825 = t1332 * t305; + const double t1826 = t1825 * t407; + const double t1828 = t248 * t1826 / 0.12e2; + const double t1829 = t424 * t762; + const double t1830 = t1829 * t407; + const double t1831 = t248 * t1830; + const double t1833 = t707 * t707; + const double t1838 = 0.2e1 / 0.81e2 * t35 * t1349 * t254; + const double t1840 = t35 * t433 * t702; + const double t1843 = 0.1e1 / t693 / t253; + const double t1844 = t701 * t701; + const double t1845 = t1843 * t1844; + const double t1850 = 0.1e1 / t695 / t250; + const double t1851 = t698 * t698; + const double t1855 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t1316 ); + const double t1859 = piecewise_functor_3( t251, 0.0, -0.2e1 / 0.9e1 * t1850 * t1851 + t696 * t1855 / 0.3e1 ); + const double t1860 = t694 * t1859; + const double t1864 = t1838 + t1840 / 0.27e2 + t35 * t37 * t1845 / 0.9e1 - t35 * t37 * t1860 / 0.18e2; + const double t1865 = piecewise_functor_3( t259, t1864, 0.0 ); + const double t1893 = 0.1e1 / t282 / t261; + const double t1898 = t265 * t1833 / 0.6e1 - t689 * t1865 / 0.18e2 - t268 * t1833 / 0.48e2 + t711 * t1865 / 0.24e3 + t271 * t1833 / 0.64e3 - t715 * t1865 / 0.448e4 - t274 * t1833 / 0.1152e5 + t719 * t1865 / 0.10368e6 + t277 * t1833 / 0.258048e6 - t723 * t1865 / 0.2838528e7 - t280 * t1833 / 0.688128e7 + t727 * t1865 / 0.8945664e8 + t283 * t1833 / 0.21233664e9 - t731 * t1865 / 0.31850496e10 - t1893 * t1833 / 0.74317824e10 + t735 * t1865 / 0.1263403008e12; + const double t1899 = piecewise_functor_3( t259, 0.0, t1864 ); + const double t1904 = t291 * t291; + const double t1906 = 0.1e1 / t1904 / t286; + const double t1907 = t739 * t739; + const double t1908 = t1906 * t1907; + const double t1911 = t294 * t746; + const double t1919 = 0.1e1 / t1904; + const double t1927 = 0.1e1 / t1904 / t291; + const double t1928 = t1927 * t1907; + const double t1939 = -0.2e1 * t1919 * t1907 * t294 + t746 * t1899 * t294 / 0.2e1 + t1928 * t294 / 0.4e1 - 0.4e1 * t1907 * t295 - t292 * t1907 * t294 - 0.4e1 * t750 * t1899 - t287 * t1899 * t294; + const double t1942 = -t1908 * t294 / 0.2e1 + 0.2e1 * t1911 * t1907 - t741 * t1899 + 0.2e1 * t1899 * t298 + 0.4e1 * t739 * t755 + 0.2e1 * t286 * t1939; + const double t1946 = piecewise_functor_3( t258, t1898, -0.8e1 / 0.3e1 * t1899 * t301 - 0.16e2 / 0.3e1 * t739 * t758 - 0.8e1 / 0.3e1 * t286 * t1942 ); + const double t1947 = t28 * t1946; + const double t1948 = t1947 * t407; + const double t1952 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t1818 * t408 - t1821 / 0.4e1 - 0.3e1 / 0.4e1 * t681 * t764 + t1828 - t1831 / 0.4e1 - 0.3e1 / 0.8e1 * t248 * t1948 ); + const double t1967 = t776 * t426; + const double t1978 = t424 * t825; + const double t1979 = t1978 * t234; + const double t1980 = t27 * t1979; + const double t1987 = t35 * t433 * t783; + const double t2114 = t837 * t685; + const double t2122 = t424 * t887; + const double t2123 = t2122 * t407; + const double t2124 = t248 * t2123; + const double t2131 = t35 * t433 * t845; + const double t2241 = t684 * t1051; + const double t2242 = t248 * t2241; + const double t2253 = t772 * t772; + const double t2257 = 0.2e1 * t413 + 0.2e1 * t1314; + const double t2258 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2257 ); + const double t2262 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1308 * t2253 + 0.4e1 / 0.3e1 * t24 * t2258 ); + const double t2263 = t6 * t2262; + const double t2270 = t788 * t788; + const double t2274 = t782 * t782; + const double t2275 = t1357 * t2274; + const double t2279 = t779 * t779; + const double t2282 = piecewise_functor_5( t39, 0.0, t41, 0.0, t2257 ); + const double t2286 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t1364 * t2279 + t440 * t2282 / 0.3e1 ); + const double t2287 = t438 * t2286; + const double t2291 = t1352 + t1987 / 0.27e2 + t35 * t37 * t2275 / 0.9e1 - t35 * t37 * t2287 / 0.18e2; + const double t2292 = piecewise_functor_3( t52, t2291, 0.0 ); + const double t2295 = t61 * t2270; + const double t2297 = t454 * t2292; + const double t2299 = t64 * t2270; + const double t2301 = t458 * t2292; + const double t2303 = t67 * t2270; + const double t2305 = t462 * t2292; + const double t2307 = t70 * t2270; + const double t2309 = t466 * t2292; + const double t2311 = t73 * t2270; + const double t2313 = t470 * t2292; + const double t2315 = t76 * t2270; + const double t2317 = t474 * t2292; + const double t2319 = t1406 * t2270; + const double t2321 = t478 * t2292; + const double t2323 = t58 * t2270 / 0.6e1 - t430 * t2292 / 0.18e2 - t2295 / 0.48e2 + t2297 / 0.24e3 + t2299 / 0.64e3 - t2301 / 0.448e4 - t2303 / 0.1152e5 + t2305 / 0.10368e6 + t2307 / 0.258048e6 - t2309 / 0.2838528e7 - t2311 / 0.688128e7 + t2313 / 0.8945664e8 + t2315 / 0.21233664e9 - t2317 / 0.31850496e10 - t2319 / 0.74317824e10 + t2321 / 0.1263403008e12; + const double t2324 = piecewise_functor_3( t52, 0.0, t2291 ); + const double t2329 = t806 * t806; + const double t2330 = t1419 * t2329; + const double t2346 = t1440 * t2329; + const double t2357 = -0.2e1 * t1432 * t2329 * t88 + t489 * t2324 * t88 / 0.2e1 + t2346 * t88 / 0.4e1 - 0.4e1 * t2329 * t89 - t86 * t2329 * t88 - 0.4e1 * t493 * t2324 - t81 * t2324 * t88; + const double t2360 = -t2330 * t88 / 0.2e1 + 0.2e1 * t1424 * t2329 - t484 * t2324 + 0.2e1 * t2324 * t92 + 0.4e1 * t806 * t818 + 0.2e1 * t79 * t2357; + const double t2364 = piecewise_functor_3( t51, t2323, -0.8e1 / 0.3e1 * t2324 * t95 - 0.16e2 / 0.3e1 * t806 * t821 - 0.8e1 / 0.3e1 * t79 * t2360 ); + const double t2365 = t28 * t2364; + const double t2366 = t2365 * t234; + const double t2370 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t2263 * t235 - t1967 / 0.4e1 - 0.3e1 / 0.4e1 * t776 * t827 + t1336 - t1980 / 0.4e1 - 0.3e1 / 0.8e1 * t27 * t2366 ); + const double t2371 = t833 * t833; + const double t2376 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t413 + 0.2e1 * t1810 ); + const double t2380 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.9e1 * t1806 * t2371 + 0.4e1 / 0.3e1 * t245 * t2376 ); + const double t2381 = t6 * t2380; + const double t2391 = t850 * t850; + const double t2395 = t844 * t844; + const double t2396 = t1843 * t2395; + const double t2400 = t841 * t841; + const double t2404 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t2257 ); + const double t2408 = piecewise_functor_3( t251, 0.0, -0.2e1 / 0.9e1 * t1850 * t2400 + t696 * t2404 / 0.3e1 ); + const double t2409 = t694 * t2408; + const double t2413 = t1838 + t2131 / 0.27e2 + t35 * t37 * t2396 / 0.9e1 - t35 * t37 * t2409 / 0.18e2; + const double t2414 = piecewise_functor_3( t259, t2413, 0.0 ); + const double t2417 = t268 * t2391; + const double t2419 = t711 * t2414; + const double t2421 = t271 * t2391; + const double t2423 = t715 * t2414; + const double t2425 = t274 * t2391; + const double t2427 = t719 * t2414; + const double t2429 = t277 * t2391; + const double t2431 = t723 * t2414; + const double t2433 = t280 * t2391; + const double t2435 = t727 * t2414; + const double t2437 = t283 * t2391; + const double t2439 = t731 * t2414; + const double t2441 = t1893 * t2391; + const double t2443 = t735 * t2414; + const double t2445 = t265 * t2391 / 0.6e1 - t689 * t2414 / 0.18e2 - t2417 / 0.48e2 + t2419 / 0.24e3 + t2421 / 0.64e3 - t2423 / 0.448e4 - t2425 / 0.1152e5 + t2427 / 0.10368e6 + t2429 / 0.258048e6 - t2431 / 0.2838528e7 - t2433 / 0.688128e7 + t2435 / 0.8945664e8 + t2437 / 0.21233664e9 - t2439 / 0.31850496e10 - t2441 / 0.74317824e10 + t2443 / 0.1263403008e12; + const double t2446 = piecewise_functor_3( t259, 0.0, t2413 ); + const double t2451 = t868 * t868; + const double t2452 = t1906 * t2451; + const double t2468 = t1927 * t2451; + const double t2479 = -0.2e1 * t1919 * t2451 * t294 + t746 * t2446 * t294 / 0.2e1 + t2468 * t294 / 0.4e1 - 0.4e1 * t2451 * t295 - t292 * t2451 * t294 - 0.4e1 * t750 * t2446 - t287 * t2446 * t294; + const double t2482 = -t2452 * t294 / 0.2e1 + 0.2e1 * t1911 * t2451 - t741 * t2446 + 0.2e1 * t2446 * t298 + 0.4e1 * t868 * t880 + 0.2e1 * t286 * t2479; + const double t2486 = piecewise_functor_3( t258, t2445, -0.8e1 / 0.3e1 * t2446 * t301 - 0.16e2 / 0.3e1 * t868 * t883 - 0.8e1 / 0.3e1 * t286 * t2482 ); + const double t2487 = t28 * t2486; + const double t2488 = t2487 * t407; + const double t2491 = t888 * t1051; + const double t2496 = 0.1e1 / t892 / t315 * t121; + const double t2497 = t2496 * t1471; + const double t2498 = sigma_bb * sigma_bb; + const double t2499 = t307 * t307; + const double t2500 = t2499 * t896; + const double t2502 = 0.1e1 / t308 / t2500; + const double t2503 = t2498 * t2502; + const double t2508 = 0.1e1 / t309 / t2499; + const double t2509 = sigma_bb * t2508; + const double t2516 = tau_b * tau_b; + const double t2517 = t979 * t2516; + const double t2518 = t2499 * rho_b; + const double t2520 = 0.1e1 / t308 / t2518; + const double t2521 = t2517 * t2520; + const double t2524 = t186 * t362; + const double t2525 = t375 * t2516; + const double t2526 = t2525 * t2520; + const double t2532 = 0.1e1 / t359 / t344; + const double t2533 = t2532 * t2516; + const double t2534 = t2533 * t2520; + const double t2537 = t355 * t2516; + const double t2538 = t2537 * t2520; + const double t2541 = t156 * t337; + const double t2542 = t350 * t2516; + const double t2543 = t2542 * t2520; + const double t2548 = t360 * t2516; + const double t2549 = t2548 * t2520; + const double t2552 = t162 * t342; + const double t2557 = t365 * t2516; + const double t2558 = t2557 * t2520; + const double t2561 = t168 * t347; + const double t2566 = 0.275e4 / 0.9e1 * t368 * t2521 + 0.275e4 / 0.9e1 * t2524 * t2526 + 0.605e4 / 0.9e1 * t975 * t2521 + 0.11e4 / 0.3e1 * t373 * t2534 + 0.25e3 / 0.3e1 * t343 * t2538 + 0.25e3 / 0.3e1 * t2541 * t2543 + 0.2e3 * t939 * t2538 + 0.35e3 / 0.3e1 * t348 * t2549 + 0.35e3 / 0.3e1 * t2552 * t2538 + 0.245e4 / 0.9e1 * t947 * t2549 + 0.14e4 / 0.9e1 * t353 * t2558 + 0.14e4 / 0.9e1 * t2561 * t2549 + 0.32e4 / 0.9e1 * t954 * t2558; + const double t2567 = t370 * t2516; + const double t2568 = t2567 * t2520; + const double t2571 = t174 * t352; + const double t2578 = t180 * t357; + const double t2583 = t335 * t2516; + const double t2584 = t2583 * t2520; + const double t2589 = t340 * t2516; + const double t2590 = t2589 * t2520; + const double t2593 = t138 * t322; + const double t2598 = t345 * t2516; + const double t2599 = t2598 * t2520; + const double t2602 = t144 * t327; + const double t2607 = 0.2e3 * t358 * t2568 + 0.2e3 * t2571 * t2558 + 0.45e3 * t961 * t2568 + 0.25e3 * t363 * t2526 + 0.25e3 * t2578 * t2568 + 0.5e4 / 0.9e1 * t968 * t2526 + 0.5e2 / 0.9e1 * t323 * t2584 + 0.2e3 / 0.9e1 * t911 * t2584 + 0.5e2 / 0.3e1 * t328 * t2590 + 0.5e2 / 0.3e1 * t2593 * t2584 + 0.5e2 * t918 * t2590 + 0.1e3 / 0.3e1 * t333 * t2599 + 0.1e3 / 0.3e1 * t2602 * t2590 + 0.8e3 / 0.9e1 * t925 * t2599; + const double t2611 = t150 * t332; + const double t2616 = t950 * t898; + const double t2621 = t957 * t898; + const double t2626 = t964 * t898; + const double t2631 = t971 * t898; + const double t2636 = t980 * t898; + const double t2639 = t907 * t898; + const double t2642 = 0.5e3 / 0.9e1 * t338 * t2543 + 0.5e3 / 0.9e1 * t2611 * t2599 + 0.125e4 / 0.9e1 * t932 * t2543 - 0.28e3 / 0.9e1 * t353 * t2616 - 0.32e3 / 0.9e1 * t954 * t2616 - 0.32e3 / 0.9e1 * t358 * t2621 - 0.4e2 * t961 * t2621 - 0.4e2 * t363 * t2626 - 0.4e3 / 0.9e1 * t968 * t2626 - 0.4e3 / 0.9e1 * t368 * t2631 - 0.44e3 / 0.9e1 * t975 * t2631 - 0.44e3 / 0.9e1 * t373 * t2636 - 0.4e2 / 0.9e1 * t323 * t2639; + const double t2645 = t914 * t898; + const double t2650 = t921 * t898; + const double t2655 = t928 * t898; + const double t2660 = t935 * t898; + const double t2665 = t943 * t898; + const double t2670 = t898 * t325; + const double t2673 = t120 * t2516; + const double t2674 = t2520 * t330; + const double t2677 = t132 * t2516; + const double t2680 = -0.8e2 / 0.9e1 * t911 * t2639 - 0.8e2 / 0.9e1 * t328 * t2645 - 0.4e2 / 0.3e1 * t918 * t2645 - 0.4e2 / 0.3e1 * t333 * t2650 - 0.16e3 / 0.9e1 * t925 * t2650 - 0.16e3 / 0.9e1 * t338 * t2655 - 0.2e3 / 0.9e1 * t932 * t2655 - 0.2e3 / 0.9e1 * t343 * t2660 - 0.8e2 / 0.3e1 * t939 * t2660 - 0.8e2 / 0.3e1 * t348 * t2665 - 0.28e3 / 0.9e1 * t947 * t2665 - 0.4e2 / 0.9e1 * t903 * t2670 + 0.5e2 / 0.9e1 * t2673 * t2674 + 0.5e2 / 0.9e1 * t2677 * t2674; + const double t2682 = t2566 + t2607 + t2642 + t2680; + const double t2684 = t2508 * t380; + const double t2685 = t2684 * t405; + const double t2688 = t1663 * t2498; + const double t2689 = t2502 * t380; + const double t2690 = t2689 * t405; + const double t2693 = t988 * t1049; + const double t2698 = t223 * t352; + const double t2705 = t226 * t357; + const double t2712 = t229 * t362; + const double t2719 = t208 * t327; + const double t2726 = 0.2e3 * t397 * t2568 + 0.2e3 * t2698 * t2558 + 0.45e3 * t1033 * t2568 + 0.25e3 * t399 * t2526 + 0.25e3 * t2705 * t2568 + 0.5e4 / 0.9e1 * t1038 * t2526 + 0.275e4 / 0.9e1 * t401 * t2521 + 0.275e4 / 0.9e1 * t2712 * t2526 + 0.605e4 / 0.9e1 * t1043 * t2521 + 0.11e4 / 0.3e1 * t403 * t2534 + 0.1e3 / 0.3e1 * t2719 * t2590 + 0.8e3 / 0.9e1 * t1007 * t2599 + 0.5e3 / 0.9e1 * t389 * t2543; + const double t2727 = t211 * t332; + const double t2734 = t214 * t337; + const double t2741 = t217 * t342; + const double t2748 = t220 * t347; + const double t2759 = 0.5e3 / 0.9e1 * t2727 * t2599 + 0.125e4 / 0.9e1 * t1012 * t2543 + 0.25e3 / 0.3e1 * t391 * t2538 + 0.25e3 / 0.3e1 * t2734 * t2543 + 0.2e3 * t1017 * t2538 + 0.35e3 / 0.3e1 * t393 * t2549 + 0.35e3 / 0.3e1 * t2741 * t2538 + 0.245e4 / 0.9e1 * t1023 * t2549 + 0.14e4 / 0.9e1 * t395 * t2558 + 0.14e4 / 0.9e1 * t2748 * t2549 + 0.32e4 / 0.9e1 * t1028 * t2558 + 0.5e2 / 0.9e1 * t383 * t2584 + 0.2e3 / 0.9e1 * t997 * t2584 + 0.5e2 / 0.3e1 * t385 * t2590; + const double t2761 = t205 * t322; + const double t2788 = 0.5e2 / 0.3e1 * t2761 * t2584 + 0.5e2 * t1002 * t2590 + 0.1e3 / 0.3e1 * t387 * t2599 - 0.44e3 / 0.9e1 * t403 * t2636 - 0.2e3 / 0.9e1 * t1012 * t2655 - 0.2e3 / 0.9e1 * t391 * t2660 - 0.8e2 / 0.3e1 * t1017 * t2660 - 0.8e2 / 0.3e1 * t393 * t2665 - 0.28e3 / 0.9e1 * t1023 * t2665 - 0.28e3 / 0.9e1 * t395 * t2616 - 0.32e3 / 0.9e1 * t1028 * t2616 - 0.32e3 / 0.9e1 * t397 * t2621 - 0.4e2 * t1033 * t2621; + const double t2813 = t199 * t2516; + const double t2816 = t202 * t2516; + const double t2819 = -0.4e2 * t399 * t2626 - 0.4e3 / 0.9e1 * t1038 * t2626 - 0.4e3 / 0.9e1 * t401 * t2631 - 0.44e3 / 0.9e1 * t1043 * t2631 - 0.4e2 / 0.9e1 * t383 * t2639 - 0.8e2 / 0.9e1 * t997 * t2639 - 0.8e2 / 0.9e1 * t385 * t2645 - 0.4e2 / 0.3e1 * t1002 * t2645 - 0.4e2 / 0.3e1 * t387 * t2650 - 0.16e3 / 0.9e1 * t1007 * t2650 - 0.16e3 / 0.9e1 * t389 * t2655 - 0.4e2 / 0.9e1 * t992 * t2670 + 0.5e2 / 0.9e1 * t2813 * t2674 + 0.5e2 / 0.9e1 * t2816 * t2674; + const double t2821 = t2726 + t2759 + t2788 + t2819; + const double t2823 = -0.7690696867872e-3 * t2497 * t2503 * t377 + 0.5780898288e-1 * t895 * t2509 * t377 - 0.3153217248e-1 * t895 * t899 * t985 + t318 * t2682 + 0.50297210791037951532e-1 * t987 * t2685 - 0.34088340999255810611e-3 * t2688 * t2690 - 0.27434842249657064472e-1 * t987 * t2693 + t382 * t2821; + const double t2824 = t306 * t2823; + const double t2828 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t2381 * t408 - t2114 / 0.4e1 - 0.3e1 / 0.4e1 * t837 * t889 - 0.3e1 / 0.4e1 * t837 * t1052 + t1828 - t2124 / 0.4e1 - t2242 / 0.4e1 - 0.3e1 / 0.8e1 * t248 * t2488 - 0.3e1 / 0.4e1 * t248 * t2491 - 0.3e1 / 0.8e1 * t248 * t2824 ); + const double t2833 = t425 * t1067; + const double t2835 = t27 * t2833 / 0.8e1; + const double t2836 = t506 * t1067; + const double t2839 = t1474 * t107; + const double t2841 = 0.1e1 / t108 / t2839; + const double t2846 = t105 * t516; + const double t2855 = t1663 * t2841; + const double t2856 = sigma_aa * t195; + const double t2857 = t2856 * t232; + const double t2863 = 0.2884011325452e-3 * t1472 * t2841 * t192 * sigma_aa - 0.1576608624e-1 * t512 * t2846 * t192 + 0.591228234e-2 * t512 * t1059 * t603 - 0.13717421124828532236e-1 * t106 * t607 + 0.12783127874720928979e-3 * t2855 * t2857 + 0.51440329218106995885e-2 * t106 * t1063 * t667; + const double t2864 = t100 * t2863; + const double t2868 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t420 * t1068 - t2835 - 0.3e1 / 0.8e1 * t27 * t2836 - 0.3e1 / 0.8e1 * t27 * t2864 ); + const double t2872 = t684 * t1080; + const double t2874 = t248 * t2872 / 0.8e1; + const double t2891 = t888 * t1080; + const double t2894 = t2499 * t307; + const double t2896 = 0.1e1 / t308 / t2894; + const double t2901 = t105 * t898; + const double t2910 = t1663 * t2896; + const double t2911 = sigma_bb * t380; + const double t2912 = t2911 * t405; + const double t2918 = 0.2884011325452e-3 * t2497 * t2896 * t377 * sigma_bb - 0.1576608624e-1 * t894 * t2901 * t377 + 0.591228234e-2 * t894 * t1072 * t985 - 0.13717421124828532236e-1 * t106 * t989 + 0.12783127874720928979e-3 * t2910 * t2912 + 0.51440329218106995885e-2 * t106 * t1076 * t1049; + const double t2919 = t306 * t2918; + const double t2923 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t837 * t1081 - t2874 - 0.3e1 / 0.8e1 * t248 * t2891 - 0.3e1 / 0.8e1 * t248 * t2919 ); + const double t2927 = t425 * t1190; + const double t2929 = t27 * t2927 / 0.8e1; + const double t2930 = t506 * t1190; + const double t2940 = 0.1e1 / t108 / t1474; + const double t2941 = t142 * t2940; + const double t2942 = t2941 * tau_a; + const double t2945 = t148 * t2940; + const double t2946 = t2945 * tau_a; + const double t2949 = t154 * t2940; + const double t2950 = t2949 * tau_a; + const double t2957 = t160 * t2940; + const double t2958 = t2957 * tau_a; + const double t2965 = t166 * t2940; + const double t2966 = t2965 * tau_a; + const double t2973 = t172 * t2940; + const double t2974 = t2973 * tau_a; + const double t2977 = 0.5e1 / 0.3e1 * t120 * t111 * t130 - 0.1e2 * t1588 * t2942 - 0.3e2 * t536 * t2946 - 0.2e2 * t140 * t2950 - 0.2e2 * t1546 * t2946 - 0.16e3 / 0.3e1 * t543 * t2950 - 0.1e3 / 0.3e1 * t146 * t2958 - 0.1e3 / 0.3e1 * t1555 * t2950 - 0.25e3 / 0.3e1 * t550 * t2958 - 0.5e2 * t152 * t2966 - 0.5e2 * t1564 * t2958 - 0.12e3 * t557 * t2966 - 0.7e2 * t158 * t2974; + const double t2982 = t178 * t2940; + const double t2983 = t2982 * tau_a; + const double t2990 = t184 * t2940; + const double t2991 = t2990 * tau_a; + const double t3004 = t190 * t2940; + const double t3005 = t3004 * tau_a; + const double t3012 = -0.7e2 * t1571 * t2966 - 0.49e3 / 0.3e1 * t565 * t2974 - 0.28e3 / 0.3e1 * t164 * t2983 - 0.28e3 / 0.3e1 * t1491 * t2974 - 0.64e3 / 0.3e1 * t572 * t2983 - 0.12e3 * t170 * t2991 - 0.12e3 * t1508 * t2983 - 0.27e3 * t579 * t2991 - 0.1e2 / 0.3e1 * t128 * t2942 - 0.4e2 / 0.3e1 * t529 * t2942 - 0.1e2 * t134 * t2946 - 0.15e3 * t176 * t3005 - 0.15e3 * t1517 * t2991 - 0.1e4 / 0.3e1 * t586 * t3005; + const double t3014 = t597 * t2940; + const double t3015 = t3014 * tau_a; + const double t3022 = t1532 * t2940; + const double t3023 = t3022 * tau_a; + const double t3026 = t184 * t111; + const double t3029 = t190 * t111; + const double t3034 = t597 * t111; + const double t3037 = t154 * t111; + const double t3040 = t160 * t111; + const double t3045 = t166 * t111; + const double t3050 = -0.55e3 / 0.3e1 * t182 * t3015 - 0.55e3 / 0.3e1 * t1526 * t3005 - 0.121e4 / 0.3e1 * t593 * t3015 - 0.22e3 * t188 * t3023 + 0.5e2 / 0.3e1 * t586 * t3026 + 0.5e2 / 0.3e1 * t182 * t3029 + 0.55e2 / 0.3e1 * t593 * t3029 + 0.55e2 / 0.3e1 * t188 * t3034 + 0.25e2 / 0.3e1 * t550 * t3037 + 0.25e2 / 0.3e1 * t152 * t3040 + 0.1e2 * t557 * t3040 + 0.1e2 * t158 * t3045 + 0.35e2 / 0.3e1 * t565 * t3045; + const double t3051 = t172 * t111; + const double t3056 = t178 * t111; + const double t3063 = t136 * t111; + const double t3068 = t142 * t111; + const double t3073 = t148 * t111; + const double t3080 = t132 * tau_a; + const double t3081 = t2940 * t136; + const double t3084 = t120 * t2940; + const double t3087 = 0.35e2 / 0.3e1 * t164 * t3051 + 0.4e2 / 0.3e1 * t572 * t3051 + 0.4e2 / 0.3e1 * t170 * t3056 + 0.15e2 * t579 * t3056 + 0.15e2 * t176 * t3026 + 0.5e1 / 0.3e1 * t128 * t3063 + 0.1e2 / 0.3e1 * t529 * t3063 + 0.1e2 / 0.3e1 * t134 * t3068 + 0.5e1 * t536 * t3068 + 0.5e1 * t140 * t3073 + 0.2e2 / 0.3e1 * t543 * t3073 + 0.2e2 / 0.3e1 * t146 * t3037 - 0.1e2 / 0.3e1 * t3080 * t3081 - 0.1e2 / 0.3e1 * t3084 * t525; + const double t3089 = t2977 + t3012 + t3050 + t3087; + const double t3091 = t606 * t1188; + const double t3121 = 0.5e1 / 0.3e1 * t199 * t111 * t130 - 0.7e2 * t215 * t2974 - 0.7e2 * t1735 * t2966 - 0.49e3 / 0.3e1 * t641 * t2974 - 0.28e3 / 0.3e1 * t218 * t2983 - 0.28e3 / 0.3e1 * t1742 * t2974 - 0.1e2 / 0.3e1 * t200 * t2942 - 0.4e2 / 0.3e1 * t615 * t2942 - 0.1e2 * t203 * t2946 - 0.1e2 * t1770 * t2942 - 0.3e2 * t620 * t2946 - 0.25e3 / 0.3e1 * t630 * t2958 - 0.5e2 * t212 * t2966; + const double t3150 = -0.5e2 * t1678 * t2958 - 0.12e3 * t635 * t2966 - 0.1e3 / 0.3e1 * t1784 * t2950 - 0.55e3 / 0.3e1 * t227 * t3015 - 0.55e3 / 0.3e1 * t1722 * t3005 - 0.121e4 / 0.3e1 * t661 * t3015 - 0.22e3 * t230 * t3023 - 0.2e2 * t206 * t2950 - 0.2e2 * t1777 * t2946 - 0.16e3 / 0.3e1 * t625 * t2950 - 0.1e3 / 0.3e1 * t209 * t2958 - 0.15e3 * t1756 * t2991 - 0.1e4 / 0.3e1 * t656 * t3005 - 0.27e3 * t651 * t2991; + const double t3178 = -0.15e3 * t224 * t3005 - 0.64e3 / 0.3e1 * t646 * t2983 - 0.12e3 * t221 * t2991 - 0.12e3 * t1749 * t2983 + 0.4e2 / 0.3e1 * t221 * t3056 + 0.15e2 * t651 * t3056 + 0.15e2 * t224 * t3026 + 0.5e2 / 0.3e1 * t656 * t3026 + 0.5e2 / 0.3e1 * t227 * t3029 + 0.55e2 / 0.3e1 * t661 * t3029 + 0.55e2 / 0.3e1 * t230 * t3034 + 0.2e2 / 0.3e1 * t625 * t3073 + 0.2e2 / 0.3e1 * t209 * t3037; + const double t3203 = t199 * t2940; + const double t3206 = t202 * tau_a; + const double t3209 = 0.25e2 / 0.3e1 * t630 * t3037 + 0.25e2 / 0.3e1 * t212 * t3040 + 0.1e2 * t635 * t3040 + 0.1e2 * t215 * t3045 + 0.35e2 / 0.3e1 * t641 * t3045 + 0.35e2 / 0.3e1 * t218 * t3051 + 0.4e2 / 0.3e1 * t646 * t3051 + 0.5e1 / 0.3e1 * t200 * t3063 + 0.1e2 / 0.3e1 * t615 * t3063 + 0.1e2 / 0.3e1 * t203 * t3068 + 0.5e1 * t620 * t3068 + 0.5e1 * t206 * t3073 - 0.1e2 / 0.3e1 * t3203 * t525 - 0.1e2 / 0.3e1 * t3206 * t3081; + const double t3211 = t3121 + t3150 + t3178 + t3209; + const double t3213 = -0.1576608624e-1 * t513 * t517 * t1141 + t118 * t3089 - 0.13717421124828532236e-1 * t605 * t3091 + t197 * t3211; + const double t3214 = t100 * t3213; + const double t3218 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t420 * t1191 - t2929 - 0.3e1 / 0.8e1 * t27 * t2930 - 0.3e1 / 0.8e1 * t27 * t3214 ); + const double t3222 = t684 * t1300; + const double t3224 = t248 * t3222 / 0.8e1; + const double t3241 = t888 * t1300; + const double t3250 = t355 * t311; + const double t3253 = t360 * t311; + const double t3258 = t365 * t311; + const double t3263 = t370 * t311; + const double t3268 = t375 * t311; + const double t3271 = t330 * t311; + const double t3276 = t335 * t311; + const double t3281 = 0.5e1 / 0.3e1 * t120 * t311 * t325 + 0.35e2 / 0.3e1 * t947 * t3250 + 0.35e2 / 0.3e1 * t353 * t3253 + 0.4e2 / 0.3e1 * t954 * t3253 + 0.4e2 / 0.3e1 * t358 * t3258 + 0.15e2 * t961 * t3258 + 0.15e2 * t363 * t3263 + 0.5e2 / 0.3e1 * t968 * t3263 + 0.5e2 / 0.3e1 * t368 * t3268 + 0.5e1 / 0.3e1 * t323 * t3271 + 0.1e2 / 0.3e1 * t911 * t3271 + 0.1e2 / 0.3e1 * t328 * t3276 + 0.5e1 * t918 * t3276; + const double t3282 = t340 * t311; + const double t3287 = t345 * t311; + const double t3292 = t350 * t311; + const double t3298 = 0.1e1 / t308 / t2499; + const double t3299 = t120 * t3298; + const double t3302 = t132 * tau_b; + const double t3303 = t3298 * t330; + const double t3308 = t979 * t311; + const double t3313 = t370 * t3298; + const double t3314 = t3313 * tau_b; + const double t3317 = t375 * t3298; + const double t3318 = t3317 * tau_b; + const double t3323 = 0.5e1 * t333 * t3282 + 0.2e2 / 0.3e1 * t925 * t3282 + 0.2e2 / 0.3e1 * t338 * t3287 + 0.25e2 / 0.3e1 * t932 * t3287 + 0.25e2 / 0.3e1 * t343 * t3292 + 0.1e2 * t939 * t3292 - 0.1e2 / 0.3e1 * t3299 * t907 - 0.1e2 / 0.3e1 * t3302 * t3303 + 0.55e2 / 0.3e1 * t975 * t3268 + 0.55e2 / 0.3e1 * t373 * t3308 + 0.1e2 * t348 * t3250 - 0.27e3 * t961 * t3314 - 0.15e3 * t363 * t3318 - 0.15e3 * t2578 * t3314; + const double t3327 = t979 * t3298; + const double t3328 = t3327 * tau_b; + const double t3331 = t335 * t3298; + const double t3332 = t3331 * tau_b; + const double t3337 = t340 * t3298; + const double t3338 = t3337 * tau_b; + const double t3345 = t345 * t3298; + const double t3346 = t3345 * tau_b; + const double t3353 = t350 * t3298; + const double t3354 = t3353 * tau_b; + const double t3361 = -0.1e4 / 0.3e1 * t968 * t3318 - 0.55e3 / 0.3e1 * t368 * t3328 - 0.1e2 / 0.3e1 * t323 * t3332 - 0.4e2 / 0.3e1 * t911 * t3332 - 0.1e2 * t328 * t3338 - 0.1e2 * t2593 * t3332 - 0.3e2 * t918 * t3338 - 0.2e2 * t333 * t3346 - 0.2e2 * t2602 * t3338 - 0.16e3 / 0.3e1 * t925 * t3346 - 0.1e3 / 0.3e1 * t338 * t3354 - 0.1e3 / 0.3e1 * t2611 * t3346 - 0.25e3 / 0.3e1 * t932 * t3354; + const double t3362 = t355 * t3298; + const double t3363 = t3362 * tau_b; + const double t3372 = t2532 * t3298; + const double t3373 = t3372 * tau_b; + const double t3378 = t360 * t3298; + const double t3379 = t3378 * tau_b; + const double t3386 = t365 * t3298; + const double t3387 = t3386 * tau_b; + const double t3398 = -0.5e2 * t343 * t3363 - 0.5e2 * t2541 * t3354 - 0.55e3 / 0.3e1 * t2524 * t3318 - 0.121e4 / 0.3e1 * t975 * t3328 - 0.22e3 * t373 * t3373 - 0.12e3 * t939 * t3363 - 0.7e2 * t348 * t3379 - 0.7e2 * t2552 * t3363 - 0.49e3 / 0.3e1 * t947 * t3379 - 0.28e3 / 0.3e1 * t353 * t3387 - 0.28e3 / 0.3e1 * t2561 * t3379 - 0.64e3 / 0.3e1 * t954 * t3387 - 0.12e3 * t358 * t3314 - 0.12e3 * t2571 * t3387; + const double t3400 = t3281 + t3323 + t3361 + t3398; + const double t3402 = t988 * t1298; + const double t3432 = 0.5e1 / 0.3e1 * t199 * t311 * t325 + 0.1e2 * t1017 * t3292 + 0.1e2 * t393 * t3250 + 0.35e2 / 0.3e1 * t1023 * t3250 + 0.35e2 / 0.3e1 * t395 * t3253 + 0.4e2 / 0.3e1 * t1028 * t3253 + 0.4e2 / 0.3e1 * t397 * t3258 + 0.15e2 * t1033 * t3258 + 0.5e1 / 0.3e1 * t383 * t3271 + 0.1e2 / 0.3e1 * t997 * t3271 + 0.1e2 / 0.3e1 * t385 * t3276 + 0.5e1 * t1002 * t3276 + 0.5e1 * t387 * t3282; + const double t3437 = t199 * t3298; + const double t3440 = t202 * tau_b; + const double t3463 = 0.2e2 / 0.3e1 * t1007 * t3282 + 0.2e2 / 0.3e1 * t389 * t3287 - 0.1e2 / 0.3e1 * t3437 * t907 - 0.1e2 / 0.3e1 * t3440 * t3303 + 0.15e2 * t399 * t3263 + 0.5e2 / 0.3e1 * t1038 * t3263 + 0.5e2 / 0.3e1 * t401 * t3268 + 0.55e2 / 0.3e1 * t1043 * t3268 + 0.55e2 / 0.3e1 * t403 * t3308 + 0.25e2 / 0.3e1 * t1012 * t3287 + 0.25e2 / 0.3e1 * t391 * t3292 - 0.7e2 * t2741 * t3363 - 0.49e3 / 0.3e1 * t1023 * t3379 - 0.28e3 / 0.3e1 * t395 * t3387; + const double t3491 = -0.28e3 / 0.3e1 * t2748 * t3379 - 0.64e3 / 0.3e1 * t1028 * t3387 - 0.12e3 * t397 * t3314 - 0.12e3 * t2698 * t3387 - 0.27e3 * t1033 * t3314 - 0.1e2 / 0.3e1 * t383 * t3332 - 0.4e2 / 0.3e1 * t997 * t3332 - 0.1e2 * t385 * t3338 - 0.1e2 * t2761 * t3332 - 0.3e2 * t1002 * t3338 - 0.2e2 * t387 * t3346 - 0.2e2 * t2719 * t3338 - 0.16e3 / 0.3e1 * t1007 * t3346; + const double t3520 = -0.1e3 / 0.3e1 * t389 * t3354 - 0.15e3 * t399 * t3318 - 0.15e3 * t2705 * t3314 - 0.1e4 / 0.3e1 * t1038 * t3318 - 0.55e3 / 0.3e1 * t401 * t3328 - 0.55e3 / 0.3e1 * t2712 * t3318 - 0.121e4 / 0.3e1 * t1043 * t3328 - 0.22e3 * t403 * t3373 - 0.1e3 / 0.3e1 * t2727 * t3346 - 0.25e3 / 0.3e1 * t1012 * t3354 - 0.5e2 * t391 * t3363 - 0.5e2 * t2734 * t3354 - 0.12e3 * t1017 * t3363 - 0.7e2 * t393 * t3379; + const double t3522 = t3432 + t3463 + t3491 + t3520; + const double t3524 = -0.1576608624e-1 * t895 * t899 * t1251 + t318 * t3400 - 0.13717421124828532236e-1 * t987 * t3402 + t382 * t3522; + const double t3525 = t306 * t3524; + const double t3529 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t837 * t1301 - t3224 - 0.3e1 / 0.8e1 * t248 * t3241 - 0.3e1 / 0.8e1 * t248 * t3525 ); + const double t3531 = t1471 * t1496; + const double t3535 = t1496 * t195; + const double t3539 = -0.10815042470445e-3 * t1469 * t3531 * t192 - 0.4793672953020348367e-4 * t1663 * t3535 * t232; + const double t3540 = t100 * t3539; + const double t3543 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3540 ); + const double t3544 = t1471 * t2520; + const double t3548 = t2520 * t380; + const double t3552 = -0.10815042470445e-3 * t2496 * t3544 * t377 - 0.4793672953020348367e-4 * t1663 * t3548 * t405; + const double t3553 = t306 * t3552; + const double t3556 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t3553 ); + const double t3563 = 0.591228234e-2 * t512 * t1059 * t1141 + 0.51440329218106995885e-2 * t106 * t1063 * t1188; + const double t3564 = t100 * t3563; + const double t3567 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3564 ); + const double t3574 = 0.591228234e-2 * t894 * t1072 * t1251 + 0.51440329218106995885e-2 * t106 * t1076 * t1298; + const double t3575 = t306 * t3574; + const double t3578 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t3575 ); + const double t3580 = 0.1e1 / t108 / t514; + const double t3587 = t154 * t3580; + const double t3590 = t160 * t3580; + const double t3593 = t166 * t3580; + const double t3596 = t172 * t3580; + const double t3599 = t178 * t3580; + const double t3602 = t184 * t3580; + const double t3605 = t190 * t3580; + const double t3608 = t142 * t3580; + const double t3611 = t148 * t3580; + const double t3624 = 0.2e1 * t120 * t3580 * t136 + 0.2e1 * t132 * t3580 * t136 + 0.56e2 * t1491 * t3596 + 0.72e2 * t1508 * t3599 + 0.9e2 * t1517 * t3602 + 0.11e3 * t1526 * t3605 + 0.12e2 * t1546 * t3611 + 0.2e2 * t1555 * t3587 + 0.3e2 * t1564 * t3590 + 0.42e2 * t1571 * t3593 + 0.42e2 * t158 * t3596 + 0.6e1 * t1588 * t3608 + 0.56e2 * t164 * t3599 + 0.72e2 * t557 * t3593 + 0.98e2 * t565 * t3596 + 0.128e3 * t572 * t3599; + const double t3633 = t597 * t3580; + const double t3638 = t1532 * t3580; + const double t3659 = 0.2e1 * t128 * t3608 + 0.6e1 * t134 * t3611 + 0.12e2 * t140 * t3587 + 0.2e2 * t146 * t3590 + 0.3e2 * t152 * t3593 + 0.72e2 * t170 * t3602 + 0.9e2 * t176 * t3605 + 0.11e3 * t182 * t3633 + 0.132e3 * t188 * t3638 + 0.32e2 * t543 * t3587 + 0.5e2 * t550 * t3590 + 0.162e3 * t579 * t3602 + 0.2e3 * t586 * t3605 + 0.8e1 * t529 * t3608 + 0.18e2 * t536 * t3611 + 0.242e3 * t593 * t3633; + const double t3660 = t3624 + t3659; + const double t3696 = 0.2e1 * t199 * t3580 * t136 + 0.2e1 * t202 * t3580 * t136 + 0.11e3 * t1722 * t3605 + 0.56e2 * t1742 * t3596 + 0.72e2 * t1749 * t3599 + 0.9e2 * t1756 * t3602 + 0.12e2 * t206 * t3587 + 0.2e2 * t209 * t3590 + 0.3e2 * t212 * t3593 + 0.11e3 * t227 * t3633 + 0.132e3 * t230 * t3638 + 0.32e2 * t625 * t3587 + 0.5e2 * t630 * t3590 + 0.72e2 * t635 * t3593 + 0.18e2 * t620 * t3611 + 0.242e3 * t661 * t3633; + const double t3729 = 0.3e2 * t1678 * t3590 + 0.42e2 * t1735 * t3593 + 0.6e1 * t1770 * t3608 + 0.12e2 * t1777 * t3611 + 0.2e2 * t1784 * t3587 + 0.2e1 * t200 * t3608 + 0.6e1 * t203 * t3611 + 0.42e2 * t215 * t3596 + 0.56e2 * t218 * t3599 + 0.72e2 * t221 * t3602 + 0.9e2 * t224 * t3605 + 0.98e2 * t641 * t3596 + 0.128e3 * t646 * t3599 + 0.162e3 * t651 * t3602 + 0.2e3 * t656 * t3605 + 0.8e1 * t615 * t3608; + const double t3730 = t3696 + t3729; + const double t3732 = t118 * t3660 + t197 * t3730; + const double t3733 = t100 * t3732; + const double t3736 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3733 ); + const double t3738 = 0.1e1 / t308 / t896; + const double t3745 = t350 * t3738; + const double t3748 = t355 * t3738; + const double t3751 = t335 * t3738; + const double t3754 = t340 * t3738; + const double t3757 = t345 * t3738; + const double t3764 = t360 * t3738; + const double t3767 = t365 * t3738; + const double t3770 = t370 * t3738; + const double t3773 = t375 * t3738; + const double t3782 = 0.2e1 * t120 * t3738 * t330 + 0.2e1 * t132 * t3738 * t330 + 0.11e3 * t2524 * t3773 + 0.3e2 * t2541 * t3745 + 0.42e2 * t2552 * t3748 + 0.56e2 * t2561 * t3764 + 0.72e2 * t2571 * t3767 + 0.9e2 * t2578 * t3770 + 0.6e1 * t2593 * t3751 + 0.12e2 * t2602 * t3754 + 0.2e2 * t2611 * t3757 + 0.3e2 * t343 * t3748 + 0.42e2 * t348 * t3764 + 0.5e2 * t932 * t3745 + 0.72e2 * t939 * t3748 + 0.98e2 * t947 * t3764; + const double t3795 = t979 * t3738; + const double t3800 = t2532 * t3738; + const double t3817 = 0.2e1 * t323 * t3751 + 0.6e1 * t328 * t3754 + 0.12e2 * t333 * t3757 + 0.2e2 * t338 * t3745 + 0.56e2 * t353 * t3767 + 0.72e2 * t358 * t3770 + 0.9e2 * t363 * t3773 + 0.11e3 * t368 * t3795 + 0.132e3 * t373 * t3800 + 0.8e1 * t911 * t3751 + 0.18e2 * t918 * t3754 + 0.32e2 * t925 * t3757 + 0.128e3 * t954 * t3767 + 0.162e3 * t961 * t3770 + 0.2e3 * t968 * t3773 + 0.242e3 * t975 * t3795; + const double t3818 = t3782 + t3817; + const double t3854 = 0.2e1 * t199 * t3738 * t330 + 0.2e1 * t202 * t3738 * t330 + 0.18e2 * t1002 * t3754 + 0.32e2 * t1007 * t3757 + 0.5e2 * t1012 * t3745 + 0.72e2 * t1017 * t3748 + 0.98e2 * t1023 * t3764 + 0.128e3 * t1028 * t3767 + 0.242e3 * t1043 * t3795 + 0.2e2 * t389 * t3745 + 0.3e2 * t391 * t3748 + 0.12e2 * t387 * t3757 + 0.42e2 * t393 * t3764 + 0.56e2 * t395 * t3767 + 0.11e3 * t401 * t3795 + 0.132e3 * t403 * t3800; + const double t3887 = 0.162e3 * t1033 * t3770 + 0.2e3 * t1038 * t3773 + 0.72e2 * t2698 * t3767 + 0.9e2 * t2705 * t3770 + 0.11e3 * t2712 * t3773 + 0.12e2 * t2719 * t3754 + 0.2e2 * t2727 * t3757 + 0.3e2 * t2734 * t3745 + 0.42e2 * t2741 * t3748 + 0.56e2 * t2748 * t3764 + 0.6e1 * t2761 * t3751 + 0.2e1 * t383 * t3751 + 0.8e1 * t997 * t3751 + 0.6e1 * t385 * t3754 + 0.72e2 * t397 * t3770 + 0.9e2 * t399 * t3773; + const double t3888 = t3854 + t3887; + const double t3890 = t318 * t3818 + t382 * t3888; + const double t3891 = t306 * t3890; + const double t3894 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t3891 ); + + + v2rho2_aa = 0.2e1 * t674 + 0.2e1 * t768 + t7 * ( t1804 + t1952 ); + v2rho2_bb = 0.2e1 * t831 + 0.2e1 * t1056 + t7 * ( t2370 + t2828 ); + v2rhosigma_a_aa = t7 * t2868 + t1071; + v2rhosigma_b_bb = t7 * t2923 + t1084; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t3218 + t1194; + v2rhotau_b_b = t7 * t3529 + t1304; + v2sigma2_aa_aa = t7 * t3543; + v2sigma2_bb_bb = t7 * t3556; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t3567; + v2sigmatau_bb_b = t7 * t3578; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t3736; + v2tau2_bb = t7 * t3894; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_cbrt_one_ov_pi; + constexpr double t101 = constants::m_cbrt_6; + constexpr double t102 = constants::m_pi_sq; + constexpr double t103 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t33 = t32 * t32; + constexpr double t104 = t103 * t103; + constexpr double t105 = 0.1e1 / t104; + constexpr double t106 = t101 * t105; + constexpr double t119 = a_0; + constexpr double t120 = a_1; + constexpr double t121 = t101 * t101; + constexpr double t123 = 0.3e1 / 0.1e2 * t121 * t104; + constexpr double t132 = a_2; + constexpr double t138 = a_3; + constexpr double t144 = a_4; + constexpr double t150 = a_5; + constexpr double t156 = a_6; + constexpr double t162 = a_7; + constexpr double t168 = a_8; + constexpr double t174 = a_9; + constexpr double t180 = a_10; + constexpr double t186 = a_11; + constexpr double t198 = b_0; + constexpr double t199 = b_1; + constexpr double t202 = b_2; + constexpr double t205 = b_3; + constexpr double t208 = b_4; + constexpr double t211 = b_5; + constexpr double t214 = b_6; + constexpr double t217 = b_7; + constexpr double t220 = b_8; + constexpr double t223 = b_9; + constexpr double t226 = b_10; + constexpr double t229 = b_11; + constexpr double t1471 = 0.1e1 / t103 / t102; + constexpr double t1663 = t121 * t1471; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t34 = t30 * t33; + const double t35 = t34 * omega; + const double t36 = 0.1e1 / t28; + const double t37 = t3 * t36; + const double t39 = 0.1e1 + t18 <= zeta_tol; + const double t41 = 0.1e1 - t18 <= zeta_tol; + const double t42 = piecewise_functor_5( t39, t12, t41, t16, t18 ); + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( t43 ); + const double t46 = piecewise_functor_3( t44, t22, t45 ); + const double t47 = 0.1e1 / t46; + const double t50 = t35 * t37 * t47 / 0.18e2; + const double t51 = 0.135e1 <= t50; + const double t52 = 0.135e1 < t50; + const double t53 = piecewise_functor_3( t52, t50, 1.35 ); + const double t54 = t53 * t53; + const double t57 = t54 * t54; + const double t58 = 0.1e1 / t57; + const double t60 = t57 * t54; + const double t61 = 0.1e1 / t60; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = 0.1e1 / t63 / t54; + const double t70 = 0.1e1 / t63 / t57; + const double t73 = 0.1e1 / t63 / t60; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = piecewise_functor_3( t52, 1.35, t50 ); + const double t80 = safe_math::sqrt( M_PI ); + const double t81 = 0.1e1 / t79; + const double t83 = safe_math::erf( t81 / 0.2e1 ); + const double t85 = t79 * t79; + const double t86 = 0.1e1 / t85; + const double t88 = safe_math::exp( -t86 / 0.4e1 ); + const double t89 = t88 - 0.1e1; + const double t92 = t88 - 0.3e1 / 0.2e1 - 0.2e1 * t85 * t89; + const double t95 = 0.2e1 * t79 * t92 + t80 * t83; + const double t99 = piecewise_functor_3( t51, 0.1e1 / t54 / 0.36e2 - t58 / 0.96e3 + t61 / 0.2688e5 - t64 / 0.82944e6 + t67 / 0.2838528e8 - t70 / 0.107347968e10 + t73 / 0.445906944e11 - t76 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t79 * t95 ); + const double t100 = t28 * t99; + const double t107 = rho_a * rho_a; + const double t108 = safe_math::cbrt( rho_a ); + const double t109 = t108 * t108; + const double t111 = 0.1e1 / t109 / t107; + const double t113 = t106 * sigma_aa * t111; + const double t115 = 0.804e0 + 0.914625e-2 * t113; + const double t118 = 0.1804e1 - 0.646416e0 / t115; + const double t125 = 0.1e1 / t109 / rho_a; + const double t126 = tau_a * t125; + const double t127 = t123 - t126; + const double t128 = t120 * t127; + const double t129 = t123 + t126; + const double t130 = 0.1e1 / t129; + const double t133 = t127 * t127; + const double t134 = t132 * t133; + const double t135 = t129 * t129; + const double t136 = 0.1e1 / t135; + const double t139 = t133 * t127; + const double t140 = t138 * t139; + const double t141 = t135 * t129; + const double t142 = 0.1e1 / t141; + const double t145 = t133 * t133; + const double t146 = t144 * t145; + const double t147 = t135 * t135; + const double t148 = 0.1e1 / t147; + const double t151 = t145 * t127; + const double t152 = t150 * t151; + const double t153 = t147 * t129; + const double t154 = 0.1e1 / t153; + const double t157 = t145 * t133; + const double t158 = t156 * t157; + const double t159 = t147 * t135; + const double t160 = 0.1e1 / t159; + const double t163 = t145 * t139; + const double t164 = t162 * t163; + const double t165 = t147 * t141; + const double t166 = 0.1e1 / t165; + const double t169 = t145 * t145; + const double t170 = t168 * t169; + const double t171 = t147 * t147; + const double t172 = 0.1e1 / t171; + const double t175 = t169 * t127; + const double t176 = t174 * t175; + const double t178 = 0.1e1 / t171 / t129; + const double t181 = t169 * t133; + const double t182 = t180 * t181; + const double t184 = 0.1e1 / t171 / t135; + const double t187 = t169 * t139; + const double t188 = t186 * t187; + const double t190 = 0.1e1 / t171 / t141; + const double t192 = t128 * t130 + t134 * t136 + t140 * t142 + t146 * t148 + t152 * t154 + t158 * t160 + t164 * t166 + t170 * t172 + t176 * t178 + t182 * t184 + t188 * t190 + t119; + const double t195 = safe_math::exp( -0.93189002206715572255e-2 * t113 ); + const double t197 = 0.1552e1 - 0.552e0 * t195; + const double t200 = t199 * t127; + const double t203 = t202 * t133; + const double t206 = t205 * t139; + const double t209 = t208 * t145; + const double t212 = t211 * t151; + const double t215 = t214 * t157; + const double t218 = t217 * t163; + const double t221 = t220 * t169; + const double t224 = t223 * t175; + const double t227 = t226 * t181; + const double t230 = t229 * t187; + const double t232 = t200 * t130 + t203 * t136 + t206 * t142 + t209 * t148 + t212 * t154 + t215 * t160 + t218 * t166 + t221 * t172 + t224 * t178 + t227 * t184 + t230 * t190 + t198; + const double t234 = t118 * t192 + t197 * t232; + const double t235 = t100 * t234; + const double t238 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t235 ); + const double t239 = rho_b <= dens_tol; + const double t240 = -t17; + const double t242 = piecewise_functor_5( t15, t12, t11, t16, t240 * t8 ); + const double t243 = 0.1e1 + t242; + const double t244 = t243 <= zeta_tol; + const double t245 = safe_math::cbrt( t243 ); + const double t247 = piecewise_functor_3( t244, t23, t245 * t243 ); + const double t248 = t6 * t247; + const double t249 = piecewise_functor_5( t41, t12, t39, t16, -t18 ); + const double t250 = 0.1e1 + t249; + const double t251 = t250 <= zeta_tol; + const double t252 = safe_math::cbrt( t250 ); + const double t253 = piecewise_functor_3( t251, t22, t252 ); + const double t254 = 0.1e1 / t253; + const double t257 = t35 * t37 * t254 / 0.18e2; + const double t258 = 0.135e1 <= t257; + const double t259 = 0.135e1 < t257; + const double t260 = piecewise_functor_3( t259, t257, 1.35 ); + const double t261 = t260 * t260; + const double t264 = t261 * t261; + const double t265 = 0.1e1 / t264; + const double t267 = t264 * t261; + const double t268 = 0.1e1 / t267; + const double t270 = t264 * t264; + const double t271 = 0.1e1 / t270; + const double t274 = 0.1e1 / t270 / t261; + const double t277 = 0.1e1 / t270 / t264; + const double t280 = 0.1e1 / t270 / t267; + const double t282 = t270 * t270; + const double t283 = 0.1e1 / t282; + const double t286 = piecewise_functor_3( t259, 1.35, t257 ); + const double t287 = 0.1e1 / t286; + const double t289 = safe_math::erf( t287 / 0.2e1 ); + const double t291 = t286 * t286; + const double t292 = 0.1e1 / t291; + const double t294 = safe_math::exp( -t292 / 0.4e1 ); + const double t295 = t294 - 0.1e1; + const double t298 = t294 - 0.3e1 / 0.2e1 - 0.2e1 * t291 * t295; + const double t301 = 0.2e1 * t286 * t298 + t80 * t289; + const double t305 = piecewise_functor_3( t258, 0.1e1 / t261 / 0.36e2 - t265 / 0.96e3 + t268 / 0.2688e5 - t271 / 0.82944e6 + t274 / 0.2838528e8 - t277 / 0.107347968e10 + t280 / 0.445906944e11 - t283 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t286 * t301 ); + const double t306 = t28 * t305; + const double t307 = rho_b * rho_b; + const double t308 = safe_math::cbrt( rho_b ); + const double t309 = t308 * t308; + const double t311 = 0.1e1 / t309 / t307; + const double t313 = t106 * sigma_bb * t311; + const double t315 = 0.804e0 + 0.914625e-2 * t313; + const double t318 = 0.1804e1 - 0.646416e0 / t315; + const double t320 = 0.1e1 / t309 / rho_b; + const double t321 = tau_b * t320; + const double t322 = t123 - t321; + const double t323 = t120 * t322; + const double t324 = t123 + t321; + const double t325 = 0.1e1 / t324; + const double t327 = t322 * t322; + const double t328 = t132 * t327; + const double t329 = t324 * t324; + const double t330 = 0.1e1 / t329; + const double t332 = t327 * t322; + const double t333 = t138 * t332; + const double t334 = t329 * t324; + const double t335 = 0.1e1 / t334; + const double t337 = t327 * t327; + const double t338 = t144 * t337; + const double t339 = t329 * t329; + const double t340 = 0.1e1 / t339; + const double t342 = t337 * t322; + const double t343 = t150 * t342; + const double t344 = t339 * t324; + const double t345 = 0.1e1 / t344; + const double t347 = t337 * t327; + const double t348 = t156 * t347; + const double t349 = t339 * t329; + const double t350 = 0.1e1 / t349; + const double t352 = t337 * t332; + const double t353 = t162 * t352; + const double t354 = t339 * t334; + const double t355 = 0.1e1 / t354; + const double t357 = t337 * t337; + const double t358 = t168 * t357; + const double t359 = t339 * t339; + const double t360 = 0.1e1 / t359; + const double t362 = t357 * t322; + const double t363 = t174 * t362; + const double t365 = 0.1e1 / t359 / t324; + const double t367 = t357 * t327; + const double t368 = t180 * t367; + const double t370 = 0.1e1 / t359 / t329; + const double t372 = t357 * t332; + const double t373 = t186 * t372; + const double t375 = 0.1e1 / t359 / t334; + const double t377 = t323 * t325 + t328 * t330 + t333 * t335 + t338 * t340 + t343 * t345 + t348 * t350 + t353 * t355 + t358 * t360 + t363 * t365 + t368 * t370 + t373 * t375 + t119; + const double t380 = safe_math::exp( -0.93189002206715572255e-2 * t313 ); + const double t382 = 0.1552e1 - 0.552e0 * t380; + const double t383 = t199 * t322; + const double t385 = t202 * t327; + const double t387 = t205 * t332; + const double t389 = t208 * t337; + const double t391 = t211 * t342; + const double t393 = t214 * t347; + const double t395 = t217 * t352; + const double t397 = t220 * t357; + const double t399 = t223 * t362; + const double t401 = t226 * t367; + const double t403 = t229 * t372; + const double t405 = t383 * t325 + t385 * t330 + t387 * t335 + t389 * t340 + t391 * t345 + t393 * t350 + t395 * t355 + t397 * t360 + t399 * t365 + t401 * t370 + t403 * t375 + t198; + const double t407 = t318 * t377 + t382 * t405; + const double t408 = t306 * t407; + const double t411 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t408 ); + const double t412 = t7 * t7; + const double t413 = 0.1e1 / t412; + const double t414 = t17 * t413; + const double t415 = t8 - t414; + const double t416 = piecewise_functor_5( t11, 0.0, t15, 0.0, t415 ); + const double t419 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t416 ); + const double t420 = t6 * t419; + const double t423 = t28 * t28; + const double t424 = 0.1e1 / t423; + const double t425 = t424 * t99; + const double t426 = t425 * t234; + const double t428 = t27 * t426 / 0.8e1; + const double t429 = t54 * t53; + const double t430 = 0.1e1 / t429; + const double t432 = 0.1e1 / t28 / t7; + const double t433 = t3 * t432; + const double t436 = t35 * t433 * t47 / 0.54e2; + const double t437 = t46 * t46; + const double t438 = 0.1e1 / t437; + const double t439 = t45 * t45; + const double t440 = 0.1e1 / t439; + const double t441 = piecewise_functor_5( t39, 0.0, t41, 0.0, t415 ); + const double t444 = piecewise_functor_3( t44, 0.0, t440 * t441 / 0.3e1 ); + const double t445 = t438 * t444; + const double t449 = -t436 - t35 * t37 * t445 / 0.18e2; + const double t450 = piecewise_functor_3( t52, t449, 0.0 ); + const double t453 = t57 * t53; + const double t454 = 0.1e1 / t453; + const double t457 = t57 * t429; + const double t458 = 0.1e1 / t457; + const double t462 = 0.1e1 / t63 / t53; + const double t466 = 0.1e1 / t63 / t429; + const double t470 = 0.1e1 / t63 / t453; + const double t474 = 0.1e1 / t63 / t457; + const double t478 = 0.1e1 / t75 / t53; + const double t482 = piecewise_functor_3( t52, 0.0, t449 ); + const double t484 = t88 * t86; + const double t488 = t85 * t79; + const double t489 = 0.1e1 / t488; + const double t493 = t79 * t89; + const double t498 = t489 * t482 * t88 / 0.2e1 - 0.4e1 * t493 * t482 - t81 * t482 * t88; + const double t501 = -t484 * t482 + 0.2e1 * t482 * t92 + 0.2e1 * t79 * t498; + const double t505 = piecewise_functor_3( t51, -t430 * t450 / 0.18e2 + t454 * t450 / 0.24e3 - t458 * t450 / 0.448e4 + t462 * t450 / 0.10368e6 - t466 * t450 / 0.2838528e7 + t470 * t450 / 0.8945664e8 - t474 * t450 / 0.31850496e10 + t478 * t450 / 0.1263403008e12, -0.8e1 / 0.3e1 * t482 * t95 - 0.8e1 / 0.3e1 * t79 * t501 ); + const double t506 = t28 * t505; + const double t507 = t506 * t234; + const double t510 = t115 * t115; + const double t512 = 0.1e1 / t510 * t101; + const double t513 = t512 * t105; + const double t514 = t107 * rho_a; + const double t516 = 0.1e1 / t109 / t514; + const double t517 = sigma_aa * t516; + const double t521 = t120 * tau_a; + const double t522 = t111 * t130; + const double t525 = t136 * tau_a; + const double t526 = t525 * t111; + const double t529 = t132 * t127; + const double t532 = t142 * tau_a; + const double t533 = t532 * t111; + const double t536 = t138 * t133; + const double t539 = t148 * tau_a; + const double t540 = t539 * t111; + const double t543 = t144 * t139; + const double t546 = t154 * tau_a; + const double t547 = t546 * t111; + const double t550 = t150 * t145; + const double t553 = t160 * tau_a; + const double t554 = t553 * t111; + const double t557 = t156 * t151; + const double t560 = 0.5e1 / 0.3e1 * t521 * t522 + 0.5e1 / 0.3e1 * t128 * t526 + 0.1e2 / 0.3e1 * t529 * t526 + 0.1e2 / 0.3e1 * t134 * t533 + 0.5e1 * t536 * t533 + 0.5e1 * t140 * t540 + 0.2e2 / 0.3e1 * t543 * t540 + 0.2e2 / 0.3e1 * t146 * t547 + 0.25e2 / 0.3e1 * t550 * t547 + 0.25e2 / 0.3e1 * t152 * t554 + 0.1e2 * t557 * t554; + const double t561 = t166 * tau_a; + const double t562 = t561 * t111; + const double t565 = t162 * t157; + const double t568 = t172 * tau_a; + const double t569 = t568 * t111; + const double t572 = t168 * t163; + const double t575 = t178 * tau_a; + const double t576 = t575 * t111; + const double t579 = t174 * t169; + const double t582 = t184 * tau_a; + const double t583 = t582 * t111; + const double t586 = t180 * t175; + const double t589 = t190 * tau_a; + const double t590 = t589 * t111; + const double t593 = t186 * t181; + const double t597 = 0.1e1 / t171 / t147; + const double t598 = t597 * tau_a; + const double t599 = t598 * t111; + const double t602 = 0.1e2 * t158 * t562 + 0.35e2 / 0.3e1 * t565 * t562 + 0.35e2 / 0.3e1 * t164 * t569 + 0.4e2 / 0.3e1 * t572 * t569 + 0.4e2 / 0.3e1 * t170 * t576 + 0.15e2 * t579 * t576 + 0.15e2 * t176 * t583 + 0.5e2 / 0.3e1 * t586 * t583 + 0.5e2 / 0.3e1 * t182 * t590 + 0.55e2 / 0.3e1 * t593 * t590 + 0.55e2 / 0.3e1 * t188 * t599; + const double t603 = t560 + t602; + const double t605 = t106 * sigma_aa; + const double t606 = t516 * t195; + const double t607 = t606 * t232; + const double t610 = t199 * tau_a; + const double t615 = t202 * t127; + const double t620 = t205 * t133; + const double t625 = t208 * t139; + const double t630 = t211 * t145; + const double t635 = t214 * t151; + const double t638 = 0.5e1 / 0.3e1 * t610 * t522 + 0.5e1 / 0.3e1 * t200 * t526 + 0.1e2 / 0.3e1 * t615 * t526 + 0.1e2 / 0.3e1 * t203 * t533 + 0.5e1 * t620 * t533 + 0.5e1 * t206 * t540 + 0.2e2 / 0.3e1 * t625 * t540 + 0.2e2 / 0.3e1 * t209 * t547 + 0.25e2 / 0.3e1 * t630 * t547 + 0.25e2 / 0.3e1 * t212 * t554 + 0.1e2 * t635 * t554; + const double t641 = t217 * t157; + const double t646 = t220 * t163; + const double t651 = t223 * t169; + const double t656 = t226 * t175; + const double t661 = t229 * t181; + const double t666 = 0.1e2 * t215 * t562 + 0.35e2 / 0.3e1 * t641 * t562 + 0.35e2 / 0.3e1 * t218 * t569 + 0.4e2 / 0.3e1 * t646 * t569 + 0.4e2 / 0.3e1 * t221 * t576 + 0.15e2 * t651 * t576 + 0.15e2 * t224 * t583 + 0.5e2 / 0.3e1 * t656 * t583 + 0.5e2 / 0.3e1 * t227 * t590 + 0.55e2 / 0.3e1 * t661 * t590 + 0.55e2 / 0.3e1 * t230 * t599; + const double t667 = t638 + t666; + const double t669 = -0.1576608624e-1 * t513 * t517 * t192 + t118 * t603 - 0.13717421124828532236e-1 * t605 * t607 + t197 * t667; + const double t670 = t100 * t669; + const double t674 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t420 * t235 - t428 - 0.3e1 / 0.8e1 * t27 * t507 - 0.3e1 / 0.8e1 * t27 * t670 ); + const double t675 = t240 * t413; + const double t677 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t675 ); + const double t680 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.3e1 * t245 * t677 ); + const double t681 = t6 * t680; + const double t684 = t424 * t305; + const double t685 = t684 * t407; + const double t687 = t248 * t685 / 0.8e1; + const double t688 = t261 * t260; + const double t689 = 0.1e1 / t688; + const double t692 = t35 * t433 * t254 / 0.54e2; + const double t693 = t253 * t253; + const double t694 = 0.1e1 / t693; + const double t695 = t252 * t252; + const double t696 = 0.1e1 / t695; + const double t698 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t415 ); + const double t701 = piecewise_functor_3( t251, 0.0, t696 * t698 / 0.3e1 ); + const double t702 = t694 * t701; + const double t706 = -t692 - t35 * t37 * t702 / 0.18e2; + const double t707 = piecewise_functor_3( t259, t706, 0.0 ); + const double t710 = t264 * t260; + const double t711 = 0.1e1 / t710; + const double t714 = t264 * t688; + const double t715 = 0.1e1 / t714; + const double t719 = 0.1e1 / t270 / t260; + const double t723 = 0.1e1 / t270 / t688; + const double t727 = 0.1e1 / t270 / t710; + const double t731 = 0.1e1 / t270 / t714; + const double t735 = 0.1e1 / t282 / t260; + const double t739 = piecewise_functor_3( t259, 0.0, t706 ); + const double t741 = t294 * t292; + const double t745 = t291 * t286; + const double t746 = 0.1e1 / t745; + const double t750 = t286 * t295; + const double t755 = t746 * t739 * t294 / 0.2e1 - 0.4e1 * t750 * t739 - t287 * t739 * t294; + const double t758 = 0.2e1 * t286 * t755 + 0.2e1 * t739 * t298 - t741 * t739; + const double t762 = piecewise_functor_3( t258, -t689 * t707 / 0.18e2 + t711 * t707 / 0.24e3 - t715 * t707 / 0.448e4 + t719 * t707 / 0.10368e6 - t723 * t707 / 0.2838528e7 + t727 * t707 / 0.8945664e8 - t731 * t707 / 0.31850496e10 + t735 * t707 / 0.1263403008e12, -0.8e1 / 0.3e1 * t286 * t758 - 0.8e1 / 0.3e1 * t739 * t301 ); + const double t763 = t28 * t762; + const double t764 = t763 * t407; + const double t768 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t681 * t408 - t687 - 0.3e1 / 0.8e1 * t248 * t764 ); + const double t771 = -t8 - t414; + const double t772 = piecewise_functor_5( t11, 0.0, t15, 0.0, t771 ); + const double t775 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t772 ); + const double t776 = t6 * t775; + const double t779 = piecewise_functor_5( t39, 0.0, t41, 0.0, t771 ); + const double t782 = piecewise_functor_3( t44, 0.0, t440 * t779 / 0.3e1 ); + const double t783 = t438 * t782; + const double t787 = -t436 - t35 * t37 * t783 / 0.18e2; + const double t788 = piecewise_functor_3( t52, t787, 0.0 ); + const double t791 = t454 * t788; + const double t793 = t458 * t788; + const double t795 = t462 * t788; + const double t797 = t466 * t788; + const double t799 = t470 * t788; + const double t801 = t474 * t788; + const double t803 = t478 * t788; + const double t806 = piecewise_functor_3( t52, 0.0, t787 ); + const double t818 = t489 * t806 * t88 / 0.2e1 - 0.4e1 * t493 * t806 - t81 * t806 * t88; + const double t821 = -t484 * t806 + 0.2e1 * t79 * t818 + 0.2e1 * t806 * t92; + const double t825 = piecewise_functor_3( t51, -t430 * t788 / 0.18e2 + t791 / 0.24e3 - t793 / 0.448e4 + t795 / 0.10368e6 - t797 / 0.2838528e7 + t799 / 0.8945664e8 - t801 / 0.31850496e10 + t803 / 0.1263403008e12, -0.8e1 / 0.3e1 * t79 * t821 - 0.8e1 / 0.3e1 * t806 * t95 ); + const double t826 = t28 * t825; + const double t827 = t826 * t234; + const double t831 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t776 * t235 - t428 - 0.3e1 / 0.8e1 * t27 * t827 ); + const double t833 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t675 ); + const double t836 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.3e1 * t245 * t833 ); + const double t837 = t6 * t836; + const double t841 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t771 ); + const double t844 = piecewise_functor_3( t251, 0.0, t696 * t841 / 0.3e1 ); + const double t845 = t694 * t844; + const double t849 = -t692 - t35 * t37 * t845 / 0.18e2; + const double t850 = piecewise_functor_3( t259, t849, 0.0 ); + const double t853 = t711 * t850; + const double t855 = t715 * t850; + const double t857 = t719 * t850; + const double t859 = t723 * t850; + const double t861 = t727 * t850; + const double t863 = t731 * t850; + const double t865 = t735 * t850; + const double t868 = piecewise_functor_3( t259, 0.0, t849 ); + const double t880 = t746 * t868 * t294 / 0.2e1 - 0.4e1 * t750 * t868 - t287 * t868 * t294; + const double t883 = 0.2e1 * t286 * t880 + 0.2e1 * t868 * t298 - t741 * t868; + const double t887 = piecewise_functor_3( t258, -t689 * t850 / 0.18e2 + t853 / 0.24e3 - t855 / 0.448e4 + t857 / 0.10368e6 - t859 / 0.2838528e7 + t861 / 0.8945664e8 - t863 / 0.31850496e10 + t865 / 0.1263403008e12, -0.8e1 / 0.3e1 * t286 * t883 - 0.8e1 / 0.3e1 * t868 * t301 ); + const double t888 = t28 * t887; + const double t889 = t888 * t407; + const double t892 = t315 * t315; + const double t894 = 0.1e1 / t892 * t101; + const double t895 = t894 * t105; + const double t896 = t307 * rho_b; + const double t898 = 0.1e1 / t309 / t896; + const double t899 = sigma_bb * t898; + const double t903 = t120 * tau_b; + const double t904 = t311 * t325; + const double t907 = t330 * tau_b; + const double t908 = t907 * t311; + const double t911 = t132 * t322; + const double t914 = t335 * tau_b; + const double t915 = t914 * t311; + const double t918 = t138 * t327; + const double t921 = t340 * tau_b; + const double t922 = t921 * t311; + const double t925 = t144 * t332; + const double t928 = t345 * tau_b; + const double t929 = t928 * t311; + const double t932 = t150 * t337; + const double t935 = t350 * tau_b; + const double t936 = t935 * t311; + const double t939 = t156 * t342; + const double t942 = 0.5e1 / 0.3e1 * t903 * t904 + 0.5e1 / 0.3e1 * t323 * t908 + 0.1e2 / 0.3e1 * t911 * t908 + 0.1e2 / 0.3e1 * t328 * t915 + 0.5e1 * t918 * t915 + 0.5e1 * t333 * t922 + 0.2e2 / 0.3e1 * t925 * t922 + 0.2e2 / 0.3e1 * t338 * t929 + 0.25e2 / 0.3e1 * t932 * t929 + 0.25e2 / 0.3e1 * t343 * t936 + 0.1e2 * t939 * t936; + const double t943 = t355 * tau_b; + const double t944 = t943 * t311; + const double t947 = t162 * t347; + const double t950 = t360 * tau_b; + const double t951 = t950 * t311; + const double t954 = t168 * t352; + const double t957 = t365 * tau_b; + const double t958 = t957 * t311; + const double t961 = t174 * t357; + const double t964 = t370 * tau_b; + const double t965 = t964 * t311; + const double t968 = t180 * t362; + const double t971 = t375 * tau_b; + const double t972 = t971 * t311; + const double t975 = t186 * t367; + const double t979 = 0.1e1 / t359 / t339; + const double t980 = t979 * tau_b; + const double t981 = t980 * t311; + const double t984 = 0.1e2 * t348 * t944 + 0.35e2 / 0.3e1 * t947 * t944 + 0.35e2 / 0.3e1 * t353 * t951 + 0.4e2 / 0.3e1 * t954 * t951 + 0.4e2 / 0.3e1 * t358 * t958 + 0.15e2 * t961 * t958 + 0.15e2 * t363 * t965 + 0.5e2 / 0.3e1 * t968 * t965 + 0.5e2 / 0.3e1 * t368 * t972 + 0.55e2 / 0.3e1 * t975 * t972 + 0.55e2 / 0.3e1 * t373 * t981; + const double t985 = t942 + t984; + const double t987 = t106 * sigma_bb; + const double t988 = t898 * t380; + const double t989 = t988 * t405; + const double t992 = t199 * tau_b; + const double t997 = t202 * t322; + const double t1002 = t205 * t327; + const double t1007 = t208 * t332; + const double t1012 = t211 * t337; + const double t1017 = t214 * t342; + const double t1020 = 0.5e1 / 0.3e1 * t992 * t904 + 0.5e1 / 0.3e1 * t383 * t908 + 0.1e2 / 0.3e1 * t997 * t908 + 0.1e2 / 0.3e1 * t385 * t915 + 0.5e1 * t1002 * t915 + 0.5e1 * t387 * t922 + 0.2e2 / 0.3e1 * t1007 * t922 + 0.2e2 / 0.3e1 * t389 * t929 + 0.25e2 / 0.3e1 * t1012 * t929 + 0.25e2 / 0.3e1 * t391 * t936 + 0.1e2 * t1017 * t936; + const double t1023 = t217 * t347; + const double t1028 = t220 * t352; + const double t1033 = t223 * t357; + const double t1038 = t226 * t362; + const double t1043 = t229 * t367; + const double t1048 = 0.1e2 * t393 * t944 + 0.35e2 / 0.3e1 * t1023 * t944 + 0.35e2 / 0.3e1 * t395 * t951 + 0.4e2 / 0.3e1 * t1028 * t951 + 0.4e2 / 0.3e1 * t397 * t958 + 0.15e2 * t1033 * t958 + 0.15e2 * t399 * t965 + 0.5e2 / 0.3e1 * t1038 * t965 + 0.5e2 / 0.3e1 * t401 * t972 + 0.55e2 / 0.3e1 * t1043 * t972 + 0.55e2 / 0.3e1 * t403 * t981; + const double t1049 = t1020 + t1048; + const double t1051 = -0.1576608624e-1 * t895 * t899 * t377 + t318 * t985 - 0.13717421124828532236e-1 * t987 * t989 + t382 * t1049; + const double t1052 = t306 * t1051; + const double t1056 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t837 * t408 - t687 - 0.3e1 / 0.8e1 * t248 * t889 - 0.3e1 / 0.8e1 * t248 * t1052 ); + const double t1059 = t105 * t111; + const double t1063 = t111 * t195; + const double t1067 = 0.591228234e-2 * t512 * t1059 * t192 + 0.51440329218106995885e-2 * t106 * t1063 * t232; + const double t1068 = t100 * t1067; + const double t1071 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1068 ); + const double t1072 = t105 * t311; + const double t1076 = t311 * t380; + const double t1080 = 0.591228234e-2 * t894 * t1072 * t377 + 0.51440329218106995885e-2 * t106 * t1076 * t405; + const double t1081 = t306 * t1080; + const double t1084 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t1081 ); + const double t1087 = t136 * t125; + const double t1091 = t142 * t125; + const double t1096 = t148 * t125; + const double t1101 = t154 * t125; + const double t1106 = t160 * t125; + const double t1111 = -t120 * t125 * t130 - t128 * t1087 - 0.2e1 * t529 * t1087 - 0.2e1 * t134 * t1091 - 0.3e1 * t536 * t1091 - 0.3e1 * t140 * t1096 - 0.4e1 * t543 * t1096 - 0.4e1 * t146 * t1101 - 0.5e1 * t550 * t1101 - 0.5e1 * t152 * t1106 - 0.6e1 * t557 * t1106; + const double t1112 = t166 * t125; + const double t1117 = t172 * t125; + const double t1122 = t178 * t125; + const double t1127 = t184 * t125; + const double t1132 = t190 * t125; + const double t1137 = t597 * t125; + const double t1140 = -0.6e1 * t158 * t1112 - 0.7e1 * t565 * t1112 - 0.7e1 * t164 * t1117 - 0.8e1 * t572 * t1117 - 0.8e1 * t170 * t1122 - 0.9e1 * t579 * t1122 - 0.9e1 * t176 * t1127 - 0.1e2 * t586 * t1127 - 0.1e2 * t182 * t1132 - 0.11e2 * t593 * t1132 - 0.11e2 * t188 * t1137; + const double t1141 = t1111 + t1140; + const double t1164 = -t199 * t125 * t130 - t200 * t1087 - 0.2e1 * t615 * t1087 - 0.2e1 * t203 * t1091 - 0.3e1 * t620 * t1091 - 0.3e1 * t206 * t1096 - 0.4e1 * t625 * t1096 - 0.4e1 * t209 * t1101 - 0.5e1 * t630 * t1101 - 0.5e1 * t212 * t1106 - 0.6e1 * t635 * t1106; + const double t1187 = -0.6e1 * t215 * t1112 - 0.7e1 * t641 * t1112 - 0.7e1 * t218 * t1117 - 0.8e1 * t646 * t1117 - 0.8e1 * t221 * t1122 - 0.9e1 * t651 * t1122 - 0.9e1 * t224 * t1127 - 0.1e2 * t656 * t1127 - 0.1e2 * t227 * t1132 - 0.11e2 * t661 * t1132 - 0.11e2 * t230 * t1137; + const double t1188 = t1164 + t1187; + const double t1190 = t118 * t1141 + t197 * t1188; + const double t1191 = t100 * t1190; + const double t1194 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1191 ); + const double t1197 = t330 * t320; + const double t1201 = t335 * t320; + const double t1206 = t340 * t320; + const double t1211 = t345 * t320; + const double t1216 = t350 * t320; + const double t1221 = -t120 * t320 * t325 - t323 * t1197 - 0.2e1 * t911 * t1197 - 0.2e1 * t328 * t1201 - 0.3e1 * t918 * t1201 - 0.3e1 * t333 * t1206 - 0.4e1 * t925 * t1206 - 0.4e1 * t338 * t1211 - 0.5e1 * t932 * t1211 - 0.5e1 * t343 * t1216 - 0.6e1 * t939 * t1216; + const double t1222 = t355 * t320; + const double t1227 = t360 * t320; + const double t1232 = t365 * t320; + const double t1237 = t370 * t320; + const double t1242 = t375 * t320; + const double t1247 = t979 * t320; + const double t1250 = -0.6e1 * t348 * t1222 - 0.7e1 * t947 * t1222 - 0.7e1 * t353 * t1227 - 0.8e1 * t954 * t1227 - 0.8e1 * t358 * t1232 - 0.9e1 * t961 * t1232 - 0.9e1 * t363 * t1237 - 0.1e2 * t968 * t1237 - 0.1e2 * t368 * t1242 - 0.11e2 * t975 * t1242 - 0.11e2 * t373 * t1247; + const double t1251 = t1221 + t1250; + const double t1274 = -t199 * t320 * t325 - 0.3e1 * t1002 * t1201 - 0.4e1 * t1007 * t1206 - 0.5e1 * t1012 * t1211 - 0.6e1 * t1017 * t1216 - t383 * t1197 - 0.2e1 * t997 * t1197 - 0.2e1 * t385 * t1201 - 0.3e1 * t387 * t1206 - 0.4e1 * t389 * t1211 - 0.5e1 * t391 * t1216; + const double t1297 = -0.7e1 * t1023 * t1222 - 0.8e1 * t1028 * t1227 - 0.9e1 * t1033 * t1232 - 0.1e2 * t1038 * t1237 - 0.11e2 * t1043 * t1242 - 0.6e1 * t393 * t1222 - 0.7e1 * t395 * t1227 - 0.8e1 * t397 * t1232 - 0.9e1 * t399 * t1237 - 0.1e2 * t401 * t1242 - 0.11e2 * t403 * t1247; + const double t1298 = t1274 + t1297; + const double t1300 = t318 * t1251 + t382 * t1298; + const double t1301 = t306 * t1300; + const double t1304 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t1301 ); + const double t1307 = t24 * t24; + const double t1308 = 0.1e1 / t1307; + const double t1309 = t416 * t416; + const double t1312 = t412 * t7; + const double t1313 = 0.1e1 / t1312; + const double t1314 = t17 * t1313; + const double t1316 = -0.2e1 * t413 + 0.2e1 * t1314; + const double t1317 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1316 ); + const double t1321 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1308 * t1309 + 0.4e1 / 0.3e1 * t24 * t1317 ); + const double t1322 = t6 * t1321; + const double t1325 = t420 * t426; + const double t1332 = 0.1e1 / t423 / t7; + const double t1333 = t1332 * t99; + const double t1334 = t1333 * t234; + const double t1336 = t27 * t1334 / 0.12e2; + const double t1337 = t424 * t505; + const double t1338 = t1337 * t234; + const double t1339 = t27 * t1338; + const double t1341 = t425 * t669; + const double t1342 = t27 * t1341; + const double t1344 = t450 * t450; + const double t1348 = 0.1e1 / t28 / t412; + const double t1349 = t3 * t1348; + const double t1352 = 0.2e1 / 0.81e2 * t35 * t1349 * t47; + const double t1354 = t35 * t433 * t445; + const double t1357 = 0.1e1 / t437 / t46; + const double t1358 = t444 * t444; + const double t1359 = t1357 * t1358; + const double t1364 = 0.1e1 / t439 / t43; + const double t1365 = t441 * t441; + const double t1368 = piecewise_functor_5( t39, 0.0, t41, 0.0, t1316 ); + const double t1372 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t1364 * t1365 + t440 * t1368 / 0.3e1 ); + const double t1373 = t438 * t1372; + const double t1377 = t1352 + t1354 / 0.27e2 + t35 * t37 * t1359 / 0.9e1 - t35 * t37 * t1373 / 0.18e2; + const double t1378 = piecewise_functor_3( t52, t1377, 0.0 ); + const double t1406 = 0.1e1 / t75 / t54; + const double t1411 = t58 * t1344 / 0.6e1 - t430 * t1378 / 0.18e2 - t61 * t1344 / 0.48e2 + t454 * t1378 / 0.24e3 + t64 * t1344 / 0.64e3 - t458 * t1378 / 0.448e4 - t67 * t1344 / 0.1152e5 + t462 * t1378 / 0.10368e6 + t70 * t1344 / 0.258048e6 - t466 * t1378 / 0.2838528e7 - t73 * t1344 / 0.688128e7 + t470 * t1378 / 0.8945664e8 + t76 * t1344 / 0.21233664e9 - t474 * t1378 / 0.31850496e10 - t1406 * t1344 / 0.74317824e10 + t478 * t1378 / 0.1263403008e12; + const double t1412 = piecewise_functor_3( t52, 0.0, t1377 ); + const double t1417 = t85 * t85; + const double t1419 = 0.1e1 / t1417 / t79; + const double t1420 = t482 * t482; + const double t1421 = t1419 * t1420; + const double t1424 = t88 * t489; + const double t1432 = 0.1e1 / t1417; + const double t1440 = 0.1e1 / t1417 / t85; + const double t1441 = t1440 * t1420; + const double t1452 = -0.2e1 * t1432 * t1420 * t88 + t489 * t1412 * t88 / 0.2e1 + t1441 * t88 / 0.4e1 - 0.4e1 * t1420 * t89 - t86 * t1420 * t88 - 0.4e1 * t493 * t1412 - t81 * t1412 * t88; + const double t1455 = -t1421 * t88 / 0.2e1 + 0.2e1 * t1424 * t1420 - t484 * t1412 + 0.2e1 * t1412 * t92 + 0.4e1 * t482 * t498 + 0.2e1 * t79 * t1452; + const double t1459 = piecewise_functor_3( t51, t1411, -0.8e1 / 0.3e1 * t1412 * t95 - 0.16e2 / 0.3e1 * t482 * t501 - 0.8e1 / 0.3e1 * t79 * t1455 ); + const double t1460 = t28 * t1459; + const double t1461 = t1460 * t234; + const double t1464 = t506 * t669; + const double t1469 = 0.1e1 / t510 / t115 * t121; + const double t1472 = t1469 * t1471; + const double t1473 = sigma_aa * sigma_aa; + const double t1474 = t107 * t107; + const double t1475 = t1474 * t514; + const double t1477 = 0.1e1 / t108 / t1475; + const double t1478 = t1473 * t1477; + const double t1483 = 0.1e1 / t109 / t1474; + const double t1484 = sigma_aa * t1483; + const double t1491 = t168 * t157; + const double t1492 = tau_a * tau_a; + const double t1493 = t172 * t1492; + const double t1494 = t1474 * rho_a; + const double t1496 = 0.1e1 / t108 / t1494; + const double t1497 = t1493 * t1496; + const double t1500 = t178 * t1492; + const double t1501 = t1500 * t1496; + const double t1504 = t184 * t1492; + const double t1505 = t1504 * t1496; + const double t1508 = t174 * t163; + const double t1513 = t190 * t1492; + const double t1514 = t1513 * t1496; + const double t1517 = t180 * t169; + const double t1522 = t597 * t1492; + const double t1523 = t1522 * t1496; + const double t1526 = t186 * t175; + const double t1532 = 0.1e1 / t171 / t153; + const double t1533 = t1532 * t1492; + const double t1534 = t1533 * t1496; + const double t1537 = t148 * t1492; + const double t1538 = t1537 * t1496; + const double t1541 = 0.14e4 / 0.9e1 * t1491 * t1497 + 0.32e4 / 0.9e1 * t572 * t1501 + 0.2e3 * t170 * t1505 + 0.2e3 * t1508 * t1501 + 0.45e3 * t579 * t1505 + 0.25e3 * t176 * t1514 + 0.25e3 * t1517 * t1505 + 0.5e4 / 0.9e1 * t586 * t1514 + 0.275e4 / 0.9e1 * t182 * t1523 + 0.275e4 / 0.9e1 * t1526 * t1514 + 0.605e4 / 0.9e1 * t593 * t1523 + 0.11e4 / 0.3e1 * t188 * t1534 + 0.5e2 * t536 * t1538; + const double t1542 = t154 * t1492; + const double t1543 = t1542 * t1496; + const double t1546 = t144 * t133; + const double t1551 = t160 * t1492; + const double t1552 = t1551 * t1496; + const double t1555 = t150 * t139; + const double t1560 = t166 * t1492; + const double t1561 = t1560 * t1496; + const double t1564 = t156 * t145; + const double t1571 = t162 * t151; + const double t1578 = t142 * t1492; + const double t1579 = t1578 * t1496; + const double t1582 = 0.1e3 / 0.3e1 * t140 * t1543 + 0.1e3 / 0.3e1 * t1546 * t1538 + 0.8e3 / 0.9e1 * t543 * t1543 + 0.5e3 / 0.9e1 * t146 * t1552 + 0.5e3 / 0.9e1 * t1555 * t1543 + 0.125e4 / 0.9e1 * t550 * t1552 + 0.25e3 / 0.3e1 * t152 * t1561 + 0.25e3 / 0.3e1 * t1564 * t1552 + 0.2e3 * t557 * t1561 + 0.35e3 / 0.3e1 * t158 * t1497 + 0.35e3 / 0.3e1 * t1571 * t1561 + 0.245e4 / 0.9e1 * t565 * t1497 + 0.14e4 / 0.9e1 * t164 * t1501 + 0.5e2 / 0.9e1 * t128 * t1579; + const double t1588 = t138 * t127; + const double t1591 = t582 * t516; + const double t1596 = t589 * t516; + const double t1601 = t598 * t516; + const double t1604 = t532 * t516; + const double t1607 = t539 * t516; + const double t1612 = t546 * t516; + const double t1617 = 0.2e3 / 0.9e1 * t529 * t1579 + 0.5e2 / 0.3e1 * t134 * t1538 + 0.5e2 / 0.3e1 * t1588 * t1579 - 0.4e2 * t176 * t1591 - 0.4e3 / 0.9e1 * t586 * t1591 - 0.4e3 / 0.9e1 * t182 * t1596 - 0.44e3 / 0.9e1 * t593 * t1596 - 0.44e3 / 0.9e1 * t188 * t1601 - 0.4e2 / 0.3e1 * t536 * t1604 - 0.4e2 / 0.3e1 * t140 * t1607 - 0.16e3 / 0.9e1 * t543 * t1607 - 0.16e3 / 0.9e1 * t146 * t1612 - 0.2e3 / 0.9e1 * t550 * t1612; + const double t1618 = t553 * t516; + const double t1623 = t561 * t516; + const double t1628 = t568 * t516; + const double t1633 = t575 * t516; + const double t1638 = t525 * t516; + const double t1645 = t516 * t130; + const double t1648 = t120 * t1492; + const double t1649 = t1496 * t136; + const double t1652 = t132 * t1492; + const double t1655 = -0.2e3 / 0.9e1 * t152 * t1618 - 0.8e2 / 0.3e1 * t557 * t1618 - 0.8e2 / 0.3e1 * t158 * t1623 - 0.28e3 / 0.9e1 * t565 * t1623 - 0.28e3 / 0.9e1 * t164 * t1628 - 0.32e3 / 0.9e1 * t572 * t1628 - 0.32e3 / 0.9e1 * t170 * t1633 - 0.4e2 * t579 * t1633 - 0.4e2 / 0.9e1 * t128 * t1638 - 0.8e2 / 0.9e1 * t529 * t1638 - 0.8e2 / 0.9e1 * t134 * t1604 - 0.4e2 / 0.9e1 * t521 * t1645 + 0.5e2 / 0.9e1 * t1648 * t1649 + 0.5e2 / 0.9e1 * t1652 * t1649; + const double t1657 = t1541 + t1582 + t1617 + t1655; + const double t1659 = t1483 * t195; + const double t1660 = t1659 * t232; + const double t1664 = t1663 * t1473; + const double t1665 = t1477 * t195; + const double t1666 = t1665 * t232; + const double t1669 = t606 * t667; + const double t1678 = t214 * t145; + const double t1699 = -0.8e2 / 0.3e1 * t215 * t1623 + 0.125e4 / 0.9e1 * t630 * t1552 + 0.25e3 / 0.3e1 * t212 * t1561 + 0.25e3 / 0.3e1 * t1678 * t1552 - 0.28e3 / 0.9e1 * t641 * t1623 - 0.28e3 / 0.9e1 * t218 * t1628 - 0.32e3 / 0.9e1 * t646 * t1628 - 0.32e3 / 0.9e1 * t221 * t1633 - 0.4e2 * t651 * t1633 - 0.4e2 * t224 * t1591 - 0.4e3 / 0.9e1 * t656 * t1591 - 0.4e3 / 0.9e1 * t227 * t1596 - 0.44e3 / 0.9e1 * t661 * t1596; + const double t1722 = t229 * t175; + const double t1729 = -0.44e3 / 0.9e1 * t230 * t1601 - 0.4e2 / 0.9e1 * t200 * t1638 - 0.8e2 / 0.9e1 * t615 * t1638 - 0.8e2 / 0.9e1 * t203 * t1604 - 0.4e2 / 0.3e1 * t620 * t1604 - 0.4e2 / 0.3e1 * t206 * t1607 - 0.16e3 / 0.9e1 * t625 * t1607 - 0.16e3 / 0.9e1 * t209 * t1612 - 0.2e3 / 0.9e1 * t630 * t1612 - 0.2e3 / 0.9e1 * t212 * t1618 - 0.8e2 / 0.3e1 * t635 * t1618 + 0.275e4 / 0.9e1 * t1722 * t1514 + 0.605e4 / 0.9e1 * t661 * t1523 + 0.11e4 / 0.3e1 * t230 * t1534; + const double t1735 = t217 * t151; + const double t1742 = t220 * t157; + const double t1749 = t223 * t163; + const double t1756 = t226 * t169; + const double t1761 = 0.2e3 * t635 * t1561 + 0.35e3 / 0.3e1 * t215 * t1497 + 0.35e3 / 0.3e1 * t1735 * t1561 + 0.245e4 / 0.9e1 * t641 * t1497 + 0.14e4 / 0.9e1 * t218 * t1501 + 0.14e4 / 0.9e1 * t1742 * t1497 + 0.32e4 / 0.9e1 * t646 * t1501 + 0.2e3 * t221 * t1505 + 0.2e3 * t1749 * t1501 + 0.45e3 * t651 * t1505 + 0.25e3 * t224 * t1514 + 0.25e3 * t1756 * t1505 + 0.5e4 / 0.9e1 * t656 * t1514; + const double t1770 = t205 * t127; + const double t1777 = t208 * t133; + const double t1784 = t211 * t139; + const double t1789 = t199 * t1492; + const double t1792 = t202 * t1492; + const double t1795 = 0.275e4 / 0.9e1 * t227 * t1523 + 0.5e2 / 0.9e1 * t200 * t1579 + 0.2e3 / 0.9e1 * t615 * t1579 + 0.5e2 / 0.3e1 * t203 * t1538 + 0.5e2 / 0.3e1 * t1770 * t1579 + 0.5e2 * t620 * t1538 + 0.1e3 / 0.3e1 * t206 * t1543 + 0.1e3 / 0.3e1 * t1777 * t1538 + 0.8e3 / 0.9e1 * t625 * t1543 + 0.5e3 / 0.9e1 * t209 * t1552 + 0.5e3 / 0.9e1 * t1784 * t1543 - 0.4e2 / 0.9e1 * t610 * t1645 + 0.5e2 / 0.9e1 * t1789 * t1649 + 0.5e2 / 0.9e1 * t1792 * t1649; + const double t1797 = t1699 + t1729 + t1761 + t1795; + const double t1799 = -0.7690696867872e-3 * t1472 * t1478 * t192 + 0.5780898288e-1 * t513 * t1484 * t192 - 0.3153217248e-1 * t513 * t517 * t603 + t118 * t1657 + 0.50297210791037951532e-1 * t605 * t1660 - 0.34088340999255810611e-3 * t1664 * t1666 - 0.27434842249657064472e-1 * t605 * t1669 + t197 * t1797; + const double t1800 = t100 * t1799; + const double t1804 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1322 * t235 - t1325 / 0.4e1 - 0.3e1 / 0.4e1 * t420 * t507 - 0.3e1 / 0.4e1 * t420 * t670 + t1336 - t1339 / 0.4e1 - t1342 / 0.4e1 - 0.3e1 / 0.8e1 * t27 * t1461 - 0.3e1 / 0.4e1 * t27 * t1464 - 0.3e1 / 0.8e1 * t27 * t1800 ); + const double t1805 = t245 * t245; + const double t1806 = 0.1e1 / t1805; + const double t1807 = t677 * t677; + const double t1810 = t240 * t1313; + const double t1813 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t413 + 0.2e1 * t1810 ); + const double t1817 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.9e1 * t1806 * t1807 + 0.4e1 / 0.3e1 * t245 * t1813 ); + const double t1818 = t6 * t1817; + const double t1821 = t681 * t685; + const double t1825 = t1332 * t305; + const double t1826 = t1825 * t407; + const double t1828 = t248 * t1826 / 0.12e2; + const double t1829 = t424 * t762; + const double t1830 = t1829 * t407; + const double t1831 = t248 * t1830; + const double t1833 = t707 * t707; + const double t1838 = 0.2e1 / 0.81e2 * t35 * t1349 * t254; + const double t1840 = t35 * t433 * t702; + const double t1843 = 0.1e1 / t693 / t253; + const double t1844 = t701 * t701; + const double t1845 = t1843 * t1844; + const double t1850 = 0.1e1 / t695 / t250; + const double t1851 = t698 * t698; + const double t1855 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t1316 ); + const double t1859 = piecewise_functor_3( t251, 0.0, -0.2e1 / 0.9e1 * t1850 * t1851 + t696 * t1855 / 0.3e1 ); + const double t1860 = t694 * t1859; + const double t1864 = t1838 + t1840 / 0.27e2 + t35 * t37 * t1845 / 0.9e1 - t35 * t37 * t1860 / 0.18e2; + const double t1865 = piecewise_functor_3( t259, t1864, 0.0 ); + const double t1893 = 0.1e1 / t282 / t261; + const double t1898 = t265 * t1833 / 0.6e1 - t689 * t1865 / 0.18e2 - t268 * t1833 / 0.48e2 + t711 * t1865 / 0.24e3 + t271 * t1833 / 0.64e3 - t715 * t1865 / 0.448e4 - t274 * t1833 / 0.1152e5 + t719 * t1865 / 0.10368e6 + t277 * t1833 / 0.258048e6 - t723 * t1865 / 0.2838528e7 - t280 * t1833 / 0.688128e7 + t727 * t1865 / 0.8945664e8 + t283 * t1833 / 0.21233664e9 - t731 * t1865 / 0.31850496e10 - t1893 * t1833 / 0.74317824e10 + t735 * t1865 / 0.1263403008e12; + const double t1899 = piecewise_functor_3( t259, 0.0, t1864 ); + const double t1904 = t291 * t291; + const double t1906 = 0.1e1 / t1904 / t286; + const double t1907 = t739 * t739; + const double t1908 = t1906 * t1907; + const double t1911 = t294 * t746; + const double t1919 = 0.1e1 / t1904; + const double t1927 = 0.1e1 / t1904 / t291; + const double t1928 = t1927 * t1907; + const double t1939 = -0.2e1 * t1919 * t1907 * t294 + t746 * t1899 * t294 / 0.2e1 + t1928 * t294 / 0.4e1 - 0.4e1 * t1907 * t295 - t292 * t1907 * t294 - 0.4e1 * t750 * t1899 - t287 * t1899 * t294; + const double t1942 = -t1908 * t294 / 0.2e1 + 0.2e1 * t1911 * t1907 - t741 * t1899 + 0.2e1 * t1899 * t298 + 0.4e1 * t739 * t755 + 0.2e1 * t286 * t1939; + const double t1946 = piecewise_functor_3( t258, t1898, -0.8e1 / 0.3e1 * t1899 * t301 - 0.16e2 / 0.3e1 * t739 * t758 - 0.8e1 / 0.3e1 * t286 * t1942 ); + const double t1947 = t28 * t1946; + const double t1948 = t1947 * t407; + const double t1952 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t1818 * t408 - t1821 / 0.4e1 - 0.3e1 / 0.4e1 * t681 * t764 + t1828 - t1831 / 0.4e1 - 0.3e1 / 0.8e1 * t248 * t1948 ); + const double t1967 = t776 * t426; + const double t1978 = t424 * t825; + const double t1979 = t1978 * t234; + const double t1980 = t27 * t1979; + const double t1987 = t35 * t433 * t783; + const double t2114 = t837 * t685; + const double t2122 = t424 * t887; + const double t2123 = t2122 * t407; + const double t2124 = t248 * t2123; + const double t2131 = t35 * t433 * t845; + const double t2241 = t684 * t1051; + const double t2242 = t248 * t2241; + const double t2253 = t772 * t772; + const double t2257 = 0.2e1 * t413 + 0.2e1 * t1314; + const double t2258 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2257 ); + const double t2262 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1308 * t2253 + 0.4e1 / 0.3e1 * t24 * t2258 ); + const double t2263 = t6 * t2262; + const double t2270 = t788 * t788; + const double t2274 = t782 * t782; + const double t2275 = t1357 * t2274; + const double t2279 = t779 * t779; + const double t2282 = piecewise_functor_5( t39, 0.0, t41, 0.0, t2257 ); + const double t2286 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t1364 * t2279 + t440 * t2282 / 0.3e1 ); + const double t2287 = t438 * t2286; + const double t2291 = t1352 + t1987 / 0.27e2 + t35 * t37 * t2275 / 0.9e1 - t35 * t37 * t2287 / 0.18e2; + const double t2292 = piecewise_functor_3( t52, t2291, 0.0 ); + const double t2295 = t61 * t2270; + const double t2297 = t454 * t2292; + const double t2299 = t64 * t2270; + const double t2301 = t458 * t2292; + const double t2303 = t67 * t2270; + const double t2305 = t462 * t2292; + const double t2307 = t70 * t2270; + const double t2309 = t466 * t2292; + const double t2311 = t73 * t2270; + const double t2313 = t470 * t2292; + const double t2315 = t76 * t2270; + const double t2317 = t474 * t2292; + const double t2319 = t1406 * t2270; + const double t2321 = t478 * t2292; + const double t2323 = t58 * t2270 / 0.6e1 - t430 * t2292 / 0.18e2 - t2295 / 0.48e2 + t2297 / 0.24e3 + t2299 / 0.64e3 - t2301 / 0.448e4 - t2303 / 0.1152e5 + t2305 / 0.10368e6 + t2307 / 0.258048e6 - t2309 / 0.2838528e7 - t2311 / 0.688128e7 + t2313 / 0.8945664e8 + t2315 / 0.21233664e9 - t2317 / 0.31850496e10 - t2319 / 0.74317824e10 + t2321 / 0.1263403008e12; + const double t2324 = piecewise_functor_3( t52, 0.0, t2291 ); + const double t2329 = t806 * t806; + const double t2330 = t1419 * t2329; + const double t2346 = t1440 * t2329; + const double t2357 = -0.2e1 * t1432 * t2329 * t88 + t489 * t2324 * t88 / 0.2e1 + t2346 * t88 / 0.4e1 - 0.4e1 * t2329 * t89 - t86 * t2329 * t88 - 0.4e1 * t493 * t2324 - t81 * t2324 * t88; + const double t2360 = -t2330 * t88 / 0.2e1 + 0.2e1 * t1424 * t2329 - t484 * t2324 + 0.2e1 * t2324 * t92 + 0.4e1 * t806 * t818 + 0.2e1 * t79 * t2357; + const double t2364 = piecewise_functor_3( t51, t2323, -0.8e1 / 0.3e1 * t2324 * t95 - 0.16e2 / 0.3e1 * t806 * t821 - 0.8e1 / 0.3e1 * t79 * t2360 ); + const double t2365 = t28 * t2364; + const double t2366 = t2365 * t234; + const double t2370 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t2263 * t235 - t1967 / 0.4e1 - 0.3e1 / 0.4e1 * t776 * t827 + t1336 - t1980 / 0.4e1 - 0.3e1 / 0.8e1 * t27 * t2366 ); + const double t2371 = t833 * t833; + const double t2376 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t413 + 0.2e1 * t1810 ); + const double t2380 = piecewise_functor_3( t244, 0.0, 0.4e1 / 0.9e1 * t1806 * t2371 + 0.4e1 / 0.3e1 * t245 * t2376 ); + const double t2381 = t6 * t2380; + const double t2391 = t850 * t850; + const double t2395 = t844 * t844; + const double t2396 = t1843 * t2395; + const double t2400 = t841 * t841; + const double t2404 = piecewise_functor_5( t41, 0.0, t39, 0.0, -t2257 ); + const double t2408 = piecewise_functor_3( t251, 0.0, -0.2e1 / 0.9e1 * t1850 * t2400 + t696 * t2404 / 0.3e1 ); + const double t2409 = t694 * t2408; + const double t2413 = t1838 + t2131 / 0.27e2 + t35 * t37 * t2396 / 0.9e1 - t35 * t37 * t2409 / 0.18e2; + const double t2414 = piecewise_functor_3( t259, t2413, 0.0 ); + const double t2417 = t268 * t2391; + const double t2419 = t711 * t2414; + const double t2421 = t271 * t2391; + const double t2423 = t715 * t2414; + const double t2425 = t274 * t2391; + const double t2427 = t719 * t2414; + const double t2429 = t277 * t2391; + const double t2431 = t723 * t2414; + const double t2433 = t280 * t2391; + const double t2435 = t727 * t2414; + const double t2437 = t283 * t2391; + const double t2439 = t731 * t2414; + const double t2441 = t1893 * t2391; + const double t2443 = t735 * t2414; + const double t2445 = t265 * t2391 / 0.6e1 - t689 * t2414 / 0.18e2 - t2417 / 0.48e2 + t2419 / 0.24e3 + t2421 / 0.64e3 - t2423 / 0.448e4 - t2425 / 0.1152e5 + t2427 / 0.10368e6 + t2429 / 0.258048e6 - t2431 / 0.2838528e7 - t2433 / 0.688128e7 + t2435 / 0.8945664e8 + t2437 / 0.21233664e9 - t2439 / 0.31850496e10 - t2441 / 0.74317824e10 + t2443 / 0.1263403008e12; + const double t2446 = piecewise_functor_3( t259, 0.0, t2413 ); + const double t2451 = t868 * t868; + const double t2452 = t1906 * t2451; + const double t2468 = t1927 * t2451; + const double t2479 = -0.2e1 * t1919 * t2451 * t294 + t746 * t2446 * t294 / 0.2e1 + t2468 * t294 / 0.4e1 - 0.4e1 * t2451 * t295 - t292 * t2451 * t294 - 0.4e1 * t750 * t2446 - t287 * t2446 * t294; + const double t2482 = -t2452 * t294 / 0.2e1 + 0.2e1 * t1911 * t2451 - t741 * t2446 + 0.2e1 * t2446 * t298 + 0.4e1 * t868 * t880 + 0.2e1 * t286 * t2479; + const double t2486 = piecewise_functor_3( t258, t2445, -0.8e1 / 0.3e1 * t2446 * t301 - 0.16e2 / 0.3e1 * t868 * t883 - 0.8e1 / 0.3e1 * t286 * t2482 ); + const double t2487 = t28 * t2486; + const double t2488 = t2487 * t407; + const double t2491 = t888 * t1051; + const double t2496 = 0.1e1 / t892 / t315 * t121; + const double t2497 = t2496 * t1471; + const double t2498 = sigma_bb * sigma_bb; + const double t2499 = t307 * t307; + const double t2500 = t2499 * t896; + const double t2502 = 0.1e1 / t308 / t2500; + const double t2503 = t2498 * t2502; + const double t2508 = 0.1e1 / t309 / t2499; + const double t2509 = sigma_bb * t2508; + const double t2516 = tau_b * tau_b; + const double t2517 = t979 * t2516; + const double t2518 = t2499 * rho_b; + const double t2520 = 0.1e1 / t308 / t2518; + const double t2521 = t2517 * t2520; + const double t2524 = t186 * t362; + const double t2525 = t375 * t2516; + const double t2526 = t2525 * t2520; + const double t2532 = 0.1e1 / t359 / t344; + const double t2533 = t2532 * t2516; + const double t2534 = t2533 * t2520; + const double t2537 = t355 * t2516; + const double t2538 = t2537 * t2520; + const double t2541 = t156 * t337; + const double t2542 = t350 * t2516; + const double t2543 = t2542 * t2520; + const double t2548 = t360 * t2516; + const double t2549 = t2548 * t2520; + const double t2552 = t162 * t342; + const double t2557 = t365 * t2516; + const double t2558 = t2557 * t2520; + const double t2561 = t168 * t347; + const double t2566 = 0.275e4 / 0.9e1 * t368 * t2521 + 0.275e4 / 0.9e1 * t2524 * t2526 + 0.605e4 / 0.9e1 * t975 * t2521 + 0.11e4 / 0.3e1 * t373 * t2534 + 0.25e3 / 0.3e1 * t343 * t2538 + 0.25e3 / 0.3e1 * t2541 * t2543 + 0.2e3 * t939 * t2538 + 0.35e3 / 0.3e1 * t348 * t2549 + 0.35e3 / 0.3e1 * t2552 * t2538 + 0.245e4 / 0.9e1 * t947 * t2549 + 0.14e4 / 0.9e1 * t353 * t2558 + 0.14e4 / 0.9e1 * t2561 * t2549 + 0.32e4 / 0.9e1 * t954 * t2558; + const double t2567 = t370 * t2516; + const double t2568 = t2567 * t2520; + const double t2571 = t174 * t352; + const double t2578 = t180 * t357; + const double t2583 = t335 * t2516; + const double t2584 = t2583 * t2520; + const double t2589 = t340 * t2516; + const double t2590 = t2589 * t2520; + const double t2593 = t138 * t322; + const double t2598 = t345 * t2516; + const double t2599 = t2598 * t2520; + const double t2602 = t144 * t327; + const double t2607 = 0.2e3 * t358 * t2568 + 0.2e3 * t2571 * t2558 + 0.45e3 * t961 * t2568 + 0.25e3 * t363 * t2526 + 0.25e3 * t2578 * t2568 + 0.5e4 / 0.9e1 * t968 * t2526 + 0.5e2 / 0.9e1 * t323 * t2584 + 0.2e3 / 0.9e1 * t911 * t2584 + 0.5e2 / 0.3e1 * t328 * t2590 + 0.5e2 / 0.3e1 * t2593 * t2584 + 0.5e2 * t918 * t2590 + 0.1e3 / 0.3e1 * t333 * t2599 + 0.1e3 / 0.3e1 * t2602 * t2590 + 0.8e3 / 0.9e1 * t925 * t2599; + const double t2611 = t150 * t332; + const double t2616 = t950 * t898; + const double t2621 = t957 * t898; + const double t2626 = t964 * t898; + const double t2631 = t971 * t898; + const double t2636 = t980 * t898; + const double t2639 = t907 * t898; + const double t2642 = 0.5e3 / 0.9e1 * t338 * t2543 + 0.5e3 / 0.9e1 * t2611 * t2599 + 0.125e4 / 0.9e1 * t932 * t2543 - 0.28e3 / 0.9e1 * t353 * t2616 - 0.32e3 / 0.9e1 * t954 * t2616 - 0.32e3 / 0.9e1 * t358 * t2621 - 0.4e2 * t961 * t2621 - 0.4e2 * t363 * t2626 - 0.4e3 / 0.9e1 * t968 * t2626 - 0.4e3 / 0.9e1 * t368 * t2631 - 0.44e3 / 0.9e1 * t975 * t2631 - 0.44e3 / 0.9e1 * t373 * t2636 - 0.4e2 / 0.9e1 * t323 * t2639; + const double t2645 = t914 * t898; + const double t2650 = t921 * t898; + const double t2655 = t928 * t898; + const double t2660 = t935 * t898; + const double t2665 = t943 * t898; + const double t2670 = t898 * t325; + const double t2673 = t120 * t2516; + const double t2674 = t2520 * t330; + const double t2677 = t132 * t2516; + const double t2680 = -0.8e2 / 0.9e1 * t911 * t2639 - 0.8e2 / 0.9e1 * t328 * t2645 - 0.4e2 / 0.3e1 * t918 * t2645 - 0.4e2 / 0.3e1 * t333 * t2650 - 0.16e3 / 0.9e1 * t925 * t2650 - 0.16e3 / 0.9e1 * t338 * t2655 - 0.2e3 / 0.9e1 * t932 * t2655 - 0.2e3 / 0.9e1 * t343 * t2660 - 0.8e2 / 0.3e1 * t939 * t2660 - 0.8e2 / 0.3e1 * t348 * t2665 - 0.28e3 / 0.9e1 * t947 * t2665 - 0.4e2 / 0.9e1 * t903 * t2670 + 0.5e2 / 0.9e1 * t2673 * t2674 + 0.5e2 / 0.9e1 * t2677 * t2674; + const double t2682 = t2566 + t2607 + t2642 + t2680; + const double t2684 = t2508 * t380; + const double t2685 = t2684 * t405; + const double t2688 = t1663 * t2498; + const double t2689 = t2502 * t380; + const double t2690 = t2689 * t405; + const double t2693 = t988 * t1049; + const double t2698 = t223 * t352; + const double t2705 = t226 * t357; + const double t2712 = t229 * t362; + const double t2719 = t208 * t327; + const double t2726 = 0.2e3 * t397 * t2568 + 0.2e3 * t2698 * t2558 + 0.45e3 * t1033 * t2568 + 0.25e3 * t399 * t2526 + 0.25e3 * t2705 * t2568 + 0.5e4 / 0.9e1 * t1038 * t2526 + 0.275e4 / 0.9e1 * t401 * t2521 + 0.275e4 / 0.9e1 * t2712 * t2526 + 0.605e4 / 0.9e1 * t1043 * t2521 + 0.11e4 / 0.3e1 * t403 * t2534 + 0.1e3 / 0.3e1 * t2719 * t2590 + 0.8e3 / 0.9e1 * t1007 * t2599 + 0.5e3 / 0.9e1 * t389 * t2543; + const double t2727 = t211 * t332; + const double t2734 = t214 * t337; + const double t2741 = t217 * t342; + const double t2748 = t220 * t347; + const double t2759 = 0.5e3 / 0.9e1 * t2727 * t2599 + 0.125e4 / 0.9e1 * t1012 * t2543 + 0.25e3 / 0.3e1 * t391 * t2538 + 0.25e3 / 0.3e1 * t2734 * t2543 + 0.2e3 * t1017 * t2538 + 0.35e3 / 0.3e1 * t393 * t2549 + 0.35e3 / 0.3e1 * t2741 * t2538 + 0.245e4 / 0.9e1 * t1023 * t2549 + 0.14e4 / 0.9e1 * t395 * t2558 + 0.14e4 / 0.9e1 * t2748 * t2549 + 0.32e4 / 0.9e1 * t1028 * t2558 + 0.5e2 / 0.9e1 * t383 * t2584 + 0.2e3 / 0.9e1 * t997 * t2584 + 0.5e2 / 0.3e1 * t385 * t2590; + const double t2761 = t205 * t322; + const double t2788 = 0.5e2 / 0.3e1 * t2761 * t2584 + 0.5e2 * t1002 * t2590 + 0.1e3 / 0.3e1 * t387 * t2599 - 0.44e3 / 0.9e1 * t403 * t2636 - 0.2e3 / 0.9e1 * t1012 * t2655 - 0.2e3 / 0.9e1 * t391 * t2660 - 0.8e2 / 0.3e1 * t1017 * t2660 - 0.8e2 / 0.3e1 * t393 * t2665 - 0.28e3 / 0.9e1 * t1023 * t2665 - 0.28e3 / 0.9e1 * t395 * t2616 - 0.32e3 / 0.9e1 * t1028 * t2616 - 0.32e3 / 0.9e1 * t397 * t2621 - 0.4e2 * t1033 * t2621; + const double t2813 = t199 * t2516; + const double t2816 = t202 * t2516; + const double t2819 = -0.4e2 * t399 * t2626 - 0.4e3 / 0.9e1 * t1038 * t2626 - 0.4e3 / 0.9e1 * t401 * t2631 - 0.44e3 / 0.9e1 * t1043 * t2631 - 0.4e2 / 0.9e1 * t383 * t2639 - 0.8e2 / 0.9e1 * t997 * t2639 - 0.8e2 / 0.9e1 * t385 * t2645 - 0.4e2 / 0.3e1 * t1002 * t2645 - 0.4e2 / 0.3e1 * t387 * t2650 - 0.16e3 / 0.9e1 * t1007 * t2650 - 0.16e3 / 0.9e1 * t389 * t2655 - 0.4e2 / 0.9e1 * t992 * t2670 + 0.5e2 / 0.9e1 * t2813 * t2674 + 0.5e2 / 0.9e1 * t2816 * t2674; + const double t2821 = t2726 + t2759 + t2788 + t2819; + const double t2823 = -0.7690696867872e-3 * t2497 * t2503 * t377 + 0.5780898288e-1 * t895 * t2509 * t377 - 0.3153217248e-1 * t895 * t899 * t985 + t318 * t2682 + 0.50297210791037951532e-1 * t987 * t2685 - 0.34088340999255810611e-3 * t2688 * t2690 - 0.27434842249657064472e-1 * t987 * t2693 + t382 * t2821; + const double t2824 = t306 * t2823; + const double t2828 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t2381 * t408 - t2114 / 0.4e1 - 0.3e1 / 0.4e1 * t837 * t889 - 0.3e1 / 0.4e1 * t837 * t1052 + t1828 - t2124 / 0.4e1 - t2242 / 0.4e1 - 0.3e1 / 0.8e1 * t248 * t2488 - 0.3e1 / 0.4e1 * t248 * t2491 - 0.3e1 / 0.8e1 * t248 * t2824 ); + const double t2833 = t425 * t1067; + const double t2835 = t27 * t2833 / 0.8e1; + const double t2836 = t506 * t1067; + const double t2839 = t1474 * t107; + const double t2841 = 0.1e1 / t108 / t2839; + const double t2846 = t105 * t516; + const double t2855 = t1663 * t2841; + const double t2856 = sigma_aa * t195; + const double t2857 = t2856 * t232; + const double t2863 = 0.2884011325452e-3 * t1472 * t2841 * t192 * sigma_aa - 0.1576608624e-1 * t512 * t2846 * t192 + 0.591228234e-2 * t512 * t1059 * t603 - 0.13717421124828532236e-1 * t106 * t607 + 0.12783127874720928979e-3 * t2855 * t2857 + 0.51440329218106995885e-2 * t106 * t1063 * t667; + const double t2864 = t100 * t2863; + const double t2868 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t420 * t1068 - t2835 - 0.3e1 / 0.8e1 * t27 * t2836 - 0.3e1 / 0.8e1 * t27 * t2864 ); + const double t2872 = t684 * t1080; + const double t2874 = t248 * t2872 / 0.8e1; + const double t2891 = t888 * t1080; + const double t2894 = t2499 * t307; + const double t2896 = 0.1e1 / t308 / t2894; + const double t2901 = t105 * t898; + const double t2910 = t1663 * t2896; + const double t2911 = sigma_bb * t380; + const double t2912 = t2911 * t405; + const double t2918 = 0.2884011325452e-3 * t2497 * t2896 * t377 * sigma_bb - 0.1576608624e-1 * t894 * t2901 * t377 + 0.591228234e-2 * t894 * t1072 * t985 - 0.13717421124828532236e-1 * t106 * t989 + 0.12783127874720928979e-3 * t2910 * t2912 + 0.51440329218106995885e-2 * t106 * t1076 * t1049; + const double t2919 = t306 * t2918; + const double t2923 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t837 * t1081 - t2874 - 0.3e1 / 0.8e1 * t248 * t2891 - 0.3e1 / 0.8e1 * t248 * t2919 ); + const double t2927 = t425 * t1190; + const double t2929 = t27 * t2927 / 0.8e1; + const double t2930 = t506 * t1190; + const double t2940 = 0.1e1 / t108 / t1474; + const double t2941 = t142 * t2940; + const double t2942 = t2941 * tau_a; + const double t2945 = t148 * t2940; + const double t2946 = t2945 * tau_a; + const double t2949 = t154 * t2940; + const double t2950 = t2949 * tau_a; + const double t2957 = t160 * t2940; + const double t2958 = t2957 * tau_a; + const double t2965 = t166 * t2940; + const double t2966 = t2965 * tau_a; + const double t2973 = t172 * t2940; + const double t2974 = t2973 * tau_a; + const double t2977 = 0.5e1 / 0.3e1 * t120 * t111 * t130 - 0.1e2 * t1588 * t2942 - 0.3e2 * t536 * t2946 - 0.2e2 * t140 * t2950 - 0.2e2 * t1546 * t2946 - 0.16e3 / 0.3e1 * t543 * t2950 - 0.1e3 / 0.3e1 * t146 * t2958 - 0.1e3 / 0.3e1 * t1555 * t2950 - 0.25e3 / 0.3e1 * t550 * t2958 - 0.5e2 * t152 * t2966 - 0.5e2 * t1564 * t2958 - 0.12e3 * t557 * t2966 - 0.7e2 * t158 * t2974; + const double t2982 = t178 * t2940; + const double t2983 = t2982 * tau_a; + const double t2990 = t184 * t2940; + const double t2991 = t2990 * tau_a; + const double t3004 = t190 * t2940; + const double t3005 = t3004 * tau_a; + const double t3012 = -0.7e2 * t1571 * t2966 - 0.49e3 / 0.3e1 * t565 * t2974 - 0.28e3 / 0.3e1 * t164 * t2983 - 0.28e3 / 0.3e1 * t1491 * t2974 - 0.64e3 / 0.3e1 * t572 * t2983 - 0.12e3 * t170 * t2991 - 0.12e3 * t1508 * t2983 - 0.27e3 * t579 * t2991 - 0.1e2 / 0.3e1 * t128 * t2942 - 0.4e2 / 0.3e1 * t529 * t2942 - 0.1e2 * t134 * t2946 - 0.15e3 * t176 * t3005 - 0.15e3 * t1517 * t2991 - 0.1e4 / 0.3e1 * t586 * t3005; + const double t3014 = t597 * t2940; + const double t3015 = t3014 * tau_a; + const double t3022 = t1532 * t2940; + const double t3023 = t3022 * tau_a; + const double t3026 = t184 * t111; + const double t3029 = t190 * t111; + const double t3034 = t597 * t111; + const double t3037 = t154 * t111; + const double t3040 = t160 * t111; + const double t3045 = t166 * t111; + const double t3050 = -0.55e3 / 0.3e1 * t182 * t3015 - 0.55e3 / 0.3e1 * t1526 * t3005 - 0.121e4 / 0.3e1 * t593 * t3015 - 0.22e3 * t188 * t3023 + 0.5e2 / 0.3e1 * t586 * t3026 + 0.5e2 / 0.3e1 * t182 * t3029 + 0.55e2 / 0.3e1 * t593 * t3029 + 0.55e2 / 0.3e1 * t188 * t3034 + 0.25e2 / 0.3e1 * t550 * t3037 + 0.25e2 / 0.3e1 * t152 * t3040 + 0.1e2 * t557 * t3040 + 0.1e2 * t158 * t3045 + 0.35e2 / 0.3e1 * t565 * t3045; + const double t3051 = t172 * t111; + const double t3056 = t178 * t111; + const double t3063 = t136 * t111; + const double t3068 = t142 * t111; + const double t3073 = t148 * t111; + const double t3080 = t132 * tau_a; + const double t3081 = t2940 * t136; + const double t3084 = t120 * t2940; + const double t3087 = 0.35e2 / 0.3e1 * t164 * t3051 + 0.4e2 / 0.3e1 * t572 * t3051 + 0.4e2 / 0.3e1 * t170 * t3056 + 0.15e2 * t579 * t3056 + 0.15e2 * t176 * t3026 + 0.5e1 / 0.3e1 * t128 * t3063 + 0.1e2 / 0.3e1 * t529 * t3063 + 0.1e2 / 0.3e1 * t134 * t3068 + 0.5e1 * t536 * t3068 + 0.5e1 * t140 * t3073 + 0.2e2 / 0.3e1 * t543 * t3073 + 0.2e2 / 0.3e1 * t146 * t3037 - 0.1e2 / 0.3e1 * t3080 * t3081 - 0.1e2 / 0.3e1 * t3084 * t525; + const double t3089 = t2977 + t3012 + t3050 + t3087; + const double t3091 = t606 * t1188; + const double t3121 = 0.5e1 / 0.3e1 * t199 * t111 * t130 - 0.7e2 * t215 * t2974 - 0.7e2 * t1735 * t2966 - 0.49e3 / 0.3e1 * t641 * t2974 - 0.28e3 / 0.3e1 * t218 * t2983 - 0.28e3 / 0.3e1 * t1742 * t2974 - 0.1e2 / 0.3e1 * t200 * t2942 - 0.4e2 / 0.3e1 * t615 * t2942 - 0.1e2 * t203 * t2946 - 0.1e2 * t1770 * t2942 - 0.3e2 * t620 * t2946 - 0.25e3 / 0.3e1 * t630 * t2958 - 0.5e2 * t212 * t2966; + const double t3150 = -0.5e2 * t1678 * t2958 - 0.12e3 * t635 * t2966 - 0.1e3 / 0.3e1 * t1784 * t2950 - 0.55e3 / 0.3e1 * t227 * t3015 - 0.55e3 / 0.3e1 * t1722 * t3005 - 0.121e4 / 0.3e1 * t661 * t3015 - 0.22e3 * t230 * t3023 - 0.2e2 * t206 * t2950 - 0.2e2 * t1777 * t2946 - 0.16e3 / 0.3e1 * t625 * t2950 - 0.1e3 / 0.3e1 * t209 * t2958 - 0.15e3 * t1756 * t2991 - 0.1e4 / 0.3e1 * t656 * t3005 - 0.27e3 * t651 * t2991; + const double t3178 = -0.15e3 * t224 * t3005 - 0.64e3 / 0.3e1 * t646 * t2983 - 0.12e3 * t221 * t2991 - 0.12e3 * t1749 * t2983 + 0.4e2 / 0.3e1 * t221 * t3056 + 0.15e2 * t651 * t3056 + 0.15e2 * t224 * t3026 + 0.5e2 / 0.3e1 * t656 * t3026 + 0.5e2 / 0.3e1 * t227 * t3029 + 0.55e2 / 0.3e1 * t661 * t3029 + 0.55e2 / 0.3e1 * t230 * t3034 + 0.2e2 / 0.3e1 * t625 * t3073 + 0.2e2 / 0.3e1 * t209 * t3037; + const double t3203 = t199 * t2940; + const double t3206 = t202 * tau_a; + const double t3209 = 0.25e2 / 0.3e1 * t630 * t3037 + 0.25e2 / 0.3e1 * t212 * t3040 + 0.1e2 * t635 * t3040 + 0.1e2 * t215 * t3045 + 0.35e2 / 0.3e1 * t641 * t3045 + 0.35e2 / 0.3e1 * t218 * t3051 + 0.4e2 / 0.3e1 * t646 * t3051 + 0.5e1 / 0.3e1 * t200 * t3063 + 0.1e2 / 0.3e1 * t615 * t3063 + 0.1e2 / 0.3e1 * t203 * t3068 + 0.5e1 * t620 * t3068 + 0.5e1 * t206 * t3073 - 0.1e2 / 0.3e1 * t3203 * t525 - 0.1e2 / 0.3e1 * t3206 * t3081; + const double t3211 = t3121 + t3150 + t3178 + t3209; + const double t3213 = -0.1576608624e-1 * t513 * t517 * t1141 + t118 * t3089 - 0.13717421124828532236e-1 * t605 * t3091 + t197 * t3211; + const double t3214 = t100 * t3213; + const double t3218 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t420 * t1191 - t2929 - 0.3e1 / 0.8e1 * t27 * t2930 - 0.3e1 / 0.8e1 * t27 * t3214 ); + const double t3222 = t684 * t1300; + const double t3224 = t248 * t3222 / 0.8e1; + const double t3241 = t888 * t1300; + const double t3250 = t355 * t311; + const double t3253 = t360 * t311; + const double t3258 = t365 * t311; + const double t3263 = t370 * t311; + const double t3268 = t375 * t311; + const double t3271 = t330 * t311; + const double t3276 = t335 * t311; + const double t3281 = 0.5e1 / 0.3e1 * t120 * t311 * t325 + 0.35e2 / 0.3e1 * t947 * t3250 + 0.35e2 / 0.3e1 * t353 * t3253 + 0.4e2 / 0.3e1 * t954 * t3253 + 0.4e2 / 0.3e1 * t358 * t3258 + 0.15e2 * t961 * t3258 + 0.15e2 * t363 * t3263 + 0.5e2 / 0.3e1 * t968 * t3263 + 0.5e2 / 0.3e1 * t368 * t3268 + 0.5e1 / 0.3e1 * t323 * t3271 + 0.1e2 / 0.3e1 * t911 * t3271 + 0.1e2 / 0.3e1 * t328 * t3276 + 0.5e1 * t918 * t3276; + const double t3282 = t340 * t311; + const double t3287 = t345 * t311; + const double t3292 = t350 * t311; + const double t3298 = 0.1e1 / t308 / t2499; + const double t3299 = t120 * t3298; + const double t3302 = t132 * tau_b; + const double t3303 = t3298 * t330; + const double t3308 = t979 * t311; + const double t3313 = t370 * t3298; + const double t3314 = t3313 * tau_b; + const double t3317 = t375 * t3298; + const double t3318 = t3317 * tau_b; + const double t3323 = 0.5e1 * t333 * t3282 + 0.2e2 / 0.3e1 * t925 * t3282 + 0.2e2 / 0.3e1 * t338 * t3287 + 0.25e2 / 0.3e1 * t932 * t3287 + 0.25e2 / 0.3e1 * t343 * t3292 + 0.1e2 * t939 * t3292 - 0.1e2 / 0.3e1 * t3299 * t907 - 0.1e2 / 0.3e1 * t3302 * t3303 + 0.55e2 / 0.3e1 * t975 * t3268 + 0.55e2 / 0.3e1 * t373 * t3308 + 0.1e2 * t348 * t3250 - 0.27e3 * t961 * t3314 - 0.15e3 * t363 * t3318 - 0.15e3 * t2578 * t3314; + const double t3327 = t979 * t3298; + const double t3328 = t3327 * tau_b; + const double t3331 = t335 * t3298; + const double t3332 = t3331 * tau_b; + const double t3337 = t340 * t3298; + const double t3338 = t3337 * tau_b; + const double t3345 = t345 * t3298; + const double t3346 = t3345 * tau_b; + const double t3353 = t350 * t3298; + const double t3354 = t3353 * tau_b; + const double t3361 = -0.1e4 / 0.3e1 * t968 * t3318 - 0.55e3 / 0.3e1 * t368 * t3328 - 0.1e2 / 0.3e1 * t323 * t3332 - 0.4e2 / 0.3e1 * t911 * t3332 - 0.1e2 * t328 * t3338 - 0.1e2 * t2593 * t3332 - 0.3e2 * t918 * t3338 - 0.2e2 * t333 * t3346 - 0.2e2 * t2602 * t3338 - 0.16e3 / 0.3e1 * t925 * t3346 - 0.1e3 / 0.3e1 * t338 * t3354 - 0.1e3 / 0.3e1 * t2611 * t3346 - 0.25e3 / 0.3e1 * t932 * t3354; + const double t3362 = t355 * t3298; + const double t3363 = t3362 * tau_b; + const double t3372 = t2532 * t3298; + const double t3373 = t3372 * tau_b; + const double t3378 = t360 * t3298; + const double t3379 = t3378 * tau_b; + const double t3386 = t365 * t3298; + const double t3387 = t3386 * tau_b; + const double t3398 = -0.5e2 * t343 * t3363 - 0.5e2 * t2541 * t3354 - 0.55e3 / 0.3e1 * t2524 * t3318 - 0.121e4 / 0.3e1 * t975 * t3328 - 0.22e3 * t373 * t3373 - 0.12e3 * t939 * t3363 - 0.7e2 * t348 * t3379 - 0.7e2 * t2552 * t3363 - 0.49e3 / 0.3e1 * t947 * t3379 - 0.28e3 / 0.3e1 * t353 * t3387 - 0.28e3 / 0.3e1 * t2561 * t3379 - 0.64e3 / 0.3e1 * t954 * t3387 - 0.12e3 * t358 * t3314 - 0.12e3 * t2571 * t3387; + const double t3400 = t3281 + t3323 + t3361 + t3398; + const double t3402 = t988 * t1298; + const double t3432 = 0.5e1 / 0.3e1 * t199 * t311 * t325 + 0.1e2 * t1017 * t3292 + 0.1e2 * t393 * t3250 + 0.35e2 / 0.3e1 * t1023 * t3250 + 0.35e2 / 0.3e1 * t395 * t3253 + 0.4e2 / 0.3e1 * t1028 * t3253 + 0.4e2 / 0.3e1 * t397 * t3258 + 0.15e2 * t1033 * t3258 + 0.5e1 / 0.3e1 * t383 * t3271 + 0.1e2 / 0.3e1 * t997 * t3271 + 0.1e2 / 0.3e1 * t385 * t3276 + 0.5e1 * t1002 * t3276 + 0.5e1 * t387 * t3282; + const double t3437 = t199 * t3298; + const double t3440 = t202 * tau_b; + const double t3463 = 0.2e2 / 0.3e1 * t1007 * t3282 + 0.2e2 / 0.3e1 * t389 * t3287 - 0.1e2 / 0.3e1 * t3437 * t907 - 0.1e2 / 0.3e1 * t3440 * t3303 + 0.15e2 * t399 * t3263 + 0.5e2 / 0.3e1 * t1038 * t3263 + 0.5e2 / 0.3e1 * t401 * t3268 + 0.55e2 / 0.3e1 * t1043 * t3268 + 0.55e2 / 0.3e1 * t403 * t3308 + 0.25e2 / 0.3e1 * t1012 * t3287 + 0.25e2 / 0.3e1 * t391 * t3292 - 0.7e2 * t2741 * t3363 - 0.49e3 / 0.3e1 * t1023 * t3379 - 0.28e3 / 0.3e1 * t395 * t3387; + const double t3491 = -0.28e3 / 0.3e1 * t2748 * t3379 - 0.64e3 / 0.3e1 * t1028 * t3387 - 0.12e3 * t397 * t3314 - 0.12e3 * t2698 * t3387 - 0.27e3 * t1033 * t3314 - 0.1e2 / 0.3e1 * t383 * t3332 - 0.4e2 / 0.3e1 * t997 * t3332 - 0.1e2 * t385 * t3338 - 0.1e2 * t2761 * t3332 - 0.3e2 * t1002 * t3338 - 0.2e2 * t387 * t3346 - 0.2e2 * t2719 * t3338 - 0.16e3 / 0.3e1 * t1007 * t3346; + const double t3520 = -0.1e3 / 0.3e1 * t389 * t3354 - 0.15e3 * t399 * t3318 - 0.15e3 * t2705 * t3314 - 0.1e4 / 0.3e1 * t1038 * t3318 - 0.55e3 / 0.3e1 * t401 * t3328 - 0.55e3 / 0.3e1 * t2712 * t3318 - 0.121e4 / 0.3e1 * t1043 * t3328 - 0.22e3 * t403 * t3373 - 0.1e3 / 0.3e1 * t2727 * t3346 - 0.25e3 / 0.3e1 * t1012 * t3354 - 0.5e2 * t391 * t3363 - 0.5e2 * t2734 * t3354 - 0.12e3 * t1017 * t3363 - 0.7e2 * t393 * t3379; + const double t3522 = t3432 + t3463 + t3491 + t3520; + const double t3524 = -0.1576608624e-1 * t895 * t899 * t1251 + t318 * t3400 - 0.13717421124828532236e-1 * t987 * t3402 + t382 * t3522; + const double t3525 = t306 * t3524; + const double t3529 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t837 * t1301 - t3224 - 0.3e1 / 0.8e1 * t248 * t3241 - 0.3e1 / 0.8e1 * t248 * t3525 ); + const double t3531 = t1471 * t1496; + const double t3535 = t1496 * t195; + const double t3539 = -0.10815042470445e-3 * t1469 * t3531 * t192 - 0.4793672953020348367e-4 * t1663 * t3535 * t232; + const double t3540 = t100 * t3539; + const double t3543 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3540 ); + const double t3544 = t1471 * t2520; + const double t3548 = t2520 * t380; + const double t3552 = -0.10815042470445e-3 * t2496 * t3544 * t377 - 0.4793672953020348367e-4 * t1663 * t3548 * t405; + const double t3553 = t306 * t3552; + const double t3556 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t3553 ); + const double t3563 = 0.591228234e-2 * t512 * t1059 * t1141 + 0.51440329218106995885e-2 * t106 * t1063 * t1188; + const double t3564 = t100 * t3563; + const double t3567 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3564 ); + const double t3574 = 0.591228234e-2 * t894 * t1072 * t1251 + 0.51440329218106995885e-2 * t106 * t1076 * t1298; + const double t3575 = t306 * t3574; + const double t3578 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t3575 ); + const double t3580 = 0.1e1 / t108 / t514; + const double t3587 = t154 * t3580; + const double t3590 = t160 * t3580; + const double t3593 = t166 * t3580; + const double t3596 = t172 * t3580; + const double t3599 = t178 * t3580; + const double t3602 = t184 * t3580; + const double t3605 = t190 * t3580; + const double t3608 = t142 * t3580; + const double t3611 = t148 * t3580; + const double t3624 = 0.2e1 * t120 * t3580 * t136 + 0.2e1 * t132 * t3580 * t136 + 0.56e2 * t1491 * t3596 + 0.72e2 * t1508 * t3599 + 0.9e2 * t1517 * t3602 + 0.11e3 * t1526 * t3605 + 0.12e2 * t1546 * t3611 + 0.2e2 * t1555 * t3587 + 0.3e2 * t1564 * t3590 + 0.42e2 * t1571 * t3593 + 0.42e2 * t158 * t3596 + 0.6e1 * t1588 * t3608 + 0.56e2 * t164 * t3599 + 0.72e2 * t557 * t3593 + 0.98e2 * t565 * t3596 + 0.128e3 * t572 * t3599; + const double t3633 = t597 * t3580; + const double t3638 = t1532 * t3580; + const double t3659 = 0.2e1 * t128 * t3608 + 0.6e1 * t134 * t3611 + 0.12e2 * t140 * t3587 + 0.2e2 * t146 * t3590 + 0.3e2 * t152 * t3593 + 0.72e2 * t170 * t3602 + 0.9e2 * t176 * t3605 + 0.11e3 * t182 * t3633 + 0.132e3 * t188 * t3638 + 0.32e2 * t543 * t3587 + 0.5e2 * t550 * t3590 + 0.162e3 * t579 * t3602 + 0.2e3 * t586 * t3605 + 0.8e1 * t529 * t3608 + 0.18e2 * t536 * t3611 + 0.242e3 * t593 * t3633; + const double t3660 = t3624 + t3659; + const double t3696 = 0.2e1 * t199 * t3580 * t136 + 0.2e1 * t202 * t3580 * t136 + 0.11e3 * t1722 * t3605 + 0.56e2 * t1742 * t3596 + 0.72e2 * t1749 * t3599 + 0.9e2 * t1756 * t3602 + 0.12e2 * t206 * t3587 + 0.2e2 * t209 * t3590 + 0.3e2 * t212 * t3593 + 0.11e3 * t227 * t3633 + 0.132e3 * t230 * t3638 + 0.32e2 * t625 * t3587 + 0.5e2 * t630 * t3590 + 0.72e2 * t635 * t3593 + 0.18e2 * t620 * t3611 + 0.242e3 * t661 * t3633; + const double t3729 = 0.3e2 * t1678 * t3590 + 0.42e2 * t1735 * t3593 + 0.6e1 * t1770 * t3608 + 0.12e2 * t1777 * t3611 + 0.2e2 * t1784 * t3587 + 0.2e1 * t200 * t3608 + 0.6e1 * t203 * t3611 + 0.42e2 * t215 * t3596 + 0.56e2 * t218 * t3599 + 0.72e2 * t221 * t3602 + 0.9e2 * t224 * t3605 + 0.98e2 * t641 * t3596 + 0.128e3 * t646 * t3599 + 0.162e3 * t651 * t3602 + 0.2e3 * t656 * t3605 + 0.8e1 * t615 * t3608; + const double t3730 = t3696 + t3729; + const double t3732 = t118 * t3660 + t197 * t3730; + const double t3733 = t100 * t3732; + const double t3736 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3733 ); + const double t3738 = 0.1e1 / t308 / t896; + const double t3745 = t350 * t3738; + const double t3748 = t355 * t3738; + const double t3751 = t335 * t3738; + const double t3754 = t340 * t3738; + const double t3757 = t345 * t3738; + const double t3764 = t360 * t3738; + const double t3767 = t365 * t3738; + const double t3770 = t370 * t3738; + const double t3773 = t375 * t3738; + const double t3782 = 0.2e1 * t120 * t3738 * t330 + 0.2e1 * t132 * t3738 * t330 + 0.11e3 * t2524 * t3773 + 0.3e2 * t2541 * t3745 + 0.42e2 * t2552 * t3748 + 0.56e2 * t2561 * t3764 + 0.72e2 * t2571 * t3767 + 0.9e2 * t2578 * t3770 + 0.6e1 * t2593 * t3751 + 0.12e2 * t2602 * t3754 + 0.2e2 * t2611 * t3757 + 0.3e2 * t343 * t3748 + 0.42e2 * t348 * t3764 + 0.5e2 * t932 * t3745 + 0.72e2 * t939 * t3748 + 0.98e2 * t947 * t3764; + const double t3795 = t979 * t3738; + const double t3800 = t2532 * t3738; + const double t3817 = 0.2e1 * t323 * t3751 + 0.6e1 * t328 * t3754 + 0.12e2 * t333 * t3757 + 0.2e2 * t338 * t3745 + 0.56e2 * t353 * t3767 + 0.72e2 * t358 * t3770 + 0.9e2 * t363 * t3773 + 0.11e3 * t368 * t3795 + 0.132e3 * t373 * t3800 + 0.8e1 * t911 * t3751 + 0.18e2 * t918 * t3754 + 0.32e2 * t925 * t3757 + 0.128e3 * t954 * t3767 + 0.162e3 * t961 * t3770 + 0.2e3 * t968 * t3773 + 0.242e3 * t975 * t3795; + const double t3818 = t3782 + t3817; + const double t3854 = 0.2e1 * t199 * t3738 * t330 + 0.2e1 * t202 * t3738 * t330 + 0.18e2 * t1002 * t3754 + 0.32e2 * t1007 * t3757 + 0.5e2 * t1012 * t3745 + 0.72e2 * t1017 * t3748 + 0.98e2 * t1023 * t3764 + 0.128e3 * t1028 * t3767 + 0.242e3 * t1043 * t3795 + 0.2e2 * t389 * t3745 + 0.3e2 * t391 * t3748 + 0.12e2 * t387 * t3757 + 0.42e2 * t393 * t3764 + 0.56e2 * t395 * t3767 + 0.11e3 * t401 * t3795 + 0.132e3 * t403 * t3800; + const double t3887 = 0.162e3 * t1033 * t3770 + 0.2e3 * t1038 * t3773 + 0.72e2 * t2698 * t3767 + 0.9e2 * t2705 * t3770 + 0.11e3 * t2712 * t3773 + 0.12e2 * t2719 * t3754 + 0.2e2 * t2727 * t3757 + 0.3e2 * t2734 * t3745 + 0.42e2 * t2741 * t3748 + 0.56e2 * t2748 * t3764 + 0.6e1 * t2761 * t3751 + 0.2e1 * t383 * t3751 + 0.8e1 * t997 * t3751 + 0.6e1 * t385 * t3754 + 0.72e2 * t397 * t3770 + 0.9e2 * t399 * t3773; + const double t3888 = t3854 + t3887; + const double t3890 = t318 * t3818 + t382 * t3888; + const double t3891 = t306 * t3890; + const double t3894 = piecewise_functor_3( t239, 0.0, -0.3e1 / 0.8e1 * t248 * t3891 ); + + + vrho_a = t238 + t411 + t7 * ( t674 + t768 ); + vrho_b = t238 + t411 + t7 * ( t831 + t1056 ); + vsigma_aa = t7 * t1071; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1084; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1194; + vtau_b = t7 * t1304; + v2rho2_aa = 0.2e1 * t674 + 0.2e1 * t768 + t7 * ( t1804 + t1952 ); + v2rho2_bb = 0.2e1 * t831 + 0.2e1 * t1056 + t7 * ( t2370 + t2828 ); + v2rhosigma_a_aa = t7 * t2868 + t1071; + v2rhosigma_b_bb = t7 * t2923 + t1084; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t3218 + t1194; + v2rhotau_b_b = t7 * t3529 + t1304; + v2sigma2_aa_aa = t7 * t3543; + v2sigma2_bb_bb = t7 * t3556; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t3567; + v2sigmatau_bb_b = t7 * t3578; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t3736; + v2tau2_bb = t7 * t3894; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinM11_X : detail::BuiltinKernelImpl< BuiltinM11_X > { + + BuiltinM11_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinM11_X >(p) { } + + virtual ~BuiltinM11_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mbeef_x.hpp b/include/exchcxx/impl/builtin/kernels/mbeef_x.hpp new file mode 100644 index 0000000..1ae534b --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mbeef_x.hpp @@ -0,0 +1,5966 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMBEEF_X > : + public mgga_screening_interface< BuiltinMBEEF_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t29 = t28 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = t11 + 0.1e1; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t27 = t26 * sigma; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = sigma * t29; + const double t36 = t35 * t33; + const double t39 = 0.65124e1 + t26 * t36 / 0.24e2; + const double t40 = 0.1e1 / t39; + const double t41 = t34 * t40; + const double t42 = t27 * t41; + const double t44 = t42 / 0.12e2 - 0.1e1; + const double t45 = t44 * t44; + const double t46 = t45 * t45; + const double t49 = t46 * t45; + const double t51 = tau * t29; + const double t53 = 0.1e1 / t31 / rho; + const double t59 = 0.5e1 / 0.9e1 * ( t51 * t53 - t36 / 0.8e1 ) * t21 * t25; + const double t60 = 0.1e5 <= t59; + const double t61 = 0.1e5 < t59; + const double t62 = piecewise_functor_3( t61, t59, 10000.0 ); + const double t63 = t62 * t62; + const double t66 = t63 * t62; + const double t67 = 0.1e1 / t66; + const double t68 = t63 * t63; + const double t69 = 0.1e1 / t68; + const double t72 = piecewise_functor_3( t61, 10000.0, t59 ); + const double t73 = t72 * t72; + const double t74 = 0.1e1 - t73; + const double t75 = t74 * t74; + const double t76 = t75 * t74; + const double t77 = t73 * t72; + const double t78 = 0.1e1 + t77; + const double t80 = t77 * t78 + 0.1e1; + const double t81 = 0.1e1 / t80; + const double t83 = piecewise_functor_3( t60, 0.1e1 - 0.3e1 / t63 - t67 + 0.3e1 * t69, -t76 * t81 ); + const double t84 = t83 * t83; + const double t85 = t84 * t84; + const double t86 = t85 * t84; + const double t91 = t85 * t83; + const double t93 = t84 * t83; + const double t95 = t85 * t93; + const double t98 = t45 * t44; + const double t99 = t46 * t98; + const double t102 = t46 * t44; + const double t107 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t49 - 0.315e3 / 0.16e2 * t46 + 0.105e3 / 0.16e2 * t45; + const double t111 = 0.63e2 / 0.8e1 * t91 - 0.35e2 / 0.4e1 * t93 + 0.15e2 / 0.8e1 * t83; + const double t116 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t85 - 0.15e2 / 0.4e1 * t84; + const double t119 = -0.138056183978125e0 * t46 - 0.92294814328125e-1 * t45 + 0.80024660533125e-1 * t49 - 0.80008813355625e-4 * t86 + 0.3020715669803125e-2 * t85 + 0.7031826877565625e-2 * t84 - 0.4373652639371875e-2 * t83 - 0.945883103563125e-3 * t91 + 0.4646102821846875e-2 * t93 + 0.19735677658125e-4 * t95 - 0.13022208355989583333e-1 * t42 + 0.106025815520625e0 * t99 + 0.497944638409375e0 * t98 - 0.395061199588125e0 * t102 + 0.236391411e-7 * t107 * t111 - 0.416393106e-7 * t107 * t116; + const double t122 = 0.5e1 / 0.2e1 * t93 - 0.3e1 / 0.2e1 * t83; + const double t126 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t84; + const double t129 = t107 * t83; + const double t134 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t98 + 0.5e1 / 0.32e2 * t42 - 0.15e2 / 0.8e1; + const double t139 = 0.429e3 / 0.16e2 * t95 - 0.693e3 / 0.16e2 * t91 + 0.315e3 / 0.16e2 * t93 - 0.35e2 / 0.16e2 * t83; + const double t145 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t86 - 0.315e3 / 0.16e2 * t85 + 0.105e3 / 0.16e2 * t84; + const double t156 = t134 * t83; + const double t160 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t46 - 0.15e2 / 0.4e1 * t45; + const double t173 = -0.265114646e-7 * t107 * t122 + 0.169805915e-6 * t107 * t126 - 0.957417512e-2 * t129 + 0.850272392e-8 * t134 * t139 - 0.138472194e-7 * t134 * t145 - 0.376702959e-7 * t134 * t111 + 0.162238741e-6 * t134 * t116 - 0.896771404e-2 * t134 * t122 - 0.188495102e-1 * t134 * t126 - 0.884148272e-2 * t156 - 0.493824365e-8 * t160 * t139 + 0.912223751e-8 * t160 * t145 + 0.209603871e-7 * t160 * t111 - 0.790811707e-7 * t160 * t116 + 0.631891628e-2 * t160 * t122 - 0.182911291e-1 * t160 * t126; + const double t175 = t160 * t83; + const double t179 = 0.5e1 / 0.2e1 * t98 - t42 / 0.8e1 + 0.3e1 / 0.2e1; + const double t192 = t179 * t83; + const double t195 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t45; + const double t208 = 0.429e3 / 0.16e2 * t99 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t98 - 0.35e2 / 0.192e3 * t42 + 0.35e2 / 0.16e2; + const double t215 = t195 * t83; + const double t217 = 0.162638575e-1 * t175 + 0.674910119e-8 * t179 * t139 - 0.216860568e-7 * t179 * t145 + 0.896739466e-3 * t179 * t111 + 0.339308972e-2 * t179 * t116 - 0.845508103e-2 * t179 * t122 + 0.280678872e-1 * t179 * t126 - 0.182177954e-1 * t192 - 0.223014657e-8 * t195 * t139 + 0.668980219e-8 * t195 * t145 - 0.35104103e-3 * t195 * t111 + 0.182906057e-2 * t195 * t116 + 0.888525527e-8 * t208 * t139 + 0.293253041e-2 * t195 * t122 - 0.150103636e-1 * t195 * t126 - 0.43464346e-1 * t215; + const double t230 = t44 * t83; + const double t242 = t208 * t83; + const double t248 = 0.1380567225218996875e1 - 0.940351563e-5 * t44 * t139 - 0.514204676e-4 * t44 * t145 + 0.822139896e-3 * t44 * t111 + 0.119130546e-2 * t44 * t116 - 0.303347141e-2 * t44 * t122 - 0.879090772e-2 * t44 * t126 + 0.100339208e0 * t230 - 0.774224962e-8 * t208 * t145 - 0.338128188e-7 * t208 * t111 + 0.554588743e-7 * t208 * t116 + 0.505920757e-7 * t208 * t122 - 0.27652468e-6 * t208 * t126 + 0.940675747e-2 * t242 - 0.691592964e-8 * t107 * t139 + 0.694482484e-8 * t107 * t145; + const double t250 = t119 + t173 + t217 + t248; + const double t254 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t250 ); + + + eps = 0.2e1 * t254; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t29 = t28 * t28; + constexpr double t306 = t21 * t21; + constexpr double t308 = 0.1e1 / t23 / t22; + constexpr double t309 = t306 * t308; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = t11 + 0.1e1; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t27 = t26 * sigma; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = sigma * t29; + const double t36 = t35 * t33; + const double t39 = 0.65124e1 + t26 * t36 / 0.24e2; + const double t40 = 0.1e1 / t39; + const double t41 = t34 * t40; + const double t42 = t27 * t41; + const double t44 = t42 / 0.12e2 - 0.1e1; + const double t45 = t44 * t44; + const double t46 = t45 * t45; + const double t49 = t46 * t45; + const double t51 = tau * t29; + const double t53 = 0.1e1 / t31 / rho; + const double t59 = 0.5e1 / 0.9e1 * ( t51 * t53 - t36 / 0.8e1 ) * t21 * t25; + const double t60 = 0.1e5 <= t59; + const double t61 = 0.1e5 < t59; + const double t62 = piecewise_functor_3( t61, t59, 10000.0 ); + const double t63 = t62 * t62; + const double t66 = t63 * t62; + const double t67 = 0.1e1 / t66; + const double t68 = t63 * t63; + const double t69 = 0.1e1 / t68; + const double t72 = piecewise_functor_3( t61, 10000.0, t59 ); + const double t73 = t72 * t72; + const double t74 = 0.1e1 - t73; + const double t75 = t74 * t74; + const double t76 = t75 * t74; + const double t77 = t73 * t72; + const double t78 = 0.1e1 + t77; + const double t80 = t77 * t78 + 0.1e1; + const double t81 = 0.1e1 / t80; + const double t83 = piecewise_functor_3( t60, 0.1e1 - 0.3e1 / t63 - t67 + 0.3e1 * t69, -t76 * t81 ); + const double t84 = t83 * t83; + const double t85 = t84 * t84; + const double t86 = t85 * t84; + const double t91 = t85 * t83; + const double t93 = t84 * t83; + const double t95 = t85 * t93; + const double t98 = t45 * t44; + const double t99 = t46 * t98; + const double t102 = t46 * t44; + const double t107 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t49 - 0.315e3 / 0.16e2 * t46 + 0.105e3 / 0.16e2 * t45; + const double t111 = 0.63e2 / 0.8e1 * t91 - 0.35e2 / 0.4e1 * t93 + 0.15e2 / 0.8e1 * t83; + const double t116 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t85 - 0.15e2 / 0.4e1 * t84; + const double t119 = -0.138056183978125e0 * t46 - 0.92294814328125e-1 * t45 + 0.80024660533125e-1 * t49 - 0.80008813355625e-4 * t86 + 0.3020715669803125e-2 * t85 + 0.7031826877565625e-2 * t84 - 0.4373652639371875e-2 * t83 - 0.945883103563125e-3 * t91 + 0.4646102821846875e-2 * t93 + 0.19735677658125e-4 * t95 - 0.13022208355989583333e-1 * t42 + 0.106025815520625e0 * t99 + 0.497944638409375e0 * t98 - 0.395061199588125e0 * t102 + 0.236391411e-7 * t107 * t111 - 0.416393106e-7 * t107 * t116; + const double t122 = 0.5e1 / 0.2e1 * t93 - 0.3e1 / 0.2e1 * t83; + const double t126 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t84; + const double t129 = t107 * t83; + const double t134 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t98 + 0.5e1 / 0.32e2 * t42 - 0.15e2 / 0.8e1; + const double t139 = 0.429e3 / 0.16e2 * t95 - 0.693e3 / 0.16e2 * t91 + 0.315e3 / 0.16e2 * t93 - 0.35e2 / 0.16e2 * t83; + const double t145 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t86 - 0.315e3 / 0.16e2 * t85 + 0.105e3 / 0.16e2 * t84; + const double t156 = t134 * t83; + const double t160 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t46 - 0.15e2 / 0.4e1 * t45; + const double t173 = -0.265114646e-7 * t107 * t122 + 0.169805915e-6 * t107 * t126 - 0.957417512e-2 * t129 + 0.850272392e-8 * t134 * t139 - 0.138472194e-7 * t134 * t145 - 0.376702959e-7 * t134 * t111 + 0.162238741e-6 * t134 * t116 - 0.896771404e-2 * t134 * t122 - 0.188495102e-1 * t134 * t126 - 0.884148272e-2 * t156 - 0.493824365e-8 * t160 * t139 + 0.912223751e-8 * t160 * t145 + 0.209603871e-7 * t160 * t111 - 0.790811707e-7 * t160 * t116 + 0.631891628e-2 * t160 * t122 - 0.182911291e-1 * t160 * t126; + const double t175 = t160 * t83; + const double t179 = 0.5e1 / 0.2e1 * t98 - t42 / 0.8e1 + 0.3e1 / 0.2e1; + const double t192 = t179 * t83; + const double t195 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t45; + const double t208 = 0.429e3 / 0.16e2 * t99 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t98 - 0.35e2 / 0.192e3 * t42 + 0.35e2 / 0.16e2; + const double t215 = t195 * t83; + const double t217 = 0.162638575e-1 * t175 + 0.674910119e-8 * t179 * t139 - 0.216860568e-7 * t179 * t145 + 0.896739466e-3 * t179 * t111 + 0.339308972e-2 * t179 * t116 - 0.845508103e-2 * t179 * t122 + 0.280678872e-1 * t179 * t126 - 0.182177954e-1 * t192 - 0.223014657e-8 * t195 * t139 + 0.668980219e-8 * t195 * t145 - 0.35104103e-3 * t195 * t111 + 0.182906057e-2 * t195 * t116 + 0.888525527e-8 * t208 * t139 + 0.293253041e-2 * t195 * t122 - 0.150103636e-1 * t195 * t126 - 0.43464346e-1 * t215; + const double t230 = t44 * t83; + const double t242 = t208 * t83; + const double t248 = 0.1380567225218996875e1 - 0.940351563e-5 * t44 * t139 - 0.514204676e-4 * t44 * t145 + 0.822139896e-3 * t44 * t111 + 0.119130546e-2 * t44 * t116 - 0.303347141e-2 * t44 * t122 - 0.879090772e-2 * t44 * t126 + 0.100339208e0 * t230 - 0.774224962e-8 * t208 * t145 - 0.338128188e-7 * t208 * t111 + 0.554588743e-7 * t208 * t116 + 0.505920757e-7 * t208 * t122 - 0.27652468e-6 * t208 * t126 + 0.940675747e-2 * t242 - 0.691592964e-8 * t107 * t139 + 0.694482484e-8 * t107 * t145; + const double t250 = t119 + t173 + t217 + t248; + const double t254 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t250 ); + const double t256 = t18 / t31; + const double t262 = t30 * rho; + const double t264 = 0.1e1 / t31 / t262; + const double t270 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * t51 * t33 + t35 * t264 / 0.3e1 ) * t21 * t25; + const double t271 = piecewise_functor_3( t61, t270, 0.0 ); + const double t274 = t69 * t271; + const double t277 = 0.1e1 / t68 / t62; + const double t278 = t277 * t271; + const double t281 = t75 * t81; + const double t282 = piecewise_functor_3( t61, 0.0, t270 ); + const double t283 = t72 * t282; + const double t286 = t80 * t80; + const double t287 = 0.1e1 / t286; + const double t288 = t76 * t287; + const double t289 = t73 * t78; + const double t291 = t73 * t73; + const double t292 = t291 * t72; + const double t295 = 0.3e1 * t289 * t282 + 0.3e1 * t292 * t282; + const double t298 = piecewise_functor_3( t60, 0.6e1 * t67 * t271 + 0.3e1 * t274 - 0.12e2 * t278, 0.6e1 * t281 * t283 + t288 * t295 ); + const double t302 = t29 * t264; + const double t303 = t302 * t40; + const double t304 = t27 * t303; + const double t310 = sigma * sigma; + const double t311 = t309 * t310; + const double t312 = t30 * t30; + const double t313 = t312 * t30; + const double t315 = 0.1e1 / t19 / t313; + const double t317 = t39 * t39; + const double t318 = 0.1e1 / t317; + const double t319 = t28 * t315 * t318; + const double t320 = t311 * t319; + const double t322 = -0.2e1 / 0.9e1 * t304 + t320 / 0.54e2; + const double t323 = t44 * t322; + const double t334 = t322 * t83; + const double t336 = t44 * t298; + const double t338 = t322 * t122; + const double t340 = t84 * t298; + const double t343 = 0.15e2 / 0.2e1 * t340 - 0.3e1 / 0.2e1 * t298; + const double t346 = t322 * t126; + const double t348 = t322 * t111; + const double t350 = t85 * t298; + const double t354 = 0.315e3 / 0.8e1 * t350 - 0.105e3 / 0.4e1 * t340 + 0.15e2 / 0.8e1 * t298; + const double t357 = -0.4373652639371875e-2 * t298 - 0.2637272316e-1 * t230 * t298 + 0.2006940657e-7 * t323 * t145 - 0.105312309e-2 * t323 * t111 + 0.548718171e-2 * t323 * t116 + 0.879759123e-2 * t323 * t122 - 0.450310908e-1 * t323 * t126 + 0.100339208e0 * t334 + 0.100339208e0 * t336 - 0.303347141e-2 * t338 - 0.303347141e-2 * t44 * t343 - 0.879090772e-2 * t346 + 0.822139896e-3 * t348 + 0.822139896e-3 * t44 * t354; + const double t358 = t322 * t116; + const double t360 = t49 * t322; + const double t362 = t46 * t322; + const double t364 = t45 * t322; + const double t368 = 0.3003e4 / 0.16e2 * t360 - 0.3465e4 / 0.16e2 * t362 + 0.945e3 / 0.16e2 * t364 + 0.35e2 / 0.72e2 * t304 - 0.35e2 / 0.864e3 * t320; + const double t371 = t93 * t298; + const double t373 = t83 * t298; + const double t375 = 0.35e2 / 0.2e1 * t371 - 0.15e2 / 0.2e1 * t373; + const double t378 = t91 * t298; + const double t382 = 0.693e3 / 0.8e1 * t378 - 0.315e3 / 0.4e1 * t371 + 0.105e3 / 0.8e1 * t373; + const double t391 = t98 * t322; + const double t396 = 0.35e2 / 0.2e1 * t391 - 0.15e2 / 0.2e1 * t323; + const double t399 = t396 * t83; + const double t401 = t160 * t298; + const double t407 = 0.119130546e-2 * t358 + 0.554588743e-7 * t368 * t116 + 0.554588743e-7 * t208 * t375 - 0.774224962e-8 * t208 * t382 - 0.338128188e-7 * t368 * t111 - 0.338128188e-7 * t208 * t354 - 0.216860568e-7 * t179 * t382 - 0.5522247359125e0 * t391 - 0.18458962865625e0 * t323 - 0.182911291e-1 * t396 * t126 + 0.162638575e-1 * t399 + 0.162638575e-1 * t401 - 0.790811707e-7 * t396 * t116 - 0.790811707e-7 * t160 * t375; + const double t413 = t86 * t298; + const double t418 = 0.3003e4 / 0.16e2 * t413 - 0.3465e4 / 0.16e2 * t350 + 0.945e3 / 0.16e2 * t340 - 0.35e2 / 0.16e2 * t298; + const double t423 = t102 * t322; + const double t427 = 0.693e3 / 0.8e1 * t423 - 0.315e3 / 0.4e1 * t391 + 0.105e3 / 0.8e1 * t323; + const double t443 = 0.631891628e-2 * t396 * t122 + 0.631891628e-2 * t160 * t343 + 0.850272392e-8 * t134 * t418 - 0.416393106e-7 * t107 * t375 - 0.265114646e-7 * t427 * t122 - 0.265114646e-7 * t107 * t343 + 0.236391411e-7 * t427 * t111 + 0.236391411e-7 * t107 * t354 - 0.4729415517815625e-2 * t350 + 0.13938308465540625e-1 * t340 + 0.742180708644375e0 * t360 - 0.1975305997940625e1 * t362 + 0.1493833915228125e1 * t364 - 0.774224962e-8 * t368 * t145; + const double t448 = 0.315e3 / 0.8e1 * t362 - 0.105e3 / 0.4e1 * t364 - 0.5e1 / 0.12e2 * t304 + 0.5e1 / 0.144e3 * t320; + const double t456 = t427 * t83; + const double t458 = t107 * t298; + const double t468 = t368 * t83; + const double t470 = t208 * t298; + const double t474 = -0.138472194e-7 * t448 * t145 - 0.138472194e-7 * t134 * t382 + 0.48014796319875e0 * t423 + 0.169805915e-6 * t427 * t126 - 0.957417512e-2 * t456 - 0.957417512e-2 * t458 + 0.850272392e-8 * t448 * t139 - 0.416393106e-7 * t427 * t116 + 0.694482484e-8 * t427 * t145 + 0.694482484e-8 * t107 * t382 + 0.940675747e-2 * t468 + 0.940675747e-2 * t470 + 0.120828626792125e-1 * t371 + 0.1406365375513125e-1 * t373; + const double t479 = t322 * t145; + const double t484 = t195 * t298; + const double t486 = t322 * t139; + const double t501 = 0.15e2 / 0.2e1 * t364 + t304 / 0.3e1 - t320 / 0.36e2; + const double t504 = t501 * t83; + const double t506 = t179 * t298; + const double t508 = 0.119130546e-2 * t44 * t375 - 0.514204676e-4 * t479 - 0.48005288013375e-3 * t378 - 0.514204676e-4 * t44 * t382 - 0.43464346e-1 * t484 - 0.940351563e-5 * t486 - 0.940351563e-5 * t44 * t418 + 0.182906057e-2 * t195 * t375 + 0.293253041e-2 * t195 * t343 - 0.35104103e-3 * t195 * t354 + 0.668980219e-8 * t195 * t382 + 0.280678872e-1 * t501 * t126 - 0.182177954e-1 * t504 - 0.182177954e-1 * t506; + const double t536 = -0.223014657e-8 * t195 * t418 + 0.339308972e-2 * t501 * t116 + 0.339308972e-2 * t179 * t375 - 0.845508103e-2 * t501 * t122 - 0.845508103e-2 * t179 * t343 + 0.896739466e-3 * t501 * t111 + 0.896739466e-3 * t179 * t354 + 0.674910119e-8 * t501 * t139 + 0.674910119e-8 * t179 * t418 - 0.216860568e-7 * t501 * t145 + 0.888525527e-8 * t368 * t139 + 0.138149743606875e-3 * t413 + 0.888525527e-8 * t208 * t418 - 0.493824365e-8 * t396 * t139; + const double t566 = 0.162238741e-6 * t448 * t116 + 0.162238741e-6 * t134 * t375 - 0.896771404e-2 * t448 * t122 - 0.896771404e-2 * t134 * t343 - 0.376702959e-7 * t448 * t111 - 0.376702959e-7 * t134 * t354 - 0.691592964e-8 * t427 * t139 - 0.691592964e-8 * t107 * t418 + 0.505920757e-7 * t368 * t122 + 0.505920757e-7 * t208 * t343 - 0.27652468e-6 * t368 * t126 + 0.209603871e-7 * t396 * t111 + 0.209603871e-7 * t160 * t354 - 0.493824365e-8 * t160 * t418; + const double t573 = t448 * t83; + const double t575 = t134 * t298; + const double t595 = 0.912223751e-8 * t396 * t145 + 0.912223751e-8 * t160 * t382 - 0.188495102e-1 * t448 * t126 - 0.884148272e-2 * t573 - 0.884148272e-2 * t575 - 0.450310908e-1 * t215 * t298 - 0.130393038e0 * t323 * t83 + 0.842036616e-1 * t192 * t298 - 0.669043971e-8 * t323 * t139 - 0.548733873e-1 * t175 * t298 - 0.565485306e-1 * t156 * t298 + 0.509417745e-6 * t129 * t298 - 0.82957404e-6 * t242 * t298 + 0.34725888949305555555e-1 * t304 - 0.28938240791087962962e-2 * t320; + const double t598 = t357 + t407 + t443 + t474 + t508 + t536 + t566 + t595; + const double t603 = piecewise_functor_3( t3, 0.0, -t7 * t256 * t250 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t598 ); + const double t606 = t26 * t34; + const double t607 = 0.5e1 / 0.72e2 * t606; + const double t608 = piecewise_functor_3( t61, -t607, 0.0 ); + const double t611 = t69 * t608; + const double t613 = t277 * t608; + const double t616 = piecewise_functor_3( t61, 0.0, -t607 ); + const double t617 = t72 * t616; + const double t623 = 0.3e1 * t289 * t616 + 0.3e1 * t292 * t616; + const double t626 = piecewise_functor_3( t60, 0.6e1 * t67 * t608 + 0.3e1 * t611 - 0.12e2 * t613, 0.6e1 * t281 * t617 + t288 * t623 ); + const double t628 = t86 * t626; + const double t630 = t85 * t626; + const double t632 = t84 * t626; + const double t635 = 0.3003e4 / 0.16e2 * t628 - 0.3465e4 / 0.16e2 * t630 + 0.945e3 / 0.16e2 * t632 - 0.35e2 / 0.16e2 * t626; + const double t638 = t26 * t41; + const double t641 = t312 * rho; + const double t645 = t28 / t19 / t641 * t318; + const double t646 = t309 * sigma * t645; + const double t648 = t638 / 0.12e2 - t646 / 0.144e3; + const double t649 = t49 * t648; + const double t651 = t46 * t648; + const double t653 = t45 * t648; + const double t657 = 0.3003e4 / 0.16e2 * t649 - 0.3465e4 / 0.16e2 * t651 + 0.945e3 / 0.16e2 * t653 - 0.35e2 / 0.192e3 * t638 + 0.35e2 / 0.2304e4 * t646; + const double t660 = t91 * t626; + const double t662 = t93 * t626; + const double t664 = t83 * t626; + const double t666 = 0.693e3 / 0.8e1 * t660 - 0.315e3 / 0.4e1 * t662 + 0.105e3 / 0.8e1 * t664; + const double t669 = t648 * t139; + const double t677 = 0.15e2 / 0.2e1 * t632 - 0.3e1 / 0.2e1 * t626; + const double t682 = t648 * t145; + const double t686 = t98 * t648; + const double t688 = t44 * t648; + const double t690 = 0.35e2 / 0.2e1 * t686 - 0.15e2 / 0.2e1 * t688; + const double t697 = -0.4373652639371875e-2 * t626 + 0.888525527e-8 * t208 * t635 - 0.774224962e-8 * t657 * t145 - 0.774224962e-8 * t208 * t666 - 0.940351563e-5 * t669 - 0.940351563e-5 * t44 * t635 + 0.505920757e-7 * t657 * t122 + 0.505920757e-7 * t208 * t677 - 0.27652468e-6 * t657 * t126 - 0.514204676e-4 * t682 - 0.514204676e-4 * t44 * t666 - 0.493824365e-8 * t690 * t139 - 0.493824365e-8 * t160 * t635 + 0.912223751e-8 * t690 * t145; + const double t705 = 0.315e3 / 0.8e1 * t630 - 0.105e3 / 0.4e1 * t632 + 0.15e2 / 0.8e1 * t626; + const double t712 = 0.35e2 / 0.2e1 * t662 - 0.15e2 / 0.2e1 * t664; + const double t715 = t102 * t648; + const double t724 = 0.15e2 / 0.2e1 * t653 - t638 / 0.8e1 + t646 / 0.96e2; + const double t737 = 0.912223751e-8 * t160 * t666 + 0.209603871e-7 * t690 * t111 + 0.209603871e-7 * t160 * t705 - 0.790811707e-7 * t690 * t116 - 0.790811707e-7 * t160 * t712 + 0.48014796319875e0 * t715 - 0.338128188e-7 * t657 * t111 - 0.338128188e-7 * t208 * t705 + 0.896739466e-3 * t724 * t111 + 0.896739466e-3 * t179 * t705 + 0.339308972e-2 * t724 * t116 + 0.339308972e-2 * t179 * t712 - 0.845508103e-2 * t724 * t122 - 0.845508103e-2 * t179 * t677; + const double t739 = t648 * t111; + const double t743 = t648 * t116; + const double t747 = t648 * t122; + const double t751 = t648 * t126; + const double t753 = t648 * t83; + const double t755 = t44 * t626; + const double t757 = t657 * t83; + const double t759 = t208 * t626; + const double t766 = 0.822139896e-3 * t739 + 0.822139896e-3 * t44 * t705 + 0.119130546e-2 * t743 + 0.119130546e-2 * t44 * t712 - 0.303347141e-2 * t747 - 0.303347141e-2 * t44 * t677 - 0.879090772e-2 * t751 + 0.100339208e0 * t753 + 0.100339208e0 * t755 + 0.940675747e-2 * t757 + 0.940675747e-2 * t759 - 0.216860568e-7 * t179 * t666 + 0.742180708644375e0 * t649 + 0.888525527e-8 * t657 * t139; + const double t772 = 0.693e3 / 0.8e1 * t715 - 0.315e3 / 0.4e1 * t686 + 0.105e3 / 0.8e1 * t688; + const double t780 = t772 * t83; + const double t782 = t107 * t626; + const double t796 = -0.5522247359125e0 * t686 - 0.18458962865625e0 * t688 - 0.265114646e-7 * t772 * t122 + 0.13938308465540625e-1 * t632 - 0.265114646e-7 * t107 * t677 + 0.169805915e-6 * t772 * t126 - 0.957417512e-2 * t780 - 0.957417512e-2 * t782 + 0.236391411e-7 * t107 * t705 - 0.416393106e-7 * t772 * t116 - 0.416393106e-7 * t107 * t712 + 0.631891628e-2 * t690 * t122 + 0.631891628e-2 * t160 * t677 - 0.182911291e-1 * t690 * t126; + const double t799 = t690 * t83; + const double t801 = t160 * t626; + const double t815 = 0.315e3 / 0.8e1 * t651 - 0.105e3 / 0.4e1 * t653 + 0.5e1 / 0.32e2 * t638 - 0.5e1 / 0.384e3 * t646; + const double t826 = 0.162638575e-1 * t799 + 0.162638575e-1 * t801 + 0.674910119e-8 * t724 * t139 + 0.674910119e-8 * t179 * t635 - 0.216860568e-7 * t724 * t145 - 0.1975305997940625e1 * t651 + 0.1493833915228125e1 * t653 + 0.850272392e-8 * t815 * t139 + 0.138149743606875e-3 * t628 - 0.4729415517815625e-2 * t630 + 0.850272392e-8 * t134 * t635 - 0.138472194e-7 * t815 * t145 - 0.48005288013375e-3 * t660 + 0.120828626792125e-1 * t662; + const double t850 = t724 * t83; + const double t852 = t179 * t626; + const double t854 = 0.1406365375513125e-1 * t664 - 0.138472194e-7 * t134 * t666 - 0.376702959e-7 * t815 * t111 - 0.376702959e-7 * t134 * t705 - 0.691592964e-8 * t772 * t139 - 0.691592964e-8 * t107 * t635 + 0.694482484e-8 * t772 * t145 + 0.694482484e-8 * t107 * t666 + 0.236391411e-7 * t772 * t111 + 0.554588743e-7 * t657 * t116 + 0.554588743e-7 * t208 * t712 + 0.280678872e-1 * t724 * t126 - 0.182177954e-1 * t850 - 0.182177954e-1 * t852; + const double t866 = t195 * t626; + const double t878 = t815 * t83; + const double t880 = t134 * t626; + const double t883 = -0.223014657e-8 * t195 * t635 + 0.668980219e-8 * t195 * t666 - 0.35104103e-3 * t195 * t705 + 0.182906057e-2 * t195 * t712 + 0.293253041e-2 * t195 * t677 - 0.43464346e-1 * t866 + 0.162238741e-6 * t815 * t116 + 0.162238741e-6 * t134 * t712 - 0.896771404e-2 * t815 * t122 - 0.896771404e-2 * t134 * t677 - 0.188495102e-1 * t815 * t126 - 0.884148272e-2 * t878 - 0.884148272e-2 * t880 + 0.10851840296657986111e-2 * t646; + const double t913 = -0.13022208355989583333e-1 * t638 + 0.509417745e-6 * t129 * t626 - 0.565485306e-1 * t156 * t626 - 0.548733873e-1 * t175 * t626 + 0.842036616e-1 * t192 * t626 - 0.669043971e-8 * t688 * t139 + 0.2006940657e-7 * t688 * t145 - 0.105312309e-2 * t688 * t111 + 0.548718171e-2 * t688 * t116 + 0.879759123e-2 * t688 * t122 - 0.450310908e-1 * t688 * t126 - 0.450310908e-1 * t215 * t626 - 0.130393038e0 * t688 * t83 - 0.2637272316e-1 * t230 * t626 - 0.82957404e-6 * t242 * t626; + const double t916 = t697 + t737 + t766 + t796 + t826 + t854 + t883 + t913; + const double t920 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t916 ); + const double t924 = 0.5e1 / 0.9e1 * t29 * t53 * t26; + const double t925 = piecewise_functor_3( t61, t924, 0.0 ); + const double t928 = t69 * t925; + const double t930 = t277 * t925; + const double t933 = piecewise_functor_3( t61, 0.0, t924 ); + const double t934 = t72 * t933; + const double t940 = 0.3e1 * t289 * t933 + 0.3e1 * t292 * t933; + const double t943 = piecewise_functor_3( t60, 0.6e1 * t67 * t925 + 0.3e1 * t928 - 0.12e2 * t930, 0.6e1 * t281 * t934 + t288 * t940 ); + const double t944 = t84 * t943; + const double t947 = 0.15e2 / 0.2e1 * t944 - 0.3e1 / 0.2e1 * t943; + const double t950 = t85 * t943; + const double t954 = 0.315e3 / 0.8e1 * t950 - 0.105e3 / 0.4e1 * t944 + 0.15e2 / 0.8e1 * t943; + const double t957 = t93 * t943; + const double t959 = t83 * t943; + const double t961 = 0.35e2 / 0.2e1 * t957 - 0.15e2 / 0.2e1 * t959; + const double t964 = t91 * t943; + const double t968 = 0.693e3 / 0.8e1 * t964 - 0.315e3 / 0.4e1 * t957 + 0.105e3 / 0.8e1 * t959; + const double t971 = t134 * t943; + const double t973 = t86 * t943; + const double t978 = 0.3003e4 / 0.16e2 * t973 - 0.3465e4 / 0.16e2 * t950 + 0.945e3 / 0.16e2 * t944 - 0.35e2 / 0.16e2 * t943; + const double t993 = 0.631891628e-2 * t160 * t947 + 0.209603871e-7 * t160 * t954 - 0.790811707e-7 * t160 * t961 + 0.912223751e-8 * t160 * t968 - 0.884148272e-2 * t971 - 0.493824365e-8 * t160 * t978 + 0.162238741e-6 * t134 * t961 - 0.896771404e-2 * t134 * t947 - 0.138472194e-7 * t134 * t968 - 0.48005288013375e-3 * t964 + 0.120828626792125e-1 * t957 + 0.1406365375513125e-1 * t959 - 0.216860568e-7 * t179 * t968 - 0.4729415517815625e-2 * t950; + const double t997 = t160 * t943; + const double t1004 = t179 * t943; + const double t1020 = 0.13938308465540625e-1 * t944 + 0.896739466e-3 * t179 * t954 + 0.162638575e-1 * t997 + 0.138149743606875e-3 * t973 + 0.674910119e-8 * t179 * t978 - 0.845508103e-2 * t179 * t947 - 0.182177954e-1 * t1004 + 0.339308972e-2 * t179 * t961 - 0.691592964e-8 * t107 * t978 + 0.554588743e-7 * t208 * t961 + 0.505920757e-7 * t208 * t947 - 0.774224962e-8 * t208 * t968 - 0.338128188e-7 * t208 * t954 + 0.888525527e-8 * t208 * t978; + const double t1022 = t44 * t943; + const double t1032 = t195 * t943; + const double t1050 = 0.100339208e0 * t1022 - 0.303347141e-2 * t44 * t947 + 0.822139896e-3 * t44 * t954 + 0.119130546e-2 * t44 * t961 - 0.514204676e-4 * t44 * t968 - 0.43464346e-1 * t1032 - 0.940351563e-5 * t44 * t978 + 0.182906057e-2 * t195 * t961 + 0.293253041e-2 * t195 * t947 - 0.35104103e-3 * t195 * t954 - 0.223014657e-8 * t195 * t978 + 0.668980219e-8 * t195 * t968 - 0.376702959e-7 * t134 * t954 + 0.850272392e-8 * t134 * t978; + const double t1053 = t107 * t943; + const double t1061 = t208 * t943; + const double t1078 = -0.265114646e-7 * t107 * t947 - 0.957417512e-2 * t1053 + 0.236391411e-7 * t107 * t954 - 0.416393106e-7 * t107 * t961 + 0.694482484e-8 * t107 * t968 + 0.940675747e-2 * t1061 - 0.4373652639371875e-2 * t943 - 0.450310908e-1 * t215 * t943 - 0.2637272316e-1 * t230 * t943 - 0.82957404e-6 * t242 * t943 + 0.509417745e-6 * t129 * t943 - 0.565485306e-1 * t156 * t943 - 0.548733873e-1 * t175 * t943 + 0.842036616e-1 * t192 * t943; + const double t1080 = t993 + t1020 + t1050 + t1078; + const double t1084 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1080 ); + + + eps = 0.2e1 * t254; + vrho = 0.2e1 * rho * t603 + 0.2e1 * t254; + vsigma = 0.2e1 * rho * t920; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t1084; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t29 = t28 * t28; + constexpr double t306 = t21 * t21; + constexpr double t308 = 0.1e1 / t23 / t22; + constexpr double t309 = t306 * t308; + constexpr double t1203 = t22 * t22; + constexpr double t1204 = 0.1e1 / t1203; + constexpr double t1712 = t309 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = t11 + 0.1e1; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t27 = t26 * sigma; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = sigma * t29; + const double t36 = t35 * t33; + const double t39 = 0.65124e1 + t26 * t36 / 0.24e2; + const double t40 = 0.1e1 / t39; + const double t41 = t34 * t40; + const double t42 = t27 * t41; + const double t44 = t42 / 0.12e2 - 0.1e1; + const double t45 = t44 * t44; + const double t46 = t45 * t45; + const double t49 = t46 * t45; + const double t51 = tau * t29; + const double t53 = 0.1e1 / t31 / rho; + const double t59 = 0.5e1 / 0.9e1 * ( t51 * t53 - t36 / 0.8e1 ) * t21 * t25; + const double t60 = 0.1e5 <= t59; + const double t61 = 0.1e5 < t59; + const double t62 = piecewise_functor_3( t61, t59, 10000.0 ); + const double t63 = t62 * t62; + const double t66 = t63 * t62; + const double t67 = 0.1e1 / t66; + const double t68 = t63 * t63; + const double t69 = 0.1e1 / t68; + const double t72 = piecewise_functor_3( t61, 10000.0, t59 ); + const double t73 = t72 * t72; + const double t74 = 0.1e1 - t73; + const double t75 = t74 * t74; + const double t76 = t75 * t74; + const double t77 = t73 * t72; + const double t78 = 0.1e1 + t77; + const double t80 = t77 * t78 + 0.1e1; + const double t81 = 0.1e1 / t80; + const double t83 = piecewise_functor_3( t60, 0.1e1 - 0.3e1 / t63 - t67 + 0.3e1 * t69, -t76 * t81 ); + const double t84 = t83 * t83; + const double t85 = t84 * t84; + const double t86 = t85 * t84; + const double t91 = t85 * t83; + const double t93 = t84 * t83; + const double t95 = t85 * t93; + const double t98 = t45 * t44; + const double t99 = t46 * t98; + const double t102 = t46 * t44; + const double t107 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t49 - 0.315e3 / 0.16e2 * t46 + 0.105e3 / 0.16e2 * t45; + const double t111 = 0.63e2 / 0.8e1 * t91 - 0.35e2 / 0.4e1 * t93 + 0.15e2 / 0.8e1 * t83; + const double t116 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t85 - 0.15e2 / 0.4e1 * t84; + const double t119 = -0.138056183978125e0 * t46 - 0.92294814328125e-1 * t45 + 0.80024660533125e-1 * t49 - 0.80008813355625e-4 * t86 + 0.3020715669803125e-2 * t85 + 0.7031826877565625e-2 * t84 - 0.4373652639371875e-2 * t83 - 0.945883103563125e-3 * t91 + 0.4646102821846875e-2 * t93 + 0.19735677658125e-4 * t95 - 0.13022208355989583333e-1 * t42 + 0.106025815520625e0 * t99 + 0.497944638409375e0 * t98 - 0.395061199588125e0 * t102 + 0.236391411e-7 * t107 * t111 - 0.416393106e-7 * t107 * t116; + const double t122 = 0.5e1 / 0.2e1 * t93 - 0.3e1 / 0.2e1 * t83; + const double t126 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t84; + const double t129 = t107 * t83; + const double t134 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t98 + 0.5e1 / 0.32e2 * t42 - 0.15e2 / 0.8e1; + const double t139 = 0.429e3 / 0.16e2 * t95 - 0.693e3 / 0.16e2 * t91 + 0.315e3 / 0.16e2 * t93 - 0.35e2 / 0.16e2 * t83; + const double t145 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t86 - 0.315e3 / 0.16e2 * t85 + 0.105e3 / 0.16e2 * t84; + const double t156 = t134 * t83; + const double t160 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t46 - 0.15e2 / 0.4e1 * t45; + const double t173 = -0.265114646e-7 * t107 * t122 + 0.169805915e-6 * t107 * t126 - 0.957417512e-2 * t129 + 0.850272392e-8 * t134 * t139 - 0.138472194e-7 * t134 * t145 - 0.376702959e-7 * t134 * t111 + 0.162238741e-6 * t134 * t116 - 0.896771404e-2 * t134 * t122 - 0.188495102e-1 * t134 * t126 - 0.884148272e-2 * t156 - 0.493824365e-8 * t160 * t139 + 0.912223751e-8 * t160 * t145 + 0.209603871e-7 * t160 * t111 - 0.790811707e-7 * t160 * t116 + 0.631891628e-2 * t160 * t122 - 0.182911291e-1 * t160 * t126; + const double t175 = t160 * t83; + const double t179 = 0.5e1 / 0.2e1 * t98 - t42 / 0.8e1 + 0.3e1 / 0.2e1; + const double t192 = t179 * t83; + const double t195 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t45; + const double t208 = 0.429e3 / 0.16e2 * t99 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t98 - 0.35e2 / 0.192e3 * t42 + 0.35e2 / 0.16e2; + const double t215 = t195 * t83; + const double t217 = 0.162638575e-1 * t175 + 0.674910119e-8 * t179 * t139 - 0.216860568e-7 * t179 * t145 + 0.896739466e-3 * t179 * t111 + 0.339308972e-2 * t179 * t116 - 0.845508103e-2 * t179 * t122 + 0.280678872e-1 * t179 * t126 - 0.182177954e-1 * t192 - 0.223014657e-8 * t195 * t139 + 0.668980219e-8 * t195 * t145 - 0.35104103e-3 * t195 * t111 + 0.182906057e-2 * t195 * t116 + 0.888525527e-8 * t208 * t139 + 0.293253041e-2 * t195 * t122 - 0.150103636e-1 * t195 * t126 - 0.43464346e-1 * t215; + const double t230 = t44 * t83; + const double t242 = t208 * t83; + const double t248 = 0.1380567225218996875e1 - 0.940351563e-5 * t44 * t139 - 0.514204676e-4 * t44 * t145 + 0.822139896e-3 * t44 * t111 + 0.119130546e-2 * t44 * t116 - 0.303347141e-2 * t44 * t122 - 0.879090772e-2 * t44 * t126 + 0.100339208e0 * t230 - 0.774224962e-8 * t208 * t145 - 0.338128188e-7 * t208 * t111 + 0.554588743e-7 * t208 * t116 + 0.505920757e-7 * t208 * t122 - 0.27652468e-6 * t208 * t126 + 0.940675747e-2 * t242 - 0.691592964e-8 * t107 * t139 + 0.694482484e-8 * t107 * t145; + const double t250 = t119 + t173 + t217 + t248; + const double t256 = t18 / t31; + const double t262 = t30 * rho; + const double t264 = 0.1e1 / t31 / t262; + const double t270 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * t51 * t33 + t35 * t264 / 0.3e1 ) * t21 * t25; + const double t271 = piecewise_functor_3( t61, t270, 0.0 ); + const double t274 = t69 * t271; + const double t277 = 0.1e1 / t68 / t62; + const double t278 = t277 * t271; + const double t281 = t75 * t81; + const double t282 = piecewise_functor_3( t61, 0.0, t270 ); + const double t283 = t72 * t282; + const double t286 = t80 * t80; + const double t287 = 0.1e1 / t286; + const double t288 = t76 * t287; + const double t289 = t73 * t78; + const double t291 = t73 * t73; + const double t292 = t291 * t72; + const double t295 = 0.3e1 * t289 * t282 + 0.3e1 * t292 * t282; + const double t298 = piecewise_functor_3( t60, 0.6e1 * t67 * t271 + 0.3e1 * t274 - 0.12e2 * t278, 0.6e1 * t281 * t283 + t288 * t295 ); + const double t302 = t29 * t264; + const double t303 = t302 * t40; + const double t304 = t27 * t303; + const double t310 = sigma * sigma; + const double t311 = t309 * t310; + const double t312 = t30 * t30; + const double t313 = t312 * t30; + const double t315 = 0.1e1 / t19 / t313; + const double t317 = t39 * t39; + const double t318 = 0.1e1 / t317; + const double t319 = t28 * t315 * t318; + const double t320 = t311 * t319; + const double t322 = -0.2e1 / 0.9e1 * t304 + t320 / 0.54e2; + const double t323 = t44 * t322; + const double t334 = t322 * t83; + const double t336 = t44 * t298; + const double t338 = t322 * t122; + const double t340 = t84 * t298; + const double t343 = 0.15e2 / 0.2e1 * t340 - 0.3e1 / 0.2e1 * t298; + const double t346 = t322 * t126; + const double t348 = t322 * t111; + const double t350 = t85 * t298; + const double t354 = 0.315e3 / 0.8e1 * t350 - 0.105e3 / 0.4e1 * t340 + 0.15e2 / 0.8e1 * t298; + const double t357 = -0.4373652639371875e-2 * t298 - 0.2637272316e-1 * t230 * t298 + 0.2006940657e-7 * t323 * t145 - 0.105312309e-2 * t323 * t111 + 0.548718171e-2 * t323 * t116 + 0.879759123e-2 * t323 * t122 - 0.450310908e-1 * t323 * t126 + 0.100339208e0 * t334 + 0.100339208e0 * t336 - 0.303347141e-2 * t338 - 0.303347141e-2 * t44 * t343 - 0.879090772e-2 * t346 + 0.822139896e-3 * t348 + 0.822139896e-3 * t44 * t354; + const double t358 = t322 * t116; + const double t360 = t49 * t322; + const double t362 = t46 * t322; + const double t364 = t45 * t322; + const double t368 = 0.3003e4 / 0.16e2 * t360 - 0.3465e4 / 0.16e2 * t362 + 0.945e3 / 0.16e2 * t364 + 0.35e2 / 0.72e2 * t304 - 0.35e2 / 0.864e3 * t320; + const double t371 = t93 * t298; + const double t373 = t83 * t298; + const double t375 = 0.35e2 / 0.2e1 * t371 - 0.15e2 / 0.2e1 * t373; + const double t378 = t91 * t298; + const double t382 = 0.693e3 / 0.8e1 * t378 - 0.315e3 / 0.4e1 * t371 + 0.105e3 / 0.8e1 * t373; + const double t391 = t98 * t322; + const double t396 = 0.35e2 / 0.2e1 * t391 - 0.15e2 / 0.2e1 * t323; + const double t399 = t396 * t83; + const double t401 = t160 * t298; + const double t407 = 0.119130546e-2 * t358 + 0.554588743e-7 * t368 * t116 + 0.554588743e-7 * t208 * t375 - 0.774224962e-8 * t208 * t382 - 0.338128188e-7 * t368 * t111 - 0.338128188e-7 * t208 * t354 - 0.216860568e-7 * t179 * t382 - 0.5522247359125e0 * t391 - 0.18458962865625e0 * t323 - 0.182911291e-1 * t396 * t126 + 0.162638575e-1 * t399 + 0.162638575e-1 * t401 - 0.790811707e-7 * t396 * t116 - 0.790811707e-7 * t160 * t375; + const double t413 = t86 * t298; + const double t418 = 0.3003e4 / 0.16e2 * t413 - 0.3465e4 / 0.16e2 * t350 + 0.945e3 / 0.16e2 * t340 - 0.35e2 / 0.16e2 * t298; + const double t423 = t102 * t322; + const double t427 = 0.693e3 / 0.8e1 * t423 - 0.315e3 / 0.4e1 * t391 + 0.105e3 / 0.8e1 * t323; + const double t443 = 0.631891628e-2 * t396 * t122 + 0.631891628e-2 * t160 * t343 + 0.850272392e-8 * t134 * t418 - 0.416393106e-7 * t107 * t375 - 0.265114646e-7 * t427 * t122 - 0.265114646e-7 * t107 * t343 + 0.236391411e-7 * t427 * t111 + 0.236391411e-7 * t107 * t354 - 0.4729415517815625e-2 * t350 + 0.13938308465540625e-1 * t340 + 0.742180708644375e0 * t360 - 0.1975305997940625e1 * t362 + 0.1493833915228125e1 * t364 - 0.774224962e-8 * t368 * t145; + const double t448 = 0.315e3 / 0.8e1 * t362 - 0.105e3 / 0.4e1 * t364 - 0.5e1 / 0.12e2 * t304 + 0.5e1 / 0.144e3 * t320; + const double t456 = t427 * t83; + const double t458 = t107 * t298; + const double t468 = t368 * t83; + const double t470 = t208 * t298; + const double t474 = -0.138472194e-7 * t448 * t145 - 0.138472194e-7 * t134 * t382 + 0.48014796319875e0 * t423 + 0.169805915e-6 * t427 * t126 - 0.957417512e-2 * t456 - 0.957417512e-2 * t458 + 0.850272392e-8 * t448 * t139 - 0.416393106e-7 * t427 * t116 + 0.694482484e-8 * t427 * t145 + 0.694482484e-8 * t107 * t382 + 0.940675747e-2 * t468 + 0.940675747e-2 * t470 + 0.120828626792125e-1 * t371 + 0.1406365375513125e-1 * t373; + const double t479 = t322 * t145; + const double t484 = t195 * t298; + const double t486 = t322 * t139; + const double t501 = 0.15e2 / 0.2e1 * t364 + t304 / 0.3e1 - t320 / 0.36e2; + const double t504 = t501 * t83; + const double t506 = t179 * t298; + const double t508 = 0.119130546e-2 * t44 * t375 - 0.514204676e-4 * t479 - 0.48005288013375e-3 * t378 - 0.514204676e-4 * t44 * t382 - 0.43464346e-1 * t484 - 0.940351563e-5 * t486 - 0.940351563e-5 * t44 * t418 + 0.182906057e-2 * t195 * t375 + 0.293253041e-2 * t195 * t343 - 0.35104103e-3 * t195 * t354 + 0.668980219e-8 * t195 * t382 + 0.280678872e-1 * t501 * t126 - 0.182177954e-1 * t504 - 0.182177954e-1 * t506; + const double t536 = -0.223014657e-8 * t195 * t418 + 0.339308972e-2 * t501 * t116 + 0.339308972e-2 * t179 * t375 - 0.845508103e-2 * t501 * t122 - 0.845508103e-2 * t179 * t343 + 0.896739466e-3 * t501 * t111 + 0.896739466e-3 * t179 * t354 + 0.674910119e-8 * t501 * t139 + 0.674910119e-8 * t179 * t418 - 0.216860568e-7 * t501 * t145 + 0.888525527e-8 * t368 * t139 + 0.138149743606875e-3 * t413 + 0.888525527e-8 * t208 * t418 - 0.493824365e-8 * t396 * t139; + const double t566 = 0.162238741e-6 * t448 * t116 + 0.162238741e-6 * t134 * t375 - 0.896771404e-2 * t448 * t122 - 0.896771404e-2 * t134 * t343 - 0.376702959e-7 * t448 * t111 - 0.376702959e-7 * t134 * t354 - 0.691592964e-8 * t427 * t139 - 0.691592964e-8 * t107 * t418 + 0.505920757e-7 * t368 * t122 + 0.505920757e-7 * t208 * t343 - 0.27652468e-6 * t368 * t126 + 0.209603871e-7 * t396 * t111 + 0.209603871e-7 * t160 * t354 - 0.493824365e-8 * t160 * t418; + const double t573 = t448 * t83; + const double t575 = t134 * t298; + const double t595 = 0.912223751e-8 * t396 * t145 + 0.912223751e-8 * t160 * t382 - 0.188495102e-1 * t448 * t126 - 0.884148272e-2 * t573 - 0.884148272e-2 * t575 - 0.450310908e-1 * t215 * t298 - 0.130393038e0 * t323 * t83 + 0.842036616e-1 * t192 * t298 - 0.669043971e-8 * t323 * t139 - 0.548733873e-1 * t175 * t298 - 0.565485306e-1 * t156 * t298 + 0.509417745e-6 * t129 * t298 - 0.82957404e-6 * t242 * t298 + 0.34725888949305555555e-1 * t304 - 0.28938240791087962962e-2 * t320; + const double t598 = t357 + t407 + t443 + t474 + t508 + t536 + t566 + t595; + const double t603 = piecewise_functor_3( t3, 0.0, -t7 * t256 * t250 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t598 ); + const double t606 = t26 * t34; + const double t607 = 0.5e1 / 0.72e2 * t606; + const double t608 = piecewise_functor_3( t61, -t607, 0.0 ); + const double t611 = t69 * t608; + const double t613 = t277 * t608; + const double t616 = piecewise_functor_3( t61, 0.0, -t607 ); + const double t617 = t72 * t616; + const double t623 = 0.3e1 * t289 * t616 + 0.3e1 * t292 * t616; + const double t626 = piecewise_functor_3( t60, 0.6e1 * t67 * t608 + 0.3e1 * t611 - 0.12e2 * t613, 0.6e1 * t281 * t617 + t288 * t623 ); + const double t628 = t86 * t626; + const double t630 = t85 * t626; + const double t632 = t84 * t626; + const double t635 = 0.3003e4 / 0.16e2 * t628 - 0.3465e4 / 0.16e2 * t630 + 0.945e3 / 0.16e2 * t632 - 0.35e2 / 0.16e2 * t626; + const double t638 = t26 * t41; + const double t641 = t312 * rho; + const double t645 = t28 / t19 / t641 * t318; + const double t646 = t309 * sigma * t645; + const double t648 = t638 / 0.12e2 - t646 / 0.144e3; + const double t649 = t49 * t648; + const double t651 = t46 * t648; + const double t653 = t45 * t648; + const double t657 = 0.3003e4 / 0.16e2 * t649 - 0.3465e4 / 0.16e2 * t651 + 0.945e3 / 0.16e2 * t653 - 0.35e2 / 0.192e3 * t638 + 0.35e2 / 0.2304e4 * t646; + const double t660 = t91 * t626; + const double t662 = t93 * t626; + const double t664 = t83 * t626; + const double t666 = 0.693e3 / 0.8e1 * t660 - 0.315e3 / 0.4e1 * t662 + 0.105e3 / 0.8e1 * t664; + const double t669 = t648 * t139; + const double t677 = 0.15e2 / 0.2e1 * t632 - 0.3e1 / 0.2e1 * t626; + const double t682 = t648 * t145; + const double t686 = t98 * t648; + const double t688 = t44 * t648; + const double t690 = 0.35e2 / 0.2e1 * t686 - 0.15e2 / 0.2e1 * t688; + const double t697 = -0.4373652639371875e-2 * t626 + 0.888525527e-8 * t208 * t635 - 0.774224962e-8 * t657 * t145 - 0.774224962e-8 * t208 * t666 - 0.940351563e-5 * t669 - 0.940351563e-5 * t44 * t635 + 0.505920757e-7 * t657 * t122 + 0.505920757e-7 * t208 * t677 - 0.27652468e-6 * t657 * t126 - 0.514204676e-4 * t682 - 0.514204676e-4 * t44 * t666 - 0.493824365e-8 * t690 * t139 - 0.493824365e-8 * t160 * t635 + 0.912223751e-8 * t690 * t145; + const double t705 = 0.315e3 / 0.8e1 * t630 - 0.105e3 / 0.4e1 * t632 + 0.15e2 / 0.8e1 * t626; + const double t712 = 0.35e2 / 0.2e1 * t662 - 0.15e2 / 0.2e1 * t664; + const double t715 = t102 * t648; + const double t724 = 0.15e2 / 0.2e1 * t653 - t638 / 0.8e1 + t646 / 0.96e2; + const double t737 = 0.912223751e-8 * t160 * t666 + 0.209603871e-7 * t690 * t111 + 0.209603871e-7 * t160 * t705 - 0.790811707e-7 * t690 * t116 - 0.790811707e-7 * t160 * t712 + 0.48014796319875e0 * t715 - 0.338128188e-7 * t657 * t111 - 0.338128188e-7 * t208 * t705 + 0.896739466e-3 * t724 * t111 + 0.896739466e-3 * t179 * t705 + 0.339308972e-2 * t724 * t116 + 0.339308972e-2 * t179 * t712 - 0.845508103e-2 * t724 * t122 - 0.845508103e-2 * t179 * t677; + const double t739 = t648 * t111; + const double t743 = t648 * t116; + const double t747 = t648 * t122; + const double t751 = t648 * t126; + const double t753 = t648 * t83; + const double t755 = t44 * t626; + const double t757 = t657 * t83; + const double t759 = t208 * t626; + const double t766 = 0.822139896e-3 * t739 + 0.822139896e-3 * t44 * t705 + 0.119130546e-2 * t743 + 0.119130546e-2 * t44 * t712 - 0.303347141e-2 * t747 - 0.303347141e-2 * t44 * t677 - 0.879090772e-2 * t751 + 0.100339208e0 * t753 + 0.100339208e0 * t755 + 0.940675747e-2 * t757 + 0.940675747e-2 * t759 - 0.216860568e-7 * t179 * t666 + 0.742180708644375e0 * t649 + 0.888525527e-8 * t657 * t139; + const double t772 = 0.693e3 / 0.8e1 * t715 - 0.315e3 / 0.4e1 * t686 + 0.105e3 / 0.8e1 * t688; + const double t780 = t772 * t83; + const double t782 = t107 * t626; + const double t796 = -0.5522247359125e0 * t686 - 0.18458962865625e0 * t688 - 0.265114646e-7 * t772 * t122 + 0.13938308465540625e-1 * t632 - 0.265114646e-7 * t107 * t677 + 0.169805915e-6 * t772 * t126 - 0.957417512e-2 * t780 - 0.957417512e-2 * t782 + 0.236391411e-7 * t107 * t705 - 0.416393106e-7 * t772 * t116 - 0.416393106e-7 * t107 * t712 + 0.631891628e-2 * t690 * t122 + 0.631891628e-2 * t160 * t677 - 0.182911291e-1 * t690 * t126; + const double t799 = t690 * t83; + const double t801 = t160 * t626; + const double t815 = 0.315e3 / 0.8e1 * t651 - 0.105e3 / 0.4e1 * t653 + 0.5e1 / 0.32e2 * t638 - 0.5e1 / 0.384e3 * t646; + const double t826 = 0.162638575e-1 * t799 + 0.162638575e-1 * t801 + 0.674910119e-8 * t724 * t139 + 0.674910119e-8 * t179 * t635 - 0.216860568e-7 * t724 * t145 - 0.1975305997940625e1 * t651 + 0.1493833915228125e1 * t653 + 0.850272392e-8 * t815 * t139 + 0.138149743606875e-3 * t628 - 0.4729415517815625e-2 * t630 + 0.850272392e-8 * t134 * t635 - 0.138472194e-7 * t815 * t145 - 0.48005288013375e-3 * t660 + 0.120828626792125e-1 * t662; + const double t850 = t724 * t83; + const double t852 = t179 * t626; + const double t854 = 0.1406365375513125e-1 * t664 - 0.138472194e-7 * t134 * t666 - 0.376702959e-7 * t815 * t111 - 0.376702959e-7 * t134 * t705 - 0.691592964e-8 * t772 * t139 - 0.691592964e-8 * t107 * t635 + 0.694482484e-8 * t772 * t145 + 0.694482484e-8 * t107 * t666 + 0.236391411e-7 * t772 * t111 + 0.554588743e-7 * t657 * t116 + 0.554588743e-7 * t208 * t712 + 0.280678872e-1 * t724 * t126 - 0.182177954e-1 * t850 - 0.182177954e-1 * t852; + const double t866 = t195 * t626; + const double t878 = t815 * t83; + const double t880 = t134 * t626; + const double t883 = -0.223014657e-8 * t195 * t635 + 0.668980219e-8 * t195 * t666 - 0.35104103e-3 * t195 * t705 + 0.182906057e-2 * t195 * t712 + 0.293253041e-2 * t195 * t677 - 0.43464346e-1 * t866 + 0.162238741e-6 * t815 * t116 + 0.162238741e-6 * t134 * t712 - 0.896771404e-2 * t815 * t122 - 0.896771404e-2 * t134 * t677 - 0.188495102e-1 * t815 * t126 - 0.884148272e-2 * t878 - 0.884148272e-2 * t880 + 0.10851840296657986111e-2 * t646; + const double t913 = -0.13022208355989583333e-1 * t638 + 0.509417745e-6 * t129 * t626 - 0.565485306e-1 * t156 * t626 - 0.548733873e-1 * t175 * t626 + 0.842036616e-1 * t192 * t626 - 0.669043971e-8 * t688 * t139 + 0.2006940657e-7 * t688 * t145 - 0.105312309e-2 * t688 * t111 + 0.548718171e-2 * t688 * t116 + 0.879759123e-2 * t688 * t122 - 0.450310908e-1 * t688 * t126 - 0.450310908e-1 * t215 * t626 - 0.130393038e0 * t688 * t83 - 0.2637272316e-1 * t230 * t626 - 0.82957404e-6 * t242 * t626; + const double t916 = t697 + t737 + t766 + t796 + t826 + t854 + t883 + t913; + const double t920 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t916 ); + const double t924 = 0.5e1 / 0.9e1 * t29 * t53 * t26; + const double t925 = piecewise_functor_3( t61, t924, 0.0 ); + const double t928 = t69 * t925; + const double t930 = t277 * t925; + const double t933 = piecewise_functor_3( t61, 0.0, t924 ); + const double t934 = t72 * t933; + const double t940 = 0.3e1 * t289 * t933 + 0.3e1 * t292 * t933; + const double t943 = piecewise_functor_3( t60, 0.6e1 * t67 * t925 + 0.3e1 * t928 - 0.12e2 * t930, 0.6e1 * t281 * t934 + t288 * t940 ); + const double t944 = t84 * t943; + const double t947 = 0.15e2 / 0.2e1 * t944 - 0.3e1 / 0.2e1 * t943; + const double t950 = t85 * t943; + const double t954 = 0.315e3 / 0.8e1 * t950 - 0.105e3 / 0.4e1 * t944 + 0.15e2 / 0.8e1 * t943; + const double t957 = t93 * t943; + const double t959 = t83 * t943; + const double t961 = 0.35e2 / 0.2e1 * t957 - 0.15e2 / 0.2e1 * t959; + const double t964 = t91 * t943; + const double t968 = 0.693e3 / 0.8e1 * t964 - 0.315e3 / 0.4e1 * t957 + 0.105e3 / 0.8e1 * t959; + const double t971 = t134 * t943; + const double t973 = t86 * t943; + const double t978 = 0.3003e4 / 0.16e2 * t973 - 0.3465e4 / 0.16e2 * t950 + 0.945e3 / 0.16e2 * t944 - 0.35e2 / 0.16e2 * t943; + const double t993 = 0.631891628e-2 * t160 * t947 + 0.209603871e-7 * t160 * t954 - 0.790811707e-7 * t160 * t961 + 0.912223751e-8 * t160 * t968 - 0.884148272e-2 * t971 - 0.493824365e-8 * t160 * t978 + 0.162238741e-6 * t134 * t961 - 0.896771404e-2 * t134 * t947 - 0.138472194e-7 * t134 * t968 - 0.48005288013375e-3 * t964 + 0.120828626792125e-1 * t957 + 0.1406365375513125e-1 * t959 - 0.216860568e-7 * t179 * t968 - 0.4729415517815625e-2 * t950; + const double t997 = t160 * t943; + const double t1004 = t179 * t943; + const double t1020 = 0.13938308465540625e-1 * t944 + 0.896739466e-3 * t179 * t954 + 0.162638575e-1 * t997 + 0.138149743606875e-3 * t973 + 0.674910119e-8 * t179 * t978 - 0.845508103e-2 * t179 * t947 - 0.182177954e-1 * t1004 + 0.339308972e-2 * t179 * t961 - 0.691592964e-8 * t107 * t978 + 0.554588743e-7 * t208 * t961 + 0.505920757e-7 * t208 * t947 - 0.774224962e-8 * t208 * t968 - 0.338128188e-7 * t208 * t954 + 0.888525527e-8 * t208 * t978; + const double t1022 = t44 * t943; + const double t1032 = t195 * t943; + const double t1050 = 0.100339208e0 * t1022 - 0.303347141e-2 * t44 * t947 + 0.822139896e-3 * t44 * t954 + 0.119130546e-2 * t44 * t961 - 0.514204676e-4 * t44 * t968 - 0.43464346e-1 * t1032 - 0.940351563e-5 * t44 * t978 + 0.182906057e-2 * t195 * t961 + 0.293253041e-2 * t195 * t947 - 0.35104103e-3 * t195 * t954 - 0.223014657e-8 * t195 * t978 + 0.668980219e-8 * t195 * t968 - 0.376702959e-7 * t134 * t954 + 0.850272392e-8 * t134 * t978; + const double t1053 = t107 * t943; + const double t1061 = t208 * t943; + const double t1078 = -0.265114646e-7 * t107 * t947 - 0.957417512e-2 * t1053 + 0.236391411e-7 * t107 * t954 - 0.416393106e-7 * t107 * t961 + 0.694482484e-8 * t107 * t968 + 0.940675747e-2 * t1061 - 0.4373652639371875e-2 * t943 - 0.450310908e-1 * t215 * t943 - 0.2637272316e-1 * t230 * t943 - 0.82957404e-6 * t242 * t943 + 0.509417745e-6 * t129 * t943 - 0.565485306e-1 * t156 * t943 - 0.548733873e-1 * t175 * t943 + 0.842036616e-1 * t192 * t943; + const double t1080 = t993 + t1020 + t1050 + t1078; + const double t1084 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1080 ); + const double t1087 = t18 * t53; + const double t1094 = t312 * t262; + const double t1096 = 0.1e1 / t19 / t1094; + const double t1098 = t28 * t1096 * t318; + const double t1099 = t311 * t1098; + const double t1101 = t298 * t298; + const double t1103 = t322 * t322; + const double t1105 = t271 * t271; + const double t1111 = 0.1e1 / t31 / t312; + const double t1117 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * t51 * t264 - 0.11e2 / 0.9e1 * t35 * t1111 ) * t21 * t25; + const double t1118 = piecewise_functor_3( t61, t1117, 0.0 ); + const double t1121 = t277 * t1105; + const double t1126 = 0.1e1 / t68 / t63; + const double t1127 = t1126 * t1105; + const double t1132 = t74 * t81; + const double t1133 = t282 * t282; + const double t1134 = t73 * t1133; + const double t1137 = t75 * t287; + const double t1138 = t283 * t295; + const double t1143 = piecewise_functor_3( t61, 0.0, t1117 ); + const double t1144 = t72 * t1143; + const double t1148 = 0.1e1 / t286 / t80; + const double t1149 = t76 * t1148; + const double t1150 = t295 * t295; + const double t1153 = t72 * t78; + const double t1162 = 0.6e1 * t1153 * t1133 + 0.24e2 * t291 * t1133 + 0.3e1 * t289 * t1143 + 0.3e1 * t292 * t1143; + const double t1165 = piecewise_functor_3( t60, -0.18e2 * t69 * t1105 - 0.12e2 * t277 * t1118 + 0.6e1 * t67 * t1118 + 0.3e1 * t69 * t1118 - 0.12e2 * t1121 + 0.6e2 * t1127, -0.24e2 * t1132 * t1134 + 0.6e1 * t281 * t1133 - 0.12e2 * t1137 * t1138 + 0.6e1 * t281 * t1144 - 0.2e1 * t1149 * t1150 + t288 * t1162 ); + const double t1166 = t86 * t1165; + const double t1168 = t93 * t1101; + const double t1170 = t85 * t1165; + const double t1172 = t83 * t1101; + const double t1174 = t84 * t1165; + const double t1176 = t91 * t1101; + const double t1184 = 0.9009e4 / 0.8e1 * t1176 + 0.3003e4 / 0.16e2 * t1166 - 0.3465e4 / 0.4e1 * t1168 - 0.3465e4 / 0.16e2 * t1170 + 0.945e3 / 0.8e1 * t1172 + 0.945e3 / 0.16e2 * t1174 - 0.35e2 / 0.16e2 * t1165; + const double t1192 = 0.15e2 * t1172 + 0.15e2 / 0.2e1 * t1174 - 0.3e1 / 0.2e1 * t1165; + const double t1195 = 0.26044416711979166666e-1 * t1099 + 0.1406365375513125e-1 * t1101 - 0.18458962865625e0 * t1103 + 0.138149743606875e-3 * t1166 - 0.189176620712625e-1 * t1168 - 0.4729415517815625e-2 * t1170 + 0.2787661693108125e-1 * t1172 + 0.13938308465540625e-1 * t1174 - 0.493824365e-8 * t160 * t1184 - 0.1793542808e-1 * t448 * t343 - 0.896771404e-2 * t134 * t1192; + const double t1196 = t44 * t1103; + const double t1198 = t29 * t1111; + const double t1199 = t1198 * t40; + const double t1200 = t27 * t1199; + const double t1205 = t310 * sigma; + const double t1206 = t1204 * t1205; + const double t1207 = t312 * t312; + const double t1208 = t1207 * t30; + const double t1209 = 0.1e1 / t1208; + const double t1211 = 0.1e1 / t317 / t39; + const double t1213 = t1206 * t1209 * t1211; + const double t1215 = 0.22e2 / 0.27e2 * t1200 - t1099 / 0.6e1 + 0.4e1 / 0.81e2 * t1213; + const double t1216 = t45 * t1215; + const double t1223 = 0.15e2 * t1196 + 0.15e2 / 0.2e1 * t1216 - 0.11e2 / 0.9e1 * t1200 + t1099 / 0.4e1 - 0.2e1 / 0.27e2 * t1213; + const double t1228 = t84 * t1101; + const double t1230 = t93 * t1165; + const double t1232 = t83 * t1165; + const double t1238 = 0.105e3 / 0.2e1 * t1228 + 0.35e2 / 0.2e1 * t1230 - 0.15e2 / 0.2e1 * t1101 - 0.15e2 / 0.2e1 * t1232; + const double t1241 = t179 * t1165; + const double t1243 = t85 * t1101; + const double t1245 = t91 * t1165; + const double t1251 = 0.3465e4 / 0.8e1 * t1243 + 0.693e3 / 0.8e1 * t1245 - 0.945e3 / 0.4e1 * t1228 - 0.315e3 / 0.4e1 * t1230 + 0.105e3 / 0.8e1 * t1101 + 0.105e3 / 0.8e1 * t1232; + const double t1259 = 0.315e3 / 0.2e1 * t1168 + 0.315e3 / 0.8e1 * t1170 - 0.105e3 / 0.2e1 * t1172 - 0.105e3 / 0.4e1 * t1174 + 0.15e2 / 0.8e1 * t1165; + const double t1262 = t102 * t1103; + const double t1264 = t49 * t1215; + const double t1266 = t98 * t1103; + const double t1268 = t46 * t1215; + const double t1275 = 0.9009e4 / 0.8e1 * t1262 + 0.3003e4 / 0.16e2 * t1264 - 0.3465e4 / 0.4e1 * t1266 - 0.3465e4 / 0.16e2 * t1268 + 0.945e3 / 0.8e1 * t1196 + 0.945e3 / 0.16e2 * t1216 - 0.385e3 / 0.216e3 * t1200 + 0.35e2 / 0.96e2 * t1099 - 0.35e2 / 0.324e3 * t1213; + const double t1278 = 0.298766783045625e1 * t1196 + 0.1493833915228125e1 * t1216 + 0.339308972e-2 * t1223 * t116 + 0.678617944e-2 * t501 * t375 + 0.362485880376375e-1 * t1228 + 0.120828626792125e-1 * t1230 + 0.1406365375513125e-1 * t1232 + 0.339308972e-2 * t179 * t1238 - 0.182177954e-1 * t1241 - 0.138472194e-7 * t134 * t1251 - 0.338128188e-7 * t208 * t1259 - 0.338128188e-7 * t1275 * t111; + const double t1289 = 0.315e3 / 0.2e1 * t1266 + 0.315e3 / 0.8e1 * t1268 - 0.105e3 / 0.2e1 * t1196 - 0.105e3 / 0.4e1 * t1216 + 0.55e2 / 0.36e2 * t1200 - 0.5e1 / 0.16e2 * t1099 + 0.5e1 / 0.54e2 * t1213; + const double t1294 = t134 * t1165; + const double t1296 = t45 * t1103; + const double t1298 = t98 * t1215; + const double t1301 = t44 * t1215; + const double t1303 = 0.105e3 / 0.2e1 * t1296 + 0.35e2 / 0.2e1 * t1298 - 0.15e2 / 0.2e1 * t1103 - 0.15e2 / 0.2e1 * t1301; + const double t1308 = t322 * t382; + const double t1312 = t160 * t1165; + const double t1320 = -0.676256376e-7 * t368 * t354 + 0.162238741e-6 * t1289 * t116 + 0.324477482e-6 * t448 * t375 - 0.884148272e-2 * t1294 - 0.493824365e-8 * t1303 * t139 - 0.514204676e-4 * t1215 * t145 - 0.1028409352e-3 * t1308 - 0.790811707e-7 * t160 * t1238 + 0.162638575e-1 * t1312 - 0.790811707e-7 * t1303 * t116 - 0.1581623414e-6 * t396 * t375 - 0.182911291e-1 * t1303 * t126; + const double t1323 = t195 * t1165; + const double t1327 = t322 * t418; + const double t1341 = 0.554588743e-7 * t1275 * t116 - 0.43464346e-1 * t1323 - 0.940351563e-5 * t1215 * t139 - 0.1880703126e-4 * t1327 - 0.940351563e-5 * t44 * t1184 + 0.896739466e-3 * t1223 * t111 + 0.1793478932e-2 * t501 * t354 + 0.896739466e-3 * t179 * t1259 - 0.12732825948078703704e0 * t1200 + 0.742180708644375e0 * t1264 - 0.79012239917625e1 * t1266 - 0.1975305997940625e1 * t1268; + const double t1360 = t1215 * t83; + const double t1362 = t322 * t298; + const double t1364 = -0.774224962e-8 * t1275 * t145 - 0.1548449924e-7 * t368 * t382 - 0.240026440066875e-2 * t1243 - 0.98764873e-8 * t396 * t418 + 0.82889846164125e-3 * t1176 - 0.514204676e-4 * t44 * t1251 + 0.631891628e-2 * t1303 * t122 + 0.1263783256e-1 * t396 * t343 + 0.631891628e-2 * t160 * t1192 + 0.100339208e0 * t1360 + 0.200678416e0 * t1362; + const double t1365 = t44 * t1165; + const double t1389 = 0.100339208e0 * t1365 - 0.774224962e-8 * t208 * t1251 + 0.505920757e-7 * t1275 * t122 + 0.1011841514e-6 * t368 * t343 + 0.842036616e-1 * t179 * t1101 - 0.2637272316e-1 * t44 * t1101 + 0.2006940657e-7 * t1103 * t145 - 0.105312309e-2 * t1103 * t111 + 0.548718171e-2 * t1103 * t116 + 0.888525527e-8 * t208 * t1184 + 0.293253041e-2 * t195 * t1192 - 0.35104103e-3 * t195 * t1259; + const double t1409 = t46 * t1103; + const double t1411 = t102 * t1215; + const double t1417 = 0.3465e4 / 0.8e1 * t1409 + 0.693e3 / 0.8e1 * t1411 - 0.945e3 / 0.4e1 * t1296 - 0.315e3 / 0.4e1 * t1298 + 0.105e3 / 0.8e1 * t1103 + 0.105e3 / 0.8e1 * t1301; + const double t1418 = t1417 * t83; + const double t1420 = t427 * t298; + const double t1422 = t107 * t1165; + const double t1424 = 0.668980219e-8 * t195 * t1251 - 0.376702959e-7 * t1289 * t111 + 0.694482484e-8 * t107 * t1251 - 0.845508103e-2 * t1223 * t122 - 0.1691016206e-1 * t501 * t343 - 0.845508103e-2 * t179 * t1192 + 0.850272392e-8 * t134 * t1184 + 0.850272392e-8 * t1289 * t139 + 0.1700544784e-7 * t448 * t418 - 0.957417512e-2 * t1418 - 0.1914835024e-1 * t1420 - 0.957417512e-2 * t1422; + const double t1431 = t1223 * t83; + const double t1433 = t501 * t298; + const double t1439 = t322 * t375; + const double t1448 = 0.169805915e-6 * t1417 * t126 - 0.223014657e-8 * t195 * t1184 + 0.280678872e-1 * t1223 * t126 - 0.182177954e-1 * t1431 - 0.364355908e-1 * t1433 + 0.236391411e-7 * t107 * t1259 + 0.119130546e-2 * t1215 * t116 + 0.238261092e-2 * t1439 + 0.119130546e-2 * t44 * t1238 + 0.445308425186625e1 * t1262 - 0.265114646e-7 * t1417 * t122 - 0.530229292e-7 * t427 * t343; + const double t1464 = t1103 * t83; + const double t1466 = t208 * t1165; + const double t1474 = -0.669043971e-8 * t1103 * t139 - 0.548733873e-1 * t160 * t1101 - 0.565485306e-1 * t134 * t1101 + 0.879759123e-2 * t1103 * t122 - 0.450310908e-1 * t1103 * t126 - 0.450310908e-1 * t195 * t1101 - 0.130393038e0 * t1464 + 0.940675747e-2 * t1466 - 0.691592964e-8 * t1417 * t139 - 0.1383185928e-7 * t427 * t418 - 0.691592964e-8 * t107 * t1184; + const double t1485 = t1289 * t83; + const double t1487 = t448 * t298; + const double t1499 = 0.888525527e-8 * t1275 * t139 + 0.1777051054e-7 * t368 * t418 - 0.416393106e-7 * t107 * t1238 + 0.209603871e-7 * t1303 * t111 - 0.188495102e-1 * t1289 * t126 - 0.884148272e-2 * t1485 - 0.1768296544e-1 * t1487 + 0.419207742e-7 * t396 * t354 + 0.209603871e-7 * t160 * t1259 + 0.694482484e-8 * t1417 * t145 + 0.1388964968e-7 * t427 * t382 - 0.416393106e-7 * t1417 * t116; + const double t1523 = t322 * t354; + const double t1525 = -0.753405918e-7 * t448 * t354 - 0.376702959e-7 * t134 * t1259 - 0.265114646e-7 * t107 * t1192 - 0.216860568e-7 * t179 * t1251 + 0.674910119e-8 * t179 * t1184 + 0.674910119e-8 * t1223 * t139 + 0.1349820238e-7 * t501 * t418 + 0.912223751e-8 * t1303 * t145 + 0.1824447502e-7 * t396 * t382 - 0.832786212e-7 * t427 * t375 + 0.822139896e-3 * t1215 * t111 + 0.1644279792e-2 * t1523; + const double t1534 = t1275 * t83; + const double t1536 = t368 * t298; + const double t1539 = t322 * t343; + const double t1547 = 0.822139896e-3 * t44 * t1259 - 0.879090772e-2 * t1215 * t126 + 0.505920757e-7 * t208 * t1192 - 0.896771404e-2 * t1289 * t122 + 0.940675747e-2 * t1534 + 0.1881351494e-1 * t1536 - 0.4373652639371875e-2 * t1165 - 0.606694282e-2 * t1539 - 0.303347141e-2 * t44 * t1192 - 0.48005288013375e-3 * t1245 + 0.912223751e-8 * t160 * t1251 + 0.240073981599375e1 * t1409; + const double t1566 = t1303 * t83; + const double t1568 = t396 * t298; + const double t1570 = 0.48014796319875e0 * t1411 - 0.16566742077375e1 * t1296 - 0.5522247359125e0 * t1298 - 0.18458962865625e0 * t1301 + 0.236391411e-7 * t1417 * t111 + 0.472782822e-7 * t427 * t354 + 0.162238741e-6 * t134 * t1238 + 0.1109177486e-6 * t368 * t375 + 0.554588743e-7 * t208 * t1238 - 0.27652468e-6 * t1275 * t126 + 0.162638575e-1 * t1566 + 0.32527715e-1 * t1568; + const double t1594 = 0.182906057e-2 * t195 * t1238 - 0.138472194e-7 * t1289 * t145 - 0.276944388e-7 * t448 * t382 - 0.77168642109567901232e-2 * t1213 - 0.2701865448e0 * t323 * t373 + 0.509417745e-6 * t107 * t1101 - 0.82957404e-6 * t208 * t1101 - 0.216860568e-7 * t1223 * t145 - 0.433721136e-7 * t501 * t382 - 0.303347141e-2 * t1215 * t122 + 0.4013881314e-7 * t323 * t382 - 0.105312309e-2 * t1301 * t111; + const double t1620 = -0.210624618e-2 * t323 * t354 + 0.548718171e-2 * t1301 * t116 - 0.450310908e-1 * t1301 * t126 - 0.450310908e-1 * t215 * t1165 - 0.130393038e0 * t1301 * t83 - 0.260786076e0 * t323 * t298 + 0.1684073232e0 * t504 * t298 + 0.842036616e-1 * t192 * t1165 - 0.5274544632e-1 * t334 * t298 - 0.2637272316e-1 * t230 * t1165 + 0.2006940657e-7 * t1301 * t145 - 0.669043971e-8 * t1301 * t139; + const double t1645 = -0.1338087942e-7 * t323 * t418 - 0.1097467746e0 * t399 * t298 - 0.548733873e-1 * t175 * t1165 - 0.1130970612e0 * t573 * t298 - 0.565485306e-1 * t156 * t1165 + 0.1097436342e-1 * t323 * t375 + 0.879759123e-2 * t1301 * t122 + 0.1759518246e-1 * t323 * t343 + 0.101883549e-5 * t456 * t298 + 0.509417745e-6 * t129 * t1165 - 0.165914808e-5 * t468 * t298 - 0.82957404e-6 * t242 * t1165; + const double t1649 = t1195 + t1278 + t1320 + t1341 + t1364 + t1389 + t1424 + t1448 + t1474 + t1499 + t1525 + t1547 + t1570 + t1594 + t1620 + t1645; + const double t1654 = piecewise_functor_3( t3, 0.0, t7 * t1087 * t250 / 0.12e2 - t7 * t256 * t598 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1649 ); + const double t1662 = t26 * t302; + const double t1663 = 0.5e1 / 0.27e2 * t1662; + const double t1664 = piecewise_functor_3( t61, t1663, 0.0 ); + const double t1669 = t69 * t1664; + const double t1671 = t1126 * t608; + const double t1674 = t277 * t1664; + const double t1677 = t73 * t616; + const double t1678 = t1677 * t282; + const double t1681 = t617 * t295; + const double t1684 = t282 * t616; + const double t1687 = piecewise_functor_3( t61, 0.0, t1663 ); + const double t1688 = t72 * t1687; + const double t1691 = t623 * t72; + const double t1692 = t1691 * t282; + const double t1695 = t623 * t295; + const double t1700 = t291 * t282; + const double t1707 = 0.6e1 * t1153 * t1684 + 0.3e1 * t289 * t1687 + 0.3e1 * t292 * t1687 + 0.24e2 * t1700 * t616; + const double t1710 = piecewise_functor_3( t60, 0.6e1 * t67 * t1664 + 0.6e2 * t1671 * t271 - 0.18e2 * t611 * t271 - 0.12e2 * t613 * t271 + 0.3e1 * t1669 - 0.12e2 * t1674, -0.24e2 * t1132 * t1678 - 0.6e1 * t1137 * t1681 - 0.6e1 * t1137 * t1692 - 0.2e1 * t1149 * t1695 + 0.6e1 * t281 * t1684 + 0.6e1 * t281 * t1688 + t288 * t1707 ); + const double t1715 = t1712 * t315 * t318 * sigma; + const double t1717 = t1204 * t310; + const double t1718 = t1207 * rho; + const double t1719 = 0.1e1 / t1718; + const double t1721 = t1717 * t1719 * t1211; + const double t1725 = t715 * t322; + const double t1727 = t26 * t303; + const double t1731 = -0.2e1 / 0.9e1 * t1727 + t1715 / 0.18e2 - t1721 / 0.54e2; + const double t1732 = t49 * t1731; + const double t1734 = t686 * t322; + const double t1736 = t46 * t1731; + const double t1738 = t688 * t322; + const double t1740 = t45 * t1731; + const double t1745 = 0.9009e4 / 0.8e1 * t1725 + 0.3003e4 / 0.16e2 * t1732 - 0.3465e4 / 0.4e1 * t1734 - 0.3465e4 / 0.16e2 * t1736 + 0.945e3 / 0.8e1 * t1738 + 0.945e3 / 0.16e2 * t1740 + 0.35e2 / 0.72e2 * t1727 - 0.35e2 / 0.288e3 * t1715 + 0.35e2 / 0.864e3 * t1721; + const double t1750 = t660 * t298; + const double t1752 = t86 * t1710; + const double t1754 = t662 * t298; + const double t1756 = t85 * t1710; + const double t1758 = t664 * t298; + const double t1760 = t84 * t1710; + const double t1763 = 0.9009e4 / 0.8e1 * t1750 + 0.3003e4 / 0.16e2 * t1752 - 0.3465e4 / 0.4e1 * t1754 - 0.3465e4 / 0.16e2 * t1756 + 0.945e3 / 0.8e1 * t1758 + 0.945e3 / 0.16e2 * t1760 - 0.35e2 / 0.16e2 * t1710; + const double t1766 = t427 * t626; + const double t1768 = t107 * t1710; + const double t1770 = t651 * t322; + const double t1772 = t102 * t1731; + const double t1774 = t653 * t322; + const double t1776 = t98 * t1731; + const double t1778 = t322 * t648; + const double t1780 = t44 * t1731; + const double t1782 = 0.3465e4 / 0.8e1 * t1770 + 0.693e3 / 0.8e1 * t1772 - 0.945e3 / 0.4e1 * t1774 - 0.315e3 / 0.4e1 * t1776 + 0.105e3 / 0.8e1 * t1778 + 0.105e3 / 0.8e1 * t1780; + const double t1792 = 0.15e2 * t1738 + 0.15e2 / 0.2e1 * t1740 + t1727 / 0.3e1 - t1715 / 0.12e2 + t1721 / 0.36e2; + const double t1801 = 0.105e3 / 0.2e1 * t1774 + 0.35e2 / 0.2e1 * t1776 - 0.15e2 / 0.2e1 * t1778 - 0.15e2 / 0.2e1 * t1780; + const double t1802 = t1801 * t83; + const double t1804 = -0.4373652639371875e-2 * t1710 - 0.86814722373263888887e-2 * t1715 + 0.28938240791087962963e-2 * t1721 - 0.774224962e-8 * t657 * t382 - 0.774224962e-8 * t1745 * t145 + 0.888525527e-8 * t368 * t635 + 0.888525527e-8 * t208 * t1763 - 0.957417512e-2 * t1766 - 0.957417512e-2 * t1768 + 0.169805915e-6 * t1782 * t126 - 0.265114646e-7 * t772 * t343 + 0.674910119e-8 * t1792 * t139 + 0.674910119e-8 * t724 * t418 + 0.162638575e-1 * t1802; + const double t1805 = t690 * t298; + const double t1807 = t396 * t626; + const double t1809 = t160 * t1710; + const double t1818 = 0.315e3 / 0.2e1 * t1734 + 0.315e3 / 0.8e1 * t1736 - 0.105e3 / 0.2e1 * t1738 - 0.105e3 / 0.4e1 * t1740 - 0.5e1 / 0.12e2 * t1727 + 0.5e1 / 0.48e2 * t1715 - 0.5e1 / 0.144e3 * t1721; + const double t1823 = t1782 * t83; + const double t1825 = t772 * t298; + const double t1833 = t91 * t1710; + const double t1835 = t630 * t298; + const double t1838 = t632 * t298; + const double t1840 = t93 * t1710; + const double t1842 = t298 * t626; + const double t1844 = t83 * t1710; + const double t1846 = 0.3465e4 / 0.8e1 * t1835 + 0.693e3 / 0.8e1 * t1833 - 0.945e3 / 0.4e1 * t1838 - 0.315e3 / 0.4e1 * t1840 + 0.105e3 / 0.8e1 * t1842 + 0.105e3 / 0.8e1 * t1844; + const double t1855 = 0.105e3 / 0.2e1 * t1838 + 0.35e2 / 0.2e1 * t1840 - 0.15e2 / 0.2e1 * t1842 - 0.15e2 / 0.2e1 * t1844; + const double t1860 = 0.162638575e-1 * t1805 + 0.162638575e-1 * t1807 + 0.162638575e-1 * t1809 + 0.850272392e-8 * t1818 * t139 + 0.850272392e-8 * t815 * t418 - 0.957417512e-2 * t1823 - 0.957417512e-2 * t1825 + 0.236391411e-7 * t1782 * t111 + 0.236391411e-7 * t772 * t354 + 0.694482484e-8 * t427 * t666 - 0.48005288013375e-3 * t1833 + 0.694482484e-8 * t107 * t1846 + 0.162238741e-6 * t448 * t712 + 0.162238741e-6 * t134 * t1855 + 0.162238741e-6 * t1818 * t116; + const double t1867 = 0.315e3 / 0.2e1 * t1754 + 0.315e3 / 0.8e1 * t1756 - 0.105e3 / 0.2e1 * t1758 - 0.105e3 / 0.4e1 * t1760 + 0.15e2 / 0.8e1 * t1710; + const double t1881 = t322 * t626; + const double t1883 = t44 * t1710; + const double t1888 = t1745 * t83; + const double t1890 = t657 * t298; + const double t1892 = t1731 * t126; + const double t1894 = -0.376702959e-7 * t134 * t1867 + 0.694482484e-8 * t1782 * t145 + 0.694482484e-8 * t772 * t382 + 0.138149743606875e-3 * t1752 - 0.691592964e-8 * t107 * t1763 - 0.691592964e-8 * t427 * t635 - 0.691592964e-8 * t772 * t418 + 0.100339208e0 * t1881 + 0.100339208e0 * t1883 + 0.742180708644375e0 * t1732 - 0.1975305997940625e1 * t1736 + 0.1493833915228125e1 * t1740 + 0.940675747e-2 * t1888 + 0.940675747e-2 * t1890 - 0.879090772e-2 * t1892; + const double t1895 = t1731 * t83; + const double t1897 = t648 * t298; + const double t1899 = t322 * t677; + const double t1915 = t322 * t635; + const double t1919 = t195 * t1710; + const double t1921 = t1731 * t139; + const double t1923 = t648 * t418; + const double t1925 = 0.100339208e0 * t1895 + 0.100339208e0 * t1897 - 0.303347141e-2 * t1899 - 0.216860568e-7 * t501 * t666 - 0.216860568e-7 * t179 * t1846 - 0.216860568e-7 * t1792 * t145 - 0.216860568e-7 * t724 * t382 + 0.674910119e-8 * t501 * t635 + 0.674910119e-8 * t179 * t1763 + 0.505920757e-7 * t1745 * t122 - 0.940351563e-5 * t1915 - 0.940351563e-5 * t44 * t1763 - 0.43464346e-1 * t1919 - 0.940351563e-5 * t1921 - 0.940351563e-5 * t1923; + const double t1931 = 0.15e2 * t1758 + 0.15e2 / 0.2e1 * t1760 - 0.3e1 / 0.2e1 * t1710; + const double t1962 = 0.293253041e-2 * t195 * t1931 + 0.182906057e-2 * t195 * t1855 - 0.35104103e-3 * t195 * t1867 + 0.668980219e-8 * t195 * t1846 - 0.790811707e-7 * t160 * t1855 - 0.790811707e-7 * t1801 * t116 - 0.790811707e-7 * t690 * t375 + 0.209603871e-7 * t690 * t354 + 0.209603871e-7 * t396 * t705 + 0.209603871e-7 * t160 * t1867 - 0.182911291e-1 * t1801 * t126 + 0.631891628e-2 * t690 * t343 + 0.631891628e-2 * t396 * t677 + 0.631891628e-2 * t160 * t1931 + 0.631891628e-2 * t1801 * t122; + const double t1974 = t1731 * t145; + const double t1976 = t648 * t382; + const double t1986 = t1818 * t83; + const double t1988 = t815 * t298; + const double t1990 = t448 * t626; + const double t1992 = -0.790811707e-7 * t396 * t712 + 0.505920757e-7 * t657 * t343 + 0.505920757e-7 * t368 * t677 + 0.505920757e-7 * t208 * t1931 + 0.34725888949305555555e-1 * t1727 - 0.27652468e-6 * t1745 * t126 - 0.514204676e-4 * t1974 - 0.514204676e-4 * t1976 + 0.209603871e-7 * t1801 * t111 + 0.912223751e-8 * t690 * t382 + 0.912223751e-8 * t396 * t666 + 0.912223751e-8 * t160 * t1846 - 0.884148272e-2 * t1986 - 0.884148272e-2 * t1988 - 0.884148272e-2 * t1990; + const double t1994 = t134 * t1710; + const double t2020 = -0.884148272e-2 * t1994 - 0.188495102e-1 * t1818 * t126 + 0.48014796319875e0 * t1772 - 0.5522247359125e0 * t1776 - 0.18458962865625e0 * t1778 - 0.18458962865625e0 * t1780 - 0.416393106e-7 * t1782 * t116 - 0.416393106e-7 * t772 * t375 - 0.416393106e-7 * t427 * t712 + 0.912223751e-8 * t1801 * t145 - 0.493824365e-8 * t396 * t635 - 0.493824365e-8 * t160 * t1763 - 0.493824365e-8 * t1801 * t139 - 0.493824365e-8 * t690 * t418 - 0.138472194e-7 * t815 * t382; + const double t2051 = -0.138472194e-7 * t448 * t666 + 0.850272392e-8 * t448 * t635 + 0.850272392e-8 * t134 * t1763 - 0.338128188e-7 * t1745 * t111 - 0.774224962e-8 * t368 * t666 - 0.774224962e-8 * t208 * t1846 + 0.554588743e-7 * t208 * t1855 + 0.554588743e-7 * t1745 * t116 + 0.554588743e-7 * t657 * t375 - 0.845508103e-2 * t501 * t677 - 0.845508103e-2 * t179 * t1931 - 0.845508103e-2 * t1792 * t122 - 0.845508103e-2 * t724 * t343 + 0.339308972e-2 * t501 * t712 + 0.339308972e-2 * t179 * t1855; + const double t2063 = t368 * t626; + const double t2065 = t208 * t1710; + const double t2083 = 0.339308972e-2 * t1792 * t116 + 0.339308972e-2 * t724 * t375 + 0.896739466e-3 * t501 * t705 + 0.896739466e-3 * t179 * t1867 + 0.940675747e-2 * t2063 + 0.940675747e-2 * t2065 - 0.691592964e-8 * t1782 * t139 - 0.376702959e-7 * t1818 * t111 - 0.376702959e-7 * t815 * t354 - 0.376702959e-7 * t448 * t705 - 0.138472194e-7 * t134 * t1846 - 0.138472194e-7 * t1818 * t145 - 0.265114646e-7 * t427 * t677 - 0.265114646e-7 * t107 * t1931; + const double t2092 = t1731 * t122; + const double t2094 = t648 * t343; + const double t2096 = t322 * t712; + const double t2100 = t1731 * t116; + const double t2102 = t648 * t375; + const double t2106 = t1731 * t111; + const double t2108 = t648 * t354; + const double t2110 = t322 * t705; + const double t2112 = t322 * t666; + const double t2114 = -0.265114646e-7 * t1782 * t122 + 0.888525527e-8 * t657 * t418 + 0.888525527e-8 * t1745 * t139 - 0.303347141e-2 * t44 * t1931 - 0.303347141e-2 * t2092 - 0.303347141e-2 * t2094 + 0.119130546e-2 * t2096 + 0.119130546e-2 * t44 * t1855 + 0.119130546e-2 * t2100 + 0.119130546e-2 * t2102 + 0.822139896e-3 * t44 * t1867 + 0.822139896e-3 * t2106 + 0.822139896e-3 * t2108 + 0.822139896e-3 * t2110 - 0.514204676e-4 * t2112; + const double t2118 = t724 * t298; + const double t2120 = t501 * t626; + const double t2122 = t179 * t1710; + const double t2128 = t1792 * t83; + const double t2144 = -0.514204676e-4 * t44 * t1846 - 0.182177954e-1 * t2118 - 0.182177954e-1 * t2120 - 0.182177954e-1 * t2122 - 0.223014657e-8 * t195 * t1763 + 0.280678872e-1 * t1792 * t126 - 0.182177954e-1 * t2128 + 0.554588743e-7 * t368 * t712 + 0.896739466e-3 * t1792 * t111 + 0.896739466e-3 * t724 * t354 - 0.338128188e-7 * t208 * t1867 - 0.338128188e-7 * t657 * t354 - 0.338128188e-7 * t368 * t705 + 0.120828626792125e-1 * t1840 + 0.1406365375513125e-1 * t1842; + const double t2172 = 0.1406365375513125e-1 * t1844 - 0.416393106e-7 * t107 * t1855 + 0.236391411e-7 * t427 * t705 - 0.4729415517815625e-2 * t1756 + 0.13938308465540625e-1 * t1760 + 0.236391411e-7 * t107 * t1867 - 0.548733873e-1 * t799 * t298 - 0.565485306e-1 * t878 * t298 + 0.509417745e-6 * t780 * t298 - 0.896771404e-2 * t1818 * t122 - 0.896771404e-2 * t815 * t343 - 0.896771404e-2 * t448 * t677 - 0.896771404e-2 * t134 * t1931 + 0.162238741e-6 * t815 * t375 + 0.842036616e-1 * t504 * t626; + const double t2205 = 0.842036616e-1 * t506 * t626 + 0.509417745e-6 * t456 * t626 + 0.509417745e-6 * t458 * t626 + 0.842036616e-1 * t850 * t298 - 0.130393038e0 * t1778 * t83 - 0.130393038e0 * t1780 * t83 - 0.130393038e0 * t688 * t298 - 0.2637272316e-1 * t334 * t626 - 0.2637272316e-1 * t336 * t626 - 0.2637272316e-1 * t230 * t1710 + 0.548718171e-2 * t1778 * t116 + 0.548718171e-2 * t1780 * t116 + 0.548718171e-2 * t688 * t375 + 0.879759123e-2 * t1778 * t122 + 0.879759123e-2 * t1780 * t122; + const double t2236 = 0.879759123e-2 * t688 * t343 - 0.450310908e-1 * t1778 * t126 - 0.450310908e-1 * t1780 * t126 - 0.450310908e-1 * t484 * t626 - 0.450310908e-1 * t215 * t1710 + 0.842036616e-1 * t192 * t1710 - 0.669043971e-8 * t1778 * t139 - 0.669043971e-8 * t1780 * t139 - 0.669043971e-8 * t688 * t418 + 0.2006940657e-7 * t1778 * t145 + 0.2006940657e-7 * t1780 * t145 + 0.2006940657e-7 * t688 * t382 - 0.105312309e-2 * t1778 * t111 - 0.105312309e-2 * t1780 * t111 - 0.105312309e-2 * t688 * t354; + const double t2268 = 0.509417745e-6 * t129 * t1710 - 0.565485306e-1 * t573 * t626 - 0.565485306e-1 * t575 * t626 - 0.565485306e-1 * t156 * t1710 - 0.548733873e-1 * t399 * t626 - 0.548733873e-1 * t401 * t626 - 0.548733873e-1 * t175 * t1710 - 0.105312309e-2 * t323 * t705 + 0.548718171e-2 * t323 * t712 + 0.2006940657e-7 * t323 * t666 - 0.669043971e-8 * t323 * t635 - 0.2637272316e-1 * t753 * t298 - 0.82957404e-6 * t757 * t298 - 0.82957404e-6 * t468 * t626 - 0.82957404e-6 * t470 * t626; + const double t2289 = -0.82957404e-6 * t242 * t1710 + 0.879759123e-2 * t323 * t677 - 0.130393038e0 * t323 * t626 + 0.82889846164125e-3 * t1750 + 0.445308425186625e1 * t1725 - 0.79012239917625e1 * t1734 + 0.298766783045625e1 * t1738 - 0.189176620712625e-1 * t1754 + 0.2787661693108125e-1 * t1758 - 0.240026440066875e-2 * t1835 + 0.362485880376375e-1 * t1838 + 0.240073981599375e1 * t1770 - 0.16566742077375e1 * t1774 - 0.1350932724e0 * t688 * t373 - 0.1350932724e0 * t323 * t664; + const double t2293 = t1804 + t1860 + t1894 + t1925 + t1962 + t1992 + t2020 + t2051 + t2083 + t2114 + t2144 + t2172 + t2205 + t2236 + t2268 + t2289; + const double t2298 = piecewise_functor_3( t3, 0.0, -t7 * t256 * t916 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t2293 ); + const double t2306 = 0.25e2 / 0.27e2 * t606; + const double t2307 = piecewise_functor_3( t61, -t2306, 0.0 ); + const double t2312 = t69 * t2307; + const double t2314 = t1126 * t925; + const double t2317 = t277 * t2307; + const double t2320 = t73 * t933; + const double t2324 = t934 * t295; + const double t2327 = t282 * t933; + const double t2330 = piecewise_functor_3( t61, 0.0, -t2306 ); + const double t2331 = t72 * t2330; + const double t2334 = t940 * t72; + const double t2338 = t940 * t295; + const double t2349 = 0.6e1 * t1153 * t2327 + 0.24e2 * t1700 * t933 + 0.3e1 * t289 * t2330 + 0.3e1 * t292 * t2330; + const double t2352 = piecewise_functor_3( t60, 0.6e1 * t67 * t2307 + 0.6e2 * t2314 * t271 - 0.18e2 * t928 * t271 - 0.12e2 * t930 * t271 + 0.3e1 * t2312 - 0.12e2 * t2317, -0.24e2 * t1132 * t2320 * t282 - 0.6e1 * t1137 * t2334 * t282 - 0.6e1 * t1137 * t2324 - 0.2e1 * t1149 * t2338 + 0.6e1 * t281 * t2327 + 0.6e1 * t281 * t2331 + t288 * t2349 ); + const double t2354 = t950 * t298; + const double t2356 = t91 * t2352; + const double t2358 = t944 * t298; + const double t2360 = t93 * t2352; + const double t2362 = t298 * t943; + const double t2364 = t83 * t2352; + const double t2366 = 0.3465e4 / 0.8e1 * t2354 + 0.693e3 / 0.8e1 * t2356 - 0.945e3 / 0.4e1 * t2358 - 0.315e3 / 0.4e1 * t2360 + 0.105e3 / 0.8e1 * t2362 + 0.105e3 / 0.8e1 * t2364; + const double t2369 = t368 * t943; + const double t2371 = t208 * t2352; + const double t2379 = t396 * t943; + const double t2381 = t160 * t2352; + const double t2385 = t964 * t298; + const double t2387 = t86 * t2352; + const double t2389 = t957 * t298; + const double t2391 = t85 * t2352; + const double t2393 = t959 * t298; + const double t2395 = t84 * t2352; + const double t2398 = 0.9009e4 / 0.8e1 * t2385 + 0.3003e4 / 0.16e2 * t2387 - 0.3465e4 / 0.4e1 * t2389 - 0.3465e4 / 0.16e2 * t2391 + 0.945e3 / 0.8e1 * t2393 + 0.945e3 / 0.16e2 * t2395 - 0.35e2 / 0.16e2 * t2352; + const double t2408 = 0.315e3 / 0.2e1 * t2389 + 0.315e3 / 0.8e1 * t2391 - 0.105e3 / 0.2e1 * t2393 - 0.105e3 / 0.4e1 * t2395 + 0.15e2 / 0.8e1 * t2352; + const double t2413 = -0.4373652639371875e-2 * t2352 - 0.216860568e-7 * t179 * t2366 + 0.940675747e-2 * t2369 + 0.940675747e-2 * t2371 - 0.691592964e-8 * t427 * t978 + 0.694482484e-8 * t107 * t2366 + 0.694482484e-8 * t427 * t968 + 0.162638575e-1 * t2379 + 0.162638575e-1 * t2381 + 0.674910119e-8 * t501 * t978 + 0.674910119e-8 * t179 * t2398 + 0.896739466e-3 * t501 * t954 + 0.896739466e-3 * t179 * t2408 - 0.216860568e-7 * t501 * t968; + const double t2420 = 0.105e3 / 0.2e1 * t2358 + 0.35e2 / 0.2e1 * t2360 - 0.15e2 / 0.2e1 * t2362 - 0.15e2 / 0.2e1 * t2364; + const double t2431 = t427 * t943; + const double t2433 = t107 * t2352; + const double t2440 = 0.15e2 * t2393 + 0.15e2 / 0.2e1 * t2395 - 0.3e1 / 0.2e1 * t2352; + const double t2443 = t322 * t943; + const double t2445 = t501 * t943; + const double t2447 = t179 * t2352; + const double t2453 = -0.416393106e-7 * t427 * t961 - 0.416393106e-7 * t107 * t2420 + 0.339308972e-2 * t501 * t961 + 0.339308972e-2 * t179 * t2420 + 0.236391411e-7 * t427 * t954 + 0.236391411e-7 * t107 * t2408 - 0.957417512e-2 * t2431 - 0.957417512e-2 * t2433 - 0.896771404e-2 * t448 * t947 - 0.896771404e-2 * t134 * t2440 + 0.100339208e0 * t2443 - 0.182177954e-1 * t2445 - 0.182177954e-1 * t2447 + 0.162238741e-6 * t448 * t961 + 0.162238741e-6 * t134 * t2420; + const double t2459 = t448 * t943; + const double t2461 = t134 * t2352; + const double t2485 = -0.493824365e-8 * t396 * t978 - 0.493824365e-8 * t160 * t2398 - 0.884148272e-2 * t2459 - 0.884148272e-2 * t2461 + 0.912223751e-8 * t396 * t968 + 0.912223751e-8 * t160 * t2366 - 0.790811707e-7 * t160 * t2420 - 0.790811707e-7 * t396 * t961 + 0.209603871e-7 * t160 * t2408 + 0.209603871e-7 * t396 * t954 + 0.631891628e-2 * t396 * t947 + 0.631891628e-2 * t160 * t2440 + 0.554588743e-7 * t208 * t2420 + 0.293253041e-2 * t195 * t2440 - 0.691592964e-8 * t107 * t2398; + const double t2516 = -0.35104103e-3 * t195 * t2408 - 0.223014657e-8 * t195 * t2398 + 0.668980219e-8 * t195 * t2366 - 0.845508103e-2 * t501 * t947 - 0.845508103e-2 * t179 * t2440 - 0.338128188e-7 * t368 * t954 - 0.774224962e-8 * t368 * t968 - 0.774224962e-8 * t208 * t2366 + 0.505920757e-7 * t368 * t947 + 0.505920757e-7 * t208 * t2440 + 0.554588743e-7 * t368 * t961 + 0.888525527e-8 * t368 * t978 + 0.888525527e-8 * t208 * t2398 - 0.338128188e-7 * t208 * t2408 - 0.265114646e-7 * t427 * t947; + const double t2533 = t44 * t2352; + const double t2535 = t322 * t947; + const double t2540 = t322 * t954; + const double t2545 = -0.265114646e-7 * t107 * t2440 + 0.850272392e-8 * t448 * t978 + 0.850272392e-8 * t134 * t2398 - 0.376702959e-7 * t448 * t954 - 0.376702959e-7 * t134 * t2408 - 0.138472194e-7 * t448 * t968 - 0.138472194e-7 * t134 * t2366 + 0.100339208e0 * t2533 - 0.303347141e-2 * t2535 + 0.13938308465540625e-1 * t2395 - 0.303347141e-2 * t44 * t2440 + 0.822139896e-3 * t2540 - 0.4729415517815625e-2 * t2391 + 0.822139896e-3 * t44 * t2408; + const double t2546 = t322 * t961; + const double t2553 = t322 * t968; + const double t2558 = t195 * t2352; + const double t2560 = t322 * t978; + const double t2571 = 0.119130546e-2 * t2546 + 0.120828626792125e-1 * t2360 + 0.1406365375513125e-1 * t2362 + 0.1406365375513125e-1 * t2364 + 0.119130546e-2 * t44 * t2420 - 0.514204676e-4 * t2553 - 0.48005288013375e-3 * t2356 - 0.514204676e-4 * t44 * t2366 - 0.43464346e-1 * t2558 - 0.940351563e-5 * t2560 + 0.138149743606875e-3 * t2387 - 0.940351563e-5 * t44 * t2398 + 0.182906057e-2 * t195 * t2420 + 0.509417745e-6 * t458 * t943 + 0.509417745e-6 * t129 * t2352; + const double t2603 = -0.565485306e-1 * t573 * t943 - 0.565485306e-1 * t575 * t943 - 0.565485306e-1 * t156 * t2352 - 0.548733873e-1 * t399 * t943 - 0.548733873e-1 * t401 * t943 - 0.548733873e-1 * t175 * t2352 + 0.548718171e-2 * t323 * t961 - 0.130393038e0 * t323 * t943 + 0.842036616e-1 * t504 * t943 + 0.842036616e-1 * t506 * t943 + 0.842036616e-1 * t192 * t2352 + 0.2006940657e-7 * t323 * t968 - 0.669043971e-8 * t323 * t978 - 0.105312309e-2 * t323 * t954 + 0.879759123e-2 * t323 * t947; + const double t2629 = -0.82957404e-6 * t468 * t943 - 0.82957404e-6 * t470 * t943 - 0.82957404e-6 * t242 * t2352 + 0.509417745e-6 * t456 * t943 - 0.450310908e-1 * t484 * t943 - 0.450310908e-1 * t215 * t2352 - 0.2637272316e-1 * t334 * t943 - 0.2637272316e-1 * t336 * t943 + 0.2787661693108125e-1 * t2393 - 0.189176620712625e-1 * t2389 - 0.2637272316e-1 * t230 * t2352 + 0.362485880376375e-1 * t2358 - 0.240026440066875e-2 * t2354 + 0.82889846164125e-3 * t2385 - 0.1350932724e0 * t323 * t959; + const double t2632 = t2413 + t2453 + t2485 + t2516 + t2545 + t2571 + t2603 + t2629; + const double t2637 = piecewise_functor_3( t3, 0.0, -t7 * t256 * t1080 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t2632 ); + const double t2640 = t608 * t608; + const double t2643 = piecewise_functor_3( t61, 0.0, 0.0 ); + const double t2645 = 0.6e1 * t67 * t2643; + const double t2646 = t277 * t2640; + const double t2648 = t69 * t2643; + const double t2649 = 0.3e1 * t2648; + const double t2650 = t1126 * t2640; + const double t2652 = t277 * t2643; + const double t2653 = 0.12e2 * t2652; + const double t2655 = t616 * t616; + const double t2656 = t73 * t2655; + const double t2659 = t617 * t623; + const double t2664 = t72 * t2643; + const double t2666 = 0.6e1 * t281 * t2664; + const double t2667 = t623 * t623; + const double t2675 = 0.3e1 * t289 * t2643; + const double t2677 = 0.3e1 * t292 * t2643; + const double t2678 = 0.6e1 * t1153 * t2655 + 0.24e2 * t291 * t2655 + t2675 + t2677; + const double t2681 = piecewise_functor_3( t60, -0.18e2 * t69 * t2640 + t2645 - 0.12e2 * t2646 + t2649 + 0.6e2 * t2650 - t2653, -0.24e2 * t1132 * t2656 - 0.12e2 * t1137 * t2659 - 0.2e1 * t1149 * t2667 + 0.6e1 * t281 * t2655 + t288 * t2678 + t2666 ); + const double t2683 = t626 * t626; + const double t2685 = t309 * t645; + const double t2687 = t648 * t648; + const double t2689 = t85 * t2683; + const double t2691 = t91 * t2681; + const double t2693 = t84 * t2683; + const double t2695 = t93 * t2681; + const double t2698 = t83 * t2681; + const double t2700 = 0.3465e4 / 0.8e1 * t2689 + 0.693e3 / 0.8e1 * t2691 - 0.945e3 / 0.4e1 * t2693 - 0.315e3 / 0.4e1 * t2695 + 0.105e3 / 0.8e1 * t2683 + 0.105e3 / 0.8e1 * t2698; + const double t2706 = t1204 * sigma; + const double t2707 = 0.1e1 / t1207; + const double t2709 = t2706 * t2707 * t1211; + const double t2711 = -t2685 / 0.72e2 + t2709 / 0.144e3; + const double t2714 = t648 * t705; + const double t2716 = t93 * t2683; + const double t2718 = t85 * t2681; + const double t2720 = t83 * t2683; + const double t2722 = t84 * t2681; + const double t2725 = 0.315e3 / 0.2e1 * t2716 + 0.315e3 / 0.8e1 * t2718 - 0.105e3 / 0.2e1 * t2720 - 0.105e3 / 0.4e1 * t2722 + 0.15e2 / 0.8e1 * t2681; + const double t2734 = 0.105e3 / 0.2e1 * t2693 + 0.35e2 / 0.2e1 * t2695 - 0.15e2 / 0.2e1 * t2683 - 0.15e2 / 0.2e1 * t2698; + const double t2737 = -0.4373652639371875e-2 * t2681 + 0.1406365375513125e-1 * t2683 + 0.21703680593315972222e-2 * t2685 - 0.18458962865625e0 * t2687 + 0.694482484e-8 * t107 * t2700 - 0.514204676e-4 * t44 * t2700 + 0.822139896e-3 * t2711 * t111 + 0.1644279792e-2 * t2714 + 0.822139896e-3 * t44 * t2725 - 0.1581623414e-6 * t690 * t712 - 0.790811707e-7 * t160 * t2734; + const double t2742 = t46 * t2687; + const double t2744 = t102 * t2711; + const double t2746 = t45 * t2687; + const double t2748 = t98 * t2711; + const double t2751 = t44 * t2711; + const double t2753 = 0.3465e4 / 0.8e1 * t2742 + 0.693e3 / 0.8e1 * t2744 - 0.945e3 / 0.4e1 * t2746 - 0.315e3 / 0.4e1 * t2748 + 0.105e3 / 0.8e1 * t2687 + 0.105e3 / 0.8e1 * t2751; + const double t2754 = t2753 * t83; + const double t2756 = t772 * t626; + const double t2758 = t107 * t2681; + const double t2760 = t98 * t2687; + const double t2762 = t46 * t2711; + const double t2764 = t44 * t2687; + const double t2766 = t45 * t2711; + const double t2770 = 0.315e3 / 0.2e1 * t2760 + 0.315e3 / 0.8e1 * t2762 - 0.105e3 / 0.2e1 * t2764 - 0.105e3 / 0.4e1 * t2766 - 0.5e1 / 0.192e3 * t2685 + 0.5e1 / 0.384e3 * t2709; + const double t2775 = t91 * t2683; + const double t2777 = t86 * t2681; + const double t2786 = 0.9009e4 / 0.8e1 * t2775 + 0.3003e4 / 0.16e2 * t2777 - 0.3465e4 / 0.4e1 * t2716 - 0.3465e4 / 0.16e2 * t2718 + 0.945e3 / 0.8e1 * t2720 + 0.945e3 / 0.16e2 * t2722 - 0.35e2 / 0.16e2 * t2681; + const double t2794 = 0.15e2 * t2720 + 0.15e2 / 0.2e1 * t2722 - 0.3e1 / 0.2e1 * t2681; + const double t2797 = 0.1011841514e-6 * t657 * t677 + 0.1700544784e-7 * t815 * t635 - 0.957417512e-2 * t2754 - 0.1914835024e-1 * t2756 - 0.957417512e-2 * t2758 - 0.138472194e-7 * t2770 * t145 - 0.276944388e-7 * t815 * t666 + 0.82889846164125e-3 * t2775 + 0.138149743606875e-3 * t2777 + 0.850272392e-8 * t134 * t2786 + 0.850272392e-8 * t2770 * t139 - 0.845508103e-2 * t179 * t2794; + const double t2799 = t102 * t2687; + const double t2801 = t49 * t2711; + const double t2813 = 0.9009e4 / 0.8e1 * t2799 + 0.3003e4 / 0.16e2 * t2801 - 0.3465e4 / 0.4e1 * t2760 - 0.3465e4 / 0.16e2 * t2762 + 0.945e3 / 0.8e1 * t2764 + 0.945e3 / 0.16e2 * t2766 + 0.35e2 / 0.1152e4 * t2685 - 0.35e2 / 0.2304e4 * t2709; + const double t2824 = 0.445308425186625e1 * t2799 + 0.742180708644375e0 * t2801 - 0.79012239917625e1 * t2760 - 0.1975305997940625e1 * t2762 + 0.554588743e-7 * t2813 * t116 - 0.189176620712625e-1 * t2716 - 0.4729415517815625e-2 * t2718 - 0.35104103e-3 * t195 * t2725 + 0.240073981599375e1 * t2742 + 0.48014796319875e0 * t2744 - 0.16566742077375e1 * t2746 - 0.5522247359125e0 * t2748; + const double t2842 = t648 * t635; + const double t2844 = t195 * t2681; + const double t2848 = -0.18458962865625e0 * t2751 - 0.416393106e-7 * t2753 * t116 - 0.896771404e-2 * t134 * t2794 + 0.162238741e-6 * t2770 * t116 + 0.324477482e-6 * t815 * t712 + 0.162238741e-6 * t134 * t2734 - 0.376702959e-7 * t134 * t2725 + 0.674910119e-8 * t179 * t2786 + 0.505920757e-7 * t2813 * t122 - 0.1880703126e-4 * t2842 - 0.43464346e-1 * t2844 + 0.293253041e-2 * t195 * t2794; + const double t2859 = t648 * t677; + const double t2865 = t2711 * t83; + const double t2867 = t648 * t626; + const double t2869 = t44 * t2681; + const double t2873 = 0.182906057e-2 * t195 * t2734 + 0.912223751e-8 * t160 * t2700 + 0.119130546e-2 * t44 * t2734 - 0.303347141e-2 * t2711 * t122 - 0.606694282e-2 * t2859 - 0.303347141e-2 * t44 * t2794 - 0.879090772e-2 * t2711 * t126 + 0.100339208e0 * t2865 + 0.200678416e0 * t2867 + 0.100339208e0 * t2869 - 0.27652468e-6 * t2813 * t126; + const double t2888 = t2687 * t83; + const double t2896 = 0.105e3 / 0.2e1 * t2746 + 0.35e2 / 0.2e1 * t2748 - 0.15e2 / 0.2e1 * t2687 - 0.15e2 / 0.2e1 * t2751; + const double t2903 = 0.15e2 * t2764 + 0.15e2 / 0.2e1 * t2766 + t2685 / 0.48e2 - t2709 / 0.96e2; + const double t2908 = 0.509417745e-6 * t107 * t2683 - 0.565485306e-1 * t134 * t2683 - 0.548733873e-1 * t160 * t2683 + 0.842036616e-1 * t179 * t2683 + 0.879759123e-2 * t2687 * t122 - 0.450310908e-1 * t2687 * t126 - 0.450310908e-1 * t195 * t2683 - 0.130393038e0 * t2888 - 0.2637272316e-1 * t44 * t2683 + 0.912223751e-8 * t2896 * t145 - 0.216860568e-7 * t2903 * t145 - 0.433721136e-7 * t724 * t666; + const double t2912 = t134 * t2681; + const double t2922 = t2896 * t83; + const double t2924 = t690 * t626; + const double t2931 = -0.216860568e-7 * t179 * t2700 - 0.884148272e-2 * t2912 - 0.493824365e-8 * t2896 * t139 - 0.98764873e-8 * t690 * t635 + 0.236391411e-7 * t2753 * t111 + 0.472782822e-7 * t772 * t705 + 0.162638575e-1 * t2922 + 0.32527715e-1 * t2924 - 0.832786212e-7 * t772 * t712 + 0.362485880376375e-1 * t2693 + 0.120828626792125e-1 * t2695 + 0.1406365375513125e-1 * t2698; + const double t2956 = -0.416393106e-7 * t107 * t2734 + 0.674910119e-8 * t2903 * t139 + 0.1349820238e-7 * t724 * t635 + 0.1109177486e-6 * t657 * t712 + 0.554588743e-7 * t208 * t2734 - 0.669043971e-8 * t2687 * t139 + 0.2006940657e-7 * t2687 * t145 - 0.105312309e-2 * t2687 * t111 + 0.668980219e-8 * t195 * t2700 - 0.1383185928e-7 * t772 * t635 - 0.338128188e-7 * t2813 * t111 - 0.676256376e-7 * t657 * t705; + const double t2962 = t160 * t2681; + const double t2982 = -0.691592964e-8 * t107 * t2786 + 0.162638575e-1 * t2962 - 0.338128188e-7 * t208 * t2725 - 0.774224962e-8 * t208 * t2700 + 0.631891628e-2 * t2896 * t122 + 0.1263783256e-1 * t690 * t677 - 0.530229292e-7 * t772 * t677 + 0.888525527e-8 * t2813 * t139 + 0.1777051054e-7 * t657 * t635 + 0.548718171e-2 * t2687 * t116 + 0.169805915e-6 * t2753 * t126; + const double t2989 = t2903 * t83; + const double t2991 = t724 * t626; + const double t2993 = t179 * t2681; + const double t3001 = t2770 * t83; + const double t3003 = t815 * t626; + const double t3007 = -0.265114646e-7 * t107 * t2794 - 0.265114646e-7 * t2753 * t122 + 0.280678872e-1 * t2903 * t126 - 0.182177954e-1 * t2989 - 0.364355908e-1 * t2991 - 0.182177954e-1 * t2993 - 0.896771404e-2 * t2770 * t122 - 0.1793542808e-1 * t815 * t677 - 0.188495102e-1 * t2770 * t126 - 0.884148272e-2 * t3001 - 0.1768296544e-1 * t3003 - 0.182911291e-1 * t2896 * t126; + const double t3011 = t648 * t666; + const double t3017 = t648 * t712; + const double t3033 = -0.514204676e-4 * t2711 * t145 - 0.1028409352e-3 * t3011 + 0.505920757e-7 * t208 * t2794 + 0.119130546e-2 * t2711 * t116 + 0.238261092e-2 * t3017 - 0.940351563e-5 * t44 * t2786 + 0.694482484e-8 * t2753 * t145 + 0.1388964968e-7 * t772 * t666 - 0.940351563e-5 * t2711 * t139 + 0.1824447502e-7 * t690 * t666 - 0.774224962e-8 * t2813 * t145 - 0.1548449924e-7 * t657 * t666; + const double t3054 = 0.888525527e-8 * t208 * t2786 + 0.298766783045625e1 * t2764 + 0.1493833915228125e1 * t2766 - 0.845508103e-2 * t2903 * t122 - 0.1691016206e-1 * t724 * t677 + 0.2787661693108125e-1 * t2720 + 0.13938308465540625e-1 * t2722 + 0.631891628e-2 * t160 * t2794 + 0.339308972e-2 * t2903 * t116 + 0.678617944e-2 * t724 * t712 + 0.339308972e-2 * t179 * t2734 + 0.236391411e-7 * t107 * t2725; + const double t3061 = t2813 * t83; + const double t3063 = t657 * t626; + const double t3065 = t208 * t2681; + const double t3078 = 0.896739466e-3 * t2903 * t111 + 0.1793478932e-2 * t724 * t705 + 0.940675747e-2 * t3061 + 0.1881351494e-1 * t3063 + 0.940675747e-2 * t3065 - 0.691592964e-8 * t2753 * t139 - 0.493824365e-8 * t160 * t2786 + 0.209603871e-7 * t160 * t2725 - 0.10851840296657986111e-2 * t2709 + 0.101883549e-5 * t780 * t626 - 0.1097467746e0 * t799 * t626; + const double t3103 = -0.1130970612e0 * t878 * t626 + 0.509417745e-6 * t129 * t2681 - 0.565485306e-1 * t156 * t2681 - 0.548733873e-1 * t175 * t2681 + 0.1684073232e0 * t850 * t626 + 0.842036616e-1 * t192 * t2681 - 0.669043971e-8 * t2751 * t139 - 0.1338087942e-7 * t688 * t635 + 0.2006940657e-7 * t2751 * t145 + 0.4013881314e-7 * t688 * t666 - 0.105312309e-2 * t2751 * t111 - 0.210624618e-2 * t688 * t705; + const double t3129 = 0.548718171e-2 * t2751 * t116 + 0.1097436342e-1 * t688 * t712 + 0.879759123e-2 * t2751 * t122 + 0.1759518246e-1 * t688 * t677 - 0.450310908e-1 * t2751 * t126 - 0.450310908e-1 * t215 * t2681 - 0.130393038e0 * t2751 * t83 - 0.260786076e0 * t688 * t626 - 0.5274544632e-1 * t753 * t626 - 0.2637272316e-1 * t230 * t2681 - 0.165914808e-5 * t757 * t626 - 0.82957404e-6 * t242 * t2681; + const double t3152 = -0.82957404e-6 * t208 * t2683 - 0.376702959e-7 * t2770 * t111 - 0.753405918e-7 * t815 * t705 - 0.240026440066875e-2 * t2689 - 0.48005288013375e-3 * t2691 - 0.138472194e-7 * t134 * t2700 - 0.790811707e-7 * t2896 * t116 - 0.223014657e-8 * t195 * t2786 + 0.209603871e-7 * t2896 * t111 + 0.419207742e-7 * t690 * t705 + 0.896739466e-3 * t179 * t2725 - 0.2701865448e0 * t688 * t664; + const double t3156 = t2737 + t2797 + t2824 + t2848 + t2873 + t2908 + t2931 + t2956 + t2982 + t3007 + t3033 + t3054 + t3078 + t3103 + t3129 + t3152; + const double t3160 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t3156 ); + const double t3175 = t616 * t933; + const double t3181 = t940 * t623; + const double t3186 = t291 * t616; + const double t3189 = 0.6e1 * t1153 * t3175 + 0.24e2 * t3186 * t933 + t2675 + t2677; + const double t3192 = piecewise_functor_3( t60, 0.6e2 * t2314 * t608 - 0.18e2 * t928 * t608 - 0.12e2 * t930 * t608 + t2645 + t2649 - t2653, -0.24e2 * t1132 * t2320 * t616 - 0.6e1 * t1137 * t2334 * t616 - 0.6e1 * t1137 * t934 * t623 - 0.2e1 * t1149 * t3181 + 0.6e1 * t281 * t3175 + t288 * t3189 + t2666 ); + const double t3194 = t690 * t943; + const double t3196 = t160 * t3192; + const double t3200 = t964 * t626; + const double t3202 = t86 * t3192; + const double t3204 = t957 * t626; + const double t3206 = t85 * t3192; + const double t3208 = t959 * t626; + const double t3210 = t84 * t3192; + const double t3213 = 0.9009e4 / 0.8e1 * t3200 + 0.3003e4 / 0.16e2 * t3202 - 0.3465e4 / 0.4e1 * t3204 - 0.3465e4 / 0.16e2 * t3206 + 0.945e3 / 0.8e1 * t3208 + 0.945e3 / 0.16e2 * t3210 - 0.35e2 / 0.16e2 * t3192; + const double t3223 = 0.315e3 / 0.2e1 * t3204 + 0.315e3 / 0.8e1 * t3206 - 0.105e3 / 0.2e1 * t3208 - 0.105e3 / 0.4e1 * t3210 + 0.15e2 / 0.8e1 * t3192; + const double t3228 = t950 * t626; + const double t3230 = t91 * t3192; + const double t3232 = t944 * t626; + const double t3234 = t93 * t3192; + const double t3236 = t626 * t943; + const double t3238 = t83 * t3192; + const double t3240 = 0.3465e4 / 0.8e1 * t3228 + 0.693e3 / 0.8e1 * t3230 - 0.945e3 / 0.4e1 * t3232 - 0.315e3 / 0.4e1 * t3234 + 0.105e3 / 0.8e1 * t3236 + 0.105e3 / 0.8e1 * t3238; + const double t3253 = -0.4373652639371875e-2 * t3192 + 0.162638575e-1 * t3194 + 0.162638575e-1 * t3196 + 0.674910119e-8 * t724 * t978 + 0.674910119e-8 * t179 * t3213 + 0.896739466e-3 * t724 * t954 + 0.896739466e-3 * t179 * t3223 - 0.216860568e-7 * t724 * t968 - 0.216860568e-7 * t179 * t3240 + 0.694482484e-8 * t772 * t968 + 0.694482484e-8 * t107 * t3240 - 0.416393106e-7 * t772 * t961 - 0.338128188e-7 * t657 * t954 - 0.338128188e-7 * t208 * t3223; + const double t3254 = t195 * t3192; + const double t3261 = 0.15e2 * t3208 + 0.15e2 / 0.2e1 * t3210 - 0.3e1 / 0.2e1 * t3192; + const double t3266 = t648 * t978; + const double t3278 = 0.105e3 / 0.2e1 * t3232 + 0.35e2 / 0.2e1 * t3234 - 0.15e2 / 0.2e1 * t3236 - 0.15e2 / 0.2e1 * t3238; + const double t3281 = t815 * t943; + const double t3283 = t134 * t3192; + const double t3289 = t107 * t3192; + const double t3293 = -0.43464346e-1 * t3254 - 0.265114646e-7 * t772 * t947 - 0.265114646e-7 * t107 * t3261 + 0.850272392e-8 * t134 * t3213 - 0.940351563e-5 * t3266 - 0.940351563e-5 * t44 * t3213 - 0.896771404e-2 * t134 * t3261 + 0.162238741e-6 * t815 * t961 + 0.162238741e-6 * t134 * t3278 - 0.884148272e-2 * t3281 - 0.884148272e-2 * t3283 - 0.493824365e-8 * t690 * t978 - 0.493824365e-8 * t160 * t3213 - 0.957417512e-2 * t3289 + 0.236391411e-7 * t772 * t954; + const double t3295 = t648 * t961; + const double t3318 = 0.119130546e-2 * t3295 + 0.119130546e-2 * t44 * t3278 - 0.4729415517815625e-2 * t3206 + 0.13938308465540625e-1 * t3210 + 0.236391411e-7 * t107 * t3223 + 0.120828626792125e-1 * t3234 + 0.1406365375513125e-1 * t3236 + 0.1406365375513125e-1 * t3238 + 0.182906057e-2 * t195 * t3278 + 0.293253041e-2 * t195 * t3261 - 0.35104103e-3 * t195 * t3223 + 0.138149743606875e-3 * t3202 - 0.223014657e-8 * t195 * t3213 - 0.48005288013375e-3 * t3230 + 0.668980219e-8 * t195 * t3240; + const double t3323 = t772 * t943; + const double t3343 = t648 * t954; + const double t3347 = t44 * t3192; + const double t3349 = -0.845508103e-2 * t724 * t947 - 0.845508103e-2 * t179 * t3261 - 0.957417512e-2 * t3323 - 0.416393106e-7 * t107 * t3278 + 0.912223751e-8 * t690 * t968 + 0.912223751e-8 * t160 * t3240 - 0.790811707e-7 * t690 * t961 - 0.790811707e-7 * t160 * t3278 + 0.209603871e-7 * t690 * t954 + 0.209603871e-7 * t160 * t3223 + 0.631891628e-2 * t690 * t947 + 0.631891628e-2 * t160 * t3261 + 0.822139896e-3 * t3343 + 0.822139896e-3 * t44 * t3223 + 0.100339208e0 * t3347; + const double t3352 = t648 * t947; + const double t3356 = t648 * t943; + const double t3380 = -0.303347141e-2 * t3352 - 0.303347141e-2 * t44 * t3261 + 0.100339208e0 * t3356 + 0.888525527e-8 * t657 * t978 + 0.888525527e-8 * t208 * t3213 + 0.850272392e-8 * t815 * t978 - 0.376702959e-7 * t134 * t3223 - 0.376702959e-7 * t815 * t954 - 0.138472194e-7 * t815 * t968 - 0.138472194e-7 * t134 * t3240 - 0.896771404e-2 * t815 * t947 - 0.1350932724e0 * t688 * t959 - 0.82957404e-6 * t757 * t943 - 0.82957404e-6 * t759 * t943; + const double t3411 = -0.82957404e-6 * t242 * t3192 + 0.509417745e-6 * t780 * t943 + 0.509417745e-6 * t782 * t943 + 0.842036616e-1 * t852 * t943 + 0.842036616e-1 * t192 * t3192 + 0.509417745e-6 * t129 * t3192 - 0.565485306e-1 * t878 * t943 - 0.565485306e-1 * t880 * t943 - 0.565485306e-1 * t156 * t3192 - 0.548733873e-1 * t799 * t943 - 0.548733873e-1 * t801 * t943 - 0.548733873e-1 * t175 * t3192 + 0.842036616e-1 * t850 * t943 - 0.450310908e-1 * t215 * t3192 - 0.2637272316e-1 * t753 * t943; + const double t3436 = t657 * t943; + const double t3438 = -0.2637272316e-1 * t755 * t943 + 0.82889846164125e-3 * t3200 - 0.240026440066875e-2 * t3228 + 0.2006940657e-7 * t688 * t968 - 0.669043971e-8 * t688 * t978 - 0.105312309e-2 * t688 * t954 + 0.548718171e-2 * t688 * t961 + 0.879759123e-2 * t688 * t947 - 0.130393038e0 * t688 * t943 - 0.189176620712625e-1 * t3204 + 0.2787661693108125e-1 * t3208 + 0.362485880376375e-1 * t3232 - 0.2637272316e-1 * t230 * t3192 - 0.450310908e-1 * t866 * t943 + 0.940675747e-2 * t3436; + const double t3439 = t208 * t3192; + const double t3445 = t724 * t943; + const double t3447 = t179 * t3192; + const double t3453 = t648 * t968; + const double t3469 = 0.940675747e-2 * t3439 - 0.691592964e-8 * t772 * t978 - 0.691592964e-8 * t107 * t3213 - 0.182177954e-1 * t3445 - 0.182177954e-1 * t3447 + 0.339308972e-2 * t724 * t961 + 0.339308972e-2 * t179 * t3278 - 0.514204676e-4 * t3453 - 0.514204676e-4 * t44 * t3240 - 0.774224962e-8 * t657 * t968 - 0.774224962e-8 * t208 * t3240 + 0.505920757e-7 * t657 * t947 + 0.505920757e-7 * t208 * t3261 + 0.554588743e-7 * t657 * t961 + 0.554588743e-7 * t208 * t3278; + const double t3472 = t3253 + t3293 + t3318 + t3349 + t3380 + t3411 + t3438 + t3469; + const double t3476 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t3472 ); + const double t3478 = t943 * t943; + const double t3480 = t925 * t925; + const double t3483 = t277 * t3480; + const double t3485 = t1126 * t3480; + const double t3488 = t933 * t933; + const double t3489 = t73 * t3488; + const double t3497 = t940 * t940; + const double t3504 = 0.6e1 * t1153 * t3488 + 0.24e2 * t291 * t3488 + t2675 + t2677; + const double t3507 = piecewise_functor_3( t60, -0.18e2 * t69 * t3480 + t2645 + t2649 - t2653 - 0.12e2 * t3483 + 0.6e2 * t3485, -0.12e2 * t1137 * t934 * t940 - 0.24e2 * t1132 * t3489 - 0.2e1 * t1149 * t3497 + 0.6e1 * t281 * t3488 + t288 * t3504 + t2666 ); + const double t3511 = t91 * t3478; + const double t3513 = t86 * t3507; + const double t3515 = t93 * t3478; + const double t3517 = t85 * t3507; + const double t3519 = t83 * t3478; + const double t3521 = t84 * t3507; + const double t3524 = 0.9009e4 / 0.8e1 * t3511 + 0.3003e4 / 0.16e2 * t3513 - 0.3465e4 / 0.4e1 * t3515 - 0.3465e4 / 0.16e2 * t3517 + 0.945e3 / 0.8e1 * t3519 + 0.945e3 / 0.16e2 * t3521 - 0.35e2 / 0.16e2 * t3507; + const double t3527 = t85 * t3478; + const double t3529 = t91 * t3507; + const double t3531 = t84 * t3478; + const double t3533 = t93 * t3507; + const double t3536 = t83 * t3507; + const double t3538 = 0.3465e4 / 0.8e1 * t3527 + 0.693e3 / 0.8e1 * t3529 - 0.945e3 / 0.4e1 * t3531 - 0.315e3 / 0.4e1 * t3533 + 0.105e3 / 0.8e1 * t3478 + 0.105e3 / 0.8e1 * t3536; + const double t3551 = 0.105e3 / 0.2e1 * t3531 + 0.35e2 / 0.2e1 * t3533 - 0.15e2 / 0.2e1 * t3478 - 0.15e2 / 0.2e1 * t3536; + const double t3559 = 0.15e2 * t3519 + 0.15e2 / 0.2e1 * t3521 - 0.3e1 / 0.2e1 * t3507; + const double t3567 = 0.315e3 / 0.2e1 * t3515 + 0.315e3 / 0.8e1 * t3517 - 0.105e3 / 0.2e1 * t3519 - 0.105e3 / 0.4e1 * t3521 + 0.15e2 / 0.8e1 * t3507; + const double t3580 = 0.1406365375513125e-1 * t3478 - 0.4373652639371875e-2 * t3507 + 0.940675747e-2 * t208 * t3507 - 0.691592964e-8 * t107 * t3524 + 0.694482484e-8 * t107 * t3538 - 0.43464346e-1 * t195 * t3507 - 0.940351563e-5 * t44 * t3524 + 0.888525527e-8 * t208 * t3524 - 0.416393106e-7 * t107 * t3551 + 0.182906057e-2 * t195 * t3551 + 0.293253041e-2 * t195 * t3559 - 0.35104103e-3 * t195 * t3567 - 0.223014657e-8 * t195 * t3524 + 0.912223751e-8 * t160 * t3538 - 0.790811707e-7 * t160 * t3551 + 0.209603871e-7 * t160 * t3567 + 0.631891628e-2 * t160 * t3559; + const double t3608 = 0.674910119e-8 * t179 * t3524 + 0.162638575e-1 * t160 * t3507 - 0.548733873e-1 * t160 * t3478 + 0.842036616e-1 * t179 * t3478 - 0.82957404e-6 * t208 * t3478 - 0.884148272e-2 * t134 * t3507 + 0.82889846164125e-3 * t3511 + 0.138149743606875e-3 * t3513 - 0.189176620712625e-1 * t3515 - 0.4729415517815625e-2 * t3517 + 0.2787661693108125e-1 * t3519 + 0.13938308465540625e-1 * t3521 - 0.493824365e-8 * t160 * t3524 + 0.100339208e0 * t44 * t3507 - 0.303347141e-2 * t44 * t3559 + 0.822139896e-3 * t44 * t3567 + 0.362485880376375e-1 * t3531; + const double t3640 = 0.120828626792125e-1 * t3533 + 0.1406365375513125e-1 * t3536 + 0.119130546e-2 * t44 * t3551 - 0.240026440066875e-2 * t3527 - 0.48005288013375e-3 * t3529 - 0.514204676e-4 * t44 * t3538 - 0.845508103e-2 * t179 * t3559 - 0.338128188e-7 * t208 * t3567 - 0.182177954e-1 * t179 * t3507 + 0.339308972e-2 * t179 * t3551 - 0.450310908e-1 * t195 * t3478 - 0.2637272316e-1 * t44 * t3478 - 0.774224962e-8 * t208 * t3538 + 0.505920757e-7 * t208 * t3559 + 0.554588743e-7 * t208 * t3551 + 0.509417745e-6 * t107 * t3478 - 0.565485306e-1 * t134 * t3478; + const double t3677 = 0.896739466e-3 * t179 * t3567 - 0.216860568e-7 * t179 * t3538 + 0.236391411e-7 * t107 * t3567 - 0.957417512e-2 * t107 * t3507 - 0.265114646e-7 * t107 * t3559 + 0.668980219e-8 * t195 * t3538 + 0.850272392e-8 * t134 * t3524 - 0.450310908e-1 * t215 * t3507 - 0.2637272316e-1 * t230 * t3507 + 0.842036616e-1 * t192 * t3507 + 0.509417745e-6 * t129 * t3507 - 0.565485306e-1 * t156 * t3507 - 0.548733873e-1 * t175 * t3507 - 0.82957404e-6 * t242 * t3507 - 0.376702959e-7 * t134 * t3567 - 0.138472194e-7 * t134 * t3538 - 0.896771404e-2 * t134 * t3559 + 0.162238741e-6 * t134 * t3551; + const double t3679 = t3580 + t3608 + t3640 + t3677; + const double t3683 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t3679 ); + + + v2rho2 = 0.2e1 * rho * t1654 + 0.4e1 * t603; + v2rhosigma = 0.2e1 * rho * t2298 + 0.2e1 * t920; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t2637 + 0.2e1 * t1084; + v2sigma2 = 0.2e1 * rho * t3160; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t3476; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t3683; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t28 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t29 = t28 * t28; + constexpr double t306 = t21 * t21; + constexpr double t308 = 0.1e1 / t23 / t22; + constexpr double t309 = t306 * t308; + constexpr double t1203 = t22 * t22; + constexpr double t1204 = 0.1e1 / t1203; + constexpr double t1712 = t309 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = t11 + 0.1e1; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t27 = t26 * sigma; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = sigma * t29; + const double t36 = t35 * t33; + const double t39 = 0.65124e1 + t26 * t36 / 0.24e2; + const double t40 = 0.1e1 / t39; + const double t41 = t34 * t40; + const double t42 = t27 * t41; + const double t44 = t42 / 0.12e2 - 0.1e1; + const double t45 = t44 * t44; + const double t46 = t45 * t45; + const double t49 = t46 * t45; + const double t51 = tau * t29; + const double t53 = 0.1e1 / t31 / rho; + const double t59 = 0.5e1 / 0.9e1 * ( t51 * t53 - t36 / 0.8e1 ) * t21 * t25; + const double t60 = 0.1e5 <= t59; + const double t61 = 0.1e5 < t59; + const double t62 = piecewise_functor_3( t61, t59, 10000.0 ); + const double t63 = t62 * t62; + const double t66 = t63 * t62; + const double t67 = 0.1e1 / t66; + const double t68 = t63 * t63; + const double t69 = 0.1e1 / t68; + const double t72 = piecewise_functor_3( t61, 10000.0, t59 ); + const double t73 = t72 * t72; + const double t74 = 0.1e1 - t73; + const double t75 = t74 * t74; + const double t76 = t75 * t74; + const double t77 = t73 * t72; + const double t78 = 0.1e1 + t77; + const double t80 = t77 * t78 + 0.1e1; + const double t81 = 0.1e1 / t80; + const double t83 = piecewise_functor_3( t60, 0.1e1 - 0.3e1 / t63 - t67 + 0.3e1 * t69, -t76 * t81 ); + const double t84 = t83 * t83; + const double t85 = t84 * t84; + const double t86 = t85 * t84; + const double t91 = t85 * t83; + const double t93 = t84 * t83; + const double t95 = t85 * t93; + const double t98 = t45 * t44; + const double t99 = t46 * t98; + const double t102 = t46 * t44; + const double t107 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t49 - 0.315e3 / 0.16e2 * t46 + 0.105e3 / 0.16e2 * t45; + const double t111 = 0.63e2 / 0.8e1 * t91 - 0.35e2 / 0.4e1 * t93 + 0.15e2 / 0.8e1 * t83; + const double t116 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t85 - 0.15e2 / 0.4e1 * t84; + const double t119 = -0.138056183978125e0 * t46 - 0.92294814328125e-1 * t45 + 0.80024660533125e-1 * t49 - 0.80008813355625e-4 * t86 + 0.3020715669803125e-2 * t85 + 0.7031826877565625e-2 * t84 - 0.4373652639371875e-2 * t83 - 0.945883103563125e-3 * t91 + 0.4646102821846875e-2 * t93 + 0.19735677658125e-4 * t95 - 0.13022208355989583333e-1 * t42 + 0.106025815520625e0 * t99 + 0.497944638409375e0 * t98 - 0.395061199588125e0 * t102 + 0.236391411e-7 * t107 * t111 - 0.416393106e-7 * t107 * t116; + const double t122 = 0.5e1 / 0.2e1 * t93 - 0.3e1 / 0.2e1 * t83; + const double t126 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t84; + const double t129 = t107 * t83; + const double t134 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t98 + 0.5e1 / 0.32e2 * t42 - 0.15e2 / 0.8e1; + const double t139 = 0.429e3 / 0.16e2 * t95 - 0.693e3 / 0.16e2 * t91 + 0.315e3 / 0.16e2 * t93 - 0.35e2 / 0.16e2 * t83; + const double t145 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t86 - 0.315e3 / 0.16e2 * t85 + 0.105e3 / 0.16e2 * t84; + const double t156 = t134 * t83; + const double t160 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t46 - 0.15e2 / 0.4e1 * t45; + const double t173 = -0.265114646e-7 * t107 * t122 + 0.169805915e-6 * t107 * t126 - 0.957417512e-2 * t129 + 0.850272392e-8 * t134 * t139 - 0.138472194e-7 * t134 * t145 - 0.376702959e-7 * t134 * t111 + 0.162238741e-6 * t134 * t116 - 0.896771404e-2 * t134 * t122 - 0.188495102e-1 * t134 * t126 - 0.884148272e-2 * t156 - 0.493824365e-8 * t160 * t139 + 0.912223751e-8 * t160 * t145 + 0.209603871e-7 * t160 * t111 - 0.790811707e-7 * t160 * t116 + 0.631891628e-2 * t160 * t122 - 0.182911291e-1 * t160 * t126; + const double t175 = t160 * t83; + const double t179 = 0.5e1 / 0.2e1 * t98 - t42 / 0.8e1 + 0.3e1 / 0.2e1; + const double t192 = t179 * t83; + const double t195 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t45; + const double t208 = 0.429e3 / 0.16e2 * t99 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t98 - 0.35e2 / 0.192e3 * t42 + 0.35e2 / 0.16e2; + const double t215 = t195 * t83; + const double t217 = 0.162638575e-1 * t175 + 0.674910119e-8 * t179 * t139 - 0.216860568e-7 * t179 * t145 + 0.896739466e-3 * t179 * t111 + 0.339308972e-2 * t179 * t116 - 0.845508103e-2 * t179 * t122 + 0.280678872e-1 * t179 * t126 - 0.182177954e-1 * t192 - 0.223014657e-8 * t195 * t139 + 0.668980219e-8 * t195 * t145 - 0.35104103e-3 * t195 * t111 + 0.182906057e-2 * t195 * t116 + 0.888525527e-8 * t208 * t139 + 0.293253041e-2 * t195 * t122 - 0.150103636e-1 * t195 * t126 - 0.43464346e-1 * t215; + const double t230 = t44 * t83; + const double t242 = t208 * t83; + const double t248 = 0.1380567225218996875e1 - 0.940351563e-5 * t44 * t139 - 0.514204676e-4 * t44 * t145 + 0.822139896e-3 * t44 * t111 + 0.119130546e-2 * t44 * t116 - 0.303347141e-2 * t44 * t122 - 0.879090772e-2 * t44 * t126 + 0.100339208e0 * t230 - 0.774224962e-8 * t208 * t145 - 0.338128188e-7 * t208 * t111 + 0.554588743e-7 * t208 * t116 + 0.505920757e-7 * t208 * t122 - 0.27652468e-6 * t208 * t126 + 0.940675747e-2 * t242 - 0.691592964e-8 * t107 * t139 + 0.694482484e-8 * t107 * t145; + const double t250 = t119 + t173 + t217 + t248; + const double t254 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t250 ); + const double t256 = t18 / t31; + const double t262 = t30 * rho; + const double t264 = 0.1e1 / t31 / t262; + const double t270 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * t51 * t33 + t35 * t264 / 0.3e1 ) * t21 * t25; + const double t271 = piecewise_functor_3( t61, t270, 0.0 ); + const double t274 = t69 * t271; + const double t277 = 0.1e1 / t68 / t62; + const double t278 = t277 * t271; + const double t281 = t75 * t81; + const double t282 = piecewise_functor_3( t61, 0.0, t270 ); + const double t283 = t72 * t282; + const double t286 = t80 * t80; + const double t287 = 0.1e1 / t286; + const double t288 = t76 * t287; + const double t289 = t73 * t78; + const double t291 = t73 * t73; + const double t292 = t291 * t72; + const double t295 = 0.3e1 * t289 * t282 + 0.3e1 * t292 * t282; + const double t298 = piecewise_functor_3( t60, 0.6e1 * t67 * t271 + 0.3e1 * t274 - 0.12e2 * t278, 0.6e1 * t281 * t283 + t288 * t295 ); + const double t302 = t29 * t264; + const double t303 = t302 * t40; + const double t304 = t27 * t303; + const double t310 = sigma * sigma; + const double t311 = t309 * t310; + const double t312 = t30 * t30; + const double t313 = t312 * t30; + const double t315 = 0.1e1 / t19 / t313; + const double t317 = t39 * t39; + const double t318 = 0.1e1 / t317; + const double t319 = t28 * t315 * t318; + const double t320 = t311 * t319; + const double t322 = -0.2e1 / 0.9e1 * t304 + t320 / 0.54e2; + const double t323 = t44 * t322; + const double t334 = t322 * t83; + const double t336 = t44 * t298; + const double t338 = t322 * t122; + const double t340 = t84 * t298; + const double t343 = 0.15e2 / 0.2e1 * t340 - 0.3e1 / 0.2e1 * t298; + const double t346 = t322 * t126; + const double t348 = t322 * t111; + const double t350 = t85 * t298; + const double t354 = 0.315e3 / 0.8e1 * t350 - 0.105e3 / 0.4e1 * t340 + 0.15e2 / 0.8e1 * t298; + const double t357 = -0.4373652639371875e-2 * t298 - 0.2637272316e-1 * t230 * t298 + 0.2006940657e-7 * t323 * t145 - 0.105312309e-2 * t323 * t111 + 0.548718171e-2 * t323 * t116 + 0.879759123e-2 * t323 * t122 - 0.450310908e-1 * t323 * t126 + 0.100339208e0 * t334 + 0.100339208e0 * t336 - 0.303347141e-2 * t338 - 0.303347141e-2 * t44 * t343 - 0.879090772e-2 * t346 + 0.822139896e-3 * t348 + 0.822139896e-3 * t44 * t354; + const double t358 = t322 * t116; + const double t360 = t49 * t322; + const double t362 = t46 * t322; + const double t364 = t45 * t322; + const double t368 = 0.3003e4 / 0.16e2 * t360 - 0.3465e4 / 0.16e2 * t362 + 0.945e3 / 0.16e2 * t364 + 0.35e2 / 0.72e2 * t304 - 0.35e2 / 0.864e3 * t320; + const double t371 = t93 * t298; + const double t373 = t83 * t298; + const double t375 = 0.35e2 / 0.2e1 * t371 - 0.15e2 / 0.2e1 * t373; + const double t378 = t91 * t298; + const double t382 = 0.693e3 / 0.8e1 * t378 - 0.315e3 / 0.4e1 * t371 + 0.105e3 / 0.8e1 * t373; + const double t391 = t98 * t322; + const double t396 = 0.35e2 / 0.2e1 * t391 - 0.15e2 / 0.2e1 * t323; + const double t399 = t396 * t83; + const double t401 = t160 * t298; + const double t407 = 0.119130546e-2 * t358 + 0.554588743e-7 * t368 * t116 + 0.554588743e-7 * t208 * t375 - 0.774224962e-8 * t208 * t382 - 0.338128188e-7 * t368 * t111 - 0.338128188e-7 * t208 * t354 - 0.216860568e-7 * t179 * t382 - 0.5522247359125e0 * t391 - 0.18458962865625e0 * t323 - 0.182911291e-1 * t396 * t126 + 0.162638575e-1 * t399 + 0.162638575e-1 * t401 - 0.790811707e-7 * t396 * t116 - 0.790811707e-7 * t160 * t375; + const double t413 = t86 * t298; + const double t418 = 0.3003e4 / 0.16e2 * t413 - 0.3465e4 / 0.16e2 * t350 + 0.945e3 / 0.16e2 * t340 - 0.35e2 / 0.16e2 * t298; + const double t423 = t102 * t322; + const double t427 = 0.693e3 / 0.8e1 * t423 - 0.315e3 / 0.4e1 * t391 + 0.105e3 / 0.8e1 * t323; + const double t443 = 0.631891628e-2 * t396 * t122 + 0.631891628e-2 * t160 * t343 + 0.850272392e-8 * t134 * t418 - 0.416393106e-7 * t107 * t375 - 0.265114646e-7 * t427 * t122 - 0.265114646e-7 * t107 * t343 + 0.236391411e-7 * t427 * t111 + 0.236391411e-7 * t107 * t354 - 0.4729415517815625e-2 * t350 + 0.13938308465540625e-1 * t340 + 0.742180708644375e0 * t360 - 0.1975305997940625e1 * t362 + 0.1493833915228125e1 * t364 - 0.774224962e-8 * t368 * t145; + const double t448 = 0.315e3 / 0.8e1 * t362 - 0.105e3 / 0.4e1 * t364 - 0.5e1 / 0.12e2 * t304 + 0.5e1 / 0.144e3 * t320; + const double t456 = t427 * t83; + const double t458 = t107 * t298; + const double t468 = t368 * t83; + const double t470 = t208 * t298; + const double t474 = -0.138472194e-7 * t448 * t145 - 0.138472194e-7 * t134 * t382 + 0.48014796319875e0 * t423 + 0.169805915e-6 * t427 * t126 - 0.957417512e-2 * t456 - 0.957417512e-2 * t458 + 0.850272392e-8 * t448 * t139 - 0.416393106e-7 * t427 * t116 + 0.694482484e-8 * t427 * t145 + 0.694482484e-8 * t107 * t382 + 0.940675747e-2 * t468 + 0.940675747e-2 * t470 + 0.120828626792125e-1 * t371 + 0.1406365375513125e-1 * t373; + const double t479 = t322 * t145; + const double t484 = t195 * t298; + const double t486 = t322 * t139; + const double t501 = 0.15e2 / 0.2e1 * t364 + t304 / 0.3e1 - t320 / 0.36e2; + const double t504 = t501 * t83; + const double t506 = t179 * t298; + const double t508 = 0.119130546e-2 * t44 * t375 - 0.514204676e-4 * t479 - 0.48005288013375e-3 * t378 - 0.514204676e-4 * t44 * t382 - 0.43464346e-1 * t484 - 0.940351563e-5 * t486 - 0.940351563e-5 * t44 * t418 + 0.182906057e-2 * t195 * t375 + 0.293253041e-2 * t195 * t343 - 0.35104103e-3 * t195 * t354 + 0.668980219e-8 * t195 * t382 + 0.280678872e-1 * t501 * t126 - 0.182177954e-1 * t504 - 0.182177954e-1 * t506; + const double t536 = -0.223014657e-8 * t195 * t418 + 0.339308972e-2 * t501 * t116 + 0.339308972e-2 * t179 * t375 - 0.845508103e-2 * t501 * t122 - 0.845508103e-2 * t179 * t343 + 0.896739466e-3 * t501 * t111 + 0.896739466e-3 * t179 * t354 + 0.674910119e-8 * t501 * t139 + 0.674910119e-8 * t179 * t418 - 0.216860568e-7 * t501 * t145 + 0.888525527e-8 * t368 * t139 + 0.138149743606875e-3 * t413 + 0.888525527e-8 * t208 * t418 - 0.493824365e-8 * t396 * t139; + const double t566 = 0.162238741e-6 * t448 * t116 + 0.162238741e-6 * t134 * t375 - 0.896771404e-2 * t448 * t122 - 0.896771404e-2 * t134 * t343 - 0.376702959e-7 * t448 * t111 - 0.376702959e-7 * t134 * t354 - 0.691592964e-8 * t427 * t139 - 0.691592964e-8 * t107 * t418 + 0.505920757e-7 * t368 * t122 + 0.505920757e-7 * t208 * t343 - 0.27652468e-6 * t368 * t126 + 0.209603871e-7 * t396 * t111 + 0.209603871e-7 * t160 * t354 - 0.493824365e-8 * t160 * t418; + const double t573 = t448 * t83; + const double t575 = t134 * t298; + const double t595 = 0.912223751e-8 * t396 * t145 + 0.912223751e-8 * t160 * t382 - 0.188495102e-1 * t448 * t126 - 0.884148272e-2 * t573 - 0.884148272e-2 * t575 - 0.450310908e-1 * t215 * t298 - 0.130393038e0 * t323 * t83 + 0.842036616e-1 * t192 * t298 - 0.669043971e-8 * t323 * t139 - 0.548733873e-1 * t175 * t298 - 0.565485306e-1 * t156 * t298 + 0.509417745e-6 * t129 * t298 - 0.82957404e-6 * t242 * t298 + 0.34725888949305555555e-1 * t304 - 0.28938240791087962962e-2 * t320; + const double t598 = t357 + t407 + t443 + t474 + t508 + t536 + t566 + t595; + const double t603 = piecewise_functor_3( t3, 0.0, -t7 * t256 * t250 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t598 ); + const double t606 = t26 * t34; + const double t607 = 0.5e1 / 0.72e2 * t606; + const double t608 = piecewise_functor_3( t61, -t607, 0.0 ); + const double t611 = t69 * t608; + const double t613 = t277 * t608; + const double t616 = piecewise_functor_3( t61, 0.0, -t607 ); + const double t617 = t72 * t616; + const double t623 = 0.3e1 * t289 * t616 + 0.3e1 * t292 * t616; + const double t626 = piecewise_functor_3( t60, 0.6e1 * t67 * t608 + 0.3e1 * t611 - 0.12e2 * t613, 0.6e1 * t281 * t617 + t288 * t623 ); + const double t628 = t86 * t626; + const double t630 = t85 * t626; + const double t632 = t84 * t626; + const double t635 = 0.3003e4 / 0.16e2 * t628 - 0.3465e4 / 0.16e2 * t630 + 0.945e3 / 0.16e2 * t632 - 0.35e2 / 0.16e2 * t626; + const double t638 = t26 * t41; + const double t641 = t312 * rho; + const double t645 = t28 / t19 / t641 * t318; + const double t646 = t309 * sigma * t645; + const double t648 = t638 / 0.12e2 - t646 / 0.144e3; + const double t649 = t49 * t648; + const double t651 = t46 * t648; + const double t653 = t45 * t648; + const double t657 = 0.3003e4 / 0.16e2 * t649 - 0.3465e4 / 0.16e2 * t651 + 0.945e3 / 0.16e2 * t653 - 0.35e2 / 0.192e3 * t638 + 0.35e2 / 0.2304e4 * t646; + const double t660 = t91 * t626; + const double t662 = t93 * t626; + const double t664 = t83 * t626; + const double t666 = 0.693e3 / 0.8e1 * t660 - 0.315e3 / 0.4e1 * t662 + 0.105e3 / 0.8e1 * t664; + const double t669 = t648 * t139; + const double t677 = 0.15e2 / 0.2e1 * t632 - 0.3e1 / 0.2e1 * t626; + const double t682 = t648 * t145; + const double t686 = t98 * t648; + const double t688 = t44 * t648; + const double t690 = 0.35e2 / 0.2e1 * t686 - 0.15e2 / 0.2e1 * t688; + const double t697 = -0.4373652639371875e-2 * t626 + 0.888525527e-8 * t208 * t635 - 0.774224962e-8 * t657 * t145 - 0.774224962e-8 * t208 * t666 - 0.940351563e-5 * t669 - 0.940351563e-5 * t44 * t635 + 0.505920757e-7 * t657 * t122 + 0.505920757e-7 * t208 * t677 - 0.27652468e-6 * t657 * t126 - 0.514204676e-4 * t682 - 0.514204676e-4 * t44 * t666 - 0.493824365e-8 * t690 * t139 - 0.493824365e-8 * t160 * t635 + 0.912223751e-8 * t690 * t145; + const double t705 = 0.315e3 / 0.8e1 * t630 - 0.105e3 / 0.4e1 * t632 + 0.15e2 / 0.8e1 * t626; + const double t712 = 0.35e2 / 0.2e1 * t662 - 0.15e2 / 0.2e1 * t664; + const double t715 = t102 * t648; + const double t724 = 0.15e2 / 0.2e1 * t653 - t638 / 0.8e1 + t646 / 0.96e2; + const double t737 = 0.912223751e-8 * t160 * t666 + 0.209603871e-7 * t690 * t111 + 0.209603871e-7 * t160 * t705 - 0.790811707e-7 * t690 * t116 - 0.790811707e-7 * t160 * t712 + 0.48014796319875e0 * t715 - 0.338128188e-7 * t657 * t111 - 0.338128188e-7 * t208 * t705 + 0.896739466e-3 * t724 * t111 + 0.896739466e-3 * t179 * t705 + 0.339308972e-2 * t724 * t116 + 0.339308972e-2 * t179 * t712 - 0.845508103e-2 * t724 * t122 - 0.845508103e-2 * t179 * t677; + const double t739 = t648 * t111; + const double t743 = t648 * t116; + const double t747 = t648 * t122; + const double t751 = t648 * t126; + const double t753 = t648 * t83; + const double t755 = t44 * t626; + const double t757 = t657 * t83; + const double t759 = t208 * t626; + const double t766 = 0.822139896e-3 * t739 + 0.822139896e-3 * t44 * t705 + 0.119130546e-2 * t743 + 0.119130546e-2 * t44 * t712 - 0.303347141e-2 * t747 - 0.303347141e-2 * t44 * t677 - 0.879090772e-2 * t751 + 0.100339208e0 * t753 + 0.100339208e0 * t755 + 0.940675747e-2 * t757 + 0.940675747e-2 * t759 - 0.216860568e-7 * t179 * t666 + 0.742180708644375e0 * t649 + 0.888525527e-8 * t657 * t139; + const double t772 = 0.693e3 / 0.8e1 * t715 - 0.315e3 / 0.4e1 * t686 + 0.105e3 / 0.8e1 * t688; + const double t780 = t772 * t83; + const double t782 = t107 * t626; + const double t796 = -0.5522247359125e0 * t686 - 0.18458962865625e0 * t688 - 0.265114646e-7 * t772 * t122 + 0.13938308465540625e-1 * t632 - 0.265114646e-7 * t107 * t677 + 0.169805915e-6 * t772 * t126 - 0.957417512e-2 * t780 - 0.957417512e-2 * t782 + 0.236391411e-7 * t107 * t705 - 0.416393106e-7 * t772 * t116 - 0.416393106e-7 * t107 * t712 + 0.631891628e-2 * t690 * t122 + 0.631891628e-2 * t160 * t677 - 0.182911291e-1 * t690 * t126; + const double t799 = t690 * t83; + const double t801 = t160 * t626; + const double t815 = 0.315e3 / 0.8e1 * t651 - 0.105e3 / 0.4e1 * t653 + 0.5e1 / 0.32e2 * t638 - 0.5e1 / 0.384e3 * t646; + const double t826 = 0.162638575e-1 * t799 + 0.162638575e-1 * t801 + 0.674910119e-8 * t724 * t139 + 0.674910119e-8 * t179 * t635 - 0.216860568e-7 * t724 * t145 - 0.1975305997940625e1 * t651 + 0.1493833915228125e1 * t653 + 0.850272392e-8 * t815 * t139 + 0.138149743606875e-3 * t628 - 0.4729415517815625e-2 * t630 + 0.850272392e-8 * t134 * t635 - 0.138472194e-7 * t815 * t145 - 0.48005288013375e-3 * t660 + 0.120828626792125e-1 * t662; + const double t850 = t724 * t83; + const double t852 = t179 * t626; + const double t854 = 0.1406365375513125e-1 * t664 - 0.138472194e-7 * t134 * t666 - 0.376702959e-7 * t815 * t111 - 0.376702959e-7 * t134 * t705 - 0.691592964e-8 * t772 * t139 - 0.691592964e-8 * t107 * t635 + 0.694482484e-8 * t772 * t145 + 0.694482484e-8 * t107 * t666 + 0.236391411e-7 * t772 * t111 + 0.554588743e-7 * t657 * t116 + 0.554588743e-7 * t208 * t712 + 0.280678872e-1 * t724 * t126 - 0.182177954e-1 * t850 - 0.182177954e-1 * t852; + const double t866 = t195 * t626; + const double t878 = t815 * t83; + const double t880 = t134 * t626; + const double t883 = -0.223014657e-8 * t195 * t635 + 0.668980219e-8 * t195 * t666 - 0.35104103e-3 * t195 * t705 + 0.182906057e-2 * t195 * t712 + 0.293253041e-2 * t195 * t677 - 0.43464346e-1 * t866 + 0.162238741e-6 * t815 * t116 + 0.162238741e-6 * t134 * t712 - 0.896771404e-2 * t815 * t122 - 0.896771404e-2 * t134 * t677 - 0.188495102e-1 * t815 * t126 - 0.884148272e-2 * t878 - 0.884148272e-2 * t880 + 0.10851840296657986111e-2 * t646; + const double t913 = -0.13022208355989583333e-1 * t638 + 0.509417745e-6 * t129 * t626 - 0.565485306e-1 * t156 * t626 - 0.548733873e-1 * t175 * t626 + 0.842036616e-1 * t192 * t626 - 0.669043971e-8 * t688 * t139 + 0.2006940657e-7 * t688 * t145 - 0.105312309e-2 * t688 * t111 + 0.548718171e-2 * t688 * t116 + 0.879759123e-2 * t688 * t122 - 0.450310908e-1 * t688 * t126 - 0.450310908e-1 * t215 * t626 - 0.130393038e0 * t688 * t83 - 0.2637272316e-1 * t230 * t626 - 0.82957404e-6 * t242 * t626; + const double t916 = t697 + t737 + t766 + t796 + t826 + t854 + t883 + t913; + const double t920 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t916 ); + const double t924 = 0.5e1 / 0.9e1 * t29 * t53 * t26; + const double t925 = piecewise_functor_3( t61, t924, 0.0 ); + const double t928 = t69 * t925; + const double t930 = t277 * t925; + const double t933 = piecewise_functor_3( t61, 0.0, t924 ); + const double t934 = t72 * t933; + const double t940 = 0.3e1 * t289 * t933 + 0.3e1 * t292 * t933; + const double t943 = piecewise_functor_3( t60, 0.6e1 * t67 * t925 + 0.3e1 * t928 - 0.12e2 * t930, 0.6e1 * t281 * t934 + t288 * t940 ); + const double t944 = t84 * t943; + const double t947 = 0.15e2 / 0.2e1 * t944 - 0.3e1 / 0.2e1 * t943; + const double t950 = t85 * t943; + const double t954 = 0.315e3 / 0.8e1 * t950 - 0.105e3 / 0.4e1 * t944 + 0.15e2 / 0.8e1 * t943; + const double t957 = t93 * t943; + const double t959 = t83 * t943; + const double t961 = 0.35e2 / 0.2e1 * t957 - 0.15e2 / 0.2e1 * t959; + const double t964 = t91 * t943; + const double t968 = 0.693e3 / 0.8e1 * t964 - 0.315e3 / 0.4e1 * t957 + 0.105e3 / 0.8e1 * t959; + const double t971 = t134 * t943; + const double t973 = t86 * t943; + const double t978 = 0.3003e4 / 0.16e2 * t973 - 0.3465e4 / 0.16e2 * t950 + 0.945e3 / 0.16e2 * t944 - 0.35e2 / 0.16e2 * t943; + const double t993 = 0.631891628e-2 * t160 * t947 + 0.209603871e-7 * t160 * t954 - 0.790811707e-7 * t160 * t961 + 0.912223751e-8 * t160 * t968 - 0.884148272e-2 * t971 - 0.493824365e-8 * t160 * t978 + 0.162238741e-6 * t134 * t961 - 0.896771404e-2 * t134 * t947 - 0.138472194e-7 * t134 * t968 - 0.48005288013375e-3 * t964 + 0.120828626792125e-1 * t957 + 0.1406365375513125e-1 * t959 - 0.216860568e-7 * t179 * t968 - 0.4729415517815625e-2 * t950; + const double t997 = t160 * t943; + const double t1004 = t179 * t943; + const double t1020 = 0.13938308465540625e-1 * t944 + 0.896739466e-3 * t179 * t954 + 0.162638575e-1 * t997 + 0.138149743606875e-3 * t973 + 0.674910119e-8 * t179 * t978 - 0.845508103e-2 * t179 * t947 - 0.182177954e-1 * t1004 + 0.339308972e-2 * t179 * t961 - 0.691592964e-8 * t107 * t978 + 0.554588743e-7 * t208 * t961 + 0.505920757e-7 * t208 * t947 - 0.774224962e-8 * t208 * t968 - 0.338128188e-7 * t208 * t954 + 0.888525527e-8 * t208 * t978; + const double t1022 = t44 * t943; + const double t1032 = t195 * t943; + const double t1050 = 0.100339208e0 * t1022 - 0.303347141e-2 * t44 * t947 + 0.822139896e-3 * t44 * t954 + 0.119130546e-2 * t44 * t961 - 0.514204676e-4 * t44 * t968 - 0.43464346e-1 * t1032 - 0.940351563e-5 * t44 * t978 + 0.182906057e-2 * t195 * t961 + 0.293253041e-2 * t195 * t947 - 0.35104103e-3 * t195 * t954 - 0.223014657e-8 * t195 * t978 + 0.668980219e-8 * t195 * t968 - 0.376702959e-7 * t134 * t954 + 0.850272392e-8 * t134 * t978; + const double t1053 = t107 * t943; + const double t1061 = t208 * t943; + const double t1078 = -0.265114646e-7 * t107 * t947 - 0.957417512e-2 * t1053 + 0.236391411e-7 * t107 * t954 - 0.416393106e-7 * t107 * t961 + 0.694482484e-8 * t107 * t968 + 0.940675747e-2 * t1061 - 0.4373652639371875e-2 * t943 - 0.450310908e-1 * t215 * t943 - 0.2637272316e-1 * t230 * t943 - 0.82957404e-6 * t242 * t943 + 0.509417745e-6 * t129 * t943 - 0.565485306e-1 * t156 * t943 - 0.548733873e-1 * t175 * t943 + 0.842036616e-1 * t192 * t943; + const double t1080 = t993 + t1020 + t1050 + t1078; + const double t1084 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1080 ); + const double t1087 = t18 * t53; + const double t1094 = t312 * t262; + const double t1096 = 0.1e1 / t19 / t1094; + const double t1098 = t28 * t1096 * t318; + const double t1099 = t311 * t1098; + const double t1101 = t298 * t298; + const double t1103 = t322 * t322; + const double t1105 = t271 * t271; + const double t1111 = 0.1e1 / t31 / t312; + const double t1117 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * t51 * t264 - 0.11e2 / 0.9e1 * t35 * t1111 ) * t21 * t25; + const double t1118 = piecewise_functor_3( t61, t1117, 0.0 ); + const double t1121 = t277 * t1105; + const double t1126 = 0.1e1 / t68 / t63; + const double t1127 = t1126 * t1105; + const double t1132 = t74 * t81; + const double t1133 = t282 * t282; + const double t1134 = t73 * t1133; + const double t1137 = t75 * t287; + const double t1138 = t283 * t295; + const double t1143 = piecewise_functor_3( t61, 0.0, t1117 ); + const double t1144 = t72 * t1143; + const double t1148 = 0.1e1 / t286 / t80; + const double t1149 = t76 * t1148; + const double t1150 = t295 * t295; + const double t1153 = t72 * t78; + const double t1162 = 0.6e1 * t1153 * t1133 + 0.24e2 * t291 * t1133 + 0.3e1 * t289 * t1143 + 0.3e1 * t292 * t1143; + const double t1165 = piecewise_functor_3( t60, -0.18e2 * t69 * t1105 - 0.12e2 * t277 * t1118 + 0.6e1 * t67 * t1118 + 0.3e1 * t69 * t1118 - 0.12e2 * t1121 + 0.6e2 * t1127, -0.24e2 * t1132 * t1134 + 0.6e1 * t281 * t1133 - 0.12e2 * t1137 * t1138 + 0.6e1 * t281 * t1144 - 0.2e1 * t1149 * t1150 + t288 * t1162 ); + const double t1166 = t86 * t1165; + const double t1168 = t93 * t1101; + const double t1170 = t85 * t1165; + const double t1172 = t83 * t1101; + const double t1174 = t84 * t1165; + const double t1176 = t91 * t1101; + const double t1184 = 0.9009e4 / 0.8e1 * t1176 + 0.3003e4 / 0.16e2 * t1166 - 0.3465e4 / 0.4e1 * t1168 - 0.3465e4 / 0.16e2 * t1170 + 0.945e3 / 0.8e1 * t1172 + 0.945e3 / 0.16e2 * t1174 - 0.35e2 / 0.16e2 * t1165; + const double t1192 = 0.15e2 * t1172 + 0.15e2 / 0.2e1 * t1174 - 0.3e1 / 0.2e1 * t1165; + const double t1195 = 0.26044416711979166666e-1 * t1099 + 0.1406365375513125e-1 * t1101 - 0.18458962865625e0 * t1103 + 0.138149743606875e-3 * t1166 - 0.189176620712625e-1 * t1168 - 0.4729415517815625e-2 * t1170 + 0.2787661693108125e-1 * t1172 + 0.13938308465540625e-1 * t1174 - 0.493824365e-8 * t160 * t1184 - 0.1793542808e-1 * t448 * t343 - 0.896771404e-2 * t134 * t1192; + const double t1196 = t44 * t1103; + const double t1198 = t29 * t1111; + const double t1199 = t1198 * t40; + const double t1200 = t27 * t1199; + const double t1205 = t310 * sigma; + const double t1206 = t1204 * t1205; + const double t1207 = t312 * t312; + const double t1208 = t1207 * t30; + const double t1209 = 0.1e1 / t1208; + const double t1211 = 0.1e1 / t317 / t39; + const double t1213 = t1206 * t1209 * t1211; + const double t1215 = 0.22e2 / 0.27e2 * t1200 - t1099 / 0.6e1 + 0.4e1 / 0.81e2 * t1213; + const double t1216 = t45 * t1215; + const double t1223 = 0.15e2 * t1196 + 0.15e2 / 0.2e1 * t1216 - 0.11e2 / 0.9e1 * t1200 + t1099 / 0.4e1 - 0.2e1 / 0.27e2 * t1213; + const double t1228 = t84 * t1101; + const double t1230 = t93 * t1165; + const double t1232 = t83 * t1165; + const double t1238 = 0.105e3 / 0.2e1 * t1228 + 0.35e2 / 0.2e1 * t1230 - 0.15e2 / 0.2e1 * t1101 - 0.15e2 / 0.2e1 * t1232; + const double t1241 = t179 * t1165; + const double t1243 = t85 * t1101; + const double t1245 = t91 * t1165; + const double t1251 = 0.3465e4 / 0.8e1 * t1243 + 0.693e3 / 0.8e1 * t1245 - 0.945e3 / 0.4e1 * t1228 - 0.315e3 / 0.4e1 * t1230 + 0.105e3 / 0.8e1 * t1101 + 0.105e3 / 0.8e1 * t1232; + const double t1259 = 0.315e3 / 0.2e1 * t1168 + 0.315e3 / 0.8e1 * t1170 - 0.105e3 / 0.2e1 * t1172 - 0.105e3 / 0.4e1 * t1174 + 0.15e2 / 0.8e1 * t1165; + const double t1262 = t102 * t1103; + const double t1264 = t49 * t1215; + const double t1266 = t98 * t1103; + const double t1268 = t46 * t1215; + const double t1275 = 0.9009e4 / 0.8e1 * t1262 + 0.3003e4 / 0.16e2 * t1264 - 0.3465e4 / 0.4e1 * t1266 - 0.3465e4 / 0.16e2 * t1268 + 0.945e3 / 0.8e1 * t1196 + 0.945e3 / 0.16e2 * t1216 - 0.385e3 / 0.216e3 * t1200 + 0.35e2 / 0.96e2 * t1099 - 0.35e2 / 0.324e3 * t1213; + const double t1278 = 0.298766783045625e1 * t1196 + 0.1493833915228125e1 * t1216 + 0.339308972e-2 * t1223 * t116 + 0.678617944e-2 * t501 * t375 + 0.362485880376375e-1 * t1228 + 0.120828626792125e-1 * t1230 + 0.1406365375513125e-1 * t1232 + 0.339308972e-2 * t179 * t1238 - 0.182177954e-1 * t1241 - 0.138472194e-7 * t134 * t1251 - 0.338128188e-7 * t208 * t1259 - 0.338128188e-7 * t1275 * t111; + const double t1289 = 0.315e3 / 0.2e1 * t1266 + 0.315e3 / 0.8e1 * t1268 - 0.105e3 / 0.2e1 * t1196 - 0.105e3 / 0.4e1 * t1216 + 0.55e2 / 0.36e2 * t1200 - 0.5e1 / 0.16e2 * t1099 + 0.5e1 / 0.54e2 * t1213; + const double t1294 = t134 * t1165; + const double t1296 = t45 * t1103; + const double t1298 = t98 * t1215; + const double t1301 = t44 * t1215; + const double t1303 = 0.105e3 / 0.2e1 * t1296 + 0.35e2 / 0.2e1 * t1298 - 0.15e2 / 0.2e1 * t1103 - 0.15e2 / 0.2e1 * t1301; + const double t1308 = t322 * t382; + const double t1312 = t160 * t1165; + const double t1320 = -0.676256376e-7 * t368 * t354 + 0.162238741e-6 * t1289 * t116 + 0.324477482e-6 * t448 * t375 - 0.884148272e-2 * t1294 - 0.493824365e-8 * t1303 * t139 - 0.514204676e-4 * t1215 * t145 - 0.1028409352e-3 * t1308 - 0.790811707e-7 * t160 * t1238 + 0.162638575e-1 * t1312 - 0.790811707e-7 * t1303 * t116 - 0.1581623414e-6 * t396 * t375 - 0.182911291e-1 * t1303 * t126; + const double t1323 = t195 * t1165; + const double t1327 = t322 * t418; + const double t1341 = 0.554588743e-7 * t1275 * t116 - 0.43464346e-1 * t1323 - 0.940351563e-5 * t1215 * t139 - 0.1880703126e-4 * t1327 - 0.940351563e-5 * t44 * t1184 + 0.896739466e-3 * t1223 * t111 + 0.1793478932e-2 * t501 * t354 + 0.896739466e-3 * t179 * t1259 - 0.12732825948078703704e0 * t1200 + 0.742180708644375e0 * t1264 - 0.79012239917625e1 * t1266 - 0.1975305997940625e1 * t1268; + const double t1360 = t1215 * t83; + const double t1362 = t322 * t298; + const double t1364 = -0.774224962e-8 * t1275 * t145 - 0.1548449924e-7 * t368 * t382 - 0.240026440066875e-2 * t1243 - 0.98764873e-8 * t396 * t418 + 0.82889846164125e-3 * t1176 - 0.514204676e-4 * t44 * t1251 + 0.631891628e-2 * t1303 * t122 + 0.1263783256e-1 * t396 * t343 + 0.631891628e-2 * t160 * t1192 + 0.100339208e0 * t1360 + 0.200678416e0 * t1362; + const double t1365 = t44 * t1165; + const double t1389 = 0.100339208e0 * t1365 - 0.774224962e-8 * t208 * t1251 + 0.505920757e-7 * t1275 * t122 + 0.1011841514e-6 * t368 * t343 + 0.842036616e-1 * t179 * t1101 - 0.2637272316e-1 * t44 * t1101 + 0.2006940657e-7 * t1103 * t145 - 0.105312309e-2 * t1103 * t111 + 0.548718171e-2 * t1103 * t116 + 0.888525527e-8 * t208 * t1184 + 0.293253041e-2 * t195 * t1192 - 0.35104103e-3 * t195 * t1259; + const double t1409 = t46 * t1103; + const double t1411 = t102 * t1215; + const double t1417 = 0.3465e4 / 0.8e1 * t1409 + 0.693e3 / 0.8e1 * t1411 - 0.945e3 / 0.4e1 * t1296 - 0.315e3 / 0.4e1 * t1298 + 0.105e3 / 0.8e1 * t1103 + 0.105e3 / 0.8e1 * t1301; + const double t1418 = t1417 * t83; + const double t1420 = t427 * t298; + const double t1422 = t107 * t1165; + const double t1424 = 0.668980219e-8 * t195 * t1251 - 0.376702959e-7 * t1289 * t111 + 0.694482484e-8 * t107 * t1251 - 0.845508103e-2 * t1223 * t122 - 0.1691016206e-1 * t501 * t343 - 0.845508103e-2 * t179 * t1192 + 0.850272392e-8 * t134 * t1184 + 0.850272392e-8 * t1289 * t139 + 0.1700544784e-7 * t448 * t418 - 0.957417512e-2 * t1418 - 0.1914835024e-1 * t1420 - 0.957417512e-2 * t1422; + const double t1431 = t1223 * t83; + const double t1433 = t501 * t298; + const double t1439 = t322 * t375; + const double t1448 = 0.169805915e-6 * t1417 * t126 - 0.223014657e-8 * t195 * t1184 + 0.280678872e-1 * t1223 * t126 - 0.182177954e-1 * t1431 - 0.364355908e-1 * t1433 + 0.236391411e-7 * t107 * t1259 + 0.119130546e-2 * t1215 * t116 + 0.238261092e-2 * t1439 + 0.119130546e-2 * t44 * t1238 + 0.445308425186625e1 * t1262 - 0.265114646e-7 * t1417 * t122 - 0.530229292e-7 * t427 * t343; + const double t1464 = t1103 * t83; + const double t1466 = t208 * t1165; + const double t1474 = -0.669043971e-8 * t1103 * t139 - 0.548733873e-1 * t160 * t1101 - 0.565485306e-1 * t134 * t1101 + 0.879759123e-2 * t1103 * t122 - 0.450310908e-1 * t1103 * t126 - 0.450310908e-1 * t195 * t1101 - 0.130393038e0 * t1464 + 0.940675747e-2 * t1466 - 0.691592964e-8 * t1417 * t139 - 0.1383185928e-7 * t427 * t418 - 0.691592964e-8 * t107 * t1184; + const double t1485 = t1289 * t83; + const double t1487 = t448 * t298; + const double t1499 = 0.888525527e-8 * t1275 * t139 + 0.1777051054e-7 * t368 * t418 - 0.416393106e-7 * t107 * t1238 + 0.209603871e-7 * t1303 * t111 - 0.188495102e-1 * t1289 * t126 - 0.884148272e-2 * t1485 - 0.1768296544e-1 * t1487 + 0.419207742e-7 * t396 * t354 + 0.209603871e-7 * t160 * t1259 + 0.694482484e-8 * t1417 * t145 + 0.1388964968e-7 * t427 * t382 - 0.416393106e-7 * t1417 * t116; + const double t1523 = t322 * t354; + const double t1525 = -0.753405918e-7 * t448 * t354 - 0.376702959e-7 * t134 * t1259 - 0.265114646e-7 * t107 * t1192 - 0.216860568e-7 * t179 * t1251 + 0.674910119e-8 * t179 * t1184 + 0.674910119e-8 * t1223 * t139 + 0.1349820238e-7 * t501 * t418 + 0.912223751e-8 * t1303 * t145 + 0.1824447502e-7 * t396 * t382 - 0.832786212e-7 * t427 * t375 + 0.822139896e-3 * t1215 * t111 + 0.1644279792e-2 * t1523; + const double t1534 = t1275 * t83; + const double t1536 = t368 * t298; + const double t1539 = t322 * t343; + const double t1547 = 0.822139896e-3 * t44 * t1259 - 0.879090772e-2 * t1215 * t126 + 0.505920757e-7 * t208 * t1192 - 0.896771404e-2 * t1289 * t122 + 0.940675747e-2 * t1534 + 0.1881351494e-1 * t1536 - 0.4373652639371875e-2 * t1165 - 0.606694282e-2 * t1539 - 0.303347141e-2 * t44 * t1192 - 0.48005288013375e-3 * t1245 + 0.912223751e-8 * t160 * t1251 + 0.240073981599375e1 * t1409; + const double t1566 = t1303 * t83; + const double t1568 = t396 * t298; + const double t1570 = 0.48014796319875e0 * t1411 - 0.16566742077375e1 * t1296 - 0.5522247359125e0 * t1298 - 0.18458962865625e0 * t1301 + 0.236391411e-7 * t1417 * t111 + 0.472782822e-7 * t427 * t354 + 0.162238741e-6 * t134 * t1238 + 0.1109177486e-6 * t368 * t375 + 0.554588743e-7 * t208 * t1238 - 0.27652468e-6 * t1275 * t126 + 0.162638575e-1 * t1566 + 0.32527715e-1 * t1568; + const double t1594 = 0.182906057e-2 * t195 * t1238 - 0.138472194e-7 * t1289 * t145 - 0.276944388e-7 * t448 * t382 - 0.77168642109567901232e-2 * t1213 - 0.2701865448e0 * t323 * t373 + 0.509417745e-6 * t107 * t1101 - 0.82957404e-6 * t208 * t1101 - 0.216860568e-7 * t1223 * t145 - 0.433721136e-7 * t501 * t382 - 0.303347141e-2 * t1215 * t122 + 0.4013881314e-7 * t323 * t382 - 0.105312309e-2 * t1301 * t111; + const double t1620 = -0.210624618e-2 * t323 * t354 + 0.548718171e-2 * t1301 * t116 - 0.450310908e-1 * t1301 * t126 - 0.450310908e-1 * t215 * t1165 - 0.130393038e0 * t1301 * t83 - 0.260786076e0 * t323 * t298 + 0.1684073232e0 * t504 * t298 + 0.842036616e-1 * t192 * t1165 - 0.5274544632e-1 * t334 * t298 - 0.2637272316e-1 * t230 * t1165 + 0.2006940657e-7 * t1301 * t145 - 0.669043971e-8 * t1301 * t139; + const double t1645 = -0.1338087942e-7 * t323 * t418 - 0.1097467746e0 * t399 * t298 - 0.548733873e-1 * t175 * t1165 - 0.1130970612e0 * t573 * t298 - 0.565485306e-1 * t156 * t1165 + 0.1097436342e-1 * t323 * t375 + 0.879759123e-2 * t1301 * t122 + 0.1759518246e-1 * t323 * t343 + 0.101883549e-5 * t456 * t298 + 0.509417745e-6 * t129 * t1165 - 0.165914808e-5 * t468 * t298 - 0.82957404e-6 * t242 * t1165; + const double t1649 = t1195 + t1278 + t1320 + t1341 + t1364 + t1389 + t1424 + t1448 + t1474 + t1499 + t1525 + t1547 + t1570 + t1594 + t1620 + t1645; + const double t1654 = piecewise_functor_3( t3, 0.0, t7 * t1087 * t250 / 0.12e2 - t7 * t256 * t598 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1649 ); + const double t1662 = t26 * t302; + const double t1663 = 0.5e1 / 0.27e2 * t1662; + const double t1664 = piecewise_functor_3( t61, t1663, 0.0 ); + const double t1669 = t69 * t1664; + const double t1671 = t1126 * t608; + const double t1674 = t277 * t1664; + const double t1677 = t73 * t616; + const double t1678 = t1677 * t282; + const double t1681 = t617 * t295; + const double t1684 = t282 * t616; + const double t1687 = piecewise_functor_3( t61, 0.0, t1663 ); + const double t1688 = t72 * t1687; + const double t1691 = t623 * t72; + const double t1692 = t1691 * t282; + const double t1695 = t623 * t295; + const double t1700 = t291 * t282; + const double t1707 = 0.6e1 * t1153 * t1684 + 0.3e1 * t289 * t1687 + 0.3e1 * t292 * t1687 + 0.24e2 * t1700 * t616; + const double t1710 = piecewise_functor_3( t60, 0.6e1 * t67 * t1664 + 0.6e2 * t1671 * t271 - 0.18e2 * t611 * t271 - 0.12e2 * t613 * t271 + 0.3e1 * t1669 - 0.12e2 * t1674, -0.24e2 * t1132 * t1678 - 0.6e1 * t1137 * t1681 - 0.6e1 * t1137 * t1692 - 0.2e1 * t1149 * t1695 + 0.6e1 * t281 * t1684 + 0.6e1 * t281 * t1688 + t288 * t1707 ); + const double t1715 = t1712 * t315 * t318 * sigma; + const double t1717 = t1204 * t310; + const double t1718 = t1207 * rho; + const double t1719 = 0.1e1 / t1718; + const double t1721 = t1717 * t1719 * t1211; + const double t1725 = t715 * t322; + const double t1727 = t26 * t303; + const double t1731 = -0.2e1 / 0.9e1 * t1727 + t1715 / 0.18e2 - t1721 / 0.54e2; + const double t1732 = t49 * t1731; + const double t1734 = t686 * t322; + const double t1736 = t46 * t1731; + const double t1738 = t688 * t322; + const double t1740 = t45 * t1731; + const double t1745 = 0.9009e4 / 0.8e1 * t1725 + 0.3003e4 / 0.16e2 * t1732 - 0.3465e4 / 0.4e1 * t1734 - 0.3465e4 / 0.16e2 * t1736 + 0.945e3 / 0.8e1 * t1738 + 0.945e3 / 0.16e2 * t1740 + 0.35e2 / 0.72e2 * t1727 - 0.35e2 / 0.288e3 * t1715 + 0.35e2 / 0.864e3 * t1721; + const double t1750 = t660 * t298; + const double t1752 = t86 * t1710; + const double t1754 = t662 * t298; + const double t1756 = t85 * t1710; + const double t1758 = t664 * t298; + const double t1760 = t84 * t1710; + const double t1763 = 0.9009e4 / 0.8e1 * t1750 + 0.3003e4 / 0.16e2 * t1752 - 0.3465e4 / 0.4e1 * t1754 - 0.3465e4 / 0.16e2 * t1756 + 0.945e3 / 0.8e1 * t1758 + 0.945e3 / 0.16e2 * t1760 - 0.35e2 / 0.16e2 * t1710; + const double t1766 = t427 * t626; + const double t1768 = t107 * t1710; + const double t1770 = t651 * t322; + const double t1772 = t102 * t1731; + const double t1774 = t653 * t322; + const double t1776 = t98 * t1731; + const double t1778 = t322 * t648; + const double t1780 = t44 * t1731; + const double t1782 = 0.3465e4 / 0.8e1 * t1770 + 0.693e3 / 0.8e1 * t1772 - 0.945e3 / 0.4e1 * t1774 - 0.315e3 / 0.4e1 * t1776 + 0.105e3 / 0.8e1 * t1778 + 0.105e3 / 0.8e1 * t1780; + const double t1792 = 0.15e2 * t1738 + 0.15e2 / 0.2e1 * t1740 + t1727 / 0.3e1 - t1715 / 0.12e2 + t1721 / 0.36e2; + const double t1801 = 0.105e3 / 0.2e1 * t1774 + 0.35e2 / 0.2e1 * t1776 - 0.15e2 / 0.2e1 * t1778 - 0.15e2 / 0.2e1 * t1780; + const double t1802 = t1801 * t83; + const double t1804 = -0.4373652639371875e-2 * t1710 - 0.86814722373263888887e-2 * t1715 + 0.28938240791087962963e-2 * t1721 - 0.774224962e-8 * t657 * t382 - 0.774224962e-8 * t1745 * t145 + 0.888525527e-8 * t368 * t635 + 0.888525527e-8 * t208 * t1763 - 0.957417512e-2 * t1766 - 0.957417512e-2 * t1768 + 0.169805915e-6 * t1782 * t126 - 0.265114646e-7 * t772 * t343 + 0.674910119e-8 * t1792 * t139 + 0.674910119e-8 * t724 * t418 + 0.162638575e-1 * t1802; + const double t1805 = t690 * t298; + const double t1807 = t396 * t626; + const double t1809 = t160 * t1710; + const double t1818 = 0.315e3 / 0.2e1 * t1734 + 0.315e3 / 0.8e1 * t1736 - 0.105e3 / 0.2e1 * t1738 - 0.105e3 / 0.4e1 * t1740 - 0.5e1 / 0.12e2 * t1727 + 0.5e1 / 0.48e2 * t1715 - 0.5e1 / 0.144e3 * t1721; + const double t1823 = t1782 * t83; + const double t1825 = t772 * t298; + const double t1833 = t91 * t1710; + const double t1835 = t630 * t298; + const double t1838 = t632 * t298; + const double t1840 = t93 * t1710; + const double t1842 = t298 * t626; + const double t1844 = t83 * t1710; + const double t1846 = 0.3465e4 / 0.8e1 * t1835 + 0.693e3 / 0.8e1 * t1833 - 0.945e3 / 0.4e1 * t1838 - 0.315e3 / 0.4e1 * t1840 + 0.105e3 / 0.8e1 * t1842 + 0.105e3 / 0.8e1 * t1844; + const double t1855 = 0.105e3 / 0.2e1 * t1838 + 0.35e2 / 0.2e1 * t1840 - 0.15e2 / 0.2e1 * t1842 - 0.15e2 / 0.2e1 * t1844; + const double t1860 = 0.162638575e-1 * t1805 + 0.162638575e-1 * t1807 + 0.162638575e-1 * t1809 + 0.850272392e-8 * t1818 * t139 + 0.850272392e-8 * t815 * t418 - 0.957417512e-2 * t1823 - 0.957417512e-2 * t1825 + 0.236391411e-7 * t1782 * t111 + 0.236391411e-7 * t772 * t354 + 0.694482484e-8 * t427 * t666 - 0.48005288013375e-3 * t1833 + 0.694482484e-8 * t107 * t1846 + 0.162238741e-6 * t448 * t712 + 0.162238741e-6 * t134 * t1855 + 0.162238741e-6 * t1818 * t116; + const double t1867 = 0.315e3 / 0.2e1 * t1754 + 0.315e3 / 0.8e1 * t1756 - 0.105e3 / 0.2e1 * t1758 - 0.105e3 / 0.4e1 * t1760 + 0.15e2 / 0.8e1 * t1710; + const double t1881 = t322 * t626; + const double t1883 = t44 * t1710; + const double t1888 = t1745 * t83; + const double t1890 = t657 * t298; + const double t1892 = t1731 * t126; + const double t1894 = -0.376702959e-7 * t134 * t1867 + 0.694482484e-8 * t1782 * t145 + 0.694482484e-8 * t772 * t382 + 0.138149743606875e-3 * t1752 - 0.691592964e-8 * t107 * t1763 - 0.691592964e-8 * t427 * t635 - 0.691592964e-8 * t772 * t418 + 0.100339208e0 * t1881 + 0.100339208e0 * t1883 + 0.742180708644375e0 * t1732 - 0.1975305997940625e1 * t1736 + 0.1493833915228125e1 * t1740 + 0.940675747e-2 * t1888 + 0.940675747e-2 * t1890 - 0.879090772e-2 * t1892; + const double t1895 = t1731 * t83; + const double t1897 = t648 * t298; + const double t1899 = t322 * t677; + const double t1915 = t322 * t635; + const double t1919 = t195 * t1710; + const double t1921 = t1731 * t139; + const double t1923 = t648 * t418; + const double t1925 = 0.100339208e0 * t1895 + 0.100339208e0 * t1897 - 0.303347141e-2 * t1899 - 0.216860568e-7 * t501 * t666 - 0.216860568e-7 * t179 * t1846 - 0.216860568e-7 * t1792 * t145 - 0.216860568e-7 * t724 * t382 + 0.674910119e-8 * t501 * t635 + 0.674910119e-8 * t179 * t1763 + 0.505920757e-7 * t1745 * t122 - 0.940351563e-5 * t1915 - 0.940351563e-5 * t44 * t1763 - 0.43464346e-1 * t1919 - 0.940351563e-5 * t1921 - 0.940351563e-5 * t1923; + const double t1931 = 0.15e2 * t1758 + 0.15e2 / 0.2e1 * t1760 - 0.3e1 / 0.2e1 * t1710; + const double t1962 = 0.293253041e-2 * t195 * t1931 + 0.182906057e-2 * t195 * t1855 - 0.35104103e-3 * t195 * t1867 + 0.668980219e-8 * t195 * t1846 - 0.790811707e-7 * t160 * t1855 - 0.790811707e-7 * t1801 * t116 - 0.790811707e-7 * t690 * t375 + 0.209603871e-7 * t690 * t354 + 0.209603871e-7 * t396 * t705 + 0.209603871e-7 * t160 * t1867 - 0.182911291e-1 * t1801 * t126 + 0.631891628e-2 * t690 * t343 + 0.631891628e-2 * t396 * t677 + 0.631891628e-2 * t160 * t1931 + 0.631891628e-2 * t1801 * t122; + const double t1974 = t1731 * t145; + const double t1976 = t648 * t382; + const double t1986 = t1818 * t83; + const double t1988 = t815 * t298; + const double t1990 = t448 * t626; + const double t1992 = -0.790811707e-7 * t396 * t712 + 0.505920757e-7 * t657 * t343 + 0.505920757e-7 * t368 * t677 + 0.505920757e-7 * t208 * t1931 + 0.34725888949305555555e-1 * t1727 - 0.27652468e-6 * t1745 * t126 - 0.514204676e-4 * t1974 - 0.514204676e-4 * t1976 + 0.209603871e-7 * t1801 * t111 + 0.912223751e-8 * t690 * t382 + 0.912223751e-8 * t396 * t666 + 0.912223751e-8 * t160 * t1846 - 0.884148272e-2 * t1986 - 0.884148272e-2 * t1988 - 0.884148272e-2 * t1990; + const double t1994 = t134 * t1710; + const double t2020 = -0.884148272e-2 * t1994 - 0.188495102e-1 * t1818 * t126 + 0.48014796319875e0 * t1772 - 0.5522247359125e0 * t1776 - 0.18458962865625e0 * t1778 - 0.18458962865625e0 * t1780 - 0.416393106e-7 * t1782 * t116 - 0.416393106e-7 * t772 * t375 - 0.416393106e-7 * t427 * t712 + 0.912223751e-8 * t1801 * t145 - 0.493824365e-8 * t396 * t635 - 0.493824365e-8 * t160 * t1763 - 0.493824365e-8 * t1801 * t139 - 0.493824365e-8 * t690 * t418 - 0.138472194e-7 * t815 * t382; + const double t2051 = -0.138472194e-7 * t448 * t666 + 0.850272392e-8 * t448 * t635 + 0.850272392e-8 * t134 * t1763 - 0.338128188e-7 * t1745 * t111 - 0.774224962e-8 * t368 * t666 - 0.774224962e-8 * t208 * t1846 + 0.554588743e-7 * t208 * t1855 + 0.554588743e-7 * t1745 * t116 + 0.554588743e-7 * t657 * t375 - 0.845508103e-2 * t501 * t677 - 0.845508103e-2 * t179 * t1931 - 0.845508103e-2 * t1792 * t122 - 0.845508103e-2 * t724 * t343 + 0.339308972e-2 * t501 * t712 + 0.339308972e-2 * t179 * t1855; + const double t2063 = t368 * t626; + const double t2065 = t208 * t1710; + const double t2083 = 0.339308972e-2 * t1792 * t116 + 0.339308972e-2 * t724 * t375 + 0.896739466e-3 * t501 * t705 + 0.896739466e-3 * t179 * t1867 + 0.940675747e-2 * t2063 + 0.940675747e-2 * t2065 - 0.691592964e-8 * t1782 * t139 - 0.376702959e-7 * t1818 * t111 - 0.376702959e-7 * t815 * t354 - 0.376702959e-7 * t448 * t705 - 0.138472194e-7 * t134 * t1846 - 0.138472194e-7 * t1818 * t145 - 0.265114646e-7 * t427 * t677 - 0.265114646e-7 * t107 * t1931; + const double t2092 = t1731 * t122; + const double t2094 = t648 * t343; + const double t2096 = t322 * t712; + const double t2100 = t1731 * t116; + const double t2102 = t648 * t375; + const double t2106 = t1731 * t111; + const double t2108 = t648 * t354; + const double t2110 = t322 * t705; + const double t2112 = t322 * t666; + const double t2114 = -0.265114646e-7 * t1782 * t122 + 0.888525527e-8 * t657 * t418 + 0.888525527e-8 * t1745 * t139 - 0.303347141e-2 * t44 * t1931 - 0.303347141e-2 * t2092 - 0.303347141e-2 * t2094 + 0.119130546e-2 * t2096 + 0.119130546e-2 * t44 * t1855 + 0.119130546e-2 * t2100 + 0.119130546e-2 * t2102 + 0.822139896e-3 * t44 * t1867 + 0.822139896e-3 * t2106 + 0.822139896e-3 * t2108 + 0.822139896e-3 * t2110 - 0.514204676e-4 * t2112; + const double t2118 = t724 * t298; + const double t2120 = t501 * t626; + const double t2122 = t179 * t1710; + const double t2128 = t1792 * t83; + const double t2144 = -0.514204676e-4 * t44 * t1846 - 0.182177954e-1 * t2118 - 0.182177954e-1 * t2120 - 0.182177954e-1 * t2122 - 0.223014657e-8 * t195 * t1763 + 0.280678872e-1 * t1792 * t126 - 0.182177954e-1 * t2128 + 0.554588743e-7 * t368 * t712 + 0.896739466e-3 * t1792 * t111 + 0.896739466e-3 * t724 * t354 - 0.338128188e-7 * t208 * t1867 - 0.338128188e-7 * t657 * t354 - 0.338128188e-7 * t368 * t705 + 0.120828626792125e-1 * t1840 + 0.1406365375513125e-1 * t1842; + const double t2172 = 0.1406365375513125e-1 * t1844 - 0.416393106e-7 * t107 * t1855 + 0.236391411e-7 * t427 * t705 - 0.4729415517815625e-2 * t1756 + 0.13938308465540625e-1 * t1760 + 0.236391411e-7 * t107 * t1867 - 0.548733873e-1 * t799 * t298 - 0.565485306e-1 * t878 * t298 + 0.509417745e-6 * t780 * t298 - 0.896771404e-2 * t1818 * t122 - 0.896771404e-2 * t815 * t343 - 0.896771404e-2 * t448 * t677 - 0.896771404e-2 * t134 * t1931 + 0.162238741e-6 * t815 * t375 + 0.842036616e-1 * t504 * t626; + const double t2205 = 0.842036616e-1 * t506 * t626 + 0.509417745e-6 * t456 * t626 + 0.509417745e-6 * t458 * t626 + 0.842036616e-1 * t850 * t298 - 0.130393038e0 * t1778 * t83 - 0.130393038e0 * t1780 * t83 - 0.130393038e0 * t688 * t298 - 0.2637272316e-1 * t334 * t626 - 0.2637272316e-1 * t336 * t626 - 0.2637272316e-1 * t230 * t1710 + 0.548718171e-2 * t1778 * t116 + 0.548718171e-2 * t1780 * t116 + 0.548718171e-2 * t688 * t375 + 0.879759123e-2 * t1778 * t122 + 0.879759123e-2 * t1780 * t122; + const double t2236 = 0.879759123e-2 * t688 * t343 - 0.450310908e-1 * t1778 * t126 - 0.450310908e-1 * t1780 * t126 - 0.450310908e-1 * t484 * t626 - 0.450310908e-1 * t215 * t1710 + 0.842036616e-1 * t192 * t1710 - 0.669043971e-8 * t1778 * t139 - 0.669043971e-8 * t1780 * t139 - 0.669043971e-8 * t688 * t418 + 0.2006940657e-7 * t1778 * t145 + 0.2006940657e-7 * t1780 * t145 + 0.2006940657e-7 * t688 * t382 - 0.105312309e-2 * t1778 * t111 - 0.105312309e-2 * t1780 * t111 - 0.105312309e-2 * t688 * t354; + const double t2268 = 0.509417745e-6 * t129 * t1710 - 0.565485306e-1 * t573 * t626 - 0.565485306e-1 * t575 * t626 - 0.565485306e-1 * t156 * t1710 - 0.548733873e-1 * t399 * t626 - 0.548733873e-1 * t401 * t626 - 0.548733873e-1 * t175 * t1710 - 0.105312309e-2 * t323 * t705 + 0.548718171e-2 * t323 * t712 + 0.2006940657e-7 * t323 * t666 - 0.669043971e-8 * t323 * t635 - 0.2637272316e-1 * t753 * t298 - 0.82957404e-6 * t757 * t298 - 0.82957404e-6 * t468 * t626 - 0.82957404e-6 * t470 * t626; + const double t2289 = -0.82957404e-6 * t242 * t1710 + 0.879759123e-2 * t323 * t677 - 0.130393038e0 * t323 * t626 + 0.82889846164125e-3 * t1750 + 0.445308425186625e1 * t1725 - 0.79012239917625e1 * t1734 + 0.298766783045625e1 * t1738 - 0.189176620712625e-1 * t1754 + 0.2787661693108125e-1 * t1758 - 0.240026440066875e-2 * t1835 + 0.362485880376375e-1 * t1838 + 0.240073981599375e1 * t1770 - 0.16566742077375e1 * t1774 - 0.1350932724e0 * t688 * t373 - 0.1350932724e0 * t323 * t664; + const double t2293 = t1804 + t1860 + t1894 + t1925 + t1962 + t1992 + t2020 + t2051 + t2083 + t2114 + t2144 + t2172 + t2205 + t2236 + t2268 + t2289; + const double t2298 = piecewise_functor_3( t3, 0.0, -t7 * t256 * t916 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t2293 ); + const double t2306 = 0.25e2 / 0.27e2 * t606; + const double t2307 = piecewise_functor_3( t61, -t2306, 0.0 ); + const double t2312 = t69 * t2307; + const double t2314 = t1126 * t925; + const double t2317 = t277 * t2307; + const double t2320 = t73 * t933; + const double t2324 = t934 * t295; + const double t2327 = t282 * t933; + const double t2330 = piecewise_functor_3( t61, 0.0, -t2306 ); + const double t2331 = t72 * t2330; + const double t2334 = t940 * t72; + const double t2338 = t940 * t295; + const double t2349 = 0.6e1 * t1153 * t2327 + 0.24e2 * t1700 * t933 + 0.3e1 * t289 * t2330 + 0.3e1 * t292 * t2330; + const double t2352 = piecewise_functor_3( t60, 0.6e1 * t67 * t2307 + 0.6e2 * t2314 * t271 - 0.18e2 * t928 * t271 - 0.12e2 * t930 * t271 + 0.3e1 * t2312 - 0.12e2 * t2317, -0.24e2 * t1132 * t2320 * t282 - 0.6e1 * t1137 * t2334 * t282 - 0.6e1 * t1137 * t2324 - 0.2e1 * t1149 * t2338 + 0.6e1 * t281 * t2327 + 0.6e1 * t281 * t2331 + t288 * t2349 ); + const double t2354 = t950 * t298; + const double t2356 = t91 * t2352; + const double t2358 = t944 * t298; + const double t2360 = t93 * t2352; + const double t2362 = t298 * t943; + const double t2364 = t83 * t2352; + const double t2366 = 0.3465e4 / 0.8e1 * t2354 + 0.693e3 / 0.8e1 * t2356 - 0.945e3 / 0.4e1 * t2358 - 0.315e3 / 0.4e1 * t2360 + 0.105e3 / 0.8e1 * t2362 + 0.105e3 / 0.8e1 * t2364; + const double t2369 = t368 * t943; + const double t2371 = t208 * t2352; + const double t2379 = t396 * t943; + const double t2381 = t160 * t2352; + const double t2385 = t964 * t298; + const double t2387 = t86 * t2352; + const double t2389 = t957 * t298; + const double t2391 = t85 * t2352; + const double t2393 = t959 * t298; + const double t2395 = t84 * t2352; + const double t2398 = 0.9009e4 / 0.8e1 * t2385 + 0.3003e4 / 0.16e2 * t2387 - 0.3465e4 / 0.4e1 * t2389 - 0.3465e4 / 0.16e2 * t2391 + 0.945e3 / 0.8e1 * t2393 + 0.945e3 / 0.16e2 * t2395 - 0.35e2 / 0.16e2 * t2352; + const double t2408 = 0.315e3 / 0.2e1 * t2389 + 0.315e3 / 0.8e1 * t2391 - 0.105e3 / 0.2e1 * t2393 - 0.105e3 / 0.4e1 * t2395 + 0.15e2 / 0.8e1 * t2352; + const double t2413 = -0.4373652639371875e-2 * t2352 - 0.216860568e-7 * t179 * t2366 + 0.940675747e-2 * t2369 + 0.940675747e-2 * t2371 - 0.691592964e-8 * t427 * t978 + 0.694482484e-8 * t107 * t2366 + 0.694482484e-8 * t427 * t968 + 0.162638575e-1 * t2379 + 0.162638575e-1 * t2381 + 0.674910119e-8 * t501 * t978 + 0.674910119e-8 * t179 * t2398 + 0.896739466e-3 * t501 * t954 + 0.896739466e-3 * t179 * t2408 - 0.216860568e-7 * t501 * t968; + const double t2420 = 0.105e3 / 0.2e1 * t2358 + 0.35e2 / 0.2e1 * t2360 - 0.15e2 / 0.2e1 * t2362 - 0.15e2 / 0.2e1 * t2364; + const double t2431 = t427 * t943; + const double t2433 = t107 * t2352; + const double t2440 = 0.15e2 * t2393 + 0.15e2 / 0.2e1 * t2395 - 0.3e1 / 0.2e1 * t2352; + const double t2443 = t322 * t943; + const double t2445 = t501 * t943; + const double t2447 = t179 * t2352; + const double t2453 = -0.416393106e-7 * t427 * t961 - 0.416393106e-7 * t107 * t2420 + 0.339308972e-2 * t501 * t961 + 0.339308972e-2 * t179 * t2420 + 0.236391411e-7 * t427 * t954 + 0.236391411e-7 * t107 * t2408 - 0.957417512e-2 * t2431 - 0.957417512e-2 * t2433 - 0.896771404e-2 * t448 * t947 - 0.896771404e-2 * t134 * t2440 + 0.100339208e0 * t2443 - 0.182177954e-1 * t2445 - 0.182177954e-1 * t2447 + 0.162238741e-6 * t448 * t961 + 0.162238741e-6 * t134 * t2420; + const double t2459 = t448 * t943; + const double t2461 = t134 * t2352; + const double t2485 = -0.493824365e-8 * t396 * t978 - 0.493824365e-8 * t160 * t2398 - 0.884148272e-2 * t2459 - 0.884148272e-2 * t2461 + 0.912223751e-8 * t396 * t968 + 0.912223751e-8 * t160 * t2366 - 0.790811707e-7 * t160 * t2420 - 0.790811707e-7 * t396 * t961 + 0.209603871e-7 * t160 * t2408 + 0.209603871e-7 * t396 * t954 + 0.631891628e-2 * t396 * t947 + 0.631891628e-2 * t160 * t2440 + 0.554588743e-7 * t208 * t2420 + 0.293253041e-2 * t195 * t2440 - 0.691592964e-8 * t107 * t2398; + const double t2516 = -0.35104103e-3 * t195 * t2408 - 0.223014657e-8 * t195 * t2398 + 0.668980219e-8 * t195 * t2366 - 0.845508103e-2 * t501 * t947 - 0.845508103e-2 * t179 * t2440 - 0.338128188e-7 * t368 * t954 - 0.774224962e-8 * t368 * t968 - 0.774224962e-8 * t208 * t2366 + 0.505920757e-7 * t368 * t947 + 0.505920757e-7 * t208 * t2440 + 0.554588743e-7 * t368 * t961 + 0.888525527e-8 * t368 * t978 + 0.888525527e-8 * t208 * t2398 - 0.338128188e-7 * t208 * t2408 - 0.265114646e-7 * t427 * t947; + const double t2533 = t44 * t2352; + const double t2535 = t322 * t947; + const double t2540 = t322 * t954; + const double t2545 = -0.265114646e-7 * t107 * t2440 + 0.850272392e-8 * t448 * t978 + 0.850272392e-8 * t134 * t2398 - 0.376702959e-7 * t448 * t954 - 0.376702959e-7 * t134 * t2408 - 0.138472194e-7 * t448 * t968 - 0.138472194e-7 * t134 * t2366 + 0.100339208e0 * t2533 - 0.303347141e-2 * t2535 + 0.13938308465540625e-1 * t2395 - 0.303347141e-2 * t44 * t2440 + 0.822139896e-3 * t2540 - 0.4729415517815625e-2 * t2391 + 0.822139896e-3 * t44 * t2408; + const double t2546 = t322 * t961; + const double t2553 = t322 * t968; + const double t2558 = t195 * t2352; + const double t2560 = t322 * t978; + const double t2571 = 0.119130546e-2 * t2546 + 0.120828626792125e-1 * t2360 + 0.1406365375513125e-1 * t2362 + 0.1406365375513125e-1 * t2364 + 0.119130546e-2 * t44 * t2420 - 0.514204676e-4 * t2553 - 0.48005288013375e-3 * t2356 - 0.514204676e-4 * t44 * t2366 - 0.43464346e-1 * t2558 - 0.940351563e-5 * t2560 + 0.138149743606875e-3 * t2387 - 0.940351563e-5 * t44 * t2398 + 0.182906057e-2 * t195 * t2420 + 0.509417745e-6 * t458 * t943 + 0.509417745e-6 * t129 * t2352; + const double t2603 = -0.565485306e-1 * t573 * t943 - 0.565485306e-1 * t575 * t943 - 0.565485306e-1 * t156 * t2352 - 0.548733873e-1 * t399 * t943 - 0.548733873e-1 * t401 * t943 - 0.548733873e-1 * t175 * t2352 + 0.548718171e-2 * t323 * t961 - 0.130393038e0 * t323 * t943 + 0.842036616e-1 * t504 * t943 + 0.842036616e-1 * t506 * t943 + 0.842036616e-1 * t192 * t2352 + 0.2006940657e-7 * t323 * t968 - 0.669043971e-8 * t323 * t978 - 0.105312309e-2 * t323 * t954 + 0.879759123e-2 * t323 * t947; + const double t2629 = -0.82957404e-6 * t468 * t943 - 0.82957404e-6 * t470 * t943 - 0.82957404e-6 * t242 * t2352 + 0.509417745e-6 * t456 * t943 - 0.450310908e-1 * t484 * t943 - 0.450310908e-1 * t215 * t2352 - 0.2637272316e-1 * t334 * t943 - 0.2637272316e-1 * t336 * t943 + 0.2787661693108125e-1 * t2393 - 0.189176620712625e-1 * t2389 - 0.2637272316e-1 * t230 * t2352 + 0.362485880376375e-1 * t2358 - 0.240026440066875e-2 * t2354 + 0.82889846164125e-3 * t2385 - 0.1350932724e0 * t323 * t959; + const double t2632 = t2413 + t2453 + t2485 + t2516 + t2545 + t2571 + t2603 + t2629; + const double t2637 = piecewise_functor_3( t3, 0.0, -t7 * t256 * t1080 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t2632 ); + const double t2640 = t608 * t608; + const double t2643 = piecewise_functor_3( t61, 0.0, 0.0 ); + const double t2645 = 0.6e1 * t67 * t2643; + const double t2646 = t277 * t2640; + const double t2648 = t69 * t2643; + const double t2649 = 0.3e1 * t2648; + const double t2650 = t1126 * t2640; + const double t2652 = t277 * t2643; + const double t2653 = 0.12e2 * t2652; + const double t2655 = t616 * t616; + const double t2656 = t73 * t2655; + const double t2659 = t617 * t623; + const double t2664 = t72 * t2643; + const double t2666 = 0.6e1 * t281 * t2664; + const double t2667 = t623 * t623; + const double t2675 = 0.3e1 * t289 * t2643; + const double t2677 = 0.3e1 * t292 * t2643; + const double t2678 = 0.6e1 * t1153 * t2655 + 0.24e2 * t291 * t2655 + t2675 + t2677; + const double t2681 = piecewise_functor_3( t60, -0.18e2 * t69 * t2640 + t2645 - 0.12e2 * t2646 + t2649 + 0.6e2 * t2650 - t2653, -0.24e2 * t1132 * t2656 - 0.12e2 * t1137 * t2659 - 0.2e1 * t1149 * t2667 + 0.6e1 * t281 * t2655 + t288 * t2678 + t2666 ); + const double t2683 = t626 * t626; + const double t2685 = t309 * t645; + const double t2687 = t648 * t648; + const double t2689 = t85 * t2683; + const double t2691 = t91 * t2681; + const double t2693 = t84 * t2683; + const double t2695 = t93 * t2681; + const double t2698 = t83 * t2681; + const double t2700 = 0.3465e4 / 0.8e1 * t2689 + 0.693e3 / 0.8e1 * t2691 - 0.945e3 / 0.4e1 * t2693 - 0.315e3 / 0.4e1 * t2695 + 0.105e3 / 0.8e1 * t2683 + 0.105e3 / 0.8e1 * t2698; + const double t2706 = t1204 * sigma; + const double t2707 = 0.1e1 / t1207; + const double t2709 = t2706 * t2707 * t1211; + const double t2711 = -t2685 / 0.72e2 + t2709 / 0.144e3; + const double t2714 = t648 * t705; + const double t2716 = t93 * t2683; + const double t2718 = t85 * t2681; + const double t2720 = t83 * t2683; + const double t2722 = t84 * t2681; + const double t2725 = 0.315e3 / 0.2e1 * t2716 + 0.315e3 / 0.8e1 * t2718 - 0.105e3 / 0.2e1 * t2720 - 0.105e3 / 0.4e1 * t2722 + 0.15e2 / 0.8e1 * t2681; + const double t2734 = 0.105e3 / 0.2e1 * t2693 + 0.35e2 / 0.2e1 * t2695 - 0.15e2 / 0.2e1 * t2683 - 0.15e2 / 0.2e1 * t2698; + const double t2737 = -0.4373652639371875e-2 * t2681 + 0.1406365375513125e-1 * t2683 + 0.21703680593315972222e-2 * t2685 - 0.18458962865625e0 * t2687 + 0.694482484e-8 * t107 * t2700 - 0.514204676e-4 * t44 * t2700 + 0.822139896e-3 * t2711 * t111 + 0.1644279792e-2 * t2714 + 0.822139896e-3 * t44 * t2725 - 0.1581623414e-6 * t690 * t712 - 0.790811707e-7 * t160 * t2734; + const double t2742 = t46 * t2687; + const double t2744 = t102 * t2711; + const double t2746 = t45 * t2687; + const double t2748 = t98 * t2711; + const double t2751 = t44 * t2711; + const double t2753 = 0.3465e4 / 0.8e1 * t2742 + 0.693e3 / 0.8e1 * t2744 - 0.945e3 / 0.4e1 * t2746 - 0.315e3 / 0.4e1 * t2748 + 0.105e3 / 0.8e1 * t2687 + 0.105e3 / 0.8e1 * t2751; + const double t2754 = t2753 * t83; + const double t2756 = t772 * t626; + const double t2758 = t107 * t2681; + const double t2760 = t98 * t2687; + const double t2762 = t46 * t2711; + const double t2764 = t44 * t2687; + const double t2766 = t45 * t2711; + const double t2770 = 0.315e3 / 0.2e1 * t2760 + 0.315e3 / 0.8e1 * t2762 - 0.105e3 / 0.2e1 * t2764 - 0.105e3 / 0.4e1 * t2766 - 0.5e1 / 0.192e3 * t2685 + 0.5e1 / 0.384e3 * t2709; + const double t2775 = t91 * t2683; + const double t2777 = t86 * t2681; + const double t2786 = 0.9009e4 / 0.8e1 * t2775 + 0.3003e4 / 0.16e2 * t2777 - 0.3465e4 / 0.4e1 * t2716 - 0.3465e4 / 0.16e2 * t2718 + 0.945e3 / 0.8e1 * t2720 + 0.945e3 / 0.16e2 * t2722 - 0.35e2 / 0.16e2 * t2681; + const double t2794 = 0.15e2 * t2720 + 0.15e2 / 0.2e1 * t2722 - 0.3e1 / 0.2e1 * t2681; + const double t2797 = 0.1011841514e-6 * t657 * t677 + 0.1700544784e-7 * t815 * t635 - 0.957417512e-2 * t2754 - 0.1914835024e-1 * t2756 - 0.957417512e-2 * t2758 - 0.138472194e-7 * t2770 * t145 - 0.276944388e-7 * t815 * t666 + 0.82889846164125e-3 * t2775 + 0.138149743606875e-3 * t2777 + 0.850272392e-8 * t134 * t2786 + 0.850272392e-8 * t2770 * t139 - 0.845508103e-2 * t179 * t2794; + const double t2799 = t102 * t2687; + const double t2801 = t49 * t2711; + const double t2813 = 0.9009e4 / 0.8e1 * t2799 + 0.3003e4 / 0.16e2 * t2801 - 0.3465e4 / 0.4e1 * t2760 - 0.3465e4 / 0.16e2 * t2762 + 0.945e3 / 0.8e1 * t2764 + 0.945e3 / 0.16e2 * t2766 + 0.35e2 / 0.1152e4 * t2685 - 0.35e2 / 0.2304e4 * t2709; + const double t2824 = 0.445308425186625e1 * t2799 + 0.742180708644375e0 * t2801 - 0.79012239917625e1 * t2760 - 0.1975305997940625e1 * t2762 + 0.554588743e-7 * t2813 * t116 - 0.189176620712625e-1 * t2716 - 0.4729415517815625e-2 * t2718 - 0.35104103e-3 * t195 * t2725 + 0.240073981599375e1 * t2742 + 0.48014796319875e0 * t2744 - 0.16566742077375e1 * t2746 - 0.5522247359125e0 * t2748; + const double t2842 = t648 * t635; + const double t2844 = t195 * t2681; + const double t2848 = -0.18458962865625e0 * t2751 - 0.416393106e-7 * t2753 * t116 - 0.896771404e-2 * t134 * t2794 + 0.162238741e-6 * t2770 * t116 + 0.324477482e-6 * t815 * t712 + 0.162238741e-6 * t134 * t2734 - 0.376702959e-7 * t134 * t2725 + 0.674910119e-8 * t179 * t2786 + 0.505920757e-7 * t2813 * t122 - 0.1880703126e-4 * t2842 - 0.43464346e-1 * t2844 + 0.293253041e-2 * t195 * t2794; + const double t2859 = t648 * t677; + const double t2865 = t2711 * t83; + const double t2867 = t648 * t626; + const double t2869 = t44 * t2681; + const double t2873 = 0.182906057e-2 * t195 * t2734 + 0.912223751e-8 * t160 * t2700 + 0.119130546e-2 * t44 * t2734 - 0.303347141e-2 * t2711 * t122 - 0.606694282e-2 * t2859 - 0.303347141e-2 * t44 * t2794 - 0.879090772e-2 * t2711 * t126 + 0.100339208e0 * t2865 + 0.200678416e0 * t2867 + 0.100339208e0 * t2869 - 0.27652468e-6 * t2813 * t126; + const double t2888 = t2687 * t83; + const double t2896 = 0.105e3 / 0.2e1 * t2746 + 0.35e2 / 0.2e1 * t2748 - 0.15e2 / 0.2e1 * t2687 - 0.15e2 / 0.2e1 * t2751; + const double t2903 = 0.15e2 * t2764 + 0.15e2 / 0.2e1 * t2766 + t2685 / 0.48e2 - t2709 / 0.96e2; + const double t2908 = 0.509417745e-6 * t107 * t2683 - 0.565485306e-1 * t134 * t2683 - 0.548733873e-1 * t160 * t2683 + 0.842036616e-1 * t179 * t2683 + 0.879759123e-2 * t2687 * t122 - 0.450310908e-1 * t2687 * t126 - 0.450310908e-1 * t195 * t2683 - 0.130393038e0 * t2888 - 0.2637272316e-1 * t44 * t2683 + 0.912223751e-8 * t2896 * t145 - 0.216860568e-7 * t2903 * t145 - 0.433721136e-7 * t724 * t666; + const double t2912 = t134 * t2681; + const double t2922 = t2896 * t83; + const double t2924 = t690 * t626; + const double t2931 = -0.216860568e-7 * t179 * t2700 - 0.884148272e-2 * t2912 - 0.493824365e-8 * t2896 * t139 - 0.98764873e-8 * t690 * t635 + 0.236391411e-7 * t2753 * t111 + 0.472782822e-7 * t772 * t705 + 0.162638575e-1 * t2922 + 0.32527715e-1 * t2924 - 0.832786212e-7 * t772 * t712 + 0.362485880376375e-1 * t2693 + 0.120828626792125e-1 * t2695 + 0.1406365375513125e-1 * t2698; + const double t2956 = -0.416393106e-7 * t107 * t2734 + 0.674910119e-8 * t2903 * t139 + 0.1349820238e-7 * t724 * t635 + 0.1109177486e-6 * t657 * t712 + 0.554588743e-7 * t208 * t2734 - 0.669043971e-8 * t2687 * t139 + 0.2006940657e-7 * t2687 * t145 - 0.105312309e-2 * t2687 * t111 + 0.668980219e-8 * t195 * t2700 - 0.1383185928e-7 * t772 * t635 - 0.338128188e-7 * t2813 * t111 - 0.676256376e-7 * t657 * t705; + const double t2962 = t160 * t2681; + const double t2982 = -0.691592964e-8 * t107 * t2786 + 0.162638575e-1 * t2962 - 0.338128188e-7 * t208 * t2725 - 0.774224962e-8 * t208 * t2700 + 0.631891628e-2 * t2896 * t122 + 0.1263783256e-1 * t690 * t677 - 0.530229292e-7 * t772 * t677 + 0.888525527e-8 * t2813 * t139 + 0.1777051054e-7 * t657 * t635 + 0.548718171e-2 * t2687 * t116 + 0.169805915e-6 * t2753 * t126; + const double t2989 = t2903 * t83; + const double t2991 = t724 * t626; + const double t2993 = t179 * t2681; + const double t3001 = t2770 * t83; + const double t3003 = t815 * t626; + const double t3007 = -0.265114646e-7 * t107 * t2794 - 0.265114646e-7 * t2753 * t122 + 0.280678872e-1 * t2903 * t126 - 0.182177954e-1 * t2989 - 0.364355908e-1 * t2991 - 0.182177954e-1 * t2993 - 0.896771404e-2 * t2770 * t122 - 0.1793542808e-1 * t815 * t677 - 0.188495102e-1 * t2770 * t126 - 0.884148272e-2 * t3001 - 0.1768296544e-1 * t3003 - 0.182911291e-1 * t2896 * t126; + const double t3011 = t648 * t666; + const double t3017 = t648 * t712; + const double t3033 = -0.514204676e-4 * t2711 * t145 - 0.1028409352e-3 * t3011 + 0.505920757e-7 * t208 * t2794 + 0.119130546e-2 * t2711 * t116 + 0.238261092e-2 * t3017 - 0.940351563e-5 * t44 * t2786 + 0.694482484e-8 * t2753 * t145 + 0.1388964968e-7 * t772 * t666 - 0.940351563e-5 * t2711 * t139 + 0.1824447502e-7 * t690 * t666 - 0.774224962e-8 * t2813 * t145 - 0.1548449924e-7 * t657 * t666; + const double t3054 = 0.888525527e-8 * t208 * t2786 + 0.298766783045625e1 * t2764 + 0.1493833915228125e1 * t2766 - 0.845508103e-2 * t2903 * t122 - 0.1691016206e-1 * t724 * t677 + 0.2787661693108125e-1 * t2720 + 0.13938308465540625e-1 * t2722 + 0.631891628e-2 * t160 * t2794 + 0.339308972e-2 * t2903 * t116 + 0.678617944e-2 * t724 * t712 + 0.339308972e-2 * t179 * t2734 + 0.236391411e-7 * t107 * t2725; + const double t3061 = t2813 * t83; + const double t3063 = t657 * t626; + const double t3065 = t208 * t2681; + const double t3078 = 0.896739466e-3 * t2903 * t111 + 0.1793478932e-2 * t724 * t705 + 0.940675747e-2 * t3061 + 0.1881351494e-1 * t3063 + 0.940675747e-2 * t3065 - 0.691592964e-8 * t2753 * t139 - 0.493824365e-8 * t160 * t2786 + 0.209603871e-7 * t160 * t2725 - 0.10851840296657986111e-2 * t2709 + 0.101883549e-5 * t780 * t626 - 0.1097467746e0 * t799 * t626; + const double t3103 = -0.1130970612e0 * t878 * t626 + 0.509417745e-6 * t129 * t2681 - 0.565485306e-1 * t156 * t2681 - 0.548733873e-1 * t175 * t2681 + 0.1684073232e0 * t850 * t626 + 0.842036616e-1 * t192 * t2681 - 0.669043971e-8 * t2751 * t139 - 0.1338087942e-7 * t688 * t635 + 0.2006940657e-7 * t2751 * t145 + 0.4013881314e-7 * t688 * t666 - 0.105312309e-2 * t2751 * t111 - 0.210624618e-2 * t688 * t705; + const double t3129 = 0.548718171e-2 * t2751 * t116 + 0.1097436342e-1 * t688 * t712 + 0.879759123e-2 * t2751 * t122 + 0.1759518246e-1 * t688 * t677 - 0.450310908e-1 * t2751 * t126 - 0.450310908e-1 * t215 * t2681 - 0.130393038e0 * t2751 * t83 - 0.260786076e0 * t688 * t626 - 0.5274544632e-1 * t753 * t626 - 0.2637272316e-1 * t230 * t2681 - 0.165914808e-5 * t757 * t626 - 0.82957404e-6 * t242 * t2681; + const double t3152 = -0.82957404e-6 * t208 * t2683 - 0.376702959e-7 * t2770 * t111 - 0.753405918e-7 * t815 * t705 - 0.240026440066875e-2 * t2689 - 0.48005288013375e-3 * t2691 - 0.138472194e-7 * t134 * t2700 - 0.790811707e-7 * t2896 * t116 - 0.223014657e-8 * t195 * t2786 + 0.209603871e-7 * t2896 * t111 + 0.419207742e-7 * t690 * t705 + 0.896739466e-3 * t179 * t2725 - 0.2701865448e0 * t688 * t664; + const double t3156 = t2737 + t2797 + t2824 + t2848 + t2873 + t2908 + t2931 + t2956 + t2982 + t3007 + t3033 + t3054 + t3078 + t3103 + t3129 + t3152; + const double t3160 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t3156 ); + const double t3175 = t616 * t933; + const double t3181 = t940 * t623; + const double t3186 = t291 * t616; + const double t3189 = 0.6e1 * t1153 * t3175 + 0.24e2 * t3186 * t933 + t2675 + t2677; + const double t3192 = piecewise_functor_3( t60, 0.6e2 * t2314 * t608 - 0.18e2 * t928 * t608 - 0.12e2 * t930 * t608 + t2645 + t2649 - t2653, -0.24e2 * t1132 * t2320 * t616 - 0.6e1 * t1137 * t2334 * t616 - 0.6e1 * t1137 * t934 * t623 - 0.2e1 * t1149 * t3181 + 0.6e1 * t281 * t3175 + t288 * t3189 + t2666 ); + const double t3194 = t690 * t943; + const double t3196 = t160 * t3192; + const double t3200 = t964 * t626; + const double t3202 = t86 * t3192; + const double t3204 = t957 * t626; + const double t3206 = t85 * t3192; + const double t3208 = t959 * t626; + const double t3210 = t84 * t3192; + const double t3213 = 0.9009e4 / 0.8e1 * t3200 + 0.3003e4 / 0.16e2 * t3202 - 0.3465e4 / 0.4e1 * t3204 - 0.3465e4 / 0.16e2 * t3206 + 0.945e3 / 0.8e1 * t3208 + 0.945e3 / 0.16e2 * t3210 - 0.35e2 / 0.16e2 * t3192; + const double t3223 = 0.315e3 / 0.2e1 * t3204 + 0.315e3 / 0.8e1 * t3206 - 0.105e3 / 0.2e1 * t3208 - 0.105e3 / 0.4e1 * t3210 + 0.15e2 / 0.8e1 * t3192; + const double t3228 = t950 * t626; + const double t3230 = t91 * t3192; + const double t3232 = t944 * t626; + const double t3234 = t93 * t3192; + const double t3236 = t626 * t943; + const double t3238 = t83 * t3192; + const double t3240 = 0.3465e4 / 0.8e1 * t3228 + 0.693e3 / 0.8e1 * t3230 - 0.945e3 / 0.4e1 * t3232 - 0.315e3 / 0.4e1 * t3234 + 0.105e3 / 0.8e1 * t3236 + 0.105e3 / 0.8e1 * t3238; + const double t3253 = -0.4373652639371875e-2 * t3192 + 0.162638575e-1 * t3194 + 0.162638575e-1 * t3196 + 0.674910119e-8 * t724 * t978 + 0.674910119e-8 * t179 * t3213 + 0.896739466e-3 * t724 * t954 + 0.896739466e-3 * t179 * t3223 - 0.216860568e-7 * t724 * t968 - 0.216860568e-7 * t179 * t3240 + 0.694482484e-8 * t772 * t968 + 0.694482484e-8 * t107 * t3240 - 0.416393106e-7 * t772 * t961 - 0.338128188e-7 * t657 * t954 - 0.338128188e-7 * t208 * t3223; + const double t3254 = t195 * t3192; + const double t3261 = 0.15e2 * t3208 + 0.15e2 / 0.2e1 * t3210 - 0.3e1 / 0.2e1 * t3192; + const double t3266 = t648 * t978; + const double t3278 = 0.105e3 / 0.2e1 * t3232 + 0.35e2 / 0.2e1 * t3234 - 0.15e2 / 0.2e1 * t3236 - 0.15e2 / 0.2e1 * t3238; + const double t3281 = t815 * t943; + const double t3283 = t134 * t3192; + const double t3289 = t107 * t3192; + const double t3293 = -0.43464346e-1 * t3254 - 0.265114646e-7 * t772 * t947 - 0.265114646e-7 * t107 * t3261 + 0.850272392e-8 * t134 * t3213 - 0.940351563e-5 * t3266 - 0.940351563e-5 * t44 * t3213 - 0.896771404e-2 * t134 * t3261 + 0.162238741e-6 * t815 * t961 + 0.162238741e-6 * t134 * t3278 - 0.884148272e-2 * t3281 - 0.884148272e-2 * t3283 - 0.493824365e-8 * t690 * t978 - 0.493824365e-8 * t160 * t3213 - 0.957417512e-2 * t3289 + 0.236391411e-7 * t772 * t954; + const double t3295 = t648 * t961; + const double t3318 = 0.119130546e-2 * t3295 + 0.119130546e-2 * t44 * t3278 - 0.4729415517815625e-2 * t3206 + 0.13938308465540625e-1 * t3210 + 0.236391411e-7 * t107 * t3223 + 0.120828626792125e-1 * t3234 + 0.1406365375513125e-1 * t3236 + 0.1406365375513125e-1 * t3238 + 0.182906057e-2 * t195 * t3278 + 0.293253041e-2 * t195 * t3261 - 0.35104103e-3 * t195 * t3223 + 0.138149743606875e-3 * t3202 - 0.223014657e-8 * t195 * t3213 - 0.48005288013375e-3 * t3230 + 0.668980219e-8 * t195 * t3240; + const double t3323 = t772 * t943; + const double t3343 = t648 * t954; + const double t3347 = t44 * t3192; + const double t3349 = -0.845508103e-2 * t724 * t947 - 0.845508103e-2 * t179 * t3261 - 0.957417512e-2 * t3323 - 0.416393106e-7 * t107 * t3278 + 0.912223751e-8 * t690 * t968 + 0.912223751e-8 * t160 * t3240 - 0.790811707e-7 * t690 * t961 - 0.790811707e-7 * t160 * t3278 + 0.209603871e-7 * t690 * t954 + 0.209603871e-7 * t160 * t3223 + 0.631891628e-2 * t690 * t947 + 0.631891628e-2 * t160 * t3261 + 0.822139896e-3 * t3343 + 0.822139896e-3 * t44 * t3223 + 0.100339208e0 * t3347; + const double t3352 = t648 * t947; + const double t3356 = t648 * t943; + const double t3380 = -0.303347141e-2 * t3352 - 0.303347141e-2 * t44 * t3261 + 0.100339208e0 * t3356 + 0.888525527e-8 * t657 * t978 + 0.888525527e-8 * t208 * t3213 + 0.850272392e-8 * t815 * t978 - 0.376702959e-7 * t134 * t3223 - 0.376702959e-7 * t815 * t954 - 0.138472194e-7 * t815 * t968 - 0.138472194e-7 * t134 * t3240 - 0.896771404e-2 * t815 * t947 - 0.1350932724e0 * t688 * t959 - 0.82957404e-6 * t757 * t943 - 0.82957404e-6 * t759 * t943; + const double t3411 = -0.82957404e-6 * t242 * t3192 + 0.509417745e-6 * t780 * t943 + 0.509417745e-6 * t782 * t943 + 0.842036616e-1 * t852 * t943 + 0.842036616e-1 * t192 * t3192 + 0.509417745e-6 * t129 * t3192 - 0.565485306e-1 * t878 * t943 - 0.565485306e-1 * t880 * t943 - 0.565485306e-1 * t156 * t3192 - 0.548733873e-1 * t799 * t943 - 0.548733873e-1 * t801 * t943 - 0.548733873e-1 * t175 * t3192 + 0.842036616e-1 * t850 * t943 - 0.450310908e-1 * t215 * t3192 - 0.2637272316e-1 * t753 * t943; + const double t3436 = t657 * t943; + const double t3438 = -0.2637272316e-1 * t755 * t943 + 0.82889846164125e-3 * t3200 - 0.240026440066875e-2 * t3228 + 0.2006940657e-7 * t688 * t968 - 0.669043971e-8 * t688 * t978 - 0.105312309e-2 * t688 * t954 + 0.548718171e-2 * t688 * t961 + 0.879759123e-2 * t688 * t947 - 0.130393038e0 * t688 * t943 - 0.189176620712625e-1 * t3204 + 0.2787661693108125e-1 * t3208 + 0.362485880376375e-1 * t3232 - 0.2637272316e-1 * t230 * t3192 - 0.450310908e-1 * t866 * t943 + 0.940675747e-2 * t3436; + const double t3439 = t208 * t3192; + const double t3445 = t724 * t943; + const double t3447 = t179 * t3192; + const double t3453 = t648 * t968; + const double t3469 = 0.940675747e-2 * t3439 - 0.691592964e-8 * t772 * t978 - 0.691592964e-8 * t107 * t3213 - 0.182177954e-1 * t3445 - 0.182177954e-1 * t3447 + 0.339308972e-2 * t724 * t961 + 0.339308972e-2 * t179 * t3278 - 0.514204676e-4 * t3453 - 0.514204676e-4 * t44 * t3240 - 0.774224962e-8 * t657 * t968 - 0.774224962e-8 * t208 * t3240 + 0.505920757e-7 * t657 * t947 + 0.505920757e-7 * t208 * t3261 + 0.554588743e-7 * t657 * t961 + 0.554588743e-7 * t208 * t3278; + const double t3472 = t3253 + t3293 + t3318 + t3349 + t3380 + t3411 + t3438 + t3469; + const double t3476 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t3472 ); + const double t3478 = t943 * t943; + const double t3480 = t925 * t925; + const double t3483 = t277 * t3480; + const double t3485 = t1126 * t3480; + const double t3488 = t933 * t933; + const double t3489 = t73 * t3488; + const double t3497 = t940 * t940; + const double t3504 = 0.6e1 * t1153 * t3488 + 0.24e2 * t291 * t3488 + t2675 + t2677; + const double t3507 = piecewise_functor_3( t60, -0.18e2 * t69 * t3480 + t2645 + t2649 - t2653 - 0.12e2 * t3483 + 0.6e2 * t3485, -0.12e2 * t1137 * t934 * t940 - 0.24e2 * t1132 * t3489 - 0.2e1 * t1149 * t3497 + 0.6e1 * t281 * t3488 + t288 * t3504 + t2666 ); + const double t3511 = t91 * t3478; + const double t3513 = t86 * t3507; + const double t3515 = t93 * t3478; + const double t3517 = t85 * t3507; + const double t3519 = t83 * t3478; + const double t3521 = t84 * t3507; + const double t3524 = 0.9009e4 / 0.8e1 * t3511 + 0.3003e4 / 0.16e2 * t3513 - 0.3465e4 / 0.4e1 * t3515 - 0.3465e4 / 0.16e2 * t3517 + 0.945e3 / 0.8e1 * t3519 + 0.945e3 / 0.16e2 * t3521 - 0.35e2 / 0.16e2 * t3507; + const double t3527 = t85 * t3478; + const double t3529 = t91 * t3507; + const double t3531 = t84 * t3478; + const double t3533 = t93 * t3507; + const double t3536 = t83 * t3507; + const double t3538 = 0.3465e4 / 0.8e1 * t3527 + 0.693e3 / 0.8e1 * t3529 - 0.945e3 / 0.4e1 * t3531 - 0.315e3 / 0.4e1 * t3533 + 0.105e3 / 0.8e1 * t3478 + 0.105e3 / 0.8e1 * t3536; + const double t3551 = 0.105e3 / 0.2e1 * t3531 + 0.35e2 / 0.2e1 * t3533 - 0.15e2 / 0.2e1 * t3478 - 0.15e2 / 0.2e1 * t3536; + const double t3559 = 0.15e2 * t3519 + 0.15e2 / 0.2e1 * t3521 - 0.3e1 / 0.2e1 * t3507; + const double t3567 = 0.315e3 / 0.2e1 * t3515 + 0.315e3 / 0.8e1 * t3517 - 0.105e3 / 0.2e1 * t3519 - 0.105e3 / 0.4e1 * t3521 + 0.15e2 / 0.8e1 * t3507; + const double t3580 = 0.1406365375513125e-1 * t3478 - 0.4373652639371875e-2 * t3507 + 0.940675747e-2 * t208 * t3507 - 0.691592964e-8 * t107 * t3524 + 0.694482484e-8 * t107 * t3538 - 0.43464346e-1 * t195 * t3507 - 0.940351563e-5 * t44 * t3524 + 0.888525527e-8 * t208 * t3524 - 0.416393106e-7 * t107 * t3551 + 0.182906057e-2 * t195 * t3551 + 0.293253041e-2 * t195 * t3559 - 0.35104103e-3 * t195 * t3567 - 0.223014657e-8 * t195 * t3524 + 0.912223751e-8 * t160 * t3538 - 0.790811707e-7 * t160 * t3551 + 0.209603871e-7 * t160 * t3567 + 0.631891628e-2 * t160 * t3559; + const double t3608 = 0.674910119e-8 * t179 * t3524 + 0.162638575e-1 * t160 * t3507 - 0.548733873e-1 * t160 * t3478 + 0.842036616e-1 * t179 * t3478 - 0.82957404e-6 * t208 * t3478 - 0.884148272e-2 * t134 * t3507 + 0.82889846164125e-3 * t3511 + 0.138149743606875e-3 * t3513 - 0.189176620712625e-1 * t3515 - 0.4729415517815625e-2 * t3517 + 0.2787661693108125e-1 * t3519 + 0.13938308465540625e-1 * t3521 - 0.493824365e-8 * t160 * t3524 + 0.100339208e0 * t44 * t3507 - 0.303347141e-2 * t44 * t3559 + 0.822139896e-3 * t44 * t3567 + 0.362485880376375e-1 * t3531; + const double t3640 = 0.120828626792125e-1 * t3533 + 0.1406365375513125e-1 * t3536 + 0.119130546e-2 * t44 * t3551 - 0.240026440066875e-2 * t3527 - 0.48005288013375e-3 * t3529 - 0.514204676e-4 * t44 * t3538 - 0.845508103e-2 * t179 * t3559 - 0.338128188e-7 * t208 * t3567 - 0.182177954e-1 * t179 * t3507 + 0.339308972e-2 * t179 * t3551 - 0.450310908e-1 * t195 * t3478 - 0.2637272316e-1 * t44 * t3478 - 0.774224962e-8 * t208 * t3538 + 0.505920757e-7 * t208 * t3559 + 0.554588743e-7 * t208 * t3551 + 0.509417745e-6 * t107 * t3478 - 0.565485306e-1 * t134 * t3478; + const double t3677 = 0.896739466e-3 * t179 * t3567 - 0.216860568e-7 * t179 * t3538 + 0.236391411e-7 * t107 * t3567 - 0.957417512e-2 * t107 * t3507 - 0.265114646e-7 * t107 * t3559 + 0.668980219e-8 * t195 * t3538 + 0.850272392e-8 * t134 * t3524 - 0.450310908e-1 * t215 * t3507 - 0.2637272316e-1 * t230 * t3507 + 0.842036616e-1 * t192 * t3507 + 0.509417745e-6 * t129 * t3507 - 0.565485306e-1 * t156 * t3507 - 0.548733873e-1 * t175 * t3507 - 0.82957404e-6 * t242 * t3507 - 0.376702959e-7 * t134 * t3567 - 0.138472194e-7 * t134 * t3538 - 0.896771404e-2 * t134 * t3559 + 0.162238741e-6 * t134 * t3551; + const double t3679 = t3580 + t3608 + t3640 + t3677; + const double t3683 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t3679 ); + + + vrho = 0.2e1 * rho * t603 + 0.2e1 * t254; + vsigma = 0.2e1 * rho * t920; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t1084; + v2rho2 = 0.2e1 * rho * t1654 + 0.4e1 * t603; + v2rhosigma = 0.2e1 * rho * t2298 + 0.2e1 * t920; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t2637 + 0.2e1 * t1084; + v2sigma2 = 0.2e1 * rho * t3160; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t3476; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t3683; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = t19 + 0.1e1; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.65124e1 + t34 * t40 / 0.24e2; + const double t44 = 0.1e1 / t43; + const double t46 = t34 * t40 * t44; + const double t49 = t46 / 0.12e2 - 0.1e1; + const double t50 = t49 * t49; + const double t51 = t50 * t50; + const double t52 = t51 * t50; + const double t56 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t52 - 0.315e3 / 0.16e2 * t51 + 0.105e3 / 0.16e2 * t50; + const double t58 = 0.1e1 / t37 / rho_a; + const double t64 = 0.5e1 / 0.9e1 * ( tau_a * t58 - t40 / 0.8e1 ) * t29 * t33; + const double t65 = 0.1e5 <= t64; + const double t66 = 0.1e5 < t64; + const double t67 = piecewise_functor_3( t66, t64, 10000.0 ); + const double t68 = t67 * t67; + const double t71 = t68 * t67; + const double t72 = 0.1e1 / t71; + const double t73 = t68 * t68; + const double t74 = 0.1e1 / t73; + const double t77 = piecewise_functor_3( t66, 10000.0, t64 ); + const double t78 = t77 * t77; + const double t79 = 0.1e1 - t78; + const double t80 = t79 * t79; + const double t81 = t80 * t79; + const double t82 = t78 * t77; + const double t83 = 0.1e1 + t82; + const double t85 = t82 * t83 + 0.1e1; + const double t86 = 0.1e1 / t85; + const double t88 = piecewise_functor_3( t65, 0.1e1 - 0.3e1 / t68 - t72 + 0.3e1 * t74, -t81 * t86 ); + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t93 = 0.5e1 / 0.2e1 * t90 - 0.3e1 / 0.2e1 * t88; + const double t97 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t89; + const double t100 = t56 * t88; + const double t102 = t51 * t49; + const double t104 = t50 * t49; + const double t107 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t104 + 0.5e1 / 0.32e2 * t46 - 0.15e2 / 0.8e1; + const double t108 = t89 * t89; + const double t109 = t108 * t90; + const double t111 = t108 * t88; + const double t115 = 0.429e3 / 0.16e2 * t109 - 0.693e3 / 0.16e2 * t111 + 0.315e3 / 0.16e2 * t90 - 0.35e2 / 0.16e2 * t88; + const double t118 = t108 * t89; + const double t122 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t118 - 0.315e3 / 0.16e2 * t108 + 0.105e3 / 0.16e2 * t89; + const double t128 = 0.63e2 / 0.8e1 * t111 - 0.35e2 / 0.4e1 * t90 + 0.15e2 / 0.8e1 * t88; + const double t133 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t108 - 0.15e2 / 0.4e1 * t89; + const double t140 = t107 * t88; + const double t142 = t51 * t104; + const double t147 = 0.429e3 / 0.16e2 * t142 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t104 - 0.35e2 / 0.192e3 * t46 + 0.35e2 / 0.16e2; + const double t157 = -0.13022208355989583333e-1 * t46 - 0.265114646e-7 * t56 * t93 + 0.169805915e-6 * t56 * t97 - 0.957417512e-2 * t100 + 0.850272392e-8 * t107 * t115 - 0.138472194e-7 * t107 * t122 - 0.376702959e-7 * t107 * t128 + 0.162238741e-6 * t107 * t133 - 0.896771404e-2 * t107 * t93 - 0.188495102e-1 * t107 * t97 - 0.884148272e-2 * t140 + 0.888525527e-8 * t147 * t115 - 0.774224962e-8 * t147 * t122 - 0.338128188e-7 * t147 * t128 + 0.554588743e-7 * t147 * t133 - 0.138056183978125e0 * t51; + const double t166 = t49 * t88; + const double t173 = t147 * t88; + const double t185 = -0.92294814328125e-1 * t50 + 0.19735677658125e-4 * t109 + 0.119130546e-2 * t49 * t133 - 0.303347141e-2 * t49 * t93 - 0.879090772e-2 * t49 * t97 + 0.100339208e0 * t166 + 0.497944638409375e0 * t104 + 0.505920757e-7 * t147 * t93 - 0.27652468e-6 * t147 * t97 + 0.940675747e-2 * t173 - 0.691592964e-8 * t56 * t115 + 0.694482484e-8 * t56 * t122 + 0.236391411e-7 * t56 * t128 - 0.416393106e-7 * t56 * t133 + 0.80024660533125e-1 * t52 - 0.395061199588125e0 * t102; + const double t193 = 0.5e1 / 0.2e1 * t104 - t46 / 0.8e1 + 0.3e1 / 0.2e1; + const double t198 = t193 * t88; + const double t201 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t50; + const double t214 = t201 * t88; + const double t220 = 0.106025815520625e0 * t142 - 0.4373652639371875e-2 * t88 - 0.945883103563125e-3 * t111 + 0.4646102821846875e-2 * t90 - 0.845508103e-2 * t193 * t93 + 0.280678872e-1 * t193 * t97 - 0.182177954e-1 * t198 - 0.223014657e-8 * t201 * t115 + 0.668980219e-8 * t201 * t122 - 0.35104103e-3 * t201 * t128 + 0.182906057e-2 * t201 * t133 + 0.293253041e-2 * t201 * t93 - 0.150103636e-1 * t201 * t97 - 0.43464346e-1 * t214 - 0.940351563e-5 * t49 * t115 - 0.514204676e-4 * t49 * t122; + const double t225 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t51 - 0.15e2 / 0.4e1 * t50; + const double t238 = t225 * t88; + const double t251 = 0.1380567225218996875e1 + 0.822139896e-3 * t49 * t128 - 0.493824365e-8 * t225 * t115 + 0.912223751e-8 * t225 * t122 + 0.209603871e-7 * t225 * t128 - 0.790811707e-7 * t225 * t133 + 0.631891628e-2 * t225 * t93 - 0.182911291e-1 * t225 * t97 + 0.162638575e-1 * t238 + 0.674910119e-8 * t193 * t115 - 0.216860568e-7 * t193 * t122 + 0.896739466e-3 * t193 * t128 + 0.339308972e-2 * t193 * t133 - 0.80008813355625e-4 * t118 + 0.3020715669803125e-2 * t108 + 0.7031826877565625e-2 * t89; + const double t253 = t157 + t185 + t220 + t251; + const double t257 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t253 ); + const double t258 = rho_b <= dens_tol; + const double t259 = -t17; + const double t261 = piecewise_functor_5( t15, t12, t11, t16, t259 * t8 ); + const double t262 = t261 + 0.1e1; + const double t263 = t262 <= zeta_tol; + const double t264 = safe_math::cbrt( t262 ); + const double t266 = piecewise_functor_3( t263, t23, t264 * t262 ); + const double t267 = t266 * t27; + const double t268 = rho_b * rho_b; + const double t269 = safe_math::cbrt( rho_b ); + const double t270 = t269 * t269; + const double t272 = 0.1e1 / t270 / t268; + const double t273 = sigma_bb * t272; + const double t276 = 0.65124e1 + t34 * t273 / 0.24e2; + const double t277 = 0.1e1 / t276; + const double t279 = t34 * t273 * t277; + const double t281 = t279 / 0.12e2 - 0.1e1; + const double t282 = t281 * t281; + const double t283 = t282 * t281; + const double t284 = t282 * t282; + const double t285 = t284 * t283; + const double t287 = t284 * t281; + const double t291 = 0.429e3 / 0.16e2 * t285 - 0.693e3 / 0.16e2 * t287 + 0.315e3 / 0.16e2 * t283 - 0.35e2 / 0.192e3 * t279 + 0.35e2 / 0.16e2; + const double t293 = 0.1e1 / t270 / rho_b; + const double t299 = 0.5e1 / 0.9e1 * ( tau_b * t293 - t273 / 0.8e1 ) * t29 * t33; + const double t300 = 0.1e5 <= t299; + const double t301 = 0.1e5 < t299; + const double t302 = piecewise_functor_3( t301, t299, 10000.0 ); + const double t303 = t302 * t302; + const double t306 = t303 * t302; + const double t307 = 0.1e1 / t306; + const double t308 = t303 * t303; + const double t309 = 0.1e1 / t308; + const double t312 = piecewise_functor_3( t301, 10000.0, t299 ); + const double t313 = t312 * t312; + const double t314 = 0.1e1 - t313; + const double t315 = t314 * t314; + const double t316 = t315 * t314; + const double t317 = t313 * t312; + const double t318 = 0.1e1 + t317; + const double t320 = t317 * t318 + 0.1e1; + const double t321 = 0.1e1 / t320; + const double t323 = piecewise_functor_3( t300, 0.1e1 - 0.3e1 / t303 - t307 + 0.3e1 * t309, -t316 * t321 ); + const double t324 = t323 * t323; + const double t325 = t324 * t323; + const double t326 = t324 * t324; + const double t327 = t326 * t325; + const double t329 = t326 * t323; + const double t333 = 0.429e3 / 0.16e2 * t327 - 0.693e3 / 0.16e2 * t329 + 0.315e3 / 0.16e2 * t325 - 0.35e2 / 0.16e2 * t323; + const double t336 = t326 * t324; + const double t340 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t336 - 0.315e3 / 0.16e2 * t326 + 0.105e3 / 0.16e2 * t324; + const double t345 = t284 * t282; + const double t351 = 0.63e2 / 0.8e1 * t329 - 0.35e2 / 0.4e1 * t325 + 0.15e2 / 0.8e1 * t323; + const double t356 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t326 - 0.15e2 / 0.4e1 * t324; + const double t361 = 0.5e1 / 0.2e1 * t325 - 0.3e1 / 0.2e1 * t323; + const double t365 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t324; + const double t368 = t291 * t323; + const double t373 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t345 - 0.315e3 / 0.16e2 * t284 + 0.105e3 / 0.16e2 * t282; + const double t382 = 0.888525527e-8 * t291 * t333 - 0.774224962e-8 * t291 * t340 + 0.19735677658125e-4 * t327 - 0.395061199588125e0 * t287 + 0.80024660533125e-1 * t345 - 0.138056183978125e0 * t284 - 0.338128188e-7 * t291 * t351 + 0.554588743e-7 * t291 * t356 + 0.505920757e-7 * t291 * t361 - 0.27652468e-6 * t291 * t365 + 0.940675747e-2 * t368 - 0.691592964e-8 * t373 * t333 + 0.694482484e-8 * t373 * t340 + 0.236391411e-7 * t373 * t351 - 0.4373652639371875e-2 * t323 - 0.945883103563125e-3 * t329; + const double t397 = t373 * t323; + const double t402 = 0.63e2 / 0.8e1 * t287 - 0.35e2 / 0.4e1 * t283 + 0.5e1 / 0.32e2 * t279 - 0.15e2 / 0.8e1; + const double t409 = 0.1380567225218996875e1 + 0.4646102821846875e-2 * t325 + 0.106025815520625e0 * t285 + 0.497944638409375e0 * t283 - 0.92294814328125e-1 * t282 - 0.80008813355625e-4 * t336 + 0.3020715669803125e-2 * t326 + 0.7031826877565625e-2 * t324 - 0.13022208355989583333e-1 * t279 - 0.416393106e-7 * t373 * t356 - 0.265114646e-7 * t373 * t361 + 0.169805915e-6 * t373 * t365 - 0.957417512e-2 * t397 + 0.850272392e-8 * t402 * t333 - 0.138472194e-7 * t402 * t340 - 0.376702959e-7 * t402 * t351; + const double t417 = t402 * t323; + const double t421 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t284 - 0.15e2 / 0.4e1 * t282; + const double t434 = t421 * t323; + const double t438 = 0.5e1 / 0.2e1 * t283 - t279 / 0.8e1 + 0.3e1 / 0.2e1; + const double t449 = 0.162238741e-6 * t402 * t356 - 0.896771404e-2 * t402 * t361 - 0.188495102e-1 * t402 * t365 - 0.884148272e-2 * t417 - 0.493824365e-8 * t421 * t333 + 0.912223751e-8 * t421 * t340 + 0.209603871e-7 * t421 * t351 - 0.790811707e-7 * t421 * t356 + 0.631891628e-2 * t421 * t361 - 0.182911291e-1 * t421 * t365 + 0.162638575e-1 * t434 + 0.674910119e-8 * t438 * t333 - 0.216860568e-7 * t438 * t340 + 0.896739466e-3 * t438 * t351 + 0.339308972e-2 * t438 * t356 - 0.845508103e-2 * t438 * t361; + const double t452 = t438 * t323; + const double t455 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t282; + const double t468 = t455 * t323; + const double t482 = t281 * t323; + const double t484 = 0.280678872e-1 * t438 * t365 - 0.182177954e-1 * t452 - 0.223014657e-8 * t455 * t333 + 0.668980219e-8 * t455 * t340 - 0.35104103e-3 * t455 * t351 + 0.182906057e-2 * t455 * t356 + 0.293253041e-2 * t455 * t361 - 0.150103636e-1 * t455 * t365 - 0.43464346e-1 * t468 - 0.940351563e-5 * t281 * t333 - 0.514204676e-4 * t281 * t340 + 0.822139896e-3 * t281 * t351 + 0.119130546e-2 * t281 * t356 - 0.303347141e-2 * t281 * t361 - 0.879090772e-2 * t281 * t365 + 0.100339208e0 * t482; + const double t486 = t382 + t409 + t449 + t484; + const double t490 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t486 ); + + + eps = t257 + t490; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t552 = t29 * t29; + constexpr double t554 = 0.1e1 / t31 / t30; + constexpr double t555 = t552 * t554; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = t19 + 0.1e1; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.65124e1 + t34 * t40 / 0.24e2; + const double t44 = 0.1e1 / t43; + const double t46 = t34 * t40 * t44; + const double t49 = t46 / 0.12e2 - 0.1e1; + const double t50 = t49 * t49; + const double t51 = t50 * t50; + const double t52 = t51 * t50; + const double t56 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t52 - 0.315e3 / 0.16e2 * t51 + 0.105e3 / 0.16e2 * t50; + const double t58 = 0.1e1 / t37 / rho_a; + const double t64 = 0.5e1 / 0.9e1 * ( tau_a * t58 - t40 / 0.8e1 ) * t29 * t33; + const double t65 = 0.1e5 <= t64; + const double t66 = 0.1e5 < t64; + const double t67 = piecewise_functor_3( t66, t64, 10000.0 ); + const double t68 = t67 * t67; + const double t71 = t68 * t67; + const double t72 = 0.1e1 / t71; + const double t73 = t68 * t68; + const double t74 = 0.1e1 / t73; + const double t77 = piecewise_functor_3( t66, 10000.0, t64 ); + const double t78 = t77 * t77; + const double t79 = 0.1e1 - t78; + const double t80 = t79 * t79; + const double t81 = t80 * t79; + const double t82 = t78 * t77; + const double t83 = 0.1e1 + t82; + const double t85 = t82 * t83 + 0.1e1; + const double t86 = 0.1e1 / t85; + const double t88 = piecewise_functor_3( t65, 0.1e1 - 0.3e1 / t68 - t72 + 0.3e1 * t74, -t81 * t86 ); + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t93 = 0.5e1 / 0.2e1 * t90 - 0.3e1 / 0.2e1 * t88; + const double t97 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t89; + const double t100 = t56 * t88; + const double t102 = t51 * t49; + const double t104 = t50 * t49; + const double t107 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t104 + 0.5e1 / 0.32e2 * t46 - 0.15e2 / 0.8e1; + const double t108 = t89 * t89; + const double t109 = t108 * t90; + const double t111 = t108 * t88; + const double t115 = 0.429e3 / 0.16e2 * t109 - 0.693e3 / 0.16e2 * t111 + 0.315e3 / 0.16e2 * t90 - 0.35e2 / 0.16e2 * t88; + const double t118 = t108 * t89; + const double t122 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t118 - 0.315e3 / 0.16e2 * t108 + 0.105e3 / 0.16e2 * t89; + const double t128 = 0.63e2 / 0.8e1 * t111 - 0.35e2 / 0.4e1 * t90 + 0.15e2 / 0.8e1 * t88; + const double t133 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t108 - 0.15e2 / 0.4e1 * t89; + const double t140 = t107 * t88; + const double t142 = t51 * t104; + const double t147 = 0.429e3 / 0.16e2 * t142 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t104 - 0.35e2 / 0.192e3 * t46 + 0.35e2 / 0.16e2; + const double t157 = -0.13022208355989583333e-1 * t46 - 0.265114646e-7 * t56 * t93 + 0.169805915e-6 * t56 * t97 - 0.957417512e-2 * t100 + 0.850272392e-8 * t107 * t115 - 0.138472194e-7 * t107 * t122 - 0.376702959e-7 * t107 * t128 + 0.162238741e-6 * t107 * t133 - 0.896771404e-2 * t107 * t93 - 0.188495102e-1 * t107 * t97 - 0.884148272e-2 * t140 + 0.888525527e-8 * t147 * t115 - 0.774224962e-8 * t147 * t122 - 0.338128188e-7 * t147 * t128 + 0.554588743e-7 * t147 * t133 - 0.138056183978125e0 * t51; + const double t166 = t49 * t88; + const double t173 = t147 * t88; + const double t185 = -0.92294814328125e-1 * t50 + 0.19735677658125e-4 * t109 + 0.119130546e-2 * t49 * t133 - 0.303347141e-2 * t49 * t93 - 0.879090772e-2 * t49 * t97 + 0.100339208e0 * t166 + 0.497944638409375e0 * t104 + 0.505920757e-7 * t147 * t93 - 0.27652468e-6 * t147 * t97 + 0.940675747e-2 * t173 - 0.691592964e-8 * t56 * t115 + 0.694482484e-8 * t56 * t122 + 0.236391411e-7 * t56 * t128 - 0.416393106e-7 * t56 * t133 + 0.80024660533125e-1 * t52 - 0.395061199588125e0 * t102; + const double t193 = 0.5e1 / 0.2e1 * t104 - t46 / 0.8e1 + 0.3e1 / 0.2e1; + const double t198 = t193 * t88; + const double t201 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t50; + const double t214 = t201 * t88; + const double t220 = 0.106025815520625e0 * t142 - 0.4373652639371875e-2 * t88 - 0.945883103563125e-3 * t111 + 0.4646102821846875e-2 * t90 - 0.845508103e-2 * t193 * t93 + 0.280678872e-1 * t193 * t97 - 0.182177954e-1 * t198 - 0.223014657e-8 * t201 * t115 + 0.668980219e-8 * t201 * t122 - 0.35104103e-3 * t201 * t128 + 0.182906057e-2 * t201 * t133 + 0.293253041e-2 * t201 * t93 - 0.150103636e-1 * t201 * t97 - 0.43464346e-1 * t214 - 0.940351563e-5 * t49 * t115 - 0.514204676e-4 * t49 * t122; + const double t225 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t51 - 0.15e2 / 0.4e1 * t50; + const double t238 = t225 * t88; + const double t251 = 0.1380567225218996875e1 + 0.822139896e-3 * t49 * t128 - 0.493824365e-8 * t225 * t115 + 0.912223751e-8 * t225 * t122 + 0.209603871e-7 * t225 * t128 - 0.790811707e-7 * t225 * t133 + 0.631891628e-2 * t225 * t93 - 0.182911291e-1 * t225 * t97 + 0.162638575e-1 * t238 + 0.674910119e-8 * t193 * t115 - 0.216860568e-7 * t193 * t122 + 0.896739466e-3 * t193 * t128 + 0.339308972e-2 * t193 * t133 - 0.80008813355625e-4 * t118 + 0.3020715669803125e-2 * t108 + 0.7031826877565625e-2 * t89; + const double t253 = t157 + t185 + t220 + t251; + const double t257 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t253 ); + const double t258 = rho_b <= dens_tol; + const double t259 = -t17; + const double t261 = piecewise_functor_5( t15, t12, t11, t16, t259 * t8 ); + const double t262 = t261 + 0.1e1; + const double t263 = t262 <= zeta_tol; + const double t264 = safe_math::cbrt( t262 ); + const double t266 = piecewise_functor_3( t263, t23, t264 * t262 ); + const double t267 = t266 * t27; + const double t268 = rho_b * rho_b; + const double t269 = safe_math::cbrt( rho_b ); + const double t270 = t269 * t269; + const double t272 = 0.1e1 / t270 / t268; + const double t273 = sigma_bb * t272; + const double t276 = 0.65124e1 + t34 * t273 / 0.24e2; + const double t277 = 0.1e1 / t276; + const double t279 = t34 * t273 * t277; + const double t281 = t279 / 0.12e2 - 0.1e1; + const double t282 = t281 * t281; + const double t283 = t282 * t281; + const double t284 = t282 * t282; + const double t285 = t284 * t283; + const double t287 = t284 * t281; + const double t291 = 0.429e3 / 0.16e2 * t285 - 0.693e3 / 0.16e2 * t287 + 0.315e3 / 0.16e2 * t283 - 0.35e2 / 0.192e3 * t279 + 0.35e2 / 0.16e2; + const double t293 = 0.1e1 / t270 / rho_b; + const double t299 = 0.5e1 / 0.9e1 * ( tau_b * t293 - t273 / 0.8e1 ) * t29 * t33; + const double t300 = 0.1e5 <= t299; + const double t301 = 0.1e5 < t299; + const double t302 = piecewise_functor_3( t301, t299, 10000.0 ); + const double t303 = t302 * t302; + const double t306 = t303 * t302; + const double t307 = 0.1e1 / t306; + const double t308 = t303 * t303; + const double t309 = 0.1e1 / t308; + const double t312 = piecewise_functor_3( t301, 10000.0, t299 ); + const double t313 = t312 * t312; + const double t314 = 0.1e1 - t313; + const double t315 = t314 * t314; + const double t316 = t315 * t314; + const double t317 = t313 * t312; + const double t318 = 0.1e1 + t317; + const double t320 = t317 * t318 + 0.1e1; + const double t321 = 0.1e1 / t320; + const double t323 = piecewise_functor_3( t300, 0.1e1 - 0.3e1 / t303 - t307 + 0.3e1 * t309, -t316 * t321 ); + const double t324 = t323 * t323; + const double t325 = t324 * t323; + const double t326 = t324 * t324; + const double t327 = t326 * t325; + const double t329 = t326 * t323; + const double t333 = 0.429e3 / 0.16e2 * t327 - 0.693e3 / 0.16e2 * t329 + 0.315e3 / 0.16e2 * t325 - 0.35e2 / 0.16e2 * t323; + const double t336 = t326 * t324; + const double t340 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t336 - 0.315e3 / 0.16e2 * t326 + 0.105e3 / 0.16e2 * t324; + const double t345 = t284 * t282; + const double t351 = 0.63e2 / 0.8e1 * t329 - 0.35e2 / 0.4e1 * t325 + 0.15e2 / 0.8e1 * t323; + const double t356 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t326 - 0.15e2 / 0.4e1 * t324; + const double t361 = 0.5e1 / 0.2e1 * t325 - 0.3e1 / 0.2e1 * t323; + const double t365 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t324; + const double t368 = t291 * t323; + const double t373 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t345 - 0.315e3 / 0.16e2 * t284 + 0.105e3 / 0.16e2 * t282; + const double t382 = 0.888525527e-8 * t291 * t333 - 0.774224962e-8 * t291 * t340 + 0.19735677658125e-4 * t327 - 0.395061199588125e0 * t287 + 0.80024660533125e-1 * t345 - 0.138056183978125e0 * t284 - 0.338128188e-7 * t291 * t351 + 0.554588743e-7 * t291 * t356 + 0.505920757e-7 * t291 * t361 - 0.27652468e-6 * t291 * t365 + 0.940675747e-2 * t368 - 0.691592964e-8 * t373 * t333 + 0.694482484e-8 * t373 * t340 + 0.236391411e-7 * t373 * t351 - 0.4373652639371875e-2 * t323 - 0.945883103563125e-3 * t329; + const double t397 = t373 * t323; + const double t402 = 0.63e2 / 0.8e1 * t287 - 0.35e2 / 0.4e1 * t283 + 0.5e1 / 0.32e2 * t279 - 0.15e2 / 0.8e1; + const double t409 = 0.1380567225218996875e1 + 0.4646102821846875e-2 * t325 + 0.106025815520625e0 * t285 + 0.497944638409375e0 * t283 - 0.92294814328125e-1 * t282 - 0.80008813355625e-4 * t336 + 0.3020715669803125e-2 * t326 + 0.7031826877565625e-2 * t324 - 0.13022208355989583333e-1 * t279 - 0.416393106e-7 * t373 * t356 - 0.265114646e-7 * t373 * t361 + 0.169805915e-6 * t373 * t365 - 0.957417512e-2 * t397 + 0.850272392e-8 * t402 * t333 - 0.138472194e-7 * t402 * t340 - 0.376702959e-7 * t402 * t351; + const double t417 = t402 * t323; + const double t421 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t284 - 0.15e2 / 0.4e1 * t282; + const double t434 = t421 * t323; + const double t438 = 0.5e1 / 0.2e1 * t283 - t279 / 0.8e1 + 0.3e1 / 0.2e1; + const double t449 = 0.162238741e-6 * t402 * t356 - 0.896771404e-2 * t402 * t361 - 0.188495102e-1 * t402 * t365 - 0.884148272e-2 * t417 - 0.493824365e-8 * t421 * t333 + 0.912223751e-8 * t421 * t340 + 0.209603871e-7 * t421 * t351 - 0.790811707e-7 * t421 * t356 + 0.631891628e-2 * t421 * t361 - 0.182911291e-1 * t421 * t365 + 0.162638575e-1 * t434 + 0.674910119e-8 * t438 * t333 - 0.216860568e-7 * t438 * t340 + 0.896739466e-3 * t438 * t351 + 0.339308972e-2 * t438 * t356 - 0.845508103e-2 * t438 * t361; + const double t452 = t438 * t323; + const double t455 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t282; + const double t468 = t455 * t323; + const double t482 = t281 * t323; + const double t484 = 0.280678872e-1 * t438 * t365 - 0.182177954e-1 * t452 - 0.223014657e-8 * t455 * t333 + 0.668980219e-8 * t455 * t340 - 0.35104103e-3 * t455 * t351 + 0.182906057e-2 * t455 * t356 + 0.293253041e-2 * t455 * t361 - 0.150103636e-1 * t455 * t365 - 0.43464346e-1 * t468 - 0.940351563e-5 * t281 * t333 - 0.514204676e-4 * t281 * t340 + 0.822139896e-3 * t281 * t351 + 0.119130546e-2 * t281 * t356 - 0.303347141e-2 * t281 * t361 - 0.879090772e-2 * t281 * t365 + 0.100339208e0 * t482; + const double t486 = t382 + t409 + t449 + t484; + const double t490 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t486 ); + const double t491 = t7 * t7; + const double t492 = 0.1e1 / t491; + const double t493 = t17 * t492; + const double t495 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t493 ); + const double t498 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t495 ); + const double t499 = t498 * t27; + const double t503 = t27 * t27; + const double t504 = 0.1e1 / t503; + const double t505 = t26 * t504; + const double t508 = t6 * t505 * t253 / 0.8e1; + const double t511 = t35 * rho_a; + const double t513 = 0.1e1 / t37 / t511; + const double t514 = sigma_aa * t513; + const double t519 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau_a * t39 + t514 / 0.3e1 ) * t29 * t33; + const double t520 = piecewise_functor_3( t66, t519, 0.0 ); + const double t523 = t74 * t520; + const double t526 = 0.1e1 / t73 / t67; + const double t527 = t526 * t520; + const double t530 = t80 * t86; + const double t531 = piecewise_functor_3( t66, 0.0, t519 ); + const double t532 = t77 * t531; + const double t535 = t85 * t85; + const double t536 = 0.1e1 / t535; + const double t537 = t81 * t536; + const double t538 = t78 * t83; + const double t540 = t78 * t78; + const double t541 = t540 * t77; + const double t544 = 0.3e1 * t538 * t531 + 0.3e1 * t541 * t531; + const double t547 = piecewise_functor_3( t65, 0.6e1 * t72 * t520 + 0.3e1 * t523 - 0.12e2 * t527, 0.6e1 * t530 * t532 + t537 * t544 ); + const double t550 = t34 * t514 * t44; + const double t556 = sigma_aa * sigma_aa; + const double t557 = t35 * t35; + const double t558 = t557 * t35; + const double t560 = 0.1e1 / t36 / t558; + const double t562 = t43 * t43; + const double t563 = 0.1e1 / t562; + const double t565 = t555 * t556 * t560 * t563; + const double t567 = t118 * t547; + const double t569 = t108 * t547; + const double t571 = t89 * t547; + const double t574 = 0.3003e4 / 0.16e2 * t567 - 0.3465e4 / 0.16e2 * t569 + 0.945e3 / 0.16e2 * t571 - 0.35e2 / 0.16e2 * t547; + const double t580 = 0.315e3 / 0.8e1 * t569 - 0.105e3 / 0.4e1 * t571 + 0.15e2 / 0.8e1 * t547; + const double t585 = -0.2e1 / 0.9e1 * t550 + t565 / 0.108e3; + const double t586 = t52 * t585; + const double t588 = t51 * t585; + const double t590 = t50 * t585; + const double t594 = 0.3003e4 / 0.16e2 * t586 - 0.3465e4 / 0.16e2 * t588 + 0.945e3 / 0.16e2 * t590 + 0.35e2 / 0.72e2 * t550 - 0.35e2 / 0.1728e4 * t565; + const double t597 = t111 * t547; + const double t599 = t90 * t547; + const double t601 = t88 * t547; + const double t603 = 0.693e3 / 0.8e1 * t597 - 0.315e3 / 0.4e1 * t599 + 0.105e3 / 0.8e1 * t601; + const double t612 = 0.35e2 / 0.2e1 * t599 - 0.15e2 / 0.2e1 * t601; + const double t619 = 0.15e2 / 0.2e1 * t571 - 0.3e1 / 0.2e1 * t547; + const double t626 = -0.4373652639371875e-2 * t547 + 0.34725888949305555555e-1 * t550 - 0.14469120395543981481e-2 * t565 + 0.888525527e-8 * t147 * t574 - 0.338128188e-7 * t147 * t580 - 0.774224962e-8 * t594 * t122 - 0.774224962e-8 * t147 * t603 + 0.888525527e-8 * t594 * t115 + 0.554588743e-7 * t594 * t133 + 0.554588743e-7 * t147 * t612 + 0.505920757e-7 * t594 * t93 + 0.505920757e-7 * t147 * t619 - 0.338128188e-7 * t594 * t128 - 0.27652468e-6 * t594 * t97; + const double t627 = t594 * t88; + const double t629 = t147 * t547; + const double t631 = t102 * t585; + const double t633 = t104 * t585; + const double t635 = t49 * t585; + const double t637 = 0.693e3 / 0.8e1 * t631 - 0.315e3 / 0.4e1 * t633 + 0.105e3 / 0.8e1 * t635; + const double t657 = t637 * t88; + const double t661 = 0.940675747e-2 * t627 + 0.940675747e-2 * t629 - 0.691592964e-8 * t637 * t115 - 0.691592964e-8 * t56 * t574 + 0.694482484e-8 * t637 * t122 + 0.742180708644375e0 * t586 - 0.416393106e-7 * t637 * t133 - 0.416393106e-7 * t56 * t612 + 0.694482484e-8 * t56 * t603 + 0.236391411e-7 * t637 * t128 + 0.236391411e-7 * t56 * t580 + 0.169805915e-6 * t637 * t97 - 0.957417512e-2 * t657 + 0.850272392e-8 * t107 * t574; + const double t672 = 0.315e3 / 0.8e1 * t588 - 0.105e3 / 0.4e1 * t590 - 0.5e1 / 0.12e2 * t550 + 0.5e1 / 0.288e3 * t565; + const double t679 = t56 * t547; + const double t695 = 0.48014796319875e0 * t631 - 0.265114646e-7 * t637 * t93 - 0.265114646e-7 * t56 * t619 - 0.138472194e-7 * t672 * t122 - 0.138472194e-7 * t107 * t603 - 0.376702959e-7 * t672 * t128 - 0.957417512e-2 * t679 + 0.850272392e-8 * t672 * t115 - 0.493824365e-8 * t225 * t574 - 0.896771404e-2 * t672 * t93 - 0.896771404e-2 * t107 * t619 - 0.188495102e-1 * t672 * t97 - 0.376702959e-7 * t107 * t580 + 0.162238741e-6 * t672 * t133; + const double t702 = 0.35e2 / 0.2e1 * t633 - 0.15e2 / 0.2e1 * t635; + const double t710 = t672 * t88; + const double t712 = t107 * t547; + const double t726 = 0.162238741e-6 * t107 * t612 + 0.209603871e-7 * t225 * t580 - 0.790811707e-7 * t702 * t133 + 0.912223751e-8 * t702 * t122 + 0.912223751e-8 * t225 * t603 - 0.1975305997940625e1 * t588 - 0.884148272e-2 * t710 - 0.884148272e-2 * t712 - 0.493824365e-8 * t702 * t115 - 0.790811707e-7 * t225 * t612 + 0.631891628e-2 * t702 * t93 + 0.631891628e-2 * t225 * t619 - 0.182911291e-1 * t702 * t97 + 0.209603871e-7 * t702 * t128; + const double t732 = 0.15e2 / 0.2e1 * t590 + t550 / 0.3e1 - t565 / 0.72e2; + const double t743 = t702 * t88; + const double t745 = t225 * t547; + const double t751 = t193 * t547; + const double t759 = 0.339308972e-2 * t732 * t133 + 0.339308972e-2 * t193 * t612 - 0.216860568e-7 * t732 * t122 - 0.216860568e-7 * t193 * t603 - 0.5522247359125e0 * t633 - 0.18458962865625e0 * t635 + 0.162638575e-1 * t743 + 0.162638575e-1 * t745 + 0.674910119e-8 * t732 * t115 + 0.674910119e-8 * t193 * t574 - 0.182177954e-1 * t751 - 0.223014657e-8 * t201 * t574 - 0.845508103e-2 * t732 * t93 - 0.845508103e-2 * t193 * t619; + const double t769 = t732 * t88; + const double t782 = t585 * t128; + const double t785 = 0.280678872e-1 * t732 * t97 + 0.896739466e-3 * t732 * t128 + 0.896739466e-3 * t193 * t580 + 0.668980219e-8 * t201 * t603 + 0.1493833915228125e1 * t590 - 0.182177954e-1 * t769 + 0.293253041e-2 * t201 * t619 - 0.35104103e-3 * t201 * t580 + 0.182906057e-2 * t201 * t612 + 0.138149743606875e-3 * t567 - 0.940351563e-5 * t49 * t574 - 0.514204676e-4 * t49 * t603 + 0.822139896e-3 * t782 - 0.4729415517815625e-2 * t569; + const double t789 = t201 * t547; + const double t791 = t585 * t115; + const double t793 = t585 * t97; + const double t795 = t585 * t88; + const double t797 = t49 * t547; + const double t799 = t585 * t133; + const double t805 = t585 * t93; + const double t810 = t585 * t122; + const double t812 = 0.822139896e-3 * t49 * t580 - 0.43464346e-1 * t789 - 0.940351563e-5 * t791 - 0.879090772e-2 * t793 + 0.100339208e0 * t795 + 0.100339208e0 * t797 + 0.119130546e-2 * t799 + 0.120828626792125e-1 * t599 + 0.1406365375513125e-1 * t601 + 0.119130546e-2 * t49 * t612 - 0.303347141e-2 * t805 + 0.13938308465540625e-1 * t571 - 0.303347141e-2 * t49 * t619 - 0.514204676e-4 * t810; + const double t842 = -0.48005288013375e-3 * t597 - 0.2637272316e-1 * t166 * t547 - 0.669043971e-8 * t635 * t115 + 0.2006940657e-7 * t635 * t122 - 0.105312309e-2 * t635 * t128 + 0.548718171e-2 * t635 * t133 + 0.879759123e-2 * t635 * t93 - 0.450310908e-1 * t635 * t97 - 0.450310908e-1 * t214 * t547 - 0.130393038e0 * t635 * t88 + 0.842036616e-1 * t198 * t547 - 0.548733873e-1 * t238 * t547 - 0.565485306e-1 * t140 * t547 + 0.509417745e-6 * t100 * t547 - 0.82957404e-6 * t173 * t547; + const double t845 = t626 + t661 + t695 + t726 + t759 + t785 + t812 + t842; + const double t850 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t253 - t508 - 0.3e1 / 0.8e1 * t6 * t28 * t845 ); + const double t851 = t259 * t492; + const double t853 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t851 ); + const double t856 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.3e1 * t264 * t853 ); + const double t857 = t856 * t27; + const double t861 = t266 * t504; + const double t864 = t6 * t861 * t486 / 0.8e1; + const double t866 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t857 * t486 - t864 ); + const double t870 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t493 ); + const double t873 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t870 ); + const double t874 = t873 * t27; + const double t879 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t874 * t253 - t508 ); + const double t881 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t851 ); + const double t884 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.3e1 * t264 * t881 ); + const double t885 = t884 * t27; + const double t891 = t268 * rho_b; + const double t893 = 0.1e1 / t270 / t891; + const double t894 = sigma_bb * t893; + const double t899 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau_b * t272 + t894 / 0.3e1 ) * t29 * t33; + const double t900 = piecewise_functor_3( t301, t899, 0.0 ); + const double t903 = t309 * t900; + const double t906 = 0.1e1 / t308 / t302; + const double t907 = t906 * t900; + const double t910 = t315 * t321; + const double t911 = piecewise_functor_3( t301, 0.0, t899 ); + const double t912 = t312 * t911; + const double t915 = t320 * t320; + const double t916 = 0.1e1 / t915; + const double t917 = t316 * t916; + const double t918 = t313 * t318; + const double t920 = t313 * t313; + const double t921 = t920 * t312; + const double t924 = 0.3e1 * t918 * t911 + 0.3e1 * t921 * t911; + const double t927 = piecewise_functor_3( t300, 0.6e1 * t307 * t900 + 0.3e1 * t903 - 0.12e2 * t907, 0.6e1 * t910 * t912 + t917 * t924 ); + const double t930 = t34 * t894 * t277; + const double t932 = sigma_bb * sigma_bb; + const double t933 = t268 * t268; + const double t934 = t933 * t268; + const double t936 = 0.1e1 / t269 / t934; + const double t938 = t276 * t276; + const double t939 = 0.1e1 / t938; + const double t941 = t555 * t932 * t936 * t939; + const double t945 = -0.2e1 / 0.9e1 * t930 + t941 / 0.108e3; + const double t946 = t345 * t945; + const double t948 = t284 * t945; + const double t950 = t282 * t945; + const double t954 = 0.3003e4 / 0.16e2 * t946 - 0.3465e4 / 0.16e2 * t948 + 0.945e3 / 0.16e2 * t950 + 0.35e2 / 0.72e2 * t930 - 0.35e2 / 0.1728e4 * t941; + const double t957 = t336 * t927; + const double t959 = t326 * t927; + const double t961 = t324 * t927; + const double t964 = 0.3003e4 / 0.16e2 * t957 - 0.3465e4 / 0.16e2 * t959 + 0.945e3 / 0.16e2 * t961 - 0.35e2 / 0.16e2 * t927; + const double t972 = 0.315e3 / 0.8e1 * t959 - 0.105e3 / 0.4e1 * t961 + 0.15e2 / 0.8e1 * t927; + const double t977 = t329 * t927; + const double t979 = t325 * t927; + const double t981 = t323 * t927; + const double t983 = 0.693e3 / 0.8e1 * t977 - 0.315e3 / 0.4e1 * t979 + 0.105e3 / 0.8e1 * t981; + const double t990 = 0.35e2 / 0.2e1 * t979 - 0.15e2 / 0.2e1 * t981; + const double t997 = 0.15e2 / 0.2e1 * t961 - 0.3e1 / 0.2e1 * t927; + const double t1000 = t287 * t945; + const double t1002 = t283 * t945; + const double t1004 = t281 * t945; + const double t1006 = 0.693e3 / 0.8e1 * t1000 - 0.315e3 / 0.4e1 * t1002 + 0.105e3 / 0.8e1 * t1004; + const double t1009 = -0.4373652639371875e-2 * t927 + 0.34725888949305555555e-1 * t930 - 0.14469120395543981481e-2 * t941 + 0.888525527e-8 * t954 * t333 + 0.888525527e-8 * t291 * t964 - 0.338128188e-7 * t954 * t351 - 0.338128188e-7 * t291 * t972 - 0.774224962e-8 * t954 * t340 - 0.774224962e-8 * t291 * t983 + 0.554588743e-7 * t954 * t356 + 0.554588743e-7 * t291 * t990 + 0.505920757e-7 * t954 * t361 + 0.505920757e-7 * t291 * t997 - 0.691592964e-8 * t1006 * t333; + const double t1015 = t954 * t323; + const double t1017 = t291 * t927; + const double t1035 = 0.315e3 / 0.8e1 * t948 - 0.105e3 / 0.4e1 * t950 - 0.5e1 / 0.12e2 * t930 + 0.5e1 / 0.288e3 * t941; + const double t1042 = -0.691592964e-8 * t373 * t964 + 0.742180708644375e0 * t946 - 0.27652468e-6 * t954 * t365 + 0.940675747e-2 * t1015 + 0.940675747e-2 * t1017 - 0.416393106e-7 * t1006 * t356 - 0.416393106e-7 * t373 * t990 + 0.694482484e-8 * t1006 * t340 + 0.694482484e-8 * t373 * t983 + 0.236391411e-7 * t1006 * t351 + 0.236391411e-7 * t373 * t972 + 0.850272392e-8 * t1035 * t333 + 0.850272392e-8 * t402 * t964 - 0.265114646e-7 * t1006 * t361; + const double t1061 = t1006 * t323; + const double t1063 = t373 * t927; + const double t1065 = t1035 * t323; + const double t1067 = t402 * t927; + const double t1071 = 0.35e2 / 0.2e1 * t1002 - 0.15e2 / 0.2e1 * t1004; + const double t1074 = -0.265114646e-7 * t373 * t997 + 0.169805915e-6 * t1006 * t365 - 0.376702959e-7 * t1035 * t351 - 0.376702959e-7 * t402 * t972 + 0.162238741e-6 * t1035 * t356 + 0.162238741e-6 * t402 * t990 - 0.138472194e-7 * t1035 * t340 - 0.138472194e-7 * t402 * t983 + 0.48014796319875e0 * t1000 - 0.957417512e-2 * t1061 - 0.957417512e-2 * t1063 - 0.884148272e-2 * t1065 - 0.884148272e-2 * t1067 - 0.493824365e-8 * t1071 * t333; + const double t1101 = 0.15e2 / 0.2e1 * t950 + t930 / 0.3e1 - t941 / 0.72e2; + const double t1106 = -0.493824365e-8 * t421 * t964 - 0.896771404e-2 * t1035 * t361 - 0.896771404e-2 * t402 * t997 - 0.188495102e-1 * t1035 * t365 - 0.790811707e-7 * t421 * t990 + 0.631891628e-2 * t1071 * t361 + 0.631891628e-2 * t421 * t997 + 0.209603871e-7 * t1071 * t351 + 0.209603871e-7 * t421 * t972 + 0.912223751e-8 * t1071 * t340 + 0.912223751e-8 * t421 * t983 - 0.1975305997940625e1 * t948 - 0.216860568e-7 * t1101 * t340 - 0.216860568e-7 * t438 * t983; + const double t1113 = t1071 * t323; + const double t1115 = t421 * t927; + const double t1134 = -0.5522247359125e0 * t1002 - 0.18458962865625e0 * t1004 - 0.182911291e-1 * t1071 * t365 + 0.162638575e-1 * t1113 + 0.162638575e-1 * t1115 + 0.674910119e-8 * t1101 * t333 + 0.674910119e-8 * t438 * t964 - 0.790811707e-7 * t1071 * t356 + 0.896739466e-3 * t1101 * t351 + 0.896739466e-3 * t438 * t972 + 0.339308972e-2 * t1101 * t356 + 0.138149743606875e-3 * t957 - 0.940351563e-5 * t281 * t964 + 0.293253041e-2 * t455 * t997; + const double t1142 = t1101 * t323; + const double t1144 = t438 * t927; + const double t1156 = t281 * t927; + const double t1158 = t945 * t361; + const double t1161 = -0.35104103e-3 * t455 * t972 + 0.182906057e-2 * t455 * t990 + 0.668980219e-8 * t455 * t983 + 0.1493833915228125e1 * t950 - 0.182177954e-1 * t1142 - 0.182177954e-1 * t1144 - 0.223014657e-8 * t455 * t964 + 0.339308972e-2 * t438 * t990 - 0.845508103e-2 * t1101 * t361 - 0.845508103e-2 * t438 * t997 + 0.280678872e-1 * t1101 * t365 + 0.100339208e0 * t1156 - 0.303347141e-2 * t1158 + 0.13938308465540625e-1 * t961; + const double t1165 = t945 * t365; + const double t1167 = t945 * t351; + const double t1172 = t945 * t356; + const double t1183 = t455 * t927; + const double t1185 = t945 * t333; + const double t1187 = -0.303347141e-2 * t281 * t997 - 0.879090772e-2 * t1165 + 0.822139896e-3 * t1167 - 0.4729415517815625e-2 * t959 + 0.822139896e-3 * t281 * t972 + 0.119130546e-2 * t1172 + 0.120828626792125e-1 * t979 + 0.1406365375513125e-1 * t981 + 0.119130546e-2 * t281 * t990 - 0.514204676e-4 * t945 * t340 - 0.48005288013375e-3 * t977 - 0.514204676e-4 * t281 * t983 - 0.43464346e-1 * t1183 - 0.940351563e-5 * t1185; + const double t1188 = t945 * t323; + const double t1218 = 0.100339208e0 * t1188 - 0.2637272316e-1 * t482 * t927 - 0.105312309e-2 * t1004 * t351 + 0.548718171e-2 * t1004 * t356 + 0.879759123e-2 * t1004 * t361 - 0.450310908e-1 * t1004 * t365 - 0.450310908e-1 * t468 * t927 - 0.130393038e0 * t1004 * t323 + 0.842036616e-1 * t452 * t927 - 0.669043971e-8 * t1004 * t333 + 0.2006940657e-7 * t1004 * t340 - 0.548733873e-1 * t434 * t927 - 0.565485306e-1 * t417 * t927 + 0.509417745e-6 * t397 * t927 - 0.82957404e-6 * t368 * t927; + const double t1221 = t1009 + t1042 + t1074 + t1106 + t1134 + t1161 + t1187 + t1218; + const double t1226 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t885 * t486 - t864 - 0.3e1 / 0.8e1 * t6 * t267 * t1221 ); + const double t1229 = t34 * t39; + const double t1230 = 0.5e1 / 0.72e2 * t1229; + const double t1231 = piecewise_functor_3( t66, -t1230, 0.0 ); + const double t1234 = t74 * t1231; + const double t1236 = t526 * t1231; + const double t1239 = piecewise_functor_3( t66, 0.0, -t1230 ); + const double t1240 = t77 * t1239; + const double t1246 = 0.3e1 * t538 * t1239 + 0.3e1 * t541 * t1239; + const double t1249 = piecewise_functor_3( t65, 0.6e1 * t72 * t1231 + 0.3e1 * t1234 - 0.12e2 * t1236, 0.6e1 * t530 * t1240 + t537 * t1246 ); + const double t1251 = t557 * rho_a; + const double t1253 = 0.1e1 / t36 / t1251; + const double t1256 = t555 * sigma_aa * t1253 * t563; + const double t1259 = t34 * t39 * t44; + const double t1263 = t1259 / 0.12e2 - t1256 / 0.288e3; + const double t1264 = t52 * t1263; + const double t1266 = t51 * t1263; + const double t1268 = t50 * t1263; + const double t1272 = 0.3003e4 / 0.16e2 * t1264 - 0.3465e4 / 0.16e2 * t1266 + 0.945e3 / 0.16e2 * t1268 - 0.35e2 / 0.192e3 * t1259 + 0.35e2 / 0.4608e4 * t1256; + const double t1275 = t111 * t1249; + const double t1277 = t90 * t1249; + const double t1279 = t88 * t1249; + const double t1281 = 0.693e3 / 0.8e1 * t1275 - 0.315e3 / 0.4e1 * t1277 + 0.105e3 / 0.8e1 * t1279; + const double t1286 = t118 * t1249; + const double t1288 = t108 * t1249; + const double t1290 = t89 * t1249; + const double t1293 = 0.3003e4 / 0.16e2 * t1286 - 0.3465e4 / 0.16e2 * t1288 + 0.945e3 / 0.16e2 * t1290 - 0.35e2 / 0.16e2 * t1249; + const double t1300 = 0.15e2 / 0.2e1 * t1290 - 0.3e1 / 0.2e1 * t1249; + const double t1308 = 0.315e3 / 0.8e1 * t1288 - 0.105e3 / 0.4e1 * t1290 + 0.15e2 / 0.8e1 * t1249; + const double t1313 = t1272 * t88; + const double t1315 = t147 * t1249; + const double t1317 = -0.4373652639371875e-2 * t1249 + 0.54259201483289930554e-3 * t1256 - 0.13022208355989583333e-1 * t1259 - 0.774224962e-8 * t1272 * t122 - 0.774224962e-8 * t147 * t1281 + 0.888525527e-8 * t1272 * t115 + 0.888525527e-8 * t147 * t1293 + 0.505920757e-7 * t1272 * t93 + 0.505920757e-7 * t147 * t1300 - 0.338128188e-7 * t1272 * t128 - 0.338128188e-7 * t147 * t1308 + 0.554588743e-7 * t1272 * t133 + 0.940675747e-2 * t1313 + 0.940675747e-2 * t1315; + const double t1318 = t102 * t1263; + const double t1320 = t104 * t1263; + const double t1322 = t49 * t1263; + const double t1324 = 0.693e3 / 0.8e1 * t1318 - 0.315e3 / 0.4e1 * t1320 + 0.105e3 / 0.8e1 * t1322; + const double t1331 = 0.35e2 / 0.2e1 * t1277 - 0.15e2 / 0.2e1 * t1279; + const double t1347 = t1324 * t88; + const double t1349 = t56 * t1249; + const double t1355 = -0.691592964e-8 * t1324 * t115 - 0.691592964e-8 * t56 * t1293 + 0.554588743e-7 * t147 * t1331 + 0.236391411e-7 * t1324 * t128 + 0.236391411e-7 * t56 * t1308 + 0.694482484e-8 * t1324 * t122 + 0.694482484e-8 * t56 * t1281 + 0.742180708644375e0 * t1264 - 0.27652468e-6 * t1272 * t97 + 0.169805915e-6 * t1324 * t97 - 0.957417512e-2 * t1347 - 0.957417512e-2 * t1349 - 0.416393106e-7 * t1324 * t133 - 0.416393106e-7 * t56 * t1331; + const double t1365 = 0.315e3 / 0.8e1 * t1266 - 0.105e3 / 0.4e1 * t1268 + 0.5e1 / 0.32e2 * t1259 - 0.5e1 / 0.768e3 * t1256; + const double t1383 = t1365 * t88; + const double t1389 = -0.265114646e-7 * t1324 * t93 - 0.138472194e-7 * t107 * t1281 - 0.376702959e-7 * t1365 * t128 - 0.376702959e-7 * t107 * t1308 + 0.850272392e-8 * t1365 * t115 + 0.850272392e-8 * t107 * t1293 - 0.265114646e-7 * t56 * t1300 + 0.48014796319875e0 * t1318 - 0.896771404e-2 * t1365 * t93 - 0.896771404e-2 * t107 * t1300 - 0.188495102e-1 * t1365 * t97 - 0.884148272e-2 * t1383 + 0.162238741e-6 * t1365 * t133 + 0.162238741e-6 * t107 * t1331; + const double t1394 = 0.35e2 / 0.2e1 * t1320 - 0.15e2 / 0.2e1 * t1322; + const double t1401 = t107 * t1249; + const double t1414 = t1394 * t88; + const double t1416 = t225 * t1249; + const double t1418 = -0.138472194e-7 * t1365 * t122 + 0.912223751e-8 * t1394 * t122 + 0.912223751e-8 * t225 * t1281 + 0.209603871e-7 * t1394 * t128 - 0.884148272e-2 * t1401 - 0.493824365e-8 * t1394 * t115 - 0.493824365e-8 * t225 * t1293 - 0.1975305997940625e1 * t1266 - 0.790811707e-7 * t1394 * t133 - 0.790811707e-7 * t225 * t1331 - 0.5522247359125e0 * t1320 - 0.18458962865625e0 * t1322 + 0.162638575e-1 * t1414 + 0.162638575e-1 * t1416; + const double t1424 = 0.15e2 / 0.2e1 * t1268 - t1259 / 0.8e1 + t1256 / 0.192e3; + const double t1444 = t1424 * t88; + const double t1452 = 0.674910119e-8 * t1424 * t115 + 0.674910119e-8 * t193 * t1293 + 0.631891628e-2 * t1394 * t93 + 0.631891628e-2 * t225 * t1300 - 0.182911291e-1 * t1394 * t97 + 0.209603871e-7 * t225 * t1308 + 0.1493833915228125e1 * t1268 - 0.845508103e-2 * t1424 * t93 - 0.845508103e-2 * t193 * t1300 + 0.280678872e-1 * t1424 * t97 - 0.182177954e-1 * t1444 + 0.896739466e-3 * t193 * t1308 + 0.339308972e-2 * t1424 * t133 + 0.339308972e-2 * t193 * t1331; + const double t1462 = t1263 * t128; + const double t1467 = t1263 * t122; + const double t1472 = t1263 * t115; + const double t1477 = -0.216860568e-7 * t1424 * t122 - 0.216860568e-7 * t193 * t1281 + 0.896739466e-3 * t1424 * t128 + 0.13938308465540625e-1 * t1290 - 0.303347141e-2 * t49 * t1300 + 0.822139896e-3 * t1462 - 0.4729415517815625e-2 * t1288 + 0.822139896e-3 * t49 * t1308 - 0.514204676e-4 * t1467 - 0.48005288013375e-3 * t1275 - 0.514204676e-4 * t49 * t1281 - 0.940351563e-5 * t1472 + 0.138149743606875e-3 * t1286 - 0.940351563e-5 * t49 * t1293; + const double t1481 = t201 * t1249; + const double t1489 = t193 * t1249; + const double t1493 = t1263 * t97; + const double t1495 = t1263 * t88; + const double t1497 = t49 * t1249; + const double t1499 = t1263 * t133; + const double t1505 = 0.293253041e-2 * t201 * t1300 - 0.43464346e-1 * t1481 + 0.182906057e-2 * t201 * t1331 + 0.668980219e-8 * t201 * t1281 - 0.35104103e-3 * t201 * t1308 - 0.182177954e-1 * t1489 - 0.223014657e-8 * t201 * t1293 - 0.879090772e-2 * t1493 + 0.100339208e0 * t1495 + 0.100339208e0 * t1497 + 0.119130546e-2 * t1499 + 0.120828626792125e-1 * t1277 + 0.1406365375513125e-1 * t1279 + 0.119130546e-2 * t49 * t1331; + const double t1506 = t1263 * t93; + const double t1536 = -0.303347141e-2 * t1506 - 0.2637272316e-1 * t166 * t1249 - 0.130393038e0 * t1322 * t88 - 0.669043971e-8 * t1322 * t115 + 0.2006940657e-7 * t1322 * t122 - 0.105312309e-2 * t1322 * t128 + 0.548718171e-2 * t1322 * t133 + 0.879759123e-2 * t1322 * t93 - 0.450310908e-1 * t1322 * t97 - 0.450310908e-1 * t214 * t1249 + 0.842036616e-1 * t198 * t1249 - 0.548733873e-1 * t238 * t1249 - 0.565485306e-1 * t140 * t1249 + 0.509417745e-6 * t100 * t1249 - 0.82957404e-6 * t173 * t1249; + const double t1539 = t1317 + t1355 + t1389 + t1418 + t1452 + t1477 + t1505 + t1536; + const double t1543 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1539 ); + const double t1544 = t34 * t272; + const double t1545 = 0.5e1 / 0.72e2 * t1544; + const double t1546 = piecewise_functor_3( t301, -t1545, 0.0 ); + const double t1549 = t309 * t1546; + const double t1551 = t906 * t1546; + const double t1554 = piecewise_functor_3( t301, 0.0, -t1545 ); + const double t1555 = t312 * t1554; + const double t1561 = 0.3e1 * t918 * t1554 + 0.3e1 * t921 * t1554; + const double t1564 = piecewise_functor_3( t300, 0.6e1 * t307 * t1546 + 0.3e1 * t1549 - 0.12e2 * t1551, 0.6e1 * t910 * t1555 + t917 * t1561 ); + const double t1566 = t933 * rho_b; + const double t1568 = 0.1e1 / t269 / t1566; + const double t1571 = t555 * sigma_bb * t1568 * t939; + const double t1574 = t34 * t272 * t277; + const double t1578 = t1574 / 0.12e2 - t1571 / 0.288e3; + const double t1579 = t1578 * t351; + const double t1581 = t326 * t1564; + const double t1583 = t324 * t1564; + const double t1586 = 0.315e3 / 0.8e1 * t1581 - 0.105e3 / 0.4e1 * t1583 + 0.15e2 / 0.8e1 * t1564; + const double t1589 = t1578 * t356; + const double t1591 = t325 * t1564; + const double t1593 = t323 * t1564; + const double t1595 = 0.35e2 / 0.2e1 * t1591 - 0.15e2 / 0.2e1 * t1593; + const double t1598 = t1578 * t361; + const double t1602 = 0.15e2 / 0.2e1 * t1583 - 0.3e1 / 0.2e1 * t1564; + const double t1605 = t1578 * t365; + const double t1607 = t1578 * t323; + const double t1609 = t281 * t1564; + const double t1611 = t284 * t1578; + const double t1613 = t282 * t1578; + const double t1617 = 0.315e3 / 0.8e1 * t1611 - 0.105e3 / 0.4e1 * t1613 + 0.5e1 / 0.32e2 * t1574 - 0.5e1 / 0.768e3 * t1571; + const double t1620 = t283 * t1578; + const double t1622 = t281 * t1578; + const double t1624 = 0.35e2 / 0.2e1 * t1620 - 0.15e2 / 0.2e1 * t1622; + const double t1627 = -0.4373652639371875e-2 * t1564 + 0.54259201483289930554e-3 * t1571 - 0.13022208355989583333e-1 * t1574 + 0.822139896e-3 * t1579 + 0.822139896e-3 * t281 * t1586 + 0.119130546e-2 * t1589 + 0.119130546e-2 * t281 * t1595 - 0.303347141e-2 * t1598 - 0.303347141e-2 * t281 * t1602 - 0.879090772e-2 * t1605 + 0.100339208e0 * t1607 + 0.100339208e0 * t1609 - 0.188495102e-1 * t1617 * t365 + 0.912223751e-8 * t1624 * t340; + const double t1628 = t329 * t1564; + const double t1632 = 0.693e3 / 0.8e1 * t1628 - 0.315e3 / 0.4e1 * t1591 + 0.105e3 / 0.8e1 * t1593; + const double t1635 = t1617 * t323; + const double t1637 = t402 * t1564; + const double t1641 = t336 * t1564; + const double t1646 = 0.3003e4 / 0.16e2 * t1641 - 0.3465e4 / 0.16e2 * t1581 + 0.945e3 / 0.16e2 * t1583 - 0.35e2 / 0.16e2 * t1564; + const double t1667 = 0.912223751e-8 * t421 * t1632 - 0.884148272e-2 * t1635 - 0.884148272e-2 * t1637 - 0.493824365e-8 * t1624 * t333 - 0.493824365e-8 * t421 * t1646 - 0.896771404e-2 * t1617 * t361 - 0.896771404e-2 * t402 * t1602 - 0.790811707e-7 * t421 * t1595 + 0.631891628e-2 * t1624 * t361 + 0.631891628e-2 * t421 * t1602 - 0.182911291e-1 * t1624 * t365 + 0.209603871e-7 * t1624 * t351 + 0.209603871e-7 * t421 * t1586 - 0.790811707e-7 * t1624 * t356; + const double t1674 = 0.15e2 / 0.2e1 * t1613 - t1574 / 0.8e1 + t1571 / 0.192e3; + const double t1683 = t1624 * t323; + const double t1685 = t421 * t1564; + const double t1697 = t1674 * t323; + const double t1699 = t438 * t1564; + const double t1701 = 0.896739466e-3 * t438 * t1586 + 0.339308972e-2 * t1674 * t356 + 0.339308972e-2 * t438 * t1595 - 0.216860568e-7 * t1674 * t340 - 0.216860568e-7 * t438 * t1632 + 0.162638575e-1 * t1683 + 0.162638575e-1 * t1685 + 0.674910119e-8 * t1674 * t333 + 0.674910119e-8 * t438 * t1646 - 0.35104103e-3 * t455 * t1586 + 0.182906057e-2 * t455 * t1595 + 0.668980219e-8 * t455 * t1632 - 0.182177954e-1 * t1697 - 0.182177954e-1 * t1699; + const double t1712 = t345 * t1578; + const double t1718 = 0.3003e4 / 0.16e2 * t1712 - 0.3465e4 / 0.16e2 * t1611 + 0.945e3 / 0.16e2 * t1613 - 0.35e2 / 0.192e3 * t1574 + 0.35e2 / 0.4608e4 * t1571; + const double t1737 = -0.223014657e-8 * t455 * t1646 - 0.845508103e-2 * t1674 * t361 - 0.845508103e-2 * t438 * t1602 + 0.280678872e-1 * t1674 * t365 + 0.896739466e-3 * t1674 * t351 - 0.774224962e-8 * t1718 * t340 - 0.774224962e-8 * t291 * t1632 + 0.888525527e-8 * t1718 * t333 + 0.888525527e-8 * t291 * t1646 + 0.293253041e-2 * t455 * t1602 + 0.554588743e-7 * t291 * t1595 + 0.505920757e-7 * t1718 * t361 + 0.505920757e-7 * t291 * t1602 - 0.338128188e-7 * t1718 * t351; + const double t1747 = t1718 * t323; + const double t1749 = t291 * t1564; + const double t1753 = t287 * t1578; + const double t1757 = 0.693e3 / 0.8e1 * t1753 - 0.315e3 / 0.4e1 * t1620 + 0.105e3 / 0.8e1 * t1622; + const double t1772 = -0.338128188e-7 * t291 * t1586 - 0.691592964e-8 * t373 * t1646 + 0.742180708644375e0 * t1712 - 0.27652468e-6 * t1718 * t365 + 0.940675747e-2 * t1747 + 0.940675747e-2 * t1749 + 0.554588743e-7 * t1718 * t356 + 0.694482484e-8 * t1757 * t340 + 0.694482484e-8 * t373 * t1632 + 0.236391411e-7 * t1757 * t351 + 0.236391411e-7 * t373 * t1586 - 0.691592964e-8 * t1757 * t333 - 0.138472194e-7 * t1617 * t340 - 0.138472194e-7 * t402 * t1632; + const double t1773 = t1757 * t323; + const double t1775 = t373 * t1564; + const double t1797 = t455 * t1564; + const double t1799 = -0.957417512e-2 * t1773 - 0.957417512e-2 * t1775 + 0.850272392e-8 * t1617 * t333 + 0.850272392e-8 * t402 * t1646 + 0.169805915e-6 * t1757 * t365 - 0.416393106e-7 * t1757 * t356 - 0.416393106e-7 * t373 * t1595 - 0.1975305997940625e1 * t1611 + 0.1493833915228125e1 * t1613 - 0.376702959e-7 * t1617 * t351 - 0.376702959e-7 * t402 * t1586 + 0.162238741e-6 * t1617 * t356 + 0.162238741e-6 * t402 * t1595 - 0.43464346e-1 * t1797; + const double t1801 = t1578 * t333; + const double t1808 = t1578 * t340; + const double t1820 = -0.940351563e-5 * t1801 + 0.138149743606875e-3 * t1641 - 0.4729415517815625e-2 * t1581 + 0.13938308465540625e-1 * t1583 - 0.940351563e-5 * t281 * t1646 - 0.514204676e-4 * t1808 - 0.48005288013375e-3 * t1628 + 0.120828626792125e-1 * t1591 + 0.1406365375513125e-1 * t1593 - 0.514204676e-4 * t281 * t1632 + 0.48014796319875e0 * t1753 - 0.5522247359125e0 * t1620 - 0.18458962865625e0 * t1622 - 0.265114646e-7 * t1757 * t361; + const double t1851 = -0.265114646e-7 * t373 * t1602 - 0.2637272316e-1 * t482 * t1564 - 0.450310908e-1 * t468 * t1564 - 0.130393038e0 * t1622 * t323 - 0.669043971e-8 * t1622 * t333 + 0.2006940657e-7 * t1622 * t340 - 0.105312309e-2 * t1622 * t351 + 0.548718171e-2 * t1622 * t356 + 0.879759123e-2 * t1622 * t361 - 0.450310908e-1 * t1622 * t365 + 0.842036616e-1 * t452 * t1564 - 0.548733873e-1 * t434 * t1564 - 0.565485306e-1 * t417 * t1564 + 0.509417745e-6 * t397 * t1564 - 0.82957404e-6 * t368 * t1564; + const double t1854 = t1627 + t1667 + t1701 + t1737 + t1772 + t1799 + t1820 + t1851; + const double t1858 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t1854 ); + const double t1861 = 0.5e1 / 0.9e1 * t58 * t29 * t33; + const double t1862 = piecewise_functor_3( t66, t1861, 0.0 ); + const double t1865 = t74 * t1862; + const double t1867 = t526 * t1862; + const double t1870 = piecewise_functor_3( t66, 0.0, t1861 ); + const double t1871 = t77 * t1870; + const double t1877 = 0.3e1 * t538 * t1870 + 0.3e1 * t541 * t1870; + const double t1880 = piecewise_functor_3( t65, 0.6e1 * t72 * t1862 + 0.3e1 * t1865 - 0.12e2 * t1867, 0.6e1 * t530 * t1871 + t537 * t1877 ); + const double t1882 = t90 * t1880; + const double t1884 = t88 * t1880; + const double t1886 = 0.35e2 / 0.2e1 * t1882 - 0.15e2 / 0.2e1 * t1884; + const double t1889 = t89 * t1880; + const double t1892 = 0.15e2 / 0.2e1 * t1889 - 0.3e1 / 0.2e1 * t1880; + const double t1895 = t108 * t1880; + const double t1899 = 0.315e3 / 0.8e1 * t1895 - 0.105e3 / 0.4e1 * t1889 + 0.15e2 / 0.8e1 * t1880; + const double t1902 = t118 * t1880; + const double t1907 = 0.3003e4 / 0.16e2 * t1902 - 0.3465e4 / 0.16e2 * t1895 + 0.945e3 / 0.16e2 * t1889 - 0.35e2 / 0.16e2 * t1880; + const double t1910 = t111 * t1880; + const double t1914 = 0.693e3 / 0.8e1 * t1910 - 0.315e3 / 0.4e1 * t1882 + 0.105e3 / 0.8e1 * t1884; + const double t1919 = t49 * t1880; + const double t1931 = t147 * t1880; + const double t1933 = -0.4373652639371875e-2 * t1880 + 0.554588743e-7 * t147 * t1886 + 0.505920757e-7 * t147 * t1892 - 0.338128188e-7 * t147 * t1899 + 0.888525527e-8 * t147 * t1907 - 0.774224962e-8 * t147 * t1914 - 0.303347141e-2 * t49 * t1892 + 0.100339208e0 * t1919 + 0.822139896e-3 * t49 * t1899 + 0.119130546e-2 * t49 * t1886 - 0.514204676e-4 * t49 * t1914 + 0.694482484e-8 * t56 * t1914 + 0.236391411e-7 * t56 * t1899 + 0.940675747e-2 * t1931; + const double t1946 = t56 * t1880; + const double t1958 = t225 * t1880; + const double t1962 = -0.691592964e-8 * t56 * t1907 + 0.162238741e-6 * t107 * t1886 - 0.896771404e-2 * t107 * t1892 - 0.376702959e-7 * t107 * t1899 - 0.138472194e-7 * t107 * t1914 - 0.265114646e-7 * t56 * t1892 - 0.957417512e-2 * t1946 + 0.850272392e-8 * t107 * t1907 - 0.416393106e-7 * t56 * t1886 - 0.845508103e-2 * t193 * t1892 + 0.896739466e-3 * t193 * t1899 - 0.216860568e-7 * t193 * t1914 + 0.162638575e-1 * t1958 + 0.674910119e-8 * t193 * t1907; + const double t1972 = t107 * t1880; + const double t1976 = t201 * t1880; + const double t1987 = -0.790811707e-7 * t225 * t1886 + 0.631891628e-2 * t225 * t1892 + 0.912223751e-8 * t225 * t1914 + 0.209603871e-7 * t225 * t1899 - 0.884148272e-2 * t1972 - 0.493824365e-8 * t225 * t1907 - 0.43464346e-1 * t1976 + 0.138149743606875e-3 * t1902 - 0.4729415517815625e-2 * t1895 + 0.13938308465540625e-1 * t1889 - 0.940351563e-5 * t49 * t1907 + 0.120828626792125e-1 * t1882 + 0.1406365375513125e-1 * t1884 + 0.182906057e-2 * t201 * t1886; + const double t1995 = t193 * t1880; + const double t2015 = 0.293253041e-2 * t201 * t1892 - 0.48005288013375e-3 * t1910 + 0.668980219e-8 * t201 * t1914 - 0.35104103e-3 * t201 * t1899 - 0.182177954e-1 * t1995 - 0.223014657e-8 * t201 * t1907 + 0.339308972e-2 * t193 * t1886 - 0.82957404e-6 * t173 * t1880 - 0.2637272316e-1 * t166 * t1880 - 0.450310908e-1 * t214 * t1880 + 0.842036616e-1 * t198 * t1880 - 0.548733873e-1 * t238 * t1880 + 0.509417745e-6 * t100 * t1880 - 0.565485306e-1 * t140 * t1880; + const double t2017 = t1933 + t1962 + t1987 + t2015; + const double t2021 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2017 ); + const double t2024 = 0.5e1 / 0.9e1 * t293 * t29 * t33; + const double t2025 = piecewise_functor_3( t301, t2024, 0.0 ); + const double t2028 = t309 * t2025; + const double t2030 = t906 * t2025; + const double t2033 = piecewise_functor_3( t301, 0.0, t2024 ); + const double t2034 = t312 * t2033; + const double t2040 = 0.3e1 * t918 * t2033 + 0.3e1 * t921 * t2033; + const double t2043 = piecewise_functor_3( t300, 0.6e1 * t307 * t2025 + 0.3e1 * t2028 - 0.12e2 * t2030, 0.6e1 * t910 * t2034 + t917 * t2040 ); + const double t2045 = t336 * t2043; + const double t2047 = t326 * t2043; + const double t2049 = t324 * t2043; + const double t2052 = 0.3003e4 / 0.16e2 * t2045 - 0.3465e4 / 0.16e2 * t2047 + 0.945e3 / 0.16e2 * t2049 - 0.35e2 / 0.16e2 * t2043; + const double t2057 = 0.15e2 / 0.2e1 * t2049 - 0.3e1 / 0.2e1 * t2043; + const double t2060 = t325 * t2043; + const double t2062 = t323 * t2043; + const double t2064 = 0.35e2 / 0.2e1 * t2060 - 0.15e2 / 0.2e1 * t2062; + const double t2070 = 0.315e3 / 0.8e1 * t2047 - 0.105e3 / 0.4e1 * t2049 + 0.15e2 / 0.8e1 * t2043; + const double t2073 = t329 * t2043; + const double t2077 = 0.693e3 / 0.8e1 * t2073 - 0.315e3 / 0.4e1 * t2060 + 0.105e3 / 0.8e1 * t2062; + const double t2082 = t373 * t2043; + const double t2094 = t291 * t2043; + const double t2096 = -0.4373652639371875e-2 * t2043 - 0.691592964e-8 * t373 * t2052 + 0.505920757e-7 * t291 * t2057 + 0.554588743e-7 * t291 * t2064 - 0.338128188e-7 * t291 * t2070 - 0.774224962e-8 * t291 * t2077 + 0.888525527e-8 * t291 * t2052 - 0.957417512e-2 * t2082 + 0.850272392e-8 * t402 * t2052 - 0.416393106e-7 * t373 * t2064 - 0.265114646e-7 * t373 * t2057 + 0.236391411e-7 * t373 * t2070 + 0.694482484e-8 * t373 * t2077 + 0.940675747e-2 * t2094; + const double t2103 = t402 * t2043; + const double t2121 = t438 * t2043; + const double t2125 = 0.631891628e-2 * t421 * t2057 + 0.209603871e-7 * t421 * t2070 + 0.912223751e-8 * t421 * t2077 - 0.884148272e-2 * t2103 - 0.493824365e-8 * t421 * t2052 - 0.896771404e-2 * t402 * t2057 + 0.162238741e-6 * t402 * t2064 - 0.376702959e-7 * t402 * t2070 - 0.138472194e-7 * t402 * t2077 + 0.293253041e-2 * t455 * t2057 - 0.35104103e-3 * t455 * t2070 + 0.668980219e-8 * t455 * t2077 - 0.182177954e-1 * t2121 - 0.223014657e-8 * t455 * t2052; + const double t2135 = t421 * t2043; + const double t2144 = t281 * t2043; + const double t2151 = -0.845508103e-2 * t438 * t2057 + 0.339308972e-2 * t438 * t2064 + 0.896739466e-3 * t438 * t2070 - 0.216860568e-7 * t438 * t2077 + 0.162638575e-1 * t2135 + 0.674910119e-8 * t438 * t2052 - 0.790811707e-7 * t421 * t2064 + 0.13938308465540625e-1 * t2049 - 0.303347141e-2 * t281 * t2057 + 0.100339208e0 * t2144 - 0.4729415517815625e-2 * t2047 + 0.822139896e-3 * t281 * t2070 + 0.120828626792125e-1 * t2060 + 0.1406365375513125e-1 * t2062; + const double t2160 = t455 * t2043; + const double t2178 = 0.119130546e-2 * t281 * t2064 - 0.48005288013375e-3 * t2073 - 0.514204676e-4 * t281 * t2077 + 0.138149743606875e-3 * t2045 - 0.940351563e-5 * t281 * t2052 - 0.43464346e-1 * t2160 + 0.182906057e-2 * t455 * t2064 - 0.2637272316e-1 * t482 * t2043 - 0.450310908e-1 * t468 * t2043 + 0.842036616e-1 * t452 * t2043 - 0.548733873e-1 * t434 * t2043 - 0.565485306e-1 * t417 * t2043 + 0.509417745e-6 * t397 * t2043 - 0.82957404e-6 * t368 * t2043; + const double t2180 = t2096 + t2125 + t2151 + t2178; + const double t2184 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t2180 ); + + + eps = t257 + t490; + vrho_a = t257 + t490 + t7 * ( t850 + t866 ); + vrho_b = t257 + t490 + t7 * ( t879 + t1226 ); + vsigma_aa = t7 * t1543; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1858; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t2021; + vtau_b = t7 * t2184; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t552 = t29 * t29; + constexpr double t554 = 0.1e1 / t31 / t30; + constexpr double t555 = t552 * t554; + constexpr double t2302 = t30 * t30; + constexpr double t2303 = 0.1e1 / t2302; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = t19 + 0.1e1; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.65124e1 + t34 * t40 / 0.24e2; + const double t44 = 0.1e1 / t43; + const double t46 = t34 * t40 * t44; + const double t49 = t46 / 0.12e2 - 0.1e1; + const double t50 = t49 * t49; + const double t51 = t50 * t50; + const double t52 = t51 * t50; + const double t56 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t52 - 0.315e3 / 0.16e2 * t51 + 0.105e3 / 0.16e2 * t50; + const double t58 = 0.1e1 / t37 / rho_a; + const double t64 = 0.5e1 / 0.9e1 * ( tau_a * t58 - t40 / 0.8e1 ) * t29 * t33; + const double t65 = 0.1e5 <= t64; + const double t66 = 0.1e5 < t64; + const double t67 = piecewise_functor_3( t66, t64, 10000.0 ); + const double t68 = t67 * t67; + const double t71 = t68 * t67; + const double t72 = 0.1e1 / t71; + const double t73 = t68 * t68; + const double t74 = 0.1e1 / t73; + const double t77 = piecewise_functor_3( t66, 10000.0, t64 ); + const double t78 = t77 * t77; + const double t79 = 0.1e1 - t78; + const double t80 = t79 * t79; + const double t81 = t80 * t79; + const double t82 = t78 * t77; + const double t83 = 0.1e1 + t82; + const double t85 = t82 * t83 + 0.1e1; + const double t86 = 0.1e1 / t85; + const double t88 = piecewise_functor_3( t65, 0.1e1 - 0.3e1 / t68 - t72 + 0.3e1 * t74, -t81 * t86 ); + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t93 = 0.5e1 / 0.2e1 * t90 - 0.3e1 / 0.2e1 * t88; + const double t97 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t89; + const double t100 = t56 * t88; + const double t102 = t51 * t49; + const double t104 = t50 * t49; + const double t107 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t104 + 0.5e1 / 0.32e2 * t46 - 0.15e2 / 0.8e1; + const double t108 = t89 * t89; + const double t109 = t108 * t90; + const double t111 = t108 * t88; + const double t115 = 0.429e3 / 0.16e2 * t109 - 0.693e3 / 0.16e2 * t111 + 0.315e3 / 0.16e2 * t90 - 0.35e2 / 0.16e2 * t88; + const double t118 = t108 * t89; + const double t122 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t118 - 0.315e3 / 0.16e2 * t108 + 0.105e3 / 0.16e2 * t89; + const double t128 = 0.63e2 / 0.8e1 * t111 - 0.35e2 / 0.4e1 * t90 + 0.15e2 / 0.8e1 * t88; + const double t133 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t108 - 0.15e2 / 0.4e1 * t89; + const double t140 = t107 * t88; + const double t142 = t51 * t104; + const double t147 = 0.429e3 / 0.16e2 * t142 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t104 - 0.35e2 / 0.192e3 * t46 + 0.35e2 / 0.16e2; + const double t157 = -0.13022208355989583333e-1 * t46 - 0.265114646e-7 * t56 * t93 + 0.169805915e-6 * t56 * t97 - 0.957417512e-2 * t100 + 0.850272392e-8 * t107 * t115 - 0.138472194e-7 * t107 * t122 - 0.376702959e-7 * t107 * t128 + 0.162238741e-6 * t107 * t133 - 0.896771404e-2 * t107 * t93 - 0.188495102e-1 * t107 * t97 - 0.884148272e-2 * t140 + 0.888525527e-8 * t147 * t115 - 0.774224962e-8 * t147 * t122 - 0.338128188e-7 * t147 * t128 + 0.554588743e-7 * t147 * t133 - 0.138056183978125e0 * t51; + const double t166 = t49 * t88; + const double t173 = t147 * t88; + const double t185 = -0.92294814328125e-1 * t50 + 0.19735677658125e-4 * t109 + 0.119130546e-2 * t49 * t133 - 0.303347141e-2 * t49 * t93 - 0.879090772e-2 * t49 * t97 + 0.100339208e0 * t166 + 0.497944638409375e0 * t104 + 0.505920757e-7 * t147 * t93 - 0.27652468e-6 * t147 * t97 + 0.940675747e-2 * t173 - 0.691592964e-8 * t56 * t115 + 0.694482484e-8 * t56 * t122 + 0.236391411e-7 * t56 * t128 - 0.416393106e-7 * t56 * t133 + 0.80024660533125e-1 * t52 - 0.395061199588125e0 * t102; + const double t193 = 0.5e1 / 0.2e1 * t104 - t46 / 0.8e1 + 0.3e1 / 0.2e1; + const double t198 = t193 * t88; + const double t201 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t50; + const double t214 = t201 * t88; + const double t220 = 0.106025815520625e0 * t142 - 0.4373652639371875e-2 * t88 - 0.945883103563125e-3 * t111 + 0.4646102821846875e-2 * t90 - 0.845508103e-2 * t193 * t93 + 0.280678872e-1 * t193 * t97 - 0.182177954e-1 * t198 - 0.223014657e-8 * t201 * t115 + 0.668980219e-8 * t201 * t122 - 0.35104103e-3 * t201 * t128 + 0.182906057e-2 * t201 * t133 + 0.293253041e-2 * t201 * t93 - 0.150103636e-1 * t201 * t97 - 0.43464346e-1 * t214 - 0.940351563e-5 * t49 * t115 - 0.514204676e-4 * t49 * t122; + const double t225 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t51 - 0.15e2 / 0.4e1 * t50; + const double t238 = t225 * t88; + const double t251 = 0.1380567225218996875e1 + 0.822139896e-3 * t49 * t128 - 0.493824365e-8 * t225 * t115 + 0.912223751e-8 * t225 * t122 + 0.209603871e-7 * t225 * t128 - 0.790811707e-7 * t225 * t133 + 0.631891628e-2 * t225 * t93 - 0.182911291e-1 * t225 * t97 + 0.162638575e-1 * t238 + 0.674910119e-8 * t193 * t115 - 0.216860568e-7 * t193 * t122 + 0.896739466e-3 * t193 * t128 + 0.339308972e-2 * t193 * t133 - 0.80008813355625e-4 * t118 + 0.3020715669803125e-2 * t108 + 0.7031826877565625e-2 * t89; + const double t253 = t157 + t185 + t220 + t251; + const double t258 = rho_b <= dens_tol; + const double t259 = -t17; + const double t261 = piecewise_functor_5( t15, t12, t11, t16, t259 * t8 ); + const double t262 = t261 + 0.1e1; + const double t263 = t262 <= zeta_tol; + const double t264 = safe_math::cbrt( t262 ); + const double t266 = piecewise_functor_3( t263, t23, t264 * t262 ); + const double t267 = t266 * t27; + const double t268 = rho_b * rho_b; + const double t269 = safe_math::cbrt( rho_b ); + const double t270 = t269 * t269; + const double t272 = 0.1e1 / t270 / t268; + const double t273 = sigma_bb * t272; + const double t276 = 0.65124e1 + t34 * t273 / 0.24e2; + const double t277 = 0.1e1 / t276; + const double t279 = t34 * t273 * t277; + const double t281 = t279 / 0.12e2 - 0.1e1; + const double t282 = t281 * t281; + const double t283 = t282 * t281; + const double t284 = t282 * t282; + const double t285 = t284 * t283; + const double t287 = t284 * t281; + const double t291 = 0.429e3 / 0.16e2 * t285 - 0.693e3 / 0.16e2 * t287 + 0.315e3 / 0.16e2 * t283 - 0.35e2 / 0.192e3 * t279 + 0.35e2 / 0.16e2; + const double t293 = 0.1e1 / t270 / rho_b; + const double t299 = 0.5e1 / 0.9e1 * ( tau_b * t293 - t273 / 0.8e1 ) * t29 * t33; + const double t300 = 0.1e5 <= t299; + const double t301 = 0.1e5 < t299; + const double t302 = piecewise_functor_3( t301, t299, 10000.0 ); + const double t303 = t302 * t302; + const double t306 = t303 * t302; + const double t307 = 0.1e1 / t306; + const double t308 = t303 * t303; + const double t309 = 0.1e1 / t308; + const double t312 = piecewise_functor_3( t301, 10000.0, t299 ); + const double t313 = t312 * t312; + const double t314 = 0.1e1 - t313; + const double t315 = t314 * t314; + const double t316 = t315 * t314; + const double t317 = t313 * t312; + const double t318 = 0.1e1 + t317; + const double t320 = t317 * t318 + 0.1e1; + const double t321 = 0.1e1 / t320; + const double t323 = piecewise_functor_3( t300, 0.1e1 - 0.3e1 / t303 - t307 + 0.3e1 * t309, -t316 * t321 ); + const double t324 = t323 * t323; + const double t325 = t324 * t323; + const double t326 = t324 * t324; + const double t327 = t326 * t325; + const double t329 = t326 * t323; + const double t333 = 0.429e3 / 0.16e2 * t327 - 0.693e3 / 0.16e2 * t329 + 0.315e3 / 0.16e2 * t325 - 0.35e2 / 0.16e2 * t323; + const double t336 = t326 * t324; + const double t340 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t336 - 0.315e3 / 0.16e2 * t326 + 0.105e3 / 0.16e2 * t324; + const double t345 = t284 * t282; + const double t351 = 0.63e2 / 0.8e1 * t329 - 0.35e2 / 0.4e1 * t325 + 0.15e2 / 0.8e1 * t323; + const double t356 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t326 - 0.15e2 / 0.4e1 * t324; + const double t361 = 0.5e1 / 0.2e1 * t325 - 0.3e1 / 0.2e1 * t323; + const double t365 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t324; + const double t368 = t291 * t323; + const double t373 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t345 - 0.315e3 / 0.16e2 * t284 + 0.105e3 / 0.16e2 * t282; + const double t382 = 0.888525527e-8 * t291 * t333 - 0.774224962e-8 * t291 * t340 + 0.19735677658125e-4 * t327 - 0.395061199588125e0 * t287 + 0.80024660533125e-1 * t345 - 0.138056183978125e0 * t284 - 0.338128188e-7 * t291 * t351 + 0.554588743e-7 * t291 * t356 + 0.505920757e-7 * t291 * t361 - 0.27652468e-6 * t291 * t365 + 0.940675747e-2 * t368 - 0.691592964e-8 * t373 * t333 + 0.694482484e-8 * t373 * t340 + 0.236391411e-7 * t373 * t351 - 0.4373652639371875e-2 * t323 - 0.945883103563125e-3 * t329; + const double t397 = t373 * t323; + const double t402 = 0.63e2 / 0.8e1 * t287 - 0.35e2 / 0.4e1 * t283 + 0.5e1 / 0.32e2 * t279 - 0.15e2 / 0.8e1; + const double t409 = 0.1380567225218996875e1 + 0.4646102821846875e-2 * t325 + 0.106025815520625e0 * t285 + 0.497944638409375e0 * t283 - 0.92294814328125e-1 * t282 - 0.80008813355625e-4 * t336 + 0.3020715669803125e-2 * t326 + 0.7031826877565625e-2 * t324 - 0.13022208355989583333e-1 * t279 - 0.416393106e-7 * t373 * t356 - 0.265114646e-7 * t373 * t361 + 0.169805915e-6 * t373 * t365 - 0.957417512e-2 * t397 + 0.850272392e-8 * t402 * t333 - 0.138472194e-7 * t402 * t340 - 0.376702959e-7 * t402 * t351; + const double t417 = t402 * t323; + const double t421 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t284 - 0.15e2 / 0.4e1 * t282; + const double t434 = t421 * t323; + const double t438 = 0.5e1 / 0.2e1 * t283 - t279 / 0.8e1 + 0.3e1 / 0.2e1; + const double t449 = 0.162238741e-6 * t402 * t356 - 0.896771404e-2 * t402 * t361 - 0.188495102e-1 * t402 * t365 - 0.884148272e-2 * t417 - 0.493824365e-8 * t421 * t333 + 0.912223751e-8 * t421 * t340 + 0.209603871e-7 * t421 * t351 - 0.790811707e-7 * t421 * t356 + 0.631891628e-2 * t421 * t361 - 0.182911291e-1 * t421 * t365 + 0.162638575e-1 * t434 + 0.674910119e-8 * t438 * t333 - 0.216860568e-7 * t438 * t340 + 0.896739466e-3 * t438 * t351 + 0.339308972e-2 * t438 * t356 - 0.845508103e-2 * t438 * t361; + const double t452 = t438 * t323; + const double t455 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t282; + const double t468 = t455 * t323; + const double t482 = t281 * t323; + const double t484 = 0.280678872e-1 * t438 * t365 - 0.182177954e-1 * t452 - 0.223014657e-8 * t455 * t333 + 0.668980219e-8 * t455 * t340 - 0.35104103e-3 * t455 * t351 + 0.182906057e-2 * t455 * t356 + 0.293253041e-2 * t455 * t361 - 0.150103636e-1 * t455 * t365 - 0.43464346e-1 * t468 - 0.940351563e-5 * t281 * t333 - 0.514204676e-4 * t281 * t340 + 0.822139896e-3 * t281 * t351 + 0.119130546e-2 * t281 * t356 - 0.303347141e-2 * t281 * t361 - 0.879090772e-2 * t281 * t365 + 0.100339208e0 * t482; + const double t486 = t382 + t409 + t449 + t484; + const double t491 = t7 * t7; + const double t492 = 0.1e1 / t491; + const double t493 = t17 * t492; + const double t495 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t493 ); + const double t498 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t495 ); + const double t499 = t498 * t27; + const double t503 = t27 * t27; + const double t504 = 0.1e1 / t503; + const double t505 = t26 * t504; + const double t508 = t6 * t505 * t253 / 0.8e1; + const double t511 = t35 * rho_a; + const double t513 = 0.1e1 / t37 / t511; + const double t514 = sigma_aa * t513; + const double t519 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau_a * t39 + t514 / 0.3e1 ) * t29 * t33; + const double t520 = piecewise_functor_3( t66, t519, 0.0 ); + const double t523 = t74 * t520; + const double t526 = 0.1e1 / t73 / t67; + const double t527 = t526 * t520; + const double t530 = t80 * t86; + const double t531 = piecewise_functor_3( t66, 0.0, t519 ); + const double t532 = t77 * t531; + const double t535 = t85 * t85; + const double t536 = 0.1e1 / t535; + const double t537 = t81 * t536; + const double t538 = t78 * t83; + const double t540 = t78 * t78; + const double t541 = t540 * t77; + const double t544 = 0.3e1 * t538 * t531 + 0.3e1 * t541 * t531; + const double t547 = piecewise_functor_3( t65, 0.6e1 * t72 * t520 + 0.3e1 * t523 - 0.12e2 * t527, 0.6e1 * t530 * t532 + t537 * t544 ); + const double t550 = t34 * t514 * t44; + const double t556 = sigma_aa * sigma_aa; + const double t557 = t35 * t35; + const double t558 = t557 * t35; + const double t560 = 0.1e1 / t36 / t558; + const double t562 = t43 * t43; + const double t563 = 0.1e1 / t562; + const double t565 = t555 * t556 * t560 * t563; + const double t567 = t118 * t547; + const double t569 = t108 * t547; + const double t571 = t89 * t547; + const double t574 = 0.3003e4 / 0.16e2 * t567 - 0.3465e4 / 0.16e2 * t569 + 0.945e3 / 0.16e2 * t571 - 0.35e2 / 0.16e2 * t547; + const double t580 = 0.315e3 / 0.8e1 * t569 - 0.105e3 / 0.4e1 * t571 + 0.15e2 / 0.8e1 * t547; + const double t585 = -0.2e1 / 0.9e1 * t550 + t565 / 0.108e3; + const double t586 = t52 * t585; + const double t588 = t51 * t585; + const double t590 = t50 * t585; + const double t594 = 0.3003e4 / 0.16e2 * t586 - 0.3465e4 / 0.16e2 * t588 + 0.945e3 / 0.16e2 * t590 + 0.35e2 / 0.72e2 * t550 - 0.35e2 / 0.1728e4 * t565; + const double t597 = t111 * t547; + const double t599 = t90 * t547; + const double t601 = t88 * t547; + const double t603 = 0.693e3 / 0.8e1 * t597 - 0.315e3 / 0.4e1 * t599 + 0.105e3 / 0.8e1 * t601; + const double t612 = 0.35e2 / 0.2e1 * t599 - 0.15e2 / 0.2e1 * t601; + const double t619 = 0.15e2 / 0.2e1 * t571 - 0.3e1 / 0.2e1 * t547; + const double t626 = -0.4373652639371875e-2 * t547 + 0.34725888949305555555e-1 * t550 - 0.14469120395543981481e-2 * t565 + 0.888525527e-8 * t147 * t574 - 0.338128188e-7 * t147 * t580 - 0.774224962e-8 * t594 * t122 - 0.774224962e-8 * t147 * t603 + 0.888525527e-8 * t594 * t115 + 0.554588743e-7 * t594 * t133 + 0.554588743e-7 * t147 * t612 + 0.505920757e-7 * t594 * t93 + 0.505920757e-7 * t147 * t619 - 0.338128188e-7 * t594 * t128 - 0.27652468e-6 * t594 * t97; + const double t627 = t594 * t88; + const double t629 = t147 * t547; + const double t631 = t102 * t585; + const double t633 = t104 * t585; + const double t635 = t49 * t585; + const double t637 = 0.693e3 / 0.8e1 * t631 - 0.315e3 / 0.4e1 * t633 + 0.105e3 / 0.8e1 * t635; + const double t657 = t637 * t88; + const double t661 = 0.940675747e-2 * t627 + 0.940675747e-2 * t629 - 0.691592964e-8 * t637 * t115 - 0.691592964e-8 * t56 * t574 + 0.694482484e-8 * t637 * t122 + 0.742180708644375e0 * t586 - 0.416393106e-7 * t637 * t133 - 0.416393106e-7 * t56 * t612 + 0.694482484e-8 * t56 * t603 + 0.236391411e-7 * t637 * t128 + 0.236391411e-7 * t56 * t580 + 0.169805915e-6 * t637 * t97 - 0.957417512e-2 * t657 + 0.850272392e-8 * t107 * t574; + const double t672 = 0.315e3 / 0.8e1 * t588 - 0.105e3 / 0.4e1 * t590 - 0.5e1 / 0.12e2 * t550 + 0.5e1 / 0.288e3 * t565; + const double t679 = t56 * t547; + const double t695 = 0.48014796319875e0 * t631 - 0.265114646e-7 * t637 * t93 - 0.265114646e-7 * t56 * t619 - 0.138472194e-7 * t672 * t122 - 0.138472194e-7 * t107 * t603 - 0.376702959e-7 * t672 * t128 - 0.957417512e-2 * t679 + 0.850272392e-8 * t672 * t115 - 0.493824365e-8 * t225 * t574 - 0.896771404e-2 * t672 * t93 - 0.896771404e-2 * t107 * t619 - 0.188495102e-1 * t672 * t97 - 0.376702959e-7 * t107 * t580 + 0.162238741e-6 * t672 * t133; + const double t702 = 0.35e2 / 0.2e1 * t633 - 0.15e2 / 0.2e1 * t635; + const double t710 = t672 * t88; + const double t712 = t107 * t547; + const double t726 = 0.162238741e-6 * t107 * t612 + 0.209603871e-7 * t225 * t580 - 0.790811707e-7 * t702 * t133 + 0.912223751e-8 * t702 * t122 + 0.912223751e-8 * t225 * t603 - 0.1975305997940625e1 * t588 - 0.884148272e-2 * t710 - 0.884148272e-2 * t712 - 0.493824365e-8 * t702 * t115 - 0.790811707e-7 * t225 * t612 + 0.631891628e-2 * t702 * t93 + 0.631891628e-2 * t225 * t619 - 0.182911291e-1 * t702 * t97 + 0.209603871e-7 * t702 * t128; + const double t732 = 0.15e2 / 0.2e1 * t590 + t550 / 0.3e1 - t565 / 0.72e2; + const double t743 = t702 * t88; + const double t745 = t225 * t547; + const double t751 = t193 * t547; + const double t759 = 0.339308972e-2 * t732 * t133 + 0.339308972e-2 * t193 * t612 - 0.216860568e-7 * t732 * t122 - 0.216860568e-7 * t193 * t603 - 0.5522247359125e0 * t633 - 0.18458962865625e0 * t635 + 0.162638575e-1 * t743 + 0.162638575e-1 * t745 + 0.674910119e-8 * t732 * t115 + 0.674910119e-8 * t193 * t574 - 0.182177954e-1 * t751 - 0.223014657e-8 * t201 * t574 - 0.845508103e-2 * t732 * t93 - 0.845508103e-2 * t193 * t619; + const double t769 = t732 * t88; + const double t782 = t585 * t128; + const double t785 = 0.280678872e-1 * t732 * t97 + 0.896739466e-3 * t732 * t128 + 0.896739466e-3 * t193 * t580 + 0.668980219e-8 * t201 * t603 + 0.1493833915228125e1 * t590 - 0.182177954e-1 * t769 + 0.293253041e-2 * t201 * t619 - 0.35104103e-3 * t201 * t580 + 0.182906057e-2 * t201 * t612 + 0.138149743606875e-3 * t567 - 0.940351563e-5 * t49 * t574 - 0.514204676e-4 * t49 * t603 + 0.822139896e-3 * t782 - 0.4729415517815625e-2 * t569; + const double t789 = t201 * t547; + const double t791 = t585 * t115; + const double t793 = t585 * t97; + const double t795 = t585 * t88; + const double t797 = t49 * t547; + const double t799 = t585 * t133; + const double t805 = t585 * t93; + const double t810 = t585 * t122; + const double t812 = 0.822139896e-3 * t49 * t580 - 0.43464346e-1 * t789 - 0.940351563e-5 * t791 - 0.879090772e-2 * t793 + 0.100339208e0 * t795 + 0.100339208e0 * t797 + 0.119130546e-2 * t799 + 0.120828626792125e-1 * t599 + 0.1406365375513125e-1 * t601 + 0.119130546e-2 * t49 * t612 - 0.303347141e-2 * t805 + 0.13938308465540625e-1 * t571 - 0.303347141e-2 * t49 * t619 - 0.514204676e-4 * t810; + const double t842 = -0.48005288013375e-3 * t597 - 0.2637272316e-1 * t166 * t547 - 0.669043971e-8 * t635 * t115 + 0.2006940657e-7 * t635 * t122 - 0.105312309e-2 * t635 * t128 + 0.548718171e-2 * t635 * t133 + 0.879759123e-2 * t635 * t93 - 0.450310908e-1 * t635 * t97 - 0.450310908e-1 * t214 * t547 - 0.130393038e0 * t635 * t88 + 0.842036616e-1 * t198 * t547 - 0.548733873e-1 * t238 * t547 - 0.565485306e-1 * t140 * t547 + 0.509417745e-6 * t100 * t547 - 0.82957404e-6 * t173 * t547; + const double t845 = t626 + t661 + t695 + t726 + t759 + t785 + t812 + t842; + const double t850 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t253 - t508 - 0.3e1 / 0.8e1 * t6 * t28 * t845 ); + const double t851 = t259 * t492; + const double t853 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t851 ); + const double t856 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.3e1 * t264 * t853 ); + const double t857 = t856 * t27; + const double t861 = t266 * t504; + const double t864 = t6 * t861 * t486 / 0.8e1; + const double t866 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t857 * t486 - t864 ); + const double t870 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t493 ); + const double t873 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t870 ); + const double t874 = t873 * t27; + const double t879 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t874 * t253 - t508 ); + const double t881 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t851 ); + const double t884 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.3e1 * t264 * t881 ); + const double t885 = t884 * t27; + const double t891 = t268 * rho_b; + const double t893 = 0.1e1 / t270 / t891; + const double t894 = sigma_bb * t893; + const double t899 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau_b * t272 + t894 / 0.3e1 ) * t29 * t33; + const double t900 = piecewise_functor_3( t301, t899, 0.0 ); + const double t903 = t309 * t900; + const double t906 = 0.1e1 / t308 / t302; + const double t907 = t906 * t900; + const double t910 = t315 * t321; + const double t911 = piecewise_functor_3( t301, 0.0, t899 ); + const double t912 = t312 * t911; + const double t915 = t320 * t320; + const double t916 = 0.1e1 / t915; + const double t917 = t316 * t916; + const double t918 = t313 * t318; + const double t920 = t313 * t313; + const double t921 = t920 * t312; + const double t924 = 0.3e1 * t918 * t911 + 0.3e1 * t921 * t911; + const double t927 = piecewise_functor_3( t300, 0.6e1 * t307 * t900 + 0.3e1 * t903 - 0.12e2 * t907, 0.6e1 * t910 * t912 + t917 * t924 ); + const double t930 = t34 * t894 * t277; + const double t932 = sigma_bb * sigma_bb; + const double t933 = t268 * t268; + const double t934 = t933 * t268; + const double t936 = 0.1e1 / t269 / t934; + const double t938 = t276 * t276; + const double t939 = 0.1e1 / t938; + const double t941 = t555 * t932 * t936 * t939; + const double t945 = -0.2e1 / 0.9e1 * t930 + t941 / 0.108e3; + const double t946 = t345 * t945; + const double t948 = t284 * t945; + const double t950 = t282 * t945; + const double t954 = 0.3003e4 / 0.16e2 * t946 - 0.3465e4 / 0.16e2 * t948 + 0.945e3 / 0.16e2 * t950 + 0.35e2 / 0.72e2 * t930 - 0.35e2 / 0.1728e4 * t941; + const double t957 = t336 * t927; + const double t959 = t326 * t927; + const double t961 = t324 * t927; + const double t964 = 0.3003e4 / 0.16e2 * t957 - 0.3465e4 / 0.16e2 * t959 + 0.945e3 / 0.16e2 * t961 - 0.35e2 / 0.16e2 * t927; + const double t972 = 0.315e3 / 0.8e1 * t959 - 0.105e3 / 0.4e1 * t961 + 0.15e2 / 0.8e1 * t927; + const double t977 = t329 * t927; + const double t979 = t325 * t927; + const double t981 = t323 * t927; + const double t983 = 0.693e3 / 0.8e1 * t977 - 0.315e3 / 0.4e1 * t979 + 0.105e3 / 0.8e1 * t981; + const double t990 = 0.35e2 / 0.2e1 * t979 - 0.15e2 / 0.2e1 * t981; + const double t997 = 0.15e2 / 0.2e1 * t961 - 0.3e1 / 0.2e1 * t927; + const double t1000 = t287 * t945; + const double t1002 = t283 * t945; + const double t1004 = t281 * t945; + const double t1006 = 0.693e3 / 0.8e1 * t1000 - 0.315e3 / 0.4e1 * t1002 + 0.105e3 / 0.8e1 * t1004; + const double t1009 = -0.4373652639371875e-2 * t927 + 0.34725888949305555555e-1 * t930 - 0.14469120395543981481e-2 * t941 + 0.888525527e-8 * t954 * t333 + 0.888525527e-8 * t291 * t964 - 0.338128188e-7 * t954 * t351 - 0.338128188e-7 * t291 * t972 - 0.774224962e-8 * t954 * t340 - 0.774224962e-8 * t291 * t983 + 0.554588743e-7 * t954 * t356 + 0.554588743e-7 * t291 * t990 + 0.505920757e-7 * t954 * t361 + 0.505920757e-7 * t291 * t997 - 0.691592964e-8 * t1006 * t333; + const double t1015 = t954 * t323; + const double t1017 = t291 * t927; + const double t1035 = 0.315e3 / 0.8e1 * t948 - 0.105e3 / 0.4e1 * t950 - 0.5e1 / 0.12e2 * t930 + 0.5e1 / 0.288e3 * t941; + const double t1042 = -0.691592964e-8 * t373 * t964 + 0.742180708644375e0 * t946 - 0.27652468e-6 * t954 * t365 + 0.940675747e-2 * t1015 + 0.940675747e-2 * t1017 - 0.416393106e-7 * t1006 * t356 - 0.416393106e-7 * t373 * t990 + 0.694482484e-8 * t1006 * t340 + 0.694482484e-8 * t373 * t983 + 0.236391411e-7 * t1006 * t351 + 0.236391411e-7 * t373 * t972 + 0.850272392e-8 * t1035 * t333 + 0.850272392e-8 * t402 * t964 - 0.265114646e-7 * t1006 * t361; + const double t1061 = t1006 * t323; + const double t1063 = t373 * t927; + const double t1065 = t1035 * t323; + const double t1067 = t402 * t927; + const double t1071 = 0.35e2 / 0.2e1 * t1002 - 0.15e2 / 0.2e1 * t1004; + const double t1074 = -0.265114646e-7 * t373 * t997 + 0.169805915e-6 * t1006 * t365 - 0.376702959e-7 * t1035 * t351 - 0.376702959e-7 * t402 * t972 + 0.162238741e-6 * t1035 * t356 + 0.162238741e-6 * t402 * t990 - 0.138472194e-7 * t1035 * t340 - 0.138472194e-7 * t402 * t983 + 0.48014796319875e0 * t1000 - 0.957417512e-2 * t1061 - 0.957417512e-2 * t1063 - 0.884148272e-2 * t1065 - 0.884148272e-2 * t1067 - 0.493824365e-8 * t1071 * t333; + const double t1101 = 0.15e2 / 0.2e1 * t950 + t930 / 0.3e1 - t941 / 0.72e2; + const double t1106 = -0.493824365e-8 * t421 * t964 - 0.896771404e-2 * t1035 * t361 - 0.896771404e-2 * t402 * t997 - 0.188495102e-1 * t1035 * t365 - 0.790811707e-7 * t421 * t990 + 0.631891628e-2 * t1071 * t361 + 0.631891628e-2 * t421 * t997 + 0.209603871e-7 * t1071 * t351 + 0.209603871e-7 * t421 * t972 + 0.912223751e-8 * t1071 * t340 + 0.912223751e-8 * t421 * t983 - 0.1975305997940625e1 * t948 - 0.216860568e-7 * t1101 * t340 - 0.216860568e-7 * t438 * t983; + const double t1113 = t1071 * t323; + const double t1115 = t421 * t927; + const double t1134 = -0.5522247359125e0 * t1002 - 0.18458962865625e0 * t1004 - 0.182911291e-1 * t1071 * t365 + 0.162638575e-1 * t1113 + 0.162638575e-1 * t1115 + 0.674910119e-8 * t1101 * t333 + 0.674910119e-8 * t438 * t964 - 0.790811707e-7 * t1071 * t356 + 0.896739466e-3 * t1101 * t351 + 0.896739466e-3 * t438 * t972 + 0.339308972e-2 * t1101 * t356 + 0.138149743606875e-3 * t957 - 0.940351563e-5 * t281 * t964 + 0.293253041e-2 * t455 * t997; + const double t1142 = t1101 * t323; + const double t1144 = t438 * t927; + const double t1156 = t281 * t927; + const double t1158 = t945 * t361; + const double t1161 = -0.35104103e-3 * t455 * t972 + 0.182906057e-2 * t455 * t990 + 0.668980219e-8 * t455 * t983 + 0.1493833915228125e1 * t950 - 0.182177954e-1 * t1142 - 0.182177954e-1 * t1144 - 0.223014657e-8 * t455 * t964 + 0.339308972e-2 * t438 * t990 - 0.845508103e-2 * t1101 * t361 - 0.845508103e-2 * t438 * t997 + 0.280678872e-1 * t1101 * t365 + 0.100339208e0 * t1156 - 0.303347141e-2 * t1158 + 0.13938308465540625e-1 * t961; + const double t1165 = t945 * t365; + const double t1167 = t945 * t351; + const double t1172 = t945 * t356; + const double t1183 = t455 * t927; + const double t1185 = t945 * t333; + const double t1187 = -0.303347141e-2 * t281 * t997 - 0.879090772e-2 * t1165 + 0.822139896e-3 * t1167 - 0.4729415517815625e-2 * t959 + 0.822139896e-3 * t281 * t972 + 0.119130546e-2 * t1172 + 0.120828626792125e-1 * t979 + 0.1406365375513125e-1 * t981 + 0.119130546e-2 * t281 * t990 - 0.514204676e-4 * t945 * t340 - 0.48005288013375e-3 * t977 - 0.514204676e-4 * t281 * t983 - 0.43464346e-1 * t1183 - 0.940351563e-5 * t1185; + const double t1188 = t945 * t323; + const double t1218 = 0.100339208e0 * t1188 - 0.2637272316e-1 * t482 * t927 - 0.105312309e-2 * t1004 * t351 + 0.548718171e-2 * t1004 * t356 + 0.879759123e-2 * t1004 * t361 - 0.450310908e-1 * t1004 * t365 - 0.450310908e-1 * t468 * t927 - 0.130393038e0 * t1004 * t323 + 0.842036616e-1 * t452 * t927 - 0.669043971e-8 * t1004 * t333 + 0.2006940657e-7 * t1004 * t340 - 0.548733873e-1 * t434 * t927 - 0.565485306e-1 * t417 * t927 + 0.509417745e-6 * t397 * t927 - 0.82957404e-6 * t368 * t927; + const double t1221 = t1009 + t1042 + t1074 + t1106 + t1134 + t1161 + t1187 + t1218; + const double t1226 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t885 * t486 - t864 - 0.3e1 / 0.8e1 * t6 * t267 * t1221 ); + const double t1229 = t34 * t39; + const double t1230 = 0.5e1 / 0.72e2 * t1229; + const double t1231 = piecewise_functor_3( t66, -t1230, 0.0 ); + const double t1234 = t74 * t1231; + const double t1236 = t526 * t1231; + const double t1239 = piecewise_functor_3( t66, 0.0, -t1230 ); + const double t1240 = t77 * t1239; + const double t1246 = 0.3e1 * t538 * t1239 + 0.3e1 * t541 * t1239; + const double t1249 = piecewise_functor_3( t65, 0.6e1 * t72 * t1231 + 0.3e1 * t1234 - 0.12e2 * t1236, 0.6e1 * t530 * t1240 + t537 * t1246 ); + const double t1251 = t557 * rho_a; + const double t1253 = 0.1e1 / t36 / t1251; + const double t1256 = t555 * sigma_aa * t1253 * t563; + const double t1259 = t34 * t39 * t44; + const double t1263 = t1259 / 0.12e2 - t1256 / 0.288e3; + const double t1264 = t52 * t1263; + const double t1266 = t51 * t1263; + const double t1268 = t50 * t1263; + const double t1272 = 0.3003e4 / 0.16e2 * t1264 - 0.3465e4 / 0.16e2 * t1266 + 0.945e3 / 0.16e2 * t1268 - 0.35e2 / 0.192e3 * t1259 + 0.35e2 / 0.4608e4 * t1256; + const double t1275 = t111 * t1249; + const double t1277 = t90 * t1249; + const double t1279 = t88 * t1249; + const double t1281 = 0.693e3 / 0.8e1 * t1275 - 0.315e3 / 0.4e1 * t1277 + 0.105e3 / 0.8e1 * t1279; + const double t1286 = t118 * t1249; + const double t1288 = t108 * t1249; + const double t1290 = t89 * t1249; + const double t1293 = 0.3003e4 / 0.16e2 * t1286 - 0.3465e4 / 0.16e2 * t1288 + 0.945e3 / 0.16e2 * t1290 - 0.35e2 / 0.16e2 * t1249; + const double t1300 = 0.15e2 / 0.2e1 * t1290 - 0.3e1 / 0.2e1 * t1249; + const double t1308 = 0.315e3 / 0.8e1 * t1288 - 0.105e3 / 0.4e1 * t1290 + 0.15e2 / 0.8e1 * t1249; + const double t1313 = t1272 * t88; + const double t1315 = t147 * t1249; + const double t1317 = -0.4373652639371875e-2 * t1249 + 0.54259201483289930554e-3 * t1256 - 0.13022208355989583333e-1 * t1259 - 0.774224962e-8 * t1272 * t122 - 0.774224962e-8 * t147 * t1281 + 0.888525527e-8 * t1272 * t115 + 0.888525527e-8 * t147 * t1293 + 0.505920757e-7 * t1272 * t93 + 0.505920757e-7 * t147 * t1300 - 0.338128188e-7 * t1272 * t128 - 0.338128188e-7 * t147 * t1308 + 0.554588743e-7 * t1272 * t133 + 0.940675747e-2 * t1313 + 0.940675747e-2 * t1315; + const double t1318 = t102 * t1263; + const double t1320 = t104 * t1263; + const double t1322 = t49 * t1263; + const double t1324 = 0.693e3 / 0.8e1 * t1318 - 0.315e3 / 0.4e1 * t1320 + 0.105e3 / 0.8e1 * t1322; + const double t1331 = 0.35e2 / 0.2e1 * t1277 - 0.15e2 / 0.2e1 * t1279; + const double t1347 = t1324 * t88; + const double t1349 = t56 * t1249; + const double t1355 = -0.691592964e-8 * t1324 * t115 - 0.691592964e-8 * t56 * t1293 + 0.554588743e-7 * t147 * t1331 + 0.236391411e-7 * t1324 * t128 + 0.236391411e-7 * t56 * t1308 + 0.694482484e-8 * t1324 * t122 + 0.694482484e-8 * t56 * t1281 + 0.742180708644375e0 * t1264 - 0.27652468e-6 * t1272 * t97 + 0.169805915e-6 * t1324 * t97 - 0.957417512e-2 * t1347 - 0.957417512e-2 * t1349 - 0.416393106e-7 * t1324 * t133 - 0.416393106e-7 * t56 * t1331; + const double t1365 = 0.315e3 / 0.8e1 * t1266 - 0.105e3 / 0.4e1 * t1268 + 0.5e1 / 0.32e2 * t1259 - 0.5e1 / 0.768e3 * t1256; + const double t1383 = t1365 * t88; + const double t1389 = -0.265114646e-7 * t1324 * t93 - 0.138472194e-7 * t107 * t1281 - 0.376702959e-7 * t1365 * t128 - 0.376702959e-7 * t107 * t1308 + 0.850272392e-8 * t1365 * t115 + 0.850272392e-8 * t107 * t1293 - 0.265114646e-7 * t56 * t1300 + 0.48014796319875e0 * t1318 - 0.896771404e-2 * t1365 * t93 - 0.896771404e-2 * t107 * t1300 - 0.188495102e-1 * t1365 * t97 - 0.884148272e-2 * t1383 + 0.162238741e-6 * t1365 * t133 + 0.162238741e-6 * t107 * t1331; + const double t1394 = 0.35e2 / 0.2e1 * t1320 - 0.15e2 / 0.2e1 * t1322; + const double t1401 = t107 * t1249; + const double t1414 = t1394 * t88; + const double t1416 = t225 * t1249; + const double t1418 = -0.138472194e-7 * t1365 * t122 + 0.912223751e-8 * t1394 * t122 + 0.912223751e-8 * t225 * t1281 + 0.209603871e-7 * t1394 * t128 - 0.884148272e-2 * t1401 - 0.493824365e-8 * t1394 * t115 - 0.493824365e-8 * t225 * t1293 - 0.1975305997940625e1 * t1266 - 0.790811707e-7 * t1394 * t133 - 0.790811707e-7 * t225 * t1331 - 0.5522247359125e0 * t1320 - 0.18458962865625e0 * t1322 + 0.162638575e-1 * t1414 + 0.162638575e-1 * t1416; + const double t1424 = 0.15e2 / 0.2e1 * t1268 - t1259 / 0.8e1 + t1256 / 0.192e3; + const double t1444 = t1424 * t88; + const double t1452 = 0.674910119e-8 * t1424 * t115 + 0.674910119e-8 * t193 * t1293 + 0.631891628e-2 * t1394 * t93 + 0.631891628e-2 * t225 * t1300 - 0.182911291e-1 * t1394 * t97 + 0.209603871e-7 * t225 * t1308 + 0.1493833915228125e1 * t1268 - 0.845508103e-2 * t1424 * t93 - 0.845508103e-2 * t193 * t1300 + 0.280678872e-1 * t1424 * t97 - 0.182177954e-1 * t1444 + 0.896739466e-3 * t193 * t1308 + 0.339308972e-2 * t1424 * t133 + 0.339308972e-2 * t193 * t1331; + const double t1462 = t1263 * t128; + const double t1467 = t1263 * t122; + const double t1472 = t1263 * t115; + const double t1477 = -0.216860568e-7 * t1424 * t122 - 0.216860568e-7 * t193 * t1281 + 0.896739466e-3 * t1424 * t128 + 0.13938308465540625e-1 * t1290 - 0.303347141e-2 * t49 * t1300 + 0.822139896e-3 * t1462 - 0.4729415517815625e-2 * t1288 + 0.822139896e-3 * t49 * t1308 - 0.514204676e-4 * t1467 - 0.48005288013375e-3 * t1275 - 0.514204676e-4 * t49 * t1281 - 0.940351563e-5 * t1472 + 0.138149743606875e-3 * t1286 - 0.940351563e-5 * t49 * t1293; + const double t1481 = t201 * t1249; + const double t1489 = t193 * t1249; + const double t1493 = t1263 * t97; + const double t1495 = t1263 * t88; + const double t1497 = t49 * t1249; + const double t1499 = t1263 * t133; + const double t1505 = 0.293253041e-2 * t201 * t1300 - 0.43464346e-1 * t1481 + 0.182906057e-2 * t201 * t1331 + 0.668980219e-8 * t201 * t1281 - 0.35104103e-3 * t201 * t1308 - 0.182177954e-1 * t1489 - 0.223014657e-8 * t201 * t1293 - 0.879090772e-2 * t1493 + 0.100339208e0 * t1495 + 0.100339208e0 * t1497 + 0.119130546e-2 * t1499 + 0.120828626792125e-1 * t1277 + 0.1406365375513125e-1 * t1279 + 0.119130546e-2 * t49 * t1331; + const double t1506 = t1263 * t93; + const double t1536 = -0.303347141e-2 * t1506 - 0.2637272316e-1 * t166 * t1249 - 0.130393038e0 * t1322 * t88 - 0.669043971e-8 * t1322 * t115 + 0.2006940657e-7 * t1322 * t122 - 0.105312309e-2 * t1322 * t128 + 0.548718171e-2 * t1322 * t133 + 0.879759123e-2 * t1322 * t93 - 0.450310908e-1 * t1322 * t97 - 0.450310908e-1 * t214 * t1249 + 0.842036616e-1 * t198 * t1249 - 0.548733873e-1 * t238 * t1249 - 0.565485306e-1 * t140 * t1249 + 0.509417745e-6 * t100 * t1249 - 0.82957404e-6 * t173 * t1249; + const double t1539 = t1317 + t1355 + t1389 + t1418 + t1452 + t1477 + t1505 + t1536; + const double t1543 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1539 ); + const double t1544 = t34 * t272; + const double t1545 = 0.5e1 / 0.72e2 * t1544; + const double t1546 = piecewise_functor_3( t301, -t1545, 0.0 ); + const double t1549 = t309 * t1546; + const double t1551 = t906 * t1546; + const double t1554 = piecewise_functor_3( t301, 0.0, -t1545 ); + const double t1555 = t312 * t1554; + const double t1561 = 0.3e1 * t918 * t1554 + 0.3e1 * t921 * t1554; + const double t1564 = piecewise_functor_3( t300, 0.6e1 * t307 * t1546 + 0.3e1 * t1549 - 0.12e2 * t1551, 0.6e1 * t910 * t1555 + t917 * t1561 ); + const double t1566 = t933 * rho_b; + const double t1568 = 0.1e1 / t269 / t1566; + const double t1571 = t555 * sigma_bb * t1568 * t939; + const double t1574 = t34 * t272 * t277; + const double t1578 = t1574 / 0.12e2 - t1571 / 0.288e3; + const double t1579 = t1578 * t351; + const double t1581 = t326 * t1564; + const double t1583 = t324 * t1564; + const double t1586 = 0.315e3 / 0.8e1 * t1581 - 0.105e3 / 0.4e1 * t1583 + 0.15e2 / 0.8e1 * t1564; + const double t1589 = t1578 * t356; + const double t1591 = t325 * t1564; + const double t1593 = t323 * t1564; + const double t1595 = 0.35e2 / 0.2e1 * t1591 - 0.15e2 / 0.2e1 * t1593; + const double t1598 = t1578 * t361; + const double t1602 = 0.15e2 / 0.2e1 * t1583 - 0.3e1 / 0.2e1 * t1564; + const double t1605 = t1578 * t365; + const double t1607 = t1578 * t323; + const double t1609 = t281 * t1564; + const double t1611 = t284 * t1578; + const double t1613 = t282 * t1578; + const double t1617 = 0.315e3 / 0.8e1 * t1611 - 0.105e3 / 0.4e1 * t1613 + 0.5e1 / 0.32e2 * t1574 - 0.5e1 / 0.768e3 * t1571; + const double t1620 = t283 * t1578; + const double t1622 = t281 * t1578; + const double t1624 = 0.35e2 / 0.2e1 * t1620 - 0.15e2 / 0.2e1 * t1622; + const double t1627 = -0.4373652639371875e-2 * t1564 + 0.54259201483289930554e-3 * t1571 - 0.13022208355989583333e-1 * t1574 + 0.822139896e-3 * t1579 + 0.822139896e-3 * t281 * t1586 + 0.119130546e-2 * t1589 + 0.119130546e-2 * t281 * t1595 - 0.303347141e-2 * t1598 - 0.303347141e-2 * t281 * t1602 - 0.879090772e-2 * t1605 + 0.100339208e0 * t1607 + 0.100339208e0 * t1609 - 0.188495102e-1 * t1617 * t365 + 0.912223751e-8 * t1624 * t340; + const double t1628 = t329 * t1564; + const double t1632 = 0.693e3 / 0.8e1 * t1628 - 0.315e3 / 0.4e1 * t1591 + 0.105e3 / 0.8e1 * t1593; + const double t1635 = t1617 * t323; + const double t1637 = t402 * t1564; + const double t1641 = t336 * t1564; + const double t1646 = 0.3003e4 / 0.16e2 * t1641 - 0.3465e4 / 0.16e2 * t1581 + 0.945e3 / 0.16e2 * t1583 - 0.35e2 / 0.16e2 * t1564; + const double t1667 = 0.912223751e-8 * t421 * t1632 - 0.884148272e-2 * t1635 - 0.884148272e-2 * t1637 - 0.493824365e-8 * t1624 * t333 - 0.493824365e-8 * t421 * t1646 - 0.896771404e-2 * t1617 * t361 - 0.896771404e-2 * t402 * t1602 - 0.790811707e-7 * t421 * t1595 + 0.631891628e-2 * t1624 * t361 + 0.631891628e-2 * t421 * t1602 - 0.182911291e-1 * t1624 * t365 + 0.209603871e-7 * t1624 * t351 + 0.209603871e-7 * t421 * t1586 - 0.790811707e-7 * t1624 * t356; + const double t1674 = 0.15e2 / 0.2e1 * t1613 - t1574 / 0.8e1 + t1571 / 0.192e3; + const double t1683 = t1624 * t323; + const double t1685 = t421 * t1564; + const double t1697 = t1674 * t323; + const double t1699 = t438 * t1564; + const double t1701 = 0.896739466e-3 * t438 * t1586 + 0.339308972e-2 * t1674 * t356 + 0.339308972e-2 * t438 * t1595 - 0.216860568e-7 * t1674 * t340 - 0.216860568e-7 * t438 * t1632 + 0.162638575e-1 * t1683 + 0.162638575e-1 * t1685 + 0.674910119e-8 * t1674 * t333 + 0.674910119e-8 * t438 * t1646 - 0.35104103e-3 * t455 * t1586 + 0.182906057e-2 * t455 * t1595 + 0.668980219e-8 * t455 * t1632 - 0.182177954e-1 * t1697 - 0.182177954e-1 * t1699; + const double t1712 = t345 * t1578; + const double t1718 = 0.3003e4 / 0.16e2 * t1712 - 0.3465e4 / 0.16e2 * t1611 + 0.945e3 / 0.16e2 * t1613 - 0.35e2 / 0.192e3 * t1574 + 0.35e2 / 0.4608e4 * t1571; + const double t1737 = -0.223014657e-8 * t455 * t1646 - 0.845508103e-2 * t1674 * t361 - 0.845508103e-2 * t438 * t1602 + 0.280678872e-1 * t1674 * t365 + 0.896739466e-3 * t1674 * t351 - 0.774224962e-8 * t1718 * t340 - 0.774224962e-8 * t291 * t1632 + 0.888525527e-8 * t1718 * t333 + 0.888525527e-8 * t291 * t1646 + 0.293253041e-2 * t455 * t1602 + 0.554588743e-7 * t291 * t1595 + 0.505920757e-7 * t1718 * t361 + 0.505920757e-7 * t291 * t1602 - 0.338128188e-7 * t1718 * t351; + const double t1747 = t1718 * t323; + const double t1749 = t291 * t1564; + const double t1753 = t287 * t1578; + const double t1757 = 0.693e3 / 0.8e1 * t1753 - 0.315e3 / 0.4e1 * t1620 + 0.105e3 / 0.8e1 * t1622; + const double t1772 = -0.338128188e-7 * t291 * t1586 - 0.691592964e-8 * t373 * t1646 + 0.742180708644375e0 * t1712 - 0.27652468e-6 * t1718 * t365 + 0.940675747e-2 * t1747 + 0.940675747e-2 * t1749 + 0.554588743e-7 * t1718 * t356 + 0.694482484e-8 * t1757 * t340 + 0.694482484e-8 * t373 * t1632 + 0.236391411e-7 * t1757 * t351 + 0.236391411e-7 * t373 * t1586 - 0.691592964e-8 * t1757 * t333 - 0.138472194e-7 * t1617 * t340 - 0.138472194e-7 * t402 * t1632; + const double t1773 = t1757 * t323; + const double t1775 = t373 * t1564; + const double t1797 = t455 * t1564; + const double t1799 = -0.957417512e-2 * t1773 - 0.957417512e-2 * t1775 + 0.850272392e-8 * t1617 * t333 + 0.850272392e-8 * t402 * t1646 + 0.169805915e-6 * t1757 * t365 - 0.416393106e-7 * t1757 * t356 - 0.416393106e-7 * t373 * t1595 - 0.1975305997940625e1 * t1611 + 0.1493833915228125e1 * t1613 - 0.376702959e-7 * t1617 * t351 - 0.376702959e-7 * t402 * t1586 + 0.162238741e-6 * t1617 * t356 + 0.162238741e-6 * t402 * t1595 - 0.43464346e-1 * t1797; + const double t1801 = t1578 * t333; + const double t1808 = t1578 * t340; + const double t1820 = -0.940351563e-5 * t1801 + 0.138149743606875e-3 * t1641 - 0.4729415517815625e-2 * t1581 + 0.13938308465540625e-1 * t1583 - 0.940351563e-5 * t281 * t1646 - 0.514204676e-4 * t1808 - 0.48005288013375e-3 * t1628 + 0.120828626792125e-1 * t1591 + 0.1406365375513125e-1 * t1593 - 0.514204676e-4 * t281 * t1632 + 0.48014796319875e0 * t1753 - 0.5522247359125e0 * t1620 - 0.18458962865625e0 * t1622 - 0.265114646e-7 * t1757 * t361; + const double t1851 = -0.265114646e-7 * t373 * t1602 - 0.2637272316e-1 * t482 * t1564 - 0.450310908e-1 * t468 * t1564 - 0.130393038e0 * t1622 * t323 - 0.669043971e-8 * t1622 * t333 + 0.2006940657e-7 * t1622 * t340 - 0.105312309e-2 * t1622 * t351 + 0.548718171e-2 * t1622 * t356 + 0.879759123e-2 * t1622 * t361 - 0.450310908e-1 * t1622 * t365 + 0.842036616e-1 * t452 * t1564 - 0.548733873e-1 * t434 * t1564 - 0.565485306e-1 * t417 * t1564 + 0.509417745e-6 * t397 * t1564 - 0.82957404e-6 * t368 * t1564; + const double t1854 = t1627 + t1667 + t1701 + t1737 + t1772 + t1799 + t1820 + t1851; + const double t1858 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t1854 ); + const double t1861 = 0.5e1 / 0.9e1 * t58 * t29 * t33; + const double t1862 = piecewise_functor_3( t66, t1861, 0.0 ); + const double t1865 = t74 * t1862; + const double t1867 = t526 * t1862; + const double t1870 = piecewise_functor_3( t66, 0.0, t1861 ); + const double t1871 = t77 * t1870; + const double t1877 = 0.3e1 * t538 * t1870 + 0.3e1 * t541 * t1870; + const double t1880 = piecewise_functor_3( t65, 0.6e1 * t72 * t1862 + 0.3e1 * t1865 - 0.12e2 * t1867, 0.6e1 * t530 * t1871 + t537 * t1877 ); + const double t1882 = t90 * t1880; + const double t1884 = t88 * t1880; + const double t1886 = 0.35e2 / 0.2e1 * t1882 - 0.15e2 / 0.2e1 * t1884; + const double t1889 = t89 * t1880; + const double t1892 = 0.15e2 / 0.2e1 * t1889 - 0.3e1 / 0.2e1 * t1880; + const double t1895 = t108 * t1880; + const double t1899 = 0.315e3 / 0.8e1 * t1895 - 0.105e3 / 0.4e1 * t1889 + 0.15e2 / 0.8e1 * t1880; + const double t1902 = t118 * t1880; + const double t1907 = 0.3003e4 / 0.16e2 * t1902 - 0.3465e4 / 0.16e2 * t1895 + 0.945e3 / 0.16e2 * t1889 - 0.35e2 / 0.16e2 * t1880; + const double t1910 = t111 * t1880; + const double t1914 = 0.693e3 / 0.8e1 * t1910 - 0.315e3 / 0.4e1 * t1882 + 0.105e3 / 0.8e1 * t1884; + const double t1919 = t49 * t1880; + const double t1931 = t147 * t1880; + const double t1933 = -0.4373652639371875e-2 * t1880 + 0.554588743e-7 * t147 * t1886 + 0.505920757e-7 * t147 * t1892 - 0.338128188e-7 * t147 * t1899 + 0.888525527e-8 * t147 * t1907 - 0.774224962e-8 * t147 * t1914 - 0.303347141e-2 * t49 * t1892 + 0.100339208e0 * t1919 + 0.822139896e-3 * t49 * t1899 + 0.119130546e-2 * t49 * t1886 - 0.514204676e-4 * t49 * t1914 + 0.694482484e-8 * t56 * t1914 + 0.236391411e-7 * t56 * t1899 + 0.940675747e-2 * t1931; + const double t1946 = t56 * t1880; + const double t1958 = t225 * t1880; + const double t1962 = -0.691592964e-8 * t56 * t1907 + 0.162238741e-6 * t107 * t1886 - 0.896771404e-2 * t107 * t1892 - 0.376702959e-7 * t107 * t1899 - 0.138472194e-7 * t107 * t1914 - 0.265114646e-7 * t56 * t1892 - 0.957417512e-2 * t1946 + 0.850272392e-8 * t107 * t1907 - 0.416393106e-7 * t56 * t1886 - 0.845508103e-2 * t193 * t1892 + 0.896739466e-3 * t193 * t1899 - 0.216860568e-7 * t193 * t1914 + 0.162638575e-1 * t1958 + 0.674910119e-8 * t193 * t1907; + const double t1972 = t107 * t1880; + const double t1976 = t201 * t1880; + const double t1987 = -0.790811707e-7 * t225 * t1886 + 0.631891628e-2 * t225 * t1892 + 0.912223751e-8 * t225 * t1914 + 0.209603871e-7 * t225 * t1899 - 0.884148272e-2 * t1972 - 0.493824365e-8 * t225 * t1907 - 0.43464346e-1 * t1976 + 0.138149743606875e-3 * t1902 - 0.4729415517815625e-2 * t1895 + 0.13938308465540625e-1 * t1889 - 0.940351563e-5 * t49 * t1907 + 0.120828626792125e-1 * t1882 + 0.1406365375513125e-1 * t1884 + 0.182906057e-2 * t201 * t1886; + const double t1995 = t193 * t1880; + const double t2015 = 0.293253041e-2 * t201 * t1892 - 0.48005288013375e-3 * t1910 + 0.668980219e-8 * t201 * t1914 - 0.35104103e-3 * t201 * t1899 - 0.182177954e-1 * t1995 - 0.223014657e-8 * t201 * t1907 + 0.339308972e-2 * t193 * t1886 - 0.82957404e-6 * t173 * t1880 - 0.2637272316e-1 * t166 * t1880 - 0.450310908e-1 * t214 * t1880 + 0.842036616e-1 * t198 * t1880 - 0.548733873e-1 * t238 * t1880 + 0.509417745e-6 * t100 * t1880 - 0.565485306e-1 * t140 * t1880; + const double t2017 = t1933 + t1962 + t1987 + t2015; + const double t2021 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2017 ); + const double t2024 = 0.5e1 / 0.9e1 * t293 * t29 * t33; + const double t2025 = piecewise_functor_3( t301, t2024, 0.0 ); + const double t2028 = t309 * t2025; + const double t2030 = t906 * t2025; + const double t2033 = piecewise_functor_3( t301, 0.0, t2024 ); + const double t2034 = t312 * t2033; + const double t2040 = 0.3e1 * t918 * t2033 + 0.3e1 * t921 * t2033; + const double t2043 = piecewise_functor_3( t300, 0.6e1 * t307 * t2025 + 0.3e1 * t2028 - 0.12e2 * t2030, 0.6e1 * t910 * t2034 + t917 * t2040 ); + const double t2045 = t336 * t2043; + const double t2047 = t326 * t2043; + const double t2049 = t324 * t2043; + const double t2052 = 0.3003e4 / 0.16e2 * t2045 - 0.3465e4 / 0.16e2 * t2047 + 0.945e3 / 0.16e2 * t2049 - 0.35e2 / 0.16e2 * t2043; + const double t2057 = 0.15e2 / 0.2e1 * t2049 - 0.3e1 / 0.2e1 * t2043; + const double t2060 = t325 * t2043; + const double t2062 = t323 * t2043; + const double t2064 = 0.35e2 / 0.2e1 * t2060 - 0.15e2 / 0.2e1 * t2062; + const double t2070 = 0.315e3 / 0.8e1 * t2047 - 0.105e3 / 0.4e1 * t2049 + 0.15e2 / 0.8e1 * t2043; + const double t2073 = t329 * t2043; + const double t2077 = 0.693e3 / 0.8e1 * t2073 - 0.315e3 / 0.4e1 * t2060 + 0.105e3 / 0.8e1 * t2062; + const double t2082 = t373 * t2043; + const double t2094 = t291 * t2043; + const double t2096 = -0.4373652639371875e-2 * t2043 - 0.691592964e-8 * t373 * t2052 + 0.505920757e-7 * t291 * t2057 + 0.554588743e-7 * t291 * t2064 - 0.338128188e-7 * t291 * t2070 - 0.774224962e-8 * t291 * t2077 + 0.888525527e-8 * t291 * t2052 - 0.957417512e-2 * t2082 + 0.850272392e-8 * t402 * t2052 - 0.416393106e-7 * t373 * t2064 - 0.265114646e-7 * t373 * t2057 + 0.236391411e-7 * t373 * t2070 + 0.694482484e-8 * t373 * t2077 + 0.940675747e-2 * t2094; + const double t2103 = t402 * t2043; + const double t2121 = t438 * t2043; + const double t2125 = 0.631891628e-2 * t421 * t2057 + 0.209603871e-7 * t421 * t2070 + 0.912223751e-8 * t421 * t2077 - 0.884148272e-2 * t2103 - 0.493824365e-8 * t421 * t2052 - 0.896771404e-2 * t402 * t2057 + 0.162238741e-6 * t402 * t2064 - 0.376702959e-7 * t402 * t2070 - 0.138472194e-7 * t402 * t2077 + 0.293253041e-2 * t455 * t2057 - 0.35104103e-3 * t455 * t2070 + 0.668980219e-8 * t455 * t2077 - 0.182177954e-1 * t2121 - 0.223014657e-8 * t455 * t2052; + const double t2135 = t421 * t2043; + const double t2144 = t281 * t2043; + const double t2151 = -0.845508103e-2 * t438 * t2057 + 0.339308972e-2 * t438 * t2064 + 0.896739466e-3 * t438 * t2070 - 0.216860568e-7 * t438 * t2077 + 0.162638575e-1 * t2135 + 0.674910119e-8 * t438 * t2052 - 0.790811707e-7 * t421 * t2064 + 0.13938308465540625e-1 * t2049 - 0.303347141e-2 * t281 * t2057 + 0.100339208e0 * t2144 - 0.4729415517815625e-2 * t2047 + 0.822139896e-3 * t281 * t2070 + 0.120828626792125e-1 * t2060 + 0.1406365375513125e-1 * t2062; + const double t2160 = t455 * t2043; + const double t2178 = 0.119130546e-2 * t281 * t2064 - 0.48005288013375e-3 * t2073 - 0.514204676e-4 * t281 * t2077 + 0.138149743606875e-3 * t2045 - 0.940351563e-5 * t281 * t2052 - 0.43464346e-1 * t2160 + 0.182906057e-2 * t455 * t2064 - 0.2637272316e-1 * t482 * t2043 - 0.450310908e-1 * t468 * t2043 + 0.842036616e-1 * t452 * t2043 - 0.548733873e-1 * t434 * t2043 - 0.565485306e-1 * t417 * t2043 + 0.509417745e-6 * t397 * t2043 - 0.82957404e-6 * t368 * t2043; + const double t2180 = t2096 + t2125 + t2151 + t2178; + const double t2184 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t2180 ); + const double t2187 = t24 * t24; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t495 * t495; + const double t2192 = t491 * t7; + const double t2193 = 0.1e1 / t2192; + const double t2194 = t17 * t2193; + const double t2197 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t492 + 0.2e1 * t2194 ); + const double t2201 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t2188 * t2189 + 0.4e1 / 0.3e1 * t24 * t2197 ); + const double t2202 = t2201 * t27; + const double t2206 = t498 * t504; + const double t2208 = t6 * t2206 * t253; + const double t2214 = 0.1e1 / t503 / t7; + const double t2215 = t26 * t2214; + const double t2218 = t6 * t2215 * t253 / 0.12e2; + const double t2220 = t6 * t505 * t845; + const double t2222 = t520 * t520; + const double t2228 = 0.1e1 / t37 / t557; + const double t2229 = sigma_aa * t2228; + const double t2234 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * tau_a * t513 - 0.11e2 / 0.9e1 * t2229 ) * t29 * t33; + const double t2235 = piecewise_functor_3( t66, t2234, 0.0 ); + const double t2238 = t526 * t2222; + const double t2243 = 0.1e1 / t73 / t68; + const double t2244 = t2243 * t2222; + const double t2249 = t79 * t86; + const double t2250 = t531 * t531; + const double t2251 = t78 * t2250; + const double t2254 = t80 * t536; + const double t2255 = t532 * t544; + const double t2260 = piecewise_functor_3( t66, 0.0, t2234 ); + const double t2261 = t77 * t2260; + const double t2265 = 0.1e1 / t535 / t85; + const double t2266 = t81 * t2265; + const double t2267 = t544 * t544; + const double t2270 = t77 * t83; + const double t2279 = 0.6e1 * t2270 * t2250 + 0.24e2 * t540 * t2250 + 0.3e1 * t538 * t2260 + 0.3e1 * t541 * t2260; + const double t2282 = piecewise_functor_3( t65, -0.18e2 * t74 * t2222 - 0.12e2 * t526 * t2235 + 0.6e1 * t72 * t2235 + 0.3e1 * t74 * t2235 - 0.12e2 * t2238 + 0.6e2 * t2244, -0.24e2 * t2249 * t2251 + 0.6e1 * t530 * t2250 - 0.12e2 * t2254 * t2255 + 0.6e1 * t530 * t2261 - 0.2e1 * t2266 * t2267 + t537 * t2279 ); + const double t2284 = t585 * t585; + const double t2286 = t547 * t547; + const double t2289 = t34 * t2229 * t44; + const double t2291 = t557 * t511; + const double t2293 = 0.1e1 / t36 / t2291; + const double t2296 = t555 * t556 * t2293 * t563; + const double t2304 = t556 * sigma_aa; + const double t2305 = t2303 * t2304; + const double t2306 = t557 * t557; + const double t2307 = t2306 * t35; + const double t2308 = 0.1e1 / t2307; + const double t2310 = 0.1e1 / t562 / t43; + const double t2312 = t2305 * t2308 * t2310; + const double t2314 = 0.22e2 / 0.27e2 * t2289 - t2296 / 0.12e2 + t2312 / 0.81e2; + const double t2317 = t2314 * t88; + const double t2319 = t585 * t547; + const double t2321 = t49 * t2282; + const double t2325 = -0.4373652639371875e-2 * t2282 - 0.18458962865625e0 * t2284 + 0.1406365375513125e-1 * t2286 - 0.12732825948078703704e0 * t2289 + 0.13022208355989583333e-1 * t2296 + 0.1777051054e-7 * t594 * t574 - 0.879090772e-2 * t2314 * t97 + 0.100339208e0 * t2317 + 0.200678416e0 * t2319 + 0.100339208e0 * t2321 + 0.1011841514e-6 * t594 * t619; + const double t2326 = t88 * t2286; + const double t2328 = t89 * t2282; + const double t2331 = 0.15e2 * t2326 + 0.15e2 / 0.2e1 * t2328 - 0.3e1 / 0.2e1 * t2282; + const double t2334 = t111 * t2286; + const double t2336 = t118 * t2282; + const double t2338 = t90 * t2286; + const double t2340 = t108 * t2282; + const double t2345 = 0.9009e4 / 0.8e1 * t2334 + 0.3003e4 / 0.16e2 * t2336 - 0.3465e4 / 0.4e1 * t2338 - 0.3465e4 / 0.16e2 * t2340 + 0.945e3 / 0.8e1 * t2326 + 0.945e3 / 0.16e2 * t2328 - 0.35e2 / 0.16e2 * t2282; + const double t2348 = t102 * t2284; + const double t2350 = t52 * t2314; + const double t2352 = t104 * t2284; + const double t2354 = t51 * t2314; + const double t2356 = t49 * t2284; + const double t2358 = t50 * t2314; + const double t2363 = 0.9009e4 / 0.8e1 * t2348 + 0.3003e4 / 0.16e2 * t2350 - 0.3465e4 / 0.4e1 * t2352 - 0.3465e4 / 0.16e2 * t2354 + 0.945e3 / 0.8e1 * t2356 + 0.945e3 / 0.16e2 * t2358 - 0.385e3 / 0.216e3 * t2289 + 0.35e2 / 0.192e3 * t2296 - 0.35e2 / 0.1296e4 * t2312; + const double t2380 = t2284 * t88; + const double t2384 = 0.505920757e-7 * t147 * t2331 + 0.888525527e-8 * t147 * t2345 + 0.888525527e-8 * t2363 * t115 + 0.509417745e-6 * t56 * t2286 - 0.82957404e-6 * t147 * t2286 + 0.505920757e-7 * t2363 * t93 + 0.548718171e-2 * t2284 * t133 + 0.879759123e-2 * t2284 * t93 - 0.450310908e-1 * t2284 * t97 - 0.450310908e-1 * t201 * t2286 - 0.130393038e0 * t2380 + 0.842036616e-1 * t193 * t2286; + const double t2395 = 0.15e2 * t2356 + 0.15e2 / 0.2e1 * t2358 - 0.11e2 / 0.9e1 * t2289 + t2296 / 0.8e1 - t2312 / 0.54e2; + const double t2396 = t2395 * t88; + const double t2398 = t732 * t547; + const double t2400 = t193 * t2282; + const double t2414 = t2363 * t88; + const double t2416 = -0.548733873e-1 * t225 * t2286 - 0.565485306e-1 * t107 * t2286 - 0.182177954e-1 * t2396 - 0.364355908e-1 * t2398 - 0.182177954e-1 * t2400 - 0.223014657e-8 * t201 * t2345 - 0.2637272316e-1 * t49 * t2286 - 0.669043971e-8 * t2284 * t115 + 0.2006940657e-7 * t2284 * t122 - 0.105312309e-2 * t2284 * t128 - 0.27652468e-6 * t2363 * t97 + 0.940675747e-2 * t2414; + const double t2417 = t594 * t547; + const double t2419 = t89 * t2286; + const double t2421 = t90 * t2282; + const double t2424 = t88 * t2282; + const double t2426 = 0.105e3 / 0.2e1 * t2419 + 0.35e2 / 0.2e1 * t2421 - 0.15e2 / 0.2e1 * t2286 - 0.15e2 / 0.2e1 * t2424; + const double t2429 = t108 * t2286; + const double t2431 = t111 * t2282; + const double t2437 = 0.3465e4 / 0.8e1 * t2429 + 0.693e3 / 0.8e1 * t2431 - 0.945e3 / 0.4e1 * t2419 - 0.315e3 / 0.4e1 * t2421 + 0.105e3 / 0.8e1 * t2286 + 0.105e3 / 0.8e1 * t2424; + const double t2442 = t147 * t2282; + const double t2444 = t51 * t2284; + const double t2446 = t102 * t2314; + const double t2448 = t50 * t2284; + const double t2450 = t104 * t2314; + const double t2453 = t49 * t2314; + const double t2455 = 0.3465e4 / 0.8e1 * t2444 + 0.693e3 / 0.8e1 * t2446 - 0.945e3 / 0.4e1 * t2448 - 0.315e3 / 0.4e1 * t2450 + 0.105e3 / 0.8e1 * t2284 + 0.105e3 / 0.8e1 * t2453; + const double t2460 = t585 * t612; + const double t2468 = t585 * t619; + const double t2470 = 0.1881351494e-1 * t2417 + 0.182906057e-2 * t201 * t2426 + 0.668980219e-8 * t201 * t2437 + 0.554588743e-7 * t2363 * t133 + 0.940675747e-2 * t2442 - 0.691592964e-8 * t2455 * t115 + 0.119130546e-2 * t2314 * t133 + 0.238261092e-2 * t2460 + 0.119130546e-2 * t49 * t2426 + 0.1109177486e-6 * t594 * t612 + 0.554588743e-7 * t147 * t2426 - 0.606694282e-2 * t2468; + const double t2482 = 0.315e3 / 0.2e1 * t2338 + 0.315e3 / 0.8e1 * t2340 - 0.105e3 / 0.2e1 * t2326 - 0.105e3 / 0.4e1 * t2328 + 0.15e2 / 0.8e1 * t2282; + const double t2495 = t585 * t603; + const double t2501 = -0.303347141e-2 * t49 * t2331 - 0.753405918e-7 * t672 * t580 - 0.376702959e-7 * t107 * t2482 - 0.896771404e-2 * t107 * t2331 + 0.822139896e-3 * t49 * t2482 + 0.822139896e-3 * t2314 * t128 + 0.1644279792e-2 * t585 * t580 - 0.514204676e-4 * t2314 * t122 - 0.1028409352e-3 * t2495 - 0.514204676e-4 * t49 * t2437 - 0.303347141e-2 * t2314 * t93; + const double t2511 = 0.315e3 / 0.2e1 * t2352 + 0.315e3 / 0.8e1 * t2354 - 0.105e3 / 0.2e1 * t2356 - 0.105e3 / 0.4e1 * t2358 + 0.55e2 / 0.36e2 * t2289 - 0.5e1 / 0.32e2 * t2296 + 0.5e1 / 0.216e3 * t2312; + const double t2528 = t585 * t574; + const double t2530 = t201 * t2282; + const double t2534 = 0.162238741e-6 * t107 * t2426 + 0.162238741e-6 * t2511 * t133 + 0.324477482e-6 * t672 * t612 - 0.188495102e-1 * t2511 * t97 - 0.138472194e-7 * t107 * t2437 - 0.35104103e-3 * t201 * t2482 + 0.293253041e-2 * t201 * t2331 - 0.940351563e-5 * t49 * t2345 - 0.940351563e-5 * t2314 * t115 - 0.1880703126e-4 * t2528 - 0.43464346e-1 * t2530 - 0.138472194e-7 * t2511 * t122; + const double t2538 = t637 * t547; + const double t2540 = t56 * t2282; + const double t2560 = 0.1700544784e-7 * t672 * t574 - 0.1914835024e-1 * t2538 - 0.957417512e-2 * t2540 - 0.376702959e-7 * t2511 * t128 - 0.276944388e-7 * t672 * t603 - 0.530229292e-7 * t637 * t619 - 0.265114646e-7 * t56 * t2331 + 0.850272392e-8 * t107 * t2345 + 0.850272392e-8 * t2511 * t115 + 0.280678872e-1 * t2395 * t97 - 0.845508103e-2 * t2395 * t93 - 0.1691016206e-1 * t732 * t619; + const double t2585 = -0.845508103e-2 * t193 * t2331 - 0.265114646e-7 * t2455 * t93 - 0.216860568e-7 * t2395 * t122 - 0.433721136e-7 * t732 * t603 + 0.339308972e-2 * t193 * t2426 + 0.339308972e-2 * t2395 * t133 + 0.678617944e-2 * t732 * t612 + 0.896739466e-3 * t2395 * t128 + 0.1793478932e-2 * t732 * t580 + 0.896739466e-3 * t193 * t2482 + 0.674910119e-8 * t2395 * t115 + 0.1349820238e-7 * t732 * t574; + const double t2593 = 0.105e3 / 0.2e1 * t2448 + 0.35e2 / 0.2e1 * t2450 - 0.15e2 / 0.2e1 * t2284 - 0.15e2 / 0.2e1 * t2453; + const double t2594 = t2593 * t88; + const double t2596 = t702 * t547; + const double t2610 = t225 * t2282; + const double t2612 = t2511 * t88; + const double t2614 = t672 * t547; + const double t2616 = 0.162638575e-1 * t2594 + 0.32527715e-1 * t2596 - 0.216860568e-7 * t193 * t2437 - 0.98764873e-8 * t702 * t574 - 0.493824365e-8 * t225 * t2345 - 0.896771404e-2 * t2511 * t93 - 0.1793542808e-1 * t672 * t619 + 0.674910119e-8 * t193 * t2345 + 0.162638575e-1 * t2610 - 0.884148272e-2 * t2612 - 0.1768296544e-1 * t2614; + const double t2617 = t107 * t2282; + const double t2641 = -0.884148272e-2 * t2617 - 0.493824365e-8 * t2593 * t115 + 0.209603871e-7 * t225 * t2482 - 0.790811707e-7 * t2593 * t133 + 0.912223751e-8 * t2593 * t122 + 0.1824447502e-7 * t702 * t603 + 0.912223751e-8 * t225 * t2437 + 0.1263783256e-1 * t702 * t619 + 0.631891628e-2 * t225 * t2331 - 0.182911291e-1 * t2593 * t97 + 0.209603871e-7 * t2593 * t128 + 0.419207742e-7 * t702 * t580; + const double t2643 = t2455 * t88; + const double t2666 = -0.957417512e-2 * t2643 - 0.1581623414e-6 * t702 * t612 - 0.790811707e-7 * t225 * t2426 + 0.631891628e-2 * t2593 * t93 - 0.832786212e-7 * t637 * t612 - 0.416393106e-7 * t56 * t2426 + 0.169805915e-6 * t2455 * t97 - 0.19292160527391975308e-2 * t2312 + 0.472782822e-7 * t637 * t580 + 0.1388964968e-7 * t637 * t603 + 0.694482484e-8 * t56 * t2437 - 0.416393106e-7 * t2455 * t133; + const double t2686 = 0.694482484e-8 * t2455 * t122 - 0.1383185928e-7 * t637 * t574 + 0.82889846164125e-3 * t2334 + 0.138149743606875e-3 * t2336 - 0.691592964e-8 * t56 * t2345 + 0.236391411e-7 * t56 * t2482 + 0.236391411e-7 * t2455 * t128 - 0.676256376e-7 * t594 * t580 - 0.338128188e-7 * t2363 * t128 + 0.240073981599375e1 * t2444 + 0.48014796319875e0 * t2446 - 0.16566742077375e1 * t2448; + const double t2703 = -0.5522247359125e0 * t2450 - 0.18458962865625e0 * t2453 + 0.445308425186625e1 * t2348 + 0.742180708644375e0 * t2350 - 0.79012239917625e1 * t2352 - 0.1975305997940625e1 * t2354 + 0.298766783045625e1 * t2356 + 0.1493833915228125e1 * t2358 - 0.774224962e-8 * t2363 * t122 - 0.1548449924e-7 * t594 * t603 - 0.189176620712625e-1 * t2338 - 0.4729415517815625e-2 * t2340; + const double t2721 = 0.2787661693108125e-1 * t2326 + 0.13938308465540625e-1 * t2328 - 0.338128188e-7 * t147 * t2482 - 0.240026440066875e-2 * t2429 - 0.48005288013375e-3 * t2431 + 0.362485880376375e-1 * t2419 + 0.120828626792125e-1 * t2421 + 0.1406365375513125e-1 * t2424 - 0.774224962e-8 * t147 * t2437 + 0.1684073232e0 * t769 * t547 - 0.1338087942e-7 * t635 * t574 + 0.4013881314e-7 * t635 * t603; + const double t2747 = 0.1097436342e-1 * t635 * t612 + 0.1759518246e-1 * t635 * t619 - 0.210624618e-2 * t635 * t580 - 0.260786076e0 * t635 * t547 - 0.5274544632e-1 * t795 * t547 - 0.2637272316e-1 * t166 * t2282 - 0.669043971e-8 * t2453 * t115 + 0.2006940657e-7 * t2453 * t122 - 0.105312309e-2 * t2453 * t128 + 0.548718171e-2 * t2453 * t133 + 0.879759123e-2 * t2453 * t93 - 0.450310908e-1 * t2453 * t97; + const double t2772 = -0.450310908e-1 * t214 * t2282 - 0.130393038e0 * t2453 * t88 + 0.842036616e-1 * t198 * t2282 - 0.548733873e-1 * t238 * t2282 - 0.565485306e-1 * t140 * t2282 + 0.509417745e-6 * t100 * t2282 - 0.82957404e-6 * t173 * t2282 - 0.165914808e-5 * t627 * t547 + 0.101883549e-5 * t657 * t547 - 0.1130970612e0 * t710 * t547 - 0.1097467746e0 * t743 * t547 - 0.2701865448e0 * t635 * t601; + const double t2776 = t2325 + t2384 + t2416 + t2470 + t2501 + t2534 + t2560 + t2585 + t2616 + t2641 + t2666 + t2686 + t2703 + t2721 + t2747 + t2772; + const double t2781 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2202 * t253 - t2208 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t499 * t845 + t2218 - t2220 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2776 ); + const double t2782 = t264 * t264; + const double t2783 = 0.1e1 / t2782; + const double t2784 = t853 * t853; + const double t2787 = t259 * t2193; + const double t2790 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t492 + 0.2e1 * t2787 ); + const double t2794 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.9e1 * t2783 * t2784 + 0.4e1 / 0.3e1 * t264 * t2790 ); + const double t2795 = t2794 * t27; + const double t2799 = t856 * t504; + const double t2801 = t6 * t2799 * t486; + const double t2803 = t266 * t2214; + const double t2806 = t6 * t2803 * t486 / 0.12e2; + const double t2808 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t2795 * t486 - t2801 / 0.4e1 + t2806 ); + const double t2824 = t873 * t504; + const double t2826 = t6 * t2824 * t253; + const double t2848 = t884 * t504; + const double t2850 = t6 * t2848 * t486; + const double t2857 = t6 * t861 * t1221; + const double t2865 = t870 * t870; + const double t2870 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t492 + 0.2e1 * t2194 ); + const double t2874 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t2188 * t2865 + 0.4e1 / 0.3e1 * t24 * t2870 ); + const double t2875 = t2874 * t27; + const double t2881 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2875 * t253 - t2826 / 0.4e1 + t2218 ); + const double t2882 = t881 * t881; + const double t2887 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t492 + 0.2e1 * t2787 ); + const double t2891 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.9e1 * t2783 * t2882 + 0.4e1 / 0.3e1 * t264 * t2887 ); + const double t2892 = t2891 * t27; + const double t2901 = t945 * t945; + const double t2903 = t900 * t900; + const double t2909 = 0.1e1 / t270 / t933; + const double t2910 = sigma_bb * t2909; + const double t2915 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * tau_b * t893 - 0.11e2 / 0.9e1 * t2910 ) * t29 * t33; + const double t2916 = piecewise_functor_3( t301, t2915, 0.0 ); + const double t2919 = t906 * t2903; + const double t2924 = 0.1e1 / t308 / t303; + const double t2925 = t2924 * t2903; + const double t2930 = t314 * t321; + const double t2931 = t911 * t911; + const double t2932 = t313 * t2931; + const double t2935 = t315 * t916; + const double t2936 = t912 * t924; + const double t2941 = piecewise_functor_3( t301, 0.0, t2915 ); + const double t2942 = t312 * t2941; + const double t2946 = 0.1e1 / t915 / t320; + const double t2947 = t316 * t2946; + const double t2948 = t924 * t924; + const double t2951 = t312 * t318; + const double t2960 = 0.6e1 * t2951 * t2931 + 0.24e2 * t920 * t2931 + 0.3e1 * t918 * t2941 + 0.3e1 * t921 * t2941; + const double t2963 = piecewise_functor_3( t300, -0.18e2 * t309 * t2903 + 0.6e1 * t307 * t2916 + 0.3e1 * t309 * t2916 - 0.12e2 * t906 * t2916 - 0.12e2 * t2919 + 0.6e2 * t2925, -0.24e2 * t2930 * t2932 + 0.6e1 * t910 * t2931 - 0.12e2 * t2935 * t2936 + 0.6e1 * t910 * t2942 - 0.2e1 * t2947 * t2948 + t917 * t2960 ); + const double t2966 = t34 * t2910 * t277; + const double t2968 = t932 * sigma_bb; + const double t2969 = t2303 * t2968; + const double t2970 = t933 * t933; + const double t2971 = t2970 * t268; + const double t2972 = 0.1e1 / t2971; + const double t2974 = 0.1e1 / t938 / t276; + const double t2976 = t2969 * t2972 * t2974; + const double t2978 = t933 * t891; + const double t2980 = 0.1e1 / t269 / t2978; + const double t2983 = t555 * t932 * t2980 * t939; + const double t2985 = t927 * t927; + const double t2987 = t326 * t2985; + const double t2989 = t329 * t2963; + const double t2991 = t324 * t2985; + const double t2993 = t325 * t2963; + const double t2996 = t323 * t2963; + const double t2998 = 0.3465e4 / 0.8e1 * t2987 + 0.693e3 / 0.8e1 * t2989 - 0.945e3 / 0.4e1 * t2991 - 0.315e3 / 0.4e1 * t2993 + 0.105e3 / 0.8e1 * t2985 + 0.105e3 / 0.8e1 * t2996; + const double t3001 = t282 * t2901; + const double t3006 = 0.22e2 / 0.27e2 * t2966 - t2983 / 0.12e2 + t2976 / 0.81e2; + const double t3007 = t283 * t3006; + const double t3010 = t281 * t3006; + const double t3012 = 0.105e3 / 0.2e1 * t3001 + 0.35e2 / 0.2e1 * t3007 - 0.15e2 / 0.2e1 * t2901 - 0.15e2 / 0.2e1 * t3010; + const double t3017 = t325 * t2985; + const double t3019 = t326 * t2963; + const double t3021 = t323 * t2985; + const double t3023 = t324 * t2963; + const double t3026 = 0.315e3 / 0.2e1 * t3017 + 0.315e3 / 0.8e1 * t3019 - 0.105e3 / 0.2e1 * t3021 - 0.105e3 / 0.4e1 * t3023 + 0.15e2 / 0.8e1 * t2963; + const double t3031 = -0.18458962865625e0 * t2901 - 0.4373652639371875e-2 * t2963 - 0.12732825948078703704e0 * t2966 - 0.19292160527391975308e-2 * t2976 + 0.13022208355989583333e-1 * t2983 + 0.1406365375513125e-1 * t2985 + 0.912223751e-8 * t421 * t2998 + 0.912223751e-8 * t3012 * t340 + 0.1824447502e-7 * t1071 * t983 + 0.209603871e-7 * t421 * t3026 + 0.209603871e-7 * t3012 * t351; + const double t3034 = t329 * t2985; + const double t3036 = t336 * t2963; + const double t3043 = 0.9009e4 / 0.8e1 * t3034 + 0.3003e4 / 0.16e2 * t3036 - 0.3465e4 / 0.4e1 * t3017 - 0.3465e4 / 0.16e2 * t3019 + 0.945e3 / 0.8e1 * t3021 + 0.945e3 / 0.16e2 * t3023 - 0.35e2 / 0.16e2 * t2963; + const double t3048 = t284 * t2901; + const double t3050 = t287 * t3006; + const double t3061 = 0.3465e4 / 0.8e1 * t3048 + 0.693e3 / 0.8e1 * t3050 - 0.945e3 / 0.4e1 * t3001 - 0.315e3 / 0.4e1 * t3007 + 0.105e3 / 0.8e1 * t2901 + 0.105e3 / 0.8e1 * t3010; + const double t3070 = 0.1777051054e-7 * t954 * t964 + 0.888525527e-8 * t291 * t3043 + 0.236391411e-7 * t373 * t3026 + 0.240073981599375e1 * t3048 + 0.48014796319875e0 * t3050 - 0.16566742077375e1 * t3001 - 0.5522247359125e0 * t3007 - 0.18458962865625e0 * t3010 + 0.236391411e-7 * t3061 * t351 + 0.472782822e-7 * t1006 * t972 + 0.694482484e-8 * t373 * t2998 + 0.694482484e-8 * t3061 * t340; + const double t3080 = t283 * t2901; + const double t3082 = t284 * t3006; + const double t3084 = t281 * t2901; + const double t3086 = t282 * t3006; + const double t3091 = 0.315e3 / 0.2e1 * t3080 + 0.315e3 / 0.8e1 * t3082 - 0.105e3 / 0.2e1 * t3084 - 0.105e3 / 0.4e1 * t3086 + 0.55e2 / 0.36e2 * t2966 - 0.5e1 / 0.32e2 * t2983 + 0.5e1 / 0.216e3 * t2976; + const double t3096 = t3061 * t323; + const double t3098 = t1006 * t927; + const double t3107 = 0.15e2 * t3084 + 0.15e2 / 0.2e1 * t3086 - 0.11e2 / 0.9e1 * t2966 + t2983 / 0.8e1 - t2976 / 0.54e2; + const double t3114 = 0.1388964968e-7 * t1006 * t983 - 0.493824365e-8 * t3012 * t333 - 0.98764873e-8 * t1071 * t964 - 0.493824365e-8 * t421 * t3043 - 0.896771404e-2 * t3091 * t361 - 0.1793542808e-1 * t1035 * t997 - 0.957417512e-2 * t3096 - 0.1914835024e-1 * t3098 - 0.138472194e-7 * t402 * t2998 + 0.339308972e-2 * t3107 * t356 - 0.433721136e-7 * t1101 * t983 - 0.216860568e-7 * t438 * t2998; + const double t3117 = t373 * t2963; + const double t3125 = t3012 * t323; + const double t3127 = t1071 * t927; + const double t3129 = t421 * t2963; + const double t3139 = 0.850272392e-8 * t402 * t3043 - 0.957417512e-2 * t3117 + 0.850272392e-8 * t3091 * t333 + 0.1700544784e-7 * t1035 * t964 - 0.182911291e-1 * t3012 * t365 + 0.162638575e-1 * t3125 + 0.32527715e-1 * t3127 + 0.162638575e-1 * t3129 - 0.216860568e-7 * t3107 * t340 - 0.265114646e-7 * t3061 * t361 - 0.530229292e-7 * t1006 * t997 + 0.674910119e-8 * t3107 * t333; + const double t3151 = 0.15e2 * t3021 + 0.15e2 / 0.2e1 * t3023 - 0.3e1 / 0.2e1 * t2963; + const double t3166 = 0.105e3 / 0.2e1 * t2991 + 0.35e2 / 0.2e1 * t2993 - 0.15e2 / 0.2e1 * t2985 - 0.15e2 / 0.2e1 * t2996; + const double t3173 = 0.1349820238e-7 * t1101 * t964 + 0.169805915e-6 * t3061 * t365 - 0.416393106e-7 * t3061 * t356 - 0.265114646e-7 * t373 * t3151 + 0.631891628e-2 * t3012 * t361 + 0.1263783256e-1 * t1071 * t997 - 0.303347141e-2 * t281 * t3151 - 0.832786212e-7 * t1006 * t990 - 0.416393106e-7 * t373 * t3166 + 0.419207742e-7 * t1071 * t972 + 0.280678872e-1 * t3107 * t365; + const double t3188 = t287 * t2901; + const double t3190 = t345 * t3006; + const double t3199 = 0.9009e4 / 0.8e1 * t3188 + 0.3003e4 / 0.16e2 * t3190 - 0.3465e4 / 0.4e1 * t3080 - 0.3465e4 / 0.16e2 * t3082 + 0.945e3 / 0.8e1 * t3084 + 0.945e3 / 0.16e2 * t3086 - 0.385e3 / 0.216e3 * t2966 + 0.35e2 / 0.192e3 * t2983 - 0.35e2 / 0.1296e4 * t2976; + const double t3202 = t3199 * t323; + const double t3204 = t954 * t927; + const double t3206 = t291 * t2963; + const double t3208 = t3107 * t323; + const double t3210 = 0.631891628e-2 * t421 * t3151 - 0.338128188e-7 * t291 * t3026 - 0.105312309e-2 * t2901 * t351 + 0.548718171e-2 * t2901 * t356 + 0.879759123e-2 * t2901 * t361 - 0.450310908e-1 * t2901 * t365 - 0.450310908e-1 * t455 * t2985 - 0.27652468e-6 * t3199 * t365 + 0.940675747e-2 * t3202 + 0.1881351494e-1 * t3204 + 0.940675747e-2 * t3206 - 0.182177954e-1 * t3208; + const double t3212 = t1101 * t927; + const double t3226 = t945 * t964; + const double t3230 = t455 * t2963; + const double t3234 = -0.364355908e-1 * t3212 - 0.240026440066875e-2 * t2987 - 0.48005288013375e-3 * t2989 + 0.668980219e-8 * t455 * t2998 + 0.182906057e-2 * t455 * t3166 - 0.35104103e-3 * t455 * t3026 + 0.293253041e-2 * t455 * t3151 - 0.940351563e-5 * t3006 * t333 - 0.1880703126e-4 * t3226 - 0.940351563e-5 * t281 * t3043 - 0.43464346e-1 * t3230 - 0.2701865448e0 * t1004 * t981; + const double t3241 = t3006 * t323; + const double t3243 = t945 * t927; + const double t3245 = t281 * t2963; + const double t3249 = t945 * t997; + const double t3255 = t945 * t972; + const double t3259 = 0.505920757e-7 * t291 * t3151 + 0.505920757e-7 * t3199 * t361 + 0.1011841514e-6 * t954 * t997 + 0.100339208e0 * t3241 + 0.200678416e0 * t3243 + 0.100339208e0 * t3245 - 0.303347141e-2 * t3006 * t361 - 0.606694282e-2 * t3249 - 0.879090772e-2 * t3006 * t365 + 0.822139896e-3 * t3006 * t351 + 0.1644279792e-2 * t3255 + 0.822139896e-3 * t281 * t3026; + const double t3276 = 0.445308425186625e1 * t3188 + 0.742180708644375e0 * t3190 - 0.79012239917625e1 * t3080 - 0.1975305997940625e1 * t3082 + 0.298766783045625e1 * t3084 + 0.1493833915228125e1 * t3086 + 0.554588743e-7 * t3199 * t356 + 0.1109177486e-6 * t954 * t990 + 0.362485880376375e-1 * t2991 + 0.120828626792125e-1 * t2993 + 0.1406365375513125e-1 * t2996; + const double t3279 = t438 * t2963; + const double t3295 = 0.554588743e-7 * t291 * t3166 - 0.182177954e-1 * t3279 + 0.82889846164125e-3 * t3034 + 0.138149743606875e-3 * t3036 - 0.189176620712625e-1 * t3017 - 0.4729415517815625e-2 * t3019 + 0.2787661693108125e-1 * t3021 + 0.13938308465540625e-1 * t3023 - 0.223014657e-8 * t455 * t3043 - 0.514204676e-4 * t281 * t2998 - 0.845508103e-2 * t438 * t3151 - 0.774224962e-8 * t291 * t2998; + const double t3321 = 0.888525527e-8 * t3199 * t333 - 0.896771404e-2 * t402 * t3151 - 0.188495102e-1 * t3091 * t365 - 0.376702959e-7 * t3091 * t351 - 0.753405918e-7 * t1035 * t972 - 0.376702959e-7 * t402 * t3026 + 0.162238741e-6 * t3091 * t356 + 0.324477482e-6 * t1035 * t990 + 0.162238741e-6 * t402 * t3166 + 0.674910119e-8 * t438 * t3043 - 0.790811707e-7 * t3012 * t356 - 0.1581623414e-6 * t1071 * t990; + const double t3326 = t2901 * t323; + const double t3346 = -0.790811707e-7 * t421 * t3166 - 0.548733873e-1 * t421 * t2985 - 0.130393038e0 * t3326 + 0.842036616e-1 * t438 * t2985 - 0.669043971e-8 * t2901 * t333 + 0.2006940657e-7 * t2901 * t340 - 0.2637272316e-1 * t281 * t2985 - 0.669043971e-8 * t3010 * t333 - 0.1130970612e0 * t1065 * t927 - 0.2637272316e-1 * t482 * t2963 - 0.105312309e-2 * t3010 * t351 + 0.548718171e-2 * t3010 * t356; + const double t3373 = 0.879759123e-2 * t3010 * t361 - 0.450310908e-1 * t3010 * t365 + 0.101883549e-5 * t1061 * t927 + 0.2006940657e-7 * t3010 * t340 - 0.1097467746e0 * t1113 * t927 - 0.548733873e-1 * t434 * t2963 - 0.450310908e-1 * t468 * t2963 - 0.130393038e0 * t3010 * t323 + 0.842036616e-1 * t452 * t2963 + 0.896739466e-3 * t438 * t3026 + 0.896739466e-3 * t3107 * t351 + 0.1793478932e-2 * t1101 * t972; + const double t3398 = -0.165914808e-5 * t1015 * t927 - 0.565485306e-1 * t417 * t2963 + 0.509417745e-6 * t397 * t2963 - 0.82957404e-6 * t368 * t2963 - 0.210624618e-2 * t1004 * t972 + 0.1097436342e-1 * t1004 * t990 + 0.1759518246e-1 * t1004 * t997 - 0.260786076e0 * t1004 * t927 - 0.5274544632e-1 * t1188 * t927 + 0.1684073232e0 * t1142 * t927 - 0.1338087942e-7 * t1004 * t964 + 0.4013881314e-7 * t1004 * t983; + const double t3404 = t3091 * t323; + const double t3406 = t1035 * t927; + const double t3408 = t402 * t2963; + const double t3424 = -0.138472194e-7 * t3091 * t340 - 0.276944388e-7 * t1035 * t983 - 0.884148272e-2 * t3404 - 0.1768296544e-1 * t3406 - 0.884148272e-2 * t3408 - 0.338128188e-7 * t3199 * t351 - 0.676256376e-7 * t954 * t972 - 0.845508103e-2 * t3107 * t361 - 0.1691016206e-1 * t1101 * t997 + 0.678617944e-2 * t1101 * t990 + 0.339308972e-2 * t438 * t3166 - 0.565485306e-1 * t402 * t2985; + const double t3447 = t945 * t990; + const double t3449 = 0.509417745e-6 * t373 * t2985 - 0.82957404e-6 * t291 * t2985 - 0.774224962e-8 * t3199 * t340 - 0.1548449924e-7 * t954 * t983 - 0.691592964e-8 * t373 * t3043 - 0.691592964e-8 * t3061 * t333 - 0.1383185928e-7 * t1006 * t964 - 0.514204676e-4 * t3006 * t340 - 0.1028409352e-3 * t945 * t983 + 0.119130546e-2 * t281 * t3166 + 0.119130546e-2 * t3006 * t356 + 0.238261092e-2 * t3447; + const double t3453 = t3031 + t3070 + t3114 + t3139 + t3173 + t3210 + t3234 + t3259 + t3276 + t3295 + t3321 + t3346 + t3373 + t3398 + t3424 + t3449; + const double t3458 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t2892 * t486 - t2850 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t885 * t1221 + t2806 - t2857 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t267 * t3453 ); + const double t3466 = t6 * t505 * t1539 / 0.8e1; + const double t3467 = t560 * t563; + const double t3469 = t555 * t3467 * sigma_aa; + const double t3473 = t34 * t513; + const double t3474 = 0.5e1 / 0.27e2 * t3473; + const double t3475 = piecewise_functor_3( t66, t3474, 0.0 ); + const double t3480 = t74 * t3475; + const double t3482 = t2243 * t1231; + const double t3485 = t526 * t3475; + const double t3488 = t78 * t1239; + const double t3489 = t3488 * t531; + const double t3492 = t1240 * t544; + const double t3495 = t531 * t1239; + const double t3498 = piecewise_functor_3( t66, 0.0, t3474 ); + const double t3499 = t77 * t3498; + const double t3502 = t1246 * t77; + const double t3503 = t3502 * t531; + const double t3506 = t1246 * t544; + const double t3511 = t540 * t531; + const double t3518 = 0.24e2 * t3511 * t1239 + 0.6e1 * t2270 * t3495 + 0.3e1 * t538 * t3498 + 0.3e1 * t541 * t3498; + const double t3521 = piecewise_functor_3( t65, -0.18e2 * t1234 * t520 - 0.12e2 * t1236 * t520 + 0.6e1 * t72 * t3475 + 0.6e2 * t3482 * t520 + 0.3e1 * t3480 - 0.12e2 * t3485, -0.24e2 * t2249 * t3489 - 0.6e1 * t2254 * t3492 - 0.6e1 * t2254 * t3503 - 0.2e1 * t2266 * t3506 + 0.6e1 * t530 * t3495 + 0.6e1 * t530 * t3499 + t537 * t3518 ); + const double t3527 = t1318 * t585; + const double t3530 = t34 * t513 * t44; + const double t3533 = t2303 * t556; + const double t3534 = t2306 * rho_a; + const double t3535 = 0.1e1 / t3534; + const double t3537 = t3533 * t3535 * t2310; + const double t3539 = -0.2e1 / 0.9e1 * t3530 + t3469 / 0.36e2 - t3537 / 0.216e3; + const double t3540 = t52 * t3539; + const double t3542 = t1320 * t585; + const double t3544 = t51 * t3539; + const double t3546 = t1322 * t585; + const double t3548 = t50 * t3539; + const double t3553 = 0.9009e4 / 0.8e1 * t3527 + 0.3003e4 / 0.16e2 * t3540 - 0.3465e4 / 0.4e1 * t3542 - 0.3465e4 / 0.16e2 * t3544 + 0.945e3 / 0.8e1 * t3546 + 0.945e3 / 0.16e2 * t3548 + 0.35e2 / 0.72e2 * t3530 - 0.35e2 / 0.576e3 * t3469 + 0.35e2 / 0.3456e4 * t3537; + const double t3558 = t1266 * t585; + const double t3560 = t102 * t3539; + const double t3562 = t1268 * t585; + const double t3564 = t104 * t3539; + const double t3566 = t585 * t1263; + const double t3568 = t49 * t3539; + const double t3570 = 0.3465e4 / 0.8e1 * t3558 + 0.693e3 / 0.8e1 * t3560 - 0.945e3 / 0.4e1 * t3562 - 0.315e3 / 0.4e1 * t3564 + 0.105e3 / 0.8e1 * t3566 + 0.105e3 / 0.8e1 * t3568; + const double t3578 = 0.15e2 * t3546 + 0.15e2 / 0.2e1 * t3548 + t3530 / 0.3e1 - t3469 / 0.24e2 + t3537 / 0.144e3; + const double t3583 = t732 * t1249; + const double t3585 = t193 * t3521; + const double t3587 = t1275 * t547; + const double t3589 = t118 * t3521; + const double t3591 = t1277 * t547; + const double t3593 = t108 * t3521; + const double t3595 = t1279 * t547; + const double t3597 = t89 * t3521; + const double t3600 = 0.9009e4 / 0.8e1 * t3587 + 0.3003e4 / 0.16e2 * t3589 - 0.3465e4 / 0.4e1 * t3591 - 0.3465e4 / 0.16e2 * t3593 + 0.945e3 / 0.8e1 * t3595 + 0.945e3 / 0.16e2 * t3597 - 0.35e2 / 0.16e2 * t3521; + const double t3607 = -0.43407361186631944443e-2 * t3469 - 0.4373652639371875e-2 * t3521 - 0.1350932724e0 * t1322 * t601 - 0.1350932724e0 * t635 * t1279 - 0.338128188e-7 * t3553 * t128 - 0.338128188e-7 * t1272 * t580 + 0.694482484e-8 * t3570 * t122 - 0.216860568e-7 * t3578 * t122 - 0.216860568e-7 * t1424 * t603 - 0.182177954e-1 * t3583 - 0.182177954e-1 * t3585 - 0.223014657e-8 * t201 * t3600 + 0.674910119e-8 * t1424 * t574 + 0.674910119e-8 * t732 * t1293; + const double t3613 = 0.15e2 * t3595 + 0.15e2 / 0.2e1 * t3597 - 0.3e1 / 0.2e1 * t3521; + const double t3616 = t3539 * t133; + const double t3618 = t1263 * t612; + const double t3620 = t585 * t1331; + const double t3622 = t1290 * t547; + const double t3624 = t90 * t3521; + const double t3626 = t547 * t1249; + const double t3628 = t88 * t3521; + const double t3630 = 0.105e3 / 0.2e1 * t3622 + 0.35e2 / 0.2e1 * t3624 - 0.15e2 / 0.2e1 * t3626 - 0.15e2 / 0.2e1 * t3628; + const double t3642 = 0.315e3 / 0.2e1 * t3542 + 0.315e3 / 0.8e1 * t3544 - 0.105e3 / 0.2e1 * t3546 - 0.105e3 / 0.4e1 * t3548 - 0.5e1 / 0.12e2 * t3530 + 0.5e1 / 0.96e2 * t3469 - 0.5e1 / 0.576e3 * t3537; + const double t3649 = t3642 * t88; + const double t3651 = t1365 * t547; + const double t3657 = t111 * t3521; + const double t3659 = 0.674910119e-8 * t193 * t3600 + 0.293253041e-2 * t201 * t3613 + 0.119130546e-2 * t3616 + 0.119130546e-2 * t3618 + 0.119130546e-2 * t3620 + 0.119130546e-2 * t49 * t3630 + 0.162238741e-6 * t1365 * t612 - 0.188495102e-1 * t3642 * t97 + 0.162238741e-6 * t672 * t1331 + 0.162238741e-6 * t107 * t3630 - 0.884148272e-2 * t3649 - 0.884148272e-2 * t3651 + 0.162238741e-6 * t3642 * t133 + 0.912223751e-8 * t702 * t1281 - 0.48005288013375e-3 * t3657; + const double t3664 = t1288 * t547; + const double t3671 = 0.3465e4 / 0.8e1 * t3664 + 0.693e3 / 0.8e1 * t3657 - 0.945e3 / 0.4e1 * t3622 - 0.315e3 / 0.4e1 * t3624 + 0.105e3 / 0.8e1 * t3626 + 0.105e3 / 0.8e1 * t3628; + const double t3678 = 0.105e3 / 0.2e1 * t3562 + 0.35e2 / 0.2e1 * t3564 - 0.15e2 / 0.2e1 * t3566 - 0.15e2 / 0.2e1 * t3568; + const double t3683 = t672 * t1249; + const double t3685 = t107 * t3521; + const double t3698 = 0.120828626792125e-1 * t3624 + 0.1406365375513125e-1 * t3626 + 0.1406365375513125e-1 * t3628 + 0.912223751e-8 * t225 * t3671 + 0.912223751e-8 * t3678 * t122 + 0.209603871e-7 * t1394 * t580 - 0.884148272e-2 * t3683 - 0.884148272e-2 * t3685 + 0.209603871e-7 * t3678 * t128 + 0.912223751e-8 * t1394 * t603 + 0.674910119e-8 * t3578 * t115 - 0.493824365e-8 * t702 * t1293 + 0.138149743606875e-3 * t3589 - 0.4729415517815625e-2 * t3593 + 0.13938308465540625e-1 * t3597; + const double t3705 = t1394 * t547; + const double t3707 = t702 * t1249; + const double t3709 = t225 * t3521; + const double t3711 = t637 * t1249; + const double t3713 = t56 * t3521; + const double t3717 = t3570 * t88; + const double t3723 = t147 * t3521; + const double t3729 = -0.493824365e-8 * t225 * t3600 - 0.493824365e-8 * t3678 * t115 - 0.493824365e-8 * t1394 * t574 + 0.162638575e-1 * t3705 + 0.162638575e-1 * t3707 + 0.162638575e-1 * t3709 - 0.957417512e-2 * t3711 - 0.957417512e-2 * t3713 + 0.169805915e-6 * t3570 * t97 - 0.957417512e-2 * t3717 - 0.265114646e-7 * t637 * t1300 - 0.265114646e-7 * t56 * t3613 + 0.940675747e-2 * t3723 - 0.691592964e-8 * t3570 * t115 - 0.691592964e-8 * t1324 * t574; + const double t3760 = -0.691592964e-8 * t637 * t1293 - 0.691592964e-8 * t56 * t3600 + 0.888525527e-8 * t147 * t3600 - 0.896771404e-2 * t1365 * t619 - 0.896771404e-2 * t672 * t1300 - 0.896771404e-2 * t107 * t3613 + 0.34725888949305555555e-1 * t3530 + 0.72345601977719907405e-3 * t3537 + 0.505920757e-7 * t3553 * t93 + 0.505920757e-7 * t1272 * t619 + 0.505920757e-7 * t594 * t1300 + 0.505920757e-7 * t147 * t3613 - 0.774224962e-8 * t1272 * t603 + 0.554588743e-7 * t3553 * t133 + 0.554588743e-7 * t1272 * t612; + const double t3788 = 0.315e3 / 0.2e1 * t3591 + 0.315e3 / 0.8e1 * t3593 - 0.105e3 / 0.2e1 * t3595 - 0.105e3 / 0.4e1 * t3597 + 0.15e2 / 0.8e1 * t3521; + const double t3797 = -0.774224962e-8 * t594 * t1281 - 0.774224962e-8 * t147 * t3671 - 0.774224962e-8 * t3553 * t122 + 0.631891628e-2 * t1394 * t619 - 0.845508103e-2 * t3578 * t93 - 0.845508103e-2 * t1424 * t619 - 0.845508103e-2 * t732 * t1300 - 0.845508103e-2 * t193 * t3613 + 0.280678872e-1 * t3578 * t97 - 0.182911291e-1 * t3678 * t97 + 0.209603871e-7 * t702 * t1308 + 0.209603871e-7 * t225 * t3788 + 0.631891628e-2 * t702 * t1300 + 0.631891628e-2 * t225 * t3613 + 0.631891628e-2 * t3678 * t93; + const double t3809 = t3539 * t115; + const double t3811 = t1263 * t574; + const double t3813 = t585 * t1293; + const double t3817 = t3539 * t122; + const double t3819 = t1263 * t603; + const double t3821 = t585 * t1281; + const double t3825 = t585 * t1308; + const double t3829 = -0.303347141e-2 * t49 * t3613 - 0.790811707e-7 * t702 * t1331 - 0.790811707e-7 * t225 * t3630 - 0.790811707e-7 * t3678 * t133 - 0.790811707e-7 * t1394 * t612 - 0.940351563e-5 * t3809 - 0.940351563e-5 * t3811 - 0.940351563e-5 * t3813 - 0.940351563e-5 * t49 * t3600 - 0.514204676e-4 * t3817 - 0.514204676e-4 * t3819 - 0.514204676e-4 * t3821 - 0.514204676e-4 * t49 * t3671 + 0.822139896e-3 * t3825 + 0.822139896e-3 * t49 * t3788; + const double t3830 = t3539 * t128; + const double t3832 = t1263 * t580; + const double t3834 = t1263 * t619; + const double t3836 = t585 * t1300; + const double t3843 = t1324 * t547; + const double t3859 = 0.822139896e-3 * t3830 + 0.822139896e-3 * t3832 - 0.303347141e-2 * t3834 - 0.303347141e-2 * t3836 + 0.742180708644375e0 * t3540 + 0.888525527e-8 * t3553 * t115 + 0.888525527e-8 * t1272 * t574 - 0.957417512e-2 * t3843 - 0.416393106e-7 * t3570 * t133 - 0.416393106e-7 * t1324 * t612 - 0.416393106e-7 * t637 * t1331 - 0.416393106e-7 * t56 * t3630 + 0.888525527e-8 * t594 * t1293 - 0.565485306e-1 * t1383 * t547 + 0.509417745e-6 * t1347 * t547; + const double t3891 = -0.130393038e0 * t635 * t1249 + 0.548718171e-2 * t635 * t1331 + 0.2006940657e-7 * t635 * t1281 - 0.105312309e-2 * t635 * t1308 + 0.879759123e-2 * t635 * t1300 - 0.2637272316e-1 * t1495 * t547 + 0.842036616e-1 * t1444 * t547 - 0.669043971e-8 * t635 * t1293 - 0.565485306e-1 * t710 * t1249 - 0.565485306e-1 * t712 * t1249 - 0.565485306e-1 * t140 * t3521 + 0.509417745e-6 * t657 * t1249 + 0.509417745e-6 * t679 * t1249 + 0.509417745e-6 * t100 * t3521; + const double t3922 = 0.548718171e-2 * t3566 * t133 + 0.548718171e-2 * t3568 * t133 + 0.548718171e-2 * t1322 * t612 + 0.879759123e-2 * t3566 * t93 + 0.879759123e-2 * t3568 * t93 + 0.879759123e-2 * t1322 * t619 - 0.450310908e-1 * t3566 * t97 - 0.450310908e-1 * t3568 * t97 - 0.450310908e-1 * t789 * t1249 - 0.450310908e-1 * t214 * t3521 + 0.842036616e-1 * t769 * t1249 + 0.842036616e-1 * t751 * t1249 + 0.842036616e-1 * t198 * t3521 - 0.2637272316e-1 * t166 * t3521 - 0.130393038e0 * t3566 * t88; + const double t3954 = -0.130393038e0 * t3568 * t88 - 0.130393038e0 * t1322 * t547 - 0.669043971e-8 * t3566 * t115 - 0.669043971e-8 * t3568 * t115 - 0.669043971e-8 * t1322 * t574 + 0.2006940657e-7 * t3566 * t122 + 0.2006940657e-7 * t3568 * t122 + 0.2006940657e-7 * t1322 * t603 - 0.105312309e-2 * t3566 * t128 - 0.105312309e-2 * t3568 * t128 - 0.105312309e-2 * t1322 * t580 - 0.82957404e-6 * t627 * t1249 - 0.82957404e-6 * t629 * t1249 - 0.82957404e-6 * t173 * t3521 - 0.548733873e-1 * t743 * t1249; + const double t3976 = -0.548733873e-1 * t745 * t1249 - 0.548733873e-1 * t238 * t3521 - 0.82957404e-6 * t1313 * t547 + 0.240073981599375e1 * t3558 + 0.362485880376375e-1 * t3622 - 0.548733873e-1 * t1414 * t547 - 0.2637272316e-1 * t795 * t1249 - 0.2637272316e-1 * t797 * t1249 + 0.445308425186625e1 * t3527 + 0.82889846164125e-3 * t3587 - 0.189176620712625e-1 * t3591 + 0.2787661693108125e-1 * t3595 - 0.240026440066875e-2 * t3664 - 0.16566742077375e1 * t3562 - 0.79012239917625e1 * t3542; + const double t3984 = t3553 * t88; + const double t3999 = t3678 * t88; + const double t4003 = 0.298766783045625e1 * t3546 + 0.554588743e-7 * t594 * t1331 + 0.554588743e-7 * t147 * t3630 + 0.940675747e-2 * t3984 - 0.1975305997940625e1 * t3544 + 0.1493833915228125e1 * t3548 - 0.138472194e-7 * t3642 * t122 - 0.138472194e-7 * t1365 * t603 + 0.896739466e-3 * t3578 * t128 + 0.896739466e-3 * t1424 * t580 - 0.5522247359125e0 * t3564 - 0.18458962865625e0 * t3566 - 0.18458962865625e0 * t3568 + 0.162638575e-1 * t3999 - 0.376702959e-7 * t672 * t1308; + const double t4010 = t3578 * t88; + const double t4012 = t1424 * t547; + const double t4022 = t1272 * t547; + const double t4024 = t594 * t1249; + const double t4028 = t3539 * t97; + const double t4030 = t3539 * t88; + const double t4032 = t1263 * t547; + const double t4034 = -0.376702959e-7 * t107 * t3788 + 0.850272392e-8 * t3642 * t115 + 0.850272392e-8 * t1365 * t574 - 0.182177954e-1 * t4010 - 0.182177954e-1 * t4012 + 0.896739466e-3 * t732 * t1308 + 0.896739466e-3 * t193 * t3788 + 0.339308972e-2 * t3578 * t133 + 0.339308972e-2 * t1424 * t612 + 0.940675747e-2 * t4022 + 0.940675747e-2 * t4024 - 0.27652468e-6 * t3553 * t97 - 0.879090772e-2 * t4028 + 0.100339208e0 * t4030 + 0.100339208e0 * t4032; + const double t4036 = t585 * t1249; + const double t4038 = t49 * t3521; + const double t4066 = 0.100339208e0 * t4036 + 0.100339208e0 * t4038 + 0.850272392e-8 * t672 * t1293 + 0.850272392e-8 * t107 * t3600 - 0.138472194e-7 * t672 * t1281 - 0.138472194e-7 * t107 * t3671 - 0.896771404e-2 * t3642 * t93 + 0.694482484e-8 * t1324 * t603 + 0.694482484e-8 * t637 * t1281 + 0.694482484e-8 * t56 * t3671 + 0.339308972e-2 * t732 * t1331 + 0.339308972e-2 * t193 * t3630 - 0.216860568e-7 * t732 * t1281 - 0.216860568e-7 * t193 * t3671 - 0.338128188e-7 * t594 * t1308; + const double t4069 = t201 * t3521; + const double t4085 = t3539 * t93; + const double t4096 = -0.338128188e-7 * t147 * t3788 - 0.43464346e-1 * t4069 + 0.182906057e-2 * t201 * t3630 + 0.668980219e-8 * t201 * t3671 - 0.35104103e-3 * t201 * t3788 - 0.376702959e-7 * t3642 * t128 - 0.376702959e-7 * t1365 * t580 - 0.265114646e-7 * t1324 * t619 + 0.236391411e-7 * t3570 * t128 - 0.303347141e-2 * t4085 + 0.236391411e-7 * t1324 * t580 + 0.236391411e-7 * t637 * t1308 + 0.236391411e-7 * t56 * t3788 + 0.48014796319875e0 * t3560 - 0.265114646e-7 * t3570 * t93; + const double t4100 = t3607 + t3659 + t3698 + t3729 + t3760 + t3797 + t3829 + t3859 + t3891 + t3922 + t3954 + t3976 + t4003 + t4034 + t4066 + t4096; + const double t4105 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t1539 - t3466 - 0.3e1 / 0.8e1 * t6 * t28 * t4100 ); + const double t4112 = t6 * t861 * t1854 / 0.8e1; + const double t4127 = t34 * t893; + const double t4128 = 0.5e1 / 0.27e2 * t4127; + const double t4129 = piecewise_functor_3( t301, t4128, 0.0 ); + const double t4134 = t309 * t4129; + const double t4136 = t2924 * t1546; + const double t4139 = t906 * t4129; + const double t4142 = t313 * t1554; + const double t4143 = t4142 * t911; + const double t4146 = t1555 * t924; + const double t4149 = t911 * t1554; + const double t4152 = piecewise_functor_3( t301, 0.0, t4128 ); + const double t4153 = t312 * t4152; + const double t4156 = t1561 * t312; + const double t4157 = t4156 * t911; + const double t4160 = t1561 * t924; + const double t4165 = t920 * t911; + const double t4172 = 0.24e2 * t4165 * t1554 + 0.6e1 * t2951 * t4149 + 0.3e1 * t918 * t4152 + 0.3e1 * t921 * t4152; + const double t4175 = piecewise_functor_3( t300, -0.18e2 * t1549 * t900 - 0.12e2 * t1551 * t900 + 0.6e1 * t307 * t4129 + 0.6e2 * t4136 * t900 + 0.3e1 * t4134 - 0.12e2 * t4139, -0.24e2 * t2930 * t4143 - 0.6e1 * t2935 * t4146 - 0.6e1 * t2935 * t4157 - 0.2e1 * t2947 * t4160 + 0.6e1 * t910 * t4149 + 0.6e1 * t910 * t4153 + t917 * t4172 ); + const double t4181 = t936 * t939; + const double t4183 = t555 * t4181 * sigma_bb; + const double t4186 = t34 * t893 * t277; + const double t4188 = t2303 * t932; + const double t4189 = t2970 * rho_b; + const double t4190 = 0.1e1 / t4189; + const double t4192 = t4188 * t4190 * t2974; + const double t4194 = t1620 * t945; + const double t4199 = -0.2e1 / 0.9e1 * t4186 + t4183 / 0.36e2 - t4192 / 0.216e3; + const double t4200 = t284 * t4199; + const double t4202 = t1622 * t945; + const double t4204 = t282 * t4199; + const double t4209 = 0.315e3 / 0.2e1 * t4194 + 0.315e3 / 0.8e1 * t4200 - 0.105e3 / 0.2e1 * t4202 - 0.105e3 / 0.4e1 * t4204 - 0.5e1 / 0.12e2 * t4186 + 0.5e1 / 0.96e2 * t4183 - 0.5e1 / 0.576e3 * t4192; + const double t4217 = 0.15e2 * t4202 + 0.15e2 / 0.2e1 * t4204 + t4186 / 0.3e1 - t4183 / 0.24e2 + t4192 / 0.144e3; + const double t4222 = t1591 * t927; + const double t4224 = t326 * t4175; + const double t4226 = t1593 * t927; + const double t4228 = t324 * t4175; + const double t4231 = 0.315e3 / 0.2e1 * t4222 + 0.315e3 / 0.8e1 * t4224 - 0.105e3 / 0.2e1 * t4226 - 0.105e3 / 0.4e1 * t4228 + 0.15e2 / 0.8e1 * t4175; + const double t4234 = t945 * t1602; + const double t4236 = t945 * t1595; + const double t4238 = t1583 * t927; + const double t4240 = t325 * t4175; + const double t4242 = t927 * t1564; + const double t4244 = t323 * t4175; + const double t4246 = 0.105e3 / 0.2e1 * t4238 + 0.35e2 / 0.2e1 * t4240 - 0.15e2 / 0.2e1 * t4242 - 0.15e2 / 0.2e1 * t4244; + const double t4249 = t1628 * t927; + const double t4251 = t336 * t4175; + const double t4258 = 0.9009e4 / 0.8e1 * t4249 + 0.3003e4 / 0.16e2 * t4251 - 0.3465e4 / 0.4e1 * t4222 - 0.3465e4 / 0.16e2 * t4224 + 0.945e3 / 0.8e1 * t4226 + 0.945e3 / 0.16e2 * t4228 - 0.35e2 / 0.16e2 * t4175; + const double t4261 = -0.4373652639371875e-2 * t4175 - 0.1350932724e0 * t1004 * t1593 - 0.1350932724e0 * t1622 * t981 - 0.43407361186631944443e-2 * t4183 + 0.34725888949305555555e-1 * t4186 + 0.72345601977719907405e-3 * t4192 + 0.162238741e-6 * t4209 * t356 + 0.280678872e-1 * t4217 * t365 + 0.896739466e-3 * t4217 * t351 - 0.376702959e-7 * t402 * t4231 - 0.303347141e-2 * t4234 + 0.119130546e-2 * t4236 + 0.119130546e-2 * t281 * t4246 - 0.223014657e-8 * t455 * t4258; + const double t4262 = t4217 * t323; + const double t4264 = t1674 * t927; + const double t4266 = t1101 * t1564; + const double t4268 = t438 * t4175; + const double t4272 = t1611 * t945; + const double t4274 = t287 * t4199; + const double t4276 = t1613 * t945; + const double t4278 = t283 * t4199; + const double t4280 = t945 * t1578; + const double t4282 = t281 * t4199; + const double t4284 = 0.3465e4 / 0.8e1 * t4272 + 0.693e3 / 0.8e1 * t4274 - 0.945e3 / 0.4e1 * t4276 - 0.315e3 / 0.4e1 * t4278 + 0.105e3 / 0.8e1 * t4280 + 0.105e3 / 0.8e1 * t4282; + const double t4299 = t945 * t1632; + const double t4301 = t1581 * t927; + const double t4303 = t329 * t4175; + const double t4309 = 0.3465e4 / 0.8e1 * t4301 + 0.693e3 / 0.8e1 * t4303 - 0.945e3 / 0.4e1 * t4238 - 0.315e3 / 0.4e1 * t4240 + 0.105e3 / 0.8e1 * t4242 + 0.105e3 / 0.8e1 * t4244; + const double t4312 = -0.182177954e-1 * t4262 - 0.182177954e-1 * t4264 - 0.182177954e-1 * t4266 - 0.182177954e-1 * t4268 - 0.896771404e-2 * t1035 * t1602 - 0.265114646e-7 * t4284 * t361 - 0.265114646e-7 * t1757 * t997 - 0.774224962e-8 * t1718 * t983 + 0.850272392e-8 * t1035 * t1646 + 0.138149743606875e-3 * t4251 + 0.850272392e-8 * t402 * t4258 + 0.48014796319875e0 * t4274 - 0.265114646e-7 * t1006 * t1602 - 0.514204676e-4 * t4299 - 0.514204676e-4 * t281 * t4309; + const double t4314 = t4199 * t340; + const double t4316 = t1578 * t983; + const double t4320 = t1753 * t945; + const double t4322 = t345 * t4199; + const double t4331 = 0.9009e4 / 0.8e1 * t4320 + 0.3003e4 / 0.16e2 * t4322 - 0.3465e4 / 0.4e1 * t4194 - 0.3465e4 / 0.16e2 * t4200 + 0.945e3 / 0.8e1 * t4202 + 0.945e3 / 0.16e2 * t4204 + 0.35e2 / 0.72e2 * t4186 - 0.35e2 / 0.576e3 * t4183 + 0.35e2 / 0.3456e4 * t4192; + const double t4349 = 0.105e3 / 0.2e1 * t4276 + 0.35e2 / 0.2e1 * t4278 - 0.15e2 / 0.2e1 * t4280 - 0.15e2 / 0.2e1 * t4282; + const double t4350 = t4349 * t323; + const double t4352 = t1624 * t927; + const double t4354 = -0.514204676e-4 * t4314 - 0.514204676e-4 * t4316 + 0.554588743e-7 * t291 * t4246 + 0.554588743e-7 * t4331 * t356 - 0.48005288013375e-3 * t4303 + 0.120828626792125e-1 * t4240 + 0.1406365375513125e-1 * t4242 + 0.1406365375513125e-1 * t4244 + 0.668980219e-8 * t455 * t4309 + 0.182906057e-2 * t455 * t4246 - 0.5522247359125e0 * t4278 - 0.18458962865625e0 * t4280 - 0.18458962865625e0 * t4282 + 0.162638575e-1 * t4350 + 0.162638575e-1 * t4352; + const double t4372 = 0.15e2 * t4226 + 0.15e2 / 0.2e1 * t4228 - 0.3e1 / 0.2e1 * t4175; + const double t4379 = t4331 * t323; + const double t4389 = 0.339308972e-2 * t4217 * t356 - 0.216860568e-7 * t4217 * t340 - 0.216860568e-7 * t1674 * t983 - 0.216860568e-7 * t1101 * t1632 - 0.216860568e-7 * t438 * t4309 + 0.912223751e-8 * t1071 * t1632 + 0.912223751e-8 * t421 * t4309 - 0.265114646e-7 * t373 * t4372 + 0.554588743e-7 * t1718 * t990 + 0.554588743e-7 * t954 * t1595 + 0.940675747e-2 * t4379 + 0.169805915e-6 * t4284 * t365 - 0.416393106e-7 * t4284 * t356 - 0.416393106e-7 * t1757 * t990 + 0.631891628e-2 * t1071 * t1602; + const double t4422 = 0.631891628e-2 * t421 * t4372 + 0.631891628e-2 * t4349 * t361 + 0.209603871e-7 * t1624 * t972 + 0.209603871e-7 * t1071 * t1586 + 0.209603871e-7 * t421 * t4231 - 0.790811707e-7 * t4349 * t356 - 0.790811707e-7 * t1624 * t990 - 0.138472194e-7 * t1035 * t1632 + 0.162238741e-6 * t1617 * t990 + 0.162238741e-6 * t1035 * t1595 + 0.162238741e-6 * t402 * t4246 + 0.236391411e-7 * t4284 * t351 + 0.236391411e-7 * t1757 * t972 + 0.236391411e-7 * t1006 * t1586 + 0.236391411e-7 * t373 * t4231; + const double t4452 = -0.691592964e-8 * t4284 * t333 - 0.691592964e-8 * t1757 * t964 - 0.691592964e-8 * t1006 * t1646 - 0.691592964e-8 * t373 * t4258 + 0.631891628e-2 * t1624 * t997 + 0.2787661693108125e-1 * t4226 + 0.674910119e-8 * t4217 * t333 + 0.674910119e-8 * t1674 * t964 - 0.138472194e-7 * t402 * t4309 - 0.138472194e-7 * t4209 * t340 - 0.138472194e-7 * t1617 * t983 + 0.505920757e-7 * t291 * t4372 + 0.505920757e-7 * t4331 * t361 + 0.505920757e-7 * t1718 * t997 - 0.493824365e-8 * t421 * t4258; + const double t4484 = -0.845508103e-2 * t4217 * t361 - 0.845508103e-2 * t1674 * t997 - 0.896771404e-2 * t4209 * t361 - 0.896771404e-2 * t1617 * t997 - 0.565485306e-1 * t1065 * t1564 - 0.565485306e-1 * t1067 * t1564 - 0.565485306e-1 * t417 * t4175 + 0.509417745e-6 * t1061 * t1564 + 0.509417745e-6 * t1063 * t1564 + 0.509417745e-6 * t397 * t4175 - 0.105312309e-2 * t4280 * t351 - 0.105312309e-2 * t4282 * t351 - 0.105312309e-2 * t1622 * t972 + 0.548718171e-2 * t4280 * t356 + 0.548718171e-2 * t4282 * t356; + const double t4515 = 0.548718171e-2 * t1622 * t990 + 0.879759123e-2 * t4280 * t361 + 0.879759123e-2 * t4282 * t361 + 0.879759123e-2 * t1622 * t997 - 0.450310908e-1 * t4280 * t365 - 0.450310908e-1 * t4282 * t365 + 0.842036616e-1 * t1142 * t1564 + 0.842036616e-1 * t1144 * t1564 + 0.842036616e-1 * t452 * t4175 - 0.565485306e-1 * t1635 * t927 - 0.450310908e-1 * t1183 * t1564 - 0.450310908e-1 * t468 * t4175 - 0.130393038e0 * t4280 * t323 - 0.130393038e0 * t4282 * t323 - 0.130393038e0 * t1622 * t927; + const double t4546 = -0.669043971e-8 * t4280 * t333 - 0.669043971e-8 * t4282 * t333 - 0.669043971e-8 * t1622 * t964 + 0.2006940657e-7 * t4280 * t340 + 0.2006940657e-7 * t4282 * t340 + 0.2006940657e-7 * t1622 * t983 - 0.548733873e-1 * t1683 * t927 - 0.548733873e-1 * t1113 * t1564 - 0.548733873e-1 * t1115 * t1564 - 0.548733873e-1 * t434 * t4175 - 0.338128188e-7 * t954 * t1586 - 0.338128188e-7 * t4331 * t351 + 0.505920757e-7 * t954 * t1602 + 0.13938308465540625e-1 * t4228; + const double t4553 = t4199 * t356; + const double t4555 = t1578 * t990; + const double t4566 = t4209 * t323; + const double t4568 = t1617 * t927; + const double t4570 = t1035 * t1564; + const double t4572 = t402 * t4175; + const double t4574 = -0.896771404e-2 * t402 * t4372 - 0.1975305997940625e1 * t4200 + 0.1493833915228125e1 * t4204 - 0.188495102e-1 * t4209 * t365 + 0.119130546e-2 * t4553 + 0.119130546e-2 * t4555 + 0.339308972e-2 * t1674 * t990 + 0.339308972e-2 * t1101 * t1595 + 0.339308972e-2 * t438 * t4246 + 0.742180708644375e0 * t4322 + 0.888525527e-8 * t4331 * t333 - 0.884148272e-2 * t4566 - 0.884148272e-2 * t4568 - 0.884148272e-2 * t4570 - 0.884148272e-2 * t4572; + const double t4586 = t1718 * t927; + const double t4588 = t954 * t1564; + const double t4590 = t291 * t4175; + const double t4602 = t945 * t1646; + const double t4606 = -0.493824365e-8 * t4349 * t333 + 0.888525527e-8 * t1718 * t964 - 0.774224962e-8 * t954 * t1632 - 0.774224962e-8 * t291 * t4309 - 0.774224962e-8 * t4331 * t340 + 0.940675747e-2 * t4586 + 0.940675747e-2 * t4588 + 0.940675747e-2 * t4590 - 0.27652468e-6 * t4331 * t365 - 0.416393106e-7 * t1006 * t1595 - 0.416393106e-7 * t373 * t4246 - 0.182911291e-1 * t4349 * t365 + 0.209603871e-7 * t4349 * t351 - 0.940351563e-5 * t4602 - 0.940351563e-5 * t281 * t4258; + const double t4607 = t455 * t4175; + const double t4609 = t4199 * t333; + const double t4611 = t1578 * t964; + const double t4625 = t4199 * t361; + const double t4627 = t1578 * t997; + const double t4637 = -0.43464346e-1 * t4607 - 0.940351563e-5 * t4609 - 0.940351563e-5 * t4611 - 0.493824365e-8 * t1624 * t964 - 0.493824365e-8 * t1071 * t1646 + 0.912223751e-8 * t4349 * t340 + 0.912223751e-8 * t1624 * t983 + 0.293253041e-2 * t455 * t4372 - 0.35104103e-3 * t455 * t4231 - 0.303347141e-2 * t4625 - 0.303347141e-2 * t4627 + 0.879759123e-2 * t1004 * t1602 - 0.82957404e-6 * t1015 * t1564 - 0.82957404e-6 * t1017 * t1564 - 0.82957404e-6 * t368 * t4175; + const double t4652 = t4284 * t323; + const double t4654 = t1757 * t927; + const double t4656 = t1006 * t1564; + const double t4658 = t945 * t1586; + const double t4663 = t4199 * t351; + const double t4665 = t1578 * t972; + const double t4667 = t4199 * t365; + const double t4669 = 0.694482484e-8 * t4284 * t340 + 0.694482484e-8 * t1757 * t983 + 0.694482484e-8 * t1006 * t1632 + 0.694482484e-8 * t373 * t4309 + 0.850272392e-8 * t4209 * t333 + 0.850272392e-8 * t1617 * t964 - 0.957417512e-2 * t4652 - 0.957417512e-2 * t4654 - 0.957417512e-2 * t4656 + 0.822139896e-3 * t4658 - 0.4729415517815625e-2 * t4224 + 0.822139896e-3 * t281 * t4231 + 0.822139896e-3 * t4663 + 0.822139896e-3 * t4665 - 0.879090772e-2 * t4667; + const double t4670 = t4199 * t323; + const double t4672 = t1578 * t927; + const double t4674 = t945 * t1564; + const double t4676 = t281 * t4175; + const double t4680 = t373 * t4175; + const double t4690 = t1071 * t1564; + const double t4692 = t421 * t4175; + const double t4700 = 0.100339208e0 * t4670 + 0.100339208e0 * t4672 + 0.100339208e0 * t4674 + 0.100339208e0 * t4676 - 0.303347141e-2 * t281 * t4372 - 0.957417512e-2 * t4680 - 0.790811707e-7 * t1071 * t1595 - 0.790811707e-7 * t421 * t4246 + 0.674910119e-8 * t1101 * t1646 + 0.674910119e-8 * t438 * t4258 + 0.162638575e-1 * t4690 + 0.162638575e-1 * t4692 - 0.82957404e-6 * t1747 * t927 - 0.2637272316e-1 * t1188 * t1564 - 0.2637272316e-1 * t1156 * t1564; + const double t4731 = -0.2637272316e-1 * t482 * t4175 - 0.2637272316e-1 * t1607 * t927 - 0.376702959e-7 * t4209 * t351 - 0.376702959e-7 * t1617 * t972 - 0.376702959e-7 * t1035 * t1586 - 0.338128188e-7 * t291 * t4231 - 0.338128188e-7 * t1718 * t972 - 0.845508103e-2 * t1101 * t1602 - 0.845508103e-2 * t438 * t4372 + 0.896739466e-3 * t1674 * t972 + 0.896739466e-3 * t1101 * t1586 + 0.896739466e-3 * t438 * t4231 + 0.888525527e-8 * t954 * t1646 + 0.888525527e-8 * t291 * t4258 - 0.79012239917625e1 * t4194; + const double t4754 = 0.298766783045625e1 * t4202 - 0.189176620712625e-1 * t4222 + 0.509417745e-6 * t1773 * t927 + 0.240073981599375e1 * t4272 - 0.16566742077375e1 * t4276 - 0.240026440066875e-2 * t4301 + 0.362485880376375e-1 * t4238 - 0.130393038e0 * t1004 * t1564 + 0.82889846164125e-3 * t4249 - 0.105312309e-2 * t1004 * t1586 + 0.548718171e-2 * t1004 * t1595 + 0.2006940657e-7 * t1004 * t1632 + 0.445308425186625e1 * t4320 - 0.669043971e-8 * t1004 * t1646 + 0.842036616e-1 * t1697 * t927; + const double t4758 = t4261 + t4312 + t4354 + t4389 + t4422 + t4452 + t4484 + t4515 + t4546 + t4574 + t4606 + t4637 + t4669 + t4700 + t4731 + t4754; + const double t4763 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t885 * t1854 - t4112 - 0.3e1 / 0.8e1 * t6 * t267 * t4758 ); + const double t4770 = t6 * t505 * t2017 / 0.8e1; + const double t4773 = 0.25e2 / 0.27e2 * t1229; + const double t4774 = piecewise_functor_3( t66, -t4773, 0.0 ); + const double t4779 = t74 * t4774; + const double t4781 = t2243 * t1862; + const double t4784 = t526 * t4774; + const double t4787 = t78 * t1870; + const double t4791 = t1871 * t544; + const double t4794 = t531 * t1870; + const double t4797 = piecewise_functor_3( t66, 0.0, -t4773 ); + const double t4798 = t77 * t4797; + const double t4801 = t1877 * t77; + const double t4805 = t1877 * t544; + const double t4816 = 0.24e2 * t3511 * t1870 + 0.6e1 * t2270 * t4794 + 0.3e1 * t538 * t4797 + 0.3e1 * t541 * t4797; + const double t4819 = piecewise_functor_3( t65, -0.18e2 * t1865 * t520 - 0.12e2 * t1867 * t520 + 0.6e1 * t72 * t4774 + 0.6e2 * t4781 * t520 + 0.3e1 * t4779 - 0.12e2 * t4784, -0.24e2 * t2249 * t4787 * t531 - 0.6e1 * t2254 * t4801 * t531 - 0.6e1 * t2254 * t4791 - 0.2e1 * t2266 * t4805 + 0.6e1 * t530 * t4794 + 0.6e1 * t530 * t4798 + t537 * t4816 ); + const double t4823 = t1882 * t547; + const double t4825 = t108 * t4819; + const double t4827 = t1884 * t547; + const double t4829 = t89 * t4819; + const double t4832 = 0.315e3 / 0.2e1 * t4823 + 0.315e3 / 0.8e1 * t4825 - 0.105e3 / 0.2e1 * t4827 - 0.105e3 / 0.4e1 * t4829 + 0.15e2 / 0.8e1 * t4819; + const double t4837 = t111 * t4819; + const double t4839 = t90 * t4819; + const double t4841 = t547 * t1880; + const double t4843 = t88 * t4819; + const double t4845 = t1895 * t547; + const double t4848 = t1889 * t547; + const double t4853 = 0.3465e4 / 0.8e1 * t4845 + 0.693e3 / 0.8e1 * t4837 - 0.945e3 / 0.4e1 * t4848 - 0.315e3 / 0.4e1 * t4839 + 0.105e3 / 0.8e1 * t4841 + 0.105e3 / 0.8e1 * t4843; + const double t4861 = 0.15e2 * t4827 + 0.15e2 / 0.2e1 * t4829 - 0.3e1 / 0.2e1 * t4819; + const double t4870 = 0.105e3 / 0.2e1 * t4848 + 0.35e2 / 0.2e1 * t4839 - 0.15e2 / 0.2e1 * t4841 - 0.15e2 / 0.2e1 * t4843; + const double t4875 = -0.4373652639371875e-2 * t4819 + 0.209603871e-7 * t702 * t1899 + 0.209603871e-7 * t225 * t4832 + 0.912223751e-8 * t702 * t1914 - 0.48005288013375e-3 * t4837 + 0.120828626792125e-1 * t4839 + 0.1406365375513125e-1 * t4841 + 0.1406365375513125e-1 * t4843 + 0.912223751e-8 * t225 * t4853 + 0.631891628e-2 * t702 * t1892 + 0.631891628e-2 * t225 * t4861 - 0.790811707e-7 * t702 * t1886 - 0.790811707e-7 * t225 * t4870 + 0.339308972e-2 * t732 * t1886; + const double t4878 = t1910 * t547; + const double t4880 = t118 * t4819; + const double t4887 = 0.9009e4 / 0.8e1 * t4878 + 0.3003e4 / 0.16e2 * t4880 - 0.3465e4 / 0.4e1 * t4823 - 0.3465e4 / 0.16e2 * t4825 + 0.945e3 / 0.8e1 * t4827 + 0.945e3 / 0.16e2 * t4829 - 0.35e2 / 0.16e2 * t4819; + const double t4890 = t732 * t1880; + const double t4892 = t193 * t4819; + const double t4904 = t637 * t1880; + const double t4906 = t56 * t4819; + const double t4916 = 0.339308972e-2 * t193 * t4870 - 0.223014657e-8 * t201 * t4887 - 0.182177954e-1 * t4890 - 0.182177954e-1 * t4892 - 0.35104103e-3 * t201 * t4832 + 0.668980219e-8 * t201 * t4853 + 0.293253041e-2 * t201 * t4861 + 0.182906057e-2 * t201 * t4870 + 0.850272392e-8 * t107 * t4887 - 0.957417512e-2 * t4904 - 0.957417512e-2 * t4906 - 0.265114646e-7 * t637 * t1892 - 0.265114646e-7 * t56 * t4861 - 0.138472194e-7 * t672 * t1914 + 0.554588743e-7 * t594 * t1886; + const double t4922 = t702 * t1880; + const double t4924 = t225 * t4819; + const double t4948 = 0.554588743e-7 * t147 * t4870 + 0.236391411e-7 * t637 * t1899 + 0.162638575e-1 * t4922 + 0.162638575e-1 * t4924 + 0.674910119e-8 * t732 * t1907 + 0.674910119e-8 * t193 * t4887 - 0.216860568e-7 * t732 * t1914 - 0.216860568e-7 * t193 * t4853 + 0.896739466e-3 * t732 * t1899 + 0.896739466e-3 * t193 * t4832 - 0.845508103e-2 * t732 * t1892 - 0.845508103e-2 * t193 * t4861 - 0.138472194e-7 * t107 * t4853 - 0.376702959e-7 * t672 * t1899 - 0.376702959e-7 * t107 * t4832; + const double t4959 = t201 * t4819; + const double t4961 = t585 * t1907; + const double t4967 = t594 * t1880; + const double t4969 = t147 * t4819; + const double t4979 = -0.896771404e-2 * t672 * t1892 - 0.896771404e-2 * t107 * t4861 + 0.162238741e-6 * t672 * t1886 + 0.162238741e-6 * t107 * t4870 - 0.940351563e-5 * t49 * t4887 - 0.43464346e-1 * t4959 - 0.940351563e-5 * t4961 - 0.416393106e-7 * t637 * t1886 - 0.416393106e-7 * t56 * t4870 + 0.940675747e-2 * t4967 + 0.940675747e-2 * t4969 - 0.691592964e-8 * t637 * t1907 - 0.691592964e-8 * t56 * t4887 + 0.236391411e-7 * t56 * t4832 - 0.338128188e-7 * t594 * t1899; + const double t5010 = -0.338128188e-7 * t147 * t4832 + 0.505920757e-7 * t594 * t1892 + 0.505920757e-7 * t147 * t4861 + 0.850272392e-8 * t672 * t1907 - 0.82957404e-6 * t627 * t1880 - 0.82957404e-6 * t629 * t1880 - 0.82957404e-6 * t173 * t4819 - 0.2637272316e-1 * t795 * t1880 - 0.2637272316e-1 * t797 * t1880 - 0.2637272316e-1 * t166 * t4819 - 0.450310908e-1 * t789 * t1880 - 0.450310908e-1 * t214 * t4819 + 0.694482484e-8 * t637 * t1914 + 0.694482484e-8 * t56 * t4853; + const double t5011 = t585 * t1914; + const double t5015 = t585 * t1886; + const double t5019 = t585 * t1899; + const double t5023 = t585 * t1880; + const double t5025 = t49 * t4819; + const double t5027 = t585 * t1892; + const double t5037 = -0.514204676e-4 * t5011 - 0.514204676e-4 * t49 * t4853 + 0.119130546e-2 * t5015 + 0.119130546e-2 * t49 * t4870 + 0.822139896e-3 * t5019 + 0.822139896e-3 * t49 * t4832 + 0.100339208e0 * t5023 + 0.100339208e0 * t5025 - 0.303347141e-2 * t5027 - 0.303347141e-2 * t49 * t4861 - 0.1350932724e0 * t635 * t1884 - 0.240026440066875e-2 * t4845 + 0.362485880376375e-1 * t4848 + 0.82889846164125e-3 * t4878 - 0.189176620712625e-1 * t4823; + const double t5045 = t672 * t1880; + const double t5047 = t107 * t4819; + const double t5065 = 0.2787661693108125e-1 * t4827 + 0.138149743606875e-3 * t4880 - 0.4729415517815625e-2 * t4825 + 0.13938308465540625e-1 * t4829 - 0.493824365e-8 * t225 * t4887 - 0.884148272e-2 * t5045 - 0.884148272e-2 * t5047 + 0.548718171e-2 * t635 * t1886 + 0.879759123e-2 * t635 * t1892 + 0.2006940657e-7 * t635 * t1914 - 0.105312309e-2 * t635 * t1899 - 0.669043971e-8 * t635 * t1907 + 0.842036616e-1 * t769 * t1880 + 0.842036616e-1 * t751 * t1880 + 0.842036616e-1 * t198 * t4819; + const double t5096 = -0.548733873e-1 * t743 * t1880 - 0.548733873e-1 * t745 * t1880 - 0.548733873e-1 * t238 * t4819 + 0.509417745e-6 * t657 * t1880 + 0.509417745e-6 * t679 * t1880 + 0.509417745e-6 * t100 * t4819 - 0.565485306e-1 * t710 * t1880 - 0.565485306e-1 * t712 * t1880 - 0.565485306e-1 * t140 * t4819 - 0.130393038e0 * t635 * t1880 - 0.774224962e-8 * t594 * t1914 - 0.774224962e-8 * t147 * t4853 + 0.888525527e-8 * t594 * t1907 + 0.888525527e-8 * t147 * t4887 - 0.493824365e-8 * t702 * t1907; + const double t5099 = t4875 + t4916 + t4948 + t4979 + t5010 + t5037 + t5065 + t5096; + const double t5104 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t2017 - t4770 - 0.3e1 / 0.8e1 * t6 * t28 * t5099 ); + const double t5111 = t6 * t861 * t2180 / 0.8e1; + const double t5126 = 0.25e2 / 0.27e2 * t1544; + const double t5127 = piecewise_functor_3( t301, -t5126, 0.0 ); + const double t5132 = t309 * t5127; + const double t5134 = t2924 * t2025; + const double t5137 = t906 * t5127; + const double t5140 = t313 * t2033; + const double t5144 = t2034 * t924; + const double t5147 = t911 * t2033; + const double t5150 = piecewise_functor_3( t301, 0.0, -t5126 ); + const double t5151 = t312 * t5150; + const double t5154 = t2040 * t312; + const double t5158 = t2040 * t924; + const double t5169 = 0.24e2 * t4165 * t2033 + 0.6e1 * t2951 * t5147 + 0.3e1 * t918 * t5150 + 0.3e1 * t921 * t5150; + const double t5172 = piecewise_functor_3( t300, -0.18e2 * t2028 * t900 - 0.12e2 * t2030 * t900 + 0.6e1 * t307 * t5127 + 0.6e2 * t5134 * t900 + 0.3e1 * t5132 - 0.12e2 * t5137, -0.24e2 * t2930 * t5140 * t911 - 0.6e1 * t2935 * t5154 * t911 - 0.6e1 * t2935 * t5144 - 0.2e1 * t2947 * t5158 + 0.6e1 * t910 * t5147 + 0.6e1 * t910 * t5151 + t917 * t5169 ); + const double t5176 = t2047 * t927; + const double t5178 = t329 * t5172; + const double t5180 = t2049 * t927; + const double t5182 = t325 * t5172; + const double t5184 = t927 * t2043; + const double t5186 = t323 * t5172; + const double t5188 = 0.3465e4 / 0.8e1 * t5176 + 0.693e3 / 0.8e1 * t5178 - 0.945e3 / 0.4e1 * t5180 - 0.315e3 / 0.4e1 * t5182 + 0.105e3 / 0.8e1 * t5184 + 0.105e3 / 0.8e1 * t5186; + const double t5197 = t2060 * t927; + const double t5199 = t326 * t5172; + const double t5201 = t2062 * t927; + const double t5203 = t324 * t5172; + const double t5206 = 0.315e3 / 0.2e1 * t5197 + 0.315e3 / 0.8e1 * t5199 - 0.105e3 / 0.2e1 * t5201 - 0.105e3 / 0.4e1 * t5203 + 0.15e2 / 0.8e1 * t5172; + const double t5215 = 0.105e3 / 0.2e1 * t5180 + 0.35e2 / 0.2e1 * t5182 - 0.15e2 / 0.2e1 * t5184 - 0.15e2 / 0.2e1 * t5186; + const double t5223 = 0.15e2 * t5201 + 0.15e2 / 0.2e1 * t5203 - 0.3e1 / 0.2e1 * t5172; + const double t5232 = -0.4373652639371875e-2 * t5172 - 0.1350932724e0 * t1004 * t2062 + 0.694482484e-8 * t373 * t5188 - 0.216860568e-7 * t438 * t5188 - 0.216860568e-7 * t1101 * t2077 + 0.896739466e-3 * t1101 * t2070 + 0.896739466e-3 * t438 * t5206 + 0.339308972e-2 * t1101 * t2064 + 0.339308972e-2 * t438 * t5215 - 0.845508103e-2 * t1101 * t2057 - 0.845508103e-2 * t438 * t5223 + 0.668980219e-8 * t455 * t5188 + 0.912223751e-8 * t421 * t5188 - 0.338128188e-7 * t954 * t2070; + const double t5243 = t1006 * t2043; + const double t5245 = t373 * t5172; + const double t5249 = t2073 * t927; + const double t5251 = t336 * t5172; + const double t5258 = 0.9009e4 / 0.8e1 * t5249 + 0.3003e4 / 0.16e2 * t5251 - 0.3465e4 / 0.4e1 * t5197 - 0.3465e4 / 0.16e2 * t5199 + 0.945e3 / 0.8e1 * t5201 + 0.945e3 / 0.16e2 * t5203 - 0.35e2 / 0.16e2 * t5172; + const double t5273 = -0.338128188e-7 * t291 * t5206 + 0.554588743e-7 * t954 * t2064 + 0.554588743e-7 * t291 * t5215 - 0.138472194e-7 * t1035 * t2077 - 0.138472194e-7 * t402 * t5188 - 0.957417512e-2 * t5243 - 0.957417512e-2 * t5245 + 0.850272392e-8 * t1035 * t2052 + 0.850272392e-8 * t402 * t5258 + 0.236391411e-7 * t373 * t5206 - 0.376702959e-7 * t1035 * t2070 - 0.376702959e-7 * t402 * t5206 + 0.162238741e-6 * t1035 * t2064 + 0.162238741e-6 * t402 * t5215 - 0.896771404e-2 * t1035 * t2057; + const double t5282 = t945 * t2077; + const double t5286 = t945 * t2064; + const double t5290 = t945 * t2070; + const double t5294 = t945 * t2043; + const double t5296 = t281 * t5172; + const double t5298 = t945 * t2057; + const double t5302 = -0.896771404e-2 * t402 * t5223 + 0.138149743606875e-3 * t5251 - 0.4729415517815625e-2 * t5199 - 0.940351563e-5 * t281 * t5258 - 0.48005288013375e-3 * t5178 - 0.514204676e-4 * t5282 - 0.514204676e-4 * t281 * t5188 + 0.119130546e-2 * t5286 + 0.119130546e-2 * t281 * t5215 + 0.822139896e-3 * t5290 + 0.822139896e-3 * t281 * t5206 + 0.100339208e0 * t5294 + 0.100339208e0 * t5296 - 0.303347141e-2 * t5298 - 0.303347141e-2 * t281 * t5223; + const double t5333 = 0.888525527e-8 * t954 * t2052 + 0.888525527e-8 * t291 * t5258 - 0.774224962e-8 * t954 * t2077 - 0.774224962e-8 * t291 * t5188 - 0.130393038e0 * t1004 * t2043 + 0.548718171e-2 * t1004 * t2064 + 0.2006940657e-7 * t1004 * t2077 + 0.879759123e-2 * t1004 * t2057 - 0.82957404e-6 * t368 * t5172 - 0.2637272316e-1 * t1188 * t2043 - 0.2637272316e-1 * t1156 * t2043 - 0.2637272316e-1 * t482 * t5172 - 0.450310908e-1 * t1183 * t2043 - 0.450310908e-1 * t468 * t5172 + 0.842036616e-1 * t1142 * t2043; + const double t5363 = 0.842036616e-1 * t1144 * t2043 + 0.842036616e-1 * t452 * t5172 - 0.548733873e-1 * t1113 * t2043 - 0.548733873e-1 * t1115 * t2043 - 0.548733873e-1 * t434 * t5172 - 0.565485306e-1 * t1065 * t2043 - 0.565485306e-1 * t1067 * t2043 - 0.565485306e-1 * t417 * t5172 + 0.509417745e-6 * t1061 * t2043 + 0.509417745e-6 * t1063 * t2043 + 0.509417745e-6 * t397 * t5172 - 0.82957404e-6 * t1015 * t2043 - 0.82957404e-6 * t1017 * t2043 + 0.362485880376375e-1 * t5180; + const double t5375 = t455 * t5172; + const double t5377 = t945 * t2052; + const double t5387 = 0.82889846164125e-3 * t5249 - 0.189176620712625e-1 * t5197 - 0.240026440066875e-2 * t5176 + 0.13938308465540625e-1 * t5203 + 0.293253041e-2 * t455 * t5223 + 0.120828626792125e-1 * t5182 + 0.1406365375513125e-1 * t5184 + 0.1406365375513125e-1 * t5186 + 0.182906057e-2 * t455 * t5215 - 0.43464346e-1 * t5375 - 0.940351563e-5 * t5377 - 0.416393106e-7 * t1006 * t2064 - 0.416393106e-7 * t373 * t5215 - 0.265114646e-7 * t1006 * t2057 - 0.265114646e-7 * t373 * t5223; + const double t5399 = t1071 * t2043; + const double t5401 = t421 * t5172; + const double t5418 = 0.236391411e-7 * t1006 * t2070 + 0.505920757e-7 * t954 * t2057 + 0.505920757e-7 * t291 * t5223 - 0.790811707e-7 * t1071 * t2064 - 0.790811707e-7 * t421 * t5215 + 0.162638575e-1 * t5399 + 0.162638575e-1 * t5401 + 0.674910119e-8 * t1101 * t2052 + 0.674910119e-8 * t438 * t5258 - 0.105312309e-2 * t1004 * t2070 + 0.2787661693108125e-1 * t5201 - 0.669043971e-8 * t1004 * t2052 - 0.35104103e-3 * t455 * t5206 + 0.631891628e-2 * t1071 * t2057 + 0.631891628e-2 * t421 * t5223; + const double t5427 = t1101 * t2043; + const double t5429 = t438 * t5172; + const double t5433 = t1035 * t2043; + const double t5435 = t402 * t5172; + const double t5443 = t954 * t2043; + const double t5445 = t291 * t5172; + const double t5449 = 0.209603871e-7 * t1071 * t2070 + 0.209603871e-7 * t421 * t5206 - 0.493824365e-8 * t1071 * t2052 - 0.493824365e-8 * t421 * t5258 - 0.182177954e-1 * t5427 - 0.182177954e-1 * t5429 - 0.223014657e-8 * t455 * t5258 - 0.884148272e-2 * t5433 - 0.884148272e-2 * t5435 + 0.912223751e-8 * t1071 * t2077 - 0.691592964e-8 * t1006 * t2052 - 0.691592964e-8 * t373 * t5258 + 0.940675747e-2 * t5443 + 0.940675747e-2 * t5445 + 0.694482484e-8 * t1006 * t2077; + const double t5452 = t5232 + t5273 + t5302 + t5333 + t5363 + t5387 + t5418 + t5449; + const double t5457 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t885 * t2180 - t5111 - 0.3e1 / 0.8e1 * t6 * t267 * t5452 ); + const double t5459 = t1231 * t1231; + const double t5462 = piecewise_functor_3( t66, 0.0, 0.0 ); + const double t5464 = 0.6e1 * t72 * t5462; + const double t5465 = t526 * t5459; + const double t5467 = t74 * t5462; + const double t5468 = 0.3e1 * t5467; + const double t5469 = t2243 * t5459; + const double t5471 = t526 * t5462; + const double t5472 = 0.12e2 * t5471; + const double t5474 = t1239 * t1239; + const double t5475 = t78 * t5474; + const double t5478 = t1240 * t1246; + const double t5483 = t77 * t5462; + const double t5485 = 0.6e1 * t530 * t5483; + const double t5486 = t1246 * t1246; + const double t5494 = 0.3e1 * t538 * t5462; + const double t5496 = 0.3e1 * t541 * t5462; + const double t5497 = 0.6e1 * t2270 * t5474 + 0.24e2 * t540 * t5474 + t5494 + t5496; + const double t5500 = piecewise_functor_3( t65, -0.18e2 * t74 * t5459 + t5464 - 0.12e2 * t5465 + t5468 + 0.6e2 * t5469 - t5472, -0.24e2 * t2249 * t5475 - 0.12e2 * t2254 * t5478 - 0.2e1 * t2266 * t5486 + 0.6e1 * t530 * t5474 + t537 * t5497 + t5485 ); + const double t5505 = t555 * t1253 * t563; + const double t5507 = t2303 * sigma_aa; + const double t5508 = 0.1e1 / t2306; + const double t5510 = t5507 * t5508 * t2310; + const double t5512 = t1249 * t1249; + const double t5516 = -t5505 / 0.144e3 + t5510 / 0.576e3; + const double t5519 = t1263 * t1281; + const double t5521 = t1263 * t1263; + const double t5522 = t104 * t5521; + const double t5524 = t51 * t5516; + const double t5526 = t49 * t5521; + const double t5528 = t50 * t5516; + const double t5532 = 0.315e3 / 0.2e1 * t5522 + 0.315e3 / 0.8e1 * t5524 - 0.105e3 / 0.2e1 * t5526 - 0.105e3 / 0.4e1 * t5528 - 0.5e1 / 0.384e3 * t5505 + 0.5e1 / 0.1536e4 * t5510; + const double t5533 = t5532 * t88; + const double t5541 = -0.4373652639371875e-2 * t5500 - 0.2701865448e0 * t1322 * t1279 + 0.10851840296657986111e-2 * t5505 - 0.27129600741644965277e-3 * t5510 + 0.1406365375513125e-1 * t5512 - 0.514204676e-4 * t5516 * t122 - 0.1028409352e-3 * t5519 - 0.884148272e-2 * t5533 + 0.162238741e-6 * t5532 * t133 + 0.324477482e-6 * t1365 * t1331 - 0.753405918e-7 * t1365 * t1308; + const double t5542 = t50 * t5521; + const double t5544 = t104 * t5516; + const double t5547 = t49 * t5516; + const double t5549 = 0.105e3 / 0.2e1 * t5542 + 0.35e2 / 0.2e1 * t5544 - 0.15e2 / 0.2e1 * t5521 - 0.15e2 / 0.2e1 * t5547; + const double t5554 = t89 * t5512; + const double t5556 = t90 * t5500; + const double t5559 = t88 * t5500; + const double t5561 = 0.105e3 / 0.2e1 * t5554 + 0.35e2 / 0.2e1 * t5556 - 0.15e2 / 0.2e1 * t5512 - 0.15e2 / 0.2e1 * t5559; + const double t5568 = t90 * t5512; + const double t5570 = t108 * t5500; + const double t5572 = t88 * t5512; + const double t5574 = t89 * t5500; + const double t5577 = 0.315e3 / 0.2e1 * t5568 + 0.315e3 / 0.8e1 * t5570 - 0.105e3 / 0.2e1 * t5572 - 0.105e3 / 0.4e1 * t5574 + 0.15e2 / 0.8e1 * t5500; + const double t5580 = t108 * t5512; + const double t5582 = t111 * t5500; + const double t5588 = 0.3465e4 / 0.8e1 * t5580 + 0.693e3 / 0.8e1 * t5582 - 0.945e3 / 0.4e1 * t5554 - 0.315e3 / 0.4e1 * t5556 + 0.105e3 / 0.8e1 * t5512 + 0.105e3 / 0.8e1 * t5559; + const double t5591 = t102 * t5521; + const double t5593 = t52 * t5516; + const double t5601 = 0.9009e4 / 0.8e1 * t5591 + 0.3003e4 / 0.16e2 * t5593 - 0.3465e4 / 0.4e1 * t5522 - 0.3465e4 / 0.16e2 * t5524 + 0.945e3 / 0.8e1 * t5526 + 0.945e3 / 0.16e2 * t5528 + 0.35e2 / 0.2304e4 * t5505 - 0.35e2 / 0.9216e4 * t5510; + const double t5606 = t147 * t5500; + const double t5608 = t51 * t5521; + const double t5610 = t102 * t5516; + const double t5616 = 0.3465e4 / 0.8e1 * t5608 + 0.693e3 / 0.8e1 * t5610 - 0.945e3 / 0.4e1 * t5542 - 0.315e3 / 0.4e1 * t5544 + 0.105e3 / 0.8e1 * t5521 + 0.105e3 / 0.8e1 * t5547; + const double t5621 = 0.209603871e-7 * t5549 * t128 + 0.1109177486e-6 * t1272 * t1331 + 0.554588743e-7 * t147 * t5561 + 0.1777051054e-7 * t1272 * t1293 + 0.1793478932e-2 * t1424 * t1308 + 0.896739466e-3 * t193 * t5577 - 0.138472194e-7 * t107 * t5588 + 0.505920757e-7 * t5601 * t93 + 0.1011841514e-6 * t1272 * t1300 + 0.940675747e-2 * t5606 - 0.691592964e-8 * t5616 * t115 - 0.1383185928e-7 * t1324 * t1293; + const double t5633 = 0.15e2 * t5526 + 0.15e2 / 0.2e1 * t5528 + t5505 / 0.96e2 - t5510 / 0.384e3; + const double t5640 = t1263 * t1331; + const double t5644 = t111 * t5512; + const double t5646 = t118 * t5500; + const double t5653 = 0.9009e4 / 0.8e1 * t5644 + 0.3003e4 / 0.16e2 * t5646 - 0.3465e4 / 0.4e1 * t5568 - 0.3465e4 / 0.16e2 * t5570 + 0.945e3 / 0.8e1 * t5572 + 0.945e3 / 0.16e2 * t5574 - 0.35e2 / 0.16e2 * t5500; + const double t5662 = -0.774224962e-8 * t5601 * t122 - 0.1548449924e-7 * t1272 * t1281 + 0.554588743e-7 * t5601 * t133 - 0.216860568e-7 * t5633 * t122 - 0.433721136e-7 * t1424 * t1281 + 0.119130546e-2 * t5516 * t133 + 0.238261092e-2 * t5640 + 0.119130546e-2 * t49 * t5561 - 0.493824365e-8 * t225 * t5653 + 0.472782822e-7 * t1324 * t1308 + 0.236391411e-7 * t56 * t5577 + 0.912223751e-8 * t5549 * t122; + const double t5678 = 0.15e2 * t5572 + 0.15e2 / 0.2e1 * t5574 - 0.3e1 / 0.2e1 * t5500; + const double t5683 = t1263 * t1308; + const double t5691 = 0.1824447502e-7 * t1394 * t1281 - 0.416393106e-7 * t5616 * t133 - 0.832786212e-7 * t1324 * t1331 - 0.416393106e-7 * t56 * t5561 - 0.35104103e-3 * t201 * t5577 - 0.338128188e-7 * t147 * t5577 - 0.845508103e-2 * t193 * t5678 + 0.822139896e-3 * t5516 * t128 + 0.1644279792e-2 * t5683 - 0.265114646e-7 * t5616 * t93 + 0.236391411e-7 * t5616 * t128 + 0.694482484e-8 * t5616 * t122; + const double t5698 = t201 * t5500; + const double t5706 = t1263 * t1293; + const double t5716 = 0.339308972e-2 * t5633 * t133 + 0.678617944e-2 * t1424 * t1331 - 0.43464346e-1 * t5698 + 0.182906057e-2 * t201 * t5561 + 0.850272392e-8 * t107 * t5653 - 0.376702959e-7 * t5532 * t128 - 0.1880703126e-4 * t5706 - 0.940351563e-5 * t49 * t5653 + 0.888525527e-8 * t147 * t5653 + 0.631891628e-2 * t5549 * t93 + 0.1263783256e-1 * t1394 * t1300; + const double t5721 = t1272 * t1249; + const double t5725 = t1324 * t1249; + const double t5727 = t56 * t5500; + const double t5737 = t5601 * t88; + const double t5741 = 0.631891628e-2 * t225 * t5678 + 0.293253041e-2 * t201 * t5678 + 0.1881351494e-1 * t5721 + 0.668980219e-8 * t201 * t5588 - 0.1914835024e-1 * t5725 - 0.957417512e-2 * t5727 - 0.790811707e-7 * t225 * t5561 + 0.505920757e-7 * t147 * t5678 - 0.940351563e-5 * t5516 * t115 - 0.27652468e-6 * t5601 * t97 + 0.940675747e-2 * t5737 - 0.216860568e-7 * t193 * t5588; + const double t5760 = t1263 * t1300; + const double t5765 = 0.742180708644375e0 * t5593 - 0.338128188e-7 * t5601 * t128 - 0.676256376e-7 * t1272 * t1308 + 0.896739466e-3 * t5633 * t128 - 0.98764873e-8 * t1394 * t1293 - 0.896771404e-2 * t5532 * t93 - 0.1793542808e-1 * t1365 * t1300 - 0.774224962e-8 * t147 * t5588 - 0.303347141e-2 * t5516 * t93 - 0.606694282e-2 * t5760 - 0.303347141e-2 * t49 * t5678 - 0.79012239917625e1 * t5522; + const double t5777 = t1365 * t1249; + const double t5779 = t107 * t5500; + const double t5786 = -0.1975305997940625e1 * t5524 + 0.850272392e-8 * t5532 * t115 + 0.1700544784e-7 * t1365 * t1293 + 0.298766783045625e1 * t5526 + 0.1493833915228125e1 * t5528 - 0.845508103e-2 * t5633 * t93 - 0.1691016206e-1 * t1424 * t1300 - 0.1768296544e-1 * t5777 - 0.884148272e-2 * t5779 - 0.493824365e-8 * t5549 * t115 + 0.445308425186625e1 * t5591 - 0.276944388e-7 * t1365 * t1281; + const double t5794 = t5633 * t88; + const double t5808 = 0.888525527e-8 * t5601 * t115 + 0.280678872e-1 * t5633 * t97 - 0.182177954e-1 * t5794 - 0.240026440066875e-2 * t5580 - 0.48005288013375e-3 * t5582 + 0.694482484e-8 * t56 * t5588 + 0.82889846164125e-3 * t5644 + 0.138149743606875e-3 * t5646 + 0.674910119e-8 * t193 * t5653 - 0.182911291e-1 * t5549 * t97 + 0.419207742e-7 * t1394 * t1308; + const double t5811 = t225 * t5500; + const double t5817 = t5549 * t88; + const double t5819 = t1394 * t1249; + const double t5825 = t5516 * t88; + const double t5827 = t1263 * t1249; + const double t5829 = t49 * t5500; + const double t5833 = 0.209603871e-7 * t225 * t5577 + 0.162638575e-1 * t5811 + 0.674910119e-8 * t5633 * t115 + 0.1349820238e-7 * t1424 * t1293 + 0.162638575e-1 * t5817 + 0.32527715e-1 * t5819 - 0.691592964e-8 * t56 * t5653 - 0.879090772e-2 * t5516 * t97 + 0.100339208e0 * t5825 + 0.200678416e0 * t5827 + 0.100339208e0 * t5829 - 0.188495102e-1 * t5532 * t97; + const double t5851 = 0.1406365375513125e-1 * t5559 + 0.339308972e-2 * t193 * t5561 - 0.189176620712625e-1 * t5568 - 0.4729415517815625e-2 * t5570 + 0.2787661693108125e-1 * t5572 + 0.13938308465540625e-1 * t5574 - 0.376702959e-7 * t107 * t5577 - 0.530229292e-7 * t1324 * t1300 - 0.265114646e-7 * t56 * t5678 + 0.240073981599375e1 * t5608 + 0.48014796319875e0 * t5610 - 0.16566742077375e1 * t5542; + const double t5872 = -0.5522247359125e0 * t5544 - 0.1581623414e-6 * t1394 * t1331 + 0.842036616e-1 * t193 * t5512 - 0.548733873e-1 * t225 * t5512 - 0.565485306e-1 * t107 * t5512 - 0.105312309e-2 * t5521 * t128 + 0.362485880376375e-1 * t5554 + 0.120828626792125e-1 * t5556 - 0.18458962865625e0 * t5521 + 0.509417745e-6 * t100 * t5500 - 0.165914808e-5 * t1313 * t1249 - 0.82957404e-6 * t173 * t5500; + const double t5897 = 0.842036616e-1 * t198 * t5500 - 0.548733873e-1 * t238 * t5500 - 0.1130970612e0 * t1383 * t1249 - 0.565485306e-1 * t140 * t5500 + 0.1759518246e-1 * t1322 * t1300 - 0.260786076e0 * t1322 * t1249 + 0.1097436342e-1 * t1322 * t1331 - 0.5274544632e-1 * t1495 * t1249 + 0.101883549e-5 * t1347 * t1249 - 0.105312309e-2 * t5547 * t128 + 0.548718171e-2 * t5547 * t133; + const double t5922 = 0.879759123e-2 * t5547 * t93 - 0.450310908e-1 * t5547 * t97 - 0.450310908e-1 * t214 * t5500 - 0.2637272316e-1 * t166 * t5500 - 0.130393038e0 * t5547 * t88 - 0.669043971e-8 * t5547 * t115 + 0.2006940657e-7 * t5547 * t122 - 0.1097467746e0 * t1414 * t1249 - 0.1338087942e-7 * t1322 * t1293 + 0.1684073232e0 * t1444 * t1249 + 0.509417745e-6 * t56 * t5512 - 0.82957404e-6 * t147 * t5512; + const double t5938 = t5521 * t88; + const double t5947 = -0.514204676e-4 * t49 * t5588 - 0.790811707e-7 * t5549 * t133 + 0.548718171e-2 * t5521 * t133 + 0.879759123e-2 * t5521 * t93 - 0.450310908e-1 * t5521 * t97 - 0.450310908e-1 * t201 * t5512 - 0.2637272316e-1 * t49 * t5512 - 0.130393038e0 * t5938 - 0.669043971e-8 * t5521 * t115 + 0.2006940657e-7 * t5521 * t122 + 0.4013881314e-7 * t1322 * t1281 - 0.18458962865625e0 * t5547; + const double t5950 = t5616 * t88; + const double t5956 = t1424 * t1249; + const double t5958 = t193 * t5500; + const double t5972 = 0.169805915e-6 * t5616 * t97 - 0.957417512e-2 * t5950 + 0.822139896e-3 * t49 * t5577 + 0.1388964968e-7 * t1324 * t1281 - 0.364355908e-1 * t5956 - 0.182177954e-1 * t5958 - 0.223014657e-8 * t201 * t5653 + 0.912223751e-8 * t225 * t5588 + 0.162238741e-6 * t107 * t5561 - 0.896771404e-2 * t107 * t5678 - 0.138472194e-7 * t5532 * t122 - 0.210624618e-2 * t1322 * t1308; + const double t5976 = t5541 + t5621 + t5662 + t5691 + t5716 + t5741 + t5765 + t5786 + t5808 + t5833 + t5851 + t5872 + t5897 + t5922 + t5947 + t5972; + const double t5980 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t5976 ); + const double t5981 = t1564 * t1564; + const double t5985 = t1546 * t1546; + const double t5988 = piecewise_functor_3( t301, 0.0, 0.0 ); + const double t5990 = 0.6e1 * t307 * t5988; + const double t5991 = t906 * t5985; + const double t5993 = t309 * t5988; + const double t5994 = 0.3e1 * t5993; + const double t5995 = t2924 * t5985; + const double t5997 = t906 * t5988; + const double t5998 = 0.12e2 * t5997; + const double t6000 = t1554 * t1554; + const double t6001 = t313 * t6000; + const double t6004 = t1555 * t1561; + const double t6009 = t312 * t5988; + const double t6011 = 0.6e1 * t910 * t6009; + const double t6012 = t1561 * t1561; + const double t6020 = 0.3e1 * t918 * t5988; + const double t6022 = 0.3e1 * t921 * t5988; + const double t6023 = 0.6e1 * t2951 * t6000 + 0.24e2 * t920 * t6000 + t6020 + t6022; + const double t6026 = piecewise_functor_3( t300, -0.18e2 * t309 * t5985 + t5990 - 0.12e2 * t5991 + t5994 + 0.6e2 * t5995 - t5998, -0.24e2 * t2930 * t6001 - 0.12e2 * t2935 * t6004 - 0.2e1 * t2947 * t6012 + 0.6e1 * t910 * t6000 + t917 * t6023 + t6011 ); + const double t6029 = t555 * t1568 * t939; + const double t6031 = t2303 * sigma_bb; + const double t6032 = 0.1e1 / t2970; + const double t6034 = t6031 * t6032 * t2974; + const double t6036 = t1578 * t1578; + const double t6037 = t282 * t6036; + const double t6041 = -t6029 / 0.144e3 + t6034 / 0.576e3; + const double t6042 = t283 * t6041; + const double t6045 = t281 * t6041; + const double t6047 = 0.105e3 / 0.2e1 * t6037 + 0.35e2 / 0.2e1 * t6042 - 0.15e2 / 0.2e1 * t6036 - 0.15e2 / 0.2e1 * t6045; + const double t6052 = t281 * t6036; + const double t6054 = t282 * t6041; + const double t6058 = 0.15e2 * t6052 + 0.15e2 / 0.2e1 * t6054 + t6029 / 0.96e2 - t6034 / 0.384e3; + const double t6059 = t6058 * t323; + const double t6061 = t1674 * t1564; + const double t6063 = t325 * t5981; + const double t6065 = t326 * t6026; + const double t6067 = t323 * t5981; + const double t6069 = t324 * t6026; + const double t6072 = 0.315e3 / 0.2e1 * t6063 + 0.315e3 / 0.8e1 * t6065 - 0.105e3 / 0.2e1 * t6067 - 0.105e3 / 0.4e1 * t6069 + 0.15e2 / 0.8e1 * t6026; + const double t6077 = 0.1406365375513125e-1 * t5981 - 0.2701865448e0 * t1622 * t1593 - 0.4373652639371875e-2 * t6026 + 0.10851840296657986111e-2 * t6029 - 0.27129600741644965277e-3 * t6034 - 0.182911291e-1 * t6047 * t365 + 0.209603871e-7 * t6047 * t351 - 0.182177954e-1 * t6059 - 0.364355908e-1 * t6061 + 0.896739466e-3 * t438 * t6072 + 0.509417745e-6 * t373 * t5981; + const double t6083 = 0.15e2 * t6067 + 0.15e2 / 0.2e1 * t6069 - 0.3e1 / 0.2e1 * t6026; + const double t6086 = t287 * t6036; + const double t6088 = t345 * t6041; + const double t6090 = t283 * t6036; + const double t6092 = t284 * t6041; + const double t6098 = 0.9009e4 / 0.8e1 * t6086 + 0.3003e4 / 0.16e2 * t6088 - 0.3465e4 / 0.4e1 * t6090 - 0.3465e4 / 0.16e2 * t6092 + 0.945e3 / 0.8e1 * t6052 + 0.945e3 / 0.16e2 * t6054 + 0.35e2 / 0.2304e4 * t6029 - 0.35e2 / 0.9216e4 * t6034; + const double t6099 = t6098 * t323; + const double t6101 = t1718 * t1564; + const double t6109 = t326 * t5981; + const double t6111 = t329 * t6026; + const double t6113 = t324 * t5981; + const double t6115 = t325 * t6026; + const double t6118 = t323 * t6026; + const double t6120 = 0.3465e4 / 0.8e1 * t6109 + 0.693e3 / 0.8e1 * t6111 - 0.945e3 / 0.4e1 * t6113 - 0.315e3 / 0.4e1 * t6115 + 0.105e3 / 0.8e1 * t5981 + 0.105e3 / 0.8e1 * t6118; + const double t6123 = t284 * t6036; + const double t6125 = t287 * t6041; + const double t6131 = 0.3465e4 / 0.8e1 * t6123 + 0.693e3 / 0.8e1 * t6125 - 0.945e3 / 0.4e1 * t6037 - 0.315e3 / 0.4e1 * t6042 + 0.105e3 / 0.8e1 * t6036 + 0.105e3 / 0.8e1 * t6045; + const double t6140 = 0.105e3 / 0.2e1 * t6113 + 0.35e2 / 0.2e1 * t6115 - 0.15e2 / 0.2e1 * t5981 - 0.15e2 / 0.2e1 * t6118; + const double t6145 = -0.82957404e-6 * t291 * t5981 + 0.505920757e-7 * t291 * t6083 + 0.940675747e-2 * t6099 + 0.1881351494e-1 * t6101 + 0.280678872e-1 * t6058 * t365 + 0.896739466e-3 * t6058 * t351 + 0.1793478932e-2 * t1674 * t1586 - 0.514204676e-4 * t281 * t6120 - 0.265114646e-7 * t6131 * t361 + 0.1109177486e-6 * t1718 * t1595 + 0.554588743e-7 * t291 * t6140 + 0.505920757e-7 * t6098 * t361; + const double t6151 = t291 * t6026; + const double t6161 = t329 * t5981; + const double t6163 = t336 * t6026; + const double t6170 = 0.9009e4 / 0.8e1 * t6161 + 0.3003e4 / 0.16e2 * t6163 - 0.3465e4 / 0.4e1 * t6063 - 0.3465e4 / 0.16e2 * t6065 + 0.945e3 / 0.8e1 * t6067 + 0.945e3 / 0.16e2 * t6069 - 0.35e2 / 0.16e2 * t6026; + const double t6175 = t1578 * t1586; + const double t6177 = t402 * t6026; + const double t6181 = 0.1011841514e-6 * t1718 * t1602 - 0.530229292e-7 * t1757 * t1602 + 0.940675747e-2 * t6151 + 0.554588743e-7 * t6098 * t356 + 0.2006940657e-7 * t6036 * t340 - 0.105312309e-2 * t6036 * t351 + 0.548718171e-2 * t6036 * t356 - 0.493824365e-8 * t421 * t6170 + 0.822139896e-3 * t6041 * t351 + 0.1644279792e-2 * t6175 - 0.884148272e-2 * t6177 - 0.493824365e-8 * t6047 * t333; + const double t6186 = t455 * t6026; + const double t6190 = t1578 * t1646; + const double t6202 = t6036 * t323; + const double t6206 = -0.98764873e-8 * t1624 * t1646 - 0.940351563e-5 * t281 * t6170 - 0.43464346e-1 * t6186 - 0.940351563e-5 * t6041 * t333 - 0.1880703126e-4 * t6190 + 0.631891628e-2 * t421 * t6083 + 0.912223751e-8 * t421 * t6120 + 0.631891628e-2 * t6047 * t361 + 0.1263783256e-1 * t1624 * t1602 - 0.450310908e-1 * t455 * t5981 - 0.130393038e0 * t6202 - 0.879090772e-2 * t6041 * t365; + const double t6209 = t6041 * t323; + const double t6211 = t6131 * t323; + const double t6213 = t1757 * t1564; + const double t6231 = 0.100339208e0 * t6209 - 0.957417512e-2 * t6211 - 0.1914835024e-1 * t6213 - 0.832786212e-7 * t1757 * t1595 - 0.416393106e-7 * t373 * t6140 - 0.845508103e-2 * t6058 * t361 - 0.1691016206e-1 * t1674 * t1602 - 0.845508103e-2 * t438 * t6083 - 0.216860568e-7 * t6058 * t340 - 0.433721136e-7 * t1674 * t1632 - 0.790811707e-7 * t6047 * t356; + const double t6238 = t1578 * t1564; + const double t6240 = t281 * t6026; + const double t6248 = 0.315e3 / 0.2e1 * t6090 + 0.315e3 / 0.8e1 * t6092 - 0.105e3 / 0.2e1 * t6052 - 0.105e3 / 0.4e1 * t6054 - 0.5e1 / 0.384e3 * t6029 + 0.5e1 / 0.1536e4 * t6034; + const double t6259 = 0.169805915e-6 * t6131 * t365 - 0.416393106e-7 * t6131 * t356 + 0.912223751e-8 * t6047 * t340 + 0.200678416e0 * t6238 + 0.100339208e0 * t6240 - 0.376702959e-7 * t6248 * t351 - 0.753405918e-7 * t1617 * t1586 - 0.376702959e-7 * t402 * t6072 + 0.445308425186625e1 * t6086 + 0.742180708644375e0 * t6088 - 0.79012239917625e1 * t6090 - 0.1975305997940625e1 * t6092; + const double t6277 = t6248 * t323; + const double t6279 = 0.298766783045625e1 * t6052 + 0.236391411e-7 * t6131 * t351 + 0.472782822e-7 * t1757 * t1586 - 0.240026440066875e-2 * t6109 - 0.48005288013375e-3 * t6111 + 0.362485880376375e-1 * t6113 + 0.120828626792125e-1 * t6115 + 0.1406365375513125e-1 * t6118 + 0.694482484e-8 * t373 * t6120 + 0.1824447502e-7 * t1624 * t1632 - 0.138472194e-7 * t402 * t6120 - 0.884148272e-2 * t6277; + const double t6280 = t1617 * t1564; + const double t6284 = t1578 * t1632; + const double t6290 = t438 * t6026; + const double t6304 = -0.1768296544e-1 * t6280 - 0.514204676e-4 * t6041 * t340 - 0.1028409352e-3 * t6284 - 0.691592964e-8 * t6131 * t333 - 0.1383185928e-7 * t1757 * t1646 - 0.182177954e-1 * t6290 - 0.223014657e-8 * t455 * t6170 + 0.339308972e-2 * t6058 * t356 + 0.678617944e-2 * t1674 * t1595 + 0.339308972e-2 * t438 * t6140 - 0.896771404e-2 * t402 * t6083 + 0.182906057e-2 * t455 * t6140; + const double t6330 = -0.35104103e-3 * t455 * t6072 - 0.1581623414e-6 * t1624 * t1595 - 0.790811707e-7 * t421 * t6140 + 0.888525527e-8 * t6098 * t333 + 0.1777051054e-7 * t1718 * t1646 + 0.888525527e-8 * t291 * t6170 - 0.216860568e-7 * t438 * t6120 - 0.669043971e-8 * t6036 * t333 - 0.565485306e-1 * t417 * t6026 + 0.509417745e-6 * t397 * t6026 - 0.82957404e-6 * t368 * t6026; + const double t6355 = 0.1759518246e-1 * t1622 * t1602 + 0.694482484e-8 * t6131 * t340 + 0.1388964968e-7 * t1757 * t1632 + 0.879759123e-2 * t6036 * t361 - 0.450310908e-1 * t6036 * t365 + 0.842036616e-1 * t438 * t5981 - 0.548733873e-1 * t421 * t5981 + 0.1684073232e0 * t1697 * t1564 - 0.165914808e-5 * t1747 * t1564 - 0.1130970612e0 * t1635 * t1564 - 0.450310908e-1 * t468 * t6026 - 0.130393038e0 * t6045 * t323; + const double t6379 = t373 * t6026; + const double t6381 = -0.1338087942e-7 * t1622 * t1646 - 0.1097467746e0 * t1683 * t1564 - 0.669043971e-8 * t6045 * t333 + 0.2006940657e-7 * t6045 * t340 - 0.105312309e-2 * t6045 * t351 + 0.548718171e-2 * t6045 * t356 - 0.260786076e0 * t1622 * t1564 - 0.1548449924e-7 * t1718 * t1632 - 0.774224962e-8 * t291 * t6120 - 0.774224962e-8 * t6098 * t340 + 0.850272392e-8 * t402 * t6170 - 0.957417512e-2 * t6379; + const double t6393 = t6047 * t323; + const double t6395 = t1624 * t1564; + const double t6397 = t421 * t6026; + const double t6403 = 0.850272392e-8 * t6248 * t333 + 0.1700544784e-7 * t1617 * t1646 - 0.138472194e-7 * t6248 * t340 - 0.276944388e-7 * t1617 * t1632 - 0.16566742077375e1 * t6037 - 0.5522247359125e0 * t6042 - 0.18458962865625e0 * t6045 + 0.162638575e-1 * t6393 + 0.32527715e-1 * t6395 + 0.162638575e-1 * t6397 + 0.119130546e-2 * t281 * t6140 + 0.293253041e-2 * t455 * t6083; + const double t6414 = t1578 * t1602; + const double t6428 = 0.419207742e-7 * t1624 * t1586 + 0.209603871e-7 * t421 * t6072 + 0.822139896e-3 * t281 * t6072 - 0.303347141e-2 * t6041 * t361 - 0.606694282e-2 * t6414 - 0.303347141e-2 * t281 * t6083 - 0.265114646e-7 * t373 * t6083 + 0.162238741e-6 * t6248 * t356 + 0.324477482e-6 * t1617 * t1595 + 0.162238741e-6 * t402 * t6140 + 0.674910119e-8 * t6058 * t333; + const double t6433 = t1578 * t1595; + const double t6450 = 0.1349820238e-7 * t1674 * t1646 + 0.119130546e-2 * t6041 * t356 + 0.238261092e-2 * t6433 + 0.1493833915228125e1 * t6054 - 0.27652468e-6 * t6098 * t365 - 0.2637272316e-1 * t281 * t5981 - 0.565485306e-1 * t402 * t5981 + 0.82889846164125e-3 * t6161 + 0.138149743606875e-3 * t6163 - 0.691592964e-8 * t373 * t6170 - 0.188495102e-1 * t6248 * t365 + 0.674910119e-8 * t438 * t6170; + const double t6474 = -0.338128188e-7 * t291 * t6072 + 0.668980219e-8 * t455 * t6120 - 0.5274544632e-1 * t1607 * t1564 - 0.2637272316e-1 * t482 * t6026 + 0.4013881314e-7 * t1622 * t1632 + 0.101883549e-5 * t1773 * t1564 - 0.338128188e-7 * t6098 * t351 - 0.676256376e-7 * t1718 * t1586 - 0.896771404e-2 * t6248 * t361 - 0.1793542808e-1 * t1617 * t1602 - 0.189176620712625e-1 * t6063 - 0.4729415517815625e-2 * t6065; + const double t6494 = 0.2787661693108125e-1 * t6067 + 0.13938308465540625e-1 * t6069 + 0.236391411e-7 * t373 * t6072 + 0.240073981599375e1 * t6123 + 0.48014796319875e0 * t6125 - 0.210624618e-2 * t1622 * t1586 + 0.1097436342e-1 * t1622 * t1595 + 0.879759123e-2 * t6045 * t361 - 0.450310908e-1 * t6045 * t365 + 0.842036616e-1 * t452 * t6026 - 0.548733873e-1 * t434 * t6026 - 0.18458962865625e0 * t6036; + const double t6498 = t6077 + t6145 + t6181 + t6206 + t6231 + t6259 + t6279 + t6304 + t6330 + t6355 + t6381 + t6403 + t6428 + t6450 + t6474 + t6494; + const double t6502 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t6498 ); + const double t6513 = t1871 * t1246; + const double t6516 = t1239 * t1870; + const double t6522 = t1877 * t1246; + const double t6527 = t540 * t1239; + const double t6530 = 0.24e2 * t6527 * t1870 + 0.6e1 * t2270 * t6516 + t5494 + t5496; + const double t6533 = piecewise_functor_3( t65, -0.18e2 * t1865 * t1231 - 0.12e2 * t1867 * t1231 + 0.6e2 * t4781 * t1231 + t5464 + t5468 - t5472, -0.24e2 * t2249 * t4787 * t1239 - 0.6e1 * t2254 * t4801 * t1239 - 0.6e1 * t2254 * t6513 - 0.2e1 * t2266 * t6522 + 0.6e1 * t530 * t6516 + t537 * t6530 + t5485 ); + const double t6534 = t111 * t6533; + const double t6536 = t90 * t6533; + const double t6538 = t1249 * t1880; + const double t6540 = t88 * t6533; + const double t6542 = t1895 * t1249; + const double t6545 = t1889 * t1249; + const double t6550 = 0.3465e4 / 0.8e1 * t6542 + 0.693e3 / 0.8e1 * t6534 - 0.945e3 / 0.4e1 * t6545 - 0.315e3 / 0.4e1 * t6536 + 0.105e3 / 0.8e1 * t6538 + 0.105e3 / 0.8e1 * t6540; + const double t6557 = t118 * t6533; + const double t6559 = t108 * t6533; + const double t6561 = t89 * t6533; + const double t6563 = t1910 * t1249; + const double t6566 = t1882 * t1249; + const double t6569 = t1884 * t1249; + const double t6573 = 0.9009e4 / 0.8e1 * t6563 + 0.3003e4 / 0.16e2 * t6557 - 0.3465e4 / 0.4e1 * t6566 - 0.3465e4 / 0.16e2 * t6559 + 0.945e3 / 0.8e1 * t6569 + 0.945e3 / 0.16e2 * t6561 - 0.35e2 / 0.16e2 * t6533; + const double t6583 = 0.315e3 / 0.2e1 * t6566 + 0.315e3 / 0.8e1 * t6559 - 0.105e3 / 0.2e1 * t6569 - 0.105e3 / 0.4e1 * t6561 + 0.15e2 / 0.8e1 * t6533; + const double t6588 = -0.48005288013375e-3 * t6534 + 0.120828626792125e-1 * t6536 + 0.1406365375513125e-1 * t6538 + 0.1406365375513125e-1 * t6540 - 0.774224962e-8 * t147 * t6550 - 0.774224962e-8 * t1272 * t1914 + 0.888525527e-8 * t1272 * t1907 + 0.138149743606875e-3 * t6557 - 0.4729415517815625e-2 * t6559 + 0.13938308465540625e-1 * t6561 + 0.888525527e-8 * t147 * t6573 - 0.338128188e-7 * t1272 * t1899 - 0.338128188e-7 * t147 * t6583 + 0.505920757e-7 * t1272 * t1892; + const double t6592 = 0.15e2 * t6569 + 0.15e2 / 0.2e1 * t6561 - 0.3e1 / 0.2e1 * t6533; + const double t6601 = 0.105e3 / 0.2e1 * t6545 + 0.35e2 / 0.2e1 * t6536 - 0.15e2 / 0.2e1 * t6538 - 0.15e2 / 0.2e1 * t6540; + const double t6604 = t147 * t6533; + const double t6610 = t1272 * t1880; + const double t6620 = t1263 * t1914; + const double t6624 = t1263 * t1886; + const double t6628 = 0.505920757e-7 * t147 * t6592 + 0.554588743e-7 * t1272 * t1886 + 0.554588743e-7 * t147 * t6601 + 0.940675747e-2 * t6604 - 0.691592964e-8 * t1324 * t1907 - 0.691592964e-8 * t56 * t6573 + 0.940675747e-2 * t6610 + 0.236391411e-7 * t56 * t6583 + 0.236391411e-7 * t1324 * t1899 + 0.694482484e-8 * t1324 * t1914 + 0.694482484e-8 * t56 * t6550 - 0.514204676e-4 * t6620 - 0.514204676e-4 * t49 * t6550 + 0.119130546e-2 * t6624 + 0.119130546e-2 * t49 * t6601; + const double t6630 = t1263 * t1880; + const double t6632 = t49 * t6533; + const double t6634 = t1263 * t1899; + const double t6638 = t1263 * t1892; + const double t6650 = t1324 * t1880; + const double t6652 = t56 * t6533; + const double t6659 = 0.100339208e0 * t6630 + 0.100339208e0 * t6632 + 0.822139896e-3 * t6634 + 0.822139896e-3 * t49 * t6583 - 0.303347141e-2 * t6638 - 0.303347141e-2 * t49 * t6592 - 0.416393106e-7 * t1324 * t1886 - 0.416393106e-7 * t56 * t6601 + 0.850272392e-8 * t1365 * t1907 + 0.850272392e-8 * t107 * t6573 - 0.957417512e-2 * t6650 - 0.957417512e-2 * t6652 - 0.265114646e-7 * t1324 * t1892 - 0.4373652639371875e-2 * t6533 - 0.265114646e-7 * t56 * t6592; + const double t6680 = t1365 * t1880; + const double t6682 = t107 * t6533; + const double t6690 = -0.138472194e-7 * t1365 * t1914 - 0.138472194e-7 * t107 * t6550 - 0.376702959e-7 * t1365 * t1899 - 0.376702959e-7 * t107 * t6583 - 0.896771404e-2 * t1365 * t1892 - 0.896771404e-2 * t107 * t6592 + 0.162238741e-6 * t1365 * t1886 + 0.162238741e-6 * t107 * t6601 - 0.493824365e-8 * t1394 * t1907 - 0.493824365e-8 * t225 * t6573 - 0.884148272e-2 * t6680 - 0.884148272e-2 * t6682 + 0.209603871e-7 * t1394 * t1899 + 0.209603871e-7 * t225 * t6583 + 0.912223751e-8 * t1394 * t1914; + const double t6703 = t1394 * t1880; + const double t6705 = t225 * t6533; + const double t6721 = 0.912223751e-8 * t225 * t6550 + 0.631891628e-2 * t225 * t6592 + 0.631891628e-2 * t1394 * t1892 - 0.790811707e-7 * t1394 * t1886 - 0.790811707e-7 * t225 * t6601 + 0.162638575e-1 * t6703 + 0.162638575e-1 * t6705 + 0.674910119e-8 * t1424 * t1907 + 0.674910119e-8 * t193 * t6573 - 0.216860568e-7 * t1424 * t1914 - 0.216860568e-7 * t193 * t6550 + 0.896739466e-3 * t1424 * t1899 + 0.896739466e-3 * t193 * t6583 - 0.845508103e-2 * t1424 * t1892; + const double t6728 = t1424 * t1880; + const double t6730 = t193 * t6533; + const double t6742 = t201 * t6533; + const double t6744 = t1263 * t1907; + const double t6752 = -0.845508103e-2 * t193 * t6592 + 0.339308972e-2 * t1424 * t1886 + 0.339308972e-2 * t193 * t6601 - 0.182177954e-1 * t6728 - 0.182177954e-1 * t6730 - 0.223014657e-8 * t201 * t6573 - 0.35104103e-3 * t201 * t6583 + 0.668980219e-8 * t201 * t6550 + 0.293253041e-2 * t201 * t6592 + 0.182906057e-2 * t201 * t6601 - 0.43464346e-1 * t6742 - 0.940351563e-5 * t6744 - 0.940351563e-5 * t49 * t6573 - 0.105312309e-2 * t1322 * t1899 + 0.2006940657e-7 * t1322 * t1914; + const double t6784 = 0.548718171e-2 * t1322 * t1886 + 0.879759123e-2 * t1322 * t1892 - 0.565485306e-1 * t140 * t6533 - 0.130393038e0 * t1322 * t1880 - 0.548733873e-1 * t1414 * t1880 - 0.548733873e-1 * t1416 * t1880 - 0.548733873e-1 * t238 * t6533 + 0.509417745e-6 * t1347 * t1880 + 0.509417745e-6 * t1349 * t1880 + 0.509417745e-6 * t100 * t6533 - 0.565485306e-1 * t1383 * t1880 - 0.565485306e-1 * t1401 * t1880 - 0.2637272316e-1 * t166 * t6533 - 0.450310908e-1 * t1481 * t1880 - 0.450310908e-1 * t214 * t6533; + const double t6810 = 0.842036616e-1 * t1444 * t1880 + 0.842036616e-1 * t1489 * t1880 + 0.842036616e-1 * t198 * t6533 - 0.669043971e-8 * t1322 * t1907 - 0.82957404e-6 * t1313 * t1880 - 0.82957404e-6 * t1315 * t1880 - 0.82957404e-6 * t173 * t6533 - 0.240026440066875e-2 * t6542 + 0.362485880376375e-1 * t6545 + 0.82889846164125e-3 * t6563 - 0.189176620712625e-1 * t6566 + 0.2787661693108125e-1 * t6569 - 0.2637272316e-1 * t1495 * t1880 - 0.2637272316e-1 * t1497 * t1880 - 0.1350932724e0 * t1322 * t1884; + const double t6813 = t6588 + t6628 + t6659 + t6690 + t6721 + t6752 + t6784 + t6810; + const double t6817 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t6813 ); + const double t6828 = t2034 * t1561; + const double t6831 = t1554 * t2033; + const double t6837 = t2040 * t1561; + const double t6842 = t920 * t1554; + const double t6845 = 0.24e2 * t6842 * t2033 + 0.6e1 * t2951 * t6831 + t6020 + t6022; + const double t6848 = piecewise_functor_3( t300, -0.18e2 * t2028 * t1546 - 0.12e2 * t2030 * t1546 + 0.6e2 * t5134 * t1546 + t5990 + t5994 - t5998, -0.24e2 * t2930 * t5140 * t1554 - 0.6e1 * t2935 * t5154 * t1554 - 0.6e1 * t2935 * t6828 - 0.2e1 * t2947 * t6837 + 0.6e1 * t910 * t6831 + t917 * t6845 + t6011 ); + const double t6850 = t1578 * t2064; + const double t6852 = t325 * t6848; + const double t6854 = t1564 * t2043; + const double t6858 = t2060 * t1564; + const double t6860 = t326 * t6848; + const double t6862 = t2062 * t1564; + const double t6864 = t324 * t6848; + const double t6867 = 0.315e3 / 0.2e1 * t6858 + 0.315e3 / 0.8e1 * t6860 - 0.105e3 / 0.2e1 * t6862 - 0.105e3 / 0.4e1 * t6864 + 0.15e2 / 0.8e1 * t6848; + const double t6872 = t2049 * t1564; + const double t6876 = t323 * t6848; + const double t6878 = 0.105e3 / 0.2e1 * t6872 + 0.35e2 / 0.2e1 * t6852 - 0.15e2 / 0.2e1 * t6854 - 0.15e2 / 0.2e1 * t6876; + const double t6883 = t2073 * t1564; + const double t6885 = t336 * t6848; + const double t6892 = 0.9009e4 / 0.8e1 * t6883 + 0.3003e4 / 0.16e2 * t6885 - 0.3465e4 / 0.4e1 * t6858 - 0.3465e4 / 0.16e2 * t6860 + 0.945e3 / 0.8e1 * t6862 + 0.945e3 / 0.16e2 * t6864 - 0.35e2 / 0.16e2 * t6848; + const double t6901 = t2047 * t1564; + const double t6903 = t329 * t6848; + const double t6909 = 0.3465e4 / 0.8e1 * t6901 + 0.693e3 / 0.8e1 * t6903 - 0.945e3 / 0.4e1 * t6872 - 0.315e3 / 0.4e1 * t6852 + 0.105e3 / 0.8e1 * t6854 + 0.105e3 / 0.8e1 * t6876; + const double t6912 = -0.4373652639371875e-2 * t6848 + 0.119130546e-2 * t6850 + 0.120828626792125e-1 * t6852 + 0.1406365375513125e-1 * t6854 + 0.236391411e-7 * t1757 * t2070 + 0.236391411e-7 * t373 * t6867 + 0.162238741e-6 * t1617 * t2064 + 0.162238741e-6 * t402 * t6878 - 0.35104103e-3 * t455 * t6867 - 0.223014657e-8 * t455 * t6892 + 0.888525527e-8 * t1718 * t2052 + 0.888525527e-8 * t291 * t6892 + 0.912223751e-8 * t1624 * t2077 + 0.912223751e-8 * t421 * t6909; + const double t6913 = t455 * t6848; + const double t6915 = t1578 * t2077; + const double t6939 = -0.43464346e-1 * t6913 - 0.514204676e-4 * t6915 - 0.514204676e-4 * t281 * t6909 - 0.216860568e-7 * t1674 * t2077 - 0.216860568e-7 * t438 * t6909 + 0.1406365375513125e-1 * t6876 + 0.119130546e-2 * t281 * t6878 + 0.138149743606875e-3 * t6885 - 0.4729415517815625e-2 * t6860 + 0.13938308465540625e-1 * t6864 - 0.493824365e-8 * t421 * t6892 + 0.182906057e-2 * t455 * t6878 - 0.338128188e-7 * t291 * t6867 - 0.790811707e-7 * t1624 * t2064 - 0.790811707e-7 * t421 * t6878; + const double t6946 = 0.15e2 * t6862 + 0.15e2 / 0.2e1 * t6864 - 0.3e1 / 0.2e1 * t6848; + const double t6951 = t1578 * t2057; + const double t6955 = t1757 * t2043; + const double t6957 = t373 * t6848; + const double t6959 = t1674 * t2043; + const double t6961 = t438 * t6848; + const double t6975 = 0.505920757e-7 * t1718 * t2057 + 0.505920757e-7 * t291 * t6946 - 0.1350932724e0 * t1622 * t2062 - 0.303347141e-2 * t6951 - 0.303347141e-2 * t281 * t6946 - 0.957417512e-2 * t6955 - 0.957417512e-2 * t6957 - 0.182177954e-1 * t6959 - 0.182177954e-1 * t6961 + 0.554588743e-7 * t1718 * t2064 + 0.554588743e-7 * t291 * t6878 - 0.105312309e-2 * t1622 * t2070 + 0.2006940657e-7 * t1622 * t2077 - 0.2637272316e-1 * t1607 * t2043 - 0.2637272316e-1 * t1609 * t2043; + const double t7006 = -0.669043971e-8 * t1622 * t2052 + 0.879759123e-2 * t1622 * t2057 - 0.130393038e0 * t1622 * t2043 + 0.548718171e-2 * t1622 * t2064 - 0.2637272316e-1 * t482 * t6848 - 0.450310908e-1 * t1797 * t2043 - 0.450310908e-1 * t468 * t6848 + 0.842036616e-1 * t1697 * t2043 + 0.842036616e-1 * t1699 * t2043 + 0.842036616e-1 * t452 * t6848 - 0.548733873e-1 * t1683 * t2043 - 0.548733873e-1 * t1685 * t2043 + 0.509417745e-6 * t1775 * t2043 + 0.509417745e-6 * t397 * t6848 - 0.82957404e-6 * t1747 * t2043; + const double t7032 = -0.82957404e-6 * t1749 * t2043 - 0.82957404e-6 * t368 * t6848 - 0.240026440066875e-2 * t6901 + 0.362485880376375e-1 * t6872 + 0.82889846164125e-3 * t6883 - 0.189176620712625e-1 * t6858 + 0.2787661693108125e-1 * t6862 - 0.548733873e-1 * t434 * t6848 - 0.565485306e-1 * t1635 * t2043 - 0.565485306e-1 * t1637 * t2043 - 0.565485306e-1 * t417 * t6848 + 0.509417745e-6 * t1773 * t2043 + 0.293253041e-2 * t455 * t6946 - 0.138472194e-7 * t1617 * t2077; + const double t7060 = t1624 * t2043; + const double t7062 = -0.48005288013375e-3 * t6903 - 0.138472194e-7 * t402 * t6909 + 0.339308972e-2 * t1674 * t2064 + 0.339308972e-2 * t438 * t6878 + 0.850272392e-8 * t1617 * t2052 + 0.850272392e-8 * t402 * t6892 - 0.338128188e-7 * t1718 * t2070 + 0.694482484e-8 * t1757 * t2077 + 0.694482484e-8 * t373 * t6909 - 0.416393106e-7 * t373 * t6878 - 0.774224962e-8 * t1718 * t2077 - 0.774224962e-8 * t291 * t6909 - 0.265114646e-7 * t1757 * t2057 - 0.265114646e-7 * t373 * t6946 + 0.162638575e-1 * t7060; + const double t7064 = t421 * t6848; + const double t7070 = t1718 * t2043; + const double t7072 = t291 * t6848; + const double t7076 = t1617 * t2043; + const double t7078 = t402 * t6848; + const double t7086 = t1578 * t2052; + const double t7094 = 0.162638575e-1 * t7064 + 0.674910119e-8 * t1674 * t2052 + 0.674910119e-8 * t438 * t6892 + 0.940675747e-2 * t7070 + 0.940675747e-2 * t7072 - 0.691592964e-8 * t1757 * t2052 - 0.884148272e-2 * t7076 - 0.884148272e-2 * t7078 - 0.493824365e-8 * t1624 * t2052 - 0.845508103e-2 * t1674 * t2057 - 0.845508103e-2 * t438 * t6946 - 0.940351563e-5 * t7086 - 0.940351563e-5 * t281 * t6892 - 0.416393106e-7 * t1757 * t2064 + 0.896739466e-3 * t1674 * t2070; + const double t7107 = t1578 * t2043; + const double t7109 = t281 * t6848; + const double t7113 = t1578 * t2070; + const double t7125 = 0.896739466e-3 * t438 * t6867 + 0.631891628e-2 * t1624 * t2057 + 0.668980219e-8 * t455 * t6909 + 0.631891628e-2 * t421 * t6946 - 0.896771404e-2 * t1617 * t2057 - 0.896771404e-2 * t402 * t6946 + 0.100339208e0 * t7107 + 0.100339208e0 * t7109 - 0.691592964e-8 * t373 * t6892 + 0.822139896e-3 * t7113 + 0.822139896e-3 * t281 * t6867 + 0.209603871e-7 * t1624 * t2070 + 0.209603871e-7 * t421 * t6867 - 0.376702959e-7 * t1617 * t2070 - 0.376702959e-7 * t402 * t6867; + const double t7128 = t6912 + t6939 + t6975 + t7006 + t7032 + t7062 + t7094 + t7125; + const double t7132 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t7128 ); + const double t7133 = t1880 * t1880; + const double t7135 = t1862 * t1862; + const double t7138 = t526 * t7135; + const double t7140 = t2243 * t7135; + const double t7143 = t1870 * t1870; + const double t7144 = t78 * t7143; + const double t7152 = t1877 * t1877; + const double t7159 = 0.6e1 * t2270 * t7143 + 0.24e2 * t540 * t7143 + t5494 + t5496; + const double t7162 = piecewise_functor_3( t65, -0.18e2 * t74 * t7135 + t5464 + t5468 - t5472 - 0.12e2 * t7138 + 0.6e2 * t7140, -0.12e2 * t2254 * t1871 * t1877 - 0.24e2 * t2249 * t7144 - 0.2e1 * t2266 * t7152 + 0.6e1 * t530 * t7143 + t537 * t7159 + t5485 ); + const double t7164 = t108 * t7133; + const double t7166 = t111 * t7162; + const double t7168 = t89 * t7133; + const double t7170 = t90 * t7162; + const double t7173 = t88 * t7162; + const double t7175 = 0.3465e4 / 0.8e1 * t7164 + 0.693e3 / 0.8e1 * t7166 - 0.945e3 / 0.4e1 * t7168 - 0.315e3 / 0.4e1 * t7170 + 0.105e3 / 0.8e1 * t7133 + 0.105e3 / 0.8e1 * t7173; + const double t7182 = 0.105e3 / 0.2e1 * t7168 + 0.35e2 / 0.2e1 * t7170 - 0.15e2 / 0.2e1 * t7133 - 0.15e2 / 0.2e1 * t7173; + const double t7187 = t88 * t7133; + const double t7189 = t89 * t7162; + const double t7192 = 0.15e2 * t7187 + 0.15e2 / 0.2e1 * t7189 - 0.3e1 / 0.2e1 * t7162; + const double t7195 = t90 * t7133; + const double t7197 = t108 * t7162; + const double t7202 = 0.315e3 / 0.2e1 * t7195 + 0.315e3 / 0.8e1 * t7197 - 0.105e3 / 0.2e1 * t7187 - 0.105e3 / 0.4e1 * t7189 + 0.15e2 / 0.8e1 * t7162; + const double t7207 = t111 * t7133; + const double t7209 = t118 * t7162; + const double t7216 = 0.9009e4 / 0.8e1 * t7207 + 0.3003e4 / 0.16e2 * t7209 - 0.3465e4 / 0.4e1 * t7195 - 0.3465e4 / 0.16e2 * t7197 + 0.945e3 / 0.8e1 * t7187 + 0.945e3 / 0.16e2 * t7189 - 0.35e2 / 0.16e2 * t7162; + const double t7231 = 0.1406365375513125e-1 * t7133 - 0.4373652639371875e-2 * t7162 + 0.912223751e-8 * t225 * t7175 + 0.162238741e-6 * t107 * t7182 - 0.138472194e-7 * t107 * t7175 - 0.265114646e-7 * t56 * t7192 + 0.236391411e-7 * t56 * t7202 + 0.293253041e-2 * t201 * t7192 - 0.940351563e-5 * t49 * t7216 + 0.13938308465540625e-1 * t7189 + 0.505920757e-7 * t147 * t7192 - 0.845508103e-2 * t193 * t7192 + 0.100339208e0 * t49 * t7162 - 0.189176620712625e-1 * t7195 - 0.4729415517815625e-2 * t7197 + 0.822139896e-3 * t49 * t7202 - 0.240026440066875e-2 * t7164; + const double t7261 = -0.48005288013375e-3 * t7166 + 0.120828626792125e-1 * t7170 + 0.1406365375513125e-1 * t7173 - 0.514204676e-4 * t49 * t7175 + 0.82889846164125e-3 * t7207 + 0.138149743606875e-3 * t7209 + 0.888525527e-8 * t147 * t7216 - 0.303347141e-2 * t49 * t7192 + 0.668980219e-8 * t201 * t7175 - 0.223014657e-8 * t201 * t7216 - 0.338128188e-7 * t147 * t7202 - 0.82957404e-6 * t147 * t7133 + 0.339308972e-2 * t193 * t7182 - 0.43464346e-1 * t201 * t7162 - 0.2637272316e-1 * t49 * t7133 - 0.450310908e-1 * t201 * t7133 + 0.694482484e-8 * t56 * t7175; + const double t7297 = 0.162638575e-1 * t225 * t7162 + 0.674910119e-8 * t193 * t7216 - 0.82957404e-6 * t173 * t7162 - 0.2637272316e-1 * t166 * t7162 - 0.450310908e-1 * t214 * t7162 + 0.842036616e-1 * t198 * t7162 - 0.548733873e-1 * t238 * t7162 + 0.509417745e-6 * t100 * t7162 - 0.565485306e-1 * t140 * t7162 - 0.216860568e-7 * t193 * t7175 + 0.209603871e-7 * t225 * t7202 - 0.774224962e-8 * t147 * t7175 + 0.842036616e-1 * t193 * t7133 - 0.548733873e-1 * t225 * t7133 + 0.509417745e-6 * t56 * t7133 - 0.565485306e-1 * t107 * t7133 - 0.35104103e-3 * t201 * t7202; + const double t7332 = -0.376702959e-7 * t107 * t7202 + 0.940675747e-2 * t147 * t7162 - 0.691592964e-8 * t56 * t7216 + 0.631891628e-2 * t225 * t7192 + 0.182906057e-2 * t201 * t7182 + 0.554588743e-7 * t147 * t7182 - 0.182177954e-1 * t193 * t7162 + 0.896739466e-3 * t193 * t7202 + 0.362485880376375e-1 * t7168 + 0.2787661693108125e-1 * t7187 - 0.884148272e-2 * t107 * t7162 - 0.493824365e-8 * t225 * t7216 + 0.119130546e-2 * t49 * t7182 - 0.790811707e-7 * t225 * t7182 - 0.957417512e-2 * t56 * t7162 + 0.850272392e-8 * t107 * t7216 - 0.896771404e-2 * t107 * t7192 - 0.416393106e-7 * t56 * t7182; + const double t7334 = t7231 + t7261 + t7297 + t7332; + const double t7338 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t7334 ); + const double t7339 = t2025 * t2025; + const double t7342 = t906 * t7339; + const double t7344 = t2924 * t7339; + const double t7347 = t2033 * t2033; + const double t7348 = t313 * t7347; + const double t7356 = t2040 * t2040; + const double t7363 = 0.6e1 * t2951 * t7347 + 0.24e2 * t920 * t7347 + t6020 + t6022; + const double t7366 = piecewise_functor_3( t300, -0.18e2 * t309 * t7339 + t5990 + t5994 - t5998 - 0.12e2 * t7342 + 0.6e2 * t7344, -0.12e2 * t2935 * t2034 * t2040 - 0.24e2 * t2930 * t7348 - 0.2e1 * t2947 * t7356 + 0.6e1 * t910 * t7347 + t917 * t7363 + t6011 ); + const double t7368 = t2043 * t2043; + const double t7370 = t325 * t7368; + const double t7372 = t326 * t7366; + const double t7374 = t323 * t7368; + const double t7376 = t324 * t7366; + const double t7379 = 0.315e3 / 0.2e1 * t7370 + 0.315e3 / 0.8e1 * t7372 - 0.105e3 / 0.2e1 * t7374 - 0.105e3 / 0.4e1 * t7376 + 0.15e2 / 0.8e1 * t7366; + const double t7382 = t326 * t7368; + const double t7384 = t329 * t7366; + const double t7386 = t324 * t7368; + const double t7388 = t325 * t7366; + const double t7391 = t323 * t7366; + const double t7393 = 0.3465e4 / 0.8e1 * t7382 + 0.693e3 / 0.8e1 * t7384 - 0.945e3 / 0.4e1 * t7386 - 0.315e3 / 0.4e1 * t7388 + 0.105e3 / 0.8e1 * t7368 + 0.105e3 / 0.8e1 * t7391; + const double t7398 = t329 * t7368; + const double t7400 = t336 * t7366; + const double t7407 = 0.9009e4 / 0.8e1 * t7398 + 0.3003e4 / 0.16e2 * t7400 - 0.3465e4 / 0.4e1 * t7370 - 0.3465e4 / 0.16e2 * t7372 + 0.945e3 / 0.8e1 * t7374 + 0.945e3 / 0.16e2 * t7376 - 0.35e2 / 0.16e2 * t7366; + const double t7414 = 0.105e3 / 0.2e1 * t7386 + 0.35e2 / 0.2e1 * t7388 - 0.15e2 / 0.2e1 * t7368 - 0.15e2 / 0.2e1 * t7391; + const double t7420 = 0.15e2 * t7374 + 0.15e2 / 0.2e1 * t7376 - 0.3e1 / 0.2e1 * t7366; + const double t7441 = -0.4373652639371875e-2 * t7366 + 0.1406365375513125e-1 * t7368 + 0.896739466e-3 * t438 * t7379 - 0.216860568e-7 * t438 * t7393 + 0.162638575e-1 * t421 * t7366 + 0.674910119e-8 * t438 * t7407 - 0.790811707e-7 * t421 * t7414 + 0.631891628e-2 * t421 * t7420 + 0.209603871e-7 * t421 * t7379 + 0.339308972e-2 * t438 * t7414 - 0.845508103e-2 * t438 * t7420 + 0.842036616e-1 * t452 * t7366 - 0.548733873e-1 * t434 * t7366 - 0.565485306e-1 * t417 * t7366 + 0.509417745e-6 * t397 * t7366 - 0.82957404e-6 * t368 * t7366 - 0.2637272316e-1 * t482 * t7366; + const double t7471 = -0.450310908e-1 * t468 * t7366 - 0.223014657e-8 * t455 * t7407 - 0.182177954e-1 * t438 * t7366 + 0.668980219e-8 * t455 * t7393 - 0.35104103e-3 * t455 * t7379 - 0.376702959e-7 * t402 * t7379 + 0.162238741e-6 * t402 * t7414 - 0.896771404e-2 * t402 * t7420 - 0.940351563e-5 * t281 * t7407 - 0.514204676e-4 * t281 * t7393 - 0.884148272e-2 * t402 * t7366 + 0.82889846164125e-3 * t7398 + 0.362485880376375e-1 * t7386 - 0.240026440066875e-2 * t7382 + 0.120828626792125e-1 * t7388 + 0.1406365375513125e-1 * t7391 + 0.554588743e-7 * t291 * t7414; + const double t7503 = 0.2787661693108125e-1 * t7374 + 0.13938308465540625e-1 * t7376 + 0.505920757e-7 * t291 * t7420 + 0.509417745e-6 * t373 * t7368 - 0.82957404e-6 * t291 * t7368 - 0.338128188e-7 * t291 * t7379 - 0.493824365e-8 * t421 * t7407 + 0.912223751e-8 * t421 * t7393 + 0.119130546e-2 * t281 * t7414 - 0.2637272316e-1 * t281 * t7368 - 0.450310908e-1 * t455 * t7368 + 0.822139896e-3 * t281 * t7379 + 0.100339208e0 * t281 * t7366 - 0.303347141e-2 * t281 * t7420 - 0.774224962e-8 * t291 * t7393 + 0.138149743606875e-3 * t7400 - 0.189176620712625e-1 * t7370; + const double t7538 = -0.4729415517815625e-2 * t7372 - 0.691592964e-8 * t373 * t7407 + 0.940675747e-2 * t291 * t7366 + 0.888525527e-8 * t291 * t7407 - 0.416393106e-7 * t373 * t7414 - 0.957417512e-2 * t373 * t7366 + 0.850272392e-8 * t402 * t7407 - 0.48005288013375e-3 * t7384 - 0.138472194e-7 * t402 * t7393 + 0.236391411e-7 * t373 * t7379 - 0.265114646e-7 * t373 * t7420 + 0.842036616e-1 * t438 * t7368 - 0.548733873e-1 * t421 * t7368 - 0.565485306e-1 * t402 * t7368 - 0.43464346e-1 * t455 * t7366 + 0.182906057e-2 * t455 * t7414 + 0.293253041e-2 * t455 * t7420 + 0.694482484e-8 * t373 * t7393; + const double t7540 = t7441 + t7471 + t7503 + t7538; + const double t7544 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t7540 ); + + + v2rho2_aa = 0.2e1 * t850 + 0.2e1 * t866 + t7 * ( t2781 + t2808 ); + v2rho2_bb = 0.2e1 * t879 + 0.2e1 * t1226 + t7 * ( t2881 + t3458 ); + v2rhosigma_a_aa = t7 * t4105 + t1543; + v2rhosigma_b_bb = t7 * t4763 + t1858; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t5104 + t2021; + v2rhotau_b_b = t7 * t5457 + t2184; + v2sigma2_aa_aa = t7 * t5980; + v2sigma2_bb_bb = t7 * t6502; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t6817; + v2sigmatau_bb_b = t7 * t7132; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t7338; + v2tau2_bb = t7 * t7544; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t552 = t29 * t29; + constexpr double t554 = 0.1e1 / t31 / t30; + constexpr double t555 = t552 * t554; + constexpr double t2302 = t30 * t30; + constexpr double t2303 = 0.1e1 / t2302; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = t19 + 0.1e1; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.65124e1 + t34 * t40 / 0.24e2; + const double t44 = 0.1e1 / t43; + const double t46 = t34 * t40 * t44; + const double t49 = t46 / 0.12e2 - 0.1e1; + const double t50 = t49 * t49; + const double t51 = t50 * t50; + const double t52 = t51 * t50; + const double t56 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t52 - 0.315e3 / 0.16e2 * t51 + 0.105e3 / 0.16e2 * t50; + const double t58 = 0.1e1 / t37 / rho_a; + const double t64 = 0.5e1 / 0.9e1 * ( tau_a * t58 - t40 / 0.8e1 ) * t29 * t33; + const double t65 = 0.1e5 <= t64; + const double t66 = 0.1e5 < t64; + const double t67 = piecewise_functor_3( t66, t64, 10000.0 ); + const double t68 = t67 * t67; + const double t71 = t68 * t67; + const double t72 = 0.1e1 / t71; + const double t73 = t68 * t68; + const double t74 = 0.1e1 / t73; + const double t77 = piecewise_functor_3( t66, 10000.0, t64 ); + const double t78 = t77 * t77; + const double t79 = 0.1e1 - t78; + const double t80 = t79 * t79; + const double t81 = t80 * t79; + const double t82 = t78 * t77; + const double t83 = 0.1e1 + t82; + const double t85 = t82 * t83 + 0.1e1; + const double t86 = 0.1e1 / t85; + const double t88 = piecewise_functor_3( t65, 0.1e1 - 0.3e1 / t68 - t72 + 0.3e1 * t74, -t81 * t86 ); + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t93 = 0.5e1 / 0.2e1 * t90 - 0.3e1 / 0.2e1 * t88; + const double t97 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t89; + const double t100 = t56 * t88; + const double t102 = t51 * t49; + const double t104 = t50 * t49; + const double t107 = 0.63e2 / 0.8e1 * t102 - 0.35e2 / 0.4e1 * t104 + 0.5e1 / 0.32e2 * t46 - 0.15e2 / 0.8e1; + const double t108 = t89 * t89; + const double t109 = t108 * t90; + const double t111 = t108 * t88; + const double t115 = 0.429e3 / 0.16e2 * t109 - 0.693e3 / 0.16e2 * t111 + 0.315e3 / 0.16e2 * t90 - 0.35e2 / 0.16e2 * t88; + const double t118 = t108 * t89; + const double t122 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t118 - 0.315e3 / 0.16e2 * t108 + 0.105e3 / 0.16e2 * t89; + const double t128 = 0.63e2 / 0.8e1 * t111 - 0.35e2 / 0.4e1 * t90 + 0.15e2 / 0.8e1 * t88; + const double t133 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t108 - 0.15e2 / 0.4e1 * t89; + const double t140 = t107 * t88; + const double t142 = t51 * t104; + const double t147 = 0.429e3 / 0.16e2 * t142 - 0.693e3 / 0.16e2 * t102 + 0.315e3 / 0.16e2 * t104 - 0.35e2 / 0.192e3 * t46 + 0.35e2 / 0.16e2; + const double t157 = -0.13022208355989583333e-1 * t46 - 0.265114646e-7 * t56 * t93 + 0.169805915e-6 * t56 * t97 - 0.957417512e-2 * t100 + 0.850272392e-8 * t107 * t115 - 0.138472194e-7 * t107 * t122 - 0.376702959e-7 * t107 * t128 + 0.162238741e-6 * t107 * t133 - 0.896771404e-2 * t107 * t93 - 0.188495102e-1 * t107 * t97 - 0.884148272e-2 * t140 + 0.888525527e-8 * t147 * t115 - 0.774224962e-8 * t147 * t122 - 0.338128188e-7 * t147 * t128 + 0.554588743e-7 * t147 * t133 - 0.138056183978125e0 * t51; + const double t166 = t49 * t88; + const double t173 = t147 * t88; + const double t185 = -0.92294814328125e-1 * t50 + 0.19735677658125e-4 * t109 + 0.119130546e-2 * t49 * t133 - 0.303347141e-2 * t49 * t93 - 0.879090772e-2 * t49 * t97 + 0.100339208e0 * t166 + 0.497944638409375e0 * t104 + 0.505920757e-7 * t147 * t93 - 0.27652468e-6 * t147 * t97 + 0.940675747e-2 * t173 - 0.691592964e-8 * t56 * t115 + 0.694482484e-8 * t56 * t122 + 0.236391411e-7 * t56 * t128 - 0.416393106e-7 * t56 * t133 + 0.80024660533125e-1 * t52 - 0.395061199588125e0 * t102; + const double t193 = 0.5e1 / 0.2e1 * t104 - t46 / 0.8e1 + 0.3e1 / 0.2e1; + const double t198 = t193 * t88; + const double t201 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t50; + const double t214 = t201 * t88; + const double t220 = 0.106025815520625e0 * t142 - 0.4373652639371875e-2 * t88 - 0.945883103563125e-3 * t111 + 0.4646102821846875e-2 * t90 - 0.845508103e-2 * t193 * t93 + 0.280678872e-1 * t193 * t97 - 0.182177954e-1 * t198 - 0.223014657e-8 * t201 * t115 + 0.668980219e-8 * t201 * t122 - 0.35104103e-3 * t201 * t128 + 0.182906057e-2 * t201 * t133 + 0.293253041e-2 * t201 * t93 - 0.150103636e-1 * t201 * t97 - 0.43464346e-1 * t214 - 0.940351563e-5 * t49 * t115 - 0.514204676e-4 * t49 * t122; + const double t225 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t51 - 0.15e2 / 0.4e1 * t50; + const double t238 = t225 * t88; + const double t251 = 0.1380567225218996875e1 + 0.822139896e-3 * t49 * t128 - 0.493824365e-8 * t225 * t115 + 0.912223751e-8 * t225 * t122 + 0.209603871e-7 * t225 * t128 - 0.790811707e-7 * t225 * t133 + 0.631891628e-2 * t225 * t93 - 0.182911291e-1 * t225 * t97 + 0.162638575e-1 * t238 + 0.674910119e-8 * t193 * t115 - 0.216860568e-7 * t193 * t122 + 0.896739466e-3 * t193 * t128 + 0.339308972e-2 * t193 * t133 - 0.80008813355625e-4 * t118 + 0.3020715669803125e-2 * t108 + 0.7031826877565625e-2 * t89; + const double t253 = t157 + t185 + t220 + t251; + const double t257 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t253 ); + const double t258 = rho_b <= dens_tol; + const double t259 = -t17; + const double t261 = piecewise_functor_5( t15, t12, t11, t16, t259 * t8 ); + const double t262 = t261 + 0.1e1; + const double t263 = t262 <= zeta_tol; + const double t264 = safe_math::cbrt( t262 ); + const double t266 = piecewise_functor_3( t263, t23, t264 * t262 ); + const double t267 = t266 * t27; + const double t268 = rho_b * rho_b; + const double t269 = safe_math::cbrt( rho_b ); + const double t270 = t269 * t269; + const double t272 = 0.1e1 / t270 / t268; + const double t273 = sigma_bb * t272; + const double t276 = 0.65124e1 + t34 * t273 / 0.24e2; + const double t277 = 0.1e1 / t276; + const double t279 = t34 * t273 * t277; + const double t281 = t279 / 0.12e2 - 0.1e1; + const double t282 = t281 * t281; + const double t283 = t282 * t281; + const double t284 = t282 * t282; + const double t285 = t284 * t283; + const double t287 = t284 * t281; + const double t291 = 0.429e3 / 0.16e2 * t285 - 0.693e3 / 0.16e2 * t287 + 0.315e3 / 0.16e2 * t283 - 0.35e2 / 0.192e3 * t279 + 0.35e2 / 0.16e2; + const double t293 = 0.1e1 / t270 / rho_b; + const double t299 = 0.5e1 / 0.9e1 * ( tau_b * t293 - t273 / 0.8e1 ) * t29 * t33; + const double t300 = 0.1e5 <= t299; + const double t301 = 0.1e5 < t299; + const double t302 = piecewise_functor_3( t301, t299, 10000.0 ); + const double t303 = t302 * t302; + const double t306 = t303 * t302; + const double t307 = 0.1e1 / t306; + const double t308 = t303 * t303; + const double t309 = 0.1e1 / t308; + const double t312 = piecewise_functor_3( t301, 10000.0, t299 ); + const double t313 = t312 * t312; + const double t314 = 0.1e1 - t313; + const double t315 = t314 * t314; + const double t316 = t315 * t314; + const double t317 = t313 * t312; + const double t318 = 0.1e1 + t317; + const double t320 = t317 * t318 + 0.1e1; + const double t321 = 0.1e1 / t320; + const double t323 = piecewise_functor_3( t300, 0.1e1 - 0.3e1 / t303 - t307 + 0.3e1 * t309, -t316 * t321 ); + const double t324 = t323 * t323; + const double t325 = t324 * t323; + const double t326 = t324 * t324; + const double t327 = t326 * t325; + const double t329 = t326 * t323; + const double t333 = 0.429e3 / 0.16e2 * t327 - 0.693e3 / 0.16e2 * t329 + 0.315e3 / 0.16e2 * t325 - 0.35e2 / 0.16e2 * t323; + const double t336 = t326 * t324; + const double t340 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t336 - 0.315e3 / 0.16e2 * t326 + 0.105e3 / 0.16e2 * t324; + const double t345 = t284 * t282; + const double t351 = 0.63e2 / 0.8e1 * t329 - 0.35e2 / 0.4e1 * t325 + 0.15e2 / 0.8e1 * t323; + const double t356 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t326 - 0.15e2 / 0.4e1 * t324; + const double t361 = 0.5e1 / 0.2e1 * t325 - 0.3e1 / 0.2e1 * t323; + const double t365 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t324; + const double t368 = t291 * t323; + const double t373 = -0.5e1 / 0.16e2 + 0.231e3 / 0.16e2 * t345 - 0.315e3 / 0.16e2 * t284 + 0.105e3 / 0.16e2 * t282; + const double t382 = 0.888525527e-8 * t291 * t333 - 0.774224962e-8 * t291 * t340 + 0.19735677658125e-4 * t327 - 0.395061199588125e0 * t287 + 0.80024660533125e-1 * t345 - 0.138056183978125e0 * t284 - 0.338128188e-7 * t291 * t351 + 0.554588743e-7 * t291 * t356 + 0.505920757e-7 * t291 * t361 - 0.27652468e-6 * t291 * t365 + 0.940675747e-2 * t368 - 0.691592964e-8 * t373 * t333 + 0.694482484e-8 * t373 * t340 + 0.236391411e-7 * t373 * t351 - 0.4373652639371875e-2 * t323 - 0.945883103563125e-3 * t329; + const double t397 = t373 * t323; + const double t402 = 0.63e2 / 0.8e1 * t287 - 0.35e2 / 0.4e1 * t283 + 0.5e1 / 0.32e2 * t279 - 0.15e2 / 0.8e1; + const double t409 = 0.1380567225218996875e1 + 0.4646102821846875e-2 * t325 + 0.106025815520625e0 * t285 + 0.497944638409375e0 * t283 - 0.92294814328125e-1 * t282 - 0.80008813355625e-4 * t336 + 0.3020715669803125e-2 * t326 + 0.7031826877565625e-2 * t324 - 0.13022208355989583333e-1 * t279 - 0.416393106e-7 * t373 * t356 - 0.265114646e-7 * t373 * t361 + 0.169805915e-6 * t373 * t365 - 0.957417512e-2 * t397 + 0.850272392e-8 * t402 * t333 - 0.138472194e-7 * t402 * t340 - 0.376702959e-7 * t402 * t351; + const double t417 = t402 * t323; + const double t421 = 0.3e1 / 0.8e1 + 0.35e2 / 0.8e1 * t284 - 0.15e2 / 0.4e1 * t282; + const double t434 = t421 * t323; + const double t438 = 0.5e1 / 0.2e1 * t283 - t279 / 0.8e1 + 0.3e1 / 0.2e1; + const double t449 = 0.162238741e-6 * t402 * t356 - 0.896771404e-2 * t402 * t361 - 0.188495102e-1 * t402 * t365 - 0.884148272e-2 * t417 - 0.493824365e-8 * t421 * t333 + 0.912223751e-8 * t421 * t340 + 0.209603871e-7 * t421 * t351 - 0.790811707e-7 * t421 * t356 + 0.631891628e-2 * t421 * t361 - 0.182911291e-1 * t421 * t365 + 0.162638575e-1 * t434 + 0.674910119e-8 * t438 * t333 - 0.216860568e-7 * t438 * t340 + 0.896739466e-3 * t438 * t351 + 0.339308972e-2 * t438 * t356 - 0.845508103e-2 * t438 * t361; + const double t452 = t438 * t323; + const double t455 = -0.1e1 / 0.2e1 + 0.3e1 / 0.2e1 * t282; + const double t468 = t455 * t323; + const double t482 = t281 * t323; + const double t484 = 0.280678872e-1 * t438 * t365 - 0.182177954e-1 * t452 - 0.223014657e-8 * t455 * t333 + 0.668980219e-8 * t455 * t340 - 0.35104103e-3 * t455 * t351 + 0.182906057e-2 * t455 * t356 + 0.293253041e-2 * t455 * t361 - 0.150103636e-1 * t455 * t365 - 0.43464346e-1 * t468 - 0.940351563e-5 * t281 * t333 - 0.514204676e-4 * t281 * t340 + 0.822139896e-3 * t281 * t351 + 0.119130546e-2 * t281 * t356 - 0.303347141e-2 * t281 * t361 - 0.879090772e-2 * t281 * t365 + 0.100339208e0 * t482; + const double t486 = t382 + t409 + t449 + t484; + const double t490 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t486 ); + const double t491 = t7 * t7; + const double t492 = 0.1e1 / t491; + const double t493 = t17 * t492; + const double t495 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t493 ); + const double t498 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t495 ); + const double t499 = t498 * t27; + const double t503 = t27 * t27; + const double t504 = 0.1e1 / t503; + const double t505 = t26 * t504; + const double t508 = t6 * t505 * t253 / 0.8e1; + const double t511 = t35 * rho_a; + const double t513 = 0.1e1 / t37 / t511; + const double t514 = sigma_aa * t513; + const double t519 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau_a * t39 + t514 / 0.3e1 ) * t29 * t33; + const double t520 = piecewise_functor_3( t66, t519, 0.0 ); + const double t523 = t74 * t520; + const double t526 = 0.1e1 / t73 / t67; + const double t527 = t526 * t520; + const double t530 = t80 * t86; + const double t531 = piecewise_functor_3( t66, 0.0, t519 ); + const double t532 = t77 * t531; + const double t535 = t85 * t85; + const double t536 = 0.1e1 / t535; + const double t537 = t81 * t536; + const double t538 = t78 * t83; + const double t540 = t78 * t78; + const double t541 = t540 * t77; + const double t544 = 0.3e1 * t538 * t531 + 0.3e1 * t541 * t531; + const double t547 = piecewise_functor_3( t65, 0.6e1 * t72 * t520 + 0.3e1 * t523 - 0.12e2 * t527, 0.6e1 * t530 * t532 + t537 * t544 ); + const double t550 = t34 * t514 * t44; + const double t556 = sigma_aa * sigma_aa; + const double t557 = t35 * t35; + const double t558 = t557 * t35; + const double t560 = 0.1e1 / t36 / t558; + const double t562 = t43 * t43; + const double t563 = 0.1e1 / t562; + const double t565 = t555 * t556 * t560 * t563; + const double t567 = t118 * t547; + const double t569 = t108 * t547; + const double t571 = t89 * t547; + const double t574 = 0.3003e4 / 0.16e2 * t567 - 0.3465e4 / 0.16e2 * t569 + 0.945e3 / 0.16e2 * t571 - 0.35e2 / 0.16e2 * t547; + const double t580 = 0.315e3 / 0.8e1 * t569 - 0.105e3 / 0.4e1 * t571 + 0.15e2 / 0.8e1 * t547; + const double t585 = -0.2e1 / 0.9e1 * t550 + t565 / 0.108e3; + const double t586 = t52 * t585; + const double t588 = t51 * t585; + const double t590 = t50 * t585; + const double t594 = 0.3003e4 / 0.16e2 * t586 - 0.3465e4 / 0.16e2 * t588 + 0.945e3 / 0.16e2 * t590 + 0.35e2 / 0.72e2 * t550 - 0.35e2 / 0.1728e4 * t565; + const double t597 = t111 * t547; + const double t599 = t90 * t547; + const double t601 = t88 * t547; + const double t603 = 0.693e3 / 0.8e1 * t597 - 0.315e3 / 0.4e1 * t599 + 0.105e3 / 0.8e1 * t601; + const double t612 = 0.35e2 / 0.2e1 * t599 - 0.15e2 / 0.2e1 * t601; + const double t619 = 0.15e2 / 0.2e1 * t571 - 0.3e1 / 0.2e1 * t547; + const double t626 = -0.4373652639371875e-2 * t547 + 0.34725888949305555555e-1 * t550 - 0.14469120395543981481e-2 * t565 + 0.888525527e-8 * t147 * t574 - 0.338128188e-7 * t147 * t580 - 0.774224962e-8 * t594 * t122 - 0.774224962e-8 * t147 * t603 + 0.888525527e-8 * t594 * t115 + 0.554588743e-7 * t594 * t133 + 0.554588743e-7 * t147 * t612 + 0.505920757e-7 * t594 * t93 + 0.505920757e-7 * t147 * t619 - 0.338128188e-7 * t594 * t128 - 0.27652468e-6 * t594 * t97; + const double t627 = t594 * t88; + const double t629 = t147 * t547; + const double t631 = t102 * t585; + const double t633 = t104 * t585; + const double t635 = t49 * t585; + const double t637 = 0.693e3 / 0.8e1 * t631 - 0.315e3 / 0.4e1 * t633 + 0.105e3 / 0.8e1 * t635; + const double t657 = t637 * t88; + const double t661 = 0.940675747e-2 * t627 + 0.940675747e-2 * t629 - 0.691592964e-8 * t637 * t115 - 0.691592964e-8 * t56 * t574 + 0.694482484e-8 * t637 * t122 + 0.742180708644375e0 * t586 - 0.416393106e-7 * t637 * t133 - 0.416393106e-7 * t56 * t612 + 0.694482484e-8 * t56 * t603 + 0.236391411e-7 * t637 * t128 + 0.236391411e-7 * t56 * t580 + 0.169805915e-6 * t637 * t97 - 0.957417512e-2 * t657 + 0.850272392e-8 * t107 * t574; + const double t672 = 0.315e3 / 0.8e1 * t588 - 0.105e3 / 0.4e1 * t590 - 0.5e1 / 0.12e2 * t550 + 0.5e1 / 0.288e3 * t565; + const double t679 = t56 * t547; + const double t695 = 0.48014796319875e0 * t631 - 0.265114646e-7 * t637 * t93 - 0.265114646e-7 * t56 * t619 - 0.138472194e-7 * t672 * t122 - 0.138472194e-7 * t107 * t603 - 0.376702959e-7 * t672 * t128 - 0.957417512e-2 * t679 + 0.850272392e-8 * t672 * t115 - 0.493824365e-8 * t225 * t574 - 0.896771404e-2 * t672 * t93 - 0.896771404e-2 * t107 * t619 - 0.188495102e-1 * t672 * t97 - 0.376702959e-7 * t107 * t580 + 0.162238741e-6 * t672 * t133; + const double t702 = 0.35e2 / 0.2e1 * t633 - 0.15e2 / 0.2e1 * t635; + const double t710 = t672 * t88; + const double t712 = t107 * t547; + const double t726 = 0.162238741e-6 * t107 * t612 + 0.209603871e-7 * t225 * t580 - 0.790811707e-7 * t702 * t133 + 0.912223751e-8 * t702 * t122 + 0.912223751e-8 * t225 * t603 - 0.1975305997940625e1 * t588 - 0.884148272e-2 * t710 - 0.884148272e-2 * t712 - 0.493824365e-8 * t702 * t115 - 0.790811707e-7 * t225 * t612 + 0.631891628e-2 * t702 * t93 + 0.631891628e-2 * t225 * t619 - 0.182911291e-1 * t702 * t97 + 0.209603871e-7 * t702 * t128; + const double t732 = 0.15e2 / 0.2e1 * t590 + t550 / 0.3e1 - t565 / 0.72e2; + const double t743 = t702 * t88; + const double t745 = t225 * t547; + const double t751 = t193 * t547; + const double t759 = 0.339308972e-2 * t732 * t133 + 0.339308972e-2 * t193 * t612 - 0.216860568e-7 * t732 * t122 - 0.216860568e-7 * t193 * t603 - 0.5522247359125e0 * t633 - 0.18458962865625e0 * t635 + 0.162638575e-1 * t743 + 0.162638575e-1 * t745 + 0.674910119e-8 * t732 * t115 + 0.674910119e-8 * t193 * t574 - 0.182177954e-1 * t751 - 0.223014657e-8 * t201 * t574 - 0.845508103e-2 * t732 * t93 - 0.845508103e-2 * t193 * t619; + const double t769 = t732 * t88; + const double t782 = t585 * t128; + const double t785 = 0.280678872e-1 * t732 * t97 + 0.896739466e-3 * t732 * t128 + 0.896739466e-3 * t193 * t580 + 0.668980219e-8 * t201 * t603 + 0.1493833915228125e1 * t590 - 0.182177954e-1 * t769 + 0.293253041e-2 * t201 * t619 - 0.35104103e-3 * t201 * t580 + 0.182906057e-2 * t201 * t612 + 0.138149743606875e-3 * t567 - 0.940351563e-5 * t49 * t574 - 0.514204676e-4 * t49 * t603 + 0.822139896e-3 * t782 - 0.4729415517815625e-2 * t569; + const double t789 = t201 * t547; + const double t791 = t585 * t115; + const double t793 = t585 * t97; + const double t795 = t585 * t88; + const double t797 = t49 * t547; + const double t799 = t585 * t133; + const double t805 = t585 * t93; + const double t810 = t585 * t122; + const double t812 = 0.822139896e-3 * t49 * t580 - 0.43464346e-1 * t789 - 0.940351563e-5 * t791 - 0.879090772e-2 * t793 + 0.100339208e0 * t795 + 0.100339208e0 * t797 + 0.119130546e-2 * t799 + 0.120828626792125e-1 * t599 + 0.1406365375513125e-1 * t601 + 0.119130546e-2 * t49 * t612 - 0.303347141e-2 * t805 + 0.13938308465540625e-1 * t571 - 0.303347141e-2 * t49 * t619 - 0.514204676e-4 * t810; + const double t842 = -0.48005288013375e-3 * t597 - 0.2637272316e-1 * t166 * t547 - 0.669043971e-8 * t635 * t115 + 0.2006940657e-7 * t635 * t122 - 0.105312309e-2 * t635 * t128 + 0.548718171e-2 * t635 * t133 + 0.879759123e-2 * t635 * t93 - 0.450310908e-1 * t635 * t97 - 0.450310908e-1 * t214 * t547 - 0.130393038e0 * t635 * t88 + 0.842036616e-1 * t198 * t547 - 0.548733873e-1 * t238 * t547 - 0.565485306e-1 * t140 * t547 + 0.509417745e-6 * t100 * t547 - 0.82957404e-6 * t173 * t547; + const double t845 = t626 + t661 + t695 + t726 + t759 + t785 + t812 + t842; + const double t850 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t253 - t508 - 0.3e1 / 0.8e1 * t6 * t28 * t845 ); + const double t851 = t259 * t492; + const double t853 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t851 ); + const double t856 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.3e1 * t264 * t853 ); + const double t857 = t856 * t27; + const double t861 = t266 * t504; + const double t864 = t6 * t861 * t486 / 0.8e1; + const double t866 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t857 * t486 - t864 ); + const double t870 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t493 ); + const double t873 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t870 ); + const double t874 = t873 * t27; + const double t879 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t874 * t253 - t508 ); + const double t881 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t851 ); + const double t884 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.3e1 * t264 * t881 ); + const double t885 = t884 * t27; + const double t891 = t268 * rho_b; + const double t893 = 0.1e1 / t270 / t891; + const double t894 = sigma_bb * t893; + const double t899 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau_b * t272 + t894 / 0.3e1 ) * t29 * t33; + const double t900 = piecewise_functor_3( t301, t899, 0.0 ); + const double t903 = t309 * t900; + const double t906 = 0.1e1 / t308 / t302; + const double t907 = t906 * t900; + const double t910 = t315 * t321; + const double t911 = piecewise_functor_3( t301, 0.0, t899 ); + const double t912 = t312 * t911; + const double t915 = t320 * t320; + const double t916 = 0.1e1 / t915; + const double t917 = t316 * t916; + const double t918 = t313 * t318; + const double t920 = t313 * t313; + const double t921 = t920 * t312; + const double t924 = 0.3e1 * t918 * t911 + 0.3e1 * t921 * t911; + const double t927 = piecewise_functor_3( t300, 0.6e1 * t307 * t900 + 0.3e1 * t903 - 0.12e2 * t907, 0.6e1 * t910 * t912 + t917 * t924 ); + const double t930 = t34 * t894 * t277; + const double t932 = sigma_bb * sigma_bb; + const double t933 = t268 * t268; + const double t934 = t933 * t268; + const double t936 = 0.1e1 / t269 / t934; + const double t938 = t276 * t276; + const double t939 = 0.1e1 / t938; + const double t941 = t555 * t932 * t936 * t939; + const double t945 = -0.2e1 / 0.9e1 * t930 + t941 / 0.108e3; + const double t946 = t345 * t945; + const double t948 = t284 * t945; + const double t950 = t282 * t945; + const double t954 = 0.3003e4 / 0.16e2 * t946 - 0.3465e4 / 0.16e2 * t948 + 0.945e3 / 0.16e2 * t950 + 0.35e2 / 0.72e2 * t930 - 0.35e2 / 0.1728e4 * t941; + const double t957 = t336 * t927; + const double t959 = t326 * t927; + const double t961 = t324 * t927; + const double t964 = 0.3003e4 / 0.16e2 * t957 - 0.3465e4 / 0.16e2 * t959 + 0.945e3 / 0.16e2 * t961 - 0.35e2 / 0.16e2 * t927; + const double t972 = 0.315e3 / 0.8e1 * t959 - 0.105e3 / 0.4e1 * t961 + 0.15e2 / 0.8e1 * t927; + const double t977 = t329 * t927; + const double t979 = t325 * t927; + const double t981 = t323 * t927; + const double t983 = 0.693e3 / 0.8e1 * t977 - 0.315e3 / 0.4e1 * t979 + 0.105e3 / 0.8e1 * t981; + const double t990 = 0.35e2 / 0.2e1 * t979 - 0.15e2 / 0.2e1 * t981; + const double t997 = 0.15e2 / 0.2e1 * t961 - 0.3e1 / 0.2e1 * t927; + const double t1000 = t287 * t945; + const double t1002 = t283 * t945; + const double t1004 = t281 * t945; + const double t1006 = 0.693e3 / 0.8e1 * t1000 - 0.315e3 / 0.4e1 * t1002 + 0.105e3 / 0.8e1 * t1004; + const double t1009 = -0.4373652639371875e-2 * t927 + 0.34725888949305555555e-1 * t930 - 0.14469120395543981481e-2 * t941 + 0.888525527e-8 * t954 * t333 + 0.888525527e-8 * t291 * t964 - 0.338128188e-7 * t954 * t351 - 0.338128188e-7 * t291 * t972 - 0.774224962e-8 * t954 * t340 - 0.774224962e-8 * t291 * t983 + 0.554588743e-7 * t954 * t356 + 0.554588743e-7 * t291 * t990 + 0.505920757e-7 * t954 * t361 + 0.505920757e-7 * t291 * t997 - 0.691592964e-8 * t1006 * t333; + const double t1015 = t954 * t323; + const double t1017 = t291 * t927; + const double t1035 = 0.315e3 / 0.8e1 * t948 - 0.105e3 / 0.4e1 * t950 - 0.5e1 / 0.12e2 * t930 + 0.5e1 / 0.288e3 * t941; + const double t1042 = -0.691592964e-8 * t373 * t964 + 0.742180708644375e0 * t946 - 0.27652468e-6 * t954 * t365 + 0.940675747e-2 * t1015 + 0.940675747e-2 * t1017 - 0.416393106e-7 * t1006 * t356 - 0.416393106e-7 * t373 * t990 + 0.694482484e-8 * t1006 * t340 + 0.694482484e-8 * t373 * t983 + 0.236391411e-7 * t1006 * t351 + 0.236391411e-7 * t373 * t972 + 0.850272392e-8 * t1035 * t333 + 0.850272392e-8 * t402 * t964 - 0.265114646e-7 * t1006 * t361; + const double t1061 = t1006 * t323; + const double t1063 = t373 * t927; + const double t1065 = t1035 * t323; + const double t1067 = t402 * t927; + const double t1071 = 0.35e2 / 0.2e1 * t1002 - 0.15e2 / 0.2e1 * t1004; + const double t1074 = -0.265114646e-7 * t373 * t997 + 0.169805915e-6 * t1006 * t365 - 0.376702959e-7 * t1035 * t351 - 0.376702959e-7 * t402 * t972 + 0.162238741e-6 * t1035 * t356 + 0.162238741e-6 * t402 * t990 - 0.138472194e-7 * t1035 * t340 - 0.138472194e-7 * t402 * t983 + 0.48014796319875e0 * t1000 - 0.957417512e-2 * t1061 - 0.957417512e-2 * t1063 - 0.884148272e-2 * t1065 - 0.884148272e-2 * t1067 - 0.493824365e-8 * t1071 * t333; + const double t1101 = 0.15e2 / 0.2e1 * t950 + t930 / 0.3e1 - t941 / 0.72e2; + const double t1106 = -0.493824365e-8 * t421 * t964 - 0.896771404e-2 * t1035 * t361 - 0.896771404e-2 * t402 * t997 - 0.188495102e-1 * t1035 * t365 - 0.790811707e-7 * t421 * t990 + 0.631891628e-2 * t1071 * t361 + 0.631891628e-2 * t421 * t997 + 0.209603871e-7 * t1071 * t351 + 0.209603871e-7 * t421 * t972 + 0.912223751e-8 * t1071 * t340 + 0.912223751e-8 * t421 * t983 - 0.1975305997940625e1 * t948 - 0.216860568e-7 * t1101 * t340 - 0.216860568e-7 * t438 * t983; + const double t1113 = t1071 * t323; + const double t1115 = t421 * t927; + const double t1134 = -0.5522247359125e0 * t1002 - 0.18458962865625e0 * t1004 - 0.182911291e-1 * t1071 * t365 + 0.162638575e-1 * t1113 + 0.162638575e-1 * t1115 + 0.674910119e-8 * t1101 * t333 + 0.674910119e-8 * t438 * t964 - 0.790811707e-7 * t1071 * t356 + 0.896739466e-3 * t1101 * t351 + 0.896739466e-3 * t438 * t972 + 0.339308972e-2 * t1101 * t356 + 0.138149743606875e-3 * t957 - 0.940351563e-5 * t281 * t964 + 0.293253041e-2 * t455 * t997; + const double t1142 = t1101 * t323; + const double t1144 = t438 * t927; + const double t1156 = t281 * t927; + const double t1158 = t945 * t361; + const double t1161 = -0.35104103e-3 * t455 * t972 + 0.182906057e-2 * t455 * t990 + 0.668980219e-8 * t455 * t983 + 0.1493833915228125e1 * t950 - 0.182177954e-1 * t1142 - 0.182177954e-1 * t1144 - 0.223014657e-8 * t455 * t964 + 0.339308972e-2 * t438 * t990 - 0.845508103e-2 * t1101 * t361 - 0.845508103e-2 * t438 * t997 + 0.280678872e-1 * t1101 * t365 + 0.100339208e0 * t1156 - 0.303347141e-2 * t1158 + 0.13938308465540625e-1 * t961; + const double t1165 = t945 * t365; + const double t1167 = t945 * t351; + const double t1172 = t945 * t356; + const double t1183 = t455 * t927; + const double t1185 = t945 * t333; + const double t1187 = -0.303347141e-2 * t281 * t997 - 0.879090772e-2 * t1165 + 0.822139896e-3 * t1167 - 0.4729415517815625e-2 * t959 + 0.822139896e-3 * t281 * t972 + 0.119130546e-2 * t1172 + 0.120828626792125e-1 * t979 + 0.1406365375513125e-1 * t981 + 0.119130546e-2 * t281 * t990 - 0.514204676e-4 * t945 * t340 - 0.48005288013375e-3 * t977 - 0.514204676e-4 * t281 * t983 - 0.43464346e-1 * t1183 - 0.940351563e-5 * t1185; + const double t1188 = t945 * t323; + const double t1218 = 0.100339208e0 * t1188 - 0.2637272316e-1 * t482 * t927 - 0.105312309e-2 * t1004 * t351 + 0.548718171e-2 * t1004 * t356 + 0.879759123e-2 * t1004 * t361 - 0.450310908e-1 * t1004 * t365 - 0.450310908e-1 * t468 * t927 - 0.130393038e0 * t1004 * t323 + 0.842036616e-1 * t452 * t927 - 0.669043971e-8 * t1004 * t333 + 0.2006940657e-7 * t1004 * t340 - 0.548733873e-1 * t434 * t927 - 0.565485306e-1 * t417 * t927 + 0.509417745e-6 * t397 * t927 - 0.82957404e-6 * t368 * t927; + const double t1221 = t1009 + t1042 + t1074 + t1106 + t1134 + t1161 + t1187 + t1218; + const double t1226 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t885 * t486 - t864 - 0.3e1 / 0.8e1 * t6 * t267 * t1221 ); + const double t1229 = t34 * t39; + const double t1230 = 0.5e1 / 0.72e2 * t1229; + const double t1231 = piecewise_functor_3( t66, -t1230, 0.0 ); + const double t1234 = t74 * t1231; + const double t1236 = t526 * t1231; + const double t1239 = piecewise_functor_3( t66, 0.0, -t1230 ); + const double t1240 = t77 * t1239; + const double t1246 = 0.3e1 * t538 * t1239 + 0.3e1 * t541 * t1239; + const double t1249 = piecewise_functor_3( t65, 0.6e1 * t72 * t1231 + 0.3e1 * t1234 - 0.12e2 * t1236, 0.6e1 * t530 * t1240 + t537 * t1246 ); + const double t1251 = t557 * rho_a; + const double t1253 = 0.1e1 / t36 / t1251; + const double t1256 = t555 * sigma_aa * t1253 * t563; + const double t1259 = t34 * t39 * t44; + const double t1263 = t1259 / 0.12e2 - t1256 / 0.288e3; + const double t1264 = t52 * t1263; + const double t1266 = t51 * t1263; + const double t1268 = t50 * t1263; + const double t1272 = 0.3003e4 / 0.16e2 * t1264 - 0.3465e4 / 0.16e2 * t1266 + 0.945e3 / 0.16e2 * t1268 - 0.35e2 / 0.192e3 * t1259 + 0.35e2 / 0.4608e4 * t1256; + const double t1275 = t111 * t1249; + const double t1277 = t90 * t1249; + const double t1279 = t88 * t1249; + const double t1281 = 0.693e3 / 0.8e1 * t1275 - 0.315e3 / 0.4e1 * t1277 + 0.105e3 / 0.8e1 * t1279; + const double t1286 = t118 * t1249; + const double t1288 = t108 * t1249; + const double t1290 = t89 * t1249; + const double t1293 = 0.3003e4 / 0.16e2 * t1286 - 0.3465e4 / 0.16e2 * t1288 + 0.945e3 / 0.16e2 * t1290 - 0.35e2 / 0.16e2 * t1249; + const double t1300 = 0.15e2 / 0.2e1 * t1290 - 0.3e1 / 0.2e1 * t1249; + const double t1308 = 0.315e3 / 0.8e1 * t1288 - 0.105e3 / 0.4e1 * t1290 + 0.15e2 / 0.8e1 * t1249; + const double t1313 = t1272 * t88; + const double t1315 = t147 * t1249; + const double t1317 = -0.4373652639371875e-2 * t1249 + 0.54259201483289930554e-3 * t1256 - 0.13022208355989583333e-1 * t1259 - 0.774224962e-8 * t1272 * t122 - 0.774224962e-8 * t147 * t1281 + 0.888525527e-8 * t1272 * t115 + 0.888525527e-8 * t147 * t1293 + 0.505920757e-7 * t1272 * t93 + 0.505920757e-7 * t147 * t1300 - 0.338128188e-7 * t1272 * t128 - 0.338128188e-7 * t147 * t1308 + 0.554588743e-7 * t1272 * t133 + 0.940675747e-2 * t1313 + 0.940675747e-2 * t1315; + const double t1318 = t102 * t1263; + const double t1320 = t104 * t1263; + const double t1322 = t49 * t1263; + const double t1324 = 0.693e3 / 0.8e1 * t1318 - 0.315e3 / 0.4e1 * t1320 + 0.105e3 / 0.8e1 * t1322; + const double t1331 = 0.35e2 / 0.2e1 * t1277 - 0.15e2 / 0.2e1 * t1279; + const double t1347 = t1324 * t88; + const double t1349 = t56 * t1249; + const double t1355 = -0.691592964e-8 * t1324 * t115 - 0.691592964e-8 * t56 * t1293 + 0.554588743e-7 * t147 * t1331 + 0.236391411e-7 * t1324 * t128 + 0.236391411e-7 * t56 * t1308 + 0.694482484e-8 * t1324 * t122 + 0.694482484e-8 * t56 * t1281 + 0.742180708644375e0 * t1264 - 0.27652468e-6 * t1272 * t97 + 0.169805915e-6 * t1324 * t97 - 0.957417512e-2 * t1347 - 0.957417512e-2 * t1349 - 0.416393106e-7 * t1324 * t133 - 0.416393106e-7 * t56 * t1331; + const double t1365 = 0.315e3 / 0.8e1 * t1266 - 0.105e3 / 0.4e1 * t1268 + 0.5e1 / 0.32e2 * t1259 - 0.5e1 / 0.768e3 * t1256; + const double t1383 = t1365 * t88; + const double t1389 = -0.265114646e-7 * t1324 * t93 - 0.138472194e-7 * t107 * t1281 - 0.376702959e-7 * t1365 * t128 - 0.376702959e-7 * t107 * t1308 + 0.850272392e-8 * t1365 * t115 + 0.850272392e-8 * t107 * t1293 - 0.265114646e-7 * t56 * t1300 + 0.48014796319875e0 * t1318 - 0.896771404e-2 * t1365 * t93 - 0.896771404e-2 * t107 * t1300 - 0.188495102e-1 * t1365 * t97 - 0.884148272e-2 * t1383 + 0.162238741e-6 * t1365 * t133 + 0.162238741e-6 * t107 * t1331; + const double t1394 = 0.35e2 / 0.2e1 * t1320 - 0.15e2 / 0.2e1 * t1322; + const double t1401 = t107 * t1249; + const double t1414 = t1394 * t88; + const double t1416 = t225 * t1249; + const double t1418 = -0.138472194e-7 * t1365 * t122 + 0.912223751e-8 * t1394 * t122 + 0.912223751e-8 * t225 * t1281 + 0.209603871e-7 * t1394 * t128 - 0.884148272e-2 * t1401 - 0.493824365e-8 * t1394 * t115 - 0.493824365e-8 * t225 * t1293 - 0.1975305997940625e1 * t1266 - 0.790811707e-7 * t1394 * t133 - 0.790811707e-7 * t225 * t1331 - 0.5522247359125e0 * t1320 - 0.18458962865625e0 * t1322 + 0.162638575e-1 * t1414 + 0.162638575e-1 * t1416; + const double t1424 = 0.15e2 / 0.2e1 * t1268 - t1259 / 0.8e1 + t1256 / 0.192e3; + const double t1444 = t1424 * t88; + const double t1452 = 0.674910119e-8 * t1424 * t115 + 0.674910119e-8 * t193 * t1293 + 0.631891628e-2 * t1394 * t93 + 0.631891628e-2 * t225 * t1300 - 0.182911291e-1 * t1394 * t97 + 0.209603871e-7 * t225 * t1308 + 0.1493833915228125e1 * t1268 - 0.845508103e-2 * t1424 * t93 - 0.845508103e-2 * t193 * t1300 + 0.280678872e-1 * t1424 * t97 - 0.182177954e-1 * t1444 + 0.896739466e-3 * t193 * t1308 + 0.339308972e-2 * t1424 * t133 + 0.339308972e-2 * t193 * t1331; + const double t1462 = t1263 * t128; + const double t1467 = t1263 * t122; + const double t1472 = t1263 * t115; + const double t1477 = -0.216860568e-7 * t1424 * t122 - 0.216860568e-7 * t193 * t1281 + 0.896739466e-3 * t1424 * t128 + 0.13938308465540625e-1 * t1290 - 0.303347141e-2 * t49 * t1300 + 0.822139896e-3 * t1462 - 0.4729415517815625e-2 * t1288 + 0.822139896e-3 * t49 * t1308 - 0.514204676e-4 * t1467 - 0.48005288013375e-3 * t1275 - 0.514204676e-4 * t49 * t1281 - 0.940351563e-5 * t1472 + 0.138149743606875e-3 * t1286 - 0.940351563e-5 * t49 * t1293; + const double t1481 = t201 * t1249; + const double t1489 = t193 * t1249; + const double t1493 = t1263 * t97; + const double t1495 = t1263 * t88; + const double t1497 = t49 * t1249; + const double t1499 = t1263 * t133; + const double t1505 = 0.293253041e-2 * t201 * t1300 - 0.43464346e-1 * t1481 + 0.182906057e-2 * t201 * t1331 + 0.668980219e-8 * t201 * t1281 - 0.35104103e-3 * t201 * t1308 - 0.182177954e-1 * t1489 - 0.223014657e-8 * t201 * t1293 - 0.879090772e-2 * t1493 + 0.100339208e0 * t1495 + 0.100339208e0 * t1497 + 0.119130546e-2 * t1499 + 0.120828626792125e-1 * t1277 + 0.1406365375513125e-1 * t1279 + 0.119130546e-2 * t49 * t1331; + const double t1506 = t1263 * t93; + const double t1536 = -0.303347141e-2 * t1506 - 0.2637272316e-1 * t166 * t1249 - 0.130393038e0 * t1322 * t88 - 0.669043971e-8 * t1322 * t115 + 0.2006940657e-7 * t1322 * t122 - 0.105312309e-2 * t1322 * t128 + 0.548718171e-2 * t1322 * t133 + 0.879759123e-2 * t1322 * t93 - 0.450310908e-1 * t1322 * t97 - 0.450310908e-1 * t214 * t1249 + 0.842036616e-1 * t198 * t1249 - 0.548733873e-1 * t238 * t1249 - 0.565485306e-1 * t140 * t1249 + 0.509417745e-6 * t100 * t1249 - 0.82957404e-6 * t173 * t1249; + const double t1539 = t1317 + t1355 + t1389 + t1418 + t1452 + t1477 + t1505 + t1536; + const double t1543 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1539 ); + const double t1544 = t34 * t272; + const double t1545 = 0.5e1 / 0.72e2 * t1544; + const double t1546 = piecewise_functor_3( t301, -t1545, 0.0 ); + const double t1549 = t309 * t1546; + const double t1551 = t906 * t1546; + const double t1554 = piecewise_functor_3( t301, 0.0, -t1545 ); + const double t1555 = t312 * t1554; + const double t1561 = 0.3e1 * t918 * t1554 + 0.3e1 * t921 * t1554; + const double t1564 = piecewise_functor_3( t300, 0.6e1 * t307 * t1546 + 0.3e1 * t1549 - 0.12e2 * t1551, 0.6e1 * t910 * t1555 + t917 * t1561 ); + const double t1566 = t933 * rho_b; + const double t1568 = 0.1e1 / t269 / t1566; + const double t1571 = t555 * sigma_bb * t1568 * t939; + const double t1574 = t34 * t272 * t277; + const double t1578 = t1574 / 0.12e2 - t1571 / 0.288e3; + const double t1579 = t1578 * t351; + const double t1581 = t326 * t1564; + const double t1583 = t324 * t1564; + const double t1586 = 0.315e3 / 0.8e1 * t1581 - 0.105e3 / 0.4e1 * t1583 + 0.15e2 / 0.8e1 * t1564; + const double t1589 = t1578 * t356; + const double t1591 = t325 * t1564; + const double t1593 = t323 * t1564; + const double t1595 = 0.35e2 / 0.2e1 * t1591 - 0.15e2 / 0.2e1 * t1593; + const double t1598 = t1578 * t361; + const double t1602 = 0.15e2 / 0.2e1 * t1583 - 0.3e1 / 0.2e1 * t1564; + const double t1605 = t1578 * t365; + const double t1607 = t1578 * t323; + const double t1609 = t281 * t1564; + const double t1611 = t284 * t1578; + const double t1613 = t282 * t1578; + const double t1617 = 0.315e3 / 0.8e1 * t1611 - 0.105e3 / 0.4e1 * t1613 + 0.5e1 / 0.32e2 * t1574 - 0.5e1 / 0.768e3 * t1571; + const double t1620 = t283 * t1578; + const double t1622 = t281 * t1578; + const double t1624 = 0.35e2 / 0.2e1 * t1620 - 0.15e2 / 0.2e1 * t1622; + const double t1627 = -0.4373652639371875e-2 * t1564 + 0.54259201483289930554e-3 * t1571 - 0.13022208355989583333e-1 * t1574 + 0.822139896e-3 * t1579 + 0.822139896e-3 * t281 * t1586 + 0.119130546e-2 * t1589 + 0.119130546e-2 * t281 * t1595 - 0.303347141e-2 * t1598 - 0.303347141e-2 * t281 * t1602 - 0.879090772e-2 * t1605 + 0.100339208e0 * t1607 + 0.100339208e0 * t1609 - 0.188495102e-1 * t1617 * t365 + 0.912223751e-8 * t1624 * t340; + const double t1628 = t329 * t1564; + const double t1632 = 0.693e3 / 0.8e1 * t1628 - 0.315e3 / 0.4e1 * t1591 + 0.105e3 / 0.8e1 * t1593; + const double t1635 = t1617 * t323; + const double t1637 = t402 * t1564; + const double t1641 = t336 * t1564; + const double t1646 = 0.3003e4 / 0.16e2 * t1641 - 0.3465e4 / 0.16e2 * t1581 + 0.945e3 / 0.16e2 * t1583 - 0.35e2 / 0.16e2 * t1564; + const double t1667 = 0.912223751e-8 * t421 * t1632 - 0.884148272e-2 * t1635 - 0.884148272e-2 * t1637 - 0.493824365e-8 * t1624 * t333 - 0.493824365e-8 * t421 * t1646 - 0.896771404e-2 * t1617 * t361 - 0.896771404e-2 * t402 * t1602 - 0.790811707e-7 * t421 * t1595 + 0.631891628e-2 * t1624 * t361 + 0.631891628e-2 * t421 * t1602 - 0.182911291e-1 * t1624 * t365 + 0.209603871e-7 * t1624 * t351 + 0.209603871e-7 * t421 * t1586 - 0.790811707e-7 * t1624 * t356; + const double t1674 = 0.15e2 / 0.2e1 * t1613 - t1574 / 0.8e1 + t1571 / 0.192e3; + const double t1683 = t1624 * t323; + const double t1685 = t421 * t1564; + const double t1697 = t1674 * t323; + const double t1699 = t438 * t1564; + const double t1701 = 0.896739466e-3 * t438 * t1586 + 0.339308972e-2 * t1674 * t356 + 0.339308972e-2 * t438 * t1595 - 0.216860568e-7 * t1674 * t340 - 0.216860568e-7 * t438 * t1632 + 0.162638575e-1 * t1683 + 0.162638575e-1 * t1685 + 0.674910119e-8 * t1674 * t333 + 0.674910119e-8 * t438 * t1646 - 0.35104103e-3 * t455 * t1586 + 0.182906057e-2 * t455 * t1595 + 0.668980219e-8 * t455 * t1632 - 0.182177954e-1 * t1697 - 0.182177954e-1 * t1699; + const double t1712 = t345 * t1578; + const double t1718 = 0.3003e4 / 0.16e2 * t1712 - 0.3465e4 / 0.16e2 * t1611 + 0.945e3 / 0.16e2 * t1613 - 0.35e2 / 0.192e3 * t1574 + 0.35e2 / 0.4608e4 * t1571; + const double t1737 = -0.223014657e-8 * t455 * t1646 - 0.845508103e-2 * t1674 * t361 - 0.845508103e-2 * t438 * t1602 + 0.280678872e-1 * t1674 * t365 + 0.896739466e-3 * t1674 * t351 - 0.774224962e-8 * t1718 * t340 - 0.774224962e-8 * t291 * t1632 + 0.888525527e-8 * t1718 * t333 + 0.888525527e-8 * t291 * t1646 + 0.293253041e-2 * t455 * t1602 + 0.554588743e-7 * t291 * t1595 + 0.505920757e-7 * t1718 * t361 + 0.505920757e-7 * t291 * t1602 - 0.338128188e-7 * t1718 * t351; + const double t1747 = t1718 * t323; + const double t1749 = t291 * t1564; + const double t1753 = t287 * t1578; + const double t1757 = 0.693e3 / 0.8e1 * t1753 - 0.315e3 / 0.4e1 * t1620 + 0.105e3 / 0.8e1 * t1622; + const double t1772 = -0.338128188e-7 * t291 * t1586 - 0.691592964e-8 * t373 * t1646 + 0.742180708644375e0 * t1712 - 0.27652468e-6 * t1718 * t365 + 0.940675747e-2 * t1747 + 0.940675747e-2 * t1749 + 0.554588743e-7 * t1718 * t356 + 0.694482484e-8 * t1757 * t340 + 0.694482484e-8 * t373 * t1632 + 0.236391411e-7 * t1757 * t351 + 0.236391411e-7 * t373 * t1586 - 0.691592964e-8 * t1757 * t333 - 0.138472194e-7 * t1617 * t340 - 0.138472194e-7 * t402 * t1632; + const double t1773 = t1757 * t323; + const double t1775 = t373 * t1564; + const double t1797 = t455 * t1564; + const double t1799 = -0.957417512e-2 * t1773 - 0.957417512e-2 * t1775 + 0.850272392e-8 * t1617 * t333 + 0.850272392e-8 * t402 * t1646 + 0.169805915e-6 * t1757 * t365 - 0.416393106e-7 * t1757 * t356 - 0.416393106e-7 * t373 * t1595 - 0.1975305997940625e1 * t1611 + 0.1493833915228125e1 * t1613 - 0.376702959e-7 * t1617 * t351 - 0.376702959e-7 * t402 * t1586 + 0.162238741e-6 * t1617 * t356 + 0.162238741e-6 * t402 * t1595 - 0.43464346e-1 * t1797; + const double t1801 = t1578 * t333; + const double t1808 = t1578 * t340; + const double t1820 = -0.940351563e-5 * t1801 + 0.138149743606875e-3 * t1641 - 0.4729415517815625e-2 * t1581 + 0.13938308465540625e-1 * t1583 - 0.940351563e-5 * t281 * t1646 - 0.514204676e-4 * t1808 - 0.48005288013375e-3 * t1628 + 0.120828626792125e-1 * t1591 + 0.1406365375513125e-1 * t1593 - 0.514204676e-4 * t281 * t1632 + 0.48014796319875e0 * t1753 - 0.5522247359125e0 * t1620 - 0.18458962865625e0 * t1622 - 0.265114646e-7 * t1757 * t361; + const double t1851 = -0.265114646e-7 * t373 * t1602 - 0.2637272316e-1 * t482 * t1564 - 0.450310908e-1 * t468 * t1564 - 0.130393038e0 * t1622 * t323 - 0.669043971e-8 * t1622 * t333 + 0.2006940657e-7 * t1622 * t340 - 0.105312309e-2 * t1622 * t351 + 0.548718171e-2 * t1622 * t356 + 0.879759123e-2 * t1622 * t361 - 0.450310908e-1 * t1622 * t365 + 0.842036616e-1 * t452 * t1564 - 0.548733873e-1 * t434 * t1564 - 0.565485306e-1 * t417 * t1564 + 0.509417745e-6 * t397 * t1564 - 0.82957404e-6 * t368 * t1564; + const double t1854 = t1627 + t1667 + t1701 + t1737 + t1772 + t1799 + t1820 + t1851; + const double t1858 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t1854 ); + const double t1861 = 0.5e1 / 0.9e1 * t58 * t29 * t33; + const double t1862 = piecewise_functor_3( t66, t1861, 0.0 ); + const double t1865 = t74 * t1862; + const double t1867 = t526 * t1862; + const double t1870 = piecewise_functor_3( t66, 0.0, t1861 ); + const double t1871 = t77 * t1870; + const double t1877 = 0.3e1 * t538 * t1870 + 0.3e1 * t541 * t1870; + const double t1880 = piecewise_functor_3( t65, 0.6e1 * t72 * t1862 + 0.3e1 * t1865 - 0.12e2 * t1867, 0.6e1 * t530 * t1871 + t537 * t1877 ); + const double t1882 = t90 * t1880; + const double t1884 = t88 * t1880; + const double t1886 = 0.35e2 / 0.2e1 * t1882 - 0.15e2 / 0.2e1 * t1884; + const double t1889 = t89 * t1880; + const double t1892 = 0.15e2 / 0.2e1 * t1889 - 0.3e1 / 0.2e1 * t1880; + const double t1895 = t108 * t1880; + const double t1899 = 0.315e3 / 0.8e1 * t1895 - 0.105e3 / 0.4e1 * t1889 + 0.15e2 / 0.8e1 * t1880; + const double t1902 = t118 * t1880; + const double t1907 = 0.3003e4 / 0.16e2 * t1902 - 0.3465e4 / 0.16e2 * t1895 + 0.945e3 / 0.16e2 * t1889 - 0.35e2 / 0.16e2 * t1880; + const double t1910 = t111 * t1880; + const double t1914 = 0.693e3 / 0.8e1 * t1910 - 0.315e3 / 0.4e1 * t1882 + 0.105e3 / 0.8e1 * t1884; + const double t1919 = t49 * t1880; + const double t1931 = t147 * t1880; + const double t1933 = -0.4373652639371875e-2 * t1880 + 0.554588743e-7 * t147 * t1886 + 0.505920757e-7 * t147 * t1892 - 0.338128188e-7 * t147 * t1899 + 0.888525527e-8 * t147 * t1907 - 0.774224962e-8 * t147 * t1914 - 0.303347141e-2 * t49 * t1892 + 0.100339208e0 * t1919 + 0.822139896e-3 * t49 * t1899 + 0.119130546e-2 * t49 * t1886 - 0.514204676e-4 * t49 * t1914 + 0.694482484e-8 * t56 * t1914 + 0.236391411e-7 * t56 * t1899 + 0.940675747e-2 * t1931; + const double t1946 = t56 * t1880; + const double t1958 = t225 * t1880; + const double t1962 = -0.691592964e-8 * t56 * t1907 + 0.162238741e-6 * t107 * t1886 - 0.896771404e-2 * t107 * t1892 - 0.376702959e-7 * t107 * t1899 - 0.138472194e-7 * t107 * t1914 - 0.265114646e-7 * t56 * t1892 - 0.957417512e-2 * t1946 + 0.850272392e-8 * t107 * t1907 - 0.416393106e-7 * t56 * t1886 - 0.845508103e-2 * t193 * t1892 + 0.896739466e-3 * t193 * t1899 - 0.216860568e-7 * t193 * t1914 + 0.162638575e-1 * t1958 + 0.674910119e-8 * t193 * t1907; + const double t1972 = t107 * t1880; + const double t1976 = t201 * t1880; + const double t1987 = -0.790811707e-7 * t225 * t1886 + 0.631891628e-2 * t225 * t1892 + 0.912223751e-8 * t225 * t1914 + 0.209603871e-7 * t225 * t1899 - 0.884148272e-2 * t1972 - 0.493824365e-8 * t225 * t1907 - 0.43464346e-1 * t1976 + 0.138149743606875e-3 * t1902 - 0.4729415517815625e-2 * t1895 + 0.13938308465540625e-1 * t1889 - 0.940351563e-5 * t49 * t1907 + 0.120828626792125e-1 * t1882 + 0.1406365375513125e-1 * t1884 + 0.182906057e-2 * t201 * t1886; + const double t1995 = t193 * t1880; + const double t2015 = 0.293253041e-2 * t201 * t1892 - 0.48005288013375e-3 * t1910 + 0.668980219e-8 * t201 * t1914 - 0.35104103e-3 * t201 * t1899 - 0.182177954e-1 * t1995 - 0.223014657e-8 * t201 * t1907 + 0.339308972e-2 * t193 * t1886 - 0.82957404e-6 * t173 * t1880 - 0.2637272316e-1 * t166 * t1880 - 0.450310908e-1 * t214 * t1880 + 0.842036616e-1 * t198 * t1880 - 0.548733873e-1 * t238 * t1880 + 0.509417745e-6 * t100 * t1880 - 0.565485306e-1 * t140 * t1880; + const double t2017 = t1933 + t1962 + t1987 + t2015; + const double t2021 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2017 ); + const double t2024 = 0.5e1 / 0.9e1 * t293 * t29 * t33; + const double t2025 = piecewise_functor_3( t301, t2024, 0.0 ); + const double t2028 = t309 * t2025; + const double t2030 = t906 * t2025; + const double t2033 = piecewise_functor_3( t301, 0.0, t2024 ); + const double t2034 = t312 * t2033; + const double t2040 = 0.3e1 * t918 * t2033 + 0.3e1 * t921 * t2033; + const double t2043 = piecewise_functor_3( t300, 0.6e1 * t307 * t2025 + 0.3e1 * t2028 - 0.12e2 * t2030, 0.6e1 * t910 * t2034 + t917 * t2040 ); + const double t2045 = t336 * t2043; + const double t2047 = t326 * t2043; + const double t2049 = t324 * t2043; + const double t2052 = 0.3003e4 / 0.16e2 * t2045 - 0.3465e4 / 0.16e2 * t2047 + 0.945e3 / 0.16e2 * t2049 - 0.35e2 / 0.16e2 * t2043; + const double t2057 = 0.15e2 / 0.2e1 * t2049 - 0.3e1 / 0.2e1 * t2043; + const double t2060 = t325 * t2043; + const double t2062 = t323 * t2043; + const double t2064 = 0.35e2 / 0.2e1 * t2060 - 0.15e2 / 0.2e1 * t2062; + const double t2070 = 0.315e3 / 0.8e1 * t2047 - 0.105e3 / 0.4e1 * t2049 + 0.15e2 / 0.8e1 * t2043; + const double t2073 = t329 * t2043; + const double t2077 = 0.693e3 / 0.8e1 * t2073 - 0.315e3 / 0.4e1 * t2060 + 0.105e3 / 0.8e1 * t2062; + const double t2082 = t373 * t2043; + const double t2094 = t291 * t2043; + const double t2096 = -0.4373652639371875e-2 * t2043 - 0.691592964e-8 * t373 * t2052 + 0.505920757e-7 * t291 * t2057 + 0.554588743e-7 * t291 * t2064 - 0.338128188e-7 * t291 * t2070 - 0.774224962e-8 * t291 * t2077 + 0.888525527e-8 * t291 * t2052 - 0.957417512e-2 * t2082 + 0.850272392e-8 * t402 * t2052 - 0.416393106e-7 * t373 * t2064 - 0.265114646e-7 * t373 * t2057 + 0.236391411e-7 * t373 * t2070 + 0.694482484e-8 * t373 * t2077 + 0.940675747e-2 * t2094; + const double t2103 = t402 * t2043; + const double t2121 = t438 * t2043; + const double t2125 = 0.631891628e-2 * t421 * t2057 + 0.209603871e-7 * t421 * t2070 + 0.912223751e-8 * t421 * t2077 - 0.884148272e-2 * t2103 - 0.493824365e-8 * t421 * t2052 - 0.896771404e-2 * t402 * t2057 + 0.162238741e-6 * t402 * t2064 - 0.376702959e-7 * t402 * t2070 - 0.138472194e-7 * t402 * t2077 + 0.293253041e-2 * t455 * t2057 - 0.35104103e-3 * t455 * t2070 + 0.668980219e-8 * t455 * t2077 - 0.182177954e-1 * t2121 - 0.223014657e-8 * t455 * t2052; + const double t2135 = t421 * t2043; + const double t2144 = t281 * t2043; + const double t2151 = -0.845508103e-2 * t438 * t2057 + 0.339308972e-2 * t438 * t2064 + 0.896739466e-3 * t438 * t2070 - 0.216860568e-7 * t438 * t2077 + 0.162638575e-1 * t2135 + 0.674910119e-8 * t438 * t2052 - 0.790811707e-7 * t421 * t2064 + 0.13938308465540625e-1 * t2049 - 0.303347141e-2 * t281 * t2057 + 0.100339208e0 * t2144 - 0.4729415517815625e-2 * t2047 + 0.822139896e-3 * t281 * t2070 + 0.120828626792125e-1 * t2060 + 0.1406365375513125e-1 * t2062; + const double t2160 = t455 * t2043; + const double t2178 = 0.119130546e-2 * t281 * t2064 - 0.48005288013375e-3 * t2073 - 0.514204676e-4 * t281 * t2077 + 0.138149743606875e-3 * t2045 - 0.940351563e-5 * t281 * t2052 - 0.43464346e-1 * t2160 + 0.182906057e-2 * t455 * t2064 - 0.2637272316e-1 * t482 * t2043 - 0.450310908e-1 * t468 * t2043 + 0.842036616e-1 * t452 * t2043 - 0.548733873e-1 * t434 * t2043 - 0.565485306e-1 * t417 * t2043 + 0.509417745e-6 * t397 * t2043 - 0.82957404e-6 * t368 * t2043; + const double t2180 = t2096 + t2125 + t2151 + t2178; + const double t2184 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t2180 ); + const double t2187 = t24 * t24; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t495 * t495; + const double t2192 = t491 * t7; + const double t2193 = 0.1e1 / t2192; + const double t2194 = t17 * t2193; + const double t2197 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t492 + 0.2e1 * t2194 ); + const double t2201 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t2188 * t2189 + 0.4e1 / 0.3e1 * t24 * t2197 ); + const double t2202 = t2201 * t27; + const double t2206 = t498 * t504; + const double t2208 = t6 * t2206 * t253; + const double t2214 = 0.1e1 / t503 / t7; + const double t2215 = t26 * t2214; + const double t2218 = t6 * t2215 * t253 / 0.12e2; + const double t2220 = t6 * t505 * t845; + const double t2222 = t520 * t520; + const double t2228 = 0.1e1 / t37 / t557; + const double t2229 = sigma_aa * t2228; + const double t2234 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * tau_a * t513 - 0.11e2 / 0.9e1 * t2229 ) * t29 * t33; + const double t2235 = piecewise_functor_3( t66, t2234, 0.0 ); + const double t2238 = t526 * t2222; + const double t2243 = 0.1e1 / t73 / t68; + const double t2244 = t2243 * t2222; + const double t2249 = t79 * t86; + const double t2250 = t531 * t531; + const double t2251 = t78 * t2250; + const double t2254 = t80 * t536; + const double t2255 = t532 * t544; + const double t2260 = piecewise_functor_3( t66, 0.0, t2234 ); + const double t2261 = t77 * t2260; + const double t2265 = 0.1e1 / t535 / t85; + const double t2266 = t81 * t2265; + const double t2267 = t544 * t544; + const double t2270 = t77 * t83; + const double t2279 = 0.6e1 * t2270 * t2250 + 0.24e2 * t540 * t2250 + 0.3e1 * t538 * t2260 + 0.3e1 * t541 * t2260; + const double t2282 = piecewise_functor_3( t65, -0.18e2 * t74 * t2222 - 0.12e2 * t526 * t2235 + 0.6e1 * t72 * t2235 + 0.3e1 * t74 * t2235 - 0.12e2 * t2238 + 0.6e2 * t2244, -0.24e2 * t2249 * t2251 + 0.6e1 * t530 * t2250 - 0.12e2 * t2254 * t2255 + 0.6e1 * t530 * t2261 - 0.2e1 * t2266 * t2267 + t537 * t2279 ); + const double t2284 = t585 * t585; + const double t2286 = t547 * t547; + const double t2289 = t34 * t2229 * t44; + const double t2291 = t557 * t511; + const double t2293 = 0.1e1 / t36 / t2291; + const double t2296 = t555 * t556 * t2293 * t563; + const double t2304 = t556 * sigma_aa; + const double t2305 = t2303 * t2304; + const double t2306 = t557 * t557; + const double t2307 = t2306 * t35; + const double t2308 = 0.1e1 / t2307; + const double t2310 = 0.1e1 / t562 / t43; + const double t2312 = t2305 * t2308 * t2310; + const double t2314 = 0.22e2 / 0.27e2 * t2289 - t2296 / 0.12e2 + t2312 / 0.81e2; + const double t2317 = t2314 * t88; + const double t2319 = t585 * t547; + const double t2321 = t49 * t2282; + const double t2325 = -0.4373652639371875e-2 * t2282 - 0.18458962865625e0 * t2284 + 0.1406365375513125e-1 * t2286 - 0.12732825948078703704e0 * t2289 + 0.13022208355989583333e-1 * t2296 + 0.1777051054e-7 * t594 * t574 - 0.879090772e-2 * t2314 * t97 + 0.100339208e0 * t2317 + 0.200678416e0 * t2319 + 0.100339208e0 * t2321 + 0.1011841514e-6 * t594 * t619; + const double t2326 = t88 * t2286; + const double t2328 = t89 * t2282; + const double t2331 = 0.15e2 * t2326 + 0.15e2 / 0.2e1 * t2328 - 0.3e1 / 0.2e1 * t2282; + const double t2334 = t111 * t2286; + const double t2336 = t118 * t2282; + const double t2338 = t90 * t2286; + const double t2340 = t108 * t2282; + const double t2345 = 0.9009e4 / 0.8e1 * t2334 + 0.3003e4 / 0.16e2 * t2336 - 0.3465e4 / 0.4e1 * t2338 - 0.3465e4 / 0.16e2 * t2340 + 0.945e3 / 0.8e1 * t2326 + 0.945e3 / 0.16e2 * t2328 - 0.35e2 / 0.16e2 * t2282; + const double t2348 = t102 * t2284; + const double t2350 = t52 * t2314; + const double t2352 = t104 * t2284; + const double t2354 = t51 * t2314; + const double t2356 = t49 * t2284; + const double t2358 = t50 * t2314; + const double t2363 = 0.9009e4 / 0.8e1 * t2348 + 0.3003e4 / 0.16e2 * t2350 - 0.3465e4 / 0.4e1 * t2352 - 0.3465e4 / 0.16e2 * t2354 + 0.945e3 / 0.8e1 * t2356 + 0.945e3 / 0.16e2 * t2358 - 0.385e3 / 0.216e3 * t2289 + 0.35e2 / 0.192e3 * t2296 - 0.35e2 / 0.1296e4 * t2312; + const double t2380 = t2284 * t88; + const double t2384 = 0.505920757e-7 * t147 * t2331 + 0.888525527e-8 * t147 * t2345 + 0.888525527e-8 * t2363 * t115 + 0.509417745e-6 * t56 * t2286 - 0.82957404e-6 * t147 * t2286 + 0.505920757e-7 * t2363 * t93 + 0.548718171e-2 * t2284 * t133 + 0.879759123e-2 * t2284 * t93 - 0.450310908e-1 * t2284 * t97 - 0.450310908e-1 * t201 * t2286 - 0.130393038e0 * t2380 + 0.842036616e-1 * t193 * t2286; + const double t2395 = 0.15e2 * t2356 + 0.15e2 / 0.2e1 * t2358 - 0.11e2 / 0.9e1 * t2289 + t2296 / 0.8e1 - t2312 / 0.54e2; + const double t2396 = t2395 * t88; + const double t2398 = t732 * t547; + const double t2400 = t193 * t2282; + const double t2414 = t2363 * t88; + const double t2416 = -0.548733873e-1 * t225 * t2286 - 0.565485306e-1 * t107 * t2286 - 0.182177954e-1 * t2396 - 0.364355908e-1 * t2398 - 0.182177954e-1 * t2400 - 0.223014657e-8 * t201 * t2345 - 0.2637272316e-1 * t49 * t2286 - 0.669043971e-8 * t2284 * t115 + 0.2006940657e-7 * t2284 * t122 - 0.105312309e-2 * t2284 * t128 - 0.27652468e-6 * t2363 * t97 + 0.940675747e-2 * t2414; + const double t2417 = t594 * t547; + const double t2419 = t89 * t2286; + const double t2421 = t90 * t2282; + const double t2424 = t88 * t2282; + const double t2426 = 0.105e3 / 0.2e1 * t2419 + 0.35e2 / 0.2e1 * t2421 - 0.15e2 / 0.2e1 * t2286 - 0.15e2 / 0.2e1 * t2424; + const double t2429 = t108 * t2286; + const double t2431 = t111 * t2282; + const double t2437 = 0.3465e4 / 0.8e1 * t2429 + 0.693e3 / 0.8e1 * t2431 - 0.945e3 / 0.4e1 * t2419 - 0.315e3 / 0.4e1 * t2421 + 0.105e3 / 0.8e1 * t2286 + 0.105e3 / 0.8e1 * t2424; + const double t2442 = t147 * t2282; + const double t2444 = t51 * t2284; + const double t2446 = t102 * t2314; + const double t2448 = t50 * t2284; + const double t2450 = t104 * t2314; + const double t2453 = t49 * t2314; + const double t2455 = 0.3465e4 / 0.8e1 * t2444 + 0.693e3 / 0.8e1 * t2446 - 0.945e3 / 0.4e1 * t2448 - 0.315e3 / 0.4e1 * t2450 + 0.105e3 / 0.8e1 * t2284 + 0.105e3 / 0.8e1 * t2453; + const double t2460 = t585 * t612; + const double t2468 = t585 * t619; + const double t2470 = 0.1881351494e-1 * t2417 + 0.182906057e-2 * t201 * t2426 + 0.668980219e-8 * t201 * t2437 + 0.554588743e-7 * t2363 * t133 + 0.940675747e-2 * t2442 - 0.691592964e-8 * t2455 * t115 + 0.119130546e-2 * t2314 * t133 + 0.238261092e-2 * t2460 + 0.119130546e-2 * t49 * t2426 + 0.1109177486e-6 * t594 * t612 + 0.554588743e-7 * t147 * t2426 - 0.606694282e-2 * t2468; + const double t2482 = 0.315e3 / 0.2e1 * t2338 + 0.315e3 / 0.8e1 * t2340 - 0.105e3 / 0.2e1 * t2326 - 0.105e3 / 0.4e1 * t2328 + 0.15e2 / 0.8e1 * t2282; + const double t2495 = t585 * t603; + const double t2501 = -0.303347141e-2 * t49 * t2331 - 0.753405918e-7 * t672 * t580 - 0.376702959e-7 * t107 * t2482 - 0.896771404e-2 * t107 * t2331 + 0.822139896e-3 * t49 * t2482 + 0.822139896e-3 * t2314 * t128 + 0.1644279792e-2 * t585 * t580 - 0.514204676e-4 * t2314 * t122 - 0.1028409352e-3 * t2495 - 0.514204676e-4 * t49 * t2437 - 0.303347141e-2 * t2314 * t93; + const double t2511 = 0.315e3 / 0.2e1 * t2352 + 0.315e3 / 0.8e1 * t2354 - 0.105e3 / 0.2e1 * t2356 - 0.105e3 / 0.4e1 * t2358 + 0.55e2 / 0.36e2 * t2289 - 0.5e1 / 0.32e2 * t2296 + 0.5e1 / 0.216e3 * t2312; + const double t2528 = t585 * t574; + const double t2530 = t201 * t2282; + const double t2534 = 0.162238741e-6 * t107 * t2426 + 0.162238741e-6 * t2511 * t133 + 0.324477482e-6 * t672 * t612 - 0.188495102e-1 * t2511 * t97 - 0.138472194e-7 * t107 * t2437 - 0.35104103e-3 * t201 * t2482 + 0.293253041e-2 * t201 * t2331 - 0.940351563e-5 * t49 * t2345 - 0.940351563e-5 * t2314 * t115 - 0.1880703126e-4 * t2528 - 0.43464346e-1 * t2530 - 0.138472194e-7 * t2511 * t122; + const double t2538 = t637 * t547; + const double t2540 = t56 * t2282; + const double t2560 = 0.1700544784e-7 * t672 * t574 - 0.1914835024e-1 * t2538 - 0.957417512e-2 * t2540 - 0.376702959e-7 * t2511 * t128 - 0.276944388e-7 * t672 * t603 - 0.530229292e-7 * t637 * t619 - 0.265114646e-7 * t56 * t2331 + 0.850272392e-8 * t107 * t2345 + 0.850272392e-8 * t2511 * t115 + 0.280678872e-1 * t2395 * t97 - 0.845508103e-2 * t2395 * t93 - 0.1691016206e-1 * t732 * t619; + const double t2585 = -0.845508103e-2 * t193 * t2331 - 0.265114646e-7 * t2455 * t93 - 0.216860568e-7 * t2395 * t122 - 0.433721136e-7 * t732 * t603 + 0.339308972e-2 * t193 * t2426 + 0.339308972e-2 * t2395 * t133 + 0.678617944e-2 * t732 * t612 + 0.896739466e-3 * t2395 * t128 + 0.1793478932e-2 * t732 * t580 + 0.896739466e-3 * t193 * t2482 + 0.674910119e-8 * t2395 * t115 + 0.1349820238e-7 * t732 * t574; + const double t2593 = 0.105e3 / 0.2e1 * t2448 + 0.35e2 / 0.2e1 * t2450 - 0.15e2 / 0.2e1 * t2284 - 0.15e2 / 0.2e1 * t2453; + const double t2594 = t2593 * t88; + const double t2596 = t702 * t547; + const double t2610 = t225 * t2282; + const double t2612 = t2511 * t88; + const double t2614 = t672 * t547; + const double t2616 = 0.162638575e-1 * t2594 + 0.32527715e-1 * t2596 - 0.216860568e-7 * t193 * t2437 - 0.98764873e-8 * t702 * t574 - 0.493824365e-8 * t225 * t2345 - 0.896771404e-2 * t2511 * t93 - 0.1793542808e-1 * t672 * t619 + 0.674910119e-8 * t193 * t2345 + 0.162638575e-1 * t2610 - 0.884148272e-2 * t2612 - 0.1768296544e-1 * t2614; + const double t2617 = t107 * t2282; + const double t2641 = -0.884148272e-2 * t2617 - 0.493824365e-8 * t2593 * t115 + 0.209603871e-7 * t225 * t2482 - 0.790811707e-7 * t2593 * t133 + 0.912223751e-8 * t2593 * t122 + 0.1824447502e-7 * t702 * t603 + 0.912223751e-8 * t225 * t2437 + 0.1263783256e-1 * t702 * t619 + 0.631891628e-2 * t225 * t2331 - 0.182911291e-1 * t2593 * t97 + 0.209603871e-7 * t2593 * t128 + 0.419207742e-7 * t702 * t580; + const double t2643 = t2455 * t88; + const double t2666 = -0.957417512e-2 * t2643 - 0.1581623414e-6 * t702 * t612 - 0.790811707e-7 * t225 * t2426 + 0.631891628e-2 * t2593 * t93 - 0.832786212e-7 * t637 * t612 - 0.416393106e-7 * t56 * t2426 + 0.169805915e-6 * t2455 * t97 - 0.19292160527391975308e-2 * t2312 + 0.472782822e-7 * t637 * t580 + 0.1388964968e-7 * t637 * t603 + 0.694482484e-8 * t56 * t2437 - 0.416393106e-7 * t2455 * t133; + const double t2686 = 0.694482484e-8 * t2455 * t122 - 0.1383185928e-7 * t637 * t574 + 0.82889846164125e-3 * t2334 + 0.138149743606875e-3 * t2336 - 0.691592964e-8 * t56 * t2345 + 0.236391411e-7 * t56 * t2482 + 0.236391411e-7 * t2455 * t128 - 0.676256376e-7 * t594 * t580 - 0.338128188e-7 * t2363 * t128 + 0.240073981599375e1 * t2444 + 0.48014796319875e0 * t2446 - 0.16566742077375e1 * t2448; + const double t2703 = -0.5522247359125e0 * t2450 - 0.18458962865625e0 * t2453 + 0.445308425186625e1 * t2348 + 0.742180708644375e0 * t2350 - 0.79012239917625e1 * t2352 - 0.1975305997940625e1 * t2354 + 0.298766783045625e1 * t2356 + 0.1493833915228125e1 * t2358 - 0.774224962e-8 * t2363 * t122 - 0.1548449924e-7 * t594 * t603 - 0.189176620712625e-1 * t2338 - 0.4729415517815625e-2 * t2340; + const double t2721 = 0.2787661693108125e-1 * t2326 + 0.13938308465540625e-1 * t2328 - 0.338128188e-7 * t147 * t2482 - 0.240026440066875e-2 * t2429 - 0.48005288013375e-3 * t2431 + 0.362485880376375e-1 * t2419 + 0.120828626792125e-1 * t2421 + 0.1406365375513125e-1 * t2424 - 0.774224962e-8 * t147 * t2437 + 0.1684073232e0 * t769 * t547 - 0.1338087942e-7 * t635 * t574 + 0.4013881314e-7 * t635 * t603; + const double t2747 = 0.1097436342e-1 * t635 * t612 + 0.1759518246e-1 * t635 * t619 - 0.210624618e-2 * t635 * t580 - 0.260786076e0 * t635 * t547 - 0.5274544632e-1 * t795 * t547 - 0.2637272316e-1 * t166 * t2282 - 0.669043971e-8 * t2453 * t115 + 0.2006940657e-7 * t2453 * t122 - 0.105312309e-2 * t2453 * t128 + 0.548718171e-2 * t2453 * t133 + 0.879759123e-2 * t2453 * t93 - 0.450310908e-1 * t2453 * t97; + const double t2772 = -0.450310908e-1 * t214 * t2282 - 0.130393038e0 * t2453 * t88 + 0.842036616e-1 * t198 * t2282 - 0.548733873e-1 * t238 * t2282 - 0.565485306e-1 * t140 * t2282 + 0.509417745e-6 * t100 * t2282 - 0.82957404e-6 * t173 * t2282 - 0.165914808e-5 * t627 * t547 + 0.101883549e-5 * t657 * t547 - 0.1130970612e0 * t710 * t547 - 0.1097467746e0 * t743 * t547 - 0.2701865448e0 * t635 * t601; + const double t2776 = t2325 + t2384 + t2416 + t2470 + t2501 + t2534 + t2560 + t2585 + t2616 + t2641 + t2666 + t2686 + t2703 + t2721 + t2747 + t2772; + const double t2781 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2202 * t253 - t2208 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t499 * t845 + t2218 - t2220 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2776 ); + const double t2782 = t264 * t264; + const double t2783 = 0.1e1 / t2782; + const double t2784 = t853 * t853; + const double t2787 = t259 * t2193; + const double t2790 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t492 + 0.2e1 * t2787 ); + const double t2794 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.9e1 * t2783 * t2784 + 0.4e1 / 0.3e1 * t264 * t2790 ); + const double t2795 = t2794 * t27; + const double t2799 = t856 * t504; + const double t2801 = t6 * t2799 * t486; + const double t2803 = t266 * t2214; + const double t2806 = t6 * t2803 * t486 / 0.12e2; + const double t2808 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t2795 * t486 - t2801 / 0.4e1 + t2806 ); + const double t2824 = t873 * t504; + const double t2826 = t6 * t2824 * t253; + const double t2848 = t884 * t504; + const double t2850 = t6 * t2848 * t486; + const double t2857 = t6 * t861 * t1221; + const double t2865 = t870 * t870; + const double t2870 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t492 + 0.2e1 * t2194 ); + const double t2874 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t2188 * t2865 + 0.4e1 / 0.3e1 * t24 * t2870 ); + const double t2875 = t2874 * t27; + const double t2881 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2875 * t253 - t2826 / 0.4e1 + t2218 ); + const double t2882 = t881 * t881; + const double t2887 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t492 + 0.2e1 * t2787 ); + const double t2891 = piecewise_functor_3( t263, 0.0, 0.4e1 / 0.9e1 * t2783 * t2882 + 0.4e1 / 0.3e1 * t264 * t2887 ); + const double t2892 = t2891 * t27; + const double t2901 = t945 * t945; + const double t2903 = t900 * t900; + const double t2909 = 0.1e1 / t270 / t933; + const double t2910 = sigma_bb * t2909; + const double t2915 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * tau_b * t893 - 0.11e2 / 0.9e1 * t2910 ) * t29 * t33; + const double t2916 = piecewise_functor_3( t301, t2915, 0.0 ); + const double t2919 = t906 * t2903; + const double t2924 = 0.1e1 / t308 / t303; + const double t2925 = t2924 * t2903; + const double t2930 = t314 * t321; + const double t2931 = t911 * t911; + const double t2932 = t313 * t2931; + const double t2935 = t315 * t916; + const double t2936 = t912 * t924; + const double t2941 = piecewise_functor_3( t301, 0.0, t2915 ); + const double t2942 = t312 * t2941; + const double t2946 = 0.1e1 / t915 / t320; + const double t2947 = t316 * t2946; + const double t2948 = t924 * t924; + const double t2951 = t312 * t318; + const double t2960 = 0.6e1 * t2951 * t2931 + 0.24e2 * t920 * t2931 + 0.3e1 * t918 * t2941 + 0.3e1 * t921 * t2941; + const double t2963 = piecewise_functor_3( t300, -0.18e2 * t309 * t2903 + 0.6e1 * t307 * t2916 + 0.3e1 * t309 * t2916 - 0.12e2 * t906 * t2916 - 0.12e2 * t2919 + 0.6e2 * t2925, -0.24e2 * t2930 * t2932 + 0.6e1 * t910 * t2931 - 0.12e2 * t2935 * t2936 + 0.6e1 * t910 * t2942 - 0.2e1 * t2947 * t2948 + t917 * t2960 ); + const double t2966 = t34 * t2910 * t277; + const double t2968 = t932 * sigma_bb; + const double t2969 = t2303 * t2968; + const double t2970 = t933 * t933; + const double t2971 = t2970 * t268; + const double t2972 = 0.1e1 / t2971; + const double t2974 = 0.1e1 / t938 / t276; + const double t2976 = t2969 * t2972 * t2974; + const double t2978 = t933 * t891; + const double t2980 = 0.1e1 / t269 / t2978; + const double t2983 = t555 * t932 * t2980 * t939; + const double t2985 = t927 * t927; + const double t2987 = t326 * t2985; + const double t2989 = t329 * t2963; + const double t2991 = t324 * t2985; + const double t2993 = t325 * t2963; + const double t2996 = t323 * t2963; + const double t2998 = 0.3465e4 / 0.8e1 * t2987 + 0.693e3 / 0.8e1 * t2989 - 0.945e3 / 0.4e1 * t2991 - 0.315e3 / 0.4e1 * t2993 + 0.105e3 / 0.8e1 * t2985 + 0.105e3 / 0.8e1 * t2996; + const double t3001 = t282 * t2901; + const double t3006 = 0.22e2 / 0.27e2 * t2966 - t2983 / 0.12e2 + t2976 / 0.81e2; + const double t3007 = t283 * t3006; + const double t3010 = t281 * t3006; + const double t3012 = 0.105e3 / 0.2e1 * t3001 + 0.35e2 / 0.2e1 * t3007 - 0.15e2 / 0.2e1 * t2901 - 0.15e2 / 0.2e1 * t3010; + const double t3017 = t325 * t2985; + const double t3019 = t326 * t2963; + const double t3021 = t323 * t2985; + const double t3023 = t324 * t2963; + const double t3026 = 0.315e3 / 0.2e1 * t3017 + 0.315e3 / 0.8e1 * t3019 - 0.105e3 / 0.2e1 * t3021 - 0.105e3 / 0.4e1 * t3023 + 0.15e2 / 0.8e1 * t2963; + const double t3031 = -0.18458962865625e0 * t2901 - 0.4373652639371875e-2 * t2963 - 0.12732825948078703704e0 * t2966 - 0.19292160527391975308e-2 * t2976 + 0.13022208355989583333e-1 * t2983 + 0.1406365375513125e-1 * t2985 + 0.912223751e-8 * t421 * t2998 + 0.912223751e-8 * t3012 * t340 + 0.1824447502e-7 * t1071 * t983 + 0.209603871e-7 * t421 * t3026 + 0.209603871e-7 * t3012 * t351; + const double t3034 = t329 * t2985; + const double t3036 = t336 * t2963; + const double t3043 = 0.9009e4 / 0.8e1 * t3034 + 0.3003e4 / 0.16e2 * t3036 - 0.3465e4 / 0.4e1 * t3017 - 0.3465e4 / 0.16e2 * t3019 + 0.945e3 / 0.8e1 * t3021 + 0.945e3 / 0.16e2 * t3023 - 0.35e2 / 0.16e2 * t2963; + const double t3048 = t284 * t2901; + const double t3050 = t287 * t3006; + const double t3061 = 0.3465e4 / 0.8e1 * t3048 + 0.693e3 / 0.8e1 * t3050 - 0.945e3 / 0.4e1 * t3001 - 0.315e3 / 0.4e1 * t3007 + 0.105e3 / 0.8e1 * t2901 + 0.105e3 / 0.8e1 * t3010; + const double t3070 = 0.1777051054e-7 * t954 * t964 + 0.888525527e-8 * t291 * t3043 + 0.236391411e-7 * t373 * t3026 + 0.240073981599375e1 * t3048 + 0.48014796319875e0 * t3050 - 0.16566742077375e1 * t3001 - 0.5522247359125e0 * t3007 - 0.18458962865625e0 * t3010 + 0.236391411e-7 * t3061 * t351 + 0.472782822e-7 * t1006 * t972 + 0.694482484e-8 * t373 * t2998 + 0.694482484e-8 * t3061 * t340; + const double t3080 = t283 * t2901; + const double t3082 = t284 * t3006; + const double t3084 = t281 * t2901; + const double t3086 = t282 * t3006; + const double t3091 = 0.315e3 / 0.2e1 * t3080 + 0.315e3 / 0.8e1 * t3082 - 0.105e3 / 0.2e1 * t3084 - 0.105e3 / 0.4e1 * t3086 + 0.55e2 / 0.36e2 * t2966 - 0.5e1 / 0.32e2 * t2983 + 0.5e1 / 0.216e3 * t2976; + const double t3096 = t3061 * t323; + const double t3098 = t1006 * t927; + const double t3107 = 0.15e2 * t3084 + 0.15e2 / 0.2e1 * t3086 - 0.11e2 / 0.9e1 * t2966 + t2983 / 0.8e1 - t2976 / 0.54e2; + const double t3114 = 0.1388964968e-7 * t1006 * t983 - 0.493824365e-8 * t3012 * t333 - 0.98764873e-8 * t1071 * t964 - 0.493824365e-8 * t421 * t3043 - 0.896771404e-2 * t3091 * t361 - 0.1793542808e-1 * t1035 * t997 - 0.957417512e-2 * t3096 - 0.1914835024e-1 * t3098 - 0.138472194e-7 * t402 * t2998 + 0.339308972e-2 * t3107 * t356 - 0.433721136e-7 * t1101 * t983 - 0.216860568e-7 * t438 * t2998; + const double t3117 = t373 * t2963; + const double t3125 = t3012 * t323; + const double t3127 = t1071 * t927; + const double t3129 = t421 * t2963; + const double t3139 = 0.850272392e-8 * t402 * t3043 - 0.957417512e-2 * t3117 + 0.850272392e-8 * t3091 * t333 + 0.1700544784e-7 * t1035 * t964 - 0.182911291e-1 * t3012 * t365 + 0.162638575e-1 * t3125 + 0.32527715e-1 * t3127 + 0.162638575e-1 * t3129 - 0.216860568e-7 * t3107 * t340 - 0.265114646e-7 * t3061 * t361 - 0.530229292e-7 * t1006 * t997 + 0.674910119e-8 * t3107 * t333; + const double t3151 = 0.15e2 * t3021 + 0.15e2 / 0.2e1 * t3023 - 0.3e1 / 0.2e1 * t2963; + const double t3166 = 0.105e3 / 0.2e1 * t2991 + 0.35e2 / 0.2e1 * t2993 - 0.15e2 / 0.2e1 * t2985 - 0.15e2 / 0.2e1 * t2996; + const double t3173 = 0.1349820238e-7 * t1101 * t964 + 0.169805915e-6 * t3061 * t365 - 0.416393106e-7 * t3061 * t356 - 0.265114646e-7 * t373 * t3151 + 0.631891628e-2 * t3012 * t361 + 0.1263783256e-1 * t1071 * t997 - 0.303347141e-2 * t281 * t3151 - 0.832786212e-7 * t1006 * t990 - 0.416393106e-7 * t373 * t3166 + 0.419207742e-7 * t1071 * t972 + 0.280678872e-1 * t3107 * t365; + const double t3188 = t287 * t2901; + const double t3190 = t345 * t3006; + const double t3199 = 0.9009e4 / 0.8e1 * t3188 + 0.3003e4 / 0.16e2 * t3190 - 0.3465e4 / 0.4e1 * t3080 - 0.3465e4 / 0.16e2 * t3082 + 0.945e3 / 0.8e1 * t3084 + 0.945e3 / 0.16e2 * t3086 - 0.385e3 / 0.216e3 * t2966 + 0.35e2 / 0.192e3 * t2983 - 0.35e2 / 0.1296e4 * t2976; + const double t3202 = t3199 * t323; + const double t3204 = t954 * t927; + const double t3206 = t291 * t2963; + const double t3208 = t3107 * t323; + const double t3210 = 0.631891628e-2 * t421 * t3151 - 0.338128188e-7 * t291 * t3026 - 0.105312309e-2 * t2901 * t351 + 0.548718171e-2 * t2901 * t356 + 0.879759123e-2 * t2901 * t361 - 0.450310908e-1 * t2901 * t365 - 0.450310908e-1 * t455 * t2985 - 0.27652468e-6 * t3199 * t365 + 0.940675747e-2 * t3202 + 0.1881351494e-1 * t3204 + 0.940675747e-2 * t3206 - 0.182177954e-1 * t3208; + const double t3212 = t1101 * t927; + const double t3226 = t945 * t964; + const double t3230 = t455 * t2963; + const double t3234 = -0.364355908e-1 * t3212 - 0.240026440066875e-2 * t2987 - 0.48005288013375e-3 * t2989 + 0.668980219e-8 * t455 * t2998 + 0.182906057e-2 * t455 * t3166 - 0.35104103e-3 * t455 * t3026 + 0.293253041e-2 * t455 * t3151 - 0.940351563e-5 * t3006 * t333 - 0.1880703126e-4 * t3226 - 0.940351563e-5 * t281 * t3043 - 0.43464346e-1 * t3230 - 0.2701865448e0 * t1004 * t981; + const double t3241 = t3006 * t323; + const double t3243 = t945 * t927; + const double t3245 = t281 * t2963; + const double t3249 = t945 * t997; + const double t3255 = t945 * t972; + const double t3259 = 0.505920757e-7 * t291 * t3151 + 0.505920757e-7 * t3199 * t361 + 0.1011841514e-6 * t954 * t997 + 0.100339208e0 * t3241 + 0.200678416e0 * t3243 + 0.100339208e0 * t3245 - 0.303347141e-2 * t3006 * t361 - 0.606694282e-2 * t3249 - 0.879090772e-2 * t3006 * t365 + 0.822139896e-3 * t3006 * t351 + 0.1644279792e-2 * t3255 + 0.822139896e-3 * t281 * t3026; + const double t3276 = 0.445308425186625e1 * t3188 + 0.742180708644375e0 * t3190 - 0.79012239917625e1 * t3080 - 0.1975305997940625e1 * t3082 + 0.298766783045625e1 * t3084 + 0.1493833915228125e1 * t3086 + 0.554588743e-7 * t3199 * t356 + 0.1109177486e-6 * t954 * t990 + 0.362485880376375e-1 * t2991 + 0.120828626792125e-1 * t2993 + 0.1406365375513125e-1 * t2996; + const double t3279 = t438 * t2963; + const double t3295 = 0.554588743e-7 * t291 * t3166 - 0.182177954e-1 * t3279 + 0.82889846164125e-3 * t3034 + 0.138149743606875e-3 * t3036 - 0.189176620712625e-1 * t3017 - 0.4729415517815625e-2 * t3019 + 0.2787661693108125e-1 * t3021 + 0.13938308465540625e-1 * t3023 - 0.223014657e-8 * t455 * t3043 - 0.514204676e-4 * t281 * t2998 - 0.845508103e-2 * t438 * t3151 - 0.774224962e-8 * t291 * t2998; + const double t3321 = 0.888525527e-8 * t3199 * t333 - 0.896771404e-2 * t402 * t3151 - 0.188495102e-1 * t3091 * t365 - 0.376702959e-7 * t3091 * t351 - 0.753405918e-7 * t1035 * t972 - 0.376702959e-7 * t402 * t3026 + 0.162238741e-6 * t3091 * t356 + 0.324477482e-6 * t1035 * t990 + 0.162238741e-6 * t402 * t3166 + 0.674910119e-8 * t438 * t3043 - 0.790811707e-7 * t3012 * t356 - 0.1581623414e-6 * t1071 * t990; + const double t3326 = t2901 * t323; + const double t3346 = -0.790811707e-7 * t421 * t3166 - 0.548733873e-1 * t421 * t2985 - 0.130393038e0 * t3326 + 0.842036616e-1 * t438 * t2985 - 0.669043971e-8 * t2901 * t333 + 0.2006940657e-7 * t2901 * t340 - 0.2637272316e-1 * t281 * t2985 - 0.669043971e-8 * t3010 * t333 - 0.1130970612e0 * t1065 * t927 - 0.2637272316e-1 * t482 * t2963 - 0.105312309e-2 * t3010 * t351 + 0.548718171e-2 * t3010 * t356; + const double t3373 = 0.879759123e-2 * t3010 * t361 - 0.450310908e-1 * t3010 * t365 + 0.101883549e-5 * t1061 * t927 + 0.2006940657e-7 * t3010 * t340 - 0.1097467746e0 * t1113 * t927 - 0.548733873e-1 * t434 * t2963 - 0.450310908e-1 * t468 * t2963 - 0.130393038e0 * t3010 * t323 + 0.842036616e-1 * t452 * t2963 + 0.896739466e-3 * t438 * t3026 + 0.896739466e-3 * t3107 * t351 + 0.1793478932e-2 * t1101 * t972; + const double t3398 = -0.165914808e-5 * t1015 * t927 - 0.565485306e-1 * t417 * t2963 + 0.509417745e-6 * t397 * t2963 - 0.82957404e-6 * t368 * t2963 - 0.210624618e-2 * t1004 * t972 + 0.1097436342e-1 * t1004 * t990 + 0.1759518246e-1 * t1004 * t997 - 0.260786076e0 * t1004 * t927 - 0.5274544632e-1 * t1188 * t927 + 0.1684073232e0 * t1142 * t927 - 0.1338087942e-7 * t1004 * t964 + 0.4013881314e-7 * t1004 * t983; + const double t3404 = t3091 * t323; + const double t3406 = t1035 * t927; + const double t3408 = t402 * t2963; + const double t3424 = -0.138472194e-7 * t3091 * t340 - 0.276944388e-7 * t1035 * t983 - 0.884148272e-2 * t3404 - 0.1768296544e-1 * t3406 - 0.884148272e-2 * t3408 - 0.338128188e-7 * t3199 * t351 - 0.676256376e-7 * t954 * t972 - 0.845508103e-2 * t3107 * t361 - 0.1691016206e-1 * t1101 * t997 + 0.678617944e-2 * t1101 * t990 + 0.339308972e-2 * t438 * t3166 - 0.565485306e-1 * t402 * t2985; + const double t3447 = t945 * t990; + const double t3449 = 0.509417745e-6 * t373 * t2985 - 0.82957404e-6 * t291 * t2985 - 0.774224962e-8 * t3199 * t340 - 0.1548449924e-7 * t954 * t983 - 0.691592964e-8 * t373 * t3043 - 0.691592964e-8 * t3061 * t333 - 0.1383185928e-7 * t1006 * t964 - 0.514204676e-4 * t3006 * t340 - 0.1028409352e-3 * t945 * t983 + 0.119130546e-2 * t281 * t3166 + 0.119130546e-2 * t3006 * t356 + 0.238261092e-2 * t3447; + const double t3453 = t3031 + t3070 + t3114 + t3139 + t3173 + t3210 + t3234 + t3259 + t3276 + t3295 + t3321 + t3346 + t3373 + t3398 + t3424 + t3449; + const double t3458 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t2892 * t486 - t2850 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t885 * t1221 + t2806 - t2857 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t267 * t3453 ); + const double t3466 = t6 * t505 * t1539 / 0.8e1; + const double t3467 = t560 * t563; + const double t3469 = t555 * t3467 * sigma_aa; + const double t3473 = t34 * t513; + const double t3474 = 0.5e1 / 0.27e2 * t3473; + const double t3475 = piecewise_functor_3( t66, t3474, 0.0 ); + const double t3480 = t74 * t3475; + const double t3482 = t2243 * t1231; + const double t3485 = t526 * t3475; + const double t3488 = t78 * t1239; + const double t3489 = t3488 * t531; + const double t3492 = t1240 * t544; + const double t3495 = t531 * t1239; + const double t3498 = piecewise_functor_3( t66, 0.0, t3474 ); + const double t3499 = t77 * t3498; + const double t3502 = t1246 * t77; + const double t3503 = t3502 * t531; + const double t3506 = t1246 * t544; + const double t3511 = t540 * t531; + const double t3518 = 0.24e2 * t3511 * t1239 + 0.6e1 * t2270 * t3495 + 0.3e1 * t538 * t3498 + 0.3e1 * t541 * t3498; + const double t3521 = piecewise_functor_3( t65, -0.18e2 * t1234 * t520 - 0.12e2 * t1236 * t520 + 0.6e1 * t72 * t3475 + 0.6e2 * t3482 * t520 + 0.3e1 * t3480 - 0.12e2 * t3485, -0.24e2 * t2249 * t3489 - 0.6e1 * t2254 * t3492 - 0.6e1 * t2254 * t3503 - 0.2e1 * t2266 * t3506 + 0.6e1 * t530 * t3495 + 0.6e1 * t530 * t3499 + t537 * t3518 ); + const double t3527 = t1318 * t585; + const double t3530 = t34 * t513 * t44; + const double t3533 = t2303 * t556; + const double t3534 = t2306 * rho_a; + const double t3535 = 0.1e1 / t3534; + const double t3537 = t3533 * t3535 * t2310; + const double t3539 = -0.2e1 / 0.9e1 * t3530 + t3469 / 0.36e2 - t3537 / 0.216e3; + const double t3540 = t52 * t3539; + const double t3542 = t1320 * t585; + const double t3544 = t51 * t3539; + const double t3546 = t1322 * t585; + const double t3548 = t50 * t3539; + const double t3553 = 0.9009e4 / 0.8e1 * t3527 + 0.3003e4 / 0.16e2 * t3540 - 0.3465e4 / 0.4e1 * t3542 - 0.3465e4 / 0.16e2 * t3544 + 0.945e3 / 0.8e1 * t3546 + 0.945e3 / 0.16e2 * t3548 + 0.35e2 / 0.72e2 * t3530 - 0.35e2 / 0.576e3 * t3469 + 0.35e2 / 0.3456e4 * t3537; + const double t3558 = t1266 * t585; + const double t3560 = t102 * t3539; + const double t3562 = t1268 * t585; + const double t3564 = t104 * t3539; + const double t3566 = t585 * t1263; + const double t3568 = t49 * t3539; + const double t3570 = 0.3465e4 / 0.8e1 * t3558 + 0.693e3 / 0.8e1 * t3560 - 0.945e3 / 0.4e1 * t3562 - 0.315e3 / 0.4e1 * t3564 + 0.105e3 / 0.8e1 * t3566 + 0.105e3 / 0.8e1 * t3568; + const double t3578 = 0.15e2 * t3546 + 0.15e2 / 0.2e1 * t3548 + t3530 / 0.3e1 - t3469 / 0.24e2 + t3537 / 0.144e3; + const double t3583 = t732 * t1249; + const double t3585 = t193 * t3521; + const double t3587 = t1275 * t547; + const double t3589 = t118 * t3521; + const double t3591 = t1277 * t547; + const double t3593 = t108 * t3521; + const double t3595 = t1279 * t547; + const double t3597 = t89 * t3521; + const double t3600 = 0.9009e4 / 0.8e1 * t3587 + 0.3003e4 / 0.16e2 * t3589 - 0.3465e4 / 0.4e1 * t3591 - 0.3465e4 / 0.16e2 * t3593 + 0.945e3 / 0.8e1 * t3595 + 0.945e3 / 0.16e2 * t3597 - 0.35e2 / 0.16e2 * t3521; + const double t3607 = -0.43407361186631944443e-2 * t3469 - 0.4373652639371875e-2 * t3521 - 0.1350932724e0 * t1322 * t601 - 0.1350932724e0 * t635 * t1279 - 0.338128188e-7 * t3553 * t128 - 0.338128188e-7 * t1272 * t580 + 0.694482484e-8 * t3570 * t122 - 0.216860568e-7 * t3578 * t122 - 0.216860568e-7 * t1424 * t603 - 0.182177954e-1 * t3583 - 0.182177954e-1 * t3585 - 0.223014657e-8 * t201 * t3600 + 0.674910119e-8 * t1424 * t574 + 0.674910119e-8 * t732 * t1293; + const double t3613 = 0.15e2 * t3595 + 0.15e2 / 0.2e1 * t3597 - 0.3e1 / 0.2e1 * t3521; + const double t3616 = t3539 * t133; + const double t3618 = t1263 * t612; + const double t3620 = t585 * t1331; + const double t3622 = t1290 * t547; + const double t3624 = t90 * t3521; + const double t3626 = t547 * t1249; + const double t3628 = t88 * t3521; + const double t3630 = 0.105e3 / 0.2e1 * t3622 + 0.35e2 / 0.2e1 * t3624 - 0.15e2 / 0.2e1 * t3626 - 0.15e2 / 0.2e1 * t3628; + const double t3642 = 0.315e3 / 0.2e1 * t3542 + 0.315e3 / 0.8e1 * t3544 - 0.105e3 / 0.2e1 * t3546 - 0.105e3 / 0.4e1 * t3548 - 0.5e1 / 0.12e2 * t3530 + 0.5e1 / 0.96e2 * t3469 - 0.5e1 / 0.576e3 * t3537; + const double t3649 = t3642 * t88; + const double t3651 = t1365 * t547; + const double t3657 = t111 * t3521; + const double t3659 = 0.674910119e-8 * t193 * t3600 + 0.293253041e-2 * t201 * t3613 + 0.119130546e-2 * t3616 + 0.119130546e-2 * t3618 + 0.119130546e-2 * t3620 + 0.119130546e-2 * t49 * t3630 + 0.162238741e-6 * t1365 * t612 - 0.188495102e-1 * t3642 * t97 + 0.162238741e-6 * t672 * t1331 + 0.162238741e-6 * t107 * t3630 - 0.884148272e-2 * t3649 - 0.884148272e-2 * t3651 + 0.162238741e-6 * t3642 * t133 + 0.912223751e-8 * t702 * t1281 - 0.48005288013375e-3 * t3657; + const double t3664 = t1288 * t547; + const double t3671 = 0.3465e4 / 0.8e1 * t3664 + 0.693e3 / 0.8e1 * t3657 - 0.945e3 / 0.4e1 * t3622 - 0.315e3 / 0.4e1 * t3624 + 0.105e3 / 0.8e1 * t3626 + 0.105e3 / 0.8e1 * t3628; + const double t3678 = 0.105e3 / 0.2e1 * t3562 + 0.35e2 / 0.2e1 * t3564 - 0.15e2 / 0.2e1 * t3566 - 0.15e2 / 0.2e1 * t3568; + const double t3683 = t672 * t1249; + const double t3685 = t107 * t3521; + const double t3698 = 0.120828626792125e-1 * t3624 + 0.1406365375513125e-1 * t3626 + 0.1406365375513125e-1 * t3628 + 0.912223751e-8 * t225 * t3671 + 0.912223751e-8 * t3678 * t122 + 0.209603871e-7 * t1394 * t580 - 0.884148272e-2 * t3683 - 0.884148272e-2 * t3685 + 0.209603871e-7 * t3678 * t128 + 0.912223751e-8 * t1394 * t603 + 0.674910119e-8 * t3578 * t115 - 0.493824365e-8 * t702 * t1293 + 0.138149743606875e-3 * t3589 - 0.4729415517815625e-2 * t3593 + 0.13938308465540625e-1 * t3597; + const double t3705 = t1394 * t547; + const double t3707 = t702 * t1249; + const double t3709 = t225 * t3521; + const double t3711 = t637 * t1249; + const double t3713 = t56 * t3521; + const double t3717 = t3570 * t88; + const double t3723 = t147 * t3521; + const double t3729 = -0.493824365e-8 * t225 * t3600 - 0.493824365e-8 * t3678 * t115 - 0.493824365e-8 * t1394 * t574 + 0.162638575e-1 * t3705 + 0.162638575e-1 * t3707 + 0.162638575e-1 * t3709 - 0.957417512e-2 * t3711 - 0.957417512e-2 * t3713 + 0.169805915e-6 * t3570 * t97 - 0.957417512e-2 * t3717 - 0.265114646e-7 * t637 * t1300 - 0.265114646e-7 * t56 * t3613 + 0.940675747e-2 * t3723 - 0.691592964e-8 * t3570 * t115 - 0.691592964e-8 * t1324 * t574; + const double t3760 = -0.691592964e-8 * t637 * t1293 - 0.691592964e-8 * t56 * t3600 + 0.888525527e-8 * t147 * t3600 - 0.896771404e-2 * t1365 * t619 - 0.896771404e-2 * t672 * t1300 - 0.896771404e-2 * t107 * t3613 + 0.34725888949305555555e-1 * t3530 + 0.72345601977719907405e-3 * t3537 + 0.505920757e-7 * t3553 * t93 + 0.505920757e-7 * t1272 * t619 + 0.505920757e-7 * t594 * t1300 + 0.505920757e-7 * t147 * t3613 - 0.774224962e-8 * t1272 * t603 + 0.554588743e-7 * t3553 * t133 + 0.554588743e-7 * t1272 * t612; + const double t3788 = 0.315e3 / 0.2e1 * t3591 + 0.315e3 / 0.8e1 * t3593 - 0.105e3 / 0.2e1 * t3595 - 0.105e3 / 0.4e1 * t3597 + 0.15e2 / 0.8e1 * t3521; + const double t3797 = -0.774224962e-8 * t594 * t1281 - 0.774224962e-8 * t147 * t3671 - 0.774224962e-8 * t3553 * t122 + 0.631891628e-2 * t1394 * t619 - 0.845508103e-2 * t3578 * t93 - 0.845508103e-2 * t1424 * t619 - 0.845508103e-2 * t732 * t1300 - 0.845508103e-2 * t193 * t3613 + 0.280678872e-1 * t3578 * t97 - 0.182911291e-1 * t3678 * t97 + 0.209603871e-7 * t702 * t1308 + 0.209603871e-7 * t225 * t3788 + 0.631891628e-2 * t702 * t1300 + 0.631891628e-2 * t225 * t3613 + 0.631891628e-2 * t3678 * t93; + const double t3809 = t3539 * t115; + const double t3811 = t1263 * t574; + const double t3813 = t585 * t1293; + const double t3817 = t3539 * t122; + const double t3819 = t1263 * t603; + const double t3821 = t585 * t1281; + const double t3825 = t585 * t1308; + const double t3829 = -0.303347141e-2 * t49 * t3613 - 0.790811707e-7 * t702 * t1331 - 0.790811707e-7 * t225 * t3630 - 0.790811707e-7 * t3678 * t133 - 0.790811707e-7 * t1394 * t612 - 0.940351563e-5 * t3809 - 0.940351563e-5 * t3811 - 0.940351563e-5 * t3813 - 0.940351563e-5 * t49 * t3600 - 0.514204676e-4 * t3817 - 0.514204676e-4 * t3819 - 0.514204676e-4 * t3821 - 0.514204676e-4 * t49 * t3671 + 0.822139896e-3 * t3825 + 0.822139896e-3 * t49 * t3788; + const double t3830 = t3539 * t128; + const double t3832 = t1263 * t580; + const double t3834 = t1263 * t619; + const double t3836 = t585 * t1300; + const double t3843 = t1324 * t547; + const double t3859 = 0.822139896e-3 * t3830 + 0.822139896e-3 * t3832 - 0.303347141e-2 * t3834 - 0.303347141e-2 * t3836 + 0.742180708644375e0 * t3540 + 0.888525527e-8 * t3553 * t115 + 0.888525527e-8 * t1272 * t574 - 0.957417512e-2 * t3843 - 0.416393106e-7 * t3570 * t133 - 0.416393106e-7 * t1324 * t612 - 0.416393106e-7 * t637 * t1331 - 0.416393106e-7 * t56 * t3630 + 0.888525527e-8 * t594 * t1293 - 0.565485306e-1 * t1383 * t547 + 0.509417745e-6 * t1347 * t547; + const double t3891 = -0.130393038e0 * t635 * t1249 + 0.548718171e-2 * t635 * t1331 + 0.2006940657e-7 * t635 * t1281 - 0.105312309e-2 * t635 * t1308 + 0.879759123e-2 * t635 * t1300 - 0.2637272316e-1 * t1495 * t547 + 0.842036616e-1 * t1444 * t547 - 0.669043971e-8 * t635 * t1293 - 0.565485306e-1 * t710 * t1249 - 0.565485306e-1 * t712 * t1249 - 0.565485306e-1 * t140 * t3521 + 0.509417745e-6 * t657 * t1249 + 0.509417745e-6 * t679 * t1249 + 0.509417745e-6 * t100 * t3521; + const double t3922 = 0.548718171e-2 * t3566 * t133 + 0.548718171e-2 * t3568 * t133 + 0.548718171e-2 * t1322 * t612 + 0.879759123e-2 * t3566 * t93 + 0.879759123e-2 * t3568 * t93 + 0.879759123e-2 * t1322 * t619 - 0.450310908e-1 * t3566 * t97 - 0.450310908e-1 * t3568 * t97 - 0.450310908e-1 * t789 * t1249 - 0.450310908e-1 * t214 * t3521 + 0.842036616e-1 * t769 * t1249 + 0.842036616e-1 * t751 * t1249 + 0.842036616e-1 * t198 * t3521 - 0.2637272316e-1 * t166 * t3521 - 0.130393038e0 * t3566 * t88; + const double t3954 = -0.130393038e0 * t3568 * t88 - 0.130393038e0 * t1322 * t547 - 0.669043971e-8 * t3566 * t115 - 0.669043971e-8 * t3568 * t115 - 0.669043971e-8 * t1322 * t574 + 0.2006940657e-7 * t3566 * t122 + 0.2006940657e-7 * t3568 * t122 + 0.2006940657e-7 * t1322 * t603 - 0.105312309e-2 * t3566 * t128 - 0.105312309e-2 * t3568 * t128 - 0.105312309e-2 * t1322 * t580 - 0.82957404e-6 * t627 * t1249 - 0.82957404e-6 * t629 * t1249 - 0.82957404e-6 * t173 * t3521 - 0.548733873e-1 * t743 * t1249; + const double t3976 = -0.548733873e-1 * t745 * t1249 - 0.548733873e-1 * t238 * t3521 - 0.82957404e-6 * t1313 * t547 + 0.240073981599375e1 * t3558 + 0.362485880376375e-1 * t3622 - 0.548733873e-1 * t1414 * t547 - 0.2637272316e-1 * t795 * t1249 - 0.2637272316e-1 * t797 * t1249 + 0.445308425186625e1 * t3527 + 0.82889846164125e-3 * t3587 - 0.189176620712625e-1 * t3591 + 0.2787661693108125e-1 * t3595 - 0.240026440066875e-2 * t3664 - 0.16566742077375e1 * t3562 - 0.79012239917625e1 * t3542; + const double t3984 = t3553 * t88; + const double t3999 = t3678 * t88; + const double t4003 = 0.298766783045625e1 * t3546 + 0.554588743e-7 * t594 * t1331 + 0.554588743e-7 * t147 * t3630 + 0.940675747e-2 * t3984 - 0.1975305997940625e1 * t3544 + 0.1493833915228125e1 * t3548 - 0.138472194e-7 * t3642 * t122 - 0.138472194e-7 * t1365 * t603 + 0.896739466e-3 * t3578 * t128 + 0.896739466e-3 * t1424 * t580 - 0.5522247359125e0 * t3564 - 0.18458962865625e0 * t3566 - 0.18458962865625e0 * t3568 + 0.162638575e-1 * t3999 - 0.376702959e-7 * t672 * t1308; + const double t4010 = t3578 * t88; + const double t4012 = t1424 * t547; + const double t4022 = t1272 * t547; + const double t4024 = t594 * t1249; + const double t4028 = t3539 * t97; + const double t4030 = t3539 * t88; + const double t4032 = t1263 * t547; + const double t4034 = -0.376702959e-7 * t107 * t3788 + 0.850272392e-8 * t3642 * t115 + 0.850272392e-8 * t1365 * t574 - 0.182177954e-1 * t4010 - 0.182177954e-1 * t4012 + 0.896739466e-3 * t732 * t1308 + 0.896739466e-3 * t193 * t3788 + 0.339308972e-2 * t3578 * t133 + 0.339308972e-2 * t1424 * t612 + 0.940675747e-2 * t4022 + 0.940675747e-2 * t4024 - 0.27652468e-6 * t3553 * t97 - 0.879090772e-2 * t4028 + 0.100339208e0 * t4030 + 0.100339208e0 * t4032; + const double t4036 = t585 * t1249; + const double t4038 = t49 * t3521; + const double t4066 = 0.100339208e0 * t4036 + 0.100339208e0 * t4038 + 0.850272392e-8 * t672 * t1293 + 0.850272392e-8 * t107 * t3600 - 0.138472194e-7 * t672 * t1281 - 0.138472194e-7 * t107 * t3671 - 0.896771404e-2 * t3642 * t93 + 0.694482484e-8 * t1324 * t603 + 0.694482484e-8 * t637 * t1281 + 0.694482484e-8 * t56 * t3671 + 0.339308972e-2 * t732 * t1331 + 0.339308972e-2 * t193 * t3630 - 0.216860568e-7 * t732 * t1281 - 0.216860568e-7 * t193 * t3671 - 0.338128188e-7 * t594 * t1308; + const double t4069 = t201 * t3521; + const double t4085 = t3539 * t93; + const double t4096 = -0.338128188e-7 * t147 * t3788 - 0.43464346e-1 * t4069 + 0.182906057e-2 * t201 * t3630 + 0.668980219e-8 * t201 * t3671 - 0.35104103e-3 * t201 * t3788 - 0.376702959e-7 * t3642 * t128 - 0.376702959e-7 * t1365 * t580 - 0.265114646e-7 * t1324 * t619 + 0.236391411e-7 * t3570 * t128 - 0.303347141e-2 * t4085 + 0.236391411e-7 * t1324 * t580 + 0.236391411e-7 * t637 * t1308 + 0.236391411e-7 * t56 * t3788 + 0.48014796319875e0 * t3560 - 0.265114646e-7 * t3570 * t93; + const double t4100 = t3607 + t3659 + t3698 + t3729 + t3760 + t3797 + t3829 + t3859 + t3891 + t3922 + t3954 + t3976 + t4003 + t4034 + t4066 + t4096; + const double t4105 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t1539 - t3466 - 0.3e1 / 0.8e1 * t6 * t28 * t4100 ); + const double t4112 = t6 * t861 * t1854 / 0.8e1; + const double t4127 = t34 * t893; + const double t4128 = 0.5e1 / 0.27e2 * t4127; + const double t4129 = piecewise_functor_3( t301, t4128, 0.0 ); + const double t4134 = t309 * t4129; + const double t4136 = t2924 * t1546; + const double t4139 = t906 * t4129; + const double t4142 = t313 * t1554; + const double t4143 = t4142 * t911; + const double t4146 = t1555 * t924; + const double t4149 = t911 * t1554; + const double t4152 = piecewise_functor_3( t301, 0.0, t4128 ); + const double t4153 = t312 * t4152; + const double t4156 = t1561 * t312; + const double t4157 = t4156 * t911; + const double t4160 = t1561 * t924; + const double t4165 = t920 * t911; + const double t4172 = 0.24e2 * t4165 * t1554 + 0.6e1 * t2951 * t4149 + 0.3e1 * t918 * t4152 + 0.3e1 * t921 * t4152; + const double t4175 = piecewise_functor_3( t300, -0.18e2 * t1549 * t900 - 0.12e2 * t1551 * t900 + 0.6e1 * t307 * t4129 + 0.6e2 * t4136 * t900 + 0.3e1 * t4134 - 0.12e2 * t4139, -0.24e2 * t2930 * t4143 - 0.6e1 * t2935 * t4146 - 0.6e1 * t2935 * t4157 - 0.2e1 * t2947 * t4160 + 0.6e1 * t910 * t4149 + 0.6e1 * t910 * t4153 + t917 * t4172 ); + const double t4181 = t936 * t939; + const double t4183 = t555 * t4181 * sigma_bb; + const double t4186 = t34 * t893 * t277; + const double t4188 = t2303 * t932; + const double t4189 = t2970 * rho_b; + const double t4190 = 0.1e1 / t4189; + const double t4192 = t4188 * t4190 * t2974; + const double t4194 = t1620 * t945; + const double t4199 = -0.2e1 / 0.9e1 * t4186 + t4183 / 0.36e2 - t4192 / 0.216e3; + const double t4200 = t284 * t4199; + const double t4202 = t1622 * t945; + const double t4204 = t282 * t4199; + const double t4209 = 0.315e3 / 0.2e1 * t4194 + 0.315e3 / 0.8e1 * t4200 - 0.105e3 / 0.2e1 * t4202 - 0.105e3 / 0.4e1 * t4204 - 0.5e1 / 0.12e2 * t4186 + 0.5e1 / 0.96e2 * t4183 - 0.5e1 / 0.576e3 * t4192; + const double t4217 = 0.15e2 * t4202 + 0.15e2 / 0.2e1 * t4204 + t4186 / 0.3e1 - t4183 / 0.24e2 + t4192 / 0.144e3; + const double t4222 = t1591 * t927; + const double t4224 = t326 * t4175; + const double t4226 = t1593 * t927; + const double t4228 = t324 * t4175; + const double t4231 = 0.315e3 / 0.2e1 * t4222 + 0.315e3 / 0.8e1 * t4224 - 0.105e3 / 0.2e1 * t4226 - 0.105e3 / 0.4e1 * t4228 + 0.15e2 / 0.8e1 * t4175; + const double t4234 = t945 * t1602; + const double t4236 = t945 * t1595; + const double t4238 = t1583 * t927; + const double t4240 = t325 * t4175; + const double t4242 = t927 * t1564; + const double t4244 = t323 * t4175; + const double t4246 = 0.105e3 / 0.2e1 * t4238 + 0.35e2 / 0.2e1 * t4240 - 0.15e2 / 0.2e1 * t4242 - 0.15e2 / 0.2e1 * t4244; + const double t4249 = t1628 * t927; + const double t4251 = t336 * t4175; + const double t4258 = 0.9009e4 / 0.8e1 * t4249 + 0.3003e4 / 0.16e2 * t4251 - 0.3465e4 / 0.4e1 * t4222 - 0.3465e4 / 0.16e2 * t4224 + 0.945e3 / 0.8e1 * t4226 + 0.945e3 / 0.16e2 * t4228 - 0.35e2 / 0.16e2 * t4175; + const double t4261 = -0.4373652639371875e-2 * t4175 - 0.1350932724e0 * t1004 * t1593 - 0.1350932724e0 * t1622 * t981 - 0.43407361186631944443e-2 * t4183 + 0.34725888949305555555e-1 * t4186 + 0.72345601977719907405e-3 * t4192 + 0.162238741e-6 * t4209 * t356 + 0.280678872e-1 * t4217 * t365 + 0.896739466e-3 * t4217 * t351 - 0.376702959e-7 * t402 * t4231 - 0.303347141e-2 * t4234 + 0.119130546e-2 * t4236 + 0.119130546e-2 * t281 * t4246 - 0.223014657e-8 * t455 * t4258; + const double t4262 = t4217 * t323; + const double t4264 = t1674 * t927; + const double t4266 = t1101 * t1564; + const double t4268 = t438 * t4175; + const double t4272 = t1611 * t945; + const double t4274 = t287 * t4199; + const double t4276 = t1613 * t945; + const double t4278 = t283 * t4199; + const double t4280 = t945 * t1578; + const double t4282 = t281 * t4199; + const double t4284 = 0.3465e4 / 0.8e1 * t4272 + 0.693e3 / 0.8e1 * t4274 - 0.945e3 / 0.4e1 * t4276 - 0.315e3 / 0.4e1 * t4278 + 0.105e3 / 0.8e1 * t4280 + 0.105e3 / 0.8e1 * t4282; + const double t4299 = t945 * t1632; + const double t4301 = t1581 * t927; + const double t4303 = t329 * t4175; + const double t4309 = 0.3465e4 / 0.8e1 * t4301 + 0.693e3 / 0.8e1 * t4303 - 0.945e3 / 0.4e1 * t4238 - 0.315e3 / 0.4e1 * t4240 + 0.105e3 / 0.8e1 * t4242 + 0.105e3 / 0.8e1 * t4244; + const double t4312 = -0.182177954e-1 * t4262 - 0.182177954e-1 * t4264 - 0.182177954e-1 * t4266 - 0.182177954e-1 * t4268 - 0.896771404e-2 * t1035 * t1602 - 0.265114646e-7 * t4284 * t361 - 0.265114646e-7 * t1757 * t997 - 0.774224962e-8 * t1718 * t983 + 0.850272392e-8 * t1035 * t1646 + 0.138149743606875e-3 * t4251 + 0.850272392e-8 * t402 * t4258 + 0.48014796319875e0 * t4274 - 0.265114646e-7 * t1006 * t1602 - 0.514204676e-4 * t4299 - 0.514204676e-4 * t281 * t4309; + const double t4314 = t4199 * t340; + const double t4316 = t1578 * t983; + const double t4320 = t1753 * t945; + const double t4322 = t345 * t4199; + const double t4331 = 0.9009e4 / 0.8e1 * t4320 + 0.3003e4 / 0.16e2 * t4322 - 0.3465e4 / 0.4e1 * t4194 - 0.3465e4 / 0.16e2 * t4200 + 0.945e3 / 0.8e1 * t4202 + 0.945e3 / 0.16e2 * t4204 + 0.35e2 / 0.72e2 * t4186 - 0.35e2 / 0.576e3 * t4183 + 0.35e2 / 0.3456e4 * t4192; + const double t4349 = 0.105e3 / 0.2e1 * t4276 + 0.35e2 / 0.2e1 * t4278 - 0.15e2 / 0.2e1 * t4280 - 0.15e2 / 0.2e1 * t4282; + const double t4350 = t4349 * t323; + const double t4352 = t1624 * t927; + const double t4354 = -0.514204676e-4 * t4314 - 0.514204676e-4 * t4316 + 0.554588743e-7 * t291 * t4246 + 0.554588743e-7 * t4331 * t356 - 0.48005288013375e-3 * t4303 + 0.120828626792125e-1 * t4240 + 0.1406365375513125e-1 * t4242 + 0.1406365375513125e-1 * t4244 + 0.668980219e-8 * t455 * t4309 + 0.182906057e-2 * t455 * t4246 - 0.5522247359125e0 * t4278 - 0.18458962865625e0 * t4280 - 0.18458962865625e0 * t4282 + 0.162638575e-1 * t4350 + 0.162638575e-1 * t4352; + const double t4372 = 0.15e2 * t4226 + 0.15e2 / 0.2e1 * t4228 - 0.3e1 / 0.2e1 * t4175; + const double t4379 = t4331 * t323; + const double t4389 = 0.339308972e-2 * t4217 * t356 - 0.216860568e-7 * t4217 * t340 - 0.216860568e-7 * t1674 * t983 - 0.216860568e-7 * t1101 * t1632 - 0.216860568e-7 * t438 * t4309 + 0.912223751e-8 * t1071 * t1632 + 0.912223751e-8 * t421 * t4309 - 0.265114646e-7 * t373 * t4372 + 0.554588743e-7 * t1718 * t990 + 0.554588743e-7 * t954 * t1595 + 0.940675747e-2 * t4379 + 0.169805915e-6 * t4284 * t365 - 0.416393106e-7 * t4284 * t356 - 0.416393106e-7 * t1757 * t990 + 0.631891628e-2 * t1071 * t1602; + const double t4422 = 0.631891628e-2 * t421 * t4372 + 0.631891628e-2 * t4349 * t361 + 0.209603871e-7 * t1624 * t972 + 0.209603871e-7 * t1071 * t1586 + 0.209603871e-7 * t421 * t4231 - 0.790811707e-7 * t4349 * t356 - 0.790811707e-7 * t1624 * t990 - 0.138472194e-7 * t1035 * t1632 + 0.162238741e-6 * t1617 * t990 + 0.162238741e-6 * t1035 * t1595 + 0.162238741e-6 * t402 * t4246 + 0.236391411e-7 * t4284 * t351 + 0.236391411e-7 * t1757 * t972 + 0.236391411e-7 * t1006 * t1586 + 0.236391411e-7 * t373 * t4231; + const double t4452 = -0.691592964e-8 * t4284 * t333 - 0.691592964e-8 * t1757 * t964 - 0.691592964e-8 * t1006 * t1646 - 0.691592964e-8 * t373 * t4258 + 0.631891628e-2 * t1624 * t997 + 0.2787661693108125e-1 * t4226 + 0.674910119e-8 * t4217 * t333 + 0.674910119e-8 * t1674 * t964 - 0.138472194e-7 * t402 * t4309 - 0.138472194e-7 * t4209 * t340 - 0.138472194e-7 * t1617 * t983 + 0.505920757e-7 * t291 * t4372 + 0.505920757e-7 * t4331 * t361 + 0.505920757e-7 * t1718 * t997 - 0.493824365e-8 * t421 * t4258; + const double t4484 = -0.845508103e-2 * t4217 * t361 - 0.845508103e-2 * t1674 * t997 - 0.896771404e-2 * t4209 * t361 - 0.896771404e-2 * t1617 * t997 - 0.565485306e-1 * t1065 * t1564 - 0.565485306e-1 * t1067 * t1564 - 0.565485306e-1 * t417 * t4175 + 0.509417745e-6 * t1061 * t1564 + 0.509417745e-6 * t1063 * t1564 + 0.509417745e-6 * t397 * t4175 - 0.105312309e-2 * t4280 * t351 - 0.105312309e-2 * t4282 * t351 - 0.105312309e-2 * t1622 * t972 + 0.548718171e-2 * t4280 * t356 + 0.548718171e-2 * t4282 * t356; + const double t4515 = 0.548718171e-2 * t1622 * t990 + 0.879759123e-2 * t4280 * t361 + 0.879759123e-2 * t4282 * t361 + 0.879759123e-2 * t1622 * t997 - 0.450310908e-1 * t4280 * t365 - 0.450310908e-1 * t4282 * t365 + 0.842036616e-1 * t1142 * t1564 + 0.842036616e-1 * t1144 * t1564 + 0.842036616e-1 * t452 * t4175 - 0.565485306e-1 * t1635 * t927 - 0.450310908e-1 * t1183 * t1564 - 0.450310908e-1 * t468 * t4175 - 0.130393038e0 * t4280 * t323 - 0.130393038e0 * t4282 * t323 - 0.130393038e0 * t1622 * t927; + const double t4546 = -0.669043971e-8 * t4280 * t333 - 0.669043971e-8 * t4282 * t333 - 0.669043971e-8 * t1622 * t964 + 0.2006940657e-7 * t4280 * t340 + 0.2006940657e-7 * t4282 * t340 + 0.2006940657e-7 * t1622 * t983 - 0.548733873e-1 * t1683 * t927 - 0.548733873e-1 * t1113 * t1564 - 0.548733873e-1 * t1115 * t1564 - 0.548733873e-1 * t434 * t4175 - 0.338128188e-7 * t954 * t1586 - 0.338128188e-7 * t4331 * t351 + 0.505920757e-7 * t954 * t1602 + 0.13938308465540625e-1 * t4228; + const double t4553 = t4199 * t356; + const double t4555 = t1578 * t990; + const double t4566 = t4209 * t323; + const double t4568 = t1617 * t927; + const double t4570 = t1035 * t1564; + const double t4572 = t402 * t4175; + const double t4574 = -0.896771404e-2 * t402 * t4372 - 0.1975305997940625e1 * t4200 + 0.1493833915228125e1 * t4204 - 0.188495102e-1 * t4209 * t365 + 0.119130546e-2 * t4553 + 0.119130546e-2 * t4555 + 0.339308972e-2 * t1674 * t990 + 0.339308972e-2 * t1101 * t1595 + 0.339308972e-2 * t438 * t4246 + 0.742180708644375e0 * t4322 + 0.888525527e-8 * t4331 * t333 - 0.884148272e-2 * t4566 - 0.884148272e-2 * t4568 - 0.884148272e-2 * t4570 - 0.884148272e-2 * t4572; + const double t4586 = t1718 * t927; + const double t4588 = t954 * t1564; + const double t4590 = t291 * t4175; + const double t4602 = t945 * t1646; + const double t4606 = -0.493824365e-8 * t4349 * t333 + 0.888525527e-8 * t1718 * t964 - 0.774224962e-8 * t954 * t1632 - 0.774224962e-8 * t291 * t4309 - 0.774224962e-8 * t4331 * t340 + 0.940675747e-2 * t4586 + 0.940675747e-2 * t4588 + 0.940675747e-2 * t4590 - 0.27652468e-6 * t4331 * t365 - 0.416393106e-7 * t1006 * t1595 - 0.416393106e-7 * t373 * t4246 - 0.182911291e-1 * t4349 * t365 + 0.209603871e-7 * t4349 * t351 - 0.940351563e-5 * t4602 - 0.940351563e-5 * t281 * t4258; + const double t4607 = t455 * t4175; + const double t4609 = t4199 * t333; + const double t4611 = t1578 * t964; + const double t4625 = t4199 * t361; + const double t4627 = t1578 * t997; + const double t4637 = -0.43464346e-1 * t4607 - 0.940351563e-5 * t4609 - 0.940351563e-5 * t4611 - 0.493824365e-8 * t1624 * t964 - 0.493824365e-8 * t1071 * t1646 + 0.912223751e-8 * t4349 * t340 + 0.912223751e-8 * t1624 * t983 + 0.293253041e-2 * t455 * t4372 - 0.35104103e-3 * t455 * t4231 - 0.303347141e-2 * t4625 - 0.303347141e-2 * t4627 + 0.879759123e-2 * t1004 * t1602 - 0.82957404e-6 * t1015 * t1564 - 0.82957404e-6 * t1017 * t1564 - 0.82957404e-6 * t368 * t4175; + const double t4652 = t4284 * t323; + const double t4654 = t1757 * t927; + const double t4656 = t1006 * t1564; + const double t4658 = t945 * t1586; + const double t4663 = t4199 * t351; + const double t4665 = t1578 * t972; + const double t4667 = t4199 * t365; + const double t4669 = 0.694482484e-8 * t4284 * t340 + 0.694482484e-8 * t1757 * t983 + 0.694482484e-8 * t1006 * t1632 + 0.694482484e-8 * t373 * t4309 + 0.850272392e-8 * t4209 * t333 + 0.850272392e-8 * t1617 * t964 - 0.957417512e-2 * t4652 - 0.957417512e-2 * t4654 - 0.957417512e-2 * t4656 + 0.822139896e-3 * t4658 - 0.4729415517815625e-2 * t4224 + 0.822139896e-3 * t281 * t4231 + 0.822139896e-3 * t4663 + 0.822139896e-3 * t4665 - 0.879090772e-2 * t4667; + const double t4670 = t4199 * t323; + const double t4672 = t1578 * t927; + const double t4674 = t945 * t1564; + const double t4676 = t281 * t4175; + const double t4680 = t373 * t4175; + const double t4690 = t1071 * t1564; + const double t4692 = t421 * t4175; + const double t4700 = 0.100339208e0 * t4670 + 0.100339208e0 * t4672 + 0.100339208e0 * t4674 + 0.100339208e0 * t4676 - 0.303347141e-2 * t281 * t4372 - 0.957417512e-2 * t4680 - 0.790811707e-7 * t1071 * t1595 - 0.790811707e-7 * t421 * t4246 + 0.674910119e-8 * t1101 * t1646 + 0.674910119e-8 * t438 * t4258 + 0.162638575e-1 * t4690 + 0.162638575e-1 * t4692 - 0.82957404e-6 * t1747 * t927 - 0.2637272316e-1 * t1188 * t1564 - 0.2637272316e-1 * t1156 * t1564; + const double t4731 = -0.2637272316e-1 * t482 * t4175 - 0.2637272316e-1 * t1607 * t927 - 0.376702959e-7 * t4209 * t351 - 0.376702959e-7 * t1617 * t972 - 0.376702959e-7 * t1035 * t1586 - 0.338128188e-7 * t291 * t4231 - 0.338128188e-7 * t1718 * t972 - 0.845508103e-2 * t1101 * t1602 - 0.845508103e-2 * t438 * t4372 + 0.896739466e-3 * t1674 * t972 + 0.896739466e-3 * t1101 * t1586 + 0.896739466e-3 * t438 * t4231 + 0.888525527e-8 * t954 * t1646 + 0.888525527e-8 * t291 * t4258 - 0.79012239917625e1 * t4194; + const double t4754 = 0.298766783045625e1 * t4202 - 0.189176620712625e-1 * t4222 + 0.509417745e-6 * t1773 * t927 + 0.240073981599375e1 * t4272 - 0.16566742077375e1 * t4276 - 0.240026440066875e-2 * t4301 + 0.362485880376375e-1 * t4238 - 0.130393038e0 * t1004 * t1564 + 0.82889846164125e-3 * t4249 - 0.105312309e-2 * t1004 * t1586 + 0.548718171e-2 * t1004 * t1595 + 0.2006940657e-7 * t1004 * t1632 + 0.445308425186625e1 * t4320 - 0.669043971e-8 * t1004 * t1646 + 0.842036616e-1 * t1697 * t927; + const double t4758 = t4261 + t4312 + t4354 + t4389 + t4422 + t4452 + t4484 + t4515 + t4546 + t4574 + t4606 + t4637 + t4669 + t4700 + t4731 + t4754; + const double t4763 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t885 * t1854 - t4112 - 0.3e1 / 0.8e1 * t6 * t267 * t4758 ); + const double t4770 = t6 * t505 * t2017 / 0.8e1; + const double t4773 = 0.25e2 / 0.27e2 * t1229; + const double t4774 = piecewise_functor_3( t66, -t4773, 0.0 ); + const double t4779 = t74 * t4774; + const double t4781 = t2243 * t1862; + const double t4784 = t526 * t4774; + const double t4787 = t78 * t1870; + const double t4791 = t1871 * t544; + const double t4794 = t531 * t1870; + const double t4797 = piecewise_functor_3( t66, 0.0, -t4773 ); + const double t4798 = t77 * t4797; + const double t4801 = t1877 * t77; + const double t4805 = t1877 * t544; + const double t4816 = 0.24e2 * t3511 * t1870 + 0.6e1 * t2270 * t4794 + 0.3e1 * t538 * t4797 + 0.3e1 * t541 * t4797; + const double t4819 = piecewise_functor_3( t65, -0.18e2 * t1865 * t520 - 0.12e2 * t1867 * t520 + 0.6e1 * t72 * t4774 + 0.6e2 * t4781 * t520 + 0.3e1 * t4779 - 0.12e2 * t4784, -0.24e2 * t2249 * t4787 * t531 - 0.6e1 * t2254 * t4801 * t531 - 0.6e1 * t2254 * t4791 - 0.2e1 * t2266 * t4805 + 0.6e1 * t530 * t4794 + 0.6e1 * t530 * t4798 + t537 * t4816 ); + const double t4823 = t1882 * t547; + const double t4825 = t108 * t4819; + const double t4827 = t1884 * t547; + const double t4829 = t89 * t4819; + const double t4832 = 0.315e3 / 0.2e1 * t4823 + 0.315e3 / 0.8e1 * t4825 - 0.105e3 / 0.2e1 * t4827 - 0.105e3 / 0.4e1 * t4829 + 0.15e2 / 0.8e1 * t4819; + const double t4837 = t111 * t4819; + const double t4839 = t90 * t4819; + const double t4841 = t547 * t1880; + const double t4843 = t88 * t4819; + const double t4845 = t1895 * t547; + const double t4848 = t1889 * t547; + const double t4853 = 0.3465e4 / 0.8e1 * t4845 + 0.693e3 / 0.8e1 * t4837 - 0.945e3 / 0.4e1 * t4848 - 0.315e3 / 0.4e1 * t4839 + 0.105e3 / 0.8e1 * t4841 + 0.105e3 / 0.8e1 * t4843; + const double t4861 = 0.15e2 * t4827 + 0.15e2 / 0.2e1 * t4829 - 0.3e1 / 0.2e1 * t4819; + const double t4870 = 0.105e3 / 0.2e1 * t4848 + 0.35e2 / 0.2e1 * t4839 - 0.15e2 / 0.2e1 * t4841 - 0.15e2 / 0.2e1 * t4843; + const double t4875 = -0.4373652639371875e-2 * t4819 + 0.209603871e-7 * t702 * t1899 + 0.209603871e-7 * t225 * t4832 + 0.912223751e-8 * t702 * t1914 - 0.48005288013375e-3 * t4837 + 0.120828626792125e-1 * t4839 + 0.1406365375513125e-1 * t4841 + 0.1406365375513125e-1 * t4843 + 0.912223751e-8 * t225 * t4853 + 0.631891628e-2 * t702 * t1892 + 0.631891628e-2 * t225 * t4861 - 0.790811707e-7 * t702 * t1886 - 0.790811707e-7 * t225 * t4870 + 0.339308972e-2 * t732 * t1886; + const double t4878 = t1910 * t547; + const double t4880 = t118 * t4819; + const double t4887 = 0.9009e4 / 0.8e1 * t4878 + 0.3003e4 / 0.16e2 * t4880 - 0.3465e4 / 0.4e1 * t4823 - 0.3465e4 / 0.16e2 * t4825 + 0.945e3 / 0.8e1 * t4827 + 0.945e3 / 0.16e2 * t4829 - 0.35e2 / 0.16e2 * t4819; + const double t4890 = t732 * t1880; + const double t4892 = t193 * t4819; + const double t4904 = t637 * t1880; + const double t4906 = t56 * t4819; + const double t4916 = 0.339308972e-2 * t193 * t4870 - 0.223014657e-8 * t201 * t4887 - 0.182177954e-1 * t4890 - 0.182177954e-1 * t4892 - 0.35104103e-3 * t201 * t4832 + 0.668980219e-8 * t201 * t4853 + 0.293253041e-2 * t201 * t4861 + 0.182906057e-2 * t201 * t4870 + 0.850272392e-8 * t107 * t4887 - 0.957417512e-2 * t4904 - 0.957417512e-2 * t4906 - 0.265114646e-7 * t637 * t1892 - 0.265114646e-7 * t56 * t4861 - 0.138472194e-7 * t672 * t1914 + 0.554588743e-7 * t594 * t1886; + const double t4922 = t702 * t1880; + const double t4924 = t225 * t4819; + const double t4948 = 0.554588743e-7 * t147 * t4870 + 0.236391411e-7 * t637 * t1899 + 0.162638575e-1 * t4922 + 0.162638575e-1 * t4924 + 0.674910119e-8 * t732 * t1907 + 0.674910119e-8 * t193 * t4887 - 0.216860568e-7 * t732 * t1914 - 0.216860568e-7 * t193 * t4853 + 0.896739466e-3 * t732 * t1899 + 0.896739466e-3 * t193 * t4832 - 0.845508103e-2 * t732 * t1892 - 0.845508103e-2 * t193 * t4861 - 0.138472194e-7 * t107 * t4853 - 0.376702959e-7 * t672 * t1899 - 0.376702959e-7 * t107 * t4832; + const double t4959 = t201 * t4819; + const double t4961 = t585 * t1907; + const double t4967 = t594 * t1880; + const double t4969 = t147 * t4819; + const double t4979 = -0.896771404e-2 * t672 * t1892 - 0.896771404e-2 * t107 * t4861 + 0.162238741e-6 * t672 * t1886 + 0.162238741e-6 * t107 * t4870 - 0.940351563e-5 * t49 * t4887 - 0.43464346e-1 * t4959 - 0.940351563e-5 * t4961 - 0.416393106e-7 * t637 * t1886 - 0.416393106e-7 * t56 * t4870 + 0.940675747e-2 * t4967 + 0.940675747e-2 * t4969 - 0.691592964e-8 * t637 * t1907 - 0.691592964e-8 * t56 * t4887 + 0.236391411e-7 * t56 * t4832 - 0.338128188e-7 * t594 * t1899; + const double t5010 = -0.338128188e-7 * t147 * t4832 + 0.505920757e-7 * t594 * t1892 + 0.505920757e-7 * t147 * t4861 + 0.850272392e-8 * t672 * t1907 - 0.82957404e-6 * t627 * t1880 - 0.82957404e-6 * t629 * t1880 - 0.82957404e-6 * t173 * t4819 - 0.2637272316e-1 * t795 * t1880 - 0.2637272316e-1 * t797 * t1880 - 0.2637272316e-1 * t166 * t4819 - 0.450310908e-1 * t789 * t1880 - 0.450310908e-1 * t214 * t4819 + 0.694482484e-8 * t637 * t1914 + 0.694482484e-8 * t56 * t4853; + const double t5011 = t585 * t1914; + const double t5015 = t585 * t1886; + const double t5019 = t585 * t1899; + const double t5023 = t585 * t1880; + const double t5025 = t49 * t4819; + const double t5027 = t585 * t1892; + const double t5037 = -0.514204676e-4 * t5011 - 0.514204676e-4 * t49 * t4853 + 0.119130546e-2 * t5015 + 0.119130546e-2 * t49 * t4870 + 0.822139896e-3 * t5019 + 0.822139896e-3 * t49 * t4832 + 0.100339208e0 * t5023 + 0.100339208e0 * t5025 - 0.303347141e-2 * t5027 - 0.303347141e-2 * t49 * t4861 - 0.1350932724e0 * t635 * t1884 - 0.240026440066875e-2 * t4845 + 0.362485880376375e-1 * t4848 + 0.82889846164125e-3 * t4878 - 0.189176620712625e-1 * t4823; + const double t5045 = t672 * t1880; + const double t5047 = t107 * t4819; + const double t5065 = 0.2787661693108125e-1 * t4827 + 0.138149743606875e-3 * t4880 - 0.4729415517815625e-2 * t4825 + 0.13938308465540625e-1 * t4829 - 0.493824365e-8 * t225 * t4887 - 0.884148272e-2 * t5045 - 0.884148272e-2 * t5047 + 0.548718171e-2 * t635 * t1886 + 0.879759123e-2 * t635 * t1892 + 0.2006940657e-7 * t635 * t1914 - 0.105312309e-2 * t635 * t1899 - 0.669043971e-8 * t635 * t1907 + 0.842036616e-1 * t769 * t1880 + 0.842036616e-1 * t751 * t1880 + 0.842036616e-1 * t198 * t4819; + const double t5096 = -0.548733873e-1 * t743 * t1880 - 0.548733873e-1 * t745 * t1880 - 0.548733873e-1 * t238 * t4819 + 0.509417745e-6 * t657 * t1880 + 0.509417745e-6 * t679 * t1880 + 0.509417745e-6 * t100 * t4819 - 0.565485306e-1 * t710 * t1880 - 0.565485306e-1 * t712 * t1880 - 0.565485306e-1 * t140 * t4819 - 0.130393038e0 * t635 * t1880 - 0.774224962e-8 * t594 * t1914 - 0.774224962e-8 * t147 * t4853 + 0.888525527e-8 * t594 * t1907 + 0.888525527e-8 * t147 * t4887 - 0.493824365e-8 * t702 * t1907; + const double t5099 = t4875 + t4916 + t4948 + t4979 + t5010 + t5037 + t5065 + t5096; + const double t5104 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t499 * t2017 - t4770 - 0.3e1 / 0.8e1 * t6 * t28 * t5099 ); + const double t5111 = t6 * t861 * t2180 / 0.8e1; + const double t5126 = 0.25e2 / 0.27e2 * t1544; + const double t5127 = piecewise_functor_3( t301, -t5126, 0.0 ); + const double t5132 = t309 * t5127; + const double t5134 = t2924 * t2025; + const double t5137 = t906 * t5127; + const double t5140 = t313 * t2033; + const double t5144 = t2034 * t924; + const double t5147 = t911 * t2033; + const double t5150 = piecewise_functor_3( t301, 0.0, -t5126 ); + const double t5151 = t312 * t5150; + const double t5154 = t2040 * t312; + const double t5158 = t2040 * t924; + const double t5169 = 0.24e2 * t4165 * t2033 + 0.6e1 * t2951 * t5147 + 0.3e1 * t918 * t5150 + 0.3e1 * t921 * t5150; + const double t5172 = piecewise_functor_3( t300, -0.18e2 * t2028 * t900 - 0.12e2 * t2030 * t900 + 0.6e1 * t307 * t5127 + 0.6e2 * t5134 * t900 + 0.3e1 * t5132 - 0.12e2 * t5137, -0.24e2 * t2930 * t5140 * t911 - 0.6e1 * t2935 * t5154 * t911 - 0.6e1 * t2935 * t5144 - 0.2e1 * t2947 * t5158 + 0.6e1 * t910 * t5147 + 0.6e1 * t910 * t5151 + t917 * t5169 ); + const double t5176 = t2047 * t927; + const double t5178 = t329 * t5172; + const double t5180 = t2049 * t927; + const double t5182 = t325 * t5172; + const double t5184 = t927 * t2043; + const double t5186 = t323 * t5172; + const double t5188 = 0.3465e4 / 0.8e1 * t5176 + 0.693e3 / 0.8e1 * t5178 - 0.945e3 / 0.4e1 * t5180 - 0.315e3 / 0.4e1 * t5182 + 0.105e3 / 0.8e1 * t5184 + 0.105e3 / 0.8e1 * t5186; + const double t5197 = t2060 * t927; + const double t5199 = t326 * t5172; + const double t5201 = t2062 * t927; + const double t5203 = t324 * t5172; + const double t5206 = 0.315e3 / 0.2e1 * t5197 + 0.315e3 / 0.8e1 * t5199 - 0.105e3 / 0.2e1 * t5201 - 0.105e3 / 0.4e1 * t5203 + 0.15e2 / 0.8e1 * t5172; + const double t5215 = 0.105e3 / 0.2e1 * t5180 + 0.35e2 / 0.2e1 * t5182 - 0.15e2 / 0.2e1 * t5184 - 0.15e2 / 0.2e1 * t5186; + const double t5223 = 0.15e2 * t5201 + 0.15e2 / 0.2e1 * t5203 - 0.3e1 / 0.2e1 * t5172; + const double t5232 = -0.4373652639371875e-2 * t5172 - 0.1350932724e0 * t1004 * t2062 + 0.694482484e-8 * t373 * t5188 - 0.216860568e-7 * t438 * t5188 - 0.216860568e-7 * t1101 * t2077 + 0.896739466e-3 * t1101 * t2070 + 0.896739466e-3 * t438 * t5206 + 0.339308972e-2 * t1101 * t2064 + 0.339308972e-2 * t438 * t5215 - 0.845508103e-2 * t1101 * t2057 - 0.845508103e-2 * t438 * t5223 + 0.668980219e-8 * t455 * t5188 + 0.912223751e-8 * t421 * t5188 - 0.338128188e-7 * t954 * t2070; + const double t5243 = t1006 * t2043; + const double t5245 = t373 * t5172; + const double t5249 = t2073 * t927; + const double t5251 = t336 * t5172; + const double t5258 = 0.9009e4 / 0.8e1 * t5249 + 0.3003e4 / 0.16e2 * t5251 - 0.3465e4 / 0.4e1 * t5197 - 0.3465e4 / 0.16e2 * t5199 + 0.945e3 / 0.8e1 * t5201 + 0.945e3 / 0.16e2 * t5203 - 0.35e2 / 0.16e2 * t5172; + const double t5273 = -0.338128188e-7 * t291 * t5206 + 0.554588743e-7 * t954 * t2064 + 0.554588743e-7 * t291 * t5215 - 0.138472194e-7 * t1035 * t2077 - 0.138472194e-7 * t402 * t5188 - 0.957417512e-2 * t5243 - 0.957417512e-2 * t5245 + 0.850272392e-8 * t1035 * t2052 + 0.850272392e-8 * t402 * t5258 + 0.236391411e-7 * t373 * t5206 - 0.376702959e-7 * t1035 * t2070 - 0.376702959e-7 * t402 * t5206 + 0.162238741e-6 * t1035 * t2064 + 0.162238741e-6 * t402 * t5215 - 0.896771404e-2 * t1035 * t2057; + const double t5282 = t945 * t2077; + const double t5286 = t945 * t2064; + const double t5290 = t945 * t2070; + const double t5294 = t945 * t2043; + const double t5296 = t281 * t5172; + const double t5298 = t945 * t2057; + const double t5302 = -0.896771404e-2 * t402 * t5223 + 0.138149743606875e-3 * t5251 - 0.4729415517815625e-2 * t5199 - 0.940351563e-5 * t281 * t5258 - 0.48005288013375e-3 * t5178 - 0.514204676e-4 * t5282 - 0.514204676e-4 * t281 * t5188 + 0.119130546e-2 * t5286 + 0.119130546e-2 * t281 * t5215 + 0.822139896e-3 * t5290 + 0.822139896e-3 * t281 * t5206 + 0.100339208e0 * t5294 + 0.100339208e0 * t5296 - 0.303347141e-2 * t5298 - 0.303347141e-2 * t281 * t5223; + const double t5333 = 0.888525527e-8 * t954 * t2052 + 0.888525527e-8 * t291 * t5258 - 0.774224962e-8 * t954 * t2077 - 0.774224962e-8 * t291 * t5188 - 0.130393038e0 * t1004 * t2043 + 0.548718171e-2 * t1004 * t2064 + 0.2006940657e-7 * t1004 * t2077 + 0.879759123e-2 * t1004 * t2057 - 0.82957404e-6 * t368 * t5172 - 0.2637272316e-1 * t1188 * t2043 - 0.2637272316e-1 * t1156 * t2043 - 0.2637272316e-1 * t482 * t5172 - 0.450310908e-1 * t1183 * t2043 - 0.450310908e-1 * t468 * t5172 + 0.842036616e-1 * t1142 * t2043; + const double t5363 = 0.842036616e-1 * t1144 * t2043 + 0.842036616e-1 * t452 * t5172 - 0.548733873e-1 * t1113 * t2043 - 0.548733873e-1 * t1115 * t2043 - 0.548733873e-1 * t434 * t5172 - 0.565485306e-1 * t1065 * t2043 - 0.565485306e-1 * t1067 * t2043 - 0.565485306e-1 * t417 * t5172 + 0.509417745e-6 * t1061 * t2043 + 0.509417745e-6 * t1063 * t2043 + 0.509417745e-6 * t397 * t5172 - 0.82957404e-6 * t1015 * t2043 - 0.82957404e-6 * t1017 * t2043 + 0.362485880376375e-1 * t5180; + const double t5375 = t455 * t5172; + const double t5377 = t945 * t2052; + const double t5387 = 0.82889846164125e-3 * t5249 - 0.189176620712625e-1 * t5197 - 0.240026440066875e-2 * t5176 + 0.13938308465540625e-1 * t5203 + 0.293253041e-2 * t455 * t5223 + 0.120828626792125e-1 * t5182 + 0.1406365375513125e-1 * t5184 + 0.1406365375513125e-1 * t5186 + 0.182906057e-2 * t455 * t5215 - 0.43464346e-1 * t5375 - 0.940351563e-5 * t5377 - 0.416393106e-7 * t1006 * t2064 - 0.416393106e-7 * t373 * t5215 - 0.265114646e-7 * t1006 * t2057 - 0.265114646e-7 * t373 * t5223; + const double t5399 = t1071 * t2043; + const double t5401 = t421 * t5172; + const double t5418 = 0.236391411e-7 * t1006 * t2070 + 0.505920757e-7 * t954 * t2057 + 0.505920757e-7 * t291 * t5223 - 0.790811707e-7 * t1071 * t2064 - 0.790811707e-7 * t421 * t5215 + 0.162638575e-1 * t5399 + 0.162638575e-1 * t5401 + 0.674910119e-8 * t1101 * t2052 + 0.674910119e-8 * t438 * t5258 - 0.105312309e-2 * t1004 * t2070 + 0.2787661693108125e-1 * t5201 - 0.669043971e-8 * t1004 * t2052 - 0.35104103e-3 * t455 * t5206 + 0.631891628e-2 * t1071 * t2057 + 0.631891628e-2 * t421 * t5223; + const double t5427 = t1101 * t2043; + const double t5429 = t438 * t5172; + const double t5433 = t1035 * t2043; + const double t5435 = t402 * t5172; + const double t5443 = t954 * t2043; + const double t5445 = t291 * t5172; + const double t5449 = 0.209603871e-7 * t1071 * t2070 + 0.209603871e-7 * t421 * t5206 - 0.493824365e-8 * t1071 * t2052 - 0.493824365e-8 * t421 * t5258 - 0.182177954e-1 * t5427 - 0.182177954e-1 * t5429 - 0.223014657e-8 * t455 * t5258 - 0.884148272e-2 * t5433 - 0.884148272e-2 * t5435 + 0.912223751e-8 * t1071 * t2077 - 0.691592964e-8 * t1006 * t2052 - 0.691592964e-8 * t373 * t5258 + 0.940675747e-2 * t5443 + 0.940675747e-2 * t5445 + 0.694482484e-8 * t1006 * t2077; + const double t5452 = t5232 + t5273 + t5302 + t5333 + t5363 + t5387 + t5418 + t5449; + const double t5457 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t885 * t2180 - t5111 - 0.3e1 / 0.8e1 * t6 * t267 * t5452 ); + const double t5459 = t1231 * t1231; + const double t5462 = piecewise_functor_3( t66, 0.0, 0.0 ); + const double t5464 = 0.6e1 * t72 * t5462; + const double t5465 = t526 * t5459; + const double t5467 = t74 * t5462; + const double t5468 = 0.3e1 * t5467; + const double t5469 = t2243 * t5459; + const double t5471 = t526 * t5462; + const double t5472 = 0.12e2 * t5471; + const double t5474 = t1239 * t1239; + const double t5475 = t78 * t5474; + const double t5478 = t1240 * t1246; + const double t5483 = t77 * t5462; + const double t5485 = 0.6e1 * t530 * t5483; + const double t5486 = t1246 * t1246; + const double t5494 = 0.3e1 * t538 * t5462; + const double t5496 = 0.3e1 * t541 * t5462; + const double t5497 = 0.6e1 * t2270 * t5474 + 0.24e2 * t540 * t5474 + t5494 + t5496; + const double t5500 = piecewise_functor_3( t65, -0.18e2 * t74 * t5459 + t5464 - 0.12e2 * t5465 + t5468 + 0.6e2 * t5469 - t5472, -0.24e2 * t2249 * t5475 - 0.12e2 * t2254 * t5478 - 0.2e1 * t2266 * t5486 + 0.6e1 * t530 * t5474 + t537 * t5497 + t5485 ); + const double t5505 = t555 * t1253 * t563; + const double t5507 = t2303 * sigma_aa; + const double t5508 = 0.1e1 / t2306; + const double t5510 = t5507 * t5508 * t2310; + const double t5512 = t1249 * t1249; + const double t5516 = -t5505 / 0.144e3 + t5510 / 0.576e3; + const double t5519 = t1263 * t1281; + const double t5521 = t1263 * t1263; + const double t5522 = t104 * t5521; + const double t5524 = t51 * t5516; + const double t5526 = t49 * t5521; + const double t5528 = t50 * t5516; + const double t5532 = 0.315e3 / 0.2e1 * t5522 + 0.315e3 / 0.8e1 * t5524 - 0.105e3 / 0.2e1 * t5526 - 0.105e3 / 0.4e1 * t5528 - 0.5e1 / 0.384e3 * t5505 + 0.5e1 / 0.1536e4 * t5510; + const double t5533 = t5532 * t88; + const double t5541 = -0.4373652639371875e-2 * t5500 - 0.2701865448e0 * t1322 * t1279 + 0.10851840296657986111e-2 * t5505 - 0.27129600741644965277e-3 * t5510 + 0.1406365375513125e-1 * t5512 - 0.514204676e-4 * t5516 * t122 - 0.1028409352e-3 * t5519 - 0.884148272e-2 * t5533 + 0.162238741e-6 * t5532 * t133 + 0.324477482e-6 * t1365 * t1331 - 0.753405918e-7 * t1365 * t1308; + const double t5542 = t50 * t5521; + const double t5544 = t104 * t5516; + const double t5547 = t49 * t5516; + const double t5549 = 0.105e3 / 0.2e1 * t5542 + 0.35e2 / 0.2e1 * t5544 - 0.15e2 / 0.2e1 * t5521 - 0.15e2 / 0.2e1 * t5547; + const double t5554 = t89 * t5512; + const double t5556 = t90 * t5500; + const double t5559 = t88 * t5500; + const double t5561 = 0.105e3 / 0.2e1 * t5554 + 0.35e2 / 0.2e1 * t5556 - 0.15e2 / 0.2e1 * t5512 - 0.15e2 / 0.2e1 * t5559; + const double t5568 = t90 * t5512; + const double t5570 = t108 * t5500; + const double t5572 = t88 * t5512; + const double t5574 = t89 * t5500; + const double t5577 = 0.315e3 / 0.2e1 * t5568 + 0.315e3 / 0.8e1 * t5570 - 0.105e3 / 0.2e1 * t5572 - 0.105e3 / 0.4e1 * t5574 + 0.15e2 / 0.8e1 * t5500; + const double t5580 = t108 * t5512; + const double t5582 = t111 * t5500; + const double t5588 = 0.3465e4 / 0.8e1 * t5580 + 0.693e3 / 0.8e1 * t5582 - 0.945e3 / 0.4e1 * t5554 - 0.315e3 / 0.4e1 * t5556 + 0.105e3 / 0.8e1 * t5512 + 0.105e3 / 0.8e1 * t5559; + const double t5591 = t102 * t5521; + const double t5593 = t52 * t5516; + const double t5601 = 0.9009e4 / 0.8e1 * t5591 + 0.3003e4 / 0.16e2 * t5593 - 0.3465e4 / 0.4e1 * t5522 - 0.3465e4 / 0.16e2 * t5524 + 0.945e3 / 0.8e1 * t5526 + 0.945e3 / 0.16e2 * t5528 + 0.35e2 / 0.2304e4 * t5505 - 0.35e2 / 0.9216e4 * t5510; + const double t5606 = t147 * t5500; + const double t5608 = t51 * t5521; + const double t5610 = t102 * t5516; + const double t5616 = 0.3465e4 / 0.8e1 * t5608 + 0.693e3 / 0.8e1 * t5610 - 0.945e3 / 0.4e1 * t5542 - 0.315e3 / 0.4e1 * t5544 + 0.105e3 / 0.8e1 * t5521 + 0.105e3 / 0.8e1 * t5547; + const double t5621 = 0.209603871e-7 * t5549 * t128 + 0.1109177486e-6 * t1272 * t1331 + 0.554588743e-7 * t147 * t5561 + 0.1777051054e-7 * t1272 * t1293 + 0.1793478932e-2 * t1424 * t1308 + 0.896739466e-3 * t193 * t5577 - 0.138472194e-7 * t107 * t5588 + 0.505920757e-7 * t5601 * t93 + 0.1011841514e-6 * t1272 * t1300 + 0.940675747e-2 * t5606 - 0.691592964e-8 * t5616 * t115 - 0.1383185928e-7 * t1324 * t1293; + const double t5633 = 0.15e2 * t5526 + 0.15e2 / 0.2e1 * t5528 + t5505 / 0.96e2 - t5510 / 0.384e3; + const double t5640 = t1263 * t1331; + const double t5644 = t111 * t5512; + const double t5646 = t118 * t5500; + const double t5653 = 0.9009e4 / 0.8e1 * t5644 + 0.3003e4 / 0.16e2 * t5646 - 0.3465e4 / 0.4e1 * t5568 - 0.3465e4 / 0.16e2 * t5570 + 0.945e3 / 0.8e1 * t5572 + 0.945e3 / 0.16e2 * t5574 - 0.35e2 / 0.16e2 * t5500; + const double t5662 = -0.774224962e-8 * t5601 * t122 - 0.1548449924e-7 * t1272 * t1281 + 0.554588743e-7 * t5601 * t133 - 0.216860568e-7 * t5633 * t122 - 0.433721136e-7 * t1424 * t1281 + 0.119130546e-2 * t5516 * t133 + 0.238261092e-2 * t5640 + 0.119130546e-2 * t49 * t5561 - 0.493824365e-8 * t225 * t5653 + 0.472782822e-7 * t1324 * t1308 + 0.236391411e-7 * t56 * t5577 + 0.912223751e-8 * t5549 * t122; + const double t5678 = 0.15e2 * t5572 + 0.15e2 / 0.2e1 * t5574 - 0.3e1 / 0.2e1 * t5500; + const double t5683 = t1263 * t1308; + const double t5691 = 0.1824447502e-7 * t1394 * t1281 - 0.416393106e-7 * t5616 * t133 - 0.832786212e-7 * t1324 * t1331 - 0.416393106e-7 * t56 * t5561 - 0.35104103e-3 * t201 * t5577 - 0.338128188e-7 * t147 * t5577 - 0.845508103e-2 * t193 * t5678 + 0.822139896e-3 * t5516 * t128 + 0.1644279792e-2 * t5683 - 0.265114646e-7 * t5616 * t93 + 0.236391411e-7 * t5616 * t128 + 0.694482484e-8 * t5616 * t122; + const double t5698 = t201 * t5500; + const double t5706 = t1263 * t1293; + const double t5716 = 0.339308972e-2 * t5633 * t133 + 0.678617944e-2 * t1424 * t1331 - 0.43464346e-1 * t5698 + 0.182906057e-2 * t201 * t5561 + 0.850272392e-8 * t107 * t5653 - 0.376702959e-7 * t5532 * t128 - 0.1880703126e-4 * t5706 - 0.940351563e-5 * t49 * t5653 + 0.888525527e-8 * t147 * t5653 + 0.631891628e-2 * t5549 * t93 + 0.1263783256e-1 * t1394 * t1300; + const double t5721 = t1272 * t1249; + const double t5725 = t1324 * t1249; + const double t5727 = t56 * t5500; + const double t5737 = t5601 * t88; + const double t5741 = 0.631891628e-2 * t225 * t5678 + 0.293253041e-2 * t201 * t5678 + 0.1881351494e-1 * t5721 + 0.668980219e-8 * t201 * t5588 - 0.1914835024e-1 * t5725 - 0.957417512e-2 * t5727 - 0.790811707e-7 * t225 * t5561 + 0.505920757e-7 * t147 * t5678 - 0.940351563e-5 * t5516 * t115 - 0.27652468e-6 * t5601 * t97 + 0.940675747e-2 * t5737 - 0.216860568e-7 * t193 * t5588; + const double t5760 = t1263 * t1300; + const double t5765 = 0.742180708644375e0 * t5593 - 0.338128188e-7 * t5601 * t128 - 0.676256376e-7 * t1272 * t1308 + 0.896739466e-3 * t5633 * t128 - 0.98764873e-8 * t1394 * t1293 - 0.896771404e-2 * t5532 * t93 - 0.1793542808e-1 * t1365 * t1300 - 0.774224962e-8 * t147 * t5588 - 0.303347141e-2 * t5516 * t93 - 0.606694282e-2 * t5760 - 0.303347141e-2 * t49 * t5678 - 0.79012239917625e1 * t5522; + const double t5777 = t1365 * t1249; + const double t5779 = t107 * t5500; + const double t5786 = -0.1975305997940625e1 * t5524 + 0.850272392e-8 * t5532 * t115 + 0.1700544784e-7 * t1365 * t1293 + 0.298766783045625e1 * t5526 + 0.1493833915228125e1 * t5528 - 0.845508103e-2 * t5633 * t93 - 0.1691016206e-1 * t1424 * t1300 - 0.1768296544e-1 * t5777 - 0.884148272e-2 * t5779 - 0.493824365e-8 * t5549 * t115 + 0.445308425186625e1 * t5591 - 0.276944388e-7 * t1365 * t1281; + const double t5794 = t5633 * t88; + const double t5808 = 0.888525527e-8 * t5601 * t115 + 0.280678872e-1 * t5633 * t97 - 0.182177954e-1 * t5794 - 0.240026440066875e-2 * t5580 - 0.48005288013375e-3 * t5582 + 0.694482484e-8 * t56 * t5588 + 0.82889846164125e-3 * t5644 + 0.138149743606875e-3 * t5646 + 0.674910119e-8 * t193 * t5653 - 0.182911291e-1 * t5549 * t97 + 0.419207742e-7 * t1394 * t1308; + const double t5811 = t225 * t5500; + const double t5817 = t5549 * t88; + const double t5819 = t1394 * t1249; + const double t5825 = t5516 * t88; + const double t5827 = t1263 * t1249; + const double t5829 = t49 * t5500; + const double t5833 = 0.209603871e-7 * t225 * t5577 + 0.162638575e-1 * t5811 + 0.674910119e-8 * t5633 * t115 + 0.1349820238e-7 * t1424 * t1293 + 0.162638575e-1 * t5817 + 0.32527715e-1 * t5819 - 0.691592964e-8 * t56 * t5653 - 0.879090772e-2 * t5516 * t97 + 0.100339208e0 * t5825 + 0.200678416e0 * t5827 + 0.100339208e0 * t5829 - 0.188495102e-1 * t5532 * t97; + const double t5851 = 0.1406365375513125e-1 * t5559 + 0.339308972e-2 * t193 * t5561 - 0.189176620712625e-1 * t5568 - 0.4729415517815625e-2 * t5570 + 0.2787661693108125e-1 * t5572 + 0.13938308465540625e-1 * t5574 - 0.376702959e-7 * t107 * t5577 - 0.530229292e-7 * t1324 * t1300 - 0.265114646e-7 * t56 * t5678 + 0.240073981599375e1 * t5608 + 0.48014796319875e0 * t5610 - 0.16566742077375e1 * t5542; + const double t5872 = -0.5522247359125e0 * t5544 - 0.1581623414e-6 * t1394 * t1331 + 0.842036616e-1 * t193 * t5512 - 0.548733873e-1 * t225 * t5512 - 0.565485306e-1 * t107 * t5512 - 0.105312309e-2 * t5521 * t128 + 0.362485880376375e-1 * t5554 + 0.120828626792125e-1 * t5556 - 0.18458962865625e0 * t5521 + 0.509417745e-6 * t100 * t5500 - 0.165914808e-5 * t1313 * t1249 - 0.82957404e-6 * t173 * t5500; + const double t5897 = 0.842036616e-1 * t198 * t5500 - 0.548733873e-1 * t238 * t5500 - 0.1130970612e0 * t1383 * t1249 - 0.565485306e-1 * t140 * t5500 + 0.1759518246e-1 * t1322 * t1300 - 0.260786076e0 * t1322 * t1249 + 0.1097436342e-1 * t1322 * t1331 - 0.5274544632e-1 * t1495 * t1249 + 0.101883549e-5 * t1347 * t1249 - 0.105312309e-2 * t5547 * t128 + 0.548718171e-2 * t5547 * t133; + const double t5922 = 0.879759123e-2 * t5547 * t93 - 0.450310908e-1 * t5547 * t97 - 0.450310908e-1 * t214 * t5500 - 0.2637272316e-1 * t166 * t5500 - 0.130393038e0 * t5547 * t88 - 0.669043971e-8 * t5547 * t115 + 0.2006940657e-7 * t5547 * t122 - 0.1097467746e0 * t1414 * t1249 - 0.1338087942e-7 * t1322 * t1293 + 0.1684073232e0 * t1444 * t1249 + 0.509417745e-6 * t56 * t5512 - 0.82957404e-6 * t147 * t5512; + const double t5938 = t5521 * t88; + const double t5947 = -0.514204676e-4 * t49 * t5588 - 0.790811707e-7 * t5549 * t133 + 0.548718171e-2 * t5521 * t133 + 0.879759123e-2 * t5521 * t93 - 0.450310908e-1 * t5521 * t97 - 0.450310908e-1 * t201 * t5512 - 0.2637272316e-1 * t49 * t5512 - 0.130393038e0 * t5938 - 0.669043971e-8 * t5521 * t115 + 0.2006940657e-7 * t5521 * t122 + 0.4013881314e-7 * t1322 * t1281 - 0.18458962865625e0 * t5547; + const double t5950 = t5616 * t88; + const double t5956 = t1424 * t1249; + const double t5958 = t193 * t5500; + const double t5972 = 0.169805915e-6 * t5616 * t97 - 0.957417512e-2 * t5950 + 0.822139896e-3 * t49 * t5577 + 0.1388964968e-7 * t1324 * t1281 - 0.364355908e-1 * t5956 - 0.182177954e-1 * t5958 - 0.223014657e-8 * t201 * t5653 + 0.912223751e-8 * t225 * t5588 + 0.162238741e-6 * t107 * t5561 - 0.896771404e-2 * t107 * t5678 - 0.138472194e-7 * t5532 * t122 - 0.210624618e-2 * t1322 * t1308; + const double t5976 = t5541 + t5621 + t5662 + t5691 + t5716 + t5741 + t5765 + t5786 + t5808 + t5833 + t5851 + t5872 + t5897 + t5922 + t5947 + t5972; + const double t5980 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t5976 ); + const double t5981 = t1564 * t1564; + const double t5985 = t1546 * t1546; + const double t5988 = piecewise_functor_3( t301, 0.0, 0.0 ); + const double t5990 = 0.6e1 * t307 * t5988; + const double t5991 = t906 * t5985; + const double t5993 = t309 * t5988; + const double t5994 = 0.3e1 * t5993; + const double t5995 = t2924 * t5985; + const double t5997 = t906 * t5988; + const double t5998 = 0.12e2 * t5997; + const double t6000 = t1554 * t1554; + const double t6001 = t313 * t6000; + const double t6004 = t1555 * t1561; + const double t6009 = t312 * t5988; + const double t6011 = 0.6e1 * t910 * t6009; + const double t6012 = t1561 * t1561; + const double t6020 = 0.3e1 * t918 * t5988; + const double t6022 = 0.3e1 * t921 * t5988; + const double t6023 = 0.6e1 * t2951 * t6000 + 0.24e2 * t920 * t6000 + t6020 + t6022; + const double t6026 = piecewise_functor_3( t300, -0.18e2 * t309 * t5985 + t5990 - 0.12e2 * t5991 + t5994 + 0.6e2 * t5995 - t5998, -0.24e2 * t2930 * t6001 - 0.12e2 * t2935 * t6004 - 0.2e1 * t2947 * t6012 + 0.6e1 * t910 * t6000 + t917 * t6023 + t6011 ); + const double t6029 = t555 * t1568 * t939; + const double t6031 = t2303 * sigma_bb; + const double t6032 = 0.1e1 / t2970; + const double t6034 = t6031 * t6032 * t2974; + const double t6036 = t1578 * t1578; + const double t6037 = t282 * t6036; + const double t6041 = -t6029 / 0.144e3 + t6034 / 0.576e3; + const double t6042 = t283 * t6041; + const double t6045 = t281 * t6041; + const double t6047 = 0.105e3 / 0.2e1 * t6037 + 0.35e2 / 0.2e1 * t6042 - 0.15e2 / 0.2e1 * t6036 - 0.15e2 / 0.2e1 * t6045; + const double t6052 = t281 * t6036; + const double t6054 = t282 * t6041; + const double t6058 = 0.15e2 * t6052 + 0.15e2 / 0.2e1 * t6054 + t6029 / 0.96e2 - t6034 / 0.384e3; + const double t6059 = t6058 * t323; + const double t6061 = t1674 * t1564; + const double t6063 = t325 * t5981; + const double t6065 = t326 * t6026; + const double t6067 = t323 * t5981; + const double t6069 = t324 * t6026; + const double t6072 = 0.315e3 / 0.2e1 * t6063 + 0.315e3 / 0.8e1 * t6065 - 0.105e3 / 0.2e1 * t6067 - 0.105e3 / 0.4e1 * t6069 + 0.15e2 / 0.8e1 * t6026; + const double t6077 = 0.1406365375513125e-1 * t5981 - 0.2701865448e0 * t1622 * t1593 - 0.4373652639371875e-2 * t6026 + 0.10851840296657986111e-2 * t6029 - 0.27129600741644965277e-3 * t6034 - 0.182911291e-1 * t6047 * t365 + 0.209603871e-7 * t6047 * t351 - 0.182177954e-1 * t6059 - 0.364355908e-1 * t6061 + 0.896739466e-3 * t438 * t6072 + 0.509417745e-6 * t373 * t5981; + const double t6083 = 0.15e2 * t6067 + 0.15e2 / 0.2e1 * t6069 - 0.3e1 / 0.2e1 * t6026; + const double t6086 = t287 * t6036; + const double t6088 = t345 * t6041; + const double t6090 = t283 * t6036; + const double t6092 = t284 * t6041; + const double t6098 = 0.9009e4 / 0.8e1 * t6086 + 0.3003e4 / 0.16e2 * t6088 - 0.3465e4 / 0.4e1 * t6090 - 0.3465e4 / 0.16e2 * t6092 + 0.945e3 / 0.8e1 * t6052 + 0.945e3 / 0.16e2 * t6054 + 0.35e2 / 0.2304e4 * t6029 - 0.35e2 / 0.9216e4 * t6034; + const double t6099 = t6098 * t323; + const double t6101 = t1718 * t1564; + const double t6109 = t326 * t5981; + const double t6111 = t329 * t6026; + const double t6113 = t324 * t5981; + const double t6115 = t325 * t6026; + const double t6118 = t323 * t6026; + const double t6120 = 0.3465e4 / 0.8e1 * t6109 + 0.693e3 / 0.8e1 * t6111 - 0.945e3 / 0.4e1 * t6113 - 0.315e3 / 0.4e1 * t6115 + 0.105e3 / 0.8e1 * t5981 + 0.105e3 / 0.8e1 * t6118; + const double t6123 = t284 * t6036; + const double t6125 = t287 * t6041; + const double t6131 = 0.3465e4 / 0.8e1 * t6123 + 0.693e3 / 0.8e1 * t6125 - 0.945e3 / 0.4e1 * t6037 - 0.315e3 / 0.4e1 * t6042 + 0.105e3 / 0.8e1 * t6036 + 0.105e3 / 0.8e1 * t6045; + const double t6140 = 0.105e3 / 0.2e1 * t6113 + 0.35e2 / 0.2e1 * t6115 - 0.15e2 / 0.2e1 * t5981 - 0.15e2 / 0.2e1 * t6118; + const double t6145 = -0.82957404e-6 * t291 * t5981 + 0.505920757e-7 * t291 * t6083 + 0.940675747e-2 * t6099 + 0.1881351494e-1 * t6101 + 0.280678872e-1 * t6058 * t365 + 0.896739466e-3 * t6058 * t351 + 0.1793478932e-2 * t1674 * t1586 - 0.514204676e-4 * t281 * t6120 - 0.265114646e-7 * t6131 * t361 + 0.1109177486e-6 * t1718 * t1595 + 0.554588743e-7 * t291 * t6140 + 0.505920757e-7 * t6098 * t361; + const double t6151 = t291 * t6026; + const double t6161 = t329 * t5981; + const double t6163 = t336 * t6026; + const double t6170 = 0.9009e4 / 0.8e1 * t6161 + 0.3003e4 / 0.16e2 * t6163 - 0.3465e4 / 0.4e1 * t6063 - 0.3465e4 / 0.16e2 * t6065 + 0.945e3 / 0.8e1 * t6067 + 0.945e3 / 0.16e2 * t6069 - 0.35e2 / 0.16e2 * t6026; + const double t6175 = t1578 * t1586; + const double t6177 = t402 * t6026; + const double t6181 = 0.1011841514e-6 * t1718 * t1602 - 0.530229292e-7 * t1757 * t1602 + 0.940675747e-2 * t6151 + 0.554588743e-7 * t6098 * t356 + 0.2006940657e-7 * t6036 * t340 - 0.105312309e-2 * t6036 * t351 + 0.548718171e-2 * t6036 * t356 - 0.493824365e-8 * t421 * t6170 + 0.822139896e-3 * t6041 * t351 + 0.1644279792e-2 * t6175 - 0.884148272e-2 * t6177 - 0.493824365e-8 * t6047 * t333; + const double t6186 = t455 * t6026; + const double t6190 = t1578 * t1646; + const double t6202 = t6036 * t323; + const double t6206 = -0.98764873e-8 * t1624 * t1646 - 0.940351563e-5 * t281 * t6170 - 0.43464346e-1 * t6186 - 0.940351563e-5 * t6041 * t333 - 0.1880703126e-4 * t6190 + 0.631891628e-2 * t421 * t6083 + 0.912223751e-8 * t421 * t6120 + 0.631891628e-2 * t6047 * t361 + 0.1263783256e-1 * t1624 * t1602 - 0.450310908e-1 * t455 * t5981 - 0.130393038e0 * t6202 - 0.879090772e-2 * t6041 * t365; + const double t6209 = t6041 * t323; + const double t6211 = t6131 * t323; + const double t6213 = t1757 * t1564; + const double t6231 = 0.100339208e0 * t6209 - 0.957417512e-2 * t6211 - 0.1914835024e-1 * t6213 - 0.832786212e-7 * t1757 * t1595 - 0.416393106e-7 * t373 * t6140 - 0.845508103e-2 * t6058 * t361 - 0.1691016206e-1 * t1674 * t1602 - 0.845508103e-2 * t438 * t6083 - 0.216860568e-7 * t6058 * t340 - 0.433721136e-7 * t1674 * t1632 - 0.790811707e-7 * t6047 * t356; + const double t6238 = t1578 * t1564; + const double t6240 = t281 * t6026; + const double t6248 = 0.315e3 / 0.2e1 * t6090 + 0.315e3 / 0.8e1 * t6092 - 0.105e3 / 0.2e1 * t6052 - 0.105e3 / 0.4e1 * t6054 - 0.5e1 / 0.384e3 * t6029 + 0.5e1 / 0.1536e4 * t6034; + const double t6259 = 0.169805915e-6 * t6131 * t365 - 0.416393106e-7 * t6131 * t356 + 0.912223751e-8 * t6047 * t340 + 0.200678416e0 * t6238 + 0.100339208e0 * t6240 - 0.376702959e-7 * t6248 * t351 - 0.753405918e-7 * t1617 * t1586 - 0.376702959e-7 * t402 * t6072 + 0.445308425186625e1 * t6086 + 0.742180708644375e0 * t6088 - 0.79012239917625e1 * t6090 - 0.1975305997940625e1 * t6092; + const double t6277 = t6248 * t323; + const double t6279 = 0.298766783045625e1 * t6052 + 0.236391411e-7 * t6131 * t351 + 0.472782822e-7 * t1757 * t1586 - 0.240026440066875e-2 * t6109 - 0.48005288013375e-3 * t6111 + 0.362485880376375e-1 * t6113 + 0.120828626792125e-1 * t6115 + 0.1406365375513125e-1 * t6118 + 0.694482484e-8 * t373 * t6120 + 0.1824447502e-7 * t1624 * t1632 - 0.138472194e-7 * t402 * t6120 - 0.884148272e-2 * t6277; + const double t6280 = t1617 * t1564; + const double t6284 = t1578 * t1632; + const double t6290 = t438 * t6026; + const double t6304 = -0.1768296544e-1 * t6280 - 0.514204676e-4 * t6041 * t340 - 0.1028409352e-3 * t6284 - 0.691592964e-8 * t6131 * t333 - 0.1383185928e-7 * t1757 * t1646 - 0.182177954e-1 * t6290 - 0.223014657e-8 * t455 * t6170 + 0.339308972e-2 * t6058 * t356 + 0.678617944e-2 * t1674 * t1595 + 0.339308972e-2 * t438 * t6140 - 0.896771404e-2 * t402 * t6083 + 0.182906057e-2 * t455 * t6140; + const double t6330 = -0.35104103e-3 * t455 * t6072 - 0.1581623414e-6 * t1624 * t1595 - 0.790811707e-7 * t421 * t6140 + 0.888525527e-8 * t6098 * t333 + 0.1777051054e-7 * t1718 * t1646 + 0.888525527e-8 * t291 * t6170 - 0.216860568e-7 * t438 * t6120 - 0.669043971e-8 * t6036 * t333 - 0.565485306e-1 * t417 * t6026 + 0.509417745e-6 * t397 * t6026 - 0.82957404e-6 * t368 * t6026; + const double t6355 = 0.1759518246e-1 * t1622 * t1602 + 0.694482484e-8 * t6131 * t340 + 0.1388964968e-7 * t1757 * t1632 + 0.879759123e-2 * t6036 * t361 - 0.450310908e-1 * t6036 * t365 + 0.842036616e-1 * t438 * t5981 - 0.548733873e-1 * t421 * t5981 + 0.1684073232e0 * t1697 * t1564 - 0.165914808e-5 * t1747 * t1564 - 0.1130970612e0 * t1635 * t1564 - 0.450310908e-1 * t468 * t6026 - 0.130393038e0 * t6045 * t323; + const double t6379 = t373 * t6026; + const double t6381 = -0.1338087942e-7 * t1622 * t1646 - 0.1097467746e0 * t1683 * t1564 - 0.669043971e-8 * t6045 * t333 + 0.2006940657e-7 * t6045 * t340 - 0.105312309e-2 * t6045 * t351 + 0.548718171e-2 * t6045 * t356 - 0.260786076e0 * t1622 * t1564 - 0.1548449924e-7 * t1718 * t1632 - 0.774224962e-8 * t291 * t6120 - 0.774224962e-8 * t6098 * t340 + 0.850272392e-8 * t402 * t6170 - 0.957417512e-2 * t6379; + const double t6393 = t6047 * t323; + const double t6395 = t1624 * t1564; + const double t6397 = t421 * t6026; + const double t6403 = 0.850272392e-8 * t6248 * t333 + 0.1700544784e-7 * t1617 * t1646 - 0.138472194e-7 * t6248 * t340 - 0.276944388e-7 * t1617 * t1632 - 0.16566742077375e1 * t6037 - 0.5522247359125e0 * t6042 - 0.18458962865625e0 * t6045 + 0.162638575e-1 * t6393 + 0.32527715e-1 * t6395 + 0.162638575e-1 * t6397 + 0.119130546e-2 * t281 * t6140 + 0.293253041e-2 * t455 * t6083; + const double t6414 = t1578 * t1602; + const double t6428 = 0.419207742e-7 * t1624 * t1586 + 0.209603871e-7 * t421 * t6072 + 0.822139896e-3 * t281 * t6072 - 0.303347141e-2 * t6041 * t361 - 0.606694282e-2 * t6414 - 0.303347141e-2 * t281 * t6083 - 0.265114646e-7 * t373 * t6083 + 0.162238741e-6 * t6248 * t356 + 0.324477482e-6 * t1617 * t1595 + 0.162238741e-6 * t402 * t6140 + 0.674910119e-8 * t6058 * t333; + const double t6433 = t1578 * t1595; + const double t6450 = 0.1349820238e-7 * t1674 * t1646 + 0.119130546e-2 * t6041 * t356 + 0.238261092e-2 * t6433 + 0.1493833915228125e1 * t6054 - 0.27652468e-6 * t6098 * t365 - 0.2637272316e-1 * t281 * t5981 - 0.565485306e-1 * t402 * t5981 + 0.82889846164125e-3 * t6161 + 0.138149743606875e-3 * t6163 - 0.691592964e-8 * t373 * t6170 - 0.188495102e-1 * t6248 * t365 + 0.674910119e-8 * t438 * t6170; + const double t6474 = -0.338128188e-7 * t291 * t6072 + 0.668980219e-8 * t455 * t6120 - 0.5274544632e-1 * t1607 * t1564 - 0.2637272316e-1 * t482 * t6026 + 0.4013881314e-7 * t1622 * t1632 + 0.101883549e-5 * t1773 * t1564 - 0.338128188e-7 * t6098 * t351 - 0.676256376e-7 * t1718 * t1586 - 0.896771404e-2 * t6248 * t361 - 0.1793542808e-1 * t1617 * t1602 - 0.189176620712625e-1 * t6063 - 0.4729415517815625e-2 * t6065; + const double t6494 = 0.2787661693108125e-1 * t6067 + 0.13938308465540625e-1 * t6069 + 0.236391411e-7 * t373 * t6072 + 0.240073981599375e1 * t6123 + 0.48014796319875e0 * t6125 - 0.210624618e-2 * t1622 * t1586 + 0.1097436342e-1 * t1622 * t1595 + 0.879759123e-2 * t6045 * t361 - 0.450310908e-1 * t6045 * t365 + 0.842036616e-1 * t452 * t6026 - 0.548733873e-1 * t434 * t6026 - 0.18458962865625e0 * t6036; + const double t6498 = t6077 + t6145 + t6181 + t6206 + t6231 + t6259 + t6279 + t6304 + t6330 + t6355 + t6381 + t6403 + t6428 + t6450 + t6474 + t6494; + const double t6502 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t6498 ); + const double t6513 = t1871 * t1246; + const double t6516 = t1239 * t1870; + const double t6522 = t1877 * t1246; + const double t6527 = t540 * t1239; + const double t6530 = 0.24e2 * t6527 * t1870 + 0.6e1 * t2270 * t6516 + t5494 + t5496; + const double t6533 = piecewise_functor_3( t65, -0.18e2 * t1865 * t1231 - 0.12e2 * t1867 * t1231 + 0.6e2 * t4781 * t1231 + t5464 + t5468 - t5472, -0.24e2 * t2249 * t4787 * t1239 - 0.6e1 * t2254 * t4801 * t1239 - 0.6e1 * t2254 * t6513 - 0.2e1 * t2266 * t6522 + 0.6e1 * t530 * t6516 + t537 * t6530 + t5485 ); + const double t6534 = t111 * t6533; + const double t6536 = t90 * t6533; + const double t6538 = t1249 * t1880; + const double t6540 = t88 * t6533; + const double t6542 = t1895 * t1249; + const double t6545 = t1889 * t1249; + const double t6550 = 0.3465e4 / 0.8e1 * t6542 + 0.693e3 / 0.8e1 * t6534 - 0.945e3 / 0.4e1 * t6545 - 0.315e3 / 0.4e1 * t6536 + 0.105e3 / 0.8e1 * t6538 + 0.105e3 / 0.8e1 * t6540; + const double t6557 = t118 * t6533; + const double t6559 = t108 * t6533; + const double t6561 = t89 * t6533; + const double t6563 = t1910 * t1249; + const double t6566 = t1882 * t1249; + const double t6569 = t1884 * t1249; + const double t6573 = 0.9009e4 / 0.8e1 * t6563 + 0.3003e4 / 0.16e2 * t6557 - 0.3465e4 / 0.4e1 * t6566 - 0.3465e4 / 0.16e2 * t6559 + 0.945e3 / 0.8e1 * t6569 + 0.945e3 / 0.16e2 * t6561 - 0.35e2 / 0.16e2 * t6533; + const double t6583 = 0.315e3 / 0.2e1 * t6566 + 0.315e3 / 0.8e1 * t6559 - 0.105e3 / 0.2e1 * t6569 - 0.105e3 / 0.4e1 * t6561 + 0.15e2 / 0.8e1 * t6533; + const double t6588 = -0.48005288013375e-3 * t6534 + 0.120828626792125e-1 * t6536 + 0.1406365375513125e-1 * t6538 + 0.1406365375513125e-1 * t6540 - 0.774224962e-8 * t147 * t6550 - 0.774224962e-8 * t1272 * t1914 + 0.888525527e-8 * t1272 * t1907 + 0.138149743606875e-3 * t6557 - 0.4729415517815625e-2 * t6559 + 0.13938308465540625e-1 * t6561 + 0.888525527e-8 * t147 * t6573 - 0.338128188e-7 * t1272 * t1899 - 0.338128188e-7 * t147 * t6583 + 0.505920757e-7 * t1272 * t1892; + const double t6592 = 0.15e2 * t6569 + 0.15e2 / 0.2e1 * t6561 - 0.3e1 / 0.2e1 * t6533; + const double t6601 = 0.105e3 / 0.2e1 * t6545 + 0.35e2 / 0.2e1 * t6536 - 0.15e2 / 0.2e1 * t6538 - 0.15e2 / 0.2e1 * t6540; + const double t6604 = t147 * t6533; + const double t6610 = t1272 * t1880; + const double t6620 = t1263 * t1914; + const double t6624 = t1263 * t1886; + const double t6628 = 0.505920757e-7 * t147 * t6592 + 0.554588743e-7 * t1272 * t1886 + 0.554588743e-7 * t147 * t6601 + 0.940675747e-2 * t6604 - 0.691592964e-8 * t1324 * t1907 - 0.691592964e-8 * t56 * t6573 + 0.940675747e-2 * t6610 + 0.236391411e-7 * t56 * t6583 + 0.236391411e-7 * t1324 * t1899 + 0.694482484e-8 * t1324 * t1914 + 0.694482484e-8 * t56 * t6550 - 0.514204676e-4 * t6620 - 0.514204676e-4 * t49 * t6550 + 0.119130546e-2 * t6624 + 0.119130546e-2 * t49 * t6601; + const double t6630 = t1263 * t1880; + const double t6632 = t49 * t6533; + const double t6634 = t1263 * t1899; + const double t6638 = t1263 * t1892; + const double t6650 = t1324 * t1880; + const double t6652 = t56 * t6533; + const double t6659 = 0.100339208e0 * t6630 + 0.100339208e0 * t6632 + 0.822139896e-3 * t6634 + 0.822139896e-3 * t49 * t6583 - 0.303347141e-2 * t6638 - 0.303347141e-2 * t49 * t6592 - 0.416393106e-7 * t1324 * t1886 - 0.416393106e-7 * t56 * t6601 + 0.850272392e-8 * t1365 * t1907 + 0.850272392e-8 * t107 * t6573 - 0.957417512e-2 * t6650 - 0.957417512e-2 * t6652 - 0.265114646e-7 * t1324 * t1892 - 0.4373652639371875e-2 * t6533 - 0.265114646e-7 * t56 * t6592; + const double t6680 = t1365 * t1880; + const double t6682 = t107 * t6533; + const double t6690 = -0.138472194e-7 * t1365 * t1914 - 0.138472194e-7 * t107 * t6550 - 0.376702959e-7 * t1365 * t1899 - 0.376702959e-7 * t107 * t6583 - 0.896771404e-2 * t1365 * t1892 - 0.896771404e-2 * t107 * t6592 + 0.162238741e-6 * t1365 * t1886 + 0.162238741e-6 * t107 * t6601 - 0.493824365e-8 * t1394 * t1907 - 0.493824365e-8 * t225 * t6573 - 0.884148272e-2 * t6680 - 0.884148272e-2 * t6682 + 0.209603871e-7 * t1394 * t1899 + 0.209603871e-7 * t225 * t6583 + 0.912223751e-8 * t1394 * t1914; + const double t6703 = t1394 * t1880; + const double t6705 = t225 * t6533; + const double t6721 = 0.912223751e-8 * t225 * t6550 + 0.631891628e-2 * t225 * t6592 + 0.631891628e-2 * t1394 * t1892 - 0.790811707e-7 * t1394 * t1886 - 0.790811707e-7 * t225 * t6601 + 0.162638575e-1 * t6703 + 0.162638575e-1 * t6705 + 0.674910119e-8 * t1424 * t1907 + 0.674910119e-8 * t193 * t6573 - 0.216860568e-7 * t1424 * t1914 - 0.216860568e-7 * t193 * t6550 + 0.896739466e-3 * t1424 * t1899 + 0.896739466e-3 * t193 * t6583 - 0.845508103e-2 * t1424 * t1892; + const double t6728 = t1424 * t1880; + const double t6730 = t193 * t6533; + const double t6742 = t201 * t6533; + const double t6744 = t1263 * t1907; + const double t6752 = -0.845508103e-2 * t193 * t6592 + 0.339308972e-2 * t1424 * t1886 + 0.339308972e-2 * t193 * t6601 - 0.182177954e-1 * t6728 - 0.182177954e-1 * t6730 - 0.223014657e-8 * t201 * t6573 - 0.35104103e-3 * t201 * t6583 + 0.668980219e-8 * t201 * t6550 + 0.293253041e-2 * t201 * t6592 + 0.182906057e-2 * t201 * t6601 - 0.43464346e-1 * t6742 - 0.940351563e-5 * t6744 - 0.940351563e-5 * t49 * t6573 - 0.105312309e-2 * t1322 * t1899 + 0.2006940657e-7 * t1322 * t1914; + const double t6784 = 0.548718171e-2 * t1322 * t1886 + 0.879759123e-2 * t1322 * t1892 - 0.565485306e-1 * t140 * t6533 - 0.130393038e0 * t1322 * t1880 - 0.548733873e-1 * t1414 * t1880 - 0.548733873e-1 * t1416 * t1880 - 0.548733873e-1 * t238 * t6533 + 0.509417745e-6 * t1347 * t1880 + 0.509417745e-6 * t1349 * t1880 + 0.509417745e-6 * t100 * t6533 - 0.565485306e-1 * t1383 * t1880 - 0.565485306e-1 * t1401 * t1880 - 0.2637272316e-1 * t166 * t6533 - 0.450310908e-1 * t1481 * t1880 - 0.450310908e-1 * t214 * t6533; + const double t6810 = 0.842036616e-1 * t1444 * t1880 + 0.842036616e-1 * t1489 * t1880 + 0.842036616e-1 * t198 * t6533 - 0.669043971e-8 * t1322 * t1907 - 0.82957404e-6 * t1313 * t1880 - 0.82957404e-6 * t1315 * t1880 - 0.82957404e-6 * t173 * t6533 - 0.240026440066875e-2 * t6542 + 0.362485880376375e-1 * t6545 + 0.82889846164125e-3 * t6563 - 0.189176620712625e-1 * t6566 + 0.2787661693108125e-1 * t6569 - 0.2637272316e-1 * t1495 * t1880 - 0.2637272316e-1 * t1497 * t1880 - 0.1350932724e0 * t1322 * t1884; + const double t6813 = t6588 + t6628 + t6659 + t6690 + t6721 + t6752 + t6784 + t6810; + const double t6817 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t6813 ); + const double t6828 = t2034 * t1561; + const double t6831 = t1554 * t2033; + const double t6837 = t2040 * t1561; + const double t6842 = t920 * t1554; + const double t6845 = 0.24e2 * t6842 * t2033 + 0.6e1 * t2951 * t6831 + t6020 + t6022; + const double t6848 = piecewise_functor_3( t300, -0.18e2 * t2028 * t1546 - 0.12e2 * t2030 * t1546 + 0.6e2 * t5134 * t1546 + t5990 + t5994 - t5998, -0.24e2 * t2930 * t5140 * t1554 - 0.6e1 * t2935 * t5154 * t1554 - 0.6e1 * t2935 * t6828 - 0.2e1 * t2947 * t6837 + 0.6e1 * t910 * t6831 + t917 * t6845 + t6011 ); + const double t6850 = t1578 * t2064; + const double t6852 = t325 * t6848; + const double t6854 = t1564 * t2043; + const double t6858 = t2060 * t1564; + const double t6860 = t326 * t6848; + const double t6862 = t2062 * t1564; + const double t6864 = t324 * t6848; + const double t6867 = 0.315e3 / 0.2e1 * t6858 + 0.315e3 / 0.8e1 * t6860 - 0.105e3 / 0.2e1 * t6862 - 0.105e3 / 0.4e1 * t6864 + 0.15e2 / 0.8e1 * t6848; + const double t6872 = t2049 * t1564; + const double t6876 = t323 * t6848; + const double t6878 = 0.105e3 / 0.2e1 * t6872 + 0.35e2 / 0.2e1 * t6852 - 0.15e2 / 0.2e1 * t6854 - 0.15e2 / 0.2e1 * t6876; + const double t6883 = t2073 * t1564; + const double t6885 = t336 * t6848; + const double t6892 = 0.9009e4 / 0.8e1 * t6883 + 0.3003e4 / 0.16e2 * t6885 - 0.3465e4 / 0.4e1 * t6858 - 0.3465e4 / 0.16e2 * t6860 + 0.945e3 / 0.8e1 * t6862 + 0.945e3 / 0.16e2 * t6864 - 0.35e2 / 0.16e2 * t6848; + const double t6901 = t2047 * t1564; + const double t6903 = t329 * t6848; + const double t6909 = 0.3465e4 / 0.8e1 * t6901 + 0.693e3 / 0.8e1 * t6903 - 0.945e3 / 0.4e1 * t6872 - 0.315e3 / 0.4e1 * t6852 + 0.105e3 / 0.8e1 * t6854 + 0.105e3 / 0.8e1 * t6876; + const double t6912 = -0.4373652639371875e-2 * t6848 + 0.119130546e-2 * t6850 + 0.120828626792125e-1 * t6852 + 0.1406365375513125e-1 * t6854 + 0.236391411e-7 * t1757 * t2070 + 0.236391411e-7 * t373 * t6867 + 0.162238741e-6 * t1617 * t2064 + 0.162238741e-6 * t402 * t6878 - 0.35104103e-3 * t455 * t6867 - 0.223014657e-8 * t455 * t6892 + 0.888525527e-8 * t1718 * t2052 + 0.888525527e-8 * t291 * t6892 + 0.912223751e-8 * t1624 * t2077 + 0.912223751e-8 * t421 * t6909; + const double t6913 = t455 * t6848; + const double t6915 = t1578 * t2077; + const double t6939 = -0.43464346e-1 * t6913 - 0.514204676e-4 * t6915 - 0.514204676e-4 * t281 * t6909 - 0.216860568e-7 * t1674 * t2077 - 0.216860568e-7 * t438 * t6909 + 0.1406365375513125e-1 * t6876 + 0.119130546e-2 * t281 * t6878 + 0.138149743606875e-3 * t6885 - 0.4729415517815625e-2 * t6860 + 0.13938308465540625e-1 * t6864 - 0.493824365e-8 * t421 * t6892 + 0.182906057e-2 * t455 * t6878 - 0.338128188e-7 * t291 * t6867 - 0.790811707e-7 * t1624 * t2064 - 0.790811707e-7 * t421 * t6878; + const double t6946 = 0.15e2 * t6862 + 0.15e2 / 0.2e1 * t6864 - 0.3e1 / 0.2e1 * t6848; + const double t6951 = t1578 * t2057; + const double t6955 = t1757 * t2043; + const double t6957 = t373 * t6848; + const double t6959 = t1674 * t2043; + const double t6961 = t438 * t6848; + const double t6975 = 0.505920757e-7 * t1718 * t2057 + 0.505920757e-7 * t291 * t6946 - 0.1350932724e0 * t1622 * t2062 - 0.303347141e-2 * t6951 - 0.303347141e-2 * t281 * t6946 - 0.957417512e-2 * t6955 - 0.957417512e-2 * t6957 - 0.182177954e-1 * t6959 - 0.182177954e-1 * t6961 + 0.554588743e-7 * t1718 * t2064 + 0.554588743e-7 * t291 * t6878 - 0.105312309e-2 * t1622 * t2070 + 0.2006940657e-7 * t1622 * t2077 - 0.2637272316e-1 * t1607 * t2043 - 0.2637272316e-1 * t1609 * t2043; + const double t7006 = -0.669043971e-8 * t1622 * t2052 + 0.879759123e-2 * t1622 * t2057 - 0.130393038e0 * t1622 * t2043 + 0.548718171e-2 * t1622 * t2064 - 0.2637272316e-1 * t482 * t6848 - 0.450310908e-1 * t1797 * t2043 - 0.450310908e-1 * t468 * t6848 + 0.842036616e-1 * t1697 * t2043 + 0.842036616e-1 * t1699 * t2043 + 0.842036616e-1 * t452 * t6848 - 0.548733873e-1 * t1683 * t2043 - 0.548733873e-1 * t1685 * t2043 + 0.509417745e-6 * t1775 * t2043 + 0.509417745e-6 * t397 * t6848 - 0.82957404e-6 * t1747 * t2043; + const double t7032 = -0.82957404e-6 * t1749 * t2043 - 0.82957404e-6 * t368 * t6848 - 0.240026440066875e-2 * t6901 + 0.362485880376375e-1 * t6872 + 0.82889846164125e-3 * t6883 - 0.189176620712625e-1 * t6858 + 0.2787661693108125e-1 * t6862 - 0.548733873e-1 * t434 * t6848 - 0.565485306e-1 * t1635 * t2043 - 0.565485306e-1 * t1637 * t2043 - 0.565485306e-1 * t417 * t6848 + 0.509417745e-6 * t1773 * t2043 + 0.293253041e-2 * t455 * t6946 - 0.138472194e-7 * t1617 * t2077; + const double t7060 = t1624 * t2043; + const double t7062 = -0.48005288013375e-3 * t6903 - 0.138472194e-7 * t402 * t6909 + 0.339308972e-2 * t1674 * t2064 + 0.339308972e-2 * t438 * t6878 + 0.850272392e-8 * t1617 * t2052 + 0.850272392e-8 * t402 * t6892 - 0.338128188e-7 * t1718 * t2070 + 0.694482484e-8 * t1757 * t2077 + 0.694482484e-8 * t373 * t6909 - 0.416393106e-7 * t373 * t6878 - 0.774224962e-8 * t1718 * t2077 - 0.774224962e-8 * t291 * t6909 - 0.265114646e-7 * t1757 * t2057 - 0.265114646e-7 * t373 * t6946 + 0.162638575e-1 * t7060; + const double t7064 = t421 * t6848; + const double t7070 = t1718 * t2043; + const double t7072 = t291 * t6848; + const double t7076 = t1617 * t2043; + const double t7078 = t402 * t6848; + const double t7086 = t1578 * t2052; + const double t7094 = 0.162638575e-1 * t7064 + 0.674910119e-8 * t1674 * t2052 + 0.674910119e-8 * t438 * t6892 + 0.940675747e-2 * t7070 + 0.940675747e-2 * t7072 - 0.691592964e-8 * t1757 * t2052 - 0.884148272e-2 * t7076 - 0.884148272e-2 * t7078 - 0.493824365e-8 * t1624 * t2052 - 0.845508103e-2 * t1674 * t2057 - 0.845508103e-2 * t438 * t6946 - 0.940351563e-5 * t7086 - 0.940351563e-5 * t281 * t6892 - 0.416393106e-7 * t1757 * t2064 + 0.896739466e-3 * t1674 * t2070; + const double t7107 = t1578 * t2043; + const double t7109 = t281 * t6848; + const double t7113 = t1578 * t2070; + const double t7125 = 0.896739466e-3 * t438 * t6867 + 0.631891628e-2 * t1624 * t2057 + 0.668980219e-8 * t455 * t6909 + 0.631891628e-2 * t421 * t6946 - 0.896771404e-2 * t1617 * t2057 - 0.896771404e-2 * t402 * t6946 + 0.100339208e0 * t7107 + 0.100339208e0 * t7109 - 0.691592964e-8 * t373 * t6892 + 0.822139896e-3 * t7113 + 0.822139896e-3 * t281 * t6867 + 0.209603871e-7 * t1624 * t2070 + 0.209603871e-7 * t421 * t6867 - 0.376702959e-7 * t1617 * t2070 - 0.376702959e-7 * t402 * t6867; + const double t7128 = t6912 + t6939 + t6975 + t7006 + t7032 + t7062 + t7094 + t7125; + const double t7132 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t7128 ); + const double t7133 = t1880 * t1880; + const double t7135 = t1862 * t1862; + const double t7138 = t526 * t7135; + const double t7140 = t2243 * t7135; + const double t7143 = t1870 * t1870; + const double t7144 = t78 * t7143; + const double t7152 = t1877 * t1877; + const double t7159 = 0.6e1 * t2270 * t7143 + 0.24e2 * t540 * t7143 + t5494 + t5496; + const double t7162 = piecewise_functor_3( t65, -0.18e2 * t74 * t7135 + t5464 + t5468 - t5472 - 0.12e2 * t7138 + 0.6e2 * t7140, -0.12e2 * t2254 * t1871 * t1877 - 0.24e2 * t2249 * t7144 - 0.2e1 * t2266 * t7152 + 0.6e1 * t530 * t7143 + t537 * t7159 + t5485 ); + const double t7164 = t108 * t7133; + const double t7166 = t111 * t7162; + const double t7168 = t89 * t7133; + const double t7170 = t90 * t7162; + const double t7173 = t88 * t7162; + const double t7175 = 0.3465e4 / 0.8e1 * t7164 + 0.693e3 / 0.8e1 * t7166 - 0.945e3 / 0.4e1 * t7168 - 0.315e3 / 0.4e1 * t7170 + 0.105e3 / 0.8e1 * t7133 + 0.105e3 / 0.8e1 * t7173; + const double t7182 = 0.105e3 / 0.2e1 * t7168 + 0.35e2 / 0.2e1 * t7170 - 0.15e2 / 0.2e1 * t7133 - 0.15e2 / 0.2e1 * t7173; + const double t7187 = t88 * t7133; + const double t7189 = t89 * t7162; + const double t7192 = 0.15e2 * t7187 + 0.15e2 / 0.2e1 * t7189 - 0.3e1 / 0.2e1 * t7162; + const double t7195 = t90 * t7133; + const double t7197 = t108 * t7162; + const double t7202 = 0.315e3 / 0.2e1 * t7195 + 0.315e3 / 0.8e1 * t7197 - 0.105e3 / 0.2e1 * t7187 - 0.105e3 / 0.4e1 * t7189 + 0.15e2 / 0.8e1 * t7162; + const double t7207 = t111 * t7133; + const double t7209 = t118 * t7162; + const double t7216 = 0.9009e4 / 0.8e1 * t7207 + 0.3003e4 / 0.16e2 * t7209 - 0.3465e4 / 0.4e1 * t7195 - 0.3465e4 / 0.16e2 * t7197 + 0.945e3 / 0.8e1 * t7187 + 0.945e3 / 0.16e2 * t7189 - 0.35e2 / 0.16e2 * t7162; + const double t7231 = 0.1406365375513125e-1 * t7133 - 0.4373652639371875e-2 * t7162 + 0.912223751e-8 * t225 * t7175 + 0.162238741e-6 * t107 * t7182 - 0.138472194e-7 * t107 * t7175 - 0.265114646e-7 * t56 * t7192 + 0.236391411e-7 * t56 * t7202 + 0.293253041e-2 * t201 * t7192 - 0.940351563e-5 * t49 * t7216 + 0.13938308465540625e-1 * t7189 + 0.505920757e-7 * t147 * t7192 - 0.845508103e-2 * t193 * t7192 + 0.100339208e0 * t49 * t7162 - 0.189176620712625e-1 * t7195 - 0.4729415517815625e-2 * t7197 + 0.822139896e-3 * t49 * t7202 - 0.240026440066875e-2 * t7164; + const double t7261 = -0.48005288013375e-3 * t7166 + 0.120828626792125e-1 * t7170 + 0.1406365375513125e-1 * t7173 - 0.514204676e-4 * t49 * t7175 + 0.82889846164125e-3 * t7207 + 0.138149743606875e-3 * t7209 + 0.888525527e-8 * t147 * t7216 - 0.303347141e-2 * t49 * t7192 + 0.668980219e-8 * t201 * t7175 - 0.223014657e-8 * t201 * t7216 - 0.338128188e-7 * t147 * t7202 - 0.82957404e-6 * t147 * t7133 + 0.339308972e-2 * t193 * t7182 - 0.43464346e-1 * t201 * t7162 - 0.2637272316e-1 * t49 * t7133 - 0.450310908e-1 * t201 * t7133 + 0.694482484e-8 * t56 * t7175; + const double t7297 = 0.162638575e-1 * t225 * t7162 + 0.674910119e-8 * t193 * t7216 - 0.82957404e-6 * t173 * t7162 - 0.2637272316e-1 * t166 * t7162 - 0.450310908e-1 * t214 * t7162 + 0.842036616e-1 * t198 * t7162 - 0.548733873e-1 * t238 * t7162 + 0.509417745e-6 * t100 * t7162 - 0.565485306e-1 * t140 * t7162 - 0.216860568e-7 * t193 * t7175 + 0.209603871e-7 * t225 * t7202 - 0.774224962e-8 * t147 * t7175 + 0.842036616e-1 * t193 * t7133 - 0.548733873e-1 * t225 * t7133 + 0.509417745e-6 * t56 * t7133 - 0.565485306e-1 * t107 * t7133 - 0.35104103e-3 * t201 * t7202; + const double t7332 = -0.376702959e-7 * t107 * t7202 + 0.940675747e-2 * t147 * t7162 - 0.691592964e-8 * t56 * t7216 + 0.631891628e-2 * t225 * t7192 + 0.182906057e-2 * t201 * t7182 + 0.554588743e-7 * t147 * t7182 - 0.182177954e-1 * t193 * t7162 + 0.896739466e-3 * t193 * t7202 + 0.362485880376375e-1 * t7168 + 0.2787661693108125e-1 * t7187 - 0.884148272e-2 * t107 * t7162 - 0.493824365e-8 * t225 * t7216 + 0.119130546e-2 * t49 * t7182 - 0.790811707e-7 * t225 * t7182 - 0.957417512e-2 * t56 * t7162 + 0.850272392e-8 * t107 * t7216 - 0.896771404e-2 * t107 * t7192 - 0.416393106e-7 * t56 * t7182; + const double t7334 = t7231 + t7261 + t7297 + t7332; + const double t7338 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t7334 ); + const double t7339 = t2025 * t2025; + const double t7342 = t906 * t7339; + const double t7344 = t2924 * t7339; + const double t7347 = t2033 * t2033; + const double t7348 = t313 * t7347; + const double t7356 = t2040 * t2040; + const double t7363 = 0.6e1 * t2951 * t7347 + 0.24e2 * t920 * t7347 + t6020 + t6022; + const double t7366 = piecewise_functor_3( t300, -0.18e2 * t309 * t7339 + t5990 + t5994 - t5998 - 0.12e2 * t7342 + 0.6e2 * t7344, -0.12e2 * t2935 * t2034 * t2040 - 0.24e2 * t2930 * t7348 - 0.2e1 * t2947 * t7356 + 0.6e1 * t910 * t7347 + t917 * t7363 + t6011 ); + const double t7368 = t2043 * t2043; + const double t7370 = t325 * t7368; + const double t7372 = t326 * t7366; + const double t7374 = t323 * t7368; + const double t7376 = t324 * t7366; + const double t7379 = 0.315e3 / 0.2e1 * t7370 + 0.315e3 / 0.8e1 * t7372 - 0.105e3 / 0.2e1 * t7374 - 0.105e3 / 0.4e1 * t7376 + 0.15e2 / 0.8e1 * t7366; + const double t7382 = t326 * t7368; + const double t7384 = t329 * t7366; + const double t7386 = t324 * t7368; + const double t7388 = t325 * t7366; + const double t7391 = t323 * t7366; + const double t7393 = 0.3465e4 / 0.8e1 * t7382 + 0.693e3 / 0.8e1 * t7384 - 0.945e3 / 0.4e1 * t7386 - 0.315e3 / 0.4e1 * t7388 + 0.105e3 / 0.8e1 * t7368 + 0.105e3 / 0.8e1 * t7391; + const double t7398 = t329 * t7368; + const double t7400 = t336 * t7366; + const double t7407 = 0.9009e4 / 0.8e1 * t7398 + 0.3003e4 / 0.16e2 * t7400 - 0.3465e4 / 0.4e1 * t7370 - 0.3465e4 / 0.16e2 * t7372 + 0.945e3 / 0.8e1 * t7374 + 0.945e3 / 0.16e2 * t7376 - 0.35e2 / 0.16e2 * t7366; + const double t7414 = 0.105e3 / 0.2e1 * t7386 + 0.35e2 / 0.2e1 * t7388 - 0.15e2 / 0.2e1 * t7368 - 0.15e2 / 0.2e1 * t7391; + const double t7420 = 0.15e2 * t7374 + 0.15e2 / 0.2e1 * t7376 - 0.3e1 / 0.2e1 * t7366; + const double t7441 = -0.4373652639371875e-2 * t7366 + 0.1406365375513125e-1 * t7368 + 0.896739466e-3 * t438 * t7379 - 0.216860568e-7 * t438 * t7393 + 0.162638575e-1 * t421 * t7366 + 0.674910119e-8 * t438 * t7407 - 0.790811707e-7 * t421 * t7414 + 0.631891628e-2 * t421 * t7420 + 0.209603871e-7 * t421 * t7379 + 0.339308972e-2 * t438 * t7414 - 0.845508103e-2 * t438 * t7420 + 0.842036616e-1 * t452 * t7366 - 0.548733873e-1 * t434 * t7366 - 0.565485306e-1 * t417 * t7366 + 0.509417745e-6 * t397 * t7366 - 0.82957404e-6 * t368 * t7366 - 0.2637272316e-1 * t482 * t7366; + const double t7471 = -0.450310908e-1 * t468 * t7366 - 0.223014657e-8 * t455 * t7407 - 0.182177954e-1 * t438 * t7366 + 0.668980219e-8 * t455 * t7393 - 0.35104103e-3 * t455 * t7379 - 0.376702959e-7 * t402 * t7379 + 0.162238741e-6 * t402 * t7414 - 0.896771404e-2 * t402 * t7420 - 0.940351563e-5 * t281 * t7407 - 0.514204676e-4 * t281 * t7393 - 0.884148272e-2 * t402 * t7366 + 0.82889846164125e-3 * t7398 + 0.362485880376375e-1 * t7386 - 0.240026440066875e-2 * t7382 + 0.120828626792125e-1 * t7388 + 0.1406365375513125e-1 * t7391 + 0.554588743e-7 * t291 * t7414; + const double t7503 = 0.2787661693108125e-1 * t7374 + 0.13938308465540625e-1 * t7376 + 0.505920757e-7 * t291 * t7420 + 0.509417745e-6 * t373 * t7368 - 0.82957404e-6 * t291 * t7368 - 0.338128188e-7 * t291 * t7379 - 0.493824365e-8 * t421 * t7407 + 0.912223751e-8 * t421 * t7393 + 0.119130546e-2 * t281 * t7414 - 0.2637272316e-1 * t281 * t7368 - 0.450310908e-1 * t455 * t7368 + 0.822139896e-3 * t281 * t7379 + 0.100339208e0 * t281 * t7366 - 0.303347141e-2 * t281 * t7420 - 0.774224962e-8 * t291 * t7393 + 0.138149743606875e-3 * t7400 - 0.189176620712625e-1 * t7370; + const double t7538 = -0.4729415517815625e-2 * t7372 - 0.691592964e-8 * t373 * t7407 + 0.940675747e-2 * t291 * t7366 + 0.888525527e-8 * t291 * t7407 - 0.416393106e-7 * t373 * t7414 - 0.957417512e-2 * t373 * t7366 + 0.850272392e-8 * t402 * t7407 - 0.48005288013375e-3 * t7384 - 0.138472194e-7 * t402 * t7393 + 0.236391411e-7 * t373 * t7379 - 0.265114646e-7 * t373 * t7420 + 0.842036616e-1 * t438 * t7368 - 0.548733873e-1 * t421 * t7368 - 0.565485306e-1 * t402 * t7368 - 0.43464346e-1 * t455 * t7366 + 0.182906057e-2 * t455 * t7414 + 0.293253041e-2 * t455 * t7420 + 0.694482484e-8 * t373 * t7393; + const double t7540 = t7441 + t7471 + t7503 + t7538; + const double t7544 = piecewise_functor_3( t258, 0.0, -0.3e1 / 0.8e1 * t6 * t267 * t7540 ); + + + vrho_a = t257 + t490 + t7 * ( t850 + t866 ); + vrho_b = t257 + t490 + t7 * ( t879 + t1226 ); + vsigma_aa = t7 * t1543; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1858; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t2021; + vtau_b = t7 * t2184; + v2rho2_aa = 0.2e1 * t850 + 0.2e1 * t866 + t7 * ( t2781 + t2808 ); + v2rho2_bb = 0.2e1 * t879 + 0.2e1 * t1226 + t7 * ( t2881 + t3458 ); + v2rhosigma_a_aa = t7 * t4105 + t1543; + v2rhosigma_b_bb = t7 * t4763 + t1858; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t5104 + t2021; + v2rhotau_b_b = t7 * t5457 + t2184; + v2sigma2_aa_aa = t7 * t5980; + v2sigma2_bb_bb = t7 * t6502; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t6817; + v2sigmatau_bb_b = t7 * t7132; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t7338; + v2tau2_bb = t7 * t7544; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinMBEEF_X : detail::BuiltinKernelImpl< BuiltinMBEEF_X > { + + BuiltinMBEEF_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMBEEF_X >(p) { } + + virtual ~BuiltinMBEEF_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn12_l_c.hpp b/include/exchcxx/impl/builtin/kernels/mn12_l_c.hpp new file mode 100644 index 0000000..90260c3 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn12_l_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN12_L_C > : + public mgga_screening_interface< BuiltinMN12_L_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 8.844610e-01; + static constexpr double m08_a_1 = -2.202279e-01; + static constexpr double m08_a_2 = 5.701372e+00; + static constexpr double m08_a_3 = -2.562378e+00; + static constexpr double m08_a_4 = -9.646827e-01; + static constexpr double m08_a_5 = 1.982183e-01; + static constexpr double m08_a_6 = 1.019976e+01; + static constexpr double m08_a_7 = 9.789352e-01; + static constexpr double m08_a_8 = -1.512722e+00; + static constexpr double m08_a_9 = 0.000000e+00; + static constexpr double m08_a_10 = 0.000000e+00; + static constexpr double m08_a_11 = 0.000000e+00; + static constexpr double m08_b_0 = 5.323948e-01; + static constexpr double m08_b_1 = -5.831909e+00; + static constexpr double m08_b_2 = 3.882386e+00; + static constexpr double m08_b_3 = 5.878488e+00; + static constexpr double m08_b_4 = 1.493228e+01; + static constexpr double m08_b_5 = -1.374636e+01; + static constexpr double m08_b_6 = -8.492327e+00; + static constexpr double m08_b_7 = -2.486548e+00; + static constexpr double m08_b_8 = -1.822346e+01; + static constexpr double m08_b_9 = 0.000000e+00; + static constexpr double m08_b_10 = 0.000000e+00; + static constexpr double m08_b_11 = 0.000000e+00; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinMN12_L_C : detail::BuiltinKernelImpl< BuiltinMN12_L_C > { + + BuiltinMN12_L_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN12_L_C >(p) { } + + virtual ~BuiltinMN12_L_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn12_l_x.hpp b/include/exchcxx/impl/builtin/kernels/mn12_l_x.hpp new file mode 100644 index 0000000..41311b3 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn12_l_x.hpp @@ -0,0 +1,5646 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN12_L_X > : + public mgga_screening_interface< BuiltinMN12_L_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_0 = 6.735981e-01; + static constexpr double c_1 = -2.270598e+00; + static constexpr double c_2 = -2.613712e+00; + static constexpr double c_3 = 3.993609e+00; + static constexpr double c_4 = 4.635575e+00; + static constexpr double c_5 = 1.250676e+00; + static constexpr double c_6 = 8.444920e-01; + static constexpr double c_7 = -1.301173e+01; + static constexpr double c_8 = -1.777730e+01; + static constexpr double c_9 = -4.627211e+00; + static constexpr double c_10 = 5.976605e+00; + static constexpr double c_11 = 1.142897e+00; + static constexpr double c_12 = -2.040226e+01; + static constexpr double c_13 = -2.382843e+01; + static constexpr double c_14 = 7.119109e+00; + static constexpr double c_15 = -2.335726e+01; + static constexpr double c_16 = -1.622633e+01; + static constexpr double c_17 = 1.482732e+01; + static constexpr double c_18 = 1.449285e+00; + static constexpr double c_19 = 1.020598e+01; + static constexpr double c_20 = 4.407450e+00; + static constexpr double c_21 = -2.008193e+01; + static constexpr double c_22 = -1.253561e+01; + static constexpr double c_23 = -5.435031e+00; + static constexpr double c_24 = 1.656736e+01; + static constexpr double c_25 = 2.000229e+01; + static constexpr double c_26 = -2.513105e+00; + static constexpr double c_27 = 9.658436e+00; + static constexpr double c_28 = -3.825281e+00; + static constexpr double c_29 = -2.500000e+01; + static constexpr double c_30 = -2.070080e+00; + static constexpr double c_31 = -9.951913e+00; + static constexpr double c_32 = 8.731211e-01; + static constexpr double c_33 = 2.210891e+01; + static constexpr double c_34 = 8.822633e+00; + static constexpr double c_35 = 2.499949e+01; + static constexpr double c_36 = 2.500000e+01; + static constexpr double c_37 = 6.851693e-01; + static constexpr double c_38 = -7.406948e-02; + static constexpr double c_39 = -6.788000e-01; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + + + eps = 0.2e1 * t229; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + + + eps = 0.2e1 * t229; + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + + + eps = t234 + t396; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + + + eps = t234 + t396; + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinMN12_L_X : detail::BuiltinKernelImpl< BuiltinMN12_L_X > { + + BuiltinMN12_L_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN12_L_X >(p) { } + + virtual ~BuiltinMN12_L_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn12_sx_c.hpp b/include/exchcxx/impl/builtin/kernels/mn12_sx_c.hpp new file mode 100644 index 0000000..d4b2d6e --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn12_sx_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN12_SX_C > : + public mgga_screening_interface< BuiltinMN12_SX_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 7.171161e-01; + static constexpr double m08_a_1 = -2.380914e+00; + static constexpr double m08_a_2 = 5.793565e+00; + static constexpr double m08_a_3 = -1.243624e+00; + static constexpr double m08_a_4 = 1.364920e+01; + static constexpr double m08_a_5 = -2.110812e+01; + static constexpr double m08_a_6 = -1.598767e+01; + static constexpr double m08_a_7 = 1.429208e+01; + static constexpr double m08_a_8 = 6.149191e+00; + static constexpr double m08_a_9 = 0.000000e+00; + static constexpr double m08_a_10 = 0.000000e+00; + static constexpr double m08_a_11 = 0.000000e+00; + static constexpr double m08_b_0 = 4.663699e-01; + static constexpr double m08_b_1 = -9.110685e+00; + static constexpr double m08_b_2 = 8.705051e+00; + static constexpr double m08_b_3 = -1.813949e+00; + static constexpr double m08_b_4 = -4.147211e-01; + static constexpr double m08_b_5 = -1.021527e+01; + static constexpr double m08_b_6 = 8.240270e-01; + static constexpr double m08_b_7 = 4.993815e+00; + static constexpr double m08_b_8 = -2.563930e+01; + static constexpr double m08_b_9 = 0.000000e+00; + static constexpr double m08_b_10 = 0.000000e+00; + static constexpr double m08_b_11 = 0.000000e+00; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinMN12_SX_C : detail::BuiltinKernelImpl< BuiltinMN12_SX_C > { + + BuiltinMN12_SX_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN12_SX_C >(p) { } + + virtual ~BuiltinMN12_SX_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn12_sx_x.hpp b/include/exchcxx/impl/builtin/kernels/mn12_sx_x.hpp new file mode 100644 index 0000000..4a96541 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn12_sx_x.hpp @@ -0,0 +1,5649 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN12_SX_X > : + public mgga_screening_interface< BuiltinMN12_SX_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_0 = 5.226556e-01; + static constexpr double c_1 = -2.681208e-01; + static constexpr double c_2 = -4.670705e+00; + static constexpr double c_3 = 3.067320e+00; + static constexpr double c_4 = 4.095370e+00; + static constexpr double c_5 = 2.653023e+00; + static constexpr double c_6 = 5.165969e-01; + static constexpr double c_7 = -2.035442e+01; + static constexpr double c_8 = -9.946472e+00; + static constexpr double c_9 = 2.938637e+00; + static constexpr double c_10 = 1.131100e+01; + static constexpr double c_11 = 4.752452e+00; + static constexpr double c_12 = -3.061331e+00; + static constexpr double c_13 = -2.523173e+01; + static constexpr double c_14 = 1.710903e+01; + static constexpr double c_15 = -2.357480e+01; + static constexpr double c_16 = -2.727754e+01; + static constexpr double c_17 = 1.603291e+01; + static constexpr double c_18 = 1.842503e+00; + static constexpr double c_19 = 1.927120e+00; + static constexpr double c_20 = 1.107987e+01; + static constexpr double c_21 = -1.182087e+01; + static constexpr double c_22 = -1.117768e+01; + static constexpr double c_23 = -5.821000e+00; + static constexpr double c_24 = 2.266545e+01; + static constexpr double c_25 = 8.246708e+00; + static constexpr double c_26 = -4.778364e+00; + static constexpr double c_27 = 5.329122e-01; + static constexpr double c_28 = -6.666755e+00; + static constexpr double c_29 = 1.671429e+00; + static constexpr double c_30 = -3.311409e+00; + static constexpr double c_31 = 3.415913e-01; + static constexpr double c_32 = -6.413076e+00; + static constexpr double c_33 = 1.038584e+01; + static constexpr double c_34 = 9.026277e+00; + static constexpr double c_35 = 1.929689e+01; + static constexpr double c_36 = 2.669232e+01; + static constexpr double c_37 = 1.517278e+00; + static constexpr double c_38 = -3.442503e+00; + static constexpr double c_39 = 1.100161e+00; + static constexpr double ax = 0.0; + static constexpr double sx = 0.25; + static constexpr double omega = 0.11; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + + + eps = 0.2e1 * t229; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + + + eps = 0.2e1 * t229; + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + + + eps = t234 + t396; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + + + eps = t234 + t396; + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinMN12_SX_X : detail::BuiltinKernelImpl< BuiltinMN12_SX_X > { + + BuiltinMN12_SX_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN12_SX_X >(p) { } + + virtual ~BuiltinMN12_SX_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn15_c.hpp b/include/exchcxx/impl/builtin/kernels/mn15_c.hpp new file mode 100644 index 0000000..f4473d5 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn15_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN15_C > : + public mgga_screening_interface< BuiltinMN15_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 1.093250748; + static constexpr double m08_a_1 = -0.269735037; + static constexpr double m08_a_2 = 6.368997613; + static constexpr double m08_a_3 = -0.245337101; + static constexpr double m08_a_4 = -1.587103441; + static constexpr double m08_a_5 = 0.124698862; + static constexpr double m08_a_6 = 1.605819855; + static constexpr double m08_a_7 = 0.466206031; + static constexpr double m08_a_8 = 3.484978654; + static constexpr double m08_a_9 = 0.0; + static constexpr double m08_a_10 = 0.0; + static constexpr double m08_a_11 = 0.0; + static constexpr double m08_b_0 = 1.427424993; + static constexpr double m08_b_1 = -3.57883682; + static constexpr double m08_b_2 = 7.398727547; + static constexpr double m08_b_3 = 3.927810559; + static constexpr double m08_b_4 = 2.789804639; + static constexpr double m08_b_5 = 4.988320462; + static constexpr double m08_b_6 = 3.079464318; + static constexpr double m08_b_7 = 3.521636859; + static constexpr double m08_b_8 = 4.769671992; + static constexpr double m08_b_9 = 0.0; + static constexpr double m08_b_10 = 0.0; + static constexpr double m08_b_11 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinMN15_C : detail::BuiltinKernelImpl< BuiltinMN15_C > { + + BuiltinMN15_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN15_C >(p) { } + + virtual ~BuiltinMN15_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn15_l_c.hpp b/include/exchcxx/impl/builtin/kernels/mn15_l_c.hpp new file mode 100644 index 0000000..89bc2ad --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn15_l_c.hpp @@ -0,0 +1,5773 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN15_L_C > : + public mgga_screening_interface< BuiltinMN15_L_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double m08_a_0 = 0.952058087; + static constexpr double m08_a_1 = -0.756954364; + static constexpr double m08_a_2 = 5.677396094; + static constexpr double m08_a_3 = -5.017104782; + static constexpr double m08_a_4 = -5.10654071; + static constexpr double m08_a_5 = -4.812053335; + static constexpr double m08_a_6 = 3.397640087; + static constexpr double m08_a_7 = 1.980041517; + static constexpr double m08_a_8 = 10.1231046; + static constexpr double m08_a_9 = 0.0; + static constexpr double m08_a_10 = 0.0; + static constexpr double m08_a_11 = 0.0; + static constexpr double m08_b_0 = 0.819504932; + static constexpr double m08_b_1 = -7.689358913; + static constexpr double m08_b_2 = -0.70532663; + static constexpr double m08_b_3 = -0.600096421; + static constexpr double m08_b_4 = 11.03332527; + static constexpr double m08_b_5 = 5.861969337; + static constexpr double m08_b_6 = 8.913865465; + static constexpr double m08_b_7 = 5.74529876; + static constexpr double m08_b_8 = 4.254880837; + static constexpr double m08_b_9 = 0.0; + static constexpr double m08_b_10 = 0.0; + static constexpr double m08_b_11 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + + + eps = t140 + t232; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + + + eps = t140 + t232; + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t85 = constants::m_cbrt_3; + constexpr double t87 = constants::m_cbrt_one_ov_pi; + constexpr double t89 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t24 = m08_a_2; + constexpr double t30 = m08_a_3; + constexpr double t36 = m08_a_4; + constexpr double t42 = m08_a_5; + constexpr double t48 = m08_a_6; + constexpr double t54 = m08_a_7; + constexpr double t60 = m08_a_8; + constexpr double t66 = m08_a_9; + constexpr double t72 = m08_a_10; + constexpr double t78 = m08_a_11; + constexpr double t88 = t85 * t87; + constexpr double t90 = t89 * t89; + constexpr double t101 = t85 * t85; + constexpr double t102 = t87 * t87; + constexpr double t103 = t101 * t102; + constexpr double t142 = m08_b_1; + constexpr double t145 = m08_b_2; + constexpr double t148 = m08_b_3; + constexpr double t151 = m08_b_4; + constexpr double t154 = m08_b_5; + constexpr double t157 = m08_b_6; + constexpr double t160 = m08_b_7; + constexpr double t163 = m08_b_8; + constexpr double t166 = m08_b_9; + constexpr double t169 = m08_b_10; + constexpr double t172 = m08_b_11; + constexpr double t179 = 0.1e1 / t6; + constexpr double t192 = 0.1e1 / t87; + constexpr double t215 = 0.1e1 / t102; + constexpr double t216 = t85 * t215; + constexpr double t217 = t216 * t90; + constexpr double t331 = t87 * t90; + constexpr double t510 = t101 * t192 * t89; + constexpr double t529 = t3 * t12; + constexpr double t599 = t142 * t12; + constexpr double t829 = t88 * t90; + constexpr double t844 = t102 * t89; + constexpr double t1089 = t6 * t6; + constexpr double t1292 = t3 * t11; + constexpr double t1444 = t142 * t11; + constexpr double t1482 = t215 * t90; + constexpr double t1595 = t24 * t11; + constexpr double t1664 = t145 * t11; + + + const double t13 = tau * t12; + const double t14 = safe_math::cbrt( rho ); + const double t15 = t14 * t14; + const double t17 = 0.1e1 / t15 / rho; + const double t18 = t13 * t17; + const double t19 = t10 - t18; + const double t20 = t3 * t19; + const double t21 = t10 + t18; + const double t22 = 0.1e1 / t21; + const double t25 = t19 * t19; + const double t26 = t24 * t25; + const double t27 = t21 * t21; + const double t28 = 0.1e1 / t27; + const double t31 = t25 * t19; + const double t32 = t30 * t31; + const double t33 = t27 * t21; + const double t34 = 0.1e1 / t33; + const double t37 = t25 * t25; + const double t38 = t36 * t37; + const double t39 = t27 * t27; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t19; + const double t44 = t42 * t43; + const double t45 = t39 * t21; + const double t46 = 0.1e1 / t45; + const double t49 = t37 * t25; + const double t50 = t48 * t49; + const double t51 = t39 * t27; + const double t52 = 0.1e1 / t51; + const double t55 = t37 * t31; + const double t56 = t54 * t55; + const double t57 = t39 * t33; + const double t58 = 0.1e1 / t57; + const double t61 = t37 * t37; + const double t62 = t60 * t61; + const double t63 = t39 * t39; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t19; + const double t68 = t66 * t67; + const double t70 = 0.1e1 / t63 / t21; + const double t73 = t61 * t25; + const double t74 = t72 * t73; + const double t76 = 0.1e1 / t63 / t27; + const double t79 = t61 * t31; + const double t80 = t78 * t79; + const double t82 = 0.1e1 / t63 / t33; + const double t84 = t20 * t22 + t26 * t28 + t32 * t34 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + m08_a_0; + const double t93 = t88 * t90 / t14; + const double t95 = 0.1e1 + 0.53425e-1 * t93; + const double t96 = safe_math::sqrt( t93 ); + const double t99 = pow_3_2( t93 ); + const double t106 = t103 * t89 / t15; + const double t108 = 0.379785e1 * t96 + 0.8969e0 * t93 + 0.204775e0 * t99 + 0.123235e0 * t106; + const double t111 = 0.1e1 + 0.16081979498692535067e2 / t108; + const double t112 = safe_math::log( t111 ); + const double t115 = 0.1e1 <= zeta_tol; + const double t116 = safe_math::cbrt( zeta_tol ); + const double t118 = piecewise_functor_3( t115, t116 * zeta_tol, 1.0 ); + const double t124 = ( 0.2e1 * t118 - 0.2e1 ) / ( 0.2e1 * t11 - 0.2e1 ); + const double t126 = 0.1e1 + 0.278125e-1 * t93; + const double t131 = 0.51785e1 * t96 + 0.905775e0 * t93 + 0.1100325e0 * t99 + 0.1241775e0 * t106; + const double t134 = 0.1e1 + 0.29608749977793437516e2 / t131; + const double t135 = safe_math::log( t134 ); + const double t139 = -0.621814e-1 * t95 * t112 + 0.19751673498613801407e-1 * t124 * t126 * t135; + const double t140 = t84 * t139; + const double t143 = t142 * t19; + const double t146 = t145 * t25; + const double t149 = t148 * t31; + const double t152 = t151 * t37; + const double t155 = t154 * t43; + const double t158 = t157 * t49; + const double t161 = t160 * t55; + const double t164 = t163 * t61; + const double t167 = t166 * t67; + const double t170 = t169 * t73; + const double t173 = t172 * t79; + const double t175 = t143 * t22 + t146 * t28 + t149 * t34 + t152 * t40 + t155 * t46 + t158 * t52 + t161 * t58 + t164 * t64 + t167 * t70 + t170 * t76 + t173 * t82 + m08_b_0; + const double t176 = safe_math::log( 0.2e1 ); + const double t177 = 0.1e1 - t176; + const double t178 = t175 * t177; + const double t180 = t116 * t116; + const double t181 = piecewise_functor_3( t115, t180, 1.0 ); + const double t182 = t181 * t181; + const double t183 = t182 * t181; + const double t184 = t179 * t183; + const double t185 = rho * rho; + const double t187 = 0.1e1 / t14 / t185; + const double t190 = 0.1e1 / t182; + const double t194 = t190 * t101 * t192 * t89; + const double t197 = 0.1e1 / t177; + const double t199 = 0.1e1 / t183; + const double t200 = t6 * t199; + const double t202 = safe_math::exp( -t139 * t197 * t200 ); + const double t203 = t202 - 0.1e1; + const double t204 = 0.1e1 / t203; + const double t205 = t197 * t204; + const double t206 = sigma * sigma; + const double t207 = t185 * t185; + const double t209 = 0.1e1 / t15 / t207; + const double t212 = t182 * t182; + const double t213 = 0.1e1 / t212; + const double t214 = t12 * t213; + const double t218 = t214 * t217; + const double t221 = sigma * t187 * t11 * t194 / 0.96e2 + 0.21437009059034868486e-3 * t205 * t206 * t209 * t218; + const double t222 = t221 * t197; + const double t225 = 0.1e1 + 0.65854491829355115987e0 * t205 * t221; + const double t226 = 0.1e1 / t225; + const double t229 = 0.1e1 + 0.65854491829355115987e0 * t222 * t226; + const double t230 = safe_math::log( t229 ); + const double t231 = t184 * t230; + const double t232 = t178 * t231; + const double t233 = t3 * tau; + const double t235 = 0.1e1 / t15 / t185; + const double t237 = t12 * t235 * t22; + const double t240 = t20 * t28; + const double t241 = t13 * t235; + const double t244 = t24 * t19; + const double t245 = t244 * t28; + const double t248 = t26 * t34; + const double t251 = t30 * t25; + const double t252 = t251 * t34; + const double t255 = t32 * t40; + const double t258 = t36 * t31; + const double t259 = t258 * t40; + const double t262 = t38 * t46; + const double t265 = t42 * t37; + const double t266 = t265 * t46; + const double t269 = t44 * t52; + const double t272 = t48 * t43; + const double t273 = t272 * t52; + const double t276 = 0.5e1 / 0.3e1 * t233 * t237 + 0.5e1 / 0.3e1 * t240 * t241 + 0.1e2 / 0.3e1 * t245 * t241 + 0.1e2 / 0.3e1 * t248 * t241 + 0.5e1 * t252 * t241 + 0.5e1 * t255 * t241 + 0.2e2 / 0.3e1 * t259 * t241 + 0.2e2 / 0.3e1 * t262 * t241 + 0.25e2 / 0.3e1 * t266 * t241 + 0.25e2 / 0.3e1 * t269 * t241 + 0.1e2 * t273 * t241; + const double t277 = t50 * t58; + const double t280 = t54 * t49; + const double t281 = t280 * t58; + const double t284 = t56 * t64; + const double t287 = t60 * t55; + const double t288 = t287 * t64; + const double t291 = t62 * t70; + const double t294 = t66 * t61; + const double t295 = t294 * t70; + const double t298 = t68 * t76; + const double t301 = t72 * t67; + const double t302 = t301 * t76; + const double t305 = t74 * t82; + const double t308 = t78 * t73; + const double t309 = t308 * t82; + const double t313 = 0.1e1 / t63 / t39; + const double t314 = t80 * t313; + const double t317 = 0.1e2 * t277 * t241 + 0.35e2 / 0.3e1 * t281 * t241 + 0.35e2 / 0.3e1 * t284 * t241 + 0.4e2 / 0.3e1 * t288 * t241 + 0.4e2 / 0.3e1 * t291 * t241 + 0.15e2 * t295 * t241 + 0.15e2 * t298 * t241 + 0.5e2 / 0.3e1 * t302 * t241 + 0.5e2 / 0.3e1 * t305 * t241 + 0.55e2 / 0.3e1 * t309 * t241 + 0.55e2 / 0.3e1 * t314 * t241; + const double t318 = t276 + t317; + const double t319 = t318 * t139; + const double t321 = 0.1e1 / t14 / rho; + const double t322 = t90 * t321; + const double t326 = t108 * t108; + const double t327 = 0.1e1 / t326; + const double t328 = t95 * t327; + const double t330 = 0.1e1 / t96 * t85; + const double t332 = t331 * t321; + const double t333 = t330 * t332; + const double t335 = t88 * t322; + const double t337 = safe_math::sqrt( t93 ); + const double t338 = t337 * t85; + const double t339 = t338 * t332; + const double t342 = t103 * t89 * t17; + const double t344 = -0.632975e0 * t333 - 0.29896666666666666667e0 * t335 - 0.1023875e0 * t339 - 0.82156666666666666667e-1 * t342; + const double t345 = 0.1e1 / t111; + const double t346 = t344 * t345; + const double t349 = t124 * t85; + const double t354 = t124 * t126; + const double t355 = t131 * t131; + const double t356 = 0.1e1 / t355; + const double t361 = -0.86308333333333333334e0 * t333 - 0.301925e0 * t335 - 0.5501625e-1 * t339 - 0.82785e-1 * t342; + const double t363 = 0.1e1 / t134; + const double t364 = t356 * t361 * t363; + const double t367 = 0.11073470983333333333e-2 * t88 * t322 * t112 + 0.1e1 * t328 * t346 - 0.18311447306006545054e-3 * t349 * t331 * t321 * t135 - 0.5848223622634646207e0 * t354 * t364; + const double t368 = t84 * t367; + const double t369 = t142 * tau; + const double t372 = t143 * t28; + const double t375 = t145 * t19; + const double t376 = t375 * t28; + const double t379 = t146 * t34; + const double t382 = t148 * t25; + const double t383 = t382 * t34; + const double t386 = t149 * t40; + const double t389 = t151 * t31; + const double t390 = t389 * t40; + const double t393 = t152 * t46; + const double t396 = t154 * t37; + const double t397 = t396 * t46; + const double t400 = t155 * t52; + const double t403 = t157 * t43; + const double t404 = t403 * t52; + const double t407 = 0.5e1 / 0.3e1 * t369 * t237 + 0.5e1 / 0.3e1 * t372 * t241 + 0.1e2 / 0.3e1 * t376 * t241 + 0.1e2 / 0.3e1 * t379 * t241 + 0.5e1 * t383 * t241 + 0.5e1 * t386 * t241 + 0.2e2 / 0.3e1 * t390 * t241 + 0.2e2 / 0.3e1 * t393 * t241 + 0.25e2 / 0.3e1 * t397 * t241 + 0.25e2 / 0.3e1 * t400 * t241 + 0.1e2 * t404 * t241; + const double t408 = t158 * t58; + const double t411 = t160 * t49; + const double t412 = t411 * t58; + const double t415 = t161 * t64; + const double t418 = t163 * t55; + const double t419 = t418 * t64; + const double t422 = t164 * t70; + const double t425 = t166 * t61; + const double t426 = t425 * t70; + const double t429 = t167 * t76; + const double t432 = t169 * t67; + const double t433 = t432 * t76; + const double t436 = t170 * t82; + const double t439 = t172 * t73; + const double t440 = t439 * t82; + const double t443 = t173 * t313; + const double t446 = 0.1e2 * t408 * t241 + 0.35e2 / 0.3e1 * t412 * t241 + 0.35e2 / 0.3e1 * t415 * t241 + 0.4e2 / 0.3e1 * t419 * t241 + 0.4e2 / 0.3e1 * t422 * t241 + 0.15e2 * t426 * t241 + 0.15e2 * t429 * t241 + 0.5e2 / 0.3e1 * t433 * t241 + 0.5e2 / 0.3e1 * t436 * t241 + 0.55e2 / 0.3e1 * t440 * t241 + 0.55e2 / 0.3e1 * t443 * t241; + const double t447 = t407 + t446; + const double t448 = t447 * t177; + const double t449 = t448 * t231; + const double t450 = t178 * t179; + const double t451 = t185 * rho; + const double t453 = 0.1e1 / t14 / t451; + const double t458 = t177 * t177; + const double t459 = 0.1e1 / t458; + const double t460 = t203 * t203; + const double t461 = 0.1e1 / t460; + const double t462 = t459 * t461; + const double t463 = t462 * t206; + const double t464 = t209 * t12; + const double t466 = 0.1e1 / t212 / t183; + const double t467 = t464 * t466; + const double t468 = t463 * t467; + const double t469 = t367 * t6; + const double t470 = t469 * t202; + const double t471 = t217 * t470; + const double t474 = t207 * rho; + const double t476 = 0.1e1 / t15 / t474; + const double t481 = -0.7e1 / 0.288e3 * sigma * t453 * t11 * t194 + 0.21437009059034868486e-3 * t468 * t471 - 0.10003937560882938627e-2 * t205 * t206 * t476 * t218; + const double t482 = t481 * t197; + const double t485 = t225 * t225; + const double t486 = 0.1e1 / t485; + const double t487 = t462 * t221; + const double t488 = t199 * t202; + const double t489 = t469 * t488; + const double t494 = 0.65854491829355115987e0 * t487 * t489 + 0.65854491829355115987e0 * t205 * t481; + const double t495 = t486 * t494; + const double t498 = 0.65854491829355115987e0 * t482 * t226 - 0.65854491829355115987e0 * t222 * t495; + const double t500 = 0.1e1 / t229; + const double t501 = t183 * t498 * t500; + const double t502 = t450 * t501; + const double t505 = rho * t175; + const double t506 = t505 * t177; + const double t517 = t187 * t11 * t190 * t510 / 0.96e2 + 0.42874018118069736972e-3 * t205 * sigma * t209 * t218; + const double t518 = t517 * t197; + const double t521 = t221 * t459; + const double t522 = t486 * t204; + const double t523 = t522 * t517; + const double t526 = 0.65854491829355115987e0 * t518 * t226 - 0.4336814094102599731e0 * t521 * t523; + const double t528 = t184 * t526 * t500; + const double t530 = t17 * t22; + const double t532 = t28 * t12; + const double t533 = t532 * t17; + const double t537 = t34 * t12; + const double t538 = t537 * t17; + const double t543 = t40 * t12; + const double t544 = t543 * t17; + const double t549 = t46 * t12; + const double t550 = t549 * t17; + const double t555 = t52 * t12; + const double t556 = t555 * t17; + const double t561 = -t20 * t533 - 0.2e1 * t244 * t533 - 0.3e1 * t251 * t538 - 0.4e1 * t258 * t544 - 0.2e1 * t26 * t538 - 0.5e1 * t265 * t550 - 0.6e1 * t272 * t556 - 0.3e1 * t32 * t544 - 0.4e1 * t38 * t550 - 0.5e1 * t44 * t556 - t529 * t530; + const double t562 = t58 * t12; + const double t563 = t562 * t17; + const double t568 = t64 * t12; + const double t569 = t568 * t17; + const double t574 = t70 * t12; + const double t575 = t574 * t17; + const double t580 = t76 * t12; + const double t581 = t580 * t17; + const double t586 = t82 * t12; + const double t587 = t586 * t17; + const double t592 = t313 * t12; + const double t593 = t592 * t17; + const double t596 = -0.7e1 * t280 * t563 - 0.8e1 * t287 * t569 - 0.9e1 * t294 * t575 - 0.1e2 * t301 * t581 - 0.11e2 * t308 * t587 - 0.6e1 * t50 * t563 - 0.7e1 * t56 * t569 - 0.8e1 * t62 * t575 - 0.9e1 * t68 * t581 - 0.1e2 * t74 * t587 - 0.11e2 * t80 * t593; + const double t597 = t561 + t596; + const double t598 = t597 * t139; + const double t620 = -t143 * t533 - 0.2e1 * t146 * t538 - 0.3e1 * t149 * t544 - 0.4e1 * t152 * t550 - 0.5e1 * t155 * t556 - 0.2e1 * t375 * t533 - 0.3e1 * t382 * t538 - 0.4e1 * t389 * t544 - 0.5e1 * t396 * t550 - 0.6e1 * t403 * t556 - t599 * t530; + const double t643 = -0.6e1 * t158 * t563 - 0.7e1 * t161 * t569 - 0.8e1 * t164 * t575 - 0.9e1 * t167 * t581 - 0.1e2 * t170 * t587 - 0.11e2 * t173 * t593 - 0.7e1 * t411 * t563 - 0.8e1 * t418 * t569 - 0.9e1 * t425 * t575 - 0.1e2 * t432 * t581 - 0.11e2 * t439 * t587; + const double t644 = t620 + t643; + const double t645 = t644 * t177; + const double t646 = t645 * t231; + const double t652 = tau * tau; + const double t653 = t3 * t652; + const double t655 = 0.1e1 / t14 / t474; + const double t656 = t11 * t655; + const double t657 = t656 * t28; + const double t660 = t24 * t652; + const double t664 = 0.1e1 / t15 / t451; + const double t666 = t12 * t664 * t22; + const double t669 = t74 * t313; + const double t670 = t652 * t11; + const double t671 = t670 * t655; + const double t674 = t78 * t67; + const double t675 = t674 * t82; + const double t678 = t308 * t313; + const double t681 = t32 * t46; + const double t684 = t36 * t25; + const double t685 = t684 * t40; + const double t688 = t258 * t46; + const double t691 = t38 * t52; + const double t694 = t42 * t31; + const double t695 = t694 * t46; + const double t698 = t265 * t52; + const double t701 = t44 * t58; + const double t704 = 0.1e3 / 0.9e1 * t653 * t657 + 0.1e3 / 0.9e1 * t660 * t657 - 0.4e2 / 0.9e1 * t233 * t666 + 0.55e4 / 0.9e1 * t669 * t671 + 0.55e4 / 0.9e1 * t675 * t671 + 0.121e5 / 0.9e1 * t678 * t671 + 0.2e3 / 0.3e1 * t681 * t671 + 0.2e3 / 0.3e1 * t685 * t671 + 0.16e4 / 0.9e1 * t688 * t671 + 0.1e4 / 0.9e1 * t691 * t671 + 0.1e4 / 0.9e1 * t695 * t671 + 0.25e4 / 0.9e1 * t698 * t671 + 0.5e3 / 0.3e1 * t701 * t671; + const double t705 = t48 * t37; + const double t706 = t705 * t52; + const double t709 = t272 * t58; + const double t712 = t50 * t64; + const double t715 = t54 * t43; + const double t716 = t715 * t58; + const double t719 = t280 * t64; + const double t722 = t20 * t34; + const double t725 = t244 * t34; + const double t728 = t26 * t40; + const double t731 = t30 * t19; + const double t732 = t731 * t34; + const double t735 = t251 * t40; + const double t738 = t13 * t664; + const double t747 = 0.5e3 / 0.3e1 * t706 * t671 + 0.4e3 * t709 * t671 + 0.7e3 / 0.3e1 * t712 * t671 + 0.7e3 / 0.3e1 * t716 * t671 + 0.49e4 / 0.9e1 * t719 * t671 + 0.1e3 / 0.9e1 * t722 * t671 + 0.4e3 / 0.9e1 * t725 * t671 + 0.1e3 / 0.3e1 * t728 * t671 + 0.1e3 / 0.3e1 * t732 * t671 + 0.1e3 * t735 * t671 - 0.2e3 / 0.9e1 * t269 * t738 - 0.8e2 / 0.3e1 * t273 * t738 - 0.8e2 / 0.3e1 * t277 * t738 - 0.28e3 / 0.9e1 * t281 * t738; + const double t775 = -0.28e3 / 0.9e1 * t284 * t738 - 0.32e3 / 0.9e1 * t288 * t738 - 0.32e3 / 0.9e1 * t291 * t738 - 0.4e2 * t295 * t738 - 0.4e2 * t298 * t738 - 0.4e2 / 0.9e1 * t240 * t738 - 0.8e2 / 0.9e1 * t245 * t738 - 0.8e2 / 0.9e1 * t248 * t738 - 0.4e2 / 0.3e1 * t252 * t738 - 0.4e2 / 0.3e1 * t255 * t738 - 0.16e3 / 0.9e1 * t259 * t738 - 0.16e3 / 0.9e1 * t262 * t738 - 0.2e3 / 0.9e1 * t266 * t738; + const double t777 = 0.1e1 / t63 / t45; + const double t778 = t80 * t777; + const double t781 = t56 * t70; + const double t784 = t60 * t49; + const double t785 = t784 * t64; + const double t788 = t287 * t70; + const double t791 = t62 * t76; + const double t794 = t66 * t55; + const double t795 = t794 * t70; + const double t798 = t294 * t76; + const double t801 = t68 * t82; + const double t804 = t72 * t61; + const double t805 = t804 * t76; + const double t808 = t301 * t82; + const double t819 = 0.22e4 / 0.3e1 * t778 * t671 + 0.28e4 / 0.9e1 * t781 * t671 + 0.28e4 / 0.9e1 * t785 * t671 + 0.64e4 / 0.9e1 * t788 * t671 + 0.4e3 * t791 * t671 + 0.4e3 * t795 * t671 + 0.9e3 * t798 * t671 + 0.5e3 * t801 * t671 + 0.5e3 * t805 * t671 + 0.1e5 / 0.9e1 * t808 * t671 - 0.4e3 / 0.9e1 * t302 * t738 - 0.4e3 / 0.9e1 * t305 * t738 - 0.44e3 / 0.9e1 * t309 * t738 - 0.44e3 / 0.9e1 * t314 * t738; + const double t821 = t704 + t747 + t775 + t819; + const double t822 = t821 * t139; + const double t823 = t318 * t367; + const double t825 = t90 * t187; + const double t830 = t321 * t327; + const double t834 = t326 * t108; + const double t835 = 0.1e1 / t834; + const double t836 = t95 * t835; + const double t837 = t344 * t344; + const double t838 = t837 * t345; + const double t843 = 0.1e1 / t96 / t93 * t101; + const double t845 = t844 * t235; + const double t846 = t843 * t845; + const double t848 = t331 * t187; + const double t849 = t330 * t848; + const double t851 = t88 * t825; + const double t853 = 0.1e1/safe_math::sqrt( t93 ); + const double t854 = t853 * t101; + const double t855 = t854 * t845; + const double t857 = t338 * t848; + const double t860 = t103 * t89 * t235; + const double t862 = -0.42198333333333333333e0 * t846 + 0.84396666666666666666e0 * t849 + 0.39862222222222222223e0 * t851 + 0.68258333333333333333e-1 * t855 + 0.13651666666666666667e0 * t857 + 0.13692777777777777778e0 * t860; + const double t863 = t862 * t345; + const double t866 = t326 * t326; + const double t867 = 0.1e1 / t866; + const double t868 = t95 * t867; + const double t869 = t111 * t111; + const double t870 = 0.1e1 / t869; + const double t871 = t837 * t870; + const double t878 = t124 * t88; + const double t882 = t355 * t131; + const double t883 = 0.1e1 / t882; + const double t884 = t361 * t361; + const double t886 = t883 * t884 * t363; + const double t895 = -0.57538888888888888889e0 * t846 + 0.11507777777777777778e1 * t849 + 0.40256666666666666667e0 * t851 + 0.366775e-1 * t855 + 0.73355e-1 * t857 + 0.137975e0 * t860; + const double t897 = t356 * t895 * t363; + const double t900 = t355 * t355; + const double t901 = 0.1e1 / t900; + const double t902 = t901 * t884; + const double t903 = t134 * t134; + const double t904 = 0.1e1 / t903; + const double t905 = t902 * t904; + const double t908 = -0.14764627977777777777e-2 * t88 * t825 * t112 - 0.35616666666666666666e-1 * t829 * t830 * t346 - 0.2e1 * t836 * t838 + 0.1e1 * t328 * t863 + 0.16081979498692535067e2 * t868 * t871 + 0.24415263074675393405e-3 * t349 * t331 * t187 * t135 + 0.10843581300301739842e-1 * t878 * t322 * t364 + 0.11696447245269292414e1 * t354 * t886 - 0.5848223622634646207e0 * t354 * t897 - 0.17315859105681463759e2 * t354 * t905; + const double t909 = t84 * t908; + const double t912 = t142 * t652; + const double t915 = t145 * t652; + const double t938 = -0.4e2 / 0.9e1 * t369 * t666 + 0.1e3 / 0.9e1 * t912 * t657 + 0.1e3 / 0.9e1 * t915 * t657 - 0.28e3 / 0.9e1 * t415 * t738 - 0.32e3 / 0.9e1 * t419 * t738 - 0.32e3 / 0.9e1 * t422 * t738 - 0.4e2 * t426 * t738 - 0.4e2 / 0.9e1 * t372 * t738 - 0.8e2 / 0.9e1 * t376 * t738 - 0.8e2 / 0.9e1 * t379 * t738 - 0.4e2 / 0.3e1 * t383 * t738 - 0.4e2 / 0.3e1 * t386 * t738 - 0.16e3 / 0.9e1 * t390 * t738; + const double t943 = t170 * t313; + const double t946 = t172 * t67; + const double t947 = t946 * t82; + const double t950 = t439 * t313; + const double t953 = t173 * t777; + const double t956 = t154 * t31; + const double t957 = t956 * t46; + const double t960 = t396 * t52; + const double t963 = t155 * t58; + const double t966 = t157 * t37; + const double t967 = t966 * t52; + const double t970 = t403 * t58; + const double t973 = t158 * t64; + const double t976 = t160 * t43; + const double t977 = t976 * t58; + const double t980 = t411 * t64; + const double t983 = -0.16e3 / 0.9e1 * t393 * t738 - 0.2e3 / 0.9e1 * t397 * t738 + 0.55e4 / 0.9e1 * t943 * t671 + 0.55e4 / 0.9e1 * t947 * t671 + 0.121e5 / 0.9e1 * t950 * t671 + 0.22e4 / 0.3e1 * t953 * t671 + 0.1e4 / 0.9e1 * t957 * t671 + 0.25e4 / 0.9e1 * t960 * t671 + 0.5e3 / 0.3e1 * t963 * t671 + 0.5e3 / 0.3e1 * t967 * t671 + 0.4e3 * t970 * t671 + 0.7e3 / 0.3e1 * t973 * t671 + 0.7e3 / 0.3e1 * t977 * t671 + 0.49e4 / 0.9e1 * t980 * t671; + const double t985 = t161 * t70; + const double t988 = t163 * t49; + const double t989 = t988 * t64; + const double t992 = t418 * t70; + const double t995 = t164 * t76; + const double t998 = t143 * t34; + const double t1001 = t375 * t34; + const double t1004 = t146 * t40; + const double t1007 = t148 * t19; + const double t1008 = t1007 * t34; + const double t1011 = t382 * t40; + const double t1014 = t149 * t46; + const double t1017 = t151 * t25; + const double t1018 = t1017 * t40; + const double t1021 = t389 * t46; + const double t1024 = t152 * t52; + const double t1027 = 0.28e4 / 0.9e1 * t985 * t671 + 0.28e4 / 0.9e1 * t989 * t671 + 0.64e4 / 0.9e1 * t992 * t671 + 0.4e3 * t995 * t671 + 0.1e3 / 0.9e1 * t998 * t671 + 0.4e3 / 0.9e1 * t1001 * t671 + 0.1e3 / 0.3e1 * t1004 * t671 + 0.1e3 / 0.3e1 * t1008 * t671 + 0.1e3 * t1011 * t671 + 0.2e3 / 0.3e1 * t1014 * t671 + 0.2e3 / 0.3e1 * t1018 * t671 + 0.16e4 / 0.9e1 * t1021 * t671 + 0.1e4 / 0.9e1 * t1024 * t671; + const double t1046 = t166 * t55; + const double t1047 = t1046 * t70; + const double t1050 = t425 * t76; + const double t1053 = t167 * t82; + const double t1056 = t169 * t61; + const double t1057 = t1056 * t76; + const double t1060 = t432 * t82; + const double t1063 = -0.4e2 * t429 * t738 - 0.4e3 / 0.9e1 * t433 * t738 - 0.4e3 / 0.9e1 * t436 * t738 - 0.44e3 / 0.9e1 * t440 * t738 - 0.44e3 / 0.9e1 * t443 * t738 - 0.2e3 / 0.9e1 * t400 * t738 - 0.8e2 / 0.3e1 * t404 * t738 - 0.8e2 / 0.3e1 * t408 * t738 - 0.28e3 / 0.9e1 * t412 * t738 + 0.4e3 * t1047 * t671 + 0.9e3 * t1050 * t671 + 0.5e3 * t1053 * t671 + 0.5e3 * t1057 * t671 + 0.1e5 / 0.9e1 * t1060 * t671; + const double t1065 = t938 + t983 + t1027 + t1063; + const double t1066 = t1065 * t177; + const double t1067 = t1066 * t231; + const double t1068 = t448 * t179; + const double t1069 = t1068 * t501; + const double t1072 = 0.1e1 / t14 / t207; + const double t1078 = 0.1e1 / t458 / t177; + const double t1080 = 0.1e1 / t460 / t203; + const double t1081 = t1078 * t1080; + const double t1082 = t1081 * t206; + const double t1083 = t212 * t212; + const double t1085 = 0.1e1 / t1083 / t182; + const double t1086 = t464 * t1085; + const double t1087 = t1082 * t1086; + const double t1088 = t367 * t367; + const double t1090 = t1088 * t1089; + const double t1091 = t202 * t202; + const double t1092 = t1090 * t1091; + const double t1093 = t217 * t1092; + const double t1096 = t476 * t12; + const double t1097 = t1096 * t466; + const double t1098 = t463 * t1097; + const double t1101 = t908 * t6; + const double t1102 = t1101 * t202; + const double t1103 = t217 * t1102; + const double t1106 = t1078 * t461; + const double t1107 = t1106 * t206; + const double t1108 = t1107 * t1086; + const double t1109 = t1090 * t202; + const double t1110 = t217 * t1109; + const double t1113 = t207 * t185; + const double t1115 = 0.1e1 / t15 / t1113; + const double t1120 = 0.35e2 / 0.432e3 * sigma * t1072 * t11 * t194 + 0.42874018118069736972e-3 * t1087 * t1093 - 0.20007875121765877254e-2 * t1098 * t471 + 0.21437009059034868486e-3 * t468 * t1103 - 0.21437009059034868486e-3 * t1108 * t1110 + 0.56688979511669985553e-2 * t205 * t206 * t1115 * t218; + const double t1121 = t1120 * t197; + const double t1127 = 0.1e1 / t485 / t225; + const double t1128 = t494 * t494; + const double t1129 = t1127 * t1128; + const double t1132 = t1081 * t221; + const double t1134 = 0.1e1 / t212 / t182; + const double t1135 = t1134 * t1091; + const double t1136 = t1090 * t1135; + const double t1139 = t462 * t481; + const double t1142 = t1101 * t488; + const double t1145 = t1106 * t221; + const double t1146 = t1134 * t202; + const double t1147 = t1090 * t1146; + const double t1152 = 0.13170898365871023197e1 * t1132 * t1136 + 0.13170898365871023197e1 * t1139 * t489 + 0.65854491829355115987e0 * t487 * t1142 - 0.65854491829355115987e0 * t1145 * t1147 + 0.65854491829355115987e0 * t205 * t1120; + const double t1153 = t486 * t1152; + const double t1156 = 0.65854491829355115987e0 * t1121 * t226 - 0.13170898365871023197e1 * t482 * t495 + 0.13170898365871023197e1 * t222 * t1129 - 0.65854491829355115987e0 * t222 * t1153; + const double t1157 = t183 * t1156; + const double t1158 = t1157 * t500; + const double t1159 = t450 * t1158; + const double t1160 = t498 * t498; + const double t1162 = t229 * t229; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t183 * t1160 * t1163; + const double t1165 = t450 * t1164; + const double t1168 = t183 * t526; + const double t1169 = t1168 * t500; + const double t1171 = rho * t447; + const double t1172 = t1171 * t177; + const double t1178 = t462 * sigma; + const double t1179 = t1178 * t467; + const double t1186 = -0.7e1 / 0.288e3 * t453 * t11 * t190 * t510 + 0.42874018118069736972e-3 * t1179 * t471 - 0.20007875121765877254e-2 * t205 * sigma * t476 * t218; + const double t1187 = t1186 * t197; + const double t1192 = t481 * t459; + const double t1195 = t521 * t1127; + const double t1196 = t204 * t517; + const double t1197 = t1196 * t494; + const double t1200 = t221 * t1078; + const double t1201 = t486 * t461; + const double t1202 = t1200 * t1201; + const double t1203 = t517 * t367; + const double t1204 = t200 * t202; + const double t1205 = t1203 * t1204; + const double t1208 = t522 * t1186; + const double t1211 = 0.65854491829355115987e0 * t1187 * t226 - 0.65854491829355115987e0 * t518 * t495 - 0.4336814094102599731e0 * t1192 * t523 + 0.8673628188205199462e0 * t1195 * t1197 - 0.4336814094102599731e0 * t1202 * t1205 - 0.4336814094102599731e0 * t521 * t1208; + const double t1213 = t184 * t1211 * t500; + const double t1215 = t177 * t179; + const double t1216 = t505 * t1215; + const double t1217 = t1163 * t498; + const double t1218 = t1168 * t1217; + const double t1220 = t11 * t1072; + const double t1221 = t1220 * tau; + const double t1248 = -0.2e3 / 0.3e1 * t695 * t1221 - 0.5e3 / 0.3e1 * t698 * t1221 - 0.1e3 * t701 * t1221 - 0.2e2 / 0.3e1 * t722 * t1221 - 0.8e2 / 0.3e1 * t725 * t1221 - 0.2e2 * t728 * t1221 - 0.3e3 * t805 * t1221 - 0.2e4 / 0.3e1 * t808 * t1221 - 0.11e4 / 0.3e1 * t669 * t1221 - 0.11e4 / 0.3e1 * t675 * t1221 - 0.242e4 / 0.3e1 * t678 * t1221 - 0.44e3 * t778 * t1221 - 0.1e3 * t706 * t1221; + const double t1277 = -0.24e3 * t709 * t1221 - 0.14e3 * t712 * t1221 - 0.14e3 * t716 * t1221 - 0.98e3 / 0.3e1 * t719 * t1221 - 0.56e3 / 0.3e1 * t781 * t1221 - 0.56e3 / 0.3e1 * t785 * t1221 - 0.128e4 / 0.3e1 * t788 * t1221 - 0.24e3 * t791 * t1221 - 0.24e3 * t795 * t1221 - 0.54e3 * t798 * t1221 - 0.2e2 * t732 * t1221 - 0.6e2 * t735 * t1221 - 0.4e2 * t681 * t1221 - 0.4e2 * t685 * t1221; + const double t1285 = t235 * t22; + const double t1288 = t24 * tau; + const double t1289 = t1220 * t28; + const double t1293 = t1072 * t28; + const double t1294 = t1293 * tau; + const double t1297 = t580 * t235; + const double t1302 = t586 * t235; + const double t1307 = t592 * t235; + const double t1310 = t562 * t235; + const double t1315 = -0.32e3 / 0.3e1 * t688 * t1221 - 0.2e3 / 0.3e1 * t691 * t1221 - 0.3e3 * t801 * t1221 + 0.5e1 / 0.3e1 * t529 * t1285 - 0.2e2 / 0.3e1 * t1288 * t1289 - 0.2e2 / 0.3e1 * t1292 * t1294 + 0.15e2 * t68 * t1297 + 0.5e2 / 0.3e1 * t301 * t1297 + 0.5e2 / 0.3e1 * t74 * t1302 + 0.55e2 / 0.3e1 * t308 * t1302 + 0.55e2 / 0.3e1 * t80 * t1307 + 0.1e2 * t50 * t1310 + 0.35e2 / 0.3e1 * t280 * t1310; + const double t1316 = t568 * t235; + const double t1321 = t574 * t235; + const double t1326 = t537 * t235; + const double t1329 = t543 * t235; + const double t1334 = t549 * t235; + const double t1339 = t555 * t235; + const double t1344 = t532 * t235; + const double t1351 = 0.35e2 / 0.3e1 * t56 * t1316 + 0.4e2 / 0.3e1 * t287 * t1316 + 0.4e2 / 0.3e1 * t62 * t1321 + 0.15e2 * t294 * t1321 + 0.5e1 * t251 * t1326 + 0.5e1 * t32 * t1329 + 0.2e2 / 0.3e1 * t258 * t1329 + 0.2e2 / 0.3e1 * t38 * t1334 + 0.25e2 / 0.3e1 * t265 * t1334 + 0.25e2 / 0.3e1 * t44 * t1339 + 0.1e2 * t272 * t1339 + 0.5e1 / 0.3e1 * t20 * t1344 + 0.1e2 / 0.3e1 * t244 * t1344 + 0.1e2 / 0.3e1 * t26 * t1326; + const double t1353 = t1248 + t1277 + t1315 + t1351; + const double t1354 = t1353 * t139; + const double t1355 = t597 * t367; + const double t1382 = -0.4e2 * t1014 * t1221 - 0.4e2 * t1018 * t1221 - 0.32e3 / 0.3e1 * t1021 * t1221 - 0.2e3 / 0.3e1 * t1024 * t1221 - 0.2e3 / 0.3e1 * t957 * t1221 - 0.5e3 / 0.3e1 * t960 * t1221 - 0.1e3 * t963 * t1221 - 0.1e3 * t967 * t1221 - 0.24e3 * t970 * t1221 - 0.14e3 * t973 * t1221 - 0.14e3 * t977 * t1221 - 0.98e3 / 0.3e1 * t980 * t1221 - 0.2e2 / 0.3e1 * t998 * t1221; + const double t1411 = -0.8e2 / 0.3e1 * t1001 * t1221 - 0.2e2 * t1004 * t1221 - 0.2e2 * t1008 * t1221 - 0.6e2 * t1011 * t1221 - 0.11e4 / 0.3e1 * t943 * t1221 - 0.11e4 / 0.3e1 * t947 * t1221 - 0.242e4 / 0.3e1 * t950 * t1221 - 0.44e3 * t953 * t1221 - 0.56e3 / 0.3e1 * t985 * t1221 - 0.56e3 / 0.3e1 * t989 * t1221 - 0.128e4 / 0.3e1 * t992 * t1221 - 0.24e3 * t995 * t1221 - 0.24e3 * t1047 * t1221 - 0.54e3 * t1050 * t1221; + const double t1439 = -0.3e3 * t1053 * t1221 - 0.3e3 * t1057 * t1221 - 0.2e4 / 0.3e1 * t1060 * t1221 + 0.5e1 / 0.3e1 * t599 * t1285 + 0.4e2 / 0.3e1 * t164 * t1321 + 0.15e2 * t425 * t1321 + 0.15e2 * t167 * t1297 + 0.5e2 / 0.3e1 * t432 * t1297 + 0.5e2 / 0.3e1 * t170 * t1302 + 0.2e2 / 0.3e1 * t152 * t1334 + 0.25e2 / 0.3e1 * t396 * t1334 + 0.25e2 / 0.3e1 * t155 * t1339 + 0.1e2 * t403 * t1339; + const double t1447 = t145 * tau; + const double t1470 = 0.1e2 * t158 * t1310 + 0.35e2 / 0.3e1 * t411 * t1310 - 0.2e2 / 0.3e1 * t1444 * t1294 - 0.2e2 / 0.3e1 * t1447 * t1289 + 0.5e1 / 0.3e1 * t143 * t1344 + 0.1e2 / 0.3e1 * t375 * t1344 + 0.1e2 / 0.3e1 * t146 * t1326 + 0.5e1 * t382 * t1326 + 0.5e1 * t149 * t1329 + 0.2e2 / 0.3e1 * t389 * t1329 + 0.55e2 / 0.3e1 * t439 * t1302 + 0.55e2 / 0.3e1 * t173 * t1307 + 0.35e2 / 0.3e1 * t161 * t1316 + 0.4e2 / 0.3e1 * t418 * t1316; + const double t1472 = t1382 + t1411 + t1439 + t1470; + const double t1473 = t1472 * t177; + const double t1474 = t1473 * t231; + const double t1475 = t645 * t179; + const double t1476 = t1475 * t501; + const double t1479 = t459 * t204; + const double t1483 = t1482 * t226; + const double t1484 = t213 * t85 * t1483; + const double t1487 = t517 * t517; + const double t1488 = t1487 * t459; + const double t1491 = t1127 * t461; + const double t1492 = t1491 * t1487; + const double t1495 = t1201 * t209; + const double t1499 = 0.28234466758480466999e-3 * t1479 * t464 * t1484 - 0.8673628188205199462e0 * t1488 * t522 + 0.57119737665102352616e0 * t1200 * t1492 - 0.1859366460452550541e-3 * t1200 * t1495 * t218; + const double t1501 = t184 * t1499 * t500; + const double t1503 = t526 * t526; + const double t1505 = t184 * t1503 * t1163; + const double t1507 = rho * t644; + const double t1508 = t1507 * t177; + const double t1509 = t313 * t11; + const double t1510 = t1509 * t453; + const double t1513 = t34 * t11; + const double t1514 = t1513 * t453; + const double t1519 = t40 * t11; + const double t1520 = t1519 * t453; + const double t1527 = t46 * t11; + const double t1528 = t1527 * t453; + const double t1535 = t52 * t11; + const double t1536 = t1535 * t453; + const double t1539 = t82 * t11; + const double t1540 = t1539 * t453; + const double t1545 = t777 * t11; + const double t1546 = t1545 * t453; + const double t1553 = t58 * t11; + const double t1554 = t1553 * t453; + const double t1557 = 0.484e3 * t308 * t1510 + 0.22e3 * t74 * t1510 + 0.4e1 * t20 * t1514 + 0.16e2 * t244 * t1514 + 0.12e2 * t731 * t1514 + 0.36e2 * t251 * t1520 + 0.12e2 * t26 * t1520 + 0.24e2 * t684 * t1520 + 0.64e2 * t258 * t1528 + 0.24e2 * t32 * t1528 + 0.4e2 * t694 * t1528 + 0.1e3 * t265 * t1536 + 0.4e2 * t38 * t1536 + 0.22e3 * t674 * t1540 + 0.264e3 * t80 * t1546 + 0.6e2 * t44 * t1554; + const double t1562 = t64 * t11; + const double t1563 = t1562 * t453; + const double t1570 = t70 * t11; + const double t1571 = t1570 * t453; + const double t1578 = t76 * t11; + const double t1579 = t1578 * t453; + const double t1592 = t453 * t28; + const double t1598 = 0.4e1 * t1292 * t1592 + 0.6e2 * t705 * t1536 + 0.4e3 * t301 * t1540 + 0.18e3 * t68 * t1540 + 0.144e3 * t272 * t1554 + 0.84e2 * t715 * t1554 + 0.196e3 * t280 * t1563 + 0.84e2 * t50 * t1563 + 0.112e3 * t784 * t1563 + 0.256e3 * t287 * t1571 + 0.112e3 * t56 * t1571 + 0.144e3 * t794 * t1571 + 0.324e3 * t294 * t1579 + 0.144e3 * t62 * t1579 + 0.18e3 * t804 * t1579 + 0.4e1 * t1595 * t1592; + const double t1599 = t1557 + t1598; + const double t1600 = t1599 * t139; + const double t1633 = 0.484e3 * t439 * t1510 + 0.4e2 * t152 * t1536 + 0.64e2 * t389 * t1528 + 0.4e2 * t956 * t1528 + 0.1e3 * t396 * t1536 + 0.6e2 * t966 * t1536 + 0.22e3 * t946 * t1540 + 0.264e3 * t173 * t1546 + 0.6e2 * t155 * t1554 + 0.144e3 * t403 * t1554 + 0.84e2 * t976 * t1554 + 0.84e2 * t158 * t1563 + 0.196e3 * t411 * t1563 + 0.112e3 * t988 * t1563 + 0.112e3 * t161 * t1571 + 0.256e3 * t418 * t1571; + const double t1667 = 0.12e2 * t1007 * t1514 + 0.24e2 * t1017 * t1520 + 0.144e3 * t1046 * t1571 + 0.18e3 * t1056 * t1579 + 0.4e1 * t143 * t1514 + 0.4e1 * t1444 * t1592 + 0.12e2 * t146 * t1520 + 0.24e2 * t149 * t1528 + 0.22e3 * t170 * t1510 + 0.16e2 * t375 * t1514 + 0.36e2 * t382 * t1520 + 0.18e3 * t167 * t1540 + 0.4e3 * t432 * t1540 + 0.144e3 * t164 * t1579 + 0.324e3 * t425 * t1579 + 0.4e1 * t1664 * t1592; + const double t1668 = t1633 + t1667; + const double t1669 = t1668 * t177; + const double t1670 = t1669 * t231; + + + vrho = t140 + t232 + rho * ( t319 + t368 + t449 + t502 ); + vsigma = t506 * t528; + vlapl = 0.e0; + vtau = rho * ( t598 + t646 ); + v2rho2 = 0.2e1 * t319 + 0.2e1 * t368 + 0.2e1 * t449 + 0.2e1 * t502 + rho * ( t822 + 0.2e1 * t823 + t909 + t1067 + 0.2e1 * t1069 + t1159 - t1165 ); + v2rhosigma = t450 * t1169 + t1172 * t528 + t506 * t1213 - t1216 * t1218; + v2rholapl = 0.e0; + v2rhotau = t598 + t646 + rho * ( t1354 + t1355 + t1474 + t1476 ); + v2sigma2 = t506 * t1501 - t506 * t1505; + v2sigmalapl = 0.e0; + v2sigmatau = t1508 * t528; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1600 + t1670 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + + + eps = t192 + t289; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + + + eps = t192 + t289; + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t4 = constants::m_cbrt_6; + constexpr double t6 = constants::m_pi_sq; + constexpr double t7 = constants::m_cbrt_pi_sq; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t107 = constants::m_cbrt_3; + constexpr double t109 = constants::m_cbrt_one_ov_pi; + constexpr double t111 = constants::m_cbrt_4; + constexpr double t3 = m08_a_1; + constexpr double t5 = t4 * t4; + constexpr double t8 = t7 * t7; + constexpr double t10 = 0.3e1 / 0.1e2 * t5 * t8; + constexpr double t12 = t11 * t11; + constexpr double t46 = m08_a_2; + constexpr double t52 = m08_a_3; + constexpr double t58 = m08_a_4; + constexpr double t64 = m08_a_5; + constexpr double t70 = m08_a_6; + constexpr double t76 = m08_a_7; + constexpr double t82 = m08_a_8; + constexpr double t88 = m08_a_9; + constexpr double t94 = m08_a_10; + constexpr double t100 = m08_a_11; + constexpr double t110 = t107 * t109; + constexpr double t112 = t111 * t111; + constexpr double t124 = t107 * t107; + constexpr double t125 = t109 * t109; + constexpr double t126 = t124 * t125; + constexpr double t194 = m08_b_1; + constexpr double t197 = m08_b_2; + constexpr double t200 = m08_b_3; + constexpr double t203 = m08_b_4; + constexpr double t206 = m08_b_5; + constexpr double t209 = m08_b_6; + constexpr double t212 = m08_b_7; + constexpr double t215 = m08_b_8; + constexpr double t218 = m08_b_9; + constexpr double t221 = m08_b_10; + constexpr double t224 = m08_b_11; + constexpr double t231 = 0.1e1 / t6; + constexpr double t250 = 0.1e1 / t109; + constexpr double t251 = t250 * t111; + constexpr double t272 = 0.1e1 / t125; + constexpr double t273 = t107 * t272; + constexpr double t274 = t273 * t112; + constexpr double t290 = t3 * t12; + constexpr double t399 = t109 * t112; + constexpr double t486 = t194 * t12; + constexpr double t568 = t124 * t250; + constexpr double t602 = t272 * t112; + constexpr double t818 = t568 * t111; + constexpr double t1273 = t46 * t11; + constexpr double t1279 = t3 * t11; + constexpr double t1300 = t125 * t111; + constexpr double t1373 = t110 * t112; + constexpr double t1576 = t197 * t11; + constexpr double t1580 = t194 * t11; + + + const double t13 = safe_math::cbrt( rho_a ); + const double t14 = t13 * t13; + const double t16 = 0.1e1 / t14 / rho_a; + const double t17 = tau_a * t16; + const double t18 = rho_a - rho_b; + const double t19 = rho_a + rho_b; + const double t20 = 0.1e1 / t19; + const double t21 = t18 * t20; + const double t22 = 0.1e1 + t21; + const double t23 = t22 / 0.2e1; + const double t24 = safe_math::cbrt( t23 ); + const double t25 = t24 * t24; + const double t26 = t25 * t23; + const double t28 = safe_math::cbrt( rho_b ); + const double t29 = t28 * t28; + const double t31 = 0.1e1 / t29 / rho_b; + const double t32 = tau_b * t31; + const double t33 = 0.1e1 - t21; + const double t34 = t33 / 0.2e1; + const double t35 = safe_math::cbrt( t34 ); + const double t36 = t35 * t35; + const double t37 = t36 * t34; + const double t40 = t12 * ( t17 * t26 + t32 * t37 ); + const double t41 = t10 - t40; + const double t42 = t3 * t41; + const double t43 = t10 + t40; + const double t44 = 0.1e1 / t43; + const double t47 = t41 * t41; + const double t48 = t46 * t47; + const double t49 = t43 * t43; + const double t50 = 0.1e1 / t49; + const double t53 = t47 * t41; + const double t54 = t52 * t53; + const double t55 = t49 * t43; + const double t56 = 0.1e1 / t55; + const double t59 = t47 * t47; + const double t60 = t58 * t59; + const double t61 = t49 * t49; + const double t62 = 0.1e1 / t61; + const double t65 = t59 * t41; + const double t66 = t64 * t65; + const double t67 = t61 * t43; + const double t68 = 0.1e1 / t67; + const double t71 = t59 * t47; + const double t72 = t70 * t71; + const double t73 = t61 * t49; + const double t74 = 0.1e1 / t73; + const double t77 = t59 * t53; + const double t78 = t76 * t77; + const double t79 = t61 * t55; + const double t80 = 0.1e1 / t79; + const double t83 = t59 * t59; + const double t84 = t82 * t83; + const double t85 = t61 * t61; + const double t86 = 0.1e1 / t85; + const double t89 = t83 * t41; + const double t90 = t88 * t89; + const double t92 = 0.1e1 / t85 / t43; + const double t95 = t83 * t47; + const double t96 = t94 * t95; + const double t98 = 0.1e1 / t85 / t49; + const double t101 = t83 * t53; + const double t102 = t100 * t101; + const double t104 = 0.1e1 / t85 / t55; + const double t106 = t102 * t104 + t42 * t44 + t48 * t50 + t54 * t56 + t60 * t62 + t66 * t68 + t72 * t74 + t78 * t80 + t84 * t86 + t90 * t92 + t96 * t98 + m08_a_0; + const double t113 = safe_math::cbrt( t19 ); + const double t116 = t110 * t112 / t113; + const double t118 = 0.1e1 + 0.53425e-1 * t116; + const double t119 = safe_math::sqrt( t116 ); + const double t122 = pow_3_2( t116 ); + const double t127 = t113 * t113; + const double t130 = t126 * t111 / t127; + const double t132 = 0.379785e1 * t119 + 0.8969e0 * t116 + 0.204775e0 * t122 + 0.123235e0 * t130; + const double t135 = 0.1e1 + 0.16081979498692535067e2 / t132; + const double t136 = safe_math::log( t135 ); + const double t138 = 0.621814e-1 * t118 * t136; + const double t139 = t18 * t18; + const double t140 = t139 * t139; + const double t141 = t19 * t19; + const double t142 = t141 * t141; + const double t143 = 0.1e1 / t142; + const double t144 = t140 * t143; + const double t145 = t22 <= zeta_tol; + const double t146 = safe_math::cbrt( zeta_tol ); + const double t147 = t146 * zeta_tol; + const double t148 = safe_math::cbrt( t22 ); + const double t149 = t148 * t22; + const double t150 = piecewise_functor_3( t145, t147, t149 ); + const double t151 = t33 <= zeta_tol; + const double t152 = safe_math::cbrt( t33 ); + const double t153 = t152 * t33; + const double t154 = piecewise_functor_3( t151, t147, t153 ); + const double t155 = t150 + t154 - 0.2e1; + const double t158 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t159 = t155 * t158; + const double t161 = 0.1e1 + 0.5137e-1 * t116; + const double t166 = 0.705945e1 * t119 + 0.1549425e1 * t116 + 0.420775e0 * t122 + 0.1562925e0 * t130; + const double t169 = 0.1e1 + 0.32163958997385070134e2 / t166; + const double t170 = safe_math::log( t169 ); + const double t174 = 0.1e1 + 0.278125e-1 * t116; + const double t179 = 0.51785e1 * t119 + 0.905775e0 * t116 + 0.1100325e0 * t122 + 0.1241775e0 * t130; + const double t182 = 0.1e1 + 0.29608749977793437516e2 / t179; + const double t183 = safe_math::log( t182 ); + const double t184 = t174 * t183; + const double t186 = -0.310907e-1 * t161 * t170 + t138 - 0.19751673498613801407e-1 * t184; + const double t187 = t159 * t186; + const double t191 = -t138 + t144 * t187 + 0.19751673498613801407e-1 * t159 * t184; + const double t192 = t106 * t191; + const double t195 = t194 * t41; + const double t198 = t197 * t47; + const double t201 = t200 * t53; + const double t204 = t203 * t59; + const double t207 = t206 * t65; + const double t210 = t209 * t71; + const double t213 = t212 * t77; + const double t216 = t215 * t83; + const double t219 = t218 * t89; + const double t222 = t221 * t95; + const double t225 = t224 * t101; + const double t227 = t225 * t104 + t195 * t44 + t198 * t50 + t201 * t56 + t204 * t62 + t207 * t68 + t210 * t74 + t213 * t80 + t216 * t86 + t219 * t92 + t222 * t98 + m08_b_0; + const double t228 = safe_math::log( 0.2e1 ); + const double t229 = 0.1e1 - t228; + const double t230 = t227 * t229; + const double t232 = t146 * t146; + const double t233 = t148 * t148; + const double t234 = piecewise_functor_3( t145, t232, t233 ); + const double t235 = t152 * t152; + const double t236 = piecewise_functor_3( t151, t232, t235 ); + const double t238 = t234 / 0.2e1 + t236 / 0.2e1; + const double t239 = t238 * t238; + const double t240 = t239 * t238; + const double t241 = t231 * t240; + const double t243 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t245 = 0.1e1 / t113 / t141; + const double t246 = t243 * t245; + const double t248 = 0.1e1 / t239; + const double t252 = t248 * t124 * t251; + const double t255 = 0.1e1 / t229; + const double t256 = t191 * t255; + const double t257 = 0.1e1 / t240; + const double t258 = t6 * t257; + const double t260 = safe_math::exp( -t256 * t258 ); + const double t261 = t260 - 0.1e1; + const double t262 = 0.1e1 / t261; + const double t263 = t255 * t262; + const double t264 = t243 * t243; + const double t266 = 0.1e1 / t127 / t142; + const double t267 = t264 * t266; + const double t269 = t239 * t239; + const double t270 = 0.1e1 / t269; + const double t271 = t12 * t270; + const double t275 = t271 * t274; + const double t278 = t246 * t11 * t252 / 0.96e2 + 0.21437009059034868486e-3 * t263 * t267 * t275; + const double t279 = t278 * t255; + const double t282 = 0.1e1 + 0.65854491829355115987e0 * t263 * t278; + const double t283 = 0.1e1 / t282; + const double t286 = 0.1e1 + 0.65854491829355115987e0 * t279 * t283; + const double t287 = safe_math::log( t286 ); + const double t288 = t241 * t287; + const double t289 = t230 * t288; + const double t291 = rho_a * rho_a; + const double t293 = 0.1e1 / t14 / t291; + const double t294 = tau_a * t293; + const double t296 = 0.1e1 / t141; + const double t297 = t18 * t296; + const double t298 = t20 - t297; + const double t299 = t298 / 0.2e1; + const double t300 = t25 * t299; + const double t302 = -t299; + const double t303 = t36 * t302; + const double t306 = 0.5e1 / 0.3e1 * t17 * t300 - 0.5e1 / 0.3e1 * t294 * t26 + 0.5e1 / 0.3e1 * t32 * t303; + const double t307 = t306 * t44; + const double t309 = t50 * t12; + const double t310 = t309 * t306; + const double t312 = t46 * t41; + const double t315 = t56 * t12; + const double t316 = t315 * t306; + const double t319 = t52 * t47; + const double t322 = t62 * t12; + const double t323 = t322 * t306; + const double t326 = t58 * t53; + const double t329 = t68 * t12; + const double t330 = t329 * t306; + const double t333 = t64 * t59; + const double t336 = t74 * t12; + const double t337 = t336 * t306; + const double t340 = t70 * t65; + const double t343 = -t290 * t307 - 0.2e1 * t312 * t310 - t42 * t310 - 0.3e1 * t319 * t316 - 0.2e1 * t48 * t316 - 0.4e1 * t326 * t323 - 0.3e1 * t54 * t323 - 0.5e1 * t333 * t330 - 0.4e1 * t60 * t330 - 0.6e1 * t340 * t337 - 0.5e1 * t66 * t337; + const double t344 = t80 * t12; + const double t345 = t344 * t306; + const double t348 = t76 * t71; + const double t351 = t86 * t12; + const double t352 = t351 * t306; + const double t355 = t82 * t77; + const double t358 = t92 * t12; + const double t359 = t358 * t306; + const double t362 = t88 * t83; + const double t365 = t98 * t12; + const double t366 = t365 * t306; + const double t369 = t94 * t89; + const double t372 = t104 * t12; + const double t373 = t372 * t306; + const double t376 = t100 * t95; + const double t380 = 0.1e1 / t85 / t61; + const double t381 = t380 * t12; + const double t382 = t381 * t306; + const double t385 = -0.11e2 * t102 * t382 - 0.7e1 * t348 * t345 - 0.6e1 * t72 * t345 - 0.8e1 * t355 * t352 - 0.7e1 * t78 * t352 - 0.9e1 * t362 * t359 - 0.8e1 * t84 * t359 - 0.1e2 * t369 * t366 - 0.9e1 * t90 * t366 - 0.11e2 * t376 * t373 - 0.1e2 * t96 * t373; + const double t386 = t343 + t385; + const double t387 = t386 * t191; + const double t389 = 0.1e1 / t113 / t19; + const double t390 = t112 * t389; + const double t393 = 0.11073470983333333333e-2 * t110 * t390 * t136; + const double t394 = t132 * t132; + const double t395 = 0.1e1 / t394; + const double t396 = t118 * t395; + const double t398 = 0.1e1 / t119 * t107; + const double t400 = t399 * t389; + const double t401 = t398 * t400; + const double t403 = t110 * t390; + const double t405 = safe_math::sqrt( t116 ); + const double t406 = t405 * t107; + const double t407 = t406 * t400; + const double t412 = t126 * t111 / t127 / t19; + const double t414 = -0.632975e0 * t401 - 0.29896666666666666667e0 * t403 - 0.1023875e0 * t407 - 0.82156666666666666667e-1 * t412; + const double t415 = 0.1e1 / t135; + const double t416 = t414 * t415; + const double t418 = 0.1e1 * t396 * t416; + const double t419 = t139 * t18; + const double t420 = t419 * t143; + const double t422 = 0.4e1 * t420 * t187; + const double t423 = t142 * t19; + const double t424 = 0.1e1 / t423; + const double t425 = t140 * t424; + const double t427 = 0.4e1 * t425 * t187; + const double t430 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t298 ); + const double t431 = -t298; + const double t434 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t431 ); + const double t436 = ( t430 + t434 ) * t158; + const double t437 = t436 * t186; + const double t442 = t166 * t166; + const double t443 = 0.1e1 / t442; + const double t444 = t161 * t443; + const double t449 = -0.1176575e1 * t401 - 0.516475e0 * t403 - 0.2103875e0 * t407 - 0.104195e0 * t412; + const double t450 = 0.1e1 / t169; + const double t451 = t449 * t450; + const double t457 = t179 * t179; + const double t458 = 0.1e1 / t457; + const double t459 = t174 * t458; + const double t464 = -0.86308333333333333334e0 * t401 - 0.301925e0 * t403 - 0.5501625e-1 * t407 - 0.82785e-1 * t412; + const double t465 = 0.1e1 / t182; + const double t466 = t464 * t465; + const double t469 = 0.53237641966666666666e-3 * t110 * t390 * t170 + 0.1e1 * t444 * t451 - t393 - t418 + 0.18311447306006545054e-3 * t110 * t390 * t183 + 0.5848223622634646207e0 * t459 * t466; + const double t470 = t159 * t469; + const double t471 = t144 * t470; + const double t474 = t159 * t107; + const double t476 = t399 * t389 * t183; + const double t478 = 0.18311447306006545054e-3 * t474 * t476; + const double t479 = t159 * t174; + const double t481 = t458 * t464 * t465; + const double t483 = 0.5848223622634646207e0 * t479 * t481; + const double t484 = t393 + t418 + t422 - t427 + t144 * t437 + t471 + 0.19751673498613801407e-1 * t436 * t184 - t478 - t483; + const double t485 = t106 * t484; + const double t489 = t197 * t41; + const double t494 = t200 * t47; + const double t499 = t203 * t53; + const double t504 = t206 * t59; + const double t509 = t209 * t65; + const double t512 = -t195 * t310 - 0.2e1 * t198 * t316 - 0.3e1 * t201 * t323 - 0.4e1 * t204 * t330 - 0.5e1 * t207 * t337 - t486 * t307 - 0.2e1 * t489 * t310 - 0.3e1 * t494 * t316 - 0.4e1 * t499 * t323 - 0.5e1 * t504 * t330 - 0.6e1 * t509 * t337; + const double t515 = t212 * t71; + const double t520 = t215 * t77; + const double t525 = t218 * t83; + const double t530 = t221 * t89; + const double t535 = t224 * t95; + const double t540 = -0.6e1 * t210 * t345 - 0.7e1 * t213 * t352 - 0.8e1 * t216 * t359 - 0.9e1 * t219 * t366 - 0.1e2 * t222 * t373 - 0.11e2 * t225 * t382 - 0.7e1 * t515 * t345 - 0.8e1 * t520 * t352 - 0.9e1 * t525 * t359 - 0.1e2 * t530 * t366 - 0.11e2 * t535 * t373; + const double t541 = t512 + t540; + const double t542 = t541 * t229; + const double t543 = t542 * t288; + const double t544 = t230 * t231; + const double t545 = t239 * t287; + const double t546 = 0.1e1 / t148; + const double t549 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t298 ); + const double t550 = 0.1e1 / t152; + const double t553 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t431 ); + const double t555 = t549 / 0.2e1 + t553 / 0.2e1; + const double t556 = t545 * t555; + const double t557 = t544 * t556; + const double t558 = 0.3e1 * t557; + const double t559 = t141 * t19; + const double t561 = 0.1e1 / t113 / t559; + const double t562 = t243 * t561; + const double t565 = 0.7e1 / 0.288e3 * t562 * t11 * t252; + const double t566 = t11 * t257; + const double t567 = t246 * t566; + const double t569 = t111 * t555; + const double t570 = t568 * t569; + const double t573 = t261 * t261; + const double t574 = 0.1e1 / t573; + const double t575 = t255 * t574; + const double t576 = t267 * t12; + const double t577 = t575 * t576; + const double t578 = t270 * t107; + const double t579 = t578 * t272; + const double t580 = t484 * t255; + const double t582 = t6 * t270; + const double t583 = t582 * t555; + const double t586 = 0.3e1 * t256 * t583 - t580 * t258; + const double t587 = t112 * t586; + const double t589 = t579 * t587 * t260; + const double t593 = 0.1e1 / t127 / t423; + const double t594 = t264 * t593; + const double t597 = 0.10003937560882938627e-2 * t263 * t594 * t275; + const double t598 = t263 * t576; + const double t600 = 0.1e1 / t269 / t238; + const double t601 = t600 * t107; + const double t603 = t602 * t555; + const double t604 = t601 * t603; + const double t607 = -t565 - t567 * t570 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t589 - t597 - 0.85748036236139473944e-3 * t598 * t604; + const double t608 = t607 * t255; + const double t611 = t282 * t282; + const double t612 = 0.1e1 / t611; + const double t619 = -0.65854491829355115987e0 * t575 * t278 * t586 * t260 + 0.65854491829355115987e0 * t263 * t607; + const double t620 = t612 * t619; + const double t623 = 0.65854491829355115987e0 * t608 * t283 - 0.65854491829355115987e0 * t279 * t620; + const double t625 = 0.1e1 / t286; + const double t626 = t240 * t623 * t625; + const double t627 = t544 * t626; + const double t630 = -t20 - t297; + const double t631 = t630 / 0.2e1; + const double t632 = t25 * t631; + const double t634 = rho_b * rho_b; + const double t636 = 0.1e1 / t29 / t634; + const double t637 = tau_b * t636; + const double t639 = -t631; + const double t640 = t36 * t639; + const double t643 = 0.5e1 / 0.3e1 * t17 * t632 + 0.5e1 / 0.3e1 * t32 * t640 - 0.5e1 / 0.3e1 * t637 * t37; + const double t644 = t643 * t44; + const double t646 = t309 * t643; + const double t650 = t315 * t643; + const double t655 = t322 * t643; + const double t660 = t329 * t643; + const double t665 = t336 * t643; + const double t670 = -t290 * t644 - 0.2e1 * t312 * t646 - 0.3e1 * t319 * t650 - 0.4e1 * t326 * t655 - 0.5e1 * t333 * t660 - 0.6e1 * t340 * t665 - t42 * t646 - 0.2e1 * t48 * t650 - 0.3e1 * t54 * t655 - 0.4e1 * t60 * t660 - 0.5e1 * t66 * t665; + const double t671 = t344 * t643; + const double t676 = t351 * t643; + const double t681 = t358 * t643; + const double t686 = t365 * t643; + const double t691 = t372 * t643; + const double t696 = t381 * t643; + const double t699 = -0.11e2 * t102 * t696 - 0.7e1 * t348 * t671 - 0.8e1 * t355 * t676 - 0.9e1 * t362 * t681 - 0.1e2 * t369 * t686 - 0.11e2 * t376 * t691 - 0.6e1 * t72 * t671 - 0.7e1 * t78 * t676 - 0.8e1 * t84 * t681 - 0.9e1 * t90 * t686 - 0.1e2 * t96 * t691; + const double t700 = t670 + t699; + const double t701 = t700 * t191; + const double t704 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.3e1 * t148 * t630 ); + const double t705 = -t630; + const double t708 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t705 ); + const double t710 = ( t704 + t708 ) * t158; + const double t711 = t710 * t186; + const double t715 = t393 + t418 - t422 - t427 + t144 * t711 + t471 + 0.19751673498613801407e-1 * t710 * t184 - t478 - t483; + const double t716 = t106 * t715; + const double t737 = -t195 * t646 - 0.2e1 * t198 * t650 - 0.3e1 * t201 * t655 - 0.4e1 * t204 * t660 - 0.5e1 * t207 * t665 - t486 * t644 - 0.2e1 * t489 * t646 - 0.3e1 * t494 * t650 - 0.4e1 * t499 * t655 - 0.5e1 * t504 * t660 - 0.6e1 * t509 * t665; + const double t760 = -0.6e1 * t210 * t671 - 0.7e1 * t213 * t676 - 0.8e1 * t216 * t681 - 0.9e1 * t219 * t686 - 0.1e2 * t222 * t691 - 0.11e2 * t225 * t696 - 0.7e1 * t515 * t671 - 0.8e1 * t520 * t676 - 0.9e1 * t525 * t681 - 0.1e2 * t530 * t686 - 0.11e2 * t535 * t691; + const double t761 = t737 + t760; + const double t762 = t761 * t229; + const double t763 = t762 * t288; + const double t766 = piecewise_functor_3( t145, 0.0, 0.2e1 / 0.3e1 * t546 * t630 ); + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t550 * t705 ); + const double t771 = t766 / 0.2e1 + t769 / 0.2e1; + const double t772 = t545 * t771; + const double t773 = t544 * t772; + const double t774 = 0.3e1 * t773; + const double t775 = t111 * t771; + const double t776 = t568 * t775; + const double t779 = t715 * t255; + const double t781 = t582 * t771; + const double t784 = 0.3e1 * t256 * t781 - t779 * t258; + const double t785 = t112 * t784; + const double t787 = t579 * t785 * t260; + const double t790 = t602 * t771; + const double t791 = t601 * t790; + const double t794 = -t565 - t567 * t776 / 0.48e2 - 0.21437009059034868486e-3 * t577 * t787 - t597 - 0.85748036236139473944e-3 * t598 * t791; + const double t795 = t794 * t255; + const double t804 = -0.65854491829355115987e0 * t575 * t278 * t784 * t260 + 0.65854491829355115987e0 * t263 * t794; + const double t805 = t612 * t804; + const double t808 = 0.65854491829355115987e0 * t795 * t283 - 0.65854491829355115987e0 * t279 * t805; + const double t809 = t240 * t808; + const double t810 = t809 * t625; + const double t811 = t544 * t810; + const double t814 = t19 * t227; + const double t815 = t814 * t229; + const double t816 = t245 * t11; + const double t819 = t816 * t248 * t818; + const double t821 = t243 * t266; + const double t823 = t263 * t821 * t275; + const double t825 = t819 / 0.96e2 + 0.42874018118069736972e-3 * t823; + const double t826 = t825 * t255; + const double t829 = t229 * t229; + const double t830 = 0.1e1 / t829; + const double t831 = t278 * t830; + const double t832 = t612 * t262; + const double t833 = t832 * t825; + const double t836 = 0.65854491829355115987e0 * t826 * t283 - 0.4336814094102599731e0 * t831 * t833; + const double t837 = t836 * t625; + const double t838 = t241 * t837; + const double t841 = t819 / 0.48e2 + 0.85748036236139473944e-3 * t823; + const double t842 = t841 * t255; + const double t845 = t832 * t841; + const double t848 = 0.65854491829355115987e0 * t842 * t283 - 0.4336814094102599731e0 * t831 * t845; + const double t849 = t848 * t625; + const double t850 = t241 * t849; + const double t851 = t16 * t26; + const double t852 = t851 * t44; + const double t854 = t42 * t50; + const double t855 = t12 * t16; + const double t856 = t855 * t26; + const double t858 = t312 * t50; + const double t861 = t48 * t56; + const double t864 = t319 * t56; + const double t867 = t54 * t62; + const double t870 = t326 * t62; + const double t873 = t60 * t68; + const double t876 = t333 * t68; + const double t879 = t66 * t74; + const double t882 = t340 * t74; + const double t885 = -t290 * t852 - t854 * t856 - 0.2e1 * t858 * t856 - 0.2e1 * t861 * t856 - 0.3e1 * t864 * t856 - 0.3e1 * t867 * t856 - 0.4e1 * t870 * t856 - 0.4e1 * t873 * t856 - 0.5e1 * t876 * t856 - 0.5e1 * t879 * t856 - 0.6e1 * t882 * t856; + const double t886 = t72 * t80; + const double t889 = t348 * t80; + const double t892 = t78 * t86; + const double t895 = t355 * t86; + const double t898 = t84 * t92; + const double t901 = t362 * t92; + const double t904 = t90 * t98; + const double t907 = t369 * t98; + const double t910 = t96 * t104; + const double t913 = t376 * t104; + const double t916 = t102 * t380; + const double t919 = -0.6e1 * t886 * t856 - 0.7e1 * t889 * t856 - 0.7e1 * t892 * t856 - 0.8e1 * t895 * t856 - 0.8e1 * t898 * t856 - 0.9e1 * t901 * t856 - 0.9e1 * t904 * t856 - 0.1e2 * t907 * t856 - 0.1e2 * t910 * t856 - 0.11e2 * t913 * t856 - 0.11e2 * t916 * t856; + const double t920 = t885 + t919; + const double t921 = t920 * t191; + const double t923 = t195 * t50; + const double t925 = t489 * t50; + const double t928 = t198 * t56; + const double t931 = t494 * t56; + const double t934 = t201 * t62; + const double t937 = t499 * t62; + const double t940 = t204 * t68; + const double t943 = t504 * t68; + const double t946 = t207 * t74; + const double t949 = t509 * t74; + const double t952 = -t486 * t852 - t923 * t856 - 0.2e1 * t925 * t856 - 0.2e1 * t928 * t856 - 0.3e1 * t931 * t856 - 0.3e1 * t934 * t856 - 0.4e1 * t937 * t856 - 0.4e1 * t940 * t856 - 0.5e1 * t943 * t856 - 0.5e1 * t946 * t856 - 0.6e1 * t949 * t856; + const double t953 = t210 * t80; + const double t956 = t515 * t80; + const double t959 = t213 * t86; + const double t962 = t520 * t86; + const double t965 = t216 * t92; + const double t968 = t525 * t92; + const double t971 = t219 * t98; + const double t974 = t530 * t98; + const double t977 = t222 * t104; + const double t980 = t535 * t104; + const double t983 = t225 * t380; + const double t986 = -0.6e1 * t953 * t856 - 0.7e1 * t956 * t856 - 0.7e1 * t959 * t856 - 0.8e1 * t962 * t856 - 0.8e1 * t965 * t856 - 0.9e1 * t968 * t856 - 0.9e1 * t971 * t856 - 0.1e2 * t974 * t856 - 0.1e2 * t977 * t856 - 0.11e2 * t980 * t856 - 0.11e2 * t983 * t856; + const double t987 = t952 + t986; + const double t988 = t987 * t229; + const double t989 = t988 * t288; + const double t991 = t31 * t37; + const double t992 = t991 * t44; + const double t994 = t12 * t31; + const double t995 = t994 * t37; + const double t1015 = -t290 * t992 - t854 * t995 - 0.2e1 * t858 * t995 - 0.2e1 * t861 * t995 - 0.3e1 * t864 * t995 - 0.3e1 * t867 * t995 - 0.4e1 * t870 * t995 - 0.4e1 * t873 * t995 - 0.5e1 * t876 * t995 - 0.5e1 * t879 * t995 - 0.6e1 * t882 * t995; + const double t1038 = -0.6e1 * t886 * t995 - 0.7e1 * t889 * t995 - 0.7e1 * t892 * t995 - 0.8e1 * t895 * t995 - 0.8e1 * t898 * t995 - 0.9e1 * t901 * t995 - 0.9e1 * t904 * t995 - 0.1e2 * t907 * t995 - 0.1e2 * t910 * t995 - 0.11e2 * t913 * t995 - 0.11e2 * t916 * t995; + const double t1039 = t1015 + t1038; + const double t1040 = t1039 * t191; + const double t1061 = -t486 * t992 - t923 * t995 - 0.2e1 * t925 * t995 - 0.2e1 * t928 * t995 - 0.3e1 * t931 * t995 - 0.3e1 * t934 * t995 - 0.4e1 * t937 * t995 - 0.4e1 * t940 * t995 - 0.5e1 * t943 * t995 - 0.5e1 * t946 * t995 - 0.6e1 * t949 * t995; + const double t1084 = -0.6e1 * t953 * t995 - 0.7e1 * t956 * t995 - 0.7e1 * t959 * t995 - 0.8e1 * t962 * t995 - 0.8e1 * t965 * t995 - 0.9e1 * t968 * t995 - 0.9e1 * t971 * t995 - 0.1e2 * t974 * t995 - 0.1e2 * t977 * t995 - 0.11e2 * t980 * t995 - 0.11e2 * t983 * t995; + const double t1085 = t1061 + t1084; + const double t1086 = t1085 * t229; + const double t1087 = t1086 * t288; + const double t1094 = t100 * t89; + const double t1095 = t104 * t11; + const double t1096 = t306 * t306; + const double t1097 = t1095 * t1096; + const double t1100 = t380 * t11; + const double t1101 = t1100 * t1096; + const double t1104 = t291 * rho_a; + const double t1106 = 0.1e1 / t14 / t1104; + const double t1107 = tau_a * t1106; + const double t1112 = 0.1e1 / t24; + const double t1113 = t299 * t299; + const double t1114 = t1112 * t1113; + const double t1117 = 0.1e1 / t559; + const double t1118 = t18 * t1117; + const double t1119 = -t296 + t1118; + const double t1120 = t25 * t1119; + const double t1123 = 0.1e1 / t35; + const double t1124 = t302 * t302; + const double t1125 = t1123 * t1124; + const double t1128 = -t1119; + const double t1129 = t36 * t1128; + const double t1132 = 0.4e2 / 0.9e1 * t1107 * t26 - 0.5e2 / 0.9e1 * t294 * t300 + 0.1e2 / 0.9e1 * t17 * t1114 + 0.5e1 / 0.3e1 * t17 * t1120 + 0.1e2 / 0.9e1 * t32 * t1125 + 0.5e1 / 0.3e1 * t32 * t1129; + const double t1133 = t381 * t1132; + const double t1137 = 0.1e1 / t85 / t67; + const double t1138 = t1137 * t11; + const double t1139 = t1138 * t1096; + const double t1142 = t344 * t1132; + const double t1145 = t76 * t65; + const double t1146 = t80 * t11; + const double t1147 = t1146 * t1096; + const double t1150 = t86 * t11; + const double t1151 = t1150 * t1096; + const double t1154 = t351 * t1132; + const double t1157 = t92 * t11; + const double t1158 = t1157 * t1096; + const double t1163 = t82 * t71; + const double t1166 = t309 * t1132; + const double t1168 = t56 * t11; + const double t1169 = t1168 * t1096; + const double t1172 = -0.11e2 * t102 * t1133 + 0.264e3 * t102 * t1139 + 0.22e3 * t1094 * t1097 + 0.484e3 * t376 * t1101 - 0.7e1 * t348 * t1142 + 0.84e2 * t1145 * t1147 + 0.112e3 * t1163 * t1151 + 0.196e3 * t348 * t1151 - 0.8e1 * t355 * t1154 - 0.7e1 * t78 * t1154 + 0.112e3 * t78 * t1158 - t42 * t1166 + 0.4e1 * t42 * t1169; + const double t1175 = t358 * t1132; + const double t1178 = t98 * t11; + const double t1179 = t1178 * t1096; + const double t1184 = t88 * t77; + const double t1189 = t365 * t1132; + const double t1192 = t329 * t1132; + const double t1195 = t74 * t11; + const double t1196 = t1195 * t1096; + const double t1201 = t64 * t53; + const double t1202 = t68 * t11; + const double t1203 = t1202 * t1096; + const double t1208 = t336 * t1132; + const double t1213 = 0.6e2 * t66 * t1147 + 0.144e3 * t1184 * t1158 + 0.256e3 * t355 * t1158 - 0.9e1 * t362 * t1175 - 0.8e1 * t84 * t1175 + 0.324e3 * t362 * t1179 + 0.144e3 * t84 * t1179 - 0.9e1 * t90 * t1189 - 0.5e1 * t333 * t1192 - 0.4e1 * t60 * t1192 + 0.1e3 * t333 * t1196 + 0.4e2 * t60 * t1196 + 0.4e2 * t1201 * t1203 - 0.5e1 * t66 * t1208; + const double t1217 = t70 * t59; + const double t1230 = t315 * t1132; + const double t1233 = t62 * t11; + const double t1234 = t1233 * t1096; + const double t1239 = t52 * t41; + const double t1244 = t322 * t1132; + const double t1247 = -0.6e1 * t72 * t1142 + 0.144e3 * t340 * t1147 + 0.84e2 * t72 * t1151 - 0.2e1 * t312 * t1166 + 0.12e2 * t1239 * t1169 + 0.16e2 * t312 * t1169 + 0.6e2 * t1217 * t1196 - 0.6e1 * t340 * t1208 - 0.3e1 * t319 * t1230 - 0.2e1 * t48 * t1230 + 0.36e2 * t319 * t1234 + 0.12e2 * t48 * t1234 - 0.3e1 * t54 * t1244; + const double t1252 = t58 * t47; + const double t1261 = t94 * t83; + const double t1266 = t372 * t1132; + const double t1274 = t1096 * t50; + const double t1277 = t1132 * t44; + const double t1282 = 0.4e3 * t369 * t1097 + 0.18e3 * t90 * t1097 + 0.22e3 * t96 * t1101 + 0.18e3 * t1261 * t1179 - 0.1e2 * t369 * t1189 + 0.64e2 * t326 * t1203 + 0.24e2 * t54 * t1203 + 0.24e2 * t1252 * t1234 - 0.4e1 * t326 * t1244 - 0.11e2 * t376 * t1266 - 0.1e2 * t96 * t1266 + 0.4e1 * t1273 * t1274 + 0.4e1 * t1279 * t1274 - t290 * t1277; + const double t1284 = t1172 + t1213 + t1247 + t1282; + const double t1285 = t1284 * t191; + const double t1286 = t386 * t484; + const double t1287 = 0.2e1 * t1286; + const double t1288 = t457 * t457; + const double t1289 = 0.1e1 / t1288; + const double t1290 = t464 * t464; + const double t1292 = t182 * t182; + const double t1293 = 0.1e1 / t1292; + const double t1294 = t1289 * t1290 * t1293; + const double t1296 = 0.17315859105681463759e2 * t479 * t1294; + const double t1299 = 0.1e1 / t119 / t116 * t124; + const double t1302 = 0.1e1 / t127 / t141; + const double t1303 = t1300 * t1302; + const double t1304 = t1299 * t1303; + const double t1306 = t399 * t245; + const double t1307 = t398 * t1306; + const double t1309 = t112 * t245; + const double t1310 = t110 * t1309; + const double t1312 = 0.1e1/safe_math::sqrt( t116 ); + const double t1313 = t1312 * t124; + const double t1314 = t1313 * t1303; + const double t1316 = t406 * t1306; + const double t1319 = t126 * t111 * t1302; + const double t1321 = -0.57538888888888888889e0 * t1304 + 0.11507777777777777778e1 * t1307 + 0.40256666666666666667e0 * t1310 + 0.366775e-1 * t1314 + 0.73355e-1 * t1316 + 0.137975e0 * t1319; + const double t1323 = t458 * t1321 * t465; + const double t1325 = 0.5848223622634646207e0 * t479 * t1323; + const double t1326 = t436 * t174; + const double t1327 = t1326 * t481; + const double t1329 = 0.1e1 / t233; + const double t1330 = t298 * t298; + const double t1333 = 0.2e1 * t1119; + const double t1337 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t1330 + 0.4e1 / 0.3e1 * t148 * t1333 ); + const double t1338 = 0.1e1 / t235; + const double t1339 = t431 * t431; + const double t1342 = -t1333; + const double t1346 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t1339 + 0.4e1 / 0.3e1 * t152 * t1342 ); + const double t1348 = ( t1337 + t1346 ) * t158; + const double t1351 = t394 * t394; + const double t1352 = 0.1e1 / t1351; + const double t1353 = t118 * t1352; + const double t1354 = t414 * t414; + const double t1355 = t135 * t135; + const double t1356 = 0.1e1 / t1355; + const double t1357 = t1354 * t1356; + const double t1359 = 0.16081979498692535067e2 * t1353 * t1357; + const double t1366 = -0.42198333333333333333e0 * t1304 + 0.84396666666666666666e0 * t1307 + 0.39862222222222222223e0 * t1310 + 0.68258333333333333333e-1 * t1314 + 0.13651666666666666667e0 * t1316 + 0.13692777777777777778e0 * t1319; + const double t1367 = t1366 * t415; + const double t1369 = 0.1e1 * t396 * t1367; + const double t1374 = t389 * t443; + const double t1378 = t442 * t166; + const double t1379 = 0.1e1 / t1378; + const double t1380 = t161 * t1379; + const double t1381 = t449 * t449; + const double t1382 = t1381 * t450; + const double t1391 = -0.78438333333333333333e0 * t1304 + 0.15687666666666666667e1 * t1307 + 0.68863333333333333333e0 * t1310 + 0.14025833333333333333e0 * t1314 + 0.28051666666666666667e0 * t1316 + 0.17365833333333333333e0 * t1319; + const double t1392 = t1391 * t450; + const double t1395 = t442 * t442; + const double t1396 = 0.1e1 / t1395; + const double t1397 = t161 * t1396; + const double t1398 = t169 * t169; + const double t1399 = 0.1e1 / t1398; + const double t1400 = t1381 * t1399; + const double t1405 = 0.14764627977777777777e-2 * t110 * t1309 * t136; + const double t1406 = t389 * t395; + const double t1409 = 0.35616666666666666666e-1 * t1373 * t1406 * t416; + const double t1410 = t394 * t132; + const double t1411 = 0.1e1 / t1410; + const double t1412 = t118 * t1411; + const double t1413 = t1354 * t415; + const double t1415 = 0.2e1 * t1412 * t1413; + const double t1419 = t389 * t458; + const double t1423 = t457 * t179; + const double t1424 = 0.1e1 / t1423; + const double t1425 = t174 * t1424; + const double t1426 = t1290 * t465; + const double t1429 = t1321 * t465; + const double t1432 = t174 * t1289; + const double t1433 = t1290 * t1293; + const double t1436 = -0.70983522622222222221e-3 * t110 * t1309 * t170 - 0.34246666666666666666e-1 * t1373 * t1374 * t451 - 0.2e1 * t1380 * t1382 + 0.1e1 * t444 * t1392 + 0.32163958997385070134e2 * t1397 * t1400 + t1405 + t1409 + t1415 - t1369 - t1359 - 0.24415263074675393405e-3 * t110 * t1309 * t183 - 0.10843581300301739842e-1 * t1373 * t1419 * t466 - 0.11696447245269292414e1 * t1425 * t1426 + 0.5848223622634646207e0 * t459 * t1429 + 0.17315859105681463759e2 * t1432 * t1433; + const double t1437 = t159 * t1436; + const double t1438 = t144 * t1437; + const double t1439 = t1348 * t186; + const double t1441 = t436 * t469; + const double t1442 = t144 * t1441; + const double t1444 = t425 * t437; + const double t1447 = 0.8e1 * t425 * t470; + const double t1448 = -t1296 - t1325 - 0.11696447245269292414e1 * t1327 + 0.19751673498613801407e-1 * t1348 * t184 + t1359 + t1369 + t1438 + t144 * t1439 + 0.2e1 * t1442 - 0.8e1 * t1444 - t1447; + const double t1449 = t420 * t437; + const double t1452 = 0.8e1 * t420 * t470; + const double t1453 = t142 * t141; + const double t1454 = 0.1e1 / t1453; + const double t1455 = t140 * t1454; + const double t1457 = 0.2e2 * t1455 * t187; + const double t1458 = t139 * t143; + const double t1460 = 0.12e2 * t1458 * t187; + const double t1461 = t419 * t424; + const double t1463 = 0.32e2 * t1461 * t187; + const double t1464 = t159 * t110; + const double t1465 = t390 * t481; + const double t1467 = 0.10843581300301739842e-1 * t1464 * t1465; + const double t1468 = t436 * t107; + const double t1469 = t1468 * t476; + const double t1472 = t1424 * t1290 * t465; + const double t1474 = 0.11696447245269292414e1 * t479 * t1472; + const double t1476 = t399 * t245 * t183; + const double t1478 = 0.24415263074675393405e-3 * t474 * t1476; + const double t1479 = 0.8e1 * t1449 + t1452 - t1415 + t1457 + t1460 - t1463 - t1405 + t1467 - 0.36622894612013090108e-3 * t1469 + t1474 - t1409 + t1478; + const double t1480 = t1448 + t1479; + const double t1481 = t106 * t1480; + const double t1492 = t218 * t77; + const double t1503 = t221 * t83; + const double t1510 = 0.18e3 * t219 * t1097 + 0.4e3 * t530 * t1097 + 0.22e3 * t222 * t1101 + 0.144e3 * t1492 * t1158 - 0.8e1 * t216 * t1175 - 0.9e1 * t525 * t1175 + 0.18e3 * t1503 * t1179 + 0.144e3 * t216 * t1179 + 0.324e3 * t525 * t1179 - 0.9e1 * t219 * t1189 - 0.1e2 * t530 * t1189 - 0.3e1 * t494 * t1230 + 0.12e2 * t198 * t1234; + const double t1513 = t224 * t89; + const double t1522 = t215 * t71; + const double t1533 = t209 * t59; + const double t1542 = 0.22e3 * t1513 * t1097 + 0.484e3 * t535 * t1101 - 0.11e2 * t225 * t1133 + 0.264e3 * t225 * t1139 - 0.6e1 * t210 * t1142 + 0.6e2 * t207 * t1147 + 0.144e3 * t509 * t1147 + 0.112e3 * t1522 * t1151 + 0.84e2 * t210 * t1151 + 0.256e3 * t520 * t1158 + 0.6e2 * t1533 * t1196 - 0.6e1 * t509 * t1208 - 0.1e2 * t222 * t1266 - 0.11e2 * t535 * t1266; + const double t1546 = t212 * t65; + const double t1557 = t200 * t41; + const double t1568 = t203 * t47; + const double t1573 = -0.7e1 * t515 * t1142 + 0.84e2 * t1546 * t1147 + 0.196e3 * t515 * t1151 - 0.7e1 * t213 * t1154 - 0.8e1 * t520 * t1154 + 0.112e3 * t213 * t1158 + 0.12e2 * t1557 * t1169 + 0.24e2 * t201 * t1203 + 0.64e2 * t499 * t1203 + 0.24e2 * t1568 * t1234 + 0.36e2 * t494 * t1234 - 0.3e1 * t201 * t1244 - 0.4e1 * t499 * t1244; + const double t1587 = t206 * t53; + const double t1603 = -t195 * t1166 - 0.2e1 * t489 * t1166 + 0.4e1 * t195 * t1169 + 0.16e2 * t489 * t1169 - 0.4e1 * t204 * t1192 - 0.5e1 * t504 * t1192 + 0.4e2 * t204 * t1196 + 0.1e3 * t504 * t1196 + 0.4e2 * t1587 * t1203 - 0.5e1 * t207 * t1208 - 0.2e1 * t198 * t1230 + 0.4e1 * t1576 * t1274 + 0.4e1 * t1580 * t1274 - t486 * t1277; + const double t1605 = t1510 + t1542 + t1573 + t1603; + const double t1606 = t1605 * t229; + const double t1607 = t1606 * t288; + const double t1608 = t542 * t231; + const double t1609 = t1608 * t556; + const double t1610 = 0.6e1 * t1609; + const double t1611 = t1608 * t626; + const double t1612 = 0.2e1 * t1611; + const double t1613 = t238 * t287; + const double t1614 = t555 * t555; + const double t1615 = t1613 * t1614; + const double t1616 = t544 * t1615; + const double t1617 = 0.6e1 * t1616; + const double t1618 = t239 * t623; + const double t1619 = t625 * t555; + const double t1620 = t1618 * t1619; + const double t1621 = t544 * t1620; + const double t1622 = 0.6e1 * t1621; + const double t1623 = 0.1e1 / t149; + const double t1629 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t1330 + 0.2e1 / 0.3e1 * t546 * t1333 ); + const double t1630 = 0.1e1 / t153; + const double t1636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t1339 + 0.2e1 / 0.3e1 * t550 * t1342 ); + const double t1638 = t1629 / 0.2e1 + t1636 / 0.2e1; + const double t1639 = t545 * t1638; + const double t1640 = t544 * t1639; + const double t1641 = 0.3e1 * t1640; + const double t1643 = 0.1e1 / t113 / t142; + const double t1644 = t243 * t1643; + const double t1647 = 0.35e2 / 0.432e3 * t1644 * t11 * t252; + const double t1648 = t562 * t566; + const double t1649 = t1648 * t570; + const double t1651 = t11 * t270; + const double t1652 = t246 * t1651; + const double t1653 = t111 * t1614; + const double t1654 = t568 * t1653; + const double t1658 = t568 * t111 * t1638; + const double t1662 = 0.1e1 / t573 / t261; + const double t1663 = t255 * t1662; + const double t1664 = t1663 * t576; + const double t1665 = t586 * t586; + const double t1666 = t112 * t1665; + const double t1667 = t260 * t260; + const double t1669 = t579 * t1666 * t1667; + const double t1672 = t594 * t12; + const double t1673 = t575 * t1672; + const double t1674 = t1673 * t589; + const double t1676 = t575 * t264; + const double t1677 = t266 * t12; + const double t1678 = t1677 * t600; + const double t1679 = t1676 * t1678; + const double t1680 = t586 * t260; + const double t1681 = t1680 * t555; + const double t1682 = t274 * t1681; + const double t1685 = t1480 * t255; + const double t1689 = t6 * t600; + const double t1690 = t1689 * t1614; + const double t1693 = t582 * t1638; + const double t1696 = -t1685 * t258 - 0.12e2 * t256 * t1690 + 0.3e1 * t256 * t1693 + 0.6e1 * t580 * t583; + const double t1699 = t579 * t112 * t1696 * t260; + const double t1703 = t579 * t1666 * t260; + const double t1707 = 0.1e1 / t127 / t1453; + const double t1708 = t264 * t1707; + const double t1711 = 0.56688979511669985553e-2 * t263 * t1708 * t275; + const double t1712 = t263 * t1672; + const double t1713 = t1712 * t604; + const double t1716 = 0.1e1 / t269 / t239; + const double t1717 = t1716 * t107; + const double t1718 = t602 * t1614; + const double t1719 = t1717 * t1718; + const double t1722 = t602 * t1638; + const double t1723 = t601 * t1722; + const double t1726 = t1647 + 0.7e1 / 0.72e2 * t1649 + t1652 * t1654 / 0.16e2 - t567 * t1658 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t1669 + 0.20007875121765877254e-2 * t1674 + 0.17149607247227894789e-2 * t1679 * t1682 - 0.21437009059034868486e-3 * t577 * t1699 - 0.21437009059034868486e-3 * t577 * t1703 + t1711 + 0.80031500487063509015e-2 * t1713 + 0.42874018118069736972e-2 * t598 * t1719 - 0.85748036236139473944e-3 * t598 * t1723; + const double t1727 = t1726 * t255; + const double t1733 = 0.1e1 / t611 / t282; + const double t1734 = t619 * t619; + const double t1735 = t1733 * t1734; + const double t1738 = t278 * t1665; + const double t1755 = 0.13170898365871023197e1 * t1663 * t1738 * t1667 - 0.13170898365871023197e1 * t575 * t607 * t586 * t260 - 0.65854491829355115987e0 * t575 * t278 * t1696 * t260 - 0.65854491829355115987e0 * t575 * t1738 * t260 + 0.65854491829355115987e0 * t263 * t1726; + const double t1756 = t612 * t1755; + const double t1759 = 0.65854491829355115987e0 * t1727 * t283 - 0.13170898365871023197e1 * t608 * t620 + 0.13170898365871023197e1 * t279 * t1735 - 0.65854491829355115987e0 * t279 * t1756; + const double t1760 = t240 * t1759; + const double t1761 = t1760 * t625; + const double t1762 = t544 * t1761; + const double t1763 = t623 * t623; + const double t1765 = t286 * t286; + const double t1766 = 0.1e1 / t1765; + const double t1767 = t240 * t1763 * t1766; + const double t1768 = t544 * t1767; + const double t1769 = t1285 + t1287 + t1481 + t1607 + t1610 + t1612 + t1617 + t1622 + t1641 + t1762 - t1768; + const double t1771 = t1094 * t104; + const double t1772 = t11 * t643; + const double t1773 = t1772 * t306; + const double t1776 = t376 * t380; + const double t1779 = t102 * t1137; + const double t1782 = t1163 * t86; + const double t1785 = t355 * t92; + const double t1788 = t84 * t98; + const double t1791 = t1184 * t92; + const double t1794 = t362 * t98; + const double t1797 = t90 * t104; + const double t1800 = t1261 * t98; + const double t1803 = t369 * t104; + const double t1806 = t96 * t380; + const double t1809 = t66 * t80; + const double t1812 = 0.22e3 * t1771 * t1773 + 0.484e3 * t1776 * t1773 + 0.264e3 * t1779 * t1773 + 0.112e3 * t1782 * t1773 + 0.256e3 * t1785 * t1773 + 0.144e3 * t1788 * t1773 + 0.144e3 * t1791 * t1773 + 0.324e3 * t1794 * t1773 + 0.18e3 * t1797 * t1773 + 0.18e3 * t1800 * t1773 + 0.4e3 * t1803 * t1773 + 0.22e3 * t1806 * t1773 + 0.6e2 * t1809 * t1773; + const double t1813 = t1217 * t74; + const double t1816 = t340 * t80; + const double t1819 = t72 * t86; + const double t1822 = t643 * t50; + const double t1823 = t1822 * t306; + const double t1828 = t1112 * t631; + const double t1829 = t1828 * t299; + const double t1832 = t25 * t18; + const double t1833 = t1832 * t1117; + const double t1838 = t1123 * t639; + const double t1839 = t1838 * t302; + const double t1842 = t36 * t18; + const double t1843 = t1842 * t1117; + const double t1846 = -0.25e2 / 0.9e1 * t294 * t632 + 0.1e2 / 0.9e1 * t17 * t1829 + 0.5e1 / 0.3e1 * t17 * t1833 - 0.25e2 / 0.9e1 * t637 * t303 + 0.1e2 / 0.9e1 * t32 * t1839 - 0.5e1 / 0.3e1 * t32 * t1843; + const double t1847 = t309 * t1846; + const double t1851 = t344 * t1846; + const double t1856 = t315 * t1846; + const double t1861 = t322 * t1846; + const double t1866 = t351 * t1846; + const double t1869 = t358 * t1846; + const double t1872 = 0.4e1 * t1273 * t1823 + 0.4e1 * t1279 * t1823 + 0.6e2 * t1813 * t1773 + 0.144e3 * t1816 * t1773 + 0.84e2 * t1819 * t1773 - 0.2e1 * t312 * t1847 - t42 * t1847 - 0.6e1 * t72 * t1851 - 0.3e1 * t319 * t1856 - 0.2e1 * t48 * t1856 - 0.4e1 * t326 * t1861 - 0.3e1 * t54 * t1861 - 0.8e1 * t355 * t1866 - 0.8e1 * t84 * t1869; + const double t1874 = t329 * t1846; + const double t1879 = t336 * t1846; + const double t1886 = t365 * t1846; + const double t1891 = t372 * t1846; + const double t1900 = t381 * t1846; + const double t1903 = t1846 * t44; + const double t1905 = -0.11e2 * t102 * t1900 - 0.7e1 * t348 * t1851 - 0.7e1 * t78 * t1866 - 0.9e1 * t362 * t1869 - 0.5e1 * t333 * t1874 - 0.4e1 * t60 * t1874 - 0.6e1 * t340 * t1879 - 0.5e1 * t66 * t1879 - 0.1e2 * t369 * t1886 - 0.9e1 * t90 * t1886 - 0.11e2 * t376 * t1891 - 0.1e2 * t96 * t1891 - t290 * t1903; + const double t1906 = t1145 * t80; + const double t1909 = t348 * t86; + const double t1912 = t78 * t92; + const double t1915 = t48 * t62; + const double t1918 = t1239 * t56; + const double t1921 = t319 * t62; + const double t1924 = t54 * t68; + const double t1927 = t1252 * t62; + const double t1930 = t326 * t68; + const double t1933 = t60 * t74; + const double t1936 = t1201 * t68; + const double t1939 = t333 * t74; + const double t1942 = t42 * t56; + const double t1945 = t312 * t56; + const double t1948 = 0.84e2 * t1906 * t1773 + 0.196e3 * t1909 * t1773 + 0.112e3 * t1912 * t1773 + 0.12e2 * t1915 * t1773 + 0.12e2 * t1918 * t1773 + 0.36e2 * t1921 * t1773 + 0.24e2 * t1924 * t1773 + 0.24e2 * t1927 * t1773 + 0.64e2 * t1930 * t1773 + 0.4e2 * t1933 * t1773 + 0.4e2 * t1936 * t1773 + 0.1e3 * t1939 * t1773 + 0.4e1 * t1942 * t1773 + 0.16e2 * t1945 * t1773; + const double t1950 = t1812 + t1872 + t1905 + t1948; + const double t1951 = t1950 * t191; + const double t1952 = t700 * t484; + const double t1953 = t386 * t715; + const double t1956 = t420 * t711; + const double t1958 = t425 * t711; + const double t1960 = t1329 * t630; + const double t1963 = t148 * t18; + const double t1967 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1960 * t298 + 0.8e1 / 0.3e1 * t1963 * t1117 ); + const double t1968 = t1338 * t705; + const double t1971 = t152 * t18; + const double t1975 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1968 * t431 - 0.8e1 / 0.3e1 * t1971 * t1117 ); + const double t1977 = ( t1967 + t1975 ) * t158; + const double t1978 = t1977 * t186; + const double t1980 = t710 * t469; + const double t1981 = t144 * t1980; + const double t1982 = -t1296 - t1325 - 0.5848223622634646207e0 * t1327 + t1457 - t1460 - t1405 + t1438 - t1447 - 0.4e1 * t1449 + 0.4e1 * t1956 - 0.4e1 * t1958 + t144 * t1978 + t1981; + const double t1983 = t710 * t107; + const double t1984 = t1983 * t476; + const double t1990 = t710 * t174; + const double t1991 = t1990 * t481; + const double t1993 = t1474 - t1415 + t1359 + t1369 - 0.18311447306006545054e-3 * t1984 + t1442 - 0.4e1 * t1444 + 0.19751673498613801407e-1 * t1977 * t184 + t1467 - 0.18311447306006545054e-3 * t1469 + t1478 - t1409 - 0.5848223622634646207e0 * t1991; + const double t1994 = t1982 + t1993; + const double t1995 = t106 * t1994; + const double t2020 = 0.4e1 * t1576 * t1823 + 0.4e1 * t1580 * t1823 - t195 * t1847 - 0.2e1 * t489 * t1847 - 0.2e1 * t198 * t1856 - 0.3e1 * t494 * t1856 - 0.3e1 * t201 * t1861 - 0.7e1 * t213 * t1866 - 0.8e1 * t520 * t1866 - 0.8e1 * t216 * t1869 - 0.5e1 * t207 * t1879 - 0.6e1 * t509 * t1879 - t486 * t1903; + const double t2043 = t198 * t62; + const double t2046 = t489 * t56; + const double t2049 = t494 * t62; + const double t2052 = 0.12e2 * t2043 * t1773 + 0.16e2 * t2046 * t1773 + 0.36e2 * t2049 * t1773 - 0.6e1 * t210 * t1851 - 0.7e1 * t515 * t1851 - 0.4e1 * t499 * t1861 - 0.9e1 * t525 * t1869 - 0.4e1 * t204 * t1874 - 0.5e1 * t504 * t1874 - 0.9e1 * t219 * t1886 - 0.1e2 * t530 * t1886 - 0.1e2 * t222 * t1891 - 0.11e2 * t535 * t1891 - 0.11e2 * t225 * t1900; + const double t2054 = t201 * t68; + const double t2057 = t1568 * t62; + const double t2060 = t499 * t68; + const double t2063 = t204 * t74; + const double t2066 = t1587 * t68; + const double t2069 = t504 * t74; + const double t2072 = t195 * t56; + const double t2075 = t535 * t380; + const double t2078 = t225 * t1137; + const double t2081 = t216 * t98; + const double t2084 = t1492 * t92; + const double t2087 = t525 * t98; + const double t2090 = t219 * t104; + const double t2093 = 0.24e2 * t2054 * t1773 + 0.24e2 * t2057 * t1773 + 0.64e2 * t2060 * t1773 + 0.4e2 * t2063 * t1773 + 0.4e2 * t2066 * t1773 + 0.1e3 * t2069 * t1773 + 0.4e1 * t2072 * t1773 + 0.484e3 * t2075 * t1773 + 0.264e3 * t2078 * t1773 + 0.144e3 * t2081 * t1773 + 0.144e3 * t2084 * t1773 + 0.324e3 * t2087 * t1773 + 0.18e3 * t2090 * t1773; + const double t2094 = t1503 * t98; + const double t2097 = t530 * t104; + const double t2100 = t222 * t380; + const double t2103 = t1513 * t104; + const double t2106 = t207 * t80; + const double t2109 = t1533 * t74; + const double t2112 = t509 * t80; + const double t2115 = t210 * t86; + const double t2118 = t1546 * t80; + const double t2121 = t515 * t86; + const double t2124 = t213 * t92; + const double t2127 = t1522 * t86; + const double t2130 = t520 * t92; + const double t2133 = t1557 * t56; + const double t2136 = 0.18e3 * t2094 * t1773 + 0.4e3 * t2097 * t1773 + 0.22e3 * t2100 * t1773 + 0.22e3 * t2103 * t1773 + 0.6e2 * t2106 * t1773 + 0.6e2 * t2109 * t1773 + 0.144e3 * t2112 * t1773 + 0.84e2 * t2115 * t1773 + 0.84e2 * t2118 * t1773 + 0.196e3 * t2121 * t1773 + 0.112e3 * t2124 * t1773 + 0.112e3 * t2127 * t1773 + 0.256e3 * t2130 * t1773 + 0.12e2 * t2133 * t1773; + const double t2138 = t2020 + t2052 + t2093 + t2136; + const double t2139 = t2138 * t229; + const double t2140 = t2139 * t288; + const double t2141 = t762 * t231; + const double t2142 = t2141 * t556; + const double t2144 = t2141 * t626; + const double t2145 = t1608 * t772; + const double t2147 = t771 * t555; + const double t2148 = t1613 * t2147; + const double t2149 = t544 * t2148; + const double t2151 = t625 * t771; + const double t2152 = t1618 * t2151; + const double t2153 = t544 * t2152; + const double t2155 = t1623 * t630; + const double t2158 = t546 * t18; + const double t2162 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t2155 * t298 + 0.4e1 / 0.3e1 * t2158 * t1117 ); + const double t2163 = t1630 * t705; + const double t2166 = t550 * t18; + const double t2170 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t2163 * t431 - 0.4e1 / 0.3e1 * t2166 * t1117 ); + const double t2172 = t2162 / 0.2e1 + t2170 / 0.2e1; + const double t2173 = t545 * t2172; + const double t2174 = t544 * t2173; + const double t2176 = t1608 * t810; + const double t2177 = t239 * t808; + const double t2178 = t2177 * t1619; + const double t2179 = t544 * t2178; + const double t2182 = t1648 * t776; + const double t2185 = t568 * t775 * t555; + const double t2188 = t111 * t2172; + const double t2189 = t568 * t2188; + const double t2192 = t1663 * t264; + const double t2193 = t1677 * t270; + const double t2194 = t2192 * t2193; + const double t2195 = t784 * t1667; + const double t2196 = t2195 * t586; + const double t2197 = t274 * t2196; + const double t2200 = t1673 * t787; + const double t2202 = t784 * t260; + const double t2203 = t2202 * t555; + const double t2204 = t274 * t2203; + const double t2207 = t1994 * t255; + const double t2213 = t256 * t6; + const double t2214 = t600 * t771; + const double t2215 = t2214 * t555; + const double t2218 = t582 * t2172; + const double t2221 = -t2207 * t258 - 0.12e2 * t2213 * t2215 + 0.3e1 * t256 * t2218 + 0.3e1 * t580 * t781 + 0.3e1 * t779 * t583; + const double t2224 = t579 * t112 * t2221 * t260; + const double t2227 = t1676 * t2193; + const double t2228 = t784 * t586; + const double t2229 = t2228 * t260; + const double t2230 = t274 * t2229; + const double t2235 = t771 * t586; + const double t2236 = t2235 * t260; + const double t2237 = t274 * t2236; + const double t2240 = t1712 * t791; + const double t2242 = t1717 * t272; + const double t2243 = t112 * t771; + const double t2245 = t2242 * t2243 * t555; + const double t2248 = t602 * t2172; + const double t2249 = t601 * t2248; + const double t2252 = t1647 + 0.7e1 / 0.144e3 * t1649 + 0.7e1 / 0.144e3 * t2182 + t1652 * t2185 / 0.16e2 - t567 * t2189 / 0.48e2 + 0.42874018118069736972e-3 * t2194 * t2197 + 0.10003937560882938627e-2 * t2200 + 0.85748036236139473944e-3 * t1679 * t2204 - 0.21437009059034868486e-3 * t577 * t2224 - 0.21437009059034868486e-3 * t2227 * t2230 + 0.10003937560882938627e-2 * t1674 + t1711 + 0.40015750243531754508e-2 * t1713 + 0.85748036236139473944e-3 * t1679 * t2237 + 0.40015750243531754507e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2245 - 0.85748036236139473944e-3 * t598 * t2249; + const double t2253 = t2252 * t255; + const double t2260 = t1733 * t804; + const double t2261 = t2260 * t619; + const double t2264 = t1663 * t278; + const double t2275 = t575 * t278; + const double t2284 = 0.13170898365871023197e1 * t2264 * t2196 - 0.65854491829355115987e0 * t575 * t607 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2221 * t260 - 0.65854491829355115987e0 * t2275 * t2229 - 0.65854491829355115987e0 * t575 * t794 * t586 * t260 + 0.65854491829355115987e0 * t263 * t2252; + const double t2285 = t612 * t2284; + const double t2288 = 0.65854491829355115987e0 * t2253 * t283 - 0.65854491829355115987e0 * t795 * t620 - 0.65854491829355115987e0 * t608 * t805 + 0.13170898365871023197e1 * t279 * t2261 - 0.65854491829355115987e0 * t279 * t2285; + const double t2289 = t240 * t2288; + const double t2290 = t2289 * t625; + const double t2291 = t544 * t2290; + const double t2292 = t1766 * t623; + const double t2293 = t809 * t2292; + const double t2294 = t544 * t2293; + const double t2295 = t1951 + t1952 + t1953 + t1995 + t2140 + 0.3e1 * t2142 + t2144 + 0.3e1 * t2145 + 0.6e1 * t2149 + 0.3e1 * t2153 + 0.3e1 * t2174 + t2176 + 0.3e1 * t2179 + t2291 - t2294; + const double t2302 = t643 * t643; + const double t2303 = t2302 * t50; + const double t2308 = t631 * t631; + const double t2309 = t1112 * t2308; + const double t2312 = t296 + t1118; + const double t2313 = t25 * t2312; + const double t2316 = t634 * rho_b; + const double t2318 = 0.1e1 / t29 / t2316; + const double t2319 = tau_b * t2318; + const double t2324 = t639 * t639; + const double t2325 = t1123 * t2324; + const double t2328 = -t2312; + const double t2329 = t36 * t2328; + const double t2332 = 0.1e2 / 0.9e1 * t17 * t2309 + 0.5e1 / 0.3e1 * t17 * t2313 + 0.4e2 / 0.9e1 * t2319 * t37 - 0.5e2 / 0.9e1 * t637 * t640 + 0.1e2 / 0.9e1 * t32 * t2325 + 0.5e1 / 0.3e1 * t32 * t2329; + const double t2333 = t2332 * t44; + const double t2335 = t1233 * t2302; + const double t2338 = t315 * t2332; + const double t2341 = t1168 * t2302; + const double t2346 = t322 * t2332; + const double t2349 = t1202 * t2302; + const double t2358 = t309 * t2332; + const double t2360 = 0.12e2 * t1239 * t2341 + 0.24e2 * t1252 * t2335 + 0.4e1 * t1273 * t2303 + 0.4e1 * t1279 * t2303 - t290 * t2333 + 0.36e2 * t319 * t2335 + 0.12e2 * t48 * t2335 - 0.3e1 * t319 * t2338 - 0.4e1 * t326 * t2346 - 0.3e1 * t54 * t2346 + 0.64e2 * t326 * t2349 + 0.24e2 * t54 * t2349 - t42 * t2358; + const double t2363 = t1157 * t2302; + const double t2366 = t1178 * t2302; + const double t2369 = t365 * t2332; + const double t2372 = t329 * t2332; + const double t2375 = t1195 * t2302; + const double t2384 = t336 * t2332; + const double t2387 = t1146 * t2302; + const double t2392 = t1150 * t2302; + const double t2395 = t351 * t2332; + const double t2398 = 0.84e2 * t1145 * t2387 + 0.144e3 * t1184 * t2363 + 0.4e2 * t1201 * t2349 + 0.4e1 * t42 * t2341 + 0.324e3 * t362 * t2366 - 0.9e1 * t90 * t2369 - 0.5e1 * t333 * t2372 - 0.4e1 * t60 * t2372 + 0.1e3 * t333 * t2375 + 0.4e2 * t60 * t2375 - 0.5e1 * t66 * t2384 + 0.6e2 * t66 * t2387 + 0.196e3 * t348 * t2392 - 0.7e1 * t78 * t2395; + const double t2408 = t358 * t2332; + const double t2415 = t1095 * t2302; + const double t2424 = t372 * t2332; + const double t2427 = t1100 * t2302; + const double t2430 = 0.112e3 * t1163 * t2392 + 0.18e3 * t1261 * t2366 + 0.256e3 * t355 * t2363 + 0.112e3 * t78 * t2363 + 0.144e3 * t84 * t2366 - 0.1e2 * t369 * t2369 - 0.8e1 * t355 * t2395 - 0.9e1 * t362 * t2408 - 0.8e1 * t84 * t2408 + 0.4e3 * t369 * t2415 + 0.18e3 * t90 * t2415 - 0.1e2 * t96 * t2424 + 0.22e3 * t96 * t2427; + const double t2437 = t381 * t2332; + const double t2440 = t1138 * t2302; + const double t2449 = t344 * t2332; + const double t2462 = -0.11e2 * t102 * t2437 + 0.264e3 * t102 * t2440 + 0.22e3 * t1094 * t2415 + 0.6e2 * t1217 * t2375 - 0.2e1 * t48 * t2338 + 0.16e2 * t312 * t2341 - 0.2e1 * t312 * t2358 - 0.6e1 * t340 * t2384 + 0.144e3 * t340 * t2387 + 0.84e2 * t72 * t2392 - 0.11e2 * t376 * t2424 + 0.484e3 * t376 * t2427 - 0.7e1 * t348 * t2449 - 0.6e1 * t72 * t2449; + const double t2464 = t2360 + t2398 + t2430 + t2462; + const double t2465 = t2464 * t191; + const double t2466 = t700 * t715; + const double t2467 = 0.2e1 * t2466; + const double t2468 = t630 * t630; + const double t2471 = 0.2e1 * t2312; + const double t2475 = piecewise_functor_3( t145, 0.0, 0.4e1 / 0.9e1 * t1329 * t2468 + 0.4e1 / 0.3e1 * t148 * t2471 ); + const double t2476 = t705 * t705; + const double t2479 = -t2471; + const double t2483 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1338 * t2476 + 0.4e1 / 0.3e1 * t152 * t2479 ); + const double t2485 = ( t2475 + t2483 ) * t158; + const double t2486 = t2485 * t186; + const double t2495 = t144 * t2486 + 0.19751673498613801407e-1 * t2485 * t184 - 0.11696447245269292414e1 * t1991 - 0.8e1 * t1956 - 0.8e1 * t1958 + 0.2e1 * t1981 - 0.36622894612013090108e-3 * t1984 - t1296 - t1325 + t1359 + t1369; + const double t2496 = t1438 - t1447 - t1452 - t1415 + t1457 + t1460 + t1463 - t1405 + t1467 + t1474 - t1409 + t1478; + const double t2497 = t2495 + t2496; + const double t2498 = t106 * t2497; + const double t2525 = 0.144e3 * t1492 * t2363 + 0.112e3 * t1522 * t2392 - 0.7e1 * t213 * t2395 + 0.144e3 * t216 * t2366 - 0.8e1 * t216 * t2408 - 0.9e1 * t219 * t2369 + 0.18e3 * t219 * t2415 + 0.256e3 * t520 * t2363 + 0.324e3 * t525 * t2366 - 0.1e2 * t530 * t2369 + 0.196e3 * t515 * t2392 - 0.8e1 * t520 * t2395 - 0.9e1 * t525 * t2408; + const double t2554 = 0.22e3 * t1513 * t2415 + 0.12e2 * t1557 * t2341 + 0.12e2 * t198 * t2335 - 0.3e1 * t201 * t2346 + 0.24e2 * t201 * t2349 + 0.112e3 * t213 * t2363 - 0.1e2 * t222 * t2424 + 0.22e3 * t222 * t2427 - 0.11e2 * t225 * t2437 + 0.36e2 * t494 * t2335 - 0.3e1 * t494 * t2338 - 0.4e1 * t499 * t2346 - 0.11e2 * t535 * t2424 + 0.484e3 * t535 * t2427; + const double t2582 = 0.18e3 * t1503 * t2366 + 0.6e2 * t1533 * t2375 + 0.84e2 * t1546 * t2387 - 0.2e1 * t198 * t2338 - 0.5e1 * t207 * t2384 + 0.6e2 * t207 * t2387 + 0.84e2 * t210 * t2392 - 0.6e1 * t210 * t2449 + 0.264e3 * t225 * t2440 - 0.6e1 * t509 * t2384 + 0.144e3 * t509 * t2387 + 0.4e3 * t530 * t2415 - 0.7e1 * t515 * t2449; + const double t2609 = 0.24e2 * t1568 * t2335 + 0.4e1 * t1576 * t2303 + 0.4e1 * t1580 * t2303 + 0.4e2 * t1587 * t2349 + 0.4e1 * t195 * t2341 - t195 * t2358 - 0.4e1 * t204 * t2372 + 0.4e2 * t204 * t2375 - t486 * t2333 + 0.16e2 * t489 * t2341 + 0.64e2 * t499 * t2349 - 0.2e1 * t489 * t2358 - 0.5e1 * t504 * t2372 + 0.1e3 * t504 * t2375; + const double t2611 = t2525 + t2554 + t2582 + t2609; + const double t2612 = t2611 * t229; + const double t2613 = t2612 * t288; + const double t2614 = t2141 * t772; + const double t2615 = 0.6e1 * t2614; + const double t2616 = t2141 * t810; + const double t2617 = 0.2e1 * t2616; + const double t2618 = t771 * t771; + const double t2619 = t1613 * t2618; + const double t2620 = t544 * t2619; + const double t2621 = 0.6e1 * t2620; + const double t2622 = t2177 * t2151; + const double t2623 = t544 * t2622; + const double t2624 = 0.6e1 * t2623; + const double t2630 = piecewise_functor_3( t145, 0.0, -0.2e1 / 0.9e1 * t1623 * t2468 + 0.2e1 / 0.3e1 * t546 * t2471 ); + const double t2636 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t1630 * t2476 + 0.2e1 / 0.3e1 * t550 * t2479 ); + const double t2638 = t2630 / 0.2e1 + t2636 / 0.2e1; + const double t2639 = t545 * t2638; + const double t2640 = t544 * t2639; + const double t2641 = 0.3e1 * t2640; + const double t2643 = t111 * t2618; + const double t2644 = t568 * t2643; + const double t2647 = t111 * t2638; + const double t2648 = t568 * t2647; + const double t2651 = t784 * t784; + const double t2652 = t112 * t2651; + const double t2654 = t579 * t2652 * t1667; + const double t2658 = t2202 * t771; + const double t2659 = t274 * t2658; + const double t2662 = t2497 * t255; + const double t2666 = t1689 * t2618; + const double t2669 = t582 * t2638; + const double t2672 = -0.12e2 * t256 * t2666 + 0.3e1 * t256 * t2669 - t2662 * t258 + 0.6e1 * t779 * t781; + const double t2675 = t579 * t112 * t2672 * t260; + const double t2679 = t579 * t2652 * t260; + const double t2683 = t602 * t2618; + const double t2684 = t1717 * t2683; + const double t2687 = t602 * t2638; + const double t2688 = t601 * t2687; + const double t2691 = t1647 + 0.7e1 / 0.72e2 * t2182 + t1652 * t2644 / 0.16e2 - t567 * t2648 / 0.48e2 + 0.42874018118069736972e-3 * t1664 * t2654 + 0.20007875121765877254e-2 * t2200 + 0.17149607247227894789e-2 * t1679 * t2659 - 0.21437009059034868486e-3 * t577 * t2675 - 0.21437009059034868486e-3 * t577 * t2679 + t1711 + 0.80031500487063509015e-2 * t2240 + 0.42874018118069736972e-2 * t598 * t2684 - 0.85748036236139473944e-3 * t598 * t2688; + const double t2692 = t2691 * t255; + const double t2697 = t804 * t804; + const double t2698 = t1733 * t2697; + const double t2701 = t278 * t2651; + const double t2718 = 0.13170898365871023197e1 * t1663 * t2701 * t1667 - 0.13170898365871023197e1 * t575 * t794 * t784 * t260 - 0.65854491829355115987e0 * t575 * t278 * t2672 * t260 - 0.65854491829355115987e0 * t575 * t2701 * t260 + 0.65854491829355115987e0 * t263 * t2691; + const double t2719 = t612 * t2718; + const double t2722 = 0.65854491829355115987e0 * t2692 * t283 - 0.13170898365871023197e1 * t795 * t805 + 0.13170898365871023197e1 * t279 * t2698 - 0.65854491829355115987e0 * t279 * t2719; + const double t2723 = t240 * t2722; + const double t2724 = t2723 * t625; + const double t2725 = t544 * t2724; + const double t2726 = t808 * t808; + const double t2727 = t240 * t2726; + const double t2728 = t2727 * t1766; + const double t2729 = t544 * t2728; + const double t2730 = t2465 + t2467 + t2498 + t2613 + t2615 + t2617 + t2621 + t2624 + t2641 + t2725 - t2729; + const double t2732 = t240 * t836; + const double t2733 = t2732 * t625; + const double t2734 = t544 * t2733; + const double t2735 = t19 * t541; + const double t2736 = t2735 * t229; + const double t2738 = t229 * t231; + const double t2739 = t814 * t2738; + const double t2740 = t239 * t836; + const double t2741 = t2740 * t1619; + const double t2744 = t561 * t11; + const double t2746 = t2744 * t248 * t818; + const double t2747 = 0.7e1 / 0.288e3 * t2746; + const double t2748 = t816 * t257; + const double t2749 = t2748 * t570; + const double t2751 = t821 * t12; + const double t2752 = t575 * t2751; + const double t2753 = t2752 * t589; + const double t2755 = t243 * t593; + const double t2757 = t263 * t2755 * t275; + const double t2758 = 0.20007875121765877254e-2 * t2757; + const double t2759 = t263 * t2751; + const double t2760 = t2759 * t604; + const double t2762 = -t2747 - t2749 / 0.48e2 - 0.42874018118069736972e-3 * t2753 - t2758 - 0.17149607247227894789e-2 * t2760; + const double t2763 = t2762 * t255; + const double t2768 = t607 * t830; + const double t2771 = t831 * t1733; + const double t2772 = t262 * t825; + const double t2773 = t2772 * t619; + const double t2776 = t831 * t612; + const double t2777 = t574 * t825; + const double t2778 = t2777 * t1680; + const double t2781 = t832 * t2762; + const double t2784 = 0.65854491829355115987e0 * t2763 * t283 - 0.65854491829355115987e0 * t826 * t620 - 0.4336814094102599731e0 * t2768 * t833 + 0.8673628188205199462e0 * t2771 * t2773 + 0.4336814094102599731e0 * t2776 * t2778 - 0.4336814094102599731e0 * t831 * t2781; + const double t2786 = t241 * t2784 * t625; + const double t2788 = t2732 * t2292; + const double t2790 = t240 * t848; + const double t2791 = t2790 * t625; + const double t2792 = t544 * t2791; + const double t2794 = t239 * t848; + const double t2795 = t2794 * t1619; + const double t2798 = 0.7e1 / 0.144e3 * t2746; + const double t2801 = 0.40015750243531754507e-2 * t2757; + const double t2803 = -t2798 - t2749 / 0.24e2 - 0.85748036236139473944e-3 * t2753 - t2801 - 0.34299214494455789578e-2 * t2760; + const double t2804 = t2803 * t255; + const double t2811 = t262 * t841; + const double t2812 = t2811 * t619; + const double t2815 = t574 * t841; + const double t2816 = t2815 * t1680; + const double t2819 = t832 * t2803; + const double t2822 = 0.65854491829355115987e0 * t2804 * t283 - 0.65854491829355115987e0 * t842 * t620 - 0.4336814094102599731e0 * t2768 * t845 + 0.8673628188205199462e0 * t2771 * t2812 + 0.4336814094102599731e0 * t2776 * t2816 - 0.4336814094102599731e0 * t831 * t2819; + const double t2824 = t241 * t2822 * t625; + const double t2826 = t2790 * t2292; + const double t2828 = t19 * t761; + const double t2829 = t2828 * t229; + const double t2831 = t2740 * t2151; + const double t2834 = t2748 * t776; + const double t2836 = t2752 * t787; + const double t2838 = t2759 * t791; + const double t2840 = -t2747 - t2834 / 0.48e2 - 0.42874018118069736972e-3 * t2836 - t2758 - 0.17149607247227894789e-2 * t2838; + const double t2841 = t2840 * t255; + const double t2846 = t794 * t830; + const double t2849 = t2772 * t804; + const double t2852 = t2777 * t2202; + const double t2855 = t832 * t2840; + const double t2858 = 0.65854491829355115987e0 * t2841 * t283 - 0.65854491829355115987e0 * t826 * t805 - 0.4336814094102599731e0 * t2846 * t833 + 0.8673628188205199462e0 * t2771 * t2849 + 0.4336814094102599731e0 * t2776 * t2852 - 0.4336814094102599731e0 * t831 * t2855; + const double t2860 = t241 * t2858 * t625; + const double t2862 = t1766 * t808; + const double t2863 = t2732 * t2862; + const double t2866 = t2794 * t2151; + const double t2872 = -t2798 - t2834 / 0.24e2 - 0.85748036236139473944e-3 * t2836 - t2801 - 0.34299214494455789578e-2 * t2838; + const double t2873 = t2872 * t255; + const double t2880 = t2811 * t804; + const double t2883 = t2815 * t2202; + const double t2886 = t832 * t2872; + const double t2889 = 0.65854491829355115987e0 * t2873 * t283 - 0.65854491829355115987e0 * t842 * t805 - 0.4336814094102599731e0 * t2846 * t845 + 0.8673628188205199462e0 * t2771 * t2880 + 0.4336814094102599731e0 * t2776 * t2883 - 0.4336814094102599731e0 * t831 * t2886; + const double t2891 = t241 * t2889 * t625; + const double t2893 = t2790 * t2862; + const double t2895 = t290 * t16; + const double t2896 = t25 * t44; + const double t2897 = t2896 * t299; + const double t2900 = t1279 * t16; + const double t2901 = t26 * t50; + const double t2902 = t2901 * t306; + const double t2905 = t1273 * t306; + const double t2906 = t50 * t16; + const double t2907 = t2906 * t26; + const double t2910 = t12 * t293; + const double t2911 = t2910 * t26; + const double t2914 = t293 * t26; + const double t2915 = t2914 * t44; + const double t2918 = t855 * t300; + const double t2921 = t11 * t16; + const double t2922 = t26 * t306; + const double t2923 = t2921 * t2922; + const double t2950 = -0.5e1 / 0.3e1 * t2895 * t2897 + 0.4e1 * t2900 * t2902 + 0.4e1 * t2905 * t2907 + 0.5e2 / 0.3e1 * t910 * t2911 + 0.5e1 / 0.3e1 * t290 * t2915 - 0.5e1 * t867 * t2918 + 0.24e2 * t1924 * t2923 - 0.2e2 / 0.3e1 * t870 * t2918 + 0.24e2 * t1927 * t2923 - 0.5e1 * t864 * t2918 + 0.12e2 * t1918 * t2923 + 0.36e2 * t1921 * t2923 + 0.196e3 * t1909 * t2923 - 0.35e2 / 0.3e1 * t892 * t2918 + 0.112e3 * t1912 * t2923 - 0.35e2 / 0.3e1 * t889 * t2918 + 0.84e2 * t1906 * t2923 - 0.15e2 * t904 * t2918 + 0.18e3 * t1797 * t2923; + const double t2989 = -0.5e2 / 0.3e1 * t907 * t2918 + 0.18e3 * t1800 * t2923 + 0.22e3 * t1806 * t2923 - 0.55e2 / 0.3e1 * t913 * t2918 + 0.22e3 * t1771 * t2923 + 0.484e3 * t1776 * t2923 - 0.1e2 / 0.3e1 * t858 * t2918 + 0.16e2 * t1945 * t2923 - 0.1e2 / 0.3e1 * t861 * t2918 + 0.12e2 * t1915 * t2923 + 0.144e3 * t1816 * t2923 - 0.1e2 * t886 * t2918 + 0.84e2 * t1819 * t2923 + 0.55e2 / 0.3e1 * t913 * t2911 + 0.55e2 / 0.3e1 * t916 * t2911 + 0.4e2 / 0.3e1 * t895 * t2911 + 0.4e2 / 0.3e1 * t898 * t2911 + 0.15e2 * t901 * t2911 + 0.15e2 * t904 * t2911; + const double t3029 = 0.5e2 / 0.3e1 * t907 * t2911 + 0.25e2 / 0.3e1 * t879 * t2911 + 0.1e2 * t882 * t2911 + 0.1e2 * t886 * t2911 + 0.35e2 / 0.3e1 * t889 * t2911 + 0.35e2 / 0.3e1 * t892 * t2911 + 0.5e1 * t864 * t2911 + 0.5e1 * t867 * t2911 + 0.2e2 / 0.3e1 * t870 * t2911 + 0.2e2 / 0.3e1 * t873 * t2911 + 0.25e2 / 0.3e1 * t876 * t2911 + 0.5e1 / 0.3e1 * t854 * t2911 + 0.1e2 / 0.3e1 * t858 * t2911 + 0.1e2 / 0.3e1 * t861 * t2911 + 0.64e2 * t1930 * t2923 - 0.2e2 / 0.3e1 * t873 * t2918 + 0.4e2 * t1933 * t2923 - 0.5e2 / 0.3e1 * t910 * t2918 - 0.25e2 / 0.3e1 * t876 * t2918; + const double t3068 = 0.4e2 * t1936 * t2923 + 0.1e3 * t1939 * t2923 - 0.5e1 / 0.3e1 * t854 * t2918 + 0.4e1 * t1942 * t2923 + 0.256e3 * t1785 * t2923 - 0.4e2 / 0.3e1 * t898 * t2918 + 0.144e3 * t1788 * t2923 - 0.15e2 * t901 * t2918 + 0.144e3 * t1791 * t2923 + 0.324e3 * t1794 * t2923 - 0.55e2 / 0.3e1 * t916 * t2918 + 0.264e3 * t1779 * t2923 - 0.4e2 / 0.3e1 * t895 * t2918 + 0.112e3 * t1782 * t2923 + 0.4e3 * t1803 * t2923 - 0.25e2 / 0.3e1 * t879 * t2918 + 0.6e2 * t1809 * t2923 - 0.1e2 * t882 * t2918 + 0.6e2 * t1813 * t2923; + const double t3070 = t2950 + t2989 + t3029 + t3068; + const double t3071 = t3070 * t191; + const double t3072 = t920 * t484; + const double t3097 = t486 * t16; + const double t3100 = t1580 * t16; + const double t3103 = t1576 * t306; + const double t3114 = -0.2e2 / 0.3e1 * t940 * t2918 + 0.4e2 * t2063 * t2923 - 0.25e2 / 0.3e1 * t943 * t2918 + 0.4e2 * t2066 * t2923 + 0.1e3 * t2069 * t2923 - 0.25e2 / 0.3e1 * t946 * t2918 + 0.6e2 * t2106 * t2923 - 0.1e2 * t949 * t2918 + 0.5e1 / 0.3e1 * t486 * t2915 + 0.64e2 * t2060 * t2923 - 0.5e1 / 0.3e1 * t923 * t2918 + 0.4e1 * t2072 * t2923 - 0.5e1 / 0.3e1 * t3097 * t2897 + 0.4e1 * t3100 * t2902 + 0.4e1 * t3103 * t2907 + 0.15e2 * t971 * t2911 + 0.5e2 / 0.3e1 * t974 * t2911 + 0.5e2 / 0.3e1 * t977 * t2911 + 0.55e2 / 0.3e1 * t980 * t2911; + const double t3153 = 0.55e2 / 0.3e1 * t983 * t2911 + 0.35e2 / 0.3e1 * t956 * t2911 + 0.35e2 / 0.3e1 * t959 * t2911 + 0.4e2 / 0.3e1 * t962 * t2911 + 0.4e2 / 0.3e1 * t965 * t2911 + 0.15e2 * t968 * t2911 + 0.2e2 / 0.3e1 * t940 * t2911 + 0.16e2 * t2046 * t2923 - 0.1e2 / 0.3e1 * t928 * t2918 + 0.12e2 * t2043 * t2923 - 0.5e1 * t931 * t2918 + 0.12e2 * t2133 * t2923 + 0.264e3 * t2078 * t2923 + 0.36e2 * t2049 * t2923 - 0.5e1 * t934 * t2918 + 0.24e2 * t2054 * t2923 - 0.2e2 / 0.3e1 * t937 * t2918 + 0.24e2 * t2057 * t2923 + 0.25e2 / 0.3e1 * t943 * t2911; + const double t3193 = 0.25e2 / 0.3e1 * t946 * t2911 + 0.1e2 * t949 * t2911 + 0.1e2 * t953 * t2911 + 0.1e2 / 0.3e1 * t925 * t2911 + 0.1e2 / 0.3e1 * t928 * t2911 + 0.5e1 * t931 * t2911 + 0.5e1 * t934 * t2911 + 0.2e2 / 0.3e1 * t937 * t2911 + 0.5e1 / 0.3e1 * t923 * t2911 - 0.4e2 / 0.3e1 * t962 * t2918 + 0.112e3 * t2127 * t2923 + 0.256e3 * t2130 * t2923 - 0.4e2 / 0.3e1 * t965 * t2918 + 0.144e3 * t2081 * t2923 - 0.15e2 * t968 * t2918 + 0.144e3 * t2084 * t2923 + 0.324e3 * t2087 * t2923 + 0.484e3 * t2075 * t2923 - 0.55e2 / 0.3e1 * t983 * t2918; + const double t3232 = -0.35e2 / 0.3e1 * t956 * t2918 + 0.84e2 * t2118 * t2923 + 0.196e3 * t2121 * t2923 - 0.35e2 / 0.3e1 * t959 * t2918 + 0.112e3 * t2124 * t2923 - 0.15e2 * t971 * t2918 + 0.18e3 * t2090 * t2923 - 0.5e2 / 0.3e1 * t974 * t2918 + 0.18e3 * t2094 * t2923 + 0.4e3 * t2097 * t2923 - 0.5e2 / 0.3e1 * t977 * t2918 + 0.22e3 * t2100 * t2923 - 0.55e2 / 0.3e1 * t980 * t2918 + 0.22e3 * t2103 * t2923 + 0.6e2 * t2109 * t2923 + 0.144e3 * t2112 * t2923 - 0.1e2 * t953 * t2918 + 0.84e2 * t2115 * t2923 - 0.1e2 / 0.3e1 * t925 * t2918; + const double t3234 = t3114 + t3153 + t3193 + t3232; + const double t3235 = t3234 * t229; + const double t3236 = t3235 * t288; + const double t3237 = t988 * t231; + const double t3238 = t3237 * t556; + const double t3239 = 0.3e1 * t3238; + const double t3240 = t3237 * t626; + const double t3243 = t290 * t31; + const double t3244 = t36 * t44; + const double t3245 = t3244 * t302; + const double t3248 = t1279 * t31; + const double t3249 = t37 * t50; + const double t3250 = t3249 * t306; + const double t3253 = t50 * t31; + const double t3254 = t3253 * t37; + const double t3257 = t994 * t303; + const double t3260 = t11 * t31; + const double t3261 = t37 * t306; + const double t3262 = t3260 * t3261; + const double t3281 = -0.5e1 / 0.3e1 * t3243 * t3245 + 0.4e1 * t3248 * t3250 + 0.4e1 * t2905 * t3254 - 0.5e1 / 0.3e1 * t854 * t3257 + 0.4e1 * t1942 * t3262 - 0.1e2 / 0.3e1 * t858 * t3257 + 0.16e2 * t1945 * t3262 - 0.1e2 / 0.3e1 * t861 * t3257 + 0.12e2 * t1915 * t3262 - 0.5e1 * t864 * t3257 + 0.12e2 * t1918 * t3262 + 0.36e2 * t1921 * t3262 - 0.5e1 * t867 * t3257; + const double t3310 = 0.196e3 * t1909 * t3262 - 0.35e2 / 0.3e1 * t892 * t3257 + 0.112e3 * t1912 * t3262 - 0.4e2 / 0.3e1 * t895 * t3257 + 0.112e3 * t1782 * t3262 + 0.256e3 * t1785 * t3262 + 0.24e2 * t1924 * t3262 - 0.2e2 / 0.3e1 * t870 * t3257 + 0.24e2 * t1927 * t3262 + 0.64e2 * t1930 * t3262 - 0.2e2 / 0.3e1 * t873 * t3257 + 0.4e2 * t1933 * t3262 - 0.25e2 / 0.3e1 * t876 * t3257 + 0.4e2 * t1936 * t3262; + const double t3338 = 0.1e3 * t1939 * t3262 - 0.25e2 / 0.3e1 * t879 * t3257 + 0.6e2 * t1809 * t3262 - 0.15e2 * t904 * t3257 + 0.18e3 * t1797 * t3262 - 0.5e2 / 0.3e1 * t907 * t3257 + 0.18e3 * t1800 * t3262 + 0.4e3 * t1803 * t3262 - 0.5e2 / 0.3e1 * t910 * t3257 + 0.22e3 * t1806 * t3262 - 0.1e2 * t882 * t3257 + 0.6e2 * t1813 * t3262 + 0.144e3 * t1816 * t3262; + const double t3367 = -0.1e2 * t886 * t3257 + 0.84e2 * t1819 * t3262 - 0.35e2 / 0.3e1 * t889 * t3257 + 0.84e2 * t1906 * t3262 - 0.55e2 / 0.3e1 * t913 * t3257 + 0.22e3 * t1771 * t3262 + 0.484e3 * t1776 * t3262 - 0.55e2 / 0.3e1 * t916 * t3257 + 0.264e3 * t1779 * t3262 - 0.4e2 / 0.3e1 * t898 * t3257 + 0.144e3 * t1788 * t3262 - 0.15e2 * t901 * t3257 + 0.144e3 * t1791 * t3262 + 0.324e3 * t1794 * t3262; + const double t3369 = t3281 + t3310 + t3338 + t3367; + const double t3370 = t3369 * t191; + const double t3371 = t1039 * t484; + const double t3398 = -0.4e2 / 0.3e1 * t962 * t3257 + 0.112e3 * t2127 * t3262 + 0.256e3 * t2130 * t3262 - 0.4e2 / 0.3e1 * t965 * t3257 + 0.144e3 * t2081 * t3262 - 0.15e2 * t968 * t3257 + 0.144e3 * t2084 * t3262 + 0.324e3 * t2087 * t3262 - 0.15e2 * t971 * t3257 + 0.18e3 * t2090 * t3262 - 0.25e2 / 0.3e1 * t943 * t3257 - 0.5e2 / 0.3e1 * t974 * t3257 + 0.18e3 * t2094 * t3262; + const double t3427 = 0.4e3 * t2097 * t3262 - 0.5e2 / 0.3e1 * t977 * t3257 + 0.22e3 * t2100 * t3262 - 0.55e2 / 0.3e1 * t980 * t3257 + 0.22e3 * t2103 * t3262 + 0.484e3 * t2075 * t3262 - 0.55e2 / 0.3e1 * t983 * t3257 + 0.264e3 * t2078 * t3262 - 0.35e2 / 0.3e1 * t959 * t3257 + 0.112e3 * t2124 * t3262 + 0.24e2 * t2057 * t3262 + 0.64e2 * t2060 * t3262 - 0.2e2 / 0.3e1 * t940 * t3257 + 0.4e2 * t2063 * t3262; + const double t3439 = t486 * t31; + const double t3442 = t1580 * t31; + const double t3457 = -0.5e1 / 0.3e1 * t923 * t3257 + 0.4e1 * t2072 * t3262 - 0.1e2 / 0.3e1 * t925 * t3257 + 0.16e2 * t2046 * t3262 - 0.1e2 / 0.3e1 * t928 * t3257 - 0.5e1 / 0.3e1 * t3439 * t3245 + 0.4e1 * t3442 * t3250 + 0.4e1 * t3103 * t3254 + 0.4e2 * t2066 * t3262 + 0.1e3 * t2069 * t3262 - 0.25e2 / 0.3e1 * t946 * t3257 + 0.6e2 * t2106 * t3262 - 0.1e2 * t949 * t3257; + const double t3486 = 0.6e2 * t2109 * t3262 + 0.144e3 * t2112 * t3262 - 0.1e2 * t953 * t3257 + 0.84e2 * t2115 * t3262 - 0.35e2 / 0.3e1 * t956 * t3257 + 0.84e2 * t2118 * t3262 + 0.196e3 * t2121 * t3262 + 0.12e2 * t2043 * t3262 - 0.5e1 * t931 * t3257 + 0.12e2 * t2133 * t3262 + 0.36e2 * t2049 * t3262 - 0.5e1 * t934 * t3257 + 0.24e2 * t2054 * t3262 - 0.2e2 / 0.3e1 * t937 * t3257; + const double t3488 = t3398 + t3427 + t3457 + t3486; + const double t3489 = t3488 * t229; + const double t3490 = t3489 * t288; + const double t3491 = t1086 * t231; + const double t3492 = t3491 * t556; + const double t3493 = 0.3e1 * t3492; + const double t3494 = t3491 * t626; + const double t3497 = t855 * t632; + const double t3500 = t26 * t643; + const double t3501 = t2921 * t3500; + const double t3526 = -0.55e2 / 0.3e1 * t916 * t3497 + 0.264e3 * t1779 * t3501 + 0.144e3 * t1791 * t3501 + 0.324e3 * t1794 * t3501 - 0.15e2 * t904 * t3497 + 0.18e3 * t1797 * t3501 - 0.5e2 / 0.3e1 * t907 * t3497 + 0.18e3 * t1800 * t3501 + 0.4e3 * t1803 * t3501 - 0.5e2 / 0.3e1 * t910 * t3497 + 0.22e3 * t1806 * t3501 - 0.55e2 / 0.3e1 * t913 * t3497 + 0.22e3 * t1771 * t3501; + const double t3555 = 0.484e3 * t1776 * t3501 + 0.84e2 * t1819 * t3501 - 0.35e2 / 0.3e1 * t889 * t3497 + 0.84e2 * t1906 * t3501 + 0.196e3 * t1909 * t3501 - 0.35e2 / 0.3e1 * t892 * t3497 + 0.112e3 * t1912 * t3501 - 0.4e2 / 0.3e1 * t895 * t3497 + 0.112e3 * t1782 * t3501 + 0.256e3 * t1785 * t3501 - 0.4e2 / 0.3e1 * t898 * t3497 + 0.144e3 * t1788 * t3501 - 0.15e2 * t901 * t3497 - 0.2e2 / 0.3e1 * t873 * t3497; + const double t3583 = 0.4e2 * t1933 * t3501 + 0.12e2 * t1918 * t3501 + 0.36e2 * t1921 * t3501 - 0.5e1 * t867 * t3497 + 0.24e2 * t1924 * t3501 - 0.2e2 / 0.3e1 * t870 * t3497 + 0.24e2 * t1927 * t3501 + 0.64e2 * t1930 * t3501 - 0.5e1 / 0.3e1 * t854 * t3497 + 0.4e1 * t1942 * t3501 - 0.25e2 / 0.3e1 * t876 * t3497 + 0.4e2 * t1936 * t3501 + 0.1e3 * t1939 * t3501; + const double t3606 = t2896 * t631; + const double t3609 = t2901 * t643; + const double t3612 = t1273 * t643; + const double t3615 = -0.25e2 / 0.3e1 * t879 * t3497 + 0.6e2 * t1809 * t3501 - 0.1e2 * t882 * t3497 + 0.6e2 * t1813 * t3501 + 0.144e3 * t1816 * t3501 - 0.1e2 * t886 * t3497 - 0.1e2 / 0.3e1 * t858 * t3497 + 0.16e2 * t1945 * t3501 - 0.1e2 / 0.3e1 * t861 * t3497 + 0.12e2 * t1915 * t3501 - 0.5e1 * t864 * t3497 - 0.5e1 / 0.3e1 * t2895 * t3606 + 0.4e1 * t2900 * t3609 + 0.4e1 * t3612 * t2907; + const double t3617 = t3526 + t3555 + t3583 + t3615; + const double t3618 = t3617 * t191; + const double t3619 = t920 * t715; + const double t3646 = 0.264e3 * t2078 * t3501 + 0.112e3 * t2127 * t3501 + 0.256e3 * t2130 * t3501 - 0.4e2 / 0.3e1 * t965 * t3497 + 0.144e3 * t2081 * t3501 - 0.15e2 * t968 * t3497 + 0.144e3 * t2084 * t3501 + 0.324e3 * t2087 * t3501 - 0.15e2 * t971 * t3497 + 0.18e3 * t2090 * t3501 - 0.5e2 / 0.3e1 * t974 * t3497 + 0.18e3 * t2094 * t3501 + 0.4e3 * t2097 * t3501; + const double t3675 = 0.64e2 * t2060 * t3501 - 0.2e2 / 0.3e1 * t940 * t3497 + 0.4e2 * t2063 * t3501 - 0.25e2 / 0.3e1 * t943 * t3497 + 0.4e2 * t2066 * t3501 + 0.1e3 * t2069 * t3501 - 0.25e2 / 0.3e1 * t946 * t3497 - 0.5e1 / 0.3e1 * t923 * t3497 + 0.4e1 * t2072 * t3501 + 0.84e2 * t2118 * t3501 + 0.196e3 * t2121 * t3501 - 0.35e2 / 0.3e1 * t959 * t3497 + 0.112e3 * t2124 * t3501 - 0.4e2 / 0.3e1 * t962 * t3497; + const double t3703 = -0.5e1 * t934 * t3497 + 0.24e2 * t2054 * t3501 - 0.2e2 / 0.3e1 * t937 * t3497 + 0.24e2 * t2057 * t3501 + 0.6e2 * t2106 * t3501 - 0.1e2 * t949 * t3497 + 0.6e2 * t2109 * t3501 + 0.144e3 * t2112 * t3501 - 0.1e2 * t953 * t3497 + 0.84e2 * t2115 * t3501 - 0.35e2 / 0.3e1 * t956 * t3497 - 0.1e2 / 0.3e1 * t925 * t3497 + 0.16e2 * t2046 * t3501; + const double t3714 = t1576 * t643; + const double t3733 = -0.1e2 / 0.3e1 * t928 * t3497 + 0.12e2 * t2043 * t3501 - 0.5e1 * t931 * t3497 + 0.12e2 * t2133 * t3501 + 0.36e2 * t2049 * t3501 + 0.4e1 * t3714 * t2907 - 0.5e1 / 0.3e1 * t3097 * t3606 + 0.4e1 * t3100 * t3609 - 0.5e2 / 0.3e1 * t977 * t3497 + 0.22e3 * t2100 * t3501 - 0.55e2 / 0.3e1 * t980 * t3497 + 0.22e3 * t2103 * t3501 + 0.484e3 * t2075 * t3501 - 0.55e2 / 0.3e1 * t983 * t3497; + const double t3735 = t3646 + t3675 + t3703 + t3733; + const double t3736 = t3735 * t229; + const double t3737 = t3736 * t288; + const double t3738 = t3237 * t772; + const double t3739 = 0.3e1 * t3738; + const double t3740 = t3237 * t810; + const double t3743 = t37 * t643; + const double t3744 = t3260 * t3743; + const double t3749 = t994 * t640; + const double t3760 = t636 * t37; + const double t3761 = t3760 * t44; + const double t3786 = 0.6e2 * t1813 * t3744 + 0.144e3 * t1816 * t3744 - 0.1e2 * t886 * t3749 + 0.84e2 * t1819 * t3744 - 0.35e2 / 0.3e1 * t889 * t3749 + 0.84e2 * t1906 * t3744 + 0.196e3 * t1909 * t3744 + 0.5e1 / 0.3e1 * t290 * t3761 + 0.112e3 * t1782 * t3744 + 0.256e3 * t1785 * t3744 - 0.4e2 / 0.3e1 * t898 * t3749 + 0.144e3 * t1788 * t3744 - 0.15e2 * t901 * t3749 + 0.144e3 * t1791 * t3744 + 0.324e3 * t1794 * t3744 - 0.15e2 * t904 * t3749 + 0.18e3 * t1797 * t3744 - 0.5e2 / 0.3e1 * t907 * t3749 - 0.1e2 / 0.3e1 * t861 * t3749; + const double t3821 = t3244 * t639; + const double t3824 = t3249 * t643; + const double t3827 = 0.12e2 * t1915 * t3744 - 0.5e1 * t864 * t3749 + 0.12e2 * t1918 * t3744 + 0.36e2 * t1921 * t3744 - 0.5e1 * t867 * t3749 + 0.24e2 * t1924 * t3744 - 0.2e2 / 0.3e1 * t870 * t3749 + 0.24e2 * t1927 * t3744 + 0.64e2 * t1930 * t3744 - 0.5e1 / 0.3e1 * t854 * t3749 + 0.4e1 * t1942 * t3744 - 0.1e2 / 0.3e1 * t858 * t3749 + 0.16e2 * t1945 * t3744 - 0.35e2 / 0.3e1 * t892 * t3749 + 0.112e3 * t1912 * t3744 - 0.4e2 / 0.3e1 * t895 * t3749 + 0.4e1 * t3612 * t3254 - 0.5e1 / 0.3e1 * t3243 * t3821 + 0.4e1 * t3248 * t3824; + const double t3829 = t12 * t636; + const double t3830 = t3829 * t37; + const double t3869 = 0.5e1 / 0.3e1 * t854 * t3830 + 0.1e2 / 0.3e1 * t858 * t3830 + 0.1e2 / 0.3e1 * t861 * t3830 + 0.5e1 * t864 * t3830 + 0.5e1 * t867 * t3830 - 0.2e2 / 0.3e1 * t873 * t3749 + 0.4e2 * t1933 * t3744 - 0.25e2 / 0.3e1 * t876 * t3749 + 0.2e2 / 0.3e1 * t870 * t3830 + 0.2e2 / 0.3e1 * t873 * t3830 + 0.25e2 / 0.3e1 * t876 * t3830 + 0.25e2 / 0.3e1 * t879 * t3830 + 0.1e2 * t882 * t3830 + 0.1e2 * t886 * t3830 + 0.35e2 / 0.3e1 * t889 * t3830 + 0.35e2 / 0.3e1 * t892 * t3830 + 0.4e2 / 0.3e1 * t895 * t3830 + 0.4e2 / 0.3e1 * t898 * t3830 + 0.15e2 * t901 * t3830; + const double t3908 = 0.15e2 * t904 * t3830 + 0.5e2 / 0.3e1 * t907 * t3830 + 0.5e2 / 0.3e1 * t910 * t3830 + 0.55e2 / 0.3e1 * t913 * t3830 + 0.55e2 / 0.3e1 * t916 * t3830 + 0.4e2 * t1936 * t3744 + 0.1e3 * t1939 * t3744 - 0.25e2 / 0.3e1 * t879 * t3749 + 0.6e2 * t1809 * t3744 - 0.1e2 * t882 * t3749 + 0.18e3 * t1800 * t3744 + 0.4e3 * t1803 * t3744 - 0.5e2 / 0.3e1 * t910 * t3749 + 0.22e3 * t1806 * t3744 - 0.55e2 / 0.3e1 * t913 * t3749 + 0.22e3 * t1771 * t3744 + 0.484e3 * t1776 * t3744 - 0.55e2 / 0.3e1 * t916 * t3749 + 0.264e3 * t1779 * t3744; + const double t3910 = t3786 + t3827 + t3869 + t3908; + const double t3911 = t3910 * t191; + const double t3912 = t1039 * t715; + const double t3951 = 0.18e3 * t2090 * t3744 - 0.5e2 / 0.3e1 * t974 * t3749 + 0.18e3 * t2094 * t3744 + 0.4e3 * t2097 * t3744 - 0.5e2 / 0.3e1 * t977 * t3749 + 0.22e3 * t2100 * t3744 - 0.55e2 / 0.3e1 * t980 * t3749 + 0.22e3 * t2103 * t3744 + 0.484e3 * t2075 * t3744 - 0.55e2 / 0.3e1 * t983 * t3749 + 0.264e3 * t2078 * t3744 + 0.5e1 / 0.3e1 * t486 * t3761 - 0.25e2 / 0.3e1 * t946 * t3749 + 0.6e2 * t2106 * t3744 - 0.1e2 * t949 * t3749 + 0.6e2 * t2109 * t3744 + 0.144e3 * t2112 * t3744 - 0.1e2 * t953 * t3749 + 0.84e2 * t2115 * t3744; + const double t3990 = -0.5e1 * t934 * t3749 + 0.24e2 * t2054 * t3744 - 0.2e2 / 0.3e1 * t937 * t3749 + 0.24e2 * t2057 * t3744 + 0.64e2 * t2060 * t3744 - 0.2e2 / 0.3e1 * t940 * t3749 + 0.4e2 * t2063 * t3744 - 0.25e2 / 0.3e1 * t943 * t3749 + 0.4e2 * t2066 * t3744 + 0.1e3 * t2069 * t3744 - 0.5e1 / 0.3e1 * t923 * t3749 + 0.4e1 * t2072 * t3744 - 0.1e2 / 0.3e1 * t925 * t3749 + 0.16e2 * t2046 * t3744 - 0.1e2 / 0.3e1 * t928 * t3749 + 0.12e2 * t2043 * t3744 - 0.5e1 * t931 * t3749 + 0.12e2 * t2133 * t3744 + 0.36e2 * t2049 * t3744; + const double t4030 = -0.35e2 / 0.3e1 * t956 * t3749 + 0.84e2 * t2118 * t3744 + 0.196e3 * t2121 * t3744 - 0.35e2 / 0.3e1 * t959 * t3749 + 0.112e3 * t2124 * t3744 - 0.4e2 / 0.3e1 * t962 * t3749 + 0.112e3 * t2127 * t3744 + 0.256e3 * t2130 * t3744 - 0.4e2 / 0.3e1 * t965 * t3749 + 0.144e3 * t2081 * t3744 - 0.15e2 * t968 * t3749 + 0.144e3 * t2084 * t3744 + 0.324e3 * t2087 * t3744 - 0.15e2 * t971 * t3749 + 0.1e2 / 0.3e1 * t928 * t3830 + 0.5e1 * t931 * t3830 + 0.5e1 * t934 * t3830 + 0.2e2 / 0.3e1 * t937 * t3830 + 0.2e2 / 0.3e1 * t940 * t3830; + const double t4069 = 0.25e2 / 0.3e1 * t943 * t3830 + 0.25e2 / 0.3e1 * t946 * t3830 + 0.1e2 * t949 * t3830 + 0.1e2 * t953 * t3830 + 0.35e2 / 0.3e1 * t956 * t3830 + 0.35e2 / 0.3e1 * t959 * t3830 + 0.4e2 / 0.3e1 * t962 * t3830 + 0.4e2 / 0.3e1 * t965 * t3830 + 0.15e2 * t968 * t3830 + 0.15e2 * t971 * t3830 + 0.5e2 / 0.3e1 * t974 * t3830 + 0.5e2 / 0.3e1 * t977 * t3830 + 0.55e2 / 0.3e1 * t980 * t3830 + 0.55e2 / 0.3e1 * t983 * t3830 - 0.5e1 / 0.3e1 * t3439 * t3821 + 0.4e1 * t3442 * t3824 + 0.4e1 * t3714 * t3254 + 0.5e1 / 0.3e1 * t923 * t3830 + 0.1e2 / 0.3e1 * t925 * t3830; + const double t4071 = t3951 + t3990 + t4030 + t4069; + const double t4072 = t4071 * t229; + const double t4073 = t4072 * t288; + const double t4074 = t3491 * t772; + const double t4075 = 0.3e1 * t4074; + const double t4076 = t3491 * t810; + const double t4079 = t830 * t262; + const double t4081 = t602 * t283; + const double t4082 = t578 * t4081; + const double t4083 = t4079 * t1677 * t4082; + const double t4085 = t825 * t825; + const double t4086 = t4085 * t830; + const double t4090 = 0.1e1 / t829 / t229; + const double t4091 = t278 * t4090; + const double t4092 = t1733 * t574; + const double t4093 = t4092 * t4085; + const double t4096 = t612 * t574; + const double t4097 = t4096 * t266; + const double t4098 = t4091 * t4097; + const double t4099 = t4098 * t275; + const double t4101 = 0.28234466758480466999e-3 * t4083 - 0.8673628188205199462e0 * t4086 * t832 + 0.57119737665102352616e0 * t4091 * t4093 - 0.1859366460452550541e-3 * t4099; + const double t4103 = t241 * t4101 * t625; + const double t4105 = t836 * t836; + const double t4107 = t241 * t4105 * t1766; + const double t4110 = t841 * t830; + const double t4113 = t4091 * t1733; + const double t4114 = t2815 * t825; + const double t4118 = 0.56468933516960933999e-3 * t4083 - 0.8673628188205199462e0 * t4110 * t833 + 0.57119737665102352616e0 * t4113 * t4114 - 0.3718732920905101082e-3 * t4099; + const double t4120 = t241 * t4118 * t625; + const double t4122 = t1766 * t836; + const double t4123 = t2790 * t4122; + const double t4126 = t841 * t841; + const double t4127 = t4126 * t830; + const double t4130 = t4092 * t4126; + const double t4134 = 0.112937867033921868e-2 * t4083 - 0.8673628188205199462e0 * t4127 * t832 + 0.57119737665102352616e0 * t4091 * t4130 - 0.74374658418102021641e-3 * t4099; + const double t4136 = t241 * t4134 * t625; + const double t4138 = t848 * t848; + const double t4140 = t241 * t4138 * t1766; + const double t4142 = t19 * t987; + const double t4143 = t4142 * t229; + const double t4144 = t19 * t1085; + const double t4145 = t4144 * t229; + const double t4147 = 0.1e1 / t13 / t1104; + const double t4148 = t23 * t23; + const double t4150 = t24 * t4148 * t23; + const double t4151 = t4147 * t4150; + const double t4152 = t4151 * t50; + const double t4157 = t11 * t4147; + const double t4158 = t4157 * t4150; + const double t4187 = 0.4e1 * t1273 * t4152 + 0.4e1 * t1279 * t4152 + 0.22e3 * t1771 * t4158 + 0.484e3 * t1776 * t4158 + 0.264e3 * t1779 * t4158 + 0.112e3 * t1782 * t4158 + 0.256e3 * t1785 * t4158 + 0.4e3 * t1803 * t4158 + 0.22e3 * t1806 * t4158 + 0.6e2 * t1809 * t4158 + 0.6e2 * t1813 * t4158 + 0.144e3 * t1816 * t4158 + 0.84e2 * t1819 * t4158 + 0.84e2 * t1906 * t4158 + 0.196e3 * t1909 * t4158 + 0.112e3 * t1912 * t4158; + const double t4220 = 0.144e3 * t1788 * t4158 + 0.144e3 * t1791 * t4158 + 0.324e3 * t1794 * t4158 + 0.18e3 * t1797 * t4158 + 0.18e3 * t1800 * t4158 + 0.12e2 * t1915 * t4158 + 0.12e2 * t1918 * t4158 + 0.36e2 * t1921 * t4158 + 0.24e2 * t1924 * t4158 + 0.24e2 * t1927 * t4158 + 0.64e2 * t1930 * t4158 + 0.4e2 * t1933 * t4158 + 0.4e2 * t1936 * t4158 + 0.1e3 * t1939 * t4158 + 0.4e1 * t1942 * t4158 + 0.16e2 * t1945 * t4158; + const double t4221 = t4187 + t4220; + const double t4222 = t4221 * t191; + const double t4255 = 0.4e1 * t1576 * t4152 + 0.4e1 * t1580 * t4152 + 0.24e2 * t2054 * t4158 + 0.24e2 * t2057 * t4158 + 0.64e2 * t2060 * t4158 + 0.484e3 * t2075 * t4158 + 0.264e3 * t2078 * t4158 + 0.144e3 * t2081 * t4158 + 0.144e3 * t2084 * t4158 + 0.324e3 * t2087 * t4158 + 0.18e3 * t2090 * t4158 + 0.18e3 * t2094 * t4158 + 0.4e3 * t2097 * t4158 + 0.22e3 * t2100 * t4158 + 0.22e3 * t2103 * t4158 + 0.256e3 * t2130 * t4158; + const double t4288 = 0.12e2 * t2043 * t4158 + 0.16e2 * t2046 * t4158 + 0.36e2 * t2049 * t4158 + 0.4e2 * t2063 * t4158 + 0.4e2 * t2066 * t4158 + 0.1e3 * t2069 * t4158 + 0.4e1 * t2072 * t4158 + 0.6e2 * t2106 * t4158 + 0.6e2 * t2109 * t4158 + 0.144e3 * t2112 * t4158 + 0.84e2 * t2115 * t4158 + 0.84e2 * t2118 * t4158 + 0.196e3 * t2121 * t4158 + 0.112e3 * t2124 * t4158 + 0.112e3 * t2127 * t4158 + 0.12e2 * t2133 * t4158; + const double t4289 = t4255 + t4288; + const double t4290 = t4289 * t229; + const double t4291 = t4290 * t288; + const double t4293 = t42 * t1168; + const double t4294 = t991 * t851; + const double t4297 = t312 * t1168; + const double t4300 = t48 * t1233; + const double t4303 = t1239 * t1168; + const double t4306 = t319 * t1233; + const double t4309 = t54 * t1202; + const double t4312 = t1252 * t1233; + const double t4315 = t326 * t1202; + const double t4318 = t60 * t1195; + const double t4321 = t1201 * t1202; + const double t4324 = t333 * t1195; + const double t4327 = t66 * t1146; + const double t4330 = t1217 * t1195; + const double t4333 = t340 * t1146; + const double t4336 = t72 * t1150; + const double t4339 = t1145 * t1146; + const double t4342 = 0.4e1 * t4293 * t4294 + 0.16e2 * t4297 * t4294 + 0.12e2 * t4300 * t4294 + 0.12e2 * t4303 * t4294 + 0.36e2 * t4306 * t4294 + 0.24e2 * t4309 * t4294 + 0.24e2 * t4312 * t4294 + 0.64e2 * t4315 * t4294 + 0.4e2 * t4318 * t4294 + 0.4e2 * t4321 * t4294 + 0.1e3 * t4324 * t4294 + 0.6e2 * t4327 * t4294 + 0.6e2 * t4330 * t4294 + 0.144e3 * t4333 * t4294 + 0.84e2 * t4336 * t4294 + 0.84e2 * t4339 * t4294; + const double t4343 = t348 * t1150; + const double t4346 = t78 * t1157; + const double t4349 = t1163 * t1150; + const double t4352 = t355 * t1157; + const double t4355 = t84 * t1178; + const double t4358 = t1184 * t1157; + const double t4361 = t362 * t1178; + const double t4364 = t90 * t1095; + const double t4367 = t1261 * t1178; + const double t4370 = t369 * t1095; + const double t4373 = t96 * t1100; + const double t4376 = t1094 * t1095; + const double t4379 = t376 * t1100; + const double t4382 = t102 * t1138; + const double t4385 = t1273 * t16; + const double t4386 = t2901 * t991; + const double t4389 = t3249 * t851; + const double t4392 = 0.4e1 * t3248 * t4389 + 0.196e3 * t4343 * t4294 + 0.112e3 * t4346 * t4294 + 0.112e3 * t4349 * t4294 + 0.256e3 * t4352 * t4294 + 0.144e3 * t4355 * t4294 + 0.144e3 * t4358 * t4294 + 0.324e3 * t4361 * t4294 + 0.18e3 * t4364 * t4294 + 0.18e3 * t4367 * t4294 + 0.4e3 * t4370 * t4294 + 0.22e3 * t4373 * t4294 + 0.22e3 * t4376 * t4294 + 0.484e3 * t4379 * t4294 + 0.264e3 * t4382 * t4294 + 0.4e1 * t4385 * t4386; + const double t4393 = t4342 + t4392; + const double t4394 = t4393 * t191; + const double t4395 = t219 * t1095; + const double t4398 = t1503 * t1178; + const double t4401 = t530 * t1095; + const double t4404 = t222 * t1100; + const double t4407 = t1513 * t1095; + const double t4410 = t535 * t1100; + const double t4413 = t1576 * t16; + const double t4416 = t1557 * t1168; + const double t4419 = t494 * t1233; + const double t4422 = t201 * t1202; + const double t4425 = t1568 * t1233; + const double t4428 = t499 * t1202; + const double t4431 = t204 * t1195; + const double t4434 = t1587 * t1202; + const double t4437 = t504 * t1195; + const double t4440 = t207 * t1146; + const double t4443 = 0.18e3 * t4395 * t4294 + 0.18e3 * t4398 * t4294 + 0.4e3 * t4401 * t4294 + 0.22e3 * t4404 * t4294 + 0.22e3 * t4407 * t4294 + 0.484e3 * t4410 * t4294 + 0.12e2 * t4416 * t4294 + 0.36e2 * t4419 * t4294 + 0.24e2 * t4422 * t4294 + 0.24e2 * t4425 * t4294 + 0.64e2 * t4428 * t4294 + 0.4e2 * t4431 * t4294 + 0.4e2 * t4434 * t4294 + 0.1e3 * t4437 * t4294 + 0.6e2 * t4440 * t4294 + 0.4e1 * t4413 * t4386; + const double t4444 = t1533 * t1195; + const double t4447 = t509 * t1146; + const double t4450 = t210 * t1150; + const double t4453 = t1546 * t1146; + const double t4456 = t515 * t1150; + const double t4459 = t213 * t1157; + const double t4462 = t1522 * t1150; + const double t4465 = t520 * t1157; + const double t4468 = t216 * t1178; + const double t4471 = t1492 * t1157; + const double t4474 = t525 * t1178; + const double t4477 = t225 * t1138; + const double t4480 = t195 * t1168; + const double t4483 = t489 * t1168; + const double t4486 = t198 * t1233; + const double t4491 = 0.4e1 * t3442 * t4389 + 0.6e2 * t4444 * t4294 + 0.144e3 * t4447 * t4294 + 0.84e2 * t4450 * t4294 + 0.84e2 * t4453 * t4294 + 0.196e3 * t4456 * t4294 + 0.112e3 * t4459 * t4294 + 0.112e3 * t4462 * t4294 + 0.256e3 * t4465 * t4294 + 0.144e3 * t4468 * t4294 + 0.144e3 * t4471 * t4294 + 0.324e3 * t4474 * t4294 + 0.264e3 * t4477 * t4294 + 0.4e1 * t4480 * t4294 + 0.16e2 * t4483 * t4294 + 0.12e2 * t4486 * t4294; + const double t4492 = t4443 + t4491; + const double t4493 = t4492 * t229; + const double t4494 = t4493 * t288; + const double t4497 = 0.1e1 / t28 / t2316; + const double t4498 = t34 * t34; + const double t4500 = t35 * t4498 * t34; + const double t4501 = t4497 * t4500; + const double t4502 = t4501 * t50; + const double t4507 = t11 * t4497; + const double t4508 = t4507 * t4500; + const double t4537 = 0.4e1 * t1273 * t4502 + 0.4e1 * t1279 * t4502 + 0.22e3 * t1771 * t4508 + 0.484e3 * t1776 * t4508 + 0.264e3 * t1779 * t4508 + 0.144e3 * t1791 * t4508 + 0.324e3 * t1794 * t4508 + 0.18e3 * t1797 * t4508 + 0.18e3 * t1800 * t4508 + 0.4e3 * t1803 * t4508 + 0.22e3 * t1806 * t4508 + 0.24e2 * t1924 * t4508 + 0.24e2 * t1927 * t4508 + 0.64e2 * t1930 * t4508 + 0.4e2 * t1933 * t4508 + 0.4e2 * t1936 * t4508; + const double t4570 = 0.112e3 * t1782 * t4508 + 0.256e3 * t1785 * t4508 + 0.144e3 * t1788 * t4508 + 0.6e2 * t1809 * t4508 + 0.6e2 * t1813 * t4508 + 0.144e3 * t1816 * t4508 + 0.84e2 * t1819 * t4508 + 0.84e2 * t1906 * t4508 + 0.196e3 * t1909 * t4508 + 0.112e3 * t1912 * t4508 + 0.12e2 * t1915 * t4508 + 0.12e2 * t1918 * t4508 + 0.36e2 * t1921 * t4508 + 0.1e3 * t1939 * t4508 + 0.4e1 * t1942 * t4508 + 0.16e2 * t1945 * t4508; + const double t4571 = t4537 + t4570; + const double t4572 = t4571 * t191; + const double t4605 = 0.4e1 * t1576 * t4502 + 0.4e1 * t1580 * t4502 + 0.12e2 * t2043 * t4508 + 0.16e2 * t2046 * t4508 + 0.36e2 * t2049 * t4508 + 0.24e2 * t2054 * t4508 + 0.484e3 * t2075 * t4508 + 0.144e3 * t2081 * t4508 + 0.144e3 * t2084 * t4508 + 0.324e3 * t2087 * t4508 + 0.18e3 * t2090 * t4508 + 0.18e3 * t2094 * t4508 + 0.4e3 * t2097 * t4508 + 0.22e3 * t2100 * t4508 + 0.22e3 * t2103 * t4508 + 0.12e2 * t2133 * t4508; + const double t4638 = 0.24e2 * t2057 * t4508 + 0.64e2 * t2060 * t4508 + 0.4e2 * t2063 * t4508 + 0.4e2 * t2066 * t4508 + 0.1e3 * t2069 * t4508 + 0.4e1 * t2072 * t4508 + 0.264e3 * t2078 * t4508 + 0.6e2 * t2106 * t4508 + 0.6e2 * t2109 * t4508 + 0.144e3 * t2112 * t4508 + 0.84e2 * t2115 * t4508 + 0.84e2 * t2118 * t4508 + 0.196e3 * t2121 * t4508 + 0.112e3 * t2124 * t4508 + 0.112e3 * t2127 * t4508 + 0.256e3 * t2130 * t4508; + const double t4639 = t4605 + t4638; + const double t4640 = t4639 * t229; + const double t4641 = t4640 * t288; + + + vrho_a = t192 + t289 + t19 * ( t387 + t485 + t543 + t558 + t627 ); + vrho_b = t192 + t289 + t19 * ( t701 + t716 + t763 + t774 + t811 ); + vsigma_aa = t815 * t838; + vsigma_ab = t815 * t850; + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t19 * ( t921 + t989 ); + vtau_b = t19 * ( t1040 + t1087 ); + v2rho2_aa = t19 * t1769 + 0.2e1 * t387 + 0.2e1 * t485 + 0.2e1 * t543 + 0.6e1 * t557 + 0.2e1 * t627; + v2rho2_ab = t19 * t2295 + t387 + t485 + t543 + t558 + t627 + t701 + t716 + t763 + t774 + t811; + v2rho2_bb = t19 * t2730 + 0.2e1 * t701 + 0.2e1 * t716 + 0.2e1 * t763 + 0.6e1 * t773 + 0.2e1 * t811; + v2rhosigma_a_aa = t2736 * t838 + 0.3e1 * t2739 * t2741 - t2739 * t2788 + t815 * t2786 + t2734; + v2rhosigma_a_ab = t2736 * t850 + 0.3e1 * t2739 * t2795 - t2739 * t2826 + t815 * t2824 + t2792; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = 0.3e1 * t2739 * t2831 - t2739 * t2863 + t2829 * t838 + t815 * t2860 + t2734; + v2rhosigma_b_ab = 0.3e1 * t2739 * t2866 - t2739 * t2893 + t2829 * t850 + t815 * t2891 + t2792; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t921 + t989 + t19 * ( t3071 + t3072 + t3236 + t3239 + t3240 ); + v2rhotau_a_b = t1040 + t1087 + t19 * ( t3370 + t3371 + t3490 + t3493 + t3494 ); + v2rhotau_b_a = t921 + t989 + t19 * ( t3618 + t3619 + t3737 + t3739 + t3740 ); + v2rhotau_b_b = t1040 + t1087 + t19 * ( t3911 + t3912 + t4073 + t4075 + t4076 ); + v2sigma2_aa_aa = t815 * t4103 - t815 * t4107; + v2sigma2_aa_ab = -t2739 * t4123 + t815 * t4120; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t815 * t4136 - t815 * t4140; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4143 * t838; + v2sigmatau_aa_b = t4145 * t838; + v2sigmatau_ab_a = t4143 * t850; + v2sigmatau_ab_b = t4145 * t850; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t19 * ( t4222 + t4291 ); + v2tau2_ab = t19 * ( t4394 + t4494 ); + v2tau2_bb = t19 * ( t4572 + t4641 ); + + } + + +}; + +struct BuiltinMN15_L_C : detail::BuiltinKernelImpl< BuiltinMN15_L_C > { + + BuiltinMN15_L_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN15_L_C >(p) { } + + virtual ~BuiltinMN15_L_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn15_l_x.hpp b/include/exchcxx/impl/builtin/kernels/mn15_l_x.hpp new file mode 100644 index 0000000..3fb02d0 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn15_l_x.hpp @@ -0,0 +1,5646 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN15_L_X > : + public mgga_screening_interface< BuiltinMN15_L_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_0 = 0.670864162; + static constexpr double c_1 = -0.822003903; + static constexpr double c_2 = -1.022407046; + static constexpr double c_3 = 1.689460986; + static constexpr double c_4 = -0.00562032; + static constexpr double c_5 = -0.110293849; + static constexpr double c_6 = 0.972245178; + static constexpr double c_7 = -6.697641991; + static constexpr double c_8 = -4.322814495; + static constexpr double c_9 = -6.786641376; + static constexpr double c_10 = -5.687461462; + static constexpr double c_11 = 9.419643818; + static constexpr double c_12 = 11.83939406; + static constexpr double c_13 = 5.086951311; + static constexpr double c_14 = 4.302369948; + static constexpr double c_15 = -8.07344065; + static constexpr double c_16 = 2.429988978; + static constexpr double c_17 = 11.09485698; + static constexpr double c_18 = 1.247333909; + static constexpr double c_19 = 3.700485291; + static constexpr double c_20 = 0.867791614; + static constexpr double c_21 = -0.591190518; + static constexpr double c_22 = -0.295305435; + static constexpr double c_23 = -5.825759145; + static constexpr double c_24 = 2.537532196; + static constexpr double c_25 = 3.143390933; + static constexpr double c_26 = 2.939126332; + static constexpr double c_27 = 0.599342114; + static constexpr double c_28 = 2.241702738; + static constexpr double c_29 = 2.035713838; + static constexpr double c_30 = -1.525344043; + static constexpr double c_31 = -2.325875691; + static constexpr double c_32 = 1.141940663; + static constexpr double c_33 = -1.563165026; + static constexpr double c_34 = 7.882032871; + static constexpr double c_35 = 11.93400684; + static constexpr double c_36 = 9.852928303; + static constexpr double c_37 = 0.584030245; + static constexpr double c_38 = -0.720941131; + static constexpr double c_39 = -2.836037078; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + + + eps = 0.2e1 * t229; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + + + eps = 0.2e1 * t229; + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + + + eps = t234 + t396; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + + + eps = t234 + t396; + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinMN15_L_X : detail::BuiltinKernelImpl< BuiltinMN15_L_X > { + + BuiltinMN15_L_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN15_L_X >(p) { } + + virtual ~BuiltinMN15_L_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mn15_x.hpp b/include/exchcxx/impl/builtin/kernels/mn15_x.hpp new file mode 100644 index 0000000..c576394 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mn15_x.hpp @@ -0,0 +1,5647 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMN15_X > : + public mgga_screening_interface< BuiltinMN15_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_0 = 0.073852235; + static constexpr double c_1 = -0.839976156; + static constexpr double c_2 = -3.082660125; + static constexpr double c_3 = -1.02881285; + static constexpr double c_4 = -0.811697255; + static constexpr double c_5 = -0.063404387; + static constexpr double c_6 = 2.54805518; + static constexpr double c_7 = -5.031578906; + static constexpr double c_8 = 0.31702159; + static constexpr double c_9 = 2.981868205; + static constexpr double c_10 = -0.749503735; + static constexpr double c_11 = 0.231825661; + static constexpr double c_12 = 1.261961411; + static constexpr double c_13 = 1.665920815; + static constexpr double c_14 = 7.483304941; + static constexpr double c_15 = -2.544245723; + static constexpr double c_16 = 1.384720031; + static constexpr double c_17 = 6.902569885; + static constexpr double c_18 = 1.657399451; + static constexpr double c_19 = 2.98526709; + static constexpr double c_20 = 6.89391326; + static constexpr double c_21 = 2.489813993; + static constexpr double c_22 = 1.454724691; + static constexpr double c_23 = -5.054324071; + static constexpr double c_24 = 2.35273334; + static constexpr double c_25 = 1.299104132; + static constexpr double c_26 = 1.203168217; + static constexpr double c_27 = 0.121595877; + static constexpr double c_28 = 8.048348238; + static constexpr double c_29 = 21.91203659; + static constexpr double c_30 = -1.852335832; + static constexpr double c_31 = -3.4722735; + static constexpr double c_32 = -1.564591493; + static constexpr double c_33 = -2.29578769; + static constexpr double c_34 = 3.666482991; + static constexpr double c_35 = 10.87074639; + static constexpr double c_36 = 9.696691388; + static constexpr double c_37 = 0.630701064; + static constexpr double c_38 = -0.505825216; + static constexpr double c_39 = -3.562354535; + static constexpr double ax = 0.44; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + + + eps = 0.2e1 * t229; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + + + eps = 0.2e1 * t229; + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t30 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = c_1; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t26; + constexpr double t29 = 0.3e1 / 0.1e2 * t24 * t27; + constexpr double t31 = t30 * t30; + constexpr double t42 = c_2; + constexpr double t48 = c_3; + constexpr double t54 = c_4; + constexpr double t60 = c_5; + constexpr double t67 = c_7; + constexpr double t70 = c_8; + constexpr double t73 = c_9; + constexpr double t76 = c_10; + constexpr double t94 = c_12; + constexpr double t97 = c_13; + constexpr double t100 = c_14; + constexpr double t117 = c_16; + constexpr double t120 = c_17; + constexpr double t134 = c_19; + constexpr double t137 = c_20; + constexpr double t140 = c_21; + constexpr double t143 = c_22; + constexpr double t157 = c_24; + constexpr double t160 = c_25; + constexpr double t163 = c_26; + constexpr double t174 = c_28; + constexpr double t177 = c_29; + constexpr double t188 = c_31; + constexpr double t191 = c_32; + constexpr double t194 = c_33; + constexpr double t202 = c_35; + constexpr double t205 = c_36; + constexpr double t215 = c_38; + constexpr double t218 = c_39; + constexpr double t622 = t22 * t31; + constexpr double t652 = t67 * t31; + constexpr double t671 = t94 * t31; + constexpr double t686 = t117 * t31; + constexpr double t697 = t134 * t31; + constexpr double t714 = t157 * t31; + constexpr double t730 = t174 * t31; + constexpr double t742 = t188 * t31; + constexpr double t755 = t202 * t31; + constexpr double t767 = t215 * t31; + constexpr double t1554 = t22 * t30; + constexpr double t1586 = t67 * t30; + constexpr double t1634 = t94 * t30; + constexpr double t1683 = t117 * t30; + constexpr double t1725 = t157 * t30; + constexpr double t1770 = t202 * t30; + constexpr double t1803 = t174 * t30; + constexpr double t1844 = t215 * t30; + constexpr double t1866 = t134 * t30; + constexpr double t1908 = t188 * t30; + constexpr double t2044 = t205 * t30; + constexpr double t2062 = t160 * t30; + constexpr double t2086 = t177 * t30; + constexpr double t2102 = t218 * t30; + constexpr double t2115 = t137 * t30; + constexpr double t2142 = t191 * t30; + constexpr double t2159 = t42 * t30; + constexpr double t2166 = t120 * t30; + constexpr double t2185 = t70 * t30; + constexpr double t2213 = t97 * t30; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t32 = tau * t31; + const double t33 = t19 * t19; + const double t35 = 0.1e1 / t33 / rho; + const double t36 = t32 * t35; + const double t37 = t29 - t36; + const double t38 = t22 * t37; + const double t39 = t29 + t36; + const double t40 = 0.1e1 / t39; + const double t43 = t37 * t37; + const double t44 = t42 * t43; + const double t45 = t39 * t39; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t37; + const double t50 = t48 * t49; + const double t51 = t45 * t39; + const double t52 = 0.1e1 / t51; + const double t55 = t43 * t43; + const double t56 = t54 * t55; + const double t57 = t45 * t45; + const double t58 = 0.1e1 / t57; + const double t62 = t60 * t55 * t37; + const double t64 = 0.1e1 / t57 / t39; + const double t68 = t67 * t37; + const double t71 = t70 * t43; + const double t74 = t73 * t49; + const double t77 = t76 * t55; + const double t79 = t68 * t40 + t71 * t46 + t74 * t52 + t77 * t58 + c_6; + const double t80 = t79 * sigma; + const double t81 = rho * rho; + const double t83 = 0.1e1 / t33 / t81; + const double t84 = t31 * t83; + const double t85 = sigma * t31; + const double t88 = 0.1e1 + 0.4e-2 * t85 * t83; + const double t89 = 0.1e1 / t88; + const double t90 = t84 * t89; + const double t95 = t94 * t37; + const double t98 = t97 * t43; + const double t101 = t100 * t49; + const double t103 = t101 * t52 + t95 * t40 + t98 * t46 + c_11; + const double t104 = sigma * sigma; + const double t105 = t103 * t104; + const double t106 = t81 * t81; + const double t107 = t106 * rho; + const double t109 = 0.1e1 / t19 / t107; + const double t110 = t30 * t109; + const double t111 = t88 * t88; + const double t112 = 0.1e1 / t111; + const double t113 = t110 * t112; + const double t118 = t117 * t37; + const double t121 = t120 * t43; + const double t123 = t118 * t40 + t121 * t46 + c_15; + const double t124 = t104 * sigma; + const double t125 = t123 * t124; + const double t126 = t106 * t106; + const double t127 = 0.1e1 / t126; + const double t128 = t111 * t88; + const double t129 = 0.1e1 / t128; + const double t130 = t127 * t129; + const double t135 = t134 * t37; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t146 = t135 * t40 + t138 * t46 + t141 * t52 + t144 * t58 + c_18; + const double t149 = 0.1e1 / t12; + const double t150 = safe_math::cbrt( t149 ); + const double t153 = 0.1e1 + 0.39999999999999999998e0 / t19 * t30 * t150; + const double t154 = 0.1e1 / t153; + const double t158 = t157 * t37; + const double t161 = t160 * t43; + const double t164 = t163 * t49; + const double t166 = t158 * t40 + t161 * t46 + t164 * t52 + c_23; + const double t167 = t166 * sigma; + const double t168 = t167 * t31; + const double t169 = t83 * t89; + const double t170 = t169 * t154; + const double t175 = t174 * t37; + const double t178 = t177 * t43; + const double t180 = t175 * t40 + t178 * t46 + c_27; + const double t181 = t180 * t104; + const double t182 = t181 * t30; + const double t183 = t109 * t112; + const double t184 = t183 * t154; + const double t189 = t188 * t37; + const double t192 = t191 * t43; + const double t195 = t194 * t49; + const double t197 = t189 * t40 + t192 * t46 + t195 * t52 + c_30; + const double t198 = t153 * t153; + const double t199 = 0.1e1 / t198; + const double t203 = t202 * t37; + const double t206 = t205 * t43; + const double t208 = t203 * t40 + t206 * t46 + c_34; + const double t209 = t208 * sigma; + const double t210 = t209 * t31; + const double t211 = t169 * t199; + const double t216 = t215 * t37; + const double t219 = t218 * t43; + const double t221 = t216 * t40 + t219 * t46 + c_37; + const double t222 = t198 * t153; + const double t223 = 0.1e1 / t222; + const double t225 = c_0 + t38 * t40 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + 0.4e-2 * t80 * t90 + 0.32e-4 * t105 * t113 + 0.256e-6 * t125 * t130 + t146 * t154 + 0.4e-2 * t168 * t170 + 0.32e-4 * t182 * t184 + t197 * t199 + 0.4e-2 * t210 * t211 + t221 * t223; + const double t229 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t225 ); + const double t231 = t18 / t33; + const double t235 = t134 * tau; + const double t236 = t84 * t40; + const double t239 = t135 * t46; + const double t240 = t32 * t83; + const double t243 = t137 * t37; + const double t244 = t243 * t46; + const double t247 = t138 * t52; + const double t250 = t140 * t43; + const double t251 = t250 * t52; + const double t254 = t141 * t58; + const double t257 = t143 * t49; + const double t258 = t257 * t58; + const double t261 = t144 * t64; + const double t264 = 0.5e1 / 0.3e1 * t235 * t236 + 0.5e1 / 0.3e1 * t239 * t240 + 0.1e2 / 0.3e1 * t244 * t240 + 0.1e2 / 0.3e1 * t247 * t240 + 0.5e1 * t251 * t240 + 0.5e1 * t254 * t240 + 0.2e2 / 0.3e1 * t258 * t240 + 0.2e2 / 0.3e1 * t261 * t240; + const double t266 = t188 * tau; + const double t269 = t189 * t46; + const double t272 = t191 * t37; + const double t273 = t272 * t46; + const double t276 = t192 * t52; + const double t279 = t194 * t43; + const double t280 = t279 * t52; + const double t283 = t195 * t58; + const double t286 = 0.5e1 / 0.3e1 * t266 * t236 + 0.5e1 / 0.3e1 * t269 * t240 + 0.1e2 / 0.3e1 * t273 * t240 + 0.1e2 / 0.3e1 * t276 * t240 + 0.5e1 * t280 * t240 + 0.5e1 * t283 * t240; + const double t288 = t215 * tau; + const double t291 = t216 * t46; + const double t294 = t218 * t37; + const double t295 = t294 * t46; + const double t298 = t219 * t52; + const double t301 = 0.5e1 / 0.3e1 * t288 * t236 + 0.5e1 / 0.3e1 * t291 * t240 + 0.1e2 / 0.3e1 * t295 * t240 + 0.1e2 / 0.3e1 * t298 * t240; + const double t303 = t146 * t199; + const double t307 = 0.1e1 / t19 / rho * t30 * t150; + const double t310 = t180 * t124; + const double t311 = t126 * rho; + const double t312 = 0.1e1 / t311; + const double t313 = t312 * t129; + const double t314 = t313 * t154; + const double t317 = t197 * t223; + const double t320 = t198 * t198; + const double t321 = 0.1e1 / t320; + const double t322 = t221 * t321; + const double t325 = t22 * tau; + const double t328 = t67 * tau; + const double t331 = t68 * t46; + const double t334 = t70 * t37; + const double t335 = t334 * t46; + const double t338 = t71 * t52; + const double t341 = t73 * t43; + const double t342 = t341 * t52; + const double t345 = t74 * t58; + const double t348 = t76 * t49; + const double t349 = t348 * t58; + const double t352 = t77 * t64; + const double t355 = 0.5e1 / 0.3e1 * t328 * t236 + 0.5e1 / 0.3e1 * t331 * t240 + 0.1e2 / 0.3e1 * t335 * t240 + 0.1e2 / 0.3e1 * t338 * t240 + 0.5e1 * t342 * t240 + 0.5e1 * t345 * t240 + 0.2e2 / 0.3e1 * t349 * t240 + 0.2e2 / 0.3e1 * t352 * t240; + const double t356 = t355 * sigma; + const double t359 = t79 * t104; + const double t360 = t106 * t81; + const double t362 = 0.1e1 / t19 / t360; + const double t363 = t30 * t362; + const double t364 = t363 * t112; + const double t367 = t94 * tau; + const double t370 = t95 * t46; + const double t373 = t97 * t37; + const double t374 = t373 * t46; + const double t377 = t98 * t52; + const double t380 = t100 * t43; + const double t381 = t380 * t52; + const double t384 = t101 * t58; + const double t387 = 0.5e1 / 0.3e1 * t367 * t236 + 0.5e1 / 0.3e1 * t370 * t240 + 0.1e2 / 0.3e1 * t374 * t240 + 0.1e2 / 0.3e1 * t377 * t240 + 0.5e1 * t381 * t240 + 0.5e1 * t384 * t240; + const double t388 = t387 * t104; + const double t393 = t81 * rho; + const double t395 = 0.1e1 / t33 / t393; + const double t396 = t31 * t395; + const double t397 = t396 * t89; + const double t400 = t104 * t104; + const double t401 = t123 * t400; + const double t402 = t126 * t393; + const double t404 = 0.1e1 / t33 / t402; + const double t405 = t111 * t111; + const double t406 = 0.1e1 / t405; + const double t408 = t404 * t406 * t31; + const double t413 = t103 * t124; + const double t416 = t117 * tau; + const double t419 = t118 * t46; + const double t422 = t120 * t37; + const double t423 = t422 * t46; + const double t426 = t121 * t52; + const double t429 = 0.5e1 / 0.3e1 * t416 * t236 + 0.5e1 / 0.3e1 * t419 * t240 + 0.1e2 / 0.3e1 * t423 * t240 + 0.1e2 / 0.3e1 * t426 * t240; + const double t430 = t429 * t124; + const double t433 = 0.1e1 / t106; + const double t436 = t89 * t199 * t150; + const double t439 = t264 * t154 + t286 * t199 + t301 * t223 + 0.13333333333333333333e0 * t303 * t307 + 0.13653333333333333334e-5 * t310 * t314 + 0.26666666666666666666e0 * t317 * t307 + 0.39999999999999999999e0 * t322 * t307 + 0.5e1 / 0.3e1 * t325 * t236 + 0.4e-2 * t356 * t90 + 0.85333333333333333336e-4 * t359 * t364 + 0.32e-4 * t388 * t113 - 0.17066666666666666667e-3 * t105 * t364 - 0.10666666666666666667e-1 * t80 * t397 + 0.81920000000000000003e-8 * t401 * t408 - 0.2048e-5 * t125 * t313 + 0.13653333333333333334e-5 * t413 * t313 + 0.256e-6 * t430 * t130 + 0.10666666666666666666e-2 * t167 * t433 * t436; + const double t440 = t38 * t46; + const double t443 = t42 * t37; + const double t444 = t443 * t46; + const double t447 = t44 * t52; + const double t450 = t48 * t43; + const double t451 = t450 * t52; + const double t454 = t50 * t58; + const double t457 = t54 * t49; + const double t458 = t457 * t58; + const double t461 = t56 * t64; + const double t464 = t60 * t55; + const double t465 = t464 * t64; + const double t469 = 0.1e1 / t57 / t45; + const double t470 = t62 * t469; + const double t473 = t395 * t89; + const double t474 = t473 * t199; + const double t477 = t473 * t154; + const double t480 = t362 * t112; + const double t481 = t480 * t154; + const double t484 = t174 * tau; + const double t487 = t175 * t46; + const double t490 = t177 * t37; + const double t491 = t490 * t46; + const double t494 = t178 * t52; + const double t497 = 0.5e1 / 0.3e1 * t484 * t236 + 0.5e1 / 0.3e1 * t487 * t240 + 0.1e2 / 0.3e1 * t491 * t240 + 0.1e2 / 0.3e1 * t494 * t240; + const double t498 = t497 * t104; + const double t499 = t498 * t30; + const double t502 = t202 * tau; + const double t505 = t203 * t46; + const double t508 = t205 * t37; + const double t509 = t508 * t46; + const double t512 = t206 * t52; + const double t515 = 0.5e1 / 0.3e1 * t502 * t236 + 0.5e1 / 0.3e1 * t505 * t240 + 0.1e2 / 0.3e1 * t509 * t240 + 0.1e2 / 0.3e1 * t512 * t240; + const double t516 = t515 * sigma; + const double t517 = t516 * t31; + const double t520 = t208 * t104; + const double t521 = t520 * t30; + const double t522 = t480 * t199; + const double t526 = t89 * t223; + const double t527 = t526 * t150; + const double t530 = t157 * tau; + const double t533 = t158 * t46; + const double t536 = t160 * t37; + const double t537 = t536 * t46; + const double t540 = t161 * t52; + const double t543 = t163 * t43; + const double t544 = t543 * t52; + const double t547 = t164 * t58; + const double t550 = 0.5e1 / 0.3e1 * t530 * t236 + 0.5e1 / 0.3e1 * t533 * t240 + 0.1e2 / 0.3e1 * t537 * t240 + 0.1e2 / 0.3e1 * t540 * t240 + 0.5e1 * t544 * t240 + 0.5e1 * t547 * t240; + const double t551 = t550 * sigma; + const double t552 = t551 * t31; + const double t555 = t166 * t104; + const double t556 = t555 * t30; + const double t559 = t181 * t31; + const double t561 = 0.1e1 / t33 / t360; + const double t562 = t561 * t112; + const double t563 = t199 * t150; + const double t564 = t562 * t563; + const double t567 = 0.5e1 / 0.3e1 * t440 * t240 + 0.1e2 / 0.3e1 * t444 * t240 + 0.1e2 / 0.3e1 * t447 * t240 + 0.5e1 * t451 * t240 + 0.5e1 * t454 * t240 + 0.2e2 / 0.3e1 * t458 * t240 + 0.2e2 / 0.3e1 * t461 * t240 + 0.25e2 / 0.3e1 * t465 * t240 + 0.25e2 / 0.3e1 * t470 * t240 - 0.10666666666666666667e-1 * t210 * t474 - 0.10666666666666666667e-1 * t168 * t477 - 0.17066666666666666667e-3 * t182 * t481 + 0.32e-4 * t499 * t184 + 0.4e-2 * t517 * t211 + 0.85333333333333333336e-4 * t521 * t522 + 0.21333333333333333333e-2 * t209 * t433 * t527 + 0.4e-2 * t552 * t170 + 0.85333333333333333336e-4 * t556 * t481 + 0.42666666666666666666e-5 * t559 * t564; + const double t568 = t439 + t567; + const double t573 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t225 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t568 ); + const double t576 = t79 * t31; + const double t581 = t103 * sigma; + const double t586 = t123 * t104; + const double t589 = t126 * t81; + const double t591 = 0.1e1 / t33 / t589; + const double t593 = t591 * t406 * t31; + const double t596 = t166 * t31; + const double t602 = t180 * sigma; + const double t603 = t602 * t30; + const double t606 = t130 * t154; + const double t609 = t208 * t31; + const double t613 = t183 * t199; + const double t616 = 0.4e-2 * t576 * t169 - 0.32e-4 * t80 * t113 + 0.64e-4 * t581 * t113 - 0.512e-6 * t105 * t130 + 0.768e-6 * t586 * t130 - 0.3072e-8 * t125 * t593 + 0.4e-2 * t596 * t170 - 0.32e-4 * t167 * t30 * t184 + 0.64e-4 * t603 * t184 - 0.512e-6 * t181 * t606 + 0.4e-2 * t609 * t211 - 0.32e-4 * t209 * t30 * t613; + const double t620 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t616 ); + const double t623 = t35 * t40; + const double t625 = t46 * t31; + const double t626 = t625 * t35; + const double t630 = t52 * t31; + const double t631 = t630 * t35; + const double t636 = t58 * t31; + const double t637 = t636 * t35; + const double t642 = t64 * t31; + const double t643 = t642 * t35; + const double t648 = t469 * t31; + const double t667 = -0.2e1 * t334 * t626 - 0.3e1 * t341 * t631 - 0.4e1 * t348 * t637 - t652 * t623 - t68 * t626 - 0.2e1 * t71 * t631 - 0.3e1 * t74 * t637 - 0.4e1 * t77 * t643; + const double t668 = t667 * sigma; + const double t682 = -0.3e1 * t101 * t637 - 0.2e1 * t373 * t626 - 0.3e1 * t380 * t631 - t671 * t623 - t95 * t626 - 0.2e1 * t98 * t631; + const double t683 = t682 * t104; + const double t693 = -t118 * t626 - 0.2e1 * t121 * t631 - 0.2e1 * t422 * t626 - t686 * t623; + const double t694 = t693 * t124; + const double t712 = -t135 * t626 - 0.2e1 * t138 * t631 - 0.3e1 * t141 * t637 - 0.4e1 * t144 * t643 - 0.2e1 * t243 * t626 - 0.3e1 * t250 * t631 - 0.4e1 * t257 * t637 - t697 * t623; + const double t725 = -t158 * t626 - 0.2e1 * t161 * t631 - 0.3e1 * t164 * t637 - 0.2e1 * t536 * t626 - 0.3e1 * t543 * t631 - t714 * t623; + const double t726 = t725 * sigma; + const double t727 = t726 * t31; + const double t737 = -t175 * t626 - 0.2e1 * t178 * t631 - 0.2e1 * t490 * t626 - t730 * t623; + const double t738 = t737 * t104; + const double t739 = t738 * t30; + const double t753 = -t189 * t626 - 0.2e1 * t192 * t631 - 0.3e1 * t195 * t637 - 0.2e1 * t272 * t626 - 0.3e1 * t279 * t631 - t742 * t623; + const double t762 = -t203 * t626 - 0.2e1 * t206 * t631 - 0.2e1 * t508 * t626 - t755 * t623; + const double t763 = t762 * sigma; + const double t764 = t763 * t31; + const double t774 = -t216 * t626 - 0.2e1 * t219 * t631 - 0.2e1 * t294 * t626 - t767 * t623; + const double t776 = -t622 * t623 - t38 * t626 - 0.2e1 * t443 * t626 - 0.2e1 * t44 * t631 - 0.3e1 * t450 * t631 - 0.3e1 * t50 * t637 - 0.4e1 * t457 * t637 - 0.4e1 * t56 * t643 - 0.5e1 * t464 * t643 - 0.5e1 * t62 * t648 * t35 + 0.4e-2 * t668 * t90 + 0.32e-4 * t683 * t113 + 0.256e-6 * t694 * t130 + t712 * t154 + 0.4e-2 * t727 * t170 + 0.32e-4 * t739 * t184 + t753 * t199 + 0.4e-2 * t764 * t211 + t774 * t223; + const double t780 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t776 ); + const double t783 = t18 * t35; + const double t790 = tau * tau; + const double t791 = t42 * t790; + const double t792 = t110 * t46; + const double t797 = t106 * t393; + const double t799 = 0.1e1 / t19 / t797; + const double t800 = t30 * t799; + const double t801 = t800 * t112; + const double t804 = t429 * t400; + const double t807 = t400 * sigma; + const double t808 = t123 * t807; + const double t809 = t126 * t797; + const double t811 = 0.1e1 / t19 / t809; + const double t813 = 0.1e1 / t405 / t88; + const double t815 = t811 * t813 * t30; + const double t818 = 0.1e1 / t589; + const double t819 = t818 * t129; + const double t820 = t819 * t154; + const double t823 = t497 * t124; + const double t826 = t208 * t124; + const double t827 = t819 * t199; + const double t832 = t264 * t199; + const double t836 = t286 * t223; + const double t839 = t301 * t321; + const double t842 = t396 * t40; + const double t845 = t94 * t790; + const double t848 = t95 * t52; + const double t849 = t790 * t30; + const double t850 = t849 * t109; + const double t853 = t32 * t395; + const double t856 = t97 * t790; + const double t859 = t373 * t52; + const double t864 = t98 * t58; + const double t869 = t100 * t37; + const double t870 = t869 * t52; + const double t873 = t380 * t58; + const double t878 = t101 * t64; + const double t883 = -0.4e2 / 0.9e1 * t367 * t842 + 0.1e3 / 0.9e1 * t845 * t792 + 0.1e3 / 0.9e1 * t848 * t850 - 0.4e2 / 0.9e1 * t370 * t853 + 0.1e3 / 0.9e1 * t856 * t792 + 0.4e3 / 0.9e1 * t859 * t850 - 0.8e2 / 0.9e1 * t374 * t853 + 0.1e3 / 0.3e1 * t864 * t850 - 0.8e2 / 0.9e1 * t377 * t853 + 0.1e3 / 0.3e1 * t870 * t850 + 0.1e3 * t873 * t850 - 0.4e2 / 0.3e1 * t381 * t853 + 0.2e3 / 0.3e1 * t878 * t850 - 0.4e2 / 0.3e1 * t384 * t853; + const double t884 = t883 * t104; + const double t887 = t103 * t400; + const double t888 = t126 * t106; + const double t890 = 0.1e1 / t33 / t888; + const double t892 = t890 * t406 * t31; + const double t895 = t146 * t223; + const double t896 = t150 * t150; + const double t897 = t84 * t896; + const double t900 = t197 * t321; + const double t904 = 0.1e1 / t320 / t153; + const double t905 = t221 * t904; + const double t910 = t67 * t790; + const double t913 = t68 * t52; + const double t918 = t70 * t790; + const double t921 = t334 * t52; + const double t926 = t71 * t58; + const double t931 = t73 * t37; + const double t932 = t931 * t52; + const double t935 = t341 * t58; + const double t940 = t74 * t64; + const double t945 = t76 * t43; + const double t946 = t945 * t58; + const double t949 = t348 * t64; + const double t954 = t77 * t469; + const double t959 = -0.4e2 / 0.9e1 * t328 * t842 + 0.1e3 / 0.9e1 * t910 * t792 + 0.1e3 / 0.9e1 * t913 * t850 - 0.4e2 / 0.9e1 * t331 * t853 + 0.1e3 / 0.9e1 * t918 * t792 + 0.4e3 / 0.9e1 * t921 * t850 - 0.8e2 / 0.9e1 * t335 * t853 + 0.1e3 / 0.3e1 * t926 * t850 - 0.8e2 / 0.9e1 * t338 * t853 + 0.1e3 / 0.3e1 * t932 * t850 + 0.1e3 * t935 * t850 - 0.4e2 / 0.3e1 * t342 * t853 + 0.2e3 / 0.3e1 * t940 * t850 - 0.4e2 / 0.3e1 * t345 * t853 + 0.2e3 / 0.3e1 * t946 * t850 + 0.16e4 / 0.9e1 * t949 * t850 - 0.16e3 / 0.9e1 * t349 * t853 + 0.1e4 / 0.9e1 * t954 * t850 - 0.16e3 / 0.9e1 * t352 * t853; + const double t960 = t959 * sigma; + const double t963 = t355 * t104; + const double t966 = t166 * t124; + const double t969 = t22 * t790; + const double t972 = 0.53333333333333333332e0 * t836 * t307 + 0.79999999999999999998e0 * t839 * t307 + 0.32e-4 * t884 * t113 + 0.4369066666666666667e-7 * t887 * t892 + 0.35555555555555555554e-1 * t895 * t897 + 0.10666666666666666666e0 * t900 * t897 + 0.21333333333333333332e0 * t905 * t897 + 0.4e-2 * t960 * t90 + 0.17066666666666666667e-3 * t963 * t364 + 0.36408888888888888891e-5 * t966 * t820 + 0.1e3 / 0.9e1 * t969 * t792; + const double t977 = 0.1e1 / t19 / t81 * t30 * t150; + const double t987 = 0.1e1 / t33 / t106; + const double t988 = t31 * t987; + const double t989 = t988 * t89; + const double t996 = t987 * t89; + const double t997 = t996 * t199; + const double t1000 = t996 * t154; + const double t1003 = t799 * t112; + const double t1004 = t1003 * t154; + const double t1010 = t202 * t790; + const double t1013 = t203 * t52; + const double t1018 = t205 * t790; + const double t1021 = t508 * t52; + const double t1026 = t206 * t58; + const double t1031 = -0.4e2 / 0.9e1 * t502 * t842 + 0.1e3 / 0.9e1 * t1010 * t792 + 0.1e3 / 0.9e1 * t1013 * t850 - 0.4e2 / 0.9e1 * t505 * t853 + 0.1e3 / 0.9e1 * t1018 * t792 + 0.4e3 / 0.9e1 * t1021 * t850 - 0.8e2 / 0.9e1 * t509 * t853 + 0.1e3 / 0.3e1 * t1026 * t850 - 0.8e2 / 0.9e1 * t512 * t853; + const double t1032 = t1031 * sigma; + const double t1033 = t1032 * t31; + const double t1038 = t1003 * t199; + const double t1041 = 0.1e1 / t107; + const double t1059 = t157 * t790; + const double t1062 = t158 * t52; + const double t1067 = t160 * t790; + const double t1070 = t536 * t52; + const double t1075 = t161 * t58; + const double t1080 = t163 * t37; + const double t1081 = t1080 * t52; + const double t1084 = t543 * t58; + const double t1089 = t164 * t64; + const double t1094 = -0.4e2 / 0.9e1 * t530 * t842 + 0.1e3 / 0.9e1 * t1059 * t792 + 0.1e3 / 0.9e1 * t1062 * t850 - 0.4e2 / 0.9e1 * t533 * t853 + 0.1e3 / 0.9e1 * t1067 * t792 + 0.4e3 / 0.9e1 * t1070 * t850 - 0.8e2 / 0.9e1 * t537 * t853 + 0.1e3 / 0.3e1 * t1075 * t850 - 0.8e2 / 0.9e1 * t540 * t853 + 0.1e3 / 0.3e1 * t1081 * t850 + 0.1e3 * t1084 * t850 - 0.4e2 / 0.3e1 * t544 * t853 + 0.2e3 / 0.3e1 * t1089 * t850 - 0.4e2 / 0.3e1 * t547 * t853; + const double t1095 = t1094 * sigma; + const double t1096 = t1095 * t31; + const double t1100 = t112 * t223; + const double t1101 = t1100 * t896; + const double t1104 = 0.4e-2 * t1033 * t211 - 0.21333333333333333334e-1 * t517 * t474 - 0.76800000000000000003e-3 * t521 * t1038 - 0.14222222222222222222e-1 * t209 * t1041 * t527 - 0.21333333333333333334e-1 * t552 * t477 - 0.76800000000000000003e-3 * t556 * t1004 - 0.71111111111111111109e-2 * t167 * t1041 * t436 - 0.34133333333333333334e-3 * t499 * t481 + 0.42666666666666666666e-2 * t516 * t433 * t527 + 0.4e-2 * t1096 * t170 + 0.22755555555555555555e-5 * t181 * t127 * t1101; + const double t1109 = t174 * t790; + const double t1112 = t175 * t52; + const double t1117 = t177 * t790; + const double t1120 = t490 * t52; + const double t1125 = t178 * t58; + const double t1130 = -0.4e2 / 0.9e1 * t484 * t842 + 0.1e3 / 0.9e1 * t1109 * t792 + 0.1e3 / 0.9e1 * t1112 * t850 - 0.4e2 / 0.9e1 * t487 * t853 + 0.1e3 / 0.9e1 * t1117 * t792 + 0.4e3 / 0.9e1 * t1120 * t850 - 0.8e2 / 0.9e1 * t491 * t853 + 0.1e3 / 0.3e1 * t1125 * t850 - 0.8e2 / 0.9e1 * t494 * t853; + const double t1131 = t1130 * t104; + const double t1132 = t1131 * t30; + const double t1136 = 0.1e1 / t57 / t51; + const double t1137 = t62 * t1136; + const double t1140 = t38 * t52; + const double t1143 = t443 * t52; + const double t1146 = t44 * t58; + const double t1149 = t48 * t37; + const double t1150 = t1149 * t52; + const double t1153 = t450 * t58; + const double t1156 = t50 * t64; + const double t1159 = t54 * t43; + const double t1160 = t1159 * t58; + const double t1163 = t457 * t64; + const double t1167 = t550 * t104; + const double t1168 = t1167 * t30; + const double t1174 = t515 * t104; + const double t1175 = t1174 * t30; + const double t1194 = 0.17066666666666666667e-3 * t1168 * t481 + 0.21333333333333333332e-2 * t551 * t433 * t436 + 0.17066666666666666667e-3 * t1175 * t522 - 0.16e3 / 0.9e1 * t458 * t853 - 0.16e3 / 0.9e1 * t461 * t853 - 0.2e3 / 0.9e1 * t465 * t853 - 0.2e3 / 0.9e1 * t470 * t853 - 0.4e2 / 0.9e1 * t440 * t853 - 0.8e2 / 0.9e1 * t444 * t853 - 0.8e2 / 0.9e1 * t447 * t853 - 0.4e2 / 0.3e1 * t451 * t853; + const double t1198 = t180 * t400; + const double t1201 = t406 * t154 * t31; + const double t1204 = t56 * t469; + const double t1207 = t60 * t49; + const double t1208 = t1207 * t64; + const double t1211 = t464 * t469; + const double t1216 = t188 * t790; + const double t1219 = t189 * t52; + const double t1224 = t191 * t790; + const double t1227 = t272 * t52; + const double t1232 = t192 * t58; + const double t1237 = t194 * t37; + const double t1238 = t1237 * t52; + const double t1241 = t279 * t58; + const double t1246 = t195 * t64; + const double t1251 = -0.4e2 / 0.9e1 * t266 * t842 + 0.1e3 / 0.9e1 * t1216 * t792 + 0.1e3 / 0.9e1 * t1219 * t850 - 0.4e2 / 0.9e1 * t269 * t853 + 0.1e3 / 0.9e1 * t1224 * t792 + 0.4e3 / 0.9e1 * t1227 * t850 - 0.8e2 / 0.9e1 * t273 * t853 + 0.1e3 / 0.3e1 * t1232 * t850 - 0.8e2 / 0.9e1 * t276 * t853 + 0.1e3 / 0.3e1 * t1238 * t850 + 0.1e3 * t1241 * t850 - 0.4e2 / 0.3e1 * t280 * t853 + 0.2e3 / 0.3e1 * t1246 * t850 - 0.4e2 / 0.3e1 * t283 * t853; + const double t1255 = t215 * t790; + const double t1258 = t216 * t52; + const double t1263 = t218 * t790; + const double t1266 = t294 * t52; + const double t1271 = t219 * t58; + const double t1276 = -0.4e2 / 0.9e1 * t288 * t842 + 0.1e3 / 0.9e1 * t1255 * t792 + 0.1e3 / 0.9e1 * t1258 * t850 - 0.4e2 / 0.9e1 * t291 * t853 + 0.1e3 / 0.9e1 * t1263 * t792 + 0.4e3 / 0.9e1 * t1266 * t850 - 0.8e2 / 0.9e1 * t295 * t853 + 0.1e3 / 0.3e1 * t1271 * t850 - 0.8e2 / 0.9e1 * t298 * t853; + const double t1280 = t134 * t790; + const double t1283 = t135 * t52; + const double t1288 = t137 * t790; + const double t1291 = t243 * t52; + const double t1296 = t138 * t58; + const double t1301 = t140 * t37; + const double t1302 = t1301 * t52; + const double t1305 = t250 * t58; + const double t1310 = t141 * t64; + const double t1315 = t143 * t43; + const double t1316 = t1315 * t58; + const double t1319 = t257 * t64; + const double t1324 = t144 * t469; + const double t1329 = -0.4e2 / 0.9e1 * t235 * t842 + 0.1e3 / 0.9e1 * t1280 * t792 + 0.1e3 / 0.9e1 * t1283 * t850 - 0.4e2 / 0.9e1 * t239 * t853 + 0.1e3 / 0.9e1 * t1288 * t792 + 0.4e3 / 0.9e1 * t1291 * t850 - 0.8e2 / 0.9e1 * t244 * t853 + 0.1e3 / 0.3e1 * t1296 * t850 - 0.8e2 / 0.9e1 * t247 * t853 + 0.1e3 / 0.3e1 * t1302 * t850 + 0.1e3 * t1305 * t850 - 0.4e2 / 0.3e1 * t251 * t853 + 0.2e3 / 0.3e1 * t1310 * t850 - 0.4e2 / 0.3e1 * t254 * t853 + 0.2e3 / 0.3e1 * t1316 * t850 + 0.16e4 / 0.9e1 * t1319 * t850 - 0.16e3 / 0.9e1 * t258 * t853 + 0.1e4 / 0.9e1 * t1324 * t850 - 0.16e3 / 0.9e1 * t261 * t853; + const double t1331 = t310 * t30; + const double t1333 = 0.1e1 / t19 / t589; + const double t1334 = t1333 * t129; + const double t1335 = t1334 * t563; + const double t1339 = 0.1e1 / t33 / t797; + const double t1340 = t1339 * t112; + const double t1341 = t1340 * t563; + const double t1345 = t498 * t31; + const double t1348 = t555 * t31; + const double t1352 = t896 * t30; + const double t1353 = t526 * t1352; + const double t1356 = t520 * t31; + const double t1357 = t223 * t150; + const double t1358 = t1340 * t1357; + const double t1362 = t89 * t321; + const double t1363 = t1362 * t1352; + const double t1366 = t79 * t124; + const double t1369 = t387 * t124; + const double t1380 = t117 * t790; + const double t1383 = t118 * t52; + const double t1388 = t120 * t790; + const double t1391 = t422 * t52; + const double t1396 = t121 * t58; + const double t1401 = -0.4e2 / 0.9e1 * t416 * t842 + 0.1e3 / 0.9e1 * t1380 * t792 + 0.1e3 / 0.9e1 * t1383 * t850 - 0.4e2 / 0.9e1 * t419 * t853 + 0.1e3 / 0.9e1 * t1388 * t792 + 0.4e3 / 0.9e1 * t1391 * t850 - 0.8e2 / 0.9e1 * t423 * t853 + 0.1e3 / 0.3e1 * t1396 * t850 - 0.8e2 / 0.9e1 * t426 * t853; + const double t1402 = t1401 * t124; + const double t1405 = 0.85333333333333333332e-5 * t1345 * t564 + 0.22755555555555555555e-4 * t1348 * t1341 + 0.28444444444444444442e-3 * t167 * t109 * t1353 + 0.45511111111111111112e-4 * t1356 * t1358 + 0.8533333333333333333e-3 * t209 * t109 * t1363 + 0.36408888888888888891e-5 * t1366 * t819 + 0.27306666666666666668e-5 * t1369 * t313 - 0.4096e-5 * t430 * t313 - 0.19569777777777777779e-4 * t413 * t819 + 0.18432e-4 * t125 * t819 + 0.256e-6 * t1402 * t130; + const double t1408 = t1329 * t154 + 0.3640888888888888889e-6 * t1331 * t1335 - 0.51199999999999999999e-4 * t559 * t1341 + t1276 * t223 + t1251 * t199 + 0.1e4 / 0.9e1 * t1204 * t850 + 0.1e4 / 0.9e1 * t1208 * t850 + 0.25e4 / 0.9e1 * t1211 * t850 - 0.4e2 / 0.3e1 * t454 * t853 + 0.32e-4 * t1132 * t184 + 0.5e3 / 0.3e1 * t1137 * t850 + 0.1e3 / 0.9e1 * t1140 * t850 + 0.4e3 / 0.9e1 * t1143 * t850 + 0.1e3 / 0.3e1 * t1146 * t850 + 0.1e3 / 0.3e1 * t1150 * t850 + 0.1e3 * t1153 * t850 + t1104 + 0.4369066666666666667e-7 * t1198 * t890 * t1201 + t1405 + t1194 + t972 + 0.16384000000000000001e-7 * t804 * t408 + 0.2e3 / 0.3e1 * t1156 * t850 + 0.2e3 / 0.3e1 * t1160 * t850 + 0.16e4 / 0.9e1 * t1163 * t850 + 0.39111111111111111112e-1 * t80 * t989 - 0.16110933333333333334e-6 * t401 * t892 + 0.10808888888888888889e-2 * t105 * t801 + 0.39111111111111111112e-1 * t210 * t997 + 0.39111111111111111112e-1 * t168 * t1000 + 0.10808888888888888889e-2 * t182 * t1004 - 0.17777777777777777777e0 * t303 * t977 - 0.35555555555555555555e0 * t317 * t977 - 0.53333333333333333332e0 * t322 * t977 - 0.4e2 / 0.9e1 * t325 * t842 + 0.69905066666666666671e-9 * t808 * t815 - 0.19569777777777777779e-4 * t310 * t820 + 0.27306666666666666668e-5 * t823 * t314 + 0.36408888888888888891e-5 * t826 * t827 - 0.34133333333333333334e-3 * t388 * t364 + 0.26666666666666666666e0 * t832 * t307 + 0.1e3 / 0.9e1 * t791 * t792 - 0.21333333333333333334e-1 * t356 * t397 - 0.76800000000000000003e-3 * t359 * t801; + const double t1413 = piecewise_functor_3( t3, 0.0, t7 * t783 * t225 / 0.12e2 - t7 * t231 * t568 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1408 ); + const double t1422 = t313 * t199; + const double t1429 = t126 * t360; + const double t1431 = 0.1e1 / t19 / t1429; + const double t1433 = t1431 * t813 * t30; + const double t1436 = t550 * t31; + const double t1448 = t515 * t31; + const double t1451 = t79 * t30; + const double t1452 = t480 * sigma; + const double t1457 = t387 * sigma; + const double t1468 = 0.21333333333333333333e-2 * t208 * t433 * t527 - 0.13653333333333333334e-5 * t520 * t1422 + 0.57344000000000000001e-7 * t125 * t408 - 0.3072e-8 * t430 * t593 - 0.26214400000000000001e-9 * t401 * t1433 + 0.4e-2 * t1436 * t170 + 0.10666666666666666666e-2 * t166 * t433 * t436 - 0.13653333333333333334e-5 * t555 * t314 + 0.68266666666666666668e-5 * t181 * t314 - 0.512e-6 * t498 * t606 + 0.4e-2 * t1448 * t211 + 0.25600000000000000001e-3 * t1451 * t1452 - 0.32e-4 * t356 * t113 + 0.64e-4 * t1457 * t113 - 0.16384000000000000001e-7 * t413 * t408 - 0.10666666666666666667e-1 * t609 * t474 - 0.34133333333333333333e-3 * t581 * t364 - 0.10666666666666666667e-1 * t596 * t477; + const double t1475 = t429 * t104; + const double t1478 = t355 * t31; + const double t1484 = t166 * t30; + const double t1487 = t112 * t154 * sigma; + const double t1493 = t497 * sigma; + const double t1494 = t1493 * t30; + const double t1497 = t310 * t404; + const double t1500 = t208 * t30; + const double t1502 = t112 * t199; + const double t1503 = t1502 * sigma; + const double t1508 = t562 * t1357; + const double t1513 = t602 * t31; + const double t1517 = 0.1e1 / t19 / t311; + const double t1518 = t181 * t1517; + const double t1519 = t129 * t199; + const double t1520 = t30 * t150; + const double t1521 = t1519 * t1520; + const double t1528 = -0.13653333333333333334e-5 * t359 * t313 + 0.68266666666666666668e-5 * t105 * t313 - 0.512e-6 * t388 * t130 + 0.768e-6 * t1475 * t130 + 0.4e-2 * t1478 * t169 - 0.32e-4 * t516 * t30 * t613 + 0.25600000000000000001e-3 * t1484 * t362 * t1487 - 0.32e-4 * t551 * t30 * t184 + 0.64e-4 * t1494 * t184 - 0.16384000000000000001e-7 * t1497 * t1201 + 0.25600000000000000001e-3 * t1500 * t362 * t1503 - 0.34133333333333333333e-3 * t603 * t481 - 0.85333333333333333331e-5 * t210 * t1508 - 0.42666666666666666666e-5 * t168 * t564 + 0.85333333333333333331e-5 * t1513 * t564 - 0.68266666666666666665e-7 * t1518 * t1521 - 0.10666666666666666667e-1 * t576 * t473 - 0.6144e-5 * t586 * t313; + const double t1529 = t1468 + t1528; + const double t1534 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t616 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1529 ); + const double t1540 = t642 * t83; + const double t1546 = t625 * t83; + const double t1551 = t630 * t83; + const double t1556 = 0.1e1 / t19 / t106; + const double t1557 = t1556 * t46; + const double t1558 = t1557 * tau; + const double t1561 = t42 * tau; + const double t1562 = t30 * t1556; + const double t1563 = t1562 * t46; + const double t1572 = t636 * t83; + const double t1577 = 0.25e2 / 0.3e1 * t464 * t1540 + 0.25e2 / 0.3e1 * t62 * t648 * t83 + 0.5e1 / 0.3e1 * t38 * t1546 + 0.1e2 / 0.3e1 * t443 * t1546 + 0.1e2 / 0.3e1 * t44 * t1551 - 0.2e2 / 0.3e1 * t1554 * t1558 - 0.2e2 / 0.3e1 * t1561 * t1563 - 0.10666666666666666667e-1 * t668 * t397 - 0.17066666666666666667e-3 * t683 * t364 + 0.5e1 * t450 * t1551 + 0.5e1 * t50 * t1572 + 0.2e2 / 0.3e1 * t457 * t1572; + const double t1580 = t712 * t199; + const double t1583 = t83 * t40; + const double t1589 = t1562 * tau; + const double t1594 = t70 * tau; + const double t1625 = 0.5e1 / 0.3e1 * t652 * t1583 - 0.2e2 / 0.3e1 * t1586 * t1558 - 0.2e2 / 0.3e1 * t913 * t1589 + 0.5e1 / 0.3e1 * t68 * t1546 - 0.2e2 / 0.3e1 * t1594 * t1563 - 0.8e2 / 0.3e1 * t921 * t1589 + 0.1e2 / 0.3e1 * t334 * t1546 - 0.2e2 * t926 * t1589 + 0.1e2 / 0.3e1 * t71 * t1551 - 0.2e2 * t932 * t1589 - 0.6e2 * t935 * t1589 + 0.5e1 * t341 * t1551 - 0.4e2 * t940 * t1589 + 0.5e1 * t74 * t1572 - 0.4e2 * t946 * t1589 - 0.32e3 / 0.3e1 * t949 * t1589 + 0.2e2 / 0.3e1 * t348 * t1572 - 0.2e3 / 0.3e1 * t954 * t1589 + 0.2e2 / 0.3e1 * t77 * t1540; + const double t1626 = t1625 * sigma; + const double t1629 = t667 * t104; + const double t1641 = t97 * tau; + const double t1662 = 0.5e1 / 0.3e1 * t671 * t1583 - 0.2e2 / 0.3e1 * t1634 * t1558 - 0.2e2 / 0.3e1 * t848 * t1589 + 0.5e1 / 0.3e1 * t95 * t1546 - 0.2e2 / 0.3e1 * t1641 * t1563 - 0.8e2 / 0.3e1 * t859 * t1589 + 0.1e2 / 0.3e1 * t373 * t1546 - 0.2e2 * t864 * t1589 + 0.1e2 / 0.3e1 * t98 * t1551 - 0.2e2 * t870 * t1589 - 0.6e2 * t873 * t1589 + 0.5e1 * t380 * t1551 - 0.4e2 * t878 * t1589 + 0.5e1 * t101 * t1572; + const double t1663 = t1662 * t104; + const double t1666 = t753 * t223; + const double t1669 = t774 * t321; + const double t1672 = t737 * t124; + const double t1675 = t693 * t400; + const double t1678 = t682 * t124; + const double t1690 = t120 * tau; + const double t1701 = 0.5e1 / 0.3e1 * t686 * t1583 - 0.2e2 / 0.3e1 * t1683 * t1558 - 0.2e2 / 0.3e1 * t1383 * t1589 + 0.5e1 / 0.3e1 * t118 * t1546 - 0.2e2 / 0.3e1 * t1690 * t1563 - 0.8e2 / 0.3e1 * t1391 * t1589 + 0.1e2 / 0.3e1 * t422 * t1546 - 0.2e2 * t1396 * t1589 + 0.1e2 / 0.3e1 * t121 * t1551; + const double t1702 = t1701 * t124; + const double t1709 = 0.2e2 / 0.3e1 * t56 * t1540 + 0.13333333333333333333e0 * t1580 * t307 + 0.4e-2 * t1626 * t90 + 0.85333333333333333336e-4 * t1629 * t364 + 0.32e-4 * t1663 * t113 + 0.26666666666666666666e0 * t1666 * t307 + 0.39999999999999999999e0 * t1669 * t307 + 0.13653333333333333334e-5 * t1672 * t314 + 0.81920000000000000003e-8 * t1675 * t408 + 0.13653333333333333334e-5 * t1678 * t313 + 0.256e-6 * t1702 * t130 + 0.5e1 / 0.3e1 * t622 * t1583 - 0.32e3 / 0.3e1 * t1163 * t1589; + const double t1732 = t160 * tau; + const double t1753 = 0.5e1 / 0.3e1 * t714 * t1583 - 0.2e2 / 0.3e1 * t1725 * t1558 - 0.2e2 / 0.3e1 * t1062 * t1589 + 0.5e1 / 0.3e1 * t158 * t1546 - 0.2e2 / 0.3e1 * t1732 * t1563 - 0.8e2 / 0.3e1 * t1070 * t1589 + 0.1e2 / 0.3e1 * t536 * t1546 - 0.2e2 * t1075 * t1589 + 0.1e2 / 0.3e1 * t161 * t1551 - 0.2e2 * t1081 * t1589 - 0.6e2 * t1084 * t1589 + 0.5e1 * t543 * t1551 - 0.4e2 * t1089 * t1589 + 0.5e1 * t164 * t1572; + const double t1754 = t1753 * sigma; + const double t1755 = t1754 * t31; + const double t1777 = t205 * tau; + const double t1788 = 0.5e1 / 0.3e1 * t755 * t1583 - 0.2e2 / 0.3e1 * t1770 * t1558 - 0.2e2 / 0.3e1 * t1013 * t1589 + 0.5e1 / 0.3e1 * t203 * t1546 - 0.2e2 / 0.3e1 * t1777 * t1563 - 0.8e2 / 0.3e1 * t1021 * t1589 + 0.1e2 / 0.3e1 * t508 * t1546 - 0.2e2 * t1026 * t1589 + 0.1e2 / 0.3e1 * t206 * t1551; + const double t1789 = t1788 * sigma; + const double t1790 = t1789 * t31; + const double t1793 = -0.2e3 / 0.3e1 * t1204 * t1589 - 0.2e3 / 0.3e1 * t1208 * t1589 - 0.5e3 / 0.3e1 * t1211 * t1589 - 0.1e3 * t1137 * t1589 - 0.2e2 / 0.3e1 * t1140 * t1589 - 0.8e2 / 0.3e1 * t1143 * t1589 + 0.4e-2 * t1755 * t170 - 0.2e2 * t1146 * t1589 - 0.2e2 * t1150 * t1589 - 0.6e2 * t1153 * t1589 - 0.4e2 * t1156 * t1589 - 0.4e2 * t1160 * t1589 + 0.4e-2 * t1790 * t211; + const double t1794 = t725 * t104; + const double t1795 = t1794 * t30; + const double t1810 = t177 * tau; + const double t1821 = 0.5e1 / 0.3e1 * t730 * t1583 - 0.2e2 / 0.3e1 * t1803 * t1558 - 0.2e2 / 0.3e1 * t1112 * t1589 + 0.5e1 / 0.3e1 * t175 * t1546 - 0.2e2 / 0.3e1 * t1810 * t1563 - 0.8e2 / 0.3e1 * t1120 * t1589 + 0.1e2 / 0.3e1 * t490 * t1546 - 0.2e2 * t1125 * t1589 + 0.1e2 / 0.3e1 * t178 * t1551; + const double t1822 = t1821 * t104; + const double t1823 = t1822 * t30; + const double t1826 = t762 * t104; + const double t1827 = t1826 * t30; + const double t1839 = t738 * t31; + const double t1851 = t218 * tau; + const double t1862 = 0.5e1 / 0.3e1 * t767 * t1583 - 0.2e2 / 0.3e1 * t1844 * t1558 - 0.2e2 / 0.3e1 * t1258 * t1589 + 0.5e1 / 0.3e1 * t216 * t1546 - 0.2e2 / 0.3e1 * t1851 * t1563 - 0.8e2 / 0.3e1 * t1266 * t1589 + 0.1e2 / 0.3e1 * t294 * t1546 - 0.2e2 * t1271 * t1589 + 0.1e2 / 0.3e1 * t219 * t1551; + const double t1873 = t137 * tau; + const double t1904 = 0.5e1 / 0.3e1 * t697 * t1583 - 0.2e2 / 0.3e1 * t1866 * t1558 - 0.2e2 / 0.3e1 * t1283 * t1589 + 0.5e1 / 0.3e1 * t135 * t1546 - 0.2e2 / 0.3e1 * t1873 * t1563 - 0.8e2 / 0.3e1 * t1291 * t1589 + 0.1e2 / 0.3e1 * t243 * t1546 - 0.2e2 * t1296 * t1589 + 0.1e2 / 0.3e1 * t138 * t1551 - 0.2e2 * t1302 * t1589 - 0.6e2 * t1305 * t1589 + 0.5e1 * t250 * t1551 - 0.4e2 * t1310 * t1589 + 0.5e1 * t141 * t1572 - 0.4e2 * t1316 * t1589 - 0.32e3 / 0.3e1 * t1319 * t1589 + 0.2e2 / 0.3e1 * t257 * t1572 - 0.2e3 / 0.3e1 * t1324 * t1589 + 0.2e2 / 0.3e1 * t144 * t1540; + const double t1915 = t191 * tau; + const double t1936 = 0.5e1 / 0.3e1 * t742 * t1583 - 0.2e2 / 0.3e1 * t1908 * t1558 - 0.2e2 / 0.3e1 * t1219 * t1589 + 0.5e1 / 0.3e1 * t189 * t1546 - 0.2e2 / 0.3e1 * t1915 * t1563 - 0.8e2 / 0.3e1 * t1227 * t1589 + 0.1e2 / 0.3e1 * t272 * t1546 - 0.2e2 * t1232 * t1589 + 0.1e2 / 0.3e1 * t192 * t1551 - 0.2e2 * t1238 * t1589 - 0.6e2 * t1241 * t1589 + 0.5e1 * t279 * t1551 - 0.4e2 * t1246 * t1589 + 0.5e1 * t195 * t1572; + const double t1940 = 0.85333333333333333336e-4 * t1795 * t481 + 0.10666666666666666666e-2 * t726 * t433 * t436 + 0.32e-4 * t1823 * t184 + 0.85333333333333333336e-4 * t1827 * t522 + 0.21333333333333333333e-2 * t763 * t433 * t527 - 0.10666666666666666667e-1 * t764 * t474 - 0.10666666666666666667e-1 * t727 * t477 - 0.17066666666666666667e-3 * t739 * t481 + 0.42666666666666666666e-5 * t1839 * t564 + t1862 * t223 + t1904 * t154 + t1936 * t199 - 0.2048e-5 * t694 * t313; + const double t1942 = t1577 + t1709 + t1793 + t1940; + const double t1947 = piecewise_functor_3( t3, 0.0, -t7 * t231 * t776 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t1942 ); + const double t1954 = t103 * t30; + const double t1961 = t123 * sigma; + const double t1966 = t126 * t107; + const double t1968 = 0.1e1 / t19 / t1966; + const double t1970 = t1968 * t813 * t30; + const double t1977 = t180 * t30; + const double t1982 = t181 * t591; + const double t1987 = t130 * t199; + const double t1990 = -0.64e-4 * t1451 * t183 + 0.512e-6 * t80 * t130 + 0.64e-4 * t1954 * t183 - 0.2048e-5 * t581 * t130 + 0.6144e-8 * t105 * t593 + 0.1536e-5 * t1961 * t130 - 0.18432e-7 * t586 * t593 + 0.98304e-10 * t125 * t1970 - 0.64e-4 * t1484 * t184 + 0.512e-6 * t167 * t606 + 0.64e-4 * t1977 * t184 - 0.2048e-5 * t602 * t606 + 0.6144e-8 * t1982 * t1201 - 0.64e-4 * t1500 * t613 + 0.512e-6 * t209 * t1987; + const double t1994 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1990 ); + const double t1996 = t667 * t31; + const double t2001 = t682 * sigma; + const double t2006 = t693 * t104; + const double t2011 = t725 * t31; + const double t2017 = t737 * sigma; + const double t2018 = t2017 * t30; + const double t2023 = t762 * t31; + const double t2029 = 0.4e-2 * t1996 * t169 - 0.32e-4 * t668 * t113 + 0.64e-4 * t2001 * t113 - 0.512e-6 * t683 * t130 + 0.768e-6 * t2006 * t130 - 0.3072e-8 * t694 * t593 + 0.4e-2 * t2011 * t170 - 0.32e-4 * t726 * t30 * t184 + 0.64e-4 * t2018 * t184 - 0.512e-6 * t738 * t606 + 0.4e-2 * t2023 * t211 - 0.32e-4 * t763 * t30 * t613; + const double t2033 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2029 ); + const double t2036 = 0.1e1 / t19 / t393; + const double t2037 = t2036 * t46; + const double t2040 = t52 * t30; + const double t2041 = t2040 * t2036; + const double t2049 = t58 * t30; + const double t2050 = t2049 * t2036; + const double t2053 = 0.4e1 * t1770 * t2037 + 0.4e1 * t203 * t2041 + 0.4e1 * t2044 * t2037 + 0.16e2 * t508 * t2041 + 0.12e2 * t206 * t2050; + const double t2054 = t2053 * sigma; + const double t2055 = t2054 * t31; + const double t2073 = t64 * t30; + const double t2074 = t2073 * t2036; + const double t2077 = 0.12e2 * t1080 * t2041 + 0.4e1 * t158 * t2041 + 0.12e2 * t161 * t2050 + 0.24e2 * t164 * t2074 + 0.4e1 * t1725 * t2037 + 0.4e1 * t2062 * t2037 + 0.16e2 * t536 * t2041 + 0.36e2 * t543 * t2050; + const double t2078 = t2077 * sigma; + const double t2079 = t2078 * t31; + const double t2093 = 0.4e1 * t175 * t2041 + 0.12e2 * t178 * t2050 + 0.4e1 * t1803 * t2037 + 0.4e1 * t2086 * t2037 + 0.16e2 * t490 * t2041; + const double t2094 = t2093 * t104; + const double t2095 = t2094 * t30; + const double t2109 = 0.4e1 * t1844 * t2037 + 0.4e1 * t2102 * t2037 + 0.4e1 * t216 * t2041 + 0.16e2 * t294 * t2041 + 0.12e2 * t219 * t2050; + const double t2132 = t469 * t30; + const double t2133 = t2132 * t2036; + const double t2136 = 0.12e2 * t1301 * t2041 + 0.24e2 * t1315 * t2050 + 0.4e1 * t135 * t2041 + 0.12e2 * t138 * t2050 + 0.24e2 * t141 * t2074 + 0.4e2 * t144 * t2133 + 0.4e1 * t1866 * t2037 + 0.4e1 * t2115 * t2037 + 0.16e2 * t243 * t2041 + 0.36e2 * t250 * t2050 + 0.64e2 * t257 * t2074; + const double t2155 = 0.12e2 * t1237 * t2041 + 0.4e1 * t189 * t2041 + 0.4e1 * t1908 * t2037 + 0.12e2 * t192 * t2050 + 0.24e2 * t195 * t2074 + 0.4e1 * t2142 * t2037 + 0.16e2 * t272 * t2041 + 0.36e2 * t279 * t2050; + const double t2173 = 0.4e1 * t118 * t2041 + 0.12e2 * t121 * t2050 + 0.4e1 * t1683 * t2037 + 0.4e1 * t2166 * t2037 + 0.16e2 * t422 * t2041; + const double t2174 = t2173 * t124; + const double t2177 = t1136 * t30; + const double t2204 = 0.4e1 * t1586 * t2037 + 0.4e1 * t2185 * t2037 + 0.16e2 * t334 * t2041 + 0.4e1 * t68 * t2041 + 0.12e2 * t931 * t2041 + 0.36e2 * t341 * t2050 + 0.12e2 * t71 * t2050 + 0.24e2 * t945 * t2050 + 0.64e2 * t348 * t2074 + 0.24e2 * t74 * t2074 + 0.4e2 * t77 * t2133; + const double t2205 = t2204 * sigma; + const double t2208 = 0.4e-2 * t2055 * t211 + 0.4e-2 * t2079 * t170 + 0.32e-4 * t2095 * t184 + t2109 * t223 + t2136 * t154 + t2155 * t199 + 0.4e1 * t1554 * t2037 + 0.4e1 * t2159 * t2037 + 0.256e-6 * t2174 * t130 + 0.6e2 * t62 * t2177 * t2036 + 0.4e-2 * t2205 * t90; + const double t2226 = 0.24e2 * t101 * t2074 + 0.4e1 * t1634 * t2037 + 0.4e1 * t2213 * t2037 + 0.16e2 * t373 * t2041 + 0.12e2 * t869 * t2041 + 0.4e1 * t95 * t2041 + 0.36e2 * t380 * t2050 + 0.12e2 * t98 * t2050; + const double t2227 = t2226 * t104; + const double t2252 = 0.32e-4 * t2227 * t113 + 0.4e1 * t38 * t2041 + 0.16e2 * t443 * t2041 + 0.12e2 * t44 * t2050 + 0.12e2 * t1149 * t2041 + 0.36e2 * t450 * t2050 + 0.24e2 * t50 * t2074 + 0.24e2 * t1159 * t2050 + 0.64e2 * t457 * t2074 + 0.4e2 * t56 * t2133 + 0.4e2 * t1207 * t2074 + 0.1e3 * t464 * t2133; + const double t2253 = t2208 + t2252; + const double t2257 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t2253 ); + + + vrho = 0.2e1 * rho * t573 + 0.2e1 * t229; + vsigma = 0.2e1 * rho * t620; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t780; + v2rho2 = 0.2e1 * rho * t1413 + 0.4e1 * t573; + v2rhosigma = 0.2e1 * rho * t1534 + 0.2e1 * t620; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1947 + 0.2e1 * t780; + v2sigma2 = 0.2e1 * rho * t1994; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t2033; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t2257; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + + + eps = t234 + t396; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + + + eps = t234 + t396; + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t151 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t29 = c_0; + constexpr double t30 = c_1; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t34; + constexpr double t37 = 0.3e1 / 0.1e2 * t32 * t35; + constexpr double t48 = c_2; + constexpr double t54 = c_3; + constexpr double t60 = c_4; + constexpr double t66 = c_5; + constexpr double t72 = c_6; + constexpr double t73 = c_7; + constexpr double t76 = c_8; + constexpr double t79 = c_9; + constexpr double t82 = c_10; + constexpr double t97 = c_11; + constexpr double t98 = c_12; + constexpr double t101 = c_13; + constexpr double t104 = c_14; + constexpr double t119 = c_15; + constexpr double t120 = c_16; + constexpr double t123 = c_17; + constexpr double t136 = c_18; + constexpr double t137 = c_19; + constexpr double t140 = c_20; + constexpr double t143 = c_21; + constexpr double t146 = c_22; + constexpr double t166 = c_23; + constexpr double t167 = c_24; + constexpr double t170 = c_25; + constexpr double t173 = c_26; + constexpr double t181 = c_27; + constexpr double t182 = c_28; + constexpr double t185 = c_29; + constexpr double t193 = c_30; + constexpr double t194 = c_31; + constexpr double t197 = c_32; + constexpr double t200 = c_33; + constexpr double t207 = c_34; + constexpr double t208 = c_35; + constexpr double t211 = c_36; + constexpr double t219 = c_37; + constexpr double t220 = c_38; + constexpr double t223 = c_39; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t18 = t17 * t8; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t18 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t38 = safe_math::cbrt( rho_a ); + const double t39 = t38 * t38; + const double t41 = 0.1e1 / t39 / rho_a; + const double t42 = tau_a * t41; + const double t43 = t37 - t42; + const double t44 = t30 * t43; + const double t45 = t37 + t42; + const double t46 = 0.1e1 / t45; + const double t49 = t43 * t43; + const double t50 = t48 * t49; + const double t51 = t45 * t45; + const double t52 = 0.1e1 / t51; + const double t55 = t49 * t43; + const double t56 = t54 * t55; + const double t57 = t51 * t45; + const double t58 = 0.1e1 / t57; + const double t61 = t49 * t49; + const double t62 = t60 * t61; + const double t63 = t51 * t51; + const double t64 = 0.1e1 / t63; + const double t68 = t66 * t61 * t43; + const double t70 = 0.1e1 / t63 / t45; + const double t74 = t73 * t43; + const double t77 = t76 * t49; + const double t80 = t79 * t55; + const double t83 = t82 * t61; + const double t85 = t46 * t74 + t52 * t77 + t58 * t80 + t64 * t83 + t72; + const double t86 = t85 * sigma_aa; + const double t87 = rho_a * rho_a; + const double t89 = 0.1e1 / t39 / t87; + const double t92 = 0.1e1 + 0.4e-2 * sigma_aa * t89; + const double t93 = 0.1e1 / t92; + const double t94 = t89 * t93; + const double t99 = t98 * t43; + const double t102 = t101 * t49; + const double t105 = t104 * t55; + const double t107 = t102 * t52 + t105 * t58 + t99 * t46 + t97; + const double t108 = sigma_aa * sigma_aa; + const double t109 = t107 * t108; + const double t110 = t87 * t87; + const double t111 = t110 * rho_a; + const double t113 = 0.1e1 / t38 / t111; + const double t114 = t92 * t92; + const double t115 = 0.1e1 / t114; + const double t116 = t113 * t115; + const double t121 = t120 * t43; + const double t124 = t123 * t49; + const double t126 = t121 * t46 + t124 * t52 + t119; + const double t127 = t108 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t110 * t110; + const double t130 = 0.1e1 / t129; + const double t131 = t114 * t92; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t138 = t137 * t43; + const double t141 = t140 * t49; + const double t144 = t143 * t55; + const double t147 = t146 * t61; + const double t149 = t138 * t46 + t141 * t52 + t144 * t58 + t147 * t64 + t136; + const double t152 = 0.1e1 / t27 * t151; + const double t154 = 0.1e1 + t18 <= zeta_tol; + const double t156 = 0.1e1 - t18 <= zeta_tol; + const double t157 = piecewise_functor_5( t154, t12, t156, t16, t18 ); + const double t158 = 0.1e1 + t157; + const double t159 = 0.1e1 / t158; + const double t160 = safe_math::cbrt( t159 ); + const double t163 = 0.1e1 + 0.39999999999999999998e0 * t152 * t160; + const double t164 = 0.1e1 / t163; + const double t168 = t167 * t43; + const double t171 = t170 * t49; + const double t174 = t173 * t55; + const double t176 = t168 * t46 + t171 * t52 + t174 * t58 + t166; + const double t177 = t176 * sigma_aa; + const double t178 = t94 * t164; + const double t183 = t182 * t43; + const double t186 = t185 * t49; + const double t188 = t183 * t46 + t186 * t52 + t181; + const double t189 = t188 * t108; + const double t190 = t116 * t164; + const double t195 = t194 * t43; + const double t198 = t197 * t49; + const double t201 = t200 * t55; + const double t203 = t195 * t46 + t198 * t52 + t201 * t58 + t193; + const double t204 = t163 * t163; + const double t205 = 0.1e1 / t204; + const double t209 = t208 * t43; + const double t212 = t211 * t49; + const double t214 = t209 * t46 + t212 * t52 + t207; + const double t215 = t214 * sigma_aa; + const double t216 = t94 * t205; + const double t221 = t220 * t43; + const double t224 = t223 * t49; + const double t226 = t221 * t46 + t224 * t52 + t219; + const double t227 = t204 * t163; + const double t228 = 0.1e1 / t227; + const double t230 = t29 + t44 * t46 + t50 * t52 + t56 * t58 + t62 * t64 + t68 * t70 + 0.4e-2 * t86 * t94 + 0.16e-4 * t109 * t116 + 0.64e-7 * t128 * t133 + t149 * t164 + 0.4e-2 * t177 * t178 + 0.16e-4 * t189 * t190 + t203 * t205 + 0.4e-2 * t215 * t216 + t226 * t228; + const double t234 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t230 ); + const double t235 = rho_b <= dens_tol; + const double t236 = -t17; + const double t238 = piecewise_functor_5( t15, t12, t11, t16, t236 * t8 ); + const double t239 = 0.1e1 + t238; + const double t240 = t239 <= zeta_tol; + const double t241 = safe_math::cbrt( t239 ); + const double t243 = piecewise_functor_3( t240, t23, t241 * t239 ); + const double t244 = t243 * t27; + const double t245 = safe_math::cbrt( rho_b ); + const double t246 = t245 * t245; + const double t248 = 0.1e1 / t246 / rho_b; + const double t249 = tau_b * t248; + const double t250 = t37 - t249; + const double t251 = t30 * t250; + const double t252 = t37 + t249; + const double t253 = 0.1e1 / t252; + const double t255 = t250 * t250; + const double t256 = t48 * t255; + const double t257 = t252 * t252; + const double t258 = 0.1e1 / t257; + const double t260 = t255 * t250; + const double t261 = t54 * t260; + const double t262 = t257 * t252; + const double t263 = 0.1e1 / t262; + const double t265 = t255 * t255; + const double t266 = t60 * t265; + const double t267 = t257 * t257; + const double t268 = 0.1e1 / t267; + const double t271 = t66 * t265 * t250; + const double t273 = 0.1e1 / t267 / t252; + const double t275 = t73 * t250; + const double t277 = t76 * t255; + const double t279 = t79 * t260; + const double t281 = t82 * t265; + const double t283 = t253 * t275 + t258 * t277 + t263 * t279 + t268 * t281 + t72; + const double t284 = t283 * sigma_bb; + const double t285 = rho_b * rho_b; + const double t287 = 0.1e1 / t246 / t285; + const double t290 = 0.1e1 + 0.4e-2 * sigma_bb * t287; + const double t291 = 0.1e1 / t290; + const double t292 = t287 * t291; + const double t295 = t98 * t250; + const double t297 = t101 * t255; + const double t299 = t104 * t260; + const double t301 = t253 * t295 + t258 * t297 + t263 * t299 + t97; + const double t302 = sigma_bb * sigma_bb; + const double t303 = t301 * t302; + const double t304 = t285 * t285; + const double t305 = t304 * rho_b; + const double t307 = 0.1e1 / t245 / t305; + const double t308 = t290 * t290; + const double t309 = 0.1e1 / t308; + const double t310 = t307 * t309; + const double t313 = t120 * t250; + const double t315 = t123 * t255; + const double t317 = t253 * t313 + t258 * t315 + t119; + const double t318 = t302 * sigma_bb; + const double t319 = t317 * t318; + const double t320 = t304 * t304; + const double t321 = 0.1e1 / t320; + const double t322 = t308 * t290; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t327 = t137 * t250; + const double t329 = t140 * t255; + const double t331 = t143 * t260; + const double t333 = t146 * t265; + const double t335 = t253 * t327 + t258 * t329 + t263 * t331 + t268 * t333 + t136; + const double t336 = piecewise_functor_5( t156, t12, t154, t16, -t18 ); + const double t337 = 0.1e1 + t336; + const double t338 = 0.1e1 / t337; + const double t339 = safe_math::cbrt( t338 ); + const double t342 = 0.1e1 + 0.39999999999999999998e0 * t152 * t339; + const double t343 = 0.1e1 / t342; + const double t345 = t167 * t250; + const double t347 = t170 * t255; + const double t349 = t173 * t260; + const double t351 = t253 * t345 + t258 * t347 + t263 * t349 + t166; + const double t352 = t351 * sigma_bb; + const double t353 = t292 * t343; + const double t356 = t182 * t250; + const double t358 = t185 * t255; + const double t360 = t253 * t356 + t258 * t358 + t181; + const double t361 = t360 * t302; + const double t362 = t310 * t343; + const double t365 = t194 * t250; + const double t367 = t197 * t255; + const double t369 = t200 * t260; + const double t371 = t253 * t365 + t258 * t367 + t263 * t369 + t193; + const double t372 = t342 * t342; + const double t373 = 0.1e1 / t372; + const double t375 = t208 * t250; + const double t377 = t211 * t255; + const double t379 = t253 * t375 + t258 * t377 + t207; + const double t380 = t379 * sigma_bb; + const double t381 = t292 * t373; + const double t384 = t220 * t250; + const double t386 = t223 * t255; + const double t388 = t253 * t384 + t258 * t386 + t219; + const double t389 = t372 * t342; + const double t390 = 0.1e1 / t389; + const double t392 = t29 + t251 * t253 + t256 * t258 + t261 * t263 + t266 * t268 + t271 * t273 + 0.4e-2 * t284 * t292 + 0.16e-4 * t303 * t310 + 0.64e-7 * t319 * t324 + t335 * t343 + 0.4e-2 * t352 * t353 + 0.16e-4 * t361 * t362 + t371 * t373 + 0.4e-2 * t380 * t381 + t388 * t390; + const double t396 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t392 ); + const double t397 = t7 * t7; + const double t398 = 0.1e1 / t397; + const double t399 = t17 * t398; + const double t400 = t8 - t399; + const double t401 = piecewise_functor_5( t11, 0.0, t15, 0.0, t400 ); + const double t404 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t401 ); + const double t405 = t404 * t27; + const double t409 = t27 * t27; + const double t410 = 0.1e1 / t409; + const double t411 = t26 * t410; + const double t414 = t6 * t411 * t230 / 0.8e1; + const double t415 = t110 * t87; + const double t417 = 0.1e1 / t38 / t415; + const double t418 = t417 * t115; + const double t421 = t129 * rho_a; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t132; + const double t426 = t87 * rho_a; + const double t428 = 0.1e1 / t39 / t426; + const double t429 = t428 * t93; + const double t432 = t30 * tau_a; + const double t433 = t89 * t46; + const double t436 = t73 * tau_a; + const double t439 = t52 * tau_a; + const double t440 = t439 * t89; + const double t443 = t76 * t43; + const double t446 = t58 * tau_a; + const double t447 = t446 * t89; + const double t450 = t79 * t49; + const double t453 = t64 * tau_a; + const double t454 = t453 * t89; + const double t457 = t82 * t55; + const double t460 = t70 * tau_a; + const double t461 = t460 * t89; + const double t464 = 0.5e1 / 0.3e1 * t436 * t433 + 0.5e1 / 0.3e1 * t74 * t440 + 0.1e2 / 0.3e1 * t443 * t440 + 0.1e2 / 0.3e1 * t77 * t447 + 0.5e1 * t450 * t447 + 0.5e1 * t80 * t454 + 0.2e2 / 0.3e1 * t457 * t454 + 0.2e2 / 0.3e1 * t83 * t461; + const double t465 = t464 * sigma_aa; + const double t468 = t85 * t108; + const double t471 = t98 * tau_a; + const double t476 = t101 * t43; + const double t481 = t104 * t49; + const double t486 = 0.5e1 / 0.3e1 * t471 * t433 + 0.5e1 / 0.3e1 * t99 * t440 + 0.1e2 / 0.3e1 * t476 * t440 + 0.1e2 / 0.3e1 * t102 * t447 + 0.5e1 * t481 * t447 + 0.5e1 * t105 * t454; + const double t487 = t486 * t108; + const double t490 = t107 * t127; + const double t493 = t120 * tau_a; + const double t498 = t123 * t43; + const double t503 = 0.5e1 / 0.3e1 * t493 * t433 + 0.5e1 / 0.3e1 * t121 * t440 + 0.1e2 / 0.3e1 * t498 * t440 + 0.1e2 / 0.3e1 * t124 * t447; + const double t504 = t503 * t127; + const double t507 = t108 * t108; + const double t508 = t126 * t507; + const double t509 = t129 * t426; + const double t511 = 0.1e1 / t39 / t509; + const double t512 = t114 * t114; + const double t513 = 0.1e1 / t512; + const double t514 = t511 * t513; + const double t517 = t429 * t164; + const double t520 = t418 * t164; + const double t523 = t176 * t108; + const double t526 = t182 * tau_a; + const double t531 = t185 * t43; + const double t536 = 0.5e1 / 0.3e1 * t526 * t433 + 0.5e1 / 0.3e1 * t183 * t440 + 0.1e2 / 0.3e1 * t531 * t440 + 0.1e2 / 0.3e1 * t186 * t447; + const double t537 = t536 * t108; + const double t540 = t188 * t127; + const double t541 = t423 * t164; + const double t544 = t208 * tau_a; + const double t549 = t211 * t43; + const double t554 = 0.5e1 / 0.3e1 * t544 * t433 + 0.5e1 / 0.3e1 * t209 * t440 + 0.1e2 / 0.3e1 * t549 * t440 + 0.1e2 / 0.3e1 * t212 * t447; + const double t555 = t554 * sigma_aa; + const double t558 = t167 * tau_a; + const double t563 = t170 * t43; + const double t568 = t173 * t49; + const double t573 = 0.5e1 / 0.3e1 * t558 * t433 + 0.5e1 / 0.3e1 * t168 * t440 + 0.1e2 / 0.3e1 * t563 * t440 + 0.1e2 / 0.3e1 * t171 * t447 + 0.5e1 * t568 * t447 + 0.5e1 * t174 * t454; + const double t574 = t573 * sigma_aa; + const double t579 = -0.85333333333333333333e-4 * t109 * t418 - 0.512e-6 * t128 * t423 - 0.10666666666666666667e-1 * t86 * t429 + 0.5e1 / 0.3e1 * t432 * t433 + 0.4e-2 * t465 * t94 + 0.42666666666666666668e-4 * t468 * t418 + 0.16e-4 * t487 * t116 + 0.34133333333333333334e-6 * t490 * t423 + 0.64e-7 * t504 * t133 + 0.20480000000000000001e-8 * t508 * t514 - 0.10666666666666666667e-1 * t177 * t517 - 0.85333333333333333333e-4 * t189 * t520 + 0.42666666666666666668e-4 * t523 * t520 + 0.16e-4 * t537 * t190 + 0.34133333333333333334e-6 * t540 * t541 + 0.4e-2 * t555 * t216 + 0.4e-2 * t574 * t178 + 0.5e1 / 0.3e1 * t44 * t440; + const double t580 = t48 * t43; + const double t585 = t54 * t49; + const double t590 = t60 * t55; + const double t595 = t66 * t61; + const double t599 = 0.1e1 / t63 / t51; + const double t600 = t599 * tau_a; + const double t604 = t214 * t108; + const double t605 = t418 * t205; + const double t608 = t429 * t205; + const double t611 = t203 * t228; + const double t614 = 0.1e1 / t27 / t7 * t151; + const double t616 = 0.13333333333333333333e0 * t614 * t160; + const double t617 = t160 * t160; + const double t618 = 0.1e1 / t617; + const double t619 = t158 * t158; + const double t620 = 0.1e1 / t619; + const double t621 = t618 * t620; + const double t622 = piecewise_functor_5( t154, 0.0, t156, 0.0, t400 ); + const double t623 = t621 * t622; + const double t626 = -t616 - 0.13333333333333333333e0 * t152 * t623; + const double t629 = t204 * t204; + const double t630 = 0.1e1 / t629; + const double t631 = t226 * t630; + const double t634 = t149 * t205; + const double t636 = t215 * t89; + const double t637 = t93 * t228; + const double t638 = t637 * t626; + const double t641 = t177 * t89; + const double t642 = t93 * t205; + const double t643 = t642 * t626; + const double t646 = t189 * t113; + const double t647 = t115 * t205; + const double t648 = t647 * t626; + const double t651 = t194 * tau_a; + const double t656 = t197 * t43; + const double t661 = t200 * t49; + const double t666 = 0.5e1 / 0.3e1 * t651 * t433 + 0.5e1 / 0.3e1 * t195 * t440 + 0.1e2 / 0.3e1 * t656 * t440 + 0.1e2 / 0.3e1 * t198 * t447 + 0.5e1 * t661 * t447 + 0.5e1 * t201 * t454; + const double t668 = t220 * tau_a; + const double t673 = t223 * t43; + const double t678 = 0.5e1 / 0.3e1 * t668 * t433 + 0.5e1 / 0.3e1 * t221 * t440 + 0.1e2 / 0.3e1 * t673 * t440 + 0.1e2 / 0.3e1 * t224 * t447; + const double t680 = t137 * tau_a; + const double t685 = t140 * t43; + const double t690 = t143 * t49; + const double t695 = t146 * t55; + const double t700 = 0.5e1 / 0.3e1 * t680 * t433 + 0.5e1 / 0.3e1 * t138 * t440 + 0.1e2 / 0.3e1 * t685 * t440 + 0.1e2 / 0.3e1 * t141 * t447 + 0.5e1 * t690 * t447 + 0.5e1 * t144 * t454 + 0.2e2 / 0.3e1 * t695 * t454 + 0.2e2 / 0.3e1 * t147 * t461; + const double t702 = 0.1e2 / 0.3e1 * t580 * t440 + 0.1e2 / 0.3e1 * t50 * t447 + 0.5e1 * t585 * t447 + 0.5e1 * t56 * t454 + 0.2e2 / 0.3e1 * t590 * t454 + 0.2e2 / 0.3e1 * t62 * t461 + 0.25e2 / 0.3e1 * t595 * t461 + 0.25e2 / 0.3e1 * t68 * t600 * t89 + 0.42666666666666666668e-4 * t604 * t605 - 0.10666666666666666667e-1 * t215 * t608 - 0.2e1 * t611 * t626 - 0.3e1 * t631 * t626 - t634 * t626 - 0.8e-2 * t636 * t638 - 0.4e-2 * t641 * t643 - 0.16e-4 * t646 * t648 + t666 * t205 + t678 * t228 + t700 * t164; + const double t703 = t579 + t702; + const double t708 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t703 ); + const double t709 = t236 * t398; + const double t711 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t709 ); + const double t714 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t711 ); + const double t715 = t714 * t27; + const double t719 = t243 * t410; + const double t722 = t6 * t719 * t392 / 0.8e1; + const double t723 = t335 * t373; + const double t725 = 0.13333333333333333333e0 * t614 * t339; + const double t726 = t339 * t339; + const double t727 = 0.1e1 / t726; + const double t728 = t337 * t337; + const double t729 = 0.1e1 / t728; + const double t730 = t727 * t729; + const double t732 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t400 ); + const double t733 = t730 * t732; + const double t736 = -t725 - 0.13333333333333333333e0 * t152 * t733; + const double t738 = t352 * t287; + const double t739 = t291 * t373; + const double t740 = t739 * t736; + const double t743 = t361 * t307; + const double t744 = t309 * t373; + const double t745 = t744 * t736; + const double t748 = t371 * t390; + const double t751 = t380 * t287; + const double t752 = t291 * t390; + const double t753 = t752 * t736; + const double t756 = t372 * t372; + const double t757 = 0.1e1 / t756; + const double t758 = t388 * t757; + const double t761 = -t723 * t736 - 0.4e-2 * t738 * t740 - 0.16e-4 * t743 * t745 - 0.2e1 * t748 * t736 - 0.8e-2 * t751 * t753 - 0.3e1 * t758 * t736; + const double t766 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t715 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t761 ); + const double t769 = -t8 - t399; + const double t770 = piecewise_functor_5( t11, 0.0, t15, 0.0, t769 ); + const double t773 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t770 ); + const double t774 = t773 * t27; + const double t778 = piecewise_functor_5( t154, 0.0, t156, 0.0, t769 ); + const double t779 = t621 * t778; + const double t782 = -t616 - 0.13333333333333333333e0 * t152 * t779; + const double t784 = t642 * t782; + const double t787 = t647 * t782; + const double t792 = t637 * t782; + const double t797 = -t634 * t782 - 0.4e-2 * t641 * t784 - 0.16e-4 * t646 * t787 - 0.2e1 * t611 * t782 - 0.8e-2 * t636 * t792 - 0.3e1 * t631 * t782; + const double t802 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t774 * t230 - t414 - 0.3e1 / 0.8e1 * t6 * t28 * t797 ); + const double t804 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t709 ); + const double t807 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.3e1 * t241 * t804 ); + const double t808 = t807 * t27; + const double t813 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t769 ); + const double t814 = t730 * t813; + const double t817 = -t725 - 0.13333333333333333333e0 * t152 * t814; + const double t823 = t66 * t265; + const double t824 = t273 * tau_b; + const double t825 = t824 * t287; + const double t829 = 0.1e1 / t267 / t257; + const double t830 = t829 * tau_b; + const double t834 = t285 * rho_b; + const double t836 = 0.1e1 / t246 / t834; + const double t837 = t836 * t291; + const double t838 = t837 * t343; + const double t841 = t304 * t285; + const double t843 = 0.1e1 / t245 / t841; + const double t844 = t843 * t309; + const double t845 = t844 * t343; + const double t848 = t837 * t373; + const double t851 = t208 * tau_b; + const double t852 = t287 * t253; + const double t855 = t258 * tau_b; + const double t856 = t855 * t287; + const double t859 = t211 * t250; + const double t862 = t263 * tau_b; + const double t863 = t862 * t287; + const double t866 = 0.5e1 / 0.3e1 * t851 * t852 + 0.5e1 / 0.3e1 * t375 * t856 + 0.1e2 / 0.3e1 * t859 * t856 + 0.1e2 / 0.3e1 * t377 * t863; + const double t867 = t866 * sigma_bb; + const double t870 = t379 * t302; + const double t871 = t844 * t373; + const double t874 = t167 * tau_b; + const double t879 = t170 * t250; + const double t884 = t173 * t255; + const double t887 = t268 * tau_b; + const double t888 = t887 * t287; + const double t891 = 0.5e1 / 0.3e1 * t874 * t852 + 0.5e1 / 0.3e1 * t345 * t856 + 0.1e2 / 0.3e1 * t879 * t856 + 0.1e2 / 0.3e1 * t347 * t863 + 0.5e1 * t884 * t863 + 0.5e1 * t349 * t888; + const double t892 = t891 * sigma_bb; + const double t895 = t351 * t302; + const double t898 = t182 * tau_b; + const double t903 = t185 * t250; + const double t908 = 0.5e1 / 0.3e1 * t898 * t852 + 0.5e1 / 0.3e1 * t356 * t856 + 0.1e2 / 0.3e1 * t903 * t856 + 0.1e2 / 0.3e1 * t358 * t863; + const double t909 = t908 * t302; + const double t912 = t360 * t318; + const double t913 = t320 * rho_b; + const double t914 = 0.1e1 / t913; + const double t915 = t914 * t323; + const double t916 = t915 * t343; + const double t921 = t48 * t250; + const double t926 = t54 * t255; + const double t929 = -0.2e1 * t748 * t817 - 0.3e1 * t758 * t817 - t723 * t817 + 0.25e2 / 0.3e1 * t823 * t825 + 0.25e2 / 0.3e1 * t271 * t830 * t287 - 0.10666666666666666667e-1 * t352 * t838 - 0.85333333333333333333e-4 * t361 * t845 - 0.10666666666666666667e-1 * t380 * t848 + 0.4e-2 * t867 * t381 + 0.42666666666666666668e-4 * t870 * t871 + 0.4e-2 * t892 * t353 + 0.42666666666666666668e-4 * t895 * t845 + 0.16e-4 * t909 * t362 + 0.34133333333333333334e-6 * t912 * t916 + 0.5e1 / 0.3e1 * t251 * t856 + 0.1e2 / 0.3e1 * t921 * t856 + 0.1e2 / 0.3e1 * t256 * t863 + 0.5e1 * t926 * t863; + const double t932 = t60 * t260; + const double t943 = t30 * tau_b; + const double t946 = t73 * tau_b; + const double t951 = t76 * t250; + const double t956 = t79 * t255; + const double t961 = t82 * t260; + const double t966 = 0.5e1 / 0.3e1 * t946 * t852 + 0.5e1 / 0.3e1 * t275 * t856 + 0.1e2 / 0.3e1 * t951 * t856 + 0.1e2 / 0.3e1 * t277 * t863 + 0.5e1 * t956 * t863 + 0.5e1 * t279 * t888 + 0.2e2 / 0.3e1 * t961 * t888 + 0.2e2 / 0.3e1 * t281 * t825; + const double t967 = t966 * sigma_bb; + const double t970 = t283 * t302; + const double t973 = t98 * tau_b; + const double t978 = t101 * t250; + const double t983 = t104 * t255; + const double t988 = 0.5e1 / 0.3e1 * t973 * t852 + 0.5e1 / 0.3e1 * t295 * t856 + 0.1e2 / 0.3e1 * t978 * t856 + 0.1e2 / 0.3e1 * t297 * t863 + 0.5e1 * t983 * t863 + 0.5e1 * t299 * t888; + const double t989 = t988 * t302; + const double t992 = t301 * t318; + const double t995 = t120 * tau_b; + const double t1000 = t123 * t250; + const double t1005 = 0.5e1 / 0.3e1 * t995 * t852 + 0.5e1 / 0.3e1 * t313 * t856 + 0.1e2 / 0.3e1 * t1000 * t856 + 0.1e2 / 0.3e1 * t315 * t863; + const double t1006 = t1005 * t318; + const double t1009 = t302 * t302; + const double t1010 = t317 * t1009; + const double t1011 = t320 * t834; + const double t1013 = 0.1e1 / t246 / t1011; + const double t1014 = t308 * t308; + const double t1015 = 0.1e1 / t1014; + const double t1016 = t1013 * t1015; + const double t1019 = t194 * tau_b; + const double t1024 = t197 * t250; + const double t1029 = t200 * t255; + const double t1034 = 0.5e1 / 0.3e1 * t1019 * t852 + 0.5e1 / 0.3e1 * t365 * t856 + 0.1e2 / 0.3e1 * t1024 * t856 + 0.1e2 / 0.3e1 * t367 * t863 + 0.5e1 * t1029 * t863 + 0.5e1 * t369 * t888; + const double t1036 = t220 * tau_b; + const double t1041 = t223 * t250; + const double t1046 = 0.5e1 / 0.3e1 * t1036 * t852 + 0.5e1 / 0.3e1 * t384 * t856 + 0.1e2 / 0.3e1 * t1041 * t856 + 0.1e2 / 0.3e1 * t386 * t863; + const double t1048 = t137 * tau_b; + const double t1053 = t140 * t250; + const double t1058 = t143 * t255; + const double t1063 = t146 * t260; + const double t1068 = 0.5e1 / 0.3e1 * t1048 * t852 + 0.5e1 / 0.3e1 * t327 * t856 + 0.1e2 / 0.3e1 * t1053 * t856 + 0.1e2 / 0.3e1 * t329 * t863 + 0.5e1 * t1058 * t863 + 0.5e1 * t331 * t888 + 0.2e2 / 0.3e1 * t1063 * t888 + 0.2e2 / 0.3e1 * t333 * t825; + const double t1070 = t739 * t817; + const double t1073 = t744 * t817; + const double t1076 = t752 * t817; + const double t1079 = 0.5e1 * t261 * t888 + 0.2e2 / 0.3e1 * t932 * t888 + 0.2e2 / 0.3e1 * t266 * t825 - 0.10666666666666666667e-1 * t284 * t837 - 0.85333333333333333333e-4 * t303 * t844 - 0.512e-6 * t319 * t915 + 0.5e1 / 0.3e1 * t943 * t852 + 0.4e-2 * t967 * t292 + 0.42666666666666666668e-4 * t970 * t844 + 0.16e-4 * t989 * t310 + 0.34133333333333333334e-6 * t992 * t915 + 0.64e-7 * t1006 * t324 + 0.20480000000000000001e-8 * t1010 * t1016 + t1034 * t373 + t1046 * t390 + t1068 * t343 - 0.4e-2 * t738 * t1070 - 0.16e-4 * t743 * t1073 - 0.8e-2 * t751 * t1076; + const double t1080 = t929 + t1079; + const double t1085 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t392 - t722 - 0.3e1 / 0.8e1 * t6 * t244 * t1080 ); + const double t1093 = t107 * sigma_aa; + const double t1098 = t126 * t108; + const double t1101 = t129 * t87; + const double t1103 = 0.1e1 / t39 / t1101; + const double t1104 = t1103 * t513; + const double t1107 = t176 * t89; + const double t1108 = t93 * t164; + const double t1113 = t188 * sigma_aa; + const double t1116 = t133 * t164; + const double t1119 = t214 * t89; + const double t1122 = t116 * t205; + const double t1125 = 0.4e-2 * t85 * t89 * t93 - 0.16e-4 * t86 * t116 + 0.32e-4 * t1093 * t116 - 0.128e-6 * t109 * t133 + 0.192e-6 * t1098 * t133 - 0.768e-9 * t128 * t1104 + 0.4e-2 * t1107 * t1108 - 0.16e-4 * t177 * t190 + 0.32e-4 * t1113 * t190 - 0.128e-6 * t189 * t1116 + 0.4e-2 * t1119 * t642 - 0.16e-4 * t215 * t1122; + const double t1129 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1125 ); + const double t1135 = t301 * sigma_bb; + const double t1140 = t317 * t302; + const double t1143 = t320 * t285; + const double t1145 = 0.1e1 / t246 / t1143; + const double t1146 = t1145 * t1015; + const double t1149 = t351 * t287; + const double t1150 = t291 * t343; + const double t1155 = t360 * sigma_bb; + const double t1158 = t324 * t343; + const double t1161 = t379 * t287; + const double t1164 = t310 * t373; + const double t1167 = 0.4e-2 * t283 * t287 * t291 - 0.16e-4 * t284 * t310 + 0.32e-4 * t1135 * t310 - 0.128e-6 * t303 * t324 + 0.192e-6 * t1140 * t324 - 0.768e-9 * t319 * t1146 + 0.4e-2 * t1149 * t1150 - 0.16e-4 * t352 * t362 + 0.32e-4 * t1155 * t362 - 0.128e-6 * t361 * t1158 + 0.4e-2 * t1161 * t739 - 0.16e-4 * t380 * t1164; + const double t1171 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1167 ); + const double t1174 = t52 * t41; + const double t1178 = t58 * t41; + const double t1183 = t64 * t41; + const double t1188 = t70 * t41; + const double t1211 = -t41 * t46 * t73 - 0.2e1 * t1174 * t443 - t1174 * t74 - 0.3e1 * t1178 * t450 - 0.2e1 * t1178 * t77 - 0.4e1 * t1183 * t457 - 0.3e1 * t1183 * t80 - 0.4e1 * t1188 * t83; + const double t1212 = t1211 * sigma_aa; + const double t1226 = -t41 * t46 * t98 - 0.2e1 * t102 * t1178 - 0.3e1 * t105 * t1183 - 0.2e1 * t1174 * t476 - t1174 * t99 - 0.3e1 * t1178 * t481; + const double t1227 = t1226 * t108; + const double t1237 = -t120 * t41 * t46 - t1174 * t121 - 0.2e1 * t1174 * t498 - 0.2e1 * t1178 * t124; + const double t1238 = t1237 * t127; + const double t1256 = -t137 * t41 * t46 - t1174 * t138 - 0.2e1 * t1174 * t685 - 0.2e1 * t1178 * t141 - 0.3e1 * t1178 * t690 - 0.3e1 * t1183 * t144 - 0.4e1 * t1183 * t695 - 0.4e1 * t1188 * t147; + const double t1269 = -t167 * t41 * t46 - t1174 * t168 - 0.2e1 * t1174 * t563 - 0.2e1 * t1178 * t171 - 0.3e1 * t1178 * t568 - 0.3e1 * t1183 * t174; + const double t1270 = t1269 * sigma_aa; + const double t1280 = -t182 * t41 * t46 - t1174 * t183 - 0.2e1 * t1174 * t531 - 0.2e1 * t1178 * t186; + const double t1281 = t1280 * t108; + const double t1295 = -t194 * t41 * t46 - t1174 * t195 - 0.2e1 * t1174 * t656 - 0.2e1 * t1178 * t198 - 0.3e1 * t1178 * t661 - 0.3e1 * t1183 * t201; + const double t1304 = -t208 * t41 * t46 - t1174 * t209 - 0.2e1 * t1174 * t549 - 0.2e1 * t1178 * t212; + const double t1305 = t1304 * sigma_aa; + const double t1315 = -t220 * t41 * t46 - t1174 * t221 - 0.2e1 * t1174 * t673 - 0.2e1 * t1178 * t224; + const double t1317 = -t30 * t41 * t46 - t44 * t1174 - 0.2e1 * t580 * t1174 - 0.2e1 * t50 * t1178 - 0.3e1 * t585 * t1178 - 0.3e1 * t56 * t1183 - 0.4e1 * t590 * t1183 - 0.4e1 * t62 * t1188 - 0.5e1 * t595 * t1188 - 0.5e1 * t68 * t599 * t41 + 0.4e-2 * t1212 * t94 + 0.16e-4 * t1227 * t116 + 0.64e-7 * t1238 * t133 + t1256 * t164 + 0.4e-2 * t1270 * t178 + 0.16e-4 * t1281 * t190 + t1295 * t205 + 0.4e-2 * t1305 * t216 + t1315 * t228; + const double t1321 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t1317 ); + const double t1324 = t258 * t248; + const double t1328 = t263 * t248; + const double t1333 = t268 * t248; + const double t1338 = t273 * t248; + const double t1361 = -t248 * t253 * t73 - t1324 * t275 - 0.2e1 * t1324 * t951 - 0.2e1 * t1328 * t277 - 0.3e1 * t1328 * t956 - 0.3e1 * t1333 * t279 - 0.4e1 * t1333 * t961 - 0.4e1 * t1338 * t281; + const double t1362 = t1361 * sigma_bb; + const double t1376 = -t248 * t253 * t98 - t1324 * t295 - 0.2e1 * t1324 * t978 - 0.2e1 * t1328 * t297 - 0.3e1 * t1328 * t983 - 0.3e1 * t1333 * t299; + const double t1377 = t1376 * t302; + const double t1387 = -t120 * t248 * t253 - 0.2e1 * t1000 * t1324 - t1324 * t313 - 0.2e1 * t1328 * t315; + const double t1388 = t1387 * t318; + const double t1406 = -t137 * t248 * t253 - 0.2e1 * t1053 * t1324 - 0.3e1 * t1058 * t1328 - 0.4e1 * t1063 * t1333 - t1324 * t327 - 0.2e1 * t1328 * t329 - 0.3e1 * t1333 * t331 - 0.4e1 * t1338 * t333; + const double t1419 = -t167 * t248 * t253 - t1324 * t345 - 0.2e1 * t1324 * t879 - 0.2e1 * t1328 * t347 - 0.3e1 * t1328 * t884 - 0.3e1 * t1333 * t349; + const double t1420 = t1419 * sigma_bb; + const double t1430 = -t182 * t248 * t253 - t1324 * t356 - 0.2e1 * t1324 * t903 - 0.2e1 * t1328 * t358; + const double t1431 = t1430 * t302; + const double t1445 = -t194 * t248 * t253 - 0.2e1 * t1024 * t1324 - 0.3e1 * t1029 * t1328 - t1324 * t365 - 0.2e1 * t1328 * t367 - 0.3e1 * t1333 * t369; + const double t1454 = -t208 * t248 * t253 - t1324 * t375 - 0.2e1 * t1324 * t859 - 0.2e1 * t1328 * t377; + const double t1455 = t1454 * sigma_bb; + const double t1465 = -t220 * t248 * t253 - 0.2e1 * t1041 * t1324 - t1324 * t384 - 0.2e1 * t1328 * t386; + const double t1467 = -t30 * t248 * t253 - t251 * t1324 - 0.2e1 * t921 * t1324 - 0.2e1 * t256 * t1328 - 0.3e1 * t926 * t1328 - 0.3e1 * t261 * t1333 - 0.4e1 * t932 * t1333 - 0.4e1 * t266 * t1338 - 0.5e1 * t823 * t1338 - 0.5e1 * t271 * t829 * t248 + 0.4e-2 * t1362 * t292 + 0.16e-4 * t1377 * t310 + 0.64e-7 * t1388 * t324 + t1406 * t343 + 0.4e-2 * t1420 * t353 + 0.16e-4 * t1431 * t362 + t1445 * t373 + 0.4e-2 * t1455 * t381 + t1465 * t390; + const double t1471 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t1467 ); + const double t1474 = t24 * t24; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t401 * t401; + const double t1479 = t397 * t7; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t17 * t1480; + const double t1483 = -0.2e1 * t398 + 0.2e1 * t1481; + const double t1484 = piecewise_functor_5( t11, 0.0, t15, 0.0, t1483 ); + const double t1488 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t1476 + 0.4e1 / 0.3e1 * t24 * t1484 ); + const double t1489 = t1488 * t27; + const double t1493 = t404 * t410; + const double t1495 = t6 * t1493 * t230; + const double t1501 = 0.1e1 / t409 / t7; + const double t1502 = t26 * t1501; + const double t1505 = t6 * t1502 * t230 / 0.12e2; + const double t1507 = t6 * t411 * t703; + const double t1509 = t700 * t205; + const double t1514 = 0.1e1 / t27 / t397 * t151; + const double t1516 = 0.17777777777777777777e0 * t1514 * t160; + const double t1517 = t614 * t623; + const double t1520 = 0.1e1 / t617 / t159; + const double t1521 = t619 * t619; + const double t1522 = 0.1e1 / t1521; + const double t1523 = t1520 * t1522; + const double t1524 = t622 * t622; + const double t1525 = t1523 * t1524; + const double t1528 = t619 * t158; + const double t1529 = 0.1e1 / t1528; + const double t1530 = t618 * t1529; + const double t1531 = t1530 * t1524; + const double t1534 = piecewise_functor_5( t154, 0.0, t156, 0.0, t1483 ); + const double t1535 = t621 * t1534; + const double t1538 = t1516 + 0.88888888888888888886e-1 * t1517 - 0.88888888888888888887e-1 * t152 * t1525 + 0.26666666666666666666e0 * t152 * t1531 - 0.13333333333333333333e0 * t152 * t1535; + const double t1544 = t666 * t228; + const double t1547 = t678 * t630; + const double t1551 = 0.1e1 / t39 / t110; + const double t1552 = t1551 * t93; + const double t1553 = t1552 * t205; + const double t1556 = t110 * t426; + const double t1558 = 0.1e1 / t38 / t1556; + const double t1559 = t1558 * t115; + const double t1560 = t1559 * t205; + const double t1563 = t554 * t108; + const double t1566 = t214 * t127; + const double t1567 = 0.1e1 / t1101; + const double t1568 = t1567 * t132; + const double t1569 = t1568 * t205; + const double t1573 = t439 * t428; + const double t1578 = t446 * t428; + const double t1583 = t453 * t428; + const double t1588 = t460 * t428; + const double t1593 = t1552 * t164; + const double t1596 = t1559 * t164; + const double t1599 = t536 * t127; + const double t1602 = -0.4e2 / 0.9e1 * t44 * t1573 - 0.8e2 / 0.9e1 * t580 * t1573 - 0.8e2 / 0.9e1 * t50 * t1578 - 0.4e2 / 0.3e1 * t585 * t1578 - 0.4e2 / 0.3e1 * t56 * t1583 - 0.16e3 / 0.9e1 * t590 * t1583 - 0.16e3 / 0.9e1 * t62 * t1588 - 0.2e3 / 0.9e1 * t595 * t1588 + 0.39111111111111111112e-1 * t177 * t1593 + 0.54044444444444444444e-3 * t189 * t1596 + 0.68266666666666666668e-6 * t1599 * t541; + const double t1606 = t1568 * t164; + const double t1615 = t428 * t46; + const double t1618 = tau_a * tau_a; + const double t1619 = t167 * t1618; + const double t1620 = t113 * t52; + const double t1623 = t58 * t1618; + const double t1624 = t1623 * t113; + const double t1629 = t170 * t1618; + const double t1636 = t64 * t1618; + const double t1637 = t1636 * t113; + const double t1642 = t173 * t43; + const double t1649 = t70 * t1618; + const double t1650 = t1649 * t113; + const double t1655 = -0.4e2 / 0.9e1 * t558 * t1615 + 0.5e2 / 0.9e1 * t1619 * t1620 + 0.5e2 / 0.9e1 * t168 * t1624 - 0.4e2 / 0.9e1 * t168 * t1573 + 0.5e2 / 0.9e1 * t1629 * t1620 + 0.2e3 / 0.9e1 * t563 * t1624 - 0.8e2 / 0.9e1 * t563 * t1573 + 0.5e2 / 0.3e1 * t171 * t1637 - 0.8e2 / 0.9e1 * t171 * t1578 + 0.5e2 / 0.3e1 * t1642 * t1624 + 0.5e2 * t568 * t1637 - 0.4e2 / 0.3e1 * t568 * t1578 + 0.1e3 / 0.3e1 * t174 * t1650 - 0.4e2 / 0.3e1 * t174 * t1583; + const double t1656 = t1655 * sigma_aa; + const double t1659 = t188 * t507; + const double t1660 = t129 * t110; + const double t1662 = 0.1e1 / t39 / t1660; + const double t1663 = t1662 * t513; + const double t1664 = t1663 * t164; + const double t1669 = t208 * t1618; + const double t1676 = t211 * t1618; + const double t1687 = -0.4e2 / 0.9e1 * t544 * t1615 + 0.5e2 / 0.9e1 * t1669 * t1620 + 0.5e2 / 0.9e1 * t209 * t1624 - 0.4e2 / 0.9e1 * t209 * t1573 + 0.5e2 / 0.9e1 * t1676 * t1620 + 0.2e3 / 0.9e1 * t549 * t1624 - 0.8e2 / 0.9e1 * t549 * t1573 + 0.5e2 / 0.3e1 * t212 * t1637 - 0.8e2 / 0.9e1 * t212 * t1578; + const double t1688 = t1687 * sigma_aa; + const double t1691 = t573 * t108; + const double t1694 = t176 * t127; + const double t1699 = t182 * t1618; + const double t1706 = t185 * t1618; + const double t1717 = -0.4e2 / 0.9e1 * t526 * t1615 + 0.5e2 / 0.9e1 * t1699 * t1620 + 0.5e2 / 0.9e1 * t183 * t1624 - 0.4e2 / 0.9e1 * t183 * t1573 + 0.5e2 / 0.9e1 * t1706 * t1620 + 0.2e3 / 0.9e1 * t531 * t1624 - 0.8e2 / 0.9e1 * t531 * t1573 + 0.5e2 / 0.3e1 * t186 * t1637 - 0.8e2 / 0.9e1 * t186 * t1578; + const double t1718 = t1717 * t108; + const double t1721 = -0.17066666666666666667e-3 * t537 * t520 - 0.48924444444444444446e-5 * t540 * t1606 - 0.21333333333333333334e-1 * t574 * t517 - 0.38400000000000000001e-3 * t523 * t1596 - 0.21333333333333333334e-1 * t555 * t608 + 0.4e-2 * t1656 * t178 + 0.10922666666666666667e-7 * t1659 * t1664 + 0.4e-2 * t1688 * t216 + 0.85333333333333333336e-4 * t1691 * t520 + 0.91022222222222222228e-6 * t1694 * t1606 + 0.16e-4 * t1718 * t190; + const double t1731 = t54 * t43; + const double t1738 = t60 * t49; + const double t1743 = t599 * t1618; + const double t1744 = t1743 * t113; + const double t1747 = t66 * t55; + const double t1750 = -0.2e3 / 0.9e1 * t68 * t600 * t428 + 0.5e2 / 0.9e1 * t44 * t1624 + 0.2e3 / 0.9e1 * t580 * t1624 + 0.5e2 / 0.3e1 * t50 * t1637 + 0.5e2 / 0.3e1 * t1731 * t1624 + 0.5e2 * t585 * t1637 + 0.1e3 / 0.3e1 * t56 * t1650 + 0.1e3 / 0.3e1 * t1738 * t1637 + 0.8e3 / 0.9e1 * t590 * t1650 + 0.5e3 / 0.9e1 * t62 * t1744 + 0.5e3 / 0.9e1 * t1747 * t1650; + const double t1756 = 0.1e1 / t63 / t57; + const double t1757 = t1756 * t1618; + const double t1761 = t203 * t630; + const double t1762 = t626 * t626; + const double t1766 = 0.1e1 / t629 / t163; + const double t1767 = t226 * t1766; + const double t1770 = t149 * t228; + const double t1773 = t115 * t228; + const double t1774 = t1773 * t1762; + const double t1777 = t93 * t630; + const double t1778 = t1777 * t1762; + const double t1781 = t637 * t1762; + const double t1784 = t189 * t417; + const double t1787 = t215 * t428; + const double t1790 = t555 * t89; + const double t1793 = 0.125e4 / 0.9e1 * t595 * t1744 + 0.25e3 / 0.3e1 * t68 * t1757 * t113 + 0.6e1 * t1761 * t1762 + 0.12e2 * t1767 * t1762 + 0.2e1 * t1770 * t1762 + 0.32e-4 * t646 * t1774 + 0.24e-1 * t636 * t1778 + 0.8e-2 * t641 * t1781 + 0.17066666666666666667e-3 * t1784 * t648 + 0.42666666666666666667e-1 * t1787 * t638 - 0.16e-1 * t1790 * t638; + const double t1794 = t637 * t1538; + const double t1797 = t604 * t417; + const double t1798 = t1773 * t626; + const double t1801 = t537 * t113; + const double t1804 = t647 * t1538; + const double t1807 = t540 * t422; + const double t1808 = t132 * t205; + const double t1809 = t1808 * t626; + const double t1812 = t177 * t428; + const double t1815 = t574 * t89; + const double t1818 = t642 * t1538; + const double t1821 = t523 * t417; + const double t1824 = t107 * t507; + const double t1829 = -0.8e-2 * t636 * t1794 - 0.17066666666666666667e-3 * t1797 * t1798 - 0.32e-4 * t1801 * t648 - 0.16e-4 * t646 * t1804 - 0.68266666666666666668e-6 * t1807 * t1809 + 0.21333333333333333334e-1 * t1812 * t643 - 0.8e-2 * t1815 * t643 - 0.4e-2 * t641 * t1818 - 0.85333333333333333336e-4 * t1821 * t648 + 0.10922666666666666667e-7 * t1824 * t1663 - 0.17066666666666666667e-3 * t487 * t418; + const double t1837 = t30 * t1618; + const double t1840 = t48 * t1618; + const double t1847 = t120 * t1618; + const double t1854 = t123 * t1618; + const double t1865 = -0.4e2 / 0.9e1 * t493 * t1615 + 0.5e2 / 0.9e1 * t1847 * t1620 + 0.5e2 / 0.9e1 * t121 * t1624 - 0.4e2 / 0.9e1 * t121 * t1573 + 0.5e2 / 0.9e1 * t1854 * t1620 + 0.2e3 / 0.9e1 * t498 * t1624 - 0.8e2 / 0.9e1 * t498 * t1573 + 0.5e2 / 0.3e1 * t124 * t1637 - 0.8e2 / 0.9e1 * t124 * t1578; + const double t1866 = t1865 * t127; + const double t1869 = t503 * t507; + const double t1872 = t507 * sigma_aa; + const double t1873 = t126 * t1872; + const double t1876 = 0.1e1 / t38 / t129 / t1556; + const double t1878 = 0.1e1 / t512 / t92; + const double t1879 = t1876 * t1878; + const double t1886 = t73 * t1618; + const double t1893 = t76 * t1618; + const double t1904 = t79 * t43; + const double t1915 = t82 * t49; + const double t1926 = -0.4e2 / 0.9e1 * t436 * t1615 + 0.5e2 / 0.9e1 * t1886 * t1620 + 0.5e2 / 0.9e1 * t74 * t1624 - 0.4e2 / 0.9e1 * t74 * t1573 + 0.5e2 / 0.9e1 * t1893 * t1620 + 0.2e3 / 0.9e1 * t443 * t1624 - 0.8e2 / 0.9e1 * t443 * t1573 + 0.5e2 / 0.3e1 * t77 * t1637 - 0.8e2 / 0.9e1 * t77 * t1578 + 0.5e2 / 0.3e1 * t1904 * t1624 + 0.5e2 * t450 * t1637 - 0.4e2 / 0.3e1 * t450 * t1578 + 0.1e3 / 0.3e1 * t80 * t1650 - 0.4e2 / 0.3e1 * t80 * t1583 + 0.1e3 / 0.3e1 * t1915 * t1637 + 0.8e3 / 0.9e1 * t457 * t1650 - 0.16e3 / 0.9e1 * t457 * t1583 + 0.5e3 / 0.9e1 * t83 * t1744 - 0.16e3 / 0.9e1 * t83 * t1588; + const double t1927 = t1926 * sigma_aa; + const double t1930 = -0.48924444444444444446e-5 * t490 * t1568 - 0.1024e-5 * t504 * t423 - 0.40277333333333333336e-7 * t508 * t1663 + 0.5e2 / 0.9e1 * t1837 * t1620 + 0.5e2 / 0.9e1 * t1840 * t1620 - 0.21333333333333333334e-1 * t465 * t429 + 0.64e-7 * t1866 * t133 + 0.40960000000000000002e-8 * t1869 * t514 + 0.8738133333333333334e-10 * t1873 * t1879 - 0.38400000000000000001e-3 * t468 * t1559 + 0.4e-2 * t1927 * t94; + const double t1931 = t464 * t108; + const double t1934 = t85 * t127; + const double t1939 = t98 * t1618; + const double t1946 = t101 * t1618; + const double t1957 = t104 * t43; + const double t1968 = -0.4e2 / 0.9e1 * t471 * t1615 + 0.5e2 / 0.9e1 * t1939 * t1620 + 0.5e2 / 0.9e1 * t99 * t1624 - 0.4e2 / 0.9e1 * t99 * t1573 + 0.5e2 / 0.9e1 * t1946 * t1620 + 0.2e3 / 0.9e1 * t476 * t1624 - 0.8e2 / 0.9e1 * t476 * t1573 + 0.5e2 / 0.3e1 * t102 * t1637 - 0.8e2 / 0.9e1 * t102 * t1578 + 0.5e2 / 0.3e1 * t1957 * t1624 + 0.5e2 * t481 * t1637 - 0.4e2 / 0.3e1 * t481 * t1578 + 0.1e3 / 0.3e1 * t105 * t1650 - 0.4e2 / 0.3e1 * t105 * t1583; + const double t1969 = t1968 * t108; + const double t1972 = t486 * t127; + const double t1985 = t220 * t1618; + const double t1992 = t223 * t1618; + const double t2003 = -0.4e2 / 0.9e1 * t668 * t1615 + 0.5e2 / 0.9e1 * t1985 * t1620 + 0.5e2 / 0.9e1 * t221 * t1624 - 0.4e2 / 0.9e1 * t221 * t1573 + 0.5e2 / 0.9e1 * t1992 * t1620 + 0.2e3 / 0.9e1 * t673 * t1624 - 0.8e2 / 0.9e1 * t673 * t1573 + 0.5e2 / 0.3e1 * t224 * t1637 - 0.8e2 / 0.9e1 * t224 * t1578; + const double t2007 = t137 * t1618; + const double t2014 = t140 * t1618; + const double t2025 = t143 * t43; + const double t2036 = t146 * t49; + const double t2047 = -0.4e2 / 0.9e1 * t680 * t1615 + 0.5e2 / 0.9e1 * t2007 * t1620 + 0.5e2 / 0.9e1 * t138 * t1624 - 0.4e2 / 0.9e1 * t138 * t1573 + 0.5e2 / 0.9e1 * t2014 * t1620 + 0.2e3 / 0.9e1 * t685 * t1624 - 0.8e2 / 0.9e1 * t685 * t1573 + 0.5e2 / 0.3e1 * t141 * t1637 - 0.8e2 / 0.9e1 * t141 * t1578 + 0.5e2 / 0.3e1 * t2025 * t1624 + 0.5e2 * t690 * t1637 - 0.4e2 / 0.3e1 * t690 * t1578 + 0.1e3 / 0.3e1 * t144 * t1650 - 0.4e2 / 0.3e1 * t144 * t1583 + 0.1e3 / 0.3e1 * t2036 * t1637 + 0.8e3 / 0.9e1 * t695 * t1650 - 0.16e3 / 0.9e1 * t695 * t1583 + 0.5e3 / 0.9e1 * t147 * t1744 - 0.16e3 / 0.9e1 * t147 * t1588; + const double t2051 = t194 * t1618; + const double t2058 = t197 * t1618; + const double t2069 = t200 * t43; + const double t2080 = -0.4e2 / 0.9e1 * t651 * t1615 + 0.5e2 / 0.9e1 * t2051 * t1620 + 0.5e2 / 0.9e1 * t195 * t1624 - 0.4e2 / 0.9e1 * t195 * t1573 + 0.5e2 / 0.9e1 * t2058 * t1620 + 0.2e3 / 0.9e1 * t656 * t1624 - 0.8e2 / 0.9e1 * t656 * t1573 + 0.5e2 / 0.3e1 * t198 * t1637 - 0.8e2 / 0.9e1 * t198 * t1578 + 0.5e2 / 0.3e1 * t2069 * t1624 + 0.5e2 * t661 * t1637 - 0.4e2 / 0.3e1 * t661 * t1578 + 0.1e3 / 0.3e1 * t201 * t1650 - 0.4e2 / 0.3e1 * t201 * t1583; + const double t2082 = 0.85333333333333333336e-4 * t1931 * t418 + 0.91022222222222222228e-6 * t1934 * t1568 + 0.16e-4 * t1969 * t116 + 0.68266666666666666668e-6 * t1972 * t423 + 0.39111111111111111112e-1 * t86 * t1552 - 0.4e2 / 0.9e1 * t432 * t1615 + 0.54044444444444444444e-3 * t109 * t1559 + 0.4608e-5 * t128 * t1568 + t2003 * t228 + t2047 * t164 + t2080 * t205; + const double t2085 = -0.2e1 * t1509 * t626 - t634 * t1538 - 0.2e1 * t611 * t1538 - 0.3e1 * t631 * t1538 - 0.4e1 * t1544 * t626 - 0.6e1 * t1547 * t626 + 0.39111111111111111112e-1 * t215 * t1553 - 0.38400000000000000001e-3 * t604 * t1560 + 0.85333333333333333336e-4 * t1563 * t605 + 0.91022222222222222228e-6 * t1566 * t1569 + t1602 + t1721 + t1750 + t1793 + t1829 + t1930 + t2082; + const double t2090 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1489 * t230 - t1495 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t405 * t703 + t1505 - t1507 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2085 ); + const double t2091 = t241 * t241; + const double t2092 = 0.1e1 / t2091; + const double t2093 = t711 * t711; + const double t2096 = t236 * t1480; + const double t2099 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2103 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2093 + 0.4e1 / 0.3e1 * t241 * t2099 ); + const double t2104 = t2103 * t27; + const double t2108 = t714 * t410; + const double t2110 = t6 * t2108 * t392; + const double t2115 = t243 * t1501; + const double t2118 = t6 * t2115 * t392 / 0.12e2; + const double t2120 = t6 * t719 * t761; + const double t2122 = t335 * t390; + const double t2123 = t736 * t736; + const double t2127 = 0.17777777777777777777e0 * t1514 * t339; + const double t2128 = t614 * t733; + const double t2131 = 0.1e1 / t726 / t338; + const double t2132 = t728 * t728; + const double t2133 = 0.1e1 / t2132; + const double t2134 = t2131 * t2133; + const double t2135 = t732 * t732; + const double t2136 = t2134 * t2135; + const double t2139 = t728 * t337; + const double t2140 = 0.1e1 / t2139; + const double t2141 = t727 * t2140; + const double t2142 = t2141 * t2135; + const double t2146 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t1483 ); + const double t2147 = t730 * t2146; + const double t2150 = t2127 + 0.88888888888888888886e-1 * t2128 - 0.88888888888888888887e-1 * t152 * t2136 + 0.26666666666666666666e0 * t152 * t2142 - 0.13333333333333333333e0 * t152 * t2147; + const double t2152 = t752 * t2123; + const double t2155 = t739 * t2150; + const double t2158 = t309 * t390; + const double t2159 = t2158 * t2123; + const double t2162 = t744 * t2150; + const double t2165 = t371 * t757; + const double t2170 = t291 * t757; + const double t2171 = t2170 * t2123; + const double t2174 = t752 * t2150; + const double t2178 = 0.1e1 / t756 / t342; + const double t2179 = t388 * t2178; + const double t2184 = 0.2e1 * t2122 * t2123 - t723 * t2150 + 0.8e-2 * t738 * t2152 - 0.4e-2 * t738 * t2155 + 0.32e-4 * t743 * t2159 - 0.16e-4 * t743 * t2162 + 0.6e1 * t2165 * t2123 - 0.2e1 * t748 * t2150 + 0.24e-1 * t751 * t2171 - 0.8e-2 * t751 * t2174 + 0.12e2 * t2179 * t2123 - 0.3e1 * t758 * t2150; + const double t2189 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2104 * t392 - t2110 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t715 * t761 + t2118 - t2120 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t2184 ); + const double t2205 = t773 * t410; + const double t2207 = t6 * t2205 * t230; + const double t2218 = t6 * t411 * t797; + const double t2225 = t614 * t779; + const double t2314 = t807 * t410; + const double t2316 = t6 * t2314 * t392; + const double t2327 = t6 * t719 * t1080; + const double t2329 = t867 * t287; + const double t2332 = t870 * t843; + const double t2336 = t892 * t287; + const double t2339 = t895 * t843; + const double t2342 = t909 * t307; + const double t2345 = t912 * t914; + const double t2346 = t323 * t373; + const double t2350 = t1034 * t390; + const double t2353 = t1046 * t757; + const double t2356 = t1068 * t373; + const double t2362 = t614 * t814; + const double t2389 = t352 * t836; + const double t2398 = t361 * t843; + const double t2407 = t380 * t836; + const double t2427 = t770 * t770; + const double t2431 = 0.2e1 * t398 + 0.2e1 * t1481; + const double t2432 = piecewise_functor_5( t11, 0.0, t15, 0.0, t2431 ); + const double t2436 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1475 * t2427 + 0.4e1 / 0.3e1 * t24 * t2432 ); + const double t2437 = t2436 * t27; + const double t2446 = t782 * t782; + const double t2450 = t778 * t778; + const double t2451 = t1523 * t2450; + const double t2454 = t1530 * t2450; + const double t2457 = piecewise_functor_5( t154, 0.0, t156, 0.0, t2431 ); + const double t2458 = t621 * t2457; + const double t2461 = t1516 + 0.88888888888888888886e-1 * t2225 - 0.88888888888888888887e-1 * t152 * t2451 + 0.26666666666666666666e0 * t152 * t2454 - 0.13333333333333333333e0 * t152 * t2458; + const double t2463 = t637 * t2446; + const double t2466 = t642 * t2461; + const double t2469 = t1773 * t2446; + const double t2472 = t647 * t2461; + const double t2479 = t1777 * t2446; + const double t2482 = t637 * t2461; + const double t2489 = 0.2e1 * t1770 * t2446 - t634 * t2461 + 0.8e-2 * t641 * t2463 - 0.4e-2 * t641 * t2466 + 0.32e-4 * t646 * t2469 - 0.16e-4 * t646 * t2472 + 0.6e1 * t1761 * t2446 - 0.2e1 * t611 * t2461 + 0.24e-1 * t636 * t2479 - 0.8e-2 * t636 * t2482 + 0.12e2 * t1767 * t2446 - 0.3e1 * t631 * t2461; + const double t2494 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2437 * t230 - t2207 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t774 * t797 + t1505 - t2218 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t2489 ); + const double t2495 = t804 * t804; + const double t2500 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t398 + 0.2e1 * t2096 ); + const double t2504 = piecewise_functor_3( t240, 0.0, 0.4e1 / 0.9e1 * t2092 * t2495 + 0.4e1 / 0.3e1 * t241 * t2500 ); + const double t2505 = t2504 * t27; + const double t2514 = t304 * t834; + const double t2516 = 0.1e1 / t245 / t2514; + const double t2517 = t2516 * t309; + const double t2518 = t2517 * t343; + const double t2522 = 0.1e1 / t246 / t304; + const double t2523 = t2522 * t291; + const double t2524 = t2523 * t373; + const double t2527 = t2523 * t343; + const double t2530 = t887 * t836; + const double t2533 = t836 * t253; + const double t2536 = tau_b * tau_b; + const double t2537 = t220 * t2536; + const double t2538 = t307 * t258; + const double t2541 = t263 * t2536; + const double t2542 = t2541 * t307; + const double t2545 = t855 * t836; + const double t2548 = t223 * t2536; + const double t2555 = t268 * t2536; + const double t2556 = t2555 * t307; + const double t2559 = t862 * t836; + const double t2562 = -0.4e2 / 0.9e1 * t1036 * t2533 + 0.5e2 / 0.9e1 * t2537 * t2538 + 0.5e2 / 0.9e1 * t384 * t2542 - 0.4e2 / 0.9e1 * t384 * t2545 + 0.5e2 / 0.9e1 * t2548 * t2538 + 0.2e3 / 0.9e1 * t1041 * t2542 - 0.8e2 / 0.9e1 * t1041 * t2545 + 0.5e2 / 0.3e1 * t386 * t2556 - 0.8e2 / 0.9e1 * t386 * t2559; + const double t2566 = t137 * t2536; + const double t2573 = t140 * t2536; + const double t2584 = t143 * t250; + const double t2591 = t273 * t2536; + const double t2592 = t2591 * t307; + const double t2597 = t146 * t255; + const double t2604 = t829 * t2536; + const double t2605 = t2604 * t307; + const double t2608 = t824 * t836; + const double t2611 = -0.4e2 / 0.9e1 * t1048 * t2533 + 0.5e2 / 0.9e1 * t2566 * t2538 + 0.5e2 / 0.9e1 * t327 * t2542 - 0.4e2 / 0.9e1 * t327 * t2545 + 0.5e2 / 0.9e1 * t2573 * t2538 + 0.2e3 / 0.9e1 * t1053 * t2542 - 0.8e2 / 0.9e1 * t1053 * t2545 + 0.5e2 / 0.3e1 * t329 * t2556 - 0.8e2 / 0.9e1 * t329 * t2559 + 0.5e2 / 0.3e1 * t2584 * t2542 + 0.5e2 * t1058 * t2556 - 0.4e2 / 0.3e1 * t1058 * t2559 + 0.1e3 / 0.3e1 * t331 * t2592 - 0.4e2 / 0.3e1 * t331 * t2530 + 0.1e3 / 0.3e1 * t2597 * t2556 + 0.8e3 / 0.9e1 * t1063 * t2592 - 0.16e3 / 0.9e1 * t1063 * t2530 + 0.5e3 / 0.9e1 * t333 * t2605 - 0.16e3 / 0.9e1 * t333 * t2608; + const double t2617 = 0.1e1 / t1143; + const double t2618 = t2617 * t323; + const double t2624 = t320 * t304; + const double t2626 = 0.1e1 / t246 / t2624; + const double t2627 = t2626 * t1015; + const double t2630 = t30 * t2536; + const double t2633 = t48 * t2536; + const double t2648 = t2158 * t817; + const double t2653 = -0.40277333333333333336e-7 * t1010 * t2627 + 0.5e2 / 0.9e1 * t2630 * t2538 + 0.5e2 / 0.9e1 * t2633 * t2538 - 0.21333333333333333334e-1 * t967 * t837 - 0.4e2 / 0.9e1 * t943 * t2533 + 0.39111111111111111112e-1 * t284 * t2523 + 0.54044444444444444444e-3 * t303 * t2517 + 0.4608e-5 * t319 * t2618 - 0.16e-1 * t2329 * t1076 - 0.17066666666666666667e-3 * t2332 * t2648 - 0.8e-2 * t2336 * t1070; + const double t2662 = t813 * t813; + const double t2663 = t2134 * t2662; + const double t2666 = t2141 * t2662; + const double t2670 = piecewise_functor_5( t156, 0.0, t154, 0.0, -t2431 ); + const double t2671 = t730 * t2670; + const double t2674 = t2127 + 0.88888888888888888886e-1 * t2362 - 0.88888888888888888887e-1 * t152 * t2663 + 0.26666666666666666666e0 * t152 * t2666 - 0.13333333333333333333e0 * t152 * t2671; + const double t2675 = t752 * t2674; + const double t2678 = t739 * t2674; + const double t2683 = t744 * t2674; + const double t2688 = t2346 * t817; + const double t2691 = t817 * t817; + const double t2692 = t752 * t2691; + const double t2695 = t2158 * t2691; + const double t2698 = -0.85333333333333333336e-4 * t2339 * t1073 - 0.32e-4 * t2342 * t1073 + 0.42666666666666666667e-1 * t2407 * t1076 - 0.8e-2 * t751 * t2675 - 0.4e-2 * t738 * t2678 + 0.17066666666666666667e-3 * t2398 * t1073 - 0.16e-4 * t743 * t2683 + 0.21333333333333333334e-1 * t2389 * t1070 - 0.68266666666666666668e-6 * t2345 * t2688 + 0.8e-2 * t738 * t2692 + 0.32e-4 * t743 * t2695; + const double t2699 = t2170 * t2691; + const double t2704 = t194 * t2536; + const double t2711 = t197 * t2536; + const double t2722 = t200 * t250; + const double t2733 = -0.4e2 / 0.9e1 * t1019 * t2533 + 0.5e2 / 0.9e1 * t2704 * t2538 + 0.5e2 / 0.9e1 * t365 * t2542 - 0.4e2 / 0.9e1 * t365 * t2545 + 0.5e2 / 0.9e1 * t2711 * t2538 + 0.2e3 / 0.9e1 * t1024 * t2542 - 0.8e2 / 0.9e1 * t1024 * t2545 + 0.5e2 / 0.3e1 * t367 * t2556 - 0.8e2 / 0.9e1 * t367 * t2559 + 0.5e2 / 0.3e1 * t2722 * t2542 + 0.5e2 * t1029 * t2556 - 0.4e2 / 0.3e1 * t1029 * t2559 + 0.1e3 / 0.3e1 * t369 * t2592 - 0.4e2 / 0.3e1 * t369 * t2530; + const double t2735 = t866 * t302; + const double t2740 = t167 * t2536; + const double t2747 = t170 * t2536; + const double t2758 = t173 * t250; + const double t2769 = -0.4e2 / 0.9e1 * t874 * t2533 + 0.5e2 / 0.9e1 * t2740 * t2538 + 0.5e2 / 0.9e1 * t345 * t2542 - 0.4e2 / 0.9e1 * t345 * t2545 + 0.5e2 / 0.9e1 * t2747 * t2538 + 0.2e3 / 0.9e1 * t879 * t2542 - 0.8e2 / 0.9e1 * t879 * t2545 + 0.5e2 / 0.3e1 * t347 * t2556 - 0.8e2 / 0.9e1 * t347 * t2559 + 0.5e2 / 0.3e1 * t2758 * t2542 + 0.5e2 * t884 * t2556 - 0.4e2 / 0.3e1 * t884 * t2559 + 0.1e3 / 0.3e1 * t349 * t2592 - 0.4e2 / 0.3e1 * t349 * t2530; + const double t2770 = t2769 * sigma_bb; + const double t2773 = t891 * t302; + const double t2778 = t208 * t2536; + const double t2785 = t211 * t2536; + const double t2796 = -0.4e2 / 0.9e1 * t851 * t2533 + 0.5e2 / 0.9e1 * t2778 * t2538 + 0.5e2 / 0.9e1 * t375 * t2542 - 0.4e2 / 0.9e1 * t375 * t2545 + 0.5e2 / 0.9e1 * t2785 * t2538 + 0.2e3 / 0.9e1 * t859 * t2542 - 0.8e2 / 0.9e1 * t859 * t2545 + 0.5e2 / 0.3e1 * t377 * t2556 - 0.8e2 / 0.9e1 * t377 * t2559; + const double t2797 = t2796 * sigma_bb; + const double t2802 = t351 * t318; + const double t2803 = t2618 * t343; + const double t2808 = t182 * t2536; + const double t2815 = t185 * t2536; + const double t2826 = -0.4e2 / 0.9e1 * t898 * t2533 + 0.5e2 / 0.9e1 * t2808 * t2538 + 0.5e2 / 0.9e1 * t356 * t2542 - 0.4e2 / 0.9e1 * t356 * t2545 + 0.5e2 / 0.9e1 * t2815 * t2538 + 0.2e3 / 0.9e1 * t903 * t2542 - 0.8e2 / 0.9e1 * t903 * t2545 + 0.5e2 / 0.3e1 * t358 * t2556 - 0.8e2 / 0.9e1 * t358 * t2559; + const double t2827 = t2826 * t302; + const double t2830 = t908 * t318; + const double t2833 = t360 * t1009; + const double t2834 = t2627 * t343; + const double t2837 = 0.24e-1 * t751 * t2699 + t2733 * t373 + 0.85333333333333333336e-4 * t2735 * t871 + 0.4e-2 * t2770 * t353 + 0.85333333333333333336e-4 * t2773 * t845 + 0.4e-2 * t2797 * t381 + 0.5e2 / 0.9e1 * t251 * t2542 + 0.91022222222222222228e-6 * t2802 * t2803 + 0.16e-4 * t2827 * t362 + 0.68266666666666666668e-6 * t2830 * t916 + 0.10922666666666666667e-7 * t2833 * t2834; + const double t2840 = t379 * t318; + const double t2841 = t2618 * t373; + const double t2846 = t2517 * t373; + const double t2853 = t54 * t250; + const double t2860 = t60 * t255; + const double t2867 = 0.91022222222222222228e-6 * t2840 * t2841 - 0.21333333333333333334e-1 * t867 * t848 - 0.38400000000000000001e-3 * t870 * t2846 + 0.2e3 / 0.9e1 * t921 * t2542 + 0.5e2 / 0.3e1 * t256 * t2556 + 0.5e2 / 0.3e1 * t2853 * t2542 + 0.5e2 * t926 * t2556 + 0.1e3 / 0.3e1 * t261 * t2592 + 0.1e3 / 0.3e1 * t2860 * t2556 + 0.8e3 / 0.9e1 * t932 * t2592 + 0.5e3 / 0.9e1 * t266 * t2605; + const double t2868 = t66 * t260; + const double t2874 = 0.1e1 / t267 / t262; + const double t2875 = t2874 * t2536; + const double t2896 = 0.5e3 / 0.9e1 * t2868 * t2592 + 0.125e4 / 0.9e1 * t823 * t2605 + 0.25e3 / 0.3e1 * t271 * t2875 * t307 - 0.16e3 / 0.9e1 * t932 * t2530 - 0.16e3 / 0.9e1 * t266 * t2608 - 0.2e3 / 0.9e1 * t823 * t2608 - 0.2e3 / 0.9e1 * t271 * t830 * t836 - 0.48924444444444444446e-5 * t912 * t2803 - 0.4e2 / 0.9e1 * t251 * t2545 - 0.8e2 / 0.9e1 * t921 * t2545 - 0.8e2 / 0.9e1 * t256 * t2559; + const double t2906 = t1009 * sigma_bb; + const double t2907 = t317 * t2906; + const double t2910 = 0.1e1 / t245 / t320 / t2514; + const double t2912 = 0.1e1 / t1014 / t290; + const double t2913 = t2910 * t2912; + const double t2918 = t73 * t2536; + const double t2925 = t76 * t2536; + const double t2936 = t79 * t250; + const double t2947 = t82 * t255; + const double t2958 = -0.4e2 / 0.9e1 * t946 * t2533 + 0.5e2 / 0.9e1 * t2918 * t2538 + 0.5e2 / 0.9e1 * t275 * t2542 - 0.4e2 / 0.9e1 * t275 * t2545 + 0.5e2 / 0.9e1 * t2925 * t2538 + 0.2e3 / 0.9e1 * t951 * t2542 - 0.8e2 / 0.9e1 * t951 * t2545 + 0.5e2 / 0.3e1 * t277 * t2556 - 0.8e2 / 0.9e1 * t277 * t2559 + 0.5e2 / 0.3e1 * t2936 * t2542 + 0.5e2 * t956 * t2556 - 0.4e2 / 0.3e1 * t956 * t2559 + 0.1e3 / 0.3e1 * t279 * t2592 - 0.4e2 / 0.3e1 * t279 * t2530 + 0.1e3 / 0.3e1 * t2947 * t2556 + 0.8e3 / 0.9e1 * t961 * t2592 - 0.16e3 / 0.9e1 * t961 * t2530 + 0.5e3 / 0.9e1 * t281 * t2605 - 0.16e3 / 0.9e1 * t281 * t2608; + const double t2959 = t2958 * sigma_bb; + const double t2962 = t966 * t302; + const double t2965 = t283 * t318; + const double t2970 = t98 * t2536; + const double t2977 = t101 * t2536; + const double t2988 = t104 * t250; + const double t2999 = -0.4e2 / 0.9e1 * t973 * t2533 + 0.5e2 / 0.9e1 * t2970 * t2538 + 0.5e2 / 0.9e1 * t295 * t2542 - 0.4e2 / 0.9e1 * t295 * t2545 + 0.5e2 / 0.9e1 * t2977 * t2538 + 0.2e3 / 0.9e1 * t978 * t2542 - 0.8e2 / 0.9e1 * t978 * t2545 + 0.5e2 / 0.3e1 * t297 * t2556 - 0.8e2 / 0.9e1 * t297 * t2559 + 0.5e2 / 0.3e1 * t2988 * t2542 + 0.5e2 * t983 * t2556 - 0.4e2 / 0.3e1 * t983 * t2559 + 0.1e3 / 0.3e1 * t299 * t2592 - 0.4e2 / 0.3e1 * t299 * t2530; + const double t3000 = t2999 * t302; + const double t3003 = t988 * t318; + const double t3006 = t301 * t1009; + const double t3009 = -0.4e2 / 0.3e1 * t926 * t2559 - 0.21333333333333333334e-1 * t892 * t838 - 0.38400000000000000001e-3 * t895 * t2518 - 0.17066666666666666667e-3 * t909 * t845 + 0.8738133333333333334e-10 * t2907 * t2913 + 0.4e-2 * t2959 * t292 + 0.85333333333333333336e-4 * t2962 * t844 + 0.91022222222222222228e-6 * t2965 * t2618 + 0.16e-4 * t3000 * t310 + 0.68266666666666666668e-6 * t3003 * t915 + 0.10922666666666666667e-7 * t3006 * t2627; + const double t3012 = t120 * t2536; + const double t3019 = t123 * t2536; + const double t3030 = -0.4e2 / 0.9e1 * t995 * t2533 + 0.5e2 / 0.9e1 * t3012 * t2538 + 0.5e2 / 0.9e1 * t313 * t2542 - 0.4e2 / 0.9e1 * t313 * t2545 + 0.5e2 / 0.9e1 * t3019 * t2538 + 0.2e3 / 0.9e1 * t1000 * t2542 - 0.8e2 / 0.9e1 * t1000 * t2545 + 0.5e2 / 0.3e1 * t315 * t2556 - 0.8e2 / 0.9e1 * t315 * t2559; + const double t3031 = t3030 * t318; + const double t3034 = t1005 * t1009; + const double t3054 = 0.64e-7 * t3031 * t324 + 0.40960000000000000002e-8 * t3034 * t1016 - 0.3e1 * t758 * t2674 - 0.2e1 * t2356 * t817 - 0.4e1 * t2350 * t817 - 0.6e1 * t2353 * t817 - 0.2e1 * t748 * t2674 - t723 * t2674 + 0.12e2 * t2179 * t2691 + 0.2e1 * t2122 * t2691 + 0.6e1 * t2165 * t2691; + const double t3057 = 0.54044444444444444444e-3 * t361 * t2518 + 0.39111111111111111112e-1 * t380 * t2524 + 0.39111111111111111112e-1 * t352 * t2527 - 0.4e2 / 0.3e1 * t261 * t2530 + t2562 * t390 + t2611 * t343 - 0.38400000000000000001e-3 * t970 * t2517 - 0.17066666666666666667e-3 * t989 * t844 - 0.48924444444444444446e-5 * t992 * t2618 - 0.1024e-5 * t1006 * t915 + t2653 + t2698 + t2837 + t2867 + t2896 + t3009 + t3054; + const double t3062 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t2505 * t392 - t2316 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t808 * t1080 + t2118 - t2327 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t244 * t3057 ); + const double t3070 = t6 * t411 * t1125 / 0.8e1; + const double t3071 = t129 * t415; + const double t3073 = 0.1e1 / t38 / t3071; + const double t3074 = t3073 * t1878; + const double t3077 = t573 * t89; + const double t3080 = t554 * t89; + const double t3083 = t85 * t417; + const double t3084 = t115 * sigma_aa; + const double t3091 = t486 * sigma_aa; + const double t3100 = t503 * t108; + const double t3107 = t214 * t428; + const double t3112 = t176 * t428; + const double t3117 = t177 * t113; + const double t3120 = -0.32768000000000000001e-10 * t508 * t3074 + 0.4e-2 * t3077 * t1108 + 0.4e-2 * t3080 * t642 + 0.128e-3 * t3083 * t3084 - 0.16e-4 * t465 * t116 - 0.34133333333333333334e-6 * t468 * t423 + 0.32e-4 * t3091 * t116 + 0.17066666666666666667e-5 * t109 * t423 - 0.128e-6 * t487 * t133 - 0.40960000000000000001e-8 * t490 * t514 + 0.192e-6 * t3100 * t133 + 0.14336e-7 * t128 * t514 - 0.768e-9 * t504 * t1104 - 0.10666666666666666667e-1 * t3107 * t642 - 0.1536e-5 * t1098 * t423 - 0.10666666666666666667e-1 * t3112 * t1108 - 0.17066666666666666667e-3 * t1093 * t418 + 0.16e-4 * t3117 * t648; + const double t3121 = t1113 * t113; + const double t3124 = t189 * t130; + const double t3127 = t215 * t113; + const double t3134 = t214 * t417; + const double t3135 = t647 * sigma_aa; + const double t3140 = t423 * t205; + const double t3145 = t536 * sigma_aa; + const double t3152 = t514 * t164; + const double t3159 = t176 * t417; + const double t3160 = t115 * t164; + const double t3161 = t3160 * sigma_aa; + const double t3170 = -0.32e-4 * t3121 * t648 + 0.128e-6 * t3124 * t1809 + 0.32e-4 * t3127 * t1798 - 0.17066666666666666667e-3 * t1113 * t520 - 0.16e-4 * t574 * t190 + 0.128e-3 * t3134 * t3135 - 0.16e-4 * t555 * t1122 - 0.34133333333333333334e-6 * t604 * t3140 - 0.34133333333333333334e-6 * t523 * t541 + 0.32e-4 * t3145 * t190 + 0.17066666666666666667e-5 * t189 * t541 - 0.128e-6 * t537 * t1116 - 0.40960000000000000001e-8 * t540 * t3152 - 0.8e-2 * t1119 * t638 - 0.4e-2 * t1107 * t643 + 0.128e-3 * t3159 * t3161 + 0.4e-2 * t464 * t89 * t93 - 0.10666666666666666667e-1 * t85 * t428 * t93; + const double t3171 = t3120 + t3170; + const double t3176 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1125 - t3070 - 0.3e1 / 0.8e1 * t6 * t28 * t3171 ); + const double t3183 = t6 * t719 * t1167 / 0.8e1; + const double t3186 = t352 * t307; + const double t3189 = t1155 * t307; + const double t3192 = t361 * t321; + const double t3197 = t380 * t307; + const double t3242 = t351 * t843; + const double t3243 = t309 * t343; + const double t3244 = t3243 * sigma_bb; + const double t3251 = t915 * t373; + const double t3256 = t908 * sigma_bb; + const double t3263 = t1016 * t343; + const double t3268 = t379 * t843; + const double t3269 = t744 * sigma_bb; + const double t3277 = 0.128e-6 * t3192 * t2688 + 0.32e-4 * t3197 * t2648 + 0.16e-4 * t3186 * t1073 - 0.32e-4 * t3189 * t1073 - 0.4e-2 * t1149 * t1070 + 0.128e-3 * t3242 * t3244 - 0.16e-4 * t892 * t362 - 0.16e-4 * t867 * t1164 - 0.34133333333333333334e-6 * t870 * t3251 - 0.34133333333333333334e-6 * t895 * t916 + 0.32e-4 * t3256 * t362 + 0.17066666666666666667e-5 * t361 * t916 - 0.128e-6 * t909 * t1158 - 0.40960000000000000001e-8 * t912 * t3263 - 0.8e-2 * t1161 * t1076 + 0.128e-3 * t3268 * t3269 - 0.17066666666666666667e-3 * t1155 * t845 - 0.10666666666666666667e-1 * t283 * t836 * t291; + const double t3281 = t379 * t836; + const double t3286 = t351 * t836; + const double t3291 = t866 * t287; + const double t3296 = t1005 * t302; + const double t3303 = t320 * t841; + const double t3305 = 0.1e1 / t245 / t3303; + const double t3306 = t3305 * t2912; + const double t3309 = t891 * t287; + const double t3312 = t283 * t843; + const double t3313 = t309 * sigma_bb; + const double t3320 = t988 * sigma_bb; + const double t3327 = 0.4e-2 * t966 * t287 * t291 - 0.10666666666666666667e-1 * t3281 * t739 - 0.1536e-5 * t1140 * t915 - 0.10666666666666666667e-1 * t3286 * t1150 - 0.17066666666666666667e-3 * t1135 * t844 + 0.4e-2 * t3291 * t739 - 0.40960000000000000001e-8 * t992 * t1016 + 0.192e-6 * t3296 * t324 + 0.14336e-7 * t319 * t1016 - 0.768e-9 * t1006 * t1146 - 0.32768000000000000001e-10 * t1010 * t3306 + 0.4e-2 * t3309 * t1150 + 0.128e-3 * t3312 * t3313 - 0.16e-4 * t967 * t310 - 0.34133333333333333334e-6 * t970 * t915 + 0.32e-4 * t3320 * t310 + 0.17066666666666666667e-5 * t303 * t915 - 0.128e-6 * t989 * t324; + const double t3328 = t3277 + t3327; + const double t3333 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1167 - t3183 - 0.3e1 / 0.8e1 * t6 * t244 * t3328 ); + const double t3340 = t6 * t411 * t1317 / 0.8e1; + const double t3345 = 0.1e1 / t38 / t110; + const double t3346 = t220 * t3345; + const double t3349 = t58 * t3345; + const double t3350 = t3349 * tau_a; + const double t3353 = t52 * t89; + const double t3356 = t223 * tau_a; + const double t3357 = t3345 * t52; + const double t3364 = t64 * t3345; + const double t3365 = t3364 * tau_a; + const double t3368 = t58 * t89; + const double t3371 = 0.5e1 / 0.3e1 * t220 * t89 * t46 - 0.1e2 / 0.3e1 * t3346 * t439 - 0.1e2 / 0.3e1 * t221 * t3350 + 0.5e1 / 0.3e1 * t221 * t3353 - 0.1e2 / 0.3e1 * t3356 * t3357 - 0.4e2 / 0.3e1 * t673 * t3350 + 0.1e2 / 0.3e1 * t673 * t3353 - 0.1e2 * t224 * t3365 + 0.1e2 / 0.3e1 * t224 * t3368; + const double t3373 = t1305 * t89; + const double t3376 = t1270 * t89; + const double t3379 = t1281 * t113; + const double t3385 = t120 * t3345; + const double t3392 = t123 * tau_a; + const double t3403 = 0.5e1 / 0.3e1 * t120 * t89 * t46 - 0.1e2 / 0.3e1 * t3385 * t439 - 0.1e2 / 0.3e1 * t121 * t3350 + 0.5e1 / 0.3e1 * t121 * t3353 - 0.1e2 / 0.3e1 * t3392 * t3357 - 0.4e2 / 0.3e1 * t498 * t3350 + 0.1e2 / 0.3e1 * t498 * t3353 - 0.1e2 * t124 * t3365 + 0.1e2 / 0.3e1 * t124 * t3368; + const double t3404 = t3403 * t127; + const double t3407 = t1237 * t507; + const double t3410 = t30 * t3345; + const double t3413 = t48 * tau_a; + const double t3419 = t73 * t3345; + const double t3426 = t76 * tau_a; + const double t3443 = t70 * t3345; + const double t3444 = t3443 * tau_a; + const double t3447 = t64 * t89; + const double t3456 = t599 * t3345; + const double t3457 = t3456 * tau_a; + const double t3460 = t70 * t89; + const double t3463 = 0.5e1 / 0.3e1 * t73 * t89 * t46 - 0.1e2 / 0.3e1 * t3419 * t439 - 0.1e2 / 0.3e1 * t74 * t3350 + 0.5e1 / 0.3e1 * t74 * t3353 - 0.1e2 / 0.3e1 * t3426 * t3357 - 0.4e2 / 0.3e1 * t443 * t3350 + 0.1e2 / 0.3e1 * t443 * t3353 - 0.1e2 * t77 * t3365 + 0.1e2 / 0.3e1 * t77 * t3368 - 0.1e2 * t1904 * t3350 - 0.3e2 * t450 * t3365 + 0.5e1 * t450 * t3368 - 0.2e2 * t80 * t3444 + 0.5e1 * t80 * t3447 - 0.2e2 * t1915 * t3365 - 0.16e3 / 0.3e1 * t457 * t3444 + 0.2e2 / 0.3e1 * t457 * t3447 - 0.1e3 / 0.3e1 * t83 * t3457 + 0.2e2 / 0.3e1 * t83 * t3460; + const double t3464 = t3463 * sigma_aa; + const double t3467 = t1211 * t108; + const double t3473 = t98 * t3345; + const double t3480 = t101 * tau_a; + const double t3501 = 0.5e1 / 0.3e1 * t98 * t89 * t46 - 0.1e2 / 0.3e1 * t3473 * t439 - 0.1e2 / 0.3e1 * t99 * t3350 + 0.5e1 / 0.3e1 * t99 * t3353 - 0.1e2 / 0.3e1 * t3480 * t3357 - 0.4e2 / 0.3e1 * t476 * t3350 + 0.1e2 / 0.3e1 * t476 * t3353 - 0.1e2 * t102 * t3365 + 0.1e2 / 0.3e1 * t102 * t3368 - 0.1e2 * t1957 * t3350 - 0.3e2 * t481 * t3365 + 0.5e1 * t481 * t3368 - 0.2e2 * t105 * t3444 + 0.5e1 * t105 * t3447; + const double t3502 = t3501 * t108; + const double t3505 = t1315 * t630; + const double t3508 = t3371 * t228 - 0.8e-2 * t3373 * t638 - 0.4e-2 * t3376 * t643 - 0.16e-4 * t3379 * t648 + 0.64e-7 * t3404 * t133 + 0.20480000000000000001e-8 * t3407 * t514 - 0.1e2 / 0.3e1 * t3410 * t439 - 0.1e2 / 0.3e1 * t3413 * t3357 + 0.4e-2 * t3464 * t94 + 0.42666666666666666668e-4 * t3467 * t418 + 0.16e-4 * t3502 * t116 - 0.3e1 * t3505 * t626; + const double t3509 = t1256 * t205; + const double t3511 = t1295 * t228; + const double t3527 = t1226 * t127; + const double t3533 = t137 * t3345; + const double t3540 = t140 * tau_a; + const double t3571 = 0.5e1 / 0.3e1 * t137 * t89 * t46 - 0.1e2 / 0.3e1 * t3533 * t439 - 0.1e2 / 0.3e1 * t138 * t3350 + 0.5e1 / 0.3e1 * t138 * t3353 - 0.1e2 / 0.3e1 * t3540 * t3357 - 0.4e2 / 0.3e1 * t685 * t3350 + 0.1e2 / 0.3e1 * t685 * t3353 - 0.1e2 * t141 * t3365 + 0.1e2 / 0.3e1 * t141 * t3368 - 0.1e2 * t2025 * t3350 - 0.3e2 * t690 * t3365 + 0.5e1 * t690 * t3368 - 0.2e2 * t144 * t3444 + 0.5e1 * t144 * t3447 - 0.2e2 * t2036 * t3365 - 0.16e3 / 0.3e1 * t695 * t3444 + 0.2e2 / 0.3e1 * t695 * t3447 - 0.1e3 / 0.3e1 * t147 * t3457 + 0.2e2 / 0.3e1 * t147 * t3460; + const double t3579 = -t3509 * t626 - 0.2e1 * t3511 * t626 - 0.10666666666666666667e-1 * t1212 * t429 - 0.85333333333333333333e-4 * t1227 * t418 - 0.512e-6 * t1238 * t423 + 0.25e2 / 0.3e1 * t595 * t3460 + 0.25e2 / 0.3e1 * t68 * t599 * t89 + 0.5e1 / 0.3e1 * t44 * t3353 + 0.34133333333333333334e-6 * t3527 * t423 + t3571 * t164 - 0.10666666666666666667e-1 * t1270 * t517 - 0.85333333333333333333e-4 * t1281 * t520 - 0.1e3 / 0.3e1 * t62 * t3457; + const double t3585 = t1756 * t3345; + const double t3607 = t1304 * t108; + const double t3610 = -0.1e3 / 0.3e1 * t1747 * t3444 - 0.25e3 / 0.3e1 * t595 * t3457 - 0.5e2 * t68 * t3585 * tau_a - 0.1e2 / 0.3e1 * t44 * t3350 - 0.4e2 / 0.3e1 * t580 * t3350 - 0.1e2 * t50 * t3365 - 0.1e2 * t1731 * t3350 - 0.3e2 * t585 * t3365 - 0.2e2 * t56 * t3444 - 0.2e2 * t1738 * t3365 - 0.16e3 / 0.3e1 * t590 * t3444 - 0.10666666666666666667e-1 * t1305 * t608 + 0.42666666666666666668e-4 * t3607 * t605; + const double t3611 = t1269 * t108; + const double t3617 = t182 * t3345; + const double t3624 = t185 * tau_a; + const double t3635 = 0.5e1 / 0.3e1 * t182 * t89 * t46 - 0.1e2 / 0.3e1 * t3617 * t439 - 0.1e2 / 0.3e1 * t183 * t3350 + 0.5e1 / 0.3e1 * t183 * t3353 - 0.1e2 / 0.3e1 * t3624 * t3357 - 0.4e2 / 0.3e1 * t531 * t3350 + 0.1e2 / 0.3e1 * t531 * t3353 - 0.1e2 * t186 * t3365 + 0.1e2 / 0.3e1 * t186 * t3368; + const double t3636 = t3635 * t108; + const double t3639 = t1280 * t127; + const double t3645 = t167 * t3345; + const double t3652 = t170 * tau_a; + const double t3673 = 0.5e1 / 0.3e1 * t167 * t89 * t46 - 0.1e2 / 0.3e1 * t3645 * t439 - 0.1e2 / 0.3e1 * t168 * t3350 + 0.5e1 / 0.3e1 * t168 * t3353 - 0.1e2 / 0.3e1 * t3652 * t3357 - 0.4e2 / 0.3e1 * t563 * t3350 + 0.1e2 / 0.3e1 * t563 * t3353 - 0.1e2 * t171 * t3365 + 0.1e2 / 0.3e1 * t171 * t3368 - 0.1e2 * t1642 * t3350 - 0.3e2 * t568 * t3365 + 0.5e1 * t568 * t3368 - 0.2e2 * t174 * t3444 + 0.5e1 * t174 * t3447; + const double t3674 = t3673 * sigma_aa; + const double t3680 = t208 * t3345; + const double t3687 = t211 * tau_a; + const double t3698 = 0.5e1 / 0.3e1 * t208 * t89 * t46 - 0.1e2 / 0.3e1 * t3680 * t439 - 0.1e2 / 0.3e1 * t209 * t3350 + 0.5e1 / 0.3e1 * t209 * t3353 - 0.1e2 / 0.3e1 * t3687 * t3357 - 0.4e2 / 0.3e1 * t549 * t3350 + 0.1e2 / 0.3e1 * t549 * t3353 - 0.1e2 * t212 * t3365 + 0.1e2 / 0.3e1 * t212 * t3368; + const double t3699 = t3698 * sigma_aa; + const double t3720 = t194 * t3345; + const double t3727 = t197 * tau_a; + const double t3748 = 0.5e1 / 0.3e1 * t194 * t89 * t46 - 0.1e2 / 0.3e1 * t3720 * t439 - 0.1e2 / 0.3e1 * t195 * t3350 + 0.5e1 / 0.3e1 * t195 * t3353 - 0.1e2 / 0.3e1 * t3727 * t3357 - 0.4e2 / 0.3e1 * t656 * t3350 + 0.1e2 / 0.3e1 * t656 * t3353 - 0.1e2 * t198 * t3365 + 0.1e2 / 0.3e1 * t198 * t3368 - 0.1e2 * t2069 * t3350 - 0.3e2 * t661 * t3365 + 0.5e1 * t661 * t3368 - 0.2e2 * t201 * t3444 + 0.5e1 * t201 * t3447; + const double t3750 = 0.42666666666666666668e-4 * t3611 * t520 + 0.16e-4 * t3636 * t190 + 0.34133333333333333334e-6 * t3639 * t541 + 0.4e-2 * t3674 * t178 + 0.4e-2 * t3699 * t216 + 0.5e1 / 0.3e1 * t30 * t89 * t46 + 0.1e2 / 0.3e1 * t580 * t3353 + 0.1e2 / 0.3e1 * t50 * t3368 + 0.5e1 * t585 * t3368 + 0.5e1 * t56 * t3447 + 0.2e2 / 0.3e1 * t590 * t3447 + 0.2e2 / 0.3e1 * t62 * t3460 + t3748 * t205; + const double t3752 = t3508 + t3579 + t3610 + t3750; + const double t3757 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t405 * t1317 - t3340 - 0.3e1 / 0.8e1 * t6 * t28 * t3752 ); + const double t3764 = t6 * t719 * t1467 / 0.8e1; + const double t3765 = t1406 * t373; + const double t3767 = t1420 * t287; + const double t3770 = t1431 * t307; + const double t3773 = t1445 * t390; + const double t3776 = t1455 * t287; + const double t3779 = t1465 * t757; + const double t3825 = 0.1e1 / t245 / t304; + const double t3826 = t220 * t3825; + const double t3829 = t263 * t3825; + const double t3830 = t3829 * tau_b; + const double t3833 = t258 * t287; + const double t3836 = t223 * tau_b; + const double t3837 = t3825 * t258; + const double t3844 = t268 * t3825; + const double t3845 = t3844 * tau_b; + const double t3848 = t263 * t287; + const double t3851 = 0.5e1 / 0.3e1 * t220 * t287 * t253 - 0.1e2 / 0.3e1 * t3826 * t855 - 0.1e2 / 0.3e1 * t384 * t3830 + 0.5e1 / 0.3e1 * t384 * t3833 - 0.1e2 / 0.3e1 * t3836 * t3837 - 0.4e2 / 0.3e1 * t1041 * t3830 + 0.1e2 / 0.3e1 * t1041 * t3833 - 0.1e2 * t386 * t3845 + 0.1e2 / 0.3e1 * t386 * t3848; + const double t3856 = t194 * t3825; + const double t3863 = t197 * tau_b; + const double t3880 = t273 * t3825; + const double t3881 = t3880 * tau_b; + const double t3884 = t268 * t287; + const double t3887 = 0.5e1 / 0.3e1 * t194 * t287 * t253 - 0.1e2 / 0.3e1 * t3856 * t855 - 0.1e2 / 0.3e1 * t365 * t3830 + 0.5e1 / 0.3e1 * t365 * t3833 - 0.1e2 / 0.3e1 * t3863 * t3837 - 0.4e2 / 0.3e1 * t1024 * t3830 + 0.1e2 / 0.3e1 * t1024 * t3833 - 0.1e2 * t367 * t3845 + 0.1e2 / 0.3e1 * t367 * t3848 - 0.1e2 * t2722 * t3830 - 0.3e2 * t1029 * t3845 + 0.5e1 * t1029 * t3848 - 0.2e2 * t369 * t3881 + 0.5e1 * t369 * t3884; + const double t3892 = t137 * t3825; + const double t3899 = t140 * tau_b; + const double t3926 = t829 * t3825; + const double t3927 = t3926 * tau_b; + const double t3930 = t273 * t287; + const double t3933 = 0.5e1 / 0.3e1 * t137 * t287 * t253 - 0.1e2 / 0.3e1 * t3892 * t855 - 0.1e2 / 0.3e1 * t327 * t3830 + 0.5e1 / 0.3e1 * t327 * t3833 - 0.1e2 / 0.3e1 * t3899 * t3837 - 0.4e2 / 0.3e1 * t1053 * t3830 + 0.1e2 / 0.3e1 * t1053 * t3833 - 0.1e2 * t329 * t3845 + 0.1e2 / 0.3e1 * t329 * t3848 - 0.1e2 * t2584 * t3830 - 0.3e2 * t1058 * t3845 + 0.5e1 * t1058 * t3848 - 0.2e2 * t331 * t3881 + 0.5e1 * t331 * t3884 - 0.2e2 * t2597 * t3845 - 0.16e3 / 0.3e1 * t1063 * t3881 + 0.2e2 / 0.3e1 * t1063 * t3884 - 0.1e3 / 0.3e1 * t333 * t3927 + 0.2e2 / 0.3e1 * t333 * t3930; + const double t3941 = t1361 * t302; + const double t3947 = t98 * t3825; + const double t3954 = t101 * tau_b; + const double t3975 = 0.5e1 / 0.3e1 * t98 * t287 * t253 - 0.1e2 / 0.3e1 * t3947 * t855 - 0.1e2 / 0.3e1 * t295 * t3830 + 0.5e1 / 0.3e1 * t295 * t3833 - 0.1e2 / 0.3e1 * t3954 * t3837 - 0.4e2 / 0.3e1 * t978 * t3830 + 0.1e2 / 0.3e1 * t978 * t3833 - 0.1e2 * t297 * t3845 + 0.1e2 / 0.3e1 * t297 * t3848 - 0.1e2 * t2988 * t3830 - 0.3e2 * t983 * t3845 + 0.5e1 * t983 * t3848 - 0.2e2 * t299 * t3881 + 0.5e1 * t299 * t3884; + const double t3976 = t3975 * t302; + const double t3979 = 0.5e1 / 0.3e1 * t30 * t287 * t253 - 0.2e1 * t3773 * t817 - 0.3e1 * t3779 * t817 - t3765 * t817 + t3851 * t390 + t3887 * t373 + t3933 * t343 - 0.8e-2 * t3776 * t1076 - 0.4e-2 * t3767 * t1070 - 0.16e-4 * t3770 * t1073 + 0.42666666666666666668e-4 * t3941 * t844 + 0.16e-4 * t3976 * t310; + const double t3980 = t30 * t3825; + const double t3983 = t1376 * t318; + const double t3989 = t120 * t3825; + const double t3996 = t123 * tau_b; + const double t4007 = 0.5e1 / 0.3e1 * t120 * t287 * t253 - 0.1e2 / 0.3e1 * t3989 * t855 - 0.1e2 / 0.3e1 * t313 * t3830 + 0.5e1 / 0.3e1 * t313 * t3833 - 0.1e2 / 0.3e1 * t3996 * t3837 - 0.4e2 / 0.3e1 * t1000 * t3830 + 0.1e2 / 0.3e1 * t1000 * t3833 - 0.1e2 * t315 * t3845 + 0.1e2 / 0.3e1 * t315 * t3848; + const double t4008 = t4007 * t318; + const double t4011 = t1387 * t1009; + const double t4014 = t48 * tau_b; + const double t4020 = t73 * t3825; + const double t4027 = t76 * tau_b; + const double t4058 = 0.5e1 / 0.3e1 * t73 * t287 * t253 - 0.1e2 / 0.3e1 * t4020 * t855 - 0.1e2 / 0.3e1 * t275 * t3830 + 0.5e1 / 0.3e1 * t275 * t3833 - 0.1e2 / 0.3e1 * t4027 * t3837 - 0.4e2 / 0.3e1 * t951 * t3830 + 0.1e2 / 0.3e1 * t951 * t3833 - 0.1e2 * t277 * t3845 + 0.1e2 / 0.3e1 * t277 * t3848 - 0.1e2 * t2936 * t3830 - 0.3e2 * t956 * t3845 + 0.5e1 * t956 * t3848 - 0.2e2 * t279 * t3881 + 0.5e1 * t279 * t3884 - 0.2e2 * t2947 * t3845 - 0.16e3 / 0.3e1 * t961 * t3881 + 0.2e2 / 0.3e1 * t961 * t3884 - 0.1e3 / 0.3e1 * t281 * t3927 + 0.2e2 / 0.3e1 * t281 * t3930; + const double t4059 = t4058 * sigma_bb; + const double t4076 = -0.1e2 / 0.3e1 * t3980 * t855 + 0.34133333333333333334e-6 * t3983 * t915 + 0.64e-7 * t4008 * t324 + 0.20480000000000000001e-8 * t4011 * t1016 - 0.1e2 / 0.3e1 * t4014 * t3837 + 0.4e-2 * t4059 * t292 - 0.85333333333333333333e-4 * t1377 * t844 - 0.512e-6 * t1388 * t915 - 0.10666666666666666667e-1 * t1362 * t837 + 0.1e2 / 0.3e1 * t256 * t3848 + 0.5e1 * t926 * t3848 + 0.5e1 * t261 * t3884 + 0.2e2 / 0.3e1 * t932 * t3884; + const double t4105 = 0.2e2 / 0.3e1 * t266 * t3930 + 0.25e2 / 0.3e1 * t823 * t3930 + 0.25e2 / 0.3e1 * t271 * t829 * t287 + 0.5e1 / 0.3e1 * t251 * t3833 + 0.1e2 / 0.3e1 * t921 * t3833 - 0.10666666666666666667e-1 * t1420 * t838 - 0.85333333333333333333e-4 * t1431 * t845 - 0.1e2 * t256 * t3845 - 0.1e2 * t2853 * t3830 - 0.3e2 * t926 * t3845 - 0.2e2 * t261 * t3881 - 0.2e2 * t2860 * t3845 - 0.16e3 / 0.3e1 * t932 * t3881; + const double t4112 = t2874 * t3825; + const double t4122 = t1430 * t318; + const double t4128 = t208 * t3825; + const double t4135 = t211 * tau_b; + const double t4146 = 0.5e1 / 0.3e1 * t208 * t287 * t253 - 0.1e2 / 0.3e1 * t4128 * t855 - 0.1e2 / 0.3e1 * t375 * t3830 + 0.5e1 / 0.3e1 * t375 * t3833 - 0.1e2 / 0.3e1 * t4135 * t3837 - 0.4e2 / 0.3e1 * t859 * t3830 + 0.1e2 / 0.3e1 * t859 * t3833 - 0.1e2 * t377 * t3845 + 0.1e2 / 0.3e1 * t377 * t3848; + const double t4147 = t4146 * sigma_bb; + const double t4153 = t167 * t3825; + const double t4160 = t170 * tau_b; + const double t4181 = 0.5e1 / 0.3e1 * t167 * t287 * t253 - 0.1e2 / 0.3e1 * t4153 * t855 - 0.1e2 / 0.3e1 * t345 * t3830 + 0.5e1 / 0.3e1 * t345 * t3833 - 0.1e2 / 0.3e1 * t4160 * t3837 - 0.4e2 / 0.3e1 * t879 * t3830 + 0.1e2 / 0.3e1 * t879 * t3833 - 0.1e2 * t347 * t3845 + 0.1e2 / 0.3e1 * t347 * t3848 - 0.1e2 * t2758 * t3830 - 0.3e2 * t884 * t3845 + 0.5e1 * t884 * t3848 - 0.2e2 * t349 * t3881 + 0.5e1 * t349 * t3884; + const double t4182 = t4181 * sigma_bb; + const double t4185 = t1419 * t302; + const double t4191 = t182 * t3825; + const double t4198 = t185 * tau_b; + const double t4209 = 0.5e1 / 0.3e1 * t182 * t287 * t253 - 0.1e2 / 0.3e1 * t4191 * t855 - 0.1e2 / 0.3e1 * t356 * t3830 + 0.5e1 / 0.3e1 * t356 * t3833 - 0.1e2 / 0.3e1 * t4198 * t3837 - 0.4e2 / 0.3e1 * t903 * t3830 + 0.1e2 / 0.3e1 * t903 * t3833 - 0.1e2 * t358 * t3845 + 0.1e2 / 0.3e1 * t358 * t3848; + const double t4210 = t4209 * t302; + const double t4213 = t1454 * t302; + const double t4216 = -0.1e3 / 0.3e1 * t266 * t3927 - 0.1e3 / 0.3e1 * t2868 * t3881 - 0.25e3 / 0.3e1 * t823 * t3927 - 0.5e2 * t271 * t4112 * tau_b - 0.1e2 / 0.3e1 * t251 * t3830 - 0.4e2 / 0.3e1 * t921 * t3830 - 0.10666666666666666667e-1 * t1455 * t848 + 0.34133333333333333334e-6 * t4122 * t916 + 0.4e-2 * t4147 * t381 + 0.4e-2 * t4182 * t353 + 0.42666666666666666668e-4 * t4185 * t845 + 0.16e-4 * t4210 * t362 + 0.42666666666666666668e-4 * t4213 * t871; + const double t4218 = t3979 + t4076 + t4105 + t4216; + const double t4223 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t808 * t1467 - t3764 - 0.3e1 / 0.8e1 * t6 * t244 * t4218 ); + const double t4237 = t126 * sigma_aa; + const double t4242 = t129 * t111; + const double t4244 = 0.1e1 / t38 / t4242; + const double t4245 = t4244 * t1878; + const double t4248 = t176 * t113; + const double t4253 = t188 * t113; + const double t4258 = t1104 * t164; + const double t4261 = t214 * t113; + const double t4264 = t133 * t205; + const double t4267 = -0.32e-4 * t85 * t113 * t115 + 0.128e-6 * t86 * t133 + 0.32e-4 * t107 * t113 * t115 - 0.512e-6 * t1093 * t133 + 0.1536e-8 * t109 * t1104 + 0.384e-6 * t4237 * t133 - 0.4608e-8 * t1098 * t1104 + 0.12288e-10 * t128 * t4245 - 0.32e-4 * t4248 * t3160 + 0.128e-6 * t177 * t1116 + 0.32e-4 * t4253 * t3160 - 0.512e-6 * t1113 * t1116 + 0.1536e-8 * t189 * t4258 - 0.32e-4 * t4261 * t647 + 0.128e-6 * t215 * t4264; + const double t4271 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4267 ); + const double t4284 = t317 * sigma_bb; + const double t4289 = t320 * t305; + const double t4291 = 0.1e1 / t245 / t4289; + const double t4292 = t4291 * t2912; + const double t4295 = t351 * t307; + const double t4300 = t360 * t307; + const double t4305 = t1146 * t343; + const double t4308 = t379 * t307; + const double t4311 = t324 * t373; + const double t4314 = -0.32e-4 * t283 * t307 * t309 + 0.128e-6 * t284 * t324 + 0.32e-4 * t301 * t307 * t309 - 0.512e-6 * t1135 * t324 + 0.1536e-8 * t303 * t1146 + 0.384e-6 * t4284 * t324 - 0.4608e-8 * t1140 * t1146 + 0.12288e-10 * t319 * t4292 - 0.32e-4 * t4295 * t3243 + 0.128e-6 * t352 * t1158 + 0.32e-4 * t4300 * t3243 - 0.512e-6 * t1155 * t1158 + 0.1536e-8 * t361 * t4305 - 0.32e-4 * t4308 * t744 + 0.128e-6 * t380 * t4311; + const double t4318 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4314 ); + const double t4324 = t1226 * sigma_aa; + const double t4329 = t1237 * t108; + const double t4334 = t1269 * t89; + const double t4339 = t1280 * sigma_aa; + const double t4344 = t1304 * t89; + const double t4349 = 0.4e-2 * t1211 * t89 * t93 - 0.16e-4 * t1212 * t116 + 0.32e-4 * t4324 * t116 - 0.128e-6 * t1227 * t133 + 0.192e-6 * t4329 * t133 - 0.768e-9 * t1238 * t1104 + 0.4e-2 * t4334 * t1108 - 0.16e-4 * t1270 * t190 + 0.32e-4 * t4339 * t190 - 0.128e-6 * t1281 * t1116 + 0.4e-2 * t4344 * t642 - 0.16e-4 * t1305 * t1122; + const double t4353 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4349 ); + const double t4359 = t1376 * sigma_bb; + const double t4364 = t1387 * t302; + const double t4369 = t1419 * t287; + const double t4374 = t1430 * sigma_bb; + const double t4379 = t1454 * t287; + const double t4384 = 0.4e-2 * t1361 * t287 * t291 - 0.16e-4 * t1362 * t310 + 0.32e-4 * t4359 * t310 - 0.128e-6 * t1377 * t324 + 0.192e-6 * t4364 * t324 - 0.768e-9 * t1388 * t1146 + 0.4e-2 * t4369 * t1150 - 0.16e-4 * t1420 * t362 + 0.32e-4 * t4374 * t362 - 0.128e-6 * t1431 * t1158 + 0.4e-2 * t4379 * t739 - 0.16e-4 * t1455 * t1164; + const double t4388 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4384 ); + const double t4390 = 0.1e1 / t38 / t426; + const double t4394 = t58 * t4390; + const double t4402 = t64 * t4390; + const double t4409 = t70 * t4390; + const double t4412 = 0.2e1 * t101 * t4390 * t52 + 0.2e1 * t4390 * t52 * t98 + 0.6e1 * t102 * t4402 + 0.12e2 * t105 * t4409 + 0.6e1 * t1957 * t4394 + 0.8e1 * t4394 * t476 + 0.2e1 * t4394 * t99 + 0.18e2 * t4402 * t481; + const double t4413 = t4412 * t108; + const double t4428 = 0.2e1 * t120 * t4390 * t52 + 0.2e1 * t123 * t4390 * t52 + 0.2e1 * t121 * t4394 + 0.6e1 * t124 * t4402 + 0.8e1 * t4394 * t498; + const double t4429 = t4428 * t127; + const double t4463 = t599 * t4390; + const double t4466 = 0.2e1 * t4390 * t52 * t73 + 0.2e1 * t4390 * t52 * t76 + 0.6e1 * t1904 * t4394 + 0.12e2 * t1915 * t4402 + 0.8e1 * t4394 * t443 + 0.2e1 * t4394 * t74 + 0.18e2 * t4402 * t450 + 0.6e1 * t4402 * t77 + 0.32e2 * t4409 * t457 + 0.12e2 * t4409 * t80 + 0.2e2 * t4463 * t83; + const double t4467 = t4466 * sigma_aa; + const double t4482 = 0.2e1 * t220 * t4390 * t52 + 0.2e1 * t223 * t4390 * t52 + 0.2e1 * t221 * t4394 + 0.6e1 * t224 * t4402 + 0.8e1 * t4394 * t673; + const double t4508 = 0.2e1 * t137 * t4390 * t52 + 0.2e1 * t140 * t4390 * t52 + 0.2e1 * t138 * t4394 + 0.6e1 * t141 * t4402 + 0.12e2 * t144 * t4409 + 0.2e2 * t147 * t4463 + 0.6e1 * t2025 * t4394 + 0.12e2 * t2036 * t4402 + 0.8e1 * t4394 * t685 + 0.18e2 * t4402 * t690 + 0.32e2 * t4409 * t695; + const double t4528 = 0.2e1 * t194 * t4390 * t52 + 0.2e1 * t197 * t4390 * t52 + 0.2e1 * t195 * t4394 + 0.6e1 * t198 * t4402 + 0.12e2 * t201 * t4409 + 0.6e1 * t2069 * t4394 + 0.8e1 * t4394 * t656 + 0.18e2 * t4402 * t661; + const double t4533 = 0.16e-4 * t4413 * t116 + 0.64e-7 * t4429 * t133 + 0.2e1 * t30 * t4390 * t52 + 0.6e1 * t1731 * t4394 + 0.12e2 * t1738 * t4402 + 0.2e2 * t1747 * t4409 + 0.4e-2 * t4467 * t94 + t4482 * t228 + t4508 * t164 + t4528 * t205 + 0.2e1 * t48 * t4390 * t52; + const double t4546 = 0.2e1 * t208 * t4390 * t52 + 0.2e1 * t211 * t4390 * t52 + 0.2e1 * t209 * t4394 + 0.6e1 * t212 * t4402 + 0.8e1 * t4394 * t549; + const double t4547 = t4546 * sigma_aa; + const double t4568 = 0.2e1 * t167 * t4390 * t52 + 0.2e1 * t170 * t4390 * t52 + 0.6e1 * t1642 * t4394 + 0.2e1 * t168 * t4394 + 0.6e1 * t171 * t4402 + 0.12e2 * t174 * t4409 + 0.8e1 * t4394 * t563 + 0.18e2 * t4402 * t568; + const double t4569 = t4568 * sigma_aa; + const double t4584 = 0.2e1 * t182 * t4390 * t52 + 0.2e1 * t185 * t4390 * t52 + 0.2e1 * t183 * t4394 + 0.6e1 * t186 * t4402 + 0.8e1 * t4394 * t531; + const double t4585 = t4584 * t108; + const double t4607 = 0.4e-2 * t4547 * t216 + 0.4e-2 * t4569 * t178 + 0.16e-4 * t4585 * t190 + 0.2e1 * t44 * t4394 + 0.8e1 * t580 * t4394 + 0.6e1 * t50 * t4402 + 0.18e2 * t585 * t4402 + 0.12e2 * t56 * t4409 + 0.32e2 * t590 * t4409 + 0.2e2 * t62 * t4463 + 0.5e2 * t595 * t4463 + 0.3e2 * t68 * t1756 * t4390; + const double t4608 = t4533 + t4607; + const double t4612 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t4608 ); + const double t4614 = 0.1e1 / t245 / t834; + const double t4618 = t263 * t4614; + const double t4626 = t268 * t4614; + const double t4629 = 0.2e1 * t220 * t258 * t4614 + 0.2e1 * t223 * t258 * t4614 + 0.8e1 * t1041 * t4618 + 0.2e1 * t384 * t4618 + 0.6e1 * t386 * t4626; + const double t4647 = t273 * t4614; + const double t4650 = 0.2e1 * t194 * t258 * t4614 + 0.2e1 * t197 * t258 * t4614 + 0.8e1 * t1024 * t4618 + 0.18e2 * t1029 * t4626 + 0.6e1 * t2722 * t4618 + 0.2e1 * t365 * t4618 + 0.6e1 * t367 * t4626 + 0.12e2 * t369 * t4647; + const double t4674 = t829 * t4614; + const double t4677 = 0.2e1 * t137 * t258 * t4614 + 0.2e1 * t140 * t258 * t4614 + 0.8e1 * t1053 * t4618 + 0.18e2 * t1058 * t4626 + 0.32e2 * t1063 * t4647 + 0.6e1 * t2584 * t4618 + 0.12e2 * t2597 * t4626 + 0.2e1 * t327 * t4618 + 0.6e1 * t329 * t4626 + 0.12e2 * t331 * t4647 + 0.2e2 * t333 * t4674; + const double t4691 = 0.2e1 * t208 * t258 * t4614 + 0.2e1 * t211 * t258 * t4614 + 0.2e1 * t375 * t4618 + 0.6e1 * t377 * t4626 + 0.8e1 * t4618 * t859; + const double t4692 = t4691 * sigma_bb; + const double t4713 = 0.2e1 * t167 * t258 * t4614 + 0.2e1 * t170 * t258 * t4614 + 0.6e1 * t2758 * t4618 + 0.2e1 * t345 * t4618 + 0.6e1 * t347 * t4626 + 0.12e2 * t349 * t4647 + 0.8e1 * t4618 * t879 + 0.18e2 * t4626 * t884; + const double t4714 = t4713 * sigma_bb; + const double t4729 = 0.2e1 * t182 * t258 * t4614 + 0.2e1 * t185 * t258 * t4614 + 0.2e1 * t356 * t4618 + 0.6e1 * t358 * t4626 + 0.8e1 * t4618 * t903; + const double t4730 = t4729 * t302; + const double t4743 = t4629 * t390 + t4650 * t373 + t4677 * t343 + 0.4e-2 * t4692 * t381 + 0.4e-2 * t4714 * t353 + 0.16e-4 * t4730 * t362 + 0.2e1 * t251 * t4618 + 0.8e1 * t921 * t4618 + 0.6e1 * t256 * t4626 + 0.18e2 * t926 * t4626 + 0.12e2 * t261 * t4647; + const double t4774 = 0.2e1 * t101 * t258 * t4614 + 0.2e1 * t258 * t4614 * t98 + 0.2e1 * t295 * t4618 + 0.6e1 * t297 * t4626 + 0.6e1 * t2988 * t4618 + 0.12e2 * t299 * t4647 + 0.8e1 * t4618 * t978 + 0.18e2 * t4626 * t983; + const double t4775 = t4774 * t302; + const double t4790 = 0.2e1 * t120 * t258 * t4614 + 0.2e1 * t123 * t258 * t4614 + 0.8e1 * t1000 * t4618 + 0.2e1 * t313 * t4618 + 0.6e1 * t315 * t4626; + const double t4791 = t4790 * t318; + const double t4827 = 0.2e1 * t258 * t4614 * t73 + 0.2e1 * t258 * t4614 * t76 + 0.2e1 * t275 * t4618 + 0.6e1 * t277 * t4626 + 0.12e2 * t279 * t4647 + 0.2e2 * t281 * t4674 + 0.6e1 * t2936 * t4618 + 0.12e2 * t2947 * t4626 + 0.8e1 * t4618 * t951 + 0.18e2 * t4626 * t956 + 0.32e2 * t4647 * t961; + const double t4828 = t4827 * sigma_bb; + const double t4831 = 0.32e2 * t932 * t4647 + 0.2e2 * t266 * t4674 + 0.5e2 * t823 * t4674 + 0.3e2 * t271 * t2874 * t4614 + 0.2e1 * t48 * t4614 * t258 + 0.16e-4 * t4775 * t310 + 0.64e-7 * t4791 * t324 + 0.2e1 * t30 * t4614 * t258 + 0.6e1 * t2853 * t4618 + 0.12e2 * t2860 * t4626 + 0.2e2 * t2868 * t4647 + 0.4e-2 * t4828 * t292; + const double t4832 = t4743 + t4831; + const double t4836 = piecewise_functor_3( t235, 0.0, -0.3e1 / 0.8e1 * t6 * t244 * t4832 ); + + + vrho_a = t234 + t396 + t7 * ( t708 + t766 ); + vrho_b = t234 + t396 + t7 * ( t802 + t1085 ); + vsigma_aa = t7 * t1129; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t1171; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t1321; + vtau_b = t7 * t1471; + v2rho2_aa = 0.2e1 * t708 + 0.2e1 * t766 + t7 * ( t2090 + t2189 ); + v2rho2_bb = 0.2e1 * t802 + 0.2e1 * t1085 + t7 * ( t2494 + t3062 ); + v2rhosigma_a_aa = t3176 * t7 + t1129; + v2rhosigma_b_bb = t3333 * t7 + t1171; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t3757 * t7 + t1321; + v2rhotau_b_b = t4223 * t7 + t1471; + v2sigma2_aa_aa = t7 * t4271; + v2sigma2_bb_bb = t7 * t4318; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t4353; + v2sigmatau_bb_b = t7 * t4388; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4612; + v2tau2_bb = t7 * t4836; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinMN15_X : detail::BuiltinKernelImpl< BuiltinMN15_X > { + + BuiltinMN15_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMN15_X >(p) { } + + virtual ~BuiltinMN15_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/mpw91_x.hpp b/include/exchcxx/impl/builtin/kernels/mpw91_x.hpp new file mode 100644 index 0000000..9365b97 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/mpw91_x.hpp @@ -0,0 +1,1589 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinMPW91_X > : + public gga_screening_interface< BuiltinMPW91_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a = 6.0*0.00426/constants::X2S; + static constexpr double b = 1.0/constants::X2S; + static constexpr double c = 0.00426/(constants::X_FACTOR_C*constants::X2S*constants::X2S); + static constexpr double d = -(0.00426 - 5.0*0.0003780762333399851)/(constants::X_FACTOR_C*constants::X2S*constants::X2S); + static constexpr double f = 1.0e-6/(constants::X_FACTOR_C*0.00048120394750740677); + static constexpr double alpha = 100.0; + static constexpr double expo = 3.72; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t75 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t71 ); + + + eps = 0.2e1 * t75; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + constexpr double t81 = d * alpha; + constexpr double t83 = 0.1e1 / t23 / t22; + constexpr double t84 = t44 * t83; + constexpr double t85 = t81 * t84; + constexpr double t117 = t20 * t25; + constexpr double t120 = b * b; + constexpr double t150 = t25 * t28; + constexpr double t164 = t117 * t28; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t75 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t71 ); + const double t77 = t17 / t31; + const double t86 = sigma * sigma; + const double t87 = t86 * t27; + const double t88 = t30 * t30; + const double t89 = t88 * t30; + const double t91 = 0.1e1 / t18 / t89; + const double t92 = t91 * t37; + const double t96 = t30 * rho; + const double t98 = 0.1e1 / t31 / t96; + const double t102 = 0.1e1 / rho; + const double t105 = 0.4e1 / 0.3e1 * t55 * expo * t102; + const double t106 = t85 * t87 * t92 / 0.108e3 - t41 * t29 * t98 / 0.9e1 + t105; + const double t108 = t68 * t68; + const double t109 = 0.1e1 / t108; + const double t110 = t56 * t109; + const double t114 = t27 / t18 / t30 * t64; + const double t118 = t117 * t29; + const double t125 = 0.6e1 * t120 * t20 * t25 * t34 + 0.144e3; + const double t126 = safe_math::sqrt( t125 ); + const double t128 = b / t126; + const double t129 = t98 * a * t128; + const double t132 = -t57 * t114 / 0.9e1 - 0.2e1 / 0.3e1 * t118 * t129 - t105; + const double t134 = t106 * t69 - t110 * t132; + const double t139 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t71 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t134 ); + const double t142 = t88 * rho; + const double t144 = 0.1e1 / t18 / t142; + const double t145 = t27 * t144; + const double t146 = t37 * sigma; + const double t154 = 0.1e1 / sigma; + const double t157 = t55 * expo * t154 / 0.2e1; + const double t158 = -t85 * t145 * t146 / 0.288e3 + t40 * t150 * t33 / 0.24e2 - t157; + const double t161 = t46 / t47; + const double t166 = t33 * a * t128; + const double t169 = t161 * t65 / 0.24e2 + t164 * t166 / 0.4e1 + t157; + const double t171 = -t110 * t169 + t158 * t69; + const double t175 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t171 ); + + + eps = 0.2e1 * t75; + vrho = 0.2e1 * rho * t139 + 0.2e1 * t75; + vsigma = 0.2e1 * rho * t175; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + constexpr double t81 = d * alpha; + constexpr double t83 = 0.1e1 / t23 / t22; + constexpr double t84 = t44 * t83; + constexpr double t85 = t81 * t84; + constexpr double t117 = t20 * t25; + constexpr double t120 = b * b; + constexpr double t150 = t25 * t28; + constexpr double t164 = t117 * t28; + constexpr double t194 = alpha * alpha; + constexpr double t195 = d * t194; + constexpr double t196 = t22 * t22; + constexpr double t197 = 0.1e1 / t196; + constexpr double t198 = t195 * t197; + constexpr double t212 = expo * expo; + constexpr double t243 = t120 * b; + constexpr double t312 = t81 * t44; + constexpr double t313 = t83 * t27; + constexpr double t341 = t84 * t27; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t77 = t17 / t31; + const double t86 = sigma * sigma; + const double t87 = t86 * t27; + const double t88 = t30 * t30; + const double t89 = t88 * t30; + const double t91 = 0.1e1 / t18 / t89; + const double t92 = t91 * t37; + const double t96 = t30 * rho; + const double t98 = 0.1e1 / t31 / t96; + const double t102 = 0.1e1 / rho; + const double t105 = 0.4e1 / 0.3e1 * t55 * expo * t102; + const double t106 = t85 * t87 * t92 / 0.108e3 - t41 * t29 * t98 / 0.9e1 + t105; + const double t108 = t68 * t68; + const double t109 = 0.1e1 / t108; + const double t110 = t56 * t109; + const double t114 = t27 / t18 / t30 * t64; + const double t118 = t117 * t29; + const double t125 = 0.6e1 * t120 * t20 * t25 * t34 + 0.144e3; + const double t126 = safe_math::sqrt( t125 ); + const double t128 = b / t126; + const double t129 = t98 * a * t128; + const double t132 = -t57 * t114 / 0.9e1 - 0.2e1 / 0.3e1 * t118 * t129 - t105; + const double t134 = t106 * t69 - t110 * t132; + const double t139 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t71 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t134 ); + const double t142 = t88 * rho; + const double t144 = 0.1e1 / t18 / t142; + const double t145 = t27 * t144; + const double t146 = t37 * sigma; + const double t154 = 0.1e1 / sigma; + const double t157 = t55 * expo * t154 / 0.2e1; + const double t158 = -t85 * t145 * t146 / 0.288e3 + t40 * t150 * t33 / 0.24e2 - t157; + const double t161 = t46 / t47; + const double t166 = t33 * a * t128; + const double t169 = t161 * t65 / 0.24e2 + t164 * t166 / 0.4e1 + t157; + const double t171 = -t110 * t169 + t158 * t69; + const double t175 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t171 ); + const double t180 = t17 / t31 / rho; + const double t187 = t88 * t96; + const double t189 = 0.1e1 / t18 / t187; + const double t190 = t189 * t37; + const double t199 = t86 * sigma; + const double t200 = t88 * t88; + const double t201 = t200 * t30; + const double t202 = 0.1e1 / t201; + const double t208 = 0.1e1 / t31 / t88; + const double t213 = 0.1e1 / t30; + const double t214 = t212 * t213; + const double t216 = 0.16e2 / 0.9e1 * t55 * t214; + const double t219 = 0.4e1 / 0.3e1 * t55 * expo * t213; + const double t220 = -t85 * t87 * t190 / 0.12e2 + t198 * t199 * t202 * t37 / 0.81e2 + 0.11e2 / 0.27e2 * t41 * t29 * t208 - t216 - t219; + const double t222 = t106 * t109; + const double t226 = 0.1e1 / t108 / t68; + const double t227 = t56 * t226; + const double t228 = t132 * t132; + const double t234 = t27 / t18 / t96 * t64; + const double t238 = t208 * a * t128; + const double t241 = t84 * t87; + const double t245 = 0.1e1 / t126 / t125; + const double t246 = t243 * t245; + const double t247 = t189 * a * t246; + const double t250 = 0.7e1 / 0.27e2 * t57 * t234 + 0.1e2 / 0.3e1 * t118 * t238 - 0.32e2 / 0.3e1 * t241 * t247 + t216 + t219; + const double t252 = -t110 * t250 - 0.2e1 * t222 * t132 + t220 * t69 + 0.2e1 * t227 * t228; + const double t257 = piecewise_functor_3( t2, 0.0, t6 * t180 * t71 / 0.12e2 - t6 * t77 * t134 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t252 ); + const double t263 = t27 * t91; + const double t267 = t200 * rho; + const double t268 = 0.1e1 / t267; + const double t276 = t212 * t102; + const double t279 = 0.2e1 / 0.3e1 * t55 * t276 * t154; + const double t280 = t85 * t263 * t146 / 0.36e2 - t198 * t268 * t86 * t37 / 0.216e3 - t40 * t150 * t98 / 0.9e1 + t279; + const double t282 = t158 * t109; + const double t285 = t169 * t132; + const double t294 = a * t243 * t245 * sigma; + const double t297 = -t161 * t114 / 0.18e2 - t164 * t129 + 0.4e1 * t84 * t263 * t294 - t279; + const double t299 = -t110 * t297 - t282 * t132 - t222 * t169 + 0.2e1 * t227 * t285 + t280 * t69; + const double t304 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t171 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t299 ); + const double t307 = 0.1e1 / t200; + const double t318 = 0.1e1 / t86; + const double t321 = t55 * t212 * t318 / 0.4e1; + const double t324 = t55 * expo * t318 / 0.2e1; + const double t325 = t198 * t307 * t37 * sigma / 0.576e3 - t312 * t313 * t144 * t37 / 0.144e3 - t321 + t324; + const double t329 = t169 * t169; + const double t334 = t46 / t47 / sigma; + const double t338 = t117 * t154 * t28; + const double t343 = t144 * a * t246; + const double t346 = -t334 * t65 / 0.48e2 + t338 * t166 / 0.8e1 - 0.3e1 / 0.2e1 * t341 * t343 + t321 - t324; + const double t348 = -t110 * t346 - 0.2e1 * t282 * t169 + 0.2e1 * t227 * t329 + t325 * t69; + const double t352 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t348 ); + + + v2rho2 = 0.2e1 * rho * t257 + 0.4e1 * t139; + v2rhosigma = 0.2e1 * rho * t304 + 0.2e1 * t175; + v2sigma2 = 0.2e1 * rho * t352; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + constexpr double t81 = d * alpha; + constexpr double t83 = 0.1e1 / t23 / t22; + constexpr double t84 = t44 * t83; + constexpr double t85 = t81 * t84; + constexpr double t117 = t20 * t25; + constexpr double t120 = b * b; + constexpr double t150 = t25 * t28; + constexpr double t164 = t117 * t28; + constexpr double t194 = alpha * alpha; + constexpr double t195 = d * t194; + constexpr double t196 = t22 * t22; + constexpr double t197 = 0.1e1 / t196; + constexpr double t198 = t195 * t197; + constexpr double t212 = expo * expo; + constexpr double t243 = t120 * b; + constexpr double t312 = t81 * t44; + constexpr double t313 = t83 * t27; + constexpr double t341 = t84 * t27; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t75 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t71 ); + const double t77 = t17 / t31; + const double t86 = sigma * sigma; + const double t87 = t86 * t27; + const double t88 = t30 * t30; + const double t89 = t88 * t30; + const double t91 = 0.1e1 / t18 / t89; + const double t92 = t91 * t37; + const double t96 = t30 * rho; + const double t98 = 0.1e1 / t31 / t96; + const double t102 = 0.1e1 / rho; + const double t105 = 0.4e1 / 0.3e1 * t55 * expo * t102; + const double t106 = t85 * t87 * t92 / 0.108e3 - t41 * t29 * t98 / 0.9e1 + t105; + const double t108 = t68 * t68; + const double t109 = 0.1e1 / t108; + const double t110 = t56 * t109; + const double t114 = t27 / t18 / t30 * t64; + const double t118 = t117 * t29; + const double t125 = 0.6e1 * t120 * t20 * t25 * t34 + 0.144e3; + const double t126 = safe_math::sqrt( t125 ); + const double t128 = b / t126; + const double t129 = t98 * a * t128; + const double t132 = -t57 * t114 / 0.9e1 - 0.2e1 / 0.3e1 * t118 * t129 - t105; + const double t134 = t106 * t69 - t110 * t132; + const double t139 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t71 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t134 ); + const double t142 = t88 * rho; + const double t144 = 0.1e1 / t18 / t142; + const double t145 = t27 * t144; + const double t146 = t37 * sigma; + const double t154 = 0.1e1 / sigma; + const double t157 = t55 * expo * t154 / 0.2e1; + const double t158 = -t85 * t145 * t146 / 0.288e3 + t40 * t150 * t33 / 0.24e2 - t157; + const double t161 = t46 / t47; + const double t166 = t33 * a * t128; + const double t169 = t161 * t65 / 0.24e2 + t164 * t166 / 0.4e1 + t157; + const double t171 = -t110 * t169 + t158 * t69; + const double t175 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t171 ); + const double t180 = t17 / t31 / rho; + const double t187 = t88 * t96; + const double t189 = 0.1e1 / t18 / t187; + const double t190 = t189 * t37; + const double t199 = t86 * sigma; + const double t200 = t88 * t88; + const double t201 = t200 * t30; + const double t202 = 0.1e1 / t201; + const double t208 = 0.1e1 / t31 / t88; + const double t213 = 0.1e1 / t30; + const double t214 = t212 * t213; + const double t216 = 0.16e2 / 0.9e1 * t55 * t214; + const double t219 = 0.4e1 / 0.3e1 * t55 * expo * t213; + const double t220 = -t85 * t87 * t190 / 0.12e2 + t198 * t199 * t202 * t37 / 0.81e2 + 0.11e2 / 0.27e2 * t41 * t29 * t208 - t216 - t219; + const double t222 = t106 * t109; + const double t226 = 0.1e1 / t108 / t68; + const double t227 = t56 * t226; + const double t228 = t132 * t132; + const double t234 = t27 / t18 / t96 * t64; + const double t238 = t208 * a * t128; + const double t241 = t84 * t87; + const double t245 = 0.1e1 / t126 / t125; + const double t246 = t243 * t245; + const double t247 = t189 * a * t246; + const double t250 = 0.7e1 / 0.27e2 * t57 * t234 + 0.1e2 / 0.3e1 * t118 * t238 - 0.32e2 / 0.3e1 * t241 * t247 + t216 + t219; + const double t252 = -t110 * t250 - 0.2e1 * t222 * t132 + t220 * t69 + 0.2e1 * t227 * t228; + const double t257 = piecewise_functor_3( t2, 0.0, t6 * t180 * t71 / 0.12e2 - t6 * t77 * t134 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t252 ); + const double t263 = t27 * t91; + const double t267 = t200 * rho; + const double t268 = 0.1e1 / t267; + const double t276 = t212 * t102; + const double t279 = 0.2e1 / 0.3e1 * t55 * t276 * t154; + const double t280 = t85 * t263 * t146 / 0.36e2 - t198 * t268 * t86 * t37 / 0.216e3 - t40 * t150 * t98 / 0.9e1 + t279; + const double t282 = t158 * t109; + const double t285 = t169 * t132; + const double t294 = a * t243 * t245 * sigma; + const double t297 = -t161 * t114 / 0.18e2 - t164 * t129 + 0.4e1 * t84 * t263 * t294 - t279; + const double t299 = -t110 * t297 - t282 * t132 - t222 * t169 + 0.2e1 * t227 * t285 + t280 * t69; + const double t304 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t171 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t299 ); + const double t307 = 0.1e1 / t200; + const double t318 = 0.1e1 / t86; + const double t321 = t55 * t212 * t318 / 0.4e1; + const double t324 = t55 * expo * t318 / 0.2e1; + const double t325 = t198 * t307 * t37 * sigma / 0.576e3 - t312 * t313 * t144 * t37 / 0.144e3 - t321 + t324; + const double t329 = t169 * t169; + const double t334 = t46 / t47 / sigma; + const double t338 = t117 * t154 * t28; + const double t343 = t144 * a * t246; + const double t346 = -t334 * t65 / 0.48e2 + t338 * t166 / 0.8e1 - 0.3e1 / 0.2e1 * t341 * t343 + t321 - t324; + const double t348 = -t110 * t346 - 0.2e1 * t282 * t169 + 0.2e1 * t227 * t329 + t325 * t69; + const double t352 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t348 ); + + + vrho = 0.2e1 * rho * t139 + 0.2e1 * t75; + vsigma = 0.2e1 * rho * t175; + v2rho2 = 0.2e1 * rho * t257 + 0.4e1 * t139; + v2rhosigma = 0.2e1 * rho * t304 + 0.2e1 * t175; + v2sigma2 = 0.2e1 * rho * t352; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t79 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t75 ); + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t131 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t127 ); + + + eps = t79 + t131; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + constexpr double t151 = d * alpha * t49; + constexpr double t153 = 0.1e1 / t31 / t30; + constexpr double t185 = t28 * t33; + constexpr double t188 = b * b; + constexpr double t189 = t188 * t28; + constexpr double t319 = a * b; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t79 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t75 ); + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t131 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t127 ); + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t75 / 0.8e1; + const double t154 = sigma_aa * sigma_aa; + const double t155 = t153 * t154; + const double t156 = t35 * t35; + const double t157 = t156 * t35; + const double t159 = 0.1e1 / t36 / t157; + const double t164 = t35 * rho_a; + const double t166 = 0.1e1 / t37 / t164; + const double t170 = 0.1e1 / rho_a; + const double t173 = 0.4e1 / 0.3e1 * t59 * expo * t170; + const double t174 = t151 * t155 * t159 * t43 / 0.216e3 - t46 * t34 * t166 / 0.9e1 + t173; + const double t176 = t72 * t72; + const double t177 = 0.1e1 / t176; + const double t178 = t60 * t177; + const double t182 = 0.1e1 / t36 / t35 * a * t68; + const double t186 = t185 * sigma_aa; + const double t192 = 0.6e1 * t189 * t40 + 0.144e3; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t195 = b * t194; + const double t196 = t166 * a * t195; + const double t199 = -t61 * t182 / 0.9e1 - 0.2e1 / 0.3e1 * t186 * t196 - t173; + const double t201 = t174 * t73 - t178 * t199; + const double t206 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t75 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t201 ); + const double t207 = t81 * t133; + const double t209 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t207 ); + const double t212 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t209 ); + const double t213 = t212 * t26; + const double t217 = t88 * t145; + const double t220 = t5 * t217 * t127 / 0.8e1; + const double t222 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t213 * t127 - t220 ); + const double t226 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t229 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t226 ); + const double t230 = t229 * t26; + const double t235 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t230 * t75 - t149 ); + const double t237 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t207 ); + const double t240 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t237 ); + const double t241 = t240 * t26; + const double t245 = sigma_bb * sigma_bb; + const double t246 = t153 * t245; + const double t247 = t91 * t91; + const double t248 = t247 * t91; + const double t250 = 0.1e1 / t92 / t248; + const double t255 = t91 * rho_b; + const double t257 = 0.1e1 / t93 / t255; + const double t261 = 0.1e1 / rho_b; + const double t264 = 0.4e1 / 0.3e1 * t112 * expo * t261; + const double t265 = t151 * t246 * t250 * t99 / 0.216e3 - t102 * t90 * t257 / 0.9e1 + t264; + const double t267 = t124 * t124; + const double t268 = 0.1e1 / t267; + const double t269 = t113 * t268; + const double t273 = 0.1e1 / t92 / t91 * a * t120; + const double t276 = t185 * sigma_bb; + const double t280 = 0.6e1 * t189 * t96 + 0.144e3; + const double t281 = safe_math::sqrt( t280 ); + const double t282 = 0.1e1 / t281; + const double t283 = b * t282; + const double t284 = t257 * a * t283; + const double t287 = -t114 * t273 / 0.9e1 - 0.2e1 / 0.3e1 * t276 * t284 - t264; + const double t289 = t265 * t125 - t269 * t287; + const double t294 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t127 - t220 - 0.3e1 / 0.8e1 * t5 * t89 * t289 ); + const double t297 = t156 * rho_a; + const double t299 = 0.1e1 / t36 / t297; + const double t300 = t153 * t299; + const double t301 = t43 * sigma_aa; + const double t308 = 0.1e1 / sigma_aa; + const double t311 = t59 * expo * t308 / 0.2e1; + const double t312 = -t151 * t300 * t301 / 0.576e3 + t46 * t33 * t39 / 0.24e2 - t311; + const double t315 = t51 / t52; + const double t320 = t319 * t194; + const double t323 = t315 * t69 / 0.24e2 + t185 * t39 * t320 / 0.4e1 + t311; + const double t325 = -t178 * t323 + t312 * t73; + const double t329 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t325 ); + const double t330 = t247 * rho_b; + const double t332 = 0.1e1 / t92 / t330; + const double t333 = t153 * t332; + const double t334 = t99 * sigma_bb; + const double t341 = 0.1e1 / sigma_bb; + const double t344 = t112 * expo * t341 / 0.2e1; + const double t345 = -t151 * t333 * t334 / 0.576e3 + t102 * t33 * t95 / 0.24e2 - t344; + const double t348 = t51 / t105; + const double t352 = t319 * t282; + const double t355 = t348 * t121 / 0.24e2 + t185 * t95 * t352 / 0.4e1 + t344; + const double t357 = t345 * t125 - t269 * t355; + const double t361 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t357 ); + + + eps = t79 + t131; + vrho_a = t79 + t131 + t6 * ( t206 + t222 ); + vrho_b = t79 + t131 + t6 * ( t235 + t294 ); + vsigma_aa = t6 * t329; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t361; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + constexpr double t151 = d * alpha * t49; + constexpr double t153 = 0.1e1 / t31 / t30; + constexpr double t185 = t28 * t33; + constexpr double t188 = b * b; + constexpr double t189 = t188 * t28; + constexpr double t319 = a * b; + constexpr double t406 = alpha * alpha; + constexpr double t407 = d * t406; + constexpr double t408 = t30 * t30; + constexpr double t409 = 0.1e1 / t408; + constexpr double t410 = t407 * t409; + constexpr double t424 = expo * expo; + constexpr double t453 = t49 * t153; + constexpr double t456 = t188 * b; + constexpr double t692 = a * t456; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t75 / 0.8e1; + const double t154 = sigma_aa * sigma_aa; + const double t155 = t153 * t154; + const double t156 = t35 * t35; + const double t157 = t156 * t35; + const double t159 = 0.1e1 / t36 / t157; + const double t164 = t35 * rho_a; + const double t166 = 0.1e1 / t37 / t164; + const double t170 = 0.1e1 / rho_a; + const double t173 = 0.4e1 / 0.3e1 * t59 * expo * t170; + const double t174 = t151 * t155 * t159 * t43 / 0.216e3 - t46 * t34 * t166 / 0.9e1 + t173; + const double t176 = t72 * t72; + const double t177 = 0.1e1 / t176; + const double t178 = t60 * t177; + const double t182 = 0.1e1 / t36 / t35 * a * t68; + const double t186 = t185 * sigma_aa; + const double t192 = 0.6e1 * t189 * t40 + 0.144e3; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t195 = b * t194; + const double t196 = t166 * a * t195; + const double t199 = -t61 * t182 / 0.9e1 - 0.2e1 / 0.3e1 * t186 * t196 - t173; + const double t201 = t174 * t73 - t178 * t199; + const double t206 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t75 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t201 ); + const double t207 = t81 * t133; + const double t209 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t207 ); + const double t212 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t209 ); + const double t213 = t212 * t26; + const double t217 = t88 * t145; + const double t220 = t5 * t217 * t127 / 0.8e1; + const double t222 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t213 * t127 - t220 ); + const double t226 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t229 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t226 ); + const double t230 = t229 * t26; + const double t235 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t230 * t75 - t149 ); + const double t237 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t207 ); + const double t240 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t237 ); + const double t241 = t240 * t26; + const double t245 = sigma_bb * sigma_bb; + const double t246 = t153 * t245; + const double t247 = t91 * t91; + const double t248 = t247 * t91; + const double t250 = 0.1e1 / t92 / t248; + const double t255 = t91 * rho_b; + const double t257 = 0.1e1 / t93 / t255; + const double t261 = 0.1e1 / rho_b; + const double t264 = 0.4e1 / 0.3e1 * t112 * expo * t261; + const double t265 = t151 * t246 * t250 * t99 / 0.216e3 - t102 * t90 * t257 / 0.9e1 + t264; + const double t267 = t124 * t124; + const double t268 = 0.1e1 / t267; + const double t269 = t113 * t268; + const double t273 = 0.1e1 / t92 / t91 * a * t120; + const double t276 = t185 * sigma_bb; + const double t280 = 0.6e1 * t189 * t96 + 0.144e3; + const double t281 = safe_math::sqrt( t280 ); + const double t282 = 0.1e1 / t281; + const double t283 = b * t282; + const double t284 = t257 * a * t283; + const double t287 = -t114 * t273 / 0.9e1 - 0.2e1 / 0.3e1 * t276 * t284 - t264; + const double t289 = t265 * t125 - t269 * t287; + const double t294 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t127 - t220 - 0.3e1 / 0.8e1 * t5 * t89 * t289 ); + const double t297 = t156 * rho_a; + const double t299 = 0.1e1 / t36 / t297; + const double t300 = t153 * t299; + const double t301 = t43 * sigma_aa; + const double t308 = 0.1e1 / sigma_aa; + const double t311 = t59 * expo * t308 / 0.2e1; + const double t312 = -t151 * t300 * t301 / 0.576e3 + t46 * t33 * t39 / 0.24e2 - t311; + const double t315 = t51 / t52; + const double t320 = t319 * t194; + const double t323 = t315 * t69 / 0.24e2 + t185 * t39 * t320 / 0.4e1 + t311; + const double t325 = -t178 * t323 + t312 * t73; + const double t329 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t325 ); + const double t330 = t247 * rho_b; + const double t332 = 0.1e1 / t92 / t330; + const double t333 = t153 * t332; + const double t334 = t99 * sigma_bb; + const double t341 = 0.1e1 / sigma_bb; + const double t344 = t112 * expo * t341 / 0.2e1; + const double t345 = -t151 * t333 * t334 / 0.576e3 + t102 * t33 * t95 / 0.24e2 - t344; + const double t348 = t51 / t105; + const double t352 = t319 * t282; + const double t355 = t348 * t121 / 0.24e2 + t185 * t95 * t352 / 0.4e1 + t344; + const double t357 = t345 * t125 - t269 * t355; + const double t361 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t357 ); + const double t364 = t23 * t23; + const double t365 = 0.1e1 / t364; + const double t366 = t136 * t136; + const double t369 = t132 * t6; + const double t370 = 0.1e1 / t369; + const double t371 = t16 * t370; + const double t374 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t133 + 0.2e1 * t371 ); + const double t378 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t366 + 0.4e1 / 0.3e1 * t23 * t374 ); + const double t379 = t378 * t26; + const double t383 = t139 * t145; + const double t385 = t5 * t383 * t75; + const double t391 = 0.1e1 / t144 / t6; + const double t392 = t25 * t391; + const double t395 = t5 * t392 * t75 / 0.12e2; + const double t397 = t5 * t146 * t201; + const double t399 = t156 * t164; + const double t401 = 0.1e1 / t36 / t399; + const double t411 = t154 * sigma_aa; + const double t412 = t156 * t156; + const double t413 = t412 * t35; + const double t414 = 0.1e1 / t413; + const double t420 = 0.1e1 / t37 / t156; + const double t425 = 0.1e1 / t35; + const double t426 = t424 * t425; + const double t428 = 0.16e2 / 0.9e1 * t59 * t426; + const double t431 = 0.4e1 / 0.3e1 * t59 * expo * t425; + const double t432 = -t151 * t155 * t401 * t43 / 0.24e2 + t410 * t411 * t414 * t43 / 0.324e3 + 0.11e2 / 0.27e2 * t46 * t34 * t420 - t428 - t431; + const double t434 = t174 * t177; + const double t438 = 0.1e1 / t176 / t72; + const double t439 = t60 * t438; + const double t440 = t199 * t199; + const double t446 = 0.1e1 / t36 / t164 * a * t68; + const double t450 = t420 * a * t195; + const double t454 = t453 * t154; + const double t458 = 0.1e1 / t193 / t192; + const double t459 = t456 * t458; + const double t463 = 0.7e1 / 0.27e2 * t61 * t446 + 0.1e2 / 0.3e1 * t186 * t450 - 0.16e2 / 0.3e1 * t454 * t401 * a * t459 + t428 + t431; + const double t465 = -t178 * t463 - 0.2e1 * t434 * t199 + t432 * t73 + 0.2e1 * t439 * t440; + const double t470 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t379 * t75 - t385 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t140 * t201 + t395 - t397 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t465 ); + const double t471 = t86 * t86; + const double t472 = 0.1e1 / t471; + const double t473 = t209 * t209; + const double t476 = t81 * t370; + const double t479 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t133 + 0.2e1 * t476 ); + const double t483 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t473 + 0.4e1 / 0.3e1 * t86 * t479 ); + const double t484 = t483 * t26; + const double t488 = t212 * t145; + const double t490 = t5 * t488 * t127; + const double t492 = t88 * t391; + const double t495 = t5 * t492 * t127 / 0.12e2; + const double t497 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t484 * t127 - t490 / 0.4e1 + t495 ); + const double t513 = t229 * t145; + const double t515 = t5 * t513 * t75; + const double t537 = t240 * t145; + const double t539 = t5 * t537 * t127; + const double t546 = t5 * t217 * t289; + const double t554 = t226 * t226; + const double t559 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t133 + 0.2e1 * t371 ); + const double t563 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t554 + 0.4e1 / 0.3e1 * t23 * t559 ); + const double t564 = t563 * t26; + const double t570 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t564 * t75 - t515 / 0.4e1 + t395 ); + const double t571 = t237 * t237; + const double t576 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t133 + 0.2e1 * t476 ); + const double t580 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t571 + 0.4e1 / 0.3e1 * t86 * t576 ); + const double t581 = t580 * t26; + const double t590 = t247 * t255; + const double t592 = 0.1e1 / t92 / t590; + const double t597 = t245 * sigma_bb; + const double t598 = t247 * t247; + const double t599 = t598 * t91; + const double t600 = 0.1e1 / t599; + const double t606 = 0.1e1 / t93 / t247; + const double t610 = 0.1e1 / t91; + const double t611 = t424 * t610; + const double t613 = 0.16e2 / 0.9e1 * t112 * t611; + const double t616 = 0.4e1 / 0.3e1 * t112 * expo * t610; + const double t617 = -t151 * t246 * t592 * t99 / 0.24e2 + t410 * t597 * t600 * t99 / 0.324e3 + 0.11e2 / 0.27e2 * t102 * t90 * t606 - t613 - t616; + const double t619 = t265 * t268; + const double t623 = 0.1e1 / t267 / t124; + const double t624 = t113 * t623; + const double t625 = t287 * t287; + const double t631 = 0.1e1 / t92 / t255 * a * t120; + const double t635 = t606 * a * t283; + const double t638 = t453 * t245; + const double t641 = 0.1e1 / t281 / t280; + const double t642 = t456 * t641; + const double t646 = 0.7e1 / 0.27e2 * t114 * t631 + 0.1e2 / 0.3e1 * t276 * t635 - 0.16e2 / 0.3e1 * t638 * t592 * a * t642 + t613 + t616; + const double t648 = t617 * t125 - t269 * t646 - 0.2e1 * t619 * t287 + 0.2e1 * t624 * t625; + const double t653 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t581 * t127 - t539 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t241 * t289 + t495 - t546 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t89 * t648 ); + const double t661 = t5 * t146 * t325 / 0.8e1; + const double t662 = t153 * t159; + const double t666 = t412 * rho_a; + const double t667 = 0.1e1 / t666; + const double t675 = t424 * t170; + const double t678 = 0.2e1 / 0.3e1 * t59 * t675 * t308; + const double t679 = t151 * t662 * t301 / 0.72e2 - t410 * t667 * t154 * t43 / 0.864e3 - t46 * t33 * t166 / 0.9e1 + t678; + const double t681 = t312 * t177; + const double t684 = t323 * t199; + const double t691 = t453 * t159; + const double t694 = t692 * t458 * sigma_aa; + const double t697 = -t315 * t182 / 0.18e2 - t185 * t166 * t320 + 0.2e1 * t691 * t694 - t678; + const double t699 = -t178 * t697 - t681 * t199 - t434 * t323 + 0.2e1 * t439 * t684 + t679 * t73; + const double t704 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t325 - t661 - 0.3e1 / 0.8e1 * t5 * t27 * t699 ); + const double t711 = t5 * t217 * t357 / 0.8e1; + const double t724 = t153 * t250; + const double t728 = t598 * rho_b; + const double t729 = 0.1e1 / t728; + const double t737 = t424 * t261; + const double t740 = 0.2e1 / 0.3e1 * t112 * t737 * t341; + const double t741 = t151 * t724 * t334 / 0.72e2 - t410 * t729 * t245 * t99 / 0.864e3 - t102 * t33 * t257 / 0.9e1 + t740; + const double t743 = t345 * t268; + const double t746 = t355 * t287; + const double t753 = t453 * t250; + const double t755 = t692 * t641 * sigma_bb; + const double t758 = -t348 * t273 / 0.18e2 - t185 * t257 * t352 + 0.2e1 * t753 * t755 - t740; + const double t760 = t741 * t125 - t269 * t758 - t743 * t287 - t619 * t355 + 0.2e1 * t624 * t746; + const double t765 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t357 - t711 - 0.3e1 / 0.8e1 * t5 * t89 * t760 ); + const double t767 = 0.1e1 / t412; + const double t775 = 0.1e1 / t154; + const double t778 = t59 * t424 * t775 / 0.4e1; + const double t781 = t59 * expo * t775 / 0.2e1; + const double t782 = t410 * t767 * t43 * sigma_aa / 0.2304e4 - t151 * t300 * t43 / 0.288e3 - t778 + t781; + const double t786 = t323 * t323; + const double t791 = t51 / t52 / sigma_aa; + const double t794 = t185 * t308; + const double t796 = t39 * a * t195; + const double t800 = t692 * t458; + const double t803 = -t791 * t69 / 0.48e2 + t794 * t796 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t299 * t800 + t778 - t781; + const double t805 = -t178 * t803 - 0.2e1 * t681 * t323 + 0.2e1 * t439 * t786 + t782 * t73; + const double t809 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t805 ); + const double t810 = 0.1e1 / t598; + const double t818 = 0.1e1 / t245; + const double t821 = t112 * t424 * t818 / 0.4e1; + const double t824 = t112 * expo * t818 / 0.2e1; + const double t825 = t410 * t810 * t99 * sigma_bb / 0.2304e4 - t151 * t333 * t99 / 0.288e3 - t821 + t824; + const double t829 = t355 * t355; + const double t834 = t51 / t105 / sigma_bb; + const double t837 = t185 * t341; + const double t839 = t95 * a * t283; + const double t843 = t692 * t641; + const double t846 = -t834 * t121 / 0.48e2 + t837 * t839 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t332 * t843 + t821 - t824; + const double t848 = t825 * t125 - t269 * t846 - 0.2e1 * t743 * t355 + 0.2e1 * t624 * t829; + const double t852 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t848 ); + + + v2rho2_aa = 0.2e1 * t206 + 0.2e1 * t222 + t6 * ( t470 + t497 ); + v2rho2_bb = 0.2e1 * t235 + 0.2e1 * t294 + t6 * ( t570 + t653 ); + v2rhosigma_a_aa = t6 * t704 + t329; + v2rhosigma_b_bb = t6 * t765 + t361; + v2sigma2_aa_aa = t6 * t809; + v2sigma2_bb_bb = t6 * t852; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + constexpr double t151 = d * alpha * t49; + constexpr double t153 = 0.1e1 / t31 / t30; + constexpr double t185 = t28 * t33; + constexpr double t188 = b * b; + constexpr double t189 = t188 * t28; + constexpr double t319 = a * b; + constexpr double t406 = alpha * alpha; + constexpr double t407 = d * t406; + constexpr double t408 = t30 * t30; + constexpr double t409 = 0.1e1 / t408; + constexpr double t410 = t407 * t409; + constexpr double t424 = expo * expo; + constexpr double t453 = t49 * t153; + constexpr double t456 = t188 * b; + constexpr double t692 = a * t456; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t79 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t75 ); + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t131 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t127 ); + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t75 / 0.8e1; + const double t154 = sigma_aa * sigma_aa; + const double t155 = t153 * t154; + const double t156 = t35 * t35; + const double t157 = t156 * t35; + const double t159 = 0.1e1 / t36 / t157; + const double t164 = t35 * rho_a; + const double t166 = 0.1e1 / t37 / t164; + const double t170 = 0.1e1 / rho_a; + const double t173 = 0.4e1 / 0.3e1 * t59 * expo * t170; + const double t174 = t151 * t155 * t159 * t43 / 0.216e3 - t46 * t34 * t166 / 0.9e1 + t173; + const double t176 = t72 * t72; + const double t177 = 0.1e1 / t176; + const double t178 = t60 * t177; + const double t182 = 0.1e1 / t36 / t35 * a * t68; + const double t186 = t185 * sigma_aa; + const double t192 = 0.6e1 * t189 * t40 + 0.144e3; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t195 = b * t194; + const double t196 = t166 * a * t195; + const double t199 = -t61 * t182 / 0.9e1 - 0.2e1 / 0.3e1 * t186 * t196 - t173; + const double t201 = t174 * t73 - t178 * t199; + const double t206 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t75 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t201 ); + const double t207 = t81 * t133; + const double t209 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t207 ); + const double t212 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t209 ); + const double t213 = t212 * t26; + const double t217 = t88 * t145; + const double t220 = t5 * t217 * t127 / 0.8e1; + const double t222 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t213 * t127 - t220 ); + const double t226 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t229 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t226 ); + const double t230 = t229 * t26; + const double t235 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t230 * t75 - t149 ); + const double t237 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t207 ); + const double t240 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t237 ); + const double t241 = t240 * t26; + const double t245 = sigma_bb * sigma_bb; + const double t246 = t153 * t245; + const double t247 = t91 * t91; + const double t248 = t247 * t91; + const double t250 = 0.1e1 / t92 / t248; + const double t255 = t91 * rho_b; + const double t257 = 0.1e1 / t93 / t255; + const double t261 = 0.1e1 / rho_b; + const double t264 = 0.4e1 / 0.3e1 * t112 * expo * t261; + const double t265 = t151 * t246 * t250 * t99 / 0.216e3 - t102 * t90 * t257 / 0.9e1 + t264; + const double t267 = t124 * t124; + const double t268 = 0.1e1 / t267; + const double t269 = t113 * t268; + const double t273 = 0.1e1 / t92 / t91 * a * t120; + const double t276 = t185 * sigma_bb; + const double t280 = 0.6e1 * t189 * t96 + 0.144e3; + const double t281 = safe_math::sqrt( t280 ); + const double t282 = 0.1e1 / t281; + const double t283 = b * t282; + const double t284 = t257 * a * t283; + const double t287 = -t114 * t273 / 0.9e1 - 0.2e1 / 0.3e1 * t276 * t284 - t264; + const double t289 = t265 * t125 - t269 * t287; + const double t294 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t127 - t220 - 0.3e1 / 0.8e1 * t5 * t89 * t289 ); + const double t297 = t156 * rho_a; + const double t299 = 0.1e1 / t36 / t297; + const double t300 = t153 * t299; + const double t301 = t43 * sigma_aa; + const double t308 = 0.1e1 / sigma_aa; + const double t311 = t59 * expo * t308 / 0.2e1; + const double t312 = -t151 * t300 * t301 / 0.576e3 + t46 * t33 * t39 / 0.24e2 - t311; + const double t315 = t51 / t52; + const double t320 = t319 * t194; + const double t323 = t315 * t69 / 0.24e2 + t185 * t39 * t320 / 0.4e1 + t311; + const double t325 = -t178 * t323 + t312 * t73; + const double t329 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t325 ); + const double t330 = t247 * rho_b; + const double t332 = 0.1e1 / t92 / t330; + const double t333 = t153 * t332; + const double t334 = t99 * sigma_bb; + const double t341 = 0.1e1 / sigma_bb; + const double t344 = t112 * expo * t341 / 0.2e1; + const double t345 = -t151 * t333 * t334 / 0.576e3 + t102 * t33 * t95 / 0.24e2 - t344; + const double t348 = t51 / t105; + const double t352 = t319 * t282; + const double t355 = t348 * t121 / 0.24e2 + t185 * t95 * t352 / 0.4e1 + t344; + const double t357 = t345 * t125 - t269 * t355; + const double t361 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t357 ); + const double t364 = t23 * t23; + const double t365 = 0.1e1 / t364; + const double t366 = t136 * t136; + const double t369 = t132 * t6; + const double t370 = 0.1e1 / t369; + const double t371 = t16 * t370; + const double t374 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t133 + 0.2e1 * t371 ); + const double t378 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t366 + 0.4e1 / 0.3e1 * t23 * t374 ); + const double t379 = t378 * t26; + const double t383 = t139 * t145; + const double t385 = t5 * t383 * t75; + const double t391 = 0.1e1 / t144 / t6; + const double t392 = t25 * t391; + const double t395 = t5 * t392 * t75 / 0.12e2; + const double t397 = t5 * t146 * t201; + const double t399 = t156 * t164; + const double t401 = 0.1e1 / t36 / t399; + const double t411 = t154 * sigma_aa; + const double t412 = t156 * t156; + const double t413 = t412 * t35; + const double t414 = 0.1e1 / t413; + const double t420 = 0.1e1 / t37 / t156; + const double t425 = 0.1e1 / t35; + const double t426 = t424 * t425; + const double t428 = 0.16e2 / 0.9e1 * t59 * t426; + const double t431 = 0.4e1 / 0.3e1 * t59 * expo * t425; + const double t432 = -t151 * t155 * t401 * t43 / 0.24e2 + t410 * t411 * t414 * t43 / 0.324e3 + 0.11e2 / 0.27e2 * t46 * t34 * t420 - t428 - t431; + const double t434 = t174 * t177; + const double t438 = 0.1e1 / t176 / t72; + const double t439 = t60 * t438; + const double t440 = t199 * t199; + const double t446 = 0.1e1 / t36 / t164 * a * t68; + const double t450 = t420 * a * t195; + const double t454 = t453 * t154; + const double t458 = 0.1e1 / t193 / t192; + const double t459 = t456 * t458; + const double t463 = 0.7e1 / 0.27e2 * t61 * t446 + 0.1e2 / 0.3e1 * t186 * t450 - 0.16e2 / 0.3e1 * t454 * t401 * a * t459 + t428 + t431; + const double t465 = -t178 * t463 - 0.2e1 * t434 * t199 + t432 * t73 + 0.2e1 * t439 * t440; + const double t470 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t379 * t75 - t385 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t140 * t201 + t395 - t397 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t465 ); + const double t471 = t86 * t86; + const double t472 = 0.1e1 / t471; + const double t473 = t209 * t209; + const double t476 = t81 * t370; + const double t479 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t133 + 0.2e1 * t476 ); + const double t483 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t473 + 0.4e1 / 0.3e1 * t86 * t479 ); + const double t484 = t483 * t26; + const double t488 = t212 * t145; + const double t490 = t5 * t488 * t127; + const double t492 = t88 * t391; + const double t495 = t5 * t492 * t127 / 0.12e2; + const double t497 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t484 * t127 - t490 / 0.4e1 + t495 ); + const double t513 = t229 * t145; + const double t515 = t5 * t513 * t75; + const double t537 = t240 * t145; + const double t539 = t5 * t537 * t127; + const double t546 = t5 * t217 * t289; + const double t554 = t226 * t226; + const double t559 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t133 + 0.2e1 * t371 ); + const double t563 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t554 + 0.4e1 / 0.3e1 * t23 * t559 ); + const double t564 = t563 * t26; + const double t570 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t564 * t75 - t515 / 0.4e1 + t395 ); + const double t571 = t237 * t237; + const double t576 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t133 + 0.2e1 * t476 ); + const double t580 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t571 + 0.4e1 / 0.3e1 * t86 * t576 ); + const double t581 = t580 * t26; + const double t590 = t247 * t255; + const double t592 = 0.1e1 / t92 / t590; + const double t597 = t245 * sigma_bb; + const double t598 = t247 * t247; + const double t599 = t598 * t91; + const double t600 = 0.1e1 / t599; + const double t606 = 0.1e1 / t93 / t247; + const double t610 = 0.1e1 / t91; + const double t611 = t424 * t610; + const double t613 = 0.16e2 / 0.9e1 * t112 * t611; + const double t616 = 0.4e1 / 0.3e1 * t112 * expo * t610; + const double t617 = -t151 * t246 * t592 * t99 / 0.24e2 + t410 * t597 * t600 * t99 / 0.324e3 + 0.11e2 / 0.27e2 * t102 * t90 * t606 - t613 - t616; + const double t619 = t265 * t268; + const double t623 = 0.1e1 / t267 / t124; + const double t624 = t113 * t623; + const double t625 = t287 * t287; + const double t631 = 0.1e1 / t92 / t255 * a * t120; + const double t635 = t606 * a * t283; + const double t638 = t453 * t245; + const double t641 = 0.1e1 / t281 / t280; + const double t642 = t456 * t641; + const double t646 = 0.7e1 / 0.27e2 * t114 * t631 + 0.1e2 / 0.3e1 * t276 * t635 - 0.16e2 / 0.3e1 * t638 * t592 * a * t642 + t613 + t616; + const double t648 = t617 * t125 - t269 * t646 - 0.2e1 * t619 * t287 + 0.2e1 * t624 * t625; + const double t653 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t581 * t127 - t539 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t241 * t289 + t495 - t546 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t89 * t648 ); + const double t661 = t5 * t146 * t325 / 0.8e1; + const double t662 = t153 * t159; + const double t666 = t412 * rho_a; + const double t667 = 0.1e1 / t666; + const double t675 = t424 * t170; + const double t678 = 0.2e1 / 0.3e1 * t59 * t675 * t308; + const double t679 = t151 * t662 * t301 / 0.72e2 - t410 * t667 * t154 * t43 / 0.864e3 - t46 * t33 * t166 / 0.9e1 + t678; + const double t681 = t312 * t177; + const double t684 = t323 * t199; + const double t691 = t453 * t159; + const double t694 = t692 * t458 * sigma_aa; + const double t697 = -t315 * t182 / 0.18e2 - t185 * t166 * t320 + 0.2e1 * t691 * t694 - t678; + const double t699 = -t178 * t697 - t681 * t199 - t434 * t323 + 0.2e1 * t439 * t684 + t679 * t73; + const double t704 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t325 - t661 - 0.3e1 / 0.8e1 * t5 * t27 * t699 ); + const double t711 = t5 * t217 * t357 / 0.8e1; + const double t724 = t153 * t250; + const double t728 = t598 * rho_b; + const double t729 = 0.1e1 / t728; + const double t737 = t424 * t261; + const double t740 = 0.2e1 / 0.3e1 * t112 * t737 * t341; + const double t741 = t151 * t724 * t334 / 0.72e2 - t410 * t729 * t245 * t99 / 0.864e3 - t102 * t33 * t257 / 0.9e1 + t740; + const double t743 = t345 * t268; + const double t746 = t355 * t287; + const double t753 = t453 * t250; + const double t755 = t692 * t641 * sigma_bb; + const double t758 = -t348 * t273 / 0.18e2 - t185 * t257 * t352 + 0.2e1 * t753 * t755 - t740; + const double t760 = t741 * t125 - t269 * t758 - t743 * t287 - t619 * t355 + 0.2e1 * t624 * t746; + const double t765 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t357 - t711 - 0.3e1 / 0.8e1 * t5 * t89 * t760 ); + const double t767 = 0.1e1 / t412; + const double t775 = 0.1e1 / t154; + const double t778 = t59 * t424 * t775 / 0.4e1; + const double t781 = t59 * expo * t775 / 0.2e1; + const double t782 = t410 * t767 * t43 * sigma_aa / 0.2304e4 - t151 * t300 * t43 / 0.288e3 - t778 + t781; + const double t786 = t323 * t323; + const double t791 = t51 / t52 / sigma_aa; + const double t794 = t185 * t308; + const double t796 = t39 * a * t195; + const double t800 = t692 * t458; + const double t803 = -t791 * t69 / 0.48e2 + t794 * t796 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t299 * t800 + t778 - t781; + const double t805 = -t178 * t803 - 0.2e1 * t681 * t323 + 0.2e1 * t439 * t786 + t782 * t73; + const double t809 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t805 ); + const double t810 = 0.1e1 / t598; + const double t818 = 0.1e1 / t245; + const double t821 = t112 * t424 * t818 / 0.4e1; + const double t824 = t112 * expo * t818 / 0.2e1; + const double t825 = t410 * t810 * t99 * sigma_bb / 0.2304e4 - t151 * t333 * t99 / 0.288e3 - t821 + t824; + const double t829 = t355 * t355; + const double t834 = t51 / t105 / sigma_bb; + const double t837 = t185 * t341; + const double t839 = t95 * a * t283; + const double t843 = t692 * t641; + const double t846 = -t834 * t121 / 0.48e2 + t837 * t839 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t332 * t843 + t821 - t824; + const double t848 = t825 * t125 - t269 * t846 - 0.2e1 * t743 * t355 + 0.2e1 * t624 * t829; + const double t852 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t848 ); + + + vrho_a = t79 + t131 + t6 * ( t206 + t222 ); + vrho_b = t79 + t131 + t6 * ( t235 + t294 ); + vsigma_aa = t6 * t329; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t361; + v2rho2_aa = 0.2e1 * t206 + 0.2e1 * t222 + t6 * ( t470 + t497 ); + v2rho2_bb = 0.2e1 * t235 + 0.2e1 * t294 + t6 * ( t570 + t653 ); + v2rhosigma_a_aa = t6 * t704 + t329; + v2rhosigma_b_bb = t6 * t765 + t361; + v2sigma2_aa_aa = t6 * t809; + v2sigma2_bb_bb = t6 * t852; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinMPW91_X : detail::BuiltinKernelImpl< BuiltinMPW91_X > { + + BuiltinMPW91_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinMPW91_X >(p) { } + + virtual ~BuiltinMPW91_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/n12_c.hpp b/include/exchcxx/impl/builtin/kernels/n12_c.hpp new file mode 100644 index 0000000..50029c4 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/n12_c.hpp @@ -0,0 +1,4651 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinN12_C > : + public gga_screening_interface< BuiltinN12_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_ss_0 = 1.00000e+00; + static constexpr double c_ss_1 = -5.53170e+00; + static constexpr double c_ss_2 = 3.07958e+01; + static constexpr double c_ss_3 = -5.64196e+01; + static constexpr double c_ss_4 = 3.21250e+01; + static constexpr double c_ab_0 = 1.00000e+00; + static constexpr double c_ab_1 = 3.24511e+00; + static constexpr double c_ab_2 = -2.52893e+01; + static constexpr double c_ab_3 = 1.44407e+01; + static constexpr double c_ab_4 = 1.96870e+01; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + + + eps = t145 + t216; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + + + eps = t145 + t216; + vrho = t145 + t216 + rho * ( 0.2e1 * t302 + 0.2e1 * t351 + t399 + t429 ); + vsigma = rho * ( t460 + t484 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + constexpr double t715 = t30 * t10; + constexpr double t830 = t94 * t15; + constexpr double t865 = t186 * t15; + constexpr double t900 = t108 * t15; + constexpr double t931 = t194 * t15; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + const double t491 = 0.1e1 / t13 / t96; + const double t492 = t491 * t15; + const double t495 = 0.14764770444444444444e-2 * t12 * t492 * t220; + const double t498 = t231 * t225 * t249 * t250; + const double t500 = 0.35616666666666666667e-1 * t365 * t498; + const double t501 = t224 * t41; + const double t502 = 0.1e1 / t501; + const double t503 = t23 * t502; + const double t504 = t249 * t249; + const double t505 = t504 * t250; + const double t507 = 0.2e1 * t503 * t505; + const double t511 = 0.1e1 / t24 / t21 * t29 * t30; + const double t512 = t10 * t98; + const double t513 = t35 * t37; + const double t514 = t512 * t513; + const double t515 = t511 * t514; + const double t517 = t11 * t491; + const double t518 = t517 * t231; + const double t519 = t229 * t518; + const double t521 = t492 * t19; + const double t522 = t12 * t521; + const double t524 = 0.1e1/safe_math::sqrt( t21 ); + const double t526 = t524 * t29 * t30; + const double t527 = t526 * t514; + const double t529 = t240 * t518; + const double t532 = t32 * t99 * t37; + const double t534 = -0.42198333333333333333e0 * t515 + 0.84396666666666666666e0 * t519 + 0.39862222222222222223e0 * t522 + 0.68258333333333333333e-1 * t527 + 0.13651666666666666667e0 * t529 + 0.13692777777777777778e0 * t532; + const double t537 = 0.1e1 * t226 * t534 * t250; + const double t538 = t224 * t224; + const double t539 = 0.1e1 / t538; + const double t540 = t23 * t539; + const double t541 = t44 * t44; + const double t542 = 0.1e1 / t541; + const double t543 = t504 * t542; + const double t545 = 0.16081824322151104822e2 * t540 * t543; + const double t551 = t231 * t259 * t265 * t266; + const double t554 = t258 * t65; + const double t555 = 0.1e1 / t554; + const double t556 = t60 * t555; + const double t557 = t265 * t265; + const double t558 = t557 * t266; + const double t567 = -0.78438333333333333333e0 * t515 + 0.15687666666666666667e1 * t519 + 0.68863333333333333333e0 * t522 + 0.14025833333333333333e0 * t527 + 0.28051666666666666667e0 * t529 + 0.17365833333333333333e0 * t532; + const double t571 = t258 * t258; + const double t572 = 0.1e1 / t571; + const double t573 = t60 * t572; + const double t574 = t68 * t68; + const double t575 = 0.1e1 / t574; + const double t576 = t557 * t575; + const double t582 = t231 * t295; + const double t585 = t274 * t78; + const double t586 = 0.1e1 / t585; + const double t587 = t73 * t586; + const double t588 = t281 * t281; + const double t589 = t588 * t282; + const double t598 = -0.57538888888888888889e0 * t515 + 0.11507777777777777778e1 * t519 + 0.40256666666666666667e0 * t522 + 0.366775e-1 * t527 + 0.73355e-1 * t529 + 0.137975e0 * t532; + const double t599 = t598 * t282; + const double t602 = t274 * t274; + const double t603 = 0.1e1 / t602; + const double t604 = t73 * t603; + const double t605 = t81 * t81; + const double t606 = 0.1e1 / t605; + const double t607 = t588 * t606; + const double t610 = -0.70981924444444444442e-3 * t12 * t492 * t254 - 0.34246666666666666666e-1 * t365 * t551 - 0.2e1 * t556 * t558 + 0.1e1 * t260 * t567 * t266 + 0.32164683177870697974e2 * t573 * t576 + t495 + t500 + t507 - t537 - t545 - 0.24415406715670879921e-3 * t12 * t492 * t270 - 0.10843580882781524214e-1 * t365 * t582 - 0.11696446794910408142e1 * t587 * t589 + 0.58482233974552040708e0 * t276 * t599 + 0.17315755899375863299e2 * t604 * t607; + const double t615 = t58 * t12; + const double t620 = t586 * t588 * t282; + const double t624 = t275 * t598 * t282; + const double t627 = t603 * t588; + const double t628 = t627 * t606; + const double t631 = -t495 - t500 - t507 + t537 + t545 + t58 * t610 + 0.24415406715670879921e-3 * t288 * t517 * t289 + 0.10843580882781524214e-1 * t615 * t235 * t295 + 0.11696446794910408142e1 * t293 * t620 - 0.58482233974552040708e0 * t293 * t624 - 0.17315755899375863299e2 * t293 * t628; + const double t634 = piecewise_functor_3( t4, 0.0, t5 * t631 / 0.2e1 ); + const double t635 = t634 * t143; + const double t637 = t301 * t350; + const double t640 = 0.1e1 / t33 / t111; + const double t641 = t35 * t640; + const double t645 = t111 * t304; + const double t647 = 0.1e1 / t13 / t645; + const double t648 = t15 * t647; + const double t649 = t648 * t117; + const double t652 = t94 * t122; + const double t653 = 0.1e1 / t134; + const double t654 = t653 * t127; + const double t661 = t108 * t132; + const double t662 = t124 * t111; + const double t664 = 0.1e1 / t33 / t662; + const double t666 = t664 * t139 * t35; + const double t673 = t121 * t339; + const double t676 = 0.1e1 / t13 / t124 / t645; + const double t678 = t676 * t346 * t15; + const double t685 = t132 * t109; + const double t686 = t131 * t685; + const double t687 = t124 * t124; + const double t688 = t687 * t96; + const double t689 = 0.1e1 / t688; + const double t691 = 0.1e1 / t138 / t116; + const double t692 = t689 * t691; + const double t695 = 0.19555555555555555555e1 * t95 * t641 * t104 - 0.19200000000000000001e1 * t311 * t649 + 0.45511111111111111114e0 * t652 * t654 + 0.27022222222222222222e1 * t110 * t649 - 0.24462222222222222223e1 * t321 * t654 + 0.27306666666666666667e0 * t661 * t666 + 0.2304e1 * t123 * t654 - 0.10069333333333333333e1 * t329 * t666 + 0.21845333333333333334e0 * t673 * t678 + 0.79644444444444444445e0 * t133 * t666 - 0.68266666666666666669e0 * t340 * t678 + 0.14563555555555555557e0 * t686 * t692; + const double t696 = t92 * t695; + const double t701 = t218 * t357; + const double t705 = t356 * t158; + const double t706 = 0.1e1 / t705; + const double t707 = t149 * t706; + const double t708 = t374 * t374; + const double t709 = t708 * t375; + const double t714 = 0.1e1 / t150 / t147 * t29; + const double t716 = t715 * t98; + const double t717 = t714 * t716; + const double t719 = t361 * t491; + const double t720 = t360 * t719; + const double t722 = t9 * t517; + const double t724 = 0.1e1/safe_math::sqrt( t147 ); + const double t725 = t724 * t29; + const double t726 = t725 * t716; + const double t728 = t368 * t719; + const double t730 = t31 * t512; + const double t732 = -0.42198333333333333333e0 * t717 + 0.84396666666666666666e0 * t720 + 0.39862222222222222223e0 * t722 + 0.68258333333333333333e-1 * t726 + 0.13651666666666666667e0 * t728 + 0.13692777777777777778e0 * t730; + const double t733 = t732 * t375; + const double t736 = t356 * t356; + const double t737 = 0.1e1 / t736; + const double t738 = t149 * t737; + const double t739 = t161 * t161; + const double t740 = 0.1e1 / t739; + const double t741 = t708 * t740; + const double t748 = t168 * t9; + const double t752 = t385 * t175; + const double t753 = 0.1e1 / t752; + const double t754 = t391 * t391; + const double t756 = t753 * t754 * t393; + const double t765 = -0.57538888888888888889e0 * t717 + 0.11507777777777777778e1 * t720 + 0.40256666666666666667e0 * t722 + 0.366775e-1 * t726 + 0.73355e-1 * t728 + 0.137975e0 * t730; + const double t767 = t386 * t765 * t393; + const double t770 = t385 * t385; + const double t771 = 0.1e1 / t770; + const double t772 = t771 * t754; + const double t773 = t178 * t178; + const double t774 = 0.1e1 / t773; + const double t775 = t772 * t774; + const double t779 = -0.14764770444444444444e-2 * t9 * t517 * t162 - 0.35616666666666666667e-1 * t12 * t701 * t376 - 0.2e1 * t707 * t709 + 0.1e1 * t358 * t733 + 0.16081824322151104822e2 * t738 * t741 + 0.24415406715670879921e-3 * t379 * t361 * t491 * t179 + 0.10843580882781524214e-1 * t748 * t230 * t394 + 0.11696446794910408142e1 * t384 * t756 - 0.58482233974552040708e0 * t384 * t767 - 0.17315755899375863299e2 * t384 * t775 - 0.2e1 * t634; + const double t780 = t779 * t215; + const double t781 = t398 * t428; + const double t786 = t648 * t197; + const double t789 = t186 * t122; + const double t790 = t653 * t204; + const double t797 = t194 * t132; + const double t799 = t664 * t211 * t35; + const double t806 = t201 * t339; + const double t808 = t676 * t424 * t15; + const double t815 = t208 * t685; + const double t817 = 0.1e1 / t210 / t196; + const double t818 = t689 * t817; + const double t821 = 0.58666666666666666667e-1 * t187 * t641 * t190 - 0.1728e-2 * t403 * t786 + 0.12288e-4 * t789 * t790 + 0.2432e-2 * t195 * t786 - 0.66048e-4 * t409 * t790 + 0.221184e-6 * t797 * t799 + 0.62208e-4 * t202 * t790 - 0.815616e-6 * t415 * t799 + 0.5308416e-8 * t806 * t808 + 0.64512e-6 * t209 * t799 - 0.165888e-7 * t422 * t808 + 0.10616832e-9 * t815 * t818; + const double t822 = t184 * t821; + const double t825 = t301 * t458; + const double t831 = t314 * t117; + const double t853 = t687 * rho; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t691; + const double t858 = -0.53333333333333333333e0 * t432 * t306 * t104 + 0.64000000000000000001e0 * t830 * t831 * sigma - 0.17066666666666666667e0 * t311 * t324 - 0.85333333333333333333e0 * t438 * t316 + 0.85333333333333333334e0 * t110 * t324 - 0.1024e0 * t321 * t334 - 0.768e0 * t443 * t324 + 0.3584e0 * t123 * t334 - 0.81920000000000000003e-1 * t329 * t347 - 0.27306666666666666667e0 * t448 * t334 + 0.24576e0 * t133 * t347 - 0.54613333333333333335e-1 * t340 * t855; + const double t859 = t92 * t858; + const double t861 = t398 * t483; + const double t866 = t314 * t197; + const double t888 = t854 * t817; + const double t891 = -0.16e-1 * t461 * t306 * t190 + 0.576e-3 * t865 * t866 * sigma - 0.4608e-5 * t403 * t410 - 0.768e-3 * t467 * t404 + 0.2304e-4 * t195 * t410 - 0.82944e-7 * t409 * t417 - 0.20736e-4 * t472 * t410 + 0.290304e-6 * t202 * t417 - 0.1990656e-8 * t415 * t425 - 0.221184e-6 * t477 * t417 + 0.5971968e-8 * t209 * t425 - 0.3981312e-10 * t422 * t888; + const double t892 = t184 * t891; + const double t895 = t114 * t117; + const double t907 = t121 * sigma; + const double t914 = t131 * t109; + const double t919 = 0.1e1 / t687; + const double t920 = t919 * t691; + const double t923 = -0.16e0 * t830 * t895 + 0.64e-1 * t95 * t128 + 0.16e0 * t900 * t895 - 0.256e0 * t438 * t128 + 0.384e-1 * t110 * t140 + 0.192e0 * t907 * t128 - 0.1152e0 * t443 * t140 + 0.3072e-1 * t123 * t455 + 0.768e-1 * t914 * t140 - 0.8192e-1 * t448 * t455 + 0.2048e-1 * t133 * t920; + const double t925 = 0.2e1 * t92 * t923; + const double t926 = t114 * t197; + const double t938 = t201 * sigma; + const double t945 = t208 * t109; + const double t950 = t919 * t817; + const double t953 = -0.144e-3 * t865 * t926 + 0.1728e-5 * t187 * t205 + 0.144e-3 * t931 * t926 - 0.6912e-5 * t467 * t205 + 0.31104e-7 * t195 * t212 + 0.5184e-5 * t938 * t205 - 0.93312e-7 * t472 * t212 + 0.746496e-9 * t202 * t480 + 0.62208e-7 * t945 * t212 - 0.1990656e-8 * t477 * t480 + 0.1492992e-10 * t209 * t950; + const double t954 = t184 * t953; + + + v2rho2 = 0.4e1 * t302 + 0.4e1 * t351 + 0.2e1 * t399 + 0.2e1 * t429 + rho * ( 0.2e1 * t635 + 0.4e1 * t637 + 0.2e1 * t696 + t780 + 0.2e1 * t781 + t822 ); + v2rhosigma = t460 + t484 + rho * ( 0.2e1 * t825 + 0.2e1 * t859 + t861 + t892 ); + v2sigma2 = rho * ( t925 + t954 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + constexpr double t715 = t30 * t10; + constexpr double t830 = t94 * t15; + constexpr double t865 = t186 * t15; + constexpr double t900 = t108 * t15; + constexpr double t931 = t194 * t15; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + const double t491 = 0.1e1 / t13 / t96; + const double t492 = t491 * t15; + const double t495 = 0.14764770444444444444e-2 * t12 * t492 * t220; + const double t498 = t231 * t225 * t249 * t250; + const double t500 = 0.35616666666666666667e-1 * t365 * t498; + const double t501 = t224 * t41; + const double t502 = 0.1e1 / t501; + const double t503 = t23 * t502; + const double t504 = t249 * t249; + const double t505 = t504 * t250; + const double t507 = 0.2e1 * t503 * t505; + const double t511 = 0.1e1 / t24 / t21 * t29 * t30; + const double t512 = t10 * t98; + const double t513 = t35 * t37; + const double t514 = t512 * t513; + const double t515 = t511 * t514; + const double t517 = t11 * t491; + const double t518 = t517 * t231; + const double t519 = t229 * t518; + const double t521 = t492 * t19; + const double t522 = t12 * t521; + const double t524 = 0.1e1/safe_math::sqrt( t21 ); + const double t526 = t524 * t29 * t30; + const double t527 = t526 * t514; + const double t529 = t240 * t518; + const double t532 = t32 * t99 * t37; + const double t534 = -0.42198333333333333333e0 * t515 + 0.84396666666666666666e0 * t519 + 0.39862222222222222223e0 * t522 + 0.68258333333333333333e-1 * t527 + 0.13651666666666666667e0 * t529 + 0.13692777777777777778e0 * t532; + const double t537 = 0.1e1 * t226 * t534 * t250; + const double t538 = t224 * t224; + const double t539 = 0.1e1 / t538; + const double t540 = t23 * t539; + const double t541 = t44 * t44; + const double t542 = 0.1e1 / t541; + const double t543 = t504 * t542; + const double t545 = 0.16081824322151104822e2 * t540 * t543; + const double t551 = t231 * t259 * t265 * t266; + const double t554 = t258 * t65; + const double t555 = 0.1e1 / t554; + const double t556 = t60 * t555; + const double t557 = t265 * t265; + const double t558 = t557 * t266; + const double t567 = -0.78438333333333333333e0 * t515 + 0.15687666666666666667e1 * t519 + 0.68863333333333333333e0 * t522 + 0.14025833333333333333e0 * t527 + 0.28051666666666666667e0 * t529 + 0.17365833333333333333e0 * t532; + const double t571 = t258 * t258; + const double t572 = 0.1e1 / t571; + const double t573 = t60 * t572; + const double t574 = t68 * t68; + const double t575 = 0.1e1 / t574; + const double t576 = t557 * t575; + const double t582 = t231 * t295; + const double t585 = t274 * t78; + const double t586 = 0.1e1 / t585; + const double t587 = t73 * t586; + const double t588 = t281 * t281; + const double t589 = t588 * t282; + const double t598 = -0.57538888888888888889e0 * t515 + 0.11507777777777777778e1 * t519 + 0.40256666666666666667e0 * t522 + 0.366775e-1 * t527 + 0.73355e-1 * t529 + 0.137975e0 * t532; + const double t599 = t598 * t282; + const double t602 = t274 * t274; + const double t603 = 0.1e1 / t602; + const double t604 = t73 * t603; + const double t605 = t81 * t81; + const double t606 = 0.1e1 / t605; + const double t607 = t588 * t606; + const double t610 = -0.70981924444444444442e-3 * t12 * t492 * t254 - 0.34246666666666666666e-1 * t365 * t551 - 0.2e1 * t556 * t558 + 0.1e1 * t260 * t567 * t266 + 0.32164683177870697974e2 * t573 * t576 + t495 + t500 + t507 - t537 - t545 - 0.24415406715670879921e-3 * t12 * t492 * t270 - 0.10843580882781524214e-1 * t365 * t582 - 0.11696446794910408142e1 * t587 * t589 + 0.58482233974552040708e0 * t276 * t599 + 0.17315755899375863299e2 * t604 * t607; + const double t615 = t58 * t12; + const double t620 = t586 * t588 * t282; + const double t624 = t275 * t598 * t282; + const double t627 = t603 * t588; + const double t628 = t627 * t606; + const double t631 = -t495 - t500 - t507 + t537 + t545 + t58 * t610 + 0.24415406715670879921e-3 * t288 * t517 * t289 + 0.10843580882781524214e-1 * t615 * t235 * t295 + 0.11696446794910408142e1 * t293 * t620 - 0.58482233974552040708e0 * t293 * t624 - 0.17315755899375863299e2 * t293 * t628; + const double t634 = piecewise_functor_3( t4, 0.0, t5 * t631 / 0.2e1 ); + const double t635 = t634 * t143; + const double t637 = t301 * t350; + const double t640 = 0.1e1 / t33 / t111; + const double t641 = t35 * t640; + const double t645 = t111 * t304; + const double t647 = 0.1e1 / t13 / t645; + const double t648 = t15 * t647; + const double t649 = t648 * t117; + const double t652 = t94 * t122; + const double t653 = 0.1e1 / t134; + const double t654 = t653 * t127; + const double t661 = t108 * t132; + const double t662 = t124 * t111; + const double t664 = 0.1e1 / t33 / t662; + const double t666 = t664 * t139 * t35; + const double t673 = t121 * t339; + const double t676 = 0.1e1 / t13 / t124 / t645; + const double t678 = t676 * t346 * t15; + const double t685 = t132 * t109; + const double t686 = t131 * t685; + const double t687 = t124 * t124; + const double t688 = t687 * t96; + const double t689 = 0.1e1 / t688; + const double t691 = 0.1e1 / t138 / t116; + const double t692 = t689 * t691; + const double t695 = 0.19555555555555555555e1 * t95 * t641 * t104 - 0.19200000000000000001e1 * t311 * t649 + 0.45511111111111111114e0 * t652 * t654 + 0.27022222222222222222e1 * t110 * t649 - 0.24462222222222222223e1 * t321 * t654 + 0.27306666666666666667e0 * t661 * t666 + 0.2304e1 * t123 * t654 - 0.10069333333333333333e1 * t329 * t666 + 0.21845333333333333334e0 * t673 * t678 + 0.79644444444444444445e0 * t133 * t666 - 0.68266666666666666669e0 * t340 * t678 + 0.14563555555555555557e0 * t686 * t692; + const double t696 = t92 * t695; + const double t701 = t218 * t357; + const double t705 = t356 * t158; + const double t706 = 0.1e1 / t705; + const double t707 = t149 * t706; + const double t708 = t374 * t374; + const double t709 = t708 * t375; + const double t714 = 0.1e1 / t150 / t147 * t29; + const double t716 = t715 * t98; + const double t717 = t714 * t716; + const double t719 = t361 * t491; + const double t720 = t360 * t719; + const double t722 = t9 * t517; + const double t724 = 0.1e1/safe_math::sqrt( t147 ); + const double t725 = t724 * t29; + const double t726 = t725 * t716; + const double t728 = t368 * t719; + const double t730 = t31 * t512; + const double t732 = -0.42198333333333333333e0 * t717 + 0.84396666666666666666e0 * t720 + 0.39862222222222222223e0 * t722 + 0.68258333333333333333e-1 * t726 + 0.13651666666666666667e0 * t728 + 0.13692777777777777778e0 * t730; + const double t733 = t732 * t375; + const double t736 = t356 * t356; + const double t737 = 0.1e1 / t736; + const double t738 = t149 * t737; + const double t739 = t161 * t161; + const double t740 = 0.1e1 / t739; + const double t741 = t708 * t740; + const double t748 = t168 * t9; + const double t752 = t385 * t175; + const double t753 = 0.1e1 / t752; + const double t754 = t391 * t391; + const double t756 = t753 * t754 * t393; + const double t765 = -0.57538888888888888889e0 * t717 + 0.11507777777777777778e1 * t720 + 0.40256666666666666667e0 * t722 + 0.366775e-1 * t726 + 0.73355e-1 * t728 + 0.137975e0 * t730; + const double t767 = t386 * t765 * t393; + const double t770 = t385 * t385; + const double t771 = 0.1e1 / t770; + const double t772 = t771 * t754; + const double t773 = t178 * t178; + const double t774 = 0.1e1 / t773; + const double t775 = t772 * t774; + const double t779 = -0.14764770444444444444e-2 * t9 * t517 * t162 - 0.35616666666666666667e-1 * t12 * t701 * t376 - 0.2e1 * t707 * t709 + 0.1e1 * t358 * t733 + 0.16081824322151104822e2 * t738 * t741 + 0.24415406715670879921e-3 * t379 * t361 * t491 * t179 + 0.10843580882781524214e-1 * t748 * t230 * t394 + 0.11696446794910408142e1 * t384 * t756 - 0.58482233974552040708e0 * t384 * t767 - 0.17315755899375863299e2 * t384 * t775 - 0.2e1 * t634; + const double t780 = t779 * t215; + const double t781 = t398 * t428; + const double t786 = t648 * t197; + const double t789 = t186 * t122; + const double t790 = t653 * t204; + const double t797 = t194 * t132; + const double t799 = t664 * t211 * t35; + const double t806 = t201 * t339; + const double t808 = t676 * t424 * t15; + const double t815 = t208 * t685; + const double t817 = 0.1e1 / t210 / t196; + const double t818 = t689 * t817; + const double t821 = 0.58666666666666666667e-1 * t187 * t641 * t190 - 0.1728e-2 * t403 * t786 + 0.12288e-4 * t789 * t790 + 0.2432e-2 * t195 * t786 - 0.66048e-4 * t409 * t790 + 0.221184e-6 * t797 * t799 + 0.62208e-4 * t202 * t790 - 0.815616e-6 * t415 * t799 + 0.5308416e-8 * t806 * t808 + 0.64512e-6 * t209 * t799 - 0.165888e-7 * t422 * t808 + 0.10616832e-9 * t815 * t818; + const double t822 = t184 * t821; + const double t825 = t301 * t458; + const double t831 = t314 * t117; + const double t853 = t687 * rho; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t691; + const double t858 = -0.53333333333333333333e0 * t432 * t306 * t104 + 0.64000000000000000001e0 * t830 * t831 * sigma - 0.17066666666666666667e0 * t311 * t324 - 0.85333333333333333333e0 * t438 * t316 + 0.85333333333333333334e0 * t110 * t324 - 0.1024e0 * t321 * t334 - 0.768e0 * t443 * t324 + 0.3584e0 * t123 * t334 - 0.81920000000000000003e-1 * t329 * t347 - 0.27306666666666666667e0 * t448 * t334 + 0.24576e0 * t133 * t347 - 0.54613333333333333335e-1 * t340 * t855; + const double t859 = t92 * t858; + const double t861 = t398 * t483; + const double t866 = t314 * t197; + const double t888 = t854 * t817; + const double t891 = -0.16e-1 * t461 * t306 * t190 + 0.576e-3 * t865 * t866 * sigma - 0.4608e-5 * t403 * t410 - 0.768e-3 * t467 * t404 + 0.2304e-4 * t195 * t410 - 0.82944e-7 * t409 * t417 - 0.20736e-4 * t472 * t410 + 0.290304e-6 * t202 * t417 - 0.1990656e-8 * t415 * t425 - 0.221184e-6 * t477 * t417 + 0.5971968e-8 * t209 * t425 - 0.3981312e-10 * t422 * t888; + const double t892 = t184 * t891; + const double t895 = t114 * t117; + const double t907 = t121 * sigma; + const double t914 = t131 * t109; + const double t919 = 0.1e1 / t687; + const double t920 = t919 * t691; + const double t923 = -0.16e0 * t830 * t895 + 0.64e-1 * t95 * t128 + 0.16e0 * t900 * t895 - 0.256e0 * t438 * t128 + 0.384e-1 * t110 * t140 + 0.192e0 * t907 * t128 - 0.1152e0 * t443 * t140 + 0.3072e-1 * t123 * t455 + 0.768e-1 * t914 * t140 - 0.8192e-1 * t448 * t455 + 0.2048e-1 * t133 * t920; + const double t925 = 0.2e1 * t92 * t923; + const double t926 = t114 * t197; + const double t938 = t201 * sigma; + const double t945 = t208 * t109; + const double t950 = t919 * t817; + const double t953 = -0.144e-3 * t865 * t926 + 0.1728e-5 * t187 * t205 + 0.144e-3 * t931 * t926 - 0.6912e-5 * t467 * t205 + 0.31104e-7 * t195 * t212 + 0.5184e-5 * t938 * t205 - 0.93312e-7 * t472 * t212 + 0.746496e-9 * t202 * t480 + 0.62208e-7 * t945 * t212 - 0.1990656e-8 * t477 * t480 + 0.1492992e-10 * t209 * t950; + const double t954 = t184 * t953; + + + vrho = t145 + t216 + rho * ( 0.2e1 * t302 + 0.2e1 * t351 + t399 + t429 ); + vsigma = rho * ( t460 + t484 ); + v2rho2 = 0.4e1 * t302 + 0.4e1 * t351 + 0.2e1 * t399 + 0.2e1 * t429 + rho * ( 0.2e1 * t635 + 0.4e1 * t637 + 0.2e1 * t696 + t780 + 0.2e1 * t781 + t822 ); + v2rhosigma = t460 + t484 + rho * ( 0.2e1 * t825 + 0.2e1 * t859 + t861 + t892 ); + v2sigma2 = rho * ( t925 + t954 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + + + eps = t148 + t255 + t351; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + + + eps = t148 + t255 + t351; + vrho_a = t148 + t255 + t351 + t3 * ( t453 + t497 + t591 + t684 + t717 ); + vrho_b = t148 + t255 + t351 + t3 * ( t783 + t847 + t891 + t905 + t933 ); + vsigma_aa = t3 * ( t961 + t984 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1011 + t1034 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + constexpr double t1557 = t36 * t14; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + const double t1041 = t277 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t2 * t1042; + const double t1045 = -0.2e1 * t352 + 0.2e1 * t1043; + const double t1046 = piecewise_functor_3( t7, 0.0, t1045 ); + const double t1051 = 0.1e1 / t17 / t277; + const double t1052 = t1051 * t19; + const double t1054 = t16 * t1052 * t25; + const double t1055 = 0.23744444444444444444e-1 * t1054; + const double t1057 = t16 * t359 * t366; + const double t1059 = t6 * t6; + const double t1061 = 0.1e1 / t23 / t1059; + const double t1062 = t354 * t354; + const double t1068 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t1062 - t363 * t1045 / 0.3e1 ); + const double t1070 = t16 * t20 * t1068; + const double t1072 = t1055 - 0.35616666666666666666e-1 * t1057 + 0.53425e-1 * t1070; + const double t1074 = 0.62182e-1 * t1072 * t51; + const double t1075 = t370 * t374; + const double t1077 = 0.2e1 * t1075 * t398; + const double t1078 = t373 * t47; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t29 * t1079; + const double t1081 = t396 * t396; + const double t1082 = t1081 * t397; + const double t1084 = 0.2e1 * t1080 * t1082; + const double t1086 = 0.1e1 / t30 / t27; + const double t1087 = t378 * t378; + const double t1088 = t1086 * t1087; + const double t1090 = 0.4e1 / 0.9e1 * t1054; + const double t1092 = t1090 - 0.2e1 / 0.3e1 * t1057 + t1070; + const double t1093 = t376 * t1092; + const double t1095 = 0.39862222222222222223e0 * t1054; + const double t1098 = 0.1e1/safe_math::sqrt( t27 ); + const double t1099 = t1098 * t1087; + const double t1101 = t383 * t1092; + const double t1104 = 0.1e1 / t39 / t277; + const double t1105 = t1104 * t41; + const double t1107 = t38 * t1105 * t43; + const double t1108 = 0.13692777777777777778e0 * t1107; + const double t1110 = t38 * t388 * t392; + const double t1112 = t366 * t366; + const double t1114 = t38 * t42 * t1112; + const double t1116 = t25 * t1068; + const double t1118 = t38 * t42 * t1116; + const double t1120 = -0.9494625e0 * t1088 + 0.1898925e1 * t1093 + t1095 - 0.59793333333333333334e0 * t1057 + 0.8969e0 * t1070 + 0.15358125e0 * t1099 + 0.3071625e0 * t1101 + t1108 - 0.32862666666666666666e0 * t1110 + 0.24647e0 * t1114 + 0.24647e0 * t1118; + const double t1121 = t1120 * t397; + const double t1123 = 0.1e1 * t375 * t1121; + const double t1124 = t373 * t373; + const double t1125 = 0.1e1 / t1124; + const double t1126 = t29 * t1125; + const double t1127 = t50 * t50; + const double t1128 = 0.1e1 / t1127; + const double t1129 = t1081 * t1128; + const double t1131 = 0.16081824322151104822e2 * t1126 * t1129; + const double t1132 = 0.22831111111111111111e-1 * t1054; + const double t1135 = t1132 - 0.34246666666666666666e-1 * t1057 + 0.5137e-1 * t1070; + const double t1138 = t403 * t407; + const double t1141 = t406 * t71; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t66 * t1142; + const double t1144 = t415 * t415; + const double t1145 = t1144 * t416; + const double t1150 = 0.68863333333333333333e0 * t1054; + const double t1155 = 0.17365833333333333333e0 * t1107; + const double t1159 = -0.17648625e1 * t1088 + 0.3529725e1 * t1093 + t1150 - 0.103295e1 * t1057 + 0.1549425e1 * t1070 + 0.31558125e0 * t1099 + 0.6311625e0 * t1101 + t1155 - 0.41678e0 * t1110 + 0.312585e0 * t1114 + 0.312585e0 * t1118; + const double t1160 = t1159 * t416; + const double t1163 = t406 * t406; + const double t1164 = 0.1e1 / t1163; + const double t1165 = t66 * t1164; + const double t1166 = t74 * t74; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t1144 * t1167; + const double t1171 = 0.12361111111111111111e-1 * t1054; + const double t1174 = t1171 - 0.18541666666666666667e-1 * t1057 + 0.278125e-1 * t1070; + const double t1175 = t1174 * t88; + const double t1177 = t422 * t426; + const double t1180 = t425 * t84; + const double t1181 = 0.1e1 / t1180; + const double t1182 = t79 * t1181; + const double t1183 = t434 * t434; + const double t1184 = t1183 * t435; + const double t1189 = 0.40256666666666666667e0 * t1054; + const double t1194 = 0.137975e0 * t1107; + const double t1198 = -0.1294625e1 * t1088 + 0.258925e1 * t1093 + t1189 - 0.60385e0 * t1057 + 0.905775e0 * t1070 + 0.82524375e-1 * t1099 + 0.16504875e0 * t1101 + t1194 - 0.33114e0 * t1110 + 0.248355e0 * t1114 + 0.248355e0 * t1118; + const double t1199 = t1198 * t435; + const double t1202 = t425 * t425; + const double t1203 = 0.1e1 / t1202; + const double t1204 = t79 * t1203; + const double t1205 = t87 * t87; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t1183 * t1206; + const double t1210 = -0.3109e-1 * t1135 * t75 + 0.2e1 * t1138 * t417 - 0.2e1 * t1143 * t1145 + 0.1e1 * t408 * t1160 + 0.32164683177870697974e2 * t1165 * t1168 + t1074 - t1077 + t1084 - t1123 - t1131 - 0.19751789702565206229e-1 * t1175 + 0.11696446794910408142e1 * t1177 * t436 - 0.11696446794910408142e1 * t1182 * t1184 + 0.58482233974552040708e0 * t427 * t1199 + 0.17315755899375863299e2 * t1204 * t1207; + const double t1214 = t64 * t422; + const double t1218 = t1181 * t1183 * t435; + const double t1222 = t426 * t1198 * t435; + const double t1225 = t1203 * t1183; + const double t1226 = t1225 * t1206; + const double t1229 = -t1074 + t1077 - t1084 + t1123 + t1131 + t64 * t1210 + 0.19751789702565206229e-1 * t64 * t1175 - 0.11696446794910408142e1 * t1214 * t445 + 0.11696446794910408142e1 * t443 * t1218 - 0.58482233974552040708e0 * t443 * t1222 - 0.17315755899375863299e2 * t443 * t1226; + const double t1233 = piecewise_functor_3( t8, 0.0, t1046 * t95 / 0.2e1 + t355 * t448 + t9 * t1229 / 0.2e1 ); + const double t1234 = t1233 * t147; + const double t1235 = t452 * t496; + const double t1236 = 0.2e1 * t1235; + const double t1238 = 0.1e1 / t104 / t117; + const double t1242 = t117 * t454; + const double t1244 = 0.1e1 / t103 / t1242; + const double t1245 = t1244 * t122; + const double t1248 = t100 * t127; + const double t1249 = 0.1e1 / t139; + const double t1250 = t1249 * t132; + const double t1257 = t114 * t137; + const double t1258 = t129 * t117; + const double t1260 = 0.1e1 / t104 / t1258; + const double t1261 = t1260 * t143; + const double t1268 = t126 * t486; + const double t1272 = 0.1e1 / t103 / t129 / t1242 * t492; + const double t1279 = t137 * t115; + const double t1280 = t136 * t1279; + const double t1281 = t129 * t129; + const double t1282 = t1281 * t102; + const double t1285 = 0.1e1 / t142 / t121; + const double t1286 = 0.1e1 / t1282 * t1285; + const double t1289 = 0.19555555555555555555e1 * t101 * t1238 * t110 - 0.96000000000000000002e0 * t460 * t1245 + 0.11377777777777777778e0 * t1248 * t1250 + 0.13511111111111111111e1 * t116 * t1245 - 0.61155555555555555557e0 * t469 * t1250 + 0.68266666666666666669e-1 * t1257 * t1261 + 0.576e0 * t128 * t1250 - 0.25173333333333333333e0 * t477 * t1261 + 0.27306666666666666666e-1 * t1268 * t1272 + 0.19911111111111111112e0 * t138 * t1261 - 0.85333333333333333333e-1 * t487 * t1272 + 0.91022222222222222219e-2 * t1280 * t1286; + const double t1290 = t98 * t1289; + const double t1291 = -t1045; + const double t1292 = piecewise_functor_3( t151, 0.0, t1291 ); + const double t1297 = t16 * t1052 * t156; + const double t1298 = 0.23744444444444444444e-1 * t1297; + const double t1300 = t16 * t359 * t507; + const double t1302 = t150 * t150; + const double t1304 = 0.1e1 / t154 / t1302; + const double t1305 = t498 * t498; + const double t1311 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t1305 - t504 * t1291 / 0.3e1 ); + const double t1313 = t16 * t20 * t1311; + const double t1315 = t1298 - 0.35616666666666666666e-1 * t1300 + 0.53425e-1 * t1313; + const double t1317 = 0.62182e-1 * t1315 * t174; + const double t1318 = t511 * t515; + const double t1320 = 0.2e1 * t1318 * t536; + const double t1321 = t514 * t170; + const double t1322 = 0.1e1 / t1321; + const double t1323 = t160 * t1322; + const double t1324 = t534 * t534; + const double t1325 = t1324 * t535; + const double t1327 = 0.2e1 * t1323 * t1325; + const double t1329 = 0.1e1 / t161 / t158; + const double t1330 = t519 * t519; + const double t1331 = t1329 * t1330; + const double t1333 = 0.4e1 / 0.9e1 * t1297; + const double t1335 = t1333 - 0.2e1 / 0.3e1 * t1300 + t1313; + const double t1336 = t517 * t1335; + const double t1338 = 0.39862222222222222223e0 * t1297; + const double t1341 = 0.1e1/safe_math::sqrt( t158 ); + const double t1342 = t1341 * t1330; + const double t1344 = t524 * t1335; + const double t1347 = t38 * t1105 * t166; + const double t1348 = 0.13692777777777777778e0 * t1347; + const double t1350 = t38 * t388 * t530; + const double t1352 = t507 * t507; + const double t1354 = t38 * t42 * t1352; + const double t1356 = t156 * t1311; + const double t1358 = t38 * t42 * t1356; + const double t1360 = -0.9494625e0 * t1331 + 0.1898925e1 * t1336 + t1338 - 0.59793333333333333334e0 * t1300 + 0.8969e0 * t1313 + 0.15358125e0 * t1342 + 0.3071625e0 * t1344 + t1348 - 0.32862666666666666666e0 * t1350 + 0.24647e0 * t1354 + 0.24647e0 * t1358; + const double t1361 = t1360 * t535; + const double t1363 = 0.1e1 * t516 * t1361; + const double t1364 = t514 * t514; + const double t1365 = 0.1e1 / t1364; + const double t1366 = t160 * t1365; + const double t1367 = t173 * t173; + const double t1368 = 0.1e1 / t1367; + const double t1369 = t1324 * t1368; + const double t1371 = 0.16081824322151104822e2 * t1366 * t1369; + const double t1372 = 0.22831111111111111111e-1 * t1297; + const double t1375 = t1372 - 0.34246666666666666666e-1 * t1300 + 0.5137e-1 * t1313; + const double t1378 = t541 * t545; + const double t1381 = t544 * t183; + const double t1382 = 0.1e1 / t1381; + const double t1383 = t178 * t1382; + const double t1384 = t553 * t553; + const double t1385 = t1384 * t554; + const double t1390 = 0.68863333333333333333e0 * t1297; + const double t1395 = 0.17365833333333333333e0 * t1347; + const double t1399 = -0.17648625e1 * t1331 + 0.3529725e1 * t1336 + t1390 - 0.103295e1 * t1300 + 0.1549425e1 * t1313 + 0.31558125e0 * t1342 + 0.6311625e0 * t1344 + t1395 - 0.41678e0 * t1350 + 0.312585e0 * t1354 + 0.312585e0 * t1358; + const double t1400 = t1399 * t554; + const double t1403 = t544 * t544; + const double t1404 = 0.1e1 / t1403; + const double t1405 = t178 * t1404; + const double t1406 = t186 * t186; + const double t1407 = 0.1e1 / t1406; + const double t1408 = t1384 * t1407; + const double t1411 = 0.12361111111111111111e-1 * t1297; + const double t1414 = t1411 - 0.18541666666666666667e-1 * t1300 + 0.278125e-1 * t1313; + const double t1415 = t1414 * t200; + const double t1417 = t560 * t564; + const double t1420 = t563 * t196; + const double t1421 = 0.1e1 / t1420; + const double t1422 = t191 * t1421; + const double t1423 = t572 * t572; + const double t1424 = t1423 * t573; + const double t1429 = 0.40256666666666666667e0 * t1297; + const double t1434 = 0.137975e0 * t1347; + const double t1438 = -0.1294625e1 * t1331 + 0.258925e1 * t1336 + t1429 - 0.60385e0 * t1300 + 0.905775e0 * t1313 + 0.82524375e-1 * t1342 + 0.16504875e0 * t1344 + t1434 - 0.33114e0 * t1350 + 0.248355e0 * t1354 + 0.248355e0 * t1358; + const double t1439 = t1438 * t573; + const double t1442 = t563 * t563; + const double t1443 = 0.1e1 / t1442; + const double t1444 = t191 * t1443; + const double t1445 = t199 * t199; + const double t1446 = 0.1e1 / t1445; + const double t1447 = t1423 * t1446; + const double t1450 = -0.3109e-1 * t1375 * t187 + 0.2e1 * t1378 * t555 - 0.2e1 * t1383 * t1385 + 0.1e1 * t546 * t1400 + 0.32164683177870697974e2 * t1405 * t1408 + t1317 - t1320 + t1327 - t1363 - t1371 - 0.19751789702565206229e-1 * t1415 + 0.11696446794910408142e1 * t1417 * t574 - 0.11696446794910408142e1 * t1422 * t1424 + 0.58482233974552040708e0 * t565 * t1439 + 0.17315755899375863299e2 * t1444 * t1447; + const double t1454 = t64 * t560; + const double t1458 = t1421 * t1423 * t573; + const double t1462 = t564 * t1438 * t573; + const double t1465 = t1443 * t1423; + const double t1466 = t1465 * t1446; + const double t1469 = -t1317 + t1320 - t1327 + t1363 + t1371 + t64 * t1450 + 0.19751789702565206229e-1 * t64 * t1415 - 0.11696446794910408142e1 * t1454 * t583 + 0.11696446794910408142e1 * t581 * t1458 - 0.58482233974552040708e0 * t581 * t1462 - 0.17315755899375863299e2 * t581 * t1466; + const double t1473 = piecewise_functor_3( t152, 0.0, t1292 * t207 / 0.2e1 + t499 * t586 + t153 * t1469 / 0.2e1 ); + const double t1474 = t1473 * t254; + const double t1475 = t358 * t597; + const double t1478 = 0.35616666666666666667e-1 * t16 * t1475 * t616; + const double t1479 = t635 * t10; + const double t1480 = t1479 * t675; + const double t1483 = t601 * t1051 * t310; + const double t1485 = 0.24415406715670879921e-3 * t673 * t1483; + const double t1486 = t656 * t306; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t663 * t663; + const double t1490 = t1487 * t1488 * t664; + const double t1492 = 0.11696446794910408142e1 * t678 * t1490; + const double t1493 = t620 * t636; + const double t1496 = 0.8e1 * t620 * t669; + const double t1498 = 0.1e1 / t278 / t277; + const double t1499 = t276 * t1498; + const double t1501 = 0.2e2 * t1499 * t314; + const double t1502 = t275 * t279; + const double t1504 = 0.12e2 * t1502 * t314; + const double t1505 = t619 * t624; + const double t1507 = 0.32e2 * t1505 * t314; + const double t1509 = 0.8e1 * t625 * t669; + const double t1510 = t635 * t668; + const double t1511 = t280 * t1510; + const double t1513 = t625 * t636; + const double t1515 = -t1478 - 0.36623110073506319882e-3 * t1480 + t1485 + t1492 + 0.8e1 * t1493 + t1496 + t1501 + t1504 - t1507 - t1509 + 0.2e1 * t1511 - 0.8e1 * t1513; + const double t1516 = t23 * t23; + const double t1517 = 0.1e1 / t1516; + const double t1523 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t1062 + 0.4e1 / 0.3e1 * t23 * t1045 ); + const double t1524 = t154 * t154; + const double t1525 = 0.1e1 / t1524; + const double t1531 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t1305 + 0.4e1 / 0.3e1 * t154 * t1291 ); + const double t1533 = ( t1523 + t1531 ) * t63; + const double t1534 = t1533 * t313; + const double t1536 = t15 * t1051; + const double t1539 = 0.14764770444444444444e-2 * t13 * t1536 * t272; + const double t1543 = t358 * t642; + const double t1547 = t641 * t293; + const double t1548 = 0.1e1 / t1547; + const double t1549 = t288 * t1548; + const double t1550 = t648 * t648; + const double t1551 = t1550 * t649; + const double t1556 = 0.1e1 / t260 / t257 * t35; + const double t1558 = t1557 * t1104; + const double t1559 = t1556 * t1558; + const double t1561 = t601 * t1051; + const double t1562 = t600 * t1561; + const double t1564 = t13 * t1536; + const double t1566 = 0.1e1/safe_math::sqrt( t257 ); + const double t1567 = t1566 * t35; + const double t1568 = t1567 * t1558; + const double t1570 = t608 * t1561; + const double t1573 = t37 * t14 * t1104; + const double t1575 = -0.78438333333333333333e0 * t1559 + 0.15687666666666666667e1 * t1562 + 0.68863333333333333333e0 * t1564 + 0.14025833333333333333e0 * t1568 + 0.28051666666666666667e0 * t1570 + 0.17365833333333333333e0 * t1573; + const double t1576 = t1575 * t649; + const double t1579 = t641 * t641; + const double t1580 = 0.1e1 / t1579; + const double t1581 = t288 * t1580; + const double t1582 = t296 * t296; + const double t1583 = 0.1e1 / t1582; + const double t1584 = t1550 * t1583; + const double t1587 = t596 * t268; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t259 * t1588; + const double t1590 = t614 * t614; + const double t1591 = t1590 * t615; + const double t1593 = 0.2e1 * t1589 * t1591; + const double t1600 = -0.42198333333333333333e0 * t1559 + 0.84396666666666666666e0 * t1562 + 0.39862222222222222223e0 * t1564 + 0.68258333333333333333e-1 * t1568 + 0.13651666666666666667e0 * t1570 + 0.13692777777777777778e0 * t1573; + const double t1601 = t1600 * t615; + const double t1603 = 0.1e1 * t598 * t1601; + const double t1604 = t596 * t596; + const double t1605 = 0.1e1 / t1604; + const double t1606 = t259 * t1605; + const double t1607 = t271 * t271; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t1590 * t1608; + const double t1611 = 0.16081824322151104822e2 * t1606 * t1609; + const double t1615 = t358 * t657; + const double t1619 = t301 * t1487; + const double t1620 = t1488 * t664; + const double t1629 = -0.57538888888888888889e0 * t1559 + 0.11507777777777777778e1 * t1562 + 0.40256666666666666667e0 * t1564 + 0.366775e-1 * t1568 + 0.73355e-1 * t1570 + 0.137975e0 * t1573; + const double t1630 = t1629 * t664; + const double t1633 = t656 * t656; + const double t1634 = 0.1e1 / t1633; + const double t1635 = t301 * t1634; + const double t1636 = t309 * t309; + const double t1637 = 0.1e1 / t1636; + const double t1638 = t1488 * t1637; + const double t1641 = -0.70981924444444444442e-3 * t13 * t1536 * t297 - 0.34246666666666666666e-1 * t16 * t1543 * t650 - 0.2e1 * t1549 * t1551 + 0.1e1 * t643 * t1576 + 0.32164683177870697974e2 * t1581 * t1584 + t1539 + t1478 + t1593 - t1603 - t1611 - 0.24415406715670879921e-3 * t13 * t1536 * t310 - 0.10843580882781524214e-1 * t16 * t1615 * t665 - 0.11696446794910408142e1 * t1619 * t1620 + 0.58482233974552040708e0 * t658 * t1630 + 0.17315755899375863299e2 * t1635 * t1638; + const double t1642 = t286 * t1641; + const double t1643 = t280 * t1642; + const double t1645 = t657 * t1629 * t664; + const double t1647 = 0.58482233974552040708e0 * t678 * t1645; + const double t1648 = t1634 * t1488; + const double t1649 = t1648 * t1637; + const double t1651 = 0.17315755899375863299e2 * t678 * t1649; + const double t1652 = t635 * t301; + const double t1653 = t1652 * t680; + const double t1655 = t286 * t13; + const double t1656 = t592 * t680; + const double t1658 = 0.10843580882781524214e-1 * t1655 * t1656; + const double t1661 = t280 * t1534 - t1539 + t1643 - t1647 - t1651 - 0.11696446794910408142e1 * t1653 + t1658 - t1233 + 0.19751789702565206229e-1 * t1533 * t311 - t1473 + t1611 - t1593 + t1603; + const double t1662 = t1515 + t1661; + const double t1663 = t1662 * t350; + const double t1664 = t683 * t716; + const double t1665 = 0.2e1 * t1664; + const double t1669 = t320 * t115; + const double t1670 = t1244 * t333; + const double t1673 = t340 * t115; + const double t1674 = t1673 * t1244; + const double t1677 = t689 * t1238; + const double t1680 = t329 * t115; + const double t1687 = t347 * t115; + const double t1688 = t1687 * t1244; + const double t1691 = t696 * t1238; + const double t1694 = t336 * t321; + const double t1701 = t711 * t115; + const double t1702 = t1701 * t1244; + const double t1705 = t703 * t1238; + const double t1708 = t343 * t330; + const double t1716 = 0.1e1 / t346 / t332; + const double t1717 = t1716 * t115; + const double t1724 = 0.29333333333333333333e-1 * t685 * t1238 * t326 - 0.128e-3 * t1669 * t1670 + 0.384e-6 * t322 * t1674 - 0.88e-4 * t322 * t1677 + 0.128e-3 * t1680 * t1670 - 0.1536e-5 * t693 * t1674 + 0.176e-3 * t693 * t1677 + 0.3456e-8 * t331 * t1688 - 0.528e-6 * t331 * t1691 + 0.1152e-5 * t1694 * t1674 - 0.10368e-7 * t700 * t1688 + 0.792e-6 * t700 * t1691 + 0.20736e-10 * t338 * t1702 - 0.2376e-8 * t338 * t1705 + 0.6912e-8 * t1708 * t1688 - 0.55296e-10 * t707 * t1702 + 0.3168e-8 * t707 * t1705 + 0.10368e-12 * t345 * t1717 * t1244 - 0.9504e-11 * t345 * t712 * t1238; + const double t1725 = t318 * t1724; + const double t1728 = 0.2e1 * t1043; + const double t1729 = piecewise_functor_3( t7, 0.0, t1728 ); + const double t1735 = t16 * t359 * t725; + const double t1737 = t1061 * t720; + const double t1740 = t363 * t2; + const double t1744 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1737 * t354 - 0.2e1 / 0.3e1 * t1740 * t1042 ); + const double t1746 = t16 * t20 * t1744; + const double t1748 = t1055 - 0.17808333333333333333e-1 * t1057 - 0.17808333333333333333e-1 * t1735 + 0.53425e-1 * t1746; + const double t1750 = 0.62182e-1 * t1748 * t51; + const double t1751 = t729 * t374; + const double t1753 = 0.1e1 * t1751 * t398; + const double t1755 = 0.1e1 * t1075 * t743; + const double t1756 = t743 * t396; + const double t1758 = 0.2e1 * t1080 * t1756; + const double t1759 = t1086 * t732; + const double t1760 = t1759 * t378; + const double t1764 = t1090 - t1057 / 0.3e1 - t1735 / 0.3e1 + t1746; + const double t1765 = t376 * t1764; + const double t1770 = t1098 * t732; + const double t1771 = t1770 * t378; + const double t1773 = t383 * t1764; + const double t1777 = t38 * t388 * t738; + const double t1779 = t366 * t725; + const double t1781 = t38 * t42 * t1779; + const double t1783 = t25 * t1744; + const double t1785 = t38 * t42 * t1783; + const double t1787 = -0.9494625e0 * t1760 + 0.1898925e1 * t1765 + t1095 - 0.29896666666666666667e0 * t1057 - 0.29896666666666666667e0 * t1735 + 0.8969e0 * t1746 + 0.15358125e0 * t1771 + 0.3071625e0 * t1773 + t1108 - 0.16431333333333333333e0 * t1110 - 0.16431333333333333333e0 * t1777 + 0.24647e0 * t1781 + 0.24647e0 * t1785; + const double t1788 = t1787 * t397; + const double t1790 = 0.1e1 * t375 * t1788; + const double t1791 = t742 * t1128; + const double t1792 = t1791 * t396; + const double t1794 = 0.16081824322151104822e2 * t1126 * t1792; + const double t1798 = t1132 - 0.17123333333333333333e-1 * t1057 - 0.17123333333333333333e-1 * t1735 + 0.5137e-1 * t1746; + const double t1801 = t747 * t407; + const double t1806 = t755 * t415; + const double t1820 = -0.17648625e1 * t1760 + 0.3529725e1 * t1765 + t1150 - 0.516475e0 * t1057 - 0.516475e0 * t1735 + 0.1549425e1 * t1746 + 0.31558125e0 * t1771 + 0.6311625e0 * t1773 + t1155 - 0.20839e0 * t1110 - 0.20839e0 * t1777 + 0.312585e0 * t1781 + 0.312585e0 * t1785; + const double t1821 = t1820 * t416; + const double t1824 = t754 * t1167; + const double t1825 = t1824 * t415; + const double t1831 = t1171 - 0.92708333333333333333e-2 * t1057 - 0.92708333333333333333e-2 * t1735 + 0.278125e-1 * t1746; + const double t1832 = t1831 * t88; + const double t1834 = t759 * t426; + const double t1839 = t767 * t434; + const double t1853 = -0.1294625e1 * t1760 + 0.258925e1 * t1765 + t1189 - 0.301925e0 * t1057 - 0.301925e0 * t1735 + 0.905775e0 * t1746 + 0.82524375e-1 * t1771 + 0.16504875e0 * t1773 + t1194 - 0.16557e0 * t1110 - 0.16557e0 * t1777 + 0.248355e0 * t1781 + 0.248355e0 * t1785; + const double t1854 = t1853 * t435; + const double t1857 = t766 * t1206; + const double t1858 = t1857 * t434; + const double t1861 = -0.3109e-1 * t1798 * t75 + 0.1e1 * t1801 * t417 + 0.1e1 * t1138 * t755 - 0.2e1 * t1143 * t1806 + 0.1e1 * t408 * t1821 + 0.32164683177870697974e2 * t1165 * t1825 + t1750 - t1753 - t1755 + t1758 - t1790 - t1794 - 0.19751789702565206229e-1 * t1832 + 0.58482233974552040708e0 * t1834 * t436 + 0.58482233974552040708e0 * t1177 * t767 - 0.11696446794910408142e1 * t1182 * t1839 + 0.58482233974552040708e0 * t427 * t1854 + 0.17315755899375863299e2 * t1204 * t1858; + const double t1865 = t64 * t759; + const double t1870 = t1181 * t766; + const double t1871 = t1870 * t436; + const double t1875 = t426 * t1853 * t435; + const double t1878 = t1203 * t766; + const double t1879 = t1206 * t434; + const double t1880 = t1878 * t1879; + const double t1883 = -t1750 + t1753 + t1755 - t1758 + t1790 + t1794 + t64 * t1861 + 0.19751789702565206229e-1 * t64 * t1832 - 0.58482233974552040708e0 * t1865 * t445 - 0.58482233974552040708e0 * t1214 * t775 + 0.11696446794910408142e1 * t443 * t1871 - 0.58482233974552040708e0 * t443 * t1875 - 0.17315755899375863299e2 * t443 * t1880; + const double t1887 = piecewise_functor_3( t8, 0.0, t1729 * t95 / 0.2e1 + t9 * t1883 / 0.2e1 + t355 * t778 / 0.2e1 + t721 * t448 / 0.2e1 ); + const double t1888 = t1887 * t147; + const double t1889 = t782 * t496; + const double t1890 = piecewise_functor_3( t151, 0.0, -t1728 ); + const double t1896 = t16 * t359 * t789; + const double t1898 = t1304 * t784; + const double t1901 = t504 * t2; + const double t1905 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1898 * t498 + 0.2e1 / 0.3e1 * t1901 * t1042 ); + const double t1907 = t16 * t20 * t1905; + const double t1909 = t1298 - 0.17808333333333333333e-1 * t1300 - 0.17808333333333333333e-1 * t1896 + 0.53425e-1 * t1907; + const double t1911 = 0.62182e-1 * t1909 * t174; + const double t1912 = t793 * t515; + const double t1914 = 0.1e1 * t1912 * t536; + const double t1916 = 0.1e1 * t1318 * t807; + const double t1917 = t807 * t534; + const double t1919 = 0.2e1 * t1323 * t1917; + const double t1920 = t1329 * t796; + const double t1921 = t1920 * t519; + const double t1925 = t1333 - t1300 / 0.3e1 - t1896 / 0.3e1 + t1907; + const double t1926 = t517 * t1925; + const double t1931 = t1341 * t796; + const double t1932 = t1931 * t519; + const double t1934 = t524 * t1925; + const double t1938 = t38 * t388 * t802; + const double t1940 = t507 * t789; + const double t1942 = t38 * t42 * t1940; + const double t1944 = t156 * t1905; + const double t1946 = t38 * t42 * t1944; + const double t1948 = -0.9494625e0 * t1921 + 0.1898925e1 * t1926 + t1338 - 0.29896666666666666667e0 * t1300 - 0.29896666666666666667e0 * t1896 + 0.8969e0 * t1907 + 0.15358125e0 * t1932 + 0.3071625e0 * t1934 + t1348 - 0.16431333333333333333e0 * t1350 - 0.16431333333333333333e0 * t1938 + 0.24647e0 * t1942 + 0.24647e0 * t1946; + const double t1949 = t1948 * t535; + const double t1951 = 0.1e1 * t516 * t1949; + const double t1952 = t806 * t1368; + const double t1953 = t1952 * t534; + const double t1955 = 0.16081824322151104822e2 * t1366 * t1953; + const double t1959 = t1372 - 0.17123333333333333333e-1 * t1300 - 0.17123333333333333333e-1 * t1896 + 0.5137e-1 * t1907; + const double t1962 = t811 * t545; + const double t1967 = t819 * t553; + const double t1981 = -0.17648625e1 * t1921 + 0.3529725e1 * t1926 + t1390 - 0.516475e0 * t1300 - 0.516475e0 * t1896 + 0.1549425e1 * t1907 + 0.31558125e0 * t1932 + 0.6311625e0 * t1934 + t1395 - 0.20839e0 * t1350 - 0.20839e0 * t1938 + 0.312585e0 * t1942 + 0.312585e0 * t1946; + const double t1982 = t1981 * t554; + const double t1985 = t818 * t1407; + const double t1986 = t1985 * t553; + const double t1992 = t1411 - 0.92708333333333333333e-2 * t1300 - 0.92708333333333333333e-2 * t1896 + 0.278125e-1 * t1907; + const double t1993 = t1992 * t200; + const double t1995 = t823 * t564; + const double t2000 = t831 * t572; + const double t2014 = -0.1294625e1 * t1921 + 0.258925e1 * t1926 + t1429 - 0.301925e0 * t1300 - 0.301925e0 * t1896 + 0.905775e0 * t1907 + 0.82524375e-1 * t1932 + 0.16504875e0 * t1934 + t1434 - 0.16557e0 * t1350 - 0.16557e0 * t1938 + 0.248355e0 * t1942 + 0.248355e0 * t1946; + const double t2015 = t2014 * t573; + const double t2018 = t830 * t1446; + const double t2019 = t2018 * t572; + const double t2022 = -0.3109e-1 * t1959 * t187 + 0.1e1 * t1962 * t555 + 0.1e1 * t1378 * t819 - 0.2e1 * t1383 * t1967 + 0.1e1 * t546 * t1982 + 0.32164683177870697974e2 * t1405 * t1986 + t1911 - t1914 - t1916 + t1919 - t1951 - t1955 - 0.19751789702565206229e-1 * t1993 + 0.58482233974552040708e0 * t1995 * t574 + 0.58482233974552040708e0 * t1417 * t831 - 0.11696446794910408142e1 * t1422 * t2000 + 0.58482233974552040708e0 * t565 * t2015 + 0.17315755899375863299e2 * t1444 * t2019; + const double t2026 = t64 * t823; + const double t2031 = t1421 * t830; + const double t2032 = t2031 * t574; + const double t2036 = t564 * t2014 * t573; + const double t2039 = t1443 * t830; + const double t2040 = t1446 * t572; + const double t2041 = t2039 * t2040; + const double t2044 = -t1911 + t1914 + t1916 - t1919 + t1951 + t1955 + t64 * t2022 + 0.19751789702565206229e-1 * t64 * t1993 - 0.58482233974552040708e0 * t2026 * t583 - 0.58482233974552040708e0 * t1454 * t839 + 0.11696446794910408142e1 * t581 * t2032 - 0.58482233974552040708e0 * t581 * t2036 - 0.17315755899375863299e2 * t581 * t2041; + const double t2048 = piecewise_functor_3( t152, 0.0, t153 * t2044 / 0.2e1 + t1890 * t207 / 0.2e1 + t499 * t842 / 0.2e1 + t785 * t586 / 0.2e1 ); + const double t2049 = t2048 * t254; + const double t2050 = t590 * t890; + const double t2054 = -t1478 - 0.18311555036753159941e-3 * t1480 + t1485 + t1492 - 0.4e1 * t1493 + t1501 - t1504 - t1509 + t1511 - 0.4e1 * t1513 - t1539 + t1643 - t1647 - t1651; + const double t2056 = t899 * t10; + const double t2057 = t2056 * t675; + const double t2059 = t1517 * t720; + const double t2062 = t23 * t2; + const double t2066 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2059 * t354 + 0.8e1 / 0.3e1 * t2062 * t1042 ); + const double t2067 = t1525 * t784; + const double t2070 = t154 * t2; + const double t2074 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2067 * t498 - 0.8e1 / 0.3e1 * t2070 * t1042 ); + const double t2076 = ( t2066 + t2074 ) * t63; + const double t2079 = t620 * t900; + const double t2081 = t625 * t900; + const double t2083 = t2076 * t313; + const double t2085 = t899 * t668; + const double t2086 = t280 * t2085; + const double t2087 = t899 * t301; + const double t2088 = t2087 * t680; + const double t2090 = -0.58482233974552040708e0 * t1653 - 0.18311555036753159941e-3 * t2057 - t1887 + t1658 + 0.19751789702565206229e-1 * t2076 * t311 + 0.4e1 * t2079 - 0.4e1 * t2081 + t280 * t2083 + t2086 - 0.58482233974552040708e0 * t2088 + t1611 - t1593 + t1603 - t2048; + const double t2091 = t2054 + t2090; + const double t2092 = t2091 * t350; + const double t2093 = t904 * t716; + const double t2094 = t683 * t932; + const double t2095 = t906 * t850; + const double t2098 = t322 * t340; + const double t2099 = sigma_bb * t850; + const double t2100 = sigma_aa * t456; + const double t2101 = t2099 * t2100; + const double t2104 = t329 * sigma_aa; + const double t2105 = t2104 * t456; + const double t2108 = t693 * t340; + const double t2111 = t331 * t347; + const double t2114 = t1694 * t340; + const double t2117 = t700 * t347; + const double t2120 = t338 * t711; + const double t2123 = t1708 * t347; + const double t2126 = t707 * t711; + const double t2129 = t345 * t1716; + const double t2132 = -0.128e-3 * t2095 * t690 + 0.384e-6 * t2098 * t2101 + 0.128e-3 * t2105 * t911 - 0.1536e-5 * t2108 * t2101 + 0.3456e-8 * t2111 * t2101 + 0.1152e-5 * t2114 * t2101 - 0.10368e-7 * t2117 * t2101 + 0.20736e-10 * t2120 * t2101 + 0.6912e-8 * t2123 * t2101 - 0.55296e-10 * t2126 * t2101 + 0.10368e-12 * t2129 * t2101; + const double t2133 = t318 * t2132; + const double t2142 = 0.2e1 * t352 + 0.2e1 * t1043; + const double t2143 = piecewise_functor_3( t7, 0.0, t2142 ); + const double t2148 = t720 * t720; + const double t2154 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t2148 - t363 * t2142 / 0.3e1 ); + const double t2156 = t16 * t20 * t2154; + const double t2158 = t1055 - 0.35616666666666666666e-1 * t1735 + 0.53425e-1 * t2156; + const double t2160 = 0.62182e-1 * t2158 * t51; + const double t2162 = 0.2e1 * t1751 * t743; + const double t2163 = t742 * t742; + const double t2164 = t2163 * t397; + const double t2166 = 0.2e1 * t1080 * t2164; + const double t2167 = t732 * t732; + const double t2168 = t1086 * t2167; + const double t2171 = t1090 - 0.2e1 / 0.3e1 * t1735 + t2156; + const double t2172 = t376 * t2171; + const double t2176 = t1098 * t2167; + const double t2178 = t383 * t2171; + const double t2181 = t725 * t725; + const double t2183 = t38 * t42 * t2181; + const double t2185 = t25 * t2154; + const double t2187 = t38 * t42 * t2185; + const double t2189 = -0.9494625e0 * t2168 + 0.1898925e1 * t2172 + t1095 - 0.59793333333333333334e0 * t1735 + 0.8969e0 * t2156 + 0.15358125e0 * t2176 + 0.3071625e0 * t2178 + t1108 - 0.32862666666666666666e0 * t1777 + 0.24647e0 * t2183 + 0.24647e0 * t2187; + const double t2190 = t2189 * t397; + const double t2192 = 0.1e1 * t375 * t2190; + const double t2193 = t2163 * t1128; + const double t2195 = 0.16081824322151104822e2 * t1126 * t2193; + const double t2198 = t1132 - 0.34246666666666666666e-1 * t1735 + 0.5137e-1 * t2156; + const double t2203 = t754 * t754; + const double t2204 = t2203 * t416; + const double t2216 = -0.17648625e1 * t2168 + 0.3529725e1 * t2172 + t1150 - 0.103295e1 * t1735 + 0.1549425e1 * t2156 + 0.31558125e0 * t2176 + 0.6311625e0 * t2178 + t1155 - 0.41678e0 * t1777 + 0.312585e0 * t2183 + 0.312585e0 * t2187; + const double t2217 = t2216 * t416; + const double t2220 = t2203 * t1167; + const double t2225 = t1171 - 0.18541666666666666667e-1 * t1735 + 0.278125e-1 * t2156; + const double t2226 = t2225 * t88; + const double t2230 = t766 * t766; + const double t2231 = t2230 * t435; + const double t2243 = -0.1294625e1 * t2168 + 0.258925e1 * t2172 + t1189 - 0.60385e0 * t1735 + 0.905775e0 * t2156 + 0.82524375e-1 * t2176 + 0.16504875e0 * t2178 + t1194 - 0.33114e0 * t1777 + 0.248355e0 * t2183 + 0.248355e0 * t2187; + const double t2244 = t2243 * t435; + const double t2247 = t2230 * t1206; + const double t2250 = -0.3109e-1 * t2198 * t75 + 0.2e1 * t1801 * t755 - 0.2e1 * t1143 * t2204 + 0.1e1 * t408 * t2217 + 0.32164683177870697974e2 * t1165 * t2220 + t2160 - t2162 + t2166 - t2192 - t2195 - 0.19751789702565206229e-1 * t2226 + 0.11696446794910408142e1 * t1834 * t767 - 0.11696446794910408142e1 * t1182 * t2231 + 0.58482233974552040708e0 * t427 * t2244 + 0.17315755899375863299e2 * t1204 * t2247; + const double t2257 = t1181 * t2230 * t435; + const double t2261 = t426 * t2243 * t435; + const double t2264 = t1203 * t2230; + const double t2265 = t2264 * t1206; + const double t2268 = -t2160 + t2162 - t2166 + t2192 + t2195 + t64 * t2250 + 0.19751789702565206229e-1 * t64 * t2226 - 0.11696446794910408142e1 * t1865 * t775 + 0.11696446794910408142e1 * t443 * t2257 - 0.58482233974552040708e0 * t443 * t2261 - 0.17315755899375863299e2 * t443 * t2265; + const double t2272 = piecewise_functor_3( t8, 0.0, t2143 * t95 / 0.2e1 + t721 * t778 + t9 * t2268 / 0.2e1 ); + const double t2273 = t2272 * t147; + const double t2274 = -t2142; + const double t2275 = piecewise_functor_3( t151, 0.0, t2274 ); + const double t2280 = t784 * t784; + const double t2286 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t2280 - t504 * t2274 / 0.3e1 ); + const double t2288 = t16 * t20 * t2286; + const double t2290 = t1298 - 0.35616666666666666666e-1 * t1896 + 0.53425e-1 * t2288; + const double t2292 = 0.62182e-1 * t2290 * t174; + const double t2294 = 0.2e1 * t1912 * t807; + const double t2295 = t806 * t806; + const double t2296 = t2295 * t535; + const double t2298 = 0.2e1 * t1323 * t2296; + const double t2299 = t796 * t796; + const double t2300 = t1329 * t2299; + const double t2303 = t1333 - 0.2e1 / 0.3e1 * t1896 + t2288; + const double t2304 = t517 * t2303; + const double t2308 = t1341 * t2299; + const double t2310 = t524 * t2303; + const double t2313 = t789 * t789; + const double t2315 = t38 * t42 * t2313; + const double t2317 = t156 * t2286; + const double t2319 = t38 * t42 * t2317; + const double t2321 = -0.9494625e0 * t2300 + 0.1898925e1 * t2304 + t1338 - 0.59793333333333333334e0 * t1896 + 0.8969e0 * t2288 + 0.15358125e0 * t2308 + 0.3071625e0 * t2310 + t1348 - 0.32862666666666666666e0 * t1938 + 0.24647e0 * t2315 + 0.24647e0 * t2319; + const double t2322 = t2321 * t535; + const double t2324 = 0.1e1 * t516 * t2322; + const double t2325 = t2295 * t1368; + const double t2327 = 0.16081824322151104822e2 * t1366 * t2325; + const double t2330 = t1372 - 0.34246666666666666666e-1 * t1896 + 0.5137e-1 * t2288; + const double t2335 = t818 * t818; + const double t2336 = t2335 * t554; + const double t2348 = -0.17648625e1 * t2300 + 0.3529725e1 * t2304 + t1390 - 0.103295e1 * t1896 + 0.1549425e1 * t2288 + 0.31558125e0 * t2308 + 0.6311625e0 * t2310 + t1395 - 0.41678e0 * t1938 + 0.312585e0 * t2315 + 0.312585e0 * t2319; + const double t2349 = t2348 * t554; + const double t2352 = t2335 * t1407; + const double t2357 = t1411 - 0.18541666666666666667e-1 * t1896 + 0.278125e-1 * t2288; + const double t2358 = t2357 * t200; + const double t2362 = t830 * t830; + const double t2363 = t2362 * t573; + const double t2375 = -0.1294625e1 * t2300 + 0.258925e1 * t2304 + t1429 - 0.60385e0 * t1896 + 0.905775e0 * t2288 + 0.82524375e-1 * t2308 + 0.16504875e0 * t2310 + t1434 - 0.33114e0 * t1938 + 0.248355e0 * t2315 + 0.248355e0 * t2319; + const double t2376 = t2375 * t573; + const double t2379 = t2362 * t1446; + const double t2382 = -0.3109e-1 * t2330 * t187 + 0.2e1 * t1962 * t819 - 0.2e1 * t1383 * t2336 + 0.1e1 * t546 * t2349 + 0.32164683177870697974e2 * t1405 * t2352 + t2292 - t2294 + t2298 - t2324 - t2327 - 0.19751789702565206229e-1 * t2358 + 0.11696446794910408142e1 * t1995 * t831 - 0.11696446794910408142e1 * t1422 * t2363 + 0.58482233974552040708e0 * t565 * t2376 + 0.17315755899375863299e2 * t1444 * t2379; + const double t2389 = t1421 * t2362 * t573; + const double t2393 = t564 * t2375 * t573; + const double t2396 = t1443 * t2362; + const double t2397 = t2396 * t1446; + const double t2400 = -t2292 + t2294 - t2298 + t2324 + t2327 + t64 * t2382 + 0.19751789702565206229e-1 * t64 * t2358 - 0.11696446794910408142e1 * t2026 * t839 + 0.11696446794910408142e1 * t581 * t2389 - 0.58482233974552040708e0 * t581 * t2393 - 0.17315755899375863299e2 * t581 * t2397; + const double t2404 = piecewise_functor_3( t152, 0.0, t2275 * t207 / 0.2e1 + t785 * t842 + t153 * t2400 / 0.2e1 ); + const double t2405 = t2404 * t254; + const double t2406 = t846 * t890; + const double t2407 = 0.2e1 * t2406; + const double t2409 = 0.1e1 / t214 / t226; + const double t2413 = t226 * t848; + const double t2415 = 0.1e1 / t213 / t2413; + const double t2416 = t2415 * t231; + const double t2419 = t100 * t235; + const double t2420 = 0.1e1 / t246; + const double t2421 = t2420 * t240; + const double t2428 = t114 * t244; + const double t2429 = t237 * t226; + const double t2431 = 0.1e1 / t214 / t2429; + const double t2432 = t2431 * t250; + const double t2439 = t126 * t880; + const double t2443 = 0.1e1 / t213 / t237 / t2413 * t886; + const double t2450 = t244 * t224; + const double t2451 = t136 * t2450; + const double t2452 = t237 * t237; + const double t2453 = t2452 * t212; + const double t2456 = 0.1e1 / t249 / t230; + const double t2457 = 0.1e1 / t2453 * t2456; + const double t2460 = 0.19555555555555555555e1 * t211 * t2409 * t220 - 0.96000000000000000002e0 * t854 * t2416 + 0.11377777777777777778e0 * t2419 * t2421 + 0.13511111111111111111e1 * t225 * t2416 - 0.61155555555555555557e0 * t863 * t2421 + 0.68266666666666666669e-1 * t2428 * t2432 + 0.576e0 * t236 * t2421 - 0.25173333333333333333e0 * t871 * t2432 + 0.27306666666666666666e-1 * t2439 * t2443 + 0.19911111111111111112e0 * t245 * t2432 - 0.85333333333333333333e-1 * t881 * t2443 + 0.91022222222222222219e-2 * t2451 * t2457; + const double t2461 = t210 * t2460; + const double t2467 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t2148 + 0.4e1 / 0.3e1 * t23 * t2142 ); + const double t2473 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t2280 + 0.4e1 / 0.3e1 * t154 * t2274 ); + const double t2475 = ( t2467 + t2473 ) * t63; + const double t2476 = t2475 * t313; + const double t2478 = t280 * t2476 - t1478 + t1485 + t1492 - t1496 + t1501 + t1504 + t1507 - t1509 - t1539 + t1643 - t2404; + const double t2486 = -t1647 - t1651 - 0.36623110073506319882e-3 * t2057 - t2272 + t1658 + 0.19751789702565206229e-1 * t2475 * t311 - 0.8e1 * t2079 - 0.8e1 * t2081 + 0.2e1 * t2086 - 0.11696446794910408142e1 * t2088 + t1611 - t1593 + t1603; + const double t2487 = t2478 + t2486; + const double t2488 = t2487 * t350; + const double t2489 = t904 * t932; + const double t2490 = 0.2e1 * t2489; + const double t2494 = t320 * t224; + const double t2495 = t2415 * t333; + const double t2498 = t340 * t224; + const double t2499 = t2498 * t2415; + const double t2502 = t910 * t2409; + const double t2505 = t329 * t224; + const double t2512 = t347 * t224; + const double t2513 = t2512 * t2415; + const double t2516 = t916 * t2409; + const double t2525 = t711 * t224; + const double t2526 = t2525 * t2415; + const double t2529 = t922 * t2409; + const double t2538 = t1716 * t224; + const double t2545 = 0.29333333333333333333e-1 * t906 * t2409 * t326 - 0.128e-3 * t2494 * t2495 + 0.384e-6 * t322 * t2499 - 0.88e-4 * t322 * t2502 + 0.128e-3 * t2505 * t2495 - 0.1536e-5 * t693 * t2499 + 0.176e-3 * t693 * t2502 + 0.3456e-8 * t331 * t2513 - 0.528e-6 * t331 * t2516 + 0.1152e-5 * t1694 * t2499 - 0.10368e-7 * t700 * t2513 + 0.792e-6 * t700 * t2516 + 0.20736e-10 * t338 * t2526 - 0.2376e-8 * t338 * t2529 + 0.6912e-8 * t1708 * t2513 - 0.55296e-10 * t707 * t2526 + 0.3168e-8 * t707 * t2529 + 0.10368e-12 * t345 * t2538 * t2415 - 0.9504e-11 * t345 * t928 * t2409; + const double t2546 = t318 * t2545; + const double t2549 = t452 * t960; + const double t2553 = t100 * t463; + const double t2554 = t122 * sigma_aa; + const double t2575 = t1281 * rho_a; + const double t2577 = 0.1e1 / t2575 * t1285; + const double t2580 = -0.53333333333333333333e0 * t100 * t456 * t110 + 0.32e0 * t2553 * t2554 - 0.42666666666666666668e-1 * t460 * t472 - 0.42666666666666666667e0 * t941 * t464 + 0.21333333333333333334e0 * t116 * t472 - 0.256e-1 * t469 * t481 - 0.192e0 * t946 * t472 + 0.896e-1 * t128 * t481 - 0.1024e-1 * t477 * t493 - 0.68266666666666666667e-1 * t951 * t481 + 0.3072e-1 * t138 * t493 - 0.34133333333333333332e-2 * t487 * t2577; + const double t2581 = t98 * t2580; + const double t2582 = t683 * t983; + const double t2583 = t320 * t456; + const double t2586 = t320 * t463; + const double t2589 = t340 * t463; + const double t2590 = t2589 * sigma_aa; + const double t2593 = t333 * t456; + const double t2603 = t347 * t463; + const double t2604 = t2603 * sigma_aa; + const double t2607 = t340 * t456; + const double t2616 = t711 * t463; + const double t2617 = t2616 * sigma_aa; + const double t2620 = t347 * t456; + const double t2629 = t1716 * t463; + const double t2636 = -0.8e-2 * t2583 * t326 + 0.48e-4 * t2586 * t689 - 0.144e-6 * t322 * t2590 + 0.24e-4 * t322 * t2593 - 0.48e-4 * t2104 * t463 * t333 + 0.576e-6 * t693 * t2590 - 0.48e-4 * t693 * t2593 - 0.1296e-8 * t331 * t2604 + 0.144e-6 * t331 * t2607 - 0.432e-6 * t1694 * t2590 + 0.3888e-8 * t700 * t2604 - 0.216e-6 * t700 * t2607 - 0.7776e-11 * t338 * t2617 + 0.648e-9 * t338 * t2620 - 0.2592e-8 * t1708 * t2604 + 0.20736e-10 * t707 * t2617 - 0.864e-9 * t707 * t2620 - 0.3888e-13 * t345 * t2629 * sigma_aa + 0.2592e-11 * t345 * t711 * t456; + const double t2637 = t318 * t2636; + const double t2640 = t590 * t1010; + const double t2641 = t683 * t1033; + const double t2644 = t216 * sigma_aa; + const double t2645 = t2644 * t456; + const double t2667 = 0.48e-4 * t1012 * t690 - 0.144e-6 * t2098 * t2645 - 0.48e-4 * t2104 * t2593 * t216 + 0.576e-6 * t2108 * t2645 - 0.1296e-8 * t2111 * t2645 - 0.432e-6 * t2114 * t2645 + 0.3888e-8 * t2117 * t2645 - 0.7776e-11 * t2120 * t2645 - 0.2592e-8 * t2123 * t2645 + 0.20736e-10 * t2126 * t2645 - 0.3888e-13 * t2129 * t2645; + const double t2668 = t318 * t2667; + const double t2671 = t782 * t960; + const double t2672 = t904 * t983; + const double t2675 = t106 * sigma_bb; + const double t2676 = t2675 * t850; + const double t2679 = t329 * sigma_bb; + const double t2680 = t850 * t333; + const double t2700 = 0.48e-4 * t962 * t911 - 0.144e-6 * t2098 * t2676 - 0.48e-4 * t2679 * t2680 * t106 + 0.576e-6 * t2108 * t2676 - 0.1296e-8 * t2111 * t2676 - 0.432e-6 * t2114 * t2676 + 0.3888e-8 * t2117 * t2676 - 0.7776e-11 * t2120 * t2676 - 0.2592e-8 * t2123 * t2676 + 0.20736e-10 * t2126 * t2676 - 0.3888e-13 * t2129 * t2676; + const double t2701 = t318 * t2700; + const double t2704 = t846 * t1010; + const double t2708 = t100 * t857; + const double t2709 = t231 * sigma_bb; + const double t2730 = t2452 * rho_b; + const double t2732 = 0.1e1 / t2730 * t2456; + const double t2735 = -0.53333333333333333333e0 * t100 * t850 * t220 + 0.32e0 * t2708 * t2709 - 0.42666666666666666668e-1 * t854 * t866 - 0.42666666666666666667e0 * t991 * t858 + 0.21333333333333333334e0 * t225 * t866 - 0.256e-1 * t863 * t875 - 0.192e0 * t996 * t866 + 0.896e-1 * t236 * t875 - 0.1024e-1 * t871 * t887 - 0.68266666666666666667e-1 * t1001 * t875 + 0.3072e-1 * t245 * t887 - 0.34133333333333333332e-2 * t881 * t2732; + const double t2736 = t210 * t2735; + const double t2737 = t904 * t1033; + const double t2738 = t320 * t850; + const double t2741 = t320 * t857; + const double t2744 = t340 * t857; + const double t2745 = t2744 * sigma_bb; + const double t2757 = t347 * t857; + const double t2758 = t2757 * sigma_bb; + const double t2761 = t340 * t850; + const double t2770 = t711 * t857; + const double t2771 = t2770 * sigma_bb; + const double t2774 = t347 * t850; + const double t2783 = t1716 * t857; + const double t2787 = t711 * t850; + const double t2790 = -0.8e-2 * t2738 * t326 + 0.48e-4 * t2741 * t910 - 0.144e-6 * t322 * t2745 + 0.24e-4 * t322 * t2680 - 0.48e-4 * t2679 * t857 * t333 + 0.576e-6 * t693 * t2745 - 0.48e-4 * t693 * t2680 - 0.1296e-8 * t331 * t2758 + 0.144e-6 * t331 * t2761 - 0.432e-6 * t1694 * t2745 + 0.3888e-8 * t700 * t2758 - 0.216e-6 * t700 * t2761 - 0.7776e-11 * t338 * t2771 + 0.648e-9 * t338 * t2774 - 0.2592e-8 * t1708 * t2758 + 0.20736e-10 * t707 * t2771 - 0.864e-9 * t707 * t2774 - 0.3888e-13 * t345 * t2783 * sigma_bb + 0.2592e-11 * t345 * t2787; + const double t2791 = t318 * t2790; + const double t2806 = t126 * sigma_aa; + const double t2813 = t136 * t115; + const double t2819 = 0.1e1 / t1281 * t1285; + const double t2822 = -0.8e-1 * t100 * t120 * t122 + 0.16e-1 * t101 * t133 + 0.8e-1 * t114 * t120 * t122 - 0.64e-1 * t941 * t133 + 0.96e-2 * t116 * t144 + 0.48e-1 * t2806 * t133 - 0.288e-1 * t946 * t144 + 0.384e-2 * t128 * t957 + 0.192e-1 * t2813 * t144 - 0.1024e-1 * t951 * t957 + 0.128e-2 * t138 * t2819; + const double t2823 = t98 * t2822; + const double t2824 = t320 * t120; + const double t2827 = t340 * t120; + const double t2830 = t329 * t120; + const double t2835 = t347 * t120; + const double t2842 = t711 * t120; + const double t2852 = -0.18e-4 * t2824 * t333 + 0.54e-7 * t322 * t2827 + 0.18e-4 * t2830 * t333 - 0.216e-6 * t693 * t2827 + 0.486e-9 * t331 * t2835 + 0.162e-6 * t1694 * t2827 - 0.1458e-8 * t700 * t2835 + 0.2916e-11 * t338 * t2842 + 0.972e-9 * t1708 * t2835 - 0.7776e-11 * t707 * t2842 + 0.1458e-13 * t345 * t1716 * t120; + const double t2853 = t318 * t2852; + const double t2855 = t3 * t318; + const double t2858 = t1020 * t106; + const double t2861 = t329 * t106; + const double t2866 = t1025 * t106; + const double t2873 = t1030 * t106; + const double t2880 = t1716 * t216; + const double t2884 = -0.18e-4 * t1012 * t965 + 0.54e-7 * t322 * t2858 + 0.18e-4 * t2861 * t1015 - 0.216e-6 * t693 * t2858 + 0.486e-9 * t331 * t2866 + 0.162e-6 * t1694 * t2858 - 0.1458e-8 * t700 * t2866 + 0.2916e-11 * t338 * t2873 + 0.972e-9 * t1708 * t2866 - 0.7776e-11 * t707 * t2873 + 0.1458e-13 * t345 * t2880 * t106; + const double t2897 = t126 * sigma_bb; + const double t2904 = t136 * t224; + const double t2910 = 0.1e1 / t2452 * t2456; + const double t2913 = -0.8e-1 * t100 * t229 * t231 + 0.16e-1 * t211 * t241 + 0.8e-1 * t114 * t229 * t231 - 0.64e-1 * t991 * t241 + 0.96e-2 * t225 * t251 + 0.48e-1 * t2897 * t241 - 0.288e-1 * t996 * t251 + 0.384e-2 * t236 * t1007 + 0.192e-1 * t2904 * t251 - 0.1024e-1 * t1001 * t1007 + 0.128e-2 * t245 * t2910; + const double t2914 = t210 * t2913; + const double t2915 = t320 * t229; + const double t2918 = t340 * t229; + const double t2921 = t329 * t229; + const double t2926 = t347 * t229; + const double t2933 = t711 * t229; + const double t2940 = t1716 * t229; + const double t2943 = -0.18e-4 * t2915 * t333 + 0.54e-7 * t322 * t2918 + 0.18e-4 * t2921 * t333 - 0.216e-6 * t693 * t2918 + 0.486e-9 * t331 * t2926 + 0.162e-6 * t1694 * t2918 - 0.1458e-8 * t700 * t2926 + 0.2916e-11 * t338 * t2933 + 0.972e-9 * t1708 * t2926 - 0.7776e-11 * t707 * t2933 + 0.1458e-13 * t345 * t2940; + const double t2944 = t318 * t2943; + + + v2rho2_aa = 0.2e1 * t453 + 0.2e1 * t497 + 0.2e1 * t591 + 0.2e1 * t684 + 0.2e1 * t717 + t3 * ( t1234 + t1236 + t1290 + t1474 + t1663 + t1665 + t1725 ); + v2rho2_ab = t453 + t497 + t591 + t684 + t717 + t783 + t847 + t891 + t905 + t933 + t3 * ( t1888 + t1889 + t2049 + t2050 + t2092 + t2093 + t2094 + t2133 ); + v2rho2_bb = 0.2e1 * t783 + 0.2e1 * t847 + 0.2e1 * t891 + 0.2e1 * t905 + 0.2e1 * t933 + t3 * ( t2273 + t2405 + t2407 + t2461 + t2488 + t2490 + t2546 ); + v2rhosigma_a_aa = t961 + t984 + t3 * ( t2549 + t2581 + t2582 + t2637 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1011 + t1034 + t3 * ( t2640 + t2641 + t2668 ); + v2rhosigma_b_aa = t961 + t984 + t3 * ( t2671 + t2672 + t2701 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1011 + t1034 + t3 * ( t2704 + t2736 + t2737 + t2791 ); + v2sigma2_aa_aa = t3 * ( t2823 + t2853 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t2855 * t2884; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t2914 + t2944 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + constexpr double t1557 = t36 * t14; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + const double t1041 = t277 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t2 * t1042; + const double t1045 = -0.2e1 * t352 + 0.2e1 * t1043; + const double t1046 = piecewise_functor_3( t7, 0.0, t1045 ); + const double t1051 = 0.1e1 / t17 / t277; + const double t1052 = t1051 * t19; + const double t1054 = t16 * t1052 * t25; + const double t1055 = 0.23744444444444444444e-1 * t1054; + const double t1057 = t16 * t359 * t366; + const double t1059 = t6 * t6; + const double t1061 = 0.1e1 / t23 / t1059; + const double t1062 = t354 * t354; + const double t1068 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t1062 - t363 * t1045 / 0.3e1 ); + const double t1070 = t16 * t20 * t1068; + const double t1072 = t1055 - 0.35616666666666666666e-1 * t1057 + 0.53425e-1 * t1070; + const double t1074 = 0.62182e-1 * t1072 * t51; + const double t1075 = t370 * t374; + const double t1077 = 0.2e1 * t1075 * t398; + const double t1078 = t373 * t47; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t29 * t1079; + const double t1081 = t396 * t396; + const double t1082 = t1081 * t397; + const double t1084 = 0.2e1 * t1080 * t1082; + const double t1086 = 0.1e1 / t30 / t27; + const double t1087 = t378 * t378; + const double t1088 = t1086 * t1087; + const double t1090 = 0.4e1 / 0.9e1 * t1054; + const double t1092 = t1090 - 0.2e1 / 0.3e1 * t1057 + t1070; + const double t1093 = t376 * t1092; + const double t1095 = 0.39862222222222222223e0 * t1054; + const double t1098 = 0.1e1/safe_math::sqrt( t27 ); + const double t1099 = t1098 * t1087; + const double t1101 = t383 * t1092; + const double t1104 = 0.1e1 / t39 / t277; + const double t1105 = t1104 * t41; + const double t1107 = t38 * t1105 * t43; + const double t1108 = 0.13692777777777777778e0 * t1107; + const double t1110 = t38 * t388 * t392; + const double t1112 = t366 * t366; + const double t1114 = t38 * t42 * t1112; + const double t1116 = t25 * t1068; + const double t1118 = t38 * t42 * t1116; + const double t1120 = -0.9494625e0 * t1088 + 0.1898925e1 * t1093 + t1095 - 0.59793333333333333334e0 * t1057 + 0.8969e0 * t1070 + 0.15358125e0 * t1099 + 0.3071625e0 * t1101 + t1108 - 0.32862666666666666666e0 * t1110 + 0.24647e0 * t1114 + 0.24647e0 * t1118; + const double t1121 = t1120 * t397; + const double t1123 = 0.1e1 * t375 * t1121; + const double t1124 = t373 * t373; + const double t1125 = 0.1e1 / t1124; + const double t1126 = t29 * t1125; + const double t1127 = t50 * t50; + const double t1128 = 0.1e1 / t1127; + const double t1129 = t1081 * t1128; + const double t1131 = 0.16081824322151104822e2 * t1126 * t1129; + const double t1132 = 0.22831111111111111111e-1 * t1054; + const double t1135 = t1132 - 0.34246666666666666666e-1 * t1057 + 0.5137e-1 * t1070; + const double t1138 = t403 * t407; + const double t1141 = t406 * t71; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t66 * t1142; + const double t1144 = t415 * t415; + const double t1145 = t1144 * t416; + const double t1150 = 0.68863333333333333333e0 * t1054; + const double t1155 = 0.17365833333333333333e0 * t1107; + const double t1159 = -0.17648625e1 * t1088 + 0.3529725e1 * t1093 + t1150 - 0.103295e1 * t1057 + 0.1549425e1 * t1070 + 0.31558125e0 * t1099 + 0.6311625e0 * t1101 + t1155 - 0.41678e0 * t1110 + 0.312585e0 * t1114 + 0.312585e0 * t1118; + const double t1160 = t1159 * t416; + const double t1163 = t406 * t406; + const double t1164 = 0.1e1 / t1163; + const double t1165 = t66 * t1164; + const double t1166 = t74 * t74; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t1144 * t1167; + const double t1171 = 0.12361111111111111111e-1 * t1054; + const double t1174 = t1171 - 0.18541666666666666667e-1 * t1057 + 0.278125e-1 * t1070; + const double t1175 = t1174 * t88; + const double t1177 = t422 * t426; + const double t1180 = t425 * t84; + const double t1181 = 0.1e1 / t1180; + const double t1182 = t79 * t1181; + const double t1183 = t434 * t434; + const double t1184 = t1183 * t435; + const double t1189 = 0.40256666666666666667e0 * t1054; + const double t1194 = 0.137975e0 * t1107; + const double t1198 = -0.1294625e1 * t1088 + 0.258925e1 * t1093 + t1189 - 0.60385e0 * t1057 + 0.905775e0 * t1070 + 0.82524375e-1 * t1099 + 0.16504875e0 * t1101 + t1194 - 0.33114e0 * t1110 + 0.248355e0 * t1114 + 0.248355e0 * t1118; + const double t1199 = t1198 * t435; + const double t1202 = t425 * t425; + const double t1203 = 0.1e1 / t1202; + const double t1204 = t79 * t1203; + const double t1205 = t87 * t87; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t1183 * t1206; + const double t1210 = -0.3109e-1 * t1135 * t75 + 0.2e1 * t1138 * t417 - 0.2e1 * t1143 * t1145 + 0.1e1 * t408 * t1160 + 0.32164683177870697974e2 * t1165 * t1168 + t1074 - t1077 + t1084 - t1123 - t1131 - 0.19751789702565206229e-1 * t1175 + 0.11696446794910408142e1 * t1177 * t436 - 0.11696446794910408142e1 * t1182 * t1184 + 0.58482233974552040708e0 * t427 * t1199 + 0.17315755899375863299e2 * t1204 * t1207; + const double t1214 = t64 * t422; + const double t1218 = t1181 * t1183 * t435; + const double t1222 = t426 * t1198 * t435; + const double t1225 = t1203 * t1183; + const double t1226 = t1225 * t1206; + const double t1229 = -t1074 + t1077 - t1084 + t1123 + t1131 + t64 * t1210 + 0.19751789702565206229e-1 * t64 * t1175 - 0.11696446794910408142e1 * t1214 * t445 + 0.11696446794910408142e1 * t443 * t1218 - 0.58482233974552040708e0 * t443 * t1222 - 0.17315755899375863299e2 * t443 * t1226; + const double t1233 = piecewise_functor_3( t8, 0.0, t1046 * t95 / 0.2e1 + t355 * t448 + t9 * t1229 / 0.2e1 ); + const double t1234 = t1233 * t147; + const double t1235 = t452 * t496; + const double t1236 = 0.2e1 * t1235; + const double t1238 = 0.1e1 / t104 / t117; + const double t1242 = t117 * t454; + const double t1244 = 0.1e1 / t103 / t1242; + const double t1245 = t1244 * t122; + const double t1248 = t100 * t127; + const double t1249 = 0.1e1 / t139; + const double t1250 = t1249 * t132; + const double t1257 = t114 * t137; + const double t1258 = t129 * t117; + const double t1260 = 0.1e1 / t104 / t1258; + const double t1261 = t1260 * t143; + const double t1268 = t126 * t486; + const double t1272 = 0.1e1 / t103 / t129 / t1242 * t492; + const double t1279 = t137 * t115; + const double t1280 = t136 * t1279; + const double t1281 = t129 * t129; + const double t1282 = t1281 * t102; + const double t1285 = 0.1e1 / t142 / t121; + const double t1286 = 0.1e1 / t1282 * t1285; + const double t1289 = 0.19555555555555555555e1 * t101 * t1238 * t110 - 0.96000000000000000002e0 * t460 * t1245 + 0.11377777777777777778e0 * t1248 * t1250 + 0.13511111111111111111e1 * t116 * t1245 - 0.61155555555555555557e0 * t469 * t1250 + 0.68266666666666666669e-1 * t1257 * t1261 + 0.576e0 * t128 * t1250 - 0.25173333333333333333e0 * t477 * t1261 + 0.27306666666666666666e-1 * t1268 * t1272 + 0.19911111111111111112e0 * t138 * t1261 - 0.85333333333333333333e-1 * t487 * t1272 + 0.91022222222222222219e-2 * t1280 * t1286; + const double t1290 = t98 * t1289; + const double t1291 = -t1045; + const double t1292 = piecewise_functor_3( t151, 0.0, t1291 ); + const double t1297 = t16 * t1052 * t156; + const double t1298 = 0.23744444444444444444e-1 * t1297; + const double t1300 = t16 * t359 * t507; + const double t1302 = t150 * t150; + const double t1304 = 0.1e1 / t154 / t1302; + const double t1305 = t498 * t498; + const double t1311 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t1305 - t504 * t1291 / 0.3e1 ); + const double t1313 = t16 * t20 * t1311; + const double t1315 = t1298 - 0.35616666666666666666e-1 * t1300 + 0.53425e-1 * t1313; + const double t1317 = 0.62182e-1 * t1315 * t174; + const double t1318 = t511 * t515; + const double t1320 = 0.2e1 * t1318 * t536; + const double t1321 = t514 * t170; + const double t1322 = 0.1e1 / t1321; + const double t1323 = t160 * t1322; + const double t1324 = t534 * t534; + const double t1325 = t1324 * t535; + const double t1327 = 0.2e1 * t1323 * t1325; + const double t1329 = 0.1e1 / t161 / t158; + const double t1330 = t519 * t519; + const double t1331 = t1329 * t1330; + const double t1333 = 0.4e1 / 0.9e1 * t1297; + const double t1335 = t1333 - 0.2e1 / 0.3e1 * t1300 + t1313; + const double t1336 = t517 * t1335; + const double t1338 = 0.39862222222222222223e0 * t1297; + const double t1341 = 0.1e1/safe_math::sqrt( t158 ); + const double t1342 = t1341 * t1330; + const double t1344 = t524 * t1335; + const double t1347 = t38 * t1105 * t166; + const double t1348 = 0.13692777777777777778e0 * t1347; + const double t1350 = t38 * t388 * t530; + const double t1352 = t507 * t507; + const double t1354 = t38 * t42 * t1352; + const double t1356 = t156 * t1311; + const double t1358 = t38 * t42 * t1356; + const double t1360 = -0.9494625e0 * t1331 + 0.1898925e1 * t1336 + t1338 - 0.59793333333333333334e0 * t1300 + 0.8969e0 * t1313 + 0.15358125e0 * t1342 + 0.3071625e0 * t1344 + t1348 - 0.32862666666666666666e0 * t1350 + 0.24647e0 * t1354 + 0.24647e0 * t1358; + const double t1361 = t1360 * t535; + const double t1363 = 0.1e1 * t516 * t1361; + const double t1364 = t514 * t514; + const double t1365 = 0.1e1 / t1364; + const double t1366 = t160 * t1365; + const double t1367 = t173 * t173; + const double t1368 = 0.1e1 / t1367; + const double t1369 = t1324 * t1368; + const double t1371 = 0.16081824322151104822e2 * t1366 * t1369; + const double t1372 = 0.22831111111111111111e-1 * t1297; + const double t1375 = t1372 - 0.34246666666666666666e-1 * t1300 + 0.5137e-1 * t1313; + const double t1378 = t541 * t545; + const double t1381 = t544 * t183; + const double t1382 = 0.1e1 / t1381; + const double t1383 = t178 * t1382; + const double t1384 = t553 * t553; + const double t1385 = t1384 * t554; + const double t1390 = 0.68863333333333333333e0 * t1297; + const double t1395 = 0.17365833333333333333e0 * t1347; + const double t1399 = -0.17648625e1 * t1331 + 0.3529725e1 * t1336 + t1390 - 0.103295e1 * t1300 + 0.1549425e1 * t1313 + 0.31558125e0 * t1342 + 0.6311625e0 * t1344 + t1395 - 0.41678e0 * t1350 + 0.312585e0 * t1354 + 0.312585e0 * t1358; + const double t1400 = t1399 * t554; + const double t1403 = t544 * t544; + const double t1404 = 0.1e1 / t1403; + const double t1405 = t178 * t1404; + const double t1406 = t186 * t186; + const double t1407 = 0.1e1 / t1406; + const double t1408 = t1384 * t1407; + const double t1411 = 0.12361111111111111111e-1 * t1297; + const double t1414 = t1411 - 0.18541666666666666667e-1 * t1300 + 0.278125e-1 * t1313; + const double t1415 = t1414 * t200; + const double t1417 = t560 * t564; + const double t1420 = t563 * t196; + const double t1421 = 0.1e1 / t1420; + const double t1422 = t191 * t1421; + const double t1423 = t572 * t572; + const double t1424 = t1423 * t573; + const double t1429 = 0.40256666666666666667e0 * t1297; + const double t1434 = 0.137975e0 * t1347; + const double t1438 = -0.1294625e1 * t1331 + 0.258925e1 * t1336 + t1429 - 0.60385e0 * t1300 + 0.905775e0 * t1313 + 0.82524375e-1 * t1342 + 0.16504875e0 * t1344 + t1434 - 0.33114e0 * t1350 + 0.248355e0 * t1354 + 0.248355e0 * t1358; + const double t1439 = t1438 * t573; + const double t1442 = t563 * t563; + const double t1443 = 0.1e1 / t1442; + const double t1444 = t191 * t1443; + const double t1445 = t199 * t199; + const double t1446 = 0.1e1 / t1445; + const double t1447 = t1423 * t1446; + const double t1450 = -0.3109e-1 * t1375 * t187 + 0.2e1 * t1378 * t555 - 0.2e1 * t1383 * t1385 + 0.1e1 * t546 * t1400 + 0.32164683177870697974e2 * t1405 * t1408 + t1317 - t1320 + t1327 - t1363 - t1371 - 0.19751789702565206229e-1 * t1415 + 0.11696446794910408142e1 * t1417 * t574 - 0.11696446794910408142e1 * t1422 * t1424 + 0.58482233974552040708e0 * t565 * t1439 + 0.17315755899375863299e2 * t1444 * t1447; + const double t1454 = t64 * t560; + const double t1458 = t1421 * t1423 * t573; + const double t1462 = t564 * t1438 * t573; + const double t1465 = t1443 * t1423; + const double t1466 = t1465 * t1446; + const double t1469 = -t1317 + t1320 - t1327 + t1363 + t1371 + t64 * t1450 + 0.19751789702565206229e-1 * t64 * t1415 - 0.11696446794910408142e1 * t1454 * t583 + 0.11696446794910408142e1 * t581 * t1458 - 0.58482233974552040708e0 * t581 * t1462 - 0.17315755899375863299e2 * t581 * t1466; + const double t1473 = piecewise_functor_3( t152, 0.0, t1292 * t207 / 0.2e1 + t499 * t586 + t153 * t1469 / 0.2e1 ); + const double t1474 = t1473 * t254; + const double t1475 = t358 * t597; + const double t1478 = 0.35616666666666666667e-1 * t16 * t1475 * t616; + const double t1479 = t635 * t10; + const double t1480 = t1479 * t675; + const double t1483 = t601 * t1051 * t310; + const double t1485 = 0.24415406715670879921e-3 * t673 * t1483; + const double t1486 = t656 * t306; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t663 * t663; + const double t1490 = t1487 * t1488 * t664; + const double t1492 = 0.11696446794910408142e1 * t678 * t1490; + const double t1493 = t620 * t636; + const double t1496 = 0.8e1 * t620 * t669; + const double t1498 = 0.1e1 / t278 / t277; + const double t1499 = t276 * t1498; + const double t1501 = 0.2e2 * t1499 * t314; + const double t1502 = t275 * t279; + const double t1504 = 0.12e2 * t1502 * t314; + const double t1505 = t619 * t624; + const double t1507 = 0.32e2 * t1505 * t314; + const double t1509 = 0.8e1 * t625 * t669; + const double t1510 = t635 * t668; + const double t1511 = t280 * t1510; + const double t1513 = t625 * t636; + const double t1515 = -t1478 - 0.36623110073506319882e-3 * t1480 + t1485 + t1492 + 0.8e1 * t1493 + t1496 + t1501 + t1504 - t1507 - t1509 + 0.2e1 * t1511 - 0.8e1 * t1513; + const double t1516 = t23 * t23; + const double t1517 = 0.1e1 / t1516; + const double t1523 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t1062 + 0.4e1 / 0.3e1 * t23 * t1045 ); + const double t1524 = t154 * t154; + const double t1525 = 0.1e1 / t1524; + const double t1531 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t1305 + 0.4e1 / 0.3e1 * t154 * t1291 ); + const double t1533 = ( t1523 + t1531 ) * t63; + const double t1534 = t1533 * t313; + const double t1536 = t15 * t1051; + const double t1539 = 0.14764770444444444444e-2 * t13 * t1536 * t272; + const double t1543 = t358 * t642; + const double t1547 = t641 * t293; + const double t1548 = 0.1e1 / t1547; + const double t1549 = t288 * t1548; + const double t1550 = t648 * t648; + const double t1551 = t1550 * t649; + const double t1556 = 0.1e1 / t260 / t257 * t35; + const double t1558 = t1557 * t1104; + const double t1559 = t1556 * t1558; + const double t1561 = t601 * t1051; + const double t1562 = t600 * t1561; + const double t1564 = t13 * t1536; + const double t1566 = 0.1e1/safe_math::sqrt( t257 ); + const double t1567 = t1566 * t35; + const double t1568 = t1567 * t1558; + const double t1570 = t608 * t1561; + const double t1573 = t37 * t14 * t1104; + const double t1575 = -0.78438333333333333333e0 * t1559 + 0.15687666666666666667e1 * t1562 + 0.68863333333333333333e0 * t1564 + 0.14025833333333333333e0 * t1568 + 0.28051666666666666667e0 * t1570 + 0.17365833333333333333e0 * t1573; + const double t1576 = t1575 * t649; + const double t1579 = t641 * t641; + const double t1580 = 0.1e1 / t1579; + const double t1581 = t288 * t1580; + const double t1582 = t296 * t296; + const double t1583 = 0.1e1 / t1582; + const double t1584 = t1550 * t1583; + const double t1587 = t596 * t268; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t259 * t1588; + const double t1590 = t614 * t614; + const double t1591 = t1590 * t615; + const double t1593 = 0.2e1 * t1589 * t1591; + const double t1600 = -0.42198333333333333333e0 * t1559 + 0.84396666666666666666e0 * t1562 + 0.39862222222222222223e0 * t1564 + 0.68258333333333333333e-1 * t1568 + 0.13651666666666666667e0 * t1570 + 0.13692777777777777778e0 * t1573; + const double t1601 = t1600 * t615; + const double t1603 = 0.1e1 * t598 * t1601; + const double t1604 = t596 * t596; + const double t1605 = 0.1e1 / t1604; + const double t1606 = t259 * t1605; + const double t1607 = t271 * t271; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t1590 * t1608; + const double t1611 = 0.16081824322151104822e2 * t1606 * t1609; + const double t1615 = t358 * t657; + const double t1619 = t301 * t1487; + const double t1620 = t1488 * t664; + const double t1629 = -0.57538888888888888889e0 * t1559 + 0.11507777777777777778e1 * t1562 + 0.40256666666666666667e0 * t1564 + 0.366775e-1 * t1568 + 0.73355e-1 * t1570 + 0.137975e0 * t1573; + const double t1630 = t1629 * t664; + const double t1633 = t656 * t656; + const double t1634 = 0.1e1 / t1633; + const double t1635 = t301 * t1634; + const double t1636 = t309 * t309; + const double t1637 = 0.1e1 / t1636; + const double t1638 = t1488 * t1637; + const double t1641 = -0.70981924444444444442e-3 * t13 * t1536 * t297 - 0.34246666666666666666e-1 * t16 * t1543 * t650 - 0.2e1 * t1549 * t1551 + 0.1e1 * t643 * t1576 + 0.32164683177870697974e2 * t1581 * t1584 + t1539 + t1478 + t1593 - t1603 - t1611 - 0.24415406715670879921e-3 * t13 * t1536 * t310 - 0.10843580882781524214e-1 * t16 * t1615 * t665 - 0.11696446794910408142e1 * t1619 * t1620 + 0.58482233974552040708e0 * t658 * t1630 + 0.17315755899375863299e2 * t1635 * t1638; + const double t1642 = t286 * t1641; + const double t1643 = t280 * t1642; + const double t1645 = t657 * t1629 * t664; + const double t1647 = 0.58482233974552040708e0 * t678 * t1645; + const double t1648 = t1634 * t1488; + const double t1649 = t1648 * t1637; + const double t1651 = 0.17315755899375863299e2 * t678 * t1649; + const double t1652 = t635 * t301; + const double t1653 = t1652 * t680; + const double t1655 = t286 * t13; + const double t1656 = t592 * t680; + const double t1658 = 0.10843580882781524214e-1 * t1655 * t1656; + const double t1661 = t280 * t1534 - t1539 + t1643 - t1647 - t1651 - 0.11696446794910408142e1 * t1653 + t1658 - t1233 + 0.19751789702565206229e-1 * t1533 * t311 - t1473 + t1611 - t1593 + t1603; + const double t1662 = t1515 + t1661; + const double t1663 = t1662 * t350; + const double t1664 = t683 * t716; + const double t1665 = 0.2e1 * t1664; + const double t1669 = t320 * t115; + const double t1670 = t1244 * t333; + const double t1673 = t340 * t115; + const double t1674 = t1673 * t1244; + const double t1677 = t689 * t1238; + const double t1680 = t329 * t115; + const double t1687 = t347 * t115; + const double t1688 = t1687 * t1244; + const double t1691 = t696 * t1238; + const double t1694 = t336 * t321; + const double t1701 = t711 * t115; + const double t1702 = t1701 * t1244; + const double t1705 = t703 * t1238; + const double t1708 = t343 * t330; + const double t1716 = 0.1e1 / t346 / t332; + const double t1717 = t1716 * t115; + const double t1724 = 0.29333333333333333333e-1 * t685 * t1238 * t326 - 0.128e-3 * t1669 * t1670 + 0.384e-6 * t322 * t1674 - 0.88e-4 * t322 * t1677 + 0.128e-3 * t1680 * t1670 - 0.1536e-5 * t693 * t1674 + 0.176e-3 * t693 * t1677 + 0.3456e-8 * t331 * t1688 - 0.528e-6 * t331 * t1691 + 0.1152e-5 * t1694 * t1674 - 0.10368e-7 * t700 * t1688 + 0.792e-6 * t700 * t1691 + 0.20736e-10 * t338 * t1702 - 0.2376e-8 * t338 * t1705 + 0.6912e-8 * t1708 * t1688 - 0.55296e-10 * t707 * t1702 + 0.3168e-8 * t707 * t1705 + 0.10368e-12 * t345 * t1717 * t1244 - 0.9504e-11 * t345 * t712 * t1238; + const double t1725 = t318 * t1724; + const double t1728 = 0.2e1 * t1043; + const double t1729 = piecewise_functor_3( t7, 0.0, t1728 ); + const double t1735 = t16 * t359 * t725; + const double t1737 = t1061 * t720; + const double t1740 = t363 * t2; + const double t1744 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1737 * t354 - 0.2e1 / 0.3e1 * t1740 * t1042 ); + const double t1746 = t16 * t20 * t1744; + const double t1748 = t1055 - 0.17808333333333333333e-1 * t1057 - 0.17808333333333333333e-1 * t1735 + 0.53425e-1 * t1746; + const double t1750 = 0.62182e-1 * t1748 * t51; + const double t1751 = t729 * t374; + const double t1753 = 0.1e1 * t1751 * t398; + const double t1755 = 0.1e1 * t1075 * t743; + const double t1756 = t743 * t396; + const double t1758 = 0.2e1 * t1080 * t1756; + const double t1759 = t1086 * t732; + const double t1760 = t1759 * t378; + const double t1764 = t1090 - t1057 / 0.3e1 - t1735 / 0.3e1 + t1746; + const double t1765 = t376 * t1764; + const double t1770 = t1098 * t732; + const double t1771 = t1770 * t378; + const double t1773 = t383 * t1764; + const double t1777 = t38 * t388 * t738; + const double t1779 = t366 * t725; + const double t1781 = t38 * t42 * t1779; + const double t1783 = t25 * t1744; + const double t1785 = t38 * t42 * t1783; + const double t1787 = -0.9494625e0 * t1760 + 0.1898925e1 * t1765 + t1095 - 0.29896666666666666667e0 * t1057 - 0.29896666666666666667e0 * t1735 + 0.8969e0 * t1746 + 0.15358125e0 * t1771 + 0.3071625e0 * t1773 + t1108 - 0.16431333333333333333e0 * t1110 - 0.16431333333333333333e0 * t1777 + 0.24647e0 * t1781 + 0.24647e0 * t1785; + const double t1788 = t1787 * t397; + const double t1790 = 0.1e1 * t375 * t1788; + const double t1791 = t742 * t1128; + const double t1792 = t1791 * t396; + const double t1794 = 0.16081824322151104822e2 * t1126 * t1792; + const double t1798 = t1132 - 0.17123333333333333333e-1 * t1057 - 0.17123333333333333333e-1 * t1735 + 0.5137e-1 * t1746; + const double t1801 = t747 * t407; + const double t1806 = t755 * t415; + const double t1820 = -0.17648625e1 * t1760 + 0.3529725e1 * t1765 + t1150 - 0.516475e0 * t1057 - 0.516475e0 * t1735 + 0.1549425e1 * t1746 + 0.31558125e0 * t1771 + 0.6311625e0 * t1773 + t1155 - 0.20839e0 * t1110 - 0.20839e0 * t1777 + 0.312585e0 * t1781 + 0.312585e0 * t1785; + const double t1821 = t1820 * t416; + const double t1824 = t754 * t1167; + const double t1825 = t1824 * t415; + const double t1831 = t1171 - 0.92708333333333333333e-2 * t1057 - 0.92708333333333333333e-2 * t1735 + 0.278125e-1 * t1746; + const double t1832 = t1831 * t88; + const double t1834 = t759 * t426; + const double t1839 = t767 * t434; + const double t1853 = -0.1294625e1 * t1760 + 0.258925e1 * t1765 + t1189 - 0.301925e0 * t1057 - 0.301925e0 * t1735 + 0.905775e0 * t1746 + 0.82524375e-1 * t1771 + 0.16504875e0 * t1773 + t1194 - 0.16557e0 * t1110 - 0.16557e0 * t1777 + 0.248355e0 * t1781 + 0.248355e0 * t1785; + const double t1854 = t1853 * t435; + const double t1857 = t766 * t1206; + const double t1858 = t1857 * t434; + const double t1861 = -0.3109e-1 * t1798 * t75 + 0.1e1 * t1801 * t417 + 0.1e1 * t1138 * t755 - 0.2e1 * t1143 * t1806 + 0.1e1 * t408 * t1821 + 0.32164683177870697974e2 * t1165 * t1825 + t1750 - t1753 - t1755 + t1758 - t1790 - t1794 - 0.19751789702565206229e-1 * t1832 + 0.58482233974552040708e0 * t1834 * t436 + 0.58482233974552040708e0 * t1177 * t767 - 0.11696446794910408142e1 * t1182 * t1839 + 0.58482233974552040708e0 * t427 * t1854 + 0.17315755899375863299e2 * t1204 * t1858; + const double t1865 = t64 * t759; + const double t1870 = t1181 * t766; + const double t1871 = t1870 * t436; + const double t1875 = t426 * t1853 * t435; + const double t1878 = t1203 * t766; + const double t1879 = t1206 * t434; + const double t1880 = t1878 * t1879; + const double t1883 = -t1750 + t1753 + t1755 - t1758 + t1790 + t1794 + t64 * t1861 + 0.19751789702565206229e-1 * t64 * t1832 - 0.58482233974552040708e0 * t1865 * t445 - 0.58482233974552040708e0 * t1214 * t775 + 0.11696446794910408142e1 * t443 * t1871 - 0.58482233974552040708e0 * t443 * t1875 - 0.17315755899375863299e2 * t443 * t1880; + const double t1887 = piecewise_functor_3( t8, 0.0, t1729 * t95 / 0.2e1 + t9 * t1883 / 0.2e1 + t355 * t778 / 0.2e1 + t721 * t448 / 0.2e1 ); + const double t1888 = t1887 * t147; + const double t1889 = t782 * t496; + const double t1890 = piecewise_functor_3( t151, 0.0, -t1728 ); + const double t1896 = t16 * t359 * t789; + const double t1898 = t1304 * t784; + const double t1901 = t504 * t2; + const double t1905 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1898 * t498 + 0.2e1 / 0.3e1 * t1901 * t1042 ); + const double t1907 = t16 * t20 * t1905; + const double t1909 = t1298 - 0.17808333333333333333e-1 * t1300 - 0.17808333333333333333e-1 * t1896 + 0.53425e-1 * t1907; + const double t1911 = 0.62182e-1 * t1909 * t174; + const double t1912 = t793 * t515; + const double t1914 = 0.1e1 * t1912 * t536; + const double t1916 = 0.1e1 * t1318 * t807; + const double t1917 = t807 * t534; + const double t1919 = 0.2e1 * t1323 * t1917; + const double t1920 = t1329 * t796; + const double t1921 = t1920 * t519; + const double t1925 = t1333 - t1300 / 0.3e1 - t1896 / 0.3e1 + t1907; + const double t1926 = t517 * t1925; + const double t1931 = t1341 * t796; + const double t1932 = t1931 * t519; + const double t1934 = t524 * t1925; + const double t1938 = t38 * t388 * t802; + const double t1940 = t507 * t789; + const double t1942 = t38 * t42 * t1940; + const double t1944 = t156 * t1905; + const double t1946 = t38 * t42 * t1944; + const double t1948 = -0.9494625e0 * t1921 + 0.1898925e1 * t1926 + t1338 - 0.29896666666666666667e0 * t1300 - 0.29896666666666666667e0 * t1896 + 0.8969e0 * t1907 + 0.15358125e0 * t1932 + 0.3071625e0 * t1934 + t1348 - 0.16431333333333333333e0 * t1350 - 0.16431333333333333333e0 * t1938 + 0.24647e0 * t1942 + 0.24647e0 * t1946; + const double t1949 = t1948 * t535; + const double t1951 = 0.1e1 * t516 * t1949; + const double t1952 = t806 * t1368; + const double t1953 = t1952 * t534; + const double t1955 = 0.16081824322151104822e2 * t1366 * t1953; + const double t1959 = t1372 - 0.17123333333333333333e-1 * t1300 - 0.17123333333333333333e-1 * t1896 + 0.5137e-1 * t1907; + const double t1962 = t811 * t545; + const double t1967 = t819 * t553; + const double t1981 = -0.17648625e1 * t1921 + 0.3529725e1 * t1926 + t1390 - 0.516475e0 * t1300 - 0.516475e0 * t1896 + 0.1549425e1 * t1907 + 0.31558125e0 * t1932 + 0.6311625e0 * t1934 + t1395 - 0.20839e0 * t1350 - 0.20839e0 * t1938 + 0.312585e0 * t1942 + 0.312585e0 * t1946; + const double t1982 = t1981 * t554; + const double t1985 = t818 * t1407; + const double t1986 = t1985 * t553; + const double t1992 = t1411 - 0.92708333333333333333e-2 * t1300 - 0.92708333333333333333e-2 * t1896 + 0.278125e-1 * t1907; + const double t1993 = t1992 * t200; + const double t1995 = t823 * t564; + const double t2000 = t831 * t572; + const double t2014 = -0.1294625e1 * t1921 + 0.258925e1 * t1926 + t1429 - 0.301925e0 * t1300 - 0.301925e0 * t1896 + 0.905775e0 * t1907 + 0.82524375e-1 * t1932 + 0.16504875e0 * t1934 + t1434 - 0.16557e0 * t1350 - 0.16557e0 * t1938 + 0.248355e0 * t1942 + 0.248355e0 * t1946; + const double t2015 = t2014 * t573; + const double t2018 = t830 * t1446; + const double t2019 = t2018 * t572; + const double t2022 = -0.3109e-1 * t1959 * t187 + 0.1e1 * t1962 * t555 + 0.1e1 * t1378 * t819 - 0.2e1 * t1383 * t1967 + 0.1e1 * t546 * t1982 + 0.32164683177870697974e2 * t1405 * t1986 + t1911 - t1914 - t1916 + t1919 - t1951 - t1955 - 0.19751789702565206229e-1 * t1993 + 0.58482233974552040708e0 * t1995 * t574 + 0.58482233974552040708e0 * t1417 * t831 - 0.11696446794910408142e1 * t1422 * t2000 + 0.58482233974552040708e0 * t565 * t2015 + 0.17315755899375863299e2 * t1444 * t2019; + const double t2026 = t64 * t823; + const double t2031 = t1421 * t830; + const double t2032 = t2031 * t574; + const double t2036 = t564 * t2014 * t573; + const double t2039 = t1443 * t830; + const double t2040 = t1446 * t572; + const double t2041 = t2039 * t2040; + const double t2044 = -t1911 + t1914 + t1916 - t1919 + t1951 + t1955 + t64 * t2022 + 0.19751789702565206229e-1 * t64 * t1993 - 0.58482233974552040708e0 * t2026 * t583 - 0.58482233974552040708e0 * t1454 * t839 + 0.11696446794910408142e1 * t581 * t2032 - 0.58482233974552040708e0 * t581 * t2036 - 0.17315755899375863299e2 * t581 * t2041; + const double t2048 = piecewise_functor_3( t152, 0.0, t153 * t2044 / 0.2e1 + t1890 * t207 / 0.2e1 + t499 * t842 / 0.2e1 + t785 * t586 / 0.2e1 ); + const double t2049 = t2048 * t254; + const double t2050 = t590 * t890; + const double t2054 = -t1478 - 0.18311555036753159941e-3 * t1480 + t1485 + t1492 - 0.4e1 * t1493 + t1501 - t1504 - t1509 + t1511 - 0.4e1 * t1513 - t1539 + t1643 - t1647 - t1651; + const double t2056 = t899 * t10; + const double t2057 = t2056 * t675; + const double t2059 = t1517 * t720; + const double t2062 = t23 * t2; + const double t2066 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2059 * t354 + 0.8e1 / 0.3e1 * t2062 * t1042 ); + const double t2067 = t1525 * t784; + const double t2070 = t154 * t2; + const double t2074 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2067 * t498 - 0.8e1 / 0.3e1 * t2070 * t1042 ); + const double t2076 = ( t2066 + t2074 ) * t63; + const double t2079 = t620 * t900; + const double t2081 = t625 * t900; + const double t2083 = t2076 * t313; + const double t2085 = t899 * t668; + const double t2086 = t280 * t2085; + const double t2087 = t899 * t301; + const double t2088 = t2087 * t680; + const double t2090 = -0.58482233974552040708e0 * t1653 - 0.18311555036753159941e-3 * t2057 - t1887 + t1658 + 0.19751789702565206229e-1 * t2076 * t311 + 0.4e1 * t2079 - 0.4e1 * t2081 + t280 * t2083 + t2086 - 0.58482233974552040708e0 * t2088 + t1611 - t1593 + t1603 - t2048; + const double t2091 = t2054 + t2090; + const double t2092 = t2091 * t350; + const double t2093 = t904 * t716; + const double t2094 = t683 * t932; + const double t2095 = t906 * t850; + const double t2098 = t322 * t340; + const double t2099 = sigma_bb * t850; + const double t2100 = sigma_aa * t456; + const double t2101 = t2099 * t2100; + const double t2104 = t329 * sigma_aa; + const double t2105 = t2104 * t456; + const double t2108 = t693 * t340; + const double t2111 = t331 * t347; + const double t2114 = t1694 * t340; + const double t2117 = t700 * t347; + const double t2120 = t338 * t711; + const double t2123 = t1708 * t347; + const double t2126 = t707 * t711; + const double t2129 = t345 * t1716; + const double t2132 = -0.128e-3 * t2095 * t690 + 0.384e-6 * t2098 * t2101 + 0.128e-3 * t2105 * t911 - 0.1536e-5 * t2108 * t2101 + 0.3456e-8 * t2111 * t2101 + 0.1152e-5 * t2114 * t2101 - 0.10368e-7 * t2117 * t2101 + 0.20736e-10 * t2120 * t2101 + 0.6912e-8 * t2123 * t2101 - 0.55296e-10 * t2126 * t2101 + 0.10368e-12 * t2129 * t2101; + const double t2133 = t318 * t2132; + const double t2142 = 0.2e1 * t352 + 0.2e1 * t1043; + const double t2143 = piecewise_functor_3( t7, 0.0, t2142 ); + const double t2148 = t720 * t720; + const double t2154 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t2148 - t363 * t2142 / 0.3e1 ); + const double t2156 = t16 * t20 * t2154; + const double t2158 = t1055 - 0.35616666666666666666e-1 * t1735 + 0.53425e-1 * t2156; + const double t2160 = 0.62182e-1 * t2158 * t51; + const double t2162 = 0.2e1 * t1751 * t743; + const double t2163 = t742 * t742; + const double t2164 = t2163 * t397; + const double t2166 = 0.2e1 * t1080 * t2164; + const double t2167 = t732 * t732; + const double t2168 = t1086 * t2167; + const double t2171 = t1090 - 0.2e1 / 0.3e1 * t1735 + t2156; + const double t2172 = t376 * t2171; + const double t2176 = t1098 * t2167; + const double t2178 = t383 * t2171; + const double t2181 = t725 * t725; + const double t2183 = t38 * t42 * t2181; + const double t2185 = t25 * t2154; + const double t2187 = t38 * t42 * t2185; + const double t2189 = -0.9494625e0 * t2168 + 0.1898925e1 * t2172 + t1095 - 0.59793333333333333334e0 * t1735 + 0.8969e0 * t2156 + 0.15358125e0 * t2176 + 0.3071625e0 * t2178 + t1108 - 0.32862666666666666666e0 * t1777 + 0.24647e0 * t2183 + 0.24647e0 * t2187; + const double t2190 = t2189 * t397; + const double t2192 = 0.1e1 * t375 * t2190; + const double t2193 = t2163 * t1128; + const double t2195 = 0.16081824322151104822e2 * t1126 * t2193; + const double t2198 = t1132 - 0.34246666666666666666e-1 * t1735 + 0.5137e-1 * t2156; + const double t2203 = t754 * t754; + const double t2204 = t2203 * t416; + const double t2216 = -0.17648625e1 * t2168 + 0.3529725e1 * t2172 + t1150 - 0.103295e1 * t1735 + 0.1549425e1 * t2156 + 0.31558125e0 * t2176 + 0.6311625e0 * t2178 + t1155 - 0.41678e0 * t1777 + 0.312585e0 * t2183 + 0.312585e0 * t2187; + const double t2217 = t2216 * t416; + const double t2220 = t2203 * t1167; + const double t2225 = t1171 - 0.18541666666666666667e-1 * t1735 + 0.278125e-1 * t2156; + const double t2226 = t2225 * t88; + const double t2230 = t766 * t766; + const double t2231 = t2230 * t435; + const double t2243 = -0.1294625e1 * t2168 + 0.258925e1 * t2172 + t1189 - 0.60385e0 * t1735 + 0.905775e0 * t2156 + 0.82524375e-1 * t2176 + 0.16504875e0 * t2178 + t1194 - 0.33114e0 * t1777 + 0.248355e0 * t2183 + 0.248355e0 * t2187; + const double t2244 = t2243 * t435; + const double t2247 = t2230 * t1206; + const double t2250 = -0.3109e-1 * t2198 * t75 + 0.2e1 * t1801 * t755 - 0.2e1 * t1143 * t2204 + 0.1e1 * t408 * t2217 + 0.32164683177870697974e2 * t1165 * t2220 + t2160 - t2162 + t2166 - t2192 - t2195 - 0.19751789702565206229e-1 * t2226 + 0.11696446794910408142e1 * t1834 * t767 - 0.11696446794910408142e1 * t1182 * t2231 + 0.58482233974552040708e0 * t427 * t2244 + 0.17315755899375863299e2 * t1204 * t2247; + const double t2257 = t1181 * t2230 * t435; + const double t2261 = t426 * t2243 * t435; + const double t2264 = t1203 * t2230; + const double t2265 = t2264 * t1206; + const double t2268 = -t2160 + t2162 - t2166 + t2192 + t2195 + t64 * t2250 + 0.19751789702565206229e-1 * t64 * t2226 - 0.11696446794910408142e1 * t1865 * t775 + 0.11696446794910408142e1 * t443 * t2257 - 0.58482233974552040708e0 * t443 * t2261 - 0.17315755899375863299e2 * t443 * t2265; + const double t2272 = piecewise_functor_3( t8, 0.0, t2143 * t95 / 0.2e1 + t721 * t778 + t9 * t2268 / 0.2e1 ); + const double t2273 = t2272 * t147; + const double t2274 = -t2142; + const double t2275 = piecewise_functor_3( t151, 0.0, t2274 ); + const double t2280 = t784 * t784; + const double t2286 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t2280 - t504 * t2274 / 0.3e1 ); + const double t2288 = t16 * t20 * t2286; + const double t2290 = t1298 - 0.35616666666666666666e-1 * t1896 + 0.53425e-1 * t2288; + const double t2292 = 0.62182e-1 * t2290 * t174; + const double t2294 = 0.2e1 * t1912 * t807; + const double t2295 = t806 * t806; + const double t2296 = t2295 * t535; + const double t2298 = 0.2e1 * t1323 * t2296; + const double t2299 = t796 * t796; + const double t2300 = t1329 * t2299; + const double t2303 = t1333 - 0.2e1 / 0.3e1 * t1896 + t2288; + const double t2304 = t517 * t2303; + const double t2308 = t1341 * t2299; + const double t2310 = t524 * t2303; + const double t2313 = t789 * t789; + const double t2315 = t38 * t42 * t2313; + const double t2317 = t156 * t2286; + const double t2319 = t38 * t42 * t2317; + const double t2321 = -0.9494625e0 * t2300 + 0.1898925e1 * t2304 + t1338 - 0.59793333333333333334e0 * t1896 + 0.8969e0 * t2288 + 0.15358125e0 * t2308 + 0.3071625e0 * t2310 + t1348 - 0.32862666666666666666e0 * t1938 + 0.24647e0 * t2315 + 0.24647e0 * t2319; + const double t2322 = t2321 * t535; + const double t2324 = 0.1e1 * t516 * t2322; + const double t2325 = t2295 * t1368; + const double t2327 = 0.16081824322151104822e2 * t1366 * t2325; + const double t2330 = t1372 - 0.34246666666666666666e-1 * t1896 + 0.5137e-1 * t2288; + const double t2335 = t818 * t818; + const double t2336 = t2335 * t554; + const double t2348 = -0.17648625e1 * t2300 + 0.3529725e1 * t2304 + t1390 - 0.103295e1 * t1896 + 0.1549425e1 * t2288 + 0.31558125e0 * t2308 + 0.6311625e0 * t2310 + t1395 - 0.41678e0 * t1938 + 0.312585e0 * t2315 + 0.312585e0 * t2319; + const double t2349 = t2348 * t554; + const double t2352 = t2335 * t1407; + const double t2357 = t1411 - 0.18541666666666666667e-1 * t1896 + 0.278125e-1 * t2288; + const double t2358 = t2357 * t200; + const double t2362 = t830 * t830; + const double t2363 = t2362 * t573; + const double t2375 = -0.1294625e1 * t2300 + 0.258925e1 * t2304 + t1429 - 0.60385e0 * t1896 + 0.905775e0 * t2288 + 0.82524375e-1 * t2308 + 0.16504875e0 * t2310 + t1434 - 0.33114e0 * t1938 + 0.248355e0 * t2315 + 0.248355e0 * t2319; + const double t2376 = t2375 * t573; + const double t2379 = t2362 * t1446; + const double t2382 = -0.3109e-1 * t2330 * t187 + 0.2e1 * t1962 * t819 - 0.2e1 * t1383 * t2336 + 0.1e1 * t546 * t2349 + 0.32164683177870697974e2 * t1405 * t2352 + t2292 - t2294 + t2298 - t2324 - t2327 - 0.19751789702565206229e-1 * t2358 + 0.11696446794910408142e1 * t1995 * t831 - 0.11696446794910408142e1 * t1422 * t2363 + 0.58482233974552040708e0 * t565 * t2376 + 0.17315755899375863299e2 * t1444 * t2379; + const double t2389 = t1421 * t2362 * t573; + const double t2393 = t564 * t2375 * t573; + const double t2396 = t1443 * t2362; + const double t2397 = t2396 * t1446; + const double t2400 = -t2292 + t2294 - t2298 + t2324 + t2327 + t64 * t2382 + 0.19751789702565206229e-1 * t64 * t2358 - 0.11696446794910408142e1 * t2026 * t839 + 0.11696446794910408142e1 * t581 * t2389 - 0.58482233974552040708e0 * t581 * t2393 - 0.17315755899375863299e2 * t581 * t2397; + const double t2404 = piecewise_functor_3( t152, 0.0, t2275 * t207 / 0.2e1 + t785 * t842 + t153 * t2400 / 0.2e1 ); + const double t2405 = t2404 * t254; + const double t2406 = t846 * t890; + const double t2407 = 0.2e1 * t2406; + const double t2409 = 0.1e1 / t214 / t226; + const double t2413 = t226 * t848; + const double t2415 = 0.1e1 / t213 / t2413; + const double t2416 = t2415 * t231; + const double t2419 = t100 * t235; + const double t2420 = 0.1e1 / t246; + const double t2421 = t2420 * t240; + const double t2428 = t114 * t244; + const double t2429 = t237 * t226; + const double t2431 = 0.1e1 / t214 / t2429; + const double t2432 = t2431 * t250; + const double t2439 = t126 * t880; + const double t2443 = 0.1e1 / t213 / t237 / t2413 * t886; + const double t2450 = t244 * t224; + const double t2451 = t136 * t2450; + const double t2452 = t237 * t237; + const double t2453 = t2452 * t212; + const double t2456 = 0.1e1 / t249 / t230; + const double t2457 = 0.1e1 / t2453 * t2456; + const double t2460 = 0.19555555555555555555e1 * t211 * t2409 * t220 - 0.96000000000000000002e0 * t854 * t2416 + 0.11377777777777777778e0 * t2419 * t2421 + 0.13511111111111111111e1 * t225 * t2416 - 0.61155555555555555557e0 * t863 * t2421 + 0.68266666666666666669e-1 * t2428 * t2432 + 0.576e0 * t236 * t2421 - 0.25173333333333333333e0 * t871 * t2432 + 0.27306666666666666666e-1 * t2439 * t2443 + 0.19911111111111111112e0 * t245 * t2432 - 0.85333333333333333333e-1 * t881 * t2443 + 0.91022222222222222219e-2 * t2451 * t2457; + const double t2461 = t210 * t2460; + const double t2467 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t2148 + 0.4e1 / 0.3e1 * t23 * t2142 ); + const double t2473 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t2280 + 0.4e1 / 0.3e1 * t154 * t2274 ); + const double t2475 = ( t2467 + t2473 ) * t63; + const double t2476 = t2475 * t313; + const double t2478 = t280 * t2476 - t1478 + t1485 + t1492 - t1496 + t1501 + t1504 + t1507 - t1509 - t1539 + t1643 - t2404; + const double t2486 = -t1647 - t1651 - 0.36623110073506319882e-3 * t2057 - t2272 + t1658 + 0.19751789702565206229e-1 * t2475 * t311 - 0.8e1 * t2079 - 0.8e1 * t2081 + 0.2e1 * t2086 - 0.11696446794910408142e1 * t2088 + t1611 - t1593 + t1603; + const double t2487 = t2478 + t2486; + const double t2488 = t2487 * t350; + const double t2489 = t904 * t932; + const double t2490 = 0.2e1 * t2489; + const double t2494 = t320 * t224; + const double t2495 = t2415 * t333; + const double t2498 = t340 * t224; + const double t2499 = t2498 * t2415; + const double t2502 = t910 * t2409; + const double t2505 = t329 * t224; + const double t2512 = t347 * t224; + const double t2513 = t2512 * t2415; + const double t2516 = t916 * t2409; + const double t2525 = t711 * t224; + const double t2526 = t2525 * t2415; + const double t2529 = t922 * t2409; + const double t2538 = t1716 * t224; + const double t2545 = 0.29333333333333333333e-1 * t906 * t2409 * t326 - 0.128e-3 * t2494 * t2495 + 0.384e-6 * t322 * t2499 - 0.88e-4 * t322 * t2502 + 0.128e-3 * t2505 * t2495 - 0.1536e-5 * t693 * t2499 + 0.176e-3 * t693 * t2502 + 0.3456e-8 * t331 * t2513 - 0.528e-6 * t331 * t2516 + 0.1152e-5 * t1694 * t2499 - 0.10368e-7 * t700 * t2513 + 0.792e-6 * t700 * t2516 + 0.20736e-10 * t338 * t2526 - 0.2376e-8 * t338 * t2529 + 0.6912e-8 * t1708 * t2513 - 0.55296e-10 * t707 * t2526 + 0.3168e-8 * t707 * t2529 + 0.10368e-12 * t345 * t2538 * t2415 - 0.9504e-11 * t345 * t928 * t2409; + const double t2546 = t318 * t2545; + const double t2549 = t452 * t960; + const double t2553 = t100 * t463; + const double t2554 = t122 * sigma_aa; + const double t2575 = t1281 * rho_a; + const double t2577 = 0.1e1 / t2575 * t1285; + const double t2580 = -0.53333333333333333333e0 * t100 * t456 * t110 + 0.32e0 * t2553 * t2554 - 0.42666666666666666668e-1 * t460 * t472 - 0.42666666666666666667e0 * t941 * t464 + 0.21333333333333333334e0 * t116 * t472 - 0.256e-1 * t469 * t481 - 0.192e0 * t946 * t472 + 0.896e-1 * t128 * t481 - 0.1024e-1 * t477 * t493 - 0.68266666666666666667e-1 * t951 * t481 + 0.3072e-1 * t138 * t493 - 0.34133333333333333332e-2 * t487 * t2577; + const double t2581 = t98 * t2580; + const double t2582 = t683 * t983; + const double t2583 = t320 * t456; + const double t2586 = t320 * t463; + const double t2589 = t340 * t463; + const double t2590 = t2589 * sigma_aa; + const double t2593 = t333 * t456; + const double t2603 = t347 * t463; + const double t2604 = t2603 * sigma_aa; + const double t2607 = t340 * t456; + const double t2616 = t711 * t463; + const double t2617 = t2616 * sigma_aa; + const double t2620 = t347 * t456; + const double t2629 = t1716 * t463; + const double t2636 = -0.8e-2 * t2583 * t326 + 0.48e-4 * t2586 * t689 - 0.144e-6 * t322 * t2590 + 0.24e-4 * t322 * t2593 - 0.48e-4 * t2104 * t463 * t333 + 0.576e-6 * t693 * t2590 - 0.48e-4 * t693 * t2593 - 0.1296e-8 * t331 * t2604 + 0.144e-6 * t331 * t2607 - 0.432e-6 * t1694 * t2590 + 0.3888e-8 * t700 * t2604 - 0.216e-6 * t700 * t2607 - 0.7776e-11 * t338 * t2617 + 0.648e-9 * t338 * t2620 - 0.2592e-8 * t1708 * t2604 + 0.20736e-10 * t707 * t2617 - 0.864e-9 * t707 * t2620 - 0.3888e-13 * t345 * t2629 * sigma_aa + 0.2592e-11 * t345 * t711 * t456; + const double t2637 = t318 * t2636; + const double t2640 = t590 * t1010; + const double t2641 = t683 * t1033; + const double t2644 = t216 * sigma_aa; + const double t2645 = t2644 * t456; + const double t2667 = 0.48e-4 * t1012 * t690 - 0.144e-6 * t2098 * t2645 - 0.48e-4 * t2104 * t2593 * t216 + 0.576e-6 * t2108 * t2645 - 0.1296e-8 * t2111 * t2645 - 0.432e-6 * t2114 * t2645 + 0.3888e-8 * t2117 * t2645 - 0.7776e-11 * t2120 * t2645 - 0.2592e-8 * t2123 * t2645 + 0.20736e-10 * t2126 * t2645 - 0.3888e-13 * t2129 * t2645; + const double t2668 = t318 * t2667; + const double t2671 = t782 * t960; + const double t2672 = t904 * t983; + const double t2675 = t106 * sigma_bb; + const double t2676 = t2675 * t850; + const double t2679 = t329 * sigma_bb; + const double t2680 = t850 * t333; + const double t2700 = 0.48e-4 * t962 * t911 - 0.144e-6 * t2098 * t2676 - 0.48e-4 * t2679 * t2680 * t106 + 0.576e-6 * t2108 * t2676 - 0.1296e-8 * t2111 * t2676 - 0.432e-6 * t2114 * t2676 + 0.3888e-8 * t2117 * t2676 - 0.7776e-11 * t2120 * t2676 - 0.2592e-8 * t2123 * t2676 + 0.20736e-10 * t2126 * t2676 - 0.3888e-13 * t2129 * t2676; + const double t2701 = t318 * t2700; + const double t2704 = t846 * t1010; + const double t2708 = t100 * t857; + const double t2709 = t231 * sigma_bb; + const double t2730 = t2452 * rho_b; + const double t2732 = 0.1e1 / t2730 * t2456; + const double t2735 = -0.53333333333333333333e0 * t100 * t850 * t220 + 0.32e0 * t2708 * t2709 - 0.42666666666666666668e-1 * t854 * t866 - 0.42666666666666666667e0 * t991 * t858 + 0.21333333333333333334e0 * t225 * t866 - 0.256e-1 * t863 * t875 - 0.192e0 * t996 * t866 + 0.896e-1 * t236 * t875 - 0.1024e-1 * t871 * t887 - 0.68266666666666666667e-1 * t1001 * t875 + 0.3072e-1 * t245 * t887 - 0.34133333333333333332e-2 * t881 * t2732; + const double t2736 = t210 * t2735; + const double t2737 = t904 * t1033; + const double t2738 = t320 * t850; + const double t2741 = t320 * t857; + const double t2744 = t340 * t857; + const double t2745 = t2744 * sigma_bb; + const double t2757 = t347 * t857; + const double t2758 = t2757 * sigma_bb; + const double t2761 = t340 * t850; + const double t2770 = t711 * t857; + const double t2771 = t2770 * sigma_bb; + const double t2774 = t347 * t850; + const double t2783 = t1716 * t857; + const double t2787 = t711 * t850; + const double t2790 = -0.8e-2 * t2738 * t326 + 0.48e-4 * t2741 * t910 - 0.144e-6 * t322 * t2745 + 0.24e-4 * t322 * t2680 - 0.48e-4 * t2679 * t857 * t333 + 0.576e-6 * t693 * t2745 - 0.48e-4 * t693 * t2680 - 0.1296e-8 * t331 * t2758 + 0.144e-6 * t331 * t2761 - 0.432e-6 * t1694 * t2745 + 0.3888e-8 * t700 * t2758 - 0.216e-6 * t700 * t2761 - 0.7776e-11 * t338 * t2771 + 0.648e-9 * t338 * t2774 - 0.2592e-8 * t1708 * t2758 + 0.20736e-10 * t707 * t2771 - 0.864e-9 * t707 * t2774 - 0.3888e-13 * t345 * t2783 * sigma_bb + 0.2592e-11 * t345 * t2787; + const double t2791 = t318 * t2790; + const double t2806 = t126 * sigma_aa; + const double t2813 = t136 * t115; + const double t2819 = 0.1e1 / t1281 * t1285; + const double t2822 = -0.8e-1 * t100 * t120 * t122 + 0.16e-1 * t101 * t133 + 0.8e-1 * t114 * t120 * t122 - 0.64e-1 * t941 * t133 + 0.96e-2 * t116 * t144 + 0.48e-1 * t2806 * t133 - 0.288e-1 * t946 * t144 + 0.384e-2 * t128 * t957 + 0.192e-1 * t2813 * t144 - 0.1024e-1 * t951 * t957 + 0.128e-2 * t138 * t2819; + const double t2823 = t98 * t2822; + const double t2824 = t320 * t120; + const double t2827 = t340 * t120; + const double t2830 = t329 * t120; + const double t2835 = t347 * t120; + const double t2842 = t711 * t120; + const double t2852 = -0.18e-4 * t2824 * t333 + 0.54e-7 * t322 * t2827 + 0.18e-4 * t2830 * t333 - 0.216e-6 * t693 * t2827 + 0.486e-9 * t331 * t2835 + 0.162e-6 * t1694 * t2827 - 0.1458e-8 * t700 * t2835 + 0.2916e-11 * t338 * t2842 + 0.972e-9 * t1708 * t2835 - 0.7776e-11 * t707 * t2842 + 0.1458e-13 * t345 * t1716 * t120; + const double t2853 = t318 * t2852; + const double t2855 = t3 * t318; + const double t2858 = t1020 * t106; + const double t2861 = t329 * t106; + const double t2866 = t1025 * t106; + const double t2873 = t1030 * t106; + const double t2880 = t1716 * t216; + const double t2884 = -0.18e-4 * t1012 * t965 + 0.54e-7 * t322 * t2858 + 0.18e-4 * t2861 * t1015 - 0.216e-6 * t693 * t2858 + 0.486e-9 * t331 * t2866 + 0.162e-6 * t1694 * t2858 - 0.1458e-8 * t700 * t2866 + 0.2916e-11 * t338 * t2873 + 0.972e-9 * t1708 * t2866 - 0.7776e-11 * t707 * t2873 + 0.1458e-13 * t345 * t2880 * t106; + const double t2897 = t126 * sigma_bb; + const double t2904 = t136 * t224; + const double t2910 = 0.1e1 / t2452 * t2456; + const double t2913 = -0.8e-1 * t100 * t229 * t231 + 0.16e-1 * t211 * t241 + 0.8e-1 * t114 * t229 * t231 - 0.64e-1 * t991 * t241 + 0.96e-2 * t225 * t251 + 0.48e-1 * t2897 * t241 - 0.288e-1 * t996 * t251 + 0.384e-2 * t236 * t1007 + 0.192e-1 * t2904 * t251 - 0.1024e-1 * t1001 * t1007 + 0.128e-2 * t245 * t2910; + const double t2914 = t210 * t2913; + const double t2915 = t320 * t229; + const double t2918 = t340 * t229; + const double t2921 = t329 * t229; + const double t2926 = t347 * t229; + const double t2933 = t711 * t229; + const double t2940 = t1716 * t229; + const double t2943 = -0.18e-4 * t2915 * t333 + 0.54e-7 * t322 * t2918 + 0.18e-4 * t2921 * t333 - 0.216e-6 * t693 * t2918 + 0.486e-9 * t331 * t2926 + 0.162e-6 * t1694 * t2918 - 0.1458e-8 * t700 * t2926 + 0.2916e-11 * t338 * t2933 + 0.972e-9 * t1708 * t2926 - 0.7776e-11 * t707 * t2933 + 0.1458e-13 * t345 * t2940; + const double t2944 = t318 * t2943; + + + vrho_a = t148 + t255 + t351 + t3 * ( t453 + t497 + t591 + t684 + t717 ); + vrho_b = t148 + t255 + t351 + t3 * ( t783 + t847 + t891 + t905 + t933 ); + vsigma_aa = t3 * ( t961 + t984 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1011 + t1034 ); + v2rho2_aa = 0.2e1 * t453 + 0.2e1 * t497 + 0.2e1 * t591 + 0.2e1 * t684 + 0.2e1 * t717 + t3 * ( t1234 + t1236 + t1290 + t1474 + t1663 + t1665 + t1725 ); + v2rho2_ab = t453 + t497 + t591 + t684 + t717 + t783 + t847 + t891 + t905 + t933 + t3 * ( t1888 + t1889 + t2049 + t2050 + t2092 + t2093 + t2094 + t2133 ); + v2rho2_bb = 0.2e1 * t783 + 0.2e1 * t847 + 0.2e1 * t891 + 0.2e1 * t905 + 0.2e1 * t933 + t3 * ( t2273 + t2405 + t2407 + t2461 + t2488 + t2490 + t2546 ); + v2rhosigma_a_aa = t961 + t984 + t3 * ( t2549 + t2581 + t2582 + t2637 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1011 + t1034 + t3 * ( t2640 + t2641 + t2668 ); + v2rhosigma_b_aa = t961 + t984 + t3 * ( t2671 + t2672 + t2701 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1011 + t1034 + t3 * ( t2704 + t2736 + t2737 + t2791 ); + v2sigma2_aa_aa = t3 * ( t2823 + t2853 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t2855 * t2884; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t2914 + t2944 ); + + } + + +}; + +struct BuiltinN12_C : detail::BuiltinKernelImpl< BuiltinN12_C > { + + BuiltinN12_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinN12_C >(p) { } + + virtual ~BuiltinN12_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/n12_sx_c.hpp b/include/exchcxx/impl/builtin/kernels/n12_sx_c.hpp new file mode 100644 index 0000000..54525ef --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/n12_sx_c.hpp @@ -0,0 +1,4651 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinN12_SX_C > : + public gga_screening_interface< BuiltinN12_SX_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_ss_0 = 2.63373e+00; + static constexpr double c_ss_1 = -1.05450e+00; + static constexpr double c_ss_2 = -7.29853e-01; + static constexpr double c_ss_3 = 4.94024e+00; + static constexpr double c_ss_4 = -7.31760e+00; + static constexpr double c_ab_0 = 8.33615e-01; + static constexpr double c_ab_1 = 3.24128e+00; + static constexpr double c_ab_2 = -1.06407e+01; + static constexpr double c_ab_3 = -1.60471e+01; + static constexpr double c_ab_4 = 2.51047e+01; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + + + eps = t145 + t216; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + + + eps = t145 + t216; + vrho = t145 + t216 + rho * ( 0.2e1 * t302 + 0.2e1 * t351 + t399 + t429 ); + vsigma = rho * ( t460 + t484 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + constexpr double t715 = t30 * t10; + constexpr double t830 = t94 * t15; + constexpr double t865 = t186 * t15; + constexpr double t900 = t108 * t15; + constexpr double t931 = t194 * t15; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + const double t491 = 0.1e1 / t13 / t96; + const double t492 = t491 * t15; + const double t495 = 0.14764770444444444444e-2 * t12 * t492 * t220; + const double t498 = t231 * t225 * t249 * t250; + const double t500 = 0.35616666666666666667e-1 * t365 * t498; + const double t501 = t224 * t41; + const double t502 = 0.1e1 / t501; + const double t503 = t23 * t502; + const double t504 = t249 * t249; + const double t505 = t504 * t250; + const double t507 = 0.2e1 * t503 * t505; + const double t511 = 0.1e1 / t24 / t21 * t29 * t30; + const double t512 = t10 * t98; + const double t513 = t35 * t37; + const double t514 = t512 * t513; + const double t515 = t511 * t514; + const double t517 = t11 * t491; + const double t518 = t517 * t231; + const double t519 = t229 * t518; + const double t521 = t492 * t19; + const double t522 = t12 * t521; + const double t524 = 0.1e1/safe_math::sqrt( t21 ); + const double t526 = t524 * t29 * t30; + const double t527 = t526 * t514; + const double t529 = t240 * t518; + const double t532 = t32 * t99 * t37; + const double t534 = -0.42198333333333333333e0 * t515 + 0.84396666666666666666e0 * t519 + 0.39862222222222222223e0 * t522 + 0.68258333333333333333e-1 * t527 + 0.13651666666666666667e0 * t529 + 0.13692777777777777778e0 * t532; + const double t537 = 0.1e1 * t226 * t534 * t250; + const double t538 = t224 * t224; + const double t539 = 0.1e1 / t538; + const double t540 = t23 * t539; + const double t541 = t44 * t44; + const double t542 = 0.1e1 / t541; + const double t543 = t504 * t542; + const double t545 = 0.16081824322151104822e2 * t540 * t543; + const double t551 = t231 * t259 * t265 * t266; + const double t554 = t258 * t65; + const double t555 = 0.1e1 / t554; + const double t556 = t60 * t555; + const double t557 = t265 * t265; + const double t558 = t557 * t266; + const double t567 = -0.78438333333333333333e0 * t515 + 0.15687666666666666667e1 * t519 + 0.68863333333333333333e0 * t522 + 0.14025833333333333333e0 * t527 + 0.28051666666666666667e0 * t529 + 0.17365833333333333333e0 * t532; + const double t571 = t258 * t258; + const double t572 = 0.1e1 / t571; + const double t573 = t60 * t572; + const double t574 = t68 * t68; + const double t575 = 0.1e1 / t574; + const double t576 = t557 * t575; + const double t582 = t231 * t295; + const double t585 = t274 * t78; + const double t586 = 0.1e1 / t585; + const double t587 = t73 * t586; + const double t588 = t281 * t281; + const double t589 = t588 * t282; + const double t598 = -0.57538888888888888889e0 * t515 + 0.11507777777777777778e1 * t519 + 0.40256666666666666667e0 * t522 + 0.366775e-1 * t527 + 0.73355e-1 * t529 + 0.137975e0 * t532; + const double t599 = t598 * t282; + const double t602 = t274 * t274; + const double t603 = 0.1e1 / t602; + const double t604 = t73 * t603; + const double t605 = t81 * t81; + const double t606 = 0.1e1 / t605; + const double t607 = t588 * t606; + const double t610 = -0.70981924444444444442e-3 * t12 * t492 * t254 - 0.34246666666666666666e-1 * t365 * t551 - 0.2e1 * t556 * t558 + 0.1e1 * t260 * t567 * t266 + 0.32164683177870697974e2 * t573 * t576 + t495 + t500 + t507 - t537 - t545 - 0.24415406715670879921e-3 * t12 * t492 * t270 - 0.10843580882781524214e-1 * t365 * t582 - 0.11696446794910408142e1 * t587 * t589 + 0.58482233974552040708e0 * t276 * t599 + 0.17315755899375863299e2 * t604 * t607; + const double t615 = t58 * t12; + const double t620 = t586 * t588 * t282; + const double t624 = t275 * t598 * t282; + const double t627 = t603 * t588; + const double t628 = t627 * t606; + const double t631 = -t495 - t500 - t507 + t537 + t545 + t58 * t610 + 0.24415406715670879921e-3 * t288 * t517 * t289 + 0.10843580882781524214e-1 * t615 * t235 * t295 + 0.11696446794910408142e1 * t293 * t620 - 0.58482233974552040708e0 * t293 * t624 - 0.17315755899375863299e2 * t293 * t628; + const double t634 = piecewise_functor_3( t4, 0.0, t5 * t631 / 0.2e1 ); + const double t635 = t634 * t143; + const double t637 = t301 * t350; + const double t640 = 0.1e1 / t33 / t111; + const double t641 = t35 * t640; + const double t645 = t111 * t304; + const double t647 = 0.1e1 / t13 / t645; + const double t648 = t15 * t647; + const double t649 = t648 * t117; + const double t652 = t94 * t122; + const double t653 = 0.1e1 / t134; + const double t654 = t653 * t127; + const double t661 = t108 * t132; + const double t662 = t124 * t111; + const double t664 = 0.1e1 / t33 / t662; + const double t666 = t664 * t139 * t35; + const double t673 = t121 * t339; + const double t676 = 0.1e1 / t13 / t124 / t645; + const double t678 = t676 * t346 * t15; + const double t685 = t132 * t109; + const double t686 = t131 * t685; + const double t687 = t124 * t124; + const double t688 = t687 * t96; + const double t689 = 0.1e1 / t688; + const double t691 = 0.1e1 / t138 / t116; + const double t692 = t689 * t691; + const double t695 = 0.19555555555555555555e1 * t95 * t641 * t104 - 0.19200000000000000001e1 * t311 * t649 + 0.45511111111111111114e0 * t652 * t654 + 0.27022222222222222222e1 * t110 * t649 - 0.24462222222222222223e1 * t321 * t654 + 0.27306666666666666667e0 * t661 * t666 + 0.2304e1 * t123 * t654 - 0.10069333333333333333e1 * t329 * t666 + 0.21845333333333333334e0 * t673 * t678 + 0.79644444444444444445e0 * t133 * t666 - 0.68266666666666666669e0 * t340 * t678 + 0.14563555555555555557e0 * t686 * t692; + const double t696 = t92 * t695; + const double t701 = t218 * t357; + const double t705 = t356 * t158; + const double t706 = 0.1e1 / t705; + const double t707 = t149 * t706; + const double t708 = t374 * t374; + const double t709 = t708 * t375; + const double t714 = 0.1e1 / t150 / t147 * t29; + const double t716 = t715 * t98; + const double t717 = t714 * t716; + const double t719 = t361 * t491; + const double t720 = t360 * t719; + const double t722 = t9 * t517; + const double t724 = 0.1e1/safe_math::sqrt( t147 ); + const double t725 = t724 * t29; + const double t726 = t725 * t716; + const double t728 = t368 * t719; + const double t730 = t31 * t512; + const double t732 = -0.42198333333333333333e0 * t717 + 0.84396666666666666666e0 * t720 + 0.39862222222222222223e0 * t722 + 0.68258333333333333333e-1 * t726 + 0.13651666666666666667e0 * t728 + 0.13692777777777777778e0 * t730; + const double t733 = t732 * t375; + const double t736 = t356 * t356; + const double t737 = 0.1e1 / t736; + const double t738 = t149 * t737; + const double t739 = t161 * t161; + const double t740 = 0.1e1 / t739; + const double t741 = t708 * t740; + const double t748 = t168 * t9; + const double t752 = t385 * t175; + const double t753 = 0.1e1 / t752; + const double t754 = t391 * t391; + const double t756 = t753 * t754 * t393; + const double t765 = -0.57538888888888888889e0 * t717 + 0.11507777777777777778e1 * t720 + 0.40256666666666666667e0 * t722 + 0.366775e-1 * t726 + 0.73355e-1 * t728 + 0.137975e0 * t730; + const double t767 = t386 * t765 * t393; + const double t770 = t385 * t385; + const double t771 = 0.1e1 / t770; + const double t772 = t771 * t754; + const double t773 = t178 * t178; + const double t774 = 0.1e1 / t773; + const double t775 = t772 * t774; + const double t779 = -0.14764770444444444444e-2 * t9 * t517 * t162 - 0.35616666666666666667e-1 * t12 * t701 * t376 - 0.2e1 * t707 * t709 + 0.1e1 * t358 * t733 + 0.16081824322151104822e2 * t738 * t741 + 0.24415406715670879921e-3 * t379 * t361 * t491 * t179 + 0.10843580882781524214e-1 * t748 * t230 * t394 + 0.11696446794910408142e1 * t384 * t756 - 0.58482233974552040708e0 * t384 * t767 - 0.17315755899375863299e2 * t384 * t775 - 0.2e1 * t634; + const double t780 = t779 * t215; + const double t781 = t398 * t428; + const double t786 = t648 * t197; + const double t789 = t186 * t122; + const double t790 = t653 * t204; + const double t797 = t194 * t132; + const double t799 = t664 * t211 * t35; + const double t806 = t201 * t339; + const double t808 = t676 * t424 * t15; + const double t815 = t208 * t685; + const double t817 = 0.1e1 / t210 / t196; + const double t818 = t689 * t817; + const double t821 = 0.58666666666666666667e-1 * t187 * t641 * t190 - 0.1728e-2 * t403 * t786 + 0.12288e-4 * t789 * t790 + 0.2432e-2 * t195 * t786 - 0.66048e-4 * t409 * t790 + 0.221184e-6 * t797 * t799 + 0.62208e-4 * t202 * t790 - 0.815616e-6 * t415 * t799 + 0.5308416e-8 * t806 * t808 + 0.64512e-6 * t209 * t799 - 0.165888e-7 * t422 * t808 + 0.10616832e-9 * t815 * t818; + const double t822 = t184 * t821; + const double t825 = t301 * t458; + const double t831 = t314 * t117; + const double t853 = t687 * rho; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t691; + const double t858 = -0.53333333333333333333e0 * t432 * t306 * t104 + 0.64000000000000000001e0 * t830 * t831 * sigma - 0.17066666666666666667e0 * t311 * t324 - 0.85333333333333333333e0 * t438 * t316 + 0.85333333333333333334e0 * t110 * t324 - 0.1024e0 * t321 * t334 - 0.768e0 * t443 * t324 + 0.3584e0 * t123 * t334 - 0.81920000000000000003e-1 * t329 * t347 - 0.27306666666666666667e0 * t448 * t334 + 0.24576e0 * t133 * t347 - 0.54613333333333333335e-1 * t340 * t855; + const double t859 = t92 * t858; + const double t861 = t398 * t483; + const double t866 = t314 * t197; + const double t888 = t854 * t817; + const double t891 = -0.16e-1 * t461 * t306 * t190 + 0.576e-3 * t865 * t866 * sigma - 0.4608e-5 * t403 * t410 - 0.768e-3 * t467 * t404 + 0.2304e-4 * t195 * t410 - 0.82944e-7 * t409 * t417 - 0.20736e-4 * t472 * t410 + 0.290304e-6 * t202 * t417 - 0.1990656e-8 * t415 * t425 - 0.221184e-6 * t477 * t417 + 0.5971968e-8 * t209 * t425 - 0.3981312e-10 * t422 * t888; + const double t892 = t184 * t891; + const double t895 = t114 * t117; + const double t907 = t121 * sigma; + const double t914 = t131 * t109; + const double t919 = 0.1e1 / t687; + const double t920 = t919 * t691; + const double t923 = -0.16e0 * t830 * t895 + 0.64e-1 * t95 * t128 + 0.16e0 * t900 * t895 - 0.256e0 * t438 * t128 + 0.384e-1 * t110 * t140 + 0.192e0 * t907 * t128 - 0.1152e0 * t443 * t140 + 0.3072e-1 * t123 * t455 + 0.768e-1 * t914 * t140 - 0.8192e-1 * t448 * t455 + 0.2048e-1 * t133 * t920; + const double t925 = 0.2e1 * t92 * t923; + const double t926 = t114 * t197; + const double t938 = t201 * sigma; + const double t945 = t208 * t109; + const double t950 = t919 * t817; + const double t953 = -0.144e-3 * t865 * t926 + 0.1728e-5 * t187 * t205 + 0.144e-3 * t931 * t926 - 0.6912e-5 * t467 * t205 + 0.31104e-7 * t195 * t212 + 0.5184e-5 * t938 * t205 - 0.93312e-7 * t472 * t212 + 0.746496e-9 * t202 * t480 + 0.62208e-7 * t945 * t212 - 0.1990656e-8 * t477 * t480 + 0.1492992e-10 * t209 * t950; + const double t954 = t184 * t953; + + + v2rho2 = 0.4e1 * t302 + 0.4e1 * t351 + 0.2e1 * t399 + 0.2e1 * t429 + rho * ( 0.2e1 * t635 + 0.4e1 * t637 + 0.2e1 * t696 + t780 + 0.2e1 * t781 + t822 ); + v2rhosigma = t460 + t484 + rho * ( 0.2e1 * t825 + 0.2e1 * t859 + t861 + t892 ); + v2sigma2 = rho * ( t925 + t954 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t6 = constants::m_cbrt_3; + constexpr double t8 = constants::m_cbrt_one_ov_pi; + constexpr double t10 = constants::m_cbrt_4; + constexpr double t15 = constants::m_cbrt_2; + constexpr double t9 = t6 * t8; + constexpr double t11 = t10 * t10; + constexpr double t12 = t9 * t11; + constexpr double t29 = t6 * t6; + constexpr double t30 = t8 * t8; + constexpr double t31 = t29 * t30; + constexpr double t32 = t31 * t10; + constexpr double t35 = t15 * t15; + constexpr double t94 = c_ss_1; + constexpr double t108 = c_ss_2; + constexpr double t121 = c_ss_3; + constexpr double t131 = c_ss_4; + constexpr double t186 = c_ab_1; + constexpr double t194 = c_ab_2; + constexpr double t201 = c_ab_3; + constexpr double t208 = c_ab_4; + constexpr double t361 = t8 * t11; + constexpr double t432 = t94 * t35; + constexpr double t461 = t186 * t35; + constexpr double t715 = t30 * t10; + constexpr double t830 = t94 * t15; + constexpr double t865 = t186 * t15; + constexpr double t900 = t108 * t15; + constexpr double t931 = t194 * t15; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t5 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t13 = safe_math::cbrt( rho ); + const double t14 = 0.1e1 / t13; + const double t17 = safe_math::cbrt( zeta_tol ); + const double t19 = piecewise_functor_3( t3, 0.1e1 / t17, 1.0 ); + const double t21 = t12 * t14 * t15 * t19; + const double t23 = 0.1e1 + 0.53425e-1 * t21; + const double t24 = safe_math::sqrt( t21 ); + const double t27 = pow_3_2( t21 ); + const double t33 = t13 * t13; + const double t34 = 0.1e1 / t33; + const double t37 = t19 * t19; + const double t39 = t32 * t34 * t35 * t37; + const double t41 = 0.379785e1 * t24 + 0.8969e0 * t21 + 0.204775e0 * t27 + 0.123235e0 * t39; + const double t44 = 0.1e1 + 0.16081824322151104822e2 / t41; + const double t45 = safe_math::log( t44 ); + const double t47 = 0.62182e-1 * t23 * t45; + const double t49 = t17 * zeta_tol; + const double t51 = piecewise_functor_3( 0.2e1 <= zeta_tol, t49, 0.2e1 * t15 ); + const double t53 = piecewise_functor_3( 0.e0 <= zeta_tol, t49, 0.0 ); + const double t57 = 0.1e1 / ( 0.2e1 * t15 - 0.2e1 ); + const double t58 = ( t51 + t53 - 0.2e1 ) * t57; + const double t60 = 0.1e1 + 0.5137e-1 * t21; + const double t65 = 0.705945e1 * t24 + 0.1549425e1 * t21 + 0.420775e0 * t27 + 0.1562925e0 * t39; + const double t68 = 0.1e1 + 0.32164683177870697974e2 / t65; + const double t69 = safe_math::log( t68 ); + const double t73 = 0.1e1 + 0.278125e-1 * t21; + const double t78 = 0.51785e1 * t24 + 0.905775e0 * t21 + 0.1100325e0 * t27 + 0.1241775e0 * t39; + const double t81 = 0.1e1 + 0.29608574643216675549e2 / t78; + const double t82 = safe_math::log( t81 ); + const double t83 = t73 * t82; + const double t92 = piecewise_functor_3( t4, 0.0, t5 * ( -t47 + t58 * ( -0.3109e-1 * t60 * t69 + t47 - 0.19751789702565206229e-1 * t83 ) + 0.19751789702565206229e-1 * t58 * t83 ) / 0.2e1 ); + const double t95 = t94 * sigma; + const double t96 = rho * rho; + const double t98 = 0.1e1 / t33 / t96; + const double t99 = t35 * t98; + const double t101 = sigma * t35 * t98; + const double t103 = 0.1e1 + 0.2e0 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma * sigma; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho; + const double t114 = 0.1e1 / t13 / t112; + const double t115 = t15 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t115 * t117; + const double t122 = t109 * sigma; + const double t123 = t121 * t122; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t126 = t116 * t103; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t132 = t109 * t109; + const double t133 = t131 * t132; + const double t134 = t124 * t96; + const double t136 = 0.1e1 / t33 / t134; + const double t137 = t35 * t136; + const double t138 = t116 * t116; + const double t139 = 0.1e1 / t138; + const double t140 = t137 * t139; + const double t143 = c_ss_0 + 0.2e0 * t95 * t99 * t104 + 0.8e-1 * t110 * t118 + 0.32e-1 * t123 * t128 + 0.64e-2 * t133 * t140; + const double t145 = 0.2e1 * t92 * t143; + const double t147 = t9 * t11 * t14; + const double t149 = 0.1e1 + 0.53425e-1 * t147; + const double t150 = safe_math::sqrt( t147 ); + const double t153 = pow_3_2( t147 ); + const double t156 = t31 * t10 * t34; + const double t158 = 0.379785e1 * t150 + 0.8969e0 * t147 + 0.204775e0 * t153 + 0.123235e0 * t156; + const double t161 = 0.1e1 + 0.16081824322151104822e2 / t158; + const double t162 = safe_math::log( t161 ); + const double t165 = piecewise_functor_3( t3, t49, 1.0 ); + const double t168 = ( 0.2e1 * t165 - 0.2e1 ) * t57; + const double t170 = 0.1e1 + 0.278125e-1 * t147; + const double t175 = 0.51785e1 * t150 + 0.905775e0 * t147 + 0.1100325e0 * t153 + 0.1241775e0 * t156; + const double t178 = 0.1e1 + 0.29608574643216675549e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t184 = -0.62182e-1 * t149 * t162 + 0.19751789702565206229e-1 * t168 * t170 * t179 - 0.2e1 * t92; + const double t187 = t186 * sigma; + const double t189 = 0.1e1 + 0.6e-2 * t101; + const double t190 = 0.1e1 / t189; + const double t195 = t194 * t109; + const double t196 = t189 * t189; + const double t197 = 0.1e1 / t196; + const double t198 = t115 * t197; + const double t202 = t201 * t122; + const double t203 = t196 * t189; + const double t204 = 0.1e1 / t203; + const double t205 = t125 * t204; + const double t209 = t208 * t132; + const double t210 = t196 * t196; + const double t211 = 0.1e1 / t210; + const double t212 = t137 * t211; + const double t215 = c_ab_0 + 0.6e-2 * t187 * t99 * t190 + 0.72e-4 * t195 * t198 + 0.864e-6 * t202 * t205 + 0.5184e-8 * t209 * t212; + const double t216 = t184 * t215; + const double t218 = 0.1e1 / t13 / rho; + const double t219 = t218 * t15; + const double t220 = t19 * t45; + const double t223 = 0.11073577833333333333e-2 * t12 * t219 * t220; + const double t224 = t41 * t41; + const double t225 = 0.1e1 / t224; + const double t226 = t23 * t225; + const double t229 = 0.1e1 / t24 * t6 * t8; + const double t230 = t11 * t218; + const double t231 = t15 * t19; + const double t232 = t230 * t231; + const double t233 = t229 * t232; + const double t235 = t219 * t19; + const double t236 = t12 * t235; + const double t238 = safe_math::sqrt( t21 ); + const double t240 = t238 * t6 * t8; + const double t241 = t240 * t232; + const double t244 = 0.1e1 / t33 / rho; + const double t247 = t32 * t244 * t35 * t37; + const double t249 = -0.632975e0 * t233 - 0.29896666666666666667e0 * t236 - 0.1023875e0 * t241 - 0.82156666666666666667e-1 * t247; + const double t250 = 0.1e1 / t44; + const double t251 = t249 * t250; + const double t253 = 0.1e1 * t226 * t251; + const double t254 = t19 * t69; + const double t258 = t65 * t65; + const double t259 = 0.1e1 / t258; + const double t260 = t60 * t259; + const double t265 = -0.1176575e1 * t233 - 0.516475e0 * t236 - 0.2103875e0 * t241 - 0.104195e0 * t247; + const double t266 = 0.1e1 / t68; + const double t267 = t265 * t266; + const double t270 = t19 * t82; + const double t274 = t78 * t78; + const double t275 = 0.1e1 / t274; + const double t276 = t73 * t275; + const double t281 = -0.86308333333333333334e0 * t233 - 0.301925e0 * t236 - 0.5501625e-1 * t241 - 0.82785e-1 * t247; + const double t282 = 0.1e1 / t81; + const double t283 = t281 * t282; + const double t288 = t58 * t9; + const double t289 = t231 * t82; + const double t293 = t58 * t73; + const double t295 = t275 * t281 * t282; + const double t301 = piecewise_functor_3( t4, 0.0, t5 * ( t223 + t253 + t58 * ( 0.53236443333333333332e-3 * t12 * t219 * t254 + 0.1e1 * t260 * t267 - t223 - t253 + 0.18311555036753159941e-3 * t12 * t219 * t270 + 0.58482233974552040708e0 * t276 * t283 ) - 0.18311555036753159941e-3 * t288 * t230 * t289 - 0.58482233974552040708e0 * t293 * t295 ) / 0.2e1 ); + const double t302 = t301 * t143; + const double t304 = t96 * rho; + const double t306 = 0.1e1 / t33 / t304; + const double t307 = t35 * t306; + const double t311 = t94 * t109; + const double t312 = t111 * t96; + const double t314 = 0.1e1 / t13 / t312; + const double t315 = t15 * t314; + const double t316 = t315 * t117; + const double t321 = t108 * t122; + const double t322 = t124 * rho; + const double t323 = 0.1e1 / t322; + const double t324 = t323 * t127; + const double t329 = t121 * t132; + const double t330 = t124 * t304; + const double t332 = 0.1e1 / t33 / t330; + const double t334 = t332 * t139 * t35; + const double t339 = t132 * sigma; + const double t340 = t131 * t339; + const double t341 = t124 * t312; + const double t344 = t15 / t13 / t341; + const double t346 = 0.1e1 / t138 / t103; + const double t347 = t344 * t346; + const double t350 = -0.53333333333333333333e0 * t95 * t307 * t104 + 0.21333333333333333334e0 * t311 * t316 - 0.42666666666666666667e0 * t110 * t316 + 0.17066666666666666667e0 * t321 * t324 - 0.256e0 * t123 * t324 + 0.512e-1 * t329 * t334 - 0.68266666666666666667e-1 * t133 * t334 + 0.27306666666666666668e-1 * t340 * t347; + const double t351 = t92 * t350; + const double t356 = t158 * t158; + const double t357 = 0.1e1 / t356; + const double t358 = t149 * t357; + const double t360 = 0.1e1 / t150 * t6; + const double t362 = t361 * t218; + const double t363 = t360 * t362; + const double t365 = t9 * t230; + const double t367 = safe_math::sqrt( t147 ); + const double t368 = t367 * t6; + const double t369 = t368 * t362; + const double t372 = t31 * t10 * t244; + const double t374 = -0.632975e0 * t363 - 0.29896666666666666667e0 * t365 - 0.1023875e0 * t369 - 0.82156666666666666667e-1 * t372; + const double t375 = 0.1e1 / t161; + const double t376 = t374 * t375; + const double t379 = t168 * t6; + const double t384 = t168 * t170; + const double t385 = t175 * t175; + const double t386 = 0.1e1 / t385; + const double t391 = -0.86308333333333333334e0 * t363 - 0.301925e0 * t365 - 0.5501625e-1 * t369 - 0.82785e-1 * t372; + const double t393 = 0.1e1 / t178; + const double t394 = t386 * t391 * t393; + const double t398 = 0.11073577833333333333e-2 * t9 * t230 * t162 + 0.1e1 * t358 * t376 - 0.18311555036753159941e-3 * t379 * t361 * t218 * t179 - 0.58482233974552040708e0 * t384 * t394 - 0.2e1 * t301; + const double t399 = t398 * t215; + const double t403 = t186 * t109; + const double t404 = t315 * t197; + const double t409 = t194 * t122; + const double t410 = t323 * t204; + const double t415 = t201 * t132; + const double t417 = t332 * t211 * t35; + const double t422 = t208 * t339; + const double t424 = 0.1e1 / t210 / t189; + const double t425 = t344 * t424; + const double t428 = -0.16e-1 * t187 * t307 * t190 + 0.192e-3 * t403 * t404 - 0.384e-3 * t195 * t404 + 0.4608e-5 * t409 * t410 - 0.6912e-5 * t202 * t410 + 0.41472e-7 * t415 * t417 - 0.55296e-7 * t209 * t417 + 0.663552e-9 * t422 * t425; + const double t429 = t184 * t428; + const double t438 = t108 * sigma; + const double t443 = t121 * t109; + const double t448 = t131 * t122; + const double t451 = t124 * t112; + const double t454 = t15 / t13 / t451; + const double t455 = t454 * t346; + const double t458 = 0.2e0 * t432 * t98 * t104 - 0.8e-1 * t95 * t118 + 0.16e0 * t438 * t118 - 0.64e-1 * t110 * t128 + 0.96e-1 * t443 * t128 - 0.192e-1 * t123 * t140 + 0.256e-1 * t448 * t140 - 0.1024e-1 * t133 * t455; + const double t460 = 0.2e1 * t92 * t458; + const double t467 = t194 * sigma; + const double t472 = t201 * t109; + const double t477 = t208 * t122; + const double t480 = t454 * t424; + const double t483 = 0.6e-2 * t461 * t98 * t190 - 0.72e-4 * t187 * t198 + 0.144e-3 * t467 * t198 - 0.1728e-5 * t195 * t205 + 0.2592e-5 * t472 * t205 - 0.15552e-7 * t202 * t212 + 0.20736e-7 * t477 * t212 - 0.248832e-9 * t209 * t480; + const double t484 = t184 * t483; + const double t491 = 0.1e1 / t13 / t96; + const double t492 = t491 * t15; + const double t495 = 0.14764770444444444444e-2 * t12 * t492 * t220; + const double t498 = t231 * t225 * t249 * t250; + const double t500 = 0.35616666666666666667e-1 * t365 * t498; + const double t501 = t224 * t41; + const double t502 = 0.1e1 / t501; + const double t503 = t23 * t502; + const double t504 = t249 * t249; + const double t505 = t504 * t250; + const double t507 = 0.2e1 * t503 * t505; + const double t511 = 0.1e1 / t24 / t21 * t29 * t30; + const double t512 = t10 * t98; + const double t513 = t35 * t37; + const double t514 = t512 * t513; + const double t515 = t511 * t514; + const double t517 = t11 * t491; + const double t518 = t517 * t231; + const double t519 = t229 * t518; + const double t521 = t492 * t19; + const double t522 = t12 * t521; + const double t524 = 0.1e1/safe_math::sqrt( t21 ); + const double t526 = t524 * t29 * t30; + const double t527 = t526 * t514; + const double t529 = t240 * t518; + const double t532 = t32 * t99 * t37; + const double t534 = -0.42198333333333333333e0 * t515 + 0.84396666666666666666e0 * t519 + 0.39862222222222222223e0 * t522 + 0.68258333333333333333e-1 * t527 + 0.13651666666666666667e0 * t529 + 0.13692777777777777778e0 * t532; + const double t537 = 0.1e1 * t226 * t534 * t250; + const double t538 = t224 * t224; + const double t539 = 0.1e1 / t538; + const double t540 = t23 * t539; + const double t541 = t44 * t44; + const double t542 = 0.1e1 / t541; + const double t543 = t504 * t542; + const double t545 = 0.16081824322151104822e2 * t540 * t543; + const double t551 = t231 * t259 * t265 * t266; + const double t554 = t258 * t65; + const double t555 = 0.1e1 / t554; + const double t556 = t60 * t555; + const double t557 = t265 * t265; + const double t558 = t557 * t266; + const double t567 = -0.78438333333333333333e0 * t515 + 0.15687666666666666667e1 * t519 + 0.68863333333333333333e0 * t522 + 0.14025833333333333333e0 * t527 + 0.28051666666666666667e0 * t529 + 0.17365833333333333333e0 * t532; + const double t571 = t258 * t258; + const double t572 = 0.1e1 / t571; + const double t573 = t60 * t572; + const double t574 = t68 * t68; + const double t575 = 0.1e1 / t574; + const double t576 = t557 * t575; + const double t582 = t231 * t295; + const double t585 = t274 * t78; + const double t586 = 0.1e1 / t585; + const double t587 = t73 * t586; + const double t588 = t281 * t281; + const double t589 = t588 * t282; + const double t598 = -0.57538888888888888889e0 * t515 + 0.11507777777777777778e1 * t519 + 0.40256666666666666667e0 * t522 + 0.366775e-1 * t527 + 0.73355e-1 * t529 + 0.137975e0 * t532; + const double t599 = t598 * t282; + const double t602 = t274 * t274; + const double t603 = 0.1e1 / t602; + const double t604 = t73 * t603; + const double t605 = t81 * t81; + const double t606 = 0.1e1 / t605; + const double t607 = t588 * t606; + const double t610 = -0.70981924444444444442e-3 * t12 * t492 * t254 - 0.34246666666666666666e-1 * t365 * t551 - 0.2e1 * t556 * t558 + 0.1e1 * t260 * t567 * t266 + 0.32164683177870697974e2 * t573 * t576 + t495 + t500 + t507 - t537 - t545 - 0.24415406715670879921e-3 * t12 * t492 * t270 - 0.10843580882781524214e-1 * t365 * t582 - 0.11696446794910408142e1 * t587 * t589 + 0.58482233974552040708e0 * t276 * t599 + 0.17315755899375863299e2 * t604 * t607; + const double t615 = t58 * t12; + const double t620 = t586 * t588 * t282; + const double t624 = t275 * t598 * t282; + const double t627 = t603 * t588; + const double t628 = t627 * t606; + const double t631 = -t495 - t500 - t507 + t537 + t545 + t58 * t610 + 0.24415406715670879921e-3 * t288 * t517 * t289 + 0.10843580882781524214e-1 * t615 * t235 * t295 + 0.11696446794910408142e1 * t293 * t620 - 0.58482233974552040708e0 * t293 * t624 - 0.17315755899375863299e2 * t293 * t628; + const double t634 = piecewise_functor_3( t4, 0.0, t5 * t631 / 0.2e1 ); + const double t635 = t634 * t143; + const double t637 = t301 * t350; + const double t640 = 0.1e1 / t33 / t111; + const double t641 = t35 * t640; + const double t645 = t111 * t304; + const double t647 = 0.1e1 / t13 / t645; + const double t648 = t15 * t647; + const double t649 = t648 * t117; + const double t652 = t94 * t122; + const double t653 = 0.1e1 / t134; + const double t654 = t653 * t127; + const double t661 = t108 * t132; + const double t662 = t124 * t111; + const double t664 = 0.1e1 / t33 / t662; + const double t666 = t664 * t139 * t35; + const double t673 = t121 * t339; + const double t676 = 0.1e1 / t13 / t124 / t645; + const double t678 = t676 * t346 * t15; + const double t685 = t132 * t109; + const double t686 = t131 * t685; + const double t687 = t124 * t124; + const double t688 = t687 * t96; + const double t689 = 0.1e1 / t688; + const double t691 = 0.1e1 / t138 / t116; + const double t692 = t689 * t691; + const double t695 = 0.19555555555555555555e1 * t95 * t641 * t104 - 0.19200000000000000001e1 * t311 * t649 + 0.45511111111111111114e0 * t652 * t654 + 0.27022222222222222222e1 * t110 * t649 - 0.24462222222222222223e1 * t321 * t654 + 0.27306666666666666667e0 * t661 * t666 + 0.2304e1 * t123 * t654 - 0.10069333333333333333e1 * t329 * t666 + 0.21845333333333333334e0 * t673 * t678 + 0.79644444444444444445e0 * t133 * t666 - 0.68266666666666666669e0 * t340 * t678 + 0.14563555555555555557e0 * t686 * t692; + const double t696 = t92 * t695; + const double t701 = t218 * t357; + const double t705 = t356 * t158; + const double t706 = 0.1e1 / t705; + const double t707 = t149 * t706; + const double t708 = t374 * t374; + const double t709 = t708 * t375; + const double t714 = 0.1e1 / t150 / t147 * t29; + const double t716 = t715 * t98; + const double t717 = t714 * t716; + const double t719 = t361 * t491; + const double t720 = t360 * t719; + const double t722 = t9 * t517; + const double t724 = 0.1e1/safe_math::sqrt( t147 ); + const double t725 = t724 * t29; + const double t726 = t725 * t716; + const double t728 = t368 * t719; + const double t730 = t31 * t512; + const double t732 = -0.42198333333333333333e0 * t717 + 0.84396666666666666666e0 * t720 + 0.39862222222222222223e0 * t722 + 0.68258333333333333333e-1 * t726 + 0.13651666666666666667e0 * t728 + 0.13692777777777777778e0 * t730; + const double t733 = t732 * t375; + const double t736 = t356 * t356; + const double t737 = 0.1e1 / t736; + const double t738 = t149 * t737; + const double t739 = t161 * t161; + const double t740 = 0.1e1 / t739; + const double t741 = t708 * t740; + const double t748 = t168 * t9; + const double t752 = t385 * t175; + const double t753 = 0.1e1 / t752; + const double t754 = t391 * t391; + const double t756 = t753 * t754 * t393; + const double t765 = -0.57538888888888888889e0 * t717 + 0.11507777777777777778e1 * t720 + 0.40256666666666666667e0 * t722 + 0.366775e-1 * t726 + 0.73355e-1 * t728 + 0.137975e0 * t730; + const double t767 = t386 * t765 * t393; + const double t770 = t385 * t385; + const double t771 = 0.1e1 / t770; + const double t772 = t771 * t754; + const double t773 = t178 * t178; + const double t774 = 0.1e1 / t773; + const double t775 = t772 * t774; + const double t779 = -0.14764770444444444444e-2 * t9 * t517 * t162 - 0.35616666666666666667e-1 * t12 * t701 * t376 - 0.2e1 * t707 * t709 + 0.1e1 * t358 * t733 + 0.16081824322151104822e2 * t738 * t741 + 0.24415406715670879921e-3 * t379 * t361 * t491 * t179 + 0.10843580882781524214e-1 * t748 * t230 * t394 + 0.11696446794910408142e1 * t384 * t756 - 0.58482233974552040708e0 * t384 * t767 - 0.17315755899375863299e2 * t384 * t775 - 0.2e1 * t634; + const double t780 = t779 * t215; + const double t781 = t398 * t428; + const double t786 = t648 * t197; + const double t789 = t186 * t122; + const double t790 = t653 * t204; + const double t797 = t194 * t132; + const double t799 = t664 * t211 * t35; + const double t806 = t201 * t339; + const double t808 = t676 * t424 * t15; + const double t815 = t208 * t685; + const double t817 = 0.1e1 / t210 / t196; + const double t818 = t689 * t817; + const double t821 = 0.58666666666666666667e-1 * t187 * t641 * t190 - 0.1728e-2 * t403 * t786 + 0.12288e-4 * t789 * t790 + 0.2432e-2 * t195 * t786 - 0.66048e-4 * t409 * t790 + 0.221184e-6 * t797 * t799 + 0.62208e-4 * t202 * t790 - 0.815616e-6 * t415 * t799 + 0.5308416e-8 * t806 * t808 + 0.64512e-6 * t209 * t799 - 0.165888e-7 * t422 * t808 + 0.10616832e-9 * t815 * t818; + const double t822 = t184 * t821; + const double t825 = t301 * t458; + const double t831 = t314 * t117; + const double t853 = t687 * rho; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t691; + const double t858 = -0.53333333333333333333e0 * t432 * t306 * t104 + 0.64000000000000000001e0 * t830 * t831 * sigma - 0.17066666666666666667e0 * t311 * t324 - 0.85333333333333333333e0 * t438 * t316 + 0.85333333333333333334e0 * t110 * t324 - 0.1024e0 * t321 * t334 - 0.768e0 * t443 * t324 + 0.3584e0 * t123 * t334 - 0.81920000000000000003e-1 * t329 * t347 - 0.27306666666666666667e0 * t448 * t334 + 0.24576e0 * t133 * t347 - 0.54613333333333333335e-1 * t340 * t855; + const double t859 = t92 * t858; + const double t861 = t398 * t483; + const double t866 = t314 * t197; + const double t888 = t854 * t817; + const double t891 = -0.16e-1 * t461 * t306 * t190 + 0.576e-3 * t865 * t866 * sigma - 0.4608e-5 * t403 * t410 - 0.768e-3 * t467 * t404 + 0.2304e-4 * t195 * t410 - 0.82944e-7 * t409 * t417 - 0.20736e-4 * t472 * t410 + 0.290304e-6 * t202 * t417 - 0.1990656e-8 * t415 * t425 - 0.221184e-6 * t477 * t417 + 0.5971968e-8 * t209 * t425 - 0.3981312e-10 * t422 * t888; + const double t892 = t184 * t891; + const double t895 = t114 * t117; + const double t907 = t121 * sigma; + const double t914 = t131 * t109; + const double t919 = 0.1e1 / t687; + const double t920 = t919 * t691; + const double t923 = -0.16e0 * t830 * t895 + 0.64e-1 * t95 * t128 + 0.16e0 * t900 * t895 - 0.256e0 * t438 * t128 + 0.384e-1 * t110 * t140 + 0.192e0 * t907 * t128 - 0.1152e0 * t443 * t140 + 0.3072e-1 * t123 * t455 + 0.768e-1 * t914 * t140 - 0.8192e-1 * t448 * t455 + 0.2048e-1 * t133 * t920; + const double t925 = 0.2e1 * t92 * t923; + const double t926 = t114 * t197; + const double t938 = t201 * sigma; + const double t945 = t208 * t109; + const double t950 = t919 * t817; + const double t953 = -0.144e-3 * t865 * t926 + 0.1728e-5 * t187 * t205 + 0.144e-3 * t931 * t926 - 0.6912e-5 * t467 * t205 + 0.31104e-7 * t195 * t212 + 0.5184e-5 * t938 * t205 - 0.93312e-7 * t472 * t212 + 0.746496e-9 * t202 * t480 + 0.62208e-7 * t945 * t212 - 0.1990656e-8 * t477 * t480 + 0.1492992e-10 * t209 * t950; + const double t954 = t184 * t953; + + + vrho = t145 + t216 + rho * ( 0.2e1 * t302 + 0.2e1 * t351 + t399 + t429 ); + vsigma = rho * ( t460 + t484 ); + v2rho2 = 0.4e1 * t302 + 0.4e1 * t351 + 0.2e1 * t399 + 0.2e1 * t429 + rho * ( 0.2e1 * t635 + 0.4e1 * t637 + 0.2e1 * t696 + t780 + 0.2e1 * t781 + t822 ); + v2rhosigma = t460 + t484 + rho * ( 0.2e1 * t825 + 0.2e1 * t859 + t861 + t892 ); + v2sigma2 = rho * ( t925 + t954 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + + + eps = t148 + t255 + t351; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + + + eps = t148 + t255 + t351; + vrho_a = t148 + t255 + t351 + t3 * ( t453 + t497 + t591 + t684 + t717 ); + vrho_b = t148 + t255 + t351 + t3 * ( t783 + t847 + t891 + t905 + t933 ); + vsigma_aa = t3 * ( t961 + t984 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1011 + t1034 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + constexpr double t1557 = t36 * t14; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + const double t1041 = t277 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t2 * t1042; + const double t1045 = -0.2e1 * t352 + 0.2e1 * t1043; + const double t1046 = piecewise_functor_3( t7, 0.0, t1045 ); + const double t1051 = 0.1e1 / t17 / t277; + const double t1052 = t1051 * t19; + const double t1054 = t16 * t1052 * t25; + const double t1055 = 0.23744444444444444444e-1 * t1054; + const double t1057 = t16 * t359 * t366; + const double t1059 = t6 * t6; + const double t1061 = 0.1e1 / t23 / t1059; + const double t1062 = t354 * t354; + const double t1068 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t1062 - t363 * t1045 / 0.3e1 ); + const double t1070 = t16 * t20 * t1068; + const double t1072 = t1055 - 0.35616666666666666666e-1 * t1057 + 0.53425e-1 * t1070; + const double t1074 = 0.62182e-1 * t1072 * t51; + const double t1075 = t370 * t374; + const double t1077 = 0.2e1 * t1075 * t398; + const double t1078 = t373 * t47; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t29 * t1079; + const double t1081 = t396 * t396; + const double t1082 = t1081 * t397; + const double t1084 = 0.2e1 * t1080 * t1082; + const double t1086 = 0.1e1 / t30 / t27; + const double t1087 = t378 * t378; + const double t1088 = t1086 * t1087; + const double t1090 = 0.4e1 / 0.9e1 * t1054; + const double t1092 = t1090 - 0.2e1 / 0.3e1 * t1057 + t1070; + const double t1093 = t376 * t1092; + const double t1095 = 0.39862222222222222223e0 * t1054; + const double t1098 = 0.1e1/safe_math::sqrt( t27 ); + const double t1099 = t1098 * t1087; + const double t1101 = t383 * t1092; + const double t1104 = 0.1e1 / t39 / t277; + const double t1105 = t1104 * t41; + const double t1107 = t38 * t1105 * t43; + const double t1108 = 0.13692777777777777778e0 * t1107; + const double t1110 = t38 * t388 * t392; + const double t1112 = t366 * t366; + const double t1114 = t38 * t42 * t1112; + const double t1116 = t25 * t1068; + const double t1118 = t38 * t42 * t1116; + const double t1120 = -0.9494625e0 * t1088 + 0.1898925e1 * t1093 + t1095 - 0.59793333333333333334e0 * t1057 + 0.8969e0 * t1070 + 0.15358125e0 * t1099 + 0.3071625e0 * t1101 + t1108 - 0.32862666666666666666e0 * t1110 + 0.24647e0 * t1114 + 0.24647e0 * t1118; + const double t1121 = t1120 * t397; + const double t1123 = 0.1e1 * t375 * t1121; + const double t1124 = t373 * t373; + const double t1125 = 0.1e1 / t1124; + const double t1126 = t29 * t1125; + const double t1127 = t50 * t50; + const double t1128 = 0.1e1 / t1127; + const double t1129 = t1081 * t1128; + const double t1131 = 0.16081824322151104822e2 * t1126 * t1129; + const double t1132 = 0.22831111111111111111e-1 * t1054; + const double t1135 = t1132 - 0.34246666666666666666e-1 * t1057 + 0.5137e-1 * t1070; + const double t1138 = t403 * t407; + const double t1141 = t406 * t71; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t66 * t1142; + const double t1144 = t415 * t415; + const double t1145 = t1144 * t416; + const double t1150 = 0.68863333333333333333e0 * t1054; + const double t1155 = 0.17365833333333333333e0 * t1107; + const double t1159 = -0.17648625e1 * t1088 + 0.3529725e1 * t1093 + t1150 - 0.103295e1 * t1057 + 0.1549425e1 * t1070 + 0.31558125e0 * t1099 + 0.6311625e0 * t1101 + t1155 - 0.41678e0 * t1110 + 0.312585e0 * t1114 + 0.312585e0 * t1118; + const double t1160 = t1159 * t416; + const double t1163 = t406 * t406; + const double t1164 = 0.1e1 / t1163; + const double t1165 = t66 * t1164; + const double t1166 = t74 * t74; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t1144 * t1167; + const double t1171 = 0.12361111111111111111e-1 * t1054; + const double t1174 = t1171 - 0.18541666666666666667e-1 * t1057 + 0.278125e-1 * t1070; + const double t1175 = t1174 * t88; + const double t1177 = t422 * t426; + const double t1180 = t425 * t84; + const double t1181 = 0.1e1 / t1180; + const double t1182 = t79 * t1181; + const double t1183 = t434 * t434; + const double t1184 = t1183 * t435; + const double t1189 = 0.40256666666666666667e0 * t1054; + const double t1194 = 0.137975e0 * t1107; + const double t1198 = -0.1294625e1 * t1088 + 0.258925e1 * t1093 + t1189 - 0.60385e0 * t1057 + 0.905775e0 * t1070 + 0.82524375e-1 * t1099 + 0.16504875e0 * t1101 + t1194 - 0.33114e0 * t1110 + 0.248355e0 * t1114 + 0.248355e0 * t1118; + const double t1199 = t1198 * t435; + const double t1202 = t425 * t425; + const double t1203 = 0.1e1 / t1202; + const double t1204 = t79 * t1203; + const double t1205 = t87 * t87; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t1183 * t1206; + const double t1210 = -0.3109e-1 * t1135 * t75 + 0.2e1 * t1138 * t417 - 0.2e1 * t1143 * t1145 + 0.1e1 * t408 * t1160 + 0.32164683177870697974e2 * t1165 * t1168 + t1074 - t1077 + t1084 - t1123 - t1131 - 0.19751789702565206229e-1 * t1175 + 0.11696446794910408142e1 * t1177 * t436 - 0.11696446794910408142e1 * t1182 * t1184 + 0.58482233974552040708e0 * t427 * t1199 + 0.17315755899375863299e2 * t1204 * t1207; + const double t1214 = t64 * t422; + const double t1218 = t1181 * t1183 * t435; + const double t1222 = t426 * t1198 * t435; + const double t1225 = t1203 * t1183; + const double t1226 = t1225 * t1206; + const double t1229 = -t1074 + t1077 - t1084 + t1123 + t1131 + t64 * t1210 + 0.19751789702565206229e-1 * t64 * t1175 - 0.11696446794910408142e1 * t1214 * t445 + 0.11696446794910408142e1 * t443 * t1218 - 0.58482233974552040708e0 * t443 * t1222 - 0.17315755899375863299e2 * t443 * t1226; + const double t1233 = piecewise_functor_3( t8, 0.0, t1046 * t95 / 0.2e1 + t355 * t448 + t9 * t1229 / 0.2e1 ); + const double t1234 = t1233 * t147; + const double t1235 = t452 * t496; + const double t1236 = 0.2e1 * t1235; + const double t1238 = 0.1e1 / t104 / t117; + const double t1242 = t117 * t454; + const double t1244 = 0.1e1 / t103 / t1242; + const double t1245 = t1244 * t122; + const double t1248 = t100 * t127; + const double t1249 = 0.1e1 / t139; + const double t1250 = t1249 * t132; + const double t1257 = t114 * t137; + const double t1258 = t129 * t117; + const double t1260 = 0.1e1 / t104 / t1258; + const double t1261 = t1260 * t143; + const double t1268 = t126 * t486; + const double t1272 = 0.1e1 / t103 / t129 / t1242 * t492; + const double t1279 = t137 * t115; + const double t1280 = t136 * t1279; + const double t1281 = t129 * t129; + const double t1282 = t1281 * t102; + const double t1285 = 0.1e1 / t142 / t121; + const double t1286 = 0.1e1 / t1282 * t1285; + const double t1289 = 0.19555555555555555555e1 * t101 * t1238 * t110 - 0.96000000000000000002e0 * t460 * t1245 + 0.11377777777777777778e0 * t1248 * t1250 + 0.13511111111111111111e1 * t116 * t1245 - 0.61155555555555555557e0 * t469 * t1250 + 0.68266666666666666669e-1 * t1257 * t1261 + 0.576e0 * t128 * t1250 - 0.25173333333333333333e0 * t477 * t1261 + 0.27306666666666666666e-1 * t1268 * t1272 + 0.19911111111111111112e0 * t138 * t1261 - 0.85333333333333333333e-1 * t487 * t1272 + 0.91022222222222222219e-2 * t1280 * t1286; + const double t1290 = t98 * t1289; + const double t1291 = -t1045; + const double t1292 = piecewise_functor_3( t151, 0.0, t1291 ); + const double t1297 = t16 * t1052 * t156; + const double t1298 = 0.23744444444444444444e-1 * t1297; + const double t1300 = t16 * t359 * t507; + const double t1302 = t150 * t150; + const double t1304 = 0.1e1 / t154 / t1302; + const double t1305 = t498 * t498; + const double t1311 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t1305 - t504 * t1291 / 0.3e1 ); + const double t1313 = t16 * t20 * t1311; + const double t1315 = t1298 - 0.35616666666666666666e-1 * t1300 + 0.53425e-1 * t1313; + const double t1317 = 0.62182e-1 * t1315 * t174; + const double t1318 = t511 * t515; + const double t1320 = 0.2e1 * t1318 * t536; + const double t1321 = t514 * t170; + const double t1322 = 0.1e1 / t1321; + const double t1323 = t160 * t1322; + const double t1324 = t534 * t534; + const double t1325 = t1324 * t535; + const double t1327 = 0.2e1 * t1323 * t1325; + const double t1329 = 0.1e1 / t161 / t158; + const double t1330 = t519 * t519; + const double t1331 = t1329 * t1330; + const double t1333 = 0.4e1 / 0.9e1 * t1297; + const double t1335 = t1333 - 0.2e1 / 0.3e1 * t1300 + t1313; + const double t1336 = t517 * t1335; + const double t1338 = 0.39862222222222222223e0 * t1297; + const double t1341 = 0.1e1/safe_math::sqrt( t158 ); + const double t1342 = t1341 * t1330; + const double t1344 = t524 * t1335; + const double t1347 = t38 * t1105 * t166; + const double t1348 = 0.13692777777777777778e0 * t1347; + const double t1350 = t38 * t388 * t530; + const double t1352 = t507 * t507; + const double t1354 = t38 * t42 * t1352; + const double t1356 = t156 * t1311; + const double t1358 = t38 * t42 * t1356; + const double t1360 = -0.9494625e0 * t1331 + 0.1898925e1 * t1336 + t1338 - 0.59793333333333333334e0 * t1300 + 0.8969e0 * t1313 + 0.15358125e0 * t1342 + 0.3071625e0 * t1344 + t1348 - 0.32862666666666666666e0 * t1350 + 0.24647e0 * t1354 + 0.24647e0 * t1358; + const double t1361 = t1360 * t535; + const double t1363 = 0.1e1 * t516 * t1361; + const double t1364 = t514 * t514; + const double t1365 = 0.1e1 / t1364; + const double t1366 = t160 * t1365; + const double t1367 = t173 * t173; + const double t1368 = 0.1e1 / t1367; + const double t1369 = t1324 * t1368; + const double t1371 = 0.16081824322151104822e2 * t1366 * t1369; + const double t1372 = 0.22831111111111111111e-1 * t1297; + const double t1375 = t1372 - 0.34246666666666666666e-1 * t1300 + 0.5137e-1 * t1313; + const double t1378 = t541 * t545; + const double t1381 = t544 * t183; + const double t1382 = 0.1e1 / t1381; + const double t1383 = t178 * t1382; + const double t1384 = t553 * t553; + const double t1385 = t1384 * t554; + const double t1390 = 0.68863333333333333333e0 * t1297; + const double t1395 = 0.17365833333333333333e0 * t1347; + const double t1399 = -0.17648625e1 * t1331 + 0.3529725e1 * t1336 + t1390 - 0.103295e1 * t1300 + 0.1549425e1 * t1313 + 0.31558125e0 * t1342 + 0.6311625e0 * t1344 + t1395 - 0.41678e0 * t1350 + 0.312585e0 * t1354 + 0.312585e0 * t1358; + const double t1400 = t1399 * t554; + const double t1403 = t544 * t544; + const double t1404 = 0.1e1 / t1403; + const double t1405 = t178 * t1404; + const double t1406 = t186 * t186; + const double t1407 = 0.1e1 / t1406; + const double t1408 = t1384 * t1407; + const double t1411 = 0.12361111111111111111e-1 * t1297; + const double t1414 = t1411 - 0.18541666666666666667e-1 * t1300 + 0.278125e-1 * t1313; + const double t1415 = t1414 * t200; + const double t1417 = t560 * t564; + const double t1420 = t563 * t196; + const double t1421 = 0.1e1 / t1420; + const double t1422 = t191 * t1421; + const double t1423 = t572 * t572; + const double t1424 = t1423 * t573; + const double t1429 = 0.40256666666666666667e0 * t1297; + const double t1434 = 0.137975e0 * t1347; + const double t1438 = -0.1294625e1 * t1331 + 0.258925e1 * t1336 + t1429 - 0.60385e0 * t1300 + 0.905775e0 * t1313 + 0.82524375e-1 * t1342 + 0.16504875e0 * t1344 + t1434 - 0.33114e0 * t1350 + 0.248355e0 * t1354 + 0.248355e0 * t1358; + const double t1439 = t1438 * t573; + const double t1442 = t563 * t563; + const double t1443 = 0.1e1 / t1442; + const double t1444 = t191 * t1443; + const double t1445 = t199 * t199; + const double t1446 = 0.1e1 / t1445; + const double t1447 = t1423 * t1446; + const double t1450 = -0.3109e-1 * t1375 * t187 + 0.2e1 * t1378 * t555 - 0.2e1 * t1383 * t1385 + 0.1e1 * t546 * t1400 + 0.32164683177870697974e2 * t1405 * t1408 + t1317 - t1320 + t1327 - t1363 - t1371 - 0.19751789702565206229e-1 * t1415 + 0.11696446794910408142e1 * t1417 * t574 - 0.11696446794910408142e1 * t1422 * t1424 + 0.58482233974552040708e0 * t565 * t1439 + 0.17315755899375863299e2 * t1444 * t1447; + const double t1454 = t64 * t560; + const double t1458 = t1421 * t1423 * t573; + const double t1462 = t564 * t1438 * t573; + const double t1465 = t1443 * t1423; + const double t1466 = t1465 * t1446; + const double t1469 = -t1317 + t1320 - t1327 + t1363 + t1371 + t64 * t1450 + 0.19751789702565206229e-1 * t64 * t1415 - 0.11696446794910408142e1 * t1454 * t583 + 0.11696446794910408142e1 * t581 * t1458 - 0.58482233974552040708e0 * t581 * t1462 - 0.17315755899375863299e2 * t581 * t1466; + const double t1473 = piecewise_functor_3( t152, 0.0, t1292 * t207 / 0.2e1 + t499 * t586 + t153 * t1469 / 0.2e1 ); + const double t1474 = t1473 * t254; + const double t1475 = t358 * t597; + const double t1478 = 0.35616666666666666667e-1 * t16 * t1475 * t616; + const double t1479 = t635 * t10; + const double t1480 = t1479 * t675; + const double t1483 = t601 * t1051 * t310; + const double t1485 = 0.24415406715670879921e-3 * t673 * t1483; + const double t1486 = t656 * t306; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t663 * t663; + const double t1490 = t1487 * t1488 * t664; + const double t1492 = 0.11696446794910408142e1 * t678 * t1490; + const double t1493 = t620 * t636; + const double t1496 = 0.8e1 * t620 * t669; + const double t1498 = 0.1e1 / t278 / t277; + const double t1499 = t276 * t1498; + const double t1501 = 0.2e2 * t1499 * t314; + const double t1502 = t275 * t279; + const double t1504 = 0.12e2 * t1502 * t314; + const double t1505 = t619 * t624; + const double t1507 = 0.32e2 * t1505 * t314; + const double t1509 = 0.8e1 * t625 * t669; + const double t1510 = t635 * t668; + const double t1511 = t280 * t1510; + const double t1513 = t625 * t636; + const double t1515 = -t1478 - 0.36623110073506319882e-3 * t1480 + t1485 + t1492 + 0.8e1 * t1493 + t1496 + t1501 + t1504 - t1507 - t1509 + 0.2e1 * t1511 - 0.8e1 * t1513; + const double t1516 = t23 * t23; + const double t1517 = 0.1e1 / t1516; + const double t1523 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t1062 + 0.4e1 / 0.3e1 * t23 * t1045 ); + const double t1524 = t154 * t154; + const double t1525 = 0.1e1 / t1524; + const double t1531 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t1305 + 0.4e1 / 0.3e1 * t154 * t1291 ); + const double t1533 = ( t1523 + t1531 ) * t63; + const double t1534 = t1533 * t313; + const double t1536 = t15 * t1051; + const double t1539 = 0.14764770444444444444e-2 * t13 * t1536 * t272; + const double t1543 = t358 * t642; + const double t1547 = t641 * t293; + const double t1548 = 0.1e1 / t1547; + const double t1549 = t288 * t1548; + const double t1550 = t648 * t648; + const double t1551 = t1550 * t649; + const double t1556 = 0.1e1 / t260 / t257 * t35; + const double t1558 = t1557 * t1104; + const double t1559 = t1556 * t1558; + const double t1561 = t601 * t1051; + const double t1562 = t600 * t1561; + const double t1564 = t13 * t1536; + const double t1566 = 0.1e1/safe_math::sqrt( t257 ); + const double t1567 = t1566 * t35; + const double t1568 = t1567 * t1558; + const double t1570 = t608 * t1561; + const double t1573 = t37 * t14 * t1104; + const double t1575 = -0.78438333333333333333e0 * t1559 + 0.15687666666666666667e1 * t1562 + 0.68863333333333333333e0 * t1564 + 0.14025833333333333333e0 * t1568 + 0.28051666666666666667e0 * t1570 + 0.17365833333333333333e0 * t1573; + const double t1576 = t1575 * t649; + const double t1579 = t641 * t641; + const double t1580 = 0.1e1 / t1579; + const double t1581 = t288 * t1580; + const double t1582 = t296 * t296; + const double t1583 = 0.1e1 / t1582; + const double t1584 = t1550 * t1583; + const double t1587 = t596 * t268; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t259 * t1588; + const double t1590 = t614 * t614; + const double t1591 = t1590 * t615; + const double t1593 = 0.2e1 * t1589 * t1591; + const double t1600 = -0.42198333333333333333e0 * t1559 + 0.84396666666666666666e0 * t1562 + 0.39862222222222222223e0 * t1564 + 0.68258333333333333333e-1 * t1568 + 0.13651666666666666667e0 * t1570 + 0.13692777777777777778e0 * t1573; + const double t1601 = t1600 * t615; + const double t1603 = 0.1e1 * t598 * t1601; + const double t1604 = t596 * t596; + const double t1605 = 0.1e1 / t1604; + const double t1606 = t259 * t1605; + const double t1607 = t271 * t271; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t1590 * t1608; + const double t1611 = 0.16081824322151104822e2 * t1606 * t1609; + const double t1615 = t358 * t657; + const double t1619 = t301 * t1487; + const double t1620 = t1488 * t664; + const double t1629 = -0.57538888888888888889e0 * t1559 + 0.11507777777777777778e1 * t1562 + 0.40256666666666666667e0 * t1564 + 0.366775e-1 * t1568 + 0.73355e-1 * t1570 + 0.137975e0 * t1573; + const double t1630 = t1629 * t664; + const double t1633 = t656 * t656; + const double t1634 = 0.1e1 / t1633; + const double t1635 = t301 * t1634; + const double t1636 = t309 * t309; + const double t1637 = 0.1e1 / t1636; + const double t1638 = t1488 * t1637; + const double t1641 = -0.70981924444444444442e-3 * t13 * t1536 * t297 - 0.34246666666666666666e-1 * t16 * t1543 * t650 - 0.2e1 * t1549 * t1551 + 0.1e1 * t643 * t1576 + 0.32164683177870697974e2 * t1581 * t1584 + t1539 + t1478 + t1593 - t1603 - t1611 - 0.24415406715670879921e-3 * t13 * t1536 * t310 - 0.10843580882781524214e-1 * t16 * t1615 * t665 - 0.11696446794910408142e1 * t1619 * t1620 + 0.58482233974552040708e0 * t658 * t1630 + 0.17315755899375863299e2 * t1635 * t1638; + const double t1642 = t286 * t1641; + const double t1643 = t280 * t1642; + const double t1645 = t657 * t1629 * t664; + const double t1647 = 0.58482233974552040708e0 * t678 * t1645; + const double t1648 = t1634 * t1488; + const double t1649 = t1648 * t1637; + const double t1651 = 0.17315755899375863299e2 * t678 * t1649; + const double t1652 = t635 * t301; + const double t1653 = t1652 * t680; + const double t1655 = t286 * t13; + const double t1656 = t592 * t680; + const double t1658 = 0.10843580882781524214e-1 * t1655 * t1656; + const double t1661 = t280 * t1534 - t1539 + t1643 - t1647 - t1651 - 0.11696446794910408142e1 * t1653 + t1658 - t1233 + 0.19751789702565206229e-1 * t1533 * t311 - t1473 + t1611 - t1593 + t1603; + const double t1662 = t1515 + t1661; + const double t1663 = t1662 * t350; + const double t1664 = t683 * t716; + const double t1665 = 0.2e1 * t1664; + const double t1669 = t320 * t115; + const double t1670 = t1244 * t333; + const double t1673 = t340 * t115; + const double t1674 = t1673 * t1244; + const double t1677 = t689 * t1238; + const double t1680 = t329 * t115; + const double t1687 = t347 * t115; + const double t1688 = t1687 * t1244; + const double t1691 = t696 * t1238; + const double t1694 = t336 * t321; + const double t1701 = t711 * t115; + const double t1702 = t1701 * t1244; + const double t1705 = t703 * t1238; + const double t1708 = t343 * t330; + const double t1716 = 0.1e1 / t346 / t332; + const double t1717 = t1716 * t115; + const double t1724 = 0.29333333333333333333e-1 * t685 * t1238 * t326 - 0.128e-3 * t1669 * t1670 + 0.384e-6 * t322 * t1674 - 0.88e-4 * t322 * t1677 + 0.128e-3 * t1680 * t1670 - 0.1536e-5 * t693 * t1674 + 0.176e-3 * t693 * t1677 + 0.3456e-8 * t331 * t1688 - 0.528e-6 * t331 * t1691 + 0.1152e-5 * t1694 * t1674 - 0.10368e-7 * t700 * t1688 + 0.792e-6 * t700 * t1691 + 0.20736e-10 * t338 * t1702 - 0.2376e-8 * t338 * t1705 + 0.6912e-8 * t1708 * t1688 - 0.55296e-10 * t707 * t1702 + 0.3168e-8 * t707 * t1705 + 0.10368e-12 * t345 * t1717 * t1244 - 0.9504e-11 * t345 * t712 * t1238; + const double t1725 = t318 * t1724; + const double t1728 = 0.2e1 * t1043; + const double t1729 = piecewise_functor_3( t7, 0.0, t1728 ); + const double t1735 = t16 * t359 * t725; + const double t1737 = t1061 * t720; + const double t1740 = t363 * t2; + const double t1744 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1737 * t354 - 0.2e1 / 0.3e1 * t1740 * t1042 ); + const double t1746 = t16 * t20 * t1744; + const double t1748 = t1055 - 0.17808333333333333333e-1 * t1057 - 0.17808333333333333333e-1 * t1735 + 0.53425e-1 * t1746; + const double t1750 = 0.62182e-1 * t1748 * t51; + const double t1751 = t729 * t374; + const double t1753 = 0.1e1 * t1751 * t398; + const double t1755 = 0.1e1 * t1075 * t743; + const double t1756 = t743 * t396; + const double t1758 = 0.2e1 * t1080 * t1756; + const double t1759 = t1086 * t732; + const double t1760 = t1759 * t378; + const double t1764 = t1090 - t1057 / 0.3e1 - t1735 / 0.3e1 + t1746; + const double t1765 = t376 * t1764; + const double t1770 = t1098 * t732; + const double t1771 = t1770 * t378; + const double t1773 = t383 * t1764; + const double t1777 = t38 * t388 * t738; + const double t1779 = t366 * t725; + const double t1781 = t38 * t42 * t1779; + const double t1783 = t25 * t1744; + const double t1785 = t38 * t42 * t1783; + const double t1787 = -0.9494625e0 * t1760 + 0.1898925e1 * t1765 + t1095 - 0.29896666666666666667e0 * t1057 - 0.29896666666666666667e0 * t1735 + 0.8969e0 * t1746 + 0.15358125e0 * t1771 + 0.3071625e0 * t1773 + t1108 - 0.16431333333333333333e0 * t1110 - 0.16431333333333333333e0 * t1777 + 0.24647e0 * t1781 + 0.24647e0 * t1785; + const double t1788 = t1787 * t397; + const double t1790 = 0.1e1 * t375 * t1788; + const double t1791 = t742 * t1128; + const double t1792 = t1791 * t396; + const double t1794 = 0.16081824322151104822e2 * t1126 * t1792; + const double t1798 = t1132 - 0.17123333333333333333e-1 * t1057 - 0.17123333333333333333e-1 * t1735 + 0.5137e-1 * t1746; + const double t1801 = t747 * t407; + const double t1806 = t755 * t415; + const double t1820 = -0.17648625e1 * t1760 + 0.3529725e1 * t1765 + t1150 - 0.516475e0 * t1057 - 0.516475e0 * t1735 + 0.1549425e1 * t1746 + 0.31558125e0 * t1771 + 0.6311625e0 * t1773 + t1155 - 0.20839e0 * t1110 - 0.20839e0 * t1777 + 0.312585e0 * t1781 + 0.312585e0 * t1785; + const double t1821 = t1820 * t416; + const double t1824 = t754 * t1167; + const double t1825 = t1824 * t415; + const double t1831 = t1171 - 0.92708333333333333333e-2 * t1057 - 0.92708333333333333333e-2 * t1735 + 0.278125e-1 * t1746; + const double t1832 = t1831 * t88; + const double t1834 = t759 * t426; + const double t1839 = t767 * t434; + const double t1853 = -0.1294625e1 * t1760 + 0.258925e1 * t1765 + t1189 - 0.301925e0 * t1057 - 0.301925e0 * t1735 + 0.905775e0 * t1746 + 0.82524375e-1 * t1771 + 0.16504875e0 * t1773 + t1194 - 0.16557e0 * t1110 - 0.16557e0 * t1777 + 0.248355e0 * t1781 + 0.248355e0 * t1785; + const double t1854 = t1853 * t435; + const double t1857 = t766 * t1206; + const double t1858 = t1857 * t434; + const double t1861 = -0.3109e-1 * t1798 * t75 + 0.1e1 * t1801 * t417 + 0.1e1 * t1138 * t755 - 0.2e1 * t1143 * t1806 + 0.1e1 * t408 * t1821 + 0.32164683177870697974e2 * t1165 * t1825 + t1750 - t1753 - t1755 + t1758 - t1790 - t1794 - 0.19751789702565206229e-1 * t1832 + 0.58482233974552040708e0 * t1834 * t436 + 0.58482233974552040708e0 * t1177 * t767 - 0.11696446794910408142e1 * t1182 * t1839 + 0.58482233974552040708e0 * t427 * t1854 + 0.17315755899375863299e2 * t1204 * t1858; + const double t1865 = t64 * t759; + const double t1870 = t1181 * t766; + const double t1871 = t1870 * t436; + const double t1875 = t426 * t1853 * t435; + const double t1878 = t1203 * t766; + const double t1879 = t1206 * t434; + const double t1880 = t1878 * t1879; + const double t1883 = -t1750 + t1753 + t1755 - t1758 + t1790 + t1794 + t64 * t1861 + 0.19751789702565206229e-1 * t64 * t1832 - 0.58482233974552040708e0 * t1865 * t445 - 0.58482233974552040708e0 * t1214 * t775 + 0.11696446794910408142e1 * t443 * t1871 - 0.58482233974552040708e0 * t443 * t1875 - 0.17315755899375863299e2 * t443 * t1880; + const double t1887 = piecewise_functor_3( t8, 0.0, t1729 * t95 / 0.2e1 + t9 * t1883 / 0.2e1 + t355 * t778 / 0.2e1 + t721 * t448 / 0.2e1 ); + const double t1888 = t1887 * t147; + const double t1889 = t782 * t496; + const double t1890 = piecewise_functor_3( t151, 0.0, -t1728 ); + const double t1896 = t16 * t359 * t789; + const double t1898 = t1304 * t784; + const double t1901 = t504 * t2; + const double t1905 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1898 * t498 + 0.2e1 / 0.3e1 * t1901 * t1042 ); + const double t1907 = t16 * t20 * t1905; + const double t1909 = t1298 - 0.17808333333333333333e-1 * t1300 - 0.17808333333333333333e-1 * t1896 + 0.53425e-1 * t1907; + const double t1911 = 0.62182e-1 * t1909 * t174; + const double t1912 = t793 * t515; + const double t1914 = 0.1e1 * t1912 * t536; + const double t1916 = 0.1e1 * t1318 * t807; + const double t1917 = t807 * t534; + const double t1919 = 0.2e1 * t1323 * t1917; + const double t1920 = t1329 * t796; + const double t1921 = t1920 * t519; + const double t1925 = t1333 - t1300 / 0.3e1 - t1896 / 0.3e1 + t1907; + const double t1926 = t517 * t1925; + const double t1931 = t1341 * t796; + const double t1932 = t1931 * t519; + const double t1934 = t524 * t1925; + const double t1938 = t38 * t388 * t802; + const double t1940 = t507 * t789; + const double t1942 = t38 * t42 * t1940; + const double t1944 = t156 * t1905; + const double t1946 = t38 * t42 * t1944; + const double t1948 = -0.9494625e0 * t1921 + 0.1898925e1 * t1926 + t1338 - 0.29896666666666666667e0 * t1300 - 0.29896666666666666667e0 * t1896 + 0.8969e0 * t1907 + 0.15358125e0 * t1932 + 0.3071625e0 * t1934 + t1348 - 0.16431333333333333333e0 * t1350 - 0.16431333333333333333e0 * t1938 + 0.24647e0 * t1942 + 0.24647e0 * t1946; + const double t1949 = t1948 * t535; + const double t1951 = 0.1e1 * t516 * t1949; + const double t1952 = t806 * t1368; + const double t1953 = t1952 * t534; + const double t1955 = 0.16081824322151104822e2 * t1366 * t1953; + const double t1959 = t1372 - 0.17123333333333333333e-1 * t1300 - 0.17123333333333333333e-1 * t1896 + 0.5137e-1 * t1907; + const double t1962 = t811 * t545; + const double t1967 = t819 * t553; + const double t1981 = -0.17648625e1 * t1921 + 0.3529725e1 * t1926 + t1390 - 0.516475e0 * t1300 - 0.516475e0 * t1896 + 0.1549425e1 * t1907 + 0.31558125e0 * t1932 + 0.6311625e0 * t1934 + t1395 - 0.20839e0 * t1350 - 0.20839e0 * t1938 + 0.312585e0 * t1942 + 0.312585e0 * t1946; + const double t1982 = t1981 * t554; + const double t1985 = t818 * t1407; + const double t1986 = t1985 * t553; + const double t1992 = t1411 - 0.92708333333333333333e-2 * t1300 - 0.92708333333333333333e-2 * t1896 + 0.278125e-1 * t1907; + const double t1993 = t1992 * t200; + const double t1995 = t823 * t564; + const double t2000 = t831 * t572; + const double t2014 = -0.1294625e1 * t1921 + 0.258925e1 * t1926 + t1429 - 0.301925e0 * t1300 - 0.301925e0 * t1896 + 0.905775e0 * t1907 + 0.82524375e-1 * t1932 + 0.16504875e0 * t1934 + t1434 - 0.16557e0 * t1350 - 0.16557e0 * t1938 + 0.248355e0 * t1942 + 0.248355e0 * t1946; + const double t2015 = t2014 * t573; + const double t2018 = t830 * t1446; + const double t2019 = t2018 * t572; + const double t2022 = -0.3109e-1 * t1959 * t187 + 0.1e1 * t1962 * t555 + 0.1e1 * t1378 * t819 - 0.2e1 * t1383 * t1967 + 0.1e1 * t546 * t1982 + 0.32164683177870697974e2 * t1405 * t1986 + t1911 - t1914 - t1916 + t1919 - t1951 - t1955 - 0.19751789702565206229e-1 * t1993 + 0.58482233974552040708e0 * t1995 * t574 + 0.58482233974552040708e0 * t1417 * t831 - 0.11696446794910408142e1 * t1422 * t2000 + 0.58482233974552040708e0 * t565 * t2015 + 0.17315755899375863299e2 * t1444 * t2019; + const double t2026 = t64 * t823; + const double t2031 = t1421 * t830; + const double t2032 = t2031 * t574; + const double t2036 = t564 * t2014 * t573; + const double t2039 = t1443 * t830; + const double t2040 = t1446 * t572; + const double t2041 = t2039 * t2040; + const double t2044 = -t1911 + t1914 + t1916 - t1919 + t1951 + t1955 + t64 * t2022 + 0.19751789702565206229e-1 * t64 * t1993 - 0.58482233974552040708e0 * t2026 * t583 - 0.58482233974552040708e0 * t1454 * t839 + 0.11696446794910408142e1 * t581 * t2032 - 0.58482233974552040708e0 * t581 * t2036 - 0.17315755899375863299e2 * t581 * t2041; + const double t2048 = piecewise_functor_3( t152, 0.0, t153 * t2044 / 0.2e1 + t1890 * t207 / 0.2e1 + t499 * t842 / 0.2e1 + t785 * t586 / 0.2e1 ); + const double t2049 = t2048 * t254; + const double t2050 = t590 * t890; + const double t2054 = -t1478 - 0.18311555036753159941e-3 * t1480 + t1485 + t1492 - 0.4e1 * t1493 + t1501 - t1504 - t1509 + t1511 - 0.4e1 * t1513 - t1539 + t1643 - t1647 - t1651; + const double t2056 = t899 * t10; + const double t2057 = t2056 * t675; + const double t2059 = t1517 * t720; + const double t2062 = t23 * t2; + const double t2066 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2059 * t354 + 0.8e1 / 0.3e1 * t2062 * t1042 ); + const double t2067 = t1525 * t784; + const double t2070 = t154 * t2; + const double t2074 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2067 * t498 - 0.8e1 / 0.3e1 * t2070 * t1042 ); + const double t2076 = ( t2066 + t2074 ) * t63; + const double t2079 = t620 * t900; + const double t2081 = t625 * t900; + const double t2083 = t2076 * t313; + const double t2085 = t899 * t668; + const double t2086 = t280 * t2085; + const double t2087 = t899 * t301; + const double t2088 = t2087 * t680; + const double t2090 = -0.58482233974552040708e0 * t1653 - 0.18311555036753159941e-3 * t2057 - t1887 + t1658 + 0.19751789702565206229e-1 * t2076 * t311 + 0.4e1 * t2079 - 0.4e1 * t2081 + t280 * t2083 + t2086 - 0.58482233974552040708e0 * t2088 + t1611 - t1593 + t1603 - t2048; + const double t2091 = t2054 + t2090; + const double t2092 = t2091 * t350; + const double t2093 = t904 * t716; + const double t2094 = t683 * t932; + const double t2095 = t906 * t850; + const double t2098 = t322 * t340; + const double t2099 = sigma_bb * t850; + const double t2100 = sigma_aa * t456; + const double t2101 = t2099 * t2100; + const double t2104 = t329 * sigma_aa; + const double t2105 = t2104 * t456; + const double t2108 = t693 * t340; + const double t2111 = t331 * t347; + const double t2114 = t1694 * t340; + const double t2117 = t700 * t347; + const double t2120 = t338 * t711; + const double t2123 = t1708 * t347; + const double t2126 = t707 * t711; + const double t2129 = t345 * t1716; + const double t2132 = -0.128e-3 * t2095 * t690 + 0.384e-6 * t2098 * t2101 + 0.128e-3 * t2105 * t911 - 0.1536e-5 * t2108 * t2101 + 0.3456e-8 * t2111 * t2101 + 0.1152e-5 * t2114 * t2101 - 0.10368e-7 * t2117 * t2101 + 0.20736e-10 * t2120 * t2101 + 0.6912e-8 * t2123 * t2101 - 0.55296e-10 * t2126 * t2101 + 0.10368e-12 * t2129 * t2101; + const double t2133 = t318 * t2132; + const double t2142 = 0.2e1 * t352 + 0.2e1 * t1043; + const double t2143 = piecewise_functor_3( t7, 0.0, t2142 ); + const double t2148 = t720 * t720; + const double t2154 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t2148 - t363 * t2142 / 0.3e1 ); + const double t2156 = t16 * t20 * t2154; + const double t2158 = t1055 - 0.35616666666666666666e-1 * t1735 + 0.53425e-1 * t2156; + const double t2160 = 0.62182e-1 * t2158 * t51; + const double t2162 = 0.2e1 * t1751 * t743; + const double t2163 = t742 * t742; + const double t2164 = t2163 * t397; + const double t2166 = 0.2e1 * t1080 * t2164; + const double t2167 = t732 * t732; + const double t2168 = t1086 * t2167; + const double t2171 = t1090 - 0.2e1 / 0.3e1 * t1735 + t2156; + const double t2172 = t376 * t2171; + const double t2176 = t1098 * t2167; + const double t2178 = t383 * t2171; + const double t2181 = t725 * t725; + const double t2183 = t38 * t42 * t2181; + const double t2185 = t25 * t2154; + const double t2187 = t38 * t42 * t2185; + const double t2189 = -0.9494625e0 * t2168 + 0.1898925e1 * t2172 + t1095 - 0.59793333333333333334e0 * t1735 + 0.8969e0 * t2156 + 0.15358125e0 * t2176 + 0.3071625e0 * t2178 + t1108 - 0.32862666666666666666e0 * t1777 + 0.24647e0 * t2183 + 0.24647e0 * t2187; + const double t2190 = t2189 * t397; + const double t2192 = 0.1e1 * t375 * t2190; + const double t2193 = t2163 * t1128; + const double t2195 = 0.16081824322151104822e2 * t1126 * t2193; + const double t2198 = t1132 - 0.34246666666666666666e-1 * t1735 + 0.5137e-1 * t2156; + const double t2203 = t754 * t754; + const double t2204 = t2203 * t416; + const double t2216 = -0.17648625e1 * t2168 + 0.3529725e1 * t2172 + t1150 - 0.103295e1 * t1735 + 0.1549425e1 * t2156 + 0.31558125e0 * t2176 + 0.6311625e0 * t2178 + t1155 - 0.41678e0 * t1777 + 0.312585e0 * t2183 + 0.312585e0 * t2187; + const double t2217 = t2216 * t416; + const double t2220 = t2203 * t1167; + const double t2225 = t1171 - 0.18541666666666666667e-1 * t1735 + 0.278125e-1 * t2156; + const double t2226 = t2225 * t88; + const double t2230 = t766 * t766; + const double t2231 = t2230 * t435; + const double t2243 = -0.1294625e1 * t2168 + 0.258925e1 * t2172 + t1189 - 0.60385e0 * t1735 + 0.905775e0 * t2156 + 0.82524375e-1 * t2176 + 0.16504875e0 * t2178 + t1194 - 0.33114e0 * t1777 + 0.248355e0 * t2183 + 0.248355e0 * t2187; + const double t2244 = t2243 * t435; + const double t2247 = t2230 * t1206; + const double t2250 = -0.3109e-1 * t2198 * t75 + 0.2e1 * t1801 * t755 - 0.2e1 * t1143 * t2204 + 0.1e1 * t408 * t2217 + 0.32164683177870697974e2 * t1165 * t2220 + t2160 - t2162 + t2166 - t2192 - t2195 - 0.19751789702565206229e-1 * t2226 + 0.11696446794910408142e1 * t1834 * t767 - 0.11696446794910408142e1 * t1182 * t2231 + 0.58482233974552040708e0 * t427 * t2244 + 0.17315755899375863299e2 * t1204 * t2247; + const double t2257 = t1181 * t2230 * t435; + const double t2261 = t426 * t2243 * t435; + const double t2264 = t1203 * t2230; + const double t2265 = t2264 * t1206; + const double t2268 = -t2160 + t2162 - t2166 + t2192 + t2195 + t64 * t2250 + 0.19751789702565206229e-1 * t64 * t2226 - 0.11696446794910408142e1 * t1865 * t775 + 0.11696446794910408142e1 * t443 * t2257 - 0.58482233974552040708e0 * t443 * t2261 - 0.17315755899375863299e2 * t443 * t2265; + const double t2272 = piecewise_functor_3( t8, 0.0, t2143 * t95 / 0.2e1 + t721 * t778 + t9 * t2268 / 0.2e1 ); + const double t2273 = t2272 * t147; + const double t2274 = -t2142; + const double t2275 = piecewise_functor_3( t151, 0.0, t2274 ); + const double t2280 = t784 * t784; + const double t2286 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t2280 - t504 * t2274 / 0.3e1 ); + const double t2288 = t16 * t20 * t2286; + const double t2290 = t1298 - 0.35616666666666666666e-1 * t1896 + 0.53425e-1 * t2288; + const double t2292 = 0.62182e-1 * t2290 * t174; + const double t2294 = 0.2e1 * t1912 * t807; + const double t2295 = t806 * t806; + const double t2296 = t2295 * t535; + const double t2298 = 0.2e1 * t1323 * t2296; + const double t2299 = t796 * t796; + const double t2300 = t1329 * t2299; + const double t2303 = t1333 - 0.2e1 / 0.3e1 * t1896 + t2288; + const double t2304 = t517 * t2303; + const double t2308 = t1341 * t2299; + const double t2310 = t524 * t2303; + const double t2313 = t789 * t789; + const double t2315 = t38 * t42 * t2313; + const double t2317 = t156 * t2286; + const double t2319 = t38 * t42 * t2317; + const double t2321 = -0.9494625e0 * t2300 + 0.1898925e1 * t2304 + t1338 - 0.59793333333333333334e0 * t1896 + 0.8969e0 * t2288 + 0.15358125e0 * t2308 + 0.3071625e0 * t2310 + t1348 - 0.32862666666666666666e0 * t1938 + 0.24647e0 * t2315 + 0.24647e0 * t2319; + const double t2322 = t2321 * t535; + const double t2324 = 0.1e1 * t516 * t2322; + const double t2325 = t2295 * t1368; + const double t2327 = 0.16081824322151104822e2 * t1366 * t2325; + const double t2330 = t1372 - 0.34246666666666666666e-1 * t1896 + 0.5137e-1 * t2288; + const double t2335 = t818 * t818; + const double t2336 = t2335 * t554; + const double t2348 = -0.17648625e1 * t2300 + 0.3529725e1 * t2304 + t1390 - 0.103295e1 * t1896 + 0.1549425e1 * t2288 + 0.31558125e0 * t2308 + 0.6311625e0 * t2310 + t1395 - 0.41678e0 * t1938 + 0.312585e0 * t2315 + 0.312585e0 * t2319; + const double t2349 = t2348 * t554; + const double t2352 = t2335 * t1407; + const double t2357 = t1411 - 0.18541666666666666667e-1 * t1896 + 0.278125e-1 * t2288; + const double t2358 = t2357 * t200; + const double t2362 = t830 * t830; + const double t2363 = t2362 * t573; + const double t2375 = -0.1294625e1 * t2300 + 0.258925e1 * t2304 + t1429 - 0.60385e0 * t1896 + 0.905775e0 * t2288 + 0.82524375e-1 * t2308 + 0.16504875e0 * t2310 + t1434 - 0.33114e0 * t1938 + 0.248355e0 * t2315 + 0.248355e0 * t2319; + const double t2376 = t2375 * t573; + const double t2379 = t2362 * t1446; + const double t2382 = -0.3109e-1 * t2330 * t187 + 0.2e1 * t1962 * t819 - 0.2e1 * t1383 * t2336 + 0.1e1 * t546 * t2349 + 0.32164683177870697974e2 * t1405 * t2352 + t2292 - t2294 + t2298 - t2324 - t2327 - 0.19751789702565206229e-1 * t2358 + 0.11696446794910408142e1 * t1995 * t831 - 0.11696446794910408142e1 * t1422 * t2363 + 0.58482233974552040708e0 * t565 * t2376 + 0.17315755899375863299e2 * t1444 * t2379; + const double t2389 = t1421 * t2362 * t573; + const double t2393 = t564 * t2375 * t573; + const double t2396 = t1443 * t2362; + const double t2397 = t2396 * t1446; + const double t2400 = -t2292 + t2294 - t2298 + t2324 + t2327 + t64 * t2382 + 0.19751789702565206229e-1 * t64 * t2358 - 0.11696446794910408142e1 * t2026 * t839 + 0.11696446794910408142e1 * t581 * t2389 - 0.58482233974552040708e0 * t581 * t2393 - 0.17315755899375863299e2 * t581 * t2397; + const double t2404 = piecewise_functor_3( t152, 0.0, t2275 * t207 / 0.2e1 + t785 * t842 + t153 * t2400 / 0.2e1 ); + const double t2405 = t2404 * t254; + const double t2406 = t846 * t890; + const double t2407 = 0.2e1 * t2406; + const double t2409 = 0.1e1 / t214 / t226; + const double t2413 = t226 * t848; + const double t2415 = 0.1e1 / t213 / t2413; + const double t2416 = t2415 * t231; + const double t2419 = t100 * t235; + const double t2420 = 0.1e1 / t246; + const double t2421 = t2420 * t240; + const double t2428 = t114 * t244; + const double t2429 = t237 * t226; + const double t2431 = 0.1e1 / t214 / t2429; + const double t2432 = t2431 * t250; + const double t2439 = t126 * t880; + const double t2443 = 0.1e1 / t213 / t237 / t2413 * t886; + const double t2450 = t244 * t224; + const double t2451 = t136 * t2450; + const double t2452 = t237 * t237; + const double t2453 = t2452 * t212; + const double t2456 = 0.1e1 / t249 / t230; + const double t2457 = 0.1e1 / t2453 * t2456; + const double t2460 = 0.19555555555555555555e1 * t211 * t2409 * t220 - 0.96000000000000000002e0 * t854 * t2416 + 0.11377777777777777778e0 * t2419 * t2421 + 0.13511111111111111111e1 * t225 * t2416 - 0.61155555555555555557e0 * t863 * t2421 + 0.68266666666666666669e-1 * t2428 * t2432 + 0.576e0 * t236 * t2421 - 0.25173333333333333333e0 * t871 * t2432 + 0.27306666666666666666e-1 * t2439 * t2443 + 0.19911111111111111112e0 * t245 * t2432 - 0.85333333333333333333e-1 * t881 * t2443 + 0.91022222222222222219e-2 * t2451 * t2457; + const double t2461 = t210 * t2460; + const double t2467 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t2148 + 0.4e1 / 0.3e1 * t23 * t2142 ); + const double t2473 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t2280 + 0.4e1 / 0.3e1 * t154 * t2274 ); + const double t2475 = ( t2467 + t2473 ) * t63; + const double t2476 = t2475 * t313; + const double t2478 = t280 * t2476 - t1478 + t1485 + t1492 - t1496 + t1501 + t1504 + t1507 - t1509 - t1539 + t1643 - t2404; + const double t2486 = -t1647 - t1651 - 0.36623110073506319882e-3 * t2057 - t2272 + t1658 + 0.19751789702565206229e-1 * t2475 * t311 - 0.8e1 * t2079 - 0.8e1 * t2081 + 0.2e1 * t2086 - 0.11696446794910408142e1 * t2088 + t1611 - t1593 + t1603; + const double t2487 = t2478 + t2486; + const double t2488 = t2487 * t350; + const double t2489 = t904 * t932; + const double t2490 = 0.2e1 * t2489; + const double t2494 = t320 * t224; + const double t2495 = t2415 * t333; + const double t2498 = t340 * t224; + const double t2499 = t2498 * t2415; + const double t2502 = t910 * t2409; + const double t2505 = t329 * t224; + const double t2512 = t347 * t224; + const double t2513 = t2512 * t2415; + const double t2516 = t916 * t2409; + const double t2525 = t711 * t224; + const double t2526 = t2525 * t2415; + const double t2529 = t922 * t2409; + const double t2538 = t1716 * t224; + const double t2545 = 0.29333333333333333333e-1 * t906 * t2409 * t326 - 0.128e-3 * t2494 * t2495 + 0.384e-6 * t322 * t2499 - 0.88e-4 * t322 * t2502 + 0.128e-3 * t2505 * t2495 - 0.1536e-5 * t693 * t2499 + 0.176e-3 * t693 * t2502 + 0.3456e-8 * t331 * t2513 - 0.528e-6 * t331 * t2516 + 0.1152e-5 * t1694 * t2499 - 0.10368e-7 * t700 * t2513 + 0.792e-6 * t700 * t2516 + 0.20736e-10 * t338 * t2526 - 0.2376e-8 * t338 * t2529 + 0.6912e-8 * t1708 * t2513 - 0.55296e-10 * t707 * t2526 + 0.3168e-8 * t707 * t2529 + 0.10368e-12 * t345 * t2538 * t2415 - 0.9504e-11 * t345 * t928 * t2409; + const double t2546 = t318 * t2545; + const double t2549 = t452 * t960; + const double t2553 = t100 * t463; + const double t2554 = t122 * sigma_aa; + const double t2575 = t1281 * rho_a; + const double t2577 = 0.1e1 / t2575 * t1285; + const double t2580 = -0.53333333333333333333e0 * t100 * t456 * t110 + 0.32e0 * t2553 * t2554 - 0.42666666666666666668e-1 * t460 * t472 - 0.42666666666666666667e0 * t941 * t464 + 0.21333333333333333334e0 * t116 * t472 - 0.256e-1 * t469 * t481 - 0.192e0 * t946 * t472 + 0.896e-1 * t128 * t481 - 0.1024e-1 * t477 * t493 - 0.68266666666666666667e-1 * t951 * t481 + 0.3072e-1 * t138 * t493 - 0.34133333333333333332e-2 * t487 * t2577; + const double t2581 = t98 * t2580; + const double t2582 = t683 * t983; + const double t2583 = t320 * t456; + const double t2586 = t320 * t463; + const double t2589 = t340 * t463; + const double t2590 = t2589 * sigma_aa; + const double t2593 = t333 * t456; + const double t2603 = t347 * t463; + const double t2604 = t2603 * sigma_aa; + const double t2607 = t340 * t456; + const double t2616 = t711 * t463; + const double t2617 = t2616 * sigma_aa; + const double t2620 = t347 * t456; + const double t2629 = t1716 * t463; + const double t2636 = -0.8e-2 * t2583 * t326 + 0.48e-4 * t2586 * t689 - 0.144e-6 * t322 * t2590 + 0.24e-4 * t322 * t2593 - 0.48e-4 * t2104 * t463 * t333 + 0.576e-6 * t693 * t2590 - 0.48e-4 * t693 * t2593 - 0.1296e-8 * t331 * t2604 + 0.144e-6 * t331 * t2607 - 0.432e-6 * t1694 * t2590 + 0.3888e-8 * t700 * t2604 - 0.216e-6 * t700 * t2607 - 0.7776e-11 * t338 * t2617 + 0.648e-9 * t338 * t2620 - 0.2592e-8 * t1708 * t2604 + 0.20736e-10 * t707 * t2617 - 0.864e-9 * t707 * t2620 - 0.3888e-13 * t345 * t2629 * sigma_aa + 0.2592e-11 * t345 * t711 * t456; + const double t2637 = t318 * t2636; + const double t2640 = t590 * t1010; + const double t2641 = t683 * t1033; + const double t2644 = t216 * sigma_aa; + const double t2645 = t2644 * t456; + const double t2667 = 0.48e-4 * t1012 * t690 - 0.144e-6 * t2098 * t2645 - 0.48e-4 * t2104 * t2593 * t216 + 0.576e-6 * t2108 * t2645 - 0.1296e-8 * t2111 * t2645 - 0.432e-6 * t2114 * t2645 + 0.3888e-8 * t2117 * t2645 - 0.7776e-11 * t2120 * t2645 - 0.2592e-8 * t2123 * t2645 + 0.20736e-10 * t2126 * t2645 - 0.3888e-13 * t2129 * t2645; + const double t2668 = t318 * t2667; + const double t2671 = t782 * t960; + const double t2672 = t904 * t983; + const double t2675 = t106 * sigma_bb; + const double t2676 = t2675 * t850; + const double t2679 = t329 * sigma_bb; + const double t2680 = t850 * t333; + const double t2700 = 0.48e-4 * t962 * t911 - 0.144e-6 * t2098 * t2676 - 0.48e-4 * t2679 * t2680 * t106 + 0.576e-6 * t2108 * t2676 - 0.1296e-8 * t2111 * t2676 - 0.432e-6 * t2114 * t2676 + 0.3888e-8 * t2117 * t2676 - 0.7776e-11 * t2120 * t2676 - 0.2592e-8 * t2123 * t2676 + 0.20736e-10 * t2126 * t2676 - 0.3888e-13 * t2129 * t2676; + const double t2701 = t318 * t2700; + const double t2704 = t846 * t1010; + const double t2708 = t100 * t857; + const double t2709 = t231 * sigma_bb; + const double t2730 = t2452 * rho_b; + const double t2732 = 0.1e1 / t2730 * t2456; + const double t2735 = -0.53333333333333333333e0 * t100 * t850 * t220 + 0.32e0 * t2708 * t2709 - 0.42666666666666666668e-1 * t854 * t866 - 0.42666666666666666667e0 * t991 * t858 + 0.21333333333333333334e0 * t225 * t866 - 0.256e-1 * t863 * t875 - 0.192e0 * t996 * t866 + 0.896e-1 * t236 * t875 - 0.1024e-1 * t871 * t887 - 0.68266666666666666667e-1 * t1001 * t875 + 0.3072e-1 * t245 * t887 - 0.34133333333333333332e-2 * t881 * t2732; + const double t2736 = t210 * t2735; + const double t2737 = t904 * t1033; + const double t2738 = t320 * t850; + const double t2741 = t320 * t857; + const double t2744 = t340 * t857; + const double t2745 = t2744 * sigma_bb; + const double t2757 = t347 * t857; + const double t2758 = t2757 * sigma_bb; + const double t2761 = t340 * t850; + const double t2770 = t711 * t857; + const double t2771 = t2770 * sigma_bb; + const double t2774 = t347 * t850; + const double t2783 = t1716 * t857; + const double t2787 = t711 * t850; + const double t2790 = -0.8e-2 * t2738 * t326 + 0.48e-4 * t2741 * t910 - 0.144e-6 * t322 * t2745 + 0.24e-4 * t322 * t2680 - 0.48e-4 * t2679 * t857 * t333 + 0.576e-6 * t693 * t2745 - 0.48e-4 * t693 * t2680 - 0.1296e-8 * t331 * t2758 + 0.144e-6 * t331 * t2761 - 0.432e-6 * t1694 * t2745 + 0.3888e-8 * t700 * t2758 - 0.216e-6 * t700 * t2761 - 0.7776e-11 * t338 * t2771 + 0.648e-9 * t338 * t2774 - 0.2592e-8 * t1708 * t2758 + 0.20736e-10 * t707 * t2771 - 0.864e-9 * t707 * t2774 - 0.3888e-13 * t345 * t2783 * sigma_bb + 0.2592e-11 * t345 * t2787; + const double t2791 = t318 * t2790; + const double t2806 = t126 * sigma_aa; + const double t2813 = t136 * t115; + const double t2819 = 0.1e1 / t1281 * t1285; + const double t2822 = -0.8e-1 * t100 * t120 * t122 + 0.16e-1 * t101 * t133 + 0.8e-1 * t114 * t120 * t122 - 0.64e-1 * t941 * t133 + 0.96e-2 * t116 * t144 + 0.48e-1 * t2806 * t133 - 0.288e-1 * t946 * t144 + 0.384e-2 * t128 * t957 + 0.192e-1 * t2813 * t144 - 0.1024e-1 * t951 * t957 + 0.128e-2 * t138 * t2819; + const double t2823 = t98 * t2822; + const double t2824 = t320 * t120; + const double t2827 = t340 * t120; + const double t2830 = t329 * t120; + const double t2835 = t347 * t120; + const double t2842 = t711 * t120; + const double t2852 = -0.18e-4 * t2824 * t333 + 0.54e-7 * t322 * t2827 + 0.18e-4 * t2830 * t333 - 0.216e-6 * t693 * t2827 + 0.486e-9 * t331 * t2835 + 0.162e-6 * t1694 * t2827 - 0.1458e-8 * t700 * t2835 + 0.2916e-11 * t338 * t2842 + 0.972e-9 * t1708 * t2835 - 0.7776e-11 * t707 * t2842 + 0.1458e-13 * t345 * t1716 * t120; + const double t2853 = t318 * t2852; + const double t2855 = t3 * t318; + const double t2858 = t1020 * t106; + const double t2861 = t329 * t106; + const double t2866 = t1025 * t106; + const double t2873 = t1030 * t106; + const double t2880 = t1716 * t216; + const double t2884 = -0.18e-4 * t1012 * t965 + 0.54e-7 * t322 * t2858 + 0.18e-4 * t2861 * t1015 - 0.216e-6 * t693 * t2858 + 0.486e-9 * t331 * t2866 + 0.162e-6 * t1694 * t2858 - 0.1458e-8 * t700 * t2866 + 0.2916e-11 * t338 * t2873 + 0.972e-9 * t1708 * t2866 - 0.7776e-11 * t707 * t2873 + 0.1458e-13 * t345 * t2880 * t106; + const double t2897 = t126 * sigma_bb; + const double t2904 = t136 * t224; + const double t2910 = 0.1e1 / t2452 * t2456; + const double t2913 = -0.8e-1 * t100 * t229 * t231 + 0.16e-1 * t211 * t241 + 0.8e-1 * t114 * t229 * t231 - 0.64e-1 * t991 * t241 + 0.96e-2 * t225 * t251 + 0.48e-1 * t2897 * t241 - 0.288e-1 * t996 * t251 + 0.384e-2 * t236 * t1007 + 0.192e-1 * t2904 * t251 - 0.1024e-1 * t1001 * t1007 + 0.128e-2 * t245 * t2910; + const double t2914 = t210 * t2913; + const double t2915 = t320 * t229; + const double t2918 = t340 * t229; + const double t2921 = t329 * t229; + const double t2926 = t347 * t229; + const double t2933 = t711 * t229; + const double t2940 = t1716 * t229; + const double t2943 = -0.18e-4 * t2915 * t333 + 0.54e-7 * t322 * t2918 + 0.18e-4 * t2921 * t333 - 0.216e-6 * t693 * t2918 + 0.486e-9 * t331 * t2926 + 0.162e-6 * t1694 * t2918 - 0.1458e-8 * t700 * t2926 + 0.2916e-11 * t338 * t2933 + 0.972e-9 * t1708 * t2926 - 0.7776e-11 * t707 * t2933 + 0.1458e-13 * t345 * t2940; + const double t2944 = t318 * t2943; + + + v2rho2_aa = 0.2e1 * t453 + 0.2e1 * t497 + 0.2e1 * t591 + 0.2e1 * t684 + 0.2e1 * t717 + t3 * ( t1234 + t1236 + t1290 + t1474 + t1663 + t1665 + t1725 ); + v2rho2_ab = t453 + t497 + t591 + t684 + t717 + t783 + t847 + t891 + t905 + t933 + t3 * ( t1888 + t1889 + t2049 + t2050 + t2092 + t2093 + t2094 + t2133 ); + v2rho2_bb = 0.2e1 * t783 + 0.2e1 * t847 + 0.2e1 * t891 + 0.2e1 * t905 + 0.2e1 * t933 + t3 * ( t2273 + t2405 + t2407 + t2461 + t2488 + t2490 + t2546 ); + v2rhosigma_a_aa = t961 + t984 + t3 * ( t2549 + t2581 + t2582 + t2637 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1011 + t1034 + t3 * ( t2640 + t2641 + t2668 ); + v2rhosigma_b_aa = t961 + t984 + t3 * ( t2671 + t2672 + t2701 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1011 + t1034 + t3 * ( t2704 + t2736 + t2737 + t2791 ); + v2sigma2_aa_aa = t3 * ( t2823 + t2853 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t2855 * t2884; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t2914 + t2944 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t10 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t14 = constants::m_cbrt_4; + constexpr double t19 = constants::m_cbrt_2; + constexpr double t13 = t10 * t12; + constexpr double t15 = t14 * t14; + constexpr double t16 = t13 * t15; + constexpr double t35 = t10 * t10; + constexpr double t36 = t12 * t12; + constexpr double t37 = t35 * t36; + constexpr double t38 = t37 * t14; + constexpr double t41 = t19 * t19; + constexpr double t99 = c_ss_0; + constexpr double t100 = c_ss_1; + constexpr double t114 = c_ss_2; + constexpr double t126 = c_ss_3; + constexpr double t136 = c_ss_4; + constexpr double t320 = c_ab_1; + constexpr double t329 = c_ab_2; + constexpr double t336 = c_ab_3; + constexpr double t343 = c_ab_4; + constexpr double t601 = t12 * t15; + constexpr double t1557 = t36 * t14; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t9 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t17 = safe_math::cbrt( t3 ); + const double t18 = 0.1e1 / t17; + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = 0.1e1 / t21; + const double t23 = safe_math::cbrt( t6 ); + const double t25 = piecewise_functor_3( t7, t22, 0.1e1 / t23 ); + const double t27 = t16 * t20 * t25; + const double t29 = 0.1e1 + 0.53425e-1 * t27; + const double t30 = safe_math::sqrt( t27 ); + const double t33 = pow_3_2( t27 ); + const double t39 = t17 * t17; + const double t40 = 0.1e1 / t39; + const double t42 = t40 * t41; + const double t43 = t25 * t25; + const double t45 = t38 * t42 * t43; + const double t47 = 0.379785e1 * t30 + 0.8969e0 * t27 + 0.204775e0 * t33 + 0.123235e0 * t45; + const double t50 = 0.1e1 + 0.16081824322151104822e2 / t47; + const double t51 = safe_math::log( t50 ); + const double t53 = 0.62182e-1 * t29 * t51; + const double t55 = t21 * zeta_tol; + const double t57 = piecewise_functor_3( 0.2e1 <= zeta_tol, t55, 0.2e1 * t19 ); + const double t59 = piecewise_functor_3( 0.e0 <= zeta_tol, t55, 0.0 ); + const double t63 = 0.1e1 / ( 0.2e1 * t19 - 0.2e1 ); + const double t64 = ( t57 + t59 - 0.2e1 ) * t63; + const double t66 = 0.1e1 + 0.5137e-1 * t27; + const double t71 = 0.705945e1 * t30 + 0.1549425e1 * t27 + 0.420775e0 * t33 + 0.1562925e0 * t45; + const double t74 = 0.1e1 + 0.32164683177870697974e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t79 = 0.1e1 + 0.278125e-1 * t27; + const double t84 = 0.51785e1 * t30 + 0.905775e0 * t27 + 0.1100325e0 * t33 + 0.1241775e0 * t45; + const double t87 = 0.1e1 + 0.29608574643216675549e2 / t84; + const double t88 = safe_math::log( t87 ); + const double t89 = t79 * t88; + const double t95 = -t53 + t64 * ( -0.3109e-1 * t66 * t75 + t53 - 0.19751789702565206229e-1 * t89 ) + 0.19751789702565206229e-1 * t64 * t89; + const double t98 = piecewise_functor_3( t8, 0.0, t9 * t95 / 0.2e1 ); + const double t101 = t100 * sigma_aa; + const double t102 = rho_a * rho_a; + const double t103 = safe_math::cbrt( rho_a ); + const double t104 = t103 * t103; + const double t106 = 0.1e1 / t104 / t102; + const double t107 = sigma_aa * t106; + const double t109 = 0.1e1 + 0.2e0 * t107; + const double t110 = 0.1e1 / t109; + const double t115 = sigma_aa * sigma_aa; + const double t116 = t114 * t115; + const double t117 = t102 * t102; + const double t118 = t117 * rho_a; + const double t120 = 0.1e1 / t103 / t118; + const double t121 = t109 * t109; + const double t122 = 0.1e1 / t121; + const double t123 = t120 * t122; + const double t127 = t115 * sigma_aa; + const double t128 = t126 * t127; + const double t129 = t117 * t117; + const double t130 = 0.1e1 / t129; + const double t131 = t121 * t109; + const double t132 = 0.1e1 / t131; + const double t133 = t130 * t132; + const double t137 = t115 * t115; + const double t138 = t136 * t137; + const double t139 = t129 * t102; + const double t141 = 0.1e1 / t104 / t139; + const double t142 = t121 * t121; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t147 = t99 + 0.2e0 * t101 * t106 * t110 + 0.4e-1 * t116 * t123 + 0.8e-2 * t128 * t133 + 0.16e-2 * t138 * t144; + const double t148 = t98 * t147; + const double t150 = 0.1e1 - t5; + const double t151 = t150 <= zeta_tol; + const double t152 = rho_b <= dens_tol || t151; + const double t153 = piecewise_functor_3( t151, zeta_tol, t150 ); + const double t154 = safe_math::cbrt( t150 ); + const double t156 = piecewise_functor_3( t151, t22, 0.1e1 / t154 ); + const double t158 = t16 * t20 * t156; + const double t160 = 0.1e1 + 0.53425e-1 * t158; + const double t161 = safe_math::sqrt( t158 ); + const double t164 = pow_3_2( t158 ); + const double t166 = t156 * t156; + const double t168 = t38 * t42 * t166; + const double t170 = 0.379785e1 * t161 + 0.8969e0 * t158 + 0.204775e0 * t164 + 0.123235e0 * t168; + const double t173 = 0.1e1 + 0.16081824322151104822e2 / t170; + const double t174 = safe_math::log( t173 ); + const double t176 = 0.62182e-1 * t160 * t174; + const double t178 = 0.1e1 + 0.5137e-1 * t158; + const double t183 = 0.705945e1 * t161 + 0.1549425e1 * t158 + 0.420775e0 * t164 + 0.1562925e0 * t168; + const double t186 = 0.1e1 + 0.32164683177870697974e2 / t183; + const double t187 = safe_math::log( t186 ); + const double t191 = 0.1e1 + 0.278125e-1 * t158; + const double t196 = 0.51785e1 * t161 + 0.905775e0 * t158 + 0.1100325e0 * t164 + 0.1241775e0 * t168; + const double t199 = 0.1e1 + 0.29608574643216675549e2 / t196; + const double t200 = safe_math::log( t199 ); + const double t201 = t191 * t200; + const double t207 = -t176 + t64 * ( -0.3109e-1 * t178 * t187 + t176 - 0.19751789702565206229e-1 * t201 ) + 0.19751789702565206229e-1 * t64 * t201; + const double t210 = piecewise_functor_3( t152, 0.0, t153 * t207 / 0.2e1 ); + const double t211 = t100 * sigma_bb; + const double t212 = rho_b * rho_b; + const double t213 = safe_math::cbrt( rho_b ); + const double t214 = t213 * t213; + const double t216 = 0.1e1 / t214 / t212; + const double t217 = sigma_bb * t216; + const double t219 = 0.1e1 + 0.2e0 * t217; + const double t220 = 0.1e1 / t219; + const double t224 = sigma_bb * sigma_bb; + const double t225 = t114 * t224; + const double t226 = t212 * t212; + const double t227 = t226 * rho_b; + const double t229 = 0.1e1 / t213 / t227; + const double t230 = t219 * t219; + const double t231 = 0.1e1 / t230; + const double t232 = t229 * t231; + const double t235 = t224 * sigma_bb; + const double t236 = t126 * t235; + const double t237 = t226 * t226; + const double t238 = 0.1e1 / t237; + const double t239 = t230 * t219; + const double t240 = 0.1e1 / t239; + const double t241 = t238 * t240; + const double t244 = t224 * t224; + const double t245 = t136 * t244; + const double t246 = t237 * t212; + const double t248 = 0.1e1 / t214 / t246; + const double t249 = t230 * t230; + const double t250 = 0.1e1 / t249; + const double t251 = t248 * t250; + const double t254 = t99 + 0.2e0 * t211 * t216 * t220 + 0.4e-1 * t225 * t232 + 0.8e-2 * t236 * t241 + 0.16e-2 * t245 * t251; + const double t255 = t210 * t254; + const double t257 = t13 * t15 * t18; + const double t259 = 0.1e1 + 0.53425e-1 * t257; + const double t260 = safe_math::sqrt( t257 ); + const double t263 = pow_3_2( t257 ); + const double t266 = t37 * t14 * t40; + const double t268 = 0.379785e1 * t260 + 0.8969e0 * t257 + 0.204775e0 * t263 + 0.123235e0 * t266; + const double t271 = 0.1e1 + 0.16081824322151104822e2 / t268; + const double t272 = safe_math::log( t271 ); + const double t274 = 0.62182e-1 * t259 * t272; + const double t275 = t2 * t2; + const double t276 = t275 * t275; + const double t277 = t3 * t3; + const double t278 = t277 * t277; + const double t279 = 0.1e1 / t278; + const double t280 = t276 * t279; + const double t281 = t23 * t6; + const double t282 = piecewise_functor_3( t7, t55, t281 ); + const double t283 = t154 * t150; + const double t284 = piecewise_functor_3( t151, t55, t283 ); + const double t285 = t282 + t284 - 0.2e1; + const double t286 = t285 * t63; + const double t288 = 0.1e1 + 0.5137e-1 * t257; + const double t293 = 0.705945e1 * t260 + 0.1549425e1 * t257 + 0.420775e0 * t263 + 0.1562925e0 * t266; + const double t296 = 0.1e1 + 0.32164683177870697974e2 / t293; + const double t297 = safe_math::log( t296 ); + const double t301 = 0.1e1 + 0.278125e-1 * t257; + const double t306 = 0.51785e1 * t260 + 0.905775e0 * t257 + 0.1100325e0 * t263 + 0.1241775e0 * t266; + const double t309 = 0.1e1 + 0.29608574643216675549e2 / t306; + const double t310 = safe_math::log( t309 ); + const double t311 = t301 * t310; + const double t313 = -0.3109e-1 * t288 * t297 + t274 - 0.19751789702565206229e-1 * t311; + const double t314 = t286 * t313; + const double t318 = -t274 + t280 * t314 + 0.19751789702565206229e-1 * t286 * t311 - t98 - t210; + const double t321 = t107 + t217; + const double t322 = t320 * t321; + const double t325 = 0.1e1 + 0.3e-2 * t107 + 0.3e-2 * t217; + const double t326 = 0.1e1 / t325; + const double t330 = t321 * t321; + const double t331 = t329 * t330; + const double t332 = t325 * t325; + const double t333 = 0.1e1 / t332; + const double t337 = t330 * t321; + const double t338 = t336 * t337; + const double t339 = t332 * t325; + const double t340 = 0.1e1 / t339; + const double t344 = t330 * t330; + const double t345 = t343 * t344; + const double t346 = t332 * t332; + const double t347 = 0.1e1 / t346; + const double t350 = c_ab_0 + 0.3e-2 * t322 * t326 + 0.9e-5 * t331 * t333 + 0.27e-7 * t338 * t340 + 0.81e-10 * t345 * t347; + const double t351 = t318 * t350; + const double t352 = 0.1e1 / t277; + const double t353 = t2 * t352; + const double t354 = t4 - t353; + const double t355 = piecewise_functor_3( t7, 0.0, t354 ); + const double t358 = 0.1e1 / t17 / t3; + const double t359 = t358 * t19; + const double t361 = t16 * t359 * t25; + const double t362 = 0.17808333333333333333e-1 * t361; + const double t363 = 0.1e1 / t281; + const double t366 = piecewise_functor_3( t7, 0.0, -t363 * t354 / 0.3e1 ); + const double t368 = t16 * t20 * t366; + const double t370 = -t362 + 0.53425e-1 * t368; + const double t372 = 0.62182e-1 * t370 * t51; + const double t373 = t47 * t47; + const double t374 = 0.1e1 / t373; + const double t375 = t29 * t374; + const double t376 = 0.1e1 / t30; + const double t377 = t361 / 0.3e1; + const double t378 = -t377 + t368; + const double t379 = t376 * t378; + const double t381 = 0.29896666666666666667e0 * t361; + const double t383 = safe_math::sqrt( t27 ); + const double t384 = t383 * t378; + const double t387 = 0.1e1 / t39 / t3; + const double t388 = t387 * t41; + const double t390 = t38 * t388 * t43; + const double t391 = 0.82156666666666666667e-1 * t390; + const double t392 = t25 * t366; + const double t394 = t38 * t42 * t392; + const double t396 = 0.1898925e1 * t379 - t381 + 0.8969e0 * t368 + 0.3071625e0 * t384 - t391 + 0.24647e0 * t394; + const double t397 = 0.1e1 / t50; + const double t398 = t396 * t397; + const double t400 = 0.1e1 * t375 * t398; + const double t401 = 0.17123333333333333333e-1 * t361; + const double t403 = -t401 + 0.5137e-1 * t368; + const double t406 = t71 * t71; + const double t407 = 0.1e1 / t406; + const double t408 = t66 * t407; + const double t410 = 0.516475e0 * t361; + const double t413 = 0.104195e0 * t390; + const double t415 = 0.3529725e1 * t379 - t410 + 0.1549425e1 * t368 + 0.6311625e0 * t384 - t413 + 0.312585e0 * t394; + const double t416 = 0.1e1 / t74; + const double t417 = t415 * t416; + const double t420 = 0.92708333333333333333e-2 * t361; + const double t422 = -t420 + 0.278125e-1 * t368; + const double t423 = t422 * t88; + const double t425 = t84 * t84; + const double t426 = 0.1e1 / t425; + const double t427 = t79 * t426; + const double t429 = 0.301925e0 * t361; + const double t432 = 0.82785e-1 * t390; + const double t434 = 0.258925e1 * t379 - t429 + 0.905775e0 * t368 + 0.16504875e0 * t384 - t432 + 0.248355e0 * t394; + const double t435 = 0.1e1 / t87; + const double t436 = t434 * t435; + const double t443 = t64 * t79; + const double t445 = t426 * t434 * t435; + const double t448 = -t372 + t400 + t64 * ( -0.3109e-1 * t403 * t75 + 0.1e1 * t408 * t417 + t372 - t400 - 0.19751789702565206229e-1 * t423 + 0.58482233974552040708e0 * t427 * t436 ) + 0.19751789702565206229e-1 * t64 * t423 - 0.58482233974552040708e0 * t443 * t445; + const double t452 = piecewise_functor_3( t8, 0.0, t355 * t95 / 0.2e1 + t9 * t448 / 0.2e1 ); + const double t453 = t452 * t147; + const double t454 = t102 * rho_a; + const double t456 = 0.1e1 / t104 / t454; + const double t460 = t100 * t115; + const double t461 = t117 * t102; + const double t463 = 0.1e1 / t103 / t461; + const double t464 = t463 * t122; + const double t469 = t114 * t127; + const double t470 = t129 * rho_a; + const double t471 = 0.1e1 / t470; + const double t472 = t471 * t132; + const double t477 = t126 * t137; + const double t478 = t129 * t454; + const double t480 = 0.1e1 / t104 / t478; + const double t481 = t480 * t143; + const double t486 = t137 * sigma_aa; + const double t487 = t136 * t486; + const double t488 = t129 * t461; + const double t492 = 0.1e1 / t142 / t109; + const double t493 = 0.1e1 / t103 / t488 * t492; + const double t496 = -0.53333333333333333333e0 * t101 * t456 * t110 + 0.10666666666666666667e0 * t460 * t464 - 0.21333333333333333333e0 * t116 * t464 + 0.42666666666666666668e-1 * t469 * t472 - 0.64e-1 * t128 * t472 + 0.128e-1 * t477 * t481 - 0.17066666666666666667e-1 * t138 * t481 + 0.34133333333333333333e-2 * t487 * t493; + const double t497 = t98 * t496; + const double t498 = -t354; + const double t499 = piecewise_functor_3( t151, 0.0, t498 ); + const double t502 = t16 * t359 * t156; + const double t503 = 0.17808333333333333333e-1 * t502; + const double t504 = 0.1e1 / t283; + const double t507 = piecewise_functor_3( t151, 0.0, -t504 * t498 / 0.3e1 ); + const double t509 = t16 * t20 * t507; + const double t511 = -t503 + 0.53425e-1 * t509; + const double t513 = 0.62182e-1 * t511 * t174; + const double t514 = t170 * t170; + const double t515 = 0.1e1 / t514; + const double t516 = t160 * t515; + const double t517 = 0.1e1 / t161; + const double t518 = t502 / 0.3e1; + const double t519 = -t518 + t509; + const double t520 = t517 * t519; + const double t522 = 0.29896666666666666667e0 * t502; + const double t524 = safe_math::sqrt( t158 ); + const double t525 = t524 * t519; + const double t528 = t38 * t388 * t166; + const double t529 = 0.82156666666666666667e-1 * t528; + const double t530 = t156 * t507; + const double t532 = t38 * t42 * t530; + const double t534 = 0.1898925e1 * t520 - t522 + 0.8969e0 * t509 + 0.3071625e0 * t525 - t529 + 0.24647e0 * t532; + const double t535 = 0.1e1 / t173; + const double t536 = t534 * t535; + const double t538 = 0.1e1 * t516 * t536; + const double t539 = 0.17123333333333333333e-1 * t502; + const double t541 = -t539 + 0.5137e-1 * t509; + const double t544 = t183 * t183; + const double t545 = 0.1e1 / t544; + const double t546 = t178 * t545; + const double t548 = 0.516475e0 * t502; + const double t551 = 0.104195e0 * t528; + const double t553 = 0.3529725e1 * t520 - t548 + 0.1549425e1 * t509 + 0.6311625e0 * t525 - t551 + 0.312585e0 * t532; + const double t554 = 0.1e1 / t186; + const double t555 = t553 * t554; + const double t558 = 0.92708333333333333333e-2 * t502; + const double t560 = -t558 + 0.278125e-1 * t509; + const double t561 = t560 * t200; + const double t563 = t196 * t196; + const double t564 = 0.1e1 / t563; + const double t565 = t191 * t564; + const double t567 = 0.301925e0 * t502; + const double t570 = 0.82785e-1 * t528; + const double t572 = 0.258925e1 * t520 - t567 + 0.905775e0 * t509 + 0.16504875e0 * t525 - t570 + 0.248355e0 * t532; + const double t573 = 0.1e1 / t199; + const double t574 = t572 * t573; + const double t581 = t64 * t191; + const double t583 = t564 * t572 * t573; + const double t586 = -t513 + t538 + t64 * ( -0.3109e-1 * t541 * t187 + 0.1e1 * t546 * t555 + t513 - t538 - 0.19751789702565206229e-1 * t561 + 0.58482233974552040708e0 * t565 * t574 ) + 0.19751789702565206229e-1 * t64 * t561 - 0.58482233974552040708e0 * t581 * t583; + const double t590 = piecewise_functor_3( t152, 0.0, t153 * t586 / 0.2e1 + t499 * t207 / 0.2e1 ); + const double t591 = t590 * t254; + const double t592 = t15 * t358; + const double t595 = 0.11073577833333333333e-2 * t13 * t592 * t272; + const double t596 = t268 * t268; + const double t597 = 0.1e1 / t596; + const double t598 = t259 * t597; + const double t600 = 0.1e1 / t260 * t10; + const double t602 = t601 * t358; + const double t603 = t600 * t602; + const double t605 = t13 * t592; + const double t607 = safe_math::sqrt( t257 ); + const double t608 = t607 * t10; + const double t609 = t608 * t602; + const double t612 = t37 * t14 * t387; + const double t614 = -0.632975e0 * t603 - 0.29896666666666666667e0 * t605 - 0.1023875e0 * t609 - 0.82156666666666666667e-1 * t612; + const double t615 = 0.1e1 / t271; + const double t616 = t614 * t615; + const double t618 = 0.1e1 * t598 * t616; + const double t619 = t275 * t2; + const double t620 = t619 * t279; + const double t622 = 0.4e1 * t620 * t314; + const double t623 = t278 * t3; + const double t624 = 0.1e1 / t623; + const double t625 = t276 * t624; + const double t627 = 0.4e1 * t625 * t314; + const double t630 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t354 ); + const double t633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t498 ); + const double t635 = ( t630 + t633 ) * t63; + const double t636 = t635 * t313; + const double t641 = t293 * t293; + const double t642 = 0.1e1 / t641; + const double t643 = t288 * t642; + const double t648 = -0.1176575e1 * t603 - 0.516475e0 * t605 - 0.2103875e0 * t609 - 0.104195e0 * t612; + const double t649 = 0.1e1 / t296; + const double t650 = t648 * t649; + const double t656 = t306 * t306; + const double t657 = 0.1e1 / t656; + const double t658 = t301 * t657; + const double t663 = -0.86308333333333333334e0 * t603 - 0.301925e0 * t605 - 0.5501625e-1 * t609 - 0.82785e-1 * t612; + const double t664 = 0.1e1 / t309; + const double t665 = t663 * t664; + const double t668 = 0.53236443333333333332e-3 * t13 * t592 * t297 + 0.1e1 * t643 * t650 - t595 - t618 + 0.18311555036753159941e-3 * t13 * t592 * t310 + 0.58482233974552040708e0 * t658 * t665; + const double t669 = t286 * t668; + const double t670 = t280 * t669; + const double t673 = t286 * t10; + const double t675 = t601 * t358 * t310; + const double t677 = 0.18311555036753159941e-3 * t673 * t675; + const double t678 = t286 * t301; + const double t680 = t657 * t663 * t664; + const double t682 = 0.58482233974552040708e0 * t678 * t680; + const double t683 = t595 + t618 + t622 - t627 + t280 * t636 + t670 + 0.19751789702565206229e-1 * t635 * t311 - t677 - t682 - t452 - t590; + const double t684 = t683 * t350; + const double t685 = t320 * sigma_aa; + const double t689 = t333 * sigma_aa; + const double t690 = t689 * t456; + const double t693 = t329 * t321; + const double t696 = t340 * sigma_aa; + const double t697 = t696 * t456; + const double t700 = t336 * t330; + const double t703 = t347 * sigma_aa; + const double t704 = t703 * t456; + const double t707 = t343 * t337; + const double t711 = 0.1e1 / t346 / t325; + const double t712 = t711 * sigma_aa; + const double t716 = -0.8e-2 * t685 * t456 * t326 + 0.24e-4 * t322 * t690 - 0.48e-4 * t693 * t690 + 0.144e-6 * t331 * t697 - 0.216e-6 * t700 * t697 + 0.648e-9 * t338 * t704 - 0.864e-9 * t707 * t704 + 0.2592e-11 * t345 * t712 * t456; + const double t717 = t318 * t716; + const double t720 = -t4 - t353; + const double t721 = piecewise_functor_3( t7, 0.0, t720 ); + const double t725 = piecewise_functor_3( t7, 0.0, -t363 * t720 / 0.3e1 ); + const double t727 = t16 * t20 * t725; + const double t729 = -t362 + 0.53425e-1 * t727; + const double t731 = 0.62182e-1 * t729 * t51; + const double t732 = -t377 + t727; + const double t733 = t376 * t732; + const double t736 = t383 * t732; + const double t738 = t25 * t725; + const double t740 = t38 * t42 * t738; + const double t742 = 0.1898925e1 * t733 - t381 + 0.8969e0 * t727 + 0.3071625e0 * t736 - t391 + 0.24647e0 * t740; + const double t743 = t742 * t397; + const double t745 = 0.1e1 * t375 * t743; + const double t747 = -t401 + 0.5137e-1 * t727; + const double t754 = 0.3529725e1 * t733 - t410 + 0.1549425e1 * t727 + 0.6311625e0 * t736 - t413 + 0.312585e0 * t740; + const double t755 = t754 * t416; + const double t759 = -t420 + 0.278125e-1 * t727; + const double t760 = t759 * t88; + const double t766 = 0.258925e1 * t733 - t429 + 0.905775e0 * t727 + 0.16504875e0 * t736 - t432 + 0.248355e0 * t740; + const double t767 = t766 * t435; + const double t775 = t426 * t766 * t435; + const double t778 = -t731 + t745 + t64 * ( -0.3109e-1 * t747 * t75 + 0.1e1 * t408 * t755 + t731 - t745 - 0.19751789702565206229e-1 * t760 + 0.58482233974552040708e0 * t427 * t767 ) + 0.19751789702565206229e-1 * t64 * t760 - 0.58482233974552040708e0 * t443 * t775; + const double t782 = piecewise_functor_3( t8, 0.0, t721 * t95 / 0.2e1 + t9 * t778 / 0.2e1 ); + const double t783 = t782 * t147; + const double t784 = -t720; + const double t785 = piecewise_functor_3( t151, 0.0, t784 ); + const double t789 = piecewise_functor_3( t151, 0.0, -t504 * t784 / 0.3e1 ); + const double t791 = t16 * t20 * t789; + const double t793 = -t503 + 0.53425e-1 * t791; + const double t795 = 0.62182e-1 * t793 * t174; + const double t796 = -t518 + t791; + const double t797 = t517 * t796; + const double t800 = t524 * t796; + const double t802 = t156 * t789; + const double t804 = t38 * t42 * t802; + const double t806 = 0.1898925e1 * t797 - t522 + 0.8969e0 * t791 + 0.3071625e0 * t800 - t529 + 0.24647e0 * t804; + const double t807 = t806 * t535; + const double t809 = 0.1e1 * t516 * t807; + const double t811 = -t539 + 0.5137e-1 * t791; + const double t818 = 0.3529725e1 * t797 - t548 + 0.1549425e1 * t791 + 0.6311625e0 * t800 - t551 + 0.312585e0 * t804; + const double t819 = t818 * t554; + const double t823 = -t558 + 0.278125e-1 * t791; + const double t824 = t823 * t200; + const double t830 = 0.258925e1 * t797 - t567 + 0.905775e0 * t791 + 0.16504875e0 * t800 - t570 + 0.248355e0 * t804; + const double t831 = t830 * t573; + const double t839 = t564 * t830 * t573; + const double t842 = -t795 + t809 + t64 * ( -0.3109e-1 * t811 * t187 + 0.1e1 * t546 * t819 + t795 - t809 - 0.19751789702565206229e-1 * t824 + 0.58482233974552040708e0 * t565 * t831 ) + 0.19751789702565206229e-1 * t64 * t824 - 0.58482233974552040708e0 * t581 * t839; + const double t846 = piecewise_functor_3( t152, 0.0, t153 * t842 / 0.2e1 + t785 * t207 / 0.2e1 ); + const double t847 = t846 * t254; + const double t848 = t212 * rho_b; + const double t850 = 0.1e1 / t214 / t848; + const double t854 = t100 * t224; + const double t855 = t226 * t212; + const double t857 = 0.1e1 / t213 / t855; + const double t858 = t857 * t231; + const double t863 = t114 * t235; + const double t864 = t237 * rho_b; + const double t865 = 0.1e1 / t864; + const double t866 = t865 * t240; + const double t871 = t126 * t244; + const double t872 = t237 * t848; + const double t874 = 0.1e1 / t214 / t872; + const double t875 = t874 * t250; + const double t880 = t244 * sigma_bb; + const double t881 = t136 * t880; + const double t882 = t237 * t855; + const double t886 = 0.1e1 / t249 / t219; + const double t887 = 0.1e1 / t213 / t882 * t886; + const double t890 = -0.53333333333333333333e0 * t211 * t850 * t220 + 0.10666666666666666667e0 * t854 * t858 - 0.21333333333333333333e0 * t225 * t858 + 0.42666666666666666668e-1 * t863 * t866 - 0.64e-1 * t236 * t866 + 0.128e-1 * t871 * t875 - 0.17066666666666666667e-1 * t245 * t875 + 0.34133333333333333333e-2 * t881 * t887; + const double t891 = t210 * t890; + const double t894 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t23 * t720 ); + const double t897 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t154 * t784 ); + const double t899 = ( t894 + t897 ) * t63; + const double t900 = t899 * t313; + const double t904 = t595 + t618 - t622 - t627 + t280 * t900 + t670 + 0.19751789702565206229e-1 * t899 * t311 - t677 - t682 - t782 - t846; + const double t905 = t904 * t350; + const double t906 = t320 * sigma_bb; + const double t910 = t333 * sigma_bb; + const double t911 = t910 * t850; + const double t916 = t340 * sigma_bb; + const double t917 = t916 * t850; + const double t922 = t347 * sigma_bb; + const double t923 = t922 * t850; + const double t928 = t711 * sigma_bb; + const double t932 = -0.8e-2 * t906 * t850 * t326 + 0.24e-4 * t322 * t911 - 0.48e-4 * t693 * t911 + 0.144e-6 * t331 * t917 - 0.216e-6 * t700 * t917 + 0.648e-9 * t338 * t923 - 0.864e-9 * t707 * t923 + 0.2592e-11 * t345 * t928 * t850; + const double t933 = t318 * t932; + const double t941 = t114 * sigma_aa; + const double t946 = t126 * t115; + const double t951 = t136 * t127; + const double t954 = t129 * t118; + const double t957 = 0.1e1 / t103 / t954 * t492; + const double t960 = 0.2e0 * t100 * t106 * t110 - 0.4e-1 * t101 * t123 + 0.8e-1 * t941 * t123 - 0.16e-1 * t116 * t133 + 0.24e-1 * t946 * t133 - 0.48e-2 * t128 * t144 + 0.64e-2 * t951 * t144 - 0.128e-2 * t138 * t957; + const double t961 = t98 * t960; + const double t962 = t320 * t106; + const double t965 = t333 * t106; + const double t970 = t340 * t106; + const double t975 = t347 * t106; + const double t983 = 0.3e-2 * t962 * t326 - 0.9e-5 * t322 * t965 + 0.18e-4 * t693 * t965 - 0.54e-7 * t331 * t970 + 0.81e-7 * t700 * t970 - 0.243e-9 * t338 * t975 + 0.324e-9 * t707 * t975 - 0.972e-12 * t345 * t711 * t106; + const double t984 = t318 * t983; + const double t991 = t114 * sigma_bb; + const double t996 = t126 * t224; + const double t1001 = t136 * t235; + const double t1004 = t237 * t227; + const double t1007 = 0.1e1 / t213 / t1004 * t886; + const double t1010 = 0.2e0 * t100 * t216 * t220 - 0.4e-1 * t211 * t232 + 0.8e-1 * t991 * t232 - 0.16e-1 * t225 * t241 + 0.24e-1 * t996 * t241 - 0.48e-2 * t236 * t251 + 0.64e-2 * t1001 * t251 - 0.128e-2 * t245 * t1007; + const double t1011 = t210 * t1010; + const double t1012 = t320 * t216; + const double t1015 = t333 * t216; + const double t1020 = t340 * t216; + const double t1025 = t347 * t216; + const double t1030 = t711 * t216; + const double t1033 = 0.3e-2 * t1012 * t326 - 0.9e-5 * t322 * t1015 + 0.18e-4 * t693 * t1015 - 0.54e-7 * t331 * t1020 + 0.81e-7 * t700 * t1020 - 0.243e-9 * t338 * t1025 + 0.324e-9 * t707 * t1025 - 0.972e-12 * t345 * t1030; + const double t1034 = t318 * t1033; + const double t1041 = t277 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t2 * t1042; + const double t1045 = -0.2e1 * t352 + 0.2e1 * t1043; + const double t1046 = piecewise_functor_3( t7, 0.0, t1045 ); + const double t1051 = 0.1e1 / t17 / t277; + const double t1052 = t1051 * t19; + const double t1054 = t16 * t1052 * t25; + const double t1055 = 0.23744444444444444444e-1 * t1054; + const double t1057 = t16 * t359 * t366; + const double t1059 = t6 * t6; + const double t1061 = 0.1e1 / t23 / t1059; + const double t1062 = t354 * t354; + const double t1068 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t1062 - t363 * t1045 / 0.3e1 ); + const double t1070 = t16 * t20 * t1068; + const double t1072 = t1055 - 0.35616666666666666666e-1 * t1057 + 0.53425e-1 * t1070; + const double t1074 = 0.62182e-1 * t1072 * t51; + const double t1075 = t370 * t374; + const double t1077 = 0.2e1 * t1075 * t398; + const double t1078 = t373 * t47; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t29 * t1079; + const double t1081 = t396 * t396; + const double t1082 = t1081 * t397; + const double t1084 = 0.2e1 * t1080 * t1082; + const double t1086 = 0.1e1 / t30 / t27; + const double t1087 = t378 * t378; + const double t1088 = t1086 * t1087; + const double t1090 = 0.4e1 / 0.9e1 * t1054; + const double t1092 = t1090 - 0.2e1 / 0.3e1 * t1057 + t1070; + const double t1093 = t376 * t1092; + const double t1095 = 0.39862222222222222223e0 * t1054; + const double t1098 = 0.1e1/safe_math::sqrt( t27 ); + const double t1099 = t1098 * t1087; + const double t1101 = t383 * t1092; + const double t1104 = 0.1e1 / t39 / t277; + const double t1105 = t1104 * t41; + const double t1107 = t38 * t1105 * t43; + const double t1108 = 0.13692777777777777778e0 * t1107; + const double t1110 = t38 * t388 * t392; + const double t1112 = t366 * t366; + const double t1114 = t38 * t42 * t1112; + const double t1116 = t25 * t1068; + const double t1118 = t38 * t42 * t1116; + const double t1120 = -0.9494625e0 * t1088 + 0.1898925e1 * t1093 + t1095 - 0.59793333333333333334e0 * t1057 + 0.8969e0 * t1070 + 0.15358125e0 * t1099 + 0.3071625e0 * t1101 + t1108 - 0.32862666666666666666e0 * t1110 + 0.24647e0 * t1114 + 0.24647e0 * t1118; + const double t1121 = t1120 * t397; + const double t1123 = 0.1e1 * t375 * t1121; + const double t1124 = t373 * t373; + const double t1125 = 0.1e1 / t1124; + const double t1126 = t29 * t1125; + const double t1127 = t50 * t50; + const double t1128 = 0.1e1 / t1127; + const double t1129 = t1081 * t1128; + const double t1131 = 0.16081824322151104822e2 * t1126 * t1129; + const double t1132 = 0.22831111111111111111e-1 * t1054; + const double t1135 = t1132 - 0.34246666666666666666e-1 * t1057 + 0.5137e-1 * t1070; + const double t1138 = t403 * t407; + const double t1141 = t406 * t71; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t66 * t1142; + const double t1144 = t415 * t415; + const double t1145 = t1144 * t416; + const double t1150 = 0.68863333333333333333e0 * t1054; + const double t1155 = 0.17365833333333333333e0 * t1107; + const double t1159 = -0.17648625e1 * t1088 + 0.3529725e1 * t1093 + t1150 - 0.103295e1 * t1057 + 0.1549425e1 * t1070 + 0.31558125e0 * t1099 + 0.6311625e0 * t1101 + t1155 - 0.41678e0 * t1110 + 0.312585e0 * t1114 + 0.312585e0 * t1118; + const double t1160 = t1159 * t416; + const double t1163 = t406 * t406; + const double t1164 = 0.1e1 / t1163; + const double t1165 = t66 * t1164; + const double t1166 = t74 * t74; + const double t1167 = 0.1e1 / t1166; + const double t1168 = t1144 * t1167; + const double t1171 = 0.12361111111111111111e-1 * t1054; + const double t1174 = t1171 - 0.18541666666666666667e-1 * t1057 + 0.278125e-1 * t1070; + const double t1175 = t1174 * t88; + const double t1177 = t422 * t426; + const double t1180 = t425 * t84; + const double t1181 = 0.1e1 / t1180; + const double t1182 = t79 * t1181; + const double t1183 = t434 * t434; + const double t1184 = t1183 * t435; + const double t1189 = 0.40256666666666666667e0 * t1054; + const double t1194 = 0.137975e0 * t1107; + const double t1198 = -0.1294625e1 * t1088 + 0.258925e1 * t1093 + t1189 - 0.60385e0 * t1057 + 0.905775e0 * t1070 + 0.82524375e-1 * t1099 + 0.16504875e0 * t1101 + t1194 - 0.33114e0 * t1110 + 0.248355e0 * t1114 + 0.248355e0 * t1118; + const double t1199 = t1198 * t435; + const double t1202 = t425 * t425; + const double t1203 = 0.1e1 / t1202; + const double t1204 = t79 * t1203; + const double t1205 = t87 * t87; + const double t1206 = 0.1e1 / t1205; + const double t1207 = t1183 * t1206; + const double t1210 = -0.3109e-1 * t1135 * t75 + 0.2e1 * t1138 * t417 - 0.2e1 * t1143 * t1145 + 0.1e1 * t408 * t1160 + 0.32164683177870697974e2 * t1165 * t1168 + t1074 - t1077 + t1084 - t1123 - t1131 - 0.19751789702565206229e-1 * t1175 + 0.11696446794910408142e1 * t1177 * t436 - 0.11696446794910408142e1 * t1182 * t1184 + 0.58482233974552040708e0 * t427 * t1199 + 0.17315755899375863299e2 * t1204 * t1207; + const double t1214 = t64 * t422; + const double t1218 = t1181 * t1183 * t435; + const double t1222 = t426 * t1198 * t435; + const double t1225 = t1203 * t1183; + const double t1226 = t1225 * t1206; + const double t1229 = -t1074 + t1077 - t1084 + t1123 + t1131 + t64 * t1210 + 0.19751789702565206229e-1 * t64 * t1175 - 0.11696446794910408142e1 * t1214 * t445 + 0.11696446794910408142e1 * t443 * t1218 - 0.58482233974552040708e0 * t443 * t1222 - 0.17315755899375863299e2 * t443 * t1226; + const double t1233 = piecewise_functor_3( t8, 0.0, t1046 * t95 / 0.2e1 + t355 * t448 + t9 * t1229 / 0.2e1 ); + const double t1234 = t1233 * t147; + const double t1235 = t452 * t496; + const double t1236 = 0.2e1 * t1235; + const double t1238 = 0.1e1 / t104 / t117; + const double t1242 = t117 * t454; + const double t1244 = 0.1e1 / t103 / t1242; + const double t1245 = t1244 * t122; + const double t1248 = t100 * t127; + const double t1249 = 0.1e1 / t139; + const double t1250 = t1249 * t132; + const double t1257 = t114 * t137; + const double t1258 = t129 * t117; + const double t1260 = 0.1e1 / t104 / t1258; + const double t1261 = t1260 * t143; + const double t1268 = t126 * t486; + const double t1272 = 0.1e1 / t103 / t129 / t1242 * t492; + const double t1279 = t137 * t115; + const double t1280 = t136 * t1279; + const double t1281 = t129 * t129; + const double t1282 = t1281 * t102; + const double t1285 = 0.1e1 / t142 / t121; + const double t1286 = 0.1e1 / t1282 * t1285; + const double t1289 = 0.19555555555555555555e1 * t101 * t1238 * t110 - 0.96000000000000000002e0 * t460 * t1245 + 0.11377777777777777778e0 * t1248 * t1250 + 0.13511111111111111111e1 * t116 * t1245 - 0.61155555555555555557e0 * t469 * t1250 + 0.68266666666666666669e-1 * t1257 * t1261 + 0.576e0 * t128 * t1250 - 0.25173333333333333333e0 * t477 * t1261 + 0.27306666666666666666e-1 * t1268 * t1272 + 0.19911111111111111112e0 * t138 * t1261 - 0.85333333333333333333e-1 * t487 * t1272 + 0.91022222222222222219e-2 * t1280 * t1286; + const double t1290 = t98 * t1289; + const double t1291 = -t1045; + const double t1292 = piecewise_functor_3( t151, 0.0, t1291 ); + const double t1297 = t16 * t1052 * t156; + const double t1298 = 0.23744444444444444444e-1 * t1297; + const double t1300 = t16 * t359 * t507; + const double t1302 = t150 * t150; + const double t1304 = 0.1e1 / t154 / t1302; + const double t1305 = t498 * t498; + const double t1311 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t1305 - t504 * t1291 / 0.3e1 ); + const double t1313 = t16 * t20 * t1311; + const double t1315 = t1298 - 0.35616666666666666666e-1 * t1300 + 0.53425e-1 * t1313; + const double t1317 = 0.62182e-1 * t1315 * t174; + const double t1318 = t511 * t515; + const double t1320 = 0.2e1 * t1318 * t536; + const double t1321 = t514 * t170; + const double t1322 = 0.1e1 / t1321; + const double t1323 = t160 * t1322; + const double t1324 = t534 * t534; + const double t1325 = t1324 * t535; + const double t1327 = 0.2e1 * t1323 * t1325; + const double t1329 = 0.1e1 / t161 / t158; + const double t1330 = t519 * t519; + const double t1331 = t1329 * t1330; + const double t1333 = 0.4e1 / 0.9e1 * t1297; + const double t1335 = t1333 - 0.2e1 / 0.3e1 * t1300 + t1313; + const double t1336 = t517 * t1335; + const double t1338 = 0.39862222222222222223e0 * t1297; + const double t1341 = 0.1e1/safe_math::sqrt( t158 ); + const double t1342 = t1341 * t1330; + const double t1344 = t524 * t1335; + const double t1347 = t38 * t1105 * t166; + const double t1348 = 0.13692777777777777778e0 * t1347; + const double t1350 = t38 * t388 * t530; + const double t1352 = t507 * t507; + const double t1354 = t38 * t42 * t1352; + const double t1356 = t156 * t1311; + const double t1358 = t38 * t42 * t1356; + const double t1360 = -0.9494625e0 * t1331 + 0.1898925e1 * t1336 + t1338 - 0.59793333333333333334e0 * t1300 + 0.8969e0 * t1313 + 0.15358125e0 * t1342 + 0.3071625e0 * t1344 + t1348 - 0.32862666666666666666e0 * t1350 + 0.24647e0 * t1354 + 0.24647e0 * t1358; + const double t1361 = t1360 * t535; + const double t1363 = 0.1e1 * t516 * t1361; + const double t1364 = t514 * t514; + const double t1365 = 0.1e1 / t1364; + const double t1366 = t160 * t1365; + const double t1367 = t173 * t173; + const double t1368 = 0.1e1 / t1367; + const double t1369 = t1324 * t1368; + const double t1371 = 0.16081824322151104822e2 * t1366 * t1369; + const double t1372 = 0.22831111111111111111e-1 * t1297; + const double t1375 = t1372 - 0.34246666666666666666e-1 * t1300 + 0.5137e-1 * t1313; + const double t1378 = t541 * t545; + const double t1381 = t544 * t183; + const double t1382 = 0.1e1 / t1381; + const double t1383 = t178 * t1382; + const double t1384 = t553 * t553; + const double t1385 = t1384 * t554; + const double t1390 = 0.68863333333333333333e0 * t1297; + const double t1395 = 0.17365833333333333333e0 * t1347; + const double t1399 = -0.17648625e1 * t1331 + 0.3529725e1 * t1336 + t1390 - 0.103295e1 * t1300 + 0.1549425e1 * t1313 + 0.31558125e0 * t1342 + 0.6311625e0 * t1344 + t1395 - 0.41678e0 * t1350 + 0.312585e0 * t1354 + 0.312585e0 * t1358; + const double t1400 = t1399 * t554; + const double t1403 = t544 * t544; + const double t1404 = 0.1e1 / t1403; + const double t1405 = t178 * t1404; + const double t1406 = t186 * t186; + const double t1407 = 0.1e1 / t1406; + const double t1408 = t1384 * t1407; + const double t1411 = 0.12361111111111111111e-1 * t1297; + const double t1414 = t1411 - 0.18541666666666666667e-1 * t1300 + 0.278125e-1 * t1313; + const double t1415 = t1414 * t200; + const double t1417 = t560 * t564; + const double t1420 = t563 * t196; + const double t1421 = 0.1e1 / t1420; + const double t1422 = t191 * t1421; + const double t1423 = t572 * t572; + const double t1424 = t1423 * t573; + const double t1429 = 0.40256666666666666667e0 * t1297; + const double t1434 = 0.137975e0 * t1347; + const double t1438 = -0.1294625e1 * t1331 + 0.258925e1 * t1336 + t1429 - 0.60385e0 * t1300 + 0.905775e0 * t1313 + 0.82524375e-1 * t1342 + 0.16504875e0 * t1344 + t1434 - 0.33114e0 * t1350 + 0.248355e0 * t1354 + 0.248355e0 * t1358; + const double t1439 = t1438 * t573; + const double t1442 = t563 * t563; + const double t1443 = 0.1e1 / t1442; + const double t1444 = t191 * t1443; + const double t1445 = t199 * t199; + const double t1446 = 0.1e1 / t1445; + const double t1447 = t1423 * t1446; + const double t1450 = -0.3109e-1 * t1375 * t187 + 0.2e1 * t1378 * t555 - 0.2e1 * t1383 * t1385 + 0.1e1 * t546 * t1400 + 0.32164683177870697974e2 * t1405 * t1408 + t1317 - t1320 + t1327 - t1363 - t1371 - 0.19751789702565206229e-1 * t1415 + 0.11696446794910408142e1 * t1417 * t574 - 0.11696446794910408142e1 * t1422 * t1424 + 0.58482233974552040708e0 * t565 * t1439 + 0.17315755899375863299e2 * t1444 * t1447; + const double t1454 = t64 * t560; + const double t1458 = t1421 * t1423 * t573; + const double t1462 = t564 * t1438 * t573; + const double t1465 = t1443 * t1423; + const double t1466 = t1465 * t1446; + const double t1469 = -t1317 + t1320 - t1327 + t1363 + t1371 + t64 * t1450 + 0.19751789702565206229e-1 * t64 * t1415 - 0.11696446794910408142e1 * t1454 * t583 + 0.11696446794910408142e1 * t581 * t1458 - 0.58482233974552040708e0 * t581 * t1462 - 0.17315755899375863299e2 * t581 * t1466; + const double t1473 = piecewise_functor_3( t152, 0.0, t1292 * t207 / 0.2e1 + t499 * t586 + t153 * t1469 / 0.2e1 ); + const double t1474 = t1473 * t254; + const double t1475 = t358 * t597; + const double t1478 = 0.35616666666666666667e-1 * t16 * t1475 * t616; + const double t1479 = t635 * t10; + const double t1480 = t1479 * t675; + const double t1483 = t601 * t1051 * t310; + const double t1485 = 0.24415406715670879921e-3 * t673 * t1483; + const double t1486 = t656 * t306; + const double t1487 = 0.1e1 / t1486; + const double t1488 = t663 * t663; + const double t1490 = t1487 * t1488 * t664; + const double t1492 = 0.11696446794910408142e1 * t678 * t1490; + const double t1493 = t620 * t636; + const double t1496 = 0.8e1 * t620 * t669; + const double t1498 = 0.1e1 / t278 / t277; + const double t1499 = t276 * t1498; + const double t1501 = 0.2e2 * t1499 * t314; + const double t1502 = t275 * t279; + const double t1504 = 0.12e2 * t1502 * t314; + const double t1505 = t619 * t624; + const double t1507 = 0.32e2 * t1505 * t314; + const double t1509 = 0.8e1 * t625 * t669; + const double t1510 = t635 * t668; + const double t1511 = t280 * t1510; + const double t1513 = t625 * t636; + const double t1515 = -t1478 - 0.36623110073506319882e-3 * t1480 + t1485 + t1492 + 0.8e1 * t1493 + t1496 + t1501 + t1504 - t1507 - t1509 + 0.2e1 * t1511 - 0.8e1 * t1513; + const double t1516 = t23 * t23; + const double t1517 = 0.1e1 / t1516; + const double t1523 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t1062 + 0.4e1 / 0.3e1 * t23 * t1045 ); + const double t1524 = t154 * t154; + const double t1525 = 0.1e1 / t1524; + const double t1531 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t1305 + 0.4e1 / 0.3e1 * t154 * t1291 ); + const double t1533 = ( t1523 + t1531 ) * t63; + const double t1534 = t1533 * t313; + const double t1536 = t15 * t1051; + const double t1539 = 0.14764770444444444444e-2 * t13 * t1536 * t272; + const double t1543 = t358 * t642; + const double t1547 = t641 * t293; + const double t1548 = 0.1e1 / t1547; + const double t1549 = t288 * t1548; + const double t1550 = t648 * t648; + const double t1551 = t1550 * t649; + const double t1556 = 0.1e1 / t260 / t257 * t35; + const double t1558 = t1557 * t1104; + const double t1559 = t1556 * t1558; + const double t1561 = t601 * t1051; + const double t1562 = t600 * t1561; + const double t1564 = t13 * t1536; + const double t1566 = 0.1e1/safe_math::sqrt( t257 ); + const double t1567 = t1566 * t35; + const double t1568 = t1567 * t1558; + const double t1570 = t608 * t1561; + const double t1573 = t37 * t14 * t1104; + const double t1575 = -0.78438333333333333333e0 * t1559 + 0.15687666666666666667e1 * t1562 + 0.68863333333333333333e0 * t1564 + 0.14025833333333333333e0 * t1568 + 0.28051666666666666667e0 * t1570 + 0.17365833333333333333e0 * t1573; + const double t1576 = t1575 * t649; + const double t1579 = t641 * t641; + const double t1580 = 0.1e1 / t1579; + const double t1581 = t288 * t1580; + const double t1582 = t296 * t296; + const double t1583 = 0.1e1 / t1582; + const double t1584 = t1550 * t1583; + const double t1587 = t596 * t268; + const double t1588 = 0.1e1 / t1587; + const double t1589 = t259 * t1588; + const double t1590 = t614 * t614; + const double t1591 = t1590 * t615; + const double t1593 = 0.2e1 * t1589 * t1591; + const double t1600 = -0.42198333333333333333e0 * t1559 + 0.84396666666666666666e0 * t1562 + 0.39862222222222222223e0 * t1564 + 0.68258333333333333333e-1 * t1568 + 0.13651666666666666667e0 * t1570 + 0.13692777777777777778e0 * t1573; + const double t1601 = t1600 * t615; + const double t1603 = 0.1e1 * t598 * t1601; + const double t1604 = t596 * t596; + const double t1605 = 0.1e1 / t1604; + const double t1606 = t259 * t1605; + const double t1607 = t271 * t271; + const double t1608 = 0.1e1 / t1607; + const double t1609 = t1590 * t1608; + const double t1611 = 0.16081824322151104822e2 * t1606 * t1609; + const double t1615 = t358 * t657; + const double t1619 = t301 * t1487; + const double t1620 = t1488 * t664; + const double t1629 = -0.57538888888888888889e0 * t1559 + 0.11507777777777777778e1 * t1562 + 0.40256666666666666667e0 * t1564 + 0.366775e-1 * t1568 + 0.73355e-1 * t1570 + 0.137975e0 * t1573; + const double t1630 = t1629 * t664; + const double t1633 = t656 * t656; + const double t1634 = 0.1e1 / t1633; + const double t1635 = t301 * t1634; + const double t1636 = t309 * t309; + const double t1637 = 0.1e1 / t1636; + const double t1638 = t1488 * t1637; + const double t1641 = -0.70981924444444444442e-3 * t13 * t1536 * t297 - 0.34246666666666666666e-1 * t16 * t1543 * t650 - 0.2e1 * t1549 * t1551 + 0.1e1 * t643 * t1576 + 0.32164683177870697974e2 * t1581 * t1584 + t1539 + t1478 + t1593 - t1603 - t1611 - 0.24415406715670879921e-3 * t13 * t1536 * t310 - 0.10843580882781524214e-1 * t16 * t1615 * t665 - 0.11696446794910408142e1 * t1619 * t1620 + 0.58482233974552040708e0 * t658 * t1630 + 0.17315755899375863299e2 * t1635 * t1638; + const double t1642 = t286 * t1641; + const double t1643 = t280 * t1642; + const double t1645 = t657 * t1629 * t664; + const double t1647 = 0.58482233974552040708e0 * t678 * t1645; + const double t1648 = t1634 * t1488; + const double t1649 = t1648 * t1637; + const double t1651 = 0.17315755899375863299e2 * t678 * t1649; + const double t1652 = t635 * t301; + const double t1653 = t1652 * t680; + const double t1655 = t286 * t13; + const double t1656 = t592 * t680; + const double t1658 = 0.10843580882781524214e-1 * t1655 * t1656; + const double t1661 = t280 * t1534 - t1539 + t1643 - t1647 - t1651 - 0.11696446794910408142e1 * t1653 + t1658 - t1233 + 0.19751789702565206229e-1 * t1533 * t311 - t1473 + t1611 - t1593 + t1603; + const double t1662 = t1515 + t1661; + const double t1663 = t1662 * t350; + const double t1664 = t683 * t716; + const double t1665 = 0.2e1 * t1664; + const double t1669 = t320 * t115; + const double t1670 = t1244 * t333; + const double t1673 = t340 * t115; + const double t1674 = t1673 * t1244; + const double t1677 = t689 * t1238; + const double t1680 = t329 * t115; + const double t1687 = t347 * t115; + const double t1688 = t1687 * t1244; + const double t1691 = t696 * t1238; + const double t1694 = t336 * t321; + const double t1701 = t711 * t115; + const double t1702 = t1701 * t1244; + const double t1705 = t703 * t1238; + const double t1708 = t343 * t330; + const double t1716 = 0.1e1 / t346 / t332; + const double t1717 = t1716 * t115; + const double t1724 = 0.29333333333333333333e-1 * t685 * t1238 * t326 - 0.128e-3 * t1669 * t1670 + 0.384e-6 * t322 * t1674 - 0.88e-4 * t322 * t1677 + 0.128e-3 * t1680 * t1670 - 0.1536e-5 * t693 * t1674 + 0.176e-3 * t693 * t1677 + 0.3456e-8 * t331 * t1688 - 0.528e-6 * t331 * t1691 + 0.1152e-5 * t1694 * t1674 - 0.10368e-7 * t700 * t1688 + 0.792e-6 * t700 * t1691 + 0.20736e-10 * t338 * t1702 - 0.2376e-8 * t338 * t1705 + 0.6912e-8 * t1708 * t1688 - 0.55296e-10 * t707 * t1702 + 0.3168e-8 * t707 * t1705 + 0.10368e-12 * t345 * t1717 * t1244 - 0.9504e-11 * t345 * t712 * t1238; + const double t1725 = t318 * t1724; + const double t1728 = 0.2e1 * t1043; + const double t1729 = piecewise_functor_3( t7, 0.0, t1728 ); + const double t1735 = t16 * t359 * t725; + const double t1737 = t1061 * t720; + const double t1740 = t363 * t2; + const double t1744 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1737 * t354 - 0.2e1 / 0.3e1 * t1740 * t1042 ); + const double t1746 = t16 * t20 * t1744; + const double t1748 = t1055 - 0.17808333333333333333e-1 * t1057 - 0.17808333333333333333e-1 * t1735 + 0.53425e-1 * t1746; + const double t1750 = 0.62182e-1 * t1748 * t51; + const double t1751 = t729 * t374; + const double t1753 = 0.1e1 * t1751 * t398; + const double t1755 = 0.1e1 * t1075 * t743; + const double t1756 = t743 * t396; + const double t1758 = 0.2e1 * t1080 * t1756; + const double t1759 = t1086 * t732; + const double t1760 = t1759 * t378; + const double t1764 = t1090 - t1057 / 0.3e1 - t1735 / 0.3e1 + t1746; + const double t1765 = t376 * t1764; + const double t1770 = t1098 * t732; + const double t1771 = t1770 * t378; + const double t1773 = t383 * t1764; + const double t1777 = t38 * t388 * t738; + const double t1779 = t366 * t725; + const double t1781 = t38 * t42 * t1779; + const double t1783 = t25 * t1744; + const double t1785 = t38 * t42 * t1783; + const double t1787 = -0.9494625e0 * t1760 + 0.1898925e1 * t1765 + t1095 - 0.29896666666666666667e0 * t1057 - 0.29896666666666666667e0 * t1735 + 0.8969e0 * t1746 + 0.15358125e0 * t1771 + 0.3071625e0 * t1773 + t1108 - 0.16431333333333333333e0 * t1110 - 0.16431333333333333333e0 * t1777 + 0.24647e0 * t1781 + 0.24647e0 * t1785; + const double t1788 = t1787 * t397; + const double t1790 = 0.1e1 * t375 * t1788; + const double t1791 = t742 * t1128; + const double t1792 = t1791 * t396; + const double t1794 = 0.16081824322151104822e2 * t1126 * t1792; + const double t1798 = t1132 - 0.17123333333333333333e-1 * t1057 - 0.17123333333333333333e-1 * t1735 + 0.5137e-1 * t1746; + const double t1801 = t747 * t407; + const double t1806 = t755 * t415; + const double t1820 = -0.17648625e1 * t1760 + 0.3529725e1 * t1765 + t1150 - 0.516475e0 * t1057 - 0.516475e0 * t1735 + 0.1549425e1 * t1746 + 0.31558125e0 * t1771 + 0.6311625e0 * t1773 + t1155 - 0.20839e0 * t1110 - 0.20839e0 * t1777 + 0.312585e0 * t1781 + 0.312585e0 * t1785; + const double t1821 = t1820 * t416; + const double t1824 = t754 * t1167; + const double t1825 = t1824 * t415; + const double t1831 = t1171 - 0.92708333333333333333e-2 * t1057 - 0.92708333333333333333e-2 * t1735 + 0.278125e-1 * t1746; + const double t1832 = t1831 * t88; + const double t1834 = t759 * t426; + const double t1839 = t767 * t434; + const double t1853 = -0.1294625e1 * t1760 + 0.258925e1 * t1765 + t1189 - 0.301925e0 * t1057 - 0.301925e0 * t1735 + 0.905775e0 * t1746 + 0.82524375e-1 * t1771 + 0.16504875e0 * t1773 + t1194 - 0.16557e0 * t1110 - 0.16557e0 * t1777 + 0.248355e0 * t1781 + 0.248355e0 * t1785; + const double t1854 = t1853 * t435; + const double t1857 = t766 * t1206; + const double t1858 = t1857 * t434; + const double t1861 = -0.3109e-1 * t1798 * t75 + 0.1e1 * t1801 * t417 + 0.1e1 * t1138 * t755 - 0.2e1 * t1143 * t1806 + 0.1e1 * t408 * t1821 + 0.32164683177870697974e2 * t1165 * t1825 + t1750 - t1753 - t1755 + t1758 - t1790 - t1794 - 0.19751789702565206229e-1 * t1832 + 0.58482233974552040708e0 * t1834 * t436 + 0.58482233974552040708e0 * t1177 * t767 - 0.11696446794910408142e1 * t1182 * t1839 + 0.58482233974552040708e0 * t427 * t1854 + 0.17315755899375863299e2 * t1204 * t1858; + const double t1865 = t64 * t759; + const double t1870 = t1181 * t766; + const double t1871 = t1870 * t436; + const double t1875 = t426 * t1853 * t435; + const double t1878 = t1203 * t766; + const double t1879 = t1206 * t434; + const double t1880 = t1878 * t1879; + const double t1883 = -t1750 + t1753 + t1755 - t1758 + t1790 + t1794 + t64 * t1861 + 0.19751789702565206229e-1 * t64 * t1832 - 0.58482233974552040708e0 * t1865 * t445 - 0.58482233974552040708e0 * t1214 * t775 + 0.11696446794910408142e1 * t443 * t1871 - 0.58482233974552040708e0 * t443 * t1875 - 0.17315755899375863299e2 * t443 * t1880; + const double t1887 = piecewise_functor_3( t8, 0.0, t1729 * t95 / 0.2e1 + t9 * t1883 / 0.2e1 + t355 * t778 / 0.2e1 + t721 * t448 / 0.2e1 ); + const double t1888 = t1887 * t147; + const double t1889 = t782 * t496; + const double t1890 = piecewise_functor_3( t151, 0.0, -t1728 ); + const double t1896 = t16 * t359 * t789; + const double t1898 = t1304 * t784; + const double t1901 = t504 * t2; + const double t1905 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1898 * t498 + 0.2e1 / 0.3e1 * t1901 * t1042 ); + const double t1907 = t16 * t20 * t1905; + const double t1909 = t1298 - 0.17808333333333333333e-1 * t1300 - 0.17808333333333333333e-1 * t1896 + 0.53425e-1 * t1907; + const double t1911 = 0.62182e-1 * t1909 * t174; + const double t1912 = t793 * t515; + const double t1914 = 0.1e1 * t1912 * t536; + const double t1916 = 0.1e1 * t1318 * t807; + const double t1917 = t807 * t534; + const double t1919 = 0.2e1 * t1323 * t1917; + const double t1920 = t1329 * t796; + const double t1921 = t1920 * t519; + const double t1925 = t1333 - t1300 / 0.3e1 - t1896 / 0.3e1 + t1907; + const double t1926 = t517 * t1925; + const double t1931 = t1341 * t796; + const double t1932 = t1931 * t519; + const double t1934 = t524 * t1925; + const double t1938 = t38 * t388 * t802; + const double t1940 = t507 * t789; + const double t1942 = t38 * t42 * t1940; + const double t1944 = t156 * t1905; + const double t1946 = t38 * t42 * t1944; + const double t1948 = -0.9494625e0 * t1921 + 0.1898925e1 * t1926 + t1338 - 0.29896666666666666667e0 * t1300 - 0.29896666666666666667e0 * t1896 + 0.8969e0 * t1907 + 0.15358125e0 * t1932 + 0.3071625e0 * t1934 + t1348 - 0.16431333333333333333e0 * t1350 - 0.16431333333333333333e0 * t1938 + 0.24647e0 * t1942 + 0.24647e0 * t1946; + const double t1949 = t1948 * t535; + const double t1951 = 0.1e1 * t516 * t1949; + const double t1952 = t806 * t1368; + const double t1953 = t1952 * t534; + const double t1955 = 0.16081824322151104822e2 * t1366 * t1953; + const double t1959 = t1372 - 0.17123333333333333333e-1 * t1300 - 0.17123333333333333333e-1 * t1896 + 0.5137e-1 * t1907; + const double t1962 = t811 * t545; + const double t1967 = t819 * t553; + const double t1981 = -0.17648625e1 * t1921 + 0.3529725e1 * t1926 + t1390 - 0.516475e0 * t1300 - 0.516475e0 * t1896 + 0.1549425e1 * t1907 + 0.31558125e0 * t1932 + 0.6311625e0 * t1934 + t1395 - 0.20839e0 * t1350 - 0.20839e0 * t1938 + 0.312585e0 * t1942 + 0.312585e0 * t1946; + const double t1982 = t1981 * t554; + const double t1985 = t818 * t1407; + const double t1986 = t1985 * t553; + const double t1992 = t1411 - 0.92708333333333333333e-2 * t1300 - 0.92708333333333333333e-2 * t1896 + 0.278125e-1 * t1907; + const double t1993 = t1992 * t200; + const double t1995 = t823 * t564; + const double t2000 = t831 * t572; + const double t2014 = -0.1294625e1 * t1921 + 0.258925e1 * t1926 + t1429 - 0.301925e0 * t1300 - 0.301925e0 * t1896 + 0.905775e0 * t1907 + 0.82524375e-1 * t1932 + 0.16504875e0 * t1934 + t1434 - 0.16557e0 * t1350 - 0.16557e0 * t1938 + 0.248355e0 * t1942 + 0.248355e0 * t1946; + const double t2015 = t2014 * t573; + const double t2018 = t830 * t1446; + const double t2019 = t2018 * t572; + const double t2022 = -0.3109e-1 * t1959 * t187 + 0.1e1 * t1962 * t555 + 0.1e1 * t1378 * t819 - 0.2e1 * t1383 * t1967 + 0.1e1 * t546 * t1982 + 0.32164683177870697974e2 * t1405 * t1986 + t1911 - t1914 - t1916 + t1919 - t1951 - t1955 - 0.19751789702565206229e-1 * t1993 + 0.58482233974552040708e0 * t1995 * t574 + 0.58482233974552040708e0 * t1417 * t831 - 0.11696446794910408142e1 * t1422 * t2000 + 0.58482233974552040708e0 * t565 * t2015 + 0.17315755899375863299e2 * t1444 * t2019; + const double t2026 = t64 * t823; + const double t2031 = t1421 * t830; + const double t2032 = t2031 * t574; + const double t2036 = t564 * t2014 * t573; + const double t2039 = t1443 * t830; + const double t2040 = t1446 * t572; + const double t2041 = t2039 * t2040; + const double t2044 = -t1911 + t1914 + t1916 - t1919 + t1951 + t1955 + t64 * t2022 + 0.19751789702565206229e-1 * t64 * t1993 - 0.58482233974552040708e0 * t2026 * t583 - 0.58482233974552040708e0 * t1454 * t839 + 0.11696446794910408142e1 * t581 * t2032 - 0.58482233974552040708e0 * t581 * t2036 - 0.17315755899375863299e2 * t581 * t2041; + const double t2048 = piecewise_functor_3( t152, 0.0, t153 * t2044 / 0.2e1 + t1890 * t207 / 0.2e1 + t499 * t842 / 0.2e1 + t785 * t586 / 0.2e1 ); + const double t2049 = t2048 * t254; + const double t2050 = t590 * t890; + const double t2054 = -t1478 - 0.18311555036753159941e-3 * t1480 + t1485 + t1492 - 0.4e1 * t1493 + t1501 - t1504 - t1509 + t1511 - 0.4e1 * t1513 - t1539 + t1643 - t1647 - t1651; + const double t2056 = t899 * t10; + const double t2057 = t2056 * t675; + const double t2059 = t1517 * t720; + const double t2062 = t23 * t2; + const double t2066 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2059 * t354 + 0.8e1 / 0.3e1 * t2062 * t1042 ); + const double t2067 = t1525 * t784; + const double t2070 = t154 * t2; + const double t2074 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2067 * t498 - 0.8e1 / 0.3e1 * t2070 * t1042 ); + const double t2076 = ( t2066 + t2074 ) * t63; + const double t2079 = t620 * t900; + const double t2081 = t625 * t900; + const double t2083 = t2076 * t313; + const double t2085 = t899 * t668; + const double t2086 = t280 * t2085; + const double t2087 = t899 * t301; + const double t2088 = t2087 * t680; + const double t2090 = -0.58482233974552040708e0 * t1653 - 0.18311555036753159941e-3 * t2057 - t1887 + t1658 + 0.19751789702565206229e-1 * t2076 * t311 + 0.4e1 * t2079 - 0.4e1 * t2081 + t280 * t2083 + t2086 - 0.58482233974552040708e0 * t2088 + t1611 - t1593 + t1603 - t2048; + const double t2091 = t2054 + t2090; + const double t2092 = t2091 * t350; + const double t2093 = t904 * t716; + const double t2094 = t683 * t932; + const double t2095 = t906 * t850; + const double t2098 = t322 * t340; + const double t2099 = sigma_bb * t850; + const double t2100 = sigma_aa * t456; + const double t2101 = t2099 * t2100; + const double t2104 = t329 * sigma_aa; + const double t2105 = t2104 * t456; + const double t2108 = t693 * t340; + const double t2111 = t331 * t347; + const double t2114 = t1694 * t340; + const double t2117 = t700 * t347; + const double t2120 = t338 * t711; + const double t2123 = t1708 * t347; + const double t2126 = t707 * t711; + const double t2129 = t345 * t1716; + const double t2132 = -0.128e-3 * t2095 * t690 + 0.384e-6 * t2098 * t2101 + 0.128e-3 * t2105 * t911 - 0.1536e-5 * t2108 * t2101 + 0.3456e-8 * t2111 * t2101 + 0.1152e-5 * t2114 * t2101 - 0.10368e-7 * t2117 * t2101 + 0.20736e-10 * t2120 * t2101 + 0.6912e-8 * t2123 * t2101 - 0.55296e-10 * t2126 * t2101 + 0.10368e-12 * t2129 * t2101; + const double t2133 = t318 * t2132; + const double t2142 = 0.2e1 * t352 + 0.2e1 * t1043; + const double t2143 = piecewise_functor_3( t7, 0.0, t2142 ); + const double t2148 = t720 * t720; + const double t2154 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1061 * t2148 - t363 * t2142 / 0.3e1 ); + const double t2156 = t16 * t20 * t2154; + const double t2158 = t1055 - 0.35616666666666666666e-1 * t1735 + 0.53425e-1 * t2156; + const double t2160 = 0.62182e-1 * t2158 * t51; + const double t2162 = 0.2e1 * t1751 * t743; + const double t2163 = t742 * t742; + const double t2164 = t2163 * t397; + const double t2166 = 0.2e1 * t1080 * t2164; + const double t2167 = t732 * t732; + const double t2168 = t1086 * t2167; + const double t2171 = t1090 - 0.2e1 / 0.3e1 * t1735 + t2156; + const double t2172 = t376 * t2171; + const double t2176 = t1098 * t2167; + const double t2178 = t383 * t2171; + const double t2181 = t725 * t725; + const double t2183 = t38 * t42 * t2181; + const double t2185 = t25 * t2154; + const double t2187 = t38 * t42 * t2185; + const double t2189 = -0.9494625e0 * t2168 + 0.1898925e1 * t2172 + t1095 - 0.59793333333333333334e0 * t1735 + 0.8969e0 * t2156 + 0.15358125e0 * t2176 + 0.3071625e0 * t2178 + t1108 - 0.32862666666666666666e0 * t1777 + 0.24647e0 * t2183 + 0.24647e0 * t2187; + const double t2190 = t2189 * t397; + const double t2192 = 0.1e1 * t375 * t2190; + const double t2193 = t2163 * t1128; + const double t2195 = 0.16081824322151104822e2 * t1126 * t2193; + const double t2198 = t1132 - 0.34246666666666666666e-1 * t1735 + 0.5137e-1 * t2156; + const double t2203 = t754 * t754; + const double t2204 = t2203 * t416; + const double t2216 = -0.17648625e1 * t2168 + 0.3529725e1 * t2172 + t1150 - 0.103295e1 * t1735 + 0.1549425e1 * t2156 + 0.31558125e0 * t2176 + 0.6311625e0 * t2178 + t1155 - 0.41678e0 * t1777 + 0.312585e0 * t2183 + 0.312585e0 * t2187; + const double t2217 = t2216 * t416; + const double t2220 = t2203 * t1167; + const double t2225 = t1171 - 0.18541666666666666667e-1 * t1735 + 0.278125e-1 * t2156; + const double t2226 = t2225 * t88; + const double t2230 = t766 * t766; + const double t2231 = t2230 * t435; + const double t2243 = -0.1294625e1 * t2168 + 0.258925e1 * t2172 + t1189 - 0.60385e0 * t1735 + 0.905775e0 * t2156 + 0.82524375e-1 * t2176 + 0.16504875e0 * t2178 + t1194 - 0.33114e0 * t1777 + 0.248355e0 * t2183 + 0.248355e0 * t2187; + const double t2244 = t2243 * t435; + const double t2247 = t2230 * t1206; + const double t2250 = -0.3109e-1 * t2198 * t75 + 0.2e1 * t1801 * t755 - 0.2e1 * t1143 * t2204 + 0.1e1 * t408 * t2217 + 0.32164683177870697974e2 * t1165 * t2220 + t2160 - t2162 + t2166 - t2192 - t2195 - 0.19751789702565206229e-1 * t2226 + 0.11696446794910408142e1 * t1834 * t767 - 0.11696446794910408142e1 * t1182 * t2231 + 0.58482233974552040708e0 * t427 * t2244 + 0.17315755899375863299e2 * t1204 * t2247; + const double t2257 = t1181 * t2230 * t435; + const double t2261 = t426 * t2243 * t435; + const double t2264 = t1203 * t2230; + const double t2265 = t2264 * t1206; + const double t2268 = -t2160 + t2162 - t2166 + t2192 + t2195 + t64 * t2250 + 0.19751789702565206229e-1 * t64 * t2226 - 0.11696446794910408142e1 * t1865 * t775 + 0.11696446794910408142e1 * t443 * t2257 - 0.58482233974552040708e0 * t443 * t2261 - 0.17315755899375863299e2 * t443 * t2265; + const double t2272 = piecewise_functor_3( t8, 0.0, t2143 * t95 / 0.2e1 + t721 * t778 + t9 * t2268 / 0.2e1 ); + const double t2273 = t2272 * t147; + const double t2274 = -t2142; + const double t2275 = piecewise_functor_3( t151, 0.0, t2274 ); + const double t2280 = t784 * t784; + const double t2286 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1304 * t2280 - t504 * t2274 / 0.3e1 ); + const double t2288 = t16 * t20 * t2286; + const double t2290 = t1298 - 0.35616666666666666666e-1 * t1896 + 0.53425e-1 * t2288; + const double t2292 = 0.62182e-1 * t2290 * t174; + const double t2294 = 0.2e1 * t1912 * t807; + const double t2295 = t806 * t806; + const double t2296 = t2295 * t535; + const double t2298 = 0.2e1 * t1323 * t2296; + const double t2299 = t796 * t796; + const double t2300 = t1329 * t2299; + const double t2303 = t1333 - 0.2e1 / 0.3e1 * t1896 + t2288; + const double t2304 = t517 * t2303; + const double t2308 = t1341 * t2299; + const double t2310 = t524 * t2303; + const double t2313 = t789 * t789; + const double t2315 = t38 * t42 * t2313; + const double t2317 = t156 * t2286; + const double t2319 = t38 * t42 * t2317; + const double t2321 = -0.9494625e0 * t2300 + 0.1898925e1 * t2304 + t1338 - 0.59793333333333333334e0 * t1896 + 0.8969e0 * t2288 + 0.15358125e0 * t2308 + 0.3071625e0 * t2310 + t1348 - 0.32862666666666666666e0 * t1938 + 0.24647e0 * t2315 + 0.24647e0 * t2319; + const double t2322 = t2321 * t535; + const double t2324 = 0.1e1 * t516 * t2322; + const double t2325 = t2295 * t1368; + const double t2327 = 0.16081824322151104822e2 * t1366 * t2325; + const double t2330 = t1372 - 0.34246666666666666666e-1 * t1896 + 0.5137e-1 * t2288; + const double t2335 = t818 * t818; + const double t2336 = t2335 * t554; + const double t2348 = -0.17648625e1 * t2300 + 0.3529725e1 * t2304 + t1390 - 0.103295e1 * t1896 + 0.1549425e1 * t2288 + 0.31558125e0 * t2308 + 0.6311625e0 * t2310 + t1395 - 0.41678e0 * t1938 + 0.312585e0 * t2315 + 0.312585e0 * t2319; + const double t2349 = t2348 * t554; + const double t2352 = t2335 * t1407; + const double t2357 = t1411 - 0.18541666666666666667e-1 * t1896 + 0.278125e-1 * t2288; + const double t2358 = t2357 * t200; + const double t2362 = t830 * t830; + const double t2363 = t2362 * t573; + const double t2375 = -0.1294625e1 * t2300 + 0.258925e1 * t2304 + t1429 - 0.60385e0 * t1896 + 0.905775e0 * t2288 + 0.82524375e-1 * t2308 + 0.16504875e0 * t2310 + t1434 - 0.33114e0 * t1938 + 0.248355e0 * t2315 + 0.248355e0 * t2319; + const double t2376 = t2375 * t573; + const double t2379 = t2362 * t1446; + const double t2382 = -0.3109e-1 * t2330 * t187 + 0.2e1 * t1962 * t819 - 0.2e1 * t1383 * t2336 + 0.1e1 * t546 * t2349 + 0.32164683177870697974e2 * t1405 * t2352 + t2292 - t2294 + t2298 - t2324 - t2327 - 0.19751789702565206229e-1 * t2358 + 0.11696446794910408142e1 * t1995 * t831 - 0.11696446794910408142e1 * t1422 * t2363 + 0.58482233974552040708e0 * t565 * t2376 + 0.17315755899375863299e2 * t1444 * t2379; + const double t2389 = t1421 * t2362 * t573; + const double t2393 = t564 * t2375 * t573; + const double t2396 = t1443 * t2362; + const double t2397 = t2396 * t1446; + const double t2400 = -t2292 + t2294 - t2298 + t2324 + t2327 + t64 * t2382 + 0.19751789702565206229e-1 * t64 * t2358 - 0.11696446794910408142e1 * t2026 * t839 + 0.11696446794910408142e1 * t581 * t2389 - 0.58482233974552040708e0 * t581 * t2393 - 0.17315755899375863299e2 * t581 * t2397; + const double t2404 = piecewise_functor_3( t152, 0.0, t2275 * t207 / 0.2e1 + t785 * t842 + t153 * t2400 / 0.2e1 ); + const double t2405 = t2404 * t254; + const double t2406 = t846 * t890; + const double t2407 = 0.2e1 * t2406; + const double t2409 = 0.1e1 / t214 / t226; + const double t2413 = t226 * t848; + const double t2415 = 0.1e1 / t213 / t2413; + const double t2416 = t2415 * t231; + const double t2419 = t100 * t235; + const double t2420 = 0.1e1 / t246; + const double t2421 = t2420 * t240; + const double t2428 = t114 * t244; + const double t2429 = t237 * t226; + const double t2431 = 0.1e1 / t214 / t2429; + const double t2432 = t2431 * t250; + const double t2439 = t126 * t880; + const double t2443 = 0.1e1 / t213 / t237 / t2413 * t886; + const double t2450 = t244 * t224; + const double t2451 = t136 * t2450; + const double t2452 = t237 * t237; + const double t2453 = t2452 * t212; + const double t2456 = 0.1e1 / t249 / t230; + const double t2457 = 0.1e1 / t2453 * t2456; + const double t2460 = 0.19555555555555555555e1 * t211 * t2409 * t220 - 0.96000000000000000002e0 * t854 * t2416 + 0.11377777777777777778e0 * t2419 * t2421 + 0.13511111111111111111e1 * t225 * t2416 - 0.61155555555555555557e0 * t863 * t2421 + 0.68266666666666666669e-1 * t2428 * t2432 + 0.576e0 * t236 * t2421 - 0.25173333333333333333e0 * t871 * t2432 + 0.27306666666666666666e-1 * t2439 * t2443 + 0.19911111111111111112e0 * t245 * t2432 - 0.85333333333333333333e-1 * t881 * t2443 + 0.91022222222222222219e-2 * t2451 * t2457; + const double t2461 = t210 * t2460; + const double t2467 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t1517 * t2148 + 0.4e1 / 0.3e1 * t23 * t2142 ); + const double t2473 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t1525 * t2280 + 0.4e1 / 0.3e1 * t154 * t2274 ); + const double t2475 = ( t2467 + t2473 ) * t63; + const double t2476 = t2475 * t313; + const double t2478 = t280 * t2476 - t1478 + t1485 + t1492 - t1496 + t1501 + t1504 + t1507 - t1509 - t1539 + t1643 - t2404; + const double t2486 = -t1647 - t1651 - 0.36623110073506319882e-3 * t2057 - t2272 + t1658 + 0.19751789702565206229e-1 * t2475 * t311 - 0.8e1 * t2079 - 0.8e1 * t2081 + 0.2e1 * t2086 - 0.11696446794910408142e1 * t2088 + t1611 - t1593 + t1603; + const double t2487 = t2478 + t2486; + const double t2488 = t2487 * t350; + const double t2489 = t904 * t932; + const double t2490 = 0.2e1 * t2489; + const double t2494 = t320 * t224; + const double t2495 = t2415 * t333; + const double t2498 = t340 * t224; + const double t2499 = t2498 * t2415; + const double t2502 = t910 * t2409; + const double t2505 = t329 * t224; + const double t2512 = t347 * t224; + const double t2513 = t2512 * t2415; + const double t2516 = t916 * t2409; + const double t2525 = t711 * t224; + const double t2526 = t2525 * t2415; + const double t2529 = t922 * t2409; + const double t2538 = t1716 * t224; + const double t2545 = 0.29333333333333333333e-1 * t906 * t2409 * t326 - 0.128e-3 * t2494 * t2495 + 0.384e-6 * t322 * t2499 - 0.88e-4 * t322 * t2502 + 0.128e-3 * t2505 * t2495 - 0.1536e-5 * t693 * t2499 + 0.176e-3 * t693 * t2502 + 0.3456e-8 * t331 * t2513 - 0.528e-6 * t331 * t2516 + 0.1152e-5 * t1694 * t2499 - 0.10368e-7 * t700 * t2513 + 0.792e-6 * t700 * t2516 + 0.20736e-10 * t338 * t2526 - 0.2376e-8 * t338 * t2529 + 0.6912e-8 * t1708 * t2513 - 0.55296e-10 * t707 * t2526 + 0.3168e-8 * t707 * t2529 + 0.10368e-12 * t345 * t2538 * t2415 - 0.9504e-11 * t345 * t928 * t2409; + const double t2546 = t318 * t2545; + const double t2549 = t452 * t960; + const double t2553 = t100 * t463; + const double t2554 = t122 * sigma_aa; + const double t2575 = t1281 * rho_a; + const double t2577 = 0.1e1 / t2575 * t1285; + const double t2580 = -0.53333333333333333333e0 * t100 * t456 * t110 + 0.32e0 * t2553 * t2554 - 0.42666666666666666668e-1 * t460 * t472 - 0.42666666666666666667e0 * t941 * t464 + 0.21333333333333333334e0 * t116 * t472 - 0.256e-1 * t469 * t481 - 0.192e0 * t946 * t472 + 0.896e-1 * t128 * t481 - 0.1024e-1 * t477 * t493 - 0.68266666666666666667e-1 * t951 * t481 + 0.3072e-1 * t138 * t493 - 0.34133333333333333332e-2 * t487 * t2577; + const double t2581 = t98 * t2580; + const double t2582 = t683 * t983; + const double t2583 = t320 * t456; + const double t2586 = t320 * t463; + const double t2589 = t340 * t463; + const double t2590 = t2589 * sigma_aa; + const double t2593 = t333 * t456; + const double t2603 = t347 * t463; + const double t2604 = t2603 * sigma_aa; + const double t2607 = t340 * t456; + const double t2616 = t711 * t463; + const double t2617 = t2616 * sigma_aa; + const double t2620 = t347 * t456; + const double t2629 = t1716 * t463; + const double t2636 = -0.8e-2 * t2583 * t326 + 0.48e-4 * t2586 * t689 - 0.144e-6 * t322 * t2590 + 0.24e-4 * t322 * t2593 - 0.48e-4 * t2104 * t463 * t333 + 0.576e-6 * t693 * t2590 - 0.48e-4 * t693 * t2593 - 0.1296e-8 * t331 * t2604 + 0.144e-6 * t331 * t2607 - 0.432e-6 * t1694 * t2590 + 0.3888e-8 * t700 * t2604 - 0.216e-6 * t700 * t2607 - 0.7776e-11 * t338 * t2617 + 0.648e-9 * t338 * t2620 - 0.2592e-8 * t1708 * t2604 + 0.20736e-10 * t707 * t2617 - 0.864e-9 * t707 * t2620 - 0.3888e-13 * t345 * t2629 * sigma_aa + 0.2592e-11 * t345 * t711 * t456; + const double t2637 = t318 * t2636; + const double t2640 = t590 * t1010; + const double t2641 = t683 * t1033; + const double t2644 = t216 * sigma_aa; + const double t2645 = t2644 * t456; + const double t2667 = 0.48e-4 * t1012 * t690 - 0.144e-6 * t2098 * t2645 - 0.48e-4 * t2104 * t2593 * t216 + 0.576e-6 * t2108 * t2645 - 0.1296e-8 * t2111 * t2645 - 0.432e-6 * t2114 * t2645 + 0.3888e-8 * t2117 * t2645 - 0.7776e-11 * t2120 * t2645 - 0.2592e-8 * t2123 * t2645 + 0.20736e-10 * t2126 * t2645 - 0.3888e-13 * t2129 * t2645; + const double t2668 = t318 * t2667; + const double t2671 = t782 * t960; + const double t2672 = t904 * t983; + const double t2675 = t106 * sigma_bb; + const double t2676 = t2675 * t850; + const double t2679 = t329 * sigma_bb; + const double t2680 = t850 * t333; + const double t2700 = 0.48e-4 * t962 * t911 - 0.144e-6 * t2098 * t2676 - 0.48e-4 * t2679 * t2680 * t106 + 0.576e-6 * t2108 * t2676 - 0.1296e-8 * t2111 * t2676 - 0.432e-6 * t2114 * t2676 + 0.3888e-8 * t2117 * t2676 - 0.7776e-11 * t2120 * t2676 - 0.2592e-8 * t2123 * t2676 + 0.20736e-10 * t2126 * t2676 - 0.3888e-13 * t2129 * t2676; + const double t2701 = t318 * t2700; + const double t2704 = t846 * t1010; + const double t2708 = t100 * t857; + const double t2709 = t231 * sigma_bb; + const double t2730 = t2452 * rho_b; + const double t2732 = 0.1e1 / t2730 * t2456; + const double t2735 = -0.53333333333333333333e0 * t100 * t850 * t220 + 0.32e0 * t2708 * t2709 - 0.42666666666666666668e-1 * t854 * t866 - 0.42666666666666666667e0 * t991 * t858 + 0.21333333333333333334e0 * t225 * t866 - 0.256e-1 * t863 * t875 - 0.192e0 * t996 * t866 + 0.896e-1 * t236 * t875 - 0.1024e-1 * t871 * t887 - 0.68266666666666666667e-1 * t1001 * t875 + 0.3072e-1 * t245 * t887 - 0.34133333333333333332e-2 * t881 * t2732; + const double t2736 = t210 * t2735; + const double t2737 = t904 * t1033; + const double t2738 = t320 * t850; + const double t2741 = t320 * t857; + const double t2744 = t340 * t857; + const double t2745 = t2744 * sigma_bb; + const double t2757 = t347 * t857; + const double t2758 = t2757 * sigma_bb; + const double t2761 = t340 * t850; + const double t2770 = t711 * t857; + const double t2771 = t2770 * sigma_bb; + const double t2774 = t347 * t850; + const double t2783 = t1716 * t857; + const double t2787 = t711 * t850; + const double t2790 = -0.8e-2 * t2738 * t326 + 0.48e-4 * t2741 * t910 - 0.144e-6 * t322 * t2745 + 0.24e-4 * t322 * t2680 - 0.48e-4 * t2679 * t857 * t333 + 0.576e-6 * t693 * t2745 - 0.48e-4 * t693 * t2680 - 0.1296e-8 * t331 * t2758 + 0.144e-6 * t331 * t2761 - 0.432e-6 * t1694 * t2745 + 0.3888e-8 * t700 * t2758 - 0.216e-6 * t700 * t2761 - 0.7776e-11 * t338 * t2771 + 0.648e-9 * t338 * t2774 - 0.2592e-8 * t1708 * t2758 + 0.20736e-10 * t707 * t2771 - 0.864e-9 * t707 * t2774 - 0.3888e-13 * t345 * t2783 * sigma_bb + 0.2592e-11 * t345 * t2787; + const double t2791 = t318 * t2790; + const double t2806 = t126 * sigma_aa; + const double t2813 = t136 * t115; + const double t2819 = 0.1e1 / t1281 * t1285; + const double t2822 = -0.8e-1 * t100 * t120 * t122 + 0.16e-1 * t101 * t133 + 0.8e-1 * t114 * t120 * t122 - 0.64e-1 * t941 * t133 + 0.96e-2 * t116 * t144 + 0.48e-1 * t2806 * t133 - 0.288e-1 * t946 * t144 + 0.384e-2 * t128 * t957 + 0.192e-1 * t2813 * t144 - 0.1024e-1 * t951 * t957 + 0.128e-2 * t138 * t2819; + const double t2823 = t98 * t2822; + const double t2824 = t320 * t120; + const double t2827 = t340 * t120; + const double t2830 = t329 * t120; + const double t2835 = t347 * t120; + const double t2842 = t711 * t120; + const double t2852 = -0.18e-4 * t2824 * t333 + 0.54e-7 * t322 * t2827 + 0.18e-4 * t2830 * t333 - 0.216e-6 * t693 * t2827 + 0.486e-9 * t331 * t2835 + 0.162e-6 * t1694 * t2827 - 0.1458e-8 * t700 * t2835 + 0.2916e-11 * t338 * t2842 + 0.972e-9 * t1708 * t2835 - 0.7776e-11 * t707 * t2842 + 0.1458e-13 * t345 * t1716 * t120; + const double t2853 = t318 * t2852; + const double t2855 = t3 * t318; + const double t2858 = t1020 * t106; + const double t2861 = t329 * t106; + const double t2866 = t1025 * t106; + const double t2873 = t1030 * t106; + const double t2880 = t1716 * t216; + const double t2884 = -0.18e-4 * t1012 * t965 + 0.54e-7 * t322 * t2858 + 0.18e-4 * t2861 * t1015 - 0.216e-6 * t693 * t2858 + 0.486e-9 * t331 * t2866 + 0.162e-6 * t1694 * t2858 - 0.1458e-8 * t700 * t2866 + 0.2916e-11 * t338 * t2873 + 0.972e-9 * t1708 * t2866 - 0.7776e-11 * t707 * t2873 + 0.1458e-13 * t345 * t2880 * t106; + const double t2897 = t126 * sigma_bb; + const double t2904 = t136 * t224; + const double t2910 = 0.1e1 / t2452 * t2456; + const double t2913 = -0.8e-1 * t100 * t229 * t231 + 0.16e-1 * t211 * t241 + 0.8e-1 * t114 * t229 * t231 - 0.64e-1 * t991 * t241 + 0.96e-2 * t225 * t251 + 0.48e-1 * t2897 * t241 - 0.288e-1 * t996 * t251 + 0.384e-2 * t236 * t1007 + 0.192e-1 * t2904 * t251 - 0.1024e-1 * t1001 * t1007 + 0.128e-2 * t245 * t2910; + const double t2914 = t210 * t2913; + const double t2915 = t320 * t229; + const double t2918 = t340 * t229; + const double t2921 = t329 * t229; + const double t2926 = t347 * t229; + const double t2933 = t711 * t229; + const double t2940 = t1716 * t229; + const double t2943 = -0.18e-4 * t2915 * t333 + 0.54e-7 * t322 * t2918 + 0.18e-4 * t2921 * t333 - 0.216e-6 * t693 * t2918 + 0.486e-9 * t331 * t2926 + 0.162e-6 * t1694 * t2918 - 0.1458e-8 * t700 * t2926 + 0.2916e-11 * t338 * t2933 + 0.972e-9 * t1708 * t2926 - 0.7776e-11 * t707 * t2933 + 0.1458e-13 * t345 * t2940; + const double t2944 = t318 * t2943; + + + vrho_a = t148 + t255 + t351 + t3 * ( t453 + t497 + t591 + t684 + t717 ); + vrho_b = t148 + t255 + t351 + t3 * ( t783 + t847 + t891 + t905 + t933 ); + vsigma_aa = t3 * ( t961 + t984 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1011 + t1034 ); + v2rho2_aa = 0.2e1 * t453 + 0.2e1 * t497 + 0.2e1 * t591 + 0.2e1 * t684 + 0.2e1 * t717 + t3 * ( t1234 + t1236 + t1290 + t1474 + t1663 + t1665 + t1725 ); + v2rho2_ab = t453 + t497 + t591 + t684 + t717 + t783 + t847 + t891 + t905 + t933 + t3 * ( t1888 + t1889 + t2049 + t2050 + t2092 + t2093 + t2094 + t2133 ); + v2rho2_bb = 0.2e1 * t783 + 0.2e1 * t847 + 0.2e1 * t891 + 0.2e1 * t905 + 0.2e1 * t933 + t3 * ( t2273 + t2405 + t2407 + t2461 + t2488 + t2490 + t2546 ); + v2rhosigma_a_aa = t961 + t984 + t3 * ( t2549 + t2581 + t2582 + t2637 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1011 + t1034 + t3 * ( t2640 + t2641 + t2668 ); + v2rhosigma_b_aa = t961 + t984 + t3 * ( t2671 + t2672 + t2701 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1011 + t1034 + t3 * ( t2704 + t2736 + t2737 + t2791 ); + v2sigma2_aa_aa = t3 * ( t2823 + t2853 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t2855 * t2884; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t2914 + t2944 ); + + } + + +}; + +struct BuiltinN12_SX_C : detail::BuiltinKernelImpl< BuiltinN12_SX_C > { + + BuiltinN12_SX_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinN12_SX_C >(p) { } + + virtual ~BuiltinN12_SX_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/optx_x.hpp b/include/exchcxx/impl/builtin/kernels/optx_x.hpp new file mode 100644 index 0000000..8aa5dcf --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/optx_x.hpp @@ -0,0 +1,985 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinOPTX_X > : + public gga_screening_interface< BuiltinOPTX_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a = 1.05151; + static constexpr double b = 1.43169/constants::X_FACTOR_C; + static constexpr double gamma = 0.006; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = gamma * gamma; + constexpr double t21 = b * t20; + constexpr double t32 = t24 * t24; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t22 = sigma * sigma; + const double t23 = t21 * t22; + const double t25 = rho * rho; + const double t26 = t25 * t25; + const double t27 = t26 * rho; + const double t33 = t18 * t18; + const double t35 = 0.1e1 / t33 / t25; + const double t38 = gamma * sigma * t32 * t35 + 0.1e1; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t24 / t18 / t27 * t40; + const double t44 = 0.2e1 * t23 * t41 + a; + const double t48 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t44 ); + + + eps = 0.2e1 * t48; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = gamma * gamma; + constexpr double t21 = b * t20; + constexpr double t32 = t24 * t24; + constexpr double t62 = b * t20 * gamma; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t22 = sigma * sigma; + const double t23 = t21 * t22; + const double t25 = rho * rho; + const double t26 = t25 * t25; + const double t27 = t26 * rho; + const double t33 = t18 * t18; + const double t35 = 0.1e1 / t33 / t25; + const double t38 = gamma * sigma * t32 * t35 + 0.1e1; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t24 / t18 / t27 * t40; + const double t44 = 0.2e1 * t23 * t41 + a; + const double t48 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t44 ); + const double t50 = t17 / t33; + const double t54 = t26 * t25; + const double t58 = t24 / t18 / t54 * t40; + const double t63 = t22 * sigma; + const double t64 = t26 * t26; + const double t65 = t64 * rho; + const double t66 = 0.1e1 / t65; + const double t69 = 0.1e1 / t39 / t38; + const double t73 = -0.32e2 / 0.3e1 * t23 * t58 + 0.64e2 / 0.3e1 * t62 * t63 * t66 * t69; + const double t78 = piecewise_functor_3( t2, 0.0, -t6 * t50 * t44 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t73 ); + const double t81 = t21 * sigma; + const double t84 = 0.1e1 / t64; + const double t89 = -0.8e1 * t62 * t22 * t84 * t69 + 0.4e1 * t81 * t41; + const double t93 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t89 ); + + + eps = 0.2e1 * t48; + vrho = 0.2e1 * rho * t78 + 0.2e1 * t48; + vsigma = 0.2e1 * rho * t93; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = gamma * gamma; + constexpr double t21 = b * t20; + constexpr double t32 = t24 * t24; + constexpr double t62 = b * t20 * gamma; + constexpr double t119 = t20 * t20; + constexpr double t120 = b * t119; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t22 = sigma * sigma; + const double t23 = t21 * t22; + const double t25 = rho * rho; + const double t26 = t25 * t25; + const double t27 = t26 * rho; + const double t33 = t18 * t18; + const double t35 = 0.1e1 / t33 / t25; + const double t38 = gamma * sigma * t32 * t35 + 0.1e1; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t24 / t18 / t27 * t40; + const double t44 = 0.2e1 * t23 * t41 + a; + const double t50 = t17 / t33; + const double t54 = t26 * t25; + const double t58 = t24 / t18 / t54 * t40; + const double t63 = t22 * sigma; + const double t64 = t26 * t26; + const double t65 = t64 * rho; + const double t66 = 0.1e1 / t65; + const double t69 = 0.1e1 / t39 / t38; + const double t73 = -0.32e2 / 0.3e1 * t23 * t58 + 0.64e2 / 0.3e1 * t62 * t63 * t66 * t69; + const double t78 = piecewise_functor_3( t2, 0.0, -t6 * t50 * t44 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t73 ); + const double t81 = t21 * sigma; + const double t84 = 0.1e1 / t64; + const double t89 = -0.8e1 * t62 * t22 * t84 * t69 + 0.4e1 * t81 * t41; + const double t93 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t89 ); + const double t98 = t17 / t33 / rho; + const double t105 = t25 * rho; + const double t106 = t26 * t105; + const double t110 = t24 / t18 / t106 * t40; + const double t113 = t64 * t25; + const double t114 = 0.1e1 / t113; + const double t121 = t22 * t22; + const double t122 = t120 * t121; + const double t123 = t64 * t26; + const double t125 = 0.1e1 / t33 / t123; + const double t126 = t39 * t39; + const double t127 = 0.1e1 / t126; + const double t129 = t125 * t127 * t32; + const double t132 = 0.608e3 / 0.9e1 * t23 * t110 - 0.2752e4 / 0.9e1 * t62 * t63 * t114 * t69 + 0.512e3 / 0.3e1 * t122 * t129; + const double t137 = piecewise_functor_3( t2, 0.0, t6 * t98 * t44 / 0.12e2 - t6 * t50 * t73 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t132 ); + const double t149 = t120 * t63; + const double t150 = t64 * t105; + const double t152 = 0.1e1 / t33 / t150; + const double t154 = t152 * t127 * t32; + const double t157 = -0.64e2 / 0.3e1 * t81 * t58 + 0.32e3 / 0.3e1 * t62 * t22 * t66 * t69 - 0.64e2 * t149 * t154; + const double t162 = piecewise_functor_3( t2, 0.0, -t6 * t50 * t89 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t157 ); + const double t171 = t120 * t22; + const double t175 = 0.1e1 / t33 / t113 * t127 * t32; + const double t178 = -0.32e2 * t62 * sigma * t84 * t69 + 0.24e2 * t171 * t175 + 0.4e1 * t21 * t41; + const double t182 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t178 ); + + + v2rho2 = 0.2e1 * rho * t137 + 0.4e1 * t78; + v2rhosigma = 0.2e1 * rho * t162 + 0.2e1 * t93; + v2sigma2 = 0.2e1 * rho * t182; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t20 = gamma * gamma; + constexpr double t21 = b * t20; + constexpr double t32 = t24 * t24; + constexpr double t62 = b * t20 * gamma; + constexpr double t119 = t20 * t20; + constexpr double t120 = b * t119; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t22 = sigma * sigma; + const double t23 = t21 * t22; + const double t25 = rho * rho; + const double t26 = t25 * t25; + const double t27 = t26 * rho; + const double t33 = t18 * t18; + const double t35 = 0.1e1 / t33 / t25; + const double t38 = gamma * sigma * t32 * t35 + 0.1e1; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t24 / t18 / t27 * t40; + const double t44 = 0.2e1 * t23 * t41 + a; + const double t48 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t44 ); + const double t50 = t17 / t33; + const double t54 = t26 * t25; + const double t58 = t24 / t18 / t54 * t40; + const double t63 = t22 * sigma; + const double t64 = t26 * t26; + const double t65 = t64 * rho; + const double t66 = 0.1e1 / t65; + const double t69 = 0.1e1 / t39 / t38; + const double t73 = -0.32e2 / 0.3e1 * t23 * t58 + 0.64e2 / 0.3e1 * t62 * t63 * t66 * t69; + const double t78 = piecewise_functor_3( t2, 0.0, -t6 * t50 * t44 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t73 ); + const double t81 = t21 * sigma; + const double t84 = 0.1e1 / t64; + const double t89 = -0.8e1 * t62 * t22 * t84 * t69 + 0.4e1 * t81 * t41; + const double t93 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t89 ); + const double t98 = t17 / t33 / rho; + const double t105 = t25 * rho; + const double t106 = t26 * t105; + const double t110 = t24 / t18 / t106 * t40; + const double t113 = t64 * t25; + const double t114 = 0.1e1 / t113; + const double t121 = t22 * t22; + const double t122 = t120 * t121; + const double t123 = t64 * t26; + const double t125 = 0.1e1 / t33 / t123; + const double t126 = t39 * t39; + const double t127 = 0.1e1 / t126; + const double t129 = t125 * t127 * t32; + const double t132 = 0.608e3 / 0.9e1 * t23 * t110 - 0.2752e4 / 0.9e1 * t62 * t63 * t114 * t69 + 0.512e3 / 0.3e1 * t122 * t129; + const double t137 = piecewise_functor_3( t2, 0.0, t6 * t98 * t44 / 0.12e2 - t6 * t50 * t73 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t132 ); + const double t149 = t120 * t63; + const double t150 = t64 * t105; + const double t152 = 0.1e1 / t33 / t150; + const double t154 = t152 * t127 * t32; + const double t157 = -0.64e2 / 0.3e1 * t81 * t58 + 0.32e3 / 0.3e1 * t62 * t22 * t66 * t69 - 0.64e2 * t149 * t154; + const double t162 = piecewise_functor_3( t2, 0.0, -t6 * t50 * t89 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t157 ); + const double t171 = t120 * t22; + const double t175 = 0.1e1 / t33 / t113 * t127 * t32; + const double t178 = -0.32e2 * t62 * sigma * t84 * t69 + 0.24e2 * t171 * t175 + 0.4e1 * t21 * t41; + const double t182 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t178 ); + + + vrho = 0.2e1 * rho * t78 + 0.2e1 * t48; + vsigma = 0.2e1 * rho * t93; + v2rho2 = 0.2e1 * rho * t137 + 0.4e1 * t78; + v2rhosigma = 0.2e1 * rho * t162 + 0.2e1 * t93; + v2sigma2 = 0.2e1 * rho * t182; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t5 = t2 / t3; + constexpr double t28 = gamma * gamma; + constexpr double t29 = b * t28; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t30 = sigma_aa * sigma_aa; + const double t31 = rho_a * rho_a; + const double t32 = t31 * t31; + const double t33 = t32 * rho_a; + const double t34 = safe_math::cbrt( rho_a ); + const double t36 = 0.1e1 / t34 / t33; + const double t39 = t34 * t34; + const double t43 = 0.1e1 + gamma * sigma_aa / t39 / t31; + const double t44 = t43 * t43; + const double t45 = 0.1e1 / t44; + const double t48 = t29 * t30 * t36 * t45 + a; + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = sigma_bb * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = t64 * t64; + const double t66 = t65 * rho_b; + const double t67 = safe_math::cbrt( rho_b ); + const double t69 = 0.1e1 / t67 / t66; + const double t72 = t67 * t67; + const double t76 = 0.1e1 + gamma * sigma_bb / t72 / t64; + const double t77 = t76 * t76; + const double t78 = 0.1e1 / t77; + const double t81 = t29 * t63 * t69 * t78 + a; + const double t85 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t81 ); + + + eps = t52 + t85; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t5 = t2 / t3; + constexpr double t28 = gamma * gamma; + constexpr double t29 = b * t28; + constexpr double t111 = b * t28 * gamma; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t30 = sigma_aa * sigma_aa; + const double t31 = rho_a * rho_a; + const double t32 = t31 * t31; + const double t33 = t32 * rho_a; + const double t34 = safe_math::cbrt( rho_a ); + const double t36 = 0.1e1 / t34 / t33; + const double t39 = t34 * t34; + const double t43 = 0.1e1 + gamma * sigma_aa / t39 / t31; + const double t44 = t43 * t43; + const double t45 = 0.1e1 / t44; + const double t48 = t29 * t30 * t36 * t45 + a; + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = sigma_bb * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = t64 * t64; + const double t66 = t65 * rho_b; + const double t67 = safe_math::cbrt( rho_b ); + const double t69 = 0.1e1 / t67 / t66; + const double t72 = t67 * t67; + const double t76 = 0.1e1 + gamma * sigma_bb / t72 / t64; + const double t77 = t76 * t76; + const double t78 = 0.1e1 / t77; + const double t81 = t29 * t63 * t69 * t78 + a; + const double t85 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t81 ); + const double t86 = t6 * t6; + const double t87 = 0.1e1 / t86; + const double t88 = t16 * t87; + const double t90 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t88 ); + const double t93 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t90 ); + const double t94 = t93 * t26; + const double t98 = t26 * t26; + const double t99 = 0.1e1 / t98; + const double t100 = t25 * t99; + const double t103 = t5 * t100 * t48 / 0.8e1; + const double t104 = t32 * t31; + const double t106 = 0.1e1 / t34 / t104; + const double t112 = t30 * sigma_aa; + const double t113 = t32 * t32; + const double t114 = t113 * rho_a; + const double t115 = 0.1e1 / t114; + const double t118 = 0.1e1 / t44 / t43; + const double t122 = -0.16e2 / 0.3e1 * t29 * t30 * t106 * t45 + 0.16e2 / 0.3e1 * t111 * t112 * t115 * t118; + const double t127 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t48 - t103 - 0.3e1 / 0.8e1 * t5 * t27 * t122 ); + const double t128 = t54 * t87; + const double t130 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t128 ); + const double t133 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t130 ); + const double t134 = t133 * t26; + const double t138 = t61 * t99; + const double t141 = t5 * t138 * t81 / 0.8e1; + const double t143 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t134 * t81 - t141 ); + const double t147 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t88 ); + const double t150 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t147 ); + const double t151 = t150 * t26; + const double t156 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t151 * t48 - t103 ); + const double t158 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t128 ); + const double t161 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t158 ); + const double t162 = t161 * t26; + const double t166 = t65 * t64; + const double t168 = 0.1e1 / t67 / t166; + const double t172 = t63 * sigma_bb; + const double t173 = t65 * t65; + const double t174 = t173 * rho_b; + const double t175 = 0.1e1 / t174; + const double t178 = 0.1e1 / t77 / t76; + const double t182 = 0.16e2 / 0.3e1 * t111 * t172 * t175 * t178 - 0.16e2 / 0.3e1 * t29 * t63 * t168 * t78; + const double t187 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t162 * t81 - t141 - 0.3e1 / 0.8e1 * t5 * t62 * t182 ); + const double t193 = 0.1e1 / t113; + const double t198 = -0.2e1 * t111 * t30 * t193 * t118 + 0.2e1 * t29 * sigma_aa * t36 * t45; + const double t202 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t198 ); + const double t206 = 0.1e1 / t173; + const double t211 = -0.2e1 * t111 * t63 * t206 * t178 + 0.2e1 * t29 * sigma_bb * t69 * t78; + const double t215 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t211 ); + + + eps = t52 + t85; + vrho_a = t52 + t85 + t6 * ( t127 + t143 ); + vrho_b = t52 + t85 + t6 * ( t156 + t187 ); + vsigma_aa = t6 * t202; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t215; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t5 = t2 / t3; + constexpr double t28 = gamma * gamma; + constexpr double t29 = b * t28; + constexpr double t111 = b * t28 * gamma; + constexpr double t267 = t28 * t28; + constexpr double t268 = b * t267; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t30 = sigma_aa * sigma_aa; + const double t31 = rho_a * rho_a; + const double t32 = t31 * t31; + const double t33 = t32 * rho_a; + const double t34 = safe_math::cbrt( rho_a ); + const double t36 = 0.1e1 / t34 / t33; + const double t39 = t34 * t34; + const double t43 = 0.1e1 + gamma * sigma_aa / t39 / t31; + const double t44 = t43 * t43; + const double t45 = 0.1e1 / t44; + const double t48 = t29 * t30 * t36 * t45 + a; + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = sigma_bb * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = t64 * t64; + const double t66 = t65 * rho_b; + const double t67 = safe_math::cbrt( rho_b ); + const double t69 = 0.1e1 / t67 / t66; + const double t72 = t67 * t67; + const double t76 = 0.1e1 + gamma * sigma_bb / t72 / t64; + const double t77 = t76 * t76; + const double t78 = 0.1e1 / t77; + const double t81 = t29 * t63 * t69 * t78 + a; + const double t86 = t6 * t6; + const double t87 = 0.1e1 / t86; + const double t88 = t16 * t87; + const double t90 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t88 ); + const double t93 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t90 ); + const double t94 = t93 * t26; + const double t98 = t26 * t26; + const double t99 = 0.1e1 / t98; + const double t100 = t25 * t99; + const double t103 = t5 * t100 * t48 / 0.8e1; + const double t104 = t32 * t31; + const double t106 = 0.1e1 / t34 / t104; + const double t112 = t30 * sigma_aa; + const double t113 = t32 * t32; + const double t114 = t113 * rho_a; + const double t115 = 0.1e1 / t114; + const double t118 = 0.1e1 / t44 / t43; + const double t122 = -0.16e2 / 0.3e1 * t29 * t30 * t106 * t45 + 0.16e2 / 0.3e1 * t111 * t112 * t115 * t118; + const double t127 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t48 - t103 - 0.3e1 / 0.8e1 * t5 * t27 * t122 ); + const double t128 = t54 * t87; + const double t130 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t128 ); + const double t133 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t130 ); + const double t134 = t133 * t26; + const double t138 = t61 * t99; + const double t141 = t5 * t138 * t81 / 0.8e1; + const double t143 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t134 * t81 - t141 ); + const double t147 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t88 ); + const double t150 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t147 ); + const double t151 = t150 * t26; + const double t156 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t151 * t48 - t103 ); + const double t158 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t128 ); + const double t161 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t158 ); + const double t162 = t161 * t26; + const double t166 = t65 * t64; + const double t168 = 0.1e1 / t67 / t166; + const double t172 = t63 * sigma_bb; + const double t173 = t65 * t65; + const double t174 = t173 * rho_b; + const double t175 = 0.1e1 / t174; + const double t178 = 0.1e1 / t77 / t76; + const double t182 = 0.16e2 / 0.3e1 * t111 * t172 * t175 * t178 - 0.16e2 / 0.3e1 * t29 * t63 * t168 * t78; + const double t187 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t162 * t81 - t141 - 0.3e1 / 0.8e1 * t5 * t62 * t182 ); + const double t193 = 0.1e1 / t113; + const double t198 = -0.2e1 * t111 * t30 * t193 * t118 + 0.2e1 * t29 * sigma_aa * t36 * t45; + const double t202 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t198 ); + const double t206 = 0.1e1 / t173; + const double t211 = -0.2e1 * t111 * t63 * t206 * t178 + 0.2e1 * t29 * sigma_bb * t69 * t78; + const double t215 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t211 ); + const double t218 = t23 * t23; + const double t219 = 0.1e1 / t218; + const double t220 = t90 * t90; + const double t223 = t86 * t6; + const double t224 = 0.1e1 / t223; + const double t225 = t16 * t224; + const double t228 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t87 + 0.2e1 * t225 ); + const double t232 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t219 * t220 + 0.4e1 / 0.3e1 * t23 * t228 ); + const double t233 = t232 * t26; + const double t237 = t93 * t99; + const double t239 = t5 * t237 * t48; + const double t245 = 0.1e1 / t98 / t6; + const double t246 = t25 * t245; + const double t249 = t5 * t246 * t48 / 0.12e2; + const double t251 = t5 * t100 * t122; + const double t253 = t31 * rho_a; + const double t254 = t32 * t253; + const double t256 = 0.1e1 / t34 / t254; + const double t261 = t113 * t31; + const double t262 = 0.1e1 / t261; + const double t269 = t30 * t30; + const double t270 = t113 * t32; + const double t272 = 0.1e1 / t39 / t270; + const double t274 = t44 * t44; + const double t275 = 0.1e1 / t274; + const double t279 = 0.304e3 / 0.9e1 * t29 * t30 * t256 * t45 - 0.688e3 / 0.9e1 * t111 * t112 * t262 * t118 + 0.128e3 / 0.3e1 * t268 * t269 * t272 * t275; + const double t284 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t233 * t48 - t239 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t94 * t122 + t249 - t251 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t279 ); + const double t285 = t59 * t59; + const double t286 = 0.1e1 / t285; + const double t287 = t130 * t130; + const double t290 = t54 * t224; + const double t293 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t87 + 0.2e1 * t290 ); + const double t297 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t286 * t287 + 0.4e1 / 0.3e1 * t59 * t293 ); + const double t298 = t297 * t26; + const double t302 = t133 * t99; + const double t304 = t5 * t302 * t81; + const double t306 = t61 * t245; + const double t309 = t5 * t306 * t81 / 0.12e2; + const double t311 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t298 * t81 - t304 / 0.4e1 + t309 ); + const double t327 = t150 * t99; + const double t329 = t5 * t327 * t48; + const double t351 = t161 * t99; + const double t353 = t5 * t351 * t81; + const double t360 = t5 * t138 * t182; + const double t368 = t147 * t147; + const double t373 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t87 + 0.2e1 * t225 ); + const double t377 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t219 * t368 + 0.4e1 / 0.3e1 * t23 * t373 ); + const double t378 = t377 * t26; + const double t384 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t378 * t48 - t329 / 0.4e1 + t249 ); + const double t385 = t158 * t158; + const double t390 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t87 + 0.2e1 * t290 ); + const double t394 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t286 * t385 + 0.4e1 / 0.3e1 * t59 * t390 ); + const double t395 = t394 * t26; + const double t404 = t64 * rho_b; + const double t405 = t65 * t404; + const double t407 = 0.1e1 / t67 / t405; + const double t412 = t173 * t64; + const double t413 = 0.1e1 / t412; + const double t418 = t63 * t63; + const double t419 = t173 * t65; + const double t421 = 0.1e1 / t72 / t419; + const double t423 = t77 * t77; + const double t424 = 0.1e1 / t423; + const double t428 = 0.304e3 / 0.9e1 * t29 * t63 * t407 * t78 - 0.688e3 / 0.9e1 * t111 * t172 * t413 * t178 + 0.128e3 / 0.3e1 * t268 * t418 * t421 * t424; + const double t433 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t395 * t81 - t353 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t162 * t182 + t309 - t360 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t62 * t428 ); + const double t441 = t5 * t100 * t198 / 0.8e1; + const double t450 = t113 * t253; + const double t452 = 0.1e1 / t39 / t450; + const double t457 = -0.32e2 / 0.3e1 * t29 * sigma_aa * t106 * t45 + 0.8e2 / 0.3e1 * t111 * t30 * t115 * t118 - 0.16e2 * t268 * t112 * t452 * t275; + const double t462 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t198 - t441 - 0.3e1 / 0.8e1 * t5 * t27 * t457 ); + const double t469 = t5 * t138 * t211 / 0.8e1; + const double t490 = t173 * t404; + const double t492 = 0.1e1 / t72 / t490; + const double t497 = -0.32e2 / 0.3e1 * t29 * sigma_bb * t168 * t78 + 0.8e2 / 0.3e1 * t111 * t63 * t175 * t178 - 0.16e2 * t268 * t172 * t492 * t424; + const double t502 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t162 * t211 - t469 - 0.3e1 / 0.8e1 * t5 * t62 * t497 ); + const double t512 = 0.1e1 / t39 / t261; + const double t517 = -0.8e1 * t111 * sigma_aa * t193 * t118 + 0.6e1 * t268 * t30 * t512 * t275 + 0.2e1 * t29 * t36 * t45; + const double t521 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t517 ); + const double t530 = 0.1e1 / t72 / t412; + const double t535 = -0.8e1 * t111 * sigma_bb * t206 * t178 + 0.6e1 * t268 * t63 * t530 * t424 + 0.2e1 * t29 * t69 * t78; + const double t539 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t535 ); + + + v2rho2_aa = 0.2e1 * t127 + 0.2e1 * t143 + t6 * ( t284 + t311 ); + v2rho2_bb = 0.2e1 * t156 + 0.2e1 * t187 + t6 * ( t384 + t433 ); + v2rhosigma_a_aa = t6 * t462 + t202; + v2rhosigma_b_bb = t6 * t502 + t215; + v2sigma2_aa_aa = t6 * t521; + v2sigma2_bb_bb = t6 * t539; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t5 = t2 / t3; + constexpr double t28 = gamma * gamma; + constexpr double t29 = b * t28; + constexpr double t111 = b * t28 * gamma; + constexpr double t267 = t28 * t28; + constexpr double t268 = b * t267; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t30 = sigma_aa * sigma_aa; + const double t31 = rho_a * rho_a; + const double t32 = t31 * t31; + const double t33 = t32 * rho_a; + const double t34 = safe_math::cbrt( rho_a ); + const double t36 = 0.1e1 / t34 / t33; + const double t39 = t34 * t34; + const double t43 = 0.1e1 + gamma * sigma_aa / t39 / t31; + const double t44 = t43 * t43; + const double t45 = 0.1e1 / t44; + const double t48 = t29 * t30 * t36 * t45 + a; + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = sigma_bb * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = t64 * t64; + const double t66 = t65 * rho_b; + const double t67 = safe_math::cbrt( rho_b ); + const double t69 = 0.1e1 / t67 / t66; + const double t72 = t67 * t67; + const double t76 = 0.1e1 + gamma * sigma_bb / t72 / t64; + const double t77 = t76 * t76; + const double t78 = 0.1e1 / t77; + const double t81 = t29 * t63 * t69 * t78 + a; + const double t85 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t81 ); + const double t86 = t6 * t6; + const double t87 = 0.1e1 / t86; + const double t88 = t16 * t87; + const double t90 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t88 ); + const double t93 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t90 ); + const double t94 = t93 * t26; + const double t98 = t26 * t26; + const double t99 = 0.1e1 / t98; + const double t100 = t25 * t99; + const double t103 = t5 * t100 * t48 / 0.8e1; + const double t104 = t32 * t31; + const double t106 = 0.1e1 / t34 / t104; + const double t112 = t30 * sigma_aa; + const double t113 = t32 * t32; + const double t114 = t113 * rho_a; + const double t115 = 0.1e1 / t114; + const double t118 = 0.1e1 / t44 / t43; + const double t122 = -0.16e2 / 0.3e1 * t29 * t30 * t106 * t45 + 0.16e2 / 0.3e1 * t111 * t112 * t115 * t118; + const double t127 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t48 - t103 - 0.3e1 / 0.8e1 * t5 * t27 * t122 ); + const double t128 = t54 * t87; + const double t130 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t128 ); + const double t133 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t130 ); + const double t134 = t133 * t26; + const double t138 = t61 * t99; + const double t141 = t5 * t138 * t81 / 0.8e1; + const double t143 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t134 * t81 - t141 ); + const double t147 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t88 ); + const double t150 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t147 ); + const double t151 = t150 * t26; + const double t156 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t151 * t48 - t103 ); + const double t158 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t128 ); + const double t161 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t158 ); + const double t162 = t161 * t26; + const double t166 = t65 * t64; + const double t168 = 0.1e1 / t67 / t166; + const double t172 = t63 * sigma_bb; + const double t173 = t65 * t65; + const double t174 = t173 * rho_b; + const double t175 = 0.1e1 / t174; + const double t178 = 0.1e1 / t77 / t76; + const double t182 = 0.16e2 / 0.3e1 * t111 * t172 * t175 * t178 - 0.16e2 / 0.3e1 * t29 * t63 * t168 * t78; + const double t187 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t162 * t81 - t141 - 0.3e1 / 0.8e1 * t5 * t62 * t182 ); + const double t193 = 0.1e1 / t113; + const double t198 = -0.2e1 * t111 * t30 * t193 * t118 + 0.2e1 * t29 * sigma_aa * t36 * t45; + const double t202 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t198 ); + const double t206 = 0.1e1 / t173; + const double t211 = -0.2e1 * t111 * t63 * t206 * t178 + 0.2e1 * t29 * sigma_bb * t69 * t78; + const double t215 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t211 ); + const double t218 = t23 * t23; + const double t219 = 0.1e1 / t218; + const double t220 = t90 * t90; + const double t223 = t86 * t6; + const double t224 = 0.1e1 / t223; + const double t225 = t16 * t224; + const double t228 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t87 + 0.2e1 * t225 ); + const double t232 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t219 * t220 + 0.4e1 / 0.3e1 * t23 * t228 ); + const double t233 = t232 * t26; + const double t237 = t93 * t99; + const double t239 = t5 * t237 * t48; + const double t245 = 0.1e1 / t98 / t6; + const double t246 = t25 * t245; + const double t249 = t5 * t246 * t48 / 0.12e2; + const double t251 = t5 * t100 * t122; + const double t253 = t31 * rho_a; + const double t254 = t32 * t253; + const double t256 = 0.1e1 / t34 / t254; + const double t261 = t113 * t31; + const double t262 = 0.1e1 / t261; + const double t269 = t30 * t30; + const double t270 = t113 * t32; + const double t272 = 0.1e1 / t39 / t270; + const double t274 = t44 * t44; + const double t275 = 0.1e1 / t274; + const double t279 = 0.304e3 / 0.9e1 * t29 * t30 * t256 * t45 - 0.688e3 / 0.9e1 * t111 * t112 * t262 * t118 + 0.128e3 / 0.3e1 * t268 * t269 * t272 * t275; + const double t284 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t233 * t48 - t239 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t94 * t122 + t249 - t251 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t279 ); + const double t285 = t59 * t59; + const double t286 = 0.1e1 / t285; + const double t287 = t130 * t130; + const double t290 = t54 * t224; + const double t293 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t87 + 0.2e1 * t290 ); + const double t297 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t286 * t287 + 0.4e1 / 0.3e1 * t59 * t293 ); + const double t298 = t297 * t26; + const double t302 = t133 * t99; + const double t304 = t5 * t302 * t81; + const double t306 = t61 * t245; + const double t309 = t5 * t306 * t81 / 0.12e2; + const double t311 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t298 * t81 - t304 / 0.4e1 + t309 ); + const double t327 = t150 * t99; + const double t329 = t5 * t327 * t48; + const double t351 = t161 * t99; + const double t353 = t5 * t351 * t81; + const double t360 = t5 * t138 * t182; + const double t368 = t147 * t147; + const double t373 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t87 + 0.2e1 * t225 ); + const double t377 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t219 * t368 + 0.4e1 / 0.3e1 * t23 * t373 ); + const double t378 = t377 * t26; + const double t384 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t378 * t48 - t329 / 0.4e1 + t249 ); + const double t385 = t158 * t158; + const double t390 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t87 + 0.2e1 * t290 ); + const double t394 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t286 * t385 + 0.4e1 / 0.3e1 * t59 * t390 ); + const double t395 = t394 * t26; + const double t404 = t64 * rho_b; + const double t405 = t65 * t404; + const double t407 = 0.1e1 / t67 / t405; + const double t412 = t173 * t64; + const double t413 = 0.1e1 / t412; + const double t418 = t63 * t63; + const double t419 = t173 * t65; + const double t421 = 0.1e1 / t72 / t419; + const double t423 = t77 * t77; + const double t424 = 0.1e1 / t423; + const double t428 = 0.304e3 / 0.9e1 * t29 * t63 * t407 * t78 - 0.688e3 / 0.9e1 * t111 * t172 * t413 * t178 + 0.128e3 / 0.3e1 * t268 * t418 * t421 * t424; + const double t433 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t395 * t81 - t353 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t162 * t182 + t309 - t360 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t62 * t428 ); + const double t441 = t5 * t100 * t198 / 0.8e1; + const double t450 = t113 * t253; + const double t452 = 0.1e1 / t39 / t450; + const double t457 = -0.32e2 / 0.3e1 * t29 * sigma_aa * t106 * t45 + 0.8e2 / 0.3e1 * t111 * t30 * t115 * t118 - 0.16e2 * t268 * t112 * t452 * t275; + const double t462 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t198 - t441 - 0.3e1 / 0.8e1 * t5 * t27 * t457 ); + const double t469 = t5 * t138 * t211 / 0.8e1; + const double t490 = t173 * t404; + const double t492 = 0.1e1 / t72 / t490; + const double t497 = -0.32e2 / 0.3e1 * t29 * sigma_bb * t168 * t78 + 0.8e2 / 0.3e1 * t111 * t63 * t175 * t178 - 0.16e2 * t268 * t172 * t492 * t424; + const double t502 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t162 * t211 - t469 - 0.3e1 / 0.8e1 * t5 * t62 * t497 ); + const double t512 = 0.1e1 / t39 / t261; + const double t517 = -0.8e1 * t111 * sigma_aa * t193 * t118 + 0.6e1 * t268 * t30 * t512 * t275 + 0.2e1 * t29 * t36 * t45; + const double t521 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t517 ); + const double t530 = 0.1e1 / t72 / t412; + const double t535 = -0.8e1 * t111 * sigma_bb * t206 * t178 + 0.6e1 * t268 * t63 * t530 * t424 + 0.2e1 * t29 * t69 * t78; + const double t539 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t535 ); + + + vrho_a = t52 + t85 + t6 * ( t127 + t143 ); + vrho_b = t52 + t85 + t6 * ( t156 + t187 ); + vsigma_aa = t6 * t202; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t215; + v2rho2_aa = 0.2e1 * t127 + 0.2e1 * t143 + t6 * ( t284 + t311 ); + v2rho2_bb = 0.2e1 * t156 + 0.2e1 * t187 + t6 * ( t384 + t433 ); + v2rhosigma_a_aa = t6 * t462 + t202; + v2rhosigma_b_bb = t6 * t502 + t215; + v2sigma2_aa_aa = t6 * t521; + v2sigma2_bb_bb = t6 * t539; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinOPTX_X : detail::BuiltinKernelImpl< BuiltinOPTX_X > { + + BuiltinOPTX_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinOPTX_X >(p) { } + + virtual ~BuiltinOPTX_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/p86_c.hpp b/include/exchcxx/impl/builtin/kernels/p86_c.hpp new file mode 100644 index 0000000..ee08ec9 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/p86_c.hpp @@ -0,0 +1,1730 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinP86_C > : + public gga_screening_interface< BuiltinP86_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double malpha = 0.023266; + static constexpr double mbeta = 7.389e-6; + static constexpr double mgamma = 8.723; + static constexpr double mdelta = 0.472; + static constexpr double aa = 0.001667; + static constexpr double bb = 0.002568; + static constexpr double ftilde = 0.19195; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t45 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t54 = aa + bb; + constexpr double t55 = ftilde * t54; + constexpr double t56 = malpha * t1; + constexpr double t57 = t3 * t6; + constexpr double t61 = t1 * t1; + constexpr double t62 = mbeta * t61; + constexpr double t63 = t3 * t3; + constexpr double t64 = t63 * t5; + constexpr double t71 = mgamma * t1; + constexpr double t74 = mdelta * t61; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = 0.1e1 + 0.52645e0 * t13 + 0.8335e-1 * t10; + const double t19 = safe_math::log( t11 ); + const double t22 = t4 * t9 * t19; + const double t26 = piecewise_functor_3( t12, -0.1423e0 / t16, 0.311e-1 * t19 - 0.48e-1 + 0.5e-3 * t22 - 0.29e-2 * t10 ); + const double t29 = 0.1e1 + 0.69905e0 * t13 + 0.65275e-1 * t10; + const double t36 = piecewise_functor_3( t12, -0.843e-1 / t29, 0.1555e-1 * t19 - 0.269e-1 + 0.175e-3 * t22 - 0.12e-2 * t10 ); + const double t38 = 0.1e1 <= zeta_tol; + const double t39 = safe_math::cbrt( zeta_tol ); + const double t41 = piecewise_functor_3( t38, t39 * zeta_tol, 1.0 ); + const double t43 = 0.2e1 * t41 - 0.2e1; + const double t48 = 0.1e1 / ( 0.2e1 * t45 - 0.2e1 ); + const double t49 = ( t36 - t26 ) * t43 * t48; + const double t50 = rho * rho; + const double t52 = 0.1e1 / t7 / t50; + const double t53 = sigma * t52; + const double t58 = t57 * t8; + const double t65 = t7 * t7; + const double t66 = 0.1e1 / t65; + const double t67 = t64 * t66; + const double t70 = bb + t56 * t58 / 0.4e1 + t62 * t67 / 0.4e1; + const double t77 = 0.1e1 / rho; + const double t80 = 0.1e1 + t71 * t58 / 0.4e1 + t74 * t67 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t77; + const double t81 = 0.1e1 / t80; + const double t83 = t70 * t81 + aa; + const double t84 = 0.1e1 / t83; + const double t85 = safe_math::sqrt( sigma ); + const double t86 = t84 * t85; + const double t87 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t89 = 0.1e1 / t87 / rho; + const double t92 = safe_math::exp( -t55 * t86 * t89 ); + const double t94 = t39 * t39; + const double t96 = piecewise_functor_3( t38, t94 * zeta_tol, 1.0 ); + const double t97 = safe_math::sqrt( t96 ); + const double t98 = 0.1e1 / t97; + const double t99 = t92 * t83 * t98; + const double t100 = t53 * t99; + + + eps = t26 + t49 + t100; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t45 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t54 = aa + bb; + constexpr double t55 = ftilde * t54; + constexpr double t56 = malpha * t1; + constexpr double t57 = t3 * t6; + constexpr double t61 = t1 * t1; + constexpr double t62 = mbeta * t61; + constexpr double t63 = t3 * t3; + constexpr double t64 = t63 * t5; + constexpr double t71 = mgamma * t1; + constexpr double t74 = mdelta * t61; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = 0.1e1 + 0.52645e0 * t13 + 0.8335e-1 * t10; + const double t19 = safe_math::log( t11 ); + const double t22 = t4 * t9 * t19; + const double t26 = piecewise_functor_3( t12, -0.1423e0 / t16, 0.311e-1 * t19 - 0.48e-1 + 0.5e-3 * t22 - 0.29e-2 * t10 ); + const double t29 = 0.1e1 + 0.69905e0 * t13 + 0.65275e-1 * t10; + const double t36 = piecewise_functor_3( t12, -0.843e-1 / t29, 0.1555e-1 * t19 - 0.269e-1 + 0.175e-3 * t22 - 0.12e-2 * t10 ); + const double t38 = 0.1e1 <= zeta_tol; + const double t39 = safe_math::cbrt( zeta_tol ); + const double t41 = piecewise_functor_3( t38, t39 * zeta_tol, 1.0 ); + const double t43 = 0.2e1 * t41 - 0.2e1; + const double t48 = 0.1e1 / ( 0.2e1 * t45 - 0.2e1 ); + const double t49 = ( t36 - t26 ) * t43 * t48; + const double t50 = rho * rho; + const double t52 = 0.1e1 / t7 / t50; + const double t53 = sigma * t52; + const double t58 = t57 * t8; + const double t65 = t7 * t7; + const double t66 = 0.1e1 / t65; + const double t67 = t64 * t66; + const double t70 = bb + t56 * t58 / 0.4e1 + t62 * t67 / 0.4e1; + const double t77 = 0.1e1 / rho; + const double t80 = 0.1e1 + t71 * t58 / 0.4e1 + t74 * t67 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t77; + const double t81 = 0.1e1 / t80; + const double t83 = t70 * t81 + aa; + const double t84 = 0.1e1 / t83; + const double t85 = safe_math::sqrt( sigma ); + const double t86 = t84 * t85; + const double t87 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t89 = 0.1e1 / t87 / rho; + const double t92 = safe_math::exp( -t55 * t86 * t89 ); + const double t94 = t39 * t39; + const double t96 = piecewise_functor_3( t38, t94 * zeta_tol, 1.0 ); + const double t97 = safe_math::sqrt( t96 ); + const double t98 = 0.1e1 / t97; + const double t99 = t92 * t83 * t98; + const double t100 = t53 * t99; + const double t101 = t16 * t16; + const double t102 = 0.1e1 / t101; + const double t104 = 0.1e1 / t13 * t1; + const double t106 = 0.1e1 / t7 / rho; + const double t107 = t57 * t106; + const double t108 = t104 * t107; + const double t110 = t6 * t106; + const double t111 = t4 * t110; + const double t113 = -0.87741666666666666667e-1 * t108 - 0.27783333333333333333e-1 * t111; + const double t118 = t4 * t110 * t19; + const double t122 = piecewise_functor_3( t12, 0.1423e0 * t102 * t113, -0.10366666666666666667e-1 * t77 - 0.16666666666666666667e-3 * t118 + 0.8e-3 * t111 ); + const double t123 = t29 * t29; + const double t124 = 0.1e1 / t123; + const double t127 = -0.11650833333333333333e0 * t108 - 0.21758333333333333333e-1 * t111; + const double t134 = piecewise_functor_3( t12, 0.843e-1 * t124 * t127, -0.51833333333333333333e-2 * t77 - 0.58333333333333333333e-4 * t118 + 0.34166666666666666667e-3 * t111 ); + const double t137 = ( t134 - t122 ) * t43 * t48; + const double t138 = t50 * rho; + const double t140 = 0.1e1 / t7 / t138; + const double t141 = sigma * t140; + const double t142 = t141 * t99; + const double t144 = t83 * t83; + const double t145 = 0.1e1 / t144; + const double t146 = t55 * t145; + const double t147 = t85 * t89; + const double t152 = t64 / t65 / rho; + const double t155 = -t56 * t107 / 0.12e2 - t62 * t152 / 0.6e1; + const double t157 = t80 * t80; + const double t158 = 0.1e1 / t157; + const double t159 = t70 * t158; + const double t164 = 0.1e1 / t50; + const double t167 = -t71 * t107 / 0.12e2 - t74 * t152 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t164; + const double t169 = t155 * t81 - t159 * t167; + const double t173 = 0.1e1 / t87 / t50; + const double t177 = t146 * t147 * t169 + 0.7e1 / 0.6e1 * t55 * t86 * t173; + const double t178 = t53 * t177; + const double t179 = t178 * t99; + const double t181 = t92 * t169 * t98; + const double t182 = t53 * t181; + const double t185 = t52 * t92; + const double t186 = t83 * t98; + const double t187 = t185 * t186; + const double t188 = safe_math::sqrt( rho ); + const double t190 = 0.1e1 / t188 / t138; + const double t191 = t85 * t190; + const double t192 = t191 * ftilde; + const double t194 = t54 * t92 * t98; + const double t196 = t192 * t194 / 0.2e1; + + + eps = t26 + t49 + t100; + vrho = t26 + t49 + t100 + rho * ( t122 + t137 - 0.7e1 / 0.3e1 * t142 + t179 + t182 ); + vsigma = rho * ( t187 - t196 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t45 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t54 = aa + bb; + constexpr double t55 = ftilde * t54; + constexpr double t56 = malpha * t1; + constexpr double t57 = t3 * t6; + constexpr double t61 = t1 * t1; + constexpr double t62 = mbeta * t61; + constexpr double t63 = t3 * t3; + constexpr double t64 = t63 * t5; + constexpr double t71 = mgamma * t1; + constexpr double t74 = mdelta * t61; + constexpr double t349 = ftilde * ftilde; + constexpr double t351 = t54 * t54; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = 0.1e1 + 0.52645e0 * t13 + 0.8335e-1 * t10; + const double t19 = safe_math::log( t11 ); + const double t29 = 0.1e1 + 0.69905e0 * t13 + 0.65275e-1 * t10; + const double t38 = 0.1e1 <= zeta_tol; + const double t39 = safe_math::cbrt( zeta_tol ); + const double t41 = piecewise_functor_3( t38, t39 * zeta_tol, 1.0 ); + const double t43 = 0.2e1 * t41 - 0.2e1; + const double t48 = 0.1e1 / ( 0.2e1 * t45 - 0.2e1 ); + const double t50 = rho * rho; + const double t52 = 0.1e1 / t7 / t50; + const double t53 = sigma * t52; + const double t58 = t57 * t8; + const double t65 = t7 * t7; + const double t66 = 0.1e1 / t65; + const double t67 = t64 * t66; + const double t70 = bb + t56 * t58 / 0.4e1 + t62 * t67 / 0.4e1; + const double t77 = 0.1e1 / rho; + const double t80 = 0.1e1 + t71 * t58 / 0.4e1 + t74 * t67 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t77; + const double t81 = 0.1e1 / t80; + const double t83 = t70 * t81 + aa; + const double t84 = 0.1e1 / t83; + const double t85 = safe_math::sqrt( sigma ); + const double t86 = t84 * t85; + const double t87 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t89 = 0.1e1 / t87 / rho; + const double t92 = safe_math::exp( -t55 * t86 * t89 ); + const double t94 = t39 * t39; + const double t96 = piecewise_functor_3( t38, t94 * zeta_tol, 1.0 ); + const double t97 = safe_math::sqrt( t96 ); + const double t98 = 0.1e1 / t97; + const double t99 = t92 * t83 * t98; + const double t101 = t16 * t16; + const double t102 = 0.1e1 / t101; + const double t104 = 0.1e1 / t13 * t1; + const double t106 = 0.1e1 / t7 / rho; + const double t107 = t57 * t106; + const double t108 = t104 * t107; + const double t110 = t6 * t106; + const double t111 = t4 * t110; + const double t113 = -0.87741666666666666667e-1 * t108 - 0.27783333333333333333e-1 * t111; + const double t118 = t4 * t110 * t19; + const double t122 = piecewise_functor_3( t12, 0.1423e0 * t102 * t113, -0.10366666666666666667e-1 * t77 - 0.16666666666666666667e-3 * t118 + 0.8e-3 * t111 ); + const double t123 = t29 * t29; + const double t124 = 0.1e1 / t123; + const double t127 = -0.11650833333333333333e0 * t108 - 0.21758333333333333333e-1 * t111; + const double t134 = piecewise_functor_3( t12, 0.843e-1 * t124 * t127, -0.51833333333333333333e-2 * t77 - 0.58333333333333333333e-4 * t118 + 0.34166666666666666667e-3 * t111 ); + const double t137 = ( t134 - t122 ) * t43 * t48; + const double t138 = t50 * rho; + const double t140 = 0.1e1 / t7 / t138; + const double t141 = sigma * t140; + const double t142 = t141 * t99; + const double t144 = t83 * t83; + const double t145 = 0.1e1 / t144; + const double t146 = t55 * t145; + const double t147 = t85 * t89; + const double t152 = t64 / t65 / rho; + const double t155 = -t56 * t107 / 0.12e2 - t62 * t152 / 0.6e1; + const double t157 = t80 * t80; + const double t158 = 0.1e1 / t157; + const double t159 = t70 * t158; + const double t164 = 0.1e1 / t50; + const double t167 = -t71 * t107 / 0.12e2 - t74 * t152 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t164; + const double t169 = t155 * t81 - t159 * t167; + const double t173 = 0.1e1 / t87 / t50; + const double t177 = t146 * t147 * t169 + 0.7e1 / 0.6e1 * t55 * t86 * t173; + const double t178 = t53 * t177; + const double t179 = t178 * t99; + const double t181 = t92 * t169 * t98; + const double t182 = t53 * t181; + const double t185 = t52 * t92; + const double t186 = t83 * t98; + const double t187 = t185 * t186; + const double t188 = safe_math::sqrt( rho ); + const double t190 = 0.1e1 / t188 / t138; + const double t191 = t85 * t190; + const double t192 = t191 * ftilde; + const double t194 = t54 * t92 * t98; + const double t196 = t192 * t194 / 0.2e1; + const double t204 = 0.1e1 / t101 / t16; + const double t205 = t113 * t113; + const double t210 = 0.1e1 / t13 / t10 * t61; + const double t213 = t64 / t65 / t50; + const double t214 = t210 * t213; + const double t216 = t57 * t52; + const double t217 = t104 * t216; + const double t219 = t6 * t52; + const double t220 = t4 * t219; + const double t222 = -0.58494444444444444445e-1 * t214 + 0.11698888888888888889e0 * t217 + 0.37044444444444444444e-1 * t220; + const double t228 = t4 * t219 * t19; + const double t232 = piecewise_functor_3( t12, -0.2846e0 * t204 * t205 + 0.1423e0 * t102 * t222, 0.10366666666666666667e-1 * t164 + 0.22222222222222222223e-3 * t228 - 0.10111111111111111111e-2 * t220 ); + const double t234 = 0.1e1 / t123 / t29; + const double t235 = t127 * t127; + const double t241 = -0.7767222222222222222e-1 * t214 + 0.15534444444444444444e0 * t217 + 0.29011111111111111111e-1 * t220; + const double t249 = piecewise_functor_3( t12, -0.1686e0 * t234 * t235 + 0.843e-1 * t124 * t241, 0.51833333333333333333e-2 * t164 + 0.77777777777777777777e-4 * t228 - 0.43611111111111111112e-3 * t220 ); + const double t252 = ( t249 - t232 ) * t43 * t48; + const double t253 = t50 * t50; + const double t255 = 0.1e1 / t7 / t253; + const double t256 = sigma * t255; + const double t257 = t256 * t99; + const double t259 = t141 * t177; + const double t260 = t259 * t99; + const double t262 = t141 * t181; + const double t265 = 0.1e1 / t144 / t83; + const double t266 = t55 * t265; + const double t267 = t169 * t169; + const double t271 = t85 * t173; + const double t279 = t56 * t216 / 0.9e1 + 0.5e1 / 0.18e2 * t62 * t213; + const double t281 = t155 * t158; + const double t285 = 0.1e1 / t157 / t80; + const double t286 = t70 * t285; + const double t287 = t167 * t167; + const double t294 = 0.1e1 / t138; + const double t297 = t71 * t216 / 0.9e1 + 0.5e1 / 0.18e2 * t74 * t213 + 0.4774648292756860073e4 * mbeta * t294; + const double t299 = -t159 * t297 - 0.2e1 * t281 * t167 + t279 * t81 + 0.2e1 * t286 * t287; + const double t303 = 0.1e1 / t87 / t138; + const double t307 = -0.2e1 * t266 * t147 * t267 - 0.7e1 / 0.3e1 * t146 * t271 * t169 + t146 * t147 * t299 - 0.91e2 / 0.36e2 * t55 * t86 * t303; + const double t308 = t53 * t307; + const double t309 = t308 * t99; + const double t310 = t177 * t177; + const double t311 = t53 * t310; + const double t312 = t311 * t99; + const double t313 = t178 * t181; + const double t316 = t92 * t299 * t98; + const double t317 = t53 * t316; + const double t320 = t140 * t92; + const double t321 = t320 * t186; + const double t323 = t52 * t177; + const double t324 = t323 * t99; + const double t325 = t169 * t98; + const double t326 = t185 * t325; + const double t328 = 0.1e1 / t188 / t253; + const double t330 = t85 * t328 * ftilde; + const double t331 = t330 * t194; + const double t334 = t92 * t98; + const double t335 = t54 * t177 * t334; + const double t336 = t192 * t335; + const double t341 = t190 * ftilde * t54; + const double t342 = 0.1e1 / t85; + const double t343 = t342 * t92; + const double t344 = t343 * t98; + const double t346 = 0.3e1 / 0.4e1 * t341 * t344; + const double t348 = 0.1e1 / t65 / t253; + const double t350 = t348 * t349; + const double t352 = t350 * t351; + const double t354 = t84 * t92 * t98; + const double t356 = t352 * t354 / 0.4e1; + + + v2rho2 = 0.2e1 * t122 + 0.2e1 * t137 - 0.14e2 / 0.3e1 * t142 + 0.2e1 * t179 + 0.2e1 * t182 + rho * ( t232 + t252 + 0.7e2 / 0.9e1 * t257 - 0.14e2 / 0.3e1 * t260 - 0.14e2 / 0.3e1 * t262 + t309 + t312 + 0.2e1 * t313 + t317 ); + v2rhosigma = t187 - t196 + rho * ( -0.7e1 / 0.3e1 * t321 + t324 + t326 + 0.7e1 / 0.4e1 * t331 - t336 / 0.2e1 ); + v2sigma2 = rho * ( -t346 + t356 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t45 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t54 = aa + bb; + constexpr double t55 = ftilde * t54; + constexpr double t56 = malpha * t1; + constexpr double t57 = t3 * t6; + constexpr double t61 = t1 * t1; + constexpr double t62 = mbeta * t61; + constexpr double t63 = t3 * t3; + constexpr double t64 = t63 * t5; + constexpr double t71 = mgamma * t1; + constexpr double t74 = mdelta * t61; + constexpr double t349 = ftilde * ftilde; + constexpr double t351 = t54 * t54; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = 0.1e1 + 0.52645e0 * t13 + 0.8335e-1 * t10; + const double t19 = safe_math::log( t11 ); + const double t22 = t4 * t9 * t19; + const double t26 = piecewise_functor_3( t12, -0.1423e0 / t16, 0.311e-1 * t19 - 0.48e-1 + 0.5e-3 * t22 - 0.29e-2 * t10 ); + const double t29 = 0.1e1 + 0.69905e0 * t13 + 0.65275e-1 * t10; + const double t36 = piecewise_functor_3( t12, -0.843e-1 / t29, 0.1555e-1 * t19 - 0.269e-1 + 0.175e-3 * t22 - 0.12e-2 * t10 ); + const double t38 = 0.1e1 <= zeta_tol; + const double t39 = safe_math::cbrt( zeta_tol ); + const double t41 = piecewise_functor_3( t38, t39 * zeta_tol, 1.0 ); + const double t43 = 0.2e1 * t41 - 0.2e1; + const double t48 = 0.1e1 / ( 0.2e1 * t45 - 0.2e1 ); + const double t49 = ( t36 - t26 ) * t43 * t48; + const double t50 = rho * rho; + const double t52 = 0.1e1 / t7 / t50; + const double t53 = sigma * t52; + const double t58 = t57 * t8; + const double t65 = t7 * t7; + const double t66 = 0.1e1 / t65; + const double t67 = t64 * t66; + const double t70 = bb + t56 * t58 / 0.4e1 + t62 * t67 / 0.4e1; + const double t77 = 0.1e1 / rho; + const double t80 = 0.1e1 + t71 * t58 / 0.4e1 + t74 * t67 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t77; + const double t81 = 0.1e1 / t80; + const double t83 = t70 * t81 + aa; + const double t84 = 0.1e1 / t83; + const double t85 = safe_math::sqrt( sigma ); + const double t86 = t84 * t85; + const double t87 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t89 = 0.1e1 / t87 / rho; + const double t92 = safe_math::exp( -t55 * t86 * t89 ); + const double t94 = t39 * t39; + const double t96 = piecewise_functor_3( t38, t94 * zeta_tol, 1.0 ); + const double t97 = safe_math::sqrt( t96 ); + const double t98 = 0.1e1 / t97; + const double t99 = t92 * t83 * t98; + const double t100 = t53 * t99; + const double t101 = t16 * t16; + const double t102 = 0.1e1 / t101; + const double t104 = 0.1e1 / t13 * t1; + const double t106 = 0.1e1 / t7 / rho; + const double t107 = t57 * t106; + const double t108 = t104 * t107; + const double t110 = t6 * t106; + const double t111 = t4 * t110; + const double t113 = -0.87741666666666666667e-1 * t108 - 0.27783333333333333333e-1 * t111; + const double t118 = t4 * t110 * t19; + const double t122 = piecewise_functor_3( t12, 0.1423e0 * t102 * t113, -0.10366666666666666667e-1 * t77 - 0.16666666666666666667e-3 * t118 + 0.8e-3 * t111 ); + const double t123 = t29 * t29; + const double t124 = 0.1e1 / t123; + const double t127 = -0.11650833333333333333e0 * t108 - 0.21758333333333333333e-1 * t111; + const double t134 = piecewise_functor_3( t12, 0.843e-1 * t124 * t127, -0.51833333333333333333e-2 * t77 - 0.58333333333333333333e-4 * t118 + 0.34166666666666666667e-3 * t111 ); + const double t137 = ( t134 - t122 ) * t43 * t48; + const double t138 = t50 * rho; + const double t140 = 0.1e1 / t7 / t138; + const double t141 = sigma * t140; + const double t142 = t141 * t99; + const double t144 = t83 * t83; + const double t145 = 0.1e1 / t144; + const double t146 = t55 * t145; + const double t147 = t85 * t89; + const double t152 = t64 / t65 / rho; + const double t155 = -t56 * t107 / 0.12e2 - t62 * t152 / 0.6e1; + const double t157 = t80 * t80; + const double t158 = 0.1e1 / t157; + const double t159 = t70 * t158; + const double t164 = 0.1e1 / t50; + const double t167 = -t71 * t107 / 0.12e2 - t74 * t152 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t164; + const double t169 = t155 * t81 - t159 * t167; + const double t173 = 0.1e1 / t87 / t50; + const double t177 = t146 * t147 * t169 + 0.7e1 / 0.6e1 * t55 * t86 * t173; + const double t178 = t53 * t177; + const double t179 = t178 * t99; + const double t181 = t92 * t169 * t98; + const double t182 = t53 * t181; + const double t185 = t52 * t92; + const double t186 = t83 * t98; + const double t187 = t185 * t186; + const double t188 = safe_math::sqrt( rho ); + const double t190 = 0.1e1 / t188 / t138; + const double t191 = t85 * t190; + const double t192 = t191 * ftilde; + const double t194 = t54 * t92 * t98; + const double t196 = t192 * t194 / 0.2e1; + const double t204 = 0.1e1 / t101 / t16; + const double t205 = t113 * t113; + const double t210 = 0.1e1 / t13 / t10 * t61; + const double t213 = t64 / t65 / t50; + const double t214 = t210 * t213; + const double t216 = t57 * t52; + const double t217 = t104 * t216; + const double t219 = t6 * t52; + const double t220 = t4 * t219; + const double t222 = -0.58494444444444444445e-1 * t214 + 0.11698888888888888889e0 * t217 + 0.37044444444444444444e-1 * t220; + const double t228 = t4 * t219 * t19; + const double t232 = piecewise_functor_3( t12, -0.2846e0 * t204 * t205 + 0.1423e0 * t102 * t222, 0.10366666666666666667e-1 * t164 + 0.22222222222222222223e-3 * t228 - 0.10111111111111111111e-2 * t220 ); + const double t234 = 0.1e1 / t123 / t29; + const double t235 = t127 * t127; + const double t241 = -0.7767222222222222222e-1 * t214 + 0.15534444444444444444e0 * t217 + 0.29011111111111111111e-1 * t220; + const double t249 = piecewise_functor_3( t12, -0.1686e0 * t234 * t235 + 0.843e-1 * t124 * t241, 0.51833333333333333333e-2 * t164 + 0.77777777777777777777e-4 * t228 - 0.43611111111111111112e-3 * t220 ); + const double t252 = ( t249 - t232 ) * t43 * t48; + const double t253 = t50 * t50; + const double t255 = 0.1e1 / t7 / t253; + const double t256 = sigma * t255; + const double t257 = t256 * t99; + const double t259 = t141 * t177; + const double t260 = t259 * t99; + const double t262 = t141 * t181; + const double t265 = 0.1e1 / t144 / t83; + const double t266 = t55 * t265; + const double t267 = t169 * t169; + const double t271 = t85 * t173; + const double t279 = t56 * t216 / 0.9e1 + 0.5e1 / 0.18e2 * t62 * t213; + const double t281 = t155 * t158; + const double t285 = 0.1e1 / t157 / t80; + const double t286 = t70 * t285; + const double t287 = t167 * t167; + const double t294 = 0.1e1 / t138; + const double t297 = t71 * t216 / 0.9e1 + 0.5e1 / 0.18e2 * t74 * t213 + 0.4774648292756860073e4 * mbeta * t294; + const double t299 = -t159 * t297 - 0.2e1 * t281 * t167 + t279 * t81 + 0.2e1 * t286 * t287; + const double t303 = 0.1e1 / t87 / t138; + const double t307 = -0.2e1 * t266 * t147 * t267 - 0.7e1 / 0.3e1 * t146 * t271 * t169 + t146 * t147 * t299 - 0.91e2 / 0.36e2 * t55 * t86 * t303; + const double t308 = t53 * t307; + const double t309 = t308 * t99; + const double t310 = t177 * t177; + const double t311 = t53 * t310; + const double t312 = t311 * t99; + const double t313 = t178 * t181; + const double t316 = t92 * t299 * t98; + const double t317 = t53 * t316; + const double t320 = t140 * t92; + const double t321 = t320 * t186; + const double t323 = t52 * t177; + const double t324 = t323 * t99; + const double t325 = t169 * t98; + const double t326 = t185 * t325; + const double t328 = 0.1e1 / t188 / t253; + const double t330 = t85 * t328 * ftilde; + const double t331 = t330 * t194; + const double t334 = t92 * t98; + const double t335 = t54 * t177 * t334; + const double t336 = t192 * t335; + const double t341 = t190 * ftilde * t54; + const double t342 = 0.1e1 / t85; + const double t343 = t342 * t92; + const double t344 = t343 * t98; + const double t346 = 0.3e1 / 0.4e1 * t341 * t344; + const double t348 = 0.1e1 / t65 / t253; + const double t350 = t348 * t349; + const double t352 = t350 * t351; + const double t354 = t84 * t92 * t98; + const double t356 = t352 * t354 / 0.4e1; + + + vrho = t26 + t49 + t100 + rho * ( t122 + t137 - 0.7e1 / 0.3e1 * t142 + t179 + t182 ); + vsigma = rho * ( t187 - t196 ); + v2rho2 = 0.2e1 * t122 + 0.2e1 * t137 - 0.14e2 / 0.3e1 * t142 + 0.2e1 * t179 + 0.2e1 * t182 + rho * ( t232 + t252 + 0.7e2 / 0.9e1 * t257 - 0.14e2 / 0.3e1 * t260 - 0.14e2 / 0.3e1 * t262 + t309 + t312 + 0.2e1 * t313 + t317 ); + v2rhosigma = t187 - t196 + rho * ( -0.7e1 / 0.3e1 * t321 + t324 + t326 + 0.7e1 / 0.4e1 * t331 - t336 / 0.2e1 ); + v2sigma2 = rho * ( -t346 + t356 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t67 = aa + bb; + constexpr double t68 = ftilde * t67; + constexpr double t69 = malpha * t1; + constexpr double t70 = t3 * t6; + constexpr double t74 = t1 * t1; + constexpr double t75 = mbeta * t74; + constexpr double t76 = t3 * t3; + constexpr double t77 = t76 * t5; + constexpr double t84 = mgamma * t1; + constexpr double t87 = mdelta * t74; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = 0.1e1 + 0.52645e0 * t14 + 0.8335e-1 * t11; + const double t20 = safe_math::log( t12 ); + const double t23 = t4 * t10 * t20; + const double t27 = piecewise_functor_3( t13, -0.1423e0 / t17, 0.311e-1 * t20 - 0.48e-1 + 0.5e-3 * t23 - 0.29e-2 * t11 ); + const double t30 = 0.1e1 + 0.69905e0 * t14 + 0.65275e-1 * t11; + const double t37 = piecewise_functor_3( t13, -0.843e-1 / t30, 0.1555e-1 * t20 - 0.269e-1 + 0.175e-3 * t23 - 0.12e-2 * t11 ); + const double t38 = t37 - t27; + const double t39 = rho_a - rho_b; + const double t40 = 0.1e1 / t7; + const double t41 = t39 * t40; + const double t42 = 0.1e1 + t41; + const double t43 = t42 <= zeta_tol; + const double t44 = safe_math::cbrt( zeta_tol ); + const double t45 = t44 * zeta_tol; + const double t46 = safe_math::cbrt( t42 ); + const double t47 = t46 * t42; + const double t48 = piecewise_functor_3( t43, t45, t47 ); + const double t49 = 0.1e1 - t41; + const double t50 = t49 <= zeta_tol; + const double t51 = safe_math::cbrt( t49 ); + const double t52 = t51 * t49; + const double t53 = piecewise_functor_3( t50, t45, t52 ); + const double t54 = t48 + t53 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t38 * t54 * t59; + const double t62 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t63 = t7 * t7; + const double t65 = 0.1e1 / t8 / t63; + const double t66 = t62 * t65; + const double t71 = t70 * t9; + const double t78 = t8 * t8; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t83 = bb + t69 * t71 / 0.4e1 + t75 * t80 / 0.4e1; + const double t92 = 0.1e1 + t84 * t71 / 0.4e1 + t87 * t80 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t40; + const double t93 = 0.1e1 / t92; + const double t95 = t83 * t93 + aa; + const double t96 = 0.1e1 / t95; + const double t97 = safe_math::sqrt( t62 ); + const double t98 = t96 * t97; + const double t99 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t101 = 0.1e1 / t99 / t7; + const double t104 = safe_math::exp( -t68 * t98 * t101 ); + const double t105 = t66 * t104; + const double t106 = t44 * t44; + const double t107 = t106 * zeta_tol; + const double t108 = t46 * t46; + const double t109 = t108 * t42; + const double t110 = piecewise_functor_3( t43, t107, t109 ); + const double t111 = t51 * t51; + const double t112 = t111 * t49; + const double t113 = piecewise_functor_3( t50, t107, t112 ); + const double t114 = t110 + t113; + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t118 = M_SQRT2; + const double t119 = t95 * t116 * t118; + const double t120 = t105 * t119; + + + eps = t27 + t60 + t120; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t67 = aa + bb; + constexpr double t68 = ftilde * t67; + constexpr double t69 = malpha * t1; + constexpr double t70 = t3 * t6; + constexpr double t74 = t1 * t1; + constexpr double t75 = mbeta * t74; + constexpr double t76 = t3 * t3; + constexpr double t77 = t76 * t5; + constexpr double t84 = mgamma * t1; + constexpr double t87 = mdelta * t74; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = 0.1e1 + 0.52645e0 * t14 + 0.8335e-1 * t11; + const double t20 = safe_math::log( t12 ); + const double t23 = t4 * t10 * t20; + const double t27 = piecewise_functor_3( t13, -0.1423e0 / t17, 0.311e-1 * t20 - 0.48e-1 + 0.5e-3 * t23 - 0.29e-2 * t11 ); + const double t30 = 0.1e1 + 0.69905e0 * t14 + 0.65275e-1 * t11; + const double t37 = piecewise_functor_3( t13, -0.843e-1 / t30, 0.1555e-1 * t20 - 0.269e-1 + 0.175e-3 * t23 - 0.12e-2 * t11 ); + const double t38 = t37 - t27; + const double t39 = rho_a - rho_b; + const double t40 = 0.1e1 / t7; + const double t41 = t39 * t40; + const double t42 = 0.1e1 + t41; + const double t43 = t42 <= zeta_tol; + const double t44 = safe_math::cbrt( zeta_tol ); + const double t45 = t44 * zeta_tol; + const double t46 = safe_math::cbrt( t42 ); + const double t47 = t46 * t42; + const double t48 = piecewise_functor_3( t43, t45, t47 ); + const double t49 = 0.1e1 - t41; + const double t50 = t49 <= zeta_tol; + const double t51 = safe_math::cbrt( t49 ); + const double t52 = t51 * t49; + const double t53 = piecewise_functor_3( t50, t45, t52 ); + const double t54 = t48 + t53 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t38 * t54 * t59; + const double t62 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t63 = t7 * t7; + const double t65 = 0.1e1 / t8 / t63; + const double t66 = t62 * t65; + const double t71 = t70 * t9; + const double t78 = t8 * t8; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t83 = bb + t69 * t71 / 0.4e1 + t75 * t80 / 0.4e1; + const double t92 = 0.1e1 + t84 * t71 / 0.4e1 + t87 * t80 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t40; + const double t93 = 0.1e1 / t92; + const double t95 = t83 * t93 + aa; + const double t96 = 0.1e1 / t95; + const double t97 = safe_math::sqrt( t62 ); + const double t98 = t96 * t97; + const double t99 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t101 = 0.1e1 / t99 / t7; + const double t104 = safe_math::exp( -t68 * t98 * t101 ); + const double t105 = t66 * t104; + const double t106 = t44 * t44; + const double t107 = t106 * zeta_tol; + const double t108 = t46 * t46; + const double t109 = t108 * t42; + const double t110 = piecewise_functor_3( t43, t107, t109 ); + const double t111 = t51 * t51; + const double t112 = t111 * t49; + const double t113 = piecewise_functor_3( t50, t107, t112 ); + const double t114 = t110 + t113; + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t118 = M_SQRT2; + const double t119 = t95 * t116 * t118; + const double t120 = t105 * t119; + const double t121 = t17 * t17; + const double t122 = 0.1e1 / t121; + const double t124 = 0.1e1 / t14 * t1; + const double t126 = 0.1e1 / t8 / t7; + const double t127 = t70 * t126; + const double t128 = t124 * t127; + const double t130 = t6 * t126; + const double t131 = t4 * t130; + const double t133 = -0.87741666666666666667e-1 * t128 - 0.27783333333333333333e-1 * t131; + const double t138 = t4 * t130 * t20; + const double t142 = piecewise_functor_3( t13, 0.1423e0 * t122 * t133, -0.10366666666666666667e-1 * t40 - 0.16666666666666666667e-3 * t138 + 0.8e-3 * t131 ); + const double t143 = t30 * t30; + const double t144 = 0.1e1 / t143; + const double t147 = -0.11650833333333333333e0 * t128 - 0.21758333333333333333e-1 * t131; + const double t154 = piecewise_functor_3( t13, 0.843e-1 * t144 * t147, -0.51833333333333333333e-2 * t40 - 0.58333333333333333333e-4 * t138 + 0.34166666666666666667e-3 * t131 ); + const double t155 = t154 - t142; + const double t157 = t155 * t54 * t59; + const double t158 = 0.1e1 / t63; + const double t159 = t39 * t158; + const double t160 = t40 - t159; + const double t163 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.3e1 * t46 * t160 ); + const double t164 = -t160; + const double t167 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.3e1 * t51 * t164 ); + const double t168 = t163 + t167; + const double t170 = t38 * t168 * t59; + const double t171 = t63 * t7; + const double t173 = 0.1e1 / t8 / t171; + const double t174 = t62 * t173; + const double t175 = t174 * t104; + const double t176 = t175 * t119; + const double t177 = 0.7e1 / 0.3e1 * t176; + const double t178 = t95 * t95; + const double t179 = 0.1e1 / t178; + const double t180 = t68 * t179; + const double t181 = t97 * t101; + const double t186 = t77 / t78 / t7; + const double t189 = -t69 * t127 / 0.12e2 - t75 * t186 / 0.6e1; + const double t191 = t92 * t92; + const double t192 = 0.1e1 / t191; + const double t193 = t83 * t192; + const double t200 = -t84 * t127 / 0.12e2 - t87 * t186 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t158; + const double t202 = t189 * t93 - t193 * t200; + const double t206 = 0.1e1 / t99 / t63; + const double t210 = t180 * t181 * t202 + 0.7e1 / 0.6e1 * t68 * t98 * t206; + const double t211 = t66 * t210; + const double t212 = t104 * t95; + const double t213 = t116 * t118; + const double t214 = t212 * t213; + const double t215 = t211 * t214; + const double t216 = t202 * t116; + const double t217 = t216 * t118; + const double t218 = t105 * t217; + const double t220 = 0.1e1 / t115 / t114; + const double t221 = t95 * t220; + const double t224 = piecewise_functor_3( t43, 0.0, 0.5e1 / 0.3e1 * t108 * t160 ); + const double t227 = piecewise_functor_3( t50, 0.0, 0.5e1 / 0.3e1 * t111 * t164 ); + const double t228 = t224 + t227; + const double t229 = t118 * t228; + const double t230 = t221 * t229; + const double t231 = t105 * t230; + const double t232 = t231 / 0.2e1; + const double t235 = -t40 - t159; + const double t238 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.3e1 * t46 * t235 ); + const double t239 = -t235; + const double t242 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.3e1 * t51 * t239 ); + const double t243 = t238 + t242; + const double t245 = t38 * t243 * t59; + const double t248 = piecewise_functor_3( t43, 0.0, 0.5e1 / 0.3e1 * t108 * t235 ); + const double t251 = piecewise_functor_3( t50, 0.0, 0.5e1 / 0.3e1 * t111 * t239 ); + const double t252 = t248 + t251; + const double t253 = t118 * t252; + const double t254 = t221 * t253; + const double t255 = t105 * t254; + const double t256 = t255 / 0.2e1; + const double t259 = t65 * t104; + const double t260 = t259 * t119; + const double t261 = safe_math::sqrt( t7 ); + const double t263 = 0.1e1 / t261 / t171; + const double t264 = t97 * t263; + const double t267 = t67 * t104 * t213; + const double t268 = t264 * ftilde * t267; + const double t269 = t268 / 0.2e1; + const double t271 = 0.2e1 * t260; + + + eps = t27 + t60 + t120; + vrho_a = t27 + t60 + t120 + t7 * ( t142 + t157 + t170 - t177 + t215 + t218 - t232 ); + vrho_b = t27 + t60 + t120 + t7 * ( t142 + t157 + t245 - t177 + t215 + t218 - t256 ); + vsigma_aa = t7 * ( t260 - t269 ); + vsigma_ab = t7 * ( t271 - t268 ); + vsigma_bb = vsigma_aa; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t67 = aa + bb; + constexpr double t68 = ftilde * t67; + constexpr double t69 = malpha * t1; + constexpr double t70 = t3 * t6; + constexpr double t74 = t1 * t1; + constexpr double t75 = mbeta * t74; + constexpr double t76 = t3 * t3; + constexpr double t77 = t76 * t5; + constexpr double t84 = mgamma * t1; + constexpr double t87 = mdelta * t74; + constexpr double t623 = ftilde * ftilde; + constexpr double t625 = t67 * t67; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = 0.1e1 + 0.52645e0 * t14 + 0.8335e-1 * t11; + const double t20 = safe_math::log( t12 ); + const double t23 = t4 * t10 * t20; + const double t27 = piecewise_functor_3( t13, -0.1423e0 / t17, 0.311e-1 * t20 - 0.48e-1 + 0.5e-3 * t23 - 0.29e-2 * t11 ); + const double t30 = 0.1e1 + 0.69905e0 * t14 + 0.65275e-1 * t11; + const double t37 = piecewise_functor_3( t13, -0.843e-1 / t30, 0.1555e-1 * t20 - 0.269e-1 + 0.175e-3 * t23 - 0.12e-2 * t11 ); + const double t38 = t37 - t27; + const double t39 = rho_a - rho_b; + const double t40 = 0.1e1 / t7; + const double t41 = t39 * t40; + const double t42 = 0.1e1 + t41; + const double t43 = t42 <= zeta_tol; + const double t44 = safe_math::cbrt( zeta_tol ); + const double t45 = t44 * zeta_tol; + const double t46 = safe_math::cbrt( t42 ); + const double t47 = t46 * t42; + const double t48 = piecewise_functor_3( t43, t45, t47 ); + const double t49 = 0.1e1 - t41; + const double t50 = t49 <= zeta_tol; + const double t51 = safe_math::cbrt( t49 ); + const double t52 = t51 * t49; + const double t53 = piecewise_functor_3( t50, t45, t52 ); + const double t54 = t48 + t53 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t62 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t63 = t7 * t7; + const double t65 = 0.1e1 / t8 / t63; + const double t66 = t62 * t65; + const double t71 = t70 * t9; + const double t78 = t8 * t8; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t83 = bb + t69 * t71 / 0.4e1 + t75 * t80 / 0.4e1; + const double t92 = 0.1e1 + t84 * t71 / 0.4e1 + t87 * t80 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t40; + const double t93 = 0.1e1 / t92; + const double t95 = t83 * t93 + aa; + const double t96 = 0.1e1 / t95; + const double t97 = safe_math::sqrt( t62 ); + const double t98 = t96 * t97; + const double t99 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t101 = 0.1e1 / t99 / t7; + const double t104 = safe_math::exp( -t68 * t98 * t101 ); + const double t105 = t66 * t104; + const double t106 = t44 * t44; + const double t107 = t106 * zeta_tol; + const double t108 = t46 * t46; + const double t109 = t108 * t42; + const double t110 = piecewise_functor_3( t43, t107, t109 ); + const double t111 = t51 * t51; + const double t112 = t111 * t49; + const double t113 = piecewise_functor_3( t50, t107, t112 ); + const double t114 = t110 + t113; + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t118 = M_SQRT2; + const double t119 = t95 * t116 * t118; + const double t121 = t17 * t17; + const double t122 = 0.1e1 / t121; + const double t124 = 0.1e1 / t14 * t1; + const double t126 = 0.1e1 / t8 / t7; + const double t127 = t70 * t126; + const double t128 = t124 * t127; + const double t130 = t6 * t126; + const double t131 = t4 * t130; + const double t133 = -0.87741666666666666667e-1 * t128 - 0.27783333333333333333e-1 * t131; + const double t138 = t4 * t130 * t20; + const double t142 = piecewise_functor_3( t13, 0.1423e0 * t122 * t133, -0.10366666666666666667e-1 * t40 - 0.16666666666666666667e-3 * t138 + 0.8e-3 * t131 ); + const double t143 = t30 * t30; + const double t144 = 0.1e1 / t143; + const double t147 = -0.11650833333333333333e0 * t128 - 0.21758333333333333333e-1 * t131; + const double t154 = piecewise_functor_3( t13, 0.843e-1 * t144 * t147, -0.51833333333333333333e-2 * t40 - 0.58333333333333333333e-4 * t138 + 0.34166666666666666667e-3 * t131 ); + const double t155 = t154 - t142; + const double t157 = t155 * t54 * t59; + const double t158 = 0.1e1 / t63; + const double t159 = t39 * t158; + const double t160 = t40 - t159; + const double t163 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.3e1 * t46 * t160 ); + const double t164 = -t160; + const double t167 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.3e1 * t51 * t164 ); + const double t168 = t163 + t167; + const double t170 = t38 * t168 * t59; + const double t171 = t63 * t7; + const double t173 = 0.1e1 / t8 / t171; + const double t174 = t62 * t173; + const double t175 = t174 * t104; + const double t176 = t175 * t119; + const double t178 = t95 * t95; + const double t179 = 0.1e1 / t178; + const double t180 = t68 * t179; + const double t181 = t97 * t101; + const double t186 = t77 / t78 / t7; + const double t189 = -t69 * t127 / 0.12e2 - t75 * t186 / 0.6e1; + const double t191 = t92 * t92; + const double t192 = 0.1e1 / t191; + const double t193 = t83 * t192; + const double t200 = -t84 * t127 / 0.12e2 - t87 * t186 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t158; + const double t202 = t189 * t93 - t193 * t200; + const double t206 = 0.1e1 / t99 / t63; + const double t210 = t180 * t181 * t202 + 0.7e1 / 0.6e1 * t68 * t98 * t206; + const double t211 = t66 * t210; + const double t212 = t104 * t95; + const double t213 = t116 * t118; + const double t214 = t212 * t213; + const double t215 = t211 * t214; + const double t216 = t202 * t116; + const double t217 = t216 * t118; + const double t218 = t105 * t217; + const double t220 = 0.1e1 / t115 / t114; + const double t221 = t95 * t220; + const double t224 = piecewise_functor_3( t43, 0.0, 0.5e1 / 0.3e1 * t108 * t160 ); + const double t227 = piecewise_functor_3( t50, 0.0, 0.5e1 / 0.3e1 * t111 * t164 ); + const double t228 = t224 + t227; + const double t229 = t118 * t228; + const double t230 = t221 * t229; + const double t231 = t105 * t230; + const double t232 = t231 / 0.2e1; + const double t235 = -t40 - t159; + const double t238 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.3e1 * t46 * t235 ); + const double t239 = -t235; + const double t242 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.3e1 * t51 * t239 ); + const double t243 = t238 + t242; + const double t245 = t38 * t243 * t59; + const double t248 = piecewise_functor_3( t43, 0.0, 0.5e1 / 0.3e1 * t108 * t235 ); + const double t251 = piecewise_functor_3( t50, 0.0, 0.5e1 / 0.3e1 * t111 * t239 ); + const double t252 = t248 + t251; + const double t253 = t118 * t252; + const double t254 = t221 * t253; + const double t255 = t105 * t254; + const double t256 = t255 / 0.2e1; + const double t259 = t65 * t104; + const double t260 = t259 * t119; + const double t261 = safe_math::sqrt( t7 ); + const double t263 = 0.1e1 / t261 / t171; + const double t264 = t97 * t263; + const double t267 = t67 * t104 * t213; + const double t268 = t264 * ftilde * t267; + const double t269 = t268 / 0.2e1; + const double t271 = 0.2e1 * t260; + const double t273 = 0.2e1 * t142; + const double t274 = 0.2e1 * t157; + const double t276 = 0.14e2 / 0.3e1 * t176; + const double t277 = 0.2e1 * t215; + const double t278 = 0.2e1 * t218; + const double t280 = 0.1e1 / t121 / t17; + const double t281 = t133 * t133; + const double t286 = 0.1e1 / t14 / t11 * t74; + const double t289 = t77 / t78 / t63; + const double t290 = t286 * t289; + const double t292 = t70 * t65; + const double t293 = t124 * t292; + const double t295 = t6 * t65; + const double t296 = t4 * t295; + const double t298 = -0.58494444444444444445e-1 * t290 + 0.11698888888888888889e0 * t293 + 0.37044444444444444444e-1 * t296; + const double t304 = t4 * t295 * t20; + const double t308 = piecewise_functor_3( t13, -0.2846e0 * t280 * t281 + 0.1423e0 * t122 * t298, 0.10366666666666666667e-1 * t158 + 0.22222222222222222223e-3 * t304 - 0.10111111111111111111e-2 * t296 ); + const double t310 = 0.1e1 / t143 / t30; + const double t311 = t147 * t147; + const double t317 = -0.7767222222222222222e-1 * t290 + 0.15534444444444444444e0 * t293 + 0.29011111111111111111e-1 * t296; + const double t325 = piecewise_functor_3( t13, -0.1686e0 * t310 * t311 + 0.843e-1 * t144 * t317, 0.51833333333333333333e-2 * t158 + 0.77777777777777777777e-4 * t304 - 0.43611111111111111112e-3 * t296 ); + const double t326 = t325 - t308; + const double t328 = t326 * t54 * t59; + const double t330 = t155 * t168 * t59; + const double t331 = 0.2e1 * t330; + const double t332 = 0.1e1 / t108; + const double t333 = t160 * t160; + const double t336 = 0.1e1 / t171; + const double t337 = t39 * t336; + const double t339 = -0.2e1 * t158 + 0.2e1 * t337; + const double t343 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.9e1 * t332 * t333 + 0.4e1 / 0.3e1 * t46 * t339 ); + const double t344 = 0.1e1 / t111; + const double t345 = t164 * t164; + const double t348 = -t339; + const double t352 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.9e1 * t344 * t345 + 0.4e1 / 0.3e1 * t51 * t348 ); + const double t353 = t343 + t352; + const double t355 = t38 * t353 * t59; + const double t356 = t63 * t63; + const double t358 = 0.1e1 / t8 / t356; + const double t359 = t62 * t358; + const double t360 = t359 * t104; + const double t361 = t360 * t119; + const double t362 = 0.7e2 / 0.9e1 * t361; + const double t363 = t174 * t210; + const double t364 = t363 * t214; + const double t365 = 0.14e2 / 0.3e1 * t364; + const double t366 = t175 * t217; + const double t367 = 0.14e2 / 0.3e1 * t366; + const double t368 = t175 * t230; + const double t369 = 0.7e1 / 0.3e1 * t368; + const double t371 = 0.1e1 / t178 / t95; + const double t372 = t68 * t371; + const double t373 = t202 * t202; + const double t377 = t97 * t206; + const double t385 = t69 * t292 / 0.9e1 + 0.5e1 / 0.18e2 * t75 * t289; + const double t387 = t189 * t192; + const double t391 = 0.1e1 / t191 / t92; + const double t392 = t83 * t391; + const double t393 = t200 * t200; + const double t402 = t84 * t292 / 0.9e1 + 0.5e1 / 0.18e2 * t87 * t289 + 0.4774648292756860073e4 * mbeta * t336; + const double t404 = -t193 * t402 - 0.2e1 * t387 * t200 + t385 * t93 + 0.2e1 * t392 * t393; + const double t408 = 0.1e1 / t99 / t171; + const double t412 = -0.2e1 * t372 * t181 * t373 - 0.7e1 / 0.3e1 * t180 * t377 * t202 + t180 * t181 * t404 - 0.91e2 / 0.36e2 * t68 * t98 * t408; + const double t413 = t66 * t412; + const double t414 = t413 * t214; + const double t415 = t210 * t210; + const double t416 = t66 * t415; + const double t417 = t416 * t214; + const double t418 = t104 * t202; + const double t419 = t418 * t213; + const double t420 = t211 * t419; + const double t421 = 0.2e1 * t420; + const double t422 = t210 * t104; + const double t423 = t66 * t422; + const double t424 = t423 * t230; + const double t426 = t404 * t116 * t118; + const double t427 = t105 * t426; + const double t428 = t202 * t220; + const double t429 = t428 * t229; + const double t430 = t105 * t429; + const double t431 = t114 * t114; + const double t433 = 0.1e1 / t115 / t431; + const double t434 = t95 * t433; + const double t435 = t228 * t228; + const double t436 = t118 * t435; + const double t437 = t434 * t436; + const double t438 = t105 * t437; + const double t439 = 0.3e1 / 0.4e1 * t438; + const double t440 = 0.1e1 / t46; + const double t446 = piecewise_functor_3( t43, 0.0, 0.1e2 / 0.9e1 * t440 * t333 + 0.5e1 / 0.3e1 * t108 * t339 ); + const double t447 = 0.1e1 / t51; + const double t453 = piecewise_functor_3( t50, 0.0, 0.1e2 / 0.9e1 * t447 * t345 + 0.5e1 / 0.3e1 * t111 * t348 ); + const double t454 = t446 + t453; + const double t455 = t118 * t454; + const double t456 = t221 * t455; + const double t457 = t105 * t456; + const double t458 = t457 / 0.2e1; + const double t459 = t308 + t328 + t331 + t355 + t362 - t365 - t367 + t369 + t414 + t417 + t421 - t424 + t427 - t430 + t439 - t458; + const double t462 = t155 * t243 * t59; + const double t463 = t332 * t235; + const double t466 = t46 * t39; + const double t470 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.9e1 * t463 * t160 + 0.8e1 / 0.3e1 * t466 * t336 ); + const double t471 = t344 * t239; + const double t474 = t51 * t39; + const double t478 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.9e1 * t471 * t164 - 0.8e1 / 0.3e1 * t474 * t336 ); + const double t479 = t470 + t478; + const double t481 = t38 * t479 * t59; + const double t485 = t175 * t254; + const double t487 = t423 * t254; + const double t489 = t428 * t253; + const double t490 = t105 * t489; + const double t492 = t66 * t212; + const double t493 = t433 * t118; + const double t494 = t252 * t228; + const double t495 = t493 * t494; + const double t496 = t492 * t495; + const double t498 = t440 * t235; + const double t501 = t108 * t39; + const double t505 = piecewise_functor_3( t43, 0.0, 0.1e2 / 0.9e1 * t498 * t160 + 0.1e2 / 0.3e1 * t501 * t336 ); + const double t506 = t447 * t239; + const double t509 = t111 * t39; + const double t513 = piecewise_functor_3( t50, 0.0, 0.1e2 / 0.9e1 * t506 * t164 - 0.1e2 / 0.3e1 * t509 * t336 ); + const double t514 = t505 + t513; + const double t515 = t118 * t514; + const double t516 = t221 * t515; + const double t517 = t105 * t516; + const double t519 = t308 + t328 + t330 + t462 + t481 + t362 - t365 - t367 + 0.7e1 / 0.6e1 * t368 + t414 + t417 + t421 - t424 / 0.2e1 + t427 - t430 / 0.2e1 + 0.7e1 / 0.6e1 * t485 - t487 / 0.2e1 - t490 / 0.2e1 + 0.3e1 / 0.4e1 * t496 - t517 / 0.2e1; + const double t522 = 0.2e1 * t462; + const double t523 = t235 * t235; + const double t527 = 0.2e1 * t158 + 0.2e1 * t337; + const double t531 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.9e1 * t332 * t523 + 0.4e1 / 0.3e1 * t46 * t527 ); + const double t532 = t239 * t239; + const double t535 = -t527; + const double t539 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.9e1 * t344 * t532 + 0.4e1 / 0.3e1 * t51 * t535 ); + const double t540 = t531 + t539; + const double t542 = t38 * t540 * t59; + const double t543 = 0.7e1 / 0.3e1 * t485; + const double t544 = t252 * t252; + const double t545 = t118 * t544; + const double t546 = t434 * t545; + const double t547 = t105 * t546; + const double t548 = 0.3e1 / 0.4e1 * t547; + const double t554 = piecewise_functor_3( t43, 0.0, 0.1e2 / 0.9e1 * t440 * t523 + 0.5e1 / 0.3e1 * t108 * t527 ); + const double t560 = piecewise_functor_3( t50, 0.0, 0.1e2 / 0.9e1 * t447 * t532 + 0.5e1 / 0.3e1 * t111 * t535 ); + const double t561 = t554 + t560; + const double t562 = t118 * t561; + const double t563 = t221 * t562; + const double t564 = t105 * t563; + const double t565 = t564 / 0.2e1; + const double t566 = t308 + t328 + t522 + t542 + t362 - t365 - t367 + t543 + t414 + t417 + t421 - t487 + t427 - t490 + t548 - t565; + const double t568 = t173 * t104; + const double t569 = t568 * t119; + const double t570 = 0.7e1 / 0.3e1 * t569; + const double t571 = t65 * t210; + const double t572 = t571 * t104; + const double t573 = t572 * t119; + const double t574 = t259 * t217; + const double t575 = t259 * t95; + const double t576 = t220 * t118; + const double t577 = t576 * t228; + const double t578 = t575 * t577; + const double t579 = t578 / 0.2e1; + const double t581 = 0.1e1 / t261 / t356; + const double t582 = t97 * t581; + const double t584 = t582 * ftilde * t267; + const double t585 = 0.7e1 / 0.4e1 * t584; + const double t586 = t264 * t68; + const double t587 = t422 * t213; + const double t588 = t586 * t587; + const double t589 = t588 / 0.2e1; + const double t590 = t104 * t220; + const double t591 = t590 * t229; + const double t592 = t586 * t591; + const double t593 = t592 / 0.4e1; + const double t596 = 0.14e2 / 0.3e1 * t569; + const double t597 = 0.2e1 * t573; + const double t598 = 0.2e1 * t574; + const double t599 = 0.7e1 / 0.2e1 * t584; + const double t600 = t592 / 0.2e1; + const double t603 = t576 * t252; + const double t604 = t575 * t603; + const double t605 = t604 / 0.2e1; + const double t606 = t590 * t253; + const double t607 = t586 * t606; + const double t608 = t607 / 0.4e1; + const double t611 = t607 / 0.2e1; + const double t614 = t263 * ftilde; + const double t615 = t614 * t67; + const double t616 = 0.1e1 / t97; + const double t617 = t616 * t104; + const double t618 = t617 * t213; + const double t619 = t615 * t618; + const double t620 = 0.3e1 / 0.4e1 * t619; + const double t622 = 0.1e1 / t78 / t356; + const double t624 = t622 * t623; + const double t627 = t96 * t104; + const double t628 = t627 * t213; + const double t629 = t624 * t625 * t628; + const double t630 = t629 / 0.4e1; + const double t632 = 0.3e1 / 0.2e1 * t619; + const double t633 = t629 / 0.2e1; + const double t635 = 0.3e1 * t619; + + + v2rho2_aa = t7 * t459 + 0.2e1 * t170 - t231 + t273 + t274 - t276 + t277 + t278; + v2rho2_ab = t7 * t519 + t170 - t232 + t245 - t256 + t273 + t274 - t276 + t277 + t278; + v2rho2_bb = t7 * t566 + 0.2e1 * t245 - t255 + t273 + t274 - t276 + t277 + t278; + v2rhosigma_a_aa = t260 - t269 + t7 * ( -t570 + t573 + t574 - t579 + t585 - t589 + t593 ); + v2rhosigma_a_ab = t271 - t268 + t7 * ( -t596 + t597 + t598 - t578 + t599 - t588 + t600 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t260 - t269 + t7 * ( -t570 + t573 + t574 - t605 + t585 - t589 + t608 ); + v2rhosigma_b_ab = t271 - t268 + t7 * ( -t596 + t597 + t598 - t604 + t599 - t588 + t611 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t7 * ( -t620 + t630 ); + v2sigma2_aa_ab = t7 * ( -t632 + t633 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t7 * ( -t635 + t629 ); + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t67 = aa + bb; + constexpr double t68 = ftilde * t67; + constexpr double t69 = malpha * t1; + constexpr double t70 = t3 * t6; + constexpr double t74 = t1 * t1; + constexpr double t75 = mbeta * t74; + constexpr double t76 = t3 * t3; + constexpr double t77 = t76 * t5; + constexpr double t84 = mgamma * t1; + constexpr double t87 = mdelta * t74; + constexpr double t623 = ftilde * ftilde; + constexpr double t625 = t67 * t67; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = 0.1e1 + 0.52645e0 * t14 + 0.8335e-1 * t11; + const double t20 = safe_math::log( t12 ); + const double t23 = t4 * t10 * t20; + const double t27 = piecewise_functor_3( t13, -0.1423e0 / t17, 0.311e-1 * t20 - 0.48e-1 + 0.5e-3 * t23 - 0.29e-2 * t11 ); + const double t30 = 0.1e1 + 0.69905e0 * t14 + 0.65275e-1 * t11; + const double t37 = piecewise_functor_3( t13, -0.843e-1 / t30, 0.1555e-1 * t20 - 0.269e-1 + 0.175e-3 * t23 - 0.12e-2 * t11 ); + const double t38 = t37 - t27; + const double t39 = rho_a - rho_b; + const double t40 = 0.1e1 / t7; + const double t41 = t39 * t40; + const double t42 = 0.1e1 + t41; + const double t43 = t42 <= zeta_tol; + const double t44 = safe_math::cbrt( zeta_tol ); + const double t45 = t44 * zeta_tol; + const double t46 = safe_math::cbrt( t42 ); + const double t47 = t46 * t42; + const double t48 = piecewise_functor_3( t43, t45, t47 ); + const double t49 = 0.1e1 - t41; + const double t50 = t49 <= zeta_tol; + const double t51 = safe_math::cbrt( t49 ); + const double t52 = t51 * t49; + const double t53 = piecewise_functor_3( t50, t45, t52 ); + const double t54 = t48 + t53 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t38 * t54 * t59; + const double t62 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t63 = t7 * t7; + const double t65 = 0.1e1 / t8 / t63; + const double t66 = t62 * t65; + const double t71 = t70 * t9; + const double t78 = t8 * t8; + const double t79 = 0.1e1 / t78; + const double t80 = t77 * t79; + const double t83 = bb + t69 * t71 / 0.4e1 + t75 * t80 / 0.4e1; + const double t92 = 0.1e1 + t84 * t71 / 0.4e1 + t87 * t80 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t40; + const double t93 = 0.1e1 / t92; + const double t95 = t83 * t93 + aa; + const double t96 = 0.1e1 / t95; + const double t97 = safe_math::sqrt( t62 ); + const double t98 = t96 * t97; + const double t99 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t101 = 0.1e1 / t99 / t7; + const double t104 = safe_math::exp( -t68 * t98 * t101 ); + const double t105 = t66 * t104; + const double t106 = t44 * t44; + const double t107 = t106 * zeta_tol; + const double t108 = t46 * t46; + const double t109 = t108 * t42; + const double t110 = piecewise_functor_3( t43, t107, t109 ); + const double t111 = t51 * t51; + const double t112 = t111 * t49; + const double t113 = piecewise_functor_3( t50, t107, t112 ); + const double t114 = t110 + t113; + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t118 = M_SQRT2; + const double t119 = t95 * t116 * t118; + const double t120 = t105 * t119; + const double t121 = t17 * t17; + const double t122 = 0.1e1 / t121; + const double t124 = 0.1e1 / t14 * t1; + const double t126 = 0.1e1 / t8 / t7; + const double t127 = t70 * t126; + const double t128 = t124 * t127; + const double t130 = t6 * t126; + const double t131 = t4 * t130; + const double t133 = -0.87741666666666666667e-1 * t128 - 0.27783333333333333333e-1 * t131; + const double t138 = t4 * t130 * t20; + const double t142 = piecewise_functor_3( t13, 0.1423e0 * t122 * t133, -0.10366666666666666667e-1 * t40 - 0.16666666666666666667e-3 * t138 + 0.8e-3 * t131 ); + const double t143 = t30 * t30; + const double t144 = 0.1e1 / t143; + const double t147 = -0.11650833333333333333e0 * t128 - 0.21758333333333333333e-1 * t131; + const double t154 = piecewise_functor_3( t13, 0.843e-1 * t144 * t147, -0.51833333333333333333e-2 * t40 - 0.58333333333333333333e-4 * t138 + 0.34166666666666666667e-3 * t131 ); + const double t155 = t154 - t142; + const double t157 = t155 * t54 * t59; + const double t158 = 0.1e1 / t63; + const double t159 = t39 * t158; + const double t160 = t40 - t159; + const double t163 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.3e1 * t46 * t160 ); + const double t164 = -t160; + const double t167 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.3e1 * t51 * t164 ); + const double t168 = t163 + t167; + const double t170 = t38 * t168 * t59; + const double t171 = t63 * t7; + const double t173 = 0.1e1 / t8 / t171; + const double t174 = t62 * t173; + const double t175 = t174 * t104; + const double t176 = t175 * t119; + const double t177 = 0.7e1 / 0.3e1 * t176; + const double t178 = t95 * t95; + const double t179 = 0.1e1 / t178; + const double t180 = t68 * t179; + const double t181 = t97 * t101; + const double t186 = t77 / t78 / t7; + const double t189 = -t69 * t127 / 0.12e2 - t75 * t186 / 0.6e1; + const double t191 = t92 * t92; + const double t192 = 0.1e1 / t191; + const double t193 = t83 * t192; + const double t200 = -t84 * t127 / 0.12e2 - t87 * t186 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t158; + const double t202 = t189 * t93 - t193 * t200; + const double t206 = 0.1e1 / t99 / t63; + const double t210 = t180 * t181 * t202 + 0.7e1 / 0.6e1 * t68 * t98 * t206; + const double t211 = t66 * t210; + const double t212 = t104 * t95; + const double t213 = t116 * t118; + const double t214 = t212 * t213; + const double t215 = t211 * t214; + const double t216 = t202 * t116; + const double t217 = t216 * t118; + const double t218 = t105 * t217; + const double t220 = 0.1e1 / t115 / t114; + const double t221 = t95 * t220; + const double t224 = piecewise_functor_3( t43, 0.0, 0.5e1 / 0.3e1 * t108 * t160 ); + const double t227 = piecewise_functor_3( t50, 0.0, 0.5e1 / 0.3e1 * t111 * t164 ); + const double t228 = t224 + t227; + const double t229 = t118 * t228; + const double t230 = t221 * t229; + const double t231 = t105 * t230; + const double t232 = t231 / 0.2e1; + const double t235 = -t40 - t159; + const double t238 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.3e1 * t46 * t235 ); + const double t239 = -t235; + const double t242 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.3e1 * t51 * t239 ); + const double t243 = t238 + t242; + const double t245 = t38 * t243 * t59; + const double t248 = piecewise_functor_3( t43, 0.0, 0.5e1 / 0.3e1 * t108 * t235 ); + const double t251 = piecewise_functor_3( t50, 0.0, 0.5e1 / 0.3e1 * t111 * t239 ); + const double t252 = t248 + t251; + const double t253 = t118 * t252; + const double t254 = t221 * t253; + const double t255 = t105 * t254; + const double t256 = t255 / 0.2e1; + const double t259 = t65 * t104; + const double t260 = t259 * t119; + const double t261 = safe_math::sqrt( t7 ); + const double t263 = 0.1e1 / t261 / t171; + const double t264 = t97 * t263; + const double t267 = t67 * t104 * t213; + const double t268 = t264 * ftilde * t267; + const double t269 = t268 / 0.2e1; + const double t271 = 0.2e1 * t260; + const double t273 = 0.2e1 * t142; + const double t274 = 0.2e1 * t157; + const double t276 = 0.14e2 / 0.3e1 * t176; + const double t277 = 0.2e1 * t215; + const double t278 = 0.2e1 * t218; + const double t280 = 0.1e1 / t121 / t17; + const double t281 = t133 * t133; + const double t286 = 0.1e1 / t14 / t11 * t74; + const double t289 = t77 / t78 / t63; + const double t290 = t286 * t289; + const double t292 = t70 * t65; + const double t293 = t124 * t292; + const double t295 = t6 * t65; + const double t296 = t4 * t295; + const double t298 = -0.58494444444444444445e-1 * t290 + 0.11698888888888888889e0 * t293 + 0.37044444444444444444e-1 * t296; + const double t304 = t4 * t295 * t20; + const double t308 = piecewise_functor_3( t13, -0.2846e0 * t280 * t281 + 0.1423e0 * t122 * t298, 0.10366666666666666667e-1 * t158 + 0.22222222222222222223e-3 * t304 - 0.10111111111111111111e-2 * t296 ); + const double t310 = 0.1e1 / t143 / t30; + const double t311 = t147 * t147; + const double t317 = -0.7767222222222222222e-1 * t290 + 0.15534444444444444444e0 * t293 + 0.29011111111111111111e-1 * t296; + const double t325 = piecewise_functor_3( t13, -0.1686e0 * t310 * t311 + 0.843e-1 * t144 * t317, 0.51833333333333333333e-2 * t158 + 0.77777777777777777777e-4 * t304 - 0.43611111111111111112e-3 * t296 ); + const double t326 = t325 - t308; + const double t328 = t326 * t54 * t59; + const double t330 = t155 * t168 * t59; + const double t331 = 0.2e1 * t330; + const double t332 = 0.1e1 / t108; + const double t333 = t160 * t160; + const double t336 = 0.1e1 / t171; + const double t337 = t39 * t336; + const double t339 = -0.2e1 * t158 + 0.2e1 * t337; + const double t343 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.9e1 * t332 * t333 + 0.4e1 / 0.3e1 * t46 * t339 ); + const double t344 = 0.1e1 / t111; + const double t345 = t164 * t164; + const double t348 = -t339; + const double t352 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.9e1 * t344 * t345 + 0.4e1 / 0.3e1 * t51 * t348 ); + const double t353 = t343 + t352; + const double t355 = t38 * t353 * t59; + const double t356 = t63 * t63; + const double t358 = 0.1e1 / t8 / t356; + const double t359 = t62 * t358; + const double t360 = t359 * t104; + const double t361 = t360 * t119; + const double t362 = 0.7e2 / 0.9e1 * t361; + const double t363 = t174 * t210; + const double t364 = t363 * t214; + const double t365 = 0.14e2 / 0.3e1 * t364; + const double t366 = t175 * t217; + const double t367 = 0.14e2 / 0.3e1 * t366; + const double t368 = t175 * t230; + const double t369 = 0.7e1 / 0.3e1 * t368; + const double t371 = 0.1e1 / t178 / t95; + const double t372 = t68 * t371; + const double t373 = t202 * t202; + const double t377 = t97 * t206; + const double t385 = t69 * t292 / 0.9e1 + 0.5e1 / 0.18e2 * t75 * t289; + const double t387 = t189 * t192; + const double t391 = 0.1e1 / t191 / t92; + const double t392 = t83 * t391; + const double t393 = t200 * t200; + const double t402 = t84 * t292 / 0.9e1 + 0.5e1 / 0.18e2 * t87 * t289 + 0.4774648292756860073e4 * mbeta * t336; + const double t404 = -t193 * t402 - 0.2e1 * t387 * t200 + t385 * t93 + 0.2e1 * t392 * t393; + const double t408 = 0.1e1 / t99 / t171; + const double t412 = -0.2e1 * t372 * t181 * t373 - 0.7e1 / 0.3e1 * t180 * t377 * t202 + t180 * t181 * t404 - 0.91e2 / 0.36e2 * t68 * t98 * t408; + const double t413 = t66 * t412; + const double t414 = t413 * t214; + const double t415 = t210 * t210; + const double t416 = t66 * t415; + const double t417 = t416 * t214; + const double t418 = t104 * t202; + const double t419 = t418 * t213; + const double t420 = t211 * t419; + const double t421 = 0.2e1 * t420; + const double t422 = t210 * t104; + const double t423 = t66 * t422; + const double t424 = t423 * t230; + const double t426 = t404 * t116 * t118; + const double t427 = t105 * t426; + const double t428 = t202 * t220; + const double t429 = t428 * t229; + const double t430 = t105 * t429; + const double t431 = t114 * t114; + const double t433 = 0.1e1 / t115 / t431; + const double t434 = t95 * t433; + const double t435 = t228 * t228; + const double t436 = t118 * t435; + const double t437 = t434 * t436; + const double t438 = t105 * t437; + const double t439 = 0.3e1 / 0.4e1 * t438; + const double t440 = 0.1e1 / t46; + const double t446 = piecewise_functor_3( t43, 0.0, 0.1e2 / 0.9e1 * t440 * t333 + 0.5e1 / 0.3e1 * t108 * t339 ); + const double t447 = 0.1e1 / t51; + const double t453 = piecewise_functor_3( t50, 0.0, 0.1e2 / 0.9e1 * t447 * t345 + 0.5e1 / 0.3e1 * t111 * t348 ); + const double t454 = t446 + t453; + const double t455 = t118 * t454; + const double t456 = t221 * t455; + const double t457 = t105 * t456; + const double t458 = t457 / 0.2e1; + const double t459 = t308 + t328 + t331 + t355 + t362 - t365 - t367 + t369 + t414 + t417 + t421 - t424 + t427 - t430 + t439 - t458; + const double t462 = t155 * t243 * t59; + const double t463 = t332 * t235; + const double t466 = t46 * t39; + const double t470 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.9e1 * t463 * t160 + 0.8e1 / 0.3e1 * t466 * t336 ); + const double t471 = t344 * t239; + const double t474 = t51 * t39; + const double t478 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.9e1 * t471 * t164 - 0.8e1 / 0.3e1 * t474 * t336 ); + const double t479 = t470 + t478; + const double t481 = t38 * t479 * t59; + const double t485 = t175 * t254; + const double t487 = t423 * t254; + const double t489 = t428 * t253; + const double t490 = t105 * t489; + const double t492 = t66 * t212; + const double t493 = t433 * t118; + const double t494 = t252 * t228; + const double t495 = t493 * t494; + const double t496 = t492 * t495; + const double t498 = t440 * t235; + const double t501 = t108 * t39; + const double t505 = piecewise_functor_3( t43, 0.0, 0.1e2 / 0.9e1 * t498 * t160 + 0.1e2 / 0.3e1 * t501 * t336 ); + const double t506 = t447 * t239; + const double t509 = t111 * t39; + const double t513 = piecewise_functor_3( t50, 0.0, 0.1e2 / 0.9e1 * t506 * t164 - 0.1e2 / 0.3e1 * t509 * t336 ); + const double t514 = t505 + t513; + const double t515 = t118 * t514; + const double t516 = t221 * t515; + const double t517 = t105 * t516; + const double t519 = t308 + t328 + t330 + t462 + t481 + t362 - t365 - t367 + 0.7e1 / 0.6e1 * t368 + t414 + t417 + t421 - t424 / 0.2e1 + t427 - t430 / 0.2e1 + 0.7e1 / 0.6e1 * t485 - t487 / 0.2e1 - t490 / 0.2e1 + 0.3e1 / 0.4e1 * t496 - t517 / 0.2e1; + const double t522 = 0.2e1 * t462; + const double t523 = t235 * t235; + const double t527 = 0.2e1 * t158 + 0.2e1 * t337; + const double t531 = piecewise_functor_3( t43, 0.0, 0.4e1 / 0.9e1 * t332 * t523 + 0.4e1 / 0.3e1 * t46 * t527 ); + const double t532 = t239 * t239; + const double t535 = -t527; + const double t539 = piecewise_functor_3( t50, 0.0, 0.4e1 / 0.9e1 * t344 * t532 + 0.4e1 / 0.3e1 * t51 * t535 ); + const double t540 = t531 + t539; + const double t542 = t38 * t540 * t59; + const double t543 = 0.7e1 / 0.3e1 * t485; + const double t544 = t252 * t252; + const double t545 = t118 * t544; + const double t546 = t434 * t545; + const double t547 = t105 * t546; + const double t548 = 0.3e1 / 0.4e1 * t547; + const double t554 = piecewise_functor_3( t43, 0.0, 0.1e2 / 0.9e1 * t440 * t523 + 0.5e1 / 0.3e1 * t108 * t527 ); + const double t560 = piecewise_functor_3( t50, 0.0, 0.1e2 / 0.9e1 * t447 * t532 + 0.5e1 / 0.3e1 * t111 * t535 ); + const double t561 = t554 + t560; + const double t562 = t118 * t561; + const double t563 = t221 * t562; + const double t564 = t105 * t563; + const double t565 = t564 / 0.2e1; + const double t566 = t308 + t328 + t522 + t542 + t362 - t365 - t367 + t543 + t414 + t417 + t421 - t487 + t427 - t490 + t548 - t565; + const double t568 = t173 * t104; + const double t569 = t568 * t119; + const double t570 = 0.7e1 / 0.3e1 * t569; + const double t571 = t65 * t210; + const double t572 = t571 * t104; + const double t573 = t572 * t119; + const double t574 = t259 * t217; + const double t575 = t259 * t95; + const double t576 = t220 * t118; + const double t577 = t576 * t228; + const double t578 = t575 * t577; + const double t579 = t578 / 0.2e1; + const double t581 = 0.1e1 / t261 / t356; + const double t582 = t97 * t581; + const double t584 = t582 * ftilde * t267; + const double t585 = 0.7e1 / 0.4e1 * t584; + const double t586 = t264 * t68; + const double t587 = t422 * t213; + const double t588 = t586 * t587; + const double t589 = t588 / 0.2e1; + const double t590 = t104 * t220; + const double t591 = t590 * t229; + const double t592 = t586 * t591; + const double t593 = t592 / 0.4e1; + const double t596 = 0.14e2 / 0.3e1 * t569; + const double t597 = 0.2e1 * t573; + const double t598 = 0.2e1 * t574; + const double t599 = 0.7e1 / 0.2e1 * t584; + const double t600 = t592 / 0.2e1; + const double t603 = t576 * t252; + const double t604 = t575 * t603; + const double t605 = t604 / 0.2e1; + const double t606 = t590 * t253; + const double t607 = t586 * t606; + const double t608 = t607 / 0.4e1; + const double t611 = t607 / 0.2e1; + const double t614 = t263 * ftilde; + const double t615 = t614 * t67; + const double t616 = 0.1e1 / t97; + const double t617 = t616 * t104; + const double t618 = t617 * t213; + const double t619 = t615 * t618; + const double t620 = 0.3e1 / 0.4e1 * t619; + const double t622 = 0.1e1 / t78 / t356; + const double t624 = t622 * t623; + const double t627 = t96 * t104; + const double t628 = t627 * t213; + const double t629 = t624 * t625 * t628; + const double t630 = t629 / 0.4e1; + const double t632 = 0.3e1 / 0.2e1 * t619; + const double t633 = t629 / 0.2e1; + const double t635 = 0.3e1 * t619; + + + vrho_a = t27 + t60 + t120 + t7 * ( t142 + t157 + t170 - t177 + t215 + t218 - t232 ); + vrho_b = t27 + t60 + t120 + t7 * ( t142 + t157 + t245 - t177 + t215 + t218 - t256 ); + vsigma_aa = t7 * ( t260 - t269 ); + vsigma_ab = t7 * ( t271 - t268 ); + vsigma_bb = vsigma_aa; + v2rho2_aa = t7 * t459 + 0.2e1 * t170 - t231 + t273 + t274 - t276 + t277 + t278; + v2rho2_ab = t7 * t519 + t170 - t232 + t245 - t256 + t273 + t274 - t276 + t277 + t278; + v2rho2_bb = t7 * t566 + 0.2e1 * t245 - t255 + t273 + t274 - t276 + t277 + t278; + v2rhosigma_a_aa = t260 - t269 + t7 * ( -t570 + t573 + t574 - t579 + t585 - t589 + t593 ); + v2rhosigma_a_ab = t271 - t268 + t7 * ( -t596 + t597 + t598 - t578 + t599 - t588 + t600 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t260 - t269 + t7 * ( -t570 + t573 + t574 - t605 + t585 - t589 + t608 ); + v2rhosigma_b_ab = t271 - t268 + t7 * ( -t596 + t597 + t598 - t604 + t599 - t588 + t611 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t7 * ( -t620 + t630 ); + v2sigma2_aa_ab = t7 * ( -t632 + t633 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t7 * ( -t635 + t629 ); + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + +}; + +struct BuiltinP86_C : detail::BuiltinKernelImpl< BuiltinP86_C > { + + BuiltinP86_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinP86_C >(p) { } + + virtual ~BuiltinP86_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/p86vwn_ft_c.hpp b/include/exchcxx/impl/builtin/kernels/p86vwn_ft_c.hpp new file mode 100644 index 0000000..e7ac1e3 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/p86vwn_ft_c.hpp @@ -0,0 +1,2793 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinP86VWN_FT_C > : + public gga_screening_interface< BuiltinP86VWN_FT_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double malpha = 0.023266; + static constexpr double mbeta = 7.389e-6; + static constexpr double mgamma = 8.723; + static constexpr double mdelta = 0.472; + static constexpr double aa = 0.001667; + static constexpr double bb = 0.002568; + static constexpr double ftilde = 1.7454151061251239789*0.11; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + constexpr double t72 = aa + bb; + constexpr double t73 = ftilde * t72; + constexpr double t74 = malpha * t1; + constexpr double t75 = t3 * t6; + constexpr double t79 = t1 * t1; + constexpr double t80 = mbeta * t79; + constexpr double t81 = t3 * t3; + constexpr double t82 = t81 * t5; + constexpr double t89 = mgamma * t1; + constexpr double t92 = mdelta * t79; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t40 = safe_math::log( t4 * t9 * t36 / 0.4e1 ); + const double t41 = t12 + 0.113107e1; + const double t44 = safe_math::atan( 0.71231089178181179908e1 / t41 ); + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t36 ); + const double t53 = 0.1e1 <= zeta_tol; + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( t53, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t67 = t33 * ( t40 + 0.317708004743941464e0 * t44 + 0.41403379428206274608e-3 * t49 ) * t65 / 0.24e2; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t71 = sigma * t70; + const double t76 = t75 * t8; + const double t83 = t7 * t7; + const double t84 = 0.1e1 / t83; + const double t85 = t82 * t84; + const double t88 = bb + t74 * t76 / 0.4e1 + t80 * t85 / 0.4e1; + const double t95 = 0.1e1 / rho; + const double t98 = 0.1e1 + t89 * t76 / 0.4e1 + t92 * t85 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t95; + const double t99 = 0.1e1 / t98; + const double t101 = t88 * t99 + aa; + const double t102 = 0.1e1 / t101; + const double t103 = safe_math::sqrt( sigma ); + const double t104 = t102 * t103; + const double t105 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t107 = 0.1e1 / t105 / rho; + const double t110 = safe_math::exp( -t73 * t104 * t107 ); + const double t112 = t54 * t54; + const double t114 = piecewise_functor_3( t53, t112 * zeta_tol, 1.0 ); + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t117 = t110 * t101 * t116; + const double t118 = t71 * t117; + + + eps = t20 + t25 + t31 - t67 + t118; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + constexpr double t72 = aa + bb; + constexpr double t73 = ftilde * t72; + constexpr double t74 = malpha * t1; + constexpr double t75 = t3 * t6; + constexpr double t79 = t1 * t1; + constexpr double t80 = mbeta * t79; + constexpr double t81 = t3 * t3; + constexpr double t82 = t81 * t5; + constexpr double t89 = mgamma * t1; + constexpr double t92 = mdelta * t79; + constexpr double t125 = t4 * t6; + constexpr double t142 = 0.1e1 / t3; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t40 = safe_math::log( t4 * t9 * t36 / 0.4e1 ); + const double t41 = t12 + 0.113107e1; + const double t44 = safe_math::atan( 0.71231089178181179908e1 / t41 ); + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t36 ); + const double t53 = 0.1e1 <= zeta_tol; + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( t53, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t67 = t33 * ( t40 + 0.317708004743941464e0 * t44 + 0.41403379428206274608e-3 * t49 ) * t65 / 0.24e2; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t71 = sigma * t70; + const double t76 = t75 * t8; + const double t83 = t7 * t7; + const double t84 = 0.1e1 / t83; + const double t85 = t82 * t84; + const double t88 = bb + t74 * t76 / 0.4e1 + t80 * t85 / 0.4e1; + const double t95 = 0.1e1 / rho; + const double t98 = 0.1e1 + t89 * t76 / 0.4e1 + t92 * t85 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t95; + const double t99 = 0.1e1 / t98; + const double t101 = t88 * t99 + aa; + const double t102 = 0.1e1 / t101; + const double t103 = safe_math::sqrt( sigma ); + const double t104 = t102 * t103; + const double t105 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t107 = 0.1e1 / t105 / rho; + const double t110 = safe_math::exp( -t73 * t104 * t107 ); + const double t112 = t54 * t54; + const double t114 = piecewise_functor_3( t53, t112 * zeta_tol, 1.0 ); + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t117 = t110 * t101 * t116; + const double t118 = t71 * t117; + const double t120 = 0.1e1 / t7 / rho; + const double t121 = t6 * t120; + const double t126 = t14 * t14; + const double t127 = 0.1e1 / t126; + const double t128 = t8 * t127; + const double t129 = t4 * t121; + const double t130 = t129 / 0.12e2; + const double t131 = 0.1e1 / t12; + const double t132 = t131 * t1; + const double t133 = t75 * t120; + const double t134 = t132 * t133; + const double t136 = -t130 - 0.31062e0 * t134; + const double t143 = ( -t4 * t121 * t15 / 0.12e2 - t125 * t128 * t136 / 0.4e1 ) * t79 * t142; + const double t144 = t5 * t7; + const double t145 = t144 * t14; + const double t146 = t143 * t145; + const double t148 = t21 * t21; + const double t149 = 0.1e1 / t148; + const double t151 = t149 * t131 * t1; + const double t153 = 0.378469910464e2 * t149 + 0.1e1; + const double t154 = 0.1e1 / t153; + const double t157 = t151 * t75 * t120 * t154; + const double t159 = t27 * t15; + const double t160 = t159 * t131; + const double t163 = t28 * t127; + const double t165 = -t160 * t129 / 0.6e1 - t163 * t136; + const double t166 = 0.1e1 / t28; + const double t167 = t165 * t166; + const double t168 = t167 * t14; + const double t173 = t35 * t35; + const double t174 = 0.1e1 / t173; + const double t175 = t8 * t174; + const double t177 = -t130 - 0.94255833333333333334e-1 * t134; + const double t183 = ( -t4 * t121 * t36 / 0.12e2 - t125 * t175 * t177 / 0.4e1 ) * t79 * t142; + const double t184 = t144 * t35; + const double t187 = t41 * t41; + const double t188 = 0.1e1 / t187; + const double t190 = t188 * t131 * t1; + const double t192 = 0.50738680655100000001e2 * t188 + 0.1e1; + const double t193 = 0.1e1 / t192; + const double t198 = t46 * t36; + const double t199 = t198 * t131; + const double t202 = t47 * t174; + const double t204 = -t199 * t129 / 0.6e1 - t202 * t177; + const double t205 = 0.1e1 / t47; + const double t206 = t204 * t205; + const double t211 = t33 * ( t183 * t184 / 0.3e1 + 0.37717812030896172975e0 * t190 * t75 * t120 * t193 + 0.41403379428206274608e-3 * t206 * t35 ) * t65; + const double t213 = t68 * rho; + const double t215 = 0.1e1 / t7 / t213; + const double t216 = sigma * t215; + const double t217 = t216 * t117; + const double t219 = t101 * t101; + const double t220 = 0.1e1 / t219; + const double t221 = t73 * t220; + const double t222 = t103 * t107; + const double t226 = 0.1e1 / t83 / rho; + const double t227 = t82 * t226; + const double t230 = -t74 * t133 / 0.12e2 - t80 * t227 / 0.6e1; + const double t232 = t98 * t98; + const double t233 = 0.1e1 / t232; + const double t234 = t88 * t233; + const double t242 = -t89 * t133 / 0.12e2 - t92 * t227 / 0.6e1 - 0.23873241463784300365e4 * mbeta / t68; + const double t244 = t230 * t99 - t234 * t242; + const double t248 = 0.1e1 / t105 / t68; + const double t252 = t221 * t222 * t244 + 0.7e1 / 0.6e1 * t73 * t104 * t248; + const double t253 = t71 * t252; + const double t254 = t253 * t117; + const double t256 = t110 * t244 * t116; + const double t257 = t71 * t256; + const double t260 = t70 * t110; + const double t261 = t101 * t116; + const double t262 = t260 * t261; + const double t263 = safe_math::sqrt( rho ); + const double t265 = 0.1e1 / t263 / t213; + const double t266 = t103 * t265; + const double t267 = t266 * ftilde; + const double t269 = t72 * t110 * t116; + const double t271 = t267 * t269 / 0.2e1; + + + eps = t20 + t25 + t31 - t67 + t118; + vrho = t20 + t25 + t31 - t67 + t118 + rho * ( 0.10363566666666666667e-1 * t146 + 0.39765745675026770179e-1 * t157 + 0.96902277115443742139e-3 * t168 - t211 / 0.24e2 - 0.7e1 / 0.3e1 * t217 + t254 + t257 ); + vsigma = rho * ( t262 - t271 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + constexpr double t72 = aa + bb; + constexpr double t73 = ftilde * t72; + constexpr double t74 = malpha * t1; + constexpr double t75 = t3 * t6; + constexpr double t79 = t1 * t1; + constexpr double t80 = mbeta * t79; + constexpr double t81 = t3 * t3; + constexpr double t82 = t81 * t5; + constexpr double t89 = mgamma * t1; + constexpr double t92 = mdelta * t79; + constexpr double t125 = t4 * t6; + constexpr double t142 = 0.1e1 / t3; + constexpr double t359 = t79 * t81; + constexpr double t570 = ftilde * ftilde; + constexpr double t572 = t72 * t72; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t21 = t12 + 0.372744e1; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t41 = t12 + 0.113107e1; + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t53 = 0.1e1 <= zeta_tol; + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( t53, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t71 = sigma * t70; + const double t76 = t75 * t8; + const double t83 = t7 * t7; + const double t84 = 0.1e1 / t83; + const double t85 = t82 * t84; + const double t88 = bb + t74 * t76 / 0.4e1 + t80 * t85 / 0.4e1; + const double t95 = 0.1e1 / rho; + const double t98 = 0.1e1 + t89 * t76 / 0.4e1 + t92 * t85 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t95; + const double t99 = 0.1e1 / t98; + const double t101 = t88 * t99 + aa; + const double t102 = 0.1e1 / t101; + const double t103 = safe_math::sqrt( sigma ); + const double t104 = t102 * t103; + const double t105 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t107 = 0.1e1 / t105 / rho; + const double t110 = safe_math::exp( -t73 * t104 * t107 ); + const double t112 = t54 * t54; + const double t114 = piecewise_functor_3( t53, t112 * zeta_tol, 1.0 ); + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t117 = t110 * t101 * t116; + const double t120 = 0.1e1 / t7 / rho; + const double t121 = t6 * t120; + const double t126 = t14 * t14; + const double t127 = 0.1e1 / t126; + const double t128 = t8 * t127; + const double t129 = t4 * t121; + const double t130 = t129 / 0.12e2; + const double t131 = 0.1e1 / t12; + const double t132 = t131 * t1; + const double t133 = t75 * t120; + const double t134 = t132 * t133; + const double t136 = -t130 - 0.31062e0 * t134; + const double t143 = ( -t4 * t121 * t15 / 0.12e2 - t125 * t128 * t136 / 0.4e1 ) * t79 * t142; + const double t144 = t5 * t7; + const double t145 = t144 * t14; + const double t146 = t143 * t145; + const double t148 = t21 * t21; + const double t149 = 0.1e1 / t148; + const double t151 = t149 * t131 * t1; + const double t153 = 0.378469910464e2 * t149 + 0.1e1; + const double t154 = 0.1e1 / t153; + const double t157 = t151 * t75 * t120 * t154; + const double t159 = t27 * t15; + const double t160 = t159 * t131; + const double t163 = t28 * t127; + const double t165 = -t160 * t129 / 0.6e1 - t163 * t136; + const double t166 = 0.1e1 / t28; + const double t167 = t165 * t166; + const double t168 = t167 * t14; + const double t173 = t35 * t35; + const double t174 = 0.1e1 / t173; + const double t175 = t8 * t174; + const double t177 = -t130 - 0.94255833333333333334e-1 * t134; + const double t183 = ( -t4 * t121 * t36 / 0.12e2 - t125 * t175 * t177 / 0.4e1 ) * t79 * t142; + const double t184 = t144 * t35; + const double t187 = t41 * t41; + const double t188 = 0.1e1 / t187; + const double t190 = t188 * t131 * t1; + const double t192 = 0.50738680655100000001e2 * t188 + 0.1e1; + const double t193 = 0.1e1 / t192; + const double t198 = t46 * t36; + const double t199 = t198 * t131; + const double t202 = t47 * t174; + const double t204 = -t199 * t129 / 0.6e1 - t202 * t177; + const double t205 = 0.1e1 / t47; + const double t206 = t204 * t205; + const double t211 = t33 * ( t183 * t184 / 0.3e1 + 0.37717812030896172975e0 * t190 * t75 * t120 * t193 + 0.41403379428206274608e-3 * t206 * t35 ) * t65; + const double t213 = t68 * rho; + const double t215 = 0.1e1 / t7 / t213; + const double t216 = sigma * t215; + const double t217 = t216 * t117; + const double t219 = t101 * t101; + const double t220 = 0.1e1 / t219; + const double t221 = t73 * t220; + const double t222 = t103 * t107; + const double t226 = 0.1e1 / t83 / rho; + const double t227 = t82 * t226; + const double t230 = -t74 * t133 / 0.12e2 - t80 * t227 / 0.6e1; + const double t232 = t98 * t98; + const double t233 = 0.1e1 / t232; + const double t234 = t88 * t233; + const double t242 = -t89 * t133 / 0.12e2 - t92 * t227 / 0.6e1 - 0.23873241463784300365e4 * mbeta / t68; + const double t244 = t230 * t99 - t234 * t242; + const double t248 = 0.1e1 / t105 / t68; + const double t252 = t221 * t222 * t244 + 0.7e1 / 0.6e1 * t73 * t104 * t248; + const double t253 = t71 * t252; + const double t254 = t253 * t117; + const double t256 = t110 * t244 * t116; + const double t257 = t71 * t256; + const double t260 = t70 * t110; + const double t261 = t101 * t116; + const double t262 = t260 * t261; + const double t263 = safe_math::sqrt( rho ); + const double t265 = 0.1e1 / t263 / t213; + const double t266 = t103 * t265; + const double t267 = t266 * ftilde; + const double t269 = t72 * t110 * t116; + const double t271 = t267 * t269 / 0.2e1; + const double t280 = t6 * t70; + const double t282 = t4 * t280 * t15; + const double t284 = t120 * t127; + const double t289 = 0.1e1 / t126 / t14; + const double t290 = t8 * t289; + const double t291 = t136 * t136; + const double t295 = t4 * t280; + const double t296 = t295 / 0.9e1; + const double t298 = 0.1e1 / t12 / t10; + const double t299 = t298 * t79; + const double t301 = 0.1e1 / t83 / t68; + const double t302 = t82 * t301; + const double t303 = t299 * t302; + const double t305 = t75 * t70; + const double t306 = t132 * t305; + const double t308 = t296 - 0.20708e0 * t303 + 0.41416e0 * t306; + const double t314 = ( t282 / 0.9e1 + t125 * t284 * t136 / 0.6e1 + t125 * t290 * t291 / 0.2e1 - t125 * t128 * t308 / 0.4e1 ) * t79 * t142; + const double t315 = t314 * t145; + const double t317 = t5 * t84; + const double t318 = t317 * t14; + const double t319 = t143 * t318; + const double t321 = t144 * t136; + const double t322 = t143 * t321; + const double t324 = t148 * t21; + const double t325 = 0.1e1 / t324; + const double t326 = t325 * t1; + const double t327 = t326 * t3; + const double t329 = t327 * t280 * t154; + const double t332 = t149 * t298 * t79; + const double t335 = t332 * t82 * t301 * t154; + const double t339 = t151 * t75 * t70 * t154; + const double t341 = t148 * t148; + const double t343 = 0.1e1 / t341 / t21; + const double t344 = t343 * t1; + const double t345 = t344 * t3; + const double t346 = t153 * t153; + const double t347 = 0.1e1 / t346; + const double t349 = t345 * t280 * t347; + const double t352 = t27 * t127; + const double t353 = t352 * t132; + const double t354 = t120 * t136; + const double t358 = t159 * t298; + const double t360 = t5 * t301; + const double t361 = t359 * t360; + const double t366 = t28 * t289; + const double t370 = t282 / 0.72e2 + t353 * t75 * t354 / 0.3e1 - t358 * t361 / 0.9e1 + 0.2e1 / 0.9e1 * t160 * t295 + 0.2e1 * t366 * t291 - t163 * t308; + const double t371 = t370 * t166; + const double t372 = t371 * t14; + const double t375 = 0.1e1 / t28 / t27; + const double t376 = t165 * t375; + const double t377 = t14 * t131; + const double t378 = t376 * t377; + const double t379 = t378 * t129; + const double t381 = t167 * t136; + const double t384 = t4 * t280 * t36; + const double t386 = t120 * t174; + const double t391 = 0.1e1 / t173 / t35; + const double t392 = t8 * t391; + const double t393 = t177 * t177; + const double t399 = t296 - 0.62837222222222222223e-1 * t303 + 0.12567444444444444445e0 * t306; + const double t405 = ( t384 / 0.9e1 + t125 * t386 * t177 / 0.6e1 + t125 * t392 * t393 / 0.2e1 - t125 * t175 * t399 / 0.4e1 ) * t79 * t142; + const double t408 = t317 * t35; + const double t411 = t144 * t177; + const double t414 = t187 * t41; + const double t415 = 0.1e1 / t414; + const double t416 = t415 * t1; + const double t417 = t416 * t3; + const double t422 = t188 * t298 * t79; + const double t431 = t187 * t187; + const double t433 = 0.1e1 / t431 / t41; + const double t434 = t433 * t1; + const double t435 = t434 * t3; + const double t436 = t192 * t192; + const double t437 = 0.1e1 / t436; + const double t442 = t46 * t174; + const double t443 = t442 * t132; + const double t444 = t120 * t177; + const double t448 = t198 * t298; + const double t453 = t47 * t391; + const double t457 = t384 / 0.72e2 + t443 * t75 * t444 / 0.3e1 - t448 * t361 / 0.9e1 + 0.2e1 / 0.9e1 * t199 * t295 + 0.2e1 * t453 * t393 - t202 * t399; + const double t458 = t457 * t205; + const double t462 = 0.1e1 / t47 / t46; + const double t463 = t204 * t462; + const double t464 = t35 * t131; + const double t465 = t463 * t464; + const double t472 = t33 * ( t405 * t184 / 0.3e1 + t183 * t408 / 0.9e1 + t183 * t411 / 0.3e1 + 0.12572604010298724325e0 * t417 * t280 * t193 + 0.2514520802059744865e0 * t422 * t82 * t301 * t193 - 0.502904160411948973e0 * t190 * t75 * t70 * t193 - 0.63791733988157656508e1 * t435 * t280 * t437 + 0.41403379428206274608e-3 * t458 * t35 + 0.69005632380343791013e-4 * t465 * t129 + 0.41403379428206274608e-3 * t206 * t177 ) * t65; + const double t474 = t68 * t68; + const double t476 = 0.1e1 / t7 / t474; + const double t477 = sigma * t476; + const double t478 = t477 * t117; + const double t480 = t216 * t252; + const double t481 = t480 * t117; + const double t483 = t216 * t256; + const double t486 = 0.1e1 / t219 / t101; + const double t487 = t73 * t486; + const double t488 = t244 * t244; + const double t492 = t103 * t248; + const double t500 = t74 * t305 / 0.9e1 + 0.5e1 / 0.18e2 * t80 * t302; + const double t502 = t230 * t233; + const double t506 = 0.1e1 / t232 / t98; + const double t507 = t88 * t506; + const double t508 = t242 * t242; + const double t518 = t89 * t305 / 0.9e1 + 0.5e1 / 0.18e2 * t92 * t302 + 0.4774648292756860073e4 * mbeta / t213; + const double t520 = -t234 * t518 - 0.2e1 * t502 * t242 + t500 * t99 + 0.2e1 * t507 * t508; + const double t524 = 0.1e1 / t105 / t213; + const double t528 = -0.2e1 * t487 * t222 * t488 - 0.7e1 / 0.3e1 * t221 * t492 * t244 + t221 * t222 * t520 - 0.91e2 / 0.36e2 * t73 * t104 * t524; + const double t529 = t71 * t528; + const double t530 = t529 * t117; + const double t531 = t252 * t252; + const double t532 = t71 * t531; + const double t533 = t532 * t117; + const double t534 = t253 * t256; + const double t537 = t110 * t520 * t116; + const double t538 = t71 * t537; + const double t539 = 0.10363566666666666667e-1 * t315 + 0.34545222222222222223e-2 * t319 + 0.10363566666666666667e-1 * t322 + 0.13255248558342256726e-1 * t329 + 0.26510497116684513453e-1 * t335 - 0.53020994233369026905e-1 * t339 - 0.50167127350538589834e0 * t349 + 0.96902277115443742139e-3 * t372 + 0.1615037951924062369e-3 * t379 + 0.96902277115443742139e-3 * t381 - t472 / 0.24e2 + 0.7e2 / 0.9e1 * t478 - 0.14e2 / 0.3e1 * t481 - 0.14e2 / 0.3e1 * t483 + t530 + t533 + 0.2e1 * t534 + t538; + const double t541 = t215 * t110; + const double t542 = t541 * t261; + const double t544 = t70 * t252; + const double t545 = t544 * t117; + const double t546 = t244 * t116; + const double t547 = t260 * t546; + const double t549 = 0.1e1 / t263 / t474; + const double t551 = t103 * t549 * ftilde; + const double t552 = t551 * t269; + const double t555 = t110 * t116; + const double t556 = t72 * t252 * t555; + const double t557 = t267 * t556; + const double t562 = t265 * ftilde * t72; + const double t563 = 0.1e1 / t103; + const double t564 = t563 * t110; + const double t565 = t564 * t116; + const double t567 = 0.3e1 / 0.4e1 * t562 * t565; + const double t569 = 0.1e1 / t83 / t474; + const double t571 = t569 * t570; + const double t573 = t571 * t572; + const double t575 = t102 * t110 * t116; + const double t577 = t573 * t575 / 0.4e1; + + + v2rho2 = 0.20727133333333333334e-1 * t146 + 0.79531491350053540358e-1 * t157 + 0.19380455423088748428e-2 * t168 - t211 / 0.12e2 - 0.14e2 / 0.3e1 * t217 + 0.2e1 * t254 + 0.2e1 * t257 + rho * t539; + v2rhosigma = t262 - t271 + rho * ( -0.7e1 / 0.3e1 * t542 + t545 + t547 + 0.7e1 / 0.4e1 * t552 - t557 / 0.2e1 ); + v2sigma2 = rho * ( -t567 + t577 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + constexpr double t72 = aa + bb; + constexpr double t73 = ftilde * t72; + constexpr double t74 = malpha * t1; + constexpr double t75 = t3 * t6; + constexpr double t79 = t1 * t1; + constexpr double t80 = mbeta * t79; + constexpr double t81 = t3 * t3; + constexpr double t82 = t81 * t5; + constexpr double t89 = mgamma * t1; + constexpr double t92 = mdelta * t79; + constexpr double t125 = t4 * t6; + constexpr double t142 = 0.1e1 / t3; + constexpr double t359 = t79 * t81; + constexpr double t570 = ftilde * ftilde; + constexpr double t572 = t72 * t72; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t40 = safe_math::log( t4 * t9 * t36 / 0.4e1 ); + const double t41 = t12 + 0.113107e1; + const double t44 = safe_math::atan( 0.71231089178181179908e1 / t41 ); + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t36 ); + const double t53 = 0.1e1 <= zeta_tol; + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( t53, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t67 = t33 * ( t40 + 0.317708004743941464e0 * t44 + 0.41403379428206274608e-3 * t49 ) * t65 / 0.24e2; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t71 = sigma * t70; + const double t76 = t75 * t8; + const double t83 = t7 * t7; + const double t84 = 0.1e1 / t83; + const double t85 = t82 * t84; + const double t88 = bb + t74 * t76 / 0.4e1 + t80 * t85 / 0.4e1; + const double t95 = 0.1e1 / rho; + const double t98 = 0.1e1 + t89 * t76 / 0.4e1 + t92 * t85 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t95; + const double t99 = 0.1e1 / t98; + const double t101 = t88 * t99 + aa; + const double t102 = 0.1e1 / t101; + const double t103 = safe_math::sqrt( sigma ); + const double t104 = t102 * t103; + const double t105 = safe_math::pow( rho, 0.1e1 / 0.6e1 ); + const double t107 = 0.1e1 / t105 / rho; + const double t110 = safe_math::exp( -t73 * t104 * t107 ); + const double t112 = t54 * t54; + const double t114 = piecewise_functor_3( t53, t112 * zeta_tol, 1.0 ); + const double t115 = safe_math::sqrt( t114 ); + const double t116 = 0.1e1 / t115; + const double t117 = t110 * t101 * t116; + const double t118 = t71 * t117; + const double t120 = 0.1e1 / t7 / rho; + const double t121 = t6 * t120; + const double t126 = t14 * t14; + const double t127 = 0.1e1 / t126; + const double t128 = t8 * t127; + const double t129 = t4 * t121; + const double t130 = t129 / 0.12e2; + const double t131 = 0.1e1 / t12; + const double t132 = t131 * t1; + const double t133 = t75 * t120; + const double t134 = t132 * t133; + const double t136 = -t130 - 0.31062e0 * t134; + const double t143 = ( -t4 * t121 * t15 / 0.12e2 - t125 * t128 * t136 / 0.4e1 ) * t79 * t142; + const double t144 = t5 * t7; + const double t145 = t144 * t14; + const double t146 = t143 * t145; + const double t148 = t21 * t21; + const double t149 = 0.1e1 / t148; + const double t151 = t149 * t131 * t1; + const double t153 = 0.378469910464e2 * t149 + 0.1e1; + const double t154 = 0.1e1 / t153; + const double t157 = t151 * t75 * t120 * t154; + const double t159 = t27 * t15; + const double t160 = t159 * t131; + const double t163 = t28 * t127; + const double t165 = -t160 * t129 / 0.6e1 - t163 * t136; + const double t166 = 0.1e1 / t28; + const double t167 = t165 * t166; + const double t168 = t167 * t14; + const double t173 = t35 * t35; + const double t174 = 0.1e1 / t173; + const double t175 = t8 * t174; + const double t177 = -t130 - 0.94255833333333333334e-1 * t134; + const double t183 = ( -t4 * t121 * t36 / 0.12e2 - t125 * t175 * t177 / 0.4e1 ) * t79 * t142; + const double t184 = t144 * t35; + const double t187 = t41 * t41; + const double t188 = 0.1e1 / t187; + const double t190 = t188 * t131 * t1; + const double t192 = 0.50738680655100000001e2 * t188 + 0.1e1; + const double t193 = 0.1e1 / t192; + const double t198 = t46 * t36; + const double t199 = t198 * t131; + const double t202 = t47 * t174; + const double t204 = -t199 * t129 / 0.6e1 - t202 * t177; + const double t205 = 0.1e1 / t47; + const double t206 = t204 * t205; + const double t211 = t33 * ( t183 * t184 / 0.3e1 + 0.37717812030896172975e0 * t190 * t75 * t120 * t193 + 0.41403379428206274608e-3 * t206 * t35 ) * t65; + const double t213 = t68 * rho; + const double t215 = 0.1e1 / t7 / t213; + const double t216 = sigma * t215; + const double t217 = t216 * t117; + const double t219 = t101 * t101; + const double t220 = 0.1e1 / t219; + const double t221 = t73 * t220; + const double t222 = t103 * t107; + const double t226 = 0.1e1 / t83 / rho; + const double t227 = t82 * t226; + const double t230 = -t74 * t133 / 0.12e2 - t80 * t227 / 0.6e1; + const double t232 = t98 * t98; + const double t233 = 0.1e1 / t232; + const double t234 = t88 * t233; + const double t242 = -t89 * t133 / 0.12e2 - t92 * t227 / 0.6e1 - 0.23873241463784300365e4 * mbeta / t68; + const double t244 = t230 * t99 - t234 * t242; + const double t248 = 0.1e1 / t105 / t68; + const double t252 = t221 * t222 * t244 + 0.7e1 / 0.6e1 * t73 * t104 * t248; + const double t253 = t71 * t252; + const double t254 = t253 * t117; + const double t256 = t110 * t244 * t116; + const double t257 = t71 * t256; + const double t260 = t70 * t110; + const double t261 = t101 * t116; + const double t262 = t260 * t261; + const double t263 = safe_math::sqrt( rho ); + const double t265 = 0.1e1 / t263 / t213; + const double t266 = t103 * t265; + const double t267 = t266 * ftilde; + const double t269 = t72 * t110 * t116; + const double t271 = t267 * t269 / 0.2e1; + const double t280 = t6 * t70; + const double t282 = t4 * t280 * t15; + const double t284 = t120 * t127; + const double t289 = 0.1e1 / t126 / t14; + const double t290 = t8 * t289; + const double t291 = t136 * t136; + const double t295 = t4 * t280; + const double t296 = t295 / 0.9e1; + const double t298 = 0.1e1 / t12 / t10; + const double t299 = t298 * t79; + const double t301 = 0.1e1 / t83 / t68; + const double t302 = t82 * t301; + const double t303 = t299 * t302; + const double t305 = t75 * t70; + const double t306 = t132 * t305; + const double t308 = t296 - 0.20708e0 * t303 + 0.41416e0 * t306; + const double t314 = ( t282 / 0.9e1 + t125 * t284 * t136 / 0.6e1 + t125 * t290 * t291 / 0.2e1 - t125 * t128 * t308 / 0.4e1 ) * t79 * t142; + const double t315 = t314 * t145; + const double t317 = t5 * t84; + const double t318 = t317 * t14; + const double t319 = t143 * t318; + const double t321 = t144 * t136; + const double t322 = t143 * t321; + const double t324 = t148 * t21; + const double t325 = 0.1e1 / t324; + const double t326 = t325 * t1; + const double t327 = t326 * t3; + const double t329 = t327 * t280 * t154; + const double t332 = t149 * t298 * t79; + const double t335 = t332 * t82 * t301 * t154; + const double t339 = t151 * t75 * t70 * t154; + const double t341 = t148 * t148; + const double t343 = 0.1e1 / t341 / t21; + const double t344 = t343 * t1; + const double t345 = t344 * t3; + const double t346 = t153 * t153; + const double t347 = 0.1e1 / t346; + const double t349 = t345 * t280 * t347; + const double t352 = t27 * t127; + const double t353 = t352 * t132; + const double t354 = t120 * t136; + const double t358 = t159 * t298; + const double t360 = t5 * t301; + const double t361 = t359 * t360; + const double t366 = t28 * t289; + const double t370 = t282 / 0.72e2 + t353 * t75 * t354 / 0.3e1 - t358 * t361 / 0.9e1 + 0.2e1 / 0.9e1 * t160 * t295 + 0.2e1 * t366 * t291 - t163 * t308; + const double t371 = t370 * t166; + const double t372 = t371 * t14; + const double t375 = 0.1e1 / t28 / t27; + const double t376 = t165 * t375; + const double t377 = t14 * t131; + const double t378 = t376 * t377; + const double t379 = t378 * t129; + const double t381 = t167 * t136; + const double t384 = t4 * t280 * t36; + const double t386 = t120 * t174; + const double t391 = 0.1e1 / t173 / t35; + const double t392 = t8 * t391; + const double t393 = t177 * t177; + const double t399 = t296 - 0.62837222222222222223e-1 * t303 + 0.12567444444444444445e0 * t306; + const double t405 = ( t384 / 0.9e1 + t125 * t386 * t177 / 0.6e1 + t125 * t392 * t393 / 0.2e1 - t125 * t175 * t399 / 0.4e1 ) * t79 * t142; + const double t408 = t317 * t35; + const double t411 = t144 * t177; + const double t414 = t187 * t41; + const double t415 = 0.1e1 / t414; + const double t416 = t415 * t1; + const double t417 = t416 * t3; + const double t422 = t188 * t298 * t79; + const double t431 = t187 * t187; + const double t433 = 0.1e1 / t431 / t41; + const double t434 = t433 * t1; + const double t435 = t434 * t3; + const double t436 = t192 * t192; + const double t437 = 0.1e1 / t436; + const double t442 = t46 * t174; + const double t443 = t442 * t132; + const double t444 = t120 * t177; + const double t448 = t198 * t298; + const double t453 = t47 * t391; + const double t457 = t384 / 0.72e2 + t443 * t75 * t444 / 0.3e1 - t448 * t361 / 0.9e1 + 0.2e1 / 0.9e1 * t199 * t295 + 0.2e1 * t453 * t393 - t202 * t399; + const double t458 = t457 * t205; + const double t462 = 0.1e1 / t47 / t46; + const double t463 = t204 * t462; + const double t464 = t35 * t131; + const double t465 = t463 * t464; + const double t472 = t33 * ( t405 * t184 / 0.3e1 + t183 * t408 / 0.9e1 + t183 * t411 / 0.3e1 + 0.12572604010298724325e0 * t417 * t280 * t193 + 0.2514520802059744865e0 * t422 * t82 * t301 * t193 - 0.502904160411948973e0 * t190 * t75 * t70 * t193 - 0.63791733988157656508e1 * t435 * t280 * t437 + 0.41403379428206274608e-3 * t458 * t35 + 0.69005632380343791013e-4 * t465 * t129 + 0.41403379428206274608e-3 * t206 * t177 ) * t65; + const double t474 = t68 * t68; + const double t476 = 0.1e1 / t7 / t474; + const double t477 = sigma * t476; + const double t478 = t477 * t117; + const double t480 = t216 * t252; + const double t481 = t480 * t117; + const double t483 = t216 * t256; + const double t486 = 0.1e1 / t219 / t101; + const double t487 = t73 * t486; + const double t488 = t244 * t244; + const double t492 = t103 * t248; + const double t500 = t74 * t305 / 0.9e1 + 0.5e1 / 0.18e2 * t80 * t302; + const double t502 = t230 * t233; + const double t506 = 0.1e1 / t232 / t98; + const double t507 = t88 * t506; + const double t508 = t242 * t242; + const double t518 = t89 * t305 / 0.9e1 + 0.5e1 / 0.18e2 * t92 * t302 + 0.4774648292756860073e4 * mbeta / t213; + const double t520 = -t234 * t518 - 0.2e1 * t502 * t242 + t500 * t99 + 0.2e1 * t507 * t508; + const double t524 = 0.1e1 / t105 / t213; + const double t528 = -0.2e1 * t487 * t222 * t488 - 0.7e1 / 0.3e1 * t221 * t492 * t244 + t221 * t222 * t520 - 0.91e2 / 0.36e2 * t73 * t104 * t524; + const double t529 = t71 * t528; + const double t530 = t529 * t117; + const double t531 = t252 * t252; + const double t532 = t71 * t531; + const double t533 = t532 * t117; + const double t534 = t253 * t256; + const double t537 = t110 * t520 * t116; + const double t538 = t71 * t537; + const double t539 = 0.10363566666666666667e-1 * t315 + 0.34545222222222222223e-2 * t319 + 0.10363566666666666667e-1 * t322 + 0.13255248558342256726e-1 * t329 + 0.26510497116684513453e-1 * t335 - 0.53020994233369026905e-1 * t339 - 0.50167127350538589834e0 * t349 + 0.96902277115443742139e-3 * t372 + 0.1615037951924062369e-3 * t379 + 0.96902277115443742139e-3 * t381 - t472 / 0.24e2 + 0.7e2 / 0.9e1 * t478 - 0.14e2 / 0.3e1 * t481 - 0.14e2 / 0.3e1 * t483 + t530 + t533 + 0.2e1 * t534 + t538; + const double t541 = t215 * t110; + const double t542 = t541 * t261; + const double t544 = t70 * t252; + const double t545 = t544 * t117; + const double t546 = t244 * t116; + const double t547 = t260 * t546; + const double t549 = 0.1e1 / t263 / t474; + const double t551 = t103 * t549 * ftilde; + const double t552 = t551 * t269; + const double t555 = t110 * t116; + const double t556 = t72 * t252 * t555; + const double t557 = t267 * t556; + const double t562 = t265 * ftilde * t72; + const double t563 = 0.1e1 / t103; + const double t564 = t563 * t110; + const double t565 = t564 * t116; + const double t567 = 0.3e1 / 0.4e1 * t562 * t565; + const double t569 = 0.1e1 / t83 / t474; + const double t571 = t569 * t570; + const double t573 = t571 * t572; + const double t575 = t102 * t110 * t116; + const double t577 = t573 * t575 / 0.4e1; + + + vrho = t20 + t25 + t31 - t67 + t118 + rho * ( 0.10363566666666666667e-1 * t146 + 0.39765745675026770179e-1 * t157 + 0.96902277115443742139e-3 * t168 - t211 / 0.24e2 - 0.7e1 / 0.3e1 * t217 + t254 + t257 ); + vsigma = rho * ( t262 - t271 ); + v2rho2 = 0.20727133333333333334e-1 * t146 + 0.79531491350053540358e-1 * t157 + 0.19380455423088748428e-2 * t168 - t211 / 0.12e2 - 0.14e2 / 0.3e1 * t217 + 0.2e1 * t254 + 0.2e1 * t257 + rho * t539; + v2rhosigma = t262 - t271 + rho * ( -0.7e1 / 0.3e1 * t542 + t545 + t547 + 0.7e1 / 0.4e1 * t552 - t557 / 0.2e1 ); + v2sigma2 = rho * ( -t567 + t577 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + constexpr double t115 = aa + bb; + constexpr double t116 = ftilde * t115; + constexpr double t117 = malpha * t1; + constexpr double t118 = t3 * t6; + constexpr double t122 = t1 * t1; + constexpr double t123 = mbeta * t122; + constexpr double t124 = t3 * t3; + constexpr double t125 = t124 * t5; + constexpr double t132 = mgamma * t1; + constexpr double t135 = mdelta * t122; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t62 = t61 * t57; + const double t63 = piecewise_functor_3( t58, t60, t62 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t67 = t66 * t64; + const double t68 = piecewise_functor_3( t65, t60, t67 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t86 = t70 * t84 / 0.24e2; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t109 = t106 * t108; + const double t111 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t113 = 0.1e1 / t8 / t77; + const double t114 = t111 * t113; + const double t119 = t118 * t9; + const double t126 = t8 * t8; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t131 = bb + t117 * t119 / 0.4e1 + t123 * t128 / 0.4e1; + const double t140 = 0.1e1 + t132 * t119 / 0.4e1 + t135 * t128 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t55; + const double t141 = 0.1e1 / t140; + const double t143 = t131 * t141 + aa; + const double t144 = 0.1e1 / t143; + const double t145 = safe_math::sqrt( t111 ); + const double t146 = t144 * t145; + const double t147 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t149 = 0.1e1 / t147 / t7; + const double t152 = safe_math::exp( -t116 * t146 * t149 ); + const double t153 = t114 * t152; + const double t154 = t59 * t59; + const double t155 = t154 * zeta_tol; + const double t156 = t61 * t61; + const double t157 = t156 * t57; + const double t158 = piecewise_functor_3( t58, t155, t157 ); + const double t159 = t66 * t66; + const double t160 = t159 * t64; + const double t161 = piecewise_functor_3( t65, t155, t160 ); + const double t162 = t158 + t161; + const double t163 = safe_math::sqrt( t162 ); + const double t164 = 0.1e1 / t163; + const double t165 = t143 * t164; + const double t166 = M_SQRT2; + const double t167 = t165 * t166; + const double t168 = t153 * t167; + + + eps = t21 + t26 + t32 - t86 + t109 + t168; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + constexpr double t115 = aa + bb; + constexpr double t116 = ftilde * t115; + constexpr double t117 = malpha * t1; + constexpr double t118 = t3 * t6; + constexpr double t122 = t1 * t1; + constexpr double t123 = mbeta * t122; + constexpr double t124 = t3 * t3; + constexpr double t125 = t124 * t5; + constexpr double t132 = mgamma * t1; + constexpr double t135 = mdelta * t122; + constexpr double t175 = t4 * t6; + constexpr double t192 = 0.1e1 / t3; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t62 = t61 * t57; + const double t63 = piecewise_functor_3( t58, t60, t62 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t67 = t66 * t64; + const double t68 = piecewise_functor_3( t65, t60, t67 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t86 = t70 * t84 / 0.24e2; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t109 = t106 * t108; + const double t111 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t113 = 0.1e1 / t8 / t77; + const double t114 = t111 * t113; + const double t119 = t118 * t9; + const double t126 = t8 * t8; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t131 = bb + t117 * t119 / 0.4e1 + t123 * t128 / 0.4e1; + const double t140 = 0.1e1 + t132 * t119 / 0.4e1 + t135 * t128 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t55; + const double t141 = 0.1e1 / t140; + const double t143 = t131 * t141 + aa; + const double t144 = 0.1e1 / t143; + const double t145 = safe_math::sqrt( t111 ); + const double t146 = t144 * t145; + const double t147 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t149 = 0.1e1 / t147 / t7; + const double t152 = safe_math::exp( -t116 * t146 * t149 ); + const double t153 = t114 * t152; + const double t154 = t59 * t59; + const double t155 = t154 * zeta_tol; + const double t156 = t61 * t61; + const double t157 = t156 * t57; + const double t158 = piecewise_functor_3( t58, t155, t157 ); + const double t159 = t66 * t66; + const double t160 = t159 * t64; + const double t161 = piecewise_functor_3( t65, t155, t160 ); + const double t162 = t158 + t161; + const double t163 = safe_math::sqrt( t162 ); + const double t164 = 0.1e1 / t163; + const double t165 = t143 * t164; + const double t166 = M_SQRT2; + const double t167 = t165 * t166; + const double t168 = t153 * t167; + const double t170 = 0.1e1 / t8 / t7; + const double t171 = t6 * t170; + const double t176 = t15 * t15; + const double t177 = 0.1e1 / t176; + const double t178 = t9 * t177; + const double t179 = t4 * t171; + const double t180 = t179 / 0.12e2; + const double t181 = 0.1e1 / t13; + const double t182 = t181 * t1; + const double t183 = t118 * t170; + const double t184 = t182 * t183; + const double t186 = -t180 - 0.31062e0 * t184; + const double t193 = ( -t4 * t171 * t16 / 0.12e2 - t175 * t178 * t186 / 0.4e1 ) * t122 * t192; + const double t194 = t5 * t8; + const double t195 = t194 * t15; + const double t196 = t193 * t195; + const double t197 = 0.10363566666666666667e-1 * t196; + const double t198 = t22 * t22; + const double t199 = 0.1e1 / t198; + const double t201 = t199 * t181 * t1; + const double t203 = 0.378469910464e2 * t199 + 0.1e1; + const double t204 = 0.1e1 / t203; + const double t207 = t201 * t118 * t170 * t204; + const double t208 = 0.39765745675026770179e-1 * t207; + const double t209 = t28 * t16; + const double t210 = t209 * t181; + const double t213 = t29 * t177; + const double t215 = -t210 * t179 / 0.6e1 - t213 * t186; + const double t216 = 0.1e1 / t29; + const double t217 = t215 * t216; + const double t218 = t217 * t15; + const double t219 = 0.96902277115443742139e-3 * t218; + const double t223 = t36 * t36; + const double t224 = 0.1e1 / t223; + const double t225 = t9 * t224; + const double t227 = -t180 - 0.94255833333333333334e-1 * t184; + const double t233 = ( -t4 * t171 * t37 / 0.12e2 - t175 * t225 * t227 / 0.4e1 ) * t122 * t192; + const double t234 = t194 * t36; + const double t237 = t42 * t42; + const double t238 = 0.1e1 / t237; + const double t240 = t238 * t181 * t1; + const double t242 = 0.50738680655100000001e2 * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t248 = t47 * t37; + const double t249 = t248 * t181; + const double t252 = t48 * t224; + const double t254 = -t249 * t179 / 0.6e1 - t252 * t227; + const double t255 = 0.1e1 / t48; + const double t256 = t254 * t255; + const double t260 = t34 * ( t233 * t234 / 0.3e1 + 0.37717812030896172975e0 * t240 * t118 * t170 * t243 + 0.41403379428206274608e-3 * t256 * t36 ); + const double t261 = t260 * t69; + const double t262 = t261 * t84; + const double t263 = t262 / 0.24e2; + const double t264 = 0.1e1 / t77; + const double t265 = t54 * t264; + const double t266 = t55 - t265; + const double t269 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t266 ); + const double t270 = -t266; + const double t273 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t270 ); + const double t274 = t269 + t273; + const double t275 = t53 * t274; + const double t276 = t275 * t84; + const double t277 = t276 / 0.24e2; + const double t278 = t75 * t54; + const double t279 = t278 * t79; + const double t280 = t78 * t7; + const double t281 = 0.1e1 / t280; + const double t282 = t76 * t281; + const double t286 = t74 * ( -0.4e1 * t279 + 0.4e1 * t282 ) * t83; + const double t287 = t70 * t286; + const double t288 = t287 / 0.24e2; + const double t292 = t88 * t88; + const double t293 = 0.1e1 / t292; + const double t294 = t9 * t293; + const double t296 = -t180 - 0.58836833333333333333e0 * t184; + const double t302 = ( -t4 * t171 * t89 / 0.12e2 - t175 * t294 * t296 / 0.4e1 ) * t122 * t192; + const double t303 = t194 * t88; + const double t306 = t95 * t95; + const double t307 = 0.1e1 / t306; + const double t309 = t307 * t181 * t1; + const double t311 = 0.223816694236e2 * t307 + 0.1e1; + const double t312 = 0.1e1 / t311; + const double t317 = t100 * t89; + const double t318 = t317 * t181; + const double t321 = t101 * t293; + const double t323 = -t318 * t179 / 0.6e1 - t321 * t296; + const double t324 = 0.1e1 / t101; + const double t325 = t323 * t324; + const double t328 = 0.51817833333333333333e-2 * t302 * t303 + 0.41388824077869423261e-1 * t309 * t118 * t170 * t312 + 0.22478670955426118383e-2 * t325 * t88 - t197 - t208 - t219; + const double t329 = t328 * t69; + const double t330 = t329 * t108; + const double t331 = t105 * t274; + const double t332 = t331 * t108; + const double t333 = t74 * t278; + const double t334 = t333 * t79; + const double t335 = t106 * t334; + const double t336 = 0.4e1 * t335; + const double t337 = t107 * t281; + const double t338 = t106 * t337; + const double t339 = 0.4e1 * t338; + const double t340 = t77 * t7; + const double t342 = 0.1e1 / t8 / t340; + const double t343 = t111 * t342; + const double t344 = t343 * t152; + const double t345 = t344 * t167; + const double t346 = 0.7e1 / 0.3e1 * t345; + const double t347 = t143 * t143; + const double t348 = 0.1e1 / t347; + const double t349 = t116 * t348; + const double t350 = t145 * t149; + const double t354 = 0.1e1 / t126 / t7; + const double t355 = t125 * t354; + const double t358 = -t117 * t183 / 0.12e2 - t123 * t355 / 0.6e1; + const double t360 = t140 * t140; + const double t361 = 0.1e1 / t360; + const double t362 = t131 * t361; + const double t369 = -t132 * t183 / 0.12e2 - t135 * t355 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t264; + const double t371 = t358 * t141 - t362 * t369; + const double t375 = 0.1e1 / t147 / t77; + const double t379 = t349 * t350 * t371 + 0.7e1 / 0.6e1 * t116 * t146 * t375; + const double t380 = t114 * t379; + const double t381 = t152 * t143; + const double t382 = t164 * t166; + const double t383 = t381 * t382; + const double t384 = t380 * t383; + const double t386 = t371 * t164 * t166; + const double t387 = t153 * t386; + const double t389 = 0.1e1 / t163 / t162; + const double t390 = t143 * t389; + const double t393 = piecewise_functor_3( t58, 0.0, 0.5e1 / 0.3e1 * t156 * t266 ); + const double t396 = piecewise_functor_3( t65, 0.0, 0.5e1 / 0.3e1 * t159 * t270 ); + const double t397 = t393 + t396; + const double t398 = t166 * t397; + const double t399 = t390 * t398; + const double t400 = t153 * t399; + const double t401 = t400 / 0.2e1; + const double t402 = t197 + t208 + t219 - t263 - t277 - t288 + t330 + t332 + t336 - t339 - t346 + t384 + t387 - t401; + const double t404 = -t55 - t265; + const double t407 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t404 ); + const double t408 = -t404; + const double t411 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t408 ); + const double t412 = t407 + t411; + const double t413 = t53 * t412; + const double t414 = t413 * t84; + const double t415 = t414 / 0.24e2; + const double t419 = t74 * ( 0.4e1 * t279 + 0.4e1 * t282 ) * t83; + const double t420 = t70 * t419; + const double t421 = t420 / 0.24e2; + const double t422 = t105 * t412; + const double t423 = t422 * t108; + const double t426 = piecewise_functor_3( t58, 0.0, 0.5e1 / 0.3e1 * t156 * t404 ); + const double t429 = piecewise_functor_3( t65, 0.0, 0.5e1 / 0.3e1 * t159 * t408 ); + const double t430 = t426 + t429; + const double t431 = t166 * t430; + const double t432 = t390 * t431; + const double t433 = t153 * t432; + const double t434 = t433 / 0.2e1; + const double t435 = t197 + t208 + t219 - t263 - t415 - t421 + t330 + t423 - t336 - t339 - t346 + t384 + t387 - t434; + const double t437 = t113 * t152; + const double t438 = t437 * t167; + const double t439 = safe_math::sqrt( t7 ); + const double t441 = 0.1e1 / t439 / t340; + const double t442 = t145 * t441; + const double t445 = t115 * t152 * t382; + const double t446 = t442 * ftilde * t445; + const double t447 = t446 / 0.2e1; + const double t449 = 0.2e1 * t438; + + + eps = t21 + t26 + t32 - t86 + t109 + t168; + vrho_a = t7 * t402 + t109 + t168 + t21 + t26 + t32 - t86; + vrho_b = t7 * t435 + t109 + t168 + t21 + t26 + t32 - t86; + vsigma_aa = t7 * ( t438 - t447 ); + vsigma_ab = t7 * ( t449 - t446 ); + vsigma_bb = vsigma_aa; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + constexpr double t115 = aa + bb; + constexpr double t116 = ftilde * t115; + constexpr double t117 = malpha * t1; + constexpr double t118 = t3 * t6; + constexpr double t122 = t1 * t1; + constexpr double t123 = mbeta * t122; + constexpr double t124 = t3 * t3; + constexpr double t125 = t124 * t5; + constexpr double t132 = mgamma * t1; + constexpr double t135 = mdelta * t122; + constexpr double t175 = t4 * t6; + constexpr double t192 = 0.1e1 / t3; + constexpr double t530 = t122 * t124; + constexpr double t1134 = ftilde * ftilde; + constexpr double t1136 = t115 * t115; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t62 = t61 * t57; + const double t63 = piecewise_functor_3( t58, t60, t62 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t67 = t66 * t64; + const double t68 = piecewise_functor_3( t65, t60, t67 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t111 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t113 = 0.1e1 / t8 / t77; + const double t114 = t111 * t113; + const double t119 = t118 * t9; + const double t126 = t8 * t8; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t131 = bb + t117 * t119 / 0.4e1 + t123 * t128 / 0.4e1; + const double t140 = 0.1e1 + t132 * t119 / 0.4e1 + t135 * t128 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t55; + const double t141 = 0.1e1 / t140; + const double t143 = t131 * t141 + aa; + const double t144 = 0.1e1 / t143; + const double t145 = safe_math::sqrt( t111 ); + const double t146 = t144 * t145; + const double t147 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t149 = 0.1e1 / t147 / t7; + const double t152 = safe_math::exp( -t116 * t146 * t149 ); + const double t153 = t114 * t152; + const double t154 = t59 * t59; + const double t155 = t154 * zeta_tol; + const double t156 = t61 * t61; + const double t157 = t156 * t57; + const double t158 = piecewise_functor_3( t58, t155, t157 ); + const double t159 = t66 * t66; + const double t160 = t159 * t64; + const double t161 = piecewise_functor_3( t65, t155, t160 ); + const double t162 = t158 + t161; + const double t163 = safe_math::sqrt( t162 ); + const double t164 = 0.1e1 / t163; + const double t165 = t143 * t164; + const double t166 = M_SQRT2; + const double t167 = t165 * t166; + const double t170 = 0.1e1 / t8 / t7; + const double t171 = t6 * t170; + const double t176 = t15 * t15; + const double t177 = 0.1e1 / t176; + const double t178 = t9 * t177; + const double t179 = t4 * t171; + const double t180 = t179 / 0.12e2; + const double t181 = 0.1e1 / t13; + const double t182 = t181 * t1; + const double t183 = t118 * t170; + const double t184 = t182 * t183; + const double t186 = -t180 - 0.31062e0 * t184; + const double t193 = ( -t4 * t171 * t16 / 0.12e2 - t175 * t178 * t186 / 0.4e1 ) * t122 * t192; + const double t194 = t5 * t8; + const double t195 = t194 * t15; + const double t196 = t193 * t195; + const double t197 = 0.10363566666666666667e-1 * t196; + const double t198 = t22 * t22; + const double t199 = 0.1e1 / t198; + const double t201 = t199 * t181 * t1; + const double t203 = 0.378469910464e2 * t199 + 0.1e1; + const double t204 = 0.1e1 / t203; + const double t207 = t201 * t118 * t170 * t204; + const double t208 = 0.39765745675026770179e-1 * t207; + const double t209 = t28 * t16; + const double t210 = t209 * t181; + const double t213 = t29 * t177; + const double t215 = -t210 * t179 / 0.6e1 - t213 * t186; + const double t216 = 0.1e1 / t29; + const double t217 = t215 * t216; + const double t218 = t217 * t15; + const double t219 = 0.96902277115443742139e-3 * t218; + const double t223 = t36 * t36; + const double t224 = 0.1e1 / t223; + const double t225 = t9 * t224; + const double t227 = -t180 - 0.94255833333333333334e-1 * t184; + const double t233 = ( -t4 * t171 * t37 / 0.12e2 - t175 * t225 * t227 / 0.4e1 ) * t122 * t192; + const double t234 = t194 * t36; + const double t237 = t42 * t42; + const double t238 = 0.1e1 / t237; + const double t240 = t238 * t181 * t1; + const double t242 = 0.50738680655100000001e2 * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t248 = t47 * t37; + const double t249 = t248 * t181; + const double t252 = t48 * t224; + const double t254 = -t249 * t179 / 0.6e1 - t252 * t227; + const double t255 = 0.1e1 / t48; + const double t256 = t254 * t255; + const double t260 = t34 * ( t233 * t234 / 0.3e1 + 0.37717812030896172975e0 * t240 * t118 * t170 * t243 + 0.41403379428206274608e-3 * t256 * t36 ); + const double t261 = t260 * t69; + const double t262 = t261 * t84; + const double t264 = 0.1e1 / t77; + const double t265 = t54 * t264; + const double t266 = t55 - t265; + const double t269 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t266 ); + const double t270 = -t266; + const double t273 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t270 ); + const double t274 = t269 + t273; + const double t275 = t53 * t274; + const double t276 = t275 * t84; + const double t277 = t276 / 0.24e2; + const double t278 = t75 * t54; + const double t279 = t278 * t79; + const double t280 = t78 * t7; + const double t281 = 0.1e1 / t280; + const double t282 = t76 * t281; + const double t286 = t74 * ( -0.4e1 * t279 + 0.4e1 * t282 ) * t83; + const double t287 = t70 * t286; + const double t288 = t287 / 0.24e2; + const double t292 = t88 * t88; + const double t293 = 0.1e1 / t292; + const double t294 = t9 * t293; + const double t296 = -t180 - 0.58836833333333333333e0 * t184; + const double t302 = ( -t4 * t171 * t89 / 0.12e2 - t175 * t294 * t296 / 0.4e1 ) * t122 * t192; + const double t303 = t194 * t88; + const double t306 = t95 * t95; + const double t307 = 0.1e1 / t306; + const double t309 = t307 * t181 * t1; + const double t311 = 0.223816694236e2 * t307 + 0.1e1; + const double t312 = 0.1e1 / t311; + const double t317 = t100 * t89; + const double t318 = t317 * t181; + const double t321 = t101 * t293; + const double t323 = -t318 * t179 / 0.6e1 - t321 * t296; + const double t324 = 0.1e1 / t101; + const double t325 = t323 * t324; + const double t328 = 0.51817833333333333333e-2 * t302 * t303 + 0.41388824077869423261e-1 * t309 * t118 * t170 * t312 + 0.22478670955426118383e-2 * t325 * t88 - t197 - t208 - t219; + const double t329 = t328 * t69; + const double t330 = t329 * t108; + const double t331 = t105 * t274; + const double t332 = t331 * t108; + const double t333 = t74 * t278; + const double t334 = t333 * t79; + const double t335 = t106 * t334; + const double t337 = t107 * t281; + const double t338 = t106 * t337; + const double t340 = t77 * t7; + const double t342 = 0.1e1 / t8 / t340; + const double t343 = t111 * t342; + const double t344 = t343 * t152; + const double t345 = t344 * t167; + const double t347 = t143 * t143; + const double t348 = 0.1e1 / t347; + const double t349 = t116 * t348; + const double t350 = t145 * t149; + const double t354 = 0.1e1 / t126 / t7; + const double t355 = t125 * t354; + const double t358 = -t117 * t183 / 0.12e2 - t123 * t355 / 0.6e1; + const double t360 = t140 * t140; + const double t361 = 0.1e1 / t360; + const double t362 = t131 * t361; + const double t369 = -t132 * t183 / 0.12e2 - t135 * t355 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t264; + const double t371 = t358 * t141 - t362 * t369; + const double t375 = 0.1e1 / t147 / t77; + const double t379 = t349 * t350 * t371 + 0.7e1 / 0.6e1 * t116 * t146 * t375; + const double t380 = t114 * t379; + const double t381 = t152 * t143; + const double t382 = t164 * t166; + const double t383 = t381 * t382; + const double t384 = t380 * t383; + const double t386 = t371 * t164 * t166; + const double t387 = t153 * t386; + const double t389 = 0.1e1 / t163 / t162; + const double t390 = t143 * t389; + const double t393 = piecewise_functor_3( t58, 0.0, 0.5e1 / 0.3e1 * t156 * t266 ); + const double t396 = piecewise_functor_3( t65, 0.0, 0.5e1 / 0.3e1 * t159 * t270 ); + const double t397 = t393 + t396; + const double t398 = t166 * t397; + const double t399 = t390 * t398; + const double t400 = t153 * t399; + const double t401 = t400 / 0.2e1; + const double t404 = -t55 - t265; + const double t407 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t404 ); + const double t408 = -t404; + const double t411 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t408 ); + const double t412 = t407 + t411; + const double t413 = t53 * t412; + const double t414 = t413 * t84; + const double t415 = t414 / 0.24e2; + const double t419 = t74 * ( 0.4e1 * t279 + 0.4e1 * t282 ) * t83; + const double t420 = t70 * t419; + const double t421 = t420 / 0.24e2; + const double t422 = t105 * t412; + const double t423 = t422 * t108; + const double t426 = piecewise_functor_3( t58, 0.0, 0.5e1 / 0.3e1 * t156 * t404 ); + const double t429 = piecewise_functor_3( t65, 0.0, 0.5e1 / 0.3e1 * t159 * t408 ); + const double t430 = t426 + t429; + const double t431 = t166 * t430; + const double t432 = t390 * t431; + const double t433 = t153 * t432; + const double t434 = t433 / 0.2e1; + const double t437 = t113 * t152; + const double t438 = t437 * t167; + const double t439 = safe_math::sqrt( t7 ); + const double t441 = 0.1e1 / t439 / t340; + const double t442 = t145 * t441; + const double t445 = t115 * t152 * t382; + const double t446 = t442 * ftilde * t445; + const double t447 = t446 / 0.2e1; + const double t449 = 0.2e1 * t438; + const double t451 = t6 * t113; + const double t453 = t4 * t451 * t37; + const double t455 = t170 * t224; + const double t460 = 0.1e1 / t223 / t36; + const double t461 = t9 * t460; + const double t462 = t227 * t227; + const double t466 = t4 * t451; + const double t467 = t466 / 0.9e1; + const double t469 = 0.1e1 / t13 / t11; + const double t470 = t469 * t122; + const double t472 = 0.1e1 / t126 / t77; + const double t473 = t125 * t472; + const double t474 = t470 * t473; + const double t476 = t118 * t113; + const double t477 = t182 * t476; + const double t479 = t467 - 0.62837222222222222223e-1 * t474 + 0.12567444444444444445e0 * t477; + const double t485 = ( t453 / 0.9e1 + t175 * t455 * t227 / 0.6e1 + t175 * t461 * t462 / 0.2e1 - t175 * t225 * t479 / 0.4e1 ) * t122 * t192; + const double t488 = t5 * t127; + const double t489 = t488 * t36; + const double t492 = t194 * t227; + const double t495 = t237 * t42; + const double t496 = 0.1e1 / t495; + const double t497 = t496 * t1; + const double t498 = t497 * t3; + const double t503 = t238 * t469 * t122; + const double t512 = t237 * t237; + const double t514 = 0.1e1 / t512 / t42; + const double t515 = t514 * t1; + const double t516 = t515 * t3; + const double t517 = t242 * t242; + const double t518 = 0.1e1 / t517; + const double t523 = t47 * t224; + const double t524 = t523 * t182; + const double t525 = t170 * t227; + const double t529 = t248 * t469; + const double t531 = t5 * t472; + const double t532 = t530 * t531; + const double t537 = t48 * t460; + const double t541 = t453 / 0.72e2 + t524 * t118 * t525 / 0.3e1 - t529 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t249 * t466 + 0.2e1 * t537 * t462 - t252 * t479; + const double t542 = t541 * t255; + const double t546 = 0.1e1 / t48 / t47; + const double t547 = t254 * t546; + const double t548 = t36 * t181; + const double t549 = t547 * t548; + const double t555 = t34 * ( t485 * t234 / 0.3e1 + t233 * t489 / 0.9e1 + t233 * t492 / 0.3e1 + 0.12572604010298724325e0 * t498 * t451 * t243 + 0.2514520802059744865e0 * t503 * t125 * t472 * t243 - 0.502904160411948973e0 * t240 * t118 * t113 * t243 - 0.63791733988157656508e1 * t516 * t451 * t518 + 0.41403379428206274608e-3 * t542 * t36 + 0.69005632380343791013e-4 * t549 * t179 + 0.41403379428206274608e-3 * t256 * t227 ); + const double t556 = t555 * t69; + const double t557 = t556 * t84; + const double t558 = t557 / 0.24e2; + const double t560 = 0.1e1 / t8 / t78; + const double t561 = t111 * t560; + const double t562 = t561 * t152; + const double t563 = t562 * t167; + const double t564 = 0.7e2 / 0.9e1 * t563; + const double t565 = t194 * t186; + const double t566 = t193 * t565; + const double t567 = 0.10363566666666666667e-1 * t566; + const double t568 = t198 * t22; + const double t569 = 0.1e1 / t568; + const double t570 = t569 * t1; + const double t571 = t570 * t3; + const double t573 = t571 * t451 * t204; + const double t574 = 0.13255248558342256726e-1 * t573; + const double t575 = t198 * t198; + const double t577 = 0.1e1 / t575 / t22; + const double t578 = t577 * t1; + const double t579 = t578 * t3; + const double t580 = t203 * t203; + const double t581 = 0.1e1 / t580; + const double t583 = t579 * t451 * t581; + const double t584 = 0.50167127350538589834e0 * t583; + const double t586 = t4 * t451 * t16; + const double t588 = t170 * t177; + const double t593 = 0.1e1 / t176 / t15; + const double t594 = t9 * t593; + const double t595 = t186 * t186; + const double t601 = t467 - 0.20708e0 * t474 + 0.41416e0 * t477; + const double t607 = ( t586 / 0.9e1 + t175 * t588 * t186 / 0.6e1 + t175 * t594 * t595 / 0.2e1 - t175 * t178 * t601 / 0.4e1 ) * t122 * t192; + const double t608 = t607 * t195; + const double t609 = 0.10363566666666666667e-1 * t608; + const double t610 = t488 * t15; + const double t611 = t193 * t610; + const double t612 = 0.34545222222222222223e-2 * t611; + const double t614 = 0.12e2 * t75 * t79; + const double t616 = 0.32e2 * t278 * t281; + const double t617 = t78 * t77; + const double t618 = 0.1e1 / t617; + const double t620 = 0.2e2 * t76 * t618; + const double t623 = t74 * ( -t614 + t616 - t620 ) * t83; + const double t624 = t70 * t623; + const double t625 = t624 / 0.24e2; + const double t626 = 0.1e1 / t156; + const double t627 = t266 * t266; + const double t630 = 0.1e1 / t340; + const double t631 = t54 * t630; + const double t633 = -0.2e1 * t264 + 0.2e1 * t631; + const double t637 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t626 * t627 + 0.4e1 / 0.3e1 * t61 * t633 ); + const double t638 = 0.1e1 / t159; + const double t639 = t270 * t270; + const double t642 = -t633; + const double t646 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t638 * t639 + 0.4e1 / 0.3e1 * t66 * t642 ); + const double t647 = t637 + t646; + const double t648 = t53 * t647; + const double t649 = t648 * t84; + const double t650 = t649 / 0.24e2; + const double t651 = t275 * t286; + const double t652 = t651 / 0.12e2; + const double t653 = t260 * t274; + const double t654 = t653 * t84; + const double t655 = t654 / 0.12e2; + const double t656 = t261 * t286; + const double t657 = t656 / 0.12e2; + const double t658 = t344 * t386; + const double t659 = 0.14e2 / 0.3e1 * t658; + const double t664 = t117 * t476 / 0.9e1 + 0.5e1 / 0.18e2 * t123 * t473; + const double t666 = t358 * t361; + const double t670 = 0.1e1 / t360 / t140; + const double t671 = t131 * t670; + const double t672 = t369 * t369; + const double t681 = t132 * t476 / 0.9e1 + 0.5e1 / 0.18e2 * t135 * t473 + 0.4774648292756860073e4 * mbeta * t630; + const double t683 = t664 * t141 - t362 * t681 - 0.2e1 * t666 * t369 + 0.2e1 * t671 * t672; + const double t685 = t683 * t164 * t166; + const double t686 = t153 * t685; + const double t687 = t344 * t399; + const double t688 = 0.7e1 / 0.3e1 * t687; + const double t689 = t343 * t379; + const double t690 = t689 * t383; + const double t691 = 0.14e2 / 0.3e1 * t690; + const double t693 = 0.1e1 / t347 / t143; + const double t694 = t116 * t693; + const double t695 = t371 * t371; + const double t699 = t145 * t375; + const double t706 = 0.1e1 / t147 / t340; + const double t710 = -0.2e1 * t694 * t350 * t695 - 0.7e1 / 0.3e1 * t349 * t699 * t371 + t349 * t350 * t683 - 0.91e2 / 0.36e2 * t116 * t146 * t706; + const double t711 = t114 * t710; + const double t712 = t711 * t383; + const double t713 = t152 * t371; + const double t714 = t713 * t382; + const double t715 = t380 * t714; + const double t716 = 0.2e1 * t715; + const double t717 = t371 * t389; + const double t718 = t717 * t398; + const double t719 = t153 * t718; + const double t720 = -t558 + t564 + t567 + t574 - t584 + t609 + t612 - t625 - t650 - t652 - t655 - t657 - t659 + t686 + t688 - t691 + t712 + t716 - t719; + const double t721 = 0.1e1 / t61; + const double t727 = piecewise_functor_3( t58, 0.0, 0.1e2 / 0.9e1 * t721 * t627 + 0.5e1 / 0.3e1 * t156 * t633 ); + const double t728 = 0.1e1 / t66; + const double t734 = piecewise_functor_3( t65, 0.0, 0.1e2 / 0.9e1 * t728 * t639 + 0.5e1 / 0.3e1 * t159 * t642 ); + const double t735 = t727 + t734; + const double t736 = t166 * t735; + const double t737 = t390 * t736; + const double t738 = t153 * t737; + const double t739 = t738 / 0.2e1; + const double t740 = t379 * t379; + const double t741 = t114 * t740; + const double t742 = t741 * t383; + const double t743 = t162 * t162; + const double t745 = 0.1e1 / t163 / t743; + const double t746 = t143 * t745; + const double t747 = t397 * t397; + const double t748 = t166 * t747; + const double t749 = t746 * t748; + const double t750 = t153 * t749; + const double t751 = 0.3e1 / 0.4e1 * t750; + const double t753 = t199 * t469 * t122; + const double t756 = t753 * t125 * t472 * t204; + const double t757 = 0.26510497116684513453e-1 * t756; + const double t760 = t201 * t118 * t113 * t204; + const double t761 = 0.53020994233369026905e-1 * t760; + const double t762 = t74 * t75; + const double t763 = t762 * t79; + const double t764 = t106 * t763; + const double t765 = 0.12e2 * t764; + const double t766 = t333 * t281; + const double t767 = t106 * t766; + const double t768 = 0.32e2 * t767; + const double t769 = t331 * t334; + const double t770 = 0.8e1 * t769; + const double t771 = t331 * t337; + const double t772 = 0.8e1 * t771; + const double t773 = t329 * t334; + const double t774 = 0.8e1 * t773; + const double t775 = t328 * t274; + const double t776 = t775 * t108; + const double t777 = 0.2e1 * t776; + const double t778 = t107 * t618; + const double t779 = t106 * t778; + const double t780 = 0.2e2 * t779; + const double t781 = t105 * t647; + const double t782 = t781 * t108; + const double t784 = 0.1e1 / t29 / t28; + const double t785 = t215 * t784; + const double t786 = t15 * t181; + const double t787 = t785 * t786; + const double t788 = t787 * t179; + const double t789 = 0.1615037951924062369e-3 * t788; + const double t790 = t379 * t152; + const double t791 = t114 * t790; + const double t792 = t791 * t399; + const double t793 = t329 * t337; + const double t794 = 0.8e1 * t793; + const double t796 = t4 * t451 * t89; + const double t798 = t170 * t293; + const double t803 = 0.1e1 / t292 / t88; + const double t804 = t9 * t803; + const double t805 = t296 * t296; + const double t811 = t467 - 0.39224555555555555555e0 * t474 + 0.7844911111111111111e0 * t477; + const double t817 = ( t796 / 0.9e1 + t175 * t798 * t296 / 0.6e1 + t175 * t804 * t805 / 0.2e1 - t175 * t294 * t811 / 0.4e1 ) * t122 * t192; + const double t820 = t488 * t88; + const double t823 = t194 * t296; + const double t826 = t306 * t95; + const double t827 = 0.1e1 / t826; + const double t828 = t827 * t1; + const double t829 = t828 * t3; + const double t834 = t307 * t469 * t122; + const double t843 = t306 * t306; + const double t845 = 0.1e1 / t843 / t95; + const double t846 = t845 * t1; + const double t847 = t846 * t3; + const double t848 = t311 * t311; + const double t849 = 0.1e1 / t848; + const double t854 = t100 * t293; + const double t855 = t854 * t182; + const double t856 = t170 * t296; + const double t860 = t317 * t469; + const double t865 = t101 * t803; + const double t869 = t796 / 0.72e2 + t855 * t118 * t856 / 0.3e1 - t860 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t318 * t466 + 0.2e1 * t865 * t805 - t321 * t811; + const double t870 = t869 * t324; + const double t874 = 0.1e1 / t101 / t100; + const double t875 = t323 * t874; + const double t876 = t88 * t181; + const double t877 = t875 * t876; + const double t883 = t28 * t177; + const double t884 = t883 * t182; + const double t885 = t170 * t186; + const double t889 = t209 * t469; + const double t894 = t29 * t593; + const double t898 = t586 / 0.72e2 + t884 * t118 * t885 / 0.3e1 - t889 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t210 * t466 + 0.2e1 * t894 * t595 - t213 * t601; + const double t899 = t898 * t216; + const double t900 = t899 * t15; + const double t901 = 0.96902277115443742139e-3 * t900; + const double t902 = t217 * t186; + const double t903 = 0.96902277115443742139e-3 * t902; + const double t904 = 0.51817833333333333333e-2 * t817 * t303 + 0.17272611111111111111e-2 * t302 * t820 + 0.51817833333333333333e-2 * t302 * t823 + 0.13796274692623141087e-1 * t829 * t451 * t312 + 0.27592549385246282174e-1 * t834 * t125 * t472 * t312 - 0.55185098770492564348e-1 * t309 * t118 * t113 * t312 - 0.30878365944746984535e0 * t847 * t451 * t849 + 0.22478670955426118383e-2 * t870 * t88 + 0.37464451592376863972e-3 * t877 * t179 + 0.22478670955426118383e-2 * t325 * t296 - t609 - t612 - t567 - t574 - t757 + t761 + t584 - t901 - t789 - t903; + const double t905 = t904 * t69; + const double t906 = t905 * t108; + const double t907 = -t739 + t742 + t751 + t757 - t761 + t765 - t768 + t770 - t772 + t774 + t777 + t780 + t782 + t789 - t792 - t794 + t906 + t901 + t903; + const double t910 = 0.79531491350053540358e-1 * t207; + const double t911 = 0.2e1 * t330; + const double t913 = 0.19380455423088748428e-2 * t218; + const double t914 = 0.20727133333333333334e-1 * t196; + const double t915 = t262 / 0.12e2; + const double t918 = 0.8e1 * t335; + const double t919 = 0.8e1 * t338; + const double t920 = 0.2e1 * t387; + const double t921 = 0.14e2 / 0.3e1 * t345; + const double t922 = 0.2e1 * t384; + const double t925 = -t558 + t564 + t567 + t574 - t584 + t609 + t612 - t654 / 0.24e2 - t656 / 0.24e2 - t659 + t686; + const double t926 = t344 * t432; + const double t928 = t717 * t431; + const double t929 = t153 * t928; + const double t931 = t721 * t404; + const double t934 = t156 * t54; + const double t938 = piecewise_functor_3( t58, 0.0, 0.1e2 / 0.9e1 * t931 * t266 + 0.1e2 / 0.3e1 * t934 * t630 ); + const double t939 = t728 * t408; + const double t942 = t159 * t54; + const double t946 = piecewise_functor_3( t65, 0.0, 0.1e2 / 0.9e1 * t939 * t270 - 0.1e2 / 0.3e1 * t942 * t630 ); + const double t947 = t938 + t946; + const double t948 = t166 * t947; + const double t949 = t390 * t948; + const double t950 = t153 * t949; + const double t954 = 0.7e1 / 0.6e1 * t926 - t929 / 0.2e1 - t950 / 0.2e1 + 0.7e1 / 0.6e1 * t687 - t691 + t712 + t716 - t719 / 0.2e1 + t742 + t757 - t761; + const double t958 = t626 * t404; + const double t961 = t61 * t54; + const double t965 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t958 * t266 + 0.8e1 / 0.3e1 * t961 * t630 ); + const double t966 = t638 * t408; + const double t969 = t66 * t54; + const double t973 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t966 * t270 - 0.8e1 / 0.3e1 * t969 * t630 ); + const double t974 = t965 + t973; + const double t975 = t105 * t974; + const double t976 = t975 * t108; + const double t977 = t328 * t412; + const double t978 = t977 * t108; + const double t979 = t422 * t334; + const double t981 = t422 * t337; + const double t984 = -t765 - 0.4e1 * t769 - 0.4e1 * t771 + t776 + t780 + t976 + t978 + 0.4e1 * t979 - 0.4e1 * t981 + t789 - t792 / 0.2e1; + const double t985 = t114 * t381; + const double t986 = t745 * t166; + const double t987 = t430 * t397; + const double t988 = t986 * t987; + const double t989 = t985 * t988; + const double t991 = t791 * t432; + const double t993 = t275 * t419; + const double t997 = t74 * ( t614 - t620 ) * t83; + const double t998 = t70 * t997; + const double t1000 = t53 * t974; + const double t1001 = t1000 * t84; + const double t1003 = t413 * t286; + const double t1005 = t261 * t419; + const double t1007 = t260 * t412; + const double t1008 = t1007 * t84; + const double t1010 = -t794 + t906 + t901 + t903 + 0.3e1 / 0.4e1 * t989 - t991 / 0.2e1 - t993 / 0.24e2 - t998 / 0.24e2 - t1001 / 0.24e2 - t1003 / 0.24e2 - t1005 / 0.24e2 - t1008 / 0.24e2; + const double t1014 = t404 * t404; + const double t1018 = 0.2e1 * t264 + 0.2e1 * t631; + const double t1022 = piecewise_functor_3( t58, 0.0, 0.1e2 / 0.9e1 * t721 * t1014 + 0.5e1 / 0.3e1 * t156 * t1018 ); + const double t1023 = t408 * t408; + const double t1026 = -t1018; + const double t1030 = piecewise_functor_3( t65, 0.0, 0.1e2 / 0.9e1 * t728 * t1023 + 0.5e1 / 0.3e1 * t159 * t1026 ); + const double t1031 = t1022 + t1030; + const double t1032 = t166 * t1031; + const double t1033 = t390 * t1032; + const double t1034 = t153 * t1033; + const double t1035 = t1034 / 0.2e1; + const double t1036 = 0.7e1 / 0.3e1 * t926; + const double t1037 = -t558 + t564 + t567 + t574 - t584 + t609 + t612 - t659 + t686 - t1035 + t1036 - t929 - t691 + t712 + t716 + t742 + t757 - t761 + t765; + const double t1043 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t626 * t1014 + 0.4e1 / 0.3e1 * t61 * t1018 ); + const double t1049 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t638 * t1023 + 0.4e1 / 0.3e1 * t66 * t1026 ); + const double t1050 = t1043 + t1049; + const double t1051 = t105 * t1050; + const double t1052 = t1051 * t108; + const double t1055 = t74 * ( -t614 - t616 - t620 ) * t83; + const double t1056 = t70 * t1055; + const double t1057 = t1056 / 0.24e2; + const double t1058 = t53 * t1050; + const double t1059 = t1058 * t84; + const double t1060 = t1059 / 0.24e2; + const double t1061 = t413 * t419; + const double t1062 = t1061 / 0.12e2; + const double t1063 = 0.2e1 * t978; + const double t1064 = 0.8e1 * t979; + const double t1065 = 0.8e1 * t981; + const double t1066 = t1005 / 0.12e2; + const double t1067 = t1008 / 0.12e2; + const double t1068 = t430 * t430; + const double t1069 = t166 * t1068; + const double t1070 = t746 * t1069; + const double t1071 = t153 * t1070; + const double t1072 = 0.3e1 / 0.4e1 * t1071; + const double t1073 = t768 - t774 + t780 + t1052 - t1057 - t1060 - t1062 + t1063 - t1064 - t1065 + t789 - t794 + t906 + t901 + t903 - t991 - t1066 - t1067 + t1072; + const double t1079 = t342 * t152; + const double t1080 = t1079 * t167; + const double t1081 = 0.7e1 / 0.3e1 * t1080; + const double t1082 = t113 * t379; + const double t1083 = t1082 * t152; + const double t1084 = t1083 * t167; + const double t1085 = t437 * t386; + const double t1086 = t437 * t143; + const double t1087 = t389 * t166; + const double t1088 = t1087 * t397; + const double t1089 = t1086 * t1088; + const double t1090 = t1089 / 0.2e1; + const double t1092 = 0.1e1 / t439 / t78; + const double t1093 = t145 * t1092; + const double t1095 = t1093 * ftilde * t445; + const double t1096 = 0.7e1 / 0.4e1 * t1095; + const double t1097 = t442 * t116; + const double t1098 = t790 * t382; + const double t1099 = t1097 * t1098; + const double t1100 = t1099 / 0.2e1; + const double t1101 = t152 * t389; + const double t1102 = t1101 * t398; + const double t1103 = t1097 * t1102; + const double t1104 = t1103 / 0.4e1; + const double t1107 = 0.14e2 / 0.3e1 * t1080; + const double t1108 = 0.2e1 * t1084; + const double t1109 = 0.2e1 * t1085; + const double t1110 = 0.7e1 / 0.2e1 * t1095; + const double t1111 = t1103 / 0.2e1; + const double t1114 = t1087 * t430; + const double t1115 = t1086 * t1114; + const double t1116 = t1115 / 0.2e1; + const double t1117 = t1101 * t431; + const double t1118 = t1097 * t1117; + const double t1119 = t1118 / 0.4e1; + const double t1122 = t1118 / 0.2e1; + const double t1125 = t441 * ftilde; + const double t1126 = t1125 * t115; + const double t1127 = 0.1e1 / t145; + const double t1128 = t1127 * t152; + const double t1129 = t1128 * t382; + const double t1130 = t1126 * t1129; + const double t1131 = 0.3e1 / 0.4e1 * t1130; + const double t1133 = 0.1e1 / t126 / t78; + const double t1135 = t1133 * t1134; + const double t1138 = t144 * t152; + const double t1139 = t1138 * t382; + const double t1140 = t1135 * t1136 * t1139; + const double t1141 = t1140 / 0.4e1; + const double t1143 = 0.3e1 / 0.2e1 * t1130; + const double t1144 = t1140 / 0.2e1; + const double t1146 = 0.3e1 * t1130; + + + v2rho2_aa = t7 * ( t720 + t907 ) + t910 + t911 + 0.2e1 * t332 + t913 + t914 - t915 - t276 / 0.12e2 - t287 / 0.12e2 + t918 - t919 + t920 - t921 - t400 + t922; + v2rho2_ab = t7 * ( t925 + t954 + t984 + t1010 ) + t910 + t911 + t332 + t423 + t913 + t914 - t915 - t277 - t288 - t919 + t920 - t415 - t421 - t921 - t401 + t922 - t434; + v2rho2_bb = t7 * ( t1037 + t1073 ) + t910 + t911 + 0.2e1 * t423 + t913 + t914 - t915 - t918 - t919 + t920 - t414 / 0.12e2 - t420 / 0.12e2 - t921 + t922 - t433; + v2rhosigma_a_aa = t438 - t447 + t7 * ( -t1081 + t1084 + t1085 - t1090 + t1096 - t1100 + t1104 ); + v2rhosigma_a_ab = t449 - t446 + t7 * ( -t1107 + t1108 + t1109 - t1089 + t1110 - t1099 + t1111 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t438 - t447 + t7 * ( -t1081 + t1084 + t1085 - t1116 + t1096 - t1100 + t1119 ); + v2rhosigma_b_ab = t449 - t446 + t7 * ( -t1107 + t1108 + t1109 - t1115 + t1110 - t1099 + t1122 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t7 * ( -t1131 + t1141 ); + v2sigma2_aa_ab = t7 * ( -t1143 + t1144 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t7 * ( -t1146 + t1140 ); + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + constexpr double t115 = aa + bb; + constexpr double t116 = ftilde * t115; + constexpr double t117 = malpha * t1; + constexpr double t118 = t3 * t6; + constexpr double t122 = t1 * t1; + constexpr double t123 = mbeta * t122; + constexpr double t124 = t3 * t3; + constexpr double t125 = t124 * t5; + constexpr double t132 = mgamma * t1; + constexpr double t135 = mdelta * t122; + constexpr double t175 = t4 * t6; + constexpr double t192 = 0.1e1 / t3; + constexpr double t530 = t122 * t124; + constexpr double t1134 = ftilde * ftilde; + constexpr double t1136 = t115 * t115; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t62 = t61 * t57; + const double t63 = piecewise_functor_3( t58, t60, t62 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t67 = t66 * t64; + const double t68 = piecewise_functor_3( t65, t60, t67 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t86 = t70 * t84 / 0.24e2; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t109 = t106 * t108; + const double t111 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t113 = 0.1e1 / t8 / t77; + const double t114 = t111 * t113; + const double t119 = t118 * t9; + const double t126 = t8 * t8; + const double t127 = 0.1e1 / t126; + const double t128 = t125 * t127; + const double t131 = bb + t117 * t119 / 0.4e1 + t123 * t128 / 0.4e1; + const double t140 = 0.1e1 + t132 * t119 / 0.4e1 + t135 * t128 / 0.4e1 + 0.23873241463784300365e4 * mbeta * t55; + const double t141 = 0.1e1 / t140; + const double t143 = t131 * t141 + aa; + const double t144 = 0.1e1 / t143; + const double t145 = safe_math::sqrt( t111 ); + const double t146 = t144 * t145; + const double t147 = safe_math::pow( t7, 0.1e1 / 0.6e1 ); + const double t149 = 0.1e1 / t147 / t7; + const double t152 = safe_math::exp( -t116 * t146 * t149 ); + const double t153 = t114 * t152; + const double t154 = t59 * t59; + const double t155 = t154 * zeta_tol; + const double t156 = t61 * t61; + const double t157 = t156 * t57; + const double t158 = piecewise_functor_3( t58, t155, t157 ); + const double t159 = t66 * t66; + const double t160 = t159 * t64; + const double t161 = piecewise_functor_3( t65, t155, t160 ); + const double t162 = t158 + t161; + const double t163 = safe_math::sqrt( t162 ); + const double t164 = 0.1e1 / t163; + const double t165 = t143 * t164; + const double t166 = M_SQRT2; + const double t167 = t165 * t166; + const double t168 = t153 * t167; + const double t170 = 0.1e1 / t8 / t7; + const double t171 = t6 * t170; + const double t176 = t15 * t15; + const double t177 = 0.1e1 / t176; + const double t178 = t9 * t177; + const double t179 = t4 * t171; + const double t180 = t179 / 0.12e2; + const double t181 = 0.1e1 / t13; + const double t182 = t181 * t1; + const double t183 = t118 * t170; + const double t184 = t182 * t183; + const double t186 = -t180 - 0.31062e0 * t184; + const double t193 = ( -t4 * t171 * t16 / 0.12e2 - t175 * t178 * t186 / 0.4e1 ) * t122 * t192; + const double t194 = t5 * t8; + const double t195 = t194 * t15; + const double t196 = t193 * t195; + const double t197 = 0.10363566666666666667e-1 * t196; + const double t198 = t22 * t22; + const double t199 = 0.1e1 / t198; + const double t201 = t199 * t181 * t1; + const double t203 = 0.378469910464e2 * t199 + 0.1e1; + const double t204 = 0.1e1 / t203; + const double t207 = t201 * t118 * t170 * t204; + const double t208 = 0.39765745675026770179e-1 * t207; + const double t209 = t28 * t16; + const double t210 = t209 * t181; + const double t213 = t29 * t177; + const double t215 = -t210 * t179 / 0.6e1 - t213 * t186; + const double t216 = 0.1e1 / t29; + const double t217 = t215 * t216; + const double t218 = t217 * t15; + const double t219 = 0.96902277115443742139e-3 * t218; + const double t223 = t36 * t36; + const double t224 = 0.1e1 / t223; + const double t225 = t9 * t224; + const double t227 = -t180 - 0.94255833333333333334e-1 * t184; + const double t233 = ( -t4 * t171 * t37 / 0.12e2 - t175 * t225 * t227 / 0.4e1 ) * t122 * t192; + const double t234 = t194 * t36; + const double t237 = t42 * t42; + const double t238 = 0.1e1 / t237; + const double t240 = t238 * t181 * t1; + const double t242 = 0.50738680655100000001e2 * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t248 = t47 * t37; + const double t249 = t248 * t181; + const double t252 = t48 * t224; + const double t254 = -t249 * t179 / 0.6e1 - t252 * t227; + const double t255 = 0.1e1 / t48; + const double t256 = t254 * t255; + const double t260 = t34 * ( t233 * t234 / 0.3e1 + 0.37717812030896172975e0 * t240 * t118 * t170 * t243 + 0.41403379428206274608e-3 * t256 * t36 ); + const double t261 = t260 * t69; + const double t262 = t261 * t84; + const double t263 = t262 / 0.24e2; + const double t264 = 0.1e1 / t77; + const double t265 = t54 * t264; + const double t266 = t55 - t265; + const double t269 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t266 ); + const double t270 = -t266; + const double t273 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t270 ); + const double t274 = t269 + t273; + const double t275 = t53 * t274; + const double t276 = t275 * t84; + const double t277 = t276 / 0.24e2; + const double t278 = t75 * t54; + const double t279 = t278 * t79; + const double t280 = t78 * t7; + const double t281 = 0.1e1 / t280; + const double t282 = t76 * t281; + const double t286 = t74 * ( -0.4e1 * t279 + 0.4e1 * t282 ) * t83; + const double t287 = t70 * t286; + const double t288 = t287 / 0.24e2; + const double t292 = t88 * t88; + const double t293 = 0.1e1 / t292; + const double t294 = t9 * t293; + const double t296 = -t180 - 0.58836833333333333333e0 * t184; + const double t302 = ( -t4 * t171 * t89 / 0.12e2 - t175 * t294 * t296 / 0.4e1 ) * t122 * t192; + const double t303 = t194 * t88; + const double t306 = t95 * t95; + const double t307 = 0.1e1 / t306; + const double t309 = t307 * t181 * t1; + const double t311 = 0.223816694236e2 * t307 + 0.1e1; + const double t312 = 0.1e1 / t311; + const double t317 = t100 * t89; + const double t318 = t317 * t181; + const double t321 = t101 * t293; + const double t323 = -t318 * t179 / 0.6e1 - t321 * t296; + const double t324 = 0.1e1 / t101; + const double t325 = t323 * t324; + const double t328 = 0.51817833333333333333e-2 * t302 * t303 + 0.41388824077869423261e-1 * t309 * t118 * t170 * t312 + 0.22478670955426118383e-2 * t325 * t88 - t197 - t208 - t219; + const double t329 = t328 * t69; + const double t330 = t329 * t108; + const double t331 = t105 * t274; + const double t332 = t331 * t108; + const double t333 = t74 * t278; + const double t334 = t333 * t79; + const double t335 = t106 * t334; + const double t336 = 0.4e1 * t335; + const double t337 = t107 * t281; + const double t338 = t106 * t337; + const double t339 = 0.4e1 * t338; + const double t340 = t77 * t7; + const double t342 = 0.1e1 / t8 / t340; + const double t343 = t111 * t342; + const double t344 = t343 * t152; + const double t345 = t344 * t167; + const double t346 = 0.7e1 / 0.3e1 * t345; + const double t347 = t143 * t143; + const double t348 = 0.1e1 / t347; + const double t349 = t116 * t348; + const double t350 = t145 * t149; + const double t354 = 0.1e1 / t126 / t7; + const double t355 = t125 * t354; + const double t358 = -t117 * t183 / 0.12e2 - t123 * t355 / 0.6e1; + const double t360 = t140 * t140; + const double t361 = 0.1e1 / t360; + const double t362 = t131 * t361; + const double t369 = -t132 * t183 / 0.12e2 - t135 * t355 / 0.6e1 - 0.23873241463784300365e4 * mbeta * t264; + const double t371 = t358 * t141 - t362 * t369; + const double t375 = 0.1e1 / t147 / t77; + const double t379 = t349 * t350 * t371 + 0.7e1 / 0.6e1 * t116 * t146 * t375; + const double t380 = t114 * t379; + const double t381 = t152 * t143; + const double t382 = t164 * t166; + const double t383 = t381 * t382; + const double t384 = t380 * t383; + const double t386 = t371 * t164 * t166; + const double t387 = t153 * t386; + const double t389 = 0.1e1 / t163 / t162; + const double t390 = t143 * t389; + const double t393 = piecewise_functor_3( t58, 0.0, 0.5e1 / 0.3e1 * t156 * t266 ); + const double t396 = piecewise_functor_3( t65, 0.0, 0.5e1 / 0.3e1 * t159 * t270 ); + const double t397 = t393 + t396; + const double t398 = t166 * t397; + const double t399 = t390 * t398; + const double t400 = t153 * t399; + const double t401 = t400 / 0.2e1; + const double t402 = t197 + t208 + t219 - t263 - t277 - t288 + t330 + t332 + t336 - t339 - t346 + t384 + t387 - t401; + const double t404 = -t55 - t265; + const double t407 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t404 ); + const double t408 = -t404; + const double t411 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t408 ); + const double t412 = t407 + t411; + const double t413 = t53 * t412; + const double t414 = t413 * t84; + const double t415 = t414 / 0.24e2; + const double t419 = t74 * ( 0.4e1 * t279 + 0.4e1 * t282 ) * t83; + const double t420 = t70 * t419; + const double t421 = t420 / 0.24e2; + const double t422 = t105 * t412; + const double t423 = t422 * t108; + const double t426 = piecewise_functor_3( t58, 0.0, 0.5e1 / 0.3e1 * t156 * t404 ); + const double t429 = piecewise_functor_3( t65, 0.0, 0.5e1 / 0.3e1 * t159 * t408 ); + const double t430 = t426 + t429; + const double t431 = t166 * t430; + const double t432 = t390 * t431; + const double t433 = t153 * t432; + const double t434 = t433 / 0.2e1; + const double t435 = t197 + t208 + t219 - t263 - t415 - t421 + t330 + t423 - t336 - t339 - t346 + t384 + t387 - t434; + const double t437 = t113 * t152; + const double t438 = t437 * t167; + const double t439 = safe_math::sqrt( t7 ); + const double t441 = 0.1e1 / t439 / t340; + const double t442 = t145 * t441; + const double t445 = t115 * t152 * t382; + const double t446 = t442 * ftilde * t445; + const double t447 = t446 / 0.2e1; + const double t449 = 0.2e1 * t438; + const double t451 = t6 * t113; + const double t453 = t4 * t451 * t37; + const double t455 = t170 * t224; + const double t460 = 0.1e1 / t223 / t36; + const double t461 = t9 * t460; + const double t462 = t227 * t227; + const double t466 = t4 * t451; + const double t467 = t466 / 0.9e1; + const double t469 = 0.1e1 / t13 / t11; + const double t470 = t469 * t122; + const double t472 = 0.1e1 / t126 / t77; + const double t473 = t125 * t472; + const double t474 = t470 * t473; + const double t476 = t118 * t113; + const double t477 = t182 * t476; + const double t479 = t467 - 0.62837222222222222223e-1 * t474 + 0.12567444444444444445e0 * t477; + const double t485 = ( t453 / 0.9e1 + t175 * t455 * t227 / 0.6e1 + t175 * t461 * t462 / 0.2e1 - t175 * t225 * t479 / 0.4e1 ) * t122 * t192; + const double t488 = t5 * t127; + const double t489 = t488 * t36; + const double t492 = t194 * t227; + const double t495 = t237 * t42; + const double t496 = 0.1e1 / t495; + const double t497 = t496 * t1; + const double t498 = t497 * t3; + const double t503 = t238 * t469 * t122; + const double t512 = t237 * t237; + const double t514 = 0.1e1 / t512 / t42; + const double t515 = t514 * t1; + const double t516 = t515 * t3; + const double t517 = t242 * t242; + const double t518 = 0.1e1 / t517; + const double t523 = t47 * t224; + const double t524 = t523 * t182; + const double t525 = t170 * t227; + const double t529 = t248 * t469; + const double t531 = t5 * t472; + const double t532 = t530 * t531; + const double t537 = t48 * t460; + const double t541 = t453 / 0.72e2 + t524 * t118 * t525 / 0.3e1 - t529 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t249 * t466 + 0.2e1 * t537 * t462 - t252 * t479; + const double t542 = t541 * t255; + const double t546 = 0.1e1 / t48 / t47; + const double t547 = t254 * t546; + const double t548 = t36 * t181; + const double t549 = t547 * t548; + const double t555 = t34 * ( t485 * t234 / 0.3e1 + t233 * t489 / 0.9e1 + t233 * t492 / 0.3e1 + 0.12572604010298724325e0 * t498 * t451 * t243 + 0.2514520802059744865e0 * t503 * t125 * t472 * t243 - 0.502904160411948973e0 * t240 * t118 * t113 * t243 - 0.63791733988157656508e1 * t516 * t451 * t518 + 0.41403379428206274608e-3 * t542 * t36 + 0.69005632380343791013e-4 * t549 * t179 + 0.41403379428206274608e-3 * t256 * t227 ); + const double t556 = t555 * t69; + const double t557 = t556 * t84; + const double t558 = t557 / 0.24e2; + const double t560 = 0.1e1 / t8 / t78; + const double t561 = t111 * t560; + const double t562 = t561 * t152; + const double t563 = t562 * t167; + const double t564 = 0.7e2 / 0.9e1 * t563; + const double t565 = t194 * t186; + const double t566 = t193 * t565; + const double t567 = 0.10363566666666666667e-1 * t566; + const double t568 = t198 * t22; + const double t569 = 0.1e1 / t568; + const double t570 = t569 * t1; + const double t571 = t570 * t3; + const double t573 = t571 * t451 * t204; + const double t574 = 0.13255248558342256726e-1 * t573; + const double t575 = t198 * t198; + const double t577 = 0.1e1 / t575 / t22; + const double t578 = t577 * t1; + const double t579 = t578 * t3; + const double t580 = t203 * t203; + const double t581 = 0.1e1 / t580; + const double t583 = t579 * t451 * t581; + const double t584 = 0.50167127350538589834e0 * t583; + const double t586 = t4 * t451 * t16; + const double t588 = t170 * t177; + const double t593 = 0.1e1 / t176 / t15; + const double t594 = t9 * t593; + const double t595 = t186 * t186; + const double t601 = t467 - 0.20708e0 * t474 + 0.41416e0 * t477; + const double t607 = ( t586 / 0.9e1 + t175 * t588 * t186 / 0.6e1 + t175 * t594 * t595 / 0.2e1 - t175 * t178 * t601 / 0.4e1 ) * t122 * t192; + const double t608 = t607 * t195; + const double t609 = 0.10363566666666666667e-1 * t608; + const double t610 = t488 * t15; + const double t611 = t193 * t610; + const double t612 = 0.34545222222222222223e-2 * t611; + const double t614 = 0.12e2 * t75 * t79; + const double t616 = 0.32e2 * t278 * t281; + const double t617 = t78 * t77; + const double t618 = 0.1e1 / t617; + const double t620 = 0.2e2 * t76 * t618; + const double t623 = t74 * ( -t614 + t616 - t620 ) * t83; + const double t624 = t70 * t623; + const double t625 = t624 / 0.24e2; + const double t626 = 0.1e1 / t156; + const double t627 = t266 * t266; + const double t630 = 0.1e1 / t340; + const double t631 = t54 * t630; + const double t633 = -0.2e1 * t264 + 0.2e1 * t631; + const double t637 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t626 * t627 + 0.4e1 / 0.3e1 * t61 * t633 ); + const double t638 = 0.1e1 / t159; + const double t639 = t270 * t270; + const double t642 = -t633; + const double t646 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t638 * t639 + 0.4e1 / 0.3e1 * t66 * t642 ); + const double t647 = t637 + t646; + const double t648 = t53 * t647; + const double t649 = t648 * t84; + const double t650 = t649 / 0.24e2; + const double t651 = t275 * t286; + const double t652 = t651 / 0.12e2; + const double t653 = t260 * t274; + const double t654 = t653 * t84; + const double t655 = t654 / 0.12e2; + const double t656 = t261 * t286; + const double t657 = t656 / 0.12e2; + const double t658 = t344 * t386; + const double t659 = 0.14e2 / 0.3e1 * t658; + const double t664 = t117 * t476 / 0.9e1 + 0.5e1 / 0.18e2 * t123 * t473; + const double t666 = t358 * t361; + const double t670 = 0.1e1 / t360 / t140; + const double t671 = t131 * t670; + const double t672 = t369 * t369; + const double t681 = t132 * t476 / 0.9e1 + 0.5e1 / 0.18e2 * t135 * t473 + 0.4774648292756860073e4 * mbeta * t630; + const double t683 = t664 * t141 - t362 * t681 - 0.2e1 * t666 * t369 + 0.2e1 * t671 * t672; + const double t685 = t683 * t164 * t166; + const double t686 = t153 * t685; + const double t687 = t344 * t399; + const double t688 = 0.7e1 / 0.3e1 * t687; + const double t689 = t343 * t379; + const double t690 = t689 * t383; + const double t691 = 0.14e2 / 0.3e1 * t690; + const double t693 = 0.1e1 / t347 / t143; + const double t694 = t116 * t693; + const double t695 = t371 * t371; + const double t699 = t145 * t375; + const double t706 = 0.1e1 / t147 / t340; + const double t710 = -0.2e1 * t694 * t350 * t695 - 0.7e1 / 0.3e1 * t349 * t699 * t371 + t349 * t350 * t683 - 0.91e2 / 0.36e2 * t116 * t146 * t706; + const double t711 = t114 * t710; + const double t712 = t711 * t383; + const double t713 = t152 * t371; + const double t714 = t713 * t382; + const double t715 = t380 * t714; + const double t716 = 0.2e1 * t715; + const double t717 = t371 * t389; + const double t718 = t717 * t398; + const double t719 = t153 * t718; + const double t720 = -t558 + t564 + t567 + t574 - t584 + t609 + t612 - t625 - t650 - t652 - t655 - t657 - t659 + t686 + t688 - t691 + t712 + t716 - t719; + const double t721 = 0.1e1 / t61; + const double t727 = piecewise_functor_3( t58, 0.0, 0.1e2 / 0.9e1 * t721 * t627 + 0.5e1 / 0.3e1 * t156 * t633 ); + const double t728 = 0.1e1 / t66; + const double t734 = piecewise_functor_3( t65, 0.0, 0.1e2 / 0.9e1 * t728 * t639 + 0.5e1 / 0.3e1 * t159 * t642 ); + const double t735 = t727 + t734; + const double t736 = t166 * t735; + const double t737 = t390 * t736; + const double t738 = t153 * t737; + const double t739 = t738 / 0.2e1; + const double t740 = t379 * t379; + const double t741 = t114 * t740; + const double t742 = t741 * t383; + const double t743 = t162 * t162; + const double t745 = 0.1e1 / t163 / t743; + const double t746 = t143 * t745; + const double t747 = t397 * t397; + const double t748 = t166 * t747; + const double t749 = t746 * t748; + const double t750 = t153 * t749; + const double t751 = 0.3e1 / 0.4e1 * t750; + const double t753 = t199 * t469 * t122; + const double t756 = t753 * t125 * t472 * t204; + const double t757 = 0.26510497116684513453e-1 * t756; + const double t760 = t201 * t118 * t113 * t204; + const double t761 = 0.53020994233369026905e-1 * t760; + const double t762 = t74 * t75; + const double t763 = t762 * t79; + const double t764 = t106 * t763; + const double t765 = 0.12e2 * t764; + const double t766 = t333 * t281; + const double t767 = t106 * t766; + const double t768 = 0.32e2 * t767; + const double t769 = t331 * t334; + const double t770 = 0.8e1 * t769; + const double t771 = t331 * t337; + const double t772 = 0.8e1 * t771; + const double t773 = t329 * t334; + const double t774 = 0.8e1 * t773; + const double t775 = t328 * t274; + const double t776 = t775 * t108; + const double t777 = 0.2e1 * t776; + const double t778 = t107 * t618; + const double t779 = t106 * t778; + const double t780 = 0.2e2 * t779; + const double t781 = t105 * t647; + const double t782 = t781 * t108; + const double t784 = 0.1e1 / t29 / t28; + const double t785 = t215 * t784; + const double t786 = t15 * t181; + const double t787 = t785 * t786; + const double t788 = t787 * t179; + const double t789 = 0.1615037951924062369e-3 * t788; + const double t790 = t379 * t152; + const double t791 = t114 * t790; + const double t792 = t791 * t399; + const double t793 = t329 * t337; + const double t794 = 0.8e1 * t793; + const double t796 = t4 * t451 * t89; + const double t798 = t170 * t293; + const double t803 = 0.1e1 / t292 / t88; + const double t804 = t9 * t803; + const double t805 = t296 * t296; + const double t811 = t467 - 0.39224555555555555555e0 * t474 + 0.7844911111111111111e0 * t477; + const double t817 = ( t796 / 0.9e1 + t175 * t798 * t296 / 0.6e1 + t175 * t804 * t805 / 0.2e1 - t175 * t294 * t811 / 0.4e1 ) * t122 * t192; + const double t820 = t488 * t88; + const double t823 = t194 * t296; + const double t826 = t306 * t95; + const double t827 = 0.1e1 / t826; + const double t828 = t827 * t1; + const double t829 = t828 * t3; + const double t834 = t307 * t469 * t122; + const double t843 = t306 * t306; + const double t845 = 0.1e1 / t843 / t95; + const double t846 = t845 * t1; + const double t847 = t846 * t3; + const double t848 = t311 * t311; + const double t849 = 0.1e1 / t848; + const double t854 = t100 * t293; + const double t855 = t854 * t182; + const double t856 = t170 * t296; + const double t860 = t317 * t469; + const double t865 = t101 * t803; + const double t869 = t796 / 0.72e2 + t855 * t118 * t856 / 0.3e1 - t860 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t318 * t466 + 0.2e1 * t865 * t805 - t321 * t811; + const double t870 = t869 * t324; + const double t874 = 0.1e1 / t101 / t100; + const double t875 = t323 * t874; + const double t876 = t88 * t181; + const double t877 = t875 * t876; + const double t883 = t28 * t177; + const double t884 = t883 * t182; + const double t885 = t170 * t186; + const double t889 = t209 * t469; + const double t894 = t29 * t593; + const double t898 = t586 / 0.72e2 + t884 * t118 * t885 / 0.3e1 - t889 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t210 * t466 + 0.2e1 * t894 * t595 - t213 * t601; + const double t899 = t898 * t216; + const double t900 = t899 * t15; + const double t901 = 0.96902277115443742139e-3 * t900; + const double t902 = t217 * t186; + const double t903 = 0.96902277115443742139e-3 * t902; + const double t904 = 0.51817833333333333333e-2 * t817 * t303 + 0.17272611111111111111e-2 * t302 * t820 + 0.51817833333333333333e-2 * t302 * t823 + 0.13796274692623141087e-1 * t829 * t451 * t312 + 0.27592549385246282174e-1 * t834 * t125 * t472 * t312 - 0.55185098770492564348e-1 * t309 * t118 * t113 * t312 - 0.30878365944746984535e0 * t847 * t451 * t849 + 0.22478670955426118383e-2 * t870 * t88 + 0.37464451592376863972e-3 * t877 * t179 + 0.22478670955426118383e-2 * t325 * t296 - t609 - t612 - t567 - t574 - t757 + t761 + t584 - t901 - t789 - t903; + const double t905 = t904 * t69; + const double t906 = t905 * t108; + const double t907 = -t739 + t742 + t751 + t757 - t761 + t765 - t768 + t770 - t772 + t774 + t777 + t780 + t782 + t789 - t792 - t794 + t906 + t901 + t903; + const double t910 = 0.79531491350053540358e-1 * t207; + const double t911 = 0.2e1 * t330; + const double t913 = 0.19380455423088748428e-2 * t218; + const double t914 = 0.20727133333333333334e-1 * t196; + const double t915 = t262 / 0.12e2; + const double t918 = 0.8e1 * t335; + const double t919 = 0.8e1 * t338; + const double t920 = 0.2e1 * t387; + const double t921 = 0.14e2 / 0.3e1 * t345; + const double t922 = 0.2e1 * t384; + const double t925 = -t558 + t564 + t567 + t574 - t584 + t609 + t612 - t654 / 0.24e2 - t656 / 0.24e2 - t659 + t686; + const double t926 = t344 * t432; + const double t928 = t717 * t431; + const double t929 = t153 * t928; + const double t931 = t721 * t404; + const double t934 = t156 * t54; + const double t938 = piecewise_functor_3( t58, 0.0, 0.1e2 / 0.9e1 * t931 * t266 + 0.1e2 / 0.3e1 * t934 * t630 ); + const double t939 = t728 * t408; + const double t942 = t159 * t54; + const double t946 = piecewise_functor_3( t65, 0.0, 0.1e2 / 0.9e1 * t939 * t270 - 0.1e2 / 0.3e1 * t942 * t630 ); + const double t947 = t938 + t946; + const double t948 = t166 * t947; + const double t949 = t390 * t948; + const double t950 = t153 * t949; + const double t954 = 0.7e1 / 0.6e1 * t926 - t929 / 0.2e1 - t950 / 0.2e1 + 0.7e1 / 0.6e1 * t687 - t691 + t712 + t716 - t719 / 0.2e1 + t742 + t757 - t761; + const double t958 = t626 * t404; + const double t961 = t61 * t54; + const double t965 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t958 * t266 + 0.8e1 / 0.3e1 * t961 * t630 ); + const double t966 = t638 * t408; + const double t969 = t66 * t54; + const double t973 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t966 * t270 - 0.8e1 / 0.3e1 * t969 * t630 ); + const double t974 = t965 + t973; + const double t975 = t105 * t974; + const double t976 = t975 * t108; + const double t977 = t328 * t412; + const double t978 = t977 * t108; + const double t979 = t422 * t334; + const double t981 = t422 * t337; + const double t984 = -t765 - 0.4e1 * t769 - 0.4e1 * t771 + t776 + t780 + t976 + t978 + 0.4e1 * t979 - 0.4e1 * t981 + t789 - t792 / 0.2e1; + const double t985 = t114 * t381; + const double t986 = t745 * t166; + const double t987 = t430 * t397; + const double t988 = t986 * t987; + const double t989 = t985 * t988; + const double t991 = t791 * t432; + const double t993 = t275 * t419; + const double t997 = t74 * ( t614 - t620 ) * t83; + const double t998 = t70 * t997; + const double t1000 = t53 * t974; + const double t1001 = t1000 * t84; + const double t1003 = t413 * t286; + const double t1005 = t261 * t419; + const double t1007 = t260 * t412; + const double t1008 = t1007 * t84; + const double t1010 = -t794 + t906 + t901 + t903 + 0.3e1 / 0.4e1 * t989 - t991 / 0.2e1 - t993 / 0.24e2 - t998 / 0.24e2 - t1001 / 0.24e2 - t1003 / 0.24e2 - t1005 / 0.24e2 - t1008 / 0.24e2; + const double t1014 = t404 * t404; + const double t1018 = 0.2e1 * t264 + 0.2e1 * t631; + const double t1022 = piecewise_functor_3( t58, 0.0, 0.1e2 / 0.9e1 * t721 * t1014 + 0.5e1 / 0.3e1 * t156 * t1018 ); + const double t1023 = t408 * t408; + const double t1026 = -t1018; + const double t1030 = piecewise_functor_3( t65, 0.0, 0.1e2 / 0.9e1 * t728 * t1023 + 0.5e1 / 0.3e1 * t159 * t1026 ); + const double t1031 = t1022 + t1030; + const double t1032 = t166 * t1031; + const double t1033 = t390 * t1032; + const double t1034 = t153 * t1033; + const double t1035 = t1034 / 0.2e1; + const double t1036 = 0.7e1 / 0.3e1 * t926; + const double t1037 = -t558 + t564 + t567 + t574 - t584 + t609 + t612 - t659 + t686 - t1035 + t1036 - t929 - t691 + t712 + t716 + t742 + t757 - t761 + t765; + const double t1043 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t626 * t1014 + 0.4e1 / 0.3e1 * t61 * t1018 ); + const double t1049 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t638 * t1023 + 0.4e1 / 0.3e1 * t66 * t1026 ); + const double t1050 = t1043 + t1049; + const double t1051 = t105 * t1050; + const double t1052 = t1051 * t108; + const double t1055 = t74 * ( -t614 - t616 - t620 ) * t83; + const double t1056 = t70 * t1055; + const double t1057 = t1056 / 0.24e2; + const double t1058 = t53 * t1050; + const double t1059 = t1058 * t84; + const double t1060 = t1059 / 0.24e2; + const double t1061 = t413 * t419; + const double t1062 = t1061 / 0.12e2; + const double t1063 = 0.2e1 * t978; + const double t1064 = 0.8e1 * t979; + const double t1065 = 0.8e1 * t981; + const double t1066 = t1005 / 0.12e2; + const double t1067 = t1008 / 0.12e2; + const double t1068 = t430 * t430; + const double t1069 = t166 * t1068; + const double t1070 = t746 * t1069; + const double t1071 = t153 * t1070; + const double t1072 = 0.3e1 / 0.4e1 * t1071; + const double t1073 = t768 - t774 + t780 + t1052 - t1057 - t1060 - t1062 + t1063 - t1064 - t1065 + t789 - t794 + t906 + t901 + t903 - t991 - t1066 - t1067 + t1072; + const double t1079 = t342 * t152; + const double t1080 = t1079 * t167; + const double t1081 = 0.7e1 / 0.3e1 * t1080; + const double t1082 = t113 * t379; + const double t1083 = t1082 * t152; + const double t1084 = t1083 * t167; + const double t1085 = t437 * t386; + const double t1086 = t437 * t143; + const double t1087 = t389 * t166; + const double t1088 = t1087 * t397; + const double t1089 = t1086 * t1088; + const double t1090 = t1089 / 0.2e1; + const double t1092 = 0.1e1 / t439 / t78; + const double t1093 = t145 * t1092; + const double t1095 = t1093 * ftilde * t445; + const double t1096 = 0.7e1 / 0.4e1 * t1095; + const double t1097 = t442 * t116; + const double t1098 = t790 * t382; + const double t1099 = t1097 * t1098; + const double t1100 = t1099 / 0.2e1; + const double t1101 = t152 * t389; + const double t1102 = t1101 * t398; + const double t1103 = t1097 * t1102; + const double t1104 = t1103 / 0.4e1; + const double t1107 = 0.14e2 / 0.3e1 * t1080; + const double t1108 = 0.2e1 * t1084; + const double t1109 = 0.2e1 * t1085; + const double t1110 = 0.7e1 / 0.2e1 * t1095; + const double t1111 = t1103 / 0.2e1; + const double t1114 = t1087 * t430; + const double t1115 = t1086 * t1114; + const double t1116 = t1115 / 0.2e1; + const double t1117 = t1101 * t431; + const double t1118 = t1097 * t1117; + const double t1119 = t1118 / 0.4e1; + const double t1122 = t1118 / 0.2e1; + const double t1125 = t441 * ftilde; + const double t1126 = t1125 * t115; + const double t1127 = 0.1e1 / t145; + const double t1128 = t1127 * t152; + const double t1129 = t1128 * t382; + const double t1130 = t1126 * t1129; + const double t1131 = 0.3e1 / 0.4e1 * t1130; + const double t1133 = 0.1e1 / t126 / t78; + const double t1135 = t1133 * t1134; + const double t1138 = t144 * t152; + const double t1139 = t1138 * t382; + const double t1140 = t1135 * t1136 * t1139; + const double t1141 = t1140 / 0.4e1; + const double t1143 = 0.3e1 / 0.2e1 * t1130; + const double t1144 = t1140 / 0.2e1; + const double t1146 = 0.3e1 * t1130; + + + vrho_a = t7 * t402 + t109 + t168 + t21 + t26 + t32 - t86; + vrho_b = t7 * t435 + t109 + t168 + t21 + t26 + t32 - t86; + vsigma_aa = t7 * ( t438 - t447 ); + vsigma_ab = t7 * ( t449 - t446 ); + vsigma_bb = vsigma_aa; + v2rho2_aa = t7 * ( t720 + t907 ) + t910 + t911 + 0.2e1 * t332 + t913 + t914 - t915 - t276 / 0.12e2 - t287 / 0.12e2 + t918 - t919 + t920 - t921 - t400 + t922; + v2rho2_ab = t7 * ( t925 + t954 + t984 + t1010 ) + t910 + t911 + t332 + t423 + t913 + t914 - t915 - t277 - t288 - t919 + t920 - t415 - t421 - t921 - t401 + t922 - t434; + v2rho2_bb = t7 * ( t1037 + t1073 ) + t910 + t911 + 0.2e1 * t423 + t913 + t914 - t915 - t918 - t919 + t920 - t414 / 0.12e2 - t420 / 0.12e2 - t921 + t922 - t433; + v2rhosigma_a_aa = t438 - t447 + t7 * ( -t1081 + t1084 + t1085 - t1090 + t1096 - t1100 + t1104 ); + v2rhosigma_a_ab = t449 - t446 + t7 * ( -t1107 + t1108 + t1109 - t1089 + t1110 - t1099 + t1111 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t438 - t447 + t7 * ( -t1081 + t1084 + t1085 - t1116 + t1096 - t1100 + t1119 ); + v2rhosigma_b_ab = t449 - t446 + t7 * ( -t1107 + t1108 + t1109 - t1115 + t1110 - t1099 + t1122 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t7 * ( -t1131 + t1141 ); + v2sigma2_aa_ab = t7 * ( -t1143 + t1144 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t7 * ( -t1146 + t1140 ); + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + +}; + +struct BuiltinP86VWN_FT_C : detail::BuiltinKernelImpl< BuiltinP86VWN_FT_C > { + + BuiltinP86VWN_FT_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinP86VWN_FT_C >(p) { } + + virtual ~BuiltinP86VWN_FT_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pbe0.hpp b/include/exchcxx/impl/builtin/kernels/pbe0.hpp deleted file mode 100644 index 80a3249..0000000 --- a/include/exchcxx/impl/builtin/kernels/pbe0.hpp +++ /dev/null @@ -1,114 +0,0 @@ -#pragma once -#include - -#include -#include -#include -#include - -#include -#include - -namespace ExchCXX { - -template <> -struct kernel_traits { - - using pbe_x_traits = kernel_traits; - using pbe_c_traits = kernel_traits; - - static constexpr bool is_hyb = true; - static constexpr bool is_lda = false; - static constexpr bool is_gga = true; - static constexpr bool is_mgga = false; - static constexpr double exx_coeff = 0.25; - static constexpr bool is_epc = false; - - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_unpolar( double rho, double sigma, double& eps ) { - - pbe_x_traits::eval_exc_unpolar( rho, sigma, eps ); - double eps_x = eps; - - pbe_c_traits::eval_exc_unpolar( rho, sigma, eps ); - - eps = (1. - exx_coeff) * eps_x + eps; - - } - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar( double rho_a, double rho_b, double sigma_aa, - double sigma_ab, double sigma_bb, double& eps ) { - - pbe_x_traits::eval_exc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, eps ); - double eps_x = eps; - - pbe_c_traits::eval_exc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, eps ); - - eps = (1. - exx_coeff) * eps_x + eps; - - } - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_unpolar( double rho, double sigma, double& eps, double& vrho, - double& vsigma ) { - - pbe_x_traits::eval_exc_vxc_unpolar( rho, sigma, eps, vrho, vsigma ); - double eps_x = eps; - double vrho_x = vrho; - double vsigma_x = vsigma; - - - pbe_c_traits::eval_exc_vxc_unpolar( rho, sigma, eps, vrho, vsigma ); - - eps = (1. - exx_coeff) * eps_x + eps; - vrho = (1. - exx_coeff) * vrho_x + vrho; - vsigma = (1. - exx_coeff) * vsigma_x + vsigma; - - } - - BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar( double rho_a, double rho_b, double sigma_aa, - double sigma_ab, double sigma_bb, double& eps, double& vrho_a, - double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { - - pbe_x_traits::eval_exc_vxc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, - eps, vrho_a, vrho_b, vsigma_aa, vsigma_ab, vsigma_bb ); - double eps_x = eps; - double vrho_x_a = vrho_a; - double vrho_x_b = vrho_b; - double vsigma_x_aa = vsigma_aa; - double vsigma_x_ab = vsigma_ab; - double vsigma_x_bb = vsigma_bb; - - - pbe_c_traits::eval_exc_vxc_polar( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, - eps, vrho_a, vrho_b, vsigma_aa, vsigma_ab, vsigma_bb ); - - eps = (1. - exx_coeff) * eps_x + eps; - vrho_a = (1. - exx_coeff) * vrho_x_a + vrho_a; - vrho_b = (1. - exx_coeff) * vrho_x_b + vrho_b; - vsigma_aa = (1. - exx_coeff) * vsigma_x_aa + vsigma_aa; - vsigma_ab = (1. - exx_coeff) * vsigma_x_ab + vsigma_ab; - vsigma_bb = (1. - exx_coeff) * vsigma_x_bb + vsigma_bb; - - } - -}; - - - - - - -struct BuiltinPBE0 : detail::BuiltinKernelImpl< BuiltinPBE0 > { - - BuiltinPBE0( Spin p ) : - detail::BuiltinKernelImpl< BuiltinPBE0 >(p) { } - - virtual ~BuiltinPBE0() = default; - -}; - -} diff --git a/include/exchcxx/impl/builtin/kernels/pbe_c.hpp b/include/exchcxx/impl/builtin/kernels/pbe_c.hpp index 4f0d0a8..c10a951 100644 --- a/include/exchcxx/impl/builtin/kernels/pbe_c.hpp +++ b/include/exchcxx/impl/builtin/kernels/pbe_c.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPBE_C > : static constexpr double sigma_tol = 1.0000000000000021e-16; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double beta = 0.06672455060314922; static constexpr double gamma = 0.031090690869654895034; @@ -38,7 +87,6 @@ struct kernel_traits< BuiltinPBE_C > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -118,7 +166,6 @@ struct kernel_traits< BuiltinPBE_C > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -269,16 +316,1029 @@ struct kernel_traits< BuiltinPBE_C > : const double t240 = t232 * t109 - t236 * t238; - eps = -t32 + t57 + t113; - vrho = -t32 + t57 + t113 + rho * ( t119 + t144 - t149 - t162 + t217 ); - vsigma = t220 * t61 * t240 * t215; + eps = -t32 + t57 + t113; + vrho = -t32 + t57 + t113 + rho * ( t119 + t144 - t149 - t162 + t217 ); + vsigma = t220 * t61 * t240 * t215; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t70 = 0.1e1 / t3; + constexpr double t75 = BB * beta; + constexpr double t76 = 0.1e1 / gamma; + constexpr double t91 = t39 * t39; + constexpr double t96 = 0.1e1 / t19; + constexpr double t97 = t1 * t96; + constexpr double t98 = t97 * t6; + constexpr double t104 = beta * t76; + constexpr double t125 = t3 * t6; + constexpr double t170 = gamma * gamma; + constexpr double t171 = 0.1e1 / t170; + constexpr double t172 = t75 * t171; + constexpr double t182 = t96 * t6; + constexpr double t224 = t18 * t70 * t5; + constexpr double t234 = beta * beta; + constexpr double t252 = t4 * t6; + constexpr double t267 = t19 * t5; + constexpr double t340 = 0.1e1 / t170 / gamma; + constexpr double t341 = t75 * t340; + constexpr double t395 = beta * t340; + constexpr double t472 = t234 * BB; + constexpr double t488 = t234 * beta; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.621814e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t58 = t34 * t34; + const double t59 = piecewise_functor_3( t33, t58, 1.0 ); + const double t60 = t59 * t59; + const double t61 = t60 * t59; + const double t62 = gamma * t61; + const double t63 = rho * rho; + const double t65 = 0.1e1 / t7 / t63; + const double t68 = 0.1e1 / t60; + const double t72 = t68 * t18 * t70 * t5; + const double t79 = 0.1e1 / t61; + const double t81 = safe_math::exp( -( -t32 + t57 ) * t76 * t79 ); + const double t82 = t81 - 0.1e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = sigma * sigma; + const double t87 = t75 * t84 * t85; + const double t88 = t63 * t63; + const double t90 = 0.1e1 / t21 / t88; + const double t92 = t90 * t91; + const double t93 = t60 * t60; + const double t94 = 0.1e1 / t93; + const double t95 = t92 * t94; + const double t99 = t95 * t98; + const double t102 = sigma * t65 * t39 * t72 / 0.96e2 + t87 * t99 / 0.3072e4; + const double t103 = beta * t102; + const double t107 = t104 * t83 * t102 + 0.1e1; + const double t108 = 0.1e1 / t107; + const double t109 = t76 * t108; + const double t111 = t103 * t109 + 0.1e1; + const double t115 = 0.1e1 / t7 / rho; + const double t116 = t6 * t115; + const double t118 = t4 * t116 * t30; + const double t119 = 0.11073470983333333333e-2 * t118; + const double t120 = t26 * t26; + const double t121 = 0.1e1 / t120; + const double t122 = t12 * t121; + const double t124 = 0.1e1 / t13 * t1; + const double t126 = t125 * t115; + const double t127 = t124 * t126; + const double t129 = t4 * t116; + const double t131 = safe_math::sqrt( t10 ); + const double t132 = t131 * t1; + const double t133 = t132 * t126; + const double t138 = t20 * t5 / t21 / rho; + const double t140 = -0.632975e0 * t127 - 0.29896666666666666667e0 * t129 - 0.1023875e0 * t133 - 0.82156666666666666667e-1 * t138; + const double t141 = 0.1e1 / t29; + const double t142 = t140 * t141; + const double t143 = t122 * t142; + const double t144 = 0.1e1 * t143; + const double t145 = t43 * t1; + const double t148 = t145 * t125 * t115 * t54; + const double t149 = 0.18311447306006545054e-3 * t148; + const double t150 = t43 * t45; + const double t151 = t50 * t50; + const double t152 = 0.1e1 / t151; + const double t157 = -0.86308333333333333334e0 * t127 - 0.301925e0 * t129 - 0.5501625e-1 * t133 - 0.82785e-1 * t138; + const double t159 = 0.1e1 / t53; + const double t160 = t152 * t157 * t159; + const double t161 = t150 * t160; + const double t162 = 0.5848223622634646207e0 * t161; + const double t163 = t63 * rho; + const double t165 = 0.1e1 / t7 / t163; + const double t173 = t82 * t82; + const double t174 = 0.1e1 / t173; + const double t175 = t174 * t85; + const double t176 = t175 * t90; + const double t177 = t172 * t176; + const double t179 = 0.1e1 / t93 / t61; + const double t180 = t91 * t179; + const double t181 = t180 * t1; + const double t183 = t119 + t144 - t149 - t162; + const double t184 = t183 * t81; + const double t185 = t182 * t184; + const double t186 = t181 * t185; + const double t189 = t88 * rho; + const double t191 = 0.1e1 / t21 / t189; + const double t192 = t191 * t91; + const double t193 = t192 * t94; + const double t194 = t193 * t98; + const double t197 = -0.7e1 / 0.288e3 * sigma * t165 * t39 * t72 + t177 * t186 / 0.3072e4 - 0.7e1 / 0.4608e4 * t87 * t194; + const double t198 = beta * t197; + const double t200 = t107 * t107; + const double t201 = 0.1e1 / t200; + const double t202 = t76 * t201; + const double t204 = beta * t171 * t174; + const double t206 = t79 * t81; + const double t211 = t204 * t102 * t183 * t206 + t104 * t83 * t197; + const double t212 = t202 * t211; + const double t214 = -t103 * t212 + t198 * t109; + const double t215 = 0.1e1 / t111; + const double t217 = t62 * t214 * t215; + const double t220 = rho * gamma; + const double t228 = t75 * t84 * sigma; + const double t231 = t65 * t39 * t68 * t224 / 0.96e2 + t228 * t99 / 0.1536e4; + const double t232 = beta * t231; + const double t235 = t234 * t102; + const double t236 = t235 * t171; + const double t237 = t201 * t83; + const double t238 = t237 * t231; + const double t240 = t232 * t109 - t236 * t238; + const double t248 = t6 * t65; + const double t250 = t4 * t248 * t30; + const double t251 = 0.14764627977777777777e-2 * t250; + const double t253 = t115 * t121; + const double t255 = t252 * t253 * t142; + const double t256 = 0.35616666666666666666e-1 * t255; + const double t257 = t120 * t26; + const double t258 = 0.1e1 / t257; + const double t259 = t12 * t258; + const double t260 = t140 * t140; + const double t261 = t260 * t141; + const double t262 = t259 * t261; + const double t263 = 0.2e1 * t262; + const double t266 = 0.1e1 / t13 / t10 * t18; + const double t269 = 0.1e1 / t21 / t63; + const double t270 = t267 * t269; + const double t271 = t266 * t270; + const double t273 = t125 * t65; + const double t274 = t124 * t273; + const double t276 = t4 * t248; + const double t278 = 0.1e1/safe_math::sqrt( t10 ); + const double t279 = t278 * t18; + const double t280 = t279 * t270; + const double t282 = t132 * t273; + const double t285 = t20 * t5 * t269; + const double t287 = -0.42198333333333333333e0 * t271 + 0.84396666666666666666e0 * t274 + 0.39862222222222222223e0 * t276 + 0.68258333333333333333e-1 * t280 + 0.13651666666666666667e0 * t282 + 0.13692777777777777778e0 * t285; + const double t288 = t287 * t141; + const double t289 = t122 * t288; + const double t290 = 0.1e1 * t289; + const double t291 = t120 * t120; + const double t292 = 0.1e1 / t291; + const double t293 = t12 * t292; + const double t294 = t29 * t29; + const double t295 = 0.1e1 / t294; + const double t296 = t260 * t295; + const double t297 = t293 * t296; + const double t298 = 0.16081979498692535067e2 * t297; + const double t301 = t145 * t125 * t65 * t54; + const double t302 = 0.24415263074675393405e-3 * t301; + const double t303 = t43 * t4; + const double t305 = t303 * t116 * t160; + const double t306 = 0.10843581300301739842e-1 * t305; + const double t307 = t151 * t50; + const double t308 = 0.1e1 / t307; + const double t309 = t157 * t157; + const double t311 = t308 * t309 * t159; + const double t312 = t150 * t311; + const double t313 = 0.11696447245269292414e1 * t312; + const double t320 = -0.57538888888888888889e0 * t271 + 0.11507777777777777778e1 * t274 + 0.40256666666666666667e0 * t276 + 0.366775e-1 * t280 + 0.73355e-1 * t282 + 0.137975e0 * t285; + const double t322 = t152 * t320 * t159; + const double t323 = t150 * t322; + const double t324 = 0.5848223622634646207e0 * t323; + const double t325 = t151 * t151; + const double t326 = 0.1e1 / t325; + const double t327 = t326 * t309; + const double t328 = t53 * t53; + const double t329 = 0.1e1 / t328; + const double t330 = t327 * t329; + const double t331 = t150 * t330; + const double t332 = 0.17315859105681463759e2 * t331; + const double t334 = 0.1e1 / t7 / t88; + const double t343 = 0.1e1 / t173 / t82; + const double t344 = t343 * t85; + const double t345 = t344 * t90; + const double t346 = t341 * t345; + const double t347 = t93 * t93; + const double t349 = 0.1e1 / t347 / t60; + const double t351 = t91 * t349 * t1; + const double t352 = t183 * t183; + const double t353 = t81 * t81; + const double t354 = t352 * t353; + const double t356 = t351 * t182 * t354; + const double t359 = t175 * t191; + const double t360 = t172 * t359; + const double t363 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332; + const double t364 = t363 * t81; + const double t366 = t181 * t182 * t364; + const double t369 = t341 * t176; + const double t370 = t352 * t81; + const double t372 = t351 * t182 * t370; + const double t375 = t88 * t63; + const double t377 = 0.1e1 / t21 / t375; + const double t380 = t377 * t91 * t94 * t98; + const double t383 = 0.35e2 / 0.432e3 * sigma * t334 * t39 * t72 + t346 * t356 / 0.1536e4 - 0.7e1 / 0.2304e4 * t360 * t186 + t177 * t366 / 0.3072e4 - t369 * t372 / 0.3072e4 + 0.119e3 / 0.13824e5 * t87 * t380; + const double t384 = beta * t383; + const double t389 = 0.1e1 / t200 / t107; + const double t390 = t76 * t389; + const double t391 = t211 * t211; + const double t392 = t390 * t391; + const double t396 = t395 * t343; + const double t397 = t102 * t352; + const double t399 = 0.1e1 / t93 / t60; + const double t400 = t399 * t353; + const double t411 = t395 * t174; + const double t412 = t399 * t81; + const double t417 = t204 * t102 * t363 * t206 + 0.2e1 * t204 * t197 * t183 * t206 + t104 * t83 * t383 + 0.2e1 * t396 * t397 * t400 - t411 * t397 * t412; + const double t418 = t202 * t417; + const double t420 = 0.2e1 * t103 * t392 - t103 * t418 + t384 * t109 - 0.2e1 * t198 * t212; + const double t422 = t62 * t420 * t215; + const double t423 = t214 * t214; + const double t424 = t111 * t111; + const double t425 = 0.1e1 / t424; + const double t427 = t62 * t423 * t425; + const double t428 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332 + t422 - t427; + const double t436 = t174 * sigma; + const double t437 = t436 * t90; + const double t438 = t172 * t437; + const double t443 = -0.7e1 / 0.288e3 * t165 * t39 * t68 * t224 + t438 * t186 / 0.1536e4 - 0.7e1 / 0.2304e4 * t228 * t194; + const double t444 = beta * t443; + const double t447 = t234 * t197; + const double t448 = t447 * t171; + const double t450 = t389 * t83; + const double t451 = t231 * t211; + const double t452 = t450 * t451; + const double t455 = t340 * t201; + const double t456 = t235 * t455; + const double t457 = t174 * t231; + const double t459 = t183 * t79 * t81; + const double t460 = t457 * t459; + const double t462 = t237 * t443; + const double t464 = t444 * t109 - t232 * t212 + 0.2e1 * t236 * t452 - t236 * t462 - t448 * t238 - t456 * t460; + const double t468 = t220 * t61; + const double t469 = t240 * t425; + const double t470 = t469 * t214; + const double t473 = t171 * t83; + const double t479 = t91 * t94 * t1 * t182 * t108; + const double t482 = t231 * t231; + const double t483 = t234 * t482; + const double t485 = t171 * t201 * t83; + const double t489 = t488 * t102; + const double t490 = t489 * t340; + const double t491 = t389 * t174; + const double t492 = t491 * t482; + const double t496 = t201 * t174 * BB; + const double t497 = t490 * t496; + const double t500 = t472 * t473 * t90 * t479 / 0.1536e4 - 0.2e1 * t483 * t485 + 0.2e1 * t490 * t492 - t497 * t99 / 0.1536e4; + const double t504 = t240 * t240; + + + v2rho2 = 0.22146941966666666666e-2 * t118 + 0.2e1 * t143 - 0.36622894612013090108e-3 * t148 - 0.11696447245269292414e1 * t161 + 0.2e1 * t217 + rho * t428; + v2rhosigma = t220 * t61 * t464 * t215 + t62 * t240 * t215 - t468 * t470; + v2sigma2 = t220 * t61 * t500 * t215 - t220 * t61 * t504 * t425; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t70 = 0.1e1 / t3; + constexpr double t75 = BB * beta; + constexpr double t76 = 0.1e1 / gamma; + constexpr double t91 = t39 * t39; + constexpr double t96 = 0.1e1 / t19; + constexpr double t97 = t1 * t96; + constexpr double t98 = t97 * t6; + constexpr double t104 = beta * t76; + constexpr double t125 = t3 * t6; + constexpr double t170 = gamma * gamma; + constexpr double t171 = 0.1e1 / t170; + constexpr double t172 = t75 * t171; + constexpr double t182 = t96 * t6; + constexpr double t224 = t18 * t70 * t5; + constexpr double t234 = beta * beta; + constexpr double t252 = t4 * t6; + constexpr double t267 = t19 * t5; + constexpr double t340 = 0.1e1 / t170 / gamma; + constexpr double t341 = t75 * t340; + constexpr double t395 = beta * t340; + constexpr double t472 = t234 * BB; + constexpr double t488 = t234 * beta; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.621814e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t58 = t34 * t34; + const double t59 = piecewise_functor_3( t33, t58, 1.0 ); + const double t60 = t59 * t59; + const double t61 = t60 * t59; + const double t62 = gamma * t61; + const double t63 = rho * rho; + const double t65 = 0.1e1 / t7 / t63; + const double t68 = 0.1e1 / t60; + const double t72 = t68 * t18 * t70 * t5; + const double t79 = 0.1e1 / t61; + const double t81 = safe_math::exp( -( -t32 + t57 ) * t76 * t79 ); + const double t82 = t81 - 0.1e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = sigma * sigma; + const double t87 = t75 * t84 * t85; + const double t88 = t63 * t63; + const double t90 = 0.1e1 / t21 / t88; + const double t92 = t90 * t91; + const double t93 = t60 * t60; + const double t94 = 0.1e1 / t93; + const double t95 = t92 * t94; + const double t99 = t95 * t98; + const double t102 = sigma * t65 * t39 * t72 / 0.96e2 + t87 * t99 / 0.3072e4; + const double t103 = beta * t102; + const double t107 = t104 * t83 * t102 + 0.1e1; + const double t108 = 0.1e1 / t107; + const double t109 = t76 * t108; + const double t111 = t103 * t109 + 0.1e1; + const double t112 = safe_math::log( t111 ); + const double t113 = t62 * t112; + const double t115 = 0.1e1 / t7 / rho; + const double t116 = t6 * t115; + const double t118 = t4 * t116 * t30; + const double t119 = 0.11073470983333333333e-2 * t118; + const double t120 = t26 * t26; + const double t121 = 0.1e1 / t120; + const double t122 = t12 * t121; + const double t124 = 0.1e1 / t13 * t1; + const double t126 = t125 * t115; + const double t127 = t124 * t126; + const double t129 = t4 * t116; + const double t131 = safe_math::sqrt( t10 ); + const double t132 = t131 * t1; + const double t133 = t132 * t126; + const double t138 = t20 * t5 / t21 / rho; + const double t140 = -0.632975e0 * t127 - 0.29896666666666666667e0 * t129 - 0.1023875e0 * t133 - 0.82156666666666666667e-1 * t138; + const double t141 = 0.1e1 / t29; + const double t142 = t140 * t141; + const double t143 = t122 * t142; + const double t144 = 0.1e1 * t143; + const double t145 = t43 * t1; + const double t148 = t145 * t125 * t115 * t54; + const double t149 = 0.18311447306006545054e-3 * t148; + const double t150 = t43 * t45; + const double t151 = t50 * t50; + const double t152 = 0.1e1 / t151; + const double t157 = -0.86308333333333333334e0 * t127 - 0.301925e0 * t129 - 0.5501625e-1 * t133 - 0.82785e-1 * t138; + const double t159 = 0.1e1 / t53; + const double t160 = t152 * t157 * t159; + const double t161 = t150 * t160; + const double t162 = 0.5848223622634646207e0 * t161; + const double t163 = t63 * rho; + const double t165 = 0.1e1 / t7 / t163; + const double t173 = t82 * t82; + const double t174 = 0.1e1 / t173; + const double t175 = t174 * t85; + const double t176 = t175 * t90; + const double t177 = t172 * t176; + const double t179 = 0.1e1 / t93 / t61; + const double t180 = t91 * t179; + const double t181 = t180 * t1; + const double t183 = t119 + t144 - t149 - t162; + const double t184 = t183 * t81; + const double t185 = t182 * t184; + const double t186 = t181 * t185; + const double t189 = t88 * rho; + const double t191 = 0.1e1 / t21 / t189; + const double t192 = t191 * t91; + const double t193 = t192 * t94; + const double t194 = t193 * t98; + const double t197 = -0.7e1 / 0.288e3 * sigma * t165 * t39 * t72 + t177 * t186 / 0.3072e4 - 0.7e1 / 0.4608e4 * t87 * t194; + const double t198 = beta * t197; + const double t200 = t107 * t107; + const double t201 = 0.1e1 / t200; + const double t202 = t76 * t201; + const double t204 = beta * t171 * t174; + const double t206 = t79 * t81; + const double t211 = t204 * t102 * t183 * t206 + t104 * t83 * t197; + const double t212 = t202 * t211; + const double t214 = -t103 * t212 + t198 * t109; + const double t215 = 0.1e1 / t111; + const double t217 = t62 * t214 * t215; + const double t220 = rho * gamma; + const double t228 = t75 * t84 * sigma; + const double t231 = t65 * t39 * t68 * t224 / 0.96e2 + t228 * t99 / 0.1536e4; + const double t232 = beta * t231; + const double t235 = t234 * t102; + const double t236 = t235 * t171; + const double t237 = t201 * t83; + const double t238 = t237 * t231; + const double t240 = t232 * t109 - t236 * t238; + const double t248 = t6 * t65; + const double t250 = t4 * t248 * t30; + const double t251 = 0.14764627977777777777e-2 * t250; + const double t253 = t115 * t121; + const double t255 = t252 * t253 * t142; + const double t256 = 0.35616666666666666666e-1 * t255; + const double t257 = t120 * t26; + const double t258 = 0.1e1 / t257; + const double t259 = t12 * t258; + const double t260 = t140 * t140; + const double t261 = t260 * t141; + const double t262 = t259 * t261; + const double t263 = 0.2e1 * t262; + const double t266 = 0.1e1 / t13 / t10 * t18; + const double t269 = 0.1e1 / t21 / t63; + const double t270 = t267 * t269; + const double t271 = t266 * t270; + const double t273 = t125 * t65; + const double t274 = t124 * t273; + const double t276 = t4 * t248; + const double t278 = 0.1e1/safe_math::sqrt( t10 ); + const double t279 = t278 * t18; + const double t280 = t279 * t270; + const double t282 = t132 * t273; + const double t285 = t20 * t5 * t269; + const double t287 = -0.42198333333333333333e0 * t271 + 0.84396666666666666666e0 * t274 + 0.39862222222222222223e0 * t276 + 0.68258333333333333333e-1 * t280 + 0.13651666666666666667e0 * t282 + 0.13692777777777777778e0 * t285; + const double t288 = t287 * t141; + const double t289 = t122 * t288; + const double t290 = 0.1e1 * t289; + const double t291 = t120 * t120; + const double t292 = 0.1e1 / t291; + const double t293 = t12 * t292; + const double t294 = t29 * t29; + const double t295 = 0.1e1 / t294; + const double t296 = t260 * t295; + const double t297 = t293 * t296; + const double t298 = 0.16081979498692535067e2 * t297; + const double t301 = t145 * t125 * t65 * t54; + const double t302 = 0.24415263074675393405e-3 * t301; + const double t303 = t43 * t4; + const double t305 = t303 * t116 * t160; + const double t306 = 0.10843581300301739842e-1 * t305; + const double t307 = t151 * t50; + const double t308 = 0.1e1 / t307; + const double t309 = t157 * t157; + const double t311 = t308 * t309 * t159; + const double t312 = t150 * t311; + const double t313 = 0.11696447245269292414e1 * t312; + const double t320 = -0.57538888888888888889e0 * t271 + 0.11507777777777777778e1 * t274 + 0.40256666666666666667e0 * t276 + 0.366775e-1 * t280 + 0.73355e-1 * t282 + 0.137975e0 * t285; + const double t322 = t152 * t320 * t159; + const double t323 = t150 * t322; + const double t324 = 0.5848223622634646207e0 * t323; + const double t325 = t151 * t151; + const double t326 = 0.1e1 / t325; + const double t327 = t326 * t309; + const double t328 = t53 * t53; + const double t329 = 0.1e1 / t328; + const double t330 = t327 * t329; + const double t331 = t150 * t330; + const double t332 = 0.17315859105681463759e2 * t331; + const double t334 = 0.1e1 / t7 / t88; + const double t343 = 0.1e1 / t173 / t82; + const double t344 = t343 * t85; + const double t345 = t344 * t90; + const double t346 = t341 * t345; + const double t347 = t93 * t93; + const double t349 = 0.1e1 / t347 / t60; + const double t351 = t91 * t349 * t1; + const double t352 = t183 * t183; + const double t353 = t81 * t81; + const double t354 = t352 * t353; + const double t356 = t351 * t182 * t354; + const double t359 = t175 * t191; + const double t360 = t172 * t359; + const double t363 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332; + const double t364 = t363 * t81; + const double t366 = t181 * t182 * t364; + const double t369 = t341 * t176; + const double t370 = t352 * t81; + const double t372 = t351 * t182 * t370; + const double t375 = t88 * t63; + const double t377 = 0.1e1 / t21 / t375; + const double t380 = t377 * t91 * t94 * t98; + const double t383 = 0.35e2 / 0.432e3 * sigma * t334 * t39 * t72 + t346 * t356 / 0.1536e4 - 0.7e1 / 0.2304e4 * t360 * t186 + t177 * t366 / 0.3072e4 - t369 * t372 / 0.3072e4 + 0.119e3 / 0.13824e5 * t87 * t380; + const double t384 = beta * t383; + const double t389 = 0.1e1 / t200 / t107; + const double t390 = t76 * t389; + const double t391 = t211 * t211; + const double t392 = t390 * t391; + const double t396 = t395 * t343; + const double t397 = t102 * t352; + const double t399 = 0.1e1 / t93 / t60; + const double t400 = t399 * t353; + const double t411 = t395 * t174; + const double t412 = t399 * t81; + const double t417 = t204 * t102 * t363 * t206 + 0.2e1 * t204 * t197 * t183 * t206 + t104 * t83 * t383 + 0.2e1 * t396 * t397 * t400 - t411 * t397 * t412; + const double t418 = t202 * t417; + const double t420 = 0.2e1 * t103 * t392 - t103 * t418 + t384 * t109 - 0.2e1 * t198 * t212; + const double t422 = t62 * t420 * t215; + const double t423 = t214 * t214; + const double t424 = t111 * t111; + const double t425 = 0.1e1 / t424; + const double t427 = t62 * t423 * t425; + const double t428 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332 + t422 - t427; + const double t436 = t174 * sigma; + const double t437 = t436 * t90; + const double t438 = t172 * t437; + const double t443 = -0.7e1 / 0.288e3 * t165 * t39 * t68 * t224 + t438 * t186 / 0.1536e4 - 0.7e1 / 0.2304e4 * t228 * t194; + const double t444 = beta * t443; + const double t447 = t234 * t197; + const double t448 = t447 * t171; + const double t450 = t389 * t83; + const double t451 = t231 * t211; + const double t452 = t450 * t451; + const double t455 = t340 * t201; + const double t456 = t235 * t455; + const double t457 = t174 * t231; + const double t459 = t183 * t79 * t81; + const double t460 = t457 * t459; + const double t462 = t237 * t443; + const double t464 = t444 * t109 - t232 * t212 + 0.2e1 * t236 * t452 - t236 * t462 - t448 * t238 - t456 * t460; + const double t468 = t220 * t61; + const double t469 = t240 * t425; + const double t470 = t469 * t214; + const double t473 = t171 * t83; + const double t479 = t91 * t94 * t1 * t182 * t108; + const double t482 = t231 * t231; + const double t483 = t234 * t482; + const double t485 = t171 * t201 * t83; + const double t489 = t488 * t102; + const double t490 = t489 * t340; + const double t491 = t389 * t174; + const double t492 = t491 * t482; + const double t496 = t201 * t174 * BB; + const double t497 = t490 * t496; + const double t500 = t472 * t473 * t90 * t479 / 0.1536e4 - 0.2e1 * t483 * t485 + 0.2e1 * t490 * t492 - t497 * t99 / 0.1536e4; + const double t504 = t240 * t240; + + + vrho = -t32 + t57 + t113 + rho * ( t119 + t144 - t149 - t162 + t217 ); + vsigma = t220 * t61 * t240 * t215; + v2rho2 = 0.22146941966666666666e-2 * t118 + 0.2e1 * t143 - 0.36622894612013090108e-3 * t148 - 0.11696447245269292414e1 * t161 + 0.2e1 * t217 + rho * t428; + v2rhosigma = t220 * t61 * t464 * t215 + t62 * t240 * t215 - t468 * t470; + v2sigma2 = t220 * t61 * t500 * t215 - t220 * t61 * t504 * t425; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t110 = 0.1e1 / t3; + constexpr double t111 = t110 * t5; + constexpr double t115 = BB * beta; + constexpr double t116 = 0.1e1 / gamma; + constexpr double t130 = t56 * t56; + constexpr double t135 = 0.1e1 / t20; + constexpr double t136 = t1 * t135; + constexpr double t137 = t136 * t6; + constexpr double t143 = beta * t116; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751673498613801407e-1 * t60 * t85; + const double t92 = t45 * t45; + const double t93 = t47 * t47; + const double t94 = piecewise_functor_3( t44, t92, t93 ); + const double t95 = t52 * t52; + const double t96 = piecewise_functor_3( t51, t92, t95 ); + const double t98 = t94 / 0.2e1 + t96 / 0.2e1; + const double t99 = t98 * t98; + const double t100 = t99 * t98; + const double t101 = gamma * t100; + const double t103 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t105 = 0.1e1 / t8 / t37; + const double t106 = t103 * t105; + const double t108 = 0.1e1 / t99; + const double t112 = t108 * t19 * t111; + const double t118 = ( -t33 + t89 + t91 ) * t116; + const double t119 = 0.1e1 / t100; + const double t121 = safe_math::exp( -t118 * t119 ); + const double t122 = t121 - 0.1e1; + const double t123 = 0.1e1 / t122; + const double t124 = t116 * t123; + const double t125 = t103 * t103; + const double t127 = t115 * t124 * t125; + const double t129 = 0.1e1 / t22 / t38; + const double t131 = t129 * t130; + const double t132 = t99 * t99; + const double t133 = 0.1e1 / t132; + const double t134 = t131 * t133; + const double t138 = t134 * t137; + const double t141 = t106 * t56 * t112 / 0.96e2 + t127 * t138 / 0.3072e4; + const double t142 = beta * t141; + const double t146 = t143 * t123 * t141 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t148 = t116 * t147; + const double t150 = t142 * t148 + 0.1e1; + const double t151 = safe_math::log( t150 ); + const double t152 = t101 * t151; + + + eps = -t33 + t89 + t91 + t152; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t110 = 0.1e1 / t3; + constexpr double t111 = t110 * t5; + constexpr double t115 = BB * beta; + constexpr double t116 = 0.1e1 / gamma; + constexpr double t130 = t56 * t56; + constexpr double t135 = 0.1e1 / t20; + constexpr double t136 = t1 * t135; + constexpr double t137 = t136 * t6; + constexpr double t143 = beta * t116; + constexpr double t164 = t3 * t6; + constexpr double t275 = t19 * t110; + constexpr double t280 = t115 * t116; + constexpr double t288 = t135 * t6; + constexpr double t404 = t275 * t5; + constexpr double t414 = beta * beta; + constexpr double t416 = gamma * gamma; + constexpr double t417 = 0.1e1 / t416; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751673498613801407e-1 * t60 * t85; + const double t92 = t45 * t45; + const double t93 = t47 * t47; + const double t94 = piecewise_functor_3( t44, t92, t93 ); + const double t95 = t52 * t52; + const double t96 = piecewise_functor_3( t51, t92, t95 ); + const double t98 = t94 / 0.2e1 + t96 / 0.2e1; + const double t99 = t98 * t98; + const double t100 = t99 * t98; + const double t101 = gamma * t100; + const double t103 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t105 = 0.1e1 / t8 / t37; + const double t106 = t103 * t105; + const double t108 = 0.1e1 / t99; + const double t112 = t108 * t19 * t111; + const double t118 = ( -t33 + t89 + t91 ) * t116; + const double t119 = 0.1e1 / t100; + const double t121 = safe_math::exp( -t118 * t119 ); + const double t122 = t121 - 0.1e1; + const double t123 = 0.1e1 / t122; + const double t124 = t116 * t123; + const double t125 = t103 * t103; + const double t127 = t115 * t124 * t125; + const double t129 = 0.1e1 / t22 / t38; + const double t131 = t129 * t130; + const double t132 = t99 * t99; + const double t133 = 0.1e1 / t132; + const double t134 = t131 * t133; + const double t138 = t134 * t137; + const double t141 = t106 * t56 * t112 / 0.96e2 + t127 * t138 / 0.3072e4; + const double t142 = beta * t141; + const double t146 = t143 * t123 * t141 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t148 = t116 * t147; + const double t150 = t142 * t148 + 0.1e1; + const double t151 = safe_math::log( t150 ); + const double t152 = t101 * t151; + const double t154 = 0.1e1 / t8 / t7; + const double t155 = t6 * t154; + const double t157 = t4 * t155 * t31; + const double t158 = 0.11073470983333333333e-2 * t157; + const double t159 = t27 * t27; + const double t160 = 0.1e1 / t159; + const double t161 = t13 * t160; + const double t163 = 0.1e1 / t14 * t1; + const double t165 = t164 * t154; + const double t166 = t163 * t165; + const double t168 = t4 * t155; + const double t170 = safe_math::sqrt( t11 ); + const double t171 = t170 * t1; + const double t172 = t171 * t165; + const double t177 = t21 * t5 / t22 / t7; + const double t179 = -0.632975e0 * t166 - 0.29896666666666666667e0 * t168 - 0.1023875e0 * t172 - 0.82156666666666666667e-1 * t177; + const double t180 = 0.1e1 / t30; + const double t181 = t179 * t180; + const double t182 = t161 * t181; + const double t183 = 0.1e1 * t182; + const double t184 = t35 * t34; + const double t185 = t184 * t39; + const double t186 = t185 * t88; + const double t187 = 0.4e1 * t186; + const double t188 = t38 * t7; + const double t189 = 0.1e1 / t188; + const double t190 = t36 * t189; + const double t191 = t190 * t88; + const double t192 = 0.4e1 * t191; + const double t193 = 0.1e1 / t37; + const double t194 = t34 * t193; + const double t195 = t41 - t194; + const double t198 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t195 ); + const double t199 = -t195; + const double t202 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t199 ); + const double t204 = ( t198 + t202 ) * t59; + const double t205 = t204 * t87; + const double t206 = t40 * t205; + const double t210 = t67 * t67; + const double t211 = 0.1e1 / t210; + const double t212 = t62 * t211; + const double t217 = -0.1176575e1 * t166 - 0.516475e0 * t168 - 0.2103875e0 * t172 - 0.104195e0 * t177; + const double t218 = 0.1e1 / t70; + const double t219 = t217 * t218; + const double t225 = t80 * t80; + const double t226 = 0.1e1 / t225; + const double t227 = t75 * t226; + const double t232 = -0.86308333333333333334e0 * t166 - 0.301925e0 * t168 - 0.5501625e-1 * t172 - 0.82785e-1 * t177; + const double t233 = 0.1e1 / t83; + const double t234 = t232 * t233; + const double t237 = 0.53237641966666666666e-3 * t4 * t155 * t71 + 0.1e1 * t212 * t219 - t158 - t183 + 0.18311447306006545054e-3 * t4 * t155 * t84 + 0.5848223622634646207e0 * t227 * t234; + const double t238 = t60 * t237; + const double t239 = t40 * t238; + const double t240 = t204 * t85; + const double t241 = 0.19751673498613801407e-1 * t240; + const double t242 = t60 * t1; + const double t244 = t164 * t154 * t84; + const double t245 = t242 * t244; + const double t246 = 0.18311447306006545054e-3 * t245; + const double t247 = t60 * t75; + const double t249 = t226 * t232 * t233; + const double t250 = t247 * t249; + const double t251 = 0.5848223622634646207e0 * t250; + const double t252 = gamma * t99; + const double t253 = 0.1e1 / t47; + const double t256 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t195 ); + const double t257 = 0.1e1 / t52; + const double t260 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t199 ); + const double t262 = t256 / 0.2e1 + t260 / 0.2e1; + const double t263 = t151 * t262; + const double t264 = t252 * t263; + const double t265 = 0.3e1 * t264; + const double t266 = t37 * t7; + const double t268 = 0.1e1 / t8 / t266; + const double t269 = t103 * t268; + const double t272 = 0.7e1 / 0.288e3 * t269 * t56 * t112; + const double t273 = t56 * t119; + const double t274 = t106 * t273; + const double t276 = t5 * t262; + const double t277 = t275 * t276; + const double t281 = t122 * t122; + const double t282 = 0.1e1 / t281; + const double t283 = t282 * t125; + const double t285 = t280 * t283 * t129; + const double t286 = t130 * t133; + const double t287 = t286 * t1; + const double t290 = ( t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 ) * t116; + const double t292 = t133 * t262; + const double t295 = 0.3e1 * t118 * t292 - t290 * t119; + const double t296 = t295 * t121; + const double t297 = t288 * t296; + const double t298 = t287 * t297; + const double t302 = 0.1e1 / t22 / t188; + const double t303 = t302 * t130; + const double t304 = t303 * t133; + const double t305 = t304 * t137; + const double t307 = 0.7e1 / 0.4608e4 * t127 * t305; + const double t308 = t123 * t125; + const double t310 = t280 * t308 * t129; + const double t312 = 0.1e1 / t132 / t98; + const double t313 = t130 * t312; + const double t314 = t313 * t1; + const double t316 = t314 * t288 * t262; + const double t319 = -t272 - t274 * t277 / 0.48e2 - t285 * t298 / 0.3072e4 - t307 - t310 * t316 / 0.768e3; + const double t320 = beta * t319; + const double t322 = t146 * t146; + const double t323 = 0.1e1 / t322; + const double t324 = t116 * t323; + const double t325 = t143 * t282; + const double t326 = t141 * t295; + const double t331 = -t325 * t326 * t121 + t143 * t123 * t319; + const double t332 = t324 * t331; + const double t334 = -t142 * t332 + t320 * t148; + const double t335 = 0.1e1 / t150; + const double t336 = t334 * t335; + const double t337 = t101 * t336; + const double t338 = t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 + t265 + t337; + const double t340 = -t41 - t194; + const double t343 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t340 ); + const double t344 = -t340; + const double t347 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t344 ); + const double t349 = ( t343 + t347 ) * t59; + const double t350 = t349 * t87; + const double t351 = t40 * t350; + const double t352 = t349 * t85; + const double t353 = 0.19751673498613801407e-1 * t352; + const double t356 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t340 ); + const double t359 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t344 ); + const double t361 = t356 / 0.2e1 + t359 / 0.2e1; + const double t362 = t151 * t361; + const double t363 = t252 * t362; + const double t364 = 0.3e1 * t363; + const double t365 = t5 * t361; + const double t366 = t275 * t365; + const double t370 = ( t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 ) * t116; + const double t372 = t133 * t361; + const double t375 = 0.3e1 * t118 * t372 - t370 * t119; + const double t376 = t375 * t121; + const double t377 = t288 * t376; + const double t378 = t287 * t377; + const double t382 = t314 * t288 * t361; + const double t385 = -t272 - t274 * t366 / 0.48e2 - t285 * t378 / 0.3072e4 - t307 - t310 * t382 / 0.768e3; + const double t386 = beta * t385; + const double t388 = t141 * t375; + const double t393 = -t325 * t388 * t121 + t143 * t123 * t385; + const double t394 = t324 * t393; + const double t396 = -t142 * t394 + t386 * t148; + const double t397 = t396 * t335; + const double t398 = t101 * t397; + const double t399 = t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 + t364 + t398; + const double t401 = t7 * gamma; + const double t402 = t105 * t56; + const double t405 = t402 * t108 * t404; + const double t408 = t115 * t124 * t103; + const double t409 = t408 * t138; + const double t411 = t405 / 0.96e2 + t409 / 0.1536e4; + const double t412 = beta * t411; + const double t415 = t414 * t141; + const double t418 = t415 * t417; + const double t419 = t323 * t123; + const double t420 = t419 * t411; + const double t422 = t412 * t148 - t418 * t420; + const double t427 = t405 / 0.48e2 + t409 / 0.768e3; + const double t428 = beta * t427; + const double t430 = t419 * t427; + const double t432 = t428 * t148 - t418 * t430; + const double t433 = t100 * t432; + + + eps = -t33 + t89 + t91 + t152; + vrho_a = t7 * t338 + t152 - t33 + t89 + t91; + vrho_b = t7 * t399 + t152 - t33 + t89 + t91; + vsigma_aa = t401 * t100 * t422 * t335; + vsigma_ab = t401 * t433 * t335; + vsigma_bb = vsigma_aa; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -297,6 +1357,19 @@ struct kernel_traits< BuiltinPBE_C > : constexpr double t136 = t1 * t135; constexpr double t137 = t136 * t6; constexpr double t143 = beta * t116; + constexpr double t164 = t3 * t6; + constexpr double t275 = t19 * t110; + constexpr double t280 = t115 * t116; + constexpr double t288 = t135 * t6; + constexpr double t404 = t275 * t5; + constexpr double t414 = beta * beta; + constexpr double t416 = gamma * gamma; + constexpr double t417 = 0.1e1 / t416; + constexpr double t534 = t20 * t5; + constexpr double t584 = t4 * t6; + constexpr double t1264 = t414 * BB; + constexpr double t1277 = t414 * beta; + constexpr double t1280 = 0.1e1 / t416 / gamma; const double t7 = rho_a + rho_b; @@ -383,17 +1456,665 @@ struct kernel_traits< BuiltinPBE_C > : const double t148 = t116 * t147; const double t150 = t142 * t148 + 0.1e1; const double t151 = safe_math::log( t150 ); - const double t152 = t101 * t151; + const double t154 = 0.1e1 / t8 / t7; + const double t155 = t6 * t154; + const double t157 = t4 * t155 * t31; + const double t158 = 0.11073470983333333333e-2 * t157; + const double t159 = t27 * t27; + const double t160 = 0.1e1 / t159; + const double t161 = t13 * t160; + const double t163 = 0.1e1 / t14 * t1; + const double t165 = t164 * t154; + const double t166 = t163 * t165; + const double t168 = t4 * t155; + const double t170 = safe_math::sqrt( t11 ); + const double t171 = t170 * t1; + const double t172 = t171 * t165; + const double t177 = t21 * t5 / t22 / t7; + const double t179 = -0.632975e0 * t166 - 0.29896666666666666667e0 * t168 - 0.1023875e0 * t172 - 0.82156666666666666667e-1 * t177; + const double t180 = 0.1e1 / t30; + const double t181 = t179 * t180; + const double t182 = t161 * t181; + const double t183 = 0.1e1 * t182; + const double t184 = t35 * t34; + const double t185 = t184 * t39; + const double t186 = t185 * t88; + const double t187 = 0.4e1 * t186; + const double t188 = t38 * t7; + const double t189 = 0.1e1 / t188; + const double t190 = t36 * t189; + const double t191 = t190 * t88; + const double t192 = 0.4e1 * t191; + const double t193 = 0.1e1 / t37; + const double t194 = t34 * t193; + const double t195 = t41 - t194; + const double t198 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t195 ); + const double t199 = -t195; + const double t202 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t199 ); + const double t204 = ( t198 + t202 ) * t59; + const double t205 = t204 * t87; + const double t206 = t40 * t205; + const double t210 = t67 * t67; + const double t211 = 0.1e1 / t210; + const double t212 = t62 * t211; + const double t217 = -0.1176575e1 * t166 - 0.516475e0 * t168 - 0.2103875e0 * t172 - 0.104195e0 * t177; + const double t218 = 0.1e1 / t70; + const double t219 = t217 * t218; + const double t225 = t80 * t80; + const double t226 = 0.1e1 / t225; + const double t227 = t75 * t226; + const double t232 = -0.86308333333333333334e0 * t166 - 0.301925e0 * t168 - 0.5501625e-1 * t172 - 0.82785e-1 * t177; + const double t233 = 0.1e1 / t83; + const double t234 = t232 * t233; + const double t237 = 0.53237641966666666666e-3 * t4 * t155 * t71 + 0.1e1 * t212 * t219 - t158 - t183 + 0.18311447306006545054e-3 * t4 * t155 * t84 + 0.5848223622634646207e0 * t227 * t234; + const double t238 = t60 * t237; + const double t239 = t40 * t238; + const double t240 = t204 * t85; + const double t241 = 0.19751673498613801407e-1 * t240; + const double t242 = t60 * t1; + const double t244 = t164 * t154 * t84; + const double t245 = t242 * t244; + const double t246 = 0.18311447306006545054e-3 * t245; + const double t247 = t60 * t75; + const double t249 = t226 * t232 * t233; + const double t250 = t247 * t249; + const double t251 = 0.5848223622634646207e0 * t250; + const double t252 = gamma * t99; + const double t253 = 0.1e1 / t47; + const double t256 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t195 ); + const double t257 = 0.1e1 / t52; + const double t260 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t199 ); + const double t262 = t256 / 0.2e1 + t260 / 0.2e1; + const double t263 = t151 * t262; + const double t264 = t252 * t263; + const double t265 = 0.3e1 * t264; + const double t266 = t37 * t7; + const double t268 = 0.1e1 / t8 / t266; + const double t269 = t103 * t268; + const double t272 = 0.7e1 / 0.288e3 * t269 * t56 * t112; + const double t273 = t56 * t119; + const double t274 = t106 * t273; + const double t276 = t5 * t262; + const double t277 = t275 * t276; + const double t281 = t122 * t122; + const double t282 = 0.1e1 / t281; + const double t283 = t282 * t125; + const double t285 = t280 * t283 * t129; + const double t286 = t130 * t133; + const double t287 = t286 * t1; + const double t290 = ( t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 ) * t116; + const double t292 = t133 * t262; + const double t295 = 0.3e1 * t118 * t292 - t290 * t119; + const double t296 = t295 * t121; + const double t297 = t288 * t296; + const double t298 = t287 * t297; + const double t302 = 0.1e1 / t22 / t188; + const double t303 = t302 * t130; + const double t304 = t303 * t133; + const double t305 = t304 * t137; + const double t307 = 0.7e1 / 0.4608e4 * t127 * t305; + const double t308 = t123 * t125; + const double t310 = t280 * t308 * t129; + const double t312 = 0.1e1 / t132 / t98; + const double t313 = t130 * t312; + const double t314 = t313 * t1; + const double t316 = t314 * t288 * t262; + const double t319 = -t272 - t274 * t277 / 0.48e2 - t285 * t298 / 0.3072e4 - t307 - t310 * t316 / 0.768e3; + const double t320 = beta * t319; + const double t322 = t146 * t146; + const double t323 = 0.1e1 / t322; + const double t324 = t116 * t323; + const double t325 = t143 * t282; + const double t326 = t141 * t295; + const double t331 = -t325 * t326 * t121 + t143 * t123 * t319; + const double t332 = t324 * t331; + const double t334 = -t142 * t332 + t320 * t148; + const double t335 = 0.1e1 / t150; + const double t336 = t334 * t335; + const double t337 = t101 * t336; + const double t340 = -t41 - t194; + const double t343 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t340 ); + const double t344 = -t340; + const double t347 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t344 ); + const double t349 = ( t343 + t347 ) * t59; + const double t350 = t349 * t87; + const double t351 = t40 * t350; + const double t352 = t349 * t85; + const double t353 = 0.19751673498613801407e-1 * t352; + const double t356 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t340 ); + const double t359 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t344 ); + const double t361 = t356 / 0.2e1 + t359 / 0.2e1; + const double t362 = t151 * t361; + const double t363 = t252 * t362; + const double t364 = 0.3e1 * t363; + const double t365 = t5 * t361; + const double t366 = t275 * t365; + const double t370 = ( t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 ) * t116; + const double t372 = t133 * t361; + const double t375 = 0.3e1 * t118 * t372 - t370 * t119; + const double t376 = t375 * t121; + const double t377 = t288 * t376; + const double t378 = t287 * t377; + const double t382 = t314 * t288 * t361; + const double t385 = -t272 - t274 * t366 / 0.48e2 - t285 * t378 / 0.3072e4 - t307 - t310 * t382 / 0.768e3; + const double t386 = beta * t385; + const double t388 = t141 * t375; + const double t393 = -t325 * t388 * t121 + t143 * t123 * t385; + const double t394 = t324 * t393; + const double t396 = -t142 * t394 + t386 * t148; + const double t397 = t396 * t335; + const double t398 = t101 * t397; + const double t401 = t7 * gamma; + const double t402 = t105 * t56; + const double t405 = t402 * t108 * t404; + const double t408 = t115 * t124 * t103; + const double t409 = t408 * t138; + const double t411 = t405 / 0.96e2 + t409 / 0.1536e4; + const double t412 = beta * t411; + const double t415 = t414 * t141; + const double t418 = t415 * t417; + const double t419 = t323 * t123; + const double t420 = t419 * t411; + const double t422 = t412 * t148 - t418 * t420; + const double t427 = t405 / 0.48e2 + t409 / 0.768e3; + const double t428 = beta * t427; + const double t430 = t419 * t427; + const double t432 = t428 * t148 - t418 * t430; + const double t435 = 0.22146941966666666666e-2 * t157; + const double t436 = 0.2e1 * t182; + const double t437 = 0.8e1 * t186; + const double t438 = 0.8e1 * t191; + const double t440 = 0.2e1 * t239; + const double t442 = 0.36622894612013090108e-3 * t245; + const double t443 = 0.11696447245269292414e1 * t250; + const double t446 = gamma * t98; + const double t447 = t262 * t262; + const double t449 = t446 * t151 * t447; + const double t450 = 0.6e1 * t449; + const double t451 = 0.1e1 / t48; + const double t452 = t195 * t195; + const double t455 = 0.1e1 / t266; + const double t456 = t34 * t455; + const double t458 = -0.2e1 * t193 + 0.2e1 * t456; + const double t462 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t452 + 0.2e1 / 0.3e1 * t253 * t458 ); + const double t463 = 0.1e1 / t53; + const double t464 = t199 * t199; + const double t467 = -t458; + const double t471 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t464 + 0.2e1 / 0.3e1 * t257 * t467 ); + const double t473 = t462 / 0.2e1 + t471 / 0.2e1; + const double t474 = t151 * t473; + const double t475 = t252 * t474; + const double t476 = 0.3e1 * t475; + const double t478 = 0.1e1 / t8 / t38; + const double t479 = t103 * t478; + const double t482 = 0.35e2 / 0.432e3 * t479 * t56 * t112; + const double t483 = t269 * t273; + const double t484 = t483 * t277; + const double t486 = t56 * t133; + const double t487 = t106 * t486; + const double t488 = t5 * t447; + const double t489 = t275 * t488; + const double t493 = t275 * t5 * t473; + const double t497 = 0.1e1 / t281 / t122; + const double t498 = t497 * t125; + const double t500 = t280 * t498 * t129; + const double t501 = t295 * t295; + const double t502 = t121 * t121; + const double t503 = t501 * t502; + const double t505 = t287 * t288 * t503; + const double t509 = t280 * t283 * t302; + const double t510 = t509 * t298; + const double t513 = t280 * t283 * t131; + const double t514 = t312 * t1; + const double t515 = t514 * t135; + const double t516 = t6 * t295; + const double t517 = t121 * t262; + const double t518 = t516 * t517; + const double t519 = t515 * t518; + const double t522 = t225 * t225; + const double t523 = 0.1e1 / t522; + const double t524 = t232 * t232; + const double t525 = t523 * t524; + const double t526 = t83 * t83; + const double t527 = 0.1e1 / t526; + const double t528 = t525 * t527; + const double t529 = t247 * t528; + const double t530 = 0.17315859105681463759e2 * t529; + const double t533 = 0.1e1 / t14 / t11 * t19; + const double t536 = 0.1e1 / t22 / t37; + const double t537 = t534 * t536; + const double t538 = t533 * t537; + const double t540 = t164 * t105; + const double t541 = t163 * t540; + const double t543 = t6 * t105; + const double t544 = t4 * t543; + const double t546 = 0.1e1/safe_math::sqrt( t11 ); + const double t547 = t546 * t19; + const double t548 = t547 * t537; + const double t550 = t171 * t540; + const double t553 = t21 * t5 * t536; + const double t555 = -0.57538888888888888889e0 * t538 + 0.11507777777777777778e1 * t541 + 0.40256666666666666667e0 * t544 + 0.366775e-1 * t548 + 0.73355e-1 * t550 + 0.137975e0 * t553; + const double t557 = t226 * t555 * t233; + const double t558 = t247 * t557; + const double t559 = 0.5848223622634646207e0 * t558; + const double t560 = t204 * t75; + const double t561 = t560 * t249; + const double t562 = 0.11696447245269292414e1 * t561; + const double t563 = 0.1e1 / t93; + const double t569 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t452 + 0.4e1 / 0.3e1 * t47 * t458 ); + const double t570 = 0.1e1 / t95; + const double t576 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t464 + 0.4e1 / 0.3e1 * t52 * t467 ); + const double t578 = ( t569 + t576 ) * t59; + const double t579 = t578 * t85; + const double t580 = 0.19751673498613801407e-1 * t579; + const double t585 = t154 * t211; + const double t589 = t210 * t67; + const double t590 = 0.1e1 / t589; + const double t591 = t62 * t590; + const double t592 = t217 * t217; + const double t593 = t592 * t218; + const double t602 = -0.78438333333333333333e0 * t538 + 0.15687666666666666667e1 * t541 + 0.68863333333333333333e0 * t544 + 0.14025833333333333333e0 * t548 + 0.28051666666666666667e0 * t550 + 0.17365833333333333333e0 * t553; + const double t603 = t602 * t218; + const double t606 = t210 * t210; + const double t607 = 0.1e1 / t606; + const double t608 = t62 * t607; + const double t609 = t70 * t70; + const double t610 = 0.1e1 / t609; + const double t611 = t592 * t610; + const double t615 = t4 * t543 * t31; + const double t616 = 0.14764627977777777777e-2 * t615; + const double t617 = t154 * t160; + const double t619 = t584 * t617 * t181; + const double t620 = 0.35616666666666666666e-1 * t619; + const double t621 = t159 * t27; + const double t622 = 0.1e1 / t621; + const double t623 = t13 * t622; + const double t624 = t179 * t179; + const double t625 = t624 * t180; + const double t626 = t623 * t625; + const double t627 = 0.2e1 * t626; + const double t634 = -0.42198333333333333333e0 * t538 + 0.84396666666666666666e0 * t541 + 0.39862222222222222223e0 * t544 + 0.68258333333333333333e-1 * t548 + 0.13651666666666666667e0 * t550 + 0.13692777777777777778e0 * t553; + const double t635 = t634 * t180; + const double t636 = t161 * t635; + const double t637 = 0.1e1 * t636; + const double t638 = t159 * t159; + const double t639 = 0.1e1 / t638; + const double t640 = t13 * t639; + const double t641 = t30 * t30; + const double t642 = 0.1e1 / t641; + const double t643 = t624 * t642; + const double t644 = t640 * t643; + const double t645 = 0.16081979498692535067e2 * t644; + const double t649 = t154 * t226; + const double t653 = t225 * t80; + const double t654 = 0.1e1 / t653; + const double t655 = t75 * t654; + const double t656 = t524 * t233; + const double t659 = t555 * t233; + const double t662 = t75 * t523; + const double t663 = t524 * t527; + const double t666 = -0.70983522622222222221e-3 * t4 * t543 * t71 - 0.34246666666666666666e-1 * t584 * t585 * t219 - 0.2e1 * t591 * t593 + 0.1e1 * t212 * t603 + 0.32163958997385070134e2 * t608 * t611 + t616 + t620 + t627 - t637 - t645 - 0.24415263074675393405e-3 * t4 * t543 * t84 - 0.10843581300301739842e-1 * t584 * t649 * t234 - 0.11696447245269292414e1 * t655 * t656 + 0.5848223622634646207e0 * t227 * t659 + 0.17315859105681463759e2 * t662 * t663; + const double t667 = t60 * t666; + const double t668 = t40 * t667; + const double t669 = t578 * t87; + const double t670 = t40 * t669; + const double t671 = t204 * t237; + const double t672 = t40 * t671; + const double t673 = 0.2e1 * t672; + const double t674 = t190 * t205; + const double t675 = 0.8e1 * t674; + const double t676 = t190 * t238; + const double t677 = 0.8e1 * t676; + const double t678 = t185 * t205; + const double t679 = 0.8e1 * t678; + const double t680 = t185 * t238; + const double t681 = 0.8e1 * t680; + const double t682 = -t530 - t559 - t562 + t580 + t668 + t670 + t673 - t675 - t677 + t679 + t681; + const double t683 = t38 * t37; + const double t684 = 0.1e1 / t683; + const double t685 = t36 * t684; + const double t686 = t685 * t88; + const double t687 = 0.2e2 * t686; + const double t688 = t35 * t39; + const double t689 = t688 * t88; + const double t690 = 0.12e2 * t689; + const double t691 = t184 * t189; + const double t692 = t691 * t88; + const double t693 = 0.32e2 * t692; + const double t694 = t60 * t4; + const double t695 = t155 * t249; + const double t696 = t694 * t695; + const double t697 = 0.10843581300301739842e-1 * t696; + const double t698 = t204 * t1; + const double t699 = t698 * t244; + const double t700 = 0.36622894612013090108e-3 * t699; + const double t702 = t654 * t524 * t233; + const double t703 = t247 * t702; + const double t704 = 0.11696447245269292414e1 * t703; + const double t706 = t164 * t105 * t84; + const double t707 = t242 * t706; + const double t708 = 0.24415263074675393405e-3 * t707; + const double t709 = -t627 + t687 + t690 - t693 - t616 + t637 + t645 + t697 - t700 + t704 - t620 + t708; + const double t711 = ( t682 + t709 ) * t116; + const double t715 = t312 * t447; + const double t718 = t133 * t473; + const double t721 = -0.12e2 * t118 * t715 + 0.3e1 * t118 * t718 - t711 * t119 + 0.6e1 * t290 * t292; + const double t722 = t721 * t121; + const double t724 = t287 * t288 * t722; + const double t727 = t501 * t121; + const double t729 = t287 * t288 * t727; + const double t733 = 0.1e1 / t22 / t683; + const double t734 = t733 * t130; + const double t736 = t734 * t133 * t137; + const double t738 = 0.119e3 / 0.13824e5 * t127 * t736; + const double t740 = t280 * t308 * t302; + const double t741 = t740 * t316; + const double t744 = 0.1e1 / t132 / t99; + const double t745 = t130 * t744; + const double t746 = t745 * t1; + const double t748 = t746 * t288 * t447; + const double t752 = t314 * t288 * t473; + const double t755 = t482 + 0.7e1 / 0.72e2 * t484 + t487 * t489 / 0.16e2 - t274 * t493 / 0.48e2 + t500 * t505 / 0.1536e4 + 0.7e1 / 0.2304e4 * t510 + t513 * t519 / 0.384e3 - t285 * t724 / 0.3072e4 - t285 * t729 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t741 + 0.5e1 / 0.768e3 * t310 * t748 - t310 * t752 / 0.768e3; + const double t756 = beta * t755; + const double t761 = 0.1e1 / t322 / t146; + const double t762 = t116 * t761; + const double t763 = t331 * t331; + const double t764 = t762 * t763; + const double t767 = t143 * t497; + const double t768 = t141 * t501; + const double t772 = t319 * t295; + const double t776 = t141 * t721; + const double t783 = -t325 * t768 * t121 - 0.2e1 * t325 * t772 * t121 - t325 * t776 * t121 + t143 * t123 * t755 + 0.2e1 * t767 * t768 * t502; + const double t784 = t324 * t783; + const double t786 = 0.2e1 * t142 * t764 - t142 * t784 + t756 * t148 - 0.2e1 * t320 * t332; + const double t787 = t786 * t335; + const double t788 = t101 * t787; + const double t789 = t334 * t334; + const double t790 = t150 * t150; + const double t791 = 0.1e1 / t790; + const double t792 = t789 * t791; + const double t793 = t101 * t792; + const double t794 = t450 + t476 + t788 + t704 - t627 + t637 + t645 + t697 - t693 - t793 + t681 + t687 + t690 - t530; + const double t796 = t252 * t336 * t262; + const double t797 = 0.6e1 * t796; + const double t798 = -t559 - t562 - t677 + t679 + t670 + t673 - t675 - t616 + t668 + t797 - t620 - t700 + t708 + t580; + const double t801 = t185 * t350; + const double t802 = 0.4e1 * t801; + const double t803 = t190 * t350; + const double t804 = 0.4e1 * t803; + const double t805 = t563 * t340; + const double t808 = t47 * t34; + const double t812 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t805 * t195 + 0.8e1 / 0.3e1 * t808 * t455 ); + const double t813 = t570 * t344; + const double t816 = t52 * t34; + const double t820 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t813 * t199 - 0.8e1 / 0.3e1 * t816 * t455 ); + const double t822 = ( t812 + t820 ) * t59; + const double t823 = t822 * t87; + const double t824 = t40 * t823; + const double t825 = t349 * t237; + const double t826 = t40 * t825; + const double t827 = t349 * t75; + const double t828 = t827 * t249; + const double t829 = 0.5848223622634646207e0 * t828; + const double t830 = t349 * t1; + const double t831 = t830 * t244; + const double t832 = 0.18311447306006545054e-3 * t831; + const double t833 = t396 * t791; + const double t835 = t101 * t833 * t334; + const double t837 = t252 * t397 * t262; + const double t840 = t446 * t362 * t262; + const double t842 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 - t835 + 0.3e1 * t837 + 0.6e1 * t840 + t687 - t690; + const double t843 = 0.5848223622634646207e0 * t561; + const double t844 = 0.4e1 * t678; + const double t845 = 0.4e1 * t674; + const double t846 = t822 * t85; + const double t847 = 0.19751673498613801407e-1 * t846; + const double t848 = 0.18311447306006545054e-3 * t699; + const double t849 = t451 * t340; + const double t852 = t253 * t34; + const double t856 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t849 * t195 + 0.4e1 / 0.3e1 * t852 * t455 ); + const double t857 = t463 * t344; + const double t860 = t257 * t34; + const double t864 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t857 * t199 - 0.4e1 / 0.3e1 * t860 * t455 ); + const double t866 = t856 / 0.2e1 + t864 / 0.2e1; + const double t867 = t151 * t866; + const double t868 = t252 * t867; + const double t871 = t483 * t366; + const double t874 = t275 * t365 * t262; + const double t877 = t5 * t866; + const double t878 = t275 * t877; + const double t882 = t280 * t498 * t131; + const double t883 = t133 * t1; + const double t884 = t883 * t135; + const double t885 = t6 * t375; + const double t886 = t502 * t295; + const double t887 = t885 * t886; + const double t888 = t884 * t887; + const double t891 = t509 * t378; + const double t893 = t885 * t517; + const double t894 = t515 * t893; + const double t897 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 + t687 - t690; + const double t898 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708; + const double t900 = ( t897 + t898 ) * t116; + const double t906 = t312 * t361; + const double t907 = t906 * t262; + const double t910 = t133 * t866; + const double t913 = -0.12e2 * t118 * t907 + 0.3e1 * t118 * t910 - t900 * t119 + 0.3e1 * t290 * t372 + 0.3e1 * t370 * t292; + const double t914 = t913 * t121; + const double t916 = t287 * t288 * t914; + const double t919 = t885 * t296; + const double t920 = t884 * t919; + const double t925 = t6 * t361; + const double t926 = t925 * t296; + const double t927 = t515 * t926; + const double t930 = t740 * t382; + const double t932 = t361 * t262; + const double t934 = t746 * t288 * t932; + const double t938 = t314 * t288 * t866; + const double t941 = t482 + 0.7e1 / 0.144e3 * t484 + 0.7e1 / 0.144e3 * t871 + t487 * t874 / 0.16e2 - t274 * t878 / 0.48e2 + t882 * t888 / 0.1536e4 + 0.7e1 / 0.4608e4 * t891 + t513 * t894 / 0.768e3 - t285 * t916 / 0.3072e4 - t513 * t920 / 0.3072e4 + 0.7e1 / 0.4608e4 * t510 + t738 + 0.7e1 / 0.1152e4 * t741 + t513 * t927 / 0.768e3 + 0.7e1 / 0.1152e4 * t930 + 0.5e1 / 0.768e3 * t310 * t934 - t310 * t938 / 0.768e3; + const double t942 = beta * t941; + const double t946 = t142 * t116; + const double t947 = t761 * t393; + const double t948 = t947 * t331; + const double t954 = t319 * t375; + const double t957 = t141 * t913; + const double t962 = t385 * t295; + const double t967 = -t325 * t954 * t121 - t325 * t957 * t121 - t325 * t962 * t121 + t143 * t123 * t941 - t325 * t388 * t296 + 0.2e1 * t767 * t388 * t886; + const double t968 = t324 * t967; + const double t970 = -t142 * t968 + t942 * t148 - t320 * t394 - t386 * t332 + 0.2e1 * t946 * t948; + const double t971 = t970 * t335; + const double t972 = t101 * t971; + const double t973 = t336 * t361; + const double t974 = t252 * t973; + const double t976 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708 + 0.3e1 * t868 + t972 + 0.3e1 * t974; + const double t983 = 0.8e1 * t801; + const double t984 = 0.8e1 * t803; + const double t985 = 0.2e1 * t826; + const double t986 = t396 * t396; + const double t987 = t986 * t791; + const double t988 = t101 * t987; + const double t989 = 0.11696447245269292414e1 * t828; + const double t990 = 0.36622894612013090108e-3 * t831; + const double t991 = t340 * t340; + const double t995 = 0.2e1 * t193 + 0.2e1 * t456; + const double t999 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t991 + 0.4e1 / 0.3e1 * t47 * t995 ); + const double t1000 = t344 * t344; + const double t1003 = -t995; + const double t1007 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t1000 + 0.4e1 / 0.3e1 * t52 * t1003 ); + const double t1009 = ( t999 + t1007 ) * t59; + const double t1010 = t1009 * t87; + const double t1011 = t40 * t1010; + const double t1017 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t991 + 0.2e1 / 0.3e1 * t253 * t995 ); + const double t1023 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t1000 + 0.2e1 / 0.3e1 * t257 * t1003 ); + const double t1025 = t1017 / 0.2e1 + t1023 / 0.2e1; + const double t1026 = t151 * t1025; + const double t1027 = t252 * t1026; + const double t1028 = 0.3e1 * t1027; + const double t1030 = t361 * t361; + const double t1031 = t5 * t1030; + const double t1032 = t275 * t1031; + const double t1035 = t5 * t1025; + const double t1036 = t275 * t1035; + const double t1039 = t375 * t375; + const double t1040 = t1039 * t502; + const double t1042 = t287 * t288 * t1040; + const double t1046 = t121 * t361; + const double t1047 = t885 * t1046; + const double t1048 = t515 * t1047; + const double t1051 = t1009 * t85; + const double t1052 = 0.19751673498613801407e-1 * t1051; + const double t1053 = t1011 + t1052 - t989 - t983 - t984 + t985 - t530 - t559 + t668 - t677 - t681; + const double t1054 = -t627 + t687 + t690 + t693 - t616 + t637 + t645 + t697 - t990 + t704 - t620 + t708; + const double t1056 = ( t1053 + t1054 ) * t116; + const double t1060 = t312 * t1030; + const double t1063 = t133 * t1025; + const double t1066 = -t1056 * t119 - 0.12e2 * t118 * t1060 + 0.3e1 * t118 * t1063 + 0.6e1 * t370 * t372; + const double t1067 = t1066 * t121; + const double t1069 = t287 * t288 * t1067; + const double t1072 = t1039 * t121; + const double t1074 = t287 * t288 * t1072; + const double t1079 = t746 * t288 * t1030; + const double t1083 = t314 * t288 * t1025; + const double t1086 = t482 + 0.7e1 / 0.72e2 * t871 + t487 * t1032 / 0.16e2 - t274 * t1036 / 0.48e2 + t500 * t1042 / 0.1536e4 + 0.7e1 / 0.2304e4 * t891 + t513 * t1048 / 0.384e3 - t285 * t1069 / 0.3072e4 - t285 * t1074 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t930 + 0.5e1 / 0.768e3 * t310 * t1079 - t310 * t1083 / 0.768e3; + const double t1087 = beta * t1086; + const double t1091 = t393 * t393; + const double t1092 = t762 * t1091; + const double t1095 = t141 * t1039; + const double t1099 = t385 * t375; + const double t1103 = t141 * t1066; + const double t1110 = t143 * t123 * t1086 - t325 * t1095 * t121 + 0.2e1 * t767 * t1095 * t502 - 0.2e1 * t325 * t1099 * t121 - t325 * t1103 * t121; + const double t1111 = t324 * t1110; + const double t1113 = t1087 * t148 + 0.2e1 * t142 * t1092 - t142 * t1111 - 0.2e1 * t386 * t394; + const double t1114 = t1113 * t335; + const double t1115 = t101 * t1114; + const double t1116 = t704 - t983 - t984 + t985 - t627 + t637 + t645 + t697 - t988 - t989 - t990 + t1011 + t1028 + t1115; + const double t1117 = t151 * t1030; + const double t1118 = t446 * t1117; + const double t1119 = 0.6e1 * t1118; + const double t1120 = t397 * t361; + const double t1121 = t252 * t1120; + const double t1122 = 0.6e1 * t1121; + const double t1123 = t693 - t681 + t687 + t690 - t530 - t559 + t1052 - t677 - t616 + t668 + t1119 + t1122 - t620 + t708; + const double t1126 = t422 * t335; + const double t1127 = t101 * t1126; + const double t1128 = t401 * t99; + const double t1129 = t1126 * t262; + const double t1132 = t268 * t56; + const double t1134 = t1132 * t108 * t404; + const double t1135 = 0.7e1 / 0.288e3 * t1134; + const double t1136 = t402 * t119; + const double t1137 = t1136 * t277; + const double t1139 = t282 * t103; + const double t1141 = t280 * t1139 * t129; + const double t1142 = t1141 * t298; + const double t1144 = t408 * t305; + const double t1145 = 0.7e1 / 0.2304e4 * t1144; + const double t1146 = t123 * t103; + const double t1148 = t280 * t1146 * t129; + const double t1149 = t1148 * t316; + const double t1151 = -t1135 - t1137 / 0.48e2 - t1142 / 0.1536e4 - t1145 - t1149 / 0.384e3; + const double t1152 = beta * t1151; + const double t1155 = t414 * t319; + const double t1156 = t1155 * t417; + const double t1158 = t761 * t123; + const double t1159 = t411 * t331; + const double t1160 = t1158 * t1159; + const double t1163 = t417 * t323; + const double t1164 = t415 * t1163; + const double t1165 = t282 * t411; + const double t1166 = t1165 * t296; + const double t1168 = t419 * t1151; + const double t1170 = t1152 * t148 - t1156 * t420 + 0.2e1 * t418 * t1160 + t1164 * t1166 - t418 * t1168 - t412 * t332; + const double t1174 = t401 * t100; + const double t1175 = t422 * t791; + const double t1176 = t1175 * t334; + const double t1178 = t432 * t335; + const double t1179 = t101 * t1178; + const double t1180 = t1178 * t262; + const double t1183 = 0.7e1 / 0.144e3 * t1134; + const double t1186 = 0.7e1 / 0.1152e4 * t1144; + const double t1188 = -t1183 - t1137 / 0.24e2 - t1142 / 0.768e3 - t1186 - t1149 / 0.192e3; + const double t1189 = beta * t1188; + const double t1194 = t1158 * t427 * t331; + const double t1197 = t282 * t427; + const double t1198 = t1197 * t296; + const double t1200 = t419 * t1188; + const double t1202 = -t1156 * t430 + t1164 * t1198 + t1189 * t148 + 0.2e1 * t418 * t1194 - t418 * t1200 - t428 * t332; + const double t1206 = t432 * t791; + const double t1207 = t1206 * t334; + const double t1209 = t1126 * t361; + const double t1212 = t1136 * t366; + const double t1214 = t1141 * t378; + const double t1216 = t1148 * t382; + const double t1218 = -t1135 - t1212 / 0.48e2 - t1214 / 0.1536e4 - t1145 - t1216 / 0.384e3; + const double t1219 = beta * t1218; + const double t1222 = t414 * t385; + const double t1223 = t1222 * t417; + const double t1225 = t411 * t393; + const double t1226 = t1158 * t1225; + const double t1229 = t1165 * t376; + const double t1231 = t419 * t1218; + const double t1233 = t1164 * t1229 + t1219 * t148 - t1223 * t420 + 0.2e1 * t418 * t1226 - t418 * t1231 - t412 * t394; + const double t1237 = t1175 * t396; + const double t1239 = t1178 * t361; + const double t1245 = -t1183 - t1212 / 0.24e2 - t1214 / 0.768e3 - t1186 - t1216 / 0.192e3; + const double t1246 = beta * t1245; + const double t1250 = t427 * t393; + const double t1251 = t1158 * t1250; + const double t1254 = t1197 * t376; + const double t1256 = t419 * t1245; + const double t1258 = t1164 * t1254 - t1223 * t430 + t1246 * t148 + 0.2e1 * t418 * t1251 - t418 * t1256 - t428 * t394; + const double t1262 = t1206 * t396; + const double t1265 = t417 * t123; + const double t1269 = t287 * t288 * t147; + const double t1270 = t1264 * t1265 * t129 * t1269; + const double t1272 = t411 * t411; + const double t1273 = t414 * t1272; + const double t1274 = t1163 * t123; + const double t1278 = t1277 * t141; + const double t1281 = t1278 * t1280; + const double t1282 = t761 * t282; + const double t1283 = t1282 * t1272; + const double t1286 = t323 * t282; + const double t1287 = t1286 * BB; + const double t1288 = t1281 * t1287; + const double t1289 = t1288 * t138; + const double t1291 = t1270 / 0.1536e4 - 0.2e1 * t1273 * t1274 + 0.2e1 * t1281 * t1283 - t1289 / 0.1536e4; + const double t1295 = t422 * t422; + const double t1300 = t414 * t427; + const double t1301 = t1300 * t417; + const double t1304 = t427 * t411; + const double t1305 = t1282 * t1304; + const double t1309 = t1270 / 0.768e3 - 0.2e1 * t1301 * t420 + 0.2e1 * t1281 * t1305 - t1289 / 0.768e3; + const double t1313 = t1206 * t422; + const double t1316 = t427 * t427; + const double t1317 = t414 * t1316; + const double t1320 = t1282 * t1316; + const double t1324 = t1270 / 0.384e3 - 0.2e1 * t1317 * t1274 + 0.2e1 * t1281 * t1320 - t1289 / 0.384e3; + const double t1328 = t432 * t432; - eps = -t33 + t89 + t91 + t152; + v2rho2_aa = t435 + t436 + t437 - t438 + 0.2e1 * t206 + t440 + 0.39503346997227602814e-1 * t240 - t442 - t443 + 0.6e1 * t264 + 0.2e1 * t337 + t7 * ( t794 + t798 ); + v2rho2_ab = t435 + t436 - t438 + t206 + t440 + t241 - t442 - t443 + t265 + t337 + t351 + t353 + t364 + t398 + t7 * ( t842 + t976 ); + v2rho2_bb = t435 + t436 - t437 - t438 + 0.2e1 * t351 + t440 + 0.39503346997227602814e-1 * t352 - t442 - t443 + 0.6e1 * t363 + 0.2e1 * t398 + t7 * ( t1116 + t1123 ); + v2rhosigma_a_aa = t401 * t100 * t1170 * t335 + 0.3e1 * t1128 * t1129 - t1174 * t1176 + t1127; + v2rhosigma_a_ab = t401 * t100 * t1202 * t335 + 0.3e1 * t1128 * t1180 - t1174 * t1207 + t1179; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t401 * t100 * t1233 * t335 + 0.3e1 * t1128 * t1209 - t1174 * t1237 + t1127; + v2rhosigma_b_ab = t401 * t100 * t1258 * t335 + 0.3e1 * t1128 * t1239 - t1174 * t1262 + t1179; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t401 * t100 * t1291 * t335 - t401 * t100 * t1295 * t791; + v2sigma2_aa_ab = t401 * t100 * t1309 * t335 - t1174 * t1313; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t401 * t100 * t1324 * t335 - t401 * t100 * t1328 * t791; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -420,6 +2141,11 @@ struct kernel_traits< BuiltinPBE_C > : constexpr double t414 = beta * beta; constexpr double t416 = gamma * gamma; constexpr double t417 = 0.1e1 / t416; + constexpr double t534 = t20 * t5; + constexpr double t584 = t4 * t6; + constexpr double t1264 = t414 * BB; + constexpr double t1277 = t414 * beta; + constexpr double t1280 = 0.1e1 / t416 / gamma; const double t7 = rho_a + rho_b; @@ -674,14 +2400,500 @@ struct kernel_traits< BuiltinPBE_C > : const double t430 = t419 * t427; const double t432 = t428 * t148 - t418 * t430; const double t433 = t100 * t432; + const double t435 = 0.22146941966666666666e-2 * t157; + const double t436 = 0.2e1 * t182; + const double t437 = 0.8e1 * t186; + const double t438 = 0.8e1 * t191; + const double t440 = 0.2e1 * t239; + const double t442 = 0.36622894612013090108e-3 * t245; + const double t443 = 0.11696447245269292414e1 * t250; + const double t446 = gamma * t98; + const double t447 = t262 * t262; + const double t449 = t446 * t151 * t447; + const double t450 = 0.6e1 * t449; + const double t451 = 0.1e1 / t48; + const double t452 = t195 * t195; + const double t455 = 0.1e1 / t266; + const double t456 = t34 * t455; + const double t458 = -0.2e1 * t193 + 0.2e1 * t456; + const double t462 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t452 + 0.2e1 / 0.3e1 * t253 * t458 ); + const double t463 = 0.1e1 / t53; + const double t464 = t199 * t199; + const double t467 = -t458; + const double t471 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t464 + 0.2e1 / 0.3e1 * t257 * t467 ); + const double t473 = t462 / 0.2e1 + t471 / 0.2e1; + const double t474 = t151 * t473; + const double t475 = t252 * t474; + const double t476 = 0.3e1 * t475; + const double t478 = 0.1e1 / t8 / t38; + const double t479 = t103 * t478; + const double t482 = 0.35e2 / 0.432e3 * t479 * t56 * t112; + const double t483 = t269 * t273; + const double t484 = t483 * t277; + const double t486 = t56 * t133; + const double t487 = t106 * t486; + const double t488 = t5 * t447; + const double t489 = t275 * t488; + const double t493 = t275 * t5 * t473; + const double t497 = 0.1e1 / t281 / t122; + const double t498 = t497 * t125; + const double t500 = t280 * t498 * t129; + const double t501 = t295 * t295; + const double t502 = t121 * t121; + const double t503 = t501 * t502; + const double t505 = t287 * t288 * t503; + const double t509 = t280 * t283 * t302; + const double t510 = t509 * t298; + const double t513 = t280 * t283 * t131; + const double t514 = t312 * t1; + const double t515 = t514 * t135; + const double t516 = t6 * t295; + const double t517 = t121 * t262; + const double t518 = t516 * t517; + const double t519 = t515 * t518; + const double t522 = t225 * t225; + const double t523 = 0.1e1 / t522; + const double t524 = t232 * t232; + const double t525 = t523 * t524; + const double t526 = t83 * t83; + const double t527 = 0.1e1 / t526; + const double t528 = t525 * t527; + const double t529 = t247 * t528; + const double t530 = 0.17315859105681463759e2 * t529; + const double t533 = 0.1e1 / t14 / t11 * t19; + const double t536 = 0.1e1 / t22 / t37; + const double t537 = t534 * t536; + const double t538 = t533 * t537; + const double t540 = t164 * t105; + const double t541 = t163 * t540; + const double t543 = t6 * t105; + const double t544 = t4 * t543; + const double t546 = 0.1e1/safe_math::sqrt( t11 ); + const double t547 = t546 * t19; + const double t548 = t547 * t537; + const double t550 = t171 * t540; + const double t553 = t21 * t5 * t536; + const double t555 = -0.57538888888888888889e0 * t538 + 0.11507777777777777778e1 * t541 + 0.40256666666666666667e0 * t544 + 0.366775e-1 * t548 + 0.73355e-1 * t550 + 0.137975e0 * t553; + const double t557 = t226 * t555 * t233; + const double t558 = t247 * t557; + const double t559 = 0.5848223622634646207e0 * t558; + const double t560 = t204 * t75; + const double t561 = t560 * t249; + const double t562 = 0.11696447245269292414e1 * t561; + const double t563 = 0.1e1 / t93; + const double t569 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t452 + 0.4e1 / 0.3e1 * t47 * t458 ); + const double t570 = 0.1e1 / t95; + const double t576 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t464 + 0.4e1 / 0.3e1 * t52 * t467 ); + const double t578 = ( t569 + t576 ) * t59; + const double t579 = t578 * t85; + const double t580 = 0.19751673498613801407e-1 * t579; + const double t585 = t154 * t211; + const double t589 = t210 * t67; + const double t590 = 0.1e1 / t589; + const double t591 = t62 * t590; + const double t592 = t217 * t217; + const double t593 = t592 * t218; + const double t602 = -0.78438333333333333333e0 * t538 + 0.15687666666666666667e1 * t541 + 0.68863333333333333333e0 * t544 + 0.14025833333333333333e0 * t548 + 0.28051666666666666667e0 * t550 + 0.17365833333333333333e0 * t553; + const double t603 = t602 * t218; + const double t606 = t210 * t210; + const double t607 = 0.1e1 / t606; + const double t608 = t62 * t607; + const double t609 = t70 * t70; + const double t610 = 0.1e1 / t609; + const double t611 = t592 * t610; + const double t615 = t4 * t543 * t31; + const double t616 = 0.14764627977777777777e-2 * t615; + const double t617 = t154 * t160; + const double t619 = t584 * t617 * t181; + const double t620 = 0.35616666666666666666e-1 * t619; + const double t621 = t159 * t27; + const double t622 = 0.1e1 / t621; + const double t623 = t13 * t622; + const double t624 = t179 * t179; + const double t625 = t624 * t180; + const double t626 = t623 * t625; + const double t627 = 0.2e1 * t626; + const double t634 = -0.42198333333333333333e0 * t538 + 0.84396666666666666666e0 * t541 + 0.39862222222222222223e0 * t544 + 0.68258333333333333333e-1 * t548 + 0.13651666666666666667e0 * t550 + 0.13692777777777777778e0 * t553; + const double t635 = t634 * t180; + const double t636 = t161 * t635; + const double t637 = 0.1e1 * t636; + const double t638 = t159 * t159; + const double t639 = 0.1e1 / t638; + const double t640 = t13 * t639; + const double t641 = t30 * t30; + const double t642 = 0.1e1 / t641; + const double t643 = t624 * t642; + const double t644 = t640 * t643; + const double t645 = 0.16081979498692535067e2 * t644; + const double t649 = t154 * t226; + const double t653 = t225 * t80; + const double t654 = 0.1e1 / t653; + const double t655 = t75 * t654; + const double t656 = t524 * t233; + const double t659 = t555 * t233; + const double t662 = t75 * t523; + const double t663 = t524 * t527; + const double t666 = -0.70983522622222222221e-3 * t4 * t543 * t71 - 0.34246666666666666666e-1 * t584 * t585 * t219 - 0.2e1 * t591 * t593 + 0.1e1 * t212 * t603 + 0.32163958997385070134e2 * t608 * t611 + t616 + t620 + t627 - t637 - t645 - 0.24415263074675393405e-3 * t4 * t543 * t84 - 0.10843581300301739842e-1 * t584 * t649 * t234 - 0.11696447245269292414e1 * t655 * t656 + 0.5848223622634646207e0 * t227 * t659 + 0.17315859105681463759e2 * t662 * t663; + const double t667 = t60 * t666; + const double t668 = t40 * t667; + const double t669 = t578 * t87; + const double t670 = t40 * t669; + const double t671 = t204 * t237; + const double t672 = t40 * t671; + const double t673 = 0.2e1 * t672; + const double t674 = t190 * t205; + const double t675 = 0.8e1 * t674; + const double t676 = t190 * t238; + const double t677 = 0.8e1 * t676; + const double t678 = t185 * t205; + const double t679 = 0.8e1 * t678; + const double t680 = t185 * t238; + const double t681 = 0.8e1 * t680; + const double t682 = -t530 - t559 - t562 + t580 + t668 + t670 + t673 - t675 - t677 + t679 + t681; + const double t683 = t38 * t37; + const double t684 = 0.1e1 / t683; + const double t685 = t36 * t684; + const double t686 = t685 * t88; + const double t687 = 0.2e2 * t686; + const double t688 = t35 * t39; + const double t689 = t688 * t88; + const double t690 = 0.12e2 * t689; + const double t691 = t184 * t189; + const double t692 = t691 * t88; + const double t693 = 0.32e2 * t692; + const double t694 = t60 * t4; + const double t695 = t155 * t249; + const double t696 = t694 * t695; + const double t697 = 0.10843581300301739842e-1 * t696; + const double t698 = t204 * t1; + const double t699 = t698 * t244; + const double t700 = 0.36622894612013090108e-3 * t699; + const double t702 = t654 * t524 * t233; + const double t703 = t247 * t702; + const double t704 = 0.11696447245269292414e1 * t703; + const double t706 = t164 * t105 * t84; + const double t707 = t242 * t706; + const double t708 = 0.24415263074675393405e-3 * t707; + const double t709 = -t627 + t687 + t690 - t693 - t616 + t637 + t645 + t697 - t700 + t704 - t620 + t708; + const double t711 = ( t682 + t709 ) * t116; + const double t715 = t312 * t447; + const double t718 = t133 * t473; + const double t721 = -0.12e2 * t118 * t715 + 0.3e1 * t118 * t718 - t711 * t119 + 0.6e1 * t290 * t292; + const double t722 = t721 * t121; + const double t724 = t287 * t288 * t722; + const double t727 = t501 * t121; + const double t729 = t287 * t288 * t727; + const double t733 = 0.1e1 / t22 / t683; + const double t734 = t733 * t130; + const double t736 = t734 * t133 * t137; + const double t738 = 0.119e3 / 0.13824e5 * t127 * t736; + const double t740 = t280 * t308 * t302; + const double t741 = t740 * t316; + const double t744 = 0.1e1 / t132 / t99; + const double t745 = t130 * t744; + const double t746 = t745 * t1; + const double t748 = t746 * t288 * t447; + const double t752 = t314 * t288 * t473; + const double t755 = t482 + 0.7e1 / 0.72e2 * t484 + t487 * t489 / 0.16e2 - t274 * t493 / 0.48e2 + t500 * t505 / 0.1536e4 + 0.7e1 / 0.2304e4 * t510 + t513 * t519 / 0.384e3 - t285 * t724 / 0.3072e4 - t285 * t729 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t741 + 0.5e1 / 0.768e3 * t310 * t748 - t310 * t752 / 0.768e3; + const double t756 = beta * t755; + const double t761 = 0.1e1 / t322 / t146; + const double t762 = t116 * t761; + const double t763 = t331 * t331; + const double t764 = t762 * t763; + const double t767 = t143 * t497; + const double t768 = t141 * t501; + const double t772 = t319 * t295; + const double t776 = t141 * t721; + const double t783 = -t325 * t768 * t121 - 0.2e1 * t325 * t772 * t121 - t325 * t776 * t121 + t143 * t123 * t755 + 0.2e1 * t767 * t768 * t502; + const double t784 = t324 * t783; + const double t786 = 0.2e1 * t142 * t764 - t142 * t784 + t756 * t148 - 0.2e1 * t320 * t332; + const double t787 = t786 * t335; + const double t788 = t101 * t787; + const double t789 = t334 * t334; + const double t790 = t150 * t150; + const double t791 = 0.1e1 / t790; + const double t792 = t789 * t791; + const double t793 = t101 * t792; + const double t794 = t450 + t476 + t788 + t704 - t627 + t637 + t645 + t697 - t693 - t793 + t681 + t687 + t690 - t530; + const double t796 = t252 * t336 * t262; + const double t797 = 0.6e1 * t796; + const double t798 = -t559 - t562 - t677 + t679 + t670 + t673 - t675 - t616 + t668 + t797 - t620 - t700 + t708 + t580; + const double t801 = t185 * t350; + const double t802 = 0.4e1 * t801; + const double t803 = t190 * t350; + const double t804 = 0.4e1 * t803; + const double t805 = t563 * t340; + const double t808 = t47 * t34; + const double t812 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t805 * t195 + 0.8e1 / 0.3e1 * t808 * t455 ); + const double t813 = t570 * t344; + const double t816 = t52 * t34; + const double t820 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t813 * t199 - 0.8e1 / 0.3e1 * t816 * t455 ); + const double t822 = ( t812 + t820 ) * t59; + const double t823 = t822 * t87; + const double t824 = t40 * t823; + const double t825 = t349 * t237; + const double t826 = t40 * t825; + const double t827 = t349 * t75; + const double t828 = t827 * t249; + const double t829 = 0.5848223622634646207e0 * t828; + const double t830 = t349 * t1; + const double t831 = t830 * t244; + const double t832 = 0.18311447306006545054e-3 * t831; + const double t833 = t396 * t791; + const double t835 = t101 * t833 * t334; + const double t837 = t252 * t397 * t262; + const double t840 = t446 * t362 * t262; + const double t842 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 - t835 + 0.3e1 * t837 + 0.6e1 * t840 + t687 - t690; + const double t843 = 0.5848223622634646207e0 * t561; + const double t844 = 0.4e1 * t678; + const double t845 = 0.4e1 * t674; + const double t846 = t822 * t85; + const double t847 = 0.19751673498613801407e-1 * t846; + const double t848 = 0.18311447306006545054e-3 * t699; + const double t849 = t451 * t340; + const double t852 = t253 * t34; + const double t856 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t849 * t195 + 0.4e1 / 0.3e1 * t852 * t455 ); + const double t857 = t463 * t344; + const double t860 = t257 * t34; + const double t864 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t857 * t199 - 0.4e1 / 0.3e1 * t860 * t455 ); + const double t866 = t856 / 0.2e1 + t864 / 0.2e1; + const double t867 = t151 * t866; + const double t868 = t252 * t867; + const double t871 = t483 * t366; + const double t874 = t275 * t365 * t262; + const double t877 = t5 * t866; + const double t878 = t275 * t877; + const double t882 = t280 * t498 * t131; + const double t883 = t133 * t1; + const double t884 = t883 * t135; + const double t885 = t6 * t375; + const double t886 = t502 * t295; + const double t887 = t885 * t886; + const double t888 = t884 * t887; + const double t891 = t509 * t378; + const double t893 = t885 * t517; + const double t894 = t515 * t893; + const double t897 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 + t687 - t690; + const double t898 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708; + const double t900 = ( t897 + t898 ) * t116; + const double t906 = t312 * t361; + const double t907 = t906 * t262; + const double t910 = t133 * t866; + const double t913 = -0.12e2 * t118 * t907 + 0.3e1 * t118 * t910 - t900 * t119 + 0.3e1 * t290 * t372 + 0.3e1 * t370 * t292; + const double t914 = t913 * t121; + const double t916 = t287 * t288 * t914; + const double t919 = t885 * t296; + const double t920 = t884 * t919; + const double t925 = t6 * t361; + const double t926 = t925 * t296; + const double t927 = t515 * t926; + const double t930 = t740 * t382; + const double t932 = t361 * t262; + const double t934 = t746 * t288 * t932; + const double t938 = t314 * t288 * t866; + const double t941 = t482 + 0.7e1 / 0.144e3 * t484 + 0.7e1 / 0.144e3 * t871 + t487 * t874 / 0.16e2 - t274 * t878 / 0.48e2 + t882 * t888 / 0.1536e4 + 0.7e1 / 0.4608e4 * t891 + t513 * t894 / 0.768e3 - t285 * t916 / 0.3072e4 - t513 * t920 / 0.3072e4 + 0.7e1 / 0.4608e4 * t510 + t738 + 0.7e1 / 0.1152e4 * t741 + t513 * t927 / 0.768e3 + 0.7e1 / 0.1152e4 * t930 + 0.5e1 / 0.768e3 * t310 * t934 - t310 * t938 / 0.768e3; + const double t942 = beta * t941; + const double t946 = t142 * t116; + const double t947 = t761 * t393; + const double t948 = t947 * t331; + const double t954 = t319 * t375; + const double t957 = t141 * t913; + const double t962 = t385 * t295; + const double t967 = -t325 * t954 * t121 - t325 * t957 * t121 - t325 * t962 * t121 + t143 * t123 * t941 - t325 * t388 * t296 + 0.2e1 * t767 * t388 * t886; + const double t968 = t324 * t967; + const double t970 = -t142 * t968 + t942 * t148 - t320 * t394 - t386 * t332 + 0.2e1 * t946 * t948; + const double t971 = t970 * t335; + const double t972 = t101 * t971; + const double t973 = t336 * t361; + const double t974 = t252 * t973; + const double t976 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708 + 0.3e1 * t868 + t972 + 0.3e1 * t974; + const double t983 = 0.8e1 * t801; + const double t984 = 0.8e1 * t803; + const double t985 = 0.2e1 * t826; + const double t986 = t396 * t396; + const double t987 = t986 * t791; + const double t988 = t101 * t987; + const double t989 = 0.11696447245269292414e1 * t828; + const double t990 = 0.36622894612013090108e-3 * t831; + const double t991 = t340 * t340; + const double t995 = 0.2e1 * t193 + 0.2e1 * t456; + const double t999 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t991 + 0.4e1 / 0.3e1 * t47 * t995 ); + const double t1000 = t344 * t344; + const double t1003 = -t995; + const double t1007 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t1000 + 0.4e1 / 0.3e1 * t52 * t1003 ); + const double t1009 = ( t999 + t1007 ) * t59; + const double t1010 = t1009 * t87; + const double t1011 = t40 * t1010; + const double t1017 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t991 + 0.2e1 / 0.3e1 * t253 * t995 ); + const double t1023 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t1000 + 0.2e1 / 0.3e1 * t257 * t1003 ); + const double t1025 = t1017 / 0.2e1 + t1023 / 0.2e1; + const double t1026 = t151 * t1025; + const double t1027 = t252 * t1026; + const double t1028 = 0.3e1 * t1027; + const double t1030 = t361 * t361; + const double t1031 = t5 * t1030; + const double t1032 = t275 * t1031; + const double t1035 = t5 * t1025; + const double t1036 = t275 * t1035; + const double t1039 = t375 * t375; + const double t1040 = t1039 * t502; + const double t1042 = t287 * t288 * t1040; + const double t1046 = t121 * t361; + const double t1047 = t885 * t1046; + const double t1048 = t515 * t1047; + const double t1051 = t1009 * t85; + const double t1052 = 0.19751673498613801407e-1 * t1051; + const double t1053 = t1011 + t1052 - t989 - t983 - t984 + t985 - t530 - t559 + t668 - t677 - t681; + const double t1054 = -t627 + t687 + t690 + t693 - t616 + t637 + t645 + t697 - t990 + t704 - t620 + t708; + const double t1056 = ( t1053 + t1054 ) * t116; + const double t1060 = t312 * t1030; + const double t1063 = t133 * t1025; + const double t1066 = -t1056 * t119 - 0.12e2 * t118 * t1060 + 0.3e1 * t118 * t1063 + 0.6e1 * t370 * t372; + const double t1067 = t1066 * t121; + const double t1069 = t287 * t288 * t1067; + const double t1072 = t1039 * t121; + const double t1074 = t287 * t288 * t1072; + const double t1079 = t746 * t288 * t1030; + const double t1083 = t314 * t288 * t1025; + const double t1086 = t482 + 0.7e1 / 0.72e2 * t871 + t487 * t1032 / 0.16e2 - t274 * t1036 / 0.48e2 + t500 * t1042 / 0.1536e4 + 0.7e1 / 0.2304e4 * t891 + t513 * t1048 / 0.384e3 - t285 * t1069 / 0.3072e4 - t285 * t1074 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t930 + 0.5e1 / 0.768e3 * t310 * t1079 - t310 * t1083 / 0.768e3; + const double t1087 = beta * t1086; + const double t1091 = t393 * t393; + const double t1092 = t762 * t1091; + const double t1095 = t141 * t1039; + const double t1099 = t385 * t375; + const double t1103 = t141 * t1066; + const double t1110 = t143 * t123 * t1086 - t325 * t1095 * t121 + 0.2e1 * t767 * t1095 * t502 - 0.2e1 * t325 * t1099 * t121 - t325 * t1103 * t121; + const double t1111 = t324 * t1110; + const double t1113 = t1087 * t148 + 0.2e1 * t142 * t1092 - t142 * t1111 - 0.2e1 * t386 * t394; + const double t1114 = t1113 * t335; + const double t1115 = t101 * t1114; + const double t1116 = t704 - t983 - t984 + t985 - t627 + t637 + t645 + t697 - t988 - t989 - t990 + t1011 + t1028 + t1115; + const double t1117 = t151 * t1030; + const double t1118 = t446 * t1117; + const double t1119 = 0.6e1 * t1118; + const double t1120 = t397 * t361; + const double t1121 = t252 * t1120; + const double t1122 = 0.6e1 * t1121; + const double t1123 = t693 - t681 + t687 + t690 - t530 - t559 + t1052 - t677 - t616 + t668 + t1119 + t1122 - t620 + t708; + const double t1126 = t422 * t335; + const double t1127 = t101 * t1126; + const double t1128 = t401 * t99; + const double t1129 = t1126 * t262; + const double t1132 = t268 * t56; + const double t1134 = t1132 * t108 * t404; + const double t1135 = 0.7e1 / 0.288e3 * t1134; + const double t1136 = t402 * t119; + const double t1137 = t1136 * t277; + const double t1139 = t282 * t103; + const double t1141 = t280 * t1139 * t129; + const double t1142 = t1141 * t298; + const double t1144 = t408 * t305; + const double t1145 = 0.7e1 / 0.2304e4 * t1144; + const double t1146 = t123 * t103; + const double t1148 = t280 * t1146 * t129; + const double t1149 = t1148 * t316; + const double t1151 = -t1135 - t1137 / 0.48e2 - t1142 / 0.1536e4 - t1145 - t1149 / 0.384e3; + const double t1152 = beta * t1151; + const double t1155 = t414 * t319; + const double t1156 = t1155 * t417; + const double t1158 = t761 * t123; + const double t1159 = t411 * t331; + const double t1160 = t1158 * t1159; + const double t1163 = t417 * t323; + const double t1164 = t415 * t1163; + const double t1165 = t282 * t411; + const double t1166 = t1165 * t296; + const double t1168 = t419 * t1151; + const double t1170 = t1152 * t148 - t1156 * t420 + 0.2e1 * t418 * t1160 + t1164 * t1166 - t418 * t1168 - t412 * t332; + const double t1174 = t401 * t100; + const double t1175 = t422 * t791; + const double t1176 = t1175 * t334; + const double t1178 = t432 * t335; + const double t1179 = t101 * t1178; + const double t1180 = t1178 * t262; + const double t1183 = 0.7e1 / 0.144e3 * t1134; + const double t1186 = 0.7e1 / 0.1152e4 * t1144; + const double t1188 = -t1183 - t1137 / 0.24e2 - t1142 / 0.768e3 - t1186 - t1149 / 0.192e3; + const double t1189 = beta * t1188; + const double t1194 = t1158 * t427 * t331; + const double t1197 = t282 * t427; + const double t1198 = t1197 * t296; + const double t1200 = t419 * t1188; + const double t1202 = -t1156 * t430 + t1164 * t1198 + t1189 * t148 + 0.2e1 * t418 * t1194 - t418 * t1200 - t428 * t332; + const double t1206 = t432 * t791; + const double t1207 = t1206 * t334; + const double t1209 = t1126 * t361; + const double t1212 = t1136 * t366; + const double t1214 = t1141 * t378; + const double t1216 = t1148 * t382; + const double t1218 = -t1135 - t1212 / 0.48e2 - t1214 / 0.1536e4 - t1145 - t1216 / 0.384e3; + const double t1219 = beta * t1218; + const double t1222 = t414 * t385; + const double t1223 = t1222 * t417; + const double t1225 = t411 * t393; + const double t1226 = t1158 * t1225; + const double t1229 = t1165 * t376; + const double t1231 = t419 * t1218; + const double t1233 = t1164 * t1229 + t1219 * t148 - t1223 * t420 + 0.2e1 * t418 * t1226 - t418 * t1231 - t412 * t394; + const double t1237 = t1175 * t396; + const double t1239 = t1178 * t361; + const double t1245 = -t1183 - t1212 / 0.24e2 - t1214 / 0.768e3 - t1186 - t1216 / 0.192e3; + const double t1246 = beta * t1245; + const double t1250 = t427 * t393; + const double t1251 = t1158 * t1250; + const double t1254 = t1197 * t376; + const double t1256 = t419 * t1245; + const double t1258 = t1164 * t1254 - t1223 * t430 + t1246 * t148 + 0.2e1 * t418 * t1251 - t418 * t1256 - t428 * t394; + const double t1262 = t1206 * t396; + const double t1265 = t417 * t123; + const double t1269 = t287 * t288 * t147; + const double t1270 = t1264 * t1265 * t129 * t1269; + const double t1272 = t411 * t411; + const double t1273 = t414 * t1272; + const double t1274 = t1163 * t123; + const double t1278 = t1277 * t141; + const double t1281 = t1278 * t1280; + const double t1282 = t761 * t282; + const double t1283 = t1282 * t1272; + const double t1286 = t323 * t282; + const double t1287 = t1286 * BB; + const double t1288 = t1281 * t1287; + const double t1289 = t1288 * t138; + const double t1291 = t1270 / 0.1536e4 - 0.2e1 * t1273 * t1274 + 0.2e1 * t1281 * t1283 - t1289 / 0.1536e4; + const double t1295 = t422 * t422; + const double t1300 = t414 * t427; + const double t1301 = t1300 * t417; + const double t1304 = t427 * t411; + const double t1305 = t1282 * t1304; + const double t1309 = t1270 / 0.768e3 - 0.2e1 * t1301 * t420 + 0.2e1 * t1281 * t1305 - t1289 / 0.768e3; + const double t1313 = t1206 * t422; + const double t1316 = t427 * t427; + const double t1317 = t414 * t1316; + const double t1320 = t1282 * t1316; + const double t1324 = t1270 / 0.384e3 - 0.2e1 * t1317 * t1274 + 0.2e1 * t1281 * t1320 - t1289 / 0.384e3; + const double t1328 = t432 * t432; - eps = -t33 + t89 + t91 + t152; vrho_a = t7 * t338 + t152 - t33 + t89 + t91; vrho_b = t7 * t399 + t152 - t33 + t89 + t91; vsigma_aa = t401 * t100 * t422 * t335; vsigma_ab = t401 * t433 * t335; vsigma_bb = vsigma_aa; + v2rho2_aa = t435 + t436 + t437 - t438 + 0.2e1 * t206 + t440 + 0.39503346997227602814e-1 * t240 - t442 - t443 + 0.6e1 * t264 + 0.2e1 * t337 + t7 * ( t794 + t798 ); + v2rho2_ab = t435 + t436 - t438 + t206 + t440 + t241 - t442 - t443 + t265 + t337 + t351 + t353 + t364 + t398 + t7 * ( t842 + t976 ); + v2rho2_bb = t435 + t436 - t437 - t438 + 0.2e1 * t351 + t440 + 0.39503346997227602814e-1 * t352 - t442 - t443 + 0.6e1 * t363 + 0.2e1 * t398 + t7 * ( t1116 + t1123 ); + v2rhosigma_a_aa = t401 * t100 * t1170 * t335 + 0.3e1 * t1128 * t1129 - t1174 * t1176 + t1127; + v2rhosigma_a_ab = t401 * t100 * t1202 * t335 + 0.3e1 * t1128 * t1180 - t1174 * t1207 + t1179; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t401 * t100 * t1233 * t335 + 0.3e1 * t1128 * t1209 - t1174 * t1237 + t1127; + v2rhosigma_b_ab = t401 * t100 * t1258 * t335 + 0.3e1 * t1128 * t1239 - t1174 * t1262 + t1179; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t401 * t100 * t1291 * t335 - t401 * t100 * t1295 * t791; + v2sigma2_aa_ab = t401 * t100 * t1309 * t335 - t1174 * t1313; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t401 * t100 * t1324 * t335 - t401 * t100 * t1328 * t791; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; } @@ -699,4 +2911,4 @@ struct BuiltinPBE_C : detail::BuiltinKernelImpl< BuiltinPBE_C > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pbe_sol_c.hpp b/include/exchcxx/impl/builtin/kernels/pbe_sol_c.hpp new file mode 100644 index 0000000..5b45b28 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/pbe_sol_c.hpp @@ -0,0 +1,2911 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinPBE_SOL_C > : + public gga_screening_interface< BuiltinPBE_SOL_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000021e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double beta = 0.046; + static constexpr double gamma = 0.031090690869654895034; + static constexpr double BB = 1.; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t70 = 0.1e1 / t3; + constexpr double t75 = BB * beta; + constexpr double t76 = 0.1e1 / gamma; + constexpr double t91 = t39 * t39; + constexpr double t96 = 0.1e1 / t19; + constexpr double t97 = t1 * t96; + constexpr double t98 = t97 * t6; + constexpr double t104 = beta * t76; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.621814e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t58 = t34 * t34; + const double t59 = piecewise_functor_3( t33, t58, 1.0 ); + const double t60 = t59 * t59; + const double t61 = t60 * t59; + const double t62 = gamma * t61; + const double t63 = rho * rho; + const double t65 = 0.1e1 / t7 / t63; + const double t68 = 0.1e1 / t60; + const double t72 = t68 * t18 * t70 * t5; + const double t79 = 0.1e1 / t61; + const double t81 = safe_math::exp( -( -t32 + t57 ) * t76 * t79 ); + const double t82 = t81 - 0.1e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = sigma * sigma; + const double t87 = t75 * t84 * t85; + const double t88 = t63 * t63; + const double t90 = 0.1e1 / t21 / t88; + const double t92 = t90 * t91; + const double t93 = t60 * t60; + const double t94 = 0.1e1 / t93; + const double t95 = t92 * t94; + const double t99 = t95 * t98; + const double t102 = sigma * t65 * t39 * t72 / 0.96e2 + t87 * t99 / 0.3072e4; + const double t103 = beta * t102; + const double t107 = t104 * t83 * t102 + 0.1e1; + const double t108 = 0.1e1 / t107; + const double t109 = t76 * t108; + const double t111 = t103 * t109 + 0.1e1; + const double t112 = safe_math::log( t111 ); + const double t113 = t62 * t112; + + + eps = -t32 + t57 + t113; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t70 = 0.1e1 / t3; + constexpr double t75 = BB * beta; + constexpr double t76 = 0.1e1 / gamma; + constexpr double t91 = t39 * t39; + constexpr double t96 = 0.1e1 / t19; + constexpr double t97 = t1 * t96; + constexpr double t98 = t97 * t6; + constexpr double t104 = beta * t76; + constexpr double t125 = t3 * t6; + constexpr double t170 = gamma * gamma; + constexpr double t171 = 0.1e1 / t170; + constexpr double t172 = t75 * t171; + constexpr double t182 = t96 * t6; + constexpr double t224 = t18 * t70 * t5; + constexpr double t234 = beta * beta; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.621814e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t58 = t34 * t34; + const double t59 = piecewise_functor_3( t33, t58, 1.0 ); + const double t60 = t59 * t59; + const double t61 = t60 * t59; + const double t62 = gamma * t61; + const double t63 = rho * rho; + const double t65 = 0.1e1 / t7 / t63; + const double t68 = 0.1e1 / t60; + const double t72 = t68 * t18 * t70 * t5; + const double t79 = 0.1e1 / t61; + const double t81 = safe_math::exp( -( -t32 + t57 ) * t76 * t79 ); + const double t82 = t81 - 0.1e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = sigma * sigma; + const double t87 = t75 * t84 * t85; + const double t88 = t63 * t63; + const double t90 = 0.1e1 / t21 / t88; + const double t92 = t90 * t91; + const double t93 = t60 * t60; + const double t94 = 0.1e1 / t93; + const double t95 = t92 * t94; + const double t99 = t95 * t98; + const double t102 = sigma * t65 * t39 * t72 / 0.96e2 + t87 * t99 / 0.3072e4; + const double t103 = beta * t102; + const double t107 = t104 * t83 * t102 + 0.1e1; + const double t108 = 0.1e1 / t107; + const double t109 = t76 * t108; + const double t111 = t103 * t109 + 0.1e1; + const double t112 = safe_math::log( t111 ); + const double t113 = t62 * t112; + const double t115 = 0.1e1 / t7 / rho; + const double t116 = t6 * t115; + const double t118 = t4 * t116 * t30; + const double t119 = 0.11073470983333333333e-2 * t118; + const double t120 = t26 * t26; + const double t121 = 0.1e1 / t120; + const double t122 = t12 * t121; + const double t124 = 0.1e1 / t13 * t1; + const double t126 = t125 * t115; + const double t127 = t124 * t126; + const double t129 = t4 * t116; + const double t131 = safe_math::sqrt( t10 ); + const double t132 = t131 * t1; + const double t133 = t132 * t126; + const double t138 = t20 * t5 / t21 / rho; + const double t140 = -0.632975e0 * t127 - 0.29896666666666666667e0 * t129 - 0.1023875e0 * t133 - 0.82156666666666666667e-1 * t138; + const double t141 = 0.1e1 / t29; + const double t142 = t140 * t141; + const double t143 = t122 * t142; + const double t144 = 0.1e1 * t143; + const double t145 = t43 * t1; + const double t148 = t145 * t125 * t115 * t54; + const double t149 = 0.18311447306006545054e-3 * t148; + const double t150 = t43 * t45; + const double t151 = t50 * t50; + const double t152 = 0.1e1 / t151; + const double t157 = -0.86308333333333333334e0 * t127 - 0.301925e0 * t129 - 0.5501625e-1 * t133 - 0.82785e-1 * t138; + const double t159 = 0.1e1 / t53; + const double t160 = t152 * t157 * t159; + const double t161 = t150 * t160; + const double t162 = 0.5848223622634646207e0 * t161; + const double t163 = t63 * rho; + const double t165 = 0.1e1 / t7 / t163; + const double t173 = t82 * t82; + const double t174 = 0.1e1 / t173; + const double t175 = t174 * t85; + const double t176 = t175 * t90; + const double t177 = t172 * t176; + const double t179 = 0.1e1 / t93 / t61; + const double t180 = t91 * t179; + const double t181 = t180 * t1; + const double t183 = t119 + t144 - t149 - t162; + const double t184 = t183 * t81; + const double t185 = t182 * t184; + const double t186 = t181 * t185; + const double t189 = t88 * rho; + const double t191 = 0.1e1 / t21 / t189; + const double t192 = t191 * t91; + const double t193 = t192 * t94; + const double t194 = t193 * t98; + const double t197 = -0.7e1 / 0.288e3 * sigma * t165 * t39 * t72 + t177 * t186 / 0.3072e4 - 0.7e1 / 0.4608e4 * t87 * t194; + const double t198 = beta * t197; + const double t200 = t107 * t107; + const double t201 = 0.1e1 / t200; + const double t202 = t76 * t201; + const double t204 = beta * t171 * t174; + const double t206 = t79 * t81; + const double t211 = t204 * t102 * t183 * t206 + t104 * t83 * t197; + const double t212 = t202 * t211; + const double t214 = -t103 * t212 + t198 * t109; + const double t215 = 0.1e1 / t111; + const double t217 = t62 * t214 * t215; + const double t220 = rho * gamma; + const double t228 = t75 * t84 * sigma; + const double t231 = t65 * t39 * t68 * t224 / 0.96e2 + t228 * t99 / 0.1536e4; + const double t232 = beta * t231; + const double t235 = t234 * t102; + const double t236 = t235 * t171; + const double t237 = t201 * t83; + const double t238 = t237 * t231; + const double t240 = t232 * t109 - t236 * t238; + + + eps = -t32 + t57 + t113; + vrho = -t32 + t57 + t113 + rho * ( t119 + t144 - t149 - t162 + t217 ); + vsigma = t220 * t61 * t240 * t215; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t70 = 0.1e1 / t3; + constexpr double t75 = BB * beta; + constexpr double t76 = 0.1e1 / gamma; + constexpr double t91 = t39 * t39; + constexpr double t96 = 0.1e1 / t19; + constexpr double t97 = t1 * t96; + constexpr double t98 = t97 * t6; + constexpr double t104 = beta * t76; + constexpr double t125 = t3 * t6; + constexpr double t170 = gamma * gamma; + constexpr double t171 = 0.1e1 / t170; + constexpr double t172 = t75 * t171; + constexpr double t182 = t96 * t6; + constexpr double t224 = t18 * t70 * t5; + constexpr double t234 = beta * beta; + constexpr double t252 = t4 * t6; + constexpr double t267 = t19 * t5; + constexpr double t340 = 0.1e1 / t170 / gamma; + constexpr double t341 = t75 * t340; + constexpr double t395 = beta * t340; + constexpr double t472 = t234 * BB; + constexpr double t488 = t234 * beta; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.621814e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t58 = t34 * t34; + const double t59 = piecewise_functor_3( t33, t58, 1.0 ); + const double t60 = t59 * t59; + const double t61 = t60 * t59; + const double t62 = gamma * t61; + const double t63 = rho * rho; + const double t65 = 0.1e1 / t7 / t63; + const double t68 = 0.1e1 / t60; + const double t72 = t68 * t18 * t70 * t5; + const double t79 = 0.1e1 / t61; + const double t81 = safe_math::exp( -( -t32 + t57 ) * t76 * t79 ); + const double t82 = t81 - 0.1e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = sigma * sigma; + const double t87 = t75 * t84 * t85; + const double t88 = t63 * t63; + const double t90 = 0.1e1 / t21 / t88; + const double t92 = t90 * t91; + const double t93 = t60 * t60; + const double t94 = 0.1e1 / t93; + const double t95 = t92 * t94; + const double t99 = t95 * t98; + const double t102 = sigma * t65 * t39 * t72 / 0.96e2 + t87 * t99 / 0.3072e4; + const double t103 = beta * t102; + const double t107 = t104 * t83 * t102 + 0.1e1; + const double t108 = 0.1e1 / t107; + const double t109 = t76 * t108; + const double t111 = t103 * t109 + 0.1e1; + const double t115 = 0.1e1 / t7 / rho; + const double t116 = t6 * t115; + const double t118 = t4 * t116 * t30; + const double t119 = 0.11073470983333333333e-2 * t118; + const double t120 = t26 * t26; + const double t121 = 0.1e1 / t120; + const double t122 = t12 * t121; + const double t124 = 0.1e1 / t13 * t1; + const double t126 = t125 * t115; + const double t127 = t124 * t126; + const double t129 = t4 * t116; + const double t131 = safe_math::sqrt( t10 ); + const double t132 = t131 * t1; + const double t133 = t132 * t126; + const double t138 = t20 * t5 / t21 / rho; + const double t140 = -0.632975e0 * t127 - 0.29896666666666666667e0 * t129 - 0.1023875e0 * t133 - 0.82156666666666666667e-1 * t138; + const double t141 = 0.1e1 / t29; + const double t142 = t140 * t141; + const double t143 = t122 * t142; + const double t144 = 0.1e1 * t143; + const double t145 = t43 * t1; + const double t148 = t145 * t125 * t115 * t54; + const double t149 = 0.18311447306006545054e-3 * t148; + const double t150 = t43 * t45; + const double t151 = t50 * t50; + const double t152 = 0.1e1 / t151; + const double t157 = -0.86308333333333333334e0 * t127 - 0.301925e0 * t129 - 0.5501625e-1 * t133 - 0.82785e-1 * t138; + const double t159 = 0.1e1 / t53; + const double t160 = t152 * t157 * t159; + const double t161 = t150 * t160; + const double t162 = 0.5848223622634646207e0 * t161; + const double t163 = t63 * rho; + const double t165 = 0.1e1 / t7 / t163; + const double t173 = t82 * t82; + const double t174 = 0.1e1 / t173; + const double t175 = t174 * t85; + const double t176 = t175 * t90; + const double t177 = t172 * t176; + const double t179 = 0.1e1 / t93 / t61; + const double t180 = t91 * t179; + const double t181 = t180 * t1; + const double t183 = t119 + t144 - t149 - t162; + const double t184 = t183 * t81; + const double t185 = t182 * t184; + const double t186 = t181 * t185; + const double t189 = t88 * rho; + const double t191 = 0.1e1 / t21 / t189; + const double t192 = t191 * t91; + const double t193 = t192 * t94; + const double t194 = t193 * t98; + const double t197 = -0.7e1 / 0.288e3 * sigma * t165 * t39 * t72 + t177 * t186 / 0.3072e4 - 0.7e1 / 0.4608e4 * t87 * t194; + const double t198 = beta * t197; + const double t200 = t107 * t107; + const double t201 = 0.1e1 / t200; + const double t202 = t76 * t201; + const double t204 = beta * t171 * t174; + const double t206 = t79 * t81; + const double t211 = t204 * t102 * t183 * t206 + t104 * t83 * t197; + const double t212 = t202 * t211; + const double t214 = -t103 * t212 + t198 * t109; + const double t215 = 0.1e1 / t111; + const double t217 = t62 * t214 * t215; + const double t220 = rho * gamma; + const double t228 = t75 * t84 * sigma; + const double t231 = t65 * t39 * t68 * t224 / 0.96e2 + t228 * t99 / 0.1536e4; + const double t232 = beta * t231; + const double t235 = t234 * t102; + const double t236 = t235 * t171; + const double t237 = t201 * t83; + const double t238 = t237 * t231; + const double t240 = t232 * t109 - t236 * t238; + const double t248 = t6 * t65; + const double t250 = t4 * t248 * t30; + const double t251 = 0.14764627977777777777e-2 * t250; + const double t253 = t115 * t121; + const double t255 = t252 * t253 * t142; + const double t256 = 0.35616666666666666666e-1 * t255; + const double t257 = t120 * t26; + const double t258 = 0.1e1 / t257; + const double t259 = t12 * t258; + const double t260 = t140 * t140; + const double t261 = t260 * t141; + const double t262 = t259 * t261; + const double t263 = 0.2e1 * t262; + const double t266 = 0.1e1 / t13 / t10 * t18; + const double t269 = 0.1e1 / t21 / t63; + const double t270 = t267 * t269; + const double t271 = t266 * t270; + const double t273 = t125 * t65; + const double t274 = t124 * t273; + const double t276 = t4 * t248; + const double t278 = 0.1e1/safe_math::sqrt( t10 ); + const double t279 = t278 * t18; + const double t280 = t279 * t270; + const double t282 = t132 * t273; + const double t285 = t20 * t5 * t269; + const double t287 = -0.42198333333333333333e0 * t271 + 0.84396666666666666666e0 * t274 + 0.39862222222222222223e0 * t276 + 0.68258333333333333333e-1 * t280 + 0.13651666666666666667e0 * t282 + 0.13692777777777777778e0 * t285; + const double t288 = t287 * t141; + const double t289 = t122 * t288; + const double t290 = 0.1e1 * t289; + const double t291 = t120 * t120; + const double t292 = 0.1e1 / t291; + const double t293 = t12 * t292; + const double t294 = t29 * t29; + const double t295 = 0.1e1 / t294; + const double t296 = t260 * t295; + const double t297 = t293 * t296; + const double t298 = 0.16081979498692535067e2 * t297; + const double t301 = t145 * t125 * t65 * t54; + const double t302 = 0.24415263074675393405e-3 * t301; + const double t303 = t43 * t4; + const double t305 = t303 * t116 * t160; + const double t306 = 0.10843581300301739842e-1 * t305; + const double t307 = t151 * t50; + const double t308 = 0.1e1 / t307; + const double t309 = t157 * t157; + const double t311 = t308 * t309 * t159; + const double t312 = t150 * t311; + const double t313 = 0.11696447245269292414e1 * t312; + const double t320 = -0.57538888888888888889e0 * t271 + 0.11507777777777777778e1 * t274 + 0.40256666666666666667e0 * t276 + 0.366775e-1 * t280 + 0.73355e-1 * t282 + 0.137975e0 * t285; + const double t322 = t152 * t320 * t159; + const double t323 = t150 * t322; + const double t324 = 0.5848223622634646207e0 * t323; + const double t325 = t151 * t151; + const double t326 = 0.1e1 / t325; + const double t327 = t326 * t309; + const double t328 = t53 * t53; + const double t329 = 0.1e1 / t328; + const double t330 = t327 * t329; + const double t331 = t150 * t330; + const double t332 = 0.17315859105681463759e2 * t331; + const double t334 = 0.1e1 / t7 / t88; + const double t343 = 0.1e1 / t173 / t82; + const double t344 = t343 * t85; + const double t345 = t344 * t90; + const double t346 = t341 * t345; + const double t347 = t93 * t93; + const double t349 = 0.1e1 / t347 / t60; + const double t351 = t91 * t349 * t1; + const double t352 = t183 * t183; + const double t353 = t81 * t81; + const double t354 = t352 * t353; + const double t356 = t351 * t182 * t354; + const double t359 = t175 * t191; + const double t360 = t172 * t359; + const double t363 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332; + const double t364 = t363 * t81; + const double t366 = t181 * t182 * t364; + const double t369 = t341 * t176; + const double t370 = t352 * t81; + const double t372 = t351 * t182 * t370; + const double t375 = t88 * t63; + const double t377 = 0.1e1 / t21 / t375; + const double t380 = t377 * t91 * t94 * t98; + const double t383 = 0.35e2 / 0.432e3 * sigma * t334 * t39 * t72 + t346 * t356 / 0.1536e4 - 0.7e1 / 0.2304e4 * t360 * t186 + t177 * t366 / 0.3072e4 - t369 * t372 / 0.3072e4 + 0.119e3 / 0.13824e5 * t87 * t380; + const double t384 = beta * t383; + const double t389 = 0.1e1 / t200 / t107; + const double t390 = t76 * t389; + const double t391 = t211 * t211; + const double t392 = t390 * t391; + const double t396 = t395 * t343; + const double t397 = t102 * t352; + const double t399 = 0.1e1 / t93 / t60; + const double t400 = t399 * t353; + const double t411 = t395 * t174; + const double t412 = t399 * t81; + const double t417 = t204 * t102 * t363 * t206 + 0.2e1 * t204 * t197 * t183 * t206 + t104 * t83 * t383 + 0.2e1 * t396 * t397 * t400 - t411 * t397 * t412; + const double t418 = t202 * t417; + const double t420 = 0.2e1 * t103 * t392 - t103 * t418 + t384 * t109 - 0.2e1 * t198 * t212; + const double t422 = t62 * t420 * t215; + const double t423 = t214 * t214; + const double t424 = t111 * t111; + const double t425 = 0.1e1 / t424; + const double t427 = t62 * t423 * t425; + const double t428 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332 + t422 - t427; + const double t436 = t174 * sigma; + const double t437 = t436 * t90; + const double t438 = t172 * t437; + const double t443 = -0.7e1 / 0.288e3 * t165 * t39 * t68 * t224 + t438 * t186 / 0.1536e4 - 0.7e1 / 0.2304e4 * t228 * t194; + const double t444 = beta * t443; + const double t447 = t234 * t197; + const double t448 = t447 * t171; + const double t450 = t389 * t83; + const double t451 = t231 * t211; + const double t452 = t450 * t451; + const double t455 = t340 * t201; + const double t456 = t235 * t455; + const double t457 = t174 * t231; + const double t459 = t183 * t79 * t81; + const double t460 = t457 * t459; + const double t462 = t237 * t443; + const double t464 = t444 * t109 - t232 * t212 + 0.2e1 * t236 * t452 - t236 * t462 - t448 * t238 - t456 * t460; + const double t468 = t220 * t61; + const double t469 = t240 * t425; + const double t470 = t469 * t214; + const double t473 = t171 * t83; + const double t479 = t91 * t94 * t1 * t182 * t108; + const double t482 = t231 * t231; + const double t483 = t234 * t482; + const double t485 = t171 * t201 * t83; + const double t489 = t488 * t102; + const double t490 = t489 * t340; + const double t491 = t389 * t174; + const double t492 = t491 * t482; + const double t496 = t201 * t174 * BB; + const double t497 = t490 * t496; + const double t500 = t472 * t473 * t90 * t479 / 0.1536e4 - 0.2e1 * t483 * t485 + 0.2e1 * t490 * t492 - t497 * t99 / 0.1536e4; + const double t504 = t240 * t240; + + + v2rho2 = 0.22146941966666666666e-2 * t118 + 0.2e1 * t143 - 0.36622894612013090108e-3 * t148 - 0.11696447245269292414e1 * t161 + 0.2e1 * t217 + rho * t428; + v2rhosigma = t220 * t61 * t464 * t215 + t62 * t240 * t215 - t468 * t470; + v2sigma2 = t220 * t61 * t500 * t215 - t220 * t61 * t504 * t425; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t70 = 0.1e1 / t3; + constexpr double t75 = BB * beta; + constexpr double t76 = 0.1e1 / gamma; + constexpr double t91 = t39 * t39; + constexpr double t96 = 0.1e1 / t19; + constexpr double t97 = t1 * t96; + constexpr double t98 = t97 * t6; + constexpr double t104 = beta * t76; + constexpr double t125 = t3 * t6; + constexpr double t170 = gamma * gamma; + constexpr double t171 = 0.1e1 / t170; + constexpr double t172 = t75 * t171; + constexpr double t182 = t96 * t6; + constexpr double t224 = t18 * t70 * t5; + constexpr double t234 = beta * beta; + constexpr double t252 = t4 * t6; + constexpr double t267 = t19 * t5; + constexpr double t340 = 0.1e1 / t170 / gamma; + constexpr double t341 = t75 * t340; + constexpr double t395 = beta * t340; + constexpr double t472 = t234 * BB; + constexpr double t488 = t234 * beta; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.621814e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t58 = t34 * t34; + const double t59 = piecewise_functor_3( t33, t58, 1.0 ); + const double t60 = t59 * t59; + const double t61 = t60 * t59; + const double t62 = gamma * t61; + const double t63 = rho * rho; + const double t65 = 0.1e1 / t7 / t63; + const double t68 = 0.1e1 / t60; + const double t72 = t68 * t18 * t70 * t5; + const double t79 = 0.1e1 / t61; + const double t81 = safe_math::exp( -( -t32 + t57 ) * t76 * t79 ); + const double t82 = t81 - 0.1e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = sigma * sigma; + const double t87 = t75 * t84 * t85; + const double t88 = t63 * t63; + const double t90 = 0.1e1 / t21 / t88; + const double t92 = t90 * t91; + const double t93 = t60 * t60; + const double t94 = 0.1e1 / t93; + const double t95 = t92 * t94; + const double t99 = t95 * t98; + const double t102 = sigma * t65 * t39 * t72 / 0.96e2 + t87 * t99 / 0.3072e4; + const double t103 = beta * t102; + const double t107 = t104 * t83 * t102 + 0.1e1; + const double t108 = 0.1e1 / t107; + const double t109 = t76 * t108; + const double t111 = t103 * t109 + 0.1e1; + const double t112 = safe_math::log( t111 ); + const double t113 = t62 * t112; + const double t115 = 0.1e1 / t7 / rho; + const double t116 = t6 * t115; + const double t118 = t4 * t116 * t30; + const double t119 = 0.11073470983333333333e-2 * t118; + const double t120 = t26 * t26; + const double t121 = 0.1e1 / t120; + const double t122 = t12 * t121; + const double t124 = 0.1e1 / t13 * t1; + const double t126 = t125 * t115; + const double t127 = t124 * t126; + const double t129 = t4 * t116; + const double t131 = safe_math::sqrt( t10 ); + const double t132 = t131 * t1; + const double t133 = t132 * t126; + const double t138 = t20 * t5 / t21 / rho; + const double t140 = -0.632975e0 * t127 - 0.29896666666666666667e0 * t129 - 0.1023875e0 * t133 - 0.82156666666666666667e-1 * t138; + const double t141 = 0.1e1 / t29; + const double t142 = t140 * t141; + const double t143 = t122 * t142; + const double t144 = 0.1e1 * t143; + const double t145 = t43 * t1; + const double t148 = t145 * t125 * t115 * t54; + const double t149 = 0.18311447306006545054e-3 * t148; + const double t150 = t43 * t45; + const double t151 = t50 * t50; + const double t152 = 0.1e1 / t151; + const double t157 = -0.86308333333333333334e0 * t127 - 0.301925e0 * t129 - 0.5501625e-1 * t133 - 0.82785e-1 * t138; + const double t159 = 0.1e1 / t53; + const double t160 = t152 * t157 * t159; + const double t161 = t150 * t160; + const double t162 = 0.5848223622634646207e0 * t161; + const double t163 = t63 * rho; + const double t165 = 0.1e1 / t7 / t163; + const double t173 = t82 * t82; + const double t174 = 0.1e1 / t173; + const double t175 = t174 * t85; + const double t176 = t175 * t90; + const double t177 = t172 * t176; + const double t179 = 0.1e1 / t93 / t61; + const double t180 = t91 * t179; + const double t181 = t180 * t1; + const double t183 = t119 + t144 - t149 - t162; + const double t184 = t183 * t81; + const double t185 = t182 * t184; + const double t186 = t181 * t185; + const double t189 = t88 * rho; + const double t191 = 0.1e1 / t21 / t189; + const double t192 = t191 * t91; + const double t193 = t192 * t94; + const double t194 = t193 * t98; + const double t197 = -0.7e1 / 0.288e3 * sigma * t165 * t39 * t72 + t177 * t186 / 0.3072e4 - 0.7e1 / 0.4608e4 * t87 * t194; + const double t198 = beta * t197; + const double t200 = t107 * t107; + const double t201 = 0.1e1 / t200; + const double t202 = t76 * t201; + const double t204 = beta * t171 * t174; + const double t206 = t79 * t81; + const double t211 = t204 * t102 * t183 * t206 + t104 * t83 * t197; + const double t212 = t202 * t211; + const double t214 = -t103 * t212 + t198 * t109; + const double t215 = 0.1e1 / t111; + const double t217 = t62 * t214 * t215; + const double t220 = rho * gamma; + const double t228 = t75 * t84 * sigma; + const double t231 = t65 * t39 * t68 * t224 / 0.96e2 + t228 * t99 / 0.1536e4; + const double t232 = beta * t231; + const double t235 = t234 * t102; + const double t236 = t235 * t171; + const double t237 = t201 * t83; + const double t238 = t237 * t231; + const double t240 = t232 * t109 - t236 * t238; + const double t248 = t6 * t65; + const double t250 = t4 * t248 * t30; + const double t251 = 0.14764627977777777777e-2 * t250; + const double t253 = t115 * t121; + const double t255 = t252 * t253 * t142; + const double t256 = 0.35616666666666666666e-1 * t255; + const double t257 = t120 * t26; + const double t258 = 0.1e1 / t257; + const double t259 = t12 * t258; + const double t260 = t140 * t140; + const double t261 = t260 * t141; + const double t262 = t259 * t261; + const double t263 = 0.2e1 * t262; + const double t266 = 0.1e1 / t13 / t10 * t18; + const double t269 = 0.1e1 / t21 / t63; + const double t270 = t267 * t269; + const double t271 = t266 * t270; + const double t273 = t125 * t65; + const double t274 = t124 * t273; + const double t276 = t4 * t248; + const double t278 = 0.1e1/safe_math::sqrt( t10 ); + const double t279 = t278 * t18; + const double t280 = t279 * t270; + const double t282 = t132 * t273; + const double t285 = t20 * t5 * t269; + const double t287 = -0.42198333333333333333e0 * t271 + 0.84396666666666666666e0 * t274 + 0.39862222222222222223e0 * t276 + 0.68258333333333333333e-1 * t280 + 0.13651666666666666667e0 * t282 + 0.13692777777777777778e0 * t285; + const double t288 = t287 * t141; + const double t289 = t122 * t288; + const double t290 = 0.1e1 * t289; + const double t291 = t120 * t120; + const double t292 = 0.1e1 / t291; + const double t293 = t12 * t292; + const double t294 = t29 * t29; + const double t295 = 0.1e1 / t294; + const double t296 = t260 * t295; + const double t297 = t293 * t296; + const double t298 = 0.16081979498692535067e2 * t297; + const double t301 = t145 * t125 * t65 * t54; + const double t302 = 0.24415263074675393405e-3 * t301; + const double t303 = t43 * t4; + const double t305 = t303 * t116 * t160; + const double t306 = 0.10843581300301739842e-1 * t305; + const double t307 = t151 * t50; + const double t308 = 0.1e1 / t307; + const double t309 = t157 * t157; + const double t311 = t308 * t309 * t159; + const double t312 = t150 * t311; + const double t313 = 0.11696447245269292414e1 * t312; + const double t320 = -0.57538888888888888889e0 * t271 + 0.11507777777777777778e1 * t274 + 0.40256666666666666667e0 * t276 + 0.366775e-1 * t280 + 0.73355e-1 * t282 + 0.137975e0 * t285; + const double t322 = t152 * t320 * t159; + const double t323 = t150 * t322; + const double t324 = 0.5848223622634646207e0 * t323; + const double t325 = t151 * t151; + const double t326 = 0.1e1 / t325; + const double t327 = t326 * t309; + const double t328 = t53 * t53; + const double t329 = 0.1e1 / t328; + const double t330 = t327 * t329; + const double t331 = t150 * t330; + const double t332 = 0.17315859105681463759e2 * t331; + const double t334 = 0.1e1 / t7 / t88; + const double t343 = 0.1e1 / t173 / t82; + const double t344 = t343 * t85; + const double t345 = t344 * t90; + const double t346 = t341 * t345; + const double t347 = t93 * t93; + const double t349 = 0.1e1 / t347 / t60; + const double t351 = t91 * t349 * t1; + const double t352 = t183 * t183; + const double t353 = t81 * t81; + const double t354 = t352 * t353; + const double t356 = t351 * t182 * t354; + const double t359 = t175 * t191; + const double t360 = t172 * t359; + const double t363 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332; + const double t364 = t363 * t81; + const double t366 = t181 * t182 * t364; + const double t369 = t341 * t176; + const double t370 = t352 * t81; + const double t372 = t351 * t182 * t370; + const double t375 = t88 * t63; + const double t377 = 0.1e1 / t21 / t375; + const double t380 = t377 * t91 * t94 * t98; + const double t383 = 0.35e2 / 0.432e3 * sigma * t334 * t39 * t72 + t346 * t356 / 0.1536e4 - 0.7e1 / 0.2304e4 * t360 * t186 + t177 * t366 / 0.3072e4 - t369 * t372 / 0.3072e4 + 0.119e3 / 0.13824e5 * t87 * t380; + const double t384 = beta * t383; + const double t389 = 0.1e1 / t200 / t107; + const double t390 = t76 * t389; + const double t391 = t211 * t211; + const double t392 = t390 * t391; + const double t396 = t395 * t343; + const double t397 = t102 * t352; + const double t399 = 0.1e1 / t93 / t60; + const double t400 = t399 * t353; + const double t411 = t395 * t174; + const double t412 = t399 * t81; + const double t417 = t204 * t102 * t363 * t206 + 0.2e1 * t204 * t197 * t183 * t206 + t104 * t83 * t383 + 0.2e1 * t396 * t397 * t400 - t411 * t397 * t412; + const double t418 = t202 * t417; + const double t420 = 0.2e1 * t103 * t392 - t103 * t418 + t384 * t109 - 0.2e1 * t198 * t212; + const double t422 = t62 * t420 * t215; + const double t423 = t214 * t214; + const double t424 = t111 * t111; + const double t425 = 0.1e1 / t424; + const double t427 = t62 * t423 * t425; + const double t428 = -t251 - t256 - t263 + t290 + t298 + t302 + t306 + t313 - t324 - t332 + t422 - t427; + const double t436 = t174 * sigma; + const double t437 = t436 * t90; + const double t438 = t172 * t437; + const double t443 = -0.7e1 / 0.288e3 * t165 * t39 * t68 * t224 + t438 * t186 / 0.1536e4 - 0.7e1 / 0.2304e4 * t228 * t194; + const double t444 = beta * t443; + const double t447 = t234 * t197; + const double t448 = t447 * t171; + const double t450 = t389 * t83; + const double t451 = t231 * t211; + const double t452 = t450 * t451; + const double t455 = t340 * t201; + const double t456 = t235 * t455; + const double t457 = t174 * t231; + const double t459 = t183 * t79 * t81; + const double t460 = t457 * t459; + const double t462 = t237 * t443; + const double t464 = t444 * t109 - t232 * t212 + 0.2e1 * t236 * t452 - t236 * t462 - t448 * t238 - t456 * t460; + const double t468 = t220 * t61; + const double t469 = t240 * t425; + const double t470 = t469 * t214; + const double t473 = t171 * t83; + const double t479 = t91 * t94 * t1 * t182 * t108; + const double t482 = t231 * t231; + const double t483 = t234 * t482; + const double t485 = t171 * t201 * t83; + const double t489 = t488 * t102; + const double t490 = t489 * t340; + const double t491 = t389 * t174; + const double t492 = t491 * t482; + const double t496 = t201 * t174 * BB; + const double t497 = t490 * t496; + const double t500 = t472 * t473 * t90 * t479 / 0.1536e4 - 0.2e1 * t483 * t485 + 0.2e1 * t490 * t492 - t497 * t99 / 0.1536e4; + const double t504 = t240 * t240; + + + vrho = -t32 + t57 + t113 + rho * ( t119 + t144 - t149 - t162 + t217 ); + vsigma = t220 * t61 * t240 * t215; + v2rho2 = 0.22146941966666666666e-2 * t118 + 0.2e1 * t143 - 0.36622894612013090108e-3 * t148 - 0.11696447245269292414e1 * t161 + 0.2e1 * t217 + rho * t428; + v2rhosigma = t220 * t61 * t464 * t215 + t62 * t240 * t215 - t468 * t470; + v2sigma2 = t220 * t61 * t500 * t215 - t220 * t61 * t504 * t425; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t110 = 0.1e1 / t3; + constexpr double t111 = t110 * t5; + constexpr double t115 = BB * beta; + constexpr double t116 = 0.1e1 / gamma; + constexpr double t130 = t56 * t56; + constexpr double t135 = 0.1e1 / t20; + constexpr double t136 = t1 * t135; + constexpr double t137 = t136 * t6; + constexpr double t143 = beta * t116; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751673498613801407e-1 * t60 * t85; + const double t92 = t45 * t45; + const double t93 = t47 * t47; + const double t94 = piecewise_functor_3( t44, t92, t93 ); + const double t95 = t52 * t52; + const double t96 = piecewise_functor_3( t51, t92, t95 ); + const double t98 = t94 / 0.2e1 + t96 / 0.2e1; + const double t99 = t98 * t98; + const double t100 = t99 * t98; + const double t101 = gamma * t100; + const double t103 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t105 = 0.1e1 / t8 / t37; + const double t106 = t103 * t105; + const double t108 = 0.1e1 / t99; + const double t112 = t108 * t19 * t111; + const double t118 = ( -t33 + t89 + t91 ) * t116; + const double t119 = 0.1e1 / t100; + const double t121 = safe_math::exp( -t118 * t119 ); + const double t122 = t121 - 0.1e1; + const double t123 = 0.1e1 / t122; + const double t124 = t116 * t123; + const double t125 = t103 * t103; + const double t127 = t115 * t124 * t125; + const double t129 = 0.1e1 / t22 / t38; + const double t131 = t129 * t130; + const double t132 = t99 * t99; + const double t133 = 0.1e1 / t132; + const double t134 = t131 * t133; + const double t138 = t134 * t137; + const double t141 = t106 * t56 * t112 / 0.96e2 + t127 * t138 / 0.3072e4; + const double t142 = beta * t141; + const double t146 = t143 * t123 * t141 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t148 = t116 * t147; + const double t150 = t142 * t148 + 0.1e1; + const double t151 = safe_math::log( t150 ); + const double t152 = t101 * t151; + + + eps = -t33 + t89 + t91 + t152; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t110 = 0.1e1 / t3; + constexpr double t111 = t110 * t5; + constexpr double t115 = BB * beta; + constexpr double t116 = 0.1e1 / gamma; + constexpr double t130 = t56 * t56; + constexpr double t135 = 0.1e1 / t20; + constexpr double t136 = t1 * t135; + constexpr double t137 = t136 * t6; + constexpr double t143 = beta * t116; + constexpr double t164 = t3 * t6; + constexpr double t275 = t19 * t110; + constexpr double t280 = t115 * t116; + constexpr double t288 = t135 * t6; + constexpr double t404 = t275 * t5; + constexpr double t414 = beta * beta; + constexpr double t416 = gamma * gamma; + constexpr double t417 = 0.1e1 / t416; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751673498613801407e-1 * t60 * t85; + const double t92 = t45 * t45; + const double t93 = t47 * t47; + const double t94 = piecewise_functor_3( t44, t92, t93 ); + const double t95 = t52 * t52; + const double t96 = piecewise_functor_3( t51, t92, t95 ); + const double t98 = t94 / 0.2e1 + t96 / 0.2e1; + const double t99 = t98 * t98; + const double t100 = t99 * t98; + const double t101 = gamma * t100; + const double t103 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t105 = 0.1e1 / t8 / t37; + const double t106 = t103 * t105; + const double t108 = 0.1e1 / t99; + const double t112 = t108 * t19 * t111; + const double t118 = ( -t33 + t89 + t91 ) * t116; + const double t119 = 0.1e1 / t100; + const double t121 = safe_math::exp( -t118 * t119 ); + const double t122 = t121 - 0.1e1; + const double t123 = 0.1e1 / t122; + const double t124 = t116 * t123; + const double t125 = t103 * t103; + const double t127 = t115 * t124 * t125; + const double t129 = 0.1e1 / t22 / t38; + const double t131 = t129 * t130; + const double t132 = t99 * t99; + const double t133 = 0.1e1 / t132; + const double t134 = t131 * t133; + const double t138 = t134 * t137; + const double t141 = t106 * t56 * t112 / 0.96e2 + t127 * t138 / 0.3072e4; + const double t142 = beta * t141; + const double t146 = t143 * t123 * t141 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t148 = t116 * t147; + const double t150 = t142 * t148 + 0.1e1; + const double t151 = safe_math::log( t150 ); + const double t152 = t101 * t151; + const double t154 = 0.1e1 / t8 / t7; + const double t155 = t6 * t154; + const double t157 = t4 * t155 * t31; + const double t158 = 0.11073470983333333333e-2 * t157; + const double t159 = t27 * t27; + const double t160 = 0.1e1 / t159; + const double t161 = t13 * t160; + const double t163 = 0.1e1 / t14 * t1; + const double t165 = t164 * t154; + const double t166 = t163 * t165; + const double t168 = t4 * t155; + const double t170 = safe_math::sqrt( t11 ); + const double t171 = t170 * t1; + const double t172 = t171 * t165; + const double t177 = t21 * t5 / t22 / t7; + const double t179 = -0.632975e0 * t166 - 0.29896666666666666667e0 * t168 - 0.1023875e0 * t172 - 0.82156666666666666667e-1 * t177; + const double t180 = 0.1e1 / t30; + const double t181 = t179 * t180; + const double t182 = t161 * t181; + const double t183 = 0.1e1 * t182; + const double t184 = t35 * t34; + const double t185 = t184 * t39; + const double t186 = t185 * t88; + const double t187 = 0.4e1 * t186; + const double t188 = t38 * t7; + const double t189 = 0.1e1 / t188; + const double t190 = t36 * t189; + const double t191 = t190 * t88; + const double t192 = 0.4e1 * t191; + const double t193 = 0.1e1 / t37; + const double t194 = t34 * t193; + const double t195 = t41 - t194; + const double t198 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t195 ); + const double t199 = -t195; + const double t202 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t199 ); + const double t204 = ( t198 + t202 ) * t59; + const double t205 = t204 * t87; + const double t206 = t40 * t205; + const double t210 = t67 * t67; + const double t211 = 0.1e1 / t210; + const double t212 = t62 * t211; + const double t217 = -0.1176575e1 * t166 - 0.516475e0 * t168 - 0.2103875e0 * t172 - 0.104195e0 * t177; + const double t218 = 0.1e1 / t70; + const double t219 = t217 * t218; + const double t225 = t80 * t80; + const double t226 = 0.1e1 / t225; + const double t227 = t75 * t226; + const double t232 = -0.86308333333333333334e0 * t166 - 0.301925e0 * t168 - 0.5501625e-1 * t172 - 0.82785e-1 * t177; + const double t233 = 0.1e1 / t83; + const double t234 = t232 * t233; + const double t237 = 0.53237641966666666666e-3 * t4 * t155 * t71 + 0.1e1 * t212 * t219 - t158 - t183 + 0.18311447306006545054e-3 * t4 * t155 * t84 + 0.5848223622634646207e0 * t227 * t234; + const double t238 = t60 * t237; + const double t239 = t40 * t238; + const double t240 = t204 * t85; + const double t241 = 0.19751673498613801407e-1 * t240; + const double t242 = t60 * t1; + const double t244 = t164 * t154 * t84; + const double t245 = t242 * t244; + const double t246 = 0.18311447306006545054e-3 * t245; + const double t247 = t60 * t75; + const double t249 = t226 * t232 * t233; + const double t250 = t247 * t249; + const double t251 = 0.5848223622634646207e0 * t250; + const double t252 = gamma * t99; + const double t253 = 0.1e1 / t47; + const double t256 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t195 ); + const double t257 = 0.1e1 / t52; + const double t260 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t199 ); + const double t262 = t256 / 0.2e1 + t260 / 0.2e1; + const double t263 = t151 * t262; + const double t264 = t252 * t263; + const double t265 = 0.3e1 * t264; + const double t266 = t37 * t7; + const double t268 = 0.1e1 / t8 / t266; + const double t269 = t103 * t268; + const double t272 = 0.7e1 / 0.288e3 * t269 * t56 * t112; + const double t273 = t56 * t119; + const double t274 = t106 * t273; + const double t276 = t5 * t262; + const double t277 = t275 * t276; + const double t281 = t122 * t122; + const double t282 = 0.1e1 / t281; + const double t283 = t282 * t125; + const double t285 = t280 * t283 * t129; + const double t286 = t130 * t133; + const double t287 = t286 * t1; + const double t290 = ( t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 ) * t116; + const double t292 = t133 * t262; + const double t295 = 0.3e1 * t118 * t292 - t290 * t119; + const double t296 = t295 * t121; + const double t297 = t288 * t296; + const double t298 = t287 * t297; + const double t302 = 0.1e1 / t22 / t188; + const double t303 = t302 * t130; + const double t304 = t303 * t133; + const double t305 = t304 * t137; + const double t307 = 0.7e1 / 0.4608e4 * t127 * t305; + const double t308 = t123 * t125; + const double t310 = t280 * t308 * t129; + const double t312 = 0.1e1 / t132 / t98; + const double t313 = t130 * t312; + const double t314 = t313 * t1; + const double t316 = t314 * t288 * t262; + const double t319 = -t272 - t274 * t277 / 0.48e2 - t285 * t298 / 0.3072e4 - t307 - t310 * t316 / 0.768e3; + const double t320 = beta * t319; + const double t322 = t146 * t146; + const double t323 = 0.1e1 / t322; + const double t324 = t116 * t323; + const double t325 = t143 * t282; + const double t326 = t141 * t295; + const double t331 = -t325 * t326 * t121 + t143 * t123 * t319; + const double t332 = t324 * t331; + const double t334 = -t142 * t332 + t320 * t148; + const double t335 = 0.1e1 / t150; + const double t336 = t334 * t335; + const double t337 = t101 * t336; + const double t338 = t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 + t265 + t337; + const double t340 = -t41 - t194; + const double t343 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t340 ); + const double t344 = -t340; + const double t347 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t344 ); + const double t349 = ( t343 + t347 ) * t59; + const double t350 = t349 * t87; + const double t351 = t40 * t350; + const double t352 = t349 * t85; + const double t353 = 0.19751673498613801407e-1 * t352; + const double t356 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t340 ); + const double t359 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t344 ); + const double t361 = t356 / 0.2e1 + t359 / 0.2e1; + const double t362 = t151 * t361; + const double t363 = t252 * t362; + const double t364 = 0.3e1 * t363; + const double t365 = t5 * t361; + const double t366 = t275 * t365; + const double t370 = ( t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 ) * t116; + const double t372 = t133 * t361; + const double t375 = 0.3e1 * t118 * t372 - t370 * t119; + const double t376 = t375 * t121; + const double t377 = t288 * t376; + const double t378 = t287 * t377; + const double t382 = t314 * t288 * t361; + const double t385 = -t272 - t274 * t366 / 0.48e2 - t285 * t378 / 0.3072e4 - t307 - t310 * t382 / 0.768e3; + const double t386 = beta * t385; + const double t388 = t141 * t375; + const double t393 = -t325 * t388 * t121 + t143 * t123 * t385; + const double t394 = t324 * t393; + const double t396 = -t142 * t394 + t386 * t148; + const double t397 = t396 * t335; + const double t398 = t101 * t397; + const double t399 = t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 + t364 + t398; + const double t401 = t7 * gamma; + const double t402 = t105 * t56; + const double t405 = t402 * t108 * t404; + const double t408 = t115 * t124 * t103; + const double t409 = t408 * t138; + const double t411 = t405 / 0.96e2 + t409 / 0.1536e4; + const double t412 = beta * t411; + const double t415 = t414 * t141; + const double t418 = t415 * t417; + const double t419 = t323 * t123; + const double t420 = t419 * t411; + const double t422 = t412 * t148 - t418 * t420; + const double t427 = t405 / 0.48e2 + t409 / 0.768e3; + const double t428 = beta * t427; + const double t430 = t419 * t427; + const double t432 = t428 * t148 - t418 * t430; + const double t433 = t100 * t432; + + + eps = -t33 + t89 + t91 + t152; + vrho_a = t7 * t338 + t152 - t33 + t89 + t91; + vrho_b = t7 * t399 + t152 - t33 + t89 + t91; + vsigma_aa = t401 * t100 * t422 * t335; + vsigma_ab = t401 * t433 * t335; + vsigma_bb = vsigma_aa; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t110 = 0.1e1 / t3; + constexpr double t111 = t110 * t5; + constexpr double t115 = BB * beta; + constexpr double t116 = 0.1e1 / gamma; + constexpr double t130 = t56 * t56; + constexpr double t135 = 0.1e1 / t20; + constexpr double t136 = t1 * t135; + constexpr double t137 = t136 * t6; + constexpr double t143 = beta * t116; + constexpr double t164 = t3 * t6; + constexpr double t275 = t19 * t110; + constexpr double t280 = t115 * t116; + constexpr double t288 = t135 * t6; + constexpr double t404 = t275 * t5; + constexpr double t414 = beta * beta; + constexpr double t416 = gamma * gamma; + constexpr double t417 = 0.1e1 / t416; + constexpr double t534 = t20 * t5; + constexpr double t584 = t4 * t6; + constexpr double t1264 = t414 * BB; + constexpr double t1277 = t414 * beta; + constexpr double t1280 = 0.1e1 / t416 / gamma; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751673498613801407e-1 * t60 * t85; + const double t92 = t45 * t45; + const double t93 = t47 * t47; + const double t94 = piecewise_functor_3( t44, t92, t93 ); + const double t95 = t52 * t52; + const double t96 = piecewise_functor_3( t51, t92, t95 ); + const double t98 = t94 / 0.2e1 + t96 / 0.2e1; + const double t99 = t98 * t98; + const double t100 = t99 * t98; + const double t101 = gamma * t100; + const double t103 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t105 = 0.1e1 / t8 / t37; + const double t106 = t103 * t105; + const double t108 = 0.1e1 / t99; + const double t112 = t108 * t19 * t111; + const double t118 = ( -t33 + t89 + t91 ) * t116; + const double t119 = 0.1e1 / t100; + const double t121 = safe_math::exp( -t118 * t119 ); + const double t122 = t121 - 0.1e1; + const double t123 = 0.1e1 / t122; + const double t124 = t116 * t123; + const double t125 = t103 * t103; + const double t127 = t115 * t124 * t125; + const double t129 = 0.1e1 / t22 / t38; + const double t131 = t129 * t130; + const double t132 = t99 * t99; + const double t133 = 0.1e1 / t132; + const double t134 = t131 * t133; + const double t138 = t134 * t137; + const double t141 = t106 * t56 * t112 / 0.96e2 + t127 * t138 / 0.3072e4; + const double t142 = beta * t141; + const double t146 = t143 * t123 * t141 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t148 = t116 * t147; + const double t150 = t142 * t148 + 0.1e1; + const double t151 = safe_math::log( t150 ); + const double t154 = 0.1e1 / t8 / t7; + const double t155 = t6 * t154; + const double t157 = t4 * t155 * t31; + const double t158 = 0.11073470983333333333e-2 * t157; + const double t159 = t27 * t27; + const double t160 = 0.1e1 / t159; + const double t161 = t13 * t160; + const double t163 = 0.1e1 / t14 * t1; + const double t165 = t164 * t154; + const double t166 = t163 * t165; + const double t168 = t4 * t155; + const double t170 = safe_math::sqrt( t11 ); + const double t171 = t170 * t1; + const double t172 = t171 * t165; + const double t177 = t21 * t5 / t22 / t7; + const double t179 = -0.632975e0 * t166 - 0.29896666666666666667e0 * t168 - 0.1023875e0 * t172 - 0.82156666666666666667e-1 * t177; + const double t180 = 0.1e1 / t30; + const double t181 = t179 * t180; + const double t182 = t161 * t181; + const double t183 = 0.1e1 * t182; + const double t184 = t35 * t34; + const double t185 = t184 * t39; + const double t186 = t185 * t88; + const double t187 = 0.4e1 * t186; + const double t188 = t38 * t7; + const double t189 = 0.1e1 / t188; + const double t190 = t36 * t189; + const double t191 = t190 * t88; + const double t192 = 0.4e1 * t191; + const double t193 = 0.1e1 / t37; + const double t194 = t34 * t193; + const double t195 = t41 - t194; + const double t198 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t195 ); + const double t199 = -t195; + const double t202 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t199 ); + const double t204 = ( t198 + t202 ) * t59; + const double t205 = t204 * t87; + const double t206 = t40 * t205; + const double t210 = t67 * t67; + const double t211 = 0.1e1 / t210; + const double t212 = t62 * t211; + const double t217 = -0.1176575e1 * t166 - 0.516475e0 * t168 - 0.2103875e0 * t172 - 0.104195e0 * t177; + const double t218 = 0.1e1 / t70; + const double t219 = t217 * t218; + const double t225 = t80 * t80; + const double t226 = 0.1e1 / t225; + const double t227 = t75 * t226; + const double t232 = -0.86308333333333333334e0 * t166 - 0.301925e0 * t168 - 0.5501625e-1 * t172 - 0.82785e-1 * t177; + const double t233 = 0.1e1 / t83; + const double t234 = t232 * t233; + const double t237 = 0.53237641966666666666e-3 * t4 * t155 * t71 + 0.1e1 * t212 * t219 - t158 - t183 + 0.18311447306006545054e-3 * t4 * t155 * t84 + 0.5848223622634646207e0 * t227 * t234; + const double t238 = t60 * t237; + const double t239 = t40 * t238; + const double t240 = t204 * t85; + const double t241 = 0.19751673498613801407e-1 * t240; + const double t242 = t60 * t1; + const double t244 = t164 * t154 * t84; + const double t245 = t242 * t244; + const double t246 = 0.18311447306006545054e-3 * t245; + const double t247 = t60 * t75; + const double t249 = t226 * t232 * t233; + const double t250 = t247 * t249; + const double t251 = 0.5848223622634646207e0 * t250; + const double t252 = gamma * t99; + const double t253 = 0.1e1 / t47; + const double t256 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t195 ); + const double t257 = 0.1e1 / t52; + const double t260 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t199 ); + const double t262 = t256 / 0.2e1 + t260 / 0.2e1; + const double t263 = t151 * t262; + const double t264 = t252 * t263; + const double t265 = 0.3e1 * t264; + const double t266 = t37 * t7; + const double t268 = 0.1e1 / t8 / t266; + const double t269 = t103 * t268; + const double t272 = 0.7e1 / 0.288e3 * t269 * t56 * t112; + const double t273 = t56 * t119; + const double t274 = t106 * t273; + const double t276 = t5 * t262; + const double t277 = t275 * t276; + const double t281 = t122 * t122; + const double t282 = 0.1e1 / t281; + const double t283 = t282 * t125; + const double t285 = t280 * t283 * t129; + const double t286 = t130 * t133; + const double t287 = t286 * t1; + const double t290 = ( t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 ) * t116; + const double t292 = t133 * t262; + const double t295 = 0.3e1 * t118 * t292 - t290 * t119; + const double t296 = t295 * t121; + const double t297 = t288 * t296; + const double t298 = t287 * t297; + const double t302 = 0.1e1 / t22 / t188; + const double t303 = t302 * t130; + const double t304 = t303 * t133; + const double t305 = t304 * t137; + const double t307 = 0.7e1 / 0.4608e4 * t127 * t305; + const double t308 = t123 * t125; + const double t310 = t280 * t308 * t129; + const double t312 = 0.1e1 / t132 / t98; + const double t313 = t130 * t312; + const double t314 = t313 * t1; + const double t316 = t314 * t288 * t262; + const double t319 = -t272 - t274 * t277 / 0.48e2 - t285 * t298 / 0.3072e4 - t307 - t310 * t316 / 0.768e3; + const double t320 = beta * t319; + const double t322 = t146 * t146; + const double t323 = 0.1e1 / t322; + const double t324 = t116 * t323; + const double t325 = t143 * t282; + const double t326 = t141 * t295; + const double t331 = -t325 * t326 * t121 + t143 * t123 * t319; + const double t332 = t324 * t331; + const double t334 = -t142 * t332 + t320 * t148; + const double t335 = 0.1e1 / t150; + const double t336 = t334 * t335; + const double t337 = t101 * t336; + const double t340 = -t41 - t194; + const double t343 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t340 ); + const double t344 = -t340; + const double t347 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t344 ); + const double t349 = ( t343 + t347 ) * t59; + const double t350 = t349 * t87; + const double t351 = t40 * t350; + const double t352 = t349 * t85; + const double t353 = 0.19751673498613801407e-1 * t352; + const double t356 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t340 ); + const double t359 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t344 ); + const double t361 = t356 / 0.2e1 + t359 / 0.2e1; + const double t362 = t151 * t361; + const double t363 = t252 * t362; + const double t364 = 0.3e1 * t363; + const double t365 = t5 * t361; + const double t366 = t275 * t365; + const double t370 = ( t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 ) * t116; + const double t372 = t133 * t361; + const double t375 = 0.3e1 * t118 * t372 - t370 * t119; + const double t376 = t375 * t121; + const double t377 = t288 * t376; + const double t378 = t287 * t377; + const double t382 = t314 * t288 * t361; + const double t385 = -t272 - t274 * t366 / 0.48e2 - t285 * t378 / 0.3072e4 - t307 - t310 * t382 / 0.768e3; + const double t386 = beta * t385; + const double t388 = t141 * t375; + const double t393 = -t325 * t388 * t121 + t143 * t123 * t385; + const double t394 = t324 * t393; + const double t396 = -t142 * t394 + t386 * t148; + const double t397 = t396 * t335; + const double t398 = t101 * t397; + const double t401 = t7 * gamma; + const double t402 = t105 * t56; + const double t405 = t402 * t108 * t404; + const double t408 = t115 * t124 * t103; + const double t409 = t408 * t138; + const double t411 = t405 / 0.96e2 + t409 / 0.1536e4; + const double t412 = beta * t411; + const double t415 = t414 * t141; + const double t418 = t415 * t417; + const double t419 = t323 * t123; + const double t420 = t419 * t411; + const double t422 = t412 * t148 - t418 * t420; + const double t427 = t405 / 0.48e2 + t409 / 0.768e3; + const double t428 = beta * t427; + const double t430 = t419 * t427; + const double t432 = t428 * t148 - t418 * t430; + const double t435 = 0.22146941966666666666e-2 * t157; + const double t436 = 0.2e1 * t182; + const double t437 = 0.8e1 * t186; + const double t438 = 0.8e1 * t191; + const double t440 = 0.2e1 * t239; + const double t442 = 0.36622894612013090108e-3 * t245; + const double t443 = 0.11696447245269292414e1 * t250; + const double t446 = gamma * t98; + const double t447 = t262 * t262; + const double t449 = t446 * t151 * t447; + const double t450 = 0.6e1 * t449; + const double t451 = 0.1e1 / t48; + const double t452 = t195 * t195; + const double t455 = 0.1e1 / t266; + const double t456 = t34 * t455; + const double t458 = -0.2e1 * t193 + 0.2e1 * t456; + const double t462 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t452 + 0.2e1 / 0.3e1 * t253 * t458 ); + const double t463 = 0.1e1 / t53; + const double t464 = t199 * t199; + const double t467 = -t458; + const double t471 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t464 + 0.2e1 / 0.3e1 * t257 * t467 ); + const double t473 = t462 / 0.2e1 + t471 / 0.2e1; + const double t474 = t151 * t473; + const double t475 = t252 * t474; + const double t476 = 0.3e1 * t475; + const double t478 = 0.1e1 / t8 / t38; + const double t479 = t103 * t478; + const double t482 = 0.35e2 / 0.432e3 * t479 * t56 * t112; + const double t483 = t269 * t273; + const double t484 = t483 * t277; + const double t486 = t56 * t133; + const double t487 = t106 * t486; + const double t488 = t5 * t447; + const double t489 = t275 * t488; + const double t493 = t275 * t5 * t473; + const double t497 = 0.1e1 / t281 / t122; + const double t498 = t497 * t125; + const double t500 = t280 * t498 * t129; + const double t501 = t295 * t295; + const double t502 = t121 * t121; + const double t503 = t501 * t502; + const double t505 = t287 * t288 * t503; + const double t509 = t280 * t283 * t302; + const double t510 = t509 * t298; + const double t513 = t280 * t283 * t131; + const double t514 = t312 * t1; + const double t515 = t514 * t135; + const double t516 = t6 * t295; + const double t517 = t121 * t262; + const double t518 = t516 * t517; + const double t519 = t515 * t518; + const double t522 = t225 * t225; + const double t523 = 0.1e1 / t522; + const double t524 = t232 * t232; + const double t525 = t523 * t524; + const double t526 = t83 * t83; + const double t527 = 0.1e1 / t526; + const double t528 = t525 * t527; + const double t529 = t247 * t528; + const double t530 = 0.17315859105681463759e2 * t529; + const double t533 = 0.1e1 / t14 / t11 * t19; + const double t536 = 0.1e1 / t22 / t37; + const double t537 = t534 * t536; + const double t538 = t533 * t537; + const double t540 = t164 * t105; + const double t541 = t163 * t540; + const double t543 = t6 * t105; + const double t544 = t4 * t543; + const double t546 = 0.1e1/safe_math::sqrt( t11 ); + const double t547 = t546 * t19; + const double t548 = t547 * t537; + const double t550 = t171 * t540; + const double t553 = t21 * t5 * t536; + const double t555 = -0.57538888888888888889e0 * t538 + 0.11507777777777777778e1 * t541 + 0.40256666666666666667e0 * t544 + 0.366775e-1 * t548 + 0.73355e-1 * t550 + 0.137975e0 * t553; + const double t557 = t226 * t555 * t233; + const double t558 = t247 * t557; + const double t559 = 0.5848223622634646207e0 * t558; + const double t560 = t204 * t75; + const double t561 = t560 * t249; + const double t562 = 0.11696447245269292414e1 * t561; + const double t563 = 0.1e1 / t93; + const double t569 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t452 + 0.4e1 / 0.3e1 * t47 * t458 ); + const double t570 = 0.1e1 / t95; + const double t576 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t464 + 0.4e1 / 0.3e1 * t52 * t467 ); + const double t578 = ( t569 + t576 ) * t59; + const double t579 = t578 * t85; + const double t580 = 0.19751673498613801407e-1 * t579; + const double t585 = t154 * t211; + const double t589 = t210 * t67; + const double t590 = 0.1e1 / t589; + const double t591 = t62 * t590; + const double t592 = t217 * t217; + const double t593 = t592 * t218; + const double t602 = -0.78438333333333333333e0 * t538 + 0.15687666666666666667e1 * t541 + 0.68863333333333333333e0 * t544 + 0.14025833333333333333e0 * t548 + 0.28051666666666666667e0 * t550 + 0.17365833333333333333e0 * t553; + const double t603 = t602 * t218; + const double t606 = t210 * t210; + const double t607 = 0.1e1 / t606; + const double t608 = t62 * t607; + const double t609 = t70 * t70; + const double t610 = 0.1e1 / t609; + const double t611 = t592 * t610; + const double t615 = t4 * t543 * t31; + const double t616 = 0.14764627977777777777e-2 * t615; + const double t617 = t154 * t160; + const double t619 = t584 * t617 * t181; + const double t620 = 0.35616666666666666666e-1 * t619; + const double t621 = t159 * t27; + const double t622 = 0.1e1 / t621; + const double t623 = t13 * t622; + const double t624 = t179 * t179; + const double t625 = t624 * t180; + const double t626 = t623 * t625; + const double t627 = 0.2e1 * t626; + const double t634 = -0.42198333333333333333e0 * t538 + 0.84396666666666666666e0 * t541 + 0.39862222222222222223e0 * t544 + 0.68258333333333333333e-1 * t548 + 0.13651666666666666667e0 * t550 + 0.13692777777777777778e0 * t553; + const double t635 = t634 * t180; + const double t636 = t161 * t635; + const double t637 = 0.1e1 * t636; + const double t638 = t159 * t159; + const double t639 = 0.1e1 / t638; + const double t640 = t13 * t639; + const double t641 = t30 * t30; + const double t642 = 0.1e1 / t641; + const double t643 = t624 * t642; + const double t644 = t640 * t643; + const double t645 = 0.16081979498692535067e2 * t644; + const double t649 = t154 * t226; + const double t653 = t225 * t80; + const double t654 = 0.1e1 / t653; + const double t655 = t75 * t654; + const double t656 = t524 * t233; + const double t659 = t555 * t233; + const double t662 = t75 * t523; + const double t663 = t524 * t527; + const double t666 = -0.70983522622222222221e-3 * t4 * t543 * t71 - 0.34246666666666666666e-1 * t584 * t585 * t219 - 0.2e1 * t591 * t593 + 0.1e1 * t212 * t603 + 0.32163958997385070134e2 * t608 * t611 + t616 + t620 + t627 - t637 - t645 - 0.24415263074675393405e-3 * t4 * t543 * t84 - 0.10843581300301739842e-1 * t584 * t649 * t234 - 0.11696447245269292414e1 * t655 * t656 + 0.5848223622634646207e0 * t227 * t659 + 0.17315859105681463759e2 * t662 * t663; + const double t667 = t60 * t666; + const double t668 = t40 * t667; + const double t669 = t578 * t87; + const double t670 = t40 * t669; + const double t671 = t204 * t237; + const double t672 = t40 * t671; + const double t673 = 0.2e1 * t672; + const double t674 = t190 * t205; + const double t675 = 0.8e1 * t674; + const double t676 = t190 * t238; + const double t677 = 0.8e1 * t676; + const double t678 = t185 * t205; + const double t679 = 0.8e1 * t678; + const double t680 = t185 * t238; + const double t681 = 0.8e1 * t680; + const double t682 = -t530 - t559 - t562 + t580 + t668 + t670 + t673 - t675 - t677 + t679 + t681; + const double t683 = t38 * t37; + const double t684 = 0.1e1 / t683; + const double t685 = t36 * t684; + const double t686 = t685 * t88; + const double t687 = 0.2e2 * t686; + const double t688 = t35 * t39; + const double t689 = t688 * t88; + const double t690 = 0.12e2 * t689; + const double t691 = t184 * t189; + const double t692 = t691 * t88; + const double t693 = 0.32e2 * t692; + const double t694 = t60 * t4; + const double t695 = t155 * t249; + const double t696 = t694 * t695; + const double t697 = 0.10843581300301739842e-1 * t696; + const double t698 = t204 * t1; + const double t699 = t698 * t244; + const double t700 = 0.36622894612013090108e-3 * t699; + const double t702 = t654 * t524 * t233; + const double t703 = t247 * t702; + const double t704 = 0.11696447245269292414e1 * t703; + const double t706 = t164 * t105 * t84; + const double t707 = t242 * t706; + const double t708 = 0.24415263074675393405e-3 * t707; + const double t709 = -t627 + t687 + t690 - t693 - t616 + t637 + t645 + t697 - t700 + t704 - t620 + t708; + const double t711 = ( t682 + t709 ) * t116; + const double t715 = t312 * t447; + const double t718 = t133 * t473; + const double t721 = -0.12e2 * t118 * t715 + 0.3e1 * t118 * t718 - t711 * t119 + 0.6e1 * t290 * t292; + const double t722 = t721 * t121; + const double t724 = t287 * t288 * t722; + const double t727 = t501 * t121; + const double t729 = t287 * t288 * t727; + const double t733 = 0.1e1 / t22 / t683; + const double t734 = t733 * t130; + const double t736 = t734 * t133 * t137; + const double t738 = 0.119e3 / 0.13824e5 * t127 * t736; + const double t740 = t280 * t308 * t302; + const double t741 = t740 * t316; + const double t744 = 0.1e1 / t132 / t99; + const double t745 = t130 * t744; + const double t746 = t745 * t1; + const double t748 = t746 * t288 * t447; + const double t752 = t314 * t288 * t473; + const double t755 = t482 + 0.7e1 / 0.72e2 * t484 + t487 * t489 / 0.16e2 - t274 * t493 / 0.48e2 + t500 * t505 / 0.1536e4 + 0.7e1 / 0.2304e4 * t510 + t513 * t519 / 0.384e3 - t285 * t724 / 0.3072e4 - t285 * t729 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t741 + 0.5e1 / 0.768e3 * t310 * t748 - t310 * t752 / 0.768e3; + const double t756 = beta * t755; + const double t761 = 0.1e1 / t322 / t146; + const double t762 = t116 * t761; + const double t763 = t331 * t331; + const double t764 = t762 * t763; + const double t767 = t143 * t497; + const double t768 = t141 * t501; + const double t772 = t319 * t295; + const double t776 = t141 * t721; + const double t783 = -t325 * t768 * t121 - 0.2e1 * t325 * t772 * t121 - t325 * t776 * t121 + t143 * t123 * t755 + 0.2e1 * t767 * t768 * t502; + const double t784 = t324 * t783; + const double t786 = 0.2e1 * t142 * t764 - t142 * t784 + t756 * t148 - 0.2e1 * t320 * t332; + const double t787 = t786 * t335; + const double t788 = t101 * t787; + const double t789 = t334 * t334; + const double t790 = t150 * t150; + const double t791 = 0.1e1 / t790; + const double t792 = t789 * t791; + const double t793 = t101 * t792; + const double t794 = t450 + t476 + t788 + t704 - t627 + t637 + t645 + t697 - t693 - t793 + t681 + t687 + t690 - t530; + const double t796 = t252 * t336 * t262; + const double t797 = 0.6e1 * t796; + const double t798 = -t559 - t562 - t677 + t679 + t670 + t673 - t675 - t616 + t668 + t797 - t620 - t700 + t708 + t580; + const double t801 = t185 * t350; + const double t802 = 0.4e1 * t801; + const double t803 = t190 * t350; + const double t804 = 0.4e1 * t803; + const double t805 = t563 * t340; + const double t808 = t47 * t34; + const double t812 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t805 * t195 + 0.8e1 / 0.3e1 * t808 * t455 ); + const double t813 = t570 * t344; + const double t816 = t52 * t34; + const double t820 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t813 * t199 - 0.8e1 / 0.3e1 * t816 * t455 ); + const double t822 = ( t812 + t820 ) * t59; + const double t823 = t822 * t87; + const double t824 = t40 * t823; + const double t825 = t349 * t237; + const double t826 = t40 * t825; + const double t827 = t349 * t75; + const double t828 = t827 * t249; + const double t829 = 0.5848223622634646207e0 * t828; + const double t830 = t349 * t1; + const double t831 = t830 * t244; + const double t832 = 0.18311447306006545054e-3 * t831; + const double t833 = t396 * t791; + const double t835 = t101 * t833 * t334; + const double t837 = t252 * t397 * t262; + const double t840 = t446 * t362 * t262; + const double t842 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 - t835 + 0.3e1 * t837 + 0.6e1 * t840 + t687 - t690; + const double t843 = 0.5848223622634646207e0 * t561; + const double t844 = 0.4e1 * t678; + const double t845 = 0.4e1 * t674; + const double t846 = t822 * t85; + const double t847 = 0.19751673498613801407e-1 * t846; + const double t848 = 0.18311447306006545054e-3 * t699; + const double t849 = t451 * t340; + const double t852 = t253 * t34; + const double t856 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t849 * t195 + 0.4e1 / 0.3e1 * t852 * t455 ); + const double t857 = t463 * t344; + const double t860 = t257 * t34; + const double t864 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t857 * t199 - 0.4e1 / 0.3e1 * t860 * t455 ); + const double t866 = t856 / 0.2e1 + t864 / 0.2e1; + const double t867 = t151 * t866; + const double t868 = t252 * t867; + const double t871 = t483 * t366; + const double t874 = t275 * t365 * t262; + const double t877 = t5 * t866; + const double t878 = t275 * t877; + const double t882 = t280 * t498 * t131; + const double t883 = t133 * t1; + const double t884 = t883 * t135; + const double t885 = t6 * t375; + const double t886 = t502 * t295; + const double t887 = t885 * t886; + const double t888 = t884 * t887; + const double t891 = t509 * t378; + const double t893 = t885 * t517; + const double t894 = t515 * t893; + const double t897 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 + t687 - t690; + const double t898 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708; + const double t900 = ( t897 + t898 ) * t116; + const double t906 = t312 * t361; + const double t907 = t906 * t262; + const double t910 = t133 * t866; + const double t913 = -0.12e2 * t118 * t907 + 0.3e1 * t118 * t910 - t900 * t119 + 0.3e1 * t290 * t372 + 0.3e1 * t370 * t292; + const double t914 = t913 * t121; + const double t916 = t287 * t288 * t914; + const double t919 = t885 * t296; + const double t920 = t884 * t919; + const double t925 = t6 * t361; + const double t926 = t925 * t296; + const double t927 = t515 * t926; + const double t930 = t740 * t382; + const double t932 = t361 * t262; + const double t934 = t746 * t288 * t932; + const double t938 = t314 * t288 * t866; + const double t941 = t482 + 0.7e1 / 0.144e3 * t484 + 0.7e1 / 0.144e3 * t871 + t487 * t874 / 0.16e2 - t274 * t878 / 0.48e2 + t882 * t888 / 0.1536e4 + 0.7e1 / 0.4608e4 * t891 + t513 * t894 / 0.768e3 - t285 * t916 / 0.3072e4 - t513 * t920 / 0.3072e4 + 0.7e1 / 0.4608e4 * t510 + t738 + 0.7e1 / 0.1152e4 * t741 + t513 * t927 / 0.768e3 + 0.7e1 / 0.1152e4 * t930 + 0.5e1 / 0.768e3 * t310 * t934 - t310 * t938 / 0.768e3; + const double t942 = beta * t941; + const double t946 = t142 * t116; + const double t947 = t761 * t393; + const double t948 = t947 * t331; + const double t954 = t319 * t375; + const double t957 = t141 * t913; + const double t962 = t385 * t295; + const double t967 = -t325 * t954 * t121 - t325 * t957 * t121 - t325 * t962 * t121 + t143 * t123 * t941 - t325 * t388 * t296 + 0.2e1 * t767 * t388 * t886; + const double t968 = t324 * t967; + const double t970 = -t142 * t968 + t942 * t148 - t320 * t394 - t386 * t332 + 0.2e1 * t946 * t948; + const double t971 = t970 * t335; + const double t972 = t101 * t971; + const double t973 = t336 * t361; + const double t974 = t252 * t973; + const double t976 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708 + 0.3e1 * t868 + t972 + 0.3e1 * t974; + const double t983 = 0.8e1 * t801; + const double t984 = 0.8e1 * t803; + const double t985 = 0.2e1 * t826; + const double t986 = t396 * t396; + const double t987 = t986 * t791; + const double t988 = t101 * t987; + const double t989 = 0.11696447245269292414e1 * t828; + const double t990 = 0.36622894612013090108e-3 * t831; + const double t991 = t340 * t340; + const double t995 = 0.2e1 * t193 + 0.2e1 * t456; + const double t999 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t991 + 0.4e1 / 0.3e1 * t47 * t995 ); + const double t1000 = t344 * t344; + const double t1003 = -t995; + const double t1007 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t1000 + 0.4e1 / 0.3e1 * t52 * t1003 ); + const double t1009 = ( t999 + t1007 ) * t59; + const double t1010 = t1009 * t87; + const double t1011 = t40 * t1010; + const double t1017 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t991 + 0.2e1 / 0.3e1 * t253 * t995 ); + const double t1023 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t1000 + 0.2e1 / 0.3e1 * t257 * t1003 ); + const double t1025 = t1017 / 0.2e1 + t1023 / 0.2e1; + const double t1026 = t151 * t1025; + const double t1027 = t252 * t1026; + const double t1028 = 0.3e1 * t1027; + const double t1030 = t361 * t361; + const double t1031 = t5 * t1030; + const double t1032 = t275 * t1031; + const double t1035 = t5 * t1025; + const double t1036 = t275 * t1035; + const double t1039 = t375 * t375; + const double t1040 = t1039 * t502; + const double t1042 = t287 * t288 * t1040; + const double t1046 = t121 * t361; + const double t1047 = t885 * t1046; + const double t1048 = t515 * t1047; + const double t1051 = t1009 * t85; + const double t1052 = 0.19751673498613801407e-1 * t1051; + const double t1053 = t1011 + t1052 - t989 - t983 - t984 + t985 - t530 - t559 + t668 - t677 - t681; + const double t1054 = -t627 + t687 + t690 + t693 - t616 + t637 + t645 + t697 - t990 + t704 - t620 + t708; + const double t1056 = ( t1053 + t1054 ) * t116; + const double t1060 = t312 * t1030; + const double t1063 = t133 * t1025; + const double t1066 = -t1056 * t119 - 0.12e2 * t118 * t1060 + 0.3e1 * t118 * t1063 + 0.6e1 * t370 * t372; + const double t1067 = t1066 * t121; + const double t1069 = t287 * t288 * t1067; + const double t1072 = t1039 * t121; + const double t1074 = t287 * t288 * t1072; + const double t1079 = t746 * t288 * t1030; + const double t1083 = t314 * t288 * t1025; + const double t1086 = t482 + 0.7e1 / 0.72e2 * t871 + t487 * t1032 / 0.16e2 - t274 * t1036 / 0.48e2 + t500 * t1042 / 0.1536e4 + 0.7e1 / 0.2304e4 * t891 + t513 * t1048 / 0.384e3 - t285 * t1069 / 0.3072e4 - t285 * t1074 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t930 + 0.5e1 / 0.768e3 * t310 * t1079 - t310 * t1083 / 0.768e3; + const double t1087 = beta * t1086; + const double t1091 = t393 * t393; + const double t1092 = t762 * t1091; + const double t1095 = t141 * t1039; + const double t1099 = t385 * t375; + const double t1103 = t141 * t1066; + const double t1110 = t143 * t123 * t1086 - t325 * t1095 * t121 + 0.2e1 * t767 * t1095 * t502 - 0.2e1 * t325 * t1099 * t121 - t325 * t1103 * t121; + const double t1111 = t324 * t1110; + const double t1113 = t1087 * t148 + 0.2e1 * t142 * t1092 - t142 * t1111 - 0.2e1 * t386 * t394; + const double t1114 = t1113 * t335; + const double t1115 = t101 * t1114; + const double t1116 = t704 - t983 - t984 + t985 - t627 + t637 + t645 + t697 - t988 - t989 - t990 + t1011 + t1028 + t1115; + const double t1117 = t151 * t1030; + const double t1118 = t446 * t1117; + const double t1119 = 0.6e1 * t1118; + const double t1120 = t397 * t361; + const double t1121 = t252 * t1120; + const double t1122 = 0.6e1 * t1121; + const double t1123 = t693 - t681 + t687 + t690 - t530 - t559 + t1052 - t677 - t616 + t668 + t1119 + t1122 - t620 + t708; + const double t1126 = t422 * t335; + const double t1127 = t101 * t1126; + const double t1128 = t401 * t99; + const double t1129 = t1126 * t262; + const double t1132 = t268 * t56; + const double t1134 = t1132 * t108 * t404; + const double t1135 = 0.7e1 / 0.288e3 * t1134; + const double t1136 = t402 * t119; + const double t1137 = t1136 * t277; + const double t1139 = t282 * t103; + const double t1141 = t280 * t1139 * t129; + const double t1142 = t1141 * t298; + const double t1144 = t408 * t305; + const double t1145 = 0.7e1 / 0.2304e4 * t1144; + const double t1146 = t123 * t103; + const double t1148 = t280 * t1146 * t129; + const double t1149 = t1148 * t316; + const double t1151 = -t1135 - t1137 / 0.48e2 - t1142 / 0.1536e4 - t1145 - t1149 / 0.384e3; + const double t1152 = beta * t1151; + const double t1155 = t414 * t319; + const double t1156 = t1155 * t417; + const double t1158 = t761 * t123; + const double t1159 = t411 * t331; + const double t1160 = t1158 * t1159; + const double t1163 = t417 * t323; + const double t1164 = t415 * t1163; + const double t1165 = t282 * t411; + const double t1166 = t1165 * t296; + const double t1168 = t419 * t1151; + const double t1170 = t1152 * t148 - t1156 * t420 + 0.2e1 * t418 * t1160 + t1164 * t1166 - t418 * t1168 - t412 * t332; + const double t1174 = t401 * t100; + const double t1175 = t422 * t791; + const double t1176 = t1175 * t334; + const double t1178 = t432 * t335; + const double t1179 = t101 * t1178; + const double t1180 = t1178 * t262; + const double t1183 = 0.7e1 / 0.144e3 * t1134; + const double t1186 = 0.7e1 / 0.1152e4 * t1144; + const double t1188 = -t1183 - t1137 / 0.24e2 - t1142 / 0.768e3 - t1186 - t1149 / 0.192e3; + const double t1189 = beta * t1188; + const double t1194 = t1158 * t427 * t331; + const double t1197 = t282 * t427; + const double t1198 = t1197 * t296; + const double t1200 = t419 * t1188; + const double t1202 = -t1156 * t430 + t1164 * t1198 + t1189 * t148 + 0.2e1 * t418 * t1194 - t418 * t1200 - t428 * t332; + const double t1206 = t432 * t791; + const double t1207 = t1206 * t334; + const double t1209 = t1126 * t361; + const double t1212 = t1136 * t366; + const double t1214 = t1141 * t378; + const double t1216 = t1148 * t382; + const double t1218 = -t1135 - t1212 / 0.48e2 - t1214 / 0.1536e4 - t1145 - t1216 / 0.384e3; + const double t1219 = beta * t1218; + const double t1222 = t414 * t385; + const double t1223 = t1222 * t417; + const double t1225 = t411 * t393; + const double t1226 = t1158 * t1225; + const double t1229 = t1165 * t376; + const double t1231 = t419 * t1218; + const double t1233 = t1164 * t1229 + t1219 * t148 - t1223 * t420 + 0.2e1 * t418 * t1226 - t418 * t1231 - t412 * t394; + const double t1237 = t1175 * t396; + const double t1239 = t1178 * t361; + const double t1245 = -t1183 - t1212 / 0.24e2 - t1214 / 0.768e3 - t1186 - t1216 / 0.192e3; + const double t1246 = beta * t1245; + const double t1250 = t427 * t393; + const double t1251 = t1158 * t1250; + const double t1254 = t1197 * t376; + const double t1256 = t419 * t1245; + const double t1258 = t1164 * t1254 - t1223 * t430 + t1246 * t148 + 0.2e1 * t418 * t1251 - t418 * t1256 - t428 * t394; + const double t1262 = t1206 * t396; + const double t1265 = t417 * t123; + const double t1269 = t287 * t288 * t147; + const double t1270 = t1264 * t1265 * t129 * t1269; + const double t1272 = t411 * t411; + const double t1273 = t414 * t1272; + const double t1274 = t1163 * t123; + const double t1278 = t1277 * t141; + const double t1281 = t1278 * t1280; + const double t1282 = t761 * t282; + const double t1283 = t1282 * t1272; + const double t1286 = t323 * t282; + const double t1287 = t1286 * BB; + const double t1288 = t1281 * t1287; + const double t1289 = t1288 * t138; + const double t1291 = t1270 / 0.1536e4 - 0.2e1 * t1273 * t1274 + 0.2e1 * t1281 * t1283 - t1289 / 0.1536e4; + const double t1295 = t422 * t422; + const double t1300 = t414 * t427; + const double t1301 = t1300 * t417; + const double t1304 = t427 * t411; + const double t1305 = t1282 * t1304; + const double t1309 = t1270 / 0.768e3 - 0.2e1 * t1301 * t420 + 0.2e1 * t1281 * t1305 - t1289 / 0.768e3; + const double t1313 = t1206 * t422; + const double t1316 = t427 * t427; + const double t1317 = t414 * t1316; + const double t1320 = t1282 * t1316; + const double t1324 = t1270 / 0.384e3 - 0.2e1 * t1317 * t1274 + 0.2e1 * t1281 * t1320 - t1289 / 0.384e3; + const double t1328 = t432 * t432; + + + v2rho2_aa = t435 + t436 + t437 - t438 + 0.2e1 * t206 + t440 + 0.39503346997227602814e-1 * t240 - t442 - t443 + 0.6e1 * t264 + 0.2e1 * t337 + t7 * ( t794 + t798 ); + v2rho2_ab = t435 + t436 - t438 + t206 + t440 + t241 - t442 - t443 + t265 + t337 + t351 + t353 + t364 + t398 + t7 * ( t842 + t976 ); + v2rho2_bb = t435 + t436 - t437 - t438 + 0.2e1 * t351 + t440 + 0.39503346997227602814e-1 * t352 - t442 - t443 + 0.6e1 * t363 + 0.2e1 * t398 + t7 * ( t1116 + t1123 ); + v2rhosigma_a_aa = t401 * t100 * t1170 * t335 + 0.3e1 * t1128 * t1129 - t1174 * t1176 + t1127; + v2rhosigma_a_ab = t401 * t100 * t1202 * t335 + 0.3e1 * t1128 * t1180 - t1174 * t1207 + t1179; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t401 * t100 * t1233 * t335 + 0.3e1 * t1128 * t1209 - t1174 * t1237 + t1127; + v2rhosigma_b_ab = t401 * t100 * t1258 * t335 + 0.3e1 * t1128 * t1239 - t1174 * t1262 + t1179; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t401 * t100 * t1291 * t335 - t401 * t100 * t1295 * t791; + v2sigma2_aa_ab = t401 * t100 * t1309 * t335 - t1174 * t1313; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t401 * t100 * t1324 * t335 - t401 * t100 * t1328 * t791; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t110 = 0.1e1 / t3; + constexpr double t111 = t110 * t5; + constexpr double t115 = BB * beta; + constexpr double t116 = 0.1e1 / gamma; + constexpr double t130 = t56 * t56; + constexpr double t135 = 0.1e1 / t20; + constexpr double t136 = t1 * t135; + constexpr double t137 = t136 * t6; + constexpr double t143 = beta * t116; + constexpr double t164 = t3 * t6; + constexpr double t275 = t19 * t110; + constexpr double t280 = t115 * t116; + constexpr double t288 = t135 * t6; + constexpr double t404 = t275 * t5; + constexpr double t414 = beta * beta; + constexpr double t416 = gamma * gamma; + constexpr double t417 = 0.1e1 / t416; + constexpr double t534 = t20 * t5; + constexpr double t584 = t4 * t6; + constexpr double t1264 = t414 * BB; + constexpr double t1277 = t414 * beta; + constexpr double t1280 = 0.1e1 / t416 / gamma; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751673498613801407e-1 * t60 * t85; + const double t92 = t45 * t45; + const double t93 = t47 * t47; + const double t94 = piecewise_functor_3( t44, t92, t93 ); + const double t95 = t52 * t52; + const double t96 = piecewise_functor_3( t51, t92, t95 ); + const double t98 = t94 / 0.2e1 + t96 / 0.2e1; + const double t99 = t98 * t98; + const double t100 = t99 * t98; + const double t101 = gamma * t100; + const double t103 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t105 = 0.1e1 / t8 / t37; + const double t106 = t103 * t105; + const double t108 = 0.1e1 / t99; + const double t112 = t108 * t19 * t111; + const double t118 = ( -t33 + t89 + t91 ) * t116; + const double t119 = 0.1e1 / t100; + const double t121 = safe_math::exp( -t118 * t119 ); + const double t122 = t121 - 0.1e1; + const double t123 = 0.1e1 / t122; + const double t124 = t116 * t123; + const double t125 = t103 * t103; + const double t127 = t115 * t124 * t125; + const double t129 = 0.1e1 / t22 / t38; + const double t131 = t129 * t130; + const double t132 = t99 * t99; + const double t133 = 0.1e1 / t132; + const double t134 = t131 * t133; + const double t138 = t134 * t137; + const double t141 = t106 * t56 * t112 / 0.96e2 + t127 * t138 / 0.3072e4; + const double t142 = beta * t141; + const double t146 = t143 * t123 * t141 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t148 = t116 * t147; + const double t150 = t142 * t148 + 0.1e1; + const double t151 = safe_math::log( t150 ); + const double t152 = t101 * t151; + const double t154 = 0.1e1 / t8 / t7; + const double t155 = t6 * t154; + const double t157 = t4 * t155 * t31; + const double t158 = 0.11073470983333333333e-2 * t157; + const double t159 = t27 * t27; + const double t160 = 0.1e1 / t159; + const double t161 = t13 * t160; + const double t163 = 0.1e1 / t14 * t1; + const double t165 = t164 * t154; + const double t166 = t163 * t165; + const double t168 = t4 * t155; + const double t170 = safe_math::sqrt( t11 ); + const double t171 = t170 * t1; + const double t172 = t171 * t165; + const double t177 = t21 * t5 / t22 / t7; + const double t179 = -0.632975e0 * t166 - 0.29896666666666666667e0 * t168 - 0.1023875e0 * t172 - 0.82156666666666666667e-1 * t177; + const double t180 = 0.1e1 / t30; + const double t181 = t179 * t180; + const double t182 = t161 * t181; + const double t183 = 0.1e1 * t182; + const double t184 = t35 * t34; + const double t185 = t184 * t39; + const double t186 = t185 * t88; + const double t187 = 0.4e1 * t186; + const double t188 = t38 * t7; + const double t189 = 0.1e1 / t188; + const double t190 = t36 * t189; + const double t191 = t190 * t88; + const double t192 = 0.4e1 * t191; + const double t193 = 0.1e1 / t37; + const double t194 = t34 * t193; + const double t195 = t41 - t194; + const double t198 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t195 ); + const double t199 = -t195; + const double t202 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t199 ); + const double t204 = ( t198 + t202 ) * t59; + const double t205 = t204 * t87; + const double t206 = t40 * t205; + const double t210 = t67 * t67; + const double t211 = 0.1e1 / t210; + const double t212 = t62 * t211; + const double t217 = -0.1176575e1 * t166 - 0.516475e0 * t168 - 0.2103875e0 * t172 - 0.104195e0 * t177; + const double t218 = 0.1e1 / t70; + const double t219 = t217 * t218; + const double t225 = t80 * t80; + const double t226 = 0.1e1 / t225; + const double t227 = t75 * t226; + const double t232 = -0.86308333333333333334e0 * t166 - 0.301925e0 * t168 - 0.5501625e-1 * t172 - 0.82785e-1 * t177; + const double t233 = 0.1e1 / t83; + const double t234 = t232 * t233; + const double t237 = 0.53237641966666666666e-3 * t4 * t155 * t71 + 0.1e1 * t212 * t219 - t158 - t183 + 0.18311447306006545054e-3 * t4 * t155 * t84 + 0.5848223622634646207e0 * t227 * t234; + const double t238 = t60 * t237; + const double t239 = t40 * t238; + const double t240 = t204 * t85; + const double t241 = 0.19751673498613801407e-1 * t240; + const double t242 = t60 * t1; + const double t244 = t164 * t154 * t84; + const double t245 = t242 * t244; + const double t246 = 0.18311447306006545054e-3 * t245; + const double t247 = t60 * t75; + const double t249 = t226 * t232 * t233; + const double t250 = t247 * t249; + const double t251 = 0.5848223622634646207e0 * t250; + const double t252 = gamma * t99; + const double t253 = 0.1e1 / t47; + const double t256 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t195 ); + const double t257 = 0.1e1 / t52; + const double t260 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t199 ); + const double t262 = t256 / 0.2e1 + t260 / 0.2e1; + const double t263 = t151 * t262; + const double t264 = t252 * t263; + const double t265 = 0.3e1 * t264; + const double t266 = t37 * t7; + const double t268 = 0.1e1 / t8 / t266; + const double t269 = t103 * t268; + const double t272 = 0.7e1 / 0.288e3 * t269 * t56 * t112; + const double t273 = t56 * t119; + const double t274 = t106 * t273; + const double t276 = t5 * t262; + const double t277 = t275 * t276; + const double t281 = t122 * t122; + const double t282 = 0.1e1 / t281; + const double t283 = t282 * t125; + const double t285 = t280 * t283 * t129; + const double t286 = t130 * t133; + const double t287 = t286 * t1; + const double t290 = ( t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 ) * t116; + const double t292 = t133 * t262; + const double t295 = 0.3e1 * t118 * t292 - t290 * t119; + const double t296 = t295 * t121; + const double t297 = t288 * t296; + const double t298 = t287 * t297; + const double t302 = 0.1e1 / t22 / t188; + const double t303 = t302 * t130; + const double t304 = t303 * t133; + const double t305 = t304 * t137; + const double t307 = 0.7e1 / 0.4608e4 * t127 * t305; + const double t308 = t123 * t125; + const double t310 = t280 * t308 * t129; + const double t312 = 0.1e1 / t132 / t98; + const double t313 = t130 * t312; + const double t314 = t313 * t1; + const double t316 = t314 * t288 * t262; + const double t319 = -t272 - t274 * t277 / 0.48e2 - t285 * t298 / 0.3072e4 - t307 - t310 * t316 / 0.768e3; + const double t320 = beta * t319; + const double t322 = t146 * t146; + const double t323 = 0.1e1 / t322; + const double t324 = t116 * t323; + const double t325 = t143 * t282; + const double t326 = t141 * t295; + const double t331 = -t325 * t326 * t121 + t143 * t123 * t319; + const double t332 = t324 * t331; + const double t334 = -t142 * t332 + t320 * t148; + const double t335 = 0.1e1 / t150; + const double t336 = t334 * t335; + const double t337 = t101 * t336; + const double t338 = t158 + t183 + t187 - t192 + t206 + t239 + t241 - t246 - t251 + t265 + t337; + const double t340 = -t41 - t194; + const double t343 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t340 ); + const double t344 = -t340; + const double t347 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t344 ); + const double t349 = ( t343 + t347 ) * t59; + const double t350 = t349 * t87; + const double t351 = t40 * t350; + const double t352 = t349 * t85; + const double t353 = 0.19751673498613801407e-1 * t352; + const double t356 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t253 * t340 ); + const double t359 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t257 * t344 ); + const double t361 = t356 / 0.2e1 + t359 / 0.2e1; + const double t362 = t151 * t361; + const double t363 = t252 * t362; + const double t364 = 0.3e1 * t363; + const double t365 = t5 * t361; + const double t366 = t275 * t365; + const double t370 = ( t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 ) * t116; + const double t372 = t133 * t361; + const double t375 = 0.3e1 * t118 * t372 - t370 * t119; + const double t376 = t375 * t121; + const double t377 = t288 * t376; + const double t378 = t287 * t377; + const double t382 = t314 * t288 * t361; + const double t385 = -t272 - t274 * t366 / 0.48e2 - t285 * t378 / 0.3072e4 - t307 - t310 * t382 / 0.768e3; + const double t386 = beta * t385; + const double t388 = t141 * t375; + const double t393 = -t325 * t388 * t121 + t143 * t123 * t385; + const double t394 = t324 * t393; + const double t396 = -t142 * t394 + t386 * t148; + const double t397 = t396 * t335; + const double t398 = t101 * t397; + const double t399 = t158 + t183 - t187 - t192 + t351 + t239 + t353 - t246 - t251 + t364 + t398; + const double t401 = t7 * gamma; + const double t402 = t105 * t56; + const double t405 = t402 * t108 * t404; + const double t408 = t115 * t124 * t103; + const double t409 = t408 * t138; + const double t411 = t405 / 0.96e2 + t409 / 0.1536e4; + const double t412 = beta * t411; + const double t415 = t414 * t141; + const double t418 = t415 * t417; + const double t419 = t323 * t123; + const double t420 = t419 * t411; + const double t422 = t412 * t148 - t418 * t420; + const double t427 = t405 / 0.48e2 + t409 / 0.768e3; + const double t428 = beta * t427; + const double t430 = t419 * t427; + const double t432 = t428 * t148 - t418 * t430; + const double t433 = t100 * t432; + const double t435 = 0.22146941966666666666e-2 * t157; + const double t436 = 0.2e1 * t182; + const double t437 = 0.8e1 * t186; + const double t438 = 0.8e1 * t191; + const double t440 = 0.2e1 * t239; + const double t442 = 0.36622894612013090108e-3 * t245; + const double t443 = 0.11696447245269292414e1 * t250; + const double t446 = gamma * t98; + const double t447 = t262 * t262; + const double t449 = t446 * t151 * t447; + const double t450 = 0.6e1 * t449; + const double t451 = 0.1e1 / t48; + const double t452 = t195 * t195; + const double t455 = 0.1e1 / t266; + const double t456 = t34 * t455; + const double t458 = -0.2e1 * t193 + 0.2e1 * t456; + const double t462 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t452 + 0.2e1 / 0.3e1 * t253 * t458 ); + const double t463 = 0.1e1 / t53; + const double t464 = t199 * t199; + const double t467 = -t458; + const double t471 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t464 + 0.2e1 / 0.3e1 * t257 * t467 ); + const double t473 = t462 / 0.2e1 + t471 / 0.2e1; + const double t474 = t151 * t473; + const double t475 = t252 * t474; + const double t476 = 0.3e1 * t475; + const double t478 = 0.1e1 / t8 / t38; + const double t479 = t103 * t478; + const double t482 = 0.35e2 / 0.432e3 * t479 * t56 * t112; + const double t483 = t269 * t273; + const double t484 = t483 * t277; + const double t486 = t56 * t133; + const double t487 = t106 * t486; + const double t488 = t5 * t447; + const double t489 = t275 * t488; + const double t493 = t275 * t5 * t473; + const double t497 = 0.1e1 / t281 / t122; + const double t498 = t497 * t125; + const double t500 = t280 * t498 * t129; + const double t501 = t295 * t295; + const double t502 = t121 * t121; + const double t503 = t501 * t502; + const double t505 = t287 * t288 * t503; + const double t509 = t280 * t283 * t302; + const double t510 = t509 * t298; + const double t513 = t280 * t283 * t131; + const double t514 = t312 * t1; + const double t515 = t514 * t135; + const double t516 = t6 * t295; + const double t517 = t121 * t262; + const double t518 = t516 * t517; + const double t519 = t515 * t518; + const double t522 = t225 * t225; + const double t523 = 0.1e1 / t522; + const double t524 = t232 * t232; + const double t525 = t523 * t524; + const double t526 = t83 * t83; + const double t527 = 0.1e1 / t526; + const double t528 = t525 * t527; + const double t529 = t247 * t528; + const double t530 = 0.17315859105681463759e2 * t529; + const double t533 = 0.1e1 / t14 / t11 * t19; + const double t536 = 0.1e1 / t22 / t37; + const double t537 = t534 * t536; + const double t538 = t533 * t537; + const double t540 = t164 * t105; + const double t541 = t163 * t540; + const double t543 = t6 * t105; + const double t544 = t4 * t543; + const double t546 = 0.1e1/safe_math::sqrt( t11 ); + const double t547 = t546 * t19; + const double t548 = t547 * t537; + const double t550 = t171 * t540; + const double t553 = t21 * t5 * t536; + const double t555 = -0.57538888888888888889e0 * t538 + 0.11507777777777777778e1 * t541 + 0.40256666666666666667e0 * t544 + 0.366775e-1 * t548 + 0.73355e-1 * t550 + 0.137975e0 * t553; + const double t557 = t226 * t555 * t233; + const double t558 = t247 * t557; + const double t559 = 0.5848223622634646207e0 * t558; + const double t560 = t204 * t75; + const double t561 = t560 * t249; + const double t562 = 0.11696447245269292414e1 * t561; + const double t563 = 0.1e1 / t93; + const double t569 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t452 + 0.4e1 / 0.3e1 * t47 * t458 ); + const double t570 = 0.1e1 / t95; + const double t576 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t464 + 0.4e1 / 0.3e1 * t52 * t467 ); + const double t578 = ( t569 + t576 ) * t59; + const double t579 = t578 * t85; + const double t580 = 0.19751673498613801407e-1 * t579; + const double t585 = t154 * t211; + const double t589 = t210 * t67; + const double t590 = 0.1e1 / t589; + const double t591 = t62 * t590; + const double t592 = t217 * t217; + const double t593 = t592 * t218; + const double t602 = -0.78438333333333333333e0 * t538 + 0.15687666666666666667e1 * t541 + 0.68863333333333333333e0 * t544 + 0.14025833333333333333e0 * t548 + 0.28051666666666666667e0 * t550 + 0.17365833333333333333e0 * t553; + const double t603 = t602 * t218; + const double t606 = t210 * t210; + const double t607 = 0.1e1 / t606; + const double t608 = t62 * t607; + const double t609 = t70 * t70; + const double t610 = 0.1e1 / t609; + const double t611 = t592 * t610; + const double t615 = t4 * t543 * t31; + const double t616 = 0.14764627977777777777e-2 * t615; + const double t617 = t154 * t160; + const double t619 = t584 * t617 * t181; + const double t620 = 0.35616666666666666666e-1 * t619; + const double t621 = t159 * t27; + const double t622 = 0.1e1 / t621; + const double t623 = t13 * t622; + const double t624 = t179 * t179; + const double t625 = t624 * t180; + const double t626 = t623 * t625; + const double t627 = 0.2e1 * t626; + const double t634 = -0.42198333333333333333e0 * t538 + 0.84396666666666666666e0 * t541 + 0.39862222222222222223e0 * t544 + 0.68258333333333333333e-1 * t548 + 0.13651666666666666667e0 * t550 + 0.13692777777777777778e0 * t553; + const double t635 = t634 * t180; + const double t636 = t161 * t635; + const double t637 = 0.1e1 * t636; + const double t638 = t159 * t159; + const double t639 = 0.1e1 / t638; + const double t640 = t13 * t639; + const double t641 = t30 * t30; + const double t642 = 0.1e1 / t641; + const double t643 = t624 * t642; + const double t644 = t640 * t643; + const double t645 = 0.16081979498692535067e2 * t644; + const double t649 = t154 * t226; + const double t653 = t225 * t80; + const double t654 = 0.1e1 / t653; + const double t655 = t75 * t654; + const double t656 = t524 * t233; + const double t659 = t555 * t233; + const double t662 = t75 * t523; + const double t663 = t524 * t527; + const double t666 = -0.70983522622222222221e-3 * t4 * t543 * t71 - 0.34246666666666666666e-1 * t584 * t585 * t219 - 0.2e1 * t591 * t593 + 0.1e1 * t212 * t603 + 0.32163958997385070134e2 * t608 * t611 + t616 + t620 + t627 - t637 - t645 - 0.24415263074675393405e-3 * t4 * t543 * t84 - 0.10843581300301739842e-1 * t584 * t649 * t234 - 0.11696447245269292414e1 * t655 * t656 + 0.5848223622634646207e0 * t227 * t659 + 0.17315859105681463759e2 * t662 * t663; + const double t667 = t60 * t666; + const double t668 = t40 * t667; + const double t669 = t578 * t87; + const double t670 = t40 * t669; + const double t671 = t204 * t237; + const double t672 = t40 * t671; + const double t673 = 0.2e1 * t672; + const double t674 = t190 * t205; + const double t675 = 0.8e1 * t674; + const double t676 = t190 * t238; + const double t677 = 0.8e1 * t676; + const double t678 = t185 * t205; + const double t679 = 0.8e1 * t678; + const double t680 = t185 * t238; + const double t681 = 0.8e1 * t680; + const double t682 = -t530 - t559 - t562 + t580 + t668 + t670 + t673 - t675 - t677 + t679 + t681; + const double t683 = t38 * t37; + const double t684 = 0.1e1 / t683; + const double t685 = t36 * t684; + const double t686 = t685 * t88; + const double t687 = 0.2e2 * t686; + const double t688 = t35 * t39; + const double t689 = t688 * t88; + const double t690 = 0.12e2 * t689; + const double t691 = t184 * t189; + const double t692 = t691 * t88; + const double t693 = 0.32e2 * t692; + const double t694 = t60 * t4; + const double t695 = t155 * t249; + const double t696 = t694 * t695; + const double t697 = 0.10843581300301739842e-1 * t696; + const double t698 = t204 * t1; + const double t699 = t698 * t244; + const double t700 = 0.36622894612013090108e-3 * t699; + const double t702 = t654 * t524 * t233; + const double t703 = t247 * t702; + const double t704 = 0.11696447245269292414e1 * t703; + const double t706 = t164 * t105 * t84; + const double t707 = t242 * t706; + const double t708 = 0.24415263074675393405e-3 * t707; + const double t709 = -t627 + t687 + t690 - t693 - t616 + t637 + t645 + t697 - t700 + t704 - t620 + t708; + const double t711 = ( t682 + t709 ) * t116; + const double t715 = t312 * t447; + const double t718 = t133 * t473; + const double t721 = -0.12e2 * t118 * t715 + 0.3e1 * t118 * t718 - t711 * t119 + 0.6e1 * t290 * t292; + const double t722 = t721 * t121; + const double t724 = t287 * t288 * t722; + const double t727 = t501 * t121; + const double t729 = t287 * t288 * t727; + const double t733 = 0.1e1 / t22 / t683; + const double t734 = t733 * t130; + const double t736 = t734 * t133 * t137; + const double t738 = 0.119e3 / 0.13824e5 * t127 * t736; + const double t740 = t280 * t308 * t302; + const double t741 = t740 * t316; + const double t744 = 0.1e1 / t132 / t99; + const double t745 = t130 * t744; + const double t746 = t745 * t1; + const double t748 = t746 * t288 * t447; + const double t752 = t314 * t288 * t473; + const double t755 = t482 + 0.7e1 / 0.72e2 * t484 + t487 * t489 / 0.16e2 - t274 * t493 / 0.48e2 + t500 * t505 / 0.1536e4 + 0.7e1 / 0.2304e4 * t510 + t513 * t519 / 0.384e3 - t285 * t724 / 0.3072e4 - t285 * t729 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t741 + 0.5e1 / 0.768e3 * t310 * t748 - t310 * t752 / 0.768e3; + const double t756 = beta * t755; + const double t761 = 0.1e1 / t322 / t146; + const double t762 = t116 * t761; + const double t763 = t331 * t331; + const double t764 = t762 * t763; + const double t767 = t143 * t497; + const double t768 = t141 * t501; + const double t772 = t319 * t295; + const double t776 = t141 * t721; + const double t783 = -t325 * t768 * t121 - 0.2e1 * t325 * t772 * t121 - t325 * t776 * t121 + t143 * t123 * t755 + 0.2e1 * t767 * t768 * t502; + const double t784 = t324 * t783; + const double t786 = 0.2e1 * t142 * t764 - t142 * t784 + t756 * t148 - 0.2e1 * t320 * t332; + const double t787 = t786 * t335; + const double t788 = t101 * t787; + const double t789 = t334 * t334; + const double t790 = t150 * t150; + const double t791 = 0.1e1 / t790; + const double t792 = t789 * t791; + const double t793 = t101 * t792; + const double t794 = t450 + t476 + t788 + t704 - t627 + t637 + t645 + t697 - t693 - t793 + t681 + t687 + t690 - t530; + const double t796 = t252 * t336 * t262; + const double t797 = 0.6e1 * t796; + const double t798 = -t559 - t562 - t677 + t679 + t670 + t673 - t675 - t616 + t668 + t797 - t620 - t700 + t708 + t580; + const double t801 = t185 * t350; + const double t802 = 0.4e1 * t801; + const double t803 = t190 * t350; + const double t804 = 0.4e1 * t803; + const double t805 = t563 * t340; + const double t808 = t47 * t34; + const double t812 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t805 * t195 + 0.8e1 / 0.3e1 * t808 * t455 ); + const double t813 = t570 * t344; + const double t816 = t52 * t34; + const double t820 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t813 * t199 - 0.8e1 / 0.3e1 * t816 * t455 ); + const double t822 = ( t812 + t820 ) * t59; + const double t823 = t822 * t87; + const double t824 = t40 * t823; + const double t825 = t349 * t237; + const double t826 = t40 * t825; + const double t827 = t349 * t75; + const double t828 = t827 * t249; + const double t829 = 0.5848223622634646207e0 * t828; + const double t830 = t349 * t1; + const double t831 = t830 * t244; + const double t832 = 0.18311447306006545054e-3 * t831; + const double t833 = t396 * t791; + const double t835 = t101 * t833 * t334; + const double t837 = t252 * t397 * t262; + const double t840 = t446 * t362 * t262; + const double t842 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 - t835 + 0.3e1 * t837 + 0.6e1 * t840 + t687 - t690; + const double t843 = 0.5848223622634646207e0 * t561; + const double t844 = 0.4e1 * t678; + const double t845 = 0.4e1 * t674; + const double t846 = t822 * t85; + const double t847 = 0.19751673498613801407e-1 * t846; + const double t848 = 0.18311447306006545054e-3 * t699; + const double t849 = t451 * t340; + const double t852 = t253 * t34; + const double t856 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t849 * t195 + 0.4e1 / 0.3e1 * t852 * t455 ); + const double t857 = t463 * t344; + const double t860 = t257 * t34; + const double t864 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t857 * t199 - 0.4e1 / 0.3e1 * t860 * t455 ); + const double t866 = t856 / 0.2e1 + t864 / 0.2e1; + const double t867 = t151 * t866; + const double t868 = t252 * t867; + const double t871 = t483 * t366; + const double t874 = t275 * t365 * t262; + const double t877 = t5 * t866; + const double t878 = t275 * t877; + const double t882 = t280 * t498 * t131; + const double t883 = t133 * t1; + const double t884 = t883 * t135; + const double t885 = t6 * t375; + const double t886 = t502 * t295; + const double t887 = t885 * t886; + const double t888 = t884 * t887; + const double t891 = t509 * t378; + const double t893 = t885 * t517; + const double t894 = t515 * t893; + const double t897 = t704 + t802 - t804 + t824 + t826 - t627 + t637 + t645 + t697 - t829 - t832 + t687 - t690; + const double t898 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708; + const double t900 = ( t897 + t898 ) * t116; + const double t906 = t312 * t361; + const double t907 = t906 * t262; + const double t910 = t133 * t866; + const double t913 = -0.12e2 * t118 * t907 + 0.3e1 * t118 * t910 - t900 * t119 + 0.3e1 * t290 * t372 + 0.3e1 * t370 * t292; + const double t914 = t913 * t121; + const double t916 = t287 * t288 * t914; + const double t919 = t885 * t296; + const double t920 = t884 * t919; + const double t925 = t6 * t361; + const double t926 = t925 * t296; + const double t927 = t515 * t926; + const double t930 = t740 * t382; + const double t932 = t361 * t262; + const double t934 = t746 * t288 * t932; + const double t938 = t314 * t288 * t866; + const double t941 = t482 + 0.7e1 / 0.144e3 * t484 + 0.7e1 / 0.144e3 * t871 + t487 * t874 / 0.16e2 - t274 * t878 / 0.48e2 + t882 * t888 / 0.1536e4 + 0.7e1 / 0.4608e4 * t891 + t513 * t894 / 0.768e3 - t285 * t916 / 0.3072e4 - t513 * t920 / 0.3072e4 + 0.7e1 / 0.4608e4 * t510 + t738 + 0.7e1 / 0.1152e4 * t741 + t513 * t927 / 0.768e3 + 0.7e1 / 0.1152e4 * t930 + 0.5e1 / 0.768e3 * t310 * t934 - t310 * t938 / 0.768e3; + const double t942 = beta * t941; + const double t946 = t142 * t116; + const double t947 = t761 * t393; + const double t948 = t947 * t331; + const double t954 = t319 * t375; + const double t957 = t141 * t913; + const double t962 = t385 * t295; + const double t967 = -t325 * t954 * t121 - t325 * t957 * t121 - t325 * t962 * t121 + t143 * t123 * t941 - t325 * t388 * t296 + 0.2e1 * t767 * t388 * t886; + const double t968 = t324 * t967; + const double t970 = -t142 * t968 + t942 * t148 - t320 * t394 - t386 * t332 + 0.2e1 * t946 * t948; + const double t971 = t970 * t335; + const double t972 = t101 * t971; + const double t973 = t336 * t361; + const double t974 = t252 * t973; + const double t976 = -t530 - t559 - t843 - t677 - t844 + t672 - t845 - t616 + t668 + t847 - t620 - t848 + t708 + 0.3e1 * t868 + t972 + 0.3e1 * t974; + const double t983 = 0.8e1 * t801; + const double t984 = 0.8e1 * t803; + const double t985 = 0.2e1 * t826; + const double t986 = t396 * t396; + const double t987 = t986 * t791; + const double t988 = t101 * t987; + const double t989 = 0.11696447245269292414e1 * t828; + const double t990 = 0.36622894612013090108e-3 * t831; + const double t991 = t340 * t340; + const double t995 = 0.2e1 * t193 + 0.2e1 * t456; + const double t999 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t563 * t991 + 0.4e1 / 0.3e1 * t47 * t995 ); + const double t1000 = t344 * t344; + const double t1003 = -t995; + const double t1007 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t570 * t1000 + 0.4e1 / 0.3e1 * t52 * t1003 ); + const double t1009 = ( t999 + t1007 ) * t59; + const double t1010 = t1009 * t87; + const double t1011 = t40 * t1010; + const double t1017 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t451 * t991 + 0.2e1 / 0.3e1 * t253 * t995 ); + const double t1023 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t463 * t1000 + 0.2e1 / 0.3e1 * t257 * t1003 ); + const double t1025 = t1017 / 0.2e1 + t1023 / 0.2e1; + const double t1026 = t151 * t1025; + const double t1027 = t252 * t1026; + const double t1028 = 0.3e1 * t1027; + const double t1030 = t361 * t361; + const double t1031 = t5 * t1030; + const double t1032 = t275 * t1031; + const double t1035 = t5 * t1025; + const double t1036 = t275 * t1035; + const double t1039 = t375 * t375; + const double t1040 = t1039 * t502; + const double t1042 = t287 * t288 * t1040; + const double t1046 = t121 * t361; + const double t1047 = t885 * t1046; + const double t1048 = t515 * t1047; + const double t1051 = t1009 * t85; + const double t1052 = 0.19751673498613801407e-1 * t1051; + const double t1053 = t1011 + t1052 - t989 - t983 - t984 + t985 - t530 - t559 + t668 - t677 - t681; + const double t1054 = -t627 + t687 + t690 + t693 - t616 + t637 + t645 + t697 - t990 + t704 - t620 + t708; + const double t1056 = ( t1053 + t1054 ) * t116; + const double t1060 = t312 * t1030; + const double t1063 = t133 * t1025; + const double t1066 = -t1056 * t119 - 0.12e2 * t118 * t1060 + 0.3e1 * t118 * t1063 + 0.6e1 * t370 * t372; + const double t1067 = t1066 * t121; + const double t1069 = t287 * t288 * t1067; + const double t1072 = t1039 * t121; + const double t1074 = t287 * t288 * t1072; + const double t1079 = t746 * t288 * t1030; + const double t1083 = t314 * t288 * t1025; + const double t1086 = t482 + 0.7e1 / 0.72e2 * t871 + t487 * t1032 / 0.16e2 - t274 * t1036 / 0.48e2 + t500 * t1042 / 0.1536e4 + 0.7e1 / 0.2304e4 * t891 + t513 * t1048 / 0.384e3 - t285 * t1069 / 0.3072e4 - t285 * t1074 / 0.3072e4 + t738 + 0.7e1 / 0.576e3 * t930 + 0.5e1 / 0.768e3 * t310 * t1079 - t310 * t1083 / 0.768e3; + const double t1087 = beta * t1086; + const double t1091 = t393 * t393; + const double t1092 = t762 * t1091; + const double t1095 = t141 * t1039; + const double t1099 = t385 * t375; + const double t1103 = t141 * t1066; + const double t1110 = t143 * t123 * t1086 - t325 * t1095 * t121 + 0.2e1 * t767 * t1095 * t502 - 0.2e1 * t325 * t1099 * t121 - t325 * t1103 * t121; + const double t1111 = t324 * t1110; + const double t1113 = t1087 * t148 + 0.2e1 * t142 * t1092 - t142 * t1111 - 0.2e1 * t386 * t394; + const double t1114 = t1113 * t335; + const double t1115 = t101 * t1114; + const double t1116 = t704 - t983 - t984 + t985 - t627 + t637 + t645 + t697 - t988 - t989 - t990 + t1011 + t1028 + t1115; + const double t1117 = t151 * t1030; + const double t1118 = t446 * t1117; + const double t1119 = 0.6e1 * t1118; + const double t1120 = t397 * t361; + const double t1121 = t252 * t1120; + const double t1122 = 0.6e1 * t1121; + const double t1123 = t693 - t681 + t687 + t690 - t530 - t559 + t1052 - t677 - t616 + t668 + t1119 + t1122 - t620 + t708; + const double t1126 = t422 * t335; + const double t1127 = t101 * t1126; + const double t1128 = t401 * t99; + const double t1129 = t1126 * t262; + const double t1132 = t268 * t56; + const double t1134 = t1132 * t108 * t404; + const double t1135 = 0.7e1 / 0.288e3 * t1134; + const double t1136 = t402 * t119; + const double t1137 = t1136 * t277; + const double t1139 = t282 * t103; + const double t1141 = t280 * t1139 * t129; + const double t1142 = t1141 * t298; + const double t1144 = t408 * t305; + const double t1145 = 0.7e1 / 0.2304e4 * t1144; + const double t1146 = t123 * t103; + const double t1148 = t280 * t1146 * t129; + const double t1149 = t1148 * t316; + const double t1151 = -t1135 - t1137 / 0.48e2 - t1142 / 0.1536e4 - t1145 - t1149 / 0.384e3; + const double t1152 = beta * t1151; + const double t1155 = t414 * t319; + const double t1156 = t1155 * t417; + const double t1158 = t761 * t123; + const double t1159 = t411 * t331; + const double t1160 = t1158 * t1159; + const double t1163 = t417 * t323; + const double t1164 = t415 * t1163; + const double t1165 = t282 * t411; + const double t1166 = t1165 * t296; + const double t1168 = t419 * t1151; + const double t1170 = t1152 * t148 - t1156 * t420 + 0.2e1 * t418 * t1160 + t1164 * t1166 - t418 * t1168 - t412 * t332; + const double t1174 = t401 * t100; + const double t1175 = t422 * t791; + const double t1176 = t1175 * t334; + const double t1178 = t432 * t335; + const double t1179 = t101 * t1178; + const double t1180 = t1178 * t262; + const double t1183 = 0.7e1 / 0.144e3 * t1134; + const double t1186 = 0.7e1 / 0.1152e4 * t1144; + const double t1188 = -t1183 - t1137 / 0.24e2 - t1142 / 0.768e3 - t1186 - t1149 / 0.192e3; + const double t1189 = beta * t1188; + const double t1194 = t1158 * t427 * t331; + const double t1197 = t282 * t427; + const double t1198 = t1197 * t296; + const double t1200 = t419 * t1188; + const double t1202 = -t1156 * t430 + t1164 * t1198 + t1189 * t148 + 0.2e1 * t418 * t1194 - t418 * t1200 - t428 * t332; + const double t1206 = t432 * t791; + const double t1207 = t1206 * t334; + const double t1209 = t1126 * t361; + const double t1212 = t1136 * t366; + const double t1214 = t1141 * t378; + const double t1216 = t1148 * t382; + const double t1218 = -t1135 - t1212 / 0.48e2 - t1214 / 0.1536e4 - t1145 - t1216 / 0.384e3; + const double t1219 = beta * t1218; + const double t1222 = t414 * t385; + const double t1223 = t1222 * t417; + const double t1225 = t411 * t393; + const double t1226 = t1158 * t1225; + const double t1229 = t1165 * t376; + const double t1231 = t419 * t1218; + const double t1233 = t1164 * t1229 + t1219 * t148 - t1223 * t420 + 0.2e1 * t418 * t1226 - t418 * t1231 - t412 * t394; + const double t1237 = t1175 * t396; + const double t1239 = t1178 * t361; + const double t1245 = -t1183 - t1212 / 0.24e2 - t1214 / 0.768e3 - t1186 - t1216 / 0.192e3; + const double t1246 = beta * t1245; + const double t1250 = t427 * t393; + const double t1251 = t1158 * t1250; + const double t1254 = t1197 * t376; + const double t1256 = t419 * t1245; + const double t1258 = t1164 * t1254 - t1223 * t430 + t1246 * t148 + 0.2e1 * t418 * t1251 - t418 * t1256 - t428 * t394; + const double t1262 = t1206 * t396; + const double t1265 = t417 * t123; + const double t1269 = t287 * t288 * t147; + const double t1270 = t1264 * t1265 * t129 * t1269; + const double t1272 = t411 * t411; + const double t1273 = t414 * t1272; + const double t1274 = t1163 * t123; + const double t1278 = t1277 * t141; + const double t1281 = t1278 * t1280; + const double t1282 = t761 * t282; + const double t1283 = t1282 * t1272; + const double t1286 = t323 * t282; + const double t1287 = t1286 * BB; + const double t1288 = t1281 * t1287; + const double t1289 = t1288 * t138; + const double t1291 = t1270 / 0.1536e4 - 0.2e1 * t1273 * t1274 + 0.2e1 * t1281 * t1283 - t1289 / 0.1536e4; + const double t1295 = t422 * t422; + const double t1300 = t414 * t427; + const double t1301 = t1300 * t417; + const double t1304 = t427 * t411; + const double t1305 = t1282 * t1304; + const double t1309 = t1270 / 0.768e3 - 0.2e1 * t1301 * t420 + 0.2e1 * t1281 * t1305 - t1289 / 0.768e3; + const double t1313 = t1206 * t422; + const double t1316 = t427 * t427; + const double t1317 = t414 * t1316; + const double t1320 = t1282 * t1316; + const double t1324 = t1270 / 0.384e3 - 0.2e1 * t1317 * t1274 + 0.2e1 * t1281 * t1320 - t1289 / 0.384e3; + const double t1328 = t432 * t432; + + + vrho_a = t7 * t338 + t152 - t33 + t89 + t91; + vrho_b = t7 * t399 + t152 - t33 + t89 + t91; + vsigma_aa = t401 * t100 * t422 * t335; + vsigma_ab = t401 * t433 * t335; + vsigma_bb = vsigma_aa; + v2rho2_aa = t435 + t436 + t437 - t438 + 0.2e1 * t206 + t440 + 0.39503346997227602814e-1 * t240 - t442 - t443 + 0.6e1 * t264 + 0.2e1 * t337 + t7 * ( t794 + t798 ); + v2rho2_ab = t435 + t436 - t438 + t206 + t440 + t241 - t442 - t443 + t265 + t337 + t351 + t353 + t364 + t398 + t7 * ( t842 + t976 ); + v2rho2_bb = t435 + t436 - t437 - t438 + 0.2e1 * t351 + t440 + 0.39503346997227602814e-1 * t352 - t442 - t443 + 0.6e1 * t363 + 0.2e1 * t398 + t7 * ( t1116 + t1123 ); + v2rhosigma_a_aa = t401 * t100 * t1170 * t335 + 0.3e1 * t1128 * t1129 - t1174 * t1176 + t1127; + v2rhosigma_a_ab = t401 * t100 * t1202 * t335 + 0.3e1 * t1128 * t1180 - t1174 * t1207 + t1179; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t401 * t100 * t1233 * t335 + 0.3e1 * t1128 * t1209 - t1174 * t1237 + t1127; + v2rhosigma_b_ab = t401 * t100 * t1258 * t335 + 0.3e1 * t1128 * t1239 - t1174 * t1262 + t1179; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t401 * t100 * t1291 * t335 - t401 * t100 * t1295 * t791; + v2sigma2_aa_ab = t401 * t100 * t1309 * t335 - t1174 * t1313; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t401 * t100 * t1324 * t335 - t401 * t100 * t1328 * t791; + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + +}; + +struct BuiltinPBE_SOL_C : detail::BuiltinKernelImpl< BuiltinPBE_SOL_C > { + + BuiltinPBE_SOL_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinPBE_SOL_C >(p) { } + + virtual ~BuiltinPBE_SOL_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pbe_x.hpp b/include/exchcxx/impl/builtin/kernels/pbe_x.hpp index a2cc279..0e0bc91 100644 --- a/include/exchcxx/impl/builtin/kernels/pbe_x.hpp +++ b/include/exchcxx/impl/builtin/kernels/pbe_x.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPBE_X > : static constexpr double sigma_tol = 2.1544346900318956e-43; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double kappa = 0.8040; static constexpr double mu = 0.2195149727645171; @@ -37,7 +86,6 @@ struct kernel_traits< BuiltinPBE_X > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t20 = constants::m_cbrt_6; @@ -73,7 +121,6 @@ struct kernel_traits< BuiltinPBE_X > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t20 = constants::m_cbrt_6; @@ -119,11 +166,147 @@ struct kernel_traits< BuiltinPBE_X > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t56 = kappa * kappa; + constexpr double t78 = t20 * t25 * t28; + constexpr double t106 = mu * mu; + constexpr double t108 = t20 * t20; + constexpr double t111 = 0.1e1 / t23 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t37 = kappa + mu * t20 * t25 * sigma * t28 * t33 / 0.24e2; + const double t42 = 0.1e1 + kappa * ( 0.1e1 - kappa / t37 ); + const double t52 = t30 * rho; + const double t58 = t6 * t17 / t18 / t52 * t56; + const double t59 = t37 * t37; + const double t61 = 0.1e1 / t59 * mu; + const double t64 = t25 * sigma * t28; + const double t65 = t61 * t20 * t64; + const double t69 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t31 * t42 / 0.8e1 + t58 * t65 / 0.24e2 ); + const double t79 = t61 * t78; + const double t82 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t18 / t30 * t56 * t79 / 0.64e2 ); + const double t91 = t30 * t30; + const double t96 = t6 * t17 / t18 / t91 * t56; + const double t99 = t91 * t52; + const double t103 = t6 * t17 / t99 * t56; + const double t107 = 0.1e1 / t59 / t37 * t106; + const double t109 = t107 * t108; + const double t112 = sigma * sigma; + const double t115 = t109 * t111 * t112 * t27; + const double t119 = piecewise_functor_3( t2, 0.0, t6 * t17 / t31 / rho * t42 / 0.12e2 - t96 * t65 / 0.8e1 + t103 * t115 / 0.54e2 ); + const double t124 = t91 * t30; + const double t128 = t6 * t17 / t124 * t56; + const double t131 = t109 * t111 * t27 * sigma; + const double t135 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.192e3 * t58 * t79 - t128 * t131 / 0.144e3 ); + const double t138 = t91 * rho; + const double t145 = t107 * t108 * t111 * t27; + const double t148 = piecewise_functor_3( t2, 0.0, t6 * t17 / t138 * t56 * t145 / 0.384e3 ); + + + v2rho2 = 0.2e1 * rho * t119 + 0.4e1 * t69; + v2rhosigma = 0.2e1 * rho * t135 + 0.2e1 * t82; + v2sigma2 = 0.2e1 * rho * t148; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t56 = kappa * kappa; + constexpr double t78 = t20 * t25 * t28; + constexpr double t106 = mu * mu; + constexpr double t108 = t20 * t20; + constexpr double t111 = 0.1e1 / t23 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t37 = kappa + mu * t20 * t25 * sigma * t28 * t33 / 0.24e2; + const double t42 = 0.1e1 + kappa * ( 0.1e1 - kappa / t37 ); + const double t46 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t17 * t18 * t42 ); + const double t52 = t30 * rho; + const double t58 = t6 * t17 / t18 / t52 * t56; + const double t59 = t37 * t37; + const double t61 = 0.1e1 / t59 * mu; + const double t64 = t25 * sigma * t28; + const double t65 = t61 * t20 * t64; + const double t69 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t31 * t42 / 0.8e1 + t58 * t65 / 0.24e2 ); + const double t79 = t61 * t78; + const double t82 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t18 / t30 * t56 * t79 / 0.64e2 ); + const double t91 = t30 * t30; + const double t96 = t6 * t17 / t18 / t91 * t56; + const double t99 = t91 * t52; + const double t103 = t6 * t17 / t99 * t56; + const double t107 = 0.1e1 / t59 / t37 * t106; + const double t109 = t107 * t108; + const double t112 = sigma * sigma; + const double t115 = t109 * t111 * t112 * t27; + const double t119 = piecewise_functor_3( t2, 0.0, t6 * t17 / t31 / rho * t42 / 0.12e2 - t96 * t65 / 0.8e1 + t103 * t115 / 0.54e2 ); + const double t124 = t91 * t30; + const double t128 = t6 * t17 / t124 * t56; + const double t131 = t109 * t111 * t27 * sigma; + const double t135 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.192e3 * t58 * t79 - t128 * t131 / 0.144e3 ); + const double t138 = t91 * rho; + const double t145 = t107 * t108 * t111 * t27; + const double t148 = piecewise_functor_3( t2, 0.0, t6 * t17 / t138 * t56 * t145 / 0.384e3 ); + + + vrho = 0.2e1 * rho * t69 + 0.2e1 * t46; + vsigma = 0.2e1 * rho * t82; + v2rho2 = 0.2e1 * rho * t119 + 0.4e1 * t69; + v2rhosigma = 0.2e1 * rho * t135 + 0.2e1 * t82; + v2sigma2 = 0.2e1 * rho * t148; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { (void)(sigma_ab); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t28 = constants::m_cbrt_6; @@ -185,7 +368,6 @@ struct kernel_traits< BuiltinPBE_X > : eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { (void)(sigma_ab); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t28 = constants::m_cbrt_6; @@ -296,6 +478,435 @@ struct kernel_traits< BuiltinPBE_X > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t100 = kappa * kappa; + constexpr double t171 = t28 * t33; + constexpr double t223 = mu * mu; + constexpr double t225 = t28 * t28; + constexpr double t228 = 0.1e1 / t31 / t30; + constexpr double t442 = t225 * t228; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t43 = kappa + t29 * t34 * t39 / 0.24e2; + const double t48 = 0.1e1 + kappa * ( 0.1e1 - kappa / t43 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = t33 * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = safe_math::cbrt( rho_b ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t64; + const double t72 = kappa + t29 * t63 * t68 / 0.24e2; + const double t77 = 0.1e1 + kappa * ( 0.1e1 - kappa / t72 ); + const double t82 = t6 * t6; + const double t83 = 0.1e1 / t82; + const double t84 = t16 * t83; + const double t86 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t84 ); + const double t89 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t86 ); + const double t90 = t89 * t26; + const double t94 = t26 * t26; + const double t95 = 0.1e1 / t94; + const double t96 = t25 * t95; + const double t99 = t5 * t96 * t48 / 0.8e1; + const double t101 = t27 * t100; + const double t102 = t5 * t101; + const double t103 = t43 * t43; + const double t105 = 0.1e1 / t103 * mu; + const double t106 = t105 * t28; + const double t107 = t35 * rho_a; + const double t109 = 0.1e1 / t37 / t107; + const double t111 = t106 * t34 * t109; + const double t115 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t90 * t48 - t99 + t102 * t111 / 0.24e2 ); + const double t116 = t54 * t83; + const double t118 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t116 ); + const double t121 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t118 ); + const double t122 = t121 * t26; + const double t126 = t61 * t95; + const double t129 = t5 * t126 * t77 / 0.8e1; + const double t131 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t122 * t77 - t129 ); + const double t135 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t84 ); + const double t138 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t135 ); + const double t139 = t138 * t26; + const double t144 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t139 * t48 - t99 ); + const double t146 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t116 ); + const double t149 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t146 ); + const double t150 = t149 * t26; + const double t154 = t62 * t100; + const double t155 = t5 * t154; + const double t156 = t72 * t72; + const double t158 = 0.1e1 / t156 * mu; + const double t159 = t158 * t28; + const double t160 = t64 * rho_b; + const double t162 = 0.1e1 / t66 / t160; + const double t164 = t159 * t63 * t162; + const double t168 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t150 * t77 - t129 + t155 * t164 / 0.24e2 ); + const double t173 = t105 * t171 * t39; + const double t176 = piecewise_functor_3( t1, 0.0, -t102 * t173 / 0.64e2 ); + const double t178 = t158 * t171 * t68; + const double t181 = piecewise_functor_3( t53, 0.0, -t155 * t178 / 0.64e2 ); + const double t184 = t23 * t23; + const double t185 = 0.1e1 / t184; + const double t186 = t86 * t86; + const double t189 = t82 * t6; + const double t190 = 0.1e1 / t189; + const double t191 = t16 * t190; + const double t194 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t83 + 0.2e1 * t191 ); + const double t198 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t186 + 0.4e1 / 0.3e1 * t23 * t194 ); + const double t199 = t198 * t26; + const double t203 = t89 * t95; + const double t205 = t5 * t203 * t48; + const double t208 = t5 * t90 * t100; + const double t212 = 0.1e1 / t94 / t6; + const double t213 = t25 * t212; + const double t216 = t5 * t213 * t48 / 0.12e2; + const double t218 = t5 * t96 * t100; + const double t219 = t218 * t111; + const double t224 = 0.1e1 / t103 / t43 * t223; + const double t226 = t224 * t225; + const double t229 = sigma_aa * sigma_aa; + const double t230 = t228 * t229; + const double t231 = t35 * t35; + const double t234 = 0.1e1 / t36 / t231 / t107; + const double t236 = t226 * t230 * t234; + const double t240 = 0.1e1 / t37 / t231; + const double t242 = t106 * t34 * t240; + const double t246 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t199 * t48 - t205 / 0.4e1 + t208 * t111 / 0.12e2 + t216 + t219 / 0.36e2 + t102 * t236 / 0.108e3 - 0.11e2 / 0.72e2 * t102 * t242 ); + const double t247 = t59 * t59; + const double t248 = 0.1e1 / t247; + const double t249 = t118 * t118; + const double t252 = t54 * t190; + const double t255 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t83 + 0.2e1 * t252 ); + const double t259 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t59 * t255 ); + const double t260 = t259 * t26; + const double t264 = t121 * t95; + const double t266 = t5 * t264 * t77; + const double t268 = t61 * t212; + const double t271 = t5 * t268 * t77 / 0.12e2; + const double t273 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t260 * t77 - t266 / 0.4e1 + t271 ); + const double t289 = t138 * t95; + const double t291 = t5 * t289 * t48; + const double t314 = t149 * t95; + const double t316 = t5 * t314 * t77; + const double t324 = t5 * t126 * t100; + const double t325 = t324 * t164; + const double t333 = t135 * t135; + const double t338 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t83 + 0.2e1 * t191 ); + const double t342 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t333 + 0.4e1 / 0.3e1 * t23 * t338 ); + const double t343 = t342 * t26; + const double t349 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t343 * t48 - t291 / 0.4e1 + t216 ); + const double t350 = t146 * t146; + const double t355 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t83 + 0.2e1 * t252 ); + const double t359 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t350 + 0.4e1 / 0.3e1 * t59 * t355 ); + const double t360 = t359 * t26; + const double t366 = t5 * t150 * t100; + const double t372 = 0.1e1 / t156 / t72 * t223; + const double t373 = t372 * t225; + const double t374 = sigma_bb * sigma_bb; + const double t375 = t228 * t374; + const double t376 = t64 * t64; + const double t379 = 0.1e1 / t65 / t376 / t160; + const double t381 = t373 * t375 * t379; + const double t385 = 0.1e1 / t66 / t376; + const double t387 = t159 * t63 * t385; + const double t391 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t360 * t77 - t316 / 0.4e1 + t366 * t164 / 0.12e2 + t271 + t325 / 0.36e2 + t155 * t381 / 0.108e3 - 0.11e2 / 0.72e2 * t155 * t387 ); + const double t397 = t218 * t173 / 0.192e3; + const double t398 = t231 * t35; + const double t400 = 0.1e1 / t36 / t398; + const double t403 = t226 * t228 * t400 * sigma_aa; + const double t407 = t105 * t171 * t109; + const double t411 = piecewise_functor_3( t1, 0.0, -t208 * t173 / 0.64e2 - t397 - t102 * t403 / 0.288e3 + t102 * t407 / 0.24e2 ); + const double t416 = t324 * t178 / 0.192e3; + const double t427 = t376 * t64; + const double t429 = 0.1e1 / t65 / t427; + const double t432 = t373 * t228 * t429 * sigma_bb; + const double t436 = t158 * t171 * t162; + const double t440 = piecewise_functor_3( t53, 0.0, -t366 * t178 / 0.64e2 - t416 - t155 * t432 / 0.288e3 + t155 * t436 / 0.24e2 ); + const double t443 = t231 * rho_a; + const double t447 = t224 * t442 / t36 / t443; + const double t450 = piecewise_functor_3( t1, 0.0, t102 * t447 / 0.768e3 ); + const double t451 = t376 * rho_b; + const double t455 = t372 * t442 / t65 / t451; + const double t458 = piecewise_functor_3( t53, 0.0, t155 * t455 / 0.768e3 ); + + + v2rho2_aa = 0.2e1 * t115 + 0.2e1 * t131 + t6 * ( t246 + t273 ); + v2rho2_bb = 0.2e1 * t144 + 0.2e1 * t168 + t6 * ( t349 + t391 ); + v2rhosigma_a_aa = t6 * t411 + t176; + v2rhosigma_b_bb = t6 * t440 + t181; + v2sigma2_aa_aa = t6 * t450; + v2sigma2_bb_bb = t6 * t458; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t100 = kappa * kappa; + constexpr double t171 = t28 * t33; + constexpr double t223 = mu * mu; + constexpr double t225 = t28 * t28; + constexpr double t228 = 0.1e1 / t31 / t30; + constexpr double t442 = t225 * t228; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t43 = kappa + t29 * t34 * t39 / 0.24e2; + const double t48 = 0.1e1 + kappa * ( 0.1e1 - kappa / t43 ); + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = t33 * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = safe_math::cbrt( rho_b ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t64; + const double t72 = kappa + t29 * t63 * t68 / 0.24e2; + const double t77 = 0.1e1 + kappa * ( 0.1e1 - kappa / t72 ); + const double t81 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t77 ); + const double t82 = t6 * t6; + const double t83 = 0.1e1 / t82; + const double t84 = t16 * t83; + const double t86 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t84 ); + const double t89 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t86 ); + const double t90 = t89 * t26; + const double t94 = t26 * t26; + const double t95 = 0.1e1 / t94; + const double t96 = t25 * t95; + const double t99 = t5 * t96 * t48 / 0.8e1; + const double t101 = t27 * t100; + const double t102 = t5 * t101; + const double t103 = t43 * t43; + const double t105 = 0.1e1 / t103 * mu; + const double t106 = t105 * t28; + const double t107 = t35 * rho_a; + const double t109 = 0.1e1 / t37 / t107; + const double t111 = t106 * t34 * t109; + const double t115 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t90 * t48 - t99 + t102 * t111 / 0.24e2 ); + const double t116 = t54 * t83; + const double t118 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t116 ); + const double t121 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t118 ); + const double t122 = t121 * t26; + const double t126 = t61 * t95; + const double t129 = t5 * t126 * t77 / 0.8e1; + const double t131 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t122 * t77 - t129 ); + const double t135 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t84 ); + const double t138 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t135 ); + const double t139 = t138 * t26; + const double t144 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t139 * t48 - t99 ); + const double t146 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t116 ); + const double t149 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t146 ); + const double t150 = t149 * t26; + const double t154 = t62 * t100; + const double t155 = t5 * t154; + const double t156 = t72 * t72; + const double t158 = 0.1e1 / t156 * mu; + const double t159 = t158 * t28; + const double t160 = t64 * rho_b; + const double t162 = 0.1e1 / t66 / t160; + const double t164 = t159 * t63 * t162; + const double t168 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t150 * t77 - t129 + t155 * t164 / 0.24e2 ); + const double t173 = t105 * t171 * t39; + const double t176 = piecewise_functor_3( t1, 0.0, -t102 * t173 / 0.64e2 ); + const double t178 = t158 * t171 * t68; + const double t181 = piecewise_functor_3( t53, 0.0, -t155 * t178 / 0.64e2 ); + const double t184 = t23 * t23; + const double t185 = 0.1e1 / t184; + const double t186 = t86 * t86; + const double t189 = t82 * t6; + const double t190 = 0.1e1 / t189; + const double t191 = t16 * t190; + const double t194 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t83 + 0.2e1 * t191 ); + const double t198 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t186 + 0.4e1 / 0.3e1 * t23 * t194 ); + const double t199 = t198 * t26; + const double t203 = t89 * t95; + const double t205 = t5 * t203 * t48; + const double t208 = t5 * t90 * t100; + const double t212 = 0.1e1 / t94 / t6; + const double t213 = t25 * t212; + const double t216 = t5 * t213 * t48 / 0.12e2; + const double t218 = t5 * t96 * t100; + const double t219 = t218 * t111; + const double t224 = 0.1e1 / t103 / t43 * t223; + const double t226 = t224 * t225; + const double t229 = sigma_aa * sigma_aa; + const double t230 = t228 * t229; + const double t231 = t35 * t35; + const double t234 = 0.1e1 / t36 / t231 / t107; + const double t236 = t226 * t230 * t234; + const double t240 = 0.1e1 / t37 / t231; + const double t242 = t106 * t34 * t240; + const double t246 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t199 * t48 - t205 / 0.4e1 + t208 * t111 / 0.12e2 + t216 + t219 / 0.36e2 + t102 * t236 / 0.108e3 - 0.11e2 / 0.72e2 * t102 * t242 ); + const double t247 = t59 * t59; + const double t248 = 0.1e1 / t247; + const double t249 = t118 * t118; + const double t252 = t54 * t190; + const double t255 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t83 + 0.2e1 * t252 ); + const double t259 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t59 * t255 ); + const double t260 = t259 * t26; + const double t264 = t121 * t95; + const double t266 = t5 * t264 * t77; + const double t268 = t61 * t212; + const double t271 = t5 * t268 * t77 / 0.12e2; + const double t273 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t260 * t77 - t266 / 0.4e1 + t271 ); + const double t289 = t138 * t95; + const double t291 = t5 * t289 * t48; + const double t314 = t149 * t95; + const double t316 = t5 * t314 * t77; + const double t324 = t5 * t126 * t100; + const double t325 = t324 * t164; + const double t333 = t135 * t135; + const double t338 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t83 + 0.2e1 * t191 ); + const double t342 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t333 + 0.4e1 / 0.3e1 * t23 * t338 ); + const double t343 = t342 * t26; + const double t349 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t343 * t48 - t291 / 0.4e1 + t216 ); + const double t350 = t146 * t146; + const double t355 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t83 + 0.2e1 * t252 ); + const double t359 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t350 + 0.4e1 / 0.3e1 * t59 * t355 ); + const double t360 = t359 * t26; + const double t366 = t5 * t150 * t100; + const double t372 = 0.1e1 / t156 / t72 * t223; + const double t373 = t372 * t225; + const double t374 = sigma_bb * sigma_bb; + const double t375 = t228 * t374; + const double t376 = t64 * t64; + const double t379 = 0.1e1 / t65 / t376 / t160; + const double t381 = t373 * t375 * t379; + const double t385 = 0.1e1 / t66 / t376; + const double t387 = t159 * t63 * t385; + const double t391 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t360 * t77 - t316 / 0.4e1 + t366 * t164 / 0.12e2 + t271 + t325 / 0.36e2 + t155 * t381 / 0.108e3 - 0.11e2 / 0.72e2 * t155 * t387 ); + const double t397 = t218 * t173 / 0.192e3; + const double t398 = t231 * t35; + const double t400 = 0.1e1 / t36 / t398; + const double t403 = t226 * t228 * t400 * sigma_aa; + const double t407 = t105 * t171 * t109; + const double t411 = piecewise_functor_3( t1, 0.0, -t208 * t173 / 0.64e2 - t397 - t102 * t403 / 0.288e3 + t102 * t407 / 0.24e2 ); + const double t416 = t324 * t178 / 0.192e3; + const double t427 = t376 * t64; + const double t429 = 0.1e1 / t65 / t427; + const double t432 = t373 * t228 * t429 * sigma_bb; + const double t436 = t158 * t171 * t162; + const double t440 = piecewise_functor_3( t53, 0.0, -t366 * t178 / 0.64e2 - t416 - t155 * t432 / 0.288e3 + t155 * t436 / 0.24e2 ); + const double t443 = t231 * rho_a; + const double t447 = t224 * t442 / t36 / t443; + const double t450 = piecewise_functor_3( t1, 0.0, t102 * t447 / 0.768e3 ); + const double t451 = t376 * rho_b; + const double t455 = t372 * t442 / t65 / t451; + const double t458 = piecewise_functor_3( t53, 0.0, t155 * t455 / 0.768e3 ); + + + vrho_a = t52 + t81 + t6 * ( t115 + t131 ); + vrho_b = t52 + t81 + t6 * ( t144 + t168 ); + vsigma_aa = t6 * t176; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t181; + v2rho2_aa = 0.2e1 * t115 + 0.2e1 * t131 + t6 * ( t246 + t273 ); + v2rho2_bb = 0.2e1 * t144 + 0.2e1 * t168 + t6 * ( t349 + t391 ); + v2rhosigma_a_aa = t6 * t411 + t176; + v2rhosigma_b_bb = t6 * t440 + t181; + v2sigma2_aa_aa = t6 * t450; + v2sigma2_bb_bb = t6 * t458; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + }; @@ -310,4 +921,4 @@ struct BuiltinPBE_X : detail::BuiltinKernelImpl< BuiltinPBE_X > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pc07_k.hpp b/include/exchcxx/impl/builtin/kernels/pc07_k.hpp index 97e92a3..53a4833 100644 --- a/include/exchcxx/impl/builtin/kernels/pc07_k.hpp +++ b/include/exchcxx/impl/builtin/kernels/pc07_k.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPC07_K > : static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 0.5389; static constexpr double b = 3.0; @@ -38,7 +87,6 @@ struct kernel_traits< BuiltinPC07_K > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(tau); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_pi; constexpr double t25 = constants::m_cbrt_6; @@ -136,7 +184,6 @@ struct kernel_traits< BuiltinPC07_K > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(tau); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_pi; constexpr double t25 = constants::m_cbrt_6; @@ -318,21 +365,1546 @@ struct kernel_traits< BuiltinPC07_K > : const double t298 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t294 ); - eps = 0.2e1 * t118; - vrho = 0.2e1 * rho * t206 + 0.2e1 * t118; - vsigma = 0.2e1 * rho * t256; - vlapl = 0.2e1 * rho * t298; - vtau = 0.e0; + eps = 0.2e1 * t118; + vrho = 0.2e1 * rho * t206 + 0.2e1 * t118; + vsigma = 0.2e1 * rho * t256; + vlapl = 0.2e1 * rho * t298; + vtau = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(tau); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_pi; + constexpr double t25 = constants::m_cbrt_6; + constexpr double t26 = constants::m_pi_sq; + constexpr double t27 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t5 = t4 * t4; + constexpr double t28 = t27 * t27; + constexpr double t29 = 0.1e1 / t28; + constexpr double t30 = t25 * t29; + constexpr double t32 = t31 * t31; + constexpr double t47 = t25 * t25; + constexpr double t49 = 0.1e1 / t27 / t26; + constexpr double t50 = t47 * t49; + constexpr double t87 = a / 0.4e2; + constexpr double t89 = 0.39e2 / 0.4e2 * a; + constexpr double t91 = a * b; + constexpr double t224 = t29 * t32; + constexpr double t387 = a * a; + constexpr double t388 = b * b; + constexpr double t389 = t387 * t388; + constexpr double t401 = a * t388; + constexpr double t429 = b * t387; + constexpr double t516 = t49 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = t5 * t6 * M_PI; + const double t9 = 0.1e1 <= zeta_tol; + const double t10 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t9, t10, t9, -t10, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * t15; + const double t18 = safe_math::cbrt( t13 ); + const double t19 = t18 * t18; + const double t21 = piecewise_functor_3( t13 <= zeta_tol, t16 * zeta_tol, t19 * t13 ); + const double t22 = safe_math::cbrt( rho ); + const double t23 = t22 * t22; + const double t24 = t21 * t23; + const double t33 = sigma * t32; + const double t34 = rho * rho; + const double t36 = 0.1e1 / t23 / t34; + const double t38 = t30 * t33 * t36; + const double t39 = 0.5e1 / 0.72e2 * t38; + const double t41 = lapl * t32; + const double t43 = 0.1e1 / t23 / rho; + const double t51 = lapl * lapl; + const double t52 = t51 * t31; + const double t53 = t34 * rho; + const double t55 = 0.1e1 / t22 / t53; + const double t58 = t50 * t52 * t55 / 0.2916e4; + const double t59 = t50 * sigma; + const double t60 = t34 * t34; + const double t62 = 0.1e1 / t22 / t60; + const double t63 = t31 * t62; + const double t64 = t63 * lapl; + const double t66 = t59 * t64 / 0.2592e4; + const double t67 = sigma * sigma; + const double t68 = t67 * t31; + const double t69 = t60 * rho; + const double t71 = 0.1e1 / t22 / t69; + const double t74 = t50 * t68 * t71 / 0.8748e4; + const double t75 = 0.1e1 + 0.5e1 / 0.648e3 * t38 + 0.5e1 / 0.54e2 * t30 * t41 * t43 + t58 - t66 + t74; + const double t76 = t58 - t66 + t74; + const double t77 = t76 * t76; + const double t78 = 0.1e1 + t39; + const double t79 = t78 * t78; + const double t80 = 0.1e1 / t79; + const double t82 = t77 * t80 + 0.1e1; + const double t83 = safe_math::sqrt( t82 ); + const double t84 = 0.1e1 / t83; + const double t86 = t75 * t84 - t39; + const double t88 = t86 <= t87; + const double t90 = t89 <= t86; + const double t92 = t86 < t87; + const double t93 = piecewise_functor_3( t92, t87, t86 ); + const double t94 = t93 < t89; + const double t95 = piecewise_functor_3( t94, t93, t89 ); + const double t96 = 0.1e1 / t95; + const double t98 = safe_math::exp( -t91 * t96 ); + const double t99 = a - t95; + const double t102 = safe_math::exp( -a / t99 ); + const double t103 = 0.1e1 + t102; + const double t104 = safe_math::pow( t103, b ); + const double t105 = t98 * t104; + const double t107 = safe_math::exp( -a * t96 ); + const double t108 = t107 + t102; + const double t109 = safe_math::pow( t108, b ); + const double t110 = 0.1e1 / t109; + const double t111 = t105 * t110; + const double t112 = piecewise_functor_5( t88, 0.0, t90, 1.0, t111 ); + const double t114 = t86 * t112 + t39; + const double t120 = t21 / t22; + const double t125 = 0.1e1 / t23 / t53; + const double t126 = t33 * t125; + const double t127 = t30 * t126; + const double t128 = 0.5e1 / 0.27e2 * t127; + const double t135 = 0.5e1 / 0.4374e4 * t50 * t52 * t62; + const double t136 = t31 * t71; + const double t137 = t136 * lapl; + const double t139 = 0.13e2 / 0.7776e4 * t59 * t137; + const double t140 = t60 * t34; + const double t142 = 0.1e1 / t22 / t140; + const double t145 = 0.4e1 / 0.6561e4 * t50 * t68 * t142; + const double t146 = -0.5e1 / 0.243e3 * t127 - 0.25e2 / 0.162e3 * t30 * t41 * t36 - t135 + t139 - t145; + const double t149 = 0.1e1 / t83 / t82; + const double t150 = t75 * t149; + const double t151 = t76 * t80; + const double t152 = -t135 + t139 - t145; + const double t155 = t79 * t78; + const double t156 = 0.1e1 / t155; + const double t158 = t77 * t156 * t25; + const double t159 = t29 * sigma; + const double t160 = t32 * t125; + const double t161 = t159 * t160; + const double t164 = 0.2e1 * t151 * t152 + 0.1e2 / 0.27e2 * t158 * t161; + const double t167 = t146 * t84 - t150 * t164 / 0.2e1 + t128; + const double t169 = t95 * t95; + const double t170 = 0.1e1 / t169; + const double t171 = t91 * t170; + const double t172 = piecewise_functor_3( t92, 0.0, t167 ); + const double t173 = piecewise_functor_3( t94, t172, 0.0 ); + const double t174 = t173 * t98; + const double t175 = t104 * t110; + const double t176 = t174 * t175; + const double t178 = t105 * t91; + const double t179 = t99 * t99; + const double t180 = 0.1e1 / t179; + const double t181 = t180 * t173; + const double t182 = 0.1e1 / t103; + const double t184 = t102 * t182 * t110; + const double t187 = a * t170; + const double t188 = t173 * t107; + const double t190 = a * t180; + const double t191 = t173 * t102; + const double t193 = t187 * t188 - t190 * t191; + const double t195 = 0.1e1 / t108; + const double t199 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * b * t193 * t195 - t178 * t181 * t184 + t171 * t176 ); + const double t201 = t167 * t112 + t86 * t199 - t128; + const double t206 = piecewise_functor_3( t3, 0.0, t8 * t120 * t114 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t201 ); + const double t209 = t32 * t36; + const double t210 = t30 * t209; + const double t211 = 0.5e1 / 0.72e2 * t210; + const double t213 = t50 * t64; + const double t214 = t213 / 0.2592e4; + const double t215 = sigma * t31; + const double t217 = t50 * t215 * t71; + const double t218 = t217 / 0.4374e4; + const double t219 = 0.5e1 / 0.648e3 * t210 - t214 + t218; + const double t221 = -t214 + t218; + const double t225 = t224 * t36; + const double t228 = 0.2e1 * t151 * t221 - 0.5e1 / 0.36e2 * t158 * t225; + const double t231 = t219 * t84 - t150 * t228 / 0.2e1 - t211; + const double t233 = piecewise_functor_3( t92, 0.0, t231 ); + const double t234 = piecewise_functor_3( t94, t233, 0.0 ); + const double t235 = t234 * t98; + const double t236 = t235 * t175; + const double t238 = t180 * t234; + const double t241 = t234 * t107; + const double t243 = t234 * t102; + const double t245 = t187 * t241 - t190 * t243; + const double t246 = b * t245; + const double t250 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t246 * t195 - t178 * t238 * t184 + t171 * t236 ); + const double t252 = t231 * t112 + t86 * t250 + t211; + const double t256 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t252 ); + const double t264 = t50 * lapl * t31 * t55 / 0.1458e4; + const double t267 = t50 * t215 * t62 / 0.2592e4; + const double t268 = 0.5e1 / 0.54e2 * t30 * t32 * t43 + t264 - t267; + const double t270 = t264 - t267; + const double t271 = t151 * t270; + const double t273 = -t150 * t271 + t268 * t84; + const double t275 = piecewise_functor_3( t92, 0.0, t273 ); + const double t276 = piecewise_functor_3( t94, t275, 0.0 ); + const double t277 = t276 * t98; + const double t278 = t277 * t175; + const double t280 = t180 * t276; + const double t283 = t276 * t107; + const double t285 = t276 * t102; + const double t287 = t187 * t283 - t190 * t285; + const double t288 = b * t287; + const double t292 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t195 * t288 - t178 * t184 * t280 + t171 * t278 ); + const double t294 = t112 * t273 + t292 * t86; + const double t298 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t294 ); + const double t303 = t21 / t22 / rho; + const double t311 = 0.1e1 / t23 / t60; + const double t312 = t33 * t311; + const double t313 = t30 * t312; + const double t314 = 0.55e2 / 0.81e2 * t313; + const double t321 = 0.65e2 / 0.13122e5 * t50 * t52 * t71; + const double t322 = t31 * t142; + const double t323 = t322 * lapl; + const double t325 = 0.13e2 / 0.1458e4 * t59 * t323; + const double t326 = t60 * t53; + const double t328 = 0.1e1 / t22 / t326; + const double t329 = t68 * t328; + const double t330 = t50 * t329; + const double t331 = 0.76e2 / 0.19683e5 * t330; + const double t332 = 0.55e2 / 0.729e3 * t313 + 0.1e3 / 0.243e3 * t30 * t41 * t125 + t321 - t325 + t331; + const double t334 = t146 * t149; + const double t336 = t82 * t82; + const double t338 = 0.1e1 / t83 / t336; + const double t339 = t75 * t338; + const double t340 = t164 * t164; + const double t343 = t152 * t152; + const double t346 = t76 * t156; + const double t347 = t152 * t25; + const double t348 = t346 * t347; + const double t351 = t321 - t325 + t331; + const double t354 = t79 * t79; + const double t355 = 0.1e1 / t354; + const double t356 = t77 * t355; + const double t357 = t356 * t47; + const double t358 = t49 * t67; + const double t359 = t31 * t328; + const double t360 = t358 * t359; + const double t363 = t32 * t311; + const double t364 = t159 * t363; + const double t367 = 0.2e1 * t343 * t80 + 0.4e2 / 0.27e2 * t348 * t161 + 0.2e1 * t151 * t351 + 0.1e3 / 0.243e3 * t357 * t360 - 0.11e3 / 0.81e2 * t158 * t364; + const double t370 = t332 * t84 - t334 * t164 + 0.3e1 / 0.4e1 * t339 * t340 - t150 * t367 / 0.2e1 - t314; + const double t374 = t169 * t95; + const double t375 = 0.1e1 / t374; + const double t376 = t91 * t375; + const double t377 = t173 * t173; + const double t378 = t377 * t98; + const double t379 = t378 * t175; + const double t382 = piecewise_functor_3( t92, 0.0, t370 ); + const double t383 = piecewise_functor_3( t94, t382, 0.0 ); + const double t384 = t383 * t98; + const double t385 = t384 * t175; + const double t390 = t169 * t169; + const double t391 = 0.1e1 / t390; + const double t392 = t389 * t391; + const double t395 = t170 * t377 * t98; + const double t397 = t104 * t180; + const double t398 = t397 * t184; + const double t402 = t170 * t173; + const double t403 = t401 * t402; + const double t405 = t110 * t193 * t195; + const double t406 = t105 * t405; + const double t409 = t105 * t389; + const double t410 = t179 * t179; + const double t411 = 0.1e1 / t410; + const double t412 = t411 * t377; + const double t413 = t102 * t102; + const double t414 = t103 * t103; + const double t415 = 0.1e1 / t414; + const double t416 = t413 * t415; + const double t417 = t416 * t110; + const double t418 = t412 * t417; + const double t420 = t179 * t99; + const double t421 = 0.1e1 / t420; + const double t422 = t421 * t377; + const double t426 = t180 * t383; + const double t430 = t105 * t429; + const double t435 = t105 * t401 * t180; + const double t436 = t191 * t182; + const double t437 = t436 * t405; + const double t440 = t193 * t193; + const double t442 = t108 * t108; + const double t443 = 0.1e1 / t442; + const double t446 = a * t375; + const double t447 = t377 * t107; + const double t452 = t387 * t391; + const double t454 = a * t421; + const double t455 = t377 * t102; + const double t458 = t383 * t102; + const double t460 = t387 * t411; + const double t462 = t107 * t187 * t383 - t190 * t458 - 0.2e1 * t446 * t447 + t447 * t452 - 0.2e1 * t454 * t455 + t455 * t460; + const double t463 = b * t462; + const double t469 = t111 * t388 * t440 * t443 + t111 * t440 * t443 * b - t111 * t195 * t463 - 0.2e1 * t178 * t184 * t422 - t178 * t184 * t426 + t184 * t412 * t430 - 0.2e1 * t389 * t395 * t398 + t171 * t385 - 0.2e1 * t376 * t379 + t379 * t392 - 0.2e1 * t403 * t406 + t409 * t418 - t418 * t430 + 0.2e1 * t435 * t437; + const double t470 = piecewise_functor_5( t88, 0.0, t90, 0.0, t469 ); + const double t472 = t112 * t370 + 0.2e1 * t167 * t199 + t470 * t86 + t314; + const double t477 = piecewise_functor_3( t3, 0.0, -t8 * t303 * t114 / 0.3e2 + t8 * t120 * t201 / 0.5e1 + 0.3e1 / 0.2e2 * t8 * t24 * t472 ); + const double t483 = t30 * t160; + const double t484 = 0.5e1 / 0.27e2 * t483; + const double t486 = t50 * t137; + const double t487 = 0.13e2 / 0.7776e4 * t486; + const double t488 = t215 * t142; + const double t489 = t50 * t488; + const double t490 = 0.8e1 / 0.6561e4 * t489; + const double t491 = -0.5e1 / 0.243e3 * t483 + t487 - t490; + const double t493 = t219 * t149; + const double t498 = t228 * t164; + const double t501 = t152 * t80; + const double t504 = t221 * t25; + const double t505 = t346 * t504; + const double t508 = t487 - t490; + const double t511 = t346 * t25; + const double t518 = t516 * t142 * sigma; + const double t521 = t224 * t125; + const double t524 = 0.2e1 * t501 * t221 + 0.2e2 / 0.27e2 * t505 * t161 + 0.2e1 * t151 * t508 - 0.5e1 / 0.18e2 * t511 * t224 * t36 * t152 - 0.25e2 / 0.162e3 * t357 * t518 + 0.1e2 / 0.27e2 * t158 * t521; + const double t527 = t491 * t84 - t493 * t164 / 0.2e1 - t334 * t228 / 0.2e1 + 0.3e1 / 0.4e1 * t339 * t498 - t150 * t524 / 0.2e1 + t484; + const double t531 = t375 * t234; + const double t532 = t91 * t531; + const double t535 = piecewise_functor_3( t92, 0.0, t527 ); + const double t536 = piecewise_functor_3( t94, t535, 0.0 ); + const double t537 = t536 * t98; + const double t538 = t537 * t175; + const double t540 = t391 * t234; + const double t541 = t389 * t540; + const double t543 = t170 * t234; + const double t544 = t543 * t98; + const double t545 = t389 * t544; + const double t547 = t397 * t173 * t184; + const double t550 = t401 * t543; + const double t553 = t105 * t389 * t411; + const double t554 = t173 * t413; + const double t556 = t415 * t234 * t110; + const double t557 = t554 * t556; + const double t560 = t105 * t91 * t421; + const double t561 = t182 * t110; + const double t562 = t561 * t173; + const double t563 = t243 * t562; + const double t566 = t180 * t536; + const double t570 = t105 * t429 * t411; + const double t573 = t243 * t182; + const double t574 = t573 * t405; + const double t576 = t110 * t245; + const double t577 = t576 * t195; + const double t578 = t105 * t577; + const double t580 = t436 * t577; + const double t582 = t388 * t245; + const double t583 = t443 * t193; + const double t586 = t241 * t173; + const double t589 = t536 * t107; + const double t592 = t243 * t173; + const double t595 = t536 * t102; + const double t598 = t187 * t589 - t190 * t595 - 0.2e1 * t446 * t586 + t452 * t586 - 0.2e1 * t454 * t592 + t460 * t592; + const double t599 = b * t598; + const double t604 = -t111 * t195 * t599 + t111 * t246 * t583 + t111 * t582 * t583 - t178 * t184 * t566 + t171 * t538 - 0.2e1 * t176 * t532 + t176 * t541 - t403 * t578 - t406 * t550 + t435 * t574 + t435 * t580 - 0.2e1 * t545 * t547 + t553 * t557 - t557 * t570 - 0.2e1 * t560 * t563 + t563 * t570; + const double t605 = piecewise_functor_5( t88, 0.0, t90, 0.0, t604 ); + const double t607 = t112 * t527 + t167 * t250 + t199 * t231 + t605 * t86 - t484; + const double t612 = piecewise_functor_3( t3, 0.0, t8 * t120 * t252 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t607 ); + const double t619 = 0.5e1 / 0.2187e4 * t213; + const double t620 = 0.13e2 / 0.7776e4 * t217; + const double t621 = -0.25e2 / 0.162e3 * t210 - t619 + t620; + const double t623 = t268 * t149; + const double t627 = t339 * t76; + const double t628 = t80 * t270; + const double t629 = t628 * t164; + const double t632 = t501 * t270; + const double t634 = t346 * t270; + const double t635 = t150 * t634; + const double t638 = -t619 + t620; + const double t639 = t151 * t638; + const double t641 = t621 * t84 - t623 * t164 / 0.2e1 - t334 * t271 + 0.3e1 / 0.2e1 * t627 * t629 - t150 * t632 - 0.1e2 / 0.27e2 * t635 * t127 - t150 * t639; + const double t645 = t375 * t276; + const double t646 = t91 * t645; + const double t649 = piecewise_functor_3( t92, 0.0, t641 ); + const double t650 = piecewise_functor_3( t94, t649, 0.0 ); + const double t651 = t650 * t98; + const double t652 = t651 * t175; + const double t654 = t391 * t276; + const double t655 = t389 * t654; + const double t657 = t170 * t276; + const double t658 = t657 * t98; + const double t659 = t389 * t658; + const double t662 = t401 * t657; + const double t665 = t415 * t276 * t110; + const double t666 = t554 * t665; + const double t668 = t285 * t562; + const double t671 = t180 * t650; + const double t676 = t285 * t182; + const double t677 = t676 * t405; + const double t679 = t110 * t287; + const double t680 = t679 * t195; + const double t681 = t105 * t680; + const double t683 = t436 * t680; + const double t685 = t388 * t287; + const double t688 = t283 * t173; + const double t691 = t650 * t107; + const double t694 = t285 * t173; + const double t697 = t650 * t102; + const double t700 = t187 * t691 - t190 * t697 - 0.2e1 * t446 * t688 + t452 * t688 - 0.2e1 * t454 * t694 + t460 * t694; + const double t701 = b * t700; + const double t706 = -t111 * t195 * t701 + t111 * t288 * t583 + t111 * t583 * t685 - t178 * t184 * t671 + t171 * t652 - 0.2e1 * t176 * t646 + t176 * t655 - t403 * t681 - t406 * t662 + t435 * t677 + t435 * t683 - 0.2e1 * t547 * t659 + t553 * t666 - 0.2e1 * t560 * t668 - t570 * t666 + t570 * t668; + const double t707 = piecewise_functor_5( t88, 0.0, t90, 0.0, t706 ); + const double t709 = t112 * t641 + t167 * t292 + t199 * t273 + t707 * t86; + const double t714 = piecewise_functor_3( t3, 0.0, t8 * t120 * t294 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t709 ); + const double t718 = t50 * t136 * t84; + const double t721 = t228 * t228; + const double t724 = t221 * t221; + const double t727 = t346 * t221; + const double t730 = t151 * t47; + const double t731 = t516 * t71; + const double t736 = 0.2e1 * t724 * t80 - 0.5e1 / 0.9e1 * t727 * t210 + t730 * t731 / 0.2187e4 + 0.25e2 / 0.432e3 * t357 * t731; + const double t739 = t718 / 0.4374e4 - t493 * t228 + 0.3e1 / 0.4e1 * t339 * t721 - t150 * t736 / 0.2e1; + const double t743 = t234 * t234; + const double t744 = t743 * t98; + const double t745 = t744 * t175; + const double t748 = piecewise_functor_3( t92, 0.0, t739 ); + const double t749 = piecewise_functor_3( t94, t748, 0.0 ); + const double t750 = t749 * t98; + const double t751 = t750 * t175; + const double t755 = t170 * t743 * t98; + const double t756 = t389 * t755; + const double t761 = t411 * t743; + const double t762 = t761 * t417; + const double t764 = t421 * t743; + const double t768 = t180 * t749; + const double t774 = t573 * t577; + const double t777 = t245 * t245; + const double t778 = t388 * t777; + const double t781 = t743 * t107; + const double t784 = t749 * t107; + const double t787 = t743 * t102; + const double t790 = t749 * t102; + const double t793 = t187 * t784 - t190 * t790 - 0.2e1 * t446 * t781 + t452 * t781 - 0.2e1 * t454 * t787 + t460 * t787; + const double t794 = b * t793; + const double t797 = b * t777; + const double t800 = -t111 * t195 * t794 + t111 * t443 * t778 + t111 * t443 * t797 - 0.2e1 * t178 * t184 * t764 - t178 * t184 * t768 + t184 * t430 * t761 + t171 * t751 - 0.2e1 * t376 * t745 + t392 * t745 - 0.2e1 * t398 * t756 + t409 * t762 - t430 * t762 + 0.2e1 * t435 * t774 - 0.2e1 * t550 * t578; + const double t801 = piecewise_functor_5( t88, 0.0, t90, 0.0, t800 ); + const double t803 = t112 * t739 + 0.2e1 * t231 * t250 + t801 * t86; + const double t807 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t803 ); + const double t810 = t50 * t63 * t84; + const double t815 = t628 * t228; + const double t818 = t221 * t80; + const double t819 = t818 * t270; + const double t821 = t150 * t346; + const double t822 = t270 * t25; + const double t823 = t822 * t225; + const double t826 = t150 * t151; + const double t827 = t50 * t63; + const double t828 = t826 * t827; + const double t830 = -t810 / 0.2592e4 - t623 * t228 / 0.2e1 - t493 * t271 + 0.3e1 / 0.2e1 * t627 * t815 - t150 * t819 + 0.5e1 / 0.36e2 * t821 * t823 + t828 / 0.2592e4; + const double t836 = piecewise_functor_3( t92, 0.0, t830 ); + const double t837 = piecewise_functor_3( t94, t836, 0.0 ); + const double t838 = t837 * t98; + const double t839 = t838 * t175; + const double t843 = t397 * t234 * t184; + const double t847 = t234 * t413; + const double t848 = t847 * t665; + const double t850 = t561 * t234; + const double t851 = t285 * t850; + const double t854 = t180 * t837; + const double t859 = t676 * t577; + const double t862 = t573 * t680; + const double t864 = t443 * t245; + const double t867 = t283 * t234; + const double t870 = t837 * t107; + const double t873 = t285 * t234; + const double t876 = t837 * t102; + const double t879 = t187 * t870 - t190 * t876 - 0.2e1 * t446 * t867 + t452 * t867 - 0.2e1 * t454 * t873 + t460 * t873; + const double t880 = b * t879; + const double t885 = -t111 * t195 * t880 + t111 * t288 * t864 + t111 * t685 * t864 - t178 * t184 * t854 + t171 * t839 - 0.2e1 * t236 * t646 + t236 * t655 + t435 * t859 + t435 * t862 - t550 * t681 + t553 * t848 - 0.2e1 * t560 * t851 - t570 * t848 + t570 * t851 - t578 * t662 - 0.2e1 * t659 * t843; + const double t886 = piecewise_functor_5( t88, 0.0, t90, 0.0, t885 ); + const double t888 = t112 * t830 + t231 * t292 + t250 * t273 + t86 * t886; + const double t892 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t888 ); + const double t894 = t31 * t55; + const double t900 = t270 * t270; + const double t901 = t356 * t900; + const double t904 = t900 * t80; + const double t906 = t50 * t894; + const double t909 = t50 * t894 * t84 / 0.1458e4 - 0.2e1 * t623 * t271 + 0.3e1 * t339 * t901 - t150 * t904 - t826 * t906 / 0.1458e4; + const double t913 = t276 * t276; + const double t914 = t913 * t98; + const double t915 = t914 * t175; + const double t918 = piecewise_functor_3( t92, 0.0, t909 ); + const double t919 = piecewise_functor_3( t94, t918, 0.0 ); + const double t920 = t919 * t98; + const double t921 = t920 * t175; + const double t925 = t170 * t913 * t98; + const double t926 = t389 * t925; + const double t931 = t411 * t913; + const double t932 = t931 * t417; + const double t934 = t421 * t913; + const double t944 = t676 * t680; + const double t947 = t287 * t287; + const double t948 = t388 * t947; + const double t951 = t913 * t107; + const double t954 = t919 * t107; + const double t957 = t913 * t102; + const double t960 = t919 * t102; + const double t963 = t187 * t954 - t190 * t960 - 0.2e1 * t446 * t951 + t452 * t951 - 0.2e1 * t454 * t957 + t460 * t957; + const double t964 = b * t963; + const double t967 = b * t947; + const double t970 = -t178 * t180 * t184 * t919 - t111 * t195 * t964 + t111 * t443 * t948 + t111 * t443 * t967 - 0.2e1 * t178 * t184 * t934 + t184 * t430 * t931 + t171 * t921 - 0.2e1 * t376 * t915 + t392 * t915 - 0.2e1 * t398 * t926 + t409 * t932 - t430 * t932 + 0.2e1 * t435 * t944 - 0.2e1 * t662 * t681; + const double t971 = piecewise_functor_5( t88, 0.0, t90, 0.0, t970 ); + const double t973 = t112 * t909 + 0.2e1 * t273 * t292 + t86 * t971; + const double t977 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t973 ); + + + v2rho2 = 0.2e1 * rho * t477 + 0.4e1 * t206; + v2rhosigma = 0.2e1 * rho * t612 + 0.2e1 * t256; + v2rholapl = 0.2e1 * rho * t714 + 0.2e1 * t298; + v2rhotau = 0.e0; + v2sigma2 = 0.2e1 * rho * t807; + v2sigmalapl = 0.2e1 * rho * t892; + v2sigmatau = 0.e0; + v2lapl2 = 0.2e1 * rho * t977; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(tau); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_pi; + constexpr double t25 = constants::m_cbrt_6; + constexpr double t26 = constants::m_pi_sq; + constexpr double t27 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t5 = t4 * t4; + constexpr double t28 = t27 * t27; + constexpr double t29 = 0.1e1 / t28; + constexpr double t30 = t25 * t29; + constexpr double t32 = t31 * t31; + constexpr double t47 = t25 * t25; + constexpr double t49 = 0.1e1 / t27 / t26; + constexpr double t50 = t47 * t49; + constexpr double t87 = a / 0.4e2; + constexpr double t89 = 0.39e2 / 0.4e2 * a; + constexpr double t91 = a * b; + constexpr double t224 = t29 * t32; + constexpr double t387 = a * a; + constexpr double t388 = b * b; + constexpr double t389 = t387 * t388; + constexpr double t401 = a * t388; + constexpr double t429 = b * t387; + constexpr double t516 = t49 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = t5 * t6 * M_PI; + const double t9 = 0.1e1 <= zeta_tol; + const double t10 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t9, t10, t9, -t10, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * t15; + const double t18 = safe_math::cbrt( t13 ); + const double t19 = t18 * t18; + const double t21 = piecewise_functor_3( t13 <= zeta_tol, t16 * zeta_tol, t19 * t13 ); + const double t22 = safe_math::cbrt( rho ); + const double t23 = t22 * t22; + const double t24 = t21 * t23; + const double t33 = sigma * t32; + const double t34 = rho * rho; + const double t36 = 0.1e1 / t23 / t34; + const double t38 = t30 * t33 * t36; + const double t39 = 0.5e1 / 0.72e2 * t38; + const double t41 = lapl * t32; + const double t43 = 0.1e1 / t23 / rho; + const double t51 = lapl * lapl; + const double t52 = t51 * t31; + const double t53 = t34 * rho; + const double t55 = 0.1e1 / t22 / t53; + const double t58 = t50 * t52 * t55 / 0.2916e4; + const double t59 = t50 * sigma; + const double t60 = t34 * t34; + const double t62 = 0.1e1 / t22 / t60; + const double t63 = t31 * t62; + const double t64 = t63 * lapl; + const double t66 = t59 * t64 / 0.2592e4; + const double t67 = sigma * sigma; + const double t68 = t67 * t31; + const double t69 = t60 * rho; + const double t71 = 0.1e1 / t22 / t69; + const double t74 = t50 * t68 * t71 / 0.8748e4; + const double t75 = 0.1e1 + 0.5e1 / 0.648e3 * t38 + 0.5e1 / 0.54e2 * t30 * t41 * t43 + t58 - t66 + t74; + const double t76 = t58 - t66 + t74; + const double t77 = t76 * t76; + const double t78 = 0.1e1 + t39; + const double t79 = t78 * t78; + const double t80 = 0.1e1 / t79; + const double t82 = t77 * t80 + 0.1e1; + const double t83 = safe_math::sqrt( t82 ); + const double t84 = 0.1e1 / t83; + const double t86 = t75 * t84 - t39; + const double t88 = t86 <= t87; + const double t90 = t89 <= t86; + const double t92 = t86 < t87; + const double t93 = piecewise_functor_3( t92, t87, t86 ); + const double t94 = t93 < t89; + const double t95 = piecewise_functor_3( t94, t93, t89 ); + const double t96 = 0.1e1 / t95; + const double t98 = safe_math::exp( -t91 * t96 ); + const double t99 = a - t95; + const double t102 = safe_math::exp( -a / t99 ); + const double t103 = 0.1e1 + t102; + const double t104 = safe_math::pow( t103, b ); + const double t105 = t98 * t104; + const double t107 = safe_math::exp( -a * t96 ); + const double t108 = t107 + t102; + const double t109 = safe_math::pow( t108, b ); + const double t110 = 0.1e1 / t109; + const double t111 = t105 * t110; + const double t112 = piecewise_functor_5( t88, 0.0, t90, 1.0, t111 ); + const double t114 = t86 * t112 + t39; + const double t118 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t114 ); + const double t120 = t21 / t22; + const double t125 = 0.1e1 / t23 / t53; + const double t126 = t33 * t125; + const double t127 = t30 * t126; + const double t128 = 0.5e1 / 0.27e2 * t127; + const double t135 = 0.5e1 / 0.4374e4 * t50 * t52 * t62; + const double t136 = t31 * t71; + const double t137 = t136 * lapl; + const double t139 = 0.13e2 / 0.7776e4 * t59 * t137; + const double t140 = t60 * t34; + const double t142 = 0.1e1 / t22 / t140; + const double t145 = 0.4e1 / 0.6561e4 * t50 * t68 * t142; + const double t146 = -0.5e1 / 0.243e3 * t127 - 0.25e2 / 0.162e3 * t30 * t41 * t36 - t135 + t139 - t145; + const double t149 = 0.1e1 / t83 / t82; + const double t150 = t75 * t149; + const double t151 = t76 * t80; + const double t152 = -t135 + t139 - t145; + const double t155 = t79 * t78; + const double t156 = 0.1e1 / t155; + const double t158 = t77 * t156 * t25; + const double t159 = t29 * sigma; + const double t160 = t32 * t125; + const double t161 = t159 * t160; + const double t164 = 0.2e1 * t151 * t152 + 0.1e2 / 0.27e2 * t158 * t161; + const double t167 = t146 * t84 - t150 * t164 / 0.2e1 + t128; + const double t169 = t95 * t95; + const double t170 = 0.1e1 / t169; + const double t171 = t91 * t170; + const double t172 = piecewise_functor_3( t92, 0.0, t167 ); + const double t173 = piecewise_functor_3( t94, t172, 0.0 ); + const double t174 = t173 * t98; + const double t175 = t104 * t110; + const double t176 = t174 * t175; + const double t178 = t105 * t91; + const double t179 = t99 * t99; + const double t180 = 0.1e1 / t179; + const double t181 = t180 * t173; + const double t182 = 0.1e1 / t103; + const double t184 = t102 * t182 * t110; + const double t187 = a * t170; + const double t188 = t173 * t107; + const double t190 = a * t180; + const double t191 = t173 * t102; + const double t193 = t187 * t188 - t190 * t191; + const double t195 = 0.1e1 / t108; + const double t199 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * b * t193 * t195 - t178 * t181 * t184 + t171 * t176 ); + const double t201 = t167 * t112 + t86 * t199 - t128; + const double t206 = piecewise_functor_3( t3, 0.0, t8 * t120 * t114 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t201 ); + const double t209 = t32 * t36; + const double t210 = t30 * t209; + const double t211 = 0.5e1 / 0.72e2 * t210; + const double t213 = t50 * t64; + const double t214 = t213 / 0.2592e4; + const double t215 = sigma * t31; + const double t217 = t50 * t215 * t71; + const double t218 = t217 / 0.4374e4; + const double t219 = 0.5e1 / 0.648e3 * t210 - t214 + t218; + const double t221 = -t214 + t218; + const double t225 = t224 * t36; + const double t228 = 0.2e1 * t151 * t221 - 0.5e1 / 0.36e2 * t158 * t225; + const double t231 = t219 * t84 - t150 * t228 / 0.2e1 - t211; + const double t233 = piecewise_functor_3( t92, 0.0, t231 ); + const double t234 = piecewise_functor_3( t94, t233, 0.0 ); + const double t235 = t234 * t98; + const double t236 = t235 * t175; + const double t238 = t180 * t234; + const double t241 = t234 * t107; + const double t243 = t234 * t102; + const double t245 = t187 * t241 - t190 * t243; + const double t246 = b * t245; + const double t250 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t246 * t195 - t178 * t238 * t184 + t171 * t236 ); + const double t252 = t231 * t112 + t86 * t250 + t211; + const double t256 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t252 ); + const double t264 = t50 * lapl * t31 * t55 / 0.1458e4; + const double t267 = t50 * t215 * t62 / 0.2592e4; + const double t268 = 0.5e1 / 0.54e2 * t30 * t32 * t43 + t264 - t267; + const double t270 = t264 - t267; + const double t271 = t151 * t270; + const double t273 = -t150 * t271 + t268 * t84; + const double t275 = piecewise_functor_3( t92, 0.0, t273 ); + const double t276 = piecewise_functor_3( t94, t275, 0.0 ); + const double t277 = t276 * t98; + const double t278 = t277 * t175; + const double t280 = t180 * t276; + const double t283 = t276 * t107; + const double t285 = t276 * t102; + const double t287 = t187 * t283 - t190 * t285; + const double t288 = b * t287; + const double t292 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t195 * t288 - t178 * t184 * t280 + t171 * t278 ); + const double t294 = t112 * t273 + t292 * t86; + const double t298 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t294 ); + const double t303 = t21 / t22 / rho; + const double t311 = 0.1e1 / t23 / t60; + const double t312 = t33 * t311; + const double t313 = t30 * t312; + const double t314 = 0.55e2 / 0.81e2 * t313; + const double t321 = 0.65e2 / 0.13122e5 * t50 * t52 * t71; + const double t322 = t31 * t142; + const double t323 = t322 * lapl; + const double t325 = 0.13e2 / 0.1458e4 * t59 * t323; + const double t326 = t60 * t53; + const double t328 = 0.1e1 / t22 / t326; + const double t329 = t68 * t328; + const double t330 = t50 * t329; + const double t331 = 0.76e2 / 0.19683e5 * t330; + const double t332 = 0.55e2 / 0.729e3 * t313 + 0.1e3 / 0.243e3 * t30 * t41 * t125 + t321 - t325 + t331; + const double t334 = t146 * t149; + const double t336 = t82 * t82; + const double t338 = 0.1e1 / t83 / t336; + const double t339 = t75 * t338; + const double t340 = t164 * t164; + const double t343 = t152 * t152; + const double t346 = t76 * t156; + const double t347 = t152 * t25; + const double t348 = t346 * t347; + const double t351 = t321 - t325 + t331; + const double t354 = t79 * t79; + const double t355 = 0.1e1 / t354; + const double t356 = t77 * t355; + const double t357 = t356 * t47; + const double t358 = t49 * t67; + const double t359 = t31 * t328; + const double t360 = t358 * t359; + const double t363 = t32 * t311; + const double t364 = t159 * t363; + const double t367 = 0.2e1 * t343 * t80 + 0.4e2 / 0.27e2 * t348 * t161 + 0.2e1 * t151 * t351 + 0.1e3 / 0.243e3 * t357 * t360 - 0.11e3 / 0.81e2 * t158 * t364; + const double t370 = t332 * t84 - t334 * t164 + 0.3e1 / 0.4e1 * t339 * t340 - t150 * t367 / 0.2e1 - t314; + const double t374 = t169 * t95; + const double t375 = 0.1e1 / t374; + const double t376 = t91 * t375; + const double t377 = t173 * t173; + const double t378 = t377 * t98; + const double t379 = t378 * t175; + const double t382 = piecewise_functor_3( t92, 0.0, t370 ); + const double t383 = piecewise_functor_3( t94, t382, 0.0 ); + const double t384 = t383 * t98; + const double t385 = t384 * t175; + const double t390 = t169 * t169; + const double t391 = 0.1e1 / t390; + const double t392 = t389 * t391; + const double t395 = t170 * t377 * t98; + const double t397 = t104 * t180; + const double t398 = t397 * t184; + const double t402 = t170 * t173; + const double t403 = t401 * t402; + const double t405 = t110 * t193 * t195; + const double t406 = t105 * t405; + const double t409 = t105 * t389; + const double t410 = t179 * t179; + const double t411 = 0.1e1 / t410; + const double t412 = t411 * t377; + const double t413 = t102 * t102; + const double t414 = t103 * t103; + const double t415 = 0.1e1 / t414; + const double t416 = t413 * t415; + const double t417 = t416 * t110; + const double t418 = t412 * t417; + const double t420 = t179 * t99; + const double t421 = 0.1e1 / t420; + const double t422 = t421 * t377; + const double t426 = t180 * t383; + const double t430 = t105 * t429; + const double t435 = t105 * t401 * t180; + const double t436 = t191 * t182; + const double t437 = t436 * t405; + const double t440 = t193 * t193; + const double t442 = t108 * t108; + const double t443 = 0.1e1 / t442; + const double t446 = a * t375; + const double t447 = t377 * t107; + const double t452 = t387 * t391; + const double t454 = a * t421; + const double t455 = t377 * t102; + const double t458 = t383 * t102; + const double t460 = t387 * t411; + const double t462 = t107 * t187 * t383 - t190 * t458 - 0.2e1 * t446 * t447 + t447 * t452 - 0.2e1 * t454 * t455 + t455 * t460; + const double t463 = b * t462; + const double t469 = t111 * t388 * t440 * t443 + t111 * t440 * t443 * b - t111 * t195 * t463 - 0.2e1 * t178 * t184 * t422 - t178 * t184 * t426 + t184 * t412 * t430 - 0.2e1 * t389 * t395 * t398 + t171 * t385 - 0.2e1 * t376 * t379 + t379 * t392 - 0.2e1 * t403 * t406 + t409 * t418 - t418 * t430 + 0.2e1 * t435 * t437; + const double t470 = piecewise_functor_5( t88, 0.0, t90, 0.0, t469 ); + const double t472 = t112 * t370 + 0.2e1 * t167 * t199 + t470 * t86 + t314; + const double t477 = piecewise_functor_3( t3, 0.0, -t8 * t303 * t114 / 0.3e2 + t8 * t120 * t201 / 0.5e1 + 0.3e1 / 0.2e2 * t8 * t24 * t472 ); + const double t483 = t30 * t160; + const double t484 = 0.5e1 / 0.27e2 * t483; + const double t486 = t50 * t137; + const double t487 = 0.13e2 / 0.7776e4 * t486; + const double t488 = t215 * t142; + const double t489 = t50 * t488; + const double t490 = 0.8e1 / 0.6561e4 * t489; + const double t491 = -0.5e1 / 0.243e3 * t483 + t487 - t490; + const double t493 = t219 * t149; + const double t498 = t228 * t164; + const double t501 = t152 * t80; + const double t504 = t221 * t25; + const double t505 = t346 * t504; + const double t508 = t487 - t490; + const double t511 = t346 * t25; + const double t518 = t516 * t142 * sigma; + const double t521 = t224 * t125; + const double t524 = 0.2e1 * t501 * t221 + 0.2e2 / 0.27e2 * t505 * t161 + 0.2e1 * t151 * t508 - 0.5e1 / 0.18e2 * t511 * t224 * t36 * t152 - 0.25e2 / 0.162e3 * t357 * t518 + 0.1e2 / 0.27e2 * t158 * t521; + const double t527 = t491 * t84 - t493 * t164 / 0.2e1 - t334 * t228 / 0.2e1 + 0.3e1 / 0.4e1 * t339 * t498 - t150 * t524 / 0.2e1 + t484; + const double t531 = t375 * t234; + const double t532 = t91 * t531; + const double t535 = piecewise_functor_3( t92, 0.0, t527 ); + const double t536 = piecewise_functor_3( t94, t535, 0.0 ); + const double t537 = t536 * t98; + const double t538 = t537 * t175; + const double t540 = t391 * t234; + const double t541 = t389 * t540; + const double t543 = t170 * t234; + const double t544 = t543 * t98; + const double t545 = t389 * t544; + const double t547 = t397 * t173 * t184; + const double t550 = t401 * t543; + const double t553 = t105 * t389 * t411; + const double t554 = t173 * t413; + const double t556 = t415 * t234 * t110; + const double t557 = t554 * t556; + const double t560 = t105 * t91 * t421; + const double t561 = t182 * t110; + const double t562 = t561 * t173; + const double t563 = t243 * t562; + const double t566 = t180 * t536; + const double t570 = t105 * t429 * t411; + const double t573 = t243 * t182; + const double t574 = t573 * t405; + const double t576 = t110 * t245; + const double t577 = t576 * t195; + const double t578 = t105 * t577; + const double t580 = t436 * t577; + const double t582 = t388 * t245; + const double t583 = t443 * t193; + const double t586 = t241 * t173; + const double t589 = t536 * t107; + const double t592 = t243 * t173; + const double t595 = t536 * t102; + const double t598 = t187 * t589 - t190 * t595 - 0.2e1 * t446 * t586 + t452 * t586 - 0.2e1 * t454 * t592 + t460 * t592; + const double t599 = b * t598; + const double t604 = -t111 * t195 * t599 + t111 * t246 * t583 + t111 * t582 * t583 - t178 * t184 * t566 + t171 * t538 - 0.2e1 * t176 * t532 + t176 * t541 - t403 * t578 - t406 * t550 + t435 * t574 + t435 * t580 - 0.2e1 * t545 * t547 + t553 * t557 - t557 * t570 - 0.2e1 * t560 * t563 + t563 * t570; + const double t605 = piecewise_functor_5( t88, 0.0, t90, 0.0, t604 ); + const double t607 = t112 * t527 + t167 * t250 + t199 * t231 + t605 * t86 - t484; + const double t612 = piecewise_functor_3( t3, 0.0, t8 * t120 * t252 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t607 ); + const double t619 = 0.5e1 / 0.2187e4 * t213; + const double t620 = 0.13e2 / 0.7776e4 * t217; + const double t621 = -0.25e2 / 0.162e3 * t210 - t619 + t620; + const double t623 = t268 * t149; + const double t627 = t339 * t76; + const double t628 = t80 * t270; + const double t629 = t628 * t164; + const double t632 = t501 * t270; + const double t634 = t346 * t270; + const double t635 = t150 * t634; + const double t638 = -t619 + t620; + const double t639 = t151 * t638; + const double t641 = t621 * t84 - t623 * t164 / 0.2e1 - t334 * t271 + 0.3e1 / 0.2e1 * t627 * t629 - t150 * t632 - 0.1e2 / 0.27e2 * t635 * t127 - t150 * t639; + const double t645 = t375 * t276; + const double t646 = t91 * t645; + const double t649 = piecewise_functor_3( t92, 0.0, t641 ); + const double t650 = piecewise_functor_3( t94, t649, 0.0 ); + const double t651 = t650 * t98; + const double t652 = t651 * t175; + const double t654 = t391 * t276; + const double t655 = t389 * t654; + const double t657 = t170 * t276; + const double t658 = t657 * t98; + const double t659 = t389 * t658; + const double t662 = t401 * t657; + const double t665 = t415 * t276 * t110; + const double t666 = t554 * t665; + const double t668 = t285 * t562; + const double t671 = t180 * t650; + const double t676 = t285 * t182; + const double t677 = t676 * t405; + const double t679 = t110 * t287; + const double t680 = t679 * t195; + const double t681 = t105 * t680; + const double t683 = t436 * t680; + const double t685 = t388 * t287; + const double t688 = t283 * t173; + const double t691 = t650 * t107; + const double t694 = t285 * t173; + const double t697 = t650 * t102; + const double t700 = t187 * t691 - t190 * t697 - 0.2e1 * t446 * t688 + t452 * t688 - 0.2e1 * t454 * t694 + t460 * t694; + const double t701 = b * t700; + const double t706 = -t111 * t195 * t701 + t111 * t288 * t583 + t111 * t583 * t685 - t178 * t184 * t671 + t171 * t652 - 0.2e1 * t176 * t646 + t176 * t655 - t403 * t681 - t406 * t662 + t435 * t677 + t435 * t683 - 0.2e1 * t547 * t659 + t553 * t666 - 0.2e1 * t560 * t668 - t570 * t666 + t570 * t668; + const double t707 = piecewise_functor_5( t88, 0.0, t90, 0.0, t706 ); + const double t709 = t112 * t641 + t167 * t292 + t199 * t273 + t707 * t86; + const double t714 = piecewise_functor_3( t3, 0.0, t8 * t120 * t294 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t709 ); + const double t718 = t50 * t136 * t84; + const double t721 = t228 * t228; + const double t724 = t221 * t221; + const double t727 = t346 * t221; + const double t730 = t151 * t47; + const double t731 = t516 * t71; + const double t736 = 0.2e1 * t724 * t80 - 0.5e1 / 0.9e1 * t727 * t210 + t730 * t731 / 0.2187e4 + 0.25e2 / 0.432e3 * t357 * t731; + const double t739 = t718 / 0.4374e4 - t493 * t228 + 0.3e1 / 0.4e1 * t339 * t721 - t150 * t736 / 0.2e1; + const double t743 = t234 * t234; + const double t744 = t743 * t98; + const double t745 = t744 * t175; + const double t748 = piecewise_functor_3( t92, 0.0, t739 ); + const double t749 = piecewise_functor_3( t94, t748, 0.0 ); + const double t750 = t749 * t98; + const double t751 = t750 * t175; + const double t755 = t170 * t743 * t98; + const double t756 = t389 * t755; + const double t761 = t411 * t743; + const double t762 = t761 * t417; + const double t764 = t421 * t743; + const double t768 = t180 * t749; + const double t774 = t573 * t577; + const double t777 = t245 * t245; + const double t778 = t388 * t777; + const double t781 = t743 * t107; + const double t784 = t749 * t107; + const double t787 = t743 * t102; + const double t790 = t749 * t102; + const double t793 = t187 * t784 - t190 * t790 - 0.2e1 * t446 * t781 + t452 * t781 - 0.2e1 * t454 * t787 + t460 * t787; + const double t794 = b * t793; + const double t797 = b * t777; + const double t800 = -t111 * t195 * t794 + t111 * t443 * t778 + t111 * t443 * t797 - 0.2e1 * t178 * t184 * t764 - t178 * t184 * t768 + t184 * t430 * t761 + t171 * t751 - 0.2e1 * t376 * t745 + t392 * t745 - 0.2e1 * t398 * t756 + t409 * t762 - t430 * t762 + 0.2e1 * t435 * t774 - 0.2e1 * t550 * t578; + const double t801 = piecewise_functor_5( t88, 0.0, t90, 0.0, t800 ); + const double t803 = t112 * t739 + 0.2e1 * t231 * t250 + t801 * t86; + const double t807 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t803 ); + const double t810 = t50 * t63 * t84; + const double t815 = t628 * t228; + const double t818 = t221 * t80; + const double t819 = t818 * t270; + const double t821 = t150 * t346; + const double t822 = t270 * t25; + const double t823 = t822 * t225; + const double t826 = t150 * t151; + const double t827 = t50 * t63; + const double t828 = t826 * t827; + const double t830 = -t810 / 0.2592e4 - t623 * t228 / 0.2e1 - t493 * t271 + 0.3e1 / 0.2e1 * t627 * t815 - t150 * t819 + 0.5e1 / 0.36e2 * t821 * t823 + t828 / 0.2592e4; + const double t836 = piecewise_functor_3( t92, 0.0, t830 ); + const double t837 = piecewise_functor_3( t94, t836, 0.0 ); + const double t838 = t837 * t98; + const double t839 = t838 * t175; + const double t843 = t397 * t234 * t184; + const double t847 = t234 * t413; + const double t848 = t847 * t665; + const double t850 = t561 * t234; + const double t851 = t285 * t850; + const double t854 = t180 * t837; + const double t859 = t676 * t577; + const double t862 = t573 * t680; + const double t864 = t443 * t245; + const double t867 = t283 * t234; + const double t870 = t837 * t107; + const double t873 = t285 * t234; + const double t876 = t837 * t102; + const double t879 = t187 * t870 - t190 * t876 - 0.2e1 * t446 * t867 + t452 * t867 - 0.2e1 * t454 * t873 + t460 * t873; + const double t880 = b * t879; + const double t885 = -t111 * t195 * t880 + t111 * t288 * t864 + t111 * t685 * t864 - t178 * t184 * t854 + t171 * t839 - 0.2e1 * t236 * t646 + t236 * t655 + t435 * t859 + t435 * t862 - t550 * t681 + t553 * t848 - 0.2e1 * t560 * t851 - t570 * t848 + t570 * t851 - t578 * t662 - 0.2e1 * t659 * t843; + const double t886 = piecewise_functor_5( t88, 0.0, t90, 0.0, t885 ); + const double t888 = t112 * t830 + t231 * t292 + t250 * t273 + t86 * t886; + const double t892 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t888 ); + const double t894 = t31 * t55; + const double t900 = t270 * t270; + const double t901 = t356 * t900; + const double t904 = t900 * t80; + const double t906 = t50 * t894; + const double t909 = t50 * t894 * t84 / 0.1458e4 - 0.2e1 * t623 * t271 + 0.3e1 * t339 * t901 - t150 * t904 - t826 * t906 / 0.1458e4; + const double t913 = t276 * t276; + const double t914 = t913 * t98; + const double t915 = t914 * t175; + const double t918 = piecewise_functor_3( t92, 0.0, t909 ); + const double t919 = piecewise_functor_3( t94, t918, 0.0 ); + const double t920 = t919 * t98; + const double t921 = t920 * t175; + const double t925 = t170 * t913 * t98; + const double t926 = t389 * t925; + const double t931 = t411 * t913; + const double t932 = t931 * t417; + const double t934 = t421 * t913; + const double t944 = t676 * t680; + const double t947 = t287 * t287; + const double t948 = t388 * t947; + const double t951 = t913 * t107; + const double t954 = t919 * t107; + const double t957 = t913 * t102; + const double t960 = t919 * t102; + const double t963 = t187 * t954 - t190 * t960 - 0.2e1 * t446 * t951 + t452 * t951 - 0.2e1 * t454 * t957 + t460 * t957; + const double t964 = b * t963; + const double t967 = b * t947; + const double t970 = -t178 * t180 * t184 * t919 - t111 * t195 * t964 + t111 * t443 * t948 + t111 * t443 * t967 - 0.2e1 * t178 * t184 * t934 + t184 * t430 * t931 + t171 * t921 - 0.2e1 * t376 * t915 + t392 * t915 - 0.2e1 * t398 * t926 + t409 * t932 - t430 * t932 + 0.2e1 * t435 * t944 - 0.2e1 * t662 * t681; + const double t971 = piecewise_functor_5( t88, 0.0, t90, 0.0, t970 ); + const double t973 = t112 * t909 + 0.2e1 * t273 * t292 + t86 * t971; + const double t977 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t973 ); + + + vrho = 0.2e1 * rho * t206 + 0.2e1 * t118; + vsigma = 0.2e1 * rho * t256; + vlapl = 0.2e1 * rho * t298; + vtau = 0.e0; + v2rho2 = 0.2e1 * rho * t477 + 0.4e1 * t206; + v2rhosigma = 0.2e1 * rho * t612 + 0.2e1 * t256; + v2rholapl = 0.2e1 * rho * t714 + 0.2e1 * t298; + v2rhotau = 0.e0; + v2sigma2 = 0.2e1 * rho * t807; + v2sigmalapl = 0.2e1 * rho * t892; + v2sigmatau = 0.e0; + v2lapl2 = 0.2e1 * rho * t977; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(tau_a); + (void)(tau_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t33 = constants::m_cbrt_6; + constexpr double t34 = constants::m_pi_sq; + constexpr double t35 = constants::m_cbrt_pi_sq; + constexpr double t4 = t3 * t3; + constexpr double t36 = t35 * t35; + constexpr double t37 = 0.1e1 / t36; + constexpr double t38 = t33 * t37; + constexpr double t53 = t33 * t33; + constexpr double t55 = 0.1e1 / t35 / t34; + constexpr double t56 = t53 * t55; + constexpr double t90 = a / 0.4e2; + constexpr double t92 = 0.39e2 / 0.4e2 * a; + constexpr double t94 = a * b; + + + const double t2 = rho_a <= dens_tol; + const double t7 = t4 * t5 * M_PI; + const double t8 = rho_a + rho_b; + const double t9 = 0.1e1 / t8; + const double t12 = 0.2e1 * rho_a * t9 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t9 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t18 * t9 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * t23; + const double t25 = t24 * zeta_tol; + const double t26 = safe_math::cbrt( t21 ); + const double t27 = t26 * t26; + const double t29 = piecewise_functor_3( t22, t25, t27 * t21 ); + const double t30 = safe_math::cbrt( t8 ); + const double t31 = t30 * t30; + const double t32 = t29 * t31; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t45 = t38 * sigma_aa * t43; + const double t46 = 0.5e1 / 0.72e2 * t45; + const double t49 = 0.1e1 / t41 / rho_a; + const double t57 = lapl_a * lapl_a; + const double t58 = t39 * rho_a; + const double t60 = 0.1e1 / t40 / t58; + const double t63 = t56 * t57 * t60 / 0.5832e4; + const double t64 = t39 * t39; + const double t66 = 0.1e1 / t40 / t64; + const double t67 = sigma_aa * t66; + const double t70 = t56 * t67 * lapl_a / 0.5184e4; + const double t71 = sigma_aa * sigma_aa; + const double t72 = t64 * rho_a; + const double t74 = 0.1e1 / t40 / t72; + const double t77 = t56 * t71 * t74 / 0.17496e5; + const double t78 = 0.1e1 + 0.5e1 / 0.648e3 * t45 + 0.5e1 / 0.54e2 * t38 * lapl_a * t49 + t63 - t70 + t77; + const double t79 = t63 - t70 + t77; + const double t80 = t79 * t79; + const double t81 = 0.1e1 + t46; + const double t82 = t81 * t81; + const double t83 = 0.1e1 / t82; + const double t85 = t80 * t83 + 0.1e1; + const double t86 = safe_math::sqrt( t85 ); + const double t87 = 0.1e1 / t86; + const double t89 = t78 * t87 - t46; + const double t91 = t89 <= t90; + const double t93 = t92 <= t89; + const double t95 = t89 < t90; + const double t96 = piecewise_functor_3( t95, t90, t89 ); + const double t97 = t96 < t92; + const double t98 = piecewise_functor_3( t97, t96, t92 ); + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t94 * t99 ); + const double t102 = a - t98; + const double t105 = safe_math::exp( -a / t102 ); + const double t106 = 0.1e1 + t105; + const double t107 = safe_math::pow( t106, b ); + const double t108 = t101 * t107; + const double t110 = safe_math::exp( -a * t99 ); + const double t111 = t110 + t105; + const double t112 = safe_math::pow( t111, b ); + const double t113 = 0.1e1 / t112; + const double t114 = t108 * t113; + const double t115 = piecewise_functor_5( t91, 0.0, t93, 1.0, t114 ); + const double t117 = t89 * t115 + t46; + const double t121 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t117 ); + const double t122 = rho_b <= dens_tol; + const double t123 = -t18; + const double t125 = piecewise_functor_5( t16, t13, t12, t17, t123 * t9 ); + const double t126 = 0.1e1 + t125; + const double t127 = t126 <= zeta_tol; + const double t128 = safe_math::cbrt( t126 ); + const double t129 = t128 * t128; + const double t131 = piecewise_functor_3( t127, t25, t129 * t126 ); + const double t132 = t131 * t31; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t139 = t38 * sigma_bb * t137; + const double t140 = 0.5e1 / 0.72e2 * t139; + const double t143 = 0.1e1 / t135 / rho_b; + const double t147 = lapl_b * lapl_b; + const double t148 = t133 * rho_b; + const double t150 = 0.1e1 / t134 / t148; + const double t153 = t56 * t147 * t150 / 0.5832e4; + const double t154 = t133 * t133; + const double t156 = 0.1e1 / t134 / t154; + const double t157 = sigma_bb * t156; + const double t160 = t56 * t157 * lapl_b / 0.5184e4; + const double t161 = sigma_bb * sigma_bb; + const double t162 = t154 * rho_b; + const double t164 = 0.1e1 / t134 / t162; + const double t167 = t56 * t161 * t164 / 0.17496e5; + const double t168 = 0.1e1 + 0.5e1 / 0.648e3 * t139 + 0.5e1 / 0.54e2 * t38 * lapl_b * t143 + t153 - t160 + t167; + const double t169 = t153 - t160 + t167; + const double t170 = t169 * t169; + const double t171 = 0.1e1 + t140; + const double t172 = t171 * t171; + const double t173 = 0.1e1 / t172; + const double t175 = t170 * t173 + 0.1e1; + const double t176 = safe_math::sqrt( t175 ); + const double t177 = 0.1e1 / t176; + const double t179 = t168 * t177 - t140; + const double t180 = t179 <= t90; + const double t181 = t92 <= t179; + const double t182 = t179 < t90; + const double t183 = piecewise_functor_3( t182, t90, t179 ); + const double t184 = t183 < t92; + const double t185 = piecewise_functor_3( t184, t183, t92 ); + const double t186 = 0.1e1 / t185; + const double t188 = safe_math::exp( -t94 * t186 ); + const double t189 = a - t185; + const double t192 = safe_math::exp( -a / t189 ); + const double t193 = 0.1e1 + t192; + const double t194 = safe_math::pow( t193, b ); + const double t195 = t188 * t194; + const double t197 = safe_math::exp( -a * t186 ); + const double t198 = t197 + t192; + const double t199 = safe_math::pow( t198, b ); + const double t200 = 0.1e1 / t199; + const double t201 = t195 * t200; + const double t202 = piecewise_functor_5( t180, 0.0, t181, 1.0, t201 ); + const double t204 = t179 * t202 + t140; + const double t208 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t204 ); + + + eps = t121 + t208; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(tau_a); + (void)(tau_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t33 = constants::m_cbrt_6; + constexpr double t34 = constants::m_pi_sq; + constexpr double t35 = constants::m_cbrt_pi_sq; + constexpr double t4 = t3 * t3; + constexpr double t36 = t35 * t35; + constexpr double t37 = 0.1e1 / t36; + constexpr double t38 = t33 * t37; + constexpr double t53 = t33 * t33; + constexpr double t55 = 0.1e1 / t35 / t34; + constexpr double t56 = t53 * t55; + constexpr double t90 = a / 0.4e2; + constexpr double t92 = 0.39e2 / 0.4e2 * a; + constexpr double t94 = a * b; + + + const double t2 = rho_a <= dens_tol; + const double t7 = t4 * t5 * M_PI; + const double t8 = rho_a + rho_b; + const double t9 = 0.1e1 / t8; + const double t12 = 0.2e1 * rho_a * t9 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t9 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t18 * t9 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * t23; + const double t25 = t24 * zeta_tol; + const double t26 = safe_math::cbrt( t21 ); + const double t27 = t26 * t26; + const double t29 = piecewise_functor_3( t22, t25, t27 * t21 ); + const double t30 = safe_math::cbrt( t8 ); + const double t31 = t30 * t30; + const double t32 = t29 * t31; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t45 = t38 * sigma_aa * t43; + const double t46 = 0.5e1 / 0.72e2 * t45; + const double t49 = 0.1e1 / t41 / rho_a; + const double t57 = lapl_a * lapl_a; + const double t58 = t39 * rho_a; + const double t60 = 0.1e1 / t40 / t58; + const double t63 = t56 * t57 * t60 / 0.5832e4; + const double t64 = t39 * t39; + const double t66 = 0.1e1 / t40 / t64; + const double t67 = sigma_aa * t66; + const double t70 = t56 * t67 * lapl_a / 0.5184e4; + const double t71 = sigma_aa * sigma_aa; + const double t72 = t64 * rho_a; + const double t74 = 0.1e1 / t40 / t72; + const double t77 = t56 * t71 * t74 / 0.17496e5; + const double t78 = 0.1e1 + 0.5e1 / 0.648e3 * t45 + 0.5e1 / 0.54e2 * t38 * lapl_a * t49 + t63 - t70 + t77; + const double t79 = t63 - t70 + t77; + const double t80 = t79 * t79; + const double t81 = 0.1e1 + t46; + const double t82 = t81 * t81; + const double t83 = 0.1e1 / t82; + const double t85 = t80 * t83 + 0.1e1; + const double t86 = safe_math::sqrt( t85 ); + const double t87 = 0.1e1 / t86; + const double t89 = t78 * t87 - t46; + const double t91 = t89 <= t90; + const double t93 = t92 <= t89; + const double t95 = t89 < t90; + const double t96 = piecewise_functor_3( t95, t90, t89 ); + const double t97 = t96 < t92; + const double t98 = piecewise_functor_3( t97, t96, t92 ); + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t94 * t99 ); + const double t102 = a - t98; + const double t105 = safe_math::exp( -a / t102 ); + const double t106 = 0.1e1 + t105; + const double t107 = safe_math::pow( t106, b ); + const double t108 = t101 * t107; + const double t110 = safe_math::exp( -a * t99 ); + const double t111 = t110 + t105; + const double t112 = safe_math::pow( t111, b ); + const double t113 = 0.1e1 / t112; + const double t114 = t108 * t113; + const double t115 = piecewise_functor_5( t91, 0.0, t93, 1.0, t114 ); + const double t117 = t89 * t115 + t46; + const double t121 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t117 ); + const double t122 = rho_b <= dens_tol; + const double t123 = -t18; + const double t125 = piecewise_functor_5( t16, t13, t12, t17, t123 * t9 ); + const double t126 = 0.1e1 + t125; + const double t127 = t126 <= zeta_tol; + const double t128 = safe_math::cbrt( t126 ); + const double t129 = t128 * t128; + const double t131 = piecewise_functor_3( t127, t25, t129 * t126 ); + const double t132 = t131 * t31; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t139 = t38 * sigma_bb * t137; + const double t140 = 0.5e1 / 0.72e2 * t139; + const double t143 = 0.1e1 / t135 / rho_b; + const double t147 = lapl_b * lapl_b; + const double t148 = t133 * rho_b; + const double t150 = 0.1e1 / t134 / t148; + const double t153 = t56 * t147 * t150 / 0.5832e4; + const double t154 = t133 * t133; + const double t156 = 0.1e1 / t134 / t154; + const double t157 = sigma_bb * t156; + const double t160 = t56 * t157 * lapl_b / 0.5184e4; + const double t161 = sigma_bb * sigma_bb; + const double t162 = t154 * rho_b; + const double t164 = 0.1e1 / t134 / t162; + const double t167 = t56 * t161 * t164 / 0.17496e5; + const double t168 = 0.1e1 + 0.5e1 / 0.648e3 * t139 + 0.5e1 / 0.54e2 * t38 * lapl_b * t143 + t153 - t160 + t167; + const double t169 = t153 - t160 + t167; + const double t170 = t169 * t169; + const double t171 = 0.1e1 + t140; + const double t172 = t171 * t171; + const double t173 = 0.1e1 / t172; + const double t175 = t170 * t173 + 0.1e1; + const double t176 = safe_math::sqrt( t175 ); + const double t177 = 0.1e1 / t176; + const double t179 = t168 * t177 - t140; + const double t180 = t179 <= t90; + const double t181 = t92 <= t179; + const double t182 = t179 < t90; + const double t183 = piecewise_functor_3( t182, t90, t179 ); + const double t184 = t183 < t92; + const double t185 = piecewise_functor_3( t184, t183, t92 ); + const double t186 = 0.1e1 / t185; + const double t188 = safe_math::exp( -t94 * t186 ); + const double t189 = a - t185; + const double t192 = safe_math::exp( -a / t189 ); + const double t193 = 0.1e1 + t192; + const double t194 = safe_math::pow( t193, b ); + const double t195 = t188 * t194; + const double t197 = safe_math::exp( -a * t186 ); + const double t198 = t197 + t192; + const double t199 = safe_math::pow( t198, b ); + const double t200 = 0.1e1 / t199; + const double t201 = t195 * t200; + const double t202 = piecewise_functor_5( t180, 0.0, t181, 1.0, t201 ); + const double t204 = t179 * t202 + t140; + const double t208 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t204 ); + const double t209 = t8 * t8; + const double t210 = 0.1e1 / t209; + const double t211 = t18 * t210; + const double t213 = piecewise_functor_5( t12, 0.0, t16, 0.0, t9 - t211 ); + const double t216 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t213 ); + const double t217 = t216 * t31; + const double t221 = 0.1e1 / t30; + const double t222 = t29 * t221; + const double t225 = t7 * t222 * t117 / 0.1e2; + const double t227 = 0.1e1 / t41 / t58; + const double t228 = sigma_aa * t227; + const double t229 = t38 * t228; + const double t230 = 0.5e1 / 0.27e2 * t229; + const double t237 = 0.5e1 / 0.8748e4 * t56 * t57 * t66; + const double t238 = sigma_aa * t74; + const double t241 = 0.13e2 / 0.15552e5 * t56 * t238 * lapl_a; + const double t242 = t64 * t39; + const double t244 = 0.1e1 / t40 / t242; + const double t247 = 0.2e1 / 0.6561e4 * t56 * t71 * t244; + const double t248 = -0.5e1 / 0.243e3 * t229 - 0.25e2 / 0.162e3 * t38 * lapl_a * t43 - t237 + t241 - t247; + const double t251 = 0.1e1 / t86 / t85; + const double t252 = t78 * t251; + const double t253 = t79 * t83; + const double t254 = -t237 + t241 - t247; + const double t257 = t82 * t81; + const double t258 = 0.1e1 / t257; + const double t259 = t80 * t258; + const double t260 = t259 * t33; + const double t261 = t37 * sigma_aa; + const double t262 = t261 * t227; + const double t265 = 0.2e1 * t253 * t254 + 0.1e2 / 0.27e2 * t260 * t262; + const double t268 = t248 * t87 - t252 * t265 / 0.2e1 + t230; + const double t270 = t98 * t98; + const double t271 = 0.1e1 / t270; + const double t272 = t94 * t271; + const double t273 = piecewise_functor_3( t95, 0.0, t268 ); + const double t274 = piecewise_functor_3( t97, t273, 0.0 ); + const double t275 = t274 * t101; + const double t276 = t107 * t113; + const double t277 = t275 * t276; + const double t279 = t108 * t94; + const double t280 = t102 * t102; + const double t281 = 0.1e1 / t280; + const double t282 = t281 * t274; + const double t283 = 0.1e1 / t106; + const double t285 = t105 * t283 * t113; + const double t288 = a * t271; + const double t289 = t274 * t110; + const double t291 = a * t281; + const double t292 = t274 * t105; + const double t294 = t288 * t289 - t291 * t292; + const double t296 = 0.1e1 / t111; + const double t300 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * b * t294 * t296 - t279 * t282 * t285 + t272 * t277 ); + const double t302 = t268 * t115 + t89 * t300 - t230; + const double t307 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t117 + t225 + 0.3e1 / 0.2e2 * t7 * t32 * t302 ); + const double t308 = t123 * t210; + const double t310 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t9 - t308 ); + const double t313 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t310 ); + const double t314 = t313 * t31; + const double t318 = t131 * t221; + const double t321 = t7 * t318 * t204 / 0.1e2; + const double t323 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t204 + t321 ); + const double t327 = piecewise_functor_5( t12, 0.0, t16, 0.0, -t9 - t211 ); + const double t330 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t327 ); + const double t331 = t330 * t31; + const double t336 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t117 + t225 ); + const double t338 = piecewise_functor_5( t16, 0.0, t12, 0.0, t9 - t308 ); + const double t341 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t338 ); + const double t342 = t341 * t31; + const double t347 = 0.1e1 / t135 / t148; + const double t349 = t38 * sigma_bb * t347; + const double t350 = 0.5e1 / 0.27e2 * t349; + const double t357 = 0.5e1 / 0.8748e4 * t56 * t147 * t156; + const double t358 = sigma_bb * t164; + const double t361 = 0.13e2 / 0.15552e5 * t56 * t358 * lapl_b; + const double t362 = t154 * t133; + const double t364 = 0.1e1 / t134 / t362; + const double t367 = 0.2e1 / 0.6561e4 * t56 * t161 * t364; + const double t368 = -0.5e1 / 0.243e3 * t349 - 0.25e2 / 0.162e3 * t38 * lapl_b * t137 - t357 + t361 - t367; + const double t371 = 0.1e1 / t176 / t175; + const double t372 = t168 * t371; + const double t373 = t169 * t173; + const double t374 = -t357 + t361 - t367; + const double t377 = t172 * t171; + const double t378 = 0.1e1 / t377; + const double t379 = t170 * t378; + const double t380 = t379 * t33; + const double t381 = t37 * sigma_bb; + const double t382 = t381 * t347; + const double t385 = 0.2e1 * t373 * t374 + 0.1e2 / 0.27e2 * t380 * t382; + const double t388 = t368 * t177 - t372 * t385 / 0.2e1 + t350; + const double t390 = t185 * t185; + const double t391 = 0.1e1 / t390; + const double t392 = t94 * t391; + const double t393 = piecewise_functor_3( t182, 0.0, t388 ); + const double t394 = piecewise_functor_3( t184, t393, 0.0 ); + const double t395 = t394 * t188; + const double t396 = t194 * t200; + const double t397 = t395 * t396; + const double t399 = t195 * t94; + const double t400 = t189 * t189; + const double t401 = 0.1e1 / t400; + const double t402 = t401 * t394; + const double t403 = 0.1e1 / t193; + const double t405 = t192 * t403 * t200; + const double t408 = a * t391; + const double t409 = t394 * t197; + const double t411 = a * t401; + const double t412 = t394 * t192; + const double t414 = t408 * t409 - t411 * t412; + const double t416 = 0.1e1 / t198; + const double t420 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * b * t414 * t416 - t399 * t402 * t405 + t392 * t397 ); + const double t422 = t179 * t420 + t388 * t202 - t350; + const double t427 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t204 + t321 + 0.3e1 / 0.2e2 * t7 * t132 * t422 ); + const double t430 = t38 * t43; + const double t431 = 0.5e1 / 0.72e2 * t430; + const double t434 = t56 * t66 * lapl_a; + const double t435 = t434 / 0.5184e4; + const double t436 = t56 * t238; + const double t437 = t436 / 0.8748e4; + const double t438 = 0.5e1 / 0.648e3 * t430 - t435 + t437; + const double t440 = -t435 + t437; + const double t445 = 0.2e1 * t253 * t440 - 0.5e1 / 0.36e2 * t259 * t430; + const double t448 = t438 * t87 - t252 * t445 / 0.2e1 - t431; + const double t450 = piecewise_functor_3( t95, 0.0, t448 ); + const double t451 = piecewise_functor_3( t97, t450, 0.0 ); + const double t452 = t451 * t101; + const double t453 = t452 * t276; + const double t455 = t281 * t451; + const double t458 = t451 * t110; + const double t460 = t451 * t105; + const double t462 = t288 * t458 - t291 * t460; + const double t463 = b * t462; + const double t467 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t463 * t296 - t279 * t455 * t285 + t272 * t453 ); + const double t469 = t448 * t115 + t89 * t467 + t431; + const double t473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t469 ); + const double t474 = t38 * t137; + const double t475 = 0.5e1 / 0.72e2 * t474; + const double t478 = t56 * t156 * lapl_b; + const double t479 = t478 / 0.5184e4; + const double t480 = t56 * t358; + const double t481 = t480 / 0.8748e4; + const double t482 = 0.5e1 / 0.648e3 * t474 - t479 + t481; + const double t484 = -t479 + t481; + const double t489 = 0.2e1 * t373 * t484 - 0.5e1 / 0.36e2 * t379 * t474; + const double t492 = t482 * t177 - t372 * t489 / 0.2e1 - t475; + const double t494 = piecewise_functor_3( t182, 0.0, t492 ); + const double t495 = piecewise_functor_3( t184, t494, 0.0 ); + const double t496 = t495 * t188; + const double t497 = t496 * t396; + const double t499 = t401 * t495; + const double t502 = t495 * t197; + const double t504 = t495 * t192; + const double t506 = t408 * t502 - t411 * t504; + const double t507 = b * t506; + const double t511 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t507 * t416 - t399 * t499 * t405 + t392 * t497 ); + const double t513 = t179 * t511 + t492 * t202 + t475; + const double t517 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t513 ); + const double t522 = t56 * lapl_a * t60 / 0.2916e4; + const double t524 = t56 * t67 / 0.5184e4; + const double t525 = 0.5e1 / 0.54e2 * t38 * t49 + t522 - t524; + const double t527 = t522 - t524; + const double t528 = t253 * t527; + const double t530 = -t252 * t528 + t525 * t87; + const double t532 = piecewise_functor_3( t95, 0.0, t530 ); + const double t533 = piecewise_functor_3( t97, t532, 0.0 ); + const double t534 = t533 * t101; + const double t535 = t534 * t276; + const double t537 = t281 * t533; + const double t540 = t533 * t110; + const double t542 = t533 * t105; + const double t544 = t288 * t540 - t291 * t542; + const double t545 = b * t544; + const double t549 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t545 * t296 - t279 * t537 * t285 + t272 * t535 ); + const double t551 = t530 * t115 + t89 * t549; + const double t555 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t551 ); + const double t560 = t56 * lapl_b * t150 / 0.2916e4; + const double t562 = t56 * t157 / 0.5184e4; + const double t563 = 0.5e1 / 0.54e2 * t38 * t143 + t560 - t562; + const double t565 = t560 - t562; + const double t566 = t373 * t565; + const double t568 = t563 * t177 - t372 * t566; + const double t570 = piecewise_functor_3( t182, 0.0, t568 ); + const double t571 = piecewise_functor_3( t184, t570, 0.0 ); + const double t572 = t571 * t188; + const double t573 = t572 * t396; + const double t575 = t401 * t571; + const double t578 = t571 * t197; + const double t580 = t571 * t192; + const double t582 = t408 * t578 - t411 * t580; + const double t583 = b * t582; + const double t587 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t583 * t416 - t399 * t575 * t405 + t392 * t573 ); + const double t589 = t179 * t587 + t568 * t202; + const double t593 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t589 ); + + + eps = t121 + t208; + vrho_a = t121 + t208 + t8 * ( t307 + t323 ); + vrho_b = t121 + t208 + t8 * ( t336 + t427 ); + vsigma_aa = t8 * t473; + vsigma_ab = 0.e0; + vsigma_bb = t8 * t517; + vlapl_a = t8 * t555; + vlapl_b = t8 * t593; + vtau_a = 0.e0; + vtau_b = 0.e0; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(tau_a); (void)(tau_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t33 = constants::m_cbrt_6; @@ -348,6 +1920,11 @@ struct kernel_traits< BuiltinPC07_K > : constexpr double t90 = a / 0.4e2; constexpr double t92 = 0.39e2 / 0.4e2 * a; constexpr double t94 = a * b; + constexpr double t704 = a * a; + constexpr double t705 = b * b; + constexpr double t706 = t704 * t705; + constexpr double t718 = a * t705; + constexpr double t746 = b * t704; const double t2 = rho_a <= dens_tol; @@ -420,7 +1997,6 @@ struct kernel_traits< BuiltinPC07_K > : const double t114 = t108 * t113; const double t115 = piecewise_functor_5( t91, 0.0, t93, 1.0, t114 ); const double t117 = t89 * t115 + t46; - const double t121 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t117 ); const double t122 = rho_b <= dens_tol; const double t123 = -t18; const double t125 = piecewise_functor_5( t16, t13, t12, t17, t123 * t9 ); @@ -479,20 +2055,894 @@ struct kernel_traits< BuiltinPC07_K > : const double t201 = t195 * t200; const double t202 = piecewise_functor_5( t180, 0.0, t181, 1.0, t201 ); const double t204 = t179 * t202 + t140; - const double t208 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t204 ); + const double t209 = t8 * t8; + const double t210 = 0.1e1 / t209; + const double t211 = t18 * t210; + const double t213 = piecewise_functor_5( t12, 0.0, t16, 0.0, t9 - t211 ); + const double t216 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t213 ); + const double t217 = t216 * t31; + const double t221 = 0.1e1 / t30; + const double t222 = t29 * t221; + const double t225 = t7 * t222 * t117 / 0.1e2; + const double t227 = 0.1e1 / t41 / t58; + const double t228 = sigma_aa * t227; + const double t229 = t38 * t228; + const double t230 = 0.5e1 / 0.27e2 * t229; + const double t237 = 0.5e1 / 0.8748e4 * t56 * t57 * t66; + const double t238 = sigma_aa * t74; + const double t241 = 0.13e2 / 0.15552e5 * t56 * t238 * lapl_a; + const double t242 = t64 * t39; + const double t244 = 0.1e1 / t40 / t242; + const double t247 = 0.2e1 / 0.6561e4 * t56 * t71 * t244; + const double t248 = -0.5e1 / 0.243e3 * t229 - 0.25e2 / 0.162e3 * t38 * lapl_a * t43 - t237 + t241 - t247; + const double t251 = 0.1e1 / t86 / t85; + const double t252 = t78 * t251; + const double t253 = t79 * t83; + const double t254 = -t237 + t241 - t247; + const double t257 = t82 * t81; + const double t258 = 0.1e1 / t257; + const double t259 = t80 * t258; + const double t260 = t259 * t33; + const double t261 = t37 * sigma_aa; + const double t262 = t261 * t227; + const double t265 = 0.2e1 * t253 * t254 + 0.1e2 / 0.27e2 * t260 * t262; + const double t268 = t248 * t87 - t252 * t265 / 0.2e1 + t230; + const double t270 = t98 * t98; + const double t271 = 0.1e1 / t270; + const double t272 = t94 * t271; + const double t273 = piecewise_functor_3( t95, 0.0, t268 ); + const double t274 = piecewise_functor_3( t97, t273, 0.0 ); + const double t275 = t274 * t101; + const double t276 = t107 * t113; + const double t277 = t275 * t276; + const double t279 = t108 * t94; + const double t280 = t102 * t102; + const double t281 = 0.1e1 / t280; + const double t282 = t281 * t274; + const double t283 = 0.1e1 / t106; + const double t285 = t105 * t283 * t113; + const double t288 = a * t271; + const double t289 = t274 * t110; + const double t291 = a * t281; + const double t292 = t274 * t105; + const double t294 = t288 * t289 - t291 * t292; + const double t296 = 0.1e1 / t111; + const double t300 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * b * t294 * t296 - t279 * t282 * t285 + t272 * t277 ); + const double t302 = t268 * t115 + t89 * t300 - t230; + const double t307 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t117 + t225 + 0.3e1 / 0.2e2 * t7 * t32 * t302 ); + const double t308 = t123 * t210; + const double t310 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t9 - t308 ); + const double t313 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t310 ); + const double t314 = t313 * t31; + const double t318 = t131 * t221; + const double t321 = t7 * t318 * t204 / 0.1e2; + const double t323 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t204 + t321 ); + const double t327 = piecewise_functor_5( t12, 0.0, t16, 0.0, -t9 - t211 ); + const double t330 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t327 ); + const double t331 = t330 * t31; + const double t336 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t117 + t225 ); + const double t338 = piecewise_functor_5( t16, 0.0, t12, 0.0, t9 - t308 ); + const double t341 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t338 ); + const double t342 = t341 * t31; + const double t347 = 0.1e1 / t135 / t148; + const double t349 = t38 * sigma_bb * t347; + const double t350 = 0.5e1 / 0.27e2 * t349; + const double t357 = 0.5e1 / 0.8748e4 * t56 * t147 * t156; + const double t358 = sigma_bb * t164; + const double t361 = 0.13e2 / 0.15552e5 * t56 * t358 * lapl_b; + const double t362 = t154 * t133; + const double t364 = 0.1e1 / t134 / t362; + const double t367 = 0.2e1 / 0.6561e4 * t56 * t161 * t364; + const double t368 = -0.5e1 / 0.243e3 * t349 - 0.25e2 / 0.162e3 * t38 * lapl_b * t137 - t357 + t361 - t367; + const double t371 = 0.1e1 / t176 / t175; + const double t372 = t168 * t371; + const double t373 = t169 * t173; + const double t374 = -t357 + t361 - t367; + const double t377 = t172 * t171; + const double t378 = 0.1e1 / t377; + const double t379 = t170 * t378; + const double t380 = t379 * t33; + const double t381 = t37 * sigma_bb; + const double t382 = t381 * t347; + const double t385 = 0.2e1 * t373 * t374 + 0.1e2 / 0.27e2 * t380 * t382; + const double t388 = t368 * t177 - t372 * t385 / 0.2e1 + t350; + const double t390 = t185 * t185; + const double t391 = 0.1e1 / t390; + const double t392 = t94 * t391; + const double t393 = piecewise_functor_3( t182, 0.0, t388 ); + const double t394 = piecewise_functor_3( t184, t393, 0.0 ); + const double t395 = t394 * t188; + const double t396 = t194 * t200; + const double t397 = t395 * t396; + const double t399 = t195 * t94; + const double t400 = t189 * t189; + const double t401 = 0.1e1 / t400; + const double t402 = t401 * t394; + const double t403 = 0.1e1 / t193; + const double t405 = t192 * t403 * t200; + const double t408 = a * t391; + const double t409 = t394 * t197; + const double t411 = a * t401; + const double t412 = t394 * t192; + const double t414 = t408 * t409 - t411 * t412; + const double t416 = 0.1e1 / t198; + const double t420 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * b * t414 * t416 - t399 * t402 * t405 + t392 * t397 ); + const double t422 = t179 * t420 + t388 * t202 - t350; + const double t427 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t204 + t321 + 0.3e1 / 0.2e2 * t7 * t132 * t422 ); + const double t430 = t38 * t43; + const double t431 = 0.5e1 / 0.72e2 * t430; + const double t434 = t56 * t66 * lapl_a; + const double t435 = t434 / 0.5184e4; + const double t436 = t56 * t238; + const double t437 = t436 / 0.8748e4; + const double t438 = 0.5e1 / 0.648e3 * t430 - t435 + t437; + const double t440 = -t435 + t437; + const double t445 = 0.2e1 * t253 * t440 - 0.5e1 / 0.36e2 * t259 * t430; + const double t448 = t438 * t87 - t252 * t445 / 0.2e1 - t431; + const double t450 = piecewise_functor_3( t95, 0.0, t448 ); + const double t451 = piecewise_functor_3( t97, t450, 0.0 ); + const double t452 = t451 * t101; + const double t453 = t452 * t276; + const double t455 = t281 * t451; + const double t458 = t451 * t110; + const double t460 = t451 * t105; + const double t462 = t288 * t458 - t291 * t460; + const double t463 = b * t462; + const double t467 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t463 * t296 - t279 * t455 * t285 + t272 * t453 ); + const double t469 = t448 * t115 + t89 * t467 + t431; + const double t473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t469 ); + const double t474 = t38 * t137; + const double t475 = 0.5e1 / 0.72e2 * t474; + const double t478 = t56 * t156 * lapl_b; + const double t479 = t478 / 0.5184e4; + const double t480 = t56 * t358; + const double t481 = t480 / 0.8748e4; + const double t482 = 0.5e1 / 0.648e3 * t474 - t479 + t481; + const double t484 = -t479 + t481; + const double t489 = 0.2e1 * t373 * t484 - 0.5e1 / 0.36e2 * t379 * t474; + const double t492 = t482 * t177 - t372 * t489 / 0.2e1 - t475; + const double t494 = piecewise_functor_3( t182, 0.0, t492 ); + const double t495 = piecewise_functor_3( t184, t494, 0.0 ); + const double t496 = t495 * t188; + const double t497 = t496 * t396; + const double t499 = t401 * t495; + const double t502 = t495 * t197; + const double t504 = t495 * t192; + const double t506 = t408 * t502 - t411 * t504; + const double t507 = b * t506; + const double t511 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t507 * t416 - t399 * t499 * t405 + t392 * t497 ); + const double t513 = t179 * t511 + t492 * t202 + t475; + const double t517 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t513 ); + const double t522 = t56 * lapl_a * t60 / 0.2916e4; + const double t524 = t56 * t67 / 0.5184e4; + const double t525 = 0.5e1 / 0.54e2 * t38 * t49 + t522 - t524; + const double t527 = t522 - t524; + const double t528 = t253 * t527; + const double t530 = -t252 * t528 + t525 * t87; + const double t532 = piecewise_functor_3( t95, 0.0, t530 ); + const double t533 = piecewise_functor_3( t97, t532, 0.0 ); + const double t534 = t533 * t101; + const double t535 = t534 * t276; + const double t537 = t281 * t533; + const double t540 = t533 * t110; + const double t542 = t533 * t105; + const double t544 = t288 * t540 - t291 * t542; + const double t545 = b * t544; + const double t549 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t545 * t296 - t279 * t537 * t285 + t272 * t535 ); + const double t551 = t530 * t115 + t89 * t549; + const double t555 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t551 ); + const double t560 = t56 * lapl_b * t150 / 0.2916e4; + const double t562 = t56 * t157 / 0.5184e4; + const double t563 = 0.5e1 / 0.54e2 * t38 * t143 + t560 - t562; + const double t565 = t560 - t562; + const double t566 = t373 * t565; + const double t568 = t563 * t177 - t372 * t566; + const double t570 = piecewise_functor_3( t182, 0.0, t568 ); + const double t571 = piecewise_functor_3( t184, t570, 0.0 ); + const double t572 = t571 * t188; + const double t573 = t572 * t396; + const double t575 = t401 * t571; + const double t578 = t571 * t197; + const double t580 = t571 * t192; + const double t582 = t408 * t578 - t411 * t580; + const double t583 = b * t582; + const double t587 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t583 * t416 - t399 * t575 * t405 + t392 * t573 ); + const double t589 = t179 * t587 + t568 * t202; + const double t593 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t589 ); + const double t596 = 0.1e1 / t26; + const double t597 = t213 * t213; + const double t600 = t209 * t8; + const double t601 = 0.1e1 / t600; + const double t602 = t18 * t601; + const double t605 = piecewise_functor_5( t12, 0.0, t16, 0.0, -0.2e1 * t210 + 0.2e1 * t602 ); + const double t609 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t597 + 0.5e1 / 0.3e1 * t27 * t605 ); + const double t610 = t609 * t31; + const double t614 = t216 * t221; + const double t616 = t7 * t614 * t117; + const double t622 = 0.1e1 / t30 / t8; + const double t623 = t29 * t622; + const double t626 = t7 * t623 * t117 / 0.3e2; + const double t628 = t7 * t222 * t302; + const double t631 = 0.1e1 / t41 / t64; + const double t633 = t38 * sigma_aa * t631; + const double t634 = 0.55e2 / 0.81e2 * t633; + const double t641 = 0.65e2 / 0.26244e5 * t56 * t57 * t74; + const double t642 = sigma_aa * t244; + const double t645 = 0.13e2 / 0.2916e4 * t56 * t642 * lapl_a; + const double t646 = t64 * t58; + const double t648 = 0.1e1 / t40 / t646; + const double t650 = t56 * t71 * t648; + const double t651 = 0.38e2 / 0.19683e5 * t650; + const double t652 = 0.55e2 / 0.729e3 * t633 + 0.1e3 / 0.243e3 * t38 * lapl_a * t227 + t641 - t645 + t651; + const double t654 = t248 * t251; + const double t656 = t85 * t85; + const double t658 = 0.1e1 / t86 / t656; + const double t659 = t78 * t658; + const double t660 = t265 * t265; + const double t663 = t254 * t254; + const double t666 = t79 * t258; + const double t667 = t666 * t254; + const double t670 = t641 - t645 + t651; + const double t673 = t82 * t82; + const double t674 = 0.1e1 / t673; + const double t675 = t80 * t674; + const double t676 = t675 * t53; + const double t677 = t55 * t71; + const double t678 = t677 * t648; + const double t681 = t261 * t631; + const double t684 = 0.2e1 * t663 * t83 + 0.4e2 / 0.27e2 * t667 * t229 + 0.2e1 * t253 * t670 + 0.5e2 / 0.243e3 * t676 * t678 - 0.11e3 / 0.81e2 * t260 * t681; + const double t687 = t652 * t87 - t654 * t265 + 0.3e1 / 0.4e1 * t659 * t660 - t252 * t684 / 0.2e1 - t634; + const double t691 = t270 * t98; + const double t692 = 0.1e1 / t691; + const double t693 = t94 * t692; + const double t694 = t274 * t274; + const double t695 = t694 * t101; + const double t696 = t695 * t276; + const double t699 = piecewise_functor_3( t95, 0.0, t687 ); + const double t700 = piecewise_functor_3( t97, t699, 0.0 ); + const double t701 = t700 * t101; + const double t702 = t701 * t276; + const double t707 = t270 * t270; + const double t708 = 0.1e1 / t707; + const double t709 = t706 * t708; + const double t712 = t271 * t694 * t101; + const double t713 = t706 * t712; + const double t714 = t107 * t281; + const double t715 = t714 * t285; + const double t719 = t271 * t274; + const double t720 = t718 * t719; + const double t722 = t113 * t294 * t296; + const double t723 = t108 * t722; + const double t726 = t108 * t706; + const double t727 = t280 * t280; + const double t728 = 0.1e1 / t727; + const double t729 = t728 * t694; + const double t730 = t105 * t105; + const double t731 = t106 * t106; + const double t732 = 0.1e1 / t731; + const double t733 = t730 * t732; + const double t734 = t733 * t113; + const double t735 = t729 * t734; + const double t737 = t280 * t102; + const double t738 = 0.1e1 / t737; + const double t739 = t738 * t694; + const double t743 = t281 * t700; + const double t747 = t108 * t746; + const double t752 = t108 * t718 * t281; + const double t753 = t292 * t283; + const double t754 = t753 * t722; + const double t757 = t294 * t294; + const double t758 = t705 * t757; + const double t759 = t111 * t111; + const double t760 = 0.1e1 / t759; + const double t763 = a * t692; + const double t764 = t694 * t110; + const double t769 = t704 * t708; + const double t771 = a * t738; + const double t772 = t694 * t105; + const double t775 = t700 * t105; + const double t777 = t704 * t728; + const double t779 = t288 * t700 * t110 - t291 * t775 - 0.2e1 * t763 * t764 + t769 * t764 - 0.2e1 * t771 * t772 + t777 * t772; + const double t780 = b * t779; + const double t786 = t114 * b * t757 * t760 - t114 * t780 * t296 + t114 * t758 * t760 - 0.2e1 * t279 * t739 * t285 - t279 * t743 * t285 + t747 * t729 * t285 + t272 * t702 - 0.2e1 * t693 * t696 + t709 * t696 - 0.2e1 * t713 * t715 - 0.2e1 * t720 * t723 + t726 * t735 - t747 * t735 + 0.2e1 * t752 * t754; + const double t787 = piecewise_functor_5( t91, 0.0, t93, 0.0, t786 ); + const double t789 = t687 * t115 + 0.2e1 * t268 * t300 + t89 * t787 + t634; + const double t794 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t610 * t117 + t616 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t217 * t302 - t626 + t628 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t32 * t789 ); + const double t795 = 0.1e1 / t128; + const double t796 = t310 * t310; + const double t799 = t123 * t601; + const double t802 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t210 + 0.2e1 * t799 ); + const double t806 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t796 + 0.5e1 / 0.3e1 * t129 * t802 ); + const double t807 = t806 * t31; + const double t811 = t313 * t221; + const double t813 = t7 * t811 * t204; + const double t815 = t131 * t622; + const double t818 = t7 * t815 * t204 / 0.3e2; + const double t820 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t807 * t204 + t813 / 0.5e1 - t818 ); + const double t823 = t596 * t327; + const double t827 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t602 ); + const double t831 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t823 * t213 + 0.5e1 / 0.3e1 * t27 * t827 ); + const double t832 = t831 * t31; + const double t836 = t330 * t221; + const double t838 = t7 * t836 * t117; + const double t846 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t832 * t117 + t838 / 0.1e2 + 0.3e1 / 0.2e2 * t7 * t331 * t302 + t616 / 0.1e2 - t626 + t628 / 0.1e2 ); + const double t847 = t795 * t338; + const double t851 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t799 ); + const double t855 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t847 * t310 + 0.5e1 / 0.3e1 * t129 * t851 ); + const double t856 = t855 * t31; + const double t860 = t341 * t221; + const double t862 = t7 * t860 * t204; + const double t869 = t7 * t318 * t422; + const double t872 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t856 * t204 + t862 / 0.1e2 + t813 / 0.1e2 - t818 + 0.3e1 / 0.2e2 * t7 * t314 * t422 + t869 / 0.1e2 ); + const double t877 = t327 * t327; + const double t882 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t210 + 0.2e1 * t602 ); + const double t886 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t877 + 0.5e1 / 0.3e1 * t27 * t882 ); + const double t887 = t886 * t31; + const double t893 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t887 * t117 + t838 / 0.5e1 - t626 ); + const double t894 = t338 * t338; + const double t899 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t210 + 0.2e1 * t799 ); + const double t903 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t894 + 0.5e1 / 0.3e1 * t129 * t899 ); + const double t904 = t903 * t31; + const double t914 = 0.1e1 / t135 / t154; + const double t916 = t38 * sigma_bb * t914; + const double t917 = 0.55e2 / 0.81e2 * t916; + const double t924 = 0.65e2 / 0.26244e5 * t56 * t147 * t164; + const double t925 = sigma_bb * t364; + const double t928 = 0.13e2 / 0.2916e4 * t56 * t925 * lapl_b; + const double t929 = t154 * t148; + const double t931 = 0.1e1 / t134 / t929; + const double t933 = t56 * t161 * t931; + const double t934 = 0.38e2 / 0.19683e5 * t933; + const double t935 = 0.55e2 / 0.729e3 * t916 + 0.1e3 / 0.243e3 * t38 * lapl_b * t347 + t924 - t928 + t934; + const double t937 = t368 * t371; + const double t939 = t175 * t175; + const double t941 = 0.1e1 / t176 / t939; + const double t942 = t168 * t941; + const double t943 = t385 * t385; + const double t946 = t374 * t374; + const double t949 = t169 * t378; + const double t950 = t949 * t374; + const double t953 = t924 - t928 + t934; + const double t956 = t172 * t172; + const double t957 = 0.1e1 / t956; + const double t958 = t170 * t957; + const double t959 = t958 * t53; + const double t960 = t55 * t161; + const double t961 = t960 * t931; + const double t964 = t381 * t914; + const double t967 = 0.2e1 * t946 * t173 + 0.4e2 / 0.27e2 * t950 * t349 + 0.2e1 * t373 * t953 + 0.5e2 / 0.243e3 * t959 * t961 - 0.11e3 / 0.81e2 * t380 * t964; + const double t970 = t935 * t177 - t937 * t385 + 0.3e1 / 0.4e1 * t942 * t943 - t372 * t967 / 0.2e1 - t917; + const double t974 = t390 * t185; + const double t975 = 0.1e1 / t974; + const double t976 = t94 * t975; + const double t977 = t394 * t394; + const double t978 = t977 * t188; + const double t979 = t978 * t396; + const double t982 = piecewise_functor_3( t182, 0.0, t970 ); + const double t983 = piecewise_functor_3( t184, t982, 0.0 ); + const double t984 = t983 * t188; + const double t985 = t984 * t396; + const double t987 = t390 * t390; + const double t988 = 0.1e1 / t987; + const double t989 = t706 * t988; + const double t992 = t391 * t977 * t188; + const double t993 = t706 * t992; + const double t994 = t194 * t401; + const double t995 = t994 * t405; + const double t998 = t391 * t394; + const double t999 = t718 * t998; + const double t1001 = t200 * t414 * t416; + const double t1002 = t195 * t1001; + const double t1005 = t195 * t706; + const double t1006 = t400 * t400; + const double t1007 = 0.1e1 / t1006; + const double t1008 = t1007 * t977; + const double t1009 = t192 * t192; + const double t1010 = t193 * t193; + const double t1011 = 0.1e1 / t1010; + const double t1012 = t1009 * t1011; + const double t1013 = t1012 * t200; + const double t1014 = t1008 * t1013; + const double t1016 = t400 * t189; + const double t1017 = 0.1e1 / t1016; + const double t1018 = t1017 * t977; + const double t1022 = t401 * t983; + const double t1025 = t195 * t746; + const double t1030 = t195 * t718 * t401; + const double t1031 = t412 * t403; + const double t1032 = t1031 * t1001; + const double t1035 = t414 * t414; + const double t1036 = t705 * t1035; + const double t1037 = t198 * t198; + const double t1038 = 0.1e1 / t1037; + const double t1041 = a * t975; + const double t1042 = t977 * t197; + const double t1047 = t704 * t988; + const double t1049 = a * t1017; + const double t1050 = t977 * t192; + const double t1053 = t983 * t192; + const double t1055 = t704 * t1007; + const double t1057 = t408 * t983 * t197 - 0.2e1 * t1041 * t1042 + t1047 * t1042 - 0.2e1 * t1049 * t1050 + t1055 * t1050 - t411 * t1053; + const double t1058 = b * t1057; + const double t1064 = t201 * b * t1035 * t1038 + t1025 * t1008 * t405 - 0.2e1 * t399 * t1018 * t405 - t399 * t1022 * t405 + t201 * t1036 * t1038 - t201 * t1058 * t416 - 0.2e1 * t999 * t1002 + t1005 * t1014 - t1025 * t1014 + 0.2e1 * t1030 * t1032 + t392 * t985 - 0.2e1 * t976 * t979 + t989 * t979 - 0.2e1 * t993 * t995; + const double t1065 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1064 ); + const double t1067 = t179 * t1065 + t970 * t202 + 0.2e1 * t388 * t420 + t917; + const double t1072 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t904 * t204 + t862 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t342 * t422 - t818 + t869 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t132 * t1067 ); + const double t1080 = t7 * t222 * t469 / 0.1e2; + const double t1081 = t38 * t227; + const double t1082 = 0.5e1 / 0.27e2 * t1081; + const double t1085 = t56 * t74 * lapl_a; + const double t1086 = 0.13e2 / 0.15552e5 * t1085; + const double t1087 = t56 * t642; + const double t1088 = 0.4e1 / 0.6561e4 * t1087; + const double t1089 = -0.5e1 / 0.243e3 * t1081 + t1086 - t1088; + const double t1091 = t438 * t251; + const double t1096 = t445 * t265; + const double t1099 = t254 * t83; + const double t1102 = t666 * t440; + const double t1105 = t1086 - t1088; + const double t1108 = t666 * t33; + const double t1109 = t37 * t43; + const double t1110 = t1109 * t254; + const double t1113 = t55 * t244; + const double t1114 = t1113 * sigma_aa; + const double t1119 = 0.2e1 * t1099 * t440 + 0.2e2 / 0.27e2 * t1102 * t229 + 0.2e1 * t253 * t1105 - 0.5e1 / 0.18e2 * t1108 * t1110 - 0.25e2 / 0.324e3 * t676 * t1114 + 0.1e2 / 0.27e2 * t259 * t1081; + const double t1122 = t1089 * t87 - t1091 * t265 / 0.2e1 - t654 * t445 / 0.2e1 + 0.3e1 / 0.4e1 * t659 * t1096 - t252 * t1119 / 0.2e1 + t1082; + const double t1126 = t692 * t451; + const double t1127 = t94 * t1126; + const double t1130 = piecewise_functor_3( t95, 0.0, t1122 ); + const double t1131 = piecewise_functor_3( t97, t1130, 0.0 ); + const double t1132 = t1131 * t101; + const double t1133 = t1132 * t276; + const double t1135 = t708 * t451; + const double t1136 = t706 * t1135; + const double t1138 = t271 * t451; + const double t1139 = t1138 * t101; + const double t1140 = t706 * t1139; + const double t1142 = t714 * t274 * t285; + const double t1145 = t718 * t1138; + const double t1148 = t108 * t706 * t728; + const double t1149 = t274 * t730; + const double t1151 = t732 * t451 * t113; + const double t1152 = t1149 * t1151; + const double t1155 = t108 * t94 * t738; + const double t1156 = t283 * t113; + const double t1157 = t1156 * t274; + const double t1158 = t460 * t1157; + const double t1161 = t281 * t1131; + const double t1165 = t108 * t746 * t728; + const double t1168 = t460 * t283; + const double t1169 = t1168 * t722; + const double t1171 = t113 * t462; + const double t1172 = t1171 * t296; + const double t1173 = t108 * t1172; + const double t1175 = t753 * t1172; + const double t1177 = t705 * t462; + const double t1178 = t760 * t294; + const double t1181 = t458 * t274; + const double t1184 = t1131 * t110; + const double t1187 = t460 * t274; + const double t1190 = t1131 * t105; + const double t1193 = -0.2e1 * t763 * t1181 + t769 * t1181 + t288 * t1184 - 0.2e1 * t771 * t1187 + t777 * t1187 - t291 * t1190; + const double t1194 = b * t1193; + const double t1199 = t114 * t1177 * t1178 + t114 * t463 * t1178 - t114 * t1194 * t296 - t279 * t1161 * t285 - 0.2e1 * t1127 * t277 + t272 * t1133 + t1136 * t277 - 0.2e1 * t1140 * t1142 - t1145 * t723 + t1148 * t1152 - t1165 * t1152 - 0.2e1 * t1155 * t1158 + t1165 * t1158 + t752 * t1169 - t720 * t1173 + t752 * t1175; + const double t1200 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1199 ); + const double t1202 = t1122 * t115 + t89 * t1200 + t268 * t467 + t448 * t300 - t1082; + const double t1207 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t469 + t1080 + 0.3e1 / 0.2e2 * t7 * t32 * t1202 ); + const double t1214 = t7 * t318 * t513 / 0.1e2; + const double t1216 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t513 + t1214 ); + const double t1222 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t469 + t1080 ); + const double t1227 = t38 * t347; + const double t1228 = 0.5e1 / 0.27e2 * t1227; + const double t1231 = t56 * t164 * lapl_b; + const double t1232 = 0.13e2 / 0.15552e5 * t1231; + const double t1233 = t56 * t925; + const double t1234 = 0.4e1 / 0.6561e4 * t1233; + const double t1235 = -0.5e1 / 0.243e3 * t1227 + t1232 - t1234; + const double t1237 = t482 * t371; + const double t1242 = t489 * t385; + const double t1245 = t374 * t173; + const double t1248 = t949 * t484; + const double t1251 = t1232 - t1234; + const double t1254 = t949 * t33; + const double t1255 = t37 * t137; + const double t1256 = t1255 * t374; + const double t1259 = t55 * t364; + const double t1260 = t1259 * sigma_bb; + const double t1265 = 0.2e1 * t1245 * t484 + 0.2e2 / 0.27e2 * t1248 * t349 + 0.2e1 * t373 * t1251 - 0.5e1 / 0.18e2 * t1254 * t1256 - 0.25e2 / 0.324e3 * t959 * t1260 + 0.1e2 / 0.27e2 * t379 * t1227; + const double t1268 = t1235 * t177 - t1237 * t385 / 0.2e1 - t937 * t489 / 0.2e1 + 0.3e1 / 0.4e1 * t942 * t1242 - t372 * t1265 / 0.2e1 + t1228; + const double t1272 = t975 * t495; + const double t1273 = t94 * t1272; + const double t1276 = piecewise_functor_3( t182, 0.0, t1268 ); + const double t1277 = piecewise_functor_3( t184, t1276, 0.0 ); + const double t1278 = t1277 * t188; + const double t1279 = t1278 * t396; + const double t1281 = t988 * t495; + const double t1282 = t706 * t1281; + const double t1284 = t391 * t495; + const double t1285 = t1284 * t188; + const double t1286 = t706 * t1285; + const double t1288 = t994 * t394 * t405; + const double t1291 = t718 * t1284; + const double t1294 = t195 * t706 * t1007; + const double t1295 = t394 * t1009; + const double t1297 = t1011 * t495 * t200; + const double t1298 = t1295 * t1297; + const double t1301 = t195 * t94 * t1017; + const double t1302 = t403 * t200; + const double t1303 = t1302 * t394; + const double t1304 = t504 * t1303; + const double t1307 = t401 * t1277; + const double t1311 = t195 * t746 * t1007; + const double t1314 = t504 * t403; + const double t1315 = t1314 * t1001; + const double t1317 = t200 * t506; + const double t1318 = t1317 * t416; + const double t1319 = t195 * t1318; + const double t1321 = t1031 * t1318; + const double t1323 = t705 * t506; + const double t1324 = t1038 * t414; + const double t1327 = t502 * t394; + const double t1330 = t1277 * t197; + const double t1333 = t504 * t394; + const double t1336 = t1277 * t192; + const double t1339 = -0.2e1 * t1041 * t1327 + t1047 * t1327 - 0.2e1 * t1049 * t1333 + t1055 * t1333 + t408 * t1330 - t411 * t1336; + const double t1340 = b * t1339; + const double t1345 = -t399 * t1307 * t405 + t201 * t1323 * t1324 + t201 * t507 * t1324 - t201 * t1340 * t416 - t1291 * t1002 + t1030 * t1315 + t1030 * t1321 - 0.2e1 * t1273 * t397 + t392 * t1279 + t1282 * t397 - 0.2e1 * t1286 * t1288 + t1294 * t1298 - t1311 * t1298 - 0.2e1 * t1301 * t1304 + t1311 * t1304 - t999 * t1319; + const double t1346 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1345 ); + const double t1348 = t1268 * t202 + t179 * t1346 + t388 * t511 + t492 * t420 - t1228; + const double t1353 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t513 + t1214 + 0.3e1 / 0.2e2 * t7 * t132 * t1348 ); + const double t1360 = t7 * t222 * t551 / 0.1e2; + const double t1362 = 0.5e1 / 0.4374e4 * t434; + const double t1363 = 0.13e2 / 0.15552e5 * t436; + const double t1364 = -0.25e2 / 0.162e3 * t430 - t1362 + t1363; + const double t1366 = t525 * t251; + const double t1370 = t659 * t79; + const double t1371 = t83 * t527; + const double t1372 = t1371 * t265; + const double t1375 = t1099 * t527; + const double t1377 = t252 * t666; + const double t1378 = t527 * t33; + const double t1379 = t1378 * t262; + const double t1382 = -t1362 + t1363; + const double t1383 = t253 * t1382; + const double t1385 = t1364 * t87 - t1366 * t265 / 0.2e1 - t654 * t528 + 0.3e1 / 0.2e1 * t1370 * t1372 - t252 * t1375 - 0.1e2 / 0.27e2 * t1377 * t1379 - t252 * t1383; + const double t1389 = t692 * t533; + const double t1390 = t94 * t1389; + const double t1393 = piecewise_functor_3( t95, 0.0, t1385 ); + const double t1394 = piecewise_functor_3( t97, t1393, 0.0 ); + const double t1395 = t1394 * t101; + const double t1396 = t1395 * t276; + const double t1398 = t708 * t533; + const double t1399 = t706 * t1398; + const double t1401 = t271 * t533; + const double t1402 = t1401 * t101; + const double t1403 = t706 * t1402; + const double t1406 = t718 * t1401; + const double t1409 = t732 * t533 * t113; + const double t1410 = t1149 * t1409; + const double t1412 = t542 * t1157; + const double t1415 = t281 * t1394; + const double t1420 = t542 * t283; + const double t1421 = t1420 * t722; + const double t1423 = t113 * t544; + const double t1424 = t1423 * t296; + const double t1425 = t108 * t1424; + const double t1427 = t753 * t1424; + const double t1429 = t705 * t544; + const double t1432 = t540 * t274; + const double t1435 = t1394 * t110; + const double t1438 = t542 * t274; + const double t1441 = t1394 * t105; + const double t1444 = -0.2e1 * t763 * t1432 + t769 * t1432 + t288 * t1435 - 0.2e1 * t771 * t1438 + t777 * t1438 - t291 * t1441; + const double t1445 = b * t1444; + const double t1450 = t114 * t1429 * t1178 + t114 * t545 * t1178 - t114 * t1445 * t296 - t279 * t1415 * t285 - 0.2e1 * t1403 * t1142 + t1148 * t1410 - 0.2e1 * t1155 * t1412 - t1165 * t1410 + t1165 * t1412 - 0.2e1 * t1390 * t277 + t272 * t1396 + t1399 * t277 - t1406 * t723 + t752 * t1421 - t720 * t1425 + t752 * t1427; + const double t1451 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1450 ); + const double t1453 = t1385 * t115 + t89 * t1451 + t268 * t549 + t530 * t300; + const double t1458 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t551 + t1360 + 0.3e1 / 0.2e2 * t7 * t32 * t1453 ); + const double t1465 = t7 * t318 * t589 / 0.1e2; + const double t1467 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t589 + t1465 ); + const double t1473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t551 + t1360 ); + const double t1479 = 0.5e1 / 0.4374e4 * t478; + const double t1480 = 0.13e2 / 0.15552e5 * t480; + const double t1481 = -0.25e2 / 0.162e3 * t474 - t1479 + t1480; + const double t1483 = t563 * t371; + const double t1487 = t942 * t169; + const double t1488 = t173 * t565; + const double t1489 = t1488 * t385; + const double t1492 = t1245 * t565; + const double t1494 = t372 * t949; + const double t1495 = t565 * t33; + const double t1496 = t1495 * t382; + const double t1499 = -t1479 + t1480; + const double t1500 = t373 * t1499; + const double t1502 = t1481 * t177 - t1483 * t385 / 0.2e1 - t937 * t566 + 0.3e1 / 0.2e1 * t1487 * t1489 - t372 * t1492 - 0.1e2 / 0.27e2 * t1494 * t1496 - t372 * t1500; + const double t1506 = t975 * t571; + const double t1507 = t94 * t1506; + const double t1510 = piecewise_functor_3( t182, 0.0, t1502 ); + const double t1511 = piecewise_functor_3( t184, t1510, 0.0 ); + const double t1512 = t1511 * t188; + const double t1513 = t1512 * t396; + const double t1515 = t988 * t571; + const double t1516 = t706 * t1515; + const double t1518 = t391 * t571; + const double t1519 = t1518 * t188; + const double t1520 = t706 * t1519; + const double t1523 = t718 * t1518; + const double t1526 = t1011 * t571 * t200; + const double t1527 = t1295 * t1526; + const double t1529 = t580 * t1303; + const double t1537 = t580 * t403; + const double t1538 = t1537 * t1001; + const double t1540 = t200 * t582; + const double t1541 = t1540 * t416; + const double t1542 = t195 * t1541; + const double t1544 = t1031 * t1541; + const double t1546 = t705 * t582; + const double t1549 = t578 * t394; + const double t1552 = t1511 * t197; + const double t1555 = t580 * t394; + const double t1558 = t1511 * t192; + const double t1561 = -0.2e1 * t1041 * t1549 + t1047 * t1549 - 0.2e1 * t1049 * t1555 + t1055 * t1555 + t408 * t1552 - t411 * t1558; + const double t1562 = b * t1561; + const double t1567 = -t399 * t401 * t1511 * t405 + t201 * t1546 * t1324 + t201 * t583 * t1324 - t201 * t1562 * t416 - t1523 * t1002 + t1030 * t1538 + t1030 * t1544 - 0.2e1 * t1520 * t1288 + t1294 * t1527 - 0.2e1 * t1301 * t1529 - t1311 * t1527 + t1311 * t1529 - 0.2e1 * t1507 * t397 + t392 * t1513 + t1516 * t397 - t999 * t1542; + const double t1568 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1567 ); + const double t1570 = t1502 * t202 + t179 * t1568 + t388 * t587 + t568 * t420; + const double t1575 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t589 + t1465 + 0.3e1 / 0.2e2 * t7 * t132 * t1570 ); + const double t1578 = t56 * t74 * t87; + const double t1581 = t445 * t445; + const double t1584 = t440 * t440; + const double t1589 = t56 * t74; + const double t1594 = 0.2e1 * t1584 * t83 - 0.5e1 / 0.9e1 * t1102 * t430 + t253 * t1589 / 0.4374e4 + 0.25e2 / 0.864e3 * t675 * t1589; + const double t1597 = t1578 / 0.8748e4 - t1091 * t445 + 0.3e1 / 0.4e1 * t659 * t1581 - t252 * t1594 / 0.2e1; + const double t1601 = t451 * t451; + const double t1602 = t1601 * t101; + const double t1603 = t1602 * t276; + const double t1606 = piecewise_functor_3( t95, 0.0, t1597 ); + const double t1607 = piecewise_functor_3( t97, t1606, 0.0 ); + const double t1608 = t1607 * t101; + const double t1609 = t1608 * t276; + const double t1613 = t271 * t1601 * t101; + const double t1614 = t706 * t1613; + const double t1619 = t728 * t1601; + const double t1620 = t1619 * t734; + const double t1622 = t738 * t1601; + const double t1626 = t281 * t1607; + const double t1632 = t1168 * t1172; + const double t1635 = t462 * t462; + const double t1636 = t705 * t1635; + const double t1639 = t1601 * t110; + const double t1642 = t1607 * t110; + const double t1645 = t1601 * t105; + const double t1648 = t1607 * t105; + const double t1651 = -0.2e1 * t763 * t1639 + t769 * t1639 + t288 * t1642 - 0.2e1 * t771 * t1645 + t777 * t1645 - t291 * t1648; + const double t1652 = b * t1651; + const double t1655 = b * t1635; + const double t1658 = t114 * t1636 * t760 - t114 * t1652 * t296 + t114 * t1655 * t760 + t747 * t1619 * t285 - 0.2e1 * t279 * t1622 * t285 - t279 * t1626 * t285 - 0.2e1 * t1145 * t1173 - 0.2e1 * t693 * t1603 + t709 * t1603 + t272 * t1609 - 0.2e1 * t1614 * t715 + t726 * t1620 - t747 * t1620 + 0.2e1 * t752 * t1632; + const double t1659 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1658 ); + const double t1661 = t1597 * t115 + t89 * t1659 + 0.2e1 * t448 * t467; + const double t1665 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1661 ); + const double t1667 = t56 * t164 * t177; + const double t1670 = t489 * t489; + const double t1673 = t484 * t484; + const double t1678 = t56 * t164; + const double t1683 = 0.2e1 * t1673 * t173 - 0.5e1 / 0.9e1 * t1248 * t474 + t373 * t1678 / 0.4374e4 + 0.25e2 / 0.864e3 * t958 * t1678; + const double t1686 = t1667 / 0.8748e4 - t1237 * t489 + 0.3e1 / 0.4e1 * t942 * t1670 - t372 * t1683 / 0.2e1; + const double t1690 = t495 * t495; + const double t1691 = t1690 * t188; + const double t1692 = t1691 * t396; + const double t1695 = piecewise_functor_3( t182, 0.0, t1686 ); + const double t1696 = piecewise_functor_3( t184, t1695, 0.0 ); + const double t1697 = t1696 * t188; + const double t1698 = t1697 * t396; + const double t1702 = t391 * t1690 * t188; + const double t1703 = t706 * t1702; + const double t1708 = t1007 * t1690; + const double t1709 = t1708 * t1013; + const double t1711 = t1017 * t1690; + const double t1715 = t401 * t1696; + const double t1721 = t1314 * t1318; + const double t1724 = t506 * t506; + const double t1725 = t705 * t1724; + const double t1728 = t1690 * t197; + const double t1731 = t1696 * t197; + const double t1734 = t1690 * t192; + const double t1737 = t1696 * t192; + const double t1740 = -0.2e1 * t1041 * t1728 + t1047 * t1728 - 0.2e1 * t1049 * t1734 + t1055 * t1734 + t408 * t1731 - t411 * t1737; + const double t1741 = b * t1740; + const double t1744 = b * t1724; + const double t1747 = t1025 * t1708 * t405 + t201 * t1725 * t1038 + t201 * t1744 * t1038 - 0.2e1 * t399 * t1711 * t405 - t399 * t1715 * t405 - t201 * t1741 * t416 + t1005 * t1709 - t1025 * t1709 + 0.2e1 * t1030 * t1721 - 0.2e1 * t1291 * t1319 - 0.2e1 * t976 * t1692 + t989 * t1692 + t392 * t1698 - 0.2e1 * t1703 * t995; + const double t1748 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1747 ); + const double t1750 = t1686 * t202 + t179 * t1748 + 0.2e1 * t492 * t511; + const double t1754 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1750 ); + const double t1756 = t56 * t66 * t87; + const double t1761 = t1371 * t445; + const double t1764 = t440 * t83; + const double t1765 = t1764 * t527; + const double t1767 = t1378 * t1109; + const double t1770 = t252 * t79; + const double t1771 = t83 * t53; + const double t1772 = t55 * t66; + const double t1773 = t1771 * t1772; + const double t1774 = t1770 * t1773; + const double t1776 = -t1756 / 0.5184e4 - t1366 * t445 / 0.2e1 - t1091 * t528 + 0.3e1 / 0.2e1 * t1370 * t1761 - t252 * t1765 + 0.5e1 / 0.36e2 * t1377 * t1767 + t1774 / 0.5184e4; + const double t1782 = piecewise_functor_3( t95, 0.0, t1776 ); + const double t1783 = piecewise_functor_3( t97, t1782, 0.0 ); + const double t1784 = t1783 * t101; + const double t1785 = t1784 * t276; + const double t1789 = t714 * t451 * t285; + const double t1793 = t451 * t730; + const double t1794 = t1793 * t1409; + const double t1796 = t1156 * t451; + const double t1797 = t542 * t1796; + const double t1800 = t281 * t1783; + const double t1805 = t1420 * t1172; + const double t1808 = t1168 * t1424; + const double t1810 = t760 * t462; + const double t1813 = t540 * t451; + const double t1816 = t1783 * t110; + const double t1819 = t542 * t451; + const double t1822 = t1783 * t105; + const double t1825 = -0.2e1 * t763 * t1813 + t769 * t1813 + t288 * t1816 - 0.2e1 * t771 * t1819 + t777 * t1819 - t291 * t1822; + const double t1826 = b * t1825; + const double t1831 = t114 * t1429 * t1810 + t114 * t545 * t1810 - t114 * t1826 * t296 - t279 * t1800 * t285 - t1145 * t1425 + t1148 * t1794 - 0.2e1 * t1155 * t1797 - t1165 * t1794 + t1165 * t1797 - t1406 * t1173 - 0.2e1 * t1390 * t453 + t1399 * t453 - 0.2e1 * t1403 * t1789 + t272 * t1785 + t752 * t1805 + t752 * t1808; + const double t1832 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1831 ); + const double t1834 = t1776 * t115 + t89 * t1832 + t448 * t549 + t530 * t467; + const double t1838 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1834 ); + const double t1840 = t56 * t156 * t177; + const double t1845 = t1488 * t489; + const double t1848 = t484 * t173; + const double t1849 = t1848 * t565; + const double t1851 = t1495 * t1255; + const double t1854 = t372 * t169; + const double t1855 = t173 * t53; + const double t1856 = t55 * t156; + const double t1857 = t1855 * t1856; + const double t1858 = t1854 * t1857; + const double t1860 = -t1840 / 0.5184e4 - t1483 * t489 / 0.2e1 - t1237 * t566 + 0.3e1 / 0.2e1 * t1487 * t1845 - t372 * t1849 + 0.5e1 / 0.36e2 * t1494 * t1851 + t1858 / 0.5184e4; + const double t1866 = piecewise_functor_3( t182, 0.0, t1860 ); + const double t1867 = piecewise_functor_3( t184, t1866, 0.0 ); + const double t1868 = t1867 * t188; + const double t1869 = t1868 * t396; + const double t1873 = t994 * t495 * t405; + const double t1877 = t495 * t1009; + const double t1878 = t1877 * t1526; + const double t1880 = t1302 * t495; + const double t1881 = t580 * t1880; + const double t1884 = t401 * t1867; + const double t1889 = t1537 * t1318; + const double t1892 = t1314 * t1541; + const double t1894 = t1038 * t506; + const double t1897 = t578 * t495; + const double t1900 = t1867 * t197; + const double t1903 = t580 * t495; + const double t1906 = t1867 * t192; + const double t1909 = -0.2e1 * t1041 * t1897 + t1047 * t1897 - 0.2e1 * t1049 * t1903 + t1055 * t1903 + t408 * t1900 - t411 * t1906; + const double t1910 = b * t1909; + const double t1915 = t201 * t1546 * t1894 - t399 * t1884 * t405 + t201 * t583 * t1894 - t201 * t1910 * t416 + t1030 * t1889 + t1030 * t1892 - t1291 * t1542 + t1294 * t1878 - 0.2e1 * t1301 * t1881 - t1311 * t1878 + t1311 * t1881 - t1523 * t1319 - 0.2e1 * t1507 * t497 + t1516 * t497 - 0.2e1 * t1520 * t1873 + t392 * t1869; + const double t1916 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1915 ); + const double t1918 = t179 * t1916 + t1860 * t202 + t492 * t587 + t568 * t511; + const double t1922 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1918 ); + const double t1928 = t527 * t527; + const double t1929 = t675 * t1928; + const double t1932 = t1928 * t83; + const double t1934 = t55 * t60; + const double t1935 = t1771 * t1934; + const double t1938 = t56 * t60 * t87 / 0.2916e4 - 0.2e1 * t1366 * t528 + 0.3e1 * t659 * t1929 - t252 * t1932 - t1770 * t1935 / 0.2916e4; + const double t1942 = t533 * t533; + const double t1943 = t1942 * t101; + const double t1944 = t1943 * t276; + const double t1947 = piecewise_functor_3( t95, 0.0, t1938 ); + const double t1948 = piecewise_functor_3( t97, t1947, 0.0 ); + const double t1949 = t1948 * t101; + const double t1950 = t1949 * t276; + const double t1954 = t271 * t1942 * t101; + const double t1955 = t706 * t1954; + const double t1960 = t728 * t1942; + const double t1961 = t1960 * t734; + const double t1963 = t738 * t1942; + const double t1973 = t1420 * t1424; + const double t1976 = t544 * t544; + const double t1977 = t705 * t1976; + const double t1980 = t1942 * t110; + const double t1983 = t1948 * t110; + const double t1986 = t1942 * t105; + const double t1989 = t1948 * t105; + const double t1992 = -0.2e1 * t763 * t1980 + t769 * t1980 + t288 * t1983 - 0.2e1 * t771 * t1986 + t777 * t1986 - t291 * t1989; + const double t1993 = b * t1992; + const double t1996 = b * t1976; + const double t1999 = -t279 * t281 * t1948 * t285 + t114 * t1977 * t760 - t114 * t1993 * t296 + t114 * t1996 * t760 + t747 * t1960 * t285 - 0.2e1 * t279 * t1963 * t285 - 0.2e1 * t1406 * t1425 - 0.2e1 * t693 * t1944 + t709 * t1944 + t272 * t1950 - 0.2e1 * t1955 * t715 + t726 * t1961 - t747 * t1961 + 0.2e1 * t752 * t1973; + const double t2000 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1999 ); + const double t2002 = t1938 * t115 + t89 * t2000 + 0.2e1 * t530 * t549; + const double t2006 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t2002 ); + const double t2012 = t565 * t565; + const double t2013 = t958 * t2012; + const double t2016 = t2012 * t173; + const double t2018 = t55 * t150; + const double t2019 = t1855 * t2018; + const double t2022 = t56 * t150 * t177 / 0.2916e4 - 0.2e1 * t1483 * t566 + 0.3e1 * t942 * t2013 - t372 * t2016 - t1854 * t2019 / 0.2916e4; + const double t2026 = t571 * t571; + const double t2027 = t2026 * t188; + const double t2028 = t2027 * t396; + const double t2031 = piecewise_functor_3( t182, 0.0, t2022 ); + const double t2032 = piecewise_functor_3( t184, t2031, 0.0 ); + const double t2033 = t2032 * t188; + const double t2034 = t2033 * t396; + const double t2038 = t391 * t2026 * t188; + const double t2039 = t706 * t2038; + const double t2044 = t1007 * t2026; + const double t2045 = t2044 * t1013; + const double t2047 = t1017 * t2026; + const double t2057 = t1537 * t1541; + const double t2060 = t582 * t582; + const double t2061 = t705 * t2060; + const double t2064 = t2026 * t197; + const double t2067 = t2032 * t197; + const double t2070 = t2026 * t192; + const double t2073 = t2032 * t192; + const double t2076 = -0.2e1 * t1041 * t2064 + t1047 * t2064 - 0.2e1 * t1049 * t2070 + t1055 * t2070 + t408 * t2067 - t411 * t2073; + const double t2077 = b * t2076; + const double t2080 = b * t2060; + const double t2083 = -t399 * t401 * t2032 * t405 + t1025 * t2044 * t405 + t201 * t2061 * t1038 + t201 * t2080 * t1038 - t201 * t2077 * t416 - 0.2e1 * t399 * t2047 * t405 + t1005 * t2045 - t1025 * t2045 + 0.2e1 * t1030 * t2057 - 0.2e1 * t1523 * t1542 - 0.2e1 * t976 * t2028 + t989 * t2028 + t392 * t2034 - 0.2e1 * t2039 * t995; + const double t2084 = piecewise_functor_5( t180, 0.0, t181, 0.0, t2083 ); + const double t2086 = t179 * t2084 + t2022 * t202 + 0.2e1 * t568 * t587; + const double t2090 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t2086 ); - eps = t121 + t208; + v2rho2_aa = 0.2e1 * t307 + 0.2e1 * t323 + t8 * ( t794 + t820 ); + v2rho2_ab = t307 + t323 + t336 + t427 + t8 * ( t846 + t872 ); + v2rho2_bb = 0.2e1 * t336 + 0.2e1 * t427 + t8 * ( t893 + t1072 ); + v2rhosigma_a_aa = t8 * t1207 + t473; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t8 * t1216 + t517; + v2rhosigma_b_aa = t8 * t1222 + t473; + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t8 * t1353 + t517; + v2rholapl_a_a = t8 * t1458 + t555; + v2rholapl_a_b = t8 * t1467 + t593; + v2rholapl_b_a = t8 * t1473 + t555; + v2rholapl_b_b = t8 * t1575 + t593; + v2rhotau_a_a = 0.e0; + v2rhotau_a_b = 0.e0; + v2rhotau_b_a = 0.e0; + v2rhotau_b_b = 0.e0; + v2sigma2_aa_aa = t8 * t1665; + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.e0; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t8 * t1754; + v2sigmalapl_aa_a = t8 * t1838; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = t8 * t1922; + v2sigmatau_aa_a = 0.e0; + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = 0.e0; + v2lapl2_aa = t8 * t2006; + v2lapl2_ab = 0.e0; + v2lapl2_bb = t8 * t2090; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_ab = 0.e0; + v2tau2_bb = 0.e0; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(tau_a); (void)(tau_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t33 = constants::m_cbrt_6; @@ -508,6 +2958,11 @@ struct kernel_traits< BuiltinPC07_K > : constexpr double t90 = a / 0.4e2; constexpr double t92 = 0.39e2 / 0.4e2 * a; constexpr double t94 = a * b; + constexpr double t704 = a * a; + constexpr double t705 = b * b; + constexpr double t706 = t704 * t705; + constexpr double t718 = a * t705; + constexpr double t746 = b * t704; const double t2 = rho_a <= dens_tol; @@ -834,9 +3289,646 @@ struct kernel_traits< BuiltinPC07_K > : const double t587 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t583 * t416 - t399 * t575 * t405 + t392 * t573 ); const double t589 = t179 * t587 + t568 * t202; const double t593 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t589 ); + const double t596 = 0.1e1 / t26; + const double t597 = t213 * t213; + const double t600 = t209 * t8; + const double t601 = 0.1e1 / t600; + const double t602 = t18 * t601; + const double t605 = piecewise_functor_5( t12, 0.0, t16, 0.0, -0.2e1 * t210 + 0.2e1 * t602 ); + const double t609 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t597 + 0.5e1 / 0.3e1 * t27 * t605 ); + const double t610 = t609 * t31; + const double t614 = t216 * t221; + const double t616 = t7 * t614 * t117; + const double t622 = 0.1e1 / t30 / t8; + const double t623 = t29 * t622; + const double t626 = t7 * t623 * t117 / 0.3e2; + const double t628 = t7 * t222 * t302; + const double t631 = 0.1e1 / t41 / t64; + const double t633 = t38 * sigma_aa * t631; + const double t634 = 0.55e2 / 0.81e2 * t633; + const double t641 = 0.65e2 / 0.26244e5 * t56 * t57 * t74; + const double t642 = sigma_aa * t244; + const double t645 = 0.13e2 / 0.2916e4 * t56 * t642 * lapl_a; + const double t646 = t64 * t58; + const double t648 = 0.1e1 / t40 / t646; + const double t650 = t56 * t71 * t648; + const double t651 = 0.38e2 / 0.19683e5 * t650; + const double t652 = 0.55e2 / 0.729e3 * t633 + 0.1e3 / 0.243e3 * t38 * lapl_a * t227 + t641 - t645 + t651; + const double t654 = t248 * t251; + const double t656 = t85 * t85; + const double t658 = 0.1e1 / t86 / t656; + const double t659 = t78 * t658; + const double t660 = t265 * t265; + const double t663 = t254 * t254; + const double t666 = t79 * t258; + const double t667 = t666 * t254; + const double t670 = t641 - t645 + t651; + const double t673 = t82 * t82; + const double t674 = 0.1e1 / t673; + const double t675 = t80 * t674; + const double t676 = t675 * t53; + const double t677 = t55 * t71; + const double t678 = t677 * t648; + const double t681 = t261 * t631; + const double t684 = 0.2e1 * t663 * t83 + 0.4e2 / 0.27e2 * t667 * t229 + 0.2e1 * t253 * t670 + 0.5e2 / 0.243e3 * t676 * t678 - 0.11e3 / 0.81e2 * t260 * t681; + const double t687 = t652 * t87 - t654 * t265 + 0.3e1 / 0.4e1 * t659 * t660 - t252 * t684 / 0.2e1 - t634; + const double t691 = t270 * t98; + const double t692 = 0.1e1 / t691; + const double t693 = t94 * t692; + const double t694 = t274 * t274; + const double t695 = t694 * t101; + const double t696 = t695 * t276; + const double t699 = piecewise_functor_3( t95, 0.0, t687 ); + const double t700 = piecewise_functor_3( t97, t699, 0.0 ); + const double t701 = t700 * t101; + const double t702 = t701 * t276; + const double t707 = t270 * t270; + const double t708 = 0.1e1 / t707; + const double t709 = t706 * t708; + const double t712 = t271 * t694 * t101; + const double t713 = t706 * t712; + const double t714 = t107 * t281; + const double t715 = t714 * t285; + const double t719 = t271 * t274; + const double t720 = t718 * t719; + const double t722 = t113 * t294 * t296; + const double t723 = t108 * t722; + const double t726 = t108 * t706; + const double t727 = t280 * t280; + const double t728 = 0.1e1 / t727; + const double t729 = t728 * t694; + const double t730 = t105 * t105; + const double t731 = t106 * t106; + const double t732 = 0.1e1 / t731; + const double t733 = t730 * t732; + const double t734 = t733 * t113; + const double t735 = t729 * t734; + const double t737 = t280 * t102; + const double t738 = 0.1e1 / t737; + const double t739 = t738 * t694; + const double t743 = t281 * t700; + const double t747 = t108 * t746; + const double t752 = t108 * t718 * t281; + const double t753 = t292 * t283; + const double t754 = t753 * t722; + const double t757 = t294 * t294; + const double t758 = t705 * t757; + const double t759 = t111 * t111; + const double t760 = 0.1e1 / t759; + const double t763 = a * t692; + const double t764 = t694 * t110; + const double t769 = t704 * t708; + const double t771 = a * t738; + const double t772 = t694 * t105; + const double t775 = t700 * t105; + const double t777 = t704 * t728; + const double t779 = t288 * t700 * t110 - t291 * t775 - 0.2e1 * t763 * t764 + t769 * t764 - 0.2e1 * t771 * t772 + t777 * t772; + const double t780 = b * t779; + const double t786 = t114 * b * t757 * t760 - t114 * t780 * t296 + t114 * t758 * t760 - 0.2e1 * t279 * t739 * t285 - t279 * t743 * t285 + t747 * t729 * t285 + t272 * t702 - 0.2e1 * t693 * t696 + t709 * t696 - 0.2e1 * t713 * t715 - 0.2e1 * t720 * t723 + t726 * t735 - t747 * t735 + 0.2e1 * t752 * t754; + const double t787 = piecewise_functor_5( t91, 0.0, t93, 0.0, t786 ); + const double t789 = t687 * t115 + 0.2e1 * t268 * t300 + t89 * t787 + t634; + const double t794 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t610 * t117 + t616 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t217 * t302 - t626 + t628 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t32 * t789 ); + const double t795 = 0.1e1 / t128; + const double t796 = t310 * t310; + const double t799 = t123 * t601; + const double t802 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t210 + 0.2e1 * t799 ); + const double t806 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t796 + 0.5e1 / 0.3e1 * t129 * t802 ); + const double t807 = t806 * t31; + const double t811 = t313 * t221; + const double t813 = t7 * t811 * t204; + const double t815 = t131 * t622; + const double t818 = t7 * t815 * t204 / 0.3e2; + const double t820 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t807 * t204 + t813 / 0.5e1 - t818 ); + const double t823 = t596 * t327; + const double t827 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t602 ); + const double t831 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t823 * t213 + 0.5e1 / 0.3e1 * t27 * t827 ); + const double t832 = t831 * t31; + const double t836 = t330 * t221; + const double t838 = t7 * t836 * t117; + const double t846 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t832 * t117 + t838 / 0.1e2 + 0.3e1 / 0.2e2 * t7 * t331 * t302 + t616 / 0.1e2 - t626 + t628 / 0.1e2 ); + const double t847 = t795 * t338; + const double t851 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t799 ); + const double t855 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t847 * t310 + 0.5e1 / 0.3e1 * t129 * t851 ); + const double t856 = t855 * t31; + const double t860 = t341 * t221; + const double t862 = t7 * t860 * t204; + const double t869 = t7 * t318 * t422; + const double t872 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t856 * t204 + t862 / 0.1e2 + t813 / 0.1e2 - t818 + 0.3e1 / 0.2e2 * t7 * t314 * t422 + t869 / 0.1e2 ); + const double t877 = t327 * t327; + const double t882 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t210 + 0.2e1 * t602 ); + const double t886 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t877 + 0.5e1 / 0.3e1 * t27 * t882 ); + const double t887 = t886 * t31; + const double t893 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t887 * t117 + t838 / 0.5e1 - t626 ); + const double t894 = t338 * t338; + const double t899 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t210 + 0.2e1 * t799 ); + const double t903 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t894 + 0.5e1 / 0.3e1 * t129 * t899 ); + const double t904 = t903 * t31; + const double t914 = 0.1e1 / t135 / t154; + const double t916 = t38 * sigma_bb * t914; + const double t917 = 0.55e2 / 0.81e2 * t916; + const double t924 = 0.65e2 / 0.26244e5 * t56 * t147 * t164; + const double t925 = sigma_bb * t364; + const double t928 = 0.13e2 / 0.2916e4 * t56 * t925 * lapl_b; + const double t929 = t154 * t148; + const double t931 = 0.1e1 / t134 / t929; + const double t933 = t56 * t161 * t931; + const double t934 = 0.38e2 / 0.19683e5 * t933; + const double t935 = 0.55e2 / 0.729e3 * t916 + 0.1e3 / 0.243e3 * t38 * lapl_b * t347 + t924 - t928 + t934; + const double t937 = t368 * t371; + const double t939 = t175 * t175; + const double t941 = 0.1e1 / t176 / t939; + const double t942 = t168 * t941; + const double t943 = t385 * t385; + const double t946 = t374 * t374; + const double t949 = t169 * t378; + const double t950 = t949 * t374; + const double t953 = t924 - t928 + t934; + const double t956 = t172 * t172; + const double t957 = 0.1e1 / t956; + const double t958 = t170 * t957; + const double t959 = t958 * t53; + const double t960 = t55 * t161; + const double t961 = t960 * t931; + const double t964 = t381 * t914; + const double t967 = 0.2e1 * t946 * t173 + 0.4e2 / 0.27e2 * t950 * t349 + 0.2e1 * t373 * t953 + 0.5e2 / 0.243e3 * t959 * t961 - 0.11e3 / 0.81e2 * t380 * t964; + const double t970 = t935 * t177 - t937 * t385 + 0.3e1 / 0.4e1 * t942 * t943 - t372 * t967 / 0.2e1 - t917; + const double t974 = t390 * t185; + const double t975 = 0.1e1 / t974; + const double t976 = t94 * t975; + const double t977 = t394 * t394; + const double t978 = t977 * t188; + const double t979 = t978 * t396; + const double t982 = piecewise_functor_3( t182, 0.0, t970 ); + const double t983 = piecewise_functor_3( t184, t982, 0.0 ); + const double t984 = t983 * t188; + const double t985 = t984 * t396; + const double t987 = t390 * t390; + const double t988 = 0.1e1 / t987; + const double t989 = t706 * t988; + const double t992 = t391 * t977 * t188; + const double t993 = t706 * t992; + const double t994 = t194 * t401; + const double t995 = t994 * t405; + const double t998 = t391 * t394; + const double t999 = t718 * t998; + const double t1001 = t200 * t414 * t416; + const double t1002 = t195 * t1001; + const double t1005 = t195 * t706; + const double t1006 = t400 * t400; + const double t1007 = 0.1e1 / t1006; + const double t1008 = t1007 * t977; + const double t1009 = t192 * t192; + const double t1010 = t193 * t193; + const double t1011 = 0.1e1 / t1010; + const double t1012 = t1009 * t1011; + const double t1013 = t1012 * t200; + const double t1014 = t1008 * t1013; + const double t1016 = t400 * t189; + const double t1017 = 0.1e1 / t1016; + const double t1018 = t1017 * t977; + const double t1022 = t401 * t983; + const double t1025 = t195 * t746; + const double t1030 = t195 * t718 * t401; + const double t1031 = t412 * t403; + const double t1032 = t1031 * t1001; + const double t1035 = t414 * t414; + const double t1036 = t705 * t1035; + const double t1037 = t198 * t198; + const double t1038 = 0.1e1 / t1037; + const double t1041 = a * t975; + const double t1042 = t977 * t197; + const double t1047 = t704 * t988; + const double t1049 = a * t1017; + const double t1050 = t977 * t192; + const double t1053 = t983 * t192; + const double t1055 = t704 * t1007; + const double t1057 = t408 * t983 * t197 - 0.2e1 * t1041 * t1042 + t1047 * t1042 - 0.2e1 * t1049 * t1050 + t1055 * t1050 - t411 * t1053; + const double t1058 = b * t1057; + const double t1064 = t201 * b * t1035 * t1038 + t1025 * t1008 * t405 - 0.2e1 * t399 * t1018 * t405 - t399 * t1022 * t405 + t201 * t1036 * t1038 - t201 * t1058 * t416 - 0.2e1 * t999 * t1002 + t1005 * t1014 - t1025 * t1014 + 0.2e1 * t1030 * t1032 + t392 * t985 - 0.2e1 * t976 * t979 + t989 * t979 - 0.2e1 * t993 * t995; + const double t1065 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1064 ); + const double t1067 = t179 * t1065 + t970 * t202 + 0.2e1 * t388 * t420 + t917; + const double t1072 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t904 * t204 + t862 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t342 * t422 - t818 + t869 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t132 * t1067 ); + const double t1080 = t7 * t222 * t469 / 0.1e2; + const double t1081 = t38 * t227; + const double t1082 = 0.5e1 / 0.27e2 * t1081; + const double t1085 = t56 * t74 * lapl_a; + const double t1086 = 0.13e2 / 0.15552e5 * t1085; + const double t1087 = t56 * t642; + const double t1088 = 0.4e1 / 0.6561e4 * t1087; + const double t1089 = -0.5e1 / 0.243e3 * t1081 + t1086 - t1088; + const double t1091 = t438 * t251; + const double t1096 = t445 * t265; + const double t1099 = t254 * t83; + const double t1102 = t666 * t440; + const double t1105 = t1086 - t1088; + const double t1108 = t666 * t33; + const double t1109 = t37 * t43; + const double t1110 = t1109 * t254; + const double t1113 = t55 * t244; + const double t1114 = t1113 * sigma_aa; + const double t1119 = 0.2e1 * t1099 * t440 + 0.2e2 / 0.27e2 * t1102 * t229 + 0.2e1 * t253 * t1105 - 0.5e1 / 0.18e2 * t1108 * t1110 - 0.25e2 / 0.324e3 * t676 * t1114 + 0.1e2 / 0.27e2 * t259 * t1081; + const double t1122 = t1089 * t87 - t1091 * t265 / 0.2e1 - t654 * t445 / 0.2e1 + 0.3e1 / 0.4e1 * t659 * t1096 - t252 * t1119 / 0.2e1 + t1082; + const double t1126 = t692 * t451; + const double t1127 = t94 * t1126; + const double t1130 = piecewise_functor_3( t95, 0.0, t1122 ); + const double t1131 = piecewise_functor_3( t97, t1130, 0.0 ); + const double t1132 = t1131 * t101; + const double t1133 = t1132 * t276; + const double t1135 = t708 * t451; + const double t1136 = t706 * t1135; + const double t1138 = t271 * t451; + const double t1139 = t1138 * t101; + const double t1140 = t706 * t1139; + const double t1142 = t714 * t274 * t285; + const double t1145 = t718 * t1138; + const double t1148 = t108 * t706 * t728; + const double t1149 = t274 * t730; + const double t1151 = t732 * t451 * t113; + const double t1152 = t1149 * t1151; + const double t1155 = t108 * t94 * t738; + const double t1156 = t283 * t113; + const double t1157 = t1156 * t274; + const double t1158 = t460 * t1157; + const double t1161 = t281 * t1131; + const double t1165 = t108 * t746 * t728; + const double t1168 = t460 * t283; + const double t1169 = t1168 * t722; + const double t1171 = t113 * t462; + const double t1172 = t1171 * t296; + const double t1173 = t108 * t1172; + const double t1175 = t753 * t1172; + const double t1177 = t705 * t462; + const double t1178 = t760 * t294; + const double t1181 = t458 * t274; + const double t1184 = t1131 * t110; + const double t1187 = t460 * t274; + const double t1190 = t1131 * t105; + const double t1193 = -0.2e1 * t763 * t1181 + t769 * t1181 + t288 * t1184 - 0.2e1 * t771 * t1187 + t777 * t1187 - t291 * t1190; + const double t1194 = b * t1193; + const double t1199 = t114 * t1177 * t1178 + t114 * t463 * t1178 - t114 * t1194 * t296 - t279 * t1161 * t285 - 0.2e1 * t1127 * t277 + t272 * t1133 + t1136 * t277 - 0.2e1 * t1140 * t1142 - t1145 * t723 + t1148 * t1152 - t1165 * t1152 - 0.2e1 * t1155 * t1158 + t1165 * t1158 + t752 * t1169 - t720 * t1173 + t752 * t1175; + const double t1200 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1199 ); + const double t1202 = t1122 * t115 + t89 * t1200 + t268 * t467 + t448 * t300 - t1082; + const double t1207 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t469 + t1080 + 0.3e1 / 0.2e2 * t7 * t32 * t1202 ); + const double t1214 = t7 * t318 * t513 / 0.1e2; + const double t1216 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t513 + t1214 ); + const double t1222 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t469 + t1080 ); + const double t1227 = t38 * t347; + const double t1228 = 0.5e1 / 0.27e2 * t1227; + const double t1231 = t56 * t164 * lapl_b; + const double t1232 = 0.13e2 / 0.15552e5 * t1231; + const double t1233 = t56 * t925; + const double t1234 = 0.4e1 / 0.6561e4 * t1233; + const double t1235 = -0.5e1 / 0.243e3 * t1227 + t1232 - t1234; + const double t1237 = t482 * t371; + const double t1242 = t489 * t385; + const double t1245 = t374 * t173; + const double t1248 = t949 * t484; + const double t1251 = t1232 - t1234; + const double t1254 = t949 * t33; + const double t1255 = t37 * t137; + const double t1256 = t1255 * t374; + const double t1259 = t55 * t364; + const double t1260 = t1259 * sigma_bb; + const double t1265 = 0.2e1 * t1245 * t484 + 0.2e2 / 0.27e2 * t1248 * t349 + 0.2e1 * t373 * t1251 - 0.5e1 / 0.18e2 * t1254 * t1256 - 0.25e2 / 0.324e3 * t959 * t1260 + 0.1e2 / 0.27e2 * t379 * t1227; + const double t1268 = t1235 * t177 - t1237 * t385 / 0.2e1 - t937 * t489 / 0.2e1 + 0.3e1 / 0.4e1 * t942 * t1242 - t372 * t1265 / 0.2e1 + t1228; + const double t1272 = t975 * t495; + const double t1273 = t94 * t1272; + const double t1276 = piecewise_functor_3( t182, 0.0, t1268 ); + const double t1277 = piecewise_functor_3( t184, t1276, 0.0 ); + const double t1278 = t1277 * t188; + const double t1279 = t1278 * t396; + const double t1281 = t988 * t495; + const double t1282 = t706 * t1281; + const double t1284 = t391 * t495; + const double t1285 = t1284 * t188; + const double t1286 = t706 * t1285; + const double t1288 = t994 * t394 * t405; + const double t1291 = t718 * t1284; + const double t1294 = t195 * t706 * t1007; + const double t1295 = t394 * t1009; + const double t1297 = t1011 * t495 * t200; + const double t1298 = t1295 * t1297; + const double t1301 = t195 * t94 * t1017; + const double t1302 = t403 * t200; + const double t1303 = t1302 * t394; + const double t1304 = t504 * t1303; + const double t1307 = t401 * t1277; + const double t1311 = t195 * t746 * t1007; + const double t1314 = t504 * t403; + const double t1315 = t1314 * t1001; + const double t1317 = t200 * t506; + const double t1318 = t1317 * t416; + const double t1319 = t195 * t1318; + const double t1321 = t1031 * t1318; + const double t1323 = t705 * t506; + const double t1324 = t1038 * t414; + const double t1327 = t502 * t394; + const double t1330 = t1277 * t197; + const double t1333 = t504 * t394; + const double t1336 = t1277 * t192; + const double t1339 = -0.2e1 * t1041 * t1327 + t1047 * t1327 - 0.2e1 * t1049 * t1333 + t1055 * t1333 + t408 * t1330 - t411 * t1336; + const double t1340 = b * t1339; + const double t1345 = -t399 * t1307 * t405 + t201 * t1323 * t1324 + t201 * t507 * t1324 - t201 * t1340 * t416 - t1291 * t1002 + t1030 * t1315 + t1030 * t1321 - 0.2e1 * t1273 * t397 + t392 * t1279 + t1282 * t397 - 0.2e1 * t1286 * t1288 + t1294 * t1298 - t1311 * t1298 - 0.2e1 * t1301 * t1304 + t1311 * t1304 - t999 * t1319; + const double t1346 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1345 ); + const double t1348 = t1268 * t202 + t179 * t1346 + t388 * t511 + t492 * t420 - t1228; + const double t1353 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t513 + t1214 + 0.3e1 / 0.2e2 * t7 * t132 * t1348 ); + const double t1360 = t7 * t222 * t551 / 0.1e2; + const double t1362 = 0.5e1 / 0.4374e4 * t434; + const double t1363 = 0.13e2 / 0.15552e5 * t436; + const double t1364 = -0.25e2 / 0.162e3 * t430 - t1362 + t1363; + const double t1366 = t525 * t251; + const double t1370 = t659 * t79; + const double t1371 = t83 * t527; + const double t1372 = t1371 * t265; + const double t1375 = t1099 * t527; + const double t1377 = t252 * t666; + const double t1378 = t527 * t33; + const double t1379 = t1378 * t262; + const double t1382 = -t1362 + t1363; + const double t1383 = t253 * t1382; + const double t1385 = t1364 * t87 - t1366 * t265 / 0.2e1 - t654 * t528 + 0.3e1 / 0.2e1 * t1370 * t1372 - t252 * t1375 - 0.1e2 / 0.27e2 * t1377 * t1379 - t252 * t1383; + const double t1389 = t692 * t533; + const double t1390 = t94 * t1389; + const double t1393 = piecewise_functor_3( t95, 0.0, t1385 ); + const double t1394 = piecewise_functor_3( t97, t1393, 0.0 ); + const double t1395 = t1394 * t101; + const double t1396 = t1395 * t276; + const double t1398 = t708 * t533; + const double t1399 = t706 * t1398; + const double t1401 = t271 * t533; + const double t1402 = t1401 * t101; + const double t1403 = t706 * t1402; + const double t1406 = t718 * t1401; + const double t1409 = t732 * t533 * t113; + const double t1410 = t1149 * t1409; + const double t1412 = t542 * t1157; + const double t1415 = t281 * t1394; + const double t1420 = t542 * t283; + const double t1421 = t1420 * t722; + const double t1423 = t113 * t544; + const double t1424 = t1423 * t296; + const double t1425 = t108 * t1424; + const double t1427 = t753 * t1424; + const double t1429 = t705 * t544; + const double t1432 = t540 * t274; + const double t1435 = t1394 * t110; + const double t1438 = t542 * t274; + const double t1441 = t1394 * t105; + const double t1444 = -0.2e1 * t763 * t1432 + t769 * t1432 + t288 * t1435 - 0.2e1 * t771 * t1438 + t777 * t1438 - t291 * t1441; + const double t1445 = b * t1444; + const double t1450 = t114 * t1429 * t1178 + t114 * t545 * t1178 - t114 * t1445 * t296 - t279 * t1415 * t285 - 0.2e1 * t1403 * t1142 + t1148 * t1410 - 0.2e1 * t1155 * t1412 - t1165 * t1410 + t1165 * t1412 - 0.2e1 * t1390 * t277 + t272 * t1396 + t1399 * t277 - t1406 * t723 + t752 * t1421 - t720 * t1425 + t752 * t1427; + const double t1451 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1450 ); + const double t1453 = t1385 * t115 + t89 * t1451 + t268 * t549 + t530 * t300; + const double t1458 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t551 + t1360 + 0.3e1 / 0.2e2 * t7 * t32 * t1453 ); + const double t1465 = t7 * t318 * t589 / 0.1e2; + const double t1467 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t589 + t1465 ); + const double t1473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t551 + t1360 ); + const double t1479 = 0.5e1 / 0.4374e4 * t478; + const double t1480 = 0.13e2 / 0.15552e5 * t480; + const double t1481 = -0.25e2 / 0.162e3 * t474 - t1479 + t1480; + const double t1483 = t563 * t371; + const double t1487 = t942 * t169; + const double t1488 = t173 * t565; + const double t1489 = t1488 * t385; + const double t1492 = t1245 * t565; + const double t1494 = t372 * t949; + const double t1495 = t565 * t33; + const double t1496 = t1495 * t382; + const double t1499 = -t1479 + t1480; + const double t1500 = t373 * t1499; + const double t1502 = t1481 * t177 - t1483 * t385 / 0.2e1 - t937 * t566 + 0.3e1 / 0.2e1 * t1487 * t1489 - t372 * t1492 - 0.1e2 / 0.27e2 * t1494 * t1496 - t372 * t1500; + const double t1506 = t975 * t571; + const double t1507 = t94 * t1506; + const double t1510 = piecewise_functor_3( t182, 0.0, t1502 ); + const double t1511 = piecewise_functor_3( t184, t1510, 0.0 ); + const double t1512 = t1511 * t188; + const double t1513 = t1512 * t396; + const double t1515 = t988 * t571; + const double t1516 = t706 * t1515; + const double t1518 = t391 * t571; + const double t1519 = t1518 * t188; + const double t1520 = t706 * t1519; + const double t1523 = t718 * t1518; + const double t1526 = t1011 * t571 * t200; + const double t1527 = t1295 * t1526; + const double t1529 = t580 * t1303; + const double t1537 = t580 * t403; + const double t1538 = t1537 * t1001; + const double t1540 = t200 * t582; + const double t1541 = t1540 * t416; + const double t1542 = t195 * t1541; + const double t1544 = t1031 * t1541; + const double t1546 = t705 * t582; + const double t1549 = t578 * t394; + const double t1552 = t1511 * t197; + const double t1555 = t580 * t394; + const double t1558 = t1511 * t192; + const double t1561 = -0.2e1 * t1041 * t1549 + t1047 * t1549 - 0.2e1 * t1049 * t1555 + t1055 * t1555 + t408 * t1552 - t411 * t1558; + const double t1562 = b * t1561; + const double t1567 = -t399 * t401 * t1511 * t405 + t201 * t1546 * t1324 + t201 * t583 * t1324 - t201 * t1562 * t416 - t1523 * t1002 + t1030 * t1538 + t1030 * t1544 - 0.2e1 * t1520 * t1288 + t1294 * t1527 - 0.2e1 * t1301 * t1529 - t1311 * t1527 + t1311 * t1529 - 0.2e1 * t1507 * t397 + t392 * t1513 + t1516 * t397 - t999 * t1542; + const double t1568 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1567 ); + const double t1570 = t1502 * t202 + t179 * t1568 + t388 * t587 + t568 * t420; + const double t1575 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t589 + t1465 + 0.3e1 / 0.2e2 * t7 * t132 * t1570 ); + const double t1578 = t56 * t74 * t87; + const double t1581 = t445 * t445; + const double t1584 = t440 * t440; + const double t1589 = t56 * t74; + const double t1594 = 0.2e1 * t1584 * t83 - 0.5e1 / 0.9e1 * t1102 * t430 + t253 * t1589 / 0.4374e4 + 0.25e2 / 0.864e3 * t675 * t1589; + const double t1597 = t1578 / 0.8748e4 - t1091 * t445 + 0.3e1 / 0.4e1 * t659 * t1581 - t252 * t1594 / 0.2e1; + const double t1601 = t451 * t451; + const double t1602 = t1601 * t101; + const double t1603 = t1602 * t276; + const double t1606 = piecewise_functor_3( t95, 0.0, t1597 ); + const double t1607 = piecewise_functor_3( t97, t1606, 0.0 ); + const double t1608 = t1607 * t101; + const double t1609 = t1608 * t276; + const double t1613 = t271 * t1601 * t101; + const double t1614 = t706 * t1613; + const double t1619 = t728 * t1601; + const double t1620 = t1619 * t734; + const double t1622 = t738 * t1601; + const double t1626 = t281 * t1607; + const double t1632 = t1168 * t1172; + const double t1635 = t462 * t462; + const double t1636 = t705 * t1635; + const double t1639 = t1601 * t110; + const double t1642 = t1607 * t110; + const double t1645 = t1601 * t105; + const double t1648 = t1607 * t105; + const double t1651 = -0.2e1 * t763 * t1639 + t769 * t1639 + t288 * t1642 - 0.2e1 * t771 * t1645 + t777 * t1645 - t291 * t1648; + const double t1652 = b * t1651; + const double t1655 = b * t1635; + const double t1658 = t114 * t1636 * t760 - t114 * t1652 * t296 + t114 * t1655 * t760 + t747 * t1619 * t285 - 0.2e1 * t279 * t1622 * t285 - t279 * t1626 * t285 - 0.2e1 * t1145 * t1173 - 0.2e1 * t693 * t1603 + t709 * t1603 + t272 * t1609 - 0.2e1 * t1614 * t715 + t726 * t1620 - t747 * t1620 + 0.2e1 * t752 * t1632; + const double t1659 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1658 ); + const double t1661 = t1597 * t115 + t89 * t1659 + 0.2e1 * t448 * t467; + const double t1665 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1661 ); + const double t1667 = t56 * t164 * t177; + const double t1670 = t489 * t489; + const double t1673 = t484 * t484; + const double t1678 = t56 * t164; + const double t1683 = 0.2e1 * t1673 * t173 - 0.5e1 / 0.9e1 * t1248 * t474 + t373 * t1678 / 0.4374e4 + 0.25e2 / 0.864e3 * t958 * t1678; + const double t1686 = t1667 / 0.8748e4 - t1237 * t489 + 0.3e1 / 0.4e1 * t942 * t1670 - t372 * t1683 / 0.2e1; + const double t1690 = t495 * t495; + const double t1691 = t1690 * t188; + const double t1692 = t1691 * t396; + const double t1695 = piecewise_functor_3( t182, 0.0, t1686 ); + const double t1696 = piecewise_functor_3( t184, t1695, 0.0 ); + const double t1697 = t1696 * t188; + const double t1698 = t1697 * t396; + const double t1702 = t391 * t1690 * t188; + const double t1703 = t706 * t1702; + const double t1708 = t1007 * t1690; + const double t1709 = t1708 * t1013; + const double t1711 = t1017 * t1690; + const double t1715 = t401 * t1696; + const double t1721 = t1314 * t1318; + const double t1724 = t506 * t506; + const double t1725 = t705 * t1724; + const double t1728 = t1690 * t197; + const double t1731 = t1696 * t197; + const double t1734 = t1690 * t192; + const double t1737 = t1696 * t192; + const double t1740 = -0.2e1 * t1041 * t1728 + t1047 * t1728 - 0.2e1 * t1049 * t1734 + t1055 * t1734 + t408 * t1731 - t411 * t1737; + const double t1741 = b * t1740; + const double t1744 = b * t1724; + const double t1747 = t1025 * t1708 * t405 + t201 * t1725 * t1038 + t201 * t1744 * t1038 - 0.2e1 * t399 * t1711 * t405 - t399 * t1715 * t405 - t201 * t1741 * t416 + t1005 * t1709 - t1025 * t1709 + 0.2e1 * t1030 * t1721 - 0.2e1 * t1291 * t1319 - 0.2e1 * t976 * t1692 + t989 * t1692 + t392 * t1698 - 0.2e1 * t1703 * t995; + const double t1748 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1747 ); + const double t1750 = t1686 * t202 + t179 * t1748 + 0.2e1 * t492 * t511; + const double t1754 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1750 ); + const double t1756 = t56 * t66 * t87; + const double t1761 = t1371 * t445; + const double t1764 = t440 * t83; + const double t1765 = t1764 * t527; + const double t1767 = t1378 * t1109; + const double t1770 = t252 * t79; + const double t1771 = t83 * t53; + const double t1772 = t55 * t66; + const double t1773 = t1771 * t1772; + const double t1774 = t1770 * t1773; + const double t1776 = -t1756 / 0.5184e4 - t1366 * t445 / 0.2e1 - t1091 * t528 + 0.3e1 / 0.2e1 * t1370 * t1761 - t252 * t1765 + 0.5e1 / 0.36e2 * t1377 * t1767 + t1774 / 0.5184e4; + const double t1782 = piecewise_functor_3( t95, 0.0, t1776 ); + const double t1783 = piecewise_functor_3( t97, t1782, 0.0 ); + const double t1784 = t1783 * t101; + const double t1785 = t1784 * t276; + const double t1789 = t714 * t451 * t285; + const double t1793 = t451 * t730; + const double t1794 = t1793 * t1409; + const double t1796 = t1156 * t451; + const double t1797 = t542 * t1796; + const double t1800 = t281 * t1783; + const double t1805 = t1420 * t1172; + const double t1808 = t1168 * t1424; + const double t1810 = t760 * t462; + const double t1813 = t540 * t451; + const double t1816 = t1783 * t110; + const double t1819 = t542 * t451; + const double t1822 = t1783 * t105; + const double t1825 = -0.2e1 * t763 * t1813 + t769 * t1813 + t288 * t1816 - 0.2e1 * t771 * t1819 + t777 * t1819 - t291 * t1822; + const double t1826 = b * t1825; + const double t1831 = t114 * t1429 * t1810 + t114 * t545 * t1810 - t114 * t1826 * t296 - t279 * t1800 * t285 - t1145 * t1425 + t1148 * t1794 - 0.2e1 * t1155 * t1797 - t1165 * t1794 + t1165 * t1797 - t1406 * t1173 - 0.2e1 * t1390 * t453 + t1399 * t453 - 0.2e1 * t1403 * t1789 + t272 * t1785 + t752 * t1805 + t752 * t1808; + const double t1832 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1831 ); + const double t1834 = t1776 * t115 + t89 * t1832 + t448 * t549 + t530 * t467; + const double t1838 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1834 ); + const double t1840 = t56 * t156 * t177; + const double t1845 = t1488 * t489; + const double t1848 = t484 * t173; + const double t1849 = t1848 * t565; + const double t1851 = t1495 * t1255; + const double t1854 = t372 * t169; + const double t1855 = t173 * t53; + const double t1856 = t55 * t156; + const double t1857 = t1855 * t1856; + const double t1858 = t1854 * t1857; + const double t1860 = -t1840 / 0.5184e4 - t1483 * t489 / 0.2e1 - t1237 * t566 + 0.3e1 / 0.2e1 * t1487 * t1845 - t372 * t1849 + 0.5e1 / 0.36e2 * t1494 * t1851 + t1858 / 0.5184e4; + const double t1866 = piecewise_functor_3( t182, 0.0, t1860 ); + const double t1867 = piecewise_functor_3( t184, t1866, 0.0 ); + const double t1868 = t1867 * t188; + const double t1869 = t1868 * t396; + const double t1873 = t994 * t495 * t405; + const double t1877 = t495 * t1009; + const double t1878 = t1877 * t1526; + const double t1880 = t1302 * t495; + const double t1881 = t580 * t1880; + const double t1884 = t401 * t1867; + const double t1889 = t1537 * t1318; + const double t1892 = t1314 * t1541; + const double t1894 = t1038 * t506; + const double t1897 = t578 * t495; + const double t1900 = t1867 * t197; + const double t1903 = t580 * t495; + const double t1906 = t1867 * t192; + const double t1909 = -0.2e1 * t1041 * t1897 + t1047 * t1897 - 0.2e1 * t1049 * t1903 + t1055 * t1903 + t408 * t1900 - t411 * t1906; + const double t1910 = b * t1909; + const double t1915 = t201 * t1546 * t1894 - t399 * t1884 * t405 + t201 * t583 * t1894 - t201 * t1910 * t416 + t1030 * t1889 + t1030 * t1892 - t1291 * t1542 + t1294 * t1878 - 0.2e1 * t1301 * t1881 - t1311 * t1878 + t1311 * t1881 - t1523 * t1319 - 0.2e1 * t1507 * t497 + t1516 * t497 - 0.2e1 * t1520 * t1873 + t392 * t1869; + const double t1916 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1915 ); + const double t1918 = t179 * t1916 + t1860 * t202 + t492 * t587 + t568 * t511; + const double t1922 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1918 ); + const double t1928 = t527 * t527; + const double t1929 = t675 * t1928; + const double t1932 = t1928 * t83; + const double t1934 = t55 * t60; + const double t1935 = t1771 * t1934; + const double t1938 = t56 * t60 * t87 / 0.2916e4 - 0.2e1 * t1366 * t528 + 0.3e1 * t659 * t1929 - t252 * t1932 - t1770 * t1935 / 0.2916e4; + const double t1942 = t533 * t533; + const double t1943 = t1942 * t101; + const double t1944 = t1943 * t276; + const double t1947 = piecewise_functor_3( t95, 0.0, t1938 ); + const double t1948 = piecewise_functor_3( t97, t1947, 0.0 ); + const double t1949 = t1948 * t101; + const double t1950 = t1949 * t276; + const double t1954 = t271 * t1942 * t101; + const double t1955 = t706 * t1954; + const double t1960 = t728 * t1942; + const double t1961 = t1960 * t734; + const double t1963 = t738 * t1942; + const double t1973 = t1420 * t1424; + const double t1976 = t544 * t544; + const double t1977 = t705 * t1976; + const double t1980 = t1942 * t110; + const double t1983 = t1948 * t110; + const double t1986 = t1942 * t105; + const double t1989 = t1948 * t105; + const double t1992 = -0.2e1 * t763 * t1980 + t769 * t1980 + t288 * t1983 - 0.2e1 * t771 * t1986 + t777 * t1986 - t291 * t1989; + const double t1993 = b * t1992; + const double t1996 = b * t1976; + const double t1999 = -t279 * t281 * t1948 * t285 + t114 * t1977 * t760 - t114 * t1993 * t296 + t114 * t1996 * t760 + t747 * t1960 * t285 - 0.2e1 * t279 * t1963 * t285 - 0.2e1 * t1406 * t1425 - 0.2e1 * t693 * t1944 + t709 * t1944 + t272 * t1950 - 0.2e1 * t1955 * t715 + t726 * t1961 - t747 * t1961 + 0.2e1 * t752 * t1973; + const double t2000 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1999 ); + const double t2002 = t1938 * t115 + t89 * t2000 + 0.2e1 * t530 * t549; + const double t2006 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t2002 ); + const double t2012 = t565 * t565; + const double t2013 = t958 * t2012; + const double t2016 = t2012 * t173; + const double t2018 = t55 * t150; + const double t2019 = t1855 * t2018; + const double t2022 = t56 * t150 * t177 / 0.2916e4 - 0.2e1 * t1483 * t566 + 0.3e1 * t942 * t2013 - t372 * t2016 - t1854 * t2019 / 0.2916e4; + const double t2026 = t571 * t571; + const double t2027 = t2026 * t188; + const double t2028 = t2027 * t396; + const double t2031 = piecewise_functor_3( t182, 0.0, t2022 ); + const double t2032 = piecewise_functor_3( t184, t2031, 0.0 ); + const double t2033 = t2032 * t188; + const double t2034 = t2033 * t396; + const double t2038 = t391 * t2026 * t188; + const double t2039 = t706 * t2038; + const double t2044 = t1007 * t2026; + const double t2045 = t2044 * t1013; + const double t2047 = t1017 * t2026; + const double t2057 = t1537 * t1541; + const double t2060 = t582 * t582; + const double t2061 = t705 * t2060; + const double t2064 = t2026 * t197; + const double t2067 = t2032 * t197; + const double t2070 = t2026 * t192; + const double t2073 = t2032 * t192; + const double t2076 = -0.2e1 * t1041 * t2064 + t1047 * t2064 - 0.2e1 * t1049 * t2070 + t1055 * t2070 + t408 * t2067 - t411 * t2073; + const double t2077 = b * t2076; + const double t2080 = b * t2060; + const double t2083 = -t399 * t401 * t2032 * t405 + t1025 * t2044 * t405 + t201 * t2061 * t1038 + t201 * t2080 * t1038 - t201 * t2077 * t416 - 0.2e1 * t399 * t2047 * t405 + t1005 * t2045 - t1025 * t2045 + 0.2e1 * t1030 * t2057 - 0.2e1 * t1523 * t1542 - 0.2e1 * t976 * t2028 + t989 * t2028 + t392 * t2034 - 0.2e1 * t2039 * t995; + const double t2084 = piecewise_functor_5( t180, 0.0, t181, 0.0, t2083 ); + const double t2086 = t179 * t2084 + t2022 * t202 + 0.2e1 * t568 * t587; + const double t2090 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t2086 ); - eps = t121 + t208; vrho_a = t121 + t208 + t8 * ( t307 + t323 ); vrho_b = t121 + t208 + t8 * ( t336 + t427 ); vsigma_aa = t8 * t473; @@ -846,6 +3938,51 @@ struct kernel_traits< BuiltinPC07_K > : vlapl_b = t8 * t593; vtau_a = 0.e0; vtau_b = 0.e0; + v2rho2_aa = 0.2e1 * t307 + 0.2e1 * t323 + t8 * ( t794 + t820 ); + v2rho2_ab = t307 + t323 + t336 + t427 + t8 * ( t846 + t872 ); + v2rho2_bb = 0.2e1 * t336 + 0.2e1 * t427 + t8 * ( t893 + t1072 ); + v2rhosigma_a_aa = t8 * t1207 + t473; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t8 * t1216 + t517; + v2rhosigma_b_aa = t8 * t1222 + t473; + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t8 * t1353 + t517; + v2rholapl_a_a = t8 * t1458 + t555; + v2rholapl_a_b = t8 * t1467 + t593; + v2rholapl_b_a = t8 * t1473 + t555; + v2rholapl_b_b = t8 * t1575 + t593; + v2rhotau_a_a = 0.e0; + v2rhotau_a_b = 0.e0; + v2rhotau_b_a = 0.e0; + v2rhotau_b_b = 0.e0; + v2sigma2_aa_aa = t8 * t1665; + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.e0; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t8 * t1754; + v2sigmalapl_aa_a = t8 * t1838; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = t8 * t1922; + v2sigmatau_aa_a = 0.e0; + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = 0.e0; + v2lapl2_aa = t8 * t2006; + v2lapl2_ab = 0.e0; + v2lapl2_bb = t8 * t2090; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_ab = 0.e0; + v2tau2_bb = 0.e0; } @@ -863,4 +4000,4 @@ struct BuiltinPC07_K : detail::BuiltinKernelImpl< BuiltinPC07_K > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pc07opt_k.hpp b/include/exchcxx/impl/builtin/kernels/pc07opt_k.hpp index 7b12b1c..ba2283e 100644 --- a/include/exchcxx/impl/builtin/kernels/pc07opt_k.hpp +++ b/include/exchcxx/impl/builtin/kernels/pc07opt_k.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPC07OPT_K > : static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double a = 1.784720; static constexpr double b = 0.258304; @@ -38,7 +87,6 @@ struct kernel_traits< BuiltinPC07OPT_K > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(tau); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_pi; constexpr double t25 = constants::m_cbrt_6; @@ -136,7 +184,6 @@ struct kernel_traits< BuiltinPC07OPT_K > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(tau); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_pi; constexpr double t25 = constants::m_cbrt_6; @@ -318,21 +365,1546 @@ struct kernel_traits< BuiltinPC07OPT_K > : const double t298 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t294 ); - eps = 0.2e1 * t118; - vrho = 0.2e1 * rho * t206 + 0.2e1 * t118; - vsigma = 0.2e1 * rho * t256; - vlapl = 0.2e1 * rho * t298; - vtau = 0.e0; + eps = 0.2e1 * t118; + vrho = 0.2e1 * rho * t206 + 0.2e1 * t118; + vsigma = 0.2e1 * rho * t256; + vlapl = 0.2e1 * rho * t298; + vtau = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(tau); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_pi; + constexpr double t25 = constants::m_cbrt_6; + constexpr double t26 = constants::m_pi_sq; + constexpr double t27 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t5 = t4 * t4; + constexpr double t28 = t27 * t27; + constexpr double t29 = 0.1e1 / t28; + constexpr double t30 = t25 * t29; + constexpr double t32 = t31 * t31; + constexpr double t47 = t25 * t25; + constexpr double t49 = 0.1e1 / t27 / t26; + constexpr double t50 = t47 * t49; + constexpr double t87 = a / 0.4e2; + constexpr double t89 = 0.39e2 / 0.4e2 * a; + constexpr double t91 = a * b; + constexpr double t224 = t29 * t32; + constexpr double t387 = a * a; + constexpr double t388 = b * b; + constexpr double t389 = t387 * t388; + constexpr double t401 = a * t388; + constexpr double t429 = b * t387; + constexpr double t516 = t49 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = t5 * t6 * M_PI; + const double t9 = 0.1e1 <= zeta_tol; + const double t10 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t9, t10, t9, -t10, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * t15; + const double t18 = safe_math::cbrt( t13 ); + const double t19 = t18 * t18; + const double t21 = piecewise_functor_3( t13 <= zeta_tol, t16 * zeta_tol, t19 * t13 ); + const double t22 = safe_math::cbrt( rho ); + const double t23 = t22 * t22; + const double t24 = t21 * t23; + const double t33 = sigma * t32; + const double t34 = rho * rho; + const double t36 = 0.1e1 / t23 / t34; + const double t38 = t30 * t33 * t36; + const double t39 = 0.5e1 / 0.72e2 * t38; + const double t41 = lapl * t32; + const double t43 = 0.1e1 / t23 / rho; + const double t51 = lapl * lapl; + const double t52 = t51 * t31; + const double t53 = t34 * rho; + const double t55 = 0.1e1 / t22 / t53; + const double t58 = t50 * t52 * t55 / 0.2916e4; + const double t59 = t50 * sigma; + const double t60 = t34 * t34; + const double t62 = 0.1e1 / t22 / t60; + const double t63 = t31 * t62; + const double t64 = t63 * lapl; + const double t66 = t59 * t64 / 0.2592e4; + const double t67 = sigma * sigma; + const double t68 = t67 * t31; + const double t69 = t60 * rho; + const double t71 = 0.1e1 / t22 / t69; + const double t74 = t50 * t68 * t71 / 0.8748e4; + const double t75 = 0.1e1 + 0.5e1 / 0.648e3 * t38 + 0.5e1 / 0.54e2 * t30 * t41 * t43 + t58 - t66 + t74; + const double t76 = t58 - t66 + t74; + const double t77 = t76 * t76; + const double t78 = 0.1e1 + t39; + const double t79 = t78 * t78; + const double t80 = 0.1e1 / t79; + const double t82 = t77 * t80 + 0.1e1; + const double t83 = safe_math::sqrt( t82 ); + const double t84 = 0.1e1 / t83; + const double t86 = t75 * t84 - t39; + const double t88 = t86 <= t87; + const double t90 = t89 <= t86; + const double t92 = t86 < t87; + const double t93 = piecewise_functor_3( t92, t87, t86 ); + const double t94 = t93 < t89; + const double t95 = piecewise_functor_3( t94, t93, t89 ); + const double t96 = 0.1e1 / t95; + const double t98 = safe_math::exp( -t91 * t96 ); + const double t99 = a - t95; + const double t102 = safe_math::exp( -a / t99 ); + const double t103 = 0.1e1 + t102; + const double t104 = safe_math::pow( t103, b ); + const double t105 = t98 * t104; + const double t107 = safe_math::exp( -a * t96 ); + const double t108 = t107 + t102; + const double t109 = safe_math::pow( t108, b ); + const double t110 = 0.1e1 / t109; + const double t111 = t105 * t110; + const double t112 = piecewise_functor_5( t88, 0.0, t90, 1.0, t111 ); + const double t114 = t86 * t112 + t39; + const double t120 = t21 / t22; + const double t125 = 0.1e1 / t23 / t53; + const double t126 = t33 * t125; + const double t127 = t30 * t126; + const double t128 = 0.5e1 / 0.27e2 * t127; + const double t135 = 0.5e1 / 0.4374e4 * t50 * t52 * t62; + const double t136 = t31 * t71; + const double t137 = t136 * lapl; + const double t139 = 0.13e2 / 0.7776e4 * t59 * t137; + const double t140 = t60 * t34; + const double t142 = 0.1e1 / t22 / t140; + const double t145 = 0.4e1 / 0.6561e4 * t50 * t68 * t142; + const double t146 = -0.5e1 / 0.243e3 * t127 - 0.25e2 / 0.162e3 * t30 * t41 * t36 - t135 + t139 - t145; + const double t149 = 0.1e1 / t83 / t82; + const double t150 = t75 * t149; + const double t151 = t76 * t80; + const double t152 = -t135 + t139 - t145; + const double t155 = t79 * t78; + const double t156 = 0.1e1 / t155; + const double t158 = t77 * t156 * t25; + const double t159 = t29 * sigma; + const double t160 = t32 * t125; + const double t161 = t159 * t160; + const double t164 = 0.2e1 * t151 * t152 + 0.1e2 / 0.27e2 * t158 * t161; + const double t167 = t146 * t84 - t150 * t164 / 0.2e1 + t128; + const double t169 = t95 * t95; + const double t170 = 0.1e1 / t169; + const double t171 = t91 * t170; + const double t172 = piecewise_functor_3( t92, 0.0, t167 ); + const double t173 = piecewise_functor_3( t94, t172, 0.0 ); + const double t174 = t173 * t98; + const double t175 = t104 * t110; + const double t176 = t174 * t175; + const double t178 = t105 * t91; + const double t179 = t99 * t99; + const double t180 = 0.1e1 / t179; + const double t181 = t180 * t173; + const double t182 = 0.1e1 / t103; + const double t184 = t102 * t182 * t110; + const double t187 = a * t170; + const double t188 = t173 * t107; + const double t190 = a * t180; + const double t191 = t173 * t102; + const double t193 = t187 * t188 - t190 * t191; + const double t195 = 0.1e1 / t108; + const double t199 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * b * t193 * t195 - t178 * t181 * t184 + t171 * t176 ); + const double t201 = t167 * t112 + t86 * t199 - t128; + const double t206 = piecewise_functor_3( t3, 0.0, t8 * t120 * t114 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t201 ); + const double t209 = t32 * t36; + const double t210 = t30 * t209; + const double t211 = 0.5e1 / 0.72e2 * t210; + const double t213 = t50 * t64; + const double t214 = t213 / 0.2592e4; + const double t215 = sigma * t31; + const double t217 = t50 * t215 * t71; + const double t218 = t217 / 0.4374e4; + const double t219 = 0.5e1 / 0.648e3 * t210 - t214 + t218; + const double t221 = -t214 + t218; + const double t225 = t224 * t36; + const double t228 = 0.2e1 * t151 * t221 - 0.5e1 / 0.36e2 * t158 * t225; + const double t231 = t219 * t84 - t150 * t228 / 0.2e1 - t211; + const double t233 = piecewise_functor_3( t92, 0.0, t231 ); + const double t234 = piecewise_functor_3( t94, t233, 0.0 ); + const double t235 = t234 * t98; + const double t236 = t235 * t175; + const double t238 = t180 * t234; + const double t241 = t234 * t107; + const double t243 = t234 * t102; + const double t245 = t187 * t241 - t190 * t243; + const double t246 = b * t245; + const double t250 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t246 * t195 - t178 * t238 * t184 + t171 * t236 ); + const double t252 = t231 * t112 + t86 * t250 + t211; + const double t256 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t252 ); + const double t264 = t50 * lapl * t31 * t55 / 0.1458e4; + const double t267 = t50 * t215 * t62 / 0.2592e4; + const double t268 = 0.5e1 / 0.54e2 * t30 * t32 * t43 + t264 - t267; + const double t270 = t264 - t267; + const double t271 = t151 * t270; + const double t273 = -t150 * t271 + t268 * t84; + const double t275 = piecewise_functor_3( t92, 0.0, t273 ); + const double t276 = piecewise_functor_3( t94, t275, 0.0 ); + const double t277 = t276 * t98; + const double t278 = t277 * t175; + const double t280 = t180 * t276; + const double t283 = t276 * t107; + const double t285 = t276 * t102; + const double t287 = t187 * t283 - t190 * t285; + const double t288 = b * t287; + const double t292 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t195 * t288 - t178 * t184 * t280 + t171 * t278 ); + const double t294 = t112 * t273 + t292 * t86; + const double t298 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t294 ); + const double t303 = t21 / t22 / rho; + const double t311 = 0.1e1 / t23 / t60; + const double t312 = t33 * t311; + const double t313 = t30 * t312; + const double t314 = 0.55e2 / 0.81e2 * t313; + const double t321 = 0.65e2 / 0.13122e5 * t50 * t52 * t71; + const double t322 = t31 * t142; + const double t323 = t322 * lapl; + const double t325 = 0.13e2 / 0.1458e4 * t59 * t323; + const double t326 = t60 * t53; + const double t328 = 0.1e1 / t22 / t326; + const double t329 = t68 * t328; + const double t330 = t50 * t329; + const double t331 = 0.76e2 / 0.19683e5 * t330; + const double t332 = 0.55e2 / 0.729e3 * t313 + 0.1e3 / 0.243e3 * t30 * t41 * t125 + t321 - t325 + t331; + const double t334 = t146 * t149; + const double t336 = t82 * t82; + const double t338 = 0.1e1 / t83 / t336; + const double t339 = t75 * t338; + const double t340 = t164 * t164; + const double t343 = t152 * t152; + const double t346 = t76 * t156; + const double t347 = t152 * t25; + const double t348 = t346 * t347; + const double t351 = t321 - t325 + t331; + const double t354 = t79 * t79; + const double t355 = 0.1e1 / t354; + const double t356 = t77 * t355; + const double t357 = t356 * t47; + const double t358 = t49 * t67; + const double t359 = t31 * t328; + const double t360 = t358 * t359; + const double t363 = t32 * t311; + const double t364 = t159 * t363; + const double t367 = 0.2e1 * t343 * t80 + 0.4e2 / 0.27e2 * t348 * t161 + 0.2e1 * t151 * t351 + 0.1e3 / 0.243e3 * t357 * t360 - 0.11e3 / 0.81e2 * t158 * t364; + const double t370 = t332 * t84 - t334 * t164 + 0.3e1 / 0.4e1 * t339 * t340 - t150 * t367 / 0.2e1 - t314; + const double t374 = t169 * t95; + const double t375 = 0.1e1 / t374; + const double t376 = t91 * t375; + const double t377 = t173 * t173; + const double t378 = t377 * t98; + const double t379 = t378 * t175; + const double t382 = piecewise_functor_3( t92, 0.0, t370 ); + const double t383 = piecewise_functor_3( t94, t382, 0.0 ); + const double t384 = t383 * t98; + const double t385 = t384 * t175; + const double t390 = t169 * t169; + const double t391 = 0.1e1 / t390; + const double t392 = t389 * t391; + const double t395 = t170 * t377 * t98; + const double t397 = t104 * t180; + const double t398 = t397 * t184; + const double t402 = t170 * t173; + const double t403 = t401 * t402; + const double t405 = t110 * t193 * t195; + const double t406 = t105 * t405; + const double t409 = t105 * t389; + const double t410 = t179 * t179; + const double t411 = 0.1e1 / t410; + const double t412 = t411 * t377; + const double t413 = t102 * t102; + const double t414 = t103 * t103; + const double t415 = 0.1e1 / t414; + const double t416 = t413 * t415; + const double t417 = t416 * t110; + const double t418 = t412 * t417; + const double t420 = t179 * t99; + const double t421 = 0.1e1 / t420; + const double t422 = t421 * t377; + const double t426 = t180 * t383; + const double t430 = t105 * t429; + const double t435 = t105 * t401 * t180; + const double t436 = t191 * t182; + const double t437 = t436 * t405; + const double t440 = t193 * t193; + const double t442 = t108 * t108; + const double t443 = 0.1e1 / t442; + const double t446 = a * t375; + const double t447 = t377 * t107; + const double t452 = t387 * t391; + const double t454 = a * t421; + const double t455 = t377 * t102; + const double t458 = t383 * t102; + const double t460 = t387 * t411; + const double t462 = t107 * t187 * t383 - t190 * t458 - 0.2e1 * t446 * t447 + t447 * t452 - 0.2e1 * t454 * t455 + t455 * t460; + const double t463 = b * t462; + const double t469 = t111 * t388 * t440 * t443 + t111 * t440 * t443 * b - t111 * t195 * t463 - 0.2e1 * t178 * t184 * t422 - t178 * t184 * t426 + t184 * t412 * t430 - 0.2e1 * t389 * t395 * t398 + t171 * t385 - 0.2e1 * t376 * t379 + t379 * t392 - 0.2e1 * t403 * t406 + t409 * t418 - t418 * t430 + 0.2e1 * t435 * t437; + const double t470 = piecewise_functor_5( t88, 0.0, t90, 0.0, t469 ); + const double t472 = t112 * t370 + 0.2e1 * t167 * t199 + t470 * t86 + t314; + const double t477 = piecewise_functor_3( t3, 0.0, -t8 * t303 * t114 / 0.3e2 + t8 * t120 * t201 / 0.5e1 + 0.3e1 / 0.2e2 * t8 * t24 * t472 ); + const double t483 = t30 * t160; + const double t484 = 0.5e1 / 0.27e2 * t483; + const double t486 = t50 * t137; + const double t487 = 0.13e2 / 0.7776e4 * t486; + const double t488 = t215 * t142; + const double t489 = t50 * t488; + const double t490 = 0.8e1 / 0.6561e4 * t489; + const double t491 = -0.5e1 / 0.243e3 * t483 + t487 - t490; + const double t493 = t219 * t149; + const double t498 = t228 * t164; + const double t501 = t152 * t80; + const double t504 = t221 * t25; + const double t505 = t346 * t504; + const double t508 = t487 - t490; + const double t511 = t346 * t25; + const double t518 = t516 * t142 * sigma; + const double t521 = t224 * t125; + const double t524 = 0.2e1 * t501 * t221 + 0.2e2 / 0.27e2 * t505 * t161 + 0.2e1 * t151 * t508 - 0.5e1 / 0.18e2 * t511 * t224 * t36 * t152 - 0.25e2 / 0.162e3 * t357 * t518 + 0.1e2 / 0.27e2 * t158 * t521; + const double t527 = t491 * t84 - t493 * t164 / 0.2e1 - t334 * t228 / 0.2e1 + 0.3e1 / 0.4e1 * t339 * t498 - t150 * t524 / 0.2e1 + t484; + const double t531 = t375 * t234; + const double t532 = t91 * t531; + const double t535 = piecewise_functor_3( t92, 0.0, t527 ); + const double t536 = piecewise_functor_3( t94, t535, 0.0 ); + const double t537 = t536 * t98; + const double t538 = t537 * t175; + const double t540 = t391 * t234; + const double t541 = t389 * t540; + const double t543 = t170 * t234; + const double t544 = t543 * t98; + const double t545 = t389 * t544; + const double t547 = t397 * t173 * t184; + const double t550 = t401 * t543; + const double t553 = t105 * t389 * t411; + const double t554 = t173 * t413; + const double t556 = t415 * t234 * t110; + const double t557 = t554 * t556; + const double t560 = t105 * t91 * t421; + const double t561 = t182 * t110; + const double t562 = t561 * t173; + const double t563 = t243 * t562; + const double t566 = t180 * t536; + const double t570 = t105 * t429 * t411; + const double t573 = t243 * t182; + const double t574 = t573 * t405; + const double t576 = t110 * t245; + const double t577 = t576 * t195; + const double t578 = t105 * t577; + const double t580 = t436 * t577; + const double t582 = t388 * t245; + const double t583 = t443 * t193; + const double t586 = t241 * t173; + const double t589 = t536 * t107; + const double t592 = t243 * t173; + const double t595 = t536 * t102; + const double t598 = t187 * t589 - t190 * t595 - 0.2e1 * t446 * t586 + t452 * t586 - 0.2e1 * t454 * t592 + t460 * t592; + const double t599 = b * t598; + const double t604 = -t111 * t195 * t599 + t111 * t246 * t583 + t111 * t582 * t583 - t178 * t184 * t566 + t171 * t538 - 0.2e1 * t176 * t532 + t176 * t541 - t403 * t578 - t406 * t550 + t435 * t574 + t435 * t580 - 0.2e1 * t545 * t547 + t553 * t557 - t557 * t570 - 0.2e1 * t560 * t563 + t563 * t570; + const double t605 = piecewise_functor_5( t88, 0.0, t90, 0.0, t604 ); + const double t607 = t112 * t527 + t167 * t250 + t199 * t231 + t605 * t86 - t484; + const double t612 = piecewise_functor_3( t3, 0.0, t8 * t120 * t252 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t607 ); + const double t619 = 0.5e1 / 0.2187e4 * t213; + const double t620 = 0.13e2 / 0.7776e4 * t217; + const double t621 = -0.25e2 / 0.162e3 * t210 - t619 + t620; + const double t623 = t268 * t149; + const double t627 = t339 * t76; + const double t628 = t80 * t270; + const double t629 = t628 * t164; + const double t632 = t501 * t270; + const double t634 = t346 * t270; + const double t635 = t150 * t634; + const double t638 = -t619 + t620; + const double t639 = t151 * t638; + const double t641 = t621 * t84 - t623 * t164 / 0.2e1 - t334 * t271 + 0.3e1 / 0.2e1 * t627 * t629 - t150 * t632 - 0.1e2 / 0.27e2 * t635 * t127 - t150 * t639; + const double t645 = t375 * t276; + const double t646 = t91 * t645; + const double t649 = piecewise_functor_3( t92, 0.0, t641 ); + const double t650 = piecewise_functor_3( t94, t649, 0.0 ); + const double t651 = t650 * t98; + const double t652 = t651 * t175; + const double t654 = t391 * t276; + const double t655 = t389 * t654; + const double t657 = t170 * t276; + const double t658 = t657 * t98; + const double t659 = t389 * t658; + const double t662 = t401 * t657; + const double t665 = t415 * t276 * t110; + const double t666 = t554 * t665; + const double t668 = t285 * t562; + const double t671 = t180 * t650; + const double t676 = t285 * t182; + const double t677 = t676 * t405; + const double t679 = t110 * t287; + const double t680 = t679 * t195; + const double t681 = t105 * t680; + const double t683 = t436 * t680; + const double t685 = t388 * t287; + const double t688 = t283 * t173; + const double t691 = t650 * t107; + const double t694 = t285 * t173; + const double t697 = t650 * t102; + const double t700 = t187 * t691 - t190 * t697 - 0.2e1 * t446 * t688 + t452 * t688 - 0.2e1 * t454 * t694 + t460 * t694; + const double t701 = b * t700; + const double t706 = -t111 * t195 * t701 + t111 * t288 * t583 + t111 * t583 * t685 - t178 * t184 * t671 + t171 * t652 - 0.2e1 * t176 * t646 + t176 * t655 - t403 * t681 - t406 * t662 + t435 * t677 + t435 * t683 - 0.2e1 * t547 * t659 + t553 * t666 - 0.2e1 * t560 * t668 - t570 * t666 + t570 * t668; + const double t707 = piecewise_functor_5( t88, 0.0, t90, 0.0, t706 ); + const double t709 = t112 * t641 + t167 * t292 + t199 * t273 + t707 * t86; + const double t714 = piecewise_functor_3( t3, 0.0, t8 * t120 * t294 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t709 ); + const double t718 = t50 * t136 * t84; + const double t721 = t228 * t228; + const double t724 = t221 * t221; + const double t727 = t346 * t221; + const double t730 = t151 * t47; + const double t731 = t516 * t71; + const double t736 = 0.2e1 * t724 * t80 - 0.5e1 / 0.9e1 * t727 * t210 + t730 * t731 / 0.2187e4 + 0.25e2 / 0.432e3 * t357 * t731; + const double t739 = t718 / 0.4374e4 - t493 * t228 + 0.3e1 / 0.4e1 * t339 * t721 - t150 * t736 / 0.2e1; + const double t743 = t234 * t234; + const double t744 = t743 * t98; + const double t745 = t744 * t175; + const double t748 = piecewise_functor_3( t92, 0.0, t739 ); + const double t749 = piecewise_functor_3( t94, t748, 0.0 ); + const double t750 = t749 * t98; + const double t751 = t750 * t175; + const double t755 = t170 * t743 * t98; + const double t756 = t389 * t755; + const double t761 = t411 * t743; + const double t762 = t761 * t417; + const double t764 = t421 * t743; + const double t768 = t180 * t749; + const double t774 = t573 * t577; + const double t777 = t245 * t245; + const double t778 = t388 * t777; + const double t781 = t743 * t107; + const double t784 = t749 * t107; + const double t787 = t743 * t102; + const double t790 = t749 * t102; + const double t793 = t187 * t784 - t190 * t790 - 0.2e1 * t446 * t781 + t452 * t781 - 0.2e1 * t454 * t787 + t460 * t787; + const double t794 = b * t793; + const double t797 = b * t777; + const double t800 = -t111 * t195 * t794 + t111 * t443 * t778 + t111 * t443 * t797 - 0.2e1 * t178 * t184 * t764 - t178 * t184 * t768 + t184 * t430 * t761 + t171 * t751 - 0.2e1 * t376 * t745 + t392 * t745 - 0.2e1 * t398 * t756 + t409 * t762 - t430 * t762 + 0.2e1 * t435 * t774 - 0.2e1 * t550 * t578; + const double t801 = piecewise_functor_5( t88, 0.0, t90, 0.0, t800 ); + const double t803 = t112 * t739 + 0.2e1 * t231 * t250 + t801 * t86; + const double t807 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t803 ); + const double t810 = t50 * t63 * t84; + const double t815 = t628 * t228; + const double t818 = t221 * t80; + const double t819 = t818 * t270; + const double t821 = t150 * t346; + const double t822 = t270 * t25; + const double t823 = t822 * t225; + const double t826 = t150 * t151; + const double t827 = t50 * t63; + const double t828 = t826 * t827; + const double t830 = -t810 / 0.2592e4 - t623 * t228 / 0.2e1 - t493 * t271 + 0.3e1 / 0.2e1 * t627 * t815 - t150 * t819 + 0.5e1 / 0.36e2 * t821 * t823 + t828 / 0.2592e4; + const double t836 = piecewise_functor_3( t92, 0.0, t830 ); + const double t837 = piecewise_functor_3( t94, t836, 0.0 ); + const double t838 = t837 * t98; + const double t839 = t838 * t175; + const double t843 = t397 * t234 * t184; + const double t847 = t234 * t413; + const double t848 = t847 * t665; + const double t850 = t561 * t234; + const double t851 = t285 * t850; + const double t854 = t180 * t837; + const double t859 = t676 * t577; + const double t862 = t573 * t680; + const double t864 = t443 * t245; + const double t867 = t283 * t234; + const double t870 = t837 * t107; + const double t873 = t285 * t234; + const double t876 = t837 * t102; + const double t879 = t187 * t870 - t190 * t876 - 0.2e1 * t446 * t867 + t452 * t867 - 0.2e1 * t454 * t873 + t460 * t873; + const double t880 = b * t879; + const double t885 = -t111 * t195 * t880 + t111 * t288 * t864 + t111 * t685 * t864 - t178 * t184 * t854 + t171 * t839 - 0.2e1 * t236 * t646 + t236 * t655 + t435 * t859 + t435 * t862 - t550 * t681 + t553 * t848 - 0.2e1 * t560 * t851 - t570 * t848 + t570 * t851 - t578 * t662 - 0.2e1 * t659 * t843; + const double t886 = piecewise_functor_5( t88, 0.0, t90, 0.0, t885 ); + const double t888 = t112 * t830 + t231 * t292 + t250 * t273 + t86 * t886; + const double t892 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t888 ); + const double t894 = t31 * t55; + const double t900 = t270 * t270; + const double t901 = t356 * t900; + const double t904 = t900 * t80; + const double t906 = t50 * t894; + const double t909 = t50 * t894 * t84 / 0.1458e4 - 0.2e1 * t623 * t271 + 0.3e1 * t339 * t901 - t150 * t904 - t826 * t906 / 0.1458e4; + const double t913 = t276 * t276; + const double t914 = t913 * t98; + const double t915 = t914 * t175; + const double t918 = piecewise_functor_3( t92, 0.0, t909 ); + const double t919 = piecewise_functor_3( t94, t918, 0.0 ); + const double t920 = t919 * t98; + const double t921 = t920 * t175; + const double t925 = t170 * t913 * t98; + const double t926 = t389 * t925; + const double t931 = t411 * t913; + const double t932 = t931 * t417; + const double t934 = t421 * t913; + const double t944 = t676 * t680; + const double t947 = t287 * t287; + const double t948 = t388 * t947; + const double t951 = t913 * t107; + const double t954 = t919 * t107; + const double t957 = t913 * t102; + const double t960 = t919 * t102; + const double t963 = t187 * t954 - t190 * t960 - 0.2e1 * t446 * t951 + t452 * t951 - 0.2e1 * t454 * t957 + t460 * t957; + const double t964 = b * t963; + const double t967 = b * t947; + const double t970 = -t178 * t180 * t184 * t919 - t111 * t195 * t964 + t111 * t443 * t948 + t111 * t443 * t967 - 0.2e1 * t178 * t184 * t934 + t184 * t430 * t931 + t171 * t921 - 0.2e1 * t376 * t915 + t392 * t915 - 0.2e1 * t398 * t926 + t409 * t932 - t430 * t932 + 0.2e1 * t435 * t944 - 0.2e1 * t662 * t681; + const double t971 = piecewise_functor_5( t88, 0.0, t90, 0.0, t970 ); + const double t973 = t112 * t909 + 0.2e1 * t273 * t292 + t86 * t971; + const double t977 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t973 ); + + + v2rho2 = 0.2e1 * rho * t477 + 0.4e1 * t206; + v2rhosigma = 0.2e1 * rho * t612 + 0.2e1 * t256; + v2rholapl = 0.2e1 * rho * t714 + 0.2e1 * t298; + v2rhotau = 0.e0; + v2sigma2 = 0.2e1 * rho * t807; + v2sigmalapl = 0.2e1 * rho * t892; + v2sigmatau = 0.e0; + v2lapl2 = 0.2e1 * rho * t977; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(tau); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_pi; + constexpr double t25 = constants::m_cbrt_6; + constexpr double t26 = constants::m_pi_sq; + constexpr double t27 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t5 = t4 * t4; + constexpr double t28 = t27 * t27; + constexpr double t29 = 0.1e1 / t28; + constexpr double t30 = t25 * t29; + constexpr double t32 = t31 * t31; + constexpr double t47 = t25 * t25; + constexpr double t49 = 0.1e1 / t27 / t26; + constexpr double t50 = t47 * t49; + constexpr double t87 = a / 0.4e2; + constexpr double t89 = 0.39e2 / 0.4e2 * a; + constexpr double t91 = a * b; + constexpr double t224 = t29 * t32; + constexpr double t387 = a * a; + constexpr double t388 = b * b; + constexpr double t389 = t387 * t388; + constexpr double t401 = a * t388; + constexpr double t429 = b * t387; + constexpr double t516 = t49 * t31; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = t5 * t6 * M_PI; + const double t9 = 0.1e1 <= zeta_tol; + const double t10 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t9, t10, t9, -t10, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * t15; + const double t18 = safe_math::cbrt( t13 ); + const double t19 = t18 * t18; + const double t21 = piecewise_functor_3( t13 <= zeta_tol, t16 * zeta_tol, t19 * t13 ); + const double t22 = safe_math::cbrt( rho ); + const double t23 = t22 * t22; + const double t24 = t21 * t23; + const double t33 = sigma * t32; + const double t34 = rho * rho; + const double t36 = 0.1e1 / t23 / t34; + const double t38 = t30 * t33 * t36; + const double t39 = 0.5e1 / 0.72e2 * t38; + const double t41 = lapl * t32; + const double t43 = 0.1e1 / t23 / rho; + const double t51 = lapl * lapl; + const double t52 = t51 * t31; + const double t53 = t34 * rho; + const double t55 = 0.1e1 / t22 / t53; + const double t58 = t50 * t52 * t55 / 0.2916e4; + const double t59 = t50 * sigma; + const double t60 = t34 * t34; + const double t62 = 0.1e1 / t22 / t60; + const double t63 = t31 * t62; + const double t64 = t63 * lapl; + const double t66 = t59 * t64 / 0.2592e4; + const double t67 = sigma * sigma; + const double t68 = t67 * t31; + const double t69 = t60 * rho; + const double t71 = 0.1e1 / t22 / t69; + const double t74 = t50 * t68 * t71 / 0.8748e4; + const double t75 = 0.1e1 + 0.5e1 / 0.648e3 * t38 + 0.5e1 / 0.54e2 * t30 * t41 * t43 + t58 - t66 + t74; + const double t76 = t58 - t66 + t74; + const double t77 = t76 * t76; + const double t78 = 0.1e1 + t39; + const double t79 = t78 * t78; + const double t80 = 0.1e1 / t79; + const double t82 = t77 * t80 + 0.1e1; + const double t83 = safe_math::sqrt( t82 ); + const double t84 = 0.1e1 / t83; + const double t86 = t75 * t84 - t39; + const double t88 = t86 <= t87; + const double t90 = t89 <= t86; + const double t92 = t86 < t87; + const double t93 = piecewise_functor_3( t92, t87, t86 ); + const double t94 = t93 < t89; + const double t95 = piecewise_functor_3( t94, t93, t89 ); + const double t96 = 0.1e1 / t95; + const double t98 = safe_math::exp( -t91 * t96 ); + const double t99 = a - t95; + const double t102 = safe_math::exp( -a / t99 ); + const double t103 = 0.1e1 + t102; + const double t104 = safe_math::pow( t103, b ); + const double t105 = t98 * t104; + const double t107 = safe_math::exp( -a * t96 ); + const double t108 = t107 + t102; + const double t109 = safe_math::pow( t108, b ); + const double t110 = 0.1e1 / t109; + const double t111 = t105 * t110; + const double t112 = piecewise_functor_5( t88, 0.0, t90, 1.0, t111 ); + const double t114 = t86 * t112 + t39; + const double t118 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t114 ); + const double t120 = t21 / t22; + const double t125 = 0.1e1 / t23 / t53; + const double t126 = t33 * t125; + const double t127 = t30 * t126; + const double t128 = 0.5e1 / 0.27e2 * t127; + const double t135 = 0.5e1 / 0.4374e4 * t50 * t52 * t62; + const double t136 = t31 * t71; + const double t137 = t136 * lapl; + const double t139 = 0.13e2 / 0.7776e4 * t59 * t137; + const double t140 = t60 * t34; + const double t142 = 0.1e1 / t22 / t140; + const double t145 = 0.4e1 / 0.6561e4 * t50 * t68 * t142; + const double t146 = -0.5e1 / 0.243e3 * t127 - 0.25e2 / 0.162e3 * t30 * t41 * t36 - t135 + t139 - t145; + const double t149 = 0.1e1 / t83 / t82; + const double t150 = t75 * t149; + const double t151 = t76 * t80; + const double t152 = -t135 + t139 - t145; + const double t155 = t79 * t78; + const double t156 = 0.1e1 / t155; + const double t158 = t77 * t156 * t25; + const double t159 = t29 * sigma; + const double t160 = t32 * t125; + const double t161 = t159 * t160; + const double t164 = 0.2e1 * t151 * t152 + 0.1e2 / 0.27e2 * t158 * t161; + const double t167 = t146 * t84 - t150 * t164 / 0.2e1 + t128; + const double t169 = t95 * t95; + const double t170 = 0.1e1 / t169; + const double t171 = t91 * t170; + const double t172 = piecewise_functor_3( t92, 0.0, t167 ); + const double t173 = piecewise_functor_3( t94, t172, 0.0 ); + const double t174 = t173 * t98; + const double t175 = t104 * t110; + const double t176 = t174 * t175; + const double t178 = t105 * t91; + const double t179 = t99 * t99; + const double t180 = 0.1e1 / t179; + const double t181 = t180 * t173; + const double t182 = 0.1e1 / t103; + const double t184 = t102 * t182 * t110; + const double t187 = a * t170; + const double t188 = t173 * t107; + const double t190 = a * t180; + const double t191 = t173 * t102; + const double t193 = t187 * t188 - t190 * t191; + const double t195 = 0.1e1 / t108; + const double t199 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * b * t193 * t195 - t178 * t181 * t184 + t171 * t176 ); + const double t201 = t167 * t112 + t86 * t199 - t128; + const double t206 = piecewise_functor_3( t3, 0.0, t8 * t120 * t114 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t201 ); + const double t209 = t32 * t36; + const double t210 = t30 * t209; + const double t211 = 0.5e1 / 0.72e2 * t210; + const double t213 = t50 * t64; + const double t214 = t213 / 0.2592e4; + const double t215 = sigma * t31; + const double t217 = t50 * t215 * t71; + const double t218 = t217 / 0.4374e4; + const double t219 = 0.5e1 / 0.648e3 * t210 - t214 + t218; + const double t221 = -t214 + t218; + const double t225 = t224 * t36; + const double t228 = 0.2e1 * t151 * t221 - 0.5e1 / 0.36e2 * t158 * t225; + const double t231 = t219 * t84 - t150 * t228 / 0.2e1 - t211; + const double t233 = piecewise_functor_3( t92, 0.0, t231 ); + const double t234 = piecewise_functor_3( t94, t233, 0.0 ); + const double t235 = t234 * t98; + const double t236 = t235 * t175; + const double t238 = t180 * t234; + const double t241 = t234 * t107; + const double t243 = t234 * t102; + const double t245 = t187 * t241 - t190 * t243; + const double t246 = b * t245; + const double t250 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t246 * t195 - t178 * t238 * t184 + t171 * t236 ); + const double t252 = t231 * t112 + t86 * t250 + t211; + const double t256 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t252 ); + const double t264 = t50 * lapl * t31 * t55 / 0.1458e4; + const double t267 = t50 * t215 * t62 / 0.2592e4; + const double t268 = 0.5e1 / 0.54e2 * t30 * t32 * t43 + t264 - t267; + const double t270 = t264 - t267; + const double t271 = t151 * t270; + const double t273 = -t150 * t271 + t268 * t84; + const double t275 = piecewise_functor_3( t92, 0.0, t273 ); + const double t276 = piecewise_functor_3( t94, t275, 0.0 ); + const double t277 = t276 * t98; + const double t278 = t277 * t175; + const double t280 = t180 * t276; + const double t283 = t276 * t107; + const double t285 = t276 * t102; + const double t287 = t187 * t283 - t190 * t285; + const double t288 = b * t287; + const double t292 = piecewise_functor_5( t88, 0.0, t90, 0.0, -t111 * t195 * t288 - t178 * t184 * t280 + t171 * t278 ); + const double t294 = t112 * t273 + t292 * t86; + const double t298 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t294 ); + const double t303 = t21 / t22 / rho; + const double t311 = 0.1e1 / t23 / t60; + const double t312 = t33 * t311; + const double t313 = t30 * t312; + const double t314 = 0.55e2 / 0.81e2 * t313; + const double t321 = 0.65e2 / 0.13122e5 * t50 * t52 * t71; + const double t322 = t31 * t142; + const double t323 = t322 * lapl; + const double t325 = 0.13e2 / 0.1458e4 * t59 * t323; + const double t326 = t60 * t53; + const double t328 = 0.1e1 / t22 / t326; + const double t329 = t68 * t328; + const double t330 = t50 * t329; + const double t331 = 0.76e2 / 0.19683e5 * t330; + const double t332 = 0.55e2 / 0.729e3 * t313 + 0.1e3 / 0.243e3 * t30 * t41 * t125 + t321 - t325 + t331; + const double t334 = t146 * t149; + const double t336 = t82 * t82; + const double t338 = 0.1e1 / t83 / t336; + const double t339 = t75 * t338; + const double t340 = t164 * t164; + const double t343 = t152 * t152; + const double t346 = t76 * t156; + const double t347 = t152 * t25; + const double t348 = t346 * t347; + const double t351 = t321 - t325 + t331; + const double t354 = t79 * t79; + const double t355 = 0.1e1 / t354; + const double t356 = t77 * t355; + const double t357 = t356 * t47; + const double t358 = t49 * t67; + const double t359 = t31 * t328; + const double t360 = t358 * t359; + const double t363 = t32 * t311; + const double t364 = t159 * t363; + const double t367 = 0.2e1 * t343 * t80 + 0.4e2 / 0.27e2 * t348 * t161 + 0.2e1 * t151 * t351 + 0.1e3 / 0.243e3 * t357 * t360 - 0.11e3 / 0.81e2 * t158 * t364; + const double t370 = t332 * t84 - t334 * t164 + 0.3e1 / 0.4e1 * t339 * t340 - t150 * t367 / 0.2e1 - t314; + const double t374 = t169 * t95; + const double t375 = 0.1e1 / t374; + const double t376 = t91 * t375; + const double t377 = t173 * t173; + const double t378 = t377 * t98; + const double t379 = t378 * t175; + const double t382 = piecewise_functor_3( t92, 0.0, t370 ); + const double t383 = piecewise_functor_3( t94, t382, 0.0 ); + const double t384 = t383 * t98; + const double t385 = t384 * t175; + const double t390 = t169 * t169; + const double t391 = 0.1e1 / t390; + const double t392 = t389 * t391; + const double t395 = t170 * t377 * t98; + const double t397 = t104 * t180; + const double t398 = t397 * t184; + const double t402 = t170 * t173; + const double t403 = t401 * t402; + const double t405 = t110 * t193 * t195; + const double t406 = t105 * t405; + const double t409 = t105 * t389; + const double t410 = t179 * t179; + const double t411 = 0.1e1 / t410; + const double t412 = t411 * t377; + const double t413 = t102 * t102; + const double t414 = t103 * t103; + const double t415 = 0.1e1 / t414; + const double t416 = t413 * t415; + const double t417 = t416 * t110; + const double t418 = t412 * t417; + const double t420 = t179 * t99; + const double t421 = 0.1e1 / t420; + const double t422 = t421 * t377; + const double t426 = t180 * t383; + const double t430 = t105 * t429; + const double t435 = t105 * t401 * t180; + const double t436 = t191 * t182; + const double t437 = t436 * t405; + const double t440 = t193 * t193; + const double t442 = t108 * t108; + const double t443 = 0.1e1 / t442; + const double t446 = a * t375; + const double t447 = t377 * t107; + const double t452 = t387 * t391; + const double t454 = a * t421; + const double t455 = t377 * t102; + const double t458 = t383 * t102; + const double t460 = t387 * t411; + const double t462 = t107 * t187 * t383 - t190 * t458 - 0.2e1 * t446 * t447 + t447 * t452 - 0.2e1 * t454 * t455 + t455 * t460; + const double t463 = b * t462; + const double t469 = t111 * t388 * t440 * t443 + t111 * t440 * t443 * b - t111 * t195 * t463 - 0.2e1 * t178 * t184 * t422 - t178 * t184 * t426 + t184 * t412 * t430 - 0.2e1 * t389 * t395 * t398 + t171 * t385 - 0.2e1 * t376 * t379 + t379 * t392 - 0.2e1 * t403 * t406 + t409 * t418 - t418 * t430 + 0.2e1 * t435 * t437; + const double t470 = piecewise_functor_5( t88, 0.0, t90, 0.0, t469 ); + const double t472 = t112 * t370 + 0.2e1 * t167 * t199 + t470 * t86 + t314; + const double t477 = piecewise_functor_3( t3, 0.0, -t8 * t303 * t114 / 0.3e2 + t8 * t120 * t201 / 0.5e1 + 0.3e1 / 0.2e2 * t8 * t24 * t472 ); + const double t483 = t30 * t160; + const double t484 = 0.5e1 / 0.27e2 * t483; + const double t486 = t50 * t137; + const double t487 = 0.13e2 / 0.7776e4 * t486; + const double t488 = t215 * t142; + const double t489 = t50 * t488; + const double t490 = 0.8e1 / 0.6561e4 * t489; + const double t491 = -0.5e1 / 0.243e3 * t483 + t487 - t490; + const double t493 = t219 * t149; + const double t498 = t228 * t164; + const double t501 = t152 * t80; + const double t504 = t221 * t25; + const double t505 = t346 * t504; + const double t508 = t487 - t490; + const double t511 = t346 * t25; + const double t518 = t516 * t142 * sigma; + const double t521 = t224 * t125; + const double t524 = 0.2e1 * t501 * t221 + 0.2e2 / 0.27e2 * t505 * t161 + 0.2e1 * t151 * t508 - 0.5e1 / 0.18e2 * t511 * t224 * t36 * t152 - 0.25e2 / 0.162e3 * t357 * t518 + 0.1e2 / 0.27e2 * t158 * t521; + const double t527 = t491 * t84 - t493 * t164 / 0.2e1 - t334 * t228 / 0.2e1 + 0.3e1 / 0.4e1 * t339 * t498 - t150 * t524 / 0.2e1 + t484; + const double t531 = t375 * t234; + const double t532 = t91 * t531; + const double t535 = piecewise_functor_3( t92, 0.0, t527 ); + const double t536 = piecewise_functor_3( t94, t535, 0.0 ); + const double t537 = t536 * t98; + const double t538 = t537 * t175; + const double t540 = t391 * t234; + const double t541 = t389 * t540; + const double t543 = t170 * t234; + const double t544 = t543 * t98; + const double t545 = t389 * t544; + const double t547 = t397 * t173 * t184; + const double t550 = t401 * t543; + const double t553 = t105 * t389 * t411; + const double t554 = t173 * t413; + const double t556 = t415 * t234 * t110; + const double t557 = t554 * t556; + const double t560 = t105 * t91 * t421; + const double t561 = t182 * t110; + const double t562 = t561 * t173; + const double t563 = t243 * t562; + const double t566 = t180 * t536; + const double t570 = t105 * t429 * t411; + const double t573 = t243 * t182; + const double t574 = t573 * t405; + const double t576 = t110 * t245; + const double t577 = t576 * t195; + const double t578 = t105 * t577; + const double t580 = t436 * t577; + const double t582 = t388 * t245; + const double t583 = t443 * t193; + const double t586 = t241 * t173; + const double t589 = t536 * t107; + const double t592 = t243 * t173; + const double t595 = t536 * t102; + const double t598 = t187 * t589 - t190 * t595 - 0.2e1 * t446 * t586 + t452 * t586 - 0.2e1 * t454 * t592 + t460 * t592; + const double t599 = b * t598; + const double t604 = -t111 * t195 * t599 + t111 * t246 * t583 + t111 * t582 * t583 - t178 * t184 * t566 + t171 * t538 - 0.2e1 * t176 * t532 + t176 * t541 - t403 * t578 - t406 * t550 + t435 * t574 + t435 * t580 - 0.2e1 * t545 * t547 + t553 * t557 - t557 * t570 - 0.2e1 * t560 * t563 + t563 * t570; + const double t605 = piecewise_functor_5( t88, 0.0, t90, 0.0, t604 ); + const double t607 = t112 * t527 + t167 * t250 + t199 * t231 + t605 * t86 - t484; + const double t612 = piecewise_functor_3( t3, 0.0, t8 * t120 * t252 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t607 ); + const double t619 = 0.5e1 / 0.2187e4 * t213; + const double t620 = 0.13e2 / 0.7776e4 * t217; + const double t621 = -0.25e2 / 0.162e3 * t210 - t619 + t620; + const double t623 = t268 * t149; + const double t627 = t339 * t76; + const double t628 = t80 * t270; + const double t629 = t628 * t164; + const double t632 = t501 * t270; + const double t634 = t346 * t270; + const double t635 = t150 * t634; + const double t638 = -t619 + t620; + const double t639 = t151 * t638; + const double t641 = t621 * t84 - t623 * t164 / 0.2e1 - t334 * t271 + 0.3e1 / 0.2e1 * t627 * t629 - t150 * t632 - 0.1e2 / 0.27e2 * t635 * t127 - t150 * t639; + const double t645 = t375 * t276; + const double t646 = t91 * t645; + const double t649 = piecewise_functor_3( t92, 0.0, t641 ); + const double t650 = piecewise_functor_3( t94, t649, 0.0 ); + const double t651 = t650 * t98; + const double t652 = t651 * t175; + const double t654 = t391 * t276; + const double t655 = t389 * t654; + const double t657 = t170 * t276; + const double t658 = t657 * t98; + const double t659 = t389 * t658; + const double t662 = t401 * t657; + const double t665 = t415 * t276 * t110; + const double t666 = t554 * t665; + const double t668 = t285 * t562; + const double t671 = t180 * t650; + const double t676 = t285 * t182; + const double t677 = t676 * t405; + const double t679 = t110 * t287; + const double t680 = t679 * t195; + const double t681 = t105 * t680; + const double t683 = t436 * t680; + const double t685 = t388 * t287; + const double t688 = t283 * t173; + const double t691 = t650 * t107; + const double t694 = t285 * t173; + const double t697 = t650 * t102; + const double t700 = t187 * t691 - t190 * t697 - 0.2e1 * t446 * t688 + t452 * t688 - 0.2e1 * t454 * t694 + t460 * t694; + const double t701 = b * t700; + const double t706 = -t111 * t195 * t701 + t111 * t288 * t583 + t111 * t583 * t685 - t178 * t184 * t671 + t171 * t652 - 0.2e1 * t176 * t646 + t176 * t655 - t403 * t681 - t406 * t662 + t435 * t677 + t435 * t683 - 0.2e1 * t547 * t659 + t553 * t666 - 0.2e1 * t560 * t668 - t570 * t666 + t570 * t668; + const double t707 = piecewise_functor_5( t88, 0.0, t90, 0.0, t706 ); + const double t709 = t112 * t641 + t167 * t292 + t199 * t273 + t707 * t86; + const double t714 = piecewise_functor_3( t3, 0.0, t8 * t120 * t294 / 0.1e2 + 0.3e1 / 0.2e2 * t8 * t24 * t709 ); + const double t718 = t50 * t136 * t84; + const double t721 = t228 * t228; + const double t724 = t221 * t221; + const double t727 = t346 * t221; + const double t730 = t151 * t47; + const double t731 = t516 * t71; + const double t736 = 0.2e1 * t724 * t80 - 0.5e1 / 0.9e1 * t727 * t210 + t730 * t731 / 0.2187e4 + 0.25e2 / 0.432e3 * t357 * t731; + const double t739 = t718 / 0.4374e4 - t493 * t228 + 0.3e1 / 0.4e1 * t339 * t721 - t150 * t736 / 0.2e1; + const double t743 = t234 * t234; + const double t744 = t743 * t98; + const double t745 = t744 * t175; + const double t748 = piecewise_functor_3( t92, 0.0, t739 ); + const double t749 = piecewise_functor_3( t94, t748, 0.0 ); + const double t750 = t749 * t98; + const double t751 = t750 * t175; + const double t755 = t170 * t743 * t98; + const double t756 = t389 * t755; + const double t761 = t411 * t743; + const double t762 = t761 * t417; + const double t764 = t421 * t743; + const double t768 = t180 * t749; + const double t774 = t573 * t577; + const double t777 = t245 * t245; + const double t778 = t388 * t777; + const double t781 = t743 * t107; + const double t784 = t749 * t107; + const double t787 = t743 * t102; + const double t790 = t749 * t102; + const double t793 = t187 * t784 - t190 * t790 - 0.2e1 * t446 * t781 + t452 * t781 - 0.2e1 * t454 * t787 + t460 * t787; + const double t794 = b * t793; + const double t797 = b * t777; + const double t800 = -t111 * t195 * t794 + t111 * t443 * t778 + t111 * t443 * t797 - 0.2e1 * t178 * t184 * t764 - t178 * t184 * t768 + t184 * t430 * t761 + t171 * t751 - 0.2e1 * t376 * t745 + t392 * t745 - 0.2e1 * t398 * t756 + t409 * t762 - t430 * t762 + 0.2e1 * t435 * t774 - 0.2e1 * t550 * t578; + const double t801 = piecewise_functor_5( t88, 0.0, t90, 0.0, t800 ); + const double t803 = t112 * t739 + 0.2e1 * t231 * t250 + t801 * t86; + const double t807 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t803 ); + const double t810 = t50 * t63 * t84; + const double t815 = t628 * t228; + const double t818 = t221 * t80; + const double t819 = t818 * t270; + const double t821 = t150 * t346; + const double t822 = t270 * t25; + const double t823 = t822 * t225; + const double t826 = t150 * t151; + const double t827 = t50 * t63; + const double t828 = t826 * t827; + const double t830 = -t810 / 0.2592e4 - t623 * t228 / 0.2e1 - t493 * t271 + 0.3e1 / 0.2e1 * t627 * t815 - t150 * t819 + 0.5e1 / 0.36e2 * t821 * t823 + t828 / 0.2592e4; + const double t836 = piecewise_functor_3( t92, 0.0, t830 ); + const double t837 = piecewise_functor_3( t94, t836, 0.0 ); + const double t838 = t837 * t98; + const double t839 = t838 * t175; + const double t843 = t397 * t234 * t184; + const double t847 = t234 * t413; + const double t848 = t847 * t665; + const double t850 = t561 * t234; + const double t851 = t285 * t850; + const double t854 = t180 * t837; + const double t859 = t676 * t577; + const double t862 = t573 * t680; + const double t864 = t443 * t245; + const double t867 = t283 * t234; + const double t870 = t837 * t107; + const double t873 = t285 * t234; + const double t876 = t837 * t102; + const double t879 = t187 * t870 - t190 * t876 - 0.2e1 * t446 * t867 + t452 * t867 - 0.2e1 * t454 * t873 + t460 * t873; + const double t880 = b * t879; + const double t885 = -t111 * t195 * t880 + t111 * t288 * t864 + t111 * t685 * t864 - t178 * t184 * t854 + t171 * t839 - 0.2e1 * t236 * t646 + t236 * t655 + t435 * t859 + t435 * t862 - t550 * t681 + t553 * t848 - 0.2e1 * t560 * t851 - t570 * t848 + t570 * t851 - t578 * t662 - 0.2e1 * t659 * t843; + const double t886 = piecewise_functor_5( t88, 0.0, t90, 0.0, t885 ); + const double t888 = t112 * t830 + t231 * t292 + t250 * t273 + t86 * t886; + const double t892 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t888 ); + const double t894 = t31 * t55; + const double t900 = t270 * t270; + const double t901 = t356 * t900; + const double t904 = t900 * t80; + const double t906 = t50 * t894; + const double t909 = t50 * t894 * t84 / 0.1458e4 - 0.2e1 * t623 * t271 + 0.3e1 * t339 * t901 - t150 * t904 - t826 * t906 / 0.1458e4; + const double t913 = t276 * t276; + const double t914 = t913 * t98; + const double t915 = t914 * t175; + const double t918 = piecewise_functor_3( t92, 0.0, t909 ); + const double t919 = piecewise_functor_3( t94, t918, 0.0 ); + const double t920 = t919 * t98; + const double t921 = t920 * t175; + const double t925 = t170 * t913 * t98; + const double t926 = t389 * t925; + const double t931 = t411 * t913; + const double t932 = t931 * t417; + const double t934 = t421 * t913; + const double t944 = t676 * t680; + const double t947 = t287 * t287; + const double t948 = t388 * t947; + const double t951 = t913 * t107; + const double t954 = t919 * t107; + const double t957 = t913 * t102; + const double t960 = t919 * t102; + const double t963 = t187 * t954 - t190 * t960 - 0.2e1 * t446 * t951 + t452 * t951 - 0.2e1 * t454 * t957 + t460 * t957; + const double t964 = b * t963; + const double t967 = b * t947; + const double t970 = -t178 * t180 * t184 * t919 - t111 * t195 * t964 + t111 * t443 * t948 + t111 * t443 * t967 - 0.2e1 * t178 * t184 * t934 + t184 * t430 * t931 + t171 * t921 - 0.2e1 * t376 * t915 + t392 * t915 - 0.2e1 * t398 * t926 + t409 * t932 - t430 * t932 + 0.2e1 * t435 * t944 - 0.2e1 * t662 * t681; + const double t971 = piecewise_functor_5( t88, 0.0, t90, 0.0, t970 ); + const double t973 = t112 * t909 + 0.2e1 * t273 * t292 + t86 * t971; + const double t977 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.2e2 * t8 * t24 * t973 ); + + + vrho = 0.2e1 * rho * t206 + 0.2e1 * t118; + vsigma = 0.2e1 * rho * t256; + vlapl = 0.2e1 * rho * t298; + vtau = 0.e0; + v2rho2 = 0.2e1 * rho * t477 + 0.4e1 * t206; + v2rhosigma = 0.2e1 * rho * t612 + 0.2e1 * t256; + v2rholapl = 0.2e1 * rho * t714 + 0.2e1 * t298; + v2rhotau = 0.e0; + v2sigma2 = 0.2e1 * rho * t807; + v2sigmalapl = 0.2e1 * rho * t892; + v2sigmatau = 0.e0; + v2lapl2 = 0.2e1 * rho * t977; + v2lapltau = 0.e0; + v2tau2 = 0.e0; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(tau_a); + (void)(tau_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t33 = constants::m_cbrt_6; + constexpr double t34 = constants::m_pi_sq; + constexpr double t35 = constants::m_cbrt_pi_sq; + constexpr double t4 = t3 * t3; + constexpr double t36 = t35 * t35; + constexpr double t37 = 0.1e1 / t36; + constexpr double t38 = t33 * t37; + constexpr double t53 = t33 * t33; + constexpr double t55 = 0.1e1 / t35 / t34; + constexpr double t56 = t53 * t55; + constexpr double t90 = a / 0.4e2; + constexpr double t92 = 0.39e2 / 0.4e2 * a; + constexpr double t94 = a * b; + + + const double t2 = rho_a <= dens_tol; + const double t7 = t4 * t5 * M_PI; + const double t8 = rho_a + rho_b; + const double t9 = 0.1e1 / t8; + const double t12 = 0.2e1 * rho_a * t9 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t9 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t18 * t9 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * t23; + const double t25 = t24 * zeta_tol; + const double t26 = safe_math::cbrt( t21 ); + const double t27 = t26 * t26; + const double t29 = piecewise_functor_3( t22, t25, t27 * t21 ); + const double t30 = safe_math::cbrt( t8 ); + const double t31 = t30 * t30; + const double t32 = t29 * t31; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t45 = t38 * sigma_aa * t43; + const double t46 = 0.5e1 / 0.72e2 * t45; + const double t49 = 0.1e1 / t41 / rho_a; + const double t57 = lapl_a * lapl_a; + const double t58 = t39 * rho_a; + const double t60 = 0.1e1 / t40 / t58; + const double t63 = t56 * t57 * t60 / 0.5832e4; + const double t64 = t39 * t39; + const double t66 = 0.1e1 / t40 / t64; + const double t67 = sigma_aa * t66; + const double t70 = t56 * t67 * lapl_a / 0.5184e4; + const double t71 = sigma_aa * sigma_aa; + const double t72 = t64 * rho_a; + const double t74 = 0.1e1 / t40 / t72; + const double t77 = t56 * t71 * t74 / 0.17496e5; + const double t78 = 0.1e1 + 0.5e1 / 0.648e3 * t45 + 0.5e1 / 0.54e2 * t38 * lapl_a * t49 + t63 - t70 + t77; + const double t79 = t63 - t70 + t77; + const double t80 = t79 * t79; + const double t81 = 0.1e1 + t46; + const double t82 = t81 * t81; + const double t83 = 0.1e1 / t82; + const double t85 = t80 * t83 + 0.1e1; + const double t86 = safe_math::sqrt( t85 ); + const double t87 = 0.1e1 / t86; + const double t89 = t78 * t87 - t46; + const double t91 = t89 <= t90; + const double t93 = t92 <= t89; + const double t95 = t89 < t90; + const double t96 = piecewise_functor_3( t95, t90, t89 ); + const double t97 = t96 < t92; + const double t98 = piecewise_functor_3( t97, t96, t92 ); + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t94 * t99 ); + const double t102 = a - t98; + const double t105 = safe_math::exp( -a / t102 ); + const double t106 = 0.1e1 + t105; + const double t107 = safe_math::pow( t106, b ); + const double t108 = t101 * t107; + const double t110 = safe_math::exp( -a * t99 ); + const double t111 = t110 + t105; + const double t112 = safe_math::pow( t111, b ); + const double t113 = 0.1e1 / t112; + const double t114 = t108 * t113; + const double t115 = piecewise_functor_5( t91, 0.0, t93, 1.0, t114 ); + const double t117 = t89 * t115 + t46; + const double t121 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t117 ); + const double t122 = rho_b <= dens_tol; + const double t123 = -t18; + const double t125 = piecewise_functor_5( t16, t13, t12, t17, t123 * t9 ); + const double t126 = 0.1e1 + t125; + const double t127 = t126 <= zeta_tol; + const double t128 = safe_math::cbrt( t126 ); + const double t129 = t128 * t128; + const double t131 = piecewise_functor_3( t127, t25, t129 * t126 ); + const double t132 = t131 * t31; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t139 = t38 * sigma_bb * t137; + const double t140 = 0.5e1 / 0.72e2 * t139; + const double t143 = 0.1e1 / t135 / rho_b; + const double t147 = lapl_b * lapl_b; + const double t148 = t133 * rho_b; + const double t150 = 0.1e1 / t134 / t148; + const double t153 = t56 * t147 * t150 / 0.5832e4; + const double t154 = t133 * t133; + const double t156 = 0.1e1 / t134 / t154; + const double t157 = sigma_bb * t156; + const double t160 = t56 * t157 * lapl_b / 0.5184e4; + const double t161 = sigma_bb * sigma_bb; + const double t162 = t154 * rho_b; + const double t164 = 0.1e1 / t134 / t162; + const double t167 = t56 * t161 * t164 / 0.17496e5; + const double t168 = 0.1e1 + 0.5e1 / 0.648e3 * t139 + 0.5e1 / 0.54e2 * t38 * lapl_b * t143 + t153 - t160 + t167; + const double t169 = t153 - t160 + t167; + const double t170 = t169 * t169; + const double t171 = 0.1e1 + t140; + const double t172 = t171 * t171; + const double t173 = 0.1e1 / t172; + const double t175 = t170 * t173 + 0.1e1; + const double t176 = safe_math::sqrt( t175 ); + const double t177 = 0.1e1 / t176; + const double t179 = t168 * t177 - t140; + const double t180 = t179 <= t90; + const double t181 = t92 <= t179; + const double t182 = t179 < t90; + const double t183 = piecewise_functor_3( t182, t90, t179 ); + const double t184 = t183 < t92; + const double t185 = piecewise_functor_3( t184, t183, t92 ); + const double t186 = 0.1e1 / t185; + const double t188 = safe_math::exp( -t94 * t186 ); + const double t189 = a - t185; + const double t192 = safe_math::exp( -a / t189 ); + const double t193 = 0.1e1 + t192; + const double t194 = safe_math::pow( t193, b ); + const double t195 = t188 * t194; + const double t197 = safe_math::exp( -a * t186 ); + const double t198 = t197 + t192; + const double t199 = safe_math::pow( t198, b ); + const double t200 = 0.1e1 / t199; + const double t201 = t195 * t200; + const double t202 = piecewise_functor_5( t180, 0.0, t181, 1.0, t201 ); + const double t204 = t179 * t202 + t140; + const double t208 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t204 ); + + + eps = t121 + t208; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(tau_a); + (void)(tau_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t33 = constants::m_cbrt_6; + constexpr double t34 = constants::m_pi_sq; + constexpr double t35 = constants::m_cbrt_pi_sq; + constexpr double t4 = t3 * t3; + constexpr double t36 = t35 * t35; + constexpr double t37 = 0.1e1 / t36; + constexpr double t38 = t33 * t37; + constexpr double t53 = t33 * t33; + constexpr double t55 = 0.1e1 / t35 / t34; + constexpr double t56 = t53 * t55; + constexpr double t90 = a / 0.4e2; + constexpr double t92 = 0.39e2 / 0.4e2 * a; + constexpr double t94 = a * b; + + + const double t2 = rho_a <= dens_tol; + const double t7 = t4 * t5 * M_PI; + const double t8 = rho_a + rho_b; + const double t9 = 0.1e1 / t8; + const double t12 = 0.2e1 * rho_a * t9 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t9 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t18 * t9 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * t23; + const double t25 = t24 * zeta_tol; + const double t26 = safe_math::cbrt( t21 ); + const double t27 = t26 * t26; + const double t29 = piecewise_functor_3( t22, t25, t27 * t21 ); + const double t30 = safe_math::cbrt( t8 ); + const double t31 = t30 * t30; + const double t32 = t29 * t31; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t45 = t38 * sigma_aa * t43; + const double t46 = 0.5e1 / 0.72e2 * t45; + const double t49 = 0.1e1 / t41 / rho_a; + const double t57 = lapl_a * lapl_a; + const double t58 = t39 * rho_a; + const double t60 = 0.1e1 / t40 / t58; + const double t63 = t56 * t57 * t60 / 0.5832e4; + const double t64 = t39 * t39; + const double t66 = 0.1e1 / t40 / t64; + const double t67 = sigma_aa * t66; + const double t70 = t56 * t67 * lapl_a / 0.5184e4; + const double t71 = sigma_aa * sigma_aa; + const double t72 = t64 * rho_a; + const double t74 = 0.1e1 / t40 / t72; + const double t77 = t56 * t71 * t74 / 0.17496e5; + const double t78 = 0.1e1 + 0.5e1 / 0.648e3 * t45 + 0.5e1 / 0.54e2 * t38 * lapl_a * t49 + t63 - t70 + t77; + const double t79 = t63 - t70 + t77; + const double t80 = t79 * t79; + const double t81 = 0.1e1 + t46; + const double t82 = t81 * t81; + const double t83 = 0.1e1 / t82; + const double t85 = t80 * t83 + 0.1e1; + const double t86 = safe_math::sqrt( t85 ); + const double t87 = 0.1e1 / t86; + const double t89 = t78 * t87 - t46; + const double t91 = t89 <= t90; + const double t93 = t92 <= t89; + const double t95 = t89 < t90; + const double t96 = piecewise_functor_3( t95, t90, t89 ); + const double t97 = t96 < t92; + const double t98 = piecewise_functor_3( t97, t96, t92 ); + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t94 * t99 ); + const double t102 = a - t98; + const double t105 = safe_math::exp( -a / t102 ); + const double t106 = 0.1e1 + t105; + const double t107 = safe_math::pow( t106, b ); + const double t108 = t101 * t107; + const double t110 = safe_math::exp( -a * t99 ); + const double t111 = t110 + t105; + const double t112 = safe_math::pow( t111, b ); + const double t113 = 0.1e1 / t112; + const double t114 = t108 * t113; + const double t115 = piecewise_functor_5( t91, 0.0, t93, 1.0, t114 ); + const double t117 = t89 * t115 + t46; + const double t121 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t117 ); + const double t122 = rho_b <= dens_tol; + const double t123 = -t18; + const double t125 = piecewise_functor_5( t16, t13, t12, t17, t123 * t9 ); + const double t126 = 0.1e1 + t125; + const double t127 = t126 <= zeta_tol; + const double t128 = safe_math::cbrt( t126 ); + const double t129 = t128 * t128; + const double t131 = piecewise_functor_3( t127, t25, t129 * t126 ); + const double t132 = t131 * t31; + const double t133 = rho_b * rho_b; + const double t134 = safe_math::cbrt( rho_b ); + const double t135 = t134 * t134; + const double t137 = 0.1e1 / t135 / t133; + const double t139 = t38 * sigma_bb * t137; + const double t140 = 0.5e1 / 0.72e2 * t139; + const double t143 = 0.1e1 / t135 / rho_b; + const double t147 = lapl_b * lapl_b; + const double t148 = t133 * rho_b; + const double t150 = 0.1e1 / t134 / t148; + const double t153 = t56 * t147 * t150 / 0.5832e4; + const double t154 = t133 * t133; + const double t156 = 0.1e1 / t134 / t154; + const double t157 = sigma_bb * t156; + const double t160 = t56 * t157 * lapl_b / 0.5184e4; + const double t161 = sigma_bb * sigma_bb; + const double t162 = t154 * rho_b; + const double t164 = 0.1e1 / t134 / t162; + const double t167 = t56 * t161 * t164 / 0.17496e5; + const double t168 = 0.1e1 + 0.5e1 / 0.648e3 * t139 + 0.5e1 / 0.54e2 * t38 * lapl_b * t143 + t153 - t160 + t167; + const double t169 = t153 - t160 + t167; + const double t170 = t169 * t169; + const double t171 = 0.1e1 + t140; + const double t172 = t171 * t171; + const double t173 = 0.1e1 / t172; + const double t175 = t170 * t173 + 0.1e1; + const double t176 = safe_math::sqrt( t175 ); + const double t177 = 0.1e1 / t176; + const double t179 = t168 * t177 - t140; + const double t180 = t179 <= t90; + const double t181 = t92 <= t179; + const double t182 = t179 < t90; + const double t183 = piecewise_functor_3( t182, t90, t179 ); + const double t184 = t183 < t92; + const double t185 = piecewise_functor_3( t184, t183, t92 ); + const double t186 = 0.1e1 / t185; + const double t188 = safe_math::exp( -t94 * t186 ); + const double t189 = a - t185; + const double t192 = safe_math::exp( -a / t189 ); + const double t193 = 0.1e1 + t192; + const double t194 = safe_math::pow( t193, b ); + const double t195 = t188 * t194; + const double t197 = safe_math::exp( -a * t186 ); + const double t198 = t197 + t192; + const double t199 = safe_math::pow( t198, b ); + const double t200 = 0.1e1 / t199; + const double t201 = t195 * t200; + const double t202 = piecewise_functor_5( t180, 0.0, t181, 1.0, t201 ); + const double t204 = t179 * t202 + t140; + const double t208 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t204 ); + const double t209 = t8 * t8; + const double t210 = 0.1e1 / t209; + const double t211 = t18 * t210; + const double t213 = piecewise_functor_5( t12, 0.0, t16, 0.0, t9 - t211 ); + const double t216 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t213 ); + const double t217 = t216 * t31; + const double t221 = 0.1e1 / t30; + const double t222 = t29 * t221; + const double t225 = t7 * t222 * t117 / 0.1e2; + const double t227 = 0.1e1 / t41 / t58; + const double t228 = sigma_aa * t227; + const double t229 = t38 * t228; + const double t230 = 0.5e1 / 0.27e2 * t229; + const double t237 = 0.5e1 / 0.8748e4 * t56 * t57 * t66; + const double t238 = sigma_aa * t74; + const double t241 = 0.13e2 / 0.15552e5 * t56 * t238 * lapl_a; + const double t242 = t64 * t39; + const double t244 = 0.1e1 / t40 / t242; + const double t247 = 0.2e1 / 0.6561e4 * t56 * t71 * t244; + const double t248 = -0.5e1 / 0.243e3 * t229 - 0.25e2 / 0.162e3 * t38 * lapl_a * t43 - t237 + t241 - t247; + const double t251 = 0.1e1 / t86 / t85; + const double t252 = t78 * t251; + const double t253 = t79 * t83; + const double t254 = -t237 + t241 - t247; + const double t257 = t82 * t81; + const double t258 = 0.1e1 / t257; + const double t259 = t80 * t258; + const double t260 = t259 * t33; + const double t261 = t37 * sigma_aa; + const double t262 = t261 * t227; + const double t265 = 0.2e1 * t253 * t254 + 0.1e2 / 0.27e2 * t260 * t262; + const double t268 = t248 * t87 - t252 * t265 / 0.2e1 + t230; + const double t270 = t98 * t98; + const double t271 = 0.1e1 / t270; + const double t272 = t94 * t271; + const double t273 = piecewise_functor_3( t95, 0.0, t268 ); + const double t274 = piecewise_functor_3( t97, t273, 0.0 ); + const double t275 = t274 * t101; + const double t276 = t107 * t113; + const double t277 = t275 * t276; + const double t279 = t108 * t94; + const double t280 = t102 * t102; + const double t281 = 0.1e1 / t280; + const double t282 = t281 * t274; + const double t283 = 0.1e1 / t106; + const double t285 = t105 * t283 * t113; + const double t288 = a * t271; + const double t289 = t274 * t110; + const double t291 = a * t281; + const double t292 = t274 * t105; + const double t294 = t288 * t289 - t291 * t292; + const double t296 = 0.1e1 / t111; + const double t300 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * b * t294 * t296 - t279 * t282 * t285 + t272 * t277 ); + const double t302 = t268 * t115 + t89 * t300 - t230; + const double t307 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t117 + t225 + 0.3e1 / 0.2e2 * t7 * t32 * t302 ); + const double t308 = t123 * t210; + const double t310 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t9 - t308 ); + const double t313 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t310 ); + const double t314 = t313 * t31; + const double t318 = t131 * t221; + const double t321 = t7 * t318 * t204 / 0.1e2; + const double t323 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t204 + t321 ); + const double t327 = piecewise_functor_5( t12, 0.0, t16, 0.0, -t9 - t211 ); + const double t330 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t327 ); + const double t331 = t330 * t31; + const double t336 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t117 + t225 ); + const double t338 = piecewise_functor_5( t16, 0.0, t12, 0.0, t9 - t308 ); + const double t341 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t338 ); + const double t342 = t341 * t31; + const double t347 = 0.1e1 / t135 / t148; + const double t349 = t38 * sigma_bb * t347; + const double t350 = 0.5e1 / 0.27e2 * t349; + const double t357 = 0.5e1 / 0.8748e4 * t56 * t147 * t156; + const double t358 = sigma_bb * t164; + const double t361 = 0.13e2 / 0.15552e5 * t56 * t358 * lapl_b; + const double t362 = t154 * t133; + const double t364 = 0.1e1 / t134 / t362; + const double t367 = 0.2e1 / 0.6561e4 * t56 * t161 * t364; + const double t368 = -0.5e1 / 0.243e3 * t349 - 0.25e2 / 0.162e3 * t38 * lapl_b * t137 - t357 + t361 - t367; + const double t371 = 0.1e1 / t176 / t175; + const double t372 = t168 * t371; + const double t373 = t169 * t173; + const double t374 = -t357 + t361 - t367; + const double t377 = t172 * t171; + const double t378 = 0.1e1 / t377; + const double t379 = t170 * t378; + const double t380 = t379 * t33; + const double t381 = t37 * sigma_bb; + const double t382 = t381 * t347; + const double t385 = 0.2e1 * t373 * t374 + 0.1e2 / 0.27e2 * t380 * t382; + const double t388 = t368 * t177 - t372 * t385 / 0.2e1 + t350; + const double t390 = t185 * t185; + const double t391 = 0.1e1 / t390; + const double t392 = t94 * t391; + const double t393 = piecewise_functor_3( t182, 0.0, t388 ); + const double t394 = piecewise_functor_3( t184, t393, 0.0 ); + const double t395 = t394 * t188; + const double t396 = t194 * t200; + const double t397 = t395 * t396; + const double t399 = t195 * t94; + const double t400 = t189 * t189; + const double t401 = 0.1e1 / t400; + const double t402 = t401 * t394; + const double t403 = 0.1e1 / t193; + const double t405 = t192 * t403 * t200; + const double t408 = a * t391; + const double t409 = t394 * t197; + const double t411 = a * t401; + const double t412 = t394 * t192; + const double t414 = t408 * t409 - t411 * t412; + const double t416 = 0.1e1 / t198; + const double t420 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * b * t414 * t416 - t399 * t402 * t405 + t392 * t397 ); + const double t422 = t179 * t420 + t388 * t202 - t350; + const double t427 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t204 + t321 + 0.3e1 / 0.2e2 * t7 * t132 * t422 ); + const double t430 = t38 * t43; + const double t431 = 0.5e1 / 0.72e2 * t430; + const double t434 = t56 * t66 * lapl_a; + const double t435 = t434 / 0.5184e4; + const double t436 = t56 * t238; + const double t437 = t436 / 0.8748e4; + const double t438 = 0.5e1 / 0.648e3 * t430 - t435 + t437; + const double t440 = -t435 + t437; + const double t445 = 0.2e1 * t253 * t440 - 0.5e1 / 0.36e2 * t259 * t430; + const double t448 = t438 * t87 - t252 * t445 / 0.2e1 - t431; + const double t450 = piecewise_functor_3( t95, 0.0, t448 ); + const double t451 = piecewise_functor_3( t97, t450, 0.0 ); + const double t452 = t451 * t101; + const double t453 = t452 * t276; + const double t455 = t281 * t451; + const double t458 = t451 * t110; + const double t460 = t451 * t105; + const double t462 = t288 * t458 - t291 * t460; + const double t463 = b * t462; + const double t467 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t463 * t296 - t279 * t455 * t285 + t272 * t453 ); + const double t469 = t448 * t115 + t89 * t467 + t431; + const double t473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t469 ); + const double t474 = t38 * t137; + const double t475 = 0.5e1 / 0.72e2 * t474; + const double t478 = t56 * t156 * lapl_b; + const double t479 = t478 / 0.5184e4; + const double t480 = t56 * t358; + const double t481 = t480 / 0.8748e4; + const double t482 = 0.5e1 / 0.648e3 * t474 - t479 + t481; + const double t484 = -t479 + t481; + const double t489 = 0.2e1 * t373 * t484 - 0.5e1 / 0.36e2 * t379 * t474; + const double t492 = t482 * t177 - t372 * t489 / 0.2e1 - t475; + const double t494 = piecewise_functor_3( t182, 0.0, t492 ); + const double t495 = piecewise_functor_3( t184, t494, 0.0 ); + const double t496 = t495 * t188; + const double t497 = t496 * t396; + const double t499 = t401 * t495; + const double t502 = t495 * t197; + const double t504 = t495 * t192; + const double t506 = t408 * t502 - t411 * t504; + const double t507 = b * t506; + const double t511 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t507 * t416 - t399 * t499 * t405 + t392 * t497 ); + const double t513 = t179 * t511 + t492 * t202 + t475; + const double t517 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t513 ); + const double t522 = t56 * lapl_a * t60 / 0.2916e4; + const double t524 = t56 * t67 / 0.5184e4; + const double t525 = 0.5e1 / 0.54e2 * t38 * t49 + t522 - t524; + const double t527 = t522 - t524; + const double t528 = t253 * t527; + const double t530 = -t252 * t528 + t525 * t87; + const double t532 = piecewise_functor_3( t95, 0.0, t530 ); + const double t533 = piecewise_functor_3( t97, t532, 0.0 ); + const double t534 = t533 * t101; + const double t535 = t534 * t276; + const double t537 = t281 * t533; + const double t540 = t533 * t110; + const double t542 = t533 * t105; + const double t544 = t288 * t540 - t291 * t542; + const double t545 = b * t544; + const double t549 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t545 * t296 - t279 * t537 * t285 + t272 * t535 ); + const double t551 = t530 * t115 + t89 * t549; + const double t555 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t551 ); + const double t560 = t56 * lapl_b * t150 / 0.2916e4; + const double t562 = t56 * t157 / 0.5184e4; + const double t563 = 0.5e1 / 0.54e2 * t38 * t143 + t560 - t562; + const double t565 = t560 - t562; + const double t566 = t373 * t565; + const double t568 = t563 * t177 - t372 * t566; + const double t570 = piecewise_functor_3( t182, 0.0, t568 ); + const double t571 = piecewise_functor_3( t184, t570, 0.0 ); + const double t572 = t571 * t188; + const double t573 = t572 * t396; + const double t575 = t401 * t571; + const double t578 = t571 * t197; + const double t580 = t571 * t192; + const double t582 = t408 * t578 - t411 * t580; + const double t583 = b * t582; + const double t587 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t583 * t416 - t399 * t575 * t405 + t392 * t573 ); + const double t589 = t179 * t587 + t568 * t202; + const double t593 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t589 ); + + + eps = t121 + t208; + vrho_a = t121 + t208 + t8 * ( t307 + t323 ); + vrho_b = t121 + t208 + t8 * ( t336 + t427 ); + vsigma_aa = t8 * t473; + vsigma_ab = 0.e0; + vsigma_bb = t8 * t517; + vlapl_a = t8 * t555; + vlapl_b = t8 * t593; + vtau_a = 0.e0; + vtau_b = 0.e0; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(tau_a); (void)(tau_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t33 = constants::m_cbrt_6; @@ -348,6 +1920,11 @@ struct kernel_traits< BuiltinPC07OPT_K > : constexpr double t90 = a / 0.4e2; constexpr double t92 = 0.39e2 / 0.4e2 * a; constexpr double t94 = a * b; + constexpr double t704 = a * a; + constexpr double t705 = b * b; + constexpr double t706 = t704 * t705; + constexpr double t718 = a * t705; + constexpr double t746 = b * t704; const double t2 = rho_a <= dens_tol; @@ -420,7 +1997,6 @@ struct kernel_traits< BuiltinPC07OPT_K > : const double t114 = t108 * t113; const double t115 = piecewise_functor_5( t91, 0.0, t93, 1.0, t114 ); const double t117 = t89 * t115 + t46; - const double t121 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t117 ); const double t122 = rho_b <= dens_tol; const double t123 = -t18; const double t125 = piecewise_functor_5( t16, t13, t12, t17, t123 * t9 ); @@ -479,20 +2055,894 @@ struct kernel_traits< BuiltinPC07OPT_K > : const double t201 = t195 * t200; const double t202 = piecewise_functor_5( t180, 0.0, t181, 1.0, t201 ); const double t204 = t179 * t202 + t140; - const double t208 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t204 ); + const double t209 = t8 * t8; + const double t210 = 0.1e1 / t209; + const double t211 = t18 * t210; + const double t213 = piecewise_functor_5( t12, 0.0, t16, 0.0, t9 - t211 ); + const double t216 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t213 ); + const double t217 = t216 * t31; + const double t221 = 0.1e1 / t30; + const double t222 = t29 * t221; + const double t225 = t7 * t222 * t117 / 0.1e2; + const double t227 = 0.1e1 / t41 / t58; + const double t228 = sigma_aa * t227; + const double t229 = t38 * t228; + const double t230 = 0.5e1 / 0.27e2 * t229; + const double t237 = 0.5e1 / 0.8748e4 * t56 * t57 * t66; + const double t238 = sigma_aa * t74; + const double t241 = 0.13e2 / 0.15552e5 * t56 * t238 * lapl_a; + const double t242 = t64 * t39; + const double t244 = 0.1e1 / t40 / t242; + const double t247 = 0.2e1 / 0.6561e4 * t56 * t71 * t244; + const double t248 = -0.5e1 / 0.243e3 * t229 - 0.25e2 / 0.162e3 * t38 * lapl_a * t43 - t237 + t241 - t247; + const double t251 = 0.1e1 / t86 / t85; + const double t252 = t78 * t251; + const double t253 = t79 * t83; + const double t254 = -t237 + t241 - t247; + const double t257 = t82 * t81; + const double t258 = 0.1e1 / t257; + const double t259 = t80 * t258; + const double t260 = t259 * t33; + const double t261 = t37 * sigma_aa; + const double t262 = t261 * t227; + const double t265 = 0.2e1 * t253 * t254 + 0.1e2 / 0.27e2 * t260 * t262; + const double t268 = t248 * t87 - t252 * t265 / 0.2e1 + t230; + const double t270 = t98 * t98; + const double t271 = 0.1e1 / t270; + const double t272 = t94 * t271; + const double t273 = piecewise_functor_3( t95, 0.0, t268 ); + const double t274 = piecewise_functor_3( t97, t273, 0.0 ); + const double t275 = t274 * t101; + const double t276 = t107 * t113; + const double t277 = t275 * t276; + const double t279 = t108 * t94; + const double t280 = t102 * t102; + const double t281 = 0.1e1 / t280; + const double t282 = t281 * t274; + const double t283 = 0.1e1 / t106; + const double t285 = t105 * t283 * t113; + const double t288 = a * t271; + const double t289 = t274 * t110; + const double t291 = a * t281; + const double t292 = t274 * t105; + const double t294 = t288 * t289 - t291 * t292; + const double t296 = 0.1e1 / t111; + const double t300 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * b * t294 * t296 - t279 * t282 * t285 + t272 * t277 ); + const double t302 = t268 * t115 + t89 * t300 - t230; + const double t307 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t117 + t225 + 0.3e1 / 0.2e2 * t7 * t32 * t302 ); + const double t308 = t123 * t210; + const double t310 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t9 - t308 ); + const double t313 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t310 ); + const double t314 = t313 * t31; + const double t318 = t131 * t221; + const double t321 = t7 * t318 * t204 / 0.1e2; + const double t323 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t204 + t321 ); + const double t327 = piecewise_functor_5( t12, 0.0, t16, 0.0, -t9 - t211 ); + const double t330 = piecewise_functor_3( t22, 0.0, 0.5e1 / 0.3e1 * t27 * t327 ); + const double t331 = t330 * t31; + const double t336 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t117 + t225 ); + const double t338 = piecewise_functor_5( t16, 0.0, t12, 0.0, t9 - t308 ); + const double t341 = piecewise_functor_3( t127, 0.0, 0.5e1 / 0.3e1 * t129 * t338 ); + const double t342 = t341 * t31; + const double t347 = 0.1e1 / t135 / t148; + const double t349 = t38 * sigma_bb * t347; + const double t350 = 0.5e1 / 0.27e2 * t349; + const double t357 = 0.5e1 / 0.8748e4 * t56 * t147 * t156; + const double t358 = sigma_bb * t164; + const double t361 = 0.13e2 / 0.15552e5 * t56 * t358 * lapl_b; + const double t362 = t154 * t133; + const double t364 = 0.1e1 / t134 / t362; + const double t367 = 0.2e1 / 0.6561e4 * t56 * t161 * t364; + const double t368 = -0.5e1 / 0.243e3 * t349 - 0.25e2 / 0.162e3 * t38 * lapl_b * t137 - t357 + t361 - t367; + const double t371 = 0.1e1 / t176 / t175; + const double t372 = t168 * t371; + const double t373 = t169 * t173; + const double t374 = -t357 + t361 - t367; + const double t377 = t172 * t171; + const double t378 = 0.1e1 / t377; + const double t379 = t170 * t378; + const double t380 = t379 * t33; + const double t381 = t37 * sigma_bb; + const double t382 = t381 * t347; + const double t385 = 0.2e1 * t373 * t374 + 0.1e2 / 0.27e2 * t380 * t382; + const double t388 = t368 * t177 - t372 * t385 / 0.2e1 + t350; + const double t390 = t185 * t185; + const double t391 = 0.1e1 / t390; + const double t392 = t94 * t391; + const double t393 = piecewise_functor_3( t182, 0.0, t388 ); + const double t394 = piecewise_functor_3( t184, t393, 0.0 ); + const double t395 = t394 * t188; + const double t396 = t194 * t200; + const double t397 = t395 * t396; + const double t399 = t195 * t94; + const double t400 = t189 * t189; + const double t401 = 0.1e1 / t400; + const double t402 = t401 * t394; + const double t403 = 0.1e1 / t193; + const double t405 = t192 * t403 * t200; + const double t408 = a * t391; + const double t409 = t394 * t197; + const double t411 = a * t401; + const double t412 = t394 * t192; + const double t414 = t408 * t409 - t411 * t412; + const double t416 = 0.1e1 / t198; + const double t420 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * b * t414 * t416 - t399 * t402 * t405 + t392 * t397 ); + const double t422 = t179 * t420 + t388 * t202 - t350; + const double t427 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t204 + t321 + 0.3e1 / 0.2e2 * t7 * t132 * t422 ); + const double t430 = t38 * t43; + const double t431 = 0.5e1 / 0.72e2 * t430; + const double t434 = t56 * t66 * lapl_a; + const double t435 = t434 / 0.5184e4; + const double t436 = t56 * t238; + const double t437 = t436 / 0.8748e4; + const double t438 = 0.5e1 / 0.648e3 * t430 - t435 + t437; + const double t440 = -t435 + t437; + const double t445 = 0.2e1 * t253 * t440 - 0.5e1 / 0.36e2 * t259 * t430; + const double t448 = t438 * t87 - t252 * t445 / 0.2e1 - t431; + const double t450 = piecewise_functor_3( t95, 0.0, t448 ); + const double t451 = piecewise_functor_3( t97, t450, 0.0 ); + const double t452 = t451 * t101; + const double t453 = t452 * t276; + const double t455 = t281 * t451; + const double t458 = t451 * t110; + const double t460 = t451 * t105; + const double t462 = t288 * t458 - t291 * t460; + const double t463 = b * t462; + const double t467 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t463 * t296 - t279 * t455 * t285 + t272 * t453 ); + const double t469 = t448 * t115 + t89 * t467 + t431; + const double t473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t469 ); + const double t474 = t38 * t137; + const double t475 = 0.5e1 / 0.72e2 * t474; + const double t478 = t56 * t156 * lapl_b; + const double t479 = t478 / 0.5184e4; + const double t480 = t56 * t358; + const double t481 = t480 / 0.8748e4; + const double t482 = 0.5e1 / 0.648e3 * t474 - t479 + t481; + const double t484 = -t479 + t481; + const double t489 = 0.2e1 * t373 * t484 - 0.5e1 / 0.36e2 * t379 * t474; + const double t492 = t482 * t177 - t372 * t489 / 0.2e1 - t475; + const double t494 = piecewise_functor_3( t182, 0.0, t492 ); + const double t495 = piecewise_functor_3( t184, t494, 0.0 ); + const double t496 = t495 * t188; + const double t497 = t496 * t396; + const double t499 = t401 * t495; + const double t502 = t495 * t197; + const double t504 = t495 * t192; + const double t506 = t408 * t502 - t411 * t504; + const double t507 = b * t506; + const double t511 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t507 * t416 - t399 * t499 * t405 + t392 * t497 ); + const double t513 = t179 * t511 + t492 * t202 + t475; + const double t517 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t513 ); + const double t522 = t56 * lapl_a * t60 / 0.2916e4; + const double t524 = t56 * t67 / 0.5184e4; + const double t525 = 0.5e1 / 0.54e2 * t38 * t49 + t522 - t524; + const double t527 = t522 - t524; + const double t528 = t253 * t527; + const double t530 = -t252 * t528 + t525 * t87; + const double t532 = piecewise_functor_3( t95, 0.0, t530 ); + const double t533 = piecewise_functor_3( t97, t532, 0.0 ); + const double t534 = t533 * t101; + const double t535 = t534 * t276; + const double t537 = t281 * t533; + const double t540 = t533 * t110; + const double t542 = t533 * t105; + const double t544 = t288 * t540 - t291 * t542; + const double t545 = b * t544; + const double t549 = piecewise_functor_5( t91, 0.0, t93, 0.0, -t114 * t545 * t296 - t279 * t537 * t285 + t272 * t535 ); + const double t551 = t530 * t115 + t89 * t549; + const double t555 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t551 ); + const double t560 = t56 * lapl_b * t150 / 0.2916e4; + const double t562 = t56 * t157 / 0.5184e4; + const double t563 = 0.5e1 / 0.54e2 * t38 * t143 + t560 - t562; + const double t565 = t560 - t562; + const double t566 = t373 * t565; + const double t568 = t563 * t177 - t372 * t566; + const double t570 = piecewise_functor_3( t182, 0.0, t568 ); + const double t571 = piecewise_functor_3( t184, t570, 0.0 ); + const double t572 = t571 * t188; + const double t573 = t572 * t396; + const double t575 = t401 * t571; + const double t578 = t571 * t197; + const double t580 = t571 * t192; + const double t582 = t408 * t578 - t411 * t580; + const double t583 = b * t582; + const double t587 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t583 * t416 - t399 * t575 * t405 + t392 * t573 ); + const double t589 = t179 * t587 + t568 * t202; + const double t593 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t589 ); + const double t596 = 0.1e1 / t26; + const double t597 = t213 * t213; + const double t600 = t209 * t8; + const double t601 = 0.1e1 / t600; + const double t602 = t18 * t601; + const double t605 = piecewise_functor_5( t12, 0.0, t16, 0.0, -0.2e1 * t210 + 0.2e1 * t602 ); + const double t609 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t597 + 0.5e1 / 0.3e1 * t27 * t605 ); + const double t610 = t609 * t31; + const double t614 = t216 * t221; + const double t616 = t7 * t614 * t117; + const double t622 = 0.1e1 / t30 / t8; + const double t623 = t29 * t622; + const double t626 = t7 * t623 * t117 / 0.3e2; + const double t628 = t7 * t222 * t302; + const double t631 = 0.1e1 / t41 / t64; + const double t633 = t38 * sigma_aa * t631; + const double t634 = 0.55e2 / 0.81e2 * t633; + const double t641 = 0.65e2 / 0.26244e5 * t56 * t57 * t74; + const double t642 = sigma_aa * t244; + const double t645 = 0.13e2 / 0.2916e4 * t56 * t642 * lapl_a; + const double t646 = t64 * t58; + const double t648 = 0.1e1 / t40 / t646; + const double t650 = t56 * t71 * t648; + const double t651 = 0.38e2 / 0.19683e5 * t650; + const double t652 = 0.55e2 / 0.729e3 * t633 + 0.1e3 / 0.243e3 * t38 * lapl_a * t227 + t641 - t645 + t651; + const double t654 = t248 * t251; + const double t656 = t85 * t85; + const double t658 = 0.1e1 / t86 / t656; + const double t659 = t78 * t658; + const double t660 = t265 * t265; + const double t663 = t254 * t254; + const double t666 = t79 * t258; + const double t667 = t666 * t254; + const double t670 = t641 - t645 + t651; + const double t673 = t82 * t82; + const double t674 = 0.1e1 / t673; + const double t675 = t80 * t674; + const double t676 = t675 * t53; + const double t677 = t55 * t71; + const double t678 = t677 * t648; + const double t681 = t261 * t631; + const double t684 = 0.2e1 * t663 * t83 + 0.4e2 / 0.27e2 * t667 * t229 + 0.2e1 * t253 * t670 + 0.5e2 / 0.243e3 * t676 * t678 - 0.11e3 / 0.81e2 * t260 * t681; + const double t687 = t652 * t87 - t654 * t265 + 0.3e1 / 0.4e1 * t659 * t660 - t252 * t684 / 0.2e1 - t634; + const double t691 = t270 * t98; + const double t692 = 0.1e1 / t691; + const double t693 = t94 * t692; + const double t694 = t274 * t274; + const double t695 = t694 * t101; + const double t696 = t695 * t276; + const double t699 = piecewise_functor_3( t95, 0.0, t687 ); + const double t700 = piecewise_functor_3( t97, t699, 0.0 ); + const double t701 = t700 * t101; + const double t702 = t701 * t276; + const double t707 = t270 * t270; + const double t708 = 0.1e1 / t707; + const double t709 = t706 * t708; + const double t712 = t271 * t694 * t101; + const double t713 = t706 * t712; + const double t714 = t107 * t281; + const double t715 = t714 * t285; + const double t719 = t271 * t274; + const double t720 = t718 * t719; + const double t722 = t113 * t294 * t296; + const double t723 = t108 * t722; + const double t726 = t108 * t706; + const double t727 = t280 * t280; + const double t728 = 0.1e1 / t727; + const double t729 = t728 * t694; + const double t730 = t105 * t105; + const double t731 = t106 * t106; + const double t732 = 0.1e1 / t731; + const double t733 = t730 * t732; + const double t734 = t733 * t113; + const double t735 = t729 * t734; + const double t737 = t280 * t102; + const double t738 = 0.1e1 / t737; + const double t739 = t738 * t694; + const double t743 = t281 * t700; + const double t747 = t108 * t746; + const double t752 = t108 * t718 * t281; + const double t753 = t292 * t283; + const double t754 = t753 * t722; + const double t757 = t294 * t294; + const double t758 = t705 * t757; + const double t759 = t111 * t111; + const double t760 = 0.1e1 / t759; + const double t763 = a * t692; + const double t764 = t694 * t110; + const double t769 = t704 * t708; + const double t771 = a * t738; + const double t772 = t694 * t105; + const double t775 = t700 * t105; + const double t777 = t704 * t728; + const double t779 = t288 * t700 * t110 - t291 * t775 - 0.2e1 * t763 * t764 + t769 * t764 - 0.2e1 * t771 * t772 + t777 * t772; + const double t780 = b * t779; + const double t786 = t114 * b * t757 * t760 - t114 * t780 * t296 + t114 * t758 * t760 - 0.2e1 * t279 * t739 * t285 - t279 * t743 * t285 + t747 * t729 * t285 + t272 * t702 - 0.2e1 * t693 * t696 + t709 * t696 - 0.2e1 * t713 * t715 - 0.2e1 * t720 * t723 + t726 * t735 - t747 * t735 + 0.2e1 * t752 * t754; + const double t787 = piecewise_functor_5( t91, 0.0, t93, 0.0, t786 ); + const double t789 = t687 * t115 + 0.2e1 * t268 * t300 + t89 * t787 + t634; + const double t794 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t610 * t117 + t616 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t217 * t302 - t626 + t628 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t32 * t789 ); + const double t795 = 0.1e1 / t128; + const double t796 = t310 * t310; + const double t799 = t123 * t601; + const double t802 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t210 + 0.2e1 * t799 ); + const double t806 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t796 + 0.5e1 / 0.3e1 * t129 * t802 ); + const double t807 = t806 * t31; + const double t811 = t313 * t221; + const double t813 = t7 * t811 * t204; + const double t815 = t131 * t622; + const double t818 = t7 * t815 * t204 / 0.3e2; + const double t820 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t807 * t204 + t813 / 0.5e1 - t818 ); + const double t823 = t596 * t327; + const double t827 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t602 ); + const double t831 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t823 * t213 + 0.5e1 / 0.3e1 * t27 * t827 ); + const double t832 = t831 * t31; + const double t836 = t330 * t221; + const double t838 = t7 * t836 * t117; + const double t846 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t832 * t117 + t838 / 0.1e2 + 0.3e1 / 0.2e2 * t7 * t331 * t302 + t616 / 0.1e2 - t626 + t628 / 0.1e2 ); + const double t847 = t795 * t338; + const double t851 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t799 ); + const double t855 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t847 * t310 + 0.5e1 / 0.3e1 * t129 * t851 ); + const double t856 = t855 * t31; + const double t860 = t341 * t221; + const double t862 = t7 * t860 * t204; + const double t869 = t7 * t318 * t422; + const double t872 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t856 * t204 + t862 / 0.1e2 + t813 / 0.1e2 - t818 + 0.3e1 / 0.2e2 * t7 * t314 * t422 + t869 / 0.1e2 ); + const double t877 = t327 * t327; + const double t882 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t210 + 0.2e1 * t602 ); + const double t886 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t877 + 0.5e1 / 0.3e1 * t27 * t882 ); + const double t887 = t886 * t31; + const double t893 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t887 * t117 + t838 / 0.5e1 - t626 ); + const double t894 = t338 * t338; + const double t899 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t210 + 0.2e1 * t799 ); + const double t903 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t894 + 0.5e1 / 0.3e1 * t129 * t899 ); + const double t904 = t903 * t31; + const double t914 = 0.1e1 / t135 / t154; + const double t916 = t38 * sigma_bb * t914; + const double t917 = 0.55e2 / 0.81e2 * t916; + const double t924 = 0.65e2 / 0.26244e5 * t56 * t147 * t164; + const double t925 = sigma_bb * t364; + const double t928 = 0.13e2 / 0.2916e4 * t56 * t925 * lapl_b; + const double t929 = t154 * t148; + const double t931 = 0.1e1 / t134 / t929; + const double t933 = t56 * t161 * t931; + const double t934 = 0.38e2 / 0.19683e5 * t933; + const double t935 = 0.55e2 / 0.729e3 * t916 + 0.1e3 / 0.243e3 * t38 * lapl_b * t347 + t924 - t928 + t934; + const double t937 = t368 * t371; + const double t939 = t175 * t175; + const double t941 = 0.1e1 / t176 / t939; + const double t942 = t168 * t941; + const double t943 = t385 * t385; + const double t946 = t374 * t374; + const double t949 = t169 * t378; + const double t950 = t949 * t374; + const double t953 = t924 - t928 + t934; + const double t956 = t172 * t172; + const double t957 = 0.1e1 / t956; + const double t958 = t170 * t957; + const double t959 = t958 * t53; + const double t960 = t55 * t161; + const double t961 = t960 * t931; + const double t964 = t381 * t914; + const double t967 = 0.2e1 * t946 * t173 + 0.4e2 / 0.27e2 * t950 * t349 + 0.2e1 * t373 * t953 + 0.5e2 / 0.243e3 * t959 * t961 - 0.11e3 / 0.81e2 * t380 * t964; + const double t970 = t935 * t177 - t937 * t385 + 0.3e1 / 0.4e1 * t942 * t943 - t372 * t967 / 0.2e1 - t917; + const double t974 = t390 * t185; + const double t975 = 0.1e1 / t974; + const double t976 = t94 * t975; + const double t977 = t394 * t394; + const double t978 = t977 * t188; + const double t979 = t978 * t396; + const double t982 = piecewise_functor_3( t182, 0.0, t970 ); + const double t983 = piecewise_functor_3( t184, t982, 0.0 ); + const double t984 = t983 * t188; + const double t985 = t984 * t396; + const double t987 = t390 * t390; + const double t988 = 0.1e1 / t987; + const double t989 = t706 * t988; + const double t992 = t391 * t977 * t188; + const double t993 = t706 * t992; + const double t994 = t194 * t401; + const double t995 = t994 * t405; + const double t998 = t391 * t394; + const double t999 = t718 * t998; + const double t1001 = t200 * t414 * t416; + const double t1002 = t195 * t1001; + const double t1005 = t195 * t706; + const double t1006 = t400 * t400; + const double t1007 = 0.1e1 / t1006; + const double t1008 = t1007 * t977; + const double t1009 = t192 * t192; + const double t1010 = t193 * t193; + const double t1011 = 0.1e1 / t1010; + const double t1012 = t1009 * t1011; + const double t1013 = t1012 * t200; + const double t1014 = t1008 * t1013; + const double t1016 = t400 * t189; + const double t1017 = 0.1e1 / t1016; + const double t1018 = t1017 * t977; + const double t1022 = t401 * t983; + const double t1025 = t195 * t746; + const double t1030 = t195 * t718 * t401; + const double t1031 = t412 * t403; + const double t1032 = t1031 * t1001; + const double t1035 = t414 * t414; + const double t1036 = t705 * t1035; + const double t1037 = t198 * t198; + const double t1038 = 0.1e1 / t1037; + const double t1041 = a * t975; + const double t1042 = t977 * t197; + const double t1047 = t704 * t988; + const double t1049 = a * t1017; + const double t1050 = t977 * t192; + const double t1053 = t983 * t192; + const double t1055 = t704 * t1007; + const double t1057 = t408 * t983 * t197 - 0.2e1 * t1041 * t1042 + t1047 * t1042 - 0.2e1 * t1049 * t1050 + t1055 * t1050 - t411 * t1053; + const double t1058 = b * t1057; + const double t1064 = t201 * b * t1035 * t1038 + t1025 * t1008 * t405 - 0.2e1 * t399 * t1018 * t405 - t399 * t1022 * t405 + t201 * t1036 * t1038 - t201 * t1058 * t416 - 0.2e1 * t999 * t1002 + t1005 * t1014 - t1025 * t1014 + 0.2e1 * t1030 * t1032 + t392 * t985 - 0.2e1 * t976 * t979 + t989 * t979 - 0.2e1 * t993 * t995; + const double t1065 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1064 ); + const double t1067 = t179 * t1065 + t970 * t202 + 0.2e1 * t388 * t420 + t917; + const double t1072 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t904 * t204 + t862 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t342 * t422 - t818 + t869 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t132 * t1067 ); + const double t1080 = t7 * t222 * t469 / 0.1e2; + const double t1081 = t38 * t227; + const double t1082 = 0.5e1 / 0.27e2 * t1081; + const double t1085 = t56 * t74 * lapl_a; + const double t1086 = 0.13e2 / 0.15552e5 * t1085; + const double t1087 = t56 * t642; + const double t1088 = 0.4e1 / 0.6561e4 * t1087; + const double t1089 = -0.5e1 / 0.243e3 * t1081 + t1086 - t1088; + const double t1091 = t438 * t251; + const double t1096 = t445 * t265; + const double t1099 = t254 * t83; + const double t1102 = t666 * t440; + const double t1105 = t1086 - t1088; + const double t1108 = t666 * t33; + const double t1109 = t37 * t43; + const double t1110 = t1109 * t254; + const double t1113 = t55 * t244; + const double t1114 = t1113 * sigma_aa; + const double t1119 = 0.2e1 * t1099 * t440 + 0.2e2 / 0.27e2 * t1102 * t229 + 0.2e1 * t253 * t1105 - 0.5e1 / 0.18e2 * t1108 * t1110 - 0.25e2 / 0.324e3 * t676 * t1114 + 0.1e2 / 0.27e2 * t259 * t1081; + const double t1122 = t1089 * t87 - t1091 * t265 / 0.2e1 - t654 * t445 / 0.2e1 + 0.3e1 / 0.4e1 * t659 * t1096 - t252 * t1119 / 0.2e1 + t1082; + const double t1126 = t692 * t451; + const double t1127 = t94 * t1126; + const double t1130 = piecewise_functor_3( t95, 0.0, t1122 ); + const double t1131 = piecewise_functor_3( t97, t1130, 0.0 ); + const double t1132 = t1131 * t101; + const double t1133 = t1132 * t276; + const double t1135 = t708 * t451; + const double t1136 = t706 * t1135; + const double t1138 = t271 * t451; + const double t1139 = t1138 * t101; + const double t1140 = t706 * t1139; + const double t1142 = t714 * t274 * t285; + const double t1145 = t718 * t1138; + const double t1148 = t108 * t706 * t728; + const double t1149 = t274 * t730; + const double t1151 = t732 * t451 * t113; + const double t1152 = t1149 * t1151; + const double t1155 = t108 * t94 * t738; + const double t1156 = t283 * t113; + const double t1157 = t1156 * t274; + const double t1158 = t460 * t1157; + const double t1161 = t281 * t1131; + const double t1165 = t108 * t746 * t728; + const double t1168 = t460 * t283; + const double t1169 = t1168 * t722; + const double t1171 = t113 * t462; + const double t1172 = t1171 * t296; + const double t1173 = t108 * t1172; + const double t1175 = t753 * t1172; + const double t1177 = t705 * t462; + const double t1178 = t760 * t294; + const double t1181 = t458 * t274; + const double t1184 = t1131 * t110; + const double t1187 = t460 * t274; + const double t1190 = t1131 * t105; + const double t1193 = -0.2e1 * t763 * t1181 + t769 * t1181 + t288 * t1184 - 0.2e1 * t771 * t1187 + t777 * t1187 - t291 * t1190; + const double t1194 = b * t1193; + const double t1199 = t114 * t1177 * t1178 + t114 * t463 * t1178 - t114 * t1194 * t296 - t279 * t1161 * t285 - 0.2e1 * t1127 * t277 + t272 * t1133 + t1136 * t277 - 0.2e1 * t1140 * t1142 - t1145 * t723 + t1148 * t1152 - t1165 * t1152 - 0.2e1 * t1155 * t1158 + t1165 * t1158 + t752 * t1169 - t720 * t1173 + t752 * t1175; + const double t1200 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1199 ); + const double t1202 = t1122 * t115 + t89 * t1200 + t268 * t467 + t448 * t300 - t1082; + const double t1207 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t469 + t1080 + 0.3e1 / 0.2e2 * t7 * t32 * t1202 ); + const double t1214 = t7 * t318 * t513 / 0.1e2; + const double t1216 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t513 + t1214 ); + const double t1222 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t469 + t1080 ); + const double t1227 = t38 * t347; + const double t1228 = 0.5e1 / 0.27e2 * t1227; + const double t1231 = t56 * t164 * lapl_b; + const double t1232 = 0.13e2 / 0.15552e5 * t1231; + const double t1233 = t56 * t925; + const double t1234 = 0.4e1 / 0.6561e4 * t1233; + const double t1235 = -0.5e1 / 0.243e3 * t1227 + t1232 - t1234; + const double t1237 = t482 * t371; + const double t1242 = t489 * t385; + const double t1245 = t374 * t173; + const double t1248 = t949 * t484; + const double t1251 = t1232 - t1234; + const double t1254 = t949 * t33; + const double t1255 = t37 * t137; + const double t1256 = t1255 * t374; + const double t1259 = t55 * t364; + const double t1260 = t1259 * sigma_bb; + const double t1265 = 0.2e1 * t1245 * t484 + 0.2e2 / 0.27e2 * t1248 * t349 + 0.2e1 * t373 * t1251 - 0.5e1 / 0.18e2 * t1254 * t1256 - 0.25e2 / 0.324e3 * t959 * t1260 + 0.1e2 / 0.27e2 * t379 * t1227; + const double t1268 = t1235 * t177 - t1237 * t385 / 0.2e1 - t937 * t489 / 0.2e1 + 0.3e1 / 0.4e1 * t942 * t1242 - t372 * t1265 / 0.2e1 + t1228; + const double t1272 = t975 * t495; + const double t1273 = t94 * t1272; + const double t1276 = piecewise_functor_3( t182, 0.0, t1268 ); + const double t1277 = piecewise_functor_3( t184, t1276, 0.0 ); + const double t1278 = t1277 * t188; + const double t1279 = t1278 * t396; + const double t1281 = t988 * t495; + const double t1282 = t706 * t1281; + const double t1284 = t391 * t495; + const double t1285 = t1284 * t188; + const double t1286 = t706 * t1285; + const double t1288 = t994 * t394 * t405; + const double t1291 = t718 * t1284; + const double t1294 = t195 * t706 * t1007; + const double t1295 = t394 * t1009; + const double t1297 = t1011 * t495 * t200; + const double t1298 = t1295 * t1297; + const double t1301 = t195 * t94 * t1017; + const double t1302 = t403 * t200; + const double t1303 = t1302 * t394; + const double t1304 = t504 * t1303; + const double t1307 = t401 * t1277; + const double t1311 = t195 * t746 * t1007; + const double t1314 = t504 * t403; + const double t1315 = t1314 * t1001; + const double t1317 = t200 * t506; + const double t1318 = t1317 * t416; + const double t1319 = t195 * t1318; + const double t1321 = t1031 * t1318; + const double t1323 = t705 * t506; + const double t1324 = t1038 * t414; + const double t1327 = t502 * t394; + const double t1330 = t1277 * t197; + const double t1333 = t504 * t394; + const double t1336 = t1277 * t192; + const double t1339 = -0.2e1 * t1041 * t1327 + t1047 * t1327 - 0.2e1 * t1049 * t1333 + t1055 * t1333 + t408 * t1330 - t411 * t1336; + const double t1340 = b * t1339; + const double t1345 = -t399 * t1307 * t405 + t201 * t1323 * t1324 + t201 * t507 * t1324 - t201 * t1340 * t416 - t1291 * t1002 + t1030 * t1315 + t1030 * t1321 - 0.2e1 * t1273 * t397 + t392 * t1279 + t1282 * t397 - 0.2e1 * t1286 * t1288 + t1294 * t1298 - t1311 * t1298 - 0.2e1 * t1301 * t1304 + t1311 * t1304 - t999 * t1319; + const double t1346 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1345 ); + const double t1348 = t1268 * t202 + t179 * t1346 + t388 * t511 + t492 * t420 - t1228; + const double t1353 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t513 + t1214 + 0.3e1 / 0.2e2 * t7 * t132 * t1348 ); + const double t1360 = t7 * t222 * t551 / 0.1e2; + const double t1362 = 0.5e1 / 0.4374e4 * t434; + const double t1363 = 0.13e2 / 0.15552e5 * t436; + const double t1364 = -0.25e2 / 0.162e3 * t430 - t1362 + t1363; + const double t1366 = t525 * t251; + const double t1370 = t659 * t79; + const double t1371 = t83 * t527; + const double t1372 = t1371 * t265; + const double t1375 = t1099 * t527; + const double t1377 = t252 * t666; + const double t1378 = t527 * t33; + const double t1379 = t1378 * t262; + const double t1382 = -t1362 + t1363; + const double t1383 = t253 * t1382; + const double t1385 = t1364 * t87 - t1366 * t265 / 0.2e1 - t654 * t528 + 0.3e1 / 0.2e1 * t1370 * t1372 - t252 * t1375 - 0.1e2 / 0.27e2 * t1377 * t1379 - t252 * t1383; + const double t1389 = t692 * t533; + const double t1390 = t94 * t1389; + const double t1393 = piecewise_functor_3( t95, 0.0, t1385 ); + const double t1394 = piecewise_functor_3( t97, t1393, 0.0 ); + const double t1395 = t1394 * t101; + const double t1396 = t1395 * t276; + const double t1398 = t708 * t533; + const double t1399 = t706 * t1398; + const double t1401 = t271 * t533; + const double t1402 = t1401 * t101; + const double t1403 = t706 * t1402; + const double t1406 = t718 * t1401; + const double t1409 = t732 * t533 * t113; + const double t1410 = t1149 * t1409; + const double t1412 = t542 * t1157; + const double t1415 = t281 * t1394; + const double t1420 = t542 * t283; + const double t1421 = t1420 * t722; + const double t1423 = t113 * t544; + const double t1424 = t1423 * t296; + const double t1425 = t108 * t1424; + const double t1427 = t753 * t1424; + const double t1429 = t705 * t544; + const double t1432 = t540 * t274; + const double t1435 = t1394 * t110; + const double t1438 = t542 * t274; + const double t1441 = t1394 * t105; + const double t1444 = -0.2e1 * t763 * t1432 + t769 * t1432 + t288 * t1435 - 0.2e1 * t771 * t1438 + t777 * t1438 - t291 * t1441; + const double t1445 = b * t1444; + const double t1450 = t114 * t1429 * t1178 + t114 * t545 * t1178 - t114 * t1445 * t296 - t279 * t1415 * t285 - 0.2e1 * t1403 * t1142 + t1148 * t1410 - 0.2e1 * t1155 * t1412 - t1165 * t1410 + t1165 * t1412 - 0.2e1 * t1390 * t277 + t272 * t1396 + t1399 * t277 - t1406 * t723 + t752 * t1421 - t720 * t1425 + t752 * t1427; + const double t1451 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1450 ); + const double t1453 = t1385 * t115 + t89 * t1451 + t268 * t549 + t530 * t300; + const double t1458 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t551 + t1360 + 0.3e1 / 0.2e2 * t7 * t32 * t1453 ); + const double t1465 = t7 * t318 * t589 / 0.1e2; + const double t1467 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t589 + t1465 ); + const double t1473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t551 + t1360 ); + const double t1479 = 0.5e1 / 0.4374e4 * t478; + const double t1480 = 0.13e2 / 0.15552e5 * t480; + const double t1481 = -0.25e2 / 0.162e3 * t474 - t1479 + t1480; + const double t1483 = t563 * t371; + const double t1487 = t942 * t169; + const double t1488 = t173 * t565; + const double t1489 = t1488 * t385; + const double t1492 = t1245 * t565; + const double t1494 = t372 * t949; + const double t1495 = t565 * t33; + const double t1496 = t1495 * t382; + const double t1499 = -t1479 + t1480; + const double t1500 = t373 * t1499; + const double t1502 = t1481 * t177 - t1483 * t385 / 0.2e1 - t937 * t566 + 0.3e1 / 0.2e1 * t1487 * t1489 - t372 * t1492 - 0.1e2 / 0.27e2 * t1494 * t1496 - t372 * t1500; + const double t1506 = t975 * t571; + const double t1507 = t94 * t1506; + const double t1510 = piecewise_functor_3( t182, 0.0, t1502 ); + const double t1511 = piecewise_functor_3( t184, t1510, 0.0 ); + const double t1512 = t1511 * t188; + const double t1513 = t1512 * t396; + const double t1515 = t988 * t571; + const double t1516 = t706 * t1515; + const double t1518 = t391 * t571; + const double t1519 = t1518 * t188; + const double t1520 = t706 * t1519; + const double t1523 = t718 * t1518; + const double t1526 = t1011 * t571 * t200; + const double t1527 = t1295 * t1526; + const double t1529 = t580 * t1303; + const double t1537 = t580 * t403; + const double t1538 = t1537 * t1001; + const double t1540 = t200 * t582; + const double t1541 = t1540 * t416; + const double t1542 = t195 * t1541; + const double t1544 = t1031 * t1541; + const double t1546 = t705 * t582; + const double t1549 = t578 * t394; + const double t1552 = t1511 * t197; + const double t1555 = t580 * t394; + const double t1558 = t1511 * t192; + const double t1561 = -0.2e1 * t1041 * t1549 + t1047 * t1549 - 0.2e1 * t1049 * t1555 + t1055 * t1555 + t408 * t1552 - t411 * t1558; + const double t1562 = b * t1561; + const double t1567 = -t399 * t401 * t1511 * t405 + t201 * t1546 * t1324 + t201 * t583 * t1324 - t201 * t1562 * t416 - t1523 * t1002 + t1030 * t1538 + t1030 * t1544 - 0.2e1 * t1520 * t1288 + t1294 * t1527 - 0.2e1 * t1301 * t1529 - t1311 * t1527 + t1311 * t1529 - 0.2e1 * t1507 * t397 + t392 * t1513 + t1516 * t397 - t999 * t1542; + const double t1568 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1567 ); + const double t1570 = t1502 * t202 + t179 * t1568 + t388 * t587 + t568 * t420; + const double t1575 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t589 + t1465 + 0.3e1 / 0.2e2 * t7 * t132 * t1570 ); + const double t1578 = t56 * t74 * t87; + const double t1581 = t445 * t445; + const double t1584 = t440 * t440; + const double t1589 = t56 * t74; + const double t1594 = 0.2e1 * t1584 * t83 - 0.5e1 / 0.9e1 * t1102 * t430 + t253 * t1589 / 0.4374e4 + 0.25e2 / 0.864e3 * t675 * t1589; + const double t1597 = t1578 / 0.8748e4 - t1091 * t445 + 0.3e1 / 0.4e1 * t659 * t1581 - t252 * t1594 / 0.2e1; + const double t1601 = t451 * t451; + const double t1602 = t1601 * t101; + const double t1603 = t1602 * t276; + const double t1606 = piecewise_functor_3( t95, 0.0, t1597 ); + const double t1607 = piecewise_functor_3( t97, t1606, 0.0 ); + const double t1608 = t1607 * t101; + const double t1609 = t1608 * t276; + const double t1613 = t271 * t1601 * t101; + const double t1614 = t706 * t1613; + const double t1619 = t728 * t1601; + const double t1620 = t1619 * t734; + const double t1622 = t738 * t1601; + const double t1626 = t281 * t1607; + const double t1632 = t1168 * t1172; + const double t1635 = t462 * t462; + const double t1636 = t705 * t1635; + const double t1639 = t1601 * t110; + const double t1642 = t1607 * t110; + const double t1645 = t1601 * t105; + const double t1648 = t1607 * t105; + const double t1651 = -0.2e1 * t763 * t1639 + t769 * t1639 + t288 * t1642 - 0.2e1 * t771 * t1645 + t777 * t1645 - t291 * t1648; + const double t1652 = b * t1651; + const double t1655 = b * t1635; + const double t1658 = t114 * t1636 * t760 - t114 * t1652 * t296 + t114 * t1655 * t760 + t747 * t1619 * t285 - 0.2e1 * t279 * t1622 * t285 - t279 * t1626 * t285 - 0.2e1 * t1145 * t1173 - 0.2e1 * t693 * t1603 + t709 * t1603 + t272 * t1609 - 0.2e1 * t1614 * t715 + t726 * t1620 - t747 * t1620 + 0.2e1 * t752 * t1632; + const double t1659 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1658 ); + const double t1661 = t1597 * t115 + t89 * t1659 + 0.2e1 * t448 * t467; + const double t1665 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1661 ); + const double t1667 = t56 * t164 * t177; + const double t1670 = t489 * t489; + const double t1673 = t484 * t484; + const double t1678 = t56 * t164; + const double t1683 = 0.2e1 * t1673 * t173 - 0.5e1 / 0.9e1 * t1248 * t474 + t373 * t1678 / 0.4374e4 + 0.25e2 / 0.864e3 * t958 * t1678; + const double t1686 = t1667 / 0.8748e4 - t1237 * t489 + 0.3e1 / 0.4e1 * t942 * t1670 - t372 * t1683 / 0.2e1; + const double t1690 = t495 * t495; + const double t1691 = t1690 * t188; + const double t1692 = t1691 * t396; + const double t1695 = piecewise_functor_3( t182, 0.0, t1686 ); + const double t1696 = piecewise_functor_3( t184, t1695, 0.0 ); + const double t1697 = t1696 * t188; + const double t1698 = t1697 * t396; + const double t1702 = t391 * t1690 * t188; + const double t1703 = t706 * t1702; + const double t1708 = t1007 * t1690; + const double t1709 = t1708 * t1013; + const double t1711 = t1017 * t1690; + const double t1715 = t401 * t1696; + const double t1721 = t1314 * t1318; + const double t1724 = t506 * t506; + const double t1725 = t705 * t1724; + const double t1728 = t1690 * t197; + const double t1731 = t1696 * t197; + const double t1734 = t1690 * t192; + const double t1737 = t1696 * t192; + const double t1740 = -0.2e1 * t1041 * t1728 + t1047 * t1728 - 0.2e1 * t1049 * t1734 + t1055 * t1734 + t408 * t1731 - t411 * t1737; + const double t1741 = b * t1740; + const double t1744 = b * t1724; + const double t1747 = t1025 * t1708 * t405 + t201 * t1725 * t1038 + t201 * t1744 * t1038 - 0.2e1 * t399 * t1711 * t405 - t399 * t1715 * t405 - t201 * t1741 * t416 + t1005 * t1709 - t1025 * t1709 + 0.2e1 * t1030 * t1721 - 0.2e1 * t1291 * t1319 - 0.2e1 * t976 * t1692 + t989 * t1692 + t392 * t1698 - 0.2e1 * t1703 * t995; + const double t1748 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1747 ); + const double t1750 = t1686 * t202 + t179 * t1748 + 0.2e1 * t492 * t511; + const double t1754 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1750 ); + const double t1756 = t56 * t66 * t87; + const double t1761 = t1371 * t445; + const double t1764 = t440 * t83; + const double t1765 = t1764 * t527; + const double t1767 = t1378 * t1109; + const double t1770 = t252 * t79; + const double t1771 = t83 * t53; + const double t1772 = t55 * t66; + const double t1773 = t1771 * t1772; + const double t1774 = t1770 * t1773; + const double t1776 = -t1756 / 0.5184e4 - t1366 * t445 / 0.2e1 - t1091 * t528 + 0.3e1 / 0.2e1 * t1370 * t1761 - t252 * t1765 + 0.5e1 / 0.36e2 * t1377 * t1767 + t1774 / 0.5184e4; + const double t1782 = piecewise_functor_3( t95, 0.0, t1776 ); + const double t1783 = piecewise_functor_3( t97, t1782, 0.0 ); + const double t1784 = t1783 * t101; + const double t1785 = t1784 * t276; + const double t1789 = t714 * t451 * t285; + const double t1793 = t451 * t730; + const double t1794 = t1793 * t1409; + const double t1796 = t1156 * t451; + const double t1797 = t542 * t1796; + const double t1800 = t281 * t1783; + const double t1805 = t1420 * t1172; + const double t1808 = t1168 * t1424; + const double t1810 = t760 * t462; + const double t1813 = t540 * t451; + const double t1816 = t1783 * t110; + const double t1819 = t542 * t451; + const double t1822 = t1783 * t105; + const double t1825 = -0.2e1 * t763 * t1813 + t769 * t1813 + t288 * t1816 - 0.2e1 * t771 * t1819 + t777 * t1819 - t291 * t1822; + const double t1826 = b * t1825; + const double t1831 = t114 * t1429 * t1810 + t114 * t545 * t1810 - t114 * t1826 * t296 - t279 * t1800 * t285 - t1145 * t1425 + t1148 * t1794 - 0.2e1 * t1155 * t1797 - t1165 * t1794 + t1165 * t1797 - t1406 * t1173 - 0.2e1 * t1390 * t453 + t1399 * t453 - 0.2e1 * t1403 * t1789 + t272 * t1785 + t752 * t1805 + t752 * t1808; + const double t1832 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1831 ); + const double t1834 = t1776 * t115 + t89 * t1832 + t448 * t549 + t530 * t467; + const double t1838 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1834 ); + const double t1840 = t56 * t156 * t177; + const double t1845 = t1488 * t489; + const double t1848 = t484 * t173; + const double t1849 = t1848 * t565; + const double t1851 = t1495 * t1255; + const double t1854 = t372 * t169; + const double t1855 = t173 * t53; + const double t1856 = t55 * t156; + const double t1857 = t1855 * t1856; + const double t1858 = t1854 * t1857; + const double t1860 = -t1840 / 0.5184e4 - t1483 * t489 / 0.2e1 - t1237 * t566 + 0.3e1 / 0.2e1 * t1487 * t1845 - t372 * t1849 + 0.5e1 / 0.36e2 * t1494 * t1851 + t1858 / 0.5184e4; + const double t1866 = piecewise_functor_3( t182, 0.0, t1860 ); + const double t1867 = piecewise_functor_3( t184, t1866, 0.0 ); + const double t1868 = t1867 * t188; + const double t1869 = t1868 * t396; + const double t1873 = t994 * t495 * t405; + const double t1877 = t495 * t1009; + const double t1878 = t1877 * t1526; + const double t1880 = t1302 * t495; + const double t1881 = t580 * t1880; + const double t1884 = t401 * t1867; + const double t1889 = t1537 * t1318; + const double t1892 = t1314 * t1541; + const double t1894 = t1038 * t506; + const double t1897 = t578 * t495; + const double t1900 = t1867 * t197; + const double t1903 = t580 * t495; + const double t1906 = t1867 * t192; + const double t1909 = -0.2e1 * t1041 * t1897 + t1047 * t1897 - 0.2e1 * t1049 * t1903 + t1055 * t1903 + t408 * t1900 - t411 * t1906; + const double t1910 = b * t1909; + const double t1915 = t201 * t1546 * t1894 - t399 * t1884 * t405 + t201 * t583 * t1894 - t201 * t1910 * t416 + t1030 * t1889 + t1030 * t1892 - t1291 * t1542 + t1294 * t1878 - 0.2e1 * t1301 * t1881 - t1311 * t1878 + t1311 * t1881 - t1523 * t1319 - 0.2e1 * t1507 * t497 + t1516 * t497 - 0.2e1 * t1520 * t1873 + t392 * t1869; + const double t1916 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1915 ); + const double t1918 = t179 * t1916 + t1860 * t202 + t492 * t587 + t568 * t511; + const double t1922 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1918 ); + const double t1928 = t527 * t527; + const double t1929 = t675 * t1928; + const double t1932 = t1928 * t83; + const double t1934 = t55 * t60; + const double t1935 = t1771 * t1934; + const double t1938 = t56 * t60 * t87 / 0.2916e4 - 0.2e1 * t1366 * t528 + 0.3e1 * t659 * t1929 - t252 * t1932 - t1770 * t1935 / 0.2916e4; + const double t1942 = t533 * t533; + const double t1943 = t1942 * t101; + const double t1944 = t1943 * t276; + const double t1947 = piecewise_functor_3( t95, 0.0, t1938 ); + const double t1948 = piecewise_functor_3( t97, t1947, 0.0 ); + const double t1949 = t1948 * t101; + const double t1950 = t1949 * t276; + const double t1954 = t271 * t1942 * t101; + const double t1955 = t706 * t1954; + const double t1960 = t728 * t1942; + const double t1961 = t1960 * t734; + const double t1963 = t738 * t1942; + const double t1973 = t1420 * t1424; + const double t1976 = t544 * t544; + const double t1977 = t705 * t1976; + const double t1980 = t1942 * t110; + const double t1983 = t1948 * t110; + const double t1986 = t1942 * t105; + const double t1989 = t1948 * t105; + const double t1992 = -0.2e1 * t763 * t1980 + t769 * t1980 + t288 * t1983 - 0.2e1 * t771 * t1986 + t777 * t1986 - t291 * t1989; + const double t1993 = b * t1992; + const double t1996 = b * t1976; + const double t1999 = -t279 * t281 * t1948 * t285 + t114 * t1977 * t760 - t114 * t1993 * t296 + t114 * t1996 * t760 + t747 * t1960 * t285 - 0.2e1 * t279 * t1963 * t285 - 0.2e1 * t1406 * t1425 - 0.2e1 * t693 * t1944 + t709 * t1944 + t272 * t1950 - 0.2e1 * t1955 * t715 + t726 * t1961 - t747 * t1961 + 0.2e1 * t752 * t1973; + const double t2000 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1999 ); + const double t2002 = t1938 * t115 + t89 * t2000 + 0.2e1 * t530 * t549; + const double t2006 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t2002 ); + const double t2012 = t565 * t565; + const double t2013 = t958 * t2012; + const double t2016 = t2012 * t173; + const double t2018 = t55 * t150; + const double t2019 = t1855 * t2018; + const double t2022 = t56 * t150 * t177 / 0.2916e4 - 0.2e1 * t1483 * t566 + 0.3e1 * t942 * t2013 - t372 * t2016 - t1854 * t2019 / 0.2916e4; + const double t2026 = t571 * t571; + const double t2027 = t2026 * t188; + const double t2028 = t2027 * t396; + const double t2031 = piecewise_functor_3( t182, 0.0, t2022 ); + const double t2032 = piecewise_functor_3( t184, t2031, 0.0 ); + const double t2033 = t2032 * t188; + const double t2034 = t2033 * t396; + const double t2038 = t391 * t2026 * t188; + const double t2039 = t706 * t2038; + const double t2044 = t1007 * t2026; + const double t2045 = t2044 * t1013; + const double t2047 = t1017 * t2026; + const double t2057 = t1537 * t1541; + const double t2060 = t582 * t582; + const double t2061 = t705 * t2060; + const double t2064 = t2026 * t197; + const double t2067 = t2032 * t197; + const double t2070 = t2026 * t192; + const double t2073 = t2032 * t192; + const double t2076 = -0.2e1 * t1041 * t2064 + t1047 * t2064 - 0.2e1 * t1049 * t2070 + t1055 * t2070 + t408 * t2067 - t411 * t2073; + const double t2077 = b * t2076; + const double t2080 = b * t2060; + const double t2083 = -t399 * t401 * t2032 * t405 + t1025 * t2044 * t405 + t201 * t2061 * t1038 + t201 * t2080 * t1038 - t201 * t2077 * t416 - 0.2e1 * t399 * t2047 * t405 + t1005 * t2045 - t1025 * t2045 + 0.2e1 * t1030 * t2057 - 0.2e1 * t1523 * t1542 - 0.2e1 * t976 * t2028 + t989 * t2028 + t392 * t2034 - 0.2e1 * t2039 * t995; + const double t2084 = piecewise_functor_5( t180, 0.0, t181, 0.0, t2083 ); + const double t2086 = t179 * t2084 + t2022 * t202 + 0.2e1 * t568 * t587; + const double t2090 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t2086 ); - eps = t121 + t208; + v2rho2_aa = 0.2e1 * t307 + 0.2e1 * t323 + t8 * ( t794 + t820 ); + v2rho2_ab = t307 + t323 + t336 + t427 + t8 * ( t846 + t872 ); + v2rho2_bb = 0.2e1 * t336 + 0.2e1 * t427 + t8 * ( t893 + t1072 ); + v2rhosigma_a_aa = t8 * t1207 + t473; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t8 * t1216 + t517; + v2rhosigma_b_aa = t8 * t1222 + t473; + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t8 * t1353 + t517; + v2rholapl_a_a = t8 * t1458 + t555; + v2rholapl_a_b = t8 * t1467 + t593; + v2rholapl_b_a = t8 * t1473 + t555; + v2rholapl_b_b = t8 * t1575 + t593; + v2rhotau_a_a = 0.e0; + v2rhotau_a_b = 0.e0; + v2rhotau_b_a = 0.e0; + v2rhotau_b_b = 0.e0; + v2sigma2_aa_aa = t8 * t1665; + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.e0; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t8 * t1754; + v2sigmalapl_aa_a = t8 * t1838; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = t8 * t1922; + v2sigmatau_aa_a = 0.e0; + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = 0.e0; + v2lapl2_aa = t8 * t2006; + v2lapl2_ab = 0.e0; + v2lapl2_bb = t8 * t2090; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_ab = 0.e0; + v2tau2_bb = 0.e0; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(tau_a); (void)(tau_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t33 = constants::m_cbrt_6; @@ -508,6 +2958,11 @@ struct kernel_traits< BuiltinPC07OPT_K > : constexpr double t90 = a / 0.4e2; constexpr double t92 = 0.39e2 / 0.4e2 * a; constexpr double t94 = a * b; + constexpr double t704 = a * a; + constexpr double t705 = b * b; + constexpr double t706 = t704 * t705; + constexpr double t718 = a * t705; + constexpr double t746 = b * t704; const double t2 = rho_a <= dens_tol; @@ -834,9 +3289,646 @@ struct kernel_traits< BuiltinPC07OPT_K > : const double t587 = piecewise_functor_5( t180, 0.0, t181, 0.0, -t201 * t583 * t416 - t399 * t575 * t405 + t392 * t573 ); const double t589 = t179 * t587 + t568 * t202; const double t593 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t589 ); + const double t596 = 0.1e1 / t26; + const double t597 = t213 * t213; + const double t600 = t209 * t8; + const double t601 = 0.1e1 / t600; + const double t602 = t18 * t601; + const double t605 = piecewise_functor_5( t12, 0.0, t16, 0.0, -0.2e1 * t210 + 0.2e1 * t602 ); + const double t609 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t597 + 0.5e1 / 0.3e1 * t27 * t605 ); + const double t610 = t609 * t31; + const double t614 = t216 * t221; + const double t616 = t7 * t614 * t117; + const double t622 = 0.1e1 / t30 / t8; + const double t623 = t29 * t622; + const double t626 = t7 * t623 * t117 / 0.3e2; + const double t628 = t7 * t222 * t302; + const double t631 = 0.1e1 / t41 / t64; + const double t633 = t38 * sigma_aa * t631; + const double t634 = 0.55e2 / 0.81e2 * t633; + const double t641 = 0.65e2 / 0.26244e5 * t56 * t57 * t74; + const double t642 = sigma_aa * t244; + const double t645 = 0.13e2 / 0.2916e4 * t56 * t642 * lapl_a; + const double t646 = t64 * t58; + const double t648 = 0.1e1 / t40 / t646; + const double t650 = t56 * t71 * t648; + const double t651 = 0.38e2 / 0.19683e5 * t650; + const double t652 = 0.55e2 / 0.729e3 * t633 + 0.1e3 / 0.243e3 * t38 * lapl_a * t227 + t641 - t645 + t651; + const double t654 = t248 * t251; + const double t656 = t85 * t85; + const double t658 = 0.1e1 / t86 / t656; + const double t659 = t78 * t658; + const double t660 = t265 * t265; + const double t663 = t254 * t254; + const double t666 = t79 * t258; + const double t667 = t666 * t254; + const double t670 = t641 - t645 + t651; + const double t673 = t82 * t82; + const double t674 = 0.1e1 / t673; + const double t675 = t80 * t674; + const double t676 = t675 * t53; + const double t677 = t55 * t71; + const double t678 = t677 * t648; + const double t681 = t261 * t631; + const double t684 = 0.2e1 * t663 * t83 + 0.4e2 / 0.27e2 * t667 * t229 + 0.2e1 * t253 * t670 + 0.5e2 / 0.243e3 * t676 * t678 - 0.11e3 / 0.81e2 * t260 * t681; + const double t687 = t652 * t87 - t654 * t265 + 0.3e1 / 0.4e1 * t659 * t660 - t252 * t684 / 0.2e1 - t634; + const double t691 = t270 * t98; + const double t692 = 0.1e1 / t691; + const double t693 = t94 * t692; + const double t694 = t274 * t274; + const double t695 = t694 * t101; + const double t696 = t695 * t276; + const double t699 = piecewise_functor_3( t95, 0.0, t687 ); + const double t700 = piecewise_functor_3( t97, t699, 0.0 ); + const double t701 = t700 * t101; + const double t702 = t701 * t276; + const double t707 = t270 * t270; + const double t708 = 0.1e1 / t707; + const double t709 = t706 * t708; + const double t712 = t271 * t694 * t101; + const double t713 = t706 * t712; + const double t714 = t107 * t281; + const double t715 = t714 * t285; + const double t719 = t271 * t274; + const double t720 = t718 * t719; + const double t722 = t113 * t294 * t296; + const double t723 = t108 * t722; + const double t726 = t108 * t706; + const double t727 = t280 * t280; + const double t728 = 0.1e1 / t727; + const double t729 = t728 * t694; + const double t730 = t105 * t105; + const double t731 = t106 * t106; + const double t732 = 0.1e1 / t731; + const double t733 = t730 * t732; + const double t734 = t733 * t113; + const double t735 = t729 * t734; + const double t737 = t280 * t102; + const double t738 = 0.1e1 / t737; + const double t739 = t738 * t694; + const double t743 = t281 * t700; + const double t747 = t108 * t746; + const double t752 = t108 * t718 * t281; + const double t753 = t292 * t283; + const double t754 = t753 * t722; + const double t757 = t294 * t294; + const double t758 = t705 * t757; + const double t759 = t111 * t111; + const double t760 = 0.1e1 / t759; + const double t763 = a * t692; + const double t764 = t694 * t110; + const double t769 = t704 * t708; + const double t771 = a * t738; + const double t772 = t694 * t105; + const double t775 = t700 * t105; + const double t777 = t704 * t728; + const double t779 = t288 * t700 * t110 - t291 * t775 - 0.2e1 * t763 * t764 + t769 * t764 - 0.2e1 * t771 * t772 + t777 * t772; + const double t780 = b * t779; + const double t786 = t114 * b * t757 * t760 - t114 * t780 * t296 + t114 * t758 * t760 - 0.2e1 * t279 * t739 * t285 - t279 * t743 * t285 + t747 * t729 * t285 + t272 * t702 - 0.2e1 * t693 * t696 + t709 * t696 - 0.2e1 * t713 * t715 - 0.2e1 * t720 * t723 + t726 * t735 - t747 * t735 + 0.2e1 * t752 * t754; + const double t787 = piecewise_functor_5( t91, 0.0, t93, 0.0, t786 ); + const double t789 = t687 * t115 + 0.2e1 * t268 * t300 + t89 * t787 + t634; + const double t794 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t610 * t117 + t616 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t217 * t302 - t626 + t628 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t32 * t789 ); + const double t795 = 0.1e1 / t128; + const double t796 = t310 * t310; + const double t799 = t123 * t601; + const double t802 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t210 + 0.2e1 * t799 ); + const double t806 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t796 + 0.5e1 / 0.3e1 * t129 * t802 ); + const double t807 = t806 * t31; + const double t811 = t313 * t221; + const double t813 = t7 * t811 * t204; + const double t815 = t131 * t622; + const double t818 = t7 * t815 * t204 / 0.3e2; + const double t820 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t807 * t204 + t813 / 0.5e1 - t818 ); + const double t823 = t596 * t327; + const double t827 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t602 ); + const double t831 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t823 * t213 + 0.5e1 / 0.3e1 * t27 * t827 ); + const double t832 = t831 * t31; + const double t836 = t330 * t221; + const double t838 = t7 * t836 * t117; + const double t846 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t832 * t117 + t838 / 0.1e2 + 0.3e1 / 0.2e2 * t7 * t331 * t302 + t616 / 0.1e2 - t626 + t628 / 0.1e2 ); + const double t847 = t795 * t338; + const double t851 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t799 ); + const double t855 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t847 * t310 + 0.5e1 / 0.3e1 * t129 * t851 ); + const double t856 = t855 * t31; + const double t860 = t341 * t221; + const double t862 = t7 * t860 * t204; + const double t869 = t7 * t318 * t422; + const double t872 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t856 * t204 + t862 / 0.1e2 + t813 / 0.1e2 - t818 + 0.3e1 / 0.2e2 * t7 * t314 * t422 + t869 / 0.1e2 ); + const double t877 = t327 * t327; + const double t882 = piecewise_functor_5( t12, 0.0, t16, 0.0, 0.2e1 * t210 + 0.2e1 * t602 ); + const double t886 = piecewise_functor_3( t22, 0.0, 0.1e2 / 0.9e1 * t596 * t877 + 0.5e1 / 0.3e1 * t27 * t882 ); + const double t887 = t886 * t31; + const double t893 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t887 * t117 + t838 / 0.5e1 - t626 ); + const double t894 = t338 * t338; + const double t899 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t210 + 0.2e1 * t799 ); + const double t903 = piecewise_functor_3( t127, 0.0, 0.1e2 / 0.9e1 * t795 * t894 + 0.5e1 / 0.3e1 * t129 * t899 ); + const double t904 = t903 * t31; + const double t914 = 0.1e1 / t135 / t154; + const double t916 = t38 * sigma_bb * t914; + const double t917 = 0.55e2 / 0.81e2 * t916; + const double t924 = 0.65e2 / 0.26244e5 * t56 * t147 * t164; + const double t925 = sigma_bb * t364; + const double t928 = 0.13e2 / 0.2916e4 * t56 * t925 * lapl_b; + const double t929 = t154 * t148; + const double t931 = 0.1e1 / t134 / t929; + const double t933 = t56 * t161 * t931; + const double t934 = 0.38e2 / 0.19683e5 * t933; + const double t935 = 0.55e2 / 0.729e3 * t916 + 0.1e3 / 0.243e3 * t38 * lapl_b * t347 + t924 - t928 + t934; + const double t937 = t368 * t371; + const double t939 = t175 * t175; + const double t941 = 0.1e1 / t176 / t939; + const double t942 = t168 * t941; + const double t943 = t385 * t385; + const double t946 = t374 * t374; + const double t949 = t169 * t378; + const double t950 = t949 * t374; + const double t953 = t924 - t928 + t934; + const double t956 = t172 * t172; + const double t957 = 0.1e1 / t956; + const double t958 = t170 * t957; + const double t959 = t958 * t53; + const double t960 = t55 * t161; + const double t961 = t960 * t931; + const double t964 = t381 * t914; + const double t967 = 0.2e1 * t946 * t173 + 0.4e2 / 0.27e2 * t950 * t349 + 0.2e1 * t373 * t953 + 0.5e2 / 0.243e3 * t959 * t961 - 0.11e3 / 0.81e2 * t380 * t964; + const double t970 = t935 * t177 - t937 * t385 + 0.3e1 / 0.4e1 * t942 * t943 - t372 * t967 / 0.2e1 - t917; + const double t974 = t390 * t185; + const double t975 = 0.1e1 / t974; + const double t976 = t94 * t975; + const double t977 = t394 * t394; + const double t978 = t977 * t188; + const double t979 = t978 * t396; + const double t982 = piecewise_functor_3( t182, 0.0, t970 ); + const double t983 = piecewise_functor_3( t184, t982, 0.0 ); + const double t984 = t983 * t188; + const double t985 = t984 * t396; + const double t987 = t390 * t390; + const double t988 = 0.1e1 / t987; + const double t989 = t706 * t988; + const double t992 = t391 * t977 * t188; + const double t993 = t706 * t992; + const double t994 = t194 * t401; + const double t995 = t994 * t405; + const double t998 = t391 * t394; + const double t999 = t718 * t998; + const double t1001 = t200 * t414 * t416; + const double t1002 = t195 * t1001; + const double t1005 = t195 * t706; + const double t1006 = t400 * t400; + const double t1007 = 0.1e1 / t1006; + const double t1008 = t1007 * t977; + const double t1009 = t192 * t192; + const double t1010 = t193 * t193; + const double t1011 = 0.1e1 / t1010; + const double t1012 = t1009 * t1011; + const double t1013 = t1012 * t200; + const double t1014 = t1008 * t1013; + const double t1016 = t400 * t189; + const double t1017 = 0.1e1 / t1016; + const double t1018 = t1017 * t977; + const double t1022 = t401 * t983; + const double t1025 = t195 * t746; + const double t1030 = t195 * t718 * t401; + const double t1031 = t412 * t403; + const double t1032 = t1031 * t1001; + const double t1035 = t414 * t414; + const double t1036 = t705 * t1035; + const double t1037 = t198 * t198; + const double t1038 = 0.1e1 / t1037; + const double t1041 = a * t975; + const double t1042 = t977 * t197; + const double t1047 = t704 * t988; + const double t1049 = a * t1017; + const double t1050 = t977 * t192; + const double t1053 = t983 * t192; + const double t1055 = t704 * t1007; + const double t1057 = t408 * t983 * t197 - 0.2e1 * t1041 * t1042 + t1047 * t1042 - 0.2e1 * t1049 * t1050 + t1055 * t1050 - t411 * t1053; + const double t1058 = b * t1057; + const double t1064 = t201 * b * t1035 * t1038 + t1025 * t1008 * t405 - 0.2e1 * t399 * t1018 * t405 - t399 * t1022 * t405 + t201 * t1036 * t1038 - t201 * t1058 * t416 - 0.2e1 * t999 * t1002 + t1005 * t1014 - t1025 * t1014 + 0.2e1 * t1030 * t1032 + t392 * t985 - 0.2e1 * t976 * t979 + t989 * t979 - 0.2e1 * t993 * t995; + const double t1065 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1064 ); + const double t1067 = t179 * t1065 + t970 * t202 + 0.2e1 * t388 * t420 + t917; + const double t1072 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t904 * t204 + t862 / 0.5e1 + 0.3e1 / 0.1e2 * t7 * t342 * t422 - t818 + t869 / 0.5e1 + 0.3e1 / 0.2e2 * t7 * t132 * t1067 ); + const double t1080 = t7 * t222 * t469 / 0.1e2; + const double t1081 = t38 * t227; + const double t1082 = 0.5e1 / 0.27e2 * t1081; + const double t1085 = t56 * t74 * lapl_a; + const double t1086 = 0.13e2 / 0.15552e5 * t1085; + const double t1087 = t56 * t642; + const double t1088 = 0.4e1 / 0.6561e4 * t1087; + const double t1089 = -0.5e1 / 0.243e3 * t1081 + t1086 - t1088; + const double t1091 = t438 * t251; + const double t1096 = t445 * t265; + const double t1099 = t254 * t83; + const double t1102 = t666 * t440; + const double t1105 = t1086 - t1088; + const double t1108 = t666 * t33; + const double t1109 = t37 * t43; + const double t1110 = t1109 * t254; + const double t1113 = t55 * t244; + const double t1114 = t1113 * sigma_aa; + const double t1119 = 0.2e1 * t1099 * t440 + 0.2e2 / 0.27e2 * t1102 * t229 + 0.2e1 * t253 * t1105 - 0.5e1 / 0.18e2 * t1108 * t1110 - 0.25e2 / 0.324e3 * t676 * t1114 + 0.1e2 / 0.27e2 * t259 * t1081; + const double t1122 = t1089 * t87 - t1091 * t265 / 0.2e1 - t654 * t445 / 0.2e1 + 0.3e1 / 0.4e1 * t659 * t1096 - t252 * t1119 / 0.2e1 + t1082; + const double t1126 = t692 * t451; + const double t1127 = t94 * t1126; + const double t1130 = piecewise_functor_3( t95, 0.0, t1122 ); + const double t1131 = piecewise_functor_3( t97, t1130, 0.0 ); + const double t1132 = t1131 * t101; + const double t1133 = t1132 * t276; + const double t1135 = t708 * t451; + const double t1136 = t706 * t1135; + const double t1138 = t271 * t451; + const double t1139 = t1138 * t101; + const double t1140 = t706 * t1139; + const double t1142 = t714 * t274 * t285; + const double t1145 = t718 * t1138; + const double t1148 = t108 * t706 * t728; + const double t1149 = t274 * t730; + const double t1151 = t732 * t451 * t113; + const double t1152 = t1149 * t1151; + const double t1155 = t108 * t94 * t738; + const double t1156 = t283 * t113; + const double t1157 = t1156 * t274; + const double t1158 = t460 * t1157; + const double t1161 = t281 * t1131; + const double t1165 = t108 * t746 * t728; + const double t1168 = t460 * t283; + const double t1169 = t1168 * t722; + const double t1171 = t113 * t462; + const double t1172 = t1171 * t296; + const double t1173 = t108 * t1172; + const double t1175 = t753 * t1172; + const double t1177 = t705 * t462; + const double t1178 = t760 * t294; + const double t1181 = t458 * t274; + const double t1184 = t1131 * t110; + const double t1187 = t460 * t274; + const double t1190 = t1131 * t105; + const double t1193 = -0.2e1 * t763 * t1181 + t769 * t1181 + t288 * t1184 - 0.2e1 * t771 * t1187 + t777 * t1187 - t291 * t1190; + const double t1194 = b * t1193; + const double t1199 = t114 * t1177 * t1178 + t114 * t463 * t1178 - t114 * t1194 * t296 - t279 * t1161 * t285 - 0.2e1 * t1127 * t277 + t272 * t1133 + t1136 * t277 - 0.2e1 * t1140 * t1142 - t1145 * t723 + t1148 * t1152 - t1165 * t1152 - 0.2e1 * t1155 * t1158 + t1165 * t1158 + t752 * t1169 - t720 * t1173 + t752 * t1175; + const double t1200 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1199 ); + const double t1202 = t1122 * t115 + t89 * t1200 + t268 * t467 + t448 * t300 - t1082; + const double t1207 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t469 + t1080 + 0.3e1 / 0.2e2 * t7 * t32 * t1202 ); + const double t1214 = t7 * t318 * t513 / 0.1e2; + const double t1216 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t513 + t1214 ); + const double t1222 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t469 + t1080 ); + const double t1227 = t38 * t347; + const double t1228 = 0.5e1 / 0.27e2 * t1227; + const double t1231 = t56 * t164 * lapl_b; + const double t1232 = 0.13e2 / 0.15552e5 * t1231; + const double t1233 = t56 * t925; + const double t1234 = 0.4e1 / 0.6561e4 * t1233; + const double t1235 = -0.5e1 / 0.243e3 * t1227 + t1232 - t1234; + const double t1237 = t482 * t371; + const double t1242 = t489 * t385; + const double t1245 = t374 * t173; + const double t1248 = t949 * t484; + const double t1251 = t1232 - t1234; + const double t1254 = t949 * t33; + const double t1255 = t37 * t137; + const double t1256 = t1255 * t374; + const double t1259 = t55 * t364; + const double t1260 = t1259 * sigma_bb; + const double t1265 = 0.2e1 * t1245 * t484 + 0.2e2 / 0.27e2 * t1248 * t349 + 0.2e1 * t373 * t1251 - 0.5e1 / 0.18e2 * t1254 * t1256 - 0.25e2 / 0.324e3 * t959 * t1260 + 0.1e2 / 0.27e2 * t379 * t1227; + const double t1268 = t1235 * t177 - t1237 * t385 / 0.2e1 - t937 * t489 / 0.2e1 + 0.3e1 / 0.4e1 * t942 * t1242 - t372 * t1265 / 0.2e1 + t1228; + const double t1272 = t975 * t495; + const double t1273 = t94 * t1272; + const double t1276 = piecewise_functor_3( t182, 0.0, t1268 ); + const double t1277 = piecewise_functor_3( t184, t1276, 0.0 ); + const double t1278 = t1277 * t188; + const double t1279 = t1278 * t396; + const double t1281 = t988 * t495; + const double t1282 = t706 * t1281; + const double t1284 = t391 * t495; + const double t1285 = t1284 * t188; + const double t1286 = t706 * t1285; + const double t1288 = t994 * t394 * t405; + const double t1291 = t718 * t1284; + const double t1294 = t195 * t706 * t1007; + const double t1295 = t394 * t1009; + const double t1297 = t1011 * t495 * t200; + const double t1298 = t1295 * t1297; + const double t1301 = t195 * t94 * t1017; + const double t1302 = t403 * t200; + const double t1303 = t1302 * t394; + const double t1304 = t504 * t1303; + const double t1307 = t401 * t1277; + const double t1311 = t195 * t746 * t1007; + const double t1314 = t504 * t403; + const double t1315 = t1314 * t1001; + const double t1317 = t200 * t506; + const double t1318 = t1317 * t416; + const double t1319 = t195 * t1318; + const double t1321 = t1031 * t1318; + const double t1323 = t705 * t506; + const double t1324 = t1038 * t414; + const double t1327 = t502 * t394; + const double t1330 = t1277 * t197; + const double t1333 = t504 * t394; + const double t1336 = t1277 * t192; + const double t1339 = -0.2e1 * t1041 * t1327 + t1047 * t1327 - 0.2e1 * t1049 * t1333 + t1055 * t1333 + t408 * t1330 - t411 * t1336; + const double t1340 = b * t1339; + const double t1345 = -t399 * t1307 * t405 + t201 * t1323 * t1324 + t201 * t507 * t1324 - t201 * t1340 * t416 - t1291 * t1002 + t1030 * t1315 + t1030 * t1321 - 0.2e1 * t1273 * t397 + t392 * t1279 + t1282 * t397 - 0.2e1 * t1286 * t1288 + t1294 * t1298 - t1311 * t1298 - 0.2e1 * t1301 * t1304 + t1311 * t1304 - t999 * t1319; + const double t1346 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1345 ); + const double t1348 = t1268 * t202 + t179 * t1346 + t388 * t511 + t492 * t420 - t1228; + const double t1353 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t513 + t1214 + 0.3e1 / 0.2e2 * t7 * t132 * t1348 ); + const double t1360 = t7 * t222 * t551 / 0.1e2; + const double t1362 = 0.5e1 / 0.4374e4 * t434; + const double t1363 = 0.13e2 / 0.15552e5 * t436; + const double t1364 = -0.25e2 / 0.162e3 * t430 - t1362 + t1363; + const double t1366 = t525 * t251; + const double t1370 = t659 * t79; + const double t1371 = t83 * t527; + const double t1372 = t1371 * t265; + const double t1375 = t1099 * t527; + const double t1377 = t252 * t666; + const double t1378 = t527 * t33; + const double t1379 = t1378 * t262; + const double t1382 = -t1362 + t1363; + const double t1383 = t253 * t1382; + const double t1385 = t1364 * t87 - t1366 * t265 / 0.2e1 - t654 * t528 + 0.3e1 / 0.2e1 * t1370 * t1372 - t252 * t1375 - 0.1e2 / 0.27e2 * t1377 * t1379 - t252 * t1383; + const double t1389 = t692 * t533; + const double t1390 = t94 * t1389; + const double t1393 = piecewise_functor_3( t95, 0.0, t1385 ); + const double t1394 = piecewise_functor_3( t97, t1393, 0.0 ); + const double t1395 = t1394 * t101; + const double t1396 = t1395 * t276; + const double t1398 = t708 * t533; + const double t1399 = t706 * t1398; + const double t1401 = t271 * t533; + const double t1402 = t1401 * t101; + const double t1403 = t706 * t1402; + const double t1406 = t718 * t1401; + const double t1409 = t732 * t533 * t113; + const double t1410 = t1149 * t1409; + const double t1412 = t542 * t1157; + const double t1415 = t281 * t1394; + const double t1420 = t542 * t283; + const double t1421 = t1420 * t722; + const double t1423 = t113 * t544; + const double t1424 = t1423 * t296; + const double t1425 = t108 * t1424; + const double t1427 = t753 * t1424; + const double t1429 = t705 * t544; + const double t1432 = t540 * t274; + const double t1435 = t1394 * t110; + const double t1438 = t542 * t274; + const double t1441 = t1394 * t105; + const double t1444 = -0.2e1 * t763 * t1432 + t769 * t1432 + t288 * t1435 - 0.2e1 * t771 * t1438 + t777 * t1438 - t291 * t1441; + const double t1445 = b * t1444; + const double t1450 = t114 * t1429 * t1178 + t114 * t545 * t1178 - t114 * t1445 * t296 - t279 * t1415 * t285 - 0.2e1 * t1403 * t1142 + t1148 * t1410 - 0.2e1 * t1155 * t1412 - t1165 * t1410 + t1165 * t1412 - 0.2e1 * t1390 * t277 + t272 * t1396 + t1399 * t277 - t1406 * t723 + t752 * t1421 - t720 * t1425 + t752 * t1427; + const double t1451 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1450 ); + const double t1453 = t1385 * t115 + t89 * t1451 + t268 * t549 + t530 * t300; + const double t1458 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t217 * t551 + t1360 + 0.3e1 / 0.2e2 * t7 * t32 * t1453 ); + const double t1465 = t7 * t318 * t589 / 0.1e2; + const double t1467 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t314 * t589 + t1465 ); + const double t1473 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t331 * t551 + t1360 ); + const double t1479 = 0.5e1 / 0.4374e4 * t478; + const double t1480 = 0.13e2 / 0.15552e5 * t480; + const double t1481 = -0.25e2 / 0.162e3 * t474 - t1479 + t1480; + const double t1483 = t563 * t371; + const double t1487 = t942 * t169; + const double t1488 = t173 * t565; + const double t1489 = t1488 * t385; + const double t1492 = t1245 * t565; + const double t1494 = t372 * t949; + const double t1495 = t565 * t33; + const double t1496 = t1495 * t382; + const double t1499 = -t1479 + t1480; + const double t1500 = t373 * t1499; + const double t1502 = t1481 * t177 - t1483 * t385 / 0.2e1 - t937 * t566 + 0.3e1 / 0.2e1 * t1487 * t1489 - t372 * t1492 - 0.1e2 / 0.27e2 * t1494 * t1496 - t372 * t1500; + const double t1506 = t975 * t571; + const double t1507 = t94 * t1506; + const double t1510 = piecewise_functor_3( t182, 0.0, t1502 ); + const double t1511 = piecewise_functor_3( t184, t1510, 0.0 ); + const double t1512 = t1511 * t188; + const double t1513 = t1512 * t396; + const double t1515 = t988 * t571; + const double t1516 = t706 * t1515; + const double t1518 = t391 * t571; + const double t1519 = t1518 * t188; + const double t1520 = t706 * t1519; + const double t1523 = t718 * t1518; + const double t1526 = t1011 * t571 * t200; + const double t1527 = t1295 * t1526; + const double t1529 = t580 * t1303; + const double t1537 = t580 * t403; + const double t1538 = t1537 * t1001; + const double t1540 = t200 * t582; + const double t1541 = t1540 * t416; + const double t1542 = t195 * t1541; + const double t1544 = t1031 * t1541; + const double t1546 = t705 * t582; + const double t1549 = t578 * t394; + const double t1552 = t1511 * t197; + const double t1555 = t580 * t394; + const double t1558 = t1511 * t192; + const double t1561 = -0.2e1 * t1041 * t1549 + t1047 * t1549 - 0.2e1 * t1049 * t1555 + t1055 * t1555 + t408 * t1552 - t411 * t1558; + const double t1562 = b * t1561; + const double t1567 = -t399 * t401 * t1511 * t405 + t201 * t1546 * t1324 + t201 * t583 * t1324 - t201 * t1562 * t416 - t1523 * t1002 + t1030 * t1538 + t1030 * t1544 - 0.2e1 * t1520 * t1288 + t1294 * t1527 - 0.2e1 * t1301 * t1529 - t1311 * t1527 + t1311 * t1529 - 0.2e1 * t1507 * t397 + t392 * t1513 + t1516 * t397 - t999 * t1542; + const double t1568 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1567 ); + const double t1570 = t1502 * t202 + t179 * t1568 + t388 * t587 + t568 * t420; + const double t1575 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t342 * t589 + t1465 + 0.3e1 / 0.2e2 * t7 * t132 * t1570 ); + const double t1578 = t56 * t74 * t87; + const double t1581 = t445 * t445; + const double t1584 = t440 * t440; + const double t1589 = t56 * t74; + const double t1594 = 0.2e1 * t1584 * t83 - 0.5e1 / 0.9e1 * t1102 * t430 + t253 * t1589 / 0.4374e4 + 0.25e2 / 0.864e3 * t675 * t1589; + const double t1597 = t1578 / 0.8748e4 - t1091 * t445 + 0.3e1 / 0.4e1 * t659 * t1581 - t252 * t1594 / 0.2e1; + const double t1601 = t451 * t451; + const double t1602 = t1601 * t101; + const double t1603 = t1602 * t276; + const double t1606 = piecewise_functor_3( t95, 0.0, t1597 ); + const double t1607 = piecewise_functor_3( t97, t1606, 0.0 ); + const double t1608 = t1607 * t101; + const double t1609 = t1608 * t276; + const double t1613 = t271 * t1601 * t101; + const double t1614 = t706 * t1613; + const double t1619 = t728 * t1601; + const double t1620 = t1619 * t734; + const double t1622 = t738 * t1601; + const double t1626 = t281 * t1607; + const double t1632 = t1168 * t1172; + const double t1635 = t462 * t462; + const double t1636 = t705 * t1635; + const double t1639 = t1601 * t110; + const double t1642 = t1607 * t110; + const double t1645 = t1601 * t105; + const double t1648 = t1607 * t105; + const double t1651 = -0.2e1 * t763 * t1639 + t769 * t1639 + t288 * t1642 - 0.2e1 * t771 * t1645 + t777 * t1645 - t291 * t1648; + const double t1652 = b * t1651; + const double t1655 = b * t1635; + const double t1658 = t114 * t1636 * t760 - t114 * t1652 * t296 + t114 * t1655 * t760 + t747 * t1619 * t285 - 0.2e1 * t279 * t1622 * t285 - t279 * t1626 * t285 - 0.2e1 * t1145 * t1173 - 0.2e1 * t693 * t1603 + t709 * t1603 + t272 * t1609 - 0.2e1 * t1614 * t715 + t726 * t1620 - t747 * t1620 + 0.2e1 * t752 * t1632; + const double t1659 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1658 ); + const double t1661 = t1597 * t115 + t89 * t1659 + 0.2e1 * t448 * t467; + const double t1665 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1661 ); + const double t1667 = t56 * t164 * t177; + const double t1670 = t489 * t489; + const double t1673 = t484 * t484; + const double t1678 = t56 * t164; + const double t1683 = 0.2e1 * t1673 * t173 - 0.5e1 / 0.9e1 * t1248 * t474 + t373 * t1678 / 0.4374e4 + 0.25e2 / 0.864e3 * t958 * t1678; + const double t1686 = t1667 / 0.8748e4 - t1237 * t489 + 0.3e1 / 0.4e1 * t942 * t1670 - t372 * t1683 / 0.2e1; + const double t1690 = t495 * t495; + const double t1691 = t1690 * t188; + const double t1692 = t1691 * t396; + const double t1695 = piecewise_functor_3( t182, 0.0, t1686 ); + const double t1696 = piecewise_functor_3( t184, t1695, 0.0 ); + const double t1697 = t1696 * t188; + const double t1698 = t1697 * t396; + const double t1702 = t391 * t1690 * t188; + const double t1703 = t706 * t1702; + const double t1708 = t1007 * t1690; + const double t1709 = t1708 * t1013; + const double t1711 = t1017 * t1690; + const double t1715 = t401 * t1696; + const double t1721 = t1314 * t1318; + const double t1724 = t506 * t506; + const double t1725 = t705 * t1724; + const double t1728 = t1690 * t197; + const double t1731 = t1696 * t197; + const double t1734 = t1690 * t192; + const double t1737 = t1696 * t192; + const double t1740 = -0.2e1 * t1041 * t1728 + t1047 * t1728 - 0.2e1 * t1049 * t1734 + t1055 * t1734 + t408 * t1731 - t411 * t1737; + const double t1741 = b * t1740; + const double t1744 = b * t1724; + const double t1747 = t1025 * t1708 * t405 + t201 * t1725 * t1038 + t201 * t1744 * t1038 - 0.2e1 * t399 * t1711 * t405 - t399 * t1715 * t405 - t201 * t1741 * t416 + t1005 * t1709 - t1025 * t1709 + 0.2e1 * t1030 * t1721 - 0.2e1 * t1291 * t1319 - 0.2e1 * t976 * t1692 + t989 * t1692 + t392 * t1698 - 0.2e1 * t1703 * t995; + const double t1748 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1747 ); + const double t1750 = t1686 * t202 + t179 * t1748 + 0.2e1 * t492 * t511; + const double t1754 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1750 ); + const double t1756 = t56 * t66 * t87; + const double t1761 = t1371 * t445; + const double t1764 = t440 * t83; + const double t1765 = t1764 * t527; + const double t1767 = t1378 * t1109; + const double t1770 = t252 * t79; + const double t1771 = t83 * t53; + const double t1772 = t55 * t66; + const double t1773 = t1771 * t1772; + const double t1774 = t1770 * t1773; + const double t1776 = -t1756 / 0.5184e4 - t1366 * t445 / 0.2e1 - t1091 * t528 + 0.3e1 / 0.2e1 * t1370 * t1761 - t252 * t1765 + 0.5e1 / 0.36e2 * t1377 * t1767 + t1774 / 0.5184e4; + const double t1782 = piecewise_functor_3( t95, 0.0, t1776 ); + const double t1783 = piecewise_functor_3( t97, t1782, 0.0 ); + const double t1784 = t1783 * t101; + const double t1785 = t1784 * t276; + const double t1789 = t714 * t451 * t285; + const double t1793 = t451 * t730; + const double t1794 = t1793 * t1409; + const double t1796 = t1156 * t451; + const double t1797 = t542 * t1796; + const double t1800 = t281 * t1783; + const double t1805 = t1420 * t1172; + const double t1808 = t1168 * t1424; + const double t1810 = t760 * t462; + const double t1813 = t540 * t451; + const double t1816 = t1783 * t110; + const double t1819 = t542 * t451; + const double t1822 = t1783 * t105; + const double t1825 = -0.2e1 * t763 * t1813 + t769 * t1813 + t288 * t1816 - 0.2e1 * t771 * t1819 + t777 * t1819 - t291 * t1822; + const double t1826 = b * t1825; + const double t1831 = t114 * t1429 * t1810 + t114 * t545 * t1810 - t114 * t1826 * t296 - t279 * t1800 * t285 - t1145 * t1425 + t1148 * t1794 - 0.2e1 * t1155 * t1797 - t1165 * t1794 + t1165 * t1797 - t1406 * t1173 - 0.2e1 * t1390 * t453 + t1399 * t453 - 0.2e1 * t1403 * t1789 + t272 * t1785 + t752 * t1805 + t752 * t1808; + const double t1832 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1831 ); + const double t1834 = t1776 * t115 + t89 * t1832 + t448 * t549 + t530 * t467; + const double t1838 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t1834 ); + const double t1840 = t56 * t156 * t177; + const double t1845 = t1488 * t489; + const double t1848 = t484 * t173; + const double t1849 = t1848 * t565; + const double t1851 = t1495 * t1255; + const double t1854 = t372 * t169; + const double t1855 = t173 * t53; + const double t1856 = t55 * t156; + const double t1857 = t1855 * t1856; + const double t1858 = t1854 * t1857; + const double t1860 = -t1840 / 0.5184e4 - t1483 * t489 / 0.2e1 - t1237 * t566 + 0.3e1 / 0.2e1 * t1487 * t1845 - t372 * t1849 + 0.5e1 / 0.36e2 * t1494 * t1851 + t1858 / 0.5184e4; + const double t1866 = piecewise_functor_3( t182, 0.0, t1860 ); + const double t1867 = piecewise_functor_3( t184, t1866, 0.0 ); + const double t1868 = t1867 * t188; + const double t1869 = t1868 * t396; + const double t1873 = t994 * t495 * t405; + const double t1877 = t495 * t1009; + const double t1878 = t1877 * t1526; + const double t1880 = t1302 * t495; + const double t1881 = t580 * t1880; + const double t1884 = t401 * t1867; + const double t1889 = t1537 * t1318; + const double t1892 = t1314 * t1541; + const double t1894 = t1038 * t506; + const double t1897 = t578 * t495; + const double t1900 = t1867 * t197; + const double t1903 = t580 * t495; + const double t1906 = t1867 * t192; + const double t1909 = -0.2e1 * t1041 * t1897 + t1047 * t1897 - 0.2e1 * t1049 * t1903 + t1055 * t1903 + t408 * t1900 - t411 * t1906; + const double t1910 = b * t1909; + const double t1915 = t201 * t1546 * t1894 - t399 * t1884 * t405 + t201 * t583 * t1894 - t201 * t1910 * t416 + t1030 * t1889 + t1030 * t1892 - t1291 * t1542 + t1294 * t1878 - 0.2e1 * t1301 * t1881 - t1311 * t1878 + t1311 * t1881 - t1523 * t1319 - 0.2e1 * t1507 * t497 + t1516 * t497 - 0.2e1 * t1520 * t1873 + t392 * t1869; + const double t1916 = piecewise_functor_5( t180, 0.0, t181, 0.0, t1915 ); + const double t1918 = t179 * t1916 + t1860 * t202 + t492 * t587 + t568 * t511; + const double t1922 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t1918 ); + const double t1928 = t527 * t527; + const double t1929 = t675 * t1928; + const double t1932 = t1928 * t83; + const double t1934 = t55 * t60; + const double t1935 = t1771 * t1934; + const double t1938 = t56 * t60 * t87 / 0.2916e4 - 0.2e1 * t1366 * t528 + 0.3e1 * t659 * t1929 - t252 * t1932 - t1770 * t1935 / 0.2916e4; + const double t1942 = t533 * t533; + const double t1943 = t1942 * t101; + const double t1944 = t1943 * t276; + const double t1947 = piecewise_functor_3( t95, 0.0, t1938 ); + const double t1948 = piecewise_functor_3( t97, t1947, 0.0 ); + const double t1949 = t1948 * t101; + const double t1950 = t1949 * t276; + const double t1954 = t271 * t1942 * t101; + const double t1955 = t706 * t1954; + const double t1960 = t728 * t1942; + const double t1961 = t1960 * t734; + const double t1963 = t738 * t1942; + const double t1973 = t1420 * t1424; + const double t1976 = t544 * t544; + const double t1977 = t705 * t1976; + const double t1980 = t1942 * t110; + const double t1983 = t1948 * t110; + const double t1986 = t1942 * t105; + const double t1989 = t1948 * t105; + const double t1992 = -0.2e1 * t763 * t1980 + t769 * t1980 + t288 * t1983 - 0.2e1 * t771 * t1986 + t777 * t1986 - t291 * t1989; + const double t1993 = b * t1992; + const double t1996 = b * t1976; + const double t1999 = -t279 * t281 * t1948 * t285 + t114 * t1977 * t760 - t114 * t1993 * t296 + t114 * t1996 * t760 + t747 * t1960 * t285 - 0.2e1 * t279 * t1963 * t285 - 0.2e1 * t1406 * t1425 - 0.2e1 * t693 * t1944 + t709 * t1944 + t272 * t1950 - 0.2e1 * t1955 * t715 + t726 * t1961 - t747 * t1961 + 0.2e1 * t752 * t1973; + const double t2000 = piecewise_functor_5( t91, 0.0, t93, 0.0, t1999 ); + const double t2002 = t1938 * t115 + t89 * t2000 + 0.2e1 * t530 * t549; + const double t2006 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.2e2 * t7 * t32 * t2002 ); + const double t2012 = t565 * t565; + const double t2013 = t958 * t2012; + const double t2016 = t2012 * t173; + const double t2018 = t55 * t150; + const double t2019 = t1855 * t2018; + const double t2022 = t56 * t150 * t177 / 0.2916e4 - 0.2e1 * t1483 * t566 + 0.3e1 * t942 * t2013 - t372 * t2016 - t1854 * t2019 / 0.2916e4; + const double t2026 = t571 * t571; + const double t2027 = t2026 * t188; + const double t2028 = t2027 * t396; + const double t2031 = piecewise_functor_3( t182, 0.0, t2022 ); + const double t2032 = piecewise_functor_3( t184, t2031, 0.0 ); + const double t2033 = t2032 * t188; + const double t2034 = t2033 * t396; + const double t2038 = t391 * t2026 * t188; + const double t2039 = t706 * t2038; + const double t2044 = t1007 * t2026; + const double t2045 = t2044 * t1013; + const double t2047 = t1017 * t2026; + const double t2057 = t1537 * t1541; + const double t2060 = t582 * t582; + const double t2061 = t705 * t2060; + const double t2064 = t2026 * t197; + const double t2067 = t2032 * t197; + const double t2070 = t2026 * t192; + const double t2073 = t2032 * t192; + const double t2076 = -0.2e1 * t1041 * t2064 + t1047 * t2064 - 0.2e1 * t1049 * t2070 + t1055 * t2070 + t408 * t2067 - t411 * t2073; + const double t2077 = b * t2076; + const double t2080 = b * t2060; + const double t2083 = -t399 * t401 * t2032 * t405 + t1025 * t2044 * t405 + t201 * t2061 * t1038 + t201 * t2080 * t1038 - t201 * t2077 * t416 - 0.2e1 * t399 * t2047 * t405 + t1005 * t2045 - t1025 * t2045 + 0.2e1 * t1030 * t2057 - 0.2e1 * t1523 * t1542 - 0.2e1 * t976 * t2028 + t989 * t2028 + t392 * t2034 - 0.2e1 * t2039 * t995; + const double t2084 = piecewise_functor_5( t180, 0.0, t181, 0.0, t2083 ); + const double t2086 = t179 * t2084 + t2022 * t202 + 0.2e1 * t568 * t587; + const double t2090 = piecewise_functor_3( t122, 0.0, 0.3e1 / 0.2e2 * t7 * t132 * t2086 ); - eps = t121 + t208; vrho_a = t121 + t208 + t8 * ( t307 + t323 ); vrho_b = t121 + t208 + t8 * ( t336 + t427 ); vsigma_aa = t8 * t473; @@ -846,6 +3938,51 @@ struct kernel_traits< BuiltinPC07OPT_K > : vlapl_b = t8 * t593; vtau_a = 0.e0; vtau_b = 0.e0; + v2rho2_aa = 0.2e1 * t307 + 0.2e1 * t323 + t8 * ( t794 + t820 ); + v2rho2_ab = t307 + t323 + t336 + t427 + t8 * ( t846 + t872 ); + v2rho2_bb = 0.2e1 * t336 + 0.2e1 * t427 + t8 * ( t893 + t1072 ); + v2rhosigma_a_aa = t8 * t1207 + t473; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t8 * t1216 + t517; + v2rhosigma_b_aa = t8 * t1222 + t473; + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t8 * t1353 + t517; + v2rholapl_a_a = t8 * t1458 + t555; + v2rholapl_a_b = t8 * t1467 + t593; + v2rholapl_b_a = t8 * t1473 + t555; + v2rholapl_b_b = t8 * t1575 + t593; + v2rhotau_a_a = 0.e0; + v2rhotau_a_b = 0.e0; + v2rhotau_b_a = 0.e0; + v2rhotau_b_b = 0.e0; + v2sigma2_aa_aa = t8 * t1665; + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = 0.e0; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t8 * t1754; + v2sigmalapl_aa_a = t8 * t1838; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = t8 * t1922; + v2sigmatau_aa_a = 0.e0; + v2sigmatau_aa_b = 0.e0; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = 0.e0; + v2sigmatau_bb_b = 0.e0; + v2lapl2_aa = t8 * t2006; + v2lapl2_ab = 0.e0; + v2lapl2_bb = t8 * t2090; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = 0.e0; + v2tau2_ab = 0.e0; + v2tau2_bb = 0.e0; } @@ -863,4 +4000,4 @@ struct BuiltinPC07OPT_K : detail::BuiltinKernelImpl< BuiltinPC07OPT_K > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pkzb_c.hpp b/include/exchcxx/impl/builtin/kernels/pkzb_c.hpp index ef4e569..027ff42 100644 --- a/include/exchcxx/impl/builtin/kernels/pkzb_c.hpp +++ b/include/exchcxx/impl/builtin/kernels/pkzb_c.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPKZB_C > : static constexpr double sigma_tol = 4.641588833612789e-18; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; @@ -37,7 +86,6 @@ struct kernel_traits< BuiltinPKZB_C > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t11 = constants::m_cbrt_3; constexpr double t13 = constants::m_cbrt_one_ov_pi; constexpr double t15 = constants::m_cbrt_4; @@ -191,7 +239,6 @@ struct kernel_traits< BuiltinPKZB_C > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t11 = constants::m_cbrt_3; constexpr double t13 = constants::m_cbrt_one_ov_pi; constexpr double t15 = constants::m_cbrt_4; @@ -515,240 +562,2701 @@ struct kernel_traits< BuiltinPKZB_C > : } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { - (void)(lapl_a); - (void)(lapl_b); - (void)(eps); - constexpr double t46 = constants::m_cbrt_3; - constexpr double t48 = constants::m_cbrt_one_ov_pi; - constexpr double t50 = constants::m_cbrt_4; - constexpr double t95 = constants::m_cbrt_2; - constexpr double t133 = constants::m_pi_sq; - constexpr double t49 = t46 * t48; - constexpr double t51 = t50 * t50; - constexpr double t63 = t46 * t46; - constexpr double t64 = t48 * t48; - constexpr double t65 = t63 * t64; - constexpr double t134 = 0.1e1 / t133; - constexpr double t153 = 0.1e1 / t48; - constexpr double t154 = t153 * t50; - constexpr double t173 = t95 * t95; - constexpr double t177 = 0.1e1 / t64; - constexpr double t178 = t46 * t177; - constexpr double t179 = t178 * t51; - constexpr double t204 = t49 * t51; - constexpr double t218 = t65 * t50; + (void)(lapl); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t49 = constants::m_cbrt_2; + constexpr double t70 = constants::m_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t28 = t11 * t11; + constexpr double t29 = t13 * t13; + constexpr double t30 = t28 * t29; + constexpr double t71 = 0.1e1 / t70; + constexpr double t83 = 0.1e1 / t13; + constexpr double t84 = t83 * t15; + constexpr double t103 = t49 * t49; + constexpr double t107 = 0.1e1 / t29; + constexpr double t108 = t11 * t107; + constexpr double t109 = t108 * t16; + constexpr double t130 = t14 * t16; + constexpr double t143 = t30 * t15; + constexpr double t220 = t16 * t49; + constexpr double t263 = t13 * t16; + constexpr double t445 = t107 * t16; + constexpr double t446 = t445 * t49; + constexpr double t498 = t28 * t83 * t15; + constexpr double t586 = t29 * t15; + constexpr double t670 = t70 * t70; - const double t2 = rho_a * rho_a; - const double t3 = safe_math::cbrt( rho_a ); - const double t4 = t3 * t3; - const double t6 = 0.1e1 / t4 / t2; - const double t7 = sigma_aa * t6; - const double t8 = rho_a - rho_b; - const double t9 = rho_a + rho_b; - const double t10 = 0.1e1 / t9; - const double t11 = t8 * t10; - const double t12 = 0.1e1 + t11; - const double t13 = t12 / 0.2e1; - const double t14 = safe_math::cbrt( t13 ); - const double t15 = t14 * t14; - const double t16 = t15 * t13; - const double t18 = rho_b * rho_b; - const double t19 = safe_math::cbrt( rho_b ); - const double t20 = t19 * t19; - const double t22 = 0.1e1 / t20 / t18; - const double t23 = sigma_bb * t22; - const double t24 = 0.1e1 - t11; - const double t25 = t24 / 0.2e1; - const double t26 = safe_math::cbrt( t25 ); - const double t27 = t26 * t26; - const double t28 = t27 * t25; - const double t30 = t16 * t7 + t23 * t28; - const double t31 = t30 * t30; - const double t33 = 0.1e1 / t4 / rho_a; - const double t34 = tau_a * t33; - const double t37 = 0.1e1 / t20 / rho_b; - const double t38 = tau_b * t37; - const double t40 = t16 * t34 + t28 * t38; - const double t41 = t40 * t40; - const double t42 = 0.1e1 / t41; - const double t45 = 0.1e1 + 0.828125e-2 * t31 * t42; - const double t52 = safe_math::cbrt( t9 ); - const double t53 = 0.1e1 / t52; - const double t54 = t51 * t53; - const double t55 = t49 * t54; - const double t57 = 0.1e1 + 0.53425e-1 * t55; - const double t58 = safe_math::sqrt( t55 ); - const double t61 = pow_3_2( t55 ); - const double t66 = t52 * t52; - const double t67 = 0.1e1 / t66; - const double t68 = t50 * t67; - const double t69 = t65 * t68; - const double t71 = 0.379785e1 * t58 + 0.8969e0 * t55 + 0.204775e0 * t61 + 0.123235e0 * t69; - const double t74 = 0.1e1 + 0.16081979498692535067e2 / t71; - const double t75 = safe_math::log( t74 ); - const double t77 = 0.621814e-1 * t57 * t75; - const double t78 = t8 * t8; - const double t79 = t78 * t78; - const double t80 = t9 * t9; - const double t81 = t80 * t80; - const double t82 = 0.1e1 / t81; - const double t83 = t79 * t82; - const double t84 = t12 <= zeta_tol; - const double t85 = safe_math::cbrt( zeta_tol ); - const double t86 = t85 * zeta_tol; - const double t87 = safe_math::cbrt( t12 ); - const double t88 = t87 * t12; - const double t89 = piecewise_functor_3( t84, t86, t88 ); - const double t90 = t24 <= zeta_tol; - const double t91 = safe_math::cbrt( t24 ); - const double t92 = t91 * t24; - const double t93 = piecewise_functor_3( t90, t86, t92 ); - const double t94 = t89 + t93 - 0.2e1; - const double t98 = 0.1e1 / ( 0.2e1 * t95 - 0.2e1 ); - const double t99 = t94 * t98; - const double t101 = 0.1e1 + 0.5137e-1 * t55; - const double t106 = 0.705945e1 * t58 + 0.1549425e1 * t55 + 0.420775e0 * t61 + 0.1562925e0 * t69; - const double t109 = 0.1e1 + 0.32163958997385070134e2 / t106; - const double t110 = safe_math::log( t109 ); - const double t114 = 0.1e1 + 0.278125e-1 * t55; - const double t119 = 0.51785e1 * t58 + 0.905775e0 * t55 + 0.1100325e0 * t61 + 0.1241775e0 * t69; - const double t122 = 0.1e1 + 0.29608749977793437516e2 / t119; - const double t123 = safe_math::log( t122 ); - const double t124 = t114 * t123; - const double t126 = -0.310907e-1 * t101 * t110 + t77 - 0.19751673498613801407e-1 * t124; - const double t127 = t99 * t126; - const double t128 = t83 * t127; - const double t130 = 0.19751673498613801407e-1 * t99 * t124; - const double t131 = safe_math::log( 0.2e1 ); - const double t132 = 0.1e1 - t131; - const double t135 = t132 * t134; - const double t136 = t85 * t85; - const double t137 = t87 * t87; - const double t138 = piecewise_functor_3( t84, t136, t137 ); - const double t139 = t91 * t91; - const double t140 = piecewise_functor_3( t90, t136, t139 ); - const double t142 = t138 / 0.2e1 + t140 / 0.2e1; - const double t143 = t142 * t142; - const double t144 = t143 * t142; - const double t146 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; - const double t148 = 0.1e1 / t52 / t80; - const double t149 = t146 * t148; - const double t151 = 0.1e1 / t143; - const double t155 = t151 * t63 * t154; - const double t158 = 0.1e1 / t132; - const double t160 = ( -t77 + t128 + t130 ) * t158; - const double t161 = 0.1e1 / t144; - const double t162 = t133 * t161; - const double t164 = safe_math::exp( -t160 * t162 ); - const double t165 = t164 - 0.1e1; - const double t166 = 0.1e1 / t165; - const double t167 = t158 * t166; - const double t168 = t146 * t146; - const double t170 = 0.1e1 / t66 / t81; - const double t171 = t168 * t170; - const double t174 = t143 * t143; - const double t175 = 0.1e1 / t174; - const double t176 = t173 * t175; - const double t180 = t176 * t179; - const double t183 = t149 * t95 * t155 / 0.96e2 + 0.21437009059034868486e-3 * t167 * t171 * t180; - const double t184 = t183 * t158; - const double t187 = 0.1e1 + 0.65854491829355115987e0 * t167 * t183; - const double t188 = 0.1e1 / t187; - const double t191 = 0.1e1 + 0.65854491829355115987e0 * t184 * t188; - const double t192 = safe_math::log( t191 ); - const double t195 = t135 * t144 * t192 + t128 + t130 - t77; - const double t196 = t45 * t195; - const double t197 = sigma_aa * sigma_aa; - const double t198 = 0.1e1 / t2; - const double t199 = t197 * t198; - const double t200 = tau_a * tau_a; - const double t201 = 0.1e1 / t200; - const double t203 = rho_a <= dens_tol || t84; - const double t205 = t53 * t95; - const double t206 = 0.1e1 / t85; - const double t207 = 0.1e1 / t87; - const double t208 = piecewise_functor_3( t84, t206, t207 ); - const double t210 = t204 * t205 * t208; - const double t212 = 0.1e1 + 0.53425e-1 * t210; - const double t213 = safe_math::sqrt( t210 ); - const double t216 = pow_3_2( t210 ); - const double t219 = t67 * t173; - const double t220 = t208 * t208; - const double t222 = t218 * t219 * t220; - const double t224 = 0.379785e1 * t213 + 0.8969e0 * t210 + 0.204775e0 * t216 + 0.123235e0 * t222; - const double t227 = 0.1e1 + 0.16081979498692535067e2 / t224; - const double t228 = safe_math::log( t227 ); - const double t230 = 0.621814e-1 * t212 * t228; - const double t231 = 0.2e1 <= zeta_tol; - const double t233 = piecewise_functor_3( t231, t86, 0.2e1 * t95 ); - const double t234 = 0.e0 <= zeta_tol; - const double t235 = piecewise_functor_3( t234, t86, 0.0 ); - const double t237 = ( t233 + t235 - 0.2e1 ) * t98; - const double t239 = 0.1e1 + 0.5137e-1 * t210; - const double t244 = 0.705945e1 * t213 + 0.1549425e1 * t210 + 0.420775e0 * t216 + 0.1562925e0 * t222; - const double t247 = 0.1e1 + 0.32163958997385070134e2 / t244; - const double t248 = safe_math::log( t247 ); - const double t252 = 0.1e1 + 0.278125e-1 * t210; - const double t257 = 0.51785e1 * t213 + 0.905775e0 * t210 + 0.1100325e0 * t216 + 0.1241775e0 * t222; - const double t260 = 0.1e1 + 0.29608749977793437516e2 / t257; - const double t261 = safe_math::log( t260 ); - const double t262 = t252 * t261; - const double t265 = t237 * ( -0.310907e-1 * t239 * t248 + t230 - 0.19751673498613801407e-1 * t262 ); - const double t267 = 0.19751673498613801407e-1 * t237 * t262; - const double t268 = piecewise_functor_3( t231, t136, t173 ); - const double t269 = piecewise_functor_3( t234, t136, 0.0 ); - const double t271 = t268 / 0.2e1 + t269 / 0.2e1; - const double t272 = t271 * t271; - const double t273 = t272 * t271; - const double t274 = 0.1e1 / t272; - const double t275 = t274 * t63; - const double t276 = t7 * t275; - const double t277 = 0.1e1 / t208; - const double t279 = t154 * t52 * t277; - const double t284 = 0.1e1 / t273; - const double t285 = t133 * t284; - const double t287 = safe_math::exp( -( -t230 + t265 + t267 ) * t158 * t285 ); - const double t288 = t287 - 0.1e1; - const double t289 = 0.1e1 / t288; - const double t290 = t158 * t289; - const double t291 = t2 * t2; - const double t292 = t291 * rho_a; - const double t294 = 0.1e1 / t3 / t292; - const double t295 = t197 * t294; - const double t296 = t272 * t272; - const double t297 = 0.1e1 / t296; - const double t299 = t290 * t295 * t297; - const double t300 = t51 * t66; - const double t301 = 0.1e1 / t220; - const double t302 = t300 * t301; - const double t303 = t178 * t302; - const double t306 = t276 * t279 / 0.96e2 + 0.21437009059034868486e-3 * t299 * t303; - const double t307 = t306 * t158; - const double t310 = 0.1e1 + 0.65854491829355115987e0 * t290 * t306; - const double t311 = 0.1e1 / t310; - const double t314 = 0.1e1 + 0.65854491829355115987e0 * t307 * t311; - const double t315 = safe_math::log( t314 ); - const double t318 = t135 * t273 * t315 - t230 + t265 + t267; - const double t319 = piecewise_functor_3( t84, zeta_tol, t12 ); - const double t322 = piecewise_functor_3( t203, 0.0, t318 * t319 / 0.2e1 ); - const double t323 = t201 * t322; - const double t325 = 0.2390625e-1 * t199 * t323; - const double t326 = sigma_bb * sigma_bb; - const double t327 = 0.1e1 / t18; - const double t328 = t326 * t327; - const double t329 = tau_b * tau_b; - const double t330 = 0.1e1 / t329; - const double t332 = rho_b <= dens_tol || t90; - const double t333 = 0.1e1 / t91; - const double t334 = piecewise_functor_3( t90, t206, t333 ); - const double t336 = t204 * t205 * t334; - const double t338 = 0.1e1 + 0.53425e-1 * t336; - const double t339 = safe_math::sqrt( t336 ); - const double t342 = pow_3_2( t336 ); - const double t344 = t334 * t334; + const double t2 = sigma * sigma; + const double t3 = rho * rho; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = tau * tau; + const double t7 = 0.1e1 / t6; + const double t10 = 0.1e1 + 0.828125e-2 * t5 * t7; + const double t17 = safe_math::cbrt( rho ); + const double t18 = 0.1e1 / t17; + const double t20 = t14 * t16 * t18; + const double t22 = 0.1e1 + 0.53425e-1 * t20; + const double t23 = safe_math::sqrt( t20 ); + const double t26 = pow_3_2( t20 ); + const double t31 = t17 * t17; + const double t32 = 0.1e1 / t31; + const double t34 = t30 * t15 * t32; + const double t36 = 0.379785e1 * t23 + 0.8969e0 * t20 + 0.204775e0 * t26 + 0.123235e0 * t34; + const double t39 = 0.1e1 + 0.16081979498692535067e2 / t36; + const double t40 = safe_math::log( t39 ); + const double t42 = 0.621814e-1 * t22 * t40; + const double t43 = 0.1e1 <= zeta_tol; + const double t44 = safe_math::cbrt( zeta_tol ); + const double t45 = t44 * zeta_tol; + const double t46 = piecewise_functor_3( t43, t45, 1.0 ); + const double t52 = 0.1e1 / ( 0.2e1 * t49 - 0.2e1 ); + const double t53 = ( 0.2e1 * t46 - 0.2e1 ) * t52; + const double t55 = 0.1e1 + 0.278125e-1 * t20; + const double t60 = 0.51785e1 * t23 + 0.905775e0 * t20 + 0.1100325e0 * t26 + 0.1241775e0 * t34; + const double t63 = 0.1e1 + 0.29608749977793437516e2 / t60; + const double t64 = safe_math::log( t63 ); + const double t67 = 0.19751673498613801407e-1 * t53 * t55 * t64; + const double t68 = safe_math::log( 0.2e1 ); + const double t69 = 0.1e1 - t68; + const double t72 = t69 * t71; + const double t73 = t44 * t44; + const double t74 = piecewise_functor_3( t43, t73, 1.0 ); + const double t75 = t74 * t74; + const double t76 = t75 * t74; + const double t78 = 0.1e1 / t17 / t3; + const double t79 = sigma * t78; + const double t81 = 0.1e1 / t75; + const double t85 = t81 * t28 * t84; + const double t88 = 0.1e1 / t69; + const double t91 = 0.1e1 / t76; + const double t92 = t70 * t91; + const double t94 = safe_math::exp( -( -t42 + t67 ) * t88 * t92 ); + const double t95 = t94 - 0.1e1; + const double t96 = 0.1e1 / t95; + const double t97 = t88 * t96; + const double t98 = t3 * t3; + const double t100 = 0.1e1 / t31 / t98; + const double t101 = t2 * t100; + const double t104 = t75 * t75; + const double t105 = 0.1e1 / t104; + const double t106 = t103 * t105; + const double t110 = t106 * t109; + const double t113 = t79 * t49 * t85 / 0.96e2 + 0.21437009059034868486e-3 * t97 * t101 * t110; + const double t114 = t113 * t88; + const double t117 = 0.1e1 + 0.65854491829355115987e0 * t97 * t113; + const double t118 = 0.1e1 / t117; + const double t121 = 0.1e1 + 0.65854491829355115987e0 * t114 * t118; + const double t122 = safe_math::log( t121 ); + const double t125 = t72 * t76 * t122 - t42 + t67; + const double t129 = rho / 0.2e1 <= dens_tol || t43; + const double t133 = piecewise_functor_3( t43, 0.1e1 / t44, 1.0 ); + const double t135 = t130 * t18 * t49 * t133; + const double t137 = 0.1e1 + 0.53425e-1 * t135; + const double t138 = safe_math::sqrt( t135 ); + const double t141 = pow_3_2( t135 ); + const double t145 = t133 * t133; + const double t147 = t143 * t32 * t103 * t145; + const double t149 = 0.379785e1 * t138 + 0.8969e0 * t135 + 0.204775e0 * t141 + 0.123235e0 * t147; + const double t152 = 0.1e1 + 0.16081979498692535067e2 / t149; + const double t153 = safe_math::log( t152 ); + const double t155 = 0.621814e-1 * t137 * t153; + const double t156 = 0.2e1 <= zeta_tol; + const double t158 = piecewise_functor_3( t156, t45, 0.2e1 * t49 ); + const double t159 = 0.e0 <= zeta_tol; + const double t160 = piecewise_functor_3( t159, t45, 0.0 ); + const double t162 = ( t158 + t160 - 0.2e1 ) * t52; + const double t164 = 0.1e1 + 0.5137e-1 * t135; + const double t169 = 0.705945e1 * t138 + 0.1549425e1 * t135 + 0.420775e0 * t141 + 0.1562925e0 * t147; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t135; + const double t182 = 0.51785e1 * t138 + 0.905775e0 * t135 + 0.1100325e0 * t141 + 0.1241775e0 * t147; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t190 = t162 * ( -0.310907e-1 * t164 * t173 + t155 - 0.19751673498613801407e-1 * t187 ); + const double t192 = 0.19751673498613801407e-1 * t162 * t187; + const double t193 = piecewise_functor_3( t156, t73, t103 ); + const double t194 = piecewise_functor_3( t159, t73, 0.0 ); + const double t196 = t193 / 0.2e1 + t194 / 0.2e1; + const double t197 = t196 * t196; + const double t198 = t197 * t196; + const double t199 = 0.1e1 / t197; + const double t200 = t199 * t28; + const double t204 = t84 * t103 / t133; + const double t209 = 0.1e1 / t198; + const double t210 = t70 * t209; + const double t212 = safe_math::exp( -( -t155 + t190 + t192 ) * t88 * t210 ); + const double t213 = t212 - 0.1e1; + const double t214 = 0.1e1 / t213; + const double t215 = t88 * t214; + const double t216 = t197 * t197; + const double t217 = 0.1e1 / t216; + const double t221 = 0.1e1 / t145; + const double t222 = t220 * t221; + const double t223 = t108 * t222; + const double t226 = t79 * t200 * t204 / 0.96e2 + 0.42874018118069736972e-3 * t215 * t101 * t217 * t223; + const double t227 = t226 * t88; + const double t230 = 0.1e1 + 0.65854491829355115987e0 * t215 * t226; + const double t231 = 0.1e1 / t230; + const double t234 = 0.1e1 + 0.65854491829355115987e0 * t227 * t231; + const double t235 = safe_math::log( t234 ); + const double t239 = piecewise_functor_3( t43, zeta_tol, 1.0 ); + const double t242 = piecewise_functor_3( t129, 0.0, ( t72 * t198 * t235 - t155 + t190 + t192 ) * t239 / 0.2e1 ); + const double t243 = t7 * t242; + const double t246 = t3 * rho; + const double t247 = 0.1e1 / t246; + const double t248 = t2 * t247; + const double t249 = t7 * t125; + const double t250 = t248 * t249; + const double t253 = 0.1e1 / t17 / rho; + const double t254 = t16 * t253; + const double t257 = 0.11073470983333333333e-2 * t14 * t254 * t40; + const double t258 = t36 * t36; + const double t259 = 0.1e1 / t258; + const double t260 = t22 * t259; + const double t262 = 0.1e1 / t23 * t11; + const double t264 = t263 * t253; + const double t265 = t262 * t264; + const double t267 = t14 * t254; + const double t269 = safe_math::sqrt( t20 ); + const double t270 = t269 * t11; + const double t271 = t270 * t264; + const double t274 = 0.1e1 / t31 / rho; + const double t276 = t30 * t15 * t274; + const double t278 = -0.632975e0 * t265 - 0.29896666666666666667e0 * t267 - 0.1023875e0 * t271 - 0.82156666666666666667e-1 * t276; + const double t279 = 0.1e1 / t39; + const double t280 = t278 * t279; + const double t282 = 0.1e1 * t260 * t280; + const double t283 = t53 * t11; + const double t287 = 0.18311447306006545054e-3 * t283 * t263 * t253 * t64; + const double t288 = t53 * t55; + const double t289 = t60 * t60; + const double t290 = 0.1e1 / t289; + const double t295 = -0.86308333333333333334e0 * t265 - 0.301925e0 * t267 - 0.5501625e-1 * t271 - 0.82785e-1 * t276; + const double t297 = 0.1e1 / t63; + const double t298 = t290 * t295 * t297; + const double t300 = 0.5848223622634646207e0 * t288 * t298; + const double t302 = 0.1e1 / t17 / t246; + const double t303 = sigma * t302; + const double t307 = t69 * t69; + const double t308 = 0.1e1 / t307; + const double t309 = t95 * t95; + const double t310 = 0.1e1 / t309; + const double t311 = t308 * t310; + const double t312 = t311 * t2; + const double t313 = t100 * t103; + const double t315 = 0.1e1 / t104 / t76; + const double t316 = t313 * t315; + const double t317 = t312 * t316; + const double t318 = t257 + t282 - t287 - t300; + const double t319 = t318 * t70; + const double t320 = t319 * t94; + const double t321 = t109 * t320; + const double t324 = t98 * rho; + const double t326 = 0.1e1 / t31 / t324; + const double t327 = t2 * t326; + const double t331 = -0.7e1 / 0.288e3 * t303 * t49 * t85 + 0.21437009059034868486e-3 * t317 * t321 - 0.10003937560882938627e-2 * t97 * t327 * t110; + const double t332 = t331 * t88; + const double t335 = t117 * t117; + const double t336 = 0.1e1 / t335; + const double t337 = t311 * t113; + const double t338 = t91 * t94; + const double t339 = t319 * t338; + const double t344 = 0.65854491829355115987e0 * t337 * t339 + 0.65854491829355115987e0 * t97 * t331; + const double t345 = t336 * t344; + const double t348 = 0.65854491829355115987e0 * t332 * t118 - 0.65854491829355115987e0 * t114 * t345; + const double t350 = 0.1e1 / t121; + const double t353 = t72 * t76 * t348 * t350 + t257 + t282 - t287 - t300; + const double t354 = t10 * t353; + const double t355 = t248 * t243; + const double t357 = t253 * t49; + const double t358 = t133 * t153; + const double t361 = 0.11073470983333333333e-2 * t130 * t357 * t358; + const double t362 = t149 * t149; + const double t363 = 0.1e1 / t362; + const double t364 = t137 * t363; + const double t367 = 0.1e1 / t138 * t11 * t13; + const double t368 = t49 * t133; + const double t369 = t254 * t368; + const double t370 = t367 * t369; + const double t372 = t357 * t133; + const double t373 = t130 * t372; + const double t375 = safe_math::sqrt( t135 ); + const double t377 = t375 * t11 * t13; + const double t378 = t377 * t369; + const double t382 = t143 * t274 * t103 * t145; + const double t384 = -0.632975e0 * t370 - 0.29896666666666666667e0 * t373 - 0.1023875e0 * t378 - 0.82156666666666666667e-1 * t382; + const double t385 = 0.1e1 / t152; + const double t386 = t384 * t385; + const double t388 = 0.1e1 * t364 * t386; + const double t389 = t133 * t173; + const double t393 = t169 * t169; + const double t394 = 0.1e1 / t393; + const double t395 = t164 * t394; + const double t400 = -0.1176575e1 * t370 - 0.516475e0 * t373 - 0.2103875e0 * t378 - 0.104195e0 * t382; + const double t401 = 0.1e1 / t172; + const double t402 = t400 * t401; + const double t405 = t133 * t186; + const double t409 = t182 * t182; + const double t410 = 0.1e1 / t409; + const double t411 = t177 * t410; + const double t416 = -0.86308333333333333334e0 * t370 - 0.301925e0 * t373 - 0.5501625e-1 * t378 - 0.82785e-1 * t382; + const double t417 = 0.1e1 / t185; + const double t418 = t416 * t417; + const double t422 = t162 * ( 0.53237641966666666666e-3 * t130 * t357 * t389 + 0.1e1 * t395 * t402 - t361 - t388 + 0.18311447306006545054e-3 * t130 * t357 * t405 + 0.5848223622634646207e0 * t411 * t418 ); + const double t423 = t162 * t14; + const double t424 = t368 * t186; + const double t427 = 0.18311447306006545054e-3 * t423 * t254 * t424; + const double t428 = t162 * t177; + const double t430 = t410 * t416 * t417; + const double t432 = 0.5848223622634646207e0 * t428 * t430; + const double t436 = t213 * t213; + const double t437 = 0.1e1 / t436; + const double t438 = t308 * t437; + const double t439 = t438 * t2; + const double t441 = 0.1e1 / t216 / t198; + const double t442 = t100 * t441; + const double t443 = t442 * t11; + const double t444 = t439 * t443; + const double t447 = t361 + t388 + t422 - t427 - t432; + const double t449 = t70 * t212; + const double t450 = t221 * t447 * t449; + const double t451 = t446 * t450; + const double t458 = -0.7e1 / 0.288e3 * t303 * t200 * t204 + 0.42874018118069736972e-3 * t444 * t451 - 0.20007875121765877254e-2 * t215 * t327 * t217 * t223; + const double t459 = t458 * t88; + const double t462 = t230 * t230; + const double t463 = 0.1e1 / t462; + const double t464 = t438 * t226; + const double t465 = t447 * t70; + const double t466 = t209 * t212; + const double t467 = t465 * t466; + const double t472 = 0.65854491829355115987e0 * t464 * t467 + 0.65854491829355115987e0 * t215 * t458; + const double t473 = t463 * t472; + const double t476 = 0.65854491829355115987e0 * t459 * t231 - 0.65854491829355115987e0 * t227 * t473; + const double t478 = 0.1e1 / t234; + const double t484 = piecewise_functor_3( t129, 0.0, ( t72 * t198 * t476 * t478 + t361 + t388 + t422 - t427 - t432 ) * t239 / 0.2e1 ); + const double t485 = t7 * t484; + const double t486 = t5 * t485; + const double t490 = sigma * t4; + const double t492 = 0.165625e-1 * t490 * t249; + const double t493 = t10 * t69; + const double t494 = t493 * t71; + const double t495 = t78 * t49; + const double t501 = sigma * t100; + const double t505 = t495 * t81 * t498 / 0.96e2 + 0.42874018118069736972e-3 * t97 * t501 * t110; + const double t506 = t505 * t88; + const double t509 = t113 * t308; + const double t510 = t336 * t96; + const double t511 = t510 * t505; + const double t514 = 0.65854491829355115987e0 * t506 * t118 - 0.4336814094102599731e0 * t509 * t511; + const double t515 = t76 * t514; + const double t516 = t515 * t350; + const double t517 = t494 * t516; + const double t519 = 0.95625e-1 * t490 * t243; + const double t520 = t72 * t198; + const double t529 = t78 * t199 * t28 * t204 / 0.96e2 + 0.85748036236139473944e-3 * t215 * t501 * t217 * t223; + const double t530 = t529 * t88; + const double t533 = t226 * t308; + const double t534 = t463 * t214; + const double t535 = t534 * t529; + const double t538 = 0.65854491829355115987e0 * t530 * t231 - 0.4336814094102599731e0 * t533 * t535; + const double t543 = piecewise_functor_3( t129, 0.0, t520 * t538 * t478 * t239 / 0.2e1 ); + const double t544 = t7 * t543; + const double t546 = 0.478125e-1 * t5 * t544; + const double t549 = 0.1e1 / t6 / tau; + const double t550 = t549 * t125; + const double t552 = 0.165625e-1 * t5 * t550; + const double t553 = t549 * t242; + const double t555 = 0.95625e-1 * t5 * t553; + const double t561 = 0.1e1 / t98; + const double t562 = t2 * t561; + const double t563 = t562 * t249; + const double t565 = t7 * t353; + const double t566 = t248 * t565; + const double t568 = t16 * t78; + const double t571 = 0.14764627977777777777e-2 * t14 * t568 * t40; + const double t572 = t253 * t259; + const double t575 = 0.35616666666666666666e-1 * t130 * t572 * t280; + const double t576 = t258 * t36; + const double t577 = 0.1e1 / t576; + const double t578 = t22 * t577; + const double t579 = t278 * t278; + const double t580 = t579 * t279; + const double t582 = 0.2e1 * t578 * t580; + const double t585 = 0.1e1 / t23 / t20 * t28; + const double t588 = 0.1e1 / t31 / t3; + const double t589 = t586 * t588; + const double t590 = t585 * t589; + const double t592 = t263 * t78; + const double t593 = t262 * t592; + const double t595 = t14 * t568; + const double t597 = 0.1e1/safe_math::sqrt( t20 ); + const double t598 = t597 * t28; + const double t599 = t598 * t589; + const double t601 = t270 * t592; + const double t603 = t15 * t588; + const double t604 = t30 * t603; + const double t606 = -0.42198333333333333333e0 * t590 + 0.84396666666666666666e0 * t593 + 0.39862222222222222223e0 * t595 + 0.68258333333333333333e-1 * t599 + 0.13651666666666666667e0 * t601 + 0.13692777777777777778e0 * t604; + const double t607 = t606 * t279; + const double t609 = 0.1e1 * t260 * t607; + const double t610 = t258 * t258; + const double t611 = 0.1e1 / t610; + const double t612 = t22 * t611; + const double t613 = t39 * t39; + const double t614 = 0.1e1 / t613; + const double t615 = t579 * t614; + const double t617 = 0.16081979498692535067e2 * t612 * t615; + const double t621 = 0.24415263074675393405e-3 * t283 * t263 * t78 * t64; + const double t622 = t53 * t14; + const double t625 = 0.10843581300301739842e-1 * t622 * t254 * t298; + const double t626 = t289 * t60; + const double t627 = 0.1e1 / t626; + const double t628 = t295 * t295; + const double t630 = t627 * t628 * t297; + const double t632 = 0.11696447245269292414e1 * t288 * t630; + const double t639 = -0.57538888888888888889e0 * t590 + 0.11507777777777777778e1 * t593 + 0.40256666666666666667e0 * t595 + 0.366775e-1 * t599 + 0.73355e-1 * t601 + 0.137975e0 * t604; + const double t641 = t290 * t639 * t297; + const double t643 = 0.5848223622634646207e0 * t288 * t641; + const double t644 = t289 * t289; + const double t645 = 0.1e1 / t644; + const double t646 = t645 * t628; + const double t647 = t63 * t63; + const double t648 = 0.1e1 / t647; + const double t649 = t646 * t648; + const double t651 = 0.17315859105681463759e2 * t288 * t649; + const double t653 = 0.1e1 / t17 / t98; + const double t654 = sigma * t653; + const double t659 = 0.1e1 / t307 / t69; + const double t661 = 0.1e1 / t309 / t95; + const double t662 = t659 * t661; + const double t663 = t662 * t2; + const double t664 = t104 * t104; + const double t666 = 0.1e1 / t664 / t75; + const double t667 = t313 * t666; + const double t668 = t663 * t667; + const double t669 = t318 * t318; + const double t671 = t669 * t670; + const double t672 = t94 * t94; + const double t673 = t671 * t672; + const double t674 = t109 * t673; + const double t677 = t326 * t103; + const double t678 = t677 * t315; + const double t679 = t312 * t678; + const double t682 = -t571 - t575 - t582 + t609 + t617 + t621 + t625 + t632 - t643 - t651; + const double t683 = t682 * t70; + const double t684 = t683 * t94; + const double t685 = t109 * t684; + const double t688 = t659 * t310; + const double t689 = t688 * t2; + const double t690 = t689 * t667; + const double t691 = t671 * t94; + const double t692 = t109 * t691; + const double t695 = t98 * t3; + const double t697 = 0.1e1 / t31 / t695; + const double t698 = t2 * t697; + const double t702 = 0.35e2 / 0.432e3 * t654 * t49 * t85 + 0.42874018118069736972e-3 * t668 * t674 - 0.20007875121765877254e-2 * t679 * t321 + 0.21437009059034868486e-3 * t317 * t685 - 0.21437009059034868486e-3 * t690 * t692 + 0.56688979511669985553e-2 * t97 * t698 * t110; + const double t703 = t702 * t88; + const double t709 = 0.1e1 / t335 / t117; + const double t710 = t344 * t344; + const double t711 = t709 * t710; + const double t714 = t662 * t113; + const double t716 = 0.1e1 / t104 / t75; + const double t717 = t716 * t672; + const double t718 = t671 * t717; + const double t721 = t311 * t331; + const double t724 = t683 * t338; + const double t727 = t688 * t113; + const double t728 = t716 * t94; + const double t729 = t671 * t728; + const double t734 = 0.13170898365871023197e1 * t714 * t718 + 0.13170898365871023197e1 * t721 * t339 + 0.65854491829355115987e0 * t337 * t724 - 0.65854491829355115987e0 * t727 * t729 + 0.65854491829355115987e0 * t97 * t702; + const double t735 = t336 * t734; + const double t738 = 0.65854491829355115987e0 * t703 * t118 - 0.13170898365871023197e1 * t332 * t345 + 0.13170898365871023197e1 * t114 * t711 - 0.65854491829355115987e0 * t114 * t735; + const double t742 = t348 * t348; + const double t744 = t121 * t121; + const double t745 = 0.1e1 / t744; + const double t748 = t72 * t76 * t738 * t350 - t72 * t76 * t742 * t745 - t571 - t575 - t582 + t609 + t617 + t621 + t625 + t632 - t643 - t651; + const double t749 = t10 * t748; + const double t750 = t562 * t243; + const double t752 = t248 * t485; + const double t756 = 0.14764627977777777777e-2 * t130 * t495 * t358; + const double t759 = t368 * t363 * t384 * t385; + const double t761 = 0.35616666666666666666e-1 * t267 * t759; + const double t762 = t362 * t149; + const double t763 = 0.1e1 / t762; + const double t764 = t137 * t763; + const double t765 = t384 * t384; + const double t766 = t765 * t385; + const double t768 = 0.2e1 * t764 * t766; + const double t772 = 0.1e1 / t138 / t135 * t28 * t29; + const double t773 = t103 * t145; + const double t774 = t603 * t773; + const double t775 = t772 * t774; + const double t777 = t568 * t368; + const double t778 = t367 * t777; + const double t780 = t495 * t133; + const double t781 = t130 * t780; + const double t783 = 0.1e1/safe_math::sqrt( t135 ); + const double t785 = t783 * t28 * t29; + const double t786 = t785 * t774; + const double t788 = t377 * t777; + const double t792 = t143 * t588 * t103 * t145; + const double t794 = -0.42198333333333333333e0 * t775 + 0.84396666666666666666e0 * t778 + 0.39862222222222222223e0 * t781 + 0.68258333333333333333e-1 * t786 + 0.13651666666666666667e0 * t788 + 0.13692777777777777778e0 * t792; + const double t797 = 0.1e1 * t364 * t794 * t385; + const double t798 = t362 * t362; + const double t799 = 0.1e1 / t798; + const double t800 = t137 * t799; + const double t801 = t152 * t152; + const double t802 = 0.1e1 / t801; + const double t803 = t765 * t802; + const double t805 = 0.16081979498692535067e2 * t800 * t803; + const double t811 = t368 * t394 * t400 * t401; + const double t814 = t393 * t169; + const double t815 = 0.1e1 / t814; + const double t816 = t164 * t815; + const double t817 = t400 * t400; + const double t818 = t817 * t401; + const double t827 = -0.78438333333333333333e0 * t775 + 0.15687666666666666667e1 * t778 + 0.68863333333333333333e0 * t781 + 0.14025833333333333333e0 * t786 + 0.28051666666666666667e0 * t788 + 0.17365833333333333333e0 * t792; + const double t831 = t393 * t393; + const double t832 = 0.1e1 / t831; + const double t833 = t164 * t832; + const double t834 = t172 * t172; + const double t835 = 0.1e1 / t834; + const double t836 = t817 * t835; + const double t842 = t368 * t430; + const double t845 = t409 * t182; + const double t846 = 0.1e1 / t845; + const double t847 = t177 * t846; + const double t848 = t416 * t416; + const double t849 = t848 * t417; + const double t858 = -0.57538888888888888889e0 * t775 + 0.11507777777777777778e1 * t778 + 0.40256666666666666667e0 * t781 + 0.366775e-1 * t786 + 0.73355e-1 * t788 + 0.137975e0 * t792; + const double t859 = t858 * t417; + const double t862 = t409 * t409; + const double t863 = 0.1e1 / t862; + const double t864 = t177 * t863; + const double t865 = t185 * t185; + const double t866 = 0.1e1 / t865; + const double t867 = t848 * t866; + const double t870 = -0.70983522622222222221e-3 * t130 * t495 * t389 - 0.34246666666666666666e-1 * t267 * t811 - 0.2e1 * t816 * t818 + 0.1e1 * t395 * t827 * t401 + 0.32163958997385070134e2 * t833 * t836 + t756 + t761 + t768 - t797 - t805 - 0.24415263074675393405e-3 * t130 * t495 * t405 - 0.10843581300301739842e-1 * t267 * t842 - 0.11696447245269292414e1 * t847 * t849 + 0.5848223622634646207e0 * t411 * t859 + 0.17315859105681463759e2 * t864 * t867; + const double t871 = t162 * t870; + const double t874 = 0.24415263074675393405e-3 * t423 * t568 * t424; + const double t875 = t162 * t130; + const double t878 = 0.10843581300301739842e-1 * t875 * t372 * t430; + const double t880 = t846 * t848 * t417; + const double t882 = 0.11696447245269292414e1 * t428 * t880; + const double t884 = t410 * t858 * t417; + const double t886 = 0.5848223622634646207e0 * t428 * t884; + const double t887 = t863 * t848; + const double t888 = t887 * t866; + const double t890 = 0.17315859105681463759e2 * t428 * t888; + const double t895 = 0.1e1 / t436 / t213; + const double t896 = t659 * t895; + const double t897 = t896 * t2; + const double t898 = t216 * t216; + const double t900 = 0.1e1 / t898 / t197; + const double t901 = t100 * t900; + const double t902 = t901 * t11; + const double t903 = t897 * t902; + const double t904 = t447 * t447; + const double t905 = t221 * t904; + const double t906 = t212 * t212; + const double t907 = t670 * t906; + const double t909 = t446 * t905 * t907; + const double t913 = t326 * t441 * t11; + const double t914 = t439 * t913; + const double t917 = -t756 - t761 - t768 + t797 + t805 + t871 + t874 + t878 + t882 - t886 - t890; + const double t920 = t446 * t221 * t917 * t449; + const double t923 = t659 * t437; + const double t924 = t923 * t2; + const double t925 = t924 * t902; + const double t926 = t670 * t212; + const double t928 = t446 * t905 * t926; + const double t935 = 0.35e2 / 0.432e3 * t654 * t200 * t204 + 0.85748036236139473944e-3 * t903 * t909 - 0.40015750243531754508e-2 * t914 * t451 + 0.42874018118069736972e-3 * t444 * t920 - 0.42874018118069736972e-3 * t925 * t928 + 0.11337795902333997111e-1 * t215 * t698 * t217 * t223; + const double t936 = t935 * t88; + const double t942 = 0.1e1 / t462 / t230; + const double t943 = t472 * t472; + const double t944 = t942 * t943; + const double t947 = t896 * t226; + const double t948 = t904 * t670; + const double t950 = 0.1e1 / t216 / t197; + const double t951 = t950 * t906; + const double t952 = t948 * t951; + const double t955 = t438 * t458; + const double t959 = t917 * t70 * t466; + const double t962 = t923 * t226; + const double t963 = t950 * t212; + const double t964 = t948 * t963; + const double t969 = 0.13170898365871023197e1 * t947 * t952 + 0.13170898365871023197e1 * t955 * t467 + 0.65854491829355115987e0 * t464 * t959 - 0.65854491829355115987e0 * t962 * t964 + 0.65854491829355115987e0 * t215 * t935; + const double t970 = t463 * t969; + const double t973 = 0.65854491829355115987e0 * t936 * t231 - 0.13170898365871023197e1 * t459 * t473 + 0.13170898365871023197e1 * t227 * t944 - 0.65854491829355115987e0 * t227 * t970; + const double t977 = t476 * t476; + const double t979 = t234 * t234; + const double t980 = 0.1e1 / t979; + const double t983 = t72 * t198 * t973 * t478 - t72 * t198 * t977 * t980 - t756 - t761 - t768 + t797 + t805 + t871 + t874 + t878 + t882 - t886 - t890; + const double t986 = piecewise_functor_3( t129, 0.0, t983 * t239 / 0.2e1 ); + const double t987 = t7 * t986; + const double t988 = t5 * t987; + const double t992 = sigma * t247; + const double t993 = t992 * t249; + const double t995 = t490 * t565; + const double t997 = t248 * t7; + const double t998 = t69 * t76; + const double t999 = t514 * t350; + const double t1000 = t998 * t999; + const double t1001 = t997 * t1000; + const double t1003 = t302 * t49; + const double t1007 = t311 * sigma; + const double t1008 = t1007 * t316; + const double t1011 = sigma * t326; + const double t1015 = -0.7e1 / 0.288e3 * t1003 * t81 * t498 + 0.42874018118069736972e-3 * t1008 * t321 - 0.20007875121765877254e-2 * t97 * t1011 * t110; + const double t1016 = t1015 * t88; + const double t1021 = t331 * t308; + const double t1024 = t509 * t709; + const double t1025 = t96 * t505; + const double t1026 = t1025 * t344; + const double t1029 = t113 * t659; + const double t1030 = t336 * t310; + const double t1031 = t1029 * t1030; + const double t1032 = t505 * t318; + const double t1033 = t92 * t94; + const double t1034 = t1032 * t1033; + const double t1037 = t510 * t1015; + const double t1040 = 0.65854491829355115987e0 * t1016 * t118 - 0.65854491829355115987e0 * t506 * t345 - 0.4336814094102599731e0 * t1021 * t511 + 0.8673628188205199462e0 * t1024 * t1026 - 0.4336814094102599731e0 * t1031 * t1034 - 0.4336814094102599731e0 * t509 * t1037; + const double t1041 = t76 * t1040; + const double t1042 = t1041 * t350; + const double t1043 = t494 * t1042; + const double t1044 = t745 * t348; + const double t1045 = t515 * t1044; + const double t1046 = t494 * t1045; + const double t1047 = t992 * t243; + const double t1049 = t490 * t485; + const double t1051 = t248 * t544; + const double t1057 = t438 * sigma; + const double t1058 = t1057 * t443; + const double t1065 = -0.7e1 / 0.288e3 * t302 * t199 * t28 * t204 + 0.85748036236139473944e-3 * t1058 * t451 - 0.40015750243531754507e-2 * t215 * t1011 * t217 * t223; + const double t1066 = t1065 * t88; + const double t1071 = t458 * t308; + const double t1074 = t533 * t942; + const double t1075 = t214 * t529; + const double t1076 = t1075 * t472; + const double t1079 = t226 * t659; + const double t1080 = t463 * t437; + const double t1081 = t1079 * t1080; + const double t1082 = t529 * t447; + const double t1083 = t210 * t212; + const double t1084 = t1082 * t1083; + const double t1087 = t534 * t1065; + const double t1090 = 0.65854491829355115987e0 * t1066 * t231 - 0.65854491829355115987e0 * t530 * t473 - 0.4336814094102599731e0 * t1071 * t535 + 0.8673628188205199462e0 * t1074 * t1076 - 0.4336814094102599731e0 * t1081 * t1084 - 0.4336814094102599731e0 * t533 * t1087; + const double t1094 = t538 * t980; + const double t1095 = t239 * t476; + const double t1100 = piecewise_functor_3( t129, 0.0, t520 * t1090 * t478 * t239 / 0.2e1 - t520 * t1094 * t1095 / 0.2e1 ); + const double t1101 = t7 * t1100; + const double t1102 = t5 * t1101; + const double t1106 = t248 * t550; + const double t1108 = t549 * t353; + const double t1109 = t5 * t1108; + const double t1111 = t248 * t553; + const double t1113 = t549 * t484; + const double t1114 = t5 * t1113; + const double t1118 = t4 * t7; + const double t1120 = 0.165625e-1 * t1118 * t125; + const double t1121 = t7 * t69; + const double t1122 = t490 * t1121; + const double t1123 = t71 * t76; + const double t1124 = t1123 * t999; + const double t1126 = 0.165625e-1 * t1122 * t1124; + const double t1127 = t490 * t7; + const double t1129 = 0.16781321040762193395e-2 * t1127 * t1000; + const double t1130 = t308 * t96; + const double t1133 = t445 * t118; + const double t1134 = t105 * t11 * t1133; + const double t1137 = t505 * t505; + const double t1138 = t1137 * t308; + const double t1141 = t709 * t310; + const double t1142 = t1141 * t1137; + const double t1145 = t1030 * t100; + const double t1149 = 0.28234466758480466999e-3 * t1130 * t313 * t1134 - 0.8673628188205199462e0 * t1138 * t510 + 0.57119737665102352616e0 * t1029 * t1142 - 0.1859366460452550541e-3 * t1029 * t1145 * t110; + const double t1150 = t76 * t1149; + const double t1151 = t1150 * t350; + const double t1152 = t494 * t1151; + const double t1153 = t514 * t514; + const double t1154 = t76 * t1153; + const double t1155 = t1154 * t745; + const double t1156 = t494 * t1155; + const double t1158 = 0.95625e-1 * t1118 * t242; + const double t1160 = 0.19125e0 * t490 * t544; + const double t1161 = t308 * t214; + const double t1163 = t100 * t217 * t11; + const double t1164 = t1161 * t1163; + const double t1165 = t49 * t221; + const double t1167 = t445 * t1165 * t231; + const double t1170 = t529 * t529; + const double t1171 = t1170 * t308; + const double t1174 = t942 * t437; + const double t1175 = t1174 * t1170; + const double t1178 = t1080 * t100; + const double t1181 = t217 * t11 * t107; + const double t1182 = t1181 * t222; + const double t1185 = 0.56468933516960933999e-3 * t1164 * t1167 - 0.8673628188205199462e0 * t1171 * t534 + 0.57119737665102352616e0 * t1079 * t1175 - 0.3718732920905101082e-3 * t1079 * t1178 * t1182; + const double t1189 = t538 * t538; + const double t1195 = piecewise_functor_3( t129, 0.0, t520 * t1185 * t478 * t239 / 0.2e1 - t520 * t1189 * t980 * t239 / 0.2e1 ); + const double t1196 = t7 * t1195; + const double t1198 = 0.478125e-1 * t5 * t1196; + const double t1201 = 0.33125e-1 * t490 * t550; + const double t1202 = t549 * t69; + const double t1203 = t5 * t1202; + const double t1205 = 0.165625e-1 * t1203 * t1124; + const double t1207 = 0.19125e0 * t490 * t553; + const double t1208 = t549 * t543; + const double t1210 = 0.95625e-1 * t5 * t1208; + const double t1212 = t6 * t6; + const double t1213 = 0.1e1 / t1212; + const double t1214 = t1213 * t125; + const double t1216 = 0.496875e-1 * t5 * t1214; + const double t1217 = t1213 * t242; + const double t1219 = 0.286875e0 * t5 * t1217; + + + v2rho2 = -0.33125e-1 * t250 + 0.2e1 * t354 + 0.19125e0 * t355 - 0.95625e-1 * t486 + rho * ( 0.496875e-1 * t563 - 0.33125e-1 * t566 + t749 - 0.286875e0 * t750 + 0.19125e0 * t752 - 0.478125e-1 * t988 ); + v2rhosigma = t492 + t517 - t519 - t546 + rho * ( -0.33125e-1 * t993 + 0.165625e-1 * t995 - 0.16781321040762193395e-2 * t1001 + t1043 - t1046 + 0.19125e0 * t1047 - 0.95625e-1 * t1049 + 0.95625e-1 * t1051 - 0.478125e-1 * t1102 ); + v2rholapl = 0.e0; + v2rhotau = -t552 + t555 + rho * ( 0.33125e-1 * t1106 - 0.165625e-1 * t1109 - 0.19125e0 * t1111 + 0.95625e-1 * t1114 ); + v2sigma2 = rho * ( t1120 + t1126 + t1129 + t1152 - t1156 - t1158 - t1160 - t1198 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( -t1201 - t1205 + t1207 + t1210 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1216 - t1219 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t49 = constants::m_cbrt_2; + constexpr double t70 = constants::m_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t28 = t11 * t11; + constexpr double t29 = t13 * t13; + constexpr double t30 = t28 * t29; + constexpr double t71 = 0.1e1 / t70; + constexpr double t83 = 0.1e1 / t13; + constexpr double t84 = t83 * t15; + constexpr double t103 = t49 * t49; + constexpr double t107 = 0.1e1 / t29; + constexpr double t108 = t11 * t107; + constexpr double t109 = t108 * t16; + constexpr double t130 = t14 * t16; + constexpr double t143 = t30 * t15; + constexpr double t220 = t16 * t49; + constexpr double t263 = t13 * t16; + constexpr double t445 = t107 * t16; + constexpr double t446 = t445 * t49; + constexpr double t498 = t28 * t83 * t15; + constexpr double t586 = t29 * t15; + constexpr double t670 = t70 * t70; + + + const double t2 = sigma * sigma; + const double t3 = rho * rho; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = tau * tau; + const double t7 = 0.1e1 / t6; + const double t10 = 0.1e1 + 0.828125e-2 * t5 * t7; + const double t17 = safe_math::cbrt( rho ); + const double t18 = 0.1e1 / t17; + const double t20 = t14 * t16 * t18; + const double t22 = 0.1e1 + 0.53425e-1 * t20; + const double t23 = safe_math::sqrt( t20 ); + const double t26 = pow_3_2( t20 ); + const double t31 = t17 * t17; + const double t32 = 0.1e1 / t31; + const double t34 = t30 * t15 * t32; + const double t36 = 0.379785e1 * t23 + 0.8969e0 * t20 + 0.204775e0 * t26 + 0.123235e0 * t34; + const double t39 = 0.1e1 + 0.16081979498692535067e2 / t36; + const double t40 = safe_math::log( t39 ); + const double t42 = 0.621814e-1 * t22 * t40; + const double t43 = 0.1e1 <= zeta_tol; + const double t44 = safe_math::cbrt( zeta_tol ); + const double t45 = t44 * zeta_tol; + const double t46 = piecewise_functor_3( t43, t45, 1.0 ); + const double t52 = 0.1e1 / ( 0.2e1 * t49 - 0.2e1 ); + const double t53 = ( 0.2e1 * t46 - 0.2e1 ) * t52; + const double t55 = 0.1e1 + 0.278125e-1 * t20; + const double t60 = 0.51785e1 * t23 + 0.905775e0 * t20 + 0.1100325e0 * t26 + 0.1241775e0 * t34; + const double t63 = 0.1e1 + 0.29608749977793437516e2 / t60; + const double t64 = safe_math::log( t63 ); + const double t67 = 0.19751673498613801407e-1 * t53 * t55 * t64; + const double t68 = safe_math::log( 0.2e1 ); + const double t69 = 0.1e1 - t68; + const double t72 = t69 * t71; + const double t73 = t44 * t44; + const double t74 = piecewise_functor_3( t43, t73, 1.0 ); + const double t75 = t74 * t74; + const double t76 = t75 * t74; + const double t78 = 0.1e1 / t17 / t3; + const double t79 = sigma * t78; + const double t81 = 0.1e1 / t75; + const double t85 = t81 * t28 * t84; + const double t88 = 0.1e1 / t69; + const double t91 = 0.1e1 / t76; + const double t92 = t70 * t91; + const double t94 = safe_math::exp( -( -t42 + t67 ) * t88 * t92 ); + const double t95 = t94 - 0.1e1; + const double t96 = 0.1e1 / t95; + const double t97 = t88 * t96; + const double t98 = t3 * t3; + const double t100 = 0.1e1 / t31 / t98; + const double t101 = t2 * t100; + const double t104 = t75 * t75; + const double t105 = 0.1e1 / t104; + const double t106 = t103 * t105; + const double t110 = t106 * t109; + const double t113 = t79 * t49 * t85 / 0.96e2 + 0.21437009059034868486e-3 * t97 * t101 * t110; + const double t114 = t113 * t88; + const double t117 = 0.1e1 + 0.65854491829355115987e0 * t97 * t113; + const double t118 = 0.1e1 / t117; + const double t121 = 0.1e1 + 0.65854491829355115987e0 * t114 * t118; + const double t122 = safe_math::log( t121 ); + const double t125 = t72 * t76 * t122 - t42 + t67; + const double t126 = t10 * t125; + const double t129 = rho / 0.2e1 <= dens_tol || t43; + const double t133 = piecewise_functor_3( t43, 0.1e1 / t44, 1.0 ); + const double t135 = t130 * t18 * t49 * t133; + const double t137 = 0.1e1 + 0.53425e-1 * t135; + const double t138 = safe_math::sqrt( t135 ); + const double t141 = pow_3_2( t135 ); + const double t145 = t133 * t133; + const double t147 = t143 * t32 * t103 * t145; + const double t149 = 0.379785e1 * t138 + 0.8969e0 * t135 + 0.204775e0 * t141 + 0.123235e0 * t147; + const double t152 = 0.1e1 + 0.16081979498692535067e2 / t149; + const double t153 = safe_math::log( t152 ); + const double t155 = 0.621814e-1 * t137 * t153; + const double t156 = 0.2e1 <= zeta_tol; + const double t158 = piecewise_functor_3( t156, t45, 0.2e1 * t49 ); + const double t159 = 0.e0 <= zeta_tol; + const double t160 = piecewise_functor_3( t159, t45, 0.0 ); + const double t162 = ( t158 + t160 - 0.2e1 ) * t52; + const double t164 = 0.1e1 + 0.5137e-1 * t135; + const double t169 = 0.705945e1 * t138 + 0.1549425e1 * t135 + 0.420775e0 * t141 + 0.1562925e0 * t147; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t135; + const double t182 = 0.51785e1 * t138 + 0.905775e0 * t135 + 0.1100325e0 * t141 + 0.1241775e0 * t147; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t190 = t162 * ( -0.310907e-1 * t164 * t173 + t155 - 0.19751673498613801407e-1 * t187 ); + const double t192 = 0.19751673498613801407e-1 * t162 * t187; + const double t193 = piecewise_functor_3( t156, t73, t103 ); + const double t194 = piecewise_functor_3( t159, t73, 0.0 ); + const double t196 = t193 / 0.2e1 + t194 / 0.2e1; + const double t197 = t196 * t196; + const double t198 = t197 * t196; + const double t199 = 0.1e1 / t197; + const double t200 = t199 * t28; + const double t204 = t84 * t103 / t133; + const double t209 = 0.1e1 / t198; + const double t210 = t70 * t209; + const double t212 = safe_math::exp( -( -t155 + t190 + t192 ) * t88 * t210 ); + const double t213 = t212 - 0.1e1; + const double t214 = 0.1e1 / t213; + const double t215 = t88 * t214; + const double t216 = t197 * t197; + const double t217 = 0.1e1 / t216; + const double t221 = 0.1e1 / t145; + const double t222 = t220 * t221; + const double t223 = t108 * t222; + const double t226 = t79 * t200 * t204 / 0.96e2 + 0.42874018118069736972e-3 * t215 * t101 * t217 * t223; + const double t227 = t226 * t88; + const double t230 = 0.1e1 + 0.65854491829355115987e0 * t215 * t226; + const double t231 = 0.1e1 / t230; + const double t234 = 0.1e1 + 0.65854491829355115987e0 * t227 * t231; + const double t235 = safe_math::log( t234 ); + const double t239 = piecewise_functor_3( t43, zeta_tol, 1.0 ); + const double t242 = piecewise_functor_3( t129, 0.0, ( t72 * t198 * t235 - t155 + t190 + t192 ) * t239 / 0.2e1 ); + const double t243 = t7 * t242; + const double t245 = 0.478125e-1 * t5 * t243; + const double t246 = t3 * rho; + const double t247 = 0.1e1 / t246; + const double t248 = t2 * t247; + const double t249 = t7 * t125; + const double t250 = t248 * t249; + const double t253 = 0.1e1 / t17 / rho; + const double t254 = t16 * t253; + const double t257 = 0.11073470983333333333e-2 * t14 * t254 * t40; + const double t258 = t36 * t36; + const double t259 = 0.1e1 / t258; + const double t260 = t22 * t259; + const double t262 = 0.1e1 / t23 * t11; + const double t264 = t263 * t253; + const double t265 = t262 * t264; + const double t267 = t14 * t254; + const double t269 = safe_math::sqrt( t20 ); + const double t270 = t269 * t11; + const double t271 = t270 * t264; + const double t274 = 0.1e1 / t31 / rho; + const double t276 = t30 * t15 * t274; + const double t278 = -0.632975e0 * t265 - 0.29896666666666666667e0 * t267 - 0.1023875e0 * t271 - 0.82156666666666666667e-1 * t276; + const double t279 = 0.1e1 / t39; + const double t280 = t278 * t279; + const double t282 = 0.1e1 * t260 * t280; + const double t283 = t53 * t11; + const double t287 = 0.18311447306006545054e-3 * t283 * t263 * t253 * t64; + const double t288 = t53 * t55; + const double t289 = t60 * t60; + const double t290 = 0.1e1 / t289; + const double t295 = -0.86308333333333333334e0 * t265 - 0.301925e0 * t267 - 0.5501625e-1 * t271 - 0.82785e-1 * t276; + const double t297 = 0.1e1 / t63; + const double t298 = t290 * t295 * t297; + const double t300 = 0.5848223622634646207e0 * t288 * t298; + const double t302 = 0.1e1 / t17 / t246; + const double t303 = sigma * t302; + const double t307 = t69 * t69; + const double t308 = 0.1e1 / t307; + const double t309 = t95 * t95; + const double t310 = 0.1e1 / t309; + const double t311 = t308 * t310; + const double t312 = t311 * t2; + const double t313 = t100 * t103; + const double t315 = 0.1e1 / t104 / t76; + const double t316 = t313 * t315; + const double t317 = t312 * t316; + const double t318 = t257 + t282 - t287 - t300; + const double t319 = t318 * t70; + const double t320 = t319 * t94; + const double t321 = t109 * t320; + const double t324 = t98 * rho; + const double t326 = 0.1e1 / t31 / t324; + const double t327 = t2 * t326; + const double t331 = -0.7e1 / 0.288e3 * t303 * t49 * t85 + 0.21437009059034868486e-3 * t317 * t321 - 0.10003937560882938627e-2 * t97 * t327 * t110; + const double t332 = t331 * t88; + const double t335 = t117 * t117; + const double t336 = 0.1e1 / t335; + const double t337 = t311 * t113; + const double t338 = t91 * t94; + const double t339 = t319 * t338; + const double t344 = 0.65854491829355115987e0 * t337 * t339 + 0.65854491829355115987e0 * t97 * t331; + const double t345 = t336 * t344; + const double t348 = 0.65854491829355115987e0 * t332 * t118 - 0.65854491829355115987e0 * t114 * t345; + const double t350 = 0.1e1 / t121; + const double t353 = t72 * t76 * t348 * t350 + t257 + t282 - t287 - t300; + const double t354 = t10 * t353; + const double t355 = t248 * t243; + const double t357 = t253 * t49; + const double t358 = t133 * t153; + const double t361 = 0.11073470983333333333e-2 * t130 * t357 * t358; + const double t362 = t149 * t149; + const double t363 = 0.1e1 / t362; + const double t364 = t137 * t363; + const double t367 = 0.1e1 / t138 * t11 * t13; + const double t368 = t49 * t133; + const double t369 = t254 * t368; + const double t370 = t367 * t369; + const double t372 = t357 * t133; + const double t373 = t130 * t372; + const double t375 = safe_math::sqrt( t135 ); + const double t377 = t375 * t11 * t13; + const double t378 = t377 * t369; + const double t382 = t143 * t274 * t103 * t145; + const double t384 = -0.632975e0 * t370 - 0.29896666666666666667e0 * t373 - 0.1023875e0 * t378 - 0.82156666666666666667e-1 * t382; + const double t385 = 0.1e1 / t152; + const double t386 = t384 * t385; + const double t388 = 0.1e1 * t364 * t386; + const double t389 = t133 * t173; + const double t393 = t169 * t169; + const double t394 = 0.1e1 / t393; + const double t395 = t164 * t394; + const double t400 = -0.1176575e1 * t370 - 0.516475e0 * t373 - 0.2103875e0 * t378 - 0.104195e0 * t382; + const double t401 = 0.1e1 / t172; + const double t402 = t400 * t401; + const double t405 = t133 * t186; + const double t409 = t182 * t182; + const double t410 = 0.1e1 / t409; + const double t411 = t177 * t410; + const double t416 = -0.86308333333333333334e0 * t370 - 0.301925e0 * t373 - 0.5501625e-1 * t378 - 0.82785e-1 * t382; + const double t417 = 0.1e1 / t185; + const double t418 = t416 * t417; + const double t422 = t162 * ( 0.53237641966666666666e-3 * t130 * t357 * t389 + 0.1e1 * t395 * t402 - t361 - t388 + 0.18311447306006545054e-3 * t130 * t357 * t405 + 0.5848223622634646207e0 * t411 * t418 ); + const double t423 = t162 * t14; + const double t424 = t368 * t186; + const double t427 = 0.18311447306006545054e-3 * t423 * t254 * t424; + const double t428 = t162 * t177; + const double t430 = t410 * t416 * t417; + const double t432 = 0.5848223622634646207e0 * t428 * t430; + const double t436 = t213 * t213; + const double t437 = 0.1e1 / t436; + const double t438 = t308 * t437; + const double t439 = t438 * t2; + const double t441 = 0.1e1 / t216 / t198; + const double t442 = t100 * t441; + const double t443 = t442 * t11; + const double t444 = t439 * t443; + const double t447 = t361 + t388 + t422 - t427 - t432; + const double t449 = t70 * t212; + const double t450 = t221 * t447 * t449; + const double t451 = t446 * t450; + const double t458 = -0.7e1 / 0.288e3 * t303 * t200 * t204 + 0.42874018118069736972e-3 * t444 * t451 - 0.20007875121765877254e-2 * t215 * t327 * t217 * t223; + const double t459 = t458 * t88; + const double t462 = t230 * t230; + const double t463 = 0.1e1 / t462; + const double t464 = t438 * t226; + const double t465 = t447 * t70; + const double t466 = t209 * t212; + const double t467 = t465 * t466; + const double t472 = 0.65854491829355115987e0 * t464 * t467 + 0.65854491829355115987e0 * t215 * t458; + const double t473 = t463 * t472; + const double t476 = 0.65854491829355115987e0 * t459 * t231 - 0.65854491829355115987e0 * t227 * t473; + const double t478 = 0.1e1 / t234; + const double t484 = piecewise_functor_3( t129, 0.0, ( t72 * t198 * t476 * t478 + t361 + t388 + t422 - t427 - t432 ) * t239 / 0.2e1 ); + const double t485 = t7 * t484; + const double t486 = t5 * t485; + const double t490 = sigma * t4; + const double t492 = 0.165625e-1 * t490 * t249; + const double t493 = t10 * t69; + const double t494 = t493 * t71; + const double t495 = t78 * t49; + const double t501 = sigma * t100; + const double t505 = t495 * t81 * t498 / 0.96e2 + 0.42874018118069736972e-3 * t97 * t501 * t110; + const double t506 = t505 * t88; + const double t509 = t113 * t308; + const double t510 = t336 * t96; + const double t511 = t510 * t505; + const double t514 = 0.65854491829355115987e0 * t506 * t118 - 0.4336814094102599731e0 * t509 * t511; + const double t515 = t76 * t514; + const double t516 = t515 * t350; + const double t517 = t494 * t516; + const double t519 = 0.95625e-1 * t490 * t243; + const double t520 = t72 * t198; + const double t529 = t78 * t199 * t28 * t204 / 0.96e2 + 0.85748036236139473944e-3 * t215 * t501 * t217 * t223; + const double t530 = t529 * t88; + const double t533 = t226 * t308; + const double t534 = t463 * t214; + const double t535 = t534 * t529; + const double t538 = 0.65854491829355115987e0 * t530 * t231 - 0.4336814094102599731e0 * t533 * t535; + const double t543 = piecewise_functor_3( t129, 0.0, t520 * t538 * t478 * t239 / 0.2e1 ); + const double t544 = t7 * t543; + const double t546 = 0.478125e-1 * t5 * t544; + const double t549 = 0.1e1 / t6 / tau; + const double t550 = t549 * t125; + const double t552 = 0.165625e-1 * t5 * t550; + const double t553 = t549 * t242; + const double t555 = 0.95625e-1 * t5 * t553; + const double t561 = 0.1e1 / t98; + const double t562 = t2 * t561; + const double t563 = t562 * t249; + const double t565 = t7 * t353; + const double t566 = t248 * t565; + const double t568 = t16 * t78; + const double t571 = 0.14764627977777777777e-2 * t14 * t568 * t40; + const double t572 = t253 * t259; + const double t575 = 0.35616666666666666666e-1 * t130 * t572 * t280; + const double t576 = t258 * t36; + const double t577 = 0.1e1 / t576; + const double t578 = t22 * t577; + const double t579 = t278 * t278; + const double t580 = t579 * t279; + const double t582 = 0.2e1 * t578 * t580; + const double t585 = 0.1e1 / t23 / t20 * t28; + const double t588 = 0.1e1 / t31 / t3; + const double t589 = t586 * t588; + const double t590 = t585 * t589; + const double t592 = t263 * t78; + const double t593 = t262 * t592; + const double t595 = t14 * t568; + const double t597 = 0.1e1/safe_math::sqrt( t20 ); + const double t598 = t597 * t28; + const double t599 = t598 * t589; + const double t601 = t270 * t592; + const double t603 = t15 * t588; + const double t604 = t30 * t603; + const double t606 = -0.42198333333333333333e0 * t590 + 0.84396666666666666666e0 * t593 + 0.39862222222222222223e0 * t595 + 0.68258333333333333333e-1 * t599 + 0.13651666666666666667e0 * t601 + 0.13692777777777777778e0 * t604; + const double t607 = t606 * t279; + const double t609 = 0.1e1 * t260 * t607; + const double t610 = t258 * t258; + const double t611 = 0.1e1 / t610; + const double t612 = t22 * t611; + const double t613 = t39 * t39; + const double t614 = 0.1e1 / t613; + const double t615 = t579 * t614; + const double t617 = 0.16081979498692535067e2 * t612 * t615; + const double t621 = 0.24415263074675393405e-3 * t283 * t263 * t78 * t64; + const double t622 = t53 * t14; + const double t625 = 0.10843581300301739842e-1 * t622 * t254 * t298; + const double t626 = t289 * t60; + const double t627 = 0.1e1 / t626; + const double t628 = t295 * t295; + const double t630 = t627 * t628 * t297; + const double t632 = 0.11696447245269292414e1 * t288 * t630; + const double t639 = -0.57538888888888888889e0 * t590 + 0.11507777777777777778e1 * t593 + 0.40256666666666666667e0 * t595 + 0.366775e-1 * t599 + 0.73355e-1 * t601 + 0.137975e0 * t604; + const double t641 = t290 * t639 * t297; + const double t643 = 0.5848223622634646207e0 * t288 * t641; + const double t644 = t289 * t289; + const double t645 = 0.1e1 / t644; + const double t646 = t645 * t628; + const double t647 = t63 * t63; + const double t648 = 0.1e1 / t647; + const double t649 = t646 * t648; + const double t651 = 0.17315859105681463759e2 * t288 * t649; + const double t653 = 0.1e1 / t17 / t98; + const double t654 = sigma * t653; + const double t659 = 0.1e1 / t307 / t69; + const double t661 = 0.1e1 / t309 / t95; + const double t662 = t659 * t661; + const double t663 = t662 * t2; + const double t664 = t104 * t104; + const double t666 = 0.1e1 / t664 / t75; + const double t667 = t313 * t666; + const double t668 = t663 * t667; + const double t669 = t318 * t318; + const double t671 = t669 * t670; + const double t672 = t94 * t94; + const double t673 = t671 * t672; + const double t674 = t109 * t673; + const double t677 = t326 * t103; + const double t678 = t677 * t315; + const double t679 = t312 * t678; + const double t682 = -t571 - t575 - t582 + t609 + t617 + t621 + t625 + t632 - t643 - t651; + const double t683 = t682 * t70; + const double t684 = t683 * t94; + const double t685 = t109 * t684; + const double t688 = t659 * t310; + const double t689 = t688 * t2; + const double t690 = t689 * t667; + const double t691 = t671 * t94; + const double t692 = t109 * t691; + const double t695 = t98 * t3; + const double t697 = 0.1e1 / t31 / t695; + const double t698 = t2 * t697; + const double t702 = 0.35e2 / 0.432e3 * t654 * t49 * t85 + 0.42874018118069736972e-3 * t668 * t674 - 0.20007875121765877254e-2 * t679 * t321 + 0.21437009059034868486e-3 * t317 * t685 - 0.21437009059034868486e-3 * t690 * t692 + 0.56688979511669985553e-2 * t97 * t698 * t110; + const double t703 = t702 * t88; + const double t709 = 0.1e1 / t335 / t117; + const double t710 = t344 * t344; + const double t711 = t709 * t710; + const double t714 = t662 * t113; + const double t716 = 0.1e1 / t104 / t75; + const double t717 = t716 * t672; + const double t718 = t671 * t717; + const double t721 = t311 * t331; + const double t724 = t683 * t338; + const double t727 = t688 * t113; + const double t728 = t716 * t94; + const double t729 = t671 * t728; + const double t734 = 0.13170898365871023197e1 * t714 * t718 + 0.13170898365871023197e1 * t721 * t339 + 0.65854491829355115987e0 * t337 * t724 - 0.65854491829355115987e0 * t727 * t729 + 0.65854491829355115987e0 * t97 * t702; + const double t735 = t336 * t734; + const double t738 = 0.65854491829355115987e0 * t703 * t118 - 0.13170898365871023197e1 * t332 * t345 + 0.13170898365871023197e1 * t114 * t711 - 0.65854491829355115987e0 * t114 * t735; + const double t742 = t348 * t348; + const double t744 = t121 * t121; + const double t745 = 0.1e1 / t744; + const double t748 = t72 * t76 * t738 * t350 - t72 * t76 * t742 * t745 - t571 - t575 - t582 + t609 + t617 + t621 + t625 + t632 - t643 - t651; + const double t749 = t10 * t748; + const double t750 = t562 * t243; + const double t752 = t248 * t485; + const double t756 = 0.14764627977777777777e-2 * t130 * t495 * t358; + const double t759 = t368 * t363 * t384 * t385; + const double t761 = 0.35616666666666666666e-1 * t267 * t759; + const double t762 = t362 * t149; + const double t763 = 0.1e1 / t762; + const double t764 = t137 * t763; + const double t765 = t384 * t384; + const double t766 = t765 * t385; + const double t768 = 0.2e1 * t764 * t766; + const double t772 = 0.1e1 / t138 / t135 * t28 * t29; + const double t773 = t103 * t145; + const double t774 = t603 * t773; + const double t775 = t772 * t774; + const double t777 = t568 * t368; + const double t778 = t367 * t777; + const double t780 = t495 * t133; + const double t781 = t130 * t780; + const double t783 = 0.1e1/safe_math::sqrt( t135 ); + const double t785 = t783 * t28 * t29; + const double t786 = t785 * t774; + const double t788 = t377 * t777; + const double t792 = t143 * t588 * t103 * t145; + const double t794 = -0.42198333333333333333e0 * t775 + 0.84396666666666666666e0 * t778 + 0.39862222222222222223e0 * t781 + 0.68258333333333333333e-1 * t786 + 0.13651666666666666667e0 * t788 + 0.13692777777777777778e0 * t792; + const double t797 = 0.1e1 * t364 * t794 * t385; + const double t798 = t362 * t362; + const double t799 = 0.1e1 / t798; + const double t800 = t137 * t799; + const double t801 = t152 * t152; + const double t802 = 0.1e1 / t801; + const double t803 = t765 * t802; + const double t805 = 0.16081979498692535067e2 * t800 * t803; + const double t811 = t368 * t394 * t400 * t401; + const double t814 = t393 * t169; + const double t815 = 0.1e1 / t814; + const double t816 = t164 * t815; + const double t817 = t400 * t400; + const double t818 = t817 * t401; + const double t827 = -0.78438333333333333333e0 * t775 + 0.15687666666666666667e1 * t778 + 0.68863333333333333333e0 * t781 + 0.14025833333333333333e0 * t786 + 0.28051666666666666667e0 * t788 + 0.17365833333333333333e0 * t792; + const double t831 = t393 * t393; + const double t832 = 0.1e1 / t831; + const double t833 = t164 * t832; + const double t834 = t172 * t172; + const double t835 = 0.1e1 / t834; + const double t836 = t817 * t835; + const double t842 = t368 * t430; + const double t845 = t409 * t182; + const double t846 = 0.1e1 / t845; + const double t847 = t177 * t846; + const double t848 = t416 * t416; + const double t849 = t848 * t417; + const double t858 = -0.57538888888888888889e0 * t775 + 0.11507777777777777778e1 * t778 + 0.40256666666666666667e0 * t781 + 0.366775e-1 * t786 + 0.73355e-1 * t788 + 0.137975e0 * t792; + const double t859 = t858 * t417; + const double t862 = t409 * t409; + const double t863 = 0.1e1 / t862; + const double t864 = t177 * t863; + const double t865 = t185 * t185; + const double t866 = 0.1e1 / t865; + const double t867 = t848 * t866; + const double t870 = -0.70983522622222222221e-3 * t130 * t495 * t389 - 0.34246666666666666666e-1 * t267 * t811 - 0.2e1 * t816 * t818 + 0.1e1 * t395 * t827 * t401 + 0.32163958997385070134e2 * t833 * t836 + t756 + t761 + t768 - t797 - t805 - 0.24415263074675393405e-3 * t130 * t495 * t405 - 0.10843581300301739842e-1 * t267 * t842 - 0.11696447245269292414e1 * t847 * t849 + 0.5848223622634646207e0 * t411 * t859 + 0.17315859105681463759e2 * t864 * t867; + const double t871 = t162 * t870; + const double t874 = 0.24415263074675393405e-3 * t423 * t568 * t424; + const double t875 = t162 * t130; + const double t878 = 0.10843581300301739842e-1 * t875 * t372 * t430; + const double t880 = t846 * t848 * t417; + const double t882 = 0.11696447245269292414e1 * t428 * t880; + const double t884 = t410 * t858 * t417; + const double t886 = 0.5848223622634646207e0 * t428 * t884; + const double t887 = t863 * t848; + const double t888 = t887 * t866; + const double t890 = 0.17315859105681463759e2 * t428 * t888; + const double t895 = 0.1e1 / t436 / t213; + const double t896 = t659 * t895; + const double t897 = t896 * t2; + const double t898 = t216 * t216; + const double t900 = 0.1e1 / t898 / t197; + const double t901 = t100 * t900; + const double t902 = t901 * t11; + const double t903 = t897 * t902; + const double t904 = t447 * t447; + const double t905 = t221 * t904; + const double t906 = t212 * t212; + const double t907 = t670 * t906; + const double t909 = t446 * t905 * t907; + const double t913 = t326 * t441 * t11; + const double t914 = t439 * t913; + const double t917 = -t756 - t761 - t768 + t797 + t805 + t871 + t874 + t878 + t882 - t886 - t890; + const double t920 = t446 * t221 * t917 * t449; + const double t923 = t659 * t437; + const double t924 = t923 * t2; + const double t925 = t924 * t902; + const double t926 = t670 * t212; + const double t928 = t446 * t905 * t926; + const double t935 = 0.35e2 / 0.432e3 * t654 * t200 * t204 + 0.85748036236139473944e-3 * t903 * t909 - 0.40015750243531754508e-2 * t914 * t451 + 0.42874018118069736972e-3 * t444 * t920 - 0.42874018118069736972e-3 * t925 * t928 + 0.11337795902333997111e-1 * t215 * t698 * t217 * t223; + const double t936 = t935 * t88; + const double t942 = 0.1e1 / t462 / t230; + const double t943 = t472 * t472; + const double t944 = t942 * t943; + const double t947 = t896 * t226; + const double t948 = t904 * t670; + const double t950 = 0.1e1 / t216 / t197; + const double t951 = t950 * t906; + const double t952 = t948 * t951; + const double t955 = t438 * t458; + const double t959 = t917 * t70 * t466; + const double t962 = t923 * t226; + const double t963 = t950 * t212; + const double t964 = t948 * t963; + const double t969 = 0.13170898365871023197e1 * t947 * t952 + 0.13170898365871023197e1 * t955 * t467 + 0.65854491829355115987e0 * t464 * t959 - 0.65854491829355115987e0 * t962 * t964 + 0.65854491829355115987e0 * t215 * t935; + const double t970 = t463 * t969; + const double t973 = 0.65854491829355115987e0 * t936 * t231 - 0.13170898365871023197e1 * t459 * t473 + 0.13170898365871023197e1 * t227 * t944 - 0.65854491829355115987e0 * t227 * t970; + const double t977 = t476 * t476; + const double t979 = t234 * t234; + const double t980 = 0.1e1 / t979; + const double t983 = t72 * t198 * t973 * t478 - t72 * t198 * t977 * t980 - t756 - t761 - t768 + t797 + t805 + t871 + t874 + t878 + t882 - t886 - t890; + const double t986 = piecewise_functor_3( t129, 0.0, t983 * t239 / 0.2e1 ); + const double t987 = t7 * t986; + const double t988 = t5 * t987; + const double t992 = sigma * t247; + const double t993 = t992 * t249; + const double t995 = t490 * t565; + const double t997 = t248 * t7; + const double t998 = t69 * t76; + const double t999 = t514 * t350; + const double t1000 = t998 * t999; + const double t1001 = t997 * t1000; + const double t1003 = t302 * t49; + const double t1007 = t311 * sigma; + const double t1008 = t1007 * t316; + const double t1011 = sigma * t326; + const double t1015 = -0.7e1 / 0.288e3 * t1003 * t81 * t498 + 0.42874018118069736972e-3 * t1008 * t321 - 0.20007875121765877254e-2 * t97 * t1011 * t110; + const double t1016 = t1015 * t88; + const double t1021 = t331 * t308; + const double t1024 = t509 * t709; + const double t1025 = t96 * t505; + const double t1026 = t1025 * t344; + const double t1029 = t113 * t659; + const double t1030 = t336 * t310; + const double t1031 = t1029 * t1030; + const double t1032 = t505 * t318; + const double t1033 = t92 * t94; + const double t1034 = t1032 * t1033; + const double t1037 = t510 * t1015; + const double t1040 = 0.65854491829355115987e0 * t1016 * t118 - 0.65854491829355115987e0 * t506 * t345 - 0.4336814094102599731e0 * t1021 * t511 + 0.8673628188205199462e0 * t1024 * t1026 - 0.4336814094102599731e0 * t1031 * t1034 - 0.4336814094102599731e0 * t509 * t1037; + const double t1041 = t76 * t1040; + const double t1042 = t1041 * t350; + const double t1043 = t494 * t1042; + const double t1044 = t745 * t348; + const double t1045 = t515 * t1044; + const double t1046 = t494 * t1045; + const double t1047 = t992 * t243; + const double t1049 = t490 * t485; + const double t1051 = t248 * t544; + const double t1057 = t438 * sigma; + const double t1058 = t1057 * t443; + const double t1065 = -0.7e1 / 0.288e3 * t302 * t199 * t28 * t204 + 0.85748036236139473944e-3 * t1058 * t451 - 0.40015750243531754507e-2 * t215 * t1011 * t217 * t223; + const double t1066 = t1065 * t88; + const double t1071 = t458 * t308; + const double t1074 = t533 * t942; + const double t1075 = t214 * t529; + const double t1076 = t1075 * t472; + const double t1079 = t226 * t659; + const double t1080 = t463 * t437; + const double t1081 = t1079 * t1080; + const double t1082 = t529 * t447; + const double t1083 = t210 * t212; + const double t1084 = t1082 * t1083; + const double t1087 = t534 * t1065; + const double t1090 = 0.65854491829355115987e0 * t1066 * t231 - 0.65854491829355115987e0 * t530 * t473 - 0.4336814094102599731e0 * t1071 * t535 + 0.8673628188205199462e0 * t1074 * t1076 - 0.4336814094102599731e0 * t1081 * t1084 - 0.4336814094102599731e0 * t533 * t1087; + const double t1094 = t538 * t980; + const double t1095 = t239 * t476; + const double t1100 = piecewise_functor_3( t129, 0.0, t520 * t1090 * t478 * t239 / 0.2e1 - t520 * t1094 * t1095 / 0.2e1 ); + const double t1101 = t7 * t1100; + const double t1102 = t5 * t1101; + const double t1106 = t248 * t550; + const double t1108 = t549 * t353; + const double t1109 = t5 * t1108; + const double t1111 = t248 * t553; + const double t1113 = t549 * t484; + const double t1114 = t5 * t1113; + const double t1118 = t4 * t7; + const double t1120 = 0.165625e-1 * t1118 * t125; + const double t1121 = t7 * t69; + const double t1122 = t490 * t1121; + const double t1123 = t71 * t76; + const double t1124 = t1123 * t999; + const double t1126 = 0.165625e-1 * t1122 * t1124; + const double t1127 = t490 * t7; + const double t1129 = 0.16781321040762193395e-2 * t1127 * t1000; + const double t1130 = t308 * t96; + const double t1133 = t445 * t118; + const double t1134 = t105 * t11 * t1133; + const double t1137 = t505 * t505; + const double t1138 = t1137 * t308; + const double t1141 = t709 * t310; + const double t1142 = t1141 * t1137; + const double t1145 = t1030 * t100; + const double t1149 = 0.28234466758480466999e-3 * t1130 * t313 * t1134 - 0.8673628188205199462e0 * t1138 * t510 + 0.57119737665102352616e0 * t1029 * t1142 - 0.1859366460452550541e-3 * t1029 * t1145 * t110; + const double t1150 = t76 * t1149; + const double t1151 = t1150 * t350; + const double t1152 = t494 * t1151; + const double t1153 = t514 * t514; + const double t1154 = t76 * t1153; + const double t1155 = t1154 * t745; + const double t1156 = t494 * t1155; + const double t1158 = 0.95625e-1 * t1118 * t242; + const double t1160 = 0.19125e0 * t490 * t544; + const double t1161 = t308 * t214; + const double t1163 = t100 * t217 * t11; + const double t1164 = t1161 * t1163; + const double t1165 = t49 * t221; + const double t1167 = t445 * t1165 * t231; + const double t1170 = t529 * t529; + const double t1171 = t1170 * t308; + const double t1174 = t942 * t437; + const double t1175 = t1174 * t1170; + const double t1178 = t1080 * t100; + const double t1181 = t217 * t11 * t107; + const double t1182 = t1181 * t222; + const double t1185 = 0.56468933516960933999e-3 * t1164 * t1167 - 0.8673628188205199462e0 * t1171 * t534 + 0.57119737665102352616e0 * t1079 * t1175 - 0.3718732920905101082e-3 * t1079 * t1178 * t1182; + const double t1189 = t538 * t538; + const double t1195 = piecewise_functor_3( t129, 0.0, t520 * t1185 * t478 * t239 / 0.2e1 - t520 * t1189 * t980 * t239 / 0.2e1 ); + const double t1196 = t7 * t1195; + const double t1198 = 0.478125e-1 * t5 * t1196; + const double t1201 = 0.33125e-1 * t490 * t550; + const double t1202 = t549 * t69; + const double t1203 = t5 * t1202; + const double t1205 = 0.165625e-1 * t1203 * t1124; + const double t1207 = 0.19125e0 * t490 * t553; + const double t1208 = t549 * t543; + const double t1210 = 0.95625e-1 * t5 * t1208; + const double t1212 = t6 * t6; + const double t1213 = 0.1e1 / t1212; + const double t1214 = t1213 * t125; + const double t1216 = 0.496875e-1 * t5 * t1214; + const double t1217 = t1213 * t242; + const double t1219 = 0.286875e0 * t5 * t1217; + + + vrho = t126 - t245 + rho * ( -0.165625e-1 * t250 + t354 + 0.95625e-1 * t355 - 0.478125e-1 * t486 ); + vsigma = rho * ( t492 + t517 - t519 - t546 ); + vlapl = 0.e0; + vtau = rho * ( -t552 + t555 ); + v2rho2 = -0.33125e-1 * t250 + 0.2e1 * t354 + 0.19125e0 * t355 - 0.95625e-1 * t486 + rho * ( 0.496875e-1 * t563 - 0.33125e-1 * t566 + t749 - 0.286875e0 * t750 + 0.19125e0 * t752 - 0.478125e-1 * t988 ); + v2rhosigma = t492 + t517 - t519 - t546 + rho * ( -0.33125e-1 * t993 + 0.165625e-1 * t995 - 0.16781321040762193395e-2 * t1001 + t1043 - t1046 + 0.19125e0 * t1047 - 0.95625e-1 * t1049 + 0.95625e-1 * t1051 - 0.478125e-1 * t1102 ); + v2rholapl = 0.e0; + v2rhotau = -t552 + t555 + rho * ( 0.33125e-1 * t1106 - 0.165625e-1 * t1109 - 0.19125e0 * t1111 + 0.95625e-1 * t1114 ); + v2sigma2 = rho * ( t1120 + t1126 + t1129 + t1152 - t1156 - t1158 - t1160 - t1198 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( -t1201 - t1205 + t1207 + t1210 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( t1216 - t1219 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t46 = constants::m_cbrt_3; + constexpr double t48 = constants::m_cbrt_one_ov_pi; + constexpr double t50 = constants::m_cbrt_4; + constexpr double t95 = constants::m_cbrt_2; + constexpr double t133 = constants::m_pi_sq; + constexpr double t49 = t46 * t48; + constexpr double t51 = t50 * t50; + constexpr double t63 = t46 * t46; + constexpr double t64 = t48 * t48; + constexpr double t65 = t63 * t64; + constexpr double t134 = 0.1e1 / t133; + constexpr double t153 = 0.1e1 / t48; + constexpr double t154 = t153 * t50; + constexpr double t173 = t95 * t95; + constexpr double t177 = 0.1e1 / t64; + constexpr double t178 = t46 * t177; + constexpr double t179 = t178 * t51; + constexpr double t204 = t49 * t51; + constexpr double t218 = t65 * t50; + + + const double t2 = rho_a * rho_a; + const double t3 = safe_math::cbrt( rho_a ); + const double t4 = t3 * t3; + const double t6 = 0.1e1 / t4 / t2; + const double t7 = sigma_aa * t6; + const double t8 = rho_a - rho_b; + const double t9 = rho_a + rho_b; + const double t10 = 0.1e1 / t9; + const double t11 = t8 * t10; + const double t12 = 0.1e1 + t11; + const double t13 = t12 / 0.2e1; + const double t14 = safe_math::cbrt( t13 ); + const double t15 = t14 * t14; + const double t16 = t15 * t13; + const double t18 = rho_b * rho_b; + const double t19 = safe_math::cbrt( rho_b ); + const double t20 = t19 * t19; + const double t22 = 0.1e1 / t20 / t18; + const double t23 = sigma_bb * t22; + const double t24 = 0.1e1 - t11; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t30 = t16 * t7 + t23 * t28; + const double t31 = t30 * t30; + const double t33 = 0.1e1 / t4 / rho_a; + const double t34 = tau_a * t33; + const double t37 = 0.1e1 / t20 / rho_b; + const double t38 = tau_b * t37; + const double t40 = t16 * t34 + t28 * t38; + const double t41 = t40 * t40; + const double t42 = 0.1e1 / t41; + const double t45 = 0.1e1 + 0.828125e-2 * t31 * t42; + const double t52 = safe_math::cbrt( t9 ); + const double t53 = 0.1e1 / t52; + const double t54 = t51 * t53; + const double t55 = t49 * t54; + const double t57 = 0.1e1 + 0.53425e-1 * t55; + const double t58 = safe_math::sqrt( t55 ); + const double t61 = pow_3_2( t55 ); + const double t66 = t52 * t52; + const double t67 = 0.1e1 / t66; + const double t68 = t50 * t67; + const double t69 = t65 * t68; + const double t71 = 0.379785e1 * t58 + 0.8969e0 * t55 + 0.204775e0 * t61 + 0.123235e0 * t69; + const double t74 = 0.1e1 + 0.16081979498692535067e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t77 = 0.621814e-1 * t57 * t75; + const double t78 = t8 * t8; + const double t79 = t78 * t78; + const double t80 = t9 * t9; + const double t81 = t80 * t80; + const double t82 = 0.1e1 / t81; + const double t83 = t79 * t82; + const double t84 = t12 <= zeta_tol; + const double t85 = safe_math::cbrt( zeta_tol ); + const double t86 = t85 * zeta_tol; + const double t87 = safe_math::cbrt( t12 ); + const double t88 = t87 * t12; + const double t89 = piecewise_functor_3( t84, t86, t88 ); + const double t90 = t24 <= zeta_tol; + const double t91 = safe_math::cbrt( t24 ); + const double t92 = t91 * t24; + const double t93 = piecewise_functor_3( t90, t86, t92 ); + const double t94 = t89 + t93 - 0.2e1; + const double t98 = 0.1e1 / ( 0.2e1 * t95 - 0.2e1 ); + const double t99 = t94 * t98; + const double t101 = 0.1e1 + 0.5137e-1 * t55; + const double t106 = 0.705945e1 * t58 + 0.1549425e1 * t55 + 0.420775e0 * t61 + 0.1562925e0 * t69; + const double t109 = 0.1e1 + 0.32163958997385070134e2 / t106; + const double t110 = safe_math::log( t109 ); + const double t114 = 0.1e1 + 0.278125e-1 * t55; + const double t119 = 0.51785e1 * t58 + 0.905775e0 * t55 + 0.1100325e0 * t61 + 0.1241775e0 * t69; + const double t122 = 0.1e1 + 0.29608749977793437516e2 / t119; + const double t123 = safe_math::log( t122 ); + const double t124 = t114 * t123; + const double t126 = -0.310907e-1 * t101 * t110 + t77 - 0.19751673498613801407e-1 * t124; + const double t127 = t99 * t126; + const double t128 = t83 * t127; + const double t130 = 0.19751673498613801407e-1 * t99 * t124; + const double t131 = safe_math::log( 0.2e1 ); + const double t132 = 0.1e1 - t131; + const double t135 = t132 * t134; + const double t136 = t85 * t85; + const double t137 = t87 * t87; + const double t138 = piecewise_functor_3( t84, t136, t137 ); + const double t139 = t91 * t91; + const double t140 = piecewise_functor_3( t90, t136, t139 ); + const double t142 = t138 / 0.2e1 + t140 / 0.2e1; + const double t143 = t142 * t142; + const double t144 = t143 * t142; + const double t146 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t148 = 0.1e1 / t52 / t80; + const double t149 = t146 * t148; + const double t151 = 0.1e1 / t143; + const double t155 = t151 * t63 * t154; + const double t158 = 0.1e1 / t132; + const double t160 = ( -t77 + t128 + t130 ) * t158; + const double t161 = 0.1e1 / t144; + const double t162 = t133 * t161; + const double t164 = safe_math::exp( -t160 * t162 ); + const double t165 = t164 - 0.1e1; + const double t166 = 0.1e1 / t165; + const double t167 = t158 * t166; + const double t168 = t146 * t146; + const double t170 = 0.1e1 / t66 / t81; + const double t171 = t168 * t170; + const double t174 = t143 * t143; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t180 = t176 * t179; + const double t183 = t149 * t95 * t155 / 0.96e2 + 0.21437009059034868486e-3 * t167 * t171 * t180; + const double t184 = t183 * t158; + const double t187 = 0.1e1 + 0.65854491829355115987e0 * t167 * t183; + const double t188 = 0.1e1 / t187; + const double t191 = 0.1e1 + 0.65854491829355115987e0 * t184 * t188; + const double t192 = safe_math::log( t191 ); + const double t195 = t135 * t144 * t192 + t128 + t130 - t77; + const double t196 = t45 * t195; + const double t197 = sigma_aa * sigma_aa; + const double t198 = 0.1e1 / t2; + const double t199 = t197 * t198; + const double t200 = tau_a * tau_a; + const double t201 = 0.1e1 / t200; + const double t203 = rho_a <= dens_tol || t84; + const double t205 = t53 * t95; + const double t206 = 0.1e1 / t85; + const double t207 = 0.1e1 / t87; + const double t208 = piecewise_functor_3( t84, t206, t207 ); + const double t210 = t204 * t205 * t208; + const double t212 = 0.1e1 + 0.53425e-1 * t210; + const double t213 = safe_math::sqrt( t210 ); + const double t216 = pow_3_2( t210 ); + const double t219 = t67 * t173; + const double t220 = t208 * t208; + const double t222 = t218 * t219 * t220; + const double t224 = 0.379785e1 * t213 + 0.8969e0 * t210 + 0.204775e0 * t216 + 0.123235e0 * t222; + const double t227 = 0.1e1 + 0.16081979498692535067e2 / t224; + const double t228 = safe_math::log( t227 ); + const double t230 = 0.621814e-1 * t212 * t228; + const double t231 = 0.2e1 <= zeta_tol; + const double t233 = piecewise_functor_3( t231, t86, 0.2e1 * t95 ); + const double t234 = 0.e0 <= zeta_tol; + const double t235 = piecewise_functor_3( t234, t86, 0.0 ); + const double t237 = ( t233 + t235 - 0.2e1 ) * t98; + const double t239 = 0.1e1 + 0.5137e-1 * t210; + const double t244 = 0.705945e1 * t213 + 0.1549425e1 * t210 + 0.420775e0 * t216 + 0.1562925e0 * t222; + const double t247 = 0.1e1 + 0.32163958997385070134e2 / t244; + const double t248 = safe_math::log( t247 ); + const double t252 = 0.1e1 + 0.278125e-1 * t210; + const double t257 = 0.51785e1 * t213 + 0.905775e0 * t210 + 0.1100325e0 * t216 + 0.1241775e0 * t222; + const double t260 = 0.1e1 + 0.29608749977793437516e2 / t257; + const double t261 = safe_math::log( t260 ); + const double t262 = t252 * t261; + const double t265 = t237 * ( -0.310907e-1 * t239 * t248 + t230 - 0.19751673498613801407e-1 * t262 ); + const double t267 = 0.19751673498613801407e-1 * t237 * t262; + const double t268 = piecewise_functor_3( t231, t136, t173 ); + const double t269 = piecewise_functor_3( t234, t136, 0.0 ); + const double t271 = t268 / 0.2e1 + t269 / 0.2e1; + const double t272 = t271 * t271; + const double t273 = t272 * t271; + const double t274 = 0.1e1 / t272; + const double t275 = t274 * t63; + const double t276 = t7 * t275; + const double t277 = 0.1e1 / t208; + const double t279 = t154 * t52 * t277; + const double t284 = 0.1e1 / t273; + const double t285 = t133 * t284; + const double t287 = safe_math::exp( -( -t230 + t265 + t267 ) * t158 * t285 ); + const double t288 = t287 - 0.1e1; + const double t289 = 0.1e1 / t288; + const double t290 = t158 * t289; + const double t291 = t2 * t2; + const double t292 = t291 * rho_a; + const double t294 = 0.1e1 / t3 / t292; + const double t295 = t197 * t294; + const double t296 = t272 * t272; + const double t297 = 0.1e1 / t296; + const double t299 = t290 * t295 * t297; + const double t300 = t51 * t66; + const double t301 = 0.1e1 / t220; + const double t302 = t300 * t301; + const double t303 = t178 * t302; + const double t306 = t276 * t279 / 0.96e2 + 0.21437009059034868486e-3 * t299 * t303; + const double t307 = t306 * t158; + const double t310 = 0.1e1 + 0.65854491829355115987e0 * t290 * t306; + const double t311 = 0.1e1 / t310; + const double t314 = 0.1e1 + 0.65854491829355115987e0 * t307 * t311; + const double t315 = safe_math::log( t314 ); + const double t318 = t135 * t273 * t315 - t230 + t265 + t267; + const double t319 = piecewise_functor_3( t84, zeta_tol, t12 ); + const double t322 = piecewise_functor_3( t203, 0.0, t318 * t319 / 0.2e1 ); + const double t323 = t201 * t322; + const double t325 = 0.2390625e-1 * t199 * t323; + const double t326 = sigma_bb * sigma_bb; + const double t327 = 0.1e1 / t18; + const double t328 = t326 * t327; + const double t329 = tau_b * tau_b; + const double t330 = 0.1e1 / t329; + const double t332 = rho_b <= dens_tol || t90; + const double t333 = 0.1e1 / t91; + const double t334 = piecewise_functor_3( t90, t206, t333 ); + const double t336 = t204 * t205 * t334; + const double t338 = 0.1e1 + 0.53425e-1 * t336; + const double t339 = safe_math::sqrt( t336 ); + const double t342 = pow_3_2( t336 ); + const double t344 = t334 * t334; + const double t346 = t218 * t219 * t344; + const double t348 = 0.379785e1 * t339 + 0.8969e0 * t336 + 0.204775e0 * t342 + 0.123235e0 * t346; + const double t351 = 0.1e1 + 0.16081979498692535067e2 / t348; + const double t352 = safe_math::log( t351 ); + const double t354 = 0.621814e-1 * t338 * t352; + const double t356 = 0.1e1 + 0.5137e-1 * t336; + const double t361 = 0.705945e1 * t339 + 0.1549425e1 * t336 + 0.420775e0 * t342 + 0.1562925e0 * t346; + const double t364 = 0.1e1 + 0.32163958997385070134e2 / t361; + const double t365 = safe_math::log( t364 ); + const double t369 = 0.1e1 + 0.278125e-1 * t336; + const double t374 = 0.51785e1 * t339 + 0.905775e0 * t336 + 0.1100325e0 * t342 + 0.1241775e0 * t346; + const double t377 = 0.1e1 + 0.29608749977793437516e2 / t374; + const double t378 = safe_math::log( t377 ); + const double t379 = t369 * t378; + const double t382 = t237 * ( -0.310907e-1 * t356 * t365 + t354 - 0.19751673498613801407e-1 * t379 ); + const double t384 = 0.19751673498613801407e-1 * t237 * t379; + const double t385 = t23 * t275; + const double t386 = 0.1e1 / t334; + const double t388 = t154 * t52 * t386; + const double t394 = safe_math::exp( -( -t354 + t382 + t384 ) * t158 * t285 ); + const double t395 = t394 - 0.1e1; + const double t396 = 0.1e1 / t395; + const double t397 = t158 * t396; + const double t398 = t18 * t18; + const double t399 = t398 * rho_b; + const double t401 = 0.1e1 / t19 / t399; + const double t402 = t326 * t401; + const double t404 = t397 * t402 * t297; + const double t405 = 0.1e1 / t344; + const double t406 = t300 * t405; + const double t407 = t178 * t406; + const double t410 = t385 * t388 / 0.96e2 + 0.21437009059034868486e-3 * t404 * t407; + const double t411 = t410 * t158; + const double t414 = 0.1e1 + 0.65854491829355115987e0 * t397 * t410; + const double t415 = 0.1e1 / t414; + const double t418 = 0.1e1 + 0.65854491829355115987e0 * t411 * t415; + const double t419 = safe_math::log( t418 ); + const double t422 = t135 * t273 * t419 - t354 + t382 + t384; + const double t423 = piecewise_functor_3( t90, zeta_tol, t24 ); + const double t426 = piecewise_functor_3( t332, 0.0, t422 * t423 / 0.2e1 ); + const double t427 = t330 * t426; + const double t429 = 0.2390625e-1 * t328 * t427; + + + eps = t196 - t325 - t429; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t46 = constants::m_cbrt_3; + constexpr double t48 = constants::m_cbrt_one_ov_pi; + constexpr double t50 = constants::m_cbrt_4; + constexpr double t95 = constants::m_cbrt_2; + constexpr double t133 = constants::m_pi_sq; + constexpr double t49 = t46 * t48; + constexpr double t51 = t50 * t50; + constexpr double t63 = t46 * t46; + constexpr double t64 = t48 * t48; + constexpr double t65 = t63 * t64; + constexpr double t134 = 0.1e1 / t133; + constexpr double t153 = 0.1e1 / t48; + constexpr double t154 = t153 * t50; + constexpr double t173 = t95 * t95; + constexpr double t177 = 0.1e1 / t64; + constexpr double t178 = t46 * t177; + constexpr double t179 = t178 * t51; + constexpr double t204 = t49 * t51; + constexpr double t218 = t65 * t50; + constexpr double t475 = t48 * t51; + constexpr double t581 = t63 * t153; + constexpr double t616 = t177 * t51; + constexpr double t1283 = t581 * t50; + + + const double t2 = rho_a * rho_a; + const double t3 = safe_math::cbrt( rho_a ); + const double t4 = t3 * t3; + const double t6 = 0.1e1 / t4 / t2; + const double t7 = sigma_aa * t6; + const double t8 = rho_a - rho_b; + const double t9 = rho_a + rho_b; + const double t10 = 0.1e1 / t9; + const double t11 = t8 * t10; + const double t12 = 0.1e1 + t11; + const double t13 = t12 / 0.2e1; + const double t14 = safe_math::cbrt( t13 ); + const double t15 = t14 * t14; + const double t16 = t15 * t13; + const double t18 = rho_b * rho_b; + const double t19 = safe_math::cbrt( rho_b ); + const double t20 = t19 * t19; + const double t22 = 0.1e1 / t20 / t18; + const double t23 = sigma_bb * t22; + const double t24 = 0.1e1 - t11; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t30 = t16 * t7 + t23 * t28; + const double t31 = t30 * t30; + const double t33 = 0.1e1 / t4 / rho_a; + const double t34 = tau_a * t33; + const double t37 = 0.1e1 / t20 / rho_b; + const double t38 = tau_b * t37; + const double t40 = t16 * t34 + t28 * t38; + const double t41 = t40 * t40; + const double t42 = 0.1e1 / t41; + const double t45 = 0.1e1 + 0.828125e-2 * t31 * t42; + const double t52 = safe_math::cbrt( t9 ); + const double t53 = 0.1e1 / t52; + const double t54 = t51 * t53; + const double t55 = t49 * t54; + const double t57 = 0.1e1 + 0.53425e-1 * t55; + const double t58 = safe_math::sqrt( t55 ); + const double t61 = pow_3_2( t55 ); + const double t66 = t52 * t52; + const double t67 = 0.1e1 / t66; + const double t68 = t50 * t67; + const double t69 = t65 * t68; + const double t71 = 0.379785e1 * t58 + 0.8969e0 * t55 + 0.204775e0 * t61 + 0.123235e0 * t69; + const double t74 = 0.1e1 + 0.16081979498692535067e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t77 = 0.621814e-1 * t57 * t75; + const double t78 = t8 * t8; + const double t79 = t78 * t78; + const double t80 = t9 * t9; + const double t81 = t80 * t80; + const double t82 = 0.1e1 / t81; + const double t83 = t79 * t82; + const double t84 = t12 <= zeta_tol; + const double t85 = safe_math::cbrt( zeta_tol ); + const double t86 = t85 * zeta_tol; + const double t87 = safe_math::cbrt( t12 ); + const double t88 = t87 * t12; + const double t89 = piecewise_functor_3( t84, t86, t88 ); + const double t90 = t24 <= zeta_tol; + const double t91 = safe_math::cbrt( t24 ); + const double t92 = t91 * t24; + const double t93 = piecewise_functor_3( t90, t86, t92 ); + const double t94 = t89 + t93 - 0.2e1; + const double t98 = 0.1e1 / ( 0.2e1 * t95 - 0.2e1 ); + const double t99 = t94 * t98; + const double t101 = 0.1e1 + 0.5137e-1 * t55; + const double t106 = 0.705945e1 * t58 + 0.1549425e1 * t55 + 0.420775e0 * t61 + 0.1562925e0 * t69; + const double t109 = 0.1e1 + 0.32163958997385070134e2 / t106; + const double t110 = safe_math::log( t109 ); + const double t114 = 0.1e1 + 0.278125e-1 * t55; + const double t119 = 0.51785e1 * t58 + 0.905775e0 * t55 + 0.1100325e0 * t61 + 0.1241775e0 * t69; + const double t122 = 0.1e1 + 0.29608749977793437516e2 / t119; + const double t123 = safe_math::log( t122 ); + const double t124 = t114 * t123; + const double t126 = -0.310907e-1 * t101 * t110 + t77 - 0.19751673498613801407e-1 * t124; + const double t127 = t99 * t126; + const double t128 = t83 * t127; + const double t130 = 0.19751673498613801407e-1 * t99 * t124; + const double t131 = safe_math::log( 0.2e1 ); + const double t132 = 0.1e1 - t131; + const double t135 = t132 * t134; + const double t136 = t85 * t85; + const double t137 = t87 * t87; + const double t138 = piecewise_functor_3( t84, t136, t137 ); + const double t139 = t91 * t91; + const double t140 = piecewise_functor_3( t90, t136, t139 ); + const double t142 = t138 / 0.2e1 + t140 / 0.2e1; + const double t143 = t142 * t142; + const double t144 = t143 * t142; + const double t146 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t148 = 0.1e1 / t52 / t80; + const double t149 = t146 * t148; + const double t151 = 0.1e1 / t143; + const double t155 = t151 * t63 * t154; + const double t158 = 0.1e1 / t132; + const double t160 = ( -t77 + t128 + t130 ) * t158; + const double t161 = 0.1e1 / t144; + const double t162 = t133 * t161; + const double t164 = safe_math::exp( -t160 * t162 ); + const double t165 = t164 - 0.1e1; + const double t166 = 0.1e1 / t165; + const double t167 = t158 * t166; + const double t168 = t146 * t146; + const double t170 = 0.1e1 / t66 / t81; + const double t171 = t168 * t170; + const double t174 = t143 * t143; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t180 = t176 * t179; + const double t183 = t149 * t95 * t155 / 0.96e2 + 0.21437009059034868486e-3 * t167 * t171 * t180; + const double t184 = t183 * t158; + const double t187 = 0.1e1 + 0.65854491829355115987e0 * t167 * t183; + const double t188 = 0.1e1 / t187; + const double t191 = 0.1e1 + 0.65854491829355115987e0 * t184 * t188; + const double t192 = safe_math::log( t191 ); + const double t195 = t135 * t144 * t192 + t128 + t130 - t77; + const double t196 = t45 * t195; + const double t197 = sigma_aa * sigma_aa; + const double t198 = 0.1e1 / t2; + const double t199 = t197 * t198; + const double t200 = tau_a * tau_a; + const double t201 = 0.1e1 / t200; + const double t203 = rho_a <= dens_tol || t84; + const double t205 = t53 * t95; + const double t206 = 0.1e1 / t85; + const double t207 = 0.1e1 / t87; + const double t208 = piecewise_functor_3( t84, t206, t207 ); + const double t210 = t204 * t205 * t208; + const double t212 = 0.1e1 + 0.53425e-1 * t210; + const double t213 = safe_math::sqrt( t210 ); + const double t216 = pow_3_2( t210 ); + const double t219 = t67 * t173; + const double t220 = t208 * t208; + const double t222 = t218 * t219 * t220; + const double t224 = 0.379785e1 * t213 + 0.8969e0 * t210 + 0.204775e0 * t216 + 0.123235e0 * t222; + const double t227 = 0.1e1 + 0.16081979498692535067e2 / t224; + const double t228 = safe_math::log( t227 ); + const double t230 = 0.621814e-1 * t212 * t228; + const double t231 = 0.2e1 <= zeta_tol; + const double t233 = piecewise_functor_3( t231, t86, 0.2e1 * t95 ); + const double t234 = 0.e0 <= zeta_tol; + const double t235 = piecewise_functor_3( t234, t86, 0.0 ); + const double t237 = ( t233 + t235 - 0.2e1 ) * t98; + const double t239 = 0.1e1 + 0.5137e-1 * t210; + const double t244 = 0.705945e1 * t213 + 0.1549425e1 * t210 + 0.420775e0 * t216 + 0.1562925e0 * t222; + const double t247 = 0.1e1 + 0.32163958997385070134e2 / t244; + const double t248 = safe_math::log( t247 ); + const double t252 = 0.1e1 + 0.278125e-1 * t210; + const double t257 = 0.51785e1 * t213 + 0.905775e0 * t210 + 0.1100325e0 * t216 + 0.1241775e0 * t222; + const double t260 = 0.1e1 + 0.29608749977793437516e2 / t257; + const double t261 = safe_math::log( t260 ); + const double t262 = t252 * t261; + const double t265 = t237 * ( -0.310907e-1 * t239 * t248 + t230 - 0.19751673498613801407e-1 * t262 ); + const double t267 = 0.19751673498613801407e-1 * t237 * t262; + const double t268 = piecewise_functor_3( t231, t136, t173 ); + const double t269 = piecewise_functor_3( t234, t136, 0.0 ); + const double t271 = t268 / 0.2e1 + t269 / 0.2e1; + const double t272 = t271 * t271; + const double t273 = t272 * t271; + const double t274 = 0.1e1 / t272; + const double t275 = t274 * t63; + const double t276 = t7 * t275; + const double t277 = 0.1e1 / t208; + const double t279 = t154 * t52 * t277; + const double t284 = 0.1e1 / t273; + const double t285 = t133 * t284; + const double t287 = safe_math::exp( -( -t230 + t265 + t267 ) * t158 * t285 ); + const double t288 = t287 - 0.1e1; + const double t289 = 0.1e1 / t288; + const double t290 = t158 * t289; + const double t291 = t2 * t2; + const double t292 = t291 * rho_a; + const double t294 = 0.1e1 / t3 / t292; + const double t295 = t197 * t294; + const double t296 = t272 * t272; + const double t297 = 0.1e1 / t296; + const double t299 = t290 * t295 * t297; + const double t300 = t51 * t66; + const double t301 = 0.1e1 / t220; + const double t302 = t300 * t301; + const double t303 = t178 * t302; + const double t306 = t276 * t279 / 0.96e2 + 0.21437009059034868486e-3 * t299 * t303; + const double t307 = t306 * t158; + const double t310 = 0.1e1 + 0.65854491829355115987e0 * t290 * t306; + const double t311 = 0.1e1 / t310; + const double t314 = 0.1e1 + 0.65854491829355115987e0 * t307 * t311; + const double t315 = safe_math::log( t314 ); + const double t318 = t135 * t273 * t315 - t230 + t265 + t267; + const double t319 = piecewise_functor_3( t84, zeta_tol, t12 ); + const double t322 = piecewise_functor_3( t203, 0.0, t318 * t319 / 0.2e1 ); + const double t323 = t201 * t322; + const double t325 = 0.2390625e-1 * t199 * t323; + const double t326 = sigma_bb * sigma_bb; + const double t327 = 0.1e1 / t18; + const double t328 = t326 * t327; + const double t329 = tau_b * tau_b; + const double t330 = 0.1e1 / t329; + const double t332 = rho_b <= dens_tol || t90; + const double t333 = 0.1e1 / t91; + const double t334 = piecewise_functor_3( t90, t206, t333 ); + const double t336 = t204 * t205 * t334; + const double t338 = 0.1e1 + 0.53425e-1 * t336; + const double t339 = safe_math::sqrt( t336 ); + const double t342 = pow_3_2( t336 ); + const double t344 = t334 * t334; + const double t346 = t218 * t219 * t344; + const double t348 = 0.379785e1 * t339 + 0.8969e0 * t336 + 0.204775e0 * t342 + 0.123235e0 * t346; + const double t351 = 0.1e1 + 0.16081979498692535067e2 / t348; + const double t352 = safe_math::log( t351 ); + const double t354 = 0.621814e-1 * t338 * t352; + const double t356 = 0.1e1 + 0.5137e-1 * t336; + const double t361 = 0.705945e1 * t339 + 0.1549425e1 * t336 + 0.420775e0 * t342 + 0.1562925e0 * t346; + const double t364 = 0.1e1 + 0.32163958997385070134e2 / t361; + const double t365 = safe_math::log( t364 ); + const double t369 = 0.1e1 + 0.278125e-1 * t336; + const double t374 = 0.51785e1 * t339 + 0.905775e0 * t336 + 0.1100325e0 * t342 + 0.1241775e0 * t346; + const double t377 = 0.1e1 + 0.29608749977793437516e2 / t374; + const double t378 = safe_math::log( t377 ); + const double t379 = t369 * t378; + const double t382 = t237 * ( -0.310907e-1 * t356 * t365 + t354 - 0.19751673498613801407e-1 * t379 ); + const double t384 = 0.19751673498613801407e-1 * t237 * t379; + const double t385 = t23 * t275; + const double t386 = 0.1e1 / t334; + const double t388 = t154 * t52 * t386; + const double t394 = safe_math::exp( -( -t354 + t382 + t384 ) * t158 * t285 ); + const double t395 = t394 - 0.1e1; + const double t396 = 0.1e1 / t395; + const double t397 = t158 * t396; + const double t398 = t18 * t18; + const double t399 = t398 * rho_b; + const double t401 = 0.1e1 / t19 / t399; + const double t402 = t326 * t401; + const double t404 = t397 * t402 * t297; + const double t405 = 0.1e1 / t344; + const double t406 = t300 * t405; + const double t407 = t178 * t406; + const double t410 = t385 * t388 / 0.96e2 + 0.21437009059034868486e-3 * t404 * t407; + const double t411 = t410 * t158; + const double t414 = 0.1e1 + 0.65854491829355115987e0 * t397 * t410; + const double t415 = 0.1e1 / t414; + const double t418 = 0.1e1 + 0.65854491829355115987e0 * t411 * t415; + const double t419 = safe_math::log( t418 ); + const double t422 = t135 * t273 * t419 - t354 + t382 + t384; + const double t423 = piecewise_functor_3( t90, zeta_tol, t24 ); + const double t426 = piecewise_functor_3( t332, 0.0, t422 * t423 / 0.2e1 ); + const double t427 = t330 * t426; + const double t429 = 0.2390625e-1 * t328 * t427; + const double t430 = t30 * t42; + const double t431 = t2 * rho_a; + const double t433 = 0.1e1 / t4 / t431; + const double t434 = sigma_aa * t433; + const double t437 = 0.1e1 / t80; + const double t438 = t8 * t437; + const double t439 = t10 - t438; + const double t440 = t439 / 0.2e1; + const double t441 = t15 * t440; + const double t444 = -t440; + const double t445 = t27 * t444; + const double t448 = -0.8e1 / 0.3e1 * t434 * t16 + 0.5e1 / 0.3e1 * t7 * t441 + 0.5e1 / 0.3e1 * t23 * t445; + const double t452 = 0.1e1 / t41 / t40; + const double t453 = t31 * t452; + const double t454 = tau_a * t6; + const double t459 = -0.5e1 / 0.3e1 * t454 * t16 + 0.5e1 / 0.3e1 * t34 * t441 + 0.5e1 / 0.3e1 * t38 * t445; + const double t462 = 0.165625e-1 * t430 * t448 - 0.165625e-1 * t453 * t459; + const double t463 = t462 * t195; + const double t464 = t52 * t9; + const double t465 = 0.1e1 / t464; + const double t466 = t51 * t465; + const double t469 = 0.11073470983333333333e-2 * t49 * t466 * t75; + const double t470 = t71 * t71; + const double t471 = 0.1e1 / t470; + const double t472 = t57 * t471; + const double t474 = 0.1e1 / t58 * t46; + const double t476 = t475 * t465; + const double t477 = t474 * t476; + const double t479 = t49 * t466; + const double t481 = safe_math::sqrt( t55 ); + const double t482 = t481 * t46; + const double t483 = t482 * t476; + const double t486 = 0.1e1 / t66 / t9; + const double t487 = t50 * t486; + const double t488 = t65 * t487; + const double t490 = -0.632975e0 * t477 - 0.29896666666666666667e0 * t479 - 0.1023875e0 * t483 - 0.82156666666666666667e-1 * t488; + const double t491 = 0.1e1 / t74; + const double t492 = t490 * t491; + const double t494 = 0.1e1 * t472 * t492; + const double t495 = t78 * t8; + const double t496 = t495 * t82; + const double t498 = 0.4e1 * t496 * t127; + const double t499 = t81 * t9; + const double t500 = 0.1e1 / t499; + const double t501 = t79 * t500; + const double t503 = 0.4e1 * t501 * t127; + const double t506 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.3e1 * t87 * t439 ); + const double t507 = -t439; + const double t510 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t507 ); + const double t512 = ( t506 + t510 ) * t98; + const double t513 = t512 * t126; + const double t514 = t83 * t513; + const double t518 = t106 * t106; + const double t519 = 0.1e1 / t518; + const double t520 = t101 * t519; + const double t525 = -0.1176575e1 * t477 - 0.516475e0 * t479 - 0.2103875e0 * t483 - 0.104195e0 * t488; + const double t526 = 0.1e1 / t109; + const double t527 = t525 * t526; + const double t533 = t119 * t119; + const double t534 = 0.1e1 / t533; + const double t535 = t114 * t534; + const double t540 = -0.86308333333333333334e0 * t477 - 0.301925e0 * t479 - 0.5501625e-1 * t483 - 0.82785e-1 * t488; + const double t541 = 0.1e1 / t122; + const double t542 = t540 * t541; + const double t545 = 0.53237641966666666666e-3 * t49 * t466 * t110 + 0.1e1 * t520 * t527 - t469 - t494 + 0.18311447306006545054e-3 * t49 * t466 * t123 + 0.5848223622634646207e0 * t535 * t542; + const double t546 = t99 * t545; + const double t547 = t83 * t546; + const double t549 = 0.19751673498613801407e-1 * t512 * t124; + const double t550 = t99 * t46; + const double t552 = t475 * t465 * t123; + const double t554 = 0.18311447306006545054e-3 * t550 * t552; + const double t555 = t99 * t114; + const double t557 = t534 * t540 * t541; + const double t559 = 0.5848223622634646207e0 * t555 * t557; + const double t560 = t143 * t192; + const double t563 = piecewise_functor_3( t84, 0.0, 0.2e1 / 0.3e1 * t207 * t439 ); + const double t566 = piecewise_functor_3( t90, 0.0, 0.2e1 / 0.3e1 * t333 * t507 ); + const double t568 = t563 / 0.2e1 + t566 / 0.2e1; + const double t572 = t80 * t9; + const double t574 = 0.1e1 / t52 / t572; + const double t575 = t146 * t574; + const double t578 = 0.7e1 / 0.288e3 * t575 * t95 * t155; + const double t579 = t95 * t161; + const double t580 = t149 * t579; + const double t582 = t50 * t568; + const double t583 = t581 * t582; + const double t586 = t165 * t165; + const double t587 = 0.1e1 / t586; + const double t588 = t158 * t587; + const double t589 = t171 * t173; + const double t590 = t588 * t589; + const double t591 = t175 * t46; + const double t592 = t591 * t177; + const double t594 = ( t469 + t494 + t498 - t503 + t514 + t547 + t549 - t554 - t559 ) * t158; + const double t596 = t133 * t175; + const double t597 = t596 * t568; + const double t600 = 0.3e1 * t160 * t597 - t162 * t594; + const double t601 = t51 * t600; + const double t603 = t592 * t601 * t164; + const double t607 = 0.1e1 / t66 / t499; + const double t608 = t168 * t607; + const double t611 = 0.10003937560882938627e-2 * t167 * t608 * t180; + const double t612 = t167 * t589; + const double t614 = 0.1e1 / t174 / t142; + const double t615 = t614 * t46; + const double t617 = t616 * t568; + const double t618 = t615 * t617; + const double t621 = -t578 - t580 * t583 / 0.48e2 - 0.21437009059034868486e-3 * t590 * t603 - t611 - 0.85748036236139473944e-3 * t612 * t618; + const double t622 = t621 * t158; + const double t625 = t187 * t187; + const double t626 = 0.1e1 / t625; + const double t633 = -0.65854491829355115987e0 * t588 * t183 * t600 * t164 + 0.65854491829355115987e0 * t167 * t621; + const double t634 = t626 * t633; + const double t637 = 0.65854491829355115987e0 * t622 * t188 - 0.65854491829355115987e0 * t184 * t634; + const double t639 = 0.1e1 / t191; + const double t642 = t135 * t144 * t637 * t639 + 0.3e1 * t135 * t560 * t568 + t469 + t494 + t498 - t503 + t514 + t547 + t549 - t554 - t559; + const double t643 = t45 * t642; + const double t644 = 0.1e1 / t431; + const double t645 = t197 * t644; + const double t646 = t645 * t323; + const double t647 = 0.478125e-1 * t646; + const double t648 = t465 * t95; + const double t650 = t204 * t648 * t208; + const double t651 = 0.17808333333333333333e-1 * t650; + const double t652 = 0.1e1 / t88; + const double t653 = t652 * t439; + const double t655 = piecewise_functor_3( t84, 0.0, -t653 / 0.3e1 ); + const double t657 = t204 * t205 * t655; + const double t659 = -t651 + 0.53425e-1 * t657; + const double t661 = 0.621814e-1 * t659 * t228; + const double t662 = t224 * t224; + const double t663 = 0.1e1 / t662; + const double t664 = t212 * t663; + const double t665 = 0.1e1 / t213; + const double t666 = t650 / 0.3e1; + const double t667 = -t666 + t657; + const double t668 = t665 * t667; + const double t670 = 0.29896666666666666667e0 * t650; + const double t672 = safe_math::sqrt( t210 ); + const double t673 = t672 * t667; + const double t675 = t486 * t173; + const double t677 = t218 * t675 * t220; + const double t678 = 0.82156666666666666667e-1 * t677; + const double t679 = t208 * t655; + const double t681 = t218 * t219 * t679; + const double t683 = 0.1898925e1 * t668 - t670 + 0.8969e0 * t657 + 0.3071625e0 * t673 - t678 + 0.24647e0 * t681; + const double t684 = 0.1e1 / t227; + const double t685 = t683 * t684; + const double t687 = 0.1e1 * t664 * t685; + const double t688 = 0.17123333333333333333e-1 * t650; + const double t690 = -t688 + 0.5137e-1 * t657; + const double t693 = t244 * t244; + const double t694 = 0.1e1 / t693; + const double t695 = t239 * t694; + const double t697 = 0.516475e0 * t650; + const double t700 = 0.104195e0 * t677; + const double t702 = 0.3529725e1 * t668 - t697 + 0.1549425e1 * t657 + 0.6311625e0 * t673 - t700 + 0.312585e0 * t681; + const double t703 = 0.1e1 / t247; + const double t704 = t702 * t703; + const double t707 = 0.92708333333333333333e-2 * t650; + const double t709 = -t707 + 0.278125e-1 * t657; + const double t710 = t709 * t261; + const double t712 = t257 * t257; + const double t713 = 0.1e1 / t712; + const double t714 = t252 * t713; + const double t716 = 0.301925e0 * t650; + const double t719 = 0.82785e-1 * t677; + const double t721 = 0.258925e1 * t668 - t716 + 0.905775e0 * t657 + 0.16504875e0 * t673 - t719 + 0.248355e0 * t681; + const double t722 = 0.1e1 / t260; + const double t723 = t721 * t722; + const double t727 = t237 * ( -0.310907e-1 * t690 * t248 + 0.1e1 * t695 * t704 + t661 - t687 - 0.19751673498613801407e-1 * t710 + 0.5848223622634646207e0 * t714 * t723 ); + const double t729 = 0.19751673498613801407e-1 * t237 * t710; + const double t730 = t237 * t252; + const double t732 = t713 * t721 * t722; + const double t734 = 0.5848223622634646207e0 * t730 * t732; + const double t735 = t434 * t275; + const double t739 = t154 * t67 * t277; + const double t741 = t276 * t739 / 0.288e3; + const double t742 = t52 * t301; + const double t744 = t154 * t742 * t655; + const double t747 = t132 * t132; + const double t748 = 0.1e1 / t747; + const double t749 = t288 * t288; + const double t750 = 0.1e1 / t749; + const double t751 = t748 * t750; + const double t752 = t751 * t197; + const double t754 = 0.1e1 / t296 / t273; + const double t755 = t294 * t754; + const double t756 = t755 * t46; + const double t757 = t752 * t756; + const double t758 = t616 * t66; + const double t759 = -t661 + t687 + t727 + t729 - t734; + const double t761 = t133 * t287; + const double t762 = t301 * t759 * t761; + const double t763 = t758 * t762; + const double t766 = t291 * t2; + const double t768 = 0.1e1 / t3 / t766; + const double t771 = t290 * t197 * t768 * t297; + const double t774 = t54 * t301; + const double t775 = t178 * t774; + const double t777 = 0.14291339372689912324e-3 * t299 * t775; + const double t778 = t220 * t208; + const double t779 = 0.1e1 / t778; + const double t780 = t66 * t779; + const double t782 = t179 * t780 * t655; + const double t785 = -t735 * t279 / 0.36e2 + t741 - t276 * t744 / 0.96e2 + 0.21437009059034868486e-3 * t757 * t763 - 0.11433071498151929859e-2 * t771 * t303 + t777 - 0.42874018118069736972e-3 * t299 * t782; + const double t786 = t785 * t158; + const double t789 = t310 * t310; + const double t790 = 0.1e1 / t789; + const double t791 = t751 * t306; + const double t792 = t759 * t133; + const double t793 = t284 * t287; + const double t794 = t792 * t793; + const double t799 = 0.65854491829355115987e0 * t791 * t794 + 0.65854491829355115987e0 * t290 * t785; + const double t800 = t790 * t799; + const double t803 = 0.65854491829355115987e0 * t786 * t311 - 0.65854491829355115987e0 * t307 * t800; + const double t805 = 0.1e1 / t314; + const double t808 = t135 * t273 * t803 * t805 - t661 + t687 + t727 + t729 - t734; + const double t810 = piecewise_functor_3( t84, 0.0, t439 ); + const double t814 = piecewise_functor_3( t203, 0.0, t318 * t810 / 0.2e1 + t808 * t319 / 0.2e1 ); + const double t815 = t201 * t814; + const double t816 = t199 * t815; + const double t817 = 0.2390625e-1 * t816; + const double t819 = t204 * t648 * t334; + const double t820 = 0.17808333333333333333e-1 * t819; + const double t821 = 0.1e1 / t92; + const double t822 = t821 * t507; + const double t824 = piecewise_functor_3( t90, 0.0, -t822 / 0.3e1 ); + const double t826 = t204 * t205 * t824; + const double t828 = -t820 + 0.53425e-1 * t826; + const double t830 = 0.621814e-1 * t828 * t352; + const double t831 = t348 * t348; + const double t832 = 0.1e1 / t831; + const double t833 = t338 * t832; + const double t834 = 0.1e1 / t339; + const double t835 = t819 / 0.3e1; + const double t836 = -t835 + t826; + const double t837 = t834 * t836; + const double t839 = 0.29896666666666666667e0 * t819; + const double t841 = safe_math::sqrt( t336 ); + const double t842 = t841 * t836; + const double t845 = t218 * t675 * t344; + const double t846 = 0.82156666666666666667e-1 * t845; + const double t847 = t334 * t824; + const double t849 = t218 * t219 * t847; + const double t851 = 0.1898925e1 * t837 - t839 + 0.8969e0 * t826 + 0.3071625e0 * t842 - t846 + 0.24647e0 * t849; + const double t852 = 0.1e1 / t351; + const double t853 = t851 * t852; + const double t855 = 0.1e1 * t833 * t853; + const double t856 = 0.17123333333333333333e-1 * t819; + const double t858 = -t856 + 0.5137e-1 * t826; + const double t861 = t361 * t361; + const double t862 = 0.1e1 / t861; + const double t863 = t356 * t862; + const double t865 = 0.516475e0 * t819; + const double t868 = 0.104195e0 * t845; + const double t870 = 0.3529725e1 * t837 - t865 + 0.1549425e1 * t826 + 0.6311625e0 * t842 - t868 + 0.312585e0 * t849; + const double t871 = 0.1e1 / t364; + const double t872 = t870 * t871; + const double t875 = 0.92708333333333333333e-2 * t819; + const double t877 = -t875 + 0.278125e-1 * t826; + const double t878 = t877 * t378; + const double t880 = t374 * t374; + const double t881 = 0.1e1 / t880; + const double t882 = t369 * t881; + const double t884 = 0.301925e0 * t819; + const double t887 = 0.82785e-1 * t845; + const double t889 = 0.258925e1 * t837 - t884 + 0.905775e0 * t826 + 0.16504875e0 * t842 - t887 + 0.248355e0 * t849; + const double t890 = 0.1e1 / t377; + const double t891 = t889 * t890; + const double t895 = t237 * ( -0.310907e-1 * t858 * t365 + 0.1e1 * t863 * t872 + t830 - t855 - 0.19751673498613801407e-1 * t878 + 0.5848223622634646207e0 * t882 * t891 ); + const double t897 = 0.19751673498613801407e-1 * t237 * t878; + const double t898 = t237 * t369; + const double t900 = t881 * t889 * t890; + const double t902 = 0.5848223622634646207e0 * t898 * t900; + const double t904 = t154 * t67 * t386; + const double t906 = t385 * t904 / 0.288e3; + const double t907 = t52 * t405; + const double t909 = t154 * t907 * t824; + const double t912 = t395 * t395; + const double t913 = 0.1e1 / t912; + const double t914 = t748 * t913; + const double t915 = t914 * t326; + const double t916 = t401 * t754; + const double t917 = t916 * t46; + const double t918 = t915 * t917; + const double t919 = -t830 + t855 + t895 + t897 - t902; + const double t921 = t133 * t394; + const double t922 = t405 * t919 * t921; + const double t923 = t758 * t922; + const double t926 = t54 * t405; + const double t927 = t178 * t926; + const double t929 = 0.14291339372689912324e-3 * t404 * t927; + const double t930 = t344 * t334; + const double t931 = 0.1e1 / t930; + const double t932 = t66 * t931; + const double t934 = t179 * t932 * t824; + const double t937 = t906 - t385 * t909 / 0.96e2 + 0.21437009059034868486e-3 * t918 * t923 + t929 - 0.42874018118069736972e-3 * t404 * t934; + const double t938 = t937 * t158; + const double t941 = t414 * t414; + const double t942 = 0.1e1 / t941; + const double t943 = t914 * t410; + const double t944 = t919 * t133; + const double t945 = t284 * t394; + const double t946 = t944 * t945; + const double t951 = 0.65854491829355115987e0 * t943 * t946 + 0.65854491829355115987e0 * t397 * t937; + const double t952 = t942 * t951; + const double t955 = 0.65854491829355115987e0 * t938 * t415 - 0.65854491829355115987e0 * t411 * t952; + const double t957 = 0.1e1 / t418; + const double t960 = t135 * t273 * t955 * t957 - t830 + t855 + t895 + t897 - t902; + const double t962 = piecewise_functor_3( t90, 0.0, t507 ); + const double t966 = piecewise_functor_3( t332, 0.0, t422 * t962 / 0.2e1 + t960 * t423 / 0.2e1 ); + const double t967 = t330 * t966; + const double t968 = t328 * t967; + const double t969 = 0.2390625e-1 * t968; + const double t972 = -t10 - t438; + const double t973 = t972 / 0.2e1; + const double t974 = t15 * t973; + const double t977 = t18 * rho_b; + const double t979 = 0.1e1 / t20 / t977; + const double t980 = sigma_bb * t979; + const double t983 = -t973; + const double t984 = t27 * t983; + const double t987 = 0.5e1 / 0.3e1 * t7 * t974 - 0.8e1 / 0.3e1 * t980 * t28 + 0.5e1 / 0.3e1 * t23 * t984; + const double t991 = tau_b * t22; + const double t995 = -0.5e1 / 0.3e1 * t991 * t28 + 0.5e1 / 0.3e1 * t34 * t974 + 0.5e1 / 0.3e1 * t38 * t984; + const double t998 = 0.165625e-1 * t430 * t987 - 0.165625e-1 * t453 * t995; + const double t999 = t998 * t195; + const double t1002 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.3e1 * t87 * t972 ); + const double t1003 = -t972; + const double t1006 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t1003 ); + const double t1008 = ( t1002 + t1006 ) * t98; + const double t1009 = t1008 * t126; + const double t1010 = t83 * t1009; + const double t1012 = 0.19751673498613801407e-1 * t1008 * t124; + const double t1015 = piecewise_functor_3( t84, 0.0, 0.2e1 / 0.3e1 * t207 * t972 ); + const double t1018 = piecewise_functor_3( t90, 0.0, 0.2e1 / 0.3e1 * t333 * t1003 ); + const double t1020 = t1015 / 0.2e1 + t1018 / 0.2e1; + const double t1024 = t50 * t1020; + const double t1025 = t581 * t1024; + const double t1029 = ( t469 + t494 - t498 - t503 + t1010 + t547 + t1012 - t554 - t559 ) * t158; + const double t1031 = t596 * t1020; + const double t1034 = -t1029 * t162 + 0.3e1 * t1031 * t160; + const double t1035 = t51 * t1034; + const double t1037 = t592 * t1035 * t164; + const double t1040 = t616 * t1020; + const double t1041 = t615 * t1040; + const double t1044 = -t578 - t580 * t1025 / 0.48e2 - 0.21437009059034868486e-3 * t590 * t1037 - t611 - 0.85748036236139473944e-3 * t612 * t1041; + const double t1045 = t1044 * t158; + const double t1054 = -0.65854491829355115987e0 * t588 * t183 * t1034 * t164 + 0.65854491829355115987e0 * t167 * t1044; + const double t1055 = t626 * t1054; + const double t1058 = 0.65854491829355115987e0 * t1045 * t188 - 0.65854491829355115987e0 * t184 * t1055; + const double t1062 = t1058 * t135 * t144 * t639 + 0.3e1 * t1020 * t135 * t560 + t1010 + t1012 + t469 + t494 - t498 - t503 + t547 - t554 - t559; + const double t1063 = t45 * t1062; + const double t1064 = t652 * t972; + const double t1066 = piecewise_functor_3( t84, 0.0, -t1064 / 0.3e1 ); + const double t1068 = t204 * t205 * t1066; + const double t1070 = -t651 + 0.53425e-1 * t1068; + const double t1072 = 0.621814e-1 * t1070 * t228; + const double t1073 = -t666 + t1068; + const double t1074 = t665 * t1073; + const double t1077 = t672 * t1073; + const double t1079 = t208 * t1066; + const double t1081 = t218 * t219 * t1079; + const double t1083 = 0.1898925e1 * t1074 - t670 + 0.8969e0 * t1068 + 0.3071625e0 * t1077 - t678 + 0.24647e0 * t1081; + const double t1084 = t1083 * t684; + const double t1086 = 0.1e1 * t664 * t1084; + const double t1088 = -t688 + 0.5137e-1 * t1068; + const double t1095 = 0.3529725e1 * t1074 - t697 + 0.1549425e1 * t1068 + 0.6311625e0 * t1077 - t700 + 0.312585e0 * t1081; + const double t1096 = t1095 * t703; + const double t1100 = -t707 + 0.278125e-1 * t1068; + const double t1101 = t1100 * t261; + const double t1107 = 0.258925e1 * t1074 - t716 + 0.905775e0 * t1068 + 0.16504875e0 * t1077 - t719 + 0.248355e0 * t1081; + const double t1108 = t1107 * t722; + const double t1112 = t237 * ( -0.310907e-1 * t1088 * t248 + 0.1e1 * t695 * t1096 + t1072 - t1086 - 0.19751673498613801407e-1 * t1101 + 0.5848223622634646207e0 * t714 * t1108 ); + const double t1114 = 0.19751673498613801407e-1 * t237 * t1101; + const double t1116 = t713 * t1107 * t722; + const double t1118 = 0.5848223622634646207e0 * t730 * t1116; + const double t1120 = t154 * t742 * t1066; + const double t1123 = -t1072 + t1086 + t1112 + t1114 - t1118; + const double t1124 = t301 * t1123; + const double t1125 = t1124 * t761; + const double t1126 = t758 * t1125; + const double t1130 = t179 * t780 * t1066; + const double t1133 = t741 - t276 * t1120 / 0.96e2 + 0.21437009059034868486e-3 * t757 * t1126 + t777 - 0.42874018118069736972e-3 * t299 * t1130; + const double t1134 = t1133 * t158; + const double t1137 = t1123 * t133; + const double t1138 = t1137 * t793; + const double t1143 = 0.65854491829355115987e0 * t791 * t1138 + 0.65854491829355115987e0 * t290 * t1133; + const double t1144 = t790 * t1143; + const double t1147 = 0.65854491829355115987e0 * t1134 * t311 - 0.65854491829355115987e0 * t307 * t1144; + const double t1151 = t1147 * t135 * t273 * t805 - t1072 + t1086 + t1112 + t1114 - t1118; + const double t1153 = piecewise_functor_3( t84, 0.0, t972 ); + const double t1157 = piecewise_functor_3( t203, 0.0, t1151 * t319 / 0.2e1 + t318 * t1153 / 0.2e1 ); + const double t1158 = t201 * t1157; + const double t1159 = t199 * t1158; + const double t1160 = 0.2390625e-1 * t1159; + const double t1161 = 0.1e1 / t977; + const double t1162 = t326 * t1161; + const double t1163 = t1162 * t427; + const double t1164 = 0.478125e-1 * t1163; + const double t1165 = t821 * t1003; + const double t1167 = piecewise_functor_3( t90, 0.0, -t1165 / 0.3e1 ); + const double t1169 = t204 * t205 * t1167; + const double t1171 = -t820 + 0.53425e-1 * t1169; + const double t1173 = 0.621814e-1 * t1171 * t352; + const double t1174 = -t835 + t1169; + const double t1175 = t834 * t1174; + const double t1178 = t841 * t1174; + const double t1180 = t334 * t1167; + const double t1182 = t218 * t219 * t1180; + const double t1184 = 0.1898925e1 * t1175 - t839 + 0.8969e0 * t1169 + 0.3071625e0 * t1178 - t846 + 0.24647e0 * t1182; + const double t1185 = t1184 * t852; + const double t1187 = 0.1e1 * t833 * t1185; + const double t1189 = -t856 + 0.5137e-1 * t1169; + const double t1196 = 0.3529725e1 * t1175 - t865 + 0.1549425e1 * t1169 + 0.6311625e0 * t1178 - t868 + 0.312585e0 * t1182; + const double t1197 = t1196 * t871; + const double t1201 = -t875 + 0.278125e-1 * t1169; + const double t1202 = t1201 * t378; + const double t1208 = 0.258925e1 * t1175 - t884 + 0.905775e0 * t1169 + 0.16504875e0 * t1178 - t887 + 0.248355e0 * t1182; + const double t1209 = t1208 * t890; + const double t1213 = t237 * ( -0.310907e-1 * t1189 * t365 + 0.1e1 * t863 * t1197 + t1173 - t1187 - 0.19751673498613801407e-1 * t1202 + 0.5848223622634646207e0 * t882 * t1209 ); + const double t1215 = 0.19751673498613801407e-1 * t237 * t1202; + const double t1217 = t881 * t1208 * t890; + const double t1219 = 0.5848223622634646207e0 * t898 * t1217; + const double t1220 = t980 * t275; + const double t1224 = t154 * t907 * t1167; + const double t1227 = -t1173 + t1187 + t1213 + t1215 - t1219; + const double t1228 = t405 * t1227; + const double t1229 = t1228 * t921; + const double t1230 = t758 * t1229; + const double t1233 = t398 * t18; + const double t1235 = 0.1e1 / t19 / t1233; + const double t1238 = t397 * t326 * t1235 * t297; + const double t1242 = t179 * t932 * t1167; + const double t1245 = -t1220 * t388 / 0.36e2 + t906 - t385 * t1224 / 0.96e2 + 0.21437009059034868486e-3 * t918 * t1230 - 0.11433071498151929859e-2 * t1238 * t407 + t929 - 0.42874018118069736972e-3 * t404 * t1242; + const double t1246 = t1245 * t158; + const double t1249 = t1227 * t133; + const double t1250 = t1249 * t945; + const double t1255 = 0.65854491829355115987e0 * t943 * t1250 + 0.65854491829355115987e0 * t397 * t1245; + const double t1256 = t942 * t1255; + const double t1259 = 0.65854491829355115987e0 * t1246 * t415 - 0.65854491829355115987e0 * t411 * t1256; + const double t1263 = t1259 * t135 * t273 * t957 - t1173 + t1187 + t1213 + t1215 - t1219; + const double t1265 = piecewise_functor_3( t90, 0.0, t1003 ); + const double t1269 = piecewise_functor_3( t332, 0.0, t1263 * t423 / 0.2e1 + t422 * t1265 / 0.2e1 ); + const double t1270 = t330 * t1269; + const double t1271 = t328 * t1270; + const double t1272 = 0.2390625e-1 * t1271; + const double t1275 = t6 * t16; + const double t1276 = t1275 * t195; + const double t1278 = 0.165625e-1 * t430 * t1276; + const double t1279 = t45 * t132; + const double t1280 = t1279 * t134; + const double t1281 = t148 * t95; + const double t1284 = t1281 * t151 * t1283; + const double t1286 = t146 * t170; + const double t1288 = t167 * t1286 * t180; + const double t1290 = t1284 / 0.96e2 + 0.42874018118069736972e-3 * t1288; + const double t1291 = t1290 * t158; + const double t1294 = t183 * t748; + const double t1295 = t626 * t166; + const double t1296 = t1295 * t1290; + const double t1299 = 0.65854491829355115987e0 * t1291 * t188 - 0.4336814094102599731e0 * t1294 * t1296; + const double t1300 = t144 * t1299; + const double t1301 = t1300 * t639; + const double t1302 = t1280 * t1301; + const double t1303 = sigma_aa * t198; + const double t1305 = 0.478125e-1 * t1303 * t323; + const double t1306 = t135 * t273; + const double t1307 = t6 * t274; + const double t1308 = t1307 * t63; + const double t1313 = t290 * sigma_aa * t294 * t297; + const double t1316 = t1308 * t279 / 0.96e2 + 0.42874018118069736972e-3 * t1313 * t303; + const double t1317 = t1316 * t158; + const double t1320 = t306 * t748; + const double t1321 = t790 * t289; + const double t1322 = t1321 * t1316; + const double t1325 = 0.65854491829355115987e0 * t1317 * t311 - 0.4336814094102599731e0 * t1320 * t1322; + const double t1326 = t1325 * t805; + const double t1330 = piecewise_functor_3( t203, 0.0, t1306 * t1326 * t319 / 0.2e1 ); + const double t1331 = t201 * t1330; + const double t1333 = 0.2390625e-1 * t199 * t1331; + const double t1335 = t9 * t45; + const double t1336 = t1335 * t132; + const double t1337 = t134 * t144; + const double t1340 = t1284 / 0.48e2 + 0.85748036236139473944e-3 * t1288; + const double t1341 = t1340 * t158; + const double t1344 = t1295 * t1340; + const double t1347 = 0.65854491829355115987e0 * t1341 * t188 - 0.4336814094102599731e0 * t1294 * t1344; + const double t1348 = t1347 * t639; + const double t1349 = t1337 * t1348; + const double t1350 = t22 * t28; + const double t1351 = t1350 * t195; + const double t1353 = 0.165625e-1 * t430 * t1351; + const double t1354 = sigma_bb * t327; + const double t1356 = 0.478125e-1 * t1354 * t427; + const double t1357 = t22 * t274; + const double t1358 = t1357 * t63; + const double t1363 = t397 * sigma_bb * t401 * t297; + const double t1366 = t1358 * t388 / 0.96e2 + 0.42874018118069736972e-3 * t1363 * t407; + const double t1367 = t1366 * t158; + const double t1370 = t410 * t748; + const double t1371 = t942 * t396; + const double t1372 = t1371 * t1366; + const double t1375 = 0.65854491829355115987e0 * t1367 * t415 - 0.4336814094102599731e0 * t1370 * t1372; + const double t1376 = t1375 * t957; + const double t1380 = piecewise_functor_3( t332, 0.0, t1306 * t1376 * t423 / 0.2e1 ); + const double t1381 = t330 * t1380; + const double t1383 = 0.2390625e-1 * t328 * t1381; + const double t1385 = t33 * t16; + const double t1386 = t1385 * t195; + const double t1388 = 0.165625e-1 * t453 * t1386; + const double t1390 = 0.1e1 / t200 / tau_a; + const double t1391 = t1390 * t322; + const double t1393 = 0.478125e-1 * t199 * t1391; + const double t1395 = t37 * t28; + const double t1396 = t1395 * t195; + const double t1398 = 0.165625e-1 * t453 * t1396; + const double t1400 = 0.1e1 / t329 / tau_b; + const double t1401 = t1400 * t426; + const double t1403 = 0.478125e-1 * t328 * t1401; + + + eps = t196 - t325 - t429; + vrho_a = t196 - t325 - t429 + t9 * ( t463 + t643 + t647 - t817 - t969 ); + vrho_b = t196 - t325 - t429 + t9 * ( t999 + t1063 - t1160 + t1164 - t1272 ); + vsigma_aa = t9 * ( t1278 + t1302 - t1305 - t1333 ); + vsigma_ab = t1336 * t1349; + vsigma_bb = t9 * ( t1353 + t1302 - t1356 - t1383 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t9 * ( -t1388 + t1393 ); + vtau_b = t9 * ( -t1398 + t1403 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t46 = constants::m_cbrt_3; + constexpr double t48 = constants::m_cbrt_one_ov_pi; + constexpr double t50 = constants::m_cbrt_4; + constexpr double t95 = constants::m_cbrt_2; + constexpr double t133 = constants::m_pi_sq; + constexpr double t49 = t46 * t48; + constexpr double t51 = t50 * t50; + constexpr double t63 = t46 * t46; + constexpr double t64 = t48 * t48; + constexpr double t65 = t63 * t64; + constexpr double t134 = 0.1e1 / t133; + constexpr double t153 = 0.1e1 / t48; + constexpr double t154 = t153 * t50; + constexpr double t173 = t95 * t95; + constexpr double t177 = 0.1e1 / t64; + constexpr double t178 = t46 * t177; + constexpr double t179 = t178 * t51; + constexpr double t204 = t49 * t51; + constexpr double t218 = t65 * t50; + constexpr double t475 = t48 * t51; + constexpr double t581 = t63 * t153; + constexpr double t616 = t177 * t51; + constexpr double t1283 = t581 * t50; + constexpr double t1601 = t64 * t50; + constexpr double t2029 = t133 * t133; + + + const double t2 = rho_a * rho_a; + const double t3 = safe_math::cbrt( rho_a ); + const double t4 = t3 * t3; + const double t6 = 0.1e1 / t4 / t2; + const double t7 = sigma_aa * t6; + const double t8 = rho_a - rho_b; + const double t9 = rho_a + rho_b; + const double t10 = 0.1e1 / t9; + const double t11 = t8 * t10; + const double t12 = 0.1e1 + t11; + const double t13 = t12 / 0.2e1; + const double t14 = safe_math::cbrt( t13 ); + const double t15 = t14 * t14; + const double t16 = t15 * t13; + const double t18 = rho_b * rho_b; + const double t19 = safe_math::cbrt( rho_b ); + const double t20 = t19 * t19; + const double t22 = 0.1e1 / t20 / t18; + const double t23 = sigma_bb * t22; + const double t24 = 0.1e1 - t11; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t30 = t16 * t7 + t23 * t28; + const double t31 = t30 * t30; + const double t33 = 0.1e1 / t4 / rho_a; + const double t34 = tau_a * t33; + const double t37 = 0.1e1 / t20 / rho_b; + const double t38 = tau_b * t37; + const double t40 = t16 * t34 + t28 * t38; + const double t41 = t40 * t40; + const double t42 = 0.1e1 / t41; + const double t45 = 0.1e1 + 0.828125e-2 * t31 * t42; + const double t52 = safe_math::cbrt( t9 ); + const double t53 = 0.1e1 / t52; + const double t54 = t51 * t53; + const double t55 = t49 * t54; + const double t57 = 0.1e1 + 0.53425e-1 * t55; + const double t58 = safe_math::sqrt( t55 ); + const double t61 = pow_3_2( t55 ); + const double t66 = t52 * t52; + const double t67 = 0.1e1 / t66; + const double t68 = t50 * t67; + const double t69 = t65 * t68; + const double t71 = 0.379785e1 * t58 + 0.8969e0 * t55 + 0.204775e0 * t61 + 0.123235e0 * t69; + const double t74 = 0.1e1 + 0.16081979498692535067e2 / t71; + const double t75 = safe_math::log( t74 ); + const double t77 = 0.621814e-1 * t57 * t75; + const double t78 = t8 * t8; + const double t79 = t78 * t78; + const double t80 = t9 * t9; + const double t81 = t80 * t80; + const double t82 = 0.1e1 / t81; + const double t83 = t79 * t82; + const double t84 = t12 <= zeta_tol; + const double t85 = safe_math::cbrt( zeta_tol ); + const double t86 = t85 * zeta_tol; + const double t87 = safe_math::cbrt( t12 ); + const double t88 = t87 * t12; + const double t89 = piecewise_functor_3( t84, t86, t88 ); + const double t90 = t24 <= zeta_tol; + const double t91 = safe_math::cbrt( t24 ); + const double t92 = t91 * t24; + const double t93 = piecewise_functor_3( t90, t86, t92 ); + const double t94 = t89 + t93 - 0.2e1; + const double t98 = 0.1e1 / ( 0.2e1 * t95 - 0.2e1 ); + const double t99 = t94 * t98; + const double t101 = 0.1e1 + 0.5137e-1 * t55; + const double t106 = 0.705945e1 * t58 + 0.1549425e1 * t55 + 0.420775e0 * t61 + 0.1562925e0 * t69; + const double t109 = 0.1e1 + 0.32163958997385070134e2 / t106; + const double t110 = safe_math::log( t109 ); + const double t114 = 0.1e1 + 0.278125e-1 * t55; + const double t119 = 0.51785e1 * t58 + 0.905775e0 * t55 + 0.1100325e0 * t61 + 0.1241775e0 * t69; + const double t122 = 0.1e1 + 0.29608749977793437516e2 / t119; + const double t123 = safe_math::log( t122 ); + const double t124 = t114 * t123; + const double t126 = -0.310907e-1 * t101 * t110 + t77 - 0.19751673498613801407e-1 * t124; + const double t127 = t99 * t126; + const double t128 = t83 * t127; + const double t130 = 0.19751673498613801407e-1 * t99 * t124; + const double t131 = safe_math::log( 0.2e1 ); + const double t132 = 0.1e1 - t131; + const double t135 = t132 * t134; + const double t136 = t85 * t85; + const double t137 = t87 * t87; + const double t138 = piecewise_functor_3( t84, t136, t137 ); + const double t139 = t91 * t91; + const double t140 = piecewise_functor_3( t90, t136, t139 ); + const double t142 = t138 / 0.2e1 + t140 / 0.2e1; + const double t143 = t142 * t142; + const double t144 = t143 * t142; + const double t146 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t148 = 0.1e1 / t52 / t80; + const double t149 = t146 * t148; + const double t151 = 0.1e1 / t143; + const double t155 = t151 * t63 * t154; + const double t158 = 0.1e1 / t132; + const double t160 = ( -t77 + t128 + t130 ) * t158; + const double t161 = 0.1e1 / t144; + const double t162 = t133 * t161; + const double t164 = safe_math::exp( -t160 * t162 ); + const double t165 = t164 - 0.1e1; + const double t166 = 0.1e1 / t165; + const double t167 = t158 * t166; + const double t168 = t146 * t146; + const double t170 = 0.1e1 / t66 / t81; + const double t171 = t168 * t170; + const double t174 = t143 * t143; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t180 = t176 * t179; + const double t183 = t149 * t95 * t155 / 0.96e2 + 0.21437009059034868486e-3 * t167 * t171 * t180; + const double t184 = t183 * t158; + const double t187 = 0.1e1 + 0.65854491829355115987e0 * t167 * t183; + const double t188 = 0.1e1 / t187; + const double t191 = 0.1e1 + 0.65854491829355115987e0 * t184 * t188; + const double t192 = safe_math::log( t191 ); + const double t195 = t135 * t144 * t192 + t128 + t130 - t77; + const double t197 = sigma_aa * sigma_aa; + const double t198 = 0.1e1 / t2; + const double t199 = t197 * t198; + const double t200 = tau_a * tau_a; + const double t201 = 0.1e1 / t200; + const double t203 = rho_a <= dens_tol || t84; + const double t205 = t53 * t95; + const double t206 = 0.1e1 / t85; + const double t207 = 0.1e1 / t87; + const double t208 = piecewise_functor_3( t84, t206, t207 ); + const double t210 = t204 * t205 * t208; + const double t212 = 0.1e1 + 0.53425e-1 * t210; + const double t213 = safe_math::sqrt( t210 ); + const double t216 = pow_3_2( t210 ); + const double t219 = t67 * t173; + const double t220 = t208 * t208; + const double t222 = t218 * t219 * t220; + const double t224 = 0.379785e1 * t213 + 0.8969e0 * t210 + 0.204775e0 * t216 + 0.123235e0 * t222; + const double t227 = 0.1e1 + 0.16081979498692535067e2 / t224; + const double t228 = safe_math::log( t227 ); + const double t230 = 0.621814e-1 * t212 * t228; + const double t231 = 0.2e1 <= zeta_tol; + const double t233 = piecewise_functor_3( t231, t86, 0.2e1 * t95 ); + const double t234 = 0.e0 <= zeta_tol; + const double t235 = piecewise_functor_3( t234, t86, 0.0 ); + const double t237 = ( t233 + t235 - 0.2e1 ) * t98; + const double t239 = 0.1e1 + 0.5137e-1 * t210; + const double t244 = 0.705945e1 * t213 + 0.1549425e1 * t210 + 0.420775e0 * t216 + 0.1562925e0 * t222; + const double t247 = 0.1e1 + 0.32163958997385070134e2 / t244; + const double t248 = safe_math::log( t247 ); + const double t252 = 0.1e1 + 0.278125e-1 * t210; + const double t257 = 0.51785e1 * t213 + 0.905775e0 * t210 + 0.1100325e0 * t216 + 0.1241775e0 * t222; + const double t260 = 0.1e1 + 0.29608749977793437516e2 / t257; + const double t261 = safe_math::log( t260 ); + const double t262 = t252 * t261; + const double t265 = t237 * ( -0.310907e-1 * t239 * t248 + t230 - 0.19751673498613801407e-1 * t262 ); + const double t267 = 0.19751673498613801407e-1 * t237 * t262; + const double t268 = piecewise_functor_3( t231, t136, t173 ); + const double t269 = piecewise_functor_3( t234, t136, 0.0 ); + const double t271 = t268 / 0.2e1 + t269 / 0.2e1; + const double t272 = t271 * t271; + const double t273 = t272 * t271; + const double t274 = 0.1e1 / t272; + const double t275 = t274 * t63; + const double t276 = t7 * t275; + const double t277 = 0.1e1 / t208; + const double t279 = t154 * t52 * t277; + const double t284 = 0.1e1 / t273; + const double t285 = t133 * t284; + const double t287 = safe_math::exp( -( -t230 + t265 + t267 ) * t158 * t285 ); + const double t288 = t287 - 0.1e1; + const double t289 = 0.1e1 / t288; + const double t290 = t158 * t289; + const double t291 = t2 * t2; + const double t292 = t291 * rho_a; + const double t294 = 0.1e1 / t3 / t292; + const double t295 = t197 * t294; + const double t296 = t272 * t272; + const double t297 = 0.1e1 / t296; + const double t299 = t290 * t295 * t297; + const double t300 = t51 * t66; + const double t301 = 0.1e1 / t220; + const double t302 = t300 * t301; + const double t303 = t178 * t302; + const double t306 = t276 * t279 / 0.96e2 + 0.21437009059034868486e-3 * t299 * t303; + const double t307 = t306 * t158; + const double t310 = 0.1e1 + 0.65854491829355115987e0 * t290 * t306; + const double t311 = 0.1e1 / t310; + const double t314 = 0.1e1 + 0.65854491829355115987e0 * t307 * t311; + const double t315 = safe_math::log( t314 ); + const double t318 = t135 * t273 * t315 - t230 + t265 + t267; + const double t319 = piecewise_functor_3( t84, zeta_tol, t12 ); + const double t322 = piecewise_functor_3( t203, 0.0, t318 * t319 / 0.2e1 ); + const double t323 = t201 * t322; + const double t326 = sigma_bb * sigma_bb; + const double t327 = 0.1e1 / t18; + const double t328 = t326 * t327; + const double t329 = tau_b * tau_b; + const double t330 = 0.1e1 / t329; + const double t332 = rho_b <= dens_tol || t90; + const double t333 = 0.1e1 / t91; + const double t334 = piecewise_functor_3( t90, t206, t333 ); + const double t336 = t204 * t205 * t334; + const double t338 = 0.1e1 + 0.53425e-1 * t336; + const double t339 = safe_math::sqrt( t336 ); + const double t342 = pow_3_2( t336 ); + const double t344 = t334 * t334; const double t346 = t218 * t219 * t344; const double t348 = 0.379785e1 * t339 + 0.8969e0 * t336 + 0.204775e0 * t342 + 0.123235e0 * t346; const double t351 = 0.1e1 + 0.16081979498692535067e2 / t348; @@ -790,19 +3298,2253 @@ struct kernel_traits< BuiltinPKZB_C > : const double t423 = piecewise_functor_3( t90, zeta_tol, t24 ); const double t426 = piecewise_functor_3( t332, 0.0, t422 * t423 / 0.2e1 ); const double t427 = t330 * t426; - const double t429 = 0.2390625e-1 * t328 * t427; + const double t430 = t30 * t42; + const double t431 = t2 * rho_a; + const double t433 = 0.1e1 / t4 / t431; + const double t434 = sigma_aa * t433; + const double t437 = 0.1e1 / t80; + const double t438 = t8 * t437; + const double t439 = t10 - t438; + const double t440 = t439 / 0.2e1; + const double t441 = t15 * t440; + const double t444 = -t440; + const double t445 = t27 * t444; + const double t448 = -0.8e1 / 0.3e1 * t434 * t16 + 0.5e1 / 0.3e1 * t7 * t441 + 0.5e1 / 0.3e1 * t23 * t445; + const double t452 = 0.1e1 / t41 / t40; + const double t453 = t31 * t452; + const double t454 = tau_a * t6; + const double t459 = -0.5e1 / 0.3e1 * t454 * t16 + 0.5e1 / 0.3e1 * t34 * t441 + 0.5e1 / 0.3e1 * t38 * t445; + const double t462 = 0.165625e-1 * t430 * t448 - 0.165625e-1 * t453 * t459; + const double t463 = t462 * t195; + const double t464 = t52 * t9; + const double t465 = 0.1e1 / t464; + const double t466 = t51 * t465; + const double t469 = 0.11073470983333333333e-2 * t49 * t466 * t75; + const double t470 = t71 * t71; + const double t471 = 0.1e1 / t470; + const double t472 = t57 * t471; + const double t474 = 0.1e1 / t58 * t46; + const double t476 = t475 * t465; + const double t477 = t474 * t476; + const double t479 = t49 * t466; + const double t481 = safe_math::sqrt( t55 ); + const double t482 = t481 * t46; + const double t483 = t482 * t476; + const double t486 = 0.1e1 / t66 / t9; + const double t487 = t50 * t486; + const double t488 = t65 * t487; + const double t490 = -0.632975e0 * t477 - 0.29896666666666666667e0 * t479 - 0.1023875e0 * t483 - 0.82156666666666666667e-1 * t488; + const double t491 = 0.1e1 / t74; + const double t492 = t490 * t491; + const double t494 = 0.1e1 * t472 * t492; + const double t495 = t78 * t8; + const double t496 = t495 * t82; + const double t498 = 0.4e1 * t496 * t127; + const double t499 = t81 * t9; + const double t500 = 0.1e1 / t499; + const double t501 = t79 * t500; + const double t503 = 0.4e1 * t501 * t127; + const double t506 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.3e1 * t87 * t439 ); + const double t507 = -t439; + const double t510 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t507 ); + const double t512 = ( t506 + t510 ) * t98; + const double t513 = t512 * t126; + const double t514 = t83 * t513; + const double t518 = t106 * t106; + const double t519 = 0.1e1 / t518; + const double t520 = t101 * t519; + const double t525 = -0.1176575e1 * t477 - 0.516475e0 * t479 - 0.2103875e0 * t483 - 0.104195e0 * t488; + const double t526 = 0.1e1 / t109; + const double t527 = t525 * t526; + const double t533 = t119 * t119; + const double t534 = 0.1e1 / t533; + const double t535 = t114 * t534; + const double t540 = -0.86308333333333333334e0 * t477 - 0.301925e0 * t479 - 0.5501625e-1 * t483 - 0.82785e-1 * t488; + const double t541 = 0.1e1 / t122; + const double t542 = t540 * t541; + const double t545 = 0.53237641966666666666e-3 * t49 * t466 * t110 + 0.1e1 * t520 * t527 - t469 - t494 + 0.18311447306006545054e-3 * t49 * t466 * t123 + 0.5848223622634646207e0 * t535 * t542; + const double t546 = t99 * t545; + const double t547 = t83 * t546; + const double t549 = 0.19751673498613801407e-1 * t512 * t124; + const double t550 = t99 * t46; + const double t552 = t475 * t465 * t123; + const double t554 = 0.18311447306006545054e-3 * t550 * t552; + const double t555 = t99 * t114; + const double t557 = t534 * t540 * t541; + const double t559 = 0.5848223622634646207e0 * t555 * t557; + const double t560 = t143 * t192; + const double t563 = piecewise_functor_3( t84, 0.0, 0.2e1 / 0.3e1 * t207 * t439 ); + const double t566 = piecewise_functor_3( t90, 0.0, 0.2e1 / 0.3e1 * t333 * t507 ); + const double t568 = t563 / 0.2e1 + t566 / 0.2e1; + const double t572 = t80 * t9; + const double t574 = 0.1e1 / t52 / t572; + const double t575 = t146 * t574; + const double t578 = 0.7e1 / 0.288e3 * t575 * t95 * t155; + const double t579 = t95 * t161; + const double t580 = t149 * t579; + const double t582 = t50 * t568; + const double t583 = t581 * t582; + const double t586 = t165 * t165; + const double t587 = 0.1e1 / t586; + const double t588 = t158 * t587; + const double t589 = t171 * t173; + const double t590 = t588 * t589; + const double t591 = t175 * t46; + const double t592 = t591 * t177; + const double t594 = ( t469 + t494 + t498 - t503 + t514 + t547 + t549 - t554 - t559 ) * t158; + const double t596 = t133 * t175; + const double t597 = t596 * t568; + const double t600 = 0.3e1 * t160 * t597 - t162 * t594; + const double t601 = t51 * t600; + const double t603 = t592 * t601 * t164; + const double t607 = 0.1e1 / t66 / t499; + const double t608 = t168 * t607; + const double t611 = 0.10003937560882938627e-2 * t167 * t608 * t180; + const double t612 = t167 * t589; + const double t614 = 0.1e1 / t174 / t142; + const double t615 = t614 * t46; + const double t617 = t616 * t568; + const double t618 = t615 * t617; + const double t621 = -t578 - t580 * t583 / 0.48e2 - 0.21437009059034868486e-3 * t590 * t603 - t611 - 0.85748036236139473944e-3 * t612 * t618; + const double t622 = t621 * t158; + const double t625 = t187 * t187; + const double t626 = 0.1e1 / t625; + const double t633 = -0.65854491829355115987e0 * t588 * t183 * t600 * t164 + 0.65854491829355115987e0 * t167 * t621; + const double t634 = t626 * t633; + const double t637 = 0.65854491829355115987e0 * t622 * t188 - 0.65854491829355115987e0 * t184 * t634; + const double t639 = 0.1e1 / t191; + const double t642 = t135 * t144 * t637 * t639 + 0.3e1 * t135 * t560 * t568 + t469 + t494 + t498 - t503 + t514 + t547 + t549 - t554 - t559; + const double t643 = t45 * t642; + const double t644 = 0.1e1 / t431; + const double t645 = t197 * t644; + const double t646 = t645 * t323; + const double t647 = 0.478125e-1 * t646; + const double t648 = t465 * t95; + const double t650 = t204 * t648 * t208; + const double t651 = 0.17808333333333333333e-1 * t650; + const double t652 = 0.1e1 / t88; + const double t653 = t652 * t439; + const double t655 = piecewise_functor_3( t84, 0.0, -t653 / 0.3e1 ); + const double t657 = t204 * t205 * t655; + const double t659 = -t651 + 0.53425e-1 * t657; + const double t661 = 0.621814e-1 * t659 * t228; + const double t662 = t224 * t224; + const double t663 = 0.1e1 / t662; + const double t664 = t212 * t663; + const double t665 = 0.1e1 / t213; + const double t666 = t650 / 0.3e1; + const double t667 = -t666 + t657; + const double t668 = t665 * t667; + const double t670 = 0.29896666666666666667e0 * t650; + const double t672 = safe_math::sqrt( t210 ); + const double t673 = t672 * t667; + const double t675 = t486 * t173; + const double t677 = t218 * t675 * t220; + const double t678 = 0.82156666666666666667e-1 * t677; + const double t679 = t208 * t655; + const double t681 = t218 * t219 * t679; + const double t683 = 0.1898925e1 * t668 - t670 + 0.8969e0 * t657 + 0.3071625e0 * t673 - t678 + 0.24647e0 * t681; + const double t684 = 0.1e1 / t227; + const double t685 = t683 * t684; + const double t687 = 0.1e1 * t664 * t685; + const double t688 = 0.17123333333333333333e-1 * t650; + const double t690 = -t688 + 0.5137e-1 * t657; + const double t693 = t244 * t244; + const double t694 = 0.1e1 / t693; + const double t695 = t239 * t694; + const double t697 = 0.516475e0 * t650; + const double t700 = 0.104195e0 * t677; + const double t702 = 0.3529725e1 * t668 - t697 + 0.1549425e1 * t657 + 0.6311625e0 * t673 - t700 + 0.312585e0 * t681; + const double t703 = 0.1e1 / t247; + const double t704 = t702 * t703; + const double t707 = 0.92708333333333333333e-2 * t650; + const double t709 = -t707 + 0.278125e-1 * t657; + const double t710 = t709 * t261; + const double t712 = t257 * t257; + const double t713 = 0.1e1 / t712; + const double t714 = t252 * t713; + const double t716 = 0.301925e0 * t650; + const double t719 = 0.82785e-1 * t677; + const double t721 = 0.258925e1 * t668 - t716 + 0.905775e0 * t657 + 0.16504875e0 * t673 - t719 + 0.248355e0 * t681; + const double t722 = 0.1e1 / t260; + const double t723 = t721 * t722; + const double t727 = t237 * ( -0.310907e-1 * t690 * t248 + 0.1e1 * t695 * t704 + t661 - t687 - 0.19751673498613801407e-1 * t710 + 0.5848223622634646207e0 * t714 * t723 ); + const double t729 = 0.19751673498613801407e-1 * t237 * t710; + const double t730 = t237 * t252; + const double t732 = t713 * t721 * t722; + const double t734 = 0.5848223622634646207e0 * t730 * t732; + const double t735 = t434 * t275; + const double t739 = t154 * t67 * t277; + const double t741 = t276 * t739 / 0.288e3; + const double t742 = t52 * t301; + const double t744 = t154 * t742 * t655; + const double t747 = t132 * t132; + const double t748 = 0.1e1 / t747; + const double t749 = t288 * t288; + const double t750 = 0.1e1 / t749; + const double t751 = t748 * t750; + const double t752 = t751 * t197; + const double t754 = 0.1e1 / t296 / t273; + const double t755 = t294 * t754; + const double t756 = t755 * t46; + const double t757 = t752 * t756; + const double t758 = t616 * t66; + const double t759 = -t661 + t687 + t727 + t729 - t734; + const double t761 = t133 * t287; + const double t762 = t301 * t759 * t761; + const double t763 = t758 * t762; + const double t766 = t291 * t2; + const double t768 = 0.1e1 / t3 / t766; + const double t771 = t290 * t197 * t768 * t297; + const double t774 = t54 * t301; + const double t775 = t178 * t774; + const double t777 = 0.14291339372689912324e-3 * t299 * t775; + const double t778 = t220 * t208; + const double t779 = 0.1e1 / t778; + const double t780 = t66 * t779; + const double t782 = t179 * t780 * t655; + const double t785 = -t735 * t279 / 0.36e2 + t741 - t276 * t744 / 0.96e2 + 0.21437009059034868486e-3 * t757 * t763 - 0.11433071498151929859e-2 * t771 * t303 + t777 - 0.42874018118069736972e-3 * t299 * t782; + const double t786 = t785 * t158; + const double t789 = t310 * t310; + const double t790 = 0.1e1 / t789; + const double t791 = t751 * t306; + const double t792 = t759 * t133; + const double t793 = t284 * t287; + const double t794 = t792 * t793; + const double t799 = 0.65854491829355115987e0 * t791 * t794 + 0.65854491829355115987e0 * t290 * t785; + const double t800 = t790 * t799; + const double t803 = 0.65854491829355115987e0 * t786 * t311 - 0.65854491829355115987e0 * t307 * t800; + const double t805 = 0.1e1 / t314; + const double t808 = t135 * t273 * t803 * t805 - t661 + t687 + t727 + t729 - t734; + const double t810 = piecewise_functor_3( t84, 0.0, t439 ); + const double t814 = piecewise_functor_3( t203, 0.0, t318 * t810 / 0.2e1 + t808 * t319 / 0.2e1 ); + const double t815 = t201 * t814; + const double t816 = t199 * t815; + const double t817 = 0.2390625e-1 * t816; + const double t819 = t204 * t648 * t334; + const double t820 = 0.17808333333333333333e-1 * t819; + const double t821 = 0.1e1 / t92; + const double t822 = t821 * t507; + const double t824 = piecewise_functor_3( t90, 0.0, -t822 / 0.3e1 ); + const double t826 = t204 * t205 * t824; + const double t828 = -t820 + 0.53425e-1 * t826; + const double t830 = 0.621814e-1 * t828 * t352; + const double t831 = t348 * t348; + const double t832 = 0.1e1 / t831; + const double t833 = t338 * t832; + const double t834 = 0.1e1 / t339; + const double t835 = t819 / 0.3e1; + const double t836 = -t835 + t826; + const double t837 = t834 * t836; + const double t839 = 0.29896666666666666667e0 * t819; + const double t841 = safe_math::sqrt( t336 ); + const double t842 = t841 * t836; + const double t845 = t218 * t675 * t344; + const double t846 = 0.82156666666666666667e-1 * t845; + const double t847 = t334 * t824; + const double t849 = t218 * t219 * t847; + const double t851 = 0.1898925e1 * t837 - t839 + 0.8969e0 * t826 + 0.3071625e0 * t842 - t846 + 0.24647e0 * t849; + const double t852 = 0.1e1 / t351; + const double t853 = t851 * t852; + const double t855 = 0.1e1 * t833 * t853; + const double t856 = 0.17123333333333333333e-1 * t819; + const double t858 = -t856 + 0.5137e-1 * t826; + const double t861 = t361 * t361; + const double t862 = 0.1e1 / t861; + const double t863 = t356 * t862; + const double t865 = 0.516475e0 * t819; + const double t868 = 0.104195e0 * t845; + const double t870 = 0.3529725e1 * t837 - t865 + 0.1549425e1 * t826 + 0.6311625e0 * t842 - t868 + 0.312585e0 * t849; + const double t871 = 0.1e1 / t364; + const double t872 = t870 * t871; + const double t875 = 0.92708333333333333333e-2 * t819; + const double t877 = -t875 + 0.278125e-1 * t826; + const double t878 = t877 * t378; + const double t880 = t374 * t374; + const double t881 = 0.1e1 / t880; + const double t882 = t369 * t881; + const double t884 = 0.301925e0 * t819; + const double t887 = 0.82785e-1 * t845; + const double t889 = 0.258925e1 * t837 - t884 + 0.905775e0 * t826 + 0.16504875e0 * t842 - t887 + 0.248355e0 * t849; + const double t890 = 0.1e1 / t377; + const double t891 = t889 * t890; + const double t895 = t237 * ( -0.310907e-1 * t858 * t365 + 0.1e1 * t863 * t872 + t830 - t855 - 0.19751673498613801407e-1 * t878 + 0.5848223622634646207e0 * t882 * t891 ); + const double t897 = 0.19751673498613801407e-1 * t237 * t878; + const double t898 = t237 * t369; + const double t900 = t881 * t889 * t890; + const double t902 = 0.5848223622634646207e0 * t898 * t900; + const double t904 = t154 * t67 * t386; + const double t906 = t385 * t904 / 0.288e3; + const double t907 = t52 * t405; + const double t909 = t154 * t907 * t824; + const double t912 = t395 * t395; + const double t913 = 0.1e1 / t912; + const double t914 = t748 * t913; + const double t915 = t914 * t326; + const double t916 = t401 * t754; + const double t917 = t916 * t46; + const double t918 = t915 * t917; + const double t919 = -t830 + t855 + t895 + t897 - t902; + const double t921 = t133 * t394; + const double t922 = t405 * t919 * t921; + const double t923 = t758 * t922; + const double t926 = t54 * t405; + const double t927 = t178 * t926; + const double t929 = 0.14291339372689912324e-3 * t404 * t927; + const double t930 = t344 * t334; + const double t931 = 0.1e1 / t930; + const double t932 = t66 * t931; + const double t934 = t179 * t932 * t824; + const double t937 = t906 - t385 * t909 / 0.96e2 + 0.21437009059034868486e-3 * t918 * t923 + t929 - 0.42874018118069736972e-3 * t404 * t934; + const double t938 = t937 * t158; + const double t941 = t414 * t414; + const double t942 = 0.1e1 / t941; + const double t943 = t914 * t410; + const double t944 = t919 * t133; + const double t945 = t284 * t394; + const double t946 = t944 * t945; + const double t951 = 0.65854491829355115987e0 * t943 * t946 + 0.65854491829355115987e0 * t397 * t937; + const double t952 = t942 * t951; + const double t955 = 0.65854491829355115987e0 * t938 * t415 - 0.65854491829355115987e0 * t411 * t952; + const double t957 = 0.1e1 / t418; + const double t960 = t135 * t273 * t955 * t957 - t830 + t855 + t895 + t897 - t902; + const double t962 = piecewise_functor_3( t90, 0.0, t507 ); + const double t966 = piecewise_functor_3( t332, 0.0, t422 * t962 / 0.2e1 + t960 * t423 / 0.2e1 ); + const double t967 = t330 * t966; + const double t968 = t328 * t967; + const double t969 = 0.2390625e-1 * t968; + const double t972 = -t10 - t438; + const double t973 = t972 / 0.2e1; + const double t974 = t15 * t973; + const double t977 = t18 * rho_b; + const double t979 = 0.1e1 / t20 / t977; + const double t980 = sigma_bb * t979; + const double t983 = -t973; + const double t984 = t27 * t983; + const double t987 = 0.5e1 / 0.3e1 * t7 * t974 - 0.8e1 / 0.3e1 * t980 * t28 + 0.5e1 / 0.3e1 * t23 * t984; + const double t991 = tau_b * t22; + const double t995 = -0.5e1 / 0.3e1 * t991 * t28 + 0.5e1 / 0.3e1 * t34 * t974 + 0.5e1 / 0.3e1 * t38 * t984; + const double t998 = 0.165625e-1 * t430 * t987 - 0.165625e-1 * t453 * t995; + const double t999 = t998 * t195; + const double t1002 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.3e1 * t87 * t972 ); + const double t1003 = -t972; + const double t1006 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t1003 ); + const double t1008 = ( t1002 + t1006 ) * t98; + const double t1009 = t1008 * t126; + const double t1010 = t83 * t1009; + const double t1012 = 0.19751673498613801407e-1 * t1008 * t124; + const double t1015 = piecewise_functor_3( t84, 0.0, 0.2e1 / 0.3e1 * t207 * t972 ); + const double t1018 = piecewise_functor_3( t90, 0.0, 0.2e1 / 0.3e1 * t333 * t1003 ); + const double t1020 = t1015 / 0.2e1 + t1018 / 0.2e1; + const double t1024 = t50 * t1020; + const double t1025 = t581 * t1024; + const double t1029 = ( t469 + t494 - t498 - t503 + t1010 + t547 + t1012 - t554 - t559 ) * t158; + const double t1031 = t596 * t1020; + const double t1034 = -t1029 * t162 + 0.3e1 * t1031 * t160; + const double t1035 = t51 * t1034; + const double t1037 = t592 * t1035 * t164; + const double t1040 = t616 * t1020; + const double t1041 = t615 * t1040; + const double t1044 = -t578 - t580 * t1025 / 0.48e2 - 0.21437009059034868486e-3 * t590 * t1037 - t611 - 0.85748036236139473944e-3 * t612 * t1041; + const double t1045 = t1044 * t158; + const double t1054 = -0.65854491829355115987e0 * t588 * t183 * t1034 * t164 + 0.65854491829355115987e0 * t167 * t1044; + const double t1055 = t626 * t1054; + const double t1058 = 0.65854491829355115987e0 * t1045 * t188 - 0.65854491829355115987e0 * t184 * t1055; + const double t1062 = t1058 * t135 * t144 * t639 + 0.3e1 * t1020 * t135 * t560 + t1010 + t1012 + t469 + t494 - t498 - t503 + t547 - t554 - t559; + const double t1063 = t45 * t1062; + const double t1064 = t652 * t972; + const double t1066 = piecewise_functor_3( t84, 0.0, -t1064 / 0.3e1 ); + const double t1068 = t204 * t205 * t1066; + const double t1070 = -t651 + 0.53425e-1 * t1068; + const double t1072 = 0.621814e-1 * t1070 * t228; + const double t1073 = -t666 + t1068; + const double t1074 = t665 * t1073; + const double t1077 = t672 * t1073; + const double t1079 = t208 * t1066; + const double t1081 = t218 * t219 * t1079; + const double t1083 = 0.1898925e1 * t1074 - t670 + 0.8969e0 * t1068 + 0.3071625e0 * t1077 - t678 + 0.24647e0 * t1081; + const double t1084 = t1083 * t684; + const double t1086 = 0.1e1 * t664 * t1084; + const double t1088 = -t688 + 0.5137e-1 * t1068; + const double t1095 = 0.3529725e1 * t1074 - t697 + 0.1549425e1 * t1068 + 0.6311625e0 * t1077 - t700 + 0.312585e0 * t1081; + const double t1096 = t1095 * t703; + const double t1100 = -t707 + 0.278125e-1 * t1068; + const double t1101 = t1100 * t261; + const double t1107 = 0.258925e1 * t1074 - t716 + 0.905775e0 * t1068 + 0.16504875e0 * t1077 - t719 + 0.248355e0 * t1081; + const double t1108 = t1107 * t722; + const double t1112 = t237 * ( -0.310907e-1 * t1088 * t248 + 0.1e1 * t695 * t1096 + t1072 - t1086 - 0.19751673498613801407e-1 * t1101 + 0.5848223622634646207e0 * t714 * t1108 ); + const double t1114 = 0.19751673498613801407e-1 * t237 * t1101; + const double t1116 = t713 * t1107 * t722; + const double t1118 = 0.5848223622634646207e0 * t730 * t1116; + const double t1120 = t154 * t742 * t1066; + const double t1123 = -t1072 + t1086 + t1112 + t1114 - t1118; + const double t1124 = t301 * t1123; + const double t1125 = t1124 * t761; + const double t1126 = t758 * t1125; + const double t1130 = t179 * t780 * t1066; + const double t1133 = t741 - t276 * t1120 / 0.96e2 + 0.21437009059034868486e-3 * t757 * t1126 + t777 - 0.42874018118069736972e-3 * t299 * t1130; + const double t1134 = t1133 * t158; + const double t1137 = t1123 * t133; + const double t1138 = t1137 * t793; + const double t1143 = 0.65854491829355115987e0 * t791 * t1138 + 0.65854491829355115987e0 * t290 * t1133; + const double t1144 = t790 * t1143; + const double t1147 = 0.65854491829355115987e0 * t1134 * t311 - 0.65854491829355115987e0 * t307 * t1144; + const double t1151 = t1147 * t135 * t273 * t805 - t1072 + t1086 + t1112 + t1114 - t1118; + const double t1153 = piecewise_functor_3( t84, 0.0, t972 ); + const double t1157 = piecewise_functor_3( t203, 0.0, t1151 * t319 / 0.2e1 + t318 * t1153 / 0.2e1 ); + const double t1158 = t201 * t1157; + const double t1159 = t199 * t1158; + const double t1160 = 0.2390625e-1 * t1159; + const double t1161 = 0.1e1 / t977; + const double t1162 = t326 * t1161; + const double t1163 = t1162 * t427; + const double t1164 = 0.478125e-1 * t1163; + const double t1165 = t821 * t1003; + const double t1167 = piecewise_functor_3( t90, 0.0, -t1165 / 0.3e1 ); + const double t1169 = t204 * t205 * t1167; + const double t1171 = -t820 + 0.53425e-1 * t1169; + const double t1173 = 0.621814e-1 * t1171 * t352; + const double t1174 = -t835 + t1169; + const double t1175 = t834 * t1174; + const double t1178 = t841 * t1174; + const double t1180 = t334 * t1167; + const double t1182 = t218 * t219 * t1180; + const double t1184 = 0.1898925e1 * t1175 - t839 + 0.8969e0 * t1169 + 0.3071625e0 * t1178 - t846 + 0.24647e0 * t1182; + const double t1185 = t1184 * t852; + const double t1187 = 0.1e1 * t833 * t1185; + const double t1189 = -t856 + 0.5137e-1 * t1169; + const double t1196 = 0.3529725e1 * t1175 - t865 + 0.1549425e1 * t1169 + 0.6311625e0 * t1178 - t868 + 0.312585e0 * t1182; + const double t1197 = t1196 * t871; + const double t1201 = -t875 + 0.278125e-1 * t1169; + const double t1202 = t1201 * t378; + const double t1208 = 0.258925e1 * t1175 - t884 + 0.905775e0 * t1169 + 0.16504875e0 * t1178 - t887 + 0.248355e0 * t1182; + const double t1209 = t1208 * t890; + const double t1213 = t237 * ( -0.310907e-1 * t1189 * t365 + 0.1e1 * t863 * t1197 + t1173 - t1187 - 0.19751673498613801407e-1 * t1202 + 0.5848223622634646207e0 * t882 * t1209 ); + const double t1215 = 0.19751673498613801407e-1 * t237 * t1202; + const double t1217 = t881 * t1208 * t890; + const double t1219 = 0.5848223622634646207e0 * t898 * t1217; + const double t1220 = t980 * t275; + const double t1224 = t154 * t907 * t1167; + const double t1227 = -t1173 + t1187 + t1213 + t1215 - t1219; + const double t1228 = t405 * t1227; + const double t1229 = t1228 * t921; + const double t1230 = t758 * t1229; + const double t1233 = t398 * t18; + const double t1235 = 0.1e1 / t19 / t1233; + const double t1238 = t397 * t326 * t1235 * t297; + const double t1242 = t179 * t932 * t1167; + const double t1245 = -t1220 * t388 / 0.36e2 + t906 - t385 * t1224 / 0.96e2 + 0.21437009059034868486e-3 * t918 * t1230 - 0.11433071498151929859e-2 * t1238 * t407 + t929 - 0.42874018118069736972e-3 * t404 * t1242; + const double t1246 = t1245 * t158; + const double t1249 = t1227 * t133; + const double t1250 = t1249 * t945; + const double t1255 = 0.65854491829355115987e0 * t943 * t1250 + 0.65854491829355115987e0 * t397 * t1245; + const double t1256 = t942 * t1255; + const double t1259 = 0.65854491829355115987e0 * t1246 * t415 - 0.65854491829355115987e0 * t411 * t1256; + const double t1263 = t1259 * t135 * t273 * t957 - t1173 + t1187 + t1213 + t1215 - t1219; + const double t1265 = piecewise_functor_3( t90, 0.0, t1003 ); + const double t1269 = piecewise_functor_3( t332, 0.0, t1263 * t423 / 0.2e1 + t422 * t1265 / 0.2e1 ); + const double t1270 = t330 * t1269; + const double t1271 = t328 * t1270; + const double t1272 = 0.2390625e-1 * t1271; + const double t1275 = t6 * t16; + const double t1276 = t1275 * t195; + const double t1278 = 0.165625e-1 * t430 * t1276; + const double t1279 = t45 * t132; + const double t1280 = t1279 * t134; + const double t1281 = t148 * t95; + const double t1284 = t1281 * t151 * t1283; + const double t1286 = t146 * t170; + const double t1288 = t167 * t1286 * t180; + const double t1290 = t1284 / 0.96e2 + 0.42874018118069736972e-3 * t1288; + const double t1291 = t1290 * t158; + const double t1294 = t183 * t748; + const double t1295 = t626 * t166; + const double t1296 = t1295 * t1290; + const double t1299 = 0.65854491829355115987e0 * t1291 * t188 - 0.4336814094102599731e0 * t1294 * t1296; + const double t1300 = t144 * t1299; + const double t1301 = t1300 * t639; + const double t1302 = t1280 * t1301; + const double t1303 = sigma_aa * t198; + const double t1305 = 0.478125e-1 * t1303 * t323; + const double t1306 = t135 * t273; + const double t1307 = t6 * t274; + const double t1308 = t1307 * t63; + const double t1313 = t290 * sigma_aa * t294 * t297; + const double t1316 = t1308 * t279 / 0.96e2 + 0.42874018118069736972e-3 * t1313 * t303; + const double t1317 = t1316 * t158; + const double t1320 = t306 * t748; + const double t1321 = t790 * t289; + const double t1322 = t1321 * t1316; + const double t1325 = 0.65854491829355115987e0 * t1317 * t311 - 0.4336814094102599731e0 * t1320 * t1322; + const double t1326 = t1325 * t805; + const double t1330 = piecewise_functor_3( t203, 0.0, t1306 * t1326 * t319 / 0.2e1 ); + const double t1331 = t201 * t1330; + const double t1333 = 0.2390625e-1 * t199 * t1331; + const double t1335 = t9 * t45; + const double t1336 = t1335 * t132; + const double t1337 = t134 * t144; + const double t1340 = t1284 / 0.48e2 + 0.85748036236139473944e-3 * t1288; + const double t1341 = t1340 * t158; + const double t1344 = t1295 * t1340; + const double t1347 = 0.65854491829355115987e0 * t1341 * t188 - 0.4336814094102599731e0 * t1294 * t1344; + const double t1348 = t1347 * t639; + const double t1349 = t1337 * t1348; + const double t1350 = t22 * t28; + const double t1351 = t1350 * t195; + const double t1353 = 0.165625e-1 * t430 * t1351; + const double t1354 = sigma_bb * t327; + const double t1356 = 0.478125e-1 * t1354 * t427; + const double t1357 = t22 * t274; + const double t1358 = t1357 * t63; + const double t1363 = t397 * sigma_bb * t401 * t297; + const double t1366 = t1358 * t388 / 0.96e2 + 0.42874018118069736972e-3 * t1363 * t407; + const double t1367 = t1366 * t158; + const double t1370 = t410 * t748; + const double t1371 = t942 * t396; + const double t1372 = t1371 * t1366; + const double t1375 = 0.65854491829355115987e0 * t1367 * t415 - 0.4336814094102599731e0 * t1370 * t1372; + const double t1376 = t1375 * t957; + const double t1380 = piecewise_functor_3( t332, 0.0, t1306 * t1376 * t423 / 0.2e1 ); + const double t1381 = t330 * t1380; + const double t1383 = 0.2390625e-1 * t328 * t1381; + const double t1385 = t33 * t16; + const double t1386 = t1385 * t195; + const double t1388 = 0.165625e-1 * t453 * t1386; + const double t1390 = 0.1e1 / t200 / tau_a; + const double t1391 = t1390 * t322; + const double t1393 = 0.478125e-1 * t199 * t1391; + const double t1395 = t37 * t28; + const double t1396 = t1395 * t195; + const double t1398 = 0.165625e-1 * t453 * t1396; + const double t1400 = 0.1e1 / t329 / tau_b; + const double t1401 = t1400 * t426; + const double t1403 = 0.478125e-1 * t328 * t1401; + const double t1410 = t448 * t448; + const double t1413 = t30 * t452; + const double t1414 = t448 * t459; + const double t1418 = 0.1e1 / t4 / t291; + const double t1419 = sigma_aa * t1418; + const double t1424 = 0.1e1 / t14; + const double t1425 = t440 * t440; + const double t1426 = t1424 * t1425; + const double t1429 = 0.1e1 / t572; + const double t1430 = t8 * t1429; + const double t1431 = -t437 + t1430; + const double t1432 = t15 * t1431; + const double t1435 = 0.1e1 / t26; + const double t1436 = t444 * t444; + const double t1437 = t1435 * t1436; + const double t1440 = -t1431; + const double t1441 = t27 * t1440; + const double t1444 = 0.88e2 / 0.9e1 * t1419 * t16 - 0.8e2 / 0.9e1 * t434 * t441 + 0.1e2 / 0.9e1 * t7 * t1426 + 0.5e1 / 0.3e1 * t7 * t1432 + 0.1e2 / 0.9e1 * t23 * t1437 + 0.5e1 / 0.3e1 * t23 * t1441; + const double t1447 = t41 * t41; + const double t1448 = 0.1e1 / t1447; + const double t1449 = t31 * t1448; + const double t1450 = t459 * t459; + const double t1453 = tau_a * t433; + const double t1466 = 0.4e2 / 0.9e1 * t1453 * t16 - 0.5e2 / 0.9e1 * t454 * t441 + 0.1e2 / 0.9e1 * t34 * t1426 + 0.5e1 / 0.3e1 * t34 * t1432 + 0.1e2 / 0.9e1 * t38 * t1437 + 0.5e1 / 0.3e1 * t38 * t1441; + const double t1469 = 0.165625e-1 * t1410 * t42 - 0.6625e-1 * t1413 * t1414 + 0.165625e-1 * t430 * t1444 + 0.496875e-1 * t1449 * t1450 - 0.165625e-1 * t453 * t1466; + const double t1470 = t1469 * t195; + const double t1471 = t462 * t642; + const double t1472 = 0.2e1 * t1471; + const double t1474 = 0.8e1 * t501 * t546; + const double t1475 = t496 * t513; + const double t1476 = 0.8e1 * t1475; + const double t1478 = 0.8e1 * t496 * t546; + const double t1479 = t81 * t80; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t79 * t1480; + const double t1483 = 0.2e2 * t1481 * t127; + const double t1484 = t78 * t82; + const double t1486 = 0.12e2 * t1484 * t127; + const double t1487 = t495 * t500; + const double t1489 = 0.32e2 * t1487 * t127; + const double t1490 = t512 * t545; + const double t1491 = t83 * t1490; + const double t1492 = 0.2e1 * t1491; + const double t1493 = t501 * t513; + const double t1494 = 0.8e1 * t1493; + const double t1495 = t142 * t192; + const double t1496 = t568 * t568; + const double t1500 = t51 * t148; + const double t1503 = 0.14764627977777777777e-2 * t49 * t1500 * t75; + const double t1504 = t637 * t637; + const double t1506 = t191 * t191; + const double t1507 = 0.1e1 / t1506; + const double t1510 = t439 * t439; + const double t1513 = 0.2e1 * t1431; + const double t1517 = piecewise_functor_3( t84, 0.0, -0.2e1 / 0.9e1 * t652 * t1510 + 0.2e1 / 0.3e1 * t207 * t1513 ); + const double t1518 = t507 * t507; + const double t1521 = -t1513; + const double t1525 = piecewise_functor_3( t90, 0.0, -0.2e1 / 0.9e1 * t821 * t1518 + 0.2e1 / 0.3e1 * t333 * t1521 ); + const double t1527 = t1517 / 0.2e1 + t1525 / 0.2e1; + const double t1532 = 0.1e1 / t52 / t81; + const double t1533 = t146 * t1532; + const double t1536 = 0.35e2 / 0.432e3 * t1533 * t95 * t155; + const double t1537 = t575 * t579; + const double t1538 = t1537 * t583; + const double t1540 = t95 * t175; + const double t1541 = t149 * t1540; + const double t1542 = t50 * t1496; + const double t1543 = t581 * t1542; + const double t1547 = t581 * t50 * t1527; + const double t1551 = 0.1e1 / t586 / t165; + const double t1552 = t158 * t1551; + const double t1553 = t1552 * t589; + const double t1554 = t600 * t600; + const double t1555 = t51 * t1554; + const double t1556 = t164 * t164; + const double t1558 = t592 * t1555 * t1556; + const double t1561 = t608 * t173; + const double t1562 = t588 * t1561; + const double t1563 = t1562 * t603; + const double t1565 = t588 * t168; + const double t1566 = t170 * t173; + const double t1567 = t1566 * t614; + const double t1568 = t1565 * t1567; + const double t1569 = t600 * t164; + const double t1570 = t1569 * t568; + const double t1571 = t179 * t1570; + const double t1574 = t512 * t46; + const double t1575 = t1574 * t552; + const double t1576 = 0.36622894612013090108e-3 * t1575; + const double t1577 = t533 * t119; + const double t1578 = 0.1e1 / t1577; + const double t1579 = t540 * t540; + const double t1581 = t1578 * t1579 * t541; + const double t1583 = 0.11696447245269292414e1 * t555 * t1581; + const double t1587 = t465 * t519; + const double t1591 = t518 * t106; + const double t1592 = 0.1e1 / t1591; + const double t1593 = t101 * t1592; + const double t1594 = t525 * t525; + const double t1595 = t1594 * t526; + const double t1600 = 0.1e1 / t58 / t55 * t63; + const double t1603 = 0.1e1 / t66 / t80; + const double t1604 = t1601 * t1603; + const double t1605 = t1600 * t1604; + const double t1607 = t475 * t148; + const double t1608 = t474 * t1607; + const double t1610 = t49 * t1500; + const double t1612 = 0.1e1/safe_math::sqrt( t55 ); + const double t1613 = t1612 * t63; + const double t1614 = t1613 * t1604; + const double t1616 = t482 * t1607; + const double t1619 = t65 * t50 * t1603; + const double t1621 = -0.78438333333333333333e0 * t1605 + 0.15687666666666666667e1 * t1608 + 0.68863333333333333333e0 * t1610 + 0.14025833333333333333e0 * t1614 + 0.28051666666666666667e0 * t1616 + 0.17365833333333333333e0 * t1619; + const double t1622 = t1621 * t526; + const double t1625 = t518 * t518; + const double t1626 = 0.1e1 / t1625; + const double t1627 = t101 * t1626; + const double t1628 = t109 * t109; + const double t1629 = 0.1e1 / t1628; + const double t1630 = t1594 * t1629; + const double t1633 = t465 * t471; + const double t1636 = 0.35616666666666666666e-1 * t204 * t1633 * t492; + const double t1637 = t470 * t71; + const double t1638 = 0.1e1 / t1637; + const double t1639 = t57 * t1638; + const double t1640 = t490 * t490; + const double t1641 = t1640 * t491; + const double t1643 = 0.2e1 * t1639 * t1641; + const double t1650 = -0.42198333333333333333e0 * t1605 + 0.84396666666666666666e0 * t1608 + 0.39862222222222222223e0 * t1610 + 0.68258333333333333333e-1 * t1614 + 0.13651666666666666667e0 * t1616 + 0.13692777777777777778e0 * t1619; + const double t1651 = t1650 * t491; + const double t1653 = 0.1e1 * t472 * t1651; + const double t1654 = t470 * t470; + const double t1655 = 0.1e1 / t1654; + const double t1656 = t57 * t1655; + const double t1657 = t74 * t74; + const double t1658 = 0.1e1 / t1657; + const double t1659 = t1640 * t1658; + const double t1661 = 0.16081979498692535067e2 * t1656 * t1659; + const double t1665 = t465 * t534; + const double t1669 = t114 * t1578; + const double t1670 = t1579 * t541; + const double t1679 = -0.57538888888888888889e0 * t1605 + 0.11507777777777777778e1 * t1608 + 0.40256666666666666667e0 * t1610 + 0.366775e-1 * t1614 + 0.73355e-1 * t1616 + 0.137975e0 * t1619; + const double t1680 = t1679 * t541; + const double t1683 = t533 * t533; + const double t1684 = 0.1e1 / t1683; + const double t1685 = t114 * t1684; + const double t1686 = t122 * t122; + const double t1687 = 0.1e1 / t1686; + const double t1688 = t1579 * t1687; + const double t1691 = -0.70983522622222222221e-3 * t49 * t1500 * t110 - 0.34246666666666666666e-1 * t204 * t1587 * t527 - 0.2e1 * t1593 * t1595 + 0.1e1 * t520 * t1622 + 0.32163958997385070134e2 * t1627 * t1630 + t1503 + t1636 + t1643 - t1653 - t1661 - 0.24415263074675393405e-3 * t49 * t1500 * t123 - 0.10843581300301739842e-1 * t204 * t1665 * t542 - 0.11696447245269292414e1 * t1669 * t1670 + 0.5848223622634646207e0 * t535 * t1680 + 0.17315859105681463759e2 * t1685 * t1688; + const double t1692 = t99 * t1691; + const double t1693 = t83 * t1692; + const double t1694 = t1684 * t1579; + const double t1695 = t1694 * t1687; + const double t1697 = 0.17315859105681463759e2 * t555 * t1695; + const double t1699 = t534 * t1679 * t541; + const double t1701 = 0.5848223622634646207e0 * t555 * t1699; + const double t1702 = t512 * t114; + const double t1703 = t1702 * t557; + const double t1704 = 0.11696447245269292414e1 * t1703; + const double t1705 = 0.1e1 / t137; + const double t1711 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t1705 * t1510 + 0.4e1 / 0.3e1 * t87 * t1513 ); + const double t1712 = 0.1e1 / t139; + const double t1718 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t1712 * t1518 + 0.4e1 / 0.3e1 * t91 * t1521 ); + const double t1720 = ( t1711 + t1718 ) * t98; + const double t1721 = t1720 * t126; + const double t1722 = t83 * t1721; + const double t1723 = -t1576 + t1583 + t1693 - t1697 - t1701 - t1704 + t1722 + t1492 - t1494 - t1474 + t1476; + const double t1725 = t475 * t148 * t123; + const double t1727 = 0.24415263074675393405e-3 * t550 * t1725; + const double t1729 = 0.19751673498613801407e-1 * t1720 * t124; + const double t1730 = t99 * t49; + const double t1731 = t466 * t557; + const double t1733 = 0.10843581300301739842e-1 * t1730 * t1731; + const double t1734 = t1478 - t1643 + t1727 + t1729 + t1661 + t1653 - t1636 + t1483 + t1486 - t1489 - t1503 + t1733; + const double t1736 = ( t1723 + t1734 ) * t158; + const double t1740 = t133 * t614; + const double t1741 = t1740 * t1496; + const double t1744 = t596 * t1527; + const double t1747 = -0.12e2 * t160 * t1741 + 0.3e1 * t160 * t1744 - t162 * t1736 + 0.6e1 * t594 * t597; + const double t1750 = t592 * t51 * t1747 * t164; + const double t1754 = t592 * t1555 * t164; + const double t1758 = 0.1e1 / t66 / t1479; + const double t1759 = t168 * t1758; + const double t1762 = 0.56688979511669985553e-2 * t167 * t1759 * t180; + const double t1763 = t167 * t1561; + const double t1764 = t1763 * t618; + const double t1767 = 0.1e1 / t174 / t143; + const double t1768 = t1767 * t46; + const double t1769 = t616 * t1496; + const double t1770 = t1768 * t1769; + const double t1773 = t616 * t1527; + const double t1774 = t615 * t1773; + const double t1777 = t1536 + 0.7e1 / 0.72e2 * t1538 + t1541 * t1543 / 0.16e2 - t580 * t1547 / 0.48e2 + 0.42874018118069736972e-3 * t1553 * t1558 + 0.20007875121765877254e-2 * t1563 + 0.17149607247227894789e-2 * t1568 * t1571 - 0.21437009059034868486e-3 * t590 * t1750 - 0.21437009059034868486e-3 * t590 * t1754 + t1762 + 0.80031500487063509015e-2 * t1764 + 0.42874018118069736972e-2 * t612 * t1770 - 0.85748036236139473944e-3 * t612 * t1774; + const double t1778 = t1777 * t158; + const double t1784 = 0.1e1 / t625 / t187; + const double t1785 = t633 * t633; + const double t1786 = t1784 * t1785; + const double t1789 = t183 * t1554; + const double t1806 = 0.13170898365871023197e1 * t1552 * t1789 * t1556 - 0.13170898365871023197e1 * t588 * t621 * t600 * t164 - 0.65854491829355115987e0 * t588 * t183 * t1747 * t164 - 0.65854491829355115987e0 * t588 * t1789 * t164 + 0.65854491829355115987e0 * t167 * t1777; + const double t1807 = t626 * t1806; + const double t1810 = 0.65854491829355115987e0 * t1778 * t188 - 0.13170898365871023197e1 * t622 * t634 + 0.13170898365871023197e1 * t184 * t1786 - 0.65854491829355115987e0 * t184 * t1807; + const double t1814 = -t135 * t144 * t1504 * t1507 + t135 * t144 * t1810 * t639 + 0.6e1 * t135 * t1495 * t1496 + 0.3e1 * t135 * t1527 * t560 - t1474 + t1476 + t1478 + t1483 + t1486 - t1489 + t1492 - t1494 - t1503 + t1722; + const double t1815 = t135 * t143; + const double t1816 = t637 * t639; + const double t1820 = 0.6e1 * t1815 * t1816 * t568 - t1576 + t1583 - t1636 - t1643 + t1653 + t1661 + t1693 - t1697 - t1701 - t1704 + t1727 + t1729 + t1733; + const double t1821 = t1814 + t1820; + const double t1822 = t45 * t1821; + const double t1823 = 0.1e1 / t291; + const double t1824 = t197 * t1823; + const double t1825 = t1824 * t323; + const double t1826 = 0.1434375e0 * t1825; + const double t1827 = t645 * t815; + const double t1828 = 0.95625e-1 * t1827; + const double t1830 = t204 * t1281 * t208; + const double t1831 = 0.23744444444444444444e-1 * t1830; + const double t1833 = t204 * t648 * t655; + const double t1835 = t12 * t12; + const double t1837 = 0.1e1 / t87 / t1835; + const double t1838 = t1837 * t1510; + const double t1843 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t1838 - t652 * t1513 / 0.3e1 ); + const double t1845 = t204 * t205 * t1843; + const double t1847 = t1831 - 0.35616666666666666666e-1 * t1833 + 0.53425e-1 * t1845; + const double t1849 = 0.621814e-1 * t1847 * t228; + const double t1850 = t659 * t663; + const double t1852 = 0.2e1 * t1850 * t685; + const double t1853 = t662 * t224; + const double t1854 = 0.1e1 / t1853; + const double t1855 = t212 * t1854; + const double t1856 = t683 * t683; + const double t1857 = t1856 * t684; + const double t1859 = 0.2e1 * t1855 * t1857; + const double t1861 = 0.1e1 / t213 / t210; + const double t1862 = t667 * t667; + const double t1863 = t1861 * t1862; + const double t1865 = 0.4e1 / 0.9e1 * t1830; + const double t1867 = t1865 - 0.2e1 / 0.3e1 * t1833 + t1845; + const double t1868 = t665 * t1867; + const double t1870 = 0.39862222222222222223e0 * t1830; + const double t1873 = 0.1e1/safe_math::sqrt( t210 ); + const double t1874 = t1873 * t1862; + const double t1876 = t672 * t1867; + const double t1878 = t1603 * t173; + const double t1880 = t218 * t1878 * t220; + const double t1881 = 0.13692777777777777778e0 * t1880; + const double t1883 = t218 * t675 * t679; + const double t1885 = t655 * t655; + const double t1887 = t218 * t219 * t1885; + const double t1889 = t208 * t1843; + const double t1891 = t218 * t219 * t1889; + const double t1893 = -0.9494625e0 * t1863 + 0.1898925e1 * t1868 + t1870 - 0.59793333333333333334e0 * t1833 + 0.8969e0 * t1845 + 0.15358125e0 * t1874 + 0.3071625e0 * t1876 + t1881 - 0.32862666666666666666e0 * t1883 + 0.24647e0 * t1887 + 0.24647e0 * t1891; + const double t1894 = t1893 * t684; + const double t1896 = 0.1e1 * t664 * t1894; + const double t1897 = t662 * t662; + const double t1898 = 0.1e1 / t1897; + const double t1899 = t212 * t1898; + const double t1900 = t227 * t227; + const double t1901 = 0.1e1 / t1900; + const double t1902 = t1856 * t1901; + const double t1904 = 0.16081979498692535067e2 * t1899 * t1902; + const double t1905 = 0.22831111111111111111e-1 * t1830; + const double t1908 = t1905 - 0.34246666666666666666e-1 * t1833 + 0.5137e-1 * t1845; + const double t1911 = t690 * t694; + const double t1914 = t693 * t244; + const double t1915 = 0.1e1 / t1914; + const double t1916 = t239 * t1915; + const double t1917 = t702 * t702; + const double t1918 = t1917 * t703; + const double t1923 = 0.68863333333333333333e0 * t1830; + const double t1928 = 0.17365833333333333333e0 * t1880; + const double t1932 = -0.17648625e1 * t1863 + 0.3529725e1 * t1868 + t1923 - 0.103295e1 * t1833 + 0.1549425e1 * t1845 + 0.31558125e0 * t1874 + 0.6311625e0 * t1876 + t1928 - 0.41678e0 * t1883 + 0.312585e0 * t1887 + 0.312585e0 * t1891; + const double t1933 = t1932 * t703; + const double t1936 = t693 * t693; + const double t1937 = 0.1e1 / t1936; + const double t1938 = t239 * t1937; + const double t1939 = t247 * t247; + const double t1940 = 0.1e1 / t1939; + const double t1941 = t1917 * t1940; + const double t1944 = 0.12361111111111111111e-1 * t1830; + const double t1947 = t1944 - 0.18541666666666666667e-1 * t1833 + 0.278125e-1 * t1845; + const double t1948 = t1947 * t261; + const double t1950 = t709 * t713; + const double t1953 = t712 * t257; + const double t1954 = 0.1e1 / t1953; + const double t1955 = t252 * t1954; + const double t1956 = t721 * t721; + const double t1957 = t1956 * t722; + const double t1962 = 0.40256666666666666667e0 * t1830; + const double t1967 = 0.137975e0 * t1880; + const double t1971 = -0.1294625e1 * t1863 + 0.258925e1 * t1868 + t1962 - 0.60385e0 * t1833 + 0.905775e0 * t1845 + 0.82524375e-1 * t1874 + 0.16504875e0 * t1876 + t1967 - 0.33114e0 * t1883 + 0.248355e0 * t1887 + 0.248355e0 * t1891; + const double t1972 = t1971 * t722; + const double t1975 = t712 * t712; + const double t1976 = 0.1e1 / t1975; + const double t1977 = t252 * t1976; + const double t1978 = t260 * t260; + const double t1979 = 0.1e1 / t1978; + const double t1980 = t1956 * t1979; + const double t1983 = -0.310907e-1 * t1908 * t248 + 0.2e1 * t1911 * t704 - 0.2e1 * t1916 * t1918 + 0.1e1 * t695 * t1933 + 0.32163958997385070134e2 * t1938 * t1941 + t1849 - t1852 + t1859 - t1896 - t1904 - 0.19751673498613801407e-1 * t1948 + 0.11696447245269292414e1 * t1950 * t723 - 0.11696447245269292414e1 * t1955 * t1957 + 0.5848223622634646207e0 * t714 * t1972 + 0.17315859105681463759e2 * t1977 * t1980; + const double t1984 = t237 * t1983; + const double t1986 = 0.19751673498613801407e-1 * t237 * t1948; + const double t1987 = t237 * t709; + const double t1989 = 0.11696447245269292414e1 * t1987 * t732; + const double t1991 = t1954 * t1956 * t722; + const double t1993 = 0.11696447245269292414e1 * t730 * t1991; + const double t1995 = t713 * t1971 * t722; + const double t1997 = 0.5848223622634646207e0 * t730 * t1995; + const double t1998 = t1976 * t1956; + const double t1999 = t1998 * t1979; + const double t2001 = 0.17315859105681463759e2 * t730 * t1999; + const double t2002 = t220 * t220; + const double t2003 = 0.1e1 / t2002; + const double t2004 = t66 * t2003; + const double t2006 = t179 * t2004 * t1885; + const double t2009 = -t1849 + t1852 - t1859 + t1896 + t1904 + t1984 + t1986 - t1989 + t1993 - t1997 - t2001; + const double t2011 = t301 * t2009 * t761; + const double t2012 = t758 * t2011; + const double t2016 = 0.1e1 / t747 / t132; + const double t2018 = 0.1e1 / t749 / t288; + const double t2019 = t2016 * t2018; + const double t2020 = t2019 * t197; + const double t2021 = t296 * t296; + const double t2023 = 0.1e1 / t2021 / t272; + const double t2024 = t294 * t2023; + const double t2025 = t2024 * t46; + const double t2026 = t2020 * t2025; + const double t2027 = t759 * t759; + const double t2028 = t301 * t2027; + const double t2030 = t287 * t287; + const double t2031 = t2029 * t2030; + const double t2032 = t2028 * t2031; + const double t2033 = t758 * t2032; + const double t2036 = t2016 * t750; + const double t2037 = t2036 * t197; + const double t2038 = t2037 * t2025; + const double t2039 = t2029 * t287; + const double t2040 = t2028 * t2039; + const double t2041 = t758 * t2040; + const double t2044 = t466 * t301; + const double t2045 = t178 * t2044; + const double t2047 = 0.47637797908966374413e-4 * t299 * t2045; + const double t2048 = t53 * t779; + const double t2050 = t179 * t2048 * t655; + const double t2051 = t299 * t2050; + const double t2054 = t179 * t780 * t1843; + const double t2057 = t291 * t431; + const double t2059 = 0.1e1 / t3 / t2057; + const double t2062 = t290 * t197 * t2059 * t297; + const double t2065 = t771 * t775; + const double t2069 = t735 * t739; + const double t2074 = t154 * t486 * t277; + const double t2076 = t276 * t2074 / 0.432e3; + const double t2077 = t67 * t301; + const double t2079 = t154 * t2077 * t655; + const double t2080 = t276 * t2079; + const double t2083 = t154 * t742 * t1843; + const double t2086 = t1419 * t275; + const double t2089 = t52 * t779; + const double t2091 = t154 * t2089 * t1885; + const double t2094 = t768 * t754; + const double t2095 = t2094 * t46; + const double t2096 = t752 * t2095; + const double t2099 = t616 * t53; + const double t2100 = t2099 * t762; + const double t2101 = t757 * t2100; + const double t2103 = t755 * t178; + const double t2104 = t752 * t2103; + const double t2105 = t300 * t779; + const double t2106 = t287 * t655; + const double t2107 = t792 * t2106; + const double t2108 = t2105 * t2107; + const double t2111 = 0.12862205435420921092e-2 * t299 * t2006 + 0.21437009059034868486e-3 * t757 * t2012 + 0.42874018118069736972e-3 * t2026 * t2033 - 0.21437009059034868486e-3 * t2038 * t2041 - t2047 - 0.57165357490759649296e-3 * t2051 - 0.42874018118069736972e-3 * t299 * t2054 + 0.72409452821628889107e-2 * t2062 * t303 - 0.15244095330869239812e-2 * t2065 + 0.45732285992607719436e-2 * t771 * t782 - t2069 / 0.54e2 + t735 * t744 / 0.18e2 - t2076 - t2080 / 0.144e3 - t276 * t2083 / 0.96e2 + 0.11e2 / 0.108e3 * t2086 * t279 + t276 * t2091 / 0.48e2 - 0.22866142996303859718e-2 * t2096 * t763 + 0.28582678745379824648e-3 * t2101 - 0.85748036236139473944e-3 * t2104 * t2108; + const double t2112 = t2111 * t158; + const double t2118 = 0.1e1 / t789 / t310; + const double t2119 = t799 * t799; + const double t2120 = t2118 * t2119; + const double t2123 = t2019 * t306; + const double t2124 = t2027 * t2029; + const double t2126 = 0.1e1 / t296 / t272; + const double t2127 = t2126 * t2030; + const double t2128 = t2124 * t2127; + const double t2131 = t751 * t785; + const double t2134 = t2009 * t133; + const double t2135 = t2134 * t793; + const double t2138 = t2036 * t306; + const double t2139 = t2126 * t287; + const double t2140 = t2124 * t2139; + const double t2145 = 0.13170898365871023197e1 * t2123 * t2128 + 0.13170898365871023197e1 * t2131 * t794 + 0.65854491829355115987e0 * t791 * t2135 - 0.65854491829355115987e0 * t2138 * t2140 + 0.65854491829355115987e0 * t290 * t2111; + const double t2146 = t790 * t2145; + const double t2149 = 0.65854491829355115987e0 * t2112 * t311 - 0.13170898365871023197e1 * t786 * t800 + 0.13170898365871023197e1 * t307 * t2120 - 0.65854491829355115987e0 * t307 * t2146; + const double t2153 = t803 * t803; + const double t2155 = t314 * t314; + const double t2156 = 0.1e1 / t2155; + const double t2159 = t135 * t2149 * t273 * t805 - t135 * t2153 * t2156 * t273 - t1849 + t1852 - t1859 + t1896 + t1904 + t1984 + t1986 - t1989 + t1993 - t1997 - t2001; + const double t2163 = piecewise_functor_3( t84, 0.0, t1513 ); + const double t2167 = piecewise_functor_3( t203, 0.0, t2159 * t319 / 0.2e1 + t808 * t810 + t318 * t2163 / 0.2e1 ); + const double t2168 = t201 * t2167; + const double t2169 = t199 * t2168; + const double t2170 = 0.2390625e-1 * t2169; + const double t2172 = t204 * t1281 * t334; + const double t2173 = 0.23744444444444444444e-1 * t2172; + const double t2175 = t204 * t648 * t824; + const double t2177 = t24 * t24; + const double t2179 = 0.1e1 / t91 / t2177; + const double t2180 = t2179 * t1518; + const double t2185 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t2180 - t821 * t1521 / 0.3e1 ); + const double t2187 = t204 * t205 * t2185; + const double t2189 = t2173 - 0.35616666666666666666e-1 * t2175 + 0.53425e-1 * t2187; + const double t2191 = 0.621814e-1 * t2189 * t352; + const double t2192 = t828 * t832; + const double t2194 = 0.2e1 * t2192 * t853; + const double t2195 = t831 * t348; + const double t2196 = 0.1e1 / t2195; + const double t2197 = t338 * t2196; + const double t2198 = t851 * t851; + const double t2199 = t2198 * t852; + const double t2201 = 0.2e1 * t2197 * t2199; + const double t2203 = 0.1e1 / t339 / t336; + const double t2204 = t836 * t836; + const double t2205 = t2203 * t2204; + const double t2207 = 0.4e1 / 0.9e1 * t2172; + const double t2209 = t2207 - 0.2e1 / 0.3e1 * t2175 + t2187; + const double t2210 = t834 * t2209; + const double t2212 = 0.39862222222222222223e0 * t2172; + const double t2215 = 0.1e1/safe_math::sqrt( t336 ); + const double t2216 = t2215 * t2204; + const double t2218 = t841 * t2209; + const double t2221 = t218 * t1878 * t344; + const double t2222 = 0.13692777777777777778e0 * t2221; + const double t2224 = t218 * t675 * t847; + const double t2226 = t824 * t824; + const double t2228 = t218 * t219 * t2226; + const double t2230 = t334 * t2185; + const double t2232 = t218 * t219 * t2230; + const double t2234 = -0.9494625e0 * t2205 + 0.1898925e1 * t2210 + t2212 - 0.59793333333333333334e0 * t2175 + 0.8969e0 * t2187 + 0.15358125e0 * t2216 + 0.3071625e0 * t2218 + t2222 - 0.32862666666666666666e0 * t2224 + 0.24647e0 * t2228 + 0.24647e0 * t2232; + const double t2235 = t2234 * t852; + const double t2237 = 0.1e1 * t833 * t2235; + const double t2238 = t831 * t831; + const double t2239 = 0.1e1 / t2238; + const double t2240 = t338 * t2239; + const double t2241 = t351 * t351; + const double t2242 = 0.1e1 / t2241; + const double t2243 = t2198 * t2242; + const double t2245 = 0.16081979498692535067e2 * t2240 * t2243; + const double t2246 = 0.22831111111111111111e-1 * t2172; + const double t2249 = t2246 - 0.34246666666666666666e-1 * t2175 + 0.5137e-1 * t2187; + const double t2252 = t858 * t862; + const double t2255 = t861 * t361; + const double t2256 = 0.1e1 / t2255; + const double t2257 = t356 * t2256; + const double t2258 = t870 * t870; + const double t2259 = t2258 * t871; + const double t2264 = 0.68863333333333333333e0 * t2172; + const double t2269 = 0.17365833333333333333e0 * t2221; + const double t2273 = -0.17648625e1 * t2205 + 0.3529725e1 * t2210 + t2264 - 0.103295e1 * t2175 + 0.1549425e1 * t2187 + 0.31558125e0 * t2216 + 0.6311625e0 * t2218 + t2269 - 0.41678e0 * t2224 + 0.312585e0 * t2228 + 0.312585e0 * t2232; + const double t2274 = t2273 * t871; + const double t2277 = t861 * t861; + const double t2278 = 0.1e1 / t2277; + const double t2279 = t356 * t2278; + const double t2280 = t364 * t364; + const double t2281 = 0.1e1 / t2280; + const double t2282 = t2258 * t2281; + const double t2285 = 0.12361111111111111111e-1 * t2172; + const double t2288 = t2285 - 0.18541666666666666667e-1 * t2175 + 0.278125e-1 * t2187; + const double t2289 = t2288 * t378; + const double t2291 = t877 * t881; + const double t2294 = t880 * t374; + const double t2295 = 0.1e1 / t2294; + const double t2296 = t369 * t2295; + const double t2297 = t889 * t889; + const double t2298 = t2297 * t890; + const double t2303 = 0.40256666666666666667e0 * t2172; + const double t2308 = 0.137975e0 * t2221; + const double t2312 = -0.1294625e1 * t2205 + 0.258925e1 * t2210 + t2303 - 0.60385e0 * t2175 + 0.905775e0 * t2187 + 0.82524375e-1 * t2216 + 0.16504875e0 * t2218 + t2308 - 0.33114e0 * t2224 + 0.248355e0 * t2228 + 0.248355e0 * t2232; + const double t2313 = t2312 * t890; + const double t2316 = t880 * t880; + const double t2317 = 0.1e1 / t2316; + const double t2318 = t369 * t2317; + const double t2319 = t377 * t377; + const double t2320 = 0.1e1 / t2319; + const double t2321 = t2297 * t2320; + const double t2324 = -0.310907e-1 * t2249 * t365 + 0.2e1 * t2252 * t872 - 0.2e1 * t2257 * t2259 + 0.1e1 * t863 * t2274 + 0.32163958997385070134e2 * t2279 * t2282 + t2191 - t2194 + t2201 - t2237 - t2245 - 0.19751673498613801407e-1 * t2289 + 0.11696447245269292414e1 * t2291 * t891 - 0.11696447245269292414e1 * t2296 * t2298 + 0.5848223622634646207e0 * t882 * t2313 + 0.17315859105681463759e2 * t2318 * t2321; + const double t2325 = t237 * t2324; + const double t2327 = 0.19751673498613801407e-1 * t237 * t2289; + const double t2328 = t237 * t877; + const double t2330 = 0.11696447245269292414e1 * t2328 * t900; + const double t2332 = t2295 * t2297 * t890; + const double t2334 = 0.11696447245269292414e1 * t898 * t2332; + const double t2336 = t881 * t2312 * t890; + const double t2338 = 0.5848223622634646207e0 * t898 * t2336; + const double t2339 = t2317 * t2297; + const double t2340 = t2339 * t2320; + const double t2342 = 0.17315859105681463759e2 * t898 * t2340; + const double t2344 = t154 * t486 * t386; + const double t2346 = t385 * t2344 / 0.432e3; + const double t2347 = t67 * t405; + const double t2349 = t154 * t2347 * t824; + const double t2350 = t385 * t2349; + const double t2352 = t52 * t931; + const double t2354 = t154 * t2352 * t2226; + const double t2358 = t154 * t907 * t2185; + const double t2362 = 0.1e1 / t912 / t395; + const double t2363 = t2016 * t2362; + const double t2364 = t2363 * t326; + const double t2365 = t401 * t2023; + const double t2366 = t2365 * t46; + const double t2367 = t2364 * t2366; + const double t2368 = t919 * t919; + const double t2369 = t405 * t2368; + const double t2370 = t394 * t394; + const double t2371 = t2029 * t2370; + const double t2372 = t2369 * t2371; + const double t2373 = t758 * t2372; + const double t2376 = t2099 * t922; + const double t2377 = t918 * t2376; + const double t2379 = t916 * t178; + const double t2380 = t915 * t2379; + const double t2381 = t300 * t931; + const double t2382 = t394 * t824; + const double t2383 = t944 * t2382; + const double t2384 = t2381 * t2383; + const double t2387 = -t2191 + t2194 - t2201 + t2237 + t2245 + t2325 + t2327 - t2330 + t2334 - t2338 - t2342; + const double t2389 = t405 * t2387 * t921; + const double t2390 = t758 * t2389; + const double t2393 = t2016 * t913; + const double t2394 = t2393 * t326; + const double t2395 = t2394 * t2366; + const double t2396 = t2029 * t394; + const double t2397 = t2369 * t2396; + const double t2398 = t758 * t2397; + const double t2401 = t466 * t405; + const double t2402 = t178 * t2401; + const double t2404 = 0.47637797908966374413e-4 * t404 * t2402; + const double t2405 = t53 * t931; + const double t2407 = t179 * t2405 * t824; + const double t2408 = t404 * t2407; + const double t2410 = t344 * t344; + const double t2411 = 0.1e1 / t2410; + const double t2412 = t66 * t2411; + const double t2414 = t179 * t2412 * t2226; + const double t2418 = t179 * t932 * t2185; + const double t2421 = -t2346 - t2350 / 0.144e3 + t385 * t2354 / 0.48e2 - t385 * t2358 / 0.96e2 + 0.42874018118069736972e-3 * t2367 * t2373 + 0.28582678745379824648e-3 * t2377 - 0.85748036236139473944e-3 * t2380 * t2384 + 0.21437009059034868486e-3 * t918 * t2390 - 0.21437009059034868486e-3 * t2395 * t2398 - t2404 - 0.57165357490759649296e-3 * t2408 + 0.12862205435420921092e-2 * t404 * t2414 - 0.42874018118069736972e-3 * t404 * t2418; + const double t2422 = t2421 * t158; + const double t2428 = 0.1e1 / t941 / t414; + const double t2429 = t951 * t951; + const double t2430 = t2428 * t2429; + const double t2433 = t2363 * t410; + const double t2434 = t2368 * t2029; + const double t2435 = t2126 * t2370; + const double t2436 = t2434 * t2435; + const double t2439 = t914 * t937; + const double t2442 = t2387 * t133; + const double t2443 = t2442 * t945; + const double t2446 = t2393 * t410; + const double t2447 = t2126 * t394; + const double t2448 = t2434 * t2447; + const double t2453 = 0.13170898365871023197e1 * t2433 * t2436 + 0.13170898365871023197e1 * t2439 * t946 + 0.65854491829355115987e0 * t943 * t2443 - 0.65854491829355115987e0 * t2446 * t2448 + 0.65854491829355115987e0 * t397 * t2421; + const double t2454 = t942 * t2453; + const double t2457 = 0.65854491829355115987e0 * t2422 * t415 - 0.13170898365871023197e1 * t938 * t952 + 0.13170898365871023197e1 * t411 * t2430 - 0.65854491829355115987e0 * t411 * t2454; + const double t2461 = t955 * t955; + const double t2463 = t418 * t418; + const double t2464 = 0.1e1 / t2463; + const double t2467 = t135 * t2457 * t273 * t957 - t135 * t2461 * t2464 * t273 - t2191 + t2194 - t2201 + t2237 + t2245 + t2325 + t2327 - t2330 + t2334 - t2338 - t2342; + const double t2471 = piecewise_functor_3( t90, 0.0, t1521 ); + const double t2475 = piecewise_functor_3( t332, 0.0, t2467 * t423 / 0.2e1 + t960 * t962 + t422 * t2471 / 0.2e1 ); + const double t2476 = t330 * t2475; + const double t2477 = t328 * t2476; + const double t2478 = 0.2390625e-1 * t2477; + const double t2481 = t448 * t42; + const double t2484 = t987 * t459; + const double t2489 = t1424 * t973; + const double t2490 = t2489 * t440; + const double t2493 = t15 * t8; + const double t2494 = t2493 * t1429; + const double t2499 = t1435 * t983; + const double t2500 = t2499 * t444; + const double t2503 = t27 * t8; + const double t2504 = t2503 * t1429; + const double t2507 = -0.4e2 / 0.9e1 * t434 * t974 + 0.1e2 / 0.9e1 * t7 * t2490 + 0.5e1 / 0.3e1 * t7 * t2494 - 0.4e2 / 0.9e1 * t980 * t445 + 0.1e2 / 0.9e1 * t23 * t2500 - 0.5e1 / 0.3e1 * t23 * t2504; + const double t2510 = t995 * t448; + const double t2513 = t995 * t459; + const double t2528 = -0.25e2 / 0.9e1 * t454 * t974 + 0.1e2 / 0.9e1 * t34 * t2490 + 0.5e1 / 0.3e1 * t34 * t2494 - 0.25e2 / 0.9e1 * t991 * t445 + 0.1e2 / 0.9e1 * t38 * t2500 - 0.5e1 / 0.3e1 * t38 * t2504; + const double t2531 = 0.165625e-1 * t2481 * t987 - 0.33125e-1 * t1413 * t2484 + 0.165625e-1 * t430 * t2507 - 0.33125e-1 * t1413 * t2510 + 0.496875e-1 * t1449 * t2513 - 0.165625e-1 * t453 * t2528; + const double t2532 = t2531 * t195; + const double t2533 = t998 * t642; + const double t2534 = t462 * t1062; + const double t2535 = 0.4e1 * t1475; + const double t2536 = 0.4e1 * t1493; + const double t2539 = t207 * t8; + const double t2543 = piecewise_functor_3( t84, 0.0, -0.2e1 / 0.9e1 * t1064 * t439 + 0.4e1 / 0.3e1 * t2539 * t1429 ); + const double t2546 = t333 * t8; + const double t2550 = piecewise_functor_3( t90, 0.0, -0.2e1 / 0.9e1 * t1165 * t507 - 0.4e1 / 0.3e1 * t2546 * t1429 ); + const double t2552 = t2543 / 0.2e1 + t2550 / 0.2e1; + const double t2557 = t1537 * t1025; + const double t2560 = t581 * t1024 * t568; + const double t2563 = t50 * t2552; + const double t2564 = t581 * t2563; + const double t2567 = t1552 * t168; + const double t2568 = t1566 * t175; + const double t2569 = t2567 * t2568; + const double t2570 = t1034 * t1556; + const double t2571 = t2570 * t600; + const double t2572 = t179 * t2571; + const double t2575 = t1562 * t1037; + const double t2577 = t1034 * t164; + const double t2578 = t2577 * t568; + const double t2579 = t179 * t2578; + const double t2582 = t1008 * t46; + const double t2583 = t2582 * t552; + const double t2584 = 0.18311447306006545054e-3 * t2583; + const double t2585 = t496 * t1009; + const double t2586 = 0.4e1 * t2585; + const double t2587 = t501 * t1009; + const double t2588 = 0.4e1 * t2587; + const double t2589 = 0.18311447306006545054e-3 * t1575; + const double t2590 = -t1474 - t2535 + t1483 - t1486 + t1491 - t2536 - t1503 - t2584 + t2586 - t2588 - t2589 - t1636 + t1727; + const double t2591 = t1705 * t972; + const double t2594 = t87 * t8; + const double t2598 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t2591 * t439 + 0.8e1 / 0.3e1 * t2594 * t1429 ); + const double t2599 = t1712 * t1003; + const double t2602 = t91 * t8; + const double t2606 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t2599 * t507 - 0.8e1 / 0.3e1 * t2602 * t1429 ); + const double t2608 = ( t2598 + t2606 ) * t98; + const double t2609 = t2608 * t126; + const double t2610 = t83 * t2609; + const double t2611 = t1008 * t545; + const double t2612 = t83 * t2611; + const double t2613 = t1008 * t114; + const double t2614 = t2613 * t557; + const double t2615 = 0.5848223622634646207e0 * t2614; + const double t2616 = 0.5848223622634646207e0 * t1703; + const double t2618 = 0.19751673498613801407e-1 * t2608 * t124; + const double t2619 = t2610 + t2612 - t2615 - t1701 - t2616 - t1697 + t1583 + t2618 + t1693 + t1733 + t1653 + t1661 - t1643; + const double t2621 = ( t2590 + t2619 ) * t158; + const double t2627 = t160 * t133; + const double t2628 = t614 * t1020; + const double t2629 = t2628 * t568; + const double t2632 = t596 * t2552; + const double t2635 = 0.3e1 * t1029 * t597 + 0.3e1 * t1031 * t594 + 0.3e1 * t160 * t2632 - t162 * t2621 - 0.12e2 * t2627 * t2629; + const double t2638 = t592 * t51 * t2635 * t164; + const double t2641 = t1565 * t2568; + const double t2642 = t1034 * t600; + const double t2643 = t2642 * t164; + const double t2644 = t179 * t2643; + const double t2649 = t1020 * t600; + const double t2650 = t2649 * t164; + const double t2651 = t179 * t2650; + const double t2654 = t1763 * t1041; + const double t2656 = t1768 * t177; + const double t2657 = t51 * t1020; + const double t2659 = t2656 * t2657 * t568; + const double t2662 = t616 * t2552; + const double t2663 = t615 * t2662; + const double t2666 = t1536 + 0.7e1 / 0.144e3 * t1538 + 0.7e1 / 0.144e3 * t2557 + t1541 * t2560 / 0.16e2 - t580 * t2564 / 0.48e2 + 0.42874018118069736972e-3 * t2569 * t2572 + 0.10003937560882938627e-2 * t2575 + 0.85748036236139473944e-3 * t1568 * t2579 - 0.21437009059034868486e-3 * t590 * t2638 - 0.21437009059034868486e-3 * t2641 * t2644 + 0.10003937560882938627e-2 * t1563 + t1762 + 0.40015750243531754508e-2 * t1764 + 0.85748036236139473944e-3 * t1568 * t2651 + 0.40015750243531754507e-2 * t2654 + 0.42874018118069736972e-2 * t612 * t2659 - 0.85748036236139473944e-3 * t612 * t2663; + const double t2667 = t2666 * t158; + const double t2674 = t1784 * t1054; + const double t2675 = t2674 * t633; + const double t2678 = t1552 * t183; + const double t2689 = t588 * t183; + const double t2698 = 0.13170898365871023197e1 * t2678 * t2571 - 0.65854491829355115987e0 * t588 * t621 * t1034 * t164 - 0.65854491829355115987e0 * t588 * t183 * t2635 * t164 - 0.65854491829355115987e0 * t2689 * t2643 - 0.65854491829355115987e0 * t588 * t1044 * t600 * t164 + 0.65854491829355115987e0 * t167 * t2666; + const double t2699 = t626 * t2698; + const double t2702 = 0.65854491829355115987e0 * t2667 * t188 - 0.65854491829355115987e0 * t1045 * t634 - 0.65854491829355115987e0 * t622 * t1055 + 0.13170898365871023197e1 * t184 * t2675 - 0.65854491829355115987e0 * t184 * t2699; + const double t2706 = t1816 * t1020; + const double t2709 = t135 * t144 * t2702 * t639 + 0.3e1 * t135 * t2552 * t560 + 0.3e1 * t1815 * t2706 - t1474 + t1483 - t1486 + t1491 - t1503 - t1636 + t1727 - t2535 - t2536 - t2584 + t2586 - t2588 - t2589; + const double t2710 = t135 * t144; + const double t2711 = t1058 * t1507; + const double t2714 = t1058 * t639; + const double t2718 = t135 * t142; + const double t2719 = t192 * t1020; + const double t2723 = 0.3e1 * t1815 * t2714 * t568 - t2710 * t2711 * t637 + 0.6e1 * t2718 * t2719 * t568 + t1583 - t1643 + t1653 + t1661 + t1693 - t1697 - t1701 + t1733 + t2610 + t2612 - t2615 - t2616 + t2618; + const double t2724 = t2709 + t2723; + const double t2725 = t45 * t2724; + const double t2726 = t645 * t1158; + const double t2730 = t204 * t648 * t1066; + const double t2732 = t1837 * t972; + const double t2735 = t652 * t8; + const double t2739 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t2732 * t439 - 0.2e1 / 0.3e1 * t2735 * t1429 ); + const double t2741 = t204 * t205 * t2739; + const double t2743 = t1831 - 0.17808333333333333333e-1 * t1833 - 0.17808333333333333333e-1 * t2730 + 0.53425e-1 * t2741; + const double t2745 = 0.621814e-1 * t2743 * t228; + const double t2746 = t1070 * t663; + const double t2748 = 0.1e1 * t2746 * t685; + const double t2750 = 0.1e1 * t1850 * t1084; + const double t2751 = t1084 * t683; + const double t2753 = 0.2e1 * t1855 * t2751; + const double t2754 = t1861 * t1073; + const double t2755 = t2754 * t667; + const double t2759 = t1865 - t1833 / 0.3e1 - t2730 / 0.3e1 + t2741; + const double t2760 = t665 * t2759; + const double t2765 = t1873 * t1073; + const double t2766 = t2765 * t667; + const double t2768 = t672 * t2759; + const double t2772 = t218 * t675 * t1079; + const double t2774 = t655 * t1066; + const double t2776 = t218 * t219 * t2774; + const double t2778 = t208 * t2739; + const double t2780 = t218 * t219 * t2778; + const double t2782 = -0.9494625e0 * t2755 + 0.1898925e1 * t2760 + t1870 - 0.29896666666666666667e0 * t1833 - 0.29896666666666666667e0 * t2730 + 0.8969e0 * t2741 + 0.15358125e0 * t2766 + 0.3071625e0 * t2768 + t1881 - 0.16431333333333333333e0 * t1883 - 0.16431333333333333333e0 * t2772 + 0.24647e0 * t2776 + 0.24647e0 * t2780; + const double t2783 = t2782 * t684; + const double t2785 = 0.1e1 * t664 * t2783; + const double t2786 = t1083 * t1901; + const double t2787 = t2786 * t683; + const double t2789 = 0.16081979498692535067e2 * t1899 * t2787; + const double t2793 = t1905 - 0.17123333333333333333e-1 * t1833 - 0.17123333333333333333e-1 * t2730 + 0.5137e-1 * t2741; + const double t2796 = t1088 * t694; + const double t2801 = t1096 * t702; + const double t2815 = -0.17648625e1 * t2755 + 0.3529725e1 * t2760 + t1923 - 0.516475e0 * t1833 - 0.516475e0 * t2730 + 0.1549425e1 * t2741 + 0.31558125e0 * t2766 + 0.6311625e0 * t2768 + t1928 - 0.20839e0 * t1883 - 0.20839e0 * t2772 + 0.312585e0 * t2776 + 0.312585e0 * t2780; + const double t2816 = t2815 * t703; + const double t2819 = t1095 * t1940; + const double t2820 = t2819 * t702; + const double t2826 = t1944 - 0.92708333333333333333e-2 * t1833 - 0.92708333333333333333e-2 * t2730 + 0.278125e-1 * t2741; + const double t2827 = t2826 * t261; + const double t2829 = t1100 * t713; + const double t2834 = t1108 * t721; + const double t2848 = -0.1294625e1 * t2755 + 0.258925e1 * t2760 + t1962 - 0.301925e0 * t1833 - 0.301925e0 * t2730 + 0.905775e0 * t2741 + 0.82524375e-1 * t2766 + 0.16504875e0 * t2768 + t1967 - 0.16557e0 * t1883 - 0.16557e0 * t2772 + 0.248355e0 * t2776 + 0.248355e0 * t2780; + const double t2849 = t2848 * t722; + const double t2852 = t1107 * t1979; + const double t2853 = t2852 * t721; + const double t2856 = -0.310907e-1 * t2793 * t248 + 0.1e1 * t2796 * t704 + 0.1e1 * t1911 * t1096 - 0.2e1 * t1916 * t2801 + 0.1e1 * t695 * t2816 + 0.32163958997385070134e2 * t1938 * t2820 + t2745 - t2748 - t2750 + t2753 - t2785 - t2789 - 0.19751673498613801407e-1 * t2827 + 0.5848223622634646207e0 * t2829 * t723 + 0.5848223622634646207e0 * t1950 * t1108 - 0.11696447245269292414e1 * t1955 * t2834 + 0.5848223622634646207e0 * t714 * t2849 + 0.17315859105681463759e2 * t1977 * t2853; + const double t2857 = t237 * t2856; + const double t2859 = 0.19751673498613801407e-1 * t237 * t2827; + const double t2860 = t237 * t1100; + const double t2862 = 0.5848223622634646207e0 * t2860 * t732; + const double t2864 = 0.5848223622634646207e0 * t1987 * t1116; + const double t2865 = t1954 * t1107; + const double t2866 = t2865 * t723; + const double t2868 = 0.11696447245269292414e1 * t730 * t2866; + const double t2870 = t713 * t2848 * t722; + const double t2872 = 0.5848223622634646207e0 * t730 * t2870; + const double t2873 = t1976 * t1107; + const double t2874 = t1979 * t721; + const double t2875 = t2873 * t2874; + const double t2877 = 0.17315859105681463759e2 * t730 * t2875; + const double t2883 = t154 * t2077 * t1066; + const double t2884 = t276 * t2883; + const double t2886 = t275 * t153; + const double t2887 = t7 * t2886; + const double t2888 = t50 * t52; + const double t2889 = t779 * t1066; + const double t2890 = t2889 * t655; + const double t2891 = t2888 * t2890; + const double t2895 = t154 * t742 * t2739; + const double t2898 = t2024 * t178; + const double t2899 = t2020 * t2898; + const double t2900 = t1123 * t2029; + const double t2901 = t2030 * t759; + const double t2902 = t2900 * t2901; + const double t2903 = t302 * t2902; + const double t2908 = t2099 * t1125; + const double t2909 = t757 * t2908; + const double t2911 = t1137 * t2106; + const double t2912 = t2105 * t2911; + const double t2915 = -t2069 / 0.108e3 - t2076 - t2080 / 0.288e3 + t735 * t1120 / 0.36e2 - t2884 / 0.288e3 + t2887 * t2891 / 0.48e2 - t276 * t2895 / 0.96e2 + 0.42874018118069736972e-3 * t2899 * t2903 - 0.11433071498151929859e-2 * t2096 * t1126 + 0.14291339372689912324e-3 * t2909 - 0.42874018118069736972e-3 * t2104 * t2912; + const double t2916 = -t2745 + t2748 + t2750 - t2753 + t2785 + t2789 + t2857 + t2859 - t2862 - t2864 + t2868 - t2872 - t2877; + const double t2918 = t301 * t2916 * t761; + const double t2919 = t758 * t2918; + const double t2922 = t2037 * t2898; + const double t2923 = t759 * t287; + const double t2924 = t2900 * t2923; + const double t2925 = t302 * t2924; + const double t2931 = t1066 * t759; + const double t2932 = t2931 * t761; + const double t2933 = t2105 * t2932; + const double t2939 = t179 * t2048 * t1066; + const double t2940 = t299 * t2939; + const double t2942 = t290 * t197; + const double t2944 = t294 * t297 * t46; + const double t2945 = t2942 * t2944; + const double t2946 = t2003 * t1066; + const double t2947 = t2946 * t655; + const double t2948 = t758 * t2947; + const double t2952 = t179 * t780 * t2739; + const double t2955 = 0.21437009059034868486e-3 * t757 * t2919 - 0.21437009059034868486e-3 * t2922 * t2925 + 0.14291339372689912324e-3 * t2101 - 0.76220476654346199061e-3 * t2065 - t2047 - 0.28582678745379824648e-3 * t2051 - 0.42874018118069736972e-3 * t2104 * t2933 + 0.22866142996303859718e-2 * t771 * t1130 - 0.28582678745379824648e-3 * t2940 + 0.12862205435420921092e-2 * t2945 * t2948 - 0.42874018118069736972e-3 * t299 * t2952; + const double t2956 = t2915 + t2955; + const double t2957 = t2956 * t158; + const double t2964 = t2118 * t1143; + const double t2965 = t2964 * t799; + const double t2968 = t306 * t1123; + const double t2969 = t2019 * t2968; + const double t2970 = t2029 * t2126; + const double t2971 = t2970 * t2901; + const double t2976 = t2916 * t133; + const double t2977 = t2976 * t793; + const double t2980 = t2036 * t2968; + const double t2981 = t2970 * t2923; + const double t2984 = t751 * t1133; + const double t2989 = 0.13170898365871023197e1 * t2969 * t2971 + 0.65854491829355115987e0 * t2131 * t1138 + 0.65854491829355115987e0 * t791 * t2977 - 0.65854491829355115987e0 * t2980 * t2981 + 0.65854491829355115987e0 * t2984 * t794 + 0.65854491829355115987e0 * t290 * t2956; + const double t2990 = t790 * t2989; + const double t2993 = 0.65854491829355115987e0 * t2957 * t311 - 0.65854491829355115987e0 * t1134 * t800 - 0.65854491829355115987e0 * t786 * t1144 + 0.13170898365871023197e1 * t307 * t2965 - 0.65854491829355115987e0 * t307 * t2990; + const double t2997 = t1147 * t2156; + const double t3000 = t135 * t273 * t2993 * t805 - t1306 * t2997 * t803 - t2745 + t2748 + t2750 - t2753 + t2785 + t2789 + t2857 + t2859 - t2862 - t2864 + t2868 - t2872 - t2877; + const double t3004 = 0.2e1 * t1430; + const double t3005 = piecewise_functor_3( t84, 0.0, t3004 ); + const double t3009 = piecewise_functor_3( t203, 0.0, t1151 * t810 / 0.2e1 + t808 * t1153 / 0.2e1 + t3000 * t319 / 0.2e1 + t318 * t3005 / 0.2e1 ); + const double t3010 = t201 * t3009; + const double t3011 = t199 * t3010; + const double t3013 = t1162 * t967; + const double t3017 = t204 * t648 * t1167; + const double t3019 = t2179 * t1003; + const double t3022 = t821 * t8; + const double t3026 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t3019 * t507 + 0.2e1 / 0.3e1 * t3022 * t1429 ); + const double t3028 = t204 * t205 * t3026; + const double t3030 = t2173 - 0.17808333333333333333e-1 * t2175 - 0.17808333333333333333e-1 * t3017 + 0.53425e-1 * t3028; + const double t3032 = 0.621814e-1 * t3030 * t352; + const double t3033 = t1171 * t832; + const double t3035 = 0.1e1 * t3033 * t853; + const double t3037 = 0.1e1 * t2192 * t1185; + const double t3038 = t1185 * t851; + const double t3040 = 0.2e1 * t2197 * t3038; + const double t3041 = t2203 * t1174; + const double t3042 = t3041 * t836; + const double t3046 = t2207 - t2175 / 0.3e1 - t3017 / 0.3e1 + t3028; + const double t3047 = t834 * t3046; + const double t3052 = t2215 * t1174; + const double t3053 = t3052 * t836; + const double t3055 = t841 * t3046; + const double t3059 = t218 * t675 * t1180; + const double t3061 = t824 * t1167; + const double t3063 = t218 * t219 * t3061; + const double t3065 = t334 * t3026; + const double t3067 = t218 * t219 * t3065; + const double t3069 = -0.9494625e0 * t3042 + 0.1898925e1 * t3047 + t2212 - 0.29896666666666666667e0 * t2175 - 0.29896666666666666667e0 * t3017 + 0.8969e0 * t3028 + 0.15358125e0 * t3053 + 0.3071625e0 * t3055 + t2222 - 0.16431333333333333333e0 * t2224 - 0.16431333333333333333e0 * t3059 + 0.24647e0 * t3063 + 0.24647e0 * t3067; + const double t3070 = t3069 * t852; + const double t3072 = 0.1e1 * t833 * t3070; + const double t3073 = t1184 * t2242; + const double t3074 = t3073 * t851; + const double t3076 = 0.16081979498692535067e2 * t2240 * t3074; + const double t3080 = t2246 - 0.17123333333333333333e-1 * t2175 - 0.17123333333333333333e-1 * t3017 + 0.5137e-1 * t3028; + const double t3083 = t1189 * t862; + const double t3088 = t1197 * t870; + const double t3102 = -0.17648625e1 * t3042 + 0.3529725e1 * t3047 + t2264 - 0.516475e0 * t2175 - 0.516475e0 * t3017 + 0.1549425e1 * t3028 + 0.31558125e0 * t3053 + 0.6311625e0 * t3055 + t2269 - 0.20839e0 * t2224 - 0.20839e0 * t3059 + 0.312585e0 * t3063 + 0.312585e0 * t3067; + const double t3103 = t3102 * t871; + const double t3106 = t1196 * t2281; + const double t3107 = t3106 * t870; + const double t3113 = t2285 - 0.92708333333333333333e-2 * t2175 - 0.92708333333333333333e-2 * t3017 + 0.278125e-1 * t3028; + const double t3114 = t3113 * t378; + const double t3116 = t1201 * t881; + const double t3121 = t1209 * t889; + const double t3135 = -0.1294625e1 * t3042 + 0.258925e1 * t3047 + t2303 - 0.301925e0 * t2175 - 0.301925e0 * t3017 + 0.905775e0 * t3028 + 0.82524375e-1 * t3053 + 0.16504875e0 * t3055 + t2308 - 0.16557e0 * t2224 - 0.16557e0 * t3059 + 0.248355e0 * t3063 + 0.248355e0 * t3067; + const double t3136 = t3135 * t890; + const double t3139 = t1208 * t2320; + const double t3140 = t3139 * t889; + const double t3143 = -0.310907e-1 * t3080 * t365 + 0.1e1 * t3083 * t872 + 0.1e1 * t2252 * t1197 - 0.2e1 * t2257 * t3088 + 0.1e1 * t863 * t3103 + 0.32163958997385070134e2 * t2279 * t3107 + t3032 - t3035 - t3037 + t3040 - t3072 - t3076 - 0.19751673498613801407e-1 * t3114 + 0.5848223622634646207e0 * t3116 * t891 + 0.5848223622634646207e0 * t2291 * t1209 - 0.11696447245269292414e1 * t2296 * t3121 + 0.5848223622634646207e0 * t882 * t3136 + 0.17315859105681463759e2 * t2318 * t3140; + const double t3144 = t237 * t3143; + const double t3146 = 0.19751673498613801407e-1 * t237 * t3114; + const double t3147 = t237 * t1201; + const double t3149 = 0.5848223622634646207e0 * t3147 * t900; + const double t3151 = 0.5848223622634646207e0 * t2328 * t1217; + const double t3152 = t2295 * t1208; + const double t3153 = t3152 * t891; + const double t3155 = 0.11696447245269292414e1 * t898 * t3153; + const double t3157 = t881 * t3135 * t890; + const double t3159 = 0.5848223622634646207e0 * t898 * t3157; + const double t3160 = t2317 * t1208; + const double t3161 = t2320 * t889; + const double t3162 = t3160 * t3161; + const double t3164 = 0.17315859105681463759e2 * t898 * t3162; + const double t3165 = t1220 * t904; + const double t3171 = t154 * t2347 * t1167; + const double t3172 = t385 * t3171; + const double t3174 = t23 * t2886; + const double t3175 = t931 * t1167; + const double t3176 = t3175 * t824; + const double t3177 = t2888 * t3176; + const double t3181 = t154 * t907 * t3026; + const double t3184 = t2365 * t178; + const double t3185 = t2364 * t3184; + const double t3186 = t1227 * t2029; + const double t3187 = t2370 * t919; + const double t3188 = t3186 * t3187; + const double t3189 = t406 * t3188; + const double t3192 = t2099 * t1229; + const double t3193 = t918 * t3192; + const double t3195 = t1249 * t2382; + const double t3196 = t2381 * t3195; + const double t3199 = -t3032 + t3035 + t3037 - t3040 + t3072 + t3076 + t3144 + t3146 - t3149 - t3151 + t3155 - t3159 - t3164; + const double t3201 = t405 * t3199 * t921; + const double t3202 = t758 * t3201; + const double t3205 = -t3165 / 0.108e3 + t1220 * t909 / 0.36e2 - t2346 - t2350 / 0.288e3 - t3172 / 0.288e3 + t3174 * t3177 / 0.48e2 - t385 * t3181 / 0.96e2 + 0.42874018118069736972e-3 * t3185 * t3189 + 0.14291339372689912324e-3 * t3193 - 0.42874018118069736972e-3 * t2380 * t3196 + 0.21437009059034868486e-3 * t918 * t3202; + const double t3206 = t2394 * t3184; + const double t3207 = t919 * t394; + const double t3208 = t3186 * t3207; + const double t3209 = t406 * t3208; + const double t3212 = t1235 * t754; + const double t3213 = t3212 * t46; + const double t3214 = t915 * t3213; + const double t3217 = t1238 * t927; + const double t3223 = t1167 * t919; + const double t3224 = t3223 * t921; + const double t3225 = t2381 * t3224; + const double t3229 = t179 * t2405 * t1167; + const double t3230 = t404 * t3229; + const double t3232 = t397 * t326; + const double t3234 = t401 * t297 * t46; + const double t3235 = t3232 * t3234; + const double t3236 = t2411 * t1167; + const double t3237 = t3236 * t824; + const double t3238 = t758 * t3237; + const double t3242 = t179 * t932 * t3026; + const double t3245 = -0.21437009059034868486e-3 * t3206 * t3209 - 0.11433071498151929859e-2 * t3214 * t923 - 0.7622047665434619906e-3 * t3217 + 0.22866142996303859718e-2 * t1238 * t934 + 0.14291339372689912324e-3 * t2377 - t2404 - 0.28582678745379824648e-3 * t2408 - 0.42874018118069736972e-3 * t2380 * t3225 - 0.28582678745379824648e-3 * t3230 + 0.12862205435420921092e-2 * t3235 * t3238 - 0.42874018118069736972e-3 * t404 * t3242; + const double t3246 = t3205 + t3245; + const double t3247 = t3246 * t158; + const double t3254 = t2428 * t1255; + const double t3255 = t3254 * t951; + const double t3258 = t410 * t1227; + const double t3259 = t2363 * t3258; + const double t3260 = t2970 * t3187; + const double t3265 = t3199 * t133; + const double t3266 = t3265 * t945; + const double t3269 = t2393 * t3258; + const double t3270 = t2970 * t3207; + const double t3273 = t914 * t1245; + const double t3278 = 0.13170898365871023197e1 * t3259 * t3260 + 0.65854491829355115987e0 * t2439 * t1250 + 0.65854491829355115987e0 * t943 * t3266 - 0.65854491829355115987e0 * t3269 * t3270 + 0.65854491829355115987e0 * t3273 * t946 + 0.65854491829355115987e0 * t397 * t3246; + const double t3279 = t942 * t3278; + const double t3282 = 0.65854491829355115987e0 * t3247 * t415 - 0.65854491829355115987e0 * t1246 * t952 - 0.65854491829355115987e0 * t938 * t1256 + 0.13170898365871023197e1 * t411 * t3255 - 0.65854491829355115987e0 * t411 * t3279; + const double t3286 = t1259 * t2464; + const double t3289 = t135 * t273 * t3282 * t957 - t1306 * t3286 * t955 - t3032 + t3035 + t3037 - t3040 + t3072 + t3076 + t3144 + t3146 - t3149 - t3151 + t3155 - t3159 - t3164; + const double t3293 = piecewise_functor_3( t90, 0.0, -t3004 ); + const double t3297 = piecewise_functor_3( t332, 0.0, t1263 * t962 / 0.2e1 + t960 * t1265 / 0.2e1 + t3289 * t423 / 0.2e1 + t422 * t3293 / 0.2e1 ); + const double t3298 = t330 * t3297; + const double t3299 = t328 * t3298; + const double t3308 = t987 * t987; + const double t3311 = t987 * t995; + const double t3314 = t973 * t973; + const double t3315 = t1424 * t3314; + const double t3318 = t437 + t1430; + const double t3319 = t15 * t3318; + const double t3323 = 0.1e1 / t20 / t398; + const double t3324 = sigma_bb * t3323; + const double t3329 = t983 * t983; + const double t3330 = t1435 * t3329; + const double t3333 = -t3318; + const double t3334 = t27 * t3333; + const double t3337 = 0.1e2 / 0.9e1 * t7 * t3315 + 0.5e1 / 0.3e1 * t7 * t3319 + 0.88e2 / 0.9e1 * t3324 * t28 - 0.8e2 / 0.9e1 * t980 * t984 + 0.1e2 / 0.9e1 * t23 * t3330 + 0.5e1 / 0.3e1 * t23 * t3334; + const double t3340 = t995 * t995; + const double t3347 = tau_b * t979; + const double t3356 = 0.1e2 / 0.9e1 * t34 * t3315 + 0.5e1 / 0.3e1 * t34 * t3319 + 0.4e2 / 0.9e1 * t3347 * t28 - 0.5e2 / 0.9e1 * t991 * t984 + 0.1e2 / 0.9e1 * t38 * t3330 + 0.5e1 / 0.3e1 * t38 * t3334; + const double t3359 = 0.165625e-1 * t3308 * t42 - 0.6625e-1 * t1413 * t3311 + 0.165625e-1 * t430 * t3337 + 0.496875e-1 * t1449 * t3340 - 0.165625e-1 * t453 * t3356; + const double t3360 = t3359 * t195; + const double t3361 = t998 * t1062; + const double t3362 = 0.2e1 * t3361; + const double t3363 = t2714 * t1020; + const double t3366 = t972 * t972; + const double t3369 = 0.2e1 * t3318; + const double t3373 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t1705 * t3366 + 0.4e1 / 0.3e1 * t87 * t3369 ); + const double t3374 = t1003 * t1003; + const double t3377 = -t3369; + const double t3381 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t1712 * t3374 + 0.4e1 / 0.3e1 * t91 * t3377 ); + const double t3383 = ( t3373 + t3381 ) * t98; + const double t3385 = 0.19751673498613801407e-1 * t3383 * t124; + const double t3386 = 0.36622894612013090108e-3 * t2583; + const double t3387 = 0.8e1 * t2585; + const double t3388 = 0.8e1 * t2587; + const double t3389 = t1058 * t1058; + const double t3393 = t3383 * t126; + const double t3394 = t83 * t3393; + const double t3395 = -t135 * t144 * t1507 * t3389 + 0.6e1 * t1815 * t3363 - t1474 - t1478 + t1483 + t1486 + t1489 - t1503 - t1636 + t3385 - t3386 - t3387 - t3388 + t3394; + const double t3396 = 0.2e1 * t2612; + const double t3397 = 0.11696447245269292414e1 * t2614; + const double t3403 = piecewise_functor_3( t84, 0.0, -0.2e1 / 0.9e1 * t652 * t3366 + 0.2e1 / 0.3e1 * t207 * t3369 ); + const double t3409 = piecewise_functor_3( t90, 0.0, -0.2e1 / 0.9e1 * t821 * t3374 + 0.2e1 / 0.3e1 * t333 * t3377 ); + const double t3411 = t3403 / 0.2e1 + t3409 / 0.2e1; + const double t3416 = t1020 * t1020; + const double t3417 = t50 * t3416; + const double t3418 = t581 * t3417; + const double t3421 = t50 * t3411; + const double t3422 = t581 * t3421; + const double t3425 = t1034 * t1034; + const double t3426 = t51 * t3425; + const double t3428 = t592 * t3426 * t1556; + const double t3432 = t2577 * t1020; + const double t3433 = t179 * t3432; + const double t3436 = -t3397 + t3396 - t3387 - t3388 + t3394 - t3386 + t3385 + t1583 + t1693 - t1697 - t1701; + const double t3437 = -t1474 - t1478 - t1643 + t1727 + t1661 + t1653 - t1636 + t1483 + t1486 + t1489 - t1503 + t1733; + const double t3439 = ( t3436 + t3437 ) * t158; + const double t3443 = t1740 * t3416; + const double t3446 = t596 * t3411; + const double t3449 = 0.6e1 * t1029 * t1031 - 0.12e2 * t160 * t3443 + 0.3e1 * t160 * t3446 - t162 * t3439; + const double t3452 = t592 * t51 * t3449 * t164; + const double t3456 = t592 * t3426 * t164; + const double t3460 = t616 * t3416; + const double t3461 = t1768 * t3460; + const double t3464 = t616 * t3411; + const double t3465 = t615 * t3464; + const double t3468 = t1536 + 0.7e1 / 0.72e2 * t2557 + t1541 * t3418 / 0.16e2 - t580 * t3422 / 0.48e2 + 0.42874018118069736972e-3 * t1553 * t3428 + 0.20007875121765877254e-2 * t2575 + 0.17149607247227894789e-2 * t1568 * t3433 - 0.21437009059034868486e-3 * t590 * t3452 - 0.21437009059034868486e-3 * t590 * t3456 + t1762 + 0.80031500487063509015e-2 * t2654 + 0.42874018118069736972e-2 * t612 * t3461 - 0.85748036236139473944e-3 * t612 * t3465; + const double t3469 = t3468 * t158; + const double t3474 = t1054 * t1054; + const double t3475 = t1784 * t3474; + const double t3478 = t183 * t3425; + const double t3495 = 0.13170898365871023197e1 * t1552 * t3478 * t1556 - 0.13170898365871023197e1 * t588 * t1044 * t1034 * t164 - 0.65854491829355115987e0 * t588 * t183 * t3449 * t164 - 0.65854491829355115987e0 * t588 * t3478 * t164 + 0.65854491829355115987e0 * t167 * t3468; + const double t3496 = t626 * t3495; + const double t3499 = 0.65854491829355115987e0 * t3469 * t188 - 0.13170898365871023197e1 * t1045 * t1055 + 0.13170898365871023197e1 * t184 * t3475 - 0.65854491829355115987e0 * t184 * t3496; + const double t3506 = t135 * t144 * t3499 * t639 + 0.6e1 * t135 * t1495 * t3416 + 0.3e1 * t135 * t3411 * t560 + t1583 - t1643 + t1653 + t1661 + t1693 - t1697 - t1701 + t1727 + t1733 + t3396 - t3397; + const double t3507 = t3395 + t3506; + const double t3508 = t45 * t3507; + const double t3510 = t1837 * t3366; + const double t3512 = t652 * t3369; + const double t3515 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t3510 - t3512 / 0.3e1 ); + const double t3517 = t204 * t205 * t3515; + const double t3519 = t1831 - 0.35616666666666666666e-1 * t2730 + 0.53425e-1 * t3517; + const double t3521 = 0.621814e-1 * t3519 * t228; + const double t3523 = 0.2e1 * t2746 * t1084; + const double t3524 = t1083 * t1083; + const double t3525 = t3524 * t684; + const double t3527 = 0.2e1 * t1855 * t3525; + const double t3528 = t1073 * t1073; + const double t3529 = t1861 * t3528; + const double t3532 = t1865 - 0.2e1 / 0.3e1 * t2730 + t3517; + const double t3533 = t665 * t3532; + const double t3537 = t1873 * t3528; + const double t3539 = t672 * t3532; + const double t3542 = t1066 * t1066; + const double t3544 = t218 * t219 * t3542; + const double t3546 = t208 * t3515; + const double t3548 = t218 * t219 * t3546; + const double t3550 = -0.9494625e0 * t3529 + 0.1898925e1 * t3533 + t1870 - 0.59793333333333333334e0 * t2730 + 0.8969e0 * t3517 + 0.15358125e0 * t3537 + 0.3071625e0 * t3539 + t1881 - 0.32862666666666666666e0 * t2772 + 0.24647e0 * t3544 + 0.24647e0 * t3548; + const double t3551 = t3550 * t684; + const double t3553 = 0.1e1 * t664 * t3551; + const double t3554 = t3524 * t1901; + const double t3556 = 0.16081979498692535067e2 * t1899 * t3554; + const double t3559 = t1905 - 0.34246666666666666666e-1 * t2730 + 0.5137e-1 * t3517; + const double t3564 = t1095 * t1095; + const double t3565 = t3564 * t703; + const double t3577 = -0.17648625e1 * t3529 + 0.3529725e1 * t3533 + t1923 - 0.103295e1 * t2730 + 0.1549425e1 * t3517 + 0.31558125e0 * t3537 + 0.6311625e0 * t3539 + t1928 - 0.41678e0 * t2772 + 0.312585e0 * t3544 + 0.312585e0 * t3548; + const double t3578 = t3577 * t703; + const double t3581 = t3564 * t1940; + const double t3586 = t1944 - 0.18541666666666666667e-1 * t2730 + 0.278125e-1 * t3517; + const double t3587 = t3586 * t261; + const double t3591 = t1107 * t1107; + const double t3592 = t3591 * t722; + const double t3604 = -0.1294625e1 * t3529 + 0.258925e1 * t3533 + t1962 - 0.60385e0 * t2730 + 0.905775e0 * t3517 + 0.82524375e-1 * t3537 + 0.16504875e0 * t3539 + t1967 - 0.33114e0 * t2772 + 0.248355e0 * t3544 + 0.248355e0 * t3548; + const double t3605 = t3604 * t722; + const double t3608 = t3591 * t1979; + const double t3611 = -0.310907e-1 * t3559 * t248 + 0.2e1 * t2796 * t1096 - 0.2e1 * t1916 * t3565 + 0.1e1 * t695 * t3578 + 0.32163958997385070134e2 * t1938 * t3581 + t3521 - t3523 + t3527 - t3553 - t3556 - 0.19751673498613801407e-1 * t3587 + 0.11696447245269292414e1 * t2829 * t1108 - 0.11696447245269292414e1 * t1955 * t3592 + 0.5848223622634646207e0 * t714 * t3605 + 0.17315859105681463759e2 * t1977 * t3608; + const double t3612 = t237 * t3611; + const double t3614 = 0.19751673498613801407e-1 * t237 * t3587; + const double t3616 = 0.11696447245269292414e1 * t2860 * t1116; + const double t3618 = t1954 * t3591 * t722; + const double t3620 = 0.11696447245269292414e1 * t730 * t3618; + const double t3622 = t713 * t3604 * t722; + const double t3624 = 0.5848223622634646207e0 * t730 * t3622; + const double t3625 = t1976 * t3591; + const double t3626 = t3625 * t1979; + const double t3628 = 0.17315859105681463759e2 * t730 * t3626; + const double t3631 = t154 * t2089 * t3542; + const double t3635 = t154 * t742 * t3515; + const double t3638 = t1123 * t1123; + const double t3639 = t301 * t3638; + const double t3640 = t3639 * t2031; + const double t3641 = t758 * t3640; + const double t3645 = t287 * t1066; + const double t3646 = t1137 * t3645; + const double t3647 = t2105 * t3646; + const double t3650 = -t3521 + t3523 - t3527 + t3553 + t3556 + t3612 + t3614 - t3616 + t3620 - t3624 - t3628; + const double t3651 = t301 * t3650; + const double t3652 = t3651 * t761; + const double t3653 = t758 * t3652; + const double t3656 = t3639 * t2039; + const double t3657 = t758 * t3656; + const double t3662 = t179 * t2004 * t3542; + const double t3666 = t179 * t780 * t3515; + const double t3669 = -t2076 - t2884 / 0.144e3 + t276 * t3631 / 0.48e2 - t276 * t3635 / 0.96e2 + 0.42874018118069736972e-3 * t2026 * t3641 + 0.28582678745379824648e-3 * t2909 - 0.85748036236139473944e-3 * t2104 * t3647 + 0.21437009059034868486e-3 * t757 * t3653 - 0.21437009059034868486e-3 * t2038 * t3657 - t2047 - 0.57165357490759649296e-3 * t2940 + 0.12862205435420921092e-2 * t299 * t3662 - 0.42874018118069736972e-3 * t299 * t3666; + const double t3670 = t3669 * t158; + const double t3675 = t1143 * t1143; + const double t3676 = t2118 * t3675; + const double t3679 = t3638 * t2029; + const double t3680 = t3679 * t2127; + const double t3685 = t3650 * t133; + const double t3686 = t3685 * t793; + const double t3689 = t3679 * t2139; + const double t3694 = 0.13170898365871023197e1 * t2123 * t3680 + 0.13170898365871023197e1 * t2984 * t1138 + 0.65854491829355115987e0 * t791 * t3686 - 0.65854491829355115987e0 * t2138 * t3689 + 0.65854491829355115987e0 * t290 * t3669; + const double t3695 = t790 * t3694; + const double t3698 = 0.65854491829355115987e0 * t3670 * t311 - 0.13170898365871023197e1 * t1134 * t1144 + 0.13170898365871023197e1 * t307 * t3676 - 0.65854491829355115987e0 * t307 * t3695; + const double t3702 = t1147 * t1147; + const double t3706 = -t135 * t2156 * t273 * t3702 + t135 * t273 * t3698 * t805 - t3521 + t3523 - t3527 + t3553 + t3556 + t3612 + t3614 - t3616 + t3620 - t3624 - t3628; + const double t3710 = piecewise_functor_3( t84, 0.0, t3369 ); + const double t3714 = piecewise_functor_3( t203, 0.0, t3706 * t319 / 0.2e1 + t1151 * t1153 + t318 * t3710 / 0.2e1 ); + const double t3715 = t201 * t3714; + const double t3716 = t199 * t3715; + const double t3717 = 0.2390625e-1 * t3716; + const double t3718 = 0.1e1 / t398; + const double t3719 = t326 * t3718; + const double t3720 = t3719 * t427; + const double t3721 = 0.1434375e0 * t3720; + const double t3722 = t1162 * t1270; + const double t3723 = 0.95625e-1 * t3722; + const double t3725 = t2179 * t3374; + const double t3727 = t821 * t3377; + const double t3730 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t3725 - t3727 / 0.3e1 ); + const double t3732 = t204 * t205 * t3730; + const double t3734 = t2173 - 0.35616666666666666666e-1 * t3017 + 0.53425e-1 * t3732; + const double t3736 = 0.621814e-1 * t3734 * t352; + const double t3738 = 0.2e1 * t3033 * t1185; + const double t3739 = t1184 * t1184; + const double t3740 = t3739 * t852; + const double t3742 = 0.2e1 * t2197 * t3740; + const double t3743 = t1174 * t1174; + const double t3744 = t2203 * t3743; + const double t3747 = t2207 - 0.2e1 / 0.3e1 * t3017 + t3732; + const double t3748 = t834 * t3747; + const double t3752 = t2215 * t3743; + const double t3754 = t841 * t3747; + const double t3757 = t1167 * t1167; + const double t3759 = t218 * t219 * t3757; + const double t3761 = t334 * t3730; + const double t3763 = t218 * t219 * t3761; + const double t3765 = -0.9494625e0 * t3744 + 0.1898925e1 * t3748 + t2212 - 0.59793333333333333334e0 * t3017 + 0.8969e0 * t3732 + 0.15358125e0 * t3752 + 0.3071625e0 * t3754 + t2222 - 0.32862666666666666666e0 * t3059 + 0.24647e0 * t3759 + 0.24647e0 * t3763; + const double t3766 = t3765 * t852; + const double t3768 = 0.1e1 * t833 * t3766; + const double t3769 = t3739 * t2242; + const double t3771 = 0.16081979498692535067e2 * t2240 * t3769; + const double t3774 = t2246 - 0.34246666666666666666e-1 * t3017 + 0.5137e-1 * t3732; + const double t3779 = t1196 * t1196; + const double t3780 = t3779 * t871; + const double t3792 = -0.17648625e1 * t3744 + 0.3529725e1 * t3748 + t2264 - 0.103295e1 * t3017 + 0.1549425e1 * t3732 + 0.31558125e0 * t3752 + 0.6311625e0 * t3754 + t2269 - 0.41678e0 * t3059 + 0.312585e0 * t3759 + 0.312585e0 * t3763; + const double t3793 = t3792 * t871; + const double t3796 = t3779 * t2281; + const double t3801 = t2285 - 0.18541666666666666667e-1 * t3017 + 0.278125e-1 * t3732; + const double t3802 = t3801 * t378; + const double t3806 = t1208 * t1208; + const double t3807 = t3806 * t890; + const double t3819 = -0.1294625e1 * t3744 + 0.258925e1 * t3748 + t2303 - 0.60385e0 * t3017 + 0.905775e0 * t3732 + 0.82524375e-1 * t3752 + 0.16504875e0 * t3754 + t2308 - 0.33114e0 * t3059 + 0.248355e0 * t3759 + 0.248355e0 * t3763; + const double t3820 = t3819 * t890; + const double t3823 = t3806 * t2320; + const double t3826 = -0.310907e-1 * t3774 * t365 + 0.2e1 * t3083 * t1197 - 0.2e1 * t2257 * t3780 + 0.1e1 * t863 * t3793 + 0.32163958997385070134e2 * t2279 * t3796 + t3736 - t3738 + t3742 - t3768 - t3771 - 0.19751673498613801407e-1 * t3802 + 0.11696447245269292414e1 * t3116 * t1209 - 0.11696447245269292414e1 * t2296 * t3807 + 0.5848223622634646207e0 * t882 * t3820 + 0.17315859105681463759e2 * t2318 * t3823; + const double t3827 = t237 * t3826; + const double t3829 = 0.19751673498613801407e-1 * t237 * t3802; + const double t3831 = 0.11696447245269292414e1 * t3147 * t1217; + const double t3833 = t2295 * t3806 * t890; + const double t3835 = 0.11696447245269292414e1 * t898 * t3833; + const double t3837 = t881 * t3819 * t890; + const double t3839 = 0.5848223622634646207e0 * t898 * t3837; + const double t3840 = t2317 * t3806; + const double t3841 = t3840 * t2320; + const double t3843 = 0.17315859105681463759e2 * t898 * t3841; + const double t3847 = t179 * t932 * t3730; + const double t3850 = t398 * t977; + const double t3852 = 0.1e1 / t19 / t3850; + const double t3855 = t397 * t326 * t3852 * t297; + const double t3861 = t154 * t907 * t3730; + const double t3864 = t3324 * t275; + const double t3870 = t179 * t2412 * t3757; + const double t3874 = -t3736 + t3738 - t3742 + t3768 + t3771 + t3827 + t3829 - t3831 + t3835 - t3839 - t3843; + const double t3875 = t405 * t3874; + const double t3876 = t3875 * t921; + const double t3877 = t758 * t3876; + const double t3880 = t1227 * t1227; + const double t3881 = t405 * t3880; + const double t3882 = t3881 * t2371; + const double t3883 = t758 * t3882; + const double t3886 = t3881 * t2396; + const double t3887 = t758 * t3886; + const double t3892 = t154 * t2352 * t3757; + const double t3898 = t394 * t1167; + const double t3899 = t1249 * t3898; + const double t3900 = t2381 * t3899; + const double t3903 = -t3172 / 0.144e3 - 0.15244095330869239812e-2 * t3217 - t2346 - 0.42874018118069736972e-3 * t404 * t3847 + 0.72409452821628889107e-2 * t3855 * t407 + 0.45732285992607719436e-2 * t1238 * t1242 - t385 * t3861 / 0.96e2 + 0.11e2 / 0.108e3 * t3864 * t388 + t1220 * t1224 / 0.18e2 + 0.12862205435420921092e-2 * t404 * t3870 - 0.57165357490759649296e-3 * t3230 + 0.21437009059034868486e-3 * t918 * t3877 + 0.42874018118069736972e-3 * t2367 * t3883 - 0.21437009059034868486e-3 * t2395 * t3887 - t2404 - t3165 / 0.54e2 + t385 * t3892 / 0.48e2 + 0.28582678745379824648e-3 * t3193 - 0.22866142996303859718e-2 * t3214 * t1230 - 0.85748036236139473944e-3 * t2380 * t3900; + const double t3904 = t3903 * t158; + const double t3909 = t1255 * t1255; + const double t3910 = t2428 * t3909; + const double t3913 = t3880 * t2029; + const double t3914 = t3913 * t2435; + const double t3919 = t3874 * t133; + const double t3920 = t3919 * t945; + const double t3923 = t3913 * t2447; + const double t3928 = 0.13170898365871023197e1 * t2433 * t3914 + 0.13170898365871023197e1 * t3273 * t1250 + 0.65854491829355115987e0 * t943 * t3920 - 0.65854491829355115987e0 * t2446 * t3923 + 0.65854491829355115987e0 * t397 * t3903; + const double t3929 = t942 * t3928; + const double t3932 = 0.65854491829355115987e0 * t3904 * t415 - 0.13170898365871023197e1 * t1246 * t1256 + 0.13170898365871023197e1 * t411 * t3910 - 0.65854491829355115987e0 * t411 * t3929; + const double t3936 = t1259 * t1259; + const double t3940 = -t135 * t2464 * t273 * t3936 + t135 * t273 * t3932 * t957 - t3736 + t3738 - t3742 + t3768 + t3771 + t3827 + t3829 - t3831 + t3835 - t3839 - t3843; + const double t3944 = piecewise_functor_3( t90, 0.0, t3377 ); + const double t3948 = piecewise_functor_3( t332, 0.0, t3940 * t423 / 0.2e1 + t1263 * t1265 + t422 * t3944 / 0.2e1 ); + const double t3949 = t330 * t3948; + const double t3950 = t328 * t3949; + const double t3951 = 0.2390625e-1 * t3950; + const double t3954 = t2481 * t1276; + const double t3955 = 0.165625e-1 * t3954; + const double t3956 = t1413 * t6; + const double t3957 = t16 * t195; + const double t3958 = t3957 * t459; + const double t3959 = t3956 * t3958; + const double t3960 = 0.33125e-1 * t3959; + const double t3961 = t433 * t16; + const double t3962 = t3961 * t195; + const double t3963 = t430 * t3962; + const double t3964 = 0.44166666666666666667e-1 * t3963; + const double t3965 = t430 * t6; + const double t3966 = t15 * t195; + const double t3967 = t3966 * t440; + const double t3968 = t3965 * t3967; + const double t3969 = 0.27604166666666666667e-1 * t3968; + const double t3970 = t1275 * t642; + const double t3971 = t430 * t3970; + const double t3972 = 0.165625e-1 * t3971; + const double t3973 = t462 * t132; + const double t3974 = t3973 * t134; + const double t3975 = t3974 * t1301; + const double t3976 = t143 * t1299; + const double t3977 = t639 * t568; + const double t3978 = t3976 * t3977; + const double t3979 = t1280 * t3978; + const double t3980 = 0.3e1 * t3979; + const double t3981 = t574 * t95; + const double t3983 = t3981 * t151 * t1283; + const double t3984 = 0.7e1 / 0.288e3 * t3983; + const double t3985 = t1281 * t161; + const double t3986 = t3985 * t583; + const double t3988 = t1286 * t173; + const double t3989 = t588 * t3988; + const double t3990 = t3989 * t603; + const double t3992 = t146 * t607; + const double t3994 = t167 * t3992 * t180; + const double t3995 = 0.20007875121765877254e-2 * t3994; + const double t3996 = t167 * t3988; + const double t3997 = t3996 * t618; + const double t3999 = -t3984 - t3986 / 0.48e2 - 0.42874018118069736972e-3 * t3990 - t3995 - 0.17149607247227894789e-2 * t3997; + const double t4000 = t3999 * t158; + const double t4005 = t621 * t748; + const double t4008 = t1294 * t1784; + const double t4009 = t166 * t1290; + const double t4010 = t4009 * t633; + const double t4013 = t1294 * t626; + const double t4014 = t587 * t1290; + const double t4015 = t4014 * t1569; + const double t4018 = t1295 * t3999; + const double t4021 = 0.65854491829355115987e0 * t4000 * t188 - 0.65854491829355115987e0 * t1291 * t634 - 0.4336814094102599731e0 * t4005 * t1296 + 0.8673628188205199462e0 * t4008 * t4010 + 0.4336814094102599731e0 * t4013 * t4015 - 0.4336814094102599731e0 * t1294 * t4018; + const double t4022 = t144 * t4021; + const double t4023 = t4022 * t639; + const double t4024 = t1280 * t4023; + const double t4025 = t1507 * t637; + const double t4026 = t1300 * t4025; + const double t4027 = t1280 * t4026; + const double t4028 = sigma_aa * t644; + const double t4029 = t4028 * t323; + const double t4030 = 0.95625e-1 * t4029; + const double t4031 = t1303 * t815; + const double t4032 = 0.478125e-1 * t4031; + const double t4033 = t645 * t1331; + const double t4034 = 0.478125e-1 * t4033; + const double t4035 = t433 * t274; + const double t4036 = t4035 * t63; + const double t4040 = t1308 * t739 / 0.288e3; + const double t4041 = t1307 * t581; + const double t4042 = t301 * t655; + const double t4043 = t2888 * t4042; + const double t4046 = t751 * sigma_aa; + const double t4047 = t4046 * t756; + const double t4052 = t290 * sigma_aa * t768 * t297; + const double t4056 = 0.28582678745379824648e-3 * t1313 * t775; + const double t4059 = -t4036 * t279 / 0.36e2 + t4040 - t4041 * t4043 / 0.96e2 + 0.42874018118069736972e-3 * t4047 * t763 - 0.22866142996303859718e-2 * t4052 * t303 + t4056 - 0.85748036236139473944e-3 * t1313 * t782; + const double t4060 = t4059 * t158; + const double t4065 = t785 * t748; + const double t4068 = t1320 * t2118; + const double t4069 = t289 * t1316; + const double t4070 = t4069 * t799; + const double t4073 = t306 * t2016; + const double t4074 = t790 * t750; + const double t4075 = t4073 * t4074; + const double t4076 = t1316 * t759; + const double t4077 = t285 * t287; + const double t4078 = t4076 * t4077; + const double t4081 = t1321 * t4059; + const double t4084 = 0.65854491829355115987e0 * t4060 * t311 - 0.65854491829355115987e0 * t1317 * t800 - 0.4336814094102599731e0 * t4065 * t1322 + 0.8673628188205199462e0 * t4068 * t4070 - 0.4336814094102599731e0 * t4075 * t4078 - 0.4336814094102599731e0 * t1320 * t4081; + const double t4085 = t4084 * t805; + const double t4088 = t1325 * t2156; + const double t4089 = t319 * t803; + const double t4096 = piecewise_functor_3( t203, 0.0, t1306 * t1326 * t810 / 0.2e1 + t1306 * t4085 * t319 / 0.2e1 - t1306 * t4088 * t4089 / 0.2e1 ); + const double t4097 = t201 * t4096; + const double t4098 = t199 * t4097; + const double t4099 = 0.2390625e-1 * t4098; + const double t4100 = t3955 - t3960 - t3964 + t3969 + t3972 + t3975 + t3980 + t4024 - t4027 + t4030 - t4032 + t4034 - t4099; + const double t4102 = t144 * t1347; + const double t4103 = t4102 * t639; + const double t4104 = t1280 * t4103; + const double t4105 = t9 * t462; + const double t4106 = t4105 * t132; + const double t4108 = t1335 * t135; + const double t4109 = t143 * t1347; + const double t4110 = t4109 * t3977; + const double t4113 = 0.7e1 / 0.144e3 * t3983; + const double t4116 = 0.40015750243531754507e-2 * t3994; + const double t4118 = -t4113 - t3986 / 0.24e2 - 0.85748036236139473944e-3 * t3990 - t4116 - 0.34299214494455789578e-2 * t3997; + const double t4119 = t4118 * t158; + const double t4126 = t166 * t1340; + const double t4127 = t4126 * t633; + const double t4130 = t587 * t1340; + const double t4131 = t4130 * t1569; + const double t4134 = t1295 * t4118; + const double t4137 = 0.65854491829355115987e0 * t4119 * t188 - 0.65854491829355115987e0 * t1341 * t634 - 0.4336814094102599731e0 * t4005 * t1344 + 0.8673628188205199462e0 * t4008 * t4127 + 0.4336814094102599731e0 * t4013 * t4131 - 0.4336814094102599731e0 * t1294 * t4134; + const double t4138 = t4137 * t639; + const double t4139 = t1337 * t4138; + const double t4141 = t4102 * t4025; + const double t4143 = t2481 * t1351; + const double t4144 = 0.165625e-1 * t4143; + const double t4145 = t1413 * t22; + const double t4146 = t28 * t195; + const double t4147 = t4146 * t459; + const double t4148 = t4145 * t4147; + const double t4149 = 0.33125e-1 * t4148; + const double t4150 = t430 * t22; + const double t4151 = t27 * t195; + const double t4152 = t4151 * t444; + const double t4153 = t4150 * t4152; + const double t4154 = 0.27604166666666666667e-1 * t4153; + const double t4155 = t1350 * t642; + const double t4156 = t430 * t4155; + const double t4157 = 0.165625e-1 * t4156; + const double t4158 = t1354 * t967; + const double t4159 = 0.478125e-1 * t4158; + const double t4161 = t1358 * t904 / 0.288e3; + const double t4162 = t1357 * t581; + const double t4163 = t405 * t824; + const double t4164 = t2888 * t4163; + const double t4167 = t914 * sigma_bb; + const double t4168 = t4167 * t917; + const double t4172 = 0.28582678745379824648e-3 * t1363 * t927; + const double t4175 = t4161 - t4162 * t4164 / 0.96e2 + 0.42874018118069736972e-3 * t4168 * t923 + t4172 - 0.85748036236139473944e-3 * t1363 * t934; + const double t4176 = t4175 * t158; + const double t4181 = t937 * t748; + const double t4184 = t1370 * t2428; + const double t4185 = t396 * t1366; + const double t4186 = t4185 * t951; + const double t4189 = t410 * t2016; + const double t4190 = t942 * t913; + const double t4191 = t4189 * t4190; + const double t4192 = t1366 * t919; + const double t4193 = t285 * t394; + const double t4194 = t4192 * t4193; + const double t4197 = t1371 * t4175; + const double t4200 = 0.65854491829355115987e0 * t4176 * t415 - 0.65854491829355115987e0 * t1367 * t952 - 0.4336814094102599731e0 * t4181 * t1372 + 0.8673628188205199462e0 * t4184 * t4186 - 0.4336814094102599731e0 * t4191 * t4194 - 0.4336814094102599731e0 * t1370 * t4197; + const double t4201 = t4200 * t957; + const double t4204 = t1375 * t2464; + const double t4205 = t423 * t955; + const double t4212 = piecewise_functor_3( t332, 0.0, t1306 * t1376 * t962 / 0.2e1 + t1306 * t4201 * t423 / 0.2e1 - t1306 * t4204 * t4205 / 0.2e1 ); + const double t4213 = t330 * t4212; + const double t4214 = t328 * t4213; + const double t4215 = 0.2390625e-1 * t4214; + const double t4218 = t987 * t42; + const double t4219 = t4218 * t1276; + const double t4220 = 0.165625e-1 * t4219; + const double t4221 = t3957 * t995; + const double t4222 = t3956 * t4221; + const double t4223 = 0.33125e-1 * t4222; + const double t4224 = t3966 * t973; + const double t4225 = t3965 * t4224; + const double t4226 = 0.27604166666666666667e-1 * t4225; + const double t4227 = t1275 * t1062; + const double t4228 = t430 * t4227; + const double t4229 = 0.165625e-1 * t4228; + const double t4230 = t998 * t132; + const double t4231 = t4230 * t134; + const double t4232 = t4231 * t1301; + const double t4233 = t639 * t1020; + const double t4234 = t3976 * t4233; + const double t4235 = t1280 * t4234; + const double t4236 = 0.3e1 * t4235; + const double t4237 = t3985 * t1025; + const double t4239 = t3989 * t1037; + const double t4241 = t3996 * t1041; + const double t4243 = -t3984 - t4237 / 0.48e2 - 0.42874018118069736972e-3 * t4239 - t3995 - 0.17149607247227894789e-2 * t4241; + const double t4244 = t4243 * t158; + const double t4249 = t1044 * t748; + const double t4252 = t4009 * t1054; + const double t4255 = t4014 * t2577; + const double t4258 = t1295 * t4243; + const double t4261 = 0.65854491829355115987e0 * t4244 * t188 - 0.65854491829355115987e0 * t1291 * t1055 - 0.4336814094102599731e0 * t4249 * t1296 + 0.8673628188205199462e0 * t4008 * t4252 + 0.4336814094102599731e0 * t4013 * t4255 - 0.4336814094102599731e0 * t1294 * t4258; + const double t4262 = t144 * t4261; + const double t4263 = t4262 * t639; + const double t4264 = t1280 * t4263; + const double t4265 = t1300 * t2711; + const double t4266 = t1280 * t4265; + const double t4267 = t1303 * t1158; + const double t4268 = 0.478125e-1 * t4267; + const double t4269 = t301 * t1066; + const double t4270 = t2888 * t4269; + const double t4277 = t4040 - t4041 * t4270 / 0.96e2 + 0.42874018118069736972e-3 * t4047 * t1126 + t4056 - 0.85748036236139473944e-3 * t1313 * t1130; + const double t4278 = t4277 * t158; + const double t4283 = t1133 * t748; + const double t4286 = t4069 * t1143; + const double t4289 = t1316 * t1123; + const double t4290 = t4289 * t4077; + const double t4293 = t1321 * t4277; + const double t4296 = 0.65854491829355115987e0 * t4278 * t311 - 0.65854491829355115987e0 * t1317 * t1144 - 0.4336814094102599731e0 * t4283 * t1322 + 0.8673628188205199462e0 * t4068 * t4286 - 0.4336814094102599731e0 * t4075 * t4290 - 0.4336814094102599731e0 * t1320 * t4293; + const double t4297 = t4296 * t805; + const double t4300 = t319 * t1147; + const double t4307 = piecewise_functor_3( t203, 0.0, t1306 * t1326 * t1153 / 0.2e1 + t1306 * t4297 * t319 / 0.2e1 - t1306 * t4088 * t4300 / 0.2e1 ); + const double t4308 = t201 * t4307; + const double t4309 = t199 * t4308; + const double t4310 = 0.2390625e-1 * t4309; + const double t4313 = t9 * t998; + const double t4314 = t4313 * t132; + const double t4316 = t4109 * t4233; + const double t4322 = -t4113 - t4237 / 0.24e2 - 0.85748036236139473944e-3 * t4239 - t4116 - 0.34299214494455789578e-2 * t4241; + const double t4323 = t4322 * t158; + const double t4330 = t4126 * t1054; + const double t4333 = t4130 * t2577; + const double t4336 = t1295 * t4322; + const double t4339 = 0.65854491829355115987e0 * t4323 * t188 - 0.65854491829355115987e0 * t1341 * t1055 - 0.4336814094102599731e0 * t4249 * t1344 + 0.8673628188205199462e0 * t4008 * t4330 + 0.4336814094102599731e0 * t4013 * t4333 - 0.4336814094102599731e0 * t1294 * t4336; + const double t4340 = t4339 * t639; + const double t4341 = t1337 * t4340; + const double t4343 = t4102 * t2711; + const double t4345 = t4218 * t1351; + const double t4346 = 0.165625e-1 * t4345; + const double t4347 = t4146 * t995; + const double t4348 = t4145 * t4347; + const double t4349 = 0.33125e-1 * t4348; + const double t4350 = t979 * t28; + const double t4351 = t4350 * t195; + const double t4352 = t430 * t4351; + const double t4353 = 0.44166666666666666667e-1 * t4352; + const double t4354 = t4151 * t983; + const double t4355 = t4150 * t4354; + const double t4356 = 0.27604166666666666667e-1 * t4355; + const double t4357 = t1350 * t1062; + const double t4358 = t430 * t4357; + const double t4359 = 0.165625e-1 * t4358; + const double t4360 = sigma_bb * t1161; + const double t4361 = t4360 * t427; + const double t4362 = 0.95625e-1 * t4361; + const double t4363 = t1354 * t1270; + const double t4364 = 0.478125e-1 * t4363; + const double t4365 = t1162 * t1381; + const double t4366 = 0.478125e-1 * t4365; + const double t4367 = t979 * t274; + const double t4368 = t4367 * t63; + const double t4371 = t405 * t1167; + const double t4372 = t2888 * t4371; + const double t4379 = t397 * sigma_bb * t1235 * t297; + const double t4384 = -t4368 * t388 / 0.36e2 + t4161 - t4162 * t4372 / 0.96e2 + 0.42874018118069736972e-3 * t4168 * t1230 - 0.22866142996303859718e-2 * t4379 * t407 + t4172 - 0.85748036236139473944e-3 * t1363 * t1242; + const double t4385 = t4384 * t158; + const double t4390 = t1245 * t748; + const double t4393 = t4185 * t1255; + const double t4396 = t1366 * t1227; + const double t4397 = t4396 * t4193; + const double t4400 = t1371 * t4384; + const double t4403 = 0.65854491829355115987e0 * t4385 * t415 - 0.65854491829355115987e0 * t1367 * t1256 - 0.4336814094102599731e0 * t4390 * t1372 + 0.8673628188205199462e0 * t4184 * t4393 - 0.4336814094102599731e0 * t4191 * t4397 - 0.4336814094102599731e0 * t1370 * t4400; + const double t4404 = t4403 * t957; + const double t4407 = t423 * t1259; + const double t4414 = piecewise_functor_3( t332, 0.0, t1306 * t1376 * t1265 / 0.2e1 - t1306 * t4204 * t4407 / 0.2e1 + t1306 * t4404 * t423 / 0.2e1 ); + const double t4415 = t330 * t4414; + const double t4416 = t328 * t4415; + const double t4417 = 0.2390625e-1 * t4416; + const double t4418 = t4346 - t4349 - t4353 + t4356 + t4359 + t4232 + t4236 + t4264 - t4266 + t4362 - t4364 + t4366 - t4417; + const double t4420 = t1413 * t33; + const double t4421 = t3957 * t448; + const double t4422 = t4420 * t4421; + const double t4423 = 0.33125e-1 * t4422; + const double t4424 = t1449 * t33; + const double t4425 = t4424 * t3958; + const double t4426 = 0.496875e-1 * t4425; + const double t4427 = t453 * t1276; + const double t4428 = 0.27604166666666666667e-1 * t4427; + const double t4429 = t453 * t33; + const double t4430 = t4429 * t3967; + const double t4431 = 0.27604166666666666667e-1 * t4430; + const double t4432 = t1385 * t642; + const double t4433 = t453 * t4432; + const double t4434 = 0.165625e-1 * t4433; + const double t4435 = t645 * t1391; + const double t4436 = 0.95625e-1 * t4435; + const double t4437 = t1390 * t814; + const double t4438 = t199 * t4437; + const double t4439 = 0.478125e-1 * t4438; + const double t4442 = t1413 * t37; + const double t4443 = t4146 * t448; + const double t4444 = t4442 * t4443; + const double t4445 = 0.33125e-1 * t4444; + const double t4446 = t1449 * t37; + const double t4447 = t4446 * t4147; + const double t4448 = 0.496875e-1 * t4447; + const double t4449 = t453 * t37; + const double t4450 = t4449 * t4152; + const double t4451 = 0.27604166666666666667e-1 * t4450; + const double t4452 = t1395 * t642; + const double t4453 = t453 * t4452; + const double t4454 = 0.165625e-1 * t4453; + const double t4455 = t1400 * t966; + const double t4456 = t328 * t4455; + const double t4457 = 0.478125e-1 * t4456; + const double t4460 = t3957 * t987; + const double t4461 = t4420 * t4460; + const double t4462 = 0.33125e-1 * t4461; + const double t4463 = t4424 * t4221; + const double t4464 = 0.496875e-1 * t4463; + const double t4465 = t4429 * t4224; + const double t4466 = 0.27604166666666666667e-1 * t4465; + const double t4467 = t1385 * t1062; + const double t4468 = t453 * t4467; + const double t4469 = 0.165625e-1 * t4468; + const double t4470 = t1390 * t1157; + const double t4471 = t199 * t4470; + const double t4472 = 0.478125e-1 * t4471; + const double t4475 = t4146 * t987; + const double t4476 = t4442 * t4475; + const double t4477 = 0.33125e-1 * t4476; + const double t4478 = t4446 * t4347; + const double t4479 = 0.496875e-1 * t4478; + const double t4480 = t453 * t1351; + const double t4481 = 0.27604166666666666667e-1 * t4480; + const double t4482 = t4449 * t4354; + const double t4483 = 0.27604166666666666667e-1 * t4482; + const double t4484 = t1395 * t1062; + const double t4485 = t453 * t4484; + const double t4486 = 0.165625e-1 * t4485; + const double t4487 = t1162 * t1401; + const double t4488 = 0.95625e-1 * t4487; + const double t4489 = t1400 * t1269; + const double t4490 = t328 * t4489; + const double t4491 = 0.478125e-1 * t4490; + const double t4494 = t13 * t13; + const double t4496 = t14 * t4494 * t13; + const double t4497 = t294 * t4496; + const double t4498 = t42 * t195; + const double t4500 = 0.165625e-1 * t4497 * t4498; + const double t4501 = t430 * t1275; + const double t4502 = t135 * t1301; + const double t4504 = 0.165625e-1 * t4501 * t4502; + const double t4505 = t132 * t144; + const double t4506 = t1299 * t639; + const double t4507 = t4505 * t4506; + const double t4509 = 0.16781321040762193395e-2 * t4501 * t4507; + const double t4510 = t748 * t166; + const double t4512 = t616 * t188; + const double t4513 = t591 * t4512; + const double t4514 = t4510 * t1566 * t4513; + const double t4516 = t1290 * t1290; + const double t4517 = t4516 * t748; + const double t4520 = t183 * t2016; + const double t4521 = t1784 * t587; + const double t4522 = t4521 * t4516; + const double t4525 = t626 * t587; + const double t4526 = t4525 * t170; + const double t4527 = t4520 * t4526; + const double t4528 = t4527 * t180; + const double t4530 = 0.28234466758480466999e-3 * t4514 - 0.8673628188205199462e0 * t4517 * t1295 + 0.57119737665102352616e0 * t4520 * t4522 - 0.1859366460452550541e-3 * t4528; + const double t4531 = t144 * t4530; + const double t4532 = t4531 * t639; + const double t4533 = t1280 * t4532; + const double t4534 = t1299 * t1299; + const double t4535 = t144 * t4534; + const double t4536 = t4535 * t1507; + const double t4537 = t1280 * t4536; + const double t4538 = t198 * t201; + const double t4540 = 0.478125e-1 * t4538 * t322; + const double t4542 = 0.95625e-1 * t1303 * t1331; + const double t4543 = t748 * t289; + const double t4544 = t4543 * t2944; + const double t4545 = t66 * t301; + const double t4546 = t4545 * t311; + const double t4547 = t616 * t4546; + const double t4550 = t1316 * t1316; + const double t4551 = t4550 * t748; + const double t4554 = t2118 * t750; + const double t4555 = t4554 * t4550; + const double t4558 = t4074 * t294; + const double t4559 = t4073 * t4558; + const double t4561 = t297 * t46 * t177; + const double t4562 = t4561 * t302; + const double t4565 = 0.28234466758480466999e-3 * t4544 * t4547 - 0.8673628188205199462e0 * t4551 * t1321 + 0.57119737665102352616e0 * t4073 * t4555 - 0.1859366460452550541e-3 * t4559 * t4562; + const double t4566 = t4565 * t805; + const double t4569 = t1325 * t1325; + const double t4570 = t4569 * t2156; + const double t4575 = piecewise_functor_3( t203, 0.0, t1306 * t4566 * t319 / 0.2e1 - t1306 * t4570 * t319 / 0.2e1 ); + const double t4576 = t201 * t4575; + const double t4578 = 0.2390625e-1 * t199 * t4576; + const double t4580 = t9 * t30; + const double t4581 = t42 * t6; + const double t4582 = t4580 * t4581; + const double t4583 = t16 * t132; + const double t4584 = t4583 * t4103; + const double t4588 = t1340 * t748; + const double t4591 = t4520 * t1784; + const double t4592 = t4130 * t1290; + const double t4596 = 0.56468933516960933999e-3 * t4514 - 0.8673628188205199462e0 * t4588 * t1296 + 0.57119737665102352616e0 * t4591 * t4592 - 0.3718732920905101082e-3 * t4528; + const double t4597 = t4596 * t639; + const double t4598 = t1337 * t4597; + const double t4600 = t1507 * t1299; + const double t4601 = t4102 * t4600; + const double t4603 = t1275 * t42; + const double t4605 = 0.165625e-1 * t4603 * t1351; + const double t4606 = t430 * t1350; + const double t4608 = 0.165625e-1 * t4606 * t4502; + const double t4611 = t1340 * t1340; + const double t4612 = t4611 * t748; + const double t4615 = t4521 * t4611; + const double t4619 = 0.112937867033921868e-2 * t4514 - 0.8673628188205199462e0 * t4612 * t1295 + 0.57119737665102352616e0 * t4520 * t4615 - 0.74374658418102021641e-3 * t4528; + const double t4620 = t4619 * t639; + const double t4621 = t1337 * t4620; + const double t4623 = t1347 * t1347; + const double t4624 = t4623 * t1507; + const double t4625 = t1337 * t4624; + const double t4627 = t135 * t4103; + const double t4629 = 0.165625e-1 * t4606 * t4627; + const double t4630 = t144 * t4596; + const double t4631 = t4630 * t639; + const double t4632 = t1280 * t4631; + const double t4633 = t1280 * t4601; + const double t4635 = t25 * t25; + const double t4637 = t26 * t4635 * t25; + const double t4638 = t401 * t4637; + const double t4640 = 0.165625e-1 * t4638 * t4498; + const double t4642 = 0.16781321040762193395e-2 * t4606 * t4507; + const double t4643 = t327 * t330; + const double t4645 = 0.478125e-1 * t4643 * t426; + const double t4647 = 0.95625e-1 * t1354 * t1381; + const double t4648 = t748 * t396; + const double t4649 = t4648 * t3234; + const double t4650 = t66 * t405; + const double t4651 = t4650 * t415; + const double t4652 = t616 * t4651; + const double t4655 = t1366 * t1366; + const double t4656 = t4655 * t748; + const double t4659 = t2428 * t913; + const double t4660 = t4659 * t4655; + const double t4663 = t4190 * t401; + const double t4664 = t4189 * t4663; + const double t4665 = t4561 * t406; + const double t4668 = 0.28234466758480466999e-3 * t4649 * t4652 - 0.8673628188205199462e0 * t4656 * t1371 + 0.57119737665102352616e0 * t4189 * t4660 - 0.1859366460452550541e-3 * t4664 * t4665; + const double t4669 = t4668 * t957; + const double t4672 = t1375 * t1375; + const double t4673 = t4672 * t2464; + const double t4678 = piecewise_functor_3( t332, 0.0, t1306 * t4669 * t423 / 0.2e1 - t1306 * t4673 * t423 / 0.2e1 ); + const double t4679 = t330 * t4678; + const double t4681 = 0.2390625e-1 * t328 * t4679; + const double t4684 = 0.1e1 / t3 / t291; + const double t4685 = t4684 * t4496; + const double t4686 = t4685 * t195; + const double t4688 = 0.33125e-1 * t1413 * t4686; + const double t4689 = t453 * t1385; + const double t4691 = 0.165625e-1 * t4689 * t4502; + const double t4693 = 0.95625e-1 * t1303 * t1391; + const double t4694 = t1390 * t1330; + const double t4696 = 0.478125e-1 * t199 * t4694; + const double t4698 = t4146 * t1275; + const double t4700 = 0.33125e-1 * t4442 * t4698; + const double t4701 = t453 * t1395; + const double t4703 = 0.165625e-1 * t4701 * t4502; + const double t4705 = t9 * t31; + const double t4706 = t452 * t33; + const double t4707 = t4705 * t4706; + const double t4710 = t452 * t37; + const double t4711 = t4705 * t4710; + const double t4712 = t28 * t132; + const double t4713 = t4712 * t4103; + const double t4716 = t3957 * t1350; + const double t4718 = 0.33125e-1 * t4420 * t4716; + const double t4721 = 0.1e1 / t19 / t398; + const double t4722 = t4721 * t4637; + const double t4723 = t4722 * t195; + const double t4725 = 0.33125e-1 * t1413 * t4723; + const double t4727 = 0.95625e-1 * t1354 * t1401; + const double t4728 = t1400 * t1380; + const double t4730 = 0.478125e-1 * t328 * t4728; + const double t4733 = 0.1e1 / t3 / t431; + const double t4734 = t4733 * t4496; + const double t4735 = t4734 * t195; + const double t4737 = 0.496875e-1 * t1449 * t4735; + const double t4738 = t200 * t200; + const double t4739 = 0.1e1 / t4738; + const double t4740 = t4739 * t322; + const double t4742 = 0.1434375e0 * t199 * t4740; + const double t4744 = t1448 * t37; + const double t4745 = t4705 * t4744; + const double t4746 = t4146 * t1385; + const double t4749 = 0.1e1 / t19 / t977; + const double t4750 = t4749 * t4637; + const double t4751 = t4750 * t195; + const double t4753 = 0.496875e-1 * t1449 * t4751; + const double t4754 = t329 * t329; + const double t4755 = 0.1e1 / t4754; + const double t4756 = t4755 * t426; + const double t4758 = 0.1434375e0 * t328 * t4756; - eps = t196 - t325 - t429; + v2rho2_aa = 0.2e1 * t463 + 0.2e1 * t643 + 0.95625e-1 * t646 - 0.478125e-1 * t816 - 0.478125e-1 * t968 + t9 * ( t1470 + t1472 + t1822 - t1826 + t1828 - t2170 - t2478 ); + v2rho2_ab = t463 + t643 + t647 - t817 - t969 + t999 + t1063 - t1160 + t1164 - t1272 + t9 * ( t2532 + t2533 + t2534 + t2725 + 0.478125e-1 * t2726 - 0.2390625e-1 * t3011 + 0.478125e-1 * t3013 - 0.2390625e-1 * t3299 ); + v2rho2_bb = 0.2e1 * t999 + 0.2e1 * t1063 - 0.478125e-1 * t1159 + 0.95625e-1 * t1163 - 0.478125e-1 * t1271 + t9 * ( t3360 + t3362 + t3508 - t3717 - t3721 + t3723 - t3951 ); + v2rhosigma_a_aa = t4100 * t9 + t1278 + t1302 - t1305 - t1333; + v2rhosigma_a_ab = t1336 * t4139 + t1349 * t4106 + 0.3e1 * t4108 * t4110 - t4108 * t4141 + t4104; + v2rhosigma_a_bb = t1353 + t1302 - t1356 - t1383 + t9 * ( t4144 - t4149 + t4154 + t4157 + t3975 + t3980 + t4024 - t4027 - t4159 - t4215 ); + v2rhosigma_b_aa = t1278 + t1302 - t1305 - t1333 + t9 * ( t4220 - t4223 + t4226 + t4229 + t4232 + t4236 + t4264 - t4266 - t4268 - t4310 ); + v2rhosigma_b_ab = t1336 * t4341 + t1349 * t4314 + 0.3e1 * t4108 * t4316 - t4108 * t4343 + t4104; + v2rhosigma_b_bb = t4418 * t9 + t1302 + t1353 - t1356 - t1383; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = -t1388 + t1393 + t9 * ( -t4423 + t4426 + t4428 - t4431 - t4434 - t4436 + t4439 ); + v2rhotau_a_b = -t1398 + t1403 + t9 * ( -t4445 + t4448 - t4451 - t4454 + t4457 ); + v2rhotau_b_a = -t1388 + t1393 + t9 * ( -t4462 + t4464 - t4466 - t4469 + t4472 ); + v2rhotau_b_b = -t1398 + t1403 + t9 * ( -t4477 + t4479 + t4481 - t4483 - t4486 - t4488 + t4491 ); + v2sigma2_aa_aa = t9 * ( t4500 + t4504 + t4509 + t4533 - t4537 - t4540 - t4542 - t4578 ); + v2sigma2_aa_ab = 0.16781321040762193395e-2 * t4582 * t4584 + t1336 * t4598 - t4108 * t4601; + v2sigma2_aa_bb = t9 * ( t4605 + t4608 + t4509 + t4533 - t4537 ); + v2sigma2_ab_ab = t1336 * t4621 - t1336 * t4625; + v2sigma2_ab_bb = t9 * ( t4629 + t4632 - t4633 ); + v2sigma2_bb_bb = t9 * ( t4640 + t4608 + t4642 + t4533 - t4537 - t4645 - t4647 - t4681 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t9 * ( -t4688 - t4691 + t4693 + t4696 ); + v2sigmatau_aa_b = t9 * ( -t4700 - t4703 ); + v2sigmatau_ab_a = -0.16781321040762193395e-2 * t4707 * t4584; + v2sigmatau_ab_b = -0.16781321040762193395e-2 * t4711 * t4713; + v2sigmatau_bb_a = t9 * ( -t4718 - t4691 ); + v2sigmatau_bb_b = t9 * ( -t4725 - t4703 + t4727 + t4730 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t9 * ( t4737 - t4742 ); + v2tau2_ab = 0.496875e-1 * t4745 * t4746; + v2tau2_bb = t9 * ( t4753 - t4758 ); } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t46 = constants::m_cbrt_3; constexpr double t48 = constants::m_cbrt_one_ov_pi; constexpr double t50 = constants::m_cbrt_4; @@ -826,6 +5568,8 @@ struct kernel_traits< BuiltinPKZB_C > : constexpr double t581 = t63 * t153; constexpr double t616 = t177 * t51; constexpr double t1283 = t581 * t50; + constexpr double t1601 = t64 * t50; + constexpr double t2029 = t133 * t133; const double t2 = rho_a * rho_a; @@ -1599,9 +6343,1679 @@ struct kernel_traits< BuiltinPKZB_C > : const double t1400 = 0.1e1 / t329 / tau_b; const double t1401 = t1400 * t426; const double t1403 = 0.478125e-1 * t328 * t1401; + const double t1410 = t448 * t448; + const double t1413 = t30 * t452; + const double t1414 = t448 * t459; + const double t1418 = 0.1e1 / t4 / t291; + const double t1419 = sigma_aa * t1418; + const double t1424 = 0.1e1 / t14; + const double t1425 = t440 * t440; + const double t1426 = t1424 * t1425; + const double t1429 = 0.1e1 / t572; + const double t1430 = t8 * t1429; + const double t1431 = -t437 + t1430; + const double t1432 = t15 * t1431; + const double t1435 = 0.1e1 / t26; + const double t1436 = t444 * t444; + const double t1437 = t1435 * t1436; + const double t1440 = -t1431; + const double t1441 = t27 * t1440; + const double t1444 = 0.88e2 / 0.9e1 * t1419 * t16 - 0.8e2 / 0.9e1 * t434 * t441 + 0.1e2 / 0.9e1 * t7 * t1426 + 0.5e1 / 0.3e1 * t7 * t1432 + 0.1e2 / 0.9e1 * t23 * t1437 + 0.5e1 / 0.3e1 * t23 * t1441; + const double t1447 = t41 * t41; + const double t1448 = 0.1e1 / t1447; + const double t1449 = t31 * t1448; + const double t1450 = t459 * t459; + const double t1453 = tau_a * t433; + const double t1466 = 0.4e2 / 0.9e1 * t1453 * t16 - 0.5e2 / 0.9e1 * t454 * t441 + 0.1e2 / 0.9e1 * t34 * t1426 + 0.5e1 / 0.3e1 * t34 * t1432 + 0.1e2 / 0.9e1 * t38 * t1437 + 0.5e1 / 0.3e1 * t38 * t1441; + const double t1469 = 0.165625e-1 * t1410 * t42 - 0.6625e-1 * t1413 * t1414 + 0.165625e-1 * t430 * t1444 + 0.496875e-1 * t1449 * t1450 - 0.165625e-1 * t453 * t1466; + const double t1470 = t1469 * t195; + const double t1471 = t462 * t642; + const double t1472 = 0.2e1 * t1471; + const double t1474 = 0.8e1 * t501 * t546; + const double t1475 = t496 * t513; + const double t1476 = 0.8e1 * t1475; + const double t1478 = 0.8e1 * t496 * t546; + const double t1479 = t81 * t80; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t79 * t1480; + const double t1483 = 0.2e2 * t1481 * t127; + const double t1484 = t78 * t82; + const double t1486 = 0.12e2 * t1484 * t127; + const double t1487 = t495 * t500; + const double t1489 = 0.32e2 * t1487 * t127; + const double t1490 = t512 * t545; + const double t1491 = t83 * t1490; + const double t1492 = 0.2e1 * t1491; + const double t1493 = t501 * t513; + const double t1494 = 0.8e1 * t1493; + const double t1495 = t142 * t192; + const double t1496 = t568 * t568; + const double t1500 = t51 * t148; + const double t1503 = 0.14764627977777777777e-2 * t49 * t1500 * t75; + const double t1504 = t637 * t637; + const double t1506 = t191 * t191; + const double t1507 = 0.1e1 / t1506; + const double t1510 = t439 * t439; + const double t1513 = 0.2e1 * t1431; + const double t1517 = piecewise_functor_3( t84, 0.0, -0.2e1 / 0.9e1 * t652 * t1510 + 0.2e1 / 0.3e1 * t207 * t1513 ); + const double t1518 = t507 * t507; + const double t1521 = -t1513; + const double t1525 = piecewise_functor_3( t90, 0.0, -0.2e1 / 0.9e1 * t821 * t1518 + 0.2e1 / 0.3e1 * t333 * t1521 ); + const double t1527 = t1517 / 0.2e1 + t1525 / 0.2e1; + const double t1532 = 0.1e1 / t52 / t81; + const double t1533 = t146 * t1532; + const double t1536 = 0.35e2 / 0.432e3 * t1533 * t95 * t155; + const double t1537 = t575 * t579; + const double t1538 = t1537 * t583; + const double t1540 = t95 * t175; + const double t1541 = t149 * t1540; + const double t1542 = t50 * t1496; + const double t1543 = t581 * t1542; + const double t1547 = t581 * t50 * t1527; + const double t1551 = 0.1e1 / t586 / t165; + const double t1552 = t158 * t1551; + const double t1553 = t1552 * t589; + const double t1554 = t600 * t600; + const double t1555 = t51 * t1554; + const double t1556 = t164 * t164; + const double t1558 = t592 * t1555 * t1556; + const double t1561 = t608 * t173; + const double t1562 = t588 * t1561; + const double t1563 = t1562 * t603; + const double t1565 = t588 * t168; + const double t1566 = t170 * t173; + const double t1567 = t1566 * t614; + const double t1568 = t1565 * t1567; + const double t1569 = t600 * t164; + const double t1570 = t1569 * t568; + const double t1571 = t179 * t1570; + const double t1574 = t512 * t46; + const double t1575 = t1574 * t552; + const double t1576 = 0.36622894612013090108e-3 * t1575; + const double t1577 = t533 * t119; + const double t1578 = 0.1e1 / t1577; + const double t1579 = t540 * t540; + const double t1581 = t1578 * t1579 * t541; + const double t1583 = 0.11696447245269292414e1 * t555 * t1581; + const double t1587 = t465 * t519; + const double t1591 = t518 * t106; + const double t1592 = 0.1e1 / t1591; + const double t1593 = t101 * t1592; + const double t1594 = t525 * t525; + const double t1595 = t1594 * t526; + const double t1600 = 0.1e1 / t58 / t55 * t63; + const double t1603 = 0.1e1 / t66 / t80; + const double t1604 = t1601 * t1603; + const double t1605 = t1600 * t1604; + const double t1607 = t475 * t148; + const double t1608 = t474 * t1607; + const double t1610 = t49 * t1500; + const double t1612 = 0.1e1/safe_math::sqrt( t55 ); + const double t1613 = t1612 * t63; + const double t1614 = t1613 * t1604; + const double t1616 = t482 * t1607; + const double t1619 = t65 * t50 * t1603; + const double t1621 = -0.78438333333333333333e0 * t1605 + 0.15687666666666666667e1 * t1608 + 0.68863333333333333333e0 * t1610 + 0.14025833333333333333e0 * t1614 + 0.28051666666666666667e0 * t1616 + 0.17365833333333333333e0 * t1619; + const double t1622 = t1621 * t526; + const double t1625 = t518 * t518; + const double t1626 = 0.1e1 / t1625; + const double t1627 = t101 * t1626; + const double t1628 = t109 * t109; + const double t1629 = 0.1e1 / t1628; + const double t1630 = t1594 * t1629; + const double t1633 = t465 * t471; + const double t1636 = 0.35616666666666666666e-1 * t204 * t1633 * t492; + const double t1637 = t470 * t71; + const double t1638 = 0.1e1 / t1637; + const double t1639 = t57 * t1638; + const double t1640 = t490 * t490; + const double t1641 = t1640 * t491; + const double t1643 = 0.2e1 * t1639 * t1641; + const double t1650 = -0.42198333333333333333e0 * t1605 + 0.84396666666666666666e0 * t1608 + 0.39862222222222222223e0 * t1610 + 0.68258333333333333333e-1 * t1614 + 0.13651666666666666667e0 * t1616 + 0.13692777777777777778e0 * t1619; + const double t1651 = t1650 * t491; + const double t1653 = 0.1e1 * t472 * t1651; + const double t1654 = t470 * t470; + const double t1655 = 0.1e1 / t1654; + const double t1656 = t57 * t1655; + const double t1657 = t74 * t74; + const double t1658 = 0.1e1 / t1657; + const double t1659 = t1640 * t1658; + const double t1661 = 0.16081979498692535067e2 * t1656 * t1659; + const double t1665 = t465 * t534; + const double t1669 = t114 * t1578; + const double t1670 = t1579 * t541; + const double t1679 = -0.57538888888888888889e0 * t1605 + 0.11507777777777777778e1 * t1608 + 0.40256666666666666667e0 * t1610 + 0.366775e-1 * t1614 + 0.73355e-1 * t1616 + 0.137975e0 * t1619; + const double t1680 = t1679 * t541; + const double t1683 = t533 * t533; + const double t1684 = 0.1e1 / t1683; + const double t1685 = t114 * t1684; + const double t1686 = t122 * t122; + const double t1687 = 0.1e1 / t1686; + const double t1688 = t1579 * t1687; + const double t1691 = -0.70983522622222222221e-3 * t49 * t1500 * t110 - 0.34246666666666666666e-1 * t204 * t1587 * t527 - 0.2e1 * t1593 * t1595 + 0.1e1 * t520 * t1622 + 0.32163958997385070134e2 * t1627 * t1630 + t1503 + t1636 + t1643 - t1653 - t1661 - 0.24415263074675393405e-3 * t49 * t1500 * t123 - 0.10843581300301739842e-1 * t204 * t1665 * t542 - 0.11696447245269292414e1 * t1669 * t1670 + 0.5848223622634646207e0 * t535 * t1680 + 0.17315859105681463759e2 * t1685 * t1688; + const double t1692 = t99 * t1691; + const double t1693 = t83 * t1692; + const double t1694 = t1684 * t1579; + const double t1695 = t1694 * t1687; + const double t1697 = 0.17315859105681463759e2 * t555 * t1695; + const double t1699 = t534 * t1679 * t541; + const double t1701 = 0.5848223622634646207e0 * t555 * t1699; + const double t1702 = t512 * t114; + const double t1703 = t1702 * t557; + const double t1704 = 0.11696447245269292414e1 * t1703; + const double t1705 = 0.1e1 / t137; + const double t1711 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t1705 * t1510 + 0.4e1 / 0.3e1 * t87 * t1513 ); + const double t1712 = 0.1e1 / t139; + const double t1718 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t1712 * t1518 + 0.4e1 / 0.3e1 * t91 * t1521 ); + const double t1720 = ( t1711 + t1718 ) * t98; + const double t1721 = t1720 * t126; + const double t1722 = t83 * t1721; + const double t1723 = -t1576 + t1583 + t1693 - t1697 - t1701 - t1704 + t1722 + t1492 - t1494 - t1474 + t1476; + const double t1725 = t475 * t148 * t123; + const double t1727 = 0.24415263074675393405e-3 * t550 * t1725; + const double t1729 = 0.19751673498613801407e-1 * t1720 * t124; + const double t1730 = t99 * t49; + const double t1731 = t466 * t557; + const double t1733 = 0.10843581300301739842e-1 * t1730 * t1731; + const double t1734 = t1478 - t1643 + t1727 + t1729 + t1661 + t1653 - t1636 + t1483 + t1486 - t1489 - t1503 + t1733; + const double t1736 = ( t1723 + t1734 ) * t158; + const double t1740 = t133 * t614; + const double t1741 = t1740 * t1496; + const double t1744 = t596 * t1527; + const double t1747 = -0.12e2 * t160 * t1741 + 0.3e1 * t160 * t1744 - t162 * t1736 + 0.6e1 * t594 * t597; + const double t1750 = t592 * t51 * t1747 * t164; + const double t1754 = t592 * t1555 * t164; + const double t1758 = 0.1e1 / t66 / t1479; + const double t1759 = t168 * t1758; + const double t1762 = 0.56688979511669985553e-2 * t167 * t1759 * t180; + const double t1763 = t167 * t1561; + const double t1764 = t1763 * t618; + const double t1767 = 0.1e1 / t174 / t143; + const double t1768 = t1767 * t46; + const double t1769 = t616 * t1496; + const double t1770 = t1768 * t1769; + const double t1773 = t616 * t1527; + const double t1774 = t615 * t1773; + const double t1777 = t1536 + 0.7e1 / 0.72e2 * t1538 + t1541 * t1543 / 0.16e2 - t580 * t1547 / 0.48e2 + 0.42874018118069736972e-3 * t1553 * t1558 + 0.20007875121765877254e-2 * t1563 + 0.17149607247227894789e-2 * t1568 * t1571 - 0.21437009059034868486e-3 * t590 * t1750 - 0.21437009059034868486e-3 * t590 * t1754 + t1762 + 0.80031500487063509015e-2 * t1764 + 0.42874018118069736972e-2 * t612 * t1770 - 0.85748036236139473944e-3 * t612 * t1774; + const double t1778 = t1777 * t158; + const double t1784 = 0.1e1 / t625 / t187; + const double t1785 = t633 * t633; + const double t1786 = t1784 * t1785; + const double t1789 = t183 * t1554; + const double t1806 = 0.13170898365871023197e1 * t1552 * t1789 * t1556 - 0.13170898365871023197e1 * t588 * t621 * t600 * t164 - 0.65854491829355115987e0 * t588 * t183 * t1747 * t164 - 0.65854491829355115987e0 * t588 * t1789 * t164 + 0.65854491829355115987e0 * t167 * t1777; + const double t1807 = t626 * t1806; + const double t1810 = 0.65854491829355115987e0 * t1778 * t188 - 0.13170898365871023197e1 * t622 * t634 + 0.13170898365871023197e1 * t184 * t1786 - 0.65854491829355115987e0 * t184 * t1807; + const double t1814 = -t135 * t144 * t1504 * t1507 + t135 * t144 * t1810 * t639 + 0.6e1 * t135 * t1495 * t1496 + 0.3e1 * t135 * t1527 * t560 - t1474 + t1476 + t1478 + t1483 + t1486 - t1489 + t1492 - t1494 - t1503 + t1722; + const double t1815 = t135 * t143; + const double t1816 = t637 * t639; + const double t1820 = 0.6e1 * t1815 * t1816 * t568 - t1576 + t1583 - t1636 - t1643 + t1653 + t1661 + t1693 - t1697 - t1701 - t1704 + t1727 + t1729 + t1733; + const double t1821 = t1814 + t1820; + const double t1822 = t45 * t1821; + const double t1823 = 0.1e1 / t291; + const double t1824 = t197 * t1823; + const double t1825 = t1824 * t323; + const double t1826 = 0.1434375e0 * t1825; + const double t1827 = t645 * t815; + const double t1828 = 0.95625e-1 * t1827; + const double t1830 = t204 * t1281 * t208; + const double t1831 = 0.23744444444444444444e-1 * t1830; + const double t1833 = t204 * t648 * t655; + const double t1835 = t12 * t12; + const double t1837 = 0.1e1 / t87 / t1835; + const double t1838 = t1837 * t1510; + const double t1843 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t1838 - t652 * t1513 / 0.3e1 ); + const double t1845 = t204 * t205 * t1843; + const double t1847 = t1831 - 0.35616666666666666666e-1 * t1833 + 0.53425e-1 * t1845; + const double t1849 = 0.621814e-1 * t1847 * t228; + const double t1850 = t659 * t663; + const double t1852 = 0.2e1 * t1850 * t685; + const double t1853 = t662 * t224; + const double t1854 = 0.1e1 / t1853; + const double t1855 = t212 * t1854; + const double t1856 = t683 * t683; + const double t1857 = t1856 * t684; + const double t1859 = 0.2e1 * t1855 * t1857; + const double t1861 = 0.1e1 / t213 / t210; + const double t1862 = t667 * t667; + const double t1863 = t1861 * t1862; + const double t1865 = 0.4e1 / 0.9e1 * t1830; + const double t1867 = t1865 - 0.2e1 / 0.3e1 * t1833 + t1845; + const double t1868 = t665 * t1867; + const double t1870 = 0.39862222222222222223e0 * t1830; + const double t1873 = 0.1e1/safe_math::sqrt( t210 ); + const double t1874 = t1873 * t1862; + const double t1876 = t672 * t1867; + const double t1878 = t1603 * t173; + const double t1880 = t218 * t1878 * t220; + const double t1881 = 0.13692777777777777778e0 * t1880; + const double t1883 = t218 * t675 * t679; + const double t1885 = t655 * t655; + const double t1887 = t218 * t219 * t1885; + const double t1889 = t208 * t1843; + const double t1891 = t218 * t219 * t1889; + const double t1893 = -0.9494625e0 * t1863 + 0.1898925e1 * t1868 + t1870 - 0.59793333333333333334e0 * t1833 + 0.8969e0 * t1845 + 0.15358125e0 * t1874 + 0.3071625e0 * t1876 + t1881 - 0.32862666666666666666e0 * t1883 + 0.24647e0 * t1887 + 0.24647e0 * t1891; + const double t1894 = t1893 * t684; + const double t1896 = 0.1e1 * t664 * t1894; + const double t1897 = t662 * t662; + const double t1898 = 0.1e1 / t1897; + const double t1899 = t212 * t1898; + const double t1900 = t227 * t227; + const double t1901 = 0.1e1 / t1900; + const double t1902 = t1856 * t1901; + const double t1904 = 0.16081979498692535067e2 * t1899 * t1902; + const double t1905 = 0.22831111111111111111e-1 * t1830; + const double t1908 = t1905 - 0.34246666666666666666e-1 * t1833 + 0.5137e-1 * t1845; + const double t1911 = t690 * t694; + const double t1914 = t693 * t244; + const double t1915 = 0.1e1 / t1914; + const double t1916 = t239 * t1915; + const double t1917 = t702 * t702; + const double t1918 = t1917 * t703; + const double t1923 = 0.68863333333333333333e0 * t1830; + const double t1928 = 0.17365833333333333333e0 * t1880; + const double t1932 = -0.17648625e1 * t1863 + 0.3529725e1 * t1868 + t1923 - 0.103295e1 * t1833 + 0.1549425e1 * t1845 + 0.31558125e0 * t1874 + 0.6311625e0 * t1876 + t1928 - 0.41678e0 * t1883 + 0.312585e0 * t1887 + 0.312585e0 * t1891; + const double t1933 = t1932 * t703; + const double t1936 = t693 * t693; + const double t1937 = 0.1e1 / t1936; + const double t1938 = t239 * t1937; + const double t1939 = t247 * t247; + const double t1940 = 0.1e1 / t1939; + const double t1941 = t1917 * t1940; + const double t1944 = 0.12361111111111111111e-1 * t1830; + const double t1947 = t1944 - 0.18541666666666666667e-1 * t1833 + 0.278125e-1 * t1845; + const double t1948 = t1947 * t261; + const double t1950 = t709 * t713; + const double t1953 = t712 * t257; + const double t1954 = 0.1e1 / t1953; + const double t1955 = t252 * t1954; + const double t1956 = t721 * t721; + const double t1957 = t1956 * t722; + const double t1962 = 0.40256666666666666667e0 * t1830; + const double t1967 = 0.137975e0 * t1880; + const double t1971 = -0.1294625e1 * t1863 + 0.258925e1 * t1868 + t1962 - 0.60385e0 * t1833 + 0.905775e0 * t1845 + 0.82524375e-1 * t1874 + 0.16504875e0 * t1876 + t1967 - 0.33114e0 * t1883 + 0.248355e0 * t1887 + 0.248355e0 * t1891; + const double t1972 = t1971 * t722; + const double t1975 = t712 * t712; + const double t1976 = 0.1e1 / t1975; + const double t1977 = t252 * t1976; + const double t1978 = t260 * t260; + const double t1979 = 0.1e1 / t1978; + const double t1980 = t1956 * t1979; + const double t1983 = -0.310907e-1 * t1908 * t248 + 0.2e1 * t1911 * t704 - 0.2e1 * t1916 * t1918 + 0.1e1 * t695 * t1933 + 0.32163958997385070134e2 * t1938 * t1941 + t1849 - t1852 + t1859 - t1896 - t1904 - 0.19751673498613801407e-1 * t1948 + 0.11696447245269292414e1 * t1950 * t723 - 0.11696447245269292414e1 * t1955 * t1957 + 0.5848223622634646207e0 * t714 * t1972 + 0.17315859105681463759e2 * t1977 * t1980; + const double t1984 = t237 * t1983; + const double t1986 = 0.19751673498613801407e-1 * t237 * t1948; + const double t1987 = t237 * t709; + const double t1989 = 0.11696447245269292414e1 * t1987 * t732; + const double t1991 = t1954 * t1956 * t722; + const double t1993 = 0.11696447245269292414e1 * t730 * t1991; + const double t1995 = t713 * t1971 * t722; + const double t1997 = 0.5848223622634646207e0 * t730 * t1995; + const double t1998 = t1976 * t1956; + const double t1999 = t1998 * t1979; + const double t2001 = 0.17315859105681463759e2 * t730 * t1999; + const double t2002 = t220 * t220; + const double t2003 = 0.1e1 / t2002; + const double t2004 = t66 * t2003; + const double t2006 = t179 * t2004 * t1885; + const double t2009 = -t1849 + t1852 - t1859 + t1896 + t1904 + t1984 + t1986 - t1989 + t1993 - t1997 - t2001; + const double t2011 = t301 * t2009 * t761; + const double t2012 = t758 * t2011; + const double t2016 = 0.1e1 / t747 / t132; + const double t2018 = 0.1e1 / t749 / t288; + const double t2019 = t2016 * t2018; + const double t2020 = t2019 * t197; + const double t2021 = t296 * t296; + const double t2023 = 0.1e1 / t2021 / t272; + const double t2024 = t294 * t2023; + const double t2025 = t2024 * t46; + const double t2026 = t2020 * t2025; + const double t2027 = t759 * t759; + const double t2028 = t301 * t2027; + const double t2030 = t287 * t287; + const double t2031 = t2029 * t2030; + const double t2032 = t2028 * t2031; + const double t2033 = t758 * t2032; + const double t2036 = t2016 * t750; + const double t2037 = t2036 * t197; + const double t2038 = t2037 * t2025; + const double t2039 = t2029 * t287; + const double t2040 = t2028 * t2039; + const double t2041 = t758 * t2040; + const double t2044 = t466 * t301; + const double t2045 = t178 * t2044; + const double t2047 = 0.47637797908966374413e-4 * t299 * t2045; + const double t2048 = t53 * t779; + const double t2050 = t179 * t2048 * t655; + const double t2051 = t299 * t2050; + const double t2054 = t179 * t780 * t1843; + const double t2057 = t291 * t431; + const double t2059 = 0.1e1 / t3 / t2057; + const double t2062 = t290 * t197 * t2059 * t297; + const double t2065 = t771 * t775; + const double t2069 = t735 * t739; + const double t2074 = t154 * t486 * t277; + const double t2076 = t276 * t2074 / 0.432e3; + const double t2077 = t67 * t301; + const double t2079 = t154 * t2077 * t655; + const double t2080 = t276 * t2079; + const double t2083 = t154 * t742 * t1843; + const double t2086 = t1419 * t275; + const double t2089 = t52 * t779; + const double t2091 = t154 * t2089 * t1885; + const double t2094 = t768 * t754; + const double t2095 = t2094 * t46; + const double t2096 = t752 * t2095; + const double t2099 = t616 * t53; + const double t2100 = t2099 * t762; + const double t2101 = t757 * t2100; + const double t2103 = t755 * t178; + const double t2104 = t752 * t2103; + const double t2105 = t300 * t779; + const double t2106 = t287 * t655; + const double t2107 = t792 * t2106; + const double t2108 = t2105 * t2107; + const double t2111 = 0.12862205435420921092e-2 * t299 * t2006 + 0.21437009059034868486e-3 * t757 * t2012 + 0.42874018118069736972e-3 * t2026 * t2033 - 0.21437009059034868486e-3 * t2038 * t2041 - t2047 - 0.57165357490759649296e-3 * t2051 - 0.42874018118069736972e-3 * t299 * t2054 + 0.72409452821628889107e-2 * t2062 * t303 - 0.15244095330869239812e-2 * t2065 + 0.45732285992607719436e-2 * t771 * t782 - t2069 / 0.54e2 + t735 * t744 / 0.18e2 - t2076 - t2080 / 0.144e3 - t276 * t2083 / 0.96e2 + 0.11e2 / 0.108e3 * t2086 * t279 + t276 * t2091 / 0.48e2 - 0.22866142996303859718e-2 * t2096 * t763 + 0.28582678745379824648e-3 * t2101 - 0.85748036236139473944e-3 * t2104 * t2108; + const double t2112 = t2111 * t158; + const double t2118 = 0.1e1 / t789 / t310; + const double t2119 = t799 * t799; + const double t2120 = t2118 * t2119; + const double t2123 = t2019 * t306; + const double t2124 = t2027 * t2029; + const double t2126 = 0.1e1 / t296 / t272; + const double t2127 = t2126 * t2030; + const double t2128 = t2124 * t2127; + const double t2131 = t751 * t785; + const double t2134 = t2009 * t133; + const double t2135 = t2134 * t793; + const double t2138 = t2036 * t306; + const double t2139 = t2126 * t287; + const double t2140 = t2124 * t2139; + const double t2145 = 0.13170898365871023197e1 * t2123 * t2128 + 0.13170898365871023197e1 * t2131 * t794 + 0.65854491829355115987e0 * t791 * t2135 - 0.65854491829355115987e0 * t2138 * t2140 + 0.65854491829355115987e0 * t290 * t2111; + const double t2146 = t790 * t2145; + const double t2149 = 0.65854491829355115987e0 * t2112 * t311 - 0.13170898365871023197e1 * t786 * t800 + 0.13170898365871023197e1 * t307 * t2120 - 0.65854491829355115987e0 * t307 * t2146; + const double t2153 = t803 * t803; + const double t2155 = t314 * t314; + const double t2156 = 0.1e1 / t2155; + const double t2159 = t135 * t2149 * t273 * t805 - t135 * t2153 * t2156 * t273 - t1849 + t1852 - t1859 + t1896 + t1904 + t1984 + t1986 - t1989 + t1993 - t1997 - t2001; + const double t2163 = piecewise_functor_3( t84, 0.0, t1513 ); + const double t2167 = piecewise_functor_3( t203, 0.0, t2159 * t319 / 0.2e1 + t808 * t810 + t318 * t2163 / 0.2e1 ); + const double t2168 = t201 * t2167; + const double t2169 = t199 * t2168; + const double t2170 = 0.2390625e-1 * t2169; + const double t2172 = t204 * t1281 * t334; + const double t2173 = 0.23744444444444444444e-1 * t2172; + const double t2175 = t204 * t648 * t824; + const double t2177 = t24 * t24; + const double t2179 = 0.1e1 / t91 / t2177; + const double t2180 = t2179 * t1518; + const double t2185 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t2180 - t821 * t1521 / 0.3e1 ); + const double t2187 = t204 * t205 * t2185; + const double t2189 = t2173 - 0.35616666666666666666e-1 * t2175 + 0.53425e-1 * t2187; + const double t2191 = 0.621814e-1 * t2189 * t352; + const double t2192 = t828 * t832; + const double t2194 = 0.2e1 * t2192 * t853; + const double t2195 = t831 * t348; + const double t2196 = 0.1e1 / t2195; + const double t2197 = t338 * t2196; + const double t2198 = t851 * t851; + const double t2199 = t2198 * t852; + const double t2201 = 0.2e1 * t2197 * t2199; + const double t2203 = 0.1e1 / t339 / t336; + const double t2204 = t836 * t836; + const double t2205 = t2203 * t2204; + const double t2207 = 0.4e1 / 0.9e1 * t2172; + const double t2209 = t2207 - 0.2e1 / 0.3e1 * t2175 + t2187; + const double t2210 = t834 * t2209; + const double t2212 = 0.39862222222222222223e0 * t2172; + const double t2215 = 0.1e1/safe_math::sqrt( t336 ); + const double t2216 = t2215 * t2204; + const double t2218 = t841 * t2209; + const double t2221 = t218 * t1878 * t344; + const double t2222 = 0.13692777777777777778e0 * t2221; + const double t2224 = t218 * t675 * t847; + const double t2226 = t824 * t824; + const double t2228 = t218 * t219 * t2226; + const double t2230 = t334 * t2185; + const double t2232 = t218 * t219 * t2230; + const double t2234 = -0.9494625e0 * t2205 + 0.1898925e1 * t2210 + t2212 - 0.59793333333333333334e0 * t2175 + 0.8969e0 * t2187 + 0.15358125e0 * t2216 + 0.3071625e0 * t2218 + t2222 - 0.32862666666666666666e0 * t2224 + 0.24647e0 * t2228 + 0.24647e0 * t2232; + const double t2235 = t2234 * t852; + const double t2237 = 0.1e1 * t833 * t2235; + const double t2238 = t831 * t831; + const double t2239 = 0.1e1 / t2238; + const double t2240 = t338 * t2239; + const double t2241 = t351 * t351; + const double t2242 = 0.1e1 / t2241; + const double t2243 = t2198 * t2242; + const double t2245 = 0.16081979498692535067e2 * t2240 * t2243; + const double t2246 = 0.22831111111111111111e-1 * t2172; + const double t2249 = t2246 - 0.34246666666666666666e-1 * t2175 + 0.5137e-1 * t2187; + const double t2252 = t858 * t862; + const double t2255 = t861 * t361; + const double t2256 = 0.1e1 / t2255; + const double t2257 = t356 * t2256; + const double t2258 = t870 * t870; + const double t2259 = t2258 * t871; + const double t2264 = 0.68863333333333333333e0 * t2172; + const double t2269 = 0.17365833333333333333e0 * t2221; + const double t2273 = -0.17648625e1 * t2205 + 0.3529725e1 * t2210 + t2264 - 0.103295e1 * t2175 + 0.1549425e1 * t2187 + 0.31558125e0 * t2216 + 0.6311625e0 * t2218 + t2269 - 0.41678e0 * t2224 + 0.312585e0 * t2228 + 0.312585e0 * t2232; + const double t2274 = t2273 * t871; + const double t2277 = t861 * t861; + const double t2278 = 0.1e1 / t2277; + const double t2279 = t356 * t2278; + const double t2280 = t364 * t364; + const double t2281 = 0.1e1 / t2280; + const double t2282 = t2258 * t2281; + const double t2285 = 0.12361111111111111111e-1 * t2172; + const double t2288 = t2285 - 0.18541666666666666667e-1 * t2175 + 0.278125e-1 * t2187; + const double t2289 = t2288 * t378; + const double t2291 = t877 * t881; + const double t2294 = t880 * t374; + const double t2295 = 0.1e1 / t2294; + const double t2296 = t369 * t2295; + const double t2297 = t889 * t889; + const double t2298 = t2297 * t890; + const double t2303 = 0.40256666666666666667e0 * t2172; + const double t2308 = 0.137975e0 * t2221; + const double t2312 = -0.1294625e1 * t2205 + 0.258925e1 * t2210 + t2303 - 0.60385e0 * t2175 + 0.905775e0 * t2187 + 0.82524375e-1 * t2216 + 0.16504875e0 * t2218 + t2308 - 0.33114e0 * t2224 + 0.248355e0 * t2228 + 0.248355e0 * t2232; + const double t2313 = t2312 * t890; + const double t2316 = t880 * t880; + const double t2317 = 0.1e1 / t2316; + const double t2318 = t369 * t2317; + const double t2319 = t377 * t377; + const double t2320 = 0.1e1 / t2319; + const double t2321 = t2297 * t2320; + const double t2324 = -0.310907e-1 * t2249 * t365 + 0.2e1 * t2252 * t872 - 0.2e1 * t2257 * t2259 + 0.1e1 * t863 * t2274 + 0.32163958997385070134e2 * t2279 * t2282 + t2191 - t2194 + t2201 - t2237 - t2245 - 0.19751673498613801407e-1 * t2289 + 0.11696447245269292414e1 * t2291 * t891 - 0.11696447245269292414e1 * t2296 * t2298 + 0.5848223622634646207e0 * t882 * t2313 + 0.17315859105681463759e2 * t2318 * t2321; + const double t2325 = t237 * t2324; + const double t2327 = 0.19751673498613801407e-1 * t237 * t2289; + const double t2328 = t237 * t877; + const double t2330 = 0.11696447245269292414e1 * t2328 * t900; + const double t2332 = t2295 * t2297 * t890; + const double t2334 = 0.11696447245269292414e1 * t898 * t2332; + const double t2336 = t881 * t2312 * t890; + const double t2338 = 0.5848223622634646207e0 * t898 * t2336; + const double t2339 = t2317 * t2297; + const double t2340 = t2339 * t2320; + const double t2342 = 0.17315859105681463759e2 * t898 * t2340; + const double t2344 = t154 * t486 * t386; + const double t2346 = t385 * t2344 / 0.432e3; + const double t2347 = t67 * t405; + const double t2349 = t154 * t2347 * t824; + const double t2350 = t385 * t2349; + const double t2352 = t52 * t931; + const double t2354 = t154 * t2352 * t2226; + const double t2358 = t154 * t907 * t2185; + const double t2362 = 0.1e1 / t912 / t395; + const double t2363 = t2016 * t2362; + const double t2364 = t2363 * t326; + const double t2365 = t401 * t2023; + const double t2366 = t2365 * t46; + const double t2367 = t2364 * t2366; + const double t2368 = t919 * t919; + const double t2369 = t405 * t2368; + const double t2370 = t394 * t394; + const double t2371 = t2029 * t2370; + const double t2372 = t2369 * t2371; + const double t2373 = t758 * t2372; + const double t2376 = t2099 * t922; + const double t2377 = t918 * t2376; + const double t2379 = t916 * t178; + const double t2380 = t915 * t2379; + const double t2381 = t300 * t931; + const double t2382 = t394 * t824; + const double t2383 = t944 * t2382; + const double t2384 = t2381 * t2383; + const double t2387 = -t2191 + t2194 - t2201 + t2237 + t2245 + t2325 + t2327 - t2330 + t2334 - t2338 - t2342; + const double t2389 = t405 * t2387 * t921; + const double t2390 = t758 * t2389; + const double t2393 = t2016 * t913; + const double t2394 = t2393 * t326; + const double t2395 = t2394 * t2366; + const double t2396 = t2029 * t394; + const double t2397 = t2369 * t2396; + const double t2398 = t758 * t2397; + const double t2401 = t466 * t405; + const double t2402 = t178 * t2401; + const double t2404 = 0.47637797908966374413e-4 * t404 * t2402; + const double t2405 = t53 * t931; + const double t2407 = t179 * t2405 * t824; + const double t2408 = t404 * t2407; + const double t2410 = t344 * t344; + const double t2411 = 0.1e1 / t2410; + const double t2412 = t66 * t2411; + const double t2414 = t179 * t2412 * t2226; + const double t2418 = t179 * t932 * t2185; + const double t2421 = -t2346 - t2350 / 0.144e3 + t385 * t2354 / 0.48e2 - t385 * t2358 / 0.96e2 + 0.42874018118069736972e-3 * t2367 * t2373 + 0.28582678745379824648e-3 * t2377 - 0.85748036236139473944e-3 * t2380 * t2384 + 0.21437009059034868486e-3 * t918 * t2390 - 0.21437009059034868486e-3 * t2395 * t2398 - t2404 - 0.57165357490759649296e-3 * t2408 + 0.12862205435420921092e-2 * t404 * t2414 - 0.42874018118069736972e-3 * t404 * t2418; + const double t2422 = t2421 * t158; + const double t2428 = 0.1e1 / t941 / t414; + const double t2429 = t951 * t951; + const double t2430 = t2428 * t2429; + const double t2433 = t2363 * t410; + const double t2434 = t2368 * t2029; + const double t2435 = t2126 * t2370; + const double t2436 = t2434 * t2435; + const double t2439 = t914 * t937; + const double t2442 = t2387 * t133; + const double t2443 = t2442 * t945; + const double t2446 = t2393 * t410; + const double t2447 = t2126 * t394; + const double t2448 = t2434 * t2447; + const double t2453 = 0.13170898365871023197e1 * t2433 * t2436 + 0.13170898365871023197e1 * t2439 * t946 + 0.65854491829355115987e0 * t943 * t2443 - 0.65854491829355115987e0 * t2446 * t2448 + 0.65854491829355115987e0 * t397 * t2421; + const double t2454 = t942 * t2453; + const double t2457 = 0.65854491829355115987e0 * t2422 * t415 - 0.13170898365871023197e1 * t938 * t952 + 0.13170898365871023197e1 * t411 * t2430 - 0.65854491829355115987e0 * t411 * t2454; + const double t2461 = t955 * t955; + const double t2463 = t418 * t418; + const double t2464 = 0.1e1 / t2463; + const double t2467 = t135 * t2457 * t273 * t957 - t135 * t2461 * t2464 * t273 - t2191 + t2194 - t2201 + t2237 + t2245 + t2325 + t2327 - t2330 + t2334 - t2338 - t2342; + const double t2471 = piecewise_functor_3( t90, 0.0, t1521 ); + const double t2475 = piecewise_functor_3( t332, 0.0, t2467 * t423 / 0.2e1 + t960 * t962 + t422 * t2471 / 0.2e1 ); + const double t2476 = t330 * t2475; + const double t2477 = t328 * t2476; + const double t2478 = 0.2390625e-1 * t2477; + const double t2481 = t448 * t42; + const double t2484 = t987 * t459; + const double t2489 = t1424 * t973; + const double t2490 = t2489 * t440; + const double t2493 = t15 * t8; + const double t2494 = t2493 * t1429; + const double t2499 = t1435 * t983; + const double t2500 = t2499 * t444; + const double t2503 = t27 * t8; + const double t2504 = t2503 * t1429; + const double t2507 = -0.4e2 / 0.9e1 * t434 * t974 + 0.1e2 / 0.9e1 * t7 * t2490 + 0.5e1 / 0.3e1 * t7 * t2494 - 0.4e2 / 0.9e1 * t980 * t445 + 0.1e2 / 0.9e1 * t23 * t2500 - 0.5e1 / 0.3e1 * t23 * t2504; + const double t2510 = t995 * t448; + const double t2513 = t995 * t459; + const double t2528 = -0.25e2 / 0.9e1 * t454 * t974 + 0.1e2 / 0.9e1 * t34 * t2490 + 0.5e1 / 0.3e1 * t34 * t2494 - 0.25e2 / 0.9e1 * t991 * t445 + 0.1e2 / 0.9e1 * t38 * t2500 - 0.5e1 / 0.3e1 * t38 * t2504; + const double t2531 = 0.165625e-1 * t2481 * t987 - 0.33125e-1 * t1413 * t2484 + 0.165625e-1 * t430 * t2507 - 0.33125e-1 * t1413 * t2510 + 0.496875e-1 * t1449 * t2513 - 0.165625e-1 * t453 * t2528; + const double t2532 = t2531 * t195; + const double t2533 = t998 * t642; + const double t2534 = t462 * t1062; + const double t2535 = 0.4e1 * t1475; + const double t2536 = 0.4e1 * t1493; + const double t2539 = t207 * t8; + const double t2543 = piecewise_functor_3( t84, 0.0, -0.2e1 / 0.9e1 * t1064 * t439 + 0.4e1 / 0.3e1 * t2539 * t1429 ); + const double t2546 = t333 * t8; + const double t2550 = piecewise_functor_3( t90, 0.0, -0.2e1 / 0.9e1 * t1165 * t507 - 0.4e1 / 0.3e1 * t2546 * t1429 ); + const double t2552 = t2543 / 0.2e1 + t2550 / 0.2e1; + const double t2557 = t1537 * t1025; + const double t2560 = t581 * t1024 * t568; + const double t2563 = t50 * t2552; + const double t2564 = t581 * t2563; + const double t2567 = t1552 * t168; + const double t2568 = t1566 * t175; + const double t2569 = t2567 * t2568; + const double t2570 = t1034 * t1556; + const double t2571 = t2570 * t600; + const double t2572 = t179 * t2571; + const double t2575 = t1562 * t1037; + const double t2577 = t1034 * t164; + const double t2578 = t2577 * t568; + const double t2579 = t179 * t2578; + const double t2582 = t1008 * t46; + const double t2583 = t2582 * t552; + const double t2584 = 0.18311447306006545054e-3 * t2583; + const double t2585 = t496 * t1009; + const double t2586 = 0.4e1 * t2585; + const double t2587 = t501 * t1009; + const double t2588 = 0.4e1 * t2587; + const double t2589 = 0.18311447306006545054e-3 * t1575; + const double t2590 = -t1474 - t2535 + t1483 - t1486 + t1491 - t2536 - t1503 - t2584 + t2586 - t2588 - t2589 - t1636 + t1727; + const double t2591 = t1705 * t972; + const double t2594 = t87 * t8; + const double t2598 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t2591 * t439 + 0.8e1 / 0.3e1 * t2594 * t1429 ); + const double t2599 = t1712 * t1003; + const double t2602 = t91 * t8; + const double t2606 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t2599 * t507 - 0.8e1 / 0.3e1 * t2602 * t1429 ); + const double t2608 = ( t2598 + t2606 ) * t98; + const double t2609 = t2608 * t126; + const double t2610 = t83 * t2609; + const double t2611 = t1008 * t545; + const double t2612 = t83 * t2611; + const double t2613 = t1008 * t114; + const double t2614 = t2613 * t557; + const double t2615 = 0.5848223622634646207e0 * t2614; + const double t2616 = 0.5848223622634646207e0 * t1703; + const double t2618 = 0.19751673498613801407e-1 * t2608 * t124; + const double t2619 = t2610 + t2612 - t2615 - t1701 - t2616 - t1697 + t1583 + t2618 + t1693 + t1733 + t1653 + t1661 - t1643; + const double t2621 = ( t2590 + t2619 ) * t158; + const double t2627 = t160 * t133; + const double t2628 = t614 * t1020; + const double t2629 = t2628 * t568; + const double t2632 = t596 * t2552; + const double t2635 = 0.3e1 * t1029 * t597 + 0.3e1 * t1031 * t594 + 0.3e1 * t160 * t2632 - t162 * t2621 - 0.12e2 * t2627 * t2629; + const double t2638 = t592 * t51 * t2635 * t164; + const double t2641 = t1565 * t2568; + const double t2642 = t1034 * t600; + const double t2643 = t2642 * t164; + const double t2644 = t179 * t2643; + const double t2649 = t1020 * t600; + const double t2650 = t2649 * t164; + const double t2651 = t179 * t2650; + const double t2654 = t1763 * t1041; + const double t2656 = t1768 * t177; + const double t2657 = t51 * t1020; + const double t2659 = t2656 * t2657 * t568; + const double t2662 = t616 * t2552; + const double t2663 = t615 * t2662; + const double t2666 = t1536 + 0.7e1 / 0.144e3 * t1538 + 0.7e1 / 0.144e3 * t2557 + t1541 * t2560 / 0.16e2 - t580 * t2564 / 0.48e2 + 0.42874018118069736972e-3 * t2569 * t2572 + 0.10003937560882938627e-2 * t2575 + 0.85748036236139473944e-3 * t1568 * t2579 - 0.21437009059034868486e-3 * t590 * t2638 - 0.21437009059034868486e-3 * t2641 * t2644 + 0.10003937560882938627e-2 * t1563 + t1762 + 0.40015750243531754508e-2 * t1764 + 0.85748036236139473944e-3 * t1568 * t2651 + 0.40015750243531754507e-2 * t2654 + 0.42874018118069736972e-2 * t612 * t2659 - 0.85748036236139473944e-3 * t612 * t2663; + const double t2667 = t2666 * t158; + const double t2674 = t1784 * t1054; + const double t2675 = t2674 * t633; + const double t2678 = t1552 * t183; + const double t2689 = t588 * t183; + const double t2698 = 0.13170898365871023197e1 * t2678 * t2571 - 0.65854491829355115987e0 * t588 * t621 * t1034 * t164 - 0.65854491829355115987e0 * t588 * t183 * t2635 * t164 - 0.65854491829355115987e0 * t2689 * t2643 - 0.65854491829355115987e0 * t588 * t1044 * t600 * t164 + 0.65854491829355115987e0 * t167 * t2666; + const double t2699 = t626 * t2698; + const double t2702 = 0.65854491829355115987e0 * t2667 * t188 - 0.65854491829355115987e0 * t1045 * t634 - 0.65854491829355115987e0 * t622 * t1055 + 0.13170898365871023197e1 * t184 * t2675 - 0.65854491829355115987e0 * t184 * t2699; + const double t2706 = t1816 * t1020; + const double t2709 = t135 * t144 * t2702 * t639 + 0.3e1 * t135 * t2552 * t560 + 0.3e1 * t1815 * t2706 - t1474 + t1483 - t1486 + t1491 - t1503 - t1636 + t1727 - t2535 - t2536 - t2584 + t2586 - t2588 - t2589; + const double t2710 = t135 * t144; + const double t2711 = t1058 * t1507; + const double t2714 = t1058 * t639; + const double t2718 = t135 * t142; + const double t2719 = t192 * t1020; + const double t2723 = 0.3e1 * t1815 * t2714 * t568 - t2710 * t2711 * t637 + 0.6e1 * t2718 * t2719 * t568 + t1583 - t1643 + t1653 + t1661 + t1693 - t1697 - t1701 + t1733 + t2610 + t2612 - t2615 - t2616 + t2618; + const double t2724 = t2709 + t2723; + const double t2725 = t45 * t2724; + const double t2726 = t645 * t1158; + const double t2730 = t204 * t648 * t1066; + const double t2732 = t1837 * t972; + const double t2735 = t652 * t8; + const double t2739 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t2732 * t439 - 0.2e1 / 0.3e1 * t2735 * t1429 ); + const double t2741 = t204 * t205 * t2739; + const double t2743 = t1831 - 0.17808333333333333333e-1 * t1833 - 0.17808333333333333333e-1 * t2730 + 0.53425e-1 * t2741; + const double t2745 = 0.621814e-1 * t2743 * t228; + const double t2746 = t1070 * t663; + const double t2748 = 0.1e1 * t2746 * t685; + const double t2750 = 0.1e1 * t1850 * t1084; + const double t2751 = t1084 * t683; + const double t2753 = 0.2e1 * t1855 * t2751; + const double t2754 = t1861 * t1073; + const double t2755 = t2754 * t667; + const double t2759 = t1865 - t1833 / 0.3e1 - t2730 / 0.3e1 + t2741; + const double t2760 = t665 * t2759; + const double t2765 = t1873 * t1073; + const double t2766 = t2765 * t667; + const double t2768 = t672 * t2759; + const double t2772 = t218 * t675 * t1079; + const double t2774 = t655 * t1066; + const double t2776 = t218 * t219 * t2774; + const double t2778 = t208 * t2739; + const double t2780 = t218 * t219 * t2778; + const double t2782 = -0.9494625e0 * t2755 + 0.1898925e1 * t2760 + t1870 - 0.29896666666666666667e0 * t1833 - 0.29896666666666666667e0 * t2730 + 0.8969e0 * t2741 + 0.15358125e0 * t2766 + 0.3071625e0 * t2768 + t1881 - 0.16431333333333333333e0 * t1883 - 0.16431333333333333333e0 * t2772 + 0.24647e0 * t2776 + 0.24647e0 * t2780; + const double t2783 = t2782 * t684; + const double t2785 = 0.1e1 * t664 * t2783; + const double t2786 = t1083 * t1901; + const double t2787 = t2786 * t683; + const double t2789 = 0.16081979498692535067e2 * t1899 * t2787; + const double t2793 = t1905 - 0.17123333333333333333e-1 * t1833 - 0.17123333333333333333e-1 * t2730 + 0.5137e-1 * t2741; + const double t2796 = t1088 * t694; + const double t2801 = t1096 * t702; + const double t2815 = -0.17648625e1 * t2755 + 0.3529725e1 * t2760 + t1923 - 0.516475e0 * t1833 - 0.516475e0 * t2730 + 0.1549425e1 * t2741 + 0.31558125e0 * t2766 + 0.6311625e0 * t2768 + t1928 - 0.20839e0 * t1883 - 0.20839e0 * t2772 + 0.312585e0 * t2776 + 0.312585e0 * t2780; + const double t2816 = t2815 * t703; + const double t2819 = t1095 * t1940; + const double t2820 = t2819 * t702; + const double t2826 = t1944 - 0.92708333333333333333e-2 * t1833 - 0.92708333333333333333e-2 * t2730 + 0.278125e-1 * t2741; + const double t2827 = t2826 * t261; + const double t2829 = t1100 * t713; + const double t2834 = t1108 * t721; + const double t2848 = -0.1294625e1 * t2755 + 0.258925e1 * t2760 + t1962 - 0.301925e0 * t1833 - 0.301925e0 * t2730 + 0.905775e0 * t2741 + 0.82524375e-1 * t2766 + 0.16504875e0 * t2768 + t1967 - 0.16557e0 * t1883 - 0.16557e0 * t2772 + 0.248355e0 * t2776 + 0.248355e0 * t2780; + const double t2849 = t2848 * t722; + const double t2852 = t1107 * t1979; + const double t2853 = t2852 * t721; + const double t2856 = -0.310907e-1 * t2793 * t248 + 0.1e1 * t2796 * t704 + 0.1e1 * t1911 * t1096 - 0.2e1 * t1916 * t2801 + 0.1e1 * t695 * t2816 + 0.32163958997385070134e2 * t1938 * t2820 + t2745 - t2748 - t2750 + t2753 - t2785 - t2789 - 0.19751673498613801407e-1 * t2827 + 0.5848223622634646207e0 * t2829 * t723 + 0.5848223622634646207e0 * t1950 * t1108 - 0.11696447245269292414e1 * t1955 * t2834 + 0.5848223622634646207e0 * t714 * t2849 + 0.17315859105681463759e2 * t1977 * t2853; + const double t2857 = t237 * t2856; + const double t2859 = 0.19751673498613801407e-1 * t237 * t2827; + const double t2860 = t237 * t1100; + const double t2862 = 0.5848223622634646207e0 * t2860 * t732; + const double t2864 = 0.5848223622634646207e0 * t1987 * t1116; + const double t2865 = t1954 * t1107; + const double t2866 = t2865 * t723; + const double t2868 = 0.11696447245269292414e1 * t730 * t2866; + const double t2870 = t713 * t2848 * t722; + const double t2872 = 0.5848223622634646207e0 * t730 * t2870; + const double t2873 = t1976 * t1107; + const double t2874 = t1979 * t721; + const double t2875 = t2873 * t2874; + const double t2877 = 0.17315859105681463759e2 * t730 * t2875; + const double t2883 = t154 * t2077 * t1066; + const double t2884 = t276 * t2883; + const double t2886 = t275 * t153; + const double t2887 = t7 * t2886; + const double t2888 = t50 * t52; + const double t2889 = t779 * t1066; + const double t2890 = t2889 * t655; + const double t2891 = t2888 * t2890; + const double t2895 = t154 * t742 * t2739; + const double t2898 = t2024 * t178; + const double t2899 = t2020 * t2898; + const double t2900 = t1123 * t2029; + const double t2901 = t2030 * t759; + const double t2902 = t2900 * t2901; + const double t2903 = t302 * t2902; + const double t2908 = t2099 * t1125; + const double t2909 = t757 * t2908; + const double t2911 = t1137 * t2106; + const double t2912 = t2105 * t2911; + const double t2915 = -t2069 / 0.108e3 - t2076 - t2080 / 0.288e3 + t735 * t1120 / 0.36e2 - t2884 / 0.288e3 + t2887 * t2891 / 0.48e2 - t276 * t2895 / 0.96e2 + 0.42874018118069736972e-3 * t2899 * t2903 - 0.11433071498151929859e-2 * t2096 * t1126 + 0.14291339372689912324e-3 * t2909 - 0.42874018118069736972e-3 * t2104 * t2912; + const double t2916 = -t2745 + t2748 + t2750 - t2753 + t2785 + t2789 + t2857 + t2859 - t2862 - t2864 + t2868 - t2872 - t2877; + const double t2918 = t301 * t2916 * t761; + const double t2919 = t758 * t2918; + const double t2922 = t2037 * t2898; + const double t2923 = t759 * t287; + const double t2924 = t2900 * t2923; + const double t2925 = t302 * t2924; + const double t2931 = t1066 * t759; + const double t2932 = t2931 * t761; + const double t2933 = t2105 * t2932; + const double t2939 = t179 * t2048 * t1066; + const double t2940 = t299 * t2939; + const double t2942 = t290 * t197; + const double t2944 = t294 * t297 * t46; + const double t2945 = t2942 * t2944; + const double t2946 = t2003 * t1066; + const double t2947 = t2946 * t655; + const double t2948 = t758 * t2947; + const double t2952 = t179 * t780 * t2739; + const double t2955 = 0.21437009059034868486e-3 * t757 * t2919 - 0.21437009059034868486e-3 * t2922 * t2925 + 0.14291339372689912324e-3 * t2101 - 0.76220476654346199061e-3 * t2065 - t2047 - 0.28582678745379824648e-3 * t2051 - 0.42874018118069736972e-3 * t2104 * t2933 + 0.22866142996303859718e-2 * t771 * t1130 - 0.28582678745379824648e-3 * t2940 + 0.12862205435420921092e-2 * t2945 * t2948 - 0.42874018118069736972e-3 * t299 * t2952; + const double t2956 = t2915 + t2955; + const double t2957 = t2956 * t158; + const double t2964 = t2118 * t1143; + const double t2965 = t2964 * t799; + const double t2968 = t306 * t1123; + const double t2969 = t2019 * t2968; + const double t2970 = t2029 * t2126; + const double t2971 = t2970 * t2901; + const double t2976 = t2916 * t133; + const double t2977 = t2976 * t793; + const double t2980 = t2036 * t2968; + const double t2981 = t2970 * t2923; + const double t2984 = t751 * t1133; + const double t2989 = 0.13170898365871023197e1 * t2969 * t2971 + 0.65854491829355115987e0 * t2131 * t1138 + 0.65854491829355115987e0 * t791 * t2977 - 0.65854491829355115987e0 * t2980 * t2981 + 0.65854491829355115987e0 * t2984 * t794 + 0.65854491829355115987e0 * t290 * t2956; + const double t2990 = t790 * t2989; + const double t2993 = 0.65854491829355115987e0 * t2957 * t311 - 0.65854491829355115987e0 * t1134 * t800 - 0.65854491829355115987e0 * t786 * t1144 + 0.13170898365871023197e1 * t307 * t2965 - 0.65854491829355115987e0 * t307 * t2990; + const double t2997 = t1147 * t2156; + const double t3000 = t135 * t273 * t2993 * t805 - t1306 * t2997 * t803 - t2745 + t2748 + t2750 - t2753 + t2785 + t2789 + t2857 + t2859 - t2862 - t2864 + t2868 - t2872 - t2877; + const double t3004 = 0.2e1 * t1430; + const double t3005 = piecewise_functor_3( t84, 0.0, t3004 ); + const double t3009 = piecewise_functor_3( t203, 0.0, t1151 * t810 / 0.2e1 + t808 * t1153 / 0.2e1 + t3000 * t319 / 0.2e1 + t318 * t3005 / 0.2e1 ); + const double t3010 = t201 * t3009; + const double t3011 = t199 * t3010; + const double t3013 = t1162 * t967; + const double t3017 = t204 * t648 * t1167; + const double t3019 = t2179 * t1003; + const double t3022 = t821 * t8; + const double t3026 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t3019 * t507 + 0.2e1 / 0.3e1 * t3022 * t1429 ); + const double t3028 = t204 * t205 * t3026; + const double t3030 = t2173 - 0.17808333333333333333e-1 * t2175 - 0.17808333333333333333e-1 * t3017 + 0.53425e-1 * t3028; + const double t3032 = 0.621814e-1 * t3030 * t352; + const double t3033 = t1171 * t832; + const double t3035 = 0.1e1 * t3033 * t853; + const double t3037 = 0.1e1 * t2192 * t1185; + const double t3038 = t1185 * t851; + const double t3040 = 0.2e1 * t2197 * t3038; + const double t3041 = t2203 * t1174; + const double t3042 = t3041 * t836; + const double t3046 = t2207 - t2175 / 0.3e1 - t3017 / 0.3e1 + t3028; + const double t3047 = t834 * t3046; + const double t3052 = t2215 * t1174; + const double t3053 = t3052 * t836; + const double t3055 = t841 * t3046; + const double t3059 = t218 * t675 * t1180; + const double t3061 = t824 * t1167; + const double t3063 = t218 * t219 * t3061; + const double t3065 = t334 * t3026; + const double t3067 = t218 * t219 * t3065; + const double t3069 = -0.9494625e0 * t3042 + 0.1898925e1 * t3047 + t2212 - 0.29896666666666666667e0 * t2175 - 0.29896666666666666667e0 * t3017 + 0.8969e0 * t3028 + 0.15358125e0 * t3053 + 0.3071625e0 * t3055 + t2222 - 0.16431333333333333333e0 * t2224 - 0.16431333333333333333e0 * t3059 + 0.24647e0 * t3063 + 0.24647e0 * t3067; + const double t3070 = t3069 * t852; + const double t3072 = 0.1e1 * t833 * t3070; + const double t3073 = t1184 * t2242; + const double t3074 = t3073 * t851; + const double t3076 = 0.16081979498692535067e2 * t2240 * t3074; + const double t3080 = t2246 - 0.17123333333333333333e-1 * t2175 - 0.17123333333333333333e-1 * t3017 + 0.5137e-1 * t3028; + const double t3083 = t1189 * t862; + const double t3088 = t1197 * t870; + const double t3102 = -0.17648625e1 * t3042 + 0.3529725e1 * t3047 + t2264 - 0.516475e0 * t2175 - 0.516475e0 * t3017 + 0.1549425e1 * t3028 + 0.31558125e0 * t3053 + 0.6311625e0 * t3055 + t2269 - 0.20839e0 * t2224 - 0.20839e0 * t3059 + 0.312585e0 * t3063 + 0.312585e0 * t3067; + const double t3103 = t3102 * t871; + const double t3106 = t1196 * t2281; + const double t3107 = t3106 * t870; + const double t3113 = t2285 - 0.92708333333333333333e-2 * t2175 - 0.92708333333333333333e-2 * t3017 + 0.278125e-1 * t3028; + const double t3114 = t3113 * t378; + const double t3116 = t1201 * t881; + const double t3121 = t1209 * t889; + const double t3135 = -0.1294625e1 * t3042 + 0.258925e1 * t3047 + t2303 - 0.301925e0 * t2175 - 0.301925e0 * t3017 + 0.905775e0 * t3028 + 0.82524375e-1 * t3053 + 0.16504875e0 * t3055 + t2308 - 0.16557e0 * t2224 - 0.16557e0 * t3059 + 0.248355e0 * t3063 + 0.248355e0 * t3067; + const double t3136 = t3135 * t890; + const double t3139 = t1208 * t2320; + const double t3140 = t3139 * t889; + const double t3143 = -0.310907e-1 * t3080 * t365 + 0.1e1 * t3083 * t872 + 0.1e1 * t2252 * t1197 - 0.2e1 * t2257 * t3088 + 0.1e1 * t863 * t3103 + 0.32163958997385070134e2 * t2279 * t3107 + t3032 - t3035 - t3037 + t3040 - t3072 - t3076 - 0.19751673498613801407e-1 * t3114 + 0.5848223622634646207e0 * t3116 * t891 + 0.5848223622634646207e0 * t2291 * t1209 - 0.11696447245269292414e1 * t2296 * t3121 + 0.5848223622634646207e0 * t882 * t3136 + 0.17315859105681463759e2 * t2318 * t3140; + const double t3144 = t237 * t3143; + const double t3146 = 0.19751673498613801407e-1 * t237 * t3114; + const double t3147 = t237 * t1201; + const double t3149 = 0.5848223622634646207e0 * t3147 * t900; + const double t3151 = 0.5848223622634646207e0 * t2328 * t1217; + const double t3152 = t2295 * t1208; + const double t3153 = t3152 * t891; + const double t3155 = 0.11696447245269292414e1 * t898 * t3153; + const double t3157 = t881 * t3135 * t890; + const double t3159 = 0.5848223622634646207e0 * t898 * t3157; + const double t3160 = t2317 * t1208; + const double t3161 = t2320 * t889; + const double t3162 = t3160 * t3161; + const double t3164 = 0.17315859105681463759e2 * t898 * t3162; + const double t3165 = t1220 * t904; + const double t3171 = t154 * t2347 * t1167; + const double t3172 = t385 * t3171; + const double t3174 = t23 * t2886; + const double t3175 = t931 * t1167; + const double t3176 = t3175 * t824; + const double t3177 = t2888 * t3176; + const double t3181 = t154 * t907 * t3026; + const double t3184 = t2365 * t178; + const double t3185 = t2364 * t3184; + const double t3186 = t1227 * t2029; + const double t3187 = t2370 * t919; + const double t3188 = t3186 * t3187; + const double t3189 = t406 * t3188; + const double t3192 = t2099 * t1229; + const double t3193 = t918 * t3192; + const double t3195 = t1249 * t2382; + const double t3196 = t2381 * t3195; + const double t3199 = -t3032 + t3035 + t3037 - t3040 + t3072 + t3076 + t3144 + t3146 - t3149 - t3151 + t3155 - t3159 - t3164; + const double t3201 = t405 * t3199 * t921; + const double t3202 = t758 * t3201; + const double t3205 = -t3165 / 0.108e3 + t1220 * t909 / 0.36e2 - t2346 - t2350 / 0.288e3 - t3172 / 0.288e3 + t3174 * t3177 / 0.48e2 - t385 * t3181 / 0.96e2 + 0.42874018118069736972e-3 * t3185 * t3189 + 0.14291339372689912324e-3 * t3193 - 0.42874018118069736972e-3 * t2380 * t3196 + 0.21437009059034868486e-3 * t918 * t3202; + const double t3206 = t2394 * t3184; + const double t3207 = t919 * t394; + const double t3208 = t3186 * t3207; + const double t3209 = t406 * t3208; + const double t3212 = t1235 * t754; + const double t3213 = t3212 * t46; + const double t3214 = t915 * t3213; + const double t3217 = t1238 * t927; + const double t3223 = t1167 * t919; + const double t3224 = t3223 * t921; + const double t3225 = t2381 * t3224; + const double t3229 = t179 * t2405 * t1167; + const double t3230 = t404 * t3229; + const double t3232 = t397 * t326; + const double t3234 = t401 * t297 * t46; + const double t3235 = t3232 * t3234; + const double t3236 = t2411 * t1167; + const double t3237 = t3236 * t824; + const double t3238 = t758 * t3237; + const double t3242 = t179 * t932 * t3026; + const double t3245 = -0.21437009059034868486e-3 * t3206 * t3209 - 0.11433071498151929859e-2 * t3214 * t923 - 0.7622047665434619906e-3 * t3217 + 0.22866142996303859718e-2 * t1238 * t934 + 0.14291339372689912324e-3 * t2377 - t2404 - 0.28582678745379824648e-3 * t2408 - 0.42874018118069736972e-3 * t2380 * t3225 - 0.28582678745379824648e-3 * t3230 + 0.12862205435420921092e-2 * t3235 * t3238 - 0.42874018118069736972e-3 * t404 * t3242; + const double t3246 = t3205 + t3245; + const double t3247 = t3246 * t158; + const double t3254 = t2428 * t1255; + const double t3255 = t3254 * t951; + const double t3258 = t410 * t1227; + const double t3259 = t2363 * t3258; + const double t3260 = t2970 * t3187; + const double t3265 = t3199 * t133; + const double t3266 = t3265 * t945; + const double t3269 = t2393 * t3258; + const double t3270 = t2970 * t3207; + const double t3273 = t914 * t1245; + const double t3278 = 0.13170898365871023197e1 * t3259 * t3260 + 0.65854491829355115987e0 * t2439 * t1250 + 0.65854491829355115987e0 * t943 * t3266 - 0.65854491829355115987e0 * t3269 * t3270 + 0.65854491829355115987e0 * t3273 * t946 + 0.65854491829355115987e0 * t397 * t3246; + const double t3279 = t942 * t3278; + const double t3282 = 0.65854491829355115987e0 * t3247 * t415 - 0.65854491829355115987e0 * t1246 * t952 - 0.65854491829355115987e0 * t938 * t1256 + 0.13170898365871023197e1 * t411 * t3255 - 0.65854491829355115987e0 * t411 * t3279; + const double t3286 = t1259 * t2464; + const double t3289 = t135 * t273 * t3282 * t957 - t1306 * t3286 * t955 - t3032 + t3035 + t3037 - t3040 + t3072 + t3076 + t3144 + t3146 - t3149 - t3151 + t3155 - t3159 - t3164; + const double t3293 = piecewise_functor_3( t90, 0.0, -t3004 ); + const double t3297 = piecewise_functor_3( t332, 0.0, t1263 * t962 / 0.2e1 + t960 * t1265 / 0.2e1 + t3289 * t423 / 0.2e1 + t422 * t3293 / 0.2e1 ); + const double t3298 = t330 * t3297; + const double t3299 = t328 * t3298; + const double t3308 = t987 * t987; + const double t3311 = t987 * t995; + const double t3314 = t973 * t973; + const double t3315 = t1424 * t3314; + const double t3318 = t437 + t1430; + const double t3319 = t15 * t3318; + const double t3323 = 0.1e1 / t20 / t398; + const double t3324 = sigma_bb * t3323; + const double t3329 = t983 * t983; + const double t3330 = t1435 * t3329; + const double t3333 = -t3318; + const double t3334 = t27 * t3333; + const double t3337 = 0.1e2 / 0.9e1 * t7 * t3315 + 0.5e1 / 0.3e1 * t7 * t3319 + 0.88e2 / 0.9e1 * t3324 * t28 - 0.8e2 / 0.9e1 * t980 * t984 + 0.1e2 / 0.9e1 * t23 * t3330 + 0.5e1 / 0.3e1 * t23 * t3334; + const double t3340 = t995 * t995; + const double t3347 = tau_b * t979; + const double t3356 = 0.1e2 / 0.9e1 * t34 * t3315 + 0.5e1 / 0.3e1 * t34 * t3319 + 0.4e2 / 0.9e1 * t3347 * t28 - 0.5e2 / 0.9e1 * t991 * t984 + 0.1e2 / 0.9e1 * t38 * t3330 + 0.5e1 / 0.3e1 * t38 * t3334; + const double t3359 = 0.165625e-1 * t3308 * t42 - 0.6625e-1 * t1413 * t3311 + 0.165625e-1 * t430 * t3337 + 0.496875e-1 * t1449 * t3340 - 0.165625e-1 * t453 * t3356; + const double t3360 = t3359 * t195; + const double t3361 = t998 * t1062; + const double t3362 = 0.2e1 * t3361; + const double t3363 = t2714 * t1020; + const double t3366 = t972 * t972; + const double t3369 = 0.2e1 * t3318; + const double t3373 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t1705 * t3366 + 0.4e1 / 0.3e1 * t87 * t3369 ); + const double t3374 = t1003 * t1003; + const double t3377 = -t3369; + const double t3381 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t1712 * t3374 + 0.4e1 / 0.3e1 * t91 * t3377 ); + const double t3383 = ( t3373 + t3381 ) * t98; + const double t3385 = 0.19751673498613801407e-1 * t3383 * t124; + const double t3386 = 0.36622894612013090108e-3 * t2583; + const double t3387 = 0.8e1 * t2585; + const double t3388 = 0.8e1 * t2587; + const double t3389 = t1058 * t1058; + const double t3393 = t3383 * t126; + const double t3394 = t83 * t3393; + const double t3395 = -t135 * t144 * t1507 * t3389 + 0.6e1 * t1815 * t3363 - t1474 - t1478 + t1483 + t1486 + t1489 - t1503 - t1636 + t3385 - t3386 - t3387 - t3388 + t3394; + const double t3396 = 0.2e1 * t2612; + const double t3397 = 0.11696447245269292414e1 * t2614; + const double t3403 = piecewise_functor_3( t84, 0.0, -0.2e1 / 0.9e1 * t652 * t3366 + 0.2e1 / 0.3e1 * t207 * t3369 ); + const double t3409 = piecewise_functor_3( t90, 0.0, -0.2e1 / 0.9e1 * t821 * t3374 + 0.2e1 / 0.3e1 * t333 * t3377 ); + const double t3411 = t3403 / 0.2e1 + t3409 / 0.2e1; + const double t3416 = t1020 * t1020; + const double t3417 = t50 * t3416; + const double t3418 = t581 * t3417; + const double t3421 = t50 * t3411; + const double t3422 = t581 * t3421; + const double t3425 = t1034 * t1034; + const double t3426 = t51 * t3425; + const double t3428 = t592 * t3426 * t1556; + const double t3432 = t2577 * t1020; + const double t3433 = t179 * t3432; + const double t3436 = -t3397 + t3396 - t3387 - t3388 + t3394 - t3386 + t3385 + t1583 + t1693 - t1697 - t1701; + const double t3437 = -t1474 - t1478 - t1643 + t1727 + t1661 + t1653 - t1636 + t1483 + t1486 + t1489 - t1503 + t1733; + const double t3439 = ( t3436 + t3437 ) * t158; + const double t3443 = t1740 * t3416; + const double t3446 = t596 * t3411; + const double t3449 = 0.6e1 * t1029 * t1031 - 0.12e2 * t160 * t3443 + 0.3e1 * t160 * t3446 - t162 * t3439; + const double t3452 = t592 * t51 * t3449 * t164; + const double t3456 = t592 * t3426 * t164; + const double t3460 = t616 * t3416; + const double t3461 = t1768 * t3460; + const double t3464 = t616 * t3411; + const double t3465 = t615 * t3464; + const double t3468 = t1536 + 0.7e1 / 0.72e2 * t2557 + t1541 * t3418 / 0.16e2 - t580 * t3422 / 0.48e2 + 0.42874018118069736972e-3 * t1553 * t3428 + 0.20007875121765877254e-2 * t2575 + 0.17149607247227894789e-2 * t1568 * t3433 - 0.21437009059034868486e-3 * t590 * t3452 - 0.21437009059034868486e-3 * t590 * t3456 + t1762 + 0.80031500487063509015e-2 * t2654 + 0.42874018118069736972e-2 * t612 * t3461 - 0.85748036236139473944e-3 * t612 * t3465; + const double t3469 = t3468 * t158; + const double t3474 = t1054 * t1054; + const double t3475 = t1784 * t3474; + const double t3478 = t183 * t3425; + const double t3495 = 0.13170898365871023197e1 * t1552 * t3478 * t1556 - 0.13170898365871023197e1 * t588 * t1044 * t1034 * t164 - 0.65854491829355115987e0 * t588 * t183 * t3449 * t164 - 0.65854491829355115987e0 * t588 * t3478 * t164 + 0.65854491829355115987e0 * t167 * t3468; + const double t3496 = t626 * t3495; + const double t3499 = 0.65854491829355115987e0 * t3469 * t188 - 0.13170898365871023197e1 * t1045 * t1055 + 0.13170898365871023197e1 * t184 * t3475 - 0.65854491829355115987e0 * t184 * t3496; + const double t3506 = t135 * t144 * t3499 * t639 + 0.6e1 * t135 * t1495 * t3416 + 0.3e1 * t135 * t3411 * t560 + t1583 - t1643 + t1653 + t1661 + t1693 - t1697 - t1701 + t1727 + t1733 + t3396 - t3397; + const double t3507 = t3395 + t3506; + const double t3508 = t45 * t3507; + const double t3510 = t1837 * t3366; + const double t3512 = t652 * t3369; + const double t3515 = piecewise_functor_3( t84, 0.0, 0.4e1 / 0.9e1 * t3510 - t3512 / 0.3e1 ); + const double t3517 = t204 * t205 * t3515; + const double t3519 = t1831 - 0.35616666666666666666e-1 * t2730 + 0.53425e-1 * t3517; + const double t3521 = 0.621814e-1 * t3519 * t228; + const double t3523 = 0.2e1 * t2746 * t1084; + const double t3524 = t1083 * t1083; + const double t3525 = t3524 * t684; + const double t3527 = 0.2e1 * t1855 * t3525; + const double t3528 = t1073 * t1073; + const double t3529 = t1861 * t3528; + const double t3532 = t1865 - 0.2e1 / 0.3e1 * t2730 + t3517; + const double t3533 = t665 * t3532; + const double t3537 = t1873 * t3528; + const double t3539 = t672 * t3532; + const double t3542 = t1066 * t1066; + const double t3544 = t218 * t219 * t3542; + const double t3546 = t208 * t3515; + const double t3548 = t218 * t219 * t3546; + const double t3550 = -0.9494625e0 * t3529 + 0.1898925e1 * t3533 + t1870 - 0.59793333333333333334e0 * t2730 + 0.8969e0 * t3517 + 0.15358125e0 * t3537 + 0.3071625e0 * t3539 + t1881 - 0.32862666666666666666e0 * t2772 + 0.24647e0 * t3544 + 0.24647e0 * t3548; + const double t3551 = t3550 * t684; + const double t3553 = 0.1e1 * t664 * t3551; + const double t3554 = t3524 * t1901; + const double t3556 = 0.16081979498692535067e2 * t1899 * t3554; + const double t3559 = t1905 - 0.34246666666666666666e-1 * t2730 + 0.5137e-1 * t3517; + const double t3564 = t1095 * t1095; + const double t3565 = t3564 * t703; + const double t3577 = -0.17648625e1 * t3529 + 0.3529725e1 * t3533 + t1923 - 0.103295e1 * t2730 + 0.1549425e1 * t3517 + 0.31558125e0 * t3537 + 0.6311625e0 * t3539 + t1928 - 0.41678e0 * t2772 + 0.312585e0 * t3544 + 0.312585e0 * t3548; + const double t3578 = t3577 * t703; + const double t3581 = t3564 * t1940; + const double t3586 = t1944 - 0.18541666666666666667e-1 * t2730 + 0.278125e-1 * t3517; + const double t3587 = t3586 * t261; + const double t3591 = t1107 * t1107; + const double t3592 = t3591 * t722; + const double t3604 = -0.1294625e1 * t3529 + 0.258925e1 * t3533 + t1962 - 0.60385e0 * t2730 + 0.905775e0 * t3517 + 0.82524375e-1 * t3537 + 0.16504875e0 * t3539 + t1967 - 0.33114e0 * t2772 + 0.248355e0 * t3544 + 0.248355e0 * t3548; + const double t3605 = t3604 * t722; + const double t3608 = t3591 * t1979; + const double t3611 = -0.310907e-1 * t3559 * t248 + 0.2e1 * t2796 * t1096 - 0.2e1 * t1916 * t3565 + 0.1e1 * t695 * t3578 + 0.32163958997385070134e2 * t1938 * t3581 + t3521 - t3523 + t3527 - t3553 - t3556 - 0.19751673498613801407e-1 * t3587 + 0.11696447245269292414e1 * t2829 * t1108 - 0.11696447245269292414e1 * t1955 * t3592 + 0.5848223622634646207e0 * t714 * t3605 + 0.17315859105681463759e2 * t1977 * t3608; + const double t3612 = t237 * t3611; + const double t3614 = 0.19751673498613801407e-1 * t237 * t3587; + const double t3616 = 0.11696447245269292414e1 * t2860 * t1116; + const double t3618 = t1954 * t3591 * t722; + const double t3620 = 0.11696447245269292414e1 * t730 * t3618; + const double t3622 = t713 * t3604 * t722; + const double t3624 = 0.5848223622634646207e0 * t730 * t3622; + const double t3625 = t1976 * t3591; + const double t3626 = t3625 * t1979; + const double t3628 = 0.17315859105681463759e2 * t730 * t3626; + const double t3631 = t154 * t2089 * t3542; + const double t3635 = t154 * t742 * t3515; + const double t3638 = t1123 * t1123; + const double t3639 = t301 * t3638; + const double t3640 = t3639 * t2031; + const double t3641 = t758 * t3640; + const double t3645 = t287 * t1066; + const double t3646 = t1137 * t3645; + const double t3647 = t2105 * t3646; + const double t3650 = -t3521 + t3523 - t3527 + t3553 + t3556 + t3612 + t3614 - t3616 + t3620 - t3624 - t3628; + const double t3651 = t301 * t3650; + const double t3652 = t3651 * t761; + const double t3653 = t758 * t3652; + const double t3656 = t3639 * t2039; + const double t3657 = t758 * t3656; + const double t3662 = t179 * t2004 * t3542; + const double t3666 = t179 * t780 * t3515; + const double t3669 = -t2076 - t2884 / 0.144e3 + t276 * t3631 / 0.48e2 - t276 * t3635 / 0.96e2 + 0.42874018118069736972e-3 * t2026 * t3641 + 0.28582678745379824648e-3 * t2909 - 0.85748036236139473944e-3 * t2104 * t3647 + 0.21437009059034868486e-3 * t757 * t3653 - 0.21437009059034868486e-3 * t2038 * t3657 - t2047 - 0.57165357490759649296e-3 * t2940 + 0.12862205435420921092e-2 * t299 * t3662 - 0.42874018118069736972e-3 * t299 * t3666; + const double t3670 = t3669 * t158; + const double t3675 = t1143 * t1143; + const double t3676 = t2118 * t3675; + const double t3679 = t3638 * t2029; + const double t3680 = t3679 * t2127; + const double t3685 = t3650 * t133; + const double t3686 = t3685 * t793; + const double t3689 = t3679 * t2139; + const double t3694 = 0.13170898365871023197e1 * t2123 * t3680 + 0.13170898365871023197e1 * t2984 * t1138 + 0.65854491829355115987e0 * t791 * t3686 - 0.65854491829355115987e0 * t2138 * t3689 + 0.65854491829355115987e0 * t290 * t3669; + const double t3695 = t790 * t3694; + const double t3698 = 0.65854491829355115987e0 * t3670 * t311 - 0.13170898365871023197e1 * t1134 * t1144 + 0.13170898365871023197e1 * t307 * t3676 - 0.65854491829355115987e0 * t307 * t3695; + const double t3702 = t1147 * t1147; + const double t3706 = -t135 * t2156 * t273 * t3702 + t135 * t273 * t3698 * t805 - t3521 + t3523 - t3527 + t3553 + t3556 + t3612 + t3614 - t3616 + t3620 - t3624 - t3628; + const double t3710 = piecewise_functor_3( t84, 0.0, t3369 ); + const double t3714 = piecewise_functor_3( t203, 0.0, t3706 * t319 / 0.2e1 + t1151 * t1153 + t318 * t3710 / 0.2e1 ); + const double t3715 = t201 * t3714; + const double t3716 = t199 * t3715; + const double t3717 = 0.2390625e-1 * t3716; + const double t3718 = 0.1e1 / t398; + const double t3719 = t326 * t3718; + const double t3720 = t3719 * t427; + const double t3721 = 0.1434375e0 * t3720; + const double t3722 = t1162 * t1270; + const double t3723 = 0.95625e-1 * t3722; + const double t3725 = t2179 * t3374; + const double t3727 = t821 * t3377; + const double t3730 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t3725 - t3727 / 0.3e1 ); + const double t3732 = t204 * t205 * t3730; + const double t3734 = t2173 - 0.35616666666666666666e-1 * t3017 + 0.53425e-1 * t3732; + const double t3736 = 0.621814e-1 * t3734 * t352; + const double t3738 = 0.2e1 * t3033 * t1185; + const double t3739 = t1184 * t1184; + const double t3740 = t3739 * t852; + const double t3742 = 0.2e1 * t2197 * t3740; + const double t3743 = t1174 * t1174; + const double t3744 = t2203 * t3743; + const double t3747 = t2207 - 0.2e1 / 0.3e1 * t3017 + t3732; + const double t3748 = t834 * t3747; + const double t3752 = t2215 * t3743; + const double t3754 = t841 * t3747; + const double t3757 = t1167 * t1167; + const double t3759 = t218 * t219 * t3757; + const double t3761 = t334 * t3730; + const double t3763 = t218 * t219 * t3761; + const double t3765 = -0.9494625e0 * t3744 + 0.1898925e1 * t3748 + t2212 - 0.59793333333333333334e0 * t3017 + 0.8969e0 * t3732 + 0.15358125e0 * t3752 + 0.3071625e0 * t3754 + t2222 - 0.32862666666666666666e0 * t3059 + 0.24647e0 * t3759 + 0.24647e0 * t3763; + const double t3766 = t3765 * t852; + const double t3768 = 0.1e1 * t833 * t3766; + const double t3769 = t3739 * t2242; + const double t3771 = 0.16081979498692535067e2 * t2240 * t3769; + const double t3774 = t2246 - 0.34246666666666666666e-1 * t3017 + 0.5137e-1 * t3732; + const double t3779 = t1196 * t1196; + const double t3780 = t3779 * t871; + const double t3792 = -0.17648625e1 * t3744 + 0.3529725e1 * t3748 + t2264 - 0.103295e1 * t3017 + 0.1549425e1 * t3732 + 0.31558125e0 * t3752 + 0.6311625e0 * t3754 + t2269 - 0.41678e0 * t3059 + 0.312585e0 * t3759 + 0.312585e0 * t3763; + const double t3793 = t3792 * t871; + const double t3796 = t3779 * t2281; + const double t3801 = t2285 - 0.18541666666666666667e-1 * t3017 + 0.278125e-1 * t3732; + const double t3802 = t3801 * t378; + const double t3806 = t1208 * t1208; + const double t3807 = t3806 * t890; + const double t3819 = -0.1294625e1 * t3744 + 0.258925e1 * t3748 + t2303 - 0.60385e0 * t3017 + 0.905775e0 * t3732 + 0.82524375e-1 * t3752 + 0.16504875e0 * t3754 + t2308 - 0.33114e0 * t3059 + 0.248355e0 * t3759 + 0.248355e0 * t3763; + const double t3820 = t3819 * t890; + const double t3823 = t3806 * t2320; + const double t3826 = -0.310907e-1 * t3774 * t365 + 0.2e1 * t3083 * t1197 - 0.2e1 * t2257 * t3780 + 0.1e1 * t863 * t3793 + 0.32163958997385070134e2 * t2279 * t3796 + t3736 - t3738 + t3742 - t3768 - t3771 - 0.19751673498613801407e-1 * t3802 + 0.11696447245269292414e1 * t3116 * t1209 - 0.11696447245269292414e1 * t2296 * t3807 + 0.5848223622634646207e0 * t882 * t3820 + 0.17315859105681463759e2 * t2318 * t3823; + const double t3827 = t237 * t3826; + const double t3829 = 0.19751673498613801407e-1 * t237 * t3802; + const double t3831 = 0.11696447245269292414e1 * t3147 * t1217; + const double t3833 = t2295 * t3806 * t890; + const double t3835 = 0.11696447245269292414e1 * t898 * t3833; + const double t3837 = t881 * t3819 * t890; + const double t3839 = 0.5848223622634646207e0 * t898 * t3837; + const double t3840 = t2317 * t3806; + const double t3841 = t3840 * t2320; + const double t3843 = 0.17315859105681463759e2 * t898 * t3841; + const double t3847 = t179 * t932 * t3730; + const double t3850 = t398 * t977; + const double t3852 = 0.1e1 / t19 / t3850; + const double t3855 = t397 * t326 * t3852 * t297; + const double t3861 = t154 * t907 * t3730; + const double t3864 = t3324 * t275; + const double t3870 = t179 * t2412 * t3757; + const double t3874 = -t3736 + t3738 - t3742 + t3768 + t3771 + t3827 + t3829 - t3831 + t3835 - t3839 - t3843; + const double t3875 = t405 * t3874; + const double t3876 = t3875 * t921; + const double t3877 = t758 * t3876; + const double t3880 = t1227 * t1227; + const double t3881 = t405 * t3880; + const double t3882 = t3881 * t2371; + const double t3883 = t758 * t3882; + const double t3886 = t3881 * t2396; + const double t3887 = t758 * t3886; + const double t3892 = t154 * t2352 * t3757; + const double t3898 = t394 * t1167; + const double t3899 = t1249 * t3898; + const double t3900 = t2381 * t3899; + const double t3903 = -t3172 / 0.144e3 - 0.15244095330869239812e-2 * t3217 - t2346 - 0.42874018118069736972e-3 * t404 * t3847 + 0.72409452821628889107e-2 * t3855 * t407 + 0.45732285992607719436e-2 * t1238 * t1242 - t385 * t3861 / 0.96e2 + 0.11e2 / 0.108e3 * t3864 * t388 + t1220 * t1224 / 0.18e2 + 0.12862205435420921092e-2 * t404 * t3870 - 0.57165357490759649296e-3 * t3230 + 0.21437009059034868486e-3 * t918 * t3877 + 0.42874018118069736972e-3 * t2367 * t3883 - 0.21437009059034868486e-3 * t2395 * t3887 - t2404 - t3165 / 0.54e2 + t385 * t3892 / 0.48e2 + 0.28582678745379824648e-3 * t3193 - 0.22866142996303859718e-2 * t3214 * t1230 - 0.85748036236139473944e-3 * t2380 * t3900; + const double t3904 = t3903 * t158; + const double t3909 = t1255 * t1255; + const double t3910 = t2428 * t3909; + const double t3913 = t3880 * t2029; + const double t3914 = t3913 * t2435; + const double t3919 = t3874 * t133; + const double t3920 = t3919 * t945; + const double t3923 = t3913 * t2447; + const double t3928 = 0.13170898365871023197e1 * t2433 * t3914 + 0.13170898365871023197e1 * t3273 * t1250 + 0.65854491829355115987e0 * t943 * t3920 - 0.65854491829355115987e0 * t2446 * t3923 + 0.65854491829355115987e0 * t397 * t3903; + const double t3929 = t942 * t3928; + const double t3932 = 0.65854491829355115987e0 * t3904 * t415 - 0.13170898365871023197e1 * t1246 * t1256 + 0.13170898365871023197e1 * t411 * t3910 - 0.65854491829355115987e0 * t411 * t3929; + const double t3936 = t1259 * t1259; + const double t3940 = -t135 * t2464 * t273 * t3936 + t135 * t273 * t3932 * t957 - t3736 + t3738 - t3742 + t3768 + t3771 + t3827 + t3829 - t3831 + t3835 - t3839 - t3843; + const double t3944 = piecewise_functor_3( t90, 0.0, t3377 ); + const double t3948 = piecewise_functor_3( t332, 0.0, t3940 * t423 / 0.2e1 + t1263 * t1265 + t422 * t3944 / 0.2e1 ); + const double t3949 = t330 * t3948; + const double t3950 = t328 * t3949; + const double t3951 = 0.2390625e-1 * t3950; + const double t3954 = t2481 * t1276; + const double t3955 = 0.165625e-1 * t3954; + const double t3956 = t1413 * t6; + const double t3957 = t16 * t195; + const double t3958 = t3957 * t459; + const double t3959 = t3956 * t3958; + const double t3960 = 0.33125e-1 * t3959; + const double t3961 = t433 * t16; + const double t3962 = t3961 * t195; + const double t3963 = t430 * t3962; + const double t3964 = 0.44166666666666666667e-1 * t3963; + const double t3965 = t430 * t6; + const double t3966 = t15 * t195; + const double t3967 = t3966 * t440; + const double t3968 = t3965 * t3967; + const double t3969 = 0.27604166666666666667e-1 * t3968; + const double t3970 = t1275 * t642; + const double t3971 = t430 * t3970; + const double t3972 = 0.165625e-1 * t3971; + const double t3973 = t462 * t132; + const double t3974 = t3973 * t134; + const double t3975 = t3974 * t1301; + const double t3976 = t143 * t1299; + const double t3977 = t639 * t568; + const double t3978 = t3976 * t3977; + const double t3979 = t1280 * t3978; + const double t3980 = 0.3e1 * t3979; + const double t3981 = t574 * t95; + const double t3983 = t3981 * t151 * t1283; + const double t3984 = 0.7e1 / 0.288e3 * t3983; + const double t3985 = t1281 * t161; + const double t3986 = t3985 * t583; + const double t3988 = t1286 * t173; + const double t3989 = t588 * t3988; + const double t3990 = t3989 * t603; + const double t3992 = t146 * t607; + const double t3994 = t167 * t3992 * t180; + const double t3995 = 0.20007875121765877254e-2 * t3994; + const double t3996 = t167 * t3988; + const double t3997 = t3996 * t618; + const double t3999 = -t3984 - t3986 / 0.48e2 - 0.42874018118069736972e-3 * t3990 - t3995 - 0.17149607247227894789e-2 * t3997; + const double t4000 = t3999 * t158; + const double t4005 = t621 * t748; + const double t4008 = t1294 * t1784; + const double t4009 = t166 * t1290; + const double t4010 = t4009 * t633; + const double t4013 = t1294 * t626; + const double t4014 = t587 * t1290; + const double t4015 = t4014 * t1569; + const double t4018 = t1295 * t3999; + const double t4021 = 0.65854491829355115987e0 * t4000 * t188 - 0.65854491829355115987e0 * t1291 * t634 - 0.4336814094102599731e0 * t4005 * t1296 + 0.8673628188205199462e0 * t4008 * t4010 + 0.4336814094102599731e0 * t4013 * t4015 - 0.4336814094102599731e0 * t1294 * t4018; + const double t4022 = t144 * t4021; + const double t4023 = t4022 * t639; + const double t4024 = t1280 * t4023; + const double t4025 = t1507 * t637; + const double t4026 = t1300 * t4025; + const double t4027 = t1280 * t4026; + const double t4028 = sigma_aa * t644; + const double t4029 = t4028 * t323; + const double t4030 = 0.95625e-1 * t4029; + const double t4031 = t1303 * t815; + const double t4032 = 0.478125e-1 * t4031; + const double t4033 = t645 * t1331; + const double t4034 = 0.478125e-1 * t4033; + const double t4035 = t433 * t274; + const double t4036 = t4035 * t63; + const double t4040 = t1308 * t739 / 0.288e3; + const double t4041 = t1307 * t581; + const double t4042 = t301 * t655; + const double t4043 = t2888 * t4042; + const double t4046 = t751 * sigma_aa; + const double t4047 = t4046 * t756; + const double t4052 = t290 * sigma_aa * t768 * t297; + const double t4056 = 0.28582678745379824648e-3 * t1313 * t775; + const double t4059 = -t4036 * t279 / 0.36e2 + t4040 - t4041 * t4043 / 0.96e2 + 0.42874018118069736972e-3 * t4047 * t763 - 0.22866142996303859718e-2 * t4052 * t303 + t4056 - 0.85748036236139473944e-3 * t1313 * t782; + const double t4060 = t4059 * t158; + const double t4065 = t785 * t748; + const double t4068 = t1320 * t2118; + const double t4069 = t289 * t1316; + const double t4070 = t4069 * t799; + const double t4073 = t306 * t2016; + const double t4074 = t790 * t750; + const double t4075 = t4073 * t4074; + const double t4076 = t1316 * t759; + const double t4077 = t285 * t287; + const double t4078 = t4076 * t4077; + const double t4081 = t1321 * t4059; + const double t4084 = 0.65854491829355115987e0 * t4060 * t311 - 0.65854491829355115987e0 * t1317 * t800 - 0.4336814094102599731e0 * t4065 * t1322 + 0.8673628188205199462e0 * t4068 * t4070 - 0.4336814094102599731e0 * t4075 * t4078 - 0.4336814094102599731e0 * t1320 * t4081; + const double t4085 = t4084 * t805; + const double t4088 = t1325 * t2156; + const double t4089 = t319 * t803; + const double t4096 = piecewise_functor_3( t203, 0.0, t1306 * t1326 * t810 / 0.2e1 + t1306 * t4085 * t319 / 0.2e1 - t1306 * t4088 * t4089 / 0.2e1 ); + const double t4097 = t201 * t4096; + const double t4098 = t199 * t4097; + const double t4099 = 0.2390625e-1 * t4098; + const double t4100 = t3955 - t3960 - t3964 + t3969 + t3972 + t3975 + t3980 + t4024 - t4027 + t4030 - t4032 + t4034 - t4099; + const double t4102 = t144 * t1347; + const double t4103 = t4102 * t639; + const double t4104 = t1280 * t4103; + const double t4105 = t9 * t462; + const double t4106 = t4105 * t132; + const double t4108 = t1335 * t135; + const double t4109 = t143 * t1347; + const double t4110 = t4109 * t3977; + const double t4113 = 0.7e1 / 0.144e3 * t3983; + const double t4116 = 0.40015750243531754507e-2 * t3994; + const double t4118 = -t4113 - t3986 / 0.24e2 - 0.85748036236139473944e-3 * t3990 - t4116 - 0.34299214494455789578e-2 * t3997; + const double t4119 = t4118 * t158; + const double t4126 = t166 * t1340; + const double t4127 = t4126 * t633; + const double t4130 = t587 * t1340; + const double t4131 = t4130 * t1569; + const double t4134 = t1295 * t4118; + const double t4137 = 0.65854491829355115987e0 * t4119 * t188 - 0.65854491829355115987e0 * t1341 * t634 - 0.4336814094102599731e0 * t4005 * t1344 + 0.8673628188205199462e0 * t4008 * t4127 + 0.4336814094102599731e0 * t4013 * t4131 - 0.4336814094102599731e0 * t1294 * t4134; + const double t4138 = t4137 * t639; + const double t4139 = t1337 * t4138; + const double t4141 = t4102 * t4025; + const double t4143 = t2481 * t1351; + const double t4144 = 0.165625e-1 * t4143; + const double t4145 = t1413 * t22; + const double t4146 = t28 * t195; + const double t4147 = t4146 * t459; + const double t4148 = t4145 * t4147; + const double t4149 = 0.33125e-1 * t4148; + const double t4150 = t430 * t22; + const double t4151 = t27 * t195; + const double t4152 = t4151 * t444; + const double t4153 = t4150 * t4152; + const double t4154 = 0.27604166666666666667e-1 * t4153; + const double t4155 = t1350 * t642; + const double t4156 = t430 * t4155; + const double t4157 = 0.165625e-1 * t4156; + const double t4158 = t1354 * t967; + const double t4159 = 0.478125e-1 * t4158; + const double t4161 = t1358 * t904 / 0.288e3; + const double t4162 = t1357 * t581; + const double t4163 = t405 * t824; + const double t4164 = t2888 * t4163; + const double t4167 = t914 * sigma_bb; + const double t4168 = t4167 * t917; + const double t4172 = 0.28582678745379824648e-3 * t1363 * t927; + const double t4175 = t4161 - t4162 * t4164 / 0.96e2 + 0.42874018118069736972e-3 * t4168 * t923 + t4172 - 0.85748036236139473944e-3 * t1363 * t934; + const double t4176 = t4175 * t158; + const double t4181 = t937 * t748; + const double t4184 = t1370 * t2428; + const double t4185 = t396 * t1366; + const double t4186 = t4185 * t951; + const double t4189 = t410 * t2016; + const double t4190 = t942 * t913; + const double t4191 = t4189 * t4190; + const double t4192 = t1366 * t919; + const double t4193 = t285 * t394; + const double t4194 = t4192 * t4193; + const double t4197 = t1371 * t4175; + const double t4200 = 0.65854491829355115987e0 * t4176 * t415 - 0.65854491829355115987e0 * t1367 * t952 - 0.4336814094102599731e0 * t4181 * t1372 + 0.8673628188205199462e0 * t4184 * t4186 - 0.4336814094102599731e0 * t4191 * t4194 - 0.4336814094102599731e0 * t1370 * t4197; + const double t4201 = t4200 * t957; + const double t4204 = t1375 * t2464; + const double t4205 = t423 * t955; + const double t4212 = piecewise_functor_3( t332, 0.0, t1306 * t1376 * t962 / 0.2e1 + t1306 * t4201 * t423 / 0.2e1 - t1306 * t4204 * t4205 / 0.2e1 ); + const double t4213 = t330 * t4212; + const double t4214 = t328 * t4213; + const double t4215 = 0.2390625e-1 * t4214; + const double t4218 = t987 * t42; + const double t4219 = t4218 * t1276; + const double t4220 = 0.165625e-1 * t4219; + const double t4221 = t3957 * t995; + const double t4222 = t3956 * t4221; + const double t4223 = 0.33125e-1 * t4222; + const double t4224 = t3966 * t973; + const double t4225 = t3965 * t4224; + const double t4226 = 0.27604166666666666667e-1 * t4225; + const double t4227 = t1275 * t1062; + const double t4228 = t430 * t4227; + const double t4229 = 0.165625e-1 * t4228; + const double t4230 = t998 * t132; + const double t4231 = t4230 * t134; + const double t4232 = t4231 * t1301; + const double t4233 = t639 * t1020; + const double t4234 = t3976 * t4233; + const double t4235 = t1280 * t4234; + const double t4236 = 0.3e1 * t4235; + const double t4237 = t3985 * t1025; + const double t4239 = t3989 * t1037; + const double t4241 = t3996 * t1041; + const double t4243 = -t3984 - t4237 / 0.48e2 - 0.42874018118069736972e-3 * t4239 - t3995 - 0.17149607247227894789e-2 * t4241; + const double t4244 = t4243 * t158; + const double t4249 = t1044 * t748; + const double t4252 = t4009 * t1054; + const double t4255 = t4014 * t2577; + const double t4258 = t1295 * t4243; + const double t4261 = 0.65854491829355115987e0 * t4244 * t188 - 0.65854491829355115987e0 * t1291 * t1055 - 0.4336814094102599731e0 * t4249 * t1296 + 0.8673628188205199462e0 * t4008 * t4252 + 0.4336814094102599731e0 * t4013 * t4255 - 0.4336814094102599731e0 * t1294 * t4258; + const double t4262 = t144 * t4261; + const double t4263 = t4262 * t639; + const double t4264 = t1280 * t4263; + const double t4265 = t1300 * t2711; + const double t4266 = t1280 * t4265; + const double t4267 = t1303 * t1158; + const double t4268 = 0.478125e-1 * t4267; + const double t4269 = t301 * t1066; + const double t4270 = t2888 * t4269; + const double t4277 = t4040 - t4041 * t4270 / 0.96e2 + 0.42874018118069736972e-3 * t4047 * t1126 + t4056 - 0.85748036236139473944e-3 * t1313 * t1130; + const double t4278 = t4277 * t158; + const double t4283 = t1133 * t748; + const double t4286 = t4069 * t1143; + const double t4289 = t1316 * t1123; + const double t4290 = t4289 * t4077; + const double t4293 = t1321 * t4277; + const double t4296 = 0.65854491829355115987e0 * t4278 * t311 - 0.65854491829355115987e0 * t1317 * t1144 - 0.4336814094102599731e0 * t4283 * t1322 + 0.8673628188205199462e0 * t4068 * t4286 - 0.4336814094102599731e0 * t4075 * t4290 - 0.4336814094102599731e0 * t1320 * t4293; + const double t4297 = t4296 * t805; + const double t4300 = t319 * t1147; + const double t4307 = piecewise_functor_3( t203, 0.0, t1306 * t1326 * t1153 / 0.2e1 + t1306 * t4297 * t319 / 0.2e1 - t1306 * t4088 * t4300 / 0.2e1 ); + const double t4308 = t201 * t4307; + const double t4309 = t199 * t4308; + const double t4310 = 0.2390625e-1 * t4309; + const double t4313 = t9 * t998; + const double t4314 = t4313 * t132; + const double t4316 = t4109 * t4233; + const double t4322 = -t4113 - t4237 / 0.24e2 - 0.85748036236139473944e-3 * t4239 - t4116 - 0.34299214494455789578e-2 * t4241; + const double t4323 = t4322 * t158; + const double t4330 = t4126 * t1054; + const double t4333 = t4130 * t2577; + const double t4336 = t1295 * t4322; + const double t4339 = 0.65854491829355115987e0 * t4323 * t188 - 0.65854491829355115987e0 * t1341 * t1055 - 0.4336814094102599731e0 * t4249 * t1344 + 0.8673628188205199462e0 * t4008 * t4330 + 0.4336814094102599731e0 * t4013 * t4333 - 0.4336814094102599731e0 * t1294 * t4336; + const double t4340 = t4339 * t639; + const double t4341 = t1337 * t4340; + const double t4343 = t4102 * t2711; + const double t4345 = t4218 * t1351; + const double t4346 = 0.165625e-1 * t4345; + const double t4347 = t4146 * t995; + const double t4348 = t4145 * t4347; + const double t4349 = 0.33125e-1 * t4348; + const double t4350 = t979 * t28; + const double t4351 = t4350 * t195; + const double t4352 = t430 * t4351; + const double t4353 = 0.44166666666666666667e-1 * t4352; + const double t4354 = t4151 * t983; + const double t4355 = t4150 * t4354; + const double t4356 = 0.27604166666666666667e-1 * t4355; + const double t4357 = t1350 * t1062; + const double t4358 = t430 * t4357; + const double t4359 = 0.165625e-1 * t4358; + const double t4360 = sigma_bb * t1161; + const double t4361 = t4360 * t427; + const double t4362 = 0.95625e-1 * t4361; + const double t4363 = t1354 * t1270; + const double t4364 = 0.478125e-1 * t4363; + const double t4365 = t1162 * t1381; + const double t4366 = 0.478125e-1 * t4365; + const double t4367 = t979 * t274; + const double t4368 = t4367 * t63; + const double t4371 = t405 * t1167; + const double t4372 = t2888 * t4371; + const double t4379 = t397 * sigma_bb * t1235 * t297; + const double t4384 = -t4368 * t388 / 0.36e2 + t4161 - t4162 * t4372 / 0.96e2 + 0.42874018118069736972e-3 * t4168 * t1230 - 0.22866142996303859718e-2 * t4379 * t407 + t4172 - 0.85748036236139473944e-3 * t1363 * t1242; + const double t4385 = t4384 * t158; + const double t4390 = t1245 * t748; + const double t4393 = t4185 * t1255; + const double t4396 = t1366 * t1227; + const double t4397 = t4396 * t4193; + const double t4400 = t1371 * t4384; + const double t4403 = 0.65854491829355115987e0 * t4385 * t415 - 0.65854491829355115987e0 * t1367 * t1256 - 0.4336814094102599731e0 * t4390 * t1372 + 0.8673628188205199462e0 * t4184 * t4393 - 0.4336814094102599731e0 * t4191 * t4397 - 0.4336814094102599731e0 * t1370 * t4400; + const double t4404 = t4403 * t957; + const double t4407 = t423 * t1259; + const double t4414 = piecewise_functor_3( t332, 0.0, t1306 * t1376 * t1265 / 0.2e1 - t1306 * t4204 * t4407 / 0.2e1 + t1306 * t4404 * t423 / 0.2e1 ); + const double t4415 = t330 * t4414; + const double t4416 = t328 * t4415; + const double t4417 = 0.2390625e-1 * t4416; + const double t4418 = t4346 - t4349 - t4353 + t4356 + t4359 + t4232 + t4236 + t4264 - t4266 + t4362 - t4364 + t4366 - t4417; + const double t4420 = t1413 * t33; + const double t4421 = t3957 * t448; + const double t4422 = t4420 * t4421; + const double t4423 = 0.33125e-1 * t4422; + const double t4424 = t1449 * t33; + const double t4425 = t4424 * t3958; + const double t4426 = 0.496875e-1 * t4425; + const double t4427 = t453 * t1276; + const double t4428 = 0.27604166666666666667e-1 * t4427; + const double t4429 = t453 * t33; + const double t4430 = t4429 * t3967; + const double t4431 = 0.27604166666666666667e-1 * t4430; + const double t4432 = t1385 * t642; + const double t4433 = t453 * t4432; + const double t4434 = 0.165625e-1 * t4433; + const double t4435 = t645 * t1391; + const double t4436 = 0.95625e-1 * t4435; + const double t4437 = t1390 * t814; + const double t4438 = t199 * t4437; + const double t4439 = 0.478125e-1 * t4438; + const double t4442 = t1413 * t37; + const double t4443 = t4146 * t448; + const double t4444 = t4442 * t4443; + const double t4445 = 0.33125e-1 * t4444; + const double t4446 = t1449 * t37; + const double t4447 = t4446 * t4147; + const double t4448 = 0.496875e-1 * t4447; + const double t4449 = t453 * t37; + const double t4450 = t4449 * t4152; + const double t4451 = 0.27604166666666666667e-1 * t4450; + const double t4452 = t1395 * t642; + const double t4453 = t453 * t4452; + const double t4454 = 0.165625e-1 * t4453; + const double t4455 = t1400 * t966; + const double t4456 = t328 * t4455; + const double t4457 = 0.478125e-1 * t4456; + const double t4460 = t3957 * t987; + const double t4461 = t4420 * t4460; + const double t4462 = 0.33125e-1 * t4461; + const double t4463 = t4424 * t4221; + const double t4464 = 0.496875e-1 * t4463; + const double t4465 = t4429 * t4224; + const double t4466 = 0.27604166666666666667e-1 * t4465; + const double t4467 = t1385 * t1062; + const double t4468 = t453 * t4467; + const double t4469 = 0.165625e-1 * t4468; + const double t4470 = t1390 * t1157; + const double t4471 = t199 * t4470; + const double t4472 = 0.478125e-1 * t4471; + const double t4475 = t4146 * t987; + const double t4476 = t4442 * t4475; + const double t4477 = 0.33125e-1 * t4476; + const double t4478 = t4446 * t4347; + const double t4479 = 0.496875e-1 * t4478; + const double t4480 = t453 * t1351; + const double t4481 = 0.27604166666666666667e-1 * t4480; + const double t4482 = t4449 * t4354; + const double t4483 = 0.27604166666666666667e-1 * t4482; + const double t4484 = t1395 * t1062; + const double t4485 = t453 * t4484; + const double t4486 = 0.165625e-1 * t4485; + const double t4487 = t1162 * t1401; + const double t4488 = 0.95625e-1 * t4487; + const double t4489 = t1400 * t1269; + const double t4490 = t328 * t4489; + const double t4491 = 0.478125e-1 * t4490; + const double t4494 = t13 * t13; + const double t4496 = t14 * t4494 * t13; + const double t4497 = t294 * t4496; + const double t4498 = t42 * t195; + const double t4500 = 0.165625e-1 * t4497 * t4498; + const double t4501 = t430 * t1275; + const double t4502 = t135 * t1301; + const double t4504 = 0.165625e-1 * t4501 * t4502; + const double t4505 = t132 * t144; + const double t4506 = t1299 * t639; + const double t4507 = t4505 * t4506; + const double t4509 = 0.16781321040762193395e-2 * t4501 * t4507; + const double t4510 = t748 * t166; + const double t4512 = t616 * t188; + const double t4513 = t591 * t4512; + const double t4514 = t4510 * t1566 * t4513; + const double t4516 = t1290 * t1290; + const double t4517 = t4516 * t748; + const double t4520 = t183 * t2016; + const double t4521 = t1784 * t587; + const double t4522 = t4521 * t4516; + const double t4525 = t626 * t587; + const double t4526 = t4525 * t170; + const double t4527 = t4520 * t4526; + const double t4528 = t4527 * t180; + const double t4530 = 0.28234466758480466999e-3 * t4514 - 0.8673628188205199462e0 * t4517 * t1295 + 0.57119737665102352616e0 * t4520 * t4522 - 0.1859366460452550541e-3 * t4528; + const double t4531 = t144 * t4530; + const double t4532 = t4531 * t639; + const double t4533 = t1280 * t4532; + const double t4534 = t1299 * t1299; + const double t4535 = t144 * t4534; + const double t4536 = t4535 * t1507; + const double t4537 = t1280 * t4536; + const double t4538 = t198 * t201; + const double t4540 = 0.478125e-1 * t4538 * t322; + const double t4542 = 0.95625e-1 * t1303 * t1331; + const double t4543 = t748 * t289; + const double t4544 = t4543 * t2944; + const double t4545 = t66 * t301; + const double t4546 = t4545 * t311; + const double t4547 = t616 * t4546; + const double t4550 = t1316 * t1316; + const double t4551 = t4550 * t748; + const double t4554 = t2118 * t750; + const double t4555 = t4554 * t4550; + const double t4558 = t4074 * t294; + const double t4559 = t4073 * t4558; + const double t4561 = t297 * t46 * t177; + const double t4562 = t4561 * t302; + const double t4565 = 0.28234466758480466999e-3 * t4544 * t4547 - 0.8673628188205199462e0 * t4551 * t1321 + 0.57119737665102352616e0 * t4073 * t4555 - 0.1859366460452550541e-3 * t4559 * t4562; + const double t4566 = t4565 * t805; + const double t4569 = t1325 * t1325; + const double t4570 = t4569 * t2156; + const double t4575 = piecewise_functor_3( t203, 0.0, t1306 * t4566 * t319 / 0.2e1 - t1306 * t4570 * t319 / 0.2e1 ); + const double t4576 = t201 * t4575; + const double t4578 = 0.2390625e-1 * t199 * t4576; + const double t4580 = t9 * t30; + const double t4581 = t42 * t6; + const double t4582 = t4580 * t4581; + const double t4583 = t16 * t132; + const double t4584 = t4583 * t4103; + const double t4588 = t1340 * t748; + const double t4591 = t4520 * t1784; + const double t4592 = t4130 * t1290; + const double t4596 = 0.56468933516960933999e-3 * t4514 - 0.8673628188205199462e0 * t4588 * t1296 + 0.57119737665102352616e0 * t4591 * t4592 - 0.3718732920905101082e-3 * t4528; + const double t4597 = t4596 * t639; + const double t4598 = t1337 * t4597; + const double t4600 = t1507 * t1299; + const double t4601 = t4102 * t4600; + const double t4603 = t1275 * t42; + const double t4605 = 0.165625e-1 * t4603 * t1351; + const double t4606 = t430 * t1350; + const double t4608 = 0.165625e-1 * t4606 * t4502; + const double t4611 = t1340 * t1340; + const double t4612 = t4611 * t748; + const double t4615 = t4521 * t4611; + const double t4619 = 0.112937867033921868e-2 * t4514 - 0.8673628188205199462e0 * t4612 * t1295 + 0.57119737665102352616e0 * t4520 * t4615 - 0.74374658418102021641e-3 * t4528; + const double t4620 = t4619 * t639; + const double t4621 = t1337 * t4620; + const double t4623 = t1347 * t1347; + const double t4624 = t4623 * t1507; + const double t4625 = t1337 * t4624; + const double t4627 = t135 * t4103; + const double t4629 = 0.165625e-1 * t4606 * t4627; + const double t4630 = t144 * t4596; + const double t4631 = t4630 * t639; + const double t4632 = t1280 * t4631; + const double t4633 = t1280 * t4601; + const double t4635 = t25 * t25; + const double t4637 = t26 * t4635 * t25; + const double t4638 = t401 * t4637; + const double t4640 = 0.165625e-1 * t4638 * t4498; + const double t4642 = 0.16781321040762193395e-2 * t4606 * t4507; + const double t4643 = t327 * t330; + const double t4645 = 0.478125e-1 * t4643 * t426; + const double t4647 = 0.95625e-1 * t1354 * t1381; + const double t4648 = t748 * t396; + const double t4649 = t4648 * t3234; + const double t4650 = t66 * t405; + const double t4651 = t4650 * t415; + const double t4652 = t616 * t4651; + const double t4655 = t1366 * t1366; + const double t4656 = t4655 * t748; + const double t4659 = t2428 * t913; + const double t4660 = t4659 * t4655; + const double t4663 = t4190 * t401; + const double t4664 = t4189 * t4663; + const double t4665 = t4561 * t406; + const double t4668 = 0.28234466758480466999e-3 * t4649 * t4652 - 0.8673628188205199462e0 * t4656 * t1371 + 0.57119737665102352616e0 * t4189 * t4660 - 0.1859366460452550541e-3 * t4664 * t4665; + const double t4669 = t4668 * t957; + const double t4672 = t1375 * t1375; + const double t4673 = t4672 * t2464; + const double t4678 = piecewise_functor_3( t332, 0.0, t1306 * t4669 * t423 / 0.2e1 - t1306 * t4673 * t423 / 0.2e1 ); + const double t4679 = t330 * t4678; + const double t4681 = 0.2390625e-1 * t328 * t4679; + const double t4684 = 0.1e1 / t3 / t291; + const double t4685 = t4684 * t4496; + const double t4686 = t4685 * t195; + const double t4688 = 0.33125e-1 * t1413 * t4686; + const double t4689 = t453 * t1385; + const double t4691 = 0.165625e-1 * t4689 * t4502; + const double t4693 = 0.95625e-1 * t1303 * t1391; + const double t4694 = t1390 * t1330; + const double t4696 = 0.478125e-1 * t199 * t4694; + const double t4698 = t4146 * t1275; + const double t4700 = 0.33125e-1 * t4442 * t4698; + const double t4701 = t453 * t1395; + const double t4703 = 0.165625e-1 * t4701 * t4502; + const double t4705 = t9 * t31; + const double t4706 = t452 * t33; + const double t4707 = t4705 * t4706; + const double t4710 = t452 * t37; + const double t4711 = t4705 * t4710; + const double t4712 = t28 * t132; + const double t4713 = t4712 * t4103; + const double t4716 = t3957 * t1350; + const double t4718 = 0.33125e-1 * t4420 * t4716; + const double t4721 = 0.1e1 / t19 / t398; + const double t4722 = t4721 * t4637; + const double t4723 = t4722 * t195; + const double t4725 = 0.33125e-1 * t1413 * t4723; + const double t4727 = 0.95625e-1 * t1354 * t1401; + const double t4728 = t1400 * t1380; + const double t4730 = 0.478125e-1 * t328 * t4728; + const double t4733 = 0.1e1 / t3 / t431; + const double t4734 = t4733 * t4496; + const double t4735 = t4734 * t195; + const double t4737 = 0.496875e-1 * t1449 * t4735; + const double t4738 = t200 * t200; + const double t4739 = 0.1e1 / t4738; + const double t4740 = t4739 * t322; + const double t4742 = 0.1434375e0 * t199 * t4740; + const double t4744 = t1448 * t37; + const double t4745 = t4705 * t4744; + const double t4746 = t4146 * t1385; + const double t4749 = 0.1e1 / t19 / t977; + const double t4750 = t4749 * t4637; + const double t4751 = t4750 * t195; + const double t4753 = 0.496875e-1 * t1449 * t4751; + const double t4754 = t329 * t329; + const double t4755 = 0.1e1 / t4754; + const double t4756 = t4755 * t426; + const double t4758 = 0.1434375e0 * t328 * t4756; - eps = t196 - t325 - t429; vrho_a = t196 - t325 - t429 + t9 * ( t463 + t643 + t647 - t817 - t969 ); vrho_b = t196 - t325 - t429 + t9 * ( t999 + t1063 - t1160 + t1164 - t1272 ); vsigma_aa = t9 * ( t1278 + t1302 - t1305 - t1333 ); @@ -1611,6 +8025,51 @@ struct kernel_traits< BuiltinPKZB_C > : vlapl_b = 0.e0; vtau_a = t9 * ( -t1388 + t1393 ); vtau_b = t9 * ( -t1398 + t1403 ); + v2rho2_aa = 0.2e1 * t463 + 0.2e1 * t643 + 0.95625e-1 * t646 - 0.478125e-1 * t816 - 0.478125e-1 * t968 + t9 * ( t1470 + t1472 + t1822 - t1826 + t1828 - t2170 - t2478 ); + v2rho2_ab = t463 + t643 + t647 - t817 - t969 + t999 + t1063 - t1160 + t1164 - t1272 + t9 * ( t2532 + t2533 + t2534 + t2725 + 0.478125e-1 * t2726 - 0.2390625e-1 * t3011 + 0.478125e-1 * t3013 - 0.2390625e-1 * t3299 ); + v2rho2_bb = 0.2e1 * t999 + 0.2e1 * t1063 - 0.478125e-1 * t1159 + 0.95625e-1 * t1163 - 0.478125e-1 * t1271 + t9 * ( t3360 + t3362 + t3508 - t3717 - t3721 + t3723 - t3951 ); + v2rhosigma_a_aa = t4100 * t9 + t1278 + t1302 - t1305 - t1333; + v2rhosigma_a_ab = t1336 * t4139 + t1349 * t4106 + 0.3e1 * t4108 * t4110 - t4108 * t4141 + t4104; + v2rhosigma_a_bb = t1353 + t1302 - t1356 - t1383 + t9 * ( t4144 - t4149 + t4154 + t4157 + t3975 + t3980 + t4024 - t4027 - t4159 - t4215 ); + v2rhosigma_b_aa = t1278 + t1302 - t1305 - t1333 + t9 * ( t4220 - t4223 + t4226 + t4229 + t4232 + t4236 + t4264 - t4266 - t4268 - t4310 ); + v2rhosigma_b_ab = t1336 * t4341 + t1349 * t4314 + 0.3e1 * t4108 * t4316 - t4108 * t4343 + t4104; + v2rhosigma_b_bb = t4418 * t9 + t1302 + t1353 - t1356 - t1383; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = -t1388 + t1393 + t9 * ( -t4423 + t4426 + t4428 - t4431 - t4434 - t4436 + t4439 ); + v2rhotau_a_b = -t1398 + t1403 + t9 * ( -t4445 + t4448 - t4451 - t4454 + t4457 ); + v2rhotau_b_a = -t1388 + t1393 + t9 * ( -t4462 + t4464 - t4466 - t4469 + t4472 ); + v2rhotau_b_b = -t1398 + t1403 + t9 * ( -t4477 + t4479 + t4481 - t4483 - t4486 - t4488 + t4491 ); + v2sigma2_aa_aa = t9 * ( t4500 + t4504 + t4509 + t4533 - t4537 - t4540 - t4542 - t4578 ); + v2sigma2_aa_ab = 0.16781321040762193395e-2 * t4582 * t4584 + t1336 * t4598 - t4108 * t4601; + v2sigma2_aa_bb = t9 * ( t4605 + t4608 + t4509 + t4533 - t4537 ); + v2sigma2_ab_ab = t1336 * t4621 - t1336 * t4625; + v2sigma2_ab_bb = t9 * ( t4629 + t4632 - t4633 ); + v2sigma2_bb_bb = t9 * ( t4640 + t4608 + t4642 + t4533 - t4537 - t4645 - t4647 - t4681 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t9 * ( -t4688 - t4691 + t4693 + t4696 ); + v2sigmatau_aa_b = t9 * ( -t4700 - t4703 ); + v2sigmatau_ab_a = -0.16781321040762193395e-2 * t4707 * t4584; + v2sigmatau_ab_b = -0.16781321040762193395e-2 * t4711 * t4713; + v2sigmatau_bb_a = t9 * ( -t4718 - t4691 ); + v2sigmatau_bb_b = t9 * ( -t4725 - t4703 + t4727 + t4730 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t9 * ( t4737 - t4742 ); + v2tau2_ab = 0.496875e-1 * t4745 * t4746; + v2tau2_bb = t9 * ( t4753 - t4758 ); } diff --git a/include/exchcxx/impl/builtin/kernels/pkzb_x.hpp b/include/exchcxx/impl/builtin/kernels/pkzb_x.hpp index 5df91d9..06b89bb 100644 --- a/include/exchcxx/impl/builtin/kernels/pkzb_x.hpp +++ b/include/exchcxx/impl/builtin/kernels/pkzb_x.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPKZB_X > : static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; @@ -37,7 +86,6 @@ struct kernel_traits< BuiltinPKZB_X > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t21 = constants::m_cbrt_6; @@ -93,7 +141,6 @@ struct kernel_traits< BuiltinPKZB_X > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t21 = constants::m_cbrt_6; @@ -174,13 +221,275 @@ struct kernel_traits< BuiltinPKZB_X > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t51 = t21 * t21; + constexpr double t53 = 0.1e1 / t23 / t22; + constexpr double t54 = t51 * t53; + constexpr double t117 = t25 * t28; + constexpr double t252 = t53 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t37 = tau * t28; + const double t39 = 0.1e1 / t31 / rho; + const double t44 = t26 * t37 * t39 / 0.4e1 - 0.9e1 / 0.2e2 - t35 / 0.288e3; + const double t45 = t44 * t44; + const double t47 = t44 * t21; + const double t48 = t47 * t25; + const double t55 = sigma * sigma; + const double t56 = t55 * t27; + const double t57 = t30 * t30; + const double t58 = t57 * rho; + const double t60 = 0.1e1 / t19 / t58; + const double t64 = 0.804e0 + 0.5e1 / 0.972e3 * t35 + 0.146e3 / 0.2025e4 * t45 - 0.73e2 / 0.972e4 * t48 * t34 + 0.45818468001825619316e-3 * t54 * t56 * t60; + const double t67 = 0.1804e1 - 0.646416e0 / t64; + const double t72 = 0.1e1 / t31; + const double t77 = t4 * t18; + const double t78 = t64 * t64; + const double t79 = 0.1e1 / t78; + const double t80 = t19 * t79; + const double t81 = t30 * rho; + const double t83 = 0.1e1 / t31 / t81; + const double t84 = t29 * t83; + const double t85 = t26 * t84; + const double t91 = -0.5e1 / 0.12e2 * t26 * t37 * t33 + t85 / 0.108e3; + const double t94 = t91 * t21; + const double t95 = t94 * t25; + const double t100 = t57 * t30; + const double t102 = 0.1e1 / t19 / t100; + const double t106 = -0.1e2 / 0.729e3 * t85 + 0.292e3 / 0.2025e4 * t44 * t91 - 0.73e2 / 0.972e4 * t95 * t34 + 0.73e2 / 0.3645e4 * t48 * t84 - 0.24436516267640330302e-2 * t54 * t56 * t102; + const double t111 = piecewise_functor_3( t3, 0.0, -t7 * t18 * t72 * t67 / 0.8e1 - 0.16551095363746320496e0 * t77 * t80 * t106 ); + const double t118 = t117 * t33; + const double t119 = t47 * t118; + const double t123 = t54 * t27 * t60 * sigma; + const double t125 = 0.5e1 / 0.972e3 * t26 * t28 * t33 - 0.146e3 / 0.18225e5 * t119 + 0.96852413827153753492e-3 * t123; + const double t129 = piecewise_functor_3( t3, 0.0, -0.16551095363746320496e0 * t77 * t80 * t125 ); + const double t131 = t117 * t39; + const double t140 = 0.73e2 / 0.2025e4 * t47 * t131 - 0.73e2 / 0.1944e5 * t54 * t27 / t19 / t57 * sigma; + const double t144 = piecewise_functor_3( t3, 0.0, -0.16551095363746320496e0 * t77 * t80 * t140 ); + const double t151 = t72 * t79; + const double t156 = 0.1e1 / t78 / t64; + const double t157 = t19 * t156; + const double t158 = t106 * t106; + const double t163 = 0.1e1 / t31 / t57; + const double t164 = t29 * t163; + const double t165 = t26 * t164; + const double t167 = t91 * t91; + const double t173 = 0.1e2 / 0.9e1 * t26 * t37 * t83 - 0.11e2 / 0.324e3 * t165; + const double t176 = t173 * t21; + const double t177 = t176 * t25; + const double t184 = t57 * t81; + const double t186 = 0.1e1 / t19 / t184; + const double t190 = 0.11e3 / 0.2187e4 * t165 + 0.292e3 / 0.2025e4 * t167 + 0.292e3 / 0.2025e4 * t44 * t173 - 0.73e2 / 0.972e4 * t177 * t34 + 0.146e3 / 0.3645e4 * t95 * t84 - 0.803e3 / 0.10935e5 * t48 * t164 + 0.15476460302838875858e-1 * t54 * t56 * t186; + const double t195 = piecewise_functor_3( t3, 0.0, t7 * t18 * t39 * t67 / 0.12e2 - 0.11034063575830880331e0 * t77 * t151 * t106 + 0.33102190727492640992e0 * t77 * t157 * t158 - 0.16551095363746320496e0 * t77 * t80 * t190 ); + const double t201 = t77 * t19; + const double t202 = t156 * t125; + const double t203 = t202 * t106; + const double t209 = t94 * t118; + const double t211 = t117 * t83; + const double t212 = t47 * t211; + const double t216 = t54 * t27 * t102 * sigma; + const double t218 = -0.1e2 / 0.729e3 * t26 * t28 * t83 - 0.146e3 / 0.18225e5 * t209 + 0.1168e4 / 0.54675e5 * t212 - 0.51654620707815335196e-2 * t216; + const double t223 = piecewise_functor_3( t3, 0.0, -0.55170317879154401653e-1 * t77 * t151 * t125 + 0.33102190727492640992e0 * t201 * t203 - 0.16551095363746320496e0 * t77 * t80 * t218 ); + const double t229 = t156 * t140; + const double t230 = t229 * t106; + const double t237 = 0.73e2 / 0.2025e4 * t94 * t131 - 0.73e2 / 0.1215e4 * t119 + 0.949e3 / 0.5832e5 * t123; + const double t242 = piecewise_functor_3( t3, 0.0, -0.55170317879154401653e-1 * t77 * t151 * t140 + 0.33102190727492640992e0 * t201 * t230 - 0.16551095363746320496e0 * t77 * t80 * t237 ); + const double t245 = t125 * t125; + const double t249 = 0.1e1 / t58; + const double t253 = t79 * t51 * t252; + const double t254 = t77 * t249 * t253; + const double t257 = piecewise_functor_3( t3, 0.0, 0.33102190727492640992e0 * t77 * t157 * t245 - 0.16950901996748250202e-3 * t254 ); + const double t259 = t229 * t125; + const double t262 = 0.1e1 / t57; + const double t264 = t77 * t262 * t253; + const double t267 = piecewise_functor_3( t3, 0.0, 0.33102190727492640992e0 * t201 * t259 + 0.66295196793057964127e-3 * t264 ); + const double t269 = t140 * t140; + const double t273 = 0.1e1 / t81; + const double t278 = piecewise_functor_3( t3, 0.0, 0.33102190727492640992e0 * t77 * t157 * t269 - 0.29832838556876083857e-2 * t77 * t273 * t253 ); + + + v2rho2 = 0.2e1 * rho * t195 + 0.4e1 * t111; + v2rhosigma = 0.2e1 * rho * t223 + 0.2e1 * t129; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t242 + 0.2e1 * t144; + v2sigma2 = 0.2e1 * rho * t257; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t267; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t278; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t51 = t21 * t21; + constexpr double t53 = 0.1e1 / t23 / t22; + constexpr double t54 = t51 * t53; + constexpr double t117 = t25 * t28; + constexpr double t252 = t53 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t37 = tau * t28; + const double t39 = 0.1e1 / t31 / rho; + const double t44 = t26 * t37 * t39 / 0.4e1 - 0.9e1 / 0.2e2 - t35 / 0.288e3; + const double t45 = t44 * t44; + const double t47 = t44 * t21; + const double t48 = t47 * t25; + const double t55 = sigma * sigma; + const double t56 = t55 * t27; + const double t57 = t30 * t30; + const double t58 = t57 * rho; + const double t60 = 0.1e1 / t19 / t58; + const double t64 = 0.804e0 + 0.5e1 / 0.972e3 * t35 + 0.146e3 / 0.2025e4 * t45 - 0.73e2 / 0.972e4 * t48 * t34 + 0.45818468001825619316e-3 * t54 * t56 * t60; + const double t67 = 0.1804e1 - 0.646416e0 / t64; + const double t71 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t18 * t19 * t67 ); + const double t72 = 0.1e1 / t31; + const double t77 = t4 * t18; + const double t78 = t64 * t64; + const double t79 = 0.1e1 / t78; + const double t80 = t19 * t79; + const double t81 = t30 * rho; + const double t83 = 0.1e1 / t31 / t81; + const double t84 = t29 * t83; + const double t85 = t26 * t84; + const double t91 = -0.5e1 / 0.12e2 * t26 * t37 * t33 + t85 / 0.108e3; + const double t94 = t91 * t21; + const double t95 = t94 * t25; + const double t100 = t57 * t30; + const double t102 = 0.1e1 / t19 / t100; + const double t106 = -0.1e2 / 0.729e3 * t85 + 0.292e3 / 0.2025e4 * t44 * t91 - 0.73e2 / 0.972e4 * t95 * t34 + 0.73e2 / 0.3645e4 * t48 * t84 - 0.24436516267640330302e-2 * t54 * t56 * t102; + const double t111 = piecewise_functor_3( t3, 0.0, -t7 * t18 * t72 * t67 / 0.8e1 - 0.16551095363746320496e0 * t77 * t80 * t106 ); + const double t118 = t117 * t33; + const double t119 = t47 * t118; + const double t123 = t54 * t27 * t60 * sigma; + const double t125 = 0.5e1 / 0.972e3 * t26 * t28 * t33 - 0.146e3 / 0.18225e5 * t119 + 0.96852413827153753492e-3 * t123; + const double t129 = piecewise_functor_3( t3, 0.0, -0.16551095363746320496e0 * t77 * t80 * t125 ); + const double t131 = t117 * t39; + const double t140 = 0.73e2 / 0.2025e4 * t47 * t131 - 0.73e2 / 0.1944e5 * t54 * t27 / t19 / t57 * sigma; + const double t144 = piecewise_functor_3( t3, 0.0, -0.16551095363746320496e0 * t77 * t80 * t140 ); + const double t151 = t72 * t79; + const double t156 = 0.1e1 / t78 / t64; + const double t157 = t19 * t156; + const double t158 = t106 * t106; + const double t163 = 0.1e1 / t31 / t57; + const double t164 = t29 * t163; + const double t165 = t26 * t164; + const double t167 = t91 * t91; + const double t173 = 0.1e2 / 0.9e1 * t26 * t37 * t83 - 0.11e2 / 0.324e3 * t165; + const double t176 = t173 * t21; + const double t177 = t176 * t25; + const double t184 = t57 * t81; + const double t186 = 0.1e1 / t19 / t184; + const double t190 = 0.11e3 / 0.2187e4 * t165 + 0.292e3 / 0.2025e4 * t167 + 0.292e3 / 0.2025e4 * t44 * t173 - 0.73e2 / 0.972e4 * t177 * t34 + 0.146e3 / 0.3645e4 * t95 * t84 - 0.803e3 / 0.10935e5 * t48 * t164 + 0.15476460302838875858e-1 * t54 * t56 * t186; + const double t195 = piecewise_functor_3( t3, 0.0, t7 * t18 * t39 * t67 / 0.12e2 - 0.11034063575830880331e0 * t77 * t151 * t106 + 0.33102190727492640992e0 * t77 * t157 * t158 - 0.16551095363746320496e0 * t77 * t80 * t190 ); + const double t201 = t77 * t19; + const double t202 = t156 * t125; + const double t203 = t202 * t106; + const double t209 = t94 * t118; + const double t211 = t117 * t83; + const double t212 = t47 * t211; + const double t216 = t54 * t27 * t102 * sigma; + const double t218 = -0.1e2 / 0.729e3 * t26 * t28 * t83 - 0.146e3 / 0.18225e5 * t209 + 0.1168e4 / 0.54675e5 * t212 - 0.51654620707815335196e-2 * t216; + const double t223 = piecewise_functor_3( t3, 0.0, -0.55170317879154401653e-1 * t77 * t151 * t125 + 0.33102190727492640992e0 * t201 * t203 - 0.16551095363746320496e0 * t77 * t80 * t218 ); + const double t229 = t156 * t140; + const double t230 = t229 * t106; + const double t237 = 0.73e2 / 0.2025e4 * t94 * t131 - 0.73e2 / 0.1215e4 * t119 + 0.949e3 / 0.5832e5 * t123; + const double t242 = piecewise_functor_3( t3, 0.0, -0.55170317879154401653e-1 * t77 * t151 * t140 + 0.33102190727492640992e0 * t201 * t230 - 0.16551095363746320496e0 * t77 * t80 * t237 ); + const double t245 = t125 * t125; + const double t249 = 0.1e1 / t58; + const double t253 = t79 * t51 * t252; + const double t254 = t77 * t249 * t253; + const double t257 = piecewise_functor_3( t3, 0.0, 0.33102190727492640992e0 * t77 * t157 * t245 - 0.16950901996748250202e-3 * t254 ); + const double t259 = t229 * t125; + const double t262 = 0.1e1 / t57; + const double t264 = t77 * t262 * t253; + const double t267 = piecewise_functor_3( t3, 0.0, 0.33102190727492640992e0 * t201 * t259 + 0.66295196793057964127e-3 * t264 ); + const double t269 = t140 * t140; + const double t273 = 0.1e1 / t81; + const double t278 = piecewise_functor_3( t3, 0.0, 0.33102190727492640992e0 * t77 * t157 * t269 - 0.29832838556876083857e-2 * t77 * t273 * t253 ); + + + vrho = 0.2e1 * rho * t111 + 0.2e1 * t71; + vsigma = 0.2e1 * rho * t129; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t144; + v2rho2 = 0.2e1 * rho * t195 + 0.4e1 * t111; + v2rhosigma = 0.2e1 * rho * t223 + 0.2e1 * t129; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t242 + 0.2e1 * t144; + v2sigma2 = 0.2e1 * rho * t257; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t267; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t278; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t29 = constants::m_cbrt_6; @@ -266,7 +575,6 @@ struct kernel_traits< BuiltinPKZB_X > : (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t29 = constants::m_cbrt_6; @@ -425,6 +733,697 @@ struct kernel_traits< BuiltinPKZB_X > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t57 = t29 * t29; + constexpr double t59 = 0.1e1 / t31 / t30; + constexpr double t60 = t57 * t59; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t44 = 0.1e1 / t37 / rho_a; + const double t49 = t34 * tau_a * t44 / 0.4e1 - 0.9e1 / 0.2e2 - t41 / 0.288e3; + const double t50 = t49 * t49; + const double t52 = t49 * t29; + const double t53 = t33 * sigma_aa; + const double t54 = t53 * t39; + const double t61 = sigma_aa * sigma_aa; + const double t62 = t35 * t35; + const double t63 = t62 * rho_a; + const double t65 = 0.1e1 / t36 / t63; + const double t69 = 0.804e0 + 0.5e1 / 0.972e3 * t41 + 0.146e3 / 0.2025e4 * t50 - 0.73e2 / 0.972e4 * t52 * t54 + 0.22909234000912809658e-3 * t60 * t61 * t65; + const double t72 = 0.1804e1 - 0.646416e0 / t69; + const double t77 = rho_b <= dens_tol; + const double t78 = -t17; + const double t80 = piecewise_functor_5( t15, t12, t11, t16, t78 * t8 ); + const double t81 = 0.1e1 + t80; + const double t82 = t81 <= zeta_tol; + const double t83 = safe_math::cbrt( t81 ); + const double t85 = piecewise_functor_3( t82, t23, t83 * t81 ); + const double t87 = rho_b * rho_b; + const double t88 = safe_math::cbrt( rho_b ); + const double t89 = t88 * t88; + const double t91 = 0.1e1 / t89 / t87; + const double t93 = t34 * sigma_bb * t91; + const double t96 = 0.1e1 / t89 / rho_b; + const double t101 = t34 * tau_b * t96 / 0.4e1 - 0.9e1 / 0.2e2 - t93 / 0.288e3; + const double t102 = t101 * t101; + const double t104 = t101 * t29; + const double t105 = t33 * sigma_bb; + const double t106 = t105 * t91; + const double t109 = sigma_bb * sigma_bb; + const double t110 = t87 * t87; + const double t111 = t110 * rho_b; + const double t113 = 0.1e1 / t88 / t111; + const double t117 = 0.804e0 + 0.5e1 / 0.972e3 * t93 + 0.146e3 / 0.2025e4 * t102 - 0.73e2 / 0.972e4 * t104 * t106 + 0.22909234000912809658e-3 * t60 * t109 * t113; + const double t120 = 0.1804e1 - 0.646416e0 / t117; + const double t125 = t7 * t7; + const double t126 = 0.1e1 / t125; + const double t127 = t17 * t126; + const double t129 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t127 ); + const double t132 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t129 ); + const double t137 = t27 * t27; + const double t138 = 0.1e1 / t137; + const double t142 = t6 * t26 * t138 * t72 / 0.8e1; + const double t143 = t3 * t26; + const double t144 = t69 * t69; + const double t145 = 0.1e1 / t144; + const double t146 = t27 * t145; + const double t147 = t35 * rho_a; + const double t149 = 0.1e1 / t37 / t147; + const double t151 = t34 * sigma_aa * t149; + const double t157 = -0.5e1 / 0.12e2 * t34 * tau_a * t39 + t151 / 0.108e3; + const double t160 = t157 * t29; + const double t163 = t53 * t149; + const double t166 = t62 * t35; + const double t168 = 0.1e1 / t36 / t166; + const double t172 = -0.1e2 / 0.729e3 * t151 + 0.292e3 / 0.2025e4 * t49 * t157 - 0.73e2 / 0.972e4 * t160 * t54 + 0.73e2 / 0.3645e4 * t52 * t163 - 0.12218258133820165151e-2 * t60 * t61 * t168; + const double t173 = t146 * t172; + const double t177 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t132 * t27 * t72 - t142 - 0.16551095363746320496e0 * t143 * t173 ); + const double t178 = t78 * t126; + const double t180 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t178 ); + const double t183 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.3e1 * t83 * t180 ); + const double t191 = t6 * t85 * t138 * t120 / 0.8e1; + const double t193 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t183 * t27 * t120 - t191 ); + const double t197 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t127 ); + const double t200 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t197 ); + const double t206 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t200 * t27 * t72 - t142 ); + const double t208 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t178 ); + const double t211 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.3e1 * t83 * t208 ); + const double t216 = t3 * t85; + const double t217 = t117 * t117; + const double t218 = 0.1e1 / t217; + const double t219 = t27 * t218; + const double t220 = t87 * rho_b; + const double t222 = 0.1e1 / t89 / t220; + const double t224 = t34 * sigma_bb * t222; + const double t230 = -0.5e1 / 0.12e2 * t34 * tau_b * t91 + t224 / 0.108e3; + const double t233 = t230 * t29; + const double t236 = t105 * t222; + const double t239 = t110 * t87; + const double t241 = 0.1e1 / t88 / t239; + const double t245 = -0.1e2 / 0.729e3 * t224 + 0.292e3 / 0.2025e4 * t101 * t230 - 0.73e2 / 0.972e4 * t233 * t106 + 0.73e2 / 0.3645e4 * t104 * t236 - 0.12218258133820165151e-2 * t60 * t109 * t241; + const double t246 = t219 * t245; + const double t250 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t211 * t27 * t120 - t191 - 0.16551095363746320496e0 * t216 * t246 ); + const double t255 = t33 * t39; + const double t256 = t52 * t255; + const double t259 = t60 * t65 * sigma_aa; + const double t261 = 0.5e1 / 0.972e3 * t34 * t39 - 0.146e3 / 0.18225e5 * t256 + 0.48426206913576876746e-3 * t259; + const double t262 = t146 * t261; + const double t265 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t143 * t262 ); + const double t268 = t33 * t91; + const double t269 = t104 * t268; + const double t272 = t60 * t113 * sigma_bb; + const double t274 = 0.5e1 / 0.972e3 * t34 * t91 - 0.146e3 / 0.18225e5 * t269 + 0.48426206913576876746e-3 * t272; + const double t275 = t219 * t274; + const double t278 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t216 * t275 ); + const double t279 = t33 * t44; + const double t283 = 0.1e1 / t36 / t62; + const double t287 = 0.73e2 / 0.2025e4 * t52 * t279 - 0.73e2 / 0.3888e5 * t60 * t283 * sigma_aa; + const double t288 = t146 * t287; + const double t291 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t143 * t288 ); + const double t292 = t33 * t96; + const double t296 = 0.1e1 / t88 / t110; + const double t300 = 0.73e2 / 0.2025e4 * t104 * t292 - 0.73e2 / 0.3888e5 * t60 * t296 * sigma_bb; + const double t301 = t219 * t300; + const double t304 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t216 * t301 ); + const double t307 = t24 * t24; + const double t308 = 0.1e1 / t307; + const double t309 = t129 * t129; + const double t312 = t125 * t7; + const double t313 = 0.1e1 / t312; + const double t314 = t17 * t313; + const double t317 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t126 + 0.2e1 * t314 ); + const double t321 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t308 * t309 + 0.4e1 / 0.3e1 * t24 * t317 ); + const double t328 = t6 * t132 * t138 * t72; + const double t330 = t3 * t132; + const double t334 = 0.1e1 / t137 / t7; + const double t338 = t6 * t26 * t334 * t72 / 0.12e2; + const double t339 = t138 * t145; + const double t340 = t339 * t172; + const double t341 = t143 * t340; + const double t344 = 0.1e1 / t144 / t69; + const double t345 = t27 * t344; + const double t346 = t172 * t172; + const double t347 = t345 * t346; + const double t351 = 0.1e1 / t37 / t62; + const double t353 = t34 * sigma_aa * t351; + const double t355 = t157 * t157; + const double t361 = 0.1e2 / 0.9e1 * t34 * tau_a * t149 - 0.11e2 / 0.324e3 * t353; + const double t364 = t361 * t29; + const double t369 = t53 * t351; + const double t372 = t62 * t147; + const double t374 = 0.1e1 / t36 / t372; + const double t378 = 0.11e3 / 0.2187e4 * t353 + 0.292e3 / 0.2025e4 * t355 + 0.292e3 / 0.2025e4 * t49 * t361 - 0.73e2 / 0.972e4 * t364 * t54 + 0.146e3 / 0.3645e4 * t160 * t163 - 0.803e3 / 0.10935e5 * t52 * t369 + 0.7738230151419437929e-2 * t60 * t61 * t374; + const double t379 = t146 * t378; + const double t383 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t321 * t27 * t72 - t328 / 0.4e1 - 0.33102190727492640992e0 * t330 * t173 + t338 - 0.11034063575830880331e0 * t341 + 0.33102190727492640992e0 * t143 * t347 - 0.16551095363746320496e0 * t143 * t379 ); + const double t384 = t83 * t83; + const double t385 = 0.1e1 / t384; + const double t386 = t180 * t180; + const double t389 = t78 * t313; + const double t392 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t126 + 0.2e1 * t389 ); + const double t396 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.9e1 * t385 * t386 + 0.4e1 / 0.3e1 * t83 * t392 ); + const double t403 = t6 * t183 * t138 * t120; + const double t408 = t6 * t85 * t334 * t120 / 0.12e2; + const double t410 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t396 * t27 * t120 - t403 / 0.4e1 + t408 ); + const double t428 = t6 * t200 * t138 * t72; + const double t452 = t6 * t211 * t138 * t120; + const double t458 = t138 * t218; + const double t459 = t458 * t245; + const double t460 = t216 * t459; + const double t468 = t197 * t197; + const double t473 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t126 + 0.2e1 * t314 ); + const double t477 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t308 * t468 + 0.4e1 / 0.3e1 * t24 * t473 ); + const double t484 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t477 * t27 * t72 - t428 / 0.4e1 + t338 ); + const double t485 = t208 * t208; + const double t490 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t126 + 0.2e1 * t389 ); + const double t494 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.9e1 * t385 * t485 + 0.4e1 / 0.3e1 * t83 * t490 ); + const double t500 = t3 * t211; + const double t505 = 0.1e1 / t217 / t117; + const double t506 = t27 * t505; + const double t507 = t245 * t245; + const double t508 = t506 * t507; + const double t512 = 0.1e1 / t89 / t110; + const double t514 = t34 * sigma_bb * t512; + const double t516 = t230 * t230; + const double t522 = 0.1e2 / 0.9e1 * t34 * tau_b * t222 - 0.11e2 / 0.324e3 * t514; + const double t525 = t522 * t29; + const double t530 = t105 * t512; + const double t533 = t110 * t220; + const double t535 = 0.1e1 / t88 / t533; + const double t539 = 0.11e3 / 0.2187e4 * t514 + 0.292e3 / 0.2025e4 * t516 + 0.292e3 / 0.2025e4 * t101 * t522 - 0.73e2 / 0.972e4 * t525 * t106 + 0.146e3 / 0.3645e4 * t233 * t236 - 0.803e3 / 0.10935e5 * t104 * t530 + 0.7738230151419437929e-2 * t60 * t109 * t535; + const double t540 = t219 * t539; + const double t544 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t494 * t27 * t120 - t452 / 0.4e1 - 0.33102190727492640992e0 * t500 * t246 + t408 - 0.11034063575830880331e0 * t460 + 0.33102190727492640992e0 * t216 * t508 - 0.16551095363746320496e0 * t216 * t540 ); + const double t549 = t339 * t261; + const double t551 = 0.55170317879154401653e-1 * t143 * t549; + const double t552 = t143 * t27; + const double t553 = t344 * t261; + const double t554 = t553 * t172; + const double t559 = t160 * t255; + const double t561 = t33 * t149; + const double t562 = t52 * t561; + const double t565 = t60 * t168 * sigma_aa; + const double t567 = -0.1e2 / 0.729e3 * t34 * t149 - 0.146e3 / 0.18225e5 * t559 + 0.1168e4 / 0.54675e5 * t562 - 0.25827310353907667598e-2 * t565; + const double t568 = t146 * t567; + const double t572 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t330 * t262 - t551 + 0.33102190727492640992e0 * t552 * t554 - 0.16551095363746320496e0 * t143 * t568 ); + const double t576 = t458 * t274; + const double t578 = 0.55170317879154401653e-1 * t216 * t576; + const double t589 = t216 * t27; + const double t590 = t505 * t274; + const double t591 = t590 * t245; + const double t596 = t233 * t268; + const double t598 = t33 * t222; + const double t599 = t104 * t598; + const double t602 = t60 * t241 * sigma_bb; + const double t604 = -0.1e2 / 0.729e3 * t34 * t222 - 0.146e3 / 0.18225e5 * t596 + 0.1168e4 / 0.54675e5 * t599 - 0.25827310353907667598e-2 * t602; + const double t605 = t219 * t604; + const double t609 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t500 * t275 - t578 + 0.33102190727492640992e0 * t589 * t591 - 0.16551095363746320496e0 * t216 * t605 ); + const double t613 = t339 * t287; + const double t615 = 0.55170317879154401653e-1 * t143 * t613; + const double t616 = t344 * t287; + const double t617 = t616 * t172; + const double t624 = 0.73e2 / 0.2025e4 * t160 * t279 - 0.73e2 / 0.1215e4 * t256 + 0.949e3 / 0.11664e6 * t259; + const double t625 = t146 * t624; + const double t629 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t330 * t288 - t615 + 0.33102190727492640992e0 * t552 * t617 - 0.16551095363746320496e0 * t143 * t625 ); + const double t633 = t458 * t300; + const double t635 = 0.55170317879154401653e-1 * t216 * t633; + const double t646 = t505 * t300; + const double t647 = t646 * t245; + const double t654 = 0.73e2 / 0.2025e4 * t233 * t292 - 0.73e2 / 0.1215e4 * t269 + 0.949e3 / 0.11664e6 * t272; + const double t655 = t219 * t654; + const double t659 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t500 * t301 - t635 + 0.33102190727492640992e0 * t589 * t647 - 0.16551095363746320496e0 * t216 * t655 ); + const double t661 = t261 * t261; + const double t662 = t345 * t661; + const double t665 = t145 * t57; + const double t666 = t59 * t65; + const double t667 = t665 * t666; + const double t668 = t552 * t667; + const double t671 = piecewise_functor_3( t2, 0.0, 0.33102190727492640992e0 * t143 * t662 - 0.84754509983741251008e-4 * t668 ); + const double t672 = t274 * t274; + const double t673 = t506 * t672; + const double t676 = t218 * t57; + const double t677 = t59 * t113; + const double t678 = t676 * t677; + const double t679 = t589 * t678; + const double t682 = piecewise_functor_3( t77, 0.0, 0.33102190727492640992e0 * t216 * t673 - 0.84754509983741251008e-4 * t679 ); + const double t683 = t616 * t261; + const double t686 = t59 * t283; + const double t687 = t665 * t686; + const double t688 = t552 * t687; + const double t691 = piecewise_functor_3( t2, 0.0, 0.33102190727492640992e0 * t552 * t683 + 0.33147598396528982063e-3 * t688 ); + const double t692 = t646 * t274; + const double t695 = t59 * t296; + const double t696 = t676 * t695; + const double t697 = t589 * t696; + const double t700 = piecewise_functor_3( t77, 0.0, 0.33102190727492640992e0 * t589 * t692 + 0.33147598396528982063e-3 * t697 ); + const double t701 = t287 * t287; + const double t702 = t345 * t701; + const double t706 = 0.1e1 / t36 / t147; + const double t707 = t59 * t706; + const double t708 = t665 * t707; + const double t712 = piecewise_functor_3( t2, 0.0, 0.33102190727492640992e0 * t143 * t702 - 0.14916419278438041928e-2 * t552 * t708 ); + const double t713 = t300 * t300; + const double t714 = t506 * t713; + const double t718 = 0.1e1 / t88 / t220; + const double t719 = t59 * t718; + const double t720 = t676 * t719; + const double t724 = piecewise_functor_3( t77, 0.0, 0.33102190727492640992e0 * t216 * t714 - 0.14916419278438041928e-2 * t589 * t720 ); + + + v2rho2_aa = 0.2e1 * t177 + 0.2e1 * t193 + t7 * ( t383 + t410 ); + v2rho2_bb = 0.2e1 * t206 + 0.2e1 * t250 + t7 * ( t484 + t544 ); + v2rhosigma_a_aa = t7 * t572 + t265; + v2rhosigma_b_bb = t7 * t609 + t278; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t629 + t291; + v2rhotau_b_b = t7 * t659 + t304; + v2sigma2_aa_aa = t7 * t671; + v2sigma2_bb_bb = t7 * t682; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t691; + v2sigmatau_bb_b = t7 * t700; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t712; + v2tau2_bb = t7 * t724; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t57 = t29 * t29; + constexpr double t59 = 0.1e1 / t31 / t30; + constexpr double t60 = t57 * t59; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t41 = t34 * sigma_aa * t39; + const double t44 = 0.1e1 / t37 / rho_a; + const double t49 = t34 * tau_a * t44 / 0.4e1 - 0.9e1 / 0.2e2 - t41 / 0.288e3; + const double t50 = t49 * t49; + const double t52 = t49 * t29; + const double t53 = t33 * sigma_aa; + const double t54 = t53 * t39; + const double t61 = sigma_aa * sigma_aa; + const double t62 = t35 * t35; + const double t63 = t62 * rho_a; + const double t65 = 0.1e1 / t36 / t63; + const double t69 = 0.804e0 + 0.5e1 / 0.972e3 * t41 + 0.146e3 / 0.2025e4 * t50 - 0.73e2 / 0.972e4 * t52 * t54 + 0.22909234000912809658e-3 * t60 * t61 * t65; + const double t72 = 0.1804e1 - 0.646416e0 / t69; + const double t76 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t26 * t27 * t72 ); + const double t77 = rho_b <= dens_tol; + const double t78 = -t17; + const double t80 = piecewise_functor_5( t15, t12, t11, t16, t78 * t8 ); + const double t81 = 0.1e1 + t80; + const double t82 = t81 <= zeta_tol; + const double t83 = safe_math::cbrt( t81 ); + const double t85 = piecewise_functor_3( t82, t23, t83 * t81 ); + const double t87 = rho_b * rho_b; + const double t88 = safe_math::cbrt( rho_b ); + const double t89 = t88 * t88; + const double t91 = 0.1e1 / t89 / t87; + const double t93 = t34 * sigma_bb * t91; + const double t96 = 0.1e1 / t89 / rho_b; + const double t101 = t34 * tau_b * t96 / 0.4e1 - 0.9e1 / 0.2e2 - t93 / 0.288e3; + const double t102 = t101 * t101; + const double t104 = t101 * t29; + const double t105 = t33 * sigma_bb; + const double t106 = t105 * t91; + const double t109 = sigma_bb * sigma_bb; + const double t110 = t87 * t87; + const double t111 = t110 * rho_b; + const double t113 = 0.1e1 / t88 / t111; + const double t117 = 0.804e0 + 0.5e1 / 0.972e3 * t93 + 0.146e3 / 0.2025e4 * t102 - 0.73e2 / 0.972e4 * t104 * t106 + 0.22909234000912809658e-3 * t60 * t109 * t113; + const double t120 = 0.1804e1 - 0.646416e0 / t117; + const double t124 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t85 * t27 * t120 ); + const double t125 = t7 * t7; + const double t126 = 0.1e1 / t125; + const double t127 = t17 * t126; + const double t129 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t127 ); + const double t132 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t129 ); + const double t137 = t27 * t27; + const double t138 = 0.1e1 / t137; + const double t142 = t6 * t26 * t138 * t72 / 0.8e1; + const double t143 = t3 * t26; + const double t144 = t69 * t69; + const double t145 = 0.1e1 / t144; + const double t146 = t27 * t145; + const double t147 = t35 * rho_a; + const double t149 = 0.1e1 / t37 / t147; + const double t151 = t34 * sigma_aa * t149; + const double t157 = -0.5e1 / 0.12e2 * t34 * tau_a * t39 + t151 / 0.108e3; + const double t160 = t157 * t29; + const double t163 = t53 * t149; + const double t166 = t62 * t35; + const double t168 = 0.1e1 / t36 / t166; + const double t172 = -0.1e2 / 0.729e3 * t151 + 0.292e3 / 0.2025e4 * t49 * t157 - 0.73e2 / 0.972e4 * t160 * t54 + 0.73e2 / 0.3645e4 * t52 * t163 - 0.12218258133820165151e-2 * t60 * t61 * t168; + const double t173 = t146 * t172; + const double t177 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t132 * t27 * t72 - t142 - 0.16551095363746320496e0 * t143 * t173 ); + const double t178 = t78 * t126; + const double t180 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t178 ); + const double t183 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.3e1 * t83 * t180 ); + const double t191 = t6 * t85 * t138 * t120 / 0.8e1; + const double t193 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t183 * t27 * t120 - t191 ); + const double t197 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t127 ); + const double t200 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t197 ); + const double t206 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t200 * t27 * t72 - t142 ); + const double t208 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t178 ); + const double t211 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.3e1 * t83 * t208 ); + const double t216 = t3 * t85; + const double t217 = t117 * t117; + const double t218 = 0.1e1 / t217; + const double t219 = t27 * t218; + const double t220 = t87 * rho_b; + const double t222 = 0.1e1 / t89 / t220; + const double t224 = t34 * sigma_bb * t222; + const double t230 = -0.5e1 / 0.12e2 * t34 * tau_b * t91 + t224 / 0.108e3; + const double t233 = t230 * t29; + const double t236 = t105 * t222; + const double t239 = t110 * t87; + const double t241 = 0.1e1 / t88 / t239; + const double t245 = -0.1e2 / 0.729e3 * t224 + 0.292e3 / 0.2025e4 * t101 * t230 - 0.73e2 / 0.972e4 * t233 * t106 + 0.73e2 / 0.3645e4 * t104 * t236 - 0.12218258133820165151e-2 * t60 * t109 * t241; + const double t246 = t219 * t245; + const double t250 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t211 * t27 * t120 - t191 - 0.16551095363746320496e0 * t216 * t246 ); + const double t255 = t33 * t39; + const double t256 = t52 * t255; + const double t259 = t60 * t65 * sigma_aa; + const double t261 = 0.5e1 / 0.972e3 * t34 * t39 - 0.146e3 / 0.18225e5 * t256 + 0.48426206913576876746e-3 * t259; + const double t262 = t146 * t261; + const double t265 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t143 * t262 ); + const double t268 = t33 * t91; + const double t269 = t104 * t268; + const double t272 = t60 * t113 * sigma_bb; + const double t274 = 0.5e1 / 0.972e3 * t34 * t91 - 0.146e3 / 0.18225e5 * t269 + 0.48426206913576876746e-3 * t272; + const double t275 = t219 * t274; + const double t278 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t216 * t275 ); + const double t279 = t33 * t44; + const double t283 = 0.1e1 / t36 / t62; + const double t287 = 0.73e2 / 0.2025e4 * t52 * t279 - 0.73e2 / 0.3888e5 * t60 * t283 * sigma_aa; + const double t288 = t146 * t287; + const double t291 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t143 * t288 ); + const double t292 = t33 * t96; + const double t296 = 0.1e1 / t88 / t110; + const double t300 = 0.73e2 / 0.2025e4 * t104 * t292 - 0.73e2 / 0.3888e5 * t60 * t296 * sigma_bb; + const double t301 = t219 * t300; + const double t304 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t216 * t301 ); + const double t307 = t24 * t24; + const double t308 = 0.1e1 / t307; + const double t309 = t129 * t129; + const double t312 = t125 * t7; + const double t313 = 0.1e1 / t312; + const double t314 = t17 * t313; + const double t317 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t126 + 0.2e1 * t314 ); + const double t321 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t308 * t309 + 0.4e1 / 0.3e1 * t24 * t317 ); + const double t328 = t6 * t132 * t138 * t72; + const double t330 = t3 * t132; + const double t334 = 0.1e1 / t137 / t7; + const double t338 = t6 * t26 * t334 * t72 / 0.12e2; + const double t339 = t138 * t145; + const double t340 = t339 * t172; + const double t341 = t143 * t340; + const double t344 = 0.1e1 / t144 / t69; + const double t345 = t27 * t344; + const double t346 = t172 * t172; + const double t347 = t345 * t346; + const double t351 = 0.1e1 / t37 / t62; + const double t353 = t34 * sigma_aa * t351; + const double t355 = t157 * t157; + const double t361 = 0.1e2 / 0.9e1 * t34 * tau_a * t149 - 0.11e2 / 0.324e3 * t353; + const double t364 = t361 * t29; + const double t369 = t53 * t351; + const double t372 = t62 * t147; + const double t374 = 0.1e1 / t36 / t372; + const double t378 = 0.11e3 / 0.2187e4 * t353 + 0.292e3 / 0.2025e4 * t355 + 0.292e3 / 0.2025e4 * t49 * t361 - 0.73e2 / 0.972e4 * t364 * t54 + 0.146e3 / 0.3645e4 * t160 * t163 - 0.803e3 / 0.10935e5 * t52 * t369 + 0.7738230151419437929e-2 * t60 * t61 * t374; + const double t379 = t146 * t378; + const double t383 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t321 * t27 * t72 - t328 / 0.4e1 - 0.33102190727492640992e0 * t330 * t173 + t338 - 0.11034063575830880331e0 * t341 + 0.33102190727492640992e0 * t143 * t347 - 0.16551095363746320496e0 * t143 * t379 ); + const double t384 = t83 * t83; + const double t385 = 0.1e1 / t384; + const double t386 = t180 * t180; + const double t389 = t78 * t313; + const double t392 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t126 + 0.2e1 * t389 ); + const double t396 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.9e1 * t385 * t386 + 0.4e1 / 0.3e1 * t83 * t392 ); + const double t403 = t6 * t183 * t138 * t120; + const double t408 = t6 * t85 * t334 * t120 / 0.12e2; + const double t410 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t396 * t27 * t120 - t403 / 0.4e1 + t408 ); + const double t428 = t6 * t200 * t138 * t72; + const double t452 = t6 * t211 * t138 * t120; + const double t458 = t138 * t218; + const double t459 = t458 * t245; + const double t460 = t216 * t459; + const double t468 = t197 * t197; + const double t473 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t126 + 0.2e1 * t314 ); + const double t477 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t308 * t468 + 0.4e1 / 0.3e1 * t24 * t473 ); + const double t484 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t477 * t27 * t72 - t428 / 0.4e1 + t338 ); + const double t485 = t208 * t208; + const double t490 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t126 + 0.2e1 * t389 ); + const double t494 = piecewise_functor_3( t82, 0.0, 0.4e1 / 0.9e1 * t385 * t485 + 0.4e1 / 0.3e1 * t83 * t490 ); + const double t500 = t3 * t211; + const double t505 = 0.1e1 / t217 / t117; + const double t506 = t27 * t505; + const double t507 = t245 * t245; + const double t508 = t506 * t507; + const double t512 = 0.1e1 / t89 / t110; + const double t514 = t34 * sigma_bb * t512; + const double t516 = t230 * t230; + const double t522 = 0.1e2 / 0.9e1 * t34 * tau_b * t222 - 0.11e2 / 0.324e3 * t514; + const double t525 = t522 * t29; + const double t530 = t105 * t512; + const double t533 = t110 * t220; + const double t535 = 0.1e1 / t88 / t533; + const double t539 = 0.11e3 / 0.2187e4 * t514 + 0.292e3 / 0.2025e4 * t516 + 0.292e3 / 0.2025e4 * t101 * t522 - 0.73e2 / 0.972e4 * t525 * t106 + 0.146e3 / 0.3645e4 * t233 * t236 - 0.803e3 / 0.10935e5 * t104 * t530 + 0.7738230151419437929e-2 * t60 * t109 * t535; + const double t540 = t219 * t539; + const double t544 = piecewise_functor_3( t77, 0.0, -0.3e1 / 0.8e1 * t6 * t494 * t27 * t120 - t452 / 0.4e1 - 0.33102190727492640992e0 * t500 * t246 + t408 - 0.11034063575830880331e0 * t460 + 0.33102190727492640992e0 * t216 * t508 - 0.16551095363746320496e0 * t216 * t540 ); + const double t549 = t339 * t261; + const double t551 = 0.55170317879154401653e-1 * t143 * t549; + const double t552 = t143 * t27; + const double t553 = t344 * t261; + const double t554 = t553 * t172; + const double t559 = t160 * t255; + const double t561 = t33 * t149; + const double t562 = t52 * t561; + const double t565 = t60 * t168 * sigma_aa; + const double t567 = -0.1e2 / 0.729e3 * t34 * t149 - 0.146e3 / 0.18225e5 * t559 + 0.1168e4 / 0.54675e5 * t562 - 0.25827310353907667598e-2 * t565; + const double t568 = t146 * t567; + const double t572 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t330 * t262 - t551 + 0.33102190727492640992e0 * t552 * t554 - 0.16551095363746320496e0 * t143 * t568 ); + const double t576 = t458 * t274; + const double t578 = 0.55170317879154401653e-1 * t216 * t576; + const double t589 = t216 * t27; + const double t590 = t505 * t274; + const double t591 = t590 * t245; + const double t596 = t233 * t268; + const double t598 = t33 * t222; + const double t599 = t104 * t598; + const double t602 = t60 * t241 * sigma_bb; + const double t604 = -0.1e2 / 0.729e3 * t34 * t222 - 0.146e3 / 0.18225e5 * t596 + 0.1168e4 / 0.54675e5 * t599 - 0.25827310353907667598e-2 * t602; + const double t605 = t219 * t604; + const double t609 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t500 * t275 - t578 + 0.33102190727492640992e0 * t589 * t591 - 0.16551095363746320496e0 * t216 * t605 ); + const double t613 = t339 * t287; + const double t615 = 0.55170317879154401653e-1 * t143 * t613; + const double t616 = t344 * t287; + const double t617 = t616 * t172; + const double t624 = 0.73e2 / 0.2025e4 * t160 * t279 - 0.73e2 / 0.1215e4 * t256 + 0.949e3 / 0.11664e6 * t259; + const double t625 = t146 * t624; + const double t629 = piecewise_functor_3( t2, 0.0, -0.16551095363746320496e0 * t330 * t288 - t615 + 0.33102190727492640992e0 * t552 * t617 - 0.16551095363746320496e0 * t143 * t625 ); + const double t633 = t458 * t300; + const double t635 = 0.55170317879154401653e-1 * t216 * t633; + const double t646 = t505 * t300; + const double t647 = t646 * t245; + const double t654 = 0.73e2 / 0.2025e4 * t233 * t292 - 0.73e2 / 0.1215e4 * t269 + 0.949e3 / 0.11664e6 * t272; + const double t655 = t219 * t654; + const double t659 = piecewise_functor_3( t77, 0.0, -0.16551095363746320496e0 * t500 * t301 - t635 + 0.33102190727492640992e0 * t589 * t647 - 0.16551095363746320496e0 * t216 * t655 ); + const double t661 = t261 * t261; + const double t662 = t345 * t661; + const double t665 = t145 * t57; + const double t666 = t59 * t65; + const double t667 = t665 * t666; + const double t668 = t552 * t667; + const double t671 = piecewise_functor_3( t2, 0.0, 0.33102190727492640992e0 * t143 * t662 - 0.84754509983741251008e-4 * t668 ); + const double t672 = t274 * t274; + const double t673 = t506 * t672; + const double t676 = t218 * t57; + const double t677 = t59 * t113; + const double t678 = t676 * t677; + const double t679 = t589 * t678; + const double t682 = piecewise_functor_3( t77, 0.0, 0.33102190727492640992e0 * t216 * t673 - 0.84754509983741251008e-4 * t679 ); + const double t683 = t616 * t261; + const double t686 = t59 * t283; + const double t687 = t665 * t686; + const double t688 = t552 * t687; + const double t691 = piecewise_functor_3( t2, 0.0, 0.33102190727492640992e0 * t552 * t683 + 0.33147598396528982063e-3 * t688 ); + const double t692 = t646 * t274; + const double t695 = t59 * t296; + const double t696 = t676 * t695; + const double t697 = t589 * t696; + const double t700 = piecewise_functor_3( t77, 0.0, 0.33102190727492640992e0 * t589 * t692 + 0.33147598396528982063e-3 * t697 ); + const double t701 = t287 * t287; + const double t702 = t345 * t701; + const double t706 = 0.1e1 / t36 / t147; + const double t707 = t59 * t706; + const double t708 = t665 * t707; + const double t712 = piecewise_functor_3( t2, 0.0, 0.33102190727492640992e0 * t143 * t702 - 0.14916419278438041928e-2 * t552 * t708 ); + const double t713 = t300 * t300; + const double t714 = t506 * t713; + const double t718 = 0.1e1 / t88 / t220; + const double t719 = t59 * t718; + const double t720 = t676 * t719; + const double t724 = piecewise_functor_3( t77, 0.0, 0.33102190727492640992e0 * t216 * t714 - 0.14916419278438041928e-2 * t589 * t720 ); + + + vrho_a = t76 + t124 + t7 * ( t177 + t193 ); + vrho_b = t76 + t124 + t7 * ( t206 + t250 ); + vsigma_aa = t7 * t265; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t278; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t291; + vtau_b = t7 * t304; + v2rho2_aa = 0.2e1 * t177 + 0.2e1 * t193 + t7 * ( t383 + t410 ); + v2rho2_bb = 0.2e1 * t206 + 0.2e1 * t250 + t7 * ( t484 + t544 ); + v2rhosigma_a_aa = t7 * t572 + t265; + v2rhosigma_b_bb = t7 * t609 + t278; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t629 + t291; + v2rhotau_b_b = t7 * t659 + t304; + v2sigma2_aa_aa = t7 * t671; + v2sigma2_bb_bb = t7 * t682; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t691; + v2sigmatau_bb_b = t7 * t700; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t712; + v2tau2_bb = t7 * t724; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + }; @@ -439,4 +1438,4 @@ struct BuiltinPKZB_X : detail::BuiltinKernelImpl< BuiltinPKZB_X > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pw86_x.hpp b/include/exchcxx/impl/builtin/kernels/pw86_x.hpp new file mode 100644 index 0000000..c8c6765 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/pw86_x.hpp @@ -0,0 +1,1122 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinPW86_X > : + public gga_screening_interface< BuiltinPW86_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double aa = 1.296; + static constexpr double bb = 14.0; + static constexpr double cc = 0.2; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = aa * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t37 = t20 * t20; + constexpr double t38 = bb * t37; + constexpr double t40 = 0.1e1 / t23 / t22; + constexpr double t41 = t38 * t40; + constexpr double t51 = t22 * t22; + constexpr double t53 = cc / t51; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t42 = sigma * sigma; + const double t43 = t42 * t27; + const double t44 = t30 * t30; + const double t45 = t44 * rho; + const double t47 = 0.1e1 / t18 / t45; + const double t54 = t42 * sigma; + const double t55 = t44 * t44; + const double t56 = 0.1e1 / t55; + const double t60 = 0.1e1 + t26 * t29 * t33 / 0.24e2 + t41 * t43 * t47 / 0.288e3 + t53 * t54 * t56 / 0.576e3; + const double t61 = safe_math::pow( t60, 0.1e1 / 0.15e2 ); + const double t65 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t61 ); + + + eps = 0.2e1 * t65; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = aa * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t37 = t20 * t20; + constexpr double t38 = bb * t37; + constexpr double t40 = 0.1e1 / t23 / t22; + constexpr double t41 = t38 * t40; + constexpr double t51 = t22 * t22; + constexpr double t53 = cc / t51; + constexpr double t104 = t25 * t28; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t42 = sigma * sigma; + const double t43 = t42 * t27; + const double t44 = t30 * t30; + const double t45 = t44 * rho; + const double t47 = 0.1e1 / t18 / t45; + const double t54 = t42 * sigma; + const double t55 = t44 * t44; + const double t56 = 0.1e1 / t55; + const double t60 = 0.1e1 + t26 * t29 * t33 / 0.24e2 + t41 * t43 * t47 / 0.288e3 + t53 * t54 * t56 / 0.576e3; + const double t61 = safe_math::pow( t60, 0.1e1 / 0.15e2 ); + const double t65 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t61 ); + const double t66 = 0.1e1 / t31; + const double t71 = t6 * t17; + const double t72 = t61 * t61; + const double t73 = t72 * t72; + const double t75 = t73 * t73; + const double t76 = t75 * t73 * t72; + const double t77 = 0.1e1 / t76; + const double t78 = t18 * t77; + const double t79 = t30 * rho; + const double t81 = 0.1e1 / t31 / t79; + const double t85 = t44 * t30; + const double t87 = 0.1e1 / t18 / t85; + const double t91 = t55 * rho; + const double t92 = 0.1e1 / t91; + const double t96 = -t26 * t29 * t81 / 0.9e1 - t41 * t43 * t87 / 0.54e2 - t53 * t54 * t92 / 0.72e2; + const double t101 = piecewise_functor_3( t2, 0.0, -t6 * t17 * t66 * t61 / 0.8e1 - t71 * t78 * t96 / 0.4e2 ); + const double t108 = sigma * t27; + const double t115 = t21 * t104 * t33 / 0.24e2 + t41 * t108 * t47 / 0.144e3 + t53 * t42 * t56 / 0.192e3; + const double t119 = piecewise_functor_3( t2, 0.0, -t71 * t78 * t115 / 0.4e2 ); + + + eps = 0.2e1 * t65; + vrho = 0.2e1 * rho * t101 + 0.2e1 * t65; + vsigma = 0.2e1 * rho * t119; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = aa * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t37 = t20 * t20; + constexpr double t38 = bb * t37; + constexpr double t40 = 0.1e1 / t23 / t22; + constexpr double t41 = t38 * t40; + constexpr double t51 = t22 * t22; + constexpr double t53 = cc / t51; + constexpr double t104 = t25 * t28; + constexpr double t191 = t40 * t27; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t42 = sigma * sigma; + const double t43 = t42 * t27; + const double t44 = t30 * t30; + const double t45 = t44 * rho; + const double t47 = 0.1e1 / t18 / t45; + const double t54 = t42 * sigma; + const double t55 = t44 * t44; + const double t56 = 0.1e1 / t55; + const double t60 = 0.1e1 + t26 * t29 * t33 / 0.24e2 + t41 * t43 * t47 / 0.288e3 + t53 * t54 * t56 / 0.576e3; + const double t61 = safe_math::pow( t60, 0.1e1 / 0.15e2 ); + const double t66 = 0.1e1 / t31; + const double t71 = t6 * t17; + const double t72 = t61 * t61; + const double t73 = t72 * t72; + const double t75 = t73 * t73; + const double t76 = t75 * t73 * t72; + const double t77 = 0.1e1 / t76; + const double t78 = t18 * t77; + const double t79 = t30 * rho; + const double t81 = 0.1e1 / t31 / t79; + const double t85 = t44 * t30; + const double t87 = 0.1e1 / t18 / t85; + const double t91 = t55 * rho; + const double t92 = 0.1e1 / t91; + const double t96 = -t26 * t29 * t81 / 0.9e1 - t41 * t43 * t87 / 0.54e2 - t53 * t54 * t92 / 0.72e2; + const double t101 = piecewise_functor_3( t2, 0.0, -t6 * t17 * t66 * t61 / 0.8e1 - t71 * t78 * t96 / 0.4e2 ); + const double t108 = sigma * t27; + const double t115 = t21 * t104 * t33 / 0.24e2 + t41 * t108 * t47 / 0.144e3 + t53 * t42 * t56 / 0.192e3; + const double t119 = piecewise_functor_3( t2, 0.0, -t71 * t78 * t115 / 0.4e2 ); + const double t123 = 0.1e1 / t31 / rho; + const double t128 = t66 * t77; + const double t133 = 0.1e1 / t76 / t60; + const double t134 = t18 * t133; + const double t135 = t96 * t96; + const double t140 = 0.1e1 / t31 / t44; + const double t144 = t44 * t79; + const double t146 = 0.1e1 / t18 / t144; + const double t151 = 0.1e1 / t55 / t30; + const double t155 = 0.11e2 / 0.27e2 * t26 * t29 * t140 + 0.19e2 / 0.162e3 * t41 * t43 * t146 + t53 * t54 * t151 / 0.8e1; + const double t160 = piecewise_functor_3( t2, 0.0, t6 * t17 * t123 * t61 / 0.12e2 - t71 * t128 * t96 / 0.6e2 + 0.7e1 / 0.3e3 * t71 * t134 * t135 - t71 * t78 * t155 / 0.4e2 ); + const double t166 = t115 * t96; + const double t179 = -t21 * t104 * t81 / 0.9e1 - t41 * t108 * t87 / 0.27e2 - t53 * t42 * t92 / 0.24e2; + const double t184 = piecewise_functor_3( t2, 0.0, -t71 * t128 * t115 / 0.12e3 + 0.7e1 / 0.3e3 * t71 * t134 * t166 - t71 * t78 * t179 / 0.4e2 ); + const double t187 = t115 * t115; + const double t198 = t38 * t191 * t47 / 0.144e3 + t53 * sigma * t56 / 0.96e2; + const double t203 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.3e3 * t71 * t134 * t187 - t71 * t78 * t198 / 0.4e2 ); + + + v2rho2 = 0.2e1 * rho * t160 + 0.4e1 * t101; + v2rhosigma = 0.2e1 * rho * t184 + 0.2e1 * t119; + v2sigma2 = 0.2e1 * rho * t203; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = aa * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t37 = t20 * t20; + constexpr double t38 = bb * t37; + constexpr double t40 = 0.1e1 / t23 / t22; + constexpr double t41 = t38 * t40; + constexpr double t51 = t22 * t22; + constexpr double t53 = cc / t51; + constexpr double t104 = t25 * t28; + constexpr double t191 = t40 * t27; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t42 = sigma * sigma; + const double t43 = t42 * t27; + const double t44 = t30 * t30; + const double t45 = t44 * rho; + const double t47 = 0.1e1 / t18 / t45; + const double t54 = t42 * sigma; + const double t55 = t44 * t44; + const double t56 = 0.1e1 / t55; + const double t60 = 0.1e1 + t26 * t29 * t33 / 0.24e2 + t41 * t43 * t47 / 0.288e3 + t53 * t54 * t56 / 0.576e3; + const double t61 = safe_math::pow( t60, 0.1e1 / 0.15e2 ); + const double t65 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t61 ); + const double t66 = 0.1e1 / t31; + const double t71 = t6 * t17; + const double t72 = t61 * t61; + const double t73 = t72 * t72; + const double t75 = t73 * t73; + const double t76 = t75 * t73 * t72; + const double t77 = 0.1e1 / t76; + const double t78 = t18 * t77; + const double t79 = t30 * rho; + const double t81 = 0.1e1 / t31 / t79; + const double t85 = t44 * t30; + const double t87 = 0.1e1 / t18 / t85; + const double t91 = t55 * rho; + const double t92 = 0.1e1 / t91; + const double t96 = -t26 * t29 * t81 / 0.9e1 - t41 * t43 * t87 / 0.54e2 - t53 * t54 * t92 / 0.72e2; + const double t101 = piecewise_functor_3( t2, 0.0, -t6 * t17 * t66 * t61 / 0.8e1 - t71 * t78 * t96 / 0.4e2 ); + const double t108 = sigma * t27; + const double t115 = t21 * t104 * t33 / 0.24e2 + t41 * t108 * t47 / 0.144e3 + t53 * t42 * t56 / 0.192e3; + const double t119 = piecewise_functor_3( t2, 0.0, -t71 * t78 * t115 / 0.4e2 ); + const double t123 = 0.1e1 / t31 / rho; + const double t128 = t66 * t77; + const double t133 = 0.1e1 / t76 / t60; + const double t134 = t18 * t133; + const double t135 = t96 * t96; + const double t140 = 0.1e1 / t31 / t44; + const double t144 = t44 * t79; + const double t146 = 0.1e1 / t18 / t144; + const double t151 = 0.1e1 / t55 / t30; + const double t155 = 0.11e2 / 0.27e2 * t26 * t29 * t140 + 0.19e2 / 0.162e3 * t41 * t43 * t146 + t53 * t54 * t151 / 0.8e1; + const double t160 = piecewise_functor_3( t2, 0.0, t6 * t17 * t123 * t61 / 0.12e2 - t71 * t128 * t96 / 0.6e2 + 0.7e1 / 0.3e3 * t71 * t134 * t135 - t71 * t78 * t155 / 0.4e2 ); + const double t166 = t115 * t96; + const double t179 = -t21 * t104 * t81 / 0.9e1 - t41 * t108 * t87 / 0.27e2 - t53 * t42 * t92 / 0.24e2; + const double t184 = piecewise_functor_3( t2, 0.0, -t71 * t128 * t115 / 0.12e3 + 0.7e1 / 0.3e3 * t71 * t134 * t166 - t71 * t78 * t179 / 0.4e2 ); + const double t187 = t115 * t115; + const double t198 = t38 * t191 * t47 / 0.144e3 + t53 * sigma * t56 / 0.96e2; + const double t203 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.3e3 * t71 * t134 * t187 - t71 * t78 * t198 / 0.4e2 ); + + + vrho = 0.2e1 * rho * t101 + 0.2e1 * t65; + vsigma = 0.2e1 * rho * t119; + v2rho2 = 0.2e1 * rho * t160 + 0.4e1 * t101; + v2rhosigma = 0.2e1 * rho * t184 + 0.2e1 * t119; + v2sigma2 = 0.2e1 * rho * t203; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = aa * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t43 = t28 * t28; + constexpr double t44 = bb * t43; + constexpr double t46 = 0.1e1 / t31 / t30; + constexpr double t56 = t30 * t30; + constexpr double t58 = cc / t56; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t47 = sigma_aa * sigma_aa; + const double t48 = t46 * t47; + const double t49 = t35 * t35; + const double t50 = t49 * rho_a; + const double t52 = 0.1e1 / t36 / t50; + const double t59 = t47 * sigma_aa; + const double t60 = t49 * t49; + const double t61 = 0.1e1 / t60; + const double t65 = 0.1e1 + t29 * t34 * t39 / 0.24e2 + t44 * t48 * t52 / 0.576e3 + t58 * t59 * t61 / 0.2304e4; + const double t66 = safe_math::pow( t65, 0.1e1 / 0.15e2 ); + const double t70 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t66 ); + const double t71 = rho_b <= dens_tol; + const double t72 = -t16; + const double t74 = piecewise_functor_5( t14, t11, t10, t15, t72 * t7 ); + const double t75 = 0.1e1 + t74; + const double t76 = t75 <= zeta_tol; + const double t77 = safe_math::cbrt( t75 ); + const double t79 = piecewise_functor_3( t76, t22, t77 * t75 ); + const double t80 = t79 * t26; + const double t81 = t33 * sigma_bb; + const double t82 = rho_b * rho_b; + const double t83 = safe_math::cbrt( rho_b ); + const double t84 = t83 * t83; + const double t86 = 0.1e1 / t84 / t82; + const double t90 = sigma_bb * sigma_bb; + const double t91 = t46 * t90; + const double t92 = t82 * t82; + const double t93 = t92 * rho_b; + const double t95 = 0.1e1 / t83 / t93; + const double t99 = t90 * sigma_bb; + const double t100 = t92 * t92; + const double t101 = 0.1e1 / t100; + const double t105 = 0.1e1 + t29 * t81 * t86 / 0.24e2 + t44 * t91 * t95 / 0.576e3 + t58 * t99 * t101 / 0.2304e4; + const double t106 = safe_math::pow( t105, 0.1e1 / 0.15e2 ); + const double t110 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t80 * t106 ); + + + eps = t70 + t110; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = aa * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t43 = t28 * t28; + constexpr double t44 = bb * t43; + constexpr double t46 = 0.1e1 / t31 / t30; + constexpr double t56 = t30 * t30; + constexpr double t58 = cc / t56; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t47 = sigma_aa * sigma_aa; + const double t48 = t46 * t47; + const double t49 = t35 * t35; + const double t50 = t49 * rho_a; + const double t52 = 0.1e1 / t36 / t50; + const double t59 = t47 * sigma_aa; + const double t60 = t49 * t49; + const double t61 = 0.1e1 / t60; + const double t65 = 0.1e1 + t29 * t34 * t39 / 0.24e2 + t44 * t48 * t52 / 0.576e3 + t58 * t59 * t61 / 0.2304e4; + const double t66 = safe_math::pow( t65, 0.1e1 / 0.15e2 ); + const double t70 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t66 ); + const double t71 = rho_b <= dens_tol; + const double t72 = -t16; + const double t74 = piecewise_functor_5( t14, t11, t10, t15, t72 * t7 ); + const double t75 = 0.1e1 + t74; + const double t76 = t75 <= zeta_tol; + const double t77 = safe_math::cbrt( t75 ); + const double t79 = piecewise_functor_3( t76, t22, t77 * t75 ); + const double t80 = t79 * t26; + const double t81 = t33 * sigma_bb; + const double t82 = rho_b * rho_b; + const double t83 = safe_math::cbrt( rho_b ); + const double t84 = t83 * t83; + const double t86 = 0.1e1 / t84 / t82; + const double t90 = sigma_bb * sigma_bb; + const double t91 = t46 * t90; + const double t92 = t82 * t82; + const double t93 = t92 * rho_b; + const double t95 = 0.1e1 / t83 / t93; + const double t99 = t90 * sigma_bb; + const double t100 = t92 * t92; + const double t101 = 0.1e1 / t100; + const double t105 = 0.1e1 + t29 * t81 * t86 / 0.24e2 + t44 * t91 * t95 / 0.576e3 + t58 * t99 * t101 / 0.2304e4; + const double t106 = safe_math::pow( t105, 0.1e1 / 0.15e2 ); + const double t110 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t80 * t106 ); + const double t111 = t6 * t6; + const double t112 = 0.1e1 / t111; + const double t113 = t16 * t112; + const double t115 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t113 ); + const double t118 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t115 ); + const double t123 = t26 * t26; + const double t124 = 0.1e1 / t123; + const double t128 = t5 * t25 * t124 * t66 / 0.8e1; + const double t129 = t5 * t25; + const double t130 = t66 * t66; + const double t131 = t130 * t130; + const double t133 = t131 * t131; + const double t134 = t133 * t131 * t130; + const double t135 = 0.1e1 / t134; + const double t136 = t26 * t135; + const double t137 = t35 * rho_a; + const double t139 = 0.1e1 / t37 / t137; + const double t143 = t49 * t35; + const double t145 = 0.1e1 / t36 / t143; + const double t149 = t60 * rho_a; + const double t150 = 0.1e1 / t149; + const double t154 = -t29 * t34 * t139 / 0.9e1 - t44 * t48 * t145 / 0.108e3 - t58 * t59 * t150 / 0.288e3; + const double t155 = t136 * t154; + const double t159 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t118 * t26 * t66 - t128 - t129 * t155 / 0.4e2 ); + const double t160 = t72 * t112; + const double t162 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t160 ); + const double t165 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.3e1 * t77 * t162 ); + const double t173 = t5 * t79 * t124 * t106 / 0.8e1; + const double t175 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t165 * t26 * t106 - t173 ); + const double t179 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t113 ); + const double t182 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t179 ); + const double t188 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t182 * t26 * t66 - t128 ); + const double t190 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t160 ); + const double t193 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.3e1 * t77 * t190 ); + const double t198 = t5 * t79; + const double t199 = t106 * t106; + const double t200 = t199 * t199; + const double t202 = t200 * t200; + const double t203 = t202 * t200 * t199; + const double t204 = 0.1e1 / t203; + const double t205 = t26 * t204; + const double t206 = t82 * rho_b; + const double t208 = 0.1e1 / t84 / t206; + const double t212 = t92 * t82; + const double t214 = 0.1e1 / t83 / t212; + const double t218 = t100 * rho_b; + const double t219 = 0.1e1 / t218; + const double t223 = -t29 * t81 * t208 / 0.9e1 - t44 * t91 * t214 / 0.108e3 - t58 * t99 * t219 / 0.288e3; + const double t224 = t205 * t223; + const double t228 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t193 * t26 * t106 - t173 - t198 * t224 / 0.4e2 ); + const double t234 = t46 * sigma_aa; + const double t241 = t29 * t33 * t39 / 0.24e2 + t44 * t234 * t52 / 0.288e3 + t58 * t47 * t61 / 0.768e3; + const double t242 = t136 * t241; + const double t245 = piecewise_functor_3( t1, 0.0, -t129 * t242 / 0.4e2 ); + const double t249 = t46 * sigma_bb; + const double t256 = t29 * t33 * t86 / 0.24e2 + t44 * t249 * t95 / 0.288e3 + t58 * t90 * t101 / 0.768e3; + const double t257 = t205 * t256; + const double t260 = piecewise_functor_3( t71, 0.0, -t198 * t257 / 0.4e2 ); + + + eps = t70 + t110; + vrho_a = t70 + t110 + t6 * ( t159 + t175 ); + vrho_b = t70 + t110 + t6 * ( t188 + t228 ); + vsigma_aa = t6 * t245; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t260; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = aa * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t43 = t28 * t28; + constexpr double t44 = bb * t43; + constexpr double t46 = 0.1e1 / t31 / t30; + constexpr double t56 = t30 * t30; + constexpr double t58 = cc / t56; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t47 = sigma_aa * sigma_aa; + const double t48 = t46 * t47; + const double t49 = t35 * t35; + const double t50 = t49 * rho_a; + const double t52 = 0.1e1 / t36 / t50; + const double t59 = t47 * sigma_aa; + const double t60 = t49 * t49; + const double t61 = 0.1e1 / t60; + const double t65 = 0.1e1 + t29 * t34 * t39 / 0.24e2 + t44 * t48 * t52 / 0.576e3 + t58 * t59 * t61 / 0.2304e4; + const double t66 = safe_math::pow( t65, 0.1e1 / 0.15e2 ); + const double t71 = rho_b <= dens_tol; + const double t72 = -t16; + const double t74 = piecewise_functor_5( t14, t11, t10, t15, t72 * t7 ); + const double t75 = 0.1e1 + t74; + const double t76 = t75 <= zeta_tol; + const double t77 = safe_math::cbrt( t75 ); + const double t79 = piecewise_functor_3( t76, t22, t77 * t75 ); + const double t81 = t33 * sigma_bb; + const double t82 = rho_b * rho_b; + const double t83 = safe_math::cbrt( rho_b ); + const double t84 = t83 * t83; + const double t86 = 0.1e1 / t84 / t82; + const double t90 = sigma_bb * sigma_bb; + const double t91 = t46 * t90; + const double t92 = t82 * t82; + const double t93 = t92 * rho_b; + const double t95 = 0.1e1 / t83 / t93; + const double t99 = t90 * sigma_bb; + const double t100 = t92 * t92; + const double t101 = 0.1e1 / t100; + const double t105 = 0.1e1 + t29 * t81 * t86 / 0.24e2 + t44 * t91 * t95 / 0.576e3 + t58 * t99 * t101 / 0.2304e4; + const double t106 = safe_math::pow( t105, 0.1e1 / 0.15e2 ); + const double t111 = t6 * t6; + const double t112 = 0.1e1 / t111; + const double t113 = t16 * t112; + const double t115 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t113 ); + const double t118 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t115 ); + const double t123 = t26 * t26; + const double t124 = 0.1e1 / t123; + const double t128 = t5 * t25 * t124 * t66 / 0.8e1; + const double t129 = t5 * t25; + const double t130 = t66 * t66; + const double t131 = t130 * t130; + const double t133 = t131 * t131; + const double t134 = t133 * t131 * t130; + const double t135 = 0.1e1 / t134; + const double t136 = t26 * t135; + const double t137 = t35 * rho_a; + const double t139 = 0.1e1 / t37 / t137; + const double t143 = t49 * t35; + const double t145 = 0.1e1 / t36 / t143; + const double t149 = t60 * rho_a; + const double t150 = 0.1e1 / t149; + const double t154 = -t29 * t34 * t139 / 0.9e1 - t44 * t48 * t145 / 0.108e3 - t58 * t59 * t150 / 0.288e3; + const double t155 = t136 * t154; + const double t159 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t118 * t26 * t66 - t128 - t129 * t155 / 0.4e2 ); + const double t160 = t72 * t112; + const double t162 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t160 ); + const double t165 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.3e1 * t77 * t162 ); + const double t173 = t5 * t79 * t124 * t106 / 0.8e1; + const double t175 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t165 * t26 * t106 - t173 ); + const double t179 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t113 ); + const double t182 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t179 ); + const double t188 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t182 * t26 * t66 - t128 ); + const double t190 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t160 ); + const double t193 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.3e1 * t77 * t190 ); + const double t198 = t5 * t79; + const double t199 = t106 * t106; + const double t200 = t199 * t199; + const double t202 = t200 * t200; + const double t203 = t202 * t200 * t199; + const double t204 = 0.1e1 / t203; + const double t205 = t26 * t204; + const double t206 = t82 * rho_b; + const double t208 = 0.1e1 / t84 / t206; + const double t212 = t92 * t82; + const double t214 = 0.1e1 / t83 / t212; + const double t218 = t100 * rho_b; + const double t219 = 0.1e1 / t218; + const double t223 = -t29 * t81 * t208 / 0.9e1 - t44 * t91 * t214 / 0.108e3 - t58 * t99 * t219 / 0.288e3; + const double t224 = t205 * t223; + const double t228 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t193 * t26 * t106 - t173 - t198 * t224 / 0.4e2 ); + const double t234 = t46 * sigma_aa; + const double t241 = t29 * t33 * t39 / 0.24e2 + t44 * t234 * t52 / 0.288e3 + t58 * t47 * t61 / 0.768e3; + const double t242 = t136 * t241; + const double t245 = piecewise_functor_3( t1, 0.0, -t129 * t242 / 0.4e2 ); + const double t249 = t46 * sigma_bb; + const double t256 = t29 * t33 * t86 / 0.24e2 + t44 * t249 * t95 / 0.288e3 + t58 * t90 * t101 / 0.768e3; + const double t257 = t205 * t256; + const double t260 = piecewise_functor_3( t71, 0.0, -t198 * t257 / 0.4e2 ); + const double t263 = t23 * t23; + const double t264 = 0.1e1 / t263; + const double t265 = t115 * t115; + const double t268 = t111 * t6; + const double t269 = 0.1e1 / t268; + const double t270 = t16 * t269; + const double t273 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t112 + 0.2e1 * t270 ); + const double t277 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t264 * t265 + 0.4e1 / 0.3e1 * t23 * t273 ); + const double t284 = t5 * t118 * t124 * t66; + const double t286 = t5 * t118; + const double t290 = 0.1e1 / t123 / t6; + const double t294 = t5 * t25 * t290 * t66 / 0.12e2; + const double t295 = t124 * t135; + const double t296 = t295 * t154; + const double t297 = t129 * t296; + const double t300 = 0.1e1 / t134 / t65; + const double t301 = t26 * t300; + const double t302 = t154 * t154; + const double t303 = t301 * t302; + const double t307 = 0.1e1 / t37 / t49; + const double t313 = 0.1e1 / t36 / t49 / t137; + const double t318 = 0.1e1 / t60 / t35; + const double t322 = 0.11e2 / 0.27e2 * t29 * t34 * t307 + 0.19e2 / 0.324e3 * t44 * t48 * t313 + t58 * t59 * t318 / 0.32e2; + const double t323 = t136 * t322; + const double t327 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t277 * t26 * t66 - t284 / 0.4e1 - t286 * t155 / 0.2e2 + t294 - t297 / 0.6e2 + 0.7e1 / 0.3e3 * t129 * t303 - t129 * t323 / 0.4e2 ); + const double t328 = t77 * t77; + const double t329 = 0.1e1 / t328; + const double t330 = t162 * t162; + const double t333 = t72 * t269; + const double t336 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t112 + 0.2e1 * t333 ); + const double t340 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.9e1 * t329 * t330 + 0.4e1 / 0.3e1 * t77 * t336 ); + const double t347 = t5 * t165 * t124 * t106; + const double t352 = t5 * t79 * t290 * t106 / 0.12e2; + const double t354 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t340 * t26 * t106 - t347 / 0.4e1 + t352 ); + const double t372 = t5 * t182 * t124 * t66; + const double t396 = t5 * t193 * t124 * t106; + const double t402 = t124 * t204; + const double t403 = t402 * t223; + const double t404 = t198 * t403; + const double t412 = t179 * t179; + const double t417 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t112 + 0.2e1 * t270 ); + const double t421 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t264 * t412 + 0.4e1 / 0.3e1 * t23 * t417 ); + const double t428 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t421 * t26 * t66 - t372 / 0.4e1 + t294 ); + const double t429 = t190 * t190; + const double t434 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t112 + 0.2e1 * t333 ); + const double t438 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.9e1 * t329 * t429 + 0.4e1 / 0.3e1 * t77 * t434 ); + const double t444 = t5 * t193; + const double t449 = 0.1e1 / t203 / t105; + const double t450 = t26 * t449; + const double t451 = t223 * t223; + const double t452 = t450 * t451; + const double t456 = 0.1e1 / t84 / t92; + const double t462 = 0.1e1 / t83 / t92 / t206; + const double t467 = 0.1e1 / t100 / t82; + const double t471 = 0.11e2 / 0.27e2 * t29 * t81 * t456 + 0.19e2 / 0.324e3 * t44 * t91 * t462 + t58 * t99 * t467 / 0.32e2; + const double t472 = t205 * t471; + const double t476 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t438 * t26 * t106 - t396 / 0.4e1 - t444 * t224 / 0.2e2 + t352 - t404 / 0.6e2 + 0.7e1 / 0.3e3 * t198 * t452 - t198 * t472 / 0.4e2 ); + const double t481 = t295 * t241; + const double t483 = t129 * t481 / 0.12e3; + const double t484 = t241 * t154; + const double t485 = t301 * t484; + const double t497 = -t29 * t33 * t139 / 0.9e1 - t44 * t234 * t145 / 0.54e2 - t58 * t47 * t150 / 0.96e2; + const double t498 = t136 * t497; + const double t502 = piecewise_functor_3( t1, 0.0, -t286 * t242 / 0.4e2 - t483 + 0.7e1 / 0.3e3 * t129 * t485 - t129 * t498 / 0.4e2 ); + const double t506 = t402 * t256; + const double t508 = t198 * t506 / 0.12e3; + const double t519 = t256 * t223; + const double t520 = t450 * t519; + const double t532 = -t29 * t33 * t208 / 0.9e1 - t44 * t249 * t214 / 0.54e2 - t58 * t90 * t219 / 0.96e2; + const double t533 = t205 * t532; + const double t537 = piecewise_functor_3( t71, 0.0, -t444 * t257 / 0.4e2 - t508 + 0.7e1 / 0.3e3 * t198 * t520 - t198 * t533 / 0.4e2 ); + const double t539 = t241 * t241; + const double t540 = t301 * t539; + const double t549 = t44 * t46 * t52 / 0.288e3 + t58 * sigma_aa * t61 / 0.384e3; + const double t550 = t136 * t549; + const double t554 = piecewise_functor_3( t1, 0.0, 0.7e1 / 0.3e3 * t129 * t540 - t129 * t550 / 0.4e2 ); + const double t555 = t256 * t256; + const double t556 = t450 * t555; + const double t565 = t44 * t46 * t95 / 0.288e3 + t58 * sigma_bb * t101 / 0.384e3; + const double t566 = t205 * t565; + const double t570 = piecewise_functor_3( t71, 0.0, 0.7e1 / 0.3e3 * t198 * t556 - t198 * t566 / 0.4e2 ); + + + v2rho2_aa = 0.2e1 * t159 + 0.2e1 * t175 + t6 * ( t327 + t354 ); + v2rho2_bb = 0.2e1 * t188 + 0.2e1 * t228 + t6 * ( t428 + t476 ); + v2rhosigma_a_aa = t6 * t502 + t245; + v2rhosigma_b_bb = t6 * t537 + t260; + v2sigma2_aa_aa = t6 * t554; + v2sigma2_bb_bb = t6 * t570; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = aa * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t43 = t28 * t28; + constexpr double t44 = bb * t43; + constexpr double t46 = 0.1e1 / t31 / t30; + constexpr double t56 = t30 * t30; + constexpr double t58 = cc / t56; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t47 = sigma_aa * sigma_aa; + const double t48 = t46 * t47; + const double t49 = t35 * t35; + const double t50 = t49 * rho_a; + const double t52 = 0.1e1 / t36 / t50; + const double t59 = t47 * sigma_aa; + const double t60 = t49 * t49; + const double t61 = 0.1e1 / t60; + const double t65 = 0.1e1 + t29 * t34 * t39 / 0.24e2 + t44 * t48 * t52 / 0.576e3 + t58 * t59 * t61 / 0.2304e4; + const double t66 = safe_math::pow( t65, 0.1e1 / 0.15e2 ); + const double t70 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t66 ); + const double t71 = rho_b <= dens_tol; + const double t72 = -t16; + const double t74 = piecewise_functor_5( t14, t11, t10, t15, t72 * t7 ); + const double t75 = 0.1e1 + t74; + const double t76 = t75 <= zeta_tol; + const double t77 = safe_math::cbrt( t75 ); + const double t79 = piecewise_functor_3( t76, t22, t77 * t75 ); + const double t80 = t79 * t26; + const double t81 = t33 * sigma_bb; + const double t82 = rho_b * rho_b; + const double t83 = safe_math::cbrt( rho_b ); + const double t84 = t83 * t83; + const double t86 = 0.1e1 / t84 / t82; + const double t90 = sigma_bb * sigma_bb; + const double t91 = t46 * t90; + const double t92 = t82 * t82; + const double t93 = t92 * rho_b; + const double t95 = 0.1e1 / t83 / t93; + const double t99 = t90 * sigma_bb; + const double t100 = t92 * t92; + const double t101 = 0.1e1 / t100; + const double t105 = 0.1e1 + t29 * t81 * t86 / 0.24e2 + t44 * t91 * t95 / 0.576e3 + t58 * t99 * t101 / 0.2304e4; + const double t106 = safe_math::pow( t105, 0.1e1 / 0.15e2 ); + const double t110 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t80 * t106 ); + const double t111 = t6 * t6; + const double t112 = 0.1e1 / t111; + const double t113 = t16 * t112; + const double t115 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t113 ); + const double t118 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t115 ); + const double t123 = t26 * t26; + const double t124 = 0.1e1 / t123; + const double t128 = t5 * t25 * t124 * t66 / 0.8e1; + const double t129 = t5 * t25; + const double t130 = t66 * t66; + const double t131 = t130 * t130; + const double t133 = t131 * t131; + const double t134 = t133 * t131 * t130; + const double t135 = 0.1e1 / t134; + const double t136 = t26 * t135; + const double t137 = t35 * rho_a; + const double t139 = 0.1e1 / t37 / t137; + const double t143 = t49 * t35; + const double t145 = 0.1e1 / t36 / t143; + const double t149 = t60 * rho_a; + const double t150 = 0.1e1 / t149; + const double t154 = -t29 * t34 * t139 / 0.9e1 - t44 * t48 * t145 / 0.108e3 - t58 * t59 * t150 / 0.288e3; + const double t155 = t136 * t154; + const double t159 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t118 * t26 * t66 - t128 - t129 * t155 / 0.4e2 ); + const double t160 = t72 * t112; + const double t162 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t160 ); + const double t165 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.3e1 * t77 * t162 ); + const double t173 = t5 * t79 * t124 * t106 / 0.8e1; + const double t175 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t165 * t26 * t106 - t173 ); + const double t179 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t113 ); + const double t182 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t179 ); + const double t188 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t182 * t26 * t66 - t128 ); + const double t190 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t160 ); + const double t193 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.3e1 * t77 * t190 ); + const double t198 = t5 * t79; + const double t199 = t106 * t106; + const double t200 = t199 * t199; + const double t202 = t200 * t200; + const double t203 = t202 * t200 * t199; + const double t204 = 0.1e1 / t203; + const double t205 = t26 * t204; + const double t206 = t82 * rho_b; + const double t208 = 0.1e1 / t84 / t206; + const double t212 = t92 * t82; + const double t214 = 0.1e1 / t83 / t212; + const double t218 = t100 * rho_b; + const double t219 = 0.1e1 / t218; + const double t223 = -t29 * t81 * t208 / 0.9e1 - t44 * t91 * t214 / 0.108e3 - t58 * t99 * t219 / 0.288e3; + const double t224 = t205 * t223; + const double t228 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t193 * t26 * t106 - t173 - t198 * t224 / 0.4e2 ); + const double t234 = t46 * sigma_aa; + const double t241 = t29 * t33 * t39 / 0.24e2 + t44 * t234 * t52 / 0.288e3 + t58 * t47 * t61 / 0.768e3; + const double t242 = t136 * t241; + const double t245 = piecewise_functor_3( t1, 0.0, -t129 * t242 / 0.4e2 ); + const double t249 = t46 * sigma_bb; + const double t256 = t29 * t33 * t86 / 0.24e2 + t44 * t249 * t95 / 0.288e3 + t58 * t90 * t101 / 0.768e3; + const double t257 = t205 * t256; + const double t260 = piecewise_functor_3( t71, 0.0, -t198 * t257 / 0.4e2 ); + const double t263 = t23 * t23; + const double t264 = 0.1e1 / t263; + const double t265 = t115 * t115; + const double t268 = t111 * t6; + const double t269 = 0.1e1 / t268; + const double t270 = t16 * t269; + const double t273 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t112 + 0.2e1 * t270 ); + const double t277 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t264 * t265 + 0.4e1 / 0.3e1 * t23 * t273 ); + const double t284 = t5 * t118 * t124 * t66; + const double t286 = t5 * t118; + const double t290 = 0.1e1 / t123 / t6; + const double t294 = t5 * t25 * t290 * t66 / 0.12e2; + const double t295 = t124 * t135; + const double t296 = t295 * t154; + const double t297 = t129 * t296; + const double t300 = 0.1e1 / t134 / t65; + const double t301 = t26 * t300; + const double t302 = t154 * t154; + const double t303 = t301 * t302; + const double t307 = 0.1e1 / t37 / t49; + const double t313 = 0.1e1 / t36 / t49 / t137; + const double t318 = 0.1e1 / t60 / t35; + const double t322 = 0.11e2 / 0.27e2 * t29 * t34 * t307 + 0.19e2 / 0.324e3 * t44 * t48 * t313 + t58 * t59 * t318 / 0.32e2; + const double t323 = t136 * t322; + const double t327 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t277 * t26 * t66 - t284 / 0.4e1 - t286 * t155 / 0.2e2 + t294 - t297 / 0.6e2 + 0.7e1 / 0.3e3 * t129 * t303 - t129 * t323 / 0.4e2 ); + const double t328 = t77 * t77; + const double t329 = 0.1e1 / t328; + const double t330 = t162 * t162; + const double t333 = t72 * t269; + const double t336 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t112 + 0.2e1 * t333 ); + const double t340 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.9e1 * t329 * t330 + 0.4e1 / 0.3e1 * t77 * t336 ); + const double t347 = t5 * t165 * t124 * t106; + const double t352 = t5 * t79 * t290 * t106 / 0.12e2; + const double t354 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t340 * t26 * t106 - t347 / 0.4e1 + t352 ); + const double t372 = t5 * t182 * t124 * t66; + const double t396 = t5 * t193 * t124 * t106; + const double t402 = t124 * t204; + const double t403 = t402 * t223; + const double t404 = t198 * t403; + const double t412 = t179 * t179; + const double t417 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t112 + 0.2e1 * t270 ); + const double t421 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t264 * t412 + 0.4e1 / 0.3e1 * t23 * t417 ); + const double t428 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t421 * t26 * t66 - t372 / 0.4e1 + t294 ); + const double t429 = t190 * t190; + const double t434 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t112 + 0.2e1 * t333 ); + const double t438 = piecewise_functor_3( t76, 0.0, 0.4e1 / 0.9e1 * t329 * t429 + 0.4e1 / 0.3e1 * t77 * t434 ); + const double t444 = t5 * t193; + const double t449 = 0.1e1 / t203 / t105; + const double t450 = t26 * t449; + const double t451 = t223 * t223; + const double t452 = t450 * t451; + const double t456 = 0.1e1 / t84 / t92; + const double t462 = 0.1e1 / t83 / t92 / t206; + const double t467 = 0.1e1 / t100 / t82; + const double t471 = 0.11e2 / 0.27e2 * t29 * t81 * t456 + 0.19e2 / 0.324e3 * t44 * t91 * t462 + t58 * t99 * t467 / 0.32e2; + const double t472 = t205 * t471; + const double t476 = piecewise_functor_3( t71, 0.0, -0.3e1 / 0.8e1 * t5 * t438 * t26 * t106 - t396 / 0.4e1 - t444 * t224 / 0.2e2 + t352 - t404 / 0.6e2 + 0.7e1 / 0.3e3 * t198 * t452 - t198 * t472 / 0.4e2 ); + const double t481 = t295 * t241; + const double t483 = t129 * t481 / 0.12e3; + const double t484 = t241 * t154; + const double t485 = t301 * t484; + const double t497 = -t29 * t33 * t139 / 0.9e1 - t44 * t234 * t145 / 0.54e2 - t58 * t47 * t150 / 0.96e2; + const double t498 = t136 * t497; + const double t502 = piecewise_functor_3( t1, 0.0, -t286 * t242 / 0.4e2 - t483 + 0.7e1 / 0.3e3 * t129 * t485 - t129 * t498 / 0.4e2 ); + const double t506 = t402 * t256; + const double t508 = t198 * t506 / 0.12e3; + const double t519 = t256 * t223; + const double t520 = t450 * t519; + const double t532 = -t29 * t33 * t208 / 0.9e1 - t44 * t249 * t214 / 0.54e2 - t58 * t90 * t219 / 0.96e2; + const double t533 = t205 * t532; + const double t537 = piecewise_functor_3( t71, 0.0, -t444 * t257 / 0.4e2 - t508 + 0.7e1 / 0.3e3 * t198 * t520 - t198 * t533 / 0.4e2 ); + const double t539 = t241 * t241; + const double t540 = t301 * t539; + const double t549 = t44 * t46 * t52 / 0.288e3 + t58 * sigma_aa * t61 / 0.384e3; + const double t550 = t136 * t549; + const double t554 = piecewise_functor_3( t1, 0.0, 0.7e1 / 0.3e3 * t129 * t540 - t129 * t550 / 0.4e2 ); + const double t555 = t256 * t256; + const double t556 = t450 * t555; + const double t565 = t44 * t46 * t95 / 0.288e3 + t58 * sigma_bb * t101 / 0.384e3; + const double t566 = t205 * t565; + const double t570 = piecewise_functor_3( t71, 0.0, 0.7e1 / 0.3e3 * t198 * t556 - t198 * t566 / 0.4e2 ); + + + vrho_a = t70 + t110 + t6 * ( t159 + t175 ); + vrho_b = t70 + t110 + t6 * ( t188 + t228 ); + vsigma_aa = t6 * t245; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t260; + v2rho2_aa = 0.2e1 * t159 + 0.2e1 * t175 + t6 * ( t327 + t354 ); + v2rho2_bb = 0.2e1 * t188 + 0.2e1 * t228 + t6 * ( t428 + t476 ); + v2rhosigma_a_aa = t6 * t502 + t245; + v2rhosigma_b_bb = t6 * t537 + t260; + v2sigma2_aa_aa = t6 * t554; + v2sigma2_bb_bb = t6 * t570; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinPW86_X : detail::BuiltinKernelImpl< BuiltinPW86_X > { + + BuiltinPW86_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinPW86_X >(p) { } + + virtual ~BuiltinPW86_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pw91_c.hpp b/include/exchcxx/impl/builtin/kernels/pw91_c.hpp new file mode 100644 index 0000000..c1adc2f --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/pw91_c.hpp @@ -0,0 +1,3992 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinPW91_C > : + public gga_screening_interface< BuiltinPW91_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000021e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t59 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = t59 * t59; + constexpr double t61 = t18 * t60; + constexpr double t66 = 0.1e1 / t59; + constexpr double t67 = t18 * t66; + constexpr double t75 = 0.1e1 / t3; + constexpr double t76 = t75 * t5; + constexpr double t83 = 0.1e1 / t60; + constexpr double t97 = t39 * t39; + constexpr double t101 = 0.1e1 / t19; + constexpr double t102 = t101 * t6; + constexpr double t107 = t1 * t66; + constexpr double t116 = t18 * t83; + constexpr double t137 = t2 * t59; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081824322151104822e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.62182e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608574643216675549e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751789702565206229e-1 * t43 * t45 * t54; + const double t62 = t34 * t34; + const double t63 = piecewise_functor_3( t33, t62, 1.0 ); + const double t64 = t63 * t63; + const double t65 = t64 * t63; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t72 = sigma * t70 * t39; + const double t73 = 0.1e1 / t64; + const double t77 = t73 * t18 * t76; + const double t87 = safe_math::exp( -0.12897460341341234505e3 * ( -t32 + t57 ) / t65 * t1 * t83 ); + const double t88 = t87 - 0.1e1; + const double t89 = 0.1e1 / t88; + const double t90 = t66 * t89; + const double t91 = sigma * sigma; + const double t92 = t68 * t68; + const double t94 = 0.1e1 / t21 / t92; + const double t95 = t91 * t94; + const double t98 = t64 * t64; + const double t99 = 0.1e1 / t98; + const double t100 = t97 * t99; + const double t103 = t100 * t102; + const double t106 = t72 * t77 / 0.96e2 + 0.27166129655589868296e-2 * t90 * t95 * t103; + const double t109 = t107 * t89 * sigma; + const double t110 = t70 * t39; + const double t112 = t73 * t75 * t5; + const double t117 = t88 * t88; + const double t118 = 0.1e1 / t117; + const double t119 = t118 * t91; + const double t120 = t116 * t119; + const double t121 = t94 * t97; + const double t122 = t99 * t101; + const double t123 = t122 * t6; + const double t124 = t121 * t123; + const double t127 = 0.1e1 + 0.86931614897887578546e-1 * t109 * t110 * t112 + 0.75571056687546295931e-2 * t120 * t124; + const double t128 = 0.1e1 / t127; + const double t132 = 0.1e1 + 0.27818116767324025134e1 * t67 * t106 * t128; + const double t133 = safe_math::log( t132 ); + const double t136 = 0.25844881434903430496e-2 * t61 * t65 * t133; + const double t140 = 0.2568e1 + 0.58165e1 * t10 + 0.184725e-2 * t24; + const double t143 = 0.1e4 + 0.218075e4 * t10 + 0.118e3 * t24; + const double t144 = 0.1e1 / t143; + const double t146 = t140 * t144 - 0.18535714285714285714e-2; + const double t147 = t146 * t63; + const double t149 = t137 * t147 * sigma; + const double t151 = safe_math::cbrt( 0.9e1 ); + const double t152 = t151 * t151; + const double t156 = 0.1e1 / t21 / t68; + const double t158 = sigma * t39; + const double t162 = safe_math::exp( -0.25e2 / 0.18e2 * t2 * t5 * t152 * t3 * t156 * t64 * t158 ); + const double t163 = t76 * t162; + const double t164 = t110 * t163; + const double t166 = t149 * t164 / 0.2e1; + + + eps = -t32 + t57 + t136 + t166; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t58 = constants::m_pi_sq; + constexpr double t59 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = t59 * t59; + constexpr double t61 = t18 * t60; + constexpr double t66 = 0.1e1 / t59; + constexpr double t67 = t18 * t66; + constexpr double t75 = 0.1e1 / t3; + constexpr double t76 = t75 * t5; + constexpr double t83 = 0.1e1 / t60; + constexpr double t97 = t39 * t39; + constexpr double t101 = 0.1e1 / t19; + constexpr double t102 = t101 * t6; + constexpr double t107 = t1 * t66; + constexpr double t116 = t18 * t83; + constexpr double t137 = t2 * t59; + constexpr double t178 = t3 * t6; + constexpr double t262 = 0.1e1 / t59 / t58; + constexpr double t309 = 0.1e1 / t58 * t59; + constexpr double t325 = t18 * t75 * t5; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081824322151104822e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.62182e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608574643216675549e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751789702565206229e-1 * t43 * t45 * t54; + const double t62 = t34 * t34; + const double t63 = piecewise_functor_3( t33, t62, 1.0 ); + const double t64 = t63 * t63; + const double t65 = t64 * t63; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t72 = sigma * t70 * t39; + const double t73 = 0.1e1 / t64; + const double t77 = t73 * t18 * t76; + const double t87 = safe_math::exp( -0.12897460341341234505e3 * ( -t32 + t57 ) / t65 * t1 * t83 ); + const double t88 = t87 - 0.1e1; + const double t89 = 0.1e1 / t88; + const double t90 = t66 * t89; + const double t91 = sigma * sigma; + const double t92 = t68 * t68; + const double t94 = 0.1e1 / t21 / t92; + const double t95 = t91 * t94; + const double t98 = t64 * t64; + const double t99 = 0.1e1 / t98; + const double t100 = t97 * t99; + const double t103 = t100 * t102; + const double t106 = t72 * t77 / 0.96e2 + 0.27166129655589868296e-2 * t90 * t95 * t103; + const double t109 = t107 * t89 * sigma; + const double t110 = t70 * t39; + const double t112 = t73 * t75 * t5; + const double t117 = t88 * t88; + const double t118 = 0.1e1 / t117; + const double t119 = t118 * t91; + const double t120 = t116 * t119; + const double t121 = t94 * t97; + const double t122 = t99 * t101; + const double t123 = t122 * t6; + const double t124 = t121 * t123; + const double t127 = 0.1e1 + 0.86931614897887578546e-1 * t109 * t110 * t112 + 0.75571056687546295931e-2 * t120 * t124; + const double t128 = 0.1e1 / t127; + const double t132 = 0.1e1 + 0.27818116767324025134e1 * t67 * t106 * t128; + const double t133 = safe_math::log( t132 ); + const double t136 = 0.25844881434903430496e-2 * t61 * t65 * t133; + const double t140 = 0.2568e1 + 0.58165e1 * t10 + 0.184725e-2 * t24; + const double t143 = 0.1e4 + 0.218075e4 * t10 + 0.118e3 * t24; + const double t144 = 0.1e1 / t143; + const double t146 = t140 * t144 - 0.18535714285714285714e-2; + const double t147 = t146 * t63; + const double t149 = t137 * t147 * sigma; + const double t151 = safe_math::cbrt( 0.9e1 ); + const double t152 = t151 * t151; + const double t156 = 0.1e1 / t21 / t68; + const double t158 = sigma * t39; + const double t162 = safe_math::exp( -0.25e2 / 0.18e2 * t2 * t5 * t152 * t3 * t156 * t64 * t158 ); + const double t163 = t76 * t162; + const double t164 = t110 * t163; + const double t166 = t149 * t164 / 0.2e1; + const double t168 = 0.1e1 / t7 / rho; + const double t169 = t6 * t168; + const double t171 = t4 * t169 * t30; + const double t172 = 0.11073577833333333333e-2 * t171; + const double t173 = t26 * t26; + const double t174 = 0.1e1 / t173; + const double t175 = t12 * t174; + const double t177 = 0.1e1 / t13 * t1; + const double t179 = t178 * t168; + const double t180 = t177 * t179; + const double t182 = t4 * t169; + const double t184 = safe_math::sqrt( t10 ); + const double t185 = t184 * t1; + const double t186 = t185 * t179; + const double t191 = t20 * t5 / t21 / rho; + const double t193 = -0.632975e0 * t180 - 0.29896666666666666667e0 * t182 - 0.1023875e0 * t186 - 0.82156666666666666667e-1 * t191; + const double t194 = 0.1e1 / t29; + const double t195 = t193 * t194; + const double t196 = t175 * t195; + const double t197 = 0.1e1 * t196; + const double t198 = t43 * t1; + const double t201 = t198 * t178 * t168 * t54; + const double t202 = 0.18311555036753159941e-3 * t201; + const double t203 = t43 * t45; + const double t204 = t50 * t50; + const double t205 = 0.1e1 / t204; + const double t210 = -0.86308333333333333334e0 * t180 - 0.301925e0 * t182 - 0.5501625e-1 * t186 - 0.82785e-1 * t191; + const double t212 = 0.1e1 / t53; + const double t213 = t205 * t210 * t212; + const double t214 = t203 * t213; + const double t215 = 0.58482233974552040708e0 * t214; + const double t216 = t68 * rho; + const double t218 = 0.1e1 / t7 / t216; + const double t220 = sigma * t218 * t39; + const double t223 = t98 * t65; + const double t224 = 0.1e1 / t223; + const double t225 = t121 * t224; + const double t226 = t119 * t225; + const double t227 = t172 + t197 - t202 - t215; + const double t229 = t227 * t1 * t87; + const double t230 = t102 * t229; + const double t233 = t92 * rho; + const double t235 = 0.1e1 / t21 / t233; + const double t236 = t91 * t235; + const double t240 = -0.7e1 / 0.288e3 * t220 * t77 + 0.35500316489081544176e-1 * t226 * t230 - 0.12677527172608605205e-1 * t90 * t236 * t103; + const double t244 = t127 * t127; + const double t245 = 0.1e1 / t244; + const double t246 = t106 * t245; + const double t247 = t18 * t118; + const double t248 = t247 * t72; + const double t249 = t98 * t63; + const double t251 = 0.1e1 / t249 * t75; + const double t252 = t5 * t227; + const double t254 = t251 * t252 * t87; + const double t257 = t218 * t39; + const double t264 = 0.1e1 / t117 / t88; + const double t265 = t262 * t264; + const double t267 = t265 * t95 * t97; + const double t268 = t224 * t101; + const double t269 = t6 * t227; + const double t271 = t268 * t269 * t87; + const double t274 = t235 * t97; + const double t275 = t274 * t123; + const double t278 = 0.11360101276506094136e1 * t248 * t254 - 0.20284043476173768327e0 * t109 * t257 * t112 + 0.5848048239485271795e1 * t267 * t271 - 0.35266493120854938101e-1 * t120 * t275; + const double t282 = 0.27818116767324025134e1 * t67 * t240 * t128 - 0.27818116767324025134e1 * t67 * t246 * t278; + const double t284 = 0.1e1 / t132; + const double t286 = t61 * t65 * t282 * t284; + const double t290 = -0.19388333333333333333e1 * t182 - 0.12315e-2 * t191; + const double t292 = t143 * t143; + const double t293 = 0.1e1 / t292; + const double t294 = t140 * t293; + const double t297 = -0.72691666666666666667e3 * t182 - 0.78666666666666666667e2 * t191; + const double t299 = t290 * t144 - t294 * t297; + const double t300 = t299 * t63; + const double t302 = t137 * t300 * sigma; + const double t303 = t302 * t164; + const double t305 = t257 * t163; + const double t306 = t149 * t305; + const double t310 = t146 * t65; + const double t312 = t309 * t310 * t91; + const double t313 = t92 * t68; + const double t314 = 0.1e1 / t313; + const double t317 = t6 * t152 * t162; + const double t318 = t314 * t97 * t317; + const double t319 = t312 * t318; + const double t328 = sigma * t94; + const double t332 = t110 * t73 * t325 / 0.96e2 + 0.54332259311179736592e-2 * t90 * t328 * t103; + const double t339 = t39 * t73 * t76; + const double t342 = t118 * sigma; + const double t343 = t116 * t342; + const double t346 = 0.86931614897887578546e-1 * t107 * t89 * t70 * t339 + 0.15114211337509259186e-1 * t343 * t124; + const double t350 = 0.27818116767324025134e1 * t67 * t332 * t128 - 0.27818116767324025134e1 * t67 * t246 * t346; + const double t354 = 0.25844881434903430496e-2 * t61 * t65 * t350 * t284; + const double t355 = t137 * t147; + const double t357 = t355 * t164 / 0.2e1; + const double t360 = 0.1e1 / t233; + const double t362 = t360 * t97 * t317; + const double t364 = 0.25e2 / 0.36e2 * t309 * t310 * sigma * t362; + + + eps = -t32 + t57 + t136 + t166; + vrho = -t32 + t57 + t136 + t166 + rho * ( t172 + t197 - t202 - t215 + 0.25844881434903430496e-2 * t286 + t303 / 0.2e1 - 0.7e1 / 0.6e1 * t306 + 0.5e2 / 0.27e2 * t319 ); + vsigma = rho * ( t354 + t357 - t364 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t58 = constants::m_pi_sq; + constexpr double t59 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = t59 * t59; + constexpr double t61 = t18 * t60; + constexpr double t66 = 0.1e1 / t59; + constexpr double t67 = t18 * t66; + constexpr double t75 = 0.1e1 / t3; + constexpr double t76 = t75 * t5; + constexpr double t83 = 0.1e1 / t60; + constexpr double t97 = t39 * t39; + constexpr double t101 = 0.1e1 / t19; + constexpr double t102 = t101 * t6; + constexpr double t107 = t1 * t66; + constexpr double t116 = t18 * t83; + constexpr double t137 = t2 * t59; + constexpr double t178 = t3 * t6; + constexpr double t262 = 0.1e1 / t59 / t58; + constexpr double t309 = 0.1e1 / t58 * t59; + constexpr double t325 = t18 * t75 * t5; + constexpr double t377 = t4 * t6; + constexpr double t392 = t19 * t5; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081824322151104822e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.62182e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608574643216675549e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751789702565206229e-1 * t43 * t45 * t54; + const double t62 = t34 * t34; + const double t63 = piecewise_functor_3( t33, t62, 1.0 ); + const double t64 = t63 * t63; + const double t65 = t64 * t63; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t72 = sigma * t70 * t39; + const double t73 = 0.1e1 / t64; + const double t77 = t73 * t18 * t76; + const double t87 = safe_math::exp( -0.12897460341341234505e3 * ( -t32 + t57 ) / t65 * t1 * t83 ); + const double t88 = t87 - 0.1e1; + const double t89 = 0.1e1 / t88; + const double t90 = t66 * t89; + const double t91 = sigma * sigma; + const double t92 = t68 * t68; + const double t94 = 0.1e1 / t21 / t92; + const double t95 = t91 * t94; + const double t98 = t64 * t64; + const double t99 = 0.1e1 / t98; + const double t100 = t97 * t99; + const double t103 = t100 * t102; + const double t106 = t72 * t77 / 0.96e2 + 0.27166129655589868296e-2 * t90 * t95 * t103; + const double t109 = t107 * t89 * sigma; + const double t110 = t70 * t39; + const double t112 = t73 * t75 * t5; + const double t117 = t88 * t88; + const double t118 = 0.1e1 / t117; + const double t119 = t118 * t91; + const double t120 = t116 * t119; + const double t121 = t94 * t97; + const double t122 = t99 * t101; + const double t123 = t122 * t6; + const double t124 = t121 * t123; + const double t127 = 0.1e1 + 0.86931614897887578546e-1 * t109 * t110 * t112 + 0.75571056687546295931e-2 * t120 * t124; + const double t128 = 0.1e1 / t127; + const double t132 = 0.1e1 + 0.27818116767324025134e1 * t67 * t106 * t128; + const double t140 = 0.2568e1 + 0.58165e1 * t10 + 0.184725e-2 * t24; + const double t143 = 0.1e4 + 0.218075e4 * t10 + 0.118e3 * t24; + const double t144 = 0.1e1 / t143; + const double t146 = t140 * t144 - 0.18535714285714285714e-2; + const double t147 = t146 * t63; + const double t149 = t137 * t147 * sigma; + const double t151 = safe_math::cbrt( 0.9e1 ); + const double t152 = t151 * t151; + const double t156 = 0.1e1 / t21 / t68; + const double t158 = sigma * t39; + const double t162 = safe_math::exp( -0.25e2 / 0.18e2 * t2 * t5 * t152 * t3 * t156 * t64 * t158 ); + const double t163 = t76 * t162; + const double t164 = t110 * t163; + const double t168 = 0.1e1 / t7 / rho; + const double t169 = t6 * t168; + const double t171 = t4 * t169 * t30; + const double t172 = 0.11073577833333333333e-2 * t171; + const double t173 = t26 * t26; + const double t174 = 0.1e1 / t173; + const double t175 = t12 * t174; + const double t177 = 0.1e1 / t13 * t1; + const double t179 = t178 * t168; + const double t180 = t177 * t179; + const double t182 = t4 * t169; + const double t184 = safe_math::sqrt( t10 ); + const double t185 = t184 * t1; + const double t186 = t185 * t179; + const double t191 = t20 * t5 / t21 / rho; + const double t193 = -0.632975e0 * t180 - 0.29896666666666666667e0 * t182 - 0.1023875e0 * t186 - 0.82156666666666666667e-1 * t191; + const double t194 = 0.1e1 / t29; + const double t195 = t193 * t194; + const double t196 = t175 * t195; + const double t197 = 0.1e1 * t196; + const double t198 = t43 * t1; + const double t201 = t198 * t178 * t168 * t54; + const double t202 = 0.18311555036753159941e-3 * t201; + const double t203 = t43 * t45; + const double t204 = t50 * t50; + const double t205 = 0.1e1 / t204; + const double t210 = -0.86308333333333333334e0 * t180 - 0.301925e0 * t182 - 0.5501625e-1 * t186 - 0.82785e-1 * t191; + const double t212 = 0.1e1 / t53; + const double t213 = t205 * t210 * t212; + const double t214 = t203 * t213; + const double t215 = 0.58482233974552040708e0 * t214; + const double t216 = t68 * rho; + const double t218 = 0.1e1 / t7 / t216; + const double t220 = sigma * t218 * t39; + const double t223 = t98 * t65; + const double t224 = 0.1e1 / t223; + const double t225 = t121 * t224; + const double t226 = t119 * t225; + const double t227 = t172 + t197 - t202 - t215; + const double t229 = t227 * t1 * t87; + const double t230 = t102 * t229; + const double t233 = t92 * rho; + const double t235 = 0.1e1 / t21 / t233; + const double t236 = t91 * t235; + const double t240 = -0.7e1 / 0.288e3 * t220 * t77 + 0.35500316489081544176e-1 * t226 * t230 - 0.12677527172608605205e-1 * t90 * t236 * t103; + const double t244 = t127 * t127; + const double t245 = 0.1e1 / t244; + const double t246 = t106 * t245; + const double t247 = t18 * t118; + const double t248 = t247 * t72; + const double t249 = t98 * t63; + const double t251 = 0.1e1 / t249 * t75; + const double t252 = t5 * t227; + const double t254 = t251 * t252 * t87; + const double t257 = t218 * t39; + const double t264 = 0.1e1 / t117 / t88; + const double t265 = t262 * t264; + const double t267 = t265 * t95 * t97; + const double t268 = t224 * t101; + const double t269 = t6 * t227; + const double t271 = t268 * t269 * t87; + const double t274 = t235 * t97; + const double t275 = t274 * t123; + const double t278 = 0.11360101276506094136e1 * t248 * t254 - 0.20284043476173768327e0 * t109 * t257 * t112 + 0.5848048239485271795e1 * t267 * t271 - 0.35266493120854938101e-1 * t120 * t275; + const double t282 = 0.27818116767324025134e1 * t67 * t240 * t128 - 0.27818116767324025134e1 * t67 * t246 * t278; + const double t284 = 0.1e1 / t132; + const double t286 = t61 * t65 * t282 * t284; + const double t290 = -0.19388333333333333333e1 * t182 - 0.12315e-2 * t191; + const double t292 = t143 * t143; + const double t293 = 0.1e1 / t292; + const double t294 = t140 * t293; + const double t297 = -0.72691666666666666667e3 * t182 - 0.78666666666666666667e2 * t191; + const double t299 = t290 * t144 - t294 * t297; + const double t300 = t299 * t63; + const double t302 = t137 * t300 * sigma; + const double t303 = t302 * t164; + const double t305 = t257 * t163; + const double t306 = t149 * t305; + const double t310 = t146 * t65; + const double t312 = t309 * t310 * t91; + const double t313 = t92 * t68; + const double t314 = 0.1e1 / t313; + const double t317 = t6 * t152 * t162; + const double t318 = t314 * t97 * t317; + const double t319 = t312 * t318; + const double t328 = sigma * t94; + const double t332 = t110 * t73 * t325 / 0.96e2 + 0.54332259311179736592e-2 * t90 * t328 * t103; + const double t339 = t39 * t73 * t76; + const double t342 = t118 * sigma; + const double t343 = t116 * t342; + const double t346 = 0.86931614897887578546e-1 * t107 * t89 * t70 * t339 + 0.15114211337509259186e-1 * t343 * t124; + const double t350 = 0.27818116767324025134e1 * t67 * t332 * t128 - 0.27818116767324025134e1 * t67 * t246 * t346; + const double t354 = 0.25844881434903430496e-2 * t61 * t65 * t350 * t284; + const double t355 = t137 * t147; + const double t357 = t355 * t164 / 0.2e1; + const double t360 = 0.1e1 / t233; + const double t362 = t360 * t97 * t317; + const double t364 = 0.25e2 / 0.36e2 * t309 * t310 * sigma * t362; + const double t373 = t6 * t70; + const double t375 = t4 * t373 * t30; + const double t376 = 0.14764770444444444444e-2 * t375; + const double t378 = t168 * t174; + const double t380 = t377 * t378 * t195; + const double t381 = 0.35616666666666666667e-1 * t380; + const double t382 = t173 * t26; + const double t383 = 0.1e1 / t382; + const double t384 = t12 * t383; + const double t385 = t193 * t193; + const double t386 = t385 * t194; + const double t387 = t384 * t386; + const double t388 = 0.2e1 * t387; + const double t391 = 0.1e1 / t13 / t10 * t18; + const double t393 = t392 * t156; + const double t394 = t391 * t393; + const double t396 = t178 * t70; + const double t397 = t177 * t396; + const double t399 = t4 * t373; + const double t401 = 0.1e1/safe_math::sqrt( t10 ); + const double t402 = t401 * t18; + const double t403 = t402 * t393; + const double t405 = t185 * t396; + const double t408 = t20 * t5 * t156; + const double t410 = -0.42198333333333333333e0 * t394 + 0.84396666666666666666e0 * t397 + 0.39862222222222222223e0 * t399 + 0.68258333333333333333e-1 * t403 + 0.13651666666666666667e0 * t405 + 0.13692777777777777778e0 * t408; + const double t411 = t410 * t194; + const double t412 = t175 * t411; + const double t413 = 0.1e1 * t412; + const double t414 = t173 * t173; + const double t415 = 0.1e1 / t414; + const double t416 = t12 * t415; + const double t417 = t29 * t29; + const double t418 = 0.1e1 / t417; + const double t419 = t385 * t418; + const double t420 = t416 * t419; + const double t421 = 0.16081824322151104822e2 * t420; + const double t424 = t198 * t178 * t70 * t54; + const double t425 = 0.24415406715670879921e-3 * t424; + const double t426 = t43 * t4; + const double t428 = t426 * t169 * t213; + const double t429 = 0.10843580882781524214e-1 * t428; + const double t430 = t204 * t50; + const double t431 = 0.1e1 / t430; + const double t432 = t210 * t210; + const double t434 = t431 * t432 * t212; + const double t435 = t203 * t434; + const double t436 = 0.11696446794910408142e1 * t435; + const double t443 = -0.57538888888888888889e0 * t394 + 0.11507777777777777778e1 * t397 + 0.40256666666666666667e0 * t399 + 0.366775e-1 * t403 + 0.73355e-1 * t405 + 0.137975e0 * t408; + const double t445 = t205 * t443 * t212; + const double t446 = t203 * t445; + const double t447 = 0.58482233974552040708e0 * t446; + const double t448 = t204 * t204; + const double t449 = 0.1e1 / t448; + const double t450 = t449 * t432; + const double t451 = t53 * t53; + const double t452 = 0.1e1 / t451; + const double t453 = t450 * t452; + const double t454 = t203 * t453; + const double t455 = 0.17315755899375863299e2 * t454; + const double t457 = 0.1e1 / t7 / t92; + const double t459 = sigma * t457 * t39; + const double t462 = t264 * t91; + const double t463 = t98 * t98; + const double t465 = 0.1e1 / t463 / t64; + const double t466 = t121 * t465; + const double t467 = t462 * t466; + const double t468 = t227 * t227; + const double t469 = t102 * t468; + const double t470 = t87 * t87; + const double t472 = t18 * t470 * t83; + const double t473 = t469 * t472; + const double t476 = t274 * t224; + const double t477 = t119 * t476; + const double t480 = -t376 - t381 - t388 + t413 + t421 + t425 + t429 + t436 - t447 - t455; + const double t482 = t480 * t1 * t87; + const double t483 = t102 * t482; + const double t486 = t119 * t466; + const double t487 = t116 * t87; + const double t488 = t469 * t487; + const double t492 = 0.1e1 / t21 / t313; + const double t493 = t91 * t492; + const double t497 = 0.35e2 / 0.432e3 * t459 * t77 + 0.9157278480459830169e1 * t467 * t473 - 0.33133628723142774564e0 * t477 * t230 + 0.35500316489081544176e-1 * t226 * t483 - 0.45786392402299150845e1 * t486 * t488 + 0.71839320644782096162e-1 * t90 * t493 * t103; + const double t501 = t240 * t245; + const double t506 = 0.1e1 / t244 / t127; + const double t507 = t106 * t506; + const double t508 = t278 * t278; + const double t512 = t264 * sigma; + const double t513 = 0.1e1 / t463; + const double t514 = t110 * t513; + const double t515 = t512 * t514; + const double t516 = t468 * t470; + const double t518 = t76 * t516 * t83; + const double t521 = t247 * t220; + const double t524 = t5 * t480; + const double t526 = t251 * t524 * t87; + const double t529 = t342 * t514; + const double t532 = t76 * t468 * t83 * t87; + const double t535 = t457 * t39; + const double t539 = t117 * t117; + const double t540 = 0.1e1 / t539; + const double t541 = t540 * t91; + const double t542 = t541 * t466; + const double t543 = t516 * t1; + const double t544 = t102 * t543; + const double t548 = t265 * t236 * t97; + const double t551 = t6 * t480; + const double t553 = t268 * t551 * t87; + const double t557 = t468 * t1 * t87; + const double t558 = t102 * t557; + const double t561 = t492 * t97; + const double t562 = t561 * t123; + const double t565 = 0.8790987341241436962e3 * t515 * t518 - 0.53013805957028439301e1 * t521 * t254 + 0.11360101276506094136e1 * t248 * t526 - 0.4395493670620718481e3 * t529 * t532 + 0.6761347825391256109e0 * t109 * t535 * t112 + 0.23229342182245570105e2 * t542 * t544 - 0.5458178356852920342e2 * t548 * t271 + 0.5848048239485271795e1 * t267 * t553 - 0.77431140607485233683e1 * t467 * t558 + 0.19984346101817798257e0 * t120 * t562; + const double t569 = 0.27818116767324025134e1 * t67 * t497 * t128 - 0.55636233534648050268e1 * t67 * t501 * t278 + 0.55636233534648050268e1 * t67 * t507 * t508 - 0.27818116767324025134e1 * t67 * t246 * t565; + const double t572 = t61 * t65 * t569 * t284; + const double t574 = t282 * t282; + const double t576 = t132 * t132; + const double t577 = 0.1e1 / t576; + const double t579 = t61 * t65 * t574 * t577; + const double t583 = 0.25851111111111111111e1 * t399 + 0.20525e-2 * t408; + const double t585 = t290 * t293; + const double t589 = 0.1e1 / t292 / t143; + const double t590 = t140 * t589; + const double t591 = t297 * t297; + const double t596 = 0.96922222222222222222e3 * t399 + 0.13111111111111111111e3 * t408; + const double t598 = t583 * t144 - t294 * t596 - 0.2e1 * t585 * t297 + 0.2e1 * t590 * t591; + const double t599 = t598 * t63; + const double t601 = t137 * t599 * sigma; + const double t602 = t601 * t164; + const double t604 = t302 * t305; + const double t606 = t299 * t65; + const double t608 = t309 * t606 * t91; + const double t609 = t608 * t318; + const double t611 = t535 * t163; + const double t612 = t149 * t611; + const double t614 = t92 * t216; + const double t615 = 0.1e1 / t614; + const double t617 = t615 * t97 * t317; + const double t618 = t312 * t617; + const double t622 = 0.1e1 / t58 / M_PI * t59; + const double t624 = t622 * t146 * t249; + const double t625 = t91 * sigma; + const double t626 = t92 * t92; + const double t627 = t626 * rho; + const double t629 = 0.1e1 / t21 / t627; + const double t632 = t151 * t3 * t162; + const double t633 = t625 * t629 * t632; + const double t634 = t624 * t633; + const double t636 = -t376 - t381 - t388 + t413 + t421 + t425 + t429 + t436 - t447 - t455 + 0.25844881434903430496e-2 * t572 - 0.25844881434903430496e-2 * t579 + t602 / 0.2e1 - 0.7e1 / 0.3e1 * t604 + 0.1e3 / 0.27e2 * t609 + 0.35e2 / 0.9e1 * t612 - 0.125e4 / 0.81e2 * t618 + 0.4e5 / 0.81e2 * t634; + const double t641 = t342 * t225; + const double t644 = sigma * t235; + const double t648 = -0.7e1 / 0.288e3 * t257 * t73 * t325 + 0.71000632978163088352e-1 * t641 * t230 - 0.2535505434521721041e-1 * t90 * t644 * t103; + const double t652 = t332 * t245; + const double t659 = t67 * t106; + const double t660 = t506 * t346; + const double t661 = t660 * t278; + const double t664 = t247 * t110; + const double t672 = t265 * t328 * t97; + const double t677 = 0.11360101276506094136e1 * t664 * t254 - 0.20284043476173768327e0 * t107 * t89 * t218 * t339 + 0.1169609647897054359e2 * t672 * t271 - 0.70532986241709876201e-1 * t343 * t275; + const double t681 = 0.27818116767324025134e1 * t67 * t648 * t128 - 0.27818116767324025134e1 * t67 * t652 * t278 - 0.27818116767324025134e1 * t67 * t501 * t346 + 0.55636233534648050268e1 * t659 * t661 - 0.27818116767324025134e1 * t67 * t246 * t677; + const double t684 = t61 * t65 * t681 * t284; + const double t686 = t61 * t65; + const double t687 = t350 * t577; + const double t689 = t686 * t687 * t282; + const double t691 = t137 * t300; + const double t692 = t691 * t164; + const double t694 = t355 * t305; + const double t701 = t97 * t6 * t152 * sigma * t162; + const double t702 = t309 * t310 * t314 * t701; + const double t706 = t309 * t606 * sigma * t362; + const double t709 = 0.1e1 / t21 / t626; + const double t710 = t91 * t709; + const double t711 = t710 * t632; + const double t712 = t624 * t711; + const double t716 = t89 * t94; + const double t719 = t100 * t102 * t128; + const double t725 = t346 * t346; + const double t729 = t1 * t106; + const double t730 = t245 * t118; + const double t731 = t729 * t730; + const double t734 = 0.15114211337509259186e-1 * t116 * t716 * t719 - 0.55636233534648050268e1 * t67 * t652 * t346 + 0.55636233534648050268e1 * t67 * t507 * t725 - 0.12780113936069355903e-1 * t731 * t124; + const double t738 = 0.25844881434903430496e-2 * t61 * t65 * t734 * t284; + const double t739 = t350 * t350; + const double t743 = 0.25844881434903430496e-2 * t61 * t65 * t739 * t577; + const double t744 = t309 * t310; + const double t746 = 0.25e2 / 0.18e2 * t744 * t362; + const double t748 = 0.1e1 / t21 / t614; + const double t749 = sigma * t748; + const double t750 = t749 * t632; + const double t752 = 0.625e3 / 0.9e1 * t624 * t750; + + + v2rho2 = 0.22147155666666666666e-2 * t171 + 0.2e1 * t196 - 0.36623110073506319882e-3 * t201 - 0.11696446794910408142e1 * t214 + 0.51689762869806860992e-2 * t286 + t303 - 0.7e1 / 0.3e1 * t306 + 0.1e3 / 0.27e2 * t319 + rho * t636; + v2rhosigma = t354 + t357 - t364 + rho * ( 0.25844881434903430496e-2 * t684 - 0.25844881434903430496e-2 * t689 + t692 / 0.2e1 - 0.7e1 / 0.6e1 * t694 + 0.575e3 / 0.108e3 * t702 - 0.25e2 / 0.36e2 * t706 - 0.5e4 / 0.27e2 * t712 ); + v2sigma2 = rho * ( t738 - t743 - t746 + t752 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t58 = constants::m_pi_sq; + constexpr double t59 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = t59 * t59; + constexpr double t61 = t18 * t60; + constexpr double t66 = 0.1e1 / t59; + constexpr double t67 = t18 * t66; + constexpr double t75 = 0.1e1 / t3; + constexpr double t76 = t75 * t5; + constexpr double t83 = 0.1e1 / t60; + constexpr double t97 = t39 * t39; + constexpr double t101 = 0.1e1 / t19; + constexpr double t102 = t101 * t6; + constexpr double t107 = t1 * t66; + constexpr double t116 = t18 * t83; + constexpr double t137 = t2 * t59; + constexpr double t178 = t3 * t6; + constexpr double t262 = 0.1e1 / t59 / t58; + constexpr double t309 = 0.1e1 / t58 * t59; + constexpr double t325 = t18 * t75 * t5; + constexpr double t377 = t4 * t6; + constexpr double t392 = t19 * t5; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081824322151104822e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t32 = 0.62182e-1 * t12 * t30; + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608574643216675549e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t57 = 0.19751789702565206229e-1 * t43 * t45 * t54; + const double t62 = t34 * t34; + const double t63 = piecewise_functor_3( t33, t62, 1.0 ); + const double t64 = t63 * t63; + const double t65 = t64 * t63; + const double t68 = rho * rho; + const double t70 = 0.1e1 / t7 / t68; + const double t72 = sigma * t70 * t39; + const double t73 = 0.1e1 / t64; + const double t77 = t73 * t18 * t76; + const double t87 = safe_math::exp( -0.12897460341341234505e3 * ( -t32 + t57 ) / t65 * t1 * t83 ); + const double t88 = t87 - 0.1e1; + const double t89 = 0.1e1 / t88; + const double t90 = t66 * t89; + const double t91 = sigma * sigma; + const double t92 = t68 * t68; + const double t94 = 0.1e1 / t21 / t92; + const double t95 = t91 * t94; + const double t98 = t64 * t64; + const double t99 = 0.1e1 / t98; + const double t100 = t97 * t99; + const double t103 = t100 * t102; + const double t106 = t72 * t77 / 0.96e2 + 0.27166129655589868296e-2 * t90 * t95 * t103; + const double t109 = t107 * t89 * sigma; + const double t110 = t70 * t39; + const double t112 = t73 * t75 * t5; + const double t117 = t88 * t88; + const double t118 = 0.1e1 / t117; + const double t119 = t118 * t91; + const double t120 = t116 * t119; + const double t121 = t94 * t97; + const double t122 = t99 * t101; + const double t123 = t122 * t6; + const double t124 = t121 * t123; + const double t127 = 0.1e1 + 0.86931614897887578546e-1 * t109 * t110 * t112 + 0.75571056687546295931e-2 * t120 * t124; + const double t128 = 0.1e1 / t127; + const double t132 = 0.1e1 + 0.27818116767324025134e1 * t67 * t106 * t128; + const double t133 = safe_math::log( t132 ); + const double t136 = 0.25844881434903430496e-2 * t61 * t65 * t133; + const double t140 = 0.2568e1 + 0.58165e1 * t10 + 0.184725e-2 * t24; + const double t143 = 0.1e4 + 0.218075e4 * t10 + 0.118e3 * t24; + const double t144 = 0.1e1 / t143; + const double t146 = t140 * t144 - 0.18535714285714285714e-2; + const double t147 = t146 * t63; + const double t149 = t137 * t147 * sigma; + const double t151 = safe_math::cbrt( 0.9e1 ); + const double t152 = t151 * t151; + const double t156 = 0.1e1 / t21 / t68; + const double t158 = sigma * t39; + const double t162 = safe_math::exp( -0.25e2 / 0.18e2 * t2 * t5 * t152 * t3 * t156 * t64 * t158 ); + const double t163 = t76 * t162; + const double t164 = t110 * t163; + const double t166 = t149 * t164 / 0.2e1; + const double t168 = 0.1e1 / t7 / rho; + const double t169 = t6 * t168; + const double t171 = t4 * t169 * t30; + const double t172 = 0.11073577833333333333e-2 * t171; + const double t173 = t26 * t26; + const double t174 = 0.1e1 / t173; + const double t175 = t12 * t174; + const double t177 = 0.1e1 / t13 * t1; + const double t179 = t178 * t168; + const double t180 = t177 * t179; + const double t182 = t4 * t169; + const double t184 = safe_math::sqrt( t10 ); + const double t185 = t184 * t1; + const double t186 = t185 * t179; + const double t191 = t20 * t5 / t21 / rho; + const double t193 = -0.632975e0 * t180 - 0.29896666666666666667e0 * t182 - 0.1023875e0 * t186 - 0.82156666666666666667e-1 * t191; + const double t194 = 0.1e1 / t29; + const double t195 = t193 * t194; + const double t196 = t175 * t195; + const double t197 = 0.1e1 * t196; + const double t198 = t43 * t1; + const double t201 = t198 * t178 * t168 * t54; + const double t202 = 0.18311555036753159941e-3 * t201; + const double t203 = t43 * t45; + const double t204 = t50 * t50; + const double t205 = 0.1e1 / t204; + const double t210 = -0.86308333333333333334e0 * t180 - 0.301925e0 * t182 - 0.5501625e-1 * t186 - 0.82785e-1 * t191; + const double t212 = 0.1e1 / t53; + const double t213 = t205 * t210 * t212; + const double t214 = t203 * t213; + const double t215 = 0.58482233974552040708e0 * t214; + const double t216 = t68 * rho; + const double t218 = 0.1e1 / t7 / t216; + const double t220 = sigma * t218 * t39; + const double t223 = t98 * t65; + const double t224 = 0.1e1 / t223; + const double t225 = t121 * t224; + const double t226 = t119 * t225; + const double t227 = t172 + t197 - t202 - t215; + const double t229 = t227 * t1 * t87; + const double t230 = t102 * t229; + const double t233 = t92 * rho; + const double t235 = 0.1e1 / t21 / t233; + const double t236 = t91 * t235; + const double t240 = -0.7e1 / 0.288e3 * t220 * t77 + 0.35500316489081544176e-1 * t226 * t230 - 0.12677527172608605205e-1 * t90 * t236 * t103; + const double t244 = t127 * t127; + const double t245 = 0.1e1 / t244; + const double t246 = t106 * t245; + const double t247 = t18 * t118; + const double t248 = t247 * t72; + const double t249 = t98 * t63; + const double t251 = 0.1e1 / t249 * t75; + const double t252 = t5 * t227; + const double t254 = t251 * t252 * t87; + const double t257 = t218 * t39; + const double t264 = 0.1e1 / t117 / t88; + const double t265 = t262 * t264; + const double t267 = t265 * t95 * t97; + const double t268 = t224 * t101; + const double t269 = t6 * t227; + const double t271 = t268 * t269 * t87; + const double t274 = t235 * t97; + const double t275 = t274 * t123; + const double t278 = 0.11360101276506094136e1 * t248 * t254 - 0.20284043476173768327e0 * t109 * t257 * t112 + 0.5848048239485271795e1 * t267 * t271 - 0.35266493120854938101e-1 * t120 * t275; + const double t282 = 0.27818116767324025134e1 * t67 * t240 * t128 - 0.27818116767324025134e1 * t67 * t246 * t278; + const double t284 = 0.1e1 / t132; + const double t286 = t61 * t65 * t282 * t284; + const double t290 = -0.19388333333333333333e1 * t182 - 0.12315e-2 * t191; + const double t292 = t143 * t143; + const double t293 = 0.1e1 / t292; + const double t294 = t140 * t293; + const double t297 = -0.72691666666666666667e3 * t182 - 0.78666666666666666667e2 * t191; + const double t299 = t290 * t144 - t294 * t297; + const double t300 = t299 * t63; + const double t302 = t137 * t300 * sigma; + const double t303 = t302 * t164; + const double t305 = t257 * t163; + const double t306 = t149 * t305; + const double t310 = t146 * t65; + const double t312 = t309 * t310 * t91; + const double t313 = t92 * t68; + const double t314 = 0.1e1 / t313; + const double t317 = t6 * t152 * t162; + const double t318 = t314 * t97 * t317; + const double t319 = t312 * t318; + const double t328 = sigma * t94; + const double t332 = t110 * t73 * t325 / 0.96e2 + 0.54332259311179736592e-2 * t90 * t328 * t103; + const double t339 = t39 * t73 * t76; + const double t342 = t118 * sigma; + const double t343 = t116 * t342; + const double t346 = 0.86931614897887578546e-1 * t107 * t89 * t70 * t339 + 0.15114211337509259186e-1 * t343 * t124; + const double t350 = 0.27818116767324025134e1 * t67 * t332 * t128 - 0.27818116767324025134e1 * t67 * t246 * t346; + const double t354 = 0.25844881434903430496e-2 * t61 * t65 * t350 * t284; + const double t355 = t137 * t147; + const double t357 = t355 * t164 / 0.2e1; + const double t360 = 0.1e1 / t233; + const double t362 = t360 * t97 * t317; + const double t364 = 0.25e2 / 0.36e2 * t309 * t310 * sigma * t362; + const double t373 = t6 * t70; + const double t375 = t4 * t373 * t30; + const double t376 = 0.14764770444444444444e-2 * t375; + const double t378 = t168 * t174; + const double t380 = t377 * t378 * t195; + const double t381 = 0.35616666666666666667e-1 * t380; + const double t382 = t173 * t26; + const double t383 = 0.1e1 / t382; + const double t384 = t12 * t383; + const double t385 = t193 * t193; + const double t386 = t385 * t194; + const double t387 = t384 * t386; + const double t388 = 0.2e1 * t387; + const double t391 = 0.1e1 / t13 / t10 * t18; + const double t393 = t392 * t156; + const double t394 = t391 * t393; + const double t396 = t178 * t70; + const double t397 = t177 * t396; + const double t399 = t4 * t373; + const double t401 = 0.1e1/safe_math::sqrt( t10 ); + const double t402 = t401 * t18; + const double t403 = t402 * t393; + const double t405 = t185 * t396; + const double t408 = t20 * t5 * t156; + const double t410 = -0.42198333333333333333e0 * t394 + 0.84396666666666666666e0 * t397 + 0.39862222222222222223e0 * t399 + 0.68258333333333333333e-1 * t403 + 0.13651666666666666667e0 * t405 + 0.13692777777777777778e0 * t408; + const double t411 = t410 * t194; + const double t412 = t175 * t411; + const double t413 = 0.1e1 * t412; + const double t414 = t173 * t173; + const double t415 = 0.1e1 / t414; + const double t416 = t12 * t415; + const double t417 = t29 * t29; + const double t418 = 0.1e1 / t417; + const double t419 = t385 * t418; + const double t420 = t416 * t419; + const double t421 = 0.16081824322151104822e2 * t420; + const double t424 = t198 * t178 * t70 * t54; + const double t425 = 0.24415406715670879921e-3 * t424; + const double t426 = t43 * t4; + const double t428 = t426 * t169 * t213; + const double t429 = 0.10843580882781524214e-1 * t428; + const double t430 = t204 * t50; + const double t431 = 0.1e1 / t430; + const double t432 = t210 * t210; + const double t434 = t431 * t432 * t212; + const double t435 = t203 * t434; + const double t436 = 0.11696446794910408142e1 * t435; + const double t443 = -0.57538888888888888889e0 * t394 + 0.11507777777777777778e1 * t397 + 0.40256666666666666667e0 * t399 + 0.366775e-1 * t403 + 0.73355e-1 * t405 + 0.137975e0 * t408; + const double t445 = t205 * t443 * t212; + const double t446 = t203 * t445; + const double t447 = 0.58482233974552040708e0 * t446; + const double t448 = t204 * t204; + const double t449 = 0.1e1 / t448; + const double t450 = t449 * t432; + const double t451 = t53 * t53; + const double t452 = 0.1e1 / t451; + const double t453 = t450 * t452; + const double t454 = t203 * t453; + const double t455 = 0.17315755899375863299e2 * t454; + const double t457 = 0.1e1 / t7 / t92; + const double t459 = sigma * t457 * t39; + const double t462 = t264 * t91; + const double t463 = t98 * t98; + const double t465 = 0.1e1 / t463 / t64; + const double t466 = t121 * t465; + const double t467 = t462 * t466; + const double t468 = t227 * t227; + const double t469 = t102 * t468; + const double t470 = t87 * t87; + const double t472 = t18 * t470 * t83; + const double t473 = t469 * t472; + const double t476 = t274 * t224; + const double t477 = t119 * t476; + const double t480 = -t376 - t381 - t388 + t413 + t421 + t425 + t429 + t436 - t447 - t455; + const double t482 = t480 * t1 * t87; + const double t483 = t102 * t482; + const double t486 = t119 * t466; + const double t487 = t116 * t87; + const double t488 = t469 * t487; + const double t492 = 0.1e1 / t21 / t313; + const double t493 = t91 * t492; + const double t497 = 0.35e2 / 0.432e3 * t459 * t77 + 0.9157278480459830169e1 * t467 * t473 - 0.33133628723142774564e0 * t477 * t230 + 0.35500316489081544176e-1 * t226 * t483 - 0.45786392402299150845e1 * t486 * t488 + 0.71839320644782096162e-1 * t90 * t493 * t103; + const double t501 = t240 * t245; + const double t506 = 0.1e1 / t244 / t127; + const double t507 = t106 * t506; + const double t508 = t278 * t278; + const double t512 = t264 * sigma; + const double t513 = 0.1e1 / t463; + const double t514 = t110 * t513; + const double t515 = t512 * t514; + const double t516 = t468 * t470; + const double t518 = t76 * t516 * t83; + const double t521 = t247 * t220; + const double t524 = t5 * t480; + const double t526 = t251 * t524 * t87; + const double t529 = t342 * t514; + const double t532 = t76 * t468 * t83 * t87; + const double t535 = t457 * t39; + const double t539 = t117 * t117; + const double t540 = 0.1e1 / t539; + const double t541 = t540 * t91; + const double t542 = t541 * t466; + const double t543 = t516 * t1; + const double t544 = t102 * t543; + const double t548 = t265 * t236 * t97; + const double t551 = t6 * t480; + const double t553 = t268 * t551 * t87; + const double t557 = t468 * t1 * t87; + const double t558 = t102 * t557; + const double t561 = t492 * t97; + const double t562 = t561 * t123; + const double t565 = 0.8790987341241436962e3 * t515 * t518 - 0.53013805957028439301e1 * t521 * t254 + 0.11360101276506094136e1 * t248 * t526 - 0.4395493670620718481e3 * t529 * t532 + 0.6761347825391256109e0 * t109 * t535 * t112 + 0.23229342182245570105e2 * t542 * t544 - 0.5458178356852920342e2 * t548 * t271 + 0.5848048239485271795e1 * t267 * t553 - 0.77431140607485233683e1 * t467 * t558 + 0.19984346101817798257e0 * t120 * t562; + const double t569 = 0.27818116767324025134e1 * t67 * t497 * t128 - 0.55636233534648050268e1 * t67 * t501 * t278 + 0.55636233534648050268e1 * t67 * t507 * t508 - 0.27818116767324025134e1 * t67 * t246 * t565; + const double t572 = t61 * t65 * t569 * t284; + const double t574 = t282 * t282; + const double t576 = t132 * t132; + const double t577 = 0.1e1 / t576; + const double t579 = t61 * t65 * t574 * t577; + const double t583 = 0.25851111111111111111e1 * t399 + 0.20525e-2 * t408; + const double t585 = t290 * t293; + const double t589 = 0.1e1 / t292 / t143; + const double t590 = t140 * t589; + const double t591 = t297 * t297; + const double t596 = 0.96922222222222222222e3 * t399 + 0.13111111111111111111e3 * t408; + const double t598 = t583 * t144 - t294 * t596 - 0.2e1 * t585 * t297 + 0.2e1 * t590 * t591; + const double t599 = t598 * t63; + const double t601 = t137 * t599 * sigma; + const double t602 = t601 * t164; + const double t604 = t302 * t305; + const double t606 = t299 * t65; + const double t608 = t309 * t606 * t91; + const double t609 = t608 * t318; + const double t611 = t535 * t163; + const double t612 = t149 * t611; + const double t614 = t92 * t216; + const double t615 = 0.1e1 / t614; + const double t617 = t615 * t97 * t317; + const double t618 = t312 * t617; + const double t622 = 0.1e1 / t58 / M_PI * t59; + const double t624 = t622 * t146 * t249; + const double t625 = t91 * sigma; + const double t626 = t92 * t92; + const double t627 = t626 * rho; + const double t629 = 0.1e1 / t21 / t627; + const double t632 = t151 * t3 * t162; + const double t633 = t625 * t629 * t632; + const double t634 = t624 * t633; + const double t636 = -t376 - t381 - t388 + t413 + t421 + t425 + t429 + t436 - t447 - t455 + 0.25844881434903430496e-2 * t572 - 0.25844881434903430496e-2 * t579 + t602 / 0.2e1 - 0.7e1 / 0.3e1 * t604 + 0.1e3 / 0.27e2 * t609 + 0.35e2 / 0.9e1 * t612 - 0.125e4 / 0.81e2 * t618 + 0.4e5 / 0.81e2 * t634; + const double t641 = t342 * t225; + const double t644 = sigma * t235; + const double t648 = -0.7e1 / 0.288e3 * t257 * t73 * t325 + 0.71000632978163088352e-1 * t641 * t230 - 0.2535505434521721041e-1 * t90 * t644 * t103; + const double t652 = t332 * t245; + const double t659 = t67 * t106; + const double t660 = t506 * t346; + const double t661 = t660 * t278; + const double t664 = t247 * t110; + const double t672 = t265 * t328 * t97; + const double t677 = 0.11360101276506094136e1 * t664 * t254 - 0.20284043476173768327e0 * t107 * t89 * t218 * t339 + 0.1169609647897054359e2 * t672 * t271 - 0.70532986241709876201e-1 * t343 * t275; + const double t681 = 0.27818116767324025134e1 * t67 * t648 * t128 - 0.27818116767324025134e1 * t67 * t652 * t278 - 0.27818116767324025134e1 * t67 * t501 * t346 + 0.55636233534648050268e1 * t659 * t661 - 0.27818116767324025134e1 * t67 * t246 * t677; + const double t684 = t61 * t65 * t681 * t284; + const double t686 = t61 * t65; + const double t687 = t350 * t577; + const double t689 = t686 * t687 * t282; + const double t691 = t137 * t300; + const double t692 = t691 * t164; + const double t694 = t355 * t305; + const double t701 = t97 * t6 * t152 * sigma * t162; + const double t702 = t309 * t310 * t314 * t701; + const double t706 = t309 * t606 * sigma * t362; + const double t709 = 0.1e1 / t21 / t626; + const double t710 = t91 * t709; + const double t711 = t710 * t632; + const double t712 = t624 * t711; + const double t716 = t89 * t94; + const double t719 = t100 * t102 * t128; + const double t725 = t346 * t346; + const double t729 = t1 * t106; + const double t730 = t245 * t118; + const double t731 = t729 * t730; + const double t734 = 0.15114211337509259186e-1 * t116 * t716 * t719 - 0.55636233534648050268e1 * t67 * t652 * t346 + 0.55636233534648050268e1 * t67 * t507 * t725 - 0.12780113936069355903e-1 * t731 * t124; + const double t738 = 0.25844881434903430496e-2 * t61 * t65 * t734 * t284; + const double t739 = t350 * t350; + const double t743 = 0.25844881434903430496e-2 * t61 * t65 * t739 * t577; + const double t744 = t309 * t310; + const double t746 = 0.25e2 / 0.18e2 * t744 * t362; + const double t748 = 0.1e1 / t21 / t614; + const double t749 = sigma * t748; + const double t750 = t749 * t632; + const double t752 = 0.625e3 / 0.9e1 * t624 * t750; + + + vrho = -t32 + t57 + t136 + t166 + rho * ( t172 + t197 - t202 - t215 + 0.25844881434903430496e-2 * t286 + t303 / 0.2e1 - 0.7e1 / 0.6e1 * t306 + 0.5e2 / 0.27e2 * t319 ); + vsigma = rho * ( t354 + t357 - t364 ); + v2rho2 = 0.22147155666666666666e-2 * t171 + 0.2e1 * t196 - 0.36623110073506319882e-3 * t201 - 0.11696446794910408142e1 * t214 + 0.51689762869806860992e-2 * t286 + t303 - 0.7e1 / 0.3e1 * t306 + 0.1e3 / 0.27e2 * t319 + rho * t636; + v2rhosigma = t354 + t357 - t364 + rho * ( 0.25844881434903430496e-2 * t684 - 0.25844881434903430496e-2 * t689 + t692 / 0.2e1 - 0.7e1 / 0.6e1 * t694 + 0.575e3 / 0.108e3 * t702 - 0.25e2 / 0.36e2 * t706 - 0.5e4 / 0.27e2 * t712 ); + v2sigma2 = rho * ( t738 - t743 - t746 + t752 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t93 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = t93 * t93; + constexpr double t95 = t19 * t94; + constexpr double t105 = 0.1e1 / t93; + constexpr double t106 = t19 * t105; + constexpr double t115 = 0.1e1 / t3; + constexpr double t116 = t115 * t5; + constexpr double t123 = 0.1e1 / t94; + constexpr double t124 = t1 * t123; + constexpr double t136 = t56 * t56; + constexpr double t140 = 0.1e1 / t20; + constexpr double t141 = t140 * t6; + constexpr double t146 = t1 * t105; + constexpr double t155 = t19 * t123; + constexpr double t176 = t2 * t93; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081824322151104822e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.62182e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32164683177870697974e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608574643216675549e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.3109e-1 * t62 * t71 + t33 - 0.19751789702565206229e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751789702565206229e-1 * t60 * t85; + const double t96 = t45 * t45; + const double t97 = t47 * t47; + const double t98 = piecewise_functor_3( t44, t96, t97 ); + const double t99 = t52 * t52; + const double t100 = piecewise_functor_3( t51, t96, t99 ); + const double t102 = t98 / 0.2e1 + t100 / 0.2e1; + const double t103 = t102 * t102; + const double t104 = t103 * t102; + const double t108 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t110 = 0.1e1 / t8 / t37; + const double t111 = t108 * t110; + const double t112 = t111 * t56; + const double t113 = 0.1e1 / t103; + const double t117 = t113 * t19 * t116; + const double t120 = -t33 + t89 + t91; + const double t121 = 0.1e1 / t104; + const double t127 = safe_math::exp( -0.12897460341341234505e3 * t120 * t121 * t124 ); + const double t128 = t127 - 0.1e1; + const double t129 = 0.1e1 / t128; + const double t130 = t105 * t129; + const double t131 = t108 * t108; + const double t133 = 0.1e1 / t22 / t38; + const double t134 = t131 * t133; + const double t135 = t130 * t134; + const double t137 = t103 * t103; + const double t138 = 0.1e1 / t137; + const double t139 = t136 * t138; + const double t142 = t139 * t141; + const double t145 = t112 * t117 / 0.96e2 + 0.27166129655589868296e-2 * t135 * t142; + const double t147 = t129 * t108; + const double t148 = t146 * t147; + const double t149 = t110 * t56; + const double t150 = t113 * t115; + const double t151 = t150 * t5; + const double t156 = t128 * t128; + const double t157 = 0.1e1 / t156; + const double t158 = t157 * t131; + const double t159 = t155 * t158; + const double t160 = t133 * t136; + const double t161 = t138 * t140; + const double t162 = t161 * t6; + const double t163 = t160 * t162; + const double t166 = 0.1e1 + 0.86931614897887578546e-1 * t148 * t149 * t151 + 0.75571056687546295931e-2 * t159 * t163; + const double t167 = 0.1e1 / t166; + const double t171 = 0.1e1 + 0.27818116767324025134e1 * t106 * t145 * t167; + const double t172 = safe_math::log( t171 ); + const double t175 = 0.25844881434903430496e-2 * t95 * t104 * t172; + const double t179 = 0.2568e1 + 0.58165e1 * t11 + 0.184725e-2 * t25; + const double t182 = 0.1e4 + 0.218075e4 * t11 + 0.118e3 * t25; + const double t183 = 0.1e1 / t182; + const double t185 = t179 * t183 - 0.18535714285714285714e-2; + const double t186 = t185 * t102; + const double t187 = t186 * t108; + const double t188 = t176 * t187; + const double t190 = safe_math::cbrt( 0.9e1 ); + const double t191 = t190 * t190; + const double t193 = t2 * t5 * t191 * t3; + const double t195 = 0.1e1 / t22 / t37; + const double t197 = t108 * t56; + const double t201 = safe_math::exp( -0.25e2 / 0.18e2 * t193 * t195 * t103 * t197 ); + const double t202 = t116 * t201; + const double t203 = t149 * t202; + const double t205 = t188 * t203 / 0.2e1; + + + eps = -t33 + t89 + t91 + t175 + t205; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t92 = constants::m_pi_sq; + constexpr double t93 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = t93 * t93; + constexpr double t95 = t19 * t94; + constexpr double t105 = 0.1e1 / t93; + constexpr double t106 = t19 * t105; + constexpr double t115 = 0.1e1 / t3; + constexpr double t116 = t115 * t5; + constexpr double t123 = 0.1e1 / t94; + constexpr double t124 = t1 * t123; + constexpr double t136 = t56 * t56; + constexpr double t140 = 0.1e1 / t20; + constexpr double t141 = t140 * t6; + constexpr double t146 = t1 * t105; + constexpr double t155 = t19 * t123; + constexpr double t176 = t2 * t93; + constexpr double t217 = t3 * t6; + constexpr double t328 = t19 * t115; + constexpr double t553 = t328 * t5; + constexpr double t585 = 0.1e1 / t92 * t93; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081824322151104822e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.62182e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32164683177870697974e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608574643216675549e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.3109e-1 * t62 * t71 + t33 - 0.19751789702565206229e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751789702565206229e-1 * t60 * t85; + const double t96 = t45 * t45; + const double t97 = t47 * t47; + const double t98 = piecewise_functor_3( t44, t96, t97 ); + const double t99 = t52 * t52; + const double t100 = piecewise_functor_3( t51, t96, t99 ); + const double t102 = t98 / 0.2e1 + t100 / 0.2e1; + const double t103 = t102 * t102; + const double t104 = t103 * t102; + const double t108 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t110 = 0.1e1 / t8 / t37; + const double t111 = t108 * t110; + const double t112 = t111 * t56; + const double t113 = 0.1e1 / t103; + const double t117 = t113 * t19 * t116; + const double t120 = -t33 + t89 + t91; + const double t121 = 0.1e1 / t104; + const double t127 = safe_math::exp( -0.12897460341341234505e3 * t120 * t121 * t124 ); + const double t128 = t127 - 0.1e1; + const double t129 = 0.1e1 / t128; + const double t130 = t105 * t129; + const double t131 = t108 * t108; + const double t133 = 0.1e1 / t22 / t38; + const double t134 = t131 * t133; + const double t135 = t130 * t134; + const double t137 = t103 * t103; + const double t138 = 0.1e1 / t137; + const double t139 = t136 * t138; + const double t142 = t139 * t141; + const double t145 = t112 * t117 / 0.96e2 + 0.27166129655589868296e-2 * t135 * t142; + const double t147 = t129 * t108; + const double t148 = t146 * t147; + const double t149 = t110 * t56; + const double t150 = t113 * t115; + const double t151 = t150 * t5; + const double t156 = t128 * t128; + const double t157 = 0.1e1 / t156; + const double t158 = t157 * t131; + const double t159 = t155 * t158; + const double t160 = t133 * t136; + const double t161 = t138 * t140; + const double t162 = t161 * t6; + const double t163 = t160 * t162; + const double t166 = 0.1e1 + 0.86931614897887578546e-1 * t148 * t149 * t151 + 0.75571056687546295931e-2 * t159 * t163; + const double t167 = 0.1e1 / t166; + const double t171 = 0.1e1 + 0.27818116767324025134e1 * t106 * t145 * t167; + const double t172 = safe_math::log( t171 ); + const double t175 = 0.25844881434903430496e-2 * t95 * t104 * t172; + const double t179 = 0.2568e1 + 0.58165e1 * t11 + 0.184725e-2 * t25; + const double t182 = 0.1e4 + 0.218075e4 * t11 + 0.118e3 * t25; + const double t183 = 0.1e1 / t182; + const double t185 = t179 * t183 - 0.18535714285714285714e-2; + const double t186 = t185 * t102; + const double t187 = t186 * t108; + const double t188 = t176 * t187; + const double t190 = safe_math::cbrt( 0.9e1 ); + const double t191 = t190 * t190; + const double t193 = t2 * t5 * t191 * t3; + const double t195 = 0.1e1 / t22 / t37; + const double t197 = t108 * t56; + const double t201 = safe_math::exp( -0.25e2 / 0.18e2 * t193 * t195 * t103 * t197 ); + const double t202 = t116 * t201; + const double t203 = t149 * t202; + const double t205 = t188 * t203 / 0.2e1; + const double t207 = 0.1e1 / t8 / t7; + const double t208 = t6 * t207; + const double t210 = t4 * t208 * t31; + const double t211 = 0.11073577833333333333e-2 * t210; + const double t212 = t27 * t27; + const double t213 = 0.1e1 / t212; + const double t214 = t13 * t213; + const double t216 = 0.1e1 / t14 * t1; + const double t218 = t217 * t207; + const double t219 = t216 * t218; + const double t221 = t4 * t208; + const double t223 = safe_math::sqrt( t11 ); + const double t224 = t223 * t1; + const double t225 = t224 * t218; + const double t230 = t21 * t5 / t22 / t7; + const double t232 = -0.632975e0 * t219 - 0.29896666666666666667e0 * t221 - 0.1023875e0 * t225 - 0.82156666666666666667e-1 * t230; + const double t233 = 0.1e1 / t30; + const double t234 = t232 * t233; + const double t235 = t214 * t234; + const double t236 = 0.1e1 * t235; + const double t237 = t35 * t34; + const double t238 = t237 * t39; + const double t239 = t238 * t88; + const double t240 = 0.4e1 * t239; + const double t241 = t38 * t7; + const double t242 = 0.1e1 / t241; + const double t243 = t36 * t242; + const double t244 = t243 * t88; + const double t245 = 0.4e1 * t244; + const double t246 = 0.1e1 / t37; + const double t247 = t34 * t246; + const double t248 = t41 - t247; + const double t251 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t248 ); + const double t252 = -t248; + const double t255 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t252 ); + const double t257 = ( t251 + t255 ) * t59; + const double t258 = t257 * t87; + const double t259 = t40 * t258; + const double t263 = t67 * t67; + const double t264 = 0.1e1 / t263; + const double t265 = t62 * t264; + const double t270 = -0.1176575e1 * t219 - 0.516475e0 * t221 - 0.2103875e0 * t225 - 0.104195e0 * t230; + const double t271 = 0.1e1 / t70; + const double t272 = t270 * t271; + const double t278 = t80 * t80; + const double t279 = 0.1e1 / t278; + const double t280 = t75 * t279; + const double t285 = -0.86308333333333333334e0 * t219 - 0.301925e0 * t221 - 0.5501625e-1 * t225 - 0.82785e-1 * t230; + const double t286 = 0.1e1 / t83; + const double t287 = t285 * t286; + const double t290 = 0.53236443333333333332e-3 * t4 * t208 * t71 + 0.1e1 * t265 * t272 - t211 - t236 + 0.18311555036753159941e-3 * t4 * t208 * t84 + 0.58482233974552040708e0 * t280 * t287; + const double t291 = t60 * t290; + const double t292 = t40 * t291; + const double t293 = t257 * t85; + const double t294 = 0.19751789702565206229e-1 * t293; + const double t295 = t60 * t1; + const double t297 = t217 * t207 * t84; + const double t298 = t295 * t297; + const double t299 = 0.18311555036753159941e-3 * t298; + const double t300 = t60 * t75; + const double t302 = t279 * t285 * t286; + const double t303 = t300 * t302; + const double t304 = 0.58482233974552040708e0 * t303; + const double t305 = t103 * t172; + const double t306 = 0.1e1 / t47; + const double t309 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t306 * t248 ); + const double t310 = 0.1e1 / t52; + const double t313 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t310 * t252 ); + const double t315 = t309 / 0.2e1 + t313 / 0.2e1; + const double t317 = t95 * t305 * t315; + const double t318 = 0.77534644304710291488e-2 * t317; + const double t319 = t37 * t7; + const double t321 = 0.1e1 / t8 / t319; + const double t322 = t108 * t321; + const double t323 = t322 * t56; + const double t325 = 0.7e1 / 0.288e3 * t323 * t117; + const double t326 = t56 * t121; + const double t327 = t111 * t326; + const double t329 = t5 * t315; + const double t330 = t328 * t329; + const double t333 = t105 * t157; + const double t334 = t134 * t136; + const double t335 = t333 * t334; + const double t336 = t211 + t236 + t240 - t245 + t259 + t292 + t294 - t299 - t304; + const double t340 = t120 * t138; + const double t341 = t124 * t315; + const double t344 = -0.12897460341341234505e3 * t336 * t121 * t124 + 0.38692381024023703515e3 * t340 * t341; + const double t346 = t6 * t344 * t127; + const double t347 = t161 * t346; + const double t351 = 0.1e1 / t22 / t241; + const double t352 = t131 * t351; + const double t353 = t130 * t352; + const double t355 = 0.12677527172608605205e-1 * t353 * t142; + const double t356 = t137 * t102; + const double t357 = 0.1e1 / t356; + const double t358 = t136 * t357; + const double t359 = t141 * t315; + const double t360 = t358 * t359; + const double t363 = -t325 - t327 * t330 / 0.48e2 - 0.27166129655589868296e-2 * t335 * t347 - t355 - 0.10866451862235947318e-1 * t135 * t360; + const double t367 = t166 * t166; + const double t368 = 0.1e1 / t367; + const double t369 = t145 * t368; + const double t370 = t157 * t108; + const double t372 = t146 * t370 * t110; + const double t373 = t56 * t113; + const double t374 = t373 * t115; + const double t376 = t5 * t344 * t127; + const double t377 = t374 * t376; + const double t380 = t321 * t56; + const double t383 = 0.20284043476173768327e0 * t148 * t380 * t151; + const double t385 = t146 * t147 * t110; + const double t387 = t326 * t116 * t315; + const double t391 = 0.1e1 / t156 / t128; + const double t392 = t391 * t131; + const double t394 = t155 * t392 * t133; + const double t395 = t139 * t140; + const double t396 = t395 * t346; + const double t399 = t351 * t136; + const double t400 = t399 * t162; + const double t402 = 0.35266493120854938101e-1 * t159 * t400; + const double t404 = t155 * t158 * t133; + const double t407 = -0.86931614897887578546e-1 * t372 * t377 - t383 - 0.17386322979577515709e0 * t385 * t387 - 0.15114211337509259186e-1 * t394 * t396 - t402 - 0.30228422675018518372e-1 * t404 * t360; + const double t411 = 0.27818116767324025134e1 * t106 * t363 * t167 - 0.27818116767324025134e1 * t106 * t369 * t407; + const double t413 = 0.1e1 / t171; + const double t415 = t95 * t104 * t411 * t413; + const double t416 = 0.25844881434903430496e-2 * t415; + const double t419 = -0.19388333333333333333e1 * t221 - 0.12315e-2 * t230; + const double t421 = t182 * t182; + const double t422 = 0.1e1 / t421; + const double t423 = t179 * t422; + const double t426 = -0.72691666666666666667e3 * t221 - 0.78666666666666666667e2 * t230; + const double t428 = t419 * t183 - t423 * t426; + const double t429 = t428 * t102; + const double t430 = t429 * t108; + const double t431 = t176 * t430; + const double t432 = t431 * t203; + const double t433 = t432 / 0.2e1; + const double t434 = t185 * t315; + const double t435 = t434 * t108; + const double t436 = t176 * t435; + const double t437 = t436 * t203; + const double t438 = t437 / 0.2e1; + const double t439 = t380 * t202; + const double t440 = t188 * t439; + const double t441 = 0.7e1 / 0.6e1 * t440; + const double t442 = t149 * t115; + const double t444 = 0.1e1 / t22 / t319; + const double t448 = 0.1e3 / 0.27e2 * t193 * t444 * t103 * t197; + const double t449 = t195 * t102; + const double t450 = t197 * t315; + const double t454 = t448 - 0.25e2 / 0.9e1 * t193 * t449 * t450; + const double t456 = t5 * t454 * t201; + const double t457 = t442 * t456; + const double t458 = t188 * t457; + const double t459 = t458 / 0.2e1; + const double t460 = t211 + t236 + t240 - t245 + t259 + t292 + t294 - t299 - t304 + t318 + t416 + t433 + t438 - t441 + t459; + const double t462 = -t41 - t247; + const double t465 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t462 ); + const double t466 = -t462; + const double t469 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t466 ); + const double t471 = ( t465 + t469 ) * t59; + const double t472 = t471 * t87; + const double t473 = t40 * t472; + const double t474 = t471 * t85; + const double t475 = 0.19751789702565206229e-1 * t474; + const double t478 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t306 * t462 ); + const double t481 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t310 * t466 ); + const double t483 = t478 / 0.2e1 + t481 / 0.2e1; + const double t485 = t95 * t305 * t483; + const double t486 = 0.77534644304710291488e-2 * t485; + const double t487 = t5 * t483; + const double t488 = t328 * t487; + const double t491 = t211 + t236 - t240 - t245 + t473 + t292 + t475 - t299 - t304; + const double t495 = t124 * t483; + const double t498 = -0.12897460341341234505e3 * t491 * t121 * t124 + 0.38692381024023703515e3 * t340 * t495; + const double t500 = t6 * t498 * t127; + const double t501 = t161 * t500; + const double t504 = t141 * t483; + const double t505 = t358 * t504; + const double t508 = -t325 - t327 * t488 / 0.48e2 - 0.27166129655589868296e-2 * t335 * t501 - t355 - 0.10866451862235947318e-1 * t135 * t505; + const double t513 = t5 * t498 * t127; + const double t514 = t374 * t513; + const double t517 = t116 * t483; + const double t518 = t326 * t517; + const double t521 = t395 * t500; + const double t526 = -0.86931614897887578546e-1 * t372 * t514 - t383 - 0.17386322979577515709e0 * t385 * t518 - 0.15114211337509259186e-1 * t394 * t521 - t402 - 0.30228422675018518372e-1 * t404 * t505; + const double t530 = 0.27818116767324025134e1 * t106 * t508 * t167 - 0.27818116767324025134e1 * t106 * t369 * t526; + const double t533 = t95 * t104 * t530 * t413; + const double t534 = 0.25844881434903430496e-2 * t533; + const double t535 = t185 * t483; + const double t537 = t176 * t535 * t108; + const double t538 = t537 * t203; + const double t539 = t538 / 0.2e1; + const double t540 = t197 * t483; + const double t544 = t448 - 0.25e2 / 0.9e1 * t193 * t449 * t540; + const double t546 = t5 * t544 * t201; + const double t547 = t442 * t546; + const double t548 = t188 * t547; + const double t549 = t548 / 0.2e1; + const double t550 = t211 + t236 - t240 - t245 + t473 + t292 + t475 - t299 - t304 + t486 + t534 + t433 + t539 - t441 + t549; + const double t554 = t149 * t113 * t553; + const double t556 = t108 * t133; + const double t557 = t130 * t556; + const double t558 = t557 * t142; + const double t560 = t554 / 0.96e2 + 0.54332259311179736592e-2 * t558; + const double t564 = t129 * t110; + const double t565 = t146 * t564; + const double t566 = t373 * t116; + const double t567 = t565 * t566; + const double t569 = t155 * t370; + const double t570 = t569 * t163; + const double t572 = 0.86931614897887578546e-1 * t567 + 0.15114211337509259186e-1 * t570; + const double t576 = 0.27818116767324025134e1 * t106 * t560 * t167 - 0.27818116767324025134e1 * t106 * t369 * t572; + const double t580 = 0.25844881434903430496e-2 * t95 * t104 * t576 * t413; + const double t581 = t176 * t186; + const double t582 = t581 * t203; + const double t583 = t582 / 0.2e1; + const double t586 = t185 * t104; + const double t587 = t586 * t108; + const double t588 = t585 * t587; + const double t589 = t242 * t136; + const double t591 = t6 * t191 * t201; + const double t592 = t589 * t591; + const double t593 = t588 * t592; + const double t594 = 0.25e2 / 0.36e2 * t593; + const double t598 = t554 / 0.48e2 + 0.10866451862235947318e-1 * t558; + const double t604 = 0.17386322979577515709e0 * t567 + 0.30228422675018518372e-1 * t570; + const double t608 = 0.27818116767324025134e1 * t106 * t598 * t167 - 0.27818116767324025134e1 * t106 * t369 * t604; + const double t609 = t104 * t608; + const double t612 = 0.25844881434903430496e-2 * t95 * t609 * t413; + const double t613 = 0.25e2 / 0.18e2 * t593; + + + eps = -t33 + t89 + t91 + t175 + t205; + vrho_a = t7 * t460 + t175 + t205 - t33 + t89 + t91; + vrho_b = t7 * t550 + t175 + t205 - t33 + t89 + t91; + vsigma_aa = t7 * ( t580 + t583 - t594 ); + vsigma_ab = t7 * ( t612 + t582 - t613 ); + vsigma_bb = vsigma_aa; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t92 = constants::m_pi_sq; + constexpr double t93 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = t93 * t93; + constexpr double t95 = t19 * t94; + constexpr double t105 = 0.1e1 / t93; + constexpr double t106 = t19 * t105; + constexpr double t115 = 0.1e1 / t3; + constexpr double t116 = t115 * t5; + constexpr double t123 = 0.1e1 / t94; + constexpr double t124 = t1 * t123; + constexpr double t136 = t56 * t56; + constexpr double t140 = 0.1e1 / t20; + constexpr double t141 = t140 * t6; + constexpr double t146 = t1 * t105; + constexpr double t155 = t19 * t123; + constexpr double t176 = t2 * t93; + constexpr double t217 = t3 * t6; + constexpr double t328 = t19 * t115; + constexpr double t553 = t328 * t5; + constexpr double t585 = 0.1e1 / t92 * t93; + constexpr double t615 = t4 * t6; + constexpr double t742 = t20 * t5; + constexpr double t1353 = t56 * t115; + constexpr double t1354 = t1353 * t5; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081824322151104822e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.62182e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32164683177870697974e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608574643216675549e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.3109e-1 * t62 * t71 + t33 - 0.19751789702565206229e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751789702565206229e-1 * t60 * t85; + const double t96 = t45 * t45; + const double t97 = t47 * t47; + const double t98 = piecewise_functor_3( t44, t96, t97 ); + const double t99 = t52 * t52; + const double t100 = piecewise_functor_3( t51, t96, t99 ); + const double t102 = t98 / 0.2e1 + t100 / 0.2e1; + const double t103 = t102 * t102; + const double t104 = t103 * t102; + const double t108 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t110 = 0.1e1 / t8 / t37; + const double t111 = t108 * t110; + const double t112 = t111 * t56; + const double t113 = 0.1e1 / t103; + const double t117 = t113 * t19 * t116; + const double t120 = -t33 + t89 + t91; + const double t121 = 0.1e1 / t104; + const double t127 = safe_math::exp( -0.12897460341341234505e3 * t120 * t121 * t124 ); + const double t128 = t127 - 0.1e1; + const double t129 = 0.1e1 / t128; + const double t130 = t105 * t129; + const double t131 = t108 * t108; + const double t133 = 0.1e1 / t22 / t38; + const double t134 = t131 * t133; + const double t135 = t130 * t134; + const double t137 = t103 * t103; + const double t138 = 0.1e1 / t137; + const double t139 = t136 * t138; + const double t142 = t139 * t141; + const double t145 = t112 * t117 / 0.96e2 + 0.27166129655589868296e-2 * t135 * t142; + const double t147 = t129 * t108; + const double t148 = t146 * t147; + const double t149 = t110 * t56; + const double t150 = t113 * t115; + const double t151 = t150 * t5; + const double t156 = t128 * t128; + const double t157 = 0.1e1 / t156; + const double t158 = t157 * t131; + const double t159 = t155 * t158; + const double t160 = t133 * t136; + const double t161 = t138 * t140; + const double t162 = t161 * t6; + const double t163 = t160 * t162; + const double t166 = 0.1e1 + 0.86931614897887578546e-1 * t148 * t149 * t151 + 0.75571056687546295931e-2 * t159 * t163; + const double t167 = 0.1e1 / t166; + const double t171 = 0.1e1 + 0.27818116767324025134e1 * t106 * t145 * t167; + const double t172 = safe_math::log( t171 ); + const double t179 = 0.2568e1 + 0.58165e1 * t11 + 0.184725e-2 * t25; + const double t182 = 0.1e4 + 0.218075e4 * t11 + 0.118e3 * t25; + const double t183 = 0.1e1 / t182; + const double t185 = t179 * t183 - 0.18535714285714285714e-2; + const double t186 = t185 * t102; + const double t187 = t186 * t108; + const double t188 = t176 * t187; + const double t190 = safe_math::cbrt( 0.9e1 ); + const double t191 = t190 * t190; + const double t193 = t2 * t5 * t191 * t3; + const double t195 = 0.1e1 / t22 / t37; + const double t197 = t108 * t56; + const double t201 = safe_math::exp( -0.25e2 / 0.18e2 * t193 * t195 * t103 * t197 ); + const double t202 = t116 * t201; + const double t203 = t149 * t202; + const double t207 = 0.1e1 / t8 / t7; + const double t208 = t6 * t207; + const double t210 = t4 * t208 * t31; + const double t211 = 0.11073577833333333333e-2 * t210; + const double t212 = t27 * t27; + const double t213 = 0.1e1 / t212; + const double t214 = t13 * t213; + const double t216 = 0.1e1 / t14 * t1; + const double t218 = t217 * t207; + const double t219 = t216 * t218; + const double t221 = t4 * t208; + const double t223 = safe_math::sqrt( t11 ); + const double t224 = t223 * t1; + const double t225 = t224 * t218; + const double t230 = t21 * t5 / t22 / t7; + const double t232 = -0.632975e0 * t219 - 0.29896666666666666667e0 * t221 - 0.1023875e0 * t225 - 0.82156666666666666667e-1 * t230; + const double t233 = 0.1e1 / t30; + const double t234 = t232 * t233; + const double t235 = t214 * t234; + const double t236 = 0.1e1 * t235; + const double t237 = t35 * t34; + const double t238 = t237 * t39; + const double t239 = t238 * t88; + const double t240 = 0.4e1 * t239; + const double t241 = t38 * t7; + const double t242 = 0.1e1 / t241; + const double t243 = t36 * t242; + const double t244 = t243 * t88; + const double t245 = 0.4e1 * t244; + const double t246 = 0.1e1 / t37; + const double t247 = t34 * t246; + const double t248 = t41 - t247; + const double t251 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t248 ); + const double t252 = -t248; + const double t255 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t252 ); + const double t257 = ( t251 + t255 ) * t59; + const double t258 = t257 * t87; + const double t259 = t40 * t258; + const double t263 = t67 * t67; + const double t264 = 0.1e1 / t263; + const double t265 = t62 * t264; + const double t270 = -0.1176575e1 * t219 - 0.516475e0 * t221 - 0.2103875e0 * t225 - 0.104195e0 * t230; + const double t271 = 0.1e1 / t70; + const double t272 = t270 * t271; + const double t278 = t80 * t80; + const double t279 = 0.1e1 / t278; + const double t280 = t75 * t279; + const double t285 = -0.86308333333333333334e0 * t219 - 0.301925e0 * t221 - 0.5501625e-1 * t225 - 0.82785e-1 * t230; + const double t286 = 0.1e1 / t83; + const double t287 = t285 * t286; + const double t290 = 0.53236443333333333332e-3 * t4 * t208 * t71 + 0.1e1 * t265 * t272 - t211 - t236 + 0.18311555036753159941e-3 * t4 * t208 * t84 + 0.58482233974552040708e0 * t280 * t287; + const double t291 = t60 * t290; + const double t292 = t40 * t291; + const double t293 = t257 * t85; + const double t294 = 0.19751789702565206229e-1 * t293; + const double t295 = t60 * t1; + const double t297 = t217 * t207 * t84; + const double t298 = t295 * t297; + const double t299 = 0.18311555036753159941e-3 * t298; + const double t300 = t60 * t75; + const double t302 = t279 * t285 * t286; + const double t303 = t300 * t302; + const double t304 = 0.58482233974552040708e0 * t303; + const double t305 = t103 * t172; + const double t306 = 0.1e1 / t47; + const double t309 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t306 * t248 ); + const double t310 = 0.1e1 / t52; + const double t313 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t310 * t252 ); + const double t315 = t309 / 0.2e1 + t313 / 0.2e1; + const double t317 = t95 * t305 * t315; + const double t318 = 0.77534644304710291488e-2 * t317; + const double t319 = t37 * t7; + const double t321 = 0.1e1 / t8 / t319; + const double t322 = t108 * t321; + const double t323 = t322 * t56; + const double t325 = 0.7e1 / 0.288e3 * t323 * t117; + const double t326 = t56 * t121; + const double t327 = t111 * t326; + const double t329 = t5 * t315; + const double t330 = t328 * t329; + const double t333 = t105 * t157; + const double t334 = t134 * t136; + const double t335 = t333 * t334; + const double t336 = t211 + t236 + t240 - t245 + t259 + t292 + t294 - t299 - t304; + const double t340 = t120 * t138; + const double t341 = t124 * t315; + const double t344 = -0.12897460341341234505e3 * t336 * t121 * t124 + 0.38692381024023703515e3 * t340 * t341; + const double t346 = t6 * t344 * t127; + const double t347 = t161 * t346; + const double t351 = 0.1e1 / t22 / t241; + const double t352 = t131 * t351; + const double t353 = t130 * t352; + const double t355 = 0.12677527172608605205e-1 * t353 * t142; + const double t356 = t137 * t102; + const double t357 = 0.1e1 / t356; + const double t358 = t136 * t357; + const double t359 = t141 * t315; + const double t360 = t358 * t359; + const double t363 = -t325 - t327 * t330 / 0.48e2 - 0.27166129655589868296e-2 * t335 * t347 - t355 - 0.10866451862235947318e-1 * t135 * t360; + const double t367 = t166 * t166; + const double t368 = 0.1e1 / t367; + const double t369 = t145 * t368; + const double t370 = t157 * t108; + const double t372 = t146 * t370 * t110; + const double t373 = t56 * t113; + const double t374 = t373 * t115; + const double t376 = t5 * t344 * t127; + const double t377 = t374 * t376; + const double t380 = t321 * t56; + const double t383 = 0.20284043476173768327e0 * t148 * t380 * t151; + const double t385 = t146 * t147 * t110; + const double t387 = t326 * t116 * t315; + const double t391 = 0.1e1 / t156 / t128; + const double t392 = t391 * t131; + const double t394 = t155 * t392 * t133; + const double t395 = t139 * t140; + const double t396 = t395 * t346; + const double t399 = t351 * t136; + const double t400 = t399 * t162; + const double t402 = 0.35266493120854938101e-1 * t159 * t400; + const double t404 = t155 * t158 * t133; + const double t407 = -0.86931614897887578546e-1 * t372 * t377 - t383 - 0.17386322979577515709e0 * t385 * t387 - 0.15114211337509259186e-1 * t394 * t396 - t402 - 0.30228422675018518372e-1 * t404 * t360; + const double t411 = 0.27818116767324025134e1 * t106 * t363 * t167 - 0.27818116767324025134e1 * t106 * t369 * t407; + const double t413 = 0.1e1 / t171; + const double t415 = t95 * t104 * t411 * t413; + const double t416 = 0.25844881434903430496e-2 * t415; + const double t419 = -0.19388333333333333333e1 * t221 - 0.12315e-2 * t230; + const double t421 = t182 * t182; + const double t422 = 0.1e1 / t421; + const double t423 = t179 * t422; + const double t426 = -0.72691666666666666667e3 * t221 - 0.78666666666666666667e2 * t230; + const double t428 = t419 * t183 - t423 * t426; + const double t429 = t428 * t102; + const double t430 = t429 * t108; + const double t431 = t176 * t430; + const double t432 = t431 * t203; + const double t434 = t185 * t315; + const double t435 = t434 * t108; + const double t436 = t176 * t435; + const double t437 = t436 * t203; + const double t438 = t437 / 0.2e1; + const double t439 = t380 * t202; + const double t440 = t188 * t439; + const double t442 = t149 * t115; + const double t444 = 0.1e1 / t22 / t319; + const double t448 = 0.1e3 / 0.27e2 * t193 * t444 * t103 * t197; + const double t449 = t195 * t102; + const double t450 = t197 * t315; + const double t454 = t448 - 0.25e2 / 0.9e1 * t193 * t449 * t450; + const double t456 = t5 * t454 * t201; + const double t457 = t442 * t456; + const double t458 = t188 * t457; + const double t459 = t458 / 0.2e1; + const double t462 = -t41 - t247; + const double t465 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t462 ); + const double t466 = -t462; + const double t469 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t466 ); + const double t471 = ( t465 + t469 ) * t59; + const double t472 = t471 * t87; + const double t473 = t40 * t472; + const double t474 = t471 * t85; + const double t475 = 0.19751789702565206229e-1 * t474; + const double t478 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t306 * t462 ); + const double t481 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t310 * t466 ); + const double t483 = t478 / 0.2e1 + t481 / 0.2e1; + const double t485 = t95 * t305 * t483; + const double t486 = 0.77534644304710291488e-2 * t485; + const double t487 = t5 * t483; + const double t488 = t328 * t487; + const double t491 = t211 + t236 - t240 - t245 + t473 + t292 + t475 - t299 - t304; + const double t495 = t124 * t483; + const double t498 = -0.12897460341341234505e3 * t491 * t121 * t124 + 0.38692381024023703515e3 * t340 * t495; + const double t500 = t6 * t498 * t127; + const double t501 = t161 * t500; + const double t504 = t141 * t483; + const double t505 = t358 * t504; + const double t508 = -t325 - t327 * t488 / 0.48e2 - 0.27166129655589868296e-2 * t335 * t501 - t355 - 0.10866451862235947318e-1 * t135 * t505; + const double t513 = t5 * t498 * t127; + const double t514 = t374 * t513; + const double t517 = t116 * t483; + const double t518 = t326 * t517; + const double t521 = t395 * t500; + const double t526 = -0.86931614897887578546e-1 * t372 * t514 - t383 - 0.17386322979577515709e0 * t385 * t518 - 0.15114211337509259186e-1 * t394 * t521 - t402 - 0.30228422675018518372e-1 * t404 * t505; + const double t530 = 0.27818116767324025134e1 * t106 * t508 * t167 - 0.27818116767324025134e1 * t106 * t369 * t526; + const double t533 = t95 * t104 * t530 * t413; + const double t534 = 0.25844881434903430496e-2 * t533; + const double t535 = t185 * t483; + const double t537 = t176 * t535 * t108; + const double t538 = t537 * t203; + const double t539 = t538 / 0.2e1; + const double t540 = t197 * t483; + const double t544 = t448 - 0.25e2 / 0.9e1 * t193 * t449 * t540; + const double t546 = t5 * t544 * t201; + const double t547 = t442 * t546; + const double t548 = t188 * t547; + const double t549 = t548 / 0.2e1; + const double t554 = t149 * t113 * t553; + const double t556 = t108 * t133; + const double t557 = t130 * t556; + const double t558 = t557 * t142; + const double t560 = t554 / 0.96e2 + 0.54332259311179736592e-2 * t558; + const double t564 = t129 * t110; + const double t565 = t146 * t564; + const double t566 = t373 * t116; + const double t567 = t565 * t566; + const double t569 = t155 * t370; + const double t570 = t569 * t163; + const double t572 = 0.86931614897887578546e-1 * t567 + 0.15114211337509259186e-1 * t570; + const double t576 = 0.27818116767324025134e1 * t106 * t560 * t167 - 0.27818116767324025134e1 * t106 * t369 * t572; + const double t580 = 0.25844881434903430496e-2 * t95 * t104 * t576 * t413; + const double t581 = t176 * t186; + const double t582 = t581 * t203; + const double t583 = t582 / 0.2e1; + const double t586 = t185 * t104; + const double t587 = t586 * t108; + const double t588 = t585 * t587; + const double t589 = t242 * t136; + const double t591 = t6 * t191 * t201; + const double t592 = t589 * t591; + const double t593 = t588 * t592; + const double t594 = 0.25e2 / 0.36e2 * t593; + const double t598 = t554 / 0.48e2 + 0.10866451862235947318e-1 * t558; + const double t604 = 0.17386322979577515709e0 * t567 + 0.30228422675018518372e-1 * t570; + const double t608 = 0.27818116767324025134e1 * t106 * t598 * t167 - 0.27818116767324025134e1 * t106 * t369 * t604; + const double t609 = t104 * t608; + const double t612 = 0.25844881434903430496e-2 * t95 * t609 * t413; + const double t613 = 0.25e2 / 0.18e2 * t593; + const double t616 = t207 * t213; + const double t618 = t615 * t616 * t234; + const double t619 = 0.35616666666666666667e-1 * t618; + const double t620 = t257 * t1; + const double t621 = t620 * t297; + const double t622 = 0.36623110073506319882e-3 * t621; + const double t624 = t217 * t110 * t84; + const double t625 = t295 * t624; + const double t626 = 0.24415406715670879921e-3 * t625; + const double t627 = t102 * t172; + const double t628 = t315 * t315; + const double t630 = t95 * t627 * t628; + const double t631 = 0.15506928860942058298e-1 * t630; + const double t632 = t95 * t103; + const double t633 = t411 * t413; + const double t635 = t632 * t633 * t315; + const double t636 = 0.15506928860942058298e-1 * t635; + const double t637 = 0.1e1 / t97; + const double t638 = t248 * t248; + const double t641 = 0.1e1 / t319; + const double t642 = t34 * t641; + const double t644 = -0.2e1 * t246 + 0.2e1 * t642; + const double t648 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t637 * t638 + 0.4e1 / 0.3e1 * t47 * t644 ); + const double t649 = 0.1e1 / t99; + const double t650 = t252 * t252; + const double t653 = -t644; + const double t657 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t649 * t650 + 0.4e1 / 0.3e1 * t52 * t653 ); + const double t659 = ( t648 + t657 ) * t59; + const double t660 = t659 * t85; + const double t661 = 0.19751789702565206229e-1 * t660; + const double t662 = t278 * t80; + const double t663 = 0.1e1 / t662; + const double t664 = t285 * t285; + const double t666 = t663 * t664 * t286; + const double t667 = t300 * t666; + const double t668 = 0.11696446794910408142e1 * t667; + const double t670 = 0.1e1 / t8 / t38; + const double t671 = t108 * t670; + const double t672 = t671 * t56; + const double t674 = 0.35e2 / 0.432e3 * t672 * t117; + const double t675 = t322 * t326; + const double t676 = t675 * t330; + const double t678 = t56 * t138; + const double t679 = t111 * t678; + const double t680 = t5 * t628; + const double t681 = t328 * t680; + const double t684 = 0.1e1 / t48; + const double t690 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t684 * t638 + 0.2e1 / 0.3e1 * t306 * t644 ); + const double t691 = 0.1e1 / t53; + const double t697 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t691 * t650 + 0.2e1 / 0.3e1 * t310 * t653 ); + const double t699 = t690 / 0.2e1 + t697 / 0.2e1; + const double t701 = t328 * t5 * t699; + const double t704 = t105 * t391; + const double t705 = t704 * t334; + const double t706 = t344 * t344; + const double t707 = t6 * t706; + const double t708 = t127 * t127; + const double t709 = t707 * t708; + const double t710 = t161 * t709; + const double t713 = t352 * t136; + const double t714 = t333 * t713; + const double t715 = t714 * t347; + const double t717 = t357 * t140; + const double t718 = t717 * t6; + const double t719 = t344 * t127; + const double t720 = t719 * t315; + const double t721 = t718 * t720; + const double t724 = t6 * t110; + const double t728 = t207 * t264; + const double t732 = t263 * t67; + const double t733 = 0.1e1 / t732; + const double t734 = t62 * t733; + const double t735 = t270 * t270; + const double t736 = t735 * t271; + const double t741 = 0.1e1 / t14 / t11 * t19; + const double t743 = t742 * t195; + const double t744 = t741 * t743; + const double t746 = t217 * t110; + const double t747 = t216 * t746; + const double t749 = t4 * t724; + const double t751 = 0.1e1/safe_math::sqrt( t11 ); + const double t752 = t751 * t19; + const double t753 = t752 * t743; + const double t755 = t224 * t746; + const double t758 = t21 * t5 * t195; + const double t760 = -0.78438333333333333333e0 * t744 + 0.15687666666666666667e1 * t747 + 0.68863333333333333333e0 * t749 + 0.14025833333333333333e0 * t753 + 0.28051666666666666667e0 * t755 + 0.17365833333333333333e0 * t758; + const double t761 = t760 * t271; + const double t764 = t263 * t263; + const double t765 = 0.1e1 / t764; + const double t766 = t62 * t765; + const double t767 = t70 * t70; + const double t768 = 0.1e1 / t767; + const double t769 = t735 * t768; + const double t773 = t4 * t724 * t31; + const double t774 = 0.14764770444444444444e-2 * t773; + const double t775 = t212 * t27; + const double t776 = 0.1e1 / t775; + const double t777 = t13 * t776; + const double t778 = t232 * t232; + const double t779 = t778 * t233; + const double t780 = t777 * t779; + const double t781 = 0.2e1 * t780; + const double t788 = -0.42198333333333333333e0 * t744 + 0.84396666666666666666e0 * t747 + 0.39862222222222222223e0 * t749 + 0.68258333333333333333e-1 * t753 + 0.13651666666666666667e0 * t755 + 0.13692777777777777778e0 * t758; + const double t789 = t788 * t233; + const double t790 = t214 * t789; + const double t791 = 0.1e1 * t790; + const double t792 = t212 * t212; + const double t793 = 0.1e1 / t792; + const double t794 = t13 * t793; + const double t795 = t30 * t30; + const double t796 = 0.1e1 / t795; + const double t797 = t778 * t796; + const double t798 = t794 * t797; + const double t799 = 0.16081824322151104822e2 * t798; + const double t803 = t207 * t279; + const double t807 = t75 * t663; + const double t808 = t664 * t286; + const double t817 = -0.57538888888888888889e0 * t744 + 0.11507777777777777778e1 * t747 + 0.40256666666666666667e0 * t749 + 0.366775e-1 * t753 + 0.73355e-1 * t755 + 0.137975e0 * t758; + const double t818 = t817 * t286; + const double t821 = t278 * t278; + const double t822 = 0.1e1 / t821; + const double t823 = t75 * t822; + const double t824 = t83 * t83; + const double t825 = 0.1e1 / t824; + const double t826 = t664 * t825; + const double t829 = -0.70981924444444444442e-3 * t4 * t724 * t71 - 0.34246666666666666666e-1 * t615 * t728 * t272 - 0.2e1 * t734 * t736 + 0.1e1 * t265 * t761 + 0.32164683177870697974e2 * t766 * t769 + t774 + t619 + t781 - t791 - t799 - 0.24415406715670879921e-3 * t4 * t724 * t84 - 0.10843580882781524214e-1 * t615 * t803 * t287 - 0.11696446794910408142e1 * t807 * t808 + 0.58482233974552040708e0 * t280 * t818 + 0.17315755899375863299e2 * t823 * t826; + const double t830 = t60 * t829; + const double t831 = t40 * t830; + const double t832 = t822 * t664; + const double t833 = t832 * t825; + const double t834 = t300 * t833; + const double t835 = 0.17315755899375863299e2 * t834; + const double t836 = t257 * t75; + const double t837 = t836 * t302; + const double t838 = 0.11696446794910408142e1 * t837; + const double t840 = t279 * t817 * t286; + const double t841 = t300 * t840; + const double t842 = 0.58482233974552040708e0 * t841; + const double t843 = t659 * t87; + const double t844 = t40 * t843; + const double t845 = t257 * t290; + const double t846 = t40 * t845; + const double t847 = 0.2e1 * t846; + const double t848 = t243 * t258; + const double t849 = 0.8e1 * t848; + const double t850 = t243 * t291; + const double t851 = 0.8e1 * t850; + const double t852 = t831 - t835 - t838 - t842 + t661 + t791 + t799 + t844 + t847 - t849 - t851; + const double t853 = t238 * t258; + const double t854 = 0.8e1 * t853; + const double t855 = t238 * t291; + const double t856 = 0.8e1 * t855; + const double t857 = t38 * t37; + const double t858 = 0.1e1 / t857; + const double t859 = t36 * t858; + const double t860 = t859 * t88; + const double t861 = 0.2e2 * t860; + const double t862 = t35 * t39; + const double t863 = t862 * t88; + const double t864 = 0.12e2 * t863; + const double t865 = t237 * t242; + const double t866 = t865 * t88; + const double t867 = 0.32e2 * t866; + const double t868 = t60 * t4; + const double t869 = t208 * t302; + const double t870 = t868 * t869; + const double t871 = 0.10843580882781524214e-1 * t870; + const double t872 = t854 + t856 - t781 + t861 + t864 - t867 - t774 - t622 + t668 - t619 + t626 + t871; + const double t873 = t852 + t872; + const double t877 = t336 * t138; + const double t880 = t120 * t357; + const double t881 = t124 * t628; + const double t884 = t124 * t699; + const double t887 = -0.12897460341341234505e3 * t873 * t121 * t124 + 0.7738476204804740703e3 * t877 * t341 - 0.15476952409609481406e4 * t880 * t881 + 0.38692381024023703515e3 * t340 * t884; + const double t889 = t6 * t887 * t127; + const double t890 = t161 * t889; + const double t893 = t707 * t127; + const double t894 = t161 * t893; + const double t898 = 0.1e1 / t22 / t857; + const double t899 = t131 * t898; + const double t900 = t130 * t899; + const double t902 = 0.71839320644782096162e-1 * t900 * t142; + const double t903 = t353 * t360; + const double t905 = t137 * t103; + const double t906 = 0.1e1 / t905; + const double t907 = t136 * t906; + const double t909 = t907 * t141 * t628; + const double t913 = t358 * t141 * t699; + const double t916 = t674 + 0.7e1 / 0.72e2 * t676 + t679 * t681 / 0.16e2 - t327 * t701 / 0.48e2 + 0.54332259311179736592e-2 * t705 * t710 + 0.2535505434521721041e-1 * t715 + 0.21732903724471894636e-1 * t335 * t721 - 0.27166129655589868296e-2 * t335 * t890 - 0.27166129655589868296e-2 * t335 * t894 + t902 + 0.10142021738086884164e0 * t903 + 0.5433225931117973659e-1 * t135 * t909 - 0.10866451862235947318e-1 * t135 * t913; + const double t920 = t363 * t368; + const double t925 = 0.1e1 / t367 / t166; + const double t926 = t145 * t925; + const double t927 = t407 * t407; + const double t931 = t391 * t108; + const double t933 = t146 * t931 * t110; + const double t934 = t5 * t706; + const double t935 = t934 * t708; + const double t936 = t374 * t935; + const double t940 = t146 * t370 * t321; + const double t941 = t940 * t377; + const double t943 = t146 * t157; + const double t944 = t943 * t112; + const double t946 = t121 * t115 * t5; + const double t947 = t946 * t720; + const double t951 = t5 * t887 * t127; + const double t952 = t374 * t951; + const double t955 = t934 * t127; + const double t956 = t374 * t955; + const double t959 = t670 * t56; + const double t962 = 0.6761347825391256109e0 * t148 * t959 * t151; + const double t964 = t146 * t147 * t321; + const double t965 = t964 * t387; + const double t968 = t678 * t116 * t628; + const double t972 = t326 * t116 * t699; + const double t975 = t156 * t156; + const double t976 = 0.1e1 / t975; + const double t977 = t976 * t131; + const double t979 = t155 * t977 * t133; + const double t980 = t395 * t709; + const double t984 = t155 * t392 * t351; + const double t985 = t984 * t396; + const double t987 = t155 * t391; + const double t988 = t987 * t334; + const double t991 = t395 * t889; + const double t994 = t395 * t893; + const double t998 = t898 * t136 * t162; + const double t1000 = 0.19984346101817798257e0 * t159 * t998; + const double t1002 = t155 * t158 * t351; + const double t1003 = t1002 * t360; + const double t1009 = 0.17386322979577515709e0 * t933 * t936 + 0.40568086952347536654e0 * t941 + 0.34772645959155031418e0 * t944 * t947 - 0.86931614897887578546e-1 * t372 * t952 - 0.86931614897887578546e-1 * t372 * t956 + t962 + 0.81136173904695073308e0 * t965 + 0.52158968938732547127e0 * t385 * t968 - 0.17386322979577515709e0 * t385 * t972 + 0.45342634012527777558e-1 * t979 * t980 + 0.1410659724834197524e0 * t985 + 0.12091369070007407349e0 * t988 * t721 - 0.15114211337509259186e-1 * t394 * t991 - 0.15114211337509259186e-1 * t394 * t994 + t1000 + 0.2821319449668395048e0 * t1003 + 0.15114211337509259186e0 * t404 * t909 - 0.30228422675018518372e-1 * t404 * t913; + const double t1013 = 0.27818116767324025134e1 * t106 * t916 * t167 - 0.55636233534648050268e1 * t106 * t920 * t407 + 0.55636233534648050268e1 * t106 * t926 * t927 - 0.27818116767324025134e1 * t106 * t369 * t1009; + const double t1016 = t95 * t104 * t1013 * t413; + const double t1017 = 0.25844881434903430496e-2 * t1016; + const double t1018 = t959 * t202; + const double t1019 = t188 * t1018; + const double t1020 = 0.35e2 / 0.9e1 * t1019; + const double t1021 = t431 * t439; + const double t1022 = 0.7e1 / 0.3e1 * t1021; + const double t1023 = t436 * t439; + const double t1024 = 0.7e1 / 0.3e1 * t1023; + const double t1027 = 0.25851111111111111111e1 * t749 + 0.20525e-2 * t758; + const double t1029 = t419 * t422; + const double t1033 = 0.1e1 / t421 / t182; + const double t1034 = t179 * t1033; + const double t1035 = t426 * t426; + const double t1040 = 0.96922222222222222222e3 * t749 + 0.13111111111111111111e3 * t758; + const double t1042 = t1027 * t183 - 0.2e1 * t1029 * t426 + 0.2e1 * t1034 * t1035 - t423 * t1040; + const double t1043 = t1042 * t102; + const double t1045 = t176 * t1043 * t108; + const double t1046 = t1045 * t203; + const double t1047 = t1046 / 0.2e1; + const double t1048 = t428 * t315; + const double t1050 = t176 * t1048 * t108; + const double t1051 = t1050 * t203; + const double t1052 = t185 * t699; + const double t1054 = t176 * t1052 * t108; + const double t1055 = t1054 * t203; + const double t1056 = t1055 / 0.2e1; + const double t1057 = -t619 - t622 + t626 + t631 + t636 + t661 + t668 + t1017 - t781 + t791 + t799 + t1020 - t1022 - t1024 + t1047 + t1051 + t1056 - t835 - t838; + const double t1058 = t380 * t115; + const double t1059 = t1058 * t456; + const double t1060 = t188 * t1059; + const double t1061 = 0.7e1 / 0.3e1 * t1060; + const double t1065 = 0.11e4 / 0.81e2 * t193 * t133 * t103 * t197; + const double t1066 = t444 * t102; + const double t1068 = t193 * t1066 * t450; + const double t1074 = t197 * t699; + const double t1078 = -t1065 + 0.4e3 / 0.27e2 * t1068 - 0.25e2 / 0.9e1 * t193 * t195 * t628 * t197 - 0.25e2 / 0.9e1 * t193 * t449 * t1074; + const double t1080 = t5 * t1078 * t201; + const double t1081 = t442 * t1080; + const double t1082 = t188 * t1081; + const double t1083 = t1082 / 0.2e1; + const double t1084 = t431 * t457; + const double t1085 = t436 * t457; + const double t1086 = t454 * t454; + const double t1088 = t5 * t1086 * t201; + const double t1089 = t442 * t1088; + const double t1090 = t188 * t1089; + const double t1091 = t1090 / 0.2e1; + const double t1092 = t411 * t411; + const double t1094 = t171 * t171; + const double t1095 = 0.1e1 / t1094; + const double t1097 = t95 * t104 * t1092 * t1095; + const double t1098 = 0.25844881434903430496e-2 * t1097; + const double t1100 = t95 * t305 * t699; + const double t1101 = 0.77534644304710291488e-2 * t1100; + const double t1102 = -t842 + t861 + t864 - t867 + t856 + t847 - t849 - t851 + t854 + t844 - t774 + t831 - t1061 + t1083 + t1084 + t1085 + t1091 - t1098 + t1101 + t871; + const double t1105 = 0.36623110073506319882e-3 * t298; + const double t1106 = 0.7e1 / 0.3e1 * t440; + const double t1107 = 0.2e1 * t235; + const double t1109 = 0.22147155666666666666e-2 * t210; + const double t1111 = 0.2e1 * t292; + const double t1114 = 0.8e1 * t239; + const double t1115 = 0.8e1 * t244; + const double t1116 = 0.11696446794910408142e1 * t303; + const double t1117 = t471 * t1; + const double t1118 = t1117 * t297; + const double t1119 = 0.18311555036753159941e-3 * t1118; + const double t1120 = 0.18311555036753159941e-3 * t621; + const double t1121 = t633 * t483; + const double t1122 = t632 * t1121; + const double t1124 = t637 * t462; + const double t1127 = t47 * t34; + const double t1131 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t1124 * t248 + 0.8e1 / 0.3e1 * t1127 * t641 ); + const double t1132 = t649 * t466; + const double t1135 = t52 * t34; + const double t1139 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t1132 * t252 - 0.8e1 / 0.3e1 * t1135 * t641 ); + const double t1141 = ( t1131 + t1139 ) * t59; + const double t1142 = t1141 * t87; + const double t1143 = t40 * t1142; + const double t1144 = t471 * t290; + const double t1145 = t40 * t1144; + const double t1146 = t684 * t462; + const double t1149 = t306 * t34; + const double t1153 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t1146 * t248 + 0.4e1 / 0.3e1 * t1149 * t641 ); + const double t1154 = t691 * t466; + const double t1157 = t310 * t34; + const double t1161 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t1154 * t252 - 0.4e1 / 0.3e1 * t1157 * t641 ); + const double t1163 = t1153 / 0.2e1 + t1161 / 0.2e1; + const double t1165 = t95 * t305 * t1163; + const double t1168 = t675 * t488; + const double t1170 = t487 * t315; + const double t1171 = t328 * t1170; + const double t1174 = t5 * t1163; + const double t1175 = t328 * t1174; + const double t1178 = t498 * t708; + const double t1179 = t1178 * t344; + const double t1180 = t162 * t1179; + const double t1183 = t714 * t501; + const double t1185 = t498 * t127; + const double t1186 = t1185 * t315; + const double t1187 = t718 * t1186; + const double t1190 = t238 * t472; + const double t1191 = 0.4e1 * t1190; + const double t1192 = t243 * t472; + const double t1193 = 0.4e1 * t1192; + const double t1194 = t471 * t75; + const double t1195 = t1194 * t302; + const double t1196 = 0.58482233974552040708e0 * t1195; + const double t1197 = -t1119 - t619 - t1120 + t626 + t1143 + t1145 + t668 + t1191 - t1193 - t781 + t791 + t799 - t1196; + const double t1198 = 0.58482233974552040708e0 * t837; + const double t1199 = 0.4e1 * t848; + const double t1200 = 0.4e1 * t853; + const double t1201 = t1141 * t85; + const double t1202 = 0.19751789702565206229e-1 * t1201; + const double t1203 = -t835 - t1198 - t842 + t861 - t864 + t846 - t1199 - t851 - t1200 - t774 + t831 + t1202 + t871; + const double t1204 = t1197 + t1203; + const double t1208 = t491 * t138; + const double t1213 = t880 * t1; + const double t1214 = t123 * t483; + const double t1215 = t1214 * t315; + const double t1218 = t124 * t1163; + const double t1221 = -0.12897460341341234505e3 * t1204 * t121 * t124 + 0.38692381024023703515e3 * t1208 * t341 + 0.38692381024023703515e3 * t877 * t495 - 0.15476952409609481406e4 * t1213 * t1215 + 0.38692381024023703515e3 * t340 * t1218; + const double t1223 = t6 * t1221 * t127; + const double t1224 = t161 * t1223; + const double t1227 = t498 * t344; + const double t1228 = t1227 * t127; + const double t1229 = t162 * t1228; + const double t1234 = t483 * t344; + const double t1235 = t1234 * t127; + const double t1236 = t718 * t1235; + const double t1239 = t353 * t505; + const double t1241 = t130 * t334; + const double t1242 = t906 * t140; + const double t1243 = t6 * t483; + const double t1244 = t1243 * t315; + const double t1245 = t1242 * t1244; + const double t1248 = t141 * t1163; + const double t1249 = t358 * t1248; + const double t1252 = t674 + 0.7e1 / 0.144e3 * t676 + 0.7e1 / 0.144e3 * t1168 + t679 * t1171 / 0.16e2 - t327 * t1175 / 0.48e2 + 0.54332259311179736592e-2 * t705 * t1180 + 0.12677527172608605205e-1 * t1183 + 0.10866451862235947318e-1 * t335 * t1187 - 0.27166129655589868296e-2 * t335 * t1224 - 0.27166129655589868296e-2 * t335 * t1229 + 0.12677527172608605205e-1 * t715 + t902 + 0.5071010869043442082e-1 * t903 + 0.10866451862235947318e-1 * t335 * t1236 + 0.50710108690434420817e-1 * t1239 + 0.5433225931117973659e-1 * t1241 * t1245 - 0.10866451862235947318e-1 * t135 * t1249; + const double t1256 = t508 * t368; + const double t1263 = t106 * t145; + const double t1264 = t925 * t526; + const double t1265 = t1264 * t407; + const double t1268 = t146 * t391; + const double t1269 = t1268 * t112; + const double t1270 = t151 * t1179; + const double t1273 = t940 * t514; + const double t1275 = t946 * t1186; + const double t1279 = t5 * t1221 * t127; + const double t1280 = t374 * t1279; + const double t1283 = t151 * t1228; + const double t1288 = t946 * t1235; + const double t1291 = t964 * t518; + const double t1293 = t678 * t115; + const double t1294 = t1293 * t1170; + const double t1298 = t326 * t116 * t1163; + const double t1301 = 0.17386322979577515709e0 * t1269 * t1270 + 0.20284043476173768327e0 * t1273 + 0.17386322979577515709e0 * t944 * t1275 - 0.86931614897887578546e-1 * t372 * t1280 - 0.86931614897887578546e-1 * t944 * t1283 + 0.20284043476173768327e0 * t941 + t962 + 0.40568086952347536654e0 * t965 + 0.17386322979577515709e0 * t944 * t1288 + 0.40568086952347536654e0 * t1291 + 0.52158968938732547127e0 * t385 * t1294 - 0.17386322979577515709e0 * t385 * t1298; + const double t1302 = t155 * t976; + const double t1303 = t1302 * t334; + const double t1306 = t984 * t521; + const double t1310 = t395 * t1223; + const double t1319 = t1002 * t505; + const double t1321 = t907 * t140; + const double t1322 = t1321 * t1244; + const double t1327 = 0.45342634012527777558e-1 * t1303 * t1180 + 0.70532986241709876201e-1 * t1306 + 0.60456845350037036744e-1 * t988 * t1187 - 0.15114211337509259186e-1 * t394 * t1310 - 0.15114211337509259186e-1 * t988 * t1229 + 0.70532986241709876202e-1 * t985 + t1000 + 0.1410659724834197524e0 * t1003 + 0.60456845350037036744e-1 * t988 * t1236 + 0.1410659724834197524e0 * t1319 + 0.15114211337509259186e0 * t404 * t1322 - 0.30228422675018518372e-1 * t404 * t1249; + const double t1328 = t1301 + t1327; + const double t1332 = 0.27818116767324025134e1 * t106 * t1252 * t167 - 0.27818116767324025134e1 * t106 * t1256 * t407 - 0.27818116767324025134e1 * t106 * t920 * t526 + 0.55636233534648050268e1 * t1263 * t1265 - 0.27818116767324025134e1 * t106 * t369 * t1328; + const double t1335 = t95 * t104 * t1332 * t413; + const double t1337 = -t1119 - t619 - t1120 + t626 + 0.77534644304710291488e-2 * t1122 + t1143 + t1145 + t668 + 0.77534644304710291488e-2 * t1165 + 0.25844881434903430496e-2 * t1335 + t1191 - t1193; + const double t1338 = t530 * t413; + const double t1340 = t632 * t1338 * t315; + const double t1342 = t95 * t102; + const double t1343 = t172 * t483; + const double t1345 = t1342 * t1343 * t315; + const double t1347 = t537 * t439; + const double t1349 = t176 * t185; + const double t1350 = t102 * t108; + const double t1351 = t1350 * t110; + const double t1352 = t1349 * t1351; + const double t1355 = t544 * t454; + const double t1356 = t1355 * t201; + const double t1357 = t1354 * t1356; + const double t1358 = t1352 * t1357; + const double t1360 = t428 * t483; + const double t1362 = t176 * t1360 * t108; + const double t1363 = t1362 * t203; + const double t1365 = t185 * t1163; + const double t1367 = t176 * t1365 * t108; + const double t1368 = t1367 * t203; + const double t1370 = 0.77534644304710291488e-2 * t1340 + 0.15506928860942058298e-1 * t1345 - 0.7e1 / 0.6e1 * t1347 - t781 + t791 + t799 - t1196 + t1358 / 0.2e1 + t1363 / 0.2e1 + t1368 / 0.2e1 + t1020 - t1022; + const double t1374 = t95 * t104; + const double t1375 = t530 * t1095; + const double t1377 = t1374 * t1375 * t411; + const double t1379 = -0.7e1 / 0.6e1 * t1023 + t1047 + t1051 / 0.2e1 - t835 - t1198 - t842 - 0.25844881434903430496e-2 * t1377 + t861 - t864 + t846 - t1199 - t851; + const double t1380 = t1058 * t546; + const double t1381 = t188 * t1380; + const double t1383 = t537 * t457; + const double t1385 = t431 * t547; + const double t1387 = t436 * t547; + const double t1391 = t193 * t1066 * t540; + const double t1393 = t195 * t315; + const double t1397 = t197 * t1163; + const double t1401 = -t1065 + 0.2e3 / 0.27e2 * t1068 + 0.2e3 / 0.27e2 * t1391 - 0.25e2 / 0.9e1 * t193 * t1393 * t540 - 0.25e2 / 0.9e1 * t193 * t449 * t1397; + const double t1403 = t5 * t1401 * t201; + const double t1404 = t442 * t1403; + const double t1405 = t188 * t1404; + const double t1409 = -t1200 - t774 + t831 - 0.7e1 / 0.6e1 * t1381 + t1383 / 0.2e1 + t1385 / 0.2e1 + t1387 / 0.2e1 + t1405 / 0.2e1 - 0.7e1 / 0.6e1 * t1060 + t1084 / 0.2e1 + t1202 + t871; + const double t1414 = t459 + t475 + t1107 + t294 + t1109 + t259 + t1111 + t416 + t318 - t1115 - t1116; + const double t1415 = t530 * t530; + const double t1418 = t95 * t104 * t1415 * t1095; + const double t1419 = 0.25844881434903430496e-2 * t1418; + const double t1420 = 0.36623110073506319882e-3 * t1118; + const double t1421 = t462 * t462; + const double t1425 = 0.2e1 * t246 + 0.2e1 * t642; + const double t1429 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t637 * t1421 + 0.4e1 / 0.3e1 * t47 * t1425 ); + const double t1430 = t466 * t466; + const double t1433 = -t1425; + const double t1437 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t649 * t1430 + 0.4e1 / 0.3e1 * t52 * t1433 ); + const double t1439 = ( t1429 + t1437 ) * t59; + const double t1440 = t1439 * t87; + const double t1441 = t40 * t1440; + const double t1442 = 0.2e1 * t1145; + const double t1443 = 0.8e1 * t1190; + const double t1444 = 0.8e1 * t1192; + const double t1445 = t1338 * t483; + const double t1446 = t632 * t1445; + const double t1447 = 0.15506928860942058298e-1 * t1446; + const double t1448 = 0.7e1 / 0.3e1 * t1347; + const double t1454 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t684 * t1421 + 0.2e1 / 0.3e1 * t306 * t1425 ); + const double t1460 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t691 * t1430 + 0.2e1 / 0.3e1 * t310 * t1433 ); + const double t1462 = t1454 / 0.2e1 + t1460 / 0.2e1; + const double t1464 = t95 * t305 * t1462; + const double t1465 = 0.77534644304710291488e-2 * t1464; + const double t1466 = 0.11696446794910408142e1 * t1195; + const double t1468 = t483 * t483; + const double t1473 = t197 * t1462; + const double t1477 = -t1065 + 0.4e3 / 0.27e2 * t1391 - 0.25e2 / 0.9e1 * t193 * t195 * t1468 * t197 - 0.25e2 / 0.9e1 * t193 * t449 * t1473; + const double t1479 = t5 * t1477 * t201; + const double t1480 = t442 * t1479; + const double t1481 = t188 * t1480; + const double t1482 = t1481 / 0.2e1; + const double t1483 = t537 * t547; + const double t1484 = -t1419 - t1420 + t1441 - t619 + t626 + t1442 + t668 - t1443 - t1444 + t1447 - t1448 - t781 + t791 + t799 + t1465 - t1466 + t1363 + t1482 + t1483; + const double t1486 = t5 * t1468; + const double t1487 = t328 * t1486; + const double t1490 = t5 * t1462; + const double t1491 = t328 * t1490; + const double t1494 = t498 * t498; + const double t1495 = t6 * t1494; + const double t1496 = t1495 * t708; + const double t1497 = t161 * t1496; + const double t1501 = t1185 * t483; + const double t1502 = t718 * t1501; + const double t1505 = t1439 * t85; + const double t1506 = 0.19751789702565206229e-1 * t1505; + const double t1507 = t1506 + t1441 - t1466 + t1442 - t1443 - t1444 + t831 - t835 - t842 + t791 + t799; + const double t1508 = -t851 - t856 - t781 + t861 + t864 + t867 - t774 - t1420 + t668 - t619 + t626 + t871; + const double t1509 = t1507 + t1508; + const double t1515 = t124 * t1468; + const double t1518 = t124 * t1462; + const double t1521 = -0.12897460341341234505e3 * t1509 * t121 * t124 + 0.7738476204804740703e3 * t1208 * t495 - 0.15476952409609481406e4 * t880 * t1515 + 0.38692381024023703515e3 * t340 * t1518; + const double t1523 = t6 * t1521 * t127; + const double t1524 = t161 * t1523; + const double t1527 = t1495 * t127; + const double t1528 = t161 * t1527; + const double t1532 = t141 * t1468; + const double t1533 = t907 * t1532; + const double t1536 = t141 * t1462; + const double t1537 = t358 * t1536; + const double t1540 = t674 + 0.7e1 / 0.72e2 * t1168 + t679 * t1487 / 0.16e2 - t327 * t1491 / 0.48e2 + 0.54332259311179736592e-2 * t705 * t1497 + 0.2535505434521721041e-1 * t1183 + 0.21732903724471894636e-1 * t335 * t1502 - 0.27166129655589868296e-2 * t335 * t1524 - 0.27166129655589868296e-2 * t335 * t1528 + t902 + 0.10142021738086884164e0 * t1239 + 0.5433225931117973659e-1 * t135 * t1533 - 0.10866451862235947318e-1 * t135 * t1537; + const double t1547 = t526 * t526; + const double t1551 = t5 * t1494; + const double t1552 = t1551 * t708; + const double t1553 = t374 * t1552; + const double t1557 = t946 * t1501; + const double t1561 = t5 * t1521 * t127; + const double t1562 = t374 * t1561; + const double t1565 = t1551 * t127; + const double t1566 = t374 * t1565; + const double t1571 = t678 * t116 * t1468; + const double t1575 = t326 * t116 * t1462; + const double t1578 = t395 * t1496; + const double t1584 = t395 * t1523; + const double t1587 = t395 * t1527; + const double t1595 = 0.17386322979577515709e0 * t933 * t1553 + 0.40568086952347536654e0 * t1273 + 0.34772645959155031418e0 * t944 * t1557 - 0.86931614897887578546e-1 * t372 * t1562 - 0.86931614897887578546e-1 * t372 * t1566 + t962 + 0.81136173904695073308e0 * t1291 + 0.52158968938732547127e0 * t385 * t1571 - 0.17386322979577515709e0 * t385 * t1575 + 0.45342634012527777558e-1 * t979 * t1578 + 0.1410659724834197524e0 * t1306 + 0.12091369070007407349e0 * t988 * t1502 - 0.15114211337509259186e-1 * t394 * t1584 - 0.15114211337509259186e-1 * t394 * t1587 + t1000 + 0.2821319449668395048e0 * t1319 + 0.15114211337509259186e0 * t404 * t1533 - 0.30228422675018518372e-1 * t404 * t1537; + const double t1599 = 0.27818116767324025134e1 * t106 * t1540 * t167 - 0.55636233534648050268e1 * t106 * t1256 * t526 + 0.55636233534648050268e1 * t106 * t926 * t1547 - 0.27818116767324025134e1 * t106 * t369 * t1595; + const double t1602 = t95 * t104 * t1599 * t413; + const double t1603 = 0.25844881434903430496e-2 * t1602; + const double t1605 = t95 * t627 * t1468; + const double t1606 = 0.15506928860942058298e-1 * t1605; + const double t1607 = t185 * t1462; + const double t1609 = t176 * t1607 * t108; + const double t1610 = t1609 * t203; + const double t1611 = t1610 / 0.2e1; + const double t1612 = t544 * t544; + const double t1614 = t5 * t1612 * t201; + const double t1615 = t442 * t1614; + const double t1616 = t188 * t1615; + const double t1617 = t1616 / 0.2e1; + const double t1618 = 0.7e1 / 0.3e1 * t1381; + const double t1619 = t1020 - t1022 + t1047 + t1603 + t1606 - t835 - t842 + t1611 + t1506 + t861 + t864 + t867 - t856 - t851 - t774 + t831 + t1617 - t1618 + t1385 + t871; + const double t1626 = t576 * t413; + const double t1628 = t632 * t1626 * t315; + const double t1629 = 0.77534644304710291488e-2 * t1628; + const double t1631 = t380 * t113 * t553; + const double t1632 = 0.7e1 / 0.288e3 * t1631; + const double t1633 = t149 * t121; + const double t1634 = t1633 * t330; + const double t1636 = t556 * t136; + const double t1637 = t333 * t1636; + const double t1638 = t1637 * t347; + const double t1640 = t108 * t351; + const double t1641 = t130 * t1640; + const double t1642 = t1641 * t142; + const double t1643 = 0.2535505434521721041e-1 * t1642; + const double t1644 = t557 * t360; + const double t1646 = -t1632 - t1634 / 0.48e2 - 0.54332259311179736592e-2 * t1638 - t1643 - 0.21732903724471894637e-1 * t1644; + const double t1650 = t560 * t368; + const double t1657 = t925 * t572; + const double t1658 = t1657 * t407; + const double t1663 = t146 * t157 * t110 * t56; + const double t1664 = t150 * t376; + const double t1665 = t1663 * t1664; + const double t1667 = t129 * t321; + const double t1668 = t146 * t1667; + const double t1669 = t1668 * t566; + const double t1670 = 0.20284043476173768327e0 * t1669; + const double t1671 = t565 * t387; + const double t1674 = t155 * t931 * t133; + const double t1675 = t1674 * t396; + const double t1677 = t569 * t400; + const double t1678 = 0.70532986241709876201e-1 * t1677; + const double t1680 = t155 * t370 * t133; + const double t1681 = t1680 * t360; + const double t1683 = -0.86931614897887578546e-1 * t1665 - t1670 - 0.17386322979577515709e0 * t1671 - 0.30228422675018518372e-1 * t1675 - t1678 - 0.60456845350037036744e-1 * t1681; + const double t1687 = 0.27818116767324025134e1 * t106 * t1646 * t167 - 0.27818116767324025134e1 * t106 * t1650 * t407 - 0.27818116767324025134e1 * t106 * t920 * t572 + 0.55636233534648050268e1 * t1263 * t1658 - 0.27818116767324025134e1 * t106 * t369 * t1683; + const double t1690 = t95 * t104 * t1687 * t413; + const double t1691 = 0.25844881434903430496e-2 * t1690; + const double t1692 = t576 * t1095; + const double t1694 = t1374 * t1692 * t411; + const double t1695 = 0.25844881434903430496e-2 * t1694; + const double t1696 = t176 * t429; + const double t1697 = t1696 * t203; + const double t1698 = t1697 / 0.2e1; + const double t1699 = t176 * t434; + const double t1700 = t1699 * t203; + const double t1701 = t1700 / 0.2e1; + const double t1702 = t581 * t439; + const double t1703 = 0.7e1 / 0.6e1 * t1702; + const double t1705 = t176 * t186 * t110; + const double t1706 = t1353 * t456; + const double t1707 = t1705 * t1706; + const double t1708 = t1707 / 0.2e1; + const double t1709 = t428 * t104; + const double t1711 = t585 * t1709 * t108; + const double t1712 = t1711 * t592; + const double t1713 = 0.25e2 / 0.36e2 * t1712; + const double t1714 = t185 * t103; + const double t1716 = t585 * t1714 * t108; + const double t1717 = t589 * t6; + const double t1718 = t191 * t201; + const double t1719 = t1718 * t315; + const double t1720 = t1717 * t1719; + const double t1721 = t1716 * t1720; + const double t1722 = 0.25e2 / 0.12e2 * t1721; + const double t1723 = t858 * t136; + const double t1724 = t1723 * t591; + const double t1725 = t588 * t1724; + const double t1726 = 0.125e3 / 0.36e2 * t1725; + const double t1728 = t191 * t454 * t201; + const double t1729 = t1717 * t1728; + const double t1730 = t588 * t1729; + const double t1731 = 0.25e2 / 0.36e2 * t1730; + const double t1732 = t1629 + t1691 - t1695 + t1698 + t1701 - t1703 + t1708 - t1713 - t1722 + t1726 - t1731; + const double t1734 = t608 * t413; + const double t1736 = t632 * t1734 * t315; + const double t1737 = 0.77534644304710291488e-2 * t1736; + const double t1738 = 0.7e1 / 0.144e3 * t1631; + const double t1741 = 0.50710108690434420817e-1 * t1642; + const double t1743 = -t1738 - t1634 / 0.24e2 - 0.10866451862235947318e-1 * t1638 - t1741 - 0.43465807448943789272e-1 * t1644; + const double t1747 = t598 * t368; + const double t1754 = t925 * t604; + const double t1755 = t1754 * t407; + const double t1759 = 0.40568086952347536654e0 * t1669; + const double t1762 = 0.1410659724834197524e0 * t1677; + const double t1764 = -0.17386322979577515709e0 * t1665 - t1759 - 0.34772645959155031418e0 * t1671 - 0.60456845350037036744e-1 * t1675 - t1762 - 0.12091369070007407349e0 * t1681; + const double t1768 = 0.27818116767324025134e1 * t106 * t1743 * t167 - 0.27818116767324025134e1 * t106 * t1747 * t407 - 0.27818116767324025134e1 * t106 * t920 * t604 + 0.55636233534648050268e1 * t1263 * t1755 - 0.27818116767324025134e1 * t106 * t369 * t1764; + const double t1771 = t95 * t104 * t1768 * t413; + const double t1772 = 0.25844881434903430496e-2 * t1771; + const double t1773 = t608 * t1095; + const double t1775 = t1374 * t1773 * t411; + const double t1776 = 0.25844881434903430496e-2 * t1775; + const double t1777 = 0.7e1 / 0.3e1 * t1702; + const double t1778 = 0.25e2 / 0.18e2 * t1712; + const double t1779 = 0.25e2 / 0.6e1 * t1721; + const double t1780 = 0.125e3 / 0.18e2 * t1725; + const double t1781 = 0.25e2 / 0.18e2 * t1730; + const double t1782 = t1737 + t1772 - t1776 + t1697 + t1700 - t1777 + t1707 - t1778 - t1779 + t1780 - t1781; + const double t1784 = t1626 * t483; + const double t1785 = t632 * t1784; + const double t1786 = 0.77534644304710291488e-2 * t1785; + const double t1787 = t1633 * t488; + const double t1789 = t1637 * t501; + const double t1791 = t557 * t505; + const double t1793 = -t1632 - t1787 / 0.48e2 - 0.54332259311179736592e-2 * t1789 - t1643 - 0.21732903724471894637e-1 * t1791; + const double t1803 = t1657 * t526; + const double t1806 = t150 * t513; + const double t1807 = t1663 * t1806; + const double t1809 = t565 * t518; + const double t1811 = t1674 * t521; + const double t1813 = t1680 * t505; + const double t1815 = -0.86931614897887578546e-1 * t1807 - t1670 - 0.17386322979577515709e0 * t1809 - 0.30228422675018518372e-1 * t1811 - t1678 - 0.60456845350037036744e-1 * t1813; + const double t1819 = 0.27818116767324025134e1 * t106 * t1793 * t167 - 0.27818116767324025134e1 * t106 * t1650 * t526 - 0.27818116767324025134e1 * t106 * t1256 * t572 + 0.55636233534648050268e1 * t1263 * t1803 - 0.27818116767324025134e1 * t106 * t369 * t1815; + const double t1822 = t95 * t104 * t1819 * t413; + const double t1823 = 0.25844881434903430496e-2 * t1822; + const double t1825 = t1374 * t1692 * t530; + const double t1826 = 0.25844881434903430496e-2 * t1825; + const double t1827 = t176 * t535; + const double t1828 = t1827 * t203; + const double t1829 = t1828 / 0.2e1; + const double t1830 = t1353 * t546; + const double t1831 = t1705 * t1830; + const double t1832 = t1831 / 0.2e1; + const double t1833 = t1718 * t483; + const double t1834 = t1717 * t1833; + const double t1835 = t1716 * t1834; + const double t1836 = 0.25e2 / 0.12e2 * t1835; + const double t1838 = t191 * t544 * t201; + const double t1839 = t1717 * t1838; + const double t1840 = t588 * t1839; + const double t1841 = 0.25e2 / 0.36e2 * t1840; + const double t1842 = t1786 + t1823 - t1826 + t1698 + t1829 - t1703 + t1832 - t1713 - t1836 + t1726 - t1841; + const double t1844 = t1734 * t483; + const double t1845 = t632 * t1844; + const double t1846 = 0.77534644304710291488e-2 * t1845; + const double t1850 = -t1738 - t1787 / 0.24e2 - 0.10866451862235947318e-1 * t1789 - t1741 - 0.43465807448943789272e-1 * t1791; + const double t1860 = t1754 * t526; + const double t1867 = -0.17386322979577515709e0 * t1807 - t1759 - 0.34772645959155031418e0 * t1809 - 0.60456845350037036744e-1 * t1811 - t1762 - 0.12091369070007407349e0 * t1813; + const double t1871 = 0.27818116767324025134e1 * t106 * t1850 * t167 - 0.27818116767324025134e1 * t106 * t1747 * t526 - 0.27818116767324025134e1 * t106 * t1256 * t604 + 0.55636233534648050268e1 * t1263 * t1860 - 0.27818116767324025134e1 * t106 * t369 * t1867; + const double t1874 = t95 * t104 * t1871 * t413; + const double t1875 = 0.25844881434903430496e-2 * t1874; + const double t1877 = t1374 * t1773 * t530; + const double t1878 = 0.25844881434903430496e-2 * t1877; + const double t1879 = 0.25e2 / 0.6e1 * t1835; + const double t1880 = 0.25e2 / 0.18e2 * t1840; + const double t1881 = t1846 + t1875 - t1878 + t1697 + t1828 - t1777 + t1831 - t1778 - t1879 + t1780 - t1880; + const double t1883 = t129 * t133; + const double t1885 = t141 * t167; + const double t1886 = t139 * t1885; + const double t1887 = t155 * t1883 * t1886; + const double t1892 = t572 * t572; + const double t1896 = t1 * t145; + const double t1897 = t368 * t157; + const double t1898 = t1896 * t1897; + const double t1899 = t1898 * t163; + const double t1901 = 0.15114211337509259186e-1 * t1887 - 0.55636233534648050268e1 * t106 * t1650 * t572 + 0.55636233534648050268e1 * t106 * t926 * t1892 - 0.12780113936069355903e-1 * t1899; + const double t1905 = 0.25844881434903430496e-2 * t95 * t104 * t1901 * t413; + const double t1906 = t576 * t576; + const double t1910 = 0.25844881434903430496e-2 * t95 * t104 * t1906 * t1095; + const double t1911 = t585 * t586; + const double t1912 = t1911 * t592; + const double t1913 = 0.25e2 / 0.18e2 * t1912; + const double t1916 = 0.1e1 / t92 / M_PI * t93; + const double t1917 = t185 * t356; + const double t1918 = t1916 * t1917; + const double t1919 = t38 * t319; + const double t1921 = 0.1e1 / t22 / t1919; + const double t1922 = t108 * t1921; + const double t1924 = t190 * t3 * t201; + const double t1925 = t1922 * t1924; + const double t1926 = t1918 * t1925; + const double t1927 = 0.625e3 / 0.9e1 * t1926; + const double t1936 = t1754 * t572; + const double t1940 = 0.30228422675018518372e-1 * t1887 - 0.27818116767324025134e1 * t106 * t1747 * t572 - 0.27818116767324025134e1 * t106 * t1650 * t604 + 0.55636233534648050268e1 * t1263 * t1936 - 0.25560227872138711807e-1 * t1899; + const double t1944 = 0.25844881434903430496e-2 * t95 * t104 * t1940 * t413; + const double t1947 = 0.25844881434903430496e-2 * t1374 * t1773 * t576; + const double t1948 = 0.25e2 / 0.9e1 * t1912; + const double t1949 = 0.125e4 / 0.9e1 * t1926; + const double t1955 = t604 * t604; + const double t1960 = 0.60456845350037036744e-1 * t1887 - 0.55636233534648050268e1 * t106 * t1747 * t604 + 0.55636233534648050268e1 * t106 * t926 * t1955 - 0.51120455744277423612e-1 * t1899; + const double t1964 = 0.25844881434903430496e-2 * t95 * t104 * t1960 * t413; + const double t1965 = t608 * t608; + const double t1969 = 0.25844881434903430496e-2 * t95 * t104 * t1965 * t1095; + const double t1970 = 0.5e2 / 0.9e1 * t1912; + const double t1971 = 0.25e4 / 0.9e1 * t1926; + + + v2rho2_aa = t7 * ( t1057 + t1102 ) + t432 + t437 - t1105 - t1106 + t458 + t1107 + 0.39503579405130412458e-1 * t293 + t1109 + 0.2e1 * t259 + t1111 + 0.51689762869806860992e-2 * t415 + 0.15506928860942058298e-1 * t317 + t1114 - t1115 - t1116; + v2rho2_ab = t7 * ( t1337 + t1370 + t1379 + t1409 ) + t549 + t534 + t486 + t473 + t539 + t432 + t438 - t1105 - t1106 + t1414; + v2rho2_bb = t7 * ( t1484 + t1619 ) + t548 + 0.51689762869806860992e-2 * t533 + 0.15506928860942058298e-1 * t485 + 0.2e1 * t473 + t538 + t432 - t1105 - t1106 + 0.39503579405130412458e-1 * t474 + t1107 + t1109 + t1111 - t1114 - t1115 - t1116; + v2rhosigma_a_aa = t7 * t1732 + t580 + t583 - t594; + v2rhosigma_a_ab = t7 * t1782 + t582 + t612 - t613; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t7 * t1842 + t580 + t583 - t594; + v2rhosigma_b_ab = t7 * t1881 + t582 + t612 - t613; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t7 * ( t1905 - t1910 - t1913 + t1927 ); + v2sigma2_aa_ab = t7 * ( t1944 - t1947 - t1948 + t1949 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t7 * ( t1964 - t1969 - t1970 + t1971 ); + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t2 = constants::m_one_ov_pi; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t92 = constants::m_pi_sq; + constexpr double t93 = constants::m_cbrt_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = t93 * t93; + constexpr double t95 = t19 * t94; + constexpr double t105 = 0.1e1 / t93; + constexpr double t106 = t19 * t105; + constexpr double t115 = 0.1e1 / t3; + constexpr double t116 = t115 * t5; + constexpr double t123 = 0.1e1 / t94; + constexpr double t124 = t1 * t123; + constexpr double t136 = t56 * t56; + constexpr double t140 = 0.1e1 / t20; + constexpr double t141 = t140 * t6; + constexpr double t146 = t1 * t105; + constexpr double t155 = t19 * t123; + constexpr double t176 = t2 * t93; + constexpr double t217 = t3 * t6; + constexpr double t328 = t19 * t115; + constexpr double t553 = t328 * t5; + constexpr double t585 = 0.1e1 / t92 * t93; + constexpr double t615 = t4 * t6; + constexpr double t742 = t20 * t5; + constexpr double t1353 = t56 * t115; + constexpr double t1354 = t1353 * t5; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081824322151104822e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.62182e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32164683177870697974e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608574643216675549e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.3109e-1 * t62 * t71 + t33 - 0.19751789702565206229e-1 * t85; + const double t88 = t60 * t87; + const double t89 = t40 * t88; + const double t91 = 0.19751789702565206229e-1 * t60 * t85; + const double t96 = t45 * t45; + const double t97 = t47 * t47; + const double t98 = piecewise_functor_3( t44, t96, t97 ); + const double t99 = t52 * t52; + const double t100 = piecewise_functor_3( t51, t96, t99 ); + const double t102 = t98 / 0.2e1 + t100 / 0.2e1; + const double t103 = t102 * t102; + const double t104 = t103 * t102; + const double t108 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t110 = 0.1e1 / t8 / t37; + const double t111 = t108 * t110; + const double t112 = t111 * t56; + const double t113 = 0.1e1 / t103; + const double t117 = t113 * t19 * t116; + const double t120 = -t33 + t89 + t91; + const double t121 = 0.1e1 / t104; + const double t127 = safe_math::exp( -0.12897460341341234505e3 * t120 * t121 * t124 ); + const double t128 = t127 - 0.1e1; + const double t129 = 0.1e1 / t128; + const double t130 = t105 * t129; + const double t131 = t108 * t108; + const double t133 = 0.1e1 / t22 / t38; + const double t134 = t131 * t133; + const double t135 = t130 * t134; + const double t137 = t103 * t103; + const double t138 = 0.1e1 / t137; + const double t139 = t136 * t138; + const double t142 = t139 * t141; + const double t145 = t112 * t117 / 0.96e2 + 0.27166129655589868296e-2 * t135 * t142; + const double t147 = t129 * t108; + const double t148 = t146 * t147; + const double t149 = t110 * t56; + const double t150 = t113 * t115; + const double t151 = t150 * t5; + const double t156 = t128 * t128; + const double t157 = 0.1e1 / t156; + const double t158 = t157 * t131; + const double t159 = t155 * t158; + const double t160 = t133 * t136; + const double t161 = t138 * t140; + const double t162 = t161 * t6; + const double t163 = t160 * t162; + const double t166 = 0.1e1 + 0.86931614897887578546e-1 * t148 * t149 * t151 + 0.75571056687546295931e-2 * t159 * t163; + const double t167 = 0.1e1 / t166; + const double t171 = 0.1e1 + 0.27818116767324025134e1 * t106 * t145 * t167; + const double t172 = safe_math::log( t171 ); + const double t175 = 0.25844881434903430496e-2 * t95 * t104 * t172; + const double t179 = 0.2568e1 + 0.58165e1 * t11 + 0.184725e-2 * t25; + const double t182 = 0.1e4 + 0.218075e4 * t11 + 0.118e3 * t25; + const double t183 = 0.1e1 / t182; + const double t185 = t179 * t183 - 0.18535714285714285714e-2; + const double t186 = t185 * t102; + const double t187 = t186 * t108; + const double t188 = t176 * t187; + const double t190 = safe_math::cbrt( 0.9e1 ); + const double t191 = t190 * t190; + const double t193 = t2 * t5 * t191 * t3; + const double t195 = 0.1e1 / t22 / t37; + const double t197 = t108 * t56; + const double t201 = safe_math::exp( -0.25e2 / 0.18e2 * t193 * t195 * t103 * t197 ); + const double t202 = t116 * t201; + const double t203 = t149 * t202; + const double t205 = t188 * t203 / 0.2e1; + const double t207 = 0.1e1 / t8 / t7; + const double t208 = t6 * t207; + const double t210 = t4 * t208 * t31; + const double t211 = 0.11073577833333333333e-2 * t210; + const double t212 = t27 * t27; + const double t213 = 0.1e1 / t212; + const double t214 = t13 * t213; + const double t216 = 0.1e1 / t14 * t1; + const double t218 = t217 * t207; + const double t219 = t216 * t218; + const double t221 = t4 * t208; + const double t223 = safe_math::sqrt( t11 ); + const double t224 = t223 * t1; + const double t225 = t224 * t218; + const double t230 = t21 * t5 / t22 / t7; + const double t232 = -0.632975e0 * t219 - 0.29896666666666666667e0 * t221 - 0.1023875e0 * t225 - 0.82156666666666666667e-1 * t230; + const double t233 = 0.1e1 / t30; + const double t234 = t232 * t233; + const double t235 = t214 * t234; + const double t236 = 0.1e1 * t235; + const double t237 = t35 * t34; + const double t238 = t237 * t39; + const double t239 = t238 * t88; + const double t240 = 0.4e1 * t239; + const double t241 = t38 * t7; + const double t242 = 0.1e1 / t241; + const double t243 = t36 * t242; + const double t244 = t243 * t88; + const double t245 = 0.4e1 * t244; + const double t246 = 0.1e1 / t37; + const double t247 = t34 * t246; + const double t248 = t41 - t247; + const double t251 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t248 ); + const double t252 = -t248; + const double t255 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t252 ); + const double t257 = ( t251 + t255 ) * t59; + const double t258 = t257 * t87; + const double t259 = t40 * t258; + const double t263 = t67 * t67; + const double t264 = 0.1e1 / t263; + const double t265 = t62 * t264; + const double t270 = -0.1176575e1 * t219 - 0.516475e0 * t221 - 0.2103875e0 * t225 - 0.104195e0 * t230; + const double t271 = 0.1e1 / t70; + const double t272 = t270 * t271; + const double t278 = t80 * t80; + const double t279 = 0.1e1 / t278; + const double t280 = t75 * t279; + const double t285 = -0.86308333333333333334e0 * t219 - 0.301925e0 * t221 - 0.5501625e-1 * t225 - 0.82785e-1 * t230; + const double t286 = 0.1e1 / t83; + const double t287 = t285 * t286; + const double t290 = 0.53236443333333333332e-3 * t4 * t208 * t71 + 0.1e1 * t265 * t272 - t211 - t236 + 0.18311555036753159941e-3 * t4 * t208 * t84 + 0.58482233974552040708e0 * t280 * t287; + const double t291 = t60 * t290; + const double t292 = t40 * t291; + const double t293 = t257 * t85; + const double t294 = 0.19751789702565206229e-1 * t293; + const double t295 = t60 * t1; + const double t297 = t217 * t207 * t84; + const double t298 = t295 * t297; + const double t299 = 0.18311555036753159941e-3 * t298; + const double t300 = t60 * t75; + const double t302 = t279 * t285 * t286; + const double t303 = t300 * t302; + const double t304 = 0.58482233974552040708e0 * t303; + const double t305 = t103 * t172; + const double t306 = 0.1e1 / t47; + const double t309 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t306 * t248 ); + const double t310 = 0.1e1 / t52; + const double t313 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t310 * t252 ); + const double t315 = t309 / 0.2e1 + t313 / 0.2e1; + const double t317 = t95 * t305 * t315; + const double t318 = 0.77534644304710291488e-2 * t317; + const double t319 = t37 * t7; + const double t321 = 0.1e1 / t8 / t319; + const double t322 = t108 * t321; + const double t323 = t322 * t56; + const double t325 = 0.7e1 / 0.288e3 * t323 * t117; + const double t326 = t56 * t121; + const double t327 = t111 * t326; + const double t329 = t5 * t315; + const double t330 = t328 * t329; + const double t333 = t105 * t157; + const double t334 = t134 * t136; + const double t335 = t333 * t334; + const double t336 = t211 + t236 + t240 - t245 + t259 + t292 + t294 - t299 - t304; + const double t340 = t120 * t138; + const double t341 = t124 * t315; + const double t344 = -0.12897460341341234505e3 * t336 * t121 * t124 + 0.38692381024023703515e3 * t340 * t341; + const double t346 = t6 * t344 * t127; + const double t347 = t161 * t346; + const double t351 = 0.1e1 / t22 / t241; + const double t352 = t131 * t351; + const double t353 = t130 * t352; + const double t355 = 0.12677527172608605205e-1 * t353 * t142; + const double t356 = t137 * t102; + const double t357 = 0.1e1 / t356; + const double t358 = t136 * t357; + const double t359 = t141 * t315; + const double t360 = t358 * t359; + const double t363 = -t325 - t327 * t330 / 0.48e2 - 0.27166129655589868296e-2 * t335 * t347 - t355 - 0.10866451862235947318e-1 * t135 * t360; + const double t367 = t166 * t166; + const double t368 = 0.1e1 / t367; + const double t369 = t145 * t368; + const double t370 = t157 * t108; + const double t372 = t146 * t370 * t110; + const double t373 = t56 * t113; + const double t374 = t373 * t115; + const double t376 = t5 * t344 * t127; + const double t377 = t374 * t376; + const double t380 = t321 * t56; + const double t383 = 0.20284043476173768327e0 * t148 * t380 * t151; + const double t385 = t146 * t147 * t110; + const double t387 = t326 * t116 * t315; + const double t391 = 0.1e1 / t156 / t128; + const double t392 = t391 * t131; + const double t394 = t155 * t392 * t133; + const double t395 = t139 * t140; + const double t396 = t395 * t346; + const double t399 = t351 * t136; + const double t400 = t399 * t162; + const double t402 = 0.35266493120854938101e-1 * t159 * t400; + const double t404 = t155 * t158 * t133; + const double t407 = -0.86931614897887578546e-1 * t372 * t377 - t383 - 0.17386322979577515709e0 * t385 * t387 - 0.15114211337509259186e-1 * t394 * t396 - t402 - 0.30228422675018518372e-1 * t404 * t360; + const double t411 = 0.27818116767324025134e1 * t106 * t363 * t167 - 0.27818116767324025134e1 * t106 * t369 * t407; + const double t413 = 0.1e1 / t171; + const double t415 = t95 * t104 * t411 * t413; + const double t416 = 0.25844881434903430496e-2 * t415; + const double t419 = -0.19388333333333333333e1 * t221 - 0.12315e-2 * t230; + const double t421 = t182 * t182; + const double t422 = 0.1e1 / t421; + const double t423 = t179 * t422; + const double t426 = -0.72691666666666666667e3 * t221 - 0.78666666666666666667e2 * t230; + const double t428 = t419 * t183 - t423 * t426; + const double t429 = t428 * t102; + const double t430 = t429 * t108; + const double t431 = t176 * t430; + const double t432 = t431 * t203; + const double t433 = t432 / 0.2e1; + const double t434 = t185 * t315; + const double t435 = t434 * t108; + const double t436 = t176 * t435; + const double t437 = t436 * t203; + const double t438 = t437 / 0.2e1; + const double t439 = t380 * t202; + const double t440 = t188 * t439; + const double t441 = 0.7e1 / 0.6e1 * t440; + const double t442 = t149 * t115; + const double t444 = 0.1e1 / t22 / t319; + const double t448 = 0.1e3 / 0.27e2 * t193 * t444 * t103 * t197; + const double t449 = t195 * t102; + const double t450 = t197 * t315; + const double t454 = t448 - 0.25e2 / 0.9e1 * t193 * t449 * t450; + const double t456 = t5 * t454 * t201; + const double t457 = t442 * t456; + const double t458 = t188 * t457; + const double t459 = t458 / 0.2e1; + const double t460 = t211 + t236 + t240 - t245 + t259 + t292 + t294 - t299 - t304 + t318 + t416 + t433 + t438 - t441 + t459; + const double t462 = -t41 - t247; + const double t465 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t462 ); + const double t466 = -t462; + const double t469 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t466 ); + const double t471 = ( t465 + t469 ) * t59; + const double t472 = t471 * t87; + const double t473 = t40 * t472; + const double t474 = t471 * t85; + const double t475 = 0.19751789702565206229e-1 * t474; + const double t478 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t306 * t462 ); + const double t481 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t310 * t466 ); + const double t483 = t478 / 0.2e1 + t481 / 0.2e1; + const double t485 = t95 * t305 * t483; + const double t486 = 0.77534644304710291488e-2 * t485; + const double t487 = t5 * t483; + const double t488 = t328 * t487; + const double t491 = t211 + t236 - t240 - t245 + t473 + t292 + t475 - t299 - t304; + const double t495 = t124 * t483; + const double t498 = -0.12897460341341234505e3 * t491 * t121 * t124 + 0.38692381024023703515e3 * t340 * t495; + const double t500 = t6 * t498 * t127; + const double t501 = t161 * t500; + const double t504 = t141 * t483; + const double t505 = t358 * t504; + const double t508 = -t325 - t327 * t488 / 0.48e2 - 0.27166129655589868296e-2 * t335 * t501 - t355 - 0.10866451862235947318e-1 * t135 * t505; + const double t513 = t5 * t498 * t127; + const double t514 = t374 * t513; + const double t517 = t116 * t483; + const double t518 = t326 * t517; + const double t521 = t395 * t500; + const double t526 = -0.86931614897887578546e-1 * t372 * t514 - t383 - 0.17386322979577515709e0 * t385 * t518 - 0.15114211337509259186e-1 * t394 * t521 - t402 - 0.30228422675018518372e-1 * t404 * t505; + const double t530 = 0.27818116767324025134e1 * t106 * t508 * t167 - 0.27818116767324025134e1 * t106 * t369 * t526; + const double t533 = t95 * t104 * t530 * t413; + const double t534 = 0.25844881434903430496e-2 * t533; + const double t535 = t185 * t483; + const double t537 = t176 * t535 * t108; + const double t538 = t537 * t203; + const double t539 = t538 / 0.2e1; + const double t540 = t197 * t483; + const double t544 = t448 - 0.25e2 / 0.9e1 * t193 * t449 * t540; + const double t546 = t5 * t544 * t201; + const double t547 = t442 * t546; + const double t548 = t188 * t547; + const double t549 = t548 / 0.2e1; + const double t550 = t211 + t236 - t240 - t245 + t473 + t292 + t475 - t299 - t304 + t486 + t534 + t433 + t539 - t441 + t549; + const double t554 = t149 * t113 * t553; + const double t556 = t108 * t133; + const double t557 = t130 * t556; + const double t558 = t557 * t142; + const double t560 = t554 / 0.96e2 + 0.54332259311179736592e-2 * t558; + const double t564 = t129 * t110; + const double t565 = t146 * t564; + const double t566 = t373 * t116; + const double t567 = t565 * t566; + const double t569 = t155 * t370; + const double t570 = t569 * t163; + const double t572 = 0.86931614897887578546e-1 * t567 + 0.15114211337509259186e-1 * t570; + const double t576 = 0.27818116767324025134e1 * t106 * t560 * t167 - 0.27818116767324025134e1 * t106 * t369 * t572; + const double t580 = 0.25844881434903430496e-2 * t95 * t104 * t576 * t413; + const double t581 = t176 * t186; + const double t582 = t581 * t203; + const double t583 = t582 / 0.2e1; + const double t586 = t185 * t104; + const double t587 = t586 * t108; + const double t588 = t585 * t587; + const double t589 = t242 * t136; + const double t591 = t6 * t191 * t201; + const double t592 = t589 * t591; + const double t593 = t588 * t592; + const double t594 = 0.25e2 / 0.36e2 * t593; + const double t598 = t554 / 0.48e2 + 0.10866451862235947318e-1 * t558; + const double t604 = 0.17386322979577515709e0 * t567 + 0.30228422675018518372e-1 * t570; + const double t608 = 0.27818116767324025134e1 * t106 * t598 * t167 - 0.27818116767324025134e1 * t106 * t369 * t604; + const double t609 = t104 * t608; + const double t612 = 0.25844881434903430496e-2 * t95 * t609 * t413; + const double t613 = 0.25e2 / 0.18e2 * t593; + const double t616 = t207 * t213; + const double t618 = t615 * t616 * t234; + const double t619 = 0.35616666666666666667e-1 * t618; + const double t620 = t257 * t1; + const double t621 = t620 * t297; + const double t622 = 0.36623110073506319882e-3 * t621; + const double t624 = t217 * t110 * t84; + const double t625 = t295 * t624; + const double t626 = 0.24415406715670879921e-3 * t625; + const double t627 = t102 * t172; + const double t628 = t315 * t315; + const double t630 = t95 * t627 * t628; + const double t631 = 0.15506928860942058298e-1 * t630; + const double t632 = t95 * t103; + const double t633 = t411 * t413; + const double t635 = t632 * t633 * t315; + const double t636 = 0.15506928860942058298e-1 * t635; + const double t637 = 0.1e1 / t97; + const double t638 = t248 * t248; + const double t641 = 0.1e1 / t319; + const double t642 = t34 * t641; + const double t644 = -0.2e1 * t246 + 0.2e1 * t642; + const double t648 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t637 * t638 + 0.4e1 / 0.3e1 * t47 * t644 ); + const double t649 = 0.1e1 / t99; + const double t650 = t252 * t252; + const double t653 = -t644; + const double t657 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t649 * t650 + 0.4e1 / 0.3e1 * t52 * t653 ); + const double t659 = ( t648 + t657 ) * t59; + const double t660 = t659 * t85; + const double t661 = 0.19751789702565206229e-1 * t660; + const double t662 = t278 * t80; + const double t663 = 0.1e1 / t662; + const double t664 = t285 * t285; + const double t666 = t663 * t664 * t286; + const double t667 = t300 * t666; + const double t668 = 0.11696446794910408142e1 * t667; + const double t670 = 0.1e1 / t8 / t38; + const double t671 = t108 * t670; + const double t672 = t671 * t56; + const double t674 = 0.35e2 / 0.432e3 * t672 * t117; + const double t675 = t322 * t326; + const double t676 = t675 * t330; + const double t678 = t56 * t138; + const double t679 = t111 * t678; + const double t680 = t5 * t628; + const double t681 = t328 * t680; + const double t684 = 0.1e1 / t48; + const double t690 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t684 * t638 + 0.2e1 / 0.3e1 * t306 * t644 ); + const double t691 = 0.1e1 / t53; + const double t697 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t691 * t650 + 0.2e1 / 0.3e1 * t310 * t653 ); + const double t699 = t690 / 0.2e1 + t697 / 0.2e1; + const double t701 = t328 * t5 * t699; + const double t704 = t105 * t391; + const double t705 = t704 * t334; + const double t706 = t344 * t344; + const double t707 = t6 * t706; + const double t708 = t127 * t127; + const double t709 = t707 * t708; + const double t710 = t161 * t709; + const double t713 = t352 * t136; + const double t714 = t333 * t713; + const double t715 = t714 * t347; + const double t717 = t357 * t140; + const double t718 = t717 * t6; + const double t719 = t344 * t127; + const double t720 = t719 * t315; + const double t721 = t718 * t720; + const double t724 = t6 * t110; + const double t728 = t207 * t264; + const double t732 = t263 * t67; + const double t733 = 0.1e1 / t732; + const double t734 = t62 * t733; + const double t735 = t270 * t270; + const double t736 = t735 * t271; + const double t741 = 0.1e1 / t14 / t11 * t19; + const double t743 = t742 * t195; + const double t744 = t741 * t743; + const double t746 = t217 * t110; + const double t747 = t216 * t746; + const double t749 = t4 * t724; + const double t751 = 0.1e1/safe_math::sqrt( t11 ); + const double t752 = t751 * t19; + const double t753 = t752 * t743; + const double t755 = t224 * t746; + const double t758 = t21 * t5 * t195; + const double t760 = -0.78438333333333333333e0 * t744 + 0.15687666666666666667e1 * t747 + 0.68863333333333333333e0 * t749 + 0.14025833333333333333e0 * t753 + 0.28051666666666666667e0 * t755 + 0.17365833333333333333e0 * t758; + const double t761 = t760 * t271; + const double t764 = t263 * t263; + const double t765 = 0.1e1 / t764; + const double t766 = t62 * t765; + const double t767 = t70 * t70; + const double t768 = 0.1e1 / t767; + const double t769 = t735 * t768; + const double t773 = t4 * t724 * t31; + const double t774 = 0.14764770444444444444e-2 * t773; + const double t775 = t212 * t27; + const double t776 = 0.1e1 / t775; + const double t777 = t13 * t776; + const double t778 = t232 * t232; + const double t779 = t778 * t233; + const double t780 = t777 * t779; + const double t781 = 0.2e1 * t780; + const double t788 = -0.42198333333333333333e0 * t744 + 0.84396666666666666666e0 * t747 + 0.39862222222222222223e0 * t749 + 0.68258333333333333333e-1 * t753 + 0.13651666666666666667e0 * t755 + 0.13692777777777777778e0 * t758; + const double t789 = t788 * t233; + const double t790 = t214 * t789; + const double t791 = 0.1e1 * t790; + const double t792 = t212 * t212; + const double t793 = 0.1e1 / t792; + const double t794 = t13 * t793; + const double t795 = t30 * t30; + const double t796 = 0.1e1 / t795; + const double t797 = t778 * t796; + const double t798 = t794 * t797; + const double t799 = 0.16081824322151104822e2 * t798; + const double t803 = t207 * t279; + const double t807 = t75 * t663; + const double t808 = t664 * t286; + const double t817 = -0.57538888888888888889e0 * t744 + 0.11507777777777777778e1 * t747 + 0.40256666666666666667e0 * t749 + 0.366775e-1 * t753 + 0.73355e-1 * t755 + 0.137975e0 * t758; + const double t818 = t817 * t286; + const double t821 = t278 * t278; + const double t822 = 0.1e1 / t821; + const double t823 = t75 * t822; + const double t824 = t83 * t83; + const double t825 = 0.1e1 / t824; + const double t826 = t664 * t825; + const double t829 = -0.70981924444444444442e-3 * t4 * t724 * t71 - 0.34246666666666666666e-1 * t615 * t728 * t272 - 0.2e1 * t734 * t736 + 0.1e1 * t265 * t761 + 0.32164683177870697974e2 * t766 * t769 + t774 + t619 + t781 - t791 - t799 - 0.24415406715670879921e-3 * t4 * t724 * t84 - 0.10843580882781524214e-1 * t615 * t803 * t287 - 0.11696446794910408142e1 * t807 * t808 + 0.58482233974552040708e0 * t280 * t818 + 0.17315755899375863299e2 * t823 * t826; + const double t830 = t60 * t829; + const double t831 = t40 * t830; + const double t832 = t822 * t664; + const double t833 = t832 * t825; + const double t834 = t300 * t833; + const double t835 = 0.17315755899375863299e2 * t834; + const double t836 = t257 * t75; + const double t837 = t836 * t302; + const double t838 = 0.11696446794910408142e1 * t837; + const double t840 = t279 * t817 * t286; + const double t841 = t300 * t840; + const double t842 = 0.58482233974552040708e0 * t841; + const double t843 = t659 * t87; + const double t844 = t40 * t843; + const double t845 = t257 * t290; + const double t846 = t40 * t845; + const double t847 = 0.2e1 * t846; + const double t848 = t243 * t258; + const double t849 = 0.8e1 * t848; + const double t850 = t243 * t291; + const double t851 = 0.8e1 * t850; + const double t852 = t831 - t835 - t838 - t842 + t661 + t791 + t799 + t844 + t847 - t849 - t851; + const double t853 = t238 * t258; + const double t854 = 0.8e1 * t853; + const double t855 = t238 * t291; + const double t856 = 0.8e1 * t855; + const double t857 = t38 * t37; + const double t858 = 0.1e1 / t857; + const double t859 = t36 * t858; + const double t860 = t859 * t88; + const double t861 = 0.2e2 * t860; + const double t862 = t35 * t39; + const double t863 = t862 * t88; + const double t864 = 0.12e2 * t863; + const double t865 = t237 * t242; + const double t866 = t865 * t88; + const double t867 = 0.32e2 * t866; + const double t868 = t60 * t4; + const double t869 = t208 * t302; + const double t870 = t868 * t869; + const double t871 = 0.10843580882781524214e-1 * t870; + const double t872 = t854 + t856 - t781 + t861 + t864 - t867 - t774 - t622 + t668 - t619 + t626 + t871; + const double t873 = t852 + t872; + const double t877 = t336 * t138; + const double t880 = t120 * t357; + const double t881 = t124 * t628; + const double t884 = t124 * t699; + const double t887 = -0.12897460341341234505e3 * t873 * t121 * t124 + 0.7738476204804740703e3 * t877 * t341 - 0.15476952409609481406e4 * t880 * t881 + 0.38692381024023703515e3 * t340 * t884; + const double t889 = t6 * t887 * t127; + const double t890 = t161 * t889; + const double t893 = t707 * t127; + const double t894 = t161 * t893; + const double t898 = 0.1e1 / t22 / t857; + const double t899 = t131 * t898; + const double t900 = t130 * t899; + const double t902 = 0.71839320644782096162e-1 * t900 * t142; + const double t903 = t353 * t360; + const double t905 = t137 * t103; + const double t906 = 0.1e1 / t905; + const double t907 = t136 * t906; + const double t909 = t907 * t141 * t628; + const double t913 = t358 * t141 * t699; + const double t916 = t674 + 0.7e1 / 0.72e2 * t676 + t679 * t681 / 0.16e2 - t327 * t701 / 0.48e2 + 0.54332259311179736592e-2 * t705 * t710 + 0.2535505434521721041e-1 * t715 + 0.21732903724471894636e-1 * t335 * t721 - 0.27166129655589868296e-2 * t335 * t890 - 0.27166129655589868296e-2 * t335 * t894 + t902 + 0.10142021738086884164e0 * t903 + 0.5433225931117973659e-1 * t135 * t909 - 0.10866451862235947318e-1 * t135 * t913; + const double t920 = t363 * t368; + const double t925 = 0.1e1 / t367 / t166; + const double t926 = t145 * t925; + const double t927 = t407 * t407; + const double t931 = t391 * t108; + const double t933 = t146 * t931 * t110; + const double t934 = t5 * t706; + const double t935 = t934 * t708; + const double t936 = t374 * t935; + const double t940 = t146 * t370 * t321; + const double t941 = t940 * t377; + const double t943 = t146 * t157; + const double t944 = t943 * t112; + const double t946 = t121 * t115 * t5; + const double t947 = t946 * t720; + const double t951 = t5 * t887 * t127; + const double t952 = t374 * t951; + const double t955 = t934 * t127; + const double t956 = t374 * t955; + const double t959 = t670 * t56; + const double t962 = 0.6761347825391256109e0 * t148 * t959 * t151; + const double t964 = t146 * t147 * t321; + const double t965 = t964 * t387; + const double t968 = t678 * t116 * t628; + const double t972 = t326 * t116 * t699; + const double t975 = t156 * t156; + const double t976 = 0.1e1 / t975; + const double t977 = t976 * t131; + const double t979 = t155 * t977 * t133; + const double t980 = t395 * t709; + const double t984 = t155 * t392 * t351; + const double t985 = t984 * t396; + const double t987 = t155 * t391; + const double t988 = t987 * t334; + const double t991 = t395 * t889; + const double t994 = t395 * t893; + const double t998 = t898 * t136 * t162; + const double t1000 = 0.19984346101817798257e0 * t159 * t998; + const double t1002 = t155 * t158 * t351; + const double t1003 = t1002 * t360; + const double t1009 = 0.17386322979577515709e0 * t933 * t936 + 0.40568086952347536654e0 * t941 + 0.34772645959155031418e0 * t944 * t947 - 0.86931614897887578546e-1 * t372 * t952 - 0.86931614897887578546e-1 * t372 * t956 + t962 + 0.81136173904695073308e0 * t965 + 0.52158968938732547127e0 * t385 * t968 - 0.17386322979577515709e0 * t385 * t972 + 0.45342634012527777558e-1 * t979 * t980 + 0.1410659724834197524e0 * t985 + 0.12091369070007407349e0 * t988 * t721 - 0.15114211337509259186e-1 * t394 * t991 - 0.15114211337509259186e-1 * t394 * t994 + t1000 + 0.2821319449668395048e0 * t1003 + 0.15114211337509259186e0 * t404 * t909 - 0.30228422675018518372e-1 * t404 * t913; + const double t1013 = 0.27818116767324025134e1 * t106 * t916 * t167 - 0.55636233534648050268e1 * t106 * t920 * t407 + 0.55636233534648050268e1 * t106 * t926 * t927 - 0.27818116767324025134e1 * t106 * t369 * t1009; + const double t1016 = t95 * t104 * t1013 * t413; + const double t1017 = 0.25844881434903430496e-2 * t1016; + const double t1018 = t959 * t202; + const double t1019 = t188 * t1018; + const double t1020 = 0.35e2 / 0.9e1 * t1019; + const double t1021 = t431 * t439; + const double t1022 = 0.7e1 / 0.3e1 * t1021; + const double t1023 = t436 * t439; + const double t1024 = 0.7e1 / 0.3e1 * t1023; + const double t1027 = 0.25851111111111111111e1 * t749 + 0.20525e-2 * t758; + const double t1029 = t419 * t422; + const double t1033 = 0.1e1 / t421 / t182; + const double t1034 = t179 * t1033; + const double t1035 = t426 * t426; + const double t1040 = 0.96922222222222222222e3 * t749 + 0.13111111111111111111e3 * t758; + const double t1042 = t1027 * t183 - 0.2e1 * t1029 * t426 + 0.2e1 * t1034 * t1035 - t423 * t1040; + const double t1043 = t1042 * t102; + const double t1045 = t176 * t1043 * t108; + const double t1046 = t1045 * t203; + const double t1047 = t1046 / 0.2e1; + const double t1048 = t428 * t315; + const double t1050 = t176 * t1048 * t108; + const double t1051 = t1050 * t203; + const double t1052 = t185 * t699; + const double t1054 = t176 * t1052 * t108; + const double t1055 = t1054 * t203; + const double t1056 = t1055 / 0.2e1; + const double t1057 = -t619 - t622 + t626 + t631 + t636 + t661 + t668 + t1017 - t781 + t791 + t799 + t1020 - t1022 - t1024 + t1047 + t1051 + t1056 - t835 - t838; + const double t1058 = t380 * t115; + const double t1059 = t1058 * t456; + const double t1060 = t188 * t1059; + const double t1061 = 0.7e1 / 0.3e1 * t1060; + const double t1065 = 0.11e4 / 0.81e2 * t193 * t133 * t103 * t197; + const double t1066 = t444 * t102; + const double t1068 = t193 * t1066 * t450; + const double t1074 = t197 * t699; + const double t1078 = -t1065 + 0.4e3 / 0.27e2 * t1068 - 0.25e2 / 0.9e1 * t193 * t195 * t628 * t197 - 0.25e2 / 0.9e1 * t193 * t449 * t1074; + const double t1080 = t5 * t1078 * t201; + const double t1081 = t442 * t1080; + const double t1082 = t188 * t1081; + const double t1083 = t1082 / 0.2e1; + const double t1084 = t431 * t457; + const double t1085 = t436 * t457; + const double t1086 = t454 * t454; + const double t1088 = t5 * t1086 * t201; + const double t1089 = t442 * t1088; + const double t1090 = t188 * t1089; + const double t1091 = t1090 / 0.2e1; + const double t1092 = t411 * t411; + const double t1094 = t171 * t171; + const double t1095 = 0.1e1 / t1094; + const double t1097 = t95 * t104 * t1092 * t1095; + const double t1098 = 0.25844881434903430496e-2 * t1097; + const double t1100 = t95 * t305 * t699; + const double t1101 = 0.77534644304710291488e-2 * t1100; + const double t1102 = -t842 + t861 + t864 - t867 + t856 + t847 - t849 - t851 + t854 + t844 - t774 + t831 - t1061 + t1083 + t1084 + t1085 + t1091 - t1098 + t1101 + t871; + const double t1105 = 0.36623110073506319882e-3 * t298; + const double t1106 = 0.7e1 / 0.3e1 * t440; + const double t1107 = 0.2e1 * t235; + const double t1109 = 0.22147155666666666666e-2 * t210; + const double t1111 = 0.2e1 * t292; + const double t1114 = 0.8e1 * t239; + const double t1115 = 0.8e1 * t244; + const double t1116 = 0.11696446794910408142e1 * t303; + const double t1117 = t471 * t1; + const double t1118 = t1117 * t297; + const double t1119 = 0.18311555036753159941e-3 * t1118; + const double t1120 = 0.18311555036753159941e-3 * t621; + const double t1121 = t633 * t483; + const double t1122 = t632 * t1121; + const double t1124 = t637 * t462; + const double t1127 = t47 * t34; + const double t1131 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t1124 * t248 + 0.8e1 / 0.3e1 * t1127 * t641 ); + const double t1132 = t649 * t466; + const double t1135 = t52 * t34; + const double t1139 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t1132 * t252 - 0.8e1 / 0.3e1 * t1135 * t641 ); + const double t1141 = ( t1131 + t1139 ) * t59; + const double t1142 = t1141 * t87; + const double t1143 = t40 * t1142; + const double t1144 = t471 * t290; + const double t1145 = t40 * t1144; + const double t1146 = t684 * t462; + const double t1149 = t306 * t34; + const double t1153 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t1146 * t248 + 0.4e1 / 0.3e1 * t1149 * t641 ); + const double t1154 = t691 * t466; + const double t1157 = t310 * t34; + const double t1161 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t1154 * t252 - 0.4e1 / 0.3e1 * t1157 * t641 ); + const double t1163 = t1153 / 0.2e1 + t1161 / 0.2e1; + const double t1165 = t95 * t305 * t1163; + const double t1168 = t675 * t488; + const double t1170 = t487 * t315; + const double t1171 = t328 * t1170; + const double t1174 = t5 * t1163; + const double t1175 = t328 * t1174; + const double t1178 = t498 * t708; + const double t1179 = t1178 * t344; + const double t1180 = t162 * t1179; + const double t1183 = t714 * t501; + const double t1185 = t498 * t127; + const double t1186 = t1185 * t315; + const double t1187 = t718 * t1186; + const double t1190 = t238 * t472; + const double t1191 = 0.4e1 * t1190; + const double t1192 = t243 * t472; + const double t1193 = 0.4e1 * t1192; + const double t1194 = t471 * t75; + const double t1195 = t1194 * t302; + const double t1196 = 0.58482233974552040708e0 * t1195; + const double t1197 = -t1119 - t619 - t1120 + t626 + t1143 + t1145 + t668 + t1191 - t1193 - t781 + t791 + t799 - t1196; + const double t1198 = 0.58482233974552040708e0 * t837; + const double t1199 = 0.4e1 * t848; + const double t1200 = 0.4e1 * t853; + const double t1201 = t1141 * t85; + const double t1202 = 0.19751789702565206229e-1 * t1201; + const double t1203 = -t835 - t1198 - t842 + t861 - t864 + t846 - t1199 - t851 - t1200 - t774 + t831 + t1202 + t871; + const double t1204 = t1197 + t1203; + const double t1208 = t491 * t138; + const double t1213 = t880 * t1; + const double t1214 = t123 * t483; + const double t1215 = t1214 * t315; + const double t1218 = t124 * t1163; + const double t1221 = -0.12897460341341234505e3 * t1204 * t121 * t124 + 0.38692381024023703515e3 * t1208 * t341 + 0.38692381024023703515e3 * t877 * t495 - 0.15476952409609481406e4 * t1213 * t1215 + 0.38692381024023703515e3 * t340 * t1218; + const double t1223 = t6 * t1221 * t127; + const double t1224 = t161 * t1223; + const double t1227 = t498 * t344; + const double t1228 = t1227 * t127; + const double t1229 = t162 * t1228; + const double t1234 = t483 * t344; + const double t1235 = t1234 * t127; + const double t1236 = t718 * t1235; + const double t1239 = t353 * t505; + const double t1241 = t130 * t334; + const double t1242 = t906 * t140; + const double t1243 = t6 * t483; + const double t1244 = t1243 * t315; + const double t1245 = t1242 * t1244; + const double t1248 = t141 * t1163; + const double t1249 = t358 * t1248; + const double t1252 = t674 + 0.7e1 / 0.144e3 * t676 + 0.7e1 / 0.144e3 * t1168 + t679 * t1171 / 0.16e2 - t327 * t1175 / 0.48e2 + 0.54332259311179736592e-2 * t705 * t1180 + 0.12677527172608605205e-1 * t1183 + 0.10866451862235947318e-1 * t335 * t1187 - 0.27166129655589868296e-2 * t335 * t1224 - 0.27166129655589868296e-2 * t335 * t1229 + 0.12677527172608605205e-1 * t715 + t902 + 0.5071010869043442082e-1 * t903 + 0.10866451862235947318e-1 * t335 * t1236 + 0.50710108690434420817e-1 * t1239 + 0.5433225931117973659e-1 * t1241 * t1245 - 0.10866451862235947318e-1 * t135 * t1249; + const double t1256 = t508 * t368; + const double t1263 = t106 * t145; + const double t1264 = t925 * t526; + const double t1265 = t1264 * t407; + const double t1268 = t146 * t391; + const double t1269 = t1268 * t112; + const double t1270 = t151 * t1179; + const double t1273 = t940 * t514; + const double t1275 = t946 * t1186; + const double t1279 = t5 * t1221 * t127; + const double t1280 = t374 * t1279; + const double t1283 = t151 * t1228; + const double t1288 = t946 * t1235; + const double t1291 = t964 * t518; + const double t1293 = t678 * t115; + const double t1294 = t1293 * t1170; + const double t1298 = t326 * t116 * t1163; + const double t1301 = 0.17386322979577515709e0 * t1269 * t1270 + 0.20284043476173768327e0 * t1273 + 0.17386322979577515709e0 * t944 * t1275 - 0.86931614897887578546e-1 * t372 * t1280 - 0.86931614897887578546e-1 * t944 * t1283 + 0.20284043476173768327e0 * t941 + t962 + 0.40568086952347536654e0 * t965 + 0.17386322979577515709e0 * t944 * t1288 + 0.40568086952347536654e0 * t1291 + 0.52158968938732547127e0 * t385 * t1294 - 0.17386322979577515709e0 * t385 * t1298; + const double t1302 = t155 * t976; + const double t1303 = t1302 * t334; + const double t1306 = t984 * t521; + const double t1310 = t395 * t1223; + const double t1319 = t1002 * t505; + const double t1321 = t907 * t140; + const double t1322 = t1321 * t1244; + const double t1327 = 0.45342634012527777558e-1 * t1303 * t1180 + 0.70532986241709876201e-1 * t1306 + 0.60456845350037036744e-1 * t988 * t1187 - 0.15114211337509259186e-1 * t394 * t1310 - 0.15114211337509259186e-1 * t988 * t1229 + 0.70532986241709876202e-1 * t985 + t1000 + 0.1410659724834197524e0 * t1003 + 0.60456845350037036744e-1 * t988 * t1236 + 0.1410659724834197524e0 * t1319 + 0.15114211337509259186e0 * t404 * t1322 - 0.30228422675018518372e-1 * t404 * t1249; + const double t1328 = t1301 + t1327; + const double t1332 = 0.27818116767324025134e1 * t106 * t1252 * t167 - 0.27818116767324025134e1 * t106 * t1256 * t407 - 0.27818116767324025134e1 * t106 * t920 * t526 + 0.55636233534648050268e1 * t1263 * t1265 - 0.27818116767324025134e1 * t106 * t369 * t1328; + const double t1335 = t95 * t104 * t1332 * t413; + const double t1337 = -t1119 - t619 - t1120 + t626 + 0.77534644304710291488e-2 * t1122 + t1143 + t1145 + t668 + 0.77534644304710291488e-2 * t1165 + 0.25844881434903430496e-2 * t1335 + t1191 - t1193; + const double t1338 = t530 * t413; + const double t1340 = t632 * t1338 * t315; + const double t1342 = t95 * t102; + const double t1343 = t172 * t483; + const double t1345 = t1342 * t1343 * t315; + const double t1347 = t537 * t439; + const double t1349 = t176 * t185; + const double t1350 = t102 * t108; + const double t1351 = t1350 * t110; + const double t1352 = t1349 * t1351; + const double t1355 = t544 * t454; + const double t1356 = t1355 * t201; + const double t1357 = t1354 * t1356; + const double t1358 = t1352 * t1357; + const double t1360 = t428 * t483; + const double t1362 = t176 * t1360 * t108; + const double t1363 = t1362 * t203; + const double t1365 = t185 * t1163; + const double t1367 = t176 * t1365 * t108; + const double t1368 = t1367 * t203; + const double t1370 = 0.77534644304710291488e-2 * t1340 + 0.15506928860942058298e-1 * t1345 - 0.7e1 / 0.6e1 * t1347 - t781 + t791 + t799 - t1196 + t1358 / 0.2e1 + t1363 / 0.2e1 + t1368 / 0.2e1 + t1020 - t1022; + const double t1374 = t95 * t104; + const double t1375 = t530 * t1095; + const double t1377 = t1374 * t1375 * t411; + const double t1379 = -0.7e1 / 0.6e1 * t1023 + t1047 + t1051 / 0.2e1 - t835 - t1198 - t842 - 0.25844881434903430496e-2 * t1377 + t861 - t864 + t846 - t1199 - t851; + const double t1380 = t1058 * t546; + const double t1381 = t188 * t1380; + const double t1383 = t537 * t457; + const double t1385 = t431 * t547; + const double t1387 = t436 * t547; + const double t1391 = t193 * t1066 * t540; + const double t1393 = t195 * t315; + const double t1397 = t197 * t1163; + const double t1401 = -t1065 + 0.2e3 / 0.27e2 * t1068 + 0.2e3 / 0.27e2 * t1391 - 0.25e2 / 0.9e1 * t193 * t1393 * t540 - 0.25e2 / 0.9e1 * t193 * t449 * t1397; + const double t1403 = t5 * t1401 * t201; + const double t1404 = t442 * t1403; + const double t1405 = t188 * t1404; + const double t1409 = -t1200 - t774 + t831 - 0.7e1 / 0.6e1 * t1381 + t1383 / 0.2e1 + t1385 / 0.2e1 + t1387 / 0.2e1 + t1405 / 0.2e1 - 0.7e1 / 0.6e1 * t1060 + t1084 / 0.2e1 + t1202 + t871; + const double t1414 = t459 + t475 + t1107 + t294 + t1109 + t259 + t1111 + t416 + t318 - t1115 - t1116; + const double t1415 = t530 * t530; + const double t1418 = t95 * t104 * t1415 * t1095; + const double t1419 = 0.25844881434903430496e-2 * t1418; + const double t1420 = 0.36623110073506319882e-3 * t1118; + const double t1421 = t462 * t462; + const double t1425 = 0.2e1 * t246 + 0.2e1 * t642; + const double t1429 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t637 * t1421 + 0.4e1 / 0.3e1 * t47 * t1425 ); + const double t1430 = t466 * t466; + const double t1433 = -t1425; + const double t1437 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t649 * t1430 + 0.4e1 / 0.3e1 * t52 * t1433 ); + const double t1439 = ( t1429 + t1437 ) * t59; + const double t1440 = t1439 * t87; + const double t1441 = t40 * t1440; + const double t1442 = 0.2e1 * t1145; + const double t1443 = 0.8e1 * t1190; + const double t1444 = 0.8e1 * t1192; + const double t1445 = t1338 * t483; + const double t1446 = t632 * t1445; + const double t1447 = 0.15506928860942058298e-1 * t1446; + const double t1448 = 0.7e1 / 0.3e1 * t1347; + const double t1454 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t684 * t1421 + 0.2e1 / 0.3e1 * t306 * t1425 ); + const double t1460 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t691 * t1430 + 0.2e1 / 0.3e1 * t310 * t1433 ); + const double t1462 = t1454 / 0.2e1 + t1460 / 0.2e1; + const double t1464 = t95 * t305 * t1462; + const double t1465 = 0.77534644304710291488e-2 * t1464; + const double t1466 = 0.11696446794910408142e1 * t1195; + const double t1468 = t483 * t483; + const double t1473 = t197 * t1462; + const double t1477 = -t1065 + 0.4e3 / 0.27e2 * t1391 - 0.25e2 / 0.9e1 * t193 * t195 * t1468 * t197 - 0.25e2 / 0.9e1 * t193 * t449 * t1473; + const double t1479 = t5 * t1477 * t201; + const double t1480 = t442 * t1479; + const double t1481 = t188 * t1480; + const double t1482 = t1481 / 0.2e1; + const double t1483 = t537 * t547; + const double t1484 = -t1419 - t1420 + t1441 - t619 + t626 + t1442 + t668 - t1443 - t1444 + t1447 - t1448 - t781 + t791 + t799 + t1465 - t1466 + t1363 + t1482 + t1483; + const double t1486 = t5 * t1468; + const double t1487 = t328 * t1486; + const double t1490 = t5 * t1462; + const double t1491 = t328 * t1490; + const double t1494 = t498 * t498; + const double t1495 = t6 * t1494; + const double t1496 = t1495 * t708; + const double t1497 = t161 * t1496; + const double t1501 = t1185 * t483; + const double t1502 = t718 * t1501; + const double t1505 = t1439 * t85; + const double t1506 = 0.19751789702565206229e-1 * t1505; + const double t1507 = t1506 + t1441 - t1466 + t1442 - t1443 - t1444 + t831 - t835 - t842 + t791 + t799; + const double t1508 = -t851 - t856 - t781 + t861 + t864 + t867 - t774 - t1420 + t668 - t619 + t626 + t871; + const double t1509 = t1507 + t1508; + const double t1515 = t124 * t1468; + const double t1518 = t124 * t1462; + const double t1521 = -0.12897460341341234505e3 * t1509 * t121 * t124 + 0.7738476204804740703e3 * t1208 * t495 - 0.15476952409609481406e4 * t880 * t1515 + 0.38692381024023703515e3 * t340 * t1518; + const double t1523 = t6 * t1521 * t127; + const double t1524 = t161 * t1523; + const double t1527 = t1495 * t127; + const double t1528 = t161 * t1527; + const double t1532 = t141 * t1468; + const double t1533 = t907 * t1532; + const double t1536 = t141 * t1462; + const double t1537 = t358 * t1536; + const double t1540 = t674 + 0.7e1 / 0.72e2 * t1168 + t679 * t1487 / 0.16e2 - t327 * t1491 / 0.48e2 + 0.54332259311179736592e-2 * t705 * t1497 + 0.2535505434521721041e-1 * t1183 + 0.21732903724471894636e-1 * t335 * t1502 - 0.27166129655589868296e-2 * t335 * t1524 - 0.27166129655589868296e-2 * t335 * t1528 + t902 + 0.10142021738086884164e0 * t1239 + 0.5433225931117973659e-1 * t135 * t1533 - 0.10866451862235947318e-1 * t135 * t1537; + const double t1547 = t526 * t526; + const double t1551 = t5 * t1494; + const double t1552 = t1551 * t708; + const double t1553 = t374 * t1552; + const double t1557 = t946 * t1501; + const double t1561 = t5 * t1521 * t127; + const double t1562 = t374 * t1561; + const double t1565 = t1551 * t127; + const double t1566 = t374 * t1565; + const double t1571 = t678 * t116 * t1468; + const double t1575 = t326 * t116 * t1462; + const double t1578 = t395 * t1496; + const double t1584 = t395 * t1523; + const double t1587 = t395 * t1527; + const double t1595 = 0.17386322979577515709e0 * t933 * t1553 + 0.40568086952347536654e0 * t1273 + 0.34772645959155031418e0 * t944 * t1557 - 0.86931614897887578546e-1 * t372 * t1562 - 0.86931614897887578546e-1 * t372 * t1566 + t962 + 0.81136173904695073308e0 * t1291 + 0.52158968938732547127e0 * t385 * t1571 - 0.17386322979577515709e0 * t385 * t1575 + 0.45342634012527777558e-1 * t979 * t1578 + 0.1410659724834197524e0 * t1306 + 0.12091369070007407349e0 * t988 * t1502 - 0.15114211337509259186e-1 * t394 * t1584 - 0.15114211337509259186e-1 * t394 * t1587 + t1000 + 0.2821319449668395048e0 * t1319 + 0.15114211337509259186e0 * t404 * t1533 - 0.30228422675018518372e-1 * t404 * t1537; + const double t1599 = 0.27818116767324025134e1 * t106 * t1540 * t167 - 0.55636233534648050268e1 * t106 * t1256 * t526 + 0.55636233534648050268e1 * t106 * t926 * t1547 - 0.27818116767324025134e1 * t106 * t369 * t1595; + const double t1602 = t95 * t104 * t1599 * t413; + const double t1603 = 0.25844881434903430496e-2 * t1602; + const double t1605 = t95 * t627 * t1468; + const double t1606 = 0.15506928860942058298e-1 * t1605; + const double t1607 = t185 * t1462; + const double t1609 = t176 * t1607 * t108; + const double t1610 = t1609 * t203; + const double t1611 = t1610 / 0.2e1; + const double t1612 = t544 * t544; + const double t1614 = t5 * t1612 * t201; + const double t1615 = t442 * t1614; + const double t1616 = t188 * t1615; + const double t1617 = t1616 / 0.2e1; + const double t1618 = 0.7e1 / 0.3e1 * t1381; + const double t1619 = t1020 - t1022 + t1047 + t1603 + t1606 - t835 - t842 + t1611 + t1506 + t861 + t864 + t867 - t856 - t851 - t774 + t831 + t1617 - t1618 + t1385 + t871; + const double t1626 = t576 * t413; + const double t1628 = t632 * t1626 * t315; + const double t1629 = 0.77534644304710291488e-2 * t1628; + const double t1631 = t380 * t113 * t553; + const double t1632 = 0.7e1 / 0.288e3 * t1631; + const double t1633 = t149 * t121; + const double t1634 = t1633 * t330; + const double t1636 = t556 * t136; + const double t1637 = t333 * t1636; + const double t1638 = t1637 * t347; + const double t1640 = t108 * t351; + const double t1641 = t130 * t1640; + const double t1642 = t1641 * t142; + const double t1643 = 0.2535505434521721041e-1 * t1642; + const double t1644 = t557 * t360; + const double t1646 = -t1632 - t1634 / 0.48e2 - 0.54332259311179736592e-2 * t1638 - t1643 - 0.21732903724471894637e-1 * t1644; + const double t1650 = t560 * t368; + const double t1657 = t925 * t572; + const double t1658 = t1657 * t407; + const double t1663 = t146 * t157 * t110 * t56; + const double t1664 = t150 * t376; + const double t1665 = t1663 * t1664; + const double t1667 = t129 * t321; + const double t1668 = t146 * t1667; + const double t1669 = t1668 * t566; + const double t1670 = 0.20284043476173768327e0 * t1669; + const double t1671 = t565 * t387; + const double t1674 = t155 * t931 * t133; + const double t1675 = t1674 * t396; + const double t1677 = t569 * t400; + const double t1678 = 0.70532986241709876201e-1 * t1677; + const double t1680 = t155 * t370 * t133; + const double t1681 = t1680 * t360; + const double t1683 = -0.86931614897887578546e-1 * t1665 - t1670 - 0.17386322979577515709e0 * t1671 - 0.30228422675018518372e-1 * t1675 - t1678 - 0.60456845350037036744e-1 * t1681; + const double t1687 = 0.27818116767324025134e1 * t106 * t1646 * t167 - 0.27818116767324025134e1 * t106 * t1650 * t407 - 0.27818116767324025134e1 * t106 * t920 * t572 + 0.55636233534648050268e1 * t1263 * t1658 - 0.27818116767324025134e1 * t106 * t369 * t1683; + const double t1690 = t95 * t104 * t1687 * t413; + const double t1691 = 0.25844881434903430496e-2 * t1690; + const double t1692 = t576 * t1095; + const double t1694 = t1374 * t1692 * t411; + const double t1695 = 0.25844881434903430496e-2 * t1694; + const double t1696 = t176 * t429; + const double t1697 = t1696 * t203; + const double t1698 = t1697 / 0.2e1; + const double t1699 = t176 * t434; + const double t1700 = t1699 * t203; + const double t1701 = t1700 / 0.2e1; + const double t1702 = t581 * t439; + const double t1703 = 0.7e1 / 0.6e1 * t1702; + const double t1705 = t176 * t186 * t110; + const double t1706 = t1353 * t456; + const double t1707 = t1705 * t1706; + const double t1708 = t1707 / 0.2e1; + const double t1709 = t428 * t104; + const double t1711 = t585 * t1709 * t108; + const double t1712 = t1711 * t592; + const double t1713 = 0.25e2 / 0.36e2 * t1712; + const double t1714 = t185 * t103; + const double t1716 = t585 * t1714 * t108; + const double t1717 = t589 * t6; + const double t1718 = t191 * t201; + const double t1719 = t1718 * t315; + const double t1720 = t1717 * t1719; + const double t1721 = t1716 * t1720; + const double t1722 = 0.25e2 / 0.12e2 * t1721; + const double t1723 = t858 * t136; + const double t1724 = t1723 * t591; + const double t1725 = t588 * t1724; + const double t1726 = 0.125e3 / 0.36e2 * t1725; + const double t1728 = t191 * t454 * t201; + const double t1729 = t1717 * t1728; + const double t1730 = t588 * t1729; + const double t1731 = 0.25e2 / 0.36e2 * t1730; + const double t1732 = t1629 + t1691 - t1695 + t1698 + t1701 - t1703 + t1708 - t1713 - t1722 + t1726 - t1731; + const double t1734 = t608 * t413; + const double t1736 = t632 * t1734 * t315; + const double t1737 = 0.77534644304710291488e-2 * t1736; + const double t1738 = 0.7e1 / 0.144e3 * t1631; + const double t1741 = 0.50710108690434420817e-1 * t1642; + const double t1743 = -t1738 - t1634 / 0.24e2 - 0.10866451862235947318e-1 * t1638 - t1741 - 0.43465807448943789272e-1 * t1644; + const double t1747 = t598 * t368; + const double t1754 = t925 * t604; + const double t1755 = t1754 * t407; + const double t1759 = 0.40568086952347536654e0 * t1669; + const double t1762 = 0.1410659724834197524e0 * t1677; + const double t1764 = -0.17386322979577515709e0 * t1665 - t1759 - 0.34772645959155031418e0 * t1671 - 0.60456845350037036744e-1 * t1675 - t1762 - 0.12091369070007407349e0 * t1681; + const double t1768 = 0.27818116767324025134e1 * t106 * t1743 * t167 - 0.27818116767324025134e1 * t106 * t1747 * t407 - 0.27818116767324025134e1 * t106 * t920 * t604 + 0.55636233534648050268e1 * t1263 * t1755 - 0.27818116767324025134e1 * t106 * t369 * t1764; + const double t1771 = t95 * t104 * t1768 * t413; + const double t1772 = 0.25844881434903430496e-2 * t1771; + const double t1773 = t608 * t1095; + const double t1775 = t1374 * t1773 * t411; + const double t1776 = 0.25844881434903430496e-2 * t1775; + const double t1777 = 0.7e1 / 0.3e1 * t1702; + const double t1778 = 0.25e2 / 0.18e2 * t1712; + const double t1779 = 0.25e2 / 0.6e1 * t1721; + const double t1780 = 0.125e3 / 0.18e2 * t1725; + const double t1781 = 0.25e2 / 0.18e2 * t1730; + const double t1782 = t1737 + t1772 - t1776 + t1697 + t1700 - t1777 + t1707 - t1778 - t1779 + t1780 - t1781; + const double t1784 = t1626 * t483; + const double t1785 = t632 * t1784; + const double t1786 = 0.77534644304710291488e-2 * t1785; + const double t1787 = t1633 * t488; + const double t1789 = t1637 * t501; + const double t1791 = t557 * t505; + const double t1793 = -t1632 - t1787 / 0.48e2 - 0.54332259311179736592e-2 * t1789 - t1643 - 0.21732903724471894637e-1 * t1791; + const double t1803 = t1657 * t526; + const double t1806 = t150 * t513; + const double t1807 = t1663 * t1806; + const double t1809 = t565 * t518; + const double t1811 = t1674 * t521; + const double t1813 = t1680 * t505; + const double t1815 = -0.86931614897887578546e-1 * t1807 - t1670 - 0.17386322979577515709e0 * t1809 - 0.30228422675018518372e-1 * t1811 - t1678 - 0.60456845350037036744e-1 * t1813; + const double t1819 = 0.27818116767324025134e1 * t106 * t1793 * t167 - 0.27818116767324025134e1 * t106 * t1650 * t526 - 0.27818116767324025134e1 * t106 * t1256 * t572 + 0.55636233534648050268e1 * t1263 * t1803 - 0.27818116767324025134e1 * t106 * t369 * t1815; + const double t1822 = t95 * t104 * t1819 * t413; + const double t1823 = 0.25844881434903430496e-2 * t1822; + const double t1825 = t1374 * t1692 * t530; + const double t1826 = 0.25844881434903430496e-2 * t1825; + const double t1827 = t176 * t535; + const double t1828 = t1827 * t203; + const double t1829 = t1828 / 0.2e1; + const double t1830 = t1353 * t546; + const double t1831 = t1705 * t1830; + const double t1832 = t1831 / 0.2e1; + const double t1833 = t1718 * t483; + const double t1834 = t1717 * t1833; + const double t1835 = t1716 * t1834; + const double t1836 = 0.25e2 / 0.12e2 * t1835; + const double t1838 = t191 * t544 * t201; + const double t1839 = t1717 * t1838; + const double t1840 = t588 * t1839; + const double t1841 = 0.25e2 / 0.36e2 * t1840; + const double t1842 = t1786 + t1823 - t1826 + t1698 + t1829 - t1703 + t1832 - t1713 - t1836 + t1726 - t1841; + const double t1844 = t1734 * t483; + const double t1845 = t632 * t1844; + const double t1846 = 0.77534644304710291488e-2 * t1845; + const double t1850 = -t1738 - t1787 / 0.24e2 - 0.10866451862235947318e-1 * t1789 - t1741 - 0.43465807448943789272e-1 * t1791; + const double t1860 = t1754 * t526; + const double t1867 = -0.17386322979577515709e0 * t1807 - t1759 - 0.34772645959155031418e0 * t1809 - 0.60456845350037036744e-1 * t1811 - t1762 - 0.12091369070007407349e0 * t1813; + const double t1871 = 0.27818116767324025134e1 * t106 * t1850 * t167 - 0.27818116767324025134e1 * t106 * t1747 * t526 - 0.27818116767324025134e1 * t106 * t1256 * t604 + 0.55636233534648050268e1 * t1263 * t1860 - 0.27818116767324025134e1 * t106 * t369 * t1867; + const double t1874 = t95 * t104 * t1871 * t413; + const double t1875 = 0.25844881434903430496e-2 * t1874; + const double t1877 = t1374 * t1773 * t530; + const double t1878 = 0.25844881434903430496e-2 * t1877; + const double t1879 = 0.25e2 / 0.6e1 * t1835; + const double t1880 = 0.25e2 / 0.18e2 * t1840; + const double t1881 = t1846 + t1875 - t1878 + t1697 + t1828 - t1777 + t1831 - t1778 - t1879 + t1780 - t1880; + const double t1883 = t129 * t133; + const double t1885 = t141 * t167; + const double t1886 = t139 * t1885; + const double t1887 = t155 * t1883 * t1886; + const double t1892 = t572 * t572; + const double t1896 = t1 * t145; + const double t1897 = t368 * t157; + const double t1898 = t1896 * t1897; + const double t1899 = t1898 * t163; + const double t1901 = 0.15114211337509259186e-1 * t1887 - 0.55636233534648050268e1 * t106 * t1650 * t572 + 0.55636233534648050268e1 * t106 * t926 * t1892 - 0.12780113936069355903e-1 * t1899; + const double t1905 = 0.25844881434903430496e-2 * t95 * t104 * t1901 * t413; + const double t1906 = t576 * t576; + const double t1910 = 0.25844881434903430496e-2 * t95 * t104 * t1906 * t1095; + const double t1911 = t585 * t586; + const double t1912 = t1911 * t592; + const double t1913 = 0.25e2 / 0.18e2 * t1912; + const double t1916 = 0.1e1 / t92 / M_PI * t93; + const double t1917 = t185 * t356; + const double t1918 = t1916 * t1917; + const double t1919 = t38 * t319; + const double t1921 = 0.1e1 / t22 / t1919; + const double t1922 = t108 * t1921; + const double t1924 = t190 * t3 * t201; + const double t1925 = t1922 * t1924; + const double t1926 = t1918 * t1925; + const double t1927 = 0.625e3 / 0.9e1 * t1926; + const double t1936 = t1754 * t572; + const double t1940 = 0.30228422675018518372e-1 * t1887 - 0.27818116767324025134e1 * t106 * t1747 * t572 - 0.27818116767324025134e1 * t106 * t1650 * t604 + 0.55636233534648050268e1 * t1263 * t1936 - 0.25560227872138711807e-1 * t1899; + const double t1944 = 0.25844881434903430496e-2 * t95 * t104 * t1940 * t413; + const double t1947 = 0.25844881434903430496e-2 * t1374 * t1773 * t576; + const double t1948 = 0.25e2 / 0.9e1 * t1912; + const double t1949 = 0.125e4 / 0.9e1 * t1926; + const double t1955 = t604 * t604; + const double t1960 = 0.60456845350037036744e-1 * t1887 - 0.55636233534648050268e1 * t106 * t1747 * t604 + 0.55636233534648050268e1 * t106 * t926 * t1955 - 0.51120455744277423612e-1 * t1899; + const double t1964 = 0.25844881434903430496e-2 * t95 * t104 * t1960 * t413; + const double t1965 = t608 * t608; + const double t1969 = 0.25844881434903430496e-2 * t95 * t104 * t1965 * t1095; + const double t1970 = 0.5e2 / 0.9e1 * t1912; + const double t1971 = 0.25e4 / 0.9e1 * t1926; + + + vrho_a = t7 * t460 + t175 + t205 - t33 + t89 + t91; + vrho_b = t7 * t550 + t175 + t205 - t33 + t89 + t91; + vsigma_aa = t7 * ( t580 + t583 - t594 ); + vsigma_ab = t7 * ( t612 + t582 - t613 ); + vsigma_bb = vsigma_aa; + v2rho2_aa = t7 * ( t1057 + t1102 ) + t432 + t437 - t1105 - t1106 + t458 + t1107 + 0.39503579405130412458e-1 * t293 + t1109 + 0.2e1 * t259 + t1111 + 0.51689762869806860992e-2 * t415 + 0.15506928860942058298e-1 * t317 + t1114 - t1115 - t1116; + v2rho2_ab = t7 * ( t1337 + t1370 + t1379 + t1409 ) + t549 + t534 + t486 + t473 + t539 + t432 + t438 - t1105 - t1106 + t1414; + v2rho2_bb = t7 * ( t1484 + t1619 ) + t548 + 0.51689762869806860992e-2 * t533 + 0.15506928860942058298e-1 * t485 + 0.2e1 * t473 + t538 + t432 - t1105 - t1106 + 0.39503579405130412458e-1 * t474 + t1107 + t1109 + t1111 - t1114 - t1115 - t1116; + v2rhosigma_a_aa = t7 * t1732 + t580 + t583 - t594; + v2rhosigma_a_ab = t7 * t1782 + t582 + t612 - t613; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t7 * t1842 + t580 + t583 - t594; + v2rhosigma_b_ab = t7 * t1881 + t582 + t612 - t613; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t7 * ( t1905 - t1910 - t1913 + t1927 ); + v2sigma2_aa_ab = t7 * ( t1944 - t1947 - t1948 + t1949 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t7 * ( t1964 - t1969 - t1970 + t1971 ); + v2sigma2_ab_bb = v2sigma2_aa_ab; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + +}; + +struct BuiltinPW91_C : detail::BuiltinKernelImpl< BuiltinPW91_C > { + + BuiltinPW91_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinPW91_C >(p) { } + + virtual ~BuiltinPW91_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pw91_lda.hpp b/include/exchcxx/impl/builtin/kernels/pw91_lda.hpp index 3b38544..5570b96 100644 --- a/include/exchcxx/impl/builtin/kernels/pw91_lda.hpp +++ b/include/exchcxx/impl/builtin/kernels/pw91_lda.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPW91_LDA > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double pp_0 = 1.; static constexpr double pp_1 = 1.; @@ -57,7 +106,6 @@ struct kernel_traits< BuiltinPW91_LDA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -117,7 +165,6 @@ struct kernel_traits< BuiltinPW91_LDA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -202,10 +249,296 @@ struct kernel_traits< BuiltinPW91_LDA > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t52 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t17 = 0.1e1 / t1; + constexpr double t18 = beta1_0; + constexpr double t19 = t3 * t6; + constexpr double t26 = beta2_0 * t3; + constexpr double t29 = beta3_0; + constexpr double t36 = pp_0 + 0.1e1; + constexpr double t57 = a_2; + constexpr double t59 = alpha1_2; + constexpr double t60 = t59 * t3; + constexpr double t64 = 0.1e1 / t57; + constexpr double t65 = beta1_2; + constexpr double t69 = beta2_2 * t3; + constexpr double t72 = beta3_2; + constexpr double t77 = pp_2 + 0.1e1; + constexpr double t87 = 0.1e1 / fz20; + constexpr double t94 = t1 * t2 * t3; + constexpr double t168 = t4 * t9; + constexpr double t183 = t3 * t3; + constexpr double t185 = t6 * t6; + constexpr double t186 = t185 * t7; + constexpr double t205 = t36 * t36; + constexpr double t260 = t77 * t77; + constexpr double t278 = t87 * t64; + + + const double t10 = safe_math::cbrt( rho ); + const double t11 = 0.1e1 / t10; + const double t12 = t9 * t11; + const double t15 = 0.1e1 + t4 * t12 / 0.4e1; + const double t21 = t19 * t8 * t11; + const double t22 = safe_math::sqrt( t21 ); + const double t30 = pow_3_2( t21 ); + const double t34 = t21 / 0.4e1; + const double t37 = safe_math::pow( t34, t36 ); + const double t38 = beta4_0 * t37; + const double t39 = t18 * t22 / 0.2e1 + t26 * t12 / 0.4e1 + 0.125e0 * t29 * t30 + t38; + const double t43 = 0.1e1 + t17 / t39 / 0.2e1; + const double t44 = safe_math::log( t43 ); + const double t47 = safe_math::cbrt( zeta_tol ); + const double t49 = piecewise_functor_3( 0.1e1 <= zeta_tol, t47 * zeta_tol, 1.0 ); + const double t56 = ( 0.2e1 * t49 - 0.2e1 ) / ( 0.2e1 * t52 - 0.2e1 ); + const double t63 = 0.1e1 + t60 * t12 / 0.4e1; + const double t78 = safe_math::pow( t34, t77 ); + const double t79 = beta4_2 * t78; + const double t80 = t65 * t22 / 0.2e1 + t69 * t12 / 0.4e1 + 0.125e0 * t72 * t30 + t79; + const double t84 = 0.1e1 + t64 / t80 / 0.2e1; + const double t85 = safe_math::log( t84 ); + const double t96 = 0.1e1 / t10 / rho; + const double t99 = t94 * t9 * t96 * t44; + const double t101 = t39 * t39; + const double t102 = 0.1e1 / t101; + const double t103 = t15 * t102; + const double t104 = 0.1e1 / t22; + const double t106 = t18 * t104 * t3; + const double t107 = t9 * t96; + const double t112 = safe_math::sqrt( t21 ); + const double t114 = t29 * t112 * t3; + const double t117 = 0.1e1 / rho; + const double t121 = -t106 * t107 / 0.12e2 - t26 * t107 / 0.12e2 - 0.625e-1 * t114 * t107 - t38 * t36 * t117 / 0.3e1; + const double t122 = 0.1e1 / t43; + const double t123 = t121 * t122; + const double t124 = t103 * t123; + const double t127 = t56 * t57 * t59 * t3; + const double t131 = t127 * t9 * t96 * t85 * t87; + const double t133 = t56 * t63; + const double t134 = t80 * t80; + const double t135 = 0.1e1 / t134; + const double t137 = t65 * t104 * t3; + const double t143 = t72 * t112 * t3; + const double t149 = -t137 * t107 / 0.12e2 - t69 * t107 / 0.12e2 - 0.625e-1 * t143 * t107 - t79 * t77 * t117 / 0.3e1; + const double t151 = 0.1e1 / t84; + const double t152 = t151 * t87; + const double t154 = t133 * t135 * t149 * t152; + const double t161 = rho * rho; + const double t163 = 0.1e1 / t10 / t161; + const double t166 = t94 * t9 * t163 * t44; + const double t169 = t96 * t102; + const double t171 = t168 * t169 * t123; + const double t173 = t101 * t39; + const double t174 = 0.1e1 / t173; + const double t175 = t15 * t174; + const double t176 = t121 * t121; + const double t177 = t176 * t122; + const double t178 = t175 * t177; + const double t181 = 0.1e1 / t22 / t21; + const double t184 = t18 * t181 * t183; + const double t187 = t10 * t10; + const double t190 = t186 / t187 / t161; + const double t193 = t9 * t163; + const double t198 = 0.1e1/safe_math::sqrt( t21 ); + const double t200 = t29 * t198 * t183; + const double t206 = 0.1e1 / t161; + const double t213 = -t184 * t190 / 0.18e2 + t106 * t193 / 0.9e1 + t26 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t200 * t190 + 0.83333333333333333333e-1 * t114 * t193 + t38 * t205 * t206 / 0.9e1 + t38 * t36 * t206 / 0.3e1; + const double t214 = t213 * t122; + const double t215 = t103 * t214; + const double t216 = t101 * t101; + const double t217 = 0.1e1 / t216; + const double t218 = t15 * t217; + const double t219 = t43 * t43; + const double t220 = 0.1e1 / t219; + const double t222 = t176 * t220 * t17; + const double t223 = t218 * t222; + const double t228 = t127 * t9 * t163 * t85 * t87; + const double t231 = t56 * t60 * t6; + const double t232 = t8 * t96; + const double t233 = t232 * t135; + const double t234 = t149 * t151; + const double t235 = t234 * t87; + const double t237 = t231 * t233 * t235; + const double t239 = t134 * t80; + const double t240 = 0.1e1 / t239; + const double t241 = t149 * t149; + const double t244 = t133 * t240 * t241 * t152; + const double t247 = t65 * t181 * t183; + const double t255 = t72 * t198 * t183; + const double t267 = -t247 * t190 / 0.18e2 + t137 * t193 / 0.9e1 + t69 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t255 * t190 + 0.83333333333333333333e-1 * t143 * t193 + t79 * t260 * t206 / 0.9e1 + t79 * t77 * t206 / 0.3e1; + const double t270 = t133 * t135 * t267 * t152; + const double t271 = t134 * t134; + const double t272 = 0.1e1 / t271; + const double t274 = t56 * t63 * t272; + const double t275 = t84 * t84; + const double t276 = 0.1e1 / t275; + const double t277 = t241 * t276; + const double t280 = t274 * t277 * t278; + + + v2rho2 = t99 / 0.3e1 + 0.2e1 * t124 - t131 / 0.3e1 - 0.2e1 * t154 + rho * ( -0.2e1 / 0.9e1 * t166 - t171 / 0.6e1 - 0.2e1 * t178 + t215 + t223 / 0.2e1 + 0.2e1 / 0.9e1 * t228 + t237 / 0.6e1 + 0.2e1 * t244 - t270 - t280 / 0.2e1 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t52 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t17 = 0.1e1 / t1; + constexpr double t18 = beta1_0; + constexpr double t19 = t3 * t6; + constexpr double t26 = beta2_0 * t3; + constexpr double t29 = beta3_0; + constexpr double t36 = pp_0 + 0.1e1; + constexpr double t57 = a_2; + constexpr double t59 = alpha1_2; + constexpr double t60 = t59 * t3; + constexpr double t64 = 0.1e1 / t57; + constexpr double t65 = beta1_2; + constexpr double t69 = beta2_2 * t3; + constexpr double t72 = beta3_2; + constexpr double t77 = pp_2 + 0.1e1; + constexpr double t87 = 0.1e1 / fz20; + constexpr double t94 = t1 * t2 * t3; + constexpr double t168 = t4 * t9; + constexpr double t183 = t3 * t3; + constexpr double t185 = t6 * t6; + constexpr double t186 = t185 * t7; + constexpr double t205 = t36 * t36; + constexpr double t260 = t77 * t77; + constexpr double t278 = t87 * t64; + + + const double t10 = safe_math::cbrt( rho ); + const double t11 = 0.1e1 / t10; + const double t12 = t9 * t11; + const double t15 = 0.1e1 + t4 * t12 / 0.4e1; + const double t21 = t19 * t8 * t11; + const double t22 = safe_math::sqrt( t21 ); + const double t30 = pow_3_2( t21 ); + const double t34 = t21 / 0.4e1; + const double t37 = safe_math::pow( t34, t36 ); + const double t38 = beta4_0 * t37; + const double t39 = t18 * t22 / 0.2e1 + t26 * t12 / 0.4e1 + 0.125e0 * t29 * t30 + t38; + const double t43 = 0.1e1 + t17 / t39 / 0.2e1; + const double t44 = safe_math::log( t43 ); + const double t45 = t1 * t15 * t44; + const double t47 = safe_math::cbrt( zeta_tol ); + const double t49 = piecewise_functor_3( 0.1e1 <= zeta_tol, t47 * zeta_tol, 1.0 ); + const double t56 = ( 0.2e1 * t49 - 0.2e1 ) / ( 0.2e1 * t52 - 0.2e1 ); + const double t63 = 0.1e1 + t60 * t12 / 0.4e1; + const double t78 = safe_math::pow( t34, t77 ); + const double t79 = beta4_2 * t78; + const double t80 = t65 * t22 / 0.2e1 + t69 * t12 / 0.4e1 + 0.125e0 * t72 * t30 + t79; + const double t84 = 0.1e1 + t64 / t80 / 0.2e1; + const double t85 = safe_math::log( t84 ); + const double t89 = t56 * t57 * t63 * t85 * t87; + const double t96 = 0.1e1 / t10 / rho; + const double t99 = t94 * t9 * t96 * t44; + const double t101 = t39 * t39; + const double t102 = 0.1e1 / t101; + const double t103 = t15 * t102; + const double t104 = 0.1e1 / t22; + const double t106 = t18 * t104 * t3; + const double t107 = t9 * t96; + const double t112 = safe_math::sqrt( t21 ); + const double t114 = t29 * t112 * t3; + const double t117 = 0.1e1 / rho; + const double t121 = -t106 * t107 / 0.12e2 - t26 * t107 / 0.12e2 - 0.625e-1 * t114 * t107 - t38 * t36 * t117 / 0.3e1; + const double t122 = 0.1e1 / t43; + const double t123 = t121 * t122; + const double t124 = t103 * t123; + const double t127 = t56 * t57 * t59 * t3; + const double t131 = t127 * t9 * t96 * t85 * t87; + const double t133 = t56 * t63; + const double t134 = t80 * t80; + const double t135 = 0.1e1 / t134; + const double t137 = t65 * t104 * t3; + const double t143 = t72 * t112 * t3; + const double t149 = -t137 * t107 / 0.12e2 - t69 * t107 / 0.12e2 - 0.625e-1 * t143 * t107 - t79 * t77 * t117 / 0.3e1; + const double t151 = 0.1e1 / t84; + const double t152 = t151 * t87; + const double t154 = t133 * t135 * t149 * t152; + const double t161 = rho * rho; + const double t163 = 0.1e1 / t10 / t161; + const double t166 = t94 * t9 * t163 * t44; + const double t169 = t96 * t102; + const double t171 = t168 * t169 * t123; + const double t173 = t101 * t39; + const double t174 = 0.1e1 / t173; + const double t175 = t15 * t174; + const double t176 = t121 * t121; + const double t177 = t176 * t122; + const double t178 = t175 * t177; + const double t181 = 0.1e1 / t22 / t21; + const double t184 = t18 * t181 * t183; + const double t187 = t10 * t10; + const double t190 = t186 / t187 / t161; + const double t193 = t9 * t163; + const double t198 = 0.1e1/safe_math::sqrt( t21 ); + const double t200 = t29 * t198 * t183; + const double t206 = 0.1e1 / t161; + const double t213 = -t184 * t190 / 0.18e2 + t106 * t193 / 0.9e1 + t26 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t200 * t190 + 0.83333333333333333333e-1 * t114 * t193 + t38 * t205 * t206 / 0.9e1 + t38 * t36 * t206 / 0.3e1; + const double t214 = t213 * t122; + const double t215 = t103 * t214; + const double t216 = t101 * t101; + const double t217 = 0.1e1 / t216; + const double t218 = t15 * t217; + const double t219 = t43 * t43; + const double t220 = 0.1e1 / t219; + const double t222 = t176 * t220 * t17; + const double t223 = t218 * t222; + const double t228 = t127 * t9 * t163 * t85 * t87; + const double t231 = t56 * t60 * t6; + const double t232 = t8 * t96; + const double t233 = t232 * t135; + const double t234 = t149 * t151; + const double t235 = t234 * t87; + const double t237 = t231 * t233 * t235; + const double t239 = t134 * t80; + const double t240 = 0.1e1 / t239; + const double t241 = t149 * t149; + const double t244 = t133 * t240 * t241 * t152; + const double t247 = t65 * t181 * t183; + const double t255 = t72 * t198 * t183; + const double t267 = -t247 * t190 / 0.18e2 + t137 * t193 / 0.9e1 + t69 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t255 * t190 + 0.83333333333333333333e-1 * t143 * t193 + t79 * t260 * t206 / 0.9e1 + t79 * t77 * t206 / 0.3e1; + const double t270 = t133 * t135 * t267 * t152; + const double t271 = t134 * t134; + const double t272 = 0.1e1 / t271; + const double t274 = t56 * t63 * t272; + const double t275 = t84 * t84; + const double t276 = 0.1e1 / t275; + const double t277 = t241 * t276; + const double t280 = t274 * t277 * t278; + + + vrho = -0.2e1 * t45 + 0.2e1 * t89 + rho * ( t99 / 0.6e1 + t124 - t131 / 0.6e1 - t154 ); + v2rho2 = t99 / 0.3e1 + 0.2e1 * t124 - t131 / 0.3e1 - 0.2e1 * t154 + rho * ( -0.2e1 / 0.9e1 * t166 - t171 / 0.6e1 - 0.2e1 * t178 + t215 + t223 / 0.2e1 + 0.2e1 / 0.9e1 * t228 + t237 / 0.6e1 + 0.2e1 * t244 - t270 - t280 / 0.2e1 ); + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -305,7 +638,6 @@ struct kernel_traits< BuiltinPW91_LDA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -481,6 +813,742 @@ struct kernel_traits< BuiltinPW91_LDA > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t70 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t18 = 0.1e1 / t1; + constexpr double t19 = beta1_0; + constexpr double t20 = t3 * t6; + constexpr double t27 = beta2_0 * t3; + constexpr double t30 = beta3_0; + constexpr double t37 = pp_0 + 0.1e1; + constexpr double t75 = a_1; + constexpr double t76 = alpha1_1; + constexpr double t77 = t76 * t3; + constexpr double t82 = 0.1e1 / t75; + constexpr double t83 = beta1_1; + constexpr double t87 = beta2_1 * t3; + constexpr double t90 = beta3_1; + constexpr double t95 = pp_1 + 0.1e1; + constexpr double t105 = a_2; + constexpr double t106 = alpha1_2; + constexpr double t107 = t106 * t3; + constexpr double t112 = 0.1e1 / t105; + constexpr double t113 = beta1_2; + constexpr double t117 = beta2_2 * t3; + constexpr double t120 = beta3_2; + constexpr double t125 = pp_2 + 0.1e1; + constexpr double t134 = 0.1e1 / fz20; + constexpr double t147 = t1 * t2 * t3; + constexpr double t201 = t75 * t76 * t3; + constexpr double t226 = t105 * t106; + constexpr double t227 = t226 * t20; + constexpr double t259 = t226 * t3; + constexpr double t302 = t3 * t3; + constexpr double t304 = t6 * t6; + constexpr double t305 = t304 * t7; + constexpr double t326 = t37 * t37; + constexpr double t364 = t125 * t125; + constexpr double t435 = t77 * t9; + constexpr double t461 = t95 * t95; + constexpr double t484 = t4 * t9; + constexpr double t493 = t107 * t9; + constexpr double t528 = t134 * t112; + constexpr double t543 = t107 * t6; + + + const double t10 = rho_a + rho_b; + const double t11 = safe_math::cbrt( t10 ); + const double t12 = 0.1e1 / t11; + const double t13 = t9 * t12; + const double t16 = 0.1e1 + t4 * t13 / 0.4e1; + const double t22 = t20 * t8 * t12; + const double t23 = safe_math::sqrt( t22 ); + const double t31 = pow_3_2( t22 ); + const double t35 = t22 / 0.4e1; + const double t38 = safe_math::pow( t35, t37 ); + const double t39 = beta4_0 * t38; + const double t40 = t19 * t23 / 0.2e1 + t27 * t13 / 0.4e1 + 0.125e0 * t30 * t31 + t39; + const double t44 = 0.1e1 + t18 / t40 / 0.2e1; + const double t45 = safe_math::log( t44 ); + const double t46 = t1 * t16 * t45; + const double t48 = rho_a - rho_b; + const double t49 = t48 * t48; + const double t50 = t49 * t49; + const double t51 = t10 * t10; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t54 = t50 * t53; + const double t55 = 0.1e1 / t10; + const double t56 = t48 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t73 = 0.1e1 / ( 0.2e1 * t70 - 0.2e1 ); + const double t74 = t69 * t73; + const double t80 = 0.1e1 + t77 * t13 / 0.4e1; + const double t96 = safe_math::pow( t35, t95 ); + const double t97 = beta4_1 * t96; + const double t98 = t83 * t23 / 0.2e1 + t87 * t13 / 0.4e1 + 0.125e0 * t90 * t31 + t97; + const double t102 = 0.1e1 + t82 / t98 / 0.2e1; + const double t103 = safe_math::log( t102 ); + const double t110 = 0.1e1 + t107 * t13 / 0.4e1; + const double t126 = safe_math::pow( t35, t125 ); + const double t127 = beta4_2 * t126; + const double t128 = t113 * t23 / 0.2e1 + t117 * t13 / 0.4e1 + 0.125e0 * t120 * t31 + t127; + const double t132 = 0.1e1 + t112 / t128 / 0.2e1; + const double t133 = safe_math::log( t132 ); + const double t135 = t133 * t134; + const double t138 = -0.2e1 * t75 * t80 * t103 - 0.2e1 * t105 * t110 * t135 + 0.2e1 * t46; + const double t139 = t74 * t138; + const double t143 = t110 * t133 * t134; + const double t149 = 0.1e1 / t11 / t10; + const double t152 = t147 * t9 * t149 * t45; + const double t153 = t152 / 0.6e1; + const double t154 = t40 * t40; + const double t155 = 0.1e1 / t154; + const double t156 = t16 * t155; + const double t157 = 0.1e1 / t23; + const double t159 = t19 * t157 * t3; + const double t160 = t9 * t149; + const double t165 = safe_math::sqrt( t22 ); + const double t167 = t30 * t165 * t3; + const double t173 = -t159 * t160 / 0.12e2 - t27 * t160 / 0.12e2 - 0.625e-1 * t167 * t160 - t39 * t37 * t55 / 0.3e1; + const double t174 = 0.1e1 / t44; + const double t175 = t173 * t174; + const double t176 = t156 * t175; + const double t177 = t49 * t48; + const double t178 = t177 * t53; + const double t179 = t178 * t139; + const double t181 = t52 * t10; + const double t182 = 0.1e1 / t181; + const double t183 = t50 * t182; + const double t184 = t183 * t139; + const double t186 = 0.1e1 / t51; + const double t187 = t48 * t186; + const double t188 = t55 - t187; + const double t191 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t188 ); + const double t192 = -t188; + const double t195 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t192 ); + const double t197 = ( t191 + t195 ) * t73; + const double t198 = t197 * t138; + const double t199 = t54 * t198; + const double t206 = t98 * t98; + const double t207 = 0.1e1 / t206; + const double t208 = t80 * t207; + const double t210 = t83 * t157 * t3; + const double t216 = t90 * t165 * t3; + const double t222 = -t210 * t160 / 0.12e2 - t87 * t160 / 0.12e2 - 0.625e-1 * t216 * t160 - t97 * t95 * t55 / 0.3e1; + const double t223 = 0.1e1 / t102; + const double t224 = t222 * t223; + const double t228 = t8 * t149; + const double t232 = t128 * t128; + const double t233 = 0.1e1 / t232; + const double t234 = t110 * t233; + const double t236 = t113 * t157 * t3; + const double t242 = t120 * t165 * t3; + const double t248 = -t236 * t160 / 0.12e2 - t117 * t160 / 0.12e2 - 0.625e-1 * t242 * t160 - t127 * t125 * t55 / 0.3e1; + const double t249 = 0.1e1 / t132; + const double t251 = t248 * t249 * t134; + const double t253 = t201 * t9 * t149 * t103 / 0.6e1 + t208 * t224 - t153 - t176 + t227 * t228 * t135 / 0.6e1 + t234 * t251; + const double t254 = t74 * t253; + const double t255 = t54 * t254; + const double t257 = t197 * t105 * t143; + const double t258 = 0.2e1 * t257; + const double t260 = t74 * t259; + const double t263 = t9 * t149 * t133 * t134; + const double t264 = t260 * t263; + const double t266 = t74 * t110; + const double t268 = t249 * t134; + const double t269 = t233 * t248 * t268; + const double t270 = t266 * t269; + const double t273 = -t55 - t187; + const double t276 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t273 ); + const double t277 = -t273; + const double t280 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t277 ); + const double t282 = ( t276 + t280 ) * t73; + const double t283 = t282 * t138; + const double t284 = t54 * t283; + const double t286 = t282 * t105 * t143; + const double t287 = 0.2e1 * t286; + const double t290 = t152 / 0.3e1; + const double t291 = 0.2e1 * t176; + const double t292 = 0.8e1 * t179; + const double t293 = 0.8e1 * t184; + const double t295 = 0.2e1 * t255; + const double t297 = t264 / 0.3e1; + const double t298 = 0.2e1 * t270; + const double t300 = 0.1e1 / t23 / t22; + const double t303 = t19 * t300 * t302; + const double t306 = t11 * t11; + const double t309 = t305 / t306 / t51; + const double t313 = 0.1e1 / t11 / t51; + const double t314 = t9 * t313; + const double t319 = 0.1e1/safe_math::sqrt( t22 ); + const double t321 = t30 * t319 * t302; + const double t333 = -t303 * t309 / 0.18e2 + t159 * t314 / 0.9e1 + t27 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t321 * t309 + 0.83333333333333333333e-1 * t167 * t314 + t39 * t326 * t186 / 0.9e1 + t39 * t37 * t186 / 0.3e1; + const double t334 = t333 * t174; + const double t335 = t156 * t334; + const double t336 = t49 * t53; + const double t337 = t336 * t139; + const double t338 = 0.12e2 * t337; + const double t339 = t177 * t182; + const double t340 = t339 * t139; + const double t341 = 0.32e2 * t340; + const double t343 = 0.1e1 / t52 / t51; + const double t344 = t50 * t343; + const double t345 = t344 * t139; + const double t346 = 0.2e2 * t345; + const double t347 = t197 * t110; + const double t348 = t347 * t269; + const double t349 = 0.2e1 * t348; + const double t351 = t113 * t300 * t302; + const double t359 = t120 * t319 * t302; + const double t371 = -t351 * t309 / 0.18e2 + t236 * t314 / 0.9e1 + t117 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t359 * t309 + 0.83333333333333333333e-1 * t242 * t314 + t127 * t364 * t186 / 0.9e1 + t127 * t125 * t186 / 0.3e1; + const double t373 = t233 * t371 * t268; + const double t374 = t266 * t373; + const double t375 = t154 * t40; + const double t376 = 0.1e1 / t375; + const double t377 = t16 * t376; + const double t378 = t173 * t173; + const double t379 = t378 * t174; + const double t380 = t377 * t379; + const double t381 = 0.2e1 * t380; + const double t382 = t154 * t154; + const double t383 = 0.1e1 / t382; + const double t384 = t16 * t383; + const double t385 = t44 * t44; + const double t386 = 0.1e1 / t385; + const double t388 = t378 * t386 * t18; + const double t389 = t384 * t388; + const double t390 = t389 / 0.2e1; + const double t391 = t178 * t198; + const double t392 = 0.8e1 * t391; + const double t393 = t178 * t254; + const double t394 = 0.8e1 * t393; + const double t395 = t183 * t198; + const double t396 = 0.8e1 * t395; + const double t397 = t335 + t338 - t341 + t346 - t349 - t374 - t381 + t390 + t392 + t394 - t396; + const double t398 = t183 * t254; + const double t399 = 0.8e1 * t398; + const double t400 = t61 * t61; + const double t401 = 0.1e1 / t400; + const double t402 = t188 * t188; + const double t405 = t51 * t10; + const double t406 = 0.1e1 / t405; + const double t407 = t48 * t406; + const double t409 = -0.2e1 * t186 + 0.2e1 * t407; + const double t413 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t402 + 0.4e1 / 0.3e1 * t61 * t409 ); + const double t414 = t66 * t66; + const double t415 = 0.1e1 / t414; + const double t416 = t192 * t192; + const double t419 = -t409; + const double t423 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t416 + 0.4e1 / 0.3e1 * t66 * t419 ); + const double t425 = ( t413 + t423 ) * t73; + const double t426 = t425 * t138; + const double t427 = t54 * t426; + const double t428 = t197 * t253; + const double t429 = t54 * t428; + const double t430 = 0.2e1 * t429; + const double t436 = t149 * t207; + const double t440 = t206 * t98; + const double t441 = 0.1e1 / t440; + const double t442 = t80 * t441; + const double t443 = t222 * t222; + const double t444 = t443 * t223; + const double t448 = t83 * t300 * t302; + const double t456 = t90 * t319 * t302; + const double t468 = -t448 * t309 / 0.18e2 + t210 * t314 / 0.9e1 + t87 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t456 * t309 + 0.83333333333333333333e-1 * t216 * t314 + t97 * t461 * t186 / 0.9e1 + t97 * t95 * t186 / 0.3e1; + const double t469 = t468 * t223; + const double t471 = t206 * t206; + const double t472 = 0.1e1 / t471; + const double t473 = t80 * t472; + const double t474 = t102 * t102; + const double t475 = 0.1e1 / t474; + const double t477 = t443 * t475 * t82; + const double t482 = t147 * t9 * t313 * t45; + const double t483 = 0.2e1 / 0.9e1 * t482; + const double t485 = t149 * t155; + const double t487 = t484 * t485 * t175; + const double t488 = t487 / 0.6e1; + const double t489 = t8 * t313; + const double t494 = t149 * t233; + const double t498 = t232 * t128; + const double t499 = 0.1e1 / t498; + const double t500 = t110 * t499; + const double t501 = t248 * t248; + const double t502 = t501 * t249; + const double t503 = t502 * t134; + const double t506 = t371 * t249; + const double t507 = t506 * t134; + const double t509 = t232 * t232; + const double t510 = 0.1e1 / t509; + const double t511 = t110 * t510; + const double t512 = t511 * t501; + const double t513 = t132 * t132; + const double t514 = 0.1e1 / t513; + const double t515 = t514 * t134; + const double t516 = t515 * t112; + const double t519 = -0.2e1 / 0.9e1 * t201 * t9 * t313 * t103 - t435 * t436 * t224 / 0.6e1 - 0.2e1 * t442 * t444 + t208 * t469 + t473 * t477 / 0.2e1 + t483 + t488 + t381 - t335 - t390 - 0.2e1 / 0.9e1 * t227 * t489 * t135 - t493 * t494 * t251 / 0.6e1 - 0.2e1 * t500 * t503 + t234 * t507 + t512 * t516 / 0.2e1; + const double t520 = t74 * t519; + const double t521 = t54 * t520; + const double t523 = t499 * t501 * t268; + const double t524 = t266 * t523; + const double t525 = 0.2e1 * t524; + const double t526 = t74 * t511; + const double t527 = t501 * t514; + const double t529 = t527 * t528; + const double t530 = t526 * t529; + const double t531 = t530 / 0.2e1; + const double t532 = t197 * t259; + const double t533 = t532 * t263; + const double t534 = t533 / 0.3e1; + const double t536 = t425 * t105 * t143; + const double t537 = 0.2e1 * t536; + const double t540 = t9 * t313 * t133 * t134; + const double t541 = t260 * t540; + const double t542 = 0.2e1 / 0.9e1 * t541; + const double t544 = t74 * t543; + const double t545 = t228 * t233; + const double t546 = t545 * t251; + const double t547 = t544 * t546; + const double t548 = t547 / 0.6e1; + const double t549 = -t399 + t427 + t430 + t521 - t483 - t488 + t525 - t531 - t534 + t537 + t542 + t548; + const double t552 = t282 * t110; + const double t553 = t552 * t269; + const double t555 = t282 * t259; + const double t556 = t555 * t263; + const double t558 = t548 - t553 - t483 + t525 - t348 - t374 - t488 - t531 + t335 - t533 / 0.6e1 + t542 - t556 / 0.6e1 - t338; + const double t559 = t178 * t283; + const double t561 = t183 * t283; + const double t563 = t401 * t273; + const double t566 = t61 * t48; + const double t570 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t563 * t188 + 0.8e1 / 0.3e1 * t566 * t406 ); + const double t571 = t415 * t277; + const double t574 = t66 * t48; + const double t578 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t571 * t192 - 0.8e1 / 0.3e1 * t574 * t406 ); + const double t580 = ( t570 + t578 ) * t73; + const double t581 = t580 * t138; + const double t582 = t54 * t581; + const double t586 = t580 * t105 * t143; + const double t588 = t282 * t253; + const double t589 = t54 * t588; + const double t590 = t346 + 0.4e1 * t559 - 0.4e1 * t561 + t582 - t381 + t390 - 0.4e1 * t391 - 0.4e1 * t395 - t399 + t429 + t521 + 0.2e1 * t586 + t589; + const double t595 = t273 * t273; + const double t599 = 0.2e1 * t186 + 0.2e1 * t407; + const double t603 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t595 + 0.4e1 / 0.3e1 * t61 * t599 ); + const double t604 = t277 * t277; + const double t607 = -t599; + const double t611 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t604 + 0.4e1 / 0.3e1 * t66 * t607 ); + const double t613 = ( t603 + t611 ) * t73; + const double t614 = t613 * t138; + const double t615 = t54 * t614; + const double t617 = t613 * t105 * t143; + const double t618 = 0.2e1 * t617; + const double t619 = t615 + t618 + t335 + t338 + t341 + t346 - t374 - t381 + t390 - t394 - t399; + const double t620 = t556 / 0.3e1; + const double t621 = 0.8e1 * t559; + const double t622 = 0.8e1 * t561; + const double t623 = 0.2e1 * t589; + const double t624 = 0.2e1 * t553; + const double t625 = t521 - t483 - t488 + t525 - t531 - t620 - t621 - t622 + t623 + t542 + t548 - t624; + + + v2rho2_aa = t290 + t291 + t292 - t293 + 0.2e1 * t199 + t295 + 0.4e1 * t257 - t297 - t298 + t10 * ( t397 + t549 ); + v2rho2_ab = t290 + t291 - t293 + t199 + t295 + t258 - t297 - t298 + t284 + t287 + t10 * ( t558 + t590 ); + v2rho2_bb = t290 + t291 - t292 - t293 + 0.2e1 * t284 + t295 + 0.4e1 * t286 - t297 - t298 + t10 * ( t619 + t625 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t70 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t18 = 0.1e1 / t1; + constexpr double t19 = beta1_0; + constexpr double t20 = t3 * t6; + constexpr double t27 = beta2_0 * t3; + constexpr double t30 = beta3_0; + constexpr double t37 = pp_0 + 0.1e1; + constexpr double t75 = a_1; + constexpr double t76 = alpha1_1; + constexpr double t77 = t76 * t3; + constexpr double t82 = 0.1e1 / t75; + constexpr double t83 = beta1_1; + constexpr double t87 = beta2_1 * t3; + constexpr double t90 = beta3_1; + constexpr double t95 = pp_1 + 0.1e1; + constexpr double t105 = a_2; + constexpr double t106 = alpha1_2; + constexpr double t107 = t106 * t3; + constexpr double t112 = 0.1e1 / t105; + constexpr double t113 = beta1_2; + constexpr double t117 = beta2_2 * t3; + constexpr double t120 = beta3_2; + constexpr double t125 = pp_2 + 0.1e1; + constexpr double t134 = 0.1e1 / fz20; + constexpr double t147 = t1 * t2 * t3; + constexpr double t201 = t75 * t76 * t3; + constexpr double t226 = t105 * t106; + constexpr double t227 = t226 * t20; + constexpr double t259 = t226 * t3; + constexpr double t302 = t3 * t3; + constexpr double t304 = t6 * t6; + constexpr double t305 = t304 * t7; + constexpr double t326 = t37 * t37; + constexpr double t364 = t125 * t125; + constexpr double t435 = t77 * t9; + constexpr double t461 = t95 * t95; + constexpr double t484 = t4 * t9; + constexpr double t493 = t107 * t9; + constexpr double t528 = t134 * t112; + constexpr double t543 = t107 * t6; + + + const double t10 = rho_a + rho_b; + const double t11 = safe_math::cbrt( t10 ); + const double t12 = 0.1e1 / t11; + const double t13 = t9 * t12; + const double t16 = 0.1e1 + t4 * t13 / 0.4e1; + const double t22 = t20 * t8 * t12; + const double t23 = safe_math::sqrt( t22 ); + const double t31 = pow_3_2( t22 ); + const double t35 = t22 / 0.4e1; + const double t38 = safe_math::pow( t35, t37 ); + const double t39 = beta4_0 * t38; + const double t40 = t19 * t23 / 0.2e1 + t27 * t13 / 0.4e1 + 0.125e0 * t30 * t31 + t39; + const double t44 = 0.1e1 + t18 / t40 / 0.2e1; + const double t45 = safe_math::log( t44 ); + const double t46 = t1 * t16 * t45; + const double t47 = 0.2e1 * t46; + const double t48 = rho_a - rho_b; + const double t49 = t48 * t48; + const double t50 = t49 * t49; + const double t51 = t10 * t10; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t54 = t50 * t53; + const double t55 = 0.1e1 / t10; + const double t56 = t48 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t73 = 0.1e1 / ( 0.2e1 * t70 - 0.2e1 ); + const double t74 = t69 * t73; + const double t80 = 0.1e1 + t77 * t13 / 0.4e1; + const double t96 = safe_math::pow( t35, t95 ); + const double t97 = beta4_1 * t96; + const double t98 = t83 * t23 / 0.2e1 + t87 * t13 / 0.4e1 + 0.125e0 * t90 * t31 + t97; + const double t102 = 0.1e1 + t82 / t98 / 0.2e1; + const double t103 = safe_math::log( t102 ); + const double t110 = 0.1e1 + t107 * t13 / 0.4e1; + const double t126 = safe_math::pow( t35, t125 ); + const double t127 = beta4_2 * t126; + const double t128 = t113 * t23 / 0.2e1 + t117 * t13 / 0.4e1 + 0.125e0 * t120 * t31 + t127; + const double t132 = 0.1e1 + t112 / t128 / 0.2e1; + const double t133 = safe_math::log( t132 ); + const double t135 = t133 * t134; + const double t138 = -0.2e1 * t75 * t80 * t103 - 0.2e1 * t105 * t110 * t135 + 0.2e1 * t46; + const double t139 = t74 * t138; + const double t140 = t54 * t139; + const double t143 = t110 * t133 * t134; + const double t145 = 0.2e1 * t74 * t105 * t143; + const double t149 = 0.1e1 / t11 / t10; + const double t152 = t147 * t9 * t149 * t45; + const double t153 = t152 / 0.6e1; + const double t154 = t40 * t40; + const double t155 = 0.1e1 / t154; + const double t156 = t16 * t155; + const double t157 = 0.1e1 / t23; + const double t159 = t19 * t157 * t3; + const double t160 = t9 * t149; + const double t165 = safe_math::sqrt( t22 ); + const double t167 = t30 * t165 * t3; + const double t173 = -t159 * t160 / 0.12e2 - t27 * t160 / 0.12e2 - 0.625e-1 * t167 * t160 - t39 * t37 * t55 / 0.3e1; + const double t174 = 0.1e1 / t44; + const double t175 = t173 * t174; + const double t176 = t156 * t175; + const double t177 = t49 * t48; + const double t178 = t177 * t53; + const double t179 = t178 * t139; + const double t180 = 0.4e1 * t179; + const double t181 = t52 * t10; + const double t182 = 0.1e1 / t181; + const double t183 = t50 * t182; + const double t184 = t183 * t139; + const double t185 = 0.4e1 * t184; + const double t186 = 0.1e1 / t51; + const double t187 = t48 * t186; + const double t188 = t55 - t187; + const double t191 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t188 ); + const double t192 = -t188; + const double t195 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t192 ); + const double t197 = ( t191 + t195 ) * t73; + const double t198 = t197 * t138; + const double t199 = t54 * t198; + const double t206 = t98 * t98; + const double t207 = 0.1e1 / t206; + const double t208 = t80 * t207; + const double t210 = t83 * t157 * t3; + const double t216 = t90 * t165 * t3; + const double t222 = -t210 * t160 / 0.12e2 - t87 * t160 / 0.12e2 - 0.625e-1 * t216 * t160 - t97 * t95 * t55 / 0.3e1; + const double t223 = 0.1e1 / t102; + const double t224 = t222 * t223; + const double t228 = t8 * t149; + const double t232 = t128 * t128; + const double t233 = 0.1e1 / t232; + const double t234 = t110 * t233; + const double t236 = t113 * t157 * t3; + const double t242 = t120 * t165 * t3; + const double t248 = -t236 * t160 / 0.12e2 - t117 * t160 / 0.12e2 - 0.625e-1 * t242 * t160 - t127 * t125 * t55 / 0.3e1; + const double t249 = 0.1e1 / t132; + const double t251 = t248 * t249 * t134; + const double t253 = t201 * t9 * t149 * t103 / 0.6e1 + t208 * t224 - t153 - t176 + t227 * t228 * t135 / 0.6e1 + t234 * t251; + const double t254 = t74 * t253; + const double t255 = t54 * t254; + const double t257 = t197 * t105 * t143; + const double t258 = 0.2e1 * t257; + const double t260 = t74 * t259; + const double t263 = t9 * t149 * t133 * t134; + const double t264 = t260 * t263; + const double t265 = t264 / 0.6e1; + const double t266 = t74 * t110; + const double t268 = t249 * t134; + const double t269 = t233 * t248 * t268; + const double t270 = t266 * t269; + const double t273 = -t55 - t187; + const double t276 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t273 ); + const double t277 = -t273; + const double t280 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t277 ); + const double t282 = ( t276 + t280 ) * t73; + const double t283 = t282 * t138; + const double t284 = t54 * t283; + const double t286 = t282 * t105 * t143; + const double t287 = 0.2e1 * t286; + const double t290 = t152 / 0.3e1; + const double t291 = 0.2e1 * t176; + const double t292 = 0.8e1 * t179; + const double t293 = 0.8e1 * t184; + const double t295 = 0.2e1 * t255; + const double t297 = t264 / 0.3e1; + const double t298 = 0.2e1 * t270; + const double t300 = 0.1e1 / t23 / t22; + const double t303 = t19 * t300 * t302; + const double t306 = t11 * t11; + const double t309 = t305 / t306 / t51; + const double t313 = 0.1e1 / t11 / t51; + const double t314 = t9 * t313; + const double t319 = 0.1e1/safe_math::sqrt( t22 ); + const double t321 = t30 * t319 * t302; + const double t333 = -t303 * t309 / 0.18e2 + t159 * t314 / 0.9e1 + t27 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t321 * t309 + 0.83333333333333333333e-1 * t167 * t314 + t39 * t326 * t186 / 0.9e1 + t39 * t37 * t186 / 0.3e1; + const double t334 = t333 * t174; + const double t335 = t156 * t334; + const double t336 = t49 * t53; + const double t337 = t336 * t139; + const double t338 = 0.12e2 * t337; + const double t339 = t177 * t182; + const double t340 = t339 * t139; + const double t341 = 0.32e2 * t340; + const double t343 = 0.1e1 / t52 / t51; + const double t344 = t50 * t343; + const double t345 = t344 * t139; + const double t346 = 0.2e2 * t345; + const double t347 = t197 * t110; + const double t348 = t347 * t269; + const double t349 = 0.2e1 * t348; + const double t351 = t113 * t300 * t302; + const double t359 = t120 * t319 * t302; + const double t371 = -t351 * t309 / 0.18e2 + t236 * t314 / 0.9e1 + t117 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t359 * t309 + 0.83333333333333333333e-1 * t242 * t314 + t127 * t364 * t186 / 0.9e1 + t127 * t125 * t186 / 0.3e1; + const double t373 = t233 * t371 * t268; + const double t374 = t266 * t373; + const double t375 = t154 * t40; + const double t376 = 0.1e1 / t375; + const double t377 = t16 * t376; + const double t378 = t173 * t173; + const double t379 = t378 * t174; + const double t380 = t377 * t379; + const double t381 = 0.2e1 * t380; + const double t382 = t154 * t154; + const double t383 = 0.1e1 / t382; + const double t384 = t16 * t383; + const double t385 = t44 * t44; + const double t386 = 0.1e1 / t385; + const double t388 = t378 * t386 * t18; + const double t389 = t384 * t388; + const double t390 = t389 / 0.2e1; + const double t391 = t178 * t198; + const double t392 = 0.8e1 * t391; + const double t393 = t178 * t254; + const double t394 = 0.8e1 * t393; + const double t395 = t183 * t198; + const double t396 = 0.8e1 * t395; + const double t397 = t335 + t338 - t341 + t346 - t349 - t374 - t381 + t390 + t392 + t394 - t396; + const double t398 = t183 * t254; + const double t399 = 0.8e1 * t398; + const double t400 = t61 * t61; + const double t401 = 0.1e1 / t400; + const double t402 = t188 * t188; + const double t405 = t51 * t10; + const double t406 = 0.1e1 / t405; + const double t407 = t48 * t406; + const double t409 = -0.2e1 * t186 + 0.2e1 * t407; + const double t413 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t402 + 0.4e1 / 0.3e1 * t61 * t409 ); + const double t414 = t66 * t66; + const double t415 = 0.1e1 / t414; + const double t416 = t192 * t192; + const double t419 = -t409; + const double t423 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t416 + 0.4e1 / 0.3e1 * t66 * t419 ); + const double t425 = ( t413 + t423 ) * t73; + const double t426 = t425 * t138; + const double t427 = t54 * t426; + const double t428 = t197 * t253; + const double t429 = t54 * t428; + const double t430 = 0.2e1 * t429; + const double t436 = t149 * t207; + const double t440 = t206 * t98; + const double t441 = 0.1e1 / t440; + const double t442 = t80 * t441; + const double t443 = t222 * t222; + const double t444 = t443 * t223; + const double t448 = t83 * t300 * t302; + const double t456 = t90 * t319 * t302; + const double t468 = -t448 * t309 / 0.18e2 + t210 * t314 / 0.9e1 + t87 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t456 * t309 + 0.83333333333333333333e-1 * t216 * t314 + t97 * t461 * t186 / 0.9e1 + t97 * t95 * t186 / 0.3e1; + const double t469 = t468 * t223; + const double t471 = t206 * t206; + const double t472 = 0.1e1 / t471; + const double t473 = t80 * t472; + const double t474 = t102 * t102; + const double t475 = 0.1e1 / t474; + const double t477 = t443 * t475 * t82; + const double t482 = t147 * t9 * t313 * t45; + const double t483 = 0.2e1 / 0.9e1 * t482; + const double t485 = t149 * t155; + const double t487 = t484 * t485 * t175; + const double t488 = t487 / 0.6e1; + const double t489 = t8 * t313; + const double t494 = t149 * t233; + const double t498 = t232 * t128; + const double t499 = 0.1e1 / t498; + const double t500 = t110 * t499; + const double t501 = t248 * t248; + const double t502 = t501 * t249; + const double t503 = t502 * t134; + const double t506 = t371 * t249; + const double t507 = t506 * t134; + const double t509 = t232 * t232; + const double t510 = 0.1e1 / t509; + const double t511 = t110 * t510; + const double t512 = t511 * t501; + const double t513 = t132 * t132; + const double t514 = 0.1e1 / t513; + const double t515 = t514 * t134; + const double t516 = t515 * t112; + const double t519 = -0.2e1 / 0.9e1 * t201 * t9 * t313 * t103 - t435 * t436 * t224 / 0.6e1 - 0.2e1 * t442 * t444 + t208 * t469 + t473 * t477 / 0.2e1 + t483 + t488 + t381 - t335 - t390 - 0.2e1 / 0.9e1 * t227 * t489 * t135 - t493 * t494 * t251 / 0.6e1 - 0.2e1 * t500 * t503 + t234 * t507 + t512 * t516 / 0.2e1; + const double t520 = t74 * t519; + const double t521 = t54 * t520; + const double t523 = t499 * t501 * t268; + const double t524 = t266 * t523; + const double t525 = 0.2e1 * t524; + const double t526 = t74 * t511; + const double t527 = t501 * t514; + const double t529 = t527 * t528; + const double t530 = t526 * t529; + const double t531 = t530 / 0.2e1; + const double t532 = t197 * t259; + const double t533 = t532 * t263; + const double t534 = t533 / 0.3e1; + const double t536 = t425 * t105 * t143; + const double t537 = 0.2e1 * t536; + const double t540 = t9 * t313 * t133 * t134; + const double t541 = t260 * t540; + const double t542 = 0.2e1 / 0.9e1 * t541; + const double t544 = t74 * t543; + const double t545 = t228 * t233; + const double t546 = t545 * t251; + const double t547 = t544 * t546; + const double t548 = t547 / 0.6e1; + const double t549 = -t399 + t427 + t430 + t521 - t483 - t488 + t525 - t531 - t534 + t537 + t542 + t548; + const double t552 = t282 * t110; + const double t553 = t552 * t269; + const double t555 = t282 * t259; + const double t556 = t555 * t263; + const double t558 = t548 - t553 - t483 + t525 - t348 - t374 - t488 - t531 + t335 - t533 / 0.6e1 + t542 - t556 / 0.6e1 - t338; + const double t559 = t178 * t283; + const double t561 = t183 * t283; + const double t563 = t401 * t273; + const double t566 = t61 * t48; + const double t570 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t563 * t188 + 0.8e1 / 0.3e1 * t566 * t406 ); + const double t571 = t415 * t277; + const double t574 = t66 * t48; + const double t578 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t571 * t192 - 0.8e1 / 0.3e1 * t574 * t406 ); + const double t580 = ( t570 + t578 ) * t73; + const double t581 = t580 * t138; + const double t582 = t54 * t581; + const double t586 = t580 * t105 * t143; + const double t588 = t282 * t253; + const double t589 = t54 * t588; + const double t590 = t346 + 0.4e1 * t559 - 0.4e1 * t561 + t582 - t381 + t390 - 0.4e1 * t391 - 0.4e1 * t395 - t399 + t429 + t521 + 0.2e1 * t586 + t589; + const double t595 = t273 * t273; + const double t599 = 0.2e1 * t186 + 0.2e1 * t407; + const double t603 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t595 + 0.4e1 / 0.3e1 * t61 * t599 ); + const double t604 = t277 * t277; + const double t607 = -t599; + const double t611 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t604 + 0.4e1 / 0.3e1 * t66 * t607 ); + const double t613 = ( t603 + t611 ) * t73; + const double t614 = t613 * t138; + const double t615 = t54 * t614; + const double t617 = t613 * t105 * t143; + const double t618 = 0.2e1 * t617; + const double t619 = t615 + t618 + t335 + t338 + t341 + t346 - t374 - t381 + t390 - t394 - t399; + const double t620 = t556 / 0.3e1; + const double t621 = 0.8e1 * t559; + const double t622 = 0.8e1 * t561; + const double t623 = 0.2e1 * t589; + const double t624 = 0.2e1 * t553; + const double t625 = t521 - t483 - t488 + t525 - t531 - t620 - t621 - t622 + t623 + t542 + t548 - t624; + + + vrho_a = -t47 + t140 + t145 + t10 * ( t153 + t176 + t180 - t185 + t199 + t255 + t258 - t265 - t270 ); + vrho_b = -t47 + t140 + t145 + t10 * ( t153 + t176 - t180 - t185 + t284 + t255 + t287 - t265 - t270 ); + v2rho2_aa = t290 + t291 + t292 - t293 + 0.2e1 * t199 + t295 + 0.4e1 * t257 - t297 - t298 + t10 * ( t397 + t549 ); + v2rho2_ab = t290 + t291 - t293 + t199 + t295 + t258 - t297 - t298 + t284 + t287 + t10 * ( t558 + t590 ); + v2rho2_bb = t290 + t291 - t292 - t293 + 0.2e1 * t284 + t295 + 0.4e1 * t286 - t297 - t298 + t10 * ( t619 + t625 ); + + } + }; @@ -495,4 +1563,4 @@ struct BuiltinPW91_LDA : detail::BuiltinKernelImpl< BuiltinPW91_LDA > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pw91_lda_mod.hpp b/include/exchcxx/impl/builtin/kernels/pw91_lda_mod.hpp index 7119b70..b913eb9 100644 --- a/include/exchcxx/impl/builtin/kernels/pw91_lda_mod.hpp +++ b/include/exchcxx/impl/builtin/kernels/pw91_lda_mod.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPW91_LDA_MOD > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double pp_0 = 1.; static constexpr double pp_1 = 1.; @@ -57,7 +106,6 @@ struct kernel_traits< BuiltinPW91_LDA_MOD > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -117,7 +165,6 @@ struct kernel_traits< BuiltinPW91_LDA_MOD > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -202,10 +249,296 @@ struct kernel_traits< BuiltinPW91_LDA_MOD > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t52 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t17 = 0.1e1 / t1; + constexpr double t18 = beta1_0; + constexpr double t19 = t3 * t6; + constexpr double t26 = beta2_0 * t3; + constexpr double t29 = beta3_0; + constexpr double t36 = pp_0 + 0.1e1; + constexpr double t57 = a_2; + constexpr double t59 = alpha1_2; + constexpr double t60 = t59 * t3; + constexpr double t64 = 0.1e1 / t57; + constexpr double t65 = beta1_2; + constexpr double t69 = beta2_2 * t3; + constexpr double t72 = beta3_2; + constexpr double t77 = pp_2 + 0.1e1; + constexpr double t87 = 0.1e1 / fz20; + constexpr double t94 = t1 * t2 * t3; + constexpr double t168 = t4 * t9; + constexpr double t183 = t3 * t3; + constexpr double t185 = t6 * t6; + constexpr double t186 = t185 * t7; + constexpr double t205 = t36 * t36; + constexpr double t260 = t77 * t77; + constexpr double t278 = t87 * t64; + + + const double t10 = safe_math::cbrt( rho ); + const double t11 = 0.1e1 / t10; + const double t12 = t9 * t11; + const double t15 = 0.1e1 + t4 * t12 / 0.4e1; + const double t21 = t19 * t8 * t11; + const double t22 = safe_math::sqrt( t21 ); + const double t30 = pow_3_2( t21 ); + const double t34 = t21 / 0.4e1; + const double t37 = safe_math::pow( t34, t36 ); + const double t38 = beta4_0 * t37; + const double t39 = t18 * t22 / 0.2e1 + t26 * t12 / 0.4e1 + 0.125e0 * t29 * t30 + t38; + const double t43 = 0.1e1 + t17 / t39 / 0.2e1; + const double t44 = safe_math::log( t43 ); + const double t47 = safe_math::cbrt( zeta_tol ); + const double t49 = piecewise_functor_3( 0.1e1 <= zeta_tol, t47 * zeta_tol, 1.0 ); + const double t56 = ( 0.2e1 * t49 - 0.2e1 ) / ( 0.2e1 * t52 - 0.2e1 ); + const double t63 = 0.1e1 + t60 * t12 / 0.4e1; + const double t78 = safe_math::pow( t34, t77 ); + const double t79 = beta4_2 * t78; + const double t80 = t65 * t22 / 0.2e1 + t69 * t12 / 0.4e1 + 0.125e0 * t72 * t30 + t79; + const double t84 = 0.1e1 + t64 / t80 / 0.2e1; + const double t85 = safe_math::log( t84 ); + const double t96 = 0.1e1 / t10 / rho; + const double t99 = t94 * t9 * t96 * t44; + const double t101 = t39 * t39; + const double t102 = 0.1e1 / t101; + const double t103 = t15 * t102; + const double t104 = 0.1e1 / t22; + const double t106 = t18 * t104 * t3; + const double t107 = t9 * t96; + const double t112 = safe_math::sqrt( t21 ); + const double t114 = t29 * t112 * t3; + const double t117 = 0.1e1 / rho; + const double t121 = -t106 * t107 / 0.12e2 - t26 * t107 / 0.12e2 - 0.625e-1 * t114 * t107 - t38 * t36 * t117 / 0.3e1; + const double t122 = 0.1e1 / t43; + const double t123 = t121 * t122; + const double t124 = t103 * t123; + const double t127 = t56 * t57 * t59 * t3; + const double t131 = t127 * t9 * t96 * t85 * t87; + const double t133 = t56 * t63; + const double t134 = t80 * t80; + const double t135 = 0.1e1 / t134; + const double t137 = t65 * t104 * t3; + const double t143 = t72 * t112 * t3; + const double t149 = -t137 * t107 / 0.12e2 - t69 * t107 / 0.12e2 - 0.625e-1 * t143 * t107 - t79 * t77 * t117 / 0.3e1; + const double t151 = 0.1e1 / t84; + const double t152 = t151 * t87; + const double t154 = t133 * t135 * t149 * t152; + const double t161 = rho * rho; + const double t163 = 0.1e1 / t10 / t161; + const double t166 = t94 * t9 * t163 * t44; + const double t169 = t96 * t102; + const double t171 = t168 * t169 * t123; + const double t173 = t101 * t39; + const double t174 = 0.1e1 / t173; + const double t175 = t15 * t174; + const double t176 = t121 * t121; + const double t177 = t176 * t122; + const double t178 = t175 * t177; + const double t181 = 0.1e1 / t22 / t21; + const double t184 = t18 * t181 * t183; + const double t187 = t10 * t10; + const double t190 = t186 / t187 / t161; + const double t193 = t9 * t163; + const double t198 = 0.1e1/safe_math::sqrt( t21 ); + const double t200 = t29 * t198 * t183; + const double t206 = 0.1e1 / t161; + const double t213 = -t184 * t190 / 0.18e2 + t106 * t193 / 0.9e1 + t26 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t200 * t190 + 0.83333333333333333333e-1 * t114 * t193 + t38 * t205 * t206 / 0.9e1 + t38 * t36 * t206 / 0.3e1; + const double t214 = t213 * t122; + const double t215 = t103 * t214; + const double t216 = t101 * t101; + const double t217 = 0.1e1 / t216; + const double t218 = t15 * t217; + const double t219 = t43 * t43; + const double t220 = 0.1e1 / t219; + const double t222 = t176 * t220 * t17; + const double t223 = t218 * t222; + const double t228 = t127 * t9 * t163 * t85 * t87; + const double t231 = t56 * t60 * t6; + const double t232 = t8 * t96; + const double t233 = t232 * t135; + const double t234 = t149 * t151; + const double t235 = t234 * t87; + const double t237 = t231 * t233 * t235; + const double t239 = t134 * t80; + const double t240 = 0.1e1 / t239; + const double t241 = t149 * t149; + const double t244 = t133 * t240 * t241 * t152; + const double t247 = t65 * t181 * t183; + const double t255 = t72 * t198 * t183; + const double t267 = -t247 * t190 / 0.18e2 + t137 * t193 / 0.9e1 + t69 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t255 * t190 + 0.83333333333333333333e-1 * t143 * t193 + t79 * t260 * t206 / 0.9e1 + t79 * t77 * t206 / 0.3e1; + const double t270 = t133 * t135 * t267 * t152; + const double t271 = t134 * t134; + const double t272 = 0.1e1 / t271; + const double t274 = t56 * t63 * t272; + const double t275 = t84 * t84; + const double t276 = 0.1e1 / t275; + const double t277 = t241 * t276; + const double t280 = t274 * t277 * t278; + + + v2rho2 = t99 / 0.3e1 + 0.2e1 * t124 - t131 / 0.3e1 - 0.2e1 * t154 + rho * ( -0.2e1 / 0.9e1 * t166 - t171 / 0.6e1 - 0.2e1 * t178 + t215 + t223 / 0.2e1 + 0.2e1 / 0.9e1 * t228 + t237 / 0.6e1 + 0.2e1 * t244 - t270 - t280 / 0.2e1 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t52 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t17 = 0.1e1 / t1; + constexpr double t18 = beta1_0; + constexpr double t19 = t3 * t6; + constexpr double t26 = beta2_0 * t3; + constexpr double t29 = beta3_0; + constexpr double t36 = pp_0 + 0.1e1; + constexpr double t57 = a_2; + constexpr double t59 = alpha1_2; + constexpr double t60 = t59 * t3; + constexpr double t64 = 0.1e1 / t57; + constexpr double t65 = beta1_2; + constexpr double t69 = beta2_2 * t3; + constexpr double t72 = beta3_2; + constexpr double t77 = pp_2 + 0.1e1; + constexpr double t87 = 0.1e1 / fz20; + constexpr double t94 = t1 * t2 * t3; + constexpr double t168 = t4 * t9; + constexpr double t183 = t3 * t3; + constexpr double t185 = t6 * t6; + constexpr double t186 = t185 * t7; + constexpr double t205 = t36 * t36; + constexpr double t260 = t77 * t77; + constexpr double t278 = t87 * t64; + + + const double t10 = safe_math::cbrt( rho ); + const double t11 = 0.1e1 / t10; + const double t12 = t9 * t11; + const double t15 = 0.1e1 + t4 * t12 / 0.4e1; + const double t21 = t19 * t8 * t11; + const double t22 = safe_math::sqrt( t21 ); + const double t30 = pow_3_2( t21 ); + const double t34 = t21 / 0.4e1; + const double t37 = safe_math::pow( t34, t36 ); + const double t38 = beta4_0 * t37; + const double t39 = t18 * t22 / 0.2e1 + t26 * t12 / 0.4e1 + 0.125e0 * t29 * t30 + t38; + const double t43 = 0.1e1 + t17 / t39 / 0.2e1; + const double t44 = safe_math::log( t43 ); + const double t45 = t1 * t15 * t44; + const double t47 = safe_math::cbrt( zeta_tol ); + const double t49 = piecewise_functor_3( 0.1e1 <= zeta_tol, t47 * zeta_tol, 1.0 ); + const double t56 = ( 0.2e1 * t49 - 0.2e1 ) / ( 0.2e1 * t52 - 0.2e1 ); + const double t63 = 0.1e1 + t60 * t12 / 0.4e1; + const double t78 = safe_math::pow( t34, t77 ); + const double t79 = beta4_2 * t78; + const double t80 = t65 * t22 / 0.2e1 + t69 * t12 / 0.4e1 + 0.125e0 * t72 * t30 + t79; + const double t84 = 0.1e1 + t64 / t80 / 0.2e1; + const double t85 = safe_math::log( t84 ); + const double t89 = t56 * t57 * t63 * t85 * t87; + const double t96 = 0.1e1 / t10 / rho; + const double t99 = t94 * t9 * t96 * t44; + const double t101 = t39 * t39; + const double t102 = 0.1e1 / t101; + const double t103 = t15 * t102; + const double t104 = 0.1e1 / t22; + const double t106 = t18 * t104 * t3; + const double t107 = t9 * t96; + const double t112 = safe_math::sqrt( t21 ); + const double t114 = t29 * t112 * t3; + const double t117 = 0.1e1 / rho; + const double t121 = -t106 * t107 / 0.12e2 - t26 * t107 / 0.12e2 - 0.625e-1 * t114 * t107 - t38 * t36 * t117 / 0.3e1; + const double t122 = 0.1e1 / t43; + const double t123 = t121 * t122; + const double t124 = t103 * t123; + const double t127 = t56 * t57 * t59 * t3; + const double t131 = t127 * t9 * t96 * t85 * t87; + const double t133 = t56 * t63; + const double t134 = t80 * t80; + const double t135 = 0.1e1 / t134; + const double t137 = t65 * t104 * t3; + const double t143 = t72 * t112 * t3; + const double t149 = -t137 * t107 / 0.12e2 - t69 * t107 / 0.12e2 - 0.625e-1 * t143 * t107 - t79 * t77 * t117 / 0.3e1; + const double t151 = 0.1e1 / t84; + const double t152 = t151 * t87; + const double t154 = t133 * t135 * t149 * t152; + const double t161 = rho * rho; + const double t163 = 0.1e1 / t10 / t161; + const double t166 = t94 * t9 * t163 * t44; + const double t169 = t96 * t102; + const double t171 = t168 * t169 * t123; + const double t173 = t101 * t39; + const double t174 = 0.1e1 / t173; + const double t175 = t15 * t174; + const double t176 = t121 * t121; + const double t177 = t176 * t122; + const double t178 = t175 * t177; + const double t181 = 0.1e1 / t22 / t21; + const double t184 = t18 * t181 * t183; + const double t187 = t10 * t10; + const double t190 = t186 / t187 / t161; + const double t193 = t9 * t163; + const double t198 = 0.1e1/safe_math::sqrt( t21 ); + const double t200 = t29 * t198 * t183; + const double t206 = 0.1e1 / t161; + const double t213 = -t184 * t190 / 0.18e2 + t106 * t193 / 0.9e1 + t26 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t200 * t190 + 0.83333333333333333333e-1 * t114 * t193 + t38 * t205 * t206 / 0.9e1 + t38 * t36 * t206 / 0.3e1; + const double t214 = t213 * t122; + const double t215 = t103 * t214; + const double t216 = t101 * t101; + const double t217 = 0.1e1 / t216; + const double t218 = t15 * t217; + const double t219 = t43 * t43; + const double t220 = 0.1e1 / t219; + const double t222 = t176 * t220 * t17; + const double t223 = t218 * t222; + const double t228 = t127 * t9 * t163 * t85 * t87; + const double t231 = t56 * t60 * t6; + const double t232 = t8 * t96; + const double t233 = t232 * t135; + const double t234 = t149 * t151; + const double t235 = t234 * t87; + const double t237 = t231 * t233 * t235; + const double t239 = t134 * t80; + const double t240 = 0.1e1 / t239; + const double t241 = t149 * t149; + const double t244 = t133 * t240 * t241 * t152; + const double t247 = t65 * t181 * t183; + const double t255 = t72 * t198 * t183; + const double t267 = -t247 * t190 / 0.18e2 + t137 * t193 / 0.9e1 + t69 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t255 * t190 + 0.83333333333333333333e-1 * t143 * t193 + t79 * t260 * t206 / 0.9e1 + t79 * t77 * t206 / 0.3e1; + const double t270 = t133 * t135 * t267 * t152; + const double t271 = t134 * t134; + const double t272 = 0.1e1 / t271; + const double t274 = t56 * t63 * t272; + const double t275 = t84 * t84; + const double t276 = 0.1e1 / t275; + const double t277 = t241 * t276; + const double t280 = t274 * t277 * t278; + + + vrho = -0.2e1 * t45 + 0.2e1 * t89 + rho * ( t99 / 0.6e1 + t124 - t131 / 0.6e1 - t154 ); + v2rho2 = t99 / 0.3e1 + 0.2e1 * t124 - t131 / 0.3e1 - 0.2e1 * t154 + rho * ( -0.2e1 / 0.9e1 * t166 - t171 / 0.6e1 - 0.2e1 * t178 + t215 + t223 / 0.2e1 + 0.2e1 / 0.9e1 * t228 + t237 / 0.6e1 + 0.2e1 * t244 - t270 - t280 / 0.2e1 ); + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -305,7 +638,6 @@ struct kernel_traits< BuiltinPW91_LDA_MOD > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -481,6 +813,742 @@ struct kernel_traits< BuiltinPW91_LDA_MOD > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t70 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t18 = 0.1e1 / t1; + constexpr double t19 = beta1_0; + constexpr double t20 = t3 * t6; + constexpr double t27 = beta2_0 * t3; + constexpr double t30 = beta3_0; + constexpr double t37 = pp_0 + 0.1e1; + constexpr double t75 = a_1; + constexpr double t76 = alpha1_1; + constexpr double t77 = t76 * t3; + constexpr double t82 = 0.1e1 / t75; + constexpr double t83 = beta1_1; + constexpr double t87 = beta2_1 * t3; + constexpr double t90 = beta3_1; + constexpr double t95 = pp_1 + 0.1e1; + constexpr double t105 = a_2; + constexpr double t106 = alpha1_2; + constexpr double t107 = t106 * t3; + constexpr double t112 = 0.1e1 / t105; + constexpr double t113 = beta1_2; + constexpr double t117 = beta2_2 * t3; + constexpr double t120 = beta3_2; + constexpr double t125 = pp_2 + 0.1e1; + constexpr double t134 = 0.1e1 / fz20; + constexpr double t147 = t1 * t2 * t3; + constexpr double t201 = t75 * t76 * t3; + constexpr double t226 = t105 * t106; + constexpr double t227 = t226 * t20; + constexpr double t259 = t226 * t3; + constexpr double t302 = t3 * t3; + constexpr double t304 = t6 * t6; + constexpr double t305 = t304 * t7; + constexpr double t326 = t37 * t37; + constexpr double t364 = t125 * t125; + constexpr double t435 = t77 * t9; + constexpr double t461 = t95 * t95; + constexpr double t484 = t4 * t9; + constexpr double t493 = t107 * t9; + constexpr double t528 = t134 * t112; + constexpr double t543 = t107 * t6; + + + const double t10 = rho_a + rho_b; + const double t11 = safe_math::cbrt( t10 ); + const double t12 = 0.1e1 / t11; + const double t13 = t9 * t12; + const double t16 = 0.1e1 + t4 * t13 / 0.4e1; + const double t22 = t20 * t8 * t12; + const double t23 = safe_math::sqrt( t22 ); + const double t31 = pow_3_2( t22 ); + const double t35 = t22 / 0.4e1; + const double t38 = safe_math::pow( t35, t37 ); + const double t39 = beta4_0 * t38; + const double t40 = t19 * t23 / 0.2e1 + t27 * t13 / 0.4e1 + 0.125e0 * t30 * t31 + t39; + const double t44 = 0.1e1 + t18 / t40 / 0.2e1; + const double t45 = safe_math::log( t44 ); + const double t46 = t1 * t16 * t45; + const double t48 = rho_a - rho_b; + const double t49 = t48 * t48; + const double t50 = t49 * t49; + const double t51 = t10 * t10; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t54 = t50 * t53; + const double t55 = 0.1e1 / t10; + const double t56 = t48 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t73 = 0.1e1 / ( 0.2e1 * t70 - 0.2e1 ); + const double t74 = t69 * t73; + const double t80 = 0.1e1 + t77 * t13 / 0.4e1; + const double t96 = safe_math::pow( t35, t95 ); + const double t97 = beta4_1 * t96; + const double t98 = t83 * t23 / 0.2e1 + t87 * t13 / 0.4e1 + 0.125e0 * t90 * t31 + t97; + const double t102 = 0.1e1 + t82 / t98 / 0.2e1; + const double t103 = safe_math::log( t102 ); + const double t110 = 0.1e1 + t107 * t13 / 0.4e1; + const double t126 = safe_math::pow( t35, t125 ); + const double t127 = beta4_2 * t126; + const double t128 = t113 * t23 / 0.2e1 + t117 * t13 / 0.4e1 + 0.125e0 * t120 * t31 + t127; + const double t132 = 0.1e1 + t112 / t128 / 0.2e1; + const double t133 = safe_math::log( t132 ); + const double t135 = t133 * t134; + const double t138 = -0.2e1 * t75 * t80 * t103 - 0.2e1 * t105 * t110 * t135 + 0.2e1 * t46; + const double t139 = t74 * t138; + const double t143 = t110 * t133 * t134; + const double t149 = 0.1e1 / t11 / t10; + const double t152 = t147 * t9 * t149 * t45; + const double t153 = t152 / 0.6e1; + const double t154 = t40 * t40; + const double t155 = 0.1e1 / t154; + const double t156 = t16 * t155; + const double t157 = 0.1e1 / t23; + const double t159 = t19 * t157 * t3; + const double t160 = t9 * t149; + const double t165 = safe_math::sqrt( t22 ); + const double t167 = t30 * t165 * t3; + const double t173 = -t159 * t160 / 0.12e2 - t27 * t160 / 0.12e2 - 0.625e-1 * t167 * t160 - t39 * t37 * t55 / 0.3e1; + const double t174 = 0.1e1 / t44; + const double t175 = t173 * t174; + const double t176 = t156 * t175; + const double t177 = t49 * t48; + const double t178 = t177 * t53; + const double t179 = t178 * t139; + const double t181 = t52 * t10; + const double t182 = 0.1e1 / t181; + const double t183 = t50 * t182; + const double t184 = t183 * t139; + const double t186 = 0.1e1 / t51; + const double t187 = t48 * t186; + const double t188 = t55 - t187; + const double t191 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t188 ); + const double t192 = -t188; + const double t195 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t192 ); + const double t197 = ( t191 + t195 ) * t73; + const double t198 = t197 * t138; + const double t199 = t54 * t198; + const double t206 = t98 * t98; + const double t207 = 0.1e1 / t206; + const double t208 = t80 * t207; + const double t210 = t83 * t157 * t3; + const double t216 = t90 * t165 * t3; + const double t222 = -t210 * t160 / 0.12e2 - t87 * t160 / 0.12e2 - 0.625e-1 * t216 * t160 - t97 * t95 * t55 / 0.3e1; + const double t223 = 0.1e1 / t102; + const double t224 = t222 * t223; + const double t228 = t8 * t149; + const double t232 = t128 * t128; + const double t233 = 0.1e1 / t232; + const double t234 = t110 * t233; + const double t236 = t113 * t157 * t3; + const double t242 = t120 * t165 * t3; + const double t248 = -t236 * t160 / 0.12e2 - t117 * t160 / 0.12e2 - 0.625e-1 * t242 * t160 - t127 * t125 * t55 / 0.3e1; + const double t249 = 0.1e1 / t132; + const double t251 = t248 * t249 * t134; + const double t253 = t201 * t9 * t149 * t103 / 0.6e1 + t208 * t224 - t153 - t176 + t227 * t228 * t135 / 0.6e1 + t234 * t251; + const double t254 = t74 * t253; + const double t255 = t54 * t254; + const double t257 = t197 * t105 * t143; + const double t258 = 0.2e1 * t257; + const double t260 = t74 * t259; + const double t263 = t9 * t149 * t133 * t134; + const double t264 = t260 * t263; + const double t266 = t74 * t110; + const double t268 = t249 * t134; + const double t269 = t233 * t248 * t268; + const double t270 = t266 * t269; + const double t273 = -t55 - t187; + const double t276 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t273 ); + const double t277 = -t273; + const double t280 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t277 ); + const double t282 = ( t276 + t280 ) * t73; + const double t283 = t282 * t138; + const double t284 = t54 * t283; + const double t286 = t282 * t105 * t143; + const double t287 = 0.2e1 * t286; + const double t290 = t152 / 0.3e1; + const double t291 = 0.2e1 * t176; + const double t292 = 0.8e1 * t179; + const double t293 = 0.8e1 * t184; + const double t295 = 0.2e1 * t255; + const double t297 = t264 / 0.3e1; + const double t298 = 0.2e1 * t270; + const double t300 = 0.1e1 / t23 / t22; + const double t303 = t19 * t300 * t302; + const double t306 = t11 * t11; + const double t309 = t305 / t306 / t51; + const double t313 = 0.1e1 / t11 / t51; + const double t314 = t9 * t313; + const double t319 = 0.1e1/safe_math::sqrt( t22 ); + const double t321 = t30 * t319 * t302; + const double t333 = -t303 * t309 / 0.18e2 + t159 * t314 / 0.9e1 + t27 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t321 * t309 + 0.83333333333333333333e-1 * t167 * t314 + t39 * t326 * t186 / 0.9e1 + t39 * t37 * t186 / 0.3e1; + const double t334 = t333 * t174; + const double t335 = t156 * t334; + const double t336 = t49 * t53; + const double t337 = t336 * t139; + const double t338 = 0.12e2 * t337; + const double t339 = t177 * t182; + const double t340 = t339 * t139; + const double t341 = 0.32e2 * t340; + const double t343 = 0.1e1 / t52 / t51; + const double t344 = t50 * t343; + const double t345 = t344 * t139; + const double t346 = 0.2e2 * t345; + const double t347 = t197 * t110; + const double t348 = t347 * t269; + const double t349 = 0.2e1 * t348; + const double t351 = t113 * t300 * t302; + const double t359 = t120 * t319 * t302; + const double t371 = -t351 * t309 / 0.18e2 + t236 * t314 / 0.9e1 + t117 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t359 * t309 + 0.83333333333333333333e-1 * t242 * t314 + t127 * t364 * t186 / 0.9e1 + t127 * t125 * t186 / 0.3e1; + const double t373 = t233 * t371 * t268; + const double t374 = t266 * t373; + const double t375 = t154 * t40; + const double t376 = 0.1e1 / t375; + const double t377 = t16 * t376; + const double t378 = t173 * t173; + const double t379 = t378 * t174; + const double t380 = t377 * t379; + const double t381 = 0.2e1 * t380; + const double t382 = t154 * t154; + const double t383 = 0.1e1 / t382; + const double t384 = t16 * t383; + const double t385 = t44 * t44; + const double t386 = 0.1e1 / t385; + const double t388 = t378 * t386 * t18; + const double t389 = t384 * t388; + const double t390 = t389 / 0.2e1; + const double t391 = t178 * t198; + const double t392 = 0.8e1 * t391; + const double t393 = t178 * t254; + const double t394 = 0.8e1 * t393; + const double t395 = t183 * t198; + const double t396 = 0.8e1 * t395; + const double t397 = t335 + t338 - t341 + t346 - t349 - t374 - t381 + t390 + t392 + t394 - t396; + const double t398 = t183 * t254; + const double t399 = 0.8e1 * t398; + const double t400 = t61 * t61; + const double t401 = 0.1e1 / t400; + const double t402 = t188 * t188; + const double t405 = t51 * t10; + const double t406 = 0.1e1 / t405; + const double t407 = t48 * t406; + const double t409 = -0.2e1 * t186 + 0.2e1 * t407; + const double t413 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t402 + 0.4e1 / 0.3e1 * t61 * t409 ); + const double t414 = t66 * t66; + const double t415 = 0.1e1 / t414; + const double t416 = t192 * t192; + const double t419 = -t409; + const double t423 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t416 + 0.4e1 / 0.3e1 * t66 * t419 ); + const double t425 = ( t413 + t423 ) * t73; + const double t426 = t425 * t138; + const double t427 = t54 * t426; + const double t428 = t197 * t253; + const double t429 = t54 * t428; + const double t430 = 0.2e1 * t429; + const double t436 = t149 * t207; + const double t440 = t206 * t98; + const double t441 = 0.1e1 / t440; + const double t442 = t80 * t441; + const double t443 = t222 * t222; + const double t444 = t443 * t223; + const double t448 = t83 * t300 * t302; + const double t456 = t90 * t319 * t302; + const double t468 = -t448 * t309 / 0.18e2 + t210 * t314 / 0.9e1 + t87 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t456 * t309 + 0.83333333333333333333e-1 * t216 * t314 + t97 * t461 * t186 / 0.9e1 + t97 * t95 * t186 / 0.3e1; + const double t469 = t468 * t223; + const double t471 = t206 * t206; + const double t472 = 0.1e1 / t471; + const double t473 = t80 * t472; + const double t474 = t102 * t102; + const double t475 = 0.1e1 / t474; + const double t477 = t443 * t475 * t82; + const double t482 = t147 * t9 * t313 * t45; + const double t483 = 0.2e1 / 0.9e1 * t482; + const double t485 = t149 * t155; + const double t487 = t484 * t485 * t175; + const double t488 = t487 / 0.6e1; + const double t489 = t8 * t313; + const double t494 = t149 * t233; + const double t498 = t232 * t128; + const double t499 = 0.1e1 / t498; + const double t500 = t110 * t499; + const double t501 = t248 * t248; + const double t502 = t501 * t249; + const double t503 = t502 * t134; + const double t506 = t371 * t249; + const double t507 = t506 * t134; + const double t509 = t232 * t232; + const double t510 = 0.1e1 / t509; + const double t511 = t110 * t510; + const double t512 = t511 * t501; + const double t513 = t132 * t132; + const double t514 = 0.1e1 / t513; + const double t515 = t514 * t134; + const double t516 = t515 * t112; + const double t519 = -0.2e1 / 0.9e1 * t201 * t9 * t313 * t103 - t435 * t436 * t224 / 0.6e1 - 0.2e1 * t442 * t444 + t208 * t469 + t473 * t477 / 0.2e1 + t483 + t488 + t381 - t335 - t390 - 0.2e1 / 0.9e1 * t227 * t489 * t135 - t493 * t494 * t251 / 0.6e1 - 0.2e1 * t500 * t503 + t234 * t507 + t512 * t516 / 0.2e1; + const double t520 = t74 * t519; + const double t521 = t54 * t520; + const double t523 = t499 * t501 * t268; + const double t524 = t266 * t523; + const double t525 = 0.2e1 * t524; + const double t526 = t74 * t511; + const double t527 = t501 * t514; + const double t529 = t527 * t528; + const double t530 = t526 * t529; + const double t531 = t530 / 0.2e1; + const double t532 = t197 * t259; + const double t533 = t532 * t263; + const double t534 = t533 / 0.3e1; + const double t536 = t425 * t105 * t143; + const double t537 = 0.2e1 * t536; + const double t540 = t9 * t313 * t133 * t134; + const double t541 = t260 * t540; + const double t542 = 0.2e1 / 0.9e1 * t541; + const double t544 = t74 * t543; + const double t545 = t228 * t233; + const double t546 = t545 * t251; + const double t547 = t544 * t546; + const double t548 = t547 / 0.6e1; + const double t549 = -t399 + t427 + t430 + t521 - t483 - t488 + t525 - t531 - t534 + t537 + t542 + t548; + const double t552 = t282 * t110; + const double t553 = t552 * t269; + const double t555 = t282 * t259; + const double t556 = t555 * t263; + const double t558 = t548 - t553 - t483 + t525 - t348 - t374 - t488 - t531 + t335 - t533 / 0.6e1 + t542 - t556 / 0.6e1 - t338; + const double t559 = t178 * t283; + const double t561 = t183 * t283; + const double t563 = t401 * t273; + const double t566 = t61 * t48; + const double t570 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t563 * t188 + 0.8e1 / 0.3e1 * t566 * t406 ); + const double t571 = t415 * t277; + const double t574 = t66 * t48; + const double t578 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t571 * t192 - 0.8e1 / 0.3e1 * t574 * t406 ); + const double t580 = ( t570 + t578 ) * t73; + const double t581 = t580 * t138; + const double t582 = t54 * t581; + const double t586 = t580 * t105 * t143; + const double t588 = t282 * t253; + const double t589 = t54 * t588; + const double t590 = t346 + 0.4e1 * t559 - 0.4e1 * t561 + t582 - t381 + t390 - 0.4e1 * t391 - 0.4e1 * t395 - t399 + t429 + t521 + 0.2e1 * t586 + t589; + const double t595 = t273 * t273; + const double t599 = 0.2e1 * t186 + 0.2e1 * t407; + const double t603 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t595 + 0.4e1 / 0.3e1 * t61 * t599 ); + const double t604 = t277 * t277; + const double t607 = -t599; + const double t611 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t604 + 0.4e1 / 0.3e1 * t66 * t607 ); + const double t613 = ( t603 + t611 ) * t73; + const double t614 = t613 * t138; + const double t615 = t54 * t614; + const double t617 = t613 * t105 * t143; + const double t618 = 0.2e1 * t617; + const double t619 = t615 + t618 + t335 + t338 + t341 + t346 - t374 - t381 + t390 - t394 - t399; + const double t620 = t556 / 0.3e1; + const double t621 = 0.8e1 * t559; + const double t622 = 0.8e1 * t561; + const double t623 = 0.2e1 * t589; + const double t624 = 0.2e1 * t553; + const double t625 = t521 - t483 - t488 + t525 - t531 - t620 - t621 - t622 + t623 + t542 + t548 - t624; + + + v2rho2_aa = t290 + t291 + t292 - t293 + 0.2e1 * t199 + t295 + 0.4e1 * t257 - t297 - t298 + t10 * ( t397 + t549 ); + v2rho2_ab = t290 + t291 - t293 + t199 + t295 + t258 - t297 - t298 + t284 + t287 + t10 * ( t558 + t590 ); + v2rho2_bb = t290 + t291 - t292 - t293 + 0.2e1 * t284 + t295 + 0.4e1 * t286 - t297 - t298 + t10 * ( t619 + t625 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t70 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t18 = 0.1e1 / t1; + constexpr double t19 = beta1_0; + constexpr double t20 = t3 * t6; + constexpr double t27 = beta2_0 * t3; + constexpr double t30 = beta3_0; + constexpr double t37 = pp_0 + 0.1e1; + constexpr double t75 = a_1; + constexpr double t76 = alpha1_1; + constexpr double t77 = t76 * t3; + constexpr double t82 = 0.1e1 / t75; + constexpr double t83 = beta1_1; + constexpr double t87 = beta2_1 * t3; + constexpr double t90 = beta3_1; + constexpr double t95 = pp_1 + 0.1e1; + constexpr double t105 = a_2; + constexpr double t106 = alpha1_2; + constexpr double t107 = t106 * t3; + constexpr double t112 = 0.1e1 / t105; + constexpr double t113 = beta1_2; + constexpr double t117 = beta2_2 * t3; + constexpr double t120 = beta3_2; + constexpr double t125 = pp_2 + 0.1e1; + constexpr double t134 = 0.1e1 / fz20; + constexpr double t147 = t1 * t2 * t3; + constexpr double t201 = t75 * t76 * t3; + constexpr double t226 = t105 * t106; + constexpr double t227 = t226 * t20; + constexpr double t259 = t226 * t3; + constexpr double t302 = t3 * t3; + constexpr double t304 = t6 * t6; + constexpr double t305 = t304 * t7; + constexpr double t326 = t37 * t37; + constexpr double t364 = t125 * t125; + constexpr double t435 = t77 * t9; + constexpr double t461 = t95 * t95; + constexpr double t484 = t4 * t9; + constexpr double t493 = t107 * t9; + constexpr double t528 = t134 * t112; + constexpr double t543 = t107 * t6; + + + const double t10 = rho_a + rho_b; + const double t11 = safe_math::cbrt( t10 ); + const double t12 = 0.1e1 / t11; + const double t13 = t9 * t12; + const double t16 = 0.1e1 + t4 * t13 / 0.4e1; + const double t22 = t20 * t8 * t12; + const double t23 = safe_math::sqrt( t22 ); + const double t31 = pow_3_2( t22 ); + const double t35 = t22 / 0.4e1; + const double t38 = safe_math::pow( t35, t37 ); + const double t39 = beta4_0 * t38; + const double t40 = t19 * t23 / 0.2e1 + t27 * t13 / 0.4e1 + 0.125e0 * t30 * t31 + t39; + const double t44 = 0.1e1 + t18 / t40 / 0.2e1; + const double t45 = safe_math::log( t44 ); + const double t46 = t1 * t16 * t45; + const double t47 = 0.2e1 * t46; + const double t48 = rho_a - rho_b; + const double t49 = t48 * t48; + const double t50 = t49 * t49; + const double t51 = t10 * t10; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t54 = t50 * t53; + const double t55 = 0.1e1 / t10; + const double t56 = t48 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t73 = 0.1e1 / ( 0.2e1 * t70 - 0.2e1 ); + const double t74 = t69 * t73; + const double t80 = 0.1e1 + t77 * t13 / 0.4e1; + const double t96 = safe_math::pow( t35, t95 ); + const double t97 = beta4_1 * t96; + const double t98 = t83 * t23 / 0.2e1 + t87 * t13 / 0.4e1 + 0.125e0 * t90 * t31 + t97; + const double t102 = 0.1e1 + t82 / t98 / 0.2e1; + const double t103 = safe_math::log( t102 ); + const double t110 = 0.1e1 + t107 * t13 / 0.4e1; + const double t126 = safe_math::pow( t35, t125 ); + const double t127 = beta4_2 * t126; + const double t128 = t113 * t23 / 0.2e1 + t117 * t13 / 0.4e1 + 0.125e0 * t120 * t31 + t127; + const double t132 = 0.1e1 + t112 / t128 / 0.2e1; + const double t133 = safe_math::log( t132 ); + const double t135 = t133 * t134; + const double t138 = -0.2e1 * t75 * t80 * t103 - 0.2e1 * t105 * t110 * t135 + 0.2e1 * t46; + const double t139 = t74 * t138; + const double t140 = t54 * t139; + const double t143 = t110 * t133 * t134; + const double t145 = 0.2e1 * t74 * t105 * t143; + const double t149 = 0.1e1 / t11 / t10; + const double t152 = t147 * t9 * t149 * t45; + const double t153 = t152 / 0.6e1; + const double t154 = t40 * t40; + const double t155 = 0.1e1 / t154; + const double t156 = t16 * t155; + const double t157 = 0.1e1 / t23; + const double t159 = t19 * t157 * t3; + const double t160 = t9 * t149; + const double t165 = safe_math::sqrt( t22 ); + const double t167 = t30 * t165 * t3; + const double t173 = -t159 * t160 / 0.12e2 - t27 * t160 / 0.12e2 - 0.625e-1 * t167 * t160 - t39 * t37 * t55 / 0.3e1; + const double t174 = 0.1e1 / t44; + const double t175 = t173 * t174; + const double t176 = t156 * t175; + const double t177 = t49 * t48; + const double t178 = t177 * t53; + const double t179 = t178 * t139; + const double t180 = 0.4e1 * t179; + const double t181 = t52 * t10; + const double t182 = 0.1e1 / t181; + const double t183 = t50 * t182; + const double t184 = t183 * t139; + const double t185 = 0.4e1 * t184; + const double t186 = 0.1e1 / t51; + const double t187 = t48 * t186; + const double t188 = t55 - t187; + const double t191 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t188 ); + const double t192 = -t188; + const double t195 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t192 ); + const double t197 = ( t191 + t195 ) * t73; + const double t198 = t197 * t138; + const double t199 = t54 * t198; + const double t206 = t98 * t98; + const double t207 = 0.1e1 / t206; + const double t208 = t80 * t207; + const double t210 = t83 * t157 * t3; + const double t216 = t90 * t165 * t3; + const double t222 = -t210 * t160 / 0.12e2 - t87 * t160 / 0.12e2 - 0.625e-1 * t216 * t160 - t97 * t95 * t55 / 0.3e1; + const double t223 = 0.1e1 / t102; + const double t224 = t222 * t223; + const double t228 = t8 * t149; + const double t232 = t128 * t128; + const double t233 = 0.1e1 / t232; + const double t234 = t110 * t233; + const double t236 = t113 * t157 * t3; + const double t242 = t120 * t165 * t3; + const double t248 = -t236 * t160 / 0.12e2 - t117 * t160 / 0.12e2 - 0.625e-1 * t242 * t160 - t127 * t125 * t55 / 0.3e1; + const double t249 = 0.1e1 / t132; + const double t251 = t248 * t249 * t134; + const double t253 = t201 * t9 * t149 * t103 / 0.6e1 + t208 * t224 - t153 - t176 + t227 * t228 * t135 / 0.6e1 + t234 * t251; + const double t254 = t74 * t253; + const double t255 = t54 * t254; + const double t257 = t197 * t105 * t143; + const double t258 = 0.2e1 * t257; + const double t260 = t74 * t259; + const double t263 = t9 * t149 * t133 * t134; + const double t264 = t260 * t263; + const double t265 = t264 / 0.6e1; + const double t266 = t74 * t110; + const double t268 = t249 * t134; + const double t269 = t233 * t248 * t268; + const double t270 = t266 * t269; + const double t273 = -t55 - t187; + const double t276 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t273 ); + const double t277 = -t273; + const double t280 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t277 ); + const double t282 = ( t276 + t280 ) * t73; + const double t283 = t282 * t138; + const double t284 = t54 * t283; + const double t286 = t282 * t105 * t143; + const double t287 = 0.2e1 * t286; + const double t290 = t152 / 0.3e1; + const double t291 = 0.2e1 * t176; + const double t292 = 0.8e1 * t179; + const double t293 = 0.8e1 * t184; + const double t295 = 0.2e1 * t255; + const double t297 = t264 / 0.3e1; + const double t298 = 0.2e1 * t270; + const double t300 = 0.1e1 / t23 / t22; + const double t303 = t19 * t300 * t302; + const double t306 = t11 * t11; + const double t309 = t305 / t306 / t51; + const double t313 = 0.1e1 / t11 / t51; + const double t314 = t9 * t313; + const double t319 = 0.1e1/safe_math::sqrt( t22 ); + const double t321 = t30 * t319 * t302; + const double t333 = -t303 * t309 / 0.18e2 + t159 * t314 / 0.9e1 + t27 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t321 * t309 + 0.83333333333333333333e-1 * t167 * t314 + t39 * t326 * t186 / 0.9e1 + t39 * t37 * t186 / 0.3e1; + const double t334 = t333 * t174; + const double t335 = t156 * t334; + const double t336 = t49 * t53; + const double t337 = t336 * t139; + const double t338 = 0.12e2 * t337; + const double t339 = t177 * t182; + const double t340 = t339 * t139; + const double t341 = 0.32e2 * t340; + const double t343 = 0.1e1 / t52 / t51; + const double t344 = t50 * t343; + const double t345 = t344 * t139; + const double t346 = 0.2e2 * t345; + const double t347 = t197 * t110; + const double t348 = t347 * t269; + const double t349 = 0.2e1 * t348; + const double t351 = t113 * t300 * t302; + const double t359 = t120 * t319 * t302; + const double t371 = -t351 * t309 / 0.18e2 + t236 * t314 / 0.9e1 + t117 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t359 * t309 + 0.83333333333333333333e-1 * t242 * t314 + t127 * t364 * t186 / 0.9e1 + t127 * t125 * t186 / 0.3e1; + const double t373 = t233 * t371 * t268; + const double t374 = t266 * t373; + const double t375 = t154 * t40; + const double t376 = 0.1e1 / t375; + const double t377 = t16 * t376; + const double t378 = t173 * t173; + const double t379 = t378 * t174; + const double t380 = t377 * t379; + const double t381 = 0.2e1 * t380; + const double t382 = t154 * t154; + const double t383 = 0.1e1 / t382; + const double t384 = t16 * t383; + const double t385 = t44 * t44; + const double t386 = 0.1e1 / t385; + const double t388 = t378 * t386 * t18; + const double t389 = t384 * t388; + const double t390 = t389 / 0.2e1; + const double t391 = t178 * t198; + const double t392 = 0.8e1 * t391; + const double t393 = t178 * t254; + const double t394 = 0.8e1 * t393; + const double t395 = t183 * t198; + const double t396 = 0.8e1 * t395; + const double t397 = t335 + t338 - t341 + t346 - t349 - t374 - t381 + t390 + t392 + t394 - t396; + const double t398 = t183 * t254; + const double t399 = 0.8e1 * t398; + const double t400 = t61 * t61; + const double t401 = 0.1e1 / t400; + const double t402 = t188 * t188; + const double t405 = t51 * t10; + const double t406 = 0.1e1 / t405; + const double t407 = t48 * t406; + const double t409 = -0.2e1 * t186 + 0.2e1 * t407; + const double t413 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t402 + 0.4e1 / 0.3e1 * t61 * t409 ); + const double t414 = t66 * t66; + const double t415 = 0.1e1 / t414; + const double t416 = t192 * t192; + const double t419 = -t409; + const double t423 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t416 + 0.4e1 / 0.3e1 * t66 * t419 ); + const double t425 = ( t413 + t423 ) * t73; + const double t426 = t425 * t138; + const double t427 = t54 * t426; + const double t428 = t197 * t253; + const double t429 = t54 * t428; + const double t430 = 0.2e1 * t429; + const double t436 = t149 * t207; + const double t440 = t206 * t98; + const double t441 = 0.1e1 / t440; + const double t442 = t80 * t441; + const double t443 = t222 * t222; + const double t444 = t443 * t223; + const double t448 = t83 * t300 * t302; + const double t456 = t90 * t319 * t302; + const double t468 = -t448 * t309 / 0.18e2 + t210 * t314 / 0.9e1 + t87 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t456 * t309 + 0.83333333333333333333e-1 * t216 * t314 + t97 * t461 * t186 / 0.9e1 + t97 * t95 * t186 / 0.3e1; + const double t469 = t468 * t223; + const double t471 = t206 * t206; + const double t472 = 0.1e1 / t471; + const double t473 = t80 * t472; + const double t474 = t102 * t102; + const double t475 = 0.1e1 / t474; + const double t477 = t443 * t475 * t82; + const double t482 = t147 * t9 * t313 * t45; + const double t483 = 0.2e1 / 0.9e1 * t482; + const double t485 = t149 * t155; + const double t487 = t484 * t485 * t175; + const double t488 = t487 / 0.6e1; + const double t489 = t8 * t313; + const double t494 = t149 * t233; + const double t498 = t232 * t128; + const double t499 = 0.1e1 / t498; + const double t500 = t110 * t499; + const double t501 = t248 * t248; + const double t502 = t501 * t249; + const double t503 = t502 * t134; + const double t506 = t371 * t249; + const double t507 = t506 * t134; + const double t509 = t232 * t232; + const double t510 = 0.1e1 / t509; + const double t511 = t110 * t510; + const double t512 = t511 * t501; + const double t513 = t132 * t132; + const double t514 = 0.1e1 / t513; + const double t515 = t514 * t134; + const double t516 = t515 * t112; + const double t519 = -0.2e1 / 0.9e1 * t201 * t9 * t313 * t103 - t435 * t436 * t224 / 0.6e1 - 0.2e1 * t442 * t444 + t208 * t469 + t473 * t477 / 0.2e1 + t483 + t488 + t381 - t335 - t390 - 0.2e1 / 0.9e1 * t227 * t489 * t135 - t493 * t494 * t251 / 0.6e1 - 0.2e1 * t500 * t503 + t234 * t507 + t512 * t516 / 0.2e1; + const double t520 = t74 * t519; + const double t521 = t54 * t520; + const double t523 = t499 * t501 * t268; + const double t524 = t266 * t523; + const double t525 = 0.2e1 * t524; + const double t526 = t74 * t511; + const double t527 = t501 * t514; + const double t529 = t527 * t528; + const double t530 = t526 * t529; + const double t531 = t530 / 0.2e1; + const double t532 = t197 * t259; + const double t533 = t532 * t263; + const double t534 = t533 / 0.3e1; + const double t536 = t425 * t105 * t143; + const double t537 = 0.2e1 * t536; + const double t540 = t9 * t313 * t133 * t134; + const double t541 = t260 * t540; + const double t542 = 0.2e1 / 0.9e1 * t541; + const double t544 = t74 * t543; + const double t545 = t228 * t233; + const double t546 = t545 * t251; + const double t547 = t544 * t546; + const double t548 = t547 / 0.6e1; + const double t549 = -t399 + t427 + t430 + t521 - t483 - t488 + t525 - t531 - t534 + t537 + t542 + t548; + const double t552 = t282 * t110; + const double t553 = t552 * t269; + const double t555 = t282 * t259; + const double t556 = t555 * t263; + const double t558 = t548 - t553 - t483 + t525 - t348 - t374 - t488 - t531 + t335 - t533 / 0.6e1 + t542 - t556 / 0.6e1 - t338; + const double t559 = t178 * t283; + const double t561 = t183 * t283; + const double t563 = t401 * t273; + const double t566 = t61 * t48; + const double t570 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t563 * t188 + 0.8e1 / 0.3e1 * t566 * t406 ); + const double t571 = t415 * t277; + const double t574 = t66 * t48; + const double t578 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t571 * t192 - 0.8e1 / 0.3e1 * t574 * t406 ); + const double t580 = ( t570 + t578 ) * t73; + const double t581 = t580 * t138; + const double t582 = t54 * t581; + const double t586 = t580 * t105 * t143; + const double t588 = t282 * t253; + const double t589 = t54 * t588; + const double t590 = t346 + 0.4e1 * t559 - 0.4e1 * t561 + t582 - t381 + t390 - 0.4e1 * t391 - 0.4e1 * t395 - t399 + t429 + t521 + 0.2e1 * t586 + t589; + const double t595 = t273 * t273; + const double t599 = 0.2e1 * t186 + 0.2e1 * t407; + const double t603 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t595 + 0.4e1 / 0.3e1 * t61 * t599 ); + const double t604 = t277 * t277; + const double t607 = -t599; + const double t611 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t604 + 0.4e1 / 0.3e1 * t66 * t607 ); + const double t613 = ( t603 + t611 ) * t73; + const double t614 = t613 * t138; + const double t615 = t54 * t614; + const double t617 = t613 * t105 * t143; + const double t618 = 0.2e1 * t617; + const double t619 = t615 + t618 + t335 + t338 + t341 + t346 - t374 - t381 + t390 - t394 - t399; + const double t620 = t556 / 0.3e1; + const double t621 = 0.8e1 * t559; + const double t622 = 0.8e1 * t561; + const double t623 = 0.2e1 * t589; + const double t624 = 0.2e1 * t553; + const double t625 = t521 - t483 - t488 + t525 - t531 - t620 - t621 - t622 + t623 + t542 + t548 - t624; + + + vrho_a = -t47 + t140 + t145 + t10 * ( t153 + t176 + t180 - t185 + t199 + t255 + t258 - t265 - t270 ); + vrho_b = -t47 + t140 + t145 + t10 * ( t153 + t176 - t180 - t185 + t284 + t255 + t287 - t265 - t270 ); + v2rho2_aa = t290 + t291 + t292 - t293 + 0.2e1 * t199 + t295 + 0.4e1 * t257 - t297 - t298 + t10 * ( t397 + t549 ); + v2rho2_ab = t290 + t291 - t293 + t199 + t295 + t258 - t297 - t298 + t284 + t287 + t10 * ( t558 + t590 ); + v2rho2_bb = t290 + t291 - t292 - t293 + 0.2e1 * t284 + t295 + 0.4e1 * t286 - t297 - t298 + t10 * ( t619 + t625 ); + + } + }; @@ -495,4 +1563,4 @@ struct BuiltinPW91_LDA_MOD : detail::BuiltinKernelImpl< BuiltinPW91_LDA_MOD > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pw91_lda_rpa.hpp b/include/exchcxx/impl/builtin/kernels/pw91_lda_rpa.hpp index 43dc17c..4e9aaec 100644 --- a/include/exchcxx/impl/builtin/kernels/pw91_lda_rpa.hpp +++ b/include/exchcxx/impl/builtin/kernels/pw91_lda_rpa.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPW91_LDA_RPA > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double pp_0 = 0.75; static constexpr double pp_1 = 0.75; @@ -57,7 +106,6 @@ struct kernel_traits< BuiltinPW91_LDA_RPA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -117,7 +165,6 @@ struct kernel_traits< BuiltinPW91_LDA_RPA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -202,10 +249,296 @@ struct kernel_traits< BuiltinPW91_LDA_RPA > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t52 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t17 = 0.1e1 / t1; + constexpr double t18 = beta1_0; + constexpr double t19 = t3 * t6; + constexpr double t26 = beta2_0 * t3; + constexpr double t29 = beta3_0; + constexpr double t36 = pp_0 + 0.1e1; + constexpr double t57 = a_2; + constexpr double t59 = alpha1_2; + constexpr double t60 = t59 * t3; + constexpr double t64 = 0.1e1 / t57; + constexpr double t65 = beta1_2; + constexpr double t69 = beta2_2 * t3; + constexpr double t72 = beta3_2; + constexpr double t77 = pp_2 + 0.1e1; + constexpr double t87 = 0.1e1 / fz20; + constexpr double t94 = t1 * t2 * t3; + constexpr double t168 = t4 * t9; + constexpr double t183 = t3 * t3; + constexpr double t185 = t6 * t6; + constexpr double t186 = t185 * t7; + constexpr double t205 = t36 * t36; + constexpr double t260 = t77 * t77; + constexpr double t278 = t87 * t64; + + + const double t10 = safe_math::cbrt( rho ); + const double t11 = 0.1e1 / t10; + const double t12 = t9 * t11; + const double t15 = 0.1e1 + t4 * t12 / 0.4e1; + const double t21 = t19 * t8 * t11; + const double t22 = safe_math::sqrt( t21 ); + const double t30 = pow_3_2( t21 ); + const double t34 = t21 / 0.4e1; + const double t37 = safe_math::pow( t34, t36 ); + const double t38 = beta4_0 * t37; + const double t39 = t18 * t22 / 0.2e1 + t26 * t12 / 0.4e1 + 0.125e0 * t29 * t30 + t38; + const double t43 = 0.1e1 + t17 / t39 / 0.2e1; + const double t44 = safe_math::log( t43 ); + const double t47 = safe_math::cbrt( zeta_tol ); + const double t49 = piecewise_functor_3( 0.1e1 <= zeta_tol, t47 * zeta_tol, 1.0 ); + const double t56 = ( 0.2e1 * t49 - 0.2e1 ) / ( 0.2e1 * t52 - 0.2e1 ); + const double t63 = 0.1e1 + t60 * t12 / 0.4e1; + const double t78 = safe_math::pow( t34, t77 ); + const double t79 = beta4_2 * t78; + const double t80 = t65 * t22 / 0.2e1 + t69 * t12 / 0.4e1 + 0.125e0 * t72 * t30 + t79; + const double t84 = 0.1e1 + t64 / t80 / 0.2e1; + const double t85 = safe_math::log( t84 ); + const double t96 = 0.1e1 / t10 / rho; + const double t99 = t94 * t9 * t96 * t44; + const double t101 = t39 * t39; + const double t102 = 0.1e1 / t101; + const double t103 = t15 * t102; + const double t104 = 0.1e1 / t22; + const double t106 = t18 * t104 * t3; + const double t107 = t9 * t96; + const double t112 = safe_math::sqrt( t21 ); + const double t114 = t29 * t112 * t3; + const double t117 = 0.1e1 / rho; + const double t121 = -t106 * t107 / 0.12e2 - t26 * t107 / 0.12e2 - 0.625e-1 * t114 * t107 - t38 * t36 * t117 / 0.3e1; + const double t122 = 0.1e1 / t43; + const double t123 = t121 * t122; + const double t124 = t103 * t123; + const double t127 = t56 * t57 * t59 * t3; + const double t131 = t127 * t9 * t96 * t85 * t87; + const double t133 = t56 * t63; + const double t134 = t80 * t80; + const double t135 = 0.1e1 / t134; + const double t137 = t65 * t104 * t3; + const double t143 = t72 * t112 * t3; + const double t149 = -t137 * t107 / 0.12e2 - t69 * t107 / 0.12e2 - 0.625e-1 * t143 * t107 - t79 * t77 * t117 / 0.3e1; + const double t151 = 0.1e1 / t84; + const double t152 = t151 * t87; + const double t154 = t133 * t135 * t149 * t152; + const double t161 = rho * rho; + const double t163 = 0.1e1 / t10 / t161; + const double t166 = t94 * t9 * t163 * t44; + const double t169 = t96 * t102; + const double t171 = t168 * t169 * t123; + const double t173 = t101 * t39; + const double t174 = 0.1e1 / t173; + const double t175 = t15 * t174; + const double t176 = t121 * t121; + const double t177 = t176 * t122; + const double t178 = t175 * t177; + const double t181 = 0.1e1 / t22 / t21; + const double t184 = t18 * t181 * t183; + const double t187 = t10 * t10; + const double t190 = t186 / t187 / t161; + const double t193 = t9 * t163; + const double t198 = 0.1e1/safe_math::sqrt( t21 ); + const double t200 = t29 * t198 * t183; + const double t206 = 0.1e1 / t161; + const double t213 = -t184 * t190 / 0.18e2 + t106 * t193 / 0.9e1 + t26 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t200 * t190 + 0.83333333333333333333e-1 * t114 * t193 + t38 * t205 * t206 / 0.9e1 + t38 * t36 * t206 / 0.3e1; + const double t214 = t213 * t122; + const double t215 = t103 * t214; + const double t216 = t101 * t101; + const double t217 = 0.1e1 / t216; + const double t218 = t15 * t217; + const double t219 = t43 * t43; + const double t220 = 0.1e1 / t219; + const double t222 = t176 * t220 * t17; + const double t223 = t218 * t222; + const double t228 = t127 * t9 * t163 * t85 * t87; + const double t231 = t56 * t60 * t6; + const double t232 = t8 * t96; + const double t233 = t232 * t135; + const double t234 = t149 * t151; + const double t235 = t234 * t87; + const double t237 = t231 * t233 * t235; + const double t239 = t134 * t80; + const double t240 = 0.1e1 / t239; + const double t241 = t149 * t149; + const double t244 = t133 * t240 * t241 * t152; + const double t247 = t65 * t181 * t183; + const double t255 = t72 * t198 * t183; + const double t267 = -t247 * t190 / 0.18e2 + t137 * t193 / 0.9e1 + t69 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t255 * t190 + 0.83333333333333333333e-1 * t143 * t193 + t79 * t260 * t206 / 0.9e1 + t79 * t77 * t206 / 0.3e1; + const double t270 = t133 * t135 * t267 * t152; + const double t271 = t134 * t134; + const double t272 = 0.1e1 / t271; + const double t274 = t56 * t63 * t272; + const double t275 = t84 * t84; + const double t276 = 0.1e1 / t275; + const double t277 = t241 * t276; + const double t280 = t274 * t277 * t278; + + + v2rho2 = t99 / 0.3e1 + 0.2e1 * t124 - t131 / 0.3e1 - 0.2e1 * t154 + rho * ( -0.2e1 / 0.9e1 * t166 - t171 / 0.6e1 - 0.2e1 * t178 + t215 + t223 / 0.2e1 + 0.2e1 / 0.9e1 * t228 + t237 / 0.6e1 + 0.2e1 * t244 - t270 - t280 / 0.2e1 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t52 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t17 = 0.1e1 / t1; + constexpr double t18 = beta1_0; + constexpr double t19 = t3 * t6; + constexpr double t26 = beta2_0 * t3; + constexpr double t29 = beta3_0; + constexpr double t36 = pp_0 + 0.1e1; + constexpr double t57 = a_2; + constexpr double t59 = alpha1_2; + constexpr double t60 = t59 * t3; + constexpr double t64 = 0.1e1 / t57; + constexpr double t65 = beta1_2; + constexpr double t69 = beta2_2 * t3; + constexpr double t72 = beta3_2; + constexpr double t77 = pp_2 + 0.1e1; + constexpr double t87 = 0.1e1 / fz20; + constexpr double t94 = t1 * t2 * t3; + constexpr double t168 = t4 * t9; + constexpr double t183 = t3 * t3; + constexpr double t185 = t6 * t6; + constexpr double t186 = t185 * t7; + constexpr double t205 = t36 * t36; + constexpr double t260 = t77 * t77; + constexpr double t278 = t87 * t64; + + + const double t10 = safe_math::cbrt( rho ); + const double t11 = 0.1e1 / t10; + const double t12 = t9 * t11; + const double t15 = 0.1e1 + t4 * t12 / 0.4e1; + const double t21 = t19 * t8 * t11; + const double t22 = safe_math::sqrt( t21 ); + const double t30 = pow_3_2( t21 ); + const double t34 = t21 / 0.4e1; + const double t37 = safe_math::pow( t34, t36 ); + const double t38 = beta4_0 * t37; + const double t39 = t18 * t22 / 0.2e1 + t26 * t12 / 0.4e1 + 0.125e0 * t29 * t30 + t38; + const double t43 = 0.1e1 + t17 / t39 / 0.2e1; + const double t44 = safe_math::log( t43 ); + const double t45 = t1 * t15 * t44; + const double t47 = safe_math::cbrt( zeta_tol ); + const double t49 = piecewise_functor_3( 0.1e1 <= zeta_tol, t47 * zeta_tol, 1.0 ); + const double t56 = ( 0.2e1 * t49 - 0.2e1 ) / ( 0.2e1 * t52 - 0.2e1 ); + const double t63 = 0.1e1 + t60 * t12 / 0.4e1; + const double t78 = safe_math::pow( t34, t77 ); + const double t79 = beta4_2 * t78; + const double t80 = t65 * t22 / 0.2e1 + t69 * t12 / 0.4e1 + 0.125e0 * t72 * t30 + t79; + const double t84 = 0.1e1 + t64 / t80 / 0.2e1; + const double t85 = safe_math::log( t84 ); + const double t89 = t56 * t57 * t63 * t85 * t87; + const double t96 = 0.1e1 / t10 / rho; + const double t99 = t94 * t9 * t96 * t44; + const double t101 = t39 * t39; + const double t102 = 0.1e1 / t101; + const double t103 = t15 * t102; + const double t104 = 0.1e1 / t22; + const double t106 = t18 * t104 * t3; + const double t107 = t9 * t96; + const double t112 = safe_math::sqrt( t21 ); + const double t114 = t29 * t112 * t3; + const double t117 = 0.1e1 / rho; + const double t121 = -t106 * t107 / 0.12e2 - t26 * t107 / 0.12e2 - 0.625e-1 * t114 * t107 - t38 * t36 * t117 / 0.3e1; + const double t122 = 0.1e1 / t43; + const double t123 = t121 * t122; + const double t124 = t103 * t123; + const double t127 = t56 * t57 * t59 * t3; + const double t131 = t127 * t9 * t96 * t85 * t87; + const double t133 = t56 * t63; + const double t134 = t80 * t80; + const double t135 = 0.1e1 / t134; + const double t137 = t65 * t104 * t3; + const double t143 = t72 * t112 * t3; + const double t149 = -t137 * t107 / 0.12e2 - t69 * t107 / 0.12e2 - 0.625e-1 * t143 * t107 - t79 * t77 * t117 / 0.3e1; + const double t151 = 0.1e1 / t84; + const double t152 = t151 * t87; + const double t154 = t133 * t135 * t149 * t152; + const double t161 = rho * rho; + const double t163 = 0.1e1 / t10 / t161; + const double t166 = t94 * t9 * t163 * t44; + const double t169 = t96 * t102; + const double t171 = t168 * t169 * t123; + const double t173 = t101 * t39; + const double t174 = 0.1e1 / t173; + const double t175 = t15 * t174; + const double t176 = t121 * t121; + const double t177 = t176 * t122; + const double t178 = t175 * t177; + const double t181 = 0.1e1 / t22 / t21; + const double t184 = t18 * t181 * t183; + const double t187 = t10 * t10; + const double t190 = t186 / t187 / t161; + const double t193 = t9 * t163; + const double t198 = 0.1e1/safe_math::sqrt( t21 ); + const double t200 = t29 * t198 * t183; + const double t206 = 0.1e1 / t161; + const double t213 = -t184 * t190 / 0.18e2 + t106 * t193 / 0.9e1 + t26 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t200 * t190 + 0.83333333333333333333e-1 * t114 * t193 + t38 * t205 * t206 / 0.9e1 + t38 * t36 * t206 / 0.3e1; + const double t214 = t213 * t122; + const double t215 = t103 * t214; + const double t216 = t101 * t101; + const double t217 = 0.1e1 / t216; + const double t218 = t15 * t217; + const double t219 = t43 * t43; + const double t220 = 0.1e1 / t219; + const double t222 = t176 * t220 * t17; + const double t223 = t218 * t222; + const double t228 = t127 * t9 * t163 * t85 * t87; + const double t231 = t56 * t60 * t6; + const double t232 = t8 * t96; + const double t233 = t232 * t135; + const double t234 = t149 * t151; + const double t235 = t234 * t87; + const double t237 = t231 * t233 * t235; + const double t239 = t134 * t80; + const double t240 = 0.1e1 / t239; + const double t241 = t149 * t149; + const double t244 = t133 * t240 * t241 * t152; + const double t247 = t65 * t181 * t183; + const double t255 = t72 * t198 * t183; + const double t267 = -t247 * t190 / 0.18e2 + t137 * t193 / 0.9e1 + t69 * t193 / 0.9e1 + 0.41666666666666666666e-1 * t255 * t190 + 0.83333333333333333333e-1 * t143 * t193 + t79 * t260 * t206 / 0.9e1 + t79 * t77 * t206 / 0.3e1; + const double t270 = t133 * t135 * t267 * t152; + const double t271 = t134 * t134; + const double t272 = 0.1e1 / t271; + const double t274 = t56 * t63 * t272; + const double t275 = t84 * t84; + const double t276 = 0.1e1 / t275; + const double t277 = t241 * t276; + const double t280 = t274 * t277 * t278; + + + vrho = -0.2e1 * t45 + 0.2e1 * t89 + rho * ( t99 / 0.6e1 + t124 - t131 / 0.6e1 - t154 ); + v2rho2 = t99 / 0.3e1 + 0.2e1 * t124 - t131 / 0.3e1 - 0.2e1 * t154 + rho * ( -0.2e1 / 0.9e1 * t166 - t171 / 0.6e1 - 0.2e1 * t178 + t215 + t223 / 0.2e1 + 0.2e1 / 0.9e1 * t228 + t237 / 0.6e1 + 0.2e1 * t244 - t270 - t280 / 0.2e1 ); + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -305,7 +638,6 @@ struct kernel_traits< BuiltinPW91_LDA_RPA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t6 = constants::m_cbrt_one_ov_pi; constexpr double t7 = constants::m_cbrt_4; @@ -481,6 +813,742 @@ struct kernel_traits< BuiltinPW91_LDA_RPA > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t70 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t18 = 0.1e1 / t1; + constexpr double t19 = beta1_0; + constexpr double t20 = t3 * t6; + constexpr double t27 = beta2_0 * t3; + constexpr double t30 = beta3_0; + constexpr double t37 = pp_0 + 0.1e1; + constexpr double t75 = a_1; + constexpr double t76 = alpha1_1; + constexpr double t77 = t76 * t3; + constexpr double t82 = 0.1e1 / t75; + constexpr double t83 = beta1_1; + constexpr double t87 = beta2_1 * t3; + constexpr double t90 = beta3_1; + constexpr double t95 = pp_1 + 0.1e1; + constexpr double t105 = a_2; + constexpr double t106 = alpha1_2; + constexpr double t107 = t106 * t3; + constexpr double t112 = 0.1e1 / t105; + constexpr double t113 = beta1_2; + constexpr double t117 = beta2_2 * t3; + constexpr double t120 = beta3_2; + constexpr double t125 = pp_2 + 0.1e1; + constexpr double t134 = 0.1e1 / fz20; + constexpr double t147 = t1 * t2 * t3; + constexpr double t201 = t75 * t76 * t3; + constexpr double t226 = t105 * t106; + constexpr double t227 = t226 * t20; + constexpr double t259 = t226 * t3; + constexpr double t302 = t3 * t3; + constexpr double t304 = t6 * t6; + constexpr double t305 = t304 * t7; + constexpr double t326 = t37 * t37; + constexpr double t364 = t125 * t125; + constexpr double t435 = t77 * t9; + constexpr double t461 = t95 * t95; + constexpr double t484 = t4 * t9; + constexpr double t493 = t107 * t9; + constexpr double t528 = t134 * t112; + constexpr double t543 = t107 * t6; + + + const double t10 = rho_a + rho_b; + const double t11 = safe_math::cbrt( t10 ); + const double t12 = 0.1e1 / t11; + const double t13 = t9 * t12; + const double t16 = 0.1e1 + t4 * t13 / 0.4e1; + const double t22 = t20 * t8 * t12; + const double t23 = safe_math::sqrt( t22 ); + const double t31 = pow_3_2( t22 ); + const double t35 = t22 / 0.4e1; + const double t38 = safe_math::pow( t35, t37 ); + const double t39 = beta4_0 * t38; + const double t40 = t19 * t23 / 0.2e1 + t27 * t13 / 0.4e1 + 0.125e0 * t30 * t31 + t39; + const double t44 = 0.1e1 + t18 / t40 / 0.2e1; + const double t45 = safe_math::log( t44 ); + const double t46 = t1 * t16 * t45; + const double t48 = rho_a - rho_b; + const double t49 = t48 * t48; + const double t50 = t49 * t49; + const double t51 = t10 * t10; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t54 = t50 * t53; + const double t55 = 0.1e1 / t10; + const double t56 = t48 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t73 = 0.1e1 / ( 0.2e1 * t70 - 0.2e1 ); + const double t74 = t69 * t73; + const double t80 = 0.1e1 + t77 * t13 / 0.4e1; + const double t96 = safe_math::pow( t35, t95 ); + const double t97 = beta4_1 * t96; + const double t98 = t83 * t23 / 0.2e1 + t87 * t13 / 0.4e1 + 0.125e0 * t90 * t31 + t97; + const double t102 = 0.1e1 + t82 / t98 / 0.2e1; + const double t103 = safe_math::log( t102 ); + const double t110 = 0.1e1 + t107 * t13 / 0.4e1; + const double t126 = safe_math::pow( t35, t125 ); + const double t127 = beta4_2 * t126; + const double t128 = t113 * t23 / 0.2e1 + t117 * t13 / 0.4e1 + 0.125e0 * t120 * t31 + t127; + const double t132 = 0.1e1 + t112 / t128 / 0.2e1; + const double t133 = safe_math::log( t132 ); + const double t135 = t133 * t134; + const double t138 = -0.2e1 * t75 * t80 * t103 - 0.2e1 * t105 * t110 * t135 + 0.2e1 * t46; + const double t139 = t74 * t138; + const double t143 = t110 * t133 * t134; + const double t149 = 0.1e1 / t11 / t10; + const double t152 = t147 * t9 * t149 * t45; + const double t153 = t152 / 0.6e1; + const double t154 = t40 * t40; + const double t155 = 0.1e1 / t154; + const double t156 = t16 * t155; + const double t157 = 0.1e1 / t23; + const double t159 = t19 * t157 * t3; + const double t160 = t9 * t149; + const double t165 = safe_math::sqrt( t22 ); + const double t167 = t30 * t165 * t3; + const double t173 = -t159 * t160 / 0.12e2 - t27 * t160 / 0.12e2 - 0.625e-1 * t167 * t160 - t39 * t37 * t55 / 0.3e1; + const double t174 = 0.1e1 / t44; + const double t175 = t173 * t174; + const double t176 = t156 * t175; + const double t177 = t49 * t48; + const double t178 = t177 * t53; + const double t179 = t178 * t139; + const double t181 = t52 * t10; + const double t182 = 0.1e1 / t181; + const double t183 = t50 * t182; + const double t184 = t183 * t139; + const double t186 = 0.1e1 / t51; + const double t187 = t48 * t186; + const double t188 = t55 - t187; + const double t191 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t188 ); + const double t192 = -t188; + const double t195 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t192 ); + const double t197 = ( t191 + t195 ) * t73; + const double t198 = t197 * t138; + const double t199 = t54 * t198; + const double t206 = t98 * t98; + const double t207 = 0.1e1 / t206; + const double t208 = t80 * t207; + const double t210 = t83 * t157 * t3; + const double t216 = t90 * t165 * t3; + const double t222 = -t210 * t160 / 0.12e2 - t87 * t160 / 0.12e2 - 0.625e-1 * t216 * t160 - t97 * t95 * t55 / 0.3e1; + const double t223 = 0.1e1 / t102; + const double t224 = t222 * t223; + const double t228 = t8 * t149; + const double t232 = t128 * t128; + const double t233 = 0.1e1 / t232; + const double t234 = t110 * t233; + const double t236 = t113 * t157 * t3; + const double t242 = t120 * t165 * t3; + const double t248 = -t236 * t160 / 0.12e2 - t117 * t160 / 0.12e2 - 0.625e-1 * t242 * t160 - t127 * t125 * t55 / 0.3e1; + const double t249 = 0.1e1 / t132; + const double t251 = t248 * t249 * t134; + const double t253 = t201 * t9 * t149 * t103 / 0.6e1 + t208 * t224 - t153 - t176 + t227 * t228 * t135 / 0.6e1 + t234 * t251; + const double t254 = t74 * t253; + const double t255 = t54 * t254; + const double t257 = t197 * t105 * t143; + const double t258 = 0.2e1 * t257; + const double t260 = t74 * t259; + const double t263 = t9 * t149 * t133 * t134; + const double t264 = t260 * t263; + const double t266 = t74 * t110; + const double t268 = t249 * t134; + const double t269 = t233 * t248 * t268; + const double t270 = t266 * t269; + const double t273 = -t55 - t187; + const double t276 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t273 ); + const double t277 = -t273; + const double t280 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t277 ); + const double t282 = ( t276 + t280 ) * t73; + const double t283 = t282 * t138; + const double t284 = t54 * t283; + const double t286 = t282 * t105 * t143; + const double t287 = 0.2e1 * t286; + const double t290 = t152 / 0.3e1; + const double t291 = 0.2e1 * t176; + const double t292 = 0.8e1 * t179; + const double t293 = 0.8e1 * t184; + const double t295 = 0.2e1 * t255; + const double t297 = t264 / 0.3e1; + const double t298 = 0.2e1 * t270; + const double t300 = 0.1e1 / t23 / t22; + const double t303 = t19 * t300 * t302; + const double t306 = t11 * t11; + const double t309 = t305 / t306 / t51; + const double t313 = 0.1e1 / t11 / t51; + const double t314 = t9 * t313; + const double t319 = 0.1e1/safe_math::sqrt( t22 ); + const double t321 = t30 * t319 * t302; + const double t333 = -t303 * t309 / 0.18e2 + t159 * t314 / 0.9e1 + t27 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t321 * t309 + 0.83333333333333333333e-1 * t167 * t314 + t39 * t326 * t186 / 0.9e1 + t39 * t37 * t186 / 0.3e1; + const double t334 = t333 * t174; + const double t335 = t156 * t334; + const double t336 = t49 * t53; + const double t337 = t336 * t139; + const double t338 = 0.12e2 * t337; + const double t339 = t177 * t182; + const double t340 = t339 * t139; + const double t341 = 0.32e2 * t340; + const double t343 = 0.1e1 / t52 / t51; + const double t344 = t50 * t343; + const double t345 = t344 * t139; + const double t346 = 0.2e2 * t345; + const double t347 = t197 * t110; + const double t348 = t347 * t269; + const double t349 = 0.2e1 * t348; + const double t351 = t113 * t300 * t302; + const double t359 = t120 * t319 * t302; + const double t371 = -t351 * t309 / 0.18e2 + t236 * t314 / 0.9e1 + t117 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t359 * t309 + 0.83333333333333333333e-1 * t242 * t314 + t127 * t364 * t186 / 0.9e1 + t127 * t125 * t186 / 0.3e1; + const double t373 = t233 * t371 * t268; + const double t374 = t266 * t373; + const double t375 = t154 * t40; + const double t376 = 0.1e1 / t375; + const double t377 = t16 * t376; + const double t378 = t173 * t173; + const double t379 = t378 * t174; + const double t380 = t377 * t379; + const double t381 = 0.2e1 * t380; + const double t382 = t154 * t154; + const double t383 = 0.1e1 / t382; + const double t384 = t16 * t383; + const double t385 = t44 * t44; + const double t386 = 0.1e1 / t385; + const double t388 = t378 * t386 * t18; + const double t389 = t384 * t388; + const double t390 = t389 / 0.2e1; + const double t391 = t178 * t198; + const double t392 = 0.8e1 * t391; + const double t393 = t178 * t254; + const double t394 = 0.8e1 * t393; + const double t395 = t183 * t198; + const double t396 = 0.8e1 * t395; + const double t397 = t335 + t338 - t341 + t346 - t349 - t374 - t381 + t390 + t392 + t394 - t396; + const double t398 = t183 * t254; + const double t399 = 0.8e1 * t398; + const double t400 = t61 * t61; + const double t401 = 0.1e1 / t400; + const double t402 = t188 * t188; + const double t405 = t51 * t10; + const double t406 = 0.1e1 / t405; + const double t407 = t48 * t406; + const double t409 = -0.2e1 * t186 + 0.2e1 * t407; + const double t413 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t402 + 0.4e1 / 0.3e1 * t61 * t409 ); + const double t414 = t66 * t66; + const double t415 = 0.1e1 / t414; + const double t416 = t192 * t192; + const double t419 = -t409; + const double t423 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t416 + 0.4e1 / 0.3e1 * t66 * t419 ); + const double t425 = ( t413 + t423 ) * t73; + const double t426 = t425 * t138; + const double t427 = t54 * t426; + const double t428 = t197 * t253; + const double t429 = t54 * t428; + const double t430 = 0.2e1 * t429; + const double t436 = t149 * t207; + const double t440 = t206 * t98; + const double t441 = 0.1e1 / t440; + const double t442 = t80 * t441; + const double t443 = t222 * t222; + const double t444 = t443 * t223; + const double t448 = t83 * t300 * t302; + const double t456 = t90 * t319 * t302; + const double t468 = -t448 * t309 / 0.18e2 + t210 * t314 / 0.9e1 + t87 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t456 * t309 + 0.83333333333333333333e-1 * t216 * t314 + t97 * t461 * t186 / 0.9e1 + t97 * t95 * t186 / 0.3e1; + const double t469 = t468 * t223; + const double t471 = t206 * t206; + const double t472 = 0.1e1 / t471; + const double t473 = t80 * t472; + const double t474 = t102 * t102; + const double t475 = 0.1e1 / t474; + const double t477 = t443 * t475 * t82; + const double t482 = t147 * t9 * t313 * t45; + const double t483 = 0.2e1 / 0.9e1 * t482; + const double t485 = t149 * t155; + const double t487 = t484 * t485 * t175; + const double t488 = t487 / 0.6e1; + const double t489 = t8 * t313; + const double t494 = t149 * t233; + const double t498 = t232 * t128; + const double t499 = 0.1e1 / t498; + const double t500 = t110 * t499; + const double t501 = t248 * t248; + const double t502 = t501 * t249; + const double t503 = t502 * t134; + const double t506 = t371 * t249; + const double t507 = t506 * t134; + const double t509 = t232 * t232; + const double t510 = 0.1e1 / t509; + const double t511 = t110 * t510; + const double t512 = t511 * t501; + const double t513 = t132 * t132; + const double t514 = 0.1e1 / t513; + const double t515 = t514 * t134; + const double t516 = t515 * t112; + const double t519 = -0.2e1 / 0.9e1 * t201 * t9 * t313 * t103 - t435 * t436 * t224 / 0.6e1 - 0.2e1 * t442 * t444 + t208 * t469 + t473 * t477 / 0.2e1 + t483 + t488 + t381 - t335 - t390 - 0.2e1 / 0.9e1 * t227 * t489 * t135 - t493 * t494 * t251 / 0.6e1 - 0.2e1 * t500 * t503 + t234 * t507 + t512 * t516 / 0.2e1; + const double t520 = t74 * t519; + const double t521 = t54 * t520; + const double t523 = t499 * t501 * t268; + const double t524 = t266 * t523; + const double t525 = 0.2e1 * t524; + const double t526 = t74 * t511; + const double t527 = t501 * t514; + const double t529 = t527 * t528; + const double t530 = t526 * t529; + const double t531 = t530 / 0.2e1; + const double t532 = t197 * t259; + const double t533 = t532 * t263; + const double t534 = t533 / 0.3e1; + const double t536 = t425 * t105 * t143; + const double t537 = 0.2e1 * t536; + const double t540 = t9 * t313 * t133 * t134; + const double t541 = t260 * t540; + const double t542 = 0.2e1 / 0.9e1 * t541; + const double t544 = t74 * t543; + const double t545 = t228 * t233; + const double t546 = t545 * t251; + const double t547 = t544 * t546; + const double t548 = t547 / 0.6e1; + const double t549 = -t399 + t427 + t430 + t521 - t483 - t488 + t525 - t531 - t534 + t537 + t542 + t548; + const double t552 = t282 * t110; + const double t553 = t552 * t269; + const double t555 = t282 * t259; + const double t556 = t555 * t263; + const double t558 = t548 - t553 - t483 + t525 - t348 - t374 - t488 - t531 + t335 - t533 / 0.6e1 + t542 - t556 / 0.6e1 - t338; + const double t559 = t178 * t283; + const double t561 = t183 * t283; + const double t563 = t401 * t273; + const double t566 = t61 * t48; + const double t570 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t563 * t188 + 0.8e1 / 0.3e1 * t566 * t406 ); + const double t571 = t415 * t277; + const double t574 = t66 * t48; + const double t578 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t571 * t192 - 0.8e1 / 0.3e1 * t574 * t406 ); + const double t580 = ( t570 + t578 ) * t73; + const double t581 = t580 * t138; + const double t582 = t54 * t581; + const double t586 = t580 * t105 * t143; + const double t588 = t282 * t253; + const double t589 = t54 * t588; + const double t590 = t346 + 0.4e1 * t559 - 0.4e1 * t561 + t582 - t381 + t390 - 0.4e1 * t391 - 0.4e1 * t395 - t399 + t429 + t521 + 0.2e1 * t586 + t589; + const double t595 = t273 * t273; + const double t599 = 0.2e1 * t186 + 0.2e1 * t407; + const double t603 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t595 + 0.4e1 / 0.3e1 * t61 * t599 ); + const double t604 = t277 * t277; + const double t607 = -t599; + const double t611 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t604 + 0.4e1 / 0.3e1 * t66 * t607 ); + const double t613 = ( t603 + t611 ) * t73; + const double t614 = t613 * t138; + const double t615 = t54 * t614; + const double t617 = t613 * t105 * t143; + const double t618 = 0.2e1 * t617; + const double t619 = t615 + t618 + t335 + t338 + t341 + t346 - t374 - t381 + t390 - t394 - t399; + const double t620 = t556 / 0.3e1; + const double t621 = 0.8e1 * t559; + const double t622 = 0.8e1 * t561; + const double t623 = 0.2e1 * t589; + const double t624 = 0.2e1 * t553; + const double t625 = t521 - t483 - t488 + t525 - t531 - t620 - t621 - t622 + t623 + t542 + t548 - t624; + + + v2rho2_aa = t290 + t291 + t292 - t293 + 0.2e1 * t199 + t295 + 0.4e1 * t257 - t297 - t298 + t10 * ( t397 + t549 ); + v2rho2_ab = t290 + t291 - t293 + t199 + t295 + t258 - t297 - t298 + t284 + t287 + t10 * ( t558 + t590 ); + v2rho2_bb = t290 + t291 - t292 - t293 + 0.2e1 * t284 + t295 + 0.4e1 * t286 - t297 - t298 + t10 * ( t619 + t625 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t6 = constants::m_cbrt_one_ov_pi; + constexpr double t7 = constants::m_cbrt_4; + constexpr double t70 = constants::m_cbrt_2; + constexpr double t1 = a_0; + constexpr double t2 = alpha1_0; + constexpr double t4 = t2 * t3; + constexpr double t8 = t7 * t7; + constexpr double t9 = t6 * t8; + constexpr double t18 = 0.1e1 / t1; + constexpr double t19 = beta1_0; + constexpr double t20 = t3 * t6; + constexpr double t27 = beta2_0 * t3; + constexpr double t30 = beta3_0; + constexpr double t37 = pp_0 + 0.1e1; + constexpr double t75 = a_1; + constexpr double t76 = alpha1_1; + constexpr double t77 = t76 * t3; + constexpr double t82 = 0.1e1 / t75; + constexpr double t83 = beta1_1; + constexpr double t87 = beta2_1 * t3; + constexpr double t90 = beta3_1; + constexpr double t95 = pp_1 + 0.1e1; + constexpr double t105 = a_2; + constexpr double t106 = alpha1_2; + constexpr double t107 = t106 * t3; + constexpr double t112 = 0.1e1 / t105; + constexpr double t113 = beta1_2; + constexpr double t117 = beta2_2 * t3; + constexpr double t120 = beta3_2; + constexpr double t125 = pp_2 + 0.1e1; + constexpr double t134 = 0.1e1 / fz20; + constexpr double t147 = t1 * t2 * t3; + constexpr double t201 = t75 * t76 * t3; + constexpr double t226 = t105 * t106; + constexpr double t227 = t226 * t20; + constexpr double t259 = t226 * t3; + constexpr double t302 = t3 * t3; + constexpr double t304 = t6 * t6; + constexpr double t305 = t304 * t7; + constexpr double t326 = t37 * t37; + constexpr double t364 = t125 * t125; + constexpr double t435 = t77 * t9; + constexpr double t461 = t95 * t95; + constexpr double t484 = t4 * t9; + constexpr double t493 = t107 * t9; + constexpr double t528 = t134 * t112; + constexpr double t543 = t107 * t6; + + + const double t10 = rho_a + rho_b; + const double t11 = safe_math::cbrt( t10 ); + const double t12 = 0.1e1 / t11; + const double t13 = t9 * t12; + const double t16 = 0.1e1 + t4 * t13 / 0.4e1; + const double t22 = t20 * t8 * t12; + const double t23 = safe_math::sqrt( t22 ); + const double t31 = pow_3_2( t22 ); + const double t35 = t22 / 0.4e1; + const double t38 = safe_math::pow( t35, t37 ); + const double t39 = beta4_0 * t38; + const double t40 = t19 * t23 / 0.2e1 + t27 * t13 / 0.4e1 + 0.125e0 * t30 * t31 + t39; + const double t44 = 0.1e1 + t18 / t40 / 0.2e1; + const double t45 = safe_math::log( t44 ); + const double t46 = t1 * t16 * t45; + const double t47 = 0.2e1 * t46; + const double t48 = rho_a - rho_b; + const double t49 = t48 * t48; + const double t50 = t49 * t49; + const double t51 = t10 * t10; + const double t52 = t51 * t51; + const double t53 = 0.1e1 / t52; + const double t54 = t50 * t53; + const double t55 = 0.1e1 / t10; + const double t56 = t48 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t73 = 0.1e1 / ( 0.2e1 * t70 - 0.2e1 ); + const double t74 = t69 * t73; + const double t80 = 0.1e1 + t77 * t13 / 0.4e1; + const double t96 = safe_math::pow( t35, t95 ); + const double t97 = beta4_1 * t96; + const double t98 = t83 * t23 / 0.2e1 + t87 * t13 / 0.4e1 + 0.125e0 * t90 * t31 + t97; + const double t102 = 0.1e1 + t82 / t98 / 0.2e1; + const double t103 = safe_math::log( t102 ); + const double t110 = 0.1e1 + t107 * t13 / 0.4e1; + const double t126 = safe_math::pow( t35, t125 ); + const double t127 = beta4_2 * t126; + const double t128 = t113 * t23 / 0.2e1 + t117 * t13 / 0.4e1 + 0.125e0 * t120 * t31 + t127; + const double t132 = 0.1e1 + t112 / t128 / 0.2e1; + const double t133 = safe_math::log( t132 ); + const double t135 = t133 * t134; + const double t138 = -0.2e1 * t75 * t80 * t103 - 0.2e1 * t105 * t110 * t135 + 0.2e1 * t46; + const double t139 = t74 * t138; + const double t140 = t54 * t139; + const double t143 = t110 * t133 * t134; + const double t145 = 0.2e1 * t74 * t105 * t143; + const double t149 = 0.1e1 / t11 / t10; + const double t152 = t147 * t9 * t149 * t45; + const double t153 = t152 / 0.6e1; + const double t154 = t40 * t40; + const double t155 = 0.1e1 / t154; + const double t156 = t16 * t155; + const double t157 = 0.1e1 / t23; + const double t159 = t19 * t157 * t3; + const double t160 = t9 * t149; + const double t165 = safe_math::sqrt( t22 ); + const double t167 = t30 * t165 * t3; + const double t173 = -t159 * t160 / 0.12e2 - t27 * t160 / 0.12e2 - 0.625e-1 * t167 * t160 - t39 * t37 * t55 / 0.3e1; + const double t174 = 0.1e1 / t44; + const double t175 = t173 * t174; + const double t176 = t156 * t175; + const double t177 = t49 * t48; + const double t178 = t177 * t53; + const double t179 = t178 * t139; + const double t180 = 0.4e1 * t179; + const double t181 = t52 * t10; + const double t182 = 0.1e1 / t181; + const double t183 = t50 * t182; + const double t184 = t183 * t139; + const double t185 = 0.4e1 * t184; + const double t186 = 0.1e1 / t51; + const double t187 = t48 * t186; + const double t188 = t55 - t187; + const double t191 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t188 ); + const double t192 = -t188; + const double t195 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t192 ); + const double t197 = ( t191 + t195 ) * t73; + const double t198 = t197 * t138; + const double t199 = t54 * t198; + const double t206 = t98 * t98; + const double t207 = 0.1e1 / t206; + const double t208 = t80 * t207; + const double t210 = t83 * t157 * t3; + const double t216 = t90 * t165 * t3; + const double t222 = -t210 * t160 / 0.12e2 - t87 * t160 / 0.12e2 - 0.625e-1 * t216 * t160 - t97 * t95 * t55 / 0.3e1; + const double t223 = 0.1e1 / t102; + const double t224 = t222 * t223; + const double t228 = t8 * t149; + const double t232 = t128 * t128; + const double t233 = 0.1e1 / t232; + const double t234 = t110 * t233; + const double t236 = t113 * t157 * t3; + const double t242 = t120 * t165 * t3; + const double t248 = -t236 * t160 / 0.12e2 - t117 * t160 / 0.12e2 - 0.625e-1 * t242 * t160 - t127 * t125 * t55 / 0.3e1; + const double t249 = 0.1e1 / t132; + const double t251 = t248 * t249 * t134; + const double t253 = t201 * t9 * t149 * t103 / 0.6e1 + t208 * t224 - t153 - t176 + t227 * t228 * t135 / 0.6e1 + t234 * t251; + const double t254 = t74 * t253; + const double t255 = t54 * t254; + const double t257 = t197 * t105 * t143; + const double t258 = 0.2e1 * t257; + const double t260 = t74 * t259; + const double t263 = t9 * t149 * t133 * t134; + const double t264 = t260 * t263; + const double t265 = t264 / 0.6e1; + const double t266 = t74 * t110; + const double t268 = t249 * t134; + const double t269 = t233 * t248 * t268; + const double t270 = t266 * t269; + const double t273 = -t55 - t187; + const double t276 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t273 ); + const double t277 = -t273; + const double t280 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t277 ); + const double t282 = ( t276 + t280 ) * t73; + const double t283 = t282 * t138; + const double t284 = t54 * t283; + const double t286 = t282 * t105 * t143; + const double t287 = 0.2e1 * t286; + const double t290 = t152 / 0.3e1; + const double t291 = 0.2e1 * t176; + const double t292 = 0.8e1 * t179; + const double t293 = 0.8e1 * t184; + const double t295 = 0.2e1 * t255; + const double t297 = t264 / 0.3e1; + const double t298 = 0.2e1 * t270; + const double t300 = 0.1e1 / t23 / t22; + const double t303 = t19 * t300 * t302; + const double t306 = t11 * t11; + const double t309 = t305 / t306 / t51; + const double t313 = 0.1e1 / t11 / t51; + const double t314 = t9 * t313; + const double t319 = 0.1e1/safe_math::sqrt( t22 ); + const double t321 = t30 * t319 * t302; + const double t333 = -t303 * t309 / 0.18e2 + t159 * t314 / 0.9e1 + t27 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t321 * t309 + 0.83333333333333333333e-1 * t167 * t314 + t39 * t326 * t186 / 0.9e1 + t39 * t37 * t186 / 0.3e1; + const double t334 = t333 * t174; + const double t335 = t156 * t334; + const double t336 = t49 * t53; + const double t337 = t336 * t139; + const double t338 = 0.12e2 * t337; + const double t339 = t177 * t182; + const double t340 = t339 * t139; + const double t341 = 0.32e2 * t340; + const double t343 = 0.1e1 / t52 / t51; + const double t344 = t50 * t343; + const double t345 = t344 * t139; + const double t346 = 0.2e2 * t345; + const double t347 = t197 * t110; + const double t348 = t347 * t269; + const double t349 = 0.2e1 * t348; + const double t351 = t113 * t300 * t302; + const double t359 = t120 * t319 * t302; + const double t371 = -t351 * t309 / 0.18e2 + t236 * t314 / 0.9e1 + t117 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t359 * t309 + 0.83333333333333333333e-1 * t242 * t314 + t127 * t364 * t186 / 0.9e1 + t127 * t125 * t186 / 0.3e1; + const double t373 = t233 * t371 * t268; + const double t374 = t266 * t373; + const double t375 = t154 * t40; + const double t376 = 0.1e1 / t375; + const double t377 = t16 * t376; + const double t378 = t173 * t173; + const double t379 = t378 * t174; + const double t380 = t377 * t379; + const double t381 = 0.2e1 * t380; + const double t382 = t154 * t154; + const double t383 = 0.1e1 / t382; + const double t384 = t16 * t383; + const double t385 = t44 * t44; + const double t386 = 0.1e1 / t385; + const double t388 = t378 * t386 * t18; + const double t389 = t384 * t388; + const double t390 = t389 / 0.2e1; + const double t391 = t178 * t198; + const double t392 = 0.8e1 * t391; + const double t393 = t178 * t254; + const double t394 = 0.8e1 * t393; + const double t395 = t183 * t198; + const double t396 = 0.8e1 * t395; + const double t397 = t335 + t338 - t341 + t346 - t349 - t374 - t381 + t390 + t392 + t394 - t396; + const double t398 = t183 * t254; + const double t399 = 0.8e1 * t398; + const double t400 = t61 * t61; + const double t401 = 0.1e1 / t400; + const double t402 = t188 * t188; + const double t405 = t51 * t10; + const double t406 = 0.1e1 / t405; + const double t407 = t48 * t406; + const double t409 = -0.2e1 * t186 + 0.2e1 * t407; + const double t413 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t402 + 0.4e1 / 0.3e1 * t61 * t409 ); + const double t414 = t66 * t66; + const double t415 = 0.1e1 / t414; + const double t416 = t192 * t192; + const double t419 = -t409; + const double t423 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t416 + 0.4e1 / 0.3e1 * t66 * t419 ); + const double t425 = ( t413 + t423 ) * t73; + const double t426 = t425 * t138; + const double t427 = t54 * t426; + const double t428 = t197 * t253; + const double t429 = t54 * t428; + const double t430 = 0.2e1 * t429; + const double t436 = t149 * t207; + const double t440 = t206 * t98; + const double t441 = 0.1e1 / t440; + const double t442 = t80 * t441; + const double t443 = t222 * t222; + const double t444 = t443 * t223; + const double t448 = t83 * t300 * t302; + const double t456 = t90 * t319 * t302; + const double t468 = -t448 * t309 / 0.18e2 + t210 * t314 / 0.9e1 + t87 * t314 / 0.9e1 + 0.41666666666666666666e-1 * t456 * t309 + 0.83333333333333333333e-1 * t216 * t314 + t97 * t461 * t186 / 0.9e1 + t97 * t95 * t186 / 0.3e1; + const double t469 = t468 * t223; + const double t471 = t206 * t206; + const double t472 = 0.1e1 / t471; + const double t473 = t80 * t472; + const double t474 = t102 * t102; + const double t475 = 0.1e1 / t474; + const double t477 = t443 * t475 * t82; + const double t482 = t147 * t9 * t313 * t45; + const double t483 = 0.2e1 / 0.9e1 * t482; + const double t485 = t149 * t155; + const double t487 = t484 * t485 * t175; + const double t488 = t487 / 0.6e1; + const double t489 = t8 * t313; + const double t494 = t149 * t233; + const double t498 = t232 * t128; + const double t499 = 0.1e1 / t498; + const double t500 = t110 * t499; + const double t501 = t248 * t248; + const double t502 = t501 * t249; + const double t503 = t502 * t134; + const double t506 = t371 * t249; + const double t507 = t506 * t134; + const double t509 = t232 * t232; + const double t510 = 0.1e1 / t509; + const double t511 = t110 * t510; + const double t512 = t511 * t501; + const double t513 = t132 * t132; + const double t514 = 0.1e1 / t513; + const double t515 = t514 * t134; + const double t516 = t515 * t112; + const double t519 = -0.2e1 / 0.9e1 * t201 * t9 * t313 * t103 - t435 * t436 * t224 / 0.6e1 - 0.2e1 * t442 * t444 + t208 * t469 + t473 * t477 / 0.2e1 + t483 + t488 + t381 - t335 - t390 - 0.2e1 / 0.9e1 * t227 * t489 * t135 - t493 * t494 * t251 / 0.6e1 - 0.2e1 * t500 * t503 + t234 * t507 + t512 * t516 / 0.2e1; + const double t520 = t74 * t519; + const double t521 = t54 * t520; + const double t523 = t499 * t501 * t268; + const double t524 = t266 * t523; + const double t525 = 0.2e1 * t524; + const double t526 = t74 * t511; + const double t527 = t501 * t514; + const double t529 = t527 * t528; + const double t530 = t526 * t529; + const double t531 = t530 / 0.2e1; + const double t532 = t197 * t259; + const double t533 = t532 * t263; + const double t534 = t533 / 0.3e1; + const double t536 = t425 * t105 * t143; + const double t537 = 0.2e1 * t536; + const double t540 = t9 * t313 * t133 * t134; + const double t541 = t260 * t540; + const double t542 = 0.2e1 / 0.9e1 * t541; + const double t544 = t74 * t543; + const double t545 = t228 * t233; + const double t546 = t545 * t251; + const double t547 = t544 * t546; + const double t548 = t547 / 0.6e1; + const double t549 = -t399 + t427 + t430 + t521 - t483 - t488 + t525 - t531 - t534 + t537 + t542 + t548; + const double t552 = t282 * t110; + const double t553 = t552 * t269; + const double t555 = t282 * t259; + const double t556 = t555 * t263; + const double t558 = t548 - t553 - t483 + t525 - t348 - t374 - t488 - t531 + t335 - t533 / 0.6e1 + t542 - t556 / 0.6e1 - t338; + const double t559 = t178 * t283; + const double t561 = t183 * t283; + const double t563 = t401 * t273; + const double t566 = t61 * t48; + const double t570 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t563 * t188 + 0.8e1 / 0.3e1 * t566 * t406 ); + const double t571 = t415 * t277; + const double t574 = t66 * t48; + const double t578 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t571 * t192 - 0.8e1 / 0.3e1 * t574 * t406 ); + const double t580 = ( t570 + t578 ) * t73; + const double t581 = t580 * t138; + const double t582 = t54 * t581; + const double t586 = t580 * t105 * t143; + const double t588 = t282 * t253; + const double t589 = t54 * t588; + const double t590 = t346 + 0.4e1 * t559 - 0.4e1 * t561 + t582 - t381 + t390 - 0.4e1 * t391 - 0.4e1 * t395 - t399 + t429 + t521 + 0.2e1 * t586 + t589; + const double t595 = t273 * t273; + const double t599 = 0.2e1 * t186 + 0.2e1 * t407; + const double t603 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t401 * t595 + 0.4e1 / 0.3e1 * t61 * t599 ); + const double t604 = t277 * t277; + const double t607 = -t599; + const double t611 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t415 * t604 + 0.4e1 / 0.3e1 * t66 * t607 ); + const double t613 = ( t603 + t611 ) * t73; + const double t614 = t613 * t138; + const double t615 = t54 * t614; + const double t617 = t613 * t105 * t143; + const double t618 = 0.2e1 * t617; + const double t619 = t615 + t618 + t335 + t338 + t341 + t346 - t374 - t381 + t390 - t394 - t399; + const double t620 = t556 / 0.3e1; + const double t621 = 0.8e1 * t559; + const double t622 = 0.8e1 * t561; + const double t623 = 0.2e1 * t589; + const double t624 = 0.2e1 * t553; + const double t625 = t521 - t483 - t488 + t525 - t531 - t620 - t621 - t622 + t623 + t542 + t548 - t624; + + + vrho_a = -t47 + t140 + t145 + t10 * ( t153 + t176 + t180 - t185 + t199 + t255 + t258 - t265 - t270 ); + vrho_b = -t47 + t140 + t145 + t10 * ( t153 + t176 - t180 - t185 + t284 + t255 + t287 - t265 - t270 ); + v2rho2_aa = t290 + t291 + t292 - t293 + 0.2e1 * t199 + t295 + 0.4e1 * t257 - t297 - t298 + t10 * ( t397 + t549 ); + v2rho2_ab = t290 + t291 - t293 + t199 + t295 + t258 - t297 - t298 + t284 + t287 + t10 * ( t558 + t590 ); + v2rho2_bb = t290 + t291 - t292 - t293 + 0.2e1 * t284 + t295 + 0.4e1 * t286 - t297 - t298 + t10 * ( t619 + t625 ); + + } + }; @@ -495,4 +1563,4 @@ struct BuiltinPW91_LDA_RPA : detail::BuiltinKernelImpl< BuiltinPW91_LDA_RPA > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pw91_x.hpp b/include/exchcxx/impl/builtin/kernels/pw91_x.hpp new file mode 100644 index 0000000..6fba586 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/pw91_x.hpp @@ -0,0 +1,1589 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinPW91_X > : + public gga_screening_interface< BuiltinPW91_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a = 0.19645; + static constexpr double b = 7.7956; + static constexpr double c = 0.2743; + static constexpr double d = -0.1508; + static constexpr double f = 0.004; + static constexpr double alpha = 100.0; + static constexpr double expo = 4.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t75 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t71 ); + + + eps = 0.2e1 * t75; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + constexpr double t81 = d * alpha; + constexpr double t83 = 0.1e1 / t23 / t22; + constexpr double t84 = t44 * t83; + constexpr double t85 = t81 * t84; + constexpr double t117 = t20 * t25; + constexpr double t120 = b * b; + constexpr double t150 = t25 * t28; + constexpr double t164 = t117 * t28; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t75 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t71 ); + const double t77 = t17 / t31; + const double t86 = sigma * sigma; + const double t87 = t86 * t27; + const double t88 = t30 * t30; + const double t89 = t88 * t30; + const double t91 = 0.1e1 / t18 / t89; + const double t92 = t91 * t37; + const double t96 = t30 * rho; + const double t98 = 0.1e1 / t31 / t96; + const double t102 = 0.1e1 / rho; + const double t105 = 0.4e1 / 0.3e1 * t55 * expo * t102; + const double t106 = t85 * t87 * t92 / 0.108e3 - t41 * t29 * t98 / 0.9e1 + t105; + const double t108 = t68 * t68; + const double t109 = 0.1e1 / t108; + const double t110 = t56 * t109; + const double t114 = t27 / t18 / t30 * t64; + const double t118 = t117 * t29; + const double t125 = 0.6e1 * t120 * t20 * t25 * t34 + 0.144e3; + const double t126 = safe_math::sqrt( t125 ); + const double t128 = b / t126; + const double t129 = t98 * a * t128; + const double t132 = -t57 * t114 / 0.9e1 - 0.2e1 / 0.3e1 * t118 * t129 - t105; + const double t134 = t106 * t69 - t110 * t132; + const double t139 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t71 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t134 ); + const double t142 = t88 * rho; + const double t144 = 0.1e1 / t18 / t142; + const double t145 = t27 * t144; + const double t146 = t37 * sigma; + const double t154 = 0.1e1 / sigma; + const double t157 = t55 * expo * t154 / 0.2e1; + const double t158 = -t85 * t145 * t146 / 0.288e3 + t40 * t150 * t33 / 0.24e2 - t157; + const double t161 = t46 / t47; + const double t166 = t33 * a * t128; + const double t169 = t161 * t65 / 0.24e2 + t164 * t166 / 0.4e1 + t157; + const double t171 = -t110 * t169 + t158 * t69; + const double t175 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t171 ); + + + eps = 0.2e1 * t75; + vrho = 0.2e1 * rho * t139 + 0.2e1 * t75; + vsigma = 0.2e1 * rho * t175; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + constexpr double t81 = d * alpha; + constexpr double t83 = 0.1e1 / t23 / t22; + constexpr double t84 = t44 * t83; + constexpr double t85 = t81 * t84; + constexpr double t117 = t20 * t25; + constexpr double t120 = b * b; + constexpr double t150 = t25 * t28; + constexpr double t164 = t117 * t28; + constexpr double t194 = alpha * alpha; + constexpr double t195 = d * t194; + constexpr double t196 = t22 * t22; + constexpr double t197 = 0.1e1 / t196; + constexpr double t198 = t195 * t197; + constexpr double t212 = expo * expo; + constexpr double t243 = t120 * b; + constexpr double t312 = t81 * t44; + constexpr double t313 = t83 * t27; + constexpr double t341 = t84 * t27; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t77 = t17 / t31; + const double t86 = sigma * sigma; + const double t87 = t86 * t27; + const double t88 = t30 * t30; + const double t89 = t88 * t30; + const double t91 = 0.1e1 / t18 / t89; + const double t92 = t91 * t37; + const double t96 = t30 * rho; + const double t98 = 0.1e1 / t31 / t96; + const double t102 = 0.1e1 / rho; + const double t105 = 0.4e1 / 0.3e1 * t55 * expo * t102; + const double t106 = t85 * t87 * t92 / 0.108e3 - t41 * t29 * t98 / 0.9e1 + t105; + const double t108 = t68 * t68; + const double t109 = 0.1e1 / t108; + const double t110 = t56 * t109; + const double t114 = t27 / t18 / t30 * t64; + const double t118 = t117 * t29; + const double t125 = 0.6e1 * t120 * t20 * t25 * t34 + 0.144e3; + const double t126 = safe_math::sqrt( t125 ); + const double t128 = b / t126; + const double t129 = t98 * a * t128; + const double t132 = -t57 * t114 / 0.9e1 - 0.2e1 / 0.3e1 * t118 * t129 - t105; + const double t134 = t106 * t69 - t110 * t132; + const double t139 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t71 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t134 ); + const double t142 = t88 * rho; + const double t144 = 0.1e1 / t18 / t142; + const double t145 = t27 * t144; + const double t146 = t37 * sigma; + const double t154 = 0.1e1 / sigma; + const double t157 = t55 * expo * t154 / 0.2e1; + const double t158 = -t85 * t145 * t146 / 0.288e3 + t40 * t150 * t33 / 0.24e2 - t157; + const double t161 = t46 / t47; + const double t166 = t33 * a * t128; + const double t169 = t161 * t65 / 0.24e2 + t164 * t166 / 0.4e1 + t157; + const double t171 = -t110 * t169 + t158 * t69; + const double t175 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t171 ); + const double t180 = t17 / t31 / rho; + const double t187 = t88 * t96; + const double t189 = 0.1e1 / t18 / t187; + const double t190 = t189 * t37; + const double t199 = t86 * sigma; + const double t200 = t88 * t88; + const double t201 = t200 * t30; + const double t202 = 0.1e1 / t201; + const double t208 = 0.1e1 / t31 / t88; + const double t213 = 0.1e1 / t30; + const double t214 = t212 * t213; + const double t216 = 0.16e2 / 0.9e1 * t55 * t214; + const double t219 = 0.4e1 / 0.3e1 * t55 * expo * t213; + const double t220 = -t85 * t87 * t190 / 0.12e2 + t198 * t199 * t202 * t37 / 0.81e2 + 0.11e2 / 0.27e2 * t41 * t29 * t208 - t216 - t219; + const double t222 = t106 * t109; + const double t226 = 0.1e1 / t108 / t68; + const double t227 = t56 * t226; + const double t228 = t132 * t132; + const double t234 = t27 / t18 / t96 * t64; + const double t238 = t208 * a * t128; + const double t241 = t84 * t87; + const double t245 = 0.1e1 / t126 / t125; + const double t246 = t243 * t245; + const double t247 = t189 * a * t246; + const double t250 = 0.7e1 / 0.27e2 * t57 * t234 + 0.1e2 / 0.3e1 * t118 * t238 - 0.32e2 / 0.3e1 * t241 * t247 + t216 + t219; + const double t252 = -t110 * t250 - 0.2e1 * t222 * t132 + t220 * t69 + 0.2e1 * t227 * t228; + const double t257 = piecewise_functor_3( t2, 0.0, t6 * t180 * t71 / 0.12e2 - t6 * t77 * t134 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t252 ); + const double t263 = t27 * t91; + const double t267 = t200 * rho; + const double t268 = 0.1e1 / t267; + const double t276 = t212 * t102; + const double t279 = 0.2e1 / 0.3e1 * t55 * t276 * t154; + const double t280 = t85 * t263 * t146 / 0.36e2 - t198 * t268 * t86 * t37 / 0.216e3 - t40 * t150 * t98 / 0.9e1 + t279; + const double t282 = t158 * t109; + const double t285 = t169 * t132; + const double t294 = a * t243 * t245 * sigma; + const double t297 = -t161 * t114 / 0.18e2 - t164 * t129 + 0.4e1 * t84 * t263 * t294 - t279; + const double t299 = -t110 * t297 - t282 * t132 - t222 * t169 + 0.2e1 * t227 * t285 + t280 * t69; + const double t304 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t171 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t299 ); + const double t307 = 0.1e1 / t200; + const double t318 = 0.1e1 / t86; + const double t321 = t55 * t212 * t318 / 0.4e1; + const double t324 = t55 * expo * t318 / 0.2e1; + const double t325 = t198 * t307 * t37 * sigma / 0.576e3 - t312 * t313 * t144 * t37 / 0.144e3 - t321 + t324; + const double t329 = t169 * t169; + const double t334 = t46 / t47 / sigma; + const double t338 = t117 * t154 * t28; + const double t343 = t144 * a * t246; + const double t346 = -t334 * t65 / 0.48e2 + t338 * t166 / 0.8e1 - 0.3e1 / 0.2e1 * t341 * t343 + t321 - t324; + const double t348 = -t110 * t346 - 0.2e1 * t282 * t169 + 0.2e1 * t227 * t329 + t325 * t69; + const double t352 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t348 ); + + + v2rho2 = 0.2e1 * rho * t257 + 0.4e1 * t139; + v2rhosigma = 0.2e1 * rho * t304 + 0.2e1 * t175; + v2sigma2 = 0.2e1 * rho * t352; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t44 = t20 * t20; + constexpr double t45 = 0.1e1 / t23; + constexpr double t46 = t44 * t45; + constexpr double t81 = d * alpha; + constexpr double t83 = 0.1e1 / t23 / t22; + constexpr double t84 = t44 * t83; + constexpr double t85 = t81 * t84; + constexpr double t117 = t20 * t25; + constexpr double t120 = b * b; + constexpr double t150 = t25 * t28; + constexpr double t164 = t117 * t28; + constexpr double t194 = alpha * alpha; + constexpr double t195 = d * t194; + constexpr double t196 = t22 * t22; + constexpr double t197 = 0.1e1 / t196; + constexpr double t198 = t195 * t197; + constexpr double t212 = expo * expo; + constexpr double t243 = t120 * b; + constexpr double t312 = t81 * t44; + constexpr double t313 = t83 * t27; + constexpr double t341 = t84 * t27; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = safe_math::exp( -alpha * t20 * t25 * t34 / 0.24e2 ); + const double t40 = ( d * t37 + c ) * t20; + const double t41 = t40 * t25; + const double t47 = safe_math::sqrt( sigma ); + const double t50 = 0.1e1 / t18 / rho; + const double t51 = t47 * t27 * t50; + const double t54 = safe_math::pow( t46 * t51 / 0.12e2, expo ); + const double t55 = f * t54; + const double t56 = t41 * t34 / 0.24e2 - t55; + const double t57 = t46 * t47; + const double t63 = safe_math::log( b * t44 * t45 * t51 / 0.12e2 + safe_math::sqrt( square( b * t44 * t45 * t51 / 0.12e2 ) + 0.1e1 ) ); + const double t64 = a * t63; + const double t65 = t27 * t50 * t64; + const double t68 = 0.1e1 + t57 * t65 / 0.12e2 + t55; + const double t69 = 0.1e1 / t68; + const double t71 = t56 * t69 + 0.1e1; + const double t75 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t71 ); + const double t77 = t17 / t31; + const double t86 = sigma * sigma; + const double t87 = t86 * t27; + const double t88 = t30 * t30; + const double t89 = t88 * t30; + const double t91 = 0.1e1 / t18 / t89; + const double t92 = t91 * t37; + const double t96 = t30 * rho; + const double t98 = 0.1e1 / t31 / t96; + const double t102 = 0.1e1 / rho; + const double t105 = 0.4e1 / 0.3e1 * t55 * expo * t102; + const double t106 = t85 * t87 * t92 / 0.108e3 - t41 * t29 * t98 / 0.9e1 + t105; + const double t108 = t68 * t68; + const double t109 = 0.1e1 / t108; + const double t110 = t56 * t109; + const double t114 = t27 / t18 / t30 * t64; + const double t118 = t117 * t29; + const double t125 = 0.6e1 * t120 * t20 * t25 * t34 + 0.144e3; + const double t126 = safe_math::sqrt( t125 ); + const double t128 = b / t126; + const double t129 = t98 * a * t128; + const double t132 = -t57 * t114 / 0.9e1 - 0.2e1 / 0.3e1 * t118 * t129 - t105; + const double t134 = t106 * t69 - t110 * t132; + const double t139 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t71 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t134 ); + const double t142 = t88 * rho; + const double t144 = 0.1e1 / t18 / t142; + const double t145 = t27 * t144; + const double t146 = t37 * sigma; + const double t154 = 0.1e1 / sigma; + const double t157 = t55 * expo * t154 / 0.2e1; + const double t158 = -t85 * t145 * t146 / 0.288e3 + t40 * t150 * t33 / 0.24e2 - t157; + const double t161 = t46 / t47; + const double t166 = t33 * a * t128; + const double t169 = t161 * t65 / 0.24e2 + t164 * t166 / 0.4e1 + t157; + const double t171 = -t110 * t169 + t158 * t69; + const double t175 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t171 ); + const double t180 = t17 / t31 / rho; + const double t187 = t88 * t96; + const double t189 = 0.1e1 / t18 / t187; + const double t190 = t189 * t37; + const double t199 = t86 * sigma; + const double t200 = t88 * t88; + const double t201 = t200 * t30; + const double t202 = 0.1e1 / t201; + const double t208 = 0.1e1 / t31 / t88; + const double t213 = 0.1e1 / t30; + const double t214 = t212 * t213; + const double t216 = 0.16e2 / 0.9e1 * t55 * t214; + const double t219 = 0.4e1 / 0.3e1 * t55 * expo * t213; + const double t220 = -t85 * t87 * t190 / 0.12e2 + t198 * t199 * t202 * t37 / 0.81e2 + 0.11e2 / 0.27e2 * t41 * t29 * t208 - t216 - t219; + const double t222 = t106 * t109; + const double t226 = 0.1e1 / t108 / t68; + const double t227 = t56 * t226; + const double t228 = t132 * t132; + const double t234 = t27 / t18 / t96 * t64; + const double t238 = t208 * a * t128; + const double t241 = t84 * t87; + const double t245 = 0.1e1 / t126 / t125; + const double t246 = t243 * t245; + const double t247 = t189 * a * t246; + const double t250 = 0.7e1 / 0.27e2 * t57 * t234 + 0.1e2 / 0.3e1 * t118 * t238 - 0.32e2 / 0.3e1 * t241 * t247 + t216 + t219; + const double t252 = -t110 * t250 - 0.2e1 * t222 * t132 + t220 * t69 + 0.2e1 * t227 * t228; + const double t257 = piecewise_functor_3( t2, 0.0, t6 * t180 * t71 / 0.12e2 - t6 * t77 * t134 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t252 ); + const double t263 = t27 * t91; + const double t267 = t200 * rho; + const double t268 = 0.1e1 / t267; + const double t276 = t212 * t102; + const double t279 = 0.2e1 / 0.3e1 * t55 * t276 * t154; + const double t280 = t85 * t263 * t146 / 0.36e2 - t198 * t268 * t86 * t37 / 0.216e3 - t40 * t150 * t98 / 0.9e1 + t279; + const double t282 = t158 * t109; + const double t285 = t169 * t132; + const double t294 = a * t243 * t245 * sigma; + const double t297 = -t161 * t114 / 0.18e2 - t164 * t129 + 0.4e1 * t84 * t263 * t294 - t279; + const double t299 = -t110 * t297 - t282 * t132 - t222 * t169 + 0.2e1 * t227 * t285 + t280 * t69; + const double t304 = piecewise_functor_3( t2, 0.0, -t6 * t77 * t171 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t299 ); + const double t307 = 0.1e1 / t200; + const double t318 = 0.1e1 / t86; + const double t321 = t55 * t212 * t318 / 0.4e1; + const double t324 = t55 * expo * t318 / 0.2e1; + const double t325 = t198 * t307 * t37 * sigma / 0.576e3 - t312 * t313 * t144 * t37 / 0.144e3 - t321 + t324; + const double t329 = t169 * t169; + const double t334 = t46 / t47 / sigma; + const double t338 = t117 * t154 * t28; + const double t343 = t144 * a * t246; + const double t346 = -t334 * t65 / 0.48e2 + t338 * t166 / 0.8e1 - 0.3e1 / 0.2e1 * t341 * t343 + t321 - t324; + const double t348 = -t110 * t346 - 0.2e1 * t282 * t169 + 0.2e1 * t227 * t329 + t325 * t69; + const double t352 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t348 ); + + + vrho = 0.2e1 * rho * t139 + 0.2e1 * t75; + vsigma = 0.2e1 * rho * t175; + v2rho2 = 0.2e1 * rho * t257 + 0.4e1 * t139; + v2rhosigma = 0.2e1 * rho * t304 + 0.2e1 * t175; + v2sigma2 = 0.2e1 * rho * t352; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t79 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t75 ); + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t131 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t127 ); + + + eps = t79 + t131; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + constexpr double t151 = d * alpha * t49; + constexpr double t153 = 0.1e1 / t31 / t30; + constexpr double t185 = t28 * t33; + constexpr double t188 = b * b; + constexpr double t189 = t188 * t28; + constexpr double t319 = a * b; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t79 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t75 ); + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t131 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t127 ); + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t75 / 0.8e1; + const double t154 = sigma_aa * sigma_aa; + const double t155 = t153 * t154; + const double t156 = t35 * t35; + const double t157 = t156 * t35; + const double t159 = 0.1e1 / t36 / t157; + const double t164 = t35 * rho_a; + const double t166 = 0.1e1 / t37 / t164; + const double t170 = 0.1e1 / rho_a; + const double t173 = 0.4e1 / 0.3e1 * t59 * expo * t170; + const double t174 = t151 * t155 * t159 * t43 / 0.216e3 - t46 * t34 * t166 / 0.9e1 + t173; + const double t176 = t72 * t72; + const double t177 = 0.1e1 / t176; + const double t178 = t60 * t177; + const double t182 = 0.1e1 / t36 / t35 * a * t68; + const double t186 = t185 * sigma_aa; + const double t192 = 0.6e1 * t189 * t40 + 0.144e3; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t195 = b * t194; + const double t196 = t166 * a * t195; + const double t199 = -t61 * t182 / 0.9e1 - 0.2e1 / 0.3e1 * t186 * t196 - t173; + const double t201 = t174 * t73 - t178 * t199; + const double t206 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t75 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t201 ); + const double t207 = t81 * t133; + const double t209 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t207 ); + const double t212 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t209 ); + const double t213 = t212 * t26; + const double t217 = t88 * t145; + const double t220 = t5 * t217 * t127 / 0.8e1; + const double t222 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t213 * t127 - t220 ); + const double t226 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t229 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t226 ); + const double t230 = t229 * t26; + const double t235 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t230 * t75 - t149 ); + const double t237 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t207 ); + const double t240 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t237 ); + const double t241 = t240 * t26; + const double t245 = sigma_bb * sigma_bb; + const double t246 = t153 * t245; + const double t247 = t91 * t91; + const double t248 = t247 * t91; + const double t250 = 0.1e1 / t92 / t248; + const double t255 = t91 * rho_b; + const double t257 = 0.1e1 / t93 / t255; + const double t261 = 0.1e1 / rho_b; + const double t264 = 0.4e1 / 0.3e1 * t112 * expo * t261; + const double t265 = t151 * t246 * t250 * t99 / 0.216e3 - t102 * t90 * t257 / 0.9e1 + t264; + const double t267 = t124 * t124; + const double t268 = 0.1e1 / t267; + const double t269 = t113 * t268; + const double t273 = 0.1e1 / t92 / t91 * a * t120; + const double t276 = t185 * sigma_bb; + const double t280 = 0.6e1 * t189 * t96 + 0.144e3; + const double t281 = safe_math::sqrt( t280 ); + const double t282 = 0.1e1 / t281; + const double t283 = b * t282; + const double t284 = t257 * a * t283; + const double t287 = -t114 * t273 / 0.9e1 - 0.2e1 / 0.3e1 * t276 * t284 - t264; + const double t289 = t265 * t125 - t269 * t287; + const double t294 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t127 - t220 - 0.3e1 / 0.8e1 * t5 * t89 * t289 ); + const double t297 = t156 * rho_a; + const double t299 = 0.1e1 / t36 / t297; + const double t300 = t153 * t299; + const double t301 = t43 * sigma_aa; + const double t308 = 0.1e1 / sigma_aa; + const double t311 = t59 * expo * t308 / 0.2e1; + const double t312 = -t151 * t300 * t301 / 0.576e3 + t46 * t33 * t39 / 0.24e2 - t311; + const double t315 = t51 / t52; + const double t320 = t319 * t194; + const double t323 = t315 * t69 / 0.24e2 + t185 * t39 * t320 / 0.4e1 + t311; + const double t325 = -t178 * t323 + t312 * t73; + const double t329 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t325 ); + const double t330 = t247 * rho_b; + const double t332 = 0.1e1 / t92 / t330; + const double t333 = t153 * t332; + const double t334 = t99 * sigma_bb; + const double t341 = 0.1e1 / sigma_bb; + const double t344 = t112 * expo * t341 / 0.2e1; + const double t345 = -t151 * t333 * t334 / 0.576e3 + t102 * t33 * t95 / 0.24e2 - t344; + const double t348 = t51 / t105; + const double t352 = t319 * t282; + const double t355 = t348 * t121 / 0.24e2 + t185 * t95 * t352 / 0.4e1 + t344; + const double t357 = t345 * t125 - t269 * t355; + const double t361 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t357 ); + + + eps = t79 + t131; + vrho_a = t79 + t131 + t6 * ( t206 + t222 ); + vrho_b = t79 + t131 + t6 * ( t235 + t294 ); + vsigma_aa = t6 * t329; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t361; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + constexpr double t151 = d * alpha * t49; + constexpr double t153 = 0.1e1 / t31 / t30; + constexpr double t185 = t28 * t33; + constexpr double t188 = b * b; + constexpr double t189 = t188 * t28; + constexpr double t319 = a * b; + constexpr double t406 = alpha * alpha; + constexpr double t407 = d * t406; + constexpr double t408 = t30 * t30; + constexpr double t409 = 0.1e1 / t408; + constexpr double t410 = t407 * t409; + constexpr double t424 = expo * expo; + constexpr double t453 = t49 * t153; + constexpr double t456 = t188 * b; + constexpr double t692 = a * t456; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t75 / 0.8e1; + const double t154 = sigma_aa * sigma_aa; + const double t155 = t153 * t154; + const double t156 = t35 * t35; + const double t157 = t156 * t35; + const double t159 = 0.1e1 / t36 / t157; + const double t164 = t35 * rho_a; + const double t166 = 0.1e1 / t37 / t164; + const double t170 = 0.1e1 / rho_a; + const double t173 = 0.4e1 / 0.3e1 * t59 * expo * t170; + const double t174 = t151 * t155 * t159 * t43 / 0.216e3 - t46 * t34 * t166 / 0.9e1 + t173; + const double t176 = t72 * t72; + const double t177 = 0.1e1 / t176; + const double t178 = t60 * t177; + const double t182 = 0.1e1 / t36 / t35 * a * t68; + const double t186 = t185 * sigma_aa; + const double t192 = 0.6e1 * t189 * t40 + 0.144e3; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t195 = b * t194; + const double t196 = t166 * a * t195; + const double t199 = -t61 * t182 / 0.9e1 - 0.2e1 / 0.3e1 * t186 * t196 - t173; + const double t201 = t174 * t73 - t178 * t199; + const double t206 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t75 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t201 ); + const double t207 = t81 * t133; + const double t209 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t207 ); + const double t212 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t209 ); + const double t213 = t212 * t26; + const double t217 = t88 * t145; + const double t220 = t5 * t217 * t127 / 0.8e1; + const double t222 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t213 * t127 - t220 ); + const double t226 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t229 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t226 ); + const double t230 = t229 * t26; + const double t235 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t230 * t75 - t149 ); + const double t237 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t207 ); + const double t240 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t237 ); + const double t241 = t240 * t26; + const double t245 = sigma_bb * sigma_bb; + const double t246 = t153 * t245; + const double t247 = t91 * t91; + const double t248 = t247 * t91; + const double t250 = 0.1e1 / t92 / t248; + const double t255 = t91 * rho_b; + const double t257 = 0.1e1 / t93 / t255; + const double t261 = 0.1e1 / rho_b; + const double t264 = 0.4e1 / 0.3e1 * t112 * expo * t261; + const double t265 = t151 * t246 * t250 * t99 / 0.216e3 - t102 * t90 * t257 / 0.9e1 + t264; + const double t267 = t124 * t124; + const double t268 = 0.1e1 / t267; + const double t269 = t113 * t268; + const double t273 = 0.1e1 / t92 / t91 * a * t120; + const double t276 = t185 * sigma_bb; + const double t280 = 0.6e1 * t189 * t96 + 0.144e3; + const double t281 = safe_math::sqrt( t280 ); + const double t282 = 0.1e1 / t281; + const double t283 = b * t282; + const double t284 = t257 * a * t283; + const double t287 = -t114 * t273 / 0.9e1 - 0.2e1 / 0.3e1 * t276 * t284 - t264; + const double t289 = t265 * t125 - t269 * t287; + const double t294 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t127 - t220 - 0.3e1 / 0.8e1 * t5 * t89 * t289 ); + const double t297 = t156 * rho_a; + const double t299 = 0.1e1 / t36 / t297; + const double t300 = t153 * t299; + const double t301 = t43 * sigma_aa; + const double t308 = 0.1e1 / sigma_aa; + const double t311 = t59 * expo * t308 / 0.2e1; + const double t312 = -t151 * t300 * t301 / 0.576e3 + t46 * t33 * t39 / 0.24e2 - t311; + const double t315 = t51 / t52; + const double t320 = t319 * t194; + const double t323 = t315 * t69 / 0.24e2 + t185 * t39 * t320 / 0.4e1 + t311; + const double t325 = -t178 * t323 + t312 * t73; + const double t329 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t325 ); + const double t330 = t247 * rho_b; + const double t332 = 0.1e1 / t92 / t330; + const double t333 = t153 * t332; + const double t334 = t99 * sigma_bb; + const double t341 = 0.1e1 / sigma_bb; + const double t344 = t112 * expo * t341 / 0.2e1; + const double t345 = -t151 * t333 * t334 / 0.576e3 + t102 * t33 * t95 / 0.24e2 - t344; + const double t348 = t51 / t105; + const double t352 = t319 * t282; + const double t355 = t348 * t121 / 0.24e2 + t185 * t95 * t352 / 0.4e1 + t344; + const double t357 = t345 * t125 - t269 * t355; + const double t361 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t357 ); + const double t364 = t23 * t23; + const double t365 = 0.1e1 / t364; + const double t366 = t136 * t136; + const double t369 = t132 * t6; + const double t370 = 0.1e1 / t369; + const double t371 = t16 * t370; + const double t374 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t133 + 0.2e1 * t371 ); + const double t378 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t366 + 0.4e1 / 0.3e1 * t23 * t374 ); + const double t379 = t378 * t26; + const double t383 = t139 * t145; + const double t385 = t5 * t383 * t75; + const double t391 = 0.1e1 / t144 / t6; + const double t392 = t25 * t391; + const double t395 = t5 * t392 * t75 / 0.12e2; + const double t397 = t5 * t146 * t201; + const double t399 = t156 * t164; + const double t401 = 0.1e1 / t36 / t399; + const double t411 = t154 * sigma_aa; + const double t412 = t156 * t156; + const double t413 = t412 * t35; + const double t414 = 0.1e1 / t413; + const double t420 = 0.1e1 / t37 / t156; + const double t425 = 0.1e1 / t35; + const double t426 = t424 * t425; + const double t428 = 0.16e2 / 0.9e1 * t59 * t426; + const double t431 = 0.4e1 / 0.3e1 * t59 * expo * t425; + const double t432 = -t151 * t155 * t401 * t43 / 0.24e2 + t410 * t411 * t414 * t43 / 0.324e3 + 0.11e2 / 0.27e2 * t46 * t34 * t420 - t428 - t431; + const double t434 = t174 * t177; + const double t438 = 0.1e1 / t176 / t72; + const double t439 = t60 * t438; + const double t440 = t199 * t199; + const double t446 = 0.1e1 / t36 / t164 * a * t68; + const double t450 = t420 * a * t195; + const double t454 = t453 * t154; + const double t458 = 0.1e1 / t193 / t192; + const double t459 = t456 * t458; + const double t463 = 0.7e1 / 0.27e2 * t61 * t446 + 0.1e2 / 0.3e1 * t186 * t450 - 0.16e2 / 0.3e1 * t454 * t401 * a * t459 + t428 + t431; + const double t465 = -t178 * t463 - 0.2e1 * t434 * t199 + t432 * t73 + 0.2e1 * t439 * t440; + const double t470 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t379 * t75 - t385 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t140 * t201 + t395 - t397 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t465 ); + const double t471 = t86 * t86; + const double t472 = 0.1e1 / t471; + const double t473 = t209 * t209; + const double t476 = t81 * t370; + const double t479 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t133 + 0.2e1 * t476 ); + const double t483 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t473 + 0.4e1 / 0.3e1 * t86 * t479 ); + const double t484 = t483 * t26; + const double t488 = t212 * t145; + const double t490 = t5 * t488 * t127; + const double t492 = t88 * t391; + const double t495 = t5 * t492 * t127 / 0.12e2; + const double t497 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t484 * t127 - t490 / 0.4e1 + t495 ); + const double t513 = t229 * t145; + const double t515 = t5 * t513 * t75; + const double t537 = t240 * t145; + const double t539 = t5 * t537 * t127; + const double t546 = t5 * t217 * t289; + const double t554 = t226 * t226; + const double t559 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t133 + 0.2e1 * t371 ); + const double t563 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t554 + 0.4e1 / 0.3e1 * t23 * t559 ); + const double t564 = t563 * t26; + const double t570 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t564 * t75 - t515 / 0.4e1 + t395 ); + const double t571 = t237 * t237; + const double t576 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t133 + 0.2e1 * t476 ); + const double t580 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t571 + 0.4e1 / 0.3e1 * t86 * t576 ); + const double t581 = t580 * t26; + const double t590 = t247 * t255; + const double t592 = 0.1e1 / t92 / t590; + const double t597 = t245 * sigma_bb; + const double t598 = t247 * t247; + const double t599 = t598 * t91; + const double t600 = 0.1e1 / t599; + const double t606 = 0.1e1 / t93 / t247; + const double t610 = 0.1e1 / t91; + const double t611 = t424 * t610; + const double t613 = 0.16e2 / 0.9e1 * t112 * t611; + const double t616 = 0.4e1 / 0.3e1 * t112 * expo * t610; + const double t617 = -t151 * t246 * t592 * t99 / 0.24e2 + t410 * t597 * t600 * t99 / 0.324e3 + 0.11e2 / 0.27e2 * t102 * t90 * t606 - t613 - t616; + const double t619 = t265 * t268; + const double t623 = 0.1e1 / t267 / t124; + const double t624 = t113 * t623; + const double t625 = t287 * t287; + const double t631 = 0.1e1 / t92 / t255 * a * t120; + const double t635 = t606 * a * t283; + const double t638 = t453 * t245; + const double t641 = 0.1e1 / t281 / t280; + const double t642 = t456 * t641; + const double t646 = 0.7e1 / 0.27e2 * t114 * t631 + 0.1e2 / 0.3e1 * t276 * t635 - 0.16e2 / 0.3e1 * t638 * t592 * a * t642 + t613 + t616; + const double t648 = t617 * t125 - t269 * t646 - 0.2e1 * t619 * t287 + 0.2e1 * t624 * t625; + const double t653 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t581 * t127 - t539 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t241 * t289 + t495 - t546 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t89 * t648 ); + const double t661 = t5 * t146 * t325 / 0.8e1; + const double t662 = t153 * t159; + const double t666 = t412 * rho_a; + const double t667 = 0.1e1 / t666; + const double t675 = t424 * t170; + const double t678 = 0.2e1 / 0.3e1 * t59 * t675 * t308; + const double t679 = t151 * t662 * t301 / 0.72e2 - t410 * t667 * t154 * t43 / 0.864e3 - t46 * t33 * t166 / 0.9e1 + t678; + const double t681 = t312 * t177; + const double t684 = t323 * t199; + const double t691 = t453 * t159; + const double t694 = t692 * t458 * sigma_aa; + const double t697 = -t315 * t182 / 0.18e2 - t185 * t166 * t320 + 0.2e1 * t691 * t694 - t678; + const double t699 = -t178 * t697 - t681 * t199 - t434 * t323 + 0.2e1 * t439 * t684 + t679 * t73; + const double t704 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t325 - t661 - 0.3e1 / 0.8e1 * t5 * t27 * t699 ); + const double t711 = t5 * t217 * t357 / 0.8e1; + const double t724 = t153 * t250; + const double t728 = t598 * rho_b; + const double t729 = 0.1e1 / t728; + const double t737 = t424 * t261; + const double t740 = 0.2e1 / 0.3e1 * t112 * t737 * t341; + const double t741 = t151 * t724 * t334 / 0.72e2 - t410 * t729 * t245 * t99 / 0.864e3 - t102 * t33 * t257 / 0.9e1 + t740; + const double t743 = t345 * t268; + const double t746 = t355 * t287; + const double t753 = t453 * t250; + const double t755 = t692 * t641 * sigma_bb; + const double t758 = -t348 * t273 / 0.18e2 - t185 * t257 * t352 + 0.2e1 * t753 * t755 - t740; + const double t760 = t741 * t125 - t269 * t758 - t743 * t287 - t619 * t355 + 0.2e1 * t624 * t746; + const double t765 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t357 - t711 - 0.3e1 / 0.8e1 * t5 * t89 * t760 ); + const double t767 = 0.1e1 / t412; + const double t775 = 0.1e1 / t154; + const double t778 = t59 * t424 * t775 / 0.4e1; + const double t781 = t59 * expo * t775 / 0.2e1; + const double t782 = t410 * t767 * t43 * sigma_aa / 0.2304e4 - t151 * t300 * t43 / 0.288e3 - t778 + t781; + const double t786 = t323 * t323; + const double t791 = t51 / t52 / sigma_aa; + const double t794 = t185 * t308; + const double t796 = t39 * a * t195; + const double t800 = t692 * t458; + const double t803 = -t791 * t69 / 0.48e2 + t794 * t796 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t299 * t800 + t778 - t781; + const double t805 = -t178 * t803 - 0.2e1 * t681 * t323 + 0.2e1 * t439 * t786 + t782 * t73; + const double t809 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t805 ); + const double t810 = 0.1e1 / t598; + const double t818 = 0.1e1 / t245; + const double t821 = t112 * t424 * t818 / 0.4e1; + const double t824 = t112 * expo * t818 / 0.2e1; + const double t825 = t410 * t810 * t99 * sigma_bb / 0.2304e4 - t151 * t333 * t99 / 0.288e3 - t821 + t824; + const double t829 = t355 * t355; + const double t834 = t51 / t105 / sigma_bb; + const double t837 = t185 * t341; + const double t839 = t95 * a * t283; + const double t843 = t692 * t641; + const double t846 = -t834 * t121 / 0.48e2 + t837 * t839 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t332 * t843 + t821 - t824; + const double t848 = t825 * t125 - t269 * t846 - 0.2e1 * t743 * t355 + 0.2e1 * t624 * t829; + const double t852 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t848 ); + + + v2rho2_aa = 0.2e1 * t206 + 0.2e1 * t222 + t6 * ( t470 + t497 ); + v2rho2_bb = 0.2e1 * t235 + 0.2e1 * t294 + t6 * ( t570 + t653 ); + v2rhosigma_a_aa = t6 * t704 + t329; + v2rhosigma_b_bb = t6 * t765 + t361; + v2sigma2_aa_aa = t6 * t809; + v2sigma2_bb_bb = t6 * t852; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = alpha * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t49 = t28 * t28; + constexpr double t50 = 0.1e1 / t31; + constexpr double t51 = t49 * t50; + constexpr double t63 = b * t49; + constexpr double t151 = d * alpha * t49; + constexpr double t153 = 0.1e1 / t31 / t30; + constexpr double t185 = t28 * t33; + constexpr double t188 = b * b; + constexpr double t189 = t188 * t28; + constexpr double t319 = a * b; + constexpr double t406 = alpha * alpha; + constexpr double t407 = d * t406; + constexpr double t408 = t30 * t30; + constexpr double t409 = 0.1e1 / t408; + constexpr double t410 = t407 * t409; + constexpr double t424 = expo * expo; + constexpr double t453 = t49 * t153; + constexpr double t456 = t188 * b; + constexpr double t692 = a * t456; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = t34 * t39; + const double t43 = safe_math::exp( -t29 * t40 / 0.24e2 ); + const double t46 = ( d * t43 + c ) * t28; + const double t52 = safe_math::sqrt( sigma_aa ); + const double t54 = 0.1e1 / t36 / rho_a; + const double t58 = safe_math::pow( t51 * t52 * t54 / 0.12e2, expo ); + const double t59 = f * t58; + const double t60 = t46 * t40 / 0.24e2 - t59; + const double t61 = t51 * t52; + const double t68 = safe_math::log( t63 * t50 * t52 * t54 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t52 * t54 / 0.12e2 ) + 0.1e1 ) ); + const double t69 = t54 * a * t68; + const double t72 = 0.1e1 + t61 * t69 / 0.12e2 + t59; + const double t73 = 0.1e1 / t72; + const double t75 = t60 * t73 + 0.1e1; + const double t79 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t75 ); + const double t80 = rho_b <= dens_tol; + const double t81 = -t16; + const double t83 = piecewise_functor_5( t14, t11, t10, t15, t81 * t7 ); + const double t84 = 0.1e1 + t83; + const double t85 = t84 <= zeta_tol; + const double t86 = safe_math::cbrt( t84 ); + const double t88 = piecewise_functor_3( t85, t22, t86 * t84 ); + const double t89 = t88 * t26; + const double t90 = t33 * sigma_bb; + const double t91 = rho_b * rho_b; + const double t92 = safe_math::cbrt( rho_b ); + const double t93 = t92 * t92; + const double t95 = 0.1e1 / t93 / t91; + const double t96 = t90 * t95; + const double t99 = safe_math::exp( -t29 * t96 / 0.24e2 ); + const double t102 = ( d * t99 + c ) * t28; + const double t105 = safe_math::sqrt( sigma_bb ); + const double t107 = 0.1e1 / t92 / rho_b; + const double t111 = safe_math::pow( t51 * t105 * t107 / 0.12e2, expo ); + const double t112 = f * t111; + const double t113 = t102 * t96 / 0.24e2 - t112; + const double t114 = t51 * t105; + const double t120 = safe_math::log( t63 * t50 * t105 * t107 / 0.12e2 + safe_math::sqrt( square( t63 * t50 * t105 * t107 / 0.12e2 ) + 0.1e1 ) ); + const double t121 = t107 * a * t120; + const double t124 = 0.1e1 + t114 * t121 / 0.12e2 + t112; + const double t125 = 0.1e1 / t124; + const double t127 = t113 * t125 + 0.1e1; + const double t131 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t127 ); + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t75 / 0.8e1; + const double t154 = sigma_aa * sigma_aa; + const double t155 = t153 * t154; + const double t156 = t35 * t35; + const double t157 = t156 * t35; + const double t159 = 0.1e1 / t36 / t157; + const double t164 = t35 * rho_a; + const double t166 = 0.1e1 / t37 / t164; + const double t170 = 0.1e1 / rho_a; + const double t173 = 0.4e1 / 0.3e1 * t59 * expo * t170; + const double t174 = t151 * t155 * t159 * t43 / 0.216e3 - t46 * t34 * t166 / 0.9e1 + t173; + const double t176 = t72 * t72; + const double t177 = 0.1e1 / t176; + const double t178 = t60 * t177; + const double t182 = 0.1e1 / t36 / t35 * a * t68; + const double t186 = t185 * sigma_aa; + const double t192 = 0.6e1 * t189 * t40 + 0.144e3; + const double t193 = safe_math::sqrt( t192 ); + const double t194 = 0.1e1 / t193; + const double t195 = b * t194; + const double t196 = t166 * a * t195; + const double t199 = -t61 * t182 / 0.9e1 - 0.2e1 / 0.3e1 * t186 * t196 - t173; + const double t201 = t174 * t73 - t178 * t199; + const double t206 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t75 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t201 ); + const double t207 = t81 * t133; + const double t209 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t207 ); + const double t212 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t209 ); + const double t213 = t212 * t26; + const double t217 = t88 * t145; + const double t220 = t5 * t217 * t127 / 0.8e1; + const double t222 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t213 * t127 - t220 ); + const double t226 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t229 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t226 ); + const double t230 = t229 * t26; + const double t235 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t230 * t75 - t149 ); + const double t237 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t207 ); + const double t240 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.3e1 * t86 * t237 ); + const double t241 = t240 * t26; + const double t245 = sigma_bb * sigma_bb; + const double t246 = t153 * t245; + const double t247 = t91 * t91; + const double t248 = t247 * t91; + const double t250 = 0.1e1 / t92 / t248; + const double t255 = t91 * rho_b; + const double t257 = 0.1e1 / t93 / t255; + const double t261 = 0.1e1 / rho_b; + const double t264 = 0.4e1 / 0.3e1 * t112 * expo * t261; + const double t265 = t151 * t246 * t250 * t99 / 0.216e3 - t102 * t90 * t257 / 0.9e1 + t264; + const double t267 = t124 * t124; + const double t268 = 0.1e1 / t267; + const double t269 = t113 * t268; + const double t273 = 0.1e1 / t92 / t91 * a * t120; + const double t276 = t185 * sigma_bb; + const double t280 = 0.6e1 * t189 * t96 + 0.144e3; + const double t281 = safe_math::sqrt( t280 ); + const double t282 = 0.1e1 / t281; + const double t283 = b * t282; + const double t284 = t257 * a * t283; + const double t287 = -t114 * t273 / 0.9e1 - 0.2e1 / 0.3e1 * t276 * t284 - t264; + const double t289 = t265 * t125 - t269 * t287; + const double t294 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t127 - t220 - 0.3e1 / 0.8e1 * t5 * t89 * t289 ); + const double t297 = t156 * rho_a; + const double t299 = 0.1e1 / t36 / t297; + const double t300 = t153 * t299; + const double t301 = t43 * sigma_aa; + const double t308 = 0.1e1 / sigma_aa; + const double t311 = t59 * expo * t308 / 0.2e1; + const double t312 = -t151 * t300 * t301 / 0.576e3 + t46 * t33 * t39 / 0.24e2 - t311; + const double t315 = t51 / t52; + const double t320 = t319 * t194; + const double t323 = t315 * t69 / 0.24e2 + t185 * t39 * t320 / 0.4e1 + t311; + const double t325 = -t178 * t323 + t312 * t73; + const double t329 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t325 ); + const double t330 = t247 * rho_b; + const double t332 = 0.1e1 / t92 / t330; + const double t333 = t153 * t332; + const double t334 = t99 * sigma_bb; + const double t341 = 0.1e1 / sigma_bb; + const double t344 = t112 * expo * t341 / 0.2e1; + const double t345 = -t151 * t333 * t334 / 0.576e3 + t102 * t33 * t95 / 0.24e2 - t344; + const double t348 = t51 / t105; + const double t352 = t319 * t282; + const double t355 = t348 * t121 / 0.24e2 + t185 * t95 * t352 / 0.4e1 + t344; + const double t357 = t345 * t125 - t269 * t355; + const double t361 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t357 ); + const double t364 = t23 * t23; + const double t365 = 0.1e1 / t364; + const double t366 = t136 * t136; + const double t369 = t132 * t6; + const double t370 = 0.1e1 / t369; + const double t371 = t16 * t370; + const double t374 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t133 + 0.2e1 * t371 ); + const double t378 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t366 + 0.4e1 / 0.3e1 * t23 * t374 ); + const double t379 = t378 * t26; + const double t383 = t139 * t145; + const double t385 = t5 * t383 * t75; + const double t391 = 0.1e1 / t144 / t6; + const double t392 = t25 * t391; + const double t395 = t5 * t392 * t75 / 0.12e2; + const double t397 = t5 * t146 * t201; + const double t399 = t156 * t164; + const double t401 = 0.1e1 / t36 / t399; + const double t411 = t154 * sigma_aa; + const double t412 = t156 * t156; + const double t413 = t412 * t35; + const double t414 = 0.1e1 / t413; + const double t420 = 0.1e1 / t37 / t156; + const double t425 = 0.1e1 / t35; + const double t426 = t424 * t425; + const double t428 = 0.16e2 / 0.9e1 * t59 * t426; + const double t431 = 0.4e1 / 0.3e1 * t59 * expo * t425; + const double t432 = -t151 * t155 * t401 * t43 / 0.24e2 + t410 * t411 * t414 * t43 / 0.324e3 + 0.11e2 / 0.27e2 * t46 * t34 * t420 - t428 - t431; + const double t434 = t174 * t177; + const double t438 = 0.1e1 / t176 / t72; + const double t439 = t60 * t438; + const double t440 = t199 * t199; + const double t446 = 0.1e1 / t36 / t164 * a * t68; + const double t450 = t420 * a * t195; + const double t454 = t453 * t154; + const double t458 = 0.1e1 / t193 / t192; + const double t459 = t456 * t458; + const double t463 = 0.7e1 / 0.27e2 * t61 * t446 + 0.1e2 / 0.3e1 * t186 * t450 - 0.16e2 / 0.3e1 * t454 * t401 * a * t459 + t428 + t431; + const double t465 = -t178 * t463 - 0.2e1 * t434 * t199 + t432 * t73 + 0.2e1 * t439 * t440; + const double t470 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t379 * t75 - t385 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t140 * t201 + t395 - t397 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t465 ); + const double t471 = t86 * t86; + const double t472 = 0.1e1 / t471; + const double t473 = t209 * t209; + const double t476 = t81 * t370; + const double t479 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t133 + 0.2e1 * t476 ); + const double t483 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t473 + 0.4e1 / 0.3e1 * t86 * t479 ); + const double t484 = t483 * t26; + const double t488 = t212 * t145; + const double t490 = t5 * t488 * t127; + const double t492 = t88 * t391; + const double t495 = t5 * t492 * t127 / 0.12e2; + const double t497 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t484 * t127 - t490 / 0.4e1 + t495 ); + const double t513 = t229 * t145; + const double t515 = t5 * t513 * t75; + const double t537 = t240 * t145; + const double t539 = t5 * t537 * t127; + const double t546 = t5 * t217 * t289; + const double t554 = t226 * t226; + const double t559 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t133 + 0.2e1 * t371 ); + const double t563 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t365 * t554 + 0.4e1 / 0.3e1 * t23 * t559 ); + const double t564 = t563 * t26; + const double t570 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t564 * t75 - t515 / 0.4e1 + t395 ); + const double t571 = t237 * t237; + const double t576 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t133 + 0.2e1 * t476 ); + const double t580 = piecewise_functor_3( t85, 0.0, 0.4e1 / 0.9e1 * t472 * t571 + 0.4e1 / 0.3e1 * t86 * t576 ); + const double t581 = t580 * t26; + const double t590 = t247 * t255; + const double t592 = 0.1e1 / t92 / t590; + const double t597 = t245 * sigma_bb; + const double t598 = t247 * t247; + const double t599 = t598 * t91; + const double t600 = 0.1e1 / t599; + const double t606 = 0.1e1 / t93 / t247; + const double t610 = 0.1e1 / t91; + const double t611 = t424 * t610; + const double t613 = 0.16e2 / 0.9e1 * t112 * t611; + const double t616 = 0.4e1 / 0.3e1 * t112 * expo * t610; + const double t617 = -t151 * t246 * t592 * t99 / 0.24e2 + t410 * t597 * t600 * t99 / 0.324e3 + 0.11e2 / 0.27e2 * t102 * t90 * t606 - t613 - t616; + const double t619 = t265 * t268; + const double t623 = 0.1e1 / t267 / t124; + const double t624 = t113 * t623; + const double t625 = t287 * t287; + const double t631 = 0.1e1 / t92 / t255 * a * t120; + const double t635 = t606 * a * t283; + const double t638 = t453 * t245; + const double t641 = 0.1e1 / t281 / t280; + const double t642 = t456 * t641; + const double t646 = 0.7e1 / 0.27e2 * t114 * t631 + 0.1e2 / 0.3e1 * t276 * t635 - 0.16e2 / 0.3e1 * t638 * t592 * a * t642 + t613 + t616; + const double t648 = t617 * t125 - t269 * t646 - 0.2e1 * t619 * t287 + 0.2e1 * t624 * t625; + const double t653 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t581 * t127 - t539 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t241 * t289 + t495 - t546 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t89 * t648 ); + const double t661 = t5 * t146 * t325 / 0.8e1; + const double t662 = t153 * t159; + const double t666 = t412 * rho_a; + const double t667 = 0.1e1 / t666; + const double t675 = t424 * t170; + const double t678 = 0.2e1 / 0.3e1 * t59 * t675 * t308; + const double t679 = t151 * t662 * t301 / 0.72e2 - t410 * t667 * t154 * t43 / 0.864e3 - t46 * t33 * t166 / 0.9e1 + t678; + const double t681 = t312 * t177; + const double t684 = t323 * t199; + const double t691 = t453 * t159; + const double t694 = t692 * t458 * sigma_aa; + const double t697 = -t315 * t182 / 0.18e2 - t185 * t166 * t320 + 0.2e1 * t691 * t694 - t678; + const double t699 = -t178 * t697 - t681 * t199 - t434 * t323 + 0.2e1 * t439 * t684 + t679 * t73; + const double t704 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t325 - t661 - 0.3e1 / 0.8e1 * t5 * t27 * t699 ); + const double t711 = t5 * t217 * t357 / 0.8e1; + const double t724 = t153 * t250; + const double t728 = t598 * rho_b; + const double t729 = 0.1e1 / t728; + const double t737 = t424 * t261; + const double t740 = 0.2e1 / 0.3e1 * t112 * t737 * t341; + const double t741 = t151 * t724 * t334 / 0.72e2 - t410 * t729 * t245 * t99 / 0.864e3 - t102 * t33 * t257 / 0.9e1 + t740; + const double t743 = t345 * t268; + const double t746 = t355 * t287; + const double t753 = t453 * t250; + const double t755 = t692 * t641 * sigma_bb; + const double t758 = -t348 * t273 / 0.18e2 - t185 * t257 * t352 + 0.2e1 * t753 * t755 - t740; + const double t760 = t741 * t125 - t269 * t758 - t743 * t287 - t619 * t355 + 0.2e1 * t624 * t746; + const double t765 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t241 * t357 - t711 - 0.3e1 / 0.8e1 * t5 * t89 * t760 ); + const double t767 = 0.1e1 / t412; + const double t775 = 0.1e1 / t154; + const double t778 = t59 * t424 * t775 / 0.4e1; + const double t781 = t59 * expo * t775 / 0.2e1; + const double t782 = t410 * t767 * t43 * sigma_aa / 0.2304e4 - t151 * t300 * t43 / 0.288e3 - t778 + t781; + const double t786 = t323 * t323; + const double t791 = t51 / t52 / sigma_aa; + const double t794 = t185 * t308; + const double t796 = t39 * a * t195; + const double t800 = t692 * t458; + const double t803 = -t791 * t69 / 0.48e2 + t794 * t796 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t299 * t800 + t778 - t781; + const double t805 = -t178 * t803 - 0.2e1 * t681 * t323 + 0.2e1 * t439 * t786 + t782 * t73; + const double t809 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t805 ); + const double t810 = 0.1e1 / t598; + const double t818 = 0.1e1 / t245; + const double t821 = t112 * t424 * t818 / 0.4e1; + const double t824 = t112 * expo * t818 / 0.2e1; + const double t825 = t410 * t810 * t99 * sigma_bb / 0.2304e4 - t151 * t333 * t99 / 0.288e3 - t821 + t824; + const double t829 = t355 * t355; + const double t834 = t51 / t105 / sigma_bb; + const double t837 = t185 * t341; + const double t839 = t95 * a * t283; + const double t843 = t692 * t641; + const double t846 = -t834 * t121 / 0.48e2 + t837 * t839 / 0.8e1 - 0.3e1 / 0.4e1 * t453 * t332 * t843 + t821 - t824; + const double t848 = t825 * t125 - t269 * t846 - 0.2e1 * t743 * t355 + 0.2e1 * t624 * t829; + const double t852 = piecewise_functor_3( t80, 0.0, -0.3e1 / 0.8e1 * t5 * t89 * t848 ); + + + vrho_a = t79 + t131 + t6 * ( t206 + t222 ); + vrho_b = t79 + t131 + t6 * ( t235 + t294 ); + vsigma_aa = t6 * t329; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t361; + v2rho2_aa = 0.2e1 * t206 + 0.2e1 * t222 + t6 * ( t470 + t497 ); + v2rho2_bb = 0.2e1 * t235 + 0.2e1 * t294 + t6 * ( t570 + t653 ); + v2rhosigma_a_aa = t6 * t704 + t329; + v2rhosigma_b_bb = t6 * t765 + t361; + v2sigma2_aa_aa = t6 * t809; + v2sigma2_bb_bb = t6 * t852; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinPW91_X : detail::BuiltinKernelImpl< BuiltinPW91_X > { + + BuiltinPW91_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinPW91_X >(p) { } + + virtual ~BuiltinPW91_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pz81.hpp b/include/exchcxx/impl/builtin/kernels/pz81.hpp index 244098a..8654b71 100644 --- a/include/exchcxx/impl/builtin/kernels/pz81.hpp +++ b/include/exchcxx/impl/builtin/kernels/pz81.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPZ81 > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double gamma_0 = -0.1423; static constexpr double gamma_1 = -0.0843; @@ -49,7 +98,6 @@ struct kernel_traits< BuiltinPZ81 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -100,7 +148,6 @@ struct kernel_traits< BuiltinPZ81 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -165,10 +212,182 @@ struct kernel_traits< BuiltinPZ81 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t76 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t13 = gamma_0; + constexpr double t14 = beta1_0; + constexpr double t19 = beta2_0 * t1; + constexpr double t20 = t3 * t6; + constexpr double t27 = a_0; + constexpr double t32 = c_0 * t1; + constexpr double t33 = t32 * t3; + constexpr double t38 = d_0 * t1; + constexpr double t43 = gamma_1; + constexpr double t44 = beta1_1; + constexpr double t48 = beta2_1 * t1; + constexpr double t54 = a_1; + constexpr double t58 = c_1 * t1; + constexpr double t59 = t58 * t3; + constexpr double t63 = d_1 * t1; + constexpr double t144 = t1 * t1; + constexpr double t146 = t3 * t3; + constexpr double t147 = t146 * t5; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t1 * t3 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t15 = safe_math::sqrt( t10 ); + const double t21 = t20 * t8; + const double t24 = 0.1e1 + t14 * t15 / 0.2e1 + t19 * t21 / 0.4e1; + const double t28 = safe_math::log( t11 ); + const double t51 = 0.1e1 + t44 * t15 / 0.2e1 + t48 * t21 / 0.4e1; + const double t70 = safe_math::cbrt( zeta_tol ); + const double t72 = piecewise_functor_3( 0.1e1 <= zeta_tol, t70 * zeta_tol, 1.0 ); + const double t74 = 0.2e1 * t72 - 0.2e1; + const double t79 = 0.1e1 / ( 0.2e1 * t76 - 0.2e1 ); + const double t81 = t24 * t24; + const double t83 = t13 / t81; + const double t84 = 0.1e1 / t15; + const double t86 = t14 * t84 * t1; + const double t88 = 0.1e1 / t7 / rho; + const double t89 = t20 * t88; + const double t93 = -t19 * t89 / 0.12e2 - t86 * t89 / 0.12e2; + const double t95 = 0.1e1 / rho; + const double t99 = t6 * t88 * t28; + const double t107 = piecewise_functor_3( t12, -t83 * t93, -t27 * t95 / 0.3e1 - t33 * t99 / 0.12e2 - t32 * t89 / 0.12e2 - t38 * t89 / 0.12e2 ); + const double t108 = t51 * t51; + const double t110 = t43 / t108; + const double t112 = t44 * t84 * t1; + const double t116 = -t112 * t89 / 0.12e2 - t48 * t89 / 0.12e2; + const double t127 = piecewise_functor_3( t12, -t110 * t116, -t54 * t95 / 0.3e1 - t59 * t99 / 0.12e2 - t58 * t89 / 0.12e2 - t63 * t89 / 0.12e2 ); + const double t130 = ( t127 - t107 ) * t74 * t79; + const double t137 = t13 / t81 / t24; + const double t138 = t93 * t93; + const double t142 = 0.1e1 / t15 / t10; + const double t145 = t14 * t142 * t144; + const double t148 = rho * rho; + const double t149 = t7 * t7; + const double t152 = t147 / t149 / t148; + const double t156 = 0.1e1 / t7 / t148; + const double t157 = t20 * t156; + const double t162 = -t145 * t152 / 0.18e2 + t86 * t157 / 0.9e1 + t19 * t157 / 0.9e1; + const double t165 = 0.1e1 / t148; + const double t169 = t6 * t156 * t28; + const double t177 = piecewise_functor_3( t12, 0.2e1 * t137 * t138 - t83 * t162, t27 * t165 / 0.3e1 + t33 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t32 * t157 + t38 * t157 / 0.9e1 ); + const double t180 = t43 / t108 / t51; + const double t181 = t116 * t116; + const double t185 = t44 * t142 * t144; + const double t192 = -t185 * t152 / 0.18e2 + t112 * t157 / 0.9e1 + t48 * t157 / 0.9e1; + const double t204 = piecewise_functor_3( t12, -t110 * t192 + 0.2e1 * t180 * t181, t54 * t165 / 0.3e1 + t59 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t58 * t157 + t63 * t157 / 0.9e1 ); + const double t207 = ( t204 - t177 ) * t74 * t79; + + + v2rho2 = 0.2e1 * t107 + 0.2e1 * t130 + rho * ( t177 + t207 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t76 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t13 = gamma_0; + constexpr double t14 = beta1_0; + constexpr double t19 = beta2_0 * t1; + constexpr double t20 = t3 * t6; + constexpr double t27 = a_0; + constexpr double t32 = c_0 * t1; + constexpr double t33 = t32 * t3; + constexpr double t38 = d_0 * t1; + constexpr double t43 = gamma_1; + constexpr double t44 = beta1_1; + constexpr double t48 = beta2_1 * t1; + constexpr double t54 = a_1; + constexpr double t58 = c_1 * t1; + constexpr double t59 = t58 * t3; + constexpr double t63 = d_1 * t1; + constexpr double t144 = t1 * t1; + constexpr double t146 = t3 * t3; + constexpr double t147 = t146 * t5; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t1 * t3 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t15 = safe_math::sqrt( t10 ); + const double t21 = t20 * t8; + const double t24 = 0.1e1 + t14 * t15 / 0.2e1 + t19 * t21 / 0.4e1; + const double t28 = safe_math::log( t11 ); + const double t34 = t9 * t28; + const double t42 = piecewise_functor_3( t12, t13 / t24, t27 * t28 + b_0 + t33 * t34 / 0.4e1 + t38 * t21 / 0.4e1 ); + const double t51 = 0.1e1 + t44 * t15 / 0.2e1 + t48 * t21 / 0.4e1; + const double t67 = piecewise_functor_3( t12, t43 / t51, t54 * t28 + b_1 + t59 * t34 / 0.4e1 + t63 * t21 / 0.4e1 ); + const double t70 = safe_math::cbrt( zeta_tol ); + const double t72 = piecewise_functor_3( 0.1e1 <= zeta_tol, t70 * zeta_tol, 1.0 ); + const double t74 = 0.2e1 * t72 - 0.2e1; + const double t79 = 0.1e1 / ( 0.2e1 * t76 - 0.2e1 ); + const double t80 = ( t67 - t42 ) * t74 * t79; + const double t81 = t24 * t24; + const double t83 = t13 / t81; + const double t84 = 0.1e1 / t15; + const double t86 = t14 * t84 * t1; + const double t88 = 0.1e1 / t7 / rho; + const double t89 = t20 * t88; + const double t93 = -t19 * t89 / 0.12e2 - t86 * t89 / 0.12e2; + const double t95 = 0.1e1 / rho; + const double t99 = t6 * t88 * t28; + const double t107 = piecewise_functor_3( t12, -t83 * t93, -t27 * t95 / 0.3e1 - t33 * t99 / 0.12e2 - t32 * t89 / 0.12e2 - t38 * t89 / 0.12e2 ); + const double t108 = t51 * t51; + const double t110 = t43 / t108; + const double t112 = t44 * t84 * t1; + const double t116 = -t112 * t89 / 0.12e2 - t48 * t89 / 0.12e2; + const double t127 = piecewise_functor_3( t12, -t110 * t116, -t54 * t95 / 0.3e1 - t59 * t99 / 0.12e2 - t58 * t89 / 0.12e2 - t63 * t89 / 0.12e2 ); + const double t130 = ( t127 - t107 ) * t74 * t79; + const double t137 = t13 / t81 / t24; + const double t138 = t93 * t93; + const double t142 = 0.1e1 / t15 / t10; + const double t145 = t14 * t142 * t144; + const double t148 = rho * rho; + const double t149 = t7 * t7; + const double t152 = t147 / t149 / t148; + const double t156 = 0.1e1 / t7 / t148; + const double t157 = t20 * t156; + const double t162 = -t145 * t152 / 0.18e2 + t86 * t157 / 0.9e1 + t19 * t157 / 0.9e1; + const double t165 = 0.1e1 / t148; + const double t169 = t6 * t156 * t28; + const double t177 = piecewise_functor_3( t12, 0.2e1 * t137 * t138 - t83 * t162, t27 * t165 / 0.3e1 + t33 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t32 * t157 + t38 * t157 / 0.9e1 ); + const double t180 = t43 / t108 / t51; + const double t181 = t116 * t116; + const double t185 = t44 * t142 * t144; + const double t192 = -t185 * t152 / 0.18e2 + t112 * t157 / 0.9e1 + t48 * t157 / 0.9e1; + const double t204 = piecewise_functor_3( t12, -t110 * t192 + 0.2e1 * t180 * t181, t54 * t165 / 0.3e1 + t59 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t58 * t157 + t63 * t157 / 0.9e1 ); + const double t207 = ( t204 - t177 ) * t74 * t79; + + + vrho = t42 + t80 + rho * ( t107 + t130 ); + v2rho2 = 0.2e1 * t107 + 0.2e1 * t130 + rho * ( t177 + t207 ); + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -232,7 +451,6 @@ struct kernel_traits< BuiltinPZ81 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -326,6 +544,315 @@ struct kernel_traits< BuiltinPZ81 > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t87 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t14 = gamma_0; + constexpr double t15 = beta1_0; + constexpr double t20 = beta2_0 * t1; + constexpr double t21 = t3 * t6; + constexpr double t28 = a_0; + constexpr double t33 = c_0 * t1; + constexpr double t34 = t33 * t3; + constexpr double t39 = d_0 * t1; + constexpr double t44 = gamma_1; + constexpr double t45 = beta1_1; + constexpr double t49 = beta2_1 * t1; + constexpr double t55 = a_1; + constexpr double t59 = c_1 * t1; + constexpr double t60 = t59 * t3; + constexpr double t64 = d_1 * t1; + constexpr double t182 = t1 * t1; + constexpr double t184 = t3 * t3; + constexpr double t185 = t184 * t5; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t1 * t3 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t16 = safe_math::sqrt( t11 ); + const double t22 = t21 * t9; + const double t25 = 0.1e1 + t15 * t16 / 0.2e1 + t20 * t22 / 0.4e1; + const double t29 = safe_math::log( t12 ); + const double t35 = t10 * t29; + const double t43 = piecewise_functor_3( t13, t14 / t25, t28 * t29 + b_0 + t34 * t35 / 0.4e1 + t39 * t22 / 0.4e1 ); + const double t52 = 0.1e1 + t45 * t16 / 0.2e1 + t49 * t22 / 0.4e1; + const double t68 = piecewise_functor_3( t13, t44 / t52, t55 * t29 + b_1 + t60 * t35 / 0.4e1 + t64 * t22 / 0.4e1 ); + const double t69 = t68 - t43; + const double t70 = rho_a - rho_b; + const double t71 = 0.1e1 / t7; + const double t72 = t70 * t71; + const double t73 = 0.1e1 + t72; + const double t74 = t73 <= zeta_tol; + const double t75 = safe_math::cbrt( zeta_tol ); + const double t76 = t75 * zeta_tol; + const double t77 = safe_math::cbrt( t73 ); + const double t79 = piecewise_functor_3( t74, t76, t77 * t73 ); + const double t80 = 0.1e1 - t72; + const double t81 = t80 <= zeta_tol; + const double t82 = safe_math::cbrt( t80 ); + const double t84 = piecewise_functor_3( t81, t76, t82 * t80 ); + const double t85 = t79 + t84 - 0.2e1; + const double t90 = 0.1e1 / ( 0.2e1 * t87 - 0.2e1 ); + const double t92 = t25 * t25; + const double t94 = t14 / t92; + const double t95 = 0.1e1 / t16; + const double t97 = t15 * t95 * t1; + const double t99 = 0.1e1 / t8 / t7; + const double t100 = t21 * t99; + const double t104 = -t20 * t100 / 0.12e2 - t97 * t100 / 0.12e2; + const double t109 = t6 * t99 * t29; + const double t117 = piecewise_functor_3( t13, -t94 * t104, -t28 * t71 / 0.3e1 - t34 * t109 / 0.12e2 - t33 * t100 / 0.12e2 - t39 * t100 / 0.12e2 ); + const double t118 = t52 * t52; + const double t120 = t44 / t118; + const double t122 = t45 * t95 * t1; + const double t126 = -t122 * t100 / 0.12e2 - t49 * t100 / 0.12e2; + const double t137 = piecewise_functor_3( t13, -t120 * t126, -t55 * t71 / 0.3e1 - t60 * t109 / 0.12e2 - t59 * t100 / 0.12e2 - t64 * t100 / 0.12e2 ); + const double t138 = t137 - t117; + const double t140 = t138 * t85 * t90; + const double t141 = t7 * t7; + const double t142 = 0.1e1 / t141; + const double t143 = t70 * t142; + const double t144 = t71 - t143; + const double t147 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t144 ); + const double t148 = -t144; + const double t151 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t148 ); + const double t152 = t147 + t151; + const double t154 = t69 * t152 * t90; + const double t157 = -t71 - t143; + const double t160 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t157 ); + const double t161 = -t157; + const double t164 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t161 ); + const double t165 = t160 + t164; + const double t167 = t69 * t165 * t90; + const double t170 = 0.2e1 * t117; + const double t171 = 0.2e1 * t140; + const double t175 = t14 / t92 / t25; + const double t176 = t104 * t104; + const double t180 = 0.1e1 / t16 / t11; + const double t183 = t15 * t180 * t182; + const double t186 = t8 * t8; + const double t189 = t185 / t186 / t141; + const double t193 = 0.1e1 / t8 / t141; + const double t194 = t21 * t193; + const double t199 = -t183 * t189 / 0.18e2 + t97 * t194 / 0.9e1 + t20 * t194 / 0.9e1; + const double t205 = t6 * t193 * t29; + const double t213 = piecewise_functor_3( t13, 0.2e1 * t175 * t176 - t94 * t199, t28 * t142 / 0.3e1 + t34 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t33 * t194 + t39 * t194 / 0.9e1 ); + const double t216 = t44 / t118 / t52; + const double t217 = t126 * t126; + const double t221 = t45 * t180 * t182; + const double t228 = -t221 * t189 / 0.18e2 + t122 * t194 / 0.9e1 + t49 * t194 / 0.9e1; + const double t240 = piecewise_functor_3( t13, -t120 * t228 + 0.2e1 * t216 * t217, t55 * t142 / 0.3e1 + t60 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t59 * t194 + t64 * t194 / 0.9e1 ); + const double t241 = t240 - t213; + const double t243 = t241 * t85 * t90; + const double t245 = t138 * t152 * t90; + const double t246 = 0.2e1 * t245; + const double t247 = t77 * t77; + const double t248 = 0.1e1 / t247; + const double t249 = t144 * t144; + const double t252 = t141 * t7; + const double t253 = 0.1e1 / t252; + const double t254 = t70 * t253; + const double t256 = -0.2e1 * t142 + 0.2e1 * t254; + const double t260 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t77 * t256 ); + const double t261 = t82 * t82; + const double t262 = 0.1e1 / t261; + const double t263 = t148 * t148; + const double t266 = -t256; + const double t270 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t263 + 0.4e1 / 0.3e1 * t82 * t266 ); + const double t271 = t260 + t270; + const double t273 = t69 * t271 * t90; + const double t277 = t138 * t165 * t90; + const double t278 = t248 * t157; + const double t281 = t77 * t70; + const double t285 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t278 * t144 + 0.8e1 / 0.3e1 * t281 * t253 ); + const double t286 = t262 * t161; + const double t289 = t82 * t70; + const double t293 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t286 * t148 - 0.8e1 / 0.3e1 * t289 * t253 ); + const double t294 = t285 + t293; + const double t296 = t69 * t294 * t90; + const double t300 = 0.2e1 * t277; + const double t301 = t157 * t157; + const double t305 = 0.2e1 * t142 + 0.2e1 * t254; + const double t309 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t301 + 0.4e1 / 0.3e1 * t77 * t305 ); + const double t310 = t161 * t161; + const double t313 = -t305; + const double t317 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t310 + 0.4e1 / 0.3e1 * t82 * t313 ); + const double t318 = t309 + t317; + const double t320 = t69 * t318 * t90; + + + v2rho2_aa = t170 + t171 + 0.2e1 * t154 + t7 * ( t213 + t243 + t246 + t273 ); + v2rho2_ab = t170 + t171 + t154 + t167 + t7 * ( t213 + t243 + t245 + t277 + t296 ); + v2rho2_bb = t170 + t171 + 0.2e1 * t167 + t7 * ( t213 + t243 + t300 + t320 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t87 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t14 = gamma_0; + constexpr double t15 = beta1_0; + constexpr double t20 = beta2_0 * t1; + constexpr double t21 = t3 * t6; + constexpr double t28 = a_0; + constexpr double t33 = c_0 * t1; + constexpr double t34 = t33 * t3; + constexpr double t39 = d_0 * t1; + constexpr double t44 = gamma_1; + constexpr double t45 = beta1_1; + constexpr double t49 = beta2_1 * t1; + constexpr double t55 = a_1; + constexpr double t59 = c_1 * t1; + constexpr double t60 = t59 * t3; + constexpr double t64 = d_1 * t1; + constexpr double t182 = t1 * t1; + constexpr double t184 = t3 * t3; + constexpr double t185 = t184 * t5; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t1 * t3 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t16 = safe_math::sqrt( t11 ); + const double t22 = t21 * t9; + const double t25 = 0.1e1 + t15 * t16 / 0.2e1 + t20 * t22 / 0.4e1; + const double t29 = safe_math::log( t12 ); + const double t35 = t10 * t29; + const double t43 = piecewise_functor_3( t13, t14 / t25, t28 * t29 + b_0 + t34 * t35 / 0.4e1 + t39 * t22 / 0.4e1 ); + const double t52 = 0.1e1 + t45 * t16 / 0.2e1 + t49 * t22 / 0.4e1; + const double t68 = piecewise_functor_3( t13, t44 / t52, t55 * t29 + b_1 + t60 * t35 / 0.4e1 + t64 * t22 / 0.4e1 ); + const double t69 = t68 - t43; + const double t70 = rho_a - rho_b; + const double t71 = 0.1e1 / t7; + const double t72 = t70 * t71; + const double t73 = 0.1e1 + t72; + const double t74 = t73 <= zeta_tol; + const double t75 = safe_math::cbrt( zeta_tol ); + const double t76 = t75 * zeta_tol; + const double t77 = safe_math::cbrt( t73 ); + const double t79 = piecewise_functor_3( t74, t76, t77 * t73 ); + const double t80 = 0.1e1 - t72; + const double t81 = t80 <= zeta_tol; + const double t82 = safe_math::cbrt( t80 ); + const double t84 = piecewise_functor_3( t81, t76, t82 * t80 ); + const double t85 = t79 + t84 - 0.2e1; + const double t90 = 0.1e1 / ( 0.2e1 * t87 - 0.2e1 ); + const double t91 = t69 * t85 * t90; + const double t92 = t25 * t25; + const double t94 = t14 / t92; + const double t95 = 0.1e1 / t16; + const double t97 = t15 * t95 * t1; + const double t99 = 0.1e1 / t8 / t7; + const double t100 = t21 * t99; + const double t104 = -t20 * t100 / 0.12e2 - t97 * t100 / 0.12e2; + const double t109 = t6 * t99 * t29; + const double t117 = piecewise_functor_3( t13, -t94 * t104, -t28 * t71 / 0.3e1 - t34 * t109 / 0.12e2 - t33 * t100 / 0.12e2 - t39 * t100 / 0.12e2 ); + const double t118 = t52 * t52; + const double t120 = t44 / t118; + const double t122 = t45 * t95 * t1; + const double t126 = -t122 * t100 / 0.12e2 - t49 * t100 / 0.12e2; + const double t137 = piecewise_functor_3( t13, -t120 * t126, -t55 * t71 / 0.3e1 - t60 * t109 / 0.12e2 - t59 * t100 / 0.12e2 - t64 * t100 / 0.12e2 ); + const double t138 = t137 - t117; + const double t140 = t138 * t85 * t90; + const double t141 = t7 * t7; + const double t142 = 0.1e1 / t141; + const double t143 = t70 * t142; + const double t144 = t71 - t143; + const double t147 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t144 ); + const double t148 = -t144; + const double t151 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t148 ); + const double t152 = t147 + t151; + const double t154 = t69 * t152 * t90; + const double t157 = -t71 - t143; + const double t160 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t157 ); + const double t161 = -t157; + const double t164 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t161 ); + const double t165 = t160 + t164; + const double t167 = t69 * t165 * t90; + const double t170 = 0.2e1 * t117; + const double t171 = 0.2e1 * t140; + const double t175 = t14 / t92 / t25; + const double t176 = t104 * t104; + const double t180 = 0.1e1 / t16 / t11; + const double t183 = t15 * t180 * t182; + const double t186 = t8 * t8; + const double t189 = t185 / t186 / t141; + const double t193 = 0.1e1 / t8 / t141; + const double t194 = t21 * t193; + const double t199 = -t183 * t189 / 0.18e2 + t97 * t194 / 0.9e1 + t20 * t194 / 0.9e1; + const double t205 = t6 * t193 * t29; + const double t213 = piecewise_functor_3( t13, 0.2e1 * t175 * t176 - t94 * t199, t28 * t142 / 0.3e1 + t34 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t33 * t194 + t39 * t194 / 0.9e1 ); + const double t216 = t44 / t118 / t52; + const double t217 = t126 * t126; + const double t221 = t45 * t180 * t182; + const double t228 = -t221 * t189 / 0.18e2 + t122 * t194 / 0.9e1 + t49 * t194 / 0.9e1; + const double t240 = piecewise_functor_3( t13, -t120 * t228 + 0.2e1 * t216 * t217, t55 * t142 / 0.3e1 + t60 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t59 * t194 + t64 * t194 / 0.9e1 ); + const double t241 = t240 - t213; + const double t243 = t241 * t85 * t90; + const double t245 = t138 * t152 * t90; + const double t246 = 0.2e1 * t245; + const double t247 = t77 * t77; + const double t248 = 0.1e1 / t247; + const double t249 = t144 * t144; + const double t252 = t141 * t7; + const double t253 = 0.1e1 / t252; + const double t254 = t70 * t253; + const double t256 = -0.2e1 * t142 + 0.2e1 * t254; + const double t260 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t77 * t256 ); + const double t261 = t82 * t82; + const double t262 = 0.1e1 / t261; + const double t263 = t148 * t148; + const double t266 = -t256; + const double t270 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t263 + 0.4e1 / 0.3e1 * t82 * t266 ); + const double t271 = t260 + t270; + const double t273 = t69 * t271 * t90; + const double t277 = t138 * t165 * t90; + const double t278 = t248 * t157; + const double t281 = t77 * t70; + const double t285 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t278 * t144 + 0.8e1 / 0.3e1 * t281 * t253 ); + const double t286 = t262 * t161; + const double t289 = t82 * t70; + const double t293 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t286 * t148 - 0.8e1 / 0.3e1 * t289 * t253 ); + const double t294 = t285 + t293; + const double t296 = t69 * t294 * t90; + const double t300 = 0.2e1 * t277; + const double t301 = t157 * t157; + const double t305 = 0.2e1 * t142 + 0.2e1 * t254; + const double t309 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t301 + 0.4e1 / 0.3e1 * t77 * t305 ); + const double t310 = t161 * t161; + const double t313 = -t305; + const double t317 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t310 + 0.4e1 / 0.3e1 * t82 * t313 ); + const double t318 = t309 + t317; + const double t320 = t69 * t318 * t90; + + + vrho_a = t43 + t91 + t7 * ( t117 + t140 + t154 ); + vrho_b = t43 + t91 + t7 * ( t117 + t140 + t167 ); + v2rho2_aa = t170 + t171 + 0.2e1 * t154 + t7 * ( t213 + t243 + t246 + t273 ); + v2rho2_ab = t170 + t171 + t154 + t167 + t7 * ( t213 + t243 + t245 + t277 + t296 ); + v2rho2_bb = t170 + t171 + 0.2e1 * t167 + t7 * ( t213 + t243 + t300 + t320 ); + + } + }; @@ -340,4 +867,4 @@ struct BuiltinPZ81 : detail::BuiltinKernelImpl< BuiltinPZ81 > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/pz81_mod.hpp b/include/exchcxx/impl/builtin/kernels/pz81_mod.hpp index d5a9141..1ff6309 100644 --- a/include/exchcxx/impl/builtin/kernels/pz81_mod.hpp +++ b/include/exchcxx/impl/builtin/kernels/pz81_mod.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinPZ81_MOD > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double gamma_0 = -0.1423; static constexpr double gamma_1 = -0.0843; @@ -49,7 +98,6 @@ struct kernel_traits< BuiltinPZ81_MOD > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -100,7 +148,6 @@ struct kernel_traits< BuiltinPZ81_MOD > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -165,10 +212,182 @@ struct kernel_traits< BuiltinPZ81_MOD > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t76 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t13 = gamma_0; + constexpr double t14 = beta1_0; + constexpr double t19 = beta2_0 * t1; + constexpr double t20 = t3 * t6; + constexpr double t27 = a_0; + constexpr double t32 = c_0 * t1; + constexpr double t33 = t32 * t3; + constexpr double t38 = d_0 * t1; + constexpr double t43 = gamma_1; + constexpr double t44 = beta1_1; + constexpr double t48 = beta2_1 * t1; + constexpr double t54 = a_1; + constexpr double t58 = c_1 * t1; + constexpr double t59 = t58 * t3; + constexpr double t63 = d_1 * t1; + constexpr double t144 = t1 * t1; + constexpr double t146 = t3 * t3; + constexpr double t147 = t146 * t5; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t1 * t3 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t15 = safe_math::sqrt( t10 ); + const double t21 = t20 * t8; + const double t24 = 0.1e1 + t14 * t15 / 0.2e1 + t19 * t21 / 0.4e1; + const double t28 = safe_math::log( t11 ); + const double t51 = 0.1e1 + t44 * t15 / 0.2e1 + t48 * t21 / 0.4e1; + const double t70 = safe_math::cbrt( zeta_tol ); + const double t72 = piecewise_functor_3( 0.1e1 <= zeta_tol, t70 * zeta_tol, 1.0 ); + const double t74 = 0.2e1 * t72 - 0.2e1; + const double t79 = 0.1e1 / ( 0.2e1 * t76 - 0.2e1 ); + const double t81 = t24 * t24; + const double t83 = t13 / t81; + const double t84 = 0.1e1 / t15; + const double t86 = t14 * t84 * t1; + const double t88 = 0.1e1 / t7 / rho; + const double t89 = t20 * t88; + const double t93 = -t19 * t89 / 0.12e2 - t86 * t89 / 0.12e2; + const double t95 = 0.1e1 / rho; + const double t99 = t6 * t88 * t28; + const double t107 = piecewise_functor_3( t12, -t83 * t93, -t27 * t95 / 0.3e1 - t33 * t99 / 0.12e2 - t32 * t89 / 0.12e2 - t38 * t89 / 0.12e2 ); + const double t108 = t51 * t51; + const double t110 = t43 / t108; + const double t112 = t44 * t84 * t1; + const double t116 = -t112 * t89 / 0.12e2 - t48 * t89 / 0.12e2; + const double t127 = piecewise_functor_3( t12, -t110 * t116, -t54 * t95 / 0.3e1 - t59 * t99 / 0.12e2 - t58 * t89 / 0.12e2 - t63 * t89 / 0.12e2 ); + const double t130 = ( t127 - t107 ) * t74 * t79; + const double t137 = t13 / t81 / t24; + const double t138 = t93 * t93; + const double t142 = 0.1e1 / t15 / t10; + const double t145 = t14 * t142 * t144; + const double t148 = rho * rho; + const double t149 = t7 * t7; + const double t152 = t147 / t149 / t148; + const double t156 = 0.1e1 / t7 / t148; + const double t157 = t20 * t156; + const double t162 = -t145 * t152 / 0.18e2 + t86 * t157 / 0.9e1 + t19 * t157 / 0.9e1; + const double t165 = 0.1e1 / t148; + const double t169 = t6 * t156 * t28; + const double t177 = piecewise_functor_3( t12, 0.2e1 * t137 * t138 - t83 * t162, t27 * t165 / 0.3e1 + t33 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t32 * t157 + t38 * t157 / 0.9e1 ); + const double t180 = t43 / t108 / t51; + const double t181 = t116 * t116; + const double t185 = t44 * t142 * t144; + const double t192 = -t185 * t152 / 0.18e2 + t112 * t157 / 0.9e1 + t48 * t157 / 0.9e1; + const double t204 = piecewise_functor_3( t12, -t110 * t192 + 0.2e1 * t180 * t181, t54 * t165 / 0.3e1 + t59 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t58 * t157 + t63 * t157 / 0.9e1 ); + const double t207 = ( t204 - t177 ) * t74 * t79; + + + v2rho2 = 0.2e1 * t107 + 0.2e1 * t130 + rho * ( t177 + t207 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t76 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t13 = gamma_0; + constexpr double t14 = beta1_0; + constexpr double t19 = beta2_0 * t1; + constexpr double t20 = t3 * t6; + constexpr double t27 = a_0; + constexpr double t32 = c_0 * t1; + constexpr double t33 = t32 * t3; + constexpr double t38 = d_0 * t1; + constexpr double t43 = gamma_1; + constexpr double t44 = beta1_1; + constexpr double t48 = beta2_1 * t1; + constexpr double t54 = a_1; + constexpr double t58 = c_1 * t1; + constexpr double t59 = t58 * t3; + constexpr double t63 = d_1 * t1; + constexpr double t144 = t1 * t1; + constexpr double t146 = t3 * t3; + constexpr double t147 = t146 * t5; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t1 * t3 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = 0.1e1 <= t11; + const double t15 = safe_math::sqrt( t10 ); + const double t21 = t20 * t8; + const double t24 = 0.1e1 + t14 * t15 / 0.2e1 + t19 * t21 / 0.4e1; + const double t28 = safe_math::log( t11 ); + const double t34 = t9 * t28; + const double t42 = piecewise_functor_3( t12, t13 / t24, t27 * t28 + b_0 + t33 * t34 / 0.4e1 + t38 * t21 / 0.4e1 ); + const double t51 = 0.1e1 + t44 * t15 / 0.2e1 + t48 * t21 / 0.4e1; + const double t67 = piecewise_functor_3( t12, t43 / t51, t54 * t28 + b_1 + t59 * t34 / 0.4e1 + t63 * t21 / 0.4e1 ); + const double t70 = safe_math::cbrt( zeta_tol ); + const double t72 = piecewise_functor_3( 0.1e1 <= zeta_tol, t70 * zeta_tol, 1.0 ); + const double t74 = 0.2e1 * t72 - 0.2e1; + const double t79 = 0.1e1 / ( 0.2e1 * t76 - 0.2e1 ); + const double t80 = ( t67 - t42 ) * t74 * t79; + const double t81 = t24 * t24; + const double t83 = t13 / t81; + const double t84 = 0.1e1 / t15; + const double t86 = t14 * t84 * t1; + const double t88 = 0.1e1 / t7 / rho; + const double t89 = t20 * t88; + const double t93 = -t19 * t89 / 0.12e2 - t86 * t89 / 0.12e2; + const double t95 = 0.1e1 / rho; + const double t99 = t6 * t88 * t28; + const double t107 = piecewise_functor_3( t12, -t83 * t93, -t27 * t95 / 0.3e1 - t33 * t99 / 0.12e2 - t32 * t89 / 0.12e2 - t38 * t89 / 0.12e2 ); + const double t108 = t51 * t51; + const double t110 = t43 / t108; + const double t112 = t44 * t84 * t1; + const double t116 = -t112 * t89 / 0.12e2 - t48 * t89 / 0.12e2; + const double t127 = piecewise_functor_3( t12, -t110 * t116, -t54 * t95 / 0.3e1 - t59 * t99 / 0.12e2 - t58 * t89 / 0.12e2 - t63 * t89 / 0.12e2 ); + const double t130 = ( t127 - t107 ) * t74 * t79; + const double t137 = t13 / t81 / t24; + const double t138 = t93 * t93; + const double t142 = 0.1e1 / t15 / t10; + const double t145 = t14 * t142 * t144; + const double t148 = rho * rho; + const double t149 = t7 * t7; + const double t152 = t147 / t149 / t148; + const double t156 = 0.1e1 / t7 / t148; + const double t157 = t20 * t156; + const double t162 = -t145 * t152 / 0.18e2 + t86 * t157 / 0.9e1 + t19 * t157 / 0.9e1; + const double t165 = 0.1e1 / t148; + const double t169 = t6 * t156 * t28; + const double t177 = piecewise_functor_3( t12, 0.2e1 * t137 * t138 - t83 * t162, t27 * t165 / 0.3e1 + t33 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t32 * t157 + t38 * t157 / 0.9e1 ); + const double t180 = t43 / t108 / t51; + const double t181 = t116 * t116; + const double t185 = t44 * t142 * t144; + const double t192 = -t185 * t152 / 0.18e2 + t112 * t157 / 0.9e1 + t48 * t157 / 0.9e1; + const double t204 = piecewise_functor_3( t12, -t110 * t192 + 0.2e1 * t180 * t181, t54 * t165 / 0.3e1 + t59 * t169 / 0.9e1 + 0.5e1 / 0.36e2 * t58 * t157 + t63 * t157 / 0.9e1 ); + const double t207 = ( t204 - t177 ) * t74 * t79; + + + vrho = t42 + t80 + rho * ( t107 + t130 ); + v2rho2 = 0.2e1 * t107 + 0.2e1 * t130 + rho * ( t177 + t207 ); + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -232,7 +451,6 @@ struct kernel_traits< BuiltinPZ81_MOD > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -326,6 +544,315 @@ struct kernel_traits< BuiltinPZ81_MOD > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t87 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t14 = gamma_0; + constexpr double t15 = beta1_0; + constexpr double t20 = beta2_0 * t1; + constexpr double t21 = t3 * t6; + constexpr double t28 = a_0; + constexpr double t33 = c_0 * t1; + constexpr double t34 = t33 * t3; + constexpr double t39 = d_0 * t1; + constexpr double t44 = gamma_1; + constexpr double t45 = beta1_1; + constexpr double t49 = beta2_1 * t1; + constexpr double t55 = a_1; + constexpr double t59 = c_1 * t1; + constexpr double t60 = t59 * t3; + constexpr double t64 = d_1 * t1; + constexpr double t182 = t1 * t1; + constexpr double t184 = t3 * t3; + constexpr double t185 = t184 * t5; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t1 * t3 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t16 = safe_math::sqrt( t11 ); + const double t22 = t21 * t9; + const double t25 = 0.1e1 + t15 * t16 / 0.2e1 + t20 * t22 / 0.4e1; + const double t29 = safe_math::log( t12 ); + const double t35 = t10 * t29; + const double t43 = piecewise_functor_3( t13, t14 / t25, t28 * t29 + b_0 + t34 * t35 / 0.4e1 + t39 * t22 / 0.4e1 ); + const double t52 = 0.1e1 + t45 * t16 / 0.2e1 + t49 * t22 / 0.4e1; + const double t68 = piecewise_functor_3( t13, t44 / t52, t55 * t29 + b_1 + t60 * t35 / 0.4e1 + t64 * t22 / 0.4e1 ); + const double t69 = t68 - t43; + const double t70 = rho_a - rho_b; + const double t71 = 0.1e1 / t7; + const double t72 = t70 * t71; + const double t73 = 0.1e1 + t72; + const double t74 = t73 <= zeta_tol; + const double t75 = safe_math::cbrt( zeta_tol ); + const double t76 = t75 * zeta_tol; + const double t77 = safe_math::cbrt( t73 ); + const double t79 = piecewise_functor_3( t74, t76, t77 * t73 ); + const double t80 = 0.1e1 - t72; + const double t81 = t80 <= zeta_tol; + const double t82 = safe_math::cbrt( t80 ); + const double t84 = piecewise_functor_3( t81, t76, t82 * t80 ); + const double t85 = t79 + t84 - 0.2e1; + const double t90 = 0.1e1 / ( 0.2e1 * t87 - 0.2e1 ); + const double t92 = t25 * t25; + const double t94 = t14 / t92; + const double t95 = 0.1e1 / t16; + const double t97 = t15 * t95 * t1; + const double t99 = 0.1e1 / t8 / t7; + const double t100 = t21 * t99; + const double t104 = -t20 * t100 / 0.12e2 - t97 * t100 / 0.12e2; + const double t109 = t6 * t99 * t29; + const double t117 = piecewise_functor_3( t13, -t94 * t104, -t28 * t71 / 0.3e1 - t34 * t109 / 0.12e2 - t33 * t100 / 0.12e2 - t39 * t100 / 0.12e2 ); + const double t118 = t52 * t52; + const double t120 = t44 / t118; + const double t122 = t45 * t95 * t1; + const double t126 = -t122 * t100 / 0.12e2 - t49 * t100 / 0.12e2; + const double t137 = piecewise_functor_3( t13, -t120 * t126, -t55 * t71 / 0.3e1 - t60 * t109 / 0.12e2 - t59 * t100 / 0.12e2 - t64 * t100 / 0.12e2 ); + const double t138 = t137 - t117; + const double t140 = t138 * t85 * t90; + const double t141 = t7 * t7; + const double t142 = 0.1e1 / t141; + const double t143 = t70 * t142; + const double t144 = t71 - t143; + const double t147 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t144 ); + const double t148 = -t144; + const double t151 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t148 ); + const double t152 = t147 + t151; + const double t154 = t69 * t152 * t90; + const double t157 = -t71 - t143; + const double t160 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t157 ); + const double t161 = -t157; + const double t164 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t161 ); + const double t165 = t160 + t164; + const double t167 = t69 * t165 * t90; + const double t170 = 0.2e1 * t117; + const double t171 = 0.2e1 * t140; + const double t175 = t14 / t92 / t25; + const double t176 = t104 * t104; + const double t180 = 0.1e1 / t16 / t11; + const double t183 = t15 * t180 * t182; + const double t186 = t8 * t8; + const double t189 = t185 / t186 / t141; + const double t193 = 0.1e1 / t8 / t141; + const double t194 = t21 * t193; + const double t199 = -t183 * t189 / 0.18e2 + t97 * t194 / 0.9e1 + t20 * t194 / 0.9e1; + const double t205 = t6 * t193 * t29; + const double t213 = piecewise_functor_3( t13, 0.2e1 * t175 * t176 - t94 * t199, t28 * t142 / 0.3e1 + t34 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t33 * t194 + t39 * t194 / 0.9e1 ); + const double t216 = t44 / t118 / t52; + const double t217 = t126 * t126; + const double t221 = t45 * t180 * t182; + const double t228 = -t221 * t189 / 0.18e2 + t122 * t194 / 0.9e1 + t49 * t194 / 0.9e1; + const double t240 = piecewise_functor_3( t13, -t120 * t228 + 0.2e1 * t216 * t217, t55 * t142 / 0.3e1 + t60 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t59 * t194 + t64 * t194 / 0.9e1 ); + const double t241 = t240 - t213; + const double t243 = t241 * t85 * t90; + const double t245 = t138 * t152 * t90; + const double t246 = 0.2e1 * t245; + const double t247 = t77 * t77; + const double t248 = 0.1e1 / t247; + const double t249 = t144 * t144; + const double t252 = t141 * t7; + const double t253 = 0.1e1 / t252; + const double t254 = t70 * t253; + const double t256 = -0.2e1 * t142 + 0.2e1 * t254; + const double t260 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t77 * t256 ); + const double t261 = t82 * t82; + const double t262 = 0.1e1 / t261; + const double t263 = t148 * t148; + const double t266 = -t256; + const double t270 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t263 + 0.4e1 / 0.3e1 * t82 * t266 ); + const double t271 = t260 + t270; + const double t273 = t69 * t271 * t90; + const double t277 = t138 * t165 * t90; + const double t278 = t248 * t157; + const double t281 = t77 * t70; + const double t285 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t278 * t144 + 0.8e1 / 0.3e1 * t281 * t253 ); + const double t286 = t262 * t161; + const double t289 = t82 * t70; + const double t293 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t286 * t148 - 0.8e1 / 0.3e1 * t289 * t253 ); + const double t294 = t285 + t293; + const double t296 = t69 * t294 * t90; + const double t300 = 0.2e1 * t277; + const double t301 = t157 * t157; + const double t305 = 0.2e1 * t142 + 0.2e1 * t254; + const double t309 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t301 + 0.4e1 / 0.3e1 * t77 * t305 ); + const double t310 = t161 * t161; + const double t313 = -t305; + const double t317 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t310 + 0.4e1 / 0.3e1 * t82 * t313 ); + const double t318 = t309 + t317; + const double t320 = t69 * t318 * t90; + + + v2rho2_aa = t170 + t171 + 0.2e1 * t154 + t7 * ( t213 + t243 + t246 + t273 ); + v2rho2_ab = t170 + t171 + t154 + t167 + t7 * ( t213 + t243 + t245 + t277 + t296 ); + v2rho2_bb = t170 + t171 + 0.2e1 * t167 + t7 * ( t213 + t243 + t300 + t320 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t87 = constants::m_cbrt_2; + constexpr double t6 = t5 * t5; + constexpr double t14 = gamma_0; + constexpr double t15 = beta1_0; + constexpr double t20 = beta2_0 * t1; + constexpr double t21 = t3 * t6; + constexpr double t28 = a_0; + constexpr double t33 = c_0 * t1; + constexpr double t34 = t33 * t3; + constexpr double t39 = d_0 * t1; + constexpr double t44 = gamma_1; + constexpr double t45 = beta1_1; + constexpr double t49 = beta2_1 * t1; + constexpr double t55 = a_1; + constexpr double t59 = c_1 * t1; + constexpr double t60 = t59 * t3; + constexpr double t64 = d_1 * t1; + constexpr double t182 = t1 * t1; + constexpr double t184 = t3 * t3; + constexpr double t185 = t184 * t5; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t1 * t3 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = 0.1e1 <= t12; + const double t16 = safe_math::sqrt( t11 ); + const double t22 = t21 * t9; + const double t25 = 0.1e1 + t15 * t16 / 0.2e1 + t20 * t22 / 0.4e1; + const double t29 = safe_math::log( t12 ); + const double t35 = t10 * t29; + const double t43 = piecewise_functor_3( t13, t14 / t25, t28 * t29 + b_0 + t34 * t35 / 0.4e1 + t39 * t22 / 0.4e1 ); + const double t52 = 0.1e1 + t45 * t16 / 0.2e1 + t49 * t22 / 0.4e1; + const double t68 = piecewise_functor_3( t13, t44 / t52, t55 * t29 + b_1 + t60 * t35 / 0.4e1 + t64 * t22 / 0.4e1 ); + const double t69 = t68 - t43; + const double t70 = rho_a - rho_b; + const double t71 = 0.1e1 / t7; + const double t72 = t70 * t71; + const double t73 = 0.1e1 + t72; + const double t74 = t73 <= zeta_tol; + const double t75 = safe_math::cbrt( zeta_tol ); + const double t76 = t75 * zeta_tol; + const double t77 = safe_math::cbrt( t73 ); + const double t79 = piecewise_functor_3( t74, t76, t77 * t73 ); + const double t80 = 0.1e1 - t72; + const double t81 = t80 <= zeta_tol; + const double t82 = safe_math::cbrt( t80 ); + const double t84 = piecewise_functor_3( t81, t76, t82 * t80 ); + const double t85 = t79 + t84 - 0.2e1; + const double t90 = 0.1e1 / ( 0.2e1 * t87 - 0.2e1 ); + const double t91 = t69 * t85 * t90; + const double t92 = t25 * t25; + const double t94 = t14 / t92; + const double t95 = 0.1e1 / t16; + const double t97 = t15 * t95 * t1; + const double t99 = 0.1e1 / t8 / t7; + const double t100 = t21 * t99; + const double t104 = -t20 * t100 / 0.12e2 - t97 * t100 / 0.12e2; + const double t109 = t6 * t99 * t29; + const double t117 = piecewise_functor_3( t13, -t94 * t104, -t28 * t71 / 0.3e1 - t34 * t109 / 0.12e2 - t33 * t100 / 0.12e2 - t39 * t100 / 0.12e2 ); + const double t118 = t52 * t52; + const double t120 = t44 / t118; + const double t122 = t45 * t95 * t1; + const double t126 = -t122 * t100 / 0.12e2 - t49 * t100 / 0.12e2; + const double t137 = piecewise_functor_3( t13, -t120 * t126, -t55 * t71 / 0.3e1 - t60 * t109 / 0.12e2 - t59 * t100 / 0.12e2 - t64 * t100 / 0.12e2 ); + const double t138 = t137 - t117; + const double t140 = t138 * t85 * t90; + const double t141 = t7 * t7; + const double t142 = 0.1e1 / t141; + const double t143 = t70 * t142; + const double t144 = t71 - t143; + const double t147 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t144 ); + const double t148 = -t144; + const double t151 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t148 ); + const double t152 = t147 + t151; + const double t154 = t69 * t152 * t90; + const double t157 = -t71 - t143; + const double t160 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.3e1 * t77 * t157 ); + const double t161 = -t157; + const double t164 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.3e1 * t82 * t161 ); + const double t165 = t160 + t164; + const double t167 = t69 * t165 * t90; + const double t170 = 0.2e1 * t117; + const double t171 = 0.2e1 * t140; + const double t175 = t14 / t92 / t25; + const double t176 = t104 * t104; + const double t180 = 0.1e1 / t16 / t11; + const double t183 = t15 * t180 * t182; + const double t186 = t8 * t8; + const double t189 = t185 / t186 / t141; + const double t193 = 0.1e1 / t8 / t141; + const double t194 = t21 * t193; + const double t199 = -t183 * t189 / 0.18e2 + t97 * t194 / 0.9e1 + t20 * t194 / 0.9e1; + const double t205 = t6 * t193 * t29; + const double t213 = piecewise_functor_3( t13, 0.2e1 * t175 * t176 - t94 * t199, t28 * t142 / 0.3e1 + t34 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t33 * t194 + t39 * t194 / 0.9e1 ); + const double t216 = t44 / t118 / t52; + const double t217 = t126 * t126; + const double t221 = t45 * t180 * t182; + const double t228 = -t221 * t189 / 0.18e2 + t122 * t194 / 0.9e1 + t49 * t194 / 0.9e1; + const double t240 = piecewise_functor_3( t13, -t120 * t228 + 0.2e1 * t216 * t217, t55 * t142 / 0.3e1 + t60 * t205 / 0.9e1 + 0.5e1 / 0.36e2 * t59 * t194 + t64 * t194 / 0.9e1 ); + const double t241 = t240 - t213; + const double t243 = t241 * t85 * t90; + const double t245 = t138 * t152 * t90; + const double t246 = 0.2e1 * t245; + const double t247 = t77 * t77; + const double t248 = 0.1e1 / t247; + const double t249 = t144 * t144; + const double t252 = t141 * t7; + const double t253 = 0.1e1 / t252; + const double t254 = t70 * t253; + const double t256 = -0.2e1 * t142 + 0.2e1 * t254; + const double t260 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t77 * t256 ); + const double t261 = t82 * t82; + const double t262 = 0.1e1 / t261; + const double t263 = t148 * t148; + const double t266 = -t256; + const double t270 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t263 + 0.4e1 / 0.3e1 * t82 * t266 ); + const double t271 = t260 + t270; + const double t273 = t69 * t271 * t90; + const double t277 = t138 * t165 * t90; + const double t278 = t248 * t157; + const double t281 = t77 * t70; + const double t285 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t278 * t144 + 0.8e1 / 0.3e1 * t281 * t253 ); + const double t286 = t262 * t161; + const double t289 = t82 * t70; + const double t293 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t286 * t148 - 0.8e1 / 0.3e1 * t289 * t253 ); + const double t294 = t285 + t293; + const double t296 = t69 * t294 * t90; + const double t300 = 0.2e1 * t277; + const double t301 = t157 * t157; + const double t305 = 0.2e1 * t142 + 0.2e1 * t254; + const double t309 = piecewise_functor_3( t74, 0.0, 0.4e1 / 0.9e1 * t248 * t301 + 0.4e1 / 0.3e1 * t77 * t305 ); + const double t310 = t161 * t161; + const double t313 = -t305; + const double t317 = piecewise_functor_3( t81, 0.0, 0.4e1 / 0.9e1 * t262 * t310 + 0.4e1 / 0.3e1 * t82 * t313 ); + const double t318 = t309 + t317; + const double t320 = t69 * t318 * t90; + + + vrho_a = t43 + t91 + t7 * ( t117 + t140 + t154 ); + vrho_b = t43 + t91 + t7 * ( t117 + t140 + t167 ); + v2rho2_aa = t170 + t171 + 0.2e1 * t154 + t7 * ( t213 + t243 + t246 + t273 ); + v2rho2_ab = t170 + t171 + t154 + t167 + t7 * ( t213 + t243 + t245 + t277 + t296 ); + v2rho2_bb = t170 + t171 + 0.2e1 * t167 + t7 * ( t213 + t243 + t300 + t320 ); + + } + }; @@ -340,4 +867,4 @@ struct BuiltinPZ81_MOD : detail::BuiltinKernelImpl< BuiltinPZ81_MOD > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/r2scan_c.hpp b/include/exchcxx/impl/builtin/kernels/r2scan_c.hpp index 1d14a3a..86acfce 100644 --- a/include/exchcxx/impl/builtin/kernels/r2scan_c.hpp +++ b/include/exchcxx/impl/builtin/kernels/r2scan_c.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinR2SCAN_C > : static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double eta = 0.001; @@ -37,7 +86,6 @@ struct kernel_traits< BuiltinR2SCAN_C > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; @@ -180,13 +228,13 @@ struct kernel_traits< BuiltinR2SCAN_C > : const double t233 = safe_math::exp( -0.64e0 * t228 * t230 ); const double t234 = t225 <= 0.25e1; const double t235 = 0.25e1 < t225; - const double t236 = piecewise_functor_3( t235, 0.25e1, t225 ); + const double t236 = piecewise_functor_3( t235, 2.5, t225 ); const double t238 = t236 * t236; const double t240 = t238 * t236; const double t242 = t238 * t238; const double t244 = t242 * t236; const double t246 = t242 * t238; - const double t251 = piecewise_functor_3( t235, t225, 0.25e1 ); + const double t251 = piecewise_functor_3( t235, t225, 2.5 ); const double t252 = 0.1e1 - t251; const double t255 = safe_math::exp( 0.15e1 / t252 ); const double t257 = piecewise_functor_5( t226, t233, t234, 0.1e1 - 0.64e0 * t236 - 0.4352e0 * t238 - 0.1535685604549e1 * t240 + 0.3061560252175e1 * t242 - 0.1915710236206e1 * t244 + 0.516884468372e0 * t246 - 0.51848879792e-1 * t242 * t240, -0.7e0 * t255 ); @@ -211,7 +259,6 @@ struct kernel_traits< BuiltinR2SCAN_C > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; @@ -359,13 +406,13 @@ struct kernel_traits< BuiltinR2SCAN_C > : const double t233 = safe_math::exp( -0.64e0 * t228 * t230 ); const double t234 = t225 <= 0.25e1; const double t235 = 0.25e1 < t225; - const double t236 = piecewise_functor_3( t235, 0.25e1, t225 ); + const double t236 = piecewise_functor_3( t235, 2.5, t225 ); const double t238 = t236 * t236; const double t240 = t238 * t236; const double t242 = t238 * t238; const double t244 = t242 * t236; const double t246 = t242 * t238; - const double t251 = piecewise_functor_3( t235, t225, 0.25e1 ); + const double t251 = piecewise_functor_3( t235, t225, 2.5 ); const double t252 = 0.1e1 - t251; const double t255 = safe_math::exp( 0.15e1 / t252 ); const double t257 = piecewise_functor_5( t226, t233, t234, 0.1e1 - 0.64e0 * t236 - 0.4352e0 * t238 - 0.1535685604549e1 * t240 + 0.3061560252175e1 * t242 - 0.1915710236206e1 * t244 + 0.516884468372e0 * t246 - 0.51848879792e-1 * t242 * t240, -0.7e0 * t255 ); @@ -604,248 +651,3059 @@ struct kernel_traits< BuiltinR2SCAN_C > : } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { - (void)(lapl_a); - (void)(lapl_b); - (void)(eps); + (void)(lapl); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; - constexpr double t57 = constants::m_cbrt_2; - constexpr double t95 = constants::m_pi_sq; - constexpr double t255 = constants::m_cbrt_6; - constexpr double t256 = constants::m_cbrt_pi_sq; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t175 = constants::m_cbrt_6; + constexpr double t176 = constants::m_cbrt_pi_sq; constexpr double t5 = t2 * t4; constexpr double t7 = t6 * t6; - constexpr double t20 = t2 * t2; - constexpr double t21 = t4 * t4; - constexpr double t22 = t20 * t21; - constexpr double t58 = t57 - 0.1e1; - constexpr double t60 = 0.1e1 / t58 / 0.2e1; - constexpr double t130 = 0.1e1 / t4; - constexpr double t257 = t256 * t256; - constexpr double t258 = 0.1e1 / t257; - constexpr double t259 = t255 * t258; - constexpr double t260 = t57 * t57; - constexpr double t261 = t259 * t260; - constexpr double t265 = t255 * t255; - constexpr double t267 = 0.1e1 / t256 / t95; - constexpr double t268 = t265 * t267; - constexpr double t313 = t265 * t257; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t90 = 0.1e1 / t4; + constexpr double t177 = t176 * t176; + constexpr double t178 = 0.1e1 / t177; + constexpr double t179 = t175 * t178; + constexpr double t180 = t40 * t40; + constexpr double t181 = t179 * t180; + constexpr double t185 = t175 * t175; + constexpr double t187 = 0.1e1 / t176 / t61; + constexpr double t188 = t185 * t187; + constexpr double t288 = t4 * t7; + constexpr double t363 = t90 * t6; + constexpr double t416 = t5 * t7; + constexpr double t577 = t178 * t180; + constexpr double t594 = t19 * t90; + constexpr double t707 = t20 * t6; + constexpr double t775 = t61 * t61; + constexpr double t816 = t187 * t40; + constexpr double t1209 = eta * eta; - const double t8 = rho_a + rho_b; - const double t9 = safe_math::cbrt( t8 ); - const double t11 = t7 / t9; - const double t12 = t5 * t11; - const double t14 = 0.1e1 + 0.53425e-1 * t12; - const double t15 = safe_math::sqrt( t12 ); - const double t17 = 0.8969e0 * t12; - const double t18 = pow_3_2( t12 ); - const double t19 = 0.204775e0 * t18; - const double t23 = t9 * t9; - const double t26 = t22 * t6 / t23; - const double t27 = 0.123235e0 * t26; - const double t28 = 0.379785e1 * t15 + t17 + t19 + t27; - const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; - const double t32 = safe_math::log( t31 ); - const double t34 = 0.621814e-1 * t14 * t32; - const double t35 = rho_a - rho_b; - const double t36 = t35 * t35; - const double t37 = t36 * t36; - const double t38 = t8 * t8; - const double t39 = t38 * t38; - const double t40 = 0.1e1 / t39; - const double t41 = t37 * t40; - const double t42 = 0.1e1 / t8; - const double t43 = t35 * t42; - const double t44 = 0.1e1 + t43; - const double t45 = t44 <= zeta_tol; - const double t46 = safe_math::cbrt( zeta_tol ); - const double t47 = t46 * zeta_tol; - const double t48 = safe_math::cbrt( t44 ); - const double t49 = t48 * t44; - const double t50 = piecewise_functor_3( t45, t47, t49 ); - const double t51 = 0.1e1 - t43; - const double t52 = t51 <= zeta_tol; - const double t53 = safe_math::cbrt( t51 ); - const double t54 = t53 * t51; - const double t55 = piecewise_functor_3( t52, t47, t54 ); - const double t56 = t50 + t55 - 0.2e1; - const double t61 = t56 * t60; - const double t63 = 0.1e1 + 0.5137e-1 * t12; - const double t65 = 0.1549425e1 * t12; - const double t66 = 0.420775e0 * t18; - const double t67 = 0.1562925e0 * t26; - const double t68 = 0.705945e1 * t15 + t65 + t66 + t67; - const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; - const double t72 = safe_math::log( t71 ); - const double t76 = 0.1e1 + 0.278125e-1 * t12; - const double t78 = 0.905775e0 * t12; - const double t79 = 0.1100325e0 * t18; - const double t80 = 0.1241775e0 * t26; - const double t81 = 0.51785e1 * t15 + t78 + t79 + t80; - const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; - const double t85 = safe_math::log( t84 ); - const double t86 = t76 * t85; - const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; - const double t89 = t61 * t88; - const double t90 = t41 * t89; - const double t92 = 0.19751673498613801407e-1 * t61 * t86; - const double t93 = safe_math::log( 0.2e1 ); - const double t94 = 0.1e1 - t93; - const double t97 = t94 / t95; - const double t98 = t46 * t46; - const double t99 = t48 * t48; - const double t100 = piecewise_functor_3( t45, t98, t99 ); - const double t101 = t53 * t53; - const double t102 = piecewise_functor_3( t52, t98, t101 ); - const double t104 = t100 / 0.2e1 + t102 / 0.2e1; - const double t105 = t104 * t104; - const double t106 = t105 * t104; - const double t108 = 0.1e1 / t94; - const double t109 = ( -t34 + t90 + t92 ) * t108; - const double t110 = 0.1e1 / t106; - const double t111 = t95 * t110; - const double t113 = safe_math::exp( -t109 * t111 ); - const double t114 = t113 - 0.1e1; - const double t116 = 0.1e1 + 0.25e-1 * t12; - const double t118 = 0.1e1 + 0.4445e-1 * t12; - const double t119 = 0.1e1 / t118; - const double t120 = t116 * t119; - const double t122 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; - const double t124 = 0.1e1 / t9 / t38; - const double t125 = t122 * t124; - const double t128 = 0.1e1 / t105; - const double t129 = t128 * t20; - const double t132 = t6 * t108; - const double t133 = 0.1e1 / t114; - const double t134 = t132 * t133; - const double t135 = t129 * t130 * t134; - const double t138 = t98 * zeta_tol; - const double t139 = t99 * t44; - const double t140 = piecewise_functor_3( t45, t138, t139 ); - const double t141 = t101 * t51; - const double t142 = piecewise_functor_3( t52, t138, t141 ); - const double t144 = t140 / 0.2e1 + t142 / 0.2e1; - const double t146 = t108 / t144; - const double t147 = t110 * t133; - const double t148 = safe_math::sqrt( 0.4e1 ); - const double t149 = t148 * t15; - const double t151 = 0.3138525e-1 * t12; - const double t152 = 0.1e1 + 0.22225e-1 * t149 + t151; - const double t153 = t152 * t152; - const double t154 = 0.1e1 / t153; - const double t158 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; - const double t159 = t154 * t158; - const double t160 = t37 * t37; - const double t161 = t160 * t37; - const double t162 = t39 * t39; - const double t163 = t162 * t39; - const double t164 = 0.1e1 / t163; - const double t166 = -t161 * t164 + 0.1e1; - const double t167 = 0.1e1 / t15; - const double t168 = t148 * t167; - const double t170 = 0.4445e-1 * t168 + 0.125541e0; - const double t171 = t166 * t170; - const double t175 = 0.1898925e1 * t149 + t17 + t19 + t27; - const double t178 = 0.1e1 + 0.16081979498692535067e2 / t175; - const double t179 = safe_math::log( t178 ); - const double t180 = 0.1328816518e-1 * t179; - const double t181 = t175 * t175; - const double t182 = 0.1e1 / t181; - const double t183 = t14 * t182; - const double t185 = safe_math::sqrt( t12 ); - const double t188 = 0.379785e1 * t168 + 0.35876e1 + 0.122865e1 * t185 + 0.24647e0 * t12; - const double t189 = 0.1e1 / t178; - const double t190 = t188 * t189; - const double t192 = 0.1e1 * t183 * t190; - const double t194 = 0.3529725e1 * t149 + t65 + t66 + t67; - const double t197 = 0.1e1 + 0.32163958997385070134e2 / t194; - const double t198 = safe_math::log( t197 ); - const double t200 = t194 * t194; - const double t201 = 0.1e1 / t200; - const double t202 = t63 * t201; - const double t206 = 0.705945e1 * t168 + 0.61977e1 + 0.252465e1 * t185 + 0.312585e0 * t12; - const double t207 = 0.1e1 / t197; - const double t208 = t206 * t207; - const double t212 = 0.258925e1 * t149 + t78 + t79 + t80; - const double t215 = 0.1e1 + 0.29608749977793437516e2 / t212; - const double t216 = safe_math::log( t215 ); - const double t218 = t212 * t212; - const double t219 = 0.1e1 / t218; - const double t220 = t76 * t219; - const double t224 = 0.51785e1 * t168 + 0.36231e1 + 0.660195e0 * t185 + 0.248355e0 * t12; - const double t225 = 0.1e1 / t215; - const double t226 = t224 * t225; - const double t229 = -0.6388517036e-2 * t198 + 0.1e1 * t202 * t208 + t180 - t192 - 0.21973736767207854065e-2 * t216 + 0.5848223622634646207e0 * t220 * t226; - const double t230 = t61 * t229; - const double t234 = t61 * t76; - const double t236 = t219 * t224 * t225; - const double t239 = 0.285764e-1 * t159 * t171 + t180 - t192 - t41 * t230 - 0.21973736767207854065e-2 * t61 * t216 + 0.5848223622634646207e0 * t234 * t236; - const double t244 = 0.1e1 + 0.4445e-1 * t15 + t151; - const double t245 = 0.1e1 / t244; - const double t246 = t245 * t158; - const double t252 = 0.5e1 * t5 * t11 * t239 - 0.45e2 * eta * ( -0.285764e-1 * t246 * t166 + t34 - t90 - t92 ); - const double t253 = t147 * t252; - const double t254 = t146 * t253; - const double t263 = 0.1e1 / t23 / t38; - const double t264 = t122 * t263; - const double t269 = t122 * t122; - const double t270 = t57 * t269; - const double t271 = t39 * t8; - const double t273 = 0.1e1 / t9 / t271; - const double t277 = safe_math::exp( -0.20444604078896369094e0 * t268 * t270 * t273 ); - const double t279 = t261 * t264 * t277; - const double t282 = 0.1e1 + 0.27439371595564631661e-1 * t120 * t125 * t57 * t135 + 0.43341108700271342816e-1 * t254 * t279; - const double t283 = pow_1_4( t282 ); - const double t285 = 0.1e1 - 0.1e1 / t283; - const double t287 = t114 * t285 + 0.1e1; - const double t288 = safe_math::log( t287 ); - const double t290 = t97 * t106 * t288; - const double t291 = safe_math::cbrt( rho_a ); - const double t292 = t291 * t291; - const double t294 = 0.1e1 / t292 / rho_a; - const double t295 = tau_a * t294; - const double t296 = t44 / 0.2e1; - const double t297 = safe_math::cbrt( t296 ); - const double t298 = t297 * t297; - const double t299 = t298 * t296; - const double t301 = safe_math::cbrt( rho_b ); - const double t302 = t301 * t301; - const double t304 = 0.1e1 / t302 / rho_b; - const double t305 = tau_b * t304; - const double t306 = t51 / 0.2e1; - const double t307 = safe_math::cbrt( t306 ); - const double t308 = t307 * t307; - const double t309 = t308 * t306; - const double t312 = t295 * t299 + t305 * t309 - t264 / 0.8e1; - const double t317 = eta * t122; - const double t320 = 0.3e1 / 0.1e2 * t313 * ( t299 + t309 ) + t317 * t263 / 0.8e1; - const double t321 = 0.1e1 / t320; - const double t322 = t312 * t321; - const double t323 = t322 <= 0.e0; - const double t324 = 0.e0 < t322; - const double t325 = piecewise_functor_3( t324, 0.0, t322 ); - const double t326 = 0.1e1 - t325; - const double t327 = 0.1e1 / t326; - const double t330 = safe_math::exp( -0.64e0 * t325 * t327 ); - const double t331 = t322 <= 0.25e1; - const double t332 = 0.25e1 < t322; - const double t333 = piecewise_functor_3( t332, 0.25e1, t322 ); - const double t335 = t333 * t333; - const double t337 = t335 * t333; - const double t339 = t335 * t335; - const double t341 = t339 * t333; - const double t343 = t339 * t335; - const double t348 = piecewise_functor_3( t332, t322, 0.25e1 ); - const double t349 = 0.1e1 - t348; - const double t352 = safe_math::exp( 0.15e1 / t349 ); - const double t354 = piecewise_functor_5( t323, t330, t331, 0.1e1 - 0.64e0 * t333 - 0.4352e0 * t335 - 0.1535685604549e1 * t337 + 0.3061560252175e1 * t339 - 0.1915710236206e1 * t341 + 0.516884468372e0 * t343 - 0.51848879792e-1 * t339 * t337, -0.7e0 * t352 ); - const double t357 = safe_math::exp( 0.1e1 * t245 ); - const double t358 = t357 - 0.1e1; - const double t359 = t260 * t122; + const double t8 = safe_math::cbrt( rho ); + const double t10 = t7 / t8; + const double t11 = t5 * t10; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t16 = 0.8969e0 * t11; + const double t17 = pow_3_2( t11 ); + const double t18 = 0.204775e0 * t17; + const double t22 = t8 * t8; + const double t25 = t21 * t6 / t22; + const double t26 = 0.123235e0 * t25; + const double t27 = 0.379785e1 * t14 + t16 + t18 + t26; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t48 = 0.905775e0 * t11; + const double t49 = 0.1100325e0 * t17; + const double t50 = 0.1241775e0 * t25; + const double t51 = 0.51785e1 * t14 + t48 + t49 + t50; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 / t60; + const double t71 = 0.1e1 / t67; + const double t72 = t61 * t71; + const double t74 = safe_math::exp( -( -t33 + t58 ) * t69 * t72 ); + const double t75 = t74 - 0.1e1; + const double t77 = 0.1e1 + 0.25e-1 * t11; + const double t79 = 0.1e1 + 0.4445e-1 * t11; + const double t80 = 0.1e1 / t79; + const double t81 = t77 * t80; + const double t82 = rho * rho; + const double t84 = 0.1e1 / t8 / t82; + const double t88 = 0.1e1 / t66; + const double t93 = 0.1e1 / t75; + const double t94 = t6 * t69 * t93; + const double t95 = t88 * t19 * t90 * t94; + const double t99 = piecewise_functor_3( t34, t64 * zeta_tol, 1.0 ); + const double t100 = 0.1e1 / t99; + const double t101 = t69 * t100; + const double t102 = t71 * t93; + const double t103 = safe_math::sqrt( 0.4e1 ); + const double t104 = t103 * t14; + const double t106 = 0.3138525e-1 * t11; + const double t107 = 0.1e1 + 0.22225e-1 * t104 + t106; + const double t108 = t107 * t107; + const double t113 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t114 = 0.1e1 / t108 * t113; + const double t115 = 0.1e1 / t14; + const double t116 = t103 * t115; + const double t118 = 0.4445e-1 * t116 + 0.125541e0; + const double t122 = 0.1898925e1 * t104 + t16 + t18 + t26; + const double t125 = 0.1e1 + 0.16081979498692535067e2 / t122; + const double t126 = safe_math::log( t125 ); + const double t128 = t122 * t122; + const double t129 = 0.1e1 / t128; + const double t130 = t13 * t129; + const double t132 = safe_math::sqrt( t11 ); + const double t135 = 0.379785e1 * t116 + 0.35876e1 + 0.122865e1 * t132 + 0.24647e0 * t11; + const double t136 = 0.1e1 / t125; + const double t137 = t135 * t136; + const double t141 = 0.258925e1 * t104 + t48 + t49 + t50; + const double t144 = 0.1e1 + 0.29608749977793437516e2 / t141; + const double t145 = safe_math::log( t144 ); + const double t148 = t44 * t46; + const double t149 = t141 * t141; + const double t150 = 0.1e1 / t149; + const double t154 = 0.51785e1 * t116 + 0.36231e1 + 0.660195e0 * t132 + 0.248355e0 * t11; + const double t156 = 0.1e1 / t144; + const double t157 = t150 * t154 * t156; + const double t160 = 0.285764e-1 * t114 * t118 + 0.1328816518e-1 * t126 - 0.1e1 * t130 * t137 - 0.21973736767207854065e-2 * t44 * t145 + 0.5848223622634646207e0 * t148 * t157; + const double t165 = 0.1e1 + 0.4445e-1 * t14 + t106; + const double t166 = 0.1e1 / t165; + const double t172 = 0.5e1 * t5 * t10 * t160 - 0.45e2 * eta * ( -0.285764e-1 * t166 * t113 + t33 - t58 ); + const double t174 = t101 * t102 * t172; + const double t183 = 0.1e1 / t22 / t82; + const double t184 = sigma * t183; + const double t189 = sigma * sigma; + const double t190 = t40 * t189; + const double t191 = t82 * t82; + const double t192 = t191 * rho; + const double t194 = 0.1e1 / t8 / t192; + const double t198 = safe_math::exp( -0.20444604078896369094e0 * t188 * t190 * t194 ); + const double t200 = t181 * t184 * t198; + const double t203 = 0.1e1 + 0.27439371595564631661e-1 * t81 * sigma * t84 * t40 * t95 + 0.43341108700271342816e-1 * t174 * t200; + const double t204 = pow_1_4( t203 ); + const double t206 = 0.1e1 - 0.1e1 / t204; + const double t208 = t75 * t206 + 0.1e1; + const double t209 = safe_math::log( t208 ); + const double t211 = t63 * t67 * t209; + const double t213 = 0.1e1 / t22 / rho; + const double t216 = tau * t213 - t184 / 0.8e1; + const double t220 = eta * sigma; + const double t223 = 0.3e1 / 0.2e2 * t185 * t177 * t40 + t220 * t183 / 0.8e1; + const double t224 = 0.1e1 / t223; + const double t225 = t216 * t224; + const double t226 = t225 <= 0.e0; + const double t227 = 0.e0 < t225; + const double t228 = piecewise_functor_3( t227, 0.0, t225 ); + const double t229 = 0.1e1 - t228; + const double t230 = 0.1e1 / t229; + const double t233 = safe_math::exp( -0.64e0 * t228 * t230 ); + const double t234 = t225 <= 0.25e1; + const double t235 = 0.25e1 < t225; + const double t236 = piecewise_functor_3( t235, 2.5, t225 ); + const double t238 = t236 * t236; + const double t240 = t238 * t236; + const double t242 = t238 * t238; + const double t244 = t242 * t236; + const double t246 = t242 * t238; + const double t251 = piecewise_functor_3( t235, t225, 2.5 ); + const double t252 = 0.1e1 - t251; + const double t255 = safe_math::exp( 0.15e1 / t252 ); + const double t257 = piecewise_functor_5( t226, t233, t234, 0.1e1 - 0.64e0 * t236 - 0.4352e0 * t238 - 0.1535685604549e1 * t240 + 0.3061560252175e1 * t242 - 0.1915710236206e1 * t244 + 0.516884468372e0 * t246 - 0.51848879792e-1 * t242 * t240, -0.7e0 * t255 ); + const double t260 = safe_math::exp( 0.1e1 * t166 ); + const double t261 = t260 - 0.1e1; + const double t262 = t180 * sigma; + const double t263 = t262 * t183; + const double t266 = 0.1e1 + 0.21337642104376358333e-1 * t179 * t263; + const double t267 = pow_1_4( t266 ); + const double t269 = 0.1e1 - 0.1e1 / t267; + const double t271 = t261 * t269 + 0.1e1; + const double t272 = safe_math::log( t271 ); + const double t276 = ( -0.285764e-1 * t166 + 0.285764e-1 * t272 ) * t113 + t33 - t58 - t211; + const double t279 = 0.1e1 / t8 / rho; + const double t280 = t7 * t279; + const double t282 = t5 * t280 * t31; + const double t283 = 0.11073470983333333333e-2 * t282; + const double t284 = t27 * t27; + const double t285 = 0.1e1 / t284; + const double t286 = t13 * t285; + const double t287 = t115 * t2; + const double t289 = t288 * t279; + const double t290 = t287 * t289; + const double t292 = t5 * t280; + const double t293 = 0.29896666666666666667e0 * t292; + const double t294 = t132 * t2; + const double t295 = t294 * t289; + const double t296 = 0.1023875e0 * t295; + const double t298 = t21 * t6 * t213; + const double t299 = 0.82156666666666666667e-1 * t298; + const double t300 = -0.632975e0 * t290 - t293 - t296 - t299; + const double t301 = 0.1e1 / t30; + const double t302 = t300 * t301; + const double t303 = t286 * t302; + const double t304 = 0.1e1 * t303; + const double t305 = t44 * t2; + const double t308 = t305 * t288 * t279 * t55; + const double t309 = 0.18311447306006545054e-3 * t308; + const double t310 = t51 * t51; + const double t311 = 0.1e1 / t310; + const double t313 = 0.301925e0 * t292; + const double t314 = 0.5501625e-1 * t295; + const double t315 = 0.82785e-1 * t298; + const double t316 = -0.86308333333333333334e0 * t290 - t313 - t314 - t315; + const double t318 = 0.1e1 / t54; + const double t319 = t311 * t316 * t318; + const double t320 = t148 * t319; + const double t321 = 0.5848223622634646207e0 * t320; + const double t322 = t283 + t304 - t309 - t321; + const double t323 = t322 * t69; + const double t324 = t323 * t61; + const double t325 = t71 * t74; + const double t326 = t325 * t206; + const double t329 = 0.1e1 / t204 / t203; + const double t330 = t75 * t329; + const double t331 = t82 * rho; + const double t333 = 0.1e1 / t22 / t331; + const double t334 = t333 * t80; + const double t336 = t40 * t88; + const double t337 = t69 * t93; + const double t338 = t336 * t337; + const double t341 = t79 * t79; + const double t342 = 0.1e1 / t341; + const double t343 = t77 * t342; + const double t344 = sigma * t333; + const double t349 = 0.1e1 / t8 / t331; + const double t355 = t81 * sigma; + const double t356 = t84 * t40; + const double t357 = t66 * t66; + const double t359 = 0.1e1 / t357 / t65; + const double t360 = t359 * t19; + const double t362 = t355 * t356 * t360; + const double t364 = t60 * t60; + const double t365 = 0.1e1 / t364; + const double t366 = t363 * t365; + const double t367 = t75 * t75; + const double t368 = 0.1e1 / t367; + const double t369 = t368 * t322; + const double t370 = t61 * t74; + const double t372 = t366 * t369 * t370; + const double t375 = t365 * t100; + const double t376 = t357 * t66; + const double t377 = 0.1e1 / t376; + const double t378 = t375 * t377; + const double t379 = t368 * t172; + const double t380 = t379 * t179; + const double t381 = t378 * t380; + const double t382 = t198 * t322; + const double t383 = t382 * t370; + const double t384 = t263 * t383; + const double t392 = 0.1e1 / t108 / t107 * t113; + const double t393 = safe_math::pow( 0.4e1, 0.1e1 / 0.6e1 ); + const double t394 = t393 * t115; + const double t395 = t5 * t279; + const double t396 = t394 * t395; + const double t398 = 0.1046175e-1 * t292; + const double t399 = -0.14816666666666666667e-1 * t396 - t398; + const double t400 = t118 * t399; + const double t403 = t114 * t393; + const double t405 = 0.1e1 / t14 / t11; + const double t406 = t405 * t2; + const double t412 = -0.126595e1 * t396 - t293 - t296 - t299; + const double t417 = t279 * t129; + const double t421 = t128 * t122; + const double t422 = 0.1e1 / t421; + const double t423 = t13 * t422; + const double t427 = t393 * t405; + const double t428 = t427 * t395; + const double t430 = 0.1e1/safe_math::sqrt( t11 ); + const double t431 = t430 * t2; + const double t432 = t431 * t289; + const double t435 = 0.25319e1 * t428 - 0.204775e0 * t432 - 0.82156666666666666667e-1 * t292; + const double t436 = t435 * t136; + const double t439 = t128 * t128; + const double t440 = 0.1e1 / t439; + const double t441 = t13 * t440; + const double t442 = t125 * t125; + const double t443 = 0.1e1 / t442; + const double t444 = t135 * t443; + const double t449 = -0.17261666666666666667e1 * t396 - t313 - t314 - t315; + const double t454 = t44 * t5; + const double t458 = t149 * t141; + const double t459 = 0.1e1 / t458; + const double t460 = t459 * t154; + const double t461 = t156 * t449; + const double t468 = 0.34523333333333333333e1 * t428 - 0.1100325e0 * t432 - 0.82785e-1 * t292; + const double t470 = t150 * t468 * t156; + const double t473 = t149 * t149; + const double t474 = 0.1e1 / t473; + const double t475 = t474 * t154; + const double t476 = t144 * t144; + const double t477 = 0.1e1 / t476; + const double t478 = t477 * t449; + const double t482 = -0.571528e-1 * t392 * t400 + 0.84681398666666666666e-3 * t403 * t406 * t4 * t279 - 0.2137e0 * t129 * t412 * t136 + 0.17808333333333333333e-1 * t416 * t417 * t137 + 0.2e1 * t423 * t137 * t412 - 0.1e1 * t130 * t436 - 0.16081979498692535067e2 * t441 * t444 * t412 + 0.65061487801810439052e-1 * t44 * t150 * t449 * t156 - 0.54217906501508699211e-2 * t454 * t280 * t157 - 0.11696447245269292414e1 * t148 * t460 * t461 + 0.5848223622634646207e0 * t148 * t470 + 0.17315859105681463759e2 * t148 * t475 * t478; + const double t486 = t165 * t165; + const double t487 = 0.1e1 / t486; + const double t488 = t487 * t113; + const double t490 = -0.74083333333333333333e-2 * t290 - t398; + const double t496 = -0.5e1 / 0.3e1 * t5 * t280 * t160 + 0.5e1 * t5 * t10 * t482 - 0.45e2 * eta * ( 0.285764e-1 * t488 * t490 - t283 - t304 + t309 + t321 ); + const double t498 = t101 * t102 * t496; + const double t502 = t181 * t344 * t198; + const double t505 = t101 * t102; + const double t506 = t189 * sigma; + const double t507 = t172 * t506; + const double t508 = t191 * t191; + const double t509 = t508 * rho; + const double t510 = 0.1e1 / t509; + const double t511 = t510 * t198; + const double t515 = -0.27439371595564631661e-2 * t334 * sigma * t338 + 0.48787202696913915093e-2 * t343 * t344 * t338 - 0.64025200389650807209e-1 * t81 * sigma * t349 * t40 * t95 + 0.27439371595564631661e-1 * t362 * t372 + 0.43341108700271342816e-1 * t381 * t384 + 0.43341108700271342816e-1 * t498 * t200 - 0.11557628986739024751e0 * t174 * t502 + 0.58218257753910989057e-2 * t505 * t507 * t511; + const double t518 = -t324 * t326 + t330 * t515 / 0.4e1; + const double t520 = 0.1e1 / t208; + const double t522 = t63 * t67 * t518 * t520; + const double t526 = -0.5e1 / 0.3e1 * tau * t183 + t344 / 0.3e1; + const double t528 = t223 * t223; + const double t529 = 0.1e1 / t528; + const double t530 = t216 * t529; + const double t531 = t220 * t333; + const double t534 = t526 * t224 + t530 * t531 / 0.3e1; + const double t535 = piecewise_functor_3( t227, 0.0, t534 ); + const double t538 = t229 * t229; + const double t539 = 0.1e1 / t538; + const double t540 = t228 * t539; + const double t543 = -0.64e0 * t535 * t230 - 0.64e0 * t540 * t535; + const double t544 = t543 * t233; + const double t545 = piecewise_functor_3( t235, 0.0, t534 ); + const double t547 = t236 * t545; + const double t549 = t238 * t545; + const double t551 = t240 * t545; + const double t553 = t242 * t545; + const double t555 = t244 * t545; + const double t560 = t252 * t252; + const double t561 = 0.1e1 / t560; + const double t562 = piecewise_functor_3( t235, t534, 0.0 ); + const double t566 = piecewise_functor_5( t226, t544, t234, -0.64e0 * t545 - 0.8704e0 * t547 - 0.4607056813647e1 * t549 + 0.122462410087e2 * t551 - 0.957855118103e1 * t553 + 0.3101306810232e1 * t555 - 0.362942158544e0 * t246 * t545, -0.105e1 * t561 * t562 * t255 ); + const double t567 = t566 * t276; + const double t568 = t487 * t490; + const double t570 = t260 * t269; + const double t574 = 0.1e1 / t267 / t266; + const double t575 = t261 * t574; + const double t576 = t575 * t175; + const double t581 = -0.1e1 * t568 * t570 - 0.14225094736250905555e-1 * t576 * t577 * t344; + const double t582 = 0.1e1 / t271; + const double t587 = ( 0.285764e-1 * t568 + 0.285764e-1 * t581 * t582 ) * t113 - t283 - t304 + t309 + t321 - t522; + const double t588 = t257 * t587; + const double t591 = t63 * t67; + const double t595 = t594 * t94; + const double t598 = t180 * t183; + const double t599 = t598 * t198; + const double t600 = t179 * t599; + const double t604 = 0.1e1 / t508; + const double t605 = t604 * t198; + const double t609 = 0.27439371595564631661e-1 * t81 * t356 * t88 * t595 + 0.43341108700271342816e-1 * t174 * t600 - 0.21831846657716620896e-2 * t505 * t172 * t189 * t605; + const double t610 = t609 * t520; + const double t613 = t591 * t330 * t610 / 0.4e1; + const double t614 = t183 * t224; + const double t615 = eta * t183; + const double t618 = -t530 * t615 / 0.8e1 - t614 / 0.8e1; + const double t619 = piecewise_functor_3( t227, 0.0, t618 ); + const double t624 = -0.64e0 * t619 * t230 - 0.64e0 * t540 * t619; + const double t625 = t624 * t233; + const double t626 = piecewise_functor_3( t235, 0.0, t618 ); + const double t628 = t236 * t626; + const double t630 = t238 * t626; + const double t632 = t240 * t626; + const double t634 = t242 * t626; + const double t636 = t244 * t626; + const double t641 = piecewise_functor_3( t235, t618, 0.0 ); + const double t645 = piecewise_functor_5( t226, t625, t234, -0.64e0 * t626 - 0.8704e0 * t628 - 0.4607056813647e1 * t630 + 0.122462410087e2 * t632 - 0.957855118103e1 * t634 + 0.3101306810232e1 * t636 - 0.362942158544e0 * t246 * t626, -0.105e1 * t561 * t641 * t255 ); + const double t646 = t645 * t276; + const double t647 = t575 * t179; + const double t648 = t582 * t113; + const double t652 = 0.15243824895787514157e-3 * t647 * t598 * t648 - t613; + const double t653 = t257 * t652; + const double t655 = t213 * t224; + const double t656 = piecewise_functor_3( t227, 0.0, t655 ); + const double t661 = -0.64e0 * t656 * t230 - 0.64e0 * t540 * t656; + const double t662 = t661 * t233; + const double t663 = piecewise_functor_3( t235, 0.0, t655 ); + const double t665 = t236 * t663; + const double t667 = t238 * t663; + const double t669 = t240 * t663; + const double t671 = t242 * t663; + const double t673 = t244 * t663; + const double t678 = piecewise_functor_3( t235, t655, 0.0 ); + const double t682 = piecewise_functor_5( t226, t662, t234, -0.64e0 * t663 - 0.8704e0 * t665 - 0.4607056813647e1 * t667 + 0.122462410087e2 * t669 - 0.957855118103e1 * t671 + 0.3101306810232e1 * t673 - 0.362942158544e0 * t246 * t663, -0.105e1 * t561 * t678 * t255 ); + const double t683 = rho * t682; + const double t691 = t7 * t84; + const double t693 = t5 * t691 * t31; + const double t694 = 0.14764627977777777777e-2 * t693; + const double t695 = t279 * t285; + const double t697 = t416 * t695 * t302; + const double t698 = 0.35616666666666666666e-1 * t697; + const double t699 = t284 * t27; + const double t700 = 0.1e1 / t699; + const double t701 = t13 * t700; + const double t702 = t300 * t300; + const double t703 = t702 * t301; + const double t704 = t701 * t703; + const double t705 = 0.2e1 * t704; + const double t706 = t405 * t19; + const double t708 = t707 * t183; + const double t709 = t706 * t708; + const double t711 = t288 * t84; + const double t712 = t287 * t711; + const double t714 = t5 * t691; + const double t715 = 0.39862222222222222223e0 * t714; + const double t716 = t430 * t19; + const double t717 = t716 * t708; + const double t718 = 0.68258333333333333333e-1 * t717; + const double t719 = t294 * t711; + const double t720 = 0.13651666666666666667e0 * t719; + const double t722 = t21 * t6 * t183; + const double t723 = 0.13692777777777777778e0 * t722; + const double t724 = -0.42198333333333333333e0 * t709 + 0.84396666666666666666e0 * t712 + t715 + t718 + t720 + t723; + const double t725 = t724 * t301; + const double t726 = t286 * t725; + const double t727 = 0.1e1 * t726; + const double t728 = t284 * t284; + const double t729 = 0.1e1 / t728; + const double t730 = t13 * t729; + const double t731 = t30 * t30; + const double t732 = 0.1e1 / t731; + const double t733 = t702 * t732; + const double t734 = t730 * t733; + const double t735 = 0.16081979498692535067e2 * t734; + const double t738 = t305 * t288 * t84 * t55; + const double t739 = 0.24415263074675393405e-3 * t738; + const double t741 = t454 * t280 * t319; + const double t742 = 0.10843581300301739842e-1 * t741; + const double t743 = t310 * t51; + const double t744 = 0.1e1 / t743; + const double t745 = t316 * t316; + const double t747 = t744 * t745 * t318; + const double t748 = t148 * t747; + const double t749 = 0.11696447245269292414e1 * t748; + const double t752 = 0.40256666666666666667e0 * t714; + const double t753 = 0.366775e-1 * t717; + const double t754 = 0.73355e-1 * t719; + const double t755 = 0.137975e0 * t722; + const double t756 = -0.57538888888888888889e0 * t709 + 0.11507777777777777778e1 * t712 + t752 + t753 + t754 + t755; + const double t758 = t311 * t756 * t318; + const double t759 = t148 * t758; + const double t760 = 0.5848223622634646207e0 * t759; + const double t761 = t310 * t310; + const double t762 = 0.1e1 / t761; + const double t763 = t762 * t745; + const double t764 = t54 * t54; + const double t765 = 0.1e1 / t764; + const double t766 = t763 * t765; + const double t767 = t148 * t766; + const double t768 = 0.17315859105681463759e2 * t767; + const double t769 = -t694 - t698 - t705 + t727 + t735 + t739 + t742 + t749 - t760 - t768; + const double t771 = t769 * t69 * t61; + const double t773 = t322 * t322; + const double t776 = t773 * t365 * t775; + const double t777 = t377 * t74; + const double t778 = t777 * t206; + const double t780 = t329 * t515; + const double t781 = t325 * t780; + const double t784 = t203 * t203; + const double t786 = 0.1e1 / t204 / t784; + const double t787 = t75 * t786; + const double t788 = t515 * t515; + const double t791 = sigma * t40; + const double t792 = t334 * t791; + const double t793 = t359 * t365; + const double t794 = t369 * t74; + const double t795 = t793 * t794; + const double t798 = t377 * t368; + const double t800 = t375 * t798 * t172; + const double t801 = t506 * t510; + const double t802 = t801 * t198; + const double t804 = t322 * t61 * t74; + const double t805 = t802 * t804; + const double t808 = t189 * t189; + const double t809 = t808 * sigma; + const double t810 = t191 * t331; + const double t813 = 0.1e1 / t8 / t508 / t810; + const double t814 = t809 * t813; + const double t817 = t816 * t198; + const double t818 = t814 * t185 * t817; + const double t822 = 0.1e1 / t341 / t79; + const double t823 = t77 * t822; + const double t824 = 0.1e1 / t192; + const double t829 = t88 * t69 * t93; + const double t830 = t829 * t416; + const double t834 = t343 * t344 * t40; + const double t835 = t793 * t368; + const double t836 = t835 * t804; + const double t849 = 0.1e1 / t473 / t149; + const double t850 = t849 * t154; + const double t852 = 0.1e1 / t476 / t144; + const double t853 = t449 * t449; + const double t854 = t852 * t853; + const double t859 = 0.1e1 / t473 / t141; + const double t860 = t859 * t154; + const double t861 = t477 * t853; + const double t865 = t474 * t468; + const double t869 = t393 * t393; + const double t870 = t869 * t869; + const double t871 = t870 * t393; + const double t872 = t871 * t405; + const double t873 = t21 * t183; + const double t874 = t872 * t873; + const double t876 = t5 * t84; + const double t877 = t394 * t876; + const double t879 = -0.28769444444444444445e0 * t874 + 0.23015555555555555556e1 * t877 + t752 + t753 + t754 + t755; + const double t880 = t477 * t879; + const double t884 = t459 * t468; + const double t888 = t156 * t879; + const double t892 = t114 * t871; + const double t895 = 0.1e1 / t14 / t25 / 0.4e1; + const double t896 = t895 * t19; + const double t908 = t84 * t129; + const double t912 = t156 * t853; + const double t916 = t108 * t108; + const double t918 = 0.1e1 / t916 * t113; + const double t919 = t399 * t399; + const double t920 = t118 * t919; + const double t923 = t871 * t895; + const double t924 = t923 * t873; + const double t926 = t427 * t876; + const double t928 = 0.1e1/pow_3_2( t11 ); + const double t929 = t928 * t19; + const double t930 = t929 * t708; + const double t932 = t431 * t711; + const double t935 = 0.126595e1 * t924 - 0.33758666666666666667e1 * t926 - 0.13651666666666666667e0 * t930 + 0.27303333333333333333e0 * t932 + 0.10954222222222222222e0 * t714; + const double t936 = t935 * t136; + const double t941 = 0.13949e-1 * t714; + const double t942 = -0.24694444444444444445e-2 * t874 + 0.19755555555555555556e-1 * t877 + t941; + const double t946 = t44 * t416; + const double t947 = t279 * t459; + const double t948 = t154 * t156; + const double t949 = t948 * t449; + const double t953 = t279 * t474; + const double t954 = t154 * t477; + const double t955 = t954 * t449; + const double t959 = 0.72290542002011598948e-2 * t454 * t691 * t157 + 0.10254018858216406658e4 * t148 * t850 * t854 - 0.10389515463408878255e3 * t148 * t860 * t861 + 0.34631718211362927518e2 * t148 * t865 * t478 + 0.17315859105681463759e2 * t148 * t475 * t880 - 0.23392894490538584828e1 * t148 * t884 * t461 - 0.11696447245269292414e1 * t148 * t460 * t888 + 0.42340699333333333333e-3 * t892 * t896 * t20 * t183 + 0.35616666666666666666e-1 * t416 * t417 * t436 - 0.11290853155555555555e-2 * t403 * t406 * t4 * t84 - 0.23744444444444444444e-1 * t416 * t908 * t137 + 0.35089341735807877242e1 * t148 * t475 * t912 + 0.1714584e0 * t918 * t920 - 0.1e1 * t130 * t936 - 0.571528e-1 * t392 * t118 * t942 + 0.21687162600603479684e-1 * t946 * t947 * t949 - 0.32106488758451047386e0 * t946 * t953 * t955; + const double t962 = -0.21099166666666666667e0 * t874 + 0.16879333333333333333e1 * t877 + t715 + t718 + t720 + t723; + const double t967 = 0.1e1 / t439 / t122; + const double t968 = t13 * t967; + const double t969 = t412 * t412; + const double t979 = t392 * t427; + const double t980 = t279 * t399; + const double t984 = t422 * t135; + const double t985 = t136 * t412; + const double t986 = t984 * t985; + const double t989 = t440 * t135; + const double t990 = t443 * t412; + const double t991 = t989 * t990; + const double t995 = 0.1e1 / t439 / t128; + const double t996 = t13 * t995; + const double t998 = 0.1e1 / t442 / t125; + const double t999 = t135 * t998; + const double t1011 = t435 * t443; + const double t1031 = t440 * t969; + const double t1039 = 0.17261666666666666666e1 * t924 - 0.46031111111111111111e1 * t926 - 0.73354999999999999999e-1 * t930 + 0.14671e0 * t932 + 0.11038e0 * t714; + const double t1041 = t150 * t1039 * t156; + const double t1044 = -0.16081979498692535067e2 * t441 * t444 * t962 + 0.96491876992155210402e2 * t968 * t444 * t969 + 0.4e1 * t423 * t436 * t412 + 0.2e1 * t423 * t137 * t962 - 0.33872559466666666666e-2 * t979 * t5 * t980 - 0.71233333333333333332e-1 * t292 * t986 + 0.57278650314509912396e0 * t292 * t991 - 0.51726012919273400301e3 * t996 * t999 * t969 + 0.65061487801810439052e-1 * t44 * t150 * t879 * t156 + 0.19263893255070628431e1 * t44 * t474 * t853 * t477 - 0.32163958997385070134e2 * t441 * t1011 * t412 - 0.1301229756036208781e0 * t44 * t459 * t853 * t156 - 0.6e1 * t441 * t137 * t969 - 0.10843581300301739842e-1 * t454 * t280 * t470 + 0.4274e0 * t422 * t969 * t136 - 0.2137e0 * t129 * t962 * t136 - 0.34367190188705947438e1 * t1031 * t443 + 0.5848223622634646207e0 * t148 * t1041; + const double t1045 = t959 + t1044; + const double t1049 = t486 * t165; + const double t1050 = 0.1e1 / t1049; + const double t1051 = t1050 * t113; + const double t1052 = t490 * t490; + const double t1057 = -0.49388888888888888889e-2 * t709 + 0.98777777777777777777e-2 * t712 + t941; + const double t1060 = -0.571528e-1 * t1051 * t1052 + 0.285764e-1 * t488 * t1057 + t694 + t698 + t705 - t727 - t735 - t739 - t742 - t749 + t760 + t768; + const double t1063 = 0.2e2 / 0.9e1 * t5 * t691 * t160 - 0.1e2 / 0.3e1 * t5 * t280 * t482 + 0.5e1 * t5 * t10 * t1045 - 0.45e2 * eta * t1060; + const double t1065 = t101 * t102 * t1063; + const double t1071 = 0.1e1 / t22 / t191; + const double t1072 = sigma * t1071; + const double t1074 = t181 * t1072 * t198; + const double t1078 = 0.1e1 / t8 / t191; + const double t1084 = t824 * t342; + const double t1085 = t791 * t88; + const double t1087 = t337 * t416; + const double t1090 = t791 * t359; + const double t1091 = t334 * t1090; + const double t1092 = t365 * t368; + const double t1093 = t1092 * t804; + const double t1098 = t382 * t74; + const double t1099 = t801 * t1098; + const double t1102 = -0.27081574266271102508e-1 * t792 * t795 + 0.58218257753910989057e-2 * t800 * t805 + 0.63479958930231934629e-2 * t174 * t818 + 0.14457274399185490173e-3 * t823 * sigma * t824 * t40 * t830 + 0.48787202696913915093e-2 * t834 * t836 + 0.43341108700271342816e-1 * t1065 * t200 - 0.23115257973478049502e0 * t498 * t502 + 0.42377972951376424087e0 * t174 * t1074 + 0.21341733463216935736e0 * t81 * sigma * t1078 * t40 * t95 - 0.81312004494856525156e-4 * t1084 * t1085 * t1087 - 0.27439371595564631661e-2 * t1091 * t1093 + 0.48151039045430020259e-1 * t834 * t795 + 0.57459117295175457569e-1 * t800 * t1099; + const double t1103 = t496 * t506; + const double t1107 = t508 * t82; + const double t1108 = 0.1e1 / t1107; + const double t1109 = t1108 * t198; + const double t1116 = t262 * t333; + const double t1117 = t1116 * t383; + const double t1120 = t349 * t40; + const double t1122 = t355 * t1120 * t360; + const double t1125 = t368 * t769; + const double t1127 = t366 * t1125 * t370; + const double t1130 = t357 * t357; + const double t1131 = 0.1e1 / t1130; + const double t1132 = t1131 * t19; + const double t1134 = t355 * t356 * t1132; + const double t1136 = 0.1e1 / t364 / t60; + const double t1137 = t363 * t1136; + const double t1138 = t367 * t75; + const double t1139 = 0.1e1 / t1138; + const double t1140 = t1139 * t773; + const double t1141 = t74 * t74; + const double t1142 = t775 * t1141; + const double t1144 = t1137 * t1140 * t1142; + const double t1147 = t368 * t773; + const double t1148 = t775 * t74; + const double t1150 = t1137 * t1147 * t1148; + const double t1153 = t368 * t496; + const double t1154 = t1153 * t179; + const double t1155 = t378 * t1154; + const double t1158 = t198 * t769; + const double t1159 = t1158 * t370; + const double t1160 = t263 * t1159; + const double t1163 = t1136 * t100; + const double t1165 = 0.1e1 / t1130 / t65; + const double t1166 = t1163 * t1165; + const double t1167 = t1139 * t172; + const double t1168 = t1167 * t179; + const double t1169 = t1166 * t1168; + const double t1170 = t198 * t773; + const double t1171 = t1170 * t1142; + const double t1172 = t263 * t1171; + const double t1175 = t1166 * t380; + const double t1176 = t1170 * t1148; + const double t1177 = t263 * t1176; + const double t1180 = t1071 * t80; + const double t1184 = 0.11643651550782197811e-1 * t505 * t1103 * t511 - 0.679213007128961539e-1 * t505 * t507 * t1109 - 0.29272321618148349056e-1 * t343 * t1072 * t338 - 0.23115257973478049502e0 * t381 * t1117 - 0.12805040077930161442e0 * t1122 * t372 + 0.27439371595564631661e-1 * t362 * t1127 + 0.54878743191129263322e-1 * t1134 * t1144 - 0.27439371595564631661e-1 * t1134 * t1150 + 0.86682217400542685632e-1 * t1155 * t384 + 0.43341108700271342816e-1 * t381 * t1160 + 0.86682217400542685632e-1 * t1169 * t1172 - 0.43341108700271342816e-1 * t1175 * t1177 + 0.16463622957338778997e-1 * t1180 * sigma * t338; + const double t1185 = t1102 + t1184; + const double t1188 = -t771 * t326 + t776 * t778 - t324 * t781 / 0.2e1 - 0.5e1 / 0.16e2 * t787 * t788 + t330 * t1185 / 0.4e1; + const double t1191 = t63 * t67 * t1188 * t520; + const double t1192 = t518 * t518; + const double t1194 = t208 * t208; + const double t1195 = 0.1e1 / t1194; + const double t1197 = t63 * t67 * t1192 * t1195; + const double t1201 = 0.4e2 / 0.9e1 * tau * t333 - 0.11e2 / 0.9e1 * t1072; + const double t1203 = t526 * t529; + const double t1207 = 0.1e1 / t528 / t223; + const double t1208 = t216 * t1207; + const double t1210 = t1209 * t189; + const double t1212 = 0.1e1 / t8 / t810; + const double t1213 = t1210 * t1212; + const double t1216 = t220 * t1071; + const double t1219 = t1201 * t224 + 0.2e1 / 0.3e1 * t1203 * t531 + 0.2e1 / 0.9e1 * t1208 * t1213 - 0.11e2 / 0.9e1 * t530 * t1216; + const double t1220 = piecewise_functor_3( t227, 0.0, t1219 ); + const double t1223 = t535 * t535; + const double t1227 = 0.1e1 / t538 / t229; + const double t1228 = t228 * t1227; + const double t1233 = -0.64e0 * t1220 * t230 - 0.128e1 * t1223 * t539 - 0.128e1 * t1228 * t1223 - 0.64e0 * t540 * t1220; + const double t1234 = t1233 * t233; + const double t1235 = t543 * t543; + const double t1236 = t1235 * t233; + const double t1238 = piecewise_functor_3( t235, 0.0, t1219 ); + const double t1240 = t545 * t545; + const double t1244 = t236 * t1240; + const double t1248 = t238 * t1240; + const double t1252 = t240 * t1240; + const double t1256 = t242 * t1240; + const double t1264 = -0.64e0 * t1238 - 0.8704e0 * t1240 - 0.8704e0 * t236 * t1238 - 0.9214113627294e1 * t1244 - 0.4607056813647e1 * t238 * t1238 + 0.367387230261e2 * t1248 + 0.122462410087e2 * t240 * t1238 - 0.3831420472412e2 * t1252 - 0.957855118103e1 * t242 * t1238 + 0.1550653405116e2 * t1256 + 0.3101306810232e1 * t244 * t1238 - 0.2177652951264e1 * t244 * t1240 - 0.362942158544e0 * t246 * t1238; + const double t1265 = t560 * t252; + const double t1266 = 0.1e1 / t1265; + const double t1267 = t562 * t562; + const double t1271 = piecewise_functor_3( t235, t1219, 0.0 ); + const double t1275 = t560 * t560; + const double t1276 = 0.1e1 / t1275; + const double t1277 = t1276 * t1267; + const double t1281 = piecewise_functor_5( t226, t1234 + t1236, t234, t1264, -0.21e1 * t1266 * t1267 * t255 - 0.105e1 * t561 * t1271 * t255 - 0.1575e1 * t1277 * t255 ); + const double t1282 = t1281 * t276; + const double t1283 = t566 * t587; + const double t1285 = t1050 * t1052; + const double t1287 = t487 * t1057; + const double t1293 = t486 * t486; + const double t1294 = 0.1e1 / t1293; + const double t1295 = t1294 * t1052; + const double t1298 = t260 * t574; + const double t1299 = t568 * t1298; + const double t1300 = t179 * t1116; + const double t1303 = t266 * t266; + const double t1305 = 0.1e1 / t267 / t1303; + const double t1306 = t261 * t1305; + const double t1307 = t1306 * t185; + const double t1315 = 0.2e1 * t1285 * t570 - 0.1e1 * t1287 * t570 + 0.1e1 * t1295 * t570 + 0.2845018947250181111e-1 * t1299 * t1300 - 0.20235332025531322028e-2 * t1307 * t816 * t189 * t1212 + 0.52158680699586653702e-1 * t576 * t577 * t1072; + const double t1318 = t581 * t581; + const double t1319 = t271 * t271; + const double t1320 = 0.1e1 / t1319; + const double t1325 = ( -0.571528e-1 * t1285 + 0.285764e-1 * t1287 + 0.285764e-1 * t1315 * t582 - 0.285764e-1 * t1318 * t1320 ) * t113 + t694 + t698 + t705 - t727 - t735 - t739 - t742 - t749 + t760 + t768 - t1191 + t1197; + const double t1326 = t257 * t1325; + const double t1327 = -t694 - t698 - t705 + t727 + t735 + t739 + t742 + t749 - t760 - t768 + t1191 - t1197 + t1282 + 0.2e1 * t1283 + t1326; + const double t1329 = t322 * t74; + const double t1330 = t329 * t609; + const double t1331 = t1330 * t520; + const double t1332 = t1329 * t1331; + const double t1333 = t1332 / 0.4e1; + const double t1335 = t63 * t67 * t75; + const double t1336 = t786 * t609; + const double t1337 = t520 * t515; + const double t1339 = t1335 * t1336 * t1337; + const double t1340 = 0.5e1 / 0.16e2 * t1339; + const double t1351 = t81 * t84; + const double t1352 = t40 * t359; + const double t1353 = t1352 * t19; + const double t1354 = t1351 * t1353; + const double t1357 = t379 * t175; + const double t1358 = t378 * t1357; + const double t1359 = t577 * t183; + const double t1360 = t1359 * t383; + const double t1365 = t180 * t333; + const double t1367 = t179 * t1365 * t198; + const double t1370 = t172 * t510; + const double t1371 = t189 * t198; + const double t1376 = t189 * t604 * t198; + const double t1377 = t1376 * t804; + const double t1384 = t191 * t82; + const double t1385 = t508 * t1384; + const double t1387 = 0.1e1 / t8 / t1385; + const double t1388 = t808 * t1387; + const double t1390 = t1388 * t185 * t817; + const double t1393 = -0.27439371595564631661e-2 * t334 * t40 * t829 + 0.48787202696913915093e-2 * t343 * t333 * t338 - 0.64025200389650807209e-1 * t81 * t1120 * t88 * t595 + 0.27439371595564631661e-1 * t1354 * t372 + 0.43341108700271342816e-1 * t1358 * t1360 + 0.43341108700271342816e-1 * t498 * t600 - 0.11557628986739024751e0 * t174 * t1367 + 0.23287303101564395623e-1 * t505 * t1370 * t1371 - 0.21831846657716620896e-2 * t800 * t1377 - 0.21831846657716620896e-2 * t505 * t496 * t189 * t605 - 0.23804984598836975486e-2 * t174 * t1390; + const double t1394 = t1393 * t520; + const double t1396 = t591 * t330 * t1394; + const double t1397 = t1396 / 0.4e1; + const double t1398 = t1195 * t518; + const double t1400 = t1335 * t1330 * t1398; + const double t1401 = t1400 / 0.4e1; + const double t1402 = t333 * t224; + const double t1405 = 0.1e1 / t8 / t1384; + const double t1406 = t1405 * t529; + const double t1407 = t1406 * t220; + const double t1411 = t1209 * t1405; + const double t1412 = t1411 * sigma; + const double t1415 = eta * t333; + const double t1418 = t1402 / 0.3e1 - t1407 / 0.24e2 - t1203 * t615 / 0.8e1 - t1208 * t1412 / 0.12e2 + t530 * t1415 / 0.3e1; + const double t1419 = piecewise_functor_3( t227, 0.0, t1418 ); + const double t1422 = t619 * t539; + const double t1425 = t619 * t535; + const double t1430 = -0.64e0 * t1419 * t230 - 0.128e1 * t1422 * t535 - 0.128e1 * t1228 * t1425 - 0.64e0 * t540 * t1419; + const double t1431 = t1430 * t233; + const double t1432 = t624 * t543; + const double t1435 = piecewise_functor_3( t235, 0.0, t1418 ); + const double t1437 = t545 * t626; + const double t1439 = t236 * t1435; + const double t1443 = t238 * t1435; + const double t1447 = t240 * t1435; + const double t1451 = t242 * t1435; + const double t1455 = t244 * t1435; + const double t1461 = -0.64e0 * t1435 - 0.8704e0 * t1437 - 0.8704e0 * t1439 - 0.9214113627294e1 * t628 * t545 - 0.4607056813647e1 * t1443 + 0.367387230261e2 * t630 * t545 + 0.122462410087e2 * t1447 - 0.3831420472412e2 * t632 * t545 - 0.957855118103e1 * t1451 + 0.1550653405116e2 * t634 * t545 + 0.3101306810232e1 * t1455 - 0.2177652951264e1 * t636 * t545 - 0.362942158544e0 * t246 * t1435; + const double t1462 = t1266 * t641; + const double t1463 = t255 * t562; + const double t1466 = piecewise_functor_3( t235, t1418, 0.0 ); + const double t1470 = t1276 * t641; + const double t1474 = piecewise_functor_5( t226, t1432 * t233 + t1431, t234, t1461, -0.21e1 * t1462 * t1463 - 0.105e1 * t561 * t1466 * t255 - 0.1575e1 * t1470 * t1463 ); + const double t1475 = t1474 * t276; + const double t1476 = t645 * t587; + const double t1477 = t566 * t652; + const double t1478 = t1298 * t175; + const double t1479 = t568 * t1478; + const double t1481 = t183 * t582 * t113; + const double t1482 = t577 * t1481; + const double t1485 = t1306 * t188; + const double t1486 = t40 * t1405; + const double t1487 = t648 * sigma; + const double t1494 = t1320 * t113; + const double t1495 = t1494 * t581; + const double t1499 = -0.15243824895787514157e-3 * t1479 * t1482 + 0.21684485328539747656e-4 * t1485 * t1486 * t1487 - 0.40650199722100037752e-3 * t647 * t1365 * t648 - 0.15243824895787514157e-3 * t647 * t598 * t1495 + t1333 + t1340 - t1397 + t1401; + const double t1500 = t257 * t1499; + const double t1505 = t194 * t529; + const double t1508 = -0.5e1 / 0.3e1 * t614 + t1505 * t220 / 0.3e1; + const double t1509 = piecewise_functor_3( t227, 0.0, t1508 ); + const double t1512 = t656 * t539; + const double t1515 = t656 * t535; + const double t1520 = -0.64e0 * t1509 * t230 - 0.128e1 * t1512 * t535 - 0.128e1 * t1228 * t1515 - 0.64e0 * t540 * t1509; + const double t1521 = t1520 * t233; + const double t1522 = t661 * t543; + const double t1525 = piecewise_functor_3( t235, 0.0, t1508 ); + const double t1527 = t545 * t663; + const double t1529 = t236 * t1525; + const double t1533 = t238 * t1525; + const double t1537 = t240 * t1525; + const double t1541 = t242 * t1525; + const double t1545 = t244 * t1525; + const double t1551 = -0.64e0 * t1525 - 0.8704e0 * t1527 - 0.8704e0 * t1529 - 0.9214113627294e1 * t665 * t545 - 0.4607056813647e1 * t1533 + 0.367387230261e2 * t667 * t545 + 0.122462410087e2 * t1537 - 0.3831420472412e2 * t669 * t545 - 0.957855118103e1 * t1541 + 0.1550653405116e2 * t671 * t545 + 0.3101306810232e1 * t1545 - 0.2177652951264e1 * t673 * t545 - 0.362942158544e0 * t246 * t1525; + const double t1552 = t1266 * t678; + const double t1555 = piecewise_functor_3( t235, t1508, 0.0 ); + const double t1559 = t1276 * t678; + const double t1563 = piecewise_functor_5( t226, t1522 * t233 + t1521, t234, t1551, -0.21e1 * t1552 * t1463 - 0.105e1 * t561 * t1555 * t255 - 0.1575e1 * t1559 * t1463 ); + const double t1564 = rho * t1563; + const double t1567 = t609 * t609; + const double t1568 = t1567 * t520; + const double t1571 = 0.5e1 / 0.16e2 * t591 * t787 * t1568; + const double t1573 = sigma * t198; + const double t1577 = t508 * t192; + const double t1579 = 0.1e1 / t8 / t1577; + const double t1580 = t506 * t1579; + const double t1582 = t1580 * t185 * t817; + const double t1585 = -0.65495539973149862688e-2 * t505 * t172 * t604 * t1573 + 0.8926869224563865807e-3 * t174 * t1582; + const double t1586 = t1585 * t520; + const double t1589 = t591 * t330 * t1586 / 0.4e1; + const double t1590 = safe_math::sqrt( t203 ); + const double t1592 = 0.1e1 / t1590 / t784; + const double t1593 = t367 * t1592; + const double t1594 = t1567 * t1195; + const double t1597 = t591 * t1593 * t1594 / 0.16e2; + const double t1598 = t1505 * eta; + const double t1599 = t1209 * t194; + const double t1602 = t1208 * t1599 / 0.32e2 + t1598 / 0.32e2; + const double t1603 = piecewise_functor_3( t227, 0.0, t1602 ); + const double t1606 = t619 * t619; + const double t1613 = -0.64e0 * t1603 * t230 - 0.128e1 * t1606 * t539 - 0.128e1 * t1228 * t1606 - 0.64e0 * t540 * t1603; + const double t1615 = t624 * t624; + const double t1616 = t1615 * t233; + const double t1618 = piecewise_functor_3( t235, 0.0, t1602 ); + const double t1620 = t626 * t626; + const double t1622 = t236 * t1618; + const double t1624 = t236 * t1620; + const double t1626 = t238 * t1618; + const double t1628 = t238 * t1620; + const double t1630 = t240 * t1618; + const double t1632 = t240 * t1620; + const double t1634 = t242 * t1618; + const double t1636 = t242 * t1620; + const double t1638 = t244 * t1618; + const double t1644 = -0.64e0 * t1618 - 0.8704e0 * t1620 - 0.8704e0 * t1622 - 0.9214113627294e1 * t1624 - 0.4607056813647e1 * t1626 + 0.367387230261e2 * t1628 + 0.122462410087e2 * t1630 - 0.3831420472412e2 * t1632 - 0.957855118103e1 * t1634 + 0.1550653405116e2 * t1636 + 0.3101306810232e1 * t1638 - 0.2177652951264e1 * t244 * t1620 - 0.362942158544e0 * t246 * t1618; + const double t1645 = t641 * t641; + const double t1649 = piecewise_functor_3( t235, t1602, 0.0 ); + const double t1653 = t1276 * t1645; + const double t1657 = piecewise_functor_5( t226, t1613 * t233 + t1616, t234, t1644, -0.21e1 * t1266 * t1645 * t255 - 0.105e1 * t561 * t1649 * t255 - 0.1575e1 * t1653 * t255 ); + const double t1658 = t1657 * t276; + const double t1660 = 0.2e1 * t645 * t652; + const double t1661 = t40 * t194; + const double t1665 = t261 * t261; + const double t1666 = safe_math::sqrt( t266 ); + const double t1668 = 0.1e1 / t1666 / t1303; + const double t1670 = t1665 * t1668 * t188; + const double t1674 = -0.81316819982024053709e-5 * t1485 * t1661 * t648 - 0.16263363996404810741e-5 * t1670 * t1661 * t1494 + t1571 - t1589 + t1597; + const double t1675 = t257 * t1674; + const double t1679 = t1078 * t529 * eta / 0.8e1; + const double t1680 = piecewise_functor_3( t227, 0.0, -t1679 ); + const double t1685 = t656 * t619; + const double t1690 = -0.64e0 * t1680 * t230 - 0.128e1 * t1512 * t619 - 0.128e1 * t1228 * t1685 - 0.64e0 * t540 * t1680; + const double t1691 = t1690 * t233; + const double t1692 = t661 * t624; + const double t1695 = piecewise_functor_3( t235, 0.0, -t1679 ); + const double t1697 = t626 * t663; + const double t1699 = t236 * t1695; + const double t1703 = t238 * t1695; + const double t1707 = t240 * t1695; + const double t1711 = t242 * t1695; + const double t1715 = t244 * t1695; + const double t1721 = -0.64e0 * t1695 - 0.8704e0 * t1697 - 0.8704e0 * t1699 - 0.9214113627294e1 * t665 * t626 - 0.4607056813647e1 * t1703 + 0.367387230261e2 * t667 * t626 + 0.122462410087e2 * t1707 - 0.3831420472412e2 * t669 * t626 - 0.957855118103e1 * t1711 + 0.1550653405116e2 * t671 * t626 + 0.3101306810232e1 * t1715 - 0.2177652951264e1 * t673 * t626 - 0.362942158544e0 * t246 * t1695; + const double t1722 = t255 * t641; + const double t1725 = piecewise_functor_3( t235, -t1679, 0.0 ); + const double t1732 = piecewise_functor_5( t226, t1692 * t233 + t1691, t234, t1721, -0.21e1 * t1552 * t1722 - 0.105e1 * t561 * t1725 * t255 - 0.1575e1 * t1559 * t1722 ); + const double t1733 = rho * t1732; + const double t1736 = piecewise_functor_3( t227, 0.0, 0.0 ); + const double t1738 = 0.64e0 * t1736 * t230; + const double t1739 = t656 * t656; + const double t1745 = 0.64e0 * t540 * t1736; + const double t1746 = -t1738 - 0.128e1 * t1739 * t539 - 0.128e1 * t1228 * t1739 - t1745; + const double t1748 = t661 * t661; + const double t1749 = t1748 * t233; + const double t1751 = piecewise_functor_3( t235, 0.0, 0.0 ); + const double t1752 = 0.64e0 * t1751; + const double t1753 = t663 * t663; + const double t1755 = t236 * t1751; + const double t1756 = 0.8704e0 * t1755; + const double t1757 = t236 * t1753; + const double t1759 = t238 * t1751; + const double t1760 = 0.4607056813647e1 * t1759; + const double t1761 = t238 * t1753; + const double t1763 = t240 * t1751; + const double t1764 = 0.122462410087e2 * t1763; + const double t1765 = t240 * t1753; + const double t1767 = t242 * t1751; + const double t1768 = 0.957855118103e1 * t1767; + const double t1769 = t242 * t1753; + const double t1771 = t244 * t1751; + const double t1772 = 0.3101306810232e1 * t1771; + const double t1776 = 0.362942158544e0 * t246 * t1751; + const double t1777 = -t1752 - 0.8704e0 * t1753 - t1756 - 0.9214113627294e1 * t1757 - t1760 + 0.367387230261e2 * t1761 + t1764 - 0.3831420472412e2 * t1765 - t1768 + 0.1550653405116e2 * t1769 + t1772 - 0.2177652951264e1 * t244 * t1753 - t1776; + const double t1778 = t678 * t678; + const double t1784 = 0.105e1 * t561 * t1751 * t255; + const double t1785 = t1276 * t1778; + const double t1789 = piecewise_functor_5( t226, t1746 * t233 + t1749, t234, t1777, -0.21e1 * t1266 * t1778 * t255 - t1784 - 0.1575e1 * t1785 * t255 ); + const double t1790 = rho * t1789; + + + v2rho2 = 0.22146941966666666666e-2 * t282 + 0.2e1 * t303 - 0.36622894612013090108e-3 * t308 - 0.11696447245269292414e1 * t320 + 0.2e1 * t522 + 0.2e1 * t567 + 0.2e1 * t588 + rho * t1327; + v2rhosigma = t613 + t646 + t653 + rho * ( -t1333 - t1340 + t1397 - t1401 + t1475 + t1476 + t1477 + t1500 ); + v2rholapl = 0.e0; + v2rhotau = t1564 * t276 + t682 * t276 + t683 * t587; + v2sigma2 = rho * ( -t1571 + t1589 - t1597 + t1658 + t1660 + t1675 ); + v2sigmalapl = 0.e0; + v2sigmatau = t1733 * t276 + t683 * t652; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t1790 * t276; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t175 = constants::m_cbrt_6; + constexpr double t176 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t90 = 0.1e1 / t4; + constexpr double t177 = t176 * t176; + constexpr double t178 = 0.1e1 / t177; + constexpr double t179 = t175 * t178; + constexpr double t180 = t40 * t40; + constexpr double t181 = t179 * t180; + constexpr double t185 = t175 * t175; + constexpr double t187 = 0.1e1 / t176 / t61; + constexpr double t188 = t185 * t187; + constexpr double t288 = t4 * t7; + constexpr double t363 = t90 * t6; + constexpr double t416 = t5 * t7; + constexpr double t577 = t178 * t180; + constexpr double t594 = t19 * t90; + constexpr double t707 = t20 * t6; + constexpr double t775 = t61 * t61; + constexpr double t816 = t187 * t40; + constexpr double t1209 = eta * eta; + + + const double t8 = safe_math::cbrt( rho ); + const double t10 = t7 / t8; + const double t11 = t5 * t10; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t16 = 0.8969e0 * t11; + const double t17 = pow_3_2( t11 ); + const double t18 = 0.204775e0 * t17; + const double t22 = t8 * t8; + const double t25 = t21 * t6 / t22; + const double t26 = 0.123235e0 * t25; + const double t27 = 0.379785e1 * t14 + t16 + t18 + t26; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t48 = 0.905775e0 * t11; + const double t49 = 0.1100325e0 * t17; + const double t50 = 0.1241775e0 * t25; + const double t51 = 0.51785e1 * t14 + t48 + t49 + t50; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 / t60; + const double t71 = 0.1e1 / t67; + const double t72 = t61 * t71; + const double t74 = safe_math::exp( -( -t33 + t58 ) * t69 * t72 ); + const double t75 = t74 - 0.1e1; + const double t77 = 0.1e1 + 0.25e-1 * t11; + const double t79 = 0.1e1 + 0.4445e-1 * t11; + const double t80 = 0.1e1 / t79; + const double t81 = t77 * t80; + const double t82 = rho * rho; + const double t84 = 0.1e1 / t8 / t82; + const double t88 = 0.1e1 / t66; + const double t93 = 0.1e1 / t75; + const double t94 = t6 * t69 * t93; + const double t95 = t88 * t19 * t90 * t94; + const double t99 = piecewise_functor_3( t34, t64 * zeta_tol, 1.0 ); + const double t100 = 0.1e1 / t99; + const double t101 = t69 * t100; + const double t102 = t71 * t93; + const double t103 = safe_math::sqrt( 0.4e1 ); + const double t104 = t103 * t14; + const double t106 = 0.3138525e-1 * t11; + const double t107 = 0.1e1 + 0.22225e-1 * t104 + t106; + const double t108 = t107 * t107; + const double t113 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t114 = 0.1e1 / t108 * t113; + const double t115 = 0.1e1 / t14; + const double t116 = t103 * t115; + const double t118 = 0.4445e-1 * t116 + 0.125541e0; + const double t122 = 0.1898925e1 * t104 + t16 + t18 + t26; + const double t125 = 0.1e1 + 0.16081979498692535067e2 / t122; + const double t126 = safe_math::log( t125 ); + const double t128 = t122 * t122; + const double t129 = 0.1e1 / t128; + const double t130 = t13 * t129; + const double t132 = safe_math::sqrt( t11 ); + const double t135 = 0.379785e1 * t116 + 0.35876e1 + 0.122865e1 * t132 + 0.24647e0 * t11; + const double t136 = 0.1e1 / t125; + const double t137 = t135 * t136; + const double t141 = 0.258925e1 * t104 + t48 + t49 + t50; + const double t144 = 0.1e1 + 0.29608749977793437516e2 / t141; + const double t145 = safe_math::log( t144 ); + const double t148 = t44 * t46; + const double t149 = t141 * t141; + const double t150 = 0.1e1 / t149; + const double t154 = 0.51785e1 * t116 + 0.36231e1 + 0.660195e0 * t132 + 0.248355e0 * t11; + const double t156 = 0.1e1 / t144; + const double t157 = t150 * t154 * t156; + const double t160 = 0.285764e-1 * t114 * t118 + 0.1328816518e-1 * t126 - 0.1e1 * t130 * t137 - 0.21973736767207854065e-2 * t44 * t145 + 0.5848223622634646207e0 * t148 * t157; + const double t165 = 0.1e1 + 0.4445e-1 * t14 + t106; + const double t166 = 0.1e1 / t165; + const double t172 = 0.5e1 * t5 * t10 * t160 - 0.45e2 * eta * ( -0.285764e-1 * t166 * t113 + t33 - t58 ); + const double t174 = t101 * t102 * t172; + const double t183 = 0.1e1 / t22 / t82; + const double t184 = sigma * t183; + const double t189 = sigma * sigma; + const double t190 = t40 * t189; + const double t191 = t82 * t82; + const double t192 = t191 * rho; + const double t194 = 0.1e1 / t8 / t192; + const double t198 = safe_math::exp( -0.20444604078896369094e0 * t188 * t190 * t194 ); + const double t200 = t181 * t184 * t198; + const double t203 = 0.1e1 + 0.27439371595564631661e-1 * t81 * sigma * t84 * t40 * t95 + 0.43341108700271342816e-1 * t174 * t200; + const double t204 = pow_1_4( t203 ); + const double t206 = 0.1e1 - 0.1e1 / t204; + const double t208 = t75 * t206 + 0.1e1; + const double t209 = safe_math::log( t208 ); + const double t211 = t63 * t67 * t209; + const double t213 = 0.1e1 / t22 / rho; + const double t216 = tau * t213 - t184 / 0.8e1; + const double t220 = eta * sigma; + const double t223 = 0.3e1 / 0.2e2 * t185 * t177 * t40 + t220 * t183 / 0.8e1; + const double t224 = 0.1e1 / t223; + const double t225 = t216 * t224; + const double t226 = t225 <= 0.e0; + const double t227 = 0.e0 < t225; + const double t228 = piecewise_functor_3( t227, 0.0, t225 ); + const double t229 = 0.1e1 - t228; + const double t230 = 0.1e1 / t229; + const double t233 = safe_math::exp( -0.64e0 * t228 * t230 ); + const double t234 = t225 <= 0.25e1; + const double t235 = 0.25e1 < t225; + const double t236 = piecewise_functor_3( t235, 2.5, t225 ); + const double t238 = t236 * t236; + const double t240 = t238 * t236; + const double t242 = t238 * t238; + const double t244 = t242 * t236; + const double t246 = t242 * t238; + const double t251 = piecewise_functor_3( t235, t225, 2.5 ); + const double t252 = 0.1e1 - t251; + const double t255 = safe_math::exp( 0.15e1 / t252 ); + const double t257 = piecewise_functor_5( t226, t233, t234, 0.1e1 - 0.64e0 * t236 - 0.4352e0 * t238 - 0.1535685604549e1 * t240 + 0.3061560252175e1 * t242 - 0.1915710236206e1 * t244 + 0.516884468372e0 * t246 - 0.51848879792e-1 * t242 * t240, -0.7e0 * t255 ); + const double t260 = safe_math::exp( 0.1e1 * t166 ); + const double t261 = t260 - 0.1e1; + const double t262 = t180 * sigma; + const double t263 = t262 * t183; + const double t266 = 0.1e1 + 0.21337642104376358333e-1 * t179 * t263; + const double t267 = pow_1_4( t266 ); + const double t269 = 0.1e1 - 0.1e1 / t267; + const double t271 = t261 * t269 + 0.1e1; + const double t272 = safe_math::log( t271 ); + const double t276 = ( -0.285764e-1 * t166 + 0.285764e-1 * t272 ) * t113 + t33 - t58 - t211; + const double t277 = t257 * t276; + const double t279 = 0.1e1 / t8 / rho; + const double t280 = t7 * t279; + const double t282 = t5 * t280 * t31; + const double t283 = 0.11073470983333333333e-2 * t282; + const double t284 = t27 * t27; + const double t285 = 0.1e1 / t284; + const double t286 = t13 * t285; + const double t287 = t115 * t2; + const double t289 = t288 * t279; + const double t290 = t287 * t289; + const double t292 = t5 * t280; + const double t293 = 0.29896666666666666667e0 * t292; + const double t294 = t132 * t2; + const double t295 = t294 * t289; + const double t296 = 0.1023875e0 * t295; + const double t298 = t21 * t6 * t213; + const double t299 = 0.82156666666666666667e-1 * t298; + const double t300 = -0.632975e0 * t290 - t293 - t296 - t299; + const double t301 = 0.1e1 / t30; + const double t302 = t300 * t301; + const double t303 = t286 * t302; + const double t304 = 0.1e1 * t303; + const double t305 = t44 * t2; + const double t308 = t305 * t288 * t279 * t55; + const double t309 = 0.18311447306006545054e-3 * t308; + const double t310 = t51 * t51; + const double t311 = 0.1e1 / t310; + const double t313 = 0.301925e0 * t292; + const double t314 = 0.5501625e-1 * t295; + const double t315 = 0.82785e-1 * t298; + const double t316 = -0.86308333333333333334e0 * t290 - t313 - t314 - t315; + const double t318 = 0.1e1 / t54; + const double t319 = t311 * t316 * t318; + const double t320 = t148 * t319; + const double t321 = 0.5848223622634646207e0 * t320; + const double t322 = t283 + t304 - t309 - t321; + const double t323 = t322 * t69; + const double t324 = t323 * t61; + const double t325 = t71 * t74; + const double t326 = t325 * t206; + const double t329 = 0.1e1 / t204 / t203; + const double t330 = t75 * t329; + const double t331 = t82 * rho; + const double t333 = 0.1e1 / t22 / t331; + const double t334 = t333 * t80; + const double t336 = t40 * t88; + const double t337 = t69 * t93; + const double t338 = t336 * t337; + const double t341 = t79 * t79; + const double t342 = 0.1e1 / t341; + const double t343 = t77 * t342; + const double t344 = sigma * t333; + const double t349 = 0.1e1 / t8 / t331; + const double t355 = t81 * sigma; + const double t356 = t84 * t40; + const double t357 = t66 * t66; + const double t359 = 0.1e1 / t357 / t65; + const double t360 = t359 * t19; + const double t362 = t355 * t356 * t360; + const double t364 = t60 * t60; + const double t365 = 0.1e1 / t364; + const double t366 = t363 * t365; + const double t367 = t75 * t75; + const double t368 = 0.1e1 / t367; + const double t369 = t368 * t322; + const double t370 = t61 * t74; + const double t372 = t366 * t369 * t370; + const double t375 = t365 * t100; + const double t376 = t357 * t66; + const double t377 = 0.1e1 / t376; + const double t378 = t375 * t377; + const double t379 = t368 * t172; + const double t380 = t379 * t179; + const double t381 = t378 * t380; + const double t382 = t198 * t322; + const double t383 = t382 * t370; + const double t384 = t263 * t383; + const double t392 = 0.1e1 / t108 / t107 * t113; + const double t393 = safe_math::pow( 0.4e1, 0.1e1 / 0.6e1 ); + const double t394 = t393 * t115; + const double t395 = t5 * t279; + const double t396 = t394 * t395; + const double t398 = 0.1046175e-1 * t292; + const double t399 = -0.14816666666666666667e-1 * t396 - t398; + const double t400 = t118 * t399; + const double t403 = t114 * t393; + const double t405 = 0.1e1 / t14 / t11; + const double t406 = t405 * t2; + const double t412 = -0.126595e1 * t396 - t293 - t296 - t299; + const double t417 = t279 * t129; + const double t421 = t128 * t122; + const double t422 = 0.1e1 / t421; + const double t423 = t13 * t422; + const double t427 = t393 * t405; + const double t428 = t427 * t395; + const double t430 = 0.1e1/safe_math::sqrt( t11 ); + const double t431 = t430 * t2; + const double t432 = t431 * t289; + const double t435 = 0.25319e1 * t428 - 0.204775e0 * t432 - 0.82156666666666666667e-1 * t292; + const double t436 = t435 * t136; + const double t439 = t128 * t128; + const double t440 = 0.1e1 / t439; + const double t441 = t13 * t440; + const double t442 = t125 * t125; + const double t443 = 0.1e1 / t442; + const double t444 = t135 * t443; + const double t449 = -0.17261666666666666667e1 * t396 - t313 - t314 - t315; + const double t454 = t44 * t5; + const double t458 = t149 * t141; + const double t459 = 0.1e1 / t458; + const double t460 = t459 * t154; + const double t461 = t156 * t449; + const double t468 = 0.34523333333333333333e1 * t428 - 0.1100325e0 * t432 - 0.82785e-1 * t292; + const double t470 = t150 * t468 * t156; + const double t473 = t149 * t149; + const double t474 = 0.1e1 / t473; + const double t475 = t474 * t154; + const double t476 = t144 * t144; + const double t477 = 0.1e1 / t476; + const double t478 = t477 * t449; + const double t482 = -0.571528e-1 * t392 * t400 + 0.84681398666666666666e-3 * t403 * t406 * t4 * t279 - 0.2137e0 * t129 * t412 * t136 + 0.17808333333333333333e-1 * t416 * t417 * t137 + 0.2e1 * t423 * t137 * t412 - 0.1e1 * t130 * t436 - 0.16081979498692535067e2 * t441 * t444 * t412 + 0.65061487801810439052e-1 * t44 * t150 * t449 * t156 - 0.54217906501508699211e-2 * t454 * t280 * t157 - 0.11696447245269292414e1 * t148 * t460 * t461 + 0.5848223622634646207e0 * t148 * t470 + 0.17315859105681463759e2 * t148 * t475 * t478; + const double t486 = t165 * t165; + const double t487 = 0.1e1 / t486; + const double t488 = t487 * t113; + const double t490 = -0.74083333333333333333e-2 * t290 - t398; + const double t496 = -0.5e1 / 0.3e1 * t5 * t280 * t160 + 0.5e1 * t5 * t10 * t482 - 0.45e2 * eta * ( 0.285764e-1 * t488 * t490 - t283 - t304 + t309 + t321 ); + const double t498 = t101 * t102 * t496; + const double t502 = t181 * t344 * t198; + const double t505 = t101 * t102; + const double t506 = t189 * sigma; + const double t507 = t172 * t506; + const double t508 = t191 * t191; + const double t509 = t508 * rho; + const double t510 = 0.1e1 / t509; + const double t511 = t510 * t198; + const double t515 = -0.27439371595564631661e-2 * t334 * sigma * t338 + 0.48787202696913915093e-2 * t343 * t344 * t338 - 0.64025200389650807209e-1 * t81 * sigma * t349 * t40 * t95 + 0.27439371595564631661e-1 * t362 * t372 + 0.43341108700271342816e-1 * t381 * t384 + 0.43341108700271342816e-1 * t498 * t200 - 0.11557628986739024751e0 * t174 * t502 + 0.58218257753910989057e-2 * t505 * t507 * t511; + const double t518 = -t324 * t326 + t330 * t515 / 0.4e1; + const double t520 = 0.1e1 / t208; + const double t522 = t63 * t67 * t518 * t520; + const double t526 = -0.5e1 / 0.3e1 * tau * t183 + t344 / 0.3e1; + const double t528 = t223 * t223; + const double t529 = 0.1e1 / t528; + const double t530 = t216 * t529; + const double t531 = t220 * t333; + const double t534 = t526 * t224 + t530 * t531 / 0.3e1; + const double t535 = piecewise_functor_3( t227, 0.0, t534 ); + const double t538 = t229 * t229; + const double t539 = 0.1e1 / t538; + const double t540 = t228 * t539; + const double t543 = -0.64e0 * t535 * t230 - 0.64e0 * t540 * t535; + const double t544 = t543 * t233; + const double t545 = piecewise_functor_3( t235, 0.0, t534 ); + const double t547 = t236 * t545; + const double t549 = t238 * t545; + const double t551 = t240 * t545; + const double t553 = t242 * t545; + const double t555 = t244 * t545; + const double t560 = t252 * t252; + const double t561 = 0.1e1 / t560; + const double t562 = piecewise_functor_3( t235, t534, 0.0 ); + const double t566 = piecewise_functor_5( t226, t544, t234, -0.64e0 * t545 - 0.8704e0 * t547 - 0.4607056813647e1 * t549 + 0.122462410087e2 * t551 - 0.957855118103e1 * t553 + 0.3101306810232e1 * t555 - 0.362942158544e0 * t246 * t545, -0.105e1 * t561 * t562 * t255 ); + const double t567 = t566 * t276; + const double t568 = t487 * t490; + const double t570 = t260 * t269; + const double t574 = 0.1e1 / t267 / t266; + const double t575 = t261 * t574; + const double t576 = t575 * t175; + const double t581 = -0.1e1 * t568 * t570 - 0.14225094736250905555e-1 * t576 * t577 * t344; + const double t582 = 0.1e1 / t271; + const double t587 = ( 0.285764e-1 * t568 + 0.285764e-1 * t581 * t582 ) * t113 - t283 - t304 + t309 + t321 - t522; + const double t588 = t257 * t587; + const double t591 = t63 * t67; + const double t595 = t594 * t94; + const double t598 = t180 * t183; + const double t599 = t598 * t198; + const double t600 = t179 * t599; + const double t604 = 0.1e1 / t508; + const double t605 = t604 * t198; + const double t609 = 0.27439371595564631661e-1 * t81 * t356 * t88 * t595 + 0.43341108700271342816e-1 * t174 * t600 - 0.21831846657716620896e-2 * t505 * t172 * t189 * t605; + const double t610 = t609 * t520; + const double t613 = t591 * t330 * t610 / 0.4e1; + const double t614 = t183 * t224; + const double t615 = eta * t183; + const double t618 = -t530 * t615 / 0.8e1 - t614 / 0.8e1; + const double t619 = piecewise_functor_3( t227, 0.0, t618 ); + const double t624 = -0.64e0 * t619 * t230 - 0.64e0 * t540 * t619; + const double t625 = t624 * t233; + const double t626 = piecewise_functor_3( t235, 0.0, t618 ); + const double t628 = t236 * t626; + const double t630 = t238 * t626; + const double t632 = t240 * t626; + const double t634 = t242 * t626; + const double t636 = t244 * t626; + const double t641 = piecewise_functor_3( t235, t618, 0.0 ); + const double t645 = piecewise_functor_5( t226, t625, t234, -0.64e0 * t626 - 0.8704e0 * t628 - 0.4607056813647e1 * t630 + 0.122462410087e2 * t632 - 0.957855118103e1 * t634 + 0.3101306810232e1 * t636 - 0.362942158544e0 * t246 * t626, -0.105e1 * t561 * t641 * t255 ); + const double t646 = t645 * t276; + const double t647 = t575 * t179; + const double t648 = t582 * t113; + const double t652 = 0.15243824895787514157e-3 * t647 * t598 * t648 - t613; + const double t653 = t257 * t652; + const double t655 = t213 * t224; + const double t656 = piecewise_functor_3( t227, 0.0, t655 ); + const double t661 = -0.64e0 * t656 * t230 - 0.64e0 * t540 * t656; + const double t662 = t661 * t233; + const double t663 = piecewise_functor_3( t235, 0.0, t655 ); + const double t665 = t236 * t663; + const double t667 = t238 * t663; + const double t669 = t240 * t663; + const double t671 = t242 * t663; + const double t673 = t244 * t663; + const double t678 = piecewise_functor_3( t235, t655, 0.0 ); + const double t682 = piecewise_functor_5( t226, t662, t234, -0.64e0 * t663 - 0.8704e0 * t665 - 0.4607056813647e1 * t667 + 0.122462410087e2 * t669 - 0.957855118103e1 * t671 + 0.3101306810232e1 * t673 - 0.362942158544e0 * t246 * t663, -0.105e1 * t561 * t678 * t255 ); + const double t683 = rho * t682; + const double t691 = t7 * t84; + const double t693 = t5 * t691 * t31; + const double t694 = 0.14764627977777777777e-2 * t693; + const double t695 = t279 * t285; + const double t697 = t416 * t695 * t302; + const double t698 = 0.35616666666666666666e-1 * t697; + const double t699 = t284 * t27; + const double t700 = 0.1e1 / t699; + const double t701 = t13 * t700; + const double t702 = t300 * t300; + const double t703 = t702 * t301; + const double t704 = t701 * t703; + const double t705 = 0.2e1 * t704; + const double t706 = t405 * t19; + const double t708 = t707 * t183; + const double t709 = t706 * t708; + const double t711 = t288 * t84; + const double t712 = t287 * t711; + const double t714 = t5 * t691; + const double t715 = 0.39862222222222222223e0 * t714; + const double t716 = t430 * t19; + const double t717 = t716 * t708; + const double t718 = 0.68258333333333333333e-1 * t717; + const double t719 = t294 * t711; + const double t720 = 0.13651666666666666667e0 * t719; + const double t722 = t21 * t6 * t183; + const double t723 = 0.13692777777777777778e0 * t722; + const double t724 = -0.42198333333333333333e0 * t709 + 0.84396666666666666666e0 * t712 + t715 + t718 + t720 + t723; + const double t725 = t724 * t301; + const double t726 = t286 * t725; + const double t727 = 0.1e1 * t726; + const double t728 = t284 * t284; + const double t729 = 0.1e1 / t728; + const double t730 = t13 * t729; + const double t731 = t30 * t30; + const double t732 = 0.1e1 / t731; + const double t733 = t702 * t732; + const double t734 = t730 * t733; + const double t735 = 0.16081979498692535067e2 * t734; + const double t738 = t305 * t288 * t84 * t55; + const double t739 = 0.24415263074675393405e-3 * t738; + const double t741 = t454 * t280 * t319; + const double t742 = 0.10843581300301739842e-1 * t741; + const double t743 = t310 * t51; + const double t744 = 0.1e1 / t743; + const double t745 = t316 * t316; + const double t747 = t744 * t745 * t318; + const double t748 = t148 * t747; + const double t749 = 0.11696447245269292414e1 * t748; + const double t752 = 0.40256666666666666667e0 * t714; + const double t753 = 0.366775e-1 * t717; + const double t754 = 0.73355e-1 * t719; + const double t755 = 0.137975e0 * t722; + const double t756 = -0.57538888888888888889e0 * t709 + 0.11507777777777777778e1 * t712 + t752 + t753 + t754 + t755; + const double t758 = t311 * t756 * t318; + const double t759 = t148 * t758; + const double t760 = 0.5848223622634646207e0 * t759; + const double t761 = t310 * t310; + const double t762 = 0.1e1 / t761; + const double t763 = t762 * t745; + const double t764 = t54 * t54; + const double t765 = 0.1e1 / t764; + const double t766 = t763 * t765; + const double t767 = t148 * t766; + const double t768 = 0.17315859105681463759e2 * t767; + const double t769 = -t694 - t698 - t705 + t727 + t735 + t739 + t742 + t749 - t760 - t768; + const double t771 = t769 * t69 * t61; + const double t773 = t322 * t322; + const double t776 = t773 * t365 * t775; + const double t777 = t377 * t74; + const double t778 = t777 * t206; + const double t780 = t329 * t515; + const double t781 = t325 * t780; + const double t784 = t203 * t203; + const double t786 = 0.1e1 / t204 / t784; + const double t787 = t75 * t786; + const double t788 = t515 * t515; + const double t791 = sigma * t40; + const double t792 = t334 * t791; + const double t793 = t359 * t365; + const double t794 = t369 * t74; + const double t795 = t793 * t794; + const double t798 = t377 * t368; + const double t800 = t375 * t798 * t172; + const double t801 = t506 * t510; + const double t802 = t801 * t198; + const double t804 = t322 * t61 * t74; + const double t805 = t802 * t804; + const double t808 = t189 * t189; + const double t809 = t808 * sigma; + const double t810 = t191 * t331; + const double t813 = 0.1e1 / t8 / t508 / t810; + const double t814 = t809 * t813; + const double t817 = t816 * t198; + const double t818 = t814 * t185 * t817; + const double t822 = 0.1e1 / t341 / t79; + const double t823 = t77 * t822; + const double t824 = 0.1e1 / t192; + const double t829 = t88 * t69 * t93; + const double t830 = t829 * t416; + const double t834 = t343 * t344 * t40; + const double t835 = t793 * t368; + const double t836 = t835 * t804; + const double t849 = 0.1e1 / t473 / t149; + const double t850 = t849 * t154; + const double t852 = 0.1e1 / t476 / t144; + const double t853 = t449 * t449; + const double t854 = t852 * t853; + const double t859 = 0.1e1 / t473 / t141; + const double t860 = t859 * t154; + const double t861 = t477 * t853; + const double t865 = t474 * t468; + const double t869 = t393 * t393; + const double t870 = t869 * t869; + const double t871 = t870 * t393; + const double t872 = t871 * t405; + const double t873 = t21 * t183; + const double t874 = t872 * t873; + const double t876 = t5 * t84; + const double t877 = t394 * t876; + const double t879 = -0.28769444444444444445e0 * t874 + 0.23015555555555555556e1 * t877 + t752 + t753 + t754 + t755; + const double t880 = t477 * t879; + const double t884 = t459 * t468; + const double t888 = t156 * t879; + const double t892 = t114 * t871; + const double t895 = 0.1e1 / t14 / t25 / 0.4e1; + const double t896 = t895 * t19; + const double t908 = t84 * t129; + const double t912 = t156 * t853; + const double t916 = t108 * t108; + const double t918 = 0.1e1 / t916 * t113; + const double t919 = t399 * t399; + const double t920 = t118 * t919; + const double t923 = t871 * t895; + const double t924 = t923 * t873; + const double t926 = t427 * t876; + const double t928 = 0.1e1/pow_3_2( t11 ); + const double t929 = t928 * t19; + const double t930 = t929 * t708; + const double t932 = t431 * t711; + const double t935 = 0.126595e1 * t924 - 0.33758666666666666667e1 * t926 - 0.13651666666666666667e0 * t930 + 0.27303333333333333333e0 * t932 + 0.10954222222222222222e0 * t714; + const double t936 = t935 * t136; + const double t941 = 0.13949e-1 * t714; + const double t942 = -0.24694444444444444445e-2 * t874 + 0.19755555555555555556e-1 * t877 + t941; + const double t946 = t44 * t416; + const double t947 = t279 * t459; + const double t948 = t154 * t156; + const double t949 = t948 * t449; + const double t953 = t279 * t474; + const double t954 = t154 * t477; + const double t955 = t954 * t449; + const double t959 = 0.72290542002011598948e-2 * t454 * t691 * t157 + 0.10254018858216406658e4 * t148 * t850 * t854 - 0.10389515463408878255e3 * t148 * t860 * t861 + 0.34631718211362927518e2 * t148 * t865 * t478 + 0.17315859105681463759e2 * t148 * t475 * t880 - 0.23392894490538584828e1 * t148 * t884 * t461 - 0.11696447245269292414e1 * t148 * t460 * t888 + 0.42340699333333333333e-3 * t892 * t896 * t20 * t183 + 0.35616666666666666666e-1 * t416 * t417 * t436 - 0.11290853155555555555e-2 * t403 * t406 * t4 * t84 - 0.23744444444444444444e-1 * t416 * t908 * t137 + 0.35089341735807877242e1 * t148 * t475 * t912 + 0.1714584e0 * t918 * t920 - 0.1e1 * t130 * t936 - 0.571528e-1 * t392 * t118 * t942 + 0.21687162600603479684e-1 * t946 * t947 * t949 - 0.32106488758451047386e0 * t946 * t953 * t955; + const double t962 = -0.21099166666666666667e0 * t874 + 0.16879333333333333333e1 * t877 + t715 + t718 + t720 + t723; + const double t967 = 0.1e1 / t439 / t122; + const double t968 = t13 * t967; + const double t969 = t412 * t412; + const double t979 = t392 * t427; + const double t980 = t279 * t399; + const double t984 = t422 * t135; + const double t985 = t136 * t412; + const double t986 = t984 * t985; + const double t989 = t440 * t135; + const double t990 = t443 * t412; + const double t991 = t989 * t990; + const double t995 = 0.1e1 / t439 / t128; + const double t996 = t13 * t995; + const double t998 = 0.1e1 / t442 / t125; + const double t999 = t135 * t998; + const double t1011 = t435 * t443; + const double t1031 = t440 * t969; + const double t1039 = 0.17261666666666666666e1 * t924 - 0.46031111111111111111e1 * t926 - 0.73354999999999999999e-1 * t930 + 0.14671e0 * t932 + 0.11038e0 * t714; + const double t1041 = t150 * t1039 * t156; + const double t1044 = -0.16081979498692535067e2 * t441 * t444 * t962 + 0.96491876992155210402e2 * t968 * t444 * t969 + 0.4e1 * t423 * t436 * t412 + 0.2e1 * t423 * t137 * t962 - 0.33872559466666666666e-2 * t979 * t5 * t980 - 0.71233333333333333332e-1 * t292 * t986 + 0.57278650314509912396e0 * t292 * t991 - 0.51726012919273400301e3 * t996 * t999 * t969 + 0.65061487801810439052e-1 * t44 * t150 * t879 * t156 + 0.19263893255070628431e1 * t44 * t474 * t853 * t477 - 0.32163958997385070134e2 * t441 * t1011 * t412 - 0.1301229756036208781e0 * t44 * t459 * t853 * t156 - 0.6e1 * t441 * t137 * t969 - 0.10843581300301739842e-1 * t454 * t280 * t470 + 0.4274e0 * t422 * t969 * t136 - 0.2137e0 * t129 * t962 * t136 - 0.34367190188705947438e1 * t1031 * t443 + 0.5848223622634646207e0 * t148 * t1041; + const double t1045 = t959 + t1044; + const double t1049 = t486 * t165; + const double t1050 = 0.1e1 / t1049; + const double t1051 = t1050 * t113; + const double t1052 = t490 * t490; + const double t1057 = -0.49388888888888888889e-2 * t709 + 0.98777777777777777777e-2 * t712 + t941; + const double t1060 = -0.571528e-1 * t1051 * t1052 + 0.285764e-1 * t488 * t1057 + t694 + t698 + t705 - t727 - t735 - t739 - t742 - t749 + t760 + t768; + const double t1063 = 0.2e2 / 0.9e1 * t5 * t691 * t160 - 0.1e2 / 0.3e1 * t5 * t280 * t482 + 0.5e1 * t5 * t10 * t1045 - 0.45e2 * eta * t1060; + const double t1065 = t101 * t102 * t1063; + const double t1071 = 0.1e1 / t22 / t191; + const double t1072 = sigma * t1071; + const double t1074 = t181 * t1072 * t198; + const double t1078 = 0.1e1 / t8 / t191; + const double t1084 = t824 * t342; + const double t1085 = t791 * t88; + const double t1087 = t337 * t416; + const double t1090 = t791 * t359; + const double t1091 = t334 * t1090; + const double t1092 = t365 * t368; + const double t1093 = t1092 * t804; + const double t1098 = t382 * t74; + const double t1099 = t801 * t1098; + const double t1102 = -0.27081574266271102508e-1 * t792 * t795 + 0.58218257753910989057e-2 * t800 * t805 + 0.63479958930231934629e-2 * t174 * t818 + 0.14457274399185490173e-3 * t823 * sigma * t824 * t40 * t830 + 0.48787202696913915093e-2 * t834 * t836 + 0.43341108700271342816e-1 * t1065 * t200 - 0.23115257973478049502e0 * t498 * t502 + 0.42377972951376424087e0 * t174 * t1074 + 0.21341733463216935736e0 * t81 * sigma * t1078 * t40 * t95 - 0.81312004494856525156e-4 * t1084 * t1085 * t1087 - 0.27439371595564631661e-2 * t1091 * t1093 + 0.48151039045430020259e-1 * t834 * t795 + 0.57459117295175457569e-1 * t800 * t1099; + const double t1103 = t496 * t506; + const double t1107 = t508 * t82; + const double t1108 = 0.1e1 / t1107; + const double t1109 = t1108 * t198; + const double t1116 = t262 * t333; + const double t1117 = t1116 * t383; + const double t1120 = t349 * t40; + const double t1122 = t355 * t1120 * t360; + const double t1125 = t368 * t769; + const double t1127 = t366 * t1125 * t370; + const double t1130 = t357 * t357; + const double t1131 = 0.1e1 / t1130; + const double t1132 = t1131 * t19; + const double t1134 = t355 * t356 * t1132; + const double t1136 = 0.1e1 / t364 / t60; + const double t1137 = t363 * t1136; + const double t1138 = t367 * t75; + const double t1139 = 0.1e1 / t1138; + const double t1140 = t1139 * t773; + const double t1141 = t74 * t74; + const double t1142 = t775 * t1141; + const double t1144 = t1137 * t1140 * t1142; + const double t1147 = t368 * t773; + const double t1148 = t775 * t74; + const double t1150 = t1137 * t1147 * t1148; + const double t1153 = t368 * t496; + const double t1154 = t1153 * t179; + const double t1155 = t378 * t1154; + const double t1158 = t198 * t769; + const double t1159 = t1158 * t370; + const double t1160 = t263 * t1159; + const double t1163 = t1136 * t100; + const double t1165 = 0.1e1 / t1130 / t65; + const double t1166 = t1163 * t1165; + const double t1167 = t1139 * t172; + const double t1168 = t1167 * t179; + const double t1169 = t1166 * t1168; + const double t1170 = t198 * t773; + const double t1171 = t1170 * t1142; + const double t1172 = t263 * t1171; + const double t1175 = t1166 * t380; + const double t1176 = t1170 * t1148; + const double t1177 = t263 * t1176; + const double t1180 = t1071 * t80; + const double t1184 = 0.11643651550782197811e-1 * t505 * t1103 * t511 - 0.679213007128961539e-1 * t505 * t507 * t1109 - 0.29272321618148349056e-1 * t343 * t1072 * t338 - 0.23115257973478049502e0 * t381 * t1117 - 0.12805040077930161442e0 * t1122 * t372 + 0.27439371595564631661e-1 * t362 * t1127 + 0.54878743191129263322e-1 * t1134 * t1144 - 0.27439371595564631661e-1 * t1134 * t1150 + 0.86682217400542685632e-1 * t1155 * t384 + 0.43341108700271342816e-1 * t381 * t1160 + 0.86682217400542685632e-1 * t1169 * t1172 - 0.43341108700271342816e-1 * t1175 * t1177 + 0.16463622957338778997e-1 * t1180 * sigma * t338; + const double t1185 = t1102 + t1184; + const double t1188 = -t771 * t326 + t776 * t778 - t324 * t781 / 0.2e1 - 0.5e1 / 0.16e2 * t787 * t788 + t330 * t1185 / 0.4e1; + const double t1191 = t63 * t67 * t1188 * t520; + const double t1192 = t518 * t518; + const double t1194 = t208 * t208; + const double t1195 = 0.1e1 / t1194; + const double t1197 = t63 * t67 * t1192 * t1195; + const double t1201 = 0.4e2 / 0.9e1 * tau * t333 - 0.11e2 / 0.9e1 * t1072; + const double t1203 = t526 * t529; + const double t1207 = 0.1e1 / t528 / t223; + const double t1208 = t216 * t1207; + const double t1210 = t1209 * t189; + const double t1212 = 0.1e1 / t8 / t810; + const double t1213 = t1210 * t1212; + const double t1216 = t220 * t1071; + const double t1219 = t1201 * t224 + 0.2e1 / 0.3e1 * t1203 * t531 + 0.2e1 / 0.9e1 * t1208 * t1213 - 0.11e2 / 0.9e1 * t530 * t1216; + const double t1220 = piecewise_functor_3( t227, 0.0, t1219 ); + const double t1223 = t535 * t535; + const double t1227 = 0.1e1 / t538 / t229; + const double t1228 = t228 * t1227; + const double t1233 = -0.64e0 * t1220 * t230 - 0.128e1 * t1223 * t539 - 0.128e1 * t1228 * t1223 - 0.64e0 * t540 * t1220; + const double t1234 = t1233 * t233; + const double t1235 = t543 * t543; + const double t1236 = t1235 * t233; + const double t1238 = piecewise_functor_3( t235, 0.0, t1219 ); + const double t1240 = t545 * t545; + const double t1244 = t236 * t1240; + const double t1248 = t238 * t1240; + const double t1252 = t240 * t1240; + const double t1256 = t242 * t1240; + const double t1264 = -0.64e0 * t1238 - 0.8704e0 * t1240 - 0.8704e0 * t236 * t1238 - 0.9214113627294e1 * t1244 - 0.4607056813647e1 * t238 * t1238 + 0.367387230261e2 * t1248 + 0.122462410087e2 * t240 * t1238 - 0.3831420472412e2 * t1252 - 0.957855118103e1 * t242 * t1238 + 0.1550653405116e2 * t1256 + 0.3101306810232e1 * t244 * t1238 - 0.2177652951264e1 * t244 * t1240 - 0.362942158544e0 * t246 * t1238; + const double t1265 = t560 * t252; + const double t1266 = 0.1e1 / t1265; + const double t1267 = t562 * t562; + const double t1271 = piecewise_functor_3( t235, t1219, 0.0 ); + const double t1275 = t560 * t560; + const double t1276 = 0.1e1 / t1275; + const double t1277 = t1276 * t1267; + const double t1281 = piecewise_functor_5( t226, t1234 + t1236, t234, t1264, -0.21e1 * t1266 * t1267 * t255 - 0.105e1 * t561 * t1271 * t255 - 0.1575e1 * t1277 * t255 ); + const double t1282 = t1281 * t276; + const double t1283 = t566 * t587; + const double t1285 = t1050 * t1052; + const double t1287 = t487 * t1057; + const double t1293 = t486 * t486; + const double t1294 = 0.1e1 / t1293; + const double t1295 = t1294 * t1052; + const double t1298 = t260 * t574; + const double t1299 = t568 * t1298; + const double t1300 = t179 * t1116; + const double t1303 = t266 * t266; + const double t1305 = 0.1e1 / t267 / t1303; + const double t1306 = t261 * t1305; + const double t1307 = t1306 * t185; + const double t1315 = 0.2e1 * t1285 * t570 - 0.1e1 * t1287 * t570 + 0.1e1 * t1295 * t570 + 0.2845018947250181111e-1 * t1299 * t1300 - 0.20235332025531322028e-2 * t1307 * t816 * t189 * t1212 + 0.52158680699586653702e-1 * t576 * t577 * t1072; + const double t1318 = t581 * t581; + const double t1319 = t271 * t271; + const double t1320 = 0.1e1 / t1319; + const double t1325 = ( -0.571528e-1 * t1285 + 0.285764e-1 * t1287 + 0.285764e-1 * t1315 * t582 - 0.285764e-1 * t1318 * t1320 ) * t113 + t694 + t698 + t705 - t727 - t735 - t739 - t742 - t749 + t760 + t768 - t1191 + t1197; + const double t1326 = t257 * t1325; + const double t1327 = -t694 - t698 - t705 + t727 + t735 + t739 + t742 + t749 - t760 - t768 + t1191 - t1197 + t1282 + 0.2e1 * t1283 + t1326; + const double t1329 = t322 * t74; + const double t1330 = t329 * t609; + const double t1331 = t1330 * t520; + const double t1332 = t1329 * t1331; + const double t1333 = t1332 / 0.4e1; + const double t1335 = t63 * t67 * t75; + const double t1336 = t786 * t609; + const double t1337 = t520 * t515; + const double t1339 = t1335 * t1336 * t1337; + const double t1340 = 0.5e1 / 0.16e2 * t1339; + const double t1351 = t81 * t84; + const double t1352 = t40 * t359; + const double t1353 = t1352 * t19; + const double t1354 = t1351 * t1353; + const double t1357 = t379 * t175; + const double t1358 = t378 * t1357; + const double t1359 = t577 * t183; + const double t1360 = t1359 * t383; + const double t1365 = t180 * t333; + const double t1367 = t179 * t1365 * t198; + const double t1370 = t172 * t510; + const double t1371 = t189 * t198; + const double t1376 = t189 * t604 * t198; + const double t1377 = t1376 * t804; + const double t1384 = t191 * t82; + const double t1385 = t508 * t1384; + const double t1387 = 0.1e1 / t8 / t1385; + const double t1388 = t808 * t1387; + const double t1390 = t1388 * t185 * t817; + const double t1393 = -0.27439371595564631661e-2 * t334 * t40 * t829 + 0.48787202696913915093e-2 * t343 * t333 * t338 - 0.64025200389650807209e-1 * t81 * t1120 * t88 * t595 + 0.27439371595564631661e-1 * t1354 * t372 + 0.43341108700271342816e-1 * t1358 * t1360 + 0.43341108700271342816e-1 * t498 * t600 - 0.11557628986739024751e0 * t174 * t1367 + 0.23287303101564395623e-1 * t505 * t1370 * t1371 - 0.21831846657716620896e-2 * t800 * t1377 - 0.21831846657716620896e-2 * t505 * t496 * t189 * t605 - 0.23804984598836975486e-2 * t174 * t1390; + const double t1394 = t1393 * t520; + const double t1396 = t591 * t330 * t1394; + const double t1397 = t1396 / 0.4e1; + const double t1398 = t1195 * t518; + const double t1400 = t1335 * t1330 * t1398; + const double t1401 = t1400 / 0.4e1; + const double t1402 = t333 * t224; + const double t1405 = 0.1e1 / t8 / t1384; + const double t1406 = t1405 * t529; + const double t1407 = t1406 * t220; + const double t1411 = t1209 * t1405; + const double t1412 = t1411 * sigma; + const double t1415 = eta * t333; + const double t1418 = t1402 / 0.3e1 - t1407 / 0.24e2 - t1203 * t615 / 0.8e1 - t1208 * t1412 / 0.12e2 + t530 * t1415 / 0.3e1; + const double t1419 = piecewise_functor_3( t227, 0.0, t1418 ); + const double t1422 = t619 * t539; + const double t1425 = t619 * t535; + const double t1430 = -0.64e0 * t1419 * t230 - 0.128e1 * t1422 * t535 - 0.128e1 * t1228 * t1425 - 0.64e0 * t540 * t1419; + const double t1431 = t1430 * t233; + const double t1432 = t624 * t543; + const double t1435 = piecewise_functor_3( t235, 0.0, t1418 ); + const double t1437 = t545 * t626; + const double t1439 = t236 * t1435; + const double t1443 = t238 * t1435; + const double t1447 = t240 * t1435; + const double t1451 = t242 * t1435; + const double t1455 = t244 * t1435; + const double t1461 = -0.64e0 * t1435 - 0.8704e0 * t1437 - 0.8704e0 * t1439 - 0.9214113627294e1 * t628 * t545 - 0.4607056813647e1 * t1443 + 0.367387230261e2 * t630 * t545 + 0.122462410087e2 * t1447 - 0.3831420472412e2 * t632 * t545 - 0.957855118103e1 * t1451 + 0.1550653405116e2 * t634 * t545 + 0.3101306810232e1 * t1455 - 0.2177652951264e1 * t636 * t545 - 0.362942158544e0 * t246 * t1435; + const double t1462 = t1266 * t641; + const double t1463 = t255 * t562; + const double t1466 = piecewise_functor_3( t235, t1418, 0.0 ); + const double t1470 = t1276 * t641; + const double t1474 = piecewise_functor_5( t226, t1432 * t233 + t1431, t234, t1461, -0.21e1 * t1462 * t1463 - 0.105e1 * t561 * t1466 * t255 - 0.1575e1 * t1470 * t1463 ); + const double t1475 = t1474 * t276; + const double t1476 = t645 * t587; + const double t1477 = t566 * t652; + const double t1478 = t1298 * t175; + const double t1479 = t568 * t1478; + const double t1481 = t183 * t582 * t113; + const double t1482 = t577 * t1481; + const double t1485 = t1306 * t188; + const double t1486 = t40 * t1405; + const double t1487 = t648 * sigma; + const double t1494 = t1320 * t113; + const double t1495 = t1494 * t581; + const double t1499 = -0.15243824895787514157e-3 * t1479 * t1482 + 0.21684485328539747656e-4 * t1485 * t1486 * t1487 - 0.40650199722100037752e-3 * t647 * t1365 * t648 - 0.15243824895787514157e-3 * t647 * t598 * t1495 + t1333 + t1340 - t1397 + t1401; + const double t1500 = t257 * t1499; + const double t1505 = t194 * t529; + const double t1508 = -0.5e1 / 0.3e1 * t614 + t1505 * t220 / 0.3e1; + const double t1509 = piecewise_functor_3( t227, 0.0, t1508 ); + const double t1512 = t656 * t539; + const double t1515 = t656 * t535; + const double t1520 = -0.64e0 * t1509 * t230 - 0.128e1 * t1512 * t535 - 0.128e1 * t1228 * t1515 - 0.64e0 * t540 * t1509; + const double t1521 = t1520 * t233; + const double t1522 = t661 * t543; + const double t1525 = piecewise_functor_3( t235, 0.0, t1508 ); + const double t1527 = t545 * t663; + const double t1529 = t236 * t1525; + const double t1533 = t238 * t1525; + const double t1537 = t240 * t1525; + const double t1541 = t242 * t1525; + const double t1545 = t244 * t1525; + const double t1551 = -0.64e0 * t1525 - 0.8704e0 * t1527 - 0.8704e0 * t1529 - 0.9214113627294e1 * t665 * t545 - 0.4607056813647e1 * t1533 + 0.367387230261e2 * t667 * t545 + 0.122462410087e2 * t1537 - 0.3831420472412e2 * t669 * t545 - 0.957855118103e1 * t1541 + 0.1550653405116e2 * t671 * t545 + 0.3101306810232e1 * t1545 - 0.2177652951264e1 * t673 * t545 - 0.362942158544e0 * t246 * t1525; + const double t1552 = t1266 * t678; + const double t1555 = piecewise_functor_3( t235, t1508, 0.0 ); + const double t1559 = t1276 * t678; + const double t1563 = piecewise_functor_5( t226, t1522 * t233 + t1521, t234, t1551, -0.21e1 * t1552 * t1463 - 0.105e1 * t561 * t1555 * t255 - 0.1575e1 * t1559 * t1463 ); + const double t1564 = rho * t1563; + const double t1567 = t609 * t609; + const double t1568 = t1567 * t520; + const double t1571 = 0.5e1 / 0.16e2 * t591 * t787 * t1568; + const double t1573 = sigma * t198; + const double t1577 = t508 * t192; + const double t1579 = 0.1e1 / t8 / t1577; + const double t1580 = t506 * t1579; + const double t1582 = t1580 * t185 * t817; + const double t1585 = -0.65495539973149862688e-2 * t505 * t172 * t604 * t1573 + 0.8926869224563865807e-3 * t174 * t1582; + const double t1586 = t1585 * t520; + const double t1589 = t591 * t330 * t1586 / 0.4e1; + const double t1590 = safe_math::sqrt( t203 ); + const double t1592 = 0.1e1 / t1590 / t784; + const double t1593 = t367 * t1592; + const double t1594 = t1567 * t1195; + const double t1597 = t591 * t1593 * t1594 / 0.16e2; + const double t1598 = t1505 * eta; + const double t1599 = t1209 * t194; + const double t1602 = t1208 * t1599 / 0.32e2 + t1598 / 0.32e2; + const double t1603 = piecewise_functor_3( t227, 0.0, t1602 ); + const double t1606 = t619 * t619; + const double t1613 = -0.64e0 * t1603 * t230 - 0.128e1 * t1606 * t539 - 0.128e1 * t1228 * t1606 - 0.64e0 * t540 * t1603; + const double t1615 = t624 * t624; + const double t1616 = t1615 * t233; + const double t1618 = piecewise_functor_3( t235, 0.0, t1602 ); + const double t1620 = t626 * t626; + const double t1622 = t236 * t1618; + const double t1624 = t236 * t1620; + const double t1626 = t238 * t1618; + const double t1628 = t238 * t1620; + const double t1630 = t240 * t1618; + const double t1632 = t240 * t1620; + const double t1634 = t242 * t1618; + const double t1636 = t242 * t1620; + const double t1638 = t244 * t1618; + const double t1644 = -0.64e0 * t1618 - 0.8704e0 * t1620 - 0.8704e0 * t1622 - 0.9214113627294e1 * t1624 - 0.4607056813647e1 * t1626 + 0.367387230261e2 * t1628 + 0.122462410087e2 * t1630 - 0.3831420472412e2 * t1632 - 0.957855118103e1 * t1634 + 0.1550653405116e2 * t1636 + 0.3101306810232e1 * t1638 - 0.2177652951264e1 * t244 * t1620 - 0.362942158544e0 * t246 * t1618; + const double t1645 = t641 * t641; + const double t1649 = piecewise_functor_3( t235, t1602, 0.0 ); + const double t1653 = t1276 * t1645; + const double t1657 = piecewise_functor_5( t226, t1613 * t233 + t1616, t234, t1644, -0.21e1 * t1266 * t1645 * t255 - 0.105e1 * t561 * t1649 * t255 - 0.1575e1 * t1653 * t255 ); + const double t1658 = t1657 * t276; + const double t1660 = 0.2e1 * t645 * t652; + const double t1661 = t40 * t194; + const double t1665 = t261 * t261; + const double t1666 = safe_math::sqrt( t266 ); + const double t1668 = 0.1e1 / t1666 / t1303; + const double t1670 = t1665 * t1668 * t188; + const double t1674 = -0.81316819982024053709e-5 * t1485 * t1661 * t648 - 0.16263363996404810741e-5 * t1670 * t1661 * t1494 + t1571 - t1589 + t1597; + const double t1675 = t257 * t1674; + const double t1679 = t1078 * t529 * eta / 0.8e1; + const double t1680 = piecewise_functor_3( t227, 0.0, -t1679 ); + const double t1685 = t656 * t619; + const double t1690 = -0.64e0 * t1680 * t230 - 0.128e1 * t1512 * t619 - 0.128e1 * t1228 * t1685 - 0.64e0 * t540 * t1680; + const double t1691 = t1690 * t233; + const double t1692 = t661 * t624; + const double t1695 = piecewise_functor_3( t235, 0.0, -t1679 ); + const double t1697 = t626 * t663; + const double t1699 = t236 * t1695; + const double t1703 = t238 * t1695; + const double t1707 = t240 * t1695; + const double t1711 = t242 * t1695; + const double t1715 = t244 * t1695; + const double t1721 = -0.64e0 * t1695 - 0.8704e0 * t1697 - 0.8704e0 * t1699 - 0.9214113627294e1 * t665 * t626 - 0.4607056813647e1 * t1703 + 0.367387230261e2 * t667 * t626 + 0.122462410087e2 * t1707 - 0.3831420472412e2 * t669 * t626 - 0.957855118103e1 * t1711 + 0.1550653405116e2 * t671 * t626 + 0.3101306810232e1 * t1715 - 0.2177652951264e1 * t673 * t626 - 0.362942158544e0 * t246 * t1695; + const double t1722 = t255 * t641; + const double t1725 = piecewise_functor_3( t235, -t1679, 0.0 ); + const double t1732 = piecewise_functor_5( t226, t1692 * t233 + t1691, t234, t1721, -0.21e1 * t1552 * t1722 - 0.105e1 * t561 * t1725 * t255 - 0.1575e1 * t1559 * t1722 ); + const double t1733 = rho * t1732; + const double t1736 = piecewise_functor_3( t227, 0.0, 0.0 ); + const double t1738 = 0.64e0 * t1736 * t230; + const double t1739 = t656 * t656; + const double t1745 = 0.64e0 * t540 * t1736; + const double t1746 = -t1738 - 0.128e1 * t1739 * t539 - 0.128e1 * t1228 * t1739 - t1745; + const double t1748 = t661 * t661; + const double t1749 = t1748 * t233; + const double t1751 = piecewise_functor_3( t235, 0.0, 0.0 ); + const double t1752 = 0.64e0 * t1751; + const double t1753 = t663 * t663; + const double t1755 = t236 * t1751; + const double t1756 = 0.8704e0 * t1755; + const double t1757 = t236 * t1753; + const double t1759 = t238 * t1751; + const double t1760 = 0.4607056813647e1 * t1759; + const double t1761 = t238 * t1753; + const double t1763 = t240 * t1751; + const double t1764 = 0.122462410087e2 * t1763; + const double t1765 = t240 * t1753; + const double t1767 = t242 * t1751; + const double t1768 = 0.957855118103e1 * t1767; + const double t1769 = t242 * t1753; + const double t1771 = t244 * t1751; + const double t1772 = 0.3101306810232e1 * t1771; + const double t1776 = 0.362942158544e0 * t246 * t1751; + const double t1777 = -t1752 - 0.8704e0 * t1753 - t1756 - 0.9214113627294e1 * t1757 - t1760 + 0.367387230261e2 * t1761 + t1764 - 0.3831420472412e2 * t1765 - t1768 + 0.1550653405116e2 * t1769 + t1772 - 0.2177652951264e1 * t244 * t1753 - t1776; + const double t1778 = t678 * t678; + const double t1784 = 0.105e1 * t561 * t1751 * t255; + const double t1785 = t1276 * t1778; + const double t1789 = piecewise_functor_5( t226, t1746 * t233 + t1749, t234, t1777, -0.21e1 * t1266 * t1778 * t255 - t1784 - 0.1575e1 * t1785 * t255 ); + const double t1790 = rho * t1789; + + + vrho = -t33 + t58 + t211 + t277 + rho * ( t283 + t304 - t309 - t321 + t522 + t567 + t588 ); + vsigma = rho * ( t613 + t646 + t653 ); + vlapl = 0.e0; + vtau = t683 * t276; + v2rho2 = 0.22146941966666666666e-2 * t282 + 0.2e1 * t303 - 0.36622894612013090108e-3 * t308 - 0.11696447245269292414e1 * t320 + 0.2e1 * t522 + 0.2e1 * t567 + 0.2e1 * t588 + rho * t1327; + v2rhosigma = t613 + t646 + t653 + rho * ( -t1333 - t1340 + t1397 - t1401 + t1475 + t1476 + t1477 + t1500 ); + v2rholapl = 0.e0; + v2rhotau = t1564 * t276 + t682 * t276 + t683 * t587; + v2sigma2 = rho * ( -t1571 + t1589 - t1597 + t1658 + t1660 + t1675 ); + v2sigmalapl = 0.e0; + v2sigmatau = t1733 * t276 + t683 * t652; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t1790 * t276; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t255 = constants::m_cbrt_6; + constexpr double t256 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t130 = 0.1e1 / t4; + constexpr double t257 = t256 * t256; + constexpr double t258 = 0.1e1 / t257; + constexpr double t259 = t255 * t258; + constexpr double t260 = t57 * t57; + constexpr double t261 = t259 * t260; + constexpr double t265 = t255 * t255; + constexpr double t267 = 0.1e1 / t256 / t95; + constexpr double t268 = t265 * t267; + constexpr double t313 = t265 * t257; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t11 = t7 / t9; + const double t12 = t5 * t11; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t17 = 0.8969e0 * t12; + const double t18 = pow_3_2( t12 ); + const double t19 = 0.204775e0 * t18; + const double t23 = t9 * t9; + const double t26 = t22 * t6 / t23; + const double t27 = 0.123235e0 * t26; + const double t28 = 0.379785e1 * t15 + t17 + t19 + t27; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t65 = 0.1549425e1 * t12; + const double t66 = 0.420775e0 * t18; + const double t67 = 0.1562925e0 * t26; + const double t68 = 0.705945e1 * t15 + t65 + t66 + t67; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t78 = 0.905775e0 * t12; + const double t79 = 0.1100325e0 * t18; + const double t80 = 0.1241775e0 * t26; + const double t81 = 0.51785e1 * t15 + t78 + t79 + t80; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 / t94; + const double t109 = ( -t34 + t90 + t92 ) * t108; + const double t110 = 0.1e1 / t106; + const double t111 = t95 * t110; + const double t113 = safe_math::exp( -t109 * t111 ); + const double t114 = t113 - 0.1e1; + const double t116 = 0.1e1 + 0.25e-1 * t12; + const double t118 = 0.1e1 + 0.4445e-1 * t12; + const double t119 = 0.1e1 / t118; + const double t120 = t116 * t119; + const double t122 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t124 = 0.1e1 / t9 / t38; + const double t125 = t122 * t124; + const double t128 = 0.1e1 / t105; + const double t129 = t128 * t20; + const double t132 = t6 * t108; + const double t133 = 0.1e1 / t114; + const double t134 = t132 * t133; + const double t135 = t129 * t130 * t134; + const double t138 = t98 * zeta_tol; + const double t139 = t99 * t44; + const double t140 = piecewise_functor_3( t45, t138, t139 ); + const double t141 = t101 * t51; + const double t142 = piecewise_functor_3( t52, t138, t141 ); + const double t144 = t140 / 0.2e1 + t142 / 0.2e1; + const double t146 = t108 / t144; + const double t147 = t110 * t133; + const double t148 = safe_math::sqrt( 0.4e1 ); + const double t149 = t148 * t15; + const double t151 = 0.3138525e-1 * t12; + const double t152 = 0.1e1 + 0.22225e-1 * t149 + t151; + const double t153 = t152 * t152; + const double t154 = 0.1e1 / t153; + const double t158 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t159 = t154 * t158; + const double t160 = t37 * t37; + const double t161 = t160 * t37; + const double t162 = t39 * t39; + const double t163 = t162 * t39; + const double t164 = 0.1e1 / t163; + const double t166 = -t161 * t164 + 0.1e1; + const double t167 = 0.1e1 / t15; + const double t168 = t148 * t167; + const double t170 = 0.4445e-1 * t168 + 0.125541e0; + const double t171 = t166 * t170; + const double t175 = 0.1898925e1 * t149 + t17 + t19 + t27; + const double t178 = 0.1e1 + 0.16081979498692535067e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t180 = 0.1328816518e-1 * t179; + const double t181 = t175 * t175; + const double t182 = 0.1e1 / t181; + const double t183 = t14 * t182; + const double t185 = safe_math::sqrt( t12 ); + const double t188 = 0.379785e1 * t168 + 0.35876e1 + 0.122865e1 * t185 + 0.24647e0 * t12; + const double t189 = 0.1e1 / t178; + const double t190 = t188 * t189; + const double t192 = 0.1e1 * t183 * t190; + const double t194 = 0.3529725e1 * t149 + t65 + t66 + t67; + const double t197 = 0.1e1 + 0.32163958997385070134e2 / t194; + const double t198 = safe_math::log( t197 ); + const double t200 = t194 * t194; + const double t201 = 0.1e1 / t200; + const double t202 = t63 * t201; + const double t206 = 0.705945e1 * t168 + 0.61977e1 + 0.252465e1 * t185 + 0.312585e0 * t12; + const double t207 = 0.1e1 / t197; + const double t208 = t206 * t207; + const double t212 = 0.258925e1 * t149 + t78 + t79 + t80; + const double t215 = 0.1e1 + 0.29608749977793437516e2 / t212; + const double t216 = safe_math::log( t215 ); + const double t218 = t212 * t212; + const double t219 = 0.1e1 / t218; + const double t220 = t76 * t219; + const double t224 = 0.51785e1 * t168 + 0.36231e1 + 0.660195e0 * t185 + 0.248355e0 * t12; + const double t225 = 0.1e1 / t215; + const double t226 = t224 * t225; + const double t229 = -0.6388517036e-2 * t198 + 0.1e1 * t202 * t208 + t180 - t192 - 0.21973736767207854065e-2 * t216 + 0.5848223622634646207e0 * t220 * t226; + const double t230 = t61 * t229; + const double t234 = t61 * t76; + const double t236 = t219 * t224 * t225; + const double t239 = 0.285764e-1 * t159 * t171 + t180 - t192 - t41 * t230 - 0.21973736767207854065e-2 * t61 * t216 + 0.5848223622634646207e0 * t234 * t236; + const double t244 = 0.1e1 + 0.4445e-1 * t15 + t151; + const double t245 = 0.1e1 / t244; + const double t246 = t245 * t158; + const double t252 = 0.5e1 * t5 * t11 * t239 - 0.45e2 * eta * ( -0.285764e-1 * t246 * t166 + t34 - t90 - t92 ); + const double t253 = t147 * t252; + const double t254 = t146 * t253; + const double t263 = 0.1e1 / t23 / t38; + const double t264 = t122 * t263; + const double t269 = t122 * t122; + const double t270 = t57 * t269; + const double t271 = t39 * t8; + const double t273 = 0.1e1 / t9 / t271; + const double t277 = safe_math::exp( -0.20444604078896369094e0 * t268 * t270 * t273 ); + const double t279 = t261 * t264 * t277; + const double t282 = 0.1e1 + 0.27439371595564631661e-1 * t120 * t125 * t57 * t135 + 0.43341108700271342816e-1 * t254 * t279; + const double t283 = pow_1_4( t282 ); + const double t285 = 0.1e1 - 0.1e1 / t283; + const double t287 = t114 * t285 + 0.1e1; + const double t288 = safe_math::log( t287 ); + const double t290 = t97 * t106 * t288; + const double t291 = safe_math::cbrt( rho_a ); + const double t292 = t291 * t291; + const double t294 = 0.1e1 / t292 / rho_a; + const double t295 = tau_a * t294; + const double t296 = t44 / 0.2e1; + const double t297 = safe_math::cbrt( t296 ); + const double t298 = t297 * t297; + const double t299 = t298 * t296; + const double t301 = safe_math::cbrt( rho_b ); + const double t302 = t301 * t301; + const double t304 = 0.1e1 / t302 / rho_b; + const double t305 = tau_b * t304; + const double t306 = t51 / 0.2e1; + const double t307 = safe_math::cbrt( t306 ); + const double t308 = t307 * t307; + const double t309 = t308 * t306; + const double t312 = t295 * t299 + t305 * t309 - t264 / 0.8e1; + const double t317 = eta * t122; + const double t320 = 0.3e1 / 0.1e2 * t313 * ( t299 + t309 ) + t317 * t263 / 0.8e1; + const double t321 = 0.1e1 / t320; + const double t322 = t312 * t321; + const double t323 = t322 <= 0.e0; + const double t324 = 0.e0 < t322; + const double t325 = piecewise_functor_3( t324, 0.0, t322 ); + const double t326 = 0.1e1 - t325; + const double t327 = 0.1e1 / t326; + const double t330 = safe_math::exp( -0.64e0 * t325 * t327 ); + const double t331 = t322 <= 0.25e1; + const double t332 = 0.25e1 < t322; + const double t333 = piecewise_functor_3( t332, 2.5, t322 ); + const double t335 = t333 * t333; + const double t337 = t335 * t333; + const double t339 = t335 * t335; + const double t341 = t339 * t333; + const double t343 = t339 * t335; + const double t348 = piecewise_functor_3( t332, t322, 2.5 ); + const double t349 = 0.1e1 - t348; + const double t352 = safe_math::exp( 0.15e1 / t349 ); + const double t354 = piecewise_functor_5( t323, t330, t331, 0.1e1 - 0.64e0 * t333 - 0.4352e0 * t335 - 0.1535685604549e1 * t337 + 0.3061560252175e1 * t339 - 0.1915710236206e1 * t341 + 0.516884468372e0 * t343 - 0.51848879792e-1 * t339 * t337, -0.7e0 * t352 ); + const double t357 = safe_math::exp( 0.1e1 * t245 ); + const double t358 = t357 - 0.1e1; + const double t359 = t260 * t122; + const double t360 = t359 * t263; + const double t363 = 0.1e1 + 0.21337642104376358333e-1 * t259 * t360; + const double t364 = pow_1_4( t363 ); + const double t366 = 0.1e1 - 0.1e1 / t364; + const double t368 = t358 * t366 + 0.1e1; + const double t369 = safe_math::log( t368 ); + const double t371 = -0.285764e-1 * t245 + 0.285764e-1 * t369; + const double t372 = t371 * t158; + const double t374 = t372 * t166 - t290 + t34 - t90 - t92; + const double t375 = t354 * t374; + + + eps = -t34 + t90 + t92 + t290 + t375; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t255 = constants::m_cbrt_6; + constexpr double t256 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t130 = 0.1e1 / t4; + constexpr double t257 = t256 * t256; + constexpr double t258 = 0.1e1 / t257; + constexpr double t259 = t255 * t258; + constexpr double t260 = t57 * t57; + constexpr double t261 = t259 * t260; + constexpr double t265 = t255 * t255; + constexpr double t267 = 0.1e1 / t256 / t95; + constexpr double t268 = t265 * t267; + constexpr double t313 = t265 * t257; + constexpr double t386 = t4 * t7; + constexpr double t528 = t20 * t130; + constexpr double t529 = t528 * t6; + constexpr double t550 = t258 * t260; + constexpr double t625 = t5 * t7; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t11 = t7 / t9; + const double t12 = t5 * t11; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t17 = 0.8969e0 * t12; + const double t18 = pow_3_2( t12 ); + const double t19 = 0.204775e0 * t18; + const double t23 = t9 * t9; + const double t26 = t22 * t6 / t23; + const double t27 = 0.123235e0 * t26; + const double t28 = 0.379785e1 * t15 + t17 + t19 + t27; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t65 = 0.1549425e1 * t12; + const double t66 = 0.420775e0 * t18; + const double t67 = 0.1562925e0 * t26; + const double t68 = 0.705945e1 * t15 + t65 + t66 + t67; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t78 = 0.905775e0 * t12; + const double t79 = 0.1100325e0 * t18; + const double t80 = 0.1241775e0 * t26; + const double t81 = 0.51785e1 * t15 + t78 + t79 + t80; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 / t94; + const double t109 = ( -t34 + t90 + t92 ) * t108; + const double t110 = 0.1e1 / t106; + const double t111 = t95 * t110; + const double t113 = safe_math::exp( -t109 * t111 ); + const double t114 = t113 - 0.1e1; + const double t116 = 0.1e1 + 0.25e-1 * t12; + const double t118 = 0.1e1 + 0.4445e-1 * t12; + const double t119 = 0.1e1 / t118; + const double t120 = t116 * t119; + const double t122 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t124 = 0.1e1 / t9 / t38; + const double t125 = t122 * t124; + const double t128 = 0.1e1 / t105; + const double t129 = t128 * t20; + const double t132 = t6 * t108; + const double t133 = 0.1e1 / t114; + const double t134 = t132 * t133; + const double t135 = t129 * t130 * t134; + const double t138 = t98 * zeta_tol; + const double t139 = t99 * t44; + const double t140 = piecewise_functor_3( t45, t138, t139 ); + const double t141 = t101 * t51; + const double t142 = piecewise_functor_3( t52, t138, t141 ); + const double t144 = t140 / 0.2e1 + t142 / 0.2e1; + const double t146 = t108 / t144; + const double t147 = t110 * t133; + const double t148 = safe_math::sqrt( 0.4e1 ); + const double t149 = t148 * t15; + const double t151 = 0.3138525e-1 * t12; + const double t152 = 0.1e1 + 0.22225e-1 * t149 + t151; + const double t153 = t152 * t152; + const double t154 = 0.1e1 / t153; + const double t158 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t159 = t154 * t158; + const double t160 = t37 * t37; + const double t161 = t160 * t37; + const double t162 = t39 * t39; + const double t163 = t162 * t39; + const double t164 = 0.1e1 / t163; + const double t166 = -t161 * t164 + 0.1e1; + const double t167 = 0.1e1 / t15; + const double t168 = t148 * t167; + const double t170 = 0.4445e-1 * t168 + 0.125541e0; + const double t171 = t166 * t170; + const double t175 = 0.1898925e1 * t149 + t17 + t19 + t27; + const double t178 = 0.1e1 + 0.16081979498692535067e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t180 = 0.1328816518e-1 * t179; + const double t181 = t175 * t175; + const double t182 = 0.1e1 / t181; + const double t183 = t14 * t182; + const double t185 = safe_math::sqrt( t12 ); + const double t188 = 0.379785e1 * t168 + 0.35876e1 + 0.122865e1 * t185 + 0.24647e0 * t12; + const double t189 = 0.1e1 / t178; + const double t190 = t188 * t189; + const double t192 = 0.1e1 * t183 * t190; + const double t194 = 0.3529725e1 * t149 + t65 + t66 + t67; + const double t197 = 0.1e1 + 0.32163958997385070134e2 / t194; + const double t198 = safe_math::log( t197 ); + const double t200 = t194 * t194; + const double t201 = 0.1e1 / t200; + const double t202 = t63 * t201; + const double t206 = 0.705945e1 * t168 + 0.61977e1 + 0.252465e1 * t185 + 0.312585e0 * t12; + const double t207 = 0.1e1 / t197; + const double t208 = t206 * t207; + const double t212 = 0.258925e1 * t149 + t78 + t79 + t80; + const double t215 = 0.1e1 + 0.29608749977793437516e2 / t212; + const double t216 = safe_math::log( t215 ); + const double t218 = t212 * t212; + const double t219 = 0.1e1 / t218; + const double t220 = t76 * t219; + const double t224 = 0.51785e1 * t168 + 0.36231e1 + 0.660195e0 * t185 + 0.248355e0 * t12; + const double t225 = 0.1e1 / t215; + const double t226 = t224 * t225; + const double t229 = -0.6388517036e-2 * t198 + 0.1e1 * t202 * t208 + t180 - t192 - 0.21973736767207854065e-2 * t216 + 0.5848223622634646207e0 * t220 * t226; + const double t230 = t61 * t229; + const double t234 = t61 * t76; + const double t236 = t219 * t224 * t225; + const double t239 = 0.285764e-1 * t159 * t171 + t180 - t192 - t41 * t230 - 0.21973736767207854065e-2 * t61 * t216 + 0.5848223622634646207e0 * t234 * t236; + const double t244 = 0.1e1 + 0.4445e-1 * t15 + t151; + const double t245 = 0.1e1 / t244; + const double t246 = t245 * t158; + const double t252 = 0.5e1 * t5 * t11 * t239 - 0.45e2 * eta * ( -0.285764e-1 * t246 * t166 + t34 - t90 - t92 ); + const double t253 = t147 * t252; + const double t254 = t146 * t253; + const double t263 = 0.1e1 / t23 / t38; + const double t264 = t122 * t263; + const double t269 = t122 * t122; + const double t270 = t57 * t269; + const double t271 = t39 * t8; + const double t273 = 0.1e1 / t9 / t271; + const double t277 = safe_math::exp( -0.20444604078896369094e0 * t268 * t270 * t273 ); + const double t279 = t261 * t264 * t277; + const double t282 = 0.1e1 + 0.27439371595564631661e-1 * t120 * t125 * t57 * t135 + 0.43341108700271342816e-1 * t254 * t279; + const double t283 = pow_1_4( t282 ); + const double t285 = 0.1e1 - 0.1e1 / t283; + const double t287 = t114 * t285 + 0.1e1; + const double t288 = safe_math::log( t287 ); + const double t290 = t97 * t106 * t288; + const double t291 = safe_math::cbrt( rho_a ); + const double t292 = t291 * t291; + const double t294 = 0.1e1 / t292 / rho_a; + const double t295 = tau_a * t294; + const double t296 = t44 / 0.2e1; + const double t297 = safe_math::cbrt( t296 ); + const double t298 = t297 * t297; + const double t299 = t298 * t296; + const double t301 = safe_math::cbrt( rho_b ); + const double t302 = t301 * t301; + const double t304 = 0.1e1 / t302 / rho_b; + const double t305 = tau_b * t304; + const double t306 = t51 / 0.2e1; + const double t307 = safe_math::cbrt( t306 ); + const double t308 = t307 * t307; + const double t309 = t308 * t306; + const double t312 = t295 * t299 + t305 * t309 - t264 / 0.8e1; + const double t317 = eta * t122; + const double t320 = 0.3e1 / 0.1e2 * t313 * ( t299 + t309 ) + t317 * t263 / 0.8e1; + const double t321 = 0.1e1 / t320; + const double t322 = t312 * t321; + const double t323 = t322 <= 0.e0; + const double t324 = 0.e0 < t322; + const double t325 = piecewise_functor_3( t324, 0.0, t322 ); + const double t326 = 0.1e1 - t325; + const double t327 = 0.1e1 / t326; + const double t330 = safe_math::exp( -0.64e0 * t325 * t327 ); + const double t331 = t322 <= 0.25e1; + const double t332 = 0.25e1 < t322; + const double t333 = piecewise_functor_3( t332, 2.5, t322 ); + const double t335 = t333 * t333; + const double t337 = t335 * t333; + const double t339 = t335 * t335; + const double t341 = t339 * t333; + const double t343 = t339 * t335; + const double t348 = piecewise_functor_3( t332, t322, 2.5 ); + const double t349 = 0.1e1 - t348; + const double t352 = safe_math::exp( 0.15e1 / t349 ); + const double t354 = piecewise_functor_5( t323, t330, t331, 0.1e1 - 0.64e0 * t333 - 0.4352e0 * t335 - 0.1535685604549e1 * t337 + 0.3061560252175e1 * t339 - 0.1915710236206e1 * t341 + 0.516884468372e0 * t343 - 0.51848879792e-1 * t339 * t337, -0.7e0 * t352 ); + const double t357 = safe_math::exp( 0.1e1 * t245 ); + const double t358 = t357 - 0.1e1; + const double t359 = t260 * t122; + const double t360 = t359 * t263; + const double t363 = 0.1e1 + 0.21337642104376358333e-1 * t259 * t360; + const double t364 = pow_1_4( t363 ); + const double t366 = 0.1e1 - 0.1e1 / t364; + const double t368 = t358 * t366 + 0.1e1; + const double t369 = safe_math::log( t368 ); + const double t371 = -0.285764e-1 * t245 + 0.285764e-1 * t369; + const double t372 = t371 * t158; + const double t374 = t372 * t166 - t290 + t34 - t90 - t92; + const double t375 = t354 * t374; + const double t377 = 0.1e1 / t9 / t8; + const double t378 = t7 * t377; + const double t380 = t5 * t378 * t32; + const double t381 = 0.11073470983333333333e-2 * t380; + const double t382 = t28 * t28; + const double t383 = 0.1e1 / t382; + const double t384 = t14 * t383; + const double t385 = t167 * t2; + const double t387 = t386 * t377; + const double t388 = t385 * t387; + const double t390 = t5 * t378; + const double t391 = 0.29896666666666666667e0 * t390; + const double t392 = t185 * t2; + const double t393 = t392 * t387; + const double t394 = 0.1023875e0 * t393; + const double t398 = t22 * t6 / t23 / t8; + const double t399 = 0.82156666666666666667e-1 * t398; + const double t400 = -0.632975e0 * t388 - t391 - t394 - t399; + const double t401 = 0.1e1 / t31; + const double t402 = t400 * t401; + const double t403 = t384 * t402; + const double t404 = 0.1e1 * t403; + const double t405 = t36 * t35; + const double t406 = t405 * t40; + const double t407 = t406 * t89; + const double t408 = 0.4e1 * t407; + const double t409 = 0.1e1 / t271; + const double t410 = t37 * t409; + const double t411 = t410 * t89; + const double t412 = 0.4e1 * t411; + const double t413 = 0.1e1 / t38; + const double t414 = t35 * t413; + const double t415 = t42 - t414; + const double t418 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t415 ); + const double t419 = -t415; + const double t422 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t419 ); + const double t423 = t418 + t422; + const double t424 = t423 * t60; + const double t425 = t424 * t88; + const double t426 = t41 * t425; + const double t430 = t68 * t68; + const double t431 = 0.1e1 / t430; + const double t432 = t63 * t431; + const double t434 = 0.516475e0 * t390; + const double t435 = 0.2103875e0 * t393; + const double t436 = 0.104195e0 * t398; + const double t437 = -0.1176575e1 * t388 - t434 - t435 - t436; + const double t438 = 0.1e1 / t71; + const double t439 = t437 * t438; + const double t445 = t81 * t81; + const double t446 = 0.1e1 / t445; + const double t447 = t76 * t446; + const double t449 = 0.301925e0 * t390; + const double t450 = 0.5501625e-1 * t393; + const double t451 = 0.82785e-1 * t398; + const double t452 = -0.86308333333333333334e0 * t388 - t449 - t450 - t451; + const double t453 = 0.1e1 / t84; + const double t454 = t452 * t453; + const double t457 = 0.53237641966666666666e-3 * t5 * t378 * t72 + 0.1e1 * t432 * t439 - t381 - t404 + 0.18311447306006545054e-3 * t5 * t378 * t85 + 0.5848223622634646207e0 * t447 * t454; + const double t458 = t61 * t457; + const double t459 = t41 * t458; + const double t460 = t424 * t86; + const double t461 = 0.19751673498613801407e-1 * t460; + const double t462 = t61 * t2; + const double t464 = t386 * t377 * t85; + const double t465 = t462 * t464; + const double t466 = 0.18311447306006545054e-3 * t465; + const double t468 = t446 * t452 * t453; + const double t469 = t234 * t468; + const double t470 = 0.5848223622634646207e0 * t469; + const double t471 = t105 * t288; + const double t472 = 0.1e1 / t48; + const double t473 = t472 * t415; + const double t475 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t473 ); + const double t476 = 0.1e1 / t53; + const double t477 = t476 * t419; + const double t479 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t477 ); + const double t481 = t475 / 0.2e1 + t479 / 0.2e1; + const double t483 = t97 * t471 * t481; + const double t484 = 0.3e1 * t483; + const double t486 = ( t381 + t404 + t408 - t412 + t426 + t459 + t461 - t466 - t470 ) * t108; + const double t488 = t105 * t105; + const double t489 = 0.1e1 / t488; + const double t490 = t95 * t489; + const double t491 = t490 * t481; + const double t494 = 0.3e1 * t109 * t491 - t486 * t111; + const double t495 = t494 * t113; + const double t496 = t495 * t285; + const double t498 = 0.1e1 / t283 / t282; + const double t499 = t114 * t498; + const double t500 = t38 * t8; + const double t502 = 0.1e1 / t23 / t500; + const double t503 = t502 * t119; + const double t505 = t57 * t128; + const double t506 = t108 * t133; + const double t507 = t505 * t506; + const double t509 = 0.27439371595564631661e-2 * t503 * t122 * t507; + const double t510 = t118 * t118; + const double t511 = 0.1e1 / t510; + const double t512 = t116 * t511; + const double t513 = t122 * t502; + const double t514 = t512 * t513; + const double t516 = 0.48787202696913915093e-2 * t514 * t507; + const double t518 = 0.1e1 / t9 / t500; + const double t523 = 0.64025200389650807209e-1 * t120 * t122 * t518 * t57 * t135; + const double t524 = t120 * t122; + const double t525 = t124 * t57; + const double t526 = t525 * t110; + const double t527 = t524 * t526; + const double t530 = t506 * t481; + const double t531 = t529 * t530; + const double t534 = t525 * t128; + const double t535 = t524 * t534; + const double t536 = t114 * t114; + const double t537 = 0.1e1 / t536; + const double t538 = t108 * t537; + const double t539 = t538 * t495; + const double t540 = t529 * t539; + const double t543 = t144 * t144; + const double t545 = t108 / t543; + const double t546 = t545 * t110; + const double t547 = t133 * t252; + const double t548 = t547 * t255; + const double t549 = t546 * t548; + const double t551 = t550 * t122; + const double t552 = t263 * t277; + const double t555 = piecewise_functor_3( t45, 0.0, 0.5e1 / 0.3e1 * t99 * t415 ); + const double t558 = piecewise_functor_3( t52, 0.0, 0.5e1 / 0.3e1 * t101 * t419 ); + const double t560 = t555 / 0.2e1 + t558 / 0.2e1; + const double t561 = t552 * t560; + const double t562 = t551 * t561; + const double t565 = t146 * t489; + const double t566 = t565 * t548; + const double t567 = t552 * t481; + const double t568 = t551 * t567; + const double t571 = t146 * t110; + const double t572 = t537 * t252; + const double t573 = t572 * t255; + const double t574 = t571 * t573; + const double t576 = t551 * t552 * t495; + const double t581 = 0.5e1 / 0.3e1 * t5 * t378 * t239; + const double t583 = 0.1e1 / t153 / t152; + const double t584 = t583 * t158; + const double t585 = safe_math::pow( 0.4e1, 0.1e1 / 0.6e1 ); + const double t586 = t585 * t167; + const double t587 = t5 * t377; + const double t588 = t586 * t587; + const double t590 = 0.1046175e-1 * t390; + const double t591 = -0.14816666666666666667e-1 * t588 - t590; + const double t594 = 0.571528e-1 * t584 * t171 * t591; + const double t595 = t154 * t58; + const double t596 = t595 * t423; + const double t597 = t60 * t166; + const double t598 = t597 * t170; + const double t601 = t160 * t405; + const double t602 = t601 * t164; + const double t603 = t162 * t271; + const double t604 = 0.1e1 / t603; + const double t605 = t161 * t604; + const double t607 = -0.12e2 * t602 + 0.12e2 * t605; + const double t608 = t607 * t170; + const double t611 = t166 * t585; + const double t612 = t159 * t611; + const double t614 = 0.1e1 / t15 / t12; + const double t615 = t614 * t2; + const double t616 = t4 * t377; + const double t617 = t615 * t616; + const double t619 = 0.84681398666666666666e-3 * t612 * t617; + const double t621 = -0.126595e1 * t588 - t391 - t394 - t399; + const double t624 = 0.2137e0 * t182 * t621 * t189; + const double t626 = t377 * t182; + const double t629 = 0.17808333333333333333e-1 * t625 * t626 * t190; + const double t630 = t181 * t175; + const double t631 = 0.1e1 / t630; + const double t632 = t14 * t631; + const double t635 = 0.2e1 * t632 * t190 * t621; + const double t636 = t585 * t614; + const double t637 = t636 * t587; + const double t639 = 0.1e1/safe_math::sqrt( t12 ); + const double t640 = t639 * t2; + const double t641 = t640 * t387; + const double t644 = 0.25319e1 * t637 - 0.204775e0 * t641 - 0.82156666666666666667e-1 * t390; + const double t645 = t644 * t189; + const double t647 = 0.1e1 * t183 * t645; + const double t648 = t181 * t181; + const double t649 = 0.1e1 / t648; + const double t650 = t14 * t649; + const double t651 = t178 * t178; + const double t652 = 0.1e1 / t651; + const double t653 = t188 * t652; + const double t656 = 0.16081979498692535067e2 * t650 * t653 * t621; + const double t658 = 0.4e1 * t406 * t230; + const double t660 = 0.4e1 * t410 * t230; + const double t661 = t424 * t229; + const double t664 = -0.235315e1 * t588 - t434 - t435 - t436; + const double t668 = t377 * t201; + const double t672 = t200 * t194; + const double t673 = 0.1e1 / t672; + const double t674 = t63 * t673; + const double t681 = 0.47063e1 * t637 - 0.42077500000000000001e0 * t641 - 0.104195e0 * t390; + const double t682 = t681 * t207; + const double t685 = t200 * t200; + const double t686 = 0.1e1 / t685; + const double t687 = t63 * t686; + const double t688 = t197 * t197; + const double t689 = 0.1e1 / t688; + const double t690 = t206 * t689; + const double t695 = -0.17261666666666666667e1 * t588 - t449 - t450 - t451; + const double t697 = t219 * t695 * t225; + const double t699 = t377 * t219; + const double t703 = t218 * t212; + const double t704 = 0.1e1 / t703; + const double t705 = t76 * t704; + const double t706 = t226 * t695; + const double t712 = 0.34523333333333333333e1 * t637 - 0.1100325e0 * t641 - 0.82785e-1 * t390; + const double t713 = t712 * t225; + const double t716 = t218 * t218; + const double t717 = 0.1e1 / t716; + const double t718 = t76 * t717; + const double t719 = t215 * t215; + const double t720 = 0.1e1 / t719; + const double t721 = t224 * t720; + const double t722 = t721 * t695; + const double t725 = 0.20548e0 * t201 * t664 * t207 - 0.17123333333333333333e-1 * t625 * t668 * t208 - 0.2e1 * t674 * t208 * t664 + 0.1e1 * t202 * t682 + 0.32163958997385070134e2 * t687 * t690 * t664 - t624 + t629 + t635 - t647 - t656 + 0.65061487801810439052e-1 * t697 - 0.54217906501508699211e-2 * t625 * t699 * t226 - 0.11696447245269292414e1 * t705 * t706 + 0.5848223622634646207e0 * t220 * t713 + 0.17315859105681463759e2 * t718 * t722; + const double t726 = t61 * t725; + const double t727 = t41 * t726; + const double t731 = 0.65061487801810439052e-1 * t61 * t697; + const double t732 = t424 * t76; + const double t735 = t61 * t5; + const double t736 = t378 * t236; + const double t738 = 0.54217906501508699211e-2 * t735 * t736; + const double t739 = t704 * t224; + const double t740 = t225 * t695; + const double t741 = t739 * t740; + const double t743 = 0.11696447245269292414e1 * t234 * t741; + const double t745 = t219 * t712 * t225; + const double t747 = 0.5848223622634646207e0 * t234 * t745; + const double t748 = t717 * t224; + const double t749 = t720 * t695; + const double t750 = t748 * t749; + const double t752 = 0.17315859105681463759e2 * t234 * t750; + const double t753 = -t594 - 0.675260332e-1 * t596 * t598 + 0.285764e-1 * t159 * t608 + t619 - t624 + t629 + t635 - t647 - t656 - t658 + t660 - t41 * t661 - t727 - 0.21973736767207854065e-2 * t424 * t216 + t731 + 0.5848223622634646207e0 * t732 * t236 - t738 - t743 + t747 + t752; + const double t757 = t244 * t244; + const double t758 = 0.1e1 / t757; + const double t759 = t758 * t158; + const double t761 = -0.74083333333333333333e-2 * t388 - t590; + const double t764 = 0.285764e-1 * t759 * t166 * t761; + const double t765 = t245 * t58; + const double t766 = t424 * t166; + const double t771 = t764 + 0.675260332e-1 * t765 * t766 - 0.285764e-1 * t246 * t607 - t381 - t404 - t408 + t412 - t426 - t459 - t461 + t466 + t470; + const double t774 = 0.5e1 * t5 * t11 * t753 - 0.45e2 * eta * t771 - t581; + const double t775 = t147 * t774; + const double t776 = t146 * t775; + const double t780 = t261 * t513 * t277; + const double t782 = 0.11557628986739024751e0 * t254 * t780; + const double t783 = t146 * t147; + const double t784 = t269 * t122; + const double t785 = t252 * t784; + const double t786 = t162 * t8; + const double t787 = 0.1e1 / t786; + const double t788 = t787 * t277; + const double t791 = 0.58218257753910989057e-2 * t783 * t785 * t788; + const double t792 = -t509 + t516 - t523 - 0.54878743191129263322e-1 * t527 * t531 - 0.27439371595564631661e-1 * t535 * t540 - 0.43341108700271342816e-1 * t549 * t562 - 0.13002332610081402845e0 * t566 * t568 - 0.43341108700271342816e-1 * t574 * t576 + 0.43341108700271342816e-1 * t776 * t279 - t782 + t791; + const double t795 = t496 + t499 * t792 / 0.4e1; + const double t797 = 0.1e1 / t287; + const double t799 = t97 * t106 * t795 * t797; + const double t800 = rho_a * rho_a; + const double t802 = 0.1e1 / t292 / t800; + const double t803 = tau_a * t802; + const double t806 = t415 / 0.2e1; + const double t807 = t298 * t806; + const double t810 = -t806; + const double t811 = t308 * t810; + const double t814 = t513 / 0.3e1; + const double t815 = -0.5e1 / 0.3e1 * t803 * t299 + 0.5e1 / 0.3e1 * t295 * t807 + 0.5e1 / 0.3e1 * t305 * t811 + t814; + const double t817 = t320 * t320; + const double t818 = 0.1e1 / t817; + const double t819 = t312 * t818; + const double t825 = t317 * t502 / 0.3e1; + const double t826 = 0.3e1 / 0.1e2 * t313 * ( 0.5e1 / 0.3e1 * t807 + 0.5e1 / 0.3e1 * t811 ) - t825; + const double t828 = t815 * t321 - t819 * t826; + const double t829 = piecewise_functor_3( t324, 0.0, t828 ); + const double t832 = t326 * t326; + const double t833 = 0.1e1 / t832; + const double t834 = t325 * t833; + const double t837 = -0.64e0 * t829 * t327 - 0.64e0 * t834 * t829; + const double t838 = t837 * t330; + const double t839 = piecewise_functor_3( t332, 0.0, t828 ); + const double t841 = t333 * t839; + const double t843 = t335 * t839; + const double t845 = t337 * t839; + const double t847 = t339 * t839; + const double t849 = t341 * t839; + const double t854 = t349 * t349; + const double t855 = 0.1e1 / t854; + const double t856 = piecewise_functor_3( t332, t828, 0.0 ); + const double t860 = piecewise_functor_5( t323, t838, t331, -0.64e0 * t839 - 0.8704e0 * t841 - 0.4607056813647e1 * t843 + 0.122462410087e2 * t845 - 0.957855118103e1 * t847 + 0.3101306810232e1 * t849 - 0.362942158544e0 * t343 * t839, -0.105e1 * t855 * t856 * t352 ); + const double t861 = t860 * t374; + const double t862 = t758 * t761; + const double t864 = t357 * t366; + const double t868 = 0.1e1 / t364 / t363; + const double t869 = t358 * t868; + const double t870 = t869 * t255; + const double t874 = -0.1e1 * t862 * t864 - 0.14225094736250905555e-1 * t870 * t550 * t513; + const double t875 = 0.1e1 / t368; + const double t878 = 0.285764e-1 * t862 + 0.285764e-1 * t874 * t875; + const double t879 = t878 * t158; + const double t880 = t879 * t166; + const double t881 = t371 * t58; + const double t885 = t880 - 0.2363e1 * t881 * t766 + t372 * t607 - t381 - t404 - t408 + t412 - t426 - t459 - t461 + t466 + t470 - t484 - t799; + const double t886 = t354 * t885; + const double t887 = t381 + t404 + t408 - t412 + t426 + t459 + t461 - t466 - t470 + t484 + t799 + t861 + t886; + const double t889 = -t42 - t414; + const double t892 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t889 ); + const double t893 = -t889; + const double t896 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t893 ); + const double t897 = t892 + t896; + const double t898 = t897 * t60; + const double t899 = t898 * t88; + const double t900 = t41 * t899; + const double t901 = t898 * t86; + const double t902 = 0.19751673498613801407e-1 * t901; + const double t903 = t472 * t889; + const double t905 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t903 ); + const double t906 = t476 * t893; + const double t908 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t906 ); + const double t910 = t905 / 0.2e1 + t908 / 0.2e1; + const double t912 = t97 * t471 * t910; + const double t913 = 0.3e1 * t912; + const double t915 = ( t381 + t404 - t408 - t412 + t900 + t459 + t902 - t466 - t470 ) * t108; + const double t917 = t490 * t910; + const double t920 = 0.3e1 * t109 * t917 - t915 * t111; + const double t921 = t920 * t113; + const double t923 = t506 * t910; + const double t924 = t529 * t923; + const double t927 = t538 * t921; + const double t928 = t529 * t927; + const double t933 = piecewise_functor_3( t45, 0.0, 0.5e1 / 0.3e1 * t99 * t889 ); + const double t936 = piecewise_functor_3( t52, 0.0, 0.5e1 / 0.3e1 * t101 * t893 ); + const double t938 = t933 / 0.2e1 + t936 / 0.2e1; + const double t939 = t552 * t938; + const double t940 = t551 * t939; + const double t943 = t552 * t910; + const double t944 = t551 * t943; + const double t948 = t551 * t552 * t921; + const double t951 = t595 * t897; + const double t955 = 0.12e2 * t602 + 0.12e2 * t605; + const double t956 = t955 * t170; + const double t959 = t898 * t229; + const double t963 = t898 * t76; + const double t966 = -t594 - 0.675260332e-1 * t951 * t598 + 0.285764e-1 * t159 * t956 + t619 - t624 + t629 + t635 - t647 - t656 + t658 + t660 - t41 * t959 - t727 - 0.21973736767207854065e-2 * t898 * t216 + t731 + 0.5848223622634646207e0 * t963 * t236 - t738 - t743 + t747 + t752; + const double t970 = t898 * t166; + const double t975 = t764 + 0.675260332e-1 * t765 * t970 - 0.285764e-1 * t246 * t955 - t381 - t404 + t408 + t412 - t900 - t459 - t902 + t466 + t470; + const double t978 = 0.5e1 * t5 * t11 * t966 - 0.45e2 * eta * t975 - t581; + const double t979 = t147 * t978; + const double t980 = t146 * t979; + const double t983 = -t509 + t516 - t523 - 0.54878743191129263322e-1 * t527 * t924 - 0.27439371595564631661e-1 * t535 * t928 - 0.43341108700271342816e-1 * t549 * t940 - 0.13002332610081402845e0 * t566 * t944 - 0.43341108700271342816e-1 * t574 * t948 + 0.43341108700271342816e-1 * t980 * t279 - t782 + t791; + const double t986 = t921 * t285 + t499 * t983 / 0.4e1; + const double t989 = t97 * t106 * t986 * t797; + const double t990 = t889 / 0.2e1; + const double t991 = t298 * t990; + const double t994 = rho_b * rho_b; + const double t996 = 0.1e1 / t302 / t994; + const double t997 = tau_b * t996; + const double t1000 = -t990; + const double t1001 = t308 * t1000; + const double t1004 = 0.5e1 / 0.3e1 * t295 * t991 - 0.5e1 / 0.3e1 * t997 * t309 + 0.5e1 / 0.3e1 * t305 * t1001 + t814; + const double t1010 = 0.3e1 / 0.1e2 * t313 * ( 0.5e1 / 0.3e1 * t991 + 0.5e1 / 0.3e1 * t1001 ) - t825; + const double t1012 = t1004 * t321 - t819 * t1010; + const double t1013 = piecewise_functor_3( t324, 0.0, t1012 ); + const double t1018 = -0.64e0 * t1013 * t327 - 0.64e0 * t834 * t1013; + const double t1019 = t1018 * t330; + const double t1020 = piecewise_functor_3( t332, 0.0, t1012 ); + const double t1022 = t333 * t1020; + const double t1024 = t335 * t1020; + const double t1026 = t337 * t1020; + const double t1028 = t339 * t1020; + const double t1030 = t341 * t1020; + const double t1035 = piecewise_functor_3( t332, t1012, 0.0 ); + const double t1039 = piecewise_functor_5( t323, t1019, t331, -0.64e0 * t1020 - 0.8704e0 * t1022 - 0.4607056813647e1 * t1024 + 0.122462410087e2 * t1026 - 0.957855118103e1 * t1028 + 0.3101306810232e1 * t1030 - 0.362942158544e0 * t343 * t1020, -0.105e1 * t855 * t1035 * t352 ); + const double t1040 = t1039 * t374; + const double t1044 = t880 - 0.2363e1 * t881 * t970 + t372 * t955 - t381 - t404 + t408 + t412 - t900 - t459 - t902 + t466 + t470 - t913 - t989; + const double t1045 = t354 * t1044; + const double t1046 = t381 + t404 - t408 - t412 + t900 + t459 + t902 - t466 - t470 + t913 + t989 + t1040 + t1045; + const double t1048 = t97 * t106; + const double t1050 = t528 * t134; + const double t1051 = t120 * t534 * t1050; + const double t1053 = t260 * t263; + const double t1054 = t1053 * t277; + const double t1055 = t259 * t1054; + const double t1056 = t254 * t1055; + const double t1058 = t252 * t269; + const double t1059 = 0.1e1 / t162; + const double t1060 = t1059 * t277; + const double t1062 = t783 * t1058 * t1060; + const double t1064 = 0.27439371595564631661e-1 * t1051 + 0.43341108700271342816e-1 * t1056 - 0.21831846657716620896e-2 * t1062; + const double t1065 = t1064 * t797; + const double t1066 = t499 * t1065; + const double t1068 = t1048 * t1066 / 0.4e1; + const double t1070 = eta * t263; + const double t1072 = -t819 * t1070 - t263 * t321; + const double t1073 = t1072 / 0.8e1; + const double t1074 = piecewise_functor_3( t324, 0.0, t1073 ); + const double t1079 = -0.64e0 * t1074 * t327 - 0.64e0 * t834 * t1074; + const double t1080 = t1079 * t330; + const double t1081 = piecewise_functor_3( t332, 0.0, t1073 ); + const double t1083 = t333 * t1081; + const double t1085 = t335 * t1081; + const double t1087 = t337 * t1081; + const double t1089 = t339 * t1081; + const double t1091 = t341 * t1081; + const double t1096 = piecewise_functor_3( t332, t1073, 0.0 ); + const double t1100 = piecewise_functor_5( t323, t1080, t331, -0.64e0 * t1081 - 0.8704e0 * t1083 - 0.4607056813647e1 * t1085 + 0.122462410087e2 * t1087 - 0.957855118103e1 * t1089 + 0.3101306810232e1 * t1091 - 0.362942158544e0 * t343 * t1081, -0.105e1 * t855 * t1096 * t352 ); + const double t1101 = t1100 * t374; + const double t1102 = t869 * t259; + const double t1103 = t875 * t158; + const double t1104 = t1103 * t166; + const double t1106 = t1102 * t1053 * t1104; + const double t1108 = 0.15243824895787514157e-3 * t1106 - t1068; + const double t1109 = t354 * t1108; + const double t1114 = 0.54878743191129263322e-1 * t1051 + 0.86682217400542685632e-1 * t1056 - 0.43663693315433241794e-2 * t1062; + const double t1115 = t1114 * t797; + const double t1116 = t499 * t1115; + const double t1118 = t1048 * t1116 / 0.4e1; + const double t1119 = t1072 / 0.4e1; + const double t1120 = piecewise_functor_3( t324, 0.0, t1119 ); + const double t1125 = -0.64e0 * t1120 * t327 - 0.64e0 * t834 * t1120; + const double t1126 = t1125 * t330; + const double t1127 = piecewise_functor_3( t332, 0.0, t1119 ); + const double t1129 = t333 * t1127; + const double t1131 = t335 * t1127; + const double t1133 = t337 * t1127; + const double t1135 = t339 * t1127; + const double t1137 = t341 * t1127; + const double t1142 = piecewise_functor_3( t332, t1119, 0.0 ); + const double t1146 = piecewise_functor_5( t323, t1126, t331, -0.64e0 * t1127 - 0.8704e0 * t1129 - 0.4607056813647e1 * t1131 + 0.122462410087e2 * t1133 - 0.957855118103e1 * t1135 + 0.3101306810232e1 * t1137 - 0.362942158544e0 * t343 * t1127, -0.105e1 * t855 * t1142 * t352 ); + const double t1147 = t1146 * t374; + const double t1149 = 0.30487649791575028312e-3 * t1106 - t1118; + const double t1150 = t354 * t1149; + const double t1152 = t294 * t299; + const double t1153 = t1152 * t321; + const double t1154 = piecewise_functor_3( t324, 0.0, t1153 ); + const double t1159 = -0.64e0 * t1154 * t327 - 0.64e0 * t834 * t1154; + const double t1160 = t1159 * t330; + const double t1161 = piecewise_functor_3( t332, 0.0, t1153 ); + const double t1163 = t333 * t1161; + const double t1165 = t335 * t1161; + const double t1167 = t337 * t1161; + const double t1169 = t339 * t1161; + const double t1171 = t341 * t1161; + const double t1176 = piecewise_functor_3( t332, t1153, 0.0 ); + const double t1180 = piecewise_functor_5( t323, t1160, t331, -0.64e0 * t1161 - 0.8704e0 * t1163 - 0.4607056813647e1 * t1165 + 0.122462410087e2 * t1167 - 0.957855118103e1 * t1169 + 0.3101306810232e1 * t1171 - 0.362942158544e0 * t343 * t1161, -0.105e1 * t855 * t1176 * t352 ); + const double t1181 = t8 * t1180; + const double t1182 = t304 * t309; + const double t1183 = t1182 * t321; + const double t1184 = piecewise_functor_3( t324, 0.0, t1183 ); + const double t1189 = -0.64e0 * t1184 * t327 - 0.64e0 * t834 * t1184; + const double t1190 = t1189 * t330; + const double t1191 = piecewise_functor_3( t332, 0.0, t1183 ); + const double t1193 = t333 * t1191; + const double t1195 = t335 * t1191; + const double t1197 = t337 * t1191; + const double t1199 = t339 * t1191; + const double t1201 = t341 * t1191; + const double t1206 = piecewise_functor_3( t332, t1183, 0.0 ); + const double t1210 = piecewise_functor_5( t323, t1190, t331, -0.64e0 * t1191 - 0.8704e0 * t1193 - 0.4607056813647e1 * t1195 + 0.122462410087e2 * t1197 - 0.957855118103e1 * t1199 + 0.3101306810232e1 * t1201 - 0.362942158544e0 * t343 * t1191, -0.105e1 * t855 * t1206 * t352 ); + const double t1211 = t8 * t1210; + + + eps = -t34 + t90 + t92 + t290 + t375; + vrho_a = t8 * t887 + t290 - t34 + t375 + t90 + t92; + vrho_b = t8 * t1046 + t290 - t34 + t375 + t90 + t92; + vsigma_aa = t8 * ( t1068 + t1101 + t1109 ); + vsigma_ab = t8 * ( t1118 + t1147 + t1150 ); + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t1181 * t374; + vtau_b = t1211 * t374; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t255 = constants::m_cbrt_6; + constexpr double t256 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t130 = 0.1e1 / t4; + constexpr double t257 = t256 * t256; + constexpr double t258 = 0.1e1 / t257; + constexpr double t259 = t255 * t258; + constexpr double t260 = t57 * t57; + constexpr double t261 = t259 * t260; + constexpr double t265 = t255 * t255; + constexpr double t267 = 0.1e1 / t256 / t95; + constexpr double t268 = t265 * t267; + constexpr double t313 = t265 * t257; + constexpr double t386 = t4 * t7; + constexpr double t528 = t20 * t130; + constexpr double t529 = t528 * t6; + constexpr double t550 = t258 * t260; + constexpr double t625 = t5 * t7; + constexpr double t1362 = t21 * t6; + constexpr double t1570 = t130 * t6; + constexpr double t1685 = t267 * t57; + constexpr double t3433 = t268 * t57; + constexpr double t4081 = eta * eta; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t11 = t7 / t9; + const double t12 = t5 * t11; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t17 = 0.8969e0 * t12; + const double t18 = pow_3_2( t12 ); + const double t19 = 0.204775e0 * t18; + const double t23 = t9 * t9; + const double t26 = t22 * t6 / t23; + const double t27 = 0.123235e0 * t26; + const double t28 = 0.379785e1 * t15 + t17 + t19 + t27; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t65 = 0.1549425e1 * t12; + const double t66 = 0.420775e0 * t18; + const double t67 = 0.1562925e0 * t26; + const double t68 = 0.705945e1 * t15 + t65 + t66 + t67; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t78 = 0.905775e0 * t12; + const double t79 = 0.1100325e0 * t18; + const double t80 = 0.1241775e0 * t26; + const double t81 = 0.51785e1 * t15 + t78 + t79 + t80; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 / t94; + const double t109 = ( -t34 + t90 + t92 ) * t108; + const double t110 = 0.1e1 / t106; + const double t111 = t95 * t110; + const double t113 = safe_math::exp( -t109 * t111 ); + const double t114 = t113 - 0.1e1; + const double t116 = 0.1e1 + 0.25e-1 * t12; + const double t118 = 0.1e1 + 0.4445e-1 * t12; + const double t119 = 0.1e1 / t118; + const double t120 = t116 * t119; + const double t122 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t124 = 0.1e1 / t9 / t38; + const double t125 = t122 * t124; + const double t128 = 0.1e1 / t105; + const double t129 = t128 * t20; + const double t132 = t6 * t108; + const double t133 = 0.1e1 / t114; + const double t134 = t132 * t133; + const double t135 = t129 * t130 * t134; + const double t138 = t98 * zeta_tol; + const double t139 = t99 * t44; + const double t140 = piecewise_functor_3( t45, t138, t139 ); + const double t141 = t101 * t51; + const double t142 = piecewise_functor_3( t52, t138, t141 ); + const double t144 = t140 / 0.2e1 + t142 / 0.2e1; + const double t146 = t108 / t144; + const double t147 = t110 * t133; + const double t148 = safe_math::sqrt( 0.4e1 ); + const double t149 = t148 * t15; + const double t151 = 0.3138525e-1 * t12; + const double t152 = 0.1e1 + 0.22225e-1 * t149 + t151; + const double t153 = t152 * t152; + const double t154 = 0.1e1 / t153; + const double t158 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t159 = t154 * t158; + const double t160 = t37 * t37; + const double t161 = t160 * t37; + const double t162 = t39 * t39; + const double t163 = t162 * t39; + const double t164 = 0.1e1 / t163; + const double t166 = -t161 * t164 + 0.1e1; + const double t167 = 0.1e1 / t15; + const double t168 = t148 * t167; + const double t170 = 0.4445e-1 * t168 + 0.125541e0; + const double t171 = t166 * t170; + const double t175 = 0.1898925e1 * t149 + t17 + t19 + t27; + const double t178 = 0.1e1 + 0.16081979498692535067e2 / t175; + const double t179 = safe_math::log( t178 ); + const double t180 = 0.1328816518e-1 * t179; + const double t181 = t175 * t175; + const double t182 = 0.1e1 / t181; + const double t183 = t14 * t182; + const double t185 = safe_math::sqrt( t12 ); + const double t188 = 0.379785e1 * t168 + 0.35876e1 + 0.122865e1 * t185 + 0.24647e0 * t12; + const double t189 = 0.1e1 / t178; + const double t190 = t188 * t189; + const double t192 = 0.1e1 * t183 * t190; + const double t194 = 0.3529725e1 * t149 + t65 + t66 + t67; + const double t197 = 0.1e1 + 0.32163958997385070134e2 / t194; + const double t198 = safe_math::log( t197 ); + const double t200 = t194 * t194; + const double t201 = 0.1e1 / t200; + const double t202 = t63 * t201; + const double t206 = 0.705945e1 * t168 + 0.61977e1 + 0.252465e1 * t185 + 0.312585e0 * t12; + const double t207 = 0.1e1 / t197; + const double t208 = t206 * t207; + const double t212 = 0.258925e1 * t149 + t78 + t79 + t80; + const double t215 = 0.1e1 + 0.29608749977793437516e2 / t212; + const double t216 = safe_math::log( t215 ); + const double t218 = t212 * t212; + const double t219 = 0.1e1 / t218; + const double t220 = t76 * t219; + const double t224 = 0.51785e1 * t168 + 0.36231e1 + 0.660195e0 * t185 + 0.248355e0 * t12; + const double t225 = 0.1e1 / t215; + const double t226 = t224 * t225; + const double t229 = -0.6388517036e-2 * t198 + 0.1e1 * t202 * t208 + t180 - t192 - 0.21973736767207854065e-2 * t216 + 0.5848223622634646207e0 * t220 * t226; + const double t230 = t61 * t229; + const double t234 = t61 * t76; + const double t236 = t219 * t224 * t225; + const double t239 = 0.285764e-1 * t159 * t171 + t180 - t192 - t41 * t230 - 0.21973736767207854065e-2 * t61 * t216 + 0.5848223622634646207e0 * t234 * t236; + const double t244 = 0.1e1 + 0.4445e-1 * t15 + t151; + const double t245 = 0.1e1 / t244; + const double t246 = t245 * t158; + const double t252 = 0.5e1 * t5 * t11 * t239 - 0.45e2 * eta * ( -0.285764e-1 * t246 * t166 + t34 - t90 - t92 ); + const double t253 = t147 * t252; + const double t254 = t146 * t253; + const double t263 = 0.1e1 / t23 / t38; + const double t264 = t122 * t263; + const double t269 = t122 * t122; + const double t270 = t57 * t269; + const double t271 = t39 * t8; + const double t273 = 0.1e1 / t9 / t271; + const double t277 = safe_math::exp( -0.20444604078896369094e0 * t268 * t270 * t273 ); + const double t279 = t261 * t264 * t277; + const double t282 = 0.1e1 + 0.27439371595564631661e-1 * t120 * t125 * t57 * t135 + 0.43341108700271342816e-1 * t254 * t279; + const double t283 = pow_1_4( t282 ); + const double t285 = 0.1e1 - 0.1e1 / t283; + const double t287 = t114 * t285 + 0.1e1; + const double t288 = safe_math::log( t287 ); + const double t290 = t97 * t106 * t288; + const double t291 = safe_math::cbrt( rho_a ); + const double t292 = t291 * t291; + const double t294 = 0.1e1 / t292 / rho_a; + const double t295 = tau_a * t294; + const double t296 = t44 / 0.2e1; + const double t297 = safe_math::cbrt( t296 ); + const double t298 = t297 * t297; + const double t299 = t298 * t296; + const double t301 = safe_math::cbrt( rho_b ); + const double t302 = t301 * t301; + const double t304 = 0.1e1 / t302 / rho_b; + const double t305 = tau_b * t304; + const double t306 = t51 / 0.2e1; + const double t307 = safe_math::cbrt( t306 ); + const double t308 = t307 * t307; + const double t309 = t308 * t306; + const double t312 = t295 * t299 + t305 * t309 - t264 / 0.8e1; + const double t317 = eta * t122; + const double t320 = 0.3e1 / 0.1e2 * t313 * ( t299 + t309 ) + t317 * t263 / 0.8e1; + const double t321 = 0.1e1 / t320; + const double t322 = t312 * t321; + const double t323 = t322 <= 0.e0; + const double t324 = 0.e0 < t322; + const double t325 = piecewise_functor_3( t324, 0.0, t322 ); + const double t326 = 0.1e1 - t325; + const double t327 = 0.1e1 / t326; + const double t330 = safe_math::exp( -0.64e0 * t325 * t327 ); + const double t331 = t322 <= 0.25e1; + const double t332 = 0.25e1 < t322; + const double t333 = piecewise_functor_3( t332, 2.5, t322 ); + const double t335 = t333 * t333; + const double t337 = t335 * t333; + const double t339 = t335 * t335; + const double t341 = t339 * t333; + const double t343 = t339 * t335; + const double t348 = piecewise_functor_3( t332, t322, 2.5 ); + const double t349 = 0.1e1 - t348; + const double t352 = safe_math::exp( 0.15e1 / t349 ); + const double t354 = piecewise_functor_5( t323, t330, t331, 0.1e1 - 0.64e0 * t333 - 0.4352e0 * t335 - 0.1535685604549e1 * t337 + 0.3061560252175e1 * t339 - 0.1915710236206e1 * t341 + 0.516884468372e0 * t343 - 0.51848879792e-1 * t339 * t337, -0.7e0 * t352 ); + const double t357 = safe_math::exp( 0.1e1 * t245 ); + const double t358 = t357 - 0.1e1; + const double t359 = t260 * t122; const double t360 = t359 * t263; const double t363 = 0.1e1 + 0.21337642104376358333e-1 * t259 * t360; const double t364 = pow_1_4( t363 ); @@ -855,19 +3713,2180 @@ struct kernel_traits< BuiltinR2SCAN_C > : const double t371 = -0.285764e-1 * t245 + 0.285764e-1 * t369; const double t372 = t371 * t158; const double t374 = t372 * t166 - t290 + t34 - t90 - t92; - const double t375 = t354 * t374; + const double t377 = 0.1e1 / t9 / t8; + const double t378 = t7 * t377; + const double t380 = t5 * t378 * t32; + const double t381 = 0.11073470983333333333e-2 * t380; + const double t382 = t28 * t28; + const double t383 = 0.1e1 / t382; + const double t384 = t14 * t383; + const double t385 = t167 * t2; + const double t387 = t386 * t377; + const double t388 = t385 * t387; + const double t390 = t5 * t378; + const double t391 = 0.29896666666666666667e0 * t390; + const double t392 = t185 * t2; + const double t393 = t392 * t387; + const double t394 = 0.1023875e0 * t393; + const double t398 = t22 * t6 / t23 / t8; + const double t399 = 0.82156666666666666667e-1 * t398; + const double t400 = -0.632975e0 * t388 - t391 - t394 - t399; + const double t401 = 0.1e1 / t31; + const double t402 = t400 * t401; + const double t403 = t384 * t402; + const double t404 = 0.1e1 * t403; + const double t405 = t36 * t35; + const double t406 = t405 * t40; + const double t407 = t406 * t89; + const double t408 = 0.4e1 * t407; + const double t409 = 0.1e1 / t271; + const double t410 = t37 * t409; + const double t411 = t410 * t89; + const double t412 = 0.4e1 * t411; + const double t413 = 0.1e1 / t38; + const double t414 = t35 * t413; + const double t415 = t42 - t414; + const double t418 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t415 ); + const double t419 = -t415; + const double t422 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t419 ); + const double t423 = t418 + t422; + const double t424 = t423 * t60; + const double t425 = t424 * t88; + const double t426 = t41 * t425; + const double t430 = t68 * t68; + const double t431 = 0.1e1 / t430; + const double t432 = t63 * t431; + const double t434 = 0.516475e0 * t390; + const double t435 = 0.2103875e0 * t393; + const double t436 = 0.104195e0 * t398; + const double t437 = -0.1176575e1 * t388 - t434 - t435 - t436; + const double t438 = 0.1e1 / t71; + const double t439 = t437 * t438; + const double t445 = t81 * t81; + const double t446 = 0.1e1 / t445; + const double t447 = t76 * t446; + const double t449 = 0.301925e0 * t390; + const double t450 = 0.5501625e-1 * t393; + const double t451 = 0.82785e-1 * t398; + const double t452 = -0.86308333333333333334e0 * t388 - t449 - t450 - t451; + const double t453 = 0.1e1 / t84; + const double t454 = t452 * t453; + const double t457 = 0.53237641966666666666e-3 * t5 * t378 * t72 + 0.1e1 * t432 * t439 - t381 - t404 + 0.18311447306006545054e-3 * t5 * t378 * t85 + 0.5848223622634646207e0 * t447 * t454; + const double t458 = t61 * t457; + const double t459 = t41 * t458; + const double t460 = t424 * t86; + const double t461 = 0.19751673498613801407e-1 * t460; + const double t462 = t61 * t2; + const double t464 = t386 * t377 * t85; + const double t465 = t462 * t464; + const double t466 = 0.18311447306006545054e-3 * t465; + const double t468 = t446 * t452 * t453; + const double t469 = t234 * t468; + const double t470 = 0.5848223622634646207e0 * t469; + const double t471 = t105 * t288; + const double t472 = 0.1e1 / t48; + const double t473 = t472 * t415; + const double t475 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t473 ); + const double t476 = 0.1e1 / t53; + const double t477 = t476 * t419; + const double t479 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t477 ); + const double t481 = t475 / 0.2e1 + t479 / 0.2e1; + const double t483 = t97 * t471 * t481; + const double t484 = 0.3e1 * t483; + const double t486 = ( t381 + t404 + t408 - t412 + t426 + t459 + t461 - t466 - t470 ) * t108; + const double t488 = t105 * t105; + const double t489 = 0.1e1 / t488; + const double t490 = t95 * t489; + const double t491 = t490 * t481; + const double t494 = 0.3e1 * t109 * t491 - t486 * t111; + const double t495 = t494 * t113; + const double t496 = t495 * t285; + const double t498 = 0.1e1 / t283 / t282; + const double t499 = t114 * t498; + const double t500 = t38 * t8; + const double t502 = 0.1e1 / t23 / t500; + const double t503 = t502 * t119; + const double t505 = t57 * t128; + const double t506 = t108 * t133; + const double t507 = t505 * t506; + const double t509 = 0.27439371595564631661e-2 * t503 * t122 * t507; + const double t510 = t118 * t118; + const double t511 = 0.1e1 / t510; + const double t512 = t116 * t511; + const double t513 = t122 * t502; + const double t514 = t512 * t513; + const double t516 = 0.48787202696913915093e-2 * t514 * t507; + const double t518 = 0.1e1 / t9 / t500; + const double t523 = 0.64025200389650807209e-1 * t120 * t122 * t518 * t57 * t135; + const double t524 = t120 * t122; + const double t525 = t124 * t57; + const double t526 = t525 * t110; + const double t527 = t524 * t526; + const double t530 = t506 * t481; + const double t531 = t529 * t530; + const double t534 = t525 * t128; + const double t535 = t524 * t534; + const double t536 = t114 * t114; + const double t537 = 0.1e1 / t536; + const double t538 = t108 * t537; + const double t539 = t538 * t495; + const double t540 = t529 * t539; + const double t543 = t144 * t144; + const double t545 = t108 / t543; + const double t546 = t545 * t110; + const double t547 = t133 * t252; + const double t548 = t547 * t255; + const double t549 = t546 * t548; + const double t551 = t550 * t122; + const double t552 = t263 * t277; + const double t555 = piecewise_functor_3( t45, 0.0, 0.5e1 / 0.3e1 * t99 * t415 ); + const double t558 = piecewise_functor_3( t52, 0.0, 0.5e1 / 0.3e1 * t101 * t419 ); + const double t560 = t555 / 0.2e1 + t558 / 0.2e1; + const double t561 = t552 * t560; + const double t562 = t551 * t561; + const double t565 = t146 * t489; + const double t566 = t565 * t548; + const double t567 = t552 * t481; + const double t568 = t551 * t567; + const double t571 = t146 * t110; + const double t572 = t537 * t252; + const double t573 = t572 * t255; + const double t574 = t571 * t573; + const double t576 = t551 * t552 * t495; + const double t581 = 0.5e1 / 0.3e1 * t5 * t378 * t239; + const double t583 = 0.1e1 / t153 / t152; + const double t584 = t583 * t158; + const double t585 = safe_math::pow( 0.4e1, 0.1e1 / 0.6e1 ); + const double t586 = t585 * t167; + const double t587 = t5 * t377; + const double t588 = t586 * t587; + const double t590 = 0.1046175e-1 * t390; + const double t591 = -0.14816666666666666667e-1 * t588 - t590; + const double t594 = 0.571528e-1 * t584 * t171 * t591; + const double t595 = t154 * t58; + const double t596 = t595 * t423; + const double t597 = t60 * t166; + const double t598 = t597 * t170; + const double t601 = t160 * t405; + const double t602 = t601 * t164; + const double t603 = t162 * t271; + const double t604 = 0.1e1 / t603; + const double t605 = t161 * t604; + const double t607 = -0.12e2 * t602 + 0.12e2 * t605; + const double t608 = t607 * t170; + const double t611 = t166 * t585; + const double t612 = t159 * t611; + const double t614 = 0.1e1 / t15 / t12; + const double t615 = t614 * t2; + const double t616 = t4 * t377; + const double t617 = t615 * t616; + const double t619 = 0.84681398666666666666e-3 * t612 * t617; + const double t621 = -0.126595e1 * t588 - t391 - t394 - t399; + const double t624 = 0.2137e0 * t182 * t621 * t189; + const double t626 = t377 * t182; + const double t629 = 0.17808333333333333333e-1 * t625 * t626 * t190; + const double t630 = t181 * t175; + const double t631 = 0.1e1 / t630; + const double t632 = t14 * t631; + const double t635 = 0.2e1 * t632 * t190 * t621; + const double t636 = t585 * t614; + const double t637 = t636 * t587; + const double t639 = 0.1e1/safe_math::sqrt( t12 ); + const double t640 = t639 * t2; + const double t641 = t640 * t387; + const double t644 = 0.25319e1 * t637 - 0.204775e0 * t641 - 0.82156666666666666667e-1 * t390; + const double t645 = t644 * t189; + const double t647 = 0.1e1 * t183 * t645; + const double t648 = t181 * t181; + const double t649 = 0.1e1 / t648; + const double t650 = t14 * t649; + const double t651 = t178 * t178; + const double t652 = 0.1e1 / t651; + const double t653 = t188 * t652; + const double t656 = 0.16081979498692535067e2 * t650 * t653 * t621; + const double t658 = 0.4e1 * t406 * t230; + const double t660 = 0.4e1 * t410 * t230; + const double t661 = t424 * t229; + const double t664 = -0.235315e1 * t588 - t434 - t435 - t436; + const double t668 = t377 * t201; + const double t672 = t200 * t194; + const double t673 = 0.1e1 / t672; + const double t674 = t63 * t673; + const double t681 = 0.47063e1 * t637 - 0.42077500000000000001e0 * t641 - 0.104195e0 * t390; + const double t682 = t681 * t207; + const double t685 = t200 * t200; + const double t686 = 0.1e1 / t685; + const double t687 = t63 * t686; + const double t688 = t197 * t197; + const double t689 = 0.1e1 / t688; + const double t690 = t206 * t689; + const double t695 = -0.17261666666666666667e1 * t588 - t449 - t450 - t451; + const double t697 = t219 * t695 * t225; + const double t699 = t377 * t219; + const double t703 = t218 * t212; + const double t704 = 0.1e1 / t703; + const double t705 = t76 * t704; + const double t706 = t226 * t695; + const double t712 = 0.34523333333333333333e1 * t637 - 0.1100325e0 * t641 - 0.82785e-1 * t390; + const double t713 = t712 * t225; + const double t716 = t218 * t218; + const double t717 = 0.1e1 / t716; + const double t718 = t76 * t717; + const double t719 = t215 * t215; + const double t720 = 0.1e1 / t719; + const double t721 = t224 * t720; + const double t722 = t721 * t695; + const double t725 = 0.20548e0 * t201 * t664 * t207 - 0.17123333333333333333e-1 * t625 * t668 * t208 - 0.2e1 * t674 * t208 * t664 + 0.1e1 * t202 * t682 + 0.32163958997385070134e2 * t687 * t690 * t664 - t624 + t629 + t635 - t647 - t656 + 0.65061487801810439052e-1 * t697 - 0.54217906501508699211e-2 * t625 * t699 * t226 - 0.11696447245269292414e1 * t705 * t706 + 0.5848223622634646207e0 * t220 * t713 + 0.17315859105681463759e2 * t718 * t722; + const double t726 = t61 * t725; + const double t727 = t41 * t726; + const double t731 = 0.65061487801810439052e-1 * t61 * t697; + const double t732 = t424 * t76; + const double t735 = t61 * t5; + const double t736 = t378 * t236; + const double t738 = 0.54217906501508699211e-2 * t735 * t736; + const double t739 = t704 * t224; + const double t740 = t225 * t695; + const double t741 = t739 * t740; + const double t743 = 0.11696447245269292414e1 * t234 * t741; + const double t745 = t219 * t712 * t225; + const double t747 = 0.5848223622634646207e0 * t234 * t745; + const double t748 = t717 * t224; + const double t749 = t720 * t695; + const double t750 = t748 * t749; + const double t752 = 0.17315859105681463759e2 * t234 * t750; + const double t753 = -t594 - 0.675260332e-1 * t596 * t598 + 0.285764e-1 * t159 * t608 + t619 - t624 + t629 + t635 - t647 - t656 - t658 + t660 - t41 * t661 - t727 - 0.21973736767207854065e-2 * t424 * t216 + t731 + 0.5848223622634646207e0 * t732 * t236 - t738 - t743 + t747 + t752; + const double t757 = t244 * t244; + const double t758 = 0.1e1 / t757; + const double t759 = t758 * t158; + const double t761 = -0.74083333333333333333e-2 * t388 - t590; + const double t764 = 0.285764e-1 * t759 * t166 * t761; + const double t765 = t245 * t58; + const double t766 = t424 * t166; + const double t771 = t764 + 0.675260332e-1 * t765 * t766 - 0.285764e-1 * t246 * t607 - t381 - t404 - t408 + t412 - t426 - t459 - t461 + t466 + t470; + const double t774 = 0.5e1 * t5 * t11 * t753 - 0.45e2 * eta * t771 - t581; + const double t775 = t147 * t774; + const double t776 = t146 * t775; + const double t780 = t261 * t513 * t277; + const double t782 = 0.11557628986739024751e0 * t254 * t780; + const double t783 = t146 * t147; + const double t784 = t269 * t122; + const double t785 = t252 * t784; + const double t786 = t162 * t8; + const double t787 = 0.1e1 / t786; + const double t788 = t787 * t277; + const double t791 = 0.58218257753910989057e-2 * t783 * t785 * t788; + const double t792 = -t509 + t516 - t523 - 0.54878743191129263322e-1 * t527 * t531 - 0.27439371595564631661e-1 * t535 * t540 - 0.43341108700271342816e-1 * t549 * t562 - 0.13002332610081402845e0 * t566 * t568 - 0.43341108700271342816e-1 * t574 * t576 + 0.43341108700271342816e-1 * t776 * t279 - t782 + t791; + const double t795 = t496 + t499 * t792 / 0.4e1; + const double t797 = 0.1e1 / t287; + const double t799 = t97 * t106 * t795 * t797; + const double t800 = rho_a * rho_a; + const double t802 = 0.1e1 / t292 / t800; + const double t803 = tau_a * t802; + const double t806 = t415 / 0.2e1; + const double t807 = t298 * t806; + const double t810 = -t806; + const double t811 = t308 * t810; + const double t814 = t513 / 0.3e1; + const double t815 = -0.5e1 / 0.3e1 * t803 * t299 + 0.5e1 / 0.3e1 * t295 * t807 + 0.5e1 / 0.3e1 * t305 * t811 + t814; + const double t817 = t320 * t320; + const double t818 = 0.1e1 / t817; + const double t819 = t312 * t818; + const double t825 = t317 * t502 / 0.3e1; + const double t826 = 0.3e1 / 0.1e2 * t313 * ( 0.5e1 / 0.3e1 * t807 + 0.5e1 / 0.3e1 * t811 ) - t825; + const double t828 = t815 * t321 - t819 * t826; + const double t829 = piecewise_functor_3( t324, 0.0, t828 ); + const double t832 = t326 * t326; + const double t833 = 0.1e1 / t832; + const double t834 = t325 * t833; + const double t837 = -0.64e0 * t829 * t327 - 0.64e0 * t834 * t829; + const double t838 = t837 * t330; + const double t839 = piecewise_functor_3( t332, 0.0, t828 ); + const double t841 = t333 * t839; + const double t843 = t335 * t839; + const double t845 = t337 * t839; + const double t847 = t339 * t839; + const double t849 = t341 * t839; + const double t854 = t349 * t349; + const double t855 = 0.1e1 / t854; + const double t856 = piecewise_functor_3( t332, t828, 0.0 ); + const double t860 = piecewise_functor_5( t323, t838, t331, -0.64e0 * t839 - 0.8704e0 * t841 - 0.4607056813647e1 * t843 + 0.122462410087e2 * t845 - 0.957855118103e1 * t847 + 0.3101306810232e1 * t849 - 0.362942158544e0 * t343 * t839, -0.105e1 * t855 * t856 * t352 ); + const double t861 = t860 * t374; + const double t862 = t758 * t761; + const double t864 = t357 * t366; + const double t868 = 0.1e1 / t364 / t363; + const double t869 = t358 * t868; + const double t870 = t869 * t255; + const double t874 = -0.1e1 * t862 * t864 - 0.14225094736250905555e-1 * t870 * t550 * t513; + const double t875 = 0.1e1 / t368; + const double t878 = 0.285764e-1 * t862 + 0.285764e-1 * t874 * t875; + const double t879 = t878 * t158; + const double t880 = t879 * t166; + const double t881 = t371 * t58; + const double t885 = t880 - 0.2363e1 * t881 * t766 + t372 * t607 - t381 - t404 - t408 + t412 - t426 - t459 - t461 + t466 + t470 - t484 - t799; + const double t886 = t354 * t885; + const double t889 = -t42 - t414; + const double t892 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t889 ); + const double t893 = -t889; + const double t896 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t893 ); + const double t897 = t892 + t896; + const double t898 = t897 * t60; + const double t899 = t898 * t88; + const double t900 = t41 * t899; + const double t901 = t898 * t86; + const double t902 = 0.19751673498613801407e-1 * t901; + const double t903 = t472 * t889; + const double t905 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t903 ); + const double t906 = t476 * t893; + const double t908 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t906 ); + const double t910 = t905 / 0.2e1 + t908 / 0.2e1; + const double t912 = t97 * t471 * t910; + const double t913 = 0.3e1 * t912; + const double t915 = ( t381 + t404 - t408 - t412 + t900 + t459 + t902 - t466 - t470 ) * t108; + const double t917 = t490 * t910; + const double t920 = 0.3e1 * t109 * t917 - t915 * t111; + const double t921 = t920 * t113; + const double t923 = t506 * t910; + const double t924 = t529 * t923; + const double t927 = t538 * t921; + const double t928 = t529 * t927; + const double t933 = piecewise_functor_3( t45, 0.0, 0.5e1 / 0.3e1 * t99 * t889 ); + const double t936 = piecewise_functor_3( t52, 0.0, 0.5e1 / 0.3e1 * t101 * t893 ); + const double t938 = t933 / 0.2e1 + t936 / 0.2e1; + const double t939 = t552 * t938; + const double t940 = t551 * t939; + const double t943 = t552 * t910; + const double t944 = t551 * t943; + const double t948 = t551 * t552 * t921; + const double t951 = t595 * t897; + const double t955 = 0.12e2 * t602 + 0.12e2 * t605; + const double t956 = t955 * t170; + const double t959 = t898 * t229; + const double t963 = t898 * t76; + const double t966 = -t594 - 0.675260332e-1 * t951 * t598 + 0.285764e-1 * t159 * t956 + t619 - t624 + t629 + t635 - t647 - t656 + t658 + t660 - t41 * t959 - t727 - 0.21973736767207854065e-2 * t898 * t216 + t731 + 0.5848223622634646207e0 * t963 * t236 - t738 - t743 + t747 + t752; + const double t970 = t898 * t166; + const double t975 = t764 + 0.675260332e-1 * t765 * t970 - 0.285764e-1 * t246 * t955 - t381 - t404 + t408 + t412 - t900 - t459 - t902 + t466 + t470; + const double t978 = 0.5e1 * t5 * t11 * t966 - 0.45e2 * eta * t975 - t581; + const double t979 = t147 * t978; + const double t980 = t146 * t979; + const double t983 = -t509 + t516 - t523 - 0.54878743191129263322e-1 * t527 * t924 - 0.27439371595564631661e-1 * t535 * t928 - 0.43341108700271342816e-1 * t549 * t940 - 0.13002332610081402845e0 * t566 * t944 - 0.43341108700271342816e-1 * t574 * t948 + 0.43341108700271342816e-1 * t980 * t279 - t782 + t791; + const double t986 = t921 * t285 + t499 * t983 / 0.4e1; + const double t989 = t97 * t106 * t986 * t797; + const double t990 = t889 / 0.2e1; + const double t991 = t298 * t990; + const double t994 = rho_b * rho_b; + const double t996 = 0.1e1 / t302 / t994; + const double t997 = tau_b * t996; + const double t1000 = -t990; + const double t1001 = t308 * t1000; + const double t1004 = 0.5e1 / 0.3e1 * t295 * t991 - 0.5e1 / 0.3e1 * t997 * t309 + 0.5e1 / 0.3e1 * t305 * t1001 + t814; + const double t1010 = 0.3e1 / 0.1e2 * t313 * ( 0.5e1 / 0.3e1 * t991 + 0.5e1 / 0.3e1 * t1001 ) - t825; + const double t1012 = t1004 * t321 - t819 * t1010; + const double t1013 = piecewise_functor_3( t324, 0.0, t1012 ); + const double t1018 = -0.64e0 * t1013 * t327 - 0.64e0 * t834 * t1013; + const double t1019 = t1018 * t330; + const double t1020 = piecewise_functor_3( t332, 0.0, t1012 ); + const double t1022 = t333 * t1020; + const double t1024 = t335 * t1020; + const double t1026 = t337 * t1020; + const double t1028 = t339 * t1020; + const double t1030 = t341 * t1020; + const double t1035 = piecewise_functor_3( t332, t1012, 0.0 ); + const double t1039 = piecewise_functor_5( t323, t1019, t331, -0.64e0 * t1020 - 0.8704e0 * t1022 - 0.4607056813647e1 * t1024 + 0.122462410087e2 * t1026 - 0.957855118103e1 * t1028 + 0.3101306810232e1 * t1030 - 0.362942158544e0 * t343 * t1020, -0.105e1 * t855 * t1035 * t352 ); + const double t1040 = t1039 * t374; + const double t1044 = t880 - 0.2363e1 * t881 * t970 + t372 * t955 - t381 - t404 + t408 + t412 - t900 - t459 - t902 + t466 + t470 - t913 - t989; + const double t1045 = t354 * t1044; + const double t1048 = t97 * t106; + const double t1050 = t528 * t134; + const double t1051 = t120 * t534 * t1050; + const double t1053 = t260 * t263; + const double t1054 = t1053 * t277; + const double t1055 = t259 * t1054; + const double t1056 = t254 * t1055; + const double t1058 = t252 * t269; + const double t1059 = 0.1e1 / t162; + const double t1060 = t1059 * t277; + const double t1062 = t783 * t1058 * t1060; + const double t1064 = 0.27439371595564631661e-1 * t1051 + 0.43341108700271342816e-1 * t1056 - 0.21831846657716620896e-2 * t1062; + const double t1065 = t1064 * t797; + const double t1066 = t499 * t1065; + const double t1068 = t1048 * t1066 / 0.4e1; + const double t1070 = eta * t263; + const double t1072 = -t819 * t1070 - t263 * t321; + const double t1073 = t1072 / 0.8e1; + const double t1074 = piecewise_functor_3( t324, 0.0, t1073 ); + const double t1079 = -0.64e0 * t1074 * t327 - 0.64e0 * t834 * t1074; + const double t1080 = t1079 * t330; + const double t1081 = piecewise_functor_3( t332, 0.0, t1073 ); + const double t1083 = t333 * t1081; + const double t1085 = t335 * t1081; + const double t1087 = t337 * t1081; + const double t1089 = t339 * t1081; + const double t1091 = t341 * t1081; + const double t1096 = piecewise_functor_3( t332, t1073, 0.0 ); + const double t1100 = piecewise_functor_5( t323, t1080, t331, -0.64e0 * t1081 - 0.8704e0 * t1083 - 0.4607056813647e1 * t1085 + 0.122462410087e2 * t1087 - 0.957855118103e1 * t1089 + 0.3101306810232e1 * t1091 - 0.362942158544e0 * t343 * t1081, -0.105e1 * t855 * t1096 * t352 ); + const double t1101 = t1100 * t374; + const double t1102 = t869 * t259; + const double t1103 = t875 * t158; + const double t1104 = t1103 * t166; + const double t1106 = t1102 * t1053 * t1104; + const double t1108 = 0.15243824895787514157e-3 * t1106 - t1068; + const double t1109 = t354 * t1108; + const double t1114 = 0.54878743191129263322e-1 * t1051 + 0.86682217400542685632e-1 * t1056 - 0.43663693315433241794e-2 * t1062; + const double t1115 = t1114 * t797; + const double t1116 = t499 * t1115; + const double t1118 = t1048 * t1116 / 0.4e1; + const double t1119 = t1072 / 0.4e1; + const double t1120 = piecewise_functor_3( t324, 0.0, t1119 ); + const double t1125 = -0.64e0 * t1120 * t327 - 0.64e0 * t834 * t1120; + const double t1126 = t1125 * t330; + const double t1127 = piecewise_functor_3( t332, 0.0, t1119 ); + const double t1129 = t333 * t1127; + const double t1131 = t335 * t1127; + const double t1133 = t337 * t1127; + const double t1135 = t339 * t1127; + const double t1137 = t341 * t1127; + const double t1142 = piecewise_functor_3( t332, t1119, 0.0 ); + const double t1146 = piecewise_functor_5( t323, t1126, t331, -0.64e0 * t1127 - 0.8704e0 * t1129 - 0.4607056813647e1 * t1131 + 0.122462410087e2 * t1133 - 0.957855118103e1 * t1135 + 0.3101306810232e1 * t1137 - 0.362942158544e0 * t343 * t1127, -0.105e1 * t855 * t1142 * t352 ); + const double t1147 = t1146 * t374; + const double t1149 = 0.30487649791575028312e-3 * t1106 - t1118; + const double t1150 = t354 * t1149; + const double t1152 = t294 * t299; + const double t1153 = t1152 * t321; + const double t1154 = piecewise_functor_3( t324, 0.0, t1153 ); + const double t1159 = -0.64e0 * t1154 * t327 - 0.64e0 * t834 * t1154; + const double t1160 = t1159 * t330; + const double t1161 = piecewise_functor_3( t332, 0.0, t1153 ); + const double t1163 = t333 * t1161; + const double t1165 = t335 * t1161; + const double t1167 = t337 * t1161; + const double t1169 = t339 * t1161; + const double t1171 = t341 * t1161; + const double t1176 = piecewise_functor_3( t332, t1153, 0.0 ); + const double t1180 = piecewise_functor_5( t323, t1160, t331, -0.64e0 * t1161 - 0.8704e0 * t1163 - 0.4607056813647e1 * t1165 + 0.122462410087e2 * t1167 - 0.957855118103e1 * t1169 + 0.3101306810232e1 * t1171 - 0.362942158544e0 * t343 * t1161, -0.105e1 * t855 * t1176 * t352 ); + const double t1181 = t8 * t1180; + const double t1182 = t304 * t309; + const double t1183 = t1182 * t321; + const double t1184 = piecewise_functor_3( t324, 0.0, t1183 ); + const double t1189 = -0.64e0 * t1184 * t327 - 0.64e0 * t834 * t1184; + const double t1190 = t1189 * t330; + const double t1191 = piecewise_functor_3( t332, 0.0, t1183 ); + const double t1193 = t333 * t1191; + const double t1195 = t335 * t1191; + const double t1197 = t337 * t1191; + const double t1199 = t339 * t1191; + const double t1201 = t341 * t1191; + const double t1206 = piecewise_functor_3( t332, t1183, 0.0 ); + const double t1210 = piecewise_functor_5( t323, t1190, t331, -0.64e0 * t1191 - 0.8704e0 * t1193 - 0.4607056813647e1 * t1195 + 0.122462410087e2 * t1197 - 0.957855118103e1 * t1199 + 0.3101306810232e1 * t1201 - 0.362942158544e0 * t343 * t1191, -0.105e1 * t855 * t1206 * t352 ); + const double t1211 = t8 * t1210; + const double t1212 = t860 * t885; + const double t1213 = 0.2e1 * t1212; + const double t1216 = 0.1e1 / t292 / t800 / rho_a; + const double t1217 = tau_a * t1216; + const double t1222 = 0.1e1 / t297; + const double t1223 = t806 * t806; + const double t1224 = t1222 * t1223; + const double t1227 = 0.1e1 / t500; + const double t1228 = t35 * t1227; + const double t1229 = -t413 + t1228; + const double t1230 = t298 * t1229; + const double t1233 = 0.1e1 / t307; + const double t1234 = t810 * t810; + const double t1235 = t1233 * t1234; + const double t1238 = -t1229; + const double t1239 = t308 * t1238; + const double t1243 = 0.1e1 / t23 / t39; + const double t1244 = t122 * t1243; + const double t1245 = 0.11e2 / 0.9e1 * t1244; + const double t1246 = 0.4e2 / 0.9e1 * t1217 * t299 - 0.5e2 / 0.9e1 * t803 * t807 + 0.1e2 / 0.9e1 * t295 * t1224 + 0.5e1 / 0.3e1 * t295 * t1230 + 0.1e2 / 0.9e1 * t305 * t1235 + 0.5e1 / 0.3e1 * t305 * t1239 - t1245; + const double t1248 = t815 * t818; + const double t1252 = 0.1e1 / t817 / t320; + const double t1253 = t312 * t1252; + const double t1254 = t826 * t826; + const double t1265 = 0.11e2 / 0.9e1 * t317 * t1243; + const double t1266 = 0.3e1 / 0.1e2 * t313 * ( 0.1e2 / 0.9e1 * t1224 + 0.5e1 / 0.3e1 * t1230 + 0.1e2 / 0.9e1 * t1235 + 0.5e1 / 0.3e1 * t1239 ) + t1265; + const double t1268 = t1246 * t321 - 0.2e1 * t1248 * t826 + 0.2e1 * t1253 * t1254 - t819 * t1266; + const double t1269 = piecewise_functor_3( t324, 0.0, t1268 ); + const double t1272 = t829 * t829; + const double t1276 = 0.1e1 / t832 / t326; + const double t1277 = t325 * t1276; + const double t1282 = -0.64e0 * t1269 * t327 - 0.128e1 * t1272 * t833 - 0.128e1 * t1277 * t1272 - 0.64e0 * t834 * t1269; + const double t1283 = t1282 * t330; + const double t1284 = t837 * t837; + const double t1285 = t1284 * t330; + const double t1287 = piecewise_functor_3( t332, 0.0, t1268 ); + const double t1289 = t839 * t839; + const double t1293 = t333 * t1289; + const double t1297 = t335 * t1289; + const double t1301 = t337 * t1289; + const double t1305 = t339 * t1289; + const double t1313 = -0.64e0 * t1287 - 0.8704e0 * t1289 - 0.8704e0 * t333 * t1287 - 0.9214113627294e1 * t1293 - 0.4607056813647e1 * t335 * t1287 + 0.367387230261e2 * t1297 + 0.122462410087e2 * t337 * t1287 - 0.3831420472412e2 * t1301 - 0.957855118103e1 * t339 * t1287 + 0.1550653405116e2 * t1305 + 0.3101306810232e1 * t341 * t1287 - 0.2177652951264e1 * t341 * t1289 - 0.362942158544e0 * t343 * t1287; + const double t1314 = t854 * t349; + const double t1315 = 0.1e1 / t1314; + const double t1316 = t856 * t856; + const double t1320 = piecewise_functor_3( t332, t1268, 0.0 ); + const double t1324 = t854 * t854; + const double t1325 = 0.1e1 / t1324; + const double t1326 = t1325 * t1316; + const double t1330 = piecewise_functor_5( t323, t1283 + t1285, t331, t1313, -0.21e1 * t1315 * t1316 * t352 - 0.105e1 * t855 * t1320 * t352 - 0.1575e1 * t1326 * t352 ); + const double t1331 = t1330 * t374; + const double t1332 = 0.1e1 / t99; + const double t1333 = t415 * t415; + const double t1336 = 0.2e1 * t1229; + const double t1340 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1332 * t1333 + 0.4e1 / 0.3e1 * t48 * t1336 ); + const double t1341 = 0.1e1 / t101; + const double t1342 = t419 * t419; + const double t1345 = -t1336; + const double t1349 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1341 * t1342 + 0.4e1 / 0.3e1 * t53 * t1345 ); + const double t1350 = t1340 + t1349; + const double t1351 = t1350 * t60; + const double t1352 = t1351 * t86; + const double t1353 = 0.19751673498613801407e-1 * t1352; + const double t1354 = t382 * t28; + const double t1355 = 0.1e1 / t1354; + const double t1356 = t14 * t1355; + const double t1357 = t400 * t400; + const double t1358 = t1357 * t401; + const double t1359 = t1356 * t1358; + const double t1360 = 0.2e1 * t1359; + const double t1361 = t614 * t20; + const double t1363 = t1362 * t263; + const double t1364 = t1361 * t1363; + const double t1366 = t386 * t124; + const double t1367 = t385 * t1366; + const double t1369 = t7 * t124; + const double t1370 = t5 * t1369; + const double t1371 = 0.39862222222222222223e0 * t1370; + const double t1372 = t639 * t20; + const double t1373 = t1372 * t1363; + const double t1374 = 0.68258333333333333333e-1 * t1373; + const double t1375 = t392 * t1366; + const double t1376 = 0.13651666666666666667e0 * t1375; + const double t1378 = t22 * t6 * t263; + const double t1379 = 0.13692777777777777778e0 * t1378; + const double t1380 = -0.42198333333333333333e0 * t1364 + 0.84396666666666666666e0 * t1367 + t1371 + t1374 + t1376 + t1379; + const double t1381 = t1380 * t401; + const double t1382 = t384 * t1381; + const double t1383 = 0.1e1 * t1382; + const double t1384 = t382 * t382; + const double t1385 = 0.1e1 / t1384; + const double t1386 = t14 * t1385; + const double t1387 = t31 * t31; + const double t1388 = 0.1e1 / t1387; + const double t1389 = t1357 * t1388; + const double t1390 = t1386 * t1389; + const double t1391 = 0.16081979498692535067e2 * t1390; + const double t1392 = t104 * t288; + const double t1393 = t481 * t481; + const double t1395 = t97 * t1392 * t1393; + const double t1396 = 0.6e1 * t1395; + const double t1397 = t445 * t445; + const double t1398 = 0.1e1 / t1397; + const double t1399 = t452 * t452; + const double t1400 = t1398 * t1399; + const double t1401 = t84 * t84; + const double t1402 = 0.1e1 / t1401; + const double t1403 = t1400 * t1402; + const double t1404 = t234 * t1403; + const double t1405 = 0.17315859105681463759e2 * t1404; + const double t1408 = 0.40256666666666666667e0 * t1370; + const double t1409 = 0.366775e-1 * t1373; + const double t1410 = 0.73355e-1 * t1375; + const double t1411 = 0.137975e0 * t1378; + const double t1412 = -0.57538888888888888889e0 * t1364 + 0.11507777777777777778e1 * t1367 + t1408 + t1409 + t1410 + t1411; + const double t1414 = t446 * t1412 * t453; + const double t1415 = t234 * t1414; + const double t1416 = 0.5848223622634646207e0 * t1415; + const double t1417 = t732 * t468; + const double t1418 = 0.11696447245269292414e1 * t1417; + const double t1419 = t39 * t38; + const double t1420 = 0.1e1 / t1419; + const double t1421 = t37 * t1420; + const double t1422 = t1421 * t89; + const double t1423 = 0.2e2 * t1422; + const double t1424 = t36 * t40; + const double t1425 = t1424 * t89; + const double t1426 = 0.12e2 * t1425; + const double t1427 = t405 * t409; + const double t1428 = t1427 * t89; + const double t1429 = 0.32e2 * t1428; + const double t1431 = t5 * t1369 * t32; + const double t1432 = 0.14764627977777777777e-2 * t1431; + const double t1436 = t377 * t431; + const double t1440 = t430 * t68; + const double t1441 = 0.1e1 / t1440; + const double t1442 = t63 * t1441; + const double t1443 = t437 * t437; + const double t1444 = t1443 * t438; + const double t1449 = 0.68863333333333333333e0 * t1370; + const double t1450 = 0.14025833333333333333e0 * t1373; + const double t1451 = 0.28051666666666666667e0 * t1375; + const double t1452 = 0.17365833333333333333e0 * t1378; + const double t1453 = -0.78438333333333333333e0 * t1364 + 0.15687666666666666667e1 * t1367 + t1449 + t1450 + t1451 + t1452; + const double t1454 = t1453 * t438; + const double t1457 = t430 * t430; + const double t1458 = 0.1e1 / t1457; + const double t1459 = t63 * t1458; + const double t1460 = t71 * t71; + const double t1461 = 0.1e1 / t1460; + const double t1462 = t1443 * t1461; + const double t1465 = t377 * t383; + const double t1467 = t625 * t1465 * t402; + const double t1468 = 0.35616666666666666666e-1 * t1467; + const double t1472 = t377 * t446; + const double t1476 = t445 * t81; + const double t1477 = 0.1e1 / t1476; + const double t1478 = t76 * t1477; + const double t1479 = t1399 * t453; + const double t1482 = t1412 * t453; + const double t1485 = t76 * t1398; + const double t1486 = t1399 * t1402; + const double t1489 = -0.70983522622222222221e-3 * t5 * t1369 * t72 - 0.34246666666666666666e-1 * t625 * t1436 * t439 - 0.2e1 * t1442 * t1444 + 0.1e1 * t432 * t1454 + 0.32163958997385070134e2 * t1459 * t1462 + t1432 + t1468 + t1360 - t1383 - t1391 - 0.24415263074675393405e-3 * t5 * t1369 * t85 - 0.10843581300301739842e-1 * t625 * t1472 * t454 - 0.11696447245269292414e1 * t1478 * t1479 + 0.5848223622634646207e0 * t447 * t1482 + 0.17315859105681463759e2 * t1485 * t1486; + const double t1490 = t61 * t1489; + const double t1491 = t41 * t1490; + const double t1492 = t1351 * t88; + const double t1493 = t41 * t1492; + const double t1494 = t424 * t457; + const double t1495 = t41 * t1494; + const double t1496 = 0.2e1 * t1495; + const double t1497 = t410 * t425; + const double t1498 = 0.8e1 * t1497; + const double t1499 = -t1405 - t1416 - t1418 + t1423 + t1426 - t1429 - t1432 + t1491 + t1493 + t1496 - t1498; + const double t1500 = t410 * t458; + const double t1501 = 0.8e1 * t1500; + const double t1502 = t406 * t425; + const double t1503 = 0.8e1 * t1502; + const double t1504 = t406 * t458; + const double t1505 = 0.8e1 * t1504; + const double t1506 = t424 * t2; + const double t1507 = t1506 * t464; + const double t1508 = 0.36622894612013090108e-3 * t1507; + const double t1510 = t1477 * t1399 * t453; + const double t1511 = t234 * t1510; + const double t1512 = 0.11696447245269292414e1 * t1511; + const double t1513 = t378 * t468; + const double t1514 = t735 * t1513; + const double t1515 = 0.10843581300301739842e-1 * t1514; + const double t1517 = t386 * t124 * t85; + const double t1518 = t462 * t1517; + const double t1519 = 0.24415263074675393405e-3 * t1518; + const double t1520 = -t1501 + t1503 + t1505 - t1360 + t1353 + t1383 + t1391 - t1508 + t1512 - t1468 + t1515 + t1519; + const double t1522 = ( t1499 + t1520 ) * t108; + const double t1527 = 0.1e1 / t488 / t104; + const double t1528 = t95 * t1527; + const double t1529 = t1528 * t1393; + const double t1532 = 0.1e1 / t49; + const double t1533 = t1532 * t1333; + const double t1538 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1533 + 0.2e1 / 0.3e1 * t472 * t1336 ); + const double t1539 = 0.1e1 / t54; + const double t1540 = t1539 * t1342; + const double t1545 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1540 + 0.2e1 / 0.3e1 * t476 * t1345 ); + const double t1547 = t1538 / 0.2e1 + t1545 / 0.2e1; + const double t1548 = t490 * t1547; + const double t1551 = -0.12e2 * t109 * t1529 + 0.3e1 * t109 * t1548 - t1522 * t111 + 0.6e1 * t486 * t491; + const double t1552 = t1551 * t113; + const double t1554 = t494 * t494; + const double t1555 = t1554 * t113; + const double t1557 = t498 * t792; + const double t1560 = t282 * t282; + const double t1562 = 0.1e1 / t283 / t1560; + const double t1563 = t114 * t1562; + const double t1564 = t792 * t792; + const double t1567 = t110 * t20; + const double t1569 = t524 * t525 * t1567; + const double t1571 = t1570 * t108; + const double t1572 = t537 * t481; + const double t1574 = t1571 * t1572 * t495; + const double t1577 = t572 * t259; + const double t1578 = t546 * t1577; + const double t1579 = t277 * t560; + const double t1580 = t1579 * t495; + const double t1581 = t360 * t1580; + const double t1584 = t565 * t1577; + const double t1585 = t277 * t481; + const double t1586 = t1585 * t495; + const double t1587 = t360 * t1586; + const double t1590 = t518 * t57; + const double t1591 = t1590 * t128; + const double t1592 = t524 * t1591; + const double t1593 = t1592 * t540; + const double t1595 = t538 * t1552; + const double t1596 = t529 * t1595; + const double t1599 = t538 * t1555; + const double t1600 = t529 * t1599; + const double t1603 = t502 * t277; + const double t1605 = t551 * t1603 * t495; + const double t1606 = t574 * t1605; + const double t1609 = t551 * t552 * t1555; + const double t1612 = t536 * t114; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t108 * t1613; + const double t1615 = t113 * t113; + const double t1616 = t1554 * t1615; + const double t1617 = t1614 * t1616; + const double t1618 = t529 * t1617; + const double t1621 = t1613 * t252; + const double t1622 = t1621 * t255; + const double t1623 = t571 * t1622; + const double t1625 = t551 * t552 * t1616; + const double t1629 = t537 * t774; + const double t1630 = t1629 * t255; + const double t1631 = t571 * t1630; + const double t1635 = t551 * t552 * t1552; + const double t1638 = t545 * t489; + const double t1639 = t1638 * t548; + const double t1640 = t560 * t481; + const double t1642 = t551 * t552 * t1640; + const double t1645 = t545 * t147; + const double t1646 = t788 * t560; + const double t1648 = t1645 * t785 * t1646; + const double t1650 = t489 * t133; + const double t1651 = t146 * t1650; + const double t1652 = t788 * t481; + const double t1654 = t1651 * t785 * t1652; + const double t1656 = t122 * t57; + const double t1657 = t503 * t1656; + const double t1658 = t128 * t108; + const double t1660 = t537 * t494 * t113; + const double t1661 = t1658 * t1660; + const double t1662 = t1657 * t1661; + const double t1664 = t774 * t784; + const double t1666 = t783 * t1664 * t788; + const double t1668 = t162 * t38; + const double t1669 = 0.1e1 / t1668; + const double t1670 = t1669 * t277; + const double t1673 = 0.679213007128961539e-1 * t783 * t785 * t1670; + const double t1674 = t512 * t1244; + const double t1676 = 0.29272321618148349056e-1 * t1674 * t507; + const double t1677 = t269 * t269; + const double t1678 = t1677 * t122; + const double t1679 = t39 * t500; + const double t1680 = t162 * t1679; + const double t1682 = 0.1e1 / t9 / t1680; + const double t1683 = t1678 * t1682; + const double t1686 = t1685 * t277; + const double t1687 = t1683 * t265 * t1686; + const double t1689 = 0.63479958930231934629e-2 * t254 * t1687; + const double t1691 = 0.1e1 / t510 / t118; + const double t1692 = t116 * t1691; + const double t1696 = t1658 * t133; + const double t1697 = t1696 * t625; + const double t1699 = 0.14457274399185490173e-3 * t1692 * t122 * t409 * t57 * t1697; + const double t1700 = -0.86682217400542685632e-1 * t1631 * t576 - 0.43341108700271342816e-1 * t574 * t1635 + 0.2600466522016280569e0 * t1639 * t1642 - 0.11643651550782197811e-1 * t1648 - 0.34930954652346593434e-1 * t1654 + 0.54878743191129263322e-2 * t1662 + 0.11643651550782197811e-1 * t1666 - t1673 - t1676 + t1689 + t1699; + const double t1702 = t110 * t537; + const double t1703 = t1702 * t252; + const double t1704 = t146 * t1703; + const double t1705 = t784 * t787; + const double t1706 = t277 * t494; + const double t1707 = t1706 * t113; + const double t1708 = t1705 * t1707; + const double t1709 = t1704 * t1708; + const double t1712 = t512 * t513 * t57; + const double t1713 = t1712 * t1661; + const double t1715 = t409 * t511; + const double t1716 = t1656 * t128; + const double t1718 = t506 * t625; + const double t1720 = 0.81312004494856525156e-4 * t1715 * t1716 * t1718; + const double t1721 = t110 * t108; + const double t1722 = t133 * t481; + const double t1723 = t1721 * t1722; + const double t1724 = t1657 * t1723; + const double t1726 = t57 * t110; + const double t1727 = t1726 * t530; + const double t1728 = t514 * t1727; + const double t1730 = t1590 * t110; + const double t1731 = t524 * t1730; + const double t1732 = t1731 * t531; + const double t1734 = t552 * t1547; + const double t1735 = t551 * t1734; + const double t1738 = t506 * t1547; + const double t1739 = t529 * t1738; + const double t1742 = t133 * t774; + const double t1743 = t1742 * t255; + const double t1744 = t546 * t1743; + const double t1752 = piecewise_functor_3( t45, 0.0, 0.1e2 / 0.9e1 * t472 * t1333 + 0.5e1 / 0.3e1 * t99 * t1336 ); + const double t1758 = piecewise_functor_3( t52, 0.0, 0.1e2 / 0.9e1 * t476 * t1342 + 0.5e1 / 0.3e1 * t101 * t1345 ); + const double t1760 = t1752 / 0.2e1 + t1758 / 0.2e1; + const double t1761 = t552 * t1760; + const double t1762 = t551 * t1761; + const double t1766 = t565 * t1743; + const double t1769 = t1603 * t481; + const double t1770 = t551 * t1769; + const double t1771 = t566 * t1770; + const double t1773 = t525 * t489; + const double t1774 = t524 * t1773; + const double t1775 = t506 * t1393; + const double t1776 = t529 * t1775; + const double t1781 = t108 / t543 / t144; + const double t1782 = t1781 * t110; + const double t1783 = t1782 * t548; + const double t1784 = t560 * t560; + const double t1785 = t552 * t1784; + const double t1786 = t551 * t1785; + const double t1789 = t1603 * t560; + const double t1790 = t551 * t1789; + const double t1791 = t549 * t1790; + const double t1793 = t146 * t1527; + const double t1794 = t1793 * t548; + const double t1795 = t552 * t1393; + const double t1796 = t551 * t1795; + const double t1799 = t1243 * t119; + const double t1802 = 0.16463622957338778997e-1 * t1799 * t122 * t507; + const double t1805 = 0.2e2 / 0.9e1 * t5 * t1369 * t239; + const double t1807 = t5 * t378 * t753; + const double t1809 = t60 * t607; + const double t1810 = t1809 * t170; + const double t1813 = t595 * t1350; + const double t1816 = t631 * t188; + const double t1817 = t189 * t621; + const double t1818 = t1816 * t1817; + const double t1820 = 0.71233333333333333332e-1 * t390 * t1818; + const double t1821 = t649 * t188; + const double t1822 = t652 * t621; + const double t1823 = t1821 * t1822; + const double t1825 = 0.57278650314509912396e0 * t390 * t1823; + const double t1826 = t607 * t585; + const double t1827 = t159 * t1826; + const double t1828 = t1827 * t617; + const double t1830 = t585 * t585; + const double t1831 = t1830 * t1830; + const double t1832 = t1831 * t585; + const double t1833 = t166 * t1832; + const double t1834 = t159 * t1833; + const double t1837 = 0.1e1 / t15 / t26 / 0.4e1; + const double t1838 = t1837 * t20; + const double t1839 = t21 * t263; + const double t1840 = t1838 * t1839; + const double t1842 = 0.42340699333333333333e-3 * t1834 * t1840; + const double t1843 = t4 * t124; + const double t1844 = t615 * t1843; + const double t1846 = 0.11290853155555555555e-2 * t612 * t1844; + const double t1847 = t1369 * t236; + const double t1849 = 0.72290542002011598948e-2 * t735 * t1847; + const double t1850 = t424 * t5; + const double t1851 = t1850 * t736; + const double t1853 = t378 * t745; + const double t1855 = 0.10843581300301739842e-1 * t735 * t1853; + const double t1856 = t584 * t611; + const double t1857 = t616 * t591; + const double t1858 = t615 * t1857; + const double t1860 = 0.33872559466666666666e-2 * t1856 * t1858; + const double t1865 = t673 * t206; + const double t1866 = t207 * t664; + const double t1867 = t1865 * t1866; + const double t1870 = t686 * t206; + const double t1871 = t689 * t664; + const double t1872 = t1870 * t1871; + const double t1875 = t621 * t621; + const double t1878 = 0.6e1 * t650 * t190 * t1875; + const double t1879 = t664 * t664; + const double t1884 = 0.1e1 / t648 / t181; + const double t1885 = t14 * t1884; + const double t1887 = 0.1e1 / t651 / t178; + const double t1888 = t188 * t1887; + const double t1891 = 0.51726012919273400301e3 * t1885 * t1888 * t1875; + const double t1892 = t1832 * t1837; + const double t1893 = t22 * t263; + const double t1894 = t1892 * t1893; + const double t1896 = t5 * t124; + const double t1897 = t636 * t1896; + const double t1899 = 0.1e1/pow_3_2( t12 ); + const double t1900 = t1899 * t20; + const double t1901 = t1900 * t1363; + const double t1903 = t640 * t1366; + const double t1906 = 0.126595e1 * t1894 - 0.33758666666666666667e1 * t1897 - 0.13651666666666666667e0 * t1901 + 0.27303333333333333333e0 * t1903 + 0.10954222222222222222e0 * t1370; + const double t1907 = t1906 * t189; + const double t1909 = 0.1e1 * t183 * t1907; + const double t1915 = 0.235315e1 * t1894 - 0.62750666666666666667e1 * t1897 - 0.28051666666666666667e0 * t1901 + 0.56103333333333333335e0 * t1903 + 0.13892666666666666667e0 * t1370; + const double t1916 = t1915 * t207; + const double t1919 = -t1820 + t1825 + 0.21687162600603479684e-1 * t390 * t741 - 0.32106488758451047386e0 * t390 * t750 + 0.68493333333333333332e-1 * t390 * t1867 - 0.11015083824637807018e1 * t390 * t1872 - t1878 + 0.6e1 * t687 * t208 * t1879 - t1891 - t1909 + 0.1e1 * t202 * t1916; + const double t1925 = 0.17261666666666666666e1 * t1894 - 0.46031111111111111111e1 * t1897 - 0.73354999999999999999e-1 * t1901 + 0.14671e0 * t1903 + 0.11038e0 * t1370; + const double t1926 = t1925 * t225; + const double t1929 = t681 * t689; + const double t1933 = t1832 * t614; + const double t1934 = t1933 * t1893; + const double t1936 = t586 * t1896; + const double t1938 = -0.39219166666666666667e0 * t1934 + 0.31375333333333333333e1 * t1936 + t1449 + t1450 + t1451 + t1452; + const double t1943 = 0.1e1 / t685 / t194; + const double t1944 = t63 * t1943; + const double t1952 = 0.1e1 / t648 / t175; + const double t1953 = t14 * t1952; + const double t1956 = 0.96491876992155210402e2 * t1953 * t653 * t1875; + const double t1959 = -0.21099166666666666667e0 * t1934 + 0.16879333333333333333e1 * t1936 + t1371 + t1374 + t1376 + t1379; + const double t1962 = 0.2e1 * t632 * t190 * t1959; + const double t1965 = 0.4e1 * t632 * t645 * t621; + const double t1968 = -0.28769444444444444445e0 * t1934 + 0.23015555555555555556e1 * t1936 + t1408 + t1409 + t1410 + t1411; + const double t1970 = t219 * t1968 * t225; + const double t1972 = t695 * t695; + const double t1973 = t717 * t1972; + const double t1974 = t1973 * t720; + const double t1979 = 0.5848223622634646207e0 * t220 * t1926 + 0.64327917994770140268e2 * t687 * t1929 * t664 - 0.2e1 * t674 * t208 * t1938 - 0.19298375398431042081e3 * t1944 * t690 * t1879 - 0.4e1 * t674 * t682 * t664 + t1956 + t1962 + t1965 + 0.65061487801810439052e-1 * t1970 + 0.19263893255070628431e1 * t1974 + 0.20548e0 * t201 * t1938 * t207; + const double t1981 = t686 * t1879; + const double t1986 = 0.2137e0 * t182 * t1959 * t189; + const double t1987 = t649 * t1875; + const double t1989 = 0.34367190188705947438e1 * t1987 * t652; + const double t1990 = t713 * t695; + const double t1993 = t226 * t1972; + const double t2000 = 0.1e1 / t685 / t200; + const double t2001 = t63 * t2000; + const double t2003 = 0.1e1 / t688 / t197; + const double t2004 = t206 * t2003; + const double t2008 = t712 * t720; + const double t2009 = t2008 * t695; + const double t2012 = t226 * t1968; + const double t2016 = 0.1e1 / t716 / t212; + const double t2017 = t76 * t2016; + const double t2018 = t721 * t1972; + const double t2022 = t704 * t1972 * t225; + const double t2024 = 0.66090502947826842111e1 * t1981 * t689 - t1986 - t1989 - 0.23392894490538584828e1 * t705 * t1990 + 0.35089341735807877242e1 * t718 * t1993 + 0.32163958997385070134e2 * t687 * t690 * t1938 + 0.2069040516770936012e4 * t2001 * t2004 * t1879 + 0.34631718211362927518e2 * t718 * t2009 - 0.11696447245269292414e1 * t705 * t2012 - 0.10389515463408878255e3 * t2017 * t2018 - 0.1301229756036208781e0 * t2022; + const double t2030 = 0.4274e0 * t631 * t1875 * t189; + const double t2037 = t124 * t219; + const double t2041 = t124 * t201; + const double t2045 = t124 * t182; + const double t2048 = 0.23744444444444444444e-1 * t625 * t2045 * t190; + const double t2051 = 0.35616666666666666666e-1 * t625 * t626 * t645; + const double t2052 = t721 * t1968; + const double t2056 = 0.1e1 / t716 / t218; + const double t2057 = t76 * t2056; + const double t2059 = 0.1e1 / t719 / t215; + const double t2060 = t224 * t2059; + const double t2061 = t2060 * t1972; + const double t2066 = 0.16081979498692535067e2 * t650 * t653 * t1959; + const double t2067 = t644 * t652; + const double t2070 = 0.32163958997385070134e2 * t650 * t2067 * t621; + const double t2071 = -0.41096e0 * t673 * t1879 * t207 + t2030 - 0.10843581300301739842e-1 * t625 * t699 * t713 - 0.34246666666666666666e-1 * t625 * t668 * t682 + 0.72290542002011598948e-2 * t625 * t2037 * t226 + 0.22831111111111111111e-1 * t625 * t2041 * t208 - t2048 + t2051 + 0.17315859105681463759e2 * t718 * t2052 + 0.10254018858216406658e4 * t2057 * t2061 - t2066 - t2070; + const double t2073 = t1919 + t1979 + t2024 + t2071; + const double t2074 = t61 * t2073; + const double t2075 = t41 * t2074; + const double t2076 = t1351 * t229; + const double t2078 = -0.1350520664e0 * t596 * t1810 - 0.675260332e-1 * t1813 * t598 - t1820 + t1825 + 0.16936279733333333333e-2 * t1828 + t1842 - t1846 + t1849 - 0.10843581300301739842e-1 * t1851 - t1855 - t1860 - t2075 - t41 * t2076 - t1878; + const double t2080 = t219 * t1925 * t225; + const double t2082 = 0.5848223622634646207e0 * t234 * t2080; + const double t2083 = t732 * t745; + const double t2085 = t1351 * t76; + const double t2089 = 0.1301229756036208781e0 * t61 * t2022; + const double t2090 = t225 * t1972; + const double t2091 = t748 * t2090; + const double t2093 = 0.35089341735807877242e1 * t234 * t2091; + const double t2094 = t583 * t58; + const double t2095 = t2094 * t423; + const double t2096 = t170 * t591; + const double t2097 = t597 * t2096; + const double t2098 = t2095 * t2097; + const double t2100 = t424 * t725; + const double t2101 = t41 * t2100; + const double t2103 = t410 * t661; + const double t2106 = 0.12e2 * t1424 * t230; + const double t2108 = 0.32e2 * t1427 * t230; + const double t2109 = t153 * t153; + const double t2110 = 0.1e1 / t2109; + const double t2111 = t2110 * t158; + const double t2112 = t591 * t591; + const double t2115 = 0.1714584e0 * t2111 * t171 * t2112; + const double t2117 = 0.19263893255070628431e1 * t61 * t1974; + const double t2118 = t424 * t697; + const double t2120 = -t1891 + t2082 + 0.11696447245269292414e1 * t2083 + 0.5848223622634646207e0 * t2085 * t236 - t2089 + t2093 + 0.2701041328e0 * t2098 - 0.2e1 * t2101 + 0.8e1 * t2103 - t2106 + t2108 + t2115 - t1909 + t2117 + 0.1301229756036208781e0 * t2118; + const double t2123 = 0.65061487801810439052e-1 * t61 * t1970; + const double t2125 = t584 * t608 * t591; + const double t2129 = 0.13949e-1 * t1370; + const double t2130 = -0.24694444444444444445e-2 * t1934 + 0.19755555555555555556e-1 * t1936 + t2129; + const double t2133 = 0.571528e-1 * t584 * t171 * t2130; + const double t2135 = 0.8e1 * t410 * t726; + const double t2136 = t406 * t661; + const double t2138 = t61 * t625; + const double t2139 = t377 * t704; + const double t2140 = t2139 * t706; + const double t2142 = 0.21687162600603479684e-1 * t2138 * t2140; + const double t2143 = t377 * t717; + const double t2144 = t2143 * t722; + const double t2146 = 0.32106488758451047386e0 * t2138 * t2144; + const double t2147 = t595 * t766; + const double t2148 = t2147 * t637; + const double t2151 = 0.8e1 * t406 * t726; + const double t2152 = t2123 - 0.1143056e0 * t2125 - t2133 + t2135 - 0.8e1 * t2136 + t2142 - t2146 - 0.40020429009866666666e-2 * t2148 + t1956 + t1962 + t1965 - t2151 - t1986 - t1989 + t2030; + const double t2155 = t720 * t1968; + const double t2156 = t748 * t2155; + const double t2158 = 0.17315859105681463759e2 * t234 * t2156; + const double t2159 = t2056 * t224; + const double t2160 = t2059 * t1972; + const double t2161 = t2159 * t2160; + const double t2163 = 0.10254018858216406658e4 * t234 * t2161; + const double t2164 = t704 * t712; + const double t2165 = t2164 * t740; + const double t2167 = 0.23392894490538584828e1 * t234 * t2165; + const double t2168 = t225 * t1968; + const double t2169 = t739 * t2168; + const double t2171 = 0.11696447245269292414e1 * t234 * t2169; + const double t2172 = t2016 * t224; + const double t2173 = t720 * t1972; + const double t2174 = t2172 * t2173; + const double t2176 = 0.10389515463408878255e3 * t234 * t2174; + const double t2177 = t717 * t712; + const double t2178 = t2177 * t749; + const double t2180 = 0.34631718211362927518e2 * t234 * t2178; + const double t2181 = t732 * t741; + const double t2183 = t732 * t750; + const double t2185 = t160 * t36; + const double t2187 = 0.132e3 * t2185 * t164; + const double t2189 = 0.288e3 * t601 * t604; + const double t2190 = t162 * t1419; + const double t2191 = 0.1e1 / t2190; + const double t2193 = 0.156e3 * t161 * t2191; + const double t2194 = -t2187 + t2189 - t2193; + const double t2195 = t2194 * t170; + const double t2199 = 0.2e2 * t1421 * t230; + const double t2200 = -0.21973736767207854065e-2 * t1351 * t216 + t2158 + t2163 - t2167 - t2171 - t2176 + t2180 - 0.23392894490538584828e1 * t2181 + 0.34631718211362927518e2 * t2183 - t2048 + t2051 + 0.285764e-1 * t159 * t2195 - t2199 - t2066 - t2070; + const double t2202 = t2078 + t2120 + t2152 + t2200; + const double t2206 = t758 * t58; + const double t2207 = t2206 * t423; + const double t2208 = t597 * t761; + const double t2209 = t2207 * t2208; + const double t2212 = t759 * t607 * t761; + const double t2216 = -0.49388888888888888889e-2 * t1364 + 0.98777777777777777777e-2 * t1367 + t2129; + const double t2217 = t166 * t2216; + const double t2219 = 0.285764e-1 * t759 * t2217; + const double t2220 = t757 * t244; + const double t2221 = 0.1e1 / t2220; + const double t2222 = t2221 * t158; + const double t2223 = t761 * t761; + const double t2224 = t166 * t2223; + const double t2226 = 0.571528e-1 * t2222 * t2224; + const double t2227 = t1351 * t166; + const double t2230 = t424 * t607; + const double t2233 = -0.1350520664e0 * t2209 - t1353 + t1360 - t1383 - t1391 + 0.571528e-1 * t2212 + t2219 - t2226 - t1512 + 0.675260332e-1 * t765 * t2227 + 0.1350520664e0 * t765 * t2230 - t1505 + t1498 + t1501 - t1503; + const double t2236 = -t1493 - t1496 - t1423 - t1426 + t1429 + t1432 - t1491 - 0.285764e-1 * t246 * t2194 + t1468 + t1508 - t1519 - t1515 + t1405 + t1416 + t1418; + const double t2240 = t1805 - 0.1e2 / 0.3e1 * t1807 + 0.5e1 * t5 * t11 * t2202 - 0.45e2 * eta * ( t2233 + t2236 ); + const double t2241 = t147 * t2240; + const double t2242 = t146 * t2241; + const double t2246 = t261 * t1244 * t277; + const double t2248 = 0.42377972951376424087e0 * t254 * t2246; + const double t2249 = t776 * t780; + const double t2252 = 0.1e1 / t9 / t39; + const double t2257 = 0.21341733463216935736e0 * t120 * t122 * t2252 * t57 * t135; + const double t2258 = -0.2600466522016280569e0 * t1766 * t568 + 0.69345773920434148506e0 * t1771 + 0.16463622957338778997e0 * t1774 * t1776 + 0.86682217400542685632e-1 * t1783 * t1786 + 0.23115257973478049502e0 * t1791 + 0.5200933044032561138e0 * t1794 * t1796 + t1802 + 0.43341108700271342816e-1 * t2242 * t279 + t2248 - 0.23115257973478049502e0 * t2249 + t2257; + const double t2260 = 0.10975748638225852664e0 * t1569 * t1574 + 0.86682217400542685632e-1 * t1578 * t1581 + 0.2600466522016280569e0 * t1584 * t1587 + 0.12805040077930161442e0 * t1593 - 0.27439371595564631661e-1 * t535 * t1596 - 0.27439371595564631661e-1 * t535 * t1600 + 0.23115257973478049502e0 * t1606 - 0.43341108700271342816e-1 * t574 * t1609 + 0.54878743191129263322e-1 * t535 * t1618 + 0.86682217400542685632e-1 * t1623 * t1625 + t1700 - 0.11643651550782197811e-1 * t1709 - 0.97574405393827830186e-2 * t1713 - t1720 + 0.10975748638225852664e-1 * t1724 - 0.19514881078765566037e-1 * t1728 + 0.25610080155860322884e0 * t1732 - 0.13002332610081402845e0 * t566 * t1735 - 0.54878743191129263322e-1 * t527 * t1739 - 0.86682217400542685632e-1 * t1744 * t562 - 0.43341108700271342816e-1 * t549 * t1762 + t2258; + const double t2263 = t1552 * t285 + t1555 * t285 + t495 * t1557 / 0.2e1 - 0.5e1 / 0.16e2 * t1563 * t1564 + t499 * t2260 / 0.4e1; + const double t2266 = t97 * t106 * t2263 * t797; + const double t2267 = t1213 + t1331 + t1353 - t1360 + t1383 + t1391 + t1396 + t2266 + t1512 + t1505 - t1498 - t1501 + t1503 + t1493 + t1496; + const double t2269 = t97 * t471 * t1547; + const double t2270 = 0.3e1 * t2269; + const double t2271 = -t1353 + t1360 - t1383 - t1391 - t1396 - t2266 - t1512 - t1505 + t1498 + t1501 - t1503 - t1493 - t1496 - t1423 - t1426 + t1429 + t1432; + const double t2272 = t879 * t607; + const double t2275 = t2221 * t2223; + const double t2277 = t758 * t2216; + const double t2283 = t757 * t757; + const double t2284 = 0.1e1 / t2283; + const double t2285 = t2284 * t2223; + const double t2288 = t357 * t868; + const double t2289 = t862 * t2288; + const double t2290 = t359 * t502; + const double t2291 = t259 * t2290; + const double t2294 = t363 * t363; + const double t2296 = 0.1e1 / t364 / t2294; + const double t2297 = t358 * t2296; + const double t2298 = t2297 * t265; + const double t2300 = 0.1e1 / t9 / t1679; + const double t2308 = 0.2e1 * t2275 * t864 - 0.1e1 * t2277 * t864 + 0.1e1 * t2285 * t864 + 0.2845018947250181111e-1 * t2289 * t2291 - 0.20235332025531322028e-2 * t2298 * t1685 * t269 * t2300 + 0.52158680699586653702e-1 * t870 * t550 * t1244; + const double t2311 = t874 * t874; + const double t2312 = t368 * t368; + const double t2313 = 0.1e1 / t2312; + const double t2316 = -0.571528e-1 * t2275 + 0.285764e-1 * t2277 + 0.285764e-1 * t2308 * t875 - 0.285764e-1 * t2311 * t2313; + const double t2317 = t2316 * t158; + const double t2318 = t2317 * t166; + const double t2319 = t795 * t795; + const double t2321 = t287 * t287; + const double t2322 = 0.1e1 / t2321; + const double t2324 = t97 * t106 * t2319 * t2322; + const double t2325 = t878 * t58; + const double t2326 = t2325 * t766; + const double t2332 = t97 * t105; + const double t2333 = t795 * t797; + const double t2335 = t2332 * t2333 * t481; + const double t2336 = 0.6e1 * t2335; + const double t2337 = -t1491 - t2270 + t1468 + t1508 - t1519 + 0.2e1 * t2272 + t372 * t2194 + t2318 - t1515 + t2324 - 0.4726e1 * t2326 - 0.2363e1 * t881 * t2227 - 0.4726e1 * t881 * t2230 - t2336 + t1405 + t1416 + t1418; + const double t2338 = t2271 + t2337; + const double t2339 = t354 * t2338; + const double t2340 = t1423 + t1426 - t1429 - t1432 + t1491 + t2270 - t1468 - t1508 + t1519 + t2339 + t1515 - t2324 + t2336 - t1405 - t1416 - t1418; + const double t2346 = 0.36622894612013090108e-3 * t465; + const double t2348 = 0.22146941966666666666e-2 * t380; + const double t2350 = 0.2e1 * t459; + const double t2352 = 0.2e1 * t403; + const double t2353 = 0.11696447245269292414e1 * t469; + const double t2354 = 0.8e1 * t407; + const double t2355 = 0.8e1 * t411; + const double t2356 = t898 * t2; + const double t2357 = t2356 * t464; + const double t2358 = 0.18311447306006545054e-3 * t2357; + const double t2359 = t986 * t2322; + const double t2361 = t1048 * t2359 * t795; + const double t2362 = t860 * t1044; + const double t2365 = t1222 * t990; + const double t2366 = t2365 * t806; + const double t2369 = t298 * t35; + const double t2370 = t2369 * t1227; + const double t2375 = t1233 * t1000; + const double t2376 = t2375 * t810; + const double t2379 = t308 * t35; + const double t2380 = t2379 * t1227; + const double t2383 = -0.25e2 / 0.9e1 * t803 * t991 + 0.1e2 / 0.9e1 * t295 * t2366 + 0.5e1 / 0.3e1 * t295 * t2370 - 0.25e2 / 0.9e1 * t997 * t811 + 0.1e2 / 0.9e1 * t305 * t2376 - 0.5e1 / 0.3e1 * t305 * t2380 - t1245; + const double t2385 = t1004 * t818; + const double t2388 = t1010 * t826; + const double t2398 = 0.3e1 / 0.1e2 * t313 * ( 0.1e2 / 0.9e1 * t2366 + 0.5e1 / 0.3e1 * t2370 + 0.1e2 / 0.9e1 * t2376 - 0.5e1 / 0.3e1 * t2380 ) + t1265; + const double t2400 = -t1248 * t1010 + 0.2e1 * t1253 * t2388 + t2383 * t321 - t2385 * t826 - t819 * t2398; + const double t2401 = piecewise_functor_3( t324, 0.0, t2400 ); + const double t2404 = t1013 * t833; + const double t2407 = t1013 * t829; + const double t2412 = -0.64e0 * t2401 * t327 - 0.128e1 * t2404 * t829 - 0.128e1 * t1277 * t2407 - 0.64e0 * t834 * t2401; + const double t2413 = t2412 * t330; + const double t2414 = t1018 * t837; + const double t2415 = t2414 * t330; + const double t2417 = piecewise_functor_3( t332, 0.0, t2400 ); + const double t2419 = t839 * t1020; + const double t2421 = t333 * t2417; + const double t2425 = t335 * t2417; + const double t2429 = t337 * t2417; + const double t2433 = t339 * t2417; + const double t2437 = t341 * t2417; + const double t2443 = -0.64e0 * t2417 - 0.8704e0 * t2419 - 0.8704e0 * t2421 - 0.9214113627294e1 * t1022 * t839 - 0.4607056813647e1 * t2425 + 0.367387230261e2 * t1024 * t839 + 0.122462410087e2 * t2429 - 0.3831420472412e2 * t1026 * t839 - 0.957855118103e1 * t2433 + 0.1550653405116e2 * t1028 * t839 + 0.3101306810232e1 * t2437 - 0.2177652951264e1 * t1030 * t839 - 0.362942158544e0 * t343 * t2417; + const double t2444 = t1315 * t1035; + const double t2445 = t352 * t856; + const double t2448 = piecewise_functor_3( t332, t2400, 0.0 ); + const double t2452 = t1325 * t1035; + const double t2456 = piecewise_functor_5( t323, t2413 + t2415, t331, t2443, -0.21e1 * t2444 * t2445 - 0.105e1 * t855 * t2448 * t352 - 0.1575e1 * t2452 * t2445 ); + const double t2457 = t2456 * t374; + const double t2458 = t1332 * t889; + const double t2461 = t48 * t35; + const double t2465 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t2458 * t415 + 0.8e1 / 0.3e1 * t2461 * t1227 ); + const double t2466 = t1341 * t893; + const double t2469 = t53 * t35; + const double t2473 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t2466 * t419 - 0.8e1 / 0.3e1 * t2469 * t1227 ); + const double t2474 = t2465 + t2473; + const double t2475 = t2474 * t60; + const double t2476 = t2475 * t86; + const double t2477 = 0.19751673498613801407e-1 * t2476; + const double t2478 = t2333 * t910; + const double t2479 = t2332 * t2478; + const double t2480 = 0.3e1 * t2479; + const double t2481 = 0.4e1 * t1497; + const double t2482 = 0.4e1 * t1502; + const double t2483 = -t2358 - t1360 - t2361 + t2362 + t1383 + t1391 + t2457 + t2477 + t2480 + t1512 - t2481 - t1501 - t2482 + t1495 + t1423 - t1426 - t1432 + t1491; + const double t2484 = t1039 * t885; + const double t2485 = t986 * t797; + const double t2487 = t2332 * t2485 * t481; + const double t2488 = 0.3e1 * t2487; + const double t2489 = t97 * t104; + const double t2490 = t288 * t910; + const double t2492 = t2489 * t2490 * t481; + const double t2493 = 0.6e1 * t2492; + const double t2494 = t963 * t468; + const double t2495 = 0.5848223622634646207e0 * t2494; + const double t2496 = t406 * t899; + const double t2497 = 0.4e1 * t2496; + const double t2498 = t410 * t899; + const double t2499 = 0.4e1 * t2498; + const double t2500 = t1532 * t889; + const double t2503 = t472 * t35; + const double t2507 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t2500 * t415 + 0.4e1 / 0.3e1 * t2503 * t1227 ); + const double t2508 = t1539 * t893; + const double t2511 = t476 * t35; + const double t2515 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t2508 * t419 - 0.4e1 / 0.3e1 * t2511 * t1227 ); + const double t2517 = t2507 / 0.2e1 + t2515 / 0.2e1; + const double t2519 = t97 * t471 * t2517; + const double t2520 = 0.3e1 * t2519; + const double t2521 = -t2358 - t1360 + t1383 + t1391 + t2477 + t1512 - t2481 - t1501 - t2482 + t1495 + t1423 - t1426 - t1432; + const double t2522 = t2475 * t88; + const double t2523 = t41 * t2522; + const double t2524 = t898 * t457; + const double t2525 = t41 * t2524; + const double t2526 = 0.18311447306006545054e-3 * t1507; + const double t2527 = 0.5848223622634646207e0 * t1417; + const double t2528 = t1491 - t2495 + t2497 - t2499 + t2523 + t2525 - t1468 - t2526 + t1519 + t1515 - t1405 - t1416 - t2527; + const double t2530 = ( t2521 + t2528 ) * t108; + const double t2536 = t109 * t95; + const double t2537 = t1527 * t910; + const double t2538 = t2537 * t481; + const double t2541 = t490 * t2517; + const double t2544 = 0.3e1 * t109 * t2541 - t2530 * t111 - 0.12e2 * t2536 * t2538 + 0.3e1 * t486 * t917 + 0.3e1 * t915 * t491; + const double t2545 = t2544 * t113; + const double t2546 = t2545 * t285; + const double t2547 = t920 * t494; + const double t2548 = t113 * t285; + const double t2552 = t498 * t983; + const double t2555 = t983 * t792; + const double t2558 = t277 * t938; + const double t2559 = t2558 * t495; + const double t2560 = t360 * t2559; + const double t2563 = t277 * t910; + const double t2564 = t2563 * t495; + const double t2565 = t360 * t2564; + const double t2568 = t277 * t920; + const double t2569 = t113 * t560; + const double t2570 = t2568 * t2569; + const double t2571 = t360 * t2570; + const double t2574 = t113 * t481; + const double t2575 = t2568 * t2574; + const double t2576 = t360 * t2575; + const double t2579 = t571 * t1577; + const double t2580 = t2568 * t495; + const double t2581 = t360 * t2580; + const double t2584 = t788 * t910; + const double t2586 = t1651 * t785 * t2584; + const double t2588 = t1726 * t923; + const double t2589 = t514 * t2588; + const double t2591 = t537 * t920; + const double t2592 = t2591 * t113; + const double t2593 = t1658 * t2592; + const double t2594 = t1657 * t2593; + const double t2596 = t788 * t938; + const double t2598 = t1645 * t785 * t2596; + const double t2601 = t551 * t552 * t2545; + const double t2604 = t537 * t978; + const double t2605 = t2604 * t255; + const double t2606 = t571 * t2605; + const double t2609 = t910 * t560; + const double t2611 = t551 * t552 * t2609; + const double t2614 = t910 * t481; + const double t2616 = t551 * t552 * t2614; + const double t2621 = 0.43341108700271342816e-1 * t1578 * t2560 + 0.13002332610081402845e0 * t1584 * t2565 + 0.43341108700271342816e-1 * t1578 * t2571 + 0.13002332610081402845e0 * t1584 * t2576 - 0.43341108700271342816e-1 * t2579 * t2581 - 0.17465477326173296717e-1 * t2586 - 0.97574405393827830187e-2 * t2589 + 0.27439371595564631661e-2 * t2594 - 0.58218257753910989057e-2 * t2598 - 0.43341108700271342816e-1 * t574 * t2601 - 0.43341108700271342816e-1 * t2606 * t576 + 0.13002332610081402845e0 * t1639 * t2611 + 0.5200933044032561138e0 * t1794 * t2616 + 0.64025200389650807209e-1 * t1593 + 0.11557628986739024751e0 * t1606; + const double t2622 = t1592 * t928; + const double t2625 = t551 * t1603 * t921; + const double t2626 = t574 * t2625; + const double t2633 = t524 * t525 * t129; + const double t2634 = t1613 * t920; + const double t2635 = t1615 * t494; + const double t2636 = t2634 * t2635; + const double t2637 = t1571 * t2636; + const double t2640 = t1621 * t259; + const double t2641 = t571 * t2640; + const double t2642 = t2568 * t2635; + const double t2643 = t360 * t2642; + const double t2646 = t537 * t910; + const double t2648 = t1571 * t2646 * t495; + const double t2651 = t2591 * t2574; + const double t2652 = t1571 * t2651; + const double t2655 = t2591 * t495; + const double t2656 = t1571 * t2655; + const double t2660 = 0.64025200389650807209e-1 * t2622 + 0.11557628986739024751e0 * t2626 - 0.58218257753910989057e-2 * t1648 - 0.17465477326173296717e-1 * t1654 + 0.27439371595564631661e-2 * t1662 + 0.58218257753910989057e-2 * t1666 - t1673 - t1676 + t1689 + t1699 + 0.54878743191129263322e-1 * t2633 * t2637 + 0.86682217400542685632e-1 * t2641 * t2643 + 0.54878743191129263322e-1 * t1569 * t2648 + 0.54878743191129263322e-1 * t1569 * t2652 - 0.27439371595564631661e-1 * t2633 * t2656 - 0.58218257753910989057e-2 * t1709; + const double t2666 = t5 * t378 * t966; + const double t2671 = t898 * t5; + const double t2672 = t2671 * t736; + const double t2674 = t963 * t750; + const double t2677 = t410 * t959; + const double t2679 = t898 * t725; + const double t2680 = t41 * t2679; + const double t2681 = t2475 * t76; + const double t2684 = -t1820 + t1825 + 0.84681398666666666666e-3 * t1828 + t1842 - t1846 - 0.21973736767207854065e-2 * t2475 * t216 - 0.54217906501508699211e-2 * t2672 + 0.17315859105681463759e2 * t2674 + t1849 - 0.54217906501508699211e-2 * t1851 - t1855 - t1860 - t2075 + 0.4e1 * t2677 - t1878 - t2680 + 0.5848223622634646207e0 * t2681 * t236; + const double t2686 = t584 * t956 * t591; + const double t2689 = t595 * t2474; + const double t2694 = t60 * t955; + const double t2695 = t2694 * t170; + const double t2698 = t963 * t745; + const double t2703 = -t1891 - 0.571528e-1 * t2686 + t2082 + 0.5848223622634646207e0 * t2083 - 0.675260332e-1 * t2689 * t598 - 0.675260332e-1 * t951 * t1810 - 0.675260332e-1 * t596 * t2695 + 0.5848223622634646207e0 * t2698 - t2089 + t2093 + 0.1350520664e0 * t2098 - t2101 + 0.4e1 * t2103 + t2106 + t2115 - t1909 + t2117 + 0.65061487801810439052e-1 * t2118; + const double t2707 = t2475 * t229; + const double t2710 = t595 * t970; + const double t2711 = t2710 * t637; + const double t2713 = t406 * t959; + const double t2715 = t963 * t741; + const double t2717 = t2094 * t897; + const double t2718 = t2717 * t2097; + const double t2720 = t2187 - t2193; + const double t2721 = t2720 * t170; + const double t2724 = t2123 - 0.571528e-1 * t2125 - t2133 + t2135 + 0.4e1 * t2136 - t41 * t2707 + t2142 - t2146 - 0.20010214504933333333e-2 * t2148 - 0.20010214504933333333e-2 * t2711 - 0.4e1 * t2713 - 0.11696447245269292414e1 * t2715 + 0.1350520664e0 * t2718 + t1956 + t1962 + t1965 + 0.285764e-1 * t159 * t2721; + const double t2727 = t898 * t697; + const double t2729 = t955 * t585; + const double t2730 = t159 * t2729; + const double t2731 = t2730 * t617; + const double t2733 = -t1986 - t1989 + t2030 + t2158 + t2163 - t2167 - t2171 - t2176 + t2180 - 0.11696447245269292414e1 * t2181 + 0.17315859105681463759e2 * t2183 - t2048 + t2051 - t2199 + 0.65061487801810439052e-1 * t2727 + 0.84681398666666666666e-3 * t2731 - t2066 - t2070; + const double t2735 = t2684 + t2703 + t2724 + t2733; + const double t2741 = -0.675260332e-1 * t2209 + t2358 + t1360 - t1383 - t1391 + 0.285764e-1 * t2212 + t2219 - t2226 - t2477 - t1512 + t2481 + t1501 + t2482 - t1495 - t1423 + t1426 + t1432 - t1491; + const double t2742 = t2475 * t166; + const double t2745 = t898 * t607; + const double t2748 = t424 * t955; + const double t2751 = t955 * t761; + const double t2752 = t759 * t2751; + const double t2754 = t2206 * t897; + const double t2755 = t2754 * t2208; + const double t2759 = t2495 + 0.675260332e-1 * t765 * t2742 + 0.675260332e-1 * t765 * t2745 + 0.675260332e-1 * t765 * t2748 - t2497 + t2499 - t2523 - t2525 + 0.285764e-1 * t2752 + t1468 + t2526 - t1519 - 0.675260332e-1 * t2755 - t1515 + t1405 + t1416 + t2527 - 0.285764e-1 * t246 * t2720; + const double t2763 = t1805 - 0.5e1 / 0.3e1 * t1807 - 0.5e1 / 0.3e1 * t2666 + 0.5e1 * t5 * t11 * t2735 - 0.45e2 * eta * ( t2741 + t2759 ); + const double t2764 = t147 * t2763; + const double t2765 = t146 * t2764; + const double t2770 = t506 * t2614; + const double t2771 = t529 * t2770; + const double t2774 = t538 * t2545; + const double t2775 = t529 * t2774; + const double t2778 = t938 * t560; + const double t2780 = t551 * t552 * t2778; + const double t2783 = t938 * t481; + const double t2785 = t551 * t552 * t2783; + const double t2789 = t980 * t780; + const double t2796 = -0.48787202696913915093e-2 * t1713 - t1720 + 0.54878743191129263322e-2 * t1724 + 0.43341108700271342816e-1 * t2765 * t279 - 0.43341108700271342816e-1 * t1631 * t948 + 0.16463622957338778997e0 * t1774 * t2771 - 0.27439371595564631661e-1 * t535 * t2775 + 0.86682217400542685632e-1 * t1783 * t2780 + 0.13002332610081402845e0 * t1639 * t2785 - 0.97574405393827830186e-2 * t1728 - 0.11557628986739024751e0 * t2789 + 0.12805040077930161442e0 * t1732 + 0.34672886960217074253e0 * t1771 + 0.11557628986739024751e0 * t1791 - 0.13002332610081402845e0 * t1766 * t944 + t1802; + const double t2797 = t1712 * t2593; + const double t2799 = t2568 * t113; + const double t2800 = t1705 * t2799; + const double t2801 = t1704 * t2800; + const double t2803 = t552 * t2517; + const double t2804 = t551 * t2803; + const double t2807 = t133 * t978; + const double t2808 = t2807 * t255; + const double t2809 = t546 * t2808; + const double t2812 = t565 * t2808; + const double t2815 = t506 * t2517; + const double t2816 = t529 * t2815; + const double t2823 = t99 * t35; + const double t2827 = piecewise_functor_3( t45, 0.0, 0.1e2 / 0.9e1 * t903 * t415 + 0.1e2 / 0.3e1 * t2823 * t1227 ); + const double t2830 = t101 * t35; + const double t2834 = piecewise_functor_3( t52, 0.0, 0.1e2 / 0.9e1 * t906 * t419 - 0.1e2 / 0.3e1 * t2830 * t1227 ); + const double t2836 = t2827 / 0.2e1 + t2834 / 0.2e1; + const double t2837 = t552 * t2836; + const double t2838 = t551 * t2837; + const double t2841 = t1603 * t938; + const double t2842 = t551 * t2841; + const double t2843 = t549 * t2842; + const double t2845 = t1603 * t910; + const double t2846 = t551 * t2845; + const double t2847 = t566 * t2846; + const double t2849 = t1731 * t924; + const double t2852 = t978 * t784; + const double t2854 = t783 * t2852 * t788; + const double t2856 = t133 * t910; + const double t2857 = t1721 * t2856; + const double t2858 = t1657 * t2857; + const double t2860 = -0.48787202696913915093e-2 * t2797 - 0.58218257753910989057e-2 * t2801 - 0.13002332610081402845e0 * t566 * t2804 - 0.43341108700271342816e-1 * t2809 * t562 - 0.13002332610081402845e0 * t2812 * t568 - 0.54878743191129263322e-1 * t527 * t2816 - 0.43341108700271342816e-1 * t1744 * t940 - 0.43341108700271342816e-1 * t549 * t2838 + 0.11557628986739024751e0 * t2843 + 0.34672886960217074253e0 * t2847 + 0.12805040077930161442e0 * t2849 + t2248 - 0.11557628986739024751e0 * t2249 + t2257 + 0.58218257753910989057e-2 * t2854 + 0.54878743191129263322e-2 * t2858; + const double t2862 = t2621 + t2660 + t2796 + t2860; + const double t2865 = t2546 + t2547 * t2548 + t921 * t1557 / 0.4e1 + t495 * t2552 / 0.4e1 - 0.5e1 / 0.16e2 * t1563 * t2555 + t499 * t2862 / 0.4e1; + const double t2868 = t97 * t106 * t2865 * t797; + const double t2869 = t879 * t955; + const double t2877 = t2325 * t970; + const double t2879 = t2869 + t372 * t2720 + t2358 + t1360 - 0.2363e1 * t881 * t2742 - 0.2363e1 * t881 * t2745 - 0.2363e1 * t881 * t2748 - 0.2363e1 * t2877 + t2361 - t1383 - t1391 - t2477 - t2480 - t1512 + t2481 + t1501 + t2482 - t1495 - t1423 + t1426; + const double t2882 = -t2525 + t1468 + t2526 - t1519 + t2272 + t2318 - t1515 - 0.2363e1 * t2326 + t1405 + t1416 + t2527; + const double t2884 = t2879 + t1432 - t1491 - t2488 - t2493 + t2495 - t2497 + t2499 - t2520 - t2868 - t2523 + t2882; + const double t2885 = t354 * t2884; + const double t2886 = t2484 + t2488 + t2493 - t2495 + t2497 - t2499 + t2520 + t2868 + t2523 + t2525 - t1468 - t2526 + t1519 + t2885 + t1515 - t1405 - t1416 - t2527; + const double t2889 = t889 * t889; + const double t2892 = t413 + t1228; + const double t2893 = 0.2e1 * t2892; + const double t2897 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1332 * t2889 + 0.4e1 / 0.3e1 * t48 * t2893 ); + const double t2898 = t893 * t893; + const double t2901 = -t2893; + const double t2905 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1341 * t2898 + 0.4e1 / 0.3e1 * t53 * t2901 ); + const double t2906 = t2897 + t2905; + const double t2907 = t2906 * t60; + const double t2908 = t2907 * t88; + const double t2909 = t41 * t2908; + const double t2910 = t2907 * t86; + const double t2911 = 0.19751673498613801407e-1 * t2910; + const double t2912 = t2907 * t166; + const double t2915 = t898 * t955; + const double t2919 = t986 * t986; + const double t2922 = t97 * t106 * t2919 * t2322; + const double t2923 = 0.36622894612013090108e-3 * t2357; + const double t2925 = -t2909 - t2911 - 0.2363e1 * t881 * t2912 - 0.4726e1 * t881 * t2915 + 0.2e1 * t2869 + t2922 + t2923 + t1360 - 0.4726e1 * t2877 - t1383 - t1391 - t1512 + t1505 + t1501 - t1423 - t1426 - t1429; + const double t2926 = 0.11696447245269292414e1 * t2494; + const double t2927 = t2485 * t910; + const double t2928 = t2332 * t2927; + const double t2929 = 0.6e1 * t2928; + const double t2930 = 0.8e1 * t2496; + const double t2931 = 0.8e1 * t2498; + const double t2932 = 0.2e1 * t2525; + const double t2933 = -t2187 - t2189 - t2193; + const double t2935 = t2911 - t2926 + t2932 - t2930 - t2931 + t2909 - t2923 - t1405 - t1416 + t1423 + t1426; + const double t2936 = t1429 - t1432 + t1491 - t1501 - t1505 - t1360 + t1383 + t1391 + t1512 - t1468 + t1515 + t1519; + const double t2938 = ( t2935 + t2936 ) * t108; + const double t2942 = t910 * t910; + const double t2943 = t1528 * t2942; + const double t2946 = t1532 * t2889; + const double t2948 = t472 * t2893; + const double t2951 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t2946 + 0.2e1 / 0.3e1 * t2948 ); + const double t2952 = t1539 * t2898; + const double t2954 = t476 * t2901; + const double t2957 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t2952 + 0.2e1 / 0.3e1 * t2954 ); + const double t2959 = t2951 / 0.2e1 + t2957 / 0.2e1; + const double t2960 = t490 * t2959; + const double t2963 = -0.12e2 * t109 * t2943 + 0.3e1 * t109 * t2960 - t2938 * t111 + 0.6e1 * t915 * t917; + const double t2964 = t2963 * t113; + const double t2966 = t920 * t920; + const double t2967 = t2966 * t113; + const double t2971 = t983 * t983; + const double t2979 = t551 * t552 * t2964; + const double t2984 = t538 * t2964; + const double t2985 = t529 * t2984; + const double t2988 = t938 * t910; + const double t2990 = t551 * t552 * t2988; + const double t2994 = t551 * t552 * t2967; + const double t2997 = t552 * t2942; + const double t2998 = t551 * t2997; + const double t3004 = t938 * t938; + const double t3005 = t552 * t3004; + const double t3006 = t551 * t3005; + const double t3009 = t506 * t2942; + const double t3010 = t529 * t3009; + const double t3013 = t552 * t2959; + const double t3014 = t551 * t3013; + const double t3017 = t506 * t2959; + const double t3018 = t529 * t3017; + const double t3028 = piecewise_functor_3( t45, 0.0, 0.1e2 / 0.9e1 * t472 * t2889 + 0.5e1 / 0.3e1 * t99 * t2893 ); + const double t3034 = piecewise_functor_3( t52, 0.0, 0.1e2 / 0.9e1 * t476 * t2898 + 0.5e1 / 0.3e1 * t101 * t2901 ); + const double t3036 = t3028 / 0.2e1 + t3034 / 0.2e1; + const double t3037 = t552 * t3036; + const double t3038 = t551 * t3037; + const double t3043 = 0.12805040077930161442e0 * t2622 + 0.23115257973478049502e0 * t2626 - t1673 + 0.86682217400542685632e-1 * t1783 * t3006 + 0.16463622957338778997e0 * t1774 * t3010 - 0.13002332610081402845e0 * t566 * t3014 - 0.54878743191129263322e-1 * t527 * t3018 - 0.86682217400542685632e-1 * t2809 * t940 - 0.43341108700271342816e-1 * t549 * t3038 - 0.2600466522016280569e0 * t2812 * t944 - t1676; + const double t3047 = t2933 * t170; + const double t3053 = -t1820 + t1825 + t1842 - t1846 - 0.10843581300301739842e-1 * t2672 + 0.285764e-1 * t159 * t3047 + 0.34631718211362927518e2 * t2674 + t1849 - t1855 - t1860 - t2075 + 0.8e1 * t2677 - t1878 - 0.2e1 * t2680; + const double t3055 = t2907 * t229; + const double t3057 = t2907 * t76; + const double t3061 = -t1891 - 0.1143056e0 * t2686 + t2082 - t41 * t3055 + 0.5848223622634646207e0 * t3057 * t236 + 0.11696447245269292414e1 * t2698 - t2089 + t2093 - t2106 - t2108 + t2115 - t1909 + t2117 + t2123 - t2133; + const double t3067 = t595 * t2906; + const double t3072 = t2135 + t2142 - t2146 - 0.40020429009866666666e-2 * t2711 + 0.8e1 * t2713 - 0.23392894490538584828e1 * t2715 + 0.2701041328e0 * t2718 + t1956 + t1962 + t1965 + t2151 - 0.675260332e-1 * t3067 * t598 - 0.1350520664e0 * t951 * t2695 - t1986 - t1989; + const double t3077 = -0.21973736767207854065e-2 * t2907 * t216 + t2030 + t2158 + t2163 - t2167 - t2171 - t2176 + t2180 - t2048 + t2051 - t2199 + 0.1301229756036208781e0 * t2727 + 0.16936279733333333333e-2 * t2731 - t2066 - t2070; + const double t3079 = t3053 + t3061 + t3072 + t3077; + const double t3087 = -t2909 - t2911 + t2923 + t1360 - t1383 - t1391 + t2219 - t2226 - t1512 + 0.675260332e-1 * t765 * t2912 + 0.1350520664e0 * t765 * t2915 + t1505 + t1501 - t1423 - t1426; + const double t3092 = -t1429 + t1432 - t1491 + t2926 + t2930 + t2931 - t2932 - 0.285764e-1 * t246 * t2933 + 0.571528e-1 * t2752 + t1468 - t1519 - 0.1350520664e0 * t2755 - t1515 + t1405 + t1416; + const double t3096 = t1805 - 0.1e2 / 0.3e1 * t2666 + 0.5e1 * t5 * t11 * t3079 - 0.45e2 * eta * ( t3087 + t3092 ); + const double t3097 = t147 * t3096; + const double t3098 = t146 * t3097; + const double t3101 = t538 * t2967; + const double t3102 = t529 * t3101; + const double t3105 = t2563 * t921; + const double t3106 = t360 * t3105; + const double t3109 = t2966 * t1615; + const double t3110 = t1614 * t3109; + const double t3111 = t529 * t3110; + const double t3115 = t551 * t552 * t3109; + const double t3122 = t2558 * t921; + const double t3123 = t360 * t3122; + const double t3129 = t1571 * t2646 * t921; + const double t3135 = -0.97574405393827830186e-2 * t2797 - 0.11643651550782197811e-1 * t2801 + 0.86682217400542685632e-1 * t1578 * t3123 + 0.23115257973478049502e0 * t2843 + 0.69345773920434148506e0 * t2847 + 0.10975748638225852664e0 * t1569 * t3129 + 0.25610080155860322884e0 * t2849 + t2248 + t2257 + 0.11643651550782197811e-1 * t2854 + 0.10975748638225852664e-1 * t2858; + const double t3137 = -0.34930954652346593434e-1 * t2586 - 0.19514881078765566037e-1 * t2589 + 0.54878743191129263322e-2 * t2594 - 0.11643651550782197811e-1 * t2598 - 0.43341108700271342816e-1 * t574 * t2979 - 0.86682217400542685632e-1 * t2606 * t948 - 0.27439371595564631661e-1 * t535 * t2985 + 0.2600466522016280569e0 * t1639 * t2990 - 0.43341108700271342816e-1 * t574 * t2994 + 0.5200933044032561138e0 * t1794 * t2998 + t3043 + 0.43341108700271342816e-1 * t3098 * t279 - 0.27439371595564631661e-1 * t535 * t3102 + t1689 + t1699 - t1720 + 0.2600466522016280569e0 * t1584 * t3106 + 0.54878743191129263322e-1 * t535 * t3111 + 0.86682217400542685632e-1 * t1623 * t3115 - 0.23115257973478049502e0 * t2789 + t1802 + t3135; + const double t3140 = t2964 * t285 + t2967 * t285 + t921 * t2552 / 0.2e1 - 0.5e1 / 0.16e2 * t1563 * t2971 + t499 * t3137 / 0.4e1; + const double t3143 = t97 * t106 * t3140 * t797; + const double t3145 = t97 * t471 * t2959; + const double t3146 = 0.3e1 * t3145; + const double t3148 = t97 * t1392 * t2942; + const double t3149 = 0.6e1 * t3148; + const double t3150 = t372 * t2933 + t1405 + t1416 + t1432 + t1468 - t1491 - t1515 - t1519 + t2318 + t2926 - t2929 + t2930 + t2931 - t2932 - t3143 - t3146 - t3149; + const double t3151 = t2925 + t3150; + const double t3152 = t354 * t3151; + const double t3153 = t2909 + t2911 + t3152 - t2922 - t2923 - t1360 + t1383 + t1391 + t1512 - t1505 - t1501 + t1423 + t1426 + t1429 - t1432; + const double t3154 = t990 * t990; + const double t3155 = t1222 * t3154; + const double t3158 = t298 * t2892; + const double t3163 = 0.1e1 / t302 / t994 / rho_b; + const double t3164 = tau_b * t3163; + const double t3169 = t1000 * t1000; + const double t3170 = t1233 * t3169; + const double t3173 = -t2892; + const double t3174 = t308 * t3173; + const double t3177 = 0.1e2 / 0.9e1 * t295 * t3155 + 0.5e1 / 0.3e1 * t295 * t3158 + 0.4e2 / 0.9e1 * t3164 * t309 - 0.5e2 / 0.9e1 * t997 * t1001 + 0.1e2 / 0.9e1 * t305 * t3170 + 0.5e1 / 0.3e1 * t305 * t3174 - t1245; + const double t3181 = t1010 * t1010; + const double t3191 = 0.3e1 / 0.1e2 * t313 * ( 0.1e2 / 0.9e1 * t3155 + 0.5e1 / 0.3e1 * t3158 + 0.1e2 / 0.9e1 * t3170 + 0.5e1 / 0.3e1 * t3174 ) + t1265; + const double t3193 = -0.2e1 * t2385 * t1010 + 0.2e1 * t1253 * t3181 + t3177 * t321 - t819 * t3191; + const double t3194 = piecewise_functor_3( t324, 0.0, t3193 ); + const double t3197 = t1013 * t1013; + const double t3204 = -0.64e0 * t3194 * t327 - 0.128e1 * t3197 * t833 - 0.128e1 * t1277 * t3197 - 0.64e0 * t834 * t3194; + const double t3205 = t3204 * t330; + const double t3206 = t1018 * t1018; + const double t3207 = t3206 * t330; + const double t3209 = piecewise_functor_3( t332, 0.0, t3193 ); + const double t3211 = t1020 * t1020; + const double t3213 = t333 * t3209; + const double t3215 = t333 * t3211; + const double t3217 = t335 * t3209; + const double t3219 = t335 * t3211; + const double t3221 = t337 * t3209; + const double t3223 = t337 * t3211; + const double t3225 = t339 * t3209; + const double t3227 = t339 * t3211; + const double t3229 = t341 * t3209; + const double t3235 = -0.64e0 * t3209 - 0.8704e0 * t3211 - 0.8704e0 * t3213 - 0.9214113627294e1 * t3215 - 0.4607056813647e1 * t3217 + 0.367387230261e2 * t3219 + 0.122462410087e2 * t3221 - 0.3831420472412e2 * t3223 - 0.957855118103e1 * t3225 + 0.1550653405116e2 * t3227 + 0.3101306810232e1 * t3229 - 0.2177652951264e1 * t341 * t3211 - 0.362942158544e0 * t343 * t3209; + const double t3236 = t1035 * t1035; + const double t3240 = piecewise_functor_3( t332, t3193, 0.0 ); + const double t3244 = t1325 * t3236; + const double t3248 = piecewise_functor_5( t323, t3205 + t3207, t331, t3235, -0.21e1 * t1315 * t3236 * t352 - 0.105e1 * t855 * t3240 * t352 - 0.1575e1 * t3244 * t352 ); + const double t3249 = t3248 * t374; + const double t3250 = t1039 * t1044; + const double t3251 = 0.2e1 * t3250; + const double t3252 = t1491 - t2926 + t2929 - t2930 - t2931 + t2932 - t1468 + t1519 + t3143 + t1515 + t3146 - t1405 - t1416 + t3249 + t3251 + t3149; + const double t3261 = t105 * t114; + const double t3262 = t97 * t3261; + const double t3263 = t498 * t1064; + const double t3264 = t797 * t481; + const double t3266 = t3262 * t3263 * t3264; + const double t3267 = 0.3e1 / 0.4e1 * t3266; + const double t3268 = t106 * t494; + const double t3269 = t97 * t3268; + const double t3270 = t113 * t498; + const double t3271 = t3270 * t1065; + const double t3272 = t3269 * t3271; + const double t3273 = t3272 / 0.4e1; + const double t3274 = t106 * t114; + const double t3275 = t97 * t3274; + const double t3276 = t1562 * t1064; + const double t3277 = t797 * t792; + const double t3279 = t3275 * t3276 * t3277; + const double t3280 = 0.5e1 / 0.16e2 * t3279; + const double t3281 = t503 * t57; + const double t3282 = t3281 * t1696; + const double t3283 = 0.27439371595564631661e-2 * t3282; + const double t3285 = t512 * t502 * t507; + const double t3286 = 0.48787202696913915093e-2 * t3285; + const double t3288 = t120 * t1591 * t1050; + const double t3289 = 0.64025200389650807209e-1 * t3288; + const double t3290 = t120 * t526; + const double t3291 = t3290 * t531; + const double t3293 = t120 * t124; + const double t3294 = t505 * t20; + const double t3295 = t3293 * t3294; + const double t3296 = t1571 * t1660; + const double t3297 = t3295 * t3296; + const double t3299 = t545 * t253; + const double t3300 = t261 * t561; + const double t3301 = t3299 * t3300; + const double t3303 = t1650 * t252; + const double t3304 = t146 * t3303; + const double t3305 = t261 * t567; + const double t3306 = t3304 * t3305; + const double t3308 = t550 * t263; + const double t3309 = t3308 * t1707; + const double t3310 = t574 * t3309; + const double t3312 = t776 * t1055; + const double t3314 = t260 * t502; + const double t3316 = t259 * t3314 * t277; + const double t3317 = t254 * t3316; + const double t3318 = 0.11557628986739024751e0 * t3317; + const double t3319 = t252 * t787; + const double t3320 = t269 * t277; + const double t3322 = t783 * t3319 * t3320; + const double t3323 = 0.23287303101564395623e-1 * t3322; + const double t3324 = t1060 * t560; + const double t3326 = t1645 * t1058 * t3324; + const double t3328 = t1060 * t481; + const double t3330 = t1651 * t1058 * t3328; + const double t3332 = t269 * t1059; + const double t3333 = t3332 * t1707; + const double t3334 = t1704 * t3333; + const double t3336 = t774 * t269; + const double t3338 = t783 * t3336 * t1060; + const double t3341 = 0.1e1 / t9 / t2190; + const double t3342 = t1677 * t3341; + const double t3344 = t3342 * t265 * t1686; + const double t3345 = t254 * t3344; + const double t3346 = 0.23804984598836975486e-2 * t3345; + const double t3347 = -t3283 + t3286 - t3289 - 0.54878743191129263322e-1 * t3291 - 0.27439371595564631661e-1 * t3297 - 0.43341108700271342816e-1 * t3301 - 0.13002332610081402845e0 * t3306 - 0.43341108700271342816e-1 * t3310 + 0.43341108700271342816e-1 * t3312 - t3318 + t3323 + 0.21831846657716620896e-2 * t3326 + 0.65495539973149862688e-2 * t3330 + 0.21831846657716620896e-2 * t3334 - 0.21831846657716620896e-2 * t3338 - t3346; + const double t3348 = t3347 * t797; + const double t3350 = t1048 * t499 * t3348; + const double t3351 = t3350 / 0.4e1; + const double t3352 = t2322 * t795; + const double t3354 = t3275 * t3263 * t3352; + const double t3355 = t3354 / 0.4e1; + const double t3356 = t502 * t321; + const double t3357 = t3356 / 0.3e1; + const double t3358 = t263 * t818; + const double t3359 = t3358 * t826; + const double t3361 = t1248 * t1070; + const double t3363 = t1070 * t826; + const double t3364 = t1253 * t3363; + const double t3366 = eta * t502; + const double t3367 = t819 * t3366; + const double t3368 = t3367 / 0.3e1; + const double t3369 = t3357 + t3359 / 0.8e1 - t3361 / 0.8e1 + t3364 / 0.4e1 + t3368; + const double t3370 = piecewise_functor_3( t324, 0.0, t3369 ); + const double t3373 = t1074 * t833; + const double t3376 = t1074 * t829; + const double t3381 = -0.64e0 * t3370 * t327 - 0.128e1 * t3373 * t829 - 0.128e1 * t1277 * t3376 - 0.64e0 * t834 * t3370; + const double t3382 = t3381 * t330; + const double t3383 = t1079 * t837; + const double t3384 = t3383 * t330; + const double t3386 = piecewise_functor_3( t332, 0.0, t3369 ); + const double t3388 = t839 * t1081; + const double t3390 = t333 * t3386; + const double t3394 = t335 * t3386; + const double t3398 = t337 * t3386; + const double t3402 = t339 * t3386; + const double t3406 = t341 * t3386; + const double t3412 = -0.64e0 * t3386 - 0.8704e0 * t3388 - 0.8704e0 * t3390 - 0.9214113627294e1 * t1083 * t839 - 0.4607056813647e1 * t3394 + 0.367387230261e2 * t1085 * t839 + 0.122462410087e2 * t3398 - 0.3831420472412e2 * t1087 * t839 - 0.957855118103e1 * t3402 + 0.1550653405116e2 * t1089 * t839 + 0.3101306810232e1 * t3406 - 0.2177652951264e1 * t1091 * t839 - 0.362942158544e0 * t343 * t3386; + const double t3413 = t1315 * t1096; + const double t3416 = piecewise_functor_3( t332, t3369, 0.0 ); + const double t3420 = t1325 * t1096; + const double t3424 = piecewise_functor_5( t323, t3382 + t3384, t331, t3412, -0.21e1 * t3413 * t2445 - 0.105e1 * t855 * t3416 * t352 - 0.1575e1 * t3420 * t2445 ); + const double t3425 = t3424 * t374; + const double t3426 = t1100 * t885; + const double t3427 = t860 * t1108; + const double t3428 = t2288 * t255; + const double t3429 = t862 * t3428; + const double t3430 = t3308 * t1104; + const double t3431 = t3429 * t3430; + const double t3432 = 0.15243824895787514157e-3 * t3431; + const double t3434 = t2297 * t3433; + const double t3436 = 0.1e1 / t9 / t1419; + const double t3437 = t3436 * t875; + const double t3438 = t158 * t166; + const double t3439 = t3438 * t122; + const double t3441 = t3434 * t3437 * t3439; + const double t3442 = 0.21684485328539747656e-4 * t3441; + const double t3444 = t1102 * t3314 * t1104; + const double t3445 = 0.40650199722100037752e-3 * t3444; + const double t3446 = t869 * t261; + const double t3447 = t263 * t2313; + const double t3448 = t3438 * t874; + const double t3450 = t3446 * t3447 * t3448; + const double t3451 = 0.15243824895787514157e-3 * t3450; + const double t3453 = t263 * t875 * t58; + const double t3455 = t3446 * t3453 * t766; + const double t3457 = t1103 * t607; + const double t3459 = t1102 * t1053 * t3457; + const double t3461 = -t3432 + t3442 - t3445 - t3451 - 0.36021158228745895953e-3 * t3455 + 0.15243824895787514157e-3 * t3459 - t3267 - t3273 + t3280 - t3351 + t3355; + const double t3462 = t354 * t3461; + const double t3465 = t498 * t1114; + const double t3467 = t3262 * t3465 * t3264; + const double t3468 = 0.3e1 / 0.4e1 * t3467; + const double t3469 = t3270 * t1115; + const double t3470 = t3269 * t3469; + const double t3471 = t3470 / 0.4e1; + const double t3472 = t1562 * t1114; + const double t3474 = t3275 * t3472 * t3277; + const double t3475 = 0.5e1 / 0.16e2 * t3474; + const double t3476 = 0.54878743191129263322e-2 * t3282; + const double t3477 = 0.97574405393827830187e-2 * t3285; + const double t3478 = 0.12805040077930161442e0 * t3288; + const double t3485 = 0.23115257973478049502e0 * t3317; + const double t3486 = 0.46574606203128791246e-1 * t3322; + const double t3491 = 0.47609969197673950973e-2 * t3345; + const double t3492 = -t3476 + t3477 - t3478 - 0.10975748638225852664e0 * t3291 - 0.54878743191129263322e-1 * t3297 - 0.86682217400542685632e-1 * t3301 - 0.2600466522016280569e0 * t3306 - 0.86682217400542685632e-1 * t3310 + 0.86682217400542685632e-1 * t3312 - t3485 + t3486 + 0.43663693315433241794e-2 * t3326 + 0.13099107994629972538e-1 * t3330 + 0.43663693315433241794e-2 * t3334 - 0.43663693315433241794e-2 * t3338 - t3491; + const double t3493 = t3492 * t797; + const double t3495 = t1048 * t499 * t3493; + const double t3496 = t3495 / 0.4e1; + const double t3498 = t3275 * t3465 * t3352; + const double t3499 = t3498 / 0.4e1; + const double t3500 = 0.2e1 / 0.3e1 * t3356; + const double t3504 = 0.2e1 / 0.3e1 * t3367; + const double t3505 = t3500 + t3359 / 0.4e1 - t3361 / 0.4e1 + t3364 / 0.2e1 + t3504; + const double t3506 = piecewise_functor_3( t324, 0.0, t3505 ); + const double t3509 = t1120 * t833; + const double t3512 = t1120 * t829; + const double t3517 = -0.64e0 * t3506 * t327 - 0.128e1 * t3509 * t829 - 0.128e1 * t1277 * t3512 - 0.64e0 * t834 * t3506; + const double t3518 = t3517 * t330; + const double t3519 = t1125 * t837; + const double t3520 = t3519 * t330; + const double t3522 = piecewise_functor_3( t332, 0.0, t3505 ); + const double t3524 = t839 * t1127; + const double t3526 = t333 * t3522; + const double t3530 = t335 * t3522; + const double t3534 = t337 * t3522; + const double t3538 = t339 * t3522; + const double t3542 = t341 * t3522; + const double t3548 = -0.64e0 * t3522 - 0.8704e0 * t3524 - 0.8704e0 * t3526 - 0.9214113627294e1 * t1129 * t839 - 0.4607056813647e1 * t3530 + 0.367387230261e2 * t1131 * t839 + 0.122462410087e2 * t3534 - 0.3831420472412e2 * t1133 * t839 - 0.957855118103e1 * t3538 + 0.1550653405116e2 * t1135 * t839 + 0.3101306810232e1 * t3542 - 0.2177652951264e1 * t1137 * t839 - 0.362942158544e0 * t343 * t3522; + const double t3549 = t1315 * t1142; + const double t3552 = piecewise_functor_3( t332, t3505, 0.0 ); + const double t3556 = t1325 * t1142; + const double t3560 = piecewise_functor_5( t323, t3518 + t3520, t331, t3548, -0.21e1 * t3549 * t2445 - 0.105e1 * t855 * t3552 * t352 - 0.1575e1 * t3556 * t2445 ); + const double t3561 = t3560 * t374; + const double t3562 = t1146 * t885; + const double t3563 = t860 * t1149; + const double t3564 = 0.30487649791575028312e-3 * t3431; + const double t3565 = 0.43368970657079495308e-4 * t3441; + const double t3566 = 0.81300399444200075499e-3 * t3444; + const double t3567 = 0.30487649791575028312e-3 * t3450; + const double t3570 = -t3564 + t3565 - t3566 - t3567 - 0.72042316457491791901e-3 * t3455 + 0.30487649791575028312e-3 * t3459 - t3468 - t3471 + t3475 - t3496 + t3499; + const double t3571 = t354 * t3570; + const double t3574 = t797 * t910; + const double t3575 = t3263 * t3574; + const double t3576 = t3262 * t3575; + const double t3577 = 0.3e1 / 0.4e1 * t3576; + const double t3578 = t106 * t920; + const double t3579 = t97 * t3578; + const double t3580 = t3579 * t3271; + const double t3581 = t3580 / 0.4e1; + const double t3582 = t797 * t983; + const double t3584 = t3275 * t3276 * t3582; + const double t3585 = 0.5e1 / 0.16e2 * t3584; + const double t3586 = t3290 * t924; + const double t3588 = t1571 * t2592; + const double t3589 = t3295 * t3588; + const double t3591 = t261 * t939; + const double t3592 = t3299 * t3591; + const double t3594 = t261 * t943; + const double t3595 = t3304 * t3594; + const double t3597 = t3308 * t2799; + const double t3598 = t574 * t3597; + const double t3600 = t980 * t1055; + const double t3602 = t1060 * t938; + const double t3604 = t1645 * t1058 * t3602; + const double t3606 = t1060 * t910; + const double t3608 = t1651 * t1058 * t3606; + const double t3610 = t3332 * t2799; + const double t3611 = t1704 * t3610; + const double t3613 = t978 * t269; + const double t3615 = t783 * t3613 * t1060; + const double t3617 = -t3283 + t3286 - t3289 - 0.54878743191129263322e-1 * t3586 - 0.27439371595564631661e-1 * t3589 - 0.43341108700271342816e-1 * t3592 - 0.13002332610081402845e0 * t3595 - 0.43341108700271342816e-1 * t3598 + 0.43341108700271342816e-1 * t3600 - t3318 + t3323 + 0.21831846657716620896e-2 * t3604 + 0.65495539973149862688e-2 * t3608 + 0.21831846657716620896e-2 * t3611 - 0.21831846657716620896e-2 * t3615 - t3346; + const double t3618 = t3617 * t797; + const double t3620 = t1048 * t499 * t3618; + const double t3621 = t3620 / 0.4e1; + const double t3623 = t3275 * t3263 * t2359; + const double t3624 = t3623 / 0.4e1; + const double t3625 = t3358 * t1010; + const double t3627 = t2385 * t1070; + const double t3629 = t1070 * t1010; + const double t3630 = t1253 * t3629; + const double t3632 = t3357 + t3625 / 0.8e1 - t3627 / 0.8e1 + t3630 / 0.4e1 + t3368; + const double t3633 = piecewise_functor_3( t324, 0.0, t3632 ); + const double t3638 = t1074 * t1013; + const double t3643 = -0.64e0 * t3633 * t327 - 0.128e1 * t3373 * t1013 - 0.128e1 * t1277 * t3638 - 0.64e0 * t834 * t3633; + const double t3644 = t3643 * t330; + const double t3645 = t1079 * t1018; + const double t3646 = t3645 * t330; + const double t3648 = piecewise_functor_3( t332, 0.0, t3632 ); + const double t3650 = t1020 * t1081; + const double t3652 = t333 * t3648; + const double t3656 = t335 * t3648; + const double t3660 = t337 * t3648; + const double t3664 = t339 * t3648; + const double t3668 = t341 * t3648; + const double t3674 = -0.64e0 * t3648 - 0.8704e0 * t3650 - 0.8704e0 * t3652 - 0.9214113627294e1 * t1083 * t1020 - 0.4607056813647e1 * t3656 + 0.367387230261e2 * t1085 * t1020 + 0.122462410087e2 * t3660 - 0.3831420472412e2 * t1087 * t1020 - 0.957855118103e1 * t3664 + 0.1550653405116e2 * t1089 * t1020 + 0.3101306810232e1 * t3668 - 0.2177652951264e1 * t1091 * t1020 - 0.362942158544e0 * t343 * t3648; + const double t3675 = t352 * t1035; + const double t3678 = piecewise_functor_3( t332, t3632, 0.0 ); + const double t3685 = piecewise_functor_5( t323, t3644 + t3646, t331, t3674, -0.21e1 * t3413 * t3675 - 0.105e1 * t855 * t3678 * t352 - 0.1575e1 * t3420 * t3675 ); + const double t3686 = t3685 * t374; + const double t3687 = t1100 * t1044; + const double t3688 = t1039 * t1108; + const double t3690 = t3446 * t3453 * t970; + const double t3692 = t1103 * t955; + const double t3694 = t1102 * t1053 * t3692; + const double t3696 = -t3432 + t3442 - t3445 - t3451 - 0.36021158228745895953e-3 * t3690 + 0.15243824895787514157e-3 * t3694 - t3577 - t3581 + t3585 - t3621 + t3624; + const double t3697 = t354 * t3696; + const double t3700 = t3465 * t3574; + const double t3701 = t3262 * t3700; + const double t3702 = 0.3e1 / 0.4e1 * t3701; + const double t3703 = t3579 * t3469; + const double t3704 = t3703 / 0.4e1; + const double t3706 = t3275 * t3472 * t3582; + const double t3707 = 0.5e1 / 0.16e2 * t3706; + const double t3718 = -t3476 + t3477 - t3478 - 0.10975748638225852664e0 * t3586 - 0.54878743191129263322e-1 * t3589 - 0.86682217400542685632e-1 * t3592 - 0.2600466522016280569e0 * t3595 - 0.86682217400542685632e-1 * t3598 + 0.86682217400542685632e-1 * t3600 - t3485 + t3486 + 0.43663693315433241794e-2 * t3604 + 0.13099107994629972538e-1 * t3608 + 0.43663693315433241794e-2 * t3611 - 0.43663693315433241794e-2 * t3615 - t3491; + const double t3719 = t3718 * t797; + const double t3721 = t1048 * t499 * t3719; + const double t3722 = t3721 / 0.4e1; + const double t3724 = t3275 * t3465 * t2359; + const double t3725 = t3724 / 0.4e1; + const double t3729 = t3500 + t3625 / 0.4e1 - t3627 / 0.4e1 + t3630 / 0.2e1 + t3504; + const double t3730 = piecewise_functor_3( t324, 0.0, t3729 ); + const double t3735 = t1120 * t1013; + const double t3740 = -0.64e0 * t3730 * t327 - 0.128e1 * t3509 * t1013 - 0.128e1 * t1277 * t3735 - 0.64e0 * t834 * t3730; + const double t3741 = t3740 * t330; + const double t3742 = t1125 * t1018; + const double t3743 = t3742 * t330; + const double t3745 = piecewise_functor_3( t332, 0.0, t3729 ); + const double t3747 = t1020 * t1127; + const double t3749 = t333 * t3745; + const double t3753 = t335 * t3745; + const double t3757 = t337 * t3745; + const double t3761 = t339 * t3745; + const double t3765 = t341 * t3745; + const double t3771 = -0.64e0 * t3745 - 0.8704e0 * t3747 - 0.8704e0 * t3749 - 0.9214113627294e1 * t1129 * t1020 - 0.4607056813647e1 * t3753 + 0.367387230261e2 * t1131 * t1020 + 0.122462410087e2 * t3757 - 0.3831420472412e2 * t1133 * t1020 - 0.957855118103e1 * t3761 + 0.1550653405116e2 * t1135 * t1020 + 0.3101306810232e1 * t3765 - 0.2177652951264e1 * t1137 * t1020 - 0.362942158544e0 * t343 * t3745; + const double t3774 = piecewise_functor_3( t332, t3729, 0.0 ); + const double t3781 = piecewise_functor_5( t323, t3741 + t3743, t331, t3771, -0.21e1 * t3549 * t3675 - 0.105e1 * t855 * t3774 * t352 - 0.1575e1 * t3556 * t3675 ); + const double t3782 = t3781 * t374; + const double t3783 = t1146 * t1044; + const double t3784 = t1039 * t1149; + const double t3787 = -t3564 + t3565 - t3566 - t3567 - 0.72042316457491791901e-3 * t3690 + 0.30487649791575028312e-3 * t3694 - t3702 - t3704 + t3707 - t3722 + t3725; + const double t3788 = t354 * t3787; + const double t3791 = t1180 * t374; + const double t3792 = t802 * t299; + const double t3795 = t294 * t298; + const double t3796 = t321 * t806; + const double t3799 = t818 * t826; + const double t3801 = -0.5e1 / 0.3e1 * t3792 * t321 + 0.5e1 / 0.3e1 * t3795 * t3796 - t1152 * t3799; + const double t3802 = piecewise_functor_3( t324, 0.0, t3801 ); + const double t3805 = t1154 * t833; + const double t3808 = t1154 * t829; + const double t3813 = -0.64e0 * t3802 * t327 - 0.128e1 * t3805 * t829 - 0.128e1 * t1277 * t3808 - 0.64e0 * t834 * t3802; + const double t3814 = t3813 * t330; + const double t3815 = t1159 * t837; + const double t3818 = piecewise_functor_3( t332, 0.0, t3801 ); + const double t3820 = t839 * t1161; + const double t3822 = t333 * t3818; + const double t3826 = t335 * t3818; + const double t3830 = t337 * t3818; + const double t3834 = t339 * t3818; + const double t3838 = t341 * t3818; + const double t3844 = -0.64e0 * t3818 - 0.8704e0 * t3820 - 0.8704e0 * t3822 - 0.9214113627294e1 * t1163 * t839 - 0.4607056813647e1 * t3826 + 0.367387230261e2 * t1165 * t839 + 0.122462410087e2 * t3830 - 0.3831420472412e2 * t1167 * t839 - 0.957855118103e1 * t3834 + 0.1550653405116e2 * t1169 * t839 + 0.3101306810232e1 * t3838 - 0.2177652951264e1 * t1171 * t839 - 0.362942158544e0 * t343 * t3818; + const double t3845 = t1315 * t1176; + const double t3848 = piecewise_functor_3( t332, t3801, 0.0 ); + const double t3852 = t1325 * t1176; + const double t3856 = piecewise_functor_5( t323, t3815 * t330 + t3814, t331, t3844, -0.21e1 * t3845 * t2445 - 0.105e1 * t855 * t3848 * t352 - 0.1575e1 * t3852 * t2445 ); + const double t3857 = t8 * t3856; + const double t3860 = t1210 * t374; + const double t3861 = t304 * t308; + const double t3862 = t321 * t810; + const double t3866 = 0.5e1 / 0.3e1 * t3861 * t3862 - t1182 * t3799; + const double t3867 = piecewise_functor_3( t324, 0.0, t3866 ); + const double t3870 = t1184 * t833; + const double t3873 = t1184 * t829; + const double t3878 = -0.64e0 * t3867 * t327 - 0.128e1 * t3870 * t829 - 0.128e1 * t1277 * t3873 - 0.64e0 * t834 * t3867; + const double t3879 = t3878 * t330; + const double t3880 = t1189 * t837; + const double t3883 = piecewise_functor_3( t332, 0.0, t3866 ); + const double t3885 = t839 * t1191; + const double t3887 = t333 * t3883; + const double t3891 = t335 * t3883; + const double t3895 = t337 * t3883; + const double t3899 = t339 * t3883; + const double t3903 = t341 * t3883; + const double t3909 = -0.64e0 * t3883 - 0.8704e0 * t3885 - 0.8704e0 * t3887 - 0.9214113627294e1 * t1193 * t839 - 0.4607056813647e1 * t3891 + 0.367387230261e2 * t1195 * t839 + 0.122462410087e2 * t3895 - 0.3831420472412e2 * t1197 * t839 - 0.957855118103e1 * t3899 + 0.1550653405116e2 * t1199 * t839 + 0.3101306810232e1 * t3903 - 0.2177652951264e1 * t1201 * t839 - 0.362942158544e0 * t343 * t3883; + const double t3910 = t1315 * t1206; + const double t3913 = piecewise_functor_3( t332, t3866, 0.0 ); + const double t3917 = t1325 * t1206; + const double t3921 = piecewise_functor_5( t323, t3880 * t330 + t3879, t331, t3909, -0.21e1 * t3910 * t2445 - 0.105e1 * t855 * t3913 * t352 - 0.1575e1 * t3917 * t2445 ); + const double t3922 = t8 * t3921; + const double t3925 = t321 * t990; + const double t3928 = t818 * t1010; + const double t3930 = 0.5e1 / 0.3e1 * t3795 * t3925 - t1152 * t3928; + const double t3931 = piecewise_functor_3( t324, 0.0, t3930 ); + const double t3936 = t1154 * t1013; + const double t3941 = -0.64e0 * t3931 * t327 - 0.128e1 * t3805 * t1013 - 0.128e1 * t1277 * t3936 - 0.64e0 * t834 * t3931; + const double t3942 = t3941 * t330; + const double t3943 = t1159 * t1018; + const double t3946 = piecewise_functor_3( t332, 0.0, t3930 ); + const double t3948 = t1020 * t1161; + const double t3950 = t333 * t3946; + const double t3954 = t335 * t3946; + const double t3958 = t337 * t3946; + const double t3962 = t339 * t3946; + const double t3966 = t341 * t3946; + const double t3972 = -0.64e0 * t3946 - 0.8704e0 * t3948 - 0.8704e0 * t3950 - 0.9214113627294e1 * t1163 * t1020 - 0.4607056813647e1 * t3954 + 0.367387230261e2 * t1165 * t1020 + 0.122462410087e2 * t3958 - 0.3831420472412e2 * t1167 * t1020 - 0.957855118103e1 * t3962 + 0.1550653405116e2 * t1169 * t1020 + 0.3101306810232e1 * t3966 - 0.2177652951264e1 * t1171 * t1020 - 0.362942158544e0 * t343 * t3946; + const double t3975 = piecewise_functor_3( t332, t3930, 0.0 ); + const double t3982 = piecewise_functor_5( t323, t3943 * t330 + t3942, t331, t3972, -0.21e1 * t3845 * t3675 - 0.105e1 * t855 * t3975 * t352 - 0.1575e1 * t3852 * t3675 ); + const double t3983 = t8 * t3982; + const double t3986 = t996 * t309; + const double t3989 = t321 * t1000; + const double t3993 = -0.5e1 / 0.3e1 * t3986 * t321 + 0.5e1 / 0.3e1 * t3861 * t3989 - t1182 * t3928; + const double t3994 = piecewise_functor_3( t324, 0.0, t3993 ); + const double t3999 = t1184 * t1013; + const double t4004 = -0.64e0 * t3994 * t327 - 0.128e1 * t3870 * t1013 - 0.128e1 * t1277 * t3999 - 0.64e0 * t834 * t3994; + const double t4005 = t4004 * t330; + const double t4006 = t1189 * t1018; + const double t4009 = piecewise_functor_3( t332, 0.0, t3993 ); + const double t4011 = t1020 * t1191; + const double t4013 = t333 * t4009; + const double t4017 = t335 * t4009; + const double t4021 = t337 * t4009; + const double t4025 = t339 * t4009; + const double t4029 = t341 * t4009; + const double t4035 = -0.64e0 * t4009 - 0.8704e0 * t4011 - 0.8704e0 * t4013 - 0.9214113627294e1 * t1193 * t1020 - 0.4607056813647e1 * t4017 + 0.367387230261e2 * t1195 * t1020 + 0.122462410087e2 * t4021 - 0.3831420472412e2 * t1197 * t1020 - 0.957855118103e1 * t4025 + 0.1550653405116e2 * t1199 * t1020 + 0.3101306810232e1 * t4029 - 0.2177652951264e1 * t1201 * t1020 - 0.362942158544e0 * t343 * t4009; + const double t4038 = piecewise_functor_3( t332, t3993, 0.0 ); + const double t4045 = piecewise_functor_5( t323, t4006 * t330 + t4005, t331, t4035, -0.21e1 * t3910 * t3675 - 0.105e1 * t855 * t4038 * t352 - 0.1575e1 * t3917 * t3675 ); + const double t4046 = t8 * t4045; + const double t4049 = t1064 * t1064; + const double t4050 = t4049 * t797; + const double t4053 = 0.5e1 / 0.16e2 * t1048 * t1563 * t4050; + const double t4054 = t252 * t1059; + const double t4055 = t122 * t277; + const double t4057 = t783 * t4054 * t4055; + const double t4060 = 0.1e1 / t9 / t603; + const double t4061 = t784 * t4060; + const double t4063 = t4061 * t265 * t1686; + const double t4064 = t254 * t4063; + const double t4066 = -0.65495539973149862688e-2 * t4057 + 0.8926869224563865807e-3 * t4064; + const double t4067 = t4066 * t797; + const double t4070 = t1048 * t499 * t4067 / 0.4e1; + const double t4071 = safe_math::sqrt( t282 ); + const double t4073 = 0.1e1 / t4071 / t1560; + const double t4074 = t536 * t4073; + const double t4075 = t4049 * t2322; + const double t4078 = t1048 * t4074 * t4075 / 0.16e2; + const double t4082 = t4081 * t273; + const double t4084 = t273 * t818 * eta + t1253 * t4082; + const double t4085 = t4084 / 0.32e2; + const double t4086 = piecewise_functor_3( t324, 0.0, t4085 ); + const double t4089 = t1074 * t1074; + const double t4096 = -0.64e0 * t4086 * t327 - 0.128e1 * t4089 * t833 - 0.128e1 * t1277 * t4089 - 0.64e0 * t834 * t4086; + const double t4097 = t4096 * t330; + const double t4098 = t1079 * t1079; + const double t4099 = t4098 * t330; + const double t4101 = piecewise_functor_3( t332, 0.0, t4085 ); + const double t4103 = t1081 * t1081; + const double t4105 = t333 * t4101; + const double t4107 = t333 * t4103; + const double t4109 = t335 * t4101; + const double t4111 = t335 * t4103; + const double t4113 = t337 * t4101; + const double t4115 = t337 * t4103; + const double t4117 = t339 * t4101; + const double t4119 = t339 * t4103; + const double t4121 = t341 * t4101; + const double t4127 = -0.64e0 * t4101 - 0.8704e0 * t4103 - 0.8704e0 * t4105 - 0.9214113627294e1 * t4107 - 0.4607056813647e1 * t4109 + 0.367387230261e2 * t4111 + 0.122462410087e2 * t4113 - 0.3831420472412e2 * t4115 - 0.957855118103e1 * t4117 + 0.1550653405116e2 * t4119 + 0.3101306810232e1 * t4121 - 0.2177652951264e1 * t341 * t4103 - 0.362942158544e0 * t343 * t4101; + const double t4128 = t1096 * t1096; + const double t4132 = piecewise_functor_3( t332, t4085, 0.0 ); + const double t4136 = t1325 * t4128; + const double t4140 = piecewise_functor_5( t323, t4097 + t4099, t331, t4127, -0.21e1 * t1315 * t4128 * t352 - 0.105e1 * t855 * t4132 * t352 - 0.1575e1 * t4136 * t352 ); + const double t4141 = t4140 * t374; + const double t4143 = 0.2e1 * t1100 * t1108; + const double t4144 = t2297 * t268; + const double t4145 = t57 * t273; + const double t4147 = t4144 * t4145 * t1104; + const double t4149 = t358 * t358; + const double t4150 = safe_math::sqrt( t363 ); + const double t4152 = 0.1e1 / t4150 / t2294; + const double t4153 = t4149 * t4152; + const double t4154 = t4153 * t268; + const double t4155 = t2313 * t158; + const double t4156 = t4155 * t166; + const double t4158 = t4154 * t4145 * t4156; + const double t4160 = -0.81316819982024053709e-5 * t4147 - 0.16263363996404810741e-5 * t4158 + t4053 - t4070 + t4078; + const double t4161 = t354 * t4160; + const double t4165 = 0.5e1 / 0.16e2 * t3275 * t3472 * t1065; + const double t4166 = 0.13099107994629972538e-1 * t4057; + const double t4168 = -t4166 + 0.17853738449127731615e-2 * t4064; + const double t4169 = t4168 * t797; + const double t4172 = t1048 * t499 * t4169 / 0.4e1; + const double t4173 = t106 * t536; + const double t4174 = t97 * t4173; + const double t4175 = t4073 * t1114; + const double t4176 = t2322 * t1064; + const double t4179 = t4174 * t4175 * t4176 / 0.16e2; + const double t4180 = t4084 / 0.16e2; + const double t4181 = piecewise_functor_3( t324, 0.0, t4180 ); + const double t4186 = t1120 * t1074; + const double t4191 = -0.64e0 * t4181 * t327 - 0.128e1 * t3509 * t1074 - 0.128e1 * t1277 * t4186 - 0.64e0 * t834 * t4181; + const double t4192 = t4191 * t330; + const double t4193 = t1125 * t1079; + const double t4194 = t4193 * t330; + const double t4196 = piecewise_functor_3( t332, 0.0, t4180 ); + const double t4198 = t1081 * t1127; + const double t4200 = t333 * t4196; + const double t4204 = t335 * t4196; + const double t4208 = t337 * t4196; + const double t4212 = t339 * t4196; + const double t4216 = t341 * t4196; + const double t4222 = -0.64e0 * t4196 - 0.8704e0 * t4198 - 0.8704e0 * t4200 - 0.9214113627294e1 * t1129 * t1081 - 0.4607056813647e1 * t4204 + 0.367387230261e2 * t1131 * t1081 + 0.122462410087e2 * t4208 - 0.3831420472412e2 * t1133 * t1081 - 0.957855118103e1 * t4212 + 0.1550653405116e2 * t1135 * t1081 + 0.3101306810232e1 * t4216 - 0.2177652951264e1 * t1137 * t1081 - 0.362942158544e0 * t343 * t4196; + const double t4223 = t352 * t1096; + const double t4226 = piecewise_functor_3( t332, t4180, 0.0 ); + const double t4233 = piecewise_functor_5( t323, t4192 + t4194, t331, t4222, -0.21e1 * t3549 * t4223 - 0.105e1 * t855 * t4226 * t352 - 0.1575e1 * t3556 * t4223 ); + const double t4234 = t4233 * t374; + const double t4235 = t1146 * t1108; + const double t4236 = t1100 * t1149; + const double t4237 = 0.16263363996404810741e-4 * t4147; + const double t4239 = -t4237 - 0.3252672799280962148e-5 * t4158 + t4165 - t4172 + t4179; + const double t4240 = t354 * t4239; + const double t4242 = t1114 * t1114; + const double t4243 = t4242 * t797; + const double t4246 = 0.5e1 / 0.16e2 * t1048 * t1563 * t4243; + const double t4249 = -0.26198215989259945077e-1 * t4057 + 0.35707476898255463229e-2 * t4064; + const double t4250 = t4249 * t797; + const double t4253 = t1048 * t499 * t4250 / 0.4e1; + const double t4254 = t4242 * t2322; + const double t4257 = t1048 * t4074 * t4254 / 0.16e2; + const double t4258 = t4084 / 0.8e1; + const double t4259 = piecewise_functor_3( t324, 0.0, t4258 ); + const double t4262 = t1120 * t1120; + const double t4269 = -0.64e0 * t4259 * t327 - 0.128e1 * t4262 * t833 - 0.128e1 * t1277 * t4262 - 0.64e0 * t834 * t4259; + const double t4270 = t4269 * t330; + const double t4271 = t1125 * t1125; + const double t4272 = t4271 * t330; + const double t4274 = piecewise_functor_3( t332, 0.0, t4258 ); + const double t4276 = t1127 * t1127; + const double t4278 = t333 * t4274; + const double t4280 = t333 * t4276; + const double t4282 = t335 * t4274; + const double t4284 = t335 * t4276; + const double t4286 = t337 * t4274; + const double t4288 = t337 * t4276; + const double t4290 = t339 * t4274; + const double t4292 = t339 * t4276; + const double t4294 = t341 * t4274; + const double t4300 = -0.64e0 * t4274 - 0.8704e0 * t4276 - 0.8704e0 * t4278 - 0.9214113627294e1 * t4280 - 0.4607056813647e1 * t4282 + 0.367387230261e2 * t4284 + 0.122462410087e2 * t4286 - 0.3831420472412e2 * t4288 - 0.957855118103e1 * t4290 + 0.1550653405116e2 * t4292 + 0.3101306810232e1 * t4294 - 0.2177652951264e1 * t341 * t4276 - 0.362942158544e0 * t343 * t4274; + const double t4301 = t1142 * t1142; + const double t4305 = piecewise_functor_3( t332, t4258, 0.0 ); + const double t4309 = t1325 * t4301; + const double t4313 = piecewise_functor_5( t323, t4270 + t4272, t331, t4300, -0.21e1 * t1315 * t4301 * t352 - 0.105e1 * t855 * t4305 * t352 - 0.1575e1 * t4309 * t352 ); + const double t4314 = t4313 * t374; + const double t4316 = 0.2e1 * t1146 * t1149; + const double t4319 = -0.3252672799280962148e-4 * t4147 - 0.65053455985619242961e-5 * t4158 + t4246 - t4253 + t4257; + const double t4320 = t354 * t4319; + const double t4323 = -t4166 + 0.17853738449127731614e-2 * t4064; + const double t4324 = t4323 * t797; + const double t4327 = t1048 * t499 * t4324 / 0.4e1; + const double t4329 = -t4237 - 0.32526727992809621482e-5 * t4158 + t4165 - t4327 + t4179; + const double t4330 = t354 * t4329; + const double t4332 = t818 * eta; + const double t4333 = t4332 * t263; + const double t4334 = t1152 * t4333; + const double t4335 = t4334 / 0.8e1; + const double t4336 = piecewise_functor_3( t324, 0.0, -t4335 ); + const double t4341 = t1154 * t1074; + const double t4346 = -0.64e0 * t4336 * t327 - 0.128e1 * t3805 * t1074 - 0.128e1 * t1277 * t4341 - 0.64e0 * t834 * t4336; + const double t4347 = t4346 * t330; + const double t4348 = t1159 * t1079; + const double t4351 = piecewise_functor_3( t332, 0.0, -t4335 ); + const double t4353 = t1081 * t1161; + const double t4355 = t333 * t4351; + const double t4359 = t335 * t4351; + const double t4363 = t337 * t4351; + const double t4367 = t339 * t4351; + const double t4371 = t341 * t4351; + const double t4377 = -0.64e0 * t4351 - 0.8704e0 * t4353 - 0.8704e0 * t4355 - 0.9214113627294e1 * t1163 * t1081 - 0.4607056813647e1 * t4359 + 0.367387230261e2 * t1165 * t1081 + 0.122462410087e2 * t4363 - 0.3831420472412e2 * t1167 * t1081 - 0.957855118103e1 * t4367 + 0.1550653405116e2 * t1169 * t1081 + 0.3101306810232e1 * t4371 - 0.2177652951264e1 * t1171 * t1081 - 0.362942158544e0 * t343 * t4351; + const double t4380 = piecewise_functor_3( t332, -t4335, 0.0 ); + const double t4387 = piecewise_functor_5( t323, t4348 * t330 + t4347, t331, t4377, -0.21e1 * t3845 * t4223 - 0.105e1 * t855 * t4380 * t352 - 0.1575e1 * t3852 * t4223 ); + const double t4388 = t8 * t4387; + const double t4391 = t1182 * t4333; + const double t4392 = t4391 / 0.8e1; + const double t4393 = piecewise_functor_3( t324, 0.0, -t4392 ); + const double t4398 = t1184 * t1074; + const double t4403 = -0.64e0 * t4393 * t327 - 0.128e1 * t3870 * t1074 - 0.128e1 * t1277 * t4398 - 0.64e0 * t834 * t4393; + const double t4404 = t4403 * t330; + const double t4405 = t1189 * t1079; + const double t4408 = piecewise_functor_3( t332, 0.0, -t4392 ); + const double t4410 = t1081 * t1191; + const double t4412 = t333 * t4408; + const double t4416 = t335 * t4408; + const double t4420 = t337 * t4408; + const double t4424 = t339 * t4408; + const double t4428 = t341 * t4408; + const double t4434 = -0.64e0 * t4408 - 0.8704e0 * t4410 - 0.8704e0 * t4412 - 0.9214113627294e1 * t1193 * t1081 - 0.4607056813647e1 * t4416 + 0.367387230261e2 * t1195 * t1081 + 0.122462410087e2 * t4420 - 0.3831420472412e2 * t1197 * t1081 - 0.957855118103e1 * t4424 + 0.1550653405116e2 * t1199 * t1081 + 0.3101306810232e1 * t4428 - 0.2177652951264e1 * t1201 * t1081 - 0.362942158544e0 * t343 * t4408; + const double t4437 = piecewise_functor_3( t332, -t4392, 0.0 ); + const double t4444 = piecewise_functor_5( t323, t4405 * t330 + t4404, t331, t4434, -0.21e1 * t3910 * t4223 - 0.105e1 * t855 * t4437 * t352 - 0.1575e1 * t3917 * t4223 ); + const double t4445 = t8 * t4444; + const double t4448 = t4334 / 0.4e1; + const double t4449 = piecewise_functor_3( t324, 0.0, -t4448 ); + const double t4454 = t1154 * t1120; + const double t4459 = -0.64e0 * t4449 * t327 - 0.128e1 * t3805 * t1120 - 0.128e1 * t1277 * t4454 - 0.64e0 * t834 * t4449; + const double t4460 = t4459 * t330; + const double t4461 = t1159 * t1125; + const double t4464 = piecewise_functor_3( t332, 0.0, -t4448 ); + const double t4466 = t1127 * t1161; + const double t4468 = t333 * t4464; + const double t4472 = t335 * t4464; + const double t4476 = t337 * t4464; + const double t4480 = t339 * t4464; + const double t4484 = t341 * t4464; + const double t4490 = -0.64e0 * t4464 - 0.8704e0 * t4466 - 0.8704e0 * t4468 - 0.9214113627294e1 * t1163 * t1127 - 0.4607056813647e1 * t4472 + 0.367387230261e2 * t1165 * t1127 + 0.122462410087e2 * t4476 - 0.3831420472412e2 * t1167 * t1127 - 0.957855118103e1 * t4480 + 0.1550653405116e2 * t1169 * t1127 + 0.3101306810232e1 * t4484 - 0.2177652951264e1 * t1171 * t1127 - 0.362942158544e0 * t343 * t4464; + const double t4491 = t352 * t1142; + const double t4494 = piecewise_functor_3( t332, -t4448, 0.0 ); + const double t4501 = piecewise_functor_5( t323, t4461 * t330 + t4460, t331, t4490, -0.21e1 * t3845 * t4491 - 0.105e1 * t855 * t4494 * t352 - 0.1575e1 * t3852 * t4491 ); + const double t4502 = t8 * t4501; + const double t4505 = t4391 / 0.4e1; + const double t4506 = piecewise_functor_3( t324, 0.0, -t4505 ); + const double t4511 = t1184 * t1120; + const double t4516 = -0.64e0 * t4506 * t327 - 0.128e1 * t3870 * t1120 - 0.128e1 * t1277 * t4511 - 0.64e0 * t834 * t4506; + const double t4517 = t4516 * t330; + const double t4518 = t1189 * t1125; + const double t4521 = piecewise_functor_3( t332, 0.0, -t4505 ); + const double t4523 = t1127 * t1191; + const double t4525 = t333 * t4521; + const double t4529 = t335 * t4521; + const double t4533 = t337 * t4521; + const double t4537 = t339 * t4521; + const double t4541 = t341 * t4521; + const double t4547 = -0.64e0 * t4521 - 0.8704e0 * t4523 - 0.8704e0 * t4525 - 0.9214113627294e1 * t1193 * t1127 - 0.4607056813647e1 * t4529 + 0.367387230261e2 * t1195 * t1127 + 0.122462410087e2 * t4533 - 0.3831420472412e2 * t1197 * t1127 - 0.957855118103e1 * t4537 + 0.1550653405116e2 * t1199 * t1127 + 0.3101306810232e1 * t4541 - 0.2177652951264e1 * t1201 * t1127 - 0.362942158544e0 * t343 * t4521; + const double t4550 = piecewise_functor_3( t332, -t4505, 0.0 ); + const double t4557 = piecewise_functor_5( t323, t4518 * t330 + t4517, t331, t4547, -0.21e1 * t3910 * t4491 - 0.105e1 * t855 * t4550 * t352 - 0.1575e1 * t3917 * t4491 ); + const double t4558 = t8 * t4557; + const double t4561 = piecewise_functor_3( t324, 0.0, 0.0 ); + const double t4563 = 0.64e0 * t4561 * t327; + const double t4564 = t1154 * t1154; + const double t4570 = 0.64e0 * t834 * t4561; + const double t4571 = -t4563 - 0.128e1 * t4564 * t833 - 0.128e1 * t1277 * t4564 - t4570; + const double t4573 = t1159 * t1159; + const double t4574 = t4573 * t330; + const double t4576 = piecewise_functor_3( t332, 0.0, 0.0 ); + const double t4577 = 0.64e0 * t4576; + const double t4578 = t1161 * t1161; + const double t4580 = t333 * t4576; + const double t4581 = 0.8704e0 * t4580; + const double t4582 = t333 * t4578; + const double t4584 = t335 * t4576; + const double t4585 = 0.4607056813647e1 * t4584; + const double t4586 = t335 * t4578; + const double t4588 = t337 * t4576; + const double t4589 = 0.122462410087e2 * t4588; + const double t4590 = t337 * t4578; + const double t4592 = t339 * t4576; + const double t4593 = 0.957855118103e1 * t4592; + const double t4594 = t339 * t4578; + const double t4596 = t341 * t4576; + const double t4597 = 0.3101306810232e1 * t4596; + const double t4601 = 0.362942158544e0 * t343 * t4576; + const double t4602 = -t4577 - 0.8704e0 * t4578 - t4581 - 0.9214113627294e1 * t4582 - t4585 + 0.367387230261e2 * t4586 + t4589 - 0.3831420472412e2 * t4590 - t4593 + 0.1550653405116e2 * t4594 + t4597 - 0.2177652951264e1 * t341 * t4578 - t4601; + const double t4603 = t1176 * t1176; + const double t4609 = 0.105e1 * t855 * t4576 * t352; + const double t4610 = t1325 * t4603; + const double t4614 = piecewise_functor_5( t323, t4571 * t330 + t4574, t331, t4602, -0.21e1 * t1315 * t4603 * t352 - t4609 - 0.1575e1 * t4610 * t352 ); + const double t4615 = t8 * t4614; + const double t4618 = t1184 * t1154; + const double t4621 = -t4563 - 0.128e1 * t3870 * t1154 - 0.128e1 * t1277 * t4618 - t4570; + const double t4622 = t4621 * t330; + const double t4623 = t1189 * t1159; + const double t4626 = t1161 * t1191; + const double t4638 = -t4577 - 0.8704e0 * t4626 - t4581 - 0.9214113627294e1 * t1193 * t1161 - t4585 + 0.367387230261e2 * t1195 * t1161 + t4589 - 0.3831420472412e2 * t1197 * t1161 - t4593 + 0.1550653405116e2 * t1199 * t1161 + t4597 - 0.2177652951264e1 * t1201 * t1161 - t4601; + const double t4639 = t352 * t1176; + const double t4645 = piecewise_functor_5( t323, t4623 * t330 + t4622, t331, t4638, -0.21e1 * t3910 * t4639 - t4609 - 0.1575e1 * t3917 * t4639 ); + const double t4646 = t8 * t4645; + const double t4647 = t1184 * t1184; + const double t4652 = -t4563 - 0.128e1 * t4647 * t833 - 0.128e1 * t1277 * t4647 - t4570; + const double t4654 = t1189 * t1189; + const double t4655 = t4654 * t330; + const double t4657 = t1191 * t1191; + const double t4659 = t333 * t4657; + const double t4661 = t335 * t4657; + const double t4663 = t337 * t4657; + const double t4665 = t339 * t4657; + const double t4669 = -t4577 - 0.8704e0 * t4657 - t4581 - 0.9214113627294e1 * t4659 - t4585 + 0.367387230261e2 * t4661 + t4589 - 0.3831420472412e2 * t4663 - t4593 + 0.1550653405116e2 * t4665 + t4597 - 0.2177652951264e1 * t341 * t4657 - t4601; + const double t4670 = t1206 * t1206; + const double t4674 = t1325 * t4670; + const double t4678 = piecewise_functor_5( t323, t4652 * t330 + t4655, t331, t4669, -0.21e1 * t1315 * t4670 * t352 - t4609 - 0.1575e1 * t4674 * t352 ); + const double t4679 = t8 * t4678; - eps = -t34 + t90 + t92 + t290 + t375; + v2rho2_aa = t8 * ( t2267 + t2340 ) + 0.2e1 * t861 + 0.2e1 * t886 + 0.2e1 * t799 - t2346 + 0.6e1 * t483 + t2348 + 0.2e1 * t426 + t2350 + 0.39503346997227602814e-1 * t460 + t2352 - t2353 + t2354 - t2355; + v2rho2_ab = t8 * ( t2483 + t2886 ) + t1045 + t1040 + t989 + t913 + t900 + t902 + t861 + t886 + t799 - t2346 + t484 + t2348 + t426 + t2350 + t461 + t2352 - t2353 - t2355; + v2rho2_bb = t8 * ( t3153 + t3252 ) + 0.2e1 * t1045 + 0.2e1 * t1040 + 0.2e1 * t989 + 0.6e1 * t912 + 0.2e1 * t900 + 0.39503346997227602814e-1 * t901 - t2346 + t2348 + t2350 + t2352 - t2353 - t2354 - t2355; + v2rhosigma_a_aa = t1068 + t1101 + t1109 + t8 * ( t3267 + t3273 - t3280 + t3351 - t3355 + t3425 + t3426 + t3427 + t3462 ); + v2rhosigma_a_ab = t1118 + t1147 + t1150 + t8 * ( t3468 + t3471 - t3475 + t3496 - t3499 + t3561 + t3562 + t3563 + t3571 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t1068 + t1101 + t1109 + t8 * ( t3577 + t3581 - t3585 + t3621 - t3624 + t3686 + t3687 + t3688 + t3697 ); + v2rhosigma_b_ab = t1118 + t1147 + t1150 + t8 * ( t3702 + t3704 - t3707 + t3722 - t3725 + t3782 + t3783 + t3784 + t3788 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1181 * t885 + t3857 * t374 + t3791; + v2rhotau_a_b = t1211 * t885 + t3922 * t374 + t3860; + v2rhotau_b_a = t1181 * t1044 + t3983 * t374 + t3791; + v2rhotau_b_b = t1211 * t1044 + t4046 * t374 + t3860; + v2sigma2_aa_aa = t8 * ( -t4053 + t4070 - t4078 + t4141 + t4143 + t4161 ); + v2sigma2_aa_ab = t8 * ( -t4165 + t4172 - t4179 + t4234 + t4235 + t4236 + t4240 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t8 * ( -t4246 + t4253 - t4257 + t4314 + t4316 + t4320 ); + v2sigma2_ab_bb = t8 * ( -t4165 + t4327 - t4179 + t4234 + t4236 + t4235 + t4330 ); + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t1181 * t1108 + t4388 * t374; + v2sigmatau_aa_b = t1211 * t1108 + t4445 * t374; + v2sigmatau_ab_a = t1181 * t1149 + t4502 * t374; + v2sigmatau_ab_b = t1211 * t1149 + t4558 * t374; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4615 * t374; + v2tau2_ab = t4646 * t374; + v2tau2_bb = t4679 * t374; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; @@ -897,6 +5916,11 @@ struct kernel_traits< BuiltinR2SCAN_C > : constexpr double t529 = t528 * t6; constexpr double t550 = t258 * t260; constexpr double t625 = t5 * t7; + constexpr double t1362 = t21 * t6; + constexpr double t1570 = t130 * t6; + constexpr double t1685 = t267 * t57; + constexpr double t3433 = t268 * t57; + constexpr double t4081 = eta * eta; const double t8 = rho_a + rho_b; @@ -1097,13 +6121,13 @@ struct kernel_traits< BuiltinR2SCAN_C > : const double t330 = safe_math::exp( -0.64e0 * t325 * t327 ); const double t331 = t322 <= 0.25e1; const double t332 = 0.25e1 < t322; - const double t333 = piecewise_functor_3( t332, 0.25e1, t322 ); + const double t333 = piecewise_functor_3( t332, 2.5, t322 ); const double t335 = t333 * t333; const double t337 = t335 * t333; const double t339 = t335 * t335; const double t341 = t339 * t333; const double t343 = t339 * t335; - const double t348 = piecewise_functor_3( t332, t322, 0.25e1 ); + const double t348 = piecewise_functor_3( t332, t322, 2.5 ); const double t349 = 0.1e1 - t348; const double t352 = safe_math::exp( 0.15e1 / t349 ); const double t354 = piecewise_functor_5( t323, t330, t331, 0.1e1 - 0.64e0 * t333 - 0.4352e0 * t335 - 0.1535685604549e1 * t337 + 0.3061560252175e1 * t339 - 0.1915710236206e1 * t341 + 0.516884468372e0 * t343 - 0.51848879792e-1 * t339 * t337, -0.7e0 * t352 ); @@ -1587,9 +6611,1662 @@ struct kernel_traits< BuiltinR2SCAN_C > : const double t1206 = piecewise_functor_3( t332, t1183, 0.0 ); const double t1210 = piecewise_functor_5( t323, t1190, t331, -0.64e0 * t1191 - 0.8704e0 * t1193 - 0.4607056813647e1 * t1195 + 0.122462410087e2 * t1197 - 0.957855118103e1 * t1199 + 0.3101306810232e1 * t1201 - 0.362942158544e0 * t343 * t1191, -0.105e1 * t855 * t1206 * t352 ); const double t1211 = t8 * t1210; + const double t1212 = t860 * t885; + const double t1213 = 0.2e1 * t1212; + const double t1216 = 0.1e1 / t292 / t800 / rho_a; + const double t1217 = tau_a * t1216; + const double t1222 = 0.1e1 / t297; + const double t1223 = t806 * t806; + const double t1224 = t1222 * t1223; + const double t1227 = 0.1e1 / t500; + const double t1228 = t35 * t1227; + const double t1229 = -t413 + t1228; + const double t1230 = t298 * t1229; + const double t1233 = 0.1e1 / t307; + const double t1234 = t810 * t810; + const double t1235 = t1233 * t1234; + const double t1238 = -t1229; + const double t1239 = t308 * t1238; + const double t1243 = 0.1e1 / t23 / t39; + const double t1244 = t122 * t1243; + const double t1245 = 0.11e2 / 0.9e1 * t1244; + const double t1246 = 0.4e2 / 0.9e1 * t1217 * t299 - 0.5e2 / 0.9e1 * t803 * t807 + 0.1e2 / 0.9e1 * t295 * t1224 + 0.5e1 / 0.3e1 * t295 * t1230 + 0.1e2 / 0.9e1 * t305 * t1235 + 0.5e1 / 0.3e1 * t305 * t1239 - t1245; + const double t1248 = t815 * t818; + const double t1252 = 0.1e1 / t817 / t320; + const double t1253 = t312 * t1252; + const double t1254 = t826 * t826; + const double t1265 = 0.11e2 / 0.9e1 * t317 * t1243; + const double t1266 = 0.3e1 / 0.1e2 * t313 * ( 0.1e2 / 0.9e1 * t1224 + 0.5e1 / 0.3e1 * t1230 + 0.1e2 / 0.9e1 * t1235 + 0.5e1 / 0.3e1 * t1239 ) + t1265; + const double t1268 = t1246 * t321 - 0.2e1 * t1248 * t826 + 0.2e1 * t1253 * t1254 - t819 * t1266; + const double t1269 = piecewise_functor_3( t324, 0.0, t1268 ); + const double t1272 = t829 * t829; + const double t1276 = 0.1e1 / t832 / t326; + const double t1277 = t325 * t1276; + const double t1282 = -0.64e0 * t1269 * t327 - 0.128e1 * t1272 * t833 - 0.128e1 * t1277 * t1272 - 0.64e0 * t834 * t1269; + const double t1283 = t1282 * t330; + const double t1284 = t837 * t837; + const double t1285 = t1284 * t330; + const double t1287 = piecewise_functor_3( t332, 0.0, t1268 ); + const double t1289 = t839 * t839; + const double t1293 = t333 * t1289; + const double t1297 = t335 * t1289; + const double t1301 = t337 * t1289; + const double t1305 = t339 * t1289; + const double t1313 = -0.64e0 * t1287 - 0.8704e0 * t1289 - 0.8704e0 * t333 * t1287 - 0.9214113627294e1 * t1293 - 0.4607056813647e1 * t335 * t1287 + 0.367387230261e2 * t1297 + 0.122462410087e2 * t337 * t1287 - 0.3831420472412e2 * t1301 - 0.957855118103e1 * t339 * t1287 + 0.1550653405116e2 * t1305 + 0.3101306810232e1 * t341 * t1287 - 0.2177652951264e1 * t341 * t1289 - 0.362942158544e0 * t343 * t1287; + const double t1314 = t854 * t349; + const double t1315 = 0.1e1 / t1314; + const double t1316 = t856 * t856; + const double t1320 = piecewise_functor_3( t332, t1268, 0.0 ); + const double t1324 = t854 * t854; + const double t1325 = 0.1e1 / t1324; + const double t1326 = t1325 * t1316; + const double t1330 = piecewise_functor_5( t323, t1283 + t1285, t331, t1313, -0.21e1 * t1315 * t1316 * t352 - 0.105e1 * t855 * t1320 * t352 - 0.1575e1 * t1326 * t352 ); + const double t1331 = t1330 * t374; + const double t1332 = 0.1e1 / t99; + const double t1333 = t415 * t415; + const double t1336 = 0.2e1 * t1229; + const double t1340 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1332 * t1333 + 0.4e1 / 0.3e1 * t48 * t1336 ); + const double t1341 = 0.1e1 / t101; + const double t1342 = t419 * t419; + const double t1345 = -t1336; + const double t1349 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1341 * t1342 + 0.4e1 / 0.3e1 * t53 * t1345 ); + const double t1350 = t1340 + t1349; + const double t1351 = t1350 * t60; + const double t1352 = t1351 * t86; + const double t1353 = 0.19751673498613801407e-1 * t1352; + const double t1354 = t382 * t28; + const double t1355 = 0.1e1 / t1354; + const double t1356 = t14 * t1355; + const double t1357 = t400 * t400; + const double t1358 = t1357 * t401; + const double t1359 = t1356 * t1358; + const double t1360 = 0.2e1 * t1359; + const double t1361 = t614 * t20; + const double t1363 = t1362 * t263; + const double t1364 = t1361 * t1363; + const double t1366 = t386 * t124; + const double t1367 = t385 * t1366; + const double t1369 = t7 * t124; + const double t1370 = t5 * t1369; + const double t1371 = 0.39862222222222222223e0 * t1370; + const double t1372 = t639 * t20; + const double t1373 = t1372 * t1363; + const double t1374 = 0.68258333333333333333e-1 * t1373; + const double t1375 = t392 * t1366; + const double t1376 = 0.13651666666666666667e0 * t1375; + const double t1378 = t22 * t6 * t263; + const double t1379 = 0.13692777777777777778e0 * t1378; + const double t1380 = -0.42198333333333333333e0 * t1364 + 0.84396666666666666666e0 * t1367 + t1371 + t1374 + t1376 + t1379; + const double t1381 = t1380 * t401; + const double t1382 = t384 * t1381; + const double t1383 = 0.1e1 * t1382; + const double t1384 = t382 * t382; + const double t1385 = 0.1e1 / t1384; + const double t1386 = t14 * t1385; + const double t1387 = t31 * t31; + const double t1388 = 0.1e1 / t1387; + const double t1389 = t1357 * t1388; + const double t1390 = t1386 * t1389; + const double t1391 = 0.16081979498692535067e2 * t1390; + const double t1392 = t104 * t288; + const double t1393 = t481 * t481; + const double t1395 = t97 * t1392 * t1393; + const double t1396 = 0.6e1 * t1395; + const double t1397 = t445 * t445; + const double t1398 = 0.1e1 / t1397; + const double t1399 = t452 * t452; + const double t1400 = t1398 * t1399; + const double t1401 = t84 * t84; + const double t1402 = 0.1e1 / t1401; + const double t1403 = t1400 * t1402; + const double t1404 = t234 * t1403; + const double t1405 = 0.17315859105681463759e2 * t1404; + const double t1408 = 0.40256666666666666667e0 * t1370; + const double t1409 = 0.366775e-1 * t1373; + const double t1410 = 0.73355e-1 * t1375; + const double t1411 = 0.137975e0 * t1378; + const double t1412 = -0.57538888888888888889e0 * t1364 + 0.11507777777777777778e1 * t1367 + t1408 + t1409 + t1410 + t1411; + const double t1414 = t446 * t1412 * t453; + const double t1415 = t234 * t1414; + const double t1416 = 0.5848223622634646207e0 * t1415; + const double t1417 = t732 * t468; + const double t1418 = 0.11696447245269292414e1 * t1417; + const double t1419 = t39 * t38; + const double t1420 = 0.1e1 / t1419; + const double t1421 = t37 * t1420; + const double t1422 = t1421 * t89; + const double t1423 = 0.2e2 * t1422; + const double t1424 = t36 * t40; + const double t1425 = t1424 * t89; + const double t1426 = 0.12e2 * t1425; + const double t1427 = t405 * t409; + const double t1428 = t1427 * t89; + const double t1429 = 0.32e2 * t1428; + const double t1431 = t5 * t1369 * t32; + const double t1432 = 0.14764627977777777777e-2 * t1431; + const double t1436 = t377 * t431; + const double t1440 = t430 * t68; + const double t1441 = 0.1e1 / t1440; + const double t1442 = t63 * t1441; + const double t1443 = t437 * t437; + const double t1444 = t1443 * t438; + const double t1449 = 0.68863333333333333333e0 * t1370; + const double t1450 = 0.14025833333333333333e0 * t1373; + const double t1451 = 0.28051666666666666667e0 * t1375; + const double t1452 = 0.17365833333333333333e0 * t1378; + const double t1453 = -0.78438333333333333333e0 * t1364 + 0.15687666666666666667e1 * t1367 + t1449 + t1450 + t1451 + t1452; + const double t1454 = t1453 * t438; + const double t1457 = t430 * t430; + const double t1458 = 0.1e1 / t1457; + const double t1459 = t63 * t1458; + const double t1460 = t71 * t71; + const double t1461 = 0.1e1 / t1460; + const double t1462 = t1443 * t1461; + const double t1465 = t377 * t383; + const double t1467 = t625 * t1465 * t402; + const double t1468 = 0.35616666666666666666e-1 * t1467; + const double t1472 = t377 * t446; + const double t1476 = t445 * t81; + const double t1477 = 0.1e1 / t1476; + const double t1478 = t76 * t1477; + const double t1479 = t1399 * t453; + const double t1482 = t1412 * t453; + const double t1485 = t76 * t1398; + const double t1486 = t1399 * t1402; + const double t1489 = -0.70983522622222222221e-3 * t5 * t1369 * t72 - 0.34246666666666666666e-1 * t625 * t1436 * t439 - 0.2e1 * t1442 * t1444 + 0.1e1 * t432 * t1454 + 0.32163958997385070134e2 * t1459 * t1462 + t1432 + t1468 + t1360 - t1383 - t1391 - 0.24415263074675393405e-3 * t5 * t1369 * t85 - 0.10843581300301739842e-1 * t625 * t1472 * t454 - 0.11696447245269292414e1 * t1478 * t1479 + 0.5848223622634646207e0 * t447 * t1482 + 0.17315859105681463759e2 * t1485 * t1486; + const double t1490 = t61 * t1489; + const double t1491 = t41 * t1490; + const double t1492 = t1351 * t88; + const double t1493 = t41 * t1492; + const double t1494 = t424 * t457; + const double t1495 = t41 * t1494; + const double t1496 = 0.2e1 * t1495; + const double t1497 = t410 * t425; + const double t1498 = 0.8e1 * t1497; + const double t1499 = -t1405 - t1416 - t1418 + t1423 + t1426 - t1429 - t1432 + t1491 + t1493 + t1496 - t1498; + const double t1500 = t410 * t458; + const double t1501 = 0.8e1 * t1500; + const double t1502 = t406 * t425; + const double t1503 = 0.8e1 * t1502; + const double t1504 = t406 * t458; + const double t1505 = 0.8e1 * t1504; + const double t1506 = t424 * t2; + const double t1507 = t1506 * t464; + const double t1508 = 0.36622894612013090108e-3 * t1507; + const double t1510 = t1477 * t1399 * t453; + const double t1511 = t234 * t1510; + const double t1512 = 0.11696447245269292414e1 * t1511; + const double t1513 = t378 * t468; + const double t1514 = t735 * t1513; + const double t1515 = 0.10843581300301739842e-1 * t1514; + const double t1517 = t386 * t124 * t85; + const double t1518 = t462 * t1517; + const double t1519 = 0.24415263074675393405e-3 * t1518; + const double t1520 = -t1501 + t1503 + t1505 - t1360 + t1353 + t1383 + t1391 - t1508 + t1512 - t1468 + t1515 + t1519; + const double t1522 = ( t1499 + t1520 ) * t108; + const double t1527 = 0.1e1 / t488 / t104; + const double t1528 = t95 * t1527; + const double t1529 = t1528 * t1393; + const double t1532 = 0.1e1 / t49; + const double t1533 = t1532 * t1333; + const double t1538 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1533 + 0.2e1 / 0.3e1 * t472 * t1336 ); + const double t1539 = 0.1e1 / t54; + const double t1540 = t1539 * t1342; + const double t1545 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1540 + 0.2e1 / 0.3e1 * t476 * t1345 ); + const double t1547 = t1538 / 0.2e1 + t1545 / 0.2e1; + const double t1548 = t490 * t1547; + const double t1551 = -0.12e2 * t109 * t1529 + 0.3e1 * t109 * t1548 - t1522 * t111 + 0.6e1 * t486 * t491; + const double t1552 = t1551 * t113; + const double t1554 = t494 * t494; + const double t1555 = t1554 * t113; + const double t1557 = t498 * t792; + const double t1560 = t282 * t282; + const double t1562 = 0.1e1 / t283 / t1560; + const double t1563 = t114 * t1562; + const double t1564 = t792 * t792; + const double t1567 = t110 * t20; + const double t1569 = t524 * t525 * t1567; + const double t1571 = t1570 * t108; + const double t1572 = t537 * t481; + const double t1574 = t1571 * t1572 * t495; + const double t1577 = t572 * t259; + const double t1578 = t546 * t1577; + const double t1579 = t277 * t560; + const double t1580 = t1579 * t495; + const double t1581 = t360 * t1580; + const double t1584 = t565 * t1577; + const double t1585 = t277 * t481; + const double t1586 = t1585 * t495; + const double t1587 = t360 * t1586; + const double t1590 = t518 * t57; + const double t1591 = t1590 * t128; + const double t1592 = t524 * t1591; + const double t1593 = t1592 * t540; + const double t1595 = t538 * t1552; + const double t1596 = t529 * t1595; + const double t1599 = t538 * t1555; + const double t1600 = t529 * t1599; + const double t1603 = t502 * t277; + const double t1605 = t551 * t1603 * t495; + const double t1606 = t574 * t1605; + const double t1609 = t551 * t552 * t1555; + const double t1612 = t536 * t114; + const double t1613 = 0.1e1 / t1612; + const double t1614 = t108 * t1613; + const double t1615 = t113 * t113; + const double t1616 = t1554 * t1615; + const double t1617 = t1614 * t1616; + const double t1618 = t529 * t1617; + const double t1621 = t1613 * t252; + const double t1622 = t1621 * t255; + const double t1623 = t571 * t1622; + const double t1625 = t551 * t552 * t1616; + const double t1629 = t537 * t774; + const double t1630 = t1629 * t255; + const double t1631 = t571 * t1630; + const double t1635 = t551 * t552 * t1552; + const double t1638 = t545 * t489; + const double t1639 = t1638 * t548; + const double t1640 = t560 * t481; + const double t1642 = t551 * t552 * t1640; + const double t1645 = t545 * t147; + const double t1646 = t788 * t560; + const double t1648 = t1645 * t785 * t1646; + const double t1650 = t489 * t133; + const double t1651 = t146 * t1650; + const double t1652 = t788 * t481; + const double t1654 = t1651 * t785 * t1652; + const double t1656 = t122 * t57; + const double t1657 = t503 * t1656; + const double t1658 = t128 * t108; + const double t1660 = t537 * t494 * t113; + const double t1661 = t1658 * t1660; + const double t1662 = t1657 * t1661; + const double t1664 = t774 * t784; + const double t1666 = t783 * t1664 * t788; + const double t1668 = t162 * t38; + const double t1669 = 0.1e1 / t1668; + const double t1670 = t1669 * t277; + const double t1673 = 0.679213007128961539e-1 * t783 * t785 * t1670; + const double t1674 = t512 * t1244; + const double t1676 = 0.29272321618148349056e-1 * t1674 * t507; + const double t1677 = t269 * t269; + const double t1678 = t1677 * t122; + const double t1679 = t39 * t500; + const double t1680 = t162 * t1679; + const double t1682 = 0.1e1 / t9 / t1680; + const double t1683 = t1678 * t1682; + const double t1686 = t1685 * t277; + const double t1687 = t1683 * t265 * t1686; + const double t1689 = 0.63479958930231934629e-2 * t254 * t1687; + const double t1691 = 0.1e1 / t510 / t118; + const double t1692 = t116 * t1691; + const double t1696 = t1658 * t133; + const double t1697 = t1696 * t625; + const double t1699 = 0.14457274399185490173e-3 * t1692 * t122 * t409 * t57 * t1697; + const double t1700 = -0.86682217400542685632e-1 * t1631 * t576 - 0.43341108700271342816e-1 * t574 * t1635 + 0.2600466522016280569e0 * t1639 * t1642 - 0.11643651550782197811e-1 * t1648 - 0.34930954652346593434e-1 * t1654 + 0.54878743191129263322e-2 * t1662 + 0.11643651550782197811e-1 * t1666 - t1673 - t1676 + t1689 + t1699; + const double t1702 = t110 * t537; + const double t1703 = t1702 * t252; + const double t1704 = t146 * t1703; + const double t1705 = t784 * t787; + const double t1706 = t277 * t494; + const double t1707 = t1706 * t113; + const double t1708 = t1705 * t1707; + const double t1709 = t1704 * t1708; + const double t1712 = t512 * t513 * t57; + const double t1713 = t1712 * t1661; + const double t1715 = t409 * t511; + const double t1716 = t1656 * t128; + const double t1718 = t506 * t625; + const double t1720 = 0.81312004494856525156e-4 * t1715 * t1716 * t1718; + const double t1721 = t110 * t108; + const double t1722 = t133 * t481; + const double t1723 = t1721 * t1722; + const double t1724 = t1657 * t1723; + const double t1726 = t57 * t110; + const double t1727 = t1726 * t530; + const double t1728 = t514 * t1727; + const double t1730 = t1590 * t110; + const double t1731 = t524 * t1730; + const double t1732 = t1731 * t531; + const double t1734 = t552 * t1547; + const double t1735 = t551 * t1734; + const double t1738 = t506 * t1547; + const double t1739 = t529 * t1738; + const double t1742 = t133 * t774; + const double t1743 = t1742 * t255; + const double t1744 = t546 * t1743; + const double t1752 = piecewise_functor_3( t45, 0.0, 0.1e2 / 0.9e1 * t472 * t1333 + 0.5e1 / 0.3e1 * t99 * t1336 ); + const double t1758 = piecewise_functor_3( t52, 0.0, 0.1e2 / 0.9e1 * t476 * t1342 + 0.5e1 / 0.3e1 * t101 * t1345 ); + const double t1760 = t1752 / 0.2e1 + t1758 / 0.2e1; + const double t1761 = t552 * t1760; + const double t1762 = t551 * t1761; + const double t1766 = t565 * t1743; + const double t1769 = t1603 * t481; + const double t1770 = t551 * t1769; + const double t1771 = t566 * t1770; + const double t1773 = t525 * t489; + const double t1774 = t524 * t1773; + const double t1775 = t506 * t1393; + const double t1776 = t529 * t1775; + const double t1781 = t108 / t543 / t144; + const double t1782 = t1781 * t110; + const double t1783 = t1782 * t548; + const double t1784 = t560 * t560; + const double t1785 = t552 * t1784; + const double t1786 = t551 * t1785; + const double t1789 = t1603 * t560; + const double t1790 = t551 * t1789; + const double t1791 = t549 * t1790; + const double t1793 = t146 * t1527; + const double t1794 = t1793 * t548; + const double t1795 = t552 * t1393; + const double t1796 = t551 * t1795; + const double t1799 = t1243 * t119; + const double t1802 = 0.16463622957338778997e-1 * t1799 * t122 * t507; + const double t1805 = 0.2e2 / 0.9e1 * t5 * t1369 * t239; + const double t1807 = t5 * t378 * t753; + const double t1809 = t60 * t607; + const double t1810 = t1809 * t170; + const double t1813 = t595 * t1350; + const double t1816 = t631 * t188; + const double t1817 = t189 * t621; + const double t1818 = t1816 * t1817; + const double t1820 = 0.71233333333333333332e-1 * t390 * t1818; + const double t1821 = t649 * t188; + const double t1822 = t652 * t621; + const double t1823 = t1821 * t1822; + const double t1825 = 0.57278650314509912396e0 * t390 * t1823; + const double t1826 = t607 * t585; + const double t1827 = t159 * t1826; + const double t1828 = t1827 * t617; + const double t1830 = t585 * t585; + const double t1831 = t1830 * t1830; + const double t1832 = t1831 * t585; + const double t1833 = t166 * t1832; + const double t1834 = t159 * t1833; + const double t1837 = 0.1e1 / t15 / t26 / 0.4e1; + const double t1838 = t1837 * t20; + const double t1839 = t21 * t263; + const double t1840 = t1838 * t1839; + const double t1842 = 0.42340699333333333333e-3 * t1834 * t1840; + const double t1843 = t4 * t124; + const double t1844 = t615 * t1843; + const double t1846 = 0.11290853155555555555e-2 * t612 * t1844; + const double t1847 = t1369 * t236; + const double t1849 = 0.72290542002011598948e-2 * t735 * t1847; + const double t1850 = t424 * t5; + const double t1851 = t1850 * t736; + const double t1853 = t378 * t745; + const double t1855 = 0.10843581300301739842e-1 * t735 * t1853; + const double t1856 = t584 * t611; + const double t1857 = t616 * t591; + const double t1858 = t615 * t1857; + const double t1860 = 0.33872559466666666666e-2 * t1856 * t1858; + const double t1865 = t673 * t206; + const double t1866 = t207 * t664; + const double t1867 = t1865 * t1866; + const double t1870 = t686 * t206; + const double t1871 = t689 * t664; + const double t1872 = t1870 * t1871; + const double t1875 = t621 * t621; + const double t1878 = 0.6e1 * t650 * t190 * t1875; + const double t1879 = t664 * t664; + const double t1884 = 0.1e1 / t648 / t181; + const double t1885 = t14 * t1884; + const double t1887 = 0.1e1 / t651 / t178; + const double t1888 = t188 * t1887; + const double t1891 = 0.51726012919273400301e3 * t1885 * t1888 * t1875; + const double t1892 = t1832 * t1837; + const double t1893 = t22 * t263; + const double t1894 = t1892 * t1893; + const double t1896 = t5 * t124; + const double t1897 = t636 * t1896; + const double t1899 = 0.1e1/pow_3_2( t12 ); + const double t1900 = t1899 * t20; + const double t1901 = t1900 * t1363; + const double t1903 = t640 * t1366; + const double t1906 = 0.126595e1 * t1894 - 0.33758666666666666667e1 * t1897 - 0.13651666666666666667e0 * t1901 + 0.27303333333333333333e0 * t1903 + 0.10954222222222222222e0 * t1370; + const double t1907 = t1906 * t189; + const double t1909 = 0.1e1 * t183 * t1907; + const double t1915 = 0.235315e1 * t1894 - 0.62750666666666666667e1 * t1897 - 0.28051666666666666667e0 * t1901 + 0.56103333333333333335e0 * t1903 + 0.13892666666666666667e0 * t1370; + const double t1916 = t1915 * t207; + const double t1919 = -t1820 + t1825 + 0.21687162600603479684e-1 * t390 * t741 - 0.32106488758451047386e0 * t390 * t750 + 0.68493333333333333332e-1 * t390 * t1867 - 0.11015083824637807018e1 * t390 * t1872 - t1878 + 0.6e1 * t687 * t208 * t1879 - t1891 - t1909 + 0.1e1 * t202 * t1916; + const double t1925 = 0.17261666666666666666e1 * t1894 - 0.46031111111111111111e1 * t1897 - 0.73354999999999999999e-1 * t1901 + 0.14671e0 * t1903 + 0.11038e0 * t1370; + const double t1926 = t1925 * t225; + const double t1929 = t681 * t689; + const double t1933 = t1832 * t614; + const double t1934 = t1933 * t1893; + const double t1936 = t586 * t1896; + const double t1938 = -0.39219166666666666667e0 * t1934 + 0.31375333333333333333e1 * t1936 + t1449 + t1450 + t1451 + t1452; + const double t1943 = 0.1e1 / t685 / t194; + const double t1944 = t63 * t1943; + const double t1952 = 0.1e1 / t648 / t175; + const double t1953 = t14 * t1952; + const double t1956 = 0.96491876992155210402e2 * t1953 * t653 * t1875; + const double t1959 = -0.21099166666666666667e0 * t1934 + 0.16879333333333333333e1 * t1936 + t1371 + t1374 + t1376 + t1379; + const double t1962 = 0.2e1 * t632 * t190 * t1959; + const double t1965 = 0.4e1 * t632 * t645 * t621; + const double t1968 = -0.28769444444444444445e0 * t1934 + 0.23015555555555555556e1 * t1936 + t1408 + t1409 + t1410 + t1411; + const double t1970 = t219 * t1968 * t225; + const double t1972 = t695 * t695; + const double t1973 = t717 * t1972; + const double t1974 = t1973 * t720; + const double t1979 = 0.5848223622634646207e0 * t220 * t1926 + 0.64327917994770140268e2 * t687 * t1929 * t664 - 0.2e1 * t674 * t208 * t1938 - 0.19298375398431042081e3 * t1944 * t690 * t1879 - 0.4e1 * t674 * t682 * t664 + t1956 + t1962 + t1965 + 0.65061487801810439052e-1 * t1970 + 0.19263893255070628431e1 * t1974 + 0.20548e0 * t201 * t1938 * t207; + const double t1981 = t686 * t1879; + const double t1986 = 0.2137e0 * t182 * t1959 * t189; + const double t1987 = t649 * t1875; + const double t1989 = 0.34367190188705947438e1 * t1987 * t652; + const double t1990 = t713 * t695; + const double t1993 = t226 * t1972; + const double t2000 = 0.1e1 / t685 / t200; + const double t2001 = t63 * t2000; + const double t2003 = 0.1e1 / t688 / t197; + const double t2004 = t206 * t2003; + const double t2008 = t712 * t720; + const double t2009 = t2008 * t695; + const double t2012 = t226 * t1968; + const double t2016 = 0.1e1 / t716 / t212; + const double t2017 = t76 * t2016; + const double t2018 = t721 * t1972; + const double t2022 = t704 * t1972 * t225; + const double t2024 = 0.66090502947826842111e1 * t1981 * t689 - t1986 - t1989 - 0.23392894490538584828e1 * t705 * t1990 + 0.35089341735807877242e1 * t718 * t1993 + 0.32163958997385070134e2 * t687 * t690 * t1938 + 0.2069040516770936012e4 * t2001 * t2004 * t1879 + 0.34631718211362927518e2 * t718 * t2009 - 0.11696447245269292414e1 * t705 * t2012 - 0.10389515463408878255e3 * t2017 * t2018 - 0.1301229756036208781e0 * t2022; + const double t2030 = 0.4274e0 * t631 * t1875 * t189; + const double t2037 = t124 * t219; + const double t2041 = t124 * t201; + const double t2045 = t124 * t182; + const double t2048 = 0.23744444444444444444e-1 * t625 * t2045 * t190; + const double t2051 = 0.35616666666666666666e-1 * t625 * t626 * t645; + const double t2052 = t721 * t1968; + const double t2056 = 0.1e1 / t716 / t218; + const double t2057 = t76 * t2056; + const double t2059 = 0.1e1 / t719 / t215; + const double t2060 = t224 * t2059; + const double t2061 = t2060 * t1972; + const double t2066 = 0.16081979498692535067e2 * t650 * t653 * t1959; + const double t2067 = t644 * t652; + const double t2070 = 0.32163958997385070134e2 * t650 * t2067 * t621; + const double t2071 = -0.41096e0 * t673 * t1879 * t207 + t2030 - 0.10843581300301739842e-1 * t625 * t699 * t713 - 0.34246666666666666666e-1 * t625 * t668 * t682 + 0.72290542002011598948e-2 * t625 * t2037 * t226 + 0.22831111111111111111e-1 * t625 * t2041 * t208 - t2048 + t2051 + 0.17315859105681463759e2 * t718 * t2052 + 0.10254018858216406658e4 * t2057 * t2061 - t2066 - t2070; + const double t2073 = t1919 + t1979 + t2024 + t2071; + const double t2074 = t61 * t2073; + const double t2075 = t41 * t2074; + const double t2076 = t1351 * t229; + const double t2078 = -0.1350520664e0 * t596 * t1810 - 0.675260332e-1 * t1813 * t598 - t1820 + t1825 + 0.16936279733333333333e-2 * t1828 + t1842 - t1846 + t1849 - 0.10843581300301739842e-1 * t1851 - t1855 - t1860 - t2075 - t41 * t2076 - t1878; + const double t2080 = t219 * t1925 * t225; + const double t2082 = 0.5848223622634646207e0 * t234 * t2080; + const double t2083 = t732 * t745; + const double t2085 = t1351 * t76; + const double t2089 = 0.1301229756036208781e0 * t61 * t2022; + const double t2090 = t225 * t1972; + const double t2091 = t748 * t2090; + const double t2093 = 0.35089341735807877242e1 * t234 * t2091; + const double t2094 = t583 * t58; + const double t2095 = t2094 * t423; + const double t2096 = t170 * t591; + const double t2097 = t597 * t2096; + const double t2098 = t2095 * t2097; + const double t2100 = t424 * t725; + const double t2101 = t41 * t2100; + const double t2103 = t410 * t661; + const double t2106 = 0.12e2 * t1424 * t230; + const double t2108 = 0.32e2 * t1427 * t230; + const double t2109 = t153 * t153; + const double t2110 = 0.1e1 / t2109; + const double t2111 = t2110 * t158; + const double t2112 = t591 * t591; + const double t2115 = 0.1714584e0 * t2111 * t171 * t2112; + const double t2117 = 0.19263893255070628431e1 * t61 * t1974; + const double t2118 = t424 * t697; + const double t2120 = -t1891 + t2082 + 0.11696447245269292414e1 * t2083 + 0.5848223622634646207e0 * t2085 * t236 - t2089 + t2093 + 0.2701041328e0 * t2098 - 0.2e1 * t2101 + 0.8e1 * t2103 - t2106 + t2108 + t2115 - t1909 + t2117 + 0.1301229756036208781e0 * t2118; + const double t2123 = 0.65061487801810439052e-1 * t61 * t1970; + const double t2125 = t584 * t608 * t591; + const double t2129 = 0.13949e-1 * t1370; + const double t2130 = -0.24694444444444444445e-2 * t1934 + 0.19755555555555555556e-1 * t1936 + t2129; + const double t2133 = 0.571528e-1 * t584 * t171 * t2130; + const double t2135 = 0.8e1 * t410 * t726; + const double t2136 = t406 * t661; + const double t2138 = t61 * t625; + const double t2139 = t377 * t704; + const double t2140 = t2139 * t706; + const double t2142 = 0.21687162600603479684e-1 * t2138 * t2140; + const double t2143 = t377 * t717; + const double t2144 = t2143 * t722; + const double t2146 = 0.32106488758451047386e0 * t2138 * t2144; + const double t2147 = t595 * t766; + const double t2148 = t2147 * t637; + const double t2151 = 0.8e1 * t406 * t726; + const double t2152 = t2123 - 0.1143056e0 * t2125 - t2133 + t2135 - 0.8e1 * t2136 + t2142 - t2146 - 0.40020429009866666666e-2 * t2148 + t1956 + t1962 + t1965 - t2151 - t1986 - t1989 + t2030; + const double t2155 = t720 * t1968; + const double t2156 = t748 * t2155; + const double t2158 = 0.17315859105681463759e2 * t234 * t2156; + const double t2159 = t2056 * t224; + const double t2160 = t2059 * t1972; + const double t2161 = t2159 * t2160; + const double t2163 = 0.10254018858216406658e4 * t234 * t2161; + const double t2164 = t704 * t712; + const double t2165 = t2164 * t740; + const double t2167 = 0.23392894490538584828e1 * t234 * t2165; + const double t2168 = t225 * t1968; + const double t2169 = t739 * t2168; + const double t2171 = 0.11696447245269292414e1 * t234 * t2169; + const double t2172 = t2016 * t224; + const double t2173 = t720 * t1972; + const double t2174 = t2172 * t2173; + const double t2176 = 0.10389515463408878255e3 * t234 * t2174; + const double t2177 = t717 * t712; + const double t2178 = t2177 * t749; + const double t2180 = 0.34631718211362927518e2 * t234 * t2178; + const double t2181 = t732 * t741; + const double t2183 = t732 * t750; + const double t2185 = t160 * t36; + const double t2187 = 0.132e3 * t2185 * t164; + const double t2189 = 0.288e3 * t601 * t604; + const double t2190 = t162 * t1419; + const double t2191 = 0.1e1 / t2190; + const double t2193 = 0.156e3 * t161 * t2191; + const double t2194 = -t2187 + t2189 - t2193; + const double t2195 = t2194 * t170; + const double t2199 = 0.2e2 * t1421 * t230; + const double t2200 = -0.21973736767207854065e-2 * t1351 * t216 + t2158 + t2163 - t2167 - t2171 - t2176 + t2180 - 0.23392894490538584828e1 * t2181 + 0.34631718211362927518e2 * t2183 - t2048 + t2051 + 0.285764e-1 * t159 * t2195 - t2199 - t2066 - t2070; + const double t2202 = t2078 + t2120 + t2152 + t2200; + const double t2206 = t758 * t58; + const double t2207 = t2206 * t423; + const double t2208 = t597 * t761; + const double t2209 = t2207 * t2208; + const double t2212 = t759 * t607 * t761; + const double t2216 = -0.49388888888888888889e-2 * t1364 + 0.98777777777777777777e-2 * t1367 + t2129; + const double t2217 = t166 * t2216; + const double t2219 = 0.285764e-1 * t759 * t2217; + const double t2220 = t757 * t244; + const double t2221 = 0.1e1 / t2220; + const double t2222 = t2221 * t158; + const double t2223 = t761 * t761; + const double t2224 = t166 * t2223; + const double t2226 = 0.571528e-1 * t2222 * t2224; + const double t2227 = t1351 * t166; + const double t2230 = t424 * t607; + const double t2233 = -0.1350520664e0 * t2209 - t1353 + t1360 - t1383 - t1391 + 0.571528e-1 * t2212 + t2219 - t2226 - t1512 + 0.675260332e-1 * t765 * t2227 + 0.1350520664e0 * t765 * t2230 - t1505 + t1498 + t1501 - t1503; + const double t2236 = -t1493 - t1496 - t1423 - t1426 + t1429 + t1432 - t1491 - 0.285764e-1 * t246 * t2194 + t1468 + t1508 - t1519 - t1515 + t1405 + t1416 + t1418; + const double t2240 = t1805 - 0.1e2 / 0.3e1 * t1807 + 0.5e1 * t5 * t11 * t2202 - 0.45e2 * eta * ( t2233 + t2236 ); + const double t2241 = t147 * t2240; + const double t2242 = t146 * t2241; + const double t2246 = t261 * t1244 * t277; + const double t2248 = 0.42377972951376424087e0 * t254 * t2246; + const double t2249 = t776 * t780; + const double t2252 = 0.1e1 / t9 / t39; + const double t2257 = 0.21341733463216935736e0 * t120 * t122 * t2252 * t57 * t135; + const double t2258 = -0.2600466522016280569e0 * t1766 * t568 + 0.69345773920434148506e0 * t1771 + 0.16463622957338778997e0 * t1774 * t1776 + 0.86682217400542685632e-1 * t1783 * t1786 + 0.23115257973478049502e0 * t1791 + 0.5200933044032561138e0 * t1794 * t1796 + t1802 + 0.43341108700271342816e-1 * t2242 * t279 + t2248 - 0.23115257973478049502e0 * t2249 + t2257; + const double t2260 = 0.10975748638225852664e0 * t1569 * t1574 + 0.86682217400542685632e-1 * t1578 * t1581 + 0.2600466522016280569e0 * t1584 * t1587 + 0.12805040077930161442e0 * t1593 - 0.27439371595564631661e-1 * t535 * t1596 - 0.27439371595564631661e-1 * t535 * t1600 + 0.23115257973478049502e0 * t1606 - 0.43341108700271342816e-1 * t574 * t1609 + 0.54878743191129263322e-1 * t535 * t1618 + 0.86682217400542685632e-1 * t1623 * t1625 + t1700 - 0.11643651550782197811e-1 * t1709 - 0.97574405393827830186e-2 * t1713 - t1720 + 0.10975748638225852664e-1 * t1724 - 0.19514881078765566037e-1 * t1728 + 0.25610080155860322884e0 * t1732 - 0.13002332610081402845e0 * t566 * t1735 - 0.54878743191129263322e-1 * t527 * t1739 - 0.86682217400542685632e-1 * t1744 * t562 - 0.43341108700271342816e-1 * t549 * t1762 + t2258; + const double t2263 = t1552 * t285 + t1555 * t285 + t495 * t1557 / 0.2e1 - 0.5e1 / 0.16e2 * t1563 * t1564 + t499 * t2260 / 0.4e1; + const double t2266 = t97 * t106 * t2263 * t797; + const double t2267 = t1213 + t1331 + t1353 - t1360 + t1383 + t1391 + t1396 + t2266 + t1512 + t1505 - t1498 - t1501 + t1503 + t1493 + t1496; + const double t2269 = t97 * t471 * t1547; + const double t2270 = 0.3e1 * t2269; + const double t2271 = -t1353 + t1360 - t1383 - t1391 - t1396 - t2266 - t1512 - t1505 + t1498 + t1501 - t1503 - t1493 - t1496 - t1423 - t1426 + t1429 + t1432; + const double t2272 = t879 * t607; + const double t2275 = t2221 * t2223; + const double t2277 = t758 * t2216; + const double t2283 = t757 * t757; + const double t2284 = 0.1e1 / t2283; + const double t2285 = t2284 * t2223; + const double t2288 = t357 * t868; + const double t2289 = t862 * t2288; + const double t2290 = t359 * t502; + const double t2291 = t259 * t2290; + const double t2294 = t363 * t363; + const double t2296 = 0.1e1 / t364 / t2294; + const double t2297 = t358 * t2296; + const double t2298 = t2297 * t265; + const double t2300 = 0.1e1 / t9 / t1679; + const double t2308 = 0.2e1 * t2275 * t864 - 0.1e1 * t2277 * t864 + 0.1e1 * t2285 * t864 + 0.2845018947250181111e-1 * t2289 * t2291 - 0.20235332025531322028e-2 * t2298 * t1685 * t269 * t2300 + 0.52158680699586653702e-1 * t870 * t550 * t1244; + const double t2311 = t874 * t874; + const double t2312 = t368 * t368; + const double t2313 = 0.1e1 / t2312; + const double t2316 = -0.571528e-1 * t2275 + 0.285764e-1 * t2277 + 0.285764e-1 * t2308 * t875 - 0.285764e-1 * t2311 * t2313; + const double t2317 = t2316 * t158; + const double t2318 = t2317 * t166; + const double t2319 = t795 * t795; + const double t2321 = t287 * t287; + const double t2322 = 0.1e1 / t2321; + const double t2324 = t97 * t106 * t2319 * t2322; + const double t2325 = t878 * t58; + const double t2326 = t2325 * t766; + const double t2332 = t97 * t105; + const double t2333 = t795 * t797; + const double t2335 = t2332 * t2333 * t481; + const double t2336 = 0.6e1 * t2335; + const double t2337 = -t1491 - t2270 + t1468 + t1508 - t1519 + 0.2e1 * t2272 + t372 * t2194 + t2318 - t1515 + t2324 - 0.4726e1 * t2326 - 0.2363e1 * t881 * t2227 - 0.4726e1 * t881 * t2230 - t2336 + t1405 + t1416 + t1418; + const double t2338 = t2271 + t2337; + const double t2339 = t354 * t2338; + const double t2340 = t1423 + t1426 - t1429 - t1432 + t1491 + t2270 - t1468 - t1508 + t1519 + t2339 + t1515 - t2324 + t2336 - t1405 - t1416 - t1418; + const double t2346 = 0.36622894612013090108e-3 * t465; + const double t2348 = 0.22146941966666666666e-2 * t380; + const double t2350 = 0.2e1 * t459; + const double t2352 = 0.2e1 * t403; + const double t2353 = 0.11696447245269292414e1 * t469; + const double t2354 = 0.8e1 * t407; + const double t2355 = 0.8e1 * t411; + const double t2356 = t898 * t2; + const double t2357 = t2356 * t464; + const double t2358 = 0.18311447306006545054e-3 * t2357; + const double t2359 = t986 * t2322; + const double t2361 = t1048 * t2359 * t795; + const double t2362 = t860 * t1044; + const double t2365 = t1222 * t990; + const double t2366 = t2365 * t806; + const double t2369 = t298 * t35; + const double t2370 = t2369 * t1227; + const double t2375 = t1233 * t1000; + const double t2376 = t2375 * t810; + const double t2379 = t308 * t35; + const double t2380 = t2379 * t1227; + const double t2383 = -0.25e2 / 0.9e1 * t803 * t991 + 0.1e2 / 0.9e1 * t295 * t2366 + 0.5e1 / 0.3e1 * t295 * t2370 - 0.25e2 / 0.9e1 * t997 * t811 + 0.1e2 / 0.9e1 * t305 * t2376 - 0.5e1 / 0.3e1 * t305 * t2380 - t1245; + const double t2385 = t1004 * t818; + const double t2388 = t1010 * t826; + const double t2398 = 0.3e1 / 0.1e2 * t313 * ( 0.1e2 / 0.9e1 * t2366 + 0.5e1 / 0.3e1 * t2370 + 0.1e2 / 0.9e1 * t2376 - 0.5e1 / 0.3e1 * t2380 ) + t1265; + const double t2400 = -t1248 * t1010 + 0.2e1 * t1253 * t2388 + t2383 * t321 - t2385 * t826 - t819 * t2398; + const double t2401 = piecewise_functor_3( t324, 0.0, t2400 ); + const double t2404 = t1013 * t833; + const double t2407 = t1013 * t829; + const double t2412 = -0.64e0 * t2401 * t327 - 0.128e1 * t2404 * t829 - 0.128e1 * t1277 * t2407 - 0.64e0 * t834 * t2401; + const double t2413 = t2412 * t330; + const double t2414 = t1018 * t837; + const double t2415 = t2414 * t330; + const double t2417 = piecewise_functor_3( t332, 0.0, t2400 ); + const double t2419 = t839 * t1020; + const double t2421 = t333 * t2417; + const double t2425 = t335 * t2417; + const double t2429 = t337 * t2417; + const double t2433 = t339 * t2417; + const double t2437 = t341 * t2417; + const double t2443 = -0.64e0 * t2417 - 0.8704e0 * t2419 - 0.8704e0 * t2421 - 0.9214113627294e1 * t1022 * t839 - 0.4607056813647e1 * t2425 + 0.367387230261e2 * t1024 * t839 + 0.122462410087e2 * t2429 - 0.3831420472412e2 * t1026 * t839 - 0.957855118103e1 * t2433 + 0.1550653405116e2 * t1028 * t839 + 0.3101306810232e1 * t2437 - 0.2177652951264e1 * t1030 * t839 - 0.362942158544e0 * t343 * t2417; + const double t2444 = t1315 * t1035; + const double t2445 = t352 * t856; + const double t2448 = piecewise_functor_3( t332, t2400, 0.0 ); + const double t2452 = t1325 * t1035; + const double t2456 = piecewise_functor_5( t323, t2413 + t2415, t331, t2443, -0.21e1 * t2444 * t2445 - 0.105e1 * t855 * t2448 * t352 - 0.1575e1 * t2452 * t2445 ); + const double t2457 = t2456 * t374; + const double t2458 = t1332 * t889; + const double t2461 = t48 * t35; + const double t2465 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t2458 * t415 + 0.8e1 / 0.3e1 * t2461 * t1227 ); + const double t2466 = t1341 * t893; + const double t2469 = t53 * t35; + const double t2473 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t2466 * t419 - 0.8e1 / 0.3e1 * t2469 * t1227 ); + const double t2474 = t2465 + t2473; + const double t2475 = t2474 * t60; + const double t2476 = t2475 * t86; + const double t2477 = 0.19751673498613801407e-1 * t2476; + const double t2478 = t2333 * t910; + const double t2479 = t2332 * t2478; + const double t2480 = 0.3e1 * t2479; + const double t2481 = 0.4e1 * t1497; + const double t2482 = 0.4e1 * t1502; + const double t2483 = -t2358 - t1360 - t2361 + t2362 + t1383 + t1391 + t2457 + t2477 + t2480 + t1512 - t2481 - t1501 - t2482 + t1495 + t1423 - t1426 - t1432 + t1491; + const double t2484 = t1039 * t885; + const double t2485 = t986 * t797; + const double t2487 = t2332 * t2485 * t481; + const double t2488 = 0.3e1 * t2487; + const double t2489 = t97 * t104; + const double t2490 = t288 * t910; + const double t2492 = t2489 * t2490 * t481; + const double t2493 = 0.6e1 * t2492; + const double t2494 = t963 * t468; + const double t2495 = 0.5848223622634646207e0 * t2494; + const double t2496 = t406 * t899; + const double t2497 = 0.4e1 * t2496; + const double t2498 = t410 * t899; + const double t2499 = 0.4e1 * t2498; + const double t2500 = t1532 * t889; + const double t2503 = t472 * t35; + const double t2507 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t2500 * t415 + 0.4e1 / 0.3e1 * t2503 * t1227 ); + const double t2508 = t1539 * t893; + const double t2511 = t476 * t35; + const double t2515 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t2508 * t419 - 0.4e1 / 0.3e1 * t2511 * t1227 ); + const double t2517 = t2507 / 0.2e1 + t2515 / 0.2e1; + const double t2519 = t97 * t471 * t2517; + const double t2520 = 0.3e1 * t2519; + const double t2521 = -t2358 - t1360 + t1383 + t1391 + t2477 + t1512 - t2481 - t1501 - t2482 + t1495 + t1423 - t1426 - t1432; + const double t2522 = t2475 * t88; + const double t2523 = t41 * t2522; + const double t2524 = t898 * t457; + const double t2525 = t41 * t2524; + const double t2526 = 0.18311447306006545054e-3 * t1507; + const double t2527 = 0.5848223622634646207e0 * t1417; + const double t2528 = t1491 - t2495 + t2497 - t2499 + t2523 + t2525 - t1468 - t2526 + t1519 + t1515 - t1405 - t1416 - t2527; + const double t2530 = ( t2521 + t2528 ) * t108; + const double t2536 = t109 * t95; + const double t2537 = t1527 * t910; + const double t2538 = t2537 * t481; + const double t2541 = t490 * t2517; + const double t2544 = 0.3e1 * t109 * t2541 - t2530 * t111 - 0.12e2 * t2536 * t2538 + 0.3e1 * t486 * t917 + 0.3e1 * t915 * t491; + const double t2545 = t2544 * t113; + const double t2546 = t2545 * t285; + const double t2547 = t920 * t494; + const double t2548 = t113 * t285; + const double t2552 = t498 * t983; + const double t2555 = t983 * t792; + const double t2558 = t277 * t938; + const double t2559 = t2558 * t495; + const double t2560 = t360 * t2559; + const double t2563 = t277 * t910; + const double t2564 = t2563 * t495; + const double t2565 = t360 * t2564; + const double t2568 = t277 * t920; + const double t2569 = t113 * t560; + const double t2570 = t2568 * t2569; + const double t2571 = t360 * t2570; + const double t2574 = t113 * t481; + const double t2575 = t2568 * t2574; + const double t2576 = t360 * t2575; + const double t2579 = t571 * t1577; + const double t2580 = t2568 * t495; + const double t2581 = t360 * t2580; + const double t2584 = t788 * t910; + const double t2586 = t1651 * t785 * t2584; + const double t2588 = t1726 * t923; + const double t2589 = t514 * t2588; + const double t2591 = t537 * t920; + const double t2592 = t2591 * t113; + const double t2593 = t1658 * t2592; + const double t2594 = t1657 * t2593; + const double t2596 = t788 * t938; + const double t2598 = t1645 * t785 * t2596; + const double t2601 = t551 * t552 * t2545; + const double t2604 = t537 * t978; + const double t2605 = t2604 * t255; + const double t2606 = t571 * t2605; + const double t2609 = t910 * t560; + const double t2611 = t551 * t552 * t2609; + const double t2614 = t910 * t481; + const double t2616 = t551 * t552 * t2614; + const double t2621 = 0.43341108700271342816e-1 * t1578 * t2560 + 0.13002332610081402845e0 * t1584 * t2565 + 0.43341108700271342816e-1 * t1578 * t2571 + 0.13002332610081402845e0 * t1584 * t2576 - 0.43341108700271342816e-1 * t2579 * t2581 - 0.17465477326173296717e-1 * t2586 - 0.97574405393827830187e-2 * t2589 + 0.27439371595564631661e-2 * t2594 - 0.58218257753910989057e-2 * t2598 - 0.43341108700271342816e-1 * t574 * t2601 - 0.43341108700271342816e-1 * t2606 * t576 + 0.13002332610081402845e0 * t1639 * t2611 + 0.5200933044032561138e0 * t1794 * t2616 + 0.64025200389650807209e-1 * t1593 + 0.11557628986739024751e0 * t1606; + const double t2622 = t1592 * t928; + const double t2625 = t551 * t1603 * t921; + const double t2626 = t574 * t2625; + const double t2633 = t524 * t525 * t129; + const double t2634 = t1613 * t920; + const double t2635 = t1615 * t494; + const double t2636 = t2634 * t2635; + const double t2637 = t1571 * t2636; + const double t2640 = t1621 * t259; + const double t2641 = t571 * t2640; + const double t2642 = t2568 * t2635; + const double t2643 = t360 * t2642; + const double t2646 = t537 * t910; + const double t2648 = t1571 * t2646 * t495; + const double t2651 = t2591 * t2574; + const double t2652 = t1571 * t2651; + const double t2655 = t2591 * t495; + const double t2656 = t1571 * t2655; + const double t2660 = 0.64025200389650807209e-1 * t2622 + 0.11557628986739024751e0 * t2626 - 0.58218257753910989057e-2 * t1648 - 0.17465477326173296717e-1 * t1654 + 0.27439371595564631661e-2 * t1662 + 0.58218257753910989057e-2 * t1666 - t1673 - t1676 + t1689 + t1699 + 0.54878743191129263322e-1 * t2633 * t2637 + 0.86682217400542685632e-1 * t2641 * t2643 + 0.54878743191129263322e-1 * t1569 * t2648 + 0.54878743191129263322e-1 * t1569 * t2652 - 0.27439371595564631661e-1 * t2633 * t2656 - 0.58218257753910989057e-2 * t1709; + const double t2666 = t5 * t378 * t966; + const double t2671 = t898 * t5; + const double t2672 = t2671 * t736; + const double t2674 = t963 * t750; + const double t2677 = t410 * t959; + const double t2679 = t898 * t725; + const double t2680 = t41 * t2679; + const double t2681 = t2475 * t76; + const double t2684 = -t1820 + t1825 + 0.84681398666666666666e-3 * t1828 + t1842 - t1846 - 0.21973736767207854065e-2 * t2475 * t216 - 0.54217906501508699211e-2 * t2672 + 0.17315859105681463759e2 * t2674 + t1849 - 0.54217906501508699211e-2 * t1851 - t1855 - t1860 - t2075 + 0.4e1 * t2677 - t1878 - t2680 + 0.5848223622634646207e0 * t2681 * t236; + const double t2686 = t584 * t956 * t591; + const double t2689 = t595 * t2474; + const double t2694 = t60 * t955; + const double t2695 = t2694 * t170; + const double t2698 = t963 * t745; + const double t2703 = -t1891 - 0.571528e-1 * t2686 + t2082 + 0.5848223622634646207e0 * t2083 - 0.675260332e-1 * t2689 * t598 - 0.675260332e-1 * t951 * t1810 - 0.675260332e-1 * t596 * t2695 + 0.5848223622634646207e0 * t2698 - t2089 + t2093 + 0.1350520664e0 * t2098 - t2101 + 0.4e1 * t2103 + t2106 + t2115 - t1909 + t2117 + 0.65061487801810439052e-1 * t2118; + const double t2707 = t2475 * t229; + const double t2710 = t595 * t970; + const double t2711 = t2710 * t637; + const double t2713 = t406 * t959; + const double t2715 = t963 * t741; + const double t2717 = t2094 * t897; + const double t2718 = t2717 * t2097; + const double t2720 = t2187 - t2193; + const double t2721 = t2720 * t170; + const double t2724 = t2123 - 0.571528e-1 * t2125 - t2133 + t2135 + 0.4e1 * t2136 - t41 * t2707 + t2142 - t2146 - 0.20010214504933333333e-2 * t2148 - 0.20010214504933333333e-2 * t2711 - 0.4e1 * t2713 - 0.11696447245269292414e1 * t2715 + 0.1350520664e0 * t2718 + t1956 + t1962 + t1965 + 0.285764e-1 * t159 * t2721; + const double t2727 = t898 * t697; + const double t2729 = t955 * t585; + const double t2730 = t159 * t2729; + const double t2731 = t2730 * t617; + const double t2733 = -t1986 - t1989 + t2030 + t2158 + t2163 - t2167 - t2171 - t2176 + t2180 - 0.11696447245269292414e1 * t2181 + 0.17315859105681463759e2 * t2183 - t2048 + t2051 - t2199 + 0.65061487801810439052e-1 * t2727 + 0.84681398666666666666e-3 * t2731 - t2066 - t2070; + const double t2735 = t2684 + t2703 + t2724 + t2733; + const double t2741 = -0.675260332e-1 * t2209 + t2358 + t1360 - t1383 - t1391 + 0.285764e-1 * t2212 + t2219 - t2226 - t2477 - t1512 + t2481 + t1501 + t2482 - t1495 - t1423 + t1426 + t1432 - t1491; + const double t2742 = t2475 * t166; + const double t2745 = t898 * t607; + const double t2748 = t424 * t955; + const double t2751 = t955 * t761; + const double t2752 = t759 * t2751; + const double t2754 = t2206 * t897; + const double t2755 = t2754 * t2208; + const double t2759 = t2495 + 0.675260332e-1 * t765 * t2742 + 0.675260332e-1 * t765 * t2745 + 0.675260332e-1 * t765 * t2748 - t2497 + t2499 - t2523 - t2525 + 0.285764e-1 * t2752 + t1468 + t2526 - t1519 - 0.675260332e-1 * t2755 - t1515 + t1405 + t1416 + t2527 - 0.285764e-1 * t246 * t2720; + const double t2763 = t1805 - 0.5e1 / 0.3e1 * t1807 - 0.5e1 / 0.3e1 * t2666 + 0.5e1 * t5 * t11 * t2735 - 0.45e2 * eta * ( t2741 + t2759 ); + const double t2764 = t147 * t2763; + const double t2765 = t146 * t2764; + const double t2770 = t506 * t2614; + const double t2771 = t529 * t2770; + const double t2774 = t538 * t2545; + const double t2775 = t529 * t2774; + const double t2778 = t938 * t560; + const double t2780 = t551 * t552 * t2778; + const double t2783 = t938 * t481; + const double t2785 = t551 * t552 * t2783; + const double t2789 = t980 * t780; + const double t2796 = -0.48787202696913915093e-2 * t1713 - t1720 + 0.54878743191129263322e-2 * t1724 + 0.43341108700271342816e-1 * t2765 * t279 - 0.43341108700271342816e-1 * t1631 * t948 + 0.16463622957338778997e0 * t1774 * t2771 - 0.27439371595564631661e-1 * t535 * t2775 + 0.86682217400542685632e-1 * t1783 * t2780 + 0.13002332610081402845e0 * t1639 * t2785 - 0.97574405393827830186e-2 * t1728 - 0.11557628986739024751e0 * t2789 + 0.12805040077930161442e0 * t1732 + 0.34672886960217074253e0 * t1771 + 0.11557628986739024751e0 * t1791 - 0.13002332610081402845e0 * t1766 * t944 + t1802; + const double t2797 = t1712 * t2593; + const double t2799 = t2568 * t113; + const double t2800 = t1705 * t2799; + const double t2801 = t1704 * t2800; + const double t2803 = t552 * t2517; + const double t2804 = t551 * t2803; + const double t2807 = t133 * t978; + const double t2808 = t2807 * t255; + const double t2809 = t546 * t2808; + const double t2812 = t565 * t2808; + const double t2815 = t506 * t2517; + const double t2816 = t529 * t2815; + const double t2823 = t99 * t35; + const double t2827 = piecewise_functor_3( t45, 0.0, 0.1e2 / 0.9e1 * t903 * t415 + 0.1e2 / 0.3e1 * t2823 * t1227 ); + const double t2830 = t101 * t35; + const double t2834 = piecewise_functor_3( t52, 0.0, 0.1e2 / 0.9e1 * t906 * t419 - 0.1e2 / 0.3e1 * t2830 * t1227 ); + const double t2836 = t2827 / 0.2e1 + t2834 / 0.2e1; + const double t2837 = t552 * t2836; + const double t2838 = t551 * t2837; + const double t2841 = t1603 * t938; + const double t2842 = t551 * t2841; + const double t2843 = t549 * t2842; + const double t2845 = t1603 * t910; + const double t2846 = t551 * t2845; + const double t2847 = t566 * t2846; + const double t2849 = t1731 * t924; + const double t2852 = t978 * t784; + const double t2854 = t783 * t2852 * t788; + const double t2856 = t133 * t910; + const double t2857 = t1721 * t2856; + const double t2858 = t1657 * t2857; + const double t2860 = -0.48787202696913915093e-2 * t2797 - 0.58218257753910989057e-2 * t2801 - 0.13002332610081402845e0 * t566 * t2804 - 0.43341108700271342816e-1 * t2809 * t562 - 0.13002332610081402845e0 * t2812 * t568 - 0.54878743191129263322e-1 * t527 * t2816 - 0.43341108700271342816e-1 * t1744 * t940 - 0.43341108700271342816e-1 * t549 * t2838 + 0.11557628986739024751e0 * t2843 + 0.34672886960217074253e0 * t2847 + 0.12805040077930161442e0 * t2849 + t2248 - 0.11557628986739024751e0 * t2249 + t2257 + 0.58218257753910989057e-2 * t2854 + 0.54878743191129263322e-2 * t2858; + const double t2862 = t2621 + t2660 + t2796 + t2860; + const double t2865 = t2546 + t2547 * t2548 + t921 * t1557 / 0.4e1 + t495 * t2552 / 0.4e1 - 0.5e1 / 0.16e2 * t1563 * t2555 + t499 * t2862 / 0.4e1; + const double t2868 = t97 * t106 * t2865 * t797; + const double t2869 = t879 * t955; + const double t2877 = t2325 * t970; + const double t2879 = t2869 + t372 * t2720 + t2358 + t1360 - 0.2363e1 * t881 * t2742 - 0.2363e1 * t881 * t2745 - 0.2363e1 * t881 * t2748 - 0.2363e1 * t2877 + t2361 - t1383 - t1391 - t2477 - t2480 - t1512 + t2481 + t1501 + t2482 - t1495 - t1423 + t1426; + const double t2882 = -t2525 + t1468 + t2526 - t1519 + t2272 + t2318 - t1515 - 0.2363e1 * t2326 + t1405 + t1416 + t2527; + const double t2884 = t2879 + t1432 - t1491 - t2488 - t2493 + t2495 - t2497 + t2499 - t2520 - t2868 - t2523 + t2882; + const double t2885 = t354 * t2884; + const double t2886 = t2484 + t2488 + t2493 - t2495 + t2497 - t2499 + t2520 + t2868 + t2523 + t2525 - t1468 - t2526 + t1519 + t2885 + t1515 - t1405 - t1416 - t2527; + const double t2889 = t889 * t889; + const double t2892 = t413 + t1228; + const double t2893 = 0.2e1 * t2892; + const double t2897 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1332 * t2889 + 0.4e1 / 0.3e1 * t48 * t2893 ); + const double t2898 = t893 * t893; + const double t2901 = -t2893; + const double t2905 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1341 * t2898 + 0.4e1 / 0.3e1 * t53 * t2901 ); + const double t2906 = t2897 + t2905; + const double t2907 = t2906 * t60; + const double t2908 = t2907 * t88; + const double t2909 = t41 * t2908; + const double t2910 = t2907 * t86; + const double t2911 = 0.19751673498613801407e-1 * t2910; + const double t2912 = t2907 * t166; + const double t2915 = t898 * t955; + const double t2919 = t986 * t986; + const double t2922 = t97 * t106 * t2919 * t2322; + const double t2923 = 0.36622894612013090108e-3 * t2357; + const double t2925 = -t2909 - t2911 - 0.2363e1 * t881 * t2912 - 0.4726e1 * t881 * t2915 + 0.2e1 * t2869 + t2922 + t2923 + t1360 - 0.4726e1 * t2877 - t1383 - t1391 - t1512 + t1505 + t1501 - t1423 - t1426 - t1429; + const double t2926 = 0.11696447245269292414e1 * t2494; + const double t2927 = t2485 * t910; + const double t2928 = t2332 * t2927; + const double t2929 = 0.6e1 * t2928; + const double t2930 = 0.8e1 * t2496; + const double t2931 = 0.8e1 * t2498; + const double t2932 = 0.2e1 * t2525; + const double t2933 = -t2187 - t2189 - t2193; + const double t2935 = t2911 - t2926 + t2932 - t2930 - t2931 + t2909 - t2923 - t1405 - t1416 + t1423 + t1426; + const double t2936 = t1429 - t1432 + t1491 - t1501 - t1505 - t1360 + t1383 + t1391 + t1512 - t1468 + t1515 + t1519; + const double t2938 = ( t2935 + t2936 ) * t108; + const double t2942 = t910 * t910; + const double t2943 = t1528 * t2942; + const double t2946 = t1532 * t2889; + const double t2948 = t472 * t2893; + const double t2951 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t2946 + 0.2e1 / 0.3e1 * t2948 ); + const double t2952 = t1539 * t2898; + const double t2954 = t476 * t2901; + const double t2957 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t2952 + 0.2e1 / 0.3e1 * t2954 ); + const double t2959 = t2951 / 0.2e1 + t2957 / 0.2e1; + const double t2960 = t490 * t2959; + const double t2963 = -0.12e2 * t109 * t2943 + 0.3e1 * t109 * t2960 - t2938 * t111 + 0.6e1 * t915 * t917; + const double t2964 = t2963 * t113; + const double t2966 = t920 * t920; + const double t2967 = t2966 * t113; + const double t2971 = t983 * t983; + const double t2979 = t551 * t552 * t2964; + const double t2984 = t538 * t2964; + const double t2985 = t529 * t2984; + const double t2988 = t938 * t910; + const double t2990 = t551 * t552 * t2988; + const double t2994 = t551 * t552 * t2967; + const double t2997 = t552 * t2942; + const double t2998 = t551 * t2997; + const double t3004 = t938 * t938; + const double t3005 = t552 * t3004; + const double t3006 = t551 * t3005; + const double t3009 = t506 * t2942; + const double t3010 = t529 * t3009; + const double t3013 = t552 * t2959; + const double t3014 = t551 * t3013; + const double t3017 = t506 * t2959; + const double t3018 = t529 * t3017; + const double t3028 = piecewise_functor_3( t45, 0.0, 0.1e2 / 0.9e1 * t472 * t2889 + 0.5e1 / 0.3e1 * t99 * t2893 ); + const double t3034 = piecewise_functor_3( t52, 0.0, 0.1e2 / 0.9e1 * t476 * t2898 + 0.5e1 / 0.3e1 * t101 * t2901 ); + const double t3036 = t3028 / 0.2e1 + t3034 / 0.2e1; + const double t3037 = t552 * t3036; + const double t3038 = t551 * t3037; + const double t3043 = 0.12805040077930161442e0 * t2622 + 0.23115257973478049502e0 * t2626 - t1673 + 0.86682217400542685632e-1 * t1783 * t3006 + 0.16463622957338778997e0 * t1774 * t3010 - 0.13002332610081402845e0 * t566 * t3014 - 0.54878743191129263322e-1 * t527 * t3018 - 0.86682217400542685632e-1 * t2809 * t940 - 0.43341108700271342816e-1 * t549 * t3038 - 0.2600466522016280569e0 * t2812 * t944 - t1676; + const double t3047 = t2933 * t170; + const double t3053 = -t1820 + t1825 + t1842 - t1846 - 0.10843581300301739842e-1 * t2672 + 0.285764e-1 * t159 * t3047 + 0.34631718211362927518e2 * t2674 + t1849 - t1855 - t1860 - t2075 + 0.8e1 * t2677 - t1878 - 0.2e1 * t2680; + const double t3055 = t2907 * t229; + const double t3057 = t2907 * t76; + const double t3061 = -t1891 - 0.1143056e0 * t2686 + t2082 - t41 * t3055 + 0.5848223622634646207e0 * t3057 * t236 + 0.11696447245269292414e1 * t2698 - t2089 + t2093 - t2106 - t2108 + t2115 - t1909 + t2117 + t2123 - t2133; + const double t3067 = t595 * t2906; + const double t3072 = t2135 + t2142 - t2146 - 0.40020429009866666666e-2 * t2711 + 0.8e1 * t2713 - 0.23392894490538584828e1 * t2715 + 0.2701041328e0 * t2718 + t1956 + t1962 + t1965 + t2151 - 0.675260332e-1 * t3067 * t598 - 0.1350520664e0 * t951 * t2695 - t1986 - t1989; + const double t3077 = -0.21973736767207854065e-2 * t2907 * t216 + t2030 + t2158 + t2163 - t2167 - t2171 - t2176 + t2180 - t2048 + t2051 - t2199 + 0.1301229756036208781e0 * t2727 + 0.16936279733333333333e-2 * t2731 - t2066 - t2070; + const double t3079 = t3053 + t3061 + t3072 + t3077; + const double t3087 = -t2909 - t2911 + t2923 + t1360 - t1383 - t1391 + t2219 - t2226 - t1512 + 0.675260332e-1 * t765 * t2912 + 0.1350520664e0 * t765 * t2915 + t1505 + t1501 - t1423 - t1426; + const double t3092 = -t1429 + t1432 - t1491 + t2926 + t2930 + t2931 - t2932 - 0.285764e-1 * t246 * t2933 + 0.571528e-1 * t2752 + t1468 - t1519 - 0.1350520664e0 * t2755 - t1515 + t1405 + t1416; + const double t3096 = t1805 - 0.1e2 / 0.3e1 * t2666 + 0.5e1 * t5 * t11 * t3079 - 0.45e2 * eta * ( t3087 + t3092 ); + const double t3097 = t147 * t3096; + const double t3098 = t146 * t3097; + const double t3101 = t538 * t2967; + const double t3102 = t529 * t3101; + const double t3105 = t2563 * t921; + const double t3106 = t360 * t3105; + const double t3109 = t2966 * t1615; + const double t3110 = t1614 * t3109; + const double t3111 = t529 * t3110; + const double t3115 = t551 * t552 * t3109; + const double t3122 = t2558 * t921; + const double t3123 = t360 * t3122; + const double t3129 = t1571 * t2646 * t921; + const double t3135 = -0.97574405393827830186e-2 * t2797 - 0.11643651550782197811e-1 * t2801 + 0.86682217400542685632e-1 * t1578 * t3123 + 0.23115257973478049502e0 * t2843 + 0.69345773920434148506e0 * t2847 + 0.10975748638225852664e0 * t1569 * t3129 + 0.25610080155860322884e0 * t2849 + t2248 + t2257 + 0.11643651550782197811e-1 * t2854 + 0.10975748638225852664e-1 * t2858; + const double t3137 = -0.34930954652346593434e-1 * t2586 - 0.19514881078765566037e-1 * t2589 + 0.54878743191129263322e-2 * t2594 - 0.11643651550782197811e-1 * t2598 - 0.43341108700271342816e-1 * t574 * t2979 - 0.86682217400542685632e-1 * t2606 * t948 - 0.27439371595564631661e-1 * t535 * t2985 + 0.2600466522016280569e0 * t1639 * t2990 - 0.43341108700271342816e-1 * t574 * t2994 + 0.5200933044032561138e0 * t1794 * t2998 + t3043 + 0.43341108700271342816e-1 * t3098 * t279 - 0.27439371595564631661e-1 * t535 * t3102 + t1689 + t1699 - t1720 + 0.2600466522016280569e0 * t1584 * t3106 + 0.54878743191129263322e-1 * t535 * t3111 + 0.86682217400542685632e-1 * t1623 * t3115 - 0.23115257973478049502e0 * t2789 + t1802 + t3135; + const double t3140 = t2964 * t285 + t2967 * t285 + t921 * t2552 / 0.2e1 - 0.5e1 / 0.16e2 * t1563 * t2971 + t499 * t3137 / 0.4e1; + const double t3143 = t97 * t106 * t3140 * t797; + const double t3145 = t97 * t471 * t2959; + const double t3146 = 0.3e1 * t3145; + const double t3148 = t97 * t1392 * t2942; + const double t3149 = 0.6e1 * t3148; + const double t3150 = t372 * t2933 + t1405 + t1416 + t1432 + t1468 - t1491 - t1515 - t1519 + t2318 + t2926 - t2929 + t2930 + t2931 - t2932 - t3143 - t3146 - t3149; + const double t3151 = t2925 + t3150; + const double t3152 = t354 * t3151; + const double t3153 = t2909 + t2911 + t3152 - t2922 - t2923 - t1360 + t1383 + t1391 + t1512 - t1505 - t1501 + t1423 + t1426 + t1429 - t1432; + const double t3154 = t990 * t990; + const double t3155 = t1222 * t3154; + const double t3158 = t298 * t2892; + const double t3163 = 0.1e1 / t302 / t994 / rho_b; + const double t3164 = tau_b * t3163; + const double t3169 = t1000 * t1000; + const double t3170 = t1233 * t3169; + const double t3173 = -t2892; + const double t3174 = t308 * t3173; + const double t3177 = 0.1e2 / 0.9e1 * t295 * t3155 + 0.5e1 / 0.3e1 * t295 * t3158 + 0.4e2 / 0.9e1 * t3164 * t309 - 0.5e2 / 0.9e1 * t997 * t1001 + 0.1e2 / 0.9e1 * t305 * t3170 + 0.5e1 / 0.3e1 * t305 * t3174 - t1245; + const double t3181 = t1010 * t1010; + const double t3191 = 0.3e1 / 0.1e2 * t313 * ( 0.1e2 / 0.9e1 * t3155 + 0.5e1 / 0.3e1 * t3158 + 0.1e2 / 0.9e1 * t3170 + 0.5e1 / 0.3e1 * t3174 ) + t1265; + const double t3193 = -0.2e1 * t2385 * t1010 + 0.2e1 * t1253 * t3181 + t3177 * t321 - t819 * t3191; + const double t3194 = piecewise_functor_3( t324, 0.0, t3193 ); + const double t3197 = t1013 * t1013; + const double t3204 = -0.64e0 * t3194 * t327 - 0.128e1 * t3197 * t833 - 0.128e1 * t1277 * t3197 - 0.64e0 * t834 * t3194; + const double t3205 = t3204 * t330; + const double t3206 = t1018 * t1018; + const double t3207 = t3206 * t330; + const double t3209 = piecewise_functor_3( t332, 0.0, t3193 ); + const double t3211 = t1020 * t1020; + const double t3213 = t333 * t3209; + const double t3215 = t333 * t3211; + const double t3217 = t335 * t3209; + const double t3219 = t335 * t3211; + const double t3221 = t337 * t3209; + const double t3223 = t337 * t3211; + const double t3225 = t339 * t3209; + const double t3227 = t339 * t3211; + const double t3229 = t341 * t3209; + const double t3235 = -0.64e0 * t3209 - 0.8704e0 * t3211 - 0.8704e0 * t3213 - 0.9214113627294e1 * t3215 - 0.4607056813647e1 * t3217 + 0.367387230261e2 * t3219 + 0.122462410087e2 * t3221 - 0.3831420472412e2 * t3223 - 0.957855118103e1 * t3225 + 0.1550653405116e2 * t3227 + 0.3101306810232e1 * t3229 - 0.2177652951264e1 * t341 * t3211 - 0.362942158544e0 * t343 * t3209; + const double t3236 = t1035 * t1035; + const double t3240 = piecewise_functor_3( t332, t3193, 0.0 ); + const double t3244 = t1325 * t3236; + const double t3248 = piecewise_functor_5( t323, t3205 + t3207, t331, t3235, -0.21e1 * t1315 * t3236 * t352 - 0.105e1 * t855 * t3240 * t352 - 0.1575e1 * t3244 * t352 ); + const double t3249 = t3248 * t374; + const double t3250 = t1039 * t1044; + const double t3251 = 0.2e1 * t3250; + const double t3252 = t1491 - t2926 + t2929 - t2930 - t2931 + t2932 - t1468 + t1519 + t3143 + t1515 + t3146 - t1405 - t1416 + t3249 + t3251 + t3149; + const double t3261 = t105 * t114; + const double t3262 = t97 * t3261; + const double t3263 = t498 * t1064; + const double t3264 = t797 * t481; + const double t3266 = t3262 * t3263 * t3264; + const double t3267 = 0.3e1 / 0.4e1 * t3266; + const double t3268 = t106 * t494; + const double t3269 = t97 * t3268; + const double t3270 = t113 * t498; + const double t3271 = t3270 * t1065; + const double t3272 = t3269 * t3271; + const double t3273 = t3272 / 0.4e1; + const double t3274 = t106 * t114; + const double t3275 = t97 * t3274; + const double t3276 = t1562 * t1064; + const double t3277 = t797 * t792; + const double t3279 = t3275 * t3276 * t3277; + const double t3280 = 0.5e1 / 0.16e2 * t3279; + const double t3281 = t503 * t57; + const double t3282 = t3281 * t1696; + const double t3283 = 0.27439371595564631661e-2 * t3282; + const double t3285 = t512 * t502 * t507; + const double t3286 = 0.48787202696913915093e-2 * t3285; + const double t3288 = t120 * t1591 * t1050; + const double t3289 = 0.64025200389650807209e-1 * t3288; + const double t3290 = t120 * t526; + const double t3291 = t3290 * t531; + const double t3293 = t120 * t124; + const double t3294 = t505 * t20; + const double t3295 = t3293 * t3294; + const double t3296 = t1571 * t1660; + const double t3297 = t3295 * t3296; + const double t3299 = t545 * t253; + const double t3300 = t261 * t561; + const double t3301 = t3299 * t3300; + const double t3303 = t1650 * t252; + const double t3304 = t146 * t3303; + const double t3305 = t261 * t567; + const double t3306 = t3304 * t3305; + const double t3308 = t550 * t263; + const double t3309 = t3308 * t1707; + const double t3310 = t574 * t3309; + const double t3312 = t776 * t1055; + const double t3314 = t260 * t502; + const double t3316 = t259 * t3314 * t277; + const double t3317 = t254 * t3316; + const double t3318 = 0.11557628986739024751e0 * t3317; + const double t3319 = t252 * t787; + const double t3320 = t269 * t277; + const double t3322 = t783 * t3319 * t3320; + const double t3323 = 0.23287303101564395623e-1 * t3322; + const double t3324 = t1060 * t560; + const double t3326 = t1645 * t1058 * t3324; + const double t3328 = t1060 * t481; + const double t3330 = t1651 * t1058 * t3328; + const double t3332 = t269 * t1059; + const double t3333 = t3332 * t1707; + const double t3334 = t1704 * t3333; + const double t3336 = t774 * t269; + const double t3338 = t783 * t3336 * t1060; + const double t3341 = 0.1e1 / t9 / t2190; + const double t3342 = t1677 * t3341; + const double t3344 = t3342 * t265 * t1686; + const double t3345 = t254 * t3344; + const double t3346 = 0.23804984598836975486e-2 * t3345; + const double t3347 = -t3283 + t3286 - t3289 - 0.54878743191129263322e-1 * t3291 - 0.27439371595564631661e-1 * t3297 - 0.43341108700271342816e-1 * t3301 - 0.13002332610081402845e0 * t3306 - 0.43341108700271342816e-1 * t3310 + 0.43341108700271342816e-1 * t3312 - t3318 + t3323 + 0.21831846657716620896e-2 * t3326 + 0.65495539973149862688e-2 * t3330 + 0.21831846657716620896e-2 * t3334 - 0.21831846657716620896e-2 * t3338 - t3346; + const double t3348 = t3347 * t797; + const double t3350 = t1048 * t499 * t3348; + const double t3351 = t3350 / 0.4e1; + const double t3352 = t2322 * t795; + const double t3354 = t3275 * t3263 * t3352; + const double t3355 = t3354 / 0.4e1; + const double t3356 = t502 * t321; + const double t3357 = t3356 / 0.3e1; + const double t3358 = t263 * t818; + const double t3359 = t3358 * t826; + const double t3361 = t1248 * t1070; + const double t3363 = t1070 * t826; + const double t3364 = t1253 * t3363; + const double t3366 = eta * t502; + const double t3367 = t819 * t3366; + const double t3368 = t3367 / 0.3e1; + const double t3369 = t3357 + t3359 / 0.8e1 - t3361 / 0.8e1 + t3364 / 0.4e1 + t3368; + const double t3370 = piecewise_functor_3( t324, 0.0, t3369 ); + const double t3373 = t1074 * t833; + const double t3376 = t1074 * t829; + const double t3381 = -0.64e0 * t3370 * t327 - 0.128e1 * t3373 * t829 - 0.128e1 * t1277 * t3376 - 0.64e0 * t834 * t3370; + const double t3382 = t3381 * t330; + const double t3383 = t1079 * t837; + const double t3384 = t3383 * t330; + const double t3386 = piecewise_functor_3( t332, 0.0, t3369 ); + const double t3388 = t839 * t1081; + const double t3390 = t333 * t3386; + const double t3394 = t335 * t3386; + const double t3398 = t337 * t3386; + const double t3402 = t339 * t3386; + const double t3406 = t341 * t3386; + const double t3412 = -0.64e0 * t3386 - 0.8704e0 * t3388 - 0.8704e0 * t3390 - 0.9214113627294e1 * t1083 * t839 - 0.4607056813647e1 * t3394 + 0.367387230261e2 * t1085 * t839 + 0.122462410087e2 * t3398 - 0.3831420472412e2 * t1087 * t839 - 0.957855118103e1 * t3402 + 0.1550653405116e2 * t1089 * t839 + 0.3101306810232e1 * t3406 - 0.2177652951264e1 * t1091 * t839 - 0.362942158544e0 * t343 * t3386; + const double t3413 = t1315 * t1096; + const double t3416 = piecewise_functor_3( t332, t3369, 0.0 ); + const double t3420 = t1325 * t1096; + const double t3424 = piecewise_functor_5( t323, t3382 + t3384, t331, t3412, -0.21e1 * t3413 * t2445 - 0.105e1 * t855 * t3416 * t352 - 0.1575e1 * t3420 * t2445 ); + const double t3425 = t3424 * t374; + const double t3426 = t1100 * t885; + const double t3427 = t860 * t1108; + const double t3428 = t2288 * t255; + const double t3429 = t862 * t3428; + const double t3430 = t3308 * t1104; + const double t3431 = t3429 * t3430; + const double t3432 = 0.15243824895787514157e-3 * t3431; + const double t3434 = t2297 * t3433; + const double t3436 = 0.1e1 / t9 / t1419; + const double t3437 = t3436 * t875; + const double t3438 = t158 * t166; + const double t3439 = t3438 * t122; + const double t3441 = t3434 * t3437 * t3439; + const double t3442 = 0.21684485328539747656e-4 * t3441; + const double t3444 = t1102 * t3314 * t1104; + const double t3445 = 0.40650199722100037752e-3 * t3444; + const double t3446 = t869 * t261; + const double t3447 = t263 * t2313; + const double t3448 = t3438 * t874; + const double t3450 = t3446 * t3447 * t3448; + const double t3451 = 0.15243824895787514157e-3 * t3450; + const double t3453 = t263 * t875 * t58; + const double t3455 = t3446 * t3453 * t766; + const double t3457 = t1103 * t607; + const double t3459 = t1102 * t1053 * t3457; + const double t3461 = -t3432 + t3442 - t3445 - t3451 - 0.36021158228745895953e-3 * t3455 + 0.15243824895787514157e-3 * t3459 - t3267 - t3273 + t3280 - t3351 + t3355; + const double t3462 = t354 * t3461; + const double t3465 = t498 * t1114; + const double t3467 = t3262 * t3465 * t3264; + const double t3468 = 0.3e1 / 0.4e1 * t3467; + const double t3469 = t3270 * t1115; + const double t3470 = t3269 * t3469; + const double t3471 = t3470 / 0.4e1; + const double t3472 = t1562 * t1114; + const double t3474 = t3275 * t3472 * t3277; + const double t3475 = 0.5e1 / 0.16e2 * t3474; + const double t3476 = 0.54878743191129263322e-2 * t3282; + const double t3477 = 0.97574405393827830187e-2 * t3285; + const double t3478 = 0.12805040077930161442e0 * t3288; + const double t3485 = 0.23115257973478049502e0 * t3317; + const double t3486 = 0.46574606203128791246e-1 * t3322; + const double t3491 = 0.47609969197673950973e-2 * t3345; + const double t3492 = -t3476 + t3477 - t3478 - 0.10975748638225852664e0 * t3291 - 0.54878743191129263322e-1 * t3297 - 0.86682217400542685632e-1 * t3301 - 0.2600466522016280569e0 * t3306 - 0.86682217400542685632e-1 * t3310 + 0.86682217400542685632e-1 * t3312 - t3485 + t3486 + 0.43663693315433241794e-2 * t3326 + 0.13099107994629972538e-1 * t3330 + 0.43663693315433241794e-2 * t3334 - 0.43663693315433241794e-2 * t3338 - t3491; + const double t3493 = t3492 * t797; + const double t3495 = t1048 * t499 * t3493; + const double t3496 = t3495 / 0.4e1; + const double t3498 = t3275 * t3465 * t3352; + const double t3499 = t3498 / 0.4e1; + const double t3500 = 0.2e1 / 0.3e1 * t3356; + const double t3504 = 0.2e1 / 0.3e1 * t3367; + const double t3505 = t3500 + t3359 / 0.4e1 - t3361 / 0.4e1 + t3364 / 0.2e1 + t3504; + const double t3506 = piecewise_functor_3( t324, 0.0, t3505 ); + const double t3509 = t1120 * t833; + const double t3512 = t1120 * t829; + const double t3517 = -0.64e0 * t3506 * t327 - 0.128e1 * t3509 * t829 - 0.128e1 * t1277 * t3512 - 0.64e0 * t834 * t3506; + const double t3518 = t3517 * t330; + const double t3519 = t1125 * t837; + const double t3520 = t3519 * t330; + const double t3522 = piecewise_functor_3( t332, 0.0, t3505 ); + const double t3524 = t839 * t1127; + const double t3526 = t333 * t3522; + const double t3530 = t335 * t3522; + const double t3534 = t337 * t3522; + const double t3538 = t339 * t3522; + const double t3542 = t341 * t3522; + const double t3548 = -0.64e0 * t3522 - 0.8704e0 * t3524 - 0.8704e0 * t3526 - 0.9214113627294e1 * t1129 * t839 - 0.4607056813647e1 * t3530 + 0.367387230261e2 * t1131 * t839 + 0.122462410087e2 * t3534 - 0.3831420472412e2 * t1133 * t839 - 0.957855118103e1 * t3538 + 0.1550653405116e2 * t1135 * t839 + 0.3101306810232e1 * t3542 - 0.2177652951264e1 * t1137 * t839 - 0.362942158544e0 * t343 * t3522; + const double t3549 = t1315 * t1142; + const double t3552 = piecewise_functor_3( t332, t3505, 0.0 ); + const double t3556 = t1325 * t1142; + const double t3560 = piecewise_functor_5( t323, t3518 + t3520, t331, t3548, -0.21e1 * t3549 * t2445 - 0.105e1 * t855 * t3552 * t352 - 0.1575e1 * t3556 * t2445 ); + const double t3561 = t3560 * t374; + const double t3562 = t1146 * t885; + const double t3563 = t860 * t1149; + const double t3564 = 0.30487649791575028312e-3 * t3431; + const double t3565 = 0.43368970657079495308e-4 * t3441; + const double t3566 = 0.81300399444200075499e-3 * t3444; + const double t3567 = 0.30487649791575028312e-3 * t3450; + const double t3570 = -t3564 + t3565 - t3566 - t3567 - 0.72042316457491791901e-3 * t3455 + 0.30487649791575028312e-3 * t3459 - t3468 - t3471 + t3475 - t3496 + t3499; + const double t3571 = t354 * t3570; + const double t3574 = t797 * t910; + const double t3575 = t3263 * t3574; + const double t3576 = t3262 * t3575; + const double t3577 = 0.3e1 / 0.4e1 * t3576; + const double t3578 = t106 * t920; + const double t3579 = t97 * t3578; + const double t3580 = t3579 * t3271; + const double t3581 = t3580 / 0.4e1; + const double t3582 = t797 * t983; + const double t3584 = t3275 * t3276 * t3582; + const double t3585 = 0.5e1 / 0.16e2 * t3584; + const double t3586 = t3290 * t924; + const double t3588 = t1571 * t2592; + const double t3589 = t3295 * t3588; + const double t3591 = t261 * t939; + const double t3592 = t3299 * t3591; + const double t3594 = t261 * t943; + const double t3595 = t3304 * t3594; + const double t3597 = t3308 * t2799; + const double t3598 = t574 * t3597; + const double t3600 = t980 * t1055; + const double t3602 = t1060 * t938; + const double t3604 = t1645 * t1058 * t3602; + const double t3606 = t1060 * t910; + const double t3608 = t1651 * t1058 * t3606; + const double t3610 = t3332 * t2799; + const double t3611 = t1704 * t3610; + const double t3613 = t978 * t269; + const double t3615 = t783 * t3613 * t1060; + const double t3617 = -t3283 + t3286 - t3289 - 0.54878743191129263322e-1 * t3586 - 0.27439371595564631661e-1 * t3589 - 0.43341108700271342816e-1 * t3592 - 0.13002332610081402845e0 * t3595 - 0.43341108700271342816e-1 * t3598 + 0.43341108700271342816e-1 * t3600 - t3318 + t3323 + 0.21831846657716620896e-2 * t3604 + 0.65495539973149862688e-2 * t3608 + 0.21831846657716620896e-2 * t3611 - 0.21831846657716620896e-2 * t3615 - t3346; + const double t3618 = t3617 * t797; + const double t3620 = t1048 * t499 * t3618; + const double t3621 = t3620 / 0.4e1; + const double t3623 = t3275 * t3263 * t2359; + const double t3624 = t3623 / 0.4e1; + const double t3625 = t3358 * t1010; + const double t3627 = t2385 * t1070; + const double t3629 = t1070 * t1010; + const double t3630 = t1253 * t3629; + const double t3632 = t3357 + t3625 / 0.8e1 - t3627 / 0.8e1 + t3630 / 0.4e1 + t3368; + const double t3633 = piecewise_functor_3( t324, 0.0, t3632 ); + const double t3638 = t1074 * t1013; + const double t3643 = -0.64e0 * t3633 * t327 - 0.128e1 * t3373 * t1013 - 0.128e1 * t1277 * t3638 - 0.64e0 * t834 * t3633; + const double t3644 = t3643 * t330; + const double t3645 = t1079 * t1018; + const double t3646 = t3645 * t330; + const double t3648 = piecewise_functor_3( t332, 0.0, t3632 ); + const double t3650 = t1020 * t1081; + const double t3652 = t333 * t3648; + const double t3656 = t335 * t3648; + const double t3660 = t337 * t3648; + const double t3664 = t339 * t3648; + const double t3668 = t341 * t3648; + const double t3674 = -0.64e0 * t3648 - 0.8704e0 * t3650 - 0.8704e0 * t3652 - 0.9214113627294e1 * t1083 * t1020 - 0.4607056813647e1 * t3656 + 0.367387230261e2 * t1085 * t1020 + 0.122462410087e2 * t3660 - 0.3831420472412e2 * t1087 * t1020 - 0.957855118103e1 * t3664 + 0.1550653405116e2 * t1089 * t1020 + 0.3101306810232e1 * t3668 - 0.2177652951264e1 * t1091 * t1020 - 0.362942158544e0 * t343 * t3648; + const double t3675 = t352 * t1035; + const double t3678 = piecewise_functor_3( t332, t3632, 0.0 ); + const double t3685 = piecewise_functor_5( t323, t3644 + t3646, t331, t3674, -0.21e1 * t3413 * t3675 - 0.105e1 * t855 * t3678 * t352 - 0.1575e1 * t3420 * t3675 ); + const double t3686 = t3685 * t374; + const double t3687 = t1100 * t1044; + const double t3688 = t1039 * t1108; + const double t3690 = t3446 * t3453 * t970; + const double t3692 = t1103 * t955; + const double t3694 = t1102 * t1053 * t3692; + const double t3696 = -t3432 + t3442 - t3445 - t3451 - 0.36021158228745895953e-3 * t3690 + 0.15243824895787514157e-3 * t3694 - t3577 - t3581 + t3585 - t3621 + t3624; + const double t3697 = t354 * t3696; + const double t3700 = t3465 * t3574; + const double t3701 = t3262 * t3700; + const double t3702 = 0.3e1 / 0.4e1 * t3701; + const double t3703 = t3579 * t3469; + const double t3704 = t3703 / 0.4e1; + const double t3706 = t3275 * t3472 * t3582; + const double t3707 = 0.5e1 / 0.16e2 * t3706; + const double t3718 = -t3476 + t3477 - t3478 - 0.10975748638225852664e0 * t3586 - 0.54878743191129263322e-1 * t3589 - 0.86682217400542685632e-1 * t3592 - 0.2600466522016280569e0 * t3595 - 0.86682217400542685632e-1 * t3598 + 0.86682217400542685632e-1 * t3600 - t3485 + t3486 + 0.43663693315433241794e-2 * t3604 + 0.13099107994629972538e-1 * t3608 + 0.43663693315433241794e-2 * t3611 - 0.43663693315433241794e-2 * t3615 - t3491; + const double t3719 = t3718 * t797; + const double t3721 = t1048 * t499 * t3719; + const double t3722 = t3721 / 0.4e1; + const double t3724 = t3275 * t3465 * t2359; + const double t3725 = t3724 / 0.4e1; + const double t3729 = t3500 + t3625 / 0.4e1 - t3627 / 0.4e1 + t3630 / 0.2e1 + t3504; + const double t3730 = piecewise_functor_3( t324, 0.0, t3729 ); + const double t3735 = t1120 * t1013; + const double t3740 = -0.64e0 * t3730 * t327 - 0.128e1 * t3509 * t1013 - 0.128e1 * t1277 * t3735 - 0.64e0 * t834 * t3730; + const double t3741 = t3740 * t330; + const double t3742 = t1125 * t1018; + const double t3743 = t3742 * t330; + const double t3745 = piecewise_functor_3( t332, 0.0, t3729 ); + const double t3747 = t1020 * t1127; + const double t3749 = t333 * t3745; + const double t3753 = t335 * t3745; + const double t3757 = t337 * t3745; + const double t3761 = t339 * t3745; + const double t3765 = t341 * t3745; + const double t3771 = -0.64e0 * t3745 - 0.8704e0 * t3747 - 0.8704e0 * t3749 - 0.9214113627294e1 * t1129 * t1020 - 0.4607056813647e1 * t3753 + 0.367387230261e2 * t1131 * t1020 + 0.122462410087e2 * t3757 - 0.3831420472412e2 * t1133 * t1020 - 0.957855118103e1 * t3761 + 0.1550653405116e2 * t1135 * t1020 + 0.3101306810232e1 * t3765 - 0.2177652951264e1 * t1137 * t1020 - 0.362942158544e0 * t343 * t3745; + const double t3774 = piecewise_functor_3( t332, t3729, 0.0 ); + const double t3781 = piecewise_functor_5( t323, t3741 + t3743, t331, t3771, -0.21e1 * t3549 * t3675 - 0.105e1 * t855 * t3774 * t352 - 0.1575e1 * t3556 * t3675 ); + const double t3782 = t3781 * t374; + const double t3783 = t1146 * t1044; + const double t3784 = t1039 * t1149; + const double t3787 = -t3564 + t3565 - t3566 - t3567 - 0.72042316457491791901e-3 * t3690 + 0.30487649791575028312e-3 * t3694 - t3702 - t3704 + t3707 - t3722 + t3725; + const double t3788 = t354 * t3787; + const double t3791 = t1180 * t374; + const double t3792 = t802 * t299; + const double t3795 = t294 * t298; + const double t3796 = t321 * t806; + const double t3799 = t818 * t826; + const double t3801 = -0.5e1 / 0.3e1 * t3792 * t321 + 0.5e1 / 0.3e1 * t3795 * t3796 - t1152 * t3799; + const double t3802 = piecewise_functor_3( t324, 0.0, t3801 ); + const double t3805 = t1154 * t833; + const double t3808 = t1154 * t829; + const double t3813 = -0.64e0 * t3802 * t327 - 0.128e1 * t3805 * t829 - 0.128e1 * t1277 * t3808 - 0.64e0 * t834 * t3802; + const double t3814 = t3813 * t330; + const double t3815 = t1159 * t837; + const double t3818 = piecewise_functor_3( t332, 0.0, t3801 ); + const double t3820 = t839 * t1161; + const double t3822 = t333 * t3818; + const double t3826 = t335 * t3818; + const double t3830 = t337 * t3818; + const double t3834 = t339 * t3818; + const double t3838 = t341 * t3818; + const double t3844 = -0.64e0 * t3818 - 0.8704e0 * t3820 - 0.8704e0 * t3822 - 0.9214113627294e1 * t1163 * t839 - 0.4607056813647e1 * t3826 + 0.367387230261e2 * t1165 * t839 + 0.122462410087e2 * t3830 - 0.3831420472412e2 * t1167 * t839 - 0.957855118103e1 * t3834 + 0.1550653405116e2 * t1169 * t839 + 0.3101306810232e1 * t3838 - 0.2177652951264e1 * t1171 * t839 - 0.362942158544e0 * t343 * t3818; + const double t3845 = t1315 * t1176; + const double t3848 = piecewise_functor_3( t332, t3801, 0.0 ); + const double t3852 = t1325 * t1176; + const double t3856 = piecewise_functor_5( t323, t3815 * t330 + t3814, t331, t3844, -0.21e1 * t3845 * t2445 - 0.105e1 * t855 * t3848 * t352 - 0.1575e1 * t3852 * t2445 ); + const double t3857 = t8 * t3856; + const double t3860 = t1210 * t374; + const double t3861 = t304 * t308; + const double t3862 = t321 * t810; + const double t3866 = 0.5e1 / 0.3e1 * t3861 * t3862 - t1182 * t3799; + const double t3867 = piecewise_functor_3( t324, 0.0, t3866 ); + const double t3870 = t1184 * t833; + const double t3873 = t1184 * t829; + const double t3878 = -0.64e0 * t3867 * t327 - 0.128e1 * t3870 * t829 - 0.128e1 * t1277 * t3873 - 0.64e0 * t834 * t3867; + const double t3879 = t3878 * t330; + const double t3880 = t1189 * t837; + const double t3883 = piecewise_functor_3( t332, 0.0, t3866 ); + const double t3885 = t839 * t1191; + const double t3887 = t333 * t3883; + const double t3891 = t335 * t3883; + const double t3895 = t337 * t3883; + const double t3899 = t339 * t3883; + const double t3903 = t341 * t3883; + const double t3909 = -0.64e0 * t3883 - 0.8704e0 * t3885 - 0.8704e0 * t3887 - 0.9214113627294e1 * t1193 * t839 - 0.4607056813647e1 * t3891 + 0.367387230261e2 * t1195 * t839 + 0.122462410087e2 * t3895 - 0.3831420472412e2 * t1197 * t839 - 0.957855118103e1 * t3899 + 0.1550653405116e2 * t1199 * t839 + 0.3101306810232e1 * t3903 - 0.2177652951264e1 * t1201 * t839 - 0.362942158544e0 * t343 * t3883; + const double t3910 = t1315 * t1206; + const double t3913 = piecewise_functor_3( t332, t3866, 0.0 ); + const double t3917 = t1325 * t1206; + const double t3921 = piecewise_functor_5( t323, t3880 * t330 + t3879, t331, t3909, -0.21e1 * t3910 * t2445 - 0.105e1 * t855 * t3913 * t352 - 0.1575e1 * t3917 * t2445 ); + const double t3922 = t8 * t3921; + const double t3925 = t321 * t990; + const double t3928 = t818 * t1010; + const double t3930 = 0.5e1 / 0.3e1 * t3795 * t3925 - t1152 * t3928; + const double t3931 = piecewise_functor_3( t324, 0.0, t3930 ); + const double t3936 = t1154 * t1013; + const double t3941 = -0.64e0 * t3931 * t327 - 0.128e1 * t3805 * t1013 - 0.128e1 * t1277 * t3936 - 0.64e0 * t834 * t3931; + const double t3942 = t3941 * t330; + const double t3943 = t1159 * t1018; + const double t3946 = piecewise_functor_3( t332, 0.0, t3930 ); + const double t3948 = t1020 * t1161; + const double t3950 = t333 * t3946; + const double t3954 = t335 * t3946; + const double t3958 = t337 * t3946; + const double t3962 = t339 * t3946; + const double t3966 = t341 * t3946; + const double t3972 = -0.64e0 * t3946 - 0.8704e0 * t3948 - 0.8704e0 * t3950 - 0.9214113627294e1 * t1163 * t1020 - 0.4607056813647e1 * t3954 + 0.367387230261e2 * t1165 * t1020 + 0.122462410087e2 * t3958 - 0.3831420472412e2 * t1167 * t1020 - 0.957855118103e1 * t3962 + 0.1550653405116e2 * t1169 * t1020 + 0.3101306810232e1 * t3966 - 0.2177652951264e1 * t1171 * t1020 - 0.362942158544e0 * t343 * t3946; + const double t3975 = piecewise_functor_3( t332, t3930, 0.0 ); + const double t3982 = piecewise_functor_5( t323, t3943 * t330 + t3942, t331, t3972, -0.21e1 * t3845 * t3675 - 0.105e1 * t855 * t3975 * t352 - 0.1575e1 * t3852 * t3675 ); + const double t3983 = t8 * t3982; + const double t3986 = t996 * t309; + const double t3989 = t321 * t1000; + const double t3993 = -0.5e1 / 0.3e1 * t3986 * t321 + 0.5e1 / 0.3e1 * t3861 * t3989 - t1182 * t3928; + const double t3994 = piecewise_functor_3( t324, 0.0, t3993 ); + const double t3999 = t1184 * t1013; + const double t4004 = -0.64e0 * t3994 * t327 - 0.128e1 * t3870 * t1013 - 0.128e1 * t1277 * t3999 - 0.64e0 * t834 * t3994; + const double t4005 = t4004 * t330; + const double t4006 = t1189 * t1018; + const double t4009 = piecewise_functor_3( t332, 0.0, t3993 ); + const double t4011 = t1020 * t1191; + const double t4013 = t333 * t4009; + const double t4017 = t335 * t4009; + const double t4021 = t337 * t4009; + const double t4025 = t339 * t4009; + const double t4029 = t341 * t4009; + const double t4035 = -0.64e0 * t4009 - 0.8704e0 * t4011 - 0.8704e0 * t4013 - 0.9214113627294e1 * t1193 * t1020 - 0.4607056813647e1 * t4017 + 0.367387230261e2 * t1195 * t1020 + 0.122462410087e2 * t4021 - 0.3831420472412e2 * t1197 * t1020 - 0.957855118103e1 * t4025 + 0.1550653405116e2 * t1199 * t1020 + 0.3101306810232e1 * t4029 - 0.2177652951264e1 * t1201 * t1020 - 0.362942158544e0 * t343 * t4009; + const double t4038 = piecewise_functor_3( t332, t3993, 0.0 ); + const double t4045 = piecewise_functor_5( t323, t4006 * t330 + t4005, t331, t4035, -0.21e1 * t3910 * t3675 - 0.105e1 * t855 * t4038 * t352 - 0.1575e1 * t3917 * t3675 ); + const double t4046 = t8 * t4045; + const double t4049 = t1064 * t1064; + const double t4050 = t4049 * t797; + const double t4053 = 0.5e1 / 0.16e2 * t1048 * t1563 * t4050; + const double t4054 = t252 * t1059; + const double t4055 = t122 * t277; + const double t4057 = t783 * t4054 * t4055; + const double t4060 = 0.1e1 / t9 / t603; + const double t4061 = t784 * t4060; + const double t4063 = t4061 * t265 * t1686; + const double t4064 = t254 * t4063; + const double t4066 = -0.65495539973149862688e-2 * t4057 + 0.8926869224563865807e-3 * t4064; + const double t4067 = t4066 * t797; + const double t4070 = t1048 * t499 * t4067 / 0.4e1; + const double t4071 = safe_math::sqrt( t282 ); + const double t4073 = 0.1e1 / t4071 / t1560; + const double t4074 = t536 * t4073; + const double t4075 = t4049 * t2322; + const double t4078 = t1048 * t4074 * t4075 / 0.16e2; + const double t4082 = t4081 * t273; + const double t4084 = t273 * t818 * eta + t1253 * t4082; + const double t4085 = t4084 / 0.32e2; + const double t4086 = piecewise_functor_3( t324, 0.0, t4085 ); + const double t4089 = t1074 * t1074; + const double t4096 = -0.64e0 * t4086 * t327 - 0.128e1 * t4089 * t833 - 0.128e1 * t1277 * t4089 - 0.64e0 * t834 * t4086; + const double t4097 = t4096 * t330; + const double t4098 = t1079 * t1079; + const double t4099 = t4098 * t330; + const double t4101 = piecewise_functor_3( t332, 0.0, t4085 ); + const double t4103 = t1081 * t1081; + const double t4105 = t333 * t4101; + const double t4107 = t333 * t4103; + const double t4109 = t335 * t4101; + const double t4111 = t335 * t4103; + const double t4113 = t337 * t4101; + const double t4115 = t337 * t4103; + const double t4117 = t339 * t4101; + const double t4119 = t339 * t4103; + const double t4121 = t341 * t4101; + const double t4127 = -0.64e0 * t4101 - 0.8704e0 * t4103 - 0.8704e0 * t4105 - 0.9214113627294e1 * t4107 - 0.4607056813647e1 * t4109 + 0.367387230261e2 * t4111 + 0.122462410087e2 * t4113 - 0.3831420472412e2 * t4115 - 0.957855118103e1 * t4117 + 0.1550653405116e2 * t4119 + 0.3101306810232e1 * t4121 - 0.2177652951264e1 * t341 * t4103 - 0.362942158544e0 * t343 * t4101; + const double t4128 = t1096 * t1096; + const double t4132 = piecewise_functor_3( t332, t4085, 0.0 ); + const double t4136 = t1325 * t4128; + const double t4140 = piecewise_functor_5( t323, t4097 + t4099, t331, t4127, -0.21e1 * t1315 * t4128 * t352 - 0.105e1 * t855 * t4132 * t352 - 0.1575e1 * t4136 * t352 ); + const double t4141 = t4140 * t374; + const double t4143 = 0.2e1 * t1100 * t1108; + const double t4144 = t2297 * t268; + const double t4145 = t57 * t273; + const double t4147 = t4144 * t4145 * t1104; + const double t4149 = t358 * t358; + const double t4150 = safe_math::sqrt( t363 ); + const double t4152 = 0.1e1 / t4150 / t2294; + const double t4153 = t4149 * t4152; + const double t4154 = t4153 * t268; + const double t4155 = t2313 * t158; + const double t4156 = t4155 * t166; + const double t4158 = t4154 * t4145 * t4156; + const double t4160 = -0.81316819982024053709e-5 * t4147 - 0.16263363996404810741e-5 * t4158 + t4053 - t4070 + t4078; + const double t4161 = t354 * t4160; + const double t4165 = 0.5e1 / 0.16e2 * t3275 * t3472 * t1065; + const double t4166 = 0.13099107994629972538e-1 * t4057; + const double t4168 = -t4166 + 0.17853738449127731615e-2 * t4064; + const double t4169 = t4168 * t797; + const double t4172 = t1048 * t499 * t4169 / 0.4e1; + const double t4173 = t106 * t536; + const double t4174 = t97 * t4173; + const double t4175 = t4073 * t1114; + const double t4176 = t2322 * t1064; + const double t4179 = t4174 * t4175 * t4176 / 0.16e2; + const double t4180 = t4084 / 0.16e2; + const double t4181 = piecewise_functor_3( t324, 0.0, t4180 ); + const double t4186 = t1120 * t1074; + const double t4191 = -0.64e0 * t4181 * t327 - 0.128e1 * t3509 * t1074 - 0.128e1 * t1277 * t4186 - 0.64e0 * t834 * t4181; + const double t4192 = t4191 * t330; + const double t4193 = t1125 * t1079; + const double t4194 = t4193 * t330; + const double t4196 = piecewise_functor_3( t332, 0.0, t4180 ); + const double t4198 = t1081 * t1127; + const double t4200 = t333 * t4196; + const double t4204 = t335 * t4196; + const double t4208 = t337 * t4196; + const double t4212 = t339 * t4196; + const double t4216 = t341 * t4196; + const double t4222 = -0.64e0 * t4196 - 0.8704e0 * t4198 - 0.8704e0 * t4200 - 0.9214113627294e1 * t1129 * t1081 - 0.4607056813647e1 * t4204 + 0.367387230261e2 * t1131 * t1081 + 0.122462410087e2 * t4208 - 0.3831420472412e2 * t1133 * t1081 - 0.957855118103e1 * t4212 + 0.1550653405116e2 * t1135 * t1081 + 0.3101306810232e1 * t4216 - 0.2177652951264e1 * t1137 * t1081 - 0.362942158544e0 * t343 * t4196; + const double t4223 = t352 * t1096; + const double t4226 = piecewise_functor_3( t332, t4180, 0.0 ); + const double t4233 = piecewise_functor_5( t323, t4192 + t4194, t331, t4222, -0.21e1 * t3549 * t4223 - 0.105e1 * t855 * t4226 * t352 - 0.1575e1 * t3556 * t4223 ); + const double t4234 = t4233 * t374; + const double t4235 = t1146 * t1108; + const double t4236 = t1100 * t1149; + const double t4237 = 0.16263363996404810741e-4 * t4147; + const double t4239 = -t4237 - 0.3252672799280962148e-5 * t4158 + t4165 - t4172 + t4179; + const double t4240 = t354 * t4239; + const double t4242 = t1114 * t1114; + const double t4243 = t4242 * t797; + const double t4246 = 0.5e1 / 0.16e2 * t1048 * t1563 * t4243; + const double t4249 = -0.26198215989259945077e-1 * t4057 + 0.35707476898255463229e-2 * t4064; + const double t4250 = t4249 * t797; + const double t4253 = t1048 * t499 * t4250 / 0.4e1; + const double t4254 = t4242 * t2322; + const double t4257 = t1048 * t4074 * t4254 / 0.16e2; + const double t4258 = t4084 / 0.8e1; + const double t4259 = piecewise_functor_3( t324, 0.0, t4258 ); + const double t4262 = t1120 * t1120; + const double t4269 = -0.64e0 * t4259 * t327 - 0.128e1 * t4262 * t833 - 0.128e1 * t1277 * t4262 - 0.64e0 * t834 * t4259; + const double t4270 = t4269 * t330; + const double t4271 = t1125 * t1125; + const double t4272 = t4271 * t330; + const double t4274 = piecewise_functor_3( t332, 0.0, t4258 ); + const double t4276 = t1127 * t1127; + const double t4278 = t333 * t4274; + const double t4280 = t333 * t4276; + const double t4282 = t335 * t4274; + const double t4284 = t335 * t4276; + const double t4286 = t337 * t4274; + const double t4288 = t337 * t4276; + const double t4290 = t339 * t4274; + const double t4292 = t339 * t4276; + const double t4294 = t341 * t4274; + const double t4300 = -0.64e0 * t4274 - 0.8704e0 * t4276 - 0.8704e0 * t4278 - 0.9214113627294e1 * t4280 - 0.4607056813647e1 * t4282 + 0.367387230261e2 * t4284 + 0.122462410087e2 * t4286 - 0.3831420472412e2 * t4288 - 0.957855118103e1 * t4290 + 0.1550653405116e2 * t4292 + 0.3101306810232e1 * t4294 - 0.2177652951264e1 * t341 * t4276 - 0.362942158544e0 * t343 * t4274; + const double t4301 = t1142 * t1142; + const double t4305 = piecewise_functor_3( t332, t4258, 0.0 ); + const double t4309 = t1325 * t4301; + const double t4313 = piecewise_functor_5( t323, t4270 + t4272, t331, t4300, -0.21e1 * t1315 * t4301 * t352 - 0.105e1 * t855 * t4305 * t352 - 0.1575e1 * t4309 * t352 ); + const double t4314 = t4313 * t374; + const double t4316 = 0.2e1 * t1146 * t1149; + const double t4319 = -0.3252672799280962148e-4 * t4147 - 0.65053455985619242961e-5 * t4158 + t4246 - t4253 + t4257; + const double t4320 = t354 * t4319; + const double t4323 = -t4166 + 0.17853738449127731614e-2 * t4064; + const double t4324 = t4323 * t797; + const double t4327 = t1048 * t499 * t4324 / 0.4e1; + const double t4329 = -t4237 - 0.32526727992809621482e-5 * t4158 + t4165 - t4327 + t4179; + const double t4330 = t354 * t4329; + const double t4332 = t818 * eta; + const double t4333 = t4332 * t263; + const double t4334 = t1152 * t4333; + const double t4335 = t4334 / 0.8e1; + const double t4336 = piecewise_functor_3( t324, 0.0, -t4335 ); + const double t4341 = t1154 * t1074; + const double t4346 = -0.64e0 * t4336 * t327 - 0.128e1 * t3805 * t1074 - 0.128e1 * t1277 * t4341 - 0.64e0 * t834 * t4336; + const double t4347 = t4346 * t330; + const double t4348 = t1159 * t1079; + const double t4351 = piecewise_functor_3( t332, 0.0, -t4335 ); + const double t4353 = t1081 * t1161; + const double t4355 = t333 * t4351; + const double t4359 = t335 * t4351; + const double t4363 = t337 * t4351; + const double t4367 = t339 * t4351; + const double t4371 = t341 * t4351; + const double t4377 = -0.64e0 * t4351 - 0.8704e0 * t4353 - 0.8704e0 * t4355 - 0.9214113627294e1 * t1163 * t1081 - 0.4607056813647e1 * t4359 + 0.367387230261e2 * t1165 * t1081 + 0.122462410087e2 * t4363 - 0.3831420472412e2 * t1167 * t1081 - 0.957855118103e1 * t4367 + 0.1550653405116e2 * t1169 * t1081 + 0.3101306810232e1 * t4371 - 0.2177652951264e1 * t1171 * t1081 - 0.362942158544e0 * t343 * t4351; + const double t4380 = piecewise_functor_3( t332, -t4335, 0.0 ); + const double t4387 = piecewise_functor_5( t323, t4348 * t330 + t4347, t331, t4377, -0.21e1 * t3845 * t4223 - 0.105e1 * t855 * t4380 * t352 - 0.1575e1 * t3852 * t4223 ); + const double t4388 = t8 * t4387; + const double t4391 = t1182 * t4333; + const double t4392 = t4391 / 0.8e1; + const double t4393 = piecewise_functor_3( t324, 0.0, -t4392 ); + const double t4398 = t1184 * t1074; + const double t4403 = -0.64e0 * t4393 * t327 - 0.128e1 * t3870 * t1074 - 0.128e1 * t1277 * t4398 - 0.64e0 * t834 * t4393; + const double t4404 = t4403 * t330; + const double t4405 = t1189 * t1079; + const double t4408 = piecewise_functor_3( t332, 0.0, -t4392 ); + const double t4410 = t1081 * t1191; + const double t4412 = t333 * t4408; + const double t4416 = t335 * t4408; + const double t4420 = t337 * t4408; + const double t4424 = t339 * t4408; + const double t4428 = t341 * t4408; + const double t4434 = -0.64e0 * t4408 - 0.8704e0 * t4410 - 0.8704e0 * t4412 - 0.9214113627294e1 * t1193 * t1081 - 0.4607056813647e1 * t4416 + 0.367387230261e2 * t1195 * t1081 + 0.122462410087e2 * t4420 - 0.3831420472412e2 * t1197 * t1081 - 0.957855118103e1 * t4424 + 0.1550653405116e2 * t1199 * t1081 + 0.3101306810232e1 * t4428 - 0.2177652951264e1 * t1201 * t1081 - 0.362942158544e0 * t343 * t4408; + const double t4437 = piecewise_functor_3( t332, -t4392, 0.0 ); + const double t4444 = piecewise_functor_5( t323, t4405 * t330 + t4404, t331, t4434, -0.21e1 * t3910 * t4223 - 0.105e1 * t855 * t4437 * t352 - 0.1575e1 * t3917 * t4223 ); + const double t4445 = t8 * t4444; + const double t4448 = t4334 / 0.4e1; + const double t4449 = piecewise_functor_3( t324, 0.0, -t4448 ); + const double t4454 = t1154 * t1120; + const double t4459 = -0.64e0 * t4449 * t327 - 0.128e1 * t3805 * t1120 - 0.128e1 * t1277 * t4454 - 0.64e0 * t834 * t4449; + const double t4460 = t4459 * t330; + const double t4461 = t1159 * t1125; + const double t4464 = piecewise_functor_3( t332, 0.0, -t4448 ); + const double t4466 = t1127 * t1161; + const double t4468 = t333 * t4464; + const double t4472 = t335 * t4464; + const double t4476 = t337 * t4464; + const double t4480 = t339 * t4464; + const double t4484 = t341 * t4464; + const double t4490 = -0.64e0 * t4464 - 0.8704e0 * t4466 - 0.8704e0 * t4468 - 0.9214113627294e1 * t1163 * t1127 - 0.4607056813647e1 * t4472 + 0.367387230261e2 * t1165 * t1127 + 0.122462410087e2 * t4476 - 0.3831420472412e2 * t1167 * t1127 - 0.957855118103e1 * t4480 + 0.1550653405116e2 * t1169 * t1127 + 0.3101306810232e1 * t4484 - 0.2177652951264e1 * t1171 * t1127 - 0.362942158544e0 * t343 * t4464; + const double t4491 = t352 * t1142; + const double t4494 = piecewise_functor_3( t332, -t4448, 0.0 ); + const double t4501 = piecewise_functor_5( t323, t4461 * t330 + t4460, t331, t4490, -0.21e1 * t3845 * t4491 - 0.105e1 * t855 * t4494 * t352 - 0.1575e1 * t3852 * t4491 ); + const double t4502 = t8 * t4501; + const double t4505 = t4391 / 0.4e1; + const double t4506 = piecewise_functor_3( t324, 0.0, -t4505 ); + const double t4511 = t1184 * t1120; + const double t4516 = -0.64e0 * t4506 * t327 - 0.128e1 * t3870 * t1120 - 0.128e1 * t1277 * t4511 - 0.64e0 * t834 * t4506; + const double t4517 = t4516 * t330; + const double t4518 = t1189 * t1125; + const double t4521 = piecewise_functor_3( t332, 0.0, -t4505 ); + const double t4523 = t1127 * t1191; + const double t4525 = t333 * t4521; + const double t4529 = t335 * t4521; + const double t4533 = t337 * t4521; + const double t4537 = t339 * t4521; + const double t4541 = t341 * t4521; + const double t4547 = -0.64e0 * t4521 - 0.8704e0 * t4523 - 0.8704e0 * t4525 - 0.9214113627294e1 * t1193 * t1127 - 0.4607056813647e1 * t4529 + 0.367387230261e2 * t1195 * t1127 + 0.122462410087e2 * t4533 - 0.3831420472412e2 * t1197 * t1127 - 0.957855118103e1 * t4537 + 0.1550653405116e2 * t1199 * t1127 + 0.3101306810232e1 * t4541 - 0.2177652951264e1 * t1201 * t1127 - 0.362942158544e0 * t343 * t4521; + const double t4550 = piecewise_functor_3( t332, -t4505, 0.0 ); + const double t4557 = piecewise_functor_5( t323, t4518 * t330 + t4517, t331, t4547, -0.21e1 * t3910 * t4491 - 0.105e1 * t855 * t4550 * t352 - 0.1575e1 * t3917 * t4491 ); + const double t4558 = t8 * t4557; + const double t4561 = piecewise_functor_3( t324, 0.0, 0.0 ); + const double t4563 = 0.64e0 * t4561 * t327; + const double t4564 = t1154 * t1154; + const double t4570 = 0.64e0 * t834 * t4561; + const double t4571 = -t4563 - 0.128e1 * t4564 * t833 - 0.128e1 * t1277 * t4564 - t4570; + const double t4573 = t1159 * t1159; + const double t4574 = t4573 * t330; + const double t4576 = piecewise_functor_3( t332, 0.0, 0.0 ); + const double t4577 = 0.64e0 * t4576; + const double t4578 = t1161 * t1161; + const double t4580 = t333 * t4576; + const double t4581 = 0.8704e0 * t4580; + const double t4582 = t333 * t4578; + const double t4584 = t335 * t4576; + const double t4585 = 0.4607056813647e1 * t4584; + const double t4586 = t335 * t4578; + const double t4588 = t337 * t4576; + const double t4589 = 0.122462410087e2 * t4588; + const double t4590 = t337 * t4578; + const double t4592 = t339 * t4576; + const double t4593 = 0.957855118103e1 * t4592; + const double t4594 = t339 * t4578; + const double t4596 = t341 * t4576; + const double t4597 = 0.3101306810232e1 * t4596; + const double t4601 = 0.362942158544e0 * t343 * t4576; + const double t4602 = -t4577 - 0.8704e0 * t4578 - t4581 - 0.9214113627294e1 * t4582 - t4585 + 0.367387230261e2 * t4586 + t4589 - 0.3831420472412e2 * t4590 - t4593 + 0.1550653405116e2 * t4594 + t4597 - 0.2177652951264e1 * t341 * t4578 - t4601; + const double t4603 = t1176 * t1176; + const double t4609 = 0.105e1 * t855 * t4576 * t352; + const double t4610 = t1325 * t4603; + const double t4614 = piecewise_functor_5( t323, t4571 * t330 + t4574, t331, t4602, -0.21e1 * t1315 * t4603 * t352 - t4609 - 0.1575e1 * t4610 * t352 ); + const double t4615 = t8 * t4614; + const double t4618 = t1184 * t1154; + const double t4621 = -t4563 - 0.128e1 * t3870 * t1154 - 0.128e1 * t1277 * t4618 - t4570; + const double t4622 = t4621 * t330; + const double t4623 = t1189 * t1159; + const double t4626 = t1161 * t1191; + const double t4638 = -t4577 - 0.8704e0 * t4626 - t4581 - 0.9214113627294e1 * t1193 * t1161 - t4585 + 0.367387230261e2 * t1195 * t1161 + t4589 - 0.3831420472412e2 * t1197 * t1161 - t4593 + 0.1550653405116e2 * t1199 * t1161 + t4597 - 0.2177652951264e1 * t1201 * t1161 - t4601; + const double t4639 = t352 * t1176; + const double t4645 = piecewise_functor_5( t323, t4623 * t330 + t4622, t331, t4638, -0.21e1 * t3910 * t4639 - t4609 - 0.1575e1 * t3917 * t4639 ); + const double t4646 = t8 * t4645; + const double t4647 = t1184 * t1184; + const double t4652 = -t4563 - 0.128e1 * t4647 * t833 - 0.128e1 * t1277 * t4647 - t4570; + const double t4654 = t1189 * t1189; + const double t4655 = t4654 * t330; + const double t4657 = t1191 * t1191; + const double t4659 = t333 * t4657; + const double t4661 = t335 * t4657; + const double t4663 = t337 * t4657; + const double t4665 = t339 * t4657; + const double t4669 = -t4577 - 0.8704e0 * t4657 - t4581 - 0.9214113627294e1 * t4659 - t4585 + 0.367387230261e2 * t4661 + t4589 - 0.3831420472412e2 * t4663 - t4593 + 0.1550653405116e2 * t4665 + t4597 - 0.2177652951264e1 * t341 * t4657 - t4601; + const double t4670 = t1206 * t1206; + const double t4674 = t1325 * t4670; + const double t4678 = piecewise_functor_5( t323, t4652 * t330 + t4655, t331, t4669, -0.21e1 * t1315 * t4670 * t352 - t4609 - 0.1575e1 * t4674 * t352 ); + const double t4679 = t8 * t4678; - eps = -t34 + t90 + t92 + t290 + t375; vrho_a = t8 * t887 + t290 - t34 + t375 + t90 + t92; vrho_b = t8 * t1046 + t290 - t34 + t375 + t90 + t92; vsigma_aa = t8 * ( t1068 + t1101 + t1109 ); @@ -1599,6 +8276,51 @@ struct kernel_traits< BuiltinR2SCAN_C > : vlapl_b = 0.e0; vtau_a = t1181 * t374; vtau_b = t1211 * t374; + v2rho2_aa = t8 * ( t2267 + t2340 ) + 0.2e1 * t861 + 0.2e1 * t886 + 0.2e1 * t799 - t2346 + 0.6e1 * t483 + t2348 + 0.2e1 * t426 + t2350 + 0.39503346997227602814e-1 * t460 + t2352 - t2353 + t2354 - t2355; + v2rho2_ab = t8 * ( t2483 + t2886 ) + t1045 + t1040 + t989 + t913 + t900 + t902 + t861 + t886 + t799 - t2346 + t484 + t2348 + t426 + t2350 + t461 + t2352 - t2353 - t2355; + v2rho2_bb = t8 * ( t3153 + t3252 ) + 0.2e1 * t1045 + 0.2e1 * t1040 + 0.2e1 * t989 + 0.6e1 * t912 + 0.2e1 * t900 + 0.39503346997227602814e-1 * t901 - t2346 + t2348 + t2350 + t2352 - t2353 - t2354 - t2355; + v2rhosigma_a_aa = t1068 + t1101 + t1109 + t8 * ( t3267 + t3273 - t3280 + t3351 - t3355 + t3425 + t3426 + t3427 + t3462 ); + v2rhosigma_a_ab = t1118 + t1147 + t1150 + t8 * ( t3468 + t3471 - t3475 + t3496 - t3499 + t3561 + t3562 + t3563 + t3571 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t1068 + t1101 + t1109 + t8 * ( t3577 + t3581 - t3585 + t3621 - t3624 + t3686 + t3687 + t3688 + t3697 ); + v2rhosigma_b_ab = t1118 + t1147 + t1150 + t8 * ( t3702 + t3704 - t3707 + t3722 - t3725 + t3782 + t3783 + t3784 + t3788 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1181 * t885 + t3857 * t374 + t3791; + v2rhotau_a_b = t1211 * t885 + t3922 * t374 + t3860; + v2rhotau_b_a = t1181 * t1044 + t3983 * t374 + t3791; + v2rhotau_b_b = t1211 * t1044 + t4046 * t374 + t3860; + v2sigma2_aa_aa = t8 * ( -t4053 + t4070 - t4078 + t4141 + t4143 + t4161 ); + v2sigma2_aa_ab = t8 * ( -t4165 + t4172 - t4179 + t4234 + t4235 + t4236 + t4240 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t8 * ( -t4246 + t4253 - t4257 + t4314 + t4316 + t4320 ); + v2sigma2_ab_bb = t8 * ( -t4165 + t4327 - t4179 + t4234 + t4236 + t4235 + t4330 ); + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t1181 * t1108 + t4388 * t374; + v2sigmatau_aa_b = t1211 * t1108 + t4445 * t374; + v2sigmatau_ab_a = t1181 * t1149 + t4502 * t374; + v2sigmatau_ab_b = t1211 * t1149 + t4558 * t374; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4615 * t374; + v2tau2_ab = t4646 * t374; + v2tau2_bb = t4679 * t374; } @@ -1616,4 +8338,4 @@ struct BuiltinR2SCAN_C : detail::BuiltinKernelImpl< BuiltinR2SCAN_C > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/r2scan_x.hpp b/include/exchcxx/impl/builtin/kernels/r2scan_x.hpp index e1d0a9f..5616d07 100644 --- a/include/exchcxx/impl/builtin/kernels/r2scan_x.hpp +++ b/include/exchcxx/impl/builtin/kernels/r2scan_x.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinR2SCAN_X > : static constexpr double sigma_tol = 2.1544346900318875e-15; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double c1 = 0.667; static constexpr double c2 = 0.8; @@ -42,7 +91,6 @@ struct kernel_traits< BuiltinR2SCAN_X > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t23 = constants::m_cbrt_6; @@ -107,13 +155,13 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t88 = safe_math::exp( -t84 * t86 ); const double t89 = t80 <= 0.25e1; const double t90 = 0.25e1 < t80; - const double t91 = piecewise_functor_3( t90, 0.25e1, t80 ); + const double t91 = piecewise_functor_3( t90, 2.5, t80 ); const double t93 = t91 * t91; const double t95 = t93 * t91; const double t97 = t93 * t93; const double t99 = t97 * t91; const double t101 = t97 * t93; - const double t106 = piecewise_functor_3( t90, t80, 0.25e1 ); + const double t106 = piecewise_functor_3( t90, t80, 2.5 ); const double t107 = 0.1e1 - t106; const double t110 = safe_math::exp( c2 / t107 ); const double t112 = piecewise_functor_5( t81, t88, t89, 0.1e1 - 0.667e0 * t91 - 0.4445555e0 * t93 - 0.663086601049e0 * t95 + 0.145129704449e1 * t97 - 0.887998041597e0 * t99 + 0.234528941479e0 * t101 - 0.23185843322e-1 * t97 * t95, -d * t110 ); @@ -138,7 +186,6 @@ struct kernel_traits< BuiltinR2SCAN_X > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t23 = constants::m_cbrt_6; @@ -207,13 +254,13 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t88 = safe_math::exp( -t84 * t86 ); const double t89 = t80 <= 0.25e1; const double t90 = 0.25e1 < t80; - const double t91 = piecewise_functor_3( t90, 0.25e1, t80 ); + const double t91 = piecewise_functor_3( t90, 2.5, t80 ); const double t93 = t91 * t91; const double t95 = t93 * t91; const double t97 = t93 * t93; const double t99 = t97 * t91; const double t101 = t97 * t93; - const double t106 = piecewise_functor_3( t90, t80, 0.25e1 ); + const double t106 = piecewise_functor_3( t90, t80, 2.5 ); const double t107 = 0.1e1 - t106; const double t110 = safe_math::exp( c2 / t107 ); const double t112 = piecewise_functor_5( t81, t88, t89, 0.1e1 - 0.667e0 * t91 - 0.4445555e0 * t93 - 0.663086601049e0 * t95 + 0.145129704449e1 * t97 - 0.887998041597e0 * t99 + 0.234528941479e0 * t101 - 0.23185843322e-1 * t97 * t95, -d * t110 ); @@ -326,21 +373,1528 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t329 * t330 ); - eps = 0.2e1 * t135; - vrho = 0.2e1 * rho * t231 + 0.2e1 * t135; - vsigma = 0.2e1 * rho * t298; - vlapl = 0.e0; - vtau = 0.2e1 * rho * t334; + eps = 0.2e1 * t135; + vrho = 0.2e1 * rho * t231 + 0.2e1 * t135; + vsigma = 0.2e1 * rho * t298; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t334; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t25 = constants::m_pi_sq; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t32 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = 0.2e2 / 0.27e2 + 0.5e1 / 0.3e1 * eta; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t25; + constexpr double t28 = 0.1e1 / t27; + constexpr double t29 = t24 * t28; + constexpr double t39 = dp2 * dp2; + constexpr double t40 = t39 * t39; + constexpr double t41 = 0.1e1 / t40; + constexpr double t50 = t26 * t26; + constexpr double t51 = 0.1e1 / t50; + constexpr double t53 = t32 * t32; + constexpr double t118 = 0.1e1 / t26; + constexpr double t119 = t24 * t118; + constexpr double t141 = k1 * k1; + constexpr double t198 = d * c2; + constexpr double t240 = t51 * t53; + constexpr double t247 = eta * t53; + constexpr double t370 = t40 * t40; + constexpr double t371 = 0.1e1 / t370; + constexpr double t397 = eta * eta; + constexpr double t465 = c2 * c2; + constexpr double t466 = d * t465; + constexpr double t496 = t23 * t51; + constexpr double t766 = t397 * t32; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t7 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t30 = sigma * sigma; + const double t33 = rho * rho; + const double t34 = t33 * t33; + const double t35 = t34 * rho; + const double t37 = 0.1e1 / t20 / t35; + const double t38 = t32 * t37; + const double t45 = safe_math::exp( -t29 * t30 * t38 * t41 / 0.288e3 ); + const double t49 = ( -0.162742215233874e0 * t22 * t45 + 0.1e2 / 0.81e2 ) * t23; + const double t52 = t49 * t51; + const double t54 = sigma * t53; + const double t55 = t20 * t20; + const double t57 = 0.1e1 / t55 / t33; + const double t58 = t54 * t57; + const double t61 = k1 + t52 * t58 / 0.24e2; + const double t65 = k1 * ( 0.1e1 - k1 / t61 ); + const double t66 = tau * t53; + const double t67 = t55 * rho; + const double t68 = 0.1e1 / t67; + const double t71 = t66 * t68 - t58 / 0.8e1; + const double t75 = t53 * t57; + const double t78 = 0.3e1 / 0.1e2 * t24 * t50 + eta * sigma * t75 / 0.8e1; + const double t79 = 0.1e1 / t78; + const double t80 = t71 * t79; + const double t81 = t80 <= 0.e0; + const double t82 = 0.e0 < t80; + const double t83 = piecewise_functor_3( t82, 0.0, t80 ); + const double t84 = c1 * t83; + const double t85 = 0.1e1 - t83; + const double t86 = 0.1e1 / t85; + const double t88 = safe_math::exp( -t84 * t86 ); + const double t89 = t80 <= 0.25e1; + const double t90 = 0.25e1 < t80; + const double t91 = piecewise_functor_3( t90, 2.5, t80 ); + const double t93 = t91 * t91; + const double t95 = t93 * t91; + const double t97 = t93 * t93; + const double t99 = t97 * t91; + const double t101 = t97 * t93; + const double t106 = piecewise_functor_3( t90, t80, 2.5 ); + const double t107 = 0.1e1 - t106; + const double t110 = safe_math::exp( c2 / t107 ); + const double t112 = piecewise_functor_5( t81, t88, t89, 0.1e1 - 0.667e0 * t91 - 0.4445555e0 * t93 - 0.663086601049e0 * t95 + 0.145129704449e1 * t97 - 0.887998041597e0 * t99 + 0.234528941479e0 * t101 - 0.23185843322e-1 * t97 * t95, -d * t110 ); + const double t113 = 0.174e0 - t65; + const double t115 = t112 * t113 + t65 + 0.1e1; + const double t117 = safe_math::sqrt( 0.3e1 ); + const double t120 = safe_math::sqrt( sigma ); + const double t121 = t120 * t32; + const double t123 = 0.1e1 / t20 / rho; + const double t125 = t119 * t121 * t123; + const double t126 = safe_math::sqrt( t125 ); + const double t130 = safe_math::exp( -0.98958e1 * t117 / t126 ); + const double t131 = 0.1e1 - t130; + const double t136 = 0.1e1 / t55; + const double t142 = t61 * t61; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t145 = t30 * sigma; + const double t146 = t22 * t145; + const double t147 = t34 * t34; + const double t148 = t147 * rho; + const double t149 = 0.1e1 / t148; + const double t151 = t149 * t41 * t45; + const double t154 = t33 * rho; + const double t156 = 0.1e1 / t55 / t154; + const double t157 = t54 * t156; + const double t160 = -0.15469524941471936742e-4 * t146 * t151 - t52 * t157 / 0.9e1; + const double t165 = -0.5e1 / 0.3e1 * t66 * t57 + t157 / 0.3e1; + const double t167 = t78 * t78; + const double t168 = 0.1e1 / t167; + const double t169 = t71 * t168; + const double t170 = t169 * eta; + const double t173 = t165 * t79 + t170 * t157 / 0.3e1; + const double t174 = piecewise_functor_3( t82, 0.0, t173 ); + const double t177 = t85 * t85; + const double t178 = 0.1e1 / t177; + const double t179 = t178 * t174; + const double t181 = -c1 * t174 * t86 - t84 * t179; + const double t182 = t181 * t88; + const double t183 = piecewise_functor_3( t90, 0.0, t173 ); + const double t185 = t91 * t183; + const double t187 = t93 * t183; + const double t189 = t95 * t183; + const double t191 = t97 * t183; + const double t193 = t99 * t183; + const double t199 = t107 * t107; + const double t200 = 0.1e1 / t199; + const double t201 = piecewise_functor_3( t90, t173, 0.0 ); + const double t205 = piecewise_functor_5( t81, t182, t89, -0.667e0 * t183 - 0.889111e0 * t185 - 0.1989259803147e1 * t187 + 0.580518817796e1 * t189 - 0.4439990207985e1 * t191 + 0.1407173648874e1 * t193 - 0.162300903254e0 * t101 * t183, -t198 * t200 * t201 * t110 ); + const double t207 = t112 * t141; + const double t208 = t143 * t160; + const double t210 = t205 * t113 + t144 * t160 - t207 * t208; + const double t215 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t216 = t215 * t215; + const double t217 = t216 * t216; + const double t219 = t217 * t215 * t18; + const double t220 = 0.1e1 / t33; + const double t221 = t220 * t115; + const double t223 = 0.1e1 / t126 / t125; + const double t225 = t219 * t221 * t223; + const double t226 = t121 * t130; + const double t227 = t119 * t226; + const double t231 = piecewise_functor_3( t3, 0.0, -t19 * t136 * t115 * t131 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t210 * t131 - 0.16891736332904387511e1 * t225 * t227 ); + const double t234 = t22 * t30; + const double t235 = 0.1e1 / t147; + const double t237 = t235 * t41 * t45; + const double t244 = 0.58010718530519762783e-5 * t234 * t237 + t49 * t240 * t57 / 0.24e2; + const double t246 = t75 * t79; + const double t248 = t247 * t57; + const double t251 = -t169 * t248 / 0.8e1 - t246 / 0.8e1; + const double t252 = piecewise_functor_3( t82, 0.0, t251 ); + const double t253 = c1 * t252; + const double t255 = t178 * t252; + const double t257 = -t253 * t86 - t84 * t255; + const double t258 = t257 * t88; + const double t259 = piecewise_functor_3( t90, 0.0, t251 ); + const double t261 = t91 * t259; + const double t263 = t93 * t259; + const double t265 = t95 * t259; + const double t267 = t97 * t259; + const double t269 = t99 * t259; + const double t274 = piecewise_functor_3( t90, t251, 0.0 ); + const double t278 = piecewise_functor_5( t81, t258, t89, -0.667e0 * t259 - 0.889111e0 * t261 - 0.1989259803147e1 * t263 + 0.580518817796e1 * t265 - 0.4439990207985e1 * t267 + 0.1407173648874e1 * t269 - 0.162300903254e0 * t101 * t259, -t198 * t200 * t274 * t110 ); + const double t280 = t143 * t244; + const double t282 = t278 * t113 + t144 * t244 - t207 * t280; + const double t287 = 0.1e1 / rho; + const double t288 = t287 * t115; + const double t290 = t219 * t288 * t223; + const double t291 = 0.1e1 / t120; + const double t293 = t291 * t32 * t130; + const double t294 = t119 * t293; + const double t298 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t282 * t131 + 0.63344011248391453166e0 * t290 * t294 ); + const double t301 = t53 * t68 * t79; + const double t302 = piecewise_functor_3( t82, 0.0, t301 ); + const double t303 = c1 * t302; + const double t305 = t178 * t302; + const double t307 = -t303 * t86 - t84 * t305; + const double t308 = t307 * t88; + const double t309 = piecewise_functor_3( t90, 0.0, t301 ); + const double t311 = t91 * t309; + const double t313 = t93 * t309; + const double t315 = t95 * t309; + const double t317 = t97 * t309; + const double t319 = t99 * t309; + const double t324 = piecewise_functor_3( t90, t301, 0.0 ); + const double t328 = piecewise_functor_5( t81, t308, t89, -0.667e0 * t309 - 0.889111e0 * t311 - 0.1989259803147e1 * t313 + 0.580518817796e1 * t315 - 0.4439990207985e1 * t317 + 0.1407173648874e1 * t319 - 0.162300903254e0 * t101 * t309, -t198 * t200 * t324 * t110 ); + const double t329 = t20 * t328; + const double t330 = t113 * t131; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t329 * t330 ); + const double t345 = 0.1e1 / t154; + const double t346 = t345 * t115; + const double t348 = t219 * t346 * t223; + const double t352 = 0.1e1 / t142 / t61; + const double t353 = t141 * t352; + const double t354 = t160 * t160; + const double t357 = t147 * t33; + const double t358 = 0.1e1 / t357; + const double t360 = t358 * t41 * t45; + const double t363 = t30 * t30; + const double t364 = t363 * sigma; + const double t365 = t22 * t364; + const double t366 = t34 * t154; + const double t372 = 0.1e1 / t20 / t147 / t366 * t371; + const double t374 = t32 * t45; + const double t375 = t29 * t374; + const double t379 = 0.1e1 / t55 / t34; + const double t380 = t54 * t379; + const double t383 = 0.18047779098383926199e-3 * t146 * t360 - 0.28647268410133216189e-6 * t365 * t372 * t375 + 0.11e2 / 0.27e2 * t52 * t380; + const double t388 = 0.4e2 / 0.9e1 * t66 * t156 - 0.11e2 / 0.9e1 * t380; + const double t390 = t165 * t168; + const double t391 = t390 * eta; + const double t395 = 0.1e1 / t167 / t78; + const double t396 = t71 * t395; + const double t398 = t396 * t397; + const double t399 = t30 * t32; + const double t401 = 0.1e1 / t20 / t366; + const double t402 = t399 * t401; + const double t407 = t388 * t79 + 0.2e1 / 0.3e1 * t391 * t157 + 0.4e1 / 0.9e1 * t398 * t402 - 0.11e2 / 0.9e1 * t170 * t380; + const double t408 = piecewise_functor_3( t82, 0.0, t407 ); + const double t409 = c1 * t408; + const double t411 = t174 * t174; + const double t416 = 0.1e1 / t177 / t85; + const double t417 = t416 * t411; + const double t420 = t178 * t408; + const double t422 = -0.2e1 * c1 * t411 * t178 - t409 * t86 - 0.2e1 * t84 * t417 - t84 * t420; + const double t423 = t422 * t88; + const double t424 = t181 * t181; + const double t425 = t424 * t88; + const double t427 = piecewise_functor_3( t90, 0.0, t407 ); + const double t429 = t183 * t183; + const double t433 = t91 * t429; + const double t437 = t93 * t429; + const double t441 = t95 * t429; + const double t445 = t97 * t429; + const double t453 = -0.667e0 * t427 - 0.889111e0 * t429 - 0.889111e0 * t91 * t427 - 0.3978519606294e1 * t433 - 0.1989259803147e1 * t93 * t427 + 0.1741556453388e2 * t437 + 0.580518817796e1 * t95 * t427 - 0.1775996083194e2 * t441 - 0.4439990207985e1 * t97 * t427 + 0.703586824437e1 * t445 + 0.1407173648874e1 * t99 * t427 - 0.973805419524e0 * t99 * t429 - 0.162300903254e0 * t101 * t427; + const double t454 = t199 * t107; + const double t455 = 0.1e1 / t454; + const double t456 = t201 * t201; + const double t461 = piecewise_functor_3( t90, t407, 0.0 ); + const double t467 = t199 * t199; + const double t468 = 0.1e1 / t467; + const double t473 = piecewise_functor_5( t81, t423 + t425, t89, t453, -t198 * t200 * t461 * t110 - 0.2e1 * t198 * t455 * t456 * t110 - t466 * t468 * t456 * t110 ); + const double t475 = t205 * t141; + const double t478 = t352 * t354; + const double t481 = t143 * t383; + const double t483 = t473 * t113 + t144 * t383 + 0.2e1 * t207 * t478 - t207 * t481 - 0.2e1 * t475 * t208 - 0.2e1 * t353 * t354; + const double t490 = t219 * t220 * t210 * t223; + const double t494 = 0.1e1 / t20 / t34; + const double t495 = t494 * t115; + const double t500 = 0.1e1 / t126 / t496 / t58 / 0.6e1; + const double t502 = t219 * t495 * t500; + const double t503 = t54 * t130; + const double t504 = t496 * t503; + const double t507 = t4 * t18; + const double t508 = 0.1e1 / t20; + const double t510 = t507 * t508 * t115; + const double t512 = t240 * t130; + const double t513 = t291 * t23 * t512; + const double t517 = piecewise_functor_3( t3, 0.0, t19 * t68 * t115 * t131 / 0.12e2 - t19 * t136 * t210 * t131 / 0.4e1 + 0.28152893888173979185e1 * t348 * t227 - 0.3e1 / 0.8e1 * t19 * t20 * t483 * t131 - 0.33783472665808775022e1 * t490 * t227 - 0.20270083599485265013e2 * t502 * t504 + 0.27496264583922508251e2 * t510 * t513 ); + const double t524 = t244 * t160; + const double t529 = t22 * t363; + const double t530 = t34 * t33; + const double t531 = t147 * t530; + const double t533 = 0.1e1 / t20 / t531; + const double t534 = t533 * t371; + const double t541 = -0.61878099765887746968e-4 * t234 * t151 + 0.10742725653799956071e-6 * t529 * t534 * t375 - t49 * t240 * t156 / 0.9e1; + const double t544 = t53 * t156 * t79; + const double t547 = 0.1e1 / t20 / t530; + const double t548 = t32 * t547; + const double t549 = t168 * eta; + const double t550 = t549 * sigma; + const double t551 = t548 * t550; + const double t555 = t548 * sigma; + const double t558 = t247 * t156; + const double t561 = t544 / 0.3e1 - t551 / 0.12e2 - t390 * t248 / 0.8e1 - t398 * t555 / 0.6e1 + t169 * t558 / 0.3e1; + const double t562 = piecewise_functor_3( t82, 0.0, t561 ); + const double t563 = c1 * t562; + const double t567 = t416 * t252; + const double t568 = t567 * t174; + const double t571 = t178 * t562; + const double t573 = -0.2e1 * t253 * t179 - t563 * t86 - 0.2e1 * t84 * t568 - t84 * t571; + const double t574 = t573 * t88; + const double t575 = t257 * t181; + const double t578 = piecewise_functor_3( t90, 0.0, t561 ); + const double t580 = t183 * t259; + const double t582 = t91 * t578; + const double t586 = t93 * t578; + const double t590 = t95 * t578; + const double t594 = t97 * t578; + const double t598 = t99 * t578; + const double t604 = -0.667e0 * t578 - 0.889111e0 * t580 - 0.889111e0 * t582 - 0.3978519606294e1 * t261 * t183 - 0.1989259803147e1 * t586 + 0.1741556453388e2 * t263 * t183 + 0.580518817796e1 * t590 - 0.1775996083194e2 * t265 * t183 - 0.4439990207985e1 * t594 + 0.703586824437e1 * t267 * t183 + 0.1407173648874e1 * t598 - 0.973805419524e0 * t269 * t183 - 0.162300903254e0 * t101 * t578; + const double t605 = t198 * t455; + const double t606 = t274 * t110; + const double t607 = t606 * t201; + const double t610 = piecewise_functor_3( t90, t561, 0.0 ); + const double t614 = t466 * t468; + const double t617 = piecewise_functor_5( t81, t575 * t88 + t574, t89, t604, -t198 * t200 * t610 * t110 - 0.2e1 * t605 * t607 - t614 * t607 ); + const double t619 = t278 * t141; + const double t622 = t352 * t244; + const double t623 = t622 * t160; + const double t626 = t143 * t541; + const double t628 = t617 * t113 + t144 * t541 + 0.2e1 * t207 * t623 - t207 * t626 - t619 * t208 - t475 * t280 - 0.2e1 * t353 * t524; + const double t635 = t219 * t220 * t282 * t223; + const double t642 = t219 * t287 * t210 * t223; + const double t646 = 0.1e1 / t20 / t154; + const double t647 = t646 * t115; + const double t649 = t500 * t23; + const double t650 = t649 * t512; + const double t654 = t507 * t55 * t115; + const double t655 = t120 * sigma; + const double t656 = 0.1e1 / t655; + const double t658 = t656 * t23 * t512; + const double t662 = piecewise_functor_3( t3, 0.0, -t19 * t136 * t282 * t131 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t628 * t131 - 0.16891736332904387511e1 * t635 * t227 - 0.63344011248391453166e0 * t225 * t294 + 0.63344011248391453166e0 * t642 * t294 + 0.76012813498069743799e1 * t219 * t647 * t650 - 0.10311099218970940594e2 * t654 * t658 ); + const double t665 = t136 * t328; + const double t672 = -0.5e1 / 0.3e1 * t246 + 0.2e1 / 0.3e1 * t38 * t550; + const double t673 = piecewise_functor_3( t82, 0.0, t672 ); + const double t674 = c1 * t673; + const double t678 = t416 * t302; + const double t679 = t678 * t174; + const double t682 = t178 * t673; + const double t684 = -0.2e1 * t303 * t179 - t674 * t86 - 0.2e1 * t84 * t679 - t84 * t682; + const double t685 = t684 * t88; + const double t686 = t307 * t181; + const double t689 = piecewise_functor_3( t90, 0.0, t672 ); + const double t691 = t183 * t309; + const double t693 = t91 * t689; + const double t697 = t93 * t689; + const double t701 = t95 * t689; + const double t705 = t97 * t689; + const double t709 = t99 * t689; + const double t715 = -0.667e0 * t689 - 0.889111e0 * t691 - 0.889111e0 * t693 - 0.3978519606294e1 * t311 * t183 - 0.1989259803147e1 * t697 + 0.1741556453388e2 * t313 * t183 + 0.580518817796e1 * t701 - 0.1775996083194e2 * t315 * t183 - 0.4439990207985e1 * t705 + 0.703586824437e1 * t317 * t183 + 0.1407173648874e1 * t709 - 0.973805419524e0 * t319 * t183 - 0.162300903254e0 * t101 * t689; + const double t716 = t324 * t110; + const double t717 = t716 * t201; + const double t720 = piecewise_functor_3( t90, t672, 0.0 ); + const double t726 = piecewise_functor_5( t81, t686 * t88 + t685, t89, t715, -t198 * t200 * t720 * t110 - 0.2e1 * t605 * t717 - t614 * t717 ); + const double t731 = t18 * t20; + const double t732 = t7 * t731; + const double t733 = t328 * t141; + const double t734 = t208 * t131; + const double t735 = t733 * t734; + const double t740 = t219 * t220 * t328 * t113; + const double t742 = t223 * t24 * t118; + const double t743 = t742 * t226; + const double t747 = piecewise_functor_3( t3, 0.0, -t19 * t665 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t726 * t330 + 0.3e1 / 0.8e1 * t732 * t735 - 0.16891736332904387511e1 * t740 * t743 ); + const double t750 = t244 * t244; + const double t753 = t22 * sigma; + const double t756 = t147 * t35; + const double t758 = 0.1e1 / t20 / t756; + const double t759 = t758 * t371; + const double t763 = 0.17403215559155928835e-4 * t753 * t237 - 0.40285221201749835266e-7 * t146 * t759 * t375; + const double t765 = t38 * t549; + const double t767 = t766 * t37; + const double t770 = t396 * t767 / 0.16e2 + t765 / 0.16e2; + const double t771 = piecewise_functor_3( t82, 0.0, t770 ); + const double t772 = c1 * t771; + const double t774 = t252 * t252; + const double t775 = c1 * t774; + const double t778 = t416 * t774; + const double t781 = t178 * t771; + const double t783 = -0.2e1 * t775 * t178 - t772 * t86 - 0.2e1 * t84 * t778 - t84 * t781; + const double t785 = t257 * t257; + const double t786 = t785 * t88; + const double t788 = piecewise_functor_3( t90, 0.0, t770 ); + const double t790 = t259 * t259; + const double t792 = t91 * t788; + const double t794 = t91 * t790; + const double t796 = t93 * t788; + const double t798 = t93 * t790; + const double t800 = t95 * t788; + const double t802 = t95 * t790; + const double t804 = t97 * t788; + const double t806 = t97 * t790; + const double t808 = t99 * t788; + const double t814 = -0.667e0 * t788 - 0.889111e0 * t790 - 0.889111e0 * t792 - 0.3978519606294e1 * t794 - 0.1989259803147e1 * t796 + 0.1741556453388e2 * t798 + 0.580518817796e1 * t800 - 0.1775996083194e2 * t802 - 0.4439990207985e1 * t804 + 0.703586824437e1 * t806 + 0.1407173648874e1 * t808 - 0.973805419524e0 * t99 * t790 - 0.162300903254e0 * t101 * t788; + const double t815 = t274 * t274; + const double t820 = piecewise_functor_3( t90, t770, 0.0 ); + const double t828 = piecewise_functor_5( t81, t783 * t88 + t786, t89, t814, -t198 * t200 * t820 * t110 - 0.2e1 * t198 * t455 * t815 * t110 - t466 * t468 * t815 * t110 ); + const double t832 = t352 * t750; + const double t835 = t143 * t763; + const double t837 = t828 * t113 + t144 * t763 + 0.2e1 * t207 * t832 - t207 * t835 - 0.2e1 * t619 * t280 - 0.2e1 * t353 * t750; + const double t844 = t219 * t287 * t282 * t223; + const double t848 = 0.1e1 / t20 / t33; + const double t849 = t848 * t115; + const double t851 = t219 * t849 * t500; + const double t852 = 0.1e1 / sigma; + const double t854 = t852 * t53 * t130; + const double t855 = t496 * t854; + const double t859 = t656 * t32 * t130; + const double t860 = t119 * t859; + const double t864 = t507 * t67 * t115; + const double t866 = 0.1e1 / t120 / t30; + const double t868 = t866 * t23 * t512; + const double t872 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t837 * t131 + 0.12668802249678290633e1 * t844 * t294 - 0.28504805061776153925e1 * t851 * t855 - 0.31672005624195726583e0 * t290 * t860 + 0.38666622071141027229e1 * t864 * t868 ); + const double t876 = t32 * t494 * t549 / 0.4e1; + const double t877 = piecewise_functor_3( t82, 0.0, -t876 ); + const double t878 = c1 * t877; + const double t882 = t678 * t252; + const double t885 = t178 * t877; + const double t887 = -0.2e1 * t303 * t255 - 0.2e1 * t84 * t882 - t84 * t885 - t878 * t86; + const double t888 = t887 * t88; + const double t889 = t307 * t257; + const double t892 = piecewise_functor_3( t90, 0.0, -t876 ); + const double t894 = t259 * t309; + const double t896 = t91 * t892; + const double t900 = t93 * t892; + const double t904 = t95 * t892; + const double t908 = t97 * t892; + const double t912 = t99 * t892; + const double t918 = -0.667e0 * t892 - 0.889111e0 * t894 - 0.889111e0 * t896 - 0.3978519606294e1 * t311 * t259 - 0.1989259803147e1 * t900 + 0.1741556453388e2 * t313 * t259 + 0.580518817796e1 * t904 - 0.1775996083194e2 * t315 * t259 - 0.4439990207985e1 * t908 + 0.703586824437e1 * t317 * t259 + 0.1407173648874e1 * t912 - 0.973805419524e0 * t319 * t259 - 0.162300903254e0 * t101 * t892; + const double t919 = t716 * t274; + const double t922 = piecewise_functor_3( t90, -t876, 0.0 ); + const double t928 = piecewise_functor_5( t81, t889 * t88 + t888, t89, t918, -t198 * t200 * t922 * t110 - 0.2e1 * t605 * t919 - t614 * t919 ); + const double t933 = t280 * t131; + const double t934 = t733 * t933; + const double t939 = t219 * t287 * t328 * t113; + const double t940 = t742 * t293; + const double t944 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t928 * t330 + 0.3e1 / 0.8e1 * t732 * t934 + 0.63344011248391453166e0 * t939 * t940 ); + const double t946 = piecewise_functor_3( t82, 0.0, 0.0 ); + const double t947 = c1 * t946; + const double t948 = t947 * t86; + const double t949 = t302 * t302; + const double t950 = c1 * t949; + const double t953 = t416 * t949; + const double t957 = t84 * t178 * t946; + const double t958 = -0.2e1 * t950 * t178 - 0.2e1 * t84 * t953 - t948 - t957; + const double t960 = t307 * t307; + const double t961 = t960 * t88; + const double t963 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t964 = 0.667e0 * t963; + const double t965 = t309 * t309; + const double t967 = t91 * t963; + const double t968 = 0.889111e0 * t967; + const double t969 = t91 * t965; + const double t971 = t93 * t963; + const double t972 = 0.1989259803147e1 * t971; + const double t973 = t93 * t965; + const double t975 = t95 * t963; + const double t976 = 0.580518817796e1 * t975; + const double t977 = t95 * t965; + const double t979 = t97 * t963; + const double t980 = 0.4439990207985e1 * t979; + const double t981 = t97 * t965; + const double t983 = t99 * t963; + const double t984 = 0.1407173648874e1 * t983; + const double t988 = 0.162300903254e0 * t101 * t963; + const double t989 = -t964 - 0.889111e0 * t965 - t968 - 0.3978519606294e1 * t969 - t972 + 0.1741556453388e2 * t973 + t976 - 0.1775996083194e2 * t977 - t980 + 0.703586824437e1 * t981 + t984 - 0.973805419524e0 * t99 * t965 - t988; + const double t990 = t324 * t324; + const double t997 = t198 * t200 * t963 * t110; + const double t1002 = piecewise_functor_5( t81, t958 * t88 + t961, t89, t989, -0.2e1 * t198 * t455 * t990 * t110 - t466 * t468 * t990 * t110 - t997 ); + const double t1007 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1002 * t330 ); + + + v2rho2 = 0.2e1 * rho * t517 + 0.4e1 * t231; + v2rhosigma = 0.2e1 * rho * t662 + 0.2e1 * t298; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t747 + 0.2e1 * t334; + v2sigma2 = 0.2e1 * rho * t872; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t944; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1007; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t23 = constants::m_cbrt_6; + constexpr double t25 = constants::m_pi_sq; + constexpr double t26 = constants::m_cbrt_pi_sq; + constexpr double t32 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = 0.2e2 / 0.27e2 + 0.5e1 / 0.3e1 * eta; + constexpr double t24 = t23 * t23; + constexpr double t27 = t26 * t25; + constexpr double t28 = 0.1e1 / t27; + constexpr double t29 = t24 * t28; + constexpr double t39 = dp2 * dp2; + constexpr double t40 = t39 * t39; + constexpr double t41 = 0.1e1 / t40; + constexpr double t50 = t26 * t26; + constexpr double t51 = 0.1e1 / t50; + constexpr double t53 = t32 * t32; + constexpr double t118 = 0.1e1 / t26; + constexpr double t119 = t24 * t118; + constexpr double t141 = k1 * k1; + constexpr double t198 = d * c2; + constexpr double t240 = t51 * t53; + constexpr double t247 = eta * t53; + constexpr double t370 = t40 * t40; + constexpr double t371 = 0.1e1 / t370; + constexpr double t397 = eta * eta; + constexpr double t465 = c2 * c2; + constexpr double t466 = d * t465; + constexpr double t496 = t23 * t51; + constexpr double t766 = t397 * t32; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t7 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t30 = sigma * sigma; + const double t33 = rho * rho; + const double t34 = t33 * t33; + const double t35 = t34 * rho; + const double t37 = 0.1e1 / t20 / t35; + const double t38 = t32 * t37; + const double t45 = safe_math::exp( -t29 * t30 * t38 * t41 / 0.288e3 ); + const double t49 = ( -0.162742215233874e0 * t22 * t45 + 0.1e2 / 0.81e2 ) * t23; + const double t52 = t49 * t51; + const double t54 = sigma * t53; + const double t55 = t20 * t20; + const double t57 = 0.1e1 / t55 / t33; + const double t58 = t54 * t57; + const double t61 = k1 + t52 * t58 / 0.24e2; + const double t65 = k1 * ( 0.1e1 - k1 / t61 ); + const double t66 = tau * t53; + const double t67 = t55 * rho; + const double t68 = 0.1e1 / t67; + const double t71 = t66 * t68 - t58 / 0.8e1; + const double t75 = t53 * t57; + const double t78 = 0.3e1 / 0.1e2 * t24 * t50 + eta * sigma * t75 / 0.8e1; + const double t79 = 0.1e1 / t78; + const double t80 = t71 * t79; + const double t81 = t80 <= 0.e0; + const double t82 = 0.e0 < t80; + const double t83 = piecewise_functor_3( t82, 0.0, t80 ); + const double t84 = c1 * t83; + const double t85 = 0.1e1 - t83; + const double t86 = 0.1e1 / t85; + const double t88 = safe_math::exp( -t84 * t86 ); + const double t89 = t80 <= 0.25e1; + const double t90 = 0.25e1 < t80; + const double t91 = piecewise_functor_3( t90, 2.5, t80 ); + const double t93 = t91 * t91; + const double t95 = t93 * t91; + const double t97 = t93 * t93; + const double t99 = t97 * t91; + const double t101 = t97 * t93; + const double t106 = piecewise_functor_3( t90, t80, 2.5 ); + const double t107 = 0.1e1 - t106; + const double t110 = safe_math::exp( c2 / t107 ); + const double t112 = piecewise_functor_5( t81, t88, t89, 0.1e1 - 0.667e0 * t91 - 0.4445555e0 * t93 - 0.663086601049e0 * t95 + 0.145129704449e1 * t97 - 0.887998041597e0 * t99 + 0.234528941479e0 * t101 - 0.23185843322e-1 * t97 * t95, -d * t110 ); + const double t113 = 0.174e0 - t65; + const double t115 = t112 * t113 + t65 + 0.1e1; + const double t117 = safe_math::sqrt( 0.3e1 ); + const double t120 = safe_math::sqrt( sigma ); + const double t121 = t120 * t32; + const double t123 = 0.1e1 / t20 / rho; + const double t125 = t119 * t121 * t123; + const double t126 = safe_math::sqrt( t125 ); + const double t130 = safe_math::exp( -0.98958e1 * t117 / t126 ); + const double t131 = 0.1e1 - t130; + const double t135 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t115 * t131 ); + const double t136 = 0.1e1 / t55; + const double t142 = t61 * t61; + const double t143 = 0.1e1 / t142; + const double t144 = t141 * t143; + const double t145 = t30 * sigma; + const double t146 = t22 * t145; + const double t147 = t34 * t34; + const double t148 = t147 * rho; + const double t149 = 0.1e1 / t148; + const double t151 = t149 * t41 * t45; + const double t154 = t33 * rho; + const double t156 = 0.1e1 / t55 / t154; + const double t157 = t54 * t156; + const double t160 = -0.15469524941471936742e-4 * t146 * t151 - t52 * t157 / 0.9e1; + const double t165 = -0.5e1 / 0.3e1 * t66 * t57 + t157 / 0.3e1; + const double t167 = t78 * t78; + const double t168 = 0.1e1 / t167; + const double t169 = t71 * t168; + const double t170 = t169 * eta; + const double t173 = t165 * t79 + t170 * t157 / 0.3e1; + const double t174 = piecewise_functor_3( t82, 0.0, t173 ); + const double t177 = t85 * t85; + const double t178 = 0.1e1 / t177; + const double t179 = t178 * t174; + const double t181 = -c1 * t174 * t86 - t84 * t179; + const double t182 = t181 * t88; + const double t183 = piecewise_functor_3( t90, 0.0, t173 ); + const double t185 = t91 * t183; + const double t187 = t93 * t183; + const double t189 = t95 * t183; + const double t191 = t97 * t183; + const double t193 = t99 * t183; + const double t199 = t107 * t107; + const double t200 = 0.1e1 / t199; + const double t201 = piecewise_functor_3( t90, t173, 0.0 ); + const double t205 = piecewise_functor_5( t81, t182, t89, -0.667e0 * t183 - 0.889111e0 * t185 - 0.1989259803147e1 * t187 + 0.580518817796e1 * t189 - 0.4439990207985e1 * t191 + 0.1407173648874e1 * t193 - 0.162300903254e0 * t101 * t183, -t198 * t200 * t201 * t110 ); + const double t207 = t112 * t141; + const double t208 = t143 * t160; + const double t210 = t205 * t113 + t144 * t160 - t207 * t208; + const double t215 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t216 = t215 * t215; + const double t217 = t216 * t216; + const double t219 = t217 * t215 * t18; + const double t220 = 0.1e1 / t33; + const double t221 = t220 * t115; + const double t223 = 0.1e1 / t126 / t125; + const double t225 = t219 * t221 * t223; + const double t226 = t121 * t130; + const double t227 = t119 * t226; + const double t231 = piecewise_functor_3( t3, 0.0, -t19 * t136 * t115 * t131 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t210 * t131 - 0.16891736332904387511e1 * t225 * t227 ); + const double t234 = t22 * t30; + const double t235 = 0.1e1 / t147; + const double t237 = t235 * t41 * t45; + const double t244 = 0.58010718530519762783e-5 * t234 * t237 + t49 * t240 * t57 / 0.24e2; + const double t246 = t75 * t79; + const double t248 = t247 * t57; + const double t251 = -t169 * t248 / 0.8e1 - t246 / 0.8e1; + const double t252 = piecewise_functor_3( t82, 0.0, t251 ); + const double t253 = c1 * t252; + const double t255 = t178 * t252; + const double t257 = -t253 * t86 - t84 * t255; + const double t258 = t257 * t88; + const double t259 = piecewise_functor_3( t90, 0.0, t251 ); + const double t261 = t91 * t259; + const double t263 = t93 * t259; + const double t265 = t95 * t259; + const double t267 = t97 * t259; + const double t269 = t99 * t259; + const double t274 = piecewise_functor_3( t90, t251, 0.0 ); + const double t278 = piecewise_functor_5( t81, t258, t89, -0.667e0 * t259 - 0.889111e0 * t261 - 0.1989259803147e1 * t263 + 0.580518817796e1 * t265 - 0.4439990207985e1 * t267 + 0.1407173648874e1 * t269 - 0.162300903254e0 * t101 * t259, -t198 * t200 * t274 * t110 ); + const double t280 = t143 * t244; + const double t282 = t278 * t113 + t144 * t244 - t207 * t280; + const double t287 = 0.1e1 / rho; + const double t288 = t287 * t115; + const double t290 = t219 * t288 * t223; + const double t291 = 0.1e1 / t120; + const double t293 = t291 * t32 * t130; + const double t294 = t119 * t293; + const double t298 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t282 * t131 + 0.63344011248391453166e0 * t290 * t294 ); + const double t301 = t53 * t68 * t79; + const double t302 = piecewise_functor_3( t82, 0.0, t301 ); + const double t303 = c1 * t302; + const double t305 = t178 * t302; + const double t307 = -t303 * t86 - t84 * t305; + const double t308 = t307 * t88; + const double t309 = piecewise_functor_3( t90, 0.0, t301 ); + const double t311 = t91 * t309; + const double t313 = t93 * t309; + const double t315 = t95 * t309; + const double t317 = t97 * t309; + const double t319 = t99 * t309; + const double t324 = piecewise_functor_3( t90, t301, 0.0 ); + const double t328 = piecewise_functor_5( t81, t308, t89, -0.667e0 * t309 - 0.889111e0 * t311 - 0.1989259803147e1 * t313 + 0.580518817796e1 * t315 - 0.4439990207985e1 * t317 + 0.1407173648874e1 * t319 - 0.162300903254e0 * t101 * t309, -t198 * t200 * t324 * t110 ); + const double t329 = t20 * t328; + const double t330 = t113 * t131; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t329 * t330 ); + const double t345 = 0.1e1 / t154; + const double t346 = t345 * t115; + const double t348 = t219 * t346 * t223; + const double t352 = 0.1e1 / t142 / t61; + const double t353 = t141 * t352; + const double t354 = t160 * t160; + const double t357 = t147 * t33; + const double t358 = 0.1e1 / t357; + const double t360 = t358 * t41 * t45; + const double t363 = t30 * t30; + const double t364 = t363 * sigma; + const double t365 = t22 * t364; + const double t366 = t34 * t154; + const double t372 = 0.1e1 / t20 / t147 / t366 * t371; + const double t374 = t32 * t45; + const double t375 = t29 * t374; + const double t379 = 0.1e1 / t55 / t34; + const double t380 = t54 * t379; + const double t383 = 0.18047779098383926199e-3 * t146 * t360 - 0.28647268410133216189e-6 * t365 * t372 * t375 + 0.11e2 / 0.27e2 * t52 * t380; + const double t388 = 0.4e2 / 0.9e1 * t66 * t156 - 0.11e2 / 0.9e1 * t380; + const double t390 = t165 * t168; + const double t391 = t390 * eta; + const double t395 = 0.1e1 / t167 / t78; + const double t396 = t71 * t395; + const double t398 = t396 * t397; + const double t399 = t30 * t32; + const double t401 = 0.1e1 / t20 / t366; + const double t402 = t399 * t401; + const double t407 = t388 * t79 + 0.2e1 / 0.3e1 * t391 * t157 + 0.4e1 / 0.9e1 * t398 * t402 - 0.11e2 / 0.9e1 * t170 * t380; + const double t408 = piecewise_functor_3( t82, 0.0, t407 ); + const double t409 = c1 * t408; + const double t411 = t174 * t174; + const double t416 = 0.1e1 / t177 / t85; + const double t417 = t416 * t411; + const double t420 = t178 * t408; + const double t422 = -0.2e1 * c1 * t411 * t178 - t409 * t86 - 0.2e1 * t84 * t417 - t84 * t420; + const double t423 = t422 * t88; + const double t424 = t181 * t181; + const double t425 = t424 * t88; + const double t427 = piecewise_functor_3( t90, 0.0, t407 ); + const double t429 = t183 * t183; + const double t433 = t91 * t429; + const double t437 = t93 * t429; + const double t441 = t95 * t429; + const double t445 = t97 * t429; + const double t453 = -0.667e0 * t427 - 0.889111e0 * t429 - 0.889111e0 * t91 * t427 - 0.3978519606294e1 * t433 - 0.1989259803147e1 * t93 * t427 + 0.1741556453388e2 * t437 + 0.580518817796e1 * t95 * t427 - 0.1775996083194e2 * t441 - 0.4439990207985e1 * t97 * t427 + 0.703586824437e1 * t445 + 0.1407173648874e1 * t99 * t427 - 0.973805419524e0 * t99 * t429 - 0.162300903254e0 * t101 * t427; + const double t454 = t199 * t107; + const double t455 = 0.1e1 / t454; + const double t456 = t201 * t201; + const double t461 = piecewise_functor_3( t90, t407, 0.0 ); + const double t467 = t199 * t199; + const double t468 = 0.1e1 / t467; + const double t473 = piecewise_functor_5( t81, t423 + t425, t89, t453, -t198 * t200 * t461 * t110 - 0.2e1 * t198 * t455 * t456 * t110 - t466 * t468 * t456 * t110 ); + const double t475 = t205 * t141; + const double t478 = t352 * t354; + const double t481 = t143 * t383; + const double t483 = t473 * t113 + t144 * t383 + 0.2e1 * t207 * t478 - t207 * t481 - 0.2e1 * t475 * t208 - 0.2e1 * t353 * t354; + const double t490 = t219 * t220 * t210 * t223; + const double t494 = 0.1e1 / t20 / t34; + const double t495 = t494 * t115; + const double t500 = 0.1e1 / t126 / t496 / t58 / 0.6e1; + const double t502 = t219 * t495 * t500; + const double t503 = t54 * t130; + const double t504 = t496 * t503; + const double t507 = t4 * t18; + const double t508 = 0.1e1 / t20; + const double t510 = t507 * t508 * t115; + const double t512 = t240 * t130; + const double t513 = t291 * t23 * t512; + const double t517 = piecewise_functor_3( t3, 0.0, t19 * t68 * t115 * t131 / 0.12e2 - t19 * t136 * t210 * t131 / 0.4e1 + 0.28152893888173979185e1 * t348 * t227 - 0.3e1 / 0.8e1 * t19 * t20 * t483 * t131 - 0.33783472665808775022e1 * t490 * t227 - 0.20270083599485265013e2 * t502 * t504 + 0.27496264583922508251e2 * t510 * t513 ); + const double t524 = t244 * t160; + const double t529 = t22 * t363; + const double t530 = t34 * t33; + const double t531 = t147 * t530; + const double t533 = 0.1e1 / t20 / t531; + const double t534 = t533 * t371; + const double t541 = -0.61878099765887746968e-4 * t234 * t151 + 0.10742725653799956071e-6 * t529 * t534 * t375 - t49 * t240 * t156 / 0.9e1; + const double t544 = t53 * t156 * t79; + const double t547 = 0.1e1 / t20 / t530; + const double t548 = t32 * t547; + const double t549 = t168 * eta; + const double t550 = t549 * sigma; + const double t551 = t548 * t550; + const double t555 = t548 * sigma; + const double t558 = t247 * t156; + const double t561 = t544 / 0.3e1 - t551 / 0.12e2 - t390 * t248 / 0.8e1 - t398 * t555 / 0.6e1 + t169 * t558 / 0.3e1; + const double t562 = piecewise_functor_3( t82, 0.0, t561 ); + const double t563 = c1 * t562; + const double t567 = t416 * t252; + const double t568 = t567 * t174; + const double t571 = t178 * t562; + const double t573 = -0.2e1 * t253 * t179 - t563 * t86 - 0.2e1 * t84 * t568 - t84 * t571; + const double t574 = t573 * t88; + const double t575 = t257 * t181; + const double t578 = piecewise_functor_3( t90, 0.0, t561 ); + const double t580 = t183 * t259; + const double t582 = t91 * t578; + const double t586 = t93 * t578; + const double t590 = t95 * t578; + const double t594 = t97 * t578; + const double t598 = t99 * t578; + const double t604 = -0.667e0 * t578 - 0.889111e0 * t580 - 0.889111e0 * t582 - 0.3978519606294e1 * t261 * t183 - 0.1989259803147e1 * t586 + 0.1741556453388e2 * t263 * t183 + 0.580518817796e1 * t590 - 0.1775996083194e2 * t265 * t183 - 0.4439990207985e1 * t594 + 0.703586824437e1 * t267 * t183 + 0.1407173648874e1 * t598 - 0.973805419524e0 * t269 * t183 - 0.162300903254e0 * t101 * t578; + const double t605 = t198 * t455; + const double t606 = t274 * t110; + const double t607 = t606 * t201; + const double t610 = piecewise_functor_3( t90, t561, 0.0 ); + const double t614 = t466 * t468; + const double t617 = piecewise_functor_5( t81, t575 * t88 + t574, t89, t604, -t198 * t200 * t610 * t110 - 0.2e1 * t605 * t607 - t614 * t607 ); + const double t619 = t278 * t141; + const double t622 = t352 * t244; + const double t623 = t622 * t160; + const double t626 = t143 * t541; + const double t628 = t617 * t113 + t144 * t541 + 0.2e1 * t207 * t623 - t207 * t626 - t619 * t208 - t475 * t280 - 0.2e1 * t353 * t524; + const double t635 = t219 * t220 * t282 * t223; + const double t642 = t219 * t287 * t210 * t223; + const double t646 = 0.1e1 / t20 / t154; + const double t647 = t646 * t115; + const double t649 = t500 * t23; + const double t650 = t649 * t512; + const double t654 = t507 * t55 * t115; + const double t655 = t120 * sigma; + const double t656 = 0.1e1 / t655; + const double t658 = t656 * t23 * t512; + const double t662 = piecewise_functor_3( t3, 0.0, -t19 * t136 * t282 * t131 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t628 * t131 - 0.16891736332904387511e1 * t635 * t227 - 0.63344011248391453166e0 * t225 * t294 + 0.63344011248391453166e0 * t642 * t294 + 0.76012813498069743799e1 * t219 * t647 * t650 - 0.10311099218970940594e2 * t654 * t658 ); + const double t665 = t136 * t328; + const double t672 = -0.5e1 / 0.3e1 * t246 + 0.2e1 / 0.3e1 * t38 * t550; + const double t673 = piecewise_functor_3( t82, 0.0, t672 ); + const double t674 = c1 * t673; + const double t678 = t416 * t302; + const double t679 = t678 * t174; + const double t682 = t178 * t673; + const double t684 = -0.2e1 * t303 * t179 - t674 * t86 - 0.2e1 * t84 * t679 - t84 * t682; + const double t685 = t684 * t88; + const double t686 = t307 * t181; + const double t689 = piecewise_functor_3( t90, 0.0, t672 ); + const double t691 = t183 * t309; + const double t693 = t91 * t689; + const double t697 = t93 * t689; + const double t701 = t95 * t689; + const double t705 = t97 * t689; + const double t709 = t99 * t689; + const double t715 = -0.667e0 * t689 - 0.889111e0 * t691 - 0.889111e0 * t693 - 0.3978519606294e1 * t311 * t183 - 0.1989259803147e1 * t697 + 0.1741556453388e2 * t313 * t183 + 0.580518817796e1 * t701 - 0.1775996083194e2 * t315 * t183 - 0.4439990207985e1 * t705 + 0.703586824437e1 * t317 * t183 + 0.1407173648874e1 * t709 - 0.973805419524e0 * t319 * t183 - 0.162300903254e0 * t101 * t689; + const double t716 = t324 * t110; + const double t717 = t716 * t201; + const double t720 = piecewise_functor_3( t90, t672, 0.0 ); + const double t726 = piecewise_functor_5( t81, t686 * t88 + t685, t89, t715, -t198 * t200 * t720 * t110 - 0.2e1 * t605 * t717 - t614 * t717 ); + const double t731 = t18 * t20; + const double t732 = t7 * t731; + const double t733 = t328 * t141; + const double t734 = t208 * t131; + const double t735 = t733 * t734; + const double t740 = t219 * t220 * t328 * t113; + const double t742 = t223 * t24 * t118; + const double t743 = t742 * t226; + const double t747 = piecewise_functor_3( t3, 0.0, -t19 * t665 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t726 * t330 + 0.3e1 / 0.8e1 * t732 * t735 - 0.16891736332904387511e1 * t740 * t743 ); + const double t750 = t244 * t244; + const double t753 = t22 * sigma; + const double t756 = t147 * t35; + const double t758 = 0.1e1 / t20 / t756; + const double t759 = t758 * t371; + const double t763 = 0.17403215559155928835e-4 * t753 * t237 - 0.40285221201749835266e-7 * t146 * t759 * t375; + const double t765 = t38 * t549; + const double t767 = t766 * t37; + const double t770 = t396 * t767 / 0.16e2 + t765 / 0.16e2; + const double t771 = piecewise_functor_3( t82, 0.0, t770 ); + const double t772 = c1 * t771; + const double t774 = t252 * t252; + const double t775 = c1 * t774; + const double t778 = t416 * t774; + const double t781 = t178 * t771; + const double t783 = -0.2e1 * t775 * t178 - t772 * t86 - 0.2e1 * t84 * t778 - t84 * t781; + const double t785 = t257 * t257; + const double t786 = t785 * t88; + const double t788 = piecewise_functor_3( t90, 0.0, t770 ); + const double t790 = t259 * t259; + const double t792 = t91 * t788; + const double t794 = t91 * t790; + const double t796 = t93 * t788; + const double t798 = t93 * t790; + const double t800 = t95 * t788; + const double t802 = t95 * t790; + const double t804 = t97 * t788; + const double t806 = t97 * t790; + const double t808 = t99 * t788; + const double t814 = -0.667e0 * t788 - 0.889111e0 * t790 - 0.889111e0 * t792 - 0.3978519606294e1 * t794 - 0.1989259803147e1 * t796 + 0.1741556453388e2 * t798 + 0.580518817796e1 * t800 - 0.1775996083194e2 * t802 - 0.4439990207985e1 * t804 + 0.703586824437e1 * t806 + 0.1407173648874e1 * t808 - 0.973805419524e0 * t99 * t790 - 0.162300903254e0 * t101 * t788; + const double t815 = t274 * t274; + const double t820 = piecewise_functor_3( t90, t770, 0.0 ); + const double t828 = piecewise_functor_5( t81, t783 * t88 + t786, t89, t814, -t198 * t200 * t820 * t110 - 0.2e1 * t198 * t455 * t815 * t110 - t466 * t468 * t815 * t110 ); + const double t832 = t352 * t750; + const double t835 = t143 * t763; + const double t837 = t828 * t113 + t144 * t763 + 0.2e1 * t207 * t832 - t207 * t835 - 0.2e1 * t619 * t280 - 0.2e1 * t353 * t750; + const double t844 = t219 * t287 * t282 * t223; + const double t848 = 0.1e1 / t20 / t33; + const double t849 = t848 * t115; + const double t851 = t219 * t849 * t500; + const double t852 = 0.1e1 / sigma; + const double t854 = t852 * t53 * t130; + const double t855 = t496 * t854; + const double t859 = t656 * t32 * t130; + const double t860 = t119 * t859; + const double t864 = t507 * t67 * t115; + const double t866 = 0.1e1 / t120 / t30; + const double t868 = t866 * t23 * t512; + const double t872 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t837 * t131 + 0.12668802249678290633e1 * t844 * t294 - 0.28504805061776153925e1 * t851 * t855 - 0.31672005624195726583e0 * t290 * t860 + 0.38666622071141027229e1 * t864 * t868 ); + const double t876 = t32 * t494 * t549 / 0.4e1; + const double t877 = piecewise_functor_3( t82, 0.0, -t876 ); + const double t878 = c1 * t877; + const double t882 = t678 * t252; + const double t885 = t178 * t877; + const double t887 = -0.2e1 * t303 * t255 - 0.2e1 * t84 * t882 - t84 * t885 - t878 * t86; + const double t888 = t887 * t88; + const double t889 = t307 * t257; + const double t892 = piecewise_functor_3( t90, 0.0, -t876 ); + const double t894 = t259 * t309; + const double t896 = t91 * t892; + const double t900 = t93 * t892; + const double t904 = t95 * t892; + const double t908 = t97 * t892; + const double t912 = t99 * t892; + const double t918 = -0.667e0 * t892 - 0.889111e0 * t894 - 0.889111e0 * t896 - 0.3978519606294e1 * t311 * t259 - 0.1989259803147e1 * t900 + 0.1741556453388e2 * t313 * t259 + 0.580518817796e1 * t904 - 0.1775996083194e2 * t315 * t259 - 0.4439990207985e1 * t908 + 0.703586824437e1 * t317 * t259 + 0.1407173648874e1 * t912 - 0.973805419524e0 * t319 * t259 - 0.162300903254e0 * t101 * t892; + const double t919 = t716 * t274; + const double t922 = piecewise_functor_3( t90, -t876, 0.0 ); + const double t928 = piecewise_functor_5( t81, t889 * t88 + t888, t89, t918, -t198 * t200 * t922 * t110 - 0.2e1 * t605 * t919 - t614 * t919 ); + const double t933 = t280 * t131; + const double t934 = t733 * t933; + const double t939 = t219 * t287 * t328 * t113; + const double t940 = t742 * t293; + const double t944 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t928 * t330 + 0.3e1 / 0.8e1 * t732 * t934 + 0.63344011248391453166e0 * t939 * t940 ); + const double t946 = piecewise_functor_3( t82, 0.0, 0.0 ); + const double t947 = c1 * t946; + const double t948 = t947 * t86; + const double t949 = t302 * t302; + const double t950 = c1 * t949; + const double t953 = t416 * t949; + const double t957 = t84 * t178 * t946; + const double t958 = -0.2e1 * t950 * t178 - 0.2e1 * t84 * t953 - t948 - t957; + const double t960 = t307 * t307; + const double t961 = t960 * t88; + const double t963 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t964 = 0.667e0 * t963; + const double t965 = t309 * t309; + const double t967 = t91 * t963; + const double t968 = 0.889111e0 * t967; + const double t969 = t91 * t965; + const double t971 = t93 * t963; + const double t972 = 0.1989259803147e1 * t971; + const double t973 = t93 * t965; + const double t975 = t95 * t963; + const double t976 = 0.580518817796e1 * t975; + const double t977 = t95 * t965; + const double t979 = t97 * t963; + const double t980 = 0.4439990207985e1 * t979; + const double t981 = t97 * t965; + const double t983 = t99 * t963; + const double t984 = 0.1407173648874e1 * t983; + const double t988 = 0.162300903254e0 * t101 * t963; + const double t989 = -t964 - 0.889111e0 * t965 - t968 - 0.3978519606294e1 * t969 - t972 + 0.1741556453388e2 * t973 + t976 - 0.1775996083194e2 * t977 - t980 + 0.703586824437e1 * t981 + t984 - 0.973805419524e0 * t99 * t965 - t988; + const double t990 = t324 * t324; + const double t997 = t198 * t200 * t963 * t110; + const double t1002 = piecewise_functor_5( t81, t958 * t88 + t961, t89, t989, -0.2e1 * t198 * t455 * t990 * t110 - t466 * t468 * t990 * t110 - t997 ); + const double t1007 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1002 * t330 ); + + + vrho = 0.2e1 * rho * t231 + 0.2e1 * t135; + vsigma = 0.2e1 * rho * t298; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t334; + v2rho2 = 0.2e1 * rho * t517 + 0.4e1 * t231; + v2rhosigma = 0.2e1 * rho * t662 + 0.2e1 * t298; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t747 + 0.2e1 * t334; + v2sigma2 = 0.2e1 * rho * t872; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t944; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1007; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t33 = constants::m_pi_sq; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t30 = 0.2e2 / 0.27e2 + 0.5e1 / 0.3e1 * eta; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t33; + constexpr double t36 = 0.1e1 / t35; + constexpr double t37 = t32 * t36; + constexpr double t46 = dp2 * dp2; + constexpr double t47 = t46 * t46; + constexpr double t48 = 0.1e1 / t47; + constexpr double t57 = t34 * t34; + constexpr double t58 = 0.1e1 / t57; + constexpr double t78 = 0.3e1 / 0.1e2 * t32 * t57; + constexpr double t122 = 0.1e1 / t34; + constexpr double t123 = t32 * t122; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t38 = sigma_aa * sigma_aa; + const double t39 = rho_a * rho_a; + const double t40 = t39 * t39; + const double t41 = t40 * rho_a; + const double t42 = safe_math::cbrt( rho_a ); + const double t44 = 0.1e1 / t42 / t41; + const double t45 = t38 * t44; + const double t52 = safe_math::exp( -t37 * t45 * t48 / 0.576e3 ); + const double t56 = ( -0.162742215233874e0 * t30 * t52 + 0.1e2 / 0.81e2 ) * t31; + const double t59 = t58 * sigma_aa; + const double t60 = t42 * t42; + const double t61 = t60 * t39; + const double t62 = 0.1e1 / t61; + const double t66 = k1 + t56 * t59 * t62 / 0.24e2; + const double t70 = k1 * ( 0.1e1 - k1 / t66 ); + const double t71 = t60 * rho_a; + const double t72 = 0.1e1 / t71; + const double t74 = sigma_aa * t62; + const double t76 = tau_a * t72 - t74 / 0.8e1; + const double t79 = eta * sigma_aa; + const double t82 = t78 + t79 * t62 / 0.8e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = t84 <= 0.e0; + const double t86 = 0.e0 < t84; + const double t87 = piecewise_functor_3( t86, 0.0, t84 ); + const double t88 = c1 * t87; + const double t89 = 0.1e1 - t87; + const double t90 = 0.1e1 / t89; + const double t92 = safe_math::exp( -t88 * t90 ); + const double t93 = t84 <= 0.25e1; + const double t94 = 0.25e1 < t84; + const double t95 = piecewise_functor_3( t94, 2.5, t84 ); + const double t97 = t95 * t95; + const double t99 = t97 * t95; + const double t101 = t97 * t97; + const double t103 = t101 * t95; + const double t105 = t101 * t97; + const double t110 = piecewise_functor_3( t94, t84, 2.5 ); + const double t111 = 0.1e1 - t110; + const double t114 = safe_math::exp( c2 / t111 ); + const double t116 = piecewise_functor_5( t85, t92, t93, 0.1e1 - 0.667e0 * t95 - 0.4445555e0 * t97 - 0.663086601049e0 * t99 + 0.145129704449e1 * t101 - 0.887998041597e0 * t103 + 0.234528941479e0 * t105 - 0.23185843322e-1 * t101 * t99, -d * t114 ); + const double t117 = 0.174e0 - t70; + const double t119 = t116 * t117 + t70 + 0.1e1; + const double t120 = t28 * t119; + const double t121 = safe_math::sqrt( 0.3e1 ); + const double t124 = safe_math::sqrt( sigma_aa ); + const double t125 = t42 * rho_a; + const double t126 = 0.1e1 / t125; + const double t128 = t123 * t124 * t126; + const double t129 = safe_math::sqrt( t128 ); + const double t133 = safe_math::exp( -0.98958e1 * t121 / t129 ); + const double t134 = 0.1e1 - t133; + const double t135 = t120 * t134; + const double t138 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t135 ); + const double t139 = rho_b <= dens_tol; + const double t140 = -t17; + const double t142 = piecewise_functor_5( t15, t12, t11, t16, t140 * t8 ); + const double t143 = 0.1e1 + t142; + const double t144 = t143 <= zeta_tol; + const double t145 = safe_math::cbrt( t143 ); + const double t147 = piecewise_functor_3( t144, t23, t145 * t143 ); + const double t148 = t6 * t147; + const double t149 = sigma_bb * sigma_bb; + const double t150 = rho_b * rho_b; + const double t151 = t150 * t150; + const double t152 = t151 * rho_b; + const double t153 = safe_math::cbrt( rho_b ); + const double t155 = 0.1e1 / t153 / t152; + const double t156 = t149 * t155; + const double t160 = safe_math::exp( -t37 * t156 * t48 / 0.576e3 ); + const double t164 = ( -0.162742215233874e0 * t30 * t160 + 0.1e2 / 0.81e2 ) * t31; + const double t165 = t58 * sigma_bb; + const double t166 = t153 * t153; + const double t167 = t166 * t150; + const double t168 = 0.1e1 / t167; + const double t172 = k1 + t164 * t165 * t168 / 0.24e2; + const double t176 = k1 * ( 0.1e1 - k1 / t172 ); + const double t177 = t166 * rho_b; + const double t178 = 0.1e1 / t177; + const double t180 = sigma_bb * t168; + const double t182 = tau_b * t178 - t180 / 0.8e1; + const double t183 = eta * sigma_bb; + const double t186 = t78 + t183 * t168 / 0.8e1; + const double t187 = 0.1e1 / t186; + const double t188 = t182 * t187; + const double t189 = t188 <= 0.e0; + const double t190 = 0.e0 < t188; + const double t191 = piecewise_functor_3( t190, 0.0, t188 ); + const double t192 = c1 * t191; + const double t193 = 0.1e1 - t191; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t192 * t194 ); + const double t197 = t188 <= 0.25e1; + const double t198 = 0.25e1 < t188; + const double t199 = piecewise_functor_3( t198, 2.5, t188 ); + const double t201 = t199 * t199; + const double t203 = t201 * t199; + const double t205 = t201 * t201; + const double t207 = t205 * t199; + const double t209 = t205 * t201; + const double t214 = piecewise_functor_3( t198, t188, 2.5 ); + const double t215 = 0.1e1 - t214; + const double t218 = safe_math::exp( c2 / t215 ); + const double t220 = piecewise_functor_5( t189, t196, t197, 0.1e1 - 0.667e0 * t199 - 0.4445555e0 * t201 - 0.663086601049e0 * t203 + 0.145129704449e1 * t205 - 0.887998041597e0 * t207 + 0.234528941479e0 * t209 - 0.23185843322e-1 * t205 * t203, -d * t218 ); + const double t221 = 0.174e0 - t176; + const double t223 = t220 * t221 + t176 + 0.1e1; + const double t224 = t28 * t223; + const double t225 = safe_math::sqrt( sigma_bb ); + const double t226 = t153 * rho_b; + const double t227 = 0.1e1 / t226; + const double t229 = t123 * t225 * t227; + const double t230 = safe_math::sqrt( t229 ); + const double t234 = safe_math::exp( -0.98958e1 * t121 / t230 ); + const double t235 = 0.1e1 - t234; + const double t236 = t224 * t235; + const double t239 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t236 ); + + + eps = t138 + t239; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t31 = constants::m_cbrt_6; + constexpr double t33 = constants::m_pi_sq; + constexpr double t34 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t30 = 0.2e2 / 0.27e2 + 0.5e1 / 0.3e1 * eta; + constexpr double t32 = t31 * t31; + constexpr double t35 = t34 * t33; + constexpr double t36 = 0.1e1 / t35; + constexpr double t37 = t32 * t36; + constexpr double t46 = dp2 * dp2; + constexpr double t47 = t46 * t46; + constexpr double t48 = 0.1e1 / t47; + constexpr double t57 = t34 * t34; + constexpr double t58 = 0.1e1 / t57; + constexpr double t78 = 0.3e1 / 0.1e2 * t32 * t57; + constexpr double t122 = 0.1e1 / t34; + constexpr double t123 = t32 * t122; + constexpr double t257 = k1 * k1; + constexpr double t315 = d * c2; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t38 = sigma_aa * sigma_aa; + const double t39 = rho_a * rho_a; + const double t40 = t39 * t39; + const double t41 = t40 * rho_a; + const double t42 = safe_math::cbrt( rho_a ); + const double t44 = 0.1e1 / t42 / t41; + const double t45 = t38 * t44; + const double t52 = safe_math::exp( -t37 * t45 * t48 / 0.576e3 ); + const double t56 = ( -0.162742215233874e0 * t30 * t52 + 0.1e2 / 0.81e2 ) * t31; + const double t59 = t58 * sigma_aa; + const double t60 = t42 * t42; + const double t61 = t60 * t39; + const double t62 = 0.1e1 / t61; + const double t66 = k1 + t56 * t59 * t62 / 0.24e2; + const double t70 = k1 * ( 0.1e1 - k1 / t66 ); + const double t71 = t60 * rho_a; + const double t72 = 0.1e1 / t71; + const double t74 = sigma_aa * t62; + const double t76 = tau_a * t72 - t74 / 0.8e1; + const double t79 = eta * sigma_aa; + const double t82 = t78 + t79 * t62 / 0.8e1; + const double t83 = 0.1e1 / t82; + const double t84 = t76 * t83; + const double t85 = t84 <= 0.e0; + const double t86 = 0.e0 < t84; + const double t87 = piecewise_functor_3( t86, 0.0, t84 ); + const double t88 = c1 * t87; + const double t89 = 0.1e1 - t87; + const double t90 = 0.1e1 / t89; + const double t92 = safe_math::exp( -t88 * t90 ); + const double t93 = t84 <= 0.25e1; + const double t94 = 0.25e1 < t84; + const double t95 = piecewise_functor_3( t94, 2.5, t84 ); + const double t97 = t95 * t95; + const double t99 = t97 * t95; + const double t101 = t97 * t97; + const double t103 = t101 * t95; + const double t105 = t101 * t97; + const double t110 = piecewise_functor_3( t94, t84, 2.5 ); + const double t111 = 0.1e1 - t110; + const double t114 = safe_math::exp( c2 / t111 ); + const double t116 = piecewise_functor_5( t85, t92, t93, 0.1e1 - 0.667e0 * t95 - 0.4445555e0 * t97 - 0.663086601049e0 * t99 + 0.145129704449e1 * t101 - 0.887998041597e0 * t103 + 0.234528941479e0 * t105 - 0.23185843322e-1 * t101 * t99, -d * t114 ); + const double t117 = 0.174e0 - t70; + const double t119 = t116 * t117 + t70 + 0.1e1; + const double t120 = t28 * t119; + const double t121 = safe_math::sqrt( 0.3e1 ); + const double t124 = safe_math::sqrt( sigma_aa ); + const double t125 = t42 * rho_a; + const double t126 = 0.1e1 / t125; + const double t128 = t123 * t124 * t126; + const double t129 = safe_math::sqrt( t128 ); + const double t133 = safe_math::exp( -0.98958e1 * t121 / t129 ); + const double t134 = 0.1e1 - t133; + const double t135 = t120 * t134; + const double t138 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t135 ); + const double t139 = rho_b <= dens_tol; + const double t140 = -t17; + const double t142 = piecewise_functor_5( t15, t12, t11, t16, t140 * t8 ); + const double t143 = 0.1e1 + t142; + const double t144 = t143 <= zeta_tol; + const double t145 = safe_math::cbrt( t143 ); + const double t147 = piecewise_functor_3( t144, t23, t145 * t143 ); + const double t148 = t6 * t147; + const double t149 = sigma_bb * sigma_bb; + const double t150 = rho_b * rho_b; + const double t151 = t150 * t150; + const double t152 = t151 * rho_b; + const double t153 = safe_math::cbrt( rho_b ); + const double t155 = 0.1e1 / t153 / t152; + const double t156 = t149 * t155; + const double t160 = safe_math::exp( -t37 * t156 * t48 / 0.576e3 ); + const double t164 = ( -0.162742215233874e0 * t30 * t160 + 0.1e2 / 0.81e2 ) * t31; + const double t165 = t58 * sigma_bb; + const double t166 = t153 * t153; + const double t167 = t166 * t150; + const double t168 = 0.1e1 / t167; + const double t172 = k1 + t164 * t165 * t168 / 0.24e2; + const double t176 = k1 * ( 0.1e1 - k1 / t172 ); + const double t177 = t166 * rho_b; + const double t178 = 0.1e1 / t177; + const double t180 = sigma_bb * t168; + const double t182 = tau_b * t178 - t180 / 0.8e1; + const double t183 = eta * sigma_bb; + const double t186 = t78 + t183 * t168 / 0.8e1; + const double t187 = 0.1e1 / t186; + const double t188 = t182 * t187; + const double t189 = t188 <= 0.e0; + const double t190 = 0.e0 < t188; + const double t191 = piecewise_functor_3( t190, 0.0, t188 ); + const double t192 = c1 * t191; + const double t193 = 0.1e1 - t191; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t192 * t194 ); + const double t197 = t188 <= 0.25e1; + const double t198 = 0.25e1 < t188; + const double t199 = piecewise_functor_3( t198, 2.5, t188 ); + const double t201 = t199 * t199; + const double t203 = t201 * t199; + const double t205 = t201 * t201; + const double t207 = t205 * t199; + const double t209 = t205 * t201; + const double t214 = piecewise_functor_3( t198, t188, 2.5 ); + const double t215 = 0.1e1 - t214; + const double t218 = safe_math::exp( c2 / t215 ); + const double t220 = piecewise_functor_5( t189, t196, t197, 0.1e1 - 0.667e0 * t199 - 0.4445555e0 * t201 - 0.663086601049e0 * t203 + 0.145129704449e1 * t205 - 0.887998041597e0 * t207 + 0.234528941479e0 * t209 - 0.23185843322e-1 * t205 * t203, -d * t218 ); + const double t221 = 0.174e0 - t176; + const double t223 = t220 * t221 + t176 + 0.1e1; + const double t224 = t28 * t223; + const double t225 = safe_math::sqrt( sigma_bb ); + const double t226 = t153 * rho_b; + const double t227 = 0.1e1 / t226; + const double t229 = t123 * t225 * t227; + const double t230 = safe_math::sqrt( t229 ); + const double t234 = safe_math::exp( -0.98958e1 * t121 / t230 ); + const double t235 = 0.1e1 - t234; + const double t236 = t224 * t235; + const double t239 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t236 ); + const double t240 = t7 * t7; + const double t241 = 0.1e1 / t240; + const double t242 = t17 * t241; + const double t244 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t242 ); + const double t247 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t244 ); + const double t248 = t6 * t247; + const double t251 = t28 * t28; + const double t252 = 0.1e1 / t251; + const double t253 = t252 * t119; + const double t254 = t253 * t134; + const double t256 = t27 * t254 / 0.8e1; + const double t258 = t66 * t66; + const double t259 = 0.1e1 / t258; + const double t260 = t257 * t259; + const double t261 = t38 * sigma_aa; + const double t262 = t30 * t261; + const double t263 = t40 * t40; + const double t264 = t263 * rho_a; + const double t265 = 0.1e1 / t264; + const double t267 = t265 * t48 * t52; + const double t270 = t39 * rho_a; + const double t272 = 0.1e1 / t60 / t270; + const double t276 = -0.38673812353679841857e-5 * t262 * t267 - t56 * t59 * t272 / 0.9e1; + const double t282 = -0.5e1 / 0.3e1 * tau_a * t62 + sigma_aa * t272 / 0.3e1; + const double t284 = t82 * t82; + const double t285 = 0.1e1 / t284; + const double t286 = t76 * t285; + const double t287 = t79 * t272; + const double t290 = t282 * t83 + t286 * t287 / 0.3e1; + const double t291 = piecewise_functor_3( t86, 0.0, t290 ); + const double t294 = t89 * t89; + const double t295 = 0.1e1 / t294; + const double t296 = t295 * t291; + const double t298 = -t291 * t90 * c1 - t296 * t88; + const double t299 = t298 * t92; + const double t300 = piecewise_functor_3( t94, 0.0, t290 ); + const double t302 = t95 * t300; + const double t304 = t97 * t300; + const double t306 = t99 * t300; + const double t308 = t101 * t300; + const double t310 = t103 * t300; + const double t316 = t111 * t111; + const double t317 = 0.1e1 / t316; + const double t318 = piecewise_functor_3( t94, t290, 0.0 ); + const double t322 = piecewise_functor_5( t85, t299, t93, -0.667e0 * t300 - 0.889111e0 * t302 - 0.1989259803147e1 * t304 + 0.580518817796e1 * t306 - 0.4439990207985e1 * t308 + 0.1407173648874e1 * t310 - 0.162300903254e0 * t105 * t300, -t315 * t317 * t318 * t114 ); + const double t324 = t116 * t257; + const double t325 = t259 * t276; + const double t327 = t117 * t322 + t260 * t276 - t324 * t325; + const double t328 = t28 * t327; + const double t329 = t328 * t134; + const double t332 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t333 = t332 * t332; + const double t334 = t333 * t333; + const double t335 = t334 * t332; + const double t336 = t335 * t26; + const double t338 = 0.1e1 / t129 / t128; + const double t339 = t120 * t338; + const double t340 = t336 * t339; + const double t342 = 0.1e1 / t42 / t39; + const double t344 = t124 * t342 * t133; + const double t345 = t123 * t344; + const double t349 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t248 * t135 - t256 - 0.3e1 / 0.8e1 * t27 * t329 - 0.16891736332904387511e1 * t340 * t345 ); + const double t350 = t140 * t241; + const double t352 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t350 ); + const double t355 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.3e1 * t145 * t352 ); + const double t356 = t6 * t355; + const double t359 = t252 * t223; + const double t360 = t359 * t235; + const double t362 = t148 * t360 / 0.8e1; + const double t364 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t356 * t236 - t362 ); + const double t368 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t242 ); + const double t371 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t368 ); + const double t372 = t6 * t371; + const double t376 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t372 * t135 - t256 ); + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t350 ); + const double t381 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.3e1 * t145 * t378 ); + const double t382 = t6 * t381; + const double t385 = t172 * t172; + const double t386 = 0.1e1 / t385; + const double t387 = t257 * t386; + const double t388 = t149 * sigma_bb; + const double t389 = t30 * t388; + const double t390 = t151 * t151; + const double t391 = t390 * rho_b; + const double t392 = 0.1e1 / t391; + const double t394 = t392 * t48 * t160; + const double t397 = t150 * rho_b; + const double t399 = 0.1e1 / t166 / t397; + const double t403 = -0.38673812353679841857e-5 * t389 * t394 - t164 * t165 * t399 / 0.9e1; + const double t409 = -0.5e1 / 0.3e1 * tau_b * t168 + sigma_bb * t399 / 0.3e1; + const double t411 = t186 * t186; + const double t412 = 0.1e1 / t411; + const double t413 = t182 * t412; + const double t414 = t183 * t399; + const double t417 = t409 * t187 + t413 * t414 / 0.3e1; + const double t418 = piecewise_functor_3( t190, 0.0, t417 ); + const double t421 = t193 * t193; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t418; + const double t425 = -t194 * t418 * c1 - t192 * t423; + const double t426 = t425 * t196; + const double t427 = piecewise_functor_3( t198, 0.0, t417 ); + const double t429 = t199 * t427; + const double t431 = t201 * t427; + const double t433 = t203 * t427; + const double t435 = t205 * t427; + const double t437 = t207 * t427; + const double t442 = t215 * t215; + const double t443 = 0.1e1 / t442; + const double t444 = piecewise_functor_3( t198, t417, 0.0 ); + const double t448 = piecewise_functor_5( t189, t426, t197, -0.667e0 * t427 - 0.889111e0 * t429 - 0.1989259803147e1 * t431 + 0.580518817796e1 * t433 - 0.4439990207985e1 * t435 + 0.1407173648874e1 * t437 - 0.162300903254e0 * t209 * t427, -t315 * t443 * t444 * t218 ); + const double t450 = t220 * t257; + const double t451 = t386 * t403; + const double t453 = t221 * t448 + t387 * t403 - t450 * t451; + const double t454 = t28 * t453; + const double t455 = t454 * t235; + const double t458 = t335 * t147; + const double t460 = 0.1e1 / t230 / t229; + const double t461 = t224 * t460; + const double t462 = t458 * t461; + const double t464 = 0.1e1 / t153 / t150; + const double t466 = t225 * t464 * t234; + const double t467 = t123 * t466; + const double t471 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t382 * t236 - t362 - 0.3e1 / 0.8e1 * t148 * t455 - 0.16891736332904387511e1 * t462 * t467 ); + const double t474 = t30 * t38; + const double t475 = 0.1e1 / t263; + const double t477 = t475 * t48 * t52; + const double t483 = 0.14502679632629940697e-5 * t474 * t477 + t56 * t58 * t62 / 0.24e2; + const double t485 = t62 * t83; + const double t486 = eta * t62; + const double t489 = -t286 * t486 / 0.8e1 - t485 / 0.8e1; + const double t490 = piecewise_functor_3( t86, 0.0, t489 ); + const double t491 = c1 * t490; + const double t493 = t295 * t490; + const double t495 = -t491 * t90 - t493 * t88; + const double t496 = t495 * t92; + const double t497 = piecewise_functor_3( t94, 0.0, t489 ); + const double t499 = t95 * t497; + const double t501 = t97 * t497; + const double t503 = t99 * t497; + const double t505 = t101 * t497; + const double t507 = t103 * t497; + const double t512 = piecewise_functor_3( t94, t489, 0.0 ); + const double t516 = piecewise_functor_5( t85, t496, t93, -0.667e0 * t497 - 0.889111e0 * t499 - 0.1989259803147e1 * t501 + 0.580518817796e1 * t503 - 0.4439990207985e1 * t505 + 0.1407173648874e1 * t507 - 0.162300903254e0 * t105 * t497, -t315 * t317 * t512 * t114 ); + const double t518 = t259 * t483; + const double t520 = t117 * t516 + t260 * t483 - t324 * t518; + const double t521 = t28 * t520; + const double t522 = t521 * t134; + const double t525 = 0.1e1 / t124; + const double t527 = t525 * t126 * t133; + const double t528 = t123 * t527; + const double t532 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t522 + 0.63344011248391453166e0 * t340 * t528 ); + const double t533 = t30 * t149; + const double t534 = 0.1e1 / t390; + const double t536 = t534 * t48 * t160; + const double t542 = 0.14502679632629940697e-5 * t533 * t536 + t164 * t58 * t168 / 0.24e2; + const double t544 = t168 * t187; + const double t545 = eta * t168; + const double t548 = -t413 * t545 / 0.8e1 - t544 / 0.8e1; + const double t549 = piecewise_functor_3( t190, 0.0, t548 ); + const double t550 = c1 * t549; + const double t552 = t422 * t549; + const double t554 = -t192 * t552 - t194 * t550; + const double t555 = t554 * t196; + const double t556 = piecewise_functor_3( t198, 0.0, t548 ); + const double t558 = t199 * t556; + const double t560 = t201 * t556; + const double t562 = t203 * t556; + const double t564 = t205 * t556; + const double t566 = t207 * t556; + const double t571 = piecewise_functor_3( t198, t548, 0.0 ); + const double t575 = piecewise_functor_5( t189, t555, t197, -0.667e0 * t556 - 0.889111e0 * t558 - 0.1989259803147e1 * t560 + 0.580518817796e1 * t562 - 0.4439990207985e1 * t564 + 0.1407173648874e1 * t566 - 0.162300903254e0 * t209 * t556, -t315 * t443 * t571 * t218 ); + const double t577 = t386 * t542; + const double t579 = t221 * t575 + t387 * t542 - t450 * t577; + const double t580 = t28 * t579; + const double t581 = t580 * t235; + const double t584 = 0.1e1 / t225; + const double t586 = t584 * t227 * t234; + const double t587 = t123 * t586; + const double t591 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t581 + 0.63344011248391453166e0 * t462 * t587 ); + const double t592 = t72 * t83; + const double t593 = piecewise_functor_3( t86, 0.0, t592 ); + const double t594 = c1 * t593; + const double t596 = t295 * t593; + const double t598 = -t594 * t90 - t596 * t88; + const double t599 = t598 * t92; + const double t600 = piecewise_functor_3( t94, 0.0, t592 ); + const double t602 = t95 * t600; + const double t604 = t97 * t600; + const double t606 = t99 * t600; + const double t608 = t101 * t600; + const double t610 = t103 * t600; + const double t615 = piecewise_functor_3( t94, t592, 0.0 ); + const double t619 = piecewise_functor_5( t85, t599, t93, -0.667e0 * t600 - 0.889111e0 * t602 - 0.1989259803147e1 * t604 + 0.580518817796e1 * t606 - 0.4439990207985e1 * t608 + 0.1407173648874e1 * t610 - 0.162300903254e0 * t105 * t600, -t315 * t317 * t615 * t114 ); + const double t620 = t28 * t619; + const double t621 = t117 * t134; + const double t622 = t620 * t621; + const double t625 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t622 ); + const double t626 = t178 * t187; + const double t627 = piecewise_functor_3( t190, 0.0, t626 ); + const double t628 = c1 * t627; + const double t630 = t422 * t627; + const double t632 = -t192 * t630 - t194 * t628; + const double t633 = t632 * t196; + const double t634 = piecewise_functor_3( t198, 0.0, t626 ); + const double t636 = t199 * t634; + const double t638 = t201 * t634; + const double t640 = t203 * t634; + const double t642 = t205 * t634; + const double t644 = t207 * t634; + const double t649 = piecewise_functor_3( t198, t626, 0.0 ); + const double t653 = piecewise_functor_5( t189, t633, t197, -0.667e0 * t634 - 0.889111e0 * t636 - 0.1989259803147e1 * t638 + 0.580518817796e1 * t640 - 0.4439990207985e1 * t642 + 0.1407173648874e1 * t644 - 0.162300903254e0 * t209 * t634, -t315 * t443 * t649 * t218 ); + const double t654 = t28 * t653; + const double t655 = t221 * t235; + const double t656 = t654 * t655; + const double t659 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t656 ); + + + eps = t138 + t239; + vrho_a = t138 + t239 + t7 * ( t349 + t364 ); + vrho_b = t138 + t239 + t7 * ( t376 + t471 ); + vsigma_aa = t7 * t532; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t591; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t625; + vtau_b = t7 * t659; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t31 = constants::m_cbrt_6; @@ -360,6 +1914,15 @@ struct kernel_traits< BuiltinR2SCAN_X > : constexpr double t78 = 0.3e1 / 0.1e2 * t32 * t57; constexpr double t122 = 0.1e1 / t34; constexpr double t123 = t32 * t122; + constexpr double t257 = k1 * k1; + constexpr double t315 = d * c2; + constexpr double t722 = t47 * t47; + constexpr double t723 = 0.1e1 / t722; + constexpr double t724 = t723 * t32; + constexpr double t748 = eta * eta; + constexpr double t816 = c2 * c2; + constexpr double t817 = d * t816; + constexpr double t843 = t31 * t58; const double t2 = rho_a <= dens_tol; @@ -411,13 +1974,13 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t92 = safe_math::exp( -t88 * t90 ); const double t93 = t84 <= 0.25e1; const double t94 = 0.25e1 < t84; - const double t95 = piecewise_functor_3( t94, 0.25e1, t84 ); + const double t95 = piecewise_functor_3( t94, 2.5, t84 ); const double t97 = t95 * t95; const double t99 = t97 * t95; const double t101 = t97 * t97; const double t103 = t101 * t95; const double t105 = t101 * t97; - const double t110 = piecewise_functor_3( t94, t84, 0.25e1 ); + const double t110 = piecewise_functor_3( t94, t84, 2.5 ); const double t111 = 0.1e1 - t110; const double t114 = safe_math::exp( c2 / t111 ); const double t116 = piecewise_functor_5( t85, t92, t93, 0.1e1 - 0.667e0 * t95 - 0.4445555e0 * t97 - 0.663086601049e0 * t99 + 0.145129704449e1 * t101 - 0.887998041597e0 * t103 + 0.234528941479e0 * t105 - 0.23185843322e-1 * t101 * t99, -d * t114 ); @@ -433,7 +1996,6 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t133 = safe_math::exp( -0.98958e1 * t121 / t129 ); const double t134 = 0.1e1 - t133; const double t135 = t120 * t134; - const double t138 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t135 ); const double t139 = rho_b <= dens_tol; const double t140 = -t17; const double t142 = piecewise_functor_5( t15, t12, t11, t16, t140 * t8 ); @@ -474,13 +2036,13 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t196 = safe_math::exp( -t192 * t194 ); const double t197 = t188 <= 0.25e1; const double t198 = 0.25e1 < t188; - const double t199 = piecewise_functor_3( t198, 0.25e1, t188 ); + const double t199 = piecewise_functor_3( t198, 2.5, t188 ); const double t201 = t199 * t199; const double t203 = t201 * t199; const double t205 = t201 * t201; const double t207 = t205 * t199; const double t209 = t205 * t201; - const double t214 = piecewise_functor_3( t198, t188, 0.25e1 ); + const double t214 = piecewise_functor_3( t198, t188, 2.5 ); const double t215 = 0.1e1 - t214; const double t218 = safe_math::exp( c2 / t215 ); const double t220 = piecewise_functor_5( t189, t196, t197, 0.1e1 - 0.667e0 * t199 - 0.4445555e0 * t201 - 0.663086601049e0 * t203 + 0.145129704449e1 * t205 - 0.887998041597e0 * t207 + 0.234528941479e0 * t209 - 0.23185843322e-1 * t205 * t203, -d * t218 ); @@ -495,20 +2057,881 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t234 = safe_math::exp( -0.98958e1 * t121 / t230 ); const double t235 = 0.1e1 - t234; const double t236 = t224 * t235; - const double t239 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t236 ); + const double t240 = t7 * t7; + const double t241 = 0.1e1 / t240; + const double t242 = t17 * t241; + const double t244 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t242 ); + const double t247 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t244 ); + const double t248 = t6 * t247; + const double t251 = t28 * t28; + const double t252 = 0.1e1 / t251; + const double t253 = t252 * t119; + const double t254 = t253 * t134; + const double t256 = t27 * t254 / 0.8e1; + const double t258 = t66 * t66; + const double t259 = 0.1e1 / t258; + const double t260 = t257 * t259; + const double t261 = t38 * sigma_aa; + const double t262 = t30 * t261; + const double t263 = t40 * t40; + const double t264 = t263 * rho_a; + const double t265 = 0.1e1 / t264; + const double t267 = t265 * t48 * t52; + const double t270 = t39 * rho_a; + const double t272 = 0.1e1 / t60 / t270; + const double t276 = -0.38673812353679841857e-5 * t262 * t267 - t56 * t59 * t272 / 0.9e1; + const double t282 = -0.5e1 / 0.3e1 * tau_a * t62 + sigma_aa * t272 / 0.3e1; + const double t284 = t82 * t82; + const double t285 = 0.1e1 / t284; + const double t286 = t76 * t285; + const double t287 = t79 * t272; + const double t290 = t282 * t83 + t286 * t287 / 0.3e1; + const double t291 = piecewise_functor_3( t86, 0.0, t290 ); + const double t294 = t89 * t89; + const double t295 = 0.1e1 / t294; + const double t296 = t295 * t291; + const double t298 = -t291 * t90 * c1 - t296 * t88; + const double t299 = t298 * t92; + const double t300 = piecewise_functor_3( t94, 0.0, t290 ); + const double t302 = t95 * t300; + const double t304 = t97 * t300; + const double t306 = t99 * t300; + const double t308 = t101 * t300; + const double t310 = t103 * t300; + const double t316 = t111 * t111; + const double t317 = 0.1e1 / t316; + const double t318 = piecewise_functor_3( t94, t290, 0.0 ); + const double t322 = piecewise_functor_5( t85, t299, t93, -0.667e0 * t300 - 0.889111e0 * t302 - 0.1989259803147e1 * t304 + 0.580518817796e1 * t306 - 0.4439990207985e1 * t308 + 0.1407173648874e1 * t310 - 0.162300903254e0 * t105 * t300, -t315 * t317 * t318 * t114 ); + const double t324 = t116 * t257; + const double t325 = t259 * t276; + const double t327 = t117 * t322 + t260 * t276 - t324 * t325; + const double t328 = t28 * t327; + const double t329 = t328 * t134; + const double t332 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t333 = t332 * t332; + const double t334 = t333 * t333; + const double t335 = t334 * t332; + const double t336 = t335 * t26; + const double t338 = 0.1e1 / t129 / t128; + const double t339 = t120 * t338; + const double t340 = t336 * t339; + const double t342 = 0.1e1 / t42 / t39; + const double t344 = t124 * t342 * t133; + const double t345 = t123 * t344; + const double t349 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t248 * t135 - t256 - 0.3e1 / 0.8e1 * t27 * t329 - 0.16891736332904387511e1 * t340 * t345 ); + const double t350 = t140 * t241; + const double t352 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t350 ); + const double t355 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.3e1 * t145 * t352 ); + const double t356 = t6 * t355; + const double t359 = t252 * t223; + const double t360 = t359 * t235; + const double t362 = t148 * t360 / 0.8e1; + const double t364 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t356 * t236 - t362 ); + const double t368 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t242 ); + const double t371 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t368 ); + const double t372 = t6 * t371; + const double t376 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t372 * t135 - t256 ); + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t350 ); + const double t381 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.3e1 * t145 * t378 ); + const double t382 = t6 * t381; + const double t385 = t172 * t172; + const double t386 = 0.1e1 / t385; + const double t387 = t257 * t386; + const double t388 = t149 * sigma_bb; + const double t389 = t30 * t388; + const double t390 = t151 * t151; + const double t391 = t390 * rho_b; + const double t392 = 0.1e1 / t391; + const double t394 = t392 * t48 * t160; + const double t397 = t150 * rho_b; + const double t399 = 0.1e1 / t166 / t397; + const double t403 = -0.38673812353679841857e-5 * t389 * t394 - t164 * t165 * t399 / 0.9e1; + const double t409 = -0.5e1 / 0.3e1 * tau_b * t168 + sigma_bb * t399 / 0.3e1; + const double t411 = t186 * t186; + const double t412 = 0.1e1 / t411; + const double t413 = t182 * t412; + const double t414 = t183 * t399; + const double t417 = t409 * t187 + t413 * t414 / 0.3e1; + const double t418 = piecewise_functor_3( t190, 0.0, t417 ); + const double t421 = t193 * t193; + const double t422 = 0.1e1 / t421; + const double t423 = t422 * t418; + const double t425 = -t194 * t418 * c1 - t192 * t423; + const double t426 = t425 * t196; + const double t427 = piecewise_functor_3( t198, 0.0, t417 ); + const double t429 = t199 * t427; + const double t431 = t201 * t427; + const double t433 = t203 * t427; + const double t435 = t205 * t427; + const double t437 = t207 * t427; + const double t442 = t215 * t215; + const double t443 = 0.1e1 / t442; + const double t444 = piecewise_functor_3( t198, t417, 0.0 ); + const double t448 = piecewise_functor_5( t189, t426, t197, -0.667e0 * t427 - 0.889111e0 * t429 - 0.1989259803147e1 * t431 + 0.580518817796e1 * t433 - 0.4439990207985e1 * t435 + 0.1407173648874e1 * t437 - 0.162300903254e0 * t209 * t427, -t315 * t443 * t444 * t218 ); + const double t450 = t220 * t257; + const double t451 = t386 * t403; + const double t453 = t221 * t448 + t387 * t403 - t450 * t451; + const double t454 = t28 * t453; + const double t455 = t454 * t235; + const double t458 = t335 * t147; + const double t460 = 0.1e1 / t230 / t229; + const double t461 = t224 * t460; + const double t462 = t458 * t461; + const double t464 = 0.1e1 / t153 / t150; + const double t466 = t225 * t464 * t234; + const double t467 = t123 * t466; + const double t471 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t382 * t236 - t362 - 0.3e1 / 0.8e1 * t148 * t455 - 0.16891736332904387511e1 * t462 * t467 ); + const double t474 = t30 * t38; + const double t475 = 0.1e1 / t263; + const double t477 = t475 * t48 * t52; + const double t483 = 0.14502679632629940697e-5 * t474 * t477 + t56 * t58 * t62 / 0.24e2; + const double t485 = t62 * t83; + const double t486 = eta * t62; + const double t489 = -t286 * t486 / 0.8e1 - t485 / 0.8e1; + const double t490 = piecewise_functor_3( t86, 0.0, t489 ); + const double t491 = c1 * t490; + const double t493 = t295 * t490; + const double t495 = -t491 * t90 - t493 * t88; + const double t496 = t495 * t92; + const double t497 = piecewise_functor_3( t94, 0.0, t489 ); + const double t499 = t95 * t497; + const double t501 = t97 * t497; + const double t503 = t99 * t497; + const double t505 = t101 * t497; + const double t507 = t103 * t497; + const double t512 = piecewise_functor_3( t94, t489, 0.0 ); + const double t516 = piecewise_functor_5( t85, t496, t93, -0.667e0 * t497 - 0.889111e0 * t499 - 0.1989259803147e1 * t501 + 0.580518817796e1 * t503 - 0.4439990207985e1 * t505 + 0.1407173648874e1 * t507 - 0.162300903254e0 * t105 * t497, -t315 * t317 * t512 * t114 ); + const double t518 = t259 * t483; + const double t520 = t117 * t516 + t260 * t483 - t324 * t518; + const double t521 = t28 * t520; + const double t522 = t521 * t134; + const double t525 = 0.1e1 / t124; + const double t527 = t525 * t126 * t133; + const double t528 = t123 * t527; + const double t532 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t522 + 0.63344011248391453166e0 * t340 * t528 ); + const double t533 = t30 * t149; + const double t534 = 0.1e1 / t390; + const double t536 = t534 * t48 * t160; + const double t542 = 0.14502679632629940697e-5 * t533 * t536 + t164 * t58 * t168 / 0.24e2; + const double t544 = t168 * t187; + const double t545 = eta * t168; + const double t548 = -t413 * t545 / 0.8e1 - t544 / 0.8e1; + const double t549 = piecewise_functor_3( t190, 0.0, t548 ); + const double t550 = c1 * t549; + const double t552 = t422 * t549; + const double t554 = -t192 * t552 - t194 * t550; + const double t555 = t554 * t196; + const double t556 = piecewise_functor_3( t198, 0.0, t548 ); + const double t558 = t199 * t556; + const double t560 = t201 * t556; + const double t562 = t203 * t556; + const double t564 = t205 * t556; + const double t566 = t207 * t556; + const double t571 = piecewise_functor_3( t198, t548, 0.0 ); + const double t575 = piecewise_functor_5( t189, t555, t197, -0.667e0 * t556 - 0.889111e0 * t558 - 0.1989259803147e1 * t560 + 0.580518817796e1 * t562 - 0.4439990207985e1 * t564 + 0.1407173648874e1 * t566 - 0.162300903254e0 * t209 * t556, -t315 * t443 * t571 * t218 ); + const double t577 = t386 * t542; + const double t579 = t221 * t575 + t387 * t542 - t450 * t577; + const double t580 = t28 * t579; + const double t581 = t580 * t235; + const double t584 = 0.1e1 / t225; + const double t586 = t584 * t227 * t234; + const double t587 = t123 * t586; + const double t591 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t581 + 0.63344011248391453166e0 * t462 * t587 ); + const double t592 = t72 * t83; + const double t593 = piecewise_functor_3( t86, 0.0, t592 ); + const double t594 = c1 * t593; + const double t596 = t295 * t593; + const double t598 = -t594 * t90 - t596 * t88; + const double t599 = t598 * t92; + const double t600 = piecewise_functor_3( t94, 0.0, t592 ); + const double t602 = t95 * t600; + const double t604 = t97 * t600; + const double t606 = t99 * t600; + const double t608 = t101 * t600; + const double t610 = t103 * t600; + const double t615 = piecewise_functor_3( t94, t592, 0.0 ); + const double t619 = piecewise_functor_5( t85, t599, t93, -0.667e0 * t600 - 0.889111e0 * t602 - 0.1989259803147e1 * t604 + 0.580518817796e1 * t606 - 0.4439990207985e1 * t608 + 0.1407173648874e1 * t610 - 0.162300903254e0 * t105 * t600, -t315 * t317 * t615 * t114 ); + const double t620 = t28 * t619; + const double t621 = t117 * t134; + const double t622 = t620 * t621; + const double t625 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t622 ); + const double t626 = t178 * t187; + const double t627 = piecewise_functor_3( t190, 0.0, t626 ); + const double t628 = c1 * t627; + const double t630 = t422 * t627; + const double t632 = -t192 * t630 - t194 * t628; + const double t633 = t632 * t196; + const double t634 = piecewise_functor_3( t198, 0.0, t626 ); + const double t636 = t199 * t634; + const double t638 = t201 * t634; + const double t640 = t203 * t634; + const double t642 = t205 * t634; + const double t644 = t207 * t634; + const double t649 = piecewise_functor_3( t198, t626, 0.0 ); + const double t653 = piecewise_functor_5( t189, t633, t197, -0.667e0 * t634 - 0.889111e0 * t636 - 0.1989259803147e1 * t638 + 0.580518817796e1 * t640 - 0.4439990207985e1 * t642 + 0.1407173648874e1 * t644 - 0.162300903254e0 * t209 * t634, -t315 * t443 * t649 * t218 ); + const double t654 = t28 * t653; + const double t655 = t221 * t235; + const double t656 = t654 * t655; + const double t659 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t656 ); + const double t662 = t24 * t24; + const double t663 = 0.1e1 / t662; + const double t664 = t244 * t244; + const double t667 = t240 * t7; + const double t668 = 0.1e1 / t667; + const double t669 = t17 * t668; + const double t672 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t241 + 0.2e1 * t669 ); + const double t676 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t663 * t664 + 0.4e1 / 0.3e1 * t24 * t672 ); + const double t677 = t6 * t676; + const double t680 = t248 * t254; + const double t684 = t335 * t247; + const double t685 = t684 * t339; + const double t689 = 0.1e1 / t251 / t7; + const double t690 = t689 * t119; + const double t691 = t690 * t134; + const double t693 = t27 * t691 / 0.12e2; + const double t694 = t252 * t327; + const double t695 = t694 * t134; + const double t696 = t27 * t695; + const double t698 = t253 * t338; + const double t699 = t336 * t698; + const double t700 = t699 * t345; + const double t703 = 0.1e1 / t258 / t66; + const double t704 = t257 * t703; + const double t705 = t276 * t276; + const double t708 = t263 * t39; + const double t709 = 0.1e1 / t708; + const double t711 = t709 * t48 * t52; + const double t714 = t38 * t38; + const double t715 = t714 * sigma_aa; + const double t716 = t30 * t715; + const double t717 = t40 * t270; + const double t720 = 0.1e1 / t42 / t263 / t717; + const double t726 = t724 * t36 * t52; + const double t730 = 0.1e1 / t60 / t40; + const double t734 = 0.451194477459598155e-4 * t262 * t711 - 0.35809085512666520238e-7 * t716 * t720 * t726 + 0.11e2 / 0.27e2 * t56 * t59 * t730; + const double t738 = sigma_aa * t730; + const double t740 = 0.4e2 / 0.9e1 * tau_a * t272 - 0.11e2 / 0.9e1 * t738; + const double t742 = t282 * t285; + const double t746 = 0.1e1 / t284 / t82; + const double t747 = t76 * t746; + const double t749 = t748 * t38; + const double t751 = 0.1e1 / t42 / t717; + const double t752 = t749 * t751; + const double t755 = t79 * t730; + const double t758 = t740 * t83 + 0.2e1 / 0.3e1 * t742 * t287 + 0.2e1 / 0.9e1 * t747 * t752 - 0.11e2 / 0.9e1 * t286 * t755; + const double t759 = piecewise_functor_3( t86, 0.0, t758 ); + const double t760 = c1 * t759; + const double t762 = t291 * t291; + const double t767 = 0.1e1 / t294 / t89; + const double t768 = t767 * t762; + const double t771 = t295 * t759; + const double t773 = -0.2e1 * t295 * t762 * c1 - t760 * t90 - 0.2e1 * t768 * t88 - t771 * t88; + const double t774 = t773 * t92; + const double t775 = t298 * t298; + const double t776 = t775 * t92; + const double t778 = piecewise_functor_3( t94, 0.0, t758 ); + const double t780 = t300 * t300; + const double t784 = t95 * t780; + const double t788 = t97 * t780; + const double t792 = t99 * t780; + const double t796 = t101 * t780; + const double t804 = -0.667e0 * t778 - 0.889111e0 * t780 - 0.889111e0 * t95 * t778 - 0.3978519606294e1 * t784 - 0.1989259803147e1 * t97 * t778 + 0.1741556453388e2 * t788 + 0.580518817796e1 * t99 * t778 - 0.1775996083194e2 * t792 - 0.4439990207985e1 * t101 * t778 + 0.703586824437e1 * t796 + 0.1407173648874e1 * t103 * t778 - 0.973805419524e0 * t103 * t780 - 0.162300903254e0 * t105 * t778; + const double t805 = t316 * t111; + const double t806 = 0.1e1 / t805; + const double t807 = t318 * t318; + const double t812 = piecewise_functor_3( t94, t758, 0.0 ); + const double t818 = t316 * t316; + const double t819 = 0.1e1 / t818; + const double t824 = piecewise_functor_5( t85, t774 + t776, t93, t804, -t114 * t315 * t317 * t812 - 0.2e1 * t114 * t315 * t806 * t807 - t114 * t807 * t817 * t819 ); + const double t826 = t322 * t257; + const double t829 = t703 * t705; + const double t832 = t259 * t734; + const double t834 = t117 * t824 + t260 * t734 + 0.2e1 * t324 * t829 - t324 * t832 - 0.2e1 * t325 * t826 - 0.2e1 * t704 * t705; + const double t835 = t28 * t834; + const double t836 = t835 * t134; + const double t839 = t328 * t338; + const double t840 = t336 * t839; + const double t847 = 0.1e1 / t129 / t843 / t74 / 0.6e1; + const double t848 = t120 * t847; + const double t849 = t336 * t848; + const double t850 = t738 * t133; + const double t851 = t843 * t850; + const double t855 = 0.1e1 / t42 / t270; + const double t857 = t124 * t855 * t133; + const double t858 = t123 * t857; + const double t861 = t3 * t26; + const double t862 = t861 * t120; + const double t863 = 0.1e1 / t60; + const double t865 = t843 * t133; + const double t866 = t525 * t863 * t865; + const double t869 = -0.3e1 / 0.8e1 * t677 * t135 - t680 / 0.4e1 - 0.3e1 / 0.4e1 * t248 * t329 - 0.33783472665808775022e1 * t685 * t345 + t693 - t696 / 0.4e1 - 0.11261157555269591674e1 * t700 - 0.3e1 / 0.8e1 * t27 * t836 - 0.33783472665808775022e1 * t840 * t345 - 0.20270083599485265013e2 * t849 * t851 + 0.39414051443443570859e1 * t340 * t858 + 0.54992529167845016504e2 * t862 * t866; + const double t870 = piecewise_functor_3( t2, 0.0, t869 ); + const double t871 = t145 * t145; + const double t872 = 0.1e1 / t871; + const double t873 = t352 * t352; + const double t876 = t140 * t668; + const double t879 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t241 + 0.2e1 * t876 ); + const double t883 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.9e1 * t872 * t873 + 0.4e1 / 0.3e1 * t145 * t879 ); + const double t884 = t6 * t883; + const double t887 = t356 * t360; + const double t889 = t689 * t223; + const double t890 = t889 * t235; + const double t892 = t148 * t890 / 0.12e2; + const double t894 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t884 * t236 - t887 / 0.4e1 + t892 ); + const double t909 = t372 * t254; + const double t934 = t382 * t360; + const double t939 = t252 * t453; + const double t940 = t939 * t235; + const double t941 = t148 * t940; + const double t947 = t359 * t460; + const double t948 = t458 * t947; + const double t949 = t948 * t467; + const double t957 = t368 * t368; + const double t962 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t241 + 0.2e1 * t669 ); + const double t966 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t663 * t957 + 0.4e1 / 0.3e1 * t24 * t962 ); + const double t967 = t6 * t966; + const double t972 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t967 * t135 - t909 / 0.4e1 + t693 ); + const double t973 = t378 * t378; + const double t978 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t241 + 0.2e1 * t876 ); + const double t982 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.9e1 * t872 * t973 + 0.4e1 / 0.3e1 * t145 * t978 ); + const double t983 = t6 * t982; + const double t989 = t335 * t381; + const double t990 = t989 * t461; + const double t996 = 0.1e1 / t385 / t172; + const double t997 = t257 * t996; + const double t998 = t403 * t403; + const double t1001 = t390 * t150; + const double t1002 = 0.1e1 / t1001; + const double t1004 = t1002 * t48 * t160; + const double t1007 = t149 * t149; + const double t1008 = t1007 * sigma_bb; + const double t1009 = t30 * t1008; + const double t1010 = t151 * t397; + const double t1013 = 0.1e1 / t153 / t390 / t1010; + const double t1016 = t724 * t36 * t160; + const double t1020 = 0.1e1 / t166 / t151; + const double t1024 = 0.451194477459598155e-4 * t389 * t1004 - 0.35809085512666520238e-7 * t1009 * t1013 * t1016 + 0.11e2 / 0.27e2 * t164 * t165 * t1020; + const double t1028 = sigma_bb * t1020; + const double t1030 = 0.4e2 / 0.9e1 * tau_b * t399 - 0.11e2 / 0.9e1 * t1028; + const double t1032 = t409 * t412; + const double t1036 = 0.1e1 / t411 / t186; + const double t1037 = t182 * t1036; + const double t1038 = t748 * t149; + const double t1040 = 0.1e1 / t153 / t1010; + const double t1041 = t1038 * t1040; + const double t1044 = t183 * t1020; + const double t1047 = t1030 * t187 + 0.2e1 / 0.3e1 * t1032 * t414 + 0.2e1 / 0.9e1 * t1037 * t1041 - 0.11e2 / 0.9e1 * t413 * t1044; + const double t1048 = piecewise_functor_3( t190, 0.0, t1047 ); + const double t1049 = c1 * t1048; + const double t1051 = t418 * t418; + const double t1056 = 0.1e1 / t421 / t193; + const double t1057 = t1056 * t1051; + const double t1060 = t422 * t1048; + const double t1062 = -0.2e1 * t1051 * t422 * c1 - t1049 * t194 - 0.2e1 * t1057 * t192 - t1060 * t192; + const double t1063 = t1062 * t196; + const double t1064 = t425 * t425; + const double t1065 = t1064 * t196; + const double t1067 = piecewise_functor_3( t198, 0.0, t1047 ); + const double t1069 = t427 * t427; + const double t1073 = t199 * t1069; + const double t1077 = t201 * t1069; + const double t1081 = t203 * t1069; + const double t1085 = t205 * t1069; + const double t1093 = -0.667e0 * t1067 - 0.889111e0 * t1069 - 0.889111e0 * t199 * t1067 - 0.3978519606294e1 * t1073 - 0.1989259803147e1 * t201 * t1067 + 0.1741556453388e2 * t1077 + 0.580518817796e1 * t203 * t1067 - 0.1775996083194e2 * t1081 - 0.4439990207985e1 * t205 * t1067 + 0.703586824437e1 * t1085 + 0.1407173648874e1 * t207 * t1067 - 0.973805419524e0 * t207 * t1069 - 0.162300903254e0 * t209 * t1067; + const double t1094 = t442 * t215; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t444 * t444; + const double t1101 = piecewise_functor_3( t198, t1047, 0.0 ); + const double t1105 = t442 * t442; + const double t1106 = 0.1e1 / t1105; + const double t1111 = piecewise_functor_5( t189, t1063 + t1065, t197, t1093, -0.2e1 * t1095 * t1096 * t218 * t315 - t1096 * t1106 * t218 * t817 - t1101 * t218 * t315 * t443 ); + const double t1113 = t448 * t257; + const double t1116 = t996 * t998; + const double t1119 = t386 * t1024; + const double t1121 = t1024 * t387 + t1111 * t221 - 0.2e1 * t1113 * t451 + 0.2e1 * t1116 * t450 - t1119 * t450 - 0.2e1 * t997 * t998; + const double t1122 = t28 * t1121; + const double t1123 = t1122 * t235; + const double t1126 = t454 * t460; + const double t1127 = t458 * t1126; + const double t1133 = 0.1e1 / t230 / t843 / t180 / 0.6e1; + const double t1134 = t224 * t1133; + const double t1135 = t458 * t1134; + const double t1136 = t1028 * t234; + const double t1137 = t843 * t1136; + const double t1141 = 0.1e1 / t153 / t397; + const double t1143 = t225 * t1141 * t234; + const double t1144 = t123 * t1143; + const double t1147 = t3 * t147; + const double t1148 = t1147 * t224; + const double t1149 = 0.1e1 / t166; + const double t1151 = t843 * t234; + const double t1152 = t584 * t1149 * t1151; + const double t1155 = -0.3e1 / 0.8e1 * t983 * t236 - t934 / 0.4e1 - 0.3e1 / 0.4e1 * t382 * t455 - 0.33783472665808775022e1 * t990 * t467 + t892 - t941 / 0.4e1 - 0.11261157555269591674e1 * t949 - 0.3e1 / 0.8e1 * t148 * t1123 - 0.33783472665808775022e1 * t1127 * t467 - 0.20270083599485265013e2 * t1135 * t1137 + 0.39414051443443570859e1 * t462 * t1144 + 0.54992529167845016504e2 * t1148 * t1152; + const double t1156 = piecewise_functor_3( t139, 0.0, t1155 ); + const double t1161 = t252 * t520; + const double t1162 = t1161 * t134; + const double t1164 = t27 * t1162 / 0.8e1; + const double t1165 = t483 * t276; + const double t1170 = t30 * t714; + const double t1171 = t40 * t39; + const double t1172 = t263 * t1171; + const double t1174 = 0.1e1 / t42 / t1172; + const double t1178 = t58 * t272; + const double t1181 = -0.15469524941471936744e-4 * t474 * t267 + 0.1342840706724994509e-7 * t1170 * t1174 * t726 - t56 * t1178 / 0.9e1; + const double t1183 = t272 * t83; + const double t1186 = 0.1e1 / t42 / t1171; + const double t1187 = t1186 * t285; + const double t1188 = t1187 * t79; + const double t1192 = t748 * t1186; + const double t1193 = t1192 * sigma_aa; + const double t1196 = eta * t272; + const double t1199 = t1183 / 0.3e1 - t1188 / 0.24e2 - t742 * t486 / 0.8e1 - t747 * t1193 / 0.12e2 + t286 * t1196 / 0.3e1; + const double t1200 = piecewise_functor_3( t86, 0.0, t1199 ); + const double t1201 = c1 * t1200; + const double t1205 = t767 * t490; + const double t1206 = t1205 * t291; + const double t1209 = t295 * t1200; + const double t1211 = -t1201 * t90 - 0.2e1 * t1206 * t88 - t1209 * t88 - 0.2e1 * t296 * t491; + const double t1212 = t1211 * t92; + const double t1213 = t495 * t298; + const double t1216 = piecewise_functor_3( t94, 0.0, t1199 ); + const double t1218 = t300 * t497; + const double t1220 = t95 * t1216; + const double t1224 = t97 * t1216; + const double t1228 = t99 * t1216; + const double t1232 = t101 * t1216; + const double t1236 = t103 * t1216; + const double t1242 = -0.667e0 * t1216 - 0.889111e0 * t1218 - 0.889111e0 * t1220 - 0.3978519606294e1 * t499 * t300 - 0.1989259803147e1 * t1224 + 0.1741556453388e2 * t501 * t300 + 0.580518817796e1 * t1228 - 0.1775996083194e2 * t503 * t300 - 0.4439990207985e1 * t1232 + 0.703586824437e1 * t505 * t300 + 0.1407173648874e1 * t1236 - 0.973805419524e0 * t507 * t300 - 0.162300903254e0 * t105 * t1216; + const double t1243 = t315 * t806; + const double t1244 = t512 * t114; + const double t1245 = t1244 * t318; + const double t1248 = piecewise_functor_3( t94, t1199, 0.0 ); + const double t1252 = t817 * t819; + const double t1255 = piecewise_functor_5( t85, t1213 * t92 + t1212, t93, t1242, -t114 * t1248 * t315 * t317 - 0.2e1 * t1243 * t1245 - t1245 * t1252 ); + const double t1257 = t516 * t257; + const double t1260 = t703 * t483; + const double t1261 = t1260 * t276; + const double t1264 = t259 * t1181; + const double t1266 = -0.2e1 * t1165 * t704 + t117 * t1255 + t1181 * t260 - t1257 * t325 + 0.2e1 * t1261 * t324 - t1264 * t324 - t518 * t826; + const double t1267 = t28 * t1266; + const double t1268 = t1267 * t134; + const double t1271 = t521 * t338; + const double t1272 = t336 * t1271; + const double t1278 = 0.21114670416130484389e0 * t699 * t528; + const double t1281 = t336 * t120; + const double t1282 = t847 * t31; + const double t1283 = t1178 * t133; + const double t1284 = t1282 * t1283; + const double t1288 = t525 * t342 * t133; + const double t1289 = t123 * t1288; + const double t1292 = t124 * sigma_aa; + const double t1293 = 0.1e1 / t1292; + const double t1295 = t1293 * t42 * t865; + const double t1299 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t248 * t522 - t1164 - 0.3e1 / 0.8e1 * t27 * t1268 - 0.16891736332904387511e1 * t1272 * t345 + 0.63344011248391453166e0 * t685 * t528 + t1278 + 0.63344011248391453166e0 * t840 * t528 + 0.76012813498069743799e1 * t1281 * t1284 - 0.84458681664521937554e0 * t340 * t1289 - 0.20622198437941881189e2 * t862 * t1295 ); + const double t1303 = t252 * t579; + const double t1304 = t1303 * t235; + const double t1306 = t148 * t1304 / 0.8e1; + const double t1310 = 0.21114670416130484389e0 * t948 * t587; + const double t1323 = t542 * t403; + const double t1328 = t30 * t1007; + const double t1329 = t151 * t150; + const double t1330 = t390 * t1329; + const double t1332 = 0.1e1 / t153 / t1330; + const double t1336 = t58 * t399; + const double t1339 = -0.15469524941471936744e-4 * t533 * t394 + 0.1342840706724994509e-7 * t1328 * t1332 * t1016 - t164 * t1336 / 0.9e1; + const double t1341 = t399 * t187; + const double t1344 = 0.1e1 / t153 / t1329; + const double t1345 = t1344 * t412; + const double t1346 = t1345 * t183; + const double t1350 = t748 * t1344; + const double t1351 = t1350 * sigma_bb; + const double t1354 = eta * t399; + const double t1357 = t1341 / 0.3e1 - t1346 / 0.24e2 - t1032 * t545 / 0.8e1 - t1037 * t1351 / 0.12e2 + t413 * t1354 / 0.3e1; + const double t1358 = piecewise_functor_3( t190, 0.0, t1357 ); + const double t1359 = c1 * t1358; + const double t1363 = t1056 * t549; + const double t1364 = t1363 * t418; + const double t1367 = t422 * t1358; + const double t1369 = -t1359 * t194 - 0.2e1 * t1364 * t192 - t1367 * t192 - 0.2e1 * t423 * t550; + const double t1370 = t1369 * t196; + const double t1371 = t554 * t425; + const double t1374 = piecewise_functor_3( t198, 0.0, t1357 ); + const double t1376 = t427 * t556; + const double t1378 = t199 * t1374; + const double t1382 = t201 * t1374; + const double t1386 = t203 * t1374; + const double t1390 = t205 * t1374; + const double t1394 = t207 * t1374; + const double t1400 = -0.667e0 * t1374 - 0.889111e0 * t1376 - 0.889111e0 * t1378 - 0.3978519606294e1 * t558 * t427 - 0.1989259803147e1 * t1382 + 0.1741556453388e2 * t560 * t427 + 0.580518817796e1 * t1386 - 0.1775996083194e2 * t562 * t427 - 0.4439990207985e1 * t1390 + 0.703586824437e1 * t564 * t427 + 0.1407173648874e1 * t1394 - 0.973805419524e0 * t566 * t427 - 0.162300903254e0 * t209 * t1374; + const double t1401 = t315 * t1095; + const double t1402 = t571 * t218; + const double t1403 = t1402 * t444; + const double t1406 = piecewise_functor_3( t198, t1357, 0.0 ); + const double t1410 = t817 * t1106; + const double t1413 = piecewise_functor_5( t189, t1371 * t196 + t1370, t197, t1400, -t1406 * t218 * t315 * t443 - 0.2e1 * t1401 * t1403 - t1403 * t1410 ); + const double t1415 = t575 * t257; + const double t1418 = t996 * t542; + const double t1419 = t1418 * t403; + const double t1422 = t386 * t1339; + const double t1424 = -t1113 * t577 - 0.2e1 * t1323 * t997 + t1339 * t387 + t1413 * t221 - t1415 * t451 + 0.2e1 * t1419 * t450 - t1422 * t450; + const double t1425 = t28 * t1424; + const double t1426 = t1425 * t235; + const double t1429 = t580 * t460; + const double t1430 = t458 * t1429; + const double t1437 = t458 * t224; + const double t1438 = t1133 * t31; + const double t1439 = t1336 * t234; + const double t1440 = t1438 * t1439; + const double t1444 = t584 * t464 * t234; + const double t1445 = t123 * t1444; + const double t1448 = t225 * sigma_bb; + const double t1449 = 0.1e1 / t1448; + const double t1451 = t1449 * t153 * t1151; + const double t1455 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t382 * t581 - t1306 - 0.3e1 / 0.8e1 * t148 * t1426 - 0.16891736332904387511e1 * t1430 * t467 + 0.63344011248391453166e0 * t990 * t587 + t1310 + 0.63344011248391453166e0 * t1127 * t587 + 0.76012813498069743799e1 * t1437 * t1440 - 0.84458681664521937554e0 * t462 * t1445 - 0.20622198437941881189e2 * t1148 * t1451 ); + const double t1459 = t252 * t619; + const double t1460 = t1459 * t621; + const double t1462 = t27 * t1460 / 0.8e1; + const double t1464 = t44 * t285; + const double t1467 = -0.5e1 / 0.3e1 * t485 + t1464 * t79 / 0.3e1; + const double t1468 = piecewise_functor_3( t86, 0.0, t1467 ); + const double t1469 = c1 * t1468; + const double t1473 = t767 * t593; + const double t1474 = t1473 * t291; + const double t1477 = t295 * t1468; + const double t1479 = -t1469 * t90 - 0.2e1 * t1474 * t88 - t1477 * t88 - 0.2e1 * t296 * t594; + const double t1480 = t1479 * t92; + const double t1481 = t598 * t298; + const double t1484 = piecewise_functor_3( t94, 0.0, t1467 ); + const double t1486 = t300 * t600; + const double t1488 = t95 * t1484; + const double t1492 = t97 * t1484; + const double t1496 = t99 * t1484; + const double t1500 = t101 * t1484; + const double t1504 = t103 * t1484; + const double t1510 = -0.667e0 * t1484 - 0.889111e0 * t1486 - 0.889111e0 * t1488 - 0.3978519606294e1 * t602 * t300 - 0.1989259803147e1 * t1492 + 0.1741556453388e2 * t604 * t300 + 0.580518817796e1 * t1496 - 0.1775996083194e2 * t606 * t300 - 0.4439990207985e1 * t1500 + 0.703586824437e1 * t608 * t300 + 0.1407173648874e1 * t1504 - 0.973805419524e0 * t610 * t300 - 0.162300903254e0 * t105 * t1484; + const double t1511 = t615 * t114; + const double t1512 = t1511 * t318; + const double t1515 = piecewise_functor_3( t94, t1467, 0.0 ); + const double t1521 = piecewise_functor_5( t85, t1481 * t92 + t1480, t93, t1510, -t114 * t1515 * t315 * t317 - 0.2e1 * t1243 * t1512 - t1252 * t1512 ); + const double t1522 = t28 * t1521; + const double t1523 = t1522 * t621; + const double t1526 = t26 * t28; + const double t1527 = t6 * t1526; + const double t1528 = t619 * t257; + const double t1529 = t325 * t134; + const double t1530 = t1528 * t1529; + const double t1533 = t620 * t117; + const double t1534 = t336 * t1533; + const double t1536 = t338 * t32 * t122; + const double t1537 = t1536 * t344; + const double t1541 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t248 * t622 - t1462 - 0.3e1 / 0.8e1 * t27 * t1523 + 0.3e1 / 0.8e1 * t1527 * t1530 - 0.16891736332904387511e1 * t1534 * t1537 ); + const double t1545 = t252 * t653; + const double t1546 = t1545 * t655; + const double t1548 = t148 * t1546 / 0.8e1; + const double t1560 = t155 * t412; + const double t1563 = -0.5e1 / 0.3e1 * t544 + t1560 * t183 / 0.3e1; + const double t1564 = piecewise_functor_3( t190, 0.0, t1563 ); + const double t1565 = c1 * t1564; + const double t1569 = t1056 * t627; + const double t1570 = t1569 * t418; + const double t1573 = t422 * t1564; + const double t1575 = -t1565 * t194 - 0.2e1 * t1570 * t192 - t1573 * t192 - 0.2e1 * t423 * t628; + const double t1576 = t1575 * t196; + const double t1577 = t632 * t425; + const double t1580 = piecewise_functor_3( t198, 0.0, t1563 ); + const double t1582 = t427 * t634; + const double t1584 = t199 * t1580; + const double t1588 = t201 * t1580; + const double t1592 = t203 * t1580; + const double t1596 = t205 * t1580; + const double t1600 = t207 * t1580; + const double t1606 = -0.667e0 * t1580 - 0.889111e0 * t1582 - 0.889111e0 * t1584 - 0.3978519606294e1 * t636 * t427 - 0.1989259803147e1 * t1588 + 0.1741556453388e2 * t638 * t427 + 0.580518817796e1 * t1592 - 0.1775996083194e2 * t640 * t427 - 0.4439990207985e1 * t1596 + 0.703586824437e1 * t642 * t427 + 0.1407173648874e1 * t1600 - 0.973805419524e0 * t644 * t427 - 0.162300903254e0 * t209 * t1580; + const double t1607 = t649 * t218; + const double t1608 = t1607 * t444; + const double t1611 = piecewise_functor_3( t198, t1563, 0.0 ); + const double t1617 = piecewise_functor_5( t189, t1577 * t196 + t1576, t197, t1606, -t1611 * t218 * t315 * t443 - 0.2e1 * t1401 * t1608 - t1410 * t1608 ); + const double t1618 = t28 * t1617; + const double t1619 = t1618 * t655; + const double t1622 = t147 * t28; + const double t1623 = t6 * t1622; + const double t1624 = t653 * t257; + const double t1625 = t451 * t235; + const double t1626 = t1624 * t1625; + const double t1629 = t654 * t221; + const double t1630 = t458 * t1629; + const double t1632 = t460 * t32 * t122; + const double t1633 = t1632 * t466; + const double t1637 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t382 * t656 - t1548 - 0.3e1 / 0.8e1 * t148 * t1619 + 0.3e1 / 0.8e1 * t1623 * t1626 - 0.16891736332904387511e1 * t1630 * t1633 ); + const double t1639 = t483 * t483; + const double t1642 = t30 * sigma_aa; + const double t1645 = t263 * t41; + const double t1647 = 0.1e1 / t42 / t1645; + const double t1651 = 0.43508038897889822091e-5 * t1642 * t477 - 0.50356526502187294087e-8 * t262 * t1647 * t726; + const double t1653 = t1464 * eta; + const double t1654 = t748 * t44; + const double t1657 = t747 * t1654 / 0.32e2 + t1653 / 0.32e2; + const double t1658 = piecewise_functor_3( t86, 0.0, t1657 ); + const double t1659 = c1 * t1658; + const double t1661 = t490 * t490; + const double t1662 = c1 * t1661; + const double t1665 = t767 * t1661; + const double t1668 = t295 * t1658; + const double t1670 = -t1659 * t90 - 0.2e1 * t1662 * t295 - 0.2e1 * t1665 * t88 - t1668 * t88; + const double t1672 = t495 * t495; + const double t1673 = t1672 * t92; + const double t1675 = piecewise_functor_3( t94, 0.0, t1657 ); + const double t1677 = t497 * t497; + const double t1679 = t95 * t1675; + const double t1681 = t95 * t1677; + const double t1683 = t97 * t1675; + const double t1685 = t97 * t1677; + const double t1687 = t99 * t1675; + const double t1689 = t99 * t1677; + const double t1691 = t101 * t1675; + const double t1693 = t101 * t1677; + const double t1695 = t103 * t1675; + const double t1701 = -0.667e0 * t1675 - 0.889111e0 * t1677 - 0.889111e0 * t1679 - 0.3978519606294e1 * t1681 - 0.1989259803147e1 * t1683 + 0.1741556453388e2 * t1685 + 0.580518817796e1 * t1687 - 0.1775996083194e2 * t1689 - 0.4439990207985e1 * t1691 + 0.703586824437e1 * t1693 + 0.1407173648874e1 * t1695 - 0.973805419524e0 * t103 * t1677 - 0.162300903254e0 * t105 * t1675; + const double t1702 = t512 * t512; + const double t1707 = piecewise_functor_3( t94, t1657, 0.0 ); + const double t1715 = piecewise_functor_5( t85, t1670 * t92 + t1673, t93, t1701, -0.2e1 * t114 * t1702 * t315 * t806 - t114 * t1702 * t817 * t819 - t114 * t1707 * t315 * t317 ); + const double t1719 = t703 * t1639; + const double t1722 = t259 * t1651; + const double t1724 = t117 * t1715 - 0.2e1 * t1257 * t518 - 0.2e1 * t1639 * t704 + t1651 * t260 + 0.2e1 * t1719 * t324 - t1722 * t324; + const double t1725 = t28 * t1724; + const double t1726 = t1725 * t134; + const double t1731 = 0.1e1 / sigma_aa; + const double t1733 = t1731 * t62 * t133; + const double t1734 = t843 * t1733; + const double t1738 = t1293 * t126 * t133; + const double t1739 = t123 * t1738; + const double t1743 = 0.1e1 / t124 / t38; + const double t1745 = t1743 * t125 * t865; + const double t1749 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1726 + 0.12668802249678290633e1 * t1272 * t528 - 0.28504805061776153925e1 * t849 * t1734 - 0.31672005624195726583e0 * t340 * t1739 + 0.77333244142282054459e1 * t862 * t1745 ); + const double t1750 = t542 * t542; + const double t1753 = t30 * sigma_bb; + const double t1756 = t390 * t152; + const double t1758 = 0.1e1 / t153 / t1756; + const double t1762 = 0.43508038897889822091e-5 * t1753 * t536 - 0.50356526502187294087e-8 * t389 * t1758 * t1016; + const double t1764 = t1560 * eta; + const double t1765 = t748 * t155; + const double t1768 = t1037 * t1765 / 0.32e2 + t1764 / 0.32e2; + const double t1769 = piecewise_functor_3( t190, 0.0, t1768 ); + const double t1770 = c1 * t1769; + const double t1772 = t549 * t549; + const double t1773 = c1 * t1772; + const double t1776 = t1056 * t1772; + const double t1779 = t422 * t1769; + const double t1781 = -t1770 * t194 - 0.2e1 * t1773 * t422 - 0.2e1 * t1776 * t192 - t1779 * t192; + const double t1783 = t554 * t554; + const double t1784 = t1783 * t196; + const double t1786 = piecewise_functor_3( t198, 0.0, t1768 ); + const double t1788 = t556 * t556; + const double t1790 = t199 * t1786; + const double t1792 = t199 * t1788; + const double t1794 = t201 * t1786; + const double t1796 = t201 * t1788; + const double t1798 = t203 * t1786; + const double t1800 = t203 * t1788; + const double t1802 = t205 * t1786; + const double t1804 = t205 * t1788; + const double t1806 = t207 * t1786; + const double t1812 = -0.667e0 * t1786 - 0.889111e0 * t1788 - 0.889111e0 * t1790 - 0.3978519606294e1 * t1792 - 0.1989259803147e1 * t1794 + 0.1741556453388e2 * t1796 + 0.580518817796e1 * t1798 - 0.1775996083194e2 * t1800 - 0.4439990207985e1 * t1802 + 0.703586824437e1 * t1804 + 0.1407173648874e1 * t1806 - 0.973805419524e0 * t207 * t1788 - 0.162300903254e0 * t209 * t1786; + const double t1813 = t571 * t571; + const double t1818 = piecewise_functor_3( t198, t1768, 0.0 ); + const double t1826 = piecewise_functor_5( t189, t1781 * t196 + t1784, t197, t1812, -0.2e1 * t1095 * t1813 * t218 * t315 - t1106 * t1813 * t218 * t817 - t1818 * t218 * t315 * t443 ); + const double t1830 = t996 * t1750; + const double t1833 = t386 * t1762; + const double t1835 = -0.2e1 * t1415 * t577 - 0.2e1 * t1750 * t997 + t1762 * t387 + t1826 * t221 + 0.2e1 * t1830 * t450 - t1833 * t450; + const double t1836 = t28 * t1835; + const double t1837 = t1836 * t235; + const double t1842 = 0.1e1 / sigma_bb; + const double t1844 = t1842 * t168 * t234; + const double t1845 = t843 * t1844; + const double t1849 = t1449 * t227 * t234; + const double t1850 = t123 * t1849; + const double t1854 = 0.1e1 / t225 / t149; + const double t1856 = t1854 * t226 * t1151; + const double t1860 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t1837 + 0.12668802249678290633e1 * t1430 * t587 - 0.28504805061776153925e1 * t1135 * t1845 - 0.31672005624195726583e0 * t462 * t1850 + 0.77333244142282054459e1 * t1148 * t1856 ); + const double t1862 = 0.1e1 / t42 / t40; + const double t1865 = t1862 * t285 * eta / 0.8e1; + const double t1866 = piecewise_functor_3( t86, 0.0, -t1865 ); + const double t1867 = c1 * t1866; + const double t1871 = t1473 * t490; + const double t1874 = t295 * t1866; + const double t1876 = -t1867 * t90 - 0.2e1 * t1871 * t88 - t1874 * t88 - 0.2e1 * t493 * t594; + const double t1877 = t1876 * t92; + const double t1878 = t598 * t495; + const double t1881 = piecewise_functor_3( t94, 0.0, -t1865 ); + const double t1883 = t497 * t600; + const double t1885 = t95 * t1881; + const double t1889 = t97 * t1881; + const double t1893 = t99 * t1881; + const double t1897 = t101 * t1881; + const double t1901 = t103 * t1881; + const double t1907 = -0.667e0 * t1881 - 0.889111e0 * t1883 - 0.889111e0 * t1885 - 0.3978519606294e1 * t602 * t497 - 0.1989259803147e1 * t1889 + 0.1741556453388e2 * t604 * t497 + 0.580518817796e1 * t1893 - 0.1775996083194e2 * t606 * t497 - 0.4439990207985e1 * t1897 + 0.703586824437e1 * t608 * t497 + 0.1407173648874e1 * t1901 - 0.973805419524e0 * t610 * t497 - 0.162300903254e0 * t105 * t1881; + const double t1908 = t1511 * t512; + const double t1911 = piecewise_functor_3( t94, -t1865, 0.0 ); + const double t1917 = piecewise_functor_5( t85, t1878 * t92 + t1877, t93, t1907, -t114 * t1911 * t315 * t317 - 0.2e1 * t1243 * t1908 - t1252 * t1908 ); + const double t1918 = t28 * t1917; + const double t1919 = t1918 * t621; + const double t1922 = t518 * t134; + const double t1923 = t1528 * t1922; + const double t1926 = t1536 * t527; + const double t1930 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1919 + 0.3e1 / 0.8e1 * t1527 * t1923 + 0.63344011248391453166e0 * t1534 * t1926 ); + const double t1932 = 0.1e1 / t153 / t151; + const double t1935 = t1932 * t412 * eta / 0.8e1; + const double t1936 = piecewise_functor_3( t190, 0.0, -t1935 ); + const double t1937 = c1 * t1936; + const double t1941 = t1569 * t549; + const double t1944 = t422 * t1936; + const double t1946 = -0.2e1 * t192 * t1941 - t192 * t1944 - t1937 * t194 - 0.2e1 * t552 * t628; + const double t1947 = t1946 * t196; + const double t1948 = t632 * t554; + const double t1951 = piecewise_functor_3( t198, 0.0, -t1935 ); + const double t1953 = t556 * t634; + const double t1955 = t199 * t1951; + const double t1959 = t201 * t1951; + const double t1963 = t203 * t1951; + const double t1967 = t205 * t1951; + const double t1971 = t207 * t1951; + const double t1977 = -0.667e0 * t1951 - 0.889111e0 * t1953 - 0.889111e0 * t1955 - 0.3978519606294e1 * t636 * t556 - 0.1989259803147e1 * t1959 + 0.1741556453388e2 * t638 * t556 + 0.580518817796e1 * t1963 - 0.1775996083194e2 * t640 * t556 - 0.4439990207985e1 * t1967 + 0.703586824437e1 * t642 * t556 + 0.1407173648874e1 * t1971 - 0.973805419524e0 * t644 * t556 - 0.162300903254e0 * t209 * t1951; + const double t1978 = t1607 * t571; + const double t1981 = piecewise_functor_3( t198, -t1935, 0.0 ); + const double t1987 = piecewise_functor_5( t189, t1948 * t196 + t1947, t197, t1977, -t1981 * t218 * t315 * t443 - 0.2e1 * t1401 * t1978 - t1410 * t1978 ); + const double t1988 = t28 * t1987; + const double t1989 = t1988 * t655; + const double t1992 = t577 * t235; + const double t1993 = t1624 * t1992; + const double t1996 = t1632 * t586; + const double t2000 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t1989 + 0.3e1 / 0.8e1 * t1623 * t1993 + 0.63344011248391453166e0 * t1630 * t1996 ); + const double t2001 = piecewise_functor_3( t86, 0.0, 0.0 ); + const double t2002 = c1 * t2001; + const double t2003 = t2002 * t90; + const double t2004 = t593 * t593; + const double t2005 = c1 * t2004; + const double t2008 = t767 * t2004; + const double t2012 = t88 * t295 * t2001; + const double t2013 = -0.2e1 * t2005 * t295 - 0.2e1 * t2008 * t88 - t2003 - t2012; + const double t2015 = t598 * t598; + const double t2016 = t2015 * t92; + const double t2018 = piecewise_functor_3( t94, 0.0, 0.0 ); + const double t2019 = 0.667e0 * t2018; + const double t2020 = t600 * t600; + const double t2022 = t95 * t2018; + const double t2023 = 0.889111e0 * t2022; + const double t2024 = t95 * t2020; + const double t2026 = t97 * t2018; + const double t2027 = 0.1989259803147e1 * t2026; + const double t2028 = t97 * t2020; + const double t2030 = t99 * t2018; + const double t2031 = 0.580518817796e1 * t2030; + const double t2032 = t99 * t2020; + const double t2034 = t101 * t2018; + const double t2035 = 0.4439990207985e1 * t2034; + const double t2036 = t101 * t2020; + const double t2038 = t103 * t2018; + const double t2039 = 0.1407173648874e1 * t2038; + const double t2043 = 0.162300903254e0 * t105 * t2018; + const double t2044 = -t2019 - 0.889111e0 * t2020 - t2023 - 0.3978519606294e1 * t2024 - t2027 + 0.1741556453388e2 * t2028 + t2031 - 0.1775996083194e2 * t2032 - t2035 + 0.703586824437e1 * t2036 + t2039 - 0.973805419524e0 * t103 * t2020 - t2043; + const double t2045 = t615 * t615; + const double t2052 = t315 * t317 * t2018 * t114; + const double t2057 = piecewise_functor_5( t85, t2013 * t92 + t2016, t93, t2044, -0.2e1 * t114 * t2045 * t315 * t806 - t114 * t2045 * t817 * t819 - t2052 ); + const double t2058 = t28 * t2057; + const double t2059 = t2058 * t621; + const double t2062 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t2059 ); + const double t2063 = piecewise_functor_3( t190, 0.0, 0.0 ); + const double t2064 = c1 * t2063; + const double t2065 = t2064 * t194; + const double t2066 = t627 * t627; + const double t2067 = c1 * t2066; + const double t2070 = t1056 * t2066; + const double t2074 = t192 * t422 * t2063; + const double t2075 = -0.2e1 * t192 * t2070 - 0.2e1 * t2067 * t422 - t2065 - t2074; + const double t2077 = t632 * t632; + const double t2078 = t2077 * t196; + const double t2080 = piecewise_functor_3( t198, 0.0, 0.0 ); + const double t2081 = 0.667e0 * t2080; + const double t2082 = t634 * t634; + const double t2084 = t199 * t2080; + const double t2085 = 0.889111e0 * t2084; + const double t2086 = t199 * t2082; + const double t2088 = t201 * t2080; + const double t2089 = 0.1989259803147e1 * t2088; + const double t2090 = t201 * t2082; + const double t2092 = t203 * t2080; + const double t2093 = 0.580518817796e1 * t2092; + const double t2094 = t203 * t2082; + const double t2096 = t205 * t2080; + const double t2097 = 0.4439990207985e1 * t2096; + const double t2098 = t205 * t2082; + const double t2100 = t207 * t2080; + const double t2101 = 0.1407173648874e1 * t2100; + const double t2105 = 0.162300903254e0 * t209 * t2080; + const double t2106 = -t2081 - 0.889111e0 * t2082 - t2085 - 0.3978519606294e1 * t2086 - t2089 + 0.1741556453388e2 * t2090 + t2093 - 0.1775996083194e2 * t2094 - t2097 + 0.703586824437e1 * t2098 + t2101 - 0.973805419524e0 * t207 * t2082 - t2105; + const double t2107 = t649 * t649; + const double t2114 = t315 * t443 * t2080 * t218; + const double t2119 = piecewise_functor_5( t189, t196 * t2075 + t2078, t197, t2106, -0.2e1 * t1095 * t2107 * t218 * t315 - t1106 * t2107 * t218 * t817 - t2114 ); + const double t2120 = t28 * t2119; + const double t2121 = t2120 * t655; + const double t2124 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t2121 ); + + + v2rho2_aa = 0.2e1 * t349 + 0.2e1 * t364 + t7 * ( t870 + t894 ); + v2rho2_bb = 0.2e1 * t376 + 0.2e1 * t471 + t7 * ( t972 + t1156 ); + v2rhosigma_a_aa = t1299 * t7 + t532; + v2rhosigma_b_bb = t1455 * t7 + t591; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1541 * t7 + t625; + v2rhotau_b_b = t1637 * t7 + t659; + v2sigma2_aa_aa = t7 * t1749; + v2sigma2_bb_bb = t7 * t1860; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1930; + v2sigmatau_bb_b = t7 * t2000; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2062; + v2tau2_bb = t7 * t2124; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; - eps = t138 + t239; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t31 = constants::m_cbrt_6; @@ -530,6 +2953,13 @@ struct kernel_traits< BuiltinR2SCAN_X > : constexpr double t123 = t32 * t122; constexpr double t257 = k1 * k1; constexpr double t315 = d * c2; + constexpr double t722 = t47 * t47; + constexpr double t723 = 0.1e1 / t722; + constexpr double t724 = t723 * t32; + constexpr double t748 = eta * eta; + constexpr double t816 = c2 * c2; + constexpr double t817 = d * t816; + constexpr double t843 = t31 * t58; const double t2 = rho_a <= dens_tol; @@ -581,13 +3011,13 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t92 = safe_math::exp( -t88 * t90 ); const double t93 = t84 <= 0.25e1; const double t94 = 0.25e1 < t84; - const double t95 = piecewise_functor_3( t94, 0.25e1, t84 ); + const double t95 = piecewise_functor_3( t94, 2.5, t84 ); const double t97 = t95 * t95; const double t99 = t97 * t95; const double t101 = t97 * t97; const double t103 = t101 * t95; const double t105 = t101 * t97; - const double t110 = piecewise_functor_3( t94, t84, 0.25e1 ); + const double t110 = piecewise_functor_3( t94, t84, 2.5 ); const double t111 = 0.1e1 - t110; const double t114 = safe_math::exp( c2 / t111 ); const double t116 = piecewise_functor_5( t85, t92, t93, 0.1e1 - 0.667e0 * t95 - 0.4445555e0 * t97 - 0.663086601049e0 * t99 + 0.145129704449e1 * t101 - 0.887998041597e0 * t103 + 0.234528941479e0 * t105 - 0.23185843322e-1 * t101 * t99, -d * t114 ); @@ -644,13 +3074,13 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t196 = safe_math::exp( -t192 * t194 ); const double t197 = t188 <= 0.25e1; const double t198 = 0.25e1 < t188; - const double t199 = piecewise_functor_3( t198, 0.25e1, t188 ); + const double t199 = piecewise_functor_3( t198, 2.5, t188 ); const double t201 = t199 * t199; const double t203 = t201 * t199; const double t205 = t201 * t201; const double t207 = t205 * t199; const double t209 = t205 * t201; - const double t214 = piecewise_functor_3( t198, t188, 0.25e1 ); + const double t214 = piecewise_functor_3( t198, t188, 2.5 ); const double t215 = 0.1e1 - t214; const double t218 = safe_math::exp( c2 / t215 ); const double t220 = piecewise_functor_5( t189, t196, t197, 0.1e1 - 0.667e0 * t199 - 0.4445555e0 * t201 - 0.663086601049e0 * t203 + 0.145129704449e1 * t205 - 0.887998041597e0 * t207 + 0.234528941479e0 * t209 - 0.23185843322e-1 * t205 * t203, -d * t218 ); @@ -882,9 +3312,609 @@ struct kernel_traits< BuiltinR2SCAN_X > : const double t655 = t221 * t235; const double t656 = t654 * t655; const double t659 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t656 ); + const double t662 = t24 * t24; + const double t663 = 0.1e1 / t662; + const double t664 = t244 * t244; + const double t667 = t240 * t7; + const double t668 = 0.1e1 / t667; + const double t669 = t17 * t668; + const double t672 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t241 + 0.2e1 * t669 ); + const double t676 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t663 * t664 + 0.4e1 / 0.3e1 * t24 * t672 ); + const double t677 = t6 * t676; + const double t680 = t248 * t254; + const double t684 = t335 * t247; + const double t685 = t684 * t339; + const double t689 = 0.1e1 / t251 / t7; + const double t690 = t689 * t119; + const double t691 = t690 * t134; + const double t693 = t27 * t691 / 0.12e2; + const double t694 = t252 * t327; + const double t695 = t694 * t134; + const double t696 = t27 * t695; + const double t698 = t253 * t338; + const double t699 = t336 * t698; + const double t700 = t699 * t345; + const double t703 = 0.1e1 / t258 / t66; + const double t704 = t257 * t703; + const double t705 = t276 * t276; + const double t708 = t263 * t39; + const double t709 = 0.1e1 / t708; + const double t711 = t709 * t48 * t52; + const double t714 = t38 * t38; + const double t715 = t714 * sigma_aa; + const double t716 = t30 * t715; + const double t717 = t40 * t270; + const double t720 = 0.1e1 / t42 / t263 / t717; + const double t726 = t724 * t36 * t52; + const double t730 = 0.1e1 / t60 / t40; + const double t734 = 0.451194477459598155e-4 * t262 * t711 - 0.35809085512666520238e-7 * t716 * t720 * t726 + 0.11e2 / 0.27e2 * t56 * t59 * t730; + const double t738 = sigma_aa * t730; + const double t740 = 0.4e2 / 0.9e1 * tau_a * t272 - 0.11e2 / 0.9e1 * t738; + const double t742 = t282 * t285; + const double t746 = 0.1e1 / t284 / t82; + const double t747 = t76 * t746; + const double t749 = t748 * t38; + const double t751 = 0.1e1 / t42 / t717; + const double t752 = t749 * t751; + const double t755 = t79 * t730; + const double t758 = t740 * t83 + 0.2e1 / 0.3e1 * t742 * t287 + 0.2e1 / 0.9e1 * t747 * t752 - 0.11e2 / 0.9e1 * t286 * t755; + const double t759 = piecewise_functor_3( t86, 0.0, t758 ); + const double t760 = c1 * t759; + const double t762 = t291 * t291; + const double t767 = 0.1e1 / t294 / t89; + const double t768 = t767 * t762; + const double t771 = t295 * t759; + const double t773 = -0.2e1 * t295 * t762 * c1 - t760 * t90 - 0.2e1 * t768 * t88 - t771 * t88; + const double t774 = t773 * t92; + const double t775 = t298 * t298; + const double t776 = t775 * t92; + const double t778 = piecewise_functor_3( t94, 0.0, t758 ); + const double t780 = t300 * t300; + const double t784 = t95 * t780; + const double t788 = t97 * t780; + const double t792 = t99 * t780; + const double t796 = t101 * t780; + const double t804 = -0.667e0 * t778 - 0.889111e0 * t780 - 0.889111e0 * t95 * t778 - 0.3978519606294e1 * t784 - 0.1989259803147e1 * t97 * t778 + 0.1741556453388e2 * t788 + 0.580518817796e1 * t99 * t778 - 0.1775996083194e2 * t792 - 0.4439990207985e1 * t101 * t778 + 0.703586824437e1 * t796 + 0.1407173648874e1 * t103 * t778 - 0.973805419524e0 * t103 * t780 - 0.162300903254e0 * t105 * t778; + const double t805 = t316 * t111; + const double t806 = 0.1e1 / t805; + const double t807 = t318 * t318; + const double t812 = piecewise_functor_3( t94, t758, 0.0 ); + const double t818 = t316 * t316; + const double t819 = 0.1e1 / t818; + const double t824 = piecewise_functor_5( t85, t774 + t776, t93, t804, -t114 * t315 * t317 * t812 - 0.2e1 * t114 * t315 * t806 * t807 - t114 * t807 * t817 * t819 ); + const double t826 = t322 * t257; + const double t829 = t703 * t705; + const double t832 = t259 * t734; + const double t834 = t117 * t824 + t260 * t734 + 0.2e1 * t324 * t829 - t324 * t832 - 0.2e1 * t325 * t826 - 0.2e1 * t704 * t705; + const double t835 = t28 * t834; + const double t836 = t835 * t134; + const double t839 = t328 * t338; + const double t840 = t336 * t839; + const double t847 = 0.1e1 / t129 / t843 / t74 / 0.6e1; + const double t848 = t120 * t847; + const double t849 = t336 * t848; + const double t850 = t738 * t133; + const double t851 = t843 * t850; + const double t855 = 0.1e1 / t42 / t270; + const double t857 = t124 * t855 * t133; + const double t858 = t123 * t857; + const double t861 = t3 * t26; + const double t862 = t861 * t120; + const double t863 = 0.1e1 / t60; + const double t865 = t843 * t133; + const double t866 = t525 * t863 * t865; + const double t869 = -0.3e1 / 0.8e1 * t677 * t135 - t680 / 0.4e1 - 0.3e1 / 0.4e1 * t248 * t329 - 0.33783472665808775022e1 * t685 * t345 + t693 - t696 / 0.4e1 - 0.11261157555269591674e1 * t700 - 0.3e1 / 0.8e1 * t27 * t836 - 0.33783472665808775022e1 * t840 * t345 - 0.20270083599485265013e2 * t849 * t851 + 0.39414051443443570859e1 * t340 * t858 + 0.54992529167845016504e2 * t862 * t866; + const double t870 = piecewise_functor_3( t2, 0.0, t869 ); + const double t871 = t145 * t145; + const double t872 = 0.1e1 / t871; + const double t873 = t352 * t352; + const double t876 = t140 * t668; + const double t879 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t241 + 0.2e1 * t876 ); + const double t883 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.9e1 * t872 * t873 + 0.4e1 / 0.3e1 * t145 * t879 ); + const double t884 = t6 * t883; + const double t887 = t356 * t360; + const double t889 = t689 * t223; + const double t890 = t889 * t235; + const double t892 = t148 * t890 / 0.12e2; + const double t894 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t884 * t236 - t887 / 0.4e1 + t892 ); + const double t909 = t372 * t254; + const double t934 = t382 * t360; + const double t939 = t252 * t453; + const double t940 = t939 * t235; + const double t941 = t148 * t940; + const double t947 = t359 * t460; + const double t948 = t458 * t947; + const double t949 = t948 * t467; + const double t957 = t368 * t368; + const double t962 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t241 + 0.2e1 * t669 ); + const double t966 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t663 * t957 + 0.4e1 / 0.3e1 * t24 * t962 ); + const double t967 = t6 * t966; + const double t972 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t967 * t135 - t909 / 0.4e1 + t693 ); + const double t973 = t378 * t378; + const double t978 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t241 + 0.2e1 * t876 ); + const double t982 = piecewise_functor_3( t144, 0.0, 0.4e1 / 0.9e1 * t872 * t973 + 0.4e1 / 0.3e1 * t145 * t978 ); + const double t983 = t6 * t982; + const double t989 = t335 * t381; + const double t990 = t989 * t461; + const double t996 = 0.1e1 / t385 / t172; + const double t997 = t257 * t996; + const double t998 = t403 * t403; + const double t1001 = t390 * t150; + const double t1002 = 0.1e1 / t1001; + const double t1004 = t1002 * t48 * t160; + const double t1007 = t149 * t149; + const double t1008 = t1007 * sigma_bb; + const double t1009 = t30 * t1008; + const double t1010 = t151 * t397; + const double t1013 = 0.1e1 / t153 / t390 / t1010; + const double t1016 = t724 * t36 * t160; + const double t1020 = 0.1e1 / t166 / t151; + const double t1024 = 0.451194477459598155e-4 * t389 * t1004 - 0.35809085512666520238e-7 * t1009 * t1013 * t1016 + 0.11e2 / 0.27e2 * t164 * t165 * t1020; + const double t1028 = sigma_bb * t1020; + const double t1030 = 0.4e2 / 0.9e1 * tau_b * t399 - 0.11e2 / 0.9e1 * t1028; + const double t1032 = t409 * t412; + const double t1036 = 0.1e1 / t411 / t186; + const double t1037 = t182 * t1036; + const double t1038 = t748 * t149; + const double t1040 = 0.1e1 / t153 / t1010; + const double t1041 = t1038 * t1040; + const double t1044 = t183 * t1020; + const double t1047 = t1030 * t187 + 0.2e1 / 0.3e1 * t1032 * t414 + 0.2e1 / 0.9e1 * t1037 * t1041 - 0.11e2 / 0.9e1 * t413 * t1044; + const double t1048 = piecewise_functor_3( t190, 0.0, t1047 ); + const double t1049 = c1 * t1048; + const double t1051 = t418 * t418; + const double t1056 = 0.1e1 / t421 / t193; + const double t1057 = t1056 * t1051; + const double t1060 = t422 * t1048; + const double t1062 = -0.2e1 * t1051 * t422 * c1 - t1049 * t194 - 0.2e1 * t1057 * t192 - t1060 * t192; + const double t1063 = t1062 * t196; + const double t1064 = t425 * t425; + const double t1065 = t1064 * t196; + const double t1067 = piecewise_functor_3( t198, 0.0, t1047 ); + const double t1069 = t427 * t427; + const double t1073 = t199 * t1069; + const double t1077 = t201 * t1069; + const double t1081 = t203 * t1069; + const double t1085 = t205 * t1069; + const double t1093 = -0.667e0 * t1067 - 0.889111e0 * t1069 - 0.889111e0 * t199 * t1067 - 0.3978519606294e1 * t1073 - 0.1989259803147e1 * t201 * t1067 + 0.1741556453388e2 * t1077 + 0.580518817796e1 * t203 * t1067 - 0.1775996083194e2 * t1081 - 0.4439990207985e1 * t205 * t1067 + 0.703586824437e1 * t1085 + 0.1407173648874e1 * t207 * t1067 - 0.973805419524e0 * t207 * t1069 - 0.162300903254e0 * t209 * t1067; + const double t1094 = t442 * t215; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t444 * t444; + const double t1101 = piecewise_functor_3( t198, t1047, 0.0 ); + const double t1105 = t442 * t442; + const double t1106 = 0.1e1 / t1105; + const double t1111 = piecewise_functor_5( t189, t1063 + t1065, t197, t1093, -0.2e1 * t1095 * t1096 * t218 * t315 - t1096 * t1106 * t218 * t817 - t1101 * t218 * t315 * t443 ); + const double t1113 = t448 * t257; + const double t1116 = t996 * t998; + const double t1119 = t386 * t1024; + const double t1121 = t1024 * t387 + t1111 * t221 - 0.2e1 * t1113 * t451 + 0.2e1 * t1116 * t450 - t1119 * t450 - 0.2e1 * t997 * t998; + const double t1122 = t28 * t1121; + const double t1123 = t1122 * t235; + const double t1126 = t454 * t460; + const double t1127 = t458 * t1126; + const double t1133 = 0.1e1 / t230 / t843 / t180 / 0.6e1; + const double t1134 = t224 * t1133; + const double t1135 = t458 * t1134; + const double t1136 = t1028 * t234; + const double t1137 = t843 * t1136; + const double t1141 = 0.1e1 / t153 / t397; + const double t1143 = t225 * t1141 * t234; + const double t1144 = t123 * t1143; + const double t1147 = t3 * t147; + const double t1148 = t1147 * t224; + const double t1149 = 0.1e1 / t166; + const double t1151 = t843 * t234; + const double t1152 = t584 * t1149 * t1151; + const double t1155 = -0.3e1 / 0.8e1 * t983 * t236 - t934 / 0.4e1 - 0.3e1 / 0.4e1 * t382 * t455 - 0.33783472665808775022e1 * t990 * t467 + t892 - t941 / 0.4e1 - 0.11261157555269591674e1 * t949 - 0.3e1 / 0.8e1 * t148 * t1123 - 0.33783472665808775022e1 * t1127 * t467 - 0.20270083599485265013e2 * t1135 * t1137 + 0.39414051443443570859e1 * t462 * t1144 + 0.54992529167845016504e2 * t1148 * t1152; + const double t1156 = piecewise_functor_3( t139, 0.0, t1155 ); + const double t1161 = t252 * t520; + const double t1162 = t1161 * t134; + const double t1164 = t27 * t1162 / 0.8e1; + const double t1165 = t483 * t276; + const double t1170 = t30 * t714; + const double t1171 = t40 * t39; + const double t1172 = t263 * t1171; + const double t1174 = 0.1e1 / t42 / t1172; + const double t1178 = t58 * t272; + const double t1181 = -0.15469524941471936744e-4 * t474 * t267 + 0.1342840706724994509e-7 * t1170 * t1174 * t726 - t56 * t1178 / 0.9e1; + const double t1183 = t272 * t83; + const double t1186 = 0.1e1 / t42 / t1171; + const double t1187 = t1186 * t285; + const double t1188 = t1187 * t79; + const double t1192 = t748 * t1186; + const double t1193 = t1192 * sigma_aa; + const double t1196 = eta * t272; + const double t1199 = t1183 / 0.3e1 - t1188 / 0.24e2 - t742 * t486 / 0.8e1 - t747 * t1193 / 0.12e2 + t286 * t1196 / 0.3e1; + const double t1200 = piecewise_functor_3( t86, 0.0, t1199 ); + const double t1201 = c1 * t1200; + const double t1205 = t767 * t490; + const double t1206 = t1205 * t291; + const double t1209 = t295 * t1200; + const double t1211 = -t1201 * t90 - 0.2e1 * t1206 * t88 - t1209 * t88 - 0.2e1 * t296 * t491; + const double t1212 = t1211 * t92; + const double t1213 = t495 * t298; + const double t1216 = piecewise_functor_3( t94, 0.0, t1199 ); + const double t1218 = t300 * t497; + const double t1220 = t95 * t1216; + const double t1224 = t97 * t1216; + const double t1228 = t99 * t1216; + const double t1232 = t101 * t1216; + const double t1236 = t103 * t1216; + const double t1242 = -0.667e0 * t1216 - 0.889111e0 * t1218 - 0.889111e0 * t1220 - 0.3978519606294e1 * t499 * t300 - 0.1989259803147e1 * t1224 + 0.1741556453388e2 * t501 * t300 + 0.580518817796e1 * t1228 - 0.1775996083194e2 * t503 * t300 - 0.4439990207985e1 * t1232 + 0.703586824437e1 * t505 * t300 + 0.1407173648874e1 * t1236 - 0.973805419524e0 * t507 * t300 - 0.162300903254e0 * t105 * t1216; + const double t1243 = t315 * t806; + const double t1244 = t512 * t114; + const double t1245 = t1244 * t318; + const double t1248 = piecewise_functor_3( t94, t1199, 0.0 ); + const double t1252 = t817 * t819; + const double t1255 = piecewise_functor_5( t85, t1213 * t92 + t1212, t93, t1242, -t114 * t1248 * t315 * t317 - 0.2e1 * t1243 * t1245 - t1245 * t1252 ); + const double t1257 = t516 * t257; + const double t1260 = t703 * t483; + const double t1261 = t1260 * t276; + const double t1264 = t259 * t1181; + const double t1266 = -0.2e1 * t1165 * t704 + t117 * t1255 + t1181 * t260 - t1257 * t325 + 0.2e1 * t1261 * t324 - t1264 * t324 - t518 * t826; + const double t1267 = t28 * t1266; + const double t1268 = t1267 * t134; + const double t1271 = t521 * t338; + const double t1272 = t336 * t1271; + const double t1278 = 0.21114670416130484389e0 * t699 * t528; + const double t1281 = t336 * t120; + const double t1282 = t847 * t31; + const double t1283 = t1178 * t133; + const double t1284 = t1282 * t1283; + const double t1288 = t525 * t342 * t133; + const double t1289 = t123 * t1288; + const double t1292 = t124 * sigma_aa; + const double t1293 = 0.1e1 / t1292; + const double t1295 = t1293 * t42 * t865; + const double t1299 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t248 * t522 - t1164 - 0.3e1 / 0.8e1 * t27 * t1268 - 0.16891736332904387511e1 * t1272 * t345 + 0.63344011248391453166e0 * t685 * t528 + t1278 + 0.63344011248391453166e0 * t840 * t528 + 0.76012813498069743799e1 * t1281 * t1284 - 0.84458681664521937554e0 * t340 * t1289 - 0.20622198437941881189e2 * t862 * t1295 ); + const double t1303 = t252 * t579; + const double t1304 = t1303 * t235; + const double t1306 = t148 * t1304 / 0.8e1; + const double t1310 = 0.21114670416130484389e0 * t948 * t587; + const double t1323 = t542 * t403; + const double t1328 = t30 * t1007; + const double t1329 = t151 * t150; + const double t1330 = t390 * t1329; + const double t1332 = 0.1e1 / t153 / t1330; + const double t1336 = t58 * t399; + const double t1339 = -0.15469524941471936744e-4 * t533 * t394 + 0.1342840706724994509e-7 * t1328 * t1332 * t1016 - t164 * t1336 / 0.9e1; + const double t1341 = t399 * t187; + const double t1344 = 0.1e1 / t153 / t1329; + const double t1345 = t1344 * t412; + const double t1346 = t1345 * t183; + const double t1350 = t748 * t1344; + const double t1351 = t1350 * sigma_bb; + const double t1354 = eta * t399; + const double t1357 = t1341 / 0.3e1 - t1346 / 0.24e2 - t1032 * t545 / 0.8e1 - t1037 * t1351 / 0.12e2 + t413 * t1354 / 0.3e1; + const double t1358 = piecewise_functor_3( t190, 0.0, t1357 ); + const double t1359 = c1 * t1358; + const double t1363 = t1056 * t549; + const double t1364 = t1363 * t418; + const double t1367 = t422 * t1358; + const double t1369 = -t1359 * t194 - 0.2e1 * t1364 * t192 - t1367 * t192 - 0.2e1 * t423 * t550; + const double t1370 = t1369 * t196; + const double t1371 = t554 * t425; + const double t1374 = piecewise_functor_3( t198, 0.0, t1357 ); + const double t1376 = t427 * t556; + const double t1378 = t199 * t1374; + const double t1382 = t201 * t1374; + const double t1386 = t203 * t1374; + const double t1390 = t205 * t1374; + const double t1394 = t207 * t1374; + const double t1400 = -0.667e0 * t1374 - 0.889111e0 * t1376 - 0.889111e0 * t1378 - 0.3978519606294e1 * t558 * t427 - 0.1989259803147e1 * t1382 + 0.1741556453388e2 * t560 * t427 + 0.580518817796e1 * t1386 - 0.1775996083194e2 * t562 * t427 - 0.4439990207985e1 * t1390 + 0.703586824437e1 * t564 * t427 + 0.1407173648874e1 * t1394 - 0.973805419524e0 * t566 * t427 - 0.162300903254e0 * t209 * t1374; + const double t1401 = t315 * t1095; + const double t1402 = t571 * t218; + const double t1403 = t1402 * t444; + const double t1406 = piecewise_functor_3( t198, t1357, 0.0 ); + const double t1410 = t817 * t1106; + const double t1413 = piecewise_functor_5( t189, t1371 * t196 + t1370, t197, t1400, -t1406 * t218 * t315 * t443 - 0.2e1 * t1401 * t1403 - t1403 * t1410 ); + const double t1415 = t575 * t257; + const double t1418 = t996 * t542; + const double t1419 = t1418 * t403; + const double t1422 = t386 * t1339; + const double t1424 = -t1113 * t577 - 0.2e1 * t1323 * t997 + t1339 * t387 + t1413 * t221 - t1415 * t451 + 0.2e1 * t1419 * t450 - t1422 * t450; + const double t1425 = t28 * t1424; + const double t1426 = t1425 * t235; + const double t1429 = t580 * t460; + const double t1430 = t458 * t1429; + const double t1437 = t458 * t224; + const double t1438 = t1133 * t31; + const double t1439 = t1336 * t234; + const double t1440 = t1438 * t1439; + const double t1444 = t584 * t464 * t234; + const double t1445 = t123 * t1444; + const double t1448 = t225 * sigma_bb; + const double t1449 = 0.1e1 / t1448; + const double t1451 = t1449 * t153 * t1151; + const double t1455 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t382 * t581 - t1306 - 0.3e1 / 0.8e1 * t148 * t1426 - 0.16891736332904387511e1 * t1430 * t467 + 0.63344011248391453166e0 * t990 * t587 + t1310 + 0.63344011248391453166e0 * t1127 * t587 + 0.76012813498069743799e1 * t1437 * t1440 - 0.84458681664521937554e0 * t462 * t1445 - 0.20622198437941881189e2 * t1148 * t1451 ); + const double t1459 = t252 * t619; + const double t1460 = t1459 * t621; + const double t1462 = t27 * t1460 / 0.8e1; + const double t1464 = t44 * t285; + const double t1467 = -0.5e1 / 0.3e1 * t485 + t1464 * t79 / 0.3e1; + const double t1468 = piecewise_functor_3( t86, 0.0, t1467 ); + const double t1469 = c1 * t1468; + const double t1473 = t767 * t593; + const double t1474 = t1473 * t291; + const double t1477 = t295 * t1468; + const double t1479 = -t1469 * t90 - 0.2e1 * t1474 * t88 - t1477 * t88 - 0.2e1 * t296 * t594; + const double t1480 = t1479 * t92; + const double t1481 = t598 * t298; + const double t1484 = piecewise_functor_3( t94, 0.0, t1467 ); + const double t1486 = t300 * t600; + const double t1488 = t95 * t1484; + const double t1492 = t97 * t1484; + const double t1496 = t99 * t1484; + const double t1500 = t101 * t1484; + const double t1504 = t103 * t1484; + const double t1510 = -0.667e0 * t1484 - 0.889111e0 * t1486 - 0.889111e0 * t1488 - 0.3978519606294e1 * t602 * t300 - 0.1989259803147e1 * t1492 + 0.1741556453388e2 * t604 * t300 + 0.580518817796e1 * t1496 - 0.1775996083194e2 * t606 * t300 - 0.4439990207985e1 * t1500 + 0.703586824437e1 * t608 * t300 + 0.1407173648874e1 * t1504 - 0.973805419524e0 * t610 * t300 - 0.162300903254e0 * t105 * t1484; + const double t1511 = t615 * t114; + const double t1512 = t1511 * t318; + const double t1515 = piecewise_functor_3( t94, t1467, 0.0 ); + const double t1521 = piecewise_functor_5( t85, t1481 * t92 + t1480, t93, t1510, -t114 * t1515 * t315 * t317 - 0.2e1 * t1243 * t1512 - t1252 * t1512 ); + const double t1522 = t28 * t1521; + const double t1523 = t1522 * t621; + const double t1526 = t26 * t28; + const double t1527 = t6 * t1526; + const double t1528 = t619 * t257; + const double t1529 = t325 * t134; + const double t1530 = t1528 * t1529; + const double t1533 = t620 * t117; + const double t1534 = t336 * t1533; + const double t1536 = t338 * t32 * t122; + const double t1537 = t1536 * t344; + const double t1541 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t248 * t622 - t1462 - 0.3e1 / 0.8e1 * t27 * t1523 + 0.3e1 / 0.8e1 * t1527 * t1530 - 0.16891736332904387511e1 * t1534 * t1537 ); + const double t1545 = t252 * t653; + const double t1546 = t1545 * t655; + const double t1548 = t148 * t1546 / 0.8e1; + const double t1560 = t155 * t412; + const double t1563 = -0.5e1 / 0.3e1 * t544 + t1560 * t183 / 0.3e1; + const double t1564 = piecewise_functor_3( t190, 0.0, t1563 ); + const double t1565 = c1 * t1564; + const double t1569 = t1056 * t627; + const double t1570 = t1569 * t418; + const double t1573 = t422 * t1564; + const double t1575 = -t1565 * t194 - 0.2e1 * t1570 * t192 - t1573 * t192 - 0.2e1 * t423 * t628; + const double t1576 = t1575 * t196; + const double t1577 = t632 * t425; + const double t1580 = piecewise_functor_3( t198, 0.0, t1563 ); + const double t1582 = t427 * t634; + const double t1584 = t199 * t1580; + const double t1588 = t201 * t1580; + const double t1592 = t203 * t1580; + const double t1596 = t205 * t1580; + const double t1600 = t207 * t1580; + const double t1606 = -0.667e0 * t1580 - 0.889111e0 * t1582 - 0.889111e0 * t1584 - 0.3978519606294e1 * t636 * t427 - 0.1989259803147e1 * t1588 + 0.1741556453388e2 * t638 * t427 + 0.580518817796e1 * t1592 - 0.1775996083194e2 * t640 * t427 - 0.4439990207985e1 * t1596 + 0.703586824437e1 * t642 * t427 + 0.1407173648874e1 * t1600 - 0.973805419524e0 * t644 * t427 - 0.162300903254e0 * t209 * t1580; + const double t1607 = t649 * t218; + const double t1608 = t1607 * t444; + const double t1611 = piecewise_functor_3( t198, t1563, 0.0 ); + const double t1617 = piecewise_functor_5( t189, t1577 * t196 + t1576, t197, t1606, -t1611 * t218 * t315 * t443 - 0.2e1 * t1401 * t1608 - t1410 * t1608 ); + const double t1618 = t28 * t1617; + const double t1619 = t1618 * t655; + const double t1622 = t147 * t28; + const double t1623 = t6 * t1622; + const double t1624 = t653 * t257; + const double t1625 = t451 * t235; + const double t1626 = t1624 * t1625; + const double t1629 = t654 * t221; + const double t1630 = t458 * t1629; + const double t1632 = t460 * t32 * t122; + const double t1633 = t1632 * t466; + const double t1637 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t382 * t656 - t1548 - 0.3e1 / 0.8e1 * t148 * t1619 + 0.3e1 / 0.8e1 * t1623 * t1626 - 0.16891736332904387511e1 * t1630 * t1633 ); + const double t1639 = t483 * t483; + const double t1642 = t30 * sigma_aa; + const double t1645 = t263 * t41; + const double t1647 = 0.1e1 / t42 / t1645; + const double t1651 = 0.43508038897889822091e-5 * t1642 * t477 - 0.50356526502187294087e-8 * t262 * t1647 * t726; + const double t1653 = t1464 * eta; + const double t1654 = t748 * t44; + const double t1657 = t747 * t1654 / 0.32e2 + t1653 / 0.32e2; + const double t1658 = piecewise_functor_3( t86, 0.0, t1657 ); + const double t1659 = c1 * t1658; + const double t1661 = t490 * t490; + const double t1662 = c1 * t1661; + const double t1665 = t767 * t1661; + const double t1668 = t295 * t1658; + const double t1670 = -t1659 * t90 - 0.2e1 * t1662 * t295 - 0.2e1 * t1665 * t88 - t1668 * t88; + const double t1672 = t495 * t495; + const double t1673 = t1672 * t92; + const double t1675 = piecewise_functor_3( t94, 0.0, t1657 ); + const double t1677 = t497 * t497; + const double t1679 = t95 * t1675; + const double t1681 = t95 * t1677; + const double t1683 = t97 * t1675; + const double t1685 = t97 * t1677; + const double t1687 = t99 * t1675; + const double t1689 = t99 * t1677; + const double t1691 = t101 * t1675; + const double t1693 = t101 * t1677; + const double t1695 = t103 * t1675; + const double t1701 = -0.667e0 * t1675 - 0.889111e0 * t1677 - 0.889111e0 * t1679 - 0.3978519606294e1 * t1681 - 0.1989259803147e1 * t1683 + 0.1741556453388e2 * t1685 + 0.580518817796e1 * t1687 - 0.1775996083194e2 * t1689 - 0.4439990207985e1 * t1691 + 0.703586824437e1 * t1693 + 0.1407173648874e1 * t1695 - 0.973805419524e0 * t103 * t1677 - 0.162300903254e0 * t105 * t1675; + const double t1702 = t512 * t512; + const double t1707 = piecewise_functor_3( t94, t1657, 0.0 ); + const double t1715 = piecewise_functor_5( t85, t1670 * t92 + t1673, t93, t1701, -0.2e1 * t114 * t1702 * t315 * t806 - t114 * t1702 * t817 * t819 - t114 * t1707 * t315 * t317 ); + const double t1719 = t703 * t1639; + const double t1722 = t259 * t1651; + const double t1724 = t117 * t1715 - 0.2e1 * t1257 * t518 - 0.2e1 * t1639 * t704 + t1651 * t260 + 0.2e1 * t1719 * t324 - t1722 * t324; + const double t1725 = t28 * t1724; + const double t1726 = t1725 * t134; + const double t1731 = 0.1e1 / sigma_aa; + const double t1733 = t1731 * t62 * t133; + const double t1734 = t843 * t1733; + const double t1738 = t1293 * t126 * t133; + const double t1739 = t123 * t1738; + const double t1743 = 0.1e1 / t124 / t38; + const double t1745 = t1743 * t125 * t865; + const double t1749 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1726 + 0.12668802249678290633e1 * t1272 * t528 - 0.28504805061776153925e1 * t849 * t1734 - 0.31672005624195726583e0 * t340 * t1739 + 0.77333244142282054459e1 * t862 * t1745 ); + const double t1750 = t542 * t542; + const double t1753 = t30 * sigma_bb; + const double t1756 = t390 * t152; + const double t1758 = 0.1e1 / t153 / t1756; + const double t1762 = 0.43508038897889822091e-5 * t1753 * t536 - 0.50356526502187294087e-8 * t389 * t1758 * t1016; + const double t1764 = t1560 * eta; + const double t1765 = t748 * t155; + const double t1768 = t1037 * t1765 / 0.32e2 + t1764 / 0.32e2; + const double t1769 = piecewise_functor_3( t190, 0.0, t1768 ); + const double t1770 = c1 * t1769; + const double t1772 = t549 * t549; + const double t1773 = c1 * t1772; + const double t1776 = t1056 * t1772; + const double t1779 = t422 * t1769; + const double t1781 = -t1770 * t194 - 0.2e1 * t1773 * t422 - 0.2e1 * t1776 * t192 - t1779 * t192; + const double t1783 = t554 * t554; + const double t1784 = t1783 * t196; + const double t1786 = piecewise_functor_3( t198, 0.0, t1768 ); + const double t1788 = t556 * t556; + const double t1790 = t199 * t1786; + const double t1792 = t199 * t1788; + const double t1794 = t201 * t1786; + const double t1796 = t201 * t1788; + const double t1798 = t203 * t1786; + const double t1800 = t203 * t1788; + const double t1802 = t205 * t1786; + const double t1804 = t205 * t1788; + const double t1806 = t207 * t1786; + const double t1812 = -0.667e0 * t1786 - 0.889111e0 * t1788 - 0.889111e0 * t1790 - 0.3978519606294e1 * t1792 - 0.1989259803147e1 * t1794 + 0.1741556453388e2 * t1796 + 0.580518817796e1 * t1798 - 0.1775996083194e2 * t1800 - 0.4439990207985e1 * t1802 + 0.703586824437e1 * t1804 + 0.1407173648874e1 * t1806 - 0.973805419524e0 * t207 * t1788 - 0.162300903254e0 * t209 * t1786; + const double t1813 = t571 * t571; + const double t1818 = piecewise_functor_3( t198, t1768, 0.0 ); + const double t1826 = piecewise_functor_5( t189, t1781 * t196 + t1784, t197, t1812, -0.2e1 * t1095 * t1813 * t218 * t315 - t1106 * t1813 * t218 * t817 - t1818 * t218 * t315 * t443 ); + const double t1830 = t996 * t1750; + const double t1833 = t386 * t1762; + const double t1835 = -0.2e1 * t1415 * t577 - 0.2e1 * t1750 * t997 + t1762 * t387 + t1826 * t221 + 0.2e1 * t1830 * t450 - t1833 * t450; + const double t1836 = t28 * t1835; + const double t1837 = t1836 * t235; + const double t1842 = 0.1e1 / sigma_bb; + const double t1844 = t1842 * t168 * t234; + const double t1845 = t843 * t1844; + const double t1849 = t1449 * t227 * t234; + const double t1850 = t123 * t1849; + const double t1854 = 0.1e1 / t225 / t149; + const double t1856 = t1854 * t226 * t1151; + const double t1860 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t1837 + 0.12668802249678290633e1 * t1430 * t587 - 0.28504805061776153925e1 * t1135 * t1845 - 0.31672005624195726583e0 * t462 * t1850 + 0.77333244142282054459e1 * t1148 * t1856 ); + const double t1862 = 0.1e1 / t42 / t40; + const double t1865 = t1862 * t285 * eta / 0.8e1; + const double t1866 = piecewise_functor_3( t86, 0.0, -t1865 ); + const double t1867 = c1 * t1866; + const double t1871 = t1473 * t490; + const double t1874 = t295 * t1866; + const double t1876 = -t1867 * t90 - 0.2e1 * t1871 * t88 - t1874 * t88 - 0.2e1 * t493 * t594; + const double t1877 = t1876 * t92; + const double t1878 = t598 * t495; + const double t1881 = piecewise_functor_3( t94, 0.0, -t1865 ); + const double t1883 = t497 * t600; + const double t1885 = t95 * t1881; + const double t1889 = t97 * t1881; + const double t1893 = t99 * t1881; + const double t1897 = t101 * t1881; + const double t1901 = t103 * t1881; + const double t1907 = -0.667e0 * t1881 - 0.889111e0 * t1883 - 0.889111e0 * t1885 - 0.3978519606294e1 * t602 * t497 - 0.1989259803147e1 * t1889 + 0.1741556453388e2 * t604 * t497 + 0.580518817796e1 * t1893 - 0.1775996083194e2 * t606 * t497 - 0.4439990207985e1 * t1897 + 0.703586824437e1 * t608 * t497 + 0.1407173648874e1 * t1901 - 0.973805419524e0 * t610 * t497 - 0.162300903254e0 * t105 * t1881; + const double t1908 = t1511 * t512; + const double t1911 = piecewise_functor_3( t94, -t1865, 0.0 ); + const double t1917 = piecewise_functor_5( t85, t1878 * t92 + t1877, t93, t1907, -t114 * t1911 * t315 * t317 - 0.2e1 * t1243 * t1908 - t1252 * t1908 ); + const double t1918 = t28 * t1917; + const double t1919 = t1918 * t621; + const double t1922 = t518 * t134; + const double t1923 = t1528 * t1922; + const double t1926 = t1536 * t527; + const double t1930 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1919 + 0.3e1 / 0.8e1 * t1527 * t1923 + 0.63344011248391453166e0 * t1534 * t1926 ); + const double t1932 = 0.1e1 / t153 / t151; + const double t1935 = t1932 * t412 * eta / 0.8e1; + const double t1936 = piecewise_functor_3( t190, 0.0, -t1935 ); + const double t1937 = c1 * t1936; + const double t1941 = t1569 * t549; + const double t1944 = t422 * t1936; + const double t1946 = -0.2e1 * t192 * t1941 - t192 * t1944 - t1937 * t194 - 0.2e1 * t552 * t628; + const double t1947 = t1946 * t196; + const double t1948 = t632 * t554; + const double t1951 = piecewise_functor_3( t198, 0.0, -t1935 ); + const double t1953 = t556 * t634; + const double t1955 = t199 * t1951; + const double t1959 = t201 * t1951; + const double t1963 = t203 * t1951; + const double t1967 = t205 * t1951; + const double t1971 = t207 * t1951; + const double t1977 = -0.667e0 * t1951 - 0.889111e0 * t1953 - 0.889111e0 * t1955 - 0.3978519606294e1 * t636 * t556 - 0.1989259803147e1 * t1959 + 0.1741556453388e2 * t638 * t556 + 0.580518817796e1 * t1963 - 0.1775996083194e2 * t640 * t556 - 0.4439990207985e1 * t1967 + 0.703586824437e1 * t642 * t556 + 0.1407173648874e1 * t1971 - 0.973805419524e0 * t644 * t556 - 0.162300903254e0 * t209 * t1951; + const double t1978 = t1607 * t571; + const double t1981 = piecewise_functor_3( t198, -t1935, 0.0 ); + const double t1987 = piecewise_functor_5( t189, t1948 * t196 + t1947, t197, t1977, -t1981 * t218 * t315 * t443 - 0.2e1 * t1401 * t1978 - t1410 * t1978 ); + const double t1988 = t28 * t1987; + const double t1989 = t1988 * t655; + const double t1992 = t577 * t235; + const double t1993 = t1624 * t1992; + const double t1996 = t1632 * t586; + const double t2000 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t1989 + 0.3e1 / 0.8e1 * t1623 * t1993 + 0.63344011248391453166e0 * t1630 * t1996 ); + const double t2001 = piecewise_functor_3( t86, 0.0, 0.0 ); + const double t2002 = c1 * t2001; + const double t2003 = t2002 * t90; + const double t2004 = t593 * t593; + const double t2005 = c1 * t2004; + const double t2008 = t767 * t2004; + const double t2012 = t88 * t295 * t2001; + const double t2013 = -0.2e1 * t2005 * t295 - 0.2e1 * t2008 * t88 - t2003 - t2012; + const double t2015 = t598 * t598; + const double t2016 = t2015 * t92; + const double t2018 = piecewise_functor_3( t94, 0.0, 0.0 ); + const double t2019 = 0.667e0 * t2018; + const double t2020 = t600 * t600; + const double t2022 = t95 * t2018; + const double t2023 = 0.889111e0 * t2022; + const double t2024 = t95 * t2020; + const double t2026 = t97 * t2018; + const double t2027 = 0.1989259803147e1 * t2026; + const double t2028 = t97 * t2020; + const double t2030 = t99 * t2018; + const double t2031 = 0.580518817796e1 * t2030; + const double t2032 = t99 * t2020; + const double t2034 = t101 * t2018; + const double t2035 = 0.4439990207985e1 * t2034; + const double t2036 = t101 * t2020; + const double t2038 = t103 * t2018; + const double t2039 = 0.1407173648874e1 * t2038; + const double t2043 = 0.162300903254e0 * t105 * t2018; + const double t2044 = -t2019 - 0.889111e0 * t2020 - t2023 - 0.3978519606294e1 * t2024 - t2027 + 0.1741556453388e2 * t2028 + t2031 - 0.1775996083194e2 * t2032 - t2035 + 0.703586824437e1 * t2036 + t2039 - 0.973805419524e0 * t103 * t2020 - t2043; + const double t2045 = t615 * t615; + const double t2052 = t315 * t317 * t2018 * t114; + const double t2057 = piecewise_functor_5( t85, t2013 * t92 + t2016, t93, t2044, -0.2e1 * t114 * t2045 * t315 * t806 - t114 * t2045 * t817 * t819 - t2052 ); + const double t2058 = t28 * t2057; + const double t2059 = t2058 * t621; + const double t2062 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t2059 ); + const double t2063 = piecewise_functor_3( t190, 0.0, 0.0 ); + const double t2064 = c1 * t2063; + const double t2065 = t2064 * t194; + const double t2066 = t627 * t627; + const double t2067 = c1 * t2066; + const double t2070 = t1056 * t2066; + const double t2074 = t192 * t422 * t2063; + const double t2075 = -0.2e1 * t192 * t2070 - 0.2e1 * t2067 * t422 - t2065 - t2074; + const double t2077 = t632 * t632; + const double t2078 = t2077 * t196; + const double t2080 = piecewise_functor_3( t198, 0.0, 0.0 ); + const double t2081 = 0.667e0 * t2080; + const double t2082 = t634 * t634; + const double t2084 = t199 * t2080; + const double t2085 = 0.889111e0 * t2084; + const double t2086 = t199 * t2082; + const double t2088 = t201 * t2080; + const double t2089 = 0.1989259803147e1 * t2088; + const double t2090 = t201 * t2082; + const double t2092 = t203 * t2080; + const double t2093 = 0.580518817796e1 * t2092; + const double t2094 = t203 * t2082; + const double t2096 = t205 * t2080; + const double t2097 = 0.4439990207985e1 * t2096; + const double t2098 = t205 * t2082; + const double t2100 = t207 * t2080; + const double t2101 = 0.1407173648874e1 * t2100; + const double t2105 = 0.162300903254e0 * t209 * t2080; + const double t2106 = -t2081 - 0.889111e0 * t2082 - t2085 - 0.3978519606294e1 * t2086 - t2089 + 0.1741556453388e2 * t2090 + t2093 - 0.1775996083194e2 * t2094 - t2097 + 0.703586824437e1 * t2098 + t2101 - 0.973805419524e0 * t207 * t2082 - t2105; + const double t2107 = t649 * t649; + const double t2114 = t315 * t443 * t2080 * t218; + const double t2119 = piecewise_functor_5( t189, t196 * t2075 + t2078, t197, t2106, -0.2e1 * t1095 * t2107 * t218 * t315 - t1106 * t2107 * t218 * t817 - t2114 ); + const double t2120 = t28 * t2119; + const double t2121 = t2120 * t655; + const double t2124 = piecewise_functor_3( t139, 0.0, -0.3e1 / 0.8e1 * t148 * t2121 ); - eps = t138 + t239; vrho_a = t138 + t239 + t7 * ( t349 + t364 ); vrho_b = t138 + t239 + t7 * ( t376 + t471 ); vsigma_aa = t7 * t532; @@ -894,6 +3924,53 @@ struct kernel_traits< BuiltinR2SCAN_X > : vlapl_b = 0.e0; vtau_a = t7 * t625; vtau_b = t7 * t659; + v2rho2_aa = 0.2e1 * t349 + 0.2e1 * t364 + t7 * ( t870 + t894 ); + v2rho2_bb = 0.2e1 * t376 + 0.2e1 * t471 + t7 * ( t972 + t1156 ); + v2rhosigma_a_aa = t1299 * t7 + t532; + v2rhosigma_b_bb = t1455 * t7 + t591; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1541 * t7 + t625; + v2rhotau_b_b = t1637 * t7 + t659; + v2sigma2_aa_aa = t7 * t1749; + v2sigma2_bb_bb = t7 * t1860; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1930; + v2sigmatau_bb_b = t7 * t2000; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2062; + v2tau2_bb = t7 * t2124; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + } @@ -911,4 +3988,4 @@ struct BuiltinR2SCAN_X : detail::BuiltinKernelImpl< BuiltinR2SCAN_X > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/rev_m06_l_c.hpp b/include/exchcxx/impl/builtin/kernels/rev_m06_l_c.hpp new file mode 100644 index 0000000..5b50514 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/rev_m06_l_c.hpp @@ -0,0 +1,8450 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinRevM06_L_C > : + public mgga_screening_interface< BuiltinRevM06_L_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-12; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000021e-16; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double gamma_ss = 0.06; + static constexpr double gamma_ab = 0.0031; + static constexpr double alpha_ss = 0.00515088; + static constexpr double alpha_ab = 0.00304966; + static constexpr double css_0 = 1.227659748; + static constexpr double css_1 = 0.855201283; + static constexpr double css_2 = -3.113346677; + static constexpr double css_3 = -2.239678026; + static constexpr double css_4 = 0.354638962; + static constexpr double cab_0 = 0.344360696; + static constexpr double cab_1 = -0.557080242; + static constexpr double cab_2 = -2.009821162; + static constexpr double cab_3 = -1.857641887; + static constexpr double cab_4 = -1.076639864; + static constexpr double dss_0 = -0.538821292; + static constexpr double dss_1 = -0.028296030; + static constexpr double dss_2 = 0.023889696; + static constexpr double dss_3 = 0.0; + static constexpr double dss_4 = 0.0; + static constexpr double dss_5 = -0.002437902; + static constexpr double dab_0 = 0.400714600; + static constexpr double dab_1 = 0.015796569; + static constexpr double dab_2 = -0.032680984; + static constexpr double dab_3 = 0.0; + static constexpr double dab_4 = 0.0; + static constexpr double dab_5 = 0.001260132; + static constexpr double Fermi_D_cnst = 1e-10; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + + + eps = t171 + t250 + t299 + t337; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + + + eps = t171 + t250 + t299 + t337; + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t7 = constants::m_cbrt_3; + constexpr double t9 = constants::m_cbrt_one_ov_pi; + constexpr double t11 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t259 = constants::m_cbrt_6; + constexpr double t262 = constants::m_cbrt_pi_sq; + constexpr double t10 = t7 * t9; + constexpr double t12 = t11 * t11; + constexpr double t13 = t10 * t12; + constexpr double t30 = t7 * t7; + constexpr double t31 = t9 * t9; + constexpr double t32 = t30 * t31; + constexpr double t33 = t32 * t11; + constexpr double t36 = t16 * t16; + constexpr double t95 = css_1; + constexpr double t96 = t95 * gamma_ss; + constexpr double t108 = css_2; + constexpr double t109 = gamma_ss * gamma_ss; + constexpr double t110 = t108 * t109; + constexpr double t123 = css_3; + constexpr double t124 = t109 * gamma_ss; + constexpr double t125 = t123 * t124; + constexpr double t135 = css_4; + constexpr double t136 = t109 * t109; + constexpr double t137 = t135 * t136; + constexpr double t162 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t163 = 0.1e1 / t162; + constexpr double t212 = cab_1; + constexpr double t213 = t212 * gamma_ab; + constexpr double t223 = cab_2; + constexpr double t224 = gamma_ab * gamma_ab; + constexpr double t225 = t223 * t224; + constexpr double t232 = cab_3; + constexpr double t233 = t224 * gamma_ab; + constexpr double t234 = t232 * t233; + constexpr double t240 = cab_4; + constexpr double t241 = t224 * t224; + constexpr double t242 = t240 * t241; + constexpr double t251 = dss_0; + constexpr double t260 = t259 * t259; + constexpr double t263 = t262 * t262; + constexpr double t264 = t260 * t263; + constexpr double t265 = 0.3e1 / 0.5e1 * t264; + constexpr double t271 = dss_1; + constexpr double t274 = dss_2; + constexpr double t281 = dss_3; + constexpr double t285 = dss_4; + constexpr double t289 = dss_5; + constexpr double t300 = dab_0; + constexpr double t303 = 0.6e1 / 0.5e1 * t264; + constexpr double t309 = dab_1; + constexpr double t313 = dab_2; + constexpr double t320 = dab_3; + constexpr double t324 = dab_4; + constexpr double t329 = dab_5; + constexpr double t430 = t95 * t109; + constexpr double t441 = t108 * t124; + constexpr double t450 = t123 * t136; + constexpr double t461 = t136 * gamma_ss; + constexpr double t462 = t135 * t461; + constexpr double t501 = t9 * t12; + constexpr double t543 = t212 * t224; + constexpr double t550 = t223 * t233; + constexpr double t556 = t232 * t241; + constexpr double t564 = t241 * gamma_ab; + constexpr double t565 = t240 * t564; + constexpr double t719 = alpha_ss * t36; + constexpr double t722 = t271 * t36; + constexpr double t730 = t285 * t36; + constexpr double t743 = alpha_ab * t36; + constexpr double t747 = t309 * t36; + constexpr double t756 = t324 * t36; + constexpr double t781 = t274 * t36; + constexpr double t804 = t313 * t36; + constexpr double t833 = alpha_ab * alpha_ab; + constexpr double t915 = t31 * t11; + constexpr double t1124 = alpha_ss * alpha_ss; + constexpr double t1185 = t212 * t233; + constexpr double t1195 = t223 * t241; + constexpr double t1208 = t232 * t564; + constexpr double t1221 = t241 * t224; + constexpr double t1222 = t240 * t1221; + constexpr double t1243 = t162 * t162; + constexpr double t1244 = 0.1e1 / t1243; + constexpr double t1263 = t95 * t124; + constexpr double t1271 = t108 * t136; + constexpr double t1281 = t123 * t461; + constexpr double t1291 = t136 * t109; + constexpr double t1292 = t135 * t1291; + constexpr double t1347 = t430 * t16; + constexpr double t1402 = t543 * t16; + constexpr double t1463 = t285 * t16; + constexpr double t1519 = t324 * t16; + constexpr double t1717 = t1124 * t16; + constexpr double t1721 = t271 * t16; + constexpr double t1728 = t281 * t16; + constexpr double t1741 = t833 * t16; + constexpr double t1745 = t309 * t16; + constexpr double t1752 = t320 * t16; + constexpr double t1777 = t274 * t16; + constexpr double t1807 = t313 * t16; + constexpr double t1856 = t289 * t16; + constexpr double t1881 = t329 * t16; + + + const double t4 = 0.1e1 <= zeta_tol; + const double t5 = rho / 0.2e1 <= dens_tol || t4; + const double t6 = piecewise_functor_3( t4, zeta_tol, 1.0 ); + const double t14 = safe_math::cbrt( rho ); + const double t15 = 0.1e1 / t14; + const double t18 = safe_math::cbrt( zeta_tol ); + const double t20 = piecewise_functor_3( t4, 0.1e1 / t18, 1.0 ); + const double t22 = t13 * t15 * t16 * t20; + const double t24 = 0.1e1 + 0.53425e-1 * t22; + const double t25 = safe_math::sqrt( t22 ); + const double t28 = pow_3_2( t22 ); + const double t34 = t14 * t14; + const double t35 = 0.1e1 / t34; + const double t38 = t20 * t20; + const double t40 = t33 * t35 * t36 * t38; + const double t42 = 0.379785e1 * t25 + 0.8969e0 * t22 + 0.204775e0 * t28 + 0.123235e0 * t40; + const double t45 = 0.1e1 + 0.16081979498692535067e2 / t42; + const double t46 = safe_math::log( t45 ); + const double t48 = 0.621814e-1 * t24 * t46; + const double t50 = t18 * zeta_tol; + const double t52 = piecewise_functor_3( 0.2e1 <= zeta_tol, t50, 0.2e1 * t16 ); + const double t54 = piecewise_functor_3( 0.e0 <= zeta_tol, t50, 0.0 ); + const double t58 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t59 = ( t52 + t54 - 0.2e1 ) * t58; + const double t61 = 0.1e1 + 0.5137e-1 * t22; + const double t66 = 0.705945e1 * t25 + 0.1549425e1 * t22 + 0.420775e0 * t28 + 0.1562925e0 * t40; + const double t69 = 0.1e1 + 0.32163958997385070134e2 / t66; + const double t70 = safe_math::log( t69 ); + const double t74 = 0.1e1 + 0.278125e-1 * t22; + const double t79 = 0.51785e1 * t25 + 0.905775e0 * t22 + 0.1100325e0 * t28 + 0.1241775e0 * t40; + const double t82 = 0.1e1 + 0.29608749977793437516e2 / t79; + const double t83 = safe_math::log( t82 ); + const double t84 = t74 * t83; + const double t93 = piecewise_functor_3( t5, 0.0, t6 * ( -t48 + t59 * ( -0.310907e-1 * t61 * t70 + t48 - 0.19751673498613801407e-1 * t84 ) + 0.19751673498613801407e-1 * t59 * t84 ) / 0.2e1 ); + const double t97 = t96 * sigma; + const double t98 = rho * rho; + const double t100 = 0.1e1 / t34 / t98; + const double t101 = t36 * t100; + const double t104 = gamma_ss * sigma * t101 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t106 = t101 * t105; + const double t111 = sigma * sigma; + const double t112 = t110 * t111; + const double t113 = t98 * t98; + const double t114 = t113 * rho; + const double t116 = 0.1e1 / t14 / t114; + const double t117 = t16 * t116; + const double t118 = t104 * t104; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t126 = t111 * sigma; + const double t127 = t113 * t113; + const double t128 = 0.1e1 / t127; + const double t129 = t126 * t128; + const double t130 = t118 * t104; + const double t131 = 0.1e1 / t130; + const double t138 = t111 * t111; + const double t139 = t137 * t138; + const double t140 = t127 * t98; + const double t142 = 0.1e1 / t34 / t140; + const double t143 = t36 * t142; + const double t144 = t118 * t118; + const double t145 = 0.1e1 / t144; + const double t146 = t143 * t145; + const double t149 = 0.4e1 * t125 * t129 * t131 + t97 * t106 + 0.2e1 * t112 * t120 + 0.4e1 * t139 * t146 + css_0; + const double t150 = t93 * t149; + const double t151 = 0.1e1 / rho; + const double t152 = sigma * t151; + const double t153 = 0.1e1 / tau; + const double t156 = 0.1e1 - t152 * t153 / 0.8e1; + const double t157 = tau * tau; + const double t159 = t98 * rho; + const double t161 = 0.1e1 / t14 / t159; + const double t167 = safe_math::exp( -0.8e1 * t157 * t16 * t161 * t163 ); + const double t168 = 0.1e1 - t167; + const double t169 = t156 * t168; + const double t171 = 0.2e1 * t150 * t169; + const double t173 = t10 * t12 * t15; + const double t175 = 0.1e1 + 0.53425e-1 * t173; + const double t176 = safe_math::sqrt( t173 ); + const double t179 = pow_3_2( t173 ); + const double t182 = t32 * t11 * t35; + const double t184 = 0.379785e1 * t176 + 0.8969e0 * t173 + 0.204775e0 * t179 + 0.123235e0 * t182; + const double t187 = 0.1e1 + 0.16081979498692535067e2 / t184; + const double t188 = safe_math::log( t187 ); + const double t191 = piecewise_functor_3( t4, t50, 1.0 ); + const double t194 = ( 0.2e1 * t191 - 0.2e1 ) * t58; + const double t196 = 0.1e1 + 0.278125e-1 * t173; + const double t201 = 0.51785e1 * t176 + 0.905775e0 * t173 + 0.1100325e0 * t179 + 0.1241775e0 * t182; + const double t204 = 0.1e1 + 0.29608749977793437516e2 / t201; + const double t205 = safe_math::log( t204 ); + const double t210 = -0.621814e-1 * t175 * t188 + 0.19751673498613801407e-1 * t194 * t196 * t205 - 0.2e1 * t93; + const double t214 = t213 * sigma; + const double t218 = 0.2e1 * gamma_ab * sigma * t101 + 0.1e1; + const double t219 = 0.1e1 / t218; + const double t220 = t101 * t219; + const double t226 = t225 * t111; + const double t227 = t218 * t218; + const double t228 = 0.1e1 / t227; + const double t229 = t117 * t228; + const double t235 = t227 * t218; + const double t236 = 0.1e1 / t235; + const double t243 = t242 * t138; + const double t244 = t227 * t227; + const double t245 = 0.1e1 / t244; + const double t246 = t143 * t245; + const double t249 = 0.32e2 * t234 * t129 * t236 + 0.2e1 * t214 * t220 + 0.8e1 * t226 * t229 + 0.64e2 * t243 * t246 + cab_0; + const double t250 = t210 * t249; + const double t252 = sigma * t36; + const double t253 = t252 * t100; + const double t254 = tau * t36; + const double t256 = 0.1e1 / t34 / rho; + const double t257 = t254 * t256; + const double t258 = 0.2e1 * t257; + const double t268 = 0.1e1 + alpha_ss * ( t253 + t258 - t265 ); + const double t272 = t271 * sigma; + const double t275 = t258 - t265; + const double t277 = t272 * t101 + t274 * t275; + const double t278 = t268 * t268; + const double t279 = 0.1e1 / t278; + const double t282 = t281 * t111; + const double t286 = t285 * sigma; + const double t290 = t275 * t275; + const double t292 = t286 * t101 * t275 + 0.2e1 * t282 * t117 + t289 * t290; + const double t293 = t278 * t268; + const double t294 = 0.1e1 / t293; + const double t296 = t251 / t268 + t277 * t279 + t292 * t294; + const double t297 = t93 * t296; + const double t299 = 0.2e1 * t297 * t156; + const double t302 = 0.4e1 * t257; + const double t306 = 0.1e1 + alpha_ab * ( 0.2e1 * t253 + t302 - t303 ); + const double t310 = t309 * sigma; + const double t314 = t302 - t303; + const double t316 = 0.2e1 * t310 * t101 + t313 * t314; + const double t317 = t306 * t306; + const double t318 = 0.1e1 / t317; + const double t321 = t320 * t111; + const double t325 = t324 * sigma; + const double t330 = t314 * t314; + const double t332 = 0.2e1 * t325 * t101 * t314 + 0.8e1 * t321 * t117 + t329 * t330; + const double t333 = t317 * t306; + const double t334 = 0.1e1 / t333; + const double t336 = t300 / t306 + t316 * t318 + t332 * t334; + const double t337 = t210 * t336; + const double t339 = 0.1e1 / t14 / rho; + const double t340 = t339 * t16; + const double t341 = t20 * t46; + const double t344 = 0.11073470983333333333e-2 * t13 * t340 * t341; + const double t345 = t42 * t42; + const double t346 = 0.1e1 / t345; + const double t347 = t24 * t346; + const double t350 = 0.1e1 / t25 * t7 * t9; + const double t351 = t12 * t339; + const double t352 = t16 * t20; + const double t353 = t351 * t352; + const double t354 = t350 * t353; + const double t356 = t340 * t20; + const double t357 = t13 * t356; + const double t359 = safe_math::sqrt( t22 ); + const double t361 = t359 * t7 * t9; + const double t362 = t361 * t353; + const double t364 = t256 * t36; + const double t366 = t33 * t364 * t38; + const double t368 = -0.632975e0 * t354 - 0.29896666666666666667e0 * t357 - 0.1023875e0 * t362 - 0.82156666666666666667e-1 * t366; + const double t369 = 0.1e1 / t45; + const double t370 = t368 * t369; + const double t372 = 0.1e1 * t347 * t370; + const double t373 = t20 * t70; + const double t377 = t66 * t66; + const double t378 = 0.1e1 / t377; + const double t379 = t61 * t378; + const double t384 = -0.1176575e1 * t354 - 0.516475e0 * t357 - 0.2103875e0 * t362 - 0.104195e0 * t366; + const double t385 = 0.1e1 / t69; + const double t386 = t384 * t385; + const double t389 = t20 * t83; + const double t393 = t79 * t79; + const double t394 = 0.1e1 / t393; + const double t395 = t74 * t394; + const double t400 = -0.86308333333333333334e0 * t354 - 0.301925e0 * t357 - 0.5501625e-1 * t362 - 0.82785e-1 * t366; + const double t401 = 0.1e1 / t82; + const double t402 = t400 * t401; + const double t407 = t59 * t10; + const double t408 = t352 * t83; + const double t412 = t59 * t74; + const double t414 = t394 * t400 * t401; + const double t420 = piecewise_functor_3( t5, 0.0, t6 * ( t344 + t372 + t59 * ( 0.53237641966666666666e-3 * t13 * t340 * t373 + 0.1e1 * t379 * t386 - t344 - t372 + 0.18311447306006545054e-3 * t13 * t340 * t389 + 0.5848223622634646207e0 * t395 * t402 ) - 0.18311447306006545054e-3 * t407 * t351 * t408 - 0.5848223622634646207e0 * t412 * t414 ) / 0.2e1 ); + const double t421 = t420 * t149; + const double t422 = t421 * t169; + const double t425 = 0.1e1 / t34 / t159; + const double t426 = t36 * t425; + const double t427 = t426 * t105; + const double t431 = t430 * t111; + const double t432 = t113 * t98; + const double t434 = 0.1e1 / t14 / t432; + const double t435 = t16 * t434; + const double t436 = t435 * t119; + const double t442 = t127 * rho; + const double t443 = 0.1e1 / t442; + const double t444 = t126 * t443; + const double t445 = t444 * t131; + const double t451 = t450 * t138; + const double t452 = t127 * t159; + const double t454 = 0.1e1 / t34 / t452; + const double t456 = t454 * t145 * t36; + const double t463 = t138 * sigma; + const double t464 = t462 * t463; + const double t465 = t127 * t432; + const double t467 = 0.1e1 / t14 / t465; + const double t468 = t16 * t467; + const double t470 = 0.1e1 / t144 / t104; + const double t471 = t468 * t470; + const double t474 = -0.8e1 / 0.3e1 * t97 * t427 + 0.16e2 / 0.3e1 * t431 * t436 - 0.32e2 / 0.3e1 * t112 * t436 + 0.64e2 / 0.3e1 * t441 * t445 - 0.32e2 * t125 * t445 + 0.32e2 * t451 * t456 - 0.128e3 / 0.3e1 * t139 * t456 + 0.256e3 / 0.3e1 * t464 * t471; + const double t475 = t93 * t474; + const double t476 = t475 * t169; + const double t478 = t150 * sigma; + const double t479 = 0.1e1 / t98; + const double t480 = t479 * t153; + const double t481 = t480 * t168; + const double t482 = t478 * t481; + const double t484 = t156 * t157; + const double t485 = t150 * t484; + const double t487 = 0.1e1 / t14 / t113; + const double t488 = t16 * t487; + const double t489 = t163 * t167; + const double t490 = t488 * t489; + const double t491 = t485 * t490; + const double t496 = t184 * t184; + const double t497 = 0.1e1 / t496; + const double t498 = t175 * t497; + const double t500 = 0.1e1 / t176 * t7; + const double t502 = t501 * t339; + const double t503 = t500 * t502; + const double t505 = t10 * t351; + const double t507 = safe_math::sqrt( t173 ); + const double t508 = t507 * t7; + const double t509 = t508 * t502; + const double t512 = t32 * t11 * t256; + const double t514 = -0.632975e0 * t503 - 0.29896666666666666667e0 * t505 - 0.1023875e0 * t509 - 0.82156666666666666667e-1 * t512; + const double t515 = 0.1e1 / t187; + const double t516 = t514 * t515; + const double t519 = t194 * t7; + const double t524 = t194 * t196; + const double t525 = t201 * t201; + const double t526 = 0.1e1 / t525; + const double t531 = -0.86308333333333333334e0 * t503 - 0.301925e0 * t505 - 0.5501625e-1 * t509 - 0.82785e-1 * t512; + const double t533 = 0.1e1 / t204; + const double t534 = t526 * t531 * t533; + const double t538 = 0.11073470983333333333e-2 * t10 * t351 * t188 + 0.1e1 * t498 * t516 - 0.18311447306006545054e-3 * t519 * t501 * t339 * t205 - 0.5848223622634646207e0 * t524 * t534 - 0.2e1 * t420; + const double t539 = t538 * t249; + const double t540 = t426 * t219; + const double t544 = t543 * t111; + const double t545 = t435 * t228; + const double t551 = t444 * t236; + const double t557 = t556 * t138; + const double t559 = t454 * t245 * t36; + const double t566 = t565 * t463; + const double t568 = 0.1e1 / t244 / t218; + const double t569 = t468 * t568; + const double t572 = -0.16e2 / 0.3e1 * t214 * t540 + 0.64e2 / 0.3e1 * t544 * t545 - 0.128e3 / 0.3e1 * t226 * t545 + 0.512e3 / 0.3e1 * t550 * t551 - 0.256e3 * t234 * t551 + 0.512e3 * t557 * t559 - 0.2048e4 / 0.3e1 * t243 * t559 + 0.8192e4 / 0.3e1 * t566 * t569; + const double t573 = t210 * t572; + const double t574 = t420 * t296; + const double t575 = t574 * t156; + const double t577 = t251 * t279; + const double t578 = t252 * t425; + const double t580 = t254 * t100; + const double t582 = -0.8e1 / 0.3e1 * t578 - 0.1e2 / 0.3e1 * t580; + const double t583 = alpha_ss * t582; + const double t587 = t274 * tau; + const double t590 = -0.8e1 / 0.3e1 * t272 * t426 - 0.1e2 / 0.3e1 * t587 * t101; + const double t592 = t277 * t294; + const double t600 = t117 * tau; + const double t603 = t289 * t275; + const double t606 = -0.32e2 / 0.3e1 * t282 * t435 - 0.8e1 / 0.3e1 * t286 * t426 * t275 - 0.2e2 / 0.3e1 * t286 * t600 - 0.2e2 / 0.3e1 * t603 * t580; + const double t608 = t278 * t278; + const double t609 = 0.1e1 / t608; + const double t610 = t292 * t609; + const double t613 = t590 * t279 + t606 * t294 - t577 * t583 - 0.2e1 * t592 * t583 - 0.3e1 * t610 * t583; + const double t614 = t93 * t613; + const double t615 = t614 * t156; + const double t617 = sigma * t479; + const double t618 = t617 * t153; + const double t619 = t297 * t618; + const double t621 = t538 * t336; + const double t622 = t300 * t318; + const double t625 = -0.16e2 / 0.3e1 * t578 - 0.2e2 / 0.3e1 * t580; + const double t626 = alpha_ab * t625; + const double t630 = t313 * tau; + const double t633 = -0.16e2 / 0.3e1 * t310 * t426 - 0.2e2 / 0.3e1 * t630 * t101; + const double t635 = t316 * t334; + const double t645 = t329 * t314; + const double t648 = -0.128e3 / 0.3e1 * t321 * t435 - 0.16e2 / 0.3e1 * t325 * t426 * t314 - 0.8e2 / 0.3e1 * t325 * t600 - 0.4e2 / 0.3e1 * t645 * t580; + const double t650 = t317 * t317; + const double t651 = 0.1e1 / t650; + const double t652 = t332 * t651; + const double t655 = t633 * t318 + t648 * t334 - t622 * t626 - 0.2e1 * t635 * t626 - 0.3e1 * t652 * t626; + const double t656 = t210 * t655; + const double t657 = 0.2e1 * t422 + 0.2e1 * t476 + t482 / 0.4e1 - 0.16e3 / 0.3e1 * t491 + t539 + t573 + 0.2e1 * t575 + 0.2e1 * t615 + t619 / 0.4e1 + t621 + t656; + const double t663 = t110 * sigma; + const double t666 = t111 * t128; + const double t667 = t666 * t131; + const double t672 = t450 * t126; + const double t675 = t137 * t126; + const double t678 = t462 * t138; + const double t679 = t127 * t114; + const double t681 = 0.1e1 / t14 / t679; + const double t682 = t16 * t681; + const double t683 = t682 * t470; + const double t686 = -0.2e1 * t430 * sigma * t120 + t96 * t106 + 0.4e1 * t663 * t120 + 0.12e2 * t125 * t667 - 0.12e2 * t672 * t146 + 0.16e2 * t675 * t146 - 0.8e1 * t441 * t667 - 0.32e2 * t678 * t683; + const double t687 = t93 * t686; + const double t689 = 0.2e1 * t687 * t169; + const double t690 = t151 * t153; + const double t691 = t690 * t168; + const double t693 = t150 * t691 / 0.4e1; + const double t699 = t225 * sigma; + const double t702 = t666 * t236; + const double t707 = t556 * t126; + const double t710 = t242 * t126; + const double t713 = t565 * t138; + const double t714 = t682 * t568; + const double t717 = -0.8e1 * t543 * sigma * t229 + 0.2e1 * t213 * t220 + 0.16e2 * t699 * t229 + 0.96e2 * t234 * t702 - 0.192e3 * t707 * t246 + 0.256e3 * t710 * t246 - 0.64e2 * t550 * t702 - 0.1024e4 * t713 * t714; + const double t718 = t210 * t717; + const double t720 = t719 * t100; + const double t721 = t577 * t720; + const double t723 = t100 * t279; + const double t725 = t592 * t720; + const double t727 = t281 * sigma; + const double t733 = t730 * t100 * t275 + 0.4e1 * t727 * t117; + const double t735 = t610 * t720; + const double t737 = t733 * t294 + t722 * t723 - t721 - 0.2e1 * t725 - 0.3e1 * t735; + const double t738 = t93 * t737; + const double t740 = 0.2e1 * t738 * t156; + const double t742 = t297 * t690 / 0.4e1; + const double t744 = t743 * t100; + const double t745 = t622 * t744; + const double t748 = t100 * t318; + const double t751 = t635 * t744; + const double t753 = t320 * sigma; + const double t760 = 0.2e1 * t756 * t100 * t314 + 0.16e2 * t753 * t117; + const double t762 = t652 * t744; + const double t764 = t760 * t334 + 0.2e1 * t747 * t748 - 0.2e1 * t745 - 0.4e1 * t751 - 0.6e1 * t762; + const double t765 = t210 * t764; + const double t767 = 0.1e1 / t157; + const double t768 = t151 * t767; + const double t769 = t768 * t168; + const double t771 = t478 * t769 / 0.4e1; + const double t772 = t156 * tau; + const double t773 = t150 * t772; + const double t774 = t16 * t161; + const double t775 = t774 * t489; + const double t777 = 0.32e2 * t773 * t775; + const double t778 = t719 * t256; + const double t790 = 0.4e1 * t286 * t488 + 0.4e1 * t603 * t364; + const double t794 = 0.2e1 * t781 * t256 * t279 + t790 * t294 - 0.2e1 * t577 * t778 - 0.4e1 * t592 * t778 - 0.6e1 * t610 * t778; + const double t795 = t93 * t794; + const double t797 = 0.2e1 * t795 * t156; + const double t798 = t152 * t767; + const double t800 = t297 * t798 / 0.4e1; + const double t801 = t743 * t256; + const double t814 = 0.16e2 * t325 * t488 + 0.8e1 * t645 * t364; + const double t818 = 0.4e1 * t804 * t256 * t318 + t814 * t334 - 0.4e1 * t622 * t801 - 0.8e1 * t635 * t801 - 0.12e2 * t652 * t801; + const double t819 = t210 * t818; + const double t832 = t300 * t334; + const double t834 = t625 * t625; + const double t835 = t833 * t834; + const double t839 = 0.1e1 / t34 / t113; + const double t840 = t252 * t839; + const double t842 = t254 * t425; + const double t844 = 0.176e3 / 0.9e1 * t840 + 0.16e3 / 0.9e1 * t842; + const double t845 = alpha_ab * t844; + const double t847 = t36 * t839; + const double t852 = 0.176e3 / 0.9e1 * t310 * t847 + 0.16e3 / 0.9e1 * t630 * t426; + const double t854 = t633 * t334; + const double t857 = t316 * t651; + const double t862 = t113 * t159; + const double t864 = 0.1e1 / t14 / t862; + const double t865 = t16 * t864; + const double t871 = t435 * tau; + const double t874 = t329 * t157; + const double t879 = 0.2432e4 / 0.9e1 * t321 * t865 + 0.176e3 / 0.9e1 * t325 * t847 * t314 + 0.64e3 / 0.3e1 * t325 * t871 + 0.16e4 / 0.9e1 * t874 * t117 + 0.32e3 / 0.9e1 * t645 * t842; + const double t881 = t648 * t651; + const double t885 = 0.1e1 / t650 / t306; + const double t886 = t332 * t885; + const double t891 = t852 * t318 + t879 * t334 - t622 * t845 - 0.4e1 * t854 * t626 - 0.6e1 * t881 * t626 - 0.2e1 * t635 * t845 - 0.3e1 * t652 * t845 + 0.2e1 * t832 * t835 + 0.6e1 * t857 * t835 + 0.12e2 * t886 * t835; + const double t892 = t210 * t891; + const double t893 = t538 * t655; + const double t896 = 0.1e1 / t14 / t98; + const double t897 = t12 * t896; + const double t901 = t339 * t497; + const double t905 = t496 * t184; + const double t906 = 0.1e1 / t905; + const double t907 = t175 * t906; + const double t908 = t514 * t514; + const double t909 = t908 * t515; + const double t914 = 0.1e1 / t176 / t173 * t30; + const double t916 = t915 * t100; + const double t917 = t914 * t916; + const double t919 = t501 * t896; + const double t920 = t500 * t919; + const double t922 = t10 * t897; + const double t924 = 0.1e1/safe_math::sqrt( t173 ); + const double t925 = t924 * t30; + const double t926 = t925 * t916; + const double t928 = t508 * t919; + const double t930 = t11 * t100; + const double t931 = t32 * t930; + const double t933 = -0.42198333333333333333e0 * t917 + 0.84396666666666666666e0 * t920 + 0.39862222222222222223e0 * t922 + 0.68258333333333333333e-1 * t926 + 0.13651666666666666667e0 * t928 + 0.13692777777777777778e0 * t931; + const double t934 = t933 * t515; + const double t937 = t496 * t496; + const double t938 = 0.1e1 / t937; + const double t939 = t175 * t938; + const double t940 = t187 * t187; + const double t941 = 0.1e1 / t940; + const double t942 = t908 * t941; + const double t949 = t194 * t10; + const double t953 = t525 * t201; + const double t954 = 0.1e1 / t953; + const double t955 = t531 * t531; + const double t957 = t954 * t955 * t533; + const double t966 = -0.57538888888888888889e0 * t917 + 0.11507777777777777778e1 * t920 + 0.40256666666666666667e0 * t922 + 0.366775e-1 * t926 + 0.73355e-1 * t928 + 0.137975e0 * t931; + const double t968 = t526 * t966 * t533; + const double t971 = t525 * t525; + const double t972 = 0.1e1 / t971; + const double t973 = t972 * t955; + const double t974 = t204 * t204; + const double t975 = 0.1e1 / t974; + const double t976 = t973 * t975; + const double t979 = t896 * t16; + const double t982 = 0.14764627977777777777e-2 * t13 * t979 * t341; + const double t985 = t352 * t346 * t368 * t369; + const double t987 = 0.35616666666666666666e-1 * t505 * t985; + const double t988 = t345 * t42; + const double t989 = 0.1e1 / t988; + const double t990 = t24 * t989; + const double t991 = t368 * t368; + const double t992 = t991 * t369; + const double t994 = 0.2e1 * t990 * t992; + const double t998 = 0.1e1 / t25 / t22 * t30 * t31; + const double t999 = t36 * t38; + const double t1000 = t930 * t999; + const double t1001 = t998 * t1000; + const double t1003 = t897 * t352; + const double t1004 = t350 * t1003; + const double t1006 = t979 * t20; + const double t1007 = t13 * t1006; + const double t1009 = 0.1e1/safe_math::sqrt( t22 ); + const double t1011 = t1009 * t30 * t31; + const double t1012 = t1011 * t1000; + const double t1014 = t361 * t1003; + const double t1017 = t33 * t101 * t38; + const double t1019 = -0.42198333333333333333e0 * t1001 + 0.84396666666666666666e0 * t1004 + 0.39862222222222222223e0 * t1007 + 0.68258333333333333333e-1 * t1012 + 0.13651666666666666667e0 * t1014 + 0.13692777777777777778e0 * t1017; + const double t1022 = 0.1e1 * t347 * t1019 * t369; + const double t1023 = t345 * t345; + const double t1024 = 0.1e1 / t1023; + const double t1025 = t24 * t1024; + const double t1026 = t45 * t45; + const double t1027 = 0.1e1 / t1026; + const double t1028 = t991 * t1027; + const double t1030 = 0.16081979498692535067e2 * t1025 * t1028; + const double t1036 = t352 * t378 * t384 * t385; + const double t1039 = t377 * t66; + const double t1040 = 0.1e1 / t1039; + const double t1041 = t61 * t1040; + const double t1042 = t384 * t384; + const double t1043 = t1042 * t385; + const double t1052 = -0.78438333333333333333e0 * t1001 + 0.15687666666666666667e1 * t1004 + 0.68863333333333333333e0 * t1007 + 0.14025833333333333333e0 * t1012 + 0.28051666666666666667e0 * t1014 + 0.17365833333333333333e0 * t1017; + const double t1056 = t377 * t377; + const double t1057 = 0.1e1 / t1056; + const double t1058 = t61 * t1057; + const double t1059 = t69 * t69; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t1042 * t1060; + const double t1067 = t352 * t414; + const double t1070 = t393 * t79; + const double t1071 = 0.1e1 / t1070; + const double t1072 = t74 * t1071; + const double t1073 = t400 * t400; + const double t1074 = t1073 * t401; + const double t1083 = -0.57538888888888888889e0 * t1001 + 0.11507777777777777778e1 * t1004 + 0.40256666666666666667e0 * t1007 + 0.366775e-1 * t1012 + 0.73355e-1 * t1014 + 0.137975e0 * t1017; + const double t1084 = t1083 * t401; + const double t1087 = t393 * t393; + const double t1088 = 0.1e1 / t1087; + const double t1089 = t74 * t1088; + const double t1090 = t82 * t82; + const double t1091 = 0.1e1 / t1090; + const double t1092 = t1073 * t1091; + const double t1095 = -0.70983522622222222221e-3 * t13 * t979 * t373 - 0.34246666666666666666e-1 * t505 * t1036 - 0.2e1 * t1041 * t1043 + 0.1e1 * t379 * t1052 * t385 + 0.32163958997385070134e2 * t1058 * t1061 + t982 + t987 + t994 - t1022 - t1030 - 0.24415263074675393405e-3 * t13 * t979 * t389 - 0.10843581300301739842e-1 * t505 * t1067 - 0.11696447245269292414e1 * t1072 * t1074 + 0.5848223622634646207e0 * t395 * t1084 + 0.17315859105681463759e2 * t1089 * t1092; + const double t1100 = t59 * t13; + const double t1105 = t1071 * t1073 * t401; + const double t1109 = t394 * t1083 * t401; + const double t1112 = t1088 * t1073; + const double t1113 = t1112 * t1091; + const double t1116 = -t982 - t987 - t994 + t1022 + t1030 + t59 * t1095 + 0.24415263074675393405e-3 * t407 * t897 * t408 + 0.10843581300301739842e-1 * t1100 * t356 * t414 + 0.11696447245269292414e1 * t412 * t1105 - 0.5848223622634646207e0 * t412 * t1109 - 0.17315859105681463759e2 * t412 * t1113; + const double t1119 = piecewise_functor_3( t5, 0.0, t6 * t1116 / 0.2e1 ); + const double t1121 = -0.14764627977777777777e-2 * t10 * t897 * t188 - 0.35616666666666666666e-1 * t13 * t901 * t516 - 0.2e1 * t907 * t909 + 0.1e1 * t498 * t934 + 0.16081979498692535067e2 * t939 * t942 + 0.24415263074675393405e-3 * t519 * t501 * t896 * t205 + 0.10843581300301739842e-1 * t949 * t351 * t534 + 0.11696447245269292414e1 * t524 * t957 - 0.5848223622634646207e0 * t524 * t968 - 0.17315859105681463759e2 * t524 * t976 - 0.2e1 * t1119; + const double t1122 = t1121 * t336; + const double t1123 = t251 * t294; + const double t1125 = t582 * t582; + const double t1126 = t1124 * t1125; + const double t1131 = 0.88e2 / 0.9e1 * t840 + 0.8e2 / 0.9e1 * t842; + const double t1132 = alpha_ss * t1131; + const double t1138 = 0.88e2 / 0.9e1 * t272 * t847 + 0.8e2 / 0.9e1 * t587 * t426; + const double t1140 = t590 * t294; + const double t1143 = t277 * t609; + const double t1155 = t289 * t157; + const double t1160 = 0.608e3 / 0.9e1 * t282 * t865 + 0.88e2 / 0.9e1 * t286 * t847 * t275 + 0.16e3 / 0.3e1 * t286 * t871 + 0.4e3 / 0.9e1 * t1155 * t117 + 0.16e3 / 0.9e1 * t603 * t842; + const double t1162 = t606 * t609; + const double t1166 = 0.1e1 / t608 / t268; + const double t1167 = t292 * t1166; + const double t1172 = 0.2e1 * t1123 * t1126 + 0.6e1 * t1143 * t1126 + 0.12e2 * t1167 * t1126 - t577 * t1132 - 0.2e1 * t592 * t1132 - 0.3e1 * t610 * t1132 + t1138 * t279 - 0.4e1 * t1140 * t583 + t1160 * t294 - 0.6e1 * t1162 * t583; + const double t1173 = t93 * t1172; + const double t1174 = t1173 * t156; + const double t1176 = t420 * t613; + const double t1177 = t1176 * t156; + const double t1179 = t847 * t219; + const double t1182 = t865 * t228; + const double t1186 = 0.1e1 / t140; + const double t1187 = t126 * t1186; + const double t1188 = t1187 * t236; + const double t1196 = t1195 * t138; + const double t1197 = t127 * t113; + const double t1199 = 0.1e1 / t34 / t1197; + const double t1201 = t1199 * t245 * t36; + const double t1209 = t1208 * t463; + const double t1210 = t127 * t862; + const double t1212 = 0.1e1 / t14 / t1210; + const double t1214 = t1212 * t568 * t16; + const double t1223 = t138 * t111; + const double t1224 = t127 * t127; + const double t1225 = t1224 * t98; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t1223 * t1226; + const double t1229 = 0.1e1 / t244 / t227; + const double t1233 = 0.176e3 / 0.9e1 * t214 * t1179 - 0.192e3 * t544 * t1182 + 0.4096e4 / 0.9e1 * t1185 * t1188 + 0.2432e4 / 0.9e1 * t226 * t1182 - 0.22016e5 / 0.9e1 * t550 * t1188 + 0.8192e4 / 0.3e1 * t1196 * t1201 + 0.2304e4 * t234 * t1188 - 0.30208e5 / 0.3e1 * t557 * t1201 + 0.65536e5 / 0.3e1 * t1209 * t1214 + 0.7168e5 / 0.9e1 * t243 * t1201 - 0.2048e6 / 0.3e1 * t566 * t1214 + 0.131072e7 / 0.9e1 * t1222 * t1227 * t1229; + const double t1234 = t210 * t1233; + const double t1235 = t538 * t572; + const double t1237 = t157 * t157; + const double t1238 = t156 * t1237; + const double t1239 = t150 * t1238; + const double t1241 = 0.1e1 / t34 / t127; + const double t1245 = t1244 * t167; + const double t1246 = t36 * t1241 * t1245; + const double t1247 = t1239 * t1246; + const double t1249 = 0.1e1 / t159; + const double t1250 = sigma * t1249; + const double t1251 = t1250 * t153; + const double t1252 = t297 * t1251; + const double t1254 = t420 * t474; + const double t1255 = t1254 * t169; + const double t1257 = t847 * t105; + const double t1260 = t865 * t119; + const double t1264 = t1187 * t131; + const double t1272 = t1271 * t138; + const double t1274 = t1199 * t145 * t36; + const double t1282 = t1281 * t463; + const double t1284 = t1212 * t470 * t16; + const double t1294 = 0.1e1 / t144 / t118; + const double t1298 = 0.88e2 / 0.9e1 * t97 * t1257 - 0.48e2 * t431 * t1260 + 0.512e3 / 0.9e1 * t1263 * t1264 + 0.608e3 / 0.9e1 * t112 * t1260 - 0.2752e4 / 0.9e1 * t441 * t1264 + 0.512e3 / 0.3e1 * t1272 * t1274 + 0.288e3 * t125 * t1264 - 0.1888e4 / 0.3e1 * t451 * t1274 + 0.2048e4 / 0.3e1 * t1282 * t1284 + 0.448e4 / 0.9e1 * t139 * t1274 - 0.64e4 / 0.3e1 * t464 * t1284 + 0.2048e5 / 0.9e1 * t1292 * t1227 * t1294; + const double t1299 = t93 * t1298; + const double t1300 = t1299 * t169; + const double t1302 = t892 + 0.2e1 * t893 + t1122 + 0.2e1 * t1174 + 0.4e1 * t1177 + t1234 + 0.2e1 * t1235 - 0.128e5 / 0.9e1 * t1247 - t1252 / 0.2e1 + 0.4e1 * t1255 + 0.2e1 * t1300; + const double t1303 = t1249 * t153; + const double t1304 = t1303 * t168; + const double t1305 = t478 * t1304; + const double t1307 = t117 * t489; + const double t1308 = t485 * t1307; + const double t1310 = t1121 * t249; + const double t1311 = sigma * t434; + const double t1312 = t150 * t1311; + const double t1314 = tau * t16 * t489; + const double t1315 = t1312 * t1314; + const double t1317 = t475 * t484; + const double t1318 = t1317 * t490; + const double t1320 = t421 * t484; + const double t1321 = t1320 * t490; + const double t1323 = t475 * sigma; + const double t1324 = t1323 * t481; + const double t1326 = t421 * sigma; + const double t1327 = t1326 * t481; + const double t1329 = t1119 * t296; + const double t1330 = t1329 * t156; + const double t1332 = t574 * t618; + const double t1334 = t614 * t618; + const double t1336 = t1119 * t149; + const double t1337 = t1336 * t169; + const double t1339 = -t1305 / 0.2e1 + 0.208e4 / 0.9e1 * t1308 + t1310 - 0.4e2 / 0.3e1 * t1315 - 0.32e3 / 0.3e1 * t1318 - 0.32e3 / 0.3e1 * t1321 + t1324 / 0.2e1 + t1327 / 0.2e1 + 0.2e1 * t1330 + t1332 / 0.2e1 + t1334 / 0.2e1 + 0.2e1 * t1337; + const double t1342 = t420 * t686; + const double t1343 = t1342 * t169; + const double t1352 = t111 * t443; + const double t1353 = t1352 * t131; + const double t1360 = t1271 * t126; + const double t1367 = t1281 * t138; + const double t1374 = t1224 * rho; + const double t1375 = 0.1e1 / t1374; + const double t1376 = t463 * t1375; + const double t1380 = -0.8e1 / 0.3e1 * t96 * t427 + 0.16e2 * t1347 * t434 * t119 * sigma - 0.64e2 / 0.3e1 * t1263 * t1353 - 0.64e2 / 0.3e1 * t663 * t436 + 0.32e3 / 0.3e1 * t441 * t1353 - 0.64e2 * t1360 * t456 - 0.96e2 * t125 * t1353 + 0.224e3 * t672 * t456 - 0.256e3 * t1367 * t471 - 0.512e3 / 0.3e1 * t675 * t456 + 0.768e3 * t678 * t471 - 0.256e4 / 0.3e1 * t1292 * t1376 * t1294; + const double t1381 = t93 * t1380; + const double t1382 = t1381 * t169; + const double t1384 = t687 * sigma; + const double t1385 = t1384 * t481; + const double t1387 = t687 * t484; + const double t1388 = t1387 * t490; + const double t1390 = t421 * t691; + const double t1392 = t475 * t691; + const double t1394 = t150 * t481; + const double t1396 = t150 * t116; + const double t1397 = t1396 * t1314; + const double t1399 = t538 * t717; + const double t1407 = t1352 * t236; + const double t1414 = t1195 * t126; + const double t1421 = t1208 * t138; + const double t1431 = -0.16e2 / 0.3e1 * t213 * t540 + 0.64e2 * t1402 * t434 * t228 * sigma - 0.512e3 / 0.3e1 * t1185 * t1407 - 0.256e3 / 0.3e1 * t699 * t545 + 0.256e4 / 0.3e1 * t550 * t1407 - 0.1024e4 * t1414 * t559 - 0.768e3 * t234 * t1407 + 0.3584e4 * t707 * t559 - 0.8192e4 * t1421 * t569 - 0.8192e4 / 0.3e1 * t710 * t559 + 0.24576e5 * t713 * t569 - 0.16384e6 / 0.3e1 * t1222 * t1376 * t1229; + const double t1432 = t210 * t1431; + const double t1433 = t420 * t737; + const double t1434 = t1433 * t156; + const double t1436 = t1123 * t1124; + const double t1437 = t101 * t582; + const double t1438 = t1436 * t1437; + const double t1440 = t719 * t425; + const double t1441 = t577 * t1440; + const double t1443 = t425 * t279; + const double t1446 = t722 * t100; + const double t1447 = t294 * alpha_ss; + const double t1448 = t1447 * t582; + const double t1451 = t1140 * t720; + const double t1453 = t1143 * t1124; + const double t1454 = t1453 * t1437; + const double t1456 = t592 * t1440; + const double t1464 = t116 * tau; + const double t1467 = -0.64e2 / 0.3e1 * t727 * t435 - 0.8e1 / 0.3e1 * t730 * t425 * t275 - 0.2e2 / 0.3e1 * t1463 * t1464; + const double t1469 = t733 * t609; + const double t1472 = t1162 * t720; + const double t1474 = t1167 * t1124; + const double t1475 = t1474 * t1437; + const double t1477 = t610 * t1440; + const double t1479 = 0.2e1 * t1438 + 0.8e1 / 0.3e1 * t1441 - 0.8e1 / 0.3e1 * t722 * t1443 - 0.2e1 * t1446 * t1448 - 0.2e1 * t1451 + 0.6e1 * t1454 + 0.16e2 / 0.3e1 * t1456 + t1467 * t294 - 0.3e1 * t1469 * t583 - 0.3e1 * t1472 + 0.12e2 * t1475 + 0.8e1 * t1477; + const double t1480 = t93 * t1479; + const double t1481 = t1480 * t156; + const double t1483 = t738 * t618; + const double t1485 = t574 * t690; + const double t1487 = t614 * t690; + const double t1489 = t297 * t480; + const double t1491 = t538 * t764; + const double t1492 = t832 * t833; + const double t1493 = t101 * t625; + const double t1494 = t1492 * t1493; + const double t1496 = t743 * t425; + const double t1497 = t622 * t1496; + const double t1499 = t425 * t318; + const double t1502 = t747 * t100; + const double t1503 = t334 * alpha_ab; + const double t1504 = t1503 * t625; + const double t1507 = t854 * t744; + const double t1509 = t857 * t833; + const double t1510 = t1509 * t1493; + const double t1512 = t635 * t1496; + const double t1522 = -0.256e3 / 0.3e1 * t753 * t435 - 0.16e2 / 0.3e1 * t756 * t425 * t314 - 0.8e2 / 0.3e1 * t1519 * t1464; + const double t1524 = t760 * t651; + const double t1527 = t881 * t744; + const double t1529 = t886 * t833; + const double t1530 = t1529 * t1493; + const double t1532 = t652 * t1496; + const double t1534 = 0.4e1 * t1494 + 0.16e2 / 0.3e1 * t1497 - 0.16e2 / 0.3e1 * t747 * t1499 - 0.4e1 * t1502 * t1504 - 0.4e1 * t1507 + 0.12e2 * t1510 + 0.32e2 / 0.3e1 * t1512 + t1522 * t334 - 0.3e1 * t1524 * t626 - 0.6e1 * t1527 + 0.24e2 * t1530 + 0.16e2 * t1532; + const double t1535 = t210 * t1534; + const double t1536 = 0.2e1 * t1343 + 0.2e1 * t1382 + t1385 / 0.4e1 - 0.16e3 / 0.3e1 * t1388 - t1390 / 0.4e1 - t1392 / 0.4e1 + t1394 / 0.4e1 + 0.2e2 / 0.3e1 * t1397 + t1399 + t1432 + 0.2e1 * t1434 + 0.2e1 * t1481 + t1483 / 0.4e1 - t1485 / 0.4e1 - t1487 / 0.4e1 + t1489 / 0.4e1 + t1491 + t1535; + const double t1538 = t1326 * t769; + const double t1540 = t1323 * t769; + const double t1542 = t479 * t767; + const double t1543 = t1542 * t168; + const double t1544 = t478 * t1543; + const double t1546 = t478 * t1307; + const double t1548 = t421 * t772; + const double t1549 = t1548 * t775; + const double t1551 = t475 * t772; + const double t1552 = t1551 * t775; + const double t1554 = t773 * t490; + const double t1556 = t157 * tau; + const double t1557 = t156 * t1556; + const double t1558 = t150 * t1557; + const double t1560 = 0.1e1 / t34 / t862; + const double t1562 = t36 * t1560 * t1245; + const double t1563 = t1558 * t1562; + const double t1565 = t420 * t794; + const double t1566 = t1565 * t156; + const double t1568 = t364 * t582; + const double t1574 = t781 * t256; + const double t1584 = t289 * tau; + const double t1589 = -0.52e2 / 0.3e1 * t286 * t117 - 0.8e2 / 0.3e1 * t1584 * t488 - 0.2e2 / 0.3e1 * t603 * t101; + const double t1591 = t790 * t609; + const double t1599 = 0.4e1 * t1436 * t1568 + 0.1e2 / 0.3e1 * t721 - 0.1e2 / 0.3e1 * t781 * t723 - 0.4e1 * t1574 * t1448 - 0.4e1 * t1140 * t778 + 0.12e2 * t1453 * t1568 + 0.2e2 / 0.3e1 * t725 + t1589 * t294 - 0.3e1 * t1591 * t583 - 0.6e1 * t1162 * t778 + 0.24e2 * t1474 * t1568 + 0.1e2 * t735; + const double t1600 = t93 * t1599; + const double t1601 = t1600 * t156; + const double t1603 = t795 * t618; + const double t1605 = t574 * t798; + const double t1607 = t614 * t798; + const double t1609 = t617 * t767; + const double t1610 = t297 * t1609; + const double t1612 = t538 * t818; + const double t1613 = t364 * t625; + const double t1619 = t804 * t256; + const double t1629 = t329 * tau; + const double t1634 = -0.208e3 / 0.3e1 * t325 * t117 - 0.32e3 / 0.3e1 * t1629 * t488 - 0.4e2 / 0.3e1 * t645 * t101; + const double t1636 = t814 * t651; + const double t1644 = 0.8e1 * t1492 * t1613 + 0.2e2 / 0.3e1 * t745 - 0.2e2 / 0.3e1 * t804 * t748 - 0.8e1 * t1619 * t1504 - 0.8e1 * t854 * t801 + 0.24e2 * t1509 * t1613 + 0.4e2 / 0.3e1 * t751 + t1634 * t334 - 0.3e1 * t1636 * t626 - 0.12e2 * t881 * t801 + 0.48e2 * t1529 * t1613 + 0.2e2 * t762; + const double t1645 = t210 * t1644; + const double t1646 = t1538 / 0.4e1 + t1540 / 0.4e1 - t1544 / 0.4e1 - 0.8e1 / 0.3e1 * t1546 + 0.32e2 * t1549 + 0.32e2 * t1552 - 0.32e3 / 0.3e1 * t1554 + 0.256e4 / 0.3e1 * t1563 + 0.2e1 * t1566 + 0.2e1 * t1601 + t1603 / 0.4e1 + t1605 / 0.4e1 + t1607 / 0.4e1 - t1610 / 0.4e1 + t1612 + t1645; + const double t1650 = sigma * t128; + const double t1651 = t1650 * t131; + const double t1658 = t1271 * t111; + const double t1663 = t450 * t111; + const double t1666 = t1281 * t126; + const double t1669 = t137 * t111; + const double t1672 = t462 * t126; + const double t1675 = 0.1e1 / t1224; + const double t1676 = t138 * t1675; + const double t1680 = 0.32e3 * t1292 * t1676 * t1294 + 0.4e1 * t110 * t120 - 0.4e1 * t430 * t120 + 0.24e2 * t125 * t1651 + 0.8e1 * t1263 * t1651 + 0.24e2 * t1658 * t146 - 0.72e2 * t1663 * t146 + 0.48e2 * t1669 * t146 - 0.32e2 * t441 * t1651 + 0.96e2 * t1666 * t683 - 0.256e3 * t1672 * t683; + const double t1681 = t93 * t1680; + const double t1683 = 0.2e1 * t1681 * t169; + const double t1685 = t687 * t691 / 0.2e1; + const double t1688 = t1650 * t236; + const double t1695 = t1195 * t111; + const double t1700 = t556 * t111; + const double t1703 = t1208 * t126; + const double t1706 = t242 * t111; + const double t1709 = t565 * t126; + const double t1715 = 0.2048e5 * t1222 * t1676 * t1229 + 0.64e2 * t1185 * t1688 + 0.192e3 * t234 * t1688 - 0.256e3 * t550 * t1688 + 0.384e3 * t1695 * t246 - 0.1152e4 * t1700 * t246 + 0.3072e4 * t1703 * t714 + 0.768e3 * t1706 * t246 - 0.8192e4 * t1709 * t714 + 0.16e2 * t225 * t229 - 0.16e2 * t543 * t229; + const double t1716 = t210 * t1715; + const double t1718 = t1717 * t116; + const double t1719 = t1123 * t1718; + const double t1722 = t116 * t294; + const double t1723 = t1722 * alpha_ss; + const double t1724 = t1721 * t1723; + const double t1726 = t1143 * t1718; + const double t1731 = t1469 * t720; + const double t1733 = t1167 * t1718; + const double t1735 = 0.4e1 * t1728 * t1722 + 0.4e1 * t1719 - 0.8e1 * t1724 + 0.12e2 * t1726 - 0.6e1 * t1731 + 0.24e2 * t1733; + const double t1736 = t93 * t1735; + const double t1738 = 0.2e1 * t1736 * t156; + const double t1740 = t738 * t690 / 0.2e1; + const double t1742 = t1741 * t116; + const double t1743 = t832 * t1742; + const double t1746 = t116 * t334; + const double t1747 = t1746 * alpha_ab; + const double t1748 = t1745 * t1747; + const double t1750 = t857 * t1742; + const double t1755 = t1524 * t744; + const double t1757 = t886 * t1742; + const double t1759 = 0.16e2 * t1752 * t1746 + 0.16e2 * t1743 - 0.32e2 * t1748 + 0.48e2 * t1750 - 0.12e2 * t1755 + 0.96e2 * t1757; + const double t1760 = t210 * t1759; + const double t1763 = t1384 * t769 / 0.4e1; + const double t1765 = t150 * t769 / 0.4e1; + const double t1766 = t687 * t772; + const double t1768 = 0.32e2 * t1766 * t775; + const double t1769 = t150 * t487; + const double t1771 = t16 * t163 * t167; + const double t1773 = 0.4e1 * t1769 * t1771; + const double t1774 = t1717 * t487; + const double t1775 = t1123 * t1774; + const double t1778 = t487 * t294; + const double t1779 = t1778 * alpha_ss; + const double t1780 = t1777 * t1779; + const double t1784 = t1143 * t1774; + const double t1788 = t1591 * t720; + const double t1792 = t1167 * t1774; + const double t1794 = 0.4e1 * t1463 * t1778 - 0.6e1 * t1469 * t778 - 0.8e1 * t1721 * t1779 + 0.8e1 * t1775 - 0.8e1 * t1780 + 0.24e2 * t1784 - 0.3e1 * t1788 + 0.48e2 * t1792; + const double t1795 = t93 * t1794; + const double t1797 = 0.2e1 * t1795 * t156; + const double t1799 = t795 * t690 / 0.4e1; + const double t1801 = t738 * t798 / 0.4e1; + const double t1803 = t297 * t768 / 0.4e1; + const double t1804 = t1741 * t487; + const double t1805 = t832 * t1804; + const double t1808 = t487 * t334; + const double t1809 = t1808 * alpha_ab; + const double t1810 = t1807 * t1809; + const double t1814 = t857 * t1804; + const double t1818 = t1636 * t744; + const double t1822 = t886 * t1804; + const double t1824 = 0.16e2 * t1519 * t1808 - 0.12e2 * t1524 * t801 - 0.32e2 * t1745 * t1809 + 0.32e2 * t1805 - 0.32e2 * t1810 + 0.96e2 * t1814 - 0.6e1 * t1818 + 0.192e3 * t1822; + const double t1825 = t210 * t1824; + const double t1827 = 0.1e1 / t1556; + const double t1828 = t151 * t1827; + const double t1829 = t1828 * t168; + const double t1831 = t478 * t1829 / 0.2e1; + const double t1832 = sigma * t487; + const double t1833 = t150 * t1832; + const double t1835 = t153 * t16 * t489; + const double t1837 = 0.8e1 * t1833 * t1835; + const double t1838 = t150 * t156; + const double t1840 = 0.32e2 * t1838 * t775; + const double t1842 = 0.1e1 / t34 / t432; + const double t1843 = t36 * t1842; + const double t1844 = t1843 * t1245; + const double t1846 = 0.512e3 * t485 * t1844; + const double t1847 = t1717 * t161; + const double t1850 = t161 * t294; + const double t1863 = -0.32e2 * t1777 * t1850 * alpha_ss + 0.16e2 * t1123 * t1847 + 0.48e2 * t1143 * t1847 + 0.96e2 * t1167 * t1847 - 0.12e2 * t1591 * t778 + 0.16e2 * t1856 * t1850; + const double t1864 = t93 * t1863; + const double t1866 = 0.2e1 * t1864 * t156; + const double t1868 = t795 * t798 / 0.2e1; + const double t1869 = t152 * t1827; + const double t1871 = t297 * t1869 / 0.2e1; + const double t1872 = t1741 * t161; + const double t1875 = t161 * t334; + const double t1888 = -0.128e3 * t1807 * t1875 * alpha_ab - 0.24e2 * t1636 * t801 + 0.64e2 * t832 * t1872 + 0.192e3 * t857 * t1872 + 0.384e3 * t886 * t1872 + 0.64e2 * t1881 * t1875; + const double t1889 = t210 * t1888; + + + vrho = rho * t657 + t171 + t250 + t299 + t337; + vsigma = rho * ( t689 - t693 + t718 + t740 - t742 + t765 ); + vlapl = 0.e0; + vtau = rho * ( t771 + t777 + t797 + t800 + t819 ); + v2rho2 = 0.4e1 * t422 + 0.4e1 * t476 + t482 / 0.2e1 - 0.32e3 / 0.3e1 * t491 + 0.2e1 * t539 + 0.2e1 * t573 + 0.4e1 * t575 + 0.4e1 * t615 + t619 / 0.2e1 + 0.2e1 * t621 + 0.2e1 * t656 + rho * ( t1302 + t1339 ); + v2rhosigma = rho * t1536 + t689 - t693 + t718 + t740 - t742 + t765; + v2rholapl = 0.e0; + v2rhotau = rho * t1646 + t771 + t777 + t797 + t800 + t819; + v2sigma2 = rho * ( t1683 - t1685 + t1716 + t1738 - t1740 + t1760 ); + v2sigmalapl = 0.e0; + v2sigmatau = rho * ( t1763 + t1765 + t1768 - t1773 + t1797 - t1799 + t1801 + t1803 + t1825 ); + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = rho * ( -t1831 + t1837 + t1840 - t1846 + t1866 + t1868 - t1871 + t1889 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + + + eps = t171 + t291 + t389 + t433 + t464 + t494; + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t11 = constants::m_cbrt_3; + constexpr double t13 = constants::m_cbrt_one_ov_pi; + constexpr double t15 = constants::m_cbrt_4; + constexpr double t20 = constants::m_cbrt_2; + constexpr double t395 = constants::m_cbrt_6; + constexpr double t398 = constants::m_cbrt_pi_sq; + constexpr double t14 = t11 * t13; + constexpr double t16 = t15 * t15; + constexpr double t17 = t14 * t16; + constexpr double t36 = t11 * t11; + constexpr double t37 = t13 * t13; + constexpr double t38 = t36 * t37; + constexpr double t39 = t38 * t15; + constexpr double t42 = t20 * t20; + constexpr double t100 = css_0; + constexpr double t101 = css_1; + constexpr double t102 = t101 * gamma_ss; + constexpr double t115 = css_2; + constexpr double t116 = gamma_ss * gamma_ss; + constexpr double t117 = t115 * t116; + constexpr double t128 = css_3; + constexpr double t129 = t116 * gamma_ss; + constexpr double t130 = t128 * t129; + constexpr double t139 = css_4; + constexpr double t140 = t116 * t116; + constexpr double t141 = t139 * t140; + constexpr double t164 = Fermi_D_cnst * Fermi_D_cnst; + constexpr double t165 = 0.1e1 / t164; + constexpr double t356 = cab_1; + constexpr double t357 = t356 * gamma_ab; + constexpr double t364 = cab_2; + constexpr double t365 = gamma_ab * gamma_ab; + constexpr double t366 = t364 * t365; + constexpr double t372 = cab_3; + constexpr double t373 = t365 * gamma_ab; + constexpr double t374 = t372 * t373; + constexpr double t380 = cab_4; + constexpr double t381 = t365 * t365; + constexpr double t382 = t380 * t381; + constexpr double t390 = dss_0; + constexpr double t396 = t395 * t395; + constexpr double t399 = t398 * t398; + constexpr double t400 = t396 * t399; + constexpr double t401 = 0.3e1 / 0.5e1 * t400; + constexpr double t407 = dss_1; + constexpr double t410 = dss_2; + constexpr double t417 = dss_3; + constexpr double t420 = dss_4; + constexpr double t424 = dss_5; + constexpr double t465 = dab_0; + constexpr double t466 = 0.6e1 / 0.5e1 * t400; + constexpr double t472 = dab_1; + constexpr double t474 = dab_2; + constexpr double t481 = dab_3; + constexpr double t483 = dab_4; + constexpr double t486 = dab_5; + constexpr double t604 = t101 * t116; + constexpr double t614 = t115 * t129; + constexpr double t623 = t128 * t140; + constexpr double t633 = t140 * gamma_ss; + constexpr double t634 = t139 * t633; + constexpr double t766 = t13 * t16; + constexpr double t853 = t356 * t365; + constexpr double t862 = t364 * t373; + constexpr double t871 = t372 * t381; + constexpr double t880 = t381 * gamma_ab; + constexpr double t881 = t380 * t880; + constexpr double t1787 = t101 * t129; + constexpr double t1797 = t115 * t140; + constexpr double t1809 = t128 * t633; + constexpr double t1821 = t140 * t116; + constexpr double t1822 = t139 * t1821; + constexpr double t2025 = t164 * t164; + constexpr double t2026 = 0.1e1 / t2025; + constexpr double t2067 = t37 * t15; + constexpr double t2254 = t356 * t373; + constexpr double t2270 = t364 * t381; + constexpr double t2287 = t372 * t880; + constexpr double t2304 = t381 * t365; + constexpr double t2305 = t380 * t2304; + constexpr double t2322 = alpha_ab * alpha_ab; + constexpr double t2386 = alpha_ss * alpha_ss; + + + const double t3 = rho_a - rho_b; + const double t4 = rho_a + rho_b; + const double t5 = 0.1e1 / t4; + const double t6 = t3 * t5; + const double t7 = 0.1e1 + t6; + const double t8 = t7 <= zeta_tol; + const double t9 = rho_a <= dens_tol || t8; + const double t10 = piecewise_functor_3( t8, zeta_tol, t7 ); + const double t18 = safe_math::cbrt( t4 ); + const double t19 = 0.1e1 / t18; + const double t21 = t19 * t20; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = 0.1e1 / t22; + const double t24 = safe_math::cbrt( t7 ); + const double t26 = piecewise_functor_3( t8, t23, 0.1e1 / t24 ); + const double t28 = t17 * t21 * t26; + const double t30 = 0.1e1 + 0.53425e-1 * t28; + const double t31 = safe_math::sqrt( t28 ); + const double t34 = pow_3_2( t28 ); + const double t40 = t18 * t18; + const double t41 = 0.1e1 / t40; + const double t43 = t41 * t42; + const double t44 = t26 * t26; + const double t46 = t39 * t43 * t44; + const double t48 = 0.379785e1 * t31 + 0.8969e0 * t28 + 0.204775e0 * t34 + 0.123235e0 * t46; + const double t51 = 0.1e1 + 0.16081979498692535067e2 / t48; + const double t52 = safe_math::log( t51 ); + const double t54 = 0.621814e-1 * t30 * t52; + const double t56 = t22 * zeta_tol; + const double t58 = piecewise_functor_3( 0.2e1 <= zeta_tol, t56, 0.2e1 * t20 ); + const double t60 = piecewise_functor_3( 0.e0 <= zeta_tol, t56, 0.0 ); + const double t64 = 0.1e1 / ( 0.2e1 * t20 - 0.2e1 ); + const double t65 = ( t58 + t60 - 0.2e1 ) * t64; + const double t67 = 0.1e1 + 0.5137e-1 * t28; + const double t72 = 0.705945e1 * t31 + 0.1549425e1 * t28 + 0.420775e0 * t34 + 0.1562925e0 * t46; + const double t75 = 0.1e1 + 0.32163958997385070134e2 / t72; + const double t76 = safe_math::log( t75 ); + const double t80 = 0.1e1 + 0.278125e-1 * t28; + const double t85 = 0.51785e1 * t31 + 0.905775e0 * t28 + 0.1100325e0 * t34 + 0.1241775e0 * t46; + const double t88 = 0.1e1 + 0.29608749977793437516e2 / t85; + const double t89 = safe_math::log( t88 ); + const double t90 = t80 * t89; + const double t96 = -t54 + t65 * ( -0.310907e-1 * t67 * t76 + t54 - 0.19751673498613801407e-1 * t90 ) + 0.19751673498613801407e-1 * t65 * t90; + const double t99 = piecewise_functor_3( t9, 0.0, t10 * t96 / 0.2e1 ); + const double t103 = rho_a * rho_a; + const double t104 = safe_math::cbrt( rho_a ); + const double t105 = t104 * t104; + const double t107 = 0.1e1 / t105 / t103; + const double t108 = sigma_aa * t107; + const double t111 = gamma_ss * sigma_aa * t107 + 0.1e1; + const double t112 = 0.1e1 / t111; + const double t118 = sigma_aa * sigma_aa; + const double t119 = t103 * t103; + const double t120 = t119 * rho_a; + const double t122 = 0.1e1 / t104 / t120; + const double t124 = t111 * t111; + const double t125 = 0.1e1 / t124; + const double t131 = t118 * sigma_aa; + const double t132 = t119 * t119; + const double t133 = 0.1e1 / t132; + const double t135 = t124 * t111; + const double t136 = 0.1e1 / t135; + const double t142 = t118 * t118; + const double t143 = t132 * t103; + const double t145 = 0.1e1 / t105 / t143; + const double t147 = t124 * t124; + const double t148 = 0.1e1 / t147; + const double t151 = t117 * t118 * t122 * t125 + t130 * t131 * t133 * t136 + t141 * t142 * t145 * t148 + t102 * t108 * t112 + t100; + const double t152 = t99 * t151; + const double t153 = 0.1e1 / rho_a; + const double t154 = sigma_aa * t153; + const double t155 = 0.1e1 / tau_a; + const double t158 = 0.1e1 - t154 * t155 / 0.8e1; + const double t159 = tau_a * tau_a; + const double t160 = t103 * rho_a; + const double t162 = 0.1e1 / t104 / t160; + const double t168 = safe_math::exp( -0.4e1 * t159 * t162 * t165 ); + const double t169 = 0.1e1 - t168; + const double t170 = t158 * t169; + const double t171 = t152 * t170; + const double t173 = 0.1e1 - t6; + const double t174 = t173 <= zeta_tol; + const double t175 = rho_b <= dens_tol || t174; + const double t176 = piecewise_functor_3( t174, zeta_tol, t173 ); + const double t177 = safe_math::cbrt( t173 ); + const double t179 = piecewise_functor_3( t174, t23, 0.1e1 / t177 ); + const double t181 = t17 * t21 * t179; + const double t183 = 0.1e1 + 0.53425e-1 * t181; + const double t184 = safe_math::sqrt( t181 ); + const double t187 = pow_3_2( t181 ); + const double t189 = t179 * t179; + const double t191 = t39 * t43 * t189; + const double t193 = 0.379785e1 * t184 + 0.8969e0 * t181 + 0.204775e0 * t187 + 0.123235e0 * t191; + const double t196 = 0.1e1 + 0.16081979498692535067e2 / t193; + const double t197 = safe_math::log( t196 ); + const double t199 = 0.621814e-1 * t183 * t197; + const double t201 = 0.1e1 + 0.5137e-1 * t181; + const double t206 = 0.705945e1 * t184 + 0.1549425e1 * t181 + 0.420775e0 * t187 + 0.1562925e0 * t191; + const double t209 = 0.1e1 + 0.32163958997385070134e2 / t206; + const double t210 = safe_math::log( t209 ); + const double t214 = 0.1e1 + 0.278125e-1 * t181; + const double t219 = 0.51785e1 * t184 + 0.905775e0 * t181 + 0.1100325e0 * t187 + 0.1241775e0 * t191; + const double t222 = 0.1e1 + 0.29608749977793437516e2 / t219; + const double t223 = safe_math::log( t222 ); + const double t224 = t214 * t223; + const double t230 = -t199 + t65 * ( -0.310907e-1 * t201 * t210 + t199 - 0.19751673498613801407e-1 * t224 ) + 0.19751673498613801407e-1 * t65 * t224; + const double t233 = piecewise_functor_3( t175, 0.0, t176 * t230 / 0.2e1 ); + const double t234 = rho_b * rho_b; + const double t235 = safe_math::cbrt( rho_b ); + const double t236 = t235 * t235; + const double t238 = 0.1e1 / t236 / t234; + const double t239 = sigma_bb * t238; + const double t242 = gamma_ss * sigma_bb * t238 + 0.1e1; + const double t243 = 0.1e1 / t242; + const double t246 = sigma_bb * sigma_bb; + const double t247 = t234 * t234; + const double t248 = t247 * rho_b; + const double t250 = 0.1e1 / t235 / t248; + const double t252 = t242 * t242; + const double t253 = 0.1e1 / t252; + const double t256 = t246 * sigma_bb; + const double t257 = t247 * t247; + const double t258 = 0.1e1 / t257; + const double t260 = t252 * t242; + const double t261 = 0.1e1 / t260; + const double t264 = t246 * t246; + const double t265 = t257 * t234; + const double t267 = 0.1e1 / t236 / t265; + const double t269 = t252 * t252; + const double t270 = 0.1e1 / t269; + const double t273 = t117 * t246 * t250 * t253 + t130 * t256 * t258 * t261 + t141 * t264 * t267 * t270 + t102 * t239 * t243 + t100; + const double t274 = t233 * t273; + const double t275 = 0.1e1 / rho_b; + const double t276 = sigma_bb * t275; + const double t277 = 0.1e1 / tau_b; + const double t280 = 0.1e1 - t276 * t277 / 0.8e1; + const double t281 = tau_b * tau_b; + const double t282 = t234 * rho_b; + const double t284 = 0.1e1 / t235 / t282; + const double t288 = safe_math::exp( -0.4e1 * t281 * t284 * t165 ); + const double t289 = 0.1e1 - t288; + const double t290 = t280 * t289; + const double t291 = t274 * t290; + const double t293 = t14 * t16 * t19; + const double t295 = 0.1e1 + 0.53425e-1 * t293; + const double t296 = safe_math::sqrt( t293 ); + const double t299 = pow_3_2( t293 ); + const double t302 = t38 * t15 * t41; + const double t304 = 0.379785e1 * t296 + 0.8969e0 * t293 + 0.204775e0 * t299 + 0.123235e0 * t302; + const double t307 = 0.1e1 + 0.16081979498692535067e2 / t304; + const double t308 = safe_math::log( t307 ); + const double t310 = 0.621814e-1 * t295 * t308; + const double t311 = t3 * t3; + const double t312 = t311 * t311; + const double t313 = t4 * t4; + const double t314 = t313 * t313; + const double t315 = 0.1e1 / t314; + const double t316 = t312 * t315; + const double t317 = t24 * t7; + const double t318 = piecewise_functor_3( t8, t56, t317 ); + const double t319 = t177 * t173; + const double t320 = piecewise_functor_3( t174, t56, t319 ); + const double t321 = t318 + t320 - 0.2e1; + const double t322 = t321 * t64; + const double t324 = 0.1e1 + 0.5137e-1 * t293; + const double t329 = 0.705945e1 * t296 + 0.1549425e1 * t293 + 0.420775e0 * t299 + 0.1562925e0 * t302; + const double t332 = 0.1e1 + 0.32163958997385070134e2 / t329; + const double t333 = safe_math::log( t332 ); + const double t337 = 0.1e1 + 0.278125e-1 * t293; + const double t342 = 0.51785e1 * t296 + 0.905775e0 * t293 + 0.1100325e0 * t299 + 0.1241775e0 * t302; + const double t345 = 0.1e1 + 0.29608749977793437516e2 / t342; + const double t346 = safe_math::log( t345 ); + const double t347 = t337 * t346; + const double t349 = -0.310907e-1 * t324 * t333 + t310 - 0.19751673498613801407e-1 * t347; + const double t350 = t322 * t349; + const double t354 = -t310 + t316 * t350 + 0.19751673498613801407e-1 * t322 * t347 - t99 - t233; + const double t358 = t108 + t239; + const double t360 = gamma_ab * t358 + 0.1e1; + const double t361 = 0.1e1 / t360; + const double t367 = t358 * t358; + const double t368 = t360 * t360; + const double t369 = 0.1e1 / t368; + const double t375 = t367 * t358; + const double t376 = t368 * t360; + const double t377 = 0.1e1 / t376; + const double t383 = t367 * t367; + const double t384 = t368 * t368; + const double t385 = 0.1e1 / t384; + const double t388 = t357 * t358 * t361 + t366 * t367 * t369 + t374 * t375 * t377 + t382 * t383 * t385 + cab_0; + const double t389 = t354 * t388; + const double t392 = 0.1e1 / t105 / rho_a; + const double t394 = 0.2e1 * tau_a * t392; + const double t404 = 0.1e1 + alpha_ss * ( t108 + t394 - t401 ); + const double t408 = t407 * sigma_aa; + const double t411 = t394 - t401; + const double t413 = t408 * t107 + t410 * t411; + const double t414 = t404 * t404; + const double t415 = 0.1e1 / t414; + const double t418 = t417 * t118; + const double t421 = t420 * sigma_aa; + const double t425 = t411 * t411; + const double t427 = t421 * t107 * t411 + t418 * t122 + t424 * t425; + const double t428 = t414 * t404; + const double t429 = 0.1e1 / t428; + const double t431 = t390 / t404 + t413 * t415 + t427 * t429; + const double t432 = t99 * t431; + const double t433 = t432 * t158; + const double t435 = 0.1e1 / t236 / rho_b; + const double t437 = 0.2e1 * tau_b * t435; + const double t440 = 0.1e1 + alpha_ss * ( t239 + t437 - t401 ); + const double t443 = t407 * sigma_bb; + const double t445 = t437 - t401; + const double t447 = t443 * t238 + t410 * t445; + const double t448 = t440 * t440; + const double t449 = 0.1e1 / t448; + const double t451 = t417 * t246; + const double t453 = t420 * sigma_bb; + const double t456 = t445 * t445; + const double t458 = t453 * t238 * t445 + t451 * t250 + t424 * t456; + const double t459 = t448 * t440; + const double t460 = 0.1e1 / t459; + const double t462 = t390 / t440 + t447 * t449 + t458 * t460; + const double t463 = t233 * t462; + const double t464 = t463 * t280; + const double t469 = 0.1e1 + alpha_ab * ( t108 + t239 + t394 + t437 - t466 ); + const double t475 = t394 + t437 - t466; + const double t477 = t472 * t358 + t474 * t475; + const double t478 = t469 * t469; + const double t479 = 0.1e1 / t478; + const double t484 = t483 * t358; + const double t487 = t475 * t475; + const double t489 = t481 * t367 + t484 * t475 + t486 * t487; + const double t490 = t478 * t469; + const double t491 = 0.1e1 / t490; + const double t493 = t465 / t469 + t477 * t479 + t489 * t491; + const double t494 = t354 * t493; + const double t495 = 0.1e1 / t313; + const double t496 = t3 * t495; + const double t497 = t5 - t496; + const double t498 = piecewise_functor_3( t8, 0.0, t497 ); + const double t501 = 0.1e1 / t18 / t4; + const double t502 = t501 * t20; + const double t504 = t17 * t502 * t26; + const double t505 = 0.17808333333333333333e-1 * t504; + const double t506 = 0.1e1 / t317; + const double t509 = piecewise_functor_3( t8, 0.0, -t506 * t497 / 0.3e1 ); + const double t511 = t17 * t21 * t509; + const double t513 = -t505 + 0.53425e-1 * t511; + const double t515 = 0.621814e-1 * t513 * t52; + const double t516 = t48 * t48; + const double t517 = 0.1e1 / t516; + const double t518 = t30 * t517; + const double t519 = 0.1e1 / t31; + const double t520 = t504 / 0.3e1; + const double t521 = -t520 + t511; + const double t522 = t519 * t521; + const double t524 = 0.29896666666666666667e0 * t504; + const double t526 = safe_math::sqrt( t28 ); + const double t527 = t526 * t521; + const double t530 = 0.1e1 / t40 / t4; + const double t531 = t530 * t42; + const double t533 = t39 * t531 * t44; + const double t534 = 0.82156666666666666667e-1 * t533; + const double t535 = t26 * t509; + const double t537 = t39 * t43 * t535; + const double t539 = 0.1898925e1 * t522 - t524 + 0.8969e0 * t511 + 0.3071625e0 * t527 - t534 + 0.24647e0 * t537; + const double t540 = 0.1e1 / t51; + const double t541 = t539 * t540; + const double t543 = 0.1e1 * t518 * t541; + const double t544 = 0.17123333333333333333e-1 * t504; + const double t546 = -t544 + 0.5137e-1 * t511; + const double t549 = t72 * t72; + const double t550 = 0.1e1 / t549; + const double t551 = t67 * t550; + const double t553 = 0.516475e0 * t504; + const double t556 = 0.104195e0 * t533; + const double t558 = 0.3529725e1 * t522 - t553 + 0.1549425e1 * t511 + 0.6311625e0 * t527 - t556 + 0.312585e0 * t537; + const double t559 = 0.1e1 / t75; + const double t560 = t558 * t559; + const double t563 = 0.92708333333333333333e-2 * t504; + const double t565 = -t563 + 0.278125e-1 * t511; + const double t566 = t565 * t89; + const double t568 = t85 * t85; + const double t569 = 0.1e1 / t568; + const double t570 = t80 * t569; + const double t572 = 0.301925e0 * t504; + const double t575 = 0.82785e-1 * t533; + const double t577 = 0.258925e1 * t522 - t572 + 0.905775e0 * t511 + 0.16504875e0 * t527 - t575 + 0.248355e0 * t537; + const double t578 = 0.1e1 / t88; + const double t579 = t577 * t578; + const double t586 = t65 * t80; + const double t588 = t569 * t577 * t578; + const double t591 = -t515 + t543 + t65 * ( -0.310907e-1 * t546 * t76 + 0.1e1 * t551 * t560 + t515 - t543 - 0.19751673498613801407e-1 * t566 + 0.5848223622634646207e0 * t570 * t579 ) + 0.19751673498613801407e-1 * t65 * t566 - 0.5848223622634646207e0 * t586 * t588; + const double t595 = piecewise_functor_3( t9, 0.0, t10 * t591 / 0.2e1 + t498 * t96 / 0.2e1 ); + const double t596 = t595 * t151; + const double t597 = t596 * t170; + const double t599 = 0.1e1 / t105 / t160; + const double t600 = sigma_aa * t599; + const double t605 = t119 * t103; + const double t607 = 0.1e1 / t104 / t605; + const double t609 = t118 * t607 * t125; + const double t615 = t132 * rho_a; + const double t616 = 0.1e1 / t615; + const double t618 = t131 * t616 * t136; + const double t624 = t132 * t160; + const double t626 = 0.1e1 / t105 / t624; + const double t628 = t142 * t626 * t148; + const double t635 = t142 * sigma_aa; + const double t636 = t132 * t605; + const double t638 = 0.1e1 / t104 / t636; + const double t641 = 0.1e1 / t147 / t111; + const double t645 = -0.8e1 / 0.3e1 * t102 * t600 * t112 + 0.8e1 / 0.3e1 * t604 * t609 - 0.16e2 / 0.3e1 * t117 * t609 + 0.16e2 / 0.3e1 * t614 * t618 - 0.8e1 * t130 * t618 + 0.8e1 * t623 * t628 - 0.32e2 / 0.3e1 * t141 * t628 + 0.32e2 / 0.3e1 * t634 * t635 * t638 * t641; + const double t646 = t99 * t645; + const double t647 = t646 * t170; + const double t648 = t152 * sigma_aa; + const double t649 = 0.1e1 / t103; + const double t650 = t649 * t155; + const double t651 = t650 * t169; + const double t652 = t648 * t651; + const double t653 = t652 / 0.8e1; + const double t654 = t152 * t158; + const double t656 = 0.1e1 / t104 / t119; + const double t658 = t165 * t168; + const double t659 = t159 * t656 * t658; + const double t660 = t654 * t659; + const double t661 = 0.4e2 / 0.3e1 * t660; + const double t662 = -t497; + const double t663 = piecewise_functor_3( t174, 0.0, t662 ); + const double t666 = t17 * t502 * t179; + const double t667 = 0.17808333333333333333e-1 * t666; + const double t668 = 0.1e1 / t319; + const double t671 = piecewise_functor_3( t174, 0.0, -t668 * t662 / 0.3e1 ); + const double t673 = t17 * t21 * t671; + const double t675 = -t667 + 0.53425e-1 * t673; + const double t677 = 0.621814e-1 * t675 * t197; + const double t678 = t193 * t193; + const double t679 = 0.1e1 / t678; + const double t680 = t183 * t679; + const double t681 = 0.1e1 / t184; + const double t682 = t666 / 0.3e1; + const double t683 = -t682 + t673; + const double t684 = t681 * t683; + const double t686 = 0.29896666666666666667e0 * t666; + const double t688 = safe_math::sqrt( t181 ); + const double t689 = t688 * t683; + const double t692 = t39 * t531 * t189; + const double t693 = 0.82156666666666666667e-1 * t692; + const double t694 = t179 * t671; + const double t696 = t39 * t43 * t694; + const double t698 = 0.1898925e1 * t684 - t686 + 0.8969e0 * t673 + 0.3071625e0 * t689 - t693 + 0.24647e0 * t696; + const double t699 = 0.1e1 / t196; + const double t700 = t698 * t699; + const double t702 = 0.1e1 * t680 * t700; + const double t703 = 0.17123333333333333333e-1 * t666; + const double t705 = -t703 + 0.5137e-1 * t673; + const double t708 = t206 * t206; + const double t709 = 0.1e1 / t708; + const double t710 = t201 * t709; + const double t712 = 0.516475e0 * t666; + const double t715 = 0.104195e0 * t692; + const double t717 = 0.3529725e1 * t684 - t712 + 0.1549425e1 * t673 + 0.6311625e0 * t689 - t715 + 0.312585e0 * t696; + const double t718 = 0.1e1 / t209; + const double t719 = t717 * t718; + const double t722 = 0.92708333333333333333e-2 * t666; + const double t724 = -t722 + 0.278125e-1 * t673; + const double t725 = t724 * t223; + const double t727 = t219 * t219; + const double t728 = 0.1e1 / t727; + const double t729 = t214 * t728; + const double t731 = 0.301925e0 * t666; + const double t734 = 0.82785e-1 * t692; + const double t736 = 0.258925e1 * t684 - t731 + 0.905775e0 * t673 + 0.16504875e0 * t689 - t734 + 0.248355e0 * t696; + const double t737 = 0.1e1 / t222; + const double t738 = t736 * t737; + const double t745 = t65 * t214; + const double t747 = t728 * t736 * t737; + const double t750 = -t677 + t702 + t65 * ( -0.310907e-1 * t705 * t210 + 0.1e1 * t710 * t719 + t677 - t702 - 0.19751673498613801407e-1 * t725 + 0.5848223622634646207e0 * t729 * t738 ) + 0.19751673498613801407e-1 * t65 * t725 - 0.5848223622634646207e0 * t745 * t747; + const double t754 = piecewise_functor_3( t175, 0.0, t176 * t750 / 0.2e1 + t663 * t230 / 0.2e1 ); + const double t755 = t754 * t273; + const double t756 = t755 * t290; + const double t757 = t16 * t501; + const double t760 = 0.11073470983333333333e-2 * t14 * t757 * t308; + const double t761 = t304 * t304; + const double t762 = 0.1e1 / t761; + const double t763 = t295 * t762; + const double t765 = 0.1e1 / t296 * t11; + const double t767 = t766 * t501; + const double t768 = t765 * t767; + const double t770 = t14 * t757; + const double t772 = safe_math::sqrt( t293 ); + const double t773 = t772 * t11; + const double t774 = t773 * t767; + const double t777 = t38 * t15 * t530; + const double t779 = -0.632975e0 * t768 - 0.29896666666666666667e0 * t770 - 0.1023875e0 * t774 - 0.82156666666666666667e-1 * t777; + const double t780 = 0.1e1 / t307; + const double t781 = t779 * t780; + const double t783 = 0.1e1 * t763 * t781; + const double t784 = t311 * t3; + const double t785 = t784 * t315; + const double t787 = 0.4e1 * t785 * t350; + const double t788 = t314 * t4; + const double t789 = 0.1e1 / t788; + const double t790 = t312 * t789; + const double t792 = 0.4e1 * t790 * t350; + const double t795 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t497 ); + const double t798 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t662 ); + const double t800 = ( t795 + t798 ) * t64; + const double t801 = t800 * t349; + const double t806 = t329 * t329; + const double t807 = 0.1e1 / t806; + const double t808 = t324 * t807; + const double t813 = -0.1176575e1 * t768 - 0.516475e0 * t770 - 0.2103875e0 * t774 - 0.104195e0 * t777; + const double t814 = 0.1e1 / t332; + const double t815 = t813 * t814; + const double t821 = t342 * t342; + const double t822 = 0.1e1 / t821; + const double t823 = t337 * t822; + const double t828 = -0.86308333333333333334e0 * t768 - 0.301925e0 * t770 - 0.5501625e-1 * t774 - 0.82785e-1 * t777; + const double t829 = 0.1e1 / t345; + const double t830 = t828 * t829; + const double t833 = 0.53237641966666666666e-3 * t14 * t757 * t333 + 0.1e1 * t808 * t815 - t760 - t783 + 0.18311447306006545054e-3 * t14 * t757 * t346 + 0.5848223622634646207e0 * t823 * t830; + const double t834 = t322 * t833; + const double t835 = t316 * t834; + const double t838 = t322 * t11; + const double t840 = t766 * t501 * t346; + const double t842 = 0.18311447306006545054e-3 * t838 * t840; + const double t843 = t322 * t337; + const double t845 = t822 * t828 * t829; + const double t847 = 0.5848223622634646207e0 * t843 * t845; + const double t848 = t760 + t783 + t787 - t792 + t316 * t801 + t835 + 0.19751673498613801407e-1 * t800 * t347 - t842 - t847 - t595 - t754; + const double t849 = t848 * t388; + const double t854 = t853 * t358; + const double t855 = t369 * sigma_aa; + const double t856 = t855 * t599; + const double t859 = t366 * t358; + const double t863 = t862 * t367; + const double t864 = t377 * sigma_aa; + const double t865 = t864 * t599; + const double t868 = t374 * t367; + const double t872 = t871 * t375; + const double t873 = t385 * sigma_aa; + const double t874 = t873 * t599; + const double t877 = t382 * t375; + const double t882 = t881 * t383; + const double t884 = 0.1e1 / t384 / t360; + const double t885 = t884 * sigma_aa; + const double t889 = -0.8e1 / 0.3e1 * t357 * t600 * t361 + 0.8e1 / 0.3e1 * t854 * t856 - 0.16e2 / 0.3e1 * t859 * t856 + 0.16e2 / 0.3e1 * t863 * t865 - 0.8e1 * t868 * t865 + 0.8e1 * t872 * t874 - 0.32e2 / 0.3e1 * t877 * t874 + 0.32e2 / 0.3e1 * t882 * t885 * t599; + const double t890 = t354 * t889; + const double t891 = t595 * t431; + const double t892 = t891 * t158; + const double t893 = t390 * t415; + const double t895 = tau_a * t107; + const double t897 = -0.8e1 / 0.3e1 * t600 - 0.1e2 / 0.3e1 * t895; + const double t898 = alpha_ss * t897; + const double t902 = t410 * tau_a; + const double t905 = -0.8e1 / 0.3e1 * t408 * t599 - 0.1e2 / 0.3e1 * t902 * t107; + const double t907 = t413 * t429; + const double t915 = t122 * tau_a; + const double t918 = t424 * t411; + const double t921 = -0.16e2 / 0.3e1 * t418 * t607 - 0.8e1 / 0.3e1 * t421 * t599 * t411 - 0.1e2 / 0.3e1 * t421 * t915 - 0.2e2 / 0.3e1 * t918 * t895; + const double t923 = t414 * t414; + const double t924 = 0.1e1 / t923; + const double t925 = t427 * t924; + const double t928 = t905 * t415 + t921 * t429 - t893 * t898 - 0.2e1 * t907 * t898 - 0.3e1 * t925 * t898; + const double t929 = t99 * t928; + const double t930 = t929 * t158; + const double t931 = sigma_aa * t649; + const double t932 = t931 * t155; + const double t933 = t432 * t932; + const double t934 = t933 / 0.8e1; + const double t935 = t754 * t462; + const double t936 = t935 * t280; + const double t937 = t848 * t493; + const double t938 = t465 * t479; + const double t939 = alpha_ab * t897; + const double t941 = t472 * sigma_aa; + const double t944 = t474 * tau_a; + const double t947 = -0.8e1 / 0.3e1 * t941 * t599 - 0.1e2 / 0.3e1 * t944 * t107; + const double t949 = t477 * t491; + const double t952 = t481 * t358; + const double t955 = t483 * sigma_aa; + const double t961 = t486 * t475; + const double t964 = -0.16e2 / 0.3e1 * t952 * t600 - 0.8e1 / 0.3e1 * t955 * t599 * t475 - 0.1e2 / 0.3e1 * t484 * t895 - 0.2e2 / 0.3e1 * t961 * t895; + const double t966 = t478 * t478; + const double t967 = 0.1e1 / t966; + const double t968 = t489 * t967; + const double t971 = t947 * t479 + t964 * t491 - t938 * t939 - 0.2e1 * t949 * t939 - 0.3e1 * t968 * t939; + const double t972 = t354 * t971; + const double t973 = t597 + t647 + t653 - t661 + t756 + t849 + t890 + t892 + t930 + t934 + t936 + t937 + t972; + const double t975 = -t5 - t496; + const double t976 = piecewise_functor_3( t8, 0.0, t975 ); + const double t980 = piecewise_functor_3( t8, 0.0, -t506 * t975 / 0.3e1 ); + const double t982 = t17 * t21 * t980; + const double t984 = -t505 + 0.53425e-1 * t982; + const double t986 = 0.621814e-1 * t984 * t52; + const double t987 = -t520 + t982; + const double t988 = t519 * t987; + const double t991 = t526 * t987; + const double t993 = t26 * t980; + const double t995 = t39 * t43 * t993; + const double t997 = 0.1898925e1 * t988 - t524 + 0.8969e0 * t982 + 0.3071625e0 * t991 - t534 + 0.24647e0 * t995; + const double t998 = t997 * t540; + const double t1000 = 0.1e1 * t518 * t998; + const double t1002 = -t544 + 0.5137e-1 * t982; + const double t1009 = 0.3529725e1 * t988 - t553 + 0.1549425e1 * t982 + 0.6311625e0 * t991 - t556 + 0.312585e0 * t995; + const double t1010 = t1009 * t559; + const double t1014 = -t563 + 0.278125e-1 * t982; + const double t1015 = t1014 * t89; + const double t1021 = 0.258925e1 * t988 - t572 + 0.905775e0 * t982 + 0.16504875e0 * t991 - t575 + 0.248355e0 * t995; + const double t1022 = t1021 * t578; + const double t1030 = t569 * t1021 * t578; + const double t1033 = -t986 + t1000 + t65 * ( -0.310907e-1 * t1002 * t76 + 0.1e1 * t551 * t1010 + t986 - t1000 - 0.19751673498613801407e-1 * t1015 + 0.5848223622634646207e0 * t570 * t1022 ) + 0.19751673498613801407e-1 * t65 * t1015 - 0.5848223622634646207e0 * t586 * t1030; + const double t1037 = piecewise_functor_3( t9, 0.0, t10 * t1033 / 0.2e1 + t976 * t96 / 0.2e1 ); + const double t1038 = t1037 * t151; + const double t1039 = t1038 * t170; + const double t1040 = -t975; + const double t1041 = piecewise_functor_3( t174, 0.0, t1040 ); + const double t1045 = piecewise_functor_3( t174, 0.0, -t668 * t1040 / 0.3e1 ); + const double t1047 = t17 * t21 * t1045; + const double t1049 = -t667 + 0.53425e-1 * t1047; + const double t1051 = 0.621814e-1 * t1049 * t197; + const double t1052 = -t682 + t1047; + const double t1053 = t681 * t1052; + const double t1056 = t688 * t1052; + const double t1058 = t179 * t1045; + const double t1060 = t39 * t43 * t1058; + const double t1062 = 0.1898925e1 * t1053 - t686 + 0.8969e0 * t1047 + 0.3071625e0 * t1056 - t693 + 0.24647e0 * t1060; + const double t1063 = t1062 * t699; + const double t1065 = 0.1e1 * t680 * t1063; + const double t1067 = -t703 + 0.5137e-1 * t1047; + const double t1074 = 0.3529725e1 * t1053 - t712 + 0.1549425e1 * t1047 + 0.6311625e0 * t1056 - t715 + 0.312585e0 * t1060; + const double t1075 = t1074 * t718; + const double t1079 = -t722 + 0.278125e-1 * t1047; + const double t1080 = t1079 * t223; + const double t1086 = 0.258925e1 * t1053 - t731 + 0.905775e0 * t1047 + 0.16504875e0 * t1056 - t734 + 0.248355e0 * t1060; + const double t1087 = t1086 * t737; + const double t1095 = t728 * t1086 * t737; + const double t1098 = -t1051 + t1065 + t65 * ( -0.310907e-1 * t1067 * t210 + 0.1e1 * t710 * t1075 + t1051 - t1065 - 0.19751673498613801407e-1 * t1080 + 0.5848223622634646207e0 * t729 * t1087 ) + 0.19751673498613801407e-1 * t65 * t1080 - 0.5848223622634646207e0 * t745 * t1095; + const double t1102 = piecewise_functor_3( t175, 0.0, t1041 * t230 / 0.2e1 + t176 * t1098 / 0.2e1 ); + const double t1103 = t1102 * t273; + const double t1104 = t1103 * t290; + const double t1106 = 0.1e1 / t236 / t282; + const double t1107 = sigma_bb * t1106; + const double t1111 = t247 * t234; + const double t1113 = 0.1e1 / t235 / t1111; + const double t1115 = t246 * t1113 * t253; + const double t1120 = t257 * rho_b; + const double t1121 = 0.1e1 / t1120; + const double t1123 = t256 * t1121 * t261; + const double t1128 = t257 * t282; + const double t1130 = 0.1e1 / t236 / t1128; + const double t1132 = t264 * t1130 * t270; + const double t1137 = t264 * sigma_bb; + const double t1138 = t257 * t1111; + const double t1140 = 0.1e1 / t235 / t1138; + const double t1143 = 0.1e1 / t269 / t242; + const double t1147 = -0.8e1 / 0.3e1 * t102 * t1107 * t243 + 0.8e1 / 0.3e1 * t604 * t1115 - 0.16e2 / 0.3e1 * t117 * t1115 + 0.16e2 / 0.3e1 * t614 * t1123 - 0.8e1 * t130 * t1123 + 0.8e1 * t623 * t1132 - 0.32e2 / 0.3e1 * t141 * t1132 + 0.32e2 / 0.3e1 * t634 * t1137 * t1140 * t1143; + const double t1148 = t233 * t1147; + const double t1149 = t1148 * t290; + const double t1150 = t274 * sigma_bb; + const double t1151 = 0.1e1 / t234; + const double t1152 = t1151 * t277; + const double t1153 = t1152 * t289; + const double t1154 = t1150 * t1153; + const double t1155 = t1154 / 0.8e1; + const double t1156 = t274 * t280; + const double t1158 = 0.1e1 / t235 / t247; + const double t1160 = t165 * t288; + const double t1161 = t281 * t1158 * t1160; + const double t1162 = t1156 * t1161; + const double t1163 = 0.4e2 / 0.3e1 * t1162; + const double t1166 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.3e1 * t24 * t975 ); + const double t1169 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.3e1 * t177 * t1040 ); + const double t1171 = ( t1166 + t1169 ) * t64; + const double t1172 = t1171 * t349; + const double t1176 = t760 + t783 - t787 - t792 + t316 * t1172 + t835 + 0.19751673498613801407e-1 * t1171 * t347 - t842 - t847 - t1037 - t1102; + const double t1177 = t1176 * t388; + const double t1181 = t369 * sigma_bb; + const double t1182 = t1181 * t1106; + const double t1187 = t377 * sigma_bb; + const double t1188 = t1187 * t1106; + const double t1193 = t385 * sigma_bb; + const double t1194 = t1193 * t1106; + const double t1199 = t884 * sigma_bb; + const double t1203 = -0.8e1 / 0.3e1 * t357 * t1107 * t361 + 0.8e1 / 0.3e1 * t854 * t1182 - 0.16e2 / 0.3e1 * t859 * t1182 + 0.16e2 / 0.3e1 * t863 * t1188 - 0.8e1 * t868 * t1188 + 0.8e1 * t872 * t1194 - 0.32e2 / 0.3e1 * t877 * t1194 + 0.32e2 / 0.3e1 * t882 * t1199 * t1106; + const double t1204 = t354 * t1203; + const double t1205 = t1037 * t431; + const double t1206 = t1205 * t158; + const double t1207 = t1102 * t462; + const double t1208 = t1207 * t280; + const double t1209 = t390 * t449; + const double t1211 = tau_b * t238; + const double t1213 = -0.8e1 / 0.3e1 * t1107 - 0.1e2 / 0.3e1 * t1211; + const double t1214 = alpha_ss * t1213; + const double t1218 = t410 * tau_b; + const double t1221 = -0.8e1 / 0.3e1 * t443 * t1106 - 0.1e2 / 0.3e1 * t1218 * t238; + const double t1223 = t447 * t460; + const double t1231 = t250 * tau_b; + const double t1234 = t424 * t445; + const double t1237 = -0.16e2 / 0.3e1 * t451 * t1113 - 0.8e1 / 0.3e1 * t453 * t1106 * t445 - 0.1e2 / 0.3e1 * t453 * t1231 - 0.2e2 / 0.3e1 * t1234 * t1211; + const double t1239 = t448 * t448; + const double t1240 = 0.1e1 / t1239; + const double t1241 = t458 * t1240; + const double t1244 = -t1209 * t1214 - 0.2e1 * t1223 * t1214 - 0.3e1 * t1241 * t1214 + t1221 * t449 + t1237 * t460; + const double t1245 = t233 * t1244; + const double t1246 = t1245 * t280; + const double t1247 = sigma_bb * t1151; + const double t1248 = t1247 * t277; + const double t1249 = t463 * t1248; + const double t1250 = t1249 / 0.8e1; + const double t1251 = t1176 * t493; + const double t1252 = alpha_ab * t1213; + const double t1254 = t472 * sigma_bb; + const double t1257 = t474 * tau_b; + const double t1260 = -0.8e1 / 0.3e1 * t1254 * t1106 - 0.1e2 / 0.3e1 * t1257 * t238; + const double t1266 = t483 * sigma_bb; + const double t1274 = -0.16e2 / 0.3e1 * t952 * t1107 - 0.8e1 / 0.3e1 * t1266 * t1106 * t475 - 0.1e2 / 0.3e1 * t484 * t1211 - 0.2e2 / 0.3e1 * t961 * t1211; + const double t1278 = -t938 * t1252 - 0.2e1 * t949 * t1252 - 0.3e1 * t968 * t1252 + t1260 * t479 + t1274 * t491; + const double t1279 = t354 * t1278; + const double t1280 = t1039 + t1104 + t1149 + t1155 - t1163 + t1177 + t1204 + t1206 + t1208 + t1246 + t1250 + t1251 + t1279; + const double t1285 = sigma_aa * t122 * t125; + const double t1290 = t118 * t133 * t136; + const double t1296 = t131 * t145 * t148; + const double t1301 = t132 * t120; + const double t1303 = 0.1e1 / t104 / t1301; + const double t1308 = -0.4e1 * t634 * t142 * t1303 * t641 + t102 * t107 * t112 + 0.2e1 * t117 * t1285 - t604 * t1285 + 0.3e1 * t130 * t1290 - 0.2e1 * t614 * t1290 + 0.4e1 * t141 * t1296 - 0.3e1 * t623 * t1296; + const double t1309 = t99 * t1308; + const double t1310 = t1309 * t170; + const double t1311 = t153 * t155; + const double t1312 = t1311 * t169; + const double t1314 = t152 * t1312 / 0.8e1; + const double t1317 = t358 * t369; + const double t1318 = t1317 * t107; + const double t1322 = t367 * t377; + const double t1323 = t1322 * t107; + const double t1328 = t375 * t385; + const double t1329 = t1328 * t107; + const double t1334 = t383 * t884; + const double t1338 = -0.4e1 * t881 * t1334 * t107 + t357 * t107 * t361 + 0.2e1 * t366 * t1318 - t853 * t1318 + 0.3e1 * t374 * t1323 - 0.2e1 * t862 * t1323 + 0.4e1 * t382 * t1329 - 0.3e1 * t871 * t1329; + const double t1339 = t354 * t1338; + const double t1340 = alpha_ss * t107; + const double t1341 = t893 * t1340; + const double t1342 = t407 * t107; + const double t1344 = t907 * t1340; + const double t1346 = t417 * sigma_aa; + const double t1351 = t420 * t107 * t411 + 0.2e1 * t1346 * t122; + const double t1353 = t925 * t1340; + const double t1355 = t1342 * t415 + t1351 * t429 - t1341 - 0.2e1 * t1344 - 0.3e1 * t1353; + const double t1356 = t99 * t1355; + const double t1357 = t1356 * t158; + const double t1359 = t432 * t1311 / 0.8e1; + const double t1360 = alpha_ab * t107; + const double t1361 = t938 * t1360; + const double t1362 = t472 * t107; + const double t1364 = t949 * t1360; + const double t1368 = t483 * t107; + const double t1370 = 0.2e1 * t952 * t107 + t1368 * t475; + const double t1372 = t968 * t1360; + const double t1374 = t1362 * t479 + t1370 * t491 - t1361 - 0.2e1 * t1364 - 0.3e1 * t1372; + const double t1375 = t354 * t1374; + const double t1380 = sigma_bb * t250 * t253; + const double t1385 = t246 * t258 * t261; + const double t1391 = t256 * t267 * t270; + const double t1396 = t257 * t248; + const double t1398 = 0.1e1 / t235 / t1396; + const double t1403 = -0.4e1 * t634 * t264 * t1398 * t1143 + t102 * t238 * t243 + 0.2e1 * t117 * t1380 + 0.3e1 * t130 * t1385 - t604 * t1380 - 0.2e1 * t614 * t1385 + 0.4e1 * t141 * t1391 - 0.3e1 * t623 * t1391; + const double t1404 = t233 * t1403; + const double t1405 = t1404 * t290; + const double t1406 = t275 * t277; + const double t1407 = t1406 * t289; + const double t1409 = t274 * t1407 / 0.8e1; + const double t1412 = t1317 * t238; + const double t1416 = t1322 * t238; + const double t1421 = t1328 * t238; + const double t1429 = -0.4e1 * t881 * t1334 * t238 + t357 * t238 * t361 + 0.2e1 * t366 * t1412 - t853 * t1412 + 0.3e1 * t374 * t1416 - 0.2e1 * t862 * t1416 + 0.4e1 * t382 * t1421 - 0.3e1 * t871 * t1421; + const double t1430 = t354 * t1429; + const double t1431 = alpha_ss * t238; + const double t1432 = t1209 * t1431; + const double t1433 = t407 * t238; + const double t1435 = t1223 * t1431; + const double t1437 = t417 * sigma_bb; + const double t1442 = t420 * t238 * t445 + 0.2e1 * t1437 * t250; + const double t1444 = t1241 * t1431; + const double t1446 = t1433 * t449 + t1442 * t460 - t1432 - 0.2e1 * t1435 - 0.3e1 * t1444; + const double t1447 = t233 * t1446; + const double t1448 = t1447 * t280; + const double t1450 = t463 * t1406 / 0.8e1; + const double t1451 = alpha_ab * t238; + const double t1452 = t938 * t1451; + const double t1453 = t472 * t238; + const double t1455 = t949 * t1451; + const double t1459 = t483 * t238; + const double t1461 = t1459 * t475 + 0.2e1 * t952 * t238; + const double t1463 = t968 * t1451; + const double t1465 = t1453 * t479 + t1461 * t491 - t1452 - 0.2e1 * t1455 - 0.3e1 * t1463; + const double t1466 = t354 * t1465; + const double t1468 = 0.1e1 / t159; + const double t1469 = t153 * t1468; + const double t1470 = t1469 * t169; + const double t1472 = t648 * t1470 / 0.8e1; + const double t1474 = tau_a * t162 * t658; + const double t1476 = 0.8e1 * t654 * t1474; + const double t1477 = alpha_ss * t392; + const double t1480 = t410 * t392; + const double t1489 = 0.4e1 * t918 * t392 + 0.2e1 * t421 * t656; + const double t1493 = -0.2e1 * t893 * t1477 - 0.4e1 * t907 * t1477 - 0.6e1 * t925 * t1477 + 0.2e1 * t1480 * t415 + t1489 * t429; + const double t1494 = t99 * t1493; + const double t1495 = t1494 * t158; + const double t1496 = t154 * t1468; + const double t1498 = t432 * t1496 / 0.8e1; + const double t1499 = alpha_ab * t392; + const double t1502 = t474 * t392; + const double t1511 = 0.2e1 * t484 * t392 + 0.4e1 * t961 * t392; + const double t1515 = -0.2e1 * t938 * t1499 - 0.4e1 * t949 * t1499 - 0.6e1 * t968 * t1499 + 0.2e1 * t1502 * t479 + t1511 * t491; + const double t1516 = t354 * t1515; + const double t1518 = 0.1e1 / t281; + const double t1519 = t275 * t1518; + const double t1520 = t1519 * t289; + const double t1522 = t1150 * t1520 / 0.8e1; + const double t1524 = tau_b * t284 * t1160; + const double t1526 = 0.8e1 * t1156 * t1524; + const double t1527 = alpha_ss * t435; + const double t1530 = t410 * t435; + const double t1539 = 0.2e1 * t453 * t1158 + 0.4e1 * t1234 * t435; + const double t1543 = -0.2e1 * t1209 * t1527 - 0.4e1 * t1223 * t1527 - 0.6e1 * t1241 * t1527 + 0.2e1 * t1530 * t449 + t1539 * t460; + const double t1544 = t233 * t1543; + const double t1545 = t1544 * t280; + const double t1546 = t276 * t1518; + const double t1548 = t463 * t1546 / 0.8e1; + const double t1549 = alpha_ab * t435; + const double t1552 = t474 * t435; + const double t1561 = 0.2e1 * t484 * t435 + 0.4e1 * t961 * t435; + const double t1565 = -0.2e1 * t938 * t1549 - 0.4e1 * t949 * t1549 - 0.6e1 * t968 * t1549 + 0.2e1 * t1552 * t479 + t1561 * t491; + const double t1566 = t354 * t1565; + const double t1568 = 0.1e1 / t160; + const double t1569 = t1568 * t155; + const double t1570 = t1569 * t169; + const double t1571 = t648 * t1570; + const double t1572 = t1571 / 0.4e1; + const double t1573 = t646 * sigma_aa; + const double t1574 = t1573 * t651; + const double t1575 = t1574 / 0.4e1; + const double t1576 = t313 * t4; + const double t1577 = 0.1e1 / t1576; + const double t1578 = t3 * t1577; + const double t1580 = 0.2e1 * t495 - 0.2e1 * t1578; + const double t1581 = piecewise_functor_3( t174, 0.0, t1580 ); + const double t1586 = 0.1e1 / t18 / t313; + const double t1587 = t1586 * t20; + const double t1589 = t17 * t1587 * t179; + const double t1590 = 0.23744444444444444444e-1 * t1589; + const double t1592 = t17 * t502 * t671; + const double t1594 = t173 * t173; + const double t1596 = 0.1e1 / t177 / t1594; + const double t1597 = t662 * t662; + const double t1603 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t1597 - t668 * t1580 / 0.3e1 ); + const double t1605 = t17 * t21 * t1603; + const double t1607 = t1590 - 0.35616666666666666666e-1 * t1592 + 0.53425e-1 * t1605; + const double t1609 = 0.621814e-1 * t1607 * t197; + const double t1610 = t675 * t679; + const double t1612 = 0.2e1 * t1610 * t700; + const double t1613 = t678 * t193; + const double t1614 = 0.1e1 / t1613; + const double t1615 = t183 * t1614; + const double t1616 = t698 * t698; + const double t1617 = t1616 * t699; + const double t1619 = 0.2e1 * t1615 * t1617; + const double t1621 = 0.1e1 / t184 / t181; + const double t1622 = t683 * t683; + const double t1623 = t1621 * t1622; + const double t1625 = 0.4e1 / 0.9e1 * t1589; + const double t1627 = t1625 - 0.2e1 / 0.3e1 * t1592 + t1605; + const double t1628 = t681 * t1627; + const double t1630 = 0.39862222222222222223e0 * t1589; + const double t1633 = 0.1e1/safe_math::sqrt( t181 ); + const double t1634 = t1633 * t1622; + const double t1636 = t688 * t1627; + const double t1639 = 0.1e1 / t40 / t313; + const double t1640 = t1639 * t42; + const double t1642 = t39 * t1640 * t189; + const double t1643 = 0.13692777777777777778e0 * t1642; + const double t1645 = t39 * t531 * t694; + const double t1647 = t671 * t671; + const double t1649 = t39 * t43 * t1647; + const double t1651 = t179 * t1603; + const double t1653 = t39 * t43 * t1651; + const double t1655 = -0.9494625e0 * t1623 + 0.1898925e1 * t1628 + t1630 - 0.59793333333333333334e0 * t1592 + 0.8969e0 * t1605 + 0.15358125e0 * t1634 + 0.3071625e0 * t1636 + t1643 - 0.32862666666666666666e0 * t1645 + 0.24647e0 * t1649 + 0.24647e0 * t1653; + const double t1656 = t1655 * t699; + const double t1658 = 0.1e1 * t680 * t1656; + const double t1659 = t678 * t678; + const double t1660 = 0.1e1 / t1659; + const double t1661 = t183 * t1660; + const double t1662 = t196 * t196; + const double t1663 = 0.1e1 / t1662; + const double t1664 = t1616 * t1663; + const double t1666 = 0.16081979498692535067e2 * t1661 * t1664; + const double t1667 = 0.22831111111111111111e-1 * t1589; + const double t1670 = t1667 - 0.34246666666666666666e-1 * t1592 + 0.5137e-1 * t1605; + const double t1673 = t705 * t709; + const double t1676 = t708 * t206; + const double t1677 = 0.1e1 / t1676; + const double t1678 = t201 * t1677; + const double t1679 = t717 * t717; + const double t1680 = t1679 * t718; + const double t1685 = 0.68863333333333333333e0 * t1589; + const double t1690 = 0.17365833333333333333e0 * t1642; + const double t1694 = -0.17648625e1 * t1623 + 0.3529725e1 * t1628 + t1685 - 0.103295e1 * t1592 + 0.1549425e1 * t1605 + 0.31558125e0 * t1634 + 0.6311625e0 * t1636 + t1690 - 0.41678e0 * t1645 + 0.312585e0 * t1649 + 0.312585e0 * t1653; + const double t1695 = t1694 * t718; + const double t1698 = t708 * t708; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t201 * t1699; + const double t1701 = t209 * t209; + const double t1702 = 0.1e1 / t1701; + const double t1703 = t1679 * t1702; + const double t1706 = 0.12361111111111111111e-1 * t1589; + const double t1709 = t1706 - 0.18541666666666666667e-1 * t1592 + 0.278125e-1 * t1605; + const double t1710 = t1709 * t223; + const double t1712 = t724 * t728; + const double t1715 = t727 * t219; + const double t1716 = 0.1e1 / t1715; + const double t1717 = t214 * t1716; + const double t1718 = t736 * t736; + const double t1719 = t1718 * t737; + const double t1724 = 0.40256666666666666667e0 * t1589; + const double t1729 = 0.137975e0 * t1642; + const double t1733 = -0.1294625e1 * t1623 + 0.258925e1 * t1628 + t1724 - 0.60385e0 * t1592 + 0.905775e0 * t1605 + 0.82524375e-1 * t1634 + 0.16504875e0 * t1636 + t1729 - 0.33114e0 * t1645 + 0.248355e0 * t1649 + 0.248355e0 * t1653; + const double t1734 = t1733 * t737; + const double t1737 = t727 * t727; + const double t1738 = 0.1e1 / t1737; + const double t1739 = t214 * t1738; + const double t1740 = t222 * t222; + const double t1741 = 0.1e1 / t1740; + const double t1742 = t1718 * t1741; + const double t1745 = -0.310907e-1 * t1670 * t210 + 0.2e1 * t1673 * t719 - 0.2e1 * t1678 * t1680 + 0.1e1 * t710 * t1695 + 0.32163958997385070134e2 * t1700 * t1703 + t1609 - t1612 + t1619 - t1658 - t1666 - 0.19751673498613801407e-1 * t1710 + 0.11696447245269292414e1 * t1712 * t738 - 0.11696447245269292414e1 * t1717 * t1719 + 0.5848223622634646207e0 * t729 * t1734 + 0.17315859105681463759e2 * t1739 * t1742; + const double t1749 = t65 * t724; + const double t1753 = t1716 * t1718 * t737; + const double t1757 = t728 * t1733 * t737; + const double t1760 = t1738 * t1718; + const double t1761 = t1760 * t1741; + const double t1764 = -t1609 + t1612 - t1619 + t1658 + t1666 + t65 * t1745 + 0.19751673498613801407e-1 * t65 * t1710 - 0.11696447245269292414e1 * t1749 * t747 + 0.11696447245269292414e1 * t745 * t1753 - 0.5848223622634646207e0 * t745 * t1757 - 0.17315859105681463759e2 * t745 * t1761; + const double t1768 = piecewise_functor_3( t175, 0.0, t1581 * t230 / 0.2e1 + t663 * t750 + t176 * t1764 / 0.2e1 ); + const double t1769 = t1768 * t273; + const double t1770 = t1769 * t290; + const double t1771 = t595 * t645; + const double t1772 = t1771 * t170; + const double t1773 = 0.2e1 * t1772; + const double t1775 = 0.1e1 / t105 / t119; + const double t1776 = sigma_aa * t1775; + const double t1780 = t119 * t160; + const double t1782 = 0.1e1 / t104 / t1780; + const double t1783 = t118 * t1782; + const double t1784 = t1783 * t125; + const double t1788 = 0.1e1 / t143; + const double t1790 = t131 * t1788 * t136; + const double t1798 = t132 * t119; + const double t1800 = 0.1e1 / t105 / t1798; + const double t1802 = t142 * t1800 * t148; + const double t1810 = t132 * t1780; + const double t1812 = 0.1e1 / t104 / t1810; + const double t1814 = t635 * t1812 * t641; + const double t1823 = t142 * t118; + const double t1824 = t132 * t132; + const double t1825 = t1824 * t103; + const double t1826 = 0.1e1 / t1825; + const double t1829 = 0.1e1 / t147 / t124; + const double t1833 = 0.88e2 / 0.9e1 * t102 * t1776 * t112 - 0.24e2 * t604 * t1784 + 0.128e3 / 0.9e1 * t1787 * t1790 + 0.304e3 / 0.9e1 * t117 * t1784 - 0.688e3 / 0.9e1 * t614 * t1790 + 0.128e3 / 0.3e1 * t1797 * t1802 + 0.72e2 * t130 * t1790 - 0.472e3 / 0.3e1 * t623 * t1802 + 0.256e3 / 0.3e1 * t1809 * t1814 + 0.112e4 / 0.9e1 * t141 * t1802 - 0.8e3 / 0.3e1 * t634 * t1814 + 0.128e4 / 0.9e1 * t1822 * t1823 * t1826 * t1829; + const double t1834 = t99 * t1833; + const double t1835 = t1834 * t170; + const double t1836 = -t1580; + const double t1837 = piecewise_functor_3( t8, 0.0, t1836 ); + const double t1842 = t17 * t1587 * t26; + const double t1843 = 0.23744444444444444444e-1 * t1842; + const double t1845 = t17 * t502 * t509; + const double t1847 = t7 * t7; + const double t1849 = 0.1e1 / t24 / t1847; + const double t1850 = t497 * t497; + const double t1856 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t1850 - t506 * t1836 / 0.3e1 ); + const double t1858 = t17 * t21 * t1856; + const double t1860 = t1843 - 0.35616666666666666666e-1 * t1845 + 0.53425e-1 * t1858; + const double t1862 = 0.621814e-1 * t1860 * t52; + const double t1863 = t513 * t517; + const double t1865 = 0.2e1 * t1863 * t541; + const double t1866 = t516 * t48; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t30 * t1867; + const double t1869 = t539 * t539; + const double t1870 = t1869 * t540; + const double t1872 = 0.2e1 * t1868 * t1870; + const double t1874 = 0.1e1 / t31 / t28; + const double t1875 = t521 * t521; + const double t1876 = t1874 * t1875; + const double t1878 = 0.4e1 / 0.9e1 * t1842; + const double t1880 = t1878 - 0.2e1 / 0.3e1 * t1845 + t1858; + const double t1881 = t519 * t1880; + const double t1883 = 0.39862222222222222223e0 * t1842; + const double t1886 = 0.1e1/safe_math::sqrt( t28 ); + const double t1887 = t1886 * t1875; + const double t1889 = t526 * t1880; + const double t1892 = t39 * t1640 * t44; + const double t1893 = 0.13692777777777777778e0 * t1892; + const double t1895 = t39 * t531 * t535; + const double t1897 = t509 * t509; + const double t1899 = t39 * t43 * t1897; + const double t1901 = t26 * t1856; + const double t1903 = t39 * t43 * t1901; + const double t1905 = -0.9494625e0 * t1876 + 0.1898925e1 * t1881 + t1883 - 0.59793333333333333334e0 * t1845 + 0.8969e0 * t1858 + 0.15358125e0 * t1887 + 0.3071625e0 * t1889 + t1893 - 0.32862666666666666666e0 * t1895 + 0.24647e0 * t1899 + 0.24647e0 * t1903; + const double t1906 = t1905 * t540; + const double t1908 = 0.1e1 * t518 * t1906; + const double t1909 = t516 * t516; + const double t1910 = 0.1e1 / t1909; + const double t1911 = t30 * t1910; + const double t1912 = t51 * t51; + const double t1913 = 0.1e1 / t1912; + const double t1914 = t1869 * t1913; + const double t1916 = 0.16081979498692535067e2 * t1911 * t1914; + const double t1917 = 0.22831111111111111111e-1 * t1842; + const double t1920 = t1917 - 0.34246666666666666666e-1 * t1845 + 0.5137e-1 * t1858; + const double t1923 = t546 * t550; + const double t1926 = t549 * t72; + const double t1927 = 0.1e1 / t1926; + const double t1928 = t67 * t1927; + const double t1929 = t558 * t558; + const double t1930 = t1929 * t559; + const double t1935 = 0.68863333333333333333e0 * t1842; + const double t1940 = 0.17365833333333333333e0 * t1892; + const double t1944 = -0.17648625e1 * t1876 + 0.3529725e1 * t1881 + t1935 - 0.103295e1 * t1845 + 0.1549425e1 * t1858 + 0.31558125e0 * t1887 + 0.6311625e0 * t1889 + t1940 - 0.41678e0 * t1895 + 0.312585e0 * t1899 + 0.312585e0 * t1903; + const double t1945 = t1944 * t559; + const double t1948 = t549 * t549; + const double t1949 = 0.1e1 / t1948; + const double t1950 = t67 * t1949; + const double t1951 = t75 * t75; + const double t1952 = 0.1e1 / t1951; + const double t1953 = t1929 * t1952; + const double t1956 = 0.12361111111111111111e-1 * t1842; + const double t1959 = t1956 - 0.18541666666666666667e-1 * t1845 + 0.278125e-1 * t1858; + const double t1960 = t1959 * t89; + const double t1962 = t565 * t569; + const double t1965 = t568 * t85; + const double t1966 = 0.1e1 / t1965; + const double t1967 = t80 * t1966; + const double t1968 = t577 * t577; + const double t1969 = t1968 * t578; + const double t1974 = 0.40256666666666666667e0 * t1842; + const double t1979 = 0.137975e0 * t1892; + const double t1983 = -0.1294625e1 * t1876 + 0.258925e1 * t1881 + t1974 - 0.60385e0 * t1845 + 0.905775e0 * t1858 + 0.82524375e-1 * t1887 + 0.16504875e0 * t1889 + t1979 - 0.33114e0 * t1895 + 0.248355e0 * t1899 + 0.248355e0 * t1903; + const double t1984 = t1983 * t578; + const double t1987 = t568 * t568; + const double t1988 = 0.1e1 / t1987; + const double t1989 = t80 * t1988; + const double t1990 = t88 * t88; + const double t1991 = 0.1e1 / t1990; + const double t1992 = t1968 * t1991; + const double t1995 = -0.310907e-1 * t1920 * t76 + 0.2e1 * t1923 * t560 - 0.2e1 * t1928 * t1930 + 0.1e1 * t551 * t1945 + 0.32163958997385070134e2 * t1950 * t1953 + t1862 - t1865 + t1872 - t1908 - t1916 - 0.19751673498613801407e-1 * t1960 + 0.11696447245269292414e1 * t1962 * t579 - 0.11696447245269292414e1 * t1967 * t1969 + 0.5848223622634646207e0 * t570 * t1984 + 0.17315859105681463759e2 * t1989 * t1992; + const double t1999 = t65 * t565; + const double t2003 = t1966 * t1968 * t578; + const double t2007 = t569 * t1983 * t578; + const double t2010 = t1988 * t1968; + const double t2011 = t2010 * t1991; + const double t2014 = -t1862 + t1865 - t1872 + t1908 + t1916 + t65 * t1995 + 0.19751673498613801407e-1 * t65 * t1960 - 0.11696447245269292414e1 * t1999 * t588 + 0.11696447245269292414e1 * t586 * t2003 - 0.5848223622634646207e0 * t586 * t2007 - 0.17315859105681463759e2 * t586 * t2011; + const double t2018 = piecewise_functor_3( t9, 0.0, t1837 * t96 / 0.2e1 + t498 * t591 + t10 * t2014 / 0.2e1 ); + const double t2019 = t2018 * t151; + const double t2020 = t2019 * t170; + const double t2021 = t159 * t159; + const double t2023 = 0.1e1 / t105 / t132; + const double t2027 = t2026 * t168; + const double t2028 = t2021 * t2023 * t2027; + const double t2029 = t654 * t2028; + const double t2030 = 0.16e4 / 0.9e1 * t2029; + const double t2032 = t159 * t122 * t658; + const double t2033 = t654 * t2032; + const double t2034 = 0.52e3 / 0.9e1 * t2033; + const double t2035 = t607 * tau_a; + const double t2036 = t2035 * t658; + const double t2037 = t648 * t2036; + const double t2038 = 0.1e2 / 0.3e1 * t2037; + const double t2039 = t646 * t158; + const double t2040 = t2039 * t659; + const double t2041 = 0.8e2 / 0.3e1 * t2040; + const double t2042 = t596 * t158; + const double t2043 = t2042 * t659; + const double t2044 = 0.8e2 / 0.3e1 * t2043; + const double t2045 = t596 * sigma_aa; + const double t2046 = t2045 * t651; + const double t2047 = t2046 / 0.4e1; + const double t2048 = -t1572 + t1575 + t1770 + t1773 + t1835 + t2020 - t2030 + t2034 - t2038 - t2041 - t2044 + t2047; + const double t2049 = t821 * t342; + const double t2050 = 0.1e1 / t2049; + const double t2051 = t828 * t828; + const double t2053 = t2050 * t2051 * t829; + const double t2055 = 0.11696447245269292414e1 * t843 * t2053; + const double t2056 = t821 * t821; + const double t2057 = 0.1e1 / t2056; + const double t2058 = t2057 * t2051; + const double t2059 = t345 * t345; + const double t2060 = 0.1e1 / t2059; + const double t2061 = t2058 * t2060; + const double t2063 = 0.17315859105681463759e2 * t843 * t2061; + const double t2066 = 0.1e1 / t296 / t293 * t36; + const double t2068 = t2067 * t1639; + const double t2069 = t2066 * t2068; + const double t2071 = t766 * t1586; + const double t2072 = t765 * t2071; + const double t2074 = t16 * t1586; + const double t2075 = t14 * t2074; + const double t2077 = 0.1e1/safe_math::sqrt( t293 ); + const double t2078 = t2077 * t36; + const double t2079 = t2078 * t2068; + const double t2081 = t773 * t2071; + const double t2084 = t38 * t15 * t1639; + const double t2086 = -0.57538888888888888889e0 * t2069 + 0.11507777777777777778e1 * t2072 + 0.40256666666666666667e0 * t2075 + 0.366775e-1 * t2079 + 0.73355e-1 * t2081 + 0.137975e0 * t2084; + const double t2088 = t822 * t2086 * t829; + const double t2090 = 0.5848223622634646207e0 * t843 * t2088; + const double t2091 = t800 * t337; + const double t2092 = t2091 * t845; + const double t2095 = t766 * t1586 * t346; + const double t2097 = 0.24415263074675393405e-3 * t838 * t2095; + const double t2098 = t800 * t11; + const double t2099 = t2098 * t840; + const double t2101 = t501 * t762; + const double t2104 = 0.35616666666666666666e-1 * t17 * t2101 * t781; + const double t2106 = 0.8e1 * t785 * t834; + const double t2108 = 0.8e1 * t790 * t834; + const double t2109 = t785 * t801; + const double t2111 = t2055 - t1768 - t2063 - t2090 - 0.11696447245269292414e1 * t2092 + t2097 - 0.36622894612013090108e-3 * t2099 - t2104 - t2018 + t2106 - t2108 + 0.8e1 * t2109; + const double t2112 = t322 * t14; + const double t2113 = t757 * t845; + const double t2115 = 0.10843581300301739842e-1 * t2112 * t2113; + const double t2116 = t800 * t833; + const double t2117 = t316 * t2116; + const double t2119 = t790 * t801; + const double t2121 = t24 * t24; + const double t2122 = 0.1e1 / t2121; + const double t2128 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t1850 + 0.4e1 / 0.3e1 * t24 * t1836 ); + const double t2129 = t177 * t177; + const double t2130 = 0.1e1 / t2129; + const double t2136 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t1597 + 0.4e1 / 0.3e1 * t177 * t1580 ); + const double t2138 = ( t2128 + t2136 ) * t64; + const double t2139 = t2138 * t349; + const double t2147 = -0.42198333333333333333e0 * t2069 + 0.84396666666666666666e0 * t2072 + 0.39862222222222222223e0 * t2075 + 0.68258333333333333333e-1 * t2079 + 0.13651666666666666667e0 * t2081 + 0.13692777777777777778e0 * t2084; + const double t2148 = t2147 * t780; + const double t2150 = 0.1e1 * t763 * t2148; + const double t2151 = t761 * t761; + const double t2152 = 0.1e1 / t2151; + const double t2153 = t295 * t2152; + const double t2154 = t779 * t779; + const double t2155 = t307 * t307; + const double t2156 = 0.1e1 / t2155; + const double t2157 = t2154 * t2156; + const double t2159 = 0.16081979498692535067e2 * t2153 * t2157; + const double t2160 = t761 * t304; + const double t2161 = 0.1e1 / t2160; + const double t2162 = t295 * t2161; + const double t2163 = t2154 * t780; + const double t2165 = 0.2e1 * t2162 * t2163; + const double t2169 = 0.1e1 / t314 / t313; + const double t2170 = t312 * t2169; + const double t2172 = 0.2e2 * t2170 * t350; + const double t2173 = t311 * t315; + const double t2175 = 0.12e2 * t2173 * t350; + const double t2176 = t784 * t789; + const double t2178 = 0.32e2 * t2176 * t350; + const double t2181 = 0.14764627977777777777e-2 * t14 * t2074 * t308; + const double t2185 = t501 * t807; + const double t2189 = t806 * t329; + const double t2190 = 0.1e1 / t2189; + const double t2191 = t324 * t2190; + const double t2192 = t813 * t813; + const double t2193 = t2192 * t814; + const double t2202 = -0.78438333333333333333e0 * t2069 + 0.15687666666666666667e1 * t2072 + 0.68863333333333333333e0 * t2075 + 0.14025833333333333333e0 * t2079 + 0.28051666666666666667e0 * t2081 + 0.17365833333333333333e0 * t2084; + const double t2203 = t2202 * t814; + const double t2206 = t806 * t806; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t324 * t2207; + const double t2209 = t332 * t332; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t2192 * t2210; + const double t2217 = t501 * t822; + const double t2221 = t337 * t2050; + const double t2222 = t2051 * t829; + const double t2225 = t2086 * t829; + const double t2228 = t337 * t2057; + const double t2229 = t2051 * t2060; + const double t2232 = -0.70983522622222222221e-3 * t14 * t2074 * t333 - 0.34246666666666666666e-1 * t17 * t2185 * t815 - 0.2e1 * t2191 * t2193 + 0.1e1 * t808 * t2203 + 0.32163958997385070134e2 * t2208 * t2211 + t2181 + t2104 + t2165 - t2150 - t2159 - 0.24415263074675393405e-3 * t14 * t2074 * t346 - 0.10843581300301739842e-1 * t17 * t2217 * t830 - 0.11696447245269292414e1 * t2221 * t2222 + 0.5848223622634646207e0 * t823 * t2225 + 0.17315859105681463759e2 * t2228 * t2229; + const double t2233 = t322 * t2232; + const double t2234 = t316 * t2233; + const double t2235 = t2115 + 0.2e1 * t2117 - 0.8e1 * t2119 + t316 * t2139 + t2150 + t2159 - t2165 + 0.19751673498613801407e-1 * t2138 * t347 + t2172 + t2175 - t2178 - t2181 + t2234; + const double t2236 = t2111 + t2235; + const double t2237 = t2236 * t388; + const double t2238 = t848 * t889; + const double t2239 = 0.2e1 * t2238; + const double t2240 = t929 * t932; + const double t2241 = t2240 / 0.4e1; + const double t2242 = t891 * t932; + const double t2243 = t2242 / 0.4e1; + const double t2244 = sigma_aa * t1568; + const double t2245 = t2244 * t155; + const double t2246 = t432 * t2245; + const double t2247 = t2246 / 0.4e1; + const double t2251 = t1783 * t369; + const double t2255 = t2254 * t358; + const double t2256 = t377 * t118; + const double t2257 = t2256 * t1782; + const double t2260 = t855 * t1775; + const double t2265 = t862 * t358; + const double t2271 = t2270 * t367; + const double t2272 = t385 * t118; + const double t2273 = t2272 * t1782; + const double t2276 = t864 * t1775; + const double t2279 = t374 * t358; + const double t2282 = t871 * t367; + const double t2288 = t2287 * t375; + const double t2289 = t884 * t118; + const double t2290 = t2289 * t1782; + const double t2293 = t873 * t1775; + const double t2296 = t382 * t367; + const double t2299 = t881 * t375; + const double t2306 = t2305 * t383; + const double t2308 = 0.1e1 / t384 / t368; + const double t2309 = t2308 * t118; + const double t2316 = 0.88e2 / 0.9e1 * t357 * t1776 * t361 - 0.128e3 / 0.9e1 * t853 * t2251 + 0.128e3 / 0.9e1 * t2255 * t2257 - 0.88e2 / 0.9e1 * t854 * t2260 + 0.128e3 / 0.9e1 * t366 * t2251 - 0.512e3 / 0.9e1 * t2265 * t2257 + 0.176e3 / 0.9e1 * t859 * t2260 + 0.128e3 / 0.3e1 * t2271 * t2273 - 0.176e3 / 0.9e1 * t863 * t2276 + 0.128e3 / 0.3e1 * t2279 * t2257 - 0.128e3 * t2282 * t2273 + 0.88e2 / 0.3e1 * t868 * t2276 + 0.256e3 / 0.3e1 * t2288 * t2290 - 0.88e2 / 0.3e1 * t872 * t2293 + 0.256e3 / 0.3e1 * t2296 * t2273 - 0.2048e4 / 0.9e1 * t2299 * t2290 + 0.352e3 / 0.9e1 * t877 * t2293 + 0.128e4 / 0.9e1 * t2306 * t2309 * t1782 - 0.352e3 / 0.9e1 * t882 * t885 * t1775; + const double t2317 = t354 * t2316; + const double t2318 = t848 * t971; + const double t2319 = 0.2e1 * t2318; + const double t2320 = t2236 * t493; + const double t2321 = t465 * t491; + const double t2323 = t897 * t897; + const double t2324 = t2322 * t2323; + const double t2328 = tau_a * t599; + const double t2330 = 0.88e2 / 0.9e1 * t1776 + 0.8e2 / 0.9e1 * t2328; + const double t2331 = alpha_ab * t2330; + const double t2337 = 0.88e2 / 0.9e1 * t941 * t1775 + 0.8e2 / 0.9e1 * t944 * t599; + const double t2339 = t947 * t491; + const double t2342 = t477 * t967; + const double t2347 = t481 * t118; + const double t2359 = t486 * t159; + const double t2364 = 0.128e3 / 0.9e1 * t2347 * t1782 + 0.176e3 / 0.9e1 * t952 * t1776 + 0.88e2 / 0.9e1 * t955 * t1775 * t475 + 0.16e3 / 0.9e1 * t955 * t2035 + 0.8e2 / 0.9e1 * t484 * t2328 + 0.2e3 / 0.9e1 * t2359 * t122 + 0.16e3 / 0.9e1 * t961 * t2328; + const double t2366 = t964 * t967; + const double t2370 = 0.1e1 / t966 / t469; + const double t2371 = t489 * t2370; + const double t2376 = 0.2e1 * t2321 * t2324 + 0.6e1 * t2342 * t2324 + 0.12e2 * t2371 * t2324 - t938 * t2331 - 0.2e1 * t949 * t2331 - 0.3e1 * t968 * t2331 + t2337 * t479 - 0.4e1 * t2339 * t939 + t2364 * t491 - 0.6e1 * t2366 * t939; + const double t2377 = t354 * t2376; + const double t2378 = t595 * t928; + const double t2379 = t2378 * t158; + const double t2380 = 0.2e1 * t2379; + const double t2381 = t2018 * t431; + const double t2382 = t2381 * t158; + const double t2383 = t1768 * t462; + const double t2384 = t2383 * t280; + const double t2385 = t390 * t429; + const double t2387 = t2386 * t2323; + const double t2390 = alpha_ss * t2330; + const double t2396 = 0.88e2 / 0.9e1 * t408 * t1775 + 0.8e2 / 0.9e1 * t902 * t599; + const double t2398 = t905 * t429; + const double t2401 = t413 * t924; + const double t2413 = t424 * t159; + const double t2418 = 0.304e3 / 0.9e1 * t418 * t1782 + 0.88e2 / 0.9e1 * t421 * t1775 * t411 + 0.8e2 / 0.3e1 * t421 * t2035 + 0.2e3 / 0.9e1 * t2413 * t122 + 0.16e3 / 0.9e1 * t918 * t2328; + const double t2420 = t921 * t924; + const double t2424 = 0.1e1 / t923 / t404; + const double t2425 = t427 * t2424; + const double t2430 = 0.2e1 * t2385 * t2387 + 0.6e1 * t2401 * t2387 + 0.12e2 * t2425 * t2387 - t893 * t2390 - 0.2e1 * t907 * t2390 - 0.3e1 * t925 * t2390 + t2396 * t415 - 0.4e1 * t2398 * t898 + t2418 * t429 - 0.6e1 * t2420 * t898; + const double t2431 = t99 * t2430; + const double t2432 = t2431 * t158; + const double t2433 = t2237 + t2239 + t2241 + t2243 - t2247 + t2317 + t2319 + t2320 + t2377 + t2380 + t2382 + t2384 + t2432; + const double t2449 = 0.2e1 * t1578; + const double t2450 = piecewise_functor_3( t8, 0.0, t2449 ); + const double t2456 = t17 * t502 * t980; + const double t2458 = t1849 * t975; + const double t2461 = t506 * t3; + const double t2465 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2458 * t497 - 0.2e1 / 0.3e1 * t2461 * t1577 ); + const double t2467 = t17 * t21 * t2465; + const double t2469 = t1843 - 0.17808333333333333333e-1 * t1845 - 0.17808333333333333333e-1 * t2456 + 0.53425e-1 * t2467; + const double t2471 = 0.621814e-1 * t2469 * t52; + const double t2472 = t984 * t517; + const double t2474 = 0.1e1 * t2472 * t541; + const double t2476 = 0.1e1 * t1863 * t998; + const double t2477 = t998 * t539; + const double t2479 = 0.2e1 * t1868 * t2477; + const double t2480 = t1874 * t987; + const double t2481 = t2480 * t521; + const double t2485 = t1878 - t1845 / 0.3e1 - t2456 / 0.3e1 + t2467; + const double t2486 = t519 * t2485; + const double t2491 = t1886 * t987; + const double t2492 = t2491 * t521; + const double t2494 = t526 * t2485; + const double t2498 = t39 * t531 * t993; + const double t2500 = t509 * t980; + const double t2502 = t39 * t43 * t2500; + const double t2504 = t26 * t2465; + const double t2506 = t39 * t43 * t2504; + const double t2508 = -0.9494625e0 * t2481 + 0.1898925e1 * t2486 + t1883 - 0.29896666666666666667e0 * t1845 - 0.29896666666666666667e0 * t2456 + 0.8969e0 * t2467 + 0.15358125e0 * t2492 + 0.3071625e0 * t2494 + t1893 - 0.16431333333333333333e0 * t1895 - 0.16431333333333333333e0 * t2498 + 0.24647e0 * t2502 + 0.24647e0 * t2506; + const double t2509 = t2508 * t540; + const double t2511 = 0.1e1 * t518 * t2509; + const double t2512 = t997 * t1913; + const double t2513 = t2512 * t539; + const double t2515 = 0.16081979498692535067e2 * t1911 * t2513; + const double t2519 = t1917 - 0.17123333333333333333e-1 * t1845 - 0.17123333333333333333e-1 * t2456 + 0.5137e-1 * t2467; + const double t2522 = t1002 * t550; + const double t2527 = t1010 * t558; + const double t2541 = -0.17648625e1 * t2481 + 0.3529725e1 * t2486 + t1935 - 0.516475e0 * t1845 - 0.516475e0 * t2456 + 0.1549425e1 * t2467 + 0.31558125e0 * t2492 + 0.6311625e0 * t2494 + t1940 - 0.20839e0 * t1895 - 0.20839e0 * t2498 + 0.312585e0 * t2502 + 0.312585e0 * t2506; + const double t2542 = t2541 * t559; + const double t2545 = t1009 * t1952; + const double t2546 = t2545 * t558; + const double t2552 = t1956 - 0.92708333333333333333e-2 * t1845 - 0.92708333333333333333e-2 * t2456 + 0.278125e-1 * t2467; + const double t2553 = t2552 * t89; + const double t2555 = t1014 * t569; + const double t2560 = t1022 * t577; + const double t2574 = -0.1294625e1 * t2481 + 0.258925e1 * t2486 + t1974 - 0.301925e0 * t1845 - 0.301925e0 * t2456 + 0.905775e0 * t2467 + 0.82524375e-1 * t2492 + 0.16504875e0 * t2494 + t1979 - 0.16557e0 * t1895 - 0.16557e0 * t2498 + 0.248355e0 * t2502 + 0.248355e0 * t2506; + const double t2575 = t2574 * t578; + const double t2578 = t1021 * t1991; + const double t2579 = t2578 * t577; + const double t2582 = -0.310907e-1 * t2519 * t76 + 0.1e1 * t2522 * t560 + 0.1e1 * t1923 * t1010 - 0.2e1 * t1928 * t2527 + 0.1e1 * t551 * t2542 + 0.32163958997385070134e2 * t1950 * t2546 + t2471 - t2474 - t2476 + t2479 - t2511 - t2515 - 0.19751673498613801407e-1 * t2553 + 0.5848223622634646207e0 * t2555 * t579 + 0.5848223622634646207e0 * t1962 * t1022 - 0.11696447245269292414e1 * t1967 * t2560 + 0.5848223622634646207e0 * t570 * t2575 + 0.17315859105681463759e2 * t1989 * t2579; + const double t2586 = t65 * t1014; + const double t2591 = t1966 * t1021; + const double t2592 = t2591 * t579; + const double t2596 = t569 * t2574 * t578; + const double t2599 = t1988 * t1021; + const double t2600 = t1991 * t577; + const double t2601 = t2599 * t2600; + const double t2604 = -t2471 + t2474 + t2476 - t2479 + t2511 + t2515 + t65 * t2582 + 0.19751673498613801407e-1 * t65 * t2553 - 0.5848223622634646207e0 * t2586 * t588 - 0.5848223622634646207e0 * t1999 * t1030 + 0.11696447245269292414e1 * t586 * t2592 - 0.5848223622634646207e0 * t586 * t2596 - 0.17315859105681463759e2 * t586 * t2601; + const double t2608 = piecewise_functor_3( t9, 0.0, t10 * t2604 / 0.2e1 + t498 * t1033 / 0.2e1 + t2450 * t96 / 0.2e1 + t976 * t591 / 0.2e1 ); + const double t2609 = t2608 * t151; + const double t2610 = t2609 * t170; + const double t2611 = t1037 * t645; + const double t2612 = t2611 * t170; + const double t2613 = t1038 * sigma_aa; + const double t2614 = t2613 * t651; + const double t2616 = t1038 * t158; + const double t2617 = t2616 * t659; + const double t2619 = piecewise_functor_3( t174, 0.0, -t2449 ); + const double t2625 = t17 * t502 * t1045; + const double t2627 = t1596 * t1040; + const double t2630 = t668 * t3; + const double t2634 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2627 * t662 + 0.2e1 / 0.3e1 * t2630 * t1577 ); + const double t2636 = t17 * t21 * t2634; + const double t2638 = t1590 - 0.17808333333333333333e-1 * t1592 - 0.17808333333333333333e-1 * t2625 + 0.53425e-1 * t2636; + const double t2640 = 0.621814e-1 * t2638 * t197; + const double t2641 = t1049 * t679; + const double t2643 = 0.1e1 * t2641 * t700; + const double t2645 = 0.1e1 * t1610 * t1063; + const double t2646 = t1063 * t698; + const double t2648 = 0.2e1 * t1615 * t2646; + const double t2649 = t1621 * t1052; + const double t2650 = t2649 * t683; + const double t2654 = t1625 - t1592 / 0.3e1 - t2625 / 0.3e1 + t2636; + const double t2655 = t681 * t2654; + const double t2660 = t1633 * t1052; + const double t2661 = t2660 * t683; + const double t2663 = t688 * t2654; + const double t2667 = t39 * t531 * t1058; + const double t2669 = t671 * t1045; + const double t2671 = t39 * t43 * t2669; + const double t2673 = t179 * t2634; + const double t2675 = t39 * t43 * t2673; + const double t2677 = -0.9494625e0 * t2650 + 0.1898925e1 * t2655 + t1630 - 0.29896666666666666667e0 * t1592 - 0.29896666666666666667e0 * t2625 + 0.8969e0 * t2636 + 0.15358125e0 * t2661 + 0.3071625e0 * t2663 + t1643 - 0.16431333333333333333e0 * t1645 - 0.16431333333333333333e0 * t2667 + 0.24647e0 * t2671 + 0.24647e0 * t2675; + const double t2678 = t2677 * t699; + const double t2680 = 0.1e1 * t680 * t2678; + const double t2681 = t1062 * t1663; + const double t2682 = t2681 * t698; + const double t2684 = 0.16081979498692535067e2 * t1661 * t2682; + const double t2688 = t1667 - 0.17123333333333333333e-1 * t1592 - 0.17123333333333333333e-1 * t2625 + 0.5137e-1 * t2636; + const double t2691 = t1067 * t709; + const double t2696 = t1075 * t717; + const double t2710 = -0.17648625e1 * t2650 + 0.3529725e1 * t2655 + t1685 - 0.516475e0 * t1592 - 0.516475e0 * t2625 + 0.1549425e1 * t2636 + 0.31558125e0 * t2661 + 0.6311625e0 * t2663 + t1690 - 0.20839e0 * t1645 - 0.20839e0 * t2667 + 0.312585e0 * t2671 + 0.312585e0 * t2675; + const double t2711 = t2710 * t718; + const double t2714 = t1074 * t1702; + const double t2715 = t2714 * t717; + const double t2721 = t1706 - 0.92708333333333333333e-2 * t1592 - 0.92708333333333333333e-2 * t2625 + 0.278125e-1 * t2636; + const double t2722 = t2721 * t223; + const double t2724 = t1079 * t728; + const double t2729 = t1087 * t736; + const double t2743 = -0.1294625e1 * t2650 + 0.258925e1 * t2655 + t1724 - 0.301925e0 * t1592 - 0.301925e0 * t2625 + 0.905775e0 * t2636 + 0.82524375e-1 * t2661 + 0.16504875e0 * t2663 + t1729 - 0.16557e0 * t1645 - 0.16557e0 * t2667 + 0.248355e0 * t2671 + 0.248355e0 * t2675; + const double t2744 = t2743 * t737; + const double t2747 = t1086 * t1741; + const double t2748 = t2747 * t736; + const double t2751 = -0.310907e-1 * t2688 * t210 + 0.1e1 * t2691 * t719 + 0.1e1 * t1673 * t1075 - 0.2e1 * t1678 * t2696 + 0.1e1 * t710 * t2711 + 0.32163958997385070134e2 * t1700 * t2715 + t2640 - t2643 - t2645 + t2648 - t2680 - t2684 - 0.19751673498613801407e-1 * t2722 + 0.5848223622634646207e0 * t2724 * t738 + 0.5848223622634646207e0 * t1712 * t1087 - 0.11696447245269292414e1 * t1717 * t2729 + 0.5848223622634646207e0 * t729 * t2744 + 0.17315859105681463759e2 * t1739 * t2748; + const double t2755 = t65 * t1079; + const double t2760 = t1716 * t1086; + const double t2761 = t2760 * t738; + const double t2765 = t728 * t2743 * t737; + const double t2768 = t1738 * t1086; + const double t2769 = t1741 * t736; + const double t2770 = t2768 * t2769; + const double t2773 = -t2640 + t2643 + t2645 - t2648 + t2680 + t2684 + t65 * t2751 + 0.19751673498613801407e-1 * t65 * t2722 - 0.5848223622634646207e0 * t2755 * t747 - 0.5848223622634646207e0 * t1749 * t1095 + 0.11696447245269292414e1 * t745 * t2761 - 0.5848223622634646207e0 * t745 * t2765 - 0.17315859105681463759e2 * t745 * t2770; + const double t2777 = piecewise_functor_3( t175, 0.0, t1041 * t750 / 0.2e1 + t663 * t1098 / 0.2e1 + t176 * t2773 / 0.2e1 + t2619 * t230 / 0.2e1 ); + const double t2778 = t2777 * t273; + const double t2779 = t2778 * t290; + const double t2780 = t754 * t1147; + const double t2781 = t2780 * t290; + const double t2782 = t755 * sigma_bb; + const double t2783 = t2782 * t1153; + const double t2785 = t755 * t280; + const double t2786 = t2785 * t1161; + const double t2788 = t1171 * t11; + const double t2789 = t2788 * t840; + const double t2792 = t785 * t1172; + const double t2794 = t790 * t1172; + const double t2796 = t2122 * t975; + const double t2799 = t24 * t3; + const double t2803 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2796 * t497 + 0.8e1 / 0.3e1 * t2799 * t1577 ); + const double t2804 = t2130 * t1040; + const double t2807 = t177 * t3; + const double t2811 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2804 * t662 - 0.8e1 / 0.3e1 * t2807 * t1577 ); + const double t2813 = ( t2803 + t2811 ) * t64; + const double t2814 = t2813 * t349; + const double t2816 = t1171 * t833; + const double t2817 = t316 * t2816; + const double t2819 = t2055 - 0.18311447306006545054e-3 * t2789 - t2777 - t2608 - t2063 - t2090 - 0.5848223622634646207e0 * t2092 + 0.4e1 * t2792 - 0.4e1 * t2794 + t316 * t2814 + t2817 + t2097 - 0.18311447306006545054e-3 * t2099 - t2104; + const double t2820 = t1171 * t337; + const double t2821 = t2820 * t845; + const double t2827 = -0.5848223622634646207e0 * t2821 + 0.19751673498613801407e-1 * t2813 * t347 - t2108 - 0.4e1 * t2109 + t2115 + t2117 - 0.4e1 * t2119 + t2150 + t2159 - t2165 + t2172 - t2175 - t2181 + t2234; + const double t2828 = t2819 + t2827; + const double t2829 = t2828 * t388; + const double t2830 = t1176 * t889; + const double t2831 = t848 * t1203; + const double t2832 = t2610 + t2612 + t2614 / 0.8e1 - 0.4e2 / 0.3e1 * t2617 + t2779 + t2781 + t2783 / 0.8e1 - 0.4e2 / 0.3e1 * t2786 + t2829 + t2830 + t2831; + const double t2833 = t853 * sigma_bb; + const double t2834 = t1106 * t369; + const double t2838 = t358 * t377; + const double t2839 = t2254 * t2838; + const double t2840 = t1107 * t600; + const double t2843 = t366 * sigma_aa; + const double t2844 = t599 * t369; + const double t2848 = t862 * t2838; + const double t2851 = t367 * t385; + const double t2852 = t2270 * t2851; + const double t2855 = t374 * t2838; + const double t2858 = t871 * t2851; + const double t2861 = t375 * t884; + const double t2862 = t2287 * t2861; + const double t2865 = t382 * t2851; + const double t2868 = t881 * t2861; + const double t2871 = t383 * t2308; + const double t2872 = t2305 * t2871; + const double t2875 = -0.128e3 / 0.9e1 * t2833 * t2834 * t600 + 0.128e3 / 0.9e1 * t2839 * t2840 + 0.128e3 / 0.9e1 * t2843 * t2844 * t1107 - 0.512e3 / 0.9e1 * t2848 * t2840 + 0.128e3 / 0.3e1 * t2852 * t2840 + 0.128e3 / 0.3e1 * t2855 * t2840 - 0.128e3 * t2858 * t2840 + 0.256e3 / 0.3e1 * t2862 * t2840 + 0.256e3 / 0.3e1 * t2865 * t2840 - 0.2048e4 / 0.9e1 * t2868 * t2840 + 0.128e4 / 0.9e1 * t2872 * t2840; + const double t2876 = t354 * t2875; + const double t2877 = t2608 * t431; + const double t2878 = t2877 * t158; + const double t2879 = t1037 * t928; + const double t2880 = t2879 * t158; + const double t2881 = t1205 * t932; + const double t2883 = t2777 * t462; + const double t2884 = t2883 * t280; + const double t2885 = t754 * t1244; + const double t2886 = t2885 * t280; + const double t2887 = t935 * t1248; + const double t2889 = t2828 * t493; + const double t2890 = t1176 * t971; + const double t2891 = t848 * t1278; + const double t2892 = t2322 * t1213; + const double t2893 = t2892 * t897; + const double t2896 = t1260 * t491; + const double t2903 = t481 * sigma_aa; + const double t2904 = t599 * sigma_bb; + const double t2908 = t1106 * tau_a; + const double t2912 = t599 * tau_b; + const double t2913 = t2912 * t238; + const double t2916 = t486 * tau_a; + const double t2917 = t107 * tau_b; + const double t2921 = 0.128e3 / 0.9e1 * t2903 * t2904 * t1106 + 0.8e2 / 0.9e1 * t1266 * t2908 * t107 + 0.8e2 / 0.9e1 * t955 * t2913 + 0.2e3 / 0.9e1 * t2916 * t2917 * t238; + const double t2923 = t1274 * t967; + const double t2930 = -0.2e1 * t2339 * t1252 - 0.3e1 * t2366 * t1252 + 0.2e1 * t2321 * t2893 + 0.6e1 * t2342 * t2893 + 0.12e2 * t2371 * t2893 - 0.2e1 * t2896 * t939 + t2921 * t491 - 0.3e1 * t2923 * t939; + const double t2931 = t354 * t2930; + const double t2932 = t2876 + t2878 + t2880 + t2881 / 0.8e1 + t2884 + t2886 + t2887 / 0.8e1 + t2889 + t2890 + t2891 + t2931; + const double t2935 = t1155 + t653 + t4 * ( t2832 + t2932 ) - t1163 - t661 + t1039 + t1104 + t1149 + t1250 + t1279 + t1251 + t1204 + t1177; + const double t2936 = t972 + t937 + t890 + t892 + t930 + t936 + t597 + t647 + t756 + t1206 + t1208 + t1246 + t934 + t849; + const double t2937 = t281 * t281; + const double t2939 = 0.1e1 / t236 / t257; + const double t2941 = t2026 * t288; + const double t2942 = t2937 * t2939 * t2941; + const double t2943 = t1156 * t2942; + const double t2944 = 0.16e4 / 0.9e1 * t2943; + const double t2946 = t281 * t250 * t1160; + const double t2947 = t1156 * t2946; + const double t2948 = 0.52e3 / 0.9e1 * t2947; + const double t2949 = t1113 * tau_b; + const double t2950 = t2949 * t1160; + const double t2951 = t1150 * t2950; + const double t2952 = 0.1e2 / 0.3e1 * t2951; + const double t2953 = t1148 * t280; + const double t2954 = t2953 * t1161; + const double t2955 = 0.8e2 / 0.3e1 * t2954; + const double t2956 = t1103 * t280; + const double t2957 = t2956 * t1161; + const double t2958 = 0.8e2 / 0.3e1 * t2957; + const double t2959 = t1213 * t1213; + const double t2960 = t2322 * t2959; + const double t2964 = 0.1e1 / t236 / t247; + const double t2965 = sigma_bb * t2964; + const double t2967 = tau_b * t1106; + const double t2969 = 0.88e2 / 0.9e1 * t2965 + 0.8e2 / 0.9e1 * t2967; + const double t2970 = alpha_ab * t2969; + const double t2976 = 0.88e2 / 0.9e1 * t1254 * t2964 + 0.8e2 / 0.9e1 * t1257 * t1106; + const double t2984 = t481 * t246; + const double t2985 = t247 * t282; + const double t2987 = 0.1e1 / t235 / t2985; + const double t2999 = t486 * t281; + const double t3004 = 0.128e3 / 0.9e1 * t2984 * t2987 + 0.176e3 / 0.9e1 * t952 * t2965 + 0.88e2 / 0.9e1 * t1266 * t2964 * t475 + 0.16e3 / 0.9e1 * t1266 * t2949 + 0.8e2 / 0.9e1 * t484 * t2967 + 0.2e3 / 0.9e1 * t2999 * t250 + 0.16e3 / 0.9e1 * t961 * t2967; + const double t3012 = -0.4e1 * t2896 * t1252 - 0.6e1 * t2923 * t1252 + 0.2e1 * t2321 * t2960 + 0.6e1 * t2342 * t2960 + 0.12e2 * t2371 * t2960 - t938 * t2970 - 0.2e1 * t949 * t2970 - 0.3e1 * t968 * t2970 + t2976 * t479 + t3004 * t491; + const double t3013 = t354 * t3012; + const double t3014 = t1176 * t1203; + const double t3015 = 0.2e1 * t3014; + const double t3018 = 0.2e1 * t495 + 0.2e1 * t1578; + const double t3019 = piecewise_functor_3( t8, 0.0, t3018 ); + const double t3024 = t975 * t975; + const double t3030 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t1849 * t3024 - t506 * t3018 / 0.3e1 ); + const double t3032 = t17 * t21 * t3030; + const double t3034 = t1843 - 0.35616666666666666666e-1 * t2456 + 0.53425e-1 * t3032; + const double t3036 = 0.621814e-1 * t3034 * t52; + const double t3038 = 0.2e1 * t2472 * t998; + const double t3039 = t997 * t997; + const double t3040 = t3039 * t540; + const double t3042 = 0.2e1 * t1868 * t3040; + const double t3043 = t987 * t987; + const double t3044 = t1874 * t3043; + const double t3047 = t1878 - 0.2e1 / 0.3e1 * t2456 + t3032; + const double t3048 = t519 * t3047; + const double t3052 = t1886 * t3043; + const double t3054 = t526 * t3047; + const double t3057 = t980 * t980; + const double t3059 = t39 * t43 * t3057; + const double t3061 = t26 * t3030; + const double t3063 = t39 * t43 * t3061; + const double t3065 = -0.9494625e0 * t3044 + 0.1898925e1 * t3048 + t1883 - 0.59793333333333333334e0 * t2456 + 0.8969e0 * t3032 + 0.15358125e0 * t3052 + 0.3071625e0 * t3054 + t1893 - 0.32862666666666666666e0 * t2498 + 0.24647e0 * t3059 + 0.24647e0 * t3063; + const double t3066 = t3065 * t540; + const double t3068 = 0.1e1 * t518 * t3066; + const double t3069 = t3039 * t1913; + const double t3071 = 0.16081979498692535067e2 * t1911 * t3069; + const double t3074 = t1917 - 0.34246666666666666666e-1 * t2456 + 0.5137e-1 * t3032; + const double t3079 = t1009 * t1009; + const double t3080 = t3079 * t559; + const double t3092 = -0.17648625e1 * t3044 + 0.3529725e1 * t3048 + t1935 - 0.103295e1 * t2456 + 0.1549425e1 * t3032 + 0.31558125e0 * t3052 + 0.6311625e0 * t3054 + t1940 - 0.41678e0 * t2498 + 0.312585e0 * t3059 + 0.312585e0 * t3063; + const double t3093 = t3092 * t559; + const double t3096 = t3079 * t1952; + const double t3101 = t1956 - 0.18541666666666666667e-1 * t2456 + 0.278125e-1 * t3032; + const double t3102 = t3101 * t89; + const double t3106 = t1021 * t1021; + const double t3107 = t3106 * t578; + const double t3119 = -0.1294625e1 * t3044 + 0.258925e1 * t3048 + t1974 - 0.60385e0 * t2456 + 0.905775e0 * t3032 + 0.82524375e-1 * t3052 + 0.16504875e0 * t3054 + t1979 - 0.33114e0 * t2498 + 0.248355e0 * t3059 + 0.248355e0 * t3063; + const double t3120 = t3119 * t578; + const double t3123 = t3106 * t1991; + const double t3126 = -0.310907e-1 * t3074 * t76 + 0.2e1 * t2522 * t1010 - 0.2e1 * t1928 * t3080 + 0.1e1 * t551 * t3093 + 0.32163958997385070134e2 * t1950 * t3096 + t3036 - t3038 + t3042 - t3068 - t3071 - 0.19751673498613801407e-1 * t3102 + 0.11696447245269292414e1 * t2555 * t1022 - 0.11696447245269292414e1 * t1967 * t3107 + 0.5848223622634646207e0 * t570 * t3120 + 0.17315859105681463759e2 * t1989 * t3123; + const double t3133 = t1966 * t3106 * t578; + const double t3137 = t569 * t3119 * t578; + const double t3140 = t1988 * t3106; + const double t3141 = t3140 * t1991; + const double t3144 = -t3036 + t3038 - t3042 + t3068 + t3071 + t65 * t3126 + 0.19751673498613801407e-1 * t65 * t3102 - 0.11696447245269292414e1 * t2586 * t1030 + 0.11696447245269292414e1 * t586 * t3133 - 0.5848223622634646207e0 * t586 * t3137 - 0.17315859105681463759e2 * t586 * t3141; + const double t3148 = piecewise_functor_3( t9, 0.0, t3019 * t96 / 0.2e1 + t976 * t1033 + t10 * t3144 / 0.2e1 ); + const double t3158 = piecewise_functor_3( t8, 0.0, 0.4e1 / 0.9e1 * t2122 * t3024 + 0.4e1 / 0.3e1 * t24 * t3018 ); + const double t3159 = t1040 * t1040; + const double t3162 = -t3018; + const double t3166 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t2130 * t3159 + 0.4e1 / 0.3e1 * t177 * t3162 ); + const double t3168 = ( t3158 + t3166 ) * t64; + const double t3171 = t2055 - 0.36622894612013090108e-3 * t2789 - t3148 - t2063 - t2090 - 0.8e1 * t2792 - 0.8e1 * t2794 + 0.2e1 * t2817 + t2097 - t2104 - 0.11696447245269292414e1 * t2821 + 0.19751673498613801407e-1 * t3168 * t347; + const double t3172 = piecewise_functor_3( t174, 0.0, t3162 ); + const double t3182 = piecewise_functor_3( t174, 0.0, 0.4e1 / 0.9e1 * t1596 * t3159 - t668 * t3162 / 0.3e1 ); + const double t3184 = t17 * t21 * t3182; + const double t3186 = t1590 - 0.35616666666666666666e-1 * t2625 + 0.53425e-1 * t3184; + const double t3188 = 0.621814e-1 * t3186 * t197; + const double t3190 = 0.2e1 * t2641 * t1063; + const double t3191 = t1062 * t1062; + const double t3192 = t3191 * t699; + const double t3194 = 0.2e1 * t1615 * t3192; + const double t3195 = t1052 * t1052; + const double t3196 = t1621 * t3195; + const double t3199 = t1625 - 0.2e1 / 0.3e1 * t2625 + t3184; + const double t3200 = t681 * t3199; + const double t3204 = t1633 * t3195; + const double t3206 = t688 * t3199; + const double t3209 = t1045 * t1045; + const double t3211 = t39 * t43 * t3209; + const double t3213 = t179 * t3182; + const double t3215 = t39 * t43 * t3213; + const double t3217 = -0.9494625e0 * t3196 + 0.1898925e1 * t3200 + t1630 - 0.59793333333333333334e0 * t2625 + 0.8969e0 * t3184 + 0.15358125e0 * t3204 + 0.3071625e0 * t3206 + t1643 - 0.32862666666666666666e0 * t2667 + 0.24647e0 * t3211 + 0.24647e0 * t3215; + const double t3218 = t3217 * t699; + const double t3220 = 0.1e1 * t680 * t3218; + const double t3221 = t3191 * t1663; + const double t3223 = 0.16081979498692535067e2 * t1661 * t3221; + const double t3226 = t1667 - 0.34246666666666666666e-1 * t2625 + 0.5137e-1 * t3184; + const double t3231 = t1074 * t1074; + const double t3232 = t3231 * t718; + const double t3244 = -0.17648625e1 * t3196 + 0.3529725e1 * t3200 + t1685 - 0.103295e1 * t2625 + 0.1549425e1 * t3184 + 0.31558125e0 * t3204 + 0.6311625e0 * t3206 + t1690 - 0.41678e0 * t2667 + 0.312585e0 * t3211 + 0.312585e0 * t3215; + const double t3245 = t3244 * t718; + const double t3248 = t3231 * t1702; + const double t3253 = t1706 - 0.18541666666666666667e-1 * t2625 + 0.278125e-1 * t3184; + const double t3254 = t3253 * t223; + const double t3258 = t1086 * t1086; + const double t3259 = t3258 * t737; + const double t3271 = -0.1294625e1 * t3196 + 0.258925e1 * t3200 + t1724 - 0.60385e0 * t2625 + 0.905775e0 * t3184 + 0.82524375e-1 * t3204 + 0.16504875e0 * t3206 + t1729 - 0.33114e0 * t2667 + 0.248355e0 * t3211 + 0.248355e0 * t3215; + const double t3272 = t3271 * t737; + const double t3275 = t3258 * t1741; + const double t3278 = -0.310907e-1 * t3226 * t210 + 0.2e1 * t2691 * t1075 - 0.2e1 * t1678 * t3232 + 0.1e1 * t710 * t3245 + 0.32163958997385070134e2 * t1700 * t3248 + t3188 - t3190 + t3194 - t3220 - t3223 - 0.19751673498613801407e-1 * t3254 + 0.11696447245269292414e1 * t2724 * t1087 - 0.11696447245269292414e1 * t1717 * t3259 + 0.5848223622634646207e0 * t729 * t3272 + 0.17315859105681463759e2 * t1739 * t3275; + const double t3285 = t1716 * t3258 * t737; + const double t3289 = t728 * t3271 * t737; + const double t3292 = t1738 * t3258; + const double t3293 = t3292 * t1741; + const double t3296 = -t3188 + t3190 - t3194 + t3220 + t3223 + t65 * t3278 + 0.19751673498613801407e-1 * t65 * t3254 - 0.11696447245269292414e1 * t2755 * t1095 + 0.11696447245269292414e1 * t745 * t3285 - 0.5848223622634646207e0 * t745 * t3289 - 0.17315859105681463759e2 * t745 * t3293; + const double t3300 = piecewise_functor_3( t175, 0.0, t3172 * t230 / 0.2e1 + t1041 * t1098 + t176 * t3296 / 0.2e1 ); + const double t3301 = t3168 * t349; + const double t3303 = t316 * t3301 - t2106 - t2108 + t2115 + t2150 + t2159 - t2165 + t2172 + t2175 + t2178 - t2181 + t2234 - t3300; + const double t3304 = t3171 + t3303; + const double t3305 = t3304 * t388; + const double t3306 = t3300 * t462; + const double t3307 = t3306 * t280; + const double t3308 = t3148 * t431; + const double t3309 = t3308 * t158; + const double t3310 = t1102 * t1244; + const double t3311 = t3310 * t280; + const double t3312 = 0.2e1 * t3311; + const double t3313 = t390 * t460; + const double t3314 = t2386 * t2959; + const double t3317 = alpha_ss * t2969; + const double t3323 = 0.88e2 / 0.9e1 * t443 * t2964 + 0.8e2 / 0.9e1 * t1218 * t1106; + const double t3325 = t1221 * t460; + const double t3328 = t447 * t1240; + const double t3340 = t424 * t281; + const double t3345 = 0.304e3 / 0.9e1 * t451 * t2987 + 0.88e2 / 0.9e1 * t453 * t2964 * t445 + 0.8e2 / 0.3e1 * t453 * t2949 + 0.2e3 / 0.9e1 * t3340 * t250 + 0.16e3 / 0.9e1 * t1234 * t2967; + const double t3347 = t1237 * t1240; + const double t3351 = 0.1e1 / t1239 / t440; + const double t3352 = t458 * t3351; + const double t3357 = -t1209 * t3317 - 0.4e1 * t3325 * t1214 - 0.6e1 * t3347 * t1214 - 0.2e1 * t1223 * t3317 - 0.3e1 * t1241 * t3317 + 0.2e1 * t3313 * t3314 + 0.6e1 * t3328 * t3314 + 0.12e2 * t3352 * t3314 + t3323 * t449 + t3345 * t460; + const double t3358 = t233 * t3357; + const double t3359 = t3358 * t280; + const double t3360 = -t2944 + t2948 - t2952 - t2955 - t2958 + t3013 + t3015 + t3305 + t3307 + t3309 + t3312 + t3359; + const double t3361 = 0.1e1 / t282; + const double t3362 = t3361 * t277; + const double t3363 = t3362 * t289; + const double t3364 = t1150 * t3363; + const double t3365 = t3364 / 0.4e1; + const double t3366 = t1148 * sigma_bb; + const double t3367 = t3366 * t1153; + const double t3368 = t3367 / 0.4e1; + const double t3369 = t1103 * sigma_bb; + const double t3370 = t3369 * t1153; + const double t3371 = t3370 / 0.4e1; + const double t3372 = t1176 * t1278; + const double t3373 = 0.2e1 * t3372; + const double t3374 = t3304 * t493; + const double t3375 = t1102 * t1147; + const double t3376 = t3375 * t290; + const double t3377 = 0.2e1 * t3376; + const double t3381 = t246 * t2987; + const double t3382 = t3381 * t253; + const double t3385 = 0.1e1 / t265; + const double t3387 = t256 * t3385 * t261; + const double t3394 = t257 * t247; + const double t3396 = 0.1e1 / t236 / t3394; + const double t3398 = t264 * t3396 * t270; + const double t3405 = t257 * t2985; + const double t3407 = 0.1e1 / t235 / t3405; + const double t3409 = t1137 * t3407 * t1143; + const double t3416 = t264 * t246; + const double t3417 = t257 * t257; + const double t3418 = t3417 * t234; + const double t3419 = 0.1e1 / t3418; + const double t3422 = 0.1e1 / t269 / t252; + const double t3426 = 0.88e2 / 0.9e1 * t102 * t2965 * t243 - 0.24e2 * t604 * t3382 + 0.128e3 / 0.9e1 * t1787 * t3387 + 0.304e3 / 0.9e1 * t117 * t3382 - 0.688e3 / 0.9e1 * t614 * t3387 + 0.128e3 / 0.3e1 * t1797 * t3398 + 0.72e2 * t130 * t3387 - 0.472e3 / 0.3e1 * t623 * t3398 + 0.256e3 / 0.3e1 * t1809 * t3409 + 0.112e4 / 0.9e1 * t141 * t3398 - 0.8e3 / 0.3e1 * t634 * t3409 + 0.128e4 / 0.9e1 * t1822 * t3416 * t3419 * t3422; + const double t3427 = t233 * t3426; + const double t3428 = t3427 * t290; + const double t3429 = t3300 * t273; + const double t3430 = t3429 * t290; + const double t3431 = t3148 * t151; + const double t3432 = t3431 * t170; + const double t3433 = sigma_bb * t3361; + const double t3434 = t3433 * t277; + const double t3435 = t463 * t3434; + const double t3436 = t3435 / 0.4e1; + const double t3437 = t1207 * t1248; + const double t3438 = t3437 / 0.4e1; + const double t3439 = t1245 * t1248; + const double t3440 = t3439 / 0.4e1; + const double t3444 = t3381 * t369; + const double t3447 = t377 * t246; + const double t3448 = t3447 * t2987; + const double t3451 = t1181 * t2964; + const double t3460 = t385 * t246; + const double t3461 = t3460 * t2987; + const double t3464 = t1187 * t2964; + const double t3473 = t884 * t246; + const double t3474 = t3473 * t2987; + const double t3477 = t1193 * t2964; + const double t3486 = t2308 * t246; + const double t3493 = 0.88e2 / 0.9e1 * t357 * t2965 * t361 - 0.128e3 / 0.9e1 * t853 * t3444 + 0.128e3 / 0.9e1 * t2255 * t3448 - 0.88e2 / 0.9e1 * t854 * t3451 + 0.128e3 / 0.9e1 * t366 * t3444 - 0.512e3 / 0.9e1 * t2265 * t3448 + 0.176e3 / 0.9e1 * t859 * t3451 + 0.128e3 / 0.3e1 * t2271 * t3461 - 0.176e3 / 0.9e1 * t863 * t3464 + 0.128e3 / 0.3e1 * t2279 * t3448 - 0.128e3 * t2282 * t3461 + 0.88e2 / 0.3e1 * t868 * t3464 + 0.256e3 / 0.3e1 * t2288 * t3474 - 0.88e2 / 0.3e1 * t872 * t3477 + 0.256e3 / 0.3e1 * t2296 * t3461 - 0.2048e4 / 0.9e1 * t2299 * t3474 + 0.352e3 / 0.9e1 * t877 * t3477 + 0.128e4 / 0.9e1 * t2306 * t3486 * t2987 - 0.352e3 / 0.9e1 * t882 * t1199 * t2964; + const double t3494 = t354 * t3493; + const double t3495 = -t3365 + t3368 + t3371 + t3373 + t3374 + t3377 + t3428 + t3430 + t3432 - t3436 + t3438 + t3440 + t3494; + const double t3511 = t595 * t1308; + const double t3512 = t3511 * t170; + const double t3516 = t607 * t125; + const double t3517 = t3516 * sigma_aa; + const double t3521 = t118 * t616 * t136; + const double t3529 = t131 * t626 * t148; + const double t3537 = t142 * t638 * t641; + const double t3544 = t1824 * rho_a; + const double t3545 = 0.1e1 / t3544; + const double t3550 = -0.8e1 / 0.3e1 * t102 * t599 * t112 + 0.8e1 * t604 * t3517 - 0.16e2 / 0.3e1 * t1787 * t3521 - 0.32e2 / 0.3e1 * t117 * t3517 + 0.8e2 / 0.3e1 * t614 * t3521 - 0.16e2 * t1797 * t3529 - 0.24e2 * t130 * t3521 + 0.56e2 * t623 * t3529 - 0.32e2 * t1809 * t3537 - 0.128e3 / 0.3e1 * t141 * t3529 + 0.96e2 * t634 * t3537 - 0.16e3 / 0.3e1 * t1822 * t635 * t3545 * t1829; + const double t3551 = t99 * t3550; + const double t3552 = t3551 * t170; + const double t3553 = t1309 * sigma_aa; + const double t3554 = t3553 * t651; + const double t3555 = t3554 / 0.8e1; + const double t3556 = t1309 * t158; + const double t3557 = t3556 * t659; + const double t3558 = 0.4e2 / 0.3e1 * t3557; + const double t3559 = t596 * t1312; + const double t3560 = t3559 / 0.8e1; + const double t3561 = t646 * t1312; + const double t3562 = t3561 / 0.8e1; + const double t3563 = t152 * t651; + const double t3564 = t3563 / 0.8e1; + const double t3565 = t152 * t122; + const double t3567 = tau_a * t165 * t168; + const double t3568 = t3565 * t3567; + const double t3569 = 0.5e1 / 0.3e1 * t3568; + const double t3570 = t848 * t1338; + const double t3574 = t607 * t369; + const double t3575 = t3574 * sigma_aa; + const double t3578 = t377 * t607; + const double t3579 = t3578 * sigma_aa; + const double t3582 = t1317 * t599; + const double t3591 = t385 * t607; + const double t3592 = t3591 * sigma_aa; + const double t3595 = t1322 * t599; + const double t3604 = t884 * t607; + const double t3605 = t3604 * sigma_aa; + const double t3608 = t1328 * t599; + const double t3617 = t2308 * t607; + const double t3624 = -0.8e1 / 0.3e1 * t357 * t599 * t361 + 0.16e2 / 0.3e1 * t853 * t3575 - 0.16e2 / 0.3e1 * t2255 * t3579 + 0.8e1 / 0.3e1 * t853 * t3582 - 0.16e2 / 0.3e1 * t366 * t3575 + 0.64e2 / 0.3e1 * t2265 * t3579 - 0.16e2 / 0.3e1 * t366 * t3582 - 0.16e2 * t2271 * t3592 + 0.16e2 / 0.3e1 * t862 * t3595 - 0.16e2 * t2279 * t3579 + 0.48e2 * t2282 * t3592 - 0.8e1 * t374 * t3595 - 0.32e2 * t2288 * t3605 + 0.8e1 * t871 * t3608 - 0.32e2 * t2296 * t3592 + 0.256e3 / 0.3e1 * t2299 * t3605 - 0.32e2 / 0.3e1 * t382 * t3608 - 0.16e3 / 0.3e1 * t2306 * t3617 * sigma_aa + 0.32e2 / 0.3e1 * t881 * t1334 * t599; + const double t3625 = t354 * t3624; + const double t3626 = t595 * t1355; + const double t3627 = t3626 * t158; + const double t3628 = t2386 * t107; + const double t3629 = t3628 * t897; + const double t3630 = t2385 * t3629; + const double t3632 = alpha_ss * t599; + const double t3633 = t893 * t3632; + const double t3635 = t407 * t599; + const double t3638 = t429 * alpha_ss; + const double t3639 = t3638 * t897; + const double t3642 = t2398 * t1340; + const double t3644 = t2401 * t3629; + const double t3646 = t907 * t3632; + const double t3653 = t420 * t122; + const double t3656 = -0.32e2 / 0.3e1 * t1346 * t607 - 0.8e1 / 0.3e1 * t420 * t599 * t411 - 0.1e2 / 0.3e1 * t3653 * tau_a; + const double t3658 = t1351 * t924; + const double t3661 = t2420 * t1340; + const double t3663 = t2425 * t3629; + const double t3665 = t925 * t3632; + const double t3667 = 0.2e1 * t3630 + 0.8e1 / 0.3e1 * t3633 - 0.8e1 / 0.3e1 * t3635 * t415 - 0.2e1 * t1342 * t3639 - 0.2e1 * t3642 + 0.6e1 * t3644 + 0.16e2 / 0.3e1 * t3646 + t3656 * t429 - 0.3e1 * t3658 * t898 - 0.3e1 * t3661 + 0.12e2 * t3663 + 0.8e1 * t3665; + const double t3668 = t99 * t3667; + const double t3669 = t3668 * t158; + const double t3670 = t1356 * t932; + const double t3671 = t3670 / 0.8e1; + const double t3672 = t891 * t1311; + const double t3673 = t3672 / 0.8e1; + const double t3674 = t929 * t1311; + const double t3675 = t3674 / 0.8e1; + const double t3676 = t432 * t650; + const double t3677 = t3676 / 0.8e1; + const double t3678 = t848 * t1374; + const double t3679 = t2322 * t107; + const double t3680 = t3679 * t897; + const double t3681 = t2321 * t3680; + const double t3683 = alpha_ab * t599; + const double t3684 = t938 * t3683; + const double t3686 = t472 * t599; + const double t3689 = t491 * alpha_ab; + const double t3690 = t3689 * t897; + const double t3693 = t2339 * t1360; + const double t3695 = t2342 * t3680; + const double t3697 = t949 * t3683; + const double t3703 = t483 * t599; + const double t3706 = t483 * t122; + const double t3709 = -0.16e2 / 0.3e1 * t2903 * t607 - 0.16e2 / 0.3e1 * t952 * t599 - 0.8e1 / 0.3e1 * t3703 * t475 - 0.1e2 / 0.3e1 * t3706 * tau_a; + const double t3711 = t1370 * t967; + const double t3714 = t2366 * t1360; + const double t3716 = t2371 * t3680; + const double t3718 = t968 * t3683; + const double t3720 = 0.2e1 * t3681 + 0.8e1 / 0.3e1 * t3684 - 0.8e1 / 0.3e1 * t3686 * t479 - 0.2e1 * t1362 * t3690 - 0.2e1 * t3693 + 0.6e1 * t3695 + 0.16e2 / 0.3e1 * t3697 + t3709 * t491 - 0.3e1 * t3711 * t939 - 0.3e1 * t3714 + 0.12e2 * t3716 + 0.8e1 * t3718; + const double t3721 = t354 * t3720; + const double t3722 = t3512 + t3552 + t3555 - t3558 - t3560 - t3562 + t3564 + t3569 + t3570 + t3625 + t3627 + t3669 + t3671 - t3673 - t3675 + t3677 + t3678 + t3721; + const double t3724 = t754 * t1403; + const double t3725 = t3724 * t290; + const double t3726 = t755 * t1407; + const double t3727 = t3726 / 0.8e1; + const double t3728 = t848 * t1429; + const double t3729 = t853 * t238; + const double t3732 = t377 * t238; + const double t3733 = t3732 * t600; + const double t3736 = t2844 * t238; + const double t3741 = t385 * t238; + const double t3742 = t3741 * t600; + const double t3749 = t884 * t238; + const double t3750 = t3749 * t600; + const double t3757 = t2308 * t238; + const double t3761 = 0.16e2 / 0.3e1 * t3729 * t856 - 0.16e2 / 0.3e1 * t2255 * t3733 - 0.16e2 / 0.3e1 * t2843 * t3736 + 0.64e2 / 0.3e1 * t2265 * t3733 - 0.16e2 * t2271 * t3742 - 0.16e2 * t2279 * t3733 + 0.48e2 * t2282 * t3742 - 0.32e2 * t2288 * t3750 - 0.32e2 * t2296 * t3742 + 0.256e3 / 0.3e1 * t2299 * t3750 - 0.16e3 / 0.3e1 * t2306 * t3757 * t600; + const double t3762 = t354 * t3761; + const double t3763 = t754 * t1446; + const double t3764 = t3763 * t280; + const double t3765 = t935 * t1406; + const double t3766 = t3765 / 0.8e1; + const double t3767 = t848 * t1465; + const double t3768 = t2322 * t238; + const double t3769 = t3768 * t897; + const double t3770 = t2321 * t3769; + const double t3774 = t2339 * t1451; + const double t3776 = t2342 * t3769; + const double t3778 = t599 * t238; + const double t3783 = -0.16e2 / 0.3e1 * t2903 * t3778 - 0.1e2 / 0.3e1 * t1459 * t895; + const double t3785 = t1461 * t967; + const double t3788 = t2366 * t1451; + const double t3790 = t2371 * t3769; + const double t3792 = -0.2e1 * t1453 * t3690 + t3783 * t491 - 0.3e1 * t3785 * t939 + 0.2e1 * t3770 - 0.2e1 * t3774 + 0.6e1 * t3776 - 0.3e1 * t3788 + 0.12e2 * t3790; + const double t3793 = t354 * t3792; + const double t3796 = t1037 * t1308; + const double t3797 = t3796 * t170; + const double t3798 = t1038 * t1312; + const double t3799 = t3798 / 0.8e1; + const double t3800 = t1176 * t1338; + const double t3801 = t853 * t107; + const double t3804 = t377 * t107; + const double t3805 = t3804 * t1107; + const double t3808 = t366 * sigma_bb; + const double t3809 = t2834 * t107; + const double t3814 = t385 * t107; + const double t3815 = t3814 * t1107; + const double t3822 = t884 * t107; + const double t3823 = t3822 * t1107; + const double t3830 = t2308 * t107; + const double t3834 = 0.16e2 / 0.3e1 * t3801 * t1182 - 0.16e2 / 0.3e1 * t2255 * t3805 - 0.16e2 / 0.3e1 * t3808 * t3809 + 0.64e2 / 0.3e1 * t2265 * t3805 - 0.16e2 * t2271 * t3815 - 0.16e2 * t2279 * t3805 + 0.48e2 * t2282 * t3815 - 0.32e2 * t2288 * t3823 - 0.32e2 * t2296 * t3815 + 0.256e3 / 0.3e1 * t2299 * t3823 - 0.16e3 / 0.3e1 * t2306 * t3830 * t1107; + const double t3835 = t354 * t3834; + const double t3836 = t1037 * t1355; + const double t3837 = t3836 * t158; + const double t3838 = t1205 * t1311; + const double t3839 = t3838 / 0.8e1; + const double t3840 = t1176 * t1374; + const double t3841 = t3679 * t1213; + const double t3842 = t2321 * t3841; + const double t3844 = t3689 * t1213; + const double t3847 = t2896 * t1360; + const double t3849 = t2342 * t3841; + const double t3851 = t481 * sigma_bb; + const double t3852 = t1106 * t107; + const double t3857 = -0.16e2 / 0.3e1 * t3851 * t3852 - 0.1e2 / 0.3e1 * t1368 * t1211; + const double t3861 = t2923 * t1360; + const double t3863 = t2371 * t3841; + const double t3865 = -0.3e1 * t3711 * t1252 - 0.2e1 * t1362 * t3844 + t3857 * t491 + 0.2e1 * t3842 - 0.2e1 * t3847 + 0.6e1 * t3849 - 0.3e1 * t3861 + 0.12e2 * t3863; + const double t3866 = t354 * t3865; + const double t3869 = t1102 * t1403; + const double t3870 = t3869 * t290; + const double t3874 = t1113 * t253; + const double t3875 = t3874 * sigma_bb; + const double t3879 = t246 * t1121 * t261; + const double t3887 = t256 * t1130 * t270; + const double t3895 = t264 * t1140 * t1143; + const double t3902 = t3417 * rho_b; + const double t3903 = 0.1e1 / t3902; + const double t3908 = -0.8e1 / 0.3e1 * t102 * t1106 * t243 + 0.8e1 * t604 * t3875 - 0.16e2 / 0.3e1 * t1787 * t3879 - 0.32e2 / 0.3e1 * t117 * t3875 + 0.8e2 / 0.3e1 * t614 * t3879 - 0.16e2 * t1797 * t3887 - 0.24e2 * t130 * t3879 + 0.56e2 * t623 * t3887 - 0.32e2 * t1809 * t3895 - 0.128e3 / 0.3e1 * t141 * t3887 + 0.96e2 * t634 * t3895 - 0.16e3 / 0.3e1 * t1822 * t1137 * t3903 * t3422; + const double t3909 = t233 * t3908; + const double t3910 = t3909 * t290; + const double t3911 = t1404 * sigma_bb; + const double t3912 = t3911 * t1153; + const double t3913 = t3912 / 0.8e1; + const double t3914 = t1404 * t280; + const double t3915 = t3914 * t1161; + const double t3916 = 0.4e2 / 0.3e1 * t3915; + const double t3917 = t1103 * t1407; + const double t3918 = t3917 / 0.8e1; + const double t3919 = t1148 * t1407; + const double t3920 = t3919 / 0.8e1; + const double t3921 = t274 * t1153; + const double t3922 = t3921 / 0.8e1; + const double t3923 = t274 * t250; + const double t3925 = tau_b * t165 * t288; + const double t3926 = t3923 * t3925; + const double t3927 = 0.5e1 / 0.3e1 * t3926; + const double t3928 = t1176 * t1429; + const double t3932 = t1113 * t369; + const double t3933 = t3932 * sigma_bb; + const double t3936 = t377 * t1113; + const double t3937 = t3936 * sigma_bb; + const double t3940 = t1317 * t1106; + const double t3949 = t385 * t1113; + const double t3950 = t3949 * sigma_bb; + const double t3953 = t1322 * t1106; + const double t3962 = t884 * t1113; + const double t3963 = t3962 * sigma_bb; + const double t3966 = t1328 * t1106; + const double t3975 = t2308 * t1113; + const double t3982 = -0.8e1 / 0.3e1 * t357 * t1106 * t361 + 0.16e2 / 0.3e1 * t853 * t3933 - 0.16e2 / 0.3e1 * t2255 * t3937 + 0.8e1 / 0.3e1 * t853 * t3940 - 0.16e2 / 0.3e1 * t366 * t3933 + 0.64e2 / 0.3e1 * t2265 * t3937 - 0.16e2 / 0.3e1 * t366 * t3940 - 0.16e2 * t2271 * t3950 + 0.16e2 / 0.3e1 * t862 * t3953 - 0.16e2 * t2279 * t3937 + 0.48e2 * t2282 * t3950 - 0.8e1 * t374 * t3953 - 0.32e2 * t2288 * t3963 + 0.8e1 * t871 * t3966 - 0.32e2 * t2296 * t3950 + 0.256e3 / 0.3e1 * t2299 * t3963 - 0.32e2 / 0.3e1 * t382 * t3966 - 0.16e3 / 0.3e1 * t2306 * t3975 * sigma_bb + 0.32e2 / 0.3e1 * t881 * t1334 * t1106; + const double t3983 = t354 * t3982; + const double t3984 = t1102 * t1446; + const double t3985 = t3984 * t280; + const double t3986 = t2386 * t238; + const double t3987 = t3986 * t1213; + const double t3988 = t3313 * t3987; + const double t3990 = alpha_ss * t1106; + const double t3991 = t1209 * t3990; + const double t3993 = t407 * t1106; + const double t3996 = t460 * alpha_ss; + const double t3997 = t3996 * t1213; + const double t4000 = t3325 * t1431; + const double t4002 = t3328 * t3987; + const double t4004 = t1223 * t3990; + const double t4011 = t420 * t250; + const double t4014 = -0.32e2 / 0.3e1 * t1437 * t1113 - 0.8e1 / 0.3e1 * t420 * t1106 * t445 - 0.1e2 / 0.3e1 * t4011 * tau_b; + const double t4016 = t1442 * t1240; + const double t4019 = t3347 * t1431; + const double t4021 = t3352 * t3987; + const double t4023 = t1241 * t3990; + const double t4025 = 0.2e1 * t3988 + 0.8e1 / 0.3e1 * t3991 - 0.8e1 / 0.3e1 * t3993 * t449 - 0.2e1 * t1433 * t3997 - 0.2e1 * t4000 + 0.6e1 * t4002 + 0.16e2 / 0.3e1 * t4004 + t4014 * t460 - 0.3e1 * t4016 * t1214 - 0.3e1 * t4019 + 0.12e2 * t4021 + 0.8e1 * t4023; + const double t4026 = t233 * t4025; + const double t4027 = t4026 * t280; + const double t4028 = t1447 * t1248; + const double t4029 = t4028 / 0.8e1; + const double t4030 = t1207 * t1406; + const double t4031 = t4030 / 0.8e1; + const double t4032 = t1245 * t1406; + const double t4033 = t4032 / 0.8e1; + const double t4034 = t463 * t1152; + const double t4035 = t4034 / 0.8e1; + const double t4036 = t1176 * t1465; + const double t4037 = t3768 * t1213; + const double t4038 = t2321 * t4037; + const double t4040 = alpha_ab * t1106; + const double t4041 = t938 * t4040; + const double t4043 = t472 * t1106; + const double t4048 = t2896 * t1451; + const double t4050 = t2342 * t4037; + const double t4052 = t949 * t4040; + const double t4058 = t483 * t1106; + const double t4061 = t483 * t250; + const double t4064 = -0.16e2 / 0.3e1 * t3851 * t1113 - 0.16e2 / 0.3e1 * t952 * t1106 - 0.8e1 / 0.3e1 * t4058 * t475 - 0.1e2 / 0.3e1 * t4061 * tau_b; + const double t4068 = t2923 * t1451; + const double t4070 = t2371 * t4037; + const double t4072 = t968 * t4040; + const double t4074 = 0.2e1 * t4038 + 0.8e1 / 0.3e1 * t4041 - 0.8e1 / 0.3e1 * t4043 * t479 - 0.2e1 * t1453 * t3844 - 0.2e1 * t4048 + 0.6e1 * t4050 + 0.16e2 / 0.3e1 * t4052 + t4064 * t491 - 0.3e1 * t3785 * t1252 - 0.3e1 * t4068 + 0.12e2 * t4070 + 0.8e1 * t4072; + const double t4075 = t354 * t4074; + const double t4076 = t3870 + t3910 + t3913 - t3916 - t3918 - t3920 + t3922 + t3927 + t3928 + t3983 + t3985 + t4027 + t4029 - t4031 - t4033 + t4035 + t4036 + t4075; + const double t4078 = t2045 * t1470; + const double t4079 = t4078 / 0.8e1; + const double t4080 = t1573 * t1470; + const double t4081 = t4080 / 0.8e1; + const double t4082 = t649 * t1468; + const double t4083 = t4082 * t169; + const double t4084 = t648 * t4083; + const double t4085 = t4084 / 0.8e1; + const double t4087 = t122 * t165 * t168; + const double t4088 = t648 * t4087; + const double t4089 = 0.2e1 / 0.3e1 * t4088; + const double t4090 = t2042 * t1474; + const double t4091 = 0.8e1 * t4090; + const double t4092 = t2039 * t1474; + const double t4093 = 0.8e1 * t4092; + const double t4095 = tau_a * t656 * t658; + const double t4096 = t654 * t4095; + const double t4097 = 0.8e2 / 0.3e1 * t4096; + const double t4098 = t159 * tau_a; + const double t4100 = 0.1e1 / t105 / t1780; + const double t4102 = t4098 * t4100 * t2027; + const double t4103 = t654 * t4102; + const double t4104 = 0.32e3 / 0.3e1 * t4103; + const double t4105 = t595 * t1493; + const double t4106 = t4105 * t158; + const double t4107 = t2386 * t392; + const double t4108 = t4107 * t897; + const double t4112 = t410 * t107; + const double t4124 = t424 * tau_a; + const double t4129 = -0.26e2 / 0.3e1 * t421 * t122 - 0.4e2 / 0.3e1 * t4124 * t656 - 0.2e2 / 0.3e1 * t918 * t107; + const double t4131 = t1489 * t924; + const double t4139 = 0.4e1 * t2385 * t4108 + 0.1e2 / 0.3e1 * t1341 - 0.1e2 / 0.3e1 * t4112 * t415 - 0.4e1 * t1480 * t3639 - 0.4e1 * t2398 * t1477 + 0.12e2 * t2401 * t4108 + 0.2e2 / 0.3e1 * t1344 + t4129 * t429 - 0.3e1 * t4131 * t898 - 0.6e1 * t2420 * t1477 + 0.24e2 * t2425 * t4108 + 0.1e2 * t1353; + const double t4140 = t99 * t4139; + const double t4141 = t4140 * t158; + const double t4142 = t1494 * t932; + const double t4143 = t4142 / 0.8e1; + const double t4144 = t891 * t1496; + const double t4145 = t4144 / 0.8e1; + const double t4146 = t929 * t1496; + const double t4147 = t4146 / 0.8e1; + const double t4148 = t931 * t1468; + const double t4149 = t432 * t4148; + const double t4150 = t4149 / 0.8e1; + const double t4151 = t848 * t1515; + const double t4152 = t2322 * t392; + const double t4153 = t4152 * t897; + const double t4157 = t474 * t107; + const double t4175 = -0.16e2 / 0.3e1 * t955 * t122 - 0.1e2 / 0.3e1 * t484 * t107 - 0.4e2 / 0.3e1 * t2916 * t656 - 0.2e2 / 0.3e1 * t961 * t107; + const double t4177 = t1511 * t967; + const double t4185 = 0.4e1 * t2321 * t4153 + 0.1e2 / 0.3e1 * t1361 - 0.1e2 / 0.3e1 * t4157 * t479 - 0.4e1 * t1502 * t3690 - 0.4e1 * t2339 * t1499 + 0.12e2 * t2342 * t4153 + 0.2e2 / 0.3e1 * t1364 + t4175 * t491 - 0.3e1 * t4177 * t939 - 0.6e1 * t2366 * t1499 + 0.24e2 * t2371 * t4153 + 0.1e2 * t1372; + const double t4186 = t354 * t4185; + const double t4187 = t4079 + t4081 - t4085 - t4089 + t4091 + t4093 - t4097 + t4104 + t4106 + t4141 + t4143 + t4145 + t4147 - t4150 + t4151 + t4186; + const double t4189 = t2782 * t1520; + const double t4190 = t4189 / 0.8e1; + const double t4191 = t2785 * t1524; + const double t4192 = 0.8e1 * t4191; + const double t4193 = t754 * t1543; + const double t4194 = t4193 * t280; + const double t4195 = t935 * t1546; + const double t4196 = t4195 / 0.8e1; + const double t4197 = t848 * t1565; + const double t4198 = t2322 * t435; + const double t4199 = t4198 * t897; + const double t4208 = t599 * t435; + const double t4211 = t107 * t435; + const double t4214 = -0.16e2 / 0.3e1 * t955 * t4208 - 0.4e2 / 0.3e1 * t2916 * t4211; + const double t4216 = t1561 * t967; + const double t4223 = -0.4e1 * t2339 * t1549 - 0.6e1 * t2366 * t1549 - 0.4e1 * t1552 * t3690 + 0.4e1 * t2321 * t4199 + 0.12e2 * t2342 * t4199 + 0.24e2 * t2371 * t4199 + t4214 * t491 - 0.3e1 * t4216 * t939; + const double t4224 = t354 * t4223; + const double t4227 = t2613 * t1470; + const double t4228 = t4227 / 0.8e1; + const double t4229 = t2616 * t1474; + const double t4230 = 0.8e1 * t4229; + const double t4231 = t1037 * t1493; + const double t4232 = t4231 * t158; + const double t4233 = t1205 * t1496; + const double t4234 = t4233 / 0.8e1; + const double t4235 = t1176 * t1515; + const double t4236 = t4152 * t1213; + const double t4245 = t1106 * t392; + const double t4248 = t486 * tau_b; + const double t4249 = t238 * t392; + const double t4252 = -0.16e2 / 0.3e1 * t1266 * t4245 - 0.4e2 / 0.3e1 * t4248 * t4249; + const double t4260 = -0.3e1 * t4177 * t1252 - 0.4e1 * t2896 * t1499 - 0.6e1 * t2923 * t1499 - 0.4e1 * t1502 * t3844 + 0.4e1 * t2321 * t4236 + 0.12e2 * t2342 * t4236 + 0.24e2 * t2371 * t4236 + t4252 * t491; + const double t4261 = t354 * t4260; + const double t4264 = t3369 * t1520; + const double t4265 = t4264 / 0.8e1; + const double t4266 = t3366 * t1520; + const double t4267 = t4266 / 0.8e1; + const double t4268 = t1151 * t1518; + const double t4269 = t4268 * t289; + const double t4270 = t1150 * t4269; + const double t4271 = t4270 / 0.8e1; + const double t4273 = t250 * t165 * t288; + const double t4274 = t1150 * t4273; + const double t4275 = 0.2e1 / 0.3e1 * t4274; + const double t4276 = t2956 * t1524; + const double t4277 = 0.8e1 * t4276; + const double t4278 = t2953 * t1524; + const double t4279 = 0.8e1 * t4278; + const double t4281 = tau_b * t1158 * t1160; + const double t4282 = t1156 * t4281; + const double t4283 = 0.8e2 / 0.3e1 * t4282; + const double t4284 = t281 * tau_b; + const double t4286 = 0.1e1 / t236 / t2985; + const double t4288 = t4284 * t4286 * t2941; + const double t4289 = t1156 * t4288; + const double t4290 = 0.32e3 / 0.3e1 * t4289; + const double t4291 = t1102 * t1543; + const double t4292 = t4291 * t280; + const double t4293 = t2386 * t435; + const double t4294 = t4293 * t1213; + const double t4298 = t410 * t238; + const double t4310 = t424 * tau_b; + const double t4315 = -0.26e2 / 0.3e1 * t453 * t250 - 0.4e2 / 0.3e1 * t4310 * t1158 - 0.2e2 / 0.3e1 * t1234 * t238; + const double t4317 = t1539 * t1240; + const double t4325 = 0.4e1 * t3313 * t4294 + 0.1e2 / 0.3e1 * t1432 - 0.1e2 / 0.3e1 * t4298 * t449 - 0.4e1 * t1530 * t3997 - 0.4e1 * t3325 * t1527 + 0.12e2 * t3328 * t4294 + 0.2e2 / 0.3e1 * t1435 + t4315 * t460 - 0.3e1 * t4317 * t1214 - 0.6e1 * t3347 * t1527 + 0.24e2 * t3352 * t4294 + 0.1e2 * t1444; + const double t4326 = t233 * t4325; + const double t4327 = t4326 * t280; + const double t4328 = t1544 * t1248; + const double t4329 = t4328 / 0.8e1; + const double t4330 = t1207 * t1546; + const double t4331 = t4330 / 0.8e1; + const double t4332 = t1245 * t1546; + const double t4333 = t4332 / 0.8e1; + const double t4334 = t1247 * t1518; + const double t4335 = t463 * t4334; + const double t4336 = t4335 / 0.8e1; + const double t4337 = t1176 * t1565; + const double t4338 = t4198 * t1213; + const double t4342 = t474 * t238; + const double t4360 = -0.16e2 / 0.3e1 * t1266 * t250 - 0.1e2 / 0.3e1 * t484 * t238 - 0.4e2 / 0.3e1 * t4248 * t1158 - 0.2e2 / 0.3e1 * t961 * t238; + const double t4369 = 0.4e1 * t2321 * t4338 + 0.1e2 / 0.3e1 * t1452 - 0.1e2 / 0.3e1 * t4342 * t479 - 0.4e1 * t1552 * t3844 - 0.4e1 * t2896 * t1549 + 0.12e2 * t2342 * t4338 + 0.2e2 / 0.3e1 * t1455 + t4360 * t491 - 0.3e1 * t4216 * t1252 - 0.6e1 * t2923 * t1549 + 0.24e2 * t2371 * t4338 + 0.1e2 * t1463; + const double t4370 = t354 * t4369; + const double t4371 = t4265 + t4267 - t4271 - t4275 + t4277 + t4279 - t4283 + t4290 + t4292 + t4327 + t4329 + t4331 + t4333 - t4336 + t4337 + t4370; + const double t4373 = t122 * t125; + const double t4377 = sigma_aa * t133 * t136; + const double t4385 = t118 * t145 * t148; + const double t4393 = t131 * t1303 * t641; + const double t4400 = 0.1e1 / t1824; + const double t4405 = 0.2e2 * t1822 * t142 * t4400 * t1829 + 0.2e1 * t117 * t4373 + 0.6e1 * t130 * t4377 + 0.12e2 * t141 * t4385 + 0.2e1 * t1787 * t4377 + 0.6e1 * t1797 * t4385 + 0.12e2 * t1809 * t4393 - 0.2e1 * t604 * t4373 - 0.8e1 * t614 * t4377 - 0.18e2 * t623 * t4385 - 0.32e2 * t634 * t4393; + const double t4406 = t99 * t4405; + const double t4407 = t4406 * t170; + const double t4409 = t1309 * t1312 / 0.4e1; + const double t4410 = t122 * t369; + const double t4413 = t2838 * t122; + const double t4420 = t2851 * t122; + const double t4427 = t2861 * t122; + const double t4437 = 0.2e2 * t2305 * t2871 * t122 + 0.2e1 * t2254 * t4413 + 0.6e1 * t2270 * t4420 + 0.12e2 * t2287 * t4427 + 0.2e1 * t366 * t4410 + 0.6e1 * t374 * t4413 + 0.12e2 * t382 * t4420 - 0.2e1 * t853 * t4410 - 0.8e1 * t862 * t4413 - 0.18e2 * t871 * t4420 - 0.32e2 * t881 * t4427; + const double t4438 = t354 * t4437; + const double t4439 = t2386 * t122; + const double t4440 = t2385 * t4439; + const double t4442 = t407 * t122; + const double t4443 = t4442 * t3638; + const double t4445 = t2401 * t4439; + const double t4447 = t417 * t122; + const double t4450 = t3658 * t1340; + const double t4452 = t2425 * t4439; + const double t4454 = 0.2e1 * t4447 * t429 + 0.2e1 * t4440 - 0.4e1 * t4443 + 0.6e1 * t4445 - 0.6e1 * t4450 + 0.12e2 * t4452; + const double t4455 = t99 * t4454; + const double t4456 = t4455 * t158; + const double t4458 = t1356 * t1311 / 0.4e1; + const double t4459 = t2322 * t122; + const double t4460 = t2321 * t4459; + const double t4462 = t472 * t122; + const double t4463 = t4462 * t3689; + const double t4465 = t2342 * t4459; + const double t4467 = t481 * t122; + const double t4470 = t3711 * t1360; + const double t4472 = t2371 * t4459; + const double t4474 = 0.2e1 * t4467 * t491 + 0.2e1 * t4460 - 0.4e1 * t4463 + 0.6e1 * t4465 - 0.6e1 * t4470 + 0.12e2 * t4472; + const double t4475 = t354 * t4474; + const double t4478 = t238 * t369 * t107; + const double t4481 = t3732 * t107; + const double t4488 = t3741 * t107; + const double t4495 = t3749 * t107; + const double t4505 = 0.2e2 * t2306 * t3757 * t107 + 0.2e1 * t2255 * t4481 - 0.8e1 * t2265 * t4481 + 0.6e1 * t2271 * t4488 + 0.6e1 * t2279 * t4481 - 0.18e2 * t2282 * t4488 + 0.12e2 * t2288 * t4495 + 0.12e2 * t2296 * t4488 - 0.32e2 * t2299 * t4495 + 0.2e1 * t366 * t4478 - 0.2e1 * t853 * t4478; + const double t4506 = t354 * t4505; + const double t4507 = t3768 * t107; + const double t4508 = t2321 * t4507; + const double t4510 = t3689 * t107; + const double t4511 = t1453 * t4510; + const double t4513 = t2342 * t4507; + const double t4515 = t481 * t107; + const double t4516 = t238 * t491; + const double t4519 = t3785 * t1360; + const double t4521 = t3711 * t1451; + const double t4523 = t2371 * t4507; + const double t4525 = 0.2e1 * t4515 * t4516 + 0.2e1 * t4508 - 0.4e1 * t4511 + 0.6e1 * t4513 - 0.3e1 * t4519 - 0.3e1 * t4521 + 0.12e2 * t4523; + const double t4526 = t354 * t4525; + const double t4528 = t250 * t253; + const double t4532 = sigma_bb * t258 * t261; + const double t4540 = t246 * t267 * t270; + const double t4548 = t256 * t1398 * t1143; + const double t4555 = 0.1e1 / t3417; + const double t4560 = 0.2e2 * t1822 * t264 * t4555 * t3422 + 0.2e1 * t117 * t4528 + 0.6e1 * t130 * t4532 + 0.12e2 * t141 * t4540 + 0.2e1 * t1787 * t4532 + 0.6e1 * t1797 * t4540 + 0.12e2 * t1809 * t4548 - 0.2e1 * t604 * t4528 - 0.8e1 * t614 * t4532 - 0.18e2 * t623 * t4540 - 0.32e2 * t634 * t4548; + const double t4561 = t233 * t4560; + const double t4562 = t4561 * t290; + const double t4564 = t1404 * t1407 / 0.4e1; + const double t4565 = t250 * t369; + const double t4568 = t2838 * t250; + const double t4575 = t2851 * t250; + const double t4582 = t2861 * t250; + const double t4592 = 0.2e2 * t2305 * t2871 * t250 + 0.2e1 * t2254 * t4568 + 0.6e1 * t2270 * t4575 + 0.12e2 * t2287 * t4582 + 0.2e1 * t366 * t4565 + 0.6e1 * t374 * t4568 + 0.12e2 * t382 * t4575 - 0.2e1 * t853 * t4565 - 0.8e1 * t862 * t4568 - 0.18e2 * t871 * t4575 - 0.32e2 * t881 * t4582; + const double t4593 = t354 * t4592; + const double t4594 = t2386 * t250; + const double t4595 = t3313 * t4594; + const double t4597 = t407 * t250; + const double t4598 = t4597 * t3996; + const double t4600 = t3328 * t4594; + const double t4602 = t417 * t250; + const double t4605 = t4016 * t1431; + const double t4607 = t3352 * t4594; + const double t4609 = 0.2e1 * t4602 * t460 + 0.2e1 * t4595 - 0.4e1 * t4598 + 0.6e1 * t4600 - 0.6e1 * t4605 + 0.12e2 * t4607; + const double t4610 = t233 * t4609; + const double t4611 = t4610 * t280; + const double t4613 = t1447 * t1406 / 0.4e1; + const double t4614 = t2322 * t250; + const double t4615 = t2321 * t4614; + const double t4617 = t472 * t250; + const double t4618 = t4617 * t3689; + const double t4620 = t2342 * t4614; + const double t4622 = t481 * t250; + const double t4625 = t3785 * t1451; + const double t4627 = t2371 * t4614; + const double t4629 = 0.2e1 * t4622 * t491 + 0.2e1 * t4615 - 0.4e1 * t4618 + 0.6e1 * t4620 - 0.6e1 * t4625 + 0.12e2 * t4627; + const double t4630 = t354 * t4629; + const double t4633 = t3553 * t1470 / 0.8e1; + const double t4635 = t152 * t1470 / 0.8e1; + const double t4637 = 0.8e1 * t3556 * t1474; + const double t4639 = t656 * t165 * t168; + const double t4640 = t152 * t4639; + const double t4641 = t2386 * t656; + const double t4642 = t2385 * t4641; + const double t4644 = t410 * t656; + const double t4645 = t4644 * t3638; + const double t4647 = t407 * t656; + const double t4650 = t2401 * t4641; + const double t4652 = t420 * t656; + const double t4655 = t4131 * t1340; + const double t4659 = t2425 * t4641; + const double t4661 = -0.6e1 * t3658 * t1477 - 0.4e1 * t4647 * t3638 + 0.2e1 * t4652 * t429 + 0.4e1 * t4642 - 0.4e1 * t4645 + 0.12e2 * t4650 - 0.3e1 * t4655 + 0.24e2 * t4659; + const double t4662 = t99 * t4661; + const double t4663 = t4662 * t158; + const double t4665 = t1494 * t1311 / 0.8e1; + const double t4667 = t1356 * t1496 / 0.8e1; + const double t4669 = t432 * t1469 / 0.8e1; + const double t4670 = t2322 * t656; + const double t4671 = t2321 * t4670; + const double t4673 = t474 * t656; + const double t4674 = t4673 * t3689; + const double t4676 = t472 * t656; + const double t4679 = t2342 * t4670; + const double t4681 = t483 * t656; + const double t4684 = t4177 * t1360; + const double t4688 = t2371 * t4670; + const double t4690 = -0.6e1 * t3711 * t1499 - 0.4e1 * t4676 * t3689 + 0.2e1 * t4681 * t491 + 0.4e1 * t4671 - 0.4e1 * t4674 + 0.12e2 * t4679 - 0.3e1 * t4684 + 0.24e2 * t4688; + const double t4691 = t354 * t4690; + const double t4693 = t4 * t354; + const double t4694 = t4198 * t107; + const double t4695 = t2321 * t4694; + const double t4697 = t1552 * t4510; + const double t4699 = t3689 * t435; + const double t4702 = t2342 * t4694; + const double t4704 = t435 * t491; + const double t4707 = t4216 * t1360; + const double t4711 = t2371 * t4694; + const double t4713 = -0.4e1 * t1362 * t4699 + 0.2e1 * t1368 * t4704 - 0.6e1 * t3711 * t1549 + 0.4e1 * t4695 - 0.4e1 * t4697 + 0.12e2 * t4702 - 0.3e1 * t4707 + 0.24e2 * t4711; + const double t4714 = t4152 * t238; + const double t4715 = t2321 * t4714; + const double t4717 = t3689 * t238; + const double t4718 = t1502 * t4717; + const double t4720 = t3689 * t392; + const double t4723 = t2342 * t4714; + const double t4725 = t392 * t491; + const double t4728 = t4177 * t1451; + const double t4732 = t2371 * t4714; + const double t4734 = -0.4e1 * t1453 * t4720 + 0.2e1 * t1459 * t4725 - 0.6e1 * t3785 * t1499 + 0.4e1 * t4715 - 0.4e1 * t4718 + 0.12e2 * t4723 - 0.3e1 * t4728 + 0.24e2 * t4732; + const double t4736 = t3911 * t1520 / 0.8e1; + const double t4738 = t274 * t1520 / 0.8e1; + const double t4740 = 0.8e1 * t3914 * t1524; + const double t4742 = t1158 * t165 * t288; + const double t4743 = t274 * t4742; + const double t4744 = t2386 * t1158; + const double t4745 = t3313 * t4744; + const double t4747 = t410 * t1158; + const double t4748 = t4747 * t3996; + const double t4750 = t407 * t1158; + const double t4753 = t3328 * t4744; + const double t4755 = t420 * t1158; + const double t4758 = t4317 * t1431; + const double t4762 = t3352 * t4744; + const double t4764 = -0.6e1 * t4016 * t1527 - 0.4e1 * t4750 * t3996 + 0.2e1 * t4755 * t460 + 0.4e1 * t4745 - 0.4e1 * t4748 + 0.12e2 * t4753 - 0.3e1 * t4758 + 0.24e2 * t4762; + const double t4765 = t233 * t4764; + const double t4766 = t4765 * t280; + const double t4768 = t1544 * t1406 / 0.8e1; + const double t4770 = t1447 * t1546 / 0.8e1; + const double t4772 = t463 * t1519 / 0.8e1; + const double t4773 = t2322 * t1158; + const double t4774 = t2321 * t4773; + const double t4776 = t474 * t1158; + const double t4777 = t4776 * t3689; + const double t4779 = t472 * t1158; + const double t4782 = t2342 * t4773; + const double t4784 = t483 * t1158; + const double t4787 = t4216 * t1451; + const double t4791 = t2371 * t4773; + const double t4793 = -0.6e1 * t3785 * t1549 - 0.4e1 * t4779 * t3689 + 0.2e1 * t4784 * t491 + 0.4e1 * t4774 - 0.4e1 * t4777 + 0.12e2 * t4782 - 0.3e1 * t4787 + 0.24e2 * t4791; + const double t4794 = t354 * t4793; + const double t4796 = 0.1e1 / t4098; + const double t4797 = t153 * t4796; + const double t4798 = t4797 * t169; + const double t4800 = t648 * t4798 / 0.4e1; + const double t4802 = t656 * t155 * t658; + const double t4804 = 0.2e1 * t648 * t4802; + const double t4806 = t162 * t165 * t168; + const double t4808 = 0.8e1 * t654 * t4806; + const double t4810 = 0.1e1 / t105 / t605; + const double t4812 = t159 * t4810 * t2027; + const double t4814 = 0.64e2 * t654 * t4812; + const double t4815 = t2386 * t162; + const double t4818 = t410 * t162; + const double t4823 = t424 * t162; + const double t4830 = -0.12e2 * t4131 * t1477 + 0.8e1 * t2385 * t4815 + 0.24e2 * t2401 * t4815 + 0.48e2 * t2425 * t4815 - 0.16e2 * t4818 * t3638 + 0.8e1 * t4823 * t429; + const double t4831 = t99 * t4830; + const double t4832 = t4831 * t158; + const double t4834 = t1494 * t1496 / 0.4e1; + const double t4835 = t154 * t4796; + const double t4837 = t432 * t4835 / 0.4e1; + const double t4838 = t2322 * t162; + const double t4841 = t474 * t162; + const double t4846 = t486 * t162; + const double t4853 = -0.12e2 * t4177 * t1499 + 0.8e1 * t2321 * t4838 + 0.24e2 * t2342 * t4838 + 0.48e2 * t2371 * t4838 - 0.16e2 * t4841 * t3689 + 0.8e1 * t4846 * t491; + const double t4854 = t354 * t4853; + const double t4856 = t4198 * t392; + const double t4863 = t486 * t392; + const double t4872 = -0.6e1 * t4216 * t1499 - 0.6e1 * t4177 * t1549 - 0.16e2 * t1552 * t4720 + 0.8e1 * t2321 * t4856 + 0.24e2 * t2342 * t4856 + 0.48e2 * t2371 * t4856 + 0.8e1 * t4863 * t4704; + const double t4873 = 0.1e1 / t4284; + const double t4874 = t275 * t4873; + const double t4875 = t4874 * t289; + const double t4877 = t1150 * t4875 / 0.4e1; + const double t4879 = t1158 * t277 * t1160; + const double t4881 = 0.2e1 * t1150 * t4879; + const double t4883 = t284 * t165 * t288; + const double t4885 = 0.8e1 * t1156 * t4883; + const double t4887 = 0.1e1 / t236 / t1111; + const double t4889 = t281 * t4887 * t2941; + const double t4891 = 0.64e2 * t1156 * t4889; + const double t4892 = t2386 * t284; + const double t4895 = t410 * t284; + const double t4900 = t424 * t284; + const double t4907 = -0.12e2 * t4317 * t1527 + 0.8e1 * t3313 * t4892 + 0.24e2 * t3328 * t4892 + 0.48e2 * t3352 * t4892 - 0.16e2 * t4895 * t3996 + 0.8e1 * t4900 * t460; + const double t4908 = t233 * t4907; + const double t4909 = t4908 * t280; + const double t4911 = t1544 * t1546 / 0.4e1; + const double t4912 = t276 * t4873; + const double t4914 = t463 * t4912 / 0.4e1; + const double t4915 = t2322 * t284; + const double t4918 = t474 * t284; + const double t4923 = t486 * t284; + const double t4930 = -0.12e2 * t4216 * t1549 + 0.8e1 * t2321 * t4915 + 0.24e2 * t2342 * t4915 + 0.48e2 * t2371 * t4915 - 0.16e2 * t4918 * t3689 + 0.8e1 * t4923 * t491; + const double t4931 = t354 * t4930; + + + vrho_a = t4 * t973 + t171 + t291 + t389 + t433 + t464 + t494; + vrho_b = t4 * t1280 + t171 + t291 + t389 + t433 + t464 + t494; + vsigma_aa = t4 * ( t1310 - t1314 + t1339 + t1357 - t1359 + t1375 ); + vsigma_ab = 0.e0; + vsigma_bb = t4 * ( t1405 - t1409 + t1430 + t1448 - t1450 + t1466 ); + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t4 * ( t1472 + t1476 + t1495 + t1498 + t1516 ); + vtau_b = t4 * ( t1522 + t1526 + t1545 + t1548 + t1566 ); + v2rho2_aa = t4 * ( t2048 + t2433 ) + 0.2e1 * t972 + t933 / 0.4e1 + t652 / 0.4e1 - 0.8e2 / 0.3e1 * t660 + 0.2e1 * t937 + 0.2e1 * t890 + 0.2e1 * t849 + 0.2e1 * t892 + 0.2e1 * t930 + 0.2e1 * t936 + 0.2e1 * t597 + 0.2e1 * t647 + 0.2e1 * t756; + v2rho2_ab = t2935 + t2936; + v2rho2_bb = t4 * ( t3360 + t3495 ) + 0.2e1 * t1279 + t1249 / 0.4e1 + 0.2e1 * t1251 + 0.2e1 * t1204 + 0.2e1 * t1177 - 0.8e2 / 0.3e1 * t1162 + t1154 / 0.4e1 + 0.2e1 * t1246 + 0.2e1 * t1206 + 0.2e1 * t1208 + 0.2e1 * t1104 + 0.2e1 * t1149 + 0.2e1 * t1039; + v2rhosigma_a_aa = t4 * t3722 + t1310 - t1314 + t1339 + t1357 - t1359 + t1375; + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1405 - t1409 + t1430 + t1448 - t1450 + t1466 + t4 * ( t3725 - t3727 + t3728 + t3762 + t3764 - t3766 + t3767 + t3793 ); + v2rhosigma_b_aa = t1310 - t1314 + t1339 + t1357 - t1359 + t1375 + t4 * ( t3797 - t3799 + t3800 + t3835 + t3837 - t3839 + t3840 + t3866 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t4 * t4076 + t1405 - t1409 + t1430 + t1448 - t1450 + t1466; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t4 * t4187 + t1472 + t1476 + t1495 + t1498 + t1516; + v2rhotau_a_b = t1522 + t1526 + t1545 + t1548 + t1566 + t4 * ( t4190 + t4192 + t4194 + t4196 + t4197 + t4224 ); + v2rhotau_b_a = t1472 + t1476 + t1495 + t1498 + t1516 + t4 * ( t4228 + t4230 + t4232 + t4234 + t4235 + t4261 ); + v2rhotau_b_b = t4 * t4371 + t1522 + t1526 + t1545 + t1548 + t1566; + v2sigma2_aa_aa = t4 * ( t4407 - t4409 + t4438 + t4456 - t4458 + t4475 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4 * ( t4506 + t4526 ); + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t4 * ( t4562 - t4564 + t4593 + t4611 - t4613 + t4630 ); + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t4 * ( t4633 + t4635 + t4637 - t4640 + t4663 - t4665 + t4667 + t4669 + t4691 ); + v2sigmatau_aa_b = t4693 * t4713; + v2sigmatau_ab_a = 0.e0; + v2sigmatau_ab_b = 0.e0; + v2sigmatau_bb_a = t4693 * t4734; + v2sigmatau_bb_b = t4 * ( t4736 + t4738 + t4740 - t4743 + t4766 - t4768 + t4770 + t4772 + t4794 ); + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t4 * ( -t4800 + t4804 + t4808 - t4814 + t4832 + t4834 - t4837 + t4854 ); + v2tau2_ab = t4693 * t4872; + v2tau2_bb = t4 * ( -t4877 + t4881 + t4885 - t4891 + t4909 + t4911 - t4914 + t4931 ); + + } + + +}; + +struct BuiltinRevM06_L_C : detail::BuiltinKernelImpl< BuiltinRevM06_L_C > { + + BuiltinRevM06_L_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinRevM06_L_C >(p) { } + + virtual ~BuiltinRevM06_L_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/rev_m06_l_x.hpp b/include/exchcxx/impl/builtin/kernels/rev_m06_l_x.hpp new file mode 100644 index 0000000..a7a3d23 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/rev_m06_l_x.hpp @@ -0,0 +1,3559 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinRevM06_L_X > : + public mgga_screening_interface< BuiltinRevM06_L_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double a_0 = 1.423227252; + static constexpr double a_1 = 0.471820438; + static constexpr double a_2 = -0.167555701; + static constexpr double a_3 = -0.250154262; + static constexpr double a_4 = 0.062487588; + static constexpr double a_5 = 0.733501240; + static constexpr double a_6 = -2.359736776; + static constexpr double a_7 = -1.436594372; + static constexpr double a_8 = 0.444643793; + static constexpr double a_9 = 1.529925054; + static constexpr double a_10 = 2.053941717; + static constexpr double a_11 = -0.036536031; + static constexpr double d_0 = -0.423227252; + static constexpr double d_1 = 0.0; + static constexpr double d_2 = 0.003724234; + static constexpr double d_3 = 0.0; + static constexpr double d_4 = 0.0; + static constexpr double d_5 = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + + + eps = 0.2e1 * t162; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + + + eps = 0.2e1 * t162; + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t42 = a_1; + constexpr double t43 = t21 * t21; + constexpr double t44 = t43 * t24; + constexpr double t45 = 0.3e1 / 0.1e2 * t44; + constexpr double t55 = a_2; + constexpr double t61 = a_3; + constexpr double t67 = a_4; + constexpr double t73 = a_5; + constexpr double t79 = a_6; + constexpr double t85 = a_7; + constexpr double t91 = a_8; + constexpr double t97 = a_9; + constexpr double t103 = a_10; + constexpr double t109 = a_11; + constexpr double t117 = d_0; + constexpr double t124 = d_1; + constexpr double t128 = d_2; + constexpr double t137 = d_3; + constexpr double t147 = d_4; + constexpr double t151 = d_5; + constexpr double t315 = t124 * t28; + constexpr double t323 = t147 * t28; + constexpr double t336 = t42 * t28; + constexpr double t409 = t128 * t28; + constexpr double t722 = t147 * t27; + constexpr double t806 = t42 * t27; + constexpr double t931 = t124 * t27; + constexpr double t937 = t137 * t27; + constexpr double t955 = t128 * t27; + constexpr double t1065 = t55 * t27; + constexpr double t1079 = t151 * t27; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t19 * t19; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t37 = 0.804e0 + 0.91464571985215458336e-2 * t26 * t34; + const double t40 = 0.1804e1 - 0.646416e0 / t37; + const double t46 = tau * t28; + const double t48 = 0.1e1 / t31 / rho; + const double t49 = t46 * t48; + const double t50 = t45 - t49; + const double t51 = t42 * t50; + const double t52 = t45 + t49; + const double t53 = 0.1e1 / t52; + const double t56 = t50 * t50; + const double t57 = t55 * t56; + const double t58 = t52 * t52; + const double t59 = 0.1e1 / t58; + const double t62 = t56 * t50; + const double t63 = t61 * t62; + const double t64 = t58 * t52; + const double t65 = 0.1e1 / t64; + const double t68 = t56 * t56; + const double t69 = t67 * t68; + const double t70 = t58 * t58; + const double t71 = 0.1e1 / t70; + const double t74 = t68 * t50; + const double t75 = t73 * t74; + const double t76 = t70 * t52; + const double t77 = 0.1e1 / t76; + const double t80 = t68 * t56; + const double t81 = t79 * t80; + const double t82 = t70 * t58; + const double t83 = 0.1e1 / t82; + const double t86 = t68 * t62; + const double t87 = t85 * t86; + const double t88 = t70 * t64; + const double t89 = 0.1e1 / t88; + const double t92 = t68 * t68; + const double t93 = t91 * t92; + const double t94 = t70 * t70; + const double t95 = 0.1e1 / t94; + const double t98 = t92 * t50; + const double t99 = t97 * t98; + const double t101 = 0.1e1 / t94 / t52; + const double t104 = t92 * t56; + const double t105 = t103 * t104; + const double t107 = 0.1e1 / t94 / t58; + const double t111 = t109 * t92 * t62; + const double t113 = 0.1e1 / t94 / t64; + const double t115 = t101 * t99 + t105 * t107 + t111 * t113 + t51 * t53 + t57 * t59 + t63 * t65 + t69 * t71 + t75 * t77 + t81 * t83 + t87 * t89 + t93 * t95 + a_0; + const double t121 = 0.1e1 + 0.186726e-2 * t34 + 0.373452e-2 * t49 - 0.1120356e-2 * t44; + const double t125 = t124 * sigma; + const double t126 = t28 * t33; + const double t131 = 0.2e1 * t49 - 0.3e1 / 0.5e1 * t44; + const double t133 = t125 * t126 + t128 * t131; + const double t134 = t121 * t121; + const double t135 = 0.1e1 / t134; + const double t138 = sigma * sigma; + const double t139 = t137 * t138; + const double t140 = t30 * t30; + const double t141 = t140 * rho; + const double t143 = 0.1e1 / t19 / t141; + const double t144 = t27 * t143; + const double t148 = t147 * sigma; + const double t152 = t131 * t131; + const double t154 = t126 * t131 * t148 + 0.2e1 * t139 * t144 + t151 * t152; + const double t155 = t134 * t121; + const double t156 = 0.1e1 / t155; + const double t158 = t40 * t115 + t117 / t121 + t133 * t135 + t154 * t156; + const double t162 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t158 ); + const double t164 = t18 / t31; + const double t168 = t37 * t37; + const double t171 = 0.1e1 / t168 * t21 * t25; + const double t172 = t30 * rho; + const double t174 = 0.1e1 / t31 / t172; + const double t179 = t42 * tau; + const double t183 = t51 * t59; + const double t184 = t46 * t33; + const double t187 = t55 * t50; + const double t188 = t187 * t59; + const double t191 = t57 * t65; + const double t194 = t61 * t56; + const double t195 = t194 * t65; + const double t198 = t63 * t71; + const double t201 = t67 * t62; + const double t202 = t201 * t71; + const double t205 = t69 * t77; + const double t208 = t73 * t68; + const double t209 = t208 * t77; + const double t212 = t75 * t83; + const double t215 = t79 * t74; + const double t216 = t215 * t83; + const double t219 = 0.5e1 / 0.3e1 * t179 * t126 * t53 + 0.5e1 / 0.3e1 * t183 * t184 + 0.1e2 / 0.3e1 * t188 * t184 + 0.1e2 / 0.3e1 * t191 * t184 + 0.5e1 * t195 * t184 + 0.5e1 * t198 * t184 + 0.2e2 / 0.3e1 * t202 * t184 + 0.2e2 / 0.3e1 * t205 * t184 + 0.25e2 / 0.3e1 * t209 * t184 + 0.25e2 / 0.3e1 * t212 * t184 + 0.1e2 * t216 * t184; + const double t220 = t81 * t89; + const double t223 = t85 * t80; + const double t224 = t223 * t89; + const double t227 = t87 * t95; + const double t230 = t91 * t86; + const double t231 = t230 * t95; + const double t234 = t93 * t101; + const double t237 = t97 * t92; + const double t238 = t237 * t101; + const double t241 = t99 * t107; + const double t244 = t103 * t98; + const double t245 = t244 * t107; + const double t248 = t105 * t113; + const double t251 = t109 * t104; + const double t252 = t251 * t113; + const double t256 = 0.1e1 / t94 / t70; + const double t257 = t111 * t256; + const double t260 = 0.1e2 * t220 * t184 + 0.35e2 / 0.3e1 * t224 * t184 + 0.35e2 / 0.3e1 * t227 * t184 + 0.4e2 / 0.3e1 * t231 * t184 + 0.4e2 / 0.3e1 * t234 * t184 + 0.15e2 * t238 * t184 + 0.15e2 * t241 * t184 + 0.5e2 / 0.3e1 * t245 * t184 + 0.5e2 / 0.3e1 * t248 * t184 + 0.55e2 / 0.3e1 * t252 * t184 + 0.55e2 / 0.3e1 * t257 * t184; + const double t261 = t219 + t260; + const double t263 = t117 * t135; + const double t267 = -0.497936e-2 * t29 * t174 - 0.62242e-2 * t184; + const double t269 = t28 * t174; + const double t272 = t128 * tau; + const double t275 = -0.8e1 / 0.3e1 * t125 * t269 - 0.1e2 / 0.3e1 * t272 * t126; + const double t277 = t133 * t156; + const double t280 = t140 * t30; + const double t282 = 0.1e1 / t19 / t280; + const double t283 = t27 * t282; + const double t289 = t144 * tau; + const double t292 = t151 * t131; + const double t295 = -0.32e2 / 0.3e1 * t139 * t283 - 0.8e1 / 0.3e1 * t148 * t269 * t131 - 0.2e2 / 0.3e1 * t148 * t289 - 0.2e2 / 0.3e1 * t292 * t184; + const double t297 = t134 * t134; + const double t298 = 0.1e1 / t297; + const double t299 = t154 * t298; + const double t302 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t115 + t40 * t261 - t263 * t267 + t275 * t135 - 0.2e1 * t277 * t267 + t295 * t156 - 0.3e1 * t299 * t267; + const double t307 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t158 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t302 ); + const double t313 = t263 * t126; + const double t316 = t33 * t135; + const double t318 = t277 * t126; + const double t320 = t137 * sigma; + const double t326 = t131 * t323 * t33 + 0.4e1 * t144 * t320; + const double t328 = t299 * t126; + const double t330 = 0.59124162764395035716e-2 * t171 * t126 * t115 - 0.186726e-2 * t313 + t315 * t316 - 0.373452e-2 * t318 + t326 * t156 - 0.560178e-2 * t328; + const double t334 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t330 ); + const double t339 = t59 * t28; + const double t340 = t339 * t48; + const double t344 = t65 * t28; + const double t345 = t344 * t48; + const double t350 = t71 * t28; + const double t351 = t350 * t48; + const double t356 = t77 * t28; + const double t357 = t356 * t48; + const double t362 = t83 * t28; + const double t363 = t362 * t48; + const double t368 = -t336 * t48 * t53 - 0.2e1 * t187 * t340 - 0.3e1 * t194 * t345 - 0.4e1 * t201 * t351 - 0.5e1 * t208 * t357 - 0.6e1 * t215 * t363 - t340 * t51 - 0.2e1 * t345 * t57 - 0.3e1 * t351 * t63 - 0.4e1 * t357 * t69 - 0.5e1 * t363 * t75; + const double t369 = t89 * t28; + const double t370 = t369 * t48; + const double t375 = t95 * t28; + const double t376 = t375 * t48; + const double t381 = t101 * t28; + const double t382 = t381 * t48; + const double t387 = t107 * t28; + const double t388 = t387 * t48; + const double t393 = t113 * t28; + const double t394 = t393 * t48; + const double t399 = t256 * t28; + const double t403 = -0.11e2 * t111 * t399 * t48 - 0.1e2 * t105 * t394 - 0.7e1 * t223 * t370 - 0.8e1 * t230 * t376 - 0.9e1 * t237 * t382 - 0.1e2 * t244 * t388 - 0.11e2 * t251 * t394 - 0.6e1 * t370 * t81 - 0.7e1 * t376 * t87 - 0.8e1 * t382 * t93 - 0.9e1 * t388 * t99; + const double t404 = t368 + t403; + const double t406 = t28 * t48; + const double t416 = 0.1e1 / t19 / t140; + const double t417 = t27 * t416; + const double t421 = 0.4e1 * t148 * t417 + 0.4e1 * t292 * t406; + const double t425 = t40 * t404 - 0.373452e-2 * t263 * t406 + 0.2e1 * t409 * t48 * t135 - 0.746904e-2 * t277 * t406 + t421 * t156 - 0.1120356e-1 * t299 * t406; + const double t429 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t425 ); + const double t432 = t18 * t48; + const double t444 = 0.1e1 / t168 / t37 * t43 / t23 / t22; + const double t445 = t138 * t27; + const double t446 = t140 * t172; + const double t448 = 0.1e1 / t19 / t446; + const double t454 = 0.1e1 / t31 / t140; + const double t466 = tau * tau; + const double t467 = t42 * t466; + const double t468 = t144 * t59; + const double t471 = t55 * t466; + const double t474 = t46 * t174; + const double t478 = 0.1e1 / t94 / t76; + const double t479 = t111 * t478; + const double t480 = t466 * t27; + const double t481 = t480 * t143; + const double t484 = t91 * t80; + const double t485 = t484 * t95; + const double t488 = t230 * t101; + const double t491 = t93 * t107; + const double t494 = t97 * t86; + const double t495 = t494 * t101; + const double t498 = t237 * t107; + const double t501 = t99 * t113; + const double t504 = t103 * t92; + const double t505 = t504 * t107; + const double t508 = t244 * t113; + const double t511 = -0.4e2 / 0.9e1 * t179 * t269 * t53 + 0.1e3 / 0.9e1 * t467 * t468 + 0.1e3 / 0.9e1 * t471 * t468 - 0.2e3 / 0.9e1 * t209 * t474 + 0.22e4 / 0.3e1 * t479 * t481 + 0.28e4 / 0.9e1 * t485 * t481 + 0.64e4 / 0.9e1 * t488 * t481 + 0.4e3 * t491 * t481 + 0.4e3 * t495 * t481 + 0.9e3 * t498 * t481 + 0.5e3 * t501 * t481 + 0.5e3 * t505 * t481 + 0.1e5 / 0.9e1 * t508 * t481; + const double t512 = t105 * t256; + const double t515 = t109 * t98; + const double t516 = t515 * t113; + const double t519 = t251 * t256; + const double t522 = t67 * t56; + const double t523 = t522 * t71; + const double t526 = t201 * t77; + const double t529 = t69 * t83; + const double t532 = t73 * t62; + const double t533 = t532 * t77; + const double t536 = t208 * t83; + const double t539 = t75 * t89; + const double t542 = t79 * t68; + const double t543 = t542 * t83; + const double t546 = t215 * t89; + const double t549 = t81 * t95; + const double t552 = t85 * t74; + const double t553 = t552 * t89; + const double t556 = t223 * t95; + const double t559 = 0.55e4 / 0.9e1 * t512 * t481 + 0.55e4 / 0.9e1 * t516 * t481 + 0.121e5 / 0.9e1 * t519 * t481 + 0.2e3 / 0.3e1 * t523 * t481 + 0.16e4 / 0.9e1 * t526 * t481 + 0.1e4 / 0.9e1 * t529 * t481 + 0.1e4 / 0.9e1 * t533 * t481 + 0.25e4 / 0.9e1 * t536 * t481 + 0.5e3 / 0.3e1 * t539 * t481 + 0.5e3 / 0.3e1 * t543 * t481 + 0.4e3 * t546 * t481 + 0.7e3 / 0.3e1 * t549 * t481 + 0.7e3 / 0.3e1 * t553 * t481 + 0.49e4 / 0.9e1 * t556 * t481; + const double t561 = t87 * t101; + const double t564 = t51 * t65; + const double t567 = t187 * t65; + const double t570 = t57 * t71; + const double t573 = t61 * t50; + const double t574 = t573 * t65; + const double t577 = t194 * t71; + const double t580 = t63 * t77; + const double t595 = 0.28e4 / 0.9e1 * t561 * t481 + 0.1e3 / 0.9e1 * t564 * t481 + 0.4e3 / 0.9e1 * t567 * t481 + 0.1e3 / 0.3e1 * t570 * t481 + 0.1e3 / 0.3e1 * t574 * t481 + 0.1e3 * t577 * t481 + 0.2e3 / 0.3e1 * t580 * t481 - 0.4e2 * t241 * t474 - 0.4e3 / 0.9e1 * t245 * t474 - 0.4e3 / 0.9e1 * t248 * t474 - 0.44e3 / 0.9e1 * t252 * t474 - 0.44e3 / 0.9e1 * t257 * t474 - 0.2e3 / 0.9e1 * t212 * t474; + const double t624 = -0.8e2 / 0.3e1 * t216 * t474 - 0.8e2 / 0.3e1 * t220 * t474 - 0.28e3 / 0.9e1 * t224 * t474 - 0.28e3 / 0.9e1 * t227 * t474 - 0.32e3 / 0.9e1 * t231 * t474 - 0.32e3 / 0.9e1 * t234 * t474 - 0.4e2 * t238 * t474 - 0.4e2 / 0.9e1 * t183 * t474 - 0.8e2 / 0.9e1 * t188 * t474 - 0.8e2 / 0.9e1 * t191 * t474 - 0.4e2 / 0.3e1 * t195 * t474 - 0.4e2 / 0.3e1 * t198 * t474 - 0.16e3 / 0.9e1 * t202 * t474 - 0.16e3 / 0.9e1 * t205 * t474; + const double t626 = t511 + t559 + t595 + t624; + const double t628 = t117 * t156; + const double t629 = t267 * t267; + const double t635 = 0.18257653333333333333e-1 * t29 * t454 + 0.16597866666666666667e-1 * t474; + const double t637 = t28 * t454; + const double t642 = 0.88e2 / 0.9e1 * t125 * t637 + 0.8e2 / 0.9e1 * t272 * t269; + const double t644 = t275 * t156; + const double t647 = t133 * t298; + const double t652 = t27 * t448; + const double t658 = t283 * tau; + const double t661 = t151 * t466; + const double t666 = 0.608e3 / 0.9e1 * t139 * t652 + 0.88e2 / 0.9e1 * t148 * t637 * t131 + 0.16e3 / 0.3e1 * t148 * t658 + 0.4e3 / 0.9e1 * t661 * t144 + 0.16e3 / 0.9e1 * t292 * t474; + const double t668 = t295 * t298; + const double t672 = 0.1e1 / t297 / t121; + const double t673 = t154 * t672; + const double t678 = -0.15382090641719765712e-2 * t444 * t445 * t448 * t115 + 0.578102924807418127e-1 * t171 * t29 * t454 * t115 - 0.31532886807677352382e-1 * t171 * t29 * t174 * t261 + t40 * t626 + 0.2e1 * t628 * t629 - t263 * t635 + t642 * t135 - 0.4e1 * t644 * t267 + 0.6e1 * t647 * t629 - 0.2e1 * t277 * t635 + t666 * t156 - 0.6e1 * t668 * t267 + 0.12e2 * t673 * t629 - 0.3e1 * t299 * t635; + const double t683 = piecewise_functor_3( t3, 0.0, t7 * t432 * t158 / 0.12e2 - t7 * t164 * t302 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t20 * t678 ); + const double t689 = t115 * sigma; + const double t699 = t126 * t267; + const double t700 = t628 * t699; + const double t702 = t263 * t269; + const double t704 = t174 * t135; + const double t707 = t33 * t156; + const double t708 = t707 * t267; + const double t711 = t644 * t126; + const double t713 = t647 * t699; + const double t715 = t277 * t269; + const double t726 = -0.64e2 / 0.3e1 * t320 * t283 - 0.8e1 / 0.3e1 * t323 * t174 * t131 - 0.2e2 / 0.3e1 * t722 * t143 * tau; + const double t728 = t326 * t298; + const double t731 = t668 * t126; + const double t733 = t673 * t699; + const double t735 = t299 * t269; + const double t737 = 0.57682839906449121419e-3 * t444 * t283 * t689 - 0.15766443403838676191e-1 * t171 * t269 * t115 + 0.59124162764395035716e-2 * t171 * t126 * t261 + 0.373452e-2 * t700 + 0.497936e-2 * t702 - 0.8e1 / 0.3e1 * t315 * t704 - 0.2e1 * t315 * t708 - 0.373452e-2 * t711 + 0.1120356e-1 * t713 + 0.995872e-2 * t715 + t726 * t156 - 0.3e1 * t728 * t267 - 0.560178e-2 * t731 + 0.2240712e-1 * t733 + 0.1493808e-1 * t735; + const double t742 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t330 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t737 ); + const double t752 = t387 * t33; + const double t757 = t393 * t33; + const double t765 = t369 * t33; + const double t770 = t375 * t33; + const double t775 = t381 * t33; + const double t780 = t344 * t33; + const double t783 = t350 * t33; + const double t786 = 0.15e2 * t99 * t752 + 0.5e2 / 0.3e1 * t244 * t752 + 0.5e2 / 0.3e1 * t105 * t757 + 0.55e2 / 0.3e1 * t251 * t757 + 0.55e2 / 0.3e1 * t111 * t399 * t33 + 0.1e2 * t81 * t765 + 0.35e2 / 0.3e1 * t223 * t765 + 0.35e2 / 0.3e1 * t87 * t770 + 0.4e2 / 0.3e1 * t230 * t770 + 0.4e2 / 0.3e1 * t93 * t775 + 0.15e2 * t237 * t775 + 0.5e1 * t194 * t780 + 0.5e1 * t63 * t783; + const double t789 = t356 * t33; + const double t794 = t362 * t33; + const double t799 = t339 * t33; + const double t807 = t416 * t59; + const double t811 = t55 * tau; + const double t815 = t417 * tau; + const double t824 = 0.2e2 / 0.3e1 * t201 * t783 + 0.2e2 / 0.3e1 * t69 * t789 + 0.25e2 / 0.3e1 * t208 * t789 + 0.25e2 / 0.3e1 * t75 * t794 + 0.1e2 * t215 * t794 + 0.5e1 / 0.3e1 * t51 * t799 + 0.1e2 / 0.3e1 * t187 * t799 + 0.1e2 / 0.3e1 * t57 * t780 - 0.2e2 / 0.3e1 * t806 * t807 * tau - 0.2e2 / 0.3e1 * t811 * t417 * t59 - 0.128e4 / 0.3e1 * t488 * t815 - 0.24e3 * t491 * t815 - 0.24e3 * t495 * t815 - 0.54e3 * t498 * t815; + const double t852 = -0.2e2 * t574 * t815 - 0.6e2 * t577 * t815 - 0.4e2 * t580 * t815 - 0.4e2 * t523 * t815 - 0.32e3 / 0.3e1 * t526 * t815 - 0.2e3 / 0.3e1 * t529 * t815 - 0.2e3 / 0.3e1 * t533 * t815 - 0.5e3 / 0.3e1 * t536 * t815 - 0.1e3 * t539 * t815 - 0.1e3 * t543 * t815 - 0.2e2 / 0.3e1 * t564 * t815 - 0.8e2 / 0.3e1 * t567 * t815 - 0.2e2 * t570 * t815; + const double t882 = -0.3e3 * t501 * t815 - 0.3e3 * t505 * t815 - 0.2e4 / 0.3e1 * t508 * t815 - 0.11e4 / 0.3e1 * t512 * t815 - 0.11e4 / 0.3e1 * t516 * t815 - 0.242e4 / 0.3e1 * t519 * t815 - 0.44e3 * t479 * t815 - 0.24e3 * t546 * t815 - 0.14e3 * t549 * t815 - 0.14e3 * t553 * t815 - 0.98e3 / 0.3e1 * t556 * t815 - 0.56e3 / 0.3e1 * t561 * t815 - 0.56e3 / 0.3e1 * t485 * t815 + 0.5e1 / 0.3e1 * t336 * t33 * t53; + const double t884 = t786 + t824 + t852 + t882; + const double t886 = t406 * t267; + const double t892 = t48 * t156; + const double t903 = t151 * tau; + const double t908 = -0.52e2 / 0.3e1 * t148 * t144 - 0.8e2 / 0.3e1 * t903 * t417 - 0.2e2 / 0.3e1 * t292 * t126; + const double t910 = t421 * t298; + const double t918 = -0.15766443403838676191e-1 * t171 * t29 * t174 * t404 + t40 * t884 + 0.746904e-2 * t628 * t886 + 0.62242e-2 * t313 - 0.1e2 / 0.3e1 * t409 * t316 - 0.4e1 * t409 * t892 * t267 - 0.746904e-2 * t644 * t406 + 0.2240712e-1 * t647 * t886 + 0.124484e-1 * t318 + t908 * t156 - 0.3e1 * t910 * t267 - 0.1120356e-1 * t668 * t406 + 0.4481424e-1 * t673 * t886 + 0.186726e-1 * t328; + const double t923 = piecewise_functor_3( t3, 0.0, -t7 * t164 * t425 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t20 * t918 ); + const double t929 = t628 * t144; + const double t932 = t143 * t156; + const double t933 = t931 * t932; + const double t935 = t647 * t144; + const double t940 = t728 * t126; + const double t942 = t673 * t144; + const double t944 = -0.21631064964918420532e-3 * t444 * t144 * t115 + 0.139466396304e-4 * t929 - 0.1493808e-1 * t933 + 0.418399188912e-4 * t935 + 0.4e1 * t937 * t932 - 0.1120356e-1 * t940 + 0.836798377824e-4 * t942; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t944 ); + const double t953 = t628 * t417; + const double t956 = t416 * t156; + const double t957 = t955 * t956; + const double t961 = t647 * t417; + const double t965 = t910 * t126; + const double t969 = t673 * t417; + const double t971 = 0.59124162764395035716e-2 * t171 * t126 * t404 + 0.278932792608e-4 * t953 - 0.1493808e-1 * t957 - 0.1493808e-1 * t931 * t956 + 0.836798377824e-4 * t961 + 0.4e1 * t722 * t956 - 0.560178e-2 * t965 - 0.1120356e-1 * t728 * t406 + 0.1673596755648e-3 * t969; + const double t975 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t971 ); + const double t977 = t107 * t27; + const double t979 = 0.1e1 / t19 / t172; + const double t980 = t977 * t979; + const double t983 = t113 * t27; + const double t984 = t983 * t979; + const double t991 = t256 * t27; + const double t992 = t991 * t979; + const double t999 = t478 * t27; + const double t1003 = t77 * t27; + const double t1004 = t1003 * t979; + const double t1007 = t71 * t27; + const double t1008 = t1007 * t979; + const double t1013 = t83 * t27; + const double t1014 = t1013 * t979; + const double t1021 = t89 * t27; + const double t1022 = t1021 * t979; + const double t1027 = 0.264e3 * t111 * t979 * t999 + 0.64e2 * t1004 * t201 + 0.4e2 * t1004 * t532 + 0.24e2 * t1004 * t63 + 0.24e2 * t1008 * t522 + 0.1e3 * t1014 * t208 + 0.6e2 * t1014 * t542 + 0.4e2 * t1014 * t69 + 0.6e2 * t1022 * t75 + 0.22e3 * t105 * t992 + 0.324e3 * t237 * t980 + 0.4e3 * t244 * t984 + 0.484e3 * t251 * t992 + 0.18e3 * t504 * t980 + 0.22e3 * t515 * t984 + 0.18e3 * t984 * t99; + const double t1030 = t95 * t27; + const double t1031 = t1030 * t979; + const double t1038 = t101 * t27; + const double t1039 = t1038 * t979; + const double t1050 = t65 * t27; + const double t1051 = t1050 * t979; + const double t1062 = t979 * t59; + const double t1068 = 0.36e2 * t1008 * t194 + 0.12e2 * t1008 * t57 + 0.144e3 * t1022 * t215 + 0.84e2 * t1022 * t552 + 0.196e3 * t1031 * t223 + 0.112e3 * t1031 * t484 + 0.84e2 * t1031 * t81 + 0.256e3 * t1039 * t230 + 0.144e3 * t1039 * t494 + 0.112e3 * t1039 * t87 + 0.16e2 * t1051 * t187 + 0.4e1 * t1051 * t51 + 0.12e2 * t1051 * t573 + 0.4e1 * t1062 * t1065 + 0.4e1 * t1062 * t806 + 0.144e3 * t93 * t980; + const double t1069 = t1027 + t1068; + const double t1071 = t27 * t979; + const double t1074 = t979 * t156; + const double t1086 = t40 * t1069 + 0.557865585216e-4 * t628 * t1071 - 0.5975232e-1 * t955 * t1074 + 0.1673596755648e-3 * t647 * t1071 + 0.16e2 * t1079 * t1074 - 0.2240712e-1 * t910 * t406 + 0.3347193511296e-3 * t673 * t1071; + const double t1090 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t1086 ); + + + vrho = 0.2e1 * rho * t307 + 0.2e1 * t162; + vsigma = 0.2e1 * rho * t334; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t429; + v2rho2 = 0.2e1 * rho * t683 + 0.4e1 * t307; + v2rhosigma = 0.2e1 * rho * t742 + 0.2e1 * t334; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t923 + 0.2e1 * t429; + v2sigma2 = 0.2e1 * rho * t948; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t975; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1090; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + + + eps = t164 + t281; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + + + eps = t164 + t281; + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t47 = a_0; + constexpr double t48 = a_1; + constexpr double t49 = t29 * t29; + constexpr double t50 = t49 * t32; + constexpr double t51 = 0.3e1 / 0.1e2 * t50; + constexpr double t60 = a_2; + constexpr double t66 = a_3; + constexpr double t72 = a_4; + constexpr double t78 = a_5; + constexpr double t84 = a_6; + constexpr double t90 = a_7; + constexpr double t96 = a_8; + constexpr double t102 = a_9; + constexpr double t108 = a_10; + constexpr double t114 = a_11; + constexpr double t122 = d_0; + constexpr double t125 = 0.1120356e-2 * t50; + constexpr double t129 = d_1; + constexpr double t132 = d_2; + constexpr double t134 = 0.3e1 / 0.5e1 * t50; + constexpr double t141 = d_3; + constexpr double t149 = d_4; + constexpr double t153 = d_5; + constexpr double t865 = 0.1e1 / t31 / t30; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t40 = sigma_aa * t39; + const double t43 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t40; + const double t46 = 0.1804e1 - 0.646416e0 / t43; + const double t53 = 0.1e1 / t37 / rho_a; + const double t54 = tau_a * t53; + const double t55 = t51 - t54; + const double t56 = t48 * t55; + const double t57 = t51 + t54; + const double t58 = 0.1e1 / t57; + const double t61 = t55 * t55; + const double t62 = t60 * t61; + const double t63 = t57 * t57; + const double t64 = 0.1e1 / t63; + const double t67 = t61 * t55; + const double t68 = t66 * t67; + const double t69 = t63 * t57; + const double t70 = 0.1e1 / t69; + const double t73 = t61 * t61; + const double t74 = t72 * t73; + const double t75 = t63 * t63; + const double t76 = 0.1e1 / t75; + const double t79 = t73 * t55; + const double t80 = t78 * t79; + const double t81 = t75 * t57; + const double t82 = 0.1e1 / t81; + const double t85 = t73 * t61; + const double t86 = t84 * t85; + const double t87 = t75 * t63; + const double t88 = 0.1e1 / t87; + const double t91 = t73 * t67; + const double t92 = t90 * t91; + const double t93 = t75 * t69; + const double t94 = 0.1e1 / t93; + const double t97 = t73 * t73; + const double t98 = t96 * t97; + const double t99 = t75 * t75; + const double t100 = 0.1e1 / t99; + const double t103 = t97 * t55; + const double t104 = t102 * t103; + const double t106 = 0.1e1 / t99 / t57; + const double t109 = t97 * t61; + const double t110 = t108 * t109; + const double t112 = 0.1e1 / t99 / t63; + const double t116 = t114 * t97 * t67; + const double t118 = 0.1e1 / t99 / t69; + const double t120 = t98 * t100 + t104 * t106 + t110 * t112 + t116 * t118 + t56 * t58 + t62 * t64 + t68 * t70 + t74 * t76 + t80 * t82 + t86 * t88 + t92 * t94 + t47; + const double t126 = 0.1e1 + 0.186726e-2 * t40 + 0.373452e-2 * t54 - t125; + const double t130 = t129 * sigma_aa; + const double t135 = 0.2e1 * t54 - t134; + const double t137 = t130 * t39 + t132 * t135; + const double t138 = t126 * t126; + const double t139 = 0.1e1 / t138; + const double t142 = sigma_aa * sigma_aa; + const double t143 = t141 * t142; + const double t144 = t35 * t35; + const double t145 = t144 * rho_a; + const double t147 = 0.1e1 / t36 / t145; + const double t150 = t149 * sigma_aa; + const double t154 = t135 * t135; + const double t156 = t150 * t39 * t135 + t143 * t147 + t153 * t154; + const double t157 = t138 * t126; + const double t158 = 0.1e1 / t157; + const double t160 = t46 * t120 + t122 / t126 + t137 * t139 + t156 * t158; + const double t164 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t160 ); + const double t165 = rho_b <= dens_tol; + const double t166 = -t17; + const double t168 = piecewise_functor_5( t15, t12, t11, t16, t166 * t8 ); + const double t169 = 0.1e1 + t168; + const double t170 = t169 <= zeta_tol; + const double t171 = safe_math::cbrt( t169 ); + const double t173 = piecewise_functor_3( t170, t23, t171 * t169 ); + const double t174 = t173 * t27; + const double t175 = rho_b * rho_b; + const double t176 = safe_math::cbrt( rho_b ); + const double t177 = t176 * t176; + const double t179 = 0.1e1 / t177 / t175; + const double t180 = sigma_bb * t179; + const double t183 = 0.804e0 + 0.91464571985215458336e-2 * t34 * t180; + const double t186 = 0.1804e1 - 0.646416e0 / t183; + const double t188 = 0.1e1 / t177 / rho_b; + const double t189 = tau_b * t188; + const double t190 = t51 - t189; + const double t191 = t48 * t190; + const double t192 = t51 + t189; + const double t193 = 0.1e1 / t192; + const double t195 = t190 * t190; + const double t196 = t60 * t195; + const double t197 = t192 * t192; + const double t198 = 0.1e1 / t197; + const double t200 = t195 * t190; + const double t201 = t66 * t200; + const double t202 = t197 * t192; + const double t203 = 0.1e1 / t202; + const double t205 = t195 * t195; + const double t206 = t72 * t205; + const double t207 = t197 * t197; + const double t208 = 0.1e1 / t207; + const double t210 = t205 * t190; + const double t211 = t78 * t210; + const double t212 = t207 * t192; + const double t213 = 0.1e1 / t212; + const double t215 = t205 * t195; + const double t216 = t84 * t215; + const double t217 = t207 * t197; + const double t218 = 0.1e1 / t217; + const double t220 = t205 * t200; + const double t221 = t90 * t220; + const double t222 = t207 * t202; + const double t223 = 0.1e1 / t222; + const double t225 = t205 * t205; + const double t226 = t96 * t225; + const double t227 = t207 * t207; + const double t228 = 0.1e1 / t227; + const double t230 = t225 * t190; + const double t231 = t102 * t230; + const double t233 = 0.1e1 / t227 / t192; + const double t235 = t225 * t195; + const double t236 = t108 * t235; + const double t238 = 0.1e1 / t227 / t197; + const double t241 = t114 * t225 * t200; + const double t243 = 0.1e1 / t227 / t202; + const double t245 = t191 * t193 + t196 * t198 + t201 * t203 + t206 * t208 + t211 * t213 + t216 * t218 + t221 * t223 + t226 * t228 + t231 * t233 + t236 * t238 + t241 * t243 + t47; + const double t249 = 0.1e1 + 0.186726e-2 * t180 + 0.373452e-2 * t189 - t125; + const double t252 = t129 * sigma_bb; + const double t255 = 0.2e1 * t189 - t134; + const double t257 = t132 * t255 + t252 * t179; + const double t258 = t249 * t249; + const double t259 = 0.1e1 / t258; + const double t261 = sigma_bb * sigma_bb; + const double t262 = t141 * t261; + const double t263 = t175 * t175; + const double t264 = t263 * rho_b; + const double t266 = 0.1e1 / t176 / t264; + const double t268 = t149 * sigma_bb; + const double t271 = t255 * t255; + const double t273 = t268 * t179 * t255 + t153 * t271 + t262 * t266; + const double t274 = t258 * t249; + const double t275 = 0.1e1 / t274; + const double t277 = t186 * t245 + t122 / t249 + t257 * t259 + t273 * t275; + const double t281 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t277 ); + const double t282 = t7 * t7; + const double t283 = 0.1e1 / t282; + const double t284 = t17 * t283; + const double t286 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t284 ); + const double t289 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t286 ); + const double t290 = t289 * t27; + const double t294 = t27 * t27; + const double t295 = 0.1e1 / t294; + const double t296 = t26 * t295; + const double t299 = t6 * t296 * t160 / 0.8e1; + const double t300 = t43 * t43; + const double t302 = 0.1e1 / t300 * t29; + const double t303 = t302 * t33; + const double t304 = t35 * rho_a; + const double t306 = 0.1e1 / t37 / t304; + const double t307 = sigma_aa * t306; + const double t311 = t48 * tau_a; + const double t315 = t64 * tau_a; + const double t316 = t315 * t39; + const double t319 = t60 * t55; + const double t322 = t70 * tau_a; + const double t323 = t322 * t39; + const double t326 = t66 * t61; + const double t329 = t76 * tau_a; + const double t330 = t329 * t39; + const double t333 = t72 * t67; + const double t336 = t82 * tau_a; + const double t337 = t336 * t39; + const double t340 = t78 * t73; + const double t343 = t88 * tau_a; + const double t344 = t343 * t39; + const double t347 = t84 * t79; + const double t350 = 0.5e1 / 0.3e1 * t311 * t39 * t58 + 0.5e1 / 0.3e1 * t56 * t316 + 0.1e2 / 0.3e1 * t319 * t316 + 0.1e2 / 0.3e1 * t62 * t323 + 0.5e1 * t326 * t323 + 0.5e1 * t68 * t330 + 0.2e2 / 0.3e1 * t333 * t330 + 0.2e2 / 0.3e1 * t74 * t337 + 0.25e2 / 0.3e1 * t340 * t337 + 0.25e2 / 0.3e1 * t80 * t344 + 0.1e2 * t347 * t344; + const double t351 = t94 * tau_a; + const double t352 = t351 * t39; + const double t355 = t90 * t85; + const double t358 = t100 * tau_a; + const double t359 = t358 * t39; + const double t362 = t96 * t91; + const double t365 = t106 * tau_a; + const double t366 = t365 * t39; + const double t369 = t102 * t97; + const double t372 = t112 * tau_a; + const double t373 = t372 * t39; + const double t376 = t108 * t103; + const double t379 = t118 * tau_a; + const double t380 = t379 * t39; + const double t383 = t114 * t109; + const double t387 = 0.1e1 / t99 / t75; + const double t388 = t387 * tau_a; + const double t392 = 0.1e2 * t86 * t352 + 0.35e2 / 0.3e1 * t355 * t352 + 0.35e2 / 0.3e1 * t92 * t359 + 0.4e2 / 0.3e1 * t362 * t359 + 0.4e2 / 0.3e1 * t98 * t366 + 0.15e2 * t369 * t366 + 0.15e2 * t104 * t373 + 0.5e2 / 0.3e1 * t376 * t373 + 0.5e2 / 0.3e1 * t110 * t380 + 0.55e2 / 0.3e1 * t383 * t380 + 0.55e2 / 0.3e1 * t116 * t388 * t39; + const double t393 = t350 + t392; + const double t395 = t122 * t139; + const double t397 = tau_a * t39; + const double t399 = -0.497936e-2 * t307 - 0.62242e-2 * t397; + const double t403 = t132 * tau_a; + const double t406 = -0.8e1 / 0.3e1 * t130 * t306 - 0.1e2 / 0.3e1 * t403 * t39; + const double t408 = t137 * t158; + const double t411 = t144 * t35; + const double t413 = 0.1e1 / t36 / t411; + const double t422 = t153 * t135; + const double t425 = -0.16e2 / 0.3e1 * t143 * t413 - 0.8e1 / 0.3e1 * t150 * t306 * t135 - 0.1e2 / 0.3e1 * t150 * t147 * tau_a - 0.2e2 / 0.3e1 * t422 * t397; + const double t427 = t138 * t138; + const double t428 = 0.1e1 / t427; + const double t429 = t156 * t428; + const double t432 = -0.15766443403838676191e-1 * t303 * t307 * t120 + t46 * t393 - t395 * t399 + t406 * t139 - 0.2e1 * t408 * t399 + t425 * t158 - 0.3e1 * t429 * t399; + const double t437 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t160 - t299 - 0.3e1 / 0.8e1 * t6 * t28 * t432 ); + const double t438 = t166 * t283; + const double t440 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t438 ); + const double t443 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t440 ); + const double t444 = t443 * t27; + const double t448 = t173 * t295; + const double t451 = t6 * t448 * t277 / 0.8e1; + const double t453 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t444 * t277 - t451 ); + const double t457 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t284 ); + const double t460 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t457 ); + const double t461 = t460 * t27; + const double t466 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t461 * t160 - t299 ); + const double t468 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t438 ); + const double t471 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.3e1 * t171 * t468 ); + const double t472 = t471 * t27; + const double t476 = t183 * t183; + const double t478 = 0.1e1 / t476 * t29; + const double t479 = t478 * t33; + const double t480 = t175 * rho_b; + const double t482 = 0.1e1 / t177 / t480; + const double t483 = sigma_bb * t482; + const double t487 = t48 * tau_b; + const double t491 = t198 * tau_b; + const double t492 = t491 * t179; + const double t495 = t60 * t190; + const double t498 = t203 * tau_b; + const double t499 = t498 * t179; + const double t502 = t66 * t195; + const double t505 = t208 * tau_b; + const double t506 = t505 * t179; + const double t509 = t72 * t200; + const double t512 = t213 * tau_b; + const double t513 = t512 * t179; + const double t516 = t78 * t205; + const double t519 = t218 * tau_b; + const double t520 = t519 * t179; + const double t523 = t84 * t210; + const double t526 = 0.5e1 / 0.3e1 * t487 * t179 * t193 + 0.5e1 / 0.3e1 * t191 * t492 + 0.1e2 / 0.3e1 * t495 * t492 + 0.1e2 / 0.3e1 * t196 * t499 + 0.5e1 * t502 * t499 + 0.5e1 * t201 * t506 + 0.2e2 / 0.3e1 * t509 * t506 + 0.2e2 / 0.3e1 * t206 * t513 + 0.25e2 / 0.3e1 * t516 * t513 + 0.25e2 / 0.3e1 * t211 * t520 + 0.1e2 * t523 * t520; + const double t527 = t223 * tau_b; + const double t528 = t527 * t179; + const double t531 = t90 * t215; + const double t534 = t228 * tau_b; + const double t535 = t534 * t179; + const double t538 = t96 * t220; + const double t541 = t233 * tau_b; + const double t542 = t541 * t179; + const double t545 = t102 * t225; + const double t548 = t238 * tau_b; + const double t549 = t548 * t179; + const double t552 = t108 * t230; + const double t555 = t243 * tau_b; + const double t556 = t555 * t179; + const double t559 = t114 * t235; + const double t563 = 0.1e1 / t227 / t207; + const double t564 = t563 * tau_b; + const double t568 = 0.1e2 * t216 * t528 + 0.35e2 / 0.3e1 * t531 * t528 + 0.35e2 / 0.3e1 * t221 * t535 + 0.4e2 / 0.3e1 * t538 * t535 + 0.4e2 / 0.3e1 * t226 * t542 + 0.15e2 * t545 * t542 + 0.15e2 * t231 * t549 + 0.5e2 / 0.3e1 * t552 * t549 + 0.5e2 / 0.3e1 * t236 * t556 + 0.55e2 / 0.3e1 * t559 * t556 + 0.55e2 / 0.3e1 * t241 * t564 * t179; + const double t569 = t526 + t568; + const double t571 = t122 * t259; + const double t573 = tau_b * t179; + const double t575 = -0.497936e-2 * t483 - 0.62242e-2 * t573; + const double t579 = t132 * tau_b; + const double t582 = -0.8e1 / 0.3e1 * t252 * t482 - 0.1e2 / 0.3e1 * t579 * t179; + const double t584 = t257 * t275; + const double t587 = t263 * t175; + const double t589 = 0.1e1 / t176 / t587; + const double t598 = t153 * t255; + const double t601 = -0.16e2 / 0.3e1 * t262 * t589 - 0.8e1 / 0.3e1 * t268 * t482 * t255 - 0.1e2 / 0.3e1 * t268 * t266 * tau_b - 0.2e2 / 0.3e1 * t598 * t573; + const double t603 = t258 * t258; + const double t604 = 0.1e1 / t603; + const double t605 = t273 * t604; + const double t608 = -0.15766443403838676191e-1 * t479 * t483 * t245 + t186 * t569 - t571 * t575 + t582 * t259 - 0.2e1 * t584 * t575 + t601 * t275 - 0.3e1 * t605 * t575; + const double t613 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t277 - t451 - 0.3e1 / 0.8e1 * t6 * t174 * t608 ); + const double t616 = t33 * t39; + const double t620 = t395 * t39; + const double t622 = t129 * t39; + const double t624 = t408 * t39; + const double t626 = t141 * sigma_aa; + const double t631 = t149 * t39 * t135 + 0.2e1 * t626 * t147; + const double t633 = t429 * t39; + const double t635 = 0.59124162764395035716e-2 * t302 * t616 * t120 - 0.186726e-2 * t620 + t622 * t139 - 0.373452e-2 * t624 + t631 * t158 - 0.560178e-2 * t633; + const double t639 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t635 ); + const double t640 = t33 * t179; + const double t644 = t571 * t179; + const double t646 = t129 * t179; + const double t648 = t584 * t179; + const double t650 = t141 * sigma_bb; + const double t655 = t149 * t179 * t255 + 0.2e1 * t650 * t266; + const double t657 = t605 * t179; + const double t659 = 0.59124162764395035716e-2 * t478 * t640 * t245 - 0.186726e-2 * t644 + t646 * t259 - 0.373452e-2 * t648 + t655 * t275 - 0.560178e-2 * t657; + const double t663 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t659 ); + const double t666 = t64 * t53; + const double t670 = t70 * t53; + const double t675 = t76 * t53; + const double t680 = t82 * t53; + const double t685 = t88 * t53; + const double t690 = -t48 * t53 * t58 - 0.2e1 * t319 * t666 - 0.3e1 * t326 * t670 - 0.4e1 * t333 * t675 - 0.5e1 * t340 * t680 - 0.6e1 * t347 * t685 - t56 * t666 - 0.2e1 * t62 * t670 - 0.3e1 * t68 * t675 - 0.4e1 * t74 * t680 - 0.5e1 * t80 * t685; + const double t691 = t94 * t53; + const double t696 = t100 * t53; + const double t701 = t106 * t53; + const double t706 = t112 * t53; + const double t711 = t118 * t53; + const double t719 = -0.11e2 * t116 * t387 * t53 - 0.9e1 * t104 * t706 - 0.1e2 * t110 * t711 - 0.7e1 * t355 * t691 - 0.8e1 * t362 * t696 - 0.9e1 * t369 * t701 - 0.1e2 * t376 * t706 - 0.11e2 * t383 * t711 - 0.6e1 * t86 * t691 - 0.7e1 * t92 * t696 - 0.8e1 * t98 * t701; + const double t720 = t690 + t719; + const double t724 = t132 * t53; + const double t730 = 0.1e1 / t36 / t144; + const double t735 = 0.2e1 * t150 * t730 + 0.4e1 * t422 * t53; + const double t739 = t46 * t720 - 0.373452e-2 * t395 * t53 + 0.2e1 * t724 * t139 - 0.746904e-2 * t408 * t53 + t735 * t158 - 0.1120356e-1 * t429 * t53; + const double t743 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t739 ); + const double t746 = t198 * t188; + const double t750 = t203 * t188; + const double t755 = t208 * t188; + const double t760 = t213 * t188; + const double t765 = t218 * t188; + const double t770 = -t188 * t193 * t48 - t191 * t746 - 0.2e1 * t196 * t750 - 0.3e1 * t201 * t755 - 0.4e1 * t206 * t760 - 0.5e1 * t211 * t765 - 0.2e1 * t495 * t746 - 0.3e1 * t502 * t750 - 0.4e1 * t509 * t755 - 0.5e1 * t516 * t760 - 0.6e1 * t523 * t765; + const double t771 = t223 * t188; + const double t776 = t228 * t188; + const double t781 = t233 * t188; + const double t786 = t238 * t188; + const double t791 = t243 * t188; + const double t799 = -0.11e2 * t241 * t563 * t188 - 0.6e1 * t216 * t771 - 0.7e1 * t221 * t776 - 0.8e1 * t226 * t781 - 0.9e1 * t231 * t786 - 0.1e2 * t236 * t791 - 0.7e1 * t531 * t771 - 0.8e1 * t538 * t776 - 0.9e1 * t545 * t781 - 0.1e2 * t552 * t786 - 0.11e2 * t559 * t791; + const double t800 = t770 + t799; + const double t804 = t132 * t188; + const double t810 = 0.1e1 / t176 / t263; + const double t815 = 0.4e1 * t598 * t188 + 0.2e1 * t268 * t810; + const double t819 = t186 * t800 - 0.373452e-2 * t571 * t188 + 0.2e1 * t804 * t259 - 0.746904e-2 * t584 * t188 + t815 * t275 - 0.1120356e-1 * t605 * t188; + const double t823 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t819 ); + const double t826 = t24 * t24; + const double t827 = 0.1e1 / t826; + const double t828 = t286 * t286; + const double t831 = t282 * t7; + const double t832 = 0.1e1 / t831; + const double t833 = t17 * t832; + const double t836 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t283 + 0.2e1 * t833 ); + const double t840 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t828 + 0.4e1 / 0.3e1 * t24 * t836 ); + const double t841 = t840 * t27; + const double t845 = t289 * t295; + const double t847 = t6 * t845 * t160; + const double t853 = 0.1e1 / t294 / t7; + const double t854 = t26 * t853; + const double t857 = t6 * t854 * t160 / 0.12e2; + const double t859 = t6 * t296 * t432; + const double t863 = 0.1e1 / t300 / t43 * t49; + const double t866 = t863 * t865; + const double t867 = t144 * t304; + const double t869 = 0.1e1 / t36 / t867; + const double t870 = t142 * t869; + const double t875 = 0.1e1 / t37 / t144; + const double t876 = sigma_aa * t875; + const double t883 = t102 * t91; + const double t884 = tau_a * tau_a; + const double t885 = t106 * t884; + const double t886 = t885 * t147; + const double t889 = t112 * t884; + const double t890 = t889 * t147; + const double t893 = t118 * t884; + const double t894 = t893 * t147; + const double t897 = t108 * t97; + const double t902 = t387 * t884; + const double t903 = t902 * t147; + const double t906 = t114 * t103; + const double t912 = 0.1e1 / t99 / t81; + const double t913 = t912 * t884; + const double t917 = t88 * t884; + const double t918 = t917 * t147; + const double t921 = t78 * t67; + const double t922 = t82 * t884; + const double t923 = t922 * t147; + const double t928 = t94 * t884; + const double t929 = t928 * t147; + const double t932 = 0.2e3 * t883 * t886 + 0.45e3 * t369 * t890 + 0.25e3 * t104 * t894 + 0.25e3 * t897 * t890 + 0.5e4 / 0.9e1 * t376 * t894 + 0.275e4 / 0.9e1 * t110 * t903 + 0.275e4 / 0.9e1 * t906 * t894 + 0.605e4 / 0.9e1 * t383 * t903 + 0.11e4 / 0.3e1 * t116 * t913 * t147 + 0.5e3 / 0.9e1 * t74 * t918 + 0.5e3 / 0.9e1 * t921 * t923 + 0.125e4 / 0.9e1 * t340 * t918 + 0.25e3 / 0.3e1 * t80 * t929; + const double t933 = t84 * t73; + const double t938 = t100 * t884; + const double t939 = t938 * t147; + const double t942 = t90 * t79; + const double t949 = t96 * t85; + const double t956 = t70 * t884; + const double t957 = t956 * t147; + const double t962 = t76 * t884; + const double t963 = t962 * t147; + const double t966 = t66 * t55; + const double t971 = 0.25e3 / 0.3e1 * t933 * t918 + 0.2e3 * t347 * t929 + 0.35e3 / 0.3e1 * t86 * t939 + 0.35e3 / 0.3e1 * t942 * t929 + 0.245e4 / 0.9e1 * t355 * t939 + 0.14e4 / 0.9e1 * t92 * t886 + 0.14e4 / 0.9e1 * t949 * t939 + 0.32e4 / 0.9e1 * t362 * t886 + 0.2e3 * t98 * t890 + 0.5e2 / 0.9e1 * t56 * t957 + 0.2e3 / 0.9e1 * t319 * t957 + 0.5e2 / 0.3e1 * t62 * t963 + 0.5e2 / 0.3e1 * t966 * t957 + 0.5e2 * t326 * t963; + const double t975 = t72 * t61; + const double t980 = t365 * t306; + const double t983 = t372 * t306; + const double t988 = t379 * t306; + const double t996 = t322 * t306; + const double t1001 = t60 * t884; + const double t1002 = t147 * t64; + const double t1005 = t48 * t884; + const double t1008 = 0.1e3 / 0.3e1 * t68 * t923 + 0.1e3 / 0.3e1 * t975 * t963 + 0.8e3 / 0.9e1 * t333 * t923 - 0.4e2 * t369 * t980 - 0.4e2 * t104 * t983 - 0.4e3 / 0.9e1 * t376 * t983 - 0.4e3 / 0.9e1 * t110 * t988 - 0.44e3 / 0.9e1 * t383 * t988 - 0.44e3 / 0.9e1 * t116 * t388 * t306 - 0.8e2 / 0.9e1 * t62 * t996 - 0.4e2 / 0.3e1 * t326 * t996 + 0.5e2 / 0.9e1 * t1001 * t1002 + 0.5e2 / 0.9e1 * t1005 * t1002; + const double t1012 = t329 * t306; + const double t1017 = t336 * t306; + const double t1022 = t343 * t306; + const double t1027 = t351 * t306; + const double t1032 = t358 * t306; + const double t1039 = t315 * t306; + const double t1044 = -0.4e2 / 0.9e1 * t311 * t306 * t58 - 0.4e2 / 0.3e1 * t68 * t1012 - 0.16e3 / 0.9e1 * t333 * t1012 - 0.16e3 / 0.9e1 * t74 * t1017 - 0.2e3 / 0.9e1 * t340 * t1017 - 0.2e3 / 0.9e1 * t80 * t1022 - 0.8e2 / 0.3e1 * t347 * t1022 - 0.8e2 / 0.3e1 * t86 * t1027 - 0.28e3 / 0.9e1 * t355 * t1027 - 0.28e3 / 0.9e1 * t92 * t1032 - 0.32e3 / 0.9e1 * t362 * t1032 - 0.32e3 / 0.9e1 * t98 * t980 - 0.4e2 / 0.9e1 * t56 * t1039 - 0.8e2 / 0.9e1 * t319 * t1039; + const double t1046 = t932 + t971 + t1008 + t1044; + const double t1048 = t122 * t158; + const double t1049 = t399 * t399; + const double t1053 = tau_a * t306; + const double t1055 = 0.18257653333333333333e-1 * t876 + 0.16597866666666666667e-1 * t1053; + const double t1061 = 0.88e2 / 0.9e1 * t130 * t875 + 0.8e2 / 0.9e1 * t403 * t306; + const double t1063 = t406 * t158; + const double t1066 = t137 * t428; + const double t1079 = t153 * t884; + const double t1084 = 0.304e3 / 0.9e1 * t143 * t869 + 0.88e2 / 0.9e1 * t150 * t875 * t135 + 0.8e2 / 0.3e1 * t150 * t413 * tau_a + 0.2e3 / 0.9e1 * t1079 * t147 + 0.16e3 / 0.9e1 * t422 * t1053; + const double t1086 = t425 * t428; + const double t1090 = 0.1e1 / t427 / t126; + const double t1091 = t156 * t1090; + const double t1096 = -0.76910453208598828559e-3 * t866 * t870 * t120 + 0.578102924807418127e-1 * t303 * t876 * t120 - 0.31532886807677352382e-1 * t303 * t307 * t393 + t46 * t1046 + 0.2e1 * t1048 * t1049 - t395 * t1055 + t1061 * t139 - 0.4e1 * t1063 * t399 + 0.6e1 * t1066 * t1049 - 0.2e1 * t408 * t1055 + t1084 * t158 - 0.6e1 * t1086 * t399 + 0.12e2 * t1091 * t1049 - 0.3e1 * t429 * t1055; + const double t1101 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t841 * t160 - t847 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t290 * t432 + t857 - t859 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t28 * t1096 ); + const double t1102 = t171 * t171; + const double t1103 = 0.1e1 / t1102; + const double t1104 = t440 * t440; + const double t1107 = t166 * t832; + const double t1110 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1114 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1104 + 0.4e1 / 0.3e1 * t171 * t1110 ); + const double t1115 = t1114 * t27; + const double t1119 = t443 * t295; + const double t1121 = t6 * t1119 * t277; + const double t1123 = t173 * t853; + const double t1126 = t6 * t1123 * t277 / 0.12e2; + const double t1128 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1115 * t277 - t1121 / 0.4e1 + t1126 ); + const double t1144 = t460 * t295; + const double t1146 = t6 * t1144 * t160; + const double t1168 = t471 * t295; + const double t1170 = t6 * t1168 * t277; + const double t1177 = t6 * t448 * t608; + const double t1185 = t457 * t457; + const double t1190 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t283 + 0.2e1 * t833 ); + const double t1194 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t827 * t1185 + 0.4e1 / 0.3e1 * t24 * t1190 ); + const double t1195 = t1194 * t27; + const double t1201 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1195 * t160 - t1146 / 0.4e1 + t857 ); + const double t1202 = t468 * t468; + const double t1207 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t283 + 0.2e1 * t1107 ); + const double t1211 = piecewise_functor_3( t170, 0.0, 0.4e1 / 0.9e1 * t1103 * t1202 + 0.4e1 / 0.3e1 * t171 * t1207 ); + const double t1212 = t1211 * t27; + const double t1223 = 0.1e1 / t476 / t183 * t49; + const double t1224 = t1223 * t865; + const double t1225 = t263 * t480; + const double t1227 = 0.1e1 / t176 / t1225; + const double t1228 = t261 * t1227; + const double t1233 = 0.1e1 / t177 / t263; + const double t1234 = sigma_bb * t1233; + const double t1241 = t505 * t482; + const double t1246 = t512 * t482; + const double t1251 = tau_b * tau_b; + const double t1252 = t563 * t1251; + const double t1253 = t1252 * t266; + const double t1256 = t203 * t1251; + const double t1257 = t1256 * t266; + const double t1260 = t208 * t1251; + const double t1261 = t1260 * t266; + const double t1264 = t66 * t190; + const double t1269 = t213 * t1251; + const double t1270 = t1269 * t266; + const double t1273 = t72 * t195; + const double t1278 = t218 * t1251; + const double t1279 = t1278 * t266; + const double t1282 = -0.4e2 / 0.3e1 * t201 * t1241 - 0.16e3 / 0.9e1 * t509 * t1241 - 0.16e3 / 0.9e1 * t206 * t1246 - 0.2e3 / 0.9e1 * t516 * t1246 + 0.605e4 / 0.9e1 * t559 * t1253 + 0.2e3 / 0.9e1 * t495 * t1257 + 0.5e2 / 0.3e1 * t196 * t1261 + 0.5e2 / 0.3e1 * t1264 * t1257 + 0.5e2 * t502 * t1261 + 0.1e3 / 0.3e1 * t201 * t1270 + 0.1e3 / 0.3e1 * t1273 * t1261 + 0.8e3 / 0.9e1 * t509 * t1270 + 0.5e3 / 0.9e1 * t206 * t1279; + const double t1283 = t78 * t200; + const double t1288 = t223 * t1251; + const double t1289 = t1288 * t266; + const double t1292 = t84 * t205; + const double t1297 = t228 * t1251; + const double t1298 = t1297 * t266; + const double t1303 = t519 * t482; + const double t1308 = t527 * t482; + const double t1313 = t534 * t482; + const double t1318 = t541 * t482; + const double t1321 = 0.5e3 / 0.9e1 * t1283 * t1270 + 0.125e4 / 0.9e1 * t516 * t1279 + 0.25e3 / 0.3e1 * t211 * t1289 + 0.25e3 / 0.3e1 * t1292 * t1279 + 0.2e3 * t523 * t1289 + 0.35e3 / 0.3e1 * t216 * t1298 + 0.5e2 / 0.9e1 * t191 * t1257 - 0.2e3 / 0.9e1 * t211 * t1303 - 0.8e2 / 0.3e1 * t523 * t1303 - 0.8e2 / 0.3e1 * t216 * t1308 - 0.28e3 / 0.9e1 * t531 * t1308 - 0.28e3 / 0.9e1 * t221 * t1313 - 0.32e3 / 0.9e1 * t538 * t1313 - 0.32e3 / 0.9e1 * t226 * t1318; + const double t1325 = t548 * t482; + const double t1330 = t555 * t482; + const double t1338 = t491 * t482; + const double t1343 = t498 * t482; + const double t1349 = 0.1e1 / t227 / t212; + const double t1350 = t1349 * t1251; + const double t1354 = t90 * t210; + const double t1359 = -0.4e2 * t545 * t1318 - 0.4e2 * t231 * t1325 - 0.4e3 / 0.9e1 * t552 * t1325 - 0.4e3 / 0.9e1 * t236 * t1330 - 0.44e3 / 0.9e1 * t559 * t1330 - 0.44e3 / 0.9e1 * t241 * t564 * t482 - 0.4e2 / 0.9e1 * t191 * t1338 - 0.8e2 / 0.9e1 * t495 * t1338 - 0.8e2 / 0.9e1 * t196 * t1343 - 0.4e2 / 0.3e1 * t502 * t1343 + 0.11e4 / 0.3e1 * t241 * t1350 * t266 + 0.35e3 / 0.3e1 * t1354 * t1289 + 0.245e4 / 0.9e1 * t531 * t1298; + const double t1360 = t233 * t1251; + const double t1361 = t1360 * t266; + const double t1364 = t96 * t215; + const double t1369 = t238 * t1251; + const double t1370 = t1369 * t266; + const double t1373 = t102 * t220; + const double t1378 = t243 * t1251; + const double t1379 = t1378 * t266; + const double t1382 = t108 * t225; + const double t1389 = t114 * t230; + const double t1395 = t48 * t1251; + const double t1396 = t266 * t198; + const double t1399 = t60 * t1251; + const double t1402 = 0.14e4 / 0.9e1 * t221 * t1361 + 0.14e4 / 0.9e1 * t1364 * t1298 + 0.32e4 / 0.9e1 * t538 * t1361 + 0.2e3 * t226 * t1370 + 0.2e3 * t1373 * t1361 + 0.45e3 * t545 * t1370 + 0.25e3 * t231 * t1379 + 0.25e3 * t1382 * t1370 + 0.5e4 / 0.9e1 * t552 * t1379 + 0.275e4 / 0.9e1 * t236 * t1253 + 0.275e4 / 0.9e1 * t1389 * t1379 - 0.4e2 / 0.9e1 * t487 * t482 * t193 + 0.5e2 / 0.9e1 * t1395 * t1396 + 0.5e2 / 0.9e1 * t1399 * t1396; + const double t1404 = t1282 + t1321 + t1359 + t1402; + const double t1406 = t122 * t275; + const double t1407 = t575 * t575; + const double t1411 = tau_b * t482; + const double t1413 = 0.18257653333333333333e-1 * t1234 + 0.16597866666666666667e-1 * t1411; + const double t1419 = 0.88e2 / 0.9e1 * t252 * t1233 + 0.8e2 / 0.9e1 * t579 * t482; + const double t1421 = t582 * t275; + const double t1424 = t257 * t604; + const double t1437 = t153 * t1251; + const double t1442 = 0.304e3 / 0.9e1 * t262 * t1227 + 0.88e2 / 0.9e1 * t268 * t1233 * t255 + 0.8e2 / 0.3e1 * t268 * t589 * tau_b + 0.2e3 / 0.9e1 * t1437 * t266 + 0.16e3 / 0.9e1 * t598 * t1411; + const double t1444 = t601 * t604; + const double t1448 = 0.1e1 / t603 / t249; + const double t1449 = t273 * t1448; + const double t1454 = -0.76910453208598828559e-3 * t1224 * t1228 * t245 + 0.578102924807418127e-1 * t479 * t1234 * t245 - 0.31532886807677352382e-1 * t479 * t483 * t569 + t186 * t1404 + 0.2e1 * t1406 * t1407 - t571 * t1413 + t1419 * t259 - 0.4e1 * t1421 * t575 + 0.6e1 * t1424 * t1407 - 0.2e1 * t584 * t1413 + t1442 * t275 - 0.6e1 * t1444 * t575 + 0.12e2 * t1449 * t1407 - 0.3e1 * t605 * t1413; + const double t1459 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t1212 * t277 - t1170 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t472 * t608 + t1126 - t1177 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t174 * t1454 ); + const double t1467 = t6 * t296 * t635 / 0.8e1; + const double t1472 = t33 * t306; + const double t1479 = t39 * t399; + const double t1480 = t1048 * t1479; + const double t1482 = t395 * t306; + const double t1484 = t129 * t306; + const double t1487 = t158 * t399; + const double t1490 = t1063 * t39; + const double t1492 = t1066 * t1479; + const double t1494 = t408 * t306; + const double t1501 = t149 * t147; + const double t1504 = -0.32e2 / 0.3e1 * t626 * t413 - 0.8e1 / 0.3e1 * t149 * t306 * t135 - 0.1e2 / 0.3e1 * t1501 * tau_a; + const double t1506 = t631 * t428; + const double t1509 = t1086 * t39; + const double t1511 = t1091 * t1479; + const double t1513 = t429 * t306; + const double t1515 = 0.2884141995322456071e-3 * t866 * t413 * t120 * sigma_aa - 0.15766443403838676191e-1 * t302 * t1472 * t120 + 0.59124162764395035716e-2 * t302 * t616 * t393 + 0.373452e-2 * t1480 + 0.497936e-2 * t1482 - 0.8e1 / 0.3e1 * t1484 * t139 - 0.2e1 * t622 * t1487 - 0.373452e-2 * t1490 + 0.1120356e-1 * t1492 + 0.995872e-2 * t1494 + t1504 * t158 - 0.3e1 * t1506 * t399 - 0.560178e-2 * t1509 + 0.2240712e-1 * t1511 + 0.1493808e-1 * t1513; + const double t1520 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t635 - t1467 - 0.3e1 / 0.8e1 * t6 * t28 * t1515 ); + const double t1527 = t6 * t448 * t659 / 0.8e1; + const double t1544 = t33 * t482; + const double t1551 = t179 * t575; + const double t1552 = t1406 * t1551; + const double t1554 = t571 * t482; + const double t1556 = t129 * t482; + const double t1559 = t275 * t575; + const double t1562 = t1421 * t179; + const double t1564 = t1424 * t1551; + const double t1566 = t584 * t482; + const double t1573 = t149 * t266; + const double t1576 = -0.32e2 / 0.3e1 * t650 * t589 - 0.8e1 / 0.3e1 * t149 * t482 * t255 - 0.1e2 / 0.3e1 * t1573 * tau_b; + const double t1578 = t655 * t604; + const double t1581 = t1444 * t179; + const double t1583 = t1449 * t1551; + const double t1585 = t605 * t482; + const double t1587 = 0.2884141995322456071e-3 * t1224 * t589 * t245 * sigma_bb - 0.15766443403838676191e-1 * t478 * t1544 * t245 + 0.59124162764395035716e-2 * t478 * t640 * t569 + 0.373452e-2 * t1552 + 0.497936e-2 * t1554 - 0.8e1 / 0.3e1 * t1556 * t259 - 0.2e1 * t646 * t1559 - 0.373452e-2 * t1562 + 0.1120356e-1 * t1564 + 0.995872e-2 * t1566 + t1576 * t275 - 0.3e1 * t1578 * t575 - 0.560178e-2 * t1581 + 0.2240712e-1 * t1583 + 0.1493808e-1 * t1585; + const double t1592 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t659 - t1527 - 0.3e1 / 0.8e1 * t6 * t174 * t1587 ); + const double t1599 = t6 * t296 * t739 / 0.8e1; + const double t1609 = t88 * t39; + const double t1614 = t94 * t39; + const double t1619 = t100 * t39; + const double t1624 = t106 * t39; + const double t1629 = t112 * t39; + const double t1632 = t64 * t39; + const double t1637 = 0.5e1 / 0.3e1 * t48 * t39 * t58 + 0.55e2 / 0.3e1 * t116 * t387 * t39 + 0.25e2 / 0.3e1 * t80 * t1609 + 0.1e2 * t347 * t1609 + 0.1e2 * t86 * t1614 + 0.35e2 / 0.3e1 * t355 * t1614 + 0.35e2 / 0.3e1 * t92 * t1619 + 0.4e2 / 0.3e1 * t362 * t1619 + 0.4e2 / 0.3e1 * t98 * t1624 + 0.15e2 * t369 * t1624 + 0.15e2 * t104 * t1629 + 0.5e1 / 0.3e1 * t56 * t1632 + 0.1e2 / 0.3e1 * t319 * t1632; + const double t1638 = t70 * t39; + const double t1643 = t76 * t39; + const double t1648 = t82 * t39; + const double t1653 = t48 * t730; + const double t1656 = t60 * tau_a; + const double t1662 = t118 * t39; + const double t1667 = t76 * t730; + const double t1668 = t1667 * tau_a; + const double t1671 = t70 * t730; + const double t1672 = t1671 * tau_a; + const double t1677 = 0.1e2 / 0.3e1 * t62 * t1638 + 0.5e1 * t326 * t1638 + 0.5e1 * t68 * t1643 + 0.2e2 / 0.3e1 * t333 * t1643 + 0.2e2 / 0.3e1 * t74 * t1648 + 0.25e2 / 0.3e1 * t340 * t1648 - 0.1e2 / 0.3e1 * t1653 * t315 - 0.1e2 / 0.3e1 * t1656 * t730 * t64 + 0.5e2 / 0.3e1 * t376 * t1629 + 0.5e2 / 0.3e1 * t110 * t1662 + 0.55e2 / 0.3e1 * t383 * t1662 - 0.1e2 * t62 * t1668 - 0.1e2 * t966 * t1672 - 0.3e2 * t326 * t1668; + const double t1679 = t82 * t730; + const double t1680 = t1679 * tau_a; + const double t1687 = t88 * t730; + const double t1688 = t1687 * tau_a; + const double t1695 = t112 * t730; + const double t1696 = t1695 * tau_a; + const double t1699 = t118 * t730; + const double t1700 = t1699 * tau_a; + const double t1703 = t387 * t730; + const double t1704 = t1703 * tau_a; + const double t1711 = t912 * t730; + const double t1715 = t94 * t730; + const double t1716 = t1715 * tau_a; + const double t1719 = -0.2e2 * t68 * t1680 - 0.2e2 * t975 * t1668 - 0.16e3 / 0.3e1 * t333 * t1680 - 0.1e3 / 0.3e1 * t74 * t1688 - 0.1e3 / 0.3e1 * t921 * t1680 - 0.25e3 / 0.3e1 * t340 * t1688 - 0.15e3 * t897 * t1696 - 0.1e4 / 0.3e1 * t376 * t1700 - 0.55e3 / 0.3e1 * t110 * t1704 - 0.55e3 / 0.3e1 * t906 * t1700 - 0.121e4 / 0.3e1 * t383 * t1704 - 0.22e3 * t116 * t1711 * tau_a - 0.5e2 * t80 * t1716; + const double t1724 = t100 * t730; + const double t1725 = t1724 * tau_a; + const double t1732 = t106 * t730; + const double t1733 = t1732 * tau_a; + const double t1752 = -0.5e2 * t933 * t1688 - 0.12e3 * t347 * t1716 - 0.7e2 * t86 * t1725 - 0.7e2 * t942 * t1716 - 0.49e3 / 0.3e1 * t355 * t1725 - 0.28e3 / 0.3e1 * t92 * t1733 - 0.28e3 / 0.3e1 * t949 * t1725 - 0.64e3 / 0.3e1 * t362 * t1733 - 0.12e3 * t98 * t1696 - 0.12e3 * t883 * t1733 - 0.27e3 * t369 * t1696 - 0.15e3 * t104 * t1700 - 0.1e2 / 0.3e1 * t56 * t1672 - 0.4e2 / 0.3e1 * t319 * t1672; + const double t1754 = t1637 + t1677 + t1719 + t1752; + const double t1756 = t53 * t399; + const double t1760 = t132 * t39; + const double t1772 = t153 * tau_a; + const double t1777 = -0.26e2 / 0.3e1 * t150 * t147 - 0.4e2 / 0.3e1 * t1772 * t730 - 0.2e2 / 0.3e1 * t422 * t39; + const double t1779 = t735 * t428; + const double t1787 = -0.15766443403838676191e-1 * t303 * t307 * t720 + t46 * t1754 + 0.746904e-2 * t1048 * t1756 + 0.62242e-2 * t620 - 0.1e2 / 0.3e1 * t1760 * t139 - 0.4e1 * t724 * t1487 - 0.746904e-2 * t1063 * t53 + 0.2240712e-1 * t1066 * t1756 + 0.124484e-1 * t624 + t1777 * t158 - 0.3e1 * t1779 * t399 - 0.1120356e-1 * t1086 * t53 + 0.4481424e-1 * t1091 * t1756 + 0.186726e-1 * t633; + const double t1792 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t290 * t739 - t1599 - 0.3e1 / 0.8e1 * t6 * t28 * t1787 ); + const double t1799 = t6 * t448 * t819 / 0.8e1; + const double t1818 = t208 * t179; + const double t1821 = t213 * t179; + const double t1826 = t218 * t179; + const double t1831 = t223 * t179; + const double t1836 = t228 * t179; + const double t1841 = t233 * t179; + const double t1844 = t198 * t179; + const double t1849 = 0.5e1 / 0.3e1 * t48 * t179 * t193 + 0.2e2 / 0.3e1 * t509 * t1818 + 0.2e2 / 0.3e1 * t206 * t1821 + 0.25e2 / 0.3e1 * t516 * t1821 + 0.25e2 / 0.3e1 * t211 * t1826 + 0.1e2 * t523 * t1826 + 0.1e2 * t216 * t1831 + 0.35e2 / 0.3e1 * t531 * t1831 + 0.35e2 / 0.3e1 * t221 * t1836 + 0.4e2 / 0.3e1 * t538 * t1836 + 0.4e2 / 0.3e1 * t226 * t1841 + 0.5e1 / 0.3e1 * t191 * t1844 + 0.1e2 / 0.3e1 * t495 * t1844; + const double t1850 = t203 * t179; + const double t1857 = t48 * t810; + const double t1860 = t60 * tau_b; + const double t1866 = t238 * t179; + const double t1871 = t243 * t179; + const double t1879 = t213 * t810; + const double t1880 = t1879 * tau_b; + const double t1883 = t238 * t810; + const double t1884 = t1883 * tau_b; + const double t1887 = t243 * t810; + const double t1888 = t1887 * tau_b; + const double t1891 = 0.1e2 / 0.3e1 * t196 * t1850 + 0.5e1 * t502 * t1850 + 0.5e1 * t201 * t1818 - 0.1e2 / 0.3e1 * t1857 * t491 - 0.1e2 / 0.3e1 * t1860 * t810 * t198 + 0.15e2 * t545 * t1841 + 0.15e2 * t231 * t1866 + 0.5e2 / 0.3e1 * t552 * t1866 + 0.5e2 / 0.3e1 * t236 * t1871 + 0.55e2 / 0.3e1 * t559 * t1871 + 0.55e2 / 0.3e1 * t241 * t563 * t179 - 0.2e2 * t201 * t1880 - 0.15e3 * t1382 * t1884 - 0.1e4 / 0.3e1 * t552 * t1888; + const double t1893 = t563 * t810; + const double t1894 = t1893 * tau_b; + const double t1901 = t1349 * t810; + const double t1905 = t208 * t810; + const double t1906 = t1905 * tau_b; + const double t1911 = t218 * t810; + const double t1912 = t1911 * tau_b; + const double t1919 = t223 * t810; + const double t1920 = t1919 * tau_b; + const double t1927 = t228 * t810; + const double t1928 = t1927 * tau_b; + const double t1931 = -0.55e3 / 0.3e1 * t236 * t1894 - 0.55e3 / 0.3e1 * t1389 * t1888 - 0.121e4 / 0.3e1 * t559 * t1894 - 0.22e3 * t241 * t1901 * tau_b - 0.2e2 * t1273 * t1906 - 0.16e3 / 0.3e1 * t509 * t1880 - 0.1e3 / 0.3e1 * t206 * t1912 - 0.1e3 / 0.3e1 * t1283 * t1880 - 0.25e3 / 0.3e1 * t516 * t1912 - 0.5e2 * t211 * t1920 - 0.5e2 * t1292 * t1912 - 0.12e3 * t523 * t1920 - 0.7e2 * t216 * t1928; + const double t1936 = t233 * t810; + const double t1937 = t1936 * tau_b; + const double t1944 = t203 * t810; + const double t1945 = t1944 * tau_b; + const double t1964 = -0.7e2 * t1354 * t1920 - 0.49e3 / 0.3e1 * t531 * t1928 - 0.28e3 / 0.3e1 * t221 * t1937 - 0.28e3 / 0.3e1 * t1364 * t1928 - 0.64e3 / 0.3e1 * t538 * t1937 - 0.1e2 / 0.3e1 * t191 * t1945 - 0.4e2 / 0.3e1 * t495 * t1945 - 0.1e2 * t196 * t1906 - 0.1e2 * t1264 * t1945 - 0.3e2 * t502 * t1906 - 0.12e3 * t226 * t1884 - 0.12e3 * t1373 * t1937 - 0.27e3 * t545 * t1884 - 0.15e3 * t231 * t1888; + const double t1966 = t1849 + t1891 + t1931 + t1964; + const double t1968 = t188 * t575; + const double t1972 = t132 * t179; + const double t1984 = t153 * tau_b; + const double t1989 = -0.26e2 / 0.3e1 * t268 * t266 - 0.4e2 / 0.3e1 * t1984 * t810 - 0.2e2 / 0.3e1 * t598 * t179; + const double t1991 = t815 * t604; + const double t1999 = -0.15766443403838676191e-1 * t479 * t483 * t800 + t186 * t1966 + 0.746904e-2 * t1406 * t1968 + 0.62242e-2 * t644 - 0.1e2 / 0.3e1 * t1972 * t259 - 0.4e1 * t804 * t1559 - 0.746904e-2 * t1421 * t188 + 0.2240712e-1 * t1424 * t1968 + 0.124484e-1 * t648 + t1989 * t275 - 0.3e1 * t1991 * t575 - 0.1120356e-1 * t1444 * t188 + 0.4481424e-1 * t1449 * t1968 + 0.186726e-1 * t657; + const double t2004 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t472 * t819 - t1799 - 0.3e1 / 0.8e1 * t6 * t174 * t1999 ); + const double t2006 = t865 * t147; + const double t2010 = t1048 * t147; + const double t2012 = t129 * t147; + const double t2013 = t2012 * t158; + const double t2015 = t1066 * t147; + const double t2017 = t141 * t147; + const double t2020 = t1506 * t39; + const double t2022 = t1091 * t147; + const double t2024 = -0.10815532482459210266e-3 * t863 * t2006 * t120 + 0.69733198152e-5 * t2010 - 0.746904e-2 * t2013 + 0.209199594456e-4 * t2015 + 0.2e1 * t2017 * t158 - 0.1120356e-1 * t2020 + 0.418399188912e-4 * t2022; + const double t2028 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2024 ); + const double t2029 = t865 * t266; + const double t2033 = t1406 * t266; + const double t2035 = t129 * t266; + const double t2036 = t2035 * t275; + const double t2038 = t1424 * t266; + const double t2040 = t141 * t266; + const double t2043 = t1578 * t179; + const double t2045 = t1449 * t266; + const double t2047 = -0.10815532482459210266e-3 * t1223 * t2029 * t245 + 0.69733198152e-5 * t2033 - 0.746904e-2 * t2036 + 0.209199594456e-4 * t2038 + 0.2e1 * t2040 * t275 - 0.1120356e-1 * t2043 + 0.418399188912e-4 * t2045; + const double t2051 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2047 ); + const double t2055 = t1048 * t730; + const double t2057 = t132 * t730; + const double t2058 = t2057 * t158; + const double t2060 = t129 * t730; + const double t2063 = t1066 * t730; + const double t2065 = t149 * t730; + const double t2068 = t1779 * t39; + const double t2072 = t1091 * t730; + const double t2074 = 0.59124162764395035716e-2 * t302 * t616 * t720 + 0.139466396304e-4 * t2055 - 0.746904e-2 * t2058 - 0.746904e-2 * t2060 * t158 + 0.418399188912e-4 * t2063 + 0.2e1 * t2065 * t158 - 0.560178e-2 * t2068 - 0.1120356e-1 * t1506 * t53 + 0.836798377824e-4 * t2072; + const double t2078 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2074 ); + const double t2082 = t1406 * t810; + const double t2084 = t132 * t810; + const double t2085 = t2084 * t275; + const double t2087 = t129 * t810; + const double t2090 = t1424 * t810; + const double t2092 = t149 * t810; + const double t2095 = t1991 * t179; + const double t2099 = t1449 * t810; + const double t2101 = 0.59124162764395035716e-2 * t478 * t640 * t800 + 0.139466396304e-4 * t2082 - 0.746904e-2 * t2085 - 0.746904e-2 * t2087 * t275 + 0.418399188912e-4 * t2090 + 0.2e1 * t2092 * t275 - 0.560178e-2 * t2095 - 0.1120356e-1 * t1578 * t188 + 0.836798377824e-4 * t2099; + const double t2105 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2101 ); + const double t2107 = 0.1e1 / t36 / t304; + const double t2114 = t100 * t2107; + const double t2117 = t106 * t2107; + const double t2120 = t112 * t2107; + const double t2123 = t118 * t2107; + const double t2126 = t70 * t2107; + const double t2129 = t76 * t2107; + const double t2132 = t82 * t2107; + const double t2135 = t88 * t2107; + const double t2138 = t94 * t2107; + const double t2145 = t387 * t2107; + const double t2153 = 0.132e3 * t116 * t912 * t2107 + 0.2e1 * t48 * t2107 * t64 + 0.2e1 * t60 * t2107 * t64 + 0.9e2 * t104 * t2123 + 0.11e3 * t110 * t2145 + 0.56e2 * t949 * t2114 + 0.72e2 * t883 * t2117 + 0.9e2 * t897 * t2120 + 0.2e3 * t376 * t2123 + 0.11e3 * t906 * t2123 + 0.6e1 * t966 * t2126 + 0.12e2 * t975 * t2129 + 0.2e2 * t921 * t2132 + 0.3e2 * t933 * t2135 + 0.42e2 * t942 * t2138 + 0.242e3 * t383 * t2145; + const double t2186 = 0.98e2 * t355 * t2114 + 0.42e2 * t86 * t2114 + 0.128e3 * t362 * t2117 + 0.56e2 * t92 * t2117 + 0.162e3 * t369 * t2120 + 0.72e2 * t98 * t2120 + 0.8e1 * t319 * t2126 + 0.2e1 * t56 * t2126 + 0.18e2 * t326 * t2129 + 0.6e1 * t62 * t2129 + 0.32e2 * t333 * t2132 + 0.12e2 * t68 * t2132 + 0.5e2 * t340 * t2135 + 0.2e2 * t74 * t2135 + 0.72e2 * t347 * t2138 + 0.3e2 * t80 * t2138; + const double t2187 = t2153 + t2186; + const double t2191 = t132 * t2107; + const double t2196 = t153 * t2107; + const double t2203 = t46 * t2187 + 0.278932792608e-4 * t1048 * t2107 - 0.2987616e-1 * t2191 * t158 + 0.836798377824e-4 * t1066 * t2107 + 0.8e1 * t2196 * t158 - 0.2240712e-1 * t1779 * t53 + 0.1673596755648e-3 * t1091 * t2107; + const double t2207 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t2203 ); + const double t2209 = 0.1e1 / t176 / t480; + const double t2219 = t213 * t2209; + const double t2222 = t218 * t2209; + const double t2227 = t223 * t2209; + const double t2232 = t228 * t2209; + const double t2237 = t233 * t2209; + const double t2242 = t238 * t2209; + const double t2247 = t243 * t2209; + const double t2252 = 0.132e3 * t241 * t1349 * t2209 + 0.2e1 * t48 * t2209 * t198 + 0.2e1 * t60 * t2209 * t198 + 0.2e2 * t206 * t2222 + 0.3e2 * t211 * t2227 + 0.42e2 * t216 * t2232 + 0.56e2 * t221 * t2237 + 0.32e2 * t509 * t2219 + 0.5e2 * t516 * t2222 + 0.72e2 * t523 * t2227 + 0.98e2 * t531 * t2232 + 0.128e3 * t538 * t2237 + 0.72e2 * t226 * t2242 + 0.162e3 * t545 * t2242 + 0.9e2 * t231 * t2247 + 0.2e3 * t552 * t2247; + const double t2253 = t563 * t2209; + const double t2258 = t203 * t2209; + const double t2263 = t208 * t2209; + const double t2288 = 0.6e1 * t1264 * t2258 + 0.12e2 * t1273 * t2263 + 0.2e2 * t1283 * t2219 + 0.3e2 * t1292 * t2222 + 0.42e2 * t1354 * t2227 + 0.56e2 * t1364 * t2232 + 0.72e2 * t1373 * t2237 + 0.9e2 * t1382 * t2242 + 0.11e3 * t1389 * t2247 + 0.2e1 * t191 * t2258 + 0.6e1 * t196 * t2263 + 0.12e2 * t201 * t2219 + 0.11e3 * t236 * t2253 + 0.242e3 * t559 * t2253 + 0.8e1 * t495 * t2258 + 0.18e2 * t502 * t2263; + const double t2289 = t2252 + t2288; + const double t2293 = t132 * t2209; + const double t2298 = t153 * t2209; + const double t2305 = t186 * t2289 + 0.278932792608e-4 * t1406 * t2209 - 0.2987616e-1 * t2293 * t275 + 0.836798377824e-4 * t1424 * t2209 + 0.8e1 * t2298 * t275 - 0.2240712e-1 * t1991 * t188 + 0.1673596755648e-3 * t1449 * t2209; + const double t2309 = piecewise_functor_3( t165, 0.0, -0.3e1 / 0.8e1 * t6 * t174 * t2305 ); + + + vrho_a = t164 + t281 + t7 * ( t437 + t453 ); + vrho_b = t164 + t281 + t7 * ( t466 + t613 ); + vsigma_aa = t7 * t639; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t663; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t743; + vtau_b = t7 * t823; + v2rho2_aa = 0.2e1 * t437 + 0.2e1 * t453 + t7 * ( t1101 + t1128 ); + v2rho2_bb = 0.2e1 * t466 + 0.2e1 * t613 + t7 * ( t1201 + t1459 ); + v2rhosigma_a_aa = t7 * t1520 + t639; + v2rhosigma_b_bb = t7 * t1592 + t663; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1792 + t743; + v2rhotau_b_b = t7 * t2004 + t823; + v2sigma2_aa_aa = t7 * t2028; + v2sigma2_bb_bb = t7 * t2051; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t2078; + v2sigmatau_bb_b = t7 * t2105; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2207; + v2tau2_bb = t7 * t2309; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinRevM06_L_X : detail::BuiltinKernelImpl< BuiltinRevM06_L_X > { + + BuiltinRevM06_L_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinRevM06_L_X >(p) { } + + virtual ~BuiltinRevM06_L_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/rev_pbe_x.hpp b/include/exchcxx/impl/builtin/kernels/rev_pbe_x.hpp index 1a04f50..66ef457 100644 --- a/include/exchcxx/impl/builtin/kernels/rev_pbe_x.hpp +++ b/include/exchcxx/impl/builtin/kernels/rev_pbe_x.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinRevPBE_X > : static constexpr double sigma_tol = 2.1544346900318956e-43; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double kappa = 1.245; static constexpr double mu = 0.2195149727645171; @@ -37,7 +86,6 @@ struct kernel_traits< BuiltinRevPBE_X > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t20 = constants::m_cbrt_6; @@ -73,7 +121,6 @@ struct kernel_traits< BuiltinRevPBE_X > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t20 = constants::m_cbrt_6; @@ -119,11 +166,147 @@ struct kernel_traits< BuiltinRevPBE_X > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t56 = kappa * kappa; + constexpr double t78 = t20 * t25 * t28; + constexpr double t106 = mu * mu; + constexpr double t108 = t20 * t20; + constexpr double t111 = 0.1e1 / t23 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t37 = kappa + mu * t20 * t25 * sigma * t28 * t33 / 0.24e2; + const double t42 = 0.1e1 + kappa * ( 0.1e1 - kappa / t37 ); + const double t52 = t30 * rho; + const double t58 = t6 * t17 / t18 / t52 * t56; + const double t59 = t37 * t37; + const double t61 = 0.1e1 / t59 * mu; + const double t64 = t25 * sigma * t28; + const double t65 = t61 * t20 * t64; + const double t69 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t31 * t42 / 0.8e1 + t58 * t65 / 0.24e2 ); + const double t79 = t61 * t78; + const double t82 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t18 / t30 * t56 * t79 / 0.64e2 ); + const double t91 = t30 * t30; + const double t96 = t6 * t17 / t18 / t91 * t56; + const double t99 = t91 * t52; + const double t103 = t6 * t17 / t99 * t56; + const double t107 = 0.1e1 / t59 / t37 * t106; + const double t109 = t107 * t108; + const double t112 = sigma * sigma; + const double t115 = t109 * t111 * t112 * t27; + const double t119 = piecewise_functor_3( t2, 0.0, t6 * t17 / t31 / rho * t42 / 0.12e2 - t96 * t65 / 0.8e1 + t103 * t115 / 0.54e2 ); + const double t124 = t91 * t30; + const double t128 = t6 * t17 / t124 * t56; + const double t131 = t109 * t111 * t27 * sigma; + const double t135 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.192e3 * t58 * t79 - t128 * t131 / 0.144e3 ); + const double t138 = t91 * rho; + const double t145 = t107 * t108 * t111 * t27; + const double t148 = piecewise_functor_3( t2, 0.0, t6 * t17 / t138 * t56 * t145 / 0.384e3 ); + + + v2rho2 = 0.2e1 * rho * t119 + 0.4e1 * t69; + v2rhosigma = 0.2e1 * rho * t135 + 0.2e1 * t82; + v2sigma2 = 0.2e1 * rho * t148; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t56 = kappa * kappa; + constexpr double t78 = t20 * t25 * t28; + constexpr double t106 = mu * mu; + constexpr double t108 = t20 * t20; + constexpr double t111 = 0.1e1 / t23 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t37 = kappa + mu * t20 * t25 * sigma * t28 * t33 / 0.24e2; + const double t42 = 0.1e1 + kappa * ( 0.1e1 - kappa / t37 ); + const double t46 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t17 * t18 * t42 ); + const double t52 = t30 * rho; + const double t58 = t6 * t17 / t18 / t52 * t56; + const double t59 = t37 * t37; + const double t61 = 0.1e1 / t59 * mu; + const double t64 = t25 * sigma * t28; + const double t65 = t61 * t20 * t64; + const double t69 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t31 * t42 / 0.8e1 + t58 * t65 / 0.24e2 ); + const double t79 = t61 * t78; + const double t82 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t18 / t30 * t56 * t79 / 0.64e2 ); + const double t91 = t30 * t30; + const double t96 = t6 * t17 / t18 / t91 * t56; + const double t99 = t91 * t52; + const double t103 = t6 * t17 / t99 * t56; + const double t107 = 0.1e1 / t59 / t37 * t106; + const double t109 = t107 * t108; + const double t112 = sigma * sigma; + const double t115 = t109 * t111 * t112 * t27; + const double t119 = piecewise_functor_3( t2, 0.0, t6 * t17 / t31 / rho * t42 / 0.12e2 - t96 * t65 / 0.8e1 + t103 * t115 / 0.54e2 ); + const double t124 = t91 * t30; + const double t128 = t6 * t17 / t124 * t56; + const double t131 = t109 * t111 * t27 * sigma; + const double t135 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.192e3 * t58 * t79 - t128 * t131 / 0.144e3 ); + const double t138 = t91 * rho; + const double t145 = t107 * t108 * t111 * t27; + const double t148 = piecewise_functor_3( t2, 0.0, t6 * t17 / t138 * t56 * t145 / 0.384e3 ); + + + vrho = 0.2e1 * rho * t69 + 0.2e1 * t46; + vsigma = 0.2e1 * rho * t82; + v2rho2 = 0.2e1 * rho * t119 + 0.4e1 * t69; + v2rhosigma = 0.2e1 * rho * t135 + 0.2e1 * t82; + v2sigma2 = 0.2e1 * rho * t148; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { (void)(sigma_ab); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t28 = constants::m_cbrt_6; @@ -185,7 +368,6 @@ struct kernel_traits< BuiltinRevPBE_X > : eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { (void)(sigma_ab); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t28 = constants::m_cbrt_6; @@ -296,6 +478,435 @@ struct kernel_traits< BuiltinRevPBE_X > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t100 = kappa * kappa; + constexpr double t171 = t28 * t33; + constexpr double t223 = mu * mu; + constexpr double t225 = t28 * t28; + constexpr double t228 = 0.1e1 / t31 / t30; + constexpr double t442 = t225 * t228; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t43 = kappa + t29 * t34 * t39 / 0.24e2; + const double t48 = 0.1e1 + kappa * ( 0.1e1 - kappa / t43 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = t33 * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = safe_math::cbrt( rho_b ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t64; + const double t72 = kappa + t29 * t63 * t68 / 0.24e2; + const double t77 = 0.1e1 + kappa * ( 0.1e1 - kappa / t72 ); + const double t82 = t6 * t6; + const double t83 = 0.1e1 / t82; + const double t84 = t16 * t83; + const double t86 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t84 ); + const double t89 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t86 ); + const double t90 = t89 * t26; + const double t94 = t26 * t26; + const double t95 = 0.1e1 / t94; + const double t96 = t25 * t95; + const double t99 = t5 * t96 * t48 / 0.8e1; + const double t101 = t27 * t100; + const double t102 = t5 * t101; + const double t103 = t43 * t43; + const double t105 = 0.1e1 / t103 * mu; + const double t106 = t105 * t28; + const double t107 = t35 * rho_a; + const double t109 = 0.1e1 / t37 / t107; + const double t111 = t106 * t34 * t109; + const double t115 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t90 * t48 - t99 + t102 * t111 / 0.24e2 ); + const double t116 = t54 * t83; + const double t118 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t116 ); + const double t121 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t118 ); + const double t122 = t121 * t26; + const double t126 = t61 * t95; + const double t129 = t5 * t126 * t77 / 0.8e1; + const double t131 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t122 * t77 - t129 ); + const double t135 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t84 ); + const double t138 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t135 ); + const double t139 = t138 * t26; + const double t144 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t139 * t48 - t99 ); + const double t146 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t116 ); + const double t149 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t146 ); + const double t150 = t149 * t26; + const double t154 = t62 * t100; + const double t155 = t5 * t154; + const double t156 = t72 * t72; + const double t158 = 0.1e1 / t156 * mu; + const double t159 = t158 * t28; + const double t160 = t64 * rho_b; + const double t162 = 0.1e1 / t66 / t160; + const double t164 = t159 * t63 * t162; + const double t168 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t150 * t77 - t129 + t155 * t164 / 0.24e2 ); + const double t173 = t105 * t171 * t39; + const double t176 = piecewise_functor_3( t1, 0.0, -t102 * t173 / 0.64e2 ); + const double t178 = t158 * t171 * t68; + const double t181 = piecewise_functor_3( t53, 0.0, -t155 * t178 / 0.64e2 ); + const double t184 = t23 * t23; + const double t185 = 0.1e1 / t184; + const double t186 = t86 * t86; + const double t189 = t82 * t6; + const double t190 = 0.1e1 / t189; + const double t191 = t16 * t190; + const double t194 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t83 + 0.2e1 * t191 ); + const double t198 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t186 + 0.4e1 / 0.3e1 * t23 * t194 ); + const double t199 = t198 * t26; + const double t203 = t89 * t95; + const double t205 = t5 * t203 * t48; + const double t208 = t5 * t90 * t100; + const double t212 = 0.1e1 / t94 / t6; + const double t213 = t25 * t212; + const double t216 = t5 * t213 * t48 / 0.12e2; + const double t218 = t5 * t96 * t100; + const double t219 = t218 * t111; + const double t224 = 0.1e1 / t103 / t43 * t223; + const double t226 = t224 * t225; + const double t229 = sigma_aa * sigma_aa; + const double t230 = t228 * t229; + const double t231 = t35 * t35; + const double t234 = 0.1e1 / t36 / t231 / t107; + const double t236 = t226 * t230 * t234; + const double t240 = 0.1e1 / t37 / t231; + const double t242 = t106 * t34 * t240; + const double t246 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t199 * t48 - t205 / 0.4e1 + t208 * t111 / 0.12e2 + t216 + t219 / 0.36e2 + t102 * t236 / 0.108e3 - 0.11e2 / 0.72e2 * t102 * t242 ); + const double t247 = t59 * t59; + const double t248 = 0.1e1 / t247; + const double t249 = t118 * t118; + const double t252 = t54 * t190; + const double t255 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t83 + 0.2e1 * t252 ); + const double t259 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t59 * t255 ); + const double t260 = t259 * t26; + const double t264 = t121 * t95; + const double t266 = t5 * t264 * t77; + const double t268 = t61 * t212; + const double t271 = t5 * t268 * t77 / 0.12e2; + const double t273 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t260 * t77 - t266 / 0.4e1 + t271 ); + const double t289 = t138 * t95; + const double t291 = t5 * t289 * t48; + const double t314 = t149 * t95; + const double t316 = t5 * t314 * t77; + const double t324 = t5 * t126 * t100; + const double t325 = t324 * t164; + const double t333 = t135 * t135; + const double t338 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t83 + 0.2e1 * t191 ); + const double t342 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t333 + 0.4e1 / 0.3e1 * t23 * t338 ); + const double t343 = t342 * t26; + const double t349 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t343 * t48 - t291 / 0.4e1 + t216 ); + const double t350 = t146 * t146; + const double t355 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t83 + 0.2e1 * t252 ); + const double t359 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t350 + 0.4e1 / 0.3e1 * t59 * t355 ); + const double t360 = t359 * t26; + const double t366 = t5 * t150 * t100; + const double t372 = 0.1e1 / t156 / t72 * t223; + const double t373 = t372 * t225; + const double t374 = sigma_bb * sigma_bb; + const double t375 = t228 * t374; + const double t376 = t64 * t64; + const double t379 = 0.1e1 / t65 / t376 / t160; + const double t381 = t373 * t375 * t379; + const double t385 = 0.1e1 / t66 / t376; + const double t387 = t159 * t63 * t385; + const double t391 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t360 * t77 - t316 / 0.4e1 + t366 * t164 / 0.12e2 + t271 + t325 / 0.36e2 + t155 * t381 / 0.108e3 - 0.11e2 / 0.72e2 * t155 * t387 ); + const double t397 = t218 * t173 / 0.192e3; + const double t398 = t231 * t35; + const double t400 = 0.1e1 / t36 / t398; + const double t403 = t226 * t228 * t400 * sigma_aa; + const double t407 = t105 * t171 * t109; + const double t411 = piecewise_functor_3( t1, 0.0, -t208 * t173 / 0.64e2 - t397 - t102 * t403 / 0.288e3 + t102 * t407 / 0.24e2 ); + const double t416 = t324 * t178 / 0.192e3; + const double t427 = t376 * t64; + const double t429 = 0.1e1 / t65 / t427; + const double t432 = t373 * t228 * t429 * sigma_bb; + const double t436 = t158 * t171 * t162; + const double t440 = piecewise_functor_3( t53, 0.0, -t366 * t178 / 0.64e2 - t416 - t155 * t432 / 0.288e3 + t155 * t436 / 0.24e2 ); + const double t443 = t231 * rho_a; + const double t447 = t224 * t442 / t36 / t443; + const double t450 = piecewise_functor_3( t1, 0.0, t102 * t447 / 0.768e3 ); + const double t451 = t376 * rho_b; + const double t455 = t372 * t442 / t65 / t451; + const double t458 = piecewise_functor_3( t53, 0.0, t155 * t455 / 0.768e3 ); + + + v2rho2_aa = 0.2e1 * t115 + 0.2e1 * t131 + t6 * ( t246 + t273 ); + v2rho2_bb = 0.2e1 * t144 + 0.2e1 * t168 + t6 * ( t349 + t391 ); + v2rhosigma_a_aa = t6 * t411 + t176; + v2rhosigma_b_bb = t6 * t440 + t181; + v2sigma2_aa_aa = t6 * t450; + v2sigma2_bb_bb = t6 * t458; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t100 = kappa * kappa; + constexpr double t171 = t28 * t33; + constexpr double t223 = mu * mu; + constexpr double t225 = t28 * t28; + constexpr double t228 = 0.1e1 / t31 / t30; + constexpr double t442 = t225 * t228; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t34 = t33 * sigma_aa; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t43 = kappa + t29 * t34 * t39 / 0.24e2; + const double t48 = 0.1e1 + kappa * ( 0.1e1 - kappa / t43 ); + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = t33 * sigma_bb; + const double t64 = rho_b * rho_b; + const double t65 = safe_math::cbrt( rho_b ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t64; + const double t72 = kappa + t29 * t63 * t68 / 0.24e2; + const double t77 = 0.1e1 + kappa * ( 0.1e1 - kappa / t72 ); + const double t81 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t77 ); + const double t82 = t6 * t6; + const double t83 = 0.1e1 / t82; + const double t84 = t16 * t83; + const double t86 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t84 ); + const double t89 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t86 ); + const double t90 = t89 * t26; + const double t94 = t26 * t26; + const double t95 = 0.1e1 / t94; + const double t96 = t25 * t95; + const double t99 = t5 * t96 * t48 / 0.8e1; + const double t101 = t27 * t100; + const double t102 = t5 * t101; + const double t103 = t43 * t43; + const double t105 = 0.1e1 / t103 * mu; + const double t106 = t105 * t28; + const double t107 = t35 * rho_a; + const double t109 = 0.1e1 / t37 / t107; + const double t111 = t106 * t34 * t109; + const double t115 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t90 * t48 - t99 + t102 * t111 / 0.24e2 ); + const double t116 = t54 * t83; + const double t118 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t116 ); + const double t121 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t118 ); + const double t122 = t121 * t26; + const double t126 = t61 * t95; + const double t129 = t5 * t126 * t77 / 0.8e1; + const double t131 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t122 * t77 - t129 ); + const double t135 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t84 ); + const double t138 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t135 ); + const double t139 = t138 * t26; + const double t144 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t139 * t48 - t99 ); + const double t146 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t116 ); + const double t149 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t146 ); + const double t150 = t149 * t26; + const double t154 = t62 * t100; + const double t155 = t5 * t154; + const double t156 = t72 * t72; + const double t158 = 0.1e1 / t156 * mu; + const double t159 = t158 * t28; + const double t160 = t64 * rho_b; + const double t162 = 0.1e1 / t66 / t160; + const double t164 = t159 * t63 * t162; + const double t168 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t150 * t77 - t129 + t155 * t164 / 0.24e2 ); + const double t173 = t105 * t171 * t39; + const double t176 = piecewise_functor_3( t1, 0.0, -t102 * t173 / 0.64e2 ); + const double t178 = t158 * t171 * t68; + const double t181 = piecewise_functor_3( t53, 0.0, -t155 * t178 / 0.64e2 ); + const double t184 = t23 * t23; + const double t185 = 0.1e1 / t184; + const double t186 = t86 * t86; + const double t189 = t82 * t6; + const double t190 = 0.1e1 / t189; + const double t191 = t16 * t190; + const double t194 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t83 + 0.2e1 * t191 ); + const double t198 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t186 + 0.4e1 / 0.3e1 * t23 * t194 ); + const double t199 = t198 * t26; + const double t203 = t89 * t95; + const double t205 = t5 * t203 * t48; + const double t208 = t5 * t90 * t100; + const double t212 = 0.1e1 / t94 / t6; + const double t213 = t25 * t212; + const double t216 = t5 * t213 * t48 / 0.12e2; + const double t218 = t5 * t96 * t100; + const double t219 = t218 * t111; + const double t224 = 0.1e1 / t103 / t43 * t223; + const double t226 = t224 * t225; + const double t229 = sigma_aa * sigma_aa; + const double t230 = t228 * t229; + const double t231 = t35 * t35; + const double t234 = 0.1e1 / t36 / t231 / t107; + const double t236 = t226 * t230 * t234; + const double t240 = 0.1e1 / t37 / t231; + const double t242 = t106 * t34 * t240; + const double t246 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t199 * t48 - t205 / 0.4e1 + t208 * t111 / 0.12e2 + t216 + t219 / 0.36e2 + t102 * t236 / 0.108e3 - 0.11e2 / 0.72e2 * t102 * t242 ); + const double t247 = t59 * t59; + const double t248 = 0.1e1 / t247; + const double t249 = t118 * t118; + const double t252 = t54 * t190; + const double t255 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t83 + 0.2e1 * t252 ); + const double t259 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t249 + 0.4e1 / 0.3e1 * t59 * t255 ); + const double t260 = t259 * t26; + const double t264 = t121 * t95; + const double t266 = t5 * t264 * t77; + const double t268 = t61 * t212; + const double t271 = t5 * t268 * t77 / 0.12e2; + const double t273 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t260 * t77 - t266 / 0.4e1 + t271 ); + const double t289 = t138 * t95; + const double t291 = t5 * t289 * t48; + const double t314 = t149 * t95; + const double t316 = t5 * t314 * t77; + const double t324 = t5 * t126 * t100; + const double t325 = t324 * t164; + const double t333 = t135 * t135; + const double t338 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t83 + 0.2e1 * t191 ); + const double t342 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t185 * t333 + 0.4e1 / 0.3e1 * t23 * t338 ); + const double t343 = t342 * t26; + const double t349 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t343 * t48 - t291 / 0.4e1 + t216 ); + const double t350 = t146 * t146; + const double t355 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t83 + 0.2e1 * t252 ); + const double t359 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t248 * t350 + 0.4e1 / 0.3e1 * t59 * t355 ); + const double t360 = t359 * t26; + const double t366 = t5 * t150 * t100; + const double t372 = 0.1e1 / t156 / t72 * t223; + const double t373 = t372 * t225; + const double t374 = sigma_bb * sigma_bb; + const double t375 = t228 * t374; + const double t376 = t64 * t64; + const double t379 = 0.1e1 / t65 / t376 / t160; + const double t381 = t373 * t375 * t379; + const double t385 = 0.1e1 / t66 / t376; + const double t387 = t159 * t63 * t385; + const double t391 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t360 * t77 - t316 / 0.4e1 + t366 * t164 / 0.12e2 + t271 + t325 / 0.36e2 + t155 * t381 / 0.108e3 - 0.11e2 / 0.72e2 * t155 * t387 ); + const double t397 = t218 * t173 / 0.192e3; + const double t398 = t231 * t35; + const double t400 = 0.1e1 / t36 / t398; + const double t403 = t226 * t228 * t400 * sigma_aa; + const double t407 = t105 * t171 * t109; + const double t411 = piecewise_functor_3( t1, 0.0, -t208 * t173 / 0.64e2 - t397 - t102 * t403 / 0.288e3 + t102 * t407 / 0.24e2 ); + const double t416 = t324 * t178 / 0.192e3; + const double t427 = t376 * t64; + const double t429 = 0.1e1 / t65 / t427; + const double t432 = t373 * t228 * t429 * sigma_bb; + const double t436 = t158 * t171 * t162; + const double t440 = piecewise_functor_3( t53, 0.0, -t366 * t178 / 0.64e2 - t416 - t155 * t432 / 0.288e3 + t155 * t436 / 0.24e2 ); + const double t443 = t231 * rho_a; + const double t447 = t224 * t442 / t36 / t443; + const double t450 = piecewise_functor_3( t1, 0.0, t102 * t447 / 0.768e3 ); + const double t451 = t376 * rho_b; + const double t455 = t372 * t442 / t65 / t451; + const double t458 = piecewise_functor_3( t53, 0.0, t155 * t455 / 0.768e3 ); + + + vrho_a = t52 + t81 + t6 * ( t115 + t131 ); + vrho_b = t52 + t81 + t6 * ( t144 + t168 ); + vsigma_aa = t6 * t176; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t181; + v2rho2_aa = 0.2e1 * t115 + 0.2e1 * t131 + t6 * ( t246 + t273 ); + v2rho2_bb = 0.2e1 * t144 + 0.2e1 * t168 + t6 * ( t349 + t391 ); + v2rhosigma_a_aa = t6 * t411 + t176; + v2rhosigma_b_bb = t6 * t440 + t181; + v2sigma2_aa_aa = t6 * t450; + v2sigma2_bb_bb = t6 * t458; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + }; @@ -310,4 +921,4 @@ struct BuiltinRevPBE_X : detail::BuiltinKernelImpl< BuiltinRevPBE_X > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/revtpss_c.hpp b/include/exchcxx/impl/builtin/kernels/revtpss_c.hpp new file mode 100644 index 0000000..df0d22e --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/revtpss_c.hpp @@ -0,0 +1,15329 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinRevTPSS_C > : + public mgga_screening_interface< BuiltinRevTPSS_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-13; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 4.641588833612789e-18; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double d = 2.8; + static constexpr double C0_c_0 = 0.59; + static constexpr double C0_c_1 = 0.9269; + static constexpr double C0_c_2 = 0.6225; + static constexpr double C0_c_3 = 2.1540; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t176 = 0.1e1 / t77; + constexpr double t177 = t176 * t79; + constexpr double t202 = 0.1e1 / t92; + constexpr double t203 = t41 * t202; + constexpr double t204 = t203 * t80; + constexpr double t225 = t78 * t80; + constexpr double t238 = t93 * t79; + constexpr double t324 = t80 * t16; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 + 0.25e-1 * t83; + const double t167 = 0.1e1 + 0.4445e-1 * t83; + const double t168 = 0.1e1 / t167; + const double t169 = t165 * t168; + const double t171 = 0.1e1 / t20 / t19; + const double t172 = sigma * t171; + const double t173 = t172 * t16; + const double t174 = 0.1e1 / t162; + const double t178 = t174 * t91 * t177; + const double t181 = 0.1e1 / t152; + const double t182 = 0.19751673498613801407e-1 * t149; + const double t185 = 0.1e1 / t163; + const double t186 = t42 * t185; + const double t188 = safe_math::exp( -( -t130 + t146 + t182 ) * t181 * t186 ); + const double t189 = t188 - 0.1e1; + const double t190 = 0.1e1 / t189; + const double t191 = t181 * t190; + const double t192 = sigma * sigma; + const double t193 = t191 * t192; + const double t194 = t169 * t193; + const double t195 = t19 * t19; + const double t197 = 0.1e1 / t21 / t195; + const double t198 = t197 * t17; + const double t199 = t162 * t162; + const double t200 = 0.1e1 / t199; + const double t201 = t198 * t200; + const double t205 = t201 * t204; + const double t208 = t173 * t178 / 0.96e2 + 0.21437009059034868486e-3 * t194 * t205; + const double t209 = t208 * t181; + const double t210 = t191 * t208; + const double t213 = 0.1e1 + 0.65854491829355115987e0 * t169 * t210; + const double t214 = 0.1e1 / t213; + const double t215 = t209 * t214; + const double t218 = 0.1e1 + 0.65854491829355115987e0 * t169 * t215; + const double t219 = safe_math::log( t218 ); + const double t221 = t154 * t163 * t219; + const double t223 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t221 / 0.2e1; + const double t224 = -t130 + t146 + t182 + t221; + const double t226 = t81 * t16; + const double t227 = 0.1e1 / t24; + const double t228 = safe_math::cbrt( t227 ); + const double t230 = t225 * t226 * t228; + const double t232 = 0.1e1 + 0.53425e-1 * t230; + const double t233 = safe_math::sqrt( t230 ); + const double t236 = pow_3_2( t230 ); + const double t239 = t94 * t17; + const double t240 = t228 * t228; + const double t242 = t238 * t239 * t240; + const double t244 = 0.379785e1 * t233 + 0.8969e0 * t230 + 0.204775e0 * t236 + 0.123235e0 * t242; + const double t247 = 0.1e1 + 0.16081979498692535067e2 / t244; + const double t248 = safe_math::log( t247 ); + const double t250 = 0.621814e-1 * t232 * t248; + const double t251 = 0.2e1 <= zeta_tol; + const double t253 = piecewise_functor_3( t251, t108, 0.2e1 * t16 ); + const double t254 = 0.e0 <= zeta_tol; + const double t255 = piecewise_functor_3( t254, t108, 0.0 ); + const double t257 = ( t253 + t255 - 0.2e1 ) * t116; + const double t259 = 0.1e1 + 0.5137e-1 * t230; + const double t264 = 0.705945e1 * t233 + 0.1549425e1 * t230 + 0.420775e0 * t236 + 0.1562925e0 * t242; + const double t267 = 0.1e1 + 0.32163958997385070134e2 / t264; + const double t268 = safe_math::log( t267 ); + const double t272 = 0.1e1 + 0.278125e-1 * t230; + const double t277 = 0.51785e1 * t233 + 0.905775e0 * t230 + 0.1100325e0 * t236 + 0.1241775e0 * t242; + const double t280 = 0.1e1 + 0.29608749977793437516e2 / t277; + const double t281 = safe_math::log( t280 ); + const double t282 = t272 * t281; + const double t285 = t257 * ( -0.310907e-1 * t259 * t268 + t250 - 0.19751673498613801407e-1 * t282 ); + const double t287 = 0.19751673498613801407e-1 * t257 * t282; + const double t288 = piecewise_functor_3( t251, t155, t17 ); + const double t289 = piecewise_functor_3( t254, t155, 0.0 ); + const double t291 = t288 / 0.2e1 + t289 / 0.2e1; + const double t292 = t291 * t291; + const double t293 = t292 * t291; + const double t295 = 0.1e1 + 0.25e-1 * t230; + const double t297 = 0.1e1 + 0.4445e-1 * t230; + const double t298 = 0.1e1 / t297; + const double t299 = t295 * t298; + const double t300 = 0.1e1 / t292; + const double t301 = t300 * t91; + const double t302 = t172 * t301; + const double t303 = 0.1e1 / t228; + const double t304 = t17 * t303; + const double t305 = t177 * t304; + const double t308 = t299 * t181; + const double t311 = 0.1e1 / t293; + const double t312 = t42 * t311; + const double t314 = safe_math::exp( -( -t250 + t285 + t287 ) * t181 * t312 ); + const double t315 = t314 - 0.1e1; + const double t316 = 0.1e1 / t315; + const double t317 = t316 * t192; + const double t320 = t292 * t292; + const double t321 = 0.1e1 / t320; + const double t322 = t321 * t41; + const double t323 = t322 * t202; + const double t325 = 0.1e1 / t240; + const double t327 = t323 * t324 * t325; + const double t330 = t302 * t305 / 0.96e2 + 0.42874018118069736972e-3 * t308 * t317 * t197 * t327; + const double t331 = t330 * t181; + const double t332 = t181 * t316; + const double t333 = t332 * t330; + const double t336 = 0.1e1 + 0.65854491829355115987e0 * t299 * t333; + const double t337 = 0.1e1 / t336; + const double t338 = t331 * t337; + const double t341 = 0.1e1 + 0.65854491829355115987e0 * t299 * t338; + const double t342 = safe_math::log( t341 ); + const double t345 = t154 * t293 * t342 - t250 + t285 + t287; + const double t346 = t224 < t345; + const double t347 = piecewise_functor_3( t346, t345, t224 ); + const double t350 = piecewise_functor_3( t75, t223, t347 * t24 / 0.2e1 ); + const double t351 = 0.1e1 / t31; + const double t352 = safe_math::cbrt( t351 ); + const double t354 = t225 * t226 * t352; + const double t356 = 0.1e1 + 0.53425e-1 * t354; + const double t357 = safe_math::sqrt( t354 ); + const double t360 = pow_3_2( t354 ); + const double t362 = t352 * t352; + const double t364 = t238 * t239 * t362; + const double t366 = 0.379785e1 * t357 + 0.8969e0 * t354 + 0.204775e0 * t360 + 0.123235e0 * t364; + const double t369 = 0.1e1 + 0.16081979498692535067e2 / t366; + const double t370 = safe_math::log( t369 ); + const double t372 = 0.621814e-1 * t356 * t370; + const double t374 = 0.1e1 + 0.5137e-1 * t354; + const double t379 = 0.705945e1 * t357 + 0.1549425e1 * t354 + 0.420775e0 * t360 + 0.1562925e0 * t364; + const double t382 = 0.1e1 + 0.32163958997385070134e2 / t379; + const double t383 = safe_math::log( t382 ); + const double t387 = 0.1e1 + 0.278125e-1 * t354; + const double t392 = 0.51785e1 * t357 + 0.905775e0 * t354 + 0.1100325e0 * t360 + 0.1241775e0 * t364; + const double t395 = 0.1e1 + 0.29608749977793437516e2 / t392; + const double t396 = safe_math::log( t395 ); + const double t397 = t387 * t396; + const double t400 = t257 * ( -0.310907e-1 * t374 * t383 + t372 - 0.19751673498613801407e-1 * t397 ); + const double t402 = 0.19751673498613801407e-1 * t257 * t397; + const double t404 = 0.1e1 + 0.25e-1 * t354; + const double t406 = 0.1e1 + 0.4445e-1 * t354; + const double t407 = 0.1e1 / t406; + const double t408 = t404 * t407; + const double t409 = 0.1e1 / t352; + const double t410 = t17 * t409; + const double t411 = t177 * t410; + const double t414 = t408 * t181; + const double t418 = safe_math::exp( -( -t372 + t400 + t402 ) * t181 * t312 ); + const double t419 = t418 - 0.1e1; + const double t420 = 0.1e1 / t419; + const double t421 = t420 * t192; + const double t424 = 0.1e1 / t362; + const double t426 = t323 * t324 * t424; + const double t429 = t302 * t411 / 0.96e2 + 0.42874018118069736972e-3 * t414 * t421 * t197 * t426; + const double t430 = t429 * t181; + const double t431 = t181 * t420; + const double t432 = t431 * t429; + const double t435 = 0.1e1 + 0.65854491829355115987e0 * t408 * t432; + const double t436 = 0.1e1 / t435; + const double t437 = t430 * t436; + const double t440 = 0.1e1 + 0.65854491829355115987e0 * t408 * t437; + const double t441 = safe_math::log( t440 ); + const double t444 = t154 * t293 * t441 - t372 + t400 + t402; + const double t445 = t224 < t444; + const double t446 = piecewise_functor_3( t445, t444, t224 ); + const double t449 = piecewise_functor_3( t75, t223, t446 * t31 / 0.2e1 ); + const double t450 = t350 + t449; + const double t453 = t62 * t71 + 0.1e1; + const double t454 = piecewise_functor_3( t10, t108, 1.0 ); + const double t457 = ( 0.2e1 * t454 - 0.2e1 ) * t116; + const double t459 = 0.19751673498613801407e-1 * t457 * t142; + const double t460 = piecewise_functor_3( t10, t155, 1.0 ); + const double t461 = t460 * t460; + const double t462 = t461 * t460; + const double t463 = 0.1e1 / t461; + const double t465 = t463 * t91 * t177; + const double t470 = 0.1e1 / t462; + const double t471 = t42 * t470; + const double t473 = safe_math::exp( -( -t130 + t459 ) * t181 * t471 ); + const double t474 = t473 - 0.1e1; + const double t475 = 0.1e1 / t474; + const double t476 = t181 * t475; + const double t477 = t476 * t192; + const double t478 = t169 * t477; + const double t479 = t461 * t461; + const double t480 = 0.1e1 / t479; + const double t481 = t198 * t480; + const double t482 = t481 * t204; + const double t485 = t173 * t465 / 0.96e2 + 0.21437009059034868486e-3 * t478 * t482; + const double t486 = t485 * t181; + const double t487 = t476 * t485; + const double t490 = 0.1e1 + 0.65854491829355115987e0 * t169 * t487; + const double t491 = 0.1e1 / t490; + const double t492 = t486 * t491; + const double t495 = 0.1e1 + 0.65854491829355115987e0 * t169 * t492; + const double t496 = safe_math::log( t495 ); + const double t499 = t154 * t462 * t496 - t130 + t459; + const double t501 = -t72 * t450 + t453 * t499; + const double t502 = d * t501; + const double t503 = t71 * t70; + const double t505 = t502 * t503 + 0.1e1; + + + eps = t501 * t505; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t176 = 0.1e1 / t77; + constexpr double t177 = t176 * t79; + constexpr double t202 = 0.1e1 / t92; + constexpr double t203 = t41 * t202; + constexpr double t204 = t203 * t80; + constexpr double t225 = t78 * t80; + constexpr double t238 = t93 * t79; + constexpr double t324 = t80 * t16; + constexpr double t548 = t77 * t80; + constexpr double t633 = t91 * t176; + constexpr double t647 = t633 * t79; + constexpr double t824 = t79 * t17; + constexpr double t838 = t203 * t324; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 + 0.25e-1 * t83; + const double t167 = 0.1e1 + 0.4445e-1 * t83; + const double t168 = 0.1e1 / t167; + const double t169 = t165 * t168; + const double t171 = 0.1e1 / t20 / t19; + const double t172 = sigma * t171; + const double t173 = t172 * t16; + const double t174 = 0.1e1 / t162; + const double t178 = t174 * t91 * t177; + const double t181 = 0.1e1 / t152; + const double t182 = 0.19751673498613801407e-1 * t149; + const double t185 = 0.1e1 / t163; + const double t186 = t42 * t185; + const double t188 = safe_math::exp( -( -t130 + t146 + t182 ) * t181 * t186 ); + const double t189 = t188 - 0.1e1; + const double t190 = 0.1e1 / t189; + const double t191 = t181 * t190; + const double t192 = sigma * sigma; + const double t193 = t191 * t192; + const double t194 = t169 * t193; + const double t195 = t19 * t19; + const double t197 = 0.1e1 / t21 / t195; + const double t198 = t197 * t17; + const double t199 = t162 * t162; + const double t200 = 0.1e1 / t199; + const double t201 = t198 * t200; + const double t205 = t201 * t204; + const double t208 = t173 * t178 / 0.96e2 + 0.21437009059034868486e-3 * t194 * t205; + const double t209 = t208 * t181; + const double t210 = t191 * t208; + const double t213 = 0.1e1 + 0.65854491829355115987e0 * t169 * t210; + const double t214 = 0.1e1 / t213; + const double t215 = t209 * t214; + const double t218 = 0.1e1 + 0.65854491829355115987e0 * t169 * t215; + const double t219 = safe_math::log( t218 ); + const double t221 = t154 * t163 * t219; + const double t223 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t221 / 0.2e1; + const double t224 = -t130 + t146 + t182 + t221; + const double t226 = t81 * t16; + const double t227 = 0.1e1 / t24; + const double t228 = safe_math::cbrt( t227 ); + const double t230 = t225 * t226 * t228; + const double t232 = 0.1e1 + 0.53425e-1 * t230; + const double t233 = safe_math::sqrt( t230 ); + const double t236 = pow_3_2( t230 ); + const double t239 = t94 * t17; + const double t240 = t228 * t228; + const double t242 = t238 * t239 * t240; + const double t244 = 0.379785e1 * t233 + 0.8969e0 * t230 + 0.204775e0 * t236 + 0.123235e0 * t242; + const double t247 = 0.1e1 + 0.16081979498692535067e2 / t244; + const double t248 = safe_math::log( t247 ); + const double t250 = 0.621814e-1 * t232 * t248; + const double t251 = 0.2e1 <= zeta_tol; + const double t253 = piecewise_functor_3( t251, t108, 0.2e1 * t16 ); + const double t254 = 0.e0 <= zeta_tol; + const double t255 = piecewise_functor_3( t254, t108, 0.0 ); + const double t257 = ( t253 + t255 - 0.2e1 ) * t116; + const double t259 = 0.1e1 + 0.5137e-1 * t230; + const double t264 = 0.705945e1 * t233 + 0.1549425e1 * t230 + 0.420775e0 * t236 + 0.1562925e0 * t242; + const double t267 = 0.1e1 + 0.32163958997385070134e2 / t264; + const double t268 = safe_math::log( t267 ); + const double t272 = 0.1e1 + 0.278125e-1 * t230; + const double t277 = 0.51785e1 * t233 + 0.905775e0 * t230 + 0.1100325e0 * t236 + 0.1241775e0 * t242; + const double t280 = 0.1e1 + 0.29608749977793437516e2 / t277; + const double t281 = safe_math::log( t280 ); + const double t282 = t272 * t281; + const double t285 = t257 * ( -0.310907e-1 * t259 * t268 + t250 - 0.19751673498613801407e-1 * t282 ); + const double t287 = 0.19751673498613801407e-1 * t257 * t282; + const double t288 = piecewise_functor_3( t251, t155, t17 ); + const double t289 = piecewise_functor_3( t254, t155, 0.0 ); + const double t291 = t288 / 0.2e1 + t289 / 0.2e1; + const double t292 = t291 * t291; + const double t293 = t292 * t291; + const double t295 = 0.1e1 + 0.25e-1 * t230; + const double t297 = 0.1e1 + 0.4445e-1 * t230; + const double t298 = 0.1e1 / t297; + const double t299 = t295 * t298; + const double t300 = 0.1e1 / t292; + const double t301 = t300 * t91; + const double t302 = t172 * t301; + const double t303 = 0.1e1 / t228; + const double t304 = t17 * t303; + const double t305 = t177 * t304; + const double t308 = t299 * t181; + const double t311 = 0.1e1 / t293; + const double t312 = t42 * t311; + const double t314 = safe_math::exp( -( -t250 + t285 + t287 ) * t181 * t312 ); + const double t315 = t314 - 0.1e1; + const double t316 = 0.1e1 / t315; + const double t317 = t316 * t192; + const double t320 = t292 * t292; + const double t321 = 0.1e1 / t320; + const double t322 = t321 * t41; + const double t323 = t322 * t202; + const double t325 = 0.1e1 / t240; + const double t327 = t323 * t324 * t325; + const double t330 = t302 * t305 / 0.96e2 + 0.42874018118069736972e-3 * t308 * t317 * t197 * t327; + const double t331 = t330 * t181; + const double t332 = t181 * t316; + const double t333 = t332 * t330; + const double t336 = 0.1e1 + 0.65854491829355115987e0 * t299 * t333; + const double t337 = 0.1e1 / t336; + const double t338 = t331 * t337; + const double t341 = 0.1e1 + 0.65854491829355115987e0 * t299 * t338; + const double t342 = safe_math::log( t341 ); + const double t345 = t154 * t293 * t342 - t250 + t285 + t287; + const double t346 = t224 < t345; + const double t347 = piecewise_functor_3( t346, t345, t224 ); + const double t350 = piecewise_functor_3( t75, t223, t347 * t24 / 0.2e1 ); + const double t351 = 0.1e1 / t31; + const double t352 = safe_math::cbrt( t351 ); + const double t354 = t225 * t226 * t352; + const double t356 = 0.1e1 + 0.53425e-1 * t354; + const double t357 = safe_math::sqrt( t354 ); + const double t360 = pow_3_2( t354 ); + const double t362 = t352 * t352; + const double t364 = t238 * t239 * t362; + const double t366 = 0.379785e1 * t357 + 0.8969e0 * t354 + 0.204775e0 * t360 + 0.123235e0 * t364; + const double t369 = 0.1e1 + 0.16081979498692535067e2 / t366; + const double t370 = safe_math::log( t369 ); + const double t372 = 0.621814e-1 * t356 * t370; + const double t374 = 0.1e1 + 0.5137e-1 * t354; + const double t379 = 0.705945e1 * t357 + 0.1549425e1 * t354 + 0.420775e0 * t360 + 0.1562925e0 * t364; + const double t382 = 0.1e1 + 0.32163958997385070134e2 / t379; + const double t383 = safe_math::log( t382 ); + const double t387 = 0.1e1 + 0.278125e-1 * t354; + const double t392 = 0.51785e1 * t357 + 0.905775e0 * t354 + 0.1100325e0 * t360 + 0.1241775e0 * t364; + const double t395 = 0.1e1 + 0.29608749977793437516e2 / t392; + const double t396 = safe_math::log( t395 ); + const double t397 = t387 * t396; + const double t400 = t257 * ( -0.310907e-1 * t374 * t383 + t372 - 0.19751673498613801407e-1 * t397 ); + const double t402 = 0.19751673498613801407e-1 * t257 * t397; + const double t404 = 0.1e1 + 0.25e-1 * t354; + const double t406 = 0.1e1 + 0.4445e-1 * t354; + const double t407 = 0.1e1 / t406; + const double t408 = t404 * t407; + const double t409 = 0.1e1 / t352; + const double t410 = t17 * t409; + const double t411 = t177 * t410; + const double t414 = t408 * t181; + const double t418 = safe_math::exp( -( -t372 + t400 + t402 ) * t181 * t312 ); + const double t419 = t418 - 0.1e1; + const double t420 = 0.1e1 / t419; + const double t421 = t420 * t192; + const double t424 = 0.1e1 / t362; + const double t426 = t323 * t324 * t424; + const double t429 = t302 * t411 / 0.96e2 + 0.42874018118069736972e-3 * t414 * t421 * t197 * t426; + const double t430 = t429 * t181; + const double t431 = t181 * t420; + const double t432 = t431 * t429; + const double t435 = 0.1e1 + 0.65854491829355115987e0 * t408 * t432; + const double t436 = 0.1e1 / t435; + const double t437 = t430 * t436; + const double t440 = 0.1e1 + 0.65854491829355115987e0 * t408 * t437; + const double t441 = safe_math::log( t440 ); + const double t444 = t154 * t293 * t441 - t372 + t400 + t402; + const double t445 = t224 < t444; + const double t446 = piecewise_functor_3( t445, t444, t224 ); + const double t449 = piecewise_functor_3( t75, t223, t446 * t31 / 0.2e1 ); + const double t450 = t350 + t449; + const double t453 = t62 * t71 + 0.1e1; + const double t454 = piecewise_functor_3( t10, t108, 1.0 ); + const double t457 = ( 0.2e1 * t454 - 0.2e1 ) * t116; + const double t459 = 0.19751673498613801407e-1 * t457 * t142; + const double t460 = piecewise_functor_3( t10, t155, 1.0 ); + const double t461 = t460 * t460; + const double t462 = t461 * t460; + const double t463 = 0.1e1 / t461; + const double t465 = t463 * t91 * t177; + const double t470 = 0.1e1 / t462; + const double t471 = t42 * t470; + const double t473 = safe_math::exp( -( -t130 + t459 ) * t181 * t471 ); + const double t474 = t473 - 0.1e1; + const double t475 = 0.1e1 / t474; + const double t476 = t181 * t475; + const double t477 = t476 * t192; + const double t478 = t169 * t477; + const double t479 = t461 * t461; + const double t480 = 0.1e1 / t479; + const double t481 = t198 * t480; + const double t482 = t481 * t204; + const double t485 = t173 * t465 / 0.96e2 + 0.21437009059034868486e-3 * t478 * t482; + const double t486 = t485 * t181; + const double t487 = t476 * t485; + const double t490 = 0.1e1 + 0.65854491829355115987e0 * t169 * t487; + const double t491 = 0.1e1 / t490; + const double t492 = t486 * t491; + const double t495 = 0.1e1 + 0.65854491829355115987e0 * t169 * t492; + const double t496 = safe_math::log( t495 ); + const double t499 = t154 * t462 * t496 - t130 + t459; + const double t501 = -t72 * t450 + t453 * t499; + const double t502 = d * t501; + const double t503 = t71 * t70; + const double t505 = t502 * t503 + 0.1e1; + const double t509 = t5 / t59 / t57 * t15; + const double t510 = t19 * rho; + const double t512 = 0.1e1 / t21 / t510; + const double t519 = -0.8e1 / 0.3e1 * t18 * t512 * t28 - 0.8e1 / 0.3e1 * t18 * t512 * t35 + 0.8e1 / 0.3e1 * sigma * t512; + const double t520 = t519 * t41; + const double t521 = t45 * t53; + const double t525 = piecewise_functor_3( t4, 0.0, -t509 * t520 * t521 / 0.6e1 ); + const double t526 = t525 * t71; + const double t528 = t63 * t70; + const double t529 = 0.1e1 / t19; + const double t530 = sigma * t529; + const double t533 = piecewise_functor_3( t69, 0.0, -t530 * t66 / 0.8e1 ); + const double t534 = t450 * t533; + const double t538 = 0.1e1 / t20 / rho; + const double t539 = t80 * t538; + const double t541 = t78 * t539 * t102; + const double t543 = t98 * t98; + const double t544 = 0.1e1 / t543; + const double t545 = t85 * t544; + const double t547 = 0.1e1 / t86 * t41; + const double t549 = t548 * t538; + const double t550 = t547 * t549; + const double t552 = t78 * t539; + const double t554 = safe_math::sqrt( t83 ); + const double t555 = t554 * t41; + const double t556 = t555 * t549; + const double t559 = 0.1e1 / t21 / rho; + const double t561 = t93 * t79 * t559; + const double t563 = -0.632975e0 * t550 - 0.29896666666666666667e0 * t552 - 0.1023875e0 * t556 - 0.82156666666666666667e-1 * t561; + const double t564 = 0.1e1 / t101; + const double t565 = t563 * t564; + const double t566 = t545 * t565; + const double t571 = t123 * t123; + const double t572 = 0.1e1 / t571; + const double t573 = t118 * t572; + const double t578 = -0.1176575e1 * t550 - 0.516475e0 * t552 - 0.2103875e0 * t556 - 0.104195e0 * t561; + const double t579 = 0.1e1 / t126; + const double t580 = t578 * t579; + const double t583 = 0.11073470983333333333e-2 * t541; + const double t584 = 0.1e1 * t566; + const double t588 = t137 * t137; + const double t589 = 0.1e1 / t588; + const double t590 = t132 * t589; + const double t595 = -0.86308333333333333334e0 * t550 - 0.301925e0 * t552 - 0.5501625e-1 * t556 - 0.82785e-1 * t561; + const double t596 = 0.1e1 / t140; + const double t597 = t595 * t596; + const double t602 = t113 * t116 * ( 0.53237641966666666666e-3 * t78 * t539 * t127 + 0.1e1 * t573 * t580 - t583 - t584 + 0.18311447306006545054e-3 * t78 * t539 * t141 + 0.5848223622634646207e0 * t590 * t597 ); + const double t604 = t148 * t41; + const double t606 = t548 * t538 * t141; + const double t607 = t604 * t606; + const double t609 = t148 * t132; + const double t611 = t589 * t595 * t596; + const double t612 = t609 * t611; + const double t614 = t168 * t208; + const double t615 = t181 * t214; + const double t616 = t614 * t615; + const double t619 = t167 * t167; + const double t620 = 0.1e1 / t619; + const double t621 = t165 * t620; + const double t622 = t621 * t209; + const double t623 = t214 * t41; + const double t624 = t623 * t549; + const double t628 = 0.1e1 / t20 / t510; + const double t629 = sigma * t628; + const double t630 = t629 * t16; + const double t634 = t195 * t19; + const double t635 = 0.1e1 / t634; + const double t636 = t79 * t635; + const double t638 = t633 * t636 * t168; + const double t639 = t192 * t17; + const double t641 = t191 * t639 * t200; + const double t644 = t621 * t193; + const double t645 = t635 * t17; + const double t646 = t645 * t200; + const double t648 = t646 * t647; + const double t651 = t152 * t152; + const double t652 = 0.1e1 / t651; + const double t653 = t169 * t652; + const double t654 = t189 * t189; + const double t655 = 0.1e1 / t654; + const double t656 = t655 * t192; + const double t657 = t656 * t198; + const double t658 = t653 * t657; + const double t660 = 0.1e1 / t199 / t163; + const double t661 = t660 * t41; + const double t662 = t661 * t202; + const double t663 = 0.18311447306006545054e-3 * t607; + const double t664 = 0.5848223622634646207e0 * t612; + const double t665 = t583 + t584 + t602 - t663 - t664; + const double t667 = t42 * t188; + const double t668 = t80 * t665 * t667; + const double t669 = t662 * t668; + const double t672 = t195 * rho; + const double t674 = 0.1e1 / t21 / t672; + const double t675 = t674 * t17; + const double t676 = t675 * t200; + const double t677 = t676 * t204; + const double t680 = -0.7e1 / 0.288e3 * t630 * t178 - 0.71456696863449561619e-5 * t638 * t641 + 0.12705000702321332056e-4 * t644 * t648 + 0.21437009059034868486e-3 * t658 * t669 - 0.10003937560882938627e-2 * t194 * t677; + const double t681 = t680 * t181; + const double t682 = t681 * t214; + const double t685 = t169 * t208; + const double t686 = t213 * t213; + const double t687 = 0.1e1 / t686; + const double t688 = t181 * t687; + const double t689 = t168 * t181; + const double t690 = t190 * t208; + const double t691 = t689 * t690; + const double t694 = t621 * t191; + const double t695 = t208 * t41; + const double t699 = t652 * t655; + const double t700 = t169 * t699; + const double t701 = t208 * t665; + const double t702 = t186 * t188; + const double t703 = t701 * t702; + const double t706 = t191 * t680; + const double t709 = -0.54878743191129263322e-2 * t552 * t691 + 0.9757440539382783019e-2 * t694 * t695 * t549 + 0.65854491829355115987e0 * t700 * t703 + 0.65854491829355115987e0 * t169 * t706; + const double t710 = t688 * t709; + const double t713 = -0.54878743191129263322e-2 * t552 * t616 + 0.9757440539382783019e-2 * t622 * t624 + 0.65854491829355115987e0 * t169 * t682 - 0.65854491829355115987e0 * t685 * t710; + const double t715 = 0.1e1 / t218; + const double t717 = t154 * t163 * t713 * t715; + const double t719 = 0.55367354916666666666e-3 * t541 + 0.50000000000000000001e0 * t566 + t602 / 0.2e1 - 0.91557236530032725272e-4 * t607 - 0.29241118113173231035e0 * t612 + t717 / 0.2e1; + const double t720 = t538 * t16; + const double t721 = t228 * t248; + const double t724 = 0.11073470983333333333e-2 * t225 * t720 * t721; + const double t725 = t244 * t244; + const double t726 = 0.1e1 / t725; + const double t727 = t232 * t726; + const double t730 = 0.1e1 / t233 * t41 * t77; + const double t731 = t16 * t228; + const double t732 = t539 * t731; + const double t733 = t730 * t732; + const double t735 = t720 * t228; + const double t736 = t225 * t735; + const double t738 = safe_math::sqrt( t230 ); + const double t740 = t738 * t41 * t77; + const double t741 = t740 * t732; + const double t743 = t559 * t17; + const double t745 = t238 * t743 * t240; + const double t747 = -0.632975e0 * t733 - 0.29896666666666666667e0 * t736 - 0.1023875e0 * t741 - 0.82156666666666666667e-1 * t745; + const double t748 = 0.1e1 / t247; + const double t749 = t747 * t748; + const double t751 = 0.1e1 * t727 * t749; + const double t752 = t228 * t268; + const double t756 = t264 * t264; + const double t757 = 0.1e1 / t756; + const double t758 = t259 * t757; + const double t763 = -0.1176575e1 * t733 - 0.516475e0 * t736 - 0.2103875e0 * t741 - 0.104195e0 * t745; + const double t764 = 0.1e1 / t267; + const double t765 = t763 * t764; + const double t768 = t228 * t281; + const double t772 = t277 * t277; + const double t773 = 0.1e1 / t772; + const double t774 = t272 * t773; + const double t779 = -0.86308333333333333334e0 * t733 - 0.301925e0 * t736 - 0.5501625e-1 * t741 - 0.82785e-1 * t745; + const double t780 = 0.1e1 / t280; + const double t781 = t779 * t780; + const double t785 = t257 * ( 0.53237641966666666666e-3 * t225 * t720 * t752 + 0.1e1 * t758 * t765 - t724 - t751 + 0.18311447306006545054e-3 * t225 * t720 * t768 + 0.5848223622634646207e0 * t774 * t781 ); + const double t786 = t257 * t78; + const double t787 = t731 * t281; + const double t790 = 0.18311447306006545054e-3 * t786 * t539 * t787; + const double t791 = t257 * t272; + const double t793 = t773 * t779 * t780; + const double t795 = 0.5848223622634646207e0 * t791 * t793; + const double t797 = t78 * t539 * t16; + const double t798 = t228 * t298; + const double t799 = t798 * t338; + const double t802 = t297 * t297; + const double t803 = 0.1e1 / t802; + const double t804 = t295 * t803; + const double t805 = t804 * t338; + const double t808 = t629 * t301; + const double t812 = t633 * t636 * t17; + const double t813 = t303 * t298; + const double t814 = t813 * t181; + const double t815 = t317 * t321; + const double t816 = t814 * t815; + const double t819 = t804 * t181; + const double t822 = t321 * t91; + const double t823 = t822 * t176; + const double t826 = t823 * t824 * t303; + const double t829 = t299 * t652; + const double t830 = t315 * t315; + const double t831 = 0.1e1 / t830; + const double t832 = t831 * t192; + const double t834 = 0.1e1 / t320 / t293; + const double t835 = t197 * t834; + const double t837 = t829 * t832 * t835; + const double t839 = t724 + t751 + t785 - t790 - t795; + const double t841 = t42 * t314; + const double t843 = t838 * t325 * t839 * t841; + const double t850 = -0.7e1 / 0.288e3 * t808 * t305 - 0.14291339372689912324e-4 * t812 * t816 + 0.25410001404642664113e-4 * t819 * t317 * t635 * t826 + 0.42874018118069736972e-3 * t837 * t843 - 0.20007875121765877254e-2 * t308 * t317 * t674 * t327; + const double t852 = t850 * t181 * t337; + const double t855 = t299 * t330; + const double t856 = t336 * t336; + const double t857 = 0.1e1 / t856; + const double t858 = t181 * t857; + const double t859 = t798 * t333; + const double t862 = t804 * t333; + const double t865 = t652 * t831; + const double t866 = t299 * t865; + const double t867 = t330 * t839; + const double t868 = t312 * t314; + const double t869 = t867 * t868; + const double t872 = t332 * t850; + const double t875 = -0.54878743191129263322e-2 * t797 * t859 + 0.9757440539382783019e-2 * t862 * t736 + 0.65854491829355115987e0 * t866 * t869 + 0.65854491829355115987e0 * t299 * t872; + const double t876 = t858 * t875; + const double t879 = -0.54878743191129263322e-2 * t797 * t799 + 0.9757440539382783019e-2 * t805 * t736 + 0.65854491829355115987e0 * t299 * t852 - 0.65854491829355115987e0 * t855 * t876; + const double t881 = 0.1e1 / t341; + const double t885 = t583 + t584 + t602 - t663 - t664 + t717; + const double t886 = piecewise_functor_3( t346, t154 * t293 * t879 * t881 + t724 + t751 + t785 - t790 - t795, t885 ); + const double t889 = piecewise_functor_3( t75, t719, t886 * t24 / 0.2e1 ); + const double t890 = t352 * t370; + const double t893 = 0.11073470983333333333e-2 * t225 * t720 * t890; + const double t894 = t366 * t366; + const double t895 = 0.1e1 / t894; + const double t896 = t356 * t895; + const double t899 = 0.1e1 / t357 * t41 * t77; + const double t900 = t16 * t352; + const double t901 = t539 * t900; + const double t902 = t899 * t901; + const double t904 = t720 * t352; + const double t905 = t225 * t904; + const double t907 = safe_math::sqrt( t354 ); + const double t909 = t907 * t41 * t77; + const double t910 = t909 * t901; + const double t913 = t238 * t743 * t362; + const double t915 = -0.632975e0 * t902 - 0.29896666666666666667e0 * t905 - 0.1023875e0 * t910 - 0.82156666666666666667e-1 * t913; + const double t916 = 0.1e1 / t369; + const double t917 = t915 * t916; + const double t919 = 0.1e1 * t896 * t917; + const double t920 = t352 * t383; + const double t924 = t379 * t379; + const double t925 = 0.1e1 / t924; + const double t926 = t374 * t925; + const double t931 = -0.1176575e1 * t902 - 0.516475e0 * t905 - 0.2103875e0 * t910 - 0.104195e0 * t913; + const double t932 = 0.1e1 / t382; + const double t933 = t931 * t932; + const double t936 = t352 * t396; + const double t940 = t392 * t392; + const double t941 = 0.1e1 / t940; + const double t942 = t387 * t941; + const double t947 = -0.86308333333333333334e0 * t902 - 0.301925e0 * t905 - 0.5501625e-1 * t910 - 0.82785e-1 * t913; + const double t948 = 0.1e1 / t395; + const double t949 = t947 * t948; + const double t953 = t257 * ( 0.53237641966666666666e-3 * t225 * t720 * t920 + 0.1e1 * t926 * t933 - t893 - t919 + 0.18311447306006545054e-3 * t225 * t720 * t936 + 0.5848223622634646207e0 * t942 * t949 ); + const double t954 = t900 * t396; + const double t957 = 0.18311447306006545054e-3 * t786 * t539 * t954; + const double t958 = t257 * t387; + const double t960 = t941 * t947 * t948; + const double t962 = 0.5848223622634646207e0 * t958 * t960; + const double t963 = t352 * t407; + const double t964 = t963 * t437; + const double t967 = t406 * t406; + const double t968 = 0.1e1 / t967; + const double t969 = t404 * t968; + const double t970 = t969 * t437; + const double t975 = t409 * t407; + const double t976 = t975 * t181; + const double t977 = t421 * t321; + const double t978 = t976 * t977; + const double t981 = t969 * t181; + const double t985 = t823 * t824 * t409; + const double t988 = t408 * t652; + const double t989 = t419 * t419; + const double t990 = 0.1e1 / t989; + const double t991 = t990 * t192; + const double t993 = t988 * t991 * t835; + const double t994 = t893 + t919 + t953 - t957 - t962; + const double t996 = t42 * t418; + const double t998 = t838 * t424 * t994 * t996; + const double t1005 = -0.7e1 / 0.288e3 * t808 * t411 - 0.14291339372689912324e-4 * t812 * t978 + 0.25410001404642664113e-4 * t981 * t421 * t635 * t985 + 0.42874018118069736972e-3 * t993 * t998 - 0.20007875121765877254e-2 * t414 * t421 * t674 * t426; + const double t1007 = t1005 * t181 * t436; + const double t1010 = t408 * t429; + const double t1011 = t435 * t435; + const double t1012 = 0.1e1 / t1011; + const double t1013 = t181 * t1012; + const double t1014 = t963 * t432; + const double t1017 = t969 * t432; + const double t1020 = t652 * t990; + const double t1021 = t408 * t1020; + const double t1022 = t429 * t994; + const double t1023 = t312 * t418; + const double t1024 = t1022 * t1023; + const double t1027 = t431 * t1005; + const double t1030 = -0.54878743191129263322e-2 * t797 * t1014 + 0.9757440539382783019e-2 * t1017 * t905 + 0.65854491829355115987e0 * t1021 * t1024 + 0.65854491829355115987e0 * t408 * t1027; + const double t1031 = t1013 * t1030; + const double t1034 = -0.54878743191129263322e-2 * t797 * t964 + 0.9757440539382783019e-2 * t970 * t905 + 0.65854491829355115987e0 * t408 * t1007 - 0.65854491829355115987e0 * t1010 * t1031; + const double t1036 = 0.1e1 / t440; + const double t1040 = piecewise_functor_3( t445, t154 * t293 * t1034 * t1036 + t893 + t919 + t953 - t957 - t962, t885 ); + const double t1043 = piecewise_functor_3( t75, t719, t1040 * t31 / 0.2e1 ); + const double t1044 = t889 + t1043; + const double t1046 = t62 * t70; + const double t1049 = 0.2e1 * t1046 * t533 + t526; + const double t1051 = t457 * t41; + const double t1053 = 0.18311447306006545054e-3 * t1051 * t606; + const double t1054 = t457 * t132; + const double t1056 = 0.5848223622634646207e0 * t1054 * t611; + const double t1057 = t168 * t485; + const double t1058 = t181 * t491; + const double t1059 = t1057 * t1058; + const double t1062 = t621 * t486; + const double t1063 = t491 * t41; + const double t1064 = t1063 * t549; + const double t1070 = t476 * t639 * t480; + const double t1073 = t621 * t477; + const double t1074 = t645 * t480; + const double t1075 = t1074 * t647; + const double t1078 = t474 * t474; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t1079 * t192; + const double t1081 = t1080 * t198; + const double t1082 = t653 * t1081; + const double t1084 = 0.1e1 / t479 / t462; + const double t1085 = t1084 * t41; + const double t1086 = t1085 * t202; + const double t1087 = t583 + t584 - t1053 - t1056; + const double t1089 = t42 * t473; + const double t1090 = t80 * t1087 * t1089; + const double t1091 = t1086 * t1090; + const double t1094 = t675 * t480; + const double t1095 = t1094 * t204; + const double t1098 = -0.7e1 / 0.288e3 * t630 * t465 - 0.71456696863449561619e-5 * t638 * t1070 + 0.12705000702321332056e-4 * t1073 * t1075 + 0.21437009059034868486e-3 * t1082 * t1091 - 0.10003937560882938627e-2 * t478 * t1095; + const double t1099 = t1098 * t181; + const double t1100 = t1099 * t491; + const double t1103 = t169 * t485; + const double t1104 = t490 * t490; + const double t1105 = 0.1e1 / t1104; + const double t1106 = t181 * t1105; + const double t1107 = t475 * t485; + const double t1108 = t689 * t1107; + const double t1111 = t621 * t476; + const double t1112 = t485 * t41; + const double t1116 = t652 * t1079; + const double t1117 = t169 * t1116; + const double t1118 = t485 * t1087; + const double t1119 = t471 * t473; + const double t1120 = t1118 * t1119; + const double t1123 = t476 * t1098; + const double t1126 = -0.54878743191129263322e-2 * t552 * t1108 + 0.9757440539382783019e-2 * t1111 * t1112 * t549 + 0.65854491829355115987e0 * t1117 * t1120 + 0.65854491829355115987e0 * t169 * t1123; + const double t1127 = t1106 * t1126; + const double t1130 = -0.54878743191129263322e-2 * t552 * t1059 + 0.9757440539382783019e-2 * t1062 * t1064 + 0.65854491829355115987e0 * t169 * t1100 - 0.65854491829355115987e0 * t1103 * t1127; + const double t1132 = 0.1e1 / t495; + const double t1135 = t154 * t462 * t1130 * t1132 - t1053 - t1056 + t583 + t584; + const double t1137 = -t72 * t1044 + t1049 * t499 + t453 * t1135 - t526 * t450 - 0.2e1 * t528 * t534; + const double t1138 = rho * t1137; + const double t1140 = rho * t501; + const double t1141 = d * t1137; + const double t1143 = t71 * t533; + const double t1146 = t1141 * t503 + 0.3e1 * t502 * t1143; + const double t1148 = t17 * t23; + const double t1151 = t1148 * t28 + t1148 * t35 - t23; + const double t1156 = piecewise_functor_3( t4, 0.0, -t509 * t1151 * t41 * t521 / 0.6e1 ); + const double t1157 = t1156 * t71; + const double t1161 = piecewise_functor_3( t69, 0.0, t64 * t66 / 0.8e1 ); + const double t1162 = t450 * t1161; + const double t1165 = t171 * t16; + const double t1169 = t191 * sigma; + const double t1170 = t169 * t1169; + const double t1173 = t1165 * t174 * t647 / 0.96e2 + 0.42874018118069736972e-3 * t1170 * t205; + const double t1174 = t1173 * t181; + const double t1175 = t1174 * t214; + const double t1178 = t165 * t165; + const double t1179 = t1178 * t620; + const double t1180 = t1179 * t208; + const double t1181 = t652 * t687; + const double t1182 = t190 * t1173; + const double t1183 = t1181 * t1182; + const double t1186 = 0.65854491829355115987e0 * t169 * t1175 - 0.4336814094102599731e0 * t1180 * t1183; + const double t1189 = t154 * t163 * t1186 * t715; + const double t1190 = t1189 / 0.2e1; + const double t1192 = t171 * t300 * t91; + const double t1195 = t316 * sigma; + const double t1200 = t1192 * t305 / 0.96e2 + 0.85748036236139473944e-3 * t308 * t1195 * t197 * t327; + const double t1202 = t1200 * t181 * t337; + const double t1205 = t295 * t295; + const double t1206 = t1205 * t803; + const double t1207 = t1206 * t330; + const double t1208 = t652 * t857; + const double t1209 = t316 * t1200; + const double t1210 = t1208 * t1209; + const double t1213 = 0.65854491829355115987e0 * t299 * t1202 - 0.4336814094102599731e0 * t1207 * t1210; + const double t1217 = piecewise_functor_3( t346, t154 * t293 * t1213 * t881, t1189 ); + const double t1220 = piecewise_functor_3( t75, t1190, t1217 * t24 / 0.2e1 ); + const double t1223 = t420 * sigma; + const double t1228 = t1192 * t411 / 0.96e2 + 0.85748036236139473944e-3 * t414 * t1223 * t197 * t426; + const double t1230 = t1228 * t181 * t436; + const double t1233 = t404 * t404; + const double t1234 = t1233 * t968; + const double t1235 = t1234 * t429; + const double t1236 = t652 * t1012; + const double t1237 = t420 * t1228; + const double t1238 = t1236 * t1237; + const double t1241 = 0.65854491829355115987e0 * t408 * t1230 - 0.4336814094102599731e0 * t1235 * t1238; + const double t1245 = piecewise_functor_3( t445, t154 * t293 * t1241 * t1036, t1189 ); + const double t1248 = piecewise_functor_3( t75, t1190, t1245 * t31 / 0.2e1 ); + const double t1249 = t1220 + t1248; + const double t1253 = 0.2e1 * t1046 * t1161 + t1157; + const double t1255 = t453 * t152; + const double t1256 = t1255 * t153; + const double t1260 = t476 * sigma; + const double t1261 = t169 * t1260; + const double t1264 = t1165 * t463 * t647 / 0.96e2 + 0.42874018118069736972e-3 * t1261 * t482; + const double t1265 = t1264 * t181; + const double t1266 = t1265 * t491; + const double t1269 = t1179 * t485; + const double t1270 = t652 * t1105; + const double t1271 = t475 * t1264; + const double t1272 = t1270 * t1271; + const double t1275 = 0.65854491829355115987e0 * t169 * t1266 - 0.4336814094102599731e0 * t1269 * t1272; + const double t1276 = t462 * t1275; + const double t1277 = t1276 * t1132; + const double t1279 = -t1157 * t450 - 0.2e1 * t528 * t1162 - t72 * t1249 + t1253 * t499 + t1256 * t1277; + const double t1280 = rho * t1279; + const double t1282 = d * t1279; + const double t1284 = t71 * t1161; + const double t1287 = t1282 * t503 + 0.3e1 * t502 * t1284; + const double t1289 = tau * tau; + const double t1290 = 0.1e1 / t1289; + const double t1293 = piecewise_functor_3( t69, 0.0, -t65 * t1290 / 0.8e1 ); + const double t1294 = t450 * t1293; + const double t1296 = t1293 * t499; + const double t1299 = 0.2e1 * t1046 * t1296 - 0.2e1 * t528 * t1294; + const double t1300 = rho * t1299; + const double t1302 = d * t1299; + const double t1304 = t71 * t1293; + const double t1307 = t1302 * t503 + 0.3e1 * t502 * t1304; + + + eps = t501 * t505; + vrho = t1138 * t505 + t1140 * t1146 + eps; + vsigma = t1140 * t1287 + t1280 * t505; + vlapl = 0.e0; + vtau = t1140 * t1307 + t1300 * t505; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t176 = 0.1e1 / t77; + constexpr double t177 = t176 * t79; + constexpr double t202 = 0.1e1 / t92; + constexpr double t203 = t41 * t202; + constexpr double t204 = t203 * t80; + constexpr double t225 = t78 * t80; + constexpr double t238 = t93 * t79; + constexpr double t324 = t80 * t16; + constexpr double t548 = t77 * t80; + constexpr double t633 = t91 * t176; + constexpr double t647 = t633 * t79; + constexpr double t824 = t79 * t17; + constexpr double t838 = t203 * t324; + constexpr double t1321 = 0.1e1 / t43 / t42; + constexpr double t1380 = t92 * t79; + constexpr double t1615 = t42 * t42; + constexpr double t1958 = t633 * t824; + constexpr double t2732 = t91 * t1321; + constexpr double t3181 = t202 * t80; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 + 0.25e-1 * t83; + const double t167 = 0.1e1 + 0.4445e-1 * t83; + const double t168 = 0.1e1 / t167; + const double t169 = t165 * t168; + const double t171 = 0.1e1 / t20 / t19; + const double t172 = sigma * t171; + const double t173 = t172 * t16; + const double t174 = 0.1e1 / t162; + const double t178 = t174 * t91 * t177; + const double t181 = 0.1e1 / t152; + const double t182 = 0.19751673498613801407e-1 * t149; + const double t185 = 0.1e1 / t163; + const double t186 = t42 * t185; + const double t188 = safe_math::exp( -( -t130 + t146 + t182 ) * t181 * t186 ); + const double t189 = t188 - 0.1e1; + const double t190 = 0.1e1 / t189; + const double t191 = t181 * t190; + const double t192 = sigma * sigma; + const double t193 = t191 * t192; + const double t194 = t169 * t193; + const double t195 = t19 * t19; + const double t197 = 0.1e1 / t21 / t195; + const double t198 = t197 * t17; + const double t199 = t162 * t162; + const double t200 = 0.1e1 / t199; + const double t201 = t198 * t200; + const double t205 = t201 * t204; + const double t208 = t173 * t178 / 0.96e2 + 0.21437009059034868486e-3 * t194 * t205; + const double t209 = t208 * t181; + const double t210 = t191 * t208; + const double t213 = 0.1e1 + 0.65854491829355115987e0 * t169 * t210; + const double t214 = 0.1e1 / t213; + const double t215 = t209 * t214; + const double t218 = 0.1e1 + 0.65854491829355115987e0 * t169 * t215; + const double t219 = safe_math::log( t218 ); + const double t221 = t154 * t163 * t219; + const double t223 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t221 / 0.2e1; + const double t224 = -t130 + t146 + t182 + t221; + const double t226 = t81 * t16; + const double t227 = 0.1e1 / t24; + const double t228 = safe_math::cbrt( t227 ); + const double t230 = t225 * t226 * t228; + const double t232 = 0.1e1 + 0.53425e-1 * t230; + const double t233 = safe_math::sqrt( t230 ); + const double t236 = pow_3_2( t230 ); + const double t239 = t94 * t17; + const double t240 = t228 * t228; + const double t242 = t238 * t239 * t240; + const double t244 = 0.379785e1 * t233 + 0.8969e0 * t230 + 0.204775e0 * t236 + 0.123235e0 * t242; + const double t247 = 0.1e1 + 0.16081979498692535067e2 / t244; + const double t248 = safe_math::log( t247 ); + const double t250 = 0.621814e-1 * t232 * t248; + const double t251 = 0.2e1 <= zeta_tol; + const double t253 = piecewise_functor_3( t251, t108, 0.2e1 * t16 ); + const double t254 = 0.e0 <= zeta_tol; + const double t255 = piecewise_functor_3( t254, t108, 0.0 ); + const double t257 = ( t253 + t255 - 0.2e1 ) * t116; + const double t259 = 0.1e1 + 0.5137e-1 * t230; + const double t264 = 0.705945e1 * t233 + 0.1549425e1 * t230 + 0.420775e0 * t236 + 0.1562925e0 * t242; + const double t267 = 0.1e1 + 0.32163958997385070134e2 / t264; + const double t268 = safe_math::log( t267 ); + const double t272 = 0.1e1 + 0.278125e-1 * t230; + const double t277 = 0.51785e1 * t233 + 0.905775e0 * t230 + 0.1100325e0 * t236 + 0.1241775e0 * t242; + const double t280 = 0.1e1 + 0.29608749977793437516e2 / t277; + const double t281 = safe_math::log( t280 ); + const double t282 = t272 * t281; + const double t285 = t257 * ( -0.310907e-1 * t259 * t268 + t250 - 0.19751673498613801407e-1 * t282 ); + const double t287 = 0.19751673498613801407e-1 * t257 * t282; + const double t288 = piecewise_functor_3( t251, t155, t17 ); + const double t289 = piecewise_functor_3( t254, t155, 0.0 ); + const double t291 = t288 / 0.2e1 + t289 / 0.2e1; + const double t292 = t291 * t291; + const double t293 = t292 * t291; + const double t295 = 0.1e1 + 0.25e-1 * t230; + const double t297 = 0.1e1 + 0.4445e-1 * t230; + const double t298 = 0.1e1 / t297; + const double t299 = t295 * t298; + const double t300 = 0.1e1 / t292; + const double t301 = t300 * t91; + const double t302 = t172 * t301; + const double t303 = 0.1e1 / t228; + const double t304 = t17 * t303; + const double t305 = t177 * t304; + const double t308 = t299 * t181; + const double t311 = 0.1e1 / t293; + const double t312 = t42 * t311; + const double t314 = safe_math::exp( -( -t250 + t285 + t287 ) * t181 * t312 ); + const double t315 = t314 - 0.1e1; + const double t316 = 0.1e1 / t315; + const double t317 = t316 * t192; + const double t320 = t292 * t292; + const double t321 = 0.1e1 / t320; + const double t322 = t321 * t41; + const double t323 = t322 * t202; + const double t325 = 0.1e1 / t240; + const double t327 = t323 * t324 * t325; + const double t330 = t302 * t305 / 0.96e2 + 0.42874018118069736972e-3 * t308 * t317 * t197 * t327; + const double t331 = t330 * t181; + const double t332 = t181 * t316; + const double t333 = t332 * t330; + const double t336 = 0.1e1 + 0.65854491829355115987e0 * t299 * t333; + const double t337 = 0.1e1 / t336; + const double t338 = t331 * t337; + const double t341 = 0.1e1 + 0.65854491829355115987e0 * t299 * t338; + const double t342 = safe_math::log( t341 ); + const double t345 = t154 * t293 * t342 - t250 + t285 + t287; + const double t346 = t224 < t345; + const double t347 = piecewise_functor_3( t346, t345, t224 ); + const double t350 = piecewise_functor_3( t75, t223, t347 * t24 / 0.2e1 ); + const double t351 = 0.1e1 / t31; + const double t352 = safe_math::cbrt( t351 ); + const double t354 = t225 * t226 * t352; + const double t356 = 0.1e1 + 0.53425e-1 * t354; + const double t357 = safe_math::sqrt( t354 ); + const double t360 = pow_3_2( t354 ); + const double t362 = t352 * t352; + const double t364 = t238 * t239 * t362; + const double t366 = 0.379785e1 * t357 + 0.8969e0 * t354 + 0.204775e0 * t360 + 0.123235e0 * t364; + const double t369 = 0.1e1 + 0.16081979498692535067e2 / t366; + const double t370 = safe_math::log( t369 ); + const double t372 = 0.621814e-1 * t356 * t370; + const double t374 = 0.1e1 + 0.5137e-1 * t354; + const double t379 = 0.705945e1 * t357 + 0.1549425e1 * t354 + 0.420775e0 * t360 + 0.1562925e0 * t364; + const double t382 = 0.1e1 + 0.32163958997385070134e2 / t379; + const double t383 = safe_math::log( t382 ); + const double t387 = 0.1e1 + 0.278125e-1 * t354; + const double t392 = 0.51785e1 * t357 + 0.905775e0 * t354 + 0.1100325e0 * t360 + 0.1241775e0 * t364; + const double t395 = 0.1e1 + 0.29608749977793437516e2 / t392; + const double t396 = safe_math::log( t395 ); + const double t397 = t387 * t396; + const double t400 = t257 * ( -0.310907e-1 * t374 * t383 + t372 - 0.19751673498613801407e-1 * t397 ); + const double t402 = 0.19751673498613801407e-1 * t257 * t397; + const double t404 = 0.1e1 + 0.25e-1 * t354; + const double t406 = 0.1e1 + 0.4445e-1 * t354; + const double t407 = 0.1e1 / t406; + const double t408 = t404 * t407; + const double t409 = 0.1e1 / t352; + const double t410 = t17 * t409; + const double t411 = t177 * t410; + const double t414 = t408 * t181; + const double t418 = safe_math::exp( -( -t372 + t400 + t402 ) * t181 * t312 ); + const double t419 = t418 - 0.1e1; + const double t420 = 0.1e1 / t419; + const double t421 = t420 * t192; + const double t424 = 0.1e1 / t362; + const double t426 = t323 * t324 * t424; + const double t429 = t302 * t411 / 0.96e2 + 0.42874018118069736972e-3 * t414 * t421 * t197 * t426; + const double t430 = t429 * t181; + const double t431 = t181 * t420; + const double t432 = t431 * t429; + const double t435 = 0.1e1 + 0.65854491829355115987e0 * t408 * t432; + const double t436 = 0.1e1 / t435; + const double t437 = t430 * t436; + const double t440 = 0.1e1 + 0.65854491829355115987e0 * t408 * t437; + const double t441 = safe_math::log( t440 ); + const double t444 = t154 * t293 * t441 - t372 + t400 + t402; + const double t445 = t224 < t444; + const double t446 = piecewise_functor_3( t445, t444, t224 ); + const double t449 = piecewise_functor_3( t75, t223, t446 * t31 / 0.2e1 ); + const double t450 = t350 + t449; + const double t453 = t62 * t71 + 0.1e1; + const double t454 = piecewise_functor_3( t10, t108, 1.0 ); + const double t457 = ( 0.2e1 * t454 - 0.2e1 ) * t116; + const double t459 = 0.19751673498613801407e-1 * t457 * t142; + const double t460 = piecewise_functor_3( t10, t155, 1.0 ); + const double t461 = t460 * t460; + const double t462 = t461 * t460; + const double t463 = 0.1e1 / t461; + const double t465 = t463 * t91 * t177; + const double t470 = 0.1e1 / t462; + const double t471 = t42 * t470; + const double t473 = safe_math::exp( -( -t130 + t459 ) * t181 * t471 ); + const double t474 = t473 - 0.1e1; + const double t475 = 0.1e1 / t474; + const double t476 = t181 * t475; + const double t477 = t476 * t192; + const double t478 = t169 * t477; + const double t479 = t461 * t461; + const double t480 = 0.1e1 / t479; + const double t481 = t198 * t480; + const double t482 = t481 * t204; + const double t485 = t173 * t465 / 0.96e2 + 0.21437009059034868486e-3 * t478 * t482; + const double t486 = t485 * t181; + const double t487 = t476 * t485; + const double t490 = 0.1e1 + 0.65854491829355115987e0 * t169 * t487; + const double t491 = 0.1e1 / t490; + const double t492 = t486 * t491; + const double t495 = 0.1e1 + 0.65854491829355115987e0 * t169 * t492; + const double t496 = safe_math::log( t495 ); + const double t499 = t154 * t462 * t496 - t130 + t459; + const double t501 = -t72 * t450 + t453 * t499; + const double t502 = d * t501; + const double t503 = t71 * t70; + const double t505 = t502 * t503 + 0.1e1; + const double t509 = t5 / t59 / t57 * t15; + const double t510 = t19 * rho; + const double t512 = 0.1e1 / t21 / t510; + const double t519 = -0.8e1 / 0.3e1 * t18 * t512 * t28 - 0.8e1 / 0.3e1 * t18 * t512 * t35 + 0.8e1 / 0.3e1 * sigma * t512; + const double t520 = t519 * t41; + const double t521 = t45 * t53; + const double t525 = piecewise_functor_3( t4, 0.0, -t509 * t520 * t521 / 0.6e1 ); + const double t526 = t525 * t71; + const double t528 = t63 * t70; + const double t529 = 0.1e1 / t19; + const double t530 = sigma * t529; + const double t533 = piecewise_functor_3( t69, 0.0, -t530 * t66 / 0.8e1 ); + const double t534 = t450 * t533; + const double t538 = 0.1e1 / t20 / rho; + const double t539 = t80 * t538; + const double t541 = t78 * t539 * t102; + const double t543 = t98 * t98; + const double t544 = 0.1e1 / t543; + const double t545 = t85 * t544; + const double t547 = 0.1e1 / t86 * t41; + const double t549 = t548 * t538; + const double t550 = t547 * t549; + const double t552 = t78 * t539; + const double t554 = safe_math::sqrt( t83 ); + const double t555 = t554 * t41; + const double t556 = t555 * t549; + const double t559 = 0.1e1 / t21 / rho; + const double t561 = t93 * t79 * t559; + const double t563 = -0.632975e0 * t550 - 0.29896666666666666667e0 * t552 - 0.1023875e0 * t556 - 0.82156666666666666667e-1 * t561; + const double t564 = 0.1e1 / t101; + const double t565 = t563 * t564; + const double t566 = t545 * t565; + const double t571 = t123 * t123; + const double t572 = 0.1e1 / t571; + const double t573 = t118 * t572; + const double t578 = -0.1176575e1 * t550 - 0.516475e0 * t552 - 0.2103875e0 * t556 - 0.104195e0 * t561; + const double t579 = 0.1e1 / t126; + const double t580 = t578 * t579; + const double t583 = 0.11073470983333333333e-2 * t541; + const double t584 = 0.1e1 * t566; + const double t588 = t137 * t137; + const double t589 = 0.1e1 / t588; + const double t590 = t132 * t589; + const double t595 = -0.86308333333333333334e0 * t550 - 0.301925e0 * t552 - 0.5501625e-1 * t556 - 0.82785e-1 * t561; + const double t596 = 0.1e1 / t140; + const double t597 = t595 * t596; + const double t602 = t113 * t116 * ( 0.53237641966666666666e-3 * t78 * t539 * t127 + 0.1e1 * t573 * t580 - t583 - t584 + 0.18311447306006545054e-3 * t78 * t539 * t141 + 0.5848223622634646207e0 * t590 * t597 ); + const double t604 = t148 * t41; + const double t606 = t548 * t538 * t141; + const double t607 = t604 * t606; + const double t609 = t148 * t132; + const double t611 = t589 * t595 * t596; + const double t612 = t609 * t611; + const double t614 = t168 * t208; + const double t615 = t181 * t214; + const double t616 = t614 * t615; + const double t619 = t167 * t167; + const double t620 = 0.1e1 / t619; + const double t621 = t165 * t620; + const double t622 = t621 * t209; + const double t623 = t214 * t41; + const double t624 = t623 * t549; + const double t628 = 0.1e1 / t20 / t510; + const double t629 = sigma * t628; + const double t630 = t629 * t16; + const double t634 = t195 * t19; + const double t635 = 0.1e1 / t634; + const double t636 = t79 * t635; + const double t638 = t633 * t636 * t168; + const double t639 = t192 * t17; + const double t641 = t191 * t639 * t200; + const double t644 = t621 * t193; + const double t645 = t635 * t17; + const double t646 = t645 * t200; + const double t648 = t646 * t647; + const double t651 = t152 * t152; + const double t652 = 0.1e1 / t651; + const double t653 = t169 * t652; + const double t654 = t189 * t189; + const double t655 = 0.1e1 / t654; + const double t656 = t655 * t192; + const double t657 = t656 * t198; + const double t658 = t653 * t657; + const double t660 = 0.1e1 / t199 / t163; + const double t661 = t660 * t41; + const double t662 = t661 * t202; + const double t663 = 0.18311447306006545054e-3 * t607; + const double t664 = 0.5848223622634646207e0 * t612; + const double t665 = t583 + t584 + t602 - t663 - t664; + const double t667 = t42 * t188; + const double t668 = t80 * t665 * t667; + const double t669 = t662 * t668; + const double t672 = t195 * rho; + const double t674 = 0.1e1 / t21 / t672; + const double t675 = t674 * t17; + const double t676 = t675 * t200; + const double t677 = t676 * t204; + const double t680 = -0.7e1 / 0.288e3 * t630 * t178 - 0.71456696863449561619e-5 * t638 * t641 + 0.12705000702321332056e-4 * t644 * t648 + 0.21437009059034868486e-3 * t658 * t669 - 0.10003937560882938627e-2 * t194 * t677; + const double t681 = t680 * t181; + const double t682 = t681 * t214; + const double t685 = t169 * t208; + const double t686 = t213 * t213; + const double t687 = 0.1e1 / t686; + const double t688 = t181 * t687; + const double t689 = t168 * t181; + const double t690 = t190 * t208; + const double t691 = t689 * t690; + const double t694 = t621 * t191; + const double t695 = t208 * t41; + const double t699 = t652 * t655; + const double t700 = t169 * t699; + const double t701 = t208 * t665; + const double t702 = t186 * t188; + const double t703 = t701 * t702; + const double t706 = t191 * t680; + const double t709 = -0.54878743191129263322e-2 * t552 * t691 + 0.9757440539382783019e-2 * t694 * t695 * t549 + 0.65854491829355115987e0 * t700 * t703 + 0.65854491829355115987e0 * t169 * t706; + const double t710 = t688 * t709; + const double t713 = -0.54878743191129263322e-2 * t552 * t616 + 0.9757440539382783019e-2 * t622 * t624 + 0.65854491829355115987e0 * t169 * t682 - 0.65854491829355115987e0 * t685 * t710; + const double t715 = 0.1e1 / t218; + const double t717 = t154 * t163 * t713 * t715; + const double t719 = 0.55367354916666666666e-3 * t541 + 0.50000000000000000001e0 * t566 + t602 / 0.2e1 - 0.91557236530032725272e-4 * t607 - 0.29241118113173231035e0 * t612 + t717 / 0.2e1; + const double t720 = t538 * t16; + const double t721 = t228 * t248; + const double t724 = 0.11073470983333333333e-2 * t225 * t720 * t721; + const double t725 = t244 * t244; + const double t726 = 0.1e1 / t725; + const double t727 = t232 * t726; + const double t730 = 0.1e1 / t233 * t41 * t77; + const double t731 = t16 * t228; + const double t732 = t539 * t731; + const double t733 = t730 * t732; + const double t735 = t720 * t228; + const double t736 = t225 * t735; + const double t738 = safe_math::sqrt( t230 ); + const double t740 = t738 * t41 * t77; + const double t741 = t740 * t732; + const double t743 = t559 * t17; + const double t745 = t238 * t743 * t240; + const double t747 = -0.632975e0 * t733 - 0.29896666666666666667e0 * t736 - 0.1023875e0 * t741 - 0.82156666666666666667e-1 * t745; + const double t748 = 0.1e1 / t247; + const double t749 = t747 * t748; + const double t751 = 0.1e1 * t727 * t749; + const double t752 = t228 * t268; + const double t756 = t264 * t264; + const double t757 = 0.1e1 / t756; + const double t758 = t259 * t757; + const double t763 = -0.1176575e1 * t733 - 0.516475e0 * t736 - 0.2103875e0 * t741 - 0.104195e0 * t745; + const double t764 = 0.1e1 / t267; + const double t765 = t763 * t764; + const double t768 = t228 * t281; + const double t772 = t277 * t277; + const double t773 = 0.1e1 / t772; + const double t774 = t272 * t773; + const double t779 = -0.86308333333333333334e0 * t733 - 0.301925e0 * t736 - 0.5501625e-1 * t741 - 0.82785e-1 * t745; + const double t780 = 0.1e1 / t280; + const double t781 = t779 * t780; + const double t785 = t257 * ( 0.53237641966666666666e-3 * t225 * t720 * t752 + 0.1e1 * t758 * t765 - t724 - t751 + 0.18311447306006545054e-3 * t225 * t720 * t768 + 0.5848223622634646207e0 * t774 * t781 ); + const double t786 = t257 * t78; + const double t787 = t731 * t281; + const double t790 = 0.18311447306006545054e-3 * t786 * t539 * t787; + const double t791 = t257 * t272; + const double t793 = t773 * t779 * t780; + const double t795 = 0.5848223622634646207e0 * t791 * t793; + const double t797 = t78 * t539 * t16; + const double t798 = t228 * t298; + const double t799 = t798 * t338; + const double t802 = t297 * t297; + const double t803 = 0.1e1 / t802; + const double t804 = t295 * t803; + const double t805 = t804 * t338; + const double t808 = t629 * t301; + const double t812 = t633 * t636 * t17; + const double t813 = t303 * t298; + const double t814 = t813 * t181; + const double t815 = t317 * t321; + const double t816 = t814 * t815; + const double t819 = t804 * t181; + const double t822 = t321 * t91; + const double t823 = t822 * t176; + const double t826 = t823 * t824 * t303; + const double t829 = t299 * t652; + const double t830 = t315 * t315; + const double t831 = 0.1e1 / t830; + const double t832 = t831 * t192; + const double t834 = 0.1e1 / t320 / t293; + const double t835 = t197 * t834; + const double t837 = t829 * t832 * t835; + const double t839 = t724 + t751 + t785 - t790 - t795; + const double t841 = t42 * t314; + const double t843 = t838 * t325 * t839 * t841; + const double t850 = -0.7e1 / 0.288e3 * t808 * t305 - 0.14291339372689912324e-4 * t812 * t816 + 0.25410001404642664113e-4 * t819 * t317 * t635 * t826 + 0.42874018118069736972e-3 * t837 * t843 - 0.20007875121765877254e-2 * t308 * t317 * t674 * t327; + const double t852 = t850 * t181 * t337; + const double t855 = t299 * t330; + const double t856 = t336 * t336; + const double t857 = 0.1e1 / t856; + const double t858 = t181 * t857; + const double t859 = t798 * t333; + const double t862 = t804 * t333; + const double t865 = t652 * t831; + const double t866 = t299 * t865; + const double t867 = t330 * t839; + const double t868 = t312 * t314; + const double t869 = t867 * t868; + const double t872 = t332 * t850; + const double t875 = -0.54878743191129263322e-2 * t797 * t859 + 0.9757440539382783019e-2 * t862 * t736 + 0.65854491829355115987e0 * t866 * t869 + 0.65854491829355115987e0 * t299 * t872; + const double t876 = t858 * t875; + const double t879 = -0.54878743191129263322e-2 * t797 * t799 + 0.9757440539382783019e-2 * t805 * t736 + 0.65854491829355115987e0 * t299 * t852 - 0.65854491829355115987e0 * t855 * t876; + const double t881 = 0.1e1 / t341; + const double t885 = t583 + t584 + t602 - t663 - t664 + t717; + const double t886 = piecewise_functor_3( t346, t154 * t293 * t879 * t881 + t724 + t751 + t785 - t790 - t795, t885 ); + const double t889 = piecewise_functor_3( t75, t719, t886 * t24 / 0.2e1 ); + const double t890 = t352 * t370; + const double t893 = 0.11073470983333333333e-2 * t225 * t720 * t890; + const double t894 = t366 * t366; + const double t895 = 0.1e1 / t894; + const double t896 = t356 * t895; + const double t899 = 0.1e1 / t357 * t41 * t77; + const double t900 = t16 * t352; + const double t901 = t539 * t900; + const double t902 = t899 * t901; + const double t904 = t720 * t352; + const double t905 = t225 * t904; + const double t907 = safe_math::sqrt( t354 ); + const double t909 = t907 * t41 * t77; + const double t910 = t909 * t901; + const double t913 = t238 * t743 * t362; + const double t915 = -0.632975e0 * t902 - 0.29896666666666666667e0 * t905 - 0.1023875e0 * t910 - 0.82156666666666666667e-1 * t913; + const double t916 = 0.1e1 / t369; + const double t917 = t915 * t916; + const double t919 = 0.1e1 * t896 * t917; + const double t920 = t352 * t383; + const double t924 = t379 * t379; + const double t925 = 0.1e1 / t924; + const double t926 = t374 * t925; + const double t931 = -0.1176575e1 * t902 - 0.516475e0 * t905 - 0.2103875e0 * t910 - 0.104195e0 * t913; + const double t932 = 0.1e1 / t382; + const double t933 = t931 * t932; + const double t936 = t352 * t396; + const double t940 = t392 * t392; + const double t941 = 0.1e1 / t940; + const double t942 = t387 * t941; + const double t947 = -0.86308333333333333334e0 * t902 - 0.301925e0 * t905 - 0.5501625e-1 * t910 - 0.82785e-1 * t913; + const double t948 = 0.1e1 / t395; + const double t949 = t947 * t948; + const double t953 = t257 * ( 0.53237641966666666666e-3 * t225 * t720 * t920 + 0.1e1 * t926 * t933 - t893 - t919 + 0.18311447306006545054e-3 * t225 * t720 * t936 + 0.5848223622634646207e0 * t942 * t949 ); + const double t954 = t900 * t396; + const double t957 = 0.18311447306006545054e-3 * t786 * t539 * t954; + const double t958 = t257 * t387; + const double t960 = t941 * t947 * t948; + const double t962 = 0.5848223622634646207e0 * t958 * t960; + const double t963 = t352 * t407; + const double t964 = t963 * t437; + const double t967 = t406 * t406; + const double t968 = 0.1e1 / t967; + const double t969 = t404 * t968; + const double t970 = t969 * t437; + const double t975 = t409 * t407; + const double t976 = t975 * t181; + const double t977 = t421 * t321; + const double t978 = t976 * t977; + const double t981 = t969 * t181; + const double t985 = t823 * t824 * t409; + const double t988 = t408 * t652; + const double t989 = t419 * t419; + const double t990 = 0.1e1 / t989; + const double t991 = t990 * t192; + const double t993 = t988 * t991 * t835; + const double t994 = t893 + t919 + t953 - t957 - t962; + const double t996 = t42 * t418; + const double t998 = t838 * t424 * t994 * t996; + const double t1005 = -0.7e1 / 0.288e3 * t808 * t411 - 0.14291339372689912324e-4 * t812 * t978 + 0.25410001404642664113e-4 * t981 * t421 * t635 * t985 + 0.42874018118069736972e-3 * t993 * t998 - 0.20007875121765877254e-2 * t414 * t421 * t674 * t426; + const double t1007 = t1005 * t181 * t436; + const double t1010 = t408 * t429; + const double t1011 = t435 * t435; + const double t1012 = 0.1e1 / t1011; + const double t1013 = t181 * t1012; + const double t1014 = t963 * t432; + const double t1017 = t969 * t432; + const double t1020 = t652 * t990; + const double t1021 = t408 * t1020; + const double t1022 = t429 * t994; + const double t1023 = t312 * t418; + const double t1024 = t1022 * t1023; + const double t1027 = t431 * t1005; + const double t1030 = -0.54878743191129263322e-2 * t797 * t1014 + 0.9757440539382783019e-2 * t1017 * t905 + 0.65854491829355115987e0 * t1021 * t1024 + 0.65854491829355115987e0 * t408 * t1027; + const double t1031 = t1013 * t1030; + const double t1034 = -0.54878743191129263322e-2 * t797 * t964 + 0.9757440539382783019e-2 * t970 * t905 + 0.65854491829355115987e0 * t408 * t1007 - 0.65854491829355115987e0 * t1010 * t1031; + const double t1036 = 0.1e1 / t440; + const double t1040 = piecewise_functor_3( t445, t154 * t293 * t1034 * t1036 + t893 + t919 + t953 - t957 - t962, t885 ); + const double t1043 = piecewise_functor_3( t75, t719, t1040 * t31 / 0.2e1 ); + const double t1044 = t889 + t1043; + const double t1046 = t62 * t70; + const double t1049 = 0.2e1 * t1046 * t533 + t526; + const double t1051 = t457 * t41; + const double t1053 = 0.18311447306006545054e-3 * t1051 * t606; + const double t1054 = t457 * t132; + const double t1056 = 0.5848223622634646207e0 * t1054 * t611; + const double t1057 = t168 * t485; + const double t1058 = t181 * t491; + const double t1059 = t1057 * t1058; + const double t1062 = t621 * t486; + const double t1063 = t491 * t41; + const double t1064 = t1063 * t549; + const double t1070 = t476 * t639 * t480; + const double t1073 = t621 * t477; + const double t1074 = t645 * t480; + const double t1075 = t1074 * t647; + const double t1078 = t474 * t474; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t1079 * t192; + const double t1081 = t1080 * t198; + const double t1082 = t653 * t1081; + const double t1084 = 0.1e1 / t479 / t462; + const double t1085 = t1084 * t41; + const double t1086 = t1085 * t202; + const double t1087 = t583 + t584 - t1053 - t1056; + const double t1089 = t42 * t473; + const double t1090 = t80 * t1087 * t1089; + const double t1091 = t1086 * t1090; + const double t1094 = t675 * t480; + const double t1095 = t1094 * t204; + const double t1098 = -0.7e1 / 0.288e3 * t630 * t465 - 0.71456696863449561619e-5 * t638 * t1070 + 0.12705000702321332056e-4 * t1073 * t1075 + 0.21437009059034868486e-3 * t1082 * t1091 - 0.10003937560882938627e-2 * t478 * t1095; + const double t1099 = t1098 * t181; + const double t1100 = t1099 * t491; + const double t1103 = t169 * t485; + const double t1104 = t490 * t490; + const double t1105 = 0.1e1 / t1104; + const double t1106 = t181 * t1105; + const double t1107 = t475 * t485; + const double t1108 = t689 * t1107; + const double t1111 = t621 * t476; + const double t1112 = t485 * t41; + const double t1116 = t652 * t1079; + const double t1117 = t169 * t1116; + const double t1118 = t485 * t1087; + const double t1119 = t471 * t473; + const double t1120 = t1118 * t1119; + const double t1123 = t476 * t1098; + const double t1126 = -0.54878743191129263322e-2 * t552 * t1108 + 0.9757440539382783019e-2 * t1111 * t1112 * t549 + 0.65854491829355115987e0 * t1117 * t1120 + 0.65854491829355115987e0 * t169 * t1123; + const double t1127 = t1106 * t1126; + const double t1130 = -0.54878743191129263322e-2 * t552 * t1059 + 0.9757440539382783019e-2 * t1062 * t1064 + 0.65854491829355115987e0 * t169 * t1100 - 0.65854491829355115987e0 * t1103 * t1127; + const double t1132 = 0.1e1 / t495; + const double t1135 = t154 * t462 * t1130 * t1132 - t1053 - t1056 + t583 + t584; + const double t1137 = -t72 * t1044 + t1049 * t499 + t453 * t1135 - t526 * t450 - 0.2e1 * t528 * t534; + const double t1138 = rho * t1137; + const double t1140 = rho * t501; + const double t1141 = d * t1137; + const double t1143 = t71 * t533; + const double t1146 = t1141 * t503 + 0.3e1 * t502 * t1143; + const double t1148 = t17 * t23; + const double t1151 = t1148 * t28 + t1148 * t35 - t23; + const double t1156 = piecewise_functor_3( t4, 0.0, -t509 * t1151 * t41 * t521 / 0.6e1 ); + const double t1157 = t1156 * t71; + const double t1161 = piecewise_functor_3( t69, 0.0, t64 * t66 / 0.8e1 ); + const double t1162 = t450 * t1161; + const double t1165 = t171 * t16; + const double t1169 = t191 * sigma; + const double t1170 = t169 * t1169; + const double t1173 = t1165 * t174 * t647 / 0.96e2 + 0.42874018118069736972e-3 * t1170 * t205; + const double t1174 = t1173 * t181; + const double t1175 = t1174 * t214; + const double t1178 = t165 * t165; + const double t1179 = t1178 * t620; + const double t1180 = t1179 * t208; + const double t1181 = t652 * t687; + const double t1182 = t190 * t1173; + const double t1183 = t1181 * t1182; + const double t1186 = 0.65854491829355115987e0 * t169 * t1175 - 0.4336814094102599731e0 * t1180 * t1183; + const double t1189 = t154 * t163 * t1186 * t715; + const double t1190 = t1189 / 0.2e1; + const double t1192 = t171 * t300 * t91; + const double t1195 = t316 * sigma; + const double t1200 = t1192 * t305 / 0.96e2 + 0.85748036236139473944e-3 * t308 * t1195 * t197 * t327; + const double t1202 = t1200 * t181 * t337; + const double t1205 = t295 * t295; + const double t1206 = t1205 * t803; + const double t1207 = t1206 * t330; + const double t1208 = t652 * t857; + const double t1209 = t316 * t1200; + const double t1210 = t1208 * t1209; + const double t1213 = 0.65854491829355115987e0 * t299 * t1202 - 0.4336814094102599731e0 * t1207 * t1210; + const double t1217 = piecewise_functor_3( t346, t154 * t293 * t1213 * t881, t1189 ); + const double t1220 = piecewise_functor_3( t75, t1190, t1217 * t24 / 0.2e1 ); + const double t1223 = t420 * sigma; + const double t1228 = t1192 * t411 / 0.96e2 + 0.85748036236139473944e-3 * t414 * t1223 * t197 * t426; + const double t1230 = t1228 * t181 * t436; + const double t1233 = t404 * t404; + const double t1234 = t1233 * t968; + const double t1235 = t1234 * t429; + const double t1236 = t652 * t1012; + const double t1237 = t420 * t1228; + const double t1238 = t1236 * t1237; + const double t1241 = 0.65854491829355115987e0 * t408 * t1230 - 0.4336814094102599731e0 * t1235 * t1238; + const double t1245 = piecewise_functor_3( t445, t154 * t293 * t1241 * t1036, t1189 ); + const double t1248 = piecewise_functor_3( t75, t1190, t1245 * t31 / 0.2e1 ); + const double t1249 = t1220 + t1248; + const double t1253 = 0.2e1 * t1046 * t1161 + t1157; + const double t1255 = t453 * t152; + const double t1256 = t1255 * t153; + const double t1260 = t476 * sigma; + const double t1261 = t169 * t1260; + const double t1264 = t1165 * t463 * t647 / 0.96e2 + 0.42874018118069736972e-3 * t1261 * t482; + const double t1265 = t1264 * t181; + const double t1266 = t1265 * t491; + const double t1269 = t1179 * t485; + const double t1270 = t652 * t1105; + const double t1271 = t475 * t1264; + const double t1272 = t1270 * t1271; + const double t1275 = 0.65854491829355115987e0 * t169 * t1266 - 0.4336814094102599731e0 * t1269 * t1272; + const double t1276 = t462 * t1275; + const double t1277 = t1276 * t1132; + const double t1279 = -t1157 * t450 - 0.2e1 * t528 * t1162 - t72 * t1249 + t1253 * t499 + t1256 * t1277; + const double t1280 = rho * t1279; + const double t1282 = d * t1279; + const double t1284 = t71 * t1161; + const double t1287 = t1282 * t503 + 0.3e1 * t502 * t1284; + const double t1289 = tau * tau; + const double t1290 = 0.1e1 / t1289; + const double t1293 = piecewise_functor_3( t69, 0.0, -t65 * t1290 / 0.8e1 ); + const double t1294 = t450 * t1293; + const double t1296 = t1293 * t499; + const double t1299 = 0.2e1 * t1046 * t1296 - 0.2e1 * t528 * t1294; + const double t1300 = rho * t1299; + const double t1302 = d * t1299; + const double t1304 = t71 * t1293; + const double t1307 = t1302 * t503 + 0.3e1 * t502 * t1304; + const double t1315 = t5 / t59 / t58; + const double t1316 = t15 * t15; + const double t1317 = t1315 * t1316; + const double t1318 = t519 * t519; + const double t1322 = t53 * t53; + const double t1323 = t1321 * t1322; + const double t1331 = sigma * t197; + const double t1333 = 0.88e2 / 0.9e1 * t18 * t197 * t28 + 0.88e2 / 0.9e1 * t18 * t197 * t35 - 0.88e2 / 0.9e1 * t1331; + const double t1339 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1317 * t1318 * t91 * t1323 - t509 * t1333 * t41 * t521 / 0.6e1 ); + const double t1340 = t1339 * t71; + const double t1342 = t525 * t70; + const double t1347 = t533 * t533; + const double t1348 = t63 * t1347; + const double t1351 = t1044 * t533; + const double t1354 = 0.1e1 / t510; + const double t1355 = sigma * t1354; + const double t1358 = piecewise_functor_3( t69, 0.0, t1355 * t66 / 0.4e1 ); + const double t1359 = t450 * t1358; + const double t1362 = t80 * t171; + const double t1364 = t78 * t1362 * t102; + const double t1366 = t538 * t544; + const double t1368 = t225 * t1366 * t565; + const double t1370 = t543 * t98; + const double t1371 = 0.1e1 / t1370; + const double t1372 = t85 * t1371; + const double t1373 = t563 * t563; + const double t1374 = t1373 * t564; + const double t1375 = t1372 * t1374; + const double t1379 = 0.1e1 / t86 / t83 * t91; + const double t1381 = t1380 * t23; + const double t1382 = t1379 * t1381; + const double t1384 = t548 * t171; + const double t1385 = t547 * t1384; + const double t1387 = t78 * t1362; + const double t1389 = 0.1e1/safe_math::sqrt( t83 ); + const double t1390 = t1389 * t91; + const double t1391 = t1390 * t1381; + const double t1393 = t555 * t1384; + const double t1395 = t79 * t23; + const double t1396 = t93 * t1395; + const double t1398 = -0.42198333333333333333e0 * t1382 + 0.84396666666666666666e0 * t1385 + 0.39862222222222222223e0 * t1387 + 0.68258333333333333333e-1 * t1391 + 0.13651666666666666667e0 * t1393 + 0.13692777777777777778e0 * t1396; + const double t1399 = t1398 * t564; + const double t1400 = t545 * t1399; + const double t1402 = t543 * t543; + const double t1403 = 0.1e1 / t1402; + const double t1404 = t85 * t1403; + const double t1405 = t101 * t101; + const double t1406 = 0.1e1 / t1405; + const double t1407 = t1373 * t1406; + const double t1408 = t1404 * t1407; + const double t1413 = t538 * t572; + const double t1417 = t571 * t123; + const double t1418 = 0.1e1 / t1417; + const double t1419 = t118 * t1418; + const double t1420 = t578 * t578; + const double t1421 = t1420 * t579; + const double t1430 = -0.78438333333333333333e0 * t1382 + 0.15687666666666666667e1 * t1385 + 0.68863333333333333333e0 * t1387 + 0.14025833333333333333e0 * t1391 + 0.28051666666666666667e0 * t1393 + 0.17365833333333333333e0 * t1396; + const double t1431 = t1430 * t579; + const double t1434 = t571 * t571; + const double t1435 = 0.1e1 / t1434; + const double t1436 = t118 * t1435; + const double t1437 = t126 * t126; + const double t1438 = 0.1e1 / t1437; + const double t1439 = t1420 * t1438; + const double t1442 = 0.14764627977777777777e-2 * t1364; + const double t1443 = 0.35616666666666666666e-1 * t1368; + const double t1444 = 0.2e1 * t1375; + const double t1445 = 0.1e1 * t1400; + const double t1446 = 0.16081979498692535067e2 * t1408; + const double t1450 = t538 * t589; + const double t1454 = t588 * t137; + const double t1455 = 0.1e1 / t1454; + const double t1456 = t132 * t1455; + const double t1457 = t595 * t595; + const double t1458 = t1457 * t596; + const double t1467 = -0.57538888888888888889e0 * t1382 + 0.11507777777777777778e1 * t1385 + 0.40256666666666666667e0 * t1387 + 0.366775e-1 * t1391 + 0.73355e-1 * t1393 + 0.137975e0 * t1396; + const double t1468 = t1467 * t596; + const double t1471 = t588 * t588; + const double t1472 = 0.1e1 / t1471; + const double t1473 = t132 * t1472; + const double t1474 = t140 * t140; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t1457 * t1475; + const double t1479 = -0.70983522622222222221e-3 * t78 * t1362 * t127 - 0.34246666666666666666e-1 * t225 * t1413 * t580 - 0.2e1 * t1419 * t1421 + 0.1e1 * t573 * t1431 + 0.32163958997385070134e2 * t1436 * t1439 + t1442 + t1443 + t1444 - t1445 - t1446 - 0.24415263074675393405e-3 * t78 * t1362 * t141 - 0.10843581300301739842e-1 * t225 * t1450 * t597 - 0.11696447245269292414e1 * t1456 * t1458 + 0.5848223622634646207e0 * t590 * t1468 + 0.17315859105681463759e2 * t1473 * t1476; + const double t1481 = t113 * t116 * t1479; + const double t1484 = t548 * t171 * t141; + const double t1485 = t604 * t1484; + const double t1487 = t148 * t78; + const double t1488 = t539 * t611; + const double t1489 = t1487 * t1488; + const double t1492 = t1455 * t1457 * t596; + const double t1493 = t609 * t1492; + const double t1496 = t589 * t1467 * t596; + const double t1497 = t609 * t1496; + const double t1499 = t1472 * t1457; + const double t1500 = t1499 * t1475; + const double t1501 = t609 * t1500; + const double t1505 = t620 * t208; + const double t1506 = t1505 * t615; + const double t1509 = t168 * t680; + const double t1510 = t1509 * t615; + const double t1513 = t614 * t710; + const double t1517 = 0.1e1 / t619 / t167; + const double t1518 = t165 * t1517; + const double t1519 = t1518 * t209; + const double t1520 = t214 * t91; + const double t1521 = t1520 * t1381; + const double t1524 = t621 * t681; + const double t1527 = t209 * t687; + const double t1528 = t621 * t1527; + const double t1529 = t539 * t709; + const double t1530 = t78 * t1529; + const double t1533 = t623 * t1384; + const double t1537 = 0.1e1 / t20 / t195; + const double t1538 = sigma * t1537; + const double t1539 = t1538 * t16; + const double t1542 = t195 * t510; + const double t1543 = 0.1e1 / t1542; + const double t1544 = t79 * t1543; + const double t1546 = t633 * t1544 * t168; + const double t1550 = 0.1e1 / t20 / t1542; + const double t1551 = t1550 * t620; + const double t1552 = t1551 * t181; + const double t1554 = t17 * t200; + const double t1555 = t190 * t192 * t1554; + const double t1558 = t635 * t168; + const double t1560 = t647 * t1558 * t652; + const double t1561 = t656 * t17; + const double t1562 = t660 * t665; + const double t1563 = t1562 * t667; + const double t1564 = t1561 * t1563; + const double t1567 = t1518 * t191; + const double t1568 = t192 * t1550; + const double t1572 = t621 * t652; + const double t1573 = t656 * t645; + const double t1574 = t1572 * t1573; + const double t1576 = t660 * t91 * t176; + const double t1577 = t79 * t665; + const double t1578 = t1577 * t667; + const double t1579 = t1576 * t1578; + const double t1582 = t1543 * t17; + const double t1584 = t1582 * t200 * t647; + const double t1587 = t1562 * t188; + const double t1588 = t1561 * t1587; + const double t1591 = t656 * t635; + const double t1592 = t1572 * t1591; + const double t1593 = t17 * t660; + const double t1594 = t1593 * t91; + const double t1595 = t665 * t188; + const double t1597 = t1594 * t177 * t1595; + const double t1601 = 0.1e1 / t651 / t152; + const double t1602 = t169 * t1601; + const double t1604 = 0.1e1 / t654 / t189; + const double t1605 = t1604 * t192; + const double t1606 = t1605 * t198; + const double t1607 = t1602 * t1606; + const double t1608 = t199 * t199; + const double t1610 = 0.1e1 / t1608 / t162; + const double t1611 = t1610 * t41; + const double t1612 = t1611 * t202; + const double t1613 = t665 * t665; + const double t1614 = t80 * t1613; + const double t1616 = t188 * t188; + const double t1617 = t1615 * t1616; + const double t1618 = t1614 * t1617; + const double t1619 = t1612 * t1618; + const double t1622 = t656 * t675; + const double t1623 = t653 * t1622; + const double t1626 = 0.24415263074675393405e-3 * t1485; + const double t1627 = 0.10843581300301739842e-1 * t1489; + const double t1628 = 0.11696447245269292414e1 * t1493; + const double t1629 = 0.5848223622634646207e0 * t1497; + const double t1630 = 0.17315859105681463759e2 * t1501; + const double t1631 = -t1442 - t1443 - t1444 + t1445 + t1446 + t1481 + t1626 + t1627 + t1628 - t1629 - t1630; + const double t1633 = t80 * t1631 * t667; + const double t1634 = t662 * t1633; + const double t1637 = t1602 * t657; + const double t1638 = t1615 * t188; + const double t1639 = t1614 * t1638; + const double t1640 = t1612 * t1639; + const double t1644 = 0.1e1 / t21 / t634; + const double t1645 = t1644 * t17; + const double t1647 = t1645 * t200 * t204; + const double t1650 = 0.35e2 / 0.432e3 * t1539 * t178 + 0.76220476654346199061e-4 * t1546 * t641 - 0.25410001404642664112e-5 * t1552 * t1555 - 0.71456696863449561619e-5 * t1560 * t1564 + 0.45178982497454656791e-5 * t1567 * t1568 * t1554 + 0.12705000702321332056e-4 * t1574 * t1579 - 0.13552000749142754193e-3 * t644 * t1584 - 0.70524932985080996116e-4 * t1560 * t1588 + 0.1253933308474740111e-3 * t1592 * t1597 + 0.42874018118069736972e-3 * t1607 * t1619 - 0.20007875121765877254e-2 * t1623 * t669 + 0.21437009059034868486e-3 * t658 * t1634 - 0.21437009059034868486e-3 * t1637 * t1640 + 0.56688979511669985553e-2 * t194 * t1647; + const double t1651 = t1650 * t181; + const double t1655 = t169 * t680; + const double t1659 = 0.1e1 / t686 / t213; + const double t1660 = t181 * t1659; + const double t1661 = t709 * t709; + const double t1662 = t1660 * t1661; + const double t1667 = t620 * t181; + const double t1668 = t1667 * t690; + const double t1671 = t538 * t168; + const double t1673 = t225 * t1671 * t652; + const double t1674 = t655 * t208; + const double t1675 = t1674 * t665; + const double t1676 = t1675 * t702; + const double t1679 = t190 * t680; + const double t1680 = t689 * t1679; + const double t1683 = t208 * t91; + const double t1687 = t1674 * t41; + const double t1688 = t1572 * t1687; + const double t1689 = t665 * t42; + const double t1690 = t185 * t188; + const double t1691 = t1689 * t1690; + const double t1692 = t549 * t1691; + const double t1695 = t680 * t41; + const double t1703 = t78 * t539 * t168; + const double t1704 = t699 * t208; + const double t1706 = t665 * t185 * t188; + const double t1707 = t1704 * t1706; + const double t1710 = t1572 * t1675; + const double t1711 = t1690 * t41; + const double t1712 = t1711 * t549; + const double t1715 = t1601 * t1604; + const double t1716 = t169 * t1715; + const double t1717 = t208 * t1613; + const double t1719 = 0.1e1 / t199 / t162; + const double t1720 = t1615 * t1719; + const double t1721 = t1720 * t1616; + const double t1733 = t1601 * t655; + const double t1734 = t169 * t1733; + const double t1735 = t1720 * t188; + const double t1742 = 0.73171657588172351096e-2 * t1387 * t691 - 0.65049603595885220126e-3 * t1396 * t1668 - 0.54878743191129263322e-2 * t1673 * t1676 - 0.10975748638225852664e-1 * t552 * t1680 + 0.11565819519348392139e-2 * t1567 * t1683 * t1381 + 0.9757440539382783019e-2 * t1688 * t1692 + 0.19514881078765566038e-1 * t694 * t1695 * t549 - 0.13009920719177044025e-1 * t694 * t695 * t1384 - 0.54163148532542205016e-1 * t1703 * t1707 + 0.9630207809086004052e-1 * t1710 * t1712 + 0.13170898365871023197e1 * t1716 * t1717 * t1721 + 0.13170898365871023197e1 * t700 * t680 * t665 * t702 + 0.65854491829355115987e0 * t700 * t208 * t1631 * t702 - 0.65854491829355115987e0 * t1734 * t1717 * t1735 + 0.65854491829355115987e0 * t169 * t191 * t1650; + const double t1743 = t688 * t1742; + const double t1746 = 0.73171657588172351096e-2 * t1387 * t616 - 0.65049603595885220126e-3 * t1396 * t1506 - 0.10975748638225852664e-1 * t552 * t1510 + 0.10975748638225852664e-1 * t552 * t1513 + 0.11565819519348392139e-2 * t1519 * t1521 + 0.19514881078765566038e-1 * t1524 * t624 - 0.19514881078765566038e-1 * t1528 * t1530 - 0.13009920719177044025e-1 * t622 * t1533 + 0.65854491829355115987e0 * t169 * t1651 * t214 - 0.13170898365871023197e1 * t1655 * t710 + 0.13170898365871023197e1 * t685 * t1662 - 0.65854491829355115987e0 * t685 * t1743; + const double t1749 = t154 * t163 * t1746 * t715; + const double t1751 = t713 * t713; + const double t1753 = t218 * t218; + const double t1754 = 0.1e1 / t1753; + const double t1756 = t154 * t163 * t1751 * t1754; + const double t1758 = -0.73823139888888888888e-3 * t1364 - 0.17808333333333333333e-1 * t1368 - 0.1e1 * t1375 + 0.50000000000000000001e0 * t1400 + 0.80409897493462675337e1 * t1408 + t1481 / 0.2e1 + 0.12207631537337696703e-3 * t1485 + 0.5421790650150869921e-2 * t1489 + 0.5848223622634646207e0 * t1493 - 0.29241118113173231035e0 * t1497 - 0.86579295528407318793e1 * t1501 + t1749 / 0.2e1 - t1756 / 0.2e1; + const double t1761 = 0.14764627977777777777e-2 * t225 * t1165 * t721; + const double t1764 = t731 * t726 * t747 * t748; + const double t1766 = 0.35616666666666666666e-1 * t552 * t1764; + const double t1767 = t725 * t244; + const double t1768 = 0.1e1 / t1767; + const double t1769 = t232 * t1768; + const double t1770 = t747 * t747; + const double t1771 = t1770 * t748; + const double t1773 = 0.2e1 * t1769 * t1771; + const double t1777 = 0.1e1 / t233 / t230 * t91 * t92; + const double t1778 = t17 * t240; + const double t1779 = t1395 * t1778; + const double t1780 = t1777 * t1779; + const double t1782 = t1362 * t731; + const double t1783 = t730 * t1782; + const double t1785 = t1165 * t228; + const double t1786 = t225 * t1785; + const double t1788 = 0.1e1/safe_math::sqrt( t230 ); + const double t1790 = t1788 * t91 * t92; + const double t1791 = t1790 * t1779; + const double t1793 = t740 * t1782; + const double t1796 = t238 * t1148 * t240; + const double t1798 = -0.42198333333333333333e0 * t1780 + 0.84396666666666666666e0 * t1783 + 0.39862222222222222223e0 * t1786 + 0.68258333333333333333e-1 * t1791 + 0.13651666666666666667e0 * t1793 + 0.13692777777777777778e0 * t1796; + const double t1801 = 0.1e1 * t727 * t1798 * t748; + const double t1802 = t725 * t725; + const double t1803 = 0.1e1 / t1802; + const double t1804 = t232 * t1803; + const double t1805 = t247 * t247; + const double t1806 = 0.1e1 / t1805; + const double t1807 = t1770 * t1806; + const double t1809 = 0.16081979498692535067e2 * t1804 * t1807; + const double t1815 = t731 * t757 * t763 * t764; + const double t1818 = t756 * t264; + const double t1819 = 0.1e1 / t1818; + const double t1820 = t259 * t1819; + const double t1821 = t763 * t763; + const double t1822 = t1821 * t764; + const double t1831 = -0.78438333333333333333e0 * t1780 + 0.15687666666666666667e1 * t1783 + 0.68863333333333333333e0 * t1786 + 0.14025833333333333333e0 * t1791 + 0.28051666666666666667e0 * t1793 + 0.17365833333333333333e0 * t1796; + const double t1835 = t756 * t756; + const double t1836 = 0.1e1 / t1835; + const double t1837 = t259 * t1836; + const double t1838 = t267 * t267; + const double t1839 = 0.1e1 / t1838; + const double t1840 = t1821 * t1839; + const double t1846 = t731 * t793; + const double t1849 = t772 * t277; + const double t1850 = 0.1e1 / t1849; + const double t1851 = t272 * t1850; + const double t1852 = t779 * t779; + const double t1853 = t1852 * t780; + const double t1862 = -0.57538888888888888889e0 * t1780 + 0.11507777777777777778e1 * t1783 + 0.40256666666666666667e0 * t1786 + 0.366775e-1 * t1791 + 0.73355e-1 * t1793 + 0.137975e0 * t1796; + const double t1863 = t1862 * t780; + const double t1866 = t772 * t772; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t272 * t1867; + const double t1869 = t280 * t280; + const double t1870 = 0.1e1 / t1869; + const double t1871 = t1852 * t1870; + const double t1874 = -0.70983522622222222221e-3 * t225 * t1165 * t752 - 0.34246666666666666666e-1 * t552 * t1815 - 0.2e1 * t1820 * t1822 + 0.1e1 * t758 * t1831 * t764 + 0.32163958997385070134e2 * t1837 * t1840 + t1761 + t1766 + t1773 - t1801 - t1809 - 0.24415263074675393405e-3 * t225 * t1165 * t768 - 0.10843581300301739842e-1 * t552 * t1846 - 0.11696447245269292414e1 * t1851 * t1853 + 0.5848223622634646207e0 * t774 * t1863 + 0.17315859105681463759e2 * t1868 * t1871; + const double t1875 = t257 * t1874; + const double t1878 = 0.24415263074675393405e-3 * t786 * t1362 * t787; + const double t1879 = t257 * t225; + const double t1882 = 0.10843581300301739842e-1 * t1879 * t735 * t793; + const double t1884 = t1850 * t1852 * t780; + const double t1886 = 0.11696447245269292414e1 * t791 * t1884; + const double t1888 = t773 * t1862 * t780; + const double t1890 = 0.5848223622634646207e0 * t791 * t1888; + const double t1891 = t1867 * t1852; + const double t1892 = t1891 * t1870; + const double t1894 = 0.17315859105681463759e2 * t791 * t1892; + const double t1896 = t78 * t1362 * t16; + const double t1899 = t1395 * t17; + const double t1900 = t93 * t1899; + const double t1901 = t240 * t803; + const double t1902 = t1901 * t338; + const double t1905 = t798 * t852; + const double t1908 = t798 * t330; + const double t1909 = t1908 * t876; + const double t1913 = 0.1e1 / t802 / t297; + const double t1914 = t295 * t1913; + const double t1915 = t1914 * t338; + const double t1918 = t804 * t852; + const double t1921 = t804 * t330; + const double t1922 = t858 * t41; + const double t1923 = t1921 * t1922; + const double t1924 = t731 * t875; + const double t1925 = t549 * t1924; + const double t1930 = t1538 * t301; + const double t1934 = t633 * t1544 * t17; + const double t1937 = t1550 * t803; + const double t1938 = t1937 * t181; + const double t1942 = t647 * t645 * t813; + const double t1943 = t865 * t192; + const double t1944 = t834 * t839; + const double t1945 = t1944 * t841; + const double t1946 = t1943 * t1945; + const double t1949 = t1914 * t181; + const double t1950 = t1550 * t321; + const double t1954 = t804 * t652; + const double t1955 = t635 * t834; + const double t1957 = t1954 * t832 * t1955; + const double t1959 = t303 * t839; + const double t1961 = t1958 * t1959 * t841; + const double t1969 = t647 * t645 * t303; + const double t1971 = t298 * t652 * t831; + const double t1972 = t192 * t834; + const double t1973 = t839 * t314; + const double t1974 = t1972 * t1973; + const double t1975 = t1971 * t1974; + const double t1978 = t304 * t1973; + const double t1979 = t647 * t1978; + const double t1982 = t299 * t1601; + const double t1984 = 0.1e1 / t830 / t315; + const double t1985 = t1984 * t192; + const double t1986 = t320 * t320; + const double t1988 = 0.1e1 / t1986 / t292; + const double t1989 = t197 * t1988; + const double t1991 = t1982 * t1985 * t1989; + const double t1992 = t839 * t839; + const double t1993 = t325 * t1992; + const double t1994 = t314 * t314; + const double t1995 = t1615 * t1994; + const double t1997 = t838 * t1993 * t1995; + const double t2000 = t674 * t834; + const double t2002 = t829 * t832 * t2000; + const double t2005 = -t1761 - t1766 - t1773 + t1801 + t1809 + t1875 + t1878 + t1882 + t1886 - t1890 - t1894; + const double t2008 = t838 * t325 * t2005 * t841; + const double t2012 = t1982 * t832 * t1989; + const double t2013 = t1615 * t314; + const double t2015 = t838 * t1993 * t2013; + const double t2022 = 0.35e2 / 0.432e3 * t1930 * t305 + 0.15244095330869239812e-3 * t1934 * t816 - 0.10164000561857065645e-4 * t1938 * t815 - 0.14291339372689912324e-4 * t1942 * t1946 + 0.18071592998981862718e-4 * t1949 * t317 * t1950 + 0.25410001404642664113e-4 * t1957 * t1961 - 0.27104001498285508387e-3 * t819 * t317 * t1543 * t826 - 0.14104986597016199223e-3 * t1969 * t1975 + 0.2507866616949480222e-3 * t1957 * t1979 + 0.85748036236139473944e-3 * t1991 * t1997 - 0.40015750243531754508e-2 * t2002 * t843 + 0.42874018118069736972e-3 * t837 * t2008 - 0.42874018118069736972e-3 * t2012 * t2015 + 0.11337795902333997111e-1 * t308 * t317 * t1644 * t327; + const double t2024 = t2022 * t181 * t337; + const double t2027 = t299 * t850; + const double t2031 = 0.1e1 / t856 / t336; + const double t2032 = t181 * t2031; + const double t2033 = t875 * t875; + const double t2034 = t2032 * t2033; + const double t2039 = t1901 * t333; + const double t2043 = t225 * t720 * t798; + const double t2044 = t865 * t330; + const double t2045 = t839 * t42; + const double t2046 = t311 * t314; + const double t2047 = t2045 * t2046; + const double t2048 = t2044 * t2047; + const double t2051 = t798 * t872; + const double t2054 = t1914 * t333; + const double t2057 = t831 * t330; + const double t2058 = t2057 * t78; + const double t2059 = t1954 * t2058; + const double t2060 = t732 * t2047; + const double t2063 = t804 * t872; + const double t2068 = t867 * t2046; + const double t2069 = t1971 * t2068; + const double t2072 = t839 * t311; + const double t2073 = t2057 * t2072; + const double t2074 = t1954 * t2073; + const double t2075 = t314 * t41; + const double t2076 = t2075 * t77; + const double t2077 = t2076 * t732; + const double t2080 = t1601 * t1984; + const double t2081 = t299 * t2080; + const double t2082 = t330 * t1992; + const double t2084 = 0.1e1 / t320 / t292; + const double t2085 = t1615 * t2084; + const double t2086 = t2085 * t1994; + const double t2090 = t850 * t839; + const double t2094 = t330 * t2005; + const double t2098 = t1601 * t831; + const double t2099 = t299 * t2098; + const double t2100 = t2085 * t314; + const double t2104 = t332 * t2022; + const double t2107 = 0.73171657588172351096e-2 * t1896 * t859 - 0.65049603595885220126e-3 * t1900 * t2039 - 0.54878743191129263322e-2 * t2043 * t2048 - 0.10975748638225852664e-1 * t797 * t2051 + 0.11565819519348392139e-2 * t2054 * t1796 + 0.9757440539382783019e-2 * t2059 * t2060 + 0.19514881078765566038e-1 * t2063 * t736 - 0.13009920719177044025e-1 * t862 * t1786 - 0.54163148532542205016e-1 * t736 * t2069 + 0.9630207809086004052e-1 * t2074 * t2077 + 0.13170898365871023197e1 * t2081 * t2082 * t2086 + 0.13170898365871023197e1 * t866 * t2090 * t868 + 0.65854491829355115987e0 * t866 * t2094 * t868 - 0.65854491829355115987e0 * t2099 * t2082 * t2100 + 0.65854491829355115987e0 * t299 * t2104; + const double t2108 = t858 * t2107; + const double t2111 = 0.73171657588172351096e-2 * t1896 * t799 - 0.65049603595885220126e-3 * t1900 * t1902 - 0.10975748638225852664e-1 * t797 * t1905 + 0.10975748638225852664e-1 * t797 * t1909 + 0.11565819519348392139e-2 * t1915 * t1796 + 0.19514881078765566038e-1 * t1918 * t736 - 0.19514881078765566038e-1 * t1923 * t1925 - 0.13009920719177044025e-1 * t805 * t1786 + 0.65854491829355115987e0 * t299 * t2024 - 0.13170898365871023197e1 * t2027 * t876 + 0.13170898365871023197e1 * t855 * t2034 - 0.65854491829355115987e0 * t855 * t2108; + const double t2115 = t879 * t879; + const double t2117 = t341 * t341; + const double t2118 = 0.1e1 / t2117; + const double t2121 = t154 * t293 * t2111 * t881 - t154 * t293 * t2115 * t2118 - t1761 - t1766 - t1773 + t1801 + t1809 + t1875 + t1878 + t1882 + t1886 - t1890 - t1894; + const double t2122 = -t1442 - t1443 - t1444 + t1445 + t1446 + t1481 + t1626 + t1627 + t1628 - t1629 - t1630 + t1749 - t1756; + const double t2123 = piecewise_functor_3( t346, t2121, t2122 ); + const double t2126 = piecewise_functor_3( t75, t1758, t2123 * t24 / 0.2e1 ); + const double t2129 = 0.14764627977777777777e-2 * t225 * t1165 * t890; + const double t2132 = t900 * t895 * t915 * t916; + const double t2134 = 0.35616666666666666666e-1 * t552 * t2132; + const double t2135 = t894 * t366; + const double t2136 = 0.1e1 / t2135; + const double t2137 = t356 * t2136; + const double t2138 = t915 * t915; + const double t2139 = t2138 * t916; + const double t2141 = 0.2e1 * t2137 * t2139; + const double t2145 = 0.1e1 / t357 / t354 * t91 * t92; + const double t2146 = t17 * t362; + const double t2147 = t1395 * t2146; + const double t2148 = t2145 * t2147; + const double t2150 = t1362 * t900; + const double t2151 = t899 * t2150; + const double t2153 = t1165 * t352; + const double t2154 = t225 * t2153; + const double t2156 = 0.1e1/safe_math::sqrt( t354 ); + const double t2158 = t2156 * t91 * t92; + const double t2159 = t2158 * t2147; + const double t2161 = t909 * t2150; + const double t2164 = t238 * t1148 * t362; + const double t2166 = -0.42198333333333333333e0 * t2148 + 0.84396666666666666666e0 * t2151 + 0.39862222222222222223e0 * t2154 + 0.68258333333333333333e-1 * t2159 + 0.13651666666666666667e0 * t2161 + 0.13692777777777777778e0 * t2164; + const double t2169 = 0.1e1 * t896 * t2166 * t916; + const double t2170 = t894 * t894; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t356 * t2171; + const double t2173 = t369 * t369; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2138 * t2174; + const double t2177 = 0.16081979498692535067e2 * t2172 * t2175; + const double t2183 = t900 * t925 * t931 * t932; + const double t2186 = t924 * t379; + const double t2187 = 0.1e1 / t2186; + const double t2188 = t374 * t2187; + const double t2189 = t931 * t931; + const double t2190 = t2189 * t932; + const double t2199 = -0.78438333333333333333e0 * t2148 + 0.15687666666666666667e1 * t2151 + 0.68863333333333333333e0 * t2154 + 0.14025833333333333333e0 * t2159 + 0.28051666666666666667e0 * t2161 + 0.17365833333333333333e0 * t2164; + const double t2203 = t924 * t924; + const double t2204 = 0.1e1 / t2203; + const double t2205 = t374 * t2204; + const double t2206 = t382 * t382; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t2189 * t2207; + const double t2214 = t900 * t960; + const double t2217 = t940 * t392; + const double t2218 = 0.1e1 / t2217; + const double t2219 = t387 * t2218; + const double t2220 = t947 * t947; + const double t2221 = t2220 * t948; + const double t2230 = -0.57538888888888888889e0 * t2148 + 0.11507777777777777778e1 * t2151 + 0.40256666666666666667e0 * t2154 + 0.366775e-1 * t2159 + 0.73355e-1 * t2161 + 0.137975e0 * t2164; + const double t2231 = t2230 * t948; + const double t2234 = t940 * t940; + const double t2235 = 0.1e1 / t2234; + const double t2236 = t387 * t2235; + const double t2237 = t395 * t395; + const double t2238 = 0.1e1 / t2237; + const double t2239 = t2220 * t2238; + const double t2242 = -0.70983522622222222221e-3 * t225 * t1165 * t920 - 0.34246666666666666666e-1 * t552 * t2183 - 0.2e1 * t2188 * t2190 + 0.1e1 * t926 * t2199 * t932 + 0.32163958997385070134e2 * t2205 * t2208 + t2129 + t2134 + t2141 - t2169 - t2177 - 0.24415263074675393405e-3 * t225 * t1165 * t936 - 0.10843581300301739842e-1 * t552 * t2214 - 0.11696447245269292414e1 * t2219 * t2221 + 0.5848223622634646207e0 * t942 * t2231 + 0.17315859105681463759e2 * t2236 * t2239; + const double t2243 = t257 * t2242; + const double t2246 = 0.24415263074675393405e-3 * t786 * t1362 * t954; + const double t2249 = 0.10843581300301739842e-1 * t1879 * t904 * t960; + const double t2251 = t2218 * t2220 * t948; + const double t2253 = 0.11696447245269292414e1 * t958 * t2251; + const double t2255 = t941 * t2230 * t948; + const double t2257 = 0.5848223622634646207e0 * t958 * t2255; + const double t2258 = t2235 * t2220; + const double t2259 = t2258 * t2238; + const double t2261 = 0.17315859105681463759e2 * t958 * t2259; + const double t2264 = t362 * t968; + const double t2265 = t2264 * t437; + const double t2268 = t963 * t1007; + const double t2271 = t963 * t429; + const double t2272 = t2271 * t1031; + const double t2276 = 0.1e1 / t967 / t406; + const double t2277 = t404 * t2276; + const double t2278 = t2277 * t437; + const double t2281 = t969 * t1007; + const double t2284 = t969 * t429; + const double t2285 = t1013 * t41; + const double t2286 = t2284 * t2285; + const double t2287 = t900 * t1030; + const double t2288 = t549 * t2287; + const double t2297 = t1550 * t968; + const double t2298 = t2297 * t181; + const double t2302 = t647 * t645 * t975; + const double t2303 = t1020 * t192; + const double t2304 = t834 * t994; + const double t2305 = t2304 * t996; + const double t2306 = t2303 * t2305; + const double t2309 = t2277 * t181; + const double t2313 = t969 * t652; + const double t2315 = t2313 * t991 * t1955; + const double t2316 = t409 * t994; + const double t2318 = t1958 * t2316 * t996; + const double t2326 = t647 * t645 * t409; + const double t2328 = t407 * t652 * t990; + const double t2329 = t994 * t418; + const double t2330 = t1972 * t2329; + const double t2331 = t2328 * t2330; + const double t2334 = t410 * t2329; + const double t2335 = t647 * t2334; + const double t2338 = t408 * t1601; + const double t2340 = 0.1e1 / t989 / t419; + const double t2341 = t2340 * t192; + const double t2343 = t2338 * t2341 * t1989; + const double t2344 = t994 * t994; + const double t2345 = t424 * t2344; + const double t2346 = t418 * t418; + const double t2347 = t1615 * t2346; + const double t2349 = t838 * t2345 * t2347; + const double t2353 = t988 * t991 * t2000; + const double t2356 = -t2129 - t2134 - t2141 + t2169 + t2177 + t2243 + t2246 + t2249 + t2253 - t2257 - t2261; + const double t2359 = t838 * t424 * t2356 * t996; + const double t2363 = t2338 * t991 * t1989; + const double t2364 = t1615 * t418; + const double t2366 = t838 * t2345 * t2364; + const double t2373 = 0.35e2 / 0.432e3 * t1930 * t411 + 0.15244095330869239812e-3 * t1934 * t978 - 0.10164000561857065645e-4 * t2298 * t977 - 0.14291339372689912324e-4 * t2302 * t2306 + 0.18071592998981862718e-4 * t2309 * t421 * t1950 + 0.25410001404642664113e-4 * t2315 * t2318 - 0.27104001498285508387e-3 * t981 * t421 * t1543 * t985 - 0.14104986597016199223e-3 * t2326 * t2331 + 0.2507866616949480222e-3 * t2315 * t2335 + 0.85748036236139473944e-3 * t2343 * t2349 - 0.40015750243531754508e-2 * t2353 * t998 + 0.42874018118069736972e-3 * t993 * t2359 - 0.42874018118069736972e-3 * t2363 * t2366 + 0.11337795902333997111e-1 * t414 * t421 * t1644 * t426; + const double t2375 = t2373 * t181 * t436; + const double t2378 = t408 * t1005; + const double t2382 = 0.1e1 / t1011 / t435; + const double t2383 = t181 * t2382; + const double t2384 = t1030 * t1030; + const double t2385 = t2383 * t2384; + const double t2390 = t2264 * t432; + const double t2394 = t225 * t720 * t963; + const double t2395 = t1020 * t429; + const double t2396 = t994 * t42; + const double t2397 = t311 * t418; + const double t2398 = t2396 * t2397; + const double t2399 = t2395 * t2398; + const double t2402 = t963 * t1027; + const double t2405 = t2277 * t432; + const double t2408 = t990 * t429; + const double t2409 = t2408 * t78; + const double t2410 = t2313 * t2409; + const double t2411 = t901 * t2398; + const double t2414 = t969 * t1027; + const double t2419 = t1022 * t2397; + const double t2420 = t2328 * t2419; + const double t2423 = t994 * t311; + const double t2424 = t2408 * t2423; + const double t2425 = t2313 * t2424; + const double t2426 = t418 * t41; + const double t2427 = t2426 * t77; + const double t2428 = t2427 * t901; + const double t2431 = t1601 * t2340; + const double t2432 = t408 * t2431; + const double t2433 = t429 * t2344; + const double t2434 = t2085 * t2346; + const double t2438 = t1005 * t994; + const double t2442 = t429 * t2356; + const double t2446 = t1601 * t990; + const double t2447 = t408 * t2446; + const double t2448 = t2085 * t418; + const double t2452 = t431 * t2373; + const double t2455 = 0.73171657588172351096e-2 * t1896 * t1014 - 0.65049603595885220126e-3 * t1900 * t2390 - 0.54878743191129263322e-2 * t2394 * t2399 - 0.10975748638225852664e-1 * t797 * t2402 + 0.11565819519348392139e-2 * t2405 * t2164 + 0.9757440539382783019e-2 * t2410 * t2411 + 0.19514881078765566038e-1 * t2414 * t905 - 0.13009920719177044025e-1 * t1017 * t2154 - 0.54163148532542205016e-1 * t905 * t2420 + 0.9630207809086004052e-1 * t2425 * t2428 + 0.13170898365871023197e1 * t2432 * t2433 * t2434 + 0.13170898365871023197e1 * t1021 * t2438 * t1023 + 0.65854491829355115987e0 * t1021 * t2442 * t1023 - 0.65854491829355115987e0 * t2447 * t2433 * t2448 + 0.65854491829355115987e0 * t408 * t2452; + const double t2456 = t1013 * t2455; + const double t2459 = 0.73171657588172351096e-2 * t1896 * t964 - 0.65049603595885220126e-3 * t1900 * t2265 - 0.10975748638225852664e-1 * t797 * t2268 + 0.10975748638225852664e-1 * t797 * t2272 + 0.11565819519348392139e-2 * t2278 * t2164 + 0.19514881078765566038e-1 * t2281 * t905 - 0.19514881078765566038e-1 * t2286 * t2288 - 0.13009920719177044025e-1 * t970 * t2154 + 0.65854491829355115987e0 * t408 * t2375 - 0.13170898365871023197e1 * t2378 * t1031 + 0.13170898365871023197e1 * t1010 * t2385 - 0.65854491829355115987e0 * t1010 * t2456; + const double t2463 = t1034 * t1034; + const double t2465 = t440 * t440; + const double t2466 = 0.1e1 / t2465; + const double t2469 = t154 * t293 * t2459 * t1036 - t154 * t293 * t2463 * t2466 - t2129 - t2134 - t2141 + t2169 + t2177 + t2243 + t2246 + t2249 + t2253 - t2257 - t2261; + const double t2470 = piecewise_functor_3( t445, t2469, t2122 ); + const double t2473 = piecewise_functor_3( t75, t1758, t2470 * t31 / 0.2e1 ); + const double t2474 = t2126 + t2473; + const double t2482 = 0.2e1 * t1046 * t1358 + 0.4e1 * t1342 * t533 + 0.2e1 * t62 * t1347 + t1340; + const double t2487 = 0.24415263074675393405e-3 * t1051 * t1484; + const double t2488 = t457 * t78; + const double t2490 = 0.10843581300301739842e-1 * t2488 * t1488; + const double t2492 = 0.11696447245269292414e1 * t1054 * t1492; + const double t2494 = 0.5848223622634646207e0 * t1054 * t1496; + const double t2496 = 0.17315859105681463759e2 * t1054 * t1500; + const double t2499 = t620 * t485; + const double t2500 = t2499 * t1058; + const double t2503 = t168 * t1098; + const double t2504 = t2503 * t1058; + const double t2507 = t1057 * t1127; + const double t2510 = t1518 * t486; + const double t2511 = t491 * t91; + const double t2512 = t2511 * t1381; + const double t2515 = t621 * t1099; + const double t2518 = t486 * t1105; + const double t2519 = t621 * t2518; + const double t2520 = t539 * t1126; + const double t2521 = t78 * t2520; + const double t2524 = t1063 * t1384; + const double t2532 = t17 * t480; + const double t2533 = t475 * t192 * t2532; + const double t2536 = t1080 * t17; + const double t2537 = t1084 * t1087; + const double t2538 = t2537 * t1089; + const double t2539 = t2536 * t2538; + const double t2542 = t1518 * t476; + const double t2546 = t1080 * t645; + const double t2547 = t1572 * t2546; + const double t2549 = t1084 * t91 * t176; + const double t2550 = t79 * t1087; + const double t2551 = t2550 * t1089; + const double t2552 = t2549 * t2551; + const double t2556 = t1582 * t480 * t647; + const double t2559 = t2537 * t473; + const double t2560 = t2536 * t2559; + const double t2563 = t1080 * t635; + const double t2564 = t1572 * t2563; + const double t2565 = t17 * t1084; + const double t2566 = t2565 * t91; + const double t2567 = t1087 * t473; + const double t2569 = t2566 * t177 * t2567; + const double t2573 = 0.1e1 / t1078 / t474; + const double t2574 = t2573 * t192; + const double t2575 = t2574 * t198; + const double t2576 = t1602 * t2575; + const double t2577 = t479 * t479; + const double t2579 = 0.1e1 / t2577 / t461; + const double t2580 = t2579 * t41; + const double t2581 = t2580 * t202; + const double t2582 = t1087 * t1087; + const double t2583 = t80 * t2582; + const double t2584 = t473 * t473; + const double t2585 = t1615 * t2584; + const double t2586 = t2583 * t2585; + const double t2587 = t2581 * t2586; + const double t2590 = t1080 * t675; + const double t2591 = t653 * t2590; + const double t2594 = -t1442 - t1443 - t1444 + t1445 + t1446 + t2487 + t2490 + t2492 - t2494 - t2496; + const double t2596 = t80 * t2594 * t1089; + const double t2597 = t1086 * t2596; + const double t2600 = t1602 * t1081; + const double t2601 = t1615 * t473; + const double t2602 = t2583 * t2601; + const double t2603 = t2581 * t2602; + const double t2607 = t1645 * t480 * t204; + const double t2610 = 0.35e2 / 0.432e3 * t1539 * t465 + 0.76220476654346199061e-4 * t1546 * t1070 - 0.25410001404642664112e-5 * t1552 * t2533 - 0.71456696863449561619e-5 * t1560 * t2539 + 0.45178982497454656791e-5 * t2542 * t1568 * t2532 + 0.12705000702321332056e-4 * t2547 * t2552 - 0.13552000749142754193e-3 * t1073 * t2556 - 0.70524932985080996116e-4 * t1560 * t2560 + 0.1253933308474740111e-3 * t2564 * t2569 + 0.42874018118069736972e-3 * t2576 * t2587 - 0.20007875121765877254e-2 * t2591 * t1091 + 0.21437009059034868486e-3 * t1082 * t2597 - 0.21437009059034868486e-3 * t2600 * t2603 + 0.56688979511669985553e-2 * t478 * t2607; + const double t2611 = t2610 * t181; + const double t2615 = t169 * t1098; + const double t2619 = 0.1e1 / t1104 / t490; + const double t2620 = t181 * t2619; + const double t2621 = t1126 * t1126; + const double t2622 = t2620 * t2621; + const double t2627 = t1667 * t1107; + const double t2630 = t1079 * t485; + const double t2631 = t2630 * t1087; + const double t2632 = t2631 * t1119; + const double t2635 = t475 * t1098; + const double t2636 = t689 * t2635; + const double t2639 = t485 * t91; + const double t2643 = t2630 * t41; + const double t2644 = t1572 * t2643; + const double t2645 = t1087 * t42; + const double t2646 = t470 * t473; + const double t2647 = t2645 * t2646; + const double t2648 = t549 * t2647; + const double t2651 = t1098 * t41; + const double t2658 = t1116 * t485; + const double t2660 = t1087 * t470 * t473; + const double t2661 = t2658 * t2660; + const double t2664 = t1572 * t2631; + const double t2665 = t2646 * t41; + const double t2666 = t2665 * t549; + const double t2669 = t1601 * t2573; + const double t2670 = t169 * t2669; + const double t2671 = t485 * t2582; + const double t2673 = 0.1e1 / t479 / t461; + const double t2674 = t1615 * t2673; + const double t2675 = t2674 * t2584; + const double t2687 = t1601 * t1079; + const double t2688 = t169 * t2687; + const double t2689 = t2674 * t473; + const double t2696 = 0.73171657588172351096e-2 * t1387 * t1108 - 0.65049603595885220126e-3 * t1396 * t2627 - 0.54878743191129263322e-2 * t1673 * t2632 - 0.10975748638225852664e-1 * t552 * t2636 + 0.11565819519348392139e-2 * t2542 * t2639 * t1381 + 0.9757440539382783019e-2 * t2644 * t2648 + 0.19514881078765566038e-1 * t1111 * t2651 * t549 - 0.13009920719177044025e-1 * t1111 * t1112 * t1384 - 0.54163148532542205016e-1 * t1703 * t2661 + 0.9630207809086004052e-1 * t2664 * t2666 + 0.13170898365871023197e1 * t2670 * t2671 * t2675 + 0.13170898365871023197e1 * t1117 * t1098 * t1087 * t1119 + 0.65854491829355115987e0 * t1117 * t485 * t2594 * t1119 - 0.65854491829355115987e0 * t2688 * t2671 * t2689 + 0.65854491829355115987e0 * t169 * t476 * t2610; + const double t2697 = t1106 * t2696; + const double t2700 = 0.73171657588172351096e-2 * t1387 * t1059 - 0.65049603595885220126e-3 * t1396 * t2500 - 0.10975748638225852664e-1 * t552 * t2504 + 0.10975748638225852664e-1 * t552 * t2507 + 0.11565819519348392139e-2 * t2510 * t2512 + 0.19514881078765566038e-1 * t2515 * t1064 - 0.19514881078765566038e-1 * t2519 * t2521 - 0.13009920719177044025e-1 * t1062 * t2524 + 0.65854491829355115987e0 * t169 * t2611 * t491 - 0.13170898365871023197e1 * t2615 * t1127 + 0.13170898365871023197e1 * t1103 * t2622 - 0.65854491829355115987e0 * t1103 * t2697; + const double t2704 = t1130 * t1130; + const double t2706 = t495 * t495; + const double t2707 = 0.1e1 / t2706; + const double t2710 = t154 * t462 * t2700 * t1132 - t154 * t462 * t2704 * t2707 - t1442 - t1443 - t1444 + t1445 + t1446 + t2487 + t2490 + t2492 - t2494 - t2496; + const double t2712 = -0.2e1 * t526 * t1044 + 0.2e1 * t1049 * t1135 - t1340 * t450 - 0.4e1 * t1342 * t534 - 0.2e1 * t1348 * t450 - 0.4e1 * t528 * t1351 - 0.2e1 * t528 * t1359 - t72 * t2474 + t2482 * t499 + t453 * t2710; + const double t2713 = rho * t2712; + const double t2717 = d * t2712; + const double t2721 = t70 * t1347; + const double t2724 = t71 * t1358; + const double t2727 = 0.6e1 * t1141 * t1143 + t2717 * t503 + 0.6e1 * t502 * t2721 + 0.3e1 * t502 * t2724; + const double t2731 = t1315 * t1316 * t1151; + const double t2734 = t2732 * t1322 * t519; + const double t2737 = t17 * t512; + const double t2741 = -0.8e1 / 0.3e1 * t2737 * t28 - 0.8e1 / 0.3e1 * t2737 * t35 + 0.8e1 / 0.3e1 * t512; + const double t2747 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t2731 * t2734 - t509 * t2741 * t41 * t521 / 0.6e1 ); + const double t2748 = t2747 * t71; + const double t2750 = t1156 * t70; + const double t2756 = t63 * t533; + const double t2759 = t1044 * t1161; + const double t2764 = piecewise_functor_3( t69, 0.0, -t529 * t66 / 0.8e1 ); + const double t2765 = t450 * t2764; + const double t2769 = t1249 * t533; + const double t2772 = t168 * t1173; + const double t2773 = t2772 * t615; + const double t2776 = t621 * t1174; + const double t2779 = t628 * t16; + const double t2784 = t191 * t18 * t200; + const double t2787 = t621 * t1169; + const double t2790 = t655 * sigma; + const double t2791 = t2790 * t198; + const double t2792 = t653 * t2791; + const double t2797 = -0.7e1 / 0.288e3 * t2779 * t174 * t647 - 0.14291339372689912324e-4 * t638 * t2784 + 0.25410001404642664113e-4 * t2787 * t648 + 0.42874018118069736972e-3 * t2792 * t669 - 0.20007875121765877254e-2 * t1170 * t677; + const double t2798 = t2797 * t181; + const double t2802 = t169 * t1173; + const double t2805 = t208 * t652; + const double t2806 = t2805 * t687; + const double t2807 = t621 * t2806; + const double t2808 = t1182 * t41; + const double t2809 = t2808 * t549; + const double t2812 = t1178 * t1517; + const double t2813 = t2812 * t2806; + const double t2816 = t1179 * t680; + const double t2819 = t1179 * t2805; + const double t2820 = t1659 * t190; + const double t2821 = t1173 * t709; + const double t2822 = t2820 * t2821; + const double t2825 = t208 * t1601; + const double t2827 = t1179 * t2825 * t687; + const double t2828 = t655 * t1173; + const double t2830 = t2828 * t665 * t702; + const double t2833 = t190 * t2797; + const double t2834 = t1181 * t2833; + const double t2837 = -0.54878743191129263322e-2 * t552 * t2773 + 0.9757440539382783019e-2 * t2776 * t624 + 0.65854491829355115987e0 * t169 * t2798 * t214 - 0.65854491829355115987e0 * t2802 * t710 + 0.72280234901709995518e-2 * t2807 * t2809 - 0.12851425765524037203e-1 * t2813 * t2809 - 0.4336814094102599731e0 * t2816 * t1183 + 0.8673628188205199462e0 * t2819 * t2822 - 0.4336814094102599731e0 * t2827 * t2830 - 0.4336814094102599731e0 * t1180 * t2834; + const double t2841 = t154 * t163; + const double t2842 = t1186 * t1754; + const double t2845 = t154 * t163 * t2837 * t715 - t2841 * t2842 * t713; + const double t2846 = t2845 / 0.2e1; + const double t2847 = t798 * t1202; + const double t2850 = t804 * t1202; + const double t2854 = t628 * t300 * t91; + const double t2857 = t1195 * t321; + const double t2858 = t814 * t2857; + const double t2865 = t831 * sigma; + const double t2867 = t829 * t2865 * t835; + const double t2874 = -0.7e1 / 0.288e3 * t2854 * t305 - 0.28582678745379824648e-4 * t812 * t2858 + 0.50820002809285328225e-4 * t819 * t1195 * t635 * t826 + 0.85748036236139473944e-3 * t2867 * t843 - 0.40015750243531754507e-2 * t308 * t1195 * t674 * t327; + const double t2876 = t2874 * t181 * t337; + const double t2879 = t299 * t1200; + const double t2882 = t1208 * t316; + const double t2883 = t1921 * t2882; + const double t2884 = t1200 * t41; + const double t2885 = t2884 * t77; + const double t2886 = t2885 * t732; + const double t2889 = t1205 * t1913; + const double t2890 = t2889 * t330; + const double t2891 = t2890 * t2882; + const double t2894 = t1206 * t850; + const double t2897 = t330 * t652; + const double t2898 = t1206 * t2897; + const double t2899 = t2031 * t316; + const double t2900 = t1200 * t875; + const double t2901 = t2899 * t2900; + const double t2904 = t330 * t1601; + const double t2906 = t1206 * t2904 * t857; + const double t2907 = t831 * t1200; + const double t2909 = t2907 * t839 * t868; + const double t2912 = t316 * t2874; + const double t2913 = t1208 * t2912; + const double t2916 = -0.54878743191129263322e-2 * t797 * t2847 + 0.9757440539382783019e-2 * t2850 * t736 + 0.65854491829355115987e0 * t299 * t2876 - 0.65854491829355115987e0 * t2879 * t876 + 0.72280234901709995518e-2 * t2883 * t2886 - 0.12851425765524037203e-1 * t2891 * t2886 - 0.4336814094102599731e0 * t2894 * t1210 + 0.8673628188205199462e0 * t2898 * t2901 - 0.4336814094102599731e0 * t2906 * t2909 - 0.4336814094102599731e0 * t1207 * t2913; + const double t2920 = t154 * t293; + const double t2921 = t1213 * t2118; + const double t2925 = piecewise_functor_3( t346, t154 * t293 * t2916 * t881 - t2920 * t2921 * t879, t2845 ); + const double t2928 = piecewise_functor_3( t75, t2846, t2925 * t24 / 0.2e1 ); + const double t2929 = t963 * t1230; + const double t2932 = t969 * t1230; + const double t2937 = t1223 * t321; + const double t2938 = t976 * t2937; + const double t2945 = t990 * sigma; + const double t2947 = t988 * t2945 * t835; + const double t2954 = -0.7e1 / 0.288e3 * t2854 * t411 - 0.28582678745379824648e-4 * t812 * t2938 + 0.50820002809285328225e-4 * t981 * t1223 * t635 * t985 + 0.85748036236139473944e-3 * t2947 * t998 - 0.40015750243531754507e-2 * t414 * t1223 * t674 * t426; + const double t2956 = t2954 * t181 * t436; + const double t2959 = t408 * t1228; + const double t2962 = t1236 * t420; + const double t2963 = t2284 * t2962; + const double t2964 = t1228 * t41; + const double t2965 = t2964 * t77; + const double t2966 = t2965 * t901; + const double t2969 = t1233 * t2276; + const double t2970 = t2969 * t429; + const double t2971 = t2970 * t2962; + const double t2974 = t1234 * t1005; + const double t2977 = t429 * t652; + const double t2978 = t1234 * t2977; + const double t2979 = t2382 * t420; + const double t2980 = t1228 * t1030; + const double t2981 = t2979 * t2980; + const double t2984 = t429 * t1601; + const double t2986 = t1234 * t2984 * t1012; + const double t2987 = t990 * t1228; + const double t2989 = t2987 * t994 * t1023; + const double t2992 = t420 * t2954; + const double t2993 = t1236 * t2992; + const double t2996 = -0.54878743191129263322e-2 * t797 * t2929 + 0.9757440539382783019e-2 * t2932 * t905 + 0.65854491829355115987e0 * t408 * t2956 - 0.65854491829355115987e0 * t2959 * t1031 + 0.72280234901709995518e-2 * t2963 * t2966 - 0.12851425765524037203e-1 * t2971 * t2966 - 0.4336814094102599731e0 * t2974 * t1238 + 0.8673628188205199462e0 * t2978 * t2981 - 0.4336814094102599731e0 * t2986 * t2989 - 0.4336814094102599731e0 * t1235 * t2993; + const double t3000 = t1241 * t2466; + const double t3004 = piecewise_functor_3( t445, t154 * t293 * t2996 * t1036 - t2920 * t3000 * t1034, t2845 ); + const double t3007 = piecewise_functor_3( t75, t2846, t3004 * t31 / 0.2e1 ); + const double t3008 = t2928 + t3007; + const double t3014 = t62 * t533; + const double t3019 = 0.2e1 * t1046 * t2764 + 0.2e1 * t1342 * t1161 + 0.2e1 * t3014 * t1161 + 0.2e1 * t2750 * t533 + t2748; + const double t3023 = t1049 * t152 * t153; + const double t3025 = t168 * t1264; + const double t3026 = t3025 * t1058; + const double t3029 = t621 * t1265; + const double t3036 = t476 * t18 * t480; + const double t3039 = t621 * t1260; + const double t3042 = t1079 * sigma; + const double t3043 = t3042 * t198; + const double t3044 = t653 * t3043; + const double t3049 = -0.7e1 / 0.288e3 * t2779 * t463 * t647 - 0.14291339372689912324e-4 * t638 * t3036 + 0.25410001404642664113e-4 * t3039 * t1075 + 0.42874018118069736972e-3 * t3044 * t1091 - 0.20007875121765877254e-2 * t1261 * t1095; + const double t3050 = t3049 * t181; + const double t3054 = t169 * t1264; + const double t3057 = t485 * t652; + const double t3058 = t3057 * t1105; + const double t3059 = t621 * t3058; + const double t3060 = t1271 * t41; + const double t3061 = t3060 * t549; + const double t3064 = t2812 * t3058; + const double t3067 = t1179 * t1098; + const double t3070 = t1179 * t3057; + const double t3071 = t2619 * t475; + const double t3072 = t1264 * t1126; + const double t3073 = t3071 * t3072; + const double t3076 = t485 * t1601; + const double t3078 = t1179 * t3076 * t1105; + const double t3079 = t1079 * t1264; + const double t3081 = t3079 * t1087 * t1119; + const double t3084 = t475 * t3049; + const double t3085 = t1270 * t3084; + const double t3088 = -0.54878743191129263322e-2 * t552 * t3026 + 0.9757440539382783019e-2 * t3029 * t1064 + 0.65854491829355115987e0 * t169 * t3050 * t491 - 0.65854491829355115987e0 * t3054 * t1127 + 0.72280234901709995518e-2 * t3059 * t3061 - 0.12851425765524037203e-1 * t3064 * t3061 - 0.4336814094102599731e0 * t3067 * t1272 + 0.8673628188205199462e0 * t3070 * t3073 - 0.4336814094102599731e0 * t3078 * t3081 - 0.4336814094102599731e0 * t1269 * t3085; + const double t3089 = t462 * t3088; + const double t3090 = t3089 * t1132; + const double t3092 = t2707 * t1130; + const double t3093 = t1276 * t3092; + const double t3095 = -t1157 * t1044 + t1253 * t1135 - 0.2e1 * t1342 * t1162 - 0.2e1 * t2756 * t1162 - t526 * t1249 + t1256 * t3090 - t1256 * t3093 + t3023 * t1277 - t2748 * t450 - 0.2e1 * t2750 * t534 - 0.2e1 * t528 * t2759 - 0.2e1 * t528 * t2765 - 0.2e1 * t528 * t2769 - t72 * t3008 + t3019 * t499; + const double t3096 = rho * t3095; + const double t3101 = d * t3095; + const double t3107 = t70 * t1161; + const double t3108 = t3107 * t533; + const double t3111 = t71 * t2764; + const double t3114 = 0.3e1 * t1141 * t1284 + 0.3e1 * t1282 * t1143 + t3101 * t503 + 0.6e1 * t502 * t3108 + 0.3e1 * t502 * t3111; + const double t3119 = t1044 * t1293; + const double t3123 = piecewise_functor_3( t69, 0.0, t530 * t1290 / 0.8e1 ); + const double t3124 = t450 * t3123; + const double t3128 = t3123 * t499; + const double t3130 = t1293 * t1135; + const double t3133 = 0.2e1 * t1046 * t3128 + 0.2e1 * t1046 * t3130 - 0.2e1 * t1342 * t1294 - 0.2e1 * t2756 * t1294 + 0.2e1 * t1342 * t1296 + 0.2e1 * t3014 * t1296 - 0.2e1 * t528 * t3119 - 0.2e1 * t528 * t3124; + const double t3134 = rho * t3133; + const double t3139 = d * t3133; + const double t3145 = t70 * t1293; + const double t3146 = t3145 * t533; + const double t3149 = t71 * t3123; + const double t3152 = 0.3e1 * t1141 * t1304 + 0.3e1 * t1302 * t1143 + t3139 * t503 + 0.6e1 * t502 * t3146 + 0.3e1 * t502 * t3149; + const double t3154 = t1151 * t1151; + const double t3159 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1317 * t3154 * t91 * t1323 ); + const double t3160 = t3159 * t71; + const double t3166 = t1161 * t1161; + const double t3167 = t63 * t3166; + const double t3170 = t1249 * t1161; + const double t3173 = piecewise_functor_3( t69, 0.0, 0.0 ); + const double t3174 = t450 * t3173; + const double t3176 = 0.2e1 * t528 * t3174; + const double t3177 = t652 * t190; + const double t3183 = t1554 * t41 * t3181 * t214; + const double t3186 = t1173 * t1173; + const double t3187 = t1179 * t3186; + const double t3188 = t1181 * t190; + const double t3191 = t1178 * t165; + const double t3192 = t3191 * t1517; + const double t3193 = t3192 * t208; + const double t3194 = t1601 * t1659; + const double t3195 = t655 * t3186; + const double t3196 = t3194 * t3195; + const double t3199 = t1601 * t687; + const double t3200 = t3199 * t655; + const double t3201 = t3193 * t3200; + const double t3204 = 0.28234466758480466999e-3 * t1179 * t3177 * t197 * t3183 - 0.8673628188205199462e0 * t3187 * t3188 + 0.57119737665102352616e0 * t3193 * t3196 - 0.1859366460452550541e-3 * t3201 * t205; + const double t3208 = t1186 * t1186; + const double t3212 = -t154 * t163 * t3208 * t1754 + t154 * t163 * t3204 * t715; + const double t3213 = t3212 / 0.2e1; + const double t3214 = t1206 * t652; + const double t3217 = t3214 * t316 * t197 * t321; + const double t3218 = t16 * t325; + const double t3220 = t204 * t3218 * t337; + const double t3223 = t1200 * t1200; + const double t3224 = t1206 * t3223; + const double t3227 = t1205 * t295; + const double t3228 = t3227 * t1913; + const double t3229 = t3228 * t330; + const double t3230 = t1601 * t2031; + const double t3231 = t831 * t3223; + const double t3232 = t3230 * t3231; + const double t3235 = t1601 * t857; + const double t3236 = t3235 * t831; + const double t3237 = t3229 * t3236; + const double t3238 = t197 * t321; + const double t3239 = t3238 * t41; + const double t3240 = t3181 * t3218; + const double t3241 = t3239 * t3240; + const double t3244 = 0.56468933516960933999e-3 * t3217 * t3220 - 0.8673628188205199462e0 * t3224 * t2882 + 0.57119737665102352616e0 * t3229 * t3232 - 0.3718732920905101082e-3 * t3237 * t3241; + const double t3248 = t1213 * t1213; + const double t3253 = piecewise_functor_3( t346, -t154 * t293 * t3248 * t2118 + t154 * t293 * t3244 * t881, t3212 ); + const double t3256 = piecewise_functor_3( t75, t3213, t3253 * t24 / 0.2e1 ); + const double t3257 = t1234 * t652; + const double t3260 = t3257 * t420 * t197 * t321; + const double t3261 = t16 * t424; + const double t3263 = t204 * t3261 * t436; + const double t3266 = t1228 * t1228; + const double t3267 = t1234 * t3266; + const double t3270 = t1233 * t404; + const double t3271 = t3270 * t2276; + const double t3272 = t3271 * t429; + const double t3273 = t1601 * t2382; + const double t3274 = t990 * t3266; + const double t3275 = t3273 * t3274; + const double t3278 = t1601 * t1012; + const double t3279 = t3278 * t990; + const double t3280 = t3272 * t3279; + const double t3281 = t3181 * t3261; + const double t3282 = t3239 * t3281; + const double t3285 = 0.56468933516960933999e-3 * t3260 * t3263 - 0.8673628188205199462e0 * t3267 * t2962 + 0.57119737665102352616e0 * t3272 * t3275 - 0.3718732920905101082e-3 * t3280 * t3282; + const double t3289 = t1241 * t1241; + const double t3294 = piecewise_functor_3( t445, t154 * t293 * t3285 * t1036 - t154 * t293 * t3289 * t2466, t3212 ); + const double t3297 = piecewise_functor_3( t75, t3213, t3294 * t31 / 0.2e1 ); + const double t3298 = t3256 + t3297; + const double t3305 = 0.2e1 * t1046 * t3173; + const double t3306 = 0.4e1 * t2750 * t1161 + 0.2e1 * t62 * t3166 + t3160 + t3305; + const double t3309 = t1253 * t152 * t153; + const double t3312 = t652 * t475; + const double t3317 = t2532 * t41 * t3181 * t491; + const double t3320 = t1264 * t1264; + const double t3321 = t1179 * t3320; + const double t3322 = t1270 * t475; + const double t3325 = t3192 * t485; + const double t3326 = t1601 * t2619; + const double t3327 = t1079 * t3320; + const double t3328 = t3326 * t3327; + const double t3331 = t1601 * t1105; + const double t3332 = t3331 * t1079; + const double t3333 = t3325 * t3332; + const double t3336 = 0.28234466758480466999e-3 * t1179 * t3312 * t197 * t3317 - 0.8673628188205199462e0 * t3321 * t3322 + 0.57119737665102352616e0 * t3325 * t3328 - 0.1859366460452550541e-3 * t3333 * t482; + const double t3337 = t462 * t3336; + const double t3338 = t3337 * t1132; + const double t3340 = t1275 * t1275; + const double t3341 = t462 * t3340; + const double t3342 = t3341 * t2707; + const double t3344 = -0.2e1 * t1157 * t1249 - 0.4e1 * t2750 * t1162 + t1256 * t3338 - t1256 * t3342 + 0.2e1 * t3309 * t1277 - t3160 * t450 - 0.2e1 * t3167 * t450 - 0.4e1 * t528 * t3170 - t72 * t3298 + t3306 * t499 - t3176; + const double t3345 = rho * t3344; + const double t3349 = d * t3344; + const double t3353 = t70 * t3166; + const double t3356 = t71 * t3173; + const double t3358 = 0.3e1 * t502 * t3356; + const double t3359 = 0.6e1 * t1282 * t1284 + t3349 * t503 + 0.6e1 * t502 * t3353 + t3358; + const double t3362 = t63 * t1161; + const double t3364 = t1249 * t1293; + const double t3368 = piecewise_functor_3( t69, 0.0, -t64 * t1290 / 0.8e1 ); + const double t3369 = t450 * t3368; + const double t3372 = t62 * t1161; + const double t3374 = t3368 * t499; + const double t3376 = t1293 * t152; + const double t3377 = t1046 * t3376; + const double t3378 = t153 * t462; + const double t3380 = t3378 * t1275 * t1132; + const double t3383 = 0.2e1 * t1046 * t3374 - 0.2e1 * t2750 * t1294 - 0.2e1 * t3362 * t1294 + 0.2e1 * t2750 * t1296 + 0.2e1 * t3372 * t1296 - 0.2e1 * t528 * t3364 - 0.2e1 * t528 * t3369 + 0.2e1 * t3377 * t3380; + const double t3384 = rho * t3383; + const double t3388 = d * t3383; + const double t3394 = t3145 * t1161; + const double t3397 = t71 * t3368; + const double t3400 = 0.3e1 * t1282 * t1304 + 0.3e1 * t1302 * t1284 + t3388 * t503 + 0.6e1 * t502 * t3394 + 0.3e1 * t502 * t3397; + const double t3402 = t1293 * t1293; + const double t3403 = t63 * t3402; + const double t3406 = 0.1e1 / t1289 / tau; + const double t3409 = piecewise_functor_3( t69, 0.0, t65 * t3406 / 0.4e1 ); + const double t3410 = t450 * t3409; + const double t3412 = t62 * t3402; + const double t3414 = t3409 * t499; + const double t3417 = 0.2e1 * t1046 * t3414 - 0.2e1 * t3403 * t450 - 0.2e1 * t528 * t3410 + 0.2e1 * t3412 * t499; + const double t3418 = rho * t3417; + const double t3422 = d * t3417; + const double t3426 = t70 * t3402; + const double t3429 = t71 * t3409; + const double t3432 = 0.6e1 * t1302 * t1304 + t3422 * t503 + 0.6e1 * t502 * t3426 + 0.3e1 * t502 * t3429; + + + v2rho2 = 0.2e1 * t1137 * t505 + 0.2e1 * t1138 * t1146 + t1140 * t2727 + 0.2e1 * t501 * t1146 + t2713 * t505; + v2rhosigma = t1138 * t1287 + t1140 * t3114 + t1280 * t1146 + t1279 * t505 + t501 * t1287 + t3096 * t505; + v2rholapl = 0.e0; + v2rhotau = t1138 * t1307 + t1140 * t3152 + t1300 * t1146 + t1299 * t505 + t501 * t1307 + t3134 * t505; + v2sigma2 = t1140 * t3359 + 0.2e1 * t1280 * t1287 + t3345 * t505; + v2sigmalapl = 0.e0; + v2sigmatau = t1140 * t3400 + t1280 * t1307 + t1300 * t1287 + t3384 * t505; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t1140 * t3432 + 0.2e1 * t1300 * t1307 + t3418 * t505; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t176 = 0.1e1 / t77; + constexpr double t177 = t176 * t79; + constexpr double t202 = 0.1e1 / t92; + constexpr double t203 = t41 * t202; + constexpr double t204 = t203 * t80; + constexpr double t225 = t78 * t80; + constexpr double t238 = t93 * t79; + constexpr double t324 = t80 * t16; + constexpr double t548 = t77 * t80; + constexpr double t633 = t91 * t176; + constexpr double t647 = t633 * t79; + constexpr double t824 = t79 * t17; + constexpr double t838 = t203 * t324; + constexpr double t1321 = 0.1e1 / t43 / t42; + constexpr double t1380 = t92 * t79; + constexpr double t1615 = t42 * t42; + constexpr double t1958 = t633 * t824; + constexpr double t2732 = t91 * t1321; + constexpr double t3181 = t202 * t80; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 + 0.25e-1 * t83; + const double t167 = 0.1e1 + 0.4445e-1 * t83; + const double t168 = 0.1e1 / t167; + const double t169 = t165 * t168; + const double t171 = 0.1e1 / t20 / t19; + const double t172 = sigma * t171; + const double t173 = t172 * t16; + const double t174 = 0.1e1 / t162; + const double t178 = t174 * t91 * t177; + const double t181 = 0.1e1 / t152; + const double t182 = 0.19751673498613801407e-1 * t149; + const double t185 = 0.1e1 / t163; + const double t186 = t42 * t185; + const double t188 = safe_math::exp( -( -t130 + t146 + t182 ) * t181 * t186 ); + const double t189 = t188 - 0.1e1; + const double t190 = 0.1e1 / t189; + const double t191 = t181 * t190; + const double t192 = sigma * sigma; + const double t193 = t191 * t192; + const double t194 = t169 * t193; + const double t195 = t19 * t19; + const double t197 = 0.1e1 / t21 / t195; + const double t198 = t197 * t17; + const double t199 = t162 * t162; + const double t200 = 0.1e1 / t199; + const double t201 = t198 * t200; + const double t205 = t201 * t204; + const double t208 = t173 * t178 / 0.96e2 + 0.21437009059034868486e-3 * t194 * t205; + const double t209 = t208 * t181; + const double t210 = t191 * t208; + const double t213 = 0.1e1 + 0.65854491829355115987e0 * t169 * t210; + const double t214 = 0.1e1 / t213; + const double t215 = t209 * t214; + const double t218 = 0.1e1 + 0.65854491829355115987e0 * t169 * t215; + const double t219 = safe_math::log( t218 ); + const double t221 = t154 * t163 * t219; + const double t223 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t221 / 0.2e1; + const double t224 = -t130 + t146 + t182 + t221; + const double t226 = t81 * t16; + const double t227 = 0.1e1 / t24; + const double t228 = safe_math::cbrt( t227 ); + const double t230 = t225 * t226 * t228; + const double t232 = 0.1e1 + 0.53425e-1 * t230; + const double t233 = safe_math::sqrt( t230 ); + const double t236 = pow_3_2( t230 ); + const double t239 = t94 * t17; + const double t240 = t228 * t228; + const double t242 = t238 * t239 * t240; + const double t244 = 0.379785e1 * t233 + 0.8969e0 * t230 + 0.204775e0 * t236 + 0.123235e0 * t242; + const double t247 = 0.1e1 + 0.16081979498692535067e2 / t244; + const double t248 = safe_math::log( t247 ); + const double t250 = 0.621814e-1 * t232 * t248; + const double t251 = 0.2e1 <= zeta_tol; + const double t253 = piecewise_functor_3( t251, t108, 0.2e1 * t16 ); + const double t254 = 0.e0 <= zeta_tol; + const double t255 = piecewise_functor_3( t254, t108, 0.0 ); + const double t257 = ( t253 + t255 - 0.2e1 ) * t116; + const double t259 = 0.1e1 + 0.5137e-1 * t230; + const double t264 = 0.705945e1 * t233 + 0.1549425e1 * t230 + 0.420775e0 * t236 + 0.1562925e0 * t242; + const double t267 = 0.1e1 + 0.32163958997385070134e2 / t264; + const double t268 = safe_math::log( t267 ); + const double t272 = 0.1e1 + 0.278125e-1 * t230; + const double t277 = 0.51785e1 * t233 + 0.905775e0 * t230 + 0.1100325e0 * t236 + 0.1241775e0 * t242; + const double t280 = 0.1e1 + 0.29608749977793437516e2 / t277; + const double t281 = safe_math::log( t280 ); + const double t282 = t272 * t281; + const double t285 = t257 * ( -0.310907e-1 * t259 * t268 + t250 - 0.19751673498613801407e-1 * t282 ); + const double t287 = 0.19751673498613801407e-1 * t257 * t282; + const double t288 = piecewise_functor_3( t251, t155, t17 ); + const double t289 = piecewise_functor_3( t254, t155, 0.0 ); + const double t291 = t288 / 0.2e1 + t289 / 0.2e1; + const double t292 = t291 * t291; + const double t293 = t292 * t291; + const double t295 = 0.1e1 + 0.25e-1 * t230; + const double t297 = 0.1e1 + 0.4445e-1 * t230; + const double t298 = 0.1e1 / t297; + const double t299 = t295 * t298; + const double t300 = 0.1e1 / t292; + const double t301 = t300 * t91; + const double t302 = t172 * t301; + const double t303 = 0.1e1 / t228; + const double t304 = t17 * t303; + const double t305 = t177 * t304; + const double t308 = t299 * t181; + const double t311 = 0.1e1 / t293; + const double t312 = t42 * t311; + const double t314 = safe_math::exp( -( -t250 + t285 + t287 ) * t181 * t312 ); + const double t315 = t314 - 0.1e1; + const double t316 = 0.1e1 / t315; + const double t317 = t316 * t192; + const double t320 = t292 * t292; + const double t321 = 0.1e1 / t320; + const double t322 = t321 * t41; + const double t323 = t322 * t202; + const double t325 = 0.1e1 / t240; + const double t327 = t323 * t324 * t325; + const double t330 = t302 * t305 / 0.96e2 + 0.42874018118069736972e-3 * t308 * t317 * t197 * t327; + const double t331 = t330 * t181; + const double t332 = t181 * t316; + const double t333 = t332 * t330; + const double t336 = 0.1e1 + 0.65854491829355115987e0 * t299 * t333; + const double t337 = 0.1e1 / t336; + const double t338 = t331 * t337; + const double t341 = 0.1e1 + 0.65854491829355115987e0 * t299 * t338; + const double t342 = safe_math::log( t341 ); + const double t345 = t154 * t293 * t342 - t250 + t285 + t287; + const double t346 = t224 < t345; + const double t347 = piecewise_functor_3( t346, t345, t224 ); + const double t350 = piecewise_functor_3( t75, t223, t347 * t24 / 0.2e1 ); + const double t351 = 0.1e1 / t31; + const double t352 = safe_math::cbrt( t351 ); + const double t354 = t225 * t226 * t352; + const double t356 = 0.1e1 + 0.53425e-1 * t354; + const double t357 = safe_math::sqrt( t354 ); + const double t360 = pow_3_2( t354 ); + const double t362 = t352 * t352; + const double t364 = t238 * t239 * t362; + const double t366 = 0.379785e1 * t357 + 0.8969e0 * t354 + 0.204775e0 * t360 + 0.123235e0 * t364; + const double t369 = 0.1e1 + 0.16081979498692535067e2 / t366; + const double t370 = safe_math::log( t369 ); + const double t372 = 0.621814e-1 * t356 * t370; + const double t374 = 0.1e1 + 0.5137e-1 * t354; + const double t379 = 0.705945e1 * t357 + 0.1549425e1 * t354 + 0.420775e0 * t360 + 0.1562925e0 * t364; + const double t382 = 0.1e1 + 0.32163958997385070134e2 / t379; + const double t383 = safe_math::log( t382 ); + const double t387 = 0.1e1 + 0.278125e-1 * t354; + const double t392 = 0.51785e1 * t357 + 0.905775e0 * t354 + 0.1100325e0 * t360 + 0.1241775e0 * t364; + const double t395 = 0.1e1 + 0.29608749977793437516e2 / t392; + const double t396 = safe_math::log( t395 ); + const double t397 = t387 * t396; + const double t400 = t257 * ( -0.310907e-1 * t374 * t383 + t372 - 0.19751673498613801407e-1 * t397 ); + const double t402 = 0.19751673498613801407e-1 * t257 * t397; + const double t404 = 0.1e1 + 0.25e-1 * t354; + const double t406 = 0.1e1 + 0.4445e-1 * t354; + const double t407 = 0.1e1 / t406; + const double t408 = t404 * t407; + const double t409 = 0.1e1 / t352; + const double t410 = t17 * t409; + const double t411 = t177 * t410; + const double t414 = t408 * t181; + const double t418 = safe_math::exp( -( -t372 + t400 + t402 ) * t181 * t312 ); + const double t419 = t418 - 0.1e1; + const double t420 = 0.1e1 / t419; + const double t421 = t420 * t192; + const double t424 = 0.1e1 / t362; + const double t426 = t323 * t324 * t424; + const double t429 = t302 * t411 / 0.96e2 + 0.42874018118069736972e-3 * t414 * t421 * t197 * t426; + const double t430 = t429 * t181; + const double t431 = t181 * t420; + const double t432 = t431 * t429; + const double t435 = 0.1e1 + 0.65854491829355115987e0 * t408 * t432; + const double t436 = 0.1e1 / t435; + const double t437 = t430 * t436; + const double t440 = 0.1e1 + 0.65854491829355115987e0 * t408 * t437; + const double t441 = safe_math::log( t440 ); + const double t444 = t154 * t293 * t441 - t372 + t400 + t402; + const double t445 = t224 < t444; + const double t446 = piecewise_functor_3( t445, t444, t224 ); + const double t449 = piecewise_functor_3( t75, t223, t446 * t31 / 0.2e1 ); + const double t450 = t350 + t449; + const double t453 = t62 * t71 + 0.1e1; + const double t454 = piecewise_functor_3( t10, t108, 1.0 ); + const double t457 = ( 0.2e1 * t454 - 0.2e1 ) * t116; + const double t459 = 0.19751673498613801407e-1 * t457 * t142; + const double t460 = piecewise_functor_3( t10, t155, 1.0 ); + const double t461 = t460 * t460; + const double t462 = t461 * t460; + const double t463 = 0.1e1 / t461; + const double t465 = t463 * t91 * t177; + const double t470 = 0.1e1 / t462; + const double t471 = t42 * t470; + const double t473 = safe_math::exp( -( -t130 + t459 ) * t181 * t471 ); + const double t474 = t473 - 0.1e1; + const double t475 = 0.1e1 / t474; + const double t476 = t181 * t475; + const double t477 = t476 * t192; + const double t478 = t169 * t477; + const double t479 = t461 * t461; + const double t480 = 0.1e1 / t479; + const double t481 = t198 * t480; + const double t482 = t481 * t204; + const double t485 = t173 * t465 / 0.96e2 + 0.21437009059034868486e-3 * t478 * t482; + const double t486 = t485 * t181; + const double t487 = t476 * t485; + const double t490 = 0.1e1 + 0.65854491829355115987e0 * t169 * t487; + const double t491 = 0.1e1 / t490; + const double t492 = t486 * t491; + const double t495 = 0.1e1 + 0.65854491829355115987e0 * t169 * t492; + const double t496 = safe_math::log( t495 ); + const double t499 = t154 * t462 * t496 - t130 + t459; + const double t501 = -t72 * t450 + t453 * t499; + const double t502 = d * t501; + const double t503 = t71 * t70; + const double t505 = t502 * t503 + 0.1e1; + const double tzk0 = t501 * t505; + const double t509 = t5 / t59 / t57 * t15; + const double t510 = t19 * rho; + const double t512 = 0.1e1 / t21 / t510; + const double t519 = -0.8e1 / 0.3e1 * t18 * t512 * t28 - 0.8e1 / 0.3e1 * t18 * t512 * t35 + 0.8e1 / 0.3e1 * sigma * t512; + const double t520 = t519 * t41; + const double t521 = t45 * t53; + const double t525 = piecewise_functor_3( t4, 0.0, -t509 * t520 * t521 / 0.6e1 ); + const double t526 = t525 * t71; + const double t528 = t63 * t70; + const double t529 = 0.1e1 / t19; + const double t530 = sigma * t529; + const double t533 = piecewise_functor_3( t69, 0.0, -t530 * t66 / 0.8e1 ); + const double t534 = t450 * t533; + const double t538 = 0.1e1 / t20 / rho; + const double t539 = t80 * t538; + const double t541 = t78 * t539 * t102; + const double t543 = t98 * t98; + const double t544 = 0.1e1 / t543; + const double t545 = t85 * t544; + const double t547 = 0.1e1 / t86 * t41; + const double t549 = t548 * t538; + const double t550 = t547 * t549; + const double t552 = t78 * t539; + const double t554 = safe_math::sqrt( t83 ); + const double t555 = t554 * t41; + const double t556 = t555 * t549; + const double t559 = 0.1e1 / t21 / rho; + const double t561 = t93 * t79 * t559; + const double t563 = -0.632975e0 * t550 - 0.29896666666666666667e0 * t552 - 0.1023875e0 * t556 - 0.82156666666666666667e-1 * t561; + const double t564 = 0.1e1 / t101; + const double t565 = t563 * t564; + const double t566 = t545 * t565; + const double t571 = t123 * t123; + const double t572 = 0.1e1 / t571; + const double t573 = t118 * t572; + const double t578 = -0.1176575e1 * t550 - 0.516475e0 * t552 - 0.2103875e0 * t556 - 0.104195e0 * t561; + const double t579 = 0.1e1 / t126; + const double t580 = t578 * t579; + const double t583 = 0.11073470983333333333e-2 * t541; + const double t584 = 0.1e1 * t566; + const double t588 = t137 * t137; + const double t589 = 0.1e1 / t588; + const double t590 = t132 * t589; + const double t595 = -0.86308333333333333334e0 * t550 - 0.301925e0 * t552 - 0.5501625e-1 * t556 - 0.82785e-1 * t561; + const double t596 = 0.1e1 / t140; + const double t597 = t595 * t596; + const double t602 = t113 * t116 * ( 0.53237641966666666666e-3 * t78 * t539 * t127 + 0.1e1 * t573 * t580 - t583 - t584 + 0.18311447306006545054e-3 * t78 * t539 * t141 + 0.5848223622634646207e0 * t590 * t597 ); + const double t604 = t148 * t41; + const double t606 = t548 * t538 * t141; + const double t607 = t604 * t606; + const double t609 = t148 * t132; + const double t611 = t589 * t595 * t596; + const double t612 = t609 * t611; + const double t614 = t168 * t208; + const double t615 = t181 * t214; + const double t616 = t614 * t615; + const double t619 = t167 * t167; + const double t620 = 0.1e1 / t619; + const double t621 = t165 * t620; + const double t622 = t621 * t209; + const double t623 = t214 * t41; + const double t624 = t623 * t549; + const double t628 = 0.1e1 / t20 / t510; + const double t629 = sigma * t628; + const double t630 = t629 * t16; + const double t634 = t195 * t19; + const double t635 = 0.1e1 / t634; + const double t636 = t79 * t635; + const double t638 = t633 * t636 * t168; + const double t639 = t192 * t17; + const double t641 = t191 * t639 * t200; + const double t644 = t621 * t193; + const double t645 = t635 * t17; + const double t646 = t645 * t200; + const double t648 = t646 * t647; + const double t651 = t152 * t152; + const double t652 = 0.1e1 / t651; + const double t653 = t169 * t652; + const double t654 = t189 * t189; + const double t655 = 0.1e1 / t654; + const double t656 = t655 * t192; + const double t657 = t656 * t198; + const double t658 = t653 * t657; + const double t660 = 0.1e1 / t199 / t163; + const double t661 = t660 * t41; + const double t662 = t661 * t202; + const double t663 = 0.18311447306006545054e-3 * t607; + const double t664 = 0.5848223622634646207e0 * t612; + const double t665 = t583 + t584 + t602 - t663 - t664; + const double t667 = t42 * t188; + const double t668 = t80 * t665 * t667; + const double t669 = t662 * t668; + const double t672 = t195 * rho; + const double t674 = 0.1e1 / t21 / t672; + const double t675 = t674 * t17; + const double t676 = t675 * t200; + const double t677 = t676 * t204; + const double t680 = -0.7e1 / 0.288e3 * t630 * t178 - 0.71456696863449561619e-5 * t638 * t641 + 0.12705000702321332056e-4 * t644 * t648 + 0.21437009059034868486e-3 * t658 * t669 - 0.10003937560882938627e-2 * t194 * t677; + const double t681 = t680 * t181; + const double t682 = t681 * t214; + const double t685 = t169 * t208; + const double t686 = t213 * t213; + const double t687 = 0.1e1 / t686; + const double t688 = t181 * t687; + const double t689 = t168 * t181; + const double t690 = t190 * t208; + const double t691 = t689 * t690; + const double t694 = t621 * t191; + const double t695 = t208 * t41; + const double t699 = t652 * t655; + const double t700 = t169 * t699; + const double t701 = t208 * t665; + const double t702 = t186 * t188; + const double t703 = t701 * t702; + const double t706 = t191 * t680; + const double t709 = -0.54878743191129263322e-2 * t552 * t691 + 0.9757440539382783019e-2 * t694 * t695 * t549 + 0.65854491829355115987e0 * t700 * t703 + 0.65854491829355115987e0 * t169 * t706; + const double t710 = t688 * t709; + const double t713 = -0.54878743191129263322e-2 * t552 * t616 + 0.9757440539382783019e-2 * t622 * t624 + 0.65854491829355115987e0 * t169 * t682 - 0.65854491829355115987e0 * t685 * t710; + const double t715 = 0.1e1 / t218; + const double t717 = t154 * t163 * t713 * t715; + const double t719 = 0.55367354916666666666e-3 * t541 + 0.50000000000000000001e0 * t566 + t602 / 0.2e1 - 0.91557236530032725272e-4 * t607 - 0.29241118113173231035e0 * t612 + t717 / 0.2e1; + const double t720 = t538 * t16; + const double t721 = t228 * t248; + const double t724 = 0.11073470983333333333e-2 * t225 * t720 * t721; + const double t725 = t244 * t244; + const double t726 = 0.1e1 / t725; + const double t727 = t232 * t726; + const double t730 = 0.1e1 / t233 * t41 * t77; + const double t731 = t16 * t228; + const double t732 = t539 * t731; + const double t733 = t730 * t732; + const double t735 = t720 * t228; + const double t736 = t225 * t735; + const double t738 = safe_math::sqrt( t230 ); + const double t740 = t738 * t41 * t77; + const double t741 = t740 * t732; + const double t743 = t559 * t17; + const double t745 = t238 * t743 * t240; + const double t747 = -0.632975e0 * t733 - 0.29896666666666666667e0 * t736 - 0.1023875e0 * t741 - 0.82156666666666666667e-1 * t745; + const double t748 = 0.1e1 / t247; + const double t749 = t747 * t748; + const double t751 = 0.1e1 * t727 * t749; + const double t752 = t228 * t268; + const double t756 = t264 * t264; + const double t757 = 0.1e1 / t756; + const double t758 = t259 * t757; + const double t763 = -0.1176575e1 * t733 - 0.516475e0 * t736 - 0.2103875e0 * t741 - 0.104195e0 * t745; + const double t764 = 0.1e1 / t267; + const double t765 = t763 * t764; + const double t768 = t228 * t281; + const double t772 = t277 * t277; + const double t773 = 0.1e1 / t772; + const double t774 = t272 * t773; + const double t779 = -0.86308333333333333334e0 * t733 - 0.301925e0 * t736 - 0.5501625e-1 * t741 - 0.82785e-1 * t745; + const double t780 = 0.1e1 / t280; + const double t781 = t779 * t780; + const double t785 = t257 * ( 0.53237641966666666666e-3 * t225 * t720 * t752 + 0.1e1 * t758 * t765 - t724 - t751 + 0.18311447306006545054e-3 * t225 * t720 * t768 + 0.5848223622634646207e0 * t774 * t781 ); + const double t786 = t257 * t78; + const double t787 = t731 * t281; + const double t790 = 0.18311447306006545054e-3 * t786 * t539 * t787; + const double t791 = t257 * t272; + const double t793 = t773 * t779 * t780; + const double t795 = 0.5848223622634646207e0 * t791 * t793; + const double t797 = t78 * t539 * t16; + const double t798 = t228 * t298; + const double t799 = t798 * t338; + const double t802 = t297 * t297; + const double t803 = 0.1e1 / t802; + const double t804 = t295 * t803; + const double t805 = t804 * t338; + const double t808 = t629 * t301; + const double t812 = t633 * t636 * t17; + const double t813 = t303 * t298; + const double t814 = t813 * t181; + const double t815 = t317 * t321; + const double t816 = t814 * t815; + const double t819 = t804 * t181; + const double t822 = t321 * t91; + const double t823 = t822 * t176; + const double t826 = t823 * t824 * t303; + const double t829 = t299 * t652; + const double t830 = t315 * t315; + const double t831 = 0.1e1 / t830; + const double t832 = t831 * t192; + const double t834 = 0.1e1 / t320 / t293; + const double t835 = t197 * t834; + const double t837 = t829 * t832 * t835; + const double t839 = t724 + t751 + t785 - t790 - t795; + const double t841 = t42 * t314; + const double t843 = t838 * t325 * t839 * t841; + const double t850 = -0.7e1 / 0.288e3 * t808 * t305 - 0.14291339372689912324e-4 * t812 * t816 + 0.25410001404642664113e-4 * t819 * t317 * t635 * t826 + 0.42874018118069736972e-3 * t837 * t843 - 0.20007875121765877254e-2 * t308 * t317 * t674 * t327; + const double t852 = t850 * t181 * t337; + const double t855 = t299 * t330; + const double t856 = t336 * t336; + const double t857 = 0.1e1 / t856; + const double t858 = t181 * t857; + const double t859 = t798 * t333; + const double t862 = t804 * t333; + const double t865 = t652 * t831; + const double t866 = t299 * t865; + const double t867 = t330 * t839; + const double t868 = t312 * t314; + const double t869 = t867 * t868; + const double t872 = t332 * t850; + const double t875 = -0.54878743191129263322e-2 * t797 * t859 + 0.9757440539382783019e-2 * t862 * t736 + 0.65854491829355115987e0 * t866 * t869 + 0.65854491829355115987e0 * t299 * t872; + const double t876 = t858 * t875; + const double t879 = -0.54878743191129263322e-2 * t797 * t799 + 0.9757440539382783019e-2 * t805 * t736 + 0.65854491829355115987e0 * t299 * t852 - 0.65854491829355115987e0 * t855 * t876; + const double t881 = 0.1e1 / t341; + const double t885 = t583 + t584 + t602 - t663 - t664 + t717; + const double t886 = piecewise_functor_3( t346, t154 * t293 * t879 * t881 + t724 + t751 + t785 - t790 - t795, t885 ); + const double t889 = piecewise_functor_3( t75, t719, t886 * t24 / 0.2e1 ); + const double t890 = t352 * t370; + const double t893 = 0.11073470983333333333e-2 * t225 * t720 * t890; + const double t894 = t366 * t366; + const double t895 = 0.1e1 / t894; + const double t896 = t356 * t895; + const double t899 = 0.1e1 / t357 * t41 * t77; + const double t900 = t16 * t352; + const double t901 = t539 * t900; + const double t902 = t899 * t901; + const double t904 = t720 * t352; + const double t905 = t225 * t904; + const double t907 = safe_math::sqrt( t354 ); + const double t909 = t907 * t41 * t77; + const double t910 = t909 * t901; + const double t913 = t238 * t743 * t362; + const double t915 = -0.632975e0 * t902 - 0.29896666666666666667e0 * t905 - 0.1023875e0 * t910 - 0.82156666666666666667e-1 * t913; + const double t916 = 0.1e1 / t369; + const double t917 = t915 * t916; + const double t919 = 0.1e1 * t896 * t917; + const double t920 = t352 * t383; + const double t924 = t379 * t379; + const double t925 = 0.1e1 / t924; + const double t926 = t374 * t925; + const double t931 = -0.1176575e1 * t902 - 0.516475e0 * t905 - 0.2103875e0 * t910 - 0.104195e0 * t913; + const double t932 = 0.1e1 / t382; + const double t933 = t931 * t932; + const double t936 = t352 * t396; + const double t940 = t392 * t392; + const double t941 = 0.1e1 / t940; + const double t942 = t387 * t941; + const double t947 = -0.86308333333333333334e0 * t902 - 0.301925e0 * t905 - 0.5501625e-1 * t910 - 0.82785e-1 * t913; + const double t948 = 0.1e1 / t395; + const double t949 = t947 * t948; + const double t953 = t257 * ( 0.53237641966666666666e-3 * t225 * t720 * t920 + 0.1e1 * t926 * t933 - t893 - t919 + 0.18311447306006545054e-3 * t225 * t720 * t936 + 0.5848223622634646207e0 * t942 * t949 ); + const double t954 = t900 * t396; + const double t957 = 0.18311447306006545054e-3 * t786 * t539 * t954; + const double t958 = t257 * t387; + const double t960 = t941 * t947 * t948; + const double t962 = 0.5848223622634646207e0 * t958 * t960; + const double t963 = t352 * t407; + const double t964 = t963 * t437; + const double t967 = t406 * t406; + const double t968 = 0.1e1 / t967; + const double t969 = t404 * t968; + const double t970 = t969 * t437; + const double t975 = t409 * t407; + const double t976 = t975 * t181; + const double t977 = t421 * t321; + const double t978 = t976 * t977; + const double t981 = t969 * t181; + const double t985 = t823 * t824 * t409; + const double t988 = t408 * t652; + const double t989 = t419 * t419; + const double t990 = 0.1e1 / t989; + const double t991 = t990 * t192; + const double t993 = t988 * t991 * t835; + const double t994 = t893 + t919 + t953 - t957 - t962; + const double t996 = t42 * t418; + const double t998 = t838 * t424 * t994 * t996; + const double t1005 = -0.7e1 / 0.288e3 * t808 * t411 - 0.14291339372689912324e-4 * t812 * t978 + 0.25410001404642664113e-4 * t981 * t421 * t635 * t985 + 0.42874018118069736972e-3 * t993 * t998 - 0.20007875121765877254e-2 * t414 * t421 * t674 * t426; + const double t1007 = t1005 * t181 * t436; + const double t1010 = t408 * t429; + const double t1011 = t435 * t435; + const double t1012 = 0.1e1 / t1011; + const double t1013 = t181 * t1012; + const double t1014 = t963 * t432; + const double t1017 = t969 * t432; + const double t1020 = t652 * t990; + const double t1021 = t408 * t1020; + const double t1022 = t429 * t994; + const double t1023 = t312 * t418; + const double t1024 = t1022 * t1023; + const double t1027 = t431 * t1005; + const double t1030 = -0.54878743191129263322e-2 * t797 * t1014 + 0.9757440539382783019e-2 * t1017 * t905 + 0.65854491829355115987e0 * t1021 * t1024 + 0.65854491829355115987e0 * t408 * t1027; + const double t1031 = t1013 * t1030; + const double t1034 = -0.54878743191129263322e-2 * t797 * t964 + 0.9757440539382783019e-2 * t970 * t905 + 0.65854491829355115987e0 * t408 * t1007 - 0.65854491829355115987e0 * t1010 * t1031; + const double t1036 = 0.1e1 / t440; + const double t1040 = piecewise_functor_3( t445, t154 * t293 * t1034 * t1036 + t893 + t919 + t953 - t957 - t962, t885 ); + const double t1043 = piecewise_functor_3( t75, t719, t1040 * t31 / 0.2e1 ); + const double t1044 = t889 + t1043; + const double t1046 = t62 * t70; + const double t1049 = 0.2e1 * t1046 * t533 + t526; + const double t1051 = t457 * t41; + const double t1053 = 0.18311447306006545054e-3 * t1051 * t606; + const double t1054 = t457 * t132; + const double t1056 = 0.5848223622634646207e0 * t1054 * t611; + const double t1057 = t168 * t485; + const double t1058 = t181 * t491; + const double t1059 = t1057 * t1058; + const double t1062 = t621 * t486; + const double t1063 = t491 * t41; + const double t1064 = t1063 * t549; + const double t1070 = t476 * t639 * t480; + const double t1073 = t621 * t477; + const double t1074 = t645 * t480; + const double t1075 = t1074 * t647; + const double t1078 = t474 * t474; + const double t1079 = 0.1e1 / t1078; + const double t1080 = t1079 * t192; + const double t1081 = t1080 * t198; + const double t1082 = t653 * t1081; + const double t1084 = 0.1e1 / t479 / t462; + const double t1085 = t1084 * t41; + const double t1086 = t1085 * t202; + const double t1087 = t583 + t584 - t1053 - t1056; + const double t1089 = t42 * t473; + const double t1090 = t80 * t1087 * t1089; + const double t1091 = t1086 * t1090; + const double t1094 = t675 * t480; + const double t1095 = t1094 * t204; + const double t1098 = -0.7e1 / 0.288e3 * t630 * t465 - 0.71456696863449561619e-5 * t638 * t1070 + 0.12705000702321332056e-4 * t1073 * t1075 + 0.21437009059034868486e-3 * t1082 * t1091 - 0.10003937560882938627e-2 * t478 * t1095; + const double t1099 = t1098 * t181; + const double t1100 = t1099 * t491; + const double t1103 = t169 * t485; + const double t1104 = t490 * t490; + const double t1105 = 0.1e1 / t1104; + const double t1106 = t181 * t1105; + const double t1107 = t475 * t485; + const double t1108 = t689 * t1107; + const double t1111 = t621 * t476; + const double t1112 = t485 * t41; + const double t1116 = t652 * t1079; + const double t1117 = t169 * t1116; + const double t1118 = t485 * t1087; + const double t1119 = t471 * t473; + const double t1120 = t1118 * t1119; + const double t1123 = t476 * t1098; + const double t1126 = -0.54878743191129263322e-2 * t552 * t1108 + 0.9757440539382783019e-2 * t1111 * t1112 * t549 + 0.65854491829355115987e0 * t1117 * t1120 + 0.65854491829355115987e0 * t169 * t1123; + const double t1127 = t1106 * t1126; + const double t1130 = -0.54878743191129263322e-2 * t552 * t1059 + 0.9757440539382783019e-2 * t1062 * t1064 + 0.65854491829355115987e0 * t169 * t1100 - 0.65854491829355115987e0 * t1103 * t1127; + const double t1132 = 0.1e1 / t495; + const double t1135 = t154 * t462 * t1130 * t1132 - t1053 - t1056 + t583 + t584; + const double t1137 = -t72 * t1044 + t1049 * t499 + t453 * t1135 - t526 * t450 - 0.2e1 * t528 * t534; + const double t1138 = rho * t1137; + const double t1140 = rho * t501; + const double t1141 = d * t1137; + const double t1143 = t71 * t533; + const double t1146 = t1141 * t503 + 0.3e1 * t502 * t1143; + const double t1148 = t17 * t23; + const double t1151 = t1148 * t28 + t1148 * t35 - t23; + const double t1156 = piecewise_functor_3( t4, 0.0, -t509 * t1151 * t41 * t521 / 0.6e1 ); + const double t1157 = t1156 * t71; + const double t1161 = piecewise_functor_3( t69, 0.0, t64 * t66 / 0.8e1 ); + const double t1162 = t450 * t1161; + const double t1165 = t171 * t16; + const double t1169 = t191 * sigma; + const double t1170 = t169 * t1169; + const double t1173 = t1165 * t174 * t647 / 0.96e2 + 0.42874018118069736972e-3 * t1170 * t205; + const double t1174 = t1173 * t181; + const double t1175 = t1174 * t214; + const double t1178 = t165 * t165; + const double t1179 = t1178 * t620; + const double t1180 = t1179 * t208; + const double t1181 = t652 * t687; + const double t1182 = t190 * t1173; + const double t1183 = t1181 * t1182; + const double t1186 = 0.65854491829355115987e0 * t169 * t1175 - 0.4336814094102599731e0 * t1180 * t1183; + const double t1189 = t154 * t163 * t1186 * t715; + const double t1190 = t1189 / 0.2e1; + const double t1192 = t171 * t300 * t91; + const double t1195 = t316 * sigma; + const double t1200 = t1192 * t305 / 0.96e2 + 0.85748036236139473944e-3 * t308 * t1195 * t197 * t327; + const double t1202 = t1200 * t181 * t337; + const double t1205 = t295 * t295; + const double t1206 = t1205 * t803; + const double t1207 = t1206 * t330; + const double t1208 = t652 * t857; + const double t1209 = t316 * t1200; + const double t1210 = t1208 * t1209; + const double t1213 = 0.65854491829355115987e0 * t299 * t1202 - 0.4336814094102599731e0 * t1207 * t1210; + const double t1217 = piecewise_functor_3( t346, t154 * t293 * t1213 * t881, t1189 ); + const double t1220 = piecewise_functor_3( t75, t1190, t1217 * t24 / 0.2e1 ); + const double t1223 = t420 * sigma; + const double t1228 = t1192 * t411 / 0.96e2 + 0.85748036236139473944e-3 * t414 * t1223 * t197 * t426; + const double t1230 = t1228 * t181 * t436; + const double t1233 = t404 * t404; + const double t1234 = t1233 * t968; + const double t1235 = t1234 * t429; + const double t1236 = t652 * t1012; + const double t1237 = t420 * t1228; + const double t1238 = t1236 * t1237; + const double t1241 = 0.65854491829355115987e0 * t408 * t1230 - 0.4336814094102599731e0 * t1235 * t1238; + const double t1245 = piecewise_functor_3( t445, t154 * t293 * t1241 * t1036, t1189 ); + const double t1248 = piecewise_functor_3( t75, t1190, t1245 * t31 / 0.2e1 ); + const double t1249 = t1220 + t1248; + const double t1253 = 0.2e1 * t1046 * t1161 + t1157; + const double t1255 = t453 * t152; + const double t1256 = t1255 * t153; + const double t1260 = t476 * sigma; + const double t1261 = t169 * t1260; + const double t1264 = t1165 * t463 * t647 / 0.96e2 + 0.42874018118069736972e-3 * t1261 * t482; + const double t1265 = t1264 * t181; + const double t1266 = t1265 * t491; + const double t1269 = t1179 * t485; + const double t1270 = t652 * t1105; + const double t1271 = t475 * t1264; + const double t1272 = t1270 * t1271; + const double t1275 = 0.65854491829355115987e0 * t169 * t1266 - 0.4336814094102599731e0 * t1269 * t1272; + const double t1276 = t462 * t1275; + const double t1277 = t1276 * t1132; + const double t1279 = -t1157 * t450 - 0.2e1 * t528 * t1162 - t72 * t1249 + t1253 * t499 + t1256 * t1277; + const double t1280 = rho * t1279; + const double t1282 = d * t1279; + const double t1284 = t71 * t1161; + const double t1287 = t1282 * t503 + 0.3e1 * t502 * t1284; + const double t1289 = tau * tau; + const double t1290 = 0.1e1 / t1289; + const double t1293 = piecewise_functor_3( t69, 0.0, -t65 * t1290 / 0.8e1 ); + const double t1294 = t450 * t1293; + const double t1296 = t1293 * t499; + const double t1299 = 0.2e1 * t1046 * t1296 - 0.2e1 * t528 * t1294; + const double t1300 = rho * t1299; + const double t1302 = d * t1299; + const double t1304 = t71 * t1293; + const double t1307 = t1302 * t503 + 0.3e1 * t502 * t1304; + const double t1315 = t5 / t59 / t58; + const double t1316 = t15 * t15; + const double t1317 = t1315 * t1316; + const double t1318 = t519 * t519; + const double t1322 = t53 * t53; + const double t1323 = t1321 * t1322; + const double t1331 = sigma * t197; + const double t1333 = 0.88e2 / 0.9e1 * t18 * t197 * t28 + 0.88e2 / 0.9e1 * t18 * t197 * t35 - 0.88e2 / 0.9e1 * t1331; + const double t1339 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1317 * t1318 * t91 * t1323 - t509 * t1333 * t41 * t521 / 0.6e1 ); + const double t1340 = t1339 * t71; + const double t1342 = t525 * t70; + const double t1347 = t533 * t533; + const double t1348 = t63 * t1347; + const double t1351 = t1044 * t533; + const double t1354 = 0.1e1 / t510; + const double t1355 = sigma * t1354; + const double t1358 = piecewise_functor_3( t69, 0.0, t1355 * t66 / 0.4e1 ); + const double t1359 = t450 * t1358; + const double t1362 = t80 * t171; + const double t1364 = t78 * t1362 * t102; + const double t1366 = t538 * t544; + const double t1368 = t225 * t1366 * t565; + const double t1370 = t543 * t98; + const double t1371 = 0.1e1 / t1370; + const double t1372 = t85 * t1371; + const double t1373 = t563 * t563; + const double t1374 = t1373 * t564; + const double t1375 = t1372 * t1374; + const double t1379 = 0.1e1 / t86 / t83 * t91; + const double t1381 = t1380 * t23; + const double t1382 = t1379 * t1381; + const double t1384 = t548 * t171; + const double t1385 = t547 * t1384; + const double t1387 = t78 * t1362; + const double t1389 = 0.1e1/safe_math::sqrt( t83 ); + const double t1390 = t1389 * t91; + const double t1391 = t1390 * t1381; + const double t1393 = t555 * t1384; + const double t1395 = t79 * t23; + const double t1396 = t93 * t1395; + const double t1398 = -0.42198333333333333333e0 * t1382 + 0.84396666666666666666e0 * t1385 + 0.39862222222222222223e0 * t1387 + 0.68258333333333333333e-1 * t1391 + 0.13651666666666666667e0 * t1393 + 0.13692777777777777778e0 * t1396; + const double t1399 = t1398 * t564; + const double t1400 = t545 * t1399; + const double t1402 = t543 * t543; + const double t1403 = 0.1e1 / t1402; + const double t1404 = t85 * t1403; + const double t1405 = t101 * t101; + const double t1406 = 0.1e1 / t1405; + const double t1407 = t1373 * t1406; + const double t1408 = t1404 * t1407; + const double t1413 = t538 * t572; + const double t1417 = t571 * t123; + const double t1418 = 0.1e1 / t1417; + const double t1419 = t118 * t1418; + const double t1420 = t578 * t578; + const double t1421 = t1420 * t579; + const double t1430 = -0.78438333333333333333e0 * t1382 + 0.15687666666666666667e1 * t1385 + 0.68863333333333333333e0 * t1387 + 0.14025833333333333333e0 * t1391 + 0.28051666666666666667e0 * t1393 + 0.17365833333333333333e0 * t1396; + const double t1431 = t1430 * t579; + const double t1434 = t571 * t571; + const double t1435 = 0.1e1 / t1434; + const double t1436 = t118 * t1435; + const double t1437 = t126 * t126; + const double t1438 = 0.1e1 / t1437; + const double t1439 = t1420 * t1438; + const double t1442 = 0.14764627977777777777e-2 * t1364; + const double t1443 = 0.35616666666666666666e-1 * t1368; + const double t1444 = 0.2e1 * t1375; + const double t1445 = 0.1e1 * t1400; + const double t1446 = 0.16081979498692535067e2 * t1408; + const double t1450 = t538 * t589; + const double t1454 = t588 * t137; + const double t1455 = 0.1e1 / t1454; + const double t1456 = t132 * t1455; + const double t1457 = t595 * t595; + const double t1458 = t1457 * t596; + const double t1467 = -0.57538888888888888889e0 * t1382 + 0.11507777777777777778e1 * t1385 + 0.40256666666666666667e0 * t1387 + 0.366775e-1 * t1391 + 0.73355e-1 * t1393 + 0.137975e0 * t1396; + const double t1468 = t1467 * t596; + const double t1471 = t588 * t588; + const double t1472 = 0.1e1 / t1471; + const double t1473 = t132 * t1472; + const double t1474 = t140 * t140; + const double t1475 = 0.1e1 / t1474; + const double t1476 = t1457 * t1475; + const double t1479 = -0.70983522622222222221e-3 * t78 * t1362 * t127 - 0.34246666666666666666e-1 * t225 * t1413 * t580 - 0.2e1 * t1419 * t1421 + 0.1e1 * t573 * t1431 + 0.32163958997385070134e2 * t1436 * t1439 + t1442 + t1443 + t1444 - t1445 - t1446 - 0.24415263074675393405e-3 * t78 * t1362 * t141 - 0.10843581300301739842e-1 * t225 * t1450 * t597 - 0.11696447245269292414e1 * t1456 * t1458 + 0.5848223622634646207e0 * t590 * t1468 + 0.17315859105681463759e2 * t1473 * t1476; + const double t1481 = t113 * t116 * t1479; + const double t1484 = t548 * t171 * t141; + const double t1485 = t604 * t1484; + const double t1487 = t148 * t78; + const double t1488 = t539 * t611; + const double t1489 = t1487 * t1488; + const double t1492 = t1455 * t1457 * t596; + const double t1493 = t609 * t1492; + const double t1496 = t589 * t1467 * t596; + const double t1497 = t609 * t1496; + const double t1499 = t1472 * t1457; + const double t1500 = t1499 * t1475; + const double t1501 = t609 * t1500; + const double t1505 = t620 * t208; + const double t1506 = t1505 * t615; + const double t1509 = t168 * t680; + const double t1510 = t1509 * t615; + const double t1513 = t614 * t710; + const double t1517 = 0.1e1 / t619 / t167; + const double t1518 = t165 * t1517; + const double t1519 = t1518 * t209; + const double t1520 = t214 * t91; + const double t1521 = t1520 * t1381; + const double t1524 = t621 * t681; + const double t1527 = t209 * t687; + const double t1528 = t621 * t1527; + const double t1529 = t539 * t709; + const double t1530 = t78 * t1529; + const double t1533 = t623 * t1384; + const double t1537 = 0.1e1 / t20 / t195; + const double t1538 = sigma * t1537; + const double t1539 = t1538 * t16; + const double t1542 = t195 * t510; + const double t1543 = 0.1e1 / t1542; + const double t1544 = t79 * t1543; + const double t1546 = t633 * t1544 * t168; + const double t1550 = 0.1e1 / t20 / t1542; + const double t1551 = t1550 * t620; + const double t1552 = t1551 * t181; + const double t1554 = t17 * t200; + const double t1555 = t190 * t192 * t1554; + const double t1558 = t635 * t168; + const double t1560 = t647 * t1558 * t652; + const double t1561 = t656 * t17; + const double t1562 = t660 * t665; + const double t1563 = t1562 * t667; + const double t1564 = t1561 * t1563; + const double t1567 = t1518 * t191; + const double t1568 = t192 * t1550; + const double t1572 = t621 * t652; + const double t1573 = t656 * t645; + const double t1574 = t1572 * t1573; + const double t1576 = t660 * t91 * t176; + const double t1577 = t79 * t665; + const double t1578 = t1577 * t667; + const double t1579 = t1576 * t1578; + const double t1582 = t1543 * t17; + const double t1584 = t1582 * t200 * t647; + const double t1587 = t1562 * t188; + const double t1588 = t1561 * t1587; + const double t1591 = t656 * t635; + const double t1592 = t1572 * t1591; + const double t1593 = t17 * t660; + const double t1594 = t1593 * t91; + const double t1595 = t665 * t188; + const double t1597 = t1594 * t177 * t1595; + const double t1601 = 0.1e1 / t651 / t152; + const double t1602 = t169 * t1601; + const double t1604 = 0.1e1 / t654 / t189; + const double t1605 = t1604 * t192; + const double t1606 = t1605 * t198; + const double t1607 = t1602 * t1606; + const double t1608 = t199 * t199; + const double t1610 = 0.1e1 / t1608 / t162; + const double t1611 = t1610 * t41; + const double t1612 = t1611 * t202; + const double t1613 = t665 * t665; + const double t1614 = t80 * t1613; + const double t1616 = t188 * t188; + const double t1617 = t1615 * t1616; + const double t1618 = t1614 * t1617; + const double t1619 = t1612 * t1618; + const double t1622 = t656 * t675; + const double t1623 = t653 * t1622; + const double t1626 = 0.24415263074675393405e-3 * t1485; + const double t1627 = 0.10843581300301739842e-1 * t1489; + const double t1628 = 0.11696447245269292414e1 * t1493; + const double t1629 = 0.5848223622634646207e0 * t1497; + const double t1630 = 0.17315859105681463759e2 * t1501; + const double t1631 = -t1442 - t1443 - t1444 + t1445 + t1446 + t1481 + t1626 + t1627 + t1628 - t1629 - t1630; + const double t1633 = t80 * t1631 * t667; + const double t1634 = t662 * t1633; + const double t1637 = t1602 * t657; + const double t1638 = t1615 * t188; + const double t1639 = t1614 * t1638; + const double t1640 = t1612 * t1639; + const double t1644 = 0.1e1 / t21 / t634; + const double t1645 = t1644 * t17; + const double t1647 = t1645 * t200 * t204; + const double t1650 = 0.35e2 / 0.432e3 * t1539 * t178 + 0.76220476654346199061e-4 * t1546 * t641 - 0.25410001404642664112e-5 * t1552 * t1555 - 0.71456696863449561619e-5 * t1560 * t1564 + 0.45178982497454656791e-5 * t1567 * t1568 * t1554 + 0.12705000702321332056e-4 * t1574 * t1579 - 0.13552000749142754193e-3 * t644 * t1584 - 0.70524932985080996116e-4 * t1560 * t1588 + 0.1253933308474740111e-3 * t1592 * t1597 + 0.42874018118069736972e-3 * t1607 * t1619 - 0.20007875121765877254e-2 * t1623 * t669 + 0.21437009059034868486e-3 * t658 * t1634 - 0.21437009059034868486e-3 * t1637 * t1640 + 0.56688979511669985553e-2 * t194 * t1647; + const double t1651 = t1650 * t181; + const double t1655 = t169 * t680; + const double t1659 = 0.1e1 / t686 / t213; + const double t1660 = t181 * t1659; + const double t1661 = t709 * t709; + const double t1662 = t1660 * t1661; + const double t1667 = t620 * t181; + const double t1668 = t1667 * t690; + const double t1671 = t538 * t168; + const double t1673 = t225 * t1671 * t652; + const double t1674 = t655 * t208; + const double t1675 = t1674 * t665; + const double t1676 = t1675 * t702; + const double t1679 = t190 * t680; + const double t1680 = t689 * t1679; + const double t1683 = t208 * t91; + const double t1687 = t1674 * t41; + const double t1688 = t1572 * t1687; + const double t1689 = t665 * t42; + const double t1690 = t185 * t188; + const double t1691 = t1689 * t1690; + const double t1692 = t549 * t1691; + const double t1695 = t680 * t41; + const double t1703 = t78 * t539 * t168; + const double t1704 = t699 * t208; + const double t1706 = t665 * t185 * t188; + const double t1707 = t1704 * t1706; + const double t1710 = t1572 * t1675; + const double t1711 = t1690 * t41; + const double t1712 = t1711 * t549; + const double t1715 = t1601 * t1604; + const double t1716 = t169 * t1715; + const double t1717 = t208 * t1613; + const double t1719 = 0.1e1 / t199 / t162; + const double t1720 = t1615 * t1719; + const double t1721 = t1720 * t1616; + const double t1733 = t1601 * t655; + const double t1734 = t169 * t1733; + const double t1735 = t1720 * t188; + const double t1742 = 0.73171657588172351096e-2 * t1387 * t691 - 0.65049603595885220126e-3 * t1396 * t1668 - 0.54878743191129263322e-2 * t1673 * t1676 - 0.10975748638225852664e-1 * t552 * t1680 + 0.11565819519348392139e-2 * t1567 * t1683 * t1381 + 0.9757440539382783019e-2 * t1688 * t1692 + 0.19514881078765566038e-1 * t694 * t1695 * t549 - 0.13009920719177044025e-1 * t694 * t695 * t1384 - 0.54163148532542205016e-1 * t1703 * t1707 + 0.9630207809086004052e-1 * t1710 * t1712 + 0.13170898365871023197e1 * t1716 * t1717 * t1721 + 0.13170898365871023197e1 * t700 * t680 * t665 * t702 + 0.65854491829355115987e0 * t700 * t208 * t1631 * t702 - 0.65854491829355115987e0 * t1734 * t1717 * t1735 + 0.65854491829355115987e0 * t169 * t191 * t1650; + const double t1743 = t688 * t1742; + const double t1746 = 0.73171657588172351096e-2 * t1387 * t616 - 0.65049603595885220126e-3 * t1396 * t1506 - 0.10975748638225852664e-1 * t552 * t1510 + 0.10975748638225852664e-1 * t552 * t1513 + 0.11565819519348392139e-2 * t1519 * t1521 + 0.19514881078765566038e-1 * t1524 * t624 - 0.19514881078765566038e-1 * t1528 * t1530 - 0.13009920719177044025e-1 * t622 * t1533 + 0.65854491829355115987e0 * t169 * t1651 * t214 - 0.13170898365871023197e1 * t1655 * t710 + 0.13170898365871023197e1 * t685 * t1662 - 0.65854491829355115987e0 * t685 * t1743; + const double t1749 = t154 * t163 * t1746 * t715; + const double t1751 = t713 * t713; + const double t1753 = t218 * t218; + const double t1754 = 0.1e1 / t1753; + const double t1756 = t154 * t163 * t1751 * t1754; + const double t1758 = -0.73823139888888888888e-3 * t1364 - 0.17808333333333333333e-1 * t1368 - 0.1e1 * t1375 + 0.50000000000000000001e0 * t1400 + 0.80409897493462675337e1 * t1408 + t1481 / 0.2e1 + 0.12207631537337696703e-3 * t1485 + 0.5421790650150869921e-2 * t1489 + 0.5848223622634646207e0 * t1493 - 0.29241118113173231035e0 * t1497 - 0.86579295528407318793e1 * t1501 + t1749 / 0.2e1 - t1756 / 0.2e1; + const double t1761 = 0.14764627977777777777e-2 * t225 * t1165 * t721; + const double t1764 = t731 * t726 * t747 * t748; + const double t1766 = 0.35616666666666666666e-1 * t552 * t1764; + const double t1767 = t725 * t244; + const double t1768 = 0.1e1 / t1767; + const double t1769 = t232 * t1768; + const double t1770 = t747 * t747; + const double t1771 = t1770 * t748; + const double t1773 = 0.2e1 * t1769 * t1771; + const double t1777 = 0.1e1 / t233 / t230 * t91 * t92; + const double t1778 = t17 * t240; + const double t1779 = t1395 * t1778; + const double t1780 = t1777 * t1779; + const double t1782 = t1362 * t731; + const double t1783 = t730 * t1782; + const double t1785 = t1165 * t228; + const double t1786 = t225 * t1785; + const double t1788 = 0.1e1/safe_math::sqrt( t230 ); + const double t1790 = t1788 * t91 * t92; + const double t1791 = t1790 * t1779; + const double t1793 = t740 * t1782; + const double t1796 = t238 * t1148 * t240; + const double t1798 = -0.42198333333333333333e0 * t1780 + 0.84396666666666666666e0 * t1783 + 0.39862222222222222223e0 * t1786 + 0.68258333333333333333e-1 * t1791 + 0.13651666666666666667e0 * t1793 + 0.13692777777777777778e0 * t1796; + const double t1801 = 0.1e1 * t727 * t1798 * t748; + const double t1802 = t725 * t725; + const double t1803 = 0.1e1 / t1802; + const double t1804 = t232 * t1803; + const double t1805 = t247 * t247; + const double t1806 = 0.1e1 / t1805; + const double t1807 = t1770 * t1806; + const double t1809 = 0.16081979498692535067e2 * t1804 * t1807; + const double t1815 = t731 * t757 * t763 * t764; + const double t1818 = t756 * t264; + const double t1819 = 0.1e1 / t1818; + const double t1820 = t259 * t1819; + const double t1821 = t763 * t763; + const double t1822 = t1821 * t764; + const double t1831 = -0.78438333333333333333e0 * t1780 + 0.15687666666666666667e1 * t1783 + 0.68863333333333333333e0 * t1786 + 0.14025833333333333333e0 * t1791 + 0.28051666666666666667e0 * t1793 + 0.17365833333333333333e0 * t1796; + const double t1835 = t756 * t756; + const double t1836 = 0.1e1 / t1835; + const double t1837 = t259 * t1836; + const double t1838 = t267 * t267; + const double t1839 = 0.1e1 / t1838; + const double t1840 = t1821 * t1839; + const double t1846 = t731 * t793; + const double t1849 = t772 * t277; + const double t1850 = 0.1e1 / t1849; + const double t1851 = t272 * t1850; + const double t1852 = t779 * t779; + const double t1853 = t1852 * t780; + const double t1862 = -0.57538888888888888889e0 * t1780 + 0.11507777777777777778e1 * t1783 + 0.40256666666666666667e0 * t1786 + 0.366775e-1 * t1791 + 0.73355e-1 * t1793 + 0.137975e0 * t1796; + const double t1863 = t1862 * t780; + const double t1866 = t772 * t772; + const double t1867 = 0.1e1 / t1866; + const double t1868 = t272 * t1867; + const double t1869 = t280 * t280; + const double t1870 = 0.1e1 / t1869; + const double t1871 = t1852 * t1870; + const double t1874 = -0.70983522622222222221e-3 * t225 * t1165 * t752 - 0.34246666666666666666e-1 * t552 * t1815 - 0.2e1 * t1820 * t1822 + 0.1e1 * t758 * t1831 * t764 + 0.32163958997385070134e2 * t1837 * t1840 + t1761 + t1766 + t1773 - t1801 - t1809 - 0.24415263074675393405e-3 * t225 * t1165 * t768 - 0.10843581300301739842e-1 * t552 * t1846 - 0.11696447245269292414e1 * t1851 * t1853 + 0.5848223622634646207e0 * t774 * t1863 + 0.17315859105681463759e2 * t1868 * t1871; + const double t1875 = t257 * t1874; + const double t1878 = 0.24415263074675393405e-3 * t786 * t1362 * t787; + const double t1879 = t257 * t225; + const double t1882 = 0.10843581300301739842e-1 * t1879 * t735 * t793; + const double t1884 = t1850 * t1852 * t780; + const double t1886 = 0.11696447245269292414e1 * t791 * t1884; + const double t1888 = t773 * t1862 * t780; + const double t1890 = 0.5848223622634646207e0 * t791 * t1888; + const double t1891 = t1867 * t1852; + const double t1892 = t1891 * t1870; + const double t1894 = 0.17315859105681463759e2 * t791 * t1892; + const double t1896 = t78 * t1362 * t16; + const double t1899 = t1395 * t17; + const double t1900 = t93 * t1899; + const double t1901 = t240 * t803; + const double t1902 = t1901 * t338; + const double t1905 = t798 * t852; + const double t1908 = t798 * t330; + const double t1909 = t1908 * t876; + const double t1913 = 0.1e1 / t802 / t297; + const double t1914 = t295 * t1913; + const double t1915 = t1914 * t338; + const double t1918 = t804 * t852; + const double t1921 = t804 * t330; + const double t1922 = t858 * t41; + const double t1923 = t1921 * t1922; + const double t1924 = t731 * t875; + const double t1925 = t549 * t1924; + const double t1930 = t1538 * t301; + const double t1934 = t633 * t1544 * t17; + const double t1937 = t1550 * t803; + const double t1938 = t1937 * t181; + const double t1942 = t647 * t645 * t813; + const double t1943 = t865 * t192; + const double t1944 = t834 * t839; + const double t1945 = t1944 * t841; + const double t1946 = t1943 * t1945; + const double t1949 = t1914 * t181; + const double t1950 = t1550 * t321; + const double t1954 = t804 * t652; + const double t1955 = t635 * t834; + const double t1957 = t1954 * t832 * t1955; + const double t1959 = t303 * t839; + const double t1961 = t1958 * t1959 * t841; + const double t1969 = t647 * t645 * t303; + const double t1971 = t298 * t652 * t831; + const double t1972 = t192 * t834; + const double t1973 = t839 * t314; + const double t1974 = t1972 * t1973; + const double t1975 = t1971 * t1974; + const double t1978 = t304 * t1973; + const double t1979 = t647 * t1978; + const double t1982 = t299 * t1601; + const double t1984 = 0.1e1 / t830 / t315; + const double t1985 = t1984 * t192; + const double t1986 = t320 * t320; + const double t1988 = 0.1e1 / t1986 / t292; + const double t1989 = t197 * t1988; + const double t1991 = t1982 * t1985 * t1989; + const double t1992 = t839 * t839; + const double t1993 = t325 * t1992; + const double t1994 = t314 * t314; + const double t1995 = t1615 * t1994; + const double t1997 = t838 * t1993 * t1995; + const double t2000 = t674 * t834; + const double t2002 = t829 * t832 * t2000; + const double t2005 = -t1761 - t1766 - t1773 + t1801 + t1809 + t1875 + t1878 + t1882 + t1886 - t1890 - t1894; + const double t2008 = t838 * t325 * t2005 * t841; + const double t2012 = t1982 * t832 * t1989; + const double t2013 = t1615 * t314; + const double t2015 = t838 * t1993 * t2013; + const double t2022 = 0.35e2 / 0.432e3 * t1930 * t305 + 0.15244095330869239812e-3 * t1934 * t816 - 0.10164000561857065645e-4 * t1938 * t815 - 0.14291339372689912324e-4 * t1942 * t1946 + 0.18071592998981862718e-4 * t1949 * t317 * t1950 + 0.25410001404642664113e-4 * t1957 * t1961 - 0.27104001498285508387e-3 * t819 * t317 * t1543 * t826 - 0.14104986597016199223e-3 * t1969 * t1975 + 0.2507866616949480222e-3 * t1957 * t1979 + 0.85748036236139473944e-3 * t1991 * t1997 - 0.40015750243531754508e-2 * t2002 * t843 + 0.42874018118069736972e-3 * t837 * t2008 - 0.42874018118069736972e-3 * t2012 * t2015 + 0.11337795902333997111e-1 * t308 * t317 * t1644 * t327; + const double t2024 = t2022 * t181 * t337; + const double t2027 = t299 * t850; + const double t2031 = 0.1e1 / t856 / t336; + const double t2032 = t181 * t2031; + const double t2033 = t875 * t875; + const double t2034 = t2032 * t2033; + const double t2039 = t1901 * t333; + const double t2043 = t225 * t720 * t798; + const double t2044 = t865 * t330; + const double t2045 = t839 * t42; + const double t2046 = t311 * t314; + const double t2047 = t2045 * t2046; + const double t2048 = t2044 * t2047; + const double t2051 = t798 * t872; + const double t2054 = t1914 * t333; + const double t2057 = t831 * t330; + const double t2058 = t2057 * t78; + const double t2059 = t1954 * t2058; + const double t2060 = t732 * t2047; + const double t2063 = t804 * t872; + const double t2068 = t867 * t2046; + const double t2069 = t1971 * t2068; + const double t2072 = t839 * t311; + const double t2073 = t2057 * t2072; + const double t2074 = t1954 * t2073; + const double t2075 = t314 * t41; + const double t2076 = t2075 * t77; + const double t2077 = t2076 * t732; + const double t2080 = t1601 * t1984; + const double t2081 = t299 * t2080; + const double t2082 = t330 * t1992; + const double t2084 = 0.1e1 / t320 / t292; + const double t2085 = t1615 * t2084; + const double t2086 = t2085 * t1994; + const double t2090 = t850 * t839; + const double t2094 = t330 * t2005; + const double t2098 = t1601 * t831; + const double t2099 = t299 * t2098; + const double t2100 = t2085 * t314; + const double t2104 = t332 * t2022; + const double t2107 = 0.73171657588172351096e-2 * t1896 * t859 - 0.65049603595885220126e-3 * t1900 * t2039 - 0.54878743191129263322e-2 * t2043 * t2048 - 0.10975748638225852664e-1 * t797 * t2051 + 0.11565819519348392139e-2 * t2054 * t1796 + 0.9757440539382783019e-2 * t2059 * t2060 + 0.19514881078765566038e-1 * t2063 * t736 - 0.13009920719177044025e-1 * t862 * t1786 - 0.54163148532542205016e-1 * t736 * t2069 + 0.9630207809086004052e-1 * t2074 * t2077 + 0.13170898365871023197e1 * t2081 * t2082 * t2086 + 0.13170898365871023197e1 * t866 * t2090 * t868 + 0.65854491829355115987e0 * t866 * t2094 * t868 - 0.65854491829355115987e0 * t2099 * t2082 * t2100 + 0.65854491829355115987e0 * t299 * t2104; + const double t2108 = t858 * t2107; + const double t2111 = 0.73171657588172351096e-2 * t1896 * t799 - 0.65049603595885220126e-3 * t1900 * t1902 - 0.10975748638225852664e-1 * t797 * t1905 + 0.10975748638225852664e-1 * t797 * t1909 + 0.11565819519348392139e-2 * t1915 * t1796 + 0.19514881078765566038e-1 * t1918 * t736 - 0.19514881078765566038e-1 * t1923 * t1925 - 0.13009920719177044025e-1 * t805 * t1786 + 0.65854491829355115987e0 * t299 * t2024 - 0.13170898365871023197e1 * t2027 * t876 + 0.13170898365871023197e1 * t855 * t2034 - 0.65854491829355115987e0 * t855 * t2108; + const double t2115 = t879 * t879; + const double t2117 = t341 * t341; + const double t2118 = 0.1e1 / t2117; + const double t2121 = t154 * t293 * t2111 * t881 - t154 * t293 * t2115 * t2118 - t1761 - t1766 - t1773 + t1801 + t1809 + t1875 + t1878 + t1882 + t1886 - t1890 - t1894; + const double t2122 = -t1442 - t1443 - t1444 + t1445 + t1446 + t1481 + t1626 + t1627 + t1628 - t1629 - t1630 + t1749 - t1756; + const double t2123 = piecewise_functor_3( t346, t2121, t2122 ); + const double t2126 = piecewise_functor_3( t75, t1758, t2123 * t24 / 0.2e1 ); + const double t2129 = 0.14764627977777777777e-2 * t225 * t1165 * t890; + const double t2132 = t900 * t895 * t915 * t916; + const double t2134 = 0.35616666666666666666e-1 * t552 * t2132; + const double t2135 = t894 * t366; + const double t2136 = 0.1e1 / t2135; + const double t2137 = t356 * t2136; + const double t2138 = t915 * t915; + const double t2139 = t2138 * t916; + const double t2141 = 0.2e1 * t2137 * t2139; + const double t2145 = 0.1e1 / t357 / t354 * t91 * t92; + const double t2146 = t17 * t362; + const double t2147 = t1395 * t2146; + const double t2148 = t2145 * t2147; + const double t2150 = t1362 * t900; + const double t2151 = t899 * t2150; + const double t2153 = t1165 * t352; + const double t2154 = t225 * t2153; + const double t2156 = 0.1e1/safe_math::sqrt( t354 ); + const double t2158 = t2156 * t91 * t92; + const double t2159 = t2158 * t2147; + const double t2161 = t909 * t2150; + const double t2164 = t238 * t1148 * t362; + const double t2166 = -0.42198333333333333333e0 * t2148 + 0.84396666666666666666e0 * t2151 + 0.39862222222222222223e0 * t2154 + 0.68258333333333333333e-1 * t2159 + 0.13651666666666666667e0 * t2161 + 0.13692777777777777778e0 * t2164; + const double t2169 = 0.1e1 * t896 * t2166 * t916; + const double t2170 = t894 * t894; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t356 * t2171; + const double t2173 = t369 * t369; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2138 * t2174; + const double t2177 = 0.16081979498692535067e2 * t2172 * t2175; + const double t2183 = t900 * t925 * t931 * t932; + const double t2186 = t924 * t379; + const double t2187 = 0.1e1 / t2186; + const double t2188 = t374 * t2187; + const double t2189 = t931 * t931; + const double t2190 = t2189 * t932; + const double t2199 = -0.78438333333333333333e0 * t2148 + 0.15687666666666666667e1 * t2151 + 0.68863333333333333333e0 * t2154 + 0.14025833333333333333e0 * t2159 + 0.28051666666666666667e0 * t2161 + 0.17365833333333333333e0 * t2164; + const double t2203 = t924 * t924; + const double t2204 = 0.1e1 / t2203; + const double t2205 = t374 * t2204; + const double t2206 = t382 * t382; + const double t2207 = 0.1e1 / t2206; + const double t2208 = t2189 * t2207; + const double t2214 = t900 * t960; + const double t2217 = t940 * t392; + const double t2218 = 0.1e1 / t2217; + const double t2219 = t387 * t2218; + const double t2220 = t947 * t947; + const double t2221 = t2220 * t948; + const double t2230 = -0.57538888888888888889e0 * t2148 + 0.11507777777777777778e1 * t2151 + 0.40256666666666666667e0 * t2154 + 0.366775e-1 * t2159 + 0.73355e-1 * t2161 + 0.137975e0 * t2164; + const double t2231 = t2230 * t948; + const double t2234 = t940 * t940; + const double t2235 = 0.1e1 / t2234; + const double t2236 = t387 * t2235; + const double t2237 = t395 * t395; + const double t2238 = 0.1e1 / t2237; + const double t2239 = t2220 * t2238; + const double t2242 = -0.70983522622222222221e-3 * t225 * t1165 * t920 - 0.34246666666666666666e-1 * t552 * t2183 - 0.2e1 * t2188 * t2190 + 0.1e1 * t926 * t2199 * t932 + 0.32163958997385070134e2 * t2205 * t2208 + t2129 + t2134 + t2141 - t2169 - t2177 - 0.24415263074675393405e-3 * t225 * t1165 * t936 - 0.10843581300301739842e-1 * t552 * t2214 - 0.11696447245269292414e1 * t2219 * t2221 + 0.5848223622634646207e0 * t942 * t2231 + 0.17315859105681463759e2 * t2236 * t2239; + const double t2243 = t257 * t2242; + const double t2246 = 0.24415263074675393405e-3 * t786 * t1362 * t954; + const double t2249 = 0.10843581300301739842e-1 * t1879 * t904 * t960; + const double t2251 = t2218 * t2220 * t948; + const double t2253 = 0.11696447245269292414e1 * t958 * t2251; + const double t2255 = t941 * t2230 * t948; + const double t2257 = 0.5848223622634646207e0 * t958 * t2255; + const double t2258 = t2235 * t2220; + const double t2259 = t2258 * t2238; + const double t2261 = 0.17315859105681463759e2 * t958 * t2259; + const double t2264 = t362 * t968; + const double t2265 = t2264 * t437; + const double t2268 = t963 * t1007; + const double t2271 = t963 * t429; + const double t2272 = t2271 * t1031; + const double t2276 = 0.1e1 / t967 / t406; + const double t2277 = t404 * t2276; + const double t2278 = t2277 * t437; + const double t2281 = t969 * t1007; + const double t2284 = t969 * t429; + const double t2285 = t1013 * t41; + const double t2286 = t2284 * t2285; + const double t2287 = t900 * t1030; + const double t2288 = t549 * t2287; + const double t2297 = t1550 * t968; + const double t2298 = t2297 * t181; + const double t2302 = t647 * t645 * t975; + const double t2303 = t1020 * t192; + const double t2304 = t834 * t994; + const double t2305 = t2304 * t996; + const double t2306 = t2303 * t2305; + const double t2309 = t2277 * t181; + const double t2313 = t969 * t652; + const double t2315 = t2313 * t991 * t1955; + const double t2316 = t409 * t994; + const double t2318 = t1958 * t2316 * t996; + const double t2326 = t647 * t645 * t409; + const double t2328 = t407 * t652 * t990; + const double t2329 = t994 * t418; + const double t2330 = t1972 * t2329; + const double t2331 = t2328 * t2330; + const double t2334 = t410 * t2329; + const double t2335 = t647 * t2334; + const double t2338 = t408 * t1601; + const double t2340 = 0.1e1 / t989 / t419; + const double t2341 = t2340 * t192; + const double t2343 = t2338 * t2341 * t1989; + const double t2344 = t994 * t994; + const double t2345 = t424 * t2344; + const double t2346 = t418 * t418; + const double t2347 = t1615 * t2346; + const double t2349 = t838 * t2345 * t2347; + const double t2353 = t988 * t991 * t2000; + const double t2356 = -t2129 - t2134 - t2141 + t2169 + t2177 + t2243 + t2246 + t2249 + t2253 - t2257 - t2261; + const double t2359 = t838 * t424 * t2356 * t996; + const double t2363 = t2338 * t991 * t1989; + const double t2364 = t1615 * t418; + const double t2366 = t838 * t2345 * t2364; + const double t2373 = 0.35e2 / 0.432e3 * t1930 * t411 + 0.15244095330869239812e-3 * t1934 * t978 - 0.10164000561857065645e-4 * t2298 * t977 - 0.14291339372689912324e-4 * t2302 * t2306 + 0.18071592998981862718e-4 * t2309 * t421 * t1950 + 0.25410001404642664113e-4 * t2315 * t2318 - 0.27104001498285508387e-3 * t981 * t421 * t1543 * t985 - 0.14104986597016199223e-3 * t2326 * t2331 + 0.2507866616949480222e-3 * t2315 * t2335 + 0.85748036236139473944e-3 * t2343 * t2349 - 0.40015750243531754508e-2 * t2353 * t998 + 0.42874018118069736972e-3 * t993 * t2359 - 0.42874018118069736972e-3 * t2363 * t2366 + 0.11337795902333997111e-1 * t414 * t421 * t1644 * t426; + const double t2375 = t2373 * t181 * t436; + const double t2378 = t408 * t1005; + const double t2382 = 0.1e1 / t1011 / t435; + const double t2383 = t181 * t2382; + const double t2384 = t1030 * t1030; + const double t2385 = t2383 * t2384; + const double t2390 = t2264 * t432; + const double t2394 = t225 * t720 * t963; + const double t2395 = t1020 * t429; + const double t2396 = t994 * t42; + const double t2397 = t311 * t418; + const double t2398 = t2396 * t2397; + const double t2399 = t2395 * t2398; + const double t2402 = t963 * t1027; + const double t2405 = t2277 * t432; + const double t2408 = t990 * t429; + const double t2409 = t2408 * t78; + const double t2410 = t2313 * t2409; + const double t2411 = t901 * t2398; + const double t2414 = t969 * t1027; + const double t2419 = t1022 * t2397; + const double t2420 = t2328 * t2419; + const double t2423 = t994 * t311; + const double t2424 = t2408 * t2423; + const double t2425 = t2313 * t2424; + const double t2426 = t418 * t41; + const double t2427 = t2426 * t77; + const double t2428 = t2427 * t901; + const double t2431 = t1601 * t2340; + const double t2432 = t408 * t2431; + const double t2433 = t429 * t2344; + const double t2434 = t2085 * t2346; + const double t2438 = t1005 * t994; + const double t2442 = t429 * t2356; + const double t2446 = t1601 * t990; + const double t2447 = t408 * t2446; + const double t2448 = t2085 * t418; + const double t2452 = t431 * t2373; + const double t2455 = 0.73171657588172351096e-2 * t1896 * t1014 - 0.65049603595885220126e-3 * t1900 * t2390 - 0.54878743191129263322e-2 * t2394 * t2399 - 0.10975748638225852664e-1 * t797 * t2402 + 0.11565819519348392139e-2 * t2405 * t2164 + 0.9757440539382783019e-2 * t2410 * t2411 + 0.19514881078765566038e-1 * t2414 * t905 - 0.13009920719177044025e-1 * t1017 * t2154 - 0.54163148532542205016e-1 * t905 * t2420 + 0.9630207809086004052e-1 * t2425 * t2428 + 0.13170898365871023197e1 * t2432 * t2433 * t2434 + 0.13170898365871023197e1 * t1021 * t2438 * t1023 + 0.65854491829355115987e0 * t1021 * t2442 * t1023 - 0.65854491829355115987e0 * t2447 * t2433 * t2448 + 0.65854491829355115987e0 * t408 * t2452; + const double t2456 = t1013 * t2455; + const double t2459 = 0.73171657588172351096e-2 * t1896 * t964 - 0.65049603595885220126e-3 * t1900 * t2265 - 0.10975748638225852664e-1 * t797 * t2268 + 0.10975748638225852664e-1 * t797 * t2272 + 0.11565819519348392139e-2 * t2278 * t2164 + 0.19514881078765566038e-1 * t2281 * t905 - 0.19514881078765566038e-1 * t2286 * t2288 - 0.13009920719177044025e-1 * t970 * t2154 + 0.65854491829355115987e0 * t408 * t2375 - 0.13170898365871023197e1 * t2378 * t1031 + 0.13170898365871023197e1 * t1010 * t2385 - 0.65854491829355115987e0 * t1010 * t2456; + const double t2463 = t1034 * t1034; + const double t2465 = t440 * t440; + const double t2466 = 0.1e1 / t2465; + const double t2469 = t154 * t293 * t2459 * t1036 - t154 * t293 * t2463 * t2466 - t2129 - t2134 - t2141 + t2169 + t2177 + t2243 + t2246 + t2249 + t2253 - t2257 - t2261; + const double t2470 = piecewise_functor_3( t445, t2469, t2122 ); + const double t2473 = piecewise_functor_3( t75, t1758, t2470 * t31 / 0.2e1 ); + const double t2474 = t2126 + t2473; + const double t2482 = 0.2e1 * t1046 * t1358 + 0.4e1 * t1342 * t533 + 0.2e1 * t62 * t1347 + t1340; + const double t2487 = 0.24415263074675393405e-3 * t1051 * t1484; + const double t2488 = t457 * t78; + const double t2490 = 0.10843581300301739842e-1 * t2488 * t1488; + const double t2492 = 0.11696447245269292414e1 * t1054 * t1492; + const double t2494 = 0.5848223622634646207e0 * t1054 * t1496; + const double t2496 = 0.17315859105681463759e2 * t1054 * t1500; + const double t2499 = t620 * t485; + const double t2500 = t2499 * t1058; + const double t2503 = t168 * t1098; + const double t2504 = t2503 * t1058; + const double t2507 = t1057 * t1127; + const double t2510 = t1518 * t486; + const double t2511 = t491 * t91; + const double t2512 = t2511 * t1381; + const double t2515 = t621 * t1099; + const double t2518 = t486 * t1105; + const double t2519 = t621 * t2518; + const double t2520 = t539 * t1126; + const double t2521 = t78 * t2520; + const double t2524 = t1063 * t1384; + const double t2532 = t17 * t480; + const double t2533 = t475 * t192 * t2532; + const double t2536 = t1080 * t17; + const double t2537 = t1084 * t1087; + const double t2538 = t2537 * t1089; + const double t2539 = t2536 * t2538; + const double t2542 = t1518 * t476; + const double t2546 = t1080 * t645; + const double t2547 = t1572 * t2546; + const double t2549 = t1084 * t91 * t176; + const double t2550 = t79 * t1087; + const double t2551 = t2550 * t1089; + const double t2552 = t2549 * t2551; + const double t2556 = t1582 * t480 * t647; + const double t2559 = t2537 * t473; + const double t2560 = t2536 * t2559; + const double t2563 = t1080 * t635; + const double t2564 = t1572 * t2563; + const double t2565 = t17 * t1084; + const double t2566 = t2565 * t91; + const double t2567 = t1087 * t473; + const double t2569 = t2566 * t177 * t2567; + const double t2573 = 0.1e1 / t1078 / t474; + const double t2574 = t2573 * t192; + const double t2575 = t2574 * t198; + const double t2576 = t1602 * t2575; + const double t2577 = t479 * t479; + const double t2579 = 0.1e1 / t2577 / t461; + const double t2580 = t2579 * t41; + const double t2581 = t2580 * t202; + const double t2582 = t1087 * t1087; + const double t2583 = t80 * t2582; + const double t2584 = t473 * t473; + const double t2585 = t1615 * t2584; + const double t2586 = t2583 * t2585; + const double t2587 = t2581 * t2586; + const double t2590 = t1080 * t675; + const double t2591 = t653 * t2590; + const double t2594 = -t1442 - t1443 - t1444 + t1445 + t1446 + t2487 + t2490 + t2492 - t2494 - t2496; + const double t2596 = t80 * t2594 * t1089; + const double t2597 = t1086 * t2596; + const double t2600 = t1602 * t1081; + const double t2601 = t1615 * t473; + const double t2602 = t2583 * t2601; + const double t2603 = t2581 * t2602; + const double t2607 = t1645 * t480 * t204; + const double t2610 = 0.35e2 / 0.432e3 * t1539 * t465 + 0.76220476654346199061e-4 * t1546 * t1070 - 0.25410001404642664112e-5 * t1552 * t2533 - 0.71456696863449561619e-5 * t1560 * t2539 + 0.45178982497454656791e-5 * t2542 * t1568 * t2532 + 0.12705000702321332056e-4 * t2547 * t2552 - 0.13552000749142754193e-3 * t1073 * t2556 - 0.70524932985080996116e-4 * t1560 * t2560 + 0.1253933308474740111e-3 * t2564 * t2569 + 0.42874018118069736972e-3 * t2576 * t2587 - 0.20007875121765877254e-2 * t2591 * t1091 + 0.21437009059034868486e-3 * t1082 * t2597 - 0.21437009059034868486e-3 * t2600 * t2603 + 0.56688979511669985553e-2 * t478 * t2607; + const double t2611 = t2610 * t181; + const double t2615 = t169 * t1098; + const double t2619 = 0.1e1 / t1104 / t490; + const double t2620 = t181 * t2619; + const double t2621 = t1126 * t1126; + const double t2622 = t2620 * t2621; + const double t2627 = t1667 * t1107; + const double t2630 = t1079 * t485; + const double t2631 = t2630 * t1087; + const double t2632 = t2631 * t1119; + const double t2635 = t475 * t1098; + const double t2636 = t689 * t2635; + const double t2639 = t485 * t91; + const double t2643 = t2630 * t41; + const double t2644 = t1572 * t2643; + const double t2645 = t1087 * t42; + const double t2646 = t470 * t473; + const double t2647 = t2645 * t2646; + const double t2648 = t549 * t2647; + const double t2651 = t1098 * t41; + const double t2658 = t1116 * t485; + const double t2660 = t1087 * t470 * t473; + const double t2661 = t2658 * t2660; + const double t2664 = t1572 * t2631; + const double t2665 = t2646 * t41; + const double t2666 = t2665 * t549; + const double t2669 = t1601 * t2573; + const double t2670 = t169 * t2669; + const double t2671 = t485 * t2582; + const double t2673 = 0.1e1 / t479 / t461; + const double t2674 = t1615 * t2673; + const double t2675 = t2674 * t2584; + const double t2687 = t1601 * t1079; + const double t2688 = t169 * t2687; + const double t2689 = t2674 * t473; + const double t2696 = 0.73171657588172351096e-2 * t1387 * t1108 - 0.65049603595885220126e-3 * t1396 * t2627 - 0.54878743191129263322e-2 * t1673 * t2632 - 0.10975748638225852664e-1 * t552 * t2636 + 0.11565819519348392139e-2 * t2542 * t2639 * t1381 + 0.9757440539382783019e-2 * t2644 * t2648 + 0.19514881078765566038e-1 * t1111 * t2651 * t549 - 0.13009920719177044025e-1 * t1111 * t1112 * t1384 - 0.54163148532542205016e-1 * t1703 * t2661 + 0.9630207809086004052e-1 * t2664 * t2666 + 0.13170898365871023197e1 * t2670 * t2671 * t2675 + 0.13170898365871023197e1 * t1117 * t1098 * t1087 * t1119 + 0.65854491829355115987e0 * t1117 * t485 * t2594 * t1119 - 0.65854491829355115987e0 * t2688 * t2671 * t2689 + 0.65854491829355115987e0 * t169 * t476 * t2610; + const double t2697 = t1106 * t2696; + const double t2700 = 0.73171657588172351096e-2 * t1387 * t1059 - 0.65049603595885220126e-3 * t1396 * t2500 - 0.10975748638225852664e-1 * t552 * t2504 + 0.10975748638225852664e-1 * t552 * t2507 + 0.11565819519348392139e-2 * t2510 * t2512 + 0.19514881078765566038e-1 * t2515 * t1064 - 0.19514881078765566038e-1 * t2519 * t2521 - 0.13009920719177044025e-1 * t1062 * t2524 + 0.65854491829355115987e0 * t169 * t2611 * t491 - 0.13170898365871023197e1 * t2615 * t1127 + 0.13170898365871023197e1 * t1103 * t2622 - 0.65854491829355115987e0 * t1103 * t2697; + const double t2704 = t1130 * t1130; + const double t2706 = t495 * t495; + const double t2707 = 0.1e1 / t2706; + const double t2710 = t154 * t462 * t2700 * t1132 - t154 * t462 * t2704 * t2707 - t1442 - t1443 - t1444 + t1445 + t1446 + t2487 + t2490 + t2492 - t2494 - t2496; + const double t2712 = -0.2e1 * t526 * t1044 + 0.2e1 * t1049 * t1135 - t1340 * t450 - 0.4e1 * t1342 * t534 - 0.2e1 * t1348 * t450 - 0.4e1 * t528 * t1351 - 0.2e1 * t528 * t1359 - t72 * t2474 + t2482 * t499 + t453 * t2710; + const double t2713 = rho * t2712; + const double t2717 = d * t2712; + const double t2721 = t70 * t1347; + const double t2724 = t71 * t1358; + const double t2727 = 0.6e1 * t1141 * t1143 + t2717 * t503 + 0.6e1 * t502 * t2721 + 0.3e1 * t502 * t2724; + const double t2731 = t1315 * t1316 * t1151; + const double t2734 = t2732 * t1322 * t519; + const double t2737 = t17 * t512; + const double t2741 = -0.8e1 / 0.3e1 * t2737 * t28 - 0.8e1 / 0.3e1 * t2737 * t35 + 0.8e1 / 0.3e1 * t512; + const double t2747 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t2731 * t2734 - t509 * t2741 * t41 * t521 / 0.6e1 ); + const double t2748 = t2747 * t71; + const double t2750 = t1156 * t70; + const double t2756 = t63 * t533; + const double t2759 = t1044 * t1161; + const double t2764 = piecewise_functor_3( t69, 0.0, -t529 * t66 / 0.8e1 ); + const double t2765 = t450 * t2764; + const double t2769 = t1249 * t533; + const double t2772 = t168 * t1173; + const double t2773 = t2772 * t615; + const double t2776 = t621 * t1174; + const double t2779 = t628 * t16; + const double t2784 = t191 * t18 * t200; + const double t2787 = t621 * t1169; + const double t2790 = t655 * sigma; + const double t2791 = t2790 * t198; + const double t2792 = t653 * t2791; + const double t2797 = -0.7e1 / 0.288e3 * t2779 * t174 * t647 - 0.14291339372689912324e-4 * t638 * t2784 + 0.25410001404642664113e-4 * t2787 * t648 + 0.42874018118069736972e-3 * t2792 * t669 - 0.20007875121765877254e-2 * t1170 * t677; + const double t2798 = t2797 * t181; + const double t2802 = t169 * t1173; + const double t2805 = t208 * t652; + const double t2806 = t2805 * t687; + const double t2807 = t621 * t2806; + const double t2808 = t1182 * t41; + const double t2809 = t2808 * t549; + const double t2812 = t1178 * t1517; + const double t2813 = t2812 * t2806; + const double t2816 = t1179 * t680; + const double t2819 = t1179 * t2805; + const double t2820 = t1659 * t190; + const double t2821 = t1173 * t709; + const double t2822 = t2820 * t2821; + const double t2825 = t208 * t1601; + const double t2827 = t1179 * t2825 * t687; + const double t2828 = t655 * t1173; + const double t2830 = t2828 * t665 * t702; + const double t2833 = t190 * t2797; + const double t2834 = t1181 * t2833; + const double t2837 = -0.54878743191129263322e-2 * t552 * t2773 + 0.9757440539382783019e-2 * t2776 * t624 + 0.65854491829355115987e0 * t169 * t2798 * t214 - 0.65854491829355115987e0 * t2802 * t710 + 0.72280234901709995518e-2 * t2807 * t2809 - 0.12851425765524037203e-1 * t2813 * t2809 - 0.4336814094102599731e0 * t2816 * t1183 + 0.8673628188205199462e0 * t2819 * t2822 - 0.4336814094102599731e0 * t2827 * t2830 - 0.4336814094102599731e0 * t1180 * t2834; + const double t2841 = t154 * t163; + const double t2842 = t1186 * t1754; + const double t2845 = t154 * t163 * t2837 * t715 - t2841 * t2842 * t713; + const double t2846 = t2845 / 0.2e1; + const double t2847 = t798 * t1202; + const double t2850 = t804 * t1202; + const double t2854 = t628 * t300 * t91; + const double t2857 = t1195 * t321; + const double t2858 = t814 * t2857; + const double t2865 = t831 * sigma; + const double t2867 = t829 * t2865 * t835; + const double t2874 = -0.7e1 / 0.288e3 * t2854 * t305 - 0.28582678745379824648e-4 * t812 * t2858 + 0.50820002809285328225e-4 * t819 * t1195 * t635 * t826 + 0.85748036236139473944e-3 * t2867 * t843 - 0.40015750243531754507e-2 * t308 * t1195 * t674 * t327; + const double t2876 = t2874 * t181 * t337; + const double t2879 = t299 * t1200; + const double t2882 = t1208 * t316; + const double t2883 = t1921 * t2882; + const double t2884 = t1200 * t41; + const double t2885 = t2884 * t77; + const double t2886 = t2885 * t732; + const double t2889 = t1205 * t1913; + const double t2890 = t2889 * t330; + const double t2891 = t2890 * t2882; + const double t2894 = t1206 * t850; + const double t2897 = t330 * t652; + const double t2898 = t1206 * t2897; + const double t2899 = t2031 * t316; + const double t2900 = t1200 * t875; + const double t2901 = t2899 * t2900; + const double t2904 = t330 * t1601; + const double t2906 = t1206 * t2904 * t857; + const double t2907 = t831 * t1200; + const double t2909 = t2907 * t839 * t868; + const double t2912 = t316 * t2874; + const double t2913 = t1208 * t2912; + const double t2916 = -0.54878743191129263322e-2 * t797 * t2847 + 0.9757440539382783019e-2 * t2850 * t736 + 0.65854491829355115987e0 * t299 * t2876 - 0.65854491829355115987e0 * t2879 * t876 + 0.72280234901709995518e-2 * t2883 * t2886 - 0.12851425765524037203e-1 * t2891 * t2886 - 0.4336814094102599731e0 * t2894 * t1210 + 0.8673628188205199462e0 * t2898 * t2901 - 0.4336814094102599731e0 * t2906 * t2909 - 0.4336814094102599731e0 * t1207 * t2913; + const double t2920 = t154 * t293; + const double t2921 = t1213 * t2118; + const double t2925 = piecewise_functor_3( t346, t154 * t293 * t2916 * t881 - t2920 * t2921 * t879, t2845 ); + const double t2928 = piecewise_functor_3( t75, t2846, t2925 * t24 / 0.2e1 ); + const double t2929 = t963 * t1230; + const double t2932 = t969 * t1230; + const double t2937 = t1223 * t321; + const double t2938 = t976 * t2937; + const double t2945 = t990 * sigma; + const double t2947 = t988 * t2945 * t835; + const double t2954 = -0.7e1 / 0.288e3 * t2854 * t411 - 0.28582678745379824648e-4 * t812 * t2938 + 0.50820002809285328225e-4 * t981 * t1223 * t635 * t985 + 0.85748036236139473944e-3 * t2947 * t998 - 0.40015750243531754507e-2 * t414 * t1223 * t674 * t426; + const double t2956 = t2954 * t181 * t436; + const double t2959 = t408 * t1228; + const double t2962 = t1236 * t420; + const double t2963 = t2284 * t2962; + const double t2964 = t1228 * t41; + const double t2965 = t2964 * t77; + const double t2966 = t2965 * t901; + const double t2969 = t1233 * t2276; + const double t2970 = t2969 * t429; + const double t2971 = t2970 * t2962; + const double t2974 = t1234 * t1005; + const double t2977 = t429 * t652; + const double t2978 = t1234 * t2977; + const double t2979 = t2382 * t420; + const double t2980 = t1228 * t1030; + const double t2981 = t2979 * t2980; + const double t2984 = t429 * t1601; + const double t2986 = t1234 * t2984 * t1012; + const double t2987 = t990 * t1228; + const double t2989 = t2987 * t994 * t1023; + const double t2992 = t420 * t2954; + const double t2993 = t1236 * t2992; + const double t2996 = -0.54878743191129263322e-2 * t797 * t2929 + 0.9757440539382783019e-2 * t2932 * t905 + 0.65854491829355115987e0 * t408 * t2956 - 0.65854491829355115987e0 * t2959 * t1031 + 0.72280234901709995518e-2 * t2963 * t2966 - 0.12851425765524037203e-1 * t2971 * t2966 - 0.4336814094102599731e0 * t2974 * t1238 + 0.8673628188205199462e0 * t2978 * t2981 - 0.4336814094102599731e0 * t2986 * t2989 - 0.4336814094102599731e0 * t1235 * t2993; + const double t3000 = t1241 * t2466; + const double t3004 = piecewise_functor_3( t445, t154 * t293 * t2996 * t1036 - t2920 * t3000 * t1034, t2845 ); + const double t3007 = piecewise_functor_3( t75, t2846, t3004 * t31 / 0.2e1 ); + const double t3008 = t2928 + t3007; + const double t3014 = t62 * t533; + const double t3019 = 0.2e1 * t1046 * t2764 + 0.2e1 * t1342 * t1161 + 0.2e1 * t3014 * t1161 + 0.2e1 * t2750 * t533 + t2748; + const double t3023 = t1049 * t152 * t153; + const double t3025 = t168 * t1264; + const double t3026 = t3025 * t1058; + const double t3029 = t621 * t1265; + const double t3036 = t476 * t18 * t480; + const double t3039 = t621 * t1260; + const double t3042 = t1079 * sigma; + const double t3043 = t3042 * t198; + const double t3044 = t653 * t3043; + const double t3049 = -0.7e1 / 0.288e3 * t2779 * t463 * t647 - 0.14291339372689912324e-4 * t638 * t3036 + 0.25410001404642664113e-4 * t3039 * t1075 + 0.42874018118069736972e-3 * t3044 * t1091 - 0.20007875121765877254e-2 * t1261 * t1095; + const double t3050 = t3049 * t181; + const double t3054 = t169 * t1264; + const double t3057 = t485 * t652; + const double t3058 = t3057 * t1105; + const double t3059 = t621 * t3058; + const double t3060 = t1271 * t41; + const double t3061 = t3060 * t549; + const double t3064 = t2812 * t3058; + const double t3067 = t1179 * t1098; + const double t3070 = t1179 * t3057; + const double t3071 = t2619 * t475; + const double t3072 = t1264 * t1126; + const double t3073 = t3071 * t3072; + const double t3076 = t485 * t1601; + const double t3078 = t1179 * t3076 * t1105; + const double t3079 = t1079 * t1264; + const double t3081 = t3079 * t1087 * t1119; + const double t3084 = t475 * t3049; + const double t3085 = t1270 * t3084; + const double t3088 = -0.54878743191129263322e-2 * t552 * t3026 + 0.9757440539382783019e-2 * t3029 * t1064 + 0.65854491829355115987e0 * t169 * t3050 * t491 - 0.65854491829355115987e0 * t3054 * t1127 + 0.72280234901709995518e-2 * t3059 * t3061 - 0.12851425765524037203e-1 * t3064 * t3061 - 0.4336814094102599731e0 * t3067 * t1272 + 0.8673628188205199462e0 * t3070 * t3073 - 0.4336814094102599731e0 * t3078 * t3081 - 0.4336814094102599731e0 * t1269 * t3085; + const double t3089 = t462 * t3088; + const double t3090 = t3089 * t1132; + const double t3092 = t2707 * t1130; + const double t3093 = t1276 * t3092; + const double t3095 = -t1157 * t1044 + t1253 * t1135 - 0.2e1 * t1342 * t1162 - 0.2e1 * t2756 * t1162 - t526 * t1249 + t1256 * t3090 - t1256 * t3093 + t3023 * t1277 - t2748 * t450 - 0.2e1 * t2750 * t534 - 0.2e1 * t528 * t2759 - 0.2e1 * t528 * t2765 - 0.2e1 * t528 * t2769 - t72 * t3008 + t3019 * t499; + const double t3096 = rho * t3095; + const double t3101 = d * t3095; + const double t3107 = t70 * t1161; + const double t3108 = t3107 * t533; + const double t3111 = t71 * t2764; + const double t3114 = 0.3e1 * t1141 * t1284 + 0.3e1 * t1282 * t1143 + t3101 * t503 + 0.6e1 * t502 * t3108 + 0.3e1 * t502 * t3111; + const double t3119 = t1044 * t1293; + const double t3123 = piecewise_functor_3( t69, 0.0, t530 * t1290 / 0.8e1 ); + const double t3124 = t450 * t3123; + const double t3128 = t3123 * t499; + const double t3130 = t1293 * t1135; + const double t3133 = 0.2e1 * t1046 * t3128 + 0.2e1 * t1046 * t3130 - 0.2e1 * t1342 * t1294 - 0.2e1 * t2756 * t1294 + 0.2e1 * t1342 * t1296 + 0.2e1 * t3014 * t1296 - 0.2e1 * t528 * t3119 - 0.2e1 * t528 * t3124; + const double t3134 = rho * t3133; + const double t3139 = d * t3133; + const double t3145 = t70 * t1293; + const double t3146 = t3145 * t533; + const double t3149 = t71 * t3123; + const double t3152 = 0.3e1 * t1141 * t1304 + 0.3e1 * t1302 * t1143 + t3139 * t503 + 0.6e1 * t502 * t3146 + 0.3e1 * t502 * t3149; + const double t3154 = t1151 * t1151; + const double t3159 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1317 * t3154 * t91 * t1323 ); + const double t3160 = t3159 * t71; + const double t3166 = t1161 * t1161; + const double t3167 = t63 * t3166; + const double t3170 = t1249 * t1161; + const double t3173 = piecewise_functor_3( t69, 0.0, 0.0 ); + const double t3174 = t450 * t3173; + const double t3176 = 0.2e1 * t528 * t3174; + const double t3177 = t652 * t190; + const double t3183 = t1554 * t41 * t3181 * t214; + const double t3186 = t1173 * t1173; + const double t3187 = t1179 * t3186; + const double t3188 = t1181 * t190; + const double t3191 = t1178 * t165; + const double t3192 = t3191 * t1517; + const double t3193 = t3192 * t208; + const double t3194 = t1601 * t1659; + const double t3195 = t655 * t3186; + const double t3196 = t3194 * t3195; + const double t3199 = t1601 * t687; + const double t3200 = t3199 * t655; + const double t3201 = t3193 * t3200; + const double t3204 = 0.28234466758480466999e-3 * t1179 * t3177 * t197 * t3183 - 0.8673628188205199462e0 * t3187 * t3188 + 0.57119737665102352616e0 * t3193 * t3196 - 0.1859366460452550541e-3 * t3201 * t205; + const double t3208 = t1186 * t1186; + const double t3212 = -t154 * t163 * t3208 * t1754 + t154 * t163 * t3204 * t715; + const double t3213 = t3212 / 0.2e1; + const double t3214 = t1206 * t652; + const double t3217 = t3214 * t316 * t197 * t321; + const double t3218 = t16 * t325; + const double t3220 = t204 * t3218 * t337; + const double t3223 = t1200 * t1200; + const double t3224 = t1206 * t3223; + const double t3227 = t1205 * t295; + const double t3228 = t3227 * t1913; + const double t3229 = t3228 * t330; + const double t3230 = t1601 * t2031; + const double t3231 = t831 * t3223; + const double t3232 = t3230 * t3231; + const double t3235 = t1601 * t857; + const double t3236 = t3235 * t831; + const double t3237 = t3229 * t3236; + const double t3238 = t197 * t321; + const double t3239 = t3238 * t41; + const double t3240 = t3181 * t3218; + const double t3241 = t3239 * t3240; + const double t3244 = 0.56468933516960933999e-3 * t3217 * t3220 - 0.8673628188205199462e0 * t3224 * t2882 + 0.57119737665102352616e0 * t3229 * t3232 - 0.3718732920905101082e-3 * t3237 * t3241; + const double t3248 = t1213 * t1213; + const double t3253 = piecewise_functor_3( t346, -t154 * t293 * t3248 * t2118 + t154 * t293 * t3244 * t881, t3212 ); + const double t3256 = piecewise_functor_3( t75, t3213, t3253 * t24 / 0.2e1 ); + const double t3257 = t1234 * t652; + const double t3260 = t3257 * t420 * t197 * t321; + const double t3261 = t16 * t424; + const double t3263 = t204 * t3261 * t436; + const double t3266 = t1228 * t1228; + const double t3267 = t1234 * t3266; + const double t3270 = t1233 * t404; + const double t3271 = t3270 * t2276; + const double t3272 = t3271 * t429; + const double t3273 = t1601 * t2382; + const double t3274 = t990 * t3266; + const double t3275 = t3273 * t3274; + const double t3278 = t1601 * t1012; + const double t3279 = t3278 * t990; + const double t3280 = t3272 * t3279; + const double t3281 = t3181 * t3261; + const double t3282 = t3239 * t3281; + const double t3285 = 0.56468933516960933999e-3 * t3260 * t3263 - 0.8673628188205199462e0 * t3267 * t2962 + 0.57119737665102352616e0 * t3272 * t3275 - 0.3718732920905101082e-3 * t3280 * t3282; + const double t3289 = t1241 * t1241; + const double t3294 = piecewise_functor_3( t445, t154 * t293 * t3285 * t1036 - t154 * t293 * t3289 * t2466, t3212 ); + const double t3297 = piecewise_functor_3( t75, t3213, t3294 * t31 / 0.2e1 ); + const double t3298 = t3256 + t3297; + const double t3305 = 0.2e1 * t1046 * t3173; + const double t3306 = 0.4e1 * t2750 * t1161 + 0.2e1 * t62 * t3166 + t3160 + t3305; + const double t3309 = t1253 * t152 * t153; + const double t3312 = t652 * t475; + const double t3317 = t2532 * t41 * t3181 * t491; + const double t3320 = t1264 * t1264; + const double t3321 = t1179 * t3320; + const double t3322 = t1270 * t475; + const double t3325 = t3192 * t485; + const double t3326 = t1601 * t2619; + const double t3327 = t1079 * t3320; + const double t3328 = t3326 * t3327; + const double t3331 = t1601 * t1105; + const double t3332 = t3331 * t1079; + const double t3333 = t3325 * t3332; + const double t3336 = 0.28234466758480466999e-3 * t1179 * t3312 * t197 * t3317 - 0.8673628188205199462e0 * t3321 * t3322 + 0.57119737665102352616e0 * t3325 * t3328 - 0.1859366460452550541e-3 * t3333 * t482; + const double t3337 = t462 * t3336; + const double t3338 = t3337 * t1132; + const double t3340 = t1275 * t1275; + const double t3341 = t462 * t3340; + const double t3342 = t3341 * t2707; + const double t3344 = -0.2e1 * t1157 * t1249 - 0.4e1 * t2750 * t1162 + t1256 * t3338 - t1256 * t3342 + 0.2e1 * t3309 * t1277 - t3160 * t450 - 0.2e1 * t3167 * t450 - 0.4e1 * t528 * t3170 - t72 * t3298 + t3306 * t499 - t3176; + const double t3345 = rho * t3344; + const double t3349 = d * t3344; + const double t3353 = t70 * t3166; + const double t3356 = t71 * t3173; + const double t3358 = 0.3e1 * t502 * t3356; + const double t3359 = 0.6e1 * t1282 * t1284 + t3349 * t503 + 0.6e1 * t502 * t3353 + t3358; + const double t3362 = t63 * t1161; + const double t3364 = t1249 * t1293; + const double t3368 = piecewise_functor_3( t69, 0.0, -t64 * t1290 / 0.8e1 ); + const double t3369 = t450 * t3368; + const double t3372 = t62 * t1161; + const double t3374 = t3368 * t499; + const double t3376 = t1293 * t152; + const double t3377 = t1046 * t3376; + const double t3378 = t153 * t462; + const double t3380 = t3378 * t1275 * t1132; + const double t3383 = 0.2e1 * t1046 * t3374 - 0.2e1 * t2750 * t1294 - 0.2e1 * t3362 * t1294 + 0.2e1 * t2750 * t1296 + 0.2e1 * t3372 * t1296 - 0.2e1 * t528 * t3364 - 0.2e1 * t528 * t3369 + 0.2e1 * t3377 * t3380; + const double t3384 = rho * t3383; + const double t3388 = d * t3383; + const double t3394 = t3145 * t1161; + const double t3397 = t71 * t3368; + const double t3400 = 0.3e1 * t1282 * t1304 + 0.3e1 * t1302 * t1284 + t3388 * t503 + 0.6e1 * t502 * t3394 + 0.3e1 * t502 * t3397; + const double t3402 = t1293 * t1293; + const double t3403 = t63 * t3402; + const double t3406 = 0.1e1 / t1289 / tau; + const double t3409 = piecewise_functor_3( t69, 0.0, t65 * t3406 / 0.4e1 ); + const double t3410 = t450 * t3409; + const double t3412 = t62 * t3402; + const double t3414 = t3409 * t499; + const double t3417 = 0.2e1 * t1046 * t3414 - 0.2e1 * t3403 * t450 - 0.2e1 * t528 * t3410 + 0.2e1 * t3412 * t499; + const double t3418 = rho * t3417; + const double t3422 = d * t3417; + const double t3426 = t70 * t3402; + const double t3429 = t71 * t3409; + const double t3432 = 0.6e1 * t1302 * t1304 + t3422 * t503 + 0.6e1 * t502 * t3426 + 0.3e1 * t502 * t3429; + + + vrho = t1138 * t505 + t1140 * t1146 + tzk0; + vsigma = t1140 * t1287 + t1280 * t505; + vlapl = 0.e0; + vtau = t1140 * t1307 + t1300 * t505; + v2rho2 = 0.2e1 * t1137 * t505 + 0.2e1 * t1138 * t1146 + t1140 * t2727 + 0.2e1 * t501 * t1146 + t2713 * t505; + v2rhosigma = t1138 * t1287 + t1140 * t3114 + t1280 * t1146 + t1279 * t505 + t501 * t1287 + t3096 * t505; + v2rholapl = 0.e0; + v2rhotau = t1138 * t1307 + t1140 * t3152 + t1300 * t1146 + t1299 * t505 + t501 * t1307 + t3134 * t505; + v2sigma2 = t1140 * t3359 + 0.2e1 * t1280 * t1287 + t3345 * t505; + v2sigmalapl = 0.e0; + v2sigmatau = t1140 * t3400 + t1280 * t1307 + t1300 * t1287 + t3384 * t505; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t1140 * t3432 + 0.2e1 * t1300 * t1307 + t3418 * t505; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t220 = 0.1e1 / t122; + constexpr double t221 = t220 * t124; + constexpr double t240 = t159 * t159; + constexpr double t245 = 0.1e1 / t137; + constexpr double t246 = t72 * t245; + constexpr double t247 = t246 * t125; + constexpr double t268 = t123 * t125; + constexpr double t281 = t138 * t124; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 + 0.25e-1 * t128; + const double t211 = 0.1e1 + 0.4445e-1 * t128; + const double t212 = 0.1e1 / t211; + const double t213 = t209 * t212; + const double t215 = 0.1e1 / t65 / t16; + const double t216 = t64 * t215; + const double t217 = t216 * t159; + const double t218 = 0.1e1 / t206; + const double t222 = t218 * t136 * t221; + const double t225 = 0.1e1 / t196; + const double t227 = ( -t149 + t191 + t194 ) * t225; + const double t228 = 0.1e1 / t207; + const double t229 = t73 * t228; + const double t231 = safe_math::exp( -t227 * t229 ); + const double t232 = t231 - 0.1e1; + const double t233 = 0.1e1 / t232; + const double t234 = t225 * t233; + const double t235 = t64 * t64; + const double t236 = t234 * t235; + const double t237 = t213 * t236; + const double t239 = 0.1e1 / t66 / t21; + const double t241 = t239 * t240; + const double t242 = t206 * t206; + const double t243 = 0.1e1 / t242; + const double t244 = t241 * t243; + const double t248 = t244 * t247; + const double t251 = t217 * t222 / 0.96e2 + 0.21437009059034868486e-3 * t237 * t248; + const double t252 = t251 * t225; + const double t253 = t234 * t251; + const double t256 = 0.1e1 + 0.65854491829355115987e0 * t213 * t253; + const double t257 = 0.1e1 / t256; + const double t258 = t252 * t257; + const double t261 = 0.1e1 + 0.65854491829355115987e0 * t213 * t258; + const double t262 = safe_math::log( t261 ); + const double t265 = t198 * t207 * t262 - t149 + t191 + t194; + const double t269 = t126 * t159; + const double t270 = 0.1e1 / t45; + const double t271 = safe_math::cbrt( t270 ); + const double t273 = t268 * t269 * t271; + const double t275 = 0.1e1 + 0.53425e-1 * t273; + const double t276 = safe_math::sqrt( t273 ); + const double t279 = pow_3_2( t273 ); + const double t282 = t139 * t240; + const double t283 = t271 * t271; + const double t285 = t281 * t282 * t283; + const double t287 = 0.379785e1 * t276 + 0.8969e0 * t273 + 0.204775e0 * t279 + 0.123235e0 * t285; + const double t290 = 0.1e1 + 0.16081979498692535067e2 / t287; + const double t291 = safe_math::log( t290 ); + const double t293 = 0.621814e-1 * t275 * t291; + const double t294 = 0.2e1 <= zeta_tol; + const double t296 = piecewise_functor_3( t294, t153, 0.2e1 * t159 ); + const double t297 = 0.e0 <= zeta_tol; + const double t298 = piecewise_functor_3( t297, t153, 0.0 ); + const double t300 = ( t296 + t298 - 0.2e1 ) * t162; + const double t302 = 0.1e1 + 0.5137e-1 * t273; + const double t307 = 0.705945e1 * t276 + 0.1549425e1 * t273 + 0.420775e0 * t279 + 0.1562925e0 * t285; + const double t310 = 0.1e1 + 0.32163958997385070134e2 / t307; + const double t311 = safe_math::log( t310 ); + const double t315 = 0.1e1 + 0.278125e-1 * t273; + const double t320 = 0.51785e1 * t276 + 0.905775e0 * t273 + 0.1100325e0 * t279 + 0.1241775e0 * t285; + const double t323 = 0.1e1 + 0.29608749977793437516e2 / t320; + const double t324 = safe_math::log( t323 ); + const double t325 = t315 * t324; + const double t328 = t300 * ( -0.310907e-1 * t302 * t311 + t293 - 0.19751673498613801407e-1 * t325 ); + const double t330 = 0.19751673498613801407e-1 * t300 * t325; + const double t331 = piecewise_functor_3( t294, t199, t240 ); + const double t332 = piecewise_functor_3( t297, t199, 0.0 ); + const double t334 = t331 / 0.2e1 + t332 / 0.2e1; + const double t335 = t334 * t334; + const double t336 = t335 * t334; + const double t338 = 0.1e1 + 0.25e-1 * t273; + const double t340 = 0.1e1 + 0.4445e-1 * t273; + const double t341 = 0.1e1 / t340; + const double t342 = t338 * t341; + const double t343 = 0.1e1 / t335; + const double t344 = t343 * t136; + const double t345 = t44 * t344; + const double t346 = 0.1e1 / t271; + const double t348 = t221 * t65 * t346; + const double t351 = t342 * t225; + const double t354 = 0.1e1 / t336; + const double t355 = t73 * t354; + const double t357 = safe_math::exp( -( -t293 + t328 + t330 ) * t225 * t355 ); + const double t358 = t357 - 0.1e1; + const double t359 = 0.1e1 / t358; + const double t360 = sigma_aa * sigma_aa; + const double t361 = t359 * t360; + const double t362 = t39 * t39; + const double t363 = t362 * rho_a; + const double t365 = 0.1e1 / t40 / t363; + const double t366 = t361 * t365; + const double t367 = t351 * t366; + const double t368 = t335 * t335; + const double t369 = 0.1e1 / t368; + const double t370 = t369 * t72; + const double t371 = t370 * t245; + const double t372 = t125 * t66; + const double t373 = 0.1e1 / t283; + const double t375 = t371 * t372 * t373; + const double t378 = t345 * t348 / 0.96e2 + 0.21437009059034868486e-3 * t367 * t375; + const double t379 = t378 * t225; + const double t380 = t225 * t359; + const double t381 = t380 * t378; + const double t384 = 0.1e1 + 0.65854491829355115987e0 * t342 * t381; + const double t385 = 0.1e1 / t384; + const double t386 = t379 * t385; + const double t389 = 0.1e1 + 0.65854491829355115987e0 * t342 * t386; + const double t390 = safe_math::log( t389 ); + const double t393 = t198 * t336 * t390 - t293 + t328 + t330; + const double t394 = t265 < t393; + const double t395 = piecewise_functor_3( t394, t393, t265 ); + const double t398 = piecewise_functor_3( t120, t265 * t30 / 0.2e1, t395 * t45 / 0.2e1 ); + const double t400 = rho_b <= dens_tol || t34; + const double t403 = 0.1e1 / t57; + const double t404 = safe_math::cbrt( t403 ); + const double t406 = t268 * t269 * t404; + const double t408 = 0.1e1 + 0.53425e-1 * t406; + const double t409 = safe_math::sqrt( t406 ); + const double t412 = pow_3_2( t406 ); + const double t414 = t404 * t404; + const double t416 = t281 * t282 * t414; + const double t418 = 0.379785e1 * t409 + 0.8969e0 * t406 + 0.204775e0 * t412 + 0.123235e0 * t416; + const double t421 = 0.1e1 + 0.16081979498692535067e2 / t418; + const double t422 = safe_math::log( t421 ); + const double t424 = 0.621814e-1 * t408 * t422; + const double t426 = 0.1e1 + 0.5137e-1 * t406; + const double t431 = 0.705945e1 * t409 + 0.1549425e1 * t406 + 0.420775e0 * t412 + 0.1562925e0 * t416; + const double t434 = 0.1e1 + 0.32163958997385070134e2 / t431; + const double t435 = safe_math::log( t434 ); + const double t439 = 0.1e1 + 0.278125e-1 * t406; + const double t444 = 0.51785e1 * t409 + 0.905775e0 * t406 + 0.1100325e0 * t412 + 0.1241775e0 * t416; + const double t447 = 0.1e1 + 0.29608749977793437516e2 / t444; + const double t448 = safe_math::log( t447 ); + const double t449 = t439 * t448; + const double t452 = t300 * ( -0.310907e-1 * t426 * t435 + t424 - 0.19751673498613801407e-1 * t449 ); + const double t454 = 0.19751673498613801407e-1 * t300 * t449; + const double t456 = 0.1e1 + 0.25e-1 * t406; + const double t458 = 0.1e1 + 0.4445e-1 * t406; + const double t459 = 0.1e1 / t458; + const double t460 = t456 * t459; + const double t461 = t56 * t344; + const double t462 = 0.1e1 / t404; + const double t464 = t221 * t65 * t462; + const double t467 = t460 * t225; + const double t471 = safe_math::exp( -( -t424 + t452 + t454 ) * t225 * t355 ); + const double t472 = t471 - 0.1e1; + const double t473 = 0.1e1 / t472; + const double t474 = sigma_bb * sigma_bb; + const double t475 = t473 * t474; + const double t476 = t51 * t51; + const double t477 = t476 * rho_b; + const double t479 = 0.1e1 / t52 / t477; + const double t480 = t475 * t479; + const double t481 = t467 * t480; + const double t482 = 0.1e1 / t414; + const double t484 = t371 * t372 * t482; + const double t487 = t461 * t464 / 0.96e2 + 0.21437009059034868486e-3 * t481 * t484; + const double t488 = t487 * t225; + const double t489 = t225 * t473; + const double t490 = t489 * t487; + const double t493 = 0.1e1 + 0.65854491829355115987e0 * t460 * t490; + const double t494 = 0.1e1 / t493; + const double t495 = t488 * t494; + const double t498 = 0.1e1 + 0.65854491829355115987e0 * t460 * t495; + const double t499 = safe_math::log( t498 ); + const double t502 = t198 * t336 * t499 - t424 + t452 + t454; + const double t503 = t265 < t502; + const double t504 = piecewise_functor_3( t503, t502, t265 ); + const double t507 = piecewise_functor_3( t400, t265 * t33 / 0.2e1, t504 * t57 / 0.2e1 ); + const double t508 = t398 + t507; + const double t511 = t117 * t93 + 0.1e1; + const double t512 = t19 * t22; + const double t513 = safe_math::cbrt( t30 ); + const double t514 = t513 * t30; + const double t515 = piecewise_functor_3( t31, t153, t514 ); + const double t516 = safe_math::cbrt( t33 ); + const double t517 = t516 * t33; + const double t518 = piecewise_functor_3( t34, t153, t517 ); + const double t519 = t515 + t518 - 0.2e1; + const double t520 = t519 * t162; + const double t521 = t520 * t189; + const double t522 = t512 * t521; + const double t524 = 0.19751673498613801407e-1 * t520 * t187; + const double t525 = t513 * t513; + const double t526 = piecewise_functor_3( t31, t199, t525 ); + const double t527 = t516 * t516; + const double t528 = piecewise_functor_3( t34, t199, t527 ); + const double t530 = t526 / 0.2e1 + t528 / 0.2e1; + const double t531 = t530 * t530; + const double t532 = t531 * t530; + const double t533 = 0.1e1 / t531; + const double t535 = t533 * t136 * t221; + const double t539 = ( -t149 + t522 + t524 ) * t225; + const double t540 = 0.1e1 / t532; + const double t541 = t73 * t540; + const double t543 = safe_math::exp( -t539 * t541 ); + const double t544 = t543 - 0.1e1; + const double t545 = 0.1e1 / t544; + const double t546 = t225 * t545; + const double t547 = t546 * t235; + const double t548 = t213 * t547; + const double t549 = t531 * t531; + const double t550 = 0.1e1 / t549; + const double t551 = t241 * t550; + const double t552 = t551 * t247; + const double t555 = t217 * t535 / 0.96e2 + 0.21437009059034868486e-3 * t548 * t552; + const double t556 = t555 * t225; + const double t557 = t546 * t555; + const double t560 = 0.1e1 + 0.65854491829355115987e0 * t213 * t557; + const double t561 = 0.1e1 / t560; + const double t562 = t556 * t561; + const double t565 = 0.1e1 + 0.65854491829355115987e0 * t213 * t562; + const double t566 = safe_math::log( t565 ); + const double t569 = t198 * t532 * t566 - t149 + t522 + t524; + const double t571 = -t118 * t508 + t511 * t569; + const double t572 = d * t571; + const double t573 = t117 * t116; + const double t575 = t572 * t573 + 0.1e1; + + + eps = t571 * t575; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t220 = 0.1e1 / t122; + constexpr double t221 = t220 * t124; + constexpr double t240 = t159 * t159; + constexpr double t245 = 0.1e1 / t137; + constexpr double t246 = t72 * t245; + constexpr double t247 = t246 * t125; + constexpr double t268 = t123 * t125; + constexpr double t281 = t138 * t124; + constexpr double t685 = t122 * t125; + constexpr double t800 = t136 * t220; + constexpr double t816 = t800 * t124; + constexpr double t828 = t245 * t125; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 + 0.25e-1 * t128; + const double t211 = 0.1e1 + 0.4445e-1 * t128; + const double t212 = 0.1e1 / t211; + const double t213 = t209 * t212; + const double t215 = 0.1e1 / t65 / t16; + const double t216 = t64 * t215; + const double t217 = t216 * t159; + const double t218 = 0.1e1 / t206; + const double t222 = t218 * t136 * t221; + const double t225 = 0.1e1 / t196; + const double t227 = ( -t149 + t191 + t194 ) * t225; + const double t228 = 0.1e1 / t207; + const double t229 = t73 * t228; + const double t231 = safe_math::exp( -t227 * t229 ); + const double t232 = t231 - 0.1e1; + const double t233 = 0.1e1 / t232; + const double t234 = t225 * t233; + const double t235 = t64 * t64; + const double t236 = t234 * t235; + const double t237 = t213 * t236; + const double t239 = 0.1e1 / t66 / t21; + const double t241 = t239 * t240; + const double t242 = t206 * t206; + const double t243 = 0.1e1 / t242; + const double t244 = t241 * t243; + const double t248 = t244 * t247; + const double t251 = t217 * t222 / 0.96e2 + 0.21437009059034868486e-3 * t237 * t248; + const double t252 = t251 * t225; + const double t253 = t234 * t251; + const double t256 = 0.1e1 + 0.65854491829355115987e0 * t213 * t253; + const double t257 = 0.1e1 / t256; + const double t258 = t252 * t257; + const double t261 = 0.1e1 + 0.65854491829355115987e0 * t213 * t258; + const double t262 = safe_math::log( t261 ); + const double t265 = t198 * t207 * t262 - t149 + t191 + t194; + const double t269 = t126 * t159; + const double t270 = 0.1e1 / t45; + const double t271 = safe_math::cbrt( t270 ); + const double t273 = t268 * t269 * t271; + const double t275 = 0.1e1 + 0.53425e-1 * t273; + const double t276 = safe_math::sqrt( t273 ); + const double t279 = pow_3_2( t273 ); + const double t282 = t139 * t240; + const double t283 = t271 * t271; + const double t285 = t281 * t282 * t283; + const double t287 = 0.379785e1 * t276 + 0.8969e0 * t273 + 0.204775e0 * t279 + 0.123235e0 * t285; + const double t290 = 0.1e1 + 0.16081979498692535067e2 / t287; + const double t291 = safe_math::log( t290 ); + const double t293 = 0.621814e-1 * t275 * t291; + const double t294 = 0.2e1 <= zeta_tol; + const double t296 = piecewise_functor_3( t294, t153, 0.2e1 * t159 ); + const double t297 = 0.e0 <= zeta_tol; + const double t298 = piecewise_functor_3( t297, t153, 0.0 ); + const double t300 = ( t296 + t298 - 0.2e1 ) * t162; + const double t302 = 0.1e1 + 0.5137e-1 * t273; + const double t307 = 0.705945e1 * t276 + 0.1549425e1 * t273 + 0.420775e0 * t279 + 0.1562925e0 * t285; + const double t310 = 0.1e1 + 0.32163958997385070134e2 / t307; + const double t311 = safe_math::log( t310 ); + const double t315 = 0.1e1 + 0.278125e-1 * t273; + const double t320 = 0.51785e1 * t276 + 0.905775e0 * t273 + 0.1100325e0 * t279 + 0.1241775e0 * t285; + const double t323 = 0.1e1 + 0.29608749977793437516e2 / t320; + const double t324 = safe_math::log( t323 ); + const double t325 = t315 * t324; + const double t328 = t300 * ( -0.310907e-1 * t302 * t311 + t293 - 0.19751673498613801407e-1 * t325 ); + const double t330 = 0.19751673498613801407e-1 * t300 * t325; + const double t331 = piecewise_functor_3( t294, t199, t240 ); + const double t332 = piecewise_functor_3( t297, t199, 0.0 ); + const double t334 = t331 / 0.2e1 + t332 / 0.2e1; + const double t335 = t334 * t334; + const double t336 = t335 * t334; + const double t338 = 0.1e1 + 0.25e-1 * t273; + const double t340 = 0.1e1 + 0.4445e-1 * t273; + const double t341 = 0.1e1 / t340; + const double t342 = t338 * t341; + const double t343 = 0.1e1 / t335; + const double t344 = t343 * t136; + const double t345 = t44 * t344; + const double t346 = 0.1e1 / t271; + const double t348 = t221 * t65 * t346; + const double t351 = t342 * t225; + const double t354 = 0.1e1 / t336; + const double t355 = t73 * t354; + const double t357 = safe_math::exp( -( -t293 + t328 + t330 ) * t225 * t355 ); + const double t358 = t357 - 0.1e1; + const double t359 = 0.1e1 / t358; + const double t360 = sigma_aa * sigma_aa; + const double t361 = t359 * t360; + const double t362 = t39 * t39; + const double t363 = t362 * rho_a; + const double t365 = 0.1e1 / t40 / t363; + const double t366 = t361 * t365; + const double t367 = t351 * t366; + const double t368 = t335 * t335; + const double t369 = 0.1e1 / t368; + const double t370 = t369 * t72; + const double t371 = t370 * t245; + const double t372 = t125 * t66; + const double t373 = 0.1e1 / t283; + const double t375 = t371 * t372 * t373; + const double t378 = t345 * t348 / 0.96e2 + 0.21437009059034868486e-3 * t367 * t375; + const double t379 = t378 * t225; + const double t380 = t225 * t359; + const double t381 = t380 * t378; + const double t384 = 0.1e1 + 0.65854491829355115987e0 * t342 * t381; + const double t385 = 0.1e1 / t384; + const double t386 = t379 * t385; + const double t389 = 0.1e1 + 0.65854491829355115987e0 * t342 * t386; + const double t390 = safe_math::log( t389 ); + const double t393 = t198 * t336 * t390 - t293 + t328 + t330; + const double t394 = t265 < t393; + const double t395 = piecewise_functor_3( t394, t393, t265 ); + const double t398 = piecewise_functor_3( t120, t265 * t30 / 0.2e1, t395 * t45 / 0.2e1 ); + const double t400 = rho_b <= dens_tol || t34; + const double t403 = 0.1e1 / t57; + const double t404 = safe_math::cbrt( t403 ); + const double t406 = t268 * t269 * t404; + const double t408 = 0.1e1 + 0.53425e-1 * t406; + const double t409 = safe_math::sqrt( t406 ); + const double t412 = pow_3_2( t406 ); + const double t414 = t404 * t404; + const double t416 = t281 * t282 * t414; + const double t418 = 0.379785e1 * t409 + 0.8969e0 * t406 + 0.204775e0 * t412 + 0.123235e0 * t416; + const double t421 = 0.1e1 + 0.16081979498692535067e2 / t418; + const double t422 = safe_math::log( t421 ); + const double t424 = 0.621814e-1 * t408 * t422; + const double t426 = 0.1e1 + 0.5137e-1 * t406; + const double t431 = 0.705945e1 * t409 + 0.1549425e1 * t406 + 0.420775e0 * t412 + 0.1562925e0 * t416; + const double t434 = 0.1e1 + 0.32163958997385070134e2 / t431; + const double t435 = safe_math::log( t434 ); + const double t439 = 0.1e1 + 0.278125e-1 * t406; + const double t444 = 0.51785e1 * t409 + 0.905775e0 * t406 + 0.1100325e0 * t412 + 0.1241775e0 * t416; + const double t447 = 0.1e1 + 0.29608749977793437516e2 / t444; + const double t448 = safe_math::log( t447 ); + const double t449 = t439 * t448; + const double t452 = t300 * ( -0.310907e-1 * t426 * t435 + t424 - 0.19751673498613801407e-1 * t449 ); + const double t454 = 0.19751673498613801407e-1 * t300 * t449; + const double t456 = 0.1e1 + 0.25e-1 * t406; + const double t458 = 0.1e1 + 0.4445e-1 * t406; + const double t459 = 0.1e1 / t458; + const double t460 = t456 * t459; + const double t461 = t56 * t344; + const double t462 = 0.1e1 / t404; + const double t464 = t221 * t65 * t462; + const double t467 = t460 * t225; + const double t471 = safe_math::exp( -( -t424 + t452 + t454 ) * t225 * t355 ); + const double t472 = t471 - 0.1e1; + const double t473 = 0.1e1 / t472; + const double t474 = sigma_bb * sigma_bb; + const double t475 = t473 * t474; + const double t476 = t51 * t51; + const double t477 = t476 * rho_b; + const double t479 = 0.1e1 / t52 / t477; + const double t480 = t475 * t479; + const double t481 = t467 * t480; + const double t482 = 0.1e1 / t414; + const double t484 = t371 * t372 * t482; + const double t487 = t461 * t464 / 0.96e2 + 0.21437009059034868486e-3 * t481 * t484; + const double t488 = t487 * t225; + const double t489 = t225 * t473; + const double t490 = t489 * t487; + const double t493 = 0.1e1 + 0.65854491829355115987e0 * t460 * t490; + const double t494 = 0.1e1 / t493; + const double t495 = t488 * t494; + const double t498 = 0.1e1 + 0.65854491829355115987e0 * t460 * t495; + const double t499 = safe_math::log( t498 ); + const double t502 = t198 * t336 * t499 - t424 + t452 + t454; + const double t503 = t265 < t502; + const double t504 = piecewise_functor_3( t503, t502, t265 ); + const double t507 = piecewise_functor_3( t400, t265 * t33 / 0.2e1, t504 * t57 / 0.2e1 ); + const double t508 = t398 + t507; + const double t511 = t117 * t93 + 0.1e1; + const double t512 = t19 * t22; + const double t513 = safe_math::cbrt( t30 ); + const double t514 = t513 * t30; + const double t515 = piecewise_functor_3( t31, t153, t514 ); + const double t516 = safe_math::cbrt( t33 ); + const double t517 = t516 * t33; + const double t518 = piecewise_functor_3( t34, t153, t517 ); + const double t519 = t515 + t518 - 0.2e1; + const double t520 = t519 * t162; + const double t521 = t520 * t189; + const double t522 = t512 * t521; + const double t524 = 0.19751673498613801407e-1 * t520 * t187; + const double t525 = t513 * t513; + const double t526 = piecewise_functor_3( t31, t199, t525 ); + const double t527 = t516 * t516; + const double t528 = piecewise_functor_3( t34, t199, t527 ); + const double t530 = t526 / 0.2e1 + t528 / 0.2e1; + const double t531 = t530 * t530; + const double t532 = t531 * t530; + const double t533 = 0.1e1 / t531; + const double t535 = t533 * t136 * t221; + const double t539 = ( -t149 + t522 + t524 ) * t225; + const double t540 = 0.1e1 / t532; + const double t541 = t73 * t540; + const double t543 = safe_math::exp( -t539 * t541 ); + const double t544 = t543 - 0.1e1; + const double t545 = 0.1e1 / t544; + const double t546 = t225 * t545; + const double t547 = t546 * t235; + const double t548 = t213 * t547; + const double t549 = t531 * t531; + const double t550 = 0.1e1 / t549; + const double t551 = t241 * t550; + const double t552 = t551 * t247; + const double t555 = t217 * t535 / 0.96e2 + 0.21437009059034868486e-3 * t548 * t552; + const double t556 = t555 * t225; + const double t557 = t546 * t555; + const double t560 = 0.1e1 + 0.65854491829355115987e0 * t213 * t557; + const double t561 = 0.1e1 / t560; + const double t562 = t556 * t561; + const double t565 = 0.1e1 + 0.65854491829355115987e0 * t213 * t562; + const double t566 = safe_math::log( t565 ); + const double t569 = t198 * t532 * t566 - t149 + t522 + t524; + const double t571 = -t118 * t508 + t511 * t569; + const double t572 = d * t571; + const double t573 = t117 * t116; + const double t575 = t572 * t573 + 0.1e1; + const double t576 = t10 * t2; + const double t578 = 0.2e1 * t576 * t17; + const double t579 = t16 * t3; + const double t580 = 0.1e1 / t579; + const double t582 = 0.2e1 * t15 * t580; + const double t583 = t14 * t2; + const double t584 = t11 * t583; + const double t586 = 0.4e1 * t584 * t22; + const double t587 = t21 * t3; + const double t588 = 0.1e1 / t587; + const double t590 = 0.4e1 * t20 * t588; + const double t592 = t12 * t19 * t2; + const double t594 = 0.6e1 * t592 * t27; + const double t595 = t21 * t579; + const double t596 = 0.1e1 / t595; + const double t598 = 0.6e1 * t25 * t596; + const double t599 = t578 - t582 + t586 - t590 + t594 - t598; + const double t602 = 0.1e1 / t90 / t88; + const double t603 = t29 * t602; + const double t604 = t2 * t17; + const double t605 = t4 - t604; + const double t606 = piecewise_functor_5( t31, 0.0, t34, 0.0, t605 ); + const double t607 = t36 * t606; + const double t608 = t607 * t70; + const double t611 = t39 * rho_a; + const double t613 = 0.1e1 / t41 / t611; + const double t614 = sigma_aa * t613; + const double t617 = t48 * t606; + const double t620 = t60 * t606; + const double t624 = 0.1e1 / t66 / t579; + const double t625 = t64 * t624; + const double t626 = 0.8e1 / 0.3e1 * t625; + const double t627 = -0.8e1 / 0.3e1 * t614 * t49 + 0.5e1 / 0.6e1 * t44 * t617 - 0.5e1 / 0.6e1 * t56 * t620 + t626; + const double t628 = t38 * t627; + const double t631 = t45 * t45; + const double t633 = 0.1e1 / t78 / t631; + const double t635 = t57 * t57; + const double t637 = 0.1e1 / t81 / t635; + const double t640 = -0.4e1 / 0.3e1 * t633 * t606 + 0.4e1 / 0.3e1 * t637 * t606; + const double t641 = t77 * t640; + const double t644 = -t608 * t85 / 0.12e2 + t628 * t85 / 0.24e2 + t71 * t641 / 0.24e2; + const double t648 = piecewise_functor_3( t8, 0.0, t599 * t91 - 0.4e1 * t603 * t644 ); + const double t649 = t648 * t117; + const double t651 = t94 * t116; + const double t653 = t625 * t112 / 0.3e1; + const double t654 = t111 * t111; + const double t655 = 0.1e1 / t654; + const double t656 = tau_a * t43; + const double t658 = t605 / 0.2e1; + const double t659 = t100 * t658; + const double t661 = -t658; + const double t662 = t108 * t661; + const double t665 = -0.5e1 / 0.3e1 * t656 * t101 + 0.5e1 / 0.3e1 * t105 * t662 + 0.5e1 / 0.3e1 * t97 * t659; + const double t666 = t655 * t665; + const double t670 = piecewise_functor_3( t115, 0.0, -t653 - t69 * t666 / 0.8e1 ); + const double t671 = t508 * t670; + const double t674 = t65 * t3; + const double t675 = 0.1e1 / t674; + const double t676 = t125 * t675; + const double t679 = 0.11073470983333333333e-2 * t123 * t676 * t147; + const double t680 = t143 * t143; + const double t681 = 0.1e1 / t680; + const double t682 = t130 * t681; + const double t684 = 0.1e1 / t131 * t72; + const double t686 = t685 * t675; + const double t687 = t684 * t686; + const double t689 = t123 * t676; + const double t691 = safe_math::sqrt( t128 ); + const double t692 = t691 * t72; + const double t693 = t692 * t686; + const double t696 = 0.1e1 / t66 / t3; + const double t697 = t124 * t696; + const double t698 = t138 * t697; + const double t700 = -0.632975e0 * t687 - 0.29896666666666666667e0 * t689 - 0.1023875e0 * t693 - 0.82156666666666666667e-1 * t698; + const double t701 = 0.1e1 / t146; + const double t702 = t700 * t701; + const double t704 = 0.1e1 * t682 * t702; + const double t705 = t37 * t36; + const double t706 = t705 * t157; + const double t707 = t190 * t606; + const double t709 = 0.4e1 * t706 * t707; + const double t712 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t606 ); + const double t715 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t606 ); + const double t716 = t712 + t715; + const double t717 = t150 * t716; + const double t718 = t717 * t190; + const double t722 = t169 * t169; + const double t723 = 0.1e1 / t722; + const double t724 = t164 * t723; + const double t729 = -0.1176575e1 * t687 - 0.516475e0 * t689 - 0.2103875e0 * t693 - 0.104195e0 * t698; + const double t730 = 0.1e1 / t172; + const double t731 = t729 * t730; + const double t737 = t182 * t182; + const double t738 = 0.1e1 / t737; + const double t739 = t177 * t738; + const double t744 = -0.86308333333333333334e0 * t687 - 0.301925e0 * t689 - 0.5501625e-1 * t693 - 0.82785e-1 * t698; + const double t745 = 0.1e1 / t185; + const double t746 = t744 * t745; + const double t749 = 0.53237641966666666666e-3 * t123 * t676 * t173 + 0.1e1 * t724 * t731 - t679 - t704 + 0.18311447306006545054e-3 * t123 * t676 * t186 + 0.5848223622634646207e0 * t739 * t746; + const double t750 = t162 * t749; + const double t751 = t158 * t750; + const double t752 = t716 * t162; + const double t754 = 0.19751673498613801407e-1 * t752 * t187; + const double t755 = t192 * t72; + const double t757 = t685 * t675 * t186; + const double t759 = 0.18311447306006545054e-3 * t755 * t757; + const double t760 = t192 * t177; + const double t762 = t738 * t744 * t745; + const double t764 = 0.5848223622634646207e0 * t760 * t762; + const double t765 = t206 * t262; + const double t766 = 0.1e1 / t78; + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t766 * t606 ); + const double t770 = 0.1e1 / t81; + const double t773 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t770 * t606 ); + const double t775 = t769 / 0.2e1 + t773 / 0.2e1; + const double t779 = t212 * t251; + const double t780 = t225 * t257; + const double t781 = t779 * t780; + const double t783 = 0.54878743191129263322e-2 * t689 * t781; + const double t784 = t211 * t211; + const double t785 = 0.1e1 / t784; + const double t786 = t209 * t785; + const double t787 = t786 * t252; + const double t788 = t257 * t72; + const double t789 = t788 * t686; + const double t791 = 0.9757440539382783019e-2 * t787 * t789; + const double t793 = 0.1e1 / t65 / t579; + const double t794 = t64 * t793; + const double t795 = t794 * t159; + const double t797 = 0.7e1 / 0.288e3 * t795 * t222; + const double t798 = t159 * t228; + const double t799 = t216 * t798; + const double t801 = t124 * t775; + const double t802 = t800 * t801; + const double t807 = t800 * t124 * t27 * t212; + const double t808 = t235 * t240; + const double t810 = t234 * t808 * t243; + const double t812 = 0.71456696863449561619e-5 * t807 * t810; + const double t813 = t786 * t236; + const double t814 = t27 * t240; + const double t815 = t814 * t243; + const double t817 = t815 * t816; + const double t819 = 0.12705000702321332056e-4 * t813 * t817; + const double t820 = t213 * t225; + const double t821 = t232 * t232; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t235; + const double t825 = t820 * t823 * t239; + const double t826 = t240 * t243; + const double t827 = t826 * t72; + const double t830 = ( t679 + t704 + t709 + t718 + t751 + t754 - t759 - t764 ) * t225; + const double t832 = t73 * t243; + const double t833 = t832 * t775; + const double t836 = 0.3e1 * t227 * t833 - t229 * t830; + const double t837 = t836 * t231; + const double t838 = t828 * t837; + const double t839 = t827 * t838; + const double t843 = 0.1e1 / t66 / t587; + const double t844 = t843 * t240; + const double t845 = t844 * t243; + const double t846 = t845 * t247; + const double t848 = 0.10003937560882938627e-2 * t237 * t846; + const double t849 = t233 * t235; + const double t851 = t820 * t849 * t239; + const double t853 = 0.1e1 / t242 / t205; + const double t854 = t240 * t853; + const double t855 = t854 * t72; + const double t857 = t855 * t828 * t775; + const double t860 = -t797 - t799 * t802 / 0.48e2 - t812 + t819 - 0.21437009059034868486e-3 * t825 * t839 - t848 - 0.85748036236139473944e-3 * t851 * t857; + const double t861 = t860 * t225; + const double t862 = t861 * t257; + const double t865 = t213 * t251; + const double t866 = t256 * t256; + const double t867 = 0.1e1 / t866; + const double t868 = t225 * t867; + const double t869 = t212 * t225; + const double t870 = t233 * t251; + const double t871 = t869 * t870; + const double t873 = 0.54878743191129263322e-2 * t689 * t871; + const double t874 = t786 * t234; + const double t875 = t251 * t72; + const double t878 = 0.9757440539382783019e-2 * t874 * t875 * t686; + const double t879 = t822 * t251; + const double t880 = t879 * t837; + const double t883 = t234 * t860; + const double t886 = -t873 + t878 - 0.65854491829355115987e0 * t820 * t880 + 0.65854491829355115987e0 * t213 * t883; + const double t887 = t868 * t886; + const double t890 = -t783 + t791 + 0.65854491829355115987e0 * t213 * t862 - 0.65854491829355115987e0 * t865 * t887; + const double t892 = 0.1e1 / t261; + const double t895 = t198 * t207 * t890 * t892 + 0.3e1 * t198 * t765 * t775 + t679 + t704 + t709 + t718 + t751 + t754 - t759 - t764; + const double t900 = t675 * t159; + const double t902 = t268 * t900 * t271; + const double t903 = 0.17808333333333333333e-1 * t902; + const double t904 = t159 * t373; + const double t905 = 0.1e1 / t631; + const double t906 = t905 * t606; + const double t907 = t904 * t906; + const double t908 = t128 * t907; + const double t910 = -t903 - 0.17808333333333333333e-1 * t908; + const double t912 = 0.621814e-1 * t910 * t291; + const double t913 = t287 * t287; + const double t914 = 0.1e1 / t913; + const double t915 = t275 * t914; + const double t916 = 0.1e1 / t276; + const double t918 = -t902 / 0.3e1 - t908 / 0.3e1; + const double t919 = t916 * t918; + const double t921 = 0.29896666666666666667e0 * t902; + const double t923 = safe_math::sqrt( t273 ); + const double t924 = t923 * t918; + const double t926 = t696 * t240; + const double t928 = t281 * t926 * t283; + const double t929 = 0.82156666666666666667e-1 * t928; + const double t930 = t240 * t346; + const double t931 = t930 * t906; + const double t932 = t141 * t931; + const double t934 = 0.1898925e1 * t919 - t921 - 0.29896666666666666667e0 * t908 + 0.3071625e0 * t924 - t929 - 0.82156666666666666667e-1 * t932; + const double t935 = 0.1e1 / t290; + const double t936 = t934 * t935; + const double t938 = 0.1e1 * t915 * t936; + const double t939 = 0.17123333333333333333e-1 * t902; + const double t941 = -t939 - 0.17123333333333333333e-1 * t908; + const double t944 = t307 * t307; + const double t945 = 0.1e1 / t944; + const double t946 = t302 * t945; + const double t948 = 0.516475e0 * t902; + const double t951 = 0.104195e0 * t928; + const double t953 = 0.3529725e1 * t919 - t948 - 0.516475e0 * t908 + 0.6311625e0 * t924 - t951 - 0.104195e0 * t932; + const double t954 = 0.1e1 / t310; + const double t955 = t953 * t954; + const double t958 = 0.92708333333333333333e-2 * t902; + const double t960 = -t958 - 0.92708333333333333333e-2 * t908; + const double t961 = t960 * t324; + const double t963 = t320 * t320; + const double t964 = 0.1e1 / t963; + const double t965 = t315 * t964; + const double t967 = 0.301925e0 * t902; + const double t970 = 0.82785e-1 * t928; + const double t972 = 0.258925e1 * t919 - t967 - 0.301925e0 * t908 + 0.16504875e0 * t924 - t970 - 0.82785e-1 * t932; + const double t973 = 0.1e1 / t323; + const double t974 = t972 * t973; + const double t978 = t300 * ( -0.310907e-1 * t941 * t311 + 0.1e1 * t946 * t955 + t912 - t938 - 0.19751673498613801407e-1 * t961 + 0.5848223622634646207e0 * t965 * t974 ); + const double t980 = 0.19751673498613801407e-1 * t300 * t961; + const double t981 = t300 * t315; + const double t983 = t964 * t972 * t973; + const double t985 = 0.5848223622634646207e0 * t981 * t983; + const double t986 = 0.83333333333333333333e-2 * t902; + const double t988 = -t986 - 0.83333333333333333333e-2 * t908; + const double t989 = t988 * t341; + const double t992 = t340 * t340; + const double t993 = 0.1e1 / t992; + const double t994 = t338 * t993; + const double t995 = t994 * t378; + const double t996 = t225 * t385; + const double t997 = 0.14816666666666666667e-1 * t902; + const double t999 = -t997 - 0.14816666666666666667e-1 * t908; + const double t1000 = t996 * t999; + const double t1003 = t614 * t344; + const double t1007 = t221 * t139 * t346; + const double t1009 = t345 * t1007 / 0.288e3; + const double t1010 = t344 * t220; + const double t1011 = t44 * t1010; + const double t1012 = t124 * t65; + const double t1014 = 0.1e1 / t271 / t270; + const double t1015 = t1014 * t905; + const double t1016 = t1015 * t606; + const double t1017 = t1012 * t1016; + const double t1020 = t989 * t225; + const double t1021 = t1020 * t366; + const double t1024 = t994 * t225; + const double t1025 = t1024 * t366; + const double t1026 = t373 * t999; + const double t1027 = t372 * t1026; + const double t1028 = t371 * t1027; + const double t1031 = t196 * t196; + const double t1032 = 0.1e1 / t1031; + const double t1033 = t342 * t1032; + const double t1034 = t358 * t358; + const double t1035 = 0.1e1 / t1034; + const double t1036 = t1035 * t360; + const double t1038 = 0.1e1 / t368 / t336; + const double t1039 = t365 * t1038; + const double t1040 = t1036 * t1039; + const double t1041 = t1033 * t1040; + const double t1042 = t246 * t372; + const double t1043 = -t912 + t938 + t978 + t980 - t985; + const double t1045 = t73 * t357; + const double t1046 = t373 * t1043 * t1045; + const double t1047 = t1042 * t1046; + const double t1050 = t362 * t39; + const double t1052 = 0.1e1 / t40 / t1050; + const double t1053 = t361 * t1052; + const double t1054 = t351 * t1053; + const double t1058 = t371 * t127 * t373; + const double t1060 = 0.14291339372689912324e-3 * t367 * t1058; + const double t1061 = t365 * t369; + const double t1062 = t361 * t1061; + const double t1063 = t351 * t1062; + const double t1065 = 0.1e1 / t283 / t270; + const double t1066 = t66 * t1065; + const double t1067 = t1066 * t906; + const double t1068 = t247 * t1067; + const double t1071 = -t1003 * t348 / 0.36e2 + t1009 + t1011 * t1017 / 0.288e3 + 0.21437009059034868486e-3 * t1021 * t375 - 0.21437009059034868486e-3 * t1025 * t1028 + 0.21437009059034868486e-3 * t1041 * t1047 - 0.11433071498151929859e-2 * t1054 * t375 + t1060 + 0.14291339372689912324e-3 * t1063 * t1068; + const double t1072 = t1071 * t225; + const double t1073 = t1072 * t385; + const double t1076 = t342 * t378; + const double t1077 = t384 * t384; + const double t1078 = 0.1e1 / t1077; + const double t1079 = t225 * t1078; + const double t1082 = t359 * t378; + const double t1083 = t1082 * t999; + const double t1086 = t1032 * t1035; + const double t1087 = t342 * t1086; + const double t1089 = t355 * t357; + const double t1090 = t378 * t1043 * t1089; + const double t1093 = t380 * t1071; + const double t1096 = 0.65854491829355115987e0 * t989 * t381 - 0.65854491829355115987e0 * t1024 * t1083 + 0.65854491829355115987e0 * t1087 * t1090 + 0.65854491829355115987e0 * t342 * t1093; + const double t1097 = t1079 * t1096; + const double t1100 = 0.65854491829355115987e0 * t989 * t386 - 0.65854491829355115987e0 * t995 * t1000 + 0.65854491829355115987e0 * t342 * t1073 - 0.65854491829355115987e0 * t1076 * t1097; + const double t1102 = 0.1e1 / t389; + const double t1106 = piecewise_functor_3( t394, t1100 * t1102 * t198 * t336 - t912 + t938 + t978 + t980 - t985, t895 ); + const double t1111 = piecewise_functor_3( t120, t265 * t605 / 0.2e1 + t895 * t30 / 0.2e1, t1106 * t45 / 0.2e1 + t395 * t606 / 0.2e1 ); + const double t1113 = -t605; + const double t1118 = t268 * t900 * t404; + const double t1119 = 0.17808333333333333333e-1 * t1118; + const double t1120 = t159 * t482; + const double t1121 = 0.1e1 / t635; + const double t1122 = t1121 * t606; + const double t1123 = t1120 * t1122; + const double t1124 = t128 * t1123; + const double t1126 = -t1119 + 0.17808333333333333333e-1 * t1124; + const double t1128 = 0.621814e-1 * t1126 * t422; + const double t1129 = t418 * t418; + const double t1130 = 0.1e1 / t1129; + const double t1131 = t408 * t1130; + const double t1132 = 0.1e1 / t409; + const double t1134 = -t1118 / 0.3e1 + t1124 / 0.3e1; + const double t1135 = t1132 * t1134; + const double t1137 = 0.29896666666666666667e0 * t1118; + const double t1139 = safe_math::sqrt( t406 ); + const double t1140 = t1139 * t1134; + const double t1143 = t281 * t926 * t414; + const double t1144 = 0.82156666666666666667e-1 * t1143; + const double t1145 = t240 * t462; + const double t1146 = t1145 * t1122; + const double t1147 = t141 * t1146; + const double t1149 = 0.1898925e1 * t1135 - t1137 + 0.29896666666666666667e0 * t1124 + 0.3071625e0 * t1140 - t1144 + 0.82156666666666666667e-1 * t1147; + const double t1150 = 0.1e1 / t421; + const double t1151 = t1149 * t1150; + const double t1153 = 0.1e1 * t1131 * t1151; + const double t1154 = 0.17123333333333333333e-1 * t1118; + const double t1156 = -t1154 + 0.17123333333333333333e-1 * t1124; + const double t1159 = t431 * t431; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t426 * t1160; + const double t1163 = 0.516475e0 * t1118; + const double t1166 = 0.104195e0 * t1143; + const double t1168 = 0.3529725e1 * t1135 - t1163 + 0.516475e0 * t1124 + 0.6311625e0 * t1140 - t1166 + 0.104195e0 * t1147; + const double t1169 = 0.1e1 / t434; + const double t1170 = t1168 * t1169; + const double t1173 = 0.92708333333333333333e-2 * t1118; + const double t1175 = -t1173 + 0.92708333333333333333e-2 * t1124; + const double t1176 = t1175 * t448; + const double t1178 = t444 * t444; + const double t1179 = 0.1e1 / t1178; + const double t1180 = t439 * t1179; + const double t1182 = 0.301925e0 * t1118; + const double t1185 = 0.82785e-1 * t1143; + const double t1187 = 0.258925e1 * t1135 - t1182 + 0.301925e0 * t1124 + 0.16504875e0 * t1140 - t1185 + 0.82785e-1 * t1147; + const double t1188 = 0.1e1 / t447; + const double t1189 = t1187 * t1188; + const double t1193 = t300 * ( -0.310907e-1 * t1156 * t435 + 0.1e1 * t1161 * t1170 + t1128 - t1153 - 0.19751673498613801407e-1 * t1176 + 0.5848223622634646207e0 * t1180 * t1189 ); + const double t1195 = 0.19751673498613801407e-1 * t300 * t1176; + const double t1196 = t300 * t439; + const double t1198 = t1179 * t1187 * t1188; + const double t1200 = 0.5848223622634646207e0 * t1196 * t1198; + const double t1201 = 0.83333333333333333333e-2 * t1118; + const double t1203 = -t1201 + 0.83333333333333333333e-2 * t1124; + const double t1204 = t1203 * t459; + const double t1207 = t458 * t458; + const double t1208 = 0.1e1 / t1207; + const double t1209 = t456 * t1208; + const double t1210 = t1209 * t487; + const double t1211 = t225 * t494; + const double t1212 = 0.14816666666666666667e-1 * t1118; + const double t1214 = -t1212 + 0.14816666666666666667e-1 * t1124; + const double t1215 = t1211 * t1214; + const double t1219 = t221 * t139 * t462; + const double t1221 = t461 * t1219 / 0.288e3; + const double t1222 = t56 * t1010; + const double t1224 = 0.1e1 / t404 / t403; + const double t1225 = t1224 * t1121; + const double t1226 = t1225 * t606; + const double t1227 = t1012 * t1226; + const double t1230 = t1204 * t225; + const double t1231 = t1230 * t480; + const double t1234 = t1209 * t225; + const double t1235 = t1234 * t480; + const double t1236 = t482 * t1214; + const double t1237 = t372 * t1236; + const double t1238 = t371 * t1237; + const double t1241 = t460 * t1032; + const double t1242 = t472 * t472; + const double t1243 = 0.1e1 / t1242; + const double t1244 = t1243 * t474; + const double t1245 = t479 * t1038; + const double t1246 = t1244 * t1245; + const double t1247 = t1241 * t1246; + const double t1248 = -t1128 + t1153 + t1193 + t1195 - t1200; + const double t1250 = t73 * t471; + const double t1251 = t482 * t1248 * t1250; + const double t1252 = t1042 * t1251; + const double t1256 = t371 * t127 * t482; + const double t1258 = 0.14291339372689912324e-3 * t481 * t1256; + const double t1259 = t479 * t369; + const double t1260 = t475 * t1259; + const double t1261 = t467 * t1260; + const double t1263 = 0.1e1 / t414 / t403; + const double t1264 = t66 * t1263; + const double t1265 = t1264 * t1122; + const double t1266 = t247 * t1265; + const double t1269 = t1221 - t1222 * t1227 / 0.288e3 + 0.21437009059034868486e-3 * t1231 * t484 - 0.21437009059034868486e-3 * t1235 * t1238 + 0.21437009059034868486e-3 * t1247 * t1252 + t1258 - 0.14291339372689912324e-3 * t1261 * t1266; + const double t1270 = t1269 * t225; + const double t1271 = t1270 * t494; + const double t1274 = t460 * t487; + const double t1275 = t493 * t493; + const double t1276 = 0.1e1 / t1275; + const double t1277 = t225 * t1276; + const double t1280 = t473 * t487; + const double t1281 = t1280 * t1214; + const double t1284 = t1032 * t1243; + const double t1285 = t460 * t1284; + const double t1287 = t355 * t471; + const double t1288 = t487 * t1248 * t1287; + const double t1291 = t489 * t1269; + const double t1294 = 0.65854491829355115987e0 * t1204 * t490 - 0.65854491829355115987e0 * t1234 * t1281 + 0.65854491829355115987e0 * t1285 * t1288 + 0.65854491829355115987e0 * t460 * t1291; + const double t1295 = t1277 * t1294; + const double t1298 = 0.65854491829355115987e0 * t1204 * t495 - 0.65854491829355115987e0 * t1210 * t1215 + 0.65854491829355115987e0 * t460 * t1271 - 0.65854491829355115987e0 * t1274 * t1295; + const double t1300 = 0.1e1 / t498; + const double t1304 = piecewise_functor_3( t503, t1298 * t1300 * t198 * t336 - t1128 + t1153 + t1193 + t1195 - t1200, t895 ); + const double t1309 = piecewise_functor_3( t400, t265 * t1113 / 0.2e1 + t895 * t33 / 0.2e1, t1304 * t57 / 0.2e1 - t504 * t606 / 0.2e1 ); + const double t1310 = t1111 + t1309; + const double t1312 = t93 * t116; + const double t1315 = 0.2e1 * t1312 * t670 + t649; + const double t1317 = t583 * t22; + const double t1319 = 0.4e1 * t1317 * t521; + const double t1320 = t19 * t588; + const double t1322 = 0.4e1 * t1320 * t521; + const double t1325 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t513 * t605 ); + const double t1328 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t516 * t1113 ); + const double t1330 = ( t1325 + t1328 ) * t162; + const double t1331 = t1330 * t189; + const double t1332 = t512 * t1331; + const double t1333 = t520 * t749; + const double t1334 = t512 * t1333; + const double t1336 = 0.19751673498613801407e-1 * t1330 * t187; + const double t1337 = t520 * t72; + const double t1339 = 0.18311447306006545054e-3 * t1337 * t757; + const double t1340 = t520 * t177; + const double t1342 = 0.5848223622634646207e0 * t1340 * t762; + const double t1343 = t531 * t566; + const double t1344 = 0.1e1 / t513; + const double t1347 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1344 * t605 ); + const double t1348 = 0.1e1 / t516; + const double t1351 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1348 * t1113 ); + const double t1353 = t1347 / 0.2e1 + t1351 / 0.2e1; + const double t1357 = t212 * t555; + const double t1358 = t225 * t561; + const double t1359 = t1357 * t1358; + const double t1361 = 0.54878743191129263322e-2 * t689 * t1359; + const double t1362 = t786 * t556; + const double t1363 = t561 * t72; + const double t1364 = t1363 * t686; + const double t1366 = 0.9757440539382783019e-2 * t1362 * t1364; + const double t1368 = 0.7e1 / 0.288e3 * t795 * t535; + const double t1369 = t159 * t540; + const double t1370 = t216 * t1369; + const double t1371 = t124 * t1353; + const double t1372 = t800 * t1371; + const double t1376 = t546 * t808 * t550; + const double t1378 = 0.71456696863449561619e-5 * t807 * t1376; + const double t1379 = t786 * t547; + const double t1380 = t814 * t550; + const double t1381 = t1380 * t816; + const double t1383 = 0.12705000702321332056e-4 * t1379 * t1381; + const double t1384 = t544 * t544; + const double t1385 = 0.1e1 / t1384; + const double t1386 = t1385 * t235; + const double t1388 = t820 * t1386 * t239; + const double t1389 = t240 * t550; + const double t1390 = t1389 * t72; + const double t1392 = ( t679 + t704 + t1319 - t1322 + t1332 + t1334 + t1336 - t1339 - t1342 ) * t225; + const double t1394 = t73 * t550; + const double t1395 = t1394 * t1353; + const double t1398 = -t1392 * t541 + 0.3e1 * t1395 * t539; + const double t1399 = t1398 * t543; + const double t1400 = t828 * t1399; + const double t1401 = t1390 * t1400; + const double t1404 = t844 * t550; + const double t1405 = t1404 * t247; + const double t1407 = 0.10003937560882938627e-2 * t548 * t1405; + const double t1408 = t545 * t235; + const double t1410 = t820 * t1408 * t239; + const double t1412 = 0.1e1 / t549 / t530; + const double t1413 = t240 * t1412; + const double t1414 = t1413 * t72; + const double t1416 = t1414 * t828 * t1353; + const double t1419 = -t1368 - t1370 * t1372 / 0.48e2 - t1378 + t1383 - 0.21437009059034868486e-3 * t1388 * t1401 - t1407 - 0.85748036236139473944e-3 * t1410 * t1416; + const double t1420 = t1419 * t225; + const double t1421 = t1420 * t561; + const double t1424 = t213 * t555; + const double t1425 = t560 * t560; + const double t1426 = 0.1e1 / t1425; + const double t1427 = t225 * t1426; + const double t1428 = t545 * t555; + const double t1429 = t869 * t1428; + const double t1431 = 0.54878743191129263322e-2 * t689 * t1429; + const double t1432 = t786 * t546; + const double t1433 = t555 * t72; + const double t1436 = 0.9757440539382783019e-2 * t1432 * t1433 * t686; + const double t1437 = t1385 * t555; + const double t1438 = t1437 * t1399; + const double t1441 = t546 * t1419; + const double t1444 = -t1431 + t1436 - 0.65854491829355115987e0 * t820 * t1438 + 0.65854491829355115987e0 * t213 * t1441; + const double t1445 = t1427 * t1444; + const double t1448 = -t1361 + t1366 + 0.65854491829355115987e0 * t213 * t1421 - 0.65854491829355115987e0 * t1424 * t1445; + const double t1450 = 0.1e1 / t565; + const double t1453 = t1448 * t1450 * t198 * t532 + 0.3e1 * t1343 * t1353 * t198 + t1319 - t1322 + t1332 + t1334 + t1336 - t1339 - t1342 + t679 + t704; + const double t1455 = -t118 * t1310 + t1315 * t569 + t1453 * t511 - t508 * t649 - 0.2e1 * t651 * t671; + const double t1456 = t3 * t1455; + const double t1458 = t3 * t571; + const double t1459 = d * t1455; + const double t1461 = t117 * t670; + const double t1464 = t1459 * t573 + 0.3e1 * t1461 * t572; + const double t1466 = -t578 - t582 - t586 - t590 - t594 - t598; + const double t1468 = -t4 - t604; + const double t1469 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1468 ); + const double t1470 = t36 * t1469; + const double t1471 = t1470 * t70; + const double t1474 = t48 * t1469; + const double t1477 = t51 * rho_b; + const double t1479 = 0.1e1 / t53 / t1477; + const double t1480 = sigma_bb * t1479; + const double t1483 = t60 * t1469; + const double t1486 = 0.5e1 / 0.6e1 * t44 * t1474 - 0.8e1 / 0.3e1 * t1480 * t61 - 0.5e1 / 0.6e1 * t56 * t1483 + t626; + const double t1487 = t38 * t1486; + const double t1490 = t633 * t1469; + const double t1491 = t637 * t1469; + const double t1493 = -0.4e1 / 0.3e1 * t1490 + 0.4e1 / 0.3e1 * t1491; + const double t1494 = t77 * t1493; + const double t1497 = -t1471 * t85 / 0.12e2 + t1487 * t85 / 0.24e2 + t71 * t1494 / 0.24e2; + const double t1501 = piecewise_functor_3( t8, 0.0, t1466 * t91 - 0.4e1 * t1497 * t603 ); + const double t1502 = t1501 * t117; + const double t1504 = t1468 / 0.2e1; + const double t1505 = t100 * t1504; + const double t1507 = tau_b * t55; + const double t1509 = -t1504; + const double t1510 = t108 * t1509; + const double t1513 = 0.5e1 / 0.3e1 * t105 * t1510 - 0.5e1 / 0.3e1 * t1507 * t109 + 0.5e1 / 0.3e1 * t97 * t1505; + const double t1514 = t655 * t1513; + const double t1518 = piecewise_functor_3( t115, 0.0, -t653 - t69 * t1514 / 0.8e1 ); + const double t1519 = t508 * t1518; + const double t1522 = t190 * t1469; + const double t1524 = 0.4e1 * t706 * t1522; + const double t1527 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t1469 ); + const double t1530 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t1469 ); + const double t1531 = t1527 + t1530; + const double t1532 = t150 * t1531; + const double t1533 = t1532 * t190; + const double t1534 = t1531 * t162; + const double t1536 = 0.19751673498613801407e-1 * t1534 * t187; + const double t1539 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t766 * t1469 ); + const double t1542 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t770 * t1469 ); + const double t1544 = t1539 / 0.2e1 + t1542 / 0.2e1; + const double t1548 = t124 * t1544; + const double t1549 = t800 * t1548; + const double t1553 = ( t679 + t704 + t1524 + t1533 + t751 + t1536 - t759 - t764 ) * t225; + const double t1555 = t832 * t1544; + const double t1558 = -t1553 * t229 + 0.3e1 * t1555 * t227; + const double t1559 = t1558 * t231; + const double t1560 = t828 * t1559; + const double t1561 = t827 * t1560; + const double t1565 = t855 * t828 * t1544; + const double t1568 = -t797 - t799 * t1549 / 0.48e2 - t812 + t819 - 0.21437009059034868486e-3 * t825 * t1561 - t848 - 0.85748036236139473944e-3 * t851 * t1565; + const double t1569 = t1568 * t225; + const double t1570 = t1569 * t257; + const double t1573 = t879 * t1559; + const double t1576 = t234 * t1568; + const double t1579 = -t873 + t878 - 0.65854491829355115987e0 * t820 * t1573 + 0.65854491829355115987e0 * t213 * t1576; + const double t1580 = t868 * t1579; + const double t1583 = -t783 + t791 + 0.65854491829355115987e0 * t213 * t1570 - 0.65854491829355115987e0 * t865 * t1580; + const double t1587 = t1583 * t198 * t207 * t892 + 0.3e1 * t1544 * t198 * t765 + t1524 + t1533 + t1536 + t679 + t704 + t751 - t759 - t764; + const double t1592 = t905 * t1469; + const double t1593 = t904 * t1592; + const double t1594 = t128 * t1593; + const double t1596 = -t903 - 0.17808333333333333333e-1 * t1594; + const double t1598 = 0.621814e-1 * t1596 * t291; + const double t1600 = -t902 / 0.3e1 - t1594 / 0.3e1; + const double t1601 = t916 * t1600; + const double t1604 = t923 * t1600; + const double t1606 = t930 * t1592; + const double t1607 = t141 * t1606; + const double t1609 = 0.1898925e1 * t1601 - t921 - 0.29896666666666666667e0 * t1594 + 0.3071625e0 * t1604 - t929 - 0.82156666666666666667e-1 * t1607; + const double t1610 = t1609 * t935; + const double t1612 = 0.1e1 * t915 * t1610; + const double t1614 = -t939 - 0.17123333333333333333e-1 * t1594; + const double t1621 = 0.3529725e1 * t1601 - t948 - 0.516475e0 * t1594 + 0.6311625e0 * t1604 - t951 - 0.104195e0 * t1607; + const double t1622 = t1621 * t954; + const double t1626 = -t958 - 0.92708333333333333333e-2 * t1594; + const double t1627 = t1626 * t324; + const double t1633 = 0.258925e1 * t1601 - t967 - 0.301925e0 * t1594 + 0.16504875e0 * t1604 - t970 - 0.82785e-1 * t1607; + const double t1634 = t1633 * t973; + const double t1638 = t300 * ( -0.310907e-1 * t1614 * t311 + 0.1e1 * t946 * t1622 + t1598 - t1612 - 0.19751673498613801407e-1 * t1627 + 0.5848223622634646207e0 * t965 * t1634 ); + const double t1640 = 0.19751673498613801407e-1 * t300 * t1627; + const double t1642 = t964 * t1633 * t973; + const double t1644 = 0.5848223622634646207e0 * t981 * t1642; + const double t1646 = -t986 - 0.83333333333333333333e-2 * t1594; + const double t1647 = t1646 * t341; + const double t1651 = -t997 - 0.14816666666666666667e-1 * t1594; + const double t1652 = t996 * t1651; + const double t1655 = t1015 * t1469; + const double t1656 = t1012 * t1655; + const double t1659 = t1647 * t225; + const double t1660 = t1659 * t366; + const double t1663 = t373 * t1651; + const double t1664 = t372 * t1663; + const double t1665 = t371 * t1664; + const double t1668 = -t1598 + t1612 + t1638 + t1640 - t1644; + const double t1669 = t373 * t1668; + const double t1670 = t1669 * t1045; + const double t1671 = t1042 * t1670; + const double t1674 = t1066 * t1592; + const double t1675 = t247 * t1674; + const double t1678 = t1009 + t1011 * t1656 / 0.288e3 + 0.21437009059034868486e-3 * t1660 * t375 - 0.21437009059034868486e-3 * t1025 * t1665 + 0.21437009059034868486e-3 * t1041 * t1671 + t1060 + 0.14291339372689912324e-3 * t1063 * t1675; + const double t1679 = t1678 * t225; + const double t1680 = t1679 * t385; + const double t1685 = t1082 * t1651; + const double t1689 = t378 * t1668 * t1089; + const double t1692 = t380 * t1678; + const double t1695 = 0.65854491829355115987e0 * t1647 * t381 - 0.65854491829355115987e0 * t1024 * t1685 + 0.65854491829355115987e0 * t1087 * t1689 + 0.65854491829355115987e0 * t342 * t1692; + const double t1696 = t1079 * t1695; + const double t1699 = 0.65854491829355115987e0 * t1647 * t386 - 0.65854491829355115987e0 * t995 * t1652 + 0.65854491829355115987e0 * t342 * t1680 - 0.65854491829355115987e0 * t1076 * t1696; + const double t1704 = piecewise_functor_3( t394, t1102 * t1699 * t198 * t336 - t1598 + t1612 + t1638 + t1640 - t1644, t1587 ); + const double t1709 = piecewise_functor_3( t120, t265 * t1468 / 0.2e1 + t1587 * t30 / 0.2e1, t395 * t1469 / 0.2e1 + t1704 * t45 / 0.2e1 ); + const double t1711 = -t1468; + const double t1715 = t1121 * t1469; + const double t1716 = t1120 * t1715; + const double t1717 = t128 * t1716; + const double t1719 = -t1119 + 0.17808333333333333333e-1 * t1717; + const double t1721 = 0.621814e-1 * t1719 * t422; + const double t1723 = -t1118 / 0.3e1 + t1717 / 0.3e1; + const double t1724 = t1132 * t1723; + const double t1727 = t1139 * t1723; + const double t1729 = t1145 * t1715; + const double t1730 = t141 * t1729; + const double t1732 = 0.1898925e1 * t1724 - t1137 + 0.29896666666666666667e0 * t1717 + 0.3071625e0 * t1727 - t1144 + 0.82156666666666666667e-1 * t1730; + const double t1733 = t1732 * t1150; + const double t1735 = 0.1e1 * t1131 * t1733; + const double t1737 = -t1154 + 0.17123333333333333333e-1 * t1717; + const double t1744 = 0.3529725e1 * t1724 - t1163 + 0.516475e0 * t1717 + 0.6311625e0 * t1727 - t1166 + 0.104195e0 * t1730; + const double t1745 = t1744 * t1169; + const double t1749 = -t1173 + 0.92708333333333333333e-2 * t1717; + const double t1750 = t1749 * t448; + const double t1756 = 0.258925e1 * t1724 - t1182 + 0.301925e0 * t1717 + 0.16504875e0 * t1727 - t1185 + 0.82785e-1 * t1730; + const double t1757 = t1756 * t1188; + const double t1761 = t300 * ( -0.310907e-1 * t1737 * t435 + 0.1e1 * t1161 * t1745 + t1721 - t1735 - 0.19751673498613801407e-1 * t1750 + 0.5848223622634646207e0 * t1180 * t1757 ); + const double t1763 = 0.19751673498613801407e-1 * t300 * t1750; + const double t1765 = t1179 * t1756 * t1188; + const double t1767 = 0.5848223622634646207e0 * t1196 * t1765; + const double t1769 = -t1201 + 0.83333333333333333333e-2 * t1717; + const double t1770 = t1769 * t459; + const double t1774 = -t1212 + 0.14816666666666666667e-1 * t1717; + const double t1775 = t1211 * t1774; + const double t1778 = t1480 * t344; + const double t1781 = t1225 * t1469; + const double t1782 = t1012 * t1781; + const double t1785 = t1770 * t225; + const double t1786 = t1785 * t480; + const double t1789 = t482 * t1774; + const double t1790 = t372 * t1789; + const double t1791 = t371 * t1790; + const double t1794 = -t1721 + t1735 + t1761 + t1763 - t1767; + const double t1795 = t482 * t1794; + const double t1796 = t1795 * t1250; + const double t1797 = t1042 * t1796; + const double t1800 = t476 * t51; + const double t1802 = 0.1e1 / t52 / t1800; + const double t1803 = t475 * t1802; + const double t1804 = t467 * t1803; + const double t1807 = t1264 * t1715; + const double t1808 = t247 * t1807; + const double t1811 = -t1778 * t464 / 0.36e2 + t1221 - t1222 * t1782 / 0.288e3 + 0.21437009059034868486e-3 * t1786 * t484 - 0.21437009059034868486e-3 * t1235 * t1791 + 0.21437009059034868486e-3 * t1247 * t1797 - 0.11433071498151929859e-2 * t1804 * t484 + t1258 - 0.14291339372689912324e-3 * t1261 * t1808; + const double t1812 = t1811 * t225; + const double t1813 = t1812 * t494; + const double t1818 = t1280 * t1774; + const double t1822 = t487 * t1794 * t1287; + const double t1825 = t489 * t1811; + const double t1828 = 0.65854491829355115987e0 * t1770 * t490 - 0.65854491829355115987e0 * t1234 * t1818 + 0.65854491829355115987e0 * t1285 * t1822 + 0.65854491829355115987e0 * t460 * t1825; + const double t1829 = t1277 * t1828; + const double t1832 = 0.65854491829355115987e0 * t1770 * t495 - 0.65854491829355115987e0 * t1210 * t1775 + 0.65854491829355115987e0 * t460 * t1813 - 0.65854491829355115987e0 * t1274 * t1829; + const double t1837 = piecewise_functor_3( t503, t1300 * t1832 * t198 * t336 - t1721 + t1735 + t1761 + t1763 - t1767, t1587 ); + const double t1842 = piecewise_functor_3( t400, t1587 * t33 / 0.2e1 + t265 * t1711 / 0.2e1, -t504 * t1469 / 0.2e1 + t1837 * t57 / 0.2e1 ); + const double t1843 = t1709 + t1842; + const double t1847 = 0.2e1 * t1312 * t1518 + t1502; + const double t1851 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t513 * t1468 ); + const double t1854 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t516 * t1711 ); + const double t1856 = ( t1851 + t1854 ) * t162; + const double t1857 = t1856 * t189; + const double t1858 = t512 * t1857; + const double t1860 = 0.19751673498613801407e-1 * t1856 * t187; + const double t1863 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1344 * t1468 ); + const double t1866 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1348 * t1711 ); + const double t1868 = t1863 / 0.2e1 + t1866 / 0.2e1; + const double t1872 = t124 * t1868; + const double t1873 = t800 * t1872; + const double t1877 = ( t679 + t704 - t1319 - t1322 + t1858 + t1334 + t1860 - t1339 - t1342 ) * t225; + const double t1879 = t1394 * t1868; + const double t1882 = -t1877 * t541 + 0.3e1 * t1879 * t539; + const double t1883 = t1882 * t543; + const double t1884 = t828 * t1883; + const double t1885 = t1390 * t1884; + const double t1889 = t1414 * t828 * t1868; + const double t1892 = -t1368 - t1370 * t1873 / 0.48e2 - t1378 + t1383 - 0.21437009059034868486e-3 * t1388 * t1885 - t1407 - 0.85748036236139473944e-3 * t1410 * t1889; + const double t1893 = t1892 * t225; + const double t1894 = t1893 * t561; + const double t1897 = t1437 * t1883; + const double t1900 = t546 * t1892; + const double t1903 = -t1431 + t1436 - 0.65854491829355115987e0 * t820 * t1897 + 0.65854491829355115987e0 * t213 * t1900; + const double t1904 = t1427 * t1903; + const double t1907 = -t1361 + t1366 + 0.65854491829355115987e0 * t213 * t1894 - 0.65854491829355115987e0 * t1424 * t1904; + const double t1911 = t1450 * t1907 * t198 * t532 + 0.3e1 * t1343 * t1868 * t198 - t1319 - t1322 + t1334 - t1339 - t1342 + t1858 + t1860 + t679 + t704; + const double t1913 = -t118 * t1843 - t1502 * t508 - 0.2e1 * t1519 * t651 + t1847 * t569 + t1911 * t511; + const double t1914 = t3 * t1913; + const double t1916 = d * t1913; + const double t1918 = t117 * t1518; + const double t1921 = t1916 * t573 + 0.3e1 * t1918 * t572; + const double t1923 = t603 * t38; + const double t1925 = t43 * t49 - t68; + const double t1926 = t1925 * t72; + const double t1927 = t76 * t84; + const double t1928 = t1926 * t1927; + const double t1931 = piecewise_functor_3( t8, 0.0, -t1923 * t1928 / 0.6e1 ); + const double t1932 = t1931 * t117; + const double t1934 = t68 * t112; + const double t1936 = piecewise_functor_3( t115, 0.0, t1934 / 0.8e1 ); + const double t1937 = t508 * t1936; + const double t1939 = 0.2e1 * t651 * t1937; + const double t1940 = t198 * t207; + const double t1941 = t215 * t159; + const double t1943 = t1941 * t218 * t816; + const double t1945 = t234 * t64; + const double t1946 = t213 * t1945; + const double t1947 = t1946 * t248; + const double t1949 = t1943 / 0.96e2 + 0.42874018118069736972e-3 * t1947; + const double t1950 = t1949 * t225; + const double t1951 = t1950 * t257; + const double t1954 = t209 * t209; + const double t1955 = t1954 * t785; + const double t1956 = t1955 * t251; + const double t1957 = t1032 * t867; + const double t1958 = t233 * t1949; + const double t1959 = t1957 * t1958; + const double t1962 = 0.65854491829355115987e0 * t213 * t1951 - 0.4336814094102599731e0 * t1956 * t1959; + const double t1963 = t1962 * t892; + const double t1964 = t1963 * t30; + const double t1966 = t1940 * t1964 / 0.2e1; + const double t1967 = t43 * t343; + const double t1968 = t1967 * t136; + const double t1971 = t359 * sigma_aa; + const double t1972 = t1971 * t365; + const double t1973 = t351 * t1972; + const double t1976 = t1968 * t348 / 0.96e2 + 0.42874018118069736972e-3 * t1973 * t375; + const double t1977 = t1976 * t225; + const double t1978 = t1977 * t385; + const double t1981 = t338 * t338; + const double t1982 = t1981 * t993; + const double t1983 = t1982 * t378; + const double t1984 = t1032 * t1078; + const double t1985 = t359 * t1976; + const double t1986 = t1984 * t1985; + const double t1989 = 0.65854491829355115987e0 * t342 * t1978 - 0.4336814094102599731e0 * t1983 * t1986; + const double t1993 = t207 * t1962; + const double t1995 = t198 * t1993 * t892; + const double t1996 = piecewise_functor_3( t394, t198 * t336 * t1989 * t1102, t1995 ); + const double t1999 = piecewise_functor_3( t120, t1966, t1996 * t45 / 0.2e1 ); + const double t2000 = t1963 * t33; + const double t2002 = t1940 * t2000 / 0.2e1; + const double t2003 = piecewise_functor_3( t503, 0.0, t1995 ); + const double t2006 = piecewise_functor_3( t400, t2002, t2003 * t57 / 0.2e1 ); + const double t2007 = t1999 + t2006; + const double t2010 = 0.2e1 * t1312 * t1936; + const double t2011 = t1932 + t2010; + const double t2013 = t511 * t196; + const double t2014 = t2013 * t197; + const double t2016 = t1941 * t533 * t816; + const double t2018 = t546 * t64; + const double t2019 = t213 * t2018; + const double t2020 = t2019 * t552; + const double t2022 = t2016 / 0.96e2 + 0.42874018118069736972e-3 * t2020; + const double t2023 = t2022 * t225; + const double t2024 = t2023 * t561; + const double t2027 = t1955 * t555; + const double t2028 = t1032 * t1426; + const double t2029 = t545 * t2022; + const double t2030 = t2028 * t2029; + const double t2033 = 0.65854491829355115987e0 * t213 * t2024 - 0.4336814094102599731e0 * t2027 * t2030; + const double t2034 = t532 * t2033; + const double t2035 = t2034 * t1450; + const double t2036 = t2014 * t2035; + const double t2037 = -t118 * t2007 - t1932 * t508 + t2011 * t569 - t1939 + t2036; + const double t2038 = t3 * t2037; + const double t2040 = d * t2037; + const double t2042 = t117 * t1936; + const double t2044 = 0.3e1 * t572 * t2042; + const double t2045 = t2040 * t573 + t2044; + const double t2047 = t68 * t72; + const double t2048 = t2047 * t1927; + const double t2051 = piecewise_functor_3( t8, 0.0, t1923 * t2048 / 0.3e1 ); + const double t2052 = t2051 * t117; + const double t2055 = piecewise_functor_3( t115, 0.0, t1934 / 0.4e1 ); + const double t2056 = t508 * t2055; + const double t2061 = t1943 / 0.48e2 + 0.85748036236139473944e-3 * t1947; + const double t2062 = t2061 * t225; + const double t2063 = t2062 * t257; + const double t2066 = t233 * t2061; + const double t2067 = t1957 * t2066; + const double t2070 = 0.65854491829355115987e0 * t213 * t2063 - 0.4336814094102599731e0 * t1956 * t2067; + const double t2071 = t2070 * t892; + const double t2072 = t2071 * t30; + const double t2075 = t207 * t2070; + const double t2077 = t198 * t2075 * t892; + const double t2078 = piecewise_functor_3( t394, 0.0, t2077 ); + const double t2081 = piecewise_functor_3( t120, t1940 * t2072 / 0.2e1, t2078 * t45 / 0.2e1 ); + const double t2082 = t2071 * t33; + const double t2085 = piecewise_functor_3( t503, 0.0, t2077 ); + const double t2088 = piecewise_functor_3( t400, t1940 * t2082 / 0.2e1, t2085 * t57 / 0.2e1 ); + const double t2089 = t2081 + t2088; + const double t2093 = 0.2e1 * t1312 * t2055 + t2052; + const double t2097 = t2016 / 0.48e2 + 0.85748036236139473944e-3 * t2020; + const double t2098 = t2097 * t225; + const double t2099 = t2098 * t561; + const double t2102 = t545 * t2097; + const double t2103 = t2028 * t2102; + const double t2106 = 0.65854491829355115987e0 * t213 * t2099 - 0.4336814094102599731e0 * t2027 * t2103; + const double t2107 = t532 * t2106; + const double t2108 = t2107 * t1450; + const double t2110 = -t118 * t2089 + t2014 * t2108 - t2052 * t508 - 0.2e1 * t2056 * t651 + t2093 * t569; + const double t2111 = t3 * t2110; + const double t2113 = d * t2110; + const double t2115 = t117 * t2055; + const double t2118 = t2113 * t573 + 0.3e1 * t2115 * t572; + const double t2121 = t55 * t61 - t68; + const double t2122 = t2121 * t72; + const double t2123 = t2122 * t1927; + const double t2126 = piecewise_functor_3( t8, 0.0, -t1923 * t2123 / 0.6e1 ); + const double t2127 = t2126 * t117; + const double t2129 = piecewise_functor_3( t394, 0.0, t1995 ); + const double t2132 = piecewise_functor_3( t120, t1966, t2129 * t45 / 0.2e1 ); + const double t2133 = t55 * t343; + const double t2134 = t2133 * t136; + const double t2137 = t473 * sigma_bb; + const double t2138 = t2137 * t479; + const double t2139 = t467 * t2138; + const double t2142 = t2134 * t464 / 0.96e2 + 0.42874018118069736972e-3 * t2139 * t484; + const double t2143 = t2142 * t225; + const double t2144 = t2143 * t494; + const double t2147 = t456 * t456; + const double t2148 = t2147 * t1208; + const double t2149 = t2148 * t487; + const double t2150 = t1032 * t1276; + const double t2151 = t473 * t2142; + const double t2152 = t2150 * t2151; + const double t2155 = 0.65854491829355115987e0 * t460 * t2144 - 0.4336814094102599731e0 * t2149 * t2152; + const double t2159 = piecewise_functor_3( t503, t198 * t336 * t2155 * t1300, t1995 ); + const double t2162 = piecewise_functor_3( t400, t2002, t2159 * t57 / 0.2e1 ); + const double t2163 = t2132 + t2162; + const double t2165 = t2127 + t2010; + const double t2167 = -t118 * t2163 - t2127 * t508 + t2165 * t569 - t1939 + t2036; + const double t2168 = t3 * t2167; + const double t2170 = d * t2167; + const double t2172 = t2170 * t573 + t2044; + const double t2174 = t655 * t96; + const double t2175 = t2174 * t101; + const double t2178 = piecewise_functor_3( t115, 0.0, -t69 * t2175 / 0.8e1 ); + const double t2179 = t508 * t2178; + const double t2181 = t2178 * t569; + const double t2184 = 0.2e1 * t1312 * t2181 - 0.2e1 * t2179 * t651; + const double t2185 = t3 * t2184; + const double t2187 = d * t2184; + const double t2189 = t117 * t2178; + const double t2192 = t2187 * t573 + 0.3e1 * t2189 * t572; + const double t2194 = t655 * t104; + const double t2195 = t2194 * t109; + const double t2198 = piecewise_functor_3( t115, 0.0, -t69 * t2195 / 0.8e1 ); + const double t2199 = t508 * t2198; + const double t2201 = t2198 * t569; + const double t2204 = 0.2e1 * t1312 * t2201 - 0.2e1 * t2199 * t651; + const double t2205 = t3 * t2204; + const double t2207 = d * t2204; + const double t2209 = t117 * t2198; + const double t2212 = t2207 * t573 + 0.3e1 * t2209 * t572; + + + eps = t571 * t575; + vrho_a = t1456 * t575 + t1458 * t1464 + eps; + vrho_b = t1458 * t1921 + t1914 * t575 + eps; + vsigma_aa = t1458 * t2045 + t2038 * t575; + vsigma_ab = t1458 * t2118 + t2111 * t575; + vsigma_bb = t1458 * t2172 + t2168 * t575; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t1458 * t2192 + t2185 * t575; + vtau_b = t1458 * t2212 + t2205 * t575; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t220 = 0.1e1 / t122; + constexpr double t221 = t220 * t124; + constexpr double t240 = t159 * t159; + constexpr double t245 = 0.1e1 / t137; + constexpr double t246 = t72 * t245; + constexpr double t247 = t246 * t125; + constexpr double t268 = t123 * t125; + constexpr double t281 = t138 * t124; + constexpr double t685 = t122 * t125; + constexpr double t800 = t136 * t220; + constexpr double t816 = t800 * t124; + constexpr double t828 = t245 * t125; + constexpr double t2395 = t137 * t124; + constexpr double t3207 = t73 * t73; + constexpr double t8440 = 0.1e1 / t74 / t73; + constexpr double t8621 = t136 * t8440; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 + 0.25e-1 * t128; + const double t211 = 0.1e1 + 0.4445e-1 * t128; + const double t212 = 0.1e1 / t211; + const double t213 = t209 * t212; + const double t215 = 0.1e1 / t65 / t16; + const double t216 = t64 * t215; + const double t217 = t216 * t159; + const double t218 = 0.1e1 / t206; + const double t222 = t218 * t136 * t221; + const double t225 = 0.1e1 / t196; + const double t227 = ( -t149 + t191 + t194 ) * t225; + const double t228 = 0.1e1 / t207; + const double t229 = t73 * t228; + const double t231 = safe_math::exp( -t227 * t229 ); + const double t232 = t231 - 0.1e1; + const double t233 = 0.1e1 / t232; + const double t234 = t225 * t233; + const double t235 = t64 * t64; + const double t236 = t234 * t235; + const double t237 = t213 * t236; + const double t239 = 0.1e1 / t66 / t21; + const double t241 = t239 * t240; + const double t242 = t206 * t206; + const double t243 = 0.1e1 / t242; + const double t244 = t241 * t243; + const double t248 = t244 * t247; + const double t251 = t217 * t222 / 0.96e2 + 0.21437009059034868486e-3 * t237 * t248; + const double t252 = t251 * t225; + const double t253 = t234 * t251; + const double t256 = 0.1e1 + 0.65854491829355115987e0 * t213 * t253; + const double t257 = 0.1e1 / t256; + const double t258 = t252 * t257; + const double t261 = 0.1e1 + 0.65854491829355115987e0 * t213 * t258; + const double t262 = safe_math::log( t261 ); + const double t265 = t198 * t207 * t262 - t149 + t191 + t194; + const double t269 = t126 * t159; + const double t270 = 0.1e1 / t45; + const double t271 = safe_math::cbrt( t270 ); + const double t273 = t268 * t269 * t271; + const double t275 = 0.1e1 + 0.53425e-1 * t273; + const double t276 = safe_math::sqrt( t273 ); + const double t279 = pow_3_2( t273 ); + const double t282 = t139 * t240; + const double t283 = t271 * t271; + const double t285 = t281 * t282 * t283; + const double t287 = 0.379785e1 * t276 + 0.8969e0 * t273 + 0.204775e0 * t279 + 0.123235e0 * t285; + const double t290 = 0.1e1 + 0.16081979498692535067e2 / t287; + const double t291 = safe_math::log( t290 ); + const double t293 = 0.621814e-1 * t275 * t291; + const double t294 = 0.2e1 <= zeta_tol; + const double t296 = piecewise_functor_3( t294, t153, 0.2e1 * t159 ); + const double t297 = 0.e0 <= zeta_tol; + const double t298 = piecewise_functor_3( t297, t153, 0.0 ); + const double t300 = ( t296 + t298 - 0.2e1 ) * t162; + const double t302 = 0.1e1 + 0.5137e-1 * t273; + const double t307 = 0.705945e1 * t276 + 0.1549425e1 * t273 + 0.420775e0 * t279 + 0.1562925e0 * t285; + const double t310 = 0.1e1 + 0.32163958997385070134e2 / t307; + const double t311 = safe_math::log( t310 ); + const double t315 = 0.1e1 + 0.278125e-1 * t273; + const double t320 = 0.51785e1 * t276 + 0.905775e0 * t273 + 0.1100325e0 * t279 + 0.1241775e0 * t285; + const double t323 = 0.1e1 + 0.29608749977793437516e2 / t320; + const double t324 = safe_math::log( t323 ); + const double t325 = t315 * t324; + const double t328 = t300 * ( -0.310907e-1 * t302 * t311 + t293 - 0.19751673498613801407e-1 * t325 ); + const double t330 = 0.19751673498613801407e-1 * t300 * t325; + const double t331 = piecewise_functor_3( t294, t199, t240 ); + const double t332 = piecewise_functor_3( t297, t199, 0.0 ); + const double t334 = t331 / 0.2e1 + t332 / 0.2e1; + const double t335 = t334 * t334; + const double t336 = t335 * t334; + const double t338 = 0.1e1 + 0.25e-1 * t273; + const double t340 = 0.1e1 + 0.4445e-1 * t273; + const double t341 = 0.1e1 / t340; + const double t342 = t338 * t341; + const double t343 = 0.1e1 / t335; + const double t344 = t343 * t136; + const double t345 = t44 * t344; + const double t346 = 0.1e1 / t271; + const double t348 = t221 * t65 * t346; + const double t351 = t342 * t225; + const double t354 = 0.1e1 / t336; + const double t355 = t73 * t354; + const double t357 = safe_math::exp( -( -t293 + t328 + t330 ) * t225 * t355 ); + const double t358 = t357 - 0.1e1; + const double t359 = 0.1e1 / t358; + const double t360 = sigma_aa * sigma_aa; + const double t361 = t359 * t360; + const double t362 = t39 * t39; + const double t363 = t362 * rho_a; + const double t365 = 0.1e1 / t40 / t363; + const double t366 = t361 * t365; + const double t367 = t351 * t366; + const double t368 = t335 * t335; + const double t369 = 0.1e1 / t368; + const double t370 = t369 * t72; + const double t371 = t370 * t245; + const double t372 = t125 * t66; + const double t373 = 0.1e1 / t283; + const double t375 = t371 * t372 * t373; + const double t378 = t345 * t348 / 0.96e2 + 0.21437009059034868486e-3 * t367 * t375; + const double t379 = t378 * t225; + const double t380 = t225 * t359; + const double t381 = t380 * t378; + const double t384 = 0.1e1 + 0.65854491829355115987e0 * t342 * t381; + const double t385 = 0.1e1 / t384; + const double t386 = t379 * t385; + const double t389 = 0.1e1 + 0.65854491829355115987e0 * t342 * t386; + const double t390 = safe_math::log( t389 ); + const double t393 = t198 * t336 * t390 - t293 + t328 + t330; + const double t394 = t265 < t393; + const double t395 = piecewise_functor_3( t394, t393, t265 ); + const double t398 = piecewise_functor_3( t120, t265 * t30 / 0.2e1, t395 * t45 / 0.2e1 ); + const double t400 = rho_b <= dens_tol || t34; + const double t403 = 0.1e1 / t57; + const double t404 = safe_math::cbrt( t403 ); + const double t406 = t268 * t269 * t404; + const double t408 = 0.1e1 + 0.53425e-1 * t406; + const double t409 = safe_math::sqrt( t406 ); + const double t412 = pow_3_2( t406 ); + const double t414 = t404 * t404; + const double t416 = t281 * t282 * t414; + const double t418 = 0.379785e1 * t409 + 0.8969e0 * t406 + 0.204775e0 * t412 + 0.123235e0 * t416; + const double t421 = 0.1e1 + 0.16081979498692535067e2 / t418; + const double t422 = safe_math::log( t421 ); + const double t424 = 0.621814e-1 * t408 * t422; + const double t426 = 0.1e1 + 0.5137e-1 * t406; + const double t431 = 0.705945e1 * t409 + 0.1549425e1 * t406 + 0.420775e0 * t412 + 0.1562925e0 * t416; + const double t434 = 0.1e1 + 0.32163958997385070134e2 / t431; + const double t435 = safe_math::log( t434 ); + const double t439 = 0.1e1 + 0.278125e-1 * t406; + const double t444 = 0.51785e1 * t409 + 0.905775e0 * t406 + 0.1100325e0 * t412 + 0.1241775e0 * t416; + const double t447 = 0.1e1 + 0.29608749977793437516e2 / t444; + const double t448 = safe_math::log( t447 ); + const double t449 = t439 * t448; + const double t452 = t300 * ( -0.310907e-1 * t426 * t435 + t424 - 0.19751673498613801407e-1 * t449 ); + const double t454 = 0.19751673498613801407e-1 * t300 * t449; + const double t456 = 0.1e1 + 0.25e-1 * t406; + const double t458 = 0.1e1 + 0.4445e-1 * t406; + const double t459 = 0.1e1 / t458; + const double t460 = t456 * t459; + const double t461 = t56 * t344; + const double t462 = 0.1e1 / t404; + const double t464 = t221 * t65 * t462; + const double t467 = t460 * t225; + const double t471 = safe_math::exp( -( -t424 + t452 + t454 ) * t225 * t355 ); + const double t472 = t471 - 0.1e1; + const double t473 = 0.1e1 / t472; + const double t474 = sigma_bb * sigma_bb; + const double t475 = t473 * t474; + const double t476 = t51 * t51; + const double t477 = t476 * rho_b; + const double t479 = 0.1e1 / t52 / t477; + const double t480 = t475 * t479; + const double t481 = t467 * t480; + const double t482 = 0.1e1 / t414; + const double t484 = t371 * t372 * t482; + const double t487 = t461 * t464 / 0.96e2 + 0.21437009059034868486e-3 * t481 * t484; + const double t488 = t487 * t225; + const double t489 = t225 * t473; + const double t490 = t489 * t487; + const double t493 = 0.1e1 + 0.65854491829355115987e0 * t460 * t490; + const double t494 = 0.1e1 / t493; + const double t495 = t488 * t494; + const double t498 = 0.1e1 + 0.65854491829355115987e0 * t460 * t495; + const double t499 = safe_math::log( t498 ); + const double t502 = t198 * t336 * t499 - t424 + t452 + t454; + const double t503 = t265 < t502; + const double t504 = piecewise_functor_3( t503, t502, t265 ); + const double t507 = piecewise_functor_3( t400, t265 * t33 / 0.2e1, t504 * t57 / 0.2e1 ); + const double t508 = t398 + t507; + const double t511 = t117 * t93 + 0.1e1; + const double t512 = t19 * t22; + const double t513 = safe_math::cbrt( t30 ); + const double t514 = t513 * t30; + const double t515 = piecewise_functor_3( t31, t153, t514 ); + const double t516 = safe_math::cbrt( t33 ); + const double t517 = t516 * t33; + const double t518 = piecewise_functor_3( t34, t153, t517 ); + const double t519 = t515 + t518 - 0.2e1; + const double t520 = t519 * t162; + const double t521 = t520 * t189; + const double t522 = t512 * t521; + const double t524 = 0.19751673498613801407e-1 * t520 * t187; + const double t525 = t513 * t513; + const double t526 = piecewise_functor_3( t31, t199, t525 ); + const double t527 = t516 * t516; + const double t528 = piecewise_functor_3( t34, t199, t527 ); + const double t530 = t526 / 0.2e1 + t528 / 0.2e1; + const double t531 = t530 * t530; + const double t532 = t531 * t530; + const double t533 = 0.1e1 / t531; + const double t535 = t533 * t136 * t221; + const double t539 = ( -t149 + t522 + t524 ) * t225; + const double t540 = 0.1e1 / t532; + const double t541 = t73 * t540; + const double t543 = safe_math::exp( -t539 * t541 ); + const double t544 = t543 - 0.1e1; + const double t545 = 0.1e1 / t544; + const double t546 = t225 * t545; + const double t547 = t546 * t235; + const double t548 = t213 * t547; + const double t549 = t531 * t531; + const double t550 = 0.1e1 / t549; + const double t551 = t241 * t550; + const double t552 = t551 * t247; + const double t555 = t217 * t535 / 0.96e2 + 0.21437009059034868486e-3 * t548 * t552; + const double t556 = t555 * t225; + const double t557 = t546 * t555; + const double t560 = 0.1e1 + 0.65854491829355115987e0 * t213 * t557; + const double t561 = 0.1e1 / t560; + const double t562 = t556 * t561; + const double t565 = 0.1e1 + 0.65854491829355115987e0 * t213 * t562; + const double t566 = safe_math::log( t565 ); + const double t569 = t198 * t532 * t566 - t149 + t522 + t524; + const double t571 = -t118 * t508 + t511 * t569; + const double t572 = d * t571; + const double t573 = t117 * t116; + const double t575 = t572 * t573 + 0.1e1; + const double t576 = t10 * t2; + const double t578 = 0.2e1 * t576 * t17; + const double t579 = t16 * t3; + const double t580 = 0.1e1 / t579; + const double t582 = 0.2e1 * t15 * t580; + const double t583 = t14 * t2; + const double t584 = t11 * t583; + const double t586 = 0.4e1 * t584 * t22; + const double t587 = t21 * t3; + const double t588 = 0.1e1 / t587; + const double t590 = 0.4e1 * t20 * t588; + const double t592 = t12 * t19 * t2; + const double t594 = 0.6e1 * t592 * t27; + const double t595 = t21 * t579; + const double t596 = 0.1e1 / t595; + const double t598 = 0.6e1 * t25 * t596; + const double t599 = t578 - t582 + t586 - t590 + t594 - t598; + const double t602 = 0.1e1 / t90 / t88; + const double t603 = t29 * t602; + const double t604 = t2 * t17; + const double t605 = t4 - t604; + const double t606 = piecewise_functor_5( t31, 0.0, t34, 0.0, t605 ); + const double t607 = t36 * t606; + const double t608 = t607 * t70; + const double t611 = t39 * rho_a; + const double t613 = 0.1e1 / t41 / t611; + const double t614 = sigma_aa * t613; + const double t617 = t48 * t606; + const double t620 = t60 * t606; + const double t624 = 0.1e1 / t66 / t579; + const double t625 = t64 * t624; + const double t626 = 0.8e1 / 0.3e1 * t625; + const double t627 = -0.8e1 / 0.3e1 * t614 * t49 + 0.5e1 / 0.6e1 * t44 * t617 - 0.5e1 / 0.6e1 * t56 * t620 + t626; + const double t628 = t38 * t627; + const double t631 = t45 * t45; + const double t633 = 0.1e1 / t78 / t631; + const double t635 = t57 * t57; + const double t637 = 0.1e1 / t81 / t635; + const double t640 = -0.4e1 / 0.3e1 * t633 * t606 + 0.4e1 / 0.3e1 * t637 * t606; + const double t641 = t77 * t640; + const double t644 = -t608 * t85 / 0.12e2 + t628 * t85 / 0.24e2 + t71 * t641 / 0.24e2; + const double t648 = piecewise_functor_3( t8, 0.0, t599 * t91 - 0.4e1 * t603 * t644 ); + const double t649 = t648 * t117; + const double t651 = t94 * t116; + const double t653 = t625 * t112 / 0.3e1; + const double t654 = t111 * t111; + const double t655 = 0.1e1 / t654; + const double t656 = tau_a * t43; + const double t658 = t605 / 0.2e1; + const double t659 = t100 * t658; + const double t661 = -t658; + const double t662 = t108 * t661; + const double t665 = -0.5e1 / 0.3e1 * t656 * t101 + 0.5e1 / 0.3e1 * t105 * t662 + 0.5e1 / 0.3e1 * t97 * t659; + const double t666 = t655 * t665; + const double t670 = piecewise_functor_3( t115, 0.0, -t653 - t69 * t666 / 0.8e1 ); + const double t671 = t508 * t670; + const double t674 = t65 * t3; + const double t675 = 0.1e1 / t674; + const double t676 = t125 * t675; + const double t679 = 0.11073470983333333333e-2 * t123 * t676 * t147; + const double t680 = t143 * t143; + const double t681 = 0.1e1 / t680; + const double t682 = t130 * t681; + const double t684 = 0.1e1 / t131 * t72; + const double t686 = t685 * t675; + const double t687 = t684 * t686; + const double t689 = t123 * t676; + const double t691 = safe_math::sqrt( t128 ); + const double t692 = t691 * t72; + const double t693 = t692 * t686; + const double t696 = 0.1e1 / t66 / t3; + const double t697 = t124 * t696; + const double t698 = t138 * t697; + const double t700 = -0.632975e0 * t687 - 0.29896666666666666667e0 * t689 - 0.1023875e0 * t693 - 0.82156666666666666667e-1 * t698; + const double t701 = 0.1e1 / t146; + const double t702 = t700 * t701; + const double t704 = 0.1e1 * t682 * t702; + const double t705 = t37 * t36; + const double t706 = t705 * t157; + const double t707 = t190 * t606; + const double t709 = 0.4e1 * t706 * t707; + const double t712 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t606 ); + const double t715 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t606 ); + const double t716 = t712 + t715; + const double t717 = t150 * t716; + const double t718 = t717 * t190; + const double t722 = t169 * t169; + const double t723 = 0.1e1 / t722; + const double t724 = t164 * t723; + const double t729 = -0.1176575e1 * t687 - 0.516475e0 * t689 - 0.2103875e0 * t693 - 0.104195e0 * t698; + const double t730 = 0.1e1 / t172; + const double t731 = t729 * t730; + const double t737 = t182 * t182; + const double t738 = 0.1e1 / t737; + const double t739 = t177 * t738; + const double t744 = -0.86308333333333333334e0 * t687 - 0.301925e0 * t689 - 0.5501625e-1 * t693 - 0.82785e-1 * t698; + const double t745 = 0.1e1 / t185; + const double t746 = t744 * t745; + const double t749 = 0.53237641966666666666e-3 * t123 * t676 * t173 + 0.1e1 * t724 * t731 - t679 - t704 + 0.18311447306006545054e-3 * t123 * t676 * t186 + 0.5848223622634646207e0 * t739 * t746; + const double t750 = t162 * t749; + const double t751 = t158 * t750; + const double t752 = t716 * t162; + const double t754 = 0.19751673498613801407e-1 * t752 * t187; + const double t755 = t192 * t72; + const double t757 = t685 * t675 * t186; + const double t759 = 0.18311447306006545054e-3 * t755 * t757; + const double t760 = t192 * t177; + const double t762 = t738 * t744 * t745; + const double t764 = 0.5848223622634646207e0 * t760 * t762; + const double t765 = t206 * t262; + const double t766 = 0.1e1 / t78; + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t766 * t606 ); + const double t770 = 0.1e1 / t81; + const double t773 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t770 * t606 ); + const double t775 = t769 / 0.2e1 + t773 / 0.2e1; + const double t779 = t212 * t251; + const double t780 = t225 * t257; + const double t781 = t779 * t780; + const double t783 = 0.54878743191129263322e-2 * t689 * t781; + const double t784 = t211 * t211; + const double t785 = 0.1e1 / t784; + const double t786 = t209 * t785; + const double t787 = t786 * t252; + const double t788 = t257 * t72; + const double t789 = t788 * t686; + const double t791 = 0.9757440539382783019e-2 * t787 * t789; + const double t793 = 0.1e1 / t65 / t579; + const double t794 = t64 * t793; + const double t795 = t794 * t159; + const double t797 = 0.7e1 / 0.288e3 * t795 * t222; + const double t798 = t159 * t228; + const double t799 = t216 * t798; + const double t801 = t124 * t775; + const double t802 = t800 * t801; + const double t807 = t800 * t124 * t27 * t212; + const double t808 = t235 * t240; + const double t810 = t234 * t808 * t243; + const double t812 = 0.71456696863449561619e-5 * t807 * t810; + const double t813 = t786 * t236; + const double t814 = t27 * t240; + const double t815 = t814 * t243; + const double t817 = t815 * t816; + const double t819 = 0.12705000702321332056e-4 * t813 * t817; + const double t820 = t213 * t225; + const double t821 = t232 * t232; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t235; + const double t825 = t820 * t823 * t239; + const double t826 = t240 * t243; + const double t827 = t826 * t72; + const double t830 = ( t679 + t704 + t709 + t718 + t751 + t754 - t759 - t764 ) * t225; + const double t832 = t73 * t243; + const double t833 = t832 * t775; + const double t836 = 0.3e1 * t227 * t833 - t229 * t830; + const double t837 = t836 * t231; + const double t838 = t828 * t837; + const double t839 = t827 * t838; + const double t843 = 0.1e1 / t66 / t587; + const double t844 = t843 * t240; + const double t845 = t844 * t243; + const double t846 = t845 * t247; + const double t848 = 0.10003937560882938627e-2 * t237 * t846; + const double t849 = t233 * t235; + const double t851 = t820 * t849 * t239; + const double t853 = 0.1e1 / t242 / t205; + const double t854 = t240 * t853; + const double t855 = t854 * t72; + const double t857 = t855 * t828 * t775; + const double t860 = -t797 - t799 * t802 / 0.48e2 - t812 + t819 - 0.21437009059034868486e-3 * t825 * t839 - t848 - 0.85748036236139473944e-3 * t851 * t857; + const double t861 = t860 * t225; + const double t862 = t861 * t257; + const double t865 = t213 * t251; + const double t866 = t256 * t256; + const double t867 = 0.1e1 / t866; + const double t868 = t225 * t867; + const double t869 = t212 * t225; + const double t870 = t233 * t251; + const double t871 = t869 * t870; + const double t873 = 0.54878743191129263322e-2 * t689 * t871; + const double t874 = t786 * t234; + const double t875 = t251 * t72; + const double t878 = 0.9757440539382783019e-2 * t874 * t875 * t686; + const double t879 = t822 * t251; + const double t880 = t879 * t837; + const double t883 = t234 * t860; + const double t886 = -t873 + t878 - 0.65854491829355115987e0 * t820 * t880 + 0.65854491829355115987e0 * t213 * t883; + const double t887 = t868 * t886; + const double t890 = -t783 + t791 + 0.65854491829355115987e0 * t213 * t862 - 0.65854491829355115987e0 * t865 * t887; + const double t892 = 0.1e1 / t261; + const double t895 = t198 * t207 * t890 * t892 + 0.3e1 * t198 * t765 * t775 + t679 + t704 + t709 + t718 + t751 + t754 - t759 - t764; + const double t900 = t675 * t159; + const double t902 = t268 * t900 * t271; + const double t903 = 0.17808333333333333333e-1 * t902; + const double t904 = t159 * t373; + const double t905 = 0.1e1 / t631; + const double t906 = t905 * t606; + const double t907 = t904 * t906; + const double t908 = t128 * t907; + const double t910 = -t903 - 0.17808333333333333333e-1 * t908; + const double t912 = 0.621814e-1 * t910 * t291; + const double t913 = t287 * t287; + const double t914 = 0.1e1 / t913; + const double t915 = t275 * t914; + const double t916 = 0.1e1 / t276; + const double t918 = -t902 / 0.3e1 - t908 / 0.3e1; + const double t919 = t916 * t918; + const double t921 = 0.29896666666666666667e0 * t902; + const double t923 = safe_math::sqrt( t273 ); + const double t924 = t923 * t918; + const double t926 = t696 * t240; + const double t928 = t281 * t926 * t283; + const double t929 = 0.82156666666666666667e-1 * t928; + const double t930 = t240 * t346; + const double t931 = t930 * t906; + const double t932 = t141 * t931; + const double t934 = 0.1898925e1 * t919 - t921 - 0.29896666666666666667e0 * t908 + 0.3071625e0 * t924 - t929 - 0.82156666666666666667e-1 * t932; + const double t935 = 0.1e1 / t290; + const double t936 = t934 * t935; + const double t938 = 0.1e1 * t915 * t936; + const double t939 = 0.17123333333333333333e-1 * t902; + const double t941 = -t939 - 0.17123333333333333333e-1 * t908; + const double t944 = t307 * t307; + const double t945 = 0.1e1 / t944; + const double t946 = t302 * t945; + const double t948 = 0.516475e0 * t902; + const double t951 = 0.104195e0 * t928; + const double t953 = 0.3529725e1 * t919 - t948 - 0.516475e0 * t908 + 0.6311625e0 * t924 - t951 - 0.104195e0 * t932; + const double t954 = 0.1e1 / t310; + const double t955 = t953 * t954; + const double t958 = 0.92708333333333333333e-2 * t902; + const double t960 = -t958 - 0.92708333333333333333e-2 * t908; + const double t961 = t960 * t324; + const double t963 = t320 * t320; + const double t964 = 0.1e1 / t963; + const double t965 = t315 * t964; + const double t967 = 0.301925e0 * t902; + const double t970 = 0.82785e-1 * t928; + const double t972 = 0.258925e1 * t919 - t967 - 0.301925e0 * t908 + 0.16504875e0 * t924 - t970 - 0.82785e-1 * t932; + const double t973 = 0.1e1 / t323; + const double t974 = t972 * t973; + const double t978 = t300 * ( -0.310907e-1 * t941 * t311 + 0.1e1 * t946 * t955 + t912 - t938 - 0.19751673498613801407e-1 * t961 + 0.5848223622634646207e0 * t965 * t974 ); + const double t980 = 0.19751673498613801407e-1 * t300 * t961; + const double t981 = t300 * t315; + const double t983 = t964 * t972 * t973; + const double t985 = 0.5848223622634646207e0 * t981 * t983; + const double t986 = 0.83333333333333333333e-2 * t902; + const double t988 = -t986 - 0.83333333333333333333e-2 * t908; + const double t989 = t988 * t341; + const double t992 = t340 * t340; + const double t993 = 0.1e1 / t992; + const double t994 = t338 * t993; + const double t995 = t994 * t378; + const double t996 = t225 * t385; + const double t997 = 0.14816666666666666667e-1 * t902; + const double t999 = -t997 - 0.14816666666666666667e-1 * t908; + const double t1000 = t996 * t999; + const double t1003 = t614 * t344; + const double t1007 = t221 * t139 * t346; + const double t1009 = t345 * t1007 / 0.288e3; + const double t1010 = t344 * t220; + const double t1011 = t44 * t1010; + const double t1012 = t124 * t65; + const double t1014 = 0.1e1 / t271 / t270; + const double t1015 = t1014 * t905; + const double t1016 = t1015 * t606; + const double t1017 = t1012 * t1016; + const double t1020 = t989 * t225; + const double t1021 = t1020 * t366; + const double t1024 = t994 * t225; + const double t1025 = t1024 * t366; + const double t1026 = t373 * t999; + const double t1027 = t372 * t1026; + const double t1028 = t371 * t1027; + const double t1031 = t196 * t196; + const double t1032 = 0.1e1 / t1031; + const double t1033 = t342 * t1032; + const double t1034 = t358 * t358; + const double t1035 = 0.1e1 / t1034; + const double t1036 = t1035 * t360; + const double t1038 = 0.1e1 / t368 / t336; + const double t1039 = t365 * t1038; + const double t1040 = t1036 * t1039; + const double t1041 = t1033 * t1040; + const double t1042 = t246 * t372; + const double t1043 = -t912 + t938 + t978 + t980 - t985; + const double t1045 = t73 * t357; + const double t1046 = t373 * t1043 * t1045; + const double t1047 = t1042 * t1046; + const double t1050 = t362 * t39; + const double t1052 = 0.1e1 / t40 / t1050; + const double t1053 = t361 * t1052; + const double t1054 = t351 * t1053; + const double t1058 = t371 * t127 * t373; + const double t1060 = 0.14291339372689912324e-3 * t367 * t1058; + const double t1061 = t365 * t369; + const double t1062 = t361 * t1061; + const double t1063 = t351 * t1062; + const double t1065 = 0.1e1 / t283 / t270; + const double t1066 = t66 * t1065; + const double t1067 = t1066 * t906; + const double t1068 = t247 * t1067; + const double t1071 = -t1003 * t348 / 0.36e2 + t1009 + t1011 * t1017 / 0.288e3 + 0.21437009059034868486e-3 * t1021 * t375 - 0.21437009059034868486e-3 * t1025 * t1028 + 0.21437009059034868486e-3 * t1041 * t1047 - 0.11433071498151929859e-2 * t1054 * t375 + t1060 + 0.14291339372689912324e-3 * t1063 * t1068; + const double t1072 = t1071 * t225; + const double t1073 = t1072 * t385; + const double t1076 = t342 * t378; + const double t1077 = t384 * t384; + const double t1078 = 0.1e1 / t1077; + const double t1079 = t225 * t1078; + const double t1082 = t359 * t378; + const double t1083 = t1082 * t999; + const double t1086 = t1032 * t1035; + const double t1087 = t342 * t1086; + const double t1089 = t355 * t357; + const double t1090 = t378 * t1043 * t1089; + const double t1093 = t380 * t1071; + const double t1096 = 0.65854491829355115987e0 * t989 * t381 - 0.65854491829355115987e0 * t1024 * t1083 + 0.65854491829355115987e0 * t1087 * t1090 + 0.65854491829355115987e0 * t342 * t1093; + const double t1097 = t1079 * t1096; + const double t1100 = 0.65854491829355115987e0 * t989 * t386 - 0.65854491829355115987e0 * t995 * t1000 + 0.65854491829355115987e0 * t342 * t1073 - 0.65854491829355115987e0 * t1076 * t1097; + const double t1102 = 0.1e1 / t389; + const double t1106 = piecewise_functor_3( t394, t1100 * t1102 * t198 * t336 - t912 + t938 + t978 + t980 - t985, t895 ); + const double t1111 = piecewise_functor_3( t120, t265 * t605 / 0.2e1 + t895 * t30 / 0.2e1, t1106 * t45 / 0.2e1 + t395 * t606 / 0.2e1 ); + const double t1113 = -t605; + const double t1118 = t268 * t900 * t404; + const double t1119 = 0.17808333333333333333e-1 * t1118; + const double t1120 = t159 * t482; + const double t1121 = 0.1e1 / t635; + const double t1122 = t1121 * t606; + const double t1123 = t1120 * t1122; + const double t1124 = t128 * t1123; + const double t1126 = -t1119 + 0.17808333333333333333e-1 * t1124; + const double t1128 = 0.621814e-1 * t1126 * t422; + const double t1129 = t418 * t418; + const double t1130 = 0.1e1 / t1129; + const double t1131 = t408 * t1130; + const double t1132 = 0.1e1 / t409; + const double t1134 = -t1118 / 0.3e1 + t1124 / 0.3e1; + const double t1135 = t1132 * t1134; + const double t1137 = 0.29896666666666666667e0 * t1118; + const double t1139 = safe_math::sqrt( t406 ); + const double t1140 = t1139 * t1134; + const double t1143 = t281 * t926 * t414; + const double t1144 = 0.82156666666666666667e-1 * t1143; + const double t1145 = t240 * t462; + const double t1146 = t1145 * t1122; + const double t1147 = t141 * t1146; + const double t1149 = 0.1898925e1 * t1135 - t1137 + 0.29896666666666666667e0 * t1124 + 0.3071625e0 * t1140 - t1144 + 0.82156666666666666667e-1 * t1147; + const double t1150 = 0.1e1 / t421; + const double t1151 = t1149 * t1150; + const double t1153 = 0.1e1 * t1131 * t1151; + const double t1154 = 0.17123333333333333333e-1 * t1118; + const double t1156 = -t1154 + 0.17123333333333333333e-1 * t1124; + const double t1159 = t431 * t431; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t426 * t1160; + const double t1163 = 0.516475e0 * t1118; + const double t1166 = 0.104195e0 * t1143; + const double t1168 = 0.3529725e1 * t1135 - t1163 + 0.516475e0 * t1124 + 0.6311625e0 * t1140 - t1166 + 0.104195e0 * t1147; + const double t1169 = 0.1e1 / t434; + const double t1170 = t1168 * t1169; + const double t1173 = 0.92708333333333333333e-2 * t1118; + const double t1175 = -t1173 + 0.92708333333333333333e-2 * t1124; + const double t1176 = t1175 * t448; + const double t1178 = t444 * t444; + const double t1179 = 0.1e1 / t1178; + const double t1180 = t439 * t1179; + const double t1182 = 0.301925e0 * t1118; + const double t1185 = 0.82785e-1 * t1143; + const double t1187 = 0.258925e1 * t1135 - t1182 + 0.301925e0 * t1124 + 0.16504875e0 * t1140 - t1185 + 0.82785e-1 * t1147; + const double t1188 = 0.1e1 / t447; + const double t1189 = t1187 * t1188; + const double t1193 = t300 * ( -0.310907e-1 * t1156 * t435 + 0.1e1 * t1161 * t1170 + t1128 - t1153 - 0.19751673498613801407e-1 * t1176 + 0.5848223622634646207e0 * t1180 * t1189 ); + const double t1195 = 0.19751673498613801407e-1 * t300 * t1176; + const double t1196 = t300 * t439; + const double t1198 = t1179 * t1187 * t1188; + const double t1200 = 0.5848223622634646207e0 * t1196 * t1198; + const double t1201 = 0.83333333333333333333e-2 * t1118; + const double t1203 = -t1201 + 0.83333333333333333333e-2 * t1124; + const double t1204 = t1203 * t459; + const double t1207 = t458 * t458; + const double t1208 = 0.1e1 / t1207; + const double t1209 = t456 * t1208; + const double t1210 = t1209 * t487; + const double t1211 = t225 * t494; + const double t1212 = 0.14816666666666666667e-1 * t1118; + const double t1214 = -t1212 + 0.14816666666666666667e-1 * t1124; + const double t1215 = t1211 * t1214; + const double t1219 = t221 * t139 * t462; + const double t1221 = t461 * t1219 / 0.288e3; + const double t1222 = t56 * t1010; + const double t1224 = 0.1e1 / t404 / t403; + const double t1225 = t1224 * t1121; + const double t1226 = t1225 * t606; + const double t1227 = t1012 * t1226; + const double t1230 = t1204 * t225; + const double t1231 = t1230 * t480; + const double t1234 = t1209 * t225; + const double t1235 = t1234 * t480; + const double t1236 = t482 * t1214; + const double t1237 = t372 * t1236; + const double t1238 = t371 * t1237; + const double t1241 = t460 * t1032; + const double t1242 = t472 * t472; + const double t1243 = 0.1e1 / t1242; + const double t1244 = t1243 * t474; + const double t1245 = t479 * t1038; + const double t1246 = t1244 * t1245; + const double t1247 = t1241 * t1246; + const double t1248 = -t1128 + t1153 + t1193 + t1195 - t1200; + const double t1250 = t73 * t471; + const double t1251 = t482 * t1248 * t1250; + const double t1252 = t1042 * t1251; + const double t1256 = t371 * t127 * t482; + const double t1258 = 0.14291339372689912324e-3 * t481 * t1256; + const double t1259 = t479 * t369; + const double t1260 = t475 * t1259; + const double t1261 = t467 * t1260; + const double t1263 = 0.1e1 / t414 / t403; + const double t1264 = t66 * t1263; + const double t1265 = t1264 * t1122; + const double t1266 = t247 * t1265; + const double t1269 = t1221 - t1222 * t1227 / 0.288e3 + 0.21437009059034868486e-3 * t1231 * t484 - 0.21437009059034868486e-3 * t1235 * t1238 + 0.21437009059034868486e-3 * t1247 * t1252 + t1258 - 0.14291339372689912324e-3 * t1261 * t1266; + const double t1270 = t1269 * t225; + const double t1271 = t1270 * t494; + const double t1274 = t460 * t487; + const double t1275 = t493 * t493; + const double t1276 = 0.1e1 / t1275; + const double t1277 = t225 * t1276; + const double t1280 = t473 * t487; + const double t1281 = t1280 * t1214; + const double t1284 = t1032 * t1243; + const double t1285 = t460 * t1284; + const double t1287 = t355 * t471; + const double t1288 = t487 * t1248 * t1287; + const double t1291 = t489 * t1269; + const double t1294 = 0.65854491829355115987e0 * t1204 * t490 - 0.65854491829355115987e0 * t1234 * t1281 + 0.65854491829355115987e0 * t1285 * t1288 + 0.65854491829355115987e0 * t460 * t1291; + const double t1295 = t1277 * t1294; + const double t1298 = 0.65854491829355115987e0 * t1204 * t495 - 0.65854491829355115987e0 * t1210 * t1215 + 0.65854491829355115987e0 * t460 * t1271 - 0.65854491829355115987e0 * t1274 * t1295; + const double t1300 = 0.1e1 / t498; + const double t1304 = piecewise_functor_3( t503, t1298 * t1300 * t198 * t336 - t1128 + t1153 + t1193 + t1195 - t1200, t895 ); + const double t1309 = piecewise_functor_3( t400, t265 * t1113 / 0.2e1 + t895 * t33 / 0.2e1, t1304 * t57 / 0.2e1 - t504 * t606 / 0.2e1 ); + const double t1310 = t1111 + t1309; + const double t1312 = t93 * t116; + const double t1315 = 0.2e1 * t1312 * t670 + t649; + const double t1317 = t583 * t22; + const double t1319 = 0.4e1 * t1317 * t521; + const double t1320 = t19 * t588; + const double t1322 = 0.4e1 * t1320 * t521; + const double t1325 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t513 * t605 ); + const double t1328 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t516 * t1113 ); + const double t1330 = ( t1325 + t1328 ) * t162; + const double t1331 = t1330 * t189; + const double t1332 = t512 * t1331; + const double t1333 = t520 * t749; + const double t1334 = t512 * t1333; + const double t1336 = 0.19751673498613801407e-1 * t1330 * t187; + const double t1337 = t520 * t72; + const double t1339 = 0.18311447306006545054e-3 * t1337 * t757; + const double t1340 = t520 * t177; + const double t1342 = 0.5848223622634646207e0 * t1340 * t762; + const double t1343 = t531 * t566; + const double t1344 = 0.1e1 / t513; + const double t1347 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1344 * t605 ); + const double t1348 = 0.1e1 / t516; + const double t1351 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1348 * t1113 ); + const double t1353 = t1347 / 0.2e1 + t1351 / 0.2e1; + const double t1357 = t212 * t555; + const double t1358 = t225 * t561; + const double t1359 = t1357 * t1358; + const double t1361 = 0.54878743191129263322e-2 * t689 * t1359; + const double t1362 = t786 * t556; + const double t1363 = t561 * t72; + const double t1364 = t1363 * t686; + const double t1366 = 0.9757440539382783019e-2 * t1362 * t1364; + const double t1368 = 0.7e1 / 0.288e3 * t795 * t535; + const double t1369 = t159 * t540; + const double t1370 = t216 * t1369; + const double t1371 = t124 * t1353; + const double t1372 = t800 * t1371; + const double t1376 = t546 * t808 * t550; + const double t1378 = 0.71456696863449561619e-5 * t807 * t1376; + const double t1379 = t786 * t547; + const double t1380 = t814 * t550; + const double t1381 = t1380 * t816; + const double t1383 = 0.12705000702321332056e-4 * t1379 * t1381; + const double t1384 = t544 * t544; + const double t1385 = 0.1e1 / t1384; + const double t1386 = t1385 * t235; + const double t1388 = t820 * t1386 * t239; + const double t1389 = t240 * t550; + const double t1390 = t1389 * t72; + const double t1392 = ( t679 + t704 + t1319 - t1322 + t1332 + t1334 + t1336 - t1339 - t1342 ) * t225; + const double t1394 = t73 * t550; + const double t1395 = t1394 * t1353; + const double t1398 = -t1392 * t541 + 0.3e1 * t1395 * t539; + const double t1399 = t1398 * t543; + const double t1400 = t828 * t1399; + const double t1401 = t1390 * t1400; + const double t1404 = t844 * t550; + const double t1405 = t1404 * t247; + const double t1407 = 0.10003937560882938627e-2 * t548 * t1405; + const double t1408 = t545 * t235; + const double t1410 = t820 * t1408 * t239; + const double t1412 = 0.1e1 / t549 / t530; + const double t1413 = t240 * t1412; + const double t1414 = t1413 * t72; + const double t1416 = t1414 * t828 * t1353; + const double t1419 = -t1368 - t1370 * t1372 / 0.48e2 - t1378 + t1383 - 0.21437009059034868486e-3 * t1388 * t1401 - t1407 - 0.85748036236139473944e-3 * t1410 * t1416; + const double t1420 = t1419 * t225; + const double t1421 = t1420 * t561; + const double t1424 = t213 * t555; + const double t1425 = t560 * t560; + const double t1426 = 0.1e1 / t1425; + const double t1427 = t225 * t1426; + const double t1428 = t545 * t555; + const double t1429 = t869 * t1428; + const double t1431 = 0.54878743191129263322e-2 * t689 * t1429; + const double t1432 = t786 * t546; + const double t1433 = t555 * t72; + const double t1436 = 0.9757440539382783019e-2 * t1432 * t1433 * t686; + const double t1437 = t1385 * t555; + const double t1438 = t1437 * t1399; + const double t1441 = t546 * t1419; + const double t1444 = -t1431 + t1436 - 0.65854491829355115987e0 * t820 * t1438 + 0.65854491829355115987e0 * t213 * t1441; + const double t1445 = t1427 * t1444; + const double t1448 = -t1361 + t1366 + 0.65854491829355115987e0 * t213 * t1421 - 0.65854491829355115987e0 * t1424 * t1445; + const double t1450 = 0.1e1 / t565; + const double t1453 = t1448 * t1450 * t198 * t532 + 0.3e1 * t1343 * t1353 * t198 + t1319 - t1322 + t1332 + t1334 + t1336 - t1339 - t1342 + t679 + t704; + const double t1455 = -t118 * t1310 + t1315 * t569 + t1453 * t511 - t508 * t649 - 0.2e1 * t651 * t671; + const double t1456 = t3 * t1455; + const double t1458 = t3 * t571; + const double t1459 = d * t1455; + const double t1461 = t117 * t670; + const double t1464 = t1459 * t573 + 0.3e1 * t1461 * t572; + const double t1466 = -t578 - t582 - t586 - t590 - t594 - t598; + const double t1468 = -t4 - t604; + const double t1469 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1468 ); + const double t1470 = t36 * t1469; + const double t1471 = t1470 * t70; + const double t1474 = t48 * t1469; + const double t1477 = t51 * rho_b; + const double t1479 = 0.1e1 / t53 / t1477; + const double t1480 = sigma_bb * t1479; + const double t1483 = t60 * t1469; + const double t1486 = 0.5e1 / 0.6e1 * t44 * t1474 - 0.8e1 / 0.3e1 * t1480 * t61 - 0.5e1 / 0.6e1 * t56 * t1483 + t626; + const double t1487 = t38 * t1486; + const double t1490 = t633 * t1469; + const double t1491 = t637 * t1469; + const double t1493 = -0.4e1 / 0.3e1 * t1490 + 0.4e1 / 0.3e1 * t1491; + const double t1494 = t77 * t1493; + const double t1497 = -t1471 * t85 / 0.12e2 + t1487 * t85 / 0.24e2 + t71 * t1494 / 0.24e2; + const double t1501 = piecewise_functor_3( t8, 0.0, t1466 * t91 - 0.4e1 * t1497 * t603 ); + const double t1502 = t1501 * t117; + const double t1504 = t1468 / 0.2e1; + const double t1505 = t100 * t1504; + const double t1507 = tau_b * t55; + const double t1509 = -t1504; + const double t1510 = t108 * t1509; + const double t1513 = 0.5e1 / 0.3e1 * t105 * t1510 - 0.5e1 / 0.3e1 * t1507 * t109 + 0.5e1 / 0.3e1 * t97 * t1505; + const double t1514 = t655 * t1513; + const double t1518 = piecewise_functor_3( t115, 0.0, -t653 - t69 * t1514 / 0.8e1 ); + const double t1519 = t508 * t1518; + const double t1522 = t190 * t1469; + const double t1524 = 0.4e1 * t706 * t1522; + const double t1527 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t1469 ); + const double t1530 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t1469 ); + const double t1531 = t1527 + t1530; + const double t1532 = t150 * t1531; + const double t1533 = t1532 * t190; + const double t1534 = t1531 * t162; + const double t1536 = 0.19751673498613801407e-1 * t1534 * t187; + const double t1539 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t766 * t1469 ); + const double t1542 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t770 * t1469 ); + const double t1544 = t1539 / 0.2e1 + t1542 / 0.2e1; + const double t1548 = t124 * t1544; + const double t1549 = t800 * t1548; + const double t1553 = ( t679 + t704 + t1524 + t1533 + t751 + t1536 - t759 - t764 ) * t225; + const double t1555 = t832 * t1544; + const double t1558 = -t1553 * t229 + 0.3e1 * t1555 * t227; + const double t1559 = t1558 * t231; + const double t1560 = t828 * t1559; + const double t1561 = t827 * t1560; + const double t1565 = t855 * t828 * t1544; + const double t1568 = -t797 - t799 * t1549 / 0.48e2 - t812 + t819 - 0.21437009059034868486e-3 * t825 * t1561 - t848 - 0.85748036236139473944e-3 * t851 * t1565; + const double t1569 = t1568 * t225; + const double t1570 = t1569 * t257; + const double t1573 = t879 * t1559; + const double t1576 = t234 * t1568; + const double t1579 = -t873 + t878 - 0.65854491829355115987e0 * t820 * t1573 + 0.65854491829355115987e0 * t213 * t1576; + const double t1580 = t868 * t1579; + const double t1583 = -t783 + t791 + 0.65854491829355115987e0 * t213 * t1570 - 0.65854491829355115987e0 * t865 * t1580; + const double t1587 = t1583 * t198 * t207 * t892 + 0.3e1 * t1544 * t198 * t765 + t1524 + t1533 + t1536 + t679 + t704 + t751 - t759 - t764; + const double t1592 = t905 * t1469; + const double t1593 = t904 * t1592; + const double t1594 = t128 * t1593; + const double t1596 = -t903 - 0.17808333333333333333e-1 * t1594; + const double t1598 = 0.621814e-1 * t1596 * t291; + const double t1600 = -t902 / 0.3e1 - t1594 / 0.3e1; + const double t1601 = t916 * t1600; + const double t1604 = t923 * t1600; + const double t1606 = t930 * t1592; + const double t1607 = t141 * t1606; + const double t1609 = 0.1898925e1 * t1601 - t921 - 0.29896666666666666667e0 * t1594 + 0.3071625e0 * t1604 - t929 - 0.82156666666666666667e-1 * t1607; + const double t1610 = t1609 * t935; + const double t1612 = 0.1e1 * t915 * t1610; + const double t1614 = -t939 - 0.17123333333333333333e-1 * t1594; + const double t1621 = 0.3529725e1 * t1601 - t948 - 0.516475e0 * t1594 + 0.6311625e0 * t1604 - t951 - 0.104195e0 * t1607; + const double t1622 = t1621 * t954; + const double t1626 = -t958 - 0.92708333333333333333e-2 * t1594; + const double t1627 = t1626 * t324; + const double t1633 = 0.258925e1 * t1601 - t967 - 0.301925e0 * t1594 + 0.16504875e0 * t1604 - t970 - 0.82785e-1 * t1607; + const double t1634 = t1633 * t973; + const double t1638 = t300 * ( -0.310907e-1 * t1614 * t311 + 0.1e1 * t946 * t1622 + t1598 - t1612 - 0.19751673498613801407e-1 * t1627 + 0.5848223622634646207e0 * t965 * t1634 ); + const double t1640 = 0.19751673498613801407e-1 * t300 * t1627; + const double t1642 = t964 * t1633 * t973; + const double t1644 = 0.5848223622634646207e0 * t981 * t1642; + const double t1646 = -t986 - 0.83333333333333333333e-2 * t1594; + const double t1647 = t1646 * t341; + const double t1651 = -t997 - 0.14816666666666666667e-1 * t1594; + const double t1652 = t996 * t1651; + const double t1655 = t1015 * t1469; + const double t1656 = t1012 * t1655; + const double t1659 = t1647 * t225; + const double t1660 = t1659 * t366; + const double t1663 = t373 * t1651; + const double t1664 = t372 * t1663; + const double t1665 = t371 * t1664; + const double t1668 = -t1598 + t1612 + t1638 + t1640 - t1644; + const double t1669 = t373 * t1668; + const double t1670 = t1669 * t1045; + const double t1671 = t1042 * t1670; + const double t1674 = t1066 * t1592; + const double t1675 = t247 * t1674; + const double t1678 = t1009 + t1011 * t1656 / 0.288e3 + 0.21437009059034868486e-3 * t1660 * t375 - 0.21437009059034868486e-3 * t1025 * t1665 + 0.21437009059034868486e-3 * t1041 * t1671 + t1060 + 0.14291339372689912324e-3 * t1063 * t1675; + const double t1679 = t1678 * t225; + const double t1680 = t1679 * t385; + const double t1685 = t1082 * t1651; + const double t1689 = t378 * t1668 * t1089; + const double t1692 = t380 * t1678; + const double t1695 = 0.65854491829355115987e0 * t1647 * t381 - 0.65854491829355115987e0 * t1024 * t1685 + 0.65854491829355115987e0 * t1087 * t1689 + 0.65854491829355115987e0 * t342 * t1692; + const double t1696 = t1079 * t1695; + const double t1699 = 0.65854491829355115987e0 * t1647 * t386 - 0.65854491829355115987e0 * t995 * t1652 + 0.65854491829355115987e0 * t342 * t1680 - 0.65854491829355115987e0 * t1076 * t1696; + const double t1704 = piecewise_functor_3( t394, t1102 * t1699 * t198 * t336 - t1598 + t1612 + t1638 + t1640 - t1644, t1587 ); + const double t1709 = piecewise_functor_3( t120, t265 * t1468 / 0.2e1 + t1587 * t30 / 0.2e1, t395 * t1469 / 0.2e1 + t1704 * t45 / 0.2e1 ); + const double t1711 = -t1468; + const double t1715 = t1121 * t1469; + const double t1716 = t1120 * t1715; + const double t1717 = t128 * t1716; + const double t1719 = -t1119 + 0.17808333333333333333e-1 * t1717; + const double t1721 = 0.621814e-1 * t1719 * t422; + const double t1723 = -t1118 / 0.3e1 + t1717 / 0.3e1; + const double t1724 = t1132 * t1723; + const double t1727 = t1139 * t1723; + const double t1729 = t1145 * t1715; + const double t1730 = t141 * t1729; + const double t1732 = 0.1898925e1 * t1724 - t1137 + 0.29896666666666666667e0 * t1717 + 0.3071625e0 * t1727 - t1144 + 0.82156666666666666667e-1 * t1730; + const double t1733 = t1732 * t1150; + const double t1735 = 0.1e1 * t1131 * t1733; + const double t1737 = -t1154 + 0.17123333333333333333e-1 * t1717; + const double t1744 = 0.3529725e1 * t1724 - t1163 + 0.516475e0 * t1717 + 0.6311625e0 * t1727 - t1166 + 0.104195e0 * t1730; + const double t1745 = t1744 * t1169; + const double t1749 = -t1173 + 0.92708333333333333333e-2 * t1717; + const double t1750 = t1749 * t448; + const double t1756 = 0.258925e1 * t1724 - t1182 + 0.301925e0 * t1717 + 0.16504875e0 * t1727 - t1185 + 0.82785e-1 * t1730; + const double t1757 = t1756 * t1188; + const double t1761 = t300 * ( -0.310907e-1 * t1737 * t435 + 0.1e1 * t1161 * t1745 + t1721 - t1735 - 0.19751673498613801407e-1 * t1750 + 0.5848223622634646207e0 * t1180 * t1757 ); + const double t1763 = 0.19751673498613801407e-1 * t300 * t1750; + const double t1765 = t1179 * t1756 * t1188; + const double t1767 = 0.5848223622634646207e0 * t1196 * t1765; + const double t1769 = -t1201 + 0.83333333333333333333e-2 * t1717; + const double t1770 = t1769 * t459; + const double t1774 = -t1212 + 0.14816666666666666667e-1 * t1717; + const double t1775 = t1211 * t1774; + const double t1778 = t1480 * t344; + const double t1781 = t1225 * t1469; + const double t1782 = t1012 * t1781; + const double t1785 = t1770 * t225; + const double t1786 = t1785 * t480; + const double t1789 = t482 * t1774; + const double t1790 = t372 * t1789; + const double t1791 = t371 * t1790; + const double t1794 = -t1721 + t1735 + t1761 + t1763 - t1767; + const double t1795 = t482 * t1794; + const double t1796 = t1795 * t1250; + const double t1797 = t1042 * t1796; + const double t1800 = t476 * t51; + const double t1802 = 0.1e1 / t52 / t1800; + const double t1803 = t475 * t1802; + const double t1804 = t467 * t1803; + const double t1807 = t1264 * t1715; + const double t1808 = t247 * t1807; + const double t1811 = -t1778 * t464 / 0.36e2 + t1221 - t1222 * t1782 / 0.288e3 + 0.21437009059034868486e-3 * t1786 * t484 - 0.21437009059034868486e-3 * t1235 * t1791 + 0.21437009059034868486e-3 * t1247 * t1797 - 0.11433071498151929859e-2 * t1804 * t484 + t1258 - 0.14291339372689912324e-3 * t1261 * t1808; + const double t1812 = t1811 * t225; + const double t1813 = t1812 * t494; + const double t1818 = t1280 * t1774; + const double t1822 = t487 * t1794 * t1287; + const double t1825 = t489 * t1811; + const double t1828 = 0.65854491829355115987e0 * t1770 * t490 - 0.65854491829355115987e0 * t1234 * t1818 + 0.65854491829355115987e0 * t1285 * t1822 + 0.65854491829355115987e0 * t460 * t1825; + const double t1829 = t1277 * t1828; + const double t1832 = 0.65854491829355115987e0 * t1770 * t495 - 0.65854491829355115987e0 * t1210 * t1775 + 0.65854491829355115987e0 * t460 * t1813 - 0.65854491829355115987e0 * t1274 * t1829; + const double t1837 = piecewise_functor_3( t503, t1300 * t1832 * t198 * t336 - t1721 + t1735 + t1761 + t1763 - t1767, t1587 ); + const double t1842 = piecewise_functor_3( t400, t1587 * t33 / 0.2e1 + t265 * t1711 / 0.2e1, -t504 * t1469 / 0.2e1 + t1837 * t57 / 0.2e1 ); + const double t1843 = t1709 + t1842; + const double t1847 = 0.2e1 * t1312 * t1518 + t1502; + const double t1851 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t513 * t1468 ); + const double t1854 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t516 * t1711 ); + const double t1856 = ( t1851 + t1854 ) * t162; + const double t1857 = t1856 * t189; + const double t1858 = t512 * t1857; + const double t1860 = 0.19751673498613801407e-1 * t1856 * t187; + const double t1863 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1344 * t1468 ); + const double t1866 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1348 * t1711 ); + const double t1868 = t1863 / 0.2e1 + t1866 / 0.2e1; + const double t1872 = t124 * t1868; + const double t1873 = t800 * t1872; + const double t1877 = ( t679 + t704 - t1319 - t1322 + t1858 + t1334 + t1860 - t1339 - t1342 ) * t225; + const double t1879 = t1394 * t1868; + const double t1882 = -t1877 * t541 + 0.3e1 * t1879 * t539; + const double t1883 = t1882 * t543; + const double t1884 = t828 * t1883; + const double t1885 = t1390 * t1884; + const double t1889 = t1414 * t828 * t1868; + const double t1892 = -t1368 - t1370 * t1873 / 0.48e2 - t1378 + t1383 - 0.21437009059034868486e-3 * t1388 * t1885 - t1407 - 0.85748036236139473944e-3 * t1410 * t1889; + const double t1893 = t1892 * t225; + const double t1894 = t1893 * t561; + const double t1897 = t1437 * t1883; + const double t1900 = t546 * t1892; + const double t1903 = -t1431 + t1436 - 0.65854491829355115987e0 * t820 * t1897 + 0.65854491829355115987e0 * t213 * t1900; + const double t1904 = t1427 * t1903; + const double t1907 = -t1361 + t1366 + 0.65854491829355115987e0 * t213 * t1894 - 0.65854491829355115987e0 * t1424 * t1904; + const double t1911 = t1450 * t1907 * t198 * t532 + 0.3e1 * t1343 * t1868 * t198 - t1319 - t1322 + t1334 - t1339 - t1342 + t1858 + t1860 + t679 + t704; + const double t1913 = -t118 * t1843 - t1502 * t508 - 0.2e1 * t1519 * t651 + t1847 * t569 + t1911 * t511; + const double t1914 = t3 * t1913; + const double t1916 = d * t1913; + const double t1918 = t117 * t1518; + const double t1921 = t1916 * t573 + 0.3e1 * t1918 * t572; + const double t1923 = t603 * t38; + const double t1925 = t43 * t49 - t68; + const double t1926 = t1925 * t72; + const double t1927 = t76 * t84; + const double t1928 = t1926 * t1927; + const double t1931 = piecewise_functor_3( t8, 0.0, -t1923 * t1928 / 0.6e1 ); + const double t1932 = t1931 * t117; + const double t1934 = t68 * t112; + const double t1936 = piecewise_functor_3( t115, 0.0, t1934 / 0.8e1 ); + const double t1937 = t508 * t1936; + const double t1939 = 0.2e1 * t651 * t1937; + const double t1940 = t198 * t207; + const double t1941 = t215 * t159; + const double t1943 = t1941 * t218 * t816; + const double t1945 = t234 * t64; + const double t1946 = t213 * t1945; + const double t1947 = t1946 * t248; + const double t1949 = t1943 / 0.96e2 + 0.42874018118069736972e-3 * t1947; + const double t1950 = t1949 * t225; + const double t1951 = t1950 * t257; + const double t1954 = t209 * t209; + const double t1955 = t1954 * t785; + const double t1956 = t1955 * t251; + const double t1957 = t1032 * t867; + const double t1958 = t233 * t1949; + const double t1959 = t1957 * t1958; + const double t1962 = 0.65854491829355115987e0 * t213 * t1951 - 0.4336814094102599731e0 * t1956 * t1959; + const double t1963 = t1962 * t892; + const double t1964 = t1963 * t30; + const double t1966 = t1940 * t1964 / 0.2e1; + const double t1967 = t43 * t343; + const double t1968 = t1967 * t136; + const double t1971 = t359 * sigma_aa; + const double t1972 = t1971 * t365; + const double t1973 = t351 * t1972; + const double t1976 = t1968 * t348 / 0.96e2 + 0.42874018118069736972e-3 * t1973 * t375; + const double t1977 = t1976 * t225; + const double t1978 = t1977 * t385; + const double t1981 = t338 * t338; + const double t1982 = t1981 * t993; + const double t1983 = t1982 * t378; + const double t1984 = t1032 * t1078; + const double t1985 = t359 * t1976; + const double t1986 = t1984 * t1985; + const double t1989 = 0.65854491829355115987e0 * t342 * t1978 - 0.4336814094102599731e0 * t1983 * t1986; + const double t1993 = t207 * t1962; + const double t1995 = t198 * t1993 * t892; + const double t1996 = piecewise_functor_3( t394, t198 * t336 * t1989 * t1102, t1995 ); + const double t1999 = piecewise_functor_3( t120, t1966, t1996 * t45 / 0.2e1 ); + const double t2000 = t1963 * t33; + const double t2002 = t1940 * t2000 / 0.2e1; + const double t2003 = piecewise_functor_3( t503, 0.0, t1995 ); + const double t2006 = piecewise_functor_3( t400, t2002, t2003 * t57 / 0.2e1 ); + const double t2007 = t1999 + t2006; + const double t2010 = 0.2e1 * t1312 * t1936; + const double t2011 = t1932 + t2010; + const double t2013 = t511 * t196; + const double t2014 = t2013 * t197; + const double t2016 = t1941 * t533 * t816; + const double t2018 = t546 * t64; + const double t2019 = t213 * t2018; + const double t2020 = t2019 * t552; + const double t2022 = t2016 / 0.96e2 + 0.42874018118069736972e-3 * t2020; + const double t2023 = t2022 * t225; + const double t2024 = t2023 * t561; + const double t2027 = t1955 * t555; + const double t2028 = t1032 * t1426; + const double t2029 = t545 * t2022; + const double t2030 = t2028 * t2029; + const double t2033 = 0.65854491829355115987e0 * t213 * t2024 - 0.4336814094102599731e0 * t2027 * t2030; + const double t2034 = t532 * t2033; + const double t2035 = t2034 * t1450; + const double t2036 = t2014 * t2035; + const double t2037 = -t118 * t2007 - t1932 * t508 + t2011 * t569 - t1939 + t2036; + const double t2038 = t3 * t2037; + const double t2040 = d * t2037; + const double t2042 = t117 * t1936; + const double t2044 = 0.3e1 * t572 * t2042; + const double t2045 = t2040 * t573 + t2044; + const double t2047 = t68 * t72; + const double t2048 = t2047 * t1927; + const double t2051 = piecewise_functor_3( t8, 0.0, t1923 * t2048 / 0.3e1 ); + const double t2052 = t2051 * t117; + const double t2055 = piecewise_functor_3( t115, 0.0, t1934 / 0.4e1 ); + const double t2056 = t508 * t2055; + const double t2061 = t1943 / 0.48e2 + 0.85748036236139473944e-3 * t1947; + const double t2062 = t2061 * t225; + const double t2063 = t2062 * t257; + const double t2066 = t233 * t2061; + const double t2067 = t1957 * t2066; + const double t2070 = 0.65854491829355115987e0 * t213 * t2063 - 0.4336814094102599731e0 * t1956 * t2067; + const double t2071 = t2070 * t892; + const double t2072 = t2071 * t30; + const double t2075 = t207 * t2070; + const double t2077 = t198 * t2075 * t892; + const double t2078 = piecewise_functor_3( t394, 0.0, t2077 ); + const double t2081 = piecewise_functor_3( t120, t1940 * t2072 / 0.2e1, t2078 * t45 / 0.2e1 ); + const double t2082 = t2071 * t33; + const double t2085 = piecewise_functor_3( t503, 0.0, t2077 ); + const double t2088 = piecewise_functor_3( t400, t1940 * t2082 / 0.2e1, t2085 * t57 / 0.2e1 ); + const double t2089 = t2081 + t2088; + const double t2093 = 0.2e1 * t1312 * t2055 + t2052; + const double t2097 = t2016 / 0.48e2 + 0.85748036236139473944e-3 * t2020; + const double t2098 = t2097 * t225; + const double t2099 = t2098 * t561; + const double t2102 = t545 * t2097; + const double t2103 = t2028 * t2102; + const double t2106 = 0.65854491829355115987e0 * t213 * t2099 - 0.4336814094102599731e0 * t2027 * t2103; + const double t2107 = t532 * t2106; + const double t2108 = t2107 * t1450; + const double t2110 = -t118 * t2089 + t2014 * t2108 - t2052 * t508 - 0.2e1 * t2056 * t651 + t2093 * t569; + const double t2111 = t3 * t2110; + const double t2113 = d * t2110; + const double t2115 = t117 * t2055; + const double t2118 = t2113 * t573 + 0.3e1 * t2115 * t572; + const double t2121 = t55 * t61 - t68; + const double t2122 = t2121 * t72; + const double t2123 = t2122 * t1927; + const double t2126 = piecewise_functor_3( t8, 0.0, -t1923 * t2123 / 0.6e1 ); + const double t2127 = t2126 * t117; + const double t2129 = piecewise_functor_3( t394, 0.0, t1995 ); + const double t2132 = piecewise_functor_3( t120, t1966, t2129 * t45 / 0.2e1 ); + const double t2133 = t55 * t343; + const double t2134 = t2133 * t136; + const double t2137 = t473 * sigma_bb; + const double t2138 = t2137 * t479; + const double t2139 = t467 * t2138; + const double t2142 = t2134 * t464 / 0.96e2 + 0.42874018118069736972e-3 * t2139 * t484; + const double t2143 = t2142 * t225; + const double t2144 = t2143 * t494; + const double t2147 = t456 * t456; + const double t2148 = t2147 * t1208; + const double t2149 = t2148 * t487; + const double t2150 = t1032 * t1276; + const double t2151 = t473 * t2142; + const double t2152 = t2150 * t2151; + const double t2155 = 0.65854491829355115987e0 * t460 * t2144 - 0.4336814094102599731e0 * t2149 * t2152; + const double t2159 = piecewise_functor_3( t503, t198 * t336 * t2155 * t1300, t1995 ); + const double t2162 = piecewise_functor_3( t400, t2002, t2159 * t57 / 0.2e1 ); + const double t2163 = t2132 + t2162; + const double t2165 = t2127 + t2010; + const double t2167 = -t118 * t2163 - t2127 * t508 + t2165 * t569 - t1939 + t2036; + const double t2168 = t3 * t2167; + const double t2170 = d * t2167; + const double t2172 = t2170 * t573 + t2044; + const double t2174 = t655 * t96; + const double t2175 = t2174 * t101; + const double t2178 = piecewise_functor_3( t115, 0.0, -t69 * t2175 / 0.8e1 ); + const double t2179 = t508 * t2178; + const double t2181 = t2178 * t569; + const double t2184 = 0.2e1 * t1312 * t2181 - 0.2e1 * t2179 * t651; + const double t2185 = t3 * t2184; + const double t2187 = d * t2184; + const double t2189 = t117 * t2178; + const double t2192 = t2187 * t573 + 0.3e1 * t2189 * t572; + const double t2194 = t655 * t104; + const double t2195 = t2194 * t109; + const double t2198 = piecewise_functor_3( t115, 0.0, -t69 * t2195 / 0.8e1 ); + const double t2199 = t508 * t2198; + const double t2201 = t2198 * t569; + const double t2204 = 0.2e1 * t1312 * t2201 - 0.2e1 * t2199 * t651; + const double t2205 = t3 * t2204; + const double t2207 = d * t2204; + const double t2209 = t117 * t2198; + const double t2212 = t2207 * t573 + 0.3e1 * t2209 * t572; + const double t2214 = t1455 * t575; + const double t2216 = t571 * t1464; + const double t2219 = 0.2e1 * t10 * t17; + const double t2221 = 0.8e1 * t576 * t580; + const double t2223 = 0.6e1 * t15 * t22; + const double t2224 = t11 * t14; + const double t2226 = 0.12e2 * t2224 * t22; + const double t2228 = 0.32e2 * t584 * t588; + const double t2230 = 0.2e2 * t20 * t27; + const double t2231 = t12 * t19; + const double t2233 = 0.3e2 * t2231 * t27; + const double t2235 = 0.72e2 * t592 * t596; + const double t2236 = t21 * t21; + const double t2237 = 0.1e1 / t2236; + const double t2239 = 0.42e2 * t25 * t2237; + const double t2240 = t2219 - t2221 + t2223 + t2226 - t2228 + t2230 + t2233 - t2235 + t2239; + const double t2242 = t599 * t602; + const double t2246 = 0.1e1 / t90 / t89; + const double t2247 = t29 * t2246; + const double t2248 = t644 * t644; + const double t2251 = t606 * t606; + const double t2252 = t2251 * t70; + const double t2255 = t2 * t580; + const double t2256 = -t17 + t2255; + const double t2257 = 0.2e1 * t2256; + const double t2258 = piecewise_functor_5( t31, 0.0, t34, 0.0, t2257 ); + const double t2259 = t36 * t2258; + const double t2260 = t2259 * t70; + const double t2263 = t607 * t627; + const double t2269 = 0.1e1 / t41 / t362; + const double t2270 = sigma_aa * t2269; + const double t2275 = 0.1e1 / t47; + const double t2276 = t2275 * t2251; + const double t2279 = t48 * t2258; + const double t2282 = 0.1e1 / t59; + const double t2283 = t2282 * t2251; + const double t2286 = t60 * t2258; + const double t2289 = t64 * t239; + const double t2290 = 0.88e2 / 0.9e1 * t2289; + const double t2291 = 0.88e2 / 0.9e1 * t2270 * t49 - 0.4e2 / 0.9e1 * t614 * t617 + 0.5e1 / 0.18e2 * t44 * t2276 + 0.5e1 / 0.6e1 * t44 * t2279 + 0.5e1 / 0.18e2 * t56 * t2283 - 0.5e1 / 0.6e1 * t56 * t2286 - t2290; + const double t2292 = t38 * t2291; + const double t2297 = t631 * t45; + const double t2299 = 0.1e1 / t78 / t2297; + const double t2304 = t635 * t57; + const double t2306 = 0.1e1 / t81 / t2304; + const double t2311 = 0.28e2 / 0.9e1 * t2299 * t2251 - 0.4e1 / 0.3e1 * t633 * t2258 + 0.28e2 / 0.9e1 * t2306 * t2251 + 0.4e1 / 0.3e1 * t637 * t2258; + const double t2312 = t77 * t2311; + const double t2315 = -t2252 * t85 / 0.12e2 - t2260 * t85 / 0.12e2 - t2263 * t85 / 0.6e1 - t608 * t641 / 0.6e1 + t2292 * t85 / 0.24e2 + t628 * t641 / 0.12e2 + t71 * t2312 / 0.24e2; + const double t2319 = piecewise_functor_3( t8, 0.0, t2240 * t91 - 0.8e1 * t2242 * t644 + 0.2e2 * t2247 * t2248 - 0.4e1 * t2315 * t603 ); + const double t2320 = t2319 * t117; + const double t2322 = t648 * t116; + const double t2327 = t670 * t670; + const double t2328 = t94 * t2327; + const double t2331 = t1310 * t670; + const double t2335 = 0.11e2 / 0.9e1 * t2289 * t112; + const double t2336 = t625 * t666; + const double t2339 = 0.1e1 / t654 / t111; + const double t2340 = t665 * t665; + const double t2341 = t2339 * t2340; + const double t2344 = tau_a * t613; + const double t2349 = 0.1e1 / t99; + const double t2350 = t658 * t658; + const double t2351 = t2349 * t2350; + const double t2354 = t100 * t2256; + const double t2357 = 0.1e1 / t107; + const double t2358 = t661 * t661; + const double t2359 = t2357 * t2358; + const double t2362 = -t2256; + const double t2363 = t108 * t2362; + const double t2366 = 0.4e2 / 0.9e1 * t2344 * t101 - 0.5e2 / 0.9e1 * t656 * t659 + 0.1e2 / 0.9e1 * t97 * t2351 + 0.5e1 / 0.3e1 * t97 * t2354 + 0.1e2 / 0.9e1 * t105 * t2359 + 0.5e1 / 0.3e1 * t105 * t2363; + const double t2367 = t655 * t2366; + const double t2371 = piecewise_functor_3( t115, 0.0, t2335 + 0.2e1 / 0.3e1 * t2336 + t69 * t2341 / 0.4e1 - t69 * t2367 / 0.8e1 ); + const double t2372 = t508 * t2371; + const double t2375 = t717 * t750; + const double t2376 = 0.2e1 * t2375; + const double t2377 = t125 * t215; + const double t2381 = t675 * t723; + const double t2385 = t722 * t169; + const double t2386 = 0.1e1 / t2385; + const double t2387 = t164 * t2386; + const double t2388 = t729 * t729; + const double t2389 = t2388 * t730; + const double t2394 = 0.1e1 / t131 / t128 * t136; + const double t2396 = t2395 * t68; + const double t2397 = t2394 * t2396; + const double t2399 = t685 * t215; + const double t2400 = t684 * t2399; + const double t2402 = t123 * t2377; + const double t2404 = 0.1e1/safe_math::sqrt( t128 ); + const double t2405 = t2404 * t136; + const double t2406 = t2405 * t2396; + const double t2408 = t692 * t2399; + const double t2410 = t124 * t68; + const double t2411 = t138 * t2410; + const double t2413 = -0.78438333333333333333e0 * t2397 + 0.15687666666666666667e1 * t2400 + 0.68863333333333333333e0 * t2402 + 0.14025833333333333333e0 * t2406 + 0.28051666666666666667e0 * t2408 + 0.17365833333333333333e0 * t2411; + const double t2414 = t2413 * t730; + const double t2417 = t722 * t722; + const double t2418 = 0.1e1 / t2417; + const double t2419 = t164 * t2418; + const double t2420 = t172 * t172; + const double t2421 = 0.1e1 / t2420; + const double t2422 = t2388 * t2421; + const double t2427 = 0.14764627977777777777e-2 * t123 * t2377 * t147; + const double t2428 = t675 * t681; + const double t2431 = 0.35616666666666666666e-1 * t268 * t2428 * t702; + const double t2432 = t680 * t143; + const double t2433 = 0.1e1 / t2432; + const double t2434 = t130 * t2433; + const double t2435 = t700 * t700; + const double t2436 = t2435 * t701; + const double t2438 = 0.2e1 * t2434 * t2436; + const double t2445 = -0.42198333333333333333e0 * t2397 + 0.84396666666666666666e0 * t2400 + 0.39862222222222222223e0 * t2402 + 0.68258333333333333333e-1 * t2406 + 0.13651666666666666667e0 * t2408 + 0.13692777777777777778e0 * t2411; + const double t2446 = t2445 * t701; + const double t2448 = 0.1e1 * t682 * t2446; + const double t2449 = t680 * t680; + const double t2450 = 0.1e1 / t2449; + const double t2451 = t130 * t2450; + const double t2452 = t146 * t146; + const double t2453 = 0.1e1 / t2452; + const double t2454 = t2435 * t2453; + const double t2456 = 0.16081979498692535067e2 * t2451 * t2454; + const double t2460 = t675 * t738; + const double t2464 = t737 * t182; + const double t2465 = 0.1e1 / t2464; + const double t2466 = t177 * t2465; + const double t2467 = t744 * t744; + const double t2468 = t2467 * t745; + const double t2477 = -0.57538888888888888889e0 * t2397 + 0.11507777777777777778e1 * t2400 + 0.40256666666666666667e0 * t2402 + 0.366775e-1 * t2406 + 0.73355e-1 * t2408 + 0.137975e0 * t2411; + const double t2478 = t2477 * t745; + const double t2481 = t737 * t737; + const double t2482 = 0.1e1 / t2481; + const double t2483 = t177 * t2482; + const double t2484 = t185 * t185; + const double t2485 = 0.1e1 / t2484; + const double t2486 = t2467 * t2485; + const double t2489 = -0.70983522622222222221e-3 * t123 * t2377 * t173 - 0.34246666666666666666e-1 * t268 * t2381 * t731 - 0.2e1 * t2387 * t2389 + 0.1e1 * t724 * t2414 + 0.32163958997385070134e2 * t2419 * t2422 + t2427 + t2431 + t2438 - t2448 - t2456 - 0.24415263074675393405e-3 * t123 * t2377 * t186 - 0.10843581300301739842e-1 * t268 * t2460 * t746 - 0.11696447245269292414e1 * t2466 * t2468 + 0.5848223622634646207e0 * t739 * t2478 + 0.17315859105681463759e2 * t2483 * t2486; + const double t2490 = t162 * t2489; + const double t2491 = t158 * t2490; + const double t2492 = t890 * t890; + const double t2494 = t261 * t261; + const double t2495 = 0.1e1 / t2494; + const double t2498 = t37 * t157; + const double t2499 = t190 * t2251; + const double t2501 = 0.12e2 * t2498 * t2499; + const double t2507 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t2251 + 0.2e1 / 0.3e1 * t766 * t2258 ); + const double t2513 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t2251 - 0.2e1 / 0.3e1 * t770 * t2258 ); + const double t2515 = t2507 / 0.2e1 + t2513 / 0.2e1; + const double t2520 = 0.73171657588172351096e-2 * t2402 * t781; + const double t2521 = t785 * t251; + const double t2522 = t2521 * t780; + const double t2524 = 0.65049603595885220126e-3 * t2411 * t2522; + const double t2525 = t212 * t860; + const double t2526 = t2525 * t780; + const double t2527 = t689 * t2526; + const double t2529 = t779 * t887; + const double t2530 = t689 * t2529; + const double t2533 = 0.1e1 / t784 / t211; + const double t2534 = t209 * t2533; + const double t2535 = t2534 * t252; + const double t2536 = t257 * t136; + const double t2537 = t2536 * t2396; + const double t2539 = 0.11565819519348392139e-2 * t2535 * t2537; + const double t2540 = t786 * t861; + const double t2541 = t2540 * t789; + const double t2543 = t252 * t867; + const double t2544 = t786 * t2543; + const double t2545 = t676 * t886; + const double t2546 = t123 * t2545; + const double t2547 = t2544 * t2546; + const double t2549 = t788 * t2399; + const double t2551 = 0.13009920719177044025e-1 * t787 * t2549; + const double t2553 = t855 * t828 * t2515; + const double t2556 = t596 * t240; + const double t2558 = t2556 * t243 * t816; + const double t2560 = 0.13552000749142754193e-3 * t813 * t2558; + const double t2561 = t786 * t225; + const double t2563 = t2561 * t849 * t27; + const double t2564 = t854 * t136; + const double t2566 = t2564 * t221 * t775; + const double t2567 = t2563 * t2566; + const double t2570 = 0.1e1 / t66 / t26; + const double t2571 = t2570 * t240; + const double t2573 = t2571 * t243 * t247; + const double t2575 = 0.56688979511669985553e-2 * t237 * t2573; + const double t2577 = t820 * t849 * t843; + const double t2578 = t2577 * t857; + const double t2581 = 0.1e1 / t242 / t206; + const double t2582 = t240 * t2581; + const double t2583 = t2582 * t72; + const double t2584 = t775 * t775; + const double t2586 = t2583 * t828 * t2584; + const double t2590 = t2561 * t823 * t27; + const double t2591 = t826 * t136; + const double t2593 = t2591 * t221 * t837; + const double t2594 = t2590 * t2593; + const double t2596 = t2482 * t2467; + const double t2597 = t2596 * t2485; + const double t2599 = 0.17315859105681463759e2 * t760 * t2597; + const double t2600 = t752 * t177; + const double t2601 = t2600 * t762; + const double t2602 = 0.11696447245269292414e1 * t2601; + const double t2604 = t738 * t2477 * t745; + const double t2606 = 0.5848223622634646207e0 * t760 * t2604; + const double t2607 = t190 * t2258; + const double t2609 = 0.4e1 * t706 * t2607; + const double t2610 = t705 * t716; + const double t2612 = 0.8e1 * t2610 * t707; + const double t2613 = t750 * t606; + const double t2614 = t706 * t2613; + const double t2615 = 0.8e1 * t2614; + const double t2616 = t752 * t72; + const double t2617 = t2616 * t757; + const double t2618 = 0.36622894612013090108e-3 * t2617; + const double t2620 = t2465 * t2467 * t745; + const double t2622 = 0.11696447245269292414e1 * t760 * t2620; + const double t2623 = t192 * t123; + const double t2624 = t676 * t762; + const double t2626 = 0.10843581300301739842e-1 * t2623 * t2624; + const double t2627 = 0.1e1 / t200; + const double t2633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2627 * t2251 + 0.4e1 / 0.3e1 * t78 * t2258 ); + const double t2634 = 0.1e1 / t202; + const double t2640 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2634 * t2251 - 0.4e1 / 0.3e1 * t81 * t2258 ); + const double t2641 = t2633 + t2640; + const double t2642 = t2641 * t162; + const double t2644 = 0.19751673498613801407e-1 * t2642 * t187; + const double t2645 = t150 * t2641; + const double t2646 = t2645 * t190; + const double t2648 = t685 * t215 * t186; + const double t2650 = 0.24415263074675393405e-3 * t755 * t2648; + const double t2651 = -t2599 - t2602 - t2606 + t2501 - t2427 + t2609 + t2612 + t2615 - t2438 - t2618 + t2622 - t2431 + t2626 + t2644 + t2448 + t2456 + t2646 + t2376 + t2491 + t2650; + const double t2652 = t2651 * t225; + const double t2656 = t73 * t853; + const double t2657 = t2656 * t2584; + const double t2660 = t832 * t2515; + const double t2663 = -0.12e2 * t227 * t2657 + 0.3e1 * t227 * t2660 - t229 * t2652 + 0.6e1 * t830 * t833; + const double t2664 = t2663 * t231; + const double t2666 = t827 * t828 * t2664; + const double t2671 = t800 * t124 * t596 * t212; + const double t2673 = 0.76220476654346199061e-4 * t2671 * t810; + const double t2674 = t854 * t775; + const double t2675 = t236 * t2674; + const double t2676 = t807 * t2675; + const double t2680 = 0.1e1 / t65 / t595; + const double t2681 = t2680 * t785; + const double t2682 = t2681 * t225; + const double t2683 = t849 * t826; + const double t2685 = 0.25410001404642664112e-5 * t2682 * t2683; + const double t2686 = t27 * t212; + const double t2688 = t816 * t2686 * t225; + const double t2689 = t823 * t240; + const double t2691 = t243 * t836 * t231; + const double t2692 = t2689 * t2691; + const double t2693 = t2688 * t2692; + const double t2696 = 0.1e1 / t821 / t232; + const double t2697 = t2696 * t235; + const double t2699 = t820 * t2697 * t239; + const double t2700 = t836 * t836; + const double t2701 = t231 * t231; + const double t2702 = t2700 * t2701; + const double t2704 = t827 * t828 * t2702; + const double t2707 = t159 * t243; + const double t2708 = t216 * t2707; + const double t2709 = t124 * t2584; + const double t2710 = t800 * t2709; + const double t2714 = 0.1e1 / t65 / t21; + const double t2715 = t64 * t2714; + const double t2716 = t2715 * t159; + const double t2718 = 0.35e2 / 0.432e3 * t2716 * t222; + const double t2719 = t794 * t798; + const double t2720 = t2719 * t802; + const double t2722 = t124 * t2515; + const double t2723 = t800 * t2722; + const double t2726 = t2534 * t234; + const double t2727 = t235 * t2680; + const double t2730 = 0.45178982497454656791e-5 * t2726 * t2727 * t826; + const double t2732 = t820 * t823 * t843; + const double t2733 = t2732 * t839; + const double t2736 = t820 * t823 * t241; + const double t2737 = t853 * t72; + const double t2738 = t2737 * t245; + const double t2740 = t231 * t775; + const double t2741 = t125 * t836 * t2740; + const double t2742 = t2738 * t2741; + const double t2745 = t2700 * t231; + const double t2747 = t827 * t828 * t2745; + const double t2750 = -t2685 + 0.14291339372689912324e-4 * t2693 + 0.42874018118069736972e-3 * t2699 * t2704 + t2708 * t2710 / 0.16e2 + t2718 + 0.7e1 / 0.72e2 * t2720 - t799 * t2723 / 0.48e2 + t2730 + 0.20007875121765877254e-2 * t2733 + 0.17149607247227894789e-2 * t2736 * t2742 - 0.21437009059034868486e-3 * t825 * t2747; + const double t2751 = -0.85748036236139473944e-3 * t851 * t2553 - t2560 - 0.10164000561857065645e-3 * t2567 + t2575 + 0.80031500487063509015e-2 * t2578 + 0.42874018118069736972e-2 * t851 * t2586 - 0.25410001404642664112e-4 * t2594 - 0.21437009059034868486e-3 * t825 * t2666 + t2673 + 0.57165357490759649296e-4 * t2676 + t2750; + const double t2752 = t2751 * t225; + const double t2756 = t213 * t860; + const double t2760 = 0.1e1 / t866 / t256; + const double t2761 = t225 * t2760; + const double t2762 = t886 * t886; + const double t2763 = t2761 * t2762; + const double t2767 = 0.73171657588172351096e-2 * t2402 * t871; + const double t2768 = t785 * t225; + const double t2769 = t2768 * t870; + const double t2771 = 0.65049603595885220126e-3 * t2411 * t2769; + const double t2773 = t123 * t676 * t212; + const double t2774 = t225 * t822; + const double t2775 = t251 * t836; + const double t2777 = t2774 * t2775 * t231; + const double t2778 = t2773 * t2777; + const double t2780 = t233 * t860; + const double t2781 = t869 * t2780; + const double t2782 = t689 * t2781; + const double t2784 = t251 * t136; + const double t2787 = 0.11565819519348392139e-2 * t2726 * t2784 * t2396; + const double t2788 = t2774 * t251; + const double t2789 = t786 * t2788; + const double t2790 = t675 * t836; + const double t2792 = t268 * t2790 * t231; + const double t2793 = t2789 * t2792; + const double t2795 = t860 * t72; + const double t2797 = t874 * t2795 * t686; + const double t2801 = 0.13009920719177044025e-1 * t874 * t875 * t2399; + const double t2802 = t2696 * t251; + const double t2806 = t822 * t860; + const double t2819 = t2767 - t2771 + 0.10975748638225852664e-1 * t2778 - 0.10975748638225852664e-1 * t2782 + t2787 - 0.19514881078765566038e-1 * t2793 + 0.19514881078765566038e-1 * t2797 - t2801 + 0.13170898365871023197e1 * t820 * t2802 * t2702 - 0.13170898365871023197e1 * t820 * t2806 * t837 - 0.65854491829355115987e0 * t820 * t879 * t2664 - 0.65854491829355115987e0 * t820 * t879 * t2745 + 0.65854491829355115987e0 * t213 * t234 * t2751; + const double t2820 = t868 * t2819; + const double t2823 = t2520 - t2524 - 0.10975748638225852664e-1 * t2527 + 0.10975748638225852664e-1 * t2530 + t2539 + 0.19514881078765566038e-1 * t2541 - 0.19514881078765566038e-1 * t2547 - t2551 + 0.65854491829355115987e0 * t213 * t2752 * t257 - 0.13170898365871023197e1 * t2756 * t887 + 0.13170898365871023197e1 * t865 * t2763 - 0.65854491829355115987e0 * t865 * t2820; + const double t2827 = t205 * t262; + const double t2831 = -t198 * t207 * t2492 * t2495 + t198 * t207 * t2823 * t892 + 0.3e1 * t198 * t2515 * t765 + 0.6e1 * t198 * t2584 * t2827 + t2376 - t2427 - t2431 + t2491 + t2501 + t2615 - t2618 + t2650; + const double t2832 = t198 * t206; + const double t2833 = t890 * t892; + const double t2837 = 0.6e1 * t2832 * t2833 * t775 - t2438 + t2448 + t2456 - t2599 - t2602 - t2606 + t2609 + t2612 + t2622 + t2626 + t2644 + t2646; + const double t2838 = t2831 + t2837; + const double t2846 = t268 * t1941 * t271; + const double t2847 = 0.23744444444444444444e-1 * t2846; + const double t2848 = t689 * t907; + const double t2850 = t159 * t1065; + const double t2851 = t631 * t631; + const double t2852 = 0.1e1 / t2851; + const double t2853 = t2852 * t2251; + const double t2854 = t2850 * t2853; + const double t2855 = t128 * t2854; + const double t2857 = 0.1e1 / t2297; + const double t2858 = t2857 * t2251; + const double t2859 = t904 * t2858; + const double t2860 = t128 * t2859; + const double t2862 = t905 * t2258; + const double t2863 = t904 * t2862; + const double t2864 = t128 * t2863; + const double t2866 = t2847 + 0.11872222222222222222e-1 * t2848 - 0.11872222222222222222e-1 * t2855 + 0.35616666666666666666e-1 * t2860 - 0.17808333333333333333e-1 * t2864; + const double t2868 = 0.621814e-1 * t2866 * t291; + const double t2869 = t910 * t914; + const double t2871 = 0.2e1 * t2869 * t936; + const double t2872 = t913 * t287; + const double t2873 = 0.1e1 / t2872; + const double t2874 = t275 * t2873; + const double t2875 = t934 * t934; + const double t2876 = t2875 * t935; + const double t2878 = 0.2e1 * t2874 * t2876; + const double t2880 = 0.1e1 / t276 / t273; + const double t2881 = t918 * t918; + const double t2882 = t2880 * t2881; + const double t2884 = 0.4e1 / 0.9e1 * t2846; + const double t2889 = t2884 + 0.2e1 / 0.9e1 * t2848 - 0.2e1 / 0.9e1 * t2855 + 0.2e1 / 0.3e1 * t2860 - t2864 / 0.3e1; + const double t2890 = t916 * t2889; + const double t2892 = 0.39862222222222222223e0 * t2846; + const double t2897 = 0.1e1/safe_math::sqrt( t273 ); + const double t2898 = t2897 * t2881; + const double t2900 = t923 * t2889; + const double t2902 = t68 * t240; + const double t2904 = t281 * t2902 * t283; + const double t2905 = 0.13692777777777777778e0 * t2904; + const double t2906 = t698 * t931; + const double t2908 = t240 * t1014; + const double t2909 = t2908 * t2853; + const double t2910 = t141 * t2909; + const double t2912 = t930 * t2858; + const double t2913 = t141 * t2912; + const double t2915 = t930 * t2862; + const double t2916 = t141 * t2915; + const double t2918 = -0.9494625e0 * t2882 + 0.1898925e1 * t2890 + t2892 + 0.19931111111111111111e0 * t2848 - 0.19931111111111111111e0 * t2855 + 0.59793333333333333334e0 * t2860 - 0.29896666666666666667e0 * t2864 + 0.15358125e0 * t2898 + 0.3071625e0 * t2900 + t2905 + 0.10954222222222222222e0 * t2906 - 0.27385555555555555556e-1 * t2910 + 0.16431333333333333333e0 * t2913 - 0.82156666666666666667e-1 * t2916; + const double t2919 = t2918 * t935; + const double t2921 = 0.1e1 * t915 * t2919; + const double t2922 = t913 * t913; + const double t2923 = 0.1e1 / t2922; + const double t2924 = t275 * t2923; + const double t2925 = t290 * t290; + const double t2926 = 0.1e1 / t2925; + const double t2927 = t2875 * t2926; + const double t2929 = 0.16081979498692535067e2 * t2924 * t2927; + const double t2930 = 0.22831111111111111111e-1 * t2846; + const double t2935 = t2930 + 0.11415555555555555555e-1 * t2848 - 0.11415555555555555555e-1 * t2855 + 0.34246666666666666666e-1 * t2860 - 0.17123333333333333333e-1 * t2864; + const double t2938 = t941 * t945; + const double t2941 = t944 * t307; + const double t2942 = 0.1e1 / t2941; + const double t2943 = t302 * t2942; + const double t2944 = t953 * t953; + const double t2945 = t2944 * t954; + const double t2950 = 0.68863333333333333333e0 * t2846; + const double t2957 = 0.17365833333333333333e0 * t2904; + const double t2962 = -0.17648625e1 * t2882 + 0.3529725e1 * t2890 + t2950 + 0.34431666666666666666e0 * t2848 - 0.34431666666666666667e0 * t2855 + 0.103295e1 * t2860 - 0.516475e0 * t2864 + 0.31558125e0 * t2898 + 0.6311625e0 * t2900 + t2957 + 0.13892666666666666667e0 * t2906 - 0.34731666666666666667e-1 * t2910 + 0.20839e0 * t2913 - 0.104195e0 * t2916; + const double t2963 = t2962 * t954; + const double t2966 = t944 * t944; + const double t2967 = 0.1e1 / t2966; + const double t2968 = t302 * t2967; + const double t2969 = t310 * t310; + const double t2970 = 0.1e1 / t2969; + const double t2971 = t2944 * t2970; + const double t2974 = 0.12361111111111111111e-1 * t2846; + const double t2979 = t2974 + 0.61805555555555555556e-2 * t2848 - 0.61805555555555555555e-2 * t2855 + 0.18541666666666666667e-1 * t2860 - 0.92708333333333333333e-2 * t2864; + const double t2980 = t2979 * t324; + const double t2982 = t960 * t964; + const double t2985 = t963 * t320; + const double t2986 = 0.1e1 / t2985; + const double t2987 = t315 * t2986; + const double t2988 = t972 * t972; + const double t2989 = t2988 * t973; + const double t2994 = 0.40256666666666666667e0 * t2846; + const double t3001 = 0.137975e0 * t2904; + const double t3006 = -0.1294625e1 * t2882 + 0.258925e1 * t2890 + t2994 + 0.20128333333333333334e0 * t2848 - 0.20128333333333333333e0 * t2855 + 0.60385e0 * t2860 - 0.301925e0 * t2864 + 0.82524375e-1 * t2898 + 0.16504875e0 * t2900 + t3001 + 0.11038e0 * t2906 - 0.27595e-1 * t2910 + 0.16557e0 * t2913 - 0.82785e-1 * t2916; + const double t3007 = t3006 * t973; + const double t3010 = t963 * t963; + const double t3011 = 0.1e1 / t3010; + const double t3012 = t315 * t3011; + const double t3013 = t323 * t323; + const double t3014 = 0.1e1 / t3013; + const double t3015 = t2988 * t3014; + const double t3018 = -0.310907e-1 * t2935 * t311 + 0.2e1 * t2938 * t955 - 0.2e1 * t2943 * t2945 + 0.1e1 * t946 * t2963 + 0.32163958997385070134e2 * t2968 * t2971 + t2868 - t2871 + t2878 - t2921 - t2929 - 0.19751673498613801407e-1 * t2980 + 0.11696447245269292414e1 * t2982 * t974 - 0.11696447245269292414e1 * t2987 * t2989 + 0.5848223622634646207e0 * t965 * t3007 + 0.17315859105681463759e2 * t3012 * t3015; + const double t3019 = t300 * t3018; + const double t3021 = 0.19751673498613801407e-1 * t300 * t2980; + const double t3022 = t300 * t960; + const double t3024 = 0.11696447245269292414e1 * t3022 * t983; + const double t3026 = t2986 * t2988 * t973; + const double t3028 = 0.11696447245269292414e1 * t981 * t3026; + const double t3030 = t964 * t3006 * t973; + const double t3032 = 0.5848223622634646207e0 * t981 * t3030; + const double t3033 = t3011 * t2988; + const double t3034 = t3033 * t3014; + const double t3036 = 0.17315859105681463759e2 * t981 * t3034; + const double t3037 = 0.11111111111111111111e-1 * t2846; + const double t3042 = t3037 + 0.55555555555555555556e-2 * t2848 - 0.55555555555555555555e-2 * t2855 + 0.16666666666666666667e-1 * t2860 - 0.83333333333333333333e-2 * t2864; + const double t3043 = t3042 * t341; + const double t3046 = t988 * t993; + const double t3047 = t3046 * t378; + const double t3052 = t989 * t378; + const double t3056 = 0.1e1 / t992 / t340; + const double t3057 = t338 * t3056; + const double t3058 = t3057 * t378; + const double t3059 = t999 * t999; + const double t3060 = t996 * t3059; + const double t3063 = t994 * t1071; + const double t3066 = t999 * t1096; + const double t3067 = t1079 * t3066; + const double t3070 = 0.19755555555555555556e-1 * t2846; + const double t3075 = t3070 + 0.9877777777777777778e-2 * t2848 - 0.9877777777777777778e-2 * t2855 + 0.29633333333333333334e-1 * t2860 - 0.14816666666666666667e-1 * t2864; + const double t3076 = t996 * t3075; + const double t3079 = t994 * t1086; + const double t3080 = t360 * t365; + const double t3081 = t1038 * t72; + const double t3082 = t3080 * t3081; + const double t3083 = t3079 * t3082; + const double t3084 = t66 * t373; + const double t3085 = t828 * t3084; + const double t3086 = t999 * t1043; + const double t3087 = t3086 * t1045; + const double t3088 = t3085 * t3087; + const double t3091 = t1087 * t3082; + const double t3092 = t828 * t1066; + const double t3093 = t1043 * t73; + const double t3094 = t357 * t905; + const double t3095 = t3094 * t606; + const double t3096 = t3093 * t3095; + const double t3097 = t3092 * t3096; + const double t3100 = t3057 * t225; + const double t3101 = t3100 * t366; + const double t3102 = t373 * t3059; + const double t3104 = t371 * t372 * t3102; + const double t3107 = t1024 * t1053; + const double t3111 = t371 * t127 * t1026; + const double t3112 = t1025 * t3111; + const double t3114 = t3046 * t225; + const double t3115 = t3114 * t366; + const double t3118 = t373 * t3075; + const double t3120 = t371 * t372 * t3118; + const double t3123 = t1014 * t2857; + const double t3124 = t3123 * t2251; + const double t3125 = t1012 * t3124; + const double t3128 = t614 * t1010; + const double t3131 = t140 * t1016; + const double t3132 = t1011 * t3131; + const double t3134 = t1015 * t2258; + const double t3135 = t1012 * t3134; + const double t3139 = 0.1e1 / t271 / t905; + const double t3140 = t3139 * t2852; + const double t3141 = t3140 * t2251; + const double t3142 = t1012 * t3141; + const double t3145 = t1020 * t1053; + const double t3148 = t1021 * t1058; + const double t3151 = t371 * t676 * t373; + const double t3153 = 0.47637797908966374413e-4 * t367 * t3151; + const double t3154 = t3043 * t225; + const double t3155 = t3154 * t366; + const double t3160 = 0.1e1 / t40 / t362 / t611; + const double t3161 = t361 * t3160; + const double t3162 = t351 * t3161; + const double t3165 = -0.42874018118069736972e-3 * t3083 * t3088 + 0.28582678745379824648e-3 * t3091 * t3097 + 0.42874018118069736972e-3 * t3101 * t3104 + 0.22866142996303859718e-2 * t3107 * t1028 - 0.28582678745379824648e-3 * t3112 - 0.42874018118069736972e-3 * t3115 * t1028 - 0.21437009059034868486e-3 * t1025 * t3120 - t1011 * t3125 / 0.144e3 - t3128 * t1017 / 0.54e2 + t3132 / 0.432e3 + t1011 * t3135 / 0.288e3 + t1011 * t3142 / 0.216e3 - 0.22866142996303859718e-2 * t3145 * t375 + 0.28582678745379824648e-3 * t3148 - t3153 + 0.21437009059034868486e-3 * t3155 * t375 + 0.72409452821628889107e-2 * t3162 * t375; + const double t3166 = t1054 * t1058; + const double t3168 = t1066 * t2862; + const double t3169 = t247 * t3168; + const double t3173 = 0.1e1 / t283 / t905; + const double t3174 = t66 * t3173; + const double t3175 = t3174 * t2853; + const double t3176 = t247 * t3175; + const double t3179 = t1052 * t369; + const double t3180 = t361 * t3179; + const double t3181 = t351 * t3180; + const double t3184 = t126 * t1065; + const double t3185 = t3184 * t906; + const double t3186 = t247 * t3185; + const double t3187 = t1063 * t3186; + const double t3189 = t1066 * t2858; + const double t3190 = t247 * t3189; + const double t3193 = t1020 * t1062; + const double t3197 = 0.1e1 / t1031 / t196; + const double t3198 = t342 * t3197; + const double t3199 = t368 * t368; + const double t3201 = 0.1e1 / t3199 / t335; + const double t3202 = t365 * t3201; + const double t3203 = t1036 * t3202; + const double t3204 = t3198 * t3203; + const double t3205 = t1043 * t1043; + const double t3206 = t373 * t3205; + const double t3208 = t3207 * t357; + const double t3209 = t3206 * t3208; + const double t3210 = t1042 * t3209; + const double t3213 = t989 * t1032; + const double t3214 = t3213 * t1040; + const double t3217 = t1024 * t1062; + const double t3218 = t1065 * t999; + const double t3219 = t3218 * t906; + const double t3220 = t1042 * t3219; + const double t3223 = -t2868 + t2871 - t2878 + t2921 + t2929 + t3019 + t3021 - t3024 + t3028 - t3032 - t3036; + const double t3225 = t373 * t3223 * t1045; + const double t3226 = t1042 * t3225; + const double t3230 = 0.1e1 / t1034 / t358; + const double t3231 = t3230 * t360; + const double t3232 = t3231 * t3202; + const double t3233 = t3198 * t3232; + const double t3234 = t357 * t357; + const double t3235 = t3207 * t3234; + const double t3236 = t3206 * t3235; + const double t3237 = t1042 * t3236; + const double t3240 = t1052 * t1038; + const double t3241 = t1036 * t3240; + const double t3242 = t1033 * t3241; + const double t3245 = t246 * t127; + const double t3246 = t3245 * t1046; + const double t3247 = t1041 * t3246; + const double t3249 = t2270 * t344; + const double t3252 = t1003 * t1007; + const double t3255 = t221 * t696 * t346; + const double t3257 = t345 * t3255 / 0.432e3; + const double t3258 = -0.15244095330869239812e-2 * t3166 + 0.14291339372689912324e-3 * t1063 * t3169 + 0.23818898954483187207e-3 * t1063 * t3176 - 0.15244095330869239812e-2 * t3181 * t1068 + 0.19055119163586549765e-3 * t3187 - 0.28582678745379824648e-3 * t1063 * t3190 + 0.28582678745379824648e-3 * t3193 * t1068 - 0.21437009059034868486e-3 * t3204 * t3210 + 0.42874018118069736972e-3 * t3214 * t1047 - 0.28582678745379824648e-3 * t3217 * t3220 + 0.21437009059034868486e-3 * t1041 * t3226 + 0.42874018118069736972e-3 * t3233 * t3237 - 0.22866142996303859718e-2 * t3242 * t1047 + 0.28582678745379824648e-3 * t3247 + 0.11e2 / 0.108e3 * t3249 * t348 - t3252 / 0.54e2 - t3257; + const double t3259 = t3165 + t3258; + const double t3261 = t3259 * t225 * t385; + const double t3264 = t342 * t1071; + const double t3268 = 0.1e1 / t1077 / t384; + const double t3269 = t225 * t3268; + const double t3270 = t1096 * t1096; + const double t3271 = t3269 * t3270; + const double t3278 = t989 * t1086; + const double t3283 = t1082 * t3059; + const double t3286 = t1086 * t378; + const double t3287 = t994 * t3286; + const double t3288 = t3086 * t1089; + const double t3291 = t359 * t1071; + const double t3292 = t3291 * t999; + const double t3295 = t1082 * t3075; + const double t3298 = t3197 * t3230; + const double t3299 = t342 * t3298; + const double t3300 = t378 * t3205; + const double t3302 = 0.1e1 / t368 / t335; + const double t3303 = t3207 * t3302; + const double t3304 = t3303 * t3234; + const double t3305 = t3300 * t3304; + const double t3309 = t1071 * t1043 * t1089; + const double t3313 = t378 * t3223 * t1089; + const double t3316 = t3197 * t1035; + const double t3317 = t342 * t3316; + const double t3318 = t3303 * t357; + const double t3319 = t3300 * t3318; + const double t3322 = t380 * t3259; + const double t3325 = 0.65854491829355115987e0 * t3043 * t381 - 0.13170898365871023197e1 * t3114 * t1083 + 0.13170898365871023197e1 * t3278 * t1090 + 0.13170898365871023197e1 * t989 * t1093 + 0.13170898365871023197e1 * t3100 * t3283 - 0.13170898365871023197e1 * t3287 * t3288 - 0.13170898365871023197e1 * t1024 * t3292 - 0.65854491829355115987e0 * t1024 * t3295 + 0.13170898365871023197e1 * t3299 * t3305 + 0.13170898365871023197e1 * t1087 * t3309 + 0.65854491829355115987e0 * t1087 * t3313 - 0.65854491829355115987e0 * t3317 * t3319 + 0.65854491829355115987e0 * t342 * t3322; + const double t3326 = t1079 * t3325; + const double t3329 = 0.65854491829355115987e0 * t3043 * t386 - 0.13170898365871023197e1 * t3047 * t1000 + 0.13170898365871023197e1 * t989 * t1073 - 0.13170898365871023197e1 * t3052 * t1097 + 0.13170898365871023197e1 * t3058 * t3060 - 0.13170898365871023197e1 * t3063 * t1000 + 0.13170898365871023197e1 * t995 * t3067 - 0.65854491829355115987e0 * t995 * t3076 + 0.65854491829355115987e0 * t342 * t3261 - 0.13170898365871023197e1 * t3264 * t1097 + 0.13170898365871023197e1 * t1076 * t3271 - 0.65854491829355115987e0 * t1076 * t3326; + const double t3333 = t1100 * t1100; + const double t3335 = t389 * t389; + const double t3336 = 0.1e1 / t3335; + const double t3339 = t1102 * t198 * t3329 * t336 - t198 * t3333 * t3336 * t336 - t2868 + t2871 - t2878 + t2921 + t2929 + t3019 + t3021 - t3024 + t3028 - t3032 - t3036; + const double t3340 = piecewise_functor_3( t394, t3339, t2838 ); + const double t3347 = piecewise_functor_3( t120, t2838 * t30 / 0.2e1 + t895 * t605 + t265 * t2257 / 0.2e1, t3340 * t45 / 0.2e1 + t1106 * t606 + t395 * t2258 / 0.2e1 ); + const double t3351 = -t2257; + const double t3356 = t268 * t1941 * t404; + const double t3357 = 0.23744444444444444444e-1 * t3356; + const double t3358 = t689 * t1123; + const double t3360 = t159 * t1263; + const double t3361 = t635 * t635; + const double t3362 = 0.1e1 / t3361; + const double t3363 = t3362 * t2251; + const double t3364 = t3360 * t3363; + const double t3365 = t128 * t3364; + const double t3367 = 0.1e1 / t2304; + const double t3368 = t3367 * t2251; + const double t3369 = t1120 * t3368; + const double t3370 = t128 * t3369; + const double t3372 = t1121 * t2258; + const double t3373 = t1120 * t3372; + const double t3374 = t128 * t3373; + const double t3376 = t3357 - 0.11872222222222222222e-1 * t3358 - 0.11872222222222222222e-1 * t3365 + 0.35616666666666666666e-1 * t3370 + 0.17808333333333333333e-1 * t3374; + const double t3378 = 0.621814e-1 * t3376 * t422; + const double t3379 = t1126 * t1130; + const double t3381 = 0.2e1 * t3379 * t1151; + const double t3382 = t1129 * t418; + const double t3383 = 0.1e1 / t3382; + const double t3384 = t408 * t3383; + const double t3385 = t1149 * t1149; + const double t3386 = t3385 * t1150; + const double t3388 = 0.2e1 * t3384 * t3386; + const double t3390 = 0.1e1 / t409 / t406; + const double t3391 = t1134 * t1134; + const double t3392 = t3390 * t3391; + const double t3394 = 0.4e1 / 0.9e1 * t3356; + const double t3399 = t3394 - 0.2e1 / 0.9e1 * t3358 - 0.2e1 / 0.9e1 * t3365 + 0.2e1 / 0.3e1 * t3370 + t3374 / 0.3e1; + const double t3400 = t1132 * t3399; + const double t3402 = 0.39862222222222222223e0 * t3356; + const double t3407 = 0.1e1/safe_math::sqrt( t406 ); + const double t3408 = t3407 * t3391; + const double t3410 = t1139 * t3399; + const double t3413 = t281 * t2902 * t414; + const double t3414 = 0.13692777777777777778e0 * t3413; + const double t3415 = t698 * t1146; + const double t3417 = t240 * t1224; + const double t3418 = t3417 * t3363; + const double t3419 = t141 * t3418; + const double t3421 = t1145 * t3368; + const double t3422 = t141 * t3421; + const double t3424 = t1145 * t3372; + const double t3425 = t141 * t3424; + const double t3427 = -0.9494625e0 * t3392 + 0.1898925e1 * t3400 + t3402 - 0.19931111111111111111e0 * t3358 - 0.19931111111111111111e0 * t3365 + 0.59793333333333333334e0 * t3370 + 0.29896666666666666667e0 * t3374 + 0.15358125e0 * t3408 + 0.3071625e0 * t3410 + t3414 - 0.10954222222222222222e0 * t3415 - 0.27385555555555555556e-1 * t3419 + 0.16431333333333333333e0 * t3422 + 0.82156666666666666667e-1 * t3425; + const double t3428 = t3427 * t1150; + const double t3430 = 0.1e1 * t1131 * t3428; + const double t3431 = t1129 * t1129; + const double t3432 = 0.1e1 / t3431; + const double t3433 = t408 * t3432; + const double t3434 = t421 * t421; + const double t3435 = 0.1e1 / t3434; + const double t3436 = t3385 * t3435; + const double t3438 = 0.16081979498692535067e2 * t3433 * t3436; + const double t3439 = 0.22831111111111111111e-1 * t3356; + const double t3444 = t3439 - 0.11415555555555555555e-1 * t3358 - 0.11415555555555555555e-1 * t3365 + 0.34246666666666666666e-1 * t3370 + 0.17123333333333333333e-1 * t3374; + const double t3447 = t1156 * t1160; + const double t3450 = t1159 * t431; + const double t3451 = 0.1e1 / t3450; + const double t3452 = t426 * t3451; + const double t3453 = t1168 * t1168; + const double t3454 = t3453 * t1169; + const double t3459 = 0.68863333333333333333e0 * t3356; + const double t3466 = 0.17365833333333333333e0 * t3413; + const double t3471 = -0.17648625e1 * t3392 + 0.3529725e1 * t3400 + t3459 - 0.34431666666666666666e0 * t3358 - 0.34431666666666666667e0 * t3365 + 0.103295e1 * t3370 + 0.516475e0 * t3374 + 0.31558125e0 * t3408 + 0.6311625e0 * t3410 + t3466 - 0.13892666666666666667e0 * t3415 - 0.34731666666666666667e-1 * t3419 + 0.20839e0 * t3422 + 0.104195e0 * t3425; + const double t3472 = t3471 * t1169; + const double t3475 = t1159 * t1159; + const double t3476 = 0.1e1 / t3475; + const double t3477 = t426 * t3476; + const double t3478 = t434 * t434; + const double t3479 = 0.1e1 / t3478; + const double t3480 = t3453 * t3479; + const double t3483 = 0.12361111111111111111e-1 * t3356; + const double t3488 = t3483 - 0.61805555555555555556e-2 * t3358 - 0.61805555555555555555e-2 * t3365 + 0.18541666666666666667e-1 * t3370 + 0.92708333333333333333e-2 * t3374; + const double t3489 = t3488 * t448; + const double t3491 = t1175 * t1179; + const double t3494 = t1178 * t444; + const double t3495 = 0.1e1 / t3494; + const double t3496 = t439 * t3495; + const double t3497 = t1187 * t1187; + const double t3498 = t3497 * t1188; + const double t3503 = 0.40256666666666666667e0 * t3356; + const double t3510 = 0.137975e0 * t3413; + const double t3515 = -0.1294625e1 * t3392 + 0.258925e1 * t3400 + t3503 - 0.20128333333333333334e0 * t3358 - 0.20128333333333333333e0 * t3365 + 0.60385e0 * t3370 + 0.301925e0 * t3374 + 0.82524375e-1 * t3408 + 0.16504875e0 * t3410 + t3510 - 0.11038e0 * t3415 - 0.27595e-1 * t3419 + 0.16557e0 * t3422 + 0.82785e-1 * t3425; + const double t3516 = t3515 * t1188; + const double t3519 = t1178 * t1178; + const double t3520 = 0.1e1 / t3519; + const double t3521 = t439 * t3520; + const double t3522 = t447 * t447; + const double t3523 = 0.1e1 / t3522; + const double t3524 = t3497 * t3523; + const double t3527 = -0.310907e-1 * t3444 * t435 + 0.2e1 * t3447 * t1170 - 0.2e1 * t3452 * t3454 + 0.1e1 * t1161 * t3472 + 0.32163958997385070134e2 * t3477 * t3480 + t3378 - t3381 + t3388 - t3430 - t3438 - 0.19751673498613801407e-1 * t3489 + 0.11696447245269292414e1 * t3491 * t1189 - 0.11696447245269292414e1 * t3496 * t3498 + 0.5848223622634646207e0 * t1180 * t3516 + 0.17315859105681463759e2 * t3521 * t3524; + const double t3528 = t300 * t3527; + const double t3530 = 0.19751673498613801407e-1 * t300 * t3489; + const double t3531 = t300 * t1175; + const double t3533 = 0.11696447245269292414e1 * t3531 * t1198; + const double t3535 = t3495 * t3497 * t1188; + const double t3537 = 0.11696447245269292414e1 * t1196 * t3535; + const double t3539 = t1179 * t3515 * t1188; + const double t3541 = 0.5848223622634646207e0 * t1196 * t3539; + const double t3542 = t3520 * t3497; + const double t3543 = t3542 * t3523; + const double t3545 = 0.17315859105681463759e2 * t1196 * t3543; + const double t3546 = 0.11111111111111111111e-1 * t3356; + const double t3551 = t3546 - 0.55555555555555555556e-2 * t3358 - 0.55555555555555555555e-2 * t3365 + 0.16666666666666666667e-1 * t3370 + 0.83333333333333333333e-2 * t3374; + const double t3552 = t3551 * t459; + const double t3555 = t1203 * t1208; + const double t3556 = t3555 * t487; + const double t3561 = t1204 * t487; + const double t3565 = 0.1e1 / t1207 / t458; + const double t3566 = t456 * t3565; + const double t3567 = t3566 * t487; + const double t3568 = t1214 * t1214; + const double t3569 = t1211 * t3568; + const double t3572 = t1209 * t1269; + const double t3575 = t1214 * t1294; + const double t3576 = t1277 * t3575; + const double t3579 = 0.19755555555555555556e-1 * t3356; + const double t3584 = t3579 - 0.9877777777777777778e-2 * t3358 - 0.9877777777777777778e-2 * t3365 + 0.29633333333333333334e-1 * t3370 + 0.14816666666666666667e-1 * t3374; + const double t3585 = t1211 * t3584; + const double t3588 = t140 * t1226; + const double t3589 = t1222 * t3588; + const double t3591 = t1225 * t2258; + const double t3592 = t1012 * t3591; + const double t3595 = t1224 * t3367; + const double t3596 = t3595 * t2251; + const double t3597 = t1012 * t3596; + const double t3600 = t1209 * t1284; + const double t3601 = t474 * t479; + const double t3602 = t3601 * t3081; + const double t3603 = t3600 * t3602; + const double t3604 = t66 * t482; + const double t3605 = t828 * t3604; + const double t3606 = t1214 * t1248; + const double t3607 = t3606 * t1250; + const double t3608 = t3605 * t3607; + const double t3611 = t126 * t1263; + const double t3612 = t3611 * t1122; + const double t3613 = t247 * t3612; + const double t3614 = t1261 * t3613; + const double t3616 = t1264 * t3372; + const double t3617 = t247 * t3616; + const double t3620 = t1264 * t3368; + const double t3621 = t247 * t3620; + const double t3625 = 0.1e1 / t404 / t1121; + const double t3626 = t3625 * t3362; + const double t3627 = t3626 * t2251; + const double t3628 = t1012 * t3627; + const double t3631 = t3245 * t1251; + const double t3632 = t1247 * t3631; + const double t3634 = -t3378 + t3381 - t3388 + t3430 + t3438 + t3528 + t3530 - t3533 + t3537 - t3541 - t3545; + const double t3636 = t482 * t3634 * t1250; + const double t3637 = t1042 * t3636; + const double t3640 = t1285 * t3602; + const double t3641 = t828 * t1264; + const double t3642 = t1248 * t73; + const double t3643 = t471 * t1121; + const double t3644 = t3643 * t606; + const double t3645 = t3642 * t3644; + const double t3646 = t3641 * t3645; + const double t3649 = t1230 * t1260; + const double t3652 = -t3589 / 0.432e3 - t1222 * t3592 / 0.288e3 - t1222 * t3597 / 0.144e3 - 0.42874018118069736972e-3 * t3603 * t3608 - 0.19055119163586549765e-3 * t3614 - 0.14291339372689912324e-3 * t1261 * t3617 - 0.28582678745379824648e-3 * t1261 * t3621 + t1222 * t3628 / 0.216e3 + 0.28582678745379824648e-3 * t3632 + 0.21437009059034868486e-3 * t1247 * t3637 - 0.28582678745379824648e-3 * t3640 * t3646 - 0.28582678745379824648e-3 * t3649 * t1266; + const double t3653 = t460 * t3197; + const double t3654 = t479 * t3201; + const double t3655 = t1244 * t3654; + const double t3656 = t3653 * t3655; + const double t3657 = t1248 * t1248; + const double t3658 = t482 * t3657; + const double t3659 = t3207 * t471; + const double t3660 = t3658 * t3659; + const double t3661 = t1042 * t3660; + const double t3664 = t1204 * t1032; + const double t3665 = t3664 * t1246; + const double t3669 = 0.1e1 / t414 / t1121; + const double t3670 = t66 * t3669; + const double t3671 = t3670 * t3363; + const double t3672 = t247 * t3671; + const double t3675 = t482 * t3584; + const double t3677 = t371 * t372 * t3675; + const double t3680 = t3555 * t225; + const double t3681 = t3680 * t480; + const double t3684 = t3552 * t225; + const double t3685 = t3684 * t480; + const double t3689 = t371 * t676 * t482; + const double t3691 = 0.47637797908966374413e-4 * t481 * t3689; + const double t3692 = t1231 * t1256; + const double t3694 = t1234 * t1260; + const double t3695 = t1263 * t1214; + const double t3696 = t3695 * t1122; + const double t3697 = t1042 * t3696; + const double t3701 = t221 * t696 * t462; + const double t3703 = t461 * t3701 / 0.432e3; + const double t3705 = 0.1e1 / t1242 / t472; + const double t3706 = t3705 * t474; + const double t3707 = t3706 * t3654; + const double t3708 = t3653 * t3707; + const double t3709 = t471 * t471; + const double t3710 = t3207 * t3709; + const double t3711 = t3658 * t3710; + const double t3712 = t1042 * t3711; + const double t3716 = t371 * t127 * t1236; + const double t3717 = t1235 * t3716; + const double t3719 = t3566 * t225; + const double t3720 = t3719 * t480; + const double t3721 = t482 * t3568; + const double t3723 = t371 * t372 * t3721; + const double t3726 = -0.21437009059034868486e-3 * t3656 * t3661 + 0.42874018118069736972e-3 * t3665 * t1252 + 0.23818898954483187207e-3 * t1261 * t3672 - 0.21437009059034868486e-3 * t1235 * t3677 - 0.42874018118069736972e-3 * t3681 * t1238 + 0.21437009059034868486e-3 * t3685 * t484 - t3691 + 0.28582678745379824648e-3 * t3692 + 0.28582678745379824648e-3 * t3694 * t3697 - t3703 + 0.42874018118069736972e-3 * t3708 * t3712 - 0.28582678745379824648e-3 * t3717 + 0.42874018118069736972e-3 * t3720 * t3723; + const double t3727 = t3652 + t3726; + const double t3729 = t3727 * t225 * t494; + const double t3732 = t460 * t1269; + const double t3736 = 0.1e1 / t1275 / t493; + const double t3737 = t225 * t3736; + const double t3738 = t1294 * t1294; + const double t3739 = t3737 * t3738; + const double t3746 = t1204 * t1284; + const double t3751 = t1280 * t3568; + const double t3754 = t1284 * t487; + const double t3755 = t1209 * t3754; + const double t3756 = t3606 * t1287; + const double t3759 = t473 * t1269; + const double t3760 = t3759 * t1214; + const double t3763 = t1280 * t3584; + const double t3766 = t3197 * t3705; + const double t3767 = t460 * t3766; + const double t3768 = t487 * t3657; + const double t3769 = t3303 * t3709; + const double t3770 = t3768 * t3769; + const double t3774 = t1269 * t1248 * t1287; + const double t3778 = t487 * t3634 * t1287; + const double t3781 = t3197 * t1243; + const double t3782 = t460 * t3781; + const double t3783 = t3303 * t471; + const double t3784 = t3768 * t3783; + const double t3787 = t489 * t3727; + const double t3790 = 0.65854491829355115987e0 * t3552 * t490 - 0.13170898365871023197e1 * t3680 * t1281 + 0.13170898365871023197e1 * t3746 * t1288 + 0.13170898365871023197e1 * t1204 * t1291 + 0.13170898365871023197e1 * t3719 * t3751 - 0.13170898365871023197e1 * t3755 * t3756 - 0.13170898365871023197e1 * t1234 * t3760 - 0.65854491829355115987e0 * t1234 * t3763 + 0.13170898365871023197e1 * t3767 * t3770 + 0.13170898365871023197e1 * t1285 * t3774 + 0.65854491829355115987e0 * t1285 * t3778 - 0.65854491829355115987e0 * t3782 * t3784 + 0.65854491829355115987e0 * t460 * t3787; + const double t3791 = t1277 * t3790; + const double t3794 = 0.65854491829355115987e0 * t3552 * t495 - 0.13170898365871023197e1 * t3556 * t1215 + 0.13170898365871023197e1 * t1204 * t1271 - 0.13170898365871023197e1 * t3561 * t1295 + 0.13170898365871023197e1 * t3567 * t3569 - 0.13170898365871023197e1 * t3572 * t1215 + 0.13170898365871023197e1 * t1210 * t3576 - 0.65854491829355115987e0 * t1210 * t3585 + 0.65854491829355115987e0 * t460 * t3729 - 0.13170898365871023197e1 * t3732 * t1295 + 0.13170898365871023197e1 * t1274 * t3739 - 0.65854491829355115987e0 * t1274 * t3791; + const double t3798 = t1298 * t1298; + const double t3800 = t498 * t498; + const double t3801 = 0.1e1 / t3800; + const double t3804 = t1300 * t198 * t336 * t3794 - t198 * t336 * t3798 * t3801 - t3378 + t3381 - t3388 + t3430 + t3438 + t3528 + t3530 - t3533 + t3537 - t3541 - t3545; + const double t3805 = piecewise_functor_3( t503, t3804, t2838 ); + const double t3812 = piecewise_functor_3( t400, t2838 * t33 / 0.2e1 + t895 * t1113 + t265 * t3351 / 0.2e1, t3805 * t57 / 0.2e1 - t1304 * t606 - t504 * t2258 / 0.2e1 ); + const double t3813 = t3347 + t3812; + const double t3821 = 0.2e1 * t1312 * t2371 + 0.4e1 * t2322 * t670 + 0.2e1 * t2327 * t93 + t2320; + const double t3825 = t1330 * t72; + const double t3826 = t3825 * t757; + const double t3827 = 0.36622894612013090108e-3 * t3826; + const double t3829 = 0.24415263074675393405e-3 * t1337 * t2648; + const double t3830 = 0.1e1 / t525; + const double t3831 = t605 * t605; + const double t3837 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3830 * t3831 + 0.4e1 / 0.3e1 * t513 * t2257 ); + const double t3838 = 0.1e1 / t527; + const double t3839 = t1113 * t1113; + const double t3845 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3838 * t3839 + 0.4e1 / 0.3e1 * t516 * t3351 ); + const double t3847 = ( t3837 + t3845 ) * t162; + const double t3849 = 0.19751673498613801407e-1 * t3847 * t187; + const double t3850 = t1330 * t749; + const double t3851 = t512 * t3850; + const double t3852 = 0.2e1 * t3851; + const double t3853 = t1320 * t1331; + const double t3854 = 0.8e1 * t3853; + const double t3855 = t19 * t27; + const double t3857 = 0.2e2 * t3855 * t521; + const double t3858 = t14 * t22; + const double t3860 = 0.12e2 * t3858 * t521; + const double t3861 = t583 * t588; + const double t3863 = 0.32e2 * t3861 * t521; + const double t3864 = t3847 * t189; + const double t3865 = t512 * t3864; + const double t3866 = -t3827 + t3829 - t2427 + t3849 - t2431 - t2438 + t2448 + t2456 + t3852 - t3854 + t3857 + t3860 - t3863 + t3865; + const double t3867 = t198 * t531; + const double t3868 = t1448 * t1450; + const double t3873 = 0.8e1 * t1320 * t1333; + const double t3874 = t1317 * t1331; + const double t3875 = 0.8e1 * t3874; + const double t3876 = t1448 * t1448; + const double t3878 = t565 * t565; + const double t3879 = 0.1e1 / t3878; + const double t3882 = 0.1e1 / t514; + const double t3888 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3882 * t3831 + 0.2e1 / 0.3e1 * t1344 * t2257 ); + const double t3889 = 0.1e1 / t517; + const double t3895 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3889 * t3839 + 0.2e1 / 0.3e1 * t1348 * t3351 ); + const double t3897 = t3888 / 0.2e1 + t3895 / 0.2e1; + const double t3902 = 0.73171657588172351096e-2 * t2402 * t1359; + const double t3903 = t785 * t555; + const double t3904 = t3903 * t1358; + const double t3906 = 0.65049603595885220126e-3 * t2411 * t3904; + const double t3907 = t212 * t1419; + const double t3908 = t3907 * t1358; + const double t3909 = t689 * t3908; + const double t3911 = t1357 * t1445; + const double t3912 = t689 * t3911; + const double t3914 = t2534 * t556; + const double t3915 = t561 * t136; + const double t3916 = t3915 * t2396; + const double t3918 = 0.11565819519348392139e-2 * t3914 * t3916; + const double t3919 = t786 * t1420; + const double t3920 = t3919 * t1364; + const double t3922 = t556 * t1426; + const double t3923 = t786 * t3922; + const double t3924 = t676 * t1444; + const double t3925 = t123 * t3924; + const double t3926 = t3923 * t3925; + const double t3928 = t1363 * t2399; + const double t3930 = 0.13009920719177044025e-1 * t1362 * t3928; + const double t3931 = t1408 * t1389; + const double t3933 = 0.25410001404642664112e-5 * t2682 * t3931; + const double t3934 = t124 * t3897; + const double t3935 = t800 * t3934; + const double t3938 = t2534 * t546; + const double t3941 = 0.45178982497454656791e-5 * t3938 * t2727 * t1389; + const double t3942 = t1386 * t240; + const double t3943 = t550 * t1398; + const double t3944 = t3943 * t543; + const double t3945 = t3942 * t3944; + const double t3946 = t2688 * t3945; + const double t3949 = t2556 * t550 * t816; + const double t3951 = 0.13552000749142754193e-3 * t1379 * t3949; + const double t3953 = t2561 * t1408 * t27; + const double t3954 = t1413 * t136; + const double t3956 = t3954 * t221 * t1353; + const double t3957 = t3953 * t3956; + const double t3960 = 0.1e1 / t549 / t531; + const double t3961 = t240 * t3960; + const double t3962 = t3961 * t72; + const double t3963 = t1353 * t1353; + const double t3965 = t3962 * t828 * t3963; + const double t3969 = 0.11696447245269292414e1 * t1340 * t2620; + const double t3971 = 0.5848223622634646207e0 * t1340 * t2604; + const double t3973 = 0.17315859105681463759e2 * t1340 * t2597; + const double t3974 = t1330 * t177; + const double t3975 = t3974 * t762; + const double t3976 = 0.11696447245269292414e1 * t3975; + const double t3977 = -t3827 + t3969 - t3971 - t3973 - t3976 + t3857 + t3860 - t3863 + t3865 + t3852 - t3854; + const double t3979 = 0.8e1 * t1317 * t1333; + const double t3980 = t520 * t123; + const double t3982 = 0.10843581300301739842e-1 * t3980 * t2624; + const double t3983 = t520 * t2489; + const double t3984 = t512 * t3983; + const double t3985 = -t3873 + t3875 + t3979 - t2427 + t3849 - t2438 + t3829 - t2431 + t3982 + t3984 + t2448 + t2456; + const double t3987 = ( t3977 + t3985 ) * t225; + const double t3991 = t73 * t1412; + const double t3992 = t3991 * t3963; + const double t3995 = t1394 * t3897; + const double t3998 = 0.6e1 * t1392 * t1395 - t3987 * t541 - 0.12e2 * t3992 * t539 + 0.3e1 * t3995 * t539; + const double t3999 = t3998 * t543; + const double t4001 = t1390 * t828 * t3999; + const double t4005 = t2561 * t1386 * t27; + const double t4006 = t1389 * t136; + const double t4008 = t4006 * t221 * t1399; + const double t4009 = t4005 * t4008; + const double t4012 = 0.35e2 / 0.432e3 * t2716 * t535; + const double t4014 = t794 * t1369; + const double t4015 = t4014 * t1372; + const double t4018 = 0.76220476654346199061e-4 * t2671 * t1376; + const double t4019 = t1413 * t1353; + const double t4020 = t547 * t4019; + const double t4021 = t807 * t4020; + const double t4024 = 0.1e1 / t1384 / t544; + const double t4025 = t4024 * t235; + const double t4027 = t820 * t4025 * t239; + const double t4028 = t1398 * t1398; + const double t4029 = t543 * t543; + const double t4030 = t4028 * t4029; + const double t4032 = t1390 * t828 * t4030; + const double t4035 = t159 * t550; + const double t4036 = t216 * t4035; + const double t4037 = t124 * t3963; + const double t4038 = t800 * t4037; + const double t4042 = t2571 * t550 * t247; + const double t4044 = 0.56688979511669985553e-2 * t548 * t4042; + const double t4046 = t820 * t1408 * t843; + const double t4047 = t4046 * t1416; + const double t4050 = t1414 * t828 * t3897; + const double t4054 = t820 * t1386 * t843; + const double t4055 = t4054 * t1401; + const double t4058 = t820 * t1386 * t241; + const double t4059 = t1412 * t72; + const double t4060 = t4059 * t245; + const double t4062 = t543 * t1353; + const double t4063 = t125 * t1398 * t4062; + const double t4064 = t4060 * t4063; + const double t4067 = t4028 * t543; + const double t4069 = t1390 * t828 * t4067; + const double t4072 = 0.7e1 / 0.72e2 * t4015 + t4018 + 0.57165357490759649296e-4 * t4021 + 0.42874018118069736972e-3 * t4027 * t4032 + t4036 * t4038 / 0.16e2 + t4044 + 0.80031500487063509015e-2 * t4047 - 0.85748036236139473944e-3 * t1410 * t4050 + 0.20007875121765877254e-2 * t4055 + 0.17149607247227894789e-2 * t4058 * t4064 - 0.21437009059034868486e-3 * t1388 * t4069; + const double t4073 = -t3933 - t1370 * t3935 / 0.48e2 + t3941 + 0.14291339372689912324e-4 * t3946 - t3951 - 0.10164000561857065645e-3 * t3957 + 0.42874018118069736972e-2 * t1410 * t3965 - 0.21437009059034868486e-3 * t1388 * t4001 - 0.25410001404642664112e-4 * t4009 + t4012 + t4072; + const double t4074 = t4073 * t225; + const double t4078 = t213 * t1419; + const double t4082 = 0.1e1 / t1425 / t560; + const double t4083 = t225 * t4082; + const double t4084 = t1444 * t1444; + const double t4085 = t4083 * t4084; + const double t4089 = 0.73171657588172351096e-2 * t2402 * t1429; + const double t4090 = t2768 * t1428; + const double t4092 = 0.65049603595885220126e-3 * t2411 * t4090; + const double t4093 = t225 * t1385; + const double t4094 = t555 * t1398; + const double t4096 = t4093 * t4094 * t543; + const double t4097 = t2773 * t4096; + const double t4099 = t545 * t1419; + const double t4100 = t869 * t4099; + const double t4101 = t689 * t4100; + const double t4103 = t555 * t136; + const double t4106 = 0.11565819519348392139e-2 * t3938 * t4103 * t2396; + const double t4107 = t4093 * t555; + const double t4108 = t786 * t4107; + const double t4109 = t675 * t1398; + const double t4111 = t268 * t4109 * t543; + const double t4112 = t4108 * t4111; + const double t4114 = t1419 * t72; + const double t4116 = t1432 * t4114 * t686; + const double t4120 = 0.13009920719177044025e-1 * t1432 * t1433 * t2399; + const double t4121 = t4024 * t555; + const double t4125 = t1385 * t1419; + const double t4138 = t4089 - t4092 + 0.10975748638225852664e-1 * t4097 - 0.10975748638225852664e-1 * t4101 + t4106 - 0.19514881078765566038e-1 * t4112 + 0.19514881078765566038e-1 * t4116 - t4120 + 0.13170898365871023197e1 * t820 * t4121 * t4030 - 0.13170898365871023197e1 * t820 * t4125 * t1399 - 0.65854491829355115987e0 * t820 * t1437 * t3999 - 0.65854491829355115987e0 * t820 * t1437 * t4067 + 0.65854491829355115987e0 * t213 * t546 * t4073; + const double t4139 = t1427 * t4138; + const double t4142 = t3902 - t3906 - 0.10975748638225852664e-1 * t3909 + 0.10975748638225852664e-1 * t3912 + t3918 + 0.19514881078765566038e-1 * t3920 - 0.19514881078765566038e-1 * t3926 - t3930 + 0.65854491829355115987e0 * t213 * t4074 * t561 - 0.13170898365871023197e1 * t4078 * t1445 + 0.13170898365871023197e1 * t1424 * t4085 - 0.65854491829355115987e0 * t1424 * t4139; + const double t4146 = t530 * t566; + const double t4150 = t1450 * t198 * t4142 * t532 - t198 * t3876 * t3879 * t532 + 0.3e1 * t1343 * t198 * t3897 + 0.6e1 * t1353 * t3867 * t3868 + 0.6e1 * t198 * t3963 * t4146 - t3873 + t3875 + t3969 - t3971 - t3973 - t3976 + t3979 + t3982 + t3984; + const double t4151 = t3866 + t4150; + const double t4153 = -t118 * t3813 - 0.2e1 * t1310 * t649 + 0.2e1 * t1315 * t1453 - t2320 * t508 - 0.4e1 * t2322 * t671 - 0.2e1 * t2328 * t508 - 0.4e1 * t2331 * t651 - 0.2e1 * t2372 * t651 + t3821 * t569 + t4151 * t511; + const double t4154 = t3 * t4153; + const double t4158 = d * t4153; + const double t4162 = t116 * t2327; + const double t4165 = t117 * t2371; + const double t4168 = 0.6e1 * t1459 * t1461 + t4158 * t573 + 0.6e1 * t4162 * t572 + 0.3e1 * t4165 * t572; + const double t4170 = t1913 * t575; + const double t4171 = -t2219 + t2223 - t2226 + t2230 - t2233 + t2239; + const double t4173 = t1466 * t602; + const double t4178 = t1497 * t644; + const double t4181 = t606 * t1469; + const double t4182 = t4181 * t70; + const double t4186 = piecewise_functor_5( t31, 0.0, t34, 0.0, 0.2e1 * t2255 ); + const double t4187 = t36 * t4186; + const double t4188 = t4187 * t70; + const double t4191 = t1470 * t627; + const double t4196 = t607 * t1486; + const double t4201 = t2275 * t1469; + const double t4202 = t4201 * t606; + const double t4205 = t48 * t4186; + const double t4210 = t2282 * t1469; + const double t4211 = t4210 * t606; + const double t4214 = t60 * t4186; + const double t4217 = -0.2e2 / 0.9e1 * t614 * t1474 + 0.5e1 / 0.18e2 * t44 * t4202 + 0.5e1 / 0.6e1 * t44 * t4205 + 0.2e2 / 0.9e1 * t1480 * t620 + 0.5e1 / 0.18e2 * t56 * t4211 - 0.5e1 / 0.6e1 * t56 * t4214 - t2290; + const double t4218 = t38 * t4217; + const double t4227 = t2299 * t1469; + const double t4230 = t633 * t4186; + const double t4232 = t2306 * t1469; + const double t4235 = t637 * t4186; + const double t4237 = 0.28e2 / 0.9e1 * t4227 * t606 - 0.4e1 / 0.3e1 * t4230 + 0.28e2 / 0.9e1 * t4232 * t606 + 0.4e1 / 0.3e1 * t4235; + const double t4238 = t77 * t4237; + const double t4241 = -t4182 * t85 / 0.12e2 - t4188 * t85 / 0.12e2 - t4191 * t85 / 0.12e2 - t1471 * t641 / 0.12e2 - t4196 * t85 / 0.12e2 + t4218 * t85 / 0.24e2 + t1487 * t641 / 0.24e2 - t608 * t1494 / 0.12e2 + t628 * t1494 / 0.24e2 + t71 * t4238 / 0.24e2; + const double t4245 = piecewise_functor_3( t8, 0.0, -0.4e1 * t1497 * t2242 + 0.2e2 * t2247 * t4178 + t4171 * t91 - 0.4e1 * t4173 * t644 - 0.4e1 * t4241 * t603 ); + const double t4246 = t4245 * t117; + const double t4248 = t1501 * t116; + const double t4254 = t94 * t670; + const double t4257 = t1310 * t1518; + const double t4261 = t625 * t1514; + const double t4263 = t2339 * t1513; + const double t4264 = t4263 * t665; + const double t4269 = t2349 * t1504; + const double t4270 = t4269 * t658; + const double t4273 = t100 * t2; + const double t4274 = t4273 * t580; + const double t4279 = t2357 * t1509; + const double t4280 = t4279 * t661; + const double t4283 = t108 * t2; + const double t4284 = t4283 * t580; + const double t4287 = -0.25e2 / 0.9e1 * t656 * t1505 + 0.1e2 / 0.9e1 * t97 * t4270 + 0.5e1 / 0.3e1 * t97 * t4274 - 0.25e2 / 0.9e1 * t1507 * t662 + 0.1e2 / 0.9e1 * t105 * t4280 - 0.5e1 / 0.3e1 * t105 * t4284; + const double t4288 = t655 * t4287; + const double t4292 = piecewise_functor_3( t115, 0.0, t2335 + t2336 / 0.3e1 + t4261 / 0.3e1 + t69 * t4264 / 0.4e1 - t69 * t4288 / 0.8e1 ); + const double t4293 = t508 * t4292; + const double t4297 = t1843 * t670; + const double t4300 = t2627 * t1469; + const double t4306 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t4300 * t606 + 0.4e1 / 0.3e1 * t78 * t4186 ); + const double t4307 = t2634 * t1469; + const double t4313 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t4307 * t606 - 0.4e1 / 0.3e1 * t81 * t4186 ); + const double t4314 = t4306 + t4313; + const double t4315 = t4314 * t162; + const double t4317 = 0.19751673498613801407e-1 * t4315 * t187; + const double t4318 = t150 * t4314; + const double t4319 = t4318 * t190; + const double t4320 = t1532 * t750; + const double t4321 = 0.4e1 * t2614; + const double t4322 = 0.18311447306006545054e-3 * t2617; + const double t4323 = t750 * t1469; + const double t4324 = t706 * t4323; + const double t4325 = 0.4e1 * t4324; + const double t4326 = t4317 + t4319 + t4320 + t2375 + t2491 - t2427 + t4321 - t4322 - t2431 + t2650 - t2438 + t2448 + t2456 + t4325 - t2599; + const double t4327 = 0.5848223622634646207e0 * t2601; + const double t4328 = t190 * t4186; + const double t4330 = 0.4e1 * t706 * t4328; + const double t4331 = t705 * t1531; + const double t4333 = 0.4e1 * t4331 * t707; + const double t4334 = t80 * t1469; + const double t4340 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t4334 * t606 + 0.2e1 / 0.3e1 * t766 * t4186 ); + const double t4341 = t83 * t1469; + const double t4347 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t4341 * t606 - 0.2e1 / 0.3e1 * t770 * t4186 ); + const double t4349 = t4340 / 0.2e1 + t4347 / 0.2e1; + const double t4357 = t212 * t1568; + const double t4358 = t4357 * t780; + const double t4359 = t689 * t4358; + const double t4361 = t786 * t1569; + const double t4362 = t4361 * t789; + const double t4366 = t855 * t828 * t4349; + const double t4370 = t2564 * t221 * t1544; + const double t4371 = t2563 * t4370; + const double t4373 = t243 * t1558; + const double t4374 = t4373 * t231; + const double t4375 = t2689 * t4374; + const double t4376 = t2688 * t4375; + const double t4379 = t820 * t2697 * t241; + const double t4380 = t243 * t72; + const double t4381 = t4380 * t245; + const double t4382 = t125 * t1558; + const double t4383 = t2701 * t836; + const double t4384 = t4382 * t4383; + const double t4385 = t4381 * t4384; + const double t4388 = t2732 * t1561; + const double t4390 = t2719 * t1549; + const double t4392 = t124 * t4349; + const double t4393 = t800 * t4392; + const double t4398 = t4382 * t2740; + const double t4399 = t2738 * t4398; + const double t4402 = 0.7e1 / 0.144e3 * t2720 + t2730 - 0.85748036236139473944e-3 * t851 * t4366 - 0.50820002809285328225e-4 * t4371 + 0.71456696863449561619e-5 * t4376 + 0.42874018118069736972e-3 * t4379 * t4385 + 0.10003937560882938627e-2 * t4388 - t2685 + t2718 + 0.7e1 / 0.144e3 * t4390 - t799 * t4393 / 0.48e2 - 0.12705000702321332056e-4 * t2594 + 0.10003937560882938627e-2 * t2733 + 0.85748036236139473944e-3 * t2736 * t4399; + const double t4403 = t4382 * t837; + const double t4404 = t4381 * t4403; + const double t4407 = t125 * t1544; + const double t4408 = t4407 * t837; + const double t4409 = t2738 * t4408; + const double t4413 = t800 * t1548 * t775; + const double t4420 = t2577 * t1565; + const double t4422 = t854 * t1544; + const double t4423 = t236 * t4422; + const double t4424 = t807 * t4423; + const double t4427 = t2591 * t221 * t1559; + const double t4428 = t2590 * t4427; + const double t4430 = t1544 * t775; + const double t4432 = t2583 * t828 * t4430; + const double t4435 = t4317 + t4319 + t4320 + t2375 + t2491 - t2427 + t4321 - t4322 - t2431 + t2650 - t2438 + t2448; + const double t4436 = t2498 * t162; + const double t4437 = t189 * t1469; + const double t4438 = t4437 * t606; + const double t4440 = 0.12e2 * t4436 * t4438; + const double t4441 = t1534 * t177; + const double t4442 = t4441 * t762; + const double t4443 = 0.5848223622634646207e0 * t4442; + const double t4445 = 0.4e1 * t2610 * t1522; + const double t4446 = t1534 * t72; + const double t4447 = t4446 * t757; + const double t4448 = 0.18311447306006545054e-3 * t4447; + const double t4449 = t2456 + t4325 - t2599 - t4327 - t2606 + t2626 + t2622 + t4330 + t4333 + t4440 - t4443 + t4445 - t4448; + const double t4451 = ( t4435 + t4449 ) * t225; + const double t4457 = t227 * t73; + const double t4458 = t853 * t1544; + const double t4459 = t4458 * t775; + const double t4462 = t832 * t4349; + const double t4465 = 0.3e1 * t1553 * t833 + 0.3e1 * t1555 * t830 + 0.3e1 * t227 * t4462 - t229 * t4451 - 0.12e2 * t4457 * t4459; + const double t4466 = t4465 * t231; + const double t4468 = t827 * t828 * t4466; + const double t4471 = -0.21437009059034868486e-3 * t2736 * t4404 + 0.85748036236139473944e-3 * t2736 * t4409 + t2708 * t4413 / 0.16e2 - 0.50820002809285328224e-4 * t2567 + 0.40015750243531754508e-2 * t2578 + 0.71456696863449561619e-5 * t2693 - t2560 + t2575 + 0.28582678745379824648e-4 * t2676 + t2673 + 0.40015750243531754507e-2 * t4420 + 0.28582678745379824648e-4 * t4424 - 0.12705000702321332056e-4 * t4428 + 0.42874018118069736972e-2 * t851 * t4432 - 0.21437009059034868486e-3 * t825 * t4468; + const double t4472 = t4402 + t4471; + const double t4473 = t4472 * t225; + const double t4477 = t213 * t1568; + const double t4480 = t779 * t1580; + const double t4481 = t689 * t4480; + const double t4483 = t1579 * t72; + const double t4484 = t4483 * t686; + const double t4485 = t2544 * t4484; + const double t4489 = t1579 * t886; + const double t4490 = t2761 * t4489; + const double t4497 = t251 * t1558; + const double t4499 = t2774 * t4497 * t231; + const double t4500 = t2773 * t4499; + const double t4502 = t1559 * t72; + const double t4503 = t4502 * t686; + const double t4504 = t2789 * t4503; + const double t4506 = t225 * t2696; + const double t4507 = t213 * t4506; + const double t4517 = t213 * t2774; + const double t4521 = t233 * t1568; + const double t4522 = t869 * t4521; + const double t4523 = t689 * t4522; + const double t4525 = t1568 * t72; + const double t4527 = t874 * t4525 * t686; + const double t4529 = t822 * t1568; + const double t4536 = t2767 - t2771 + 0.54878743191129263322e-2 * t2778 - 0.54878743191129263322e-2 * t2782 + t2787 - 0.9757440539382783019e-2 * t2793 + 0.9757440539382783019e-2 * t2797 - t2801 + 0.54878743191129263322e-2 * t4500 - 0.9757440539382783019e-2 * t4504 + 0.13170898365871023197e1 * t4507 * t4497 * t4383 - 0.65854491829355115987e0 * t820 * t2806 * t1559 - 0.65854491829355115987e0 * t820 * t879 * t4466 - 0.65854491829355115987e0 * t4517 * t4497 * t837 - 0.54878743191129263322e-2 * t4523 + 0.9757440539382783019e-2 * t4527 - 0.65854491829355115987e0 * t820 * t4529 * t837 + 0.65854491829355115987e0 * t213 * t234 * t4472; + const double t4537 = t868 * t4536; + const double t4540 = t2520 - t2524 - 0.54878743191129263322e-2 * t2527 + 0.54878743191129263322e-2 * t2530 + t2539 + 0.9757440539382783019e-2 * t2541 - 0.9757440539382783019e-2 * t2547 - t2551 - 0.54878743191129263322e-2 * t4359 + 0.9757440539382783019e-2 * t4362 + 0.65854491829355115987e0 * t213 * t4473 * t257 - 0.65854491829355115987e0 * t4477 * t887 + 0.54878743191129263322e-2 * t4481 - 0.9757440539382783019e-2 * t4485 - 0.65854491829355115987e0 * t2756 * t1580 + 0.13170898365871023197e1 * t865 * t4490 - 0.65854491829355115987e0 * t865 * t4537; + const double t4544 = t1583 * t2495; + const double t4547 = t198 * t205; + const double t4548 = t262 * t1544; + const double t4552 = t1583 * t892; + const double t4556 = t2833 * t1544; + const double t4559 = t198 * t207 * t4540 * t892 - t1940 * t4544 * t890 + 0.3e1 * t198 * t4349 * t765 + 0.3e1 * t2832 * t4552 * t775 + 0.6e1 * t4547 * t4548 * t775 + 0.3e1 * t2832 * t4556 - t2606 + t2622 + t2626 - t4327 + t4330 + t4333 + t4440 - t4443 + t4445 - t4448; + const double t4560 = t4326 + t4559; + const double t4567 = t265 * t2; + const double t4568 = t4567 * t580; + const double t4571 = t689 * t1593; + const double t4573 = t2852 * t1469; + const double t4574 = t4573 * t606; + const double t4575 = t2850 * t4574; + const double t4576 = t128 * t4575; + const double t4578 = t2857 * t1469; + const double t4579 = t4578 * t606; + const double t4580 = t904 * t4579; + const double t4581 = t128 * t4580; + const double t4583 = t905 * t4186; + const double t4584 = t904 * t4583; + const double t4585 = t128 * t4584; + const double t4587 = t2847 + 0.5936111111111111111e-2 * t2848 + 0.5936111111111111111e-2 * t4571 - 0.11872222222222222222e-1 * t4576 + 0.35616666666666666666e-1 * t4581 - 0.17808333333333333333e-1 * t4585; + const double t4589 = 0.621814e-1 * t4587 * t291; + const double t4590 = t1596 * t914; + const double t4592 = 0.1e1 * t4590 * t936; + const double t4594 = 0.1e1 * t2869 * t1610; + const double t4595 = t1610 * t934; + const double t4597 = 0.2e1 * t2874 * t4595; + const double t4598 = t2880 * t1600; + const double t4599 = t4598 * t918; + const double t4606 = t2884 + t2848 / 0.9e1 + t4571 / 0.9e1 - 0.2e1 / 0.9e1 * t4576 + 0.2e1 / 0.3e1 * t4581 - t4585 / 0.3e1; + const double t4607 = t916 * t4606; + const double t4614 = t2897 * t1600; + const double t4615 = t4614 * t918; + const double t4617 = t923 * t4606; + const double t4620 = t698 * t1606; + const double t4622 = t2908 * t4574; + const double t4623 = t141 * t4622; + const double t4625 = t930 * t4579; + const double t4626 = t141 * t4625; + const double t4628 = t930 * t4583; + const double t4629 = t141 * t4628; + const double t4631 = -0.9494625e0 * t4599 + 0.1898925e1 * t4607 + t2892 + 0.99655555555555555557e-1 * t2848 + 0.99655555555555555557e-1 * t4571 - 0.19931111111111111111e0 * t4576 + 0.59793333333333333334e0 * t4581 - 0.29896666666666666667e0 * t4585 + 0.15358125e0 * t4615 + 0.3071625e0 * t4617 + t2905 + 0.54771111111111111111e-1 * t2906 + 0.54771111111111111111e-1 * t4620 - 0.27385555555555555556e-1 * t4623 + 0.16431333333333333333e0 * t4626 - 0.82156666666666666667e-1 * t4629; + const double t4632 = t4631 * t935; + const double t4634 = 0.1e1 * t915 * t4632; + const double t4635 = t1609 * t2926; + const double t4636 = t4635 * t934; + const double t4638 = 0.16081979498692535067e2 * t2924 * t4636; + const double t4644 = t2930 + 0.57077777777777777777e-2 * t2848 + 0.57077777777777777777e-2 * t4571 - 0.11415555555555555555e-1 * t4576 + 0.34246666666666666666e-1 * t4581 - 0.17123333333333333333e-1 * t4585; + const double t4647 = t1614 * t945; + const double t4652 = t1622 * t953; + const double t4669 = -0.17648625e1 * t4599 + 0.3529725e1 * t4607 + t2950 + 0.17215833333333333333e0 * t2848 + 0.17215833333333333333e0 * t4571 - 0.34431666666666666667e0 * t4576 + 0.103295e1 * t4581 - 0.516475e0 * t4585 + 0.31558125e0 * t4615 + 0.6311625e0 * t4617 + t2957 + 0.69463333333333333333e-1 * t2906 + 0.69463333333333333333e-1 * t4620 - 0.34731666666666666667e-1 * t4623 + 0.20839e0 * t4626 - 0.104195e0 * t4629; + const double t4670 = t4669 * t954; + const double t4673 = t1621 * t2970; + const double t4674 = t4673 * t953; + const double t4682 = t2974 + 0.30902777777777777778e-2 * t2848 + 0.30902777777777777778e-2 * t4571 - 0.61805555555555555555e-2 * t4576 + 0.18541666666666666667e-1 * t4581 - 0.92708333333333333333e-2 * t4585; + const double t4683 = t4682 * t324; + const double t4685 = t1626 * t964; + const double t4690 = t1634 * t972; + const double t4707 = -0.1294625e1 * t4599 + 0.258925e1 * t4607 + t2994 + 0.10064166666666666667e0 * t2848 + 0.10064166666666666667e0 * t4571 - 0.20128333333333333333e0 * t4576 + 0.60385e0 * t4581 - 0.301925e0 * t4585 + 0.82524375e-1 * t4615 + 0.16504875e0 * t4617 + t3001 + 0.5519e-1 * t2906 + 0.5519e-1 * t4620 - 0.27595e-1 * t4623 + 0.16557e0 * t4626 - 0.82785e-1 * t4629; + const double t4708 = t4707 * t973; + const double t4711 = t1633 * t3014; + const double t4712 = t4711 * t972; + const double t4715 = -0.310907e-1 * t4644 * t311 + 0.1e1 * t4647 * t955 + 0.1e1 * t2938 * t1622 - 0.2e1 * t2943 * t4652 + 0.1e1 * t946 * t4670 + 0.32163958997385070134e2 * t2968 * t4674 + t4589 - t4592 - t4594 + t4597 - t4634 - t4638 - 0.19751673498613801407e-1 * t4683 + 0.5848223622634646207e0 * t4685 * t974 + 0.5848223622634646207e0 * t2982 * t1634 - 0.11696447245269292414e1 * t2987 * t4690 + 0.5848223622634646207e0 * t965 * t4708 + 0.17315859105681463759e2 * t3012 * t4712; + const double t4716 = t300 * t4715; + const double t4718 = 0.19751673498613801407e-1 * t300 * t4683; + const double t4719 = t300 * t1626; + const double t4721 = 0.5848223622634646207e0 * t4719 * t983; + const double t4723 = 0.5848223622634646207e0 * t3022 * t1642; + const double t4724 = t2986 * t1633; + const double t4725 = t4724 * t974; + const double t4727 = 0.11696447245269292414e1 * t981 * t4725; + const double t4729 = t964 * t4707 * t973; + const double t4731 = 0.5848223622634646207e0 * t981 * t4729; + const double t4732 = t3011 * t1633; + const double t4733 = t3014 * t972; + const double t4734 = t4732 * t4733; + const double t4736 = 0.17315859105681463759e2 * t981 * t4734; + const double t4742 = t3037 + 0.27777777777777777778e-2 * t2848 + 0.27777777777777777778e-2 * t4571 - 0.55555555555555555555e-2 * t4576 + 0.16666666666666666667e-1 * t4581 - 0.83333333333333333333e-2 * t4585; + const double t4743 = t4742 * t341; + const double t4746 = t1646 * t993; + const double t4747 = t4746 * t378; + const double t4752 = t1647 * t378; + const double t4757 = t1651 * t999; + const double t4758 = t996 * t4757; + const double t4763 = t1651 * t1096; + const double t4764 = t1079 * t4763; + const double t4772 = t3070 + 0.4938888888888888889e-2 * t2848 + 0.4938888888888888889e-2 * t4571 - 0.9877777777777777778e-2 * t4576 + 0.29633333333333333334e-1 * t4581 - 0.14816666666666666667e-1 * t4585; + const double t4773 = t996 * t4772; + const double t4778 = t994 * t1678; + const double t4781 = t3201 * t72; + const double t4782 = t3080 * t4781; + const double t4783 = t3299 * t4782; + const double t4784 = t1668 * t3207; + const double t4785 = t3234 * t1043; + const double t4786 = t4784 * t4785; + const double t4787 = t3085 * t4786; + const double t4790 = t3317 * t4782; + const double t4791 = t1043 * t357; + const double t4792 = t4784 * t4791; + const double t4793 = t3085 * t4792; + const double t4796 = t1651 * t1043; + const double t4797 = t4796 * t1045; + const double t4798 = t3085 * t4797; + const double t4801 = t1668 * t73; + const double t4802 = t357 * t999; + const double t4803 = t4801 * t4802; + const double t4804 = t3085 * t4803; + const double t4807 = t1647 * t1032; + const double t4808 = t4807 * t1040; + const double t4811 = t1065 * t1651; + const double t4812 = t4811 * t906; + const double t4813 = t1042 * t4812; + const double t4817 = t371 * t127 * t1663; + const double t4818 = t1025 * t4817; + const double t4822 = t3173 * t2852; + const double t4823 = t4822 * t4181; + const double t4824 = t1042 * t4823; + const double t4830 = -t4589 + t4592 + t4594 - t4597 + t4634 + t4638 + t4716 + t4718 - t4721 - t4723 + t4727 - t4731 - t4736; + const double t4832 = t373 * t4830 * t1045; + const double t4833 = t1042 * t4832; + const double t4836 = t1065 * t905; + const double t4837 = t1469 * t999; + const double t4838 = t4836 * t4837; + const double t4839 = t1042 * t4838; + const double t4842 = t1065 * t2857; + const double t4843 = t4842 * t4181; + const double t4844 = t1042 * t4843; + const double t4847 = t1015 * t4186; + const double t4848 = t1012 * t4847; + const double t4853 = t140 * t1655; + const double t4854 = t1011 * t4853; + const double t4856 = t4743 * t225; + const double t4857 = t4856 * t366; + const double t4860 = t1660 * t1058; + const double t4862 = t3245 * t1670; + const double t4863 = t1041 * t4862; + const double t4867 = t1012 * t1014; + const double t4868 = t4867 * t4579; + const double t4871 = 0.21437009059034868486e-3 * t1041 * t4833 - 0.14291339372689912324e-3 * t3217 * t4839 - 0.28582678745379824648e-3 * t1063 * t4844 + t1011 * t4848 / 0.288e3 - t3128 * t1656 / 0.108e3 + t4854 / 0.864e3 + 0.21437009059034868486e-3 * t4857 * t375 + 0.14291339372689912324e-3 * t4860 + 0.14291339372689912324e-3 * t4863 - 0.11433071498151929859e-2 * t3242 * t1671 - t1011 * t4868 / 0.144e3; + const double t4873 = t1012 * t3139; + const double t4874 = t4873 * t4574; + const double t4879 = t3184 * t1592; + const double t4880 = t247 * t4879; + const double t4881 = t1063 * t4880; + const double t4883 = t4746 * t225; + const double t4884 = t4883 * t366; + const double t4889 = t373 * t4772; + const double t4891 = t371 * t372 * t4889; + const double t4894 = t3093 * t357; + const double t4895 = t1592 * t4894; + const double t4896 = t3092 * t4895; + const double t4902 = t1011 * t4874 / 0.216e3 - 0.76220476654346199061e-3 * t3181 * t1675 + 0.95275595817932748827e-4 * t4881 - 0.21437009059034868486e-3 * t4884 * t1028 - 0.21437009059034868486e-3 * t3115 * t1665 - 0.21437009059034868486e-3 * t1025 * t4891 + 0.14291339372689912324e-3 * t3091 * t4896 - 0.14291339372689912324e-3 * t3112 + t3132 / 0.864e3 + 0.14291339372689912324e-3 * t3148 - t3153; + const double t4906 = t1066 * t4583; + const double t4907 = t247 * t4906; + const double t4910 = t1659 * t1062; + const double t4913 = t3100 * t1062; + const double t4914 = t3084 * t4757; + const double t4915 = t247 * t4914; + const double t4918 = t4801 * t3095; + const double t4919 = t3092 * t4918; + const double t4923 = t1659 * t1053; + const double t4928 = -0.76220476654346199061e-3 * t3166 + 0.14291339372689912324e-3 * t3193 * t1675 + 0.14291339372689912324e-3 * t1063 * t4907 + 0.14291339372689912324e-3 * t4910 * t1068 + 0.42874018118069736972e-3 * t4913 * t4915 + 0.14291339372689912324e-3 * t3091 * t4919 + 0.95275595817932748827e-4 * t3187 - 0.11433071498151929859e-2 * t4923 * t375 + 0.14291339372689912324e-3 * t3247 - t3252 / 0.108e3 - t3257; + const double t4930 = 0.42874018118069736972e-3 * t4783 * t4787 - 0.21437009059034868486e-3 * t4790 * t4793 - 0.21437009059034868486e-3 * t3083 * t4798 - 0.21437009059034868486e-3 * t3083 * t4804 + 0.21437009059034868486e-3 * t4808 * t1047 - 0.14291339372689912324e-3 * t3217 * t4813 - 0.14291339372689912324e-3 * t4818 + 0.11433071498151929859e-2 * t3107 * t1665 + 0.23818898954483187207e-3 * t1063 * t4824 + 0.21437009059034868486e-3 * t3214 * t1671 + t4871 + t4902 + t4928; + const double t4932 = t4930 * t225 * t385; + const double t4935 = t342 * t1678; + const double t4940 = t1695 * t999; + const double t4941 = t1079 * t4940; + const double t4946 = t1695 * t1096; + const double t4947 = t3269 * t4946; + const double t4954 = t1647 * t1086; + const double t4961 = t1082 * t4757; + const double t4964 = t4796 * t1089; + const double t4967 = t3291 * t1651; + const double t4970 = t1082 * t4772; + const double t4975 = t354 * t357; + const double t4976 = t4975 * t999; + const double t4977 = t4801 * t4976; + const double t4980 = t3298 * t378; + const double t4981 = t342 * t4980; + const double t4982 = t3302 * t3234; + const double t4983 = t4982 * t1043; + const double t4984 = t4784 * t4983; + const double t4988 = t1071 * t1668 * t1089; + const double t4992 = t378 * t4830 * t1089; + const double t4995 = t3316 * t378; + const double t4996 = t342 * t4995; + const double t4997 = t3302 * t1043; + const double t4998 = t4997 * t357; + const double t4999 = t4784 * t4998; + const double t5004 = t359 * t1678; + const double t5005 = t5004 * t999; + const double t5009 = t1678 * t1043 * t1089; + const double t5012 = t380 * t4930; + const double t5015 = 0.65854491829355115987e0 * t4743 * t381 - 0.65854491829355115987e0 * t4883 * t1083 + 0.65854491829355115987e0 * t4954 * t1090 + 0.65854491829355115987e0 * t1647 * t1093 - 0.65854491829355115987e0 * t3114 * t1685 + 0.13170898365871023197e1 * t3100 * t4961 - 0.65854491829355115987e0 * t3287 * t4964 - 0.65854491829355115987e0 * t1024 * t4967 - 0.65854491829355115987e0 * t1024 * t4970 + 0.65854491829355115987e0 * t3278 * t1689 - 0.65854491829355115987e0 * t3287 * t4977 + 0.13170898365871023197e1 * t4981 * t4984 + 0.65854491829355115987e0 * t1087 * t4988 + 0.65854491829355115987e0 * t1087 * t4992 - 0.65854491829355115987e0 * t4996 * t4999 + 0.65854491829355115987e0 * t989 * t1692 - 0.65854491829355115987e0 * t1024 * t5005 + 0.65854491829355115987e0 * t1087 * t5009 + 0.65854491829355115987e0 * t342 * t5012; + const double t5016 = t1079 * t5015; + const double t5019 = 0.65854491829355115987e0 * t4743 * t386 - 0.65854491829355115987e0 * t4747 * t1000 + 0.65854491829355115987e0 * t1647 * t1073 - 0.65854491829355115987e0 * t4752 * t1097 - 0.65854491829355115987e0 * t3047 * t1652 + 0.13170898365871023197e1 * t3058 * t4758 - 0.65854491829355115987e0 * t3063 * t1652 + 0.65854491829355115987e0 * t995 * t4764 - 0.65854491829355115987e0 * t995 * t4773 + 0.65854491829355115987e0 * t989 * t1680 - 0.65854491829355115987e0 * t4778 * t1000 + 0.65854491829355115987e0 * t342 * t4932 - 0.65854491829355115987e0 * t4935 * t1097 - 0.65854491829355115987e0 * t3052 * t1696 + 0.65854491829355115987e0 * t995 * t4941 - 0.65854491829355115987e0 * t3264 * t1696 + 0.13170898365871023197e1 * t1076 * t4947 - 0.65854491829355115987e0 * t1076 * t5016; + const double t5023 = t198 * t336; + const double t5024 = t1699 * t3336; + const double t5027 = t1102 * t198 * t336 * t5019 - t1100 * t5023 * t5024 - t4589 + t4592 + t4594 - t4597 + t4634 + t4638 + t4716 + t4718 - t4721 - t4723 + t4727 - t4731 - t4736; + const double t5028 = piecewise_functor_3( t394, t5027, t4560 ); + const double t5035 = piecewise_functor_3( t120, t4560 * t30 / 0.2e1 + t1587 * t605 / 0.2e1 + t895 * t1468 / 0.2e1 + t4568, t1106 * t1469 / 0.2e1 + t1704 * t606 / 0.2e1 + t395 * t4186 / 0.2e1 + t5028 * t45 / 0.2e1 ); + const double t5044 = t689 * t1716; + const double t5046 = t3362 * t1469; + const double t5047 = t5046 * t606; + const double t5048 = t3360 * t5047; + const double t5049 = t128 * t5048; + const double t5051 = t3367 * t1469; + const double t5052 = t5051 * t606; + const double t5053 = t1120 * t5052; + const double t5054 = t128 * t5053; + const double t5056 = t1121 * t4186; + const double t5057 = t1120 * t5056; + const double t5058 = t128 * t5057; + const double t5060 = t3357 - 0.5936111111111111111e-2 * t3358 - 0.5936111111111111111e-2 * t5044 - 0.11872222222222222222e-1 * t5049 + 0.35616666666666666666e-1 * t5054 + 0.17808333333333333333e-1 * t5058; + const double t5062 = 0.621814e-1 * t5060 * t422; + const double t5063 = t1719 * t1130; + const double t5065 = 0.1e1 * t5063 * t1151; + const double t5067 = 0.1e1 * t3379 * t1733; + const double t5068 = t1733 * t1149; + const double t5070 = 0.2e1 * t3384 * t5068; + const double t5071 = t3390 * t1723; + const double t5072 = t5071 * t1134; + const double t5079 = t3394 - t3358 / 0.9e1 - t5044 / 0.9e1 - 0.2e1 / 0.9e1 * t5049 + 0.2e1 / 0.3e1 * t5054 + t5058 / 0.3e1; + const double t5080 = t1132 * t5079; + const double t5087 = t3407 * t1723; + const double t5088 = t5087 * t1134; + const double t5090 = t1139 * t5079; + const double t5093 = t698 * t1729; + const double t5095 = t3417 * t5047; + const double t5096 = t141 * t5095; + const double t5098 = t1145 * t5052; + const double t5099 = t141 * t5098; + const double t5101 = t1145 * t5056; + const double t5102 = t141 * t5101; + const double t5104 = -0.9494625e0 * t5072 + 0.1898925e1 * t5080 + t3402 - 0.99655555555555555557e-1 * t3358 - 0.99655555555555555557e-1 * t5044 - 0.19931111111111111111e0 * t5049 + 0.59793333333333333334e0 * t5054 + 0.29896666666666666667e0 * t5058 + 0.15358125e0 * t5088 + 0.3071625e0 * t5090 + t3414 - 0.54771111111111111111e-1 * t3415 - 0.54771111111111111111e-1 * t5093 - 0.27385555555555555556e-1 * t5096 + 0.16431333333333333333e0 * t5099 + 0.82156666666666666667e-1 * t5102; + const double t5105 = t5104 * t1150; + const double t5107 = 0.1e1 * t1131 * t5105; + const double t5108 = t1732 * t3435; + const double t5109 = t5108 * t1149; + const double t5111 = 0.16081979498692535067e2 * t3433 * t5109; + const double t5117 = t3439 - 0.57077777777777777777e-2 * t3358 - 0.57077777777777777777e-2 * t5044 - 0.11415555555555555555e-1 * t5049 + 0.34246666666666666666e-1 * t5054 + 0.17123333333333333333e-1 * t5058; + const double t5120 = t1737 * t1160; + const double t5125 = t1745 * t1168; + const double t5142 = -0.17648625e1 * t5072 + 0.3529725e1 * t5080 + t3459 - 0.17215833333333333333e0 * t3358 - 0.17215833333333333333e0 * t5044 - 0.34431666666666666667e0 * t5049 + 0.103295e1 * t5054 + 0.516475e0 * t5058 + 0.31558125e0 * t5088 + 0.6311625e0 * t5090 + t3466 - 0.69463333333333333333e-1 * t3415 - 0.69463333333333333333e-1 * t5093 - 0.34731666666666666667e-1 * t5096 + 0.20839e0 * t5099 + 0.104195e0 * t5102; + const double t5143 = t5142 * t1169; + const double t5146 = t1744 * t3479; + const double t5147 = t5146 * t1168; + const double t5155 = t3483 - 0.30902777777777777778e-2 * t3358 - 0.30902777777777777778e-2 * t5044 - 0.61805555555555555555e-2 * t5049 + 0.18541666666666666667e-1 * t5054 + 0.92708333333333333333e-2 * t5058; + const double t5156 = t5155 * t448; + const double t5158 = t1749 * t1179; + const double t5163 = t1757 * t1187; + const double t5180 = -0.1294625e1 * t5072 + 0.258925e1 * t5080 + t3503 - 0.10064166666666666667e0 * t3358 - 0.10064166666666666667e0 * t5044 - 0.20128333333333333333e0 * t5049 + 0.60385e0 * t5054 + 0.301925e0 * t5058 + 0.82524375e-1 * t5088 + 0.16504875e0 * t5090 + t3510 - 0.5519e-1 * t3415 - 0.5519e-1 * t5093 - 0.27595e-1 * t5096 + 0.16557e0 * t5099 + 0.82785e-1 * t5102; + const double t5181 = t5180 * t1188; + const double t5184 = t1756 * t3523; + const double t5185 = t5184 * t1187; + const double t5188 = -0.310907e-1 * t5117 * t435 + 0.1e1 * t5120 * t1170 + 0.1e1 * t3447 * t1745 - 0.2e1 * t3452 * t5125 + 0.1e1 * t1161 * t5143 + 0.32163958997385070134e2 * t3477 * t5147 + t5062 - t5065 - t5067 + t5070 - t5107 - t5111 - 0.19751673498613801407e-1 * t5156 + 0.5848223622634646207e0 * t5158 * t1189 + 0.5848223622634646207e0 * t3491 * t1757 - 0.11696447245269292414e1 * t3496 * t5163 + 0.5848223622634646207e0 * t1180 * t5181 + 0.17315859105681463759e2 * t3521 * t5185; + const double t5189 = t300 * t5188; + const double t5191 = 0.19751673498613801407e-1 * t300 * t5156; + const double t5192 = t300 * t1749; + const double t5194 = 0.5848223622634646207e0 * t5192 * t1198; + const double t5196 = 0.5848223622634646207e0 * t3531 * t1765; + const double t5197 = t3495 * t1756; + const double t5198 = t5197 * t1189; + const double t5200 = 0.11696447245269292414e1 * t1196 * t5198; + const double t5202 = t1179 * t5180 * t1188; + const double t5204 = 0.5848223622634646207e0 * t1196 * t5202; + const double t5205 = t3520 * t1756; + const double t5206 = t3523 * t1187; + const double t5207 = t5205 * t5206; + const double t5209 = 0.17315859105681463759e2 * t1196 * t5207; + const double t5215 = t3546 - 0.27777777777777777778e-2 * t3358 - 0.27777777777777777778e-2 * t5044 - 0.55555555555555555555e-2 * t5049 + 0.16666666666666666667e-1 * t5054 + 0.83333333333333333333e-2 * t5058; + const double t5216 = t5215 * t459; + const double t5219 = t1769 * t1208; + const double t5220 = t5219 * t487; + const double t5225 = t1770 * t487; + const double t5230 = t1774 * t1214; + const double t5231 = t1211 * t5230; + const double t5236 = t1774 * t1294; + const double t5237 = t1277 * t5236; + const double t5245 = t3579 - 0.4938888888888888889e-2 * t3358 - 0.4938888888888888889e-2 * t5044 - 0.9877777777777777778e-2 * t5049 + 0.29633333333333333334e-1 * t5054 + 0.14816666666666666667e-1 * t5058; + const double t5246 = t1211 * t5245; + const double t5251 = t1209 * t1811; + const double t5254 = t5216 * t225; + const double t5255 = t5254 * t480; + const double t5258 = t1230 * t1803; + const double t5261 = t1786 * t1256; + const double t5263 = t1804 * t1256; + const double t5267 = t371 * t127 * t1789; + const double t5268 = t1235 * t5267; + const double t5270 = t1770 * t1032; + const double t5271 = t5270 * t1246; + const double t5274 = t3669 * t3362; + const double t5275 = t5274 * t4181; + const double t5276 = t1042 * t5275; + const double t5280 = t140 * t1781; + const double t5281 = t1222 * t5280; + const double t5284 = t1480 * t1010; + const double t5287 = t1225 * t4186; + const double t5288 = t1012 * t5287; + const double t5291 = t1012 * t3625; + const double t5292 = t5291 * t5047; + const double t5295 = t1012 * t1224; + const double t5296 = t5295 * t5052; + const double t5299 = t1794 * t73; + const double t5300 = t5299 * t3644; + const double t5301 = t3641 * t5300; + const double t5305 = t1778 * t1219; + const double t5307 = t3611 * t1715; + const double t5308 = t247 * t5307; + const double t5309 = t1261 * t5308; + const double t5311 = t3245 * t1796; + const double t5312 = t1247 * t5311; + const double t5314 = t1263 * t3367; + const double t5315 = t5314 * t4181; + const double t5316 = t1042 * t5315; + const double t5319 = t1263 * t1774; + const double t5320 = t5319 * t1122; + const double t5321 = t1042 * t5320; + const double t5324 = t5284 * t1227 / 0.108e3 - t1222 * t5288 / 0.288e3 + t1222 * t5292 / 0.216e3 - t1222 * t5296 / 0.144e3 - 0.14291339372689912324e-3 * t3640 * t5301 + 0.14291339372689912324e-3 * t3632 - t5305 / 0.108e3 - 0.95275595817932748827e-4 * t5309 + 0.14291339372689912324e-3 * t5312 - 0.28582678745379824648e-3 * t1261 * t5316 + 0.14291339372689912324e-3 * t3694 * t5321; + const double t5326 = t5219 * t225; + const double t5327 = t5326 * t480; + const double t5332 = t482 * t5245; + const double t5334 = t371 * t372 * t5332; + const double t5337 = t1234 * t1803; + const double t5340 = t1802 * t369; + const double t5341 = t475 * t5340; + const double t5342 = t467 * t5341; + const double t5347 = t1264 * t5056; + const double t5348 = t247 * t5347; + const double t5351 = t3601 * t4781; + const double t5352 = t3767 * t5351; + const double t5353 = t1794 * t3207; + const double t5354 = t3709 * t1248; + const double t5355 = t5353 * t5354; + const double t5356 = t3605 * t5355; + const double t5359 = t3782 * t5351; + const double t5360 = t1248 * t471; + const double t5361 = t5353 * t5360; + const double t5362 = t3605 * t5361; + const double t5365 = t471 * t1214; + const double t5366 = t5299 * t5365; + const double t5367 = t3605 * t5366; + const double t5370 = t1774 * t1248; + const double t5371 = t5370 * t1250; + const double t5372 = t3605 * t5371; + const double t5375 = -0.21437009059034868486e-3 * t5327 * t1238 - 0.21437009059034868486e-3 * t3681 * t1791 - 0.21437009059034868486e-3 * t1235 * t5334 + 0.11433071498151929859e-2 * t5337 * t1238 + 0.7622047665434619906e-3 * t5342 * t1266 - 0.14291339372689912324e-3 * t3649 * t1808 - 0.14291339372689912324e-3 * t1261 * t5348 + 0.42874018118069736972e-3 * t5352 * t5356 - 0.21437009059034868486e-3 * t5359 * t5362 - 0.21437009059034868486e-3 * t3603 * t5367 - 0.21437009059034868486e-3 * t3603 * t5372; + const double t5376 = t1785 * t1260; + const double t5379 = t3719 * t1260; + const double t5380 = t3604 * t5230; + const double t5381 = t247 * t5380; + const double t5384 = t3642 * t471; + const double t5385 = t1715 * t5384; + const double t5386 = t3641 * t5385; + const double t5393 = -t5062 + t5065 + t5067 - t5070 + t5107 + t5111 + t5189 + t5191 - t5194 - t5196 + t5200 - t5204 - t5209; + const double t5395 = t482 * t5393 * t1250; + const double t5396 = t1042 * t5395; + const double t5399 = t1802 * t1038; + const double t5400 = t1244 * t5399; + const double t5401 = t1241 * t5400; + const double t5404 = t1263 * t1121; + const double t5405 = t1469 * t1214; + const double t5406 = t5404 * t5405; + const double t5407 = t1042 * t5406; + const double t5410 = -0.14291339372689912324e-3 * t5376 * t1266 + 0.42874018118069736972e-3 * t5379 * t5381 - 0.14291339372689912324e-3 * t3640 * t5386 - t3691 + 0.14291339372689912324e-3 * t3692 - t3703 - 0.14291339372689912324e-3 * t3717 + 0.21437009059034868486e-3 * t3665 * t1797 + 0.21437009059034868486e-3 * t1247 * t5396 - 0.11433071498151929859e-2 * t5401 * t1252 + 0.14291339372689912324e-3 * t3694 * t5407; + const double t5412 = 0.21437009059034868486e-3 * t5255 * t484 - 0.11433071498151929859e-2 * t5258 * t484 + 0.14291339372689912324e-3 * t5261 - 0.7622047665434619906e-3 * t5263 - t3589 / 0.864e3 - 0.14291339372689912324e-3 * t5268 + 0.21437009059034868486e-3 * t5271 * t1252 + 0.23818898954483187207e-3 * t1261 * t5276 - 0.95275595817932748827e-4 * t3614 - t5281 / 0.864e3 + t5324 + t5375 + t5410; + const double t5414 = t5412 * t225 * t494; + const double t5417 = t460 * t1811; + const double t5422 = t1828 * t1214; + const double t5423 = t1277 * t5422; + const double t5428 = t1828 * t1294; + const double t5429 = t3737 * t5428; + const double t5436 = t1770 * t1284; + const double t5443 = t1280 * t5230; + const double t5446 = t5370 * t1287; + const double t5449 = t3759 * t1774; + const double t5452 = t1280 * t5245; + const double t5457 = t354 * t471; + const double t5458 = t5457 * t1214; + const double t5459 = t5299 * t5458; + const double t5462 = t3766 * t487; + const double t5463 = t460 * t5462; + const double t5464 = t3302 * t3709; + const double t5465 = t5464 * t1248; + const double t5466 = t5353 * t5465; + const double t5470 = t1269 * t1794 * t1287; + const double t5474 = t487 * t5393 * t1287; + const double t5477 = t3781 * t487; + const double t5478 = t460 * t5477; + const double t5479 = t3302 * t1248; + const double t5480 = t5479 * t471; + const double t5481 = t5353 * t5480; + const double t5486 = t473 * t1811; + const double t5487 = t5486 * t1214; + const double t5491 = t1811 * t1248 * t1287; + const double t5494 = t489 * t5412; + const double t5497 = 0.65854491829355115987e0 * t5216 * t490 - 0.65854491829355115987e0 * t5326 * t1281 + 0.65854491829355115987e0 * t5436 * t1288 + 0.65854491829355115987e0 * t1770 * t1291 - 0.65854491829355115987e0 * t3680 * t1818 + 0.13170898365871023197e1 * t3719 * t5443 - 0.65854491829355115987e0 * t3755 * t5446 - 0.65854491829355115987e0 * t1234 * t5449 - 0.65854491829355115987e0 * t1234 * t5452 + 0.65854491829355115987e0 * t3746 * t1822 - 0.65854491829355115987e0 * t3755 * t5459 + 0.13170898365871023197e1 * t5463 * t5466 + 0.65854491829355115987e0 * t1285 * t5470 + 0.65854491829355115987e0 * t1285 * t5474 - 0.65854491829355115987e0 * t5478 * t5481 + 0.65854491829355115987e0 * t1204 * t1825 - 0.65854491829355115987e0 * t1234 * t5487 + 0.65854491829355115987e0 * t1285 * t5491 + 0.65854491829355115987e0 * t460 * t5494; + const double t5498 = t1277 * t5497; + const double t5501 = 0.65854491829355115987e0 * t5216 * t495 - 0.65854491829355115987e0 * t5220 * t1215 + 0.65854491829355115987e0 * t1770 * t1271 - 0.65854491829355115987e0 * t5225 * t1295 - 0.65854491829355115987e0 * t3556 * t1775 + 0.13170898365871023197e1 * t3567 * t5231 - 0.65854491829355115987e0 * t3572 * t1775 + 0.65854491829355115987e0 * t1210 * t5237 - 0.65854491829355115987e0 * t1210 * t5246 + 0.65854491829355115987e0 * t1204 * t1813 - 0.65854491829355115987e0 * t5251 * t1215 + 0.65854491829355115987e0 * t460 * t5414 - 0.65854491829355115987e0 * t5417 * t1295 - 0.65854491829355115987e0 * t3561 * t1829 + 0.65854491829355115987e0 * t1210 * t5423 - 0.65854491829355115987e0 * t3732 * t1829 + 0.13170898365871023197e1 * t1274 * t5429 - 0.65854491829355115987e0 * t1274 * t5498; + const double t5505 = t1832 * t3801; + const double t5508 = t1300 * t198 * t336 * t5501 - t1298 * t5023 * t5505 - t5062 + t5065 + t5067 - t5070 + t5107 + t5111 + t5189 + t5191 - t5194 - t5196 + t5200 - t5204 - t5209; + const double t5509 = piecewise_functor_3( t503, t5508, t4560 ); + const double t5516 = piecewise_functor_3( t400, t4560 * t33 / 0.2e1 + t1587 * t1113 / 0.2e1 + t895 * t1711 / 0.2e1 - t4568, -t1304 * t1469 / 0.2e1 - t1837 * t606 / 0.2e1 - t504 * t4186 / 0.2e1 + t5509 * t57 / 0.2e1 ); + const double t5517 = t5035 + t5516; + const double t5523 = t93 * t670; + const double t5528 = 0.2e1 * t1312 * t4292 + 0.2e1 * t1518 * t2322 + 0.2e1 * t1518 * t5523 + 0.2e1 * t4248 * t670 + t4246; + const double t5532 = 0.18311447306006545054e-3 * t3826; + const double t5533 = t1317 * t1857; + const double t5534 = 0.4e1 * t5533; + const double t5535 = t1320 * t1857; + const double t5536 = 0.4e1 * t5535; + const double t5537 = t3830 * t1468; + const double t5540 = t513 * t2; + const double t5544 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t5537 * t605 + 0.8e1 / 0.3e1 * t5540 * t580 ); + const double t5545 = t3838 * t1711; + const double t5548 = t516 * t2; + const double t5552 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t5545 * t1113 - 0.8e1 / 0.3e1 * t5548 * t580 ); + const double t5554 = ( t5544 + t5552 ) * t162; + const double t5556 = 0.19751673498613801407e-1 * t5554 * t187; + const double t5557 = t5554 * t189; + const double t5558 = t512 * t5557; + const double t5559 = t1856 * t749; + const double t5560 = t512 * t5559; + const double t5561 = t3882 * t1468; + const double t5564 = t1344 * t2; + const double t5568 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t5561 * t605 + 0.4e1 / 0.3e1 * t5564 * t580 ); + const double t5569 = t3889 * t1711; + const double t5572 = t1348 * t2; + const double t5576 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t5569 * t1113 - 0.4e1 / 0.3e1 * t5572 * t580 ); + const double t5578 = t5568 / 0.2e1 + t5576 / 0.2e1; + const double t5586 = t212 * t1892; + const double t5587 = t5586 * t1358; + const double t5588 = t689 * t5587; + const double t5590 = t786 * t1893; + const double t5591 = t5590 * t1364; + const double t5593 = t1413 * t1868; + const double t5594 = t547 * t5593; + const double t5595 = t807 * t5594; + const double t5598 = t3954 * t221 * t1868; + const double t5599 = t3953 * t5598; + const double t5601 = t4046 * t1889; + const double t5603 = t1868 * t1353; + const double t5605 = t3962 * t828 * t5603; + const double t5609 = t820 * t4025 * t241; + const double t5610 = t550 * t72; + const double t5611 = t5610 * t245; + const double t5612 = t125 * t1882; + const double t5613 = t4029 * t1398; + const double t5614 = t5612 * t5613; + const double t5615 = t5611 * t5614; + const double t5618 = t550 * t1882; + const double t5619 = t5618 * t543; + const double t5620 = t3942 * t5619; + const double t5621 = t2688 * t5620; + const double t5624 = t1414 * t828 * t5578; + const double t5629 = t4014 * t1873; + const double t5631 = 0.28582678745379824648e-4 * t5595 - 0.50820002809285328225e-4 * t5599 + 0.40015750243531754507e-2 * t5601 + 0.42874018118069736972e-2 * t1410 * t5605 + 0.42874018118069736972e-3 * t5609 * t5615 + 0.71456696863449561619e-5 * t5621 - 0.85748036236139473944e-3 * t1410 * t5624 - t3933 + t3941 + 0.7e1 / 0.144e3 * t4015 - t3951 + 0.28582678745379824648e-4 * t4021 + t4044 + 0.7e1 / 0.144e3 * t5629; + const double t5632 = t124 * t5578; + const double t5633 = t800 * t5632; + const double t5637 = t5612 * t1399; + const double t5638 = t5611 * t5637; + const double t5641 = t125 * t1868; + const double t5642 = t5641 * t1399; + const double t5643 = t4060 * t5642; + const double t5646 = t5612 * t4062; + const double t5647 = t4060 * t5646; + const double t5651 = t800 * t1872 * t1353; + const double t5655 = t1856 * t177; + const double t5656 = t5655 * t762; + const double t5657 = 0.5848223622634646207e0 * t5656; + const double t5658 = -t5532 + t3829 + t5534 - t5536 + t5556 - t2427 + t5558 + t5560 - t2431 - t2438 + t2448 + t2456 - t5657; + const double t5659 = t1856 * t72; + const double t5660 = t5659 * t757; + const double t5661 = 0.18311447306006545054e-3 * t5660; + const double t5662 = 0.4e1 * t3853; + const double t5663 = 0.4e1 * t3874; + const double t5664 = 0.5848223622634646207e0 * t3975; + const double t5665 = -t5661 + t3851 - t5662 + t3857 - t3860 - t3873 - t5663 + t3984 + t3982 + t3969 - t3971 - t3973 - t5664; + const double t5667 = ( t5658 + t5665 ) * t225; + const double t5673 = t539 * t73; + const double t5674 = t1412 * t1868; + const double t5675 = t5674 * t1353; + const double t5678 = t1394 * t5578; + const double t5681 = 0.3e1 * t1392 * t1879 + 0.3e1 * t1395 * t1877 + 0.3e1 * t539 * t5678 - t541 * t5667 - 0.12e2 * t5673 * t5675; + const double t5682 = t5681 * t543; + const double t5684 = t1390 * t828 * t5682; + const double t5688 = t4006 * t221 * t1883; + const double t5689 = t4005 * t5688; + const double t5691 = t4054 * t1885; + const double t5696 = -t1370 * t5633 / 0.48e2 - 0.12705000702321332056e-4 * t4009 - 0.21437009059034868486e-3 * t4058 * t5638 + 0.85748036236139473944e-3 * t4058 * t5643 + 0.85748036236139473944e-3 * t4058 * t5647 + t4036 * t5651 / 0.16e2 + 0.10003937560882938627e-2 * t4055 - 0.21437009059034868486e-3 * t1388 * t5684 - 0.12705000702321332056e-4 * t5689 + 0.10003937560882938627e-2 * t5691 + t4018 + 0.71456696863449561619e-5 * t3946 - 0.50820002809285328224e-4 * t3957 + 0.40015750243531754508e-2 * t4047 + t4012; + const double t5697 = t5631 + t5696; + const double t5698 = t5697 * t225; + const double t5702 = t213 * t1892; + const double t5705 = t1357 * t1904; + const double t5706 = t689 * t5705; + const double t5708 = t1903 * t72; + const double t5709 = t5708 * t686; + const double t5710 = t3923 * t5709; + const double t5714 = t1903 * t1444; + const double t5715 = t4083 * t5714; + const double t5722 = t555 * t1882; + const double t5724 = t4093 * t5722 * t543; + const double t5725 = t2773 * t5724; + const double t5727 = t1883 * t72; + const double t5728 = t5727 * t686; + const double t5729 = t4108 * t5728; + const double t5731 = t225 * t4024; + const double t5732 = t213 * t5731; + const double t5742 = t213 * t4093; + const double t5746 = t545 * t1892; + const double t5747 = t869 * t5746; + const double t5748 = t689 * t5747; + const double t5750 = t1892 * t72; + const double t5752 = t1432 * t5750 * t686; + const double t5754 = t1385 * t1892; + const double t5761 = t4089 - t4092 + 0.54878743191129263322e-2 * t4097 - 0.54878743191129263322e-2 * t4101 + t4106 - 0.9757440539382783019e-2 * t4112 + 0.9757440539382783019e-2 * t4116 - t4120 + 0.54878743191129263322e-2 * t5725 - 0.9757440539382783019e-2 * t5729 + 0.13170898365871023197e1 * t5732 * t5722 * t5613 - 0.65854491829355115987e0 * t820 * t4125 * t1883 - 0.65854491829355115987e0 * t820 * t1437 * t5682 - 0.65854491829355115987e0 * t5742 * t5722 * t1399 - 0.54878743191129263322e-2 * t5748 + 0.9757440539382783019e-2 * t5752 - 0.65854491829355115987e0 * t820 * t5754 * t1399 + 0.65854491829355115987e0 * t213 * t546 * t5697; + const double t5762 = t1427 * t5761; + const double t5765 = t3902 - t3906 - 0.54878743191129263322e-2 * t3909 + 0.54878743191129263322e-2 * t3912 + t3918 + 0.9757440539382783019e-2 * t3920 - 0.9757440539382783019e-2 * t3926 - t3930 - 0.54878743191129263322e-2 * t5588 + 0.9757440539382783019e-2 * t5591 + 0.65854491829355115987e0 * t213 * t5698 * t561 - 0.65854491829355115987e0 * t5702 * t1445 + 0.54878743191129263322e-2 * t5706 - 0.9757440539382783019e-2 * t5710 - 0.65854491829355115987e0 * t4078 * t1904 + 0.13170898365871023197e1 * t1424 * t5715 - 0.65854491829355115987e0 * t1424 * t5762; + const double t5769 = t3868 * t1868; + const double t5772 = t1907 * t1450; + const double t5776 = t1450 * t198 * t532 * t5765 + 0.3e1 * t1343 * t198 * t5578 + 0.3e1 * t1353 * t3867 * t5772 + 0.3e1 * t3867 * t5769 - t2427 - t2431 - t2438 + t2448 + t2456 + t3829 - t5532 + t5534 - t5536 + t5556 + t5558 + t5560; + const double t5777 = t198 * t532; + const double t5778 = t1907 * t3879; + const double t5781 = t198 * t530; + const double t5782 = t566 * t1868; + const double t5786 = 0.6e1 * t1353 * t5781 * t5782 - t1448 * t5777 * t5778 + t3851 + t3857 - t3860 - t3873 + t3969 - t3971 - t3973 + t3982 + t3984 - t5657 - t5661 - t5662 - t5663 - t5664; + const double t5787 = t5776 + t5786; + const double t5789 = -t118 * t5517 - t1310 * t1502 + t1315 * t1911 + t1453 * t1847 - 0.2e1 * t1519 * t2322 - 0.2e1 * t1519 * t4254 - t1843 * t649 - t4246 * t508 - 0.2e1 * t4248 * t671 - 0.2e1 * t4257 * t651 - 0.2e1 * t4293 * t651 - 0.2e1 * t4297 * t651 + t511 * t5787 + t5528 * t569; + const double t5790 = t3 * t5789; + const double t5793 = t571 * t1921; + const double t5795 = d * t5789; + const double t5801 = t116 * t1518; + const double t5802 = t5801 * t670; + const double t5805 = t117 * t4292; + const double t5808 = 0.3e1 * t1459 * t1918 + 0.3e1 * t1461 * t1916 + 0.6e1 * t572 * t5802 + 0.3e1 * t572 * t5805 + t573 * t5795; + const double t5812 = t2219 + t2221 + t2223 + t2226 + t2228 + t2230 + t2233 + t2235 + t2239; + const double t5816 = t1497 * t1497; + const double t5819 = t1469 * t1469; + const double t5820 = t5819 * t70; + const double t5823 = t17 + t2255; + const double t5824 = 0.2e1 * t5823; + const double t5825 = piecewise_functor_5( t31, 0.0, t34, 0.0, t5824 ); + const double t5826 = t36 * t5825; + const double t5827 = t5826 * t70; + const double t5830 = t1470 * t1486; + const double t5835 = t2275 * t5819; + const double t5838 = t48 * t5825; + const double t5842 = 0.1e1 / t53 / t476; + const double t5843 = sigma_bb * t5842; + const double t5848 = t2282 * t5819; + const double t5851 = t60 * t5825; + const double t5854 = 0.5e1 / 0.18e2 * t44 * t5835 + 0.5e1 / 0.6e1 * t44 * t5838 + 0.88e2 / 0.9e1 * t5843 * t61 + 0.4e2 / 0.9e1 * t1480 * t1483 + 0.5e1 / 0.18e2 * t56 * t5848 - 0.5e1 / 0.6e1 * t56 * t5851 - t2290; + const double t5855 = t38 * t5854; + const double t5860 = t2299 * t5819; + const double t5862 = t633 * t5825; + const double t5864 = t2306 * t5819; + const double t5866 = t637 * t5825; + const double t5868 = 0.28e2 / 0.9e1 * t5860 - 0.4e1 / 0.3e1 * t5862 + 0.28e2 / 0.9e1 * t5864 + 0.4e1 / 0.3e1 * t5866; + const double t5869 = t77 * t5868; + const double t5872 = -t5820 * t85 / 0.12e2 - t5827 * t85 / 0.12e2 - t5830 * t85 / 0.6e1 - t1471 * t1494 / 0.6e1 + t5855 * t85 / 0.24e2 + t1487 * t1494 / 0.12e2 + t71 * t5869 / 0.24e2; + const double t5876 = piecewise_functor_3( t8, 0.0, -0.8e1 * t1497 * t4173 + 0.2e2 * t2247 * t5816 + t5812 * t91 - 0.4e1 * t5872 * t603 ); + const double t5877 = t5876 * t117; + const double t5883 = t1518 * t1518; + const double t5884 = t94 * t5883; + const double t5887 = t1843 * t1518; + const double t5891 = t1513 * t1513; + const double t5892 = t2339 * t5891; + const double t5895 = t1504 * t1504; + const double t5896 = t2349 * t5895; + const double t5899 = t100 * t5823; + const double t5902 = tau_b * t1479; + const double t5907 = t1509 * t1509; + const double t5908 = t2357 * t5907; + const double t5911 = -t5823; + const double t5912 = t108 * t5911; + const double t5915 = 0.1e2 / 0.9e1 * t97 * t5896 + 0.5e1 / 0.3e1 * t97 * t5899 + 0.4e2 / 0.9e1 * t5902 * t109 - 0.5e2 / 0.9e1 * t1507 * t1510 + 0.1e2 / 0.9e1 * t105 * t5908 + 0.5e1 / 0.3e1 * t105 * t5912; + const double t5916 = t655 * t5915; + const double t5920 = piecewise_functor_3( t115, 0.0, t2335 + 0.2e1 / 0.3e1 * t4261 + t69 * t5892 / 0.4e1 - t69 * t5916 / 0.8e1 ); + const double t5921 = t508 * t5920; + const double t5924 = 0.2e1 * t4320; + const double t5925 = t4552 * t1544; + const double t5928 = 0.8e1 * t4324; + const double t5929 = t1544 * t1544; + const double t5933 = t1583 * t1583; + const double t5937 = -t198 * t207 * t2495 * t5933 + 0.6e1 * t198 * t2827 * t5929 + 0.6e1 * t2832 * t5925 - t2427 - t2431 - t2438 + t2448 + t2456 + t2491 + t2650 + t5924 + t5928; + const double t5938 = t190 * t5825; + const double t5940 = 0.4e1 * t706 * t5938; + const double t5942 = 0.8e1 * t4331 * t1522; + const double t5948 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t5819 + 0.2e1 / 0.3e1 * t766 * t5825 ); + const double t5954 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t5819 - 0.2e1 / 0.3e1 * t770 * t5825 ); + const double t5956 = t5948 / 0.2e1 + t5954 / 0.2e1; + const double t5965 = t2583 * t828 * t5929; + const double t5968 = t190 * t5819; + const double t5970 = 0.12e2 * t2498 * t5968; + const double t5971 = 0.11696447245269292414e1 * t4442; + const double t5972 = 0.36622894612013090108e-3 * t4447; + const double t5978 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2627 * t5819 + 0.4e1 / 0.3e1 * t78 * t5825 ); + const double t5984 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2634 * t5819 - 0.4e1 / 0.3e1 * t81 * t5825 ); + const double t5985 = t5978 + t5984; + const double t5986 = t150 * t5985; + const double t5987 = t5986 * t190; + const double t5988 = t5985 * t162; + const double t5990 = 0.19751673498613801407e-1 * t5988 * t187; + const double t5991 = -t2599 - t2606 + t5970 + t5940 + t5942 + t5924 - t2427 - t2438 + t2622 - t2431 - t5971 + t2626 + t5928 - t5972 + t2448 + t2456 + t2491 + t2650 + t5987 + t5990; + const double t5992 = t5991 * t225; + const double t5996 = t2656 * t5929; + const double t5999 = t832 * t5956; + const double t6002 = 0.6e1 * t1553 * t1555 - 0.12e2 * t227 * t5996 + 0.3e1 * t227 * t5999 - t229 * t5992; + const double t6003 = t6002 * t231; + const double t6005 = t827 * t828 * t6003; + const double t6009 = t1558 * t1558; + const double t6010 = t6009 * t2701; + const double t6012 = t827 * t828 * t6010; + const double t6017 = t231 * t1544; + const double t6018 = t4382 * t6017; + const double t6019 = t2738 * t6018; + const double t6022 = t6009 * t231; + const double t6024 = t827 * t828 * t6022; + const double t6031 = t855 * t828 * t5956; + const double t6034 = t124 * t5956; + const double t6035 = t800 * t6034; + const double t6039 = t124 * t5929; + const double t6040 = t800 * t6039; + const double t6044 = -0.25410001404642664112e-4 * t4428 + 0.80031500487063509015e-2 * t4420 - 0.85748036236139473944e-3 * t851 * t6031 - t799 * t6035 / 0.48e2 + 0.57165357490759649296e-4 * t4424 + t2673 - t2685 + t2708 * t6040 / 0.16e2 + 0.7e1 / 0.72e2 * t4390 + t2718 + t2730; + const double t6045 = 0.42874018118069736972e-2 * t851 * t5965 - 0.21437009059034868486e-3 * t825 * t6005 + 0.20007875121765877254e-2 * t4388 - t2560 + t2575 + 0.42874018118069736972e-3 * t2699 * t6012 - 0.10164000561857065645e-3 * t4371 + 0.14291339372689912324e-4 * t4376 + 0.17149607247227894789e-2 * t2736 * t6019 - 0.21437009059034868486e-3 * t825 * t6024 + t6044; + const double t6046 = t6045 * t225; + const double t6052 = t1579 * t1579; + const double t6053 = t2761 * t6052; + const double t6075 = t2767 - t2771 + 0.10975748638225852664e-1 * t4500 - 0.10975748638225852664e-1 * t4523 + t2787 - 0.19514881078765566038e-1 * t4504 + 0.19514881078765566038e-1 * t4527 - t2801 + 0.13170898365871023197e1 * t820 * t2802 * t6010 - 0.13170898365871023197e1 * t820 * t4529 * t1559 - 0.65854491829355115987e0 * t820 * t879 * t6003 - 0.65854491829355115987e0 * t820 * t879 * t6022 + 0.65854491829355115987e0 * t213 * t234 * t6045; + const double t6076 = t868 * t6075; + const double t6079 = t2520 - t2524 - 0.10975748638225852664e-1 * t4359 + 0.10975748638225852664e-1 * t4481 + t2539 + 0.19514881078765566038e-1 * t4362 - 0.19514881078765566038e-1 * t4485 - t2551 + 0.65854491829355115987e0 * t213 * t6046 * t257 - 0.13170898365871023197e1 * t4477 * t1580 + 0.13170898365871023197e1 * t865 * t6053 - 0.65854491829355115987e0 * t865 * t6076; + const double t6083 = t198 * t207 * t6079 * t892 + 0.3e1 * t198 * t5956 * t765 - t2599 - t2606 + t2622 + t2626 + t5940 + t5942 + t5970 - t5971 - t5972 + t5987 + t5990; + const double t6084 = t5937 + t6083; + const double t6092 = t2852 * t5819; + const double t6093 = t2850 * t6092; + const double t6094 = t128 * t6093; + const double t6096 = t2857 * t5819; + const double t6097 = t904 * t6096; + const double t6098 = t128 * t6097; + const double t6100 = t905 * t5825; + const double t6101 = t904 * t6100; + const double t6102 = t128 * t6101; + const double t6104 = t2847 + 0.11872222222222222222e-1 * t4571 - 0.11872222222222222222e-1 * t6094 + 0.35616666666666666666e-1 * t6098 - 0.17808333333333333333e-1 * t6102; + const double t6106 = 0.621814e-1 * t6104 * t291; + const double t6108 = 0.2e1 * t4590 * t1610; + const double t6109 = t1609 * t1609; + const double t6110 = t6109 * t935; + const double t6112 = 0.2e1 * t2874 * t6110; + const double t6113 = t1600 * t1600; + const double t6114 = t2880 * t6113; + const double t6120 = t2884 + 0.2e1 / 0.9e1 * t4571 - 0.2e1 / 0.9e1 * t6094 + 0.2e1 / 0.3e1 * t6098 - t6102 / 0.3e1; + const double t6121 = t916 * t6120; + const double t6127 = t2897 * t6113; + const double t6129 = t923 * t6120; + const double t6132 = t2908 * t6092; + const double t6133 = t141 * t6132; + const double t6135 = t930 * t6096; + const double t6136 = t141 * t6135; + const double t6138 = t930 * t6100; + const double t6139 = t141 * t6138; + const double t6141 = -0.9494625e0 * t6114 + 0.1898925e1 * t6121 + t2892 + 0.19931111111111111111e0 * t4571 - 0.19931111111111111111e0 * t6094 + 0.59793333333333333334e0 * t6098 - 0.29896666666666666667e0 * t6102 + 0.15358125e0 * t6127 + 0.3071625e0 * t6129 + t2905 + 0.10954222222222222222e0 * t4620 - 0.27385555555555555556e-1 * t6133 + 0.16431333333333333333e0 * t6136 - 0.82156666666666666667e-1 * t6139; + const double t6142 = t6141 * t935; + const double t6144 = 0.1e1 * t915 * t6142; + const double t6145 = t6109 * t2926; + const double t6147 = 0.16081979498692535067e2 * t2924 * t6145; + const double t6152 = t2930 + 0.11415555555555555555e-1 * t4571 - 0.11415555555555555555e-1 * t6094 + 0.34246666666666666666e-1 * t6098 - 0.17123333333333333333e-1 * t6102; + const double t6157 = t1621 * t1621; + const double t6158 = t6157 * t954; + const double t6173 = -0.17648625e1 * t6114 + 0.3529725e1 * t6121 + t2950 + 0.34431666666666666666e0 * t4571 - 0.34431666666666666667e0 * t6094 + 0.103295e1 * t6098 - 0.516475e0 * t6102 + 0.31558125e0 * t6127 + 0.6311625e0 * t6129 + t2957 + 0.13892666666666666667e0 * t4620 - 0.34731666666666666667e-1 * t6133 + 0.20839e0 * t6136 - 0.104195e0 * t6139; + const double t6174 = t6173 * t954; + const double t6177 = t6157 * t2970; + const double t6184 = t2974 + 0.61805555555555555556e-2 * t4571 - 0.61805555555555555555e-2 * t6094 + 0.18541666666666666667e-1 * t6098 - 0.92708333333333333333e-2 * t6102; + const double t6185 = t6184 * t324; + const double t6189 = t1633 * t1633; + const double t6190 = t6189 * t973; + const double t6205 = -0.1294625e1 * t6114 + 0.258925e1 * t6121 + t2994 + 0.20128333333333333334e0 * t4571 - 0.20128333333333333333e0 * t6094 + 0.60385e0 * t6098 - 0.301925e0 * t6102 + 0.82524375e-1 * t6127 + 0.16504875e0 * t6129 + t3001 + 0.11038e0 * t4620 - 0.27595e-1 * t6133 + 0.16557e0 * t6136 - 0.82785e-1 * t6139; + const double t6206 = t6205 * t973; + const double t6209 = t6189 * t3014; + const double t6212 = -0.310907e-1 * t6152 * t311 + 0.2e1 * t4647 * t1622 - 0.2e1 * t2943 * t6158 + 0.1e1 * t946 * t6174 + 0.32163958997385070134e2 * t2968 * t6177 + t6106 - t6108 + t6112 - t6144 - t6147 - 0.19751673498613801407e-1 * t6185 + 0.11696447245269292414e1 * t4685 * t1634 - 0.11696447245269292414e1 * t2987 * t6190 + 0.5848223622634646207e0 * t965 * t6206 + 0.17315859105681463759e2 * t3012 * t6209; + const double t6213 = t300 * t6212; + const double t6215 = 0.19751673498613801407e-1 * t300 * t6185; + const double t6217 = 0.11696447245269292414e1 * t4719 * t1642; + const double t6219 = t2986 * t6189 * t973; + const double t6221 = 0.11696447245269292414e1 * t981 * t6219; + const double t6223 = t964 * t6205 * t973; + const double t6225 = 0.5848223622634646207e0 * t981 * t6223; + const double t6226 = t3011 * t6189; + const double t6227 = t6226 * t3014; + const double t6229 = 0.17315859105681463759e2 * t981 * t6227; + const double t6234 = t3037 + 0.55555555555555555556e-2 * t4571 - 0.55555555555555555555e-2 * t6094 + 0.16666666666666666667e-1 * t6098 - 0.83333333333333333333e-2 * t6102; + const double t6235 = t6234 * t341; + const double t6244 = t1651 * t1651; + const double t6245 = t996 * t6244; + const double t6250 = t1651 * t1695; + const double t6251 = t1079 * t6250; + const double t6258 = t3070 + 0.9877777777777777778e-2 * t4571 - 0.9877777777777777778e-2 * t6094 + 0.29633333333333333334e-1 * t6098 - 0.14816666666666666667e-1 * t6102; + const double t6259 = t996 * t6258; + const double t6262 = t6235 * t225; + const double t6263 = t6262 * t366; + const double t6267 = t373 * t6258; + const double t6269 = t371 * t372 * t6267; + const double t6274 = t373 * t6244; + const double t6276 = t371 * t372 * t6274; + const double t6282 = t3123 * t5819; + const double t6283 = t1012 * t6282; + const double t6286 = t1015 * t5825; + const double t6287 = t1012 * t6286; + const double t6290 = t3140 * t5819; + const double t6291 = t1012 * t6290; + const double t6296 = 0.21437009059034868486e-3 * t6263 * t375 - 0.28582678745379824648e-3 * t4818 - 0.21437009059034868486e-3 * t1025 * t6269 - 0.42874018118069736972e-3 * t4884 * t1665 + 0.42874018118069736972e-3 * t3101 * t6276 + 0.42874018118069736972e-3 * t4808 * t1671 + t4854 / 0.432e3 - t1011 * t6283 / 0.144e3 + t1011 * t6287 / 0.288e3 + t1011 * t6291 / 0.216e3 + 0.28582678745379824648e-3 * t4860 + 0.28582678745379824648e-3 * t4863; + const double t6299 = t1066 * t6100; + const double t6300 = t247 * t6299; + const double t6303 = t3174 * t6092; + const double t6304 = t247 * t6303; + const double t6307 = t4811 * t1592; + const double t6308 = t1042 * t6307; + const double t6311 = -t6106 + t6108 - t6112 + t6144 + t6147 + t6213 + t6215 - t6217 + t6221 - t6225 - t6229; + const double t6313 = t373 * t6311 * t1045; + const double t6314 = t1042 * t6313; + const double t6317 = t1668 * t1668; + const double t6318 = t373 * t6317; + const double t6319 = t6318 * t3235; + const double t6320 = t1042 * t6319; + const double t6323 = t6318 * t3208; + const double t6324 = t1042 * t6323; + const double t6328 = t1651 * t1668; + const double t6329 = t6328 * t1045; + const double t6330 = t3085 * t6329; + const double t6333 = t1066 * t6096; + const double t6334 = t247 * t6333; + const double t6337 = t3094 * t1469; + const double t6338 = t4801 * t6337; + const double t6339 = t3092 * t6338; + const double t6342 = 0.28582678745379824648e-3 * t4910 * t1675 + 0.14291339372689912324e-3 * t1063 * t6300 + 0.23818898954483187207e-3 * t1063 * t6304 - 0.28582678745379824648e-3 * t3217 * t6308 + 0.21437009059034868486e-3 * t1041 * t6314 + 0.42874018118069736972e-3 * t3233 * t6320 - 0.21437009059034868486e-3 * t3204 * t6324 + 0.19055119163586549765e-3 * t4881 - 0.42874018118069736972e-3 * t3083 * t6330 - t3153 - 0.28582678745379824648e-3 * t1063 * t6334 + 0.28582678745379824648e-3 * t3091 * t6339 - t3257; + const double t6343 = t6296 + t6342; + const double t6345 = t6343 * t225 * t385; + const double t6350 = t1695 * t1695; + const double t6351 = t3269 * t6350; + const double t6362 = t1082 * t6244; + const double t6365 = t6328 * t1089; + const double t6368 = t5004 * t1651; + const double t6371 = t1082 * t6258; + const double t6374 = t378 * t6317; + const double t6375 = t6374 * t3304; + const double t6379 = t1678 * t1668 * t1089; + const double t6383 = t378 * t6311 * t1089; + const double t6386 = t6374 * t3318; + const double t6389 = t380 * t6343; + const double t6392 = 0.65854491829355115987e0 * t6235 * t381 - 0.13170898365871023197e1 * t4883 * t1685 + 0.13170898365871023197e1 * t4954 * t1689 + 0.13170898365871023197e1 * t1647 * t1692 + 0.13170898365871023197e1 * t3100 * t6362 - 0.13170898365871023197e1 * t3287 * t6365 - 0.13170898365871023197e1 * t1024 * t6368 - 0.65854491829355115987e0 * t1024 * t6371 + 0.13170898365871023197e1 * t3299 * t6375 + 0.13170898365871023197e1 * t1087 * t6379 + 0.65854491829355115987e0 * t1087 * t6383 - 0.65854491829355115987e0 * t3317 * t6386 + 0.65854491829355115987e0 * t342 * t6389; + const double t6393 = t1079 * t6392; + const double t6396 = 0.65854491829355115987e0 * t6235 * t386 - 0.13170898365871023197e1 * t4747 * t1652 + 0.13170898365871023197e1 * t1647 * t1680 - 0.13170898365871023197e1 * t4752 * t1696 + 0.13170898365871023197e1 * t3058 * t6245 - 0.13170898365871023197e1 * t4778 * t1652 + 0.13170898365871023197e1 * t995 * t6251 - 0.65854491829355115987e0 * t995 * t6259 + 0.65854491829355115987e0 * t342 * t6345 - 0.13170898365871023197e1 * t4935 * t1696 + 0.13170898365871023197e1 * t1076 * t6351 - 0.65854491829355115987e0 * t1076 * t6393; + const double t6400 = t1699 * t1699; + const double t6404 = t1102 * t198 * t336 * t6396 - t198 * t3336 * t336 * t6400 - t6106 + t6108 - t6112 + t6144 + t6147 + t6213 + t6215 - t6217 + t6221 - t6225 - t6229; + const double t6405 = piecewise_functor_3( t394, t6404, t6084 ); + const double t6412 = piecewise_functor_3( t120, t6084 * t30 / 0.2e1 + t1587 * t1468 + t265 * t5824 / 0.2e1, t6405 * t45 / 0.2e1 + t1704 * t1469 + t395 * t5825 / 0.2e1 ); + const double t6416 = -t5824; + const double t6421 = t3362 * t5819; + const double t6422 = t3360 * t6421; + const double t6423 = t128 * t6422; + const double t6425 = t3367 * t5819; + const double t6426 = t1120 * t6425; + const double t6427 = t128 * t6426; + const double t6429 = t1121 * t5825; + const double t6430 = t1120 * t6429; + const double t6431 = t128 * t6430; + const double t6433 = t3357 - 0.11872222222222222222e-1 * t5044 - 0.11872222222222222222e-1 * t6423 + 0.35616666666666666666e-1 * t6427 + 0.17808333333333333333e-1 * t6431; + const double t6435 = 0.621814e-1 * t6433 * t422; + const double t6437 = 0.2e1 * t5063 * t1733; + const double t6438 = t1732 * t1732; + const double t6439 = t6438 * t1150; + const double t6441 = 0.2e1 * t3384 * t6439; + const double t6442 = t1723 * t1723; + const double t6443 = t3390 * t6442; + const double t6449 = t3394 - 0.2e1 / 0.9e1 * t5044 - 0.2e1 / 0.9e1 * t6423 + 0.2e1 / 0.3e1 * t6427 + t6431 / 0.3e1; + const double t6450 = t1132 * t6449; + const double t6456 = t3407 * t6442; + const double t6458 = t1139 * t6449; + const double t6461 = t3417 * t6421; + const double t6462 = t141 * t6461; + const double t6464 = t1145 * t6425; + const double t6465 = t141 * t6464; + const double t6467 = t1145 * t6429; + const double t6468 = t141 * t6467; + const double t6470 = -0.9494625e0 * t6443 + 0.1898925e1 * t6450 + t3402 - 0.19931111111111111111e0 * t5044 - 0.19931111111111111111e0 * t6423 + 0.59793333333333333334e0 * t6427 + 0.29896666666666666667e0 * t6431 + 0.15358125e0 * t6456 + 0.3071625e0 * t6458 + t3414 - 0.10954222222222222222e0 * t5093 - 0.27385555555555555556e-1 * t6462 + 0.16431333333333333333e0 * t6465 + 0.82156666666666666667e-1 * t6468; + const double t6471 = t6470 * t1150; + const double t6473 = 0.1e1 * t1131 * t6471; + const double t6474 = t6438 * t3435; + const double t6476 = 0.16081979498692535067e2 * t3433 * t6474; + const double t6481 = t3439 - 0.11415555555555555555e-1 * t5044 - 0.11415555555555555555e-1 * t6423 + 0.34246666666666666666e-1 * t6427 + 0.17123333333333333333e-1 * t6431; + const double t6486 = t1744 * t1744; + const double t6487 = t6486 * t1169; + const double t6502 = -0.17648625e1 * t6443 + 0.3529725e1 * t6450 + t3459 - 0.34431666666666666666e0 * t5044 - 0.34431666666666666667e0 * t6423 + 0.103295e1 * t6427 + 0.516475e0 * t6431 + 0.31558125e0 * t6456 + 0.6311625e0 * t6458 + t3466 - 0.13892666666666666667e0 * t5093 - 0.34731666666666666667e-1 * t6462 + 0.20839e0 * t6465 + 0.104195e0 * t6468; + const double t6503 = t6502 * t1169; + const double t6506 = t6486 * t3479; + const double t6513 = t3483 - 0.61805555555555555556e-2 * t5044 - 0.61805555555555555555e-2 * t6423 + 0.18541666666666666667e-1 * t6427 + 0.92708333333333333333e-2 * t6431; + const double t6514 = t6513 * t448; + const double t6518 = t1756 * t1756; + const double t6519 = t6518 * t1188; + const double t6534 = -0.1294625e1 * t6443 + 0.258925e1 * t6450 + t3503 - 0.20128333333333333334e0 * t5044 - 0.20128333333333333333e0 * t6423 + 0.60385e0 * t6427 + 0.301925e0 * t6431 + 0.82524375e-1 * t6456 + 0.16504875e0 * t6458 + t3510 - 0.11038e0 * t5093 - 0.27595e-1 * t6462 + 0.16557e0 * t6465 + 0.82785e-1 * t6468; + const double t6535 = t6534 * t1188; + const double t6538 = t6518 * t3523; + const double t6541 = -0.310907e-1 * t6481 * t435 + 0.2e1 * t5120 * t1745 - 0.2e1 * t3452 * t6487 + 0.1e1 * t1161 * t6503 + 0.32163958997385070134e2 * t3477 * t6506 + t6435 - t6437 + t6441 - t6473 - t6476 - 0.19751673498613801407e-1 * t6514 + 0.11696447245269292414e1 * t5158 * t1757 - 0.11696447245269292414e1 * t3496 * t6519 + 0.5848223622634646207e0 * t1180 * t6535 + 0.17315859105681463759e2 * t3521 * t6538; + const double t6542 = t300 * t6541; + const double t6544 = 0.19751673498613801407e-1 * t300 * t6514; + const double t6546 = 0.11696447245269292414e1 * t5192 * t1765; + const double t6548 = t3495 * t6518 * t1188; + const double t6550 = 0.11696447245269292414e1 * t1196 * t6548; + const double t6552 = t1179 * t6534 * t1188; + const double t6554 = 0.5848223622634646207e0 * t1196 * t6552; + const double t6555 = t3520 * t6518; + const double t6556 = t6555 * t3523; + const double t6558 = 0.17315859105681463759e2 * t1196 * t6556; + const double t6563 = t3546 - 0.55555555555555555556e-2 * t5044 - 0.55555555555555555555e-2 * t6423 + 0.16666666666666666667e-1 * t6427 + 0.83333333333333333333e-2 * t6431; + const double t6564 = t6563 * t459; + const double t6573 = t1774 * t1774; + const double t6574 = t1211 * t6573; + const double t6579 = t1774 * t1828; + const double t6580 = t1277 * t6579; + const double t6587 = t3579 - 0.9877777777777777778e-2 * t5044 - 0.9877777777777777778e-2 * t6423 + 0.29633333333333333334e-1 * t6427 + 0.14816666666666666667e-1 * t6431; + const double t6588 = t1211 * t6587; + const double t6594 = t6564 * t225; + const double t6595 = t6594 * t480; + const double t6600 = 0.1e1 / t52 / t476 / t1477; + const double t6601 = t475 * t6600; + const double t6602 = t467 * t6601; + const double t6605 = t1785 * t1803; + const double t6608 = t482 * t6573; + const double t6610 = t371 * t372 * t6608; + const double t6617 = t482 * t6587; + const double t6619 = t371 * t372 * t6617; + const double t6627 = t5319 * t1715; + const double t6628 = t1042 * t6627; + const double t6631 = -t6435 + t6437 - t6441 + t6473 + t6476 + t6542 + t6544 - t6546 + t6550 - t6554 - t6558; + const double t6633 = t482 * t6631 * t1250; + const double t6634 = t1042 * t6633; + const double t6637 = t1794 * t1794; + const double t6638 = t482 * t6637; + const double t6639 = t6638 * t3710; + const double t6640 = t1042 * t6639; + const double t6643 = t6638 * t3659; + const double t6644 = t1042 * t6643; + const double t6647 = 0.28582678745379824648e-3 * t5261 - 0.15244095330869239812e-2 * t5263 - 0.28582678745379824648e-3 * t5268 + 0.21437009059034868486e-3 * t6595 * t484 + 0.72409452821628889107e-2 * t6602 * t484 - 0.22866142996303859718e-2 * t6605 * t484 + 0.42874018118069736972e-3 * t3720 * t6610 + 0.22866142996303859718e-2 * t5337 * t1791 - 0.42874018118069736972e-3 * t5327 * t1791 - 0.21437009059034868486e-3 * t1235 * t6619 - t5281 / 0.432e3 - 0.22866142996303859718e-2 * t5401 * t1797 + 0.42874018118069736972e-3 * t5271 * t1797 + 0.28582678745379824648e-3 * t3694 * t6628 + 0.21437009059034868486e-3 * t1247 * t6634 + 0.42874018118069736972e-3 * t3708 * t6640 - 0.21437009059034868486e-3 * t3656 * t6644; + const double t6648 = t3643 * t1469; + const double t6649 = t5299 * t6648; + const double t6650 = t3641 * t6649; + const double t6653 = t3626 * t5819; + const double t6654 = t1012 * t6653; + const double t6659 = t1225 * t5825; + const double t6660 = t1012 * t6659; + const double t6663 = t3595 * t5819; + const double t6664 = t1012 * t6663; + const double t6670 = t3670 * t6421; + const double t6671 = t247 * t6670; + const double t6674 = t1774 * t1794; + const double t6675 = t6674 * t1250; + const double t6676 = t3605 * t6675; + const double t6679 = t5843 * t344; + const double t6682 = t1264 * t6429; + const double t6683 = t247 * t6682; + const double t6686 = t1264 * t6425; + const double t6687 = t247 * t6686; + const double t6694 = -0.28582678745379824648e-3 * t3640 * t6650 + t1222 * t6654 / 0.216e3 + t5284 * t1782 / 0.54e2 - t1222 * t6660 / 0.288e3 - t1222 * t6664 / 0.144e3 - t5305 / 0.54e2 - 0.19055119163586549765e-3 * t5309 + 0.28582678745379824648e-3 * t5312 + 0.23818898954483187207e-3 * t1261 * t6671 - 0.42874018118069736972e-3 * t3603 * t6676 - t3691 - t3703 + 0.11e2 / 0.108e3 * t6679 * t464 - 0.14291339372689912324e-3 * t1261 * t6683 - 0.28582678745379824648e-3 * t1261 * t6687 - 0.28582678745379824648e-3 * t5376 * t1808 + 0.15244095330869239812e-2 * t5342 * t1808; + const double t6695 = t6647 + t6694; + const double t6697 = t6695 * t225 * t494; + const double t6702 = t1828 * t1828; + const double t6703 = t3737 * t6702; + const double t6714 = t1280 * t6573; + const double t6717 = t6674 * t1287; + const double t6720 = t5486 * t1774; + const double t6723 = t1280 * t6587; + const double t6726 = t487 * t6637; + const double t6727 = t6726 * t3769; + const double t6731 = t1811 * t1794 * t1287; + const double t6735 = t487 * t6631 * t1287; + const double t6738 = t6726 * t3783; + const double t6741 = t489 * t6695; + const double t6744 = 0.65854491829355115987e0 * t6564 * t490 - 0.13170898365871023197e1 * t5326 * t1818 + 0.13170898365871023197e1 * t5436 * t1822 + 0.13170898365871023197e1 * t1770 * t1825 + 0.13170898365871023197e1 * t3719 * t6714 - 0.13170898365871023197e1 * t3755 * t6717 - 0.13170898365871023197e1 * t1234 * t6720 - 0.65854491829355115987e0 * t1234 * t6723 + 0.13170898365871023197e1 * t3767 * t6727 + 0.13170898365871023197e1 * t1285 * t6731 + 0.65854491829355115987e0 * t1285 * t6735 - 0.65854491829355115987e0 * t3782 * t6738 + 0.65854491829355115987e0 * t460 * t6741; + const double t6745 = t1277 * t6744; + const double t6748 = 0.65854491829355115987e0 * t6564 * t495 - 0.13170898365871023197e1 * t5220 * t1775 + 0.13170898365871023197e1 * t1770 * t1813 - 0.13170898365871023197e1 * t5225 * t1829 + 0.13170898365871023197e1 * t3567 * t6574 - 0.13170898365871023197e1 * t5251 * t1775 + 0.13170898365871023197e1 * t1210 * t6580 - 0.65854491829355115987e0 * t1210 * t6588 + 0.65854491829355115987e0 * t460 * t6697 - 0.13170898365871023197e1 * t5417 * t1829 + 0.13170898365871023197e1 * t1274 * t6703 - 0.65854491829355115987e0 * t1274 * t6745; + const double t6752 = t1832 * t1832; + const double t6756 = t1300 * t198 * t336 * t6748 - t198 * t336 * t3801 * t6752 - t6435 + t6437 - t6441 + t6473 + t6476 + t6542 + t6544 - t6546 + t6550 - t6554 - t6558; + const double t6757 = piecewise_functor_3( t503, t6756, t6084 ); + const double t6764 = piecewise_functor_3( t400, t6084 * t33 / 0.2e1 + t1587 * t1711 + t265 * t6416 / 0.2e1, t6757 * t57 / 0.2e1 - t1837 * t1469 - t504 * t5825 / 0.2e1 ); + const double t6765 = t6412 + t6764; + const double t6773 = 0.2e1 * t1312 * t5920 + 0.4e1 * t1518 * t4248 + 0.2e1 * t5883 * t93 + t5877; + const double t6777 = 0.8e1 * t5533; + const double t6778 = 0.8e1 * t5535; + const double t6779 = t1468 * t1468; + const double t6785 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3882 * t6779 + 0.2e1 / 0.3e1 * t1344 * t5824 ); + const double t6786 = t1711 * t1711; + const double t6792 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3889 * t6786 + 0.2e1 / 0.3e1 * t1348 * t6416 ); + const double t6794 = t6785 / 0.2e1 + t6792 / 0.2e1; + const double t6806 = t124 * t6794; + const double t6807 = t800 * t6806; + const double t6811 = t1868 * t1868; + const double t6812 = t124 * t6811; + const double t6813 = t800 * t6812; + const double t6817 = t3962 * t828 * t6811; + const double t6823 = t1414 * t828 * t6794; + const double t6826 = t543 * t1868; + const double t6827 = t5612 * t6826; + const double t6828 = t4060 * t6827; + const double t6831 = t1882 * t1882; + const double t6832 = t6831 * t543; + const double t6834 = t1390 * t828 * t6832; + const double t6837 = 0.11696447245269292414e1 * t5656; + const double t6838 = -t6837 + t3969 - t3971 - t3973 + t3857 + t3860 + t3863 - t3873 - t3979 - t2427 - t6777; + const double t6839 = 0.36622894612013090108e-3 * t5660; + const double t6845 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3830 * t6779 + 0.4e1 / 0.3e1 * t513 * t5824 ); + const double t6851 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3838 * t6786 + 0.4e1 / 0.3e1 * t516 * t6416 ); + const double t6853 = ( t6845 + t6851 ) * t162; + const double t6854 = t6853 * t189; + const double t6855 = t512 * t6854; + const double t6856 = 0.2e1 * t5560; + const double t6858 = 0.19751673498613801407e-1 * t6853 * t187; + const double t6859 = -t6778 - t2438 + t3829 - t2431 + t3982 - t6839 + t6855 + t6856 + t6858 + t3984 + t2448 + t2456; + const double t6861 = ( t6838 + t6859 ) * t225; + const double t6865 = t3991 * t6811; + const double t6868 = t1394 * t6794; + const double t6871 = 0.6e1 * t1877 * t1879 - 0.12e2 * t539 * t6865 + 0.3e1 * t539 * t6868 - t541 * t6861; + const double t6872 = t6871 * t543; + const double t6874 = t1390 * t828 * t6872; + const double t6877 = t6831 * t4029; + const double t6879 = t1390 * t828 * t6877; + const double t6883 = -t3951 - 0.25410001404642664112e-4 * t5689 - 0.85748036236139473944e-3 * t1410 * t6823 + 0.17149607247227894789e-2 * t4058 * t6828 - 0.21437009059034868486e-3 * t1388 * t6834 - 0.21437009059034868486e-3 * t1388 * t6874 + t4012 + t4018 + 0.42874018118069736972e-3 * t4027 * t6879 + t4044 + 0.20007875121765877254e-2 * t5691; + const double t6884 = 0.57165357490759649296e-4 * t5595 + 0.14291339372689912324e-4 * t5621 - 0.10164000561857065645e-3 * t5599 - t3933 + 0.7e1 / 0.72e2 * t5629 - t1370 * t6807 / 0.48e2 + 0.80031500487063509015e-2 * t5601 + t4036 * t6813 / 0.16e2 + 0.42874018118069736972e-2 * t1410 * t6817 + t3941 + t6883; + const double t6885 = t6884 * t225; + const double t6891 = t1903 * t1903; + const double t6892 = t4083 * t6891; + const double t6914 = t4089 - t4092 + 0.10975748638225852664e-1 * t5725 - 0.10975748638225852664e-1 * t5748 + t4106 - 0.19514881078765566038e-1 * t5729 + 0.19514881078765566038e-1 * t5752 - t4120 + 0.13170898365871023197e1 * t820 * t4121 * t6877 - 0.13170898365871023197e1 * t820 * t5754 * t1883 - 0.65854491829355115987e0 * t820 * t1437 * t6872 - 0.65854491829355115987e0 * t820 * t1437 * t6832 + 0.65854491829355115987e0 * t213 * t546 * t6884; + const double t6915 = t1427 * t6914; + const double t6918 = t3902 - t3906 - 0.10975748638225852664e-1 * t5588 + 0.10975748638225852664e-1 * t5706 + t3918 + 0.19514881078765566038e-1 * t5591 - 0.19514881078765566038e-1 * t5710 - t3930 + 0.65854491829355115987e0 * t213 * t6885 * t561 - 0.13170898365871023197e1 * t5702 * t1904 + 0.13170898365871023197e1 * t1424 * t6892 - 0.65854491829355115987e0 * t1424 * t6915; + const double t6922 = t1907 * t1907; + const double t6926 = t1450 * t198 * t532 * t6918 - t198 * t3879 * t532 * t6922 + 0.3e1 * t1343 * t198 * t6794 - t2427 - t2431 - t2438 + t2448 + t2456 + t3829 - t6777 - t6778 + t6855 + t6856 + t6858; + const double t6930 = t5772 * t1868; + const double t6933 = 0.6e1 * t198 * t4146 * t6811 + 0.6e1 * t3867 * t6930 + t3857 + t3860 + t3863 - t3873 + t3969 - t3971 - t3973 - t3979 + t3982 + t3984 - t6837 - t6839; + const double t6934 = t6926 + t6933; + const double t6936 = -t118 * t6765 - 0.2e1 * t1502 * t1843 - 0.4e1 * t1519 * t4248 + 0.2e1 * t1847 * t1911 - t508 * t5877 - 0.2e1 * t508 * t5884 + t511 * t6934 + t569 * t6773 - 0.4e1 * t5887 * t651 - 0.2e1 * t5921 * t651; + const double t6937 = t3 * t6936; + const double t6941 = d * t6936; + const double t6945 = t116 * t5883; + const double t6948 = t117 * t5920; + const double t6951 = 0.6e1 * t1916 * t1918 + 0.6e1 * t572 * t6945 + 0.3e1 * t572 * t6948 + t573 * t6941; + const double t6953 = t2037 * t575; + const double t6954 = t2242 * t38; + const double t6957 = t38 * t1925; + const double t6958 = t2247 * t6957; + const double t6959 = t84 * t644; + const double t6960 = t77 * t6959; + const double t6963 = t603 * t607; + const double t6968 = t43 * t48; + const double t6971 = 0.8e1 / 0.3e1 * t624; + const double t6972 = -0.8e1 / 0.3e1 * t613 * t49 + 0.5e1 / 0.6e1 * t6968 * t606 + t6971; + const double t6973 = t6972 * t72; + const double t6974 = t6973 * t1927; + const double t6977 = t76 * t640; + const double t6978 = t1926 * t6977; + const double t6982 = piecewise_functor_3( t8, 0.0, -t6954 * t1928 / 0.6e1 + 0.5e1 / 0.6e1 * t6958 * t6960 + t6963 * t1928 / 0.3e1 - t1923 * t6974 / 0.6e1 - t1923 * t6978 / 0.6e1 ); + const double t6983 = t6982 * t117; + const double t6985 = t1931 * t116; + const double t6990 = 0.2e1 * t2322 * t1937; + const double t6992 = 0.2e1 * t4254 * t1937; + const double t6993 = t1310 * t1936; + const double t6995 = 0.2e1 * t651 * t6993; + const double t6996 = t624 * t112; + const double t6997 = t6996 / 0.3e1; + const double t6998 = t68 * t655; + const double t6999 = t6998 * t665; + const double t7002 = piecewise_functor_3( t115, 0.0, -t6997 - t6999 / 0.8e1 ); + const double t7003 = t508 * t7002; + const double t7005 = 0.2e1 * t651 * t7003; + const double t7007 = t2007 * t670; + const double t7010 = t30 * t775; + const double t7014 = t212 * t1949; + const double t7015 = t7014 * t780; + const double t7017 = 0.54878743191129263322e-2 * t689 * t7015; + const double t7018 = t786 * t1950; + const double t7020 = 0.9757440539382783019e-2 * t7018 * t789; + const double t7021 = t793 * t159; + const double t7023 = t7021 * t218 * t816; + const double t7024 = 0.7e1 / 0.288e3 * t7023; + const double t7025 = t1941 * t228; + const double t7026 = t7025 * t802; + const double t7028 = t64 * t240; + const double t7030 = t234 * t7028 * t243; + const double t7031 = t807 * t7030; + const double t7032 = 0.14291339372689912324e-4 * t7031; + const double t7033 = t786 * t1945; + const double t7034 = t7033 * t817; + const double t7035 = 0.25410001404642664113e-4 * t7034; + const double t7036 = t822 * t64; + const double t7038 = t820 * t7036 * t239; + const double t7039 = t7038 * t839; + const double t7041 = t1946 * t846; + const double t7042 = 0.20007875121765877254e-2 * t7041; + const double t7043 = t233 * t64; + const double t7045 = t820 * t7043 * t239; + const double t7046 = t7045 * t857; + const double t7048 = -t7024 - t7026 / 0.48e2 - t7032 + t7035 - 0.42874018118069736972e-3 * t7039 - t7042 - 0.17149607247227894789e-2 * t7046; + const double t7049 = t7048 * t225; + const double t7053 = t213 * t1949; + const double t7056 = t251 * t1032; + const double t7057 = t7056 * t867; + const double t7058 = t786 * t7057; + const double t7059 = t1958 * t72; + const double t7060 = t7059 * t686; + const double t7062 = 0.72280234901709995518e-2 * t7058 * t7060; + const double t7063 = t1954 * t2533; + const double t7064 = t7063 * t7057; + const double t7066 = 0.12851425765524037203e-1 * t7064 * t7060; + const double t7067 = t1955 * t860; + const double t7070 = t1955 * t7056; + const double t7071 = t2760 * t233; + const double t7072 = t1949 * t886; + const double t7073 = t7071 * t7072; + const double t7076 = t867 * t822; + const double t7078 = t1949 * t836 * t231; + const double t7079 = t7076 * t7078; + const double t7082 = t233 * t7048; + const double t7083 = t1957 * t7082; + const double t7086 = -t7017 + t7020 + 0.65854491829355115987e0 * t213 * t7049 * t257 - 0.65854491829355115987e0 * t7053 * t887 + t7062 - t7066 - 0.4336814094102599731e0 * t7067 * t1959 + 0.8673628188205199462e0 * t7070 * t7073 + 0.4336814094102599731e0 * t7070 * t7079 - 0.4336814094102599731e0 * t1956 * t7083; + const double t7087 = t7086 * t892; + const double t7091 = t1962 * t2495; + const double t7092 = t30 * t890; + const double t7099 = 0.3e1 / 0.2e1 * t2832 * t1963 * t7010 + t1940 * t7087 * t30 / 0.2e1 - t1940 * t7091 * t7092 / 0.2e1 + t1940 * t1963 * t605 / 0.2e1; + const double t7102 = t994 * t1976; + const double t7105 = t613 * t343; + const double t7106 = t7105 * t136; + const double t7110 = t1968 * t1007 / 0.288e3; + const double t7111 = t1967 * t800; + const double t7114 = t1020 * t1972; + const double t7117 = t1024 * t1972; + const double t7120 = t1035 * sigma_aa; + const double t7121 = t7120 * t1039; + const double t7122 = t1033 * t7121; + const double t7125 = t1971 * t1052; + const double t7126 = t351 * t7125; + const double t7130 = 0.28582678745379824648e-3 * t1973 * t1058; + const double t7131 = t1971 * t1061; + const double t7132 = t351 * t7131; + const double t7135 = -t7106 * t348 / 0.36e2 + t7110 + t7111 * t1017 / 0.288e3 + 0.42874018118069736972e-3 * t7114 * t375 - 0.42874018118069736972e-3 * t7117 * t1028 + 0.42874018118069736972e-3 * t7122 * t1047 - 0.22866142996303859718e-2 * t7126 * t375 + t7130 + 0.28582678745379824648e-3 * t7132 * t1068; + const double t7137 = t7135 * t225 * t385; + const double t7140 = t342 * t1976; + const double t7143 = t378 * t1032; + const double t7144 = t994 * t7143; + const double t7145 = t1078 * t359; + const double t7146 = t1976 * t988; + const double t7147 = t7145 * t7146; + const double t7150 = t1981 * t3056; + const double t7151 = t7150 * t7143; + const double t7152 = t1976 * t999; + const double t7153 = t7145 * t7152; + const double t7156 = t1982 * t1071; + const double t7159 = t1982 * t7143; + const double t7160 = t3268 * t359; + const double t7161 = t1976 * t1096; + const double t7162 = t7160 * t7161; + const double t7165 = t378 * t3197; + const double t7166 = t7165 * t1078; + const double t7167 = t1982 * t7166; + const double t7168 = t1035 * t1976; + const double t7170 = t7168 * t1043 * t1089; + const double t7174 = t1984 * t359 * t7135; + const double t7177 = 0.65854491829355115987e0 * t989 * t1978 - 0.65854491829355115987e0 * t7102 * t1000 + 0.65854491829355115987e0 * t342 * t7137 - 0.65854491829355115987e0 * t7140 * t1097 - 0.8673628188205199462e0 * t7144 * t7147 + 0.8673628188205199462e0 * t7151 * t7153 - 0.4336814094102599731e0 * t7156 * t1986 + 0.8673628188205199462e0 * t7159 * t7162 - 0.4336814094102599731e0 * t7167 * t7170 - 0.4336814094102599731e0 * t1983 * t7174; + const double t7181 = t1989 * t3336; + const double t7188 = t207 * t7086; + const double t7193 = -t1940 * t7091 * t890 + 0.3e1 * t1963 * t2832 * t775 + t198 * t7188 * t892; + const double t7194 = piecewise_functor_3( t394, t1102 * t198 * t336 * t7177 - t1100 * t5023 * t7181, t7193 ); + const double t7199 = piecewise_functor_3( t120, t7099, t1996 * t606 / 0.2e1 + t7194 * t45 / 0.2e1 ); + const double t7200 = t33 * t775; + const double t7207 = t33 * t890; + const double t7214 = 0.3e1 / 0.2e1 * t2832 * t1963 * t7200 + t1940 * t7087 * t33 / 0.2e1 - t1940 * t7091 * t7207 / 0.2e1 + t1940 * t1963 * t1113 / 0.2e1; + const double t7215 = piecewise_functor_3( t503, 0.0, t7193 ); + const double t7220 = piecewise_functor_3( t400, t7214, -t2003 * t606 / 0.2e1 + t7215 * t57 / 0.2e1 ); + const double t7221 = t7199 + t7220; + const double t7226 = 0.2e1 * t2322 * t1936; + const double t7228 = 0.2e1 * t5523 * t1936; + const double t7230 = 0.2e1 * t1312 * t7002; + const double t7231 = 0.2e1 * t670 * t6985 + t6983 + t7226 + t7228 + t7230; + const double t7234 = t1315 * t196; + const double t7235 = t7234 * t197; + const double t7236 = t7235 * t2035; + const double t7237 = t531 * t2033; + const double t7238 = t1450 * t1353; + const double t7239 = t7237 * t7238; + const double t7241 = 0.3e1 * t2014 * t7239; + const double t7242 = t212 * t2022; + const double t7243 = t7242 * t1358; + const double t7245 = 0.54878743191129263322e-2 * t689 * t7243; + const double t7246 = t786 * t2023; + const double t7248 = 0.9757440539382783019e-2 * t7246 * t1364; + const double t7250 = t7021 * t533 * t816; + const double t7251 = 0.7e1 / 0.288e3 * t7250; + const double t7252 = t1941 * t540; + const double t7253 = t7252 * t1372; + const double t7256 = t546 * t7028 * t550; + const double t7257 = t807 * t7256; + const double t7258 = 0.14291339372689912324e-4 * t7257; + const double t7259 = t786 * t2018; + const double t7260 = t7259 * t1381; + const double t7261 = 0.25410001404642664113e-4 * t7260; + const double t7262 = t1385 * t64; + const double t7264 = t820 * t7262 * t239; + const double t7265 = t7264 * t1401; + const double t7267 = t2019 * t1405; + const double t7268 = 0.20007875121765877254e-2 * t7267; + const double t7269 = t545 * t64; + const double t7271 = t820 * t7269 * t239; + const double t7272 = t7271 * t1416; + const double t7274 = -t7251 - t7253 / 0.48e2 - t7258 + t7261 - 0.42874018118069736972e-3 * t7265 - t7268 - 0.17149607247227894789e-2 * t7272; + const double t7275 = t7274 * t225; + const double t7279 = t213 * t2022; + const double t7282 = t555 * t1032; + const double t7283 = t7282 * t1426; + const double t7284 = t786 * t7283; + const double t7285 = t2029 * t72; + const double t7286 = t7285 * t686; + const double t7288 = 0.72280234901709995518e-2 * t7284 * t7286; + const double t7289 = t7063 * t7283; + const double t7291 = 0.12851425765524037203e-1 * t7289 * t7286; + const double t7292 = t1955 * t1419; + const double t7295 = t1955 * t7282; + const double t7296 = t4082 * t545; + const double t7297 = t2022 * t1444; + const double t7298 = t7296 * t7297; + const double t7301 = t1426 * t1385; + const double t7303 = t2022 * t1398 * t543; + const double t7304 = t7301 * t7303; + const double t7307 = t545 * t7274; + const double t7308 = t2028 * t7307; + const double t7311 = -t7245 + t7248 + 0.65854491829355115987e0 * t213 * t7275 * t561 - 0.65854491829355115987e0 * t7279 * t1445 + t7288 - t7291 - 0.4336814094102599731e0 * t7292 * t2030 + 0.8673628188205199462e0 * t7295 * t7298 + 0.4336814094102599731e0 * t7295 * t7304 - 0.4336814094102599731e0 * t2027 * t7308; + const double t7312 = t532 * t7311; + const double t7313 = t7312 * t1450; + const double t7314 = t2014 * t7313; + const double t7315 = t3879 * t1448; + const double t7316 = t2034 * t7315; + const double t7317 = t2014 * t7316; + const double t7318 = -t118 * t7221 - t1310 * t1932 + t1453 * t2011 - t2007 * t649 - t508 * t6983 + t569 * t7231 - 0.2e1 * t651 * t7007 - 0.2e1 * t671 * t6985 - t6990 - t6992 - t6995 - t7005 + t7236 + t7241 + t7314 - t7317; + const double t7319 = t3 * t7318; + const double t7322 = t571 * t2045; + const double t7324 = d * t7318; + const double t7329 = 0.3e1 * t1459 * t2042; + const double t7330 = t116 * t1936; + const double t7331 = t7330 * t670; + const double t7333 = 0.6e1 * t572 * t7331; + const double t7334 = t117 * t7002; + const double t7336 = 0.3e1 * t572 * t7334; + const double t7337 = 0.3e1 * t1461 * t2040 + t573 * t7324 + t7329 + t7333 + t7336; + const double t7339 = t2110 * t575; + const double t7342 = t38 * t68; + const double t7343 = t2247 * t7342; + const double t7348 = t624 * t72; + const double t7349 = t7348 * t1927; + const double t7351 = 0.8e1 / 0.9e1 * t1923 * t7349; + const double t7352 = t2047 * t6977; + const double t7356 = piecewise_functor_3( t8, 0.0, t6954 * t2048 / 0.3e1 - 0.5e1 / 0.3e1 * t7343 * t6960 - 0.2e1 / 0.3e1 * t6963 * t2048 - t7351 + t1923 * t7352 / 0.3e1 ); + const double t7357 = t7356 * t117; + const double t7359 = t2051 * t116; + const double t7367 = t1310 * t2055; + const double t7370 = 0.2e1 / 0.3e1 * t6996; + const double t7373 = piecewise_functor_3( t115, 0.0, -t7370 - t6999 / 0.4e1 ); + const double t7374 = t508 * t7373; + const double t7378 = t2089 * t670; + const double t7384 = t212 * t2061; + const double t7385 = t7384 * t780; + const double t7387 = 0.54878743191129263322e-2 * t689 * t7385; + const double t7388 = t786 * t2062; + const double t7390 = 0.9757440539382783019e-2 * t7388 * t789; + const double t7391 = 0.7e1 / 0.144e3 * t7023; + const double t7393 = 0.28582678745379824648e-4 * t7031; + const double t7394 = 0.50820002809285328225e-4 * t7034; + const double t7396 = 0.40015750243531754507e-2 * t7041; + const double t7398 = -t7391 - t7026 / 0.24e2 - t7393 + t7394 - 0.85748036236139473944e-3 * t7039 - t7396 - 0.34299214494455789578e-2 * t7046; + const double t7399 = t7398 * t225; + const double t7403 = t213 * t2061; + const double t7406 = t2066 * t72; + const double t7407 = t7406 * t686; + const double t7409 = 0.72280234901709995518e-2 * t7058 * t7407; + const double t7411 = 0.12851425765524037203e-1 * t7064 * t7407; + const double t7414 = t2061 * t886; + const double t7415 = t7071 * t7414; + const double t7419 = t2061 * t836 * t231; + const double t7420 = t7076 * t7419; + const double t7423 = t233 * t7398; + const double t7424 = t1957 * t7423; + const double t7427 = -t7387 + t7390 + 0.65854491829355115987e0 * t213 * t7399 * t257 - 0.65854491829355115987e0 * t7403 * t887 + t7409 - t7411 - 0.4336814094102599731e0 * t7067 * t2067 + 0.8673628188205199462e0 * t7070 * t7415 + 0.4336814094102599731e0 * t7070 * t7420 - 0.4336814094102599731e0 * t1956 * t7424; + const double t7428 = t7427 * t892; + const double t7432 = t2070 * t2495; + const double t7443 = t207 * t7427; + const double t7448 = -t1940 * t7432 * t890 + t198 * t7443 * t892 + 0.3e1 * t2071 * t2832 * t775; + const double t7449 = piecewise_functor_3( t394, 0.0, t7448 ); + const double t7454 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2832 * t2071 * t7010 + t1940 * t7428 * t30 / 0.2e1 - t1940 * t7432 * t7092 / 0.2e1 + t1940 * t2071 * t605 / 0.2e1, t2078 * t606 / 0.2e1 + t7449 * t45 / 0.2e1 ); + const double t7468 = piecewise_functor_3( t503, 0.0, t7448 ); + const double t7473 = piecewise_functor_3( t400, 0.3e1 / 0.2e1 * t2832 * t2071 * t7200 + t1940 * t7428 * t33 / 0.2e1 - t1940 * t7432 * t7207 / 0.2e1 + t1940 * t2071 * t1113 / 0.2e1, -t2085 * t606 / 0.2e1 + t7468 * t57 / 0.2e1 ); + const double t7474 = t7454 + t7473; + const double t7484 = 0.2e1 * t1312 * t7373 + 0.2e1 * t2055 * t2322 + 0.2e1 * t2055 * t5523 + 0.2e1 * t670 * t7359 + t7357; + const double t7488 = t531 * t2106; + const double t7489 = t7488 * t7238; + const double t7492 = t212 * t2097; + const double t7493 = t7492 * t1358; + const double t7495 = 0.54878743191129263322e-2 * t689 * t7493; + const double t7496 = t786 * t2098; + const double t7498 = 0.9757440539382783019e-2 * t7496 * t1364; + const double t7499 = 0.7e1 / 0.144e3 * t7250; + const double t7501 = 0.28582678745379824648e-4 * t7257; + const double t7502 = 0.50820002809285328225e-4 * t7260; + const double t7504 = 0.40015750243531754507e-2 * t7267; + const double t7506 = -t7499 - t7253 / 0.24e2 - t7501 + t7502 - 0.85748036236139473944e-3 * t7265 - t7504 - 0.34299214494455789578e-2 * t7272; + const double t7507 = t7506 * t225; + const double t7511 = t213 * t2097; + const double t7514 = t2102 * t72; + const double t7515 = t7514 * t686; + const double t7517 = 0.72280234901709995518e-2 * t7284 * t7515; + const double t7519 = 0.12851425765524037203e-1 * t7289 * t7515; + const double t7522 = t2097 * t1444; + const double t7523 = t7296 * t7522; + const double t7527 = t2097 * t1398 * t543; + const double t7528 = t7301 * t7527; + const double t7531 = t545 * t7506; + const double t7532 = t2028 * t7531; + const double t7535 = -t7495 + t7498 + 0.65854491829355115987e0 * t213 * t7507 * t561 - 0.65854491829355115987e0 * t7511 * t1445 + t7517 - t7519 - 0.4336814094102599731e0 * t7292 * t2103 + 0.8673628188205199462e0 * t7295 * t7523 + 0.4336814094102599731e0 * t7295 * t7528 - 0.4336814094102599731e0 * t2027 * t7532; + const double t7536 = t532 * t7535; + const double t7537 = t7536 * t1450; + const double t7539 = t2107 * t7315; + const double t7541 = -t118 * t7474 - t1310 * t2052 + t1453 * t2093 + 0.3e1 * t2014 * t7489 + t2014 * t7537 - t2014 * t7539 - 0.2e1 * t2056 * t2322 - 0.2e1 * t2056 * t4254 - t2089 * t649 + t2108 * t7235 - t508 * t7357 + t569 * t7484 - 0.2e1 * t651 * t7367 - 0.2e1 * t651 * t7374 - 0.2e1 * t651 * t7378 - 0.2e1 * t671 * t7359; + const double t7542 = t3 * t7541; + const double t7545 = t571 * t2118; + const double t7547 = d * t7541; + const double t7553 = t116 * t2055; + const double t7554 = t7553 * t670; + const double t7557 = t117 * t7373; + const double t7560 = 0.3e1 * t1459 * t2115 + 0.3e1 * t1461 * t2113 + 0.6e1 * t572 * t7554 + 0.3e1 * t572 * t7557 + t573 * t7547; + const double t7562 = t2167 * t575; + const double t7565 = t38 * t2121; + const double t7566 = t2247 * t7565; + const double t7571 = t55 * t60; + const double t7574 = -0.5e1 / 0.6e1 * t7571 * t606 + t6971; + const double t7575 = t7574 * t72; + const double t7576 = t7575 * t1927; + const double t7579 = t2122 * t6977; + const double t7583 = piecewise_functor_3( t8, 0.0, -t6954 * t2123 / 0.6e1 + 0.5e1 / 0.6e1 * t7566 * t6960 + t6963 * t2123 / 0.3e1 - t1923 * t7576 / 0.6e1 - t1923 * t7579 / 0.6e1 ); + const double t7584 = t7583 * t117; + const double t7586 = t2126 * t116; + const double t7591 = t2163 * t670; + const double t7594 = piecewise_functor_3( t394, 0.0, t7193 ); + const double t7599 = piecewise_functor_3( t120, t7099, t2129 * t606 / 0.2e1 + t7594 * t45 / 0.2e1 ); + const double t7602 = t1209 * t2142; + const double t7606 = t2134 * t1219 / 0.288e3; + const double t7607 = t2133 * t800; + const double t7610 = t1230 * t2138; + const double t7613 = t1234 * t2138; + const double t7616 = t1243 * sigma_bb; + const double t7617 = t7616 * t1245; + const double t7618 = t1241 * t7617; + const double t7622 = 0.28582678745379824648e-3 * t2139 * t1256; + const double t7623 = t2137 * t1259; + const double t7624 = t467 * t7623; + const double t7627 = t7606 - t7607 * t1227 / 0.288e3 + 0.42874018118069736972e-3 * t7610 * t484 - 0.42874018118069736972e-3 * t7613 * t1238 + 0.42874018118069736972e-3 * t7618 * t1252 + t7622 - 0.28582678745379824648e-3 * t7624 * t1266; + const double t7629 = t7627 * t225 * t494; + const double t7632 = t460 * t2142; + const double t7635 = t487 * t1032; + const double t7636 = t1209 * t7635; + const double t7637 = t1276 * t473; + const double t7638 = t2142 * t1203; + const double t7639 = t7637 * t7638; + const double t7642 = t2147 * t3565; + const double t7643 = t7642 * t7635; + const double t7644 = t2142 * t1214; + const double t7645 = t7637 * t7644; + const double t7648 = t2148 * t1269; + const double t7651 = t2148 * t7635; + const double t7652 = t3736 * t473; + const double t7653 = t2142 * t1294; + const double t7654 = t7652 * t7653; + const double t7657 = t487 * t3197; + const double t7658 = t7657 * t1276; + const double t7659 = t2148 * t7658; + const double t7660 = t1243 * t2142; + const double t7662 = t7660 * t1248 * t1287; + const double t7666 = t2150 * t473 * t7627; + const double t7669 = 0.65854491829355115987e0 * t1204 * t2144 - 0.65854491829355115987e0 * t7602 * t1215 + 0.65854491829355115987e0 * t460 * t7629 - 0.65854491829355115987e0 * t7632 * t1295 - 0.8673628188205199462e0 * t7636 * t7639 + 0.8673628188205199462e0 * t7643 * t7645 - 0.4336814094102599731e0 * t7648 * t2152 + 0.8673628188205199462e0 * t7651 * t7654 - 0.4336814094102599731e0 * t7659 * t7662 - 0.4336814094102599731e0 * t2149 * t7666; + const double t7673 = t2155 * t3801; + const double t7677 = piecewise_functor_3( t503, t1300 * t198 * t336 * t7669 - t1298 * t5023 * t7673, t7193 ); + const double t7682 = piecewise_functor_3( t400, t7214, -t2159 * t606 / 0.2e1 + t7677 * t57 / 0.2e1 ); + const double t7683 = t7599 + t7682; + const double t7687 = 0.2e1 * t670 * t7586 + t7226 + t7228 + t7230 + t7584; + const double t7690 = -t118 * t7683 - t1310 * t2127 + t1453 * t2165 - t2163 * t649 - t508 * t7584 + t569 * t7687 - 0.2e1 * t651 * t7591 - 0.2e1 * t671 * t7586 - t6990 - t6992 - t6995 - t7005 + t7236 + t7241 + t7314 - t7317; + const double t7691 = t3 * t7690; + const double t7694 = t571 * t2172; + const double t7696 = d * t7690; + const double t7700 = 0.3e1 * t1461 * t2170 + t573 * t7696 + t7329 + t7333 + t7336; + const double t7702 = t4173 * t38; + const double t7705 = t84 * t1497; + const double t7706 = t77 * t7705; + const double t7709 = t603 * t1470; + const double t7714 = 0.5e1 / 0.6e1 * t6968 * t1469 + t6971; + const double t7715 = t7714 * t72; + const double t7716 = t7715 * t1927; + const double t7719 = t76 * t1493; + const double t7720 = t1926 * t7719; + const double t7724 = piecewise_functor_3( t8, 0.0, -t7702 * t1928 / 0.6e1 + 0.5e1 / 0.6e1 * t6958 * t7706 + t7709 * t1928 / 0.3e1 - t1923 * t7716 / 0.6e1 - t1923 * t7720 / 0.6e1 ); + const double t7725 = t7724 * t117; + const double t7731 = 0.2e1 * t4248 * t1937; + const double t7732 = t94 * t1518; + const double t7734 = 0.2e1 * t7732 * t1937; + const double t7735 = t1843 * t1936; + const double t7737 = 0.2e1 * t651 * t7735; + const double t7738 = t6998 * t1513; + const double t7741 = piecewise_functor_3( t115, 0.0, -t6997 - t7738 / 0.8e1 ); + const double t7742 = t508 * t7741; + const double t7744 = 0.2e1 * t651 * t7742; + const double t7746 = t2007 * t1518; + const double t7749 = t30 * t1544; + const double t7750 = t1963 * t7749; + const double t7753 = t7025 * t1549; + const double t7755 = t7038 * t1561; + const double t7757 = t7045 * t1565; + const double t7759 = -t7024 - t7753 / 0.48e2 - t7032 + t7035 - 0.42874018118069736972e-3 * t7755 - t7042 - 0.17149607247227894789e-2 * t7757; + const double t7760 = t7759 * t225; + const double t7766 = t1955 * t1568; + const double t7769 = t1949 * t1579; + const double t7770 = t7071 * t7769; + const double t7774 = t1949 * t1558 * t231; + const double t7775 = t7076 * t7774; + const double t7778 = t233 * t7759; + const double t7779 = t1957 * t7778; + const double t7782 = -t7017 + t7020 + 0.65854491829355115987e0 * t213 * t7760 * t257 - 0.65854491829355115987e0 * t7053 * t1580 + t7062 - t7066 - 0.4336814094102599731e0 * t7766 * t1959 + 0.8673628188205199462e0 * t7070 * t7770 + 0.4336814094102599731e0 * t7070 * t7775 - 0.4336814094102599731e0 * t1956 * t7779; + const double t7783 = t7782 * t892; + const double t7787 = t30 * t1583; + const double t7794 = 0.3e1 / 0.2e1 * t2832 * t7750 + t1940 * t7783 * t30 / 0.2e1 - t1940 * t7091 * t7787 / 0.2e1 + t1940 * t1963 * t1468 / 0.2e1; + const double t7801 = t1659 * t1972; + const double t7810 = t7110 + t7111 * t1656 / 0.288e3 + 0.42874018118069736972e-3 * t7801 * t375 - 0.42874018118069736972e-3 * t7117 * t1665 + 0.42874018118069736972e-3 * t7122 * t1671 + t7130 + 0.28582678745379824648e-3 * t7132 * t1675; + const double t7812 = t7810 * t225 * t385; + const double t7817 = t1976 * t1646; + const double t7818 = t7145 * t7817; + const double t7821 = t1976 * t1651; + const double t7822 = t7145 * t7821; + const double t7825 = t1982 * t1678; + const double t7828 = t1976 * t1695; + const double t7829 = t7160 * t7828; + const double t7833 = t7168 * t1668 * t1089; + const double t7837 = t1984 * t359 * t7810; + const double t7840 = 0.65854491829355115987e0 * t1647 * t1978 - 0.65854491829355115987e0 * t7102 * t1652 + 0.65854491829355115987e0 * t342 * t7812 - 0.65854491829355115987e0 * t7140 * t1696 - 0.8673628188205199462e0 * t7144 * t7818 + 0.8673628188205199462e0 * t7151 * t7822 - 0.4336814094102599731e0 * t7825 * t1986 + 0.8673628188205199462e0 * t7159 * t7829 - 0.4336814094102599731e0 * t7167 * t7833 - 0.4336814094102599731e0 * t1983 * t7837; + const double t7847 = t1963 * t1544; + const double t7850 = t207 * t7782; + const double t7855 = -t1583 * t1940 * t7091 + t198 * t7850 * t892 + 0.3e1 * t2832 * t7847; + const double t7856 = piecewise_functor_3( t394, t1102 * t198 * t336 * t7840 - t1699 * t5023 * t7181, t7855 ); + const double t7861 = piecewise_functor_3( t120, t7794, t1996 * t1469 / 0.2e1 + t7856 * t45 / 0.2e1 ); + const double t7862 = t33 * t1544; + const double t7863 = t1963 * t7862; + const double t7869 = t33 * t1583; + const double t7876 = 0.3e1 / 0.2e1 * t2832 * t7863 + t1940 * t7783 * t33 / 0.2e1 - t1940 * t7091 * t7869 / 0.2e1 + t1940 * t1963 * t1711 / 0.2e1; + const double t7877 = piecewise_functor_3( t503, 0.0, t7855 ); + const double t7882 = piecewise_functor_3( t400, t7876, -t2003 * t1469 / 0.2e1 + t7877 * t57 / 0.2e1 ); + const double t7883 = t7861 + t7882; + const double t7888 = 0.2e1 * t4248 * t1936; + const double t7889 = t93 * t1518; + const double t7891 = 0.2e1 * t7889 * t1936; + const double t7893 = 0.2e1 * t1312 * t7741; + const double t7894 = 0.2e1 * t1518 * t6985 + t7725 + t7888 + t7891 + t7893; + const double t7897 = t1847 * t196; + const double t7898 = t7897 * t197; + const double t7899 = t7898 * t2035; + const double t7900 = t1450 * t1868; + const double t7901 = t7237 * t7900; + const double t7903 = 0.3e1 * t2014 * t7901; + const double t7904 = t7252 * t1873; + const double t7906 = t7264 * t1885; + const double t7908 = t7271 * t1889; + const double t7910 = -t7251 - t7904 / 0.48e2 - t7258 + t7261 - 0.42874018118069736972e-3 * t7906 - t7268 - 0.17149607247227894789e-2 * t7908; + const double t7911 = t7910 * t225; + const double t7917 = t1955 * t1892; + const double t7920 = t2022 * t1903; + const double t7921 = t7296 * t7920; + const double t7925 = t2022 * t1882 * t543; + const double t7926 = t7301 * t7925; + const double t7929 = t545 * t7910; + const double t7930 = t2028 * t7929; + const double t7933 = -t7245 + t7248 + 0.65854491829355115987e0 * t213 * t7911 * t561 - 0.65854491829355115987e0 * t7279 * t1904 + t7288 - t7291 - 0.4336814094102599731e0 * t7917 * t2030 + 0.8673628188205199462e0 * t7295 * t7921 + 0.4336814094102599731e0 * t7295 * t7926 - 0.4336814094102599731e0 * t2027 * t7930; + const double t7934 = t532 * t7933; + const double t7935 = t7934 * t1450; + const double t7936 = t2014 * t7935; + const double t7937 = t2034 * t5778; + const double t7938 = t2014 * t7937; + const double t7939 = -t118 * t7883 - t1502 * t2007 - 0.2e1 * t1519 * t6985 - t1843 * t1932 + t1911 * t2011 - t508 * t7725 + t569 * t7894 - 0.2e1 * t651 * t7746 - t7731 - t7734 - t7737 - t7744 + t7899 + t7903 + t7936 - t7938; + const double t7940 = t3 * t7939; + const double t7944 = d * t7939; + const double t7949 = 0.3e1 * t1916 * t2042; + const double t7950 = t7330 * t1518; + const double t7952 = 0.6e1 * t572 * t7950; + const double t7953 = t117 * t7741; + const double t7955 = 0.3e1 * t572 * t7953; + const double t7956 = 0.3e1 * t1918 * t2040 + t573 * t7944 + t7949 + t7952 + t7955; + const double t7964 = t2047 * t7719; + const double t7968 = piecewise_functor_3( t8, 0.0, t7702 * t2048 / 0.3e1 - 0.5e1 / 0.3e1 * t7343 * t7706 - 0.2e1 / 0.3e1 * t7709 * t2048 - t7351 + t1923 * t7964 / 0.3e1 ); + const double t7969 = t7968 * t117; + const double t7978 = t1843 * t2055; + const double t7983 = piecewise_functor_3( t115, 0.0, -t7370 - t7738 / 0.4e1 ); + const double t7984 = t508 * t7983; + const double t7988 = t2089 * t1518; + const double t7991 = t2071 * t7749; + const double t7997 = -t7391 - t7753 / 0.24e2 - t7393 + t7394 - 0.85748036236139473944e-3 * t7755 - t7396 - 0.34299214494455789578e-2 * t7757; + const double t7998 = t7997 * t225; + const double t8006 = t2061 * t1579; + const double t8007 = t7071 * t8006; + const double t8011 = t2061 * t1558 * t231; + const double t8012 = t7076 * t8011; + const double t8015 = t233 * t7997; + const double t8016 = t1957 * t8015; + const double t8019 = -t7387 + t7390 + 0.65854491829355115987e0 * t213 * t7998 * t257 - 0.65854491829355115987e0 * t7403 * t1580 + t7409 - t7411 - 0.4336814094102599731e0 * t7766 * t2067 + 0.8673628188205199462e0 * t7070 * t8007 + 0.4336814094102599731e0 * t7070 * t8012 - 0.4336814094102599731e0 * t1956 * t8016; + const double t8020 = t8019 * t892; + const double t8031 = t2071 * t1544; + const double t8034 = t207 * t8019; + const double t8039 = -t1583 * t1940 * t7432 + t198 * t8034 * t892 + 0.3e1 * t2832 * t8031; + const double t8040 = piecewise_functor_3( t394, 0.0, t8039 ); + const double t8045 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2832 * t7991 + t1940 * t8020 * t30 / 0.2e1 - t1940 * t7432 * t7787 / 0.2e1 + t1940 * t2071 * t1468 / 0.2e1, t2078 * t1469 / 0.2e1 + t8040 * t45 / 0.2e1 ); + const double t8046 = t2071 * t7862; + const double t8059 = piecewise_functor_3( t503, 0.0, t8039 ); + const double t8064 = piecewise_functor_3( t400, 0.3e1 / 0.2e1 * t2832 * t8046 + t1940 * t8020 * t33 / 0.2e1 - t1940 * t7432 * t7869 / 0.2e1 + t1940 * t2071 * t1711 / 0.2e1, -t2085 * t1469 / 0.2e1 + t8059 * t57 / 0.2e1 ); + const double t8065 = t8045 + t8064; + const double t8075 = 0.2e1 * t1312 * t7983 + 0.2e1 * t1518 * t7359 + 0.2e1 * t2055 * t4248 + 0.2e1 * t2055 * t7889 + t7969; + const double t8079 = t7488 * t7900; + const double t8085 = -t7499 - t7904 / 0.24e2 - t7501 + t7502 - 0.85748036236139473944e-3 * t7906 - t7504 - 0.34299214494455789578e-2 * t7908; + const double t8086 = t8085 * t225; + const double t8094 = t2097 * t1903; + const double t8095 = t7296 * t8094; + const double t8099 = t2097 * t1882 * t543; + const double t8100 = t7301 * t8099; + const double t8103 = t545 * t8085; + const double t8104 = t2028 * t8103; + const double t8107 = -t7495 + t7498 + 0.65854491829355115987e0 * t213 * t8086 * t561 - 0.65854491829355115987e0 * t7511 * t1904 + t7517 - t7519 - 0.4336814094102599731e0 * t7917 * t2103 + 0.8673628188205199462e0 * t7295 * t8095 + 0.4336814094102599731e0 * t7295 * t8100 - 0.4336814094102599731e0 * t2027 * t8104; + const double t8108 = t532 * t8107; + const double t8109 = t8108 * t1450; + const double t8111 = t2107 * t5778; + const double t8113 = -t118 * t8065 - t1502 * t2089 - 0.2e1 * t1519 * t7359 - t1843 * t2052 + t1911 * t2093 + 0.3e1 * t2014 * t8079 + t2014 * t8109 - t2014 * t8111 - 0.2e1 * t2056 * t4248 - 0.2e1 * t2056 * t7732 + t2108 * t7898 - t508 * t7969 + t569 * t8075 - 0.2e1 * t651 * t7978 - 0.2e1 * t651 * t7984 - 0.2e1 * t651 * t7988; + const double t8114 = t3 * t8113; + const double t8118 = d * t8113; + const double t8124 = t7553 * t1518; + const double t8127 = t117 * t7983; + const double t8130 = 0.3e1 * t1916 * t2115 + 0.3e1 * t1918 * t2113 + 0.6e1 * t572 * t8124 + 0.3e1 * t572 * t8127 + t573 * t8118; + const double t8142 = -0.8e1 / 0.3e1 * t1479 * t61 - 0.5e1 / 0.6e1 * t7571 * t1469 + t6971; + const double t8143 = t8142 * t72; + const double t8144 = t8143 * t1927; + const double t8147 = t2122 * t7719; + const double t8151 = piecewise_functor_3( t8, 0.0, -t7702 * t2123 / 0.6e1 + 0.5e1 / 0.6e1 * t7566 * t7706 + t7709 * t2123 / 0.3e1 - t1923 * t8144 / 0.6e1 - t1923 * t8147 / 0.6e1 ); + const double t8152 = t8151 * t117; + const double t8158 = t2163 * t1518; + const double t8161 = piecewise_functor_3( t394, 0.0, t7855 ); + const double t8166 = piecewise_functor_3( t120, t7794, t2129 * t1469 / 0.2e1 + t8161 * t45 / 0.2e1 ); + const double t8171 = t1479 * t343; + const double t8172 = t8171 * t136; + const double t8177 = t1785 * t2138; + const double t8184 = t2137 * t1802; + const double t8185 = t467 * t8184; + const double t8190 = -t8172 * t464 / 0.36e2 + t7606 - t7607 * t1782 / 0.288e3 + 0.42874018118069736972e-3 * t8177 * t484 - 0.42874018118069736972e-3 * t7613 * t1791 + 0.42874018118069736972e-3 * t7618 * t1797 - 0.22866142996303859718e-2 * t8185 * t484 + t7622 - 0.28582678745379824648e-3 * t7624 * t1808; + const double t8192 = t8190 * t225 * t494; + const double t8197 = t2142 * t1769; + const double t8198 = t7637 * t8197; + const double t8201 = t2142 * t1774; + const double t8202 = t7637 * t8201; + const double t8205 = t2148 * t1811; + const double t8208 = t2142 * t1828; + const double t8209 = t7652 * t8208; + const double t8213 = t7660 * t1794 * t1287; + const double t8217 = t2150 * t473 * t8190; + const double t8220 = 0.65854491829355115987e0 * t1770 * t2144 - 0.65854491829355115987e0 * t7602 * t1775 + 0.65854491829355115987e0 * t460 * t8192 - 0.65854491829355115987e0 * t7632 * t1829 - 0.8673628188205199462e0 * t7636 * t8198 + 0.8673628188205199462e0 * t7643 * t8202 - 0.4336814094102599731e0 * t8205 * t2152 + 0.8673628188205199462e0 * t7651 * t8209 - 0.4336814094102599731e0 * t7659 * t8213 - 0.4336814094102599731e0 * t2149 * t8217; + const double t8227 = piecewise_functor_3( t503, t1300 * t198 * t336 * t8220 - t1832 * t5023 * t7673, t7855 ); + const double t8232 = piecewise_functor_3( t400, t7876, -t2159 * t1469 / 0.2e1 + t8227 * t57 / 0.2e1 ); + const double t8233 = t8166 + t8232; + const double t8237 = 0.2e1 * t1518 * t7586 + t7888 + t7891 + t7893 + t8152; + const double t8240 = -t118 * t8233 - t1502 * t2163 - 0.2e1 * t1519 * t7586 - t1843 * t2127 + t1911 * t2165 - t508 * t8152 + t569 * t8237 - 0.2e1 * t651 * t8158 - t7731 - t7734 - t7737 - t7744 + t7899 + t7903 + t7936 - t7938; + const double t8241 = t3 * t8240; + const double t8245 = d * t8240; + const double t8249 = 0.3e1 * t1918 * t2170 + t573 * t8245 + t7949 + t7952 + t7955; + const double t8251 = t2184 * t575; + const double t8254 = t1310 * t2178; + const double t8257 = t625 * t2175 / 0.3e1; + const double t8258 = t69 * t2339; + const double t8259 = t96 * t101; + const double t8260 = t8259 * t665; + const double t8264 = t655 * t43 * t101; + const double t8267 = t69 * t655; + const double t8268 = t96 * t100; + const double t8269 = t8268 * t658; + const double t8273 = piecewise_functor_3( t115, 0.0, t8257 + t8258 * t8260 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t8264 - 0.5e1 / 0.24e2 * t8267 * t8269 ); + const double t8274 = t508 * t8273; + const double t8278 = t8273 * t569; + const double t8280 = t2178 * t1453; + const double t8283 = 0.2e1 * t1312 * t8278 + 0.2e1 * t1312 * t8280 - 0.2e1 * t2179 * t2322 - 0.2e1 * t2179 * t4254 + 0.2e1 * t2181 * t2322 + 0.2e1 * t2181 * t5523 - 0.2e1 * t651 * t8254 - 0.2e1 * t651 * t8274; + const double t8284 = t3 * t8283; + const double t8287 = t571 * t2192; + const double t8289 = d * t8283; + const double t8295 = t116 * t2178; + const double t8296 = t8295 * t670; + const double t8299 = t117 * t8273; + const double t8302 = 0.3e1 * t1459 * t2189 + 0.3e1 * t1461 * t2187 + 0.6e1 * t572 * t8296 + 0.3e1 * t572 * t8299 + t573 * t8289; + const double t8304 = t2204 * t575; + const double t8307 = t1310 * t2198; + const double t8310 = t625 * t2195 / 0.3e1; + const double t8311 = t104 * t109; + const double t8312 = t8311 * t665; + const double t8315 = t104 * t108; + const double t8316 = t8315 * t661; + const double t8320 = piecewise_functor_3( t115, 0.0, t8310 + t8258 * t8312 / 0.4e1 - 0.5e1 / 0.24e2 * t8267 * t8316 ); + const double t8321 = t508 * t8320; + const double t8325 = t8320 * t569; + const double t8327 = t2198 * t1453; + const double t8330 = 0.2e1 * t1312 * t8325 + 0.2e1 * t1312 * t8327 - 0.2e1 * t2199 * t2322 - 0.2e1 * t2199 * t4254 + 0.2e1 * t2201 * t2322 + 0.2e1 * t2201 * t5523 - 0.2e1 * t651 * t8307 - 0.2e1 * t651 * t8321; + const double t8331 = t3 * t8330; + const double t8334 = t571 * t2212; + const double t8336 = d * t8330; + const double t8342 = t116 * t2198; + const double t8343 = t8342 * t670; + const double t8346 = t117 * t8320; + const double t8349 = 0.3e1 * t1459 * t2209 + 0.3e1 * t1461 * t2207 + 0.6e1 * t572 * t8343 + 0.3e1 * t572 * t8346 + t573 * t8336; + const double t8353 = t1843 * t2178; + const double t8355 = t8259 * t1513; + const double t8358 = t8268 * t1504; + const double t8362 = piecewise_functor_3( t115, 0.0, t8257 + t8258 * t8355 / 0.4e1 - 0.5e1 / 0.24e2 * t8267 * t8358 ); + const double t8363 = t508 * t8362; + const double t8367 = t8362 * t569; + const double t8369 = t2178 * t1911; + const double t8372 = 0.2e1 * t1312 * t8367 + 0.2e1 * t1312 * t8369 - 0.2e1 * t2179 * t4248 - 0.2e1 * t2179 * t7732 + 0.2e1 * t2181 * t4248 + 0.2e1 * t2181 * t7889 - 0.2e1 * t651 * t8353 - 0.2e1 * t651 * t8363; + const double t8373 = t3 * t8372; + const double t8377 = d * t8372; + const double t8383 = t8295 * t1518; + const double t8386 = t117 * t8362; + const double t8389 = 0.3e1 * t1916 * t2189 + 0.3e1 * t1918 * t2187 + 0.6e1 * t572 * t8383 + 0.3e1 * t572 * t8386 + t573 * t8377; + const double t8393 = t1843 * t2198; + const double t8395 = t8311 * t1513; + const double t8399 = t655 * t55 * t109; + const double t8402 = t8315 * t1509; + const double t8406 = piecewise_functor_3( t115, 0.0, t8310 + t8258 * t8395 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t8399 - 0.5e1 / 0.24e2 * t8267 * t8402 ); + const double t8407 = t508 * t8406; + const double t8411 = t8406 * t569; + const double t8413 = t2198 * t1911; + const double t8416 = 0.2e1 * t1312 * t8411 + 0.2e1 * t1312 * t8413 - 0.2e1 * t2199 * t4248 - 0.2e1 * t2199 * t7732 + 0.2e1 * t2201 * t4248 + 0.2e1 * t2201 * t7889 - 0.2e1 * t651 * t8393 - 0.2e1 * t651 * t8407; + const double t8417 = t3 * t8416; + const double t8421 = d * t8416; + const double t8427 = t8342 * t1518; + const double t8430 = t117 * t8406; + const double t8433 = 0.3e1 * t1916 * t2209 + 0.3e1 * t1918 * t2207 + 0.6e1 * t572 * t8427 + 0.3e1 * t572 * t8430 + t573 * t8421; + const double t8435 = t38 * t38; + const double t8436 = t2247 * t8435; + const double t8437 = t1925 * t1925; + const double t8438 = t8437 * t136; + const double t8441 = t84 * t84; + const double t8442 = t8440 * t8441; + const double t8443 = t8438 * t8442; + const double t8446 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t8436 * t8443 ); + const double t8447 = t8446 * t117; + const double t8449 = t6985 * t1937; + const double t8453 = t1936 * t1936; + const double t8454 = t94 * t8453; + const double t8456 = 0.2e1 * t8454 * t508; + const double t8457 = t2007 * t1936; + const double t8458 = t651 * t8457; + const double t8460 = piecewise_functor_3( t115, 0.0, 0.0 ); + const double t8461 = t508 * t8460; + const double t8462 = t651 * t8461; + const double t8463 = 0.2e1 * t8462; + const double t8464 = t1032 * t233; + const double t8468 = t827 * t828 * t257; + const double t8469 = t1955 * t8464 * t239 * t8468; + const double t8471 = t1949 * t1949; + const double t8472 = t1955 * t8471; + const double t8473 = t1957 * t233; + const double t8476 = t1954 * t209; + const double t8477 = t8476 * t2533; + const double t8478 = t8477 * t251; + const double t8479 = t3197 * t2760; + const double t8480 = t822 * t8471; + const double t8481 = t8479 * t8480; + const double t8484 = t3197 * t867; + const double t8485 = t8484 * t822; + const double t8486 = t8478 * t8485; + const double t8487 = t8486 * t248; + const double t8489 = 0.28234466758480466999e-3 * t8469 - 0.8673628188205199462e0 * t8472 * t8473 + 0.57119737665102352616e0 * t8478 * t8481 - 0.1859366460452550541e-3 * t8487; + const double t8490 = t8489 * t892; + const double t8493 = t1962 * t1962; + const double t8494 = t8493 * t2495; + const double t8498 = t1940 * t8490 * t30 / 0.2e1 - t1940 * t8494 * t30 / 0.2e1; + const double t8499 = t1982 * t1032; + const double t8500 = t359 * t365; + const double t8501 = t8500 * t369; + const double t8502 = t8499 * t8501; + const double t8504 = t247 * t3084 * t385; + const double t8507 = t1976 * t1976; + const double t8508 = t1982 * t8507; + const double t8509 = t1984 * t359; + const double t8512 = t1981 * t338; + const double t8513 = t8512 * t3056; + const double t8514 = t8513 * t378; + const double t8515 = t3197 * t3268; + const double t8517 = t8515 * t1035 * t8507; + const double t8520 = t3197 * t1078; + const double t8521 = t8520 * t1035; + const double t8522 = t8514 * t8521; + const double t8523 = t1061 * t72; + const double t8524 = t8523 * t3085; + const double t8527 = 0.28234466758480466999e-3 * t8502 * t8504 - 0.8673628188205199462e0 * t8508 * t8509 + 0.57119737665102352616e0 * t8514 * t8517 - 0.1859366460452550541e-3 * t8522 * t8524; + const double t8531 = t1989 * t1989; + const double t8536 = t207 * t8489; + const double t8539 = t207 * t8493; + const double t8542 = -t198 * t2495 * t8539 + t198 * t8536 * t892; + const double t8543 = piecewise_functor_3( t394, t1102 * t198 * t336 * t8527 - t198 * t3336 * t336 * t8531, t8542 ); + const double t8546 = piecewise_functor_3( t120, t8498, t8543 * t45 / 0.2e1 ); + const double t8552 = t1940 * t8490 * t33 / 0.2e1 - t1940 * t8494 * t33 / 0.2e1; + const double t8553 = piecewise_functor_3( t503, 0.0, t8542 ); + const double t8556 = piecewise_functor_3( t400, t8552, t8553 * t57 / 0.2e1 ); + const double t8557 = t8546 + t8556; + const double t8559 = t6985 * t1936; + const double t8562 = 0.2e1 * t93 * t8453; + const double t8563 = t1312 * t8460; + const double t8564 = 0.2e1 * t8563; + const double t8565 = t8447 + 0.4e1 * t8559 + t8562 + t8564; + const double t8567 = t2011 * t196; + const double t8568 = t8567 * t197; + const double t8569 = t8568 * t2035; + const double t8571 = t1032 * t545; + const double t8575 = t1390 * t828 * t561; + const double t8576 = t1955 * t8571 * t239 * t8575; + const double t8578 = t2022 * t2022; + const double t8579 = t1955 * t8578; + const double t8580 = t2028 * t545; + const double t8583 = t8477 * t555; + const double t8584 = t3197 * t4082; + const double t8585 = t1385 * t8578; + const double t8586 = t8584 * t8585; + const double t8589 = t3197 * t1426; + const double t8590 = t8589 * t1385; + const double t8591 = t8583 * t8590; + const double t8592 = t8591 * t552; + const double t8594 = 0.28234466758480466999e-3 * t8576 - 0.8673628188205199462e0 * t8579 * t8580 + 0.57119737665102352616e0 * t8583 * t8586 - 0.1859366460452550541e-3 * t8592; + const double t8595 = t532 * t8594; + const double t8596 = t8595 * t1450; + const double t8597 = t2014 * t8596; + const double t8598 = t2033 * t2033; + const double t8599 = t532 * t8598; + const double t8600 = t8599 * t3879; + const double t8601 = t2014 * t8600; + const double t8602 = -t118 * t8557 - 0.2e1 * t1932 * t2007 - t508 * t8447 + t569 * t8565 - 0.4e1 * t8449 - t8456 - 0.4e1 * t8458 - t8463 + 0.2e1 * t8569 + t8597 - t8601; + const double t8603 = t3 * t8602; + const double t8607 = d * t8602; + const double t8609 = t2040 * t2042; + const double t8611 = t116 * t8453; + const double t8613 = 0.6e1 * t572 * t8611; + const double t8614 = t117 * t8460; + const double t8616 = 0.3e1 * t572 * t8614; + const double t8617 = t573 * t8607 + 0.6e1 * t8609 + t8613 + t8616; + const double t8619 = t8435 * t68; + const double t8620 = t2247 * t8619; + const double t8622 = t8441 * t1925; + const double t8623 = t8621 * t8622; + const double t8626 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t8620 * t8623 ); + const double t8627 = t8626 * t117; + const double t8630 = 0.2e1 * t7359 * t1937; + const double t8634 = t94 * t1936; + const double t8636 = 0.2e1 * t8634 * t2056; + const double t8637 = t2007 * t2055; + const double t8641 = t2089 * t1936; + const double t8643 = 0.2e1 * t651 * t8641; + const double t8645 = t1955 * t2061; + const double t8648 = t251 * t3197; + const double t8649 = t8477 * t8648; + const double t8650 = t2760 * t822; + const double t8651 = t2061 * t1949; + const double t8652 = t8650 * t8651; + const double t8656 = 0.56468933516960933999e-3 * t8469 - 0.8673628188205199462e0 * t8645 * t1959 + 0.57119737665102352616e0 * t8649 * t8652 - 0.3718732920905101082e-3 * t8487; + const double t8657 = t8656 * t892; + const double t8660 = t30 * t1962; + const double t8665 = t207 * t8656; + const double t8670 = -t1940 * t1962 * t7432 + t198 * t8665 * t892; + const double t8671 = piecewise_functor_3( t394, 0.0, t8670 ); + const double t8674 = piecewise_functor_3( t120, t1940 * t8657 * t30 / 0.2e1 - t1940 * t7432 * t8660 / 0.2e1, t8671 * t45 / 0.2e1 ); + const double t8677 = t33 * t1962; + const double t8682 = piecewise_functor_3( t503, 0.0, t8670 ); + const double t8685 = piecewise_functor_3( t400, t1940 * t8657 * t33 / 0.2e1 - t1940 * t7432 * t8677 / 0.2e1, t8682 * t57 / 0.2e1 ); + const double t8686 = t8674 + t8685; + const double t8687 = t118 * t8686; + const double t8689 = 0.2e1 * t7359 * t1936; + const double t8692 = t93 * t1936; + const double t8694 = 0.2e1 * t8692 * t2055; + const double t8695 = 0.2e1 * t2055 * t6985 + t8564 + t8627 + t8689 + t8694; + const double t8697 = t2093 * t196; + const double t8698 = t8697 * t197; + const double t8699 = t8698 * t2035; + const double t8702 = t1955 * t2097; + const double t8705 = t555 * t3197; + const double t8706 = t8477 * t8705; + const double t8707 = t4082 * t1385; + const double t8708 = t2097 * t2022; + const double t8709 = t8707 * t8708; + const double t8713 = 0.56468933516960933999e-3 * t8576 - 0.8673628188205199462e0 * t8702 * t2030 + 0.57119737665102352616e0 * t8706 * t8709 - 0.3718732920905101082e-3 * t8592; + const double t8714 = t532 * t8713; + const double t8715 = t8714 * t1450; + const double t8716 = t2014 * t8715; + const double t8717 = t3879 * t2033; + const double t8718 = t2107 * t8717; + const double t8719 = t2014 * t8718; + const double t8720 = -t1932 * t2089 - t2007 * t2052 - 0.2e1 * t2056 * t6985 + t2108 * t8568 - t508 * t8627 + t569 * t8695 - 0.2e1 * t651 * t8637 - t8463 - t8630 - t8636 - t8643 - t8687 + t8699 + t8716 - t8719; + const double t8721 = t3 * t8720; + const double t8725 = d * t8720; + const double t8728 = 0.3e1 * t2113 * t2042; + const double t8731 = t7553 * t1936; + const double t8733 = 0.6e1 * t572 * t8731; + const double t8734 = 0.3e1 * t2040 * t2115 + t573 * t8725 + t8616 + t8728 + t8733; + const double t8736 = t8435 * t2121; + const double t8737 = t2247 * t8736; + const double t8740 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t8737 * t8623 ); + const double t8741 = t8740 * t117; + const double t8743 = t7586 * t1937; + const double t8749 = t2163 * t1936; + const double t8750 = t651 * t8749; + const double t8752 = piecewise_functor_3( t394, 0.0, t8542 ); + const double t8755 = piecewise_functor_3( t120, t8498, t8752 * t45 / 0.2e1 ); + const double t8756 = t8755 + t8556; + const double t8758 = t7586 * t1936; + const double t8761 = t8741 + 0.2e1 * t8758 + 0.2e1 * t8559 + t8562 + t8564; + const double t8763 = t2165 * t196; + const double t8764 = t8763 * t197; + const double t8765 = t8764 * t2035; + const double t8766 = -t118 * t8756 - t1932 * t2163 - t2007 * t2127 - t508 * t8741 + t569 * t8761 - 0.2e1 * t8449 - t8456 - 0.2e1 * t8458 - t8463 + t8569 + t8597 - t8601 - 0.2e1 * t8743 - 0.2e1 * t8750 + t8765; + const double t8767 = t3 * t8766; + const double t8771 = d * t8766; + const double t8773 = t2170 * t2042; + const double t8776 = t573 * t8771 + 0.3e1 * t8609 + t8613 + t8616 + 0.3e1 * t8773; + const double t8779 = 0.1e1 / t65 / t587; + const double t8780 = t8779 * t136; + const double t8781 = t8780 * t8442; + const double t8784 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.36e2 * t8436 * t8781 ); + const double t8785 = t8784 * t117; + const double t8791 = t2055 * t2055; + const double t8792 = t94 * t8791; + const double t8795 = t2089 * t2055; + const double t8799 = t2061 * t2061; + const double t8800 = t1955 * t8799; + const double t8803 = t822 * t8799; + const double t8804 = t8479 * t8803; + const double t8808 = 0.112937867033921868e-2 * t8469 - 0.8673628188205199462e0 * t8800 * t8473 + 0.57119737665102352616e0 * t8478 * t8804 - 0.74374658418102021641e-3 * t8487; + const double t8809 = t8808 * t892; + const double t8812 = t2070 * t2070; + const double t8813 = t8812 * t2495; + const double t8818 = t207 * t8808; + const double t8821 = t207 * t8812; + const double t8824 = -t198 * t2495 * t8821 + t198 * t8818 * t892; + const double t8825 = piecewise_functor_3( t394, 0.0, t8824 ); + const double t8828 = piecewise_functor_3( t120, t1940 * t8809 * t30 / 0.2e1 - t1940 * t8813 * t30 / 0.2e1, t8825 * t45 / 0.2e1 ); + const double t8835 = piecewise_functor_3( t503, 0.0, t8824 ); + const double t8838 = piecewise_functor_3( t400, t1940 * t8809 * t33 / 0.2e1 - t1940 * t8813 * t33 / 0.2e1, t8835 * t57 / 0.2e1 ); + const double t8839 = t8828 + t8838; + const double t8845 = 0.4e1 * t2055 * t7359 + 0.2e1 * t8791 * t93 + t8564 + t8785; + const double t8850 = t2097 * t2097; + const double t8851 = t1955 * t8850; + const double t8854 = t1385 * t8850; + const double t8855 = t8584 * t8854; + const double t8859 = 0.112937867033921868e-2 * t8576 - 0.8673628188205199462e0 * t8851 * t8580 + 0.57119737665102352616e0 * t8583 * t8855 - 0.74374658418102021641e-3 * t8592; + const double t8860 = t532 * t8859; + const double t8861 = t8860 * t1450; + const double t8863 = t2106 * t2106; + const double t8864 = t532 * t8863; + const double t8865 = t8864 * t3879; + const double t8867 = -t118 * t8839 + t2014 * t8861 - t2014 * t8865 - 0.2e1 * t2052 * t2089 - 0.4e1 * t2056 * t7359 + 0.2e1 * t2108 * t8698 - t508 * t8785 - 0.2e1 * t508 * t8792 + t569 * t8845 - 0.4e1 * t651 * t8795 - t8463; + const double t8868 = t3 * t8867; + const double t8872 = d * t8867; + const double t8876 = t116 * t8791; + const double t8879 = 0.6e1 * t2113 * t2115 + 0.6e1 * t572 * t8876 + t573 * t8872 + t8616; + const double t8881 = t8441 * t68; + const double t8882 = t8621 * t8881; + const double t8885 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t8737 * t8882 ); + const double t8886 = t8885 * t117; + const double t8892 = t2163 * t2055; + const double t8897 = 0.2e1 * t2055 * t7586 + t8564 + t8689 + t8694 + t8886; + const double t8900 = -t2052 * t2163 - 0.2e1 * t2056 * t7586 - t2089 * t2127 + t2108 * t8764 - t508 * t8886 + t569 * t8897 - 0.2e1 * t651 * t8892 - t8463 - t8630 - t8636 - t8643 - t8687 + t8699 + t8716 - t8719; + const double t8901 = t3 * t8900; + const double t8905 = d * t8900; + const double t8909 = 0.3e1 * t2115 * t2170 + t573 * t8905 + t8616 + t8728 + t8733; + const double t8911 = t2121 * t2121; + const double t8912 = t8911 * t136; + const double t8913 = t8912 * t8442; + const double t8916 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t8436 * t8913 ); + const double t8917 = t8916 * t117; + const double t8923 = t2148 * t1032; + const double t8924 = t473 * t479; + const double t8925 = t8924 * t369; + const double t8926 = t8923 * t8925; + const double t8928 = t247 * t3604 * t494; + const double t8931 = t2142 * t2142; + const double t8932 = t2148 * t8931; + const double t8933 = t2150 * t473; + const double t8936 = t2147 * t456; + const double t8937 = t8936 * t3565; + const double t8938 = t8937 * t487; + const double t8939 = t3197 * t3736; + const double t8941 = t8939 * t1243 * t8931; + const double t8944 = t3197 * t1276; + const double t8945 = t8944 * t1243; + const double t8946 = t8938 * t8945; + const double t8947 = t1259 * t72; + const double t8948 = t8947 * t3605; + const double t8951 = 0.28234466758480466999e-3 * t8926 * t8928 - 0.8673628188205199462e0 * t8932 * t8933 + 0.57119737665102352616e0 * t8938 * t8941 - 0.1859366460452550541e-3 * t8946 * t8948; + const double t8955 = t2155 * t2155; + const double t8960 = piecewise_functor_3( t503, t1300 * t198 * t336 * t8951 - t198 * t336 * t3801 * t8955, t8542 ); + const double t8963 = piecewise_functor_3( t400, t8552, t8960 * t57 / 0.2e1 ); + const double t8964 = t8755 + t8963; + const double t8967 = t8917 + 0.4e1 * t8758 + t8562 + t8564; + const double t8970 = -t118 * t8964 - 0.2e1 * t2127 * t2163 - t508 * t8917 + t569 * t8967 - t8456 - t8463 + t8597 - t8601 - 0.4e1 * t8743 - 0.4e1 * t8750 + 0.2e1 * t8765; + const double t8971 = t3 * t8970; + const double t8975 = d * t8970; + const double t8978 = t573 * t8975 + t8613 + t8616 + 0.6e1 * t8773; + const double t8981 = t8634 * t2179; + const double t8982 = t2007 * t2178; + const double t8984 = t6998 * t8259; + const double t8986 = piecewise_functor_3( t115, 0.0, -t8984 / 0.8e1 ); + const double t8987 = t508 * t8986; + const double t8988 = t651 * t8987; + const double t8990 = t8692 * t2181; + const double t8991 = t8986 * t569; + const double t8992 = t1312 * t8991; + const double t8993 = t2178 * t196; + const double t8994 = t1312 * t8993; + const double t8995 = t197 * t532; + const double t8996 = t2033 * t1450; + const double t8997 = t8995 * t8996; + const double t8998 = t8994 * t8997; + const double t9000 = -0.2e1 * t2179 * t6985 + 0.2e1 * t2181 * t6985 - 0.2e1 * t651 * t8982 - 0.2e1 * t8981 - 0.2e1 * t8988 + 0.2e1 * t8990 + 0.2e1 * t8992 + 0.2e1 * t8998; + const double t9001 = t3 * t9000; + const double t9005 = d * t9000; + const double t9008 = 0.3e1 * t2187 * t2042; + const double t9011 = t8295 * t1936; + const double t9013 = 0.6e1 * t572 * t9011; + const double t9014 = t117 * t8986; + const double t9016 = 0.3e1 * t572 * t9014; + const double t9017 = 0.3e1 * t2040 * t2189 + t573 * t9005 + t9008 + t9013 + t9016; + const double t9020 = t8634 * t2199; + const double t9021 = t2007 * t2198; + const double t9023 = t6998 * t8311; + const double t9025 = piecewise_functor_3( t115, 0.0, -t9023 / 0.8e1 ); + const double t9026 = t508 * t9025; + const double t9027 = t651 * t9026; + const double t9029 = t8692 * t2201; + const double t9030 = t9025 * t569; + const double t9031 = t1312 * t9030; + const double t9032 = t2198 * t196; + const double t9033 = t1312 * t9032; + const double t9034 = t9033 * t8997; + const double t9036 = -0.2e1 * t2199 * t6985 + 0.2e1 * t2201 * t6985 - 0.2e1 * t651 * t9021 - 0.2e1 * t9020 - 0.2e1 * t9027 + 0.2e1 * t9029 + 0.2e1 * t9031 + 0.2e1 * t9034; + const double t9037 = t3 * t9036; + const double t9041 = d * t9036; + const double t9044 = 0.3e1 * t2207 * t2042; + const double t9047 = t8342 * t1936; + const double t9049 = 0.6e1 * t572 * t9047; + const double t9050 = t117 * t9025; + const double t9052 = 0.3e1 * t572 * t9050; + const double t9053 = 0.3e1 * t2040 * t2209 + t573 * t9041 + t9044 + t9049 + t9052; + const double t9056 = t94 * t2055; + const double t9058 = t2089 * t2178; + const double t9061 = piecewise_functor_3( t115, 0.0, -t8984 / 0.4e1 ); + const double t9062 = t508 * t9061; + const double t9065 = t93 * t2055; + const double t9067 = t9061 * t569; + const double t9069 = t2106 * t1450; + const double t9070 = t8995 * t9069; + const double t9073 = 0.2e1 * t1312 * t9067 - 0.2e1 * t2179 * t7359 - 0.2e1 * t2179 * t9056 + 0.2e1 * t2181 * t7359 + 0.2e1 * t2181 * t9065 - 0.2e1 * t651 * t9058 - 0.2e1 * t651 * t9062 + 0.2e1 * t8994 * t9070; + const double t9074 = t3 * t9073; + const double t9078 = d * t9073; + const double t9084 = t8295 * t2055; + const double t9087 = t117 * t9061; + const double t9090 = 0.3e1 * t2113 * t2189 + 0.3e1 * t2115 * t2187 + 0.6e1 * t572 * t9084 + 0.3e1 * t572 * t9087 + t573 * t9078; + const double t9094 = t2089 * t2198; + const double t9097 = piecewise_functor_3( t115, 0.0, -t9023 / 0.4e1 ); + const double t9098 = t508 * t9097; + const double t9102 = t9097 * t569; + const double t9106 = 0.2e1 * t1312 * t9102 - 0.2e1 * t2199 * t7359 - 0.2e1 * t2199 * t9056 + 0.2e1 * t2201 * t7359 + 0.2e1 * t2201 * t9065 - 0.2e1 * t651 * t9094 - 0.2e1 * t651 * t9098 + 0.2e1 * t9033 * t9070; + const double t9107 = t3 * t9106; + const double t9111 = d * t9106; + const double t9117 = t8342 * t2055; + const double t9120 = t117 * t9097; + const double t9123 = 0.3e1 * t2113 * t2209 + 0.3e1 * t2115 * t2207 + 0.6e1 * t572 * t9117 + 0.3e1 * t572 * t9120 + t573 * t9111; + const double t9126 = t2163 * t2178; + const double t9130 = -0.2e1 * t2179 * t7586 + 0.2e1 * t2181 * t7586 - 0.2e1 * t651 * t9126 - 0.2e1 * t8981 - 0.2e1 * t8988 + 0.2e1 * t8990 + 0.2e1 * t8992 + 0.2e1 * t8998; + const double t9131 = t3 * t9130; + const double t9135 = d * t9130; + const double t9139 = 0.3e1 * t2170 * t2189 + t573 * t9135 + t9008 + t9013 + t9016; + const double t9142 = t2163 * t2198; + const double t9146 = -0.2e1 * t2199 * t7586 + 0.2e1 * t2201 * t7586 - 0.2e1 * t651 * t9142 - 0.2e1 * t9020 - 0.2e1 * t9027 + 0.2e1 * t9029 + 0.2e1 * t9031 + 0.2e1 * t9034; + const double t9147 = t3 * t9146; + const double t9151 = d * t9146; + const double t9155 = 0.3e1 * t2170 * t2209 + t573 * t9151 + t9044 + t9049 + t9052; + const double t9157 = t2178 * t2178; + const double t9158 = t94 * t9157; + const double t9161 = 0.1e1 / t40 / t611; + const double t9163 = t98 * t98; + const double t9165 = t99 * t9163 * t98; + const double t9166 = t2339 * t9161 * t9165; + const double t9169 = piecewise_functor_3( t115, 0.0, t69 * t9166 / 0.4e1 ); + const double t9170 = t508 * t9169; + const double t9172 = t93 * t9157; + const double t9174 = t9169 * t569; + const double t9177 = 0.2e1 * t1312 * t9174 - 0.2e1 * t508 * t9158 + 0.2e1 * t569 * t9172 - 0.2e1 * t651 * t9170; + const double t9178 = t3 * t9177; + const double t9182 = d * t9177; + const double t9186 = t116 * t9157; + const double t9189 = t117 * t9169; + const double t9192 = 0.6e1 * t2187 * t2189 + 0.6e1 * t572 * t9186 + 0.3e1 * t572 * t9189 + t573 * t9182; + const double t9194 = t94 * t2178; + const double t9196 = t8311 * t8259; + const double t9199 = piecewise_functor_3( t115, 0.0, t8258 * t9196 / 0.4e1 ); + const double t9200 = t508 * t9199; + const double t9202 = t93 * t2178; + const double t9204 = t9199 * t569; + const double t9207 = 0.2e1 * t1312 * t9204 - 0.2e1 * t2199 * t9194 + 0.2e1 * t2201 * t9202 - 0.2e1 * t651 * t9200; + const double t9208 = t3 * t9207; + const double t9212 = d * t9207; + const double t9218 = t8342 * t2178; + const double t9221 = t117 * t9199; + const double t9224 = 0.3e1 * t2187 * t2209 + 0.3e1 * t2189 * t2207 + 0.6e1 * t572 * t9218 + 0.3e1 * t572 * t9221 + t573 * t9212; + const double t9226 = t2198 * t2198; + const double t9227 = t94 * t9226; + const double t9230 = 0.1e1 / t52 / t1477; + const double t9232 = t106 * t106; + const double t9234 = t107 * t9232 * t106; + const double t9235 = t2339 * t9230 * t9234; + const double t9238 = piecewise_functor_3( t115, 0.0, t69 * t9235 / 0.4e1 ); + const double t9239 = t508 * t9238; + const double t9241 = t93 * t9226; + const double t9243 = t9238 * t569; + const double t9246 = 0.2e1 * t1312 * t9243 - 0.2e1 * t508 * t9227 + 0.2e1 * t569 * t9241 - 0.2e1 * t651 * t9239; + const double t9247 = t3 * t9246; + const double t9251 = d * t9246; + const double t9255 = t116 * t9226; + const double t9258 = t117 * t9238; + const double t9261 = 0.6e1 * t2207 * t2209 + 0.6e1 * t572 * t9255 + 0.3e1 * t572 * t9258 + t573 * t9251; + + + v2rho2_aa = 0.2e1 * t1456 * t1464 + t1458 * t4168 + t4154 * t575 + 0.2e1 * t2214 + 0.2e1 * t2216; + v2rho2_ab = t1456 * t1921 + t1458 * t5808 + t1464 * t1914 + t575 * t5790 + t2214 + t2216 + t4170 + t5793; + v2rho2_bb = t1458 * t6951 + 0.2e1 * t1914 * t1921 + t575 * t6937 + 0.2e1 * t4170 + 0.2e1 * t5793; + v2rhosigma_a_aa = t1456 * t2045 + t1458 * t7337 + t1464 * t2038 + t575 * t7319 + t6953 + t7322; + v2rhosigma_a_ab = t1456 * t2118 + t1458 * t7560 + t1464 * t2111 + t575 * t7542 + t7339 + t7545; + v2rhosigma_a_bb = t1456 * t2172 + t1458 * t7700 + t1464 * t2168 + t575 * t7691 + t7562 + t7694; + v2rhosigma_b_aa = t1458 * t7956 + t1914 * t2045 + t1921 * t2038 + t575 * t7940 + t6953 + t7322; + v2rhosigma_b_ab = t1458 * t8130 + t1914 * t2118 + t1921 * t2111 + t575 * t8114 + t7339 + t7545; + v2rhosigma_b_bb = t1458 * t8249 + t1914 * t2172 + t1921 * t2168 + t575 * t8241 + t7562 + t7694; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1456 * t2192 + t1458 * t8302 + t1464 * t2185 + t575 * t8284 + t8251 + t8287; + v2rhotau_a_b = t1456 * t2212 + t1458 * t8349 + t1464 * t2205 + t575 * t8331 + t8304 + t8334; + v2rhotau_b_a = t1458 * t8389 + t1914 * t2192 + t1921 * t2185 + t575 * t8373 + t8251 + t8287; + v2rhotau_b_b = t1458 * t8433 + t1914 * t2212 + t1921 * t2205 + t575 * t8417 + t8304 + t8334; + v2sigma2_aa_aa = t1458 * t8617 + 0.2e1 * t2038 * t2045 + t575 * t8603; + v2sigma2_aa_ab = t1458 * t8734 + t2038 * t2118 + t2045 * t2111 + t575 * t8721; + v2sigma2_aa_bb = t1458 * t8776 + t2038 * t2172 + t2045 * t2168 + t575 * t8767; + v2sigma2_ab_ab = t1458 * t8879 + 0.2e1 * t2111 * t2118 + t575 * t8868; + v2sigma2_ab_bb = t1458 * t8909 + t2111 * t2172 + t2118 * t2168 + t575 * t8901; + v2sigma2_bb_bb = t1458 * t8978 + 0.2e1 * t2168 * t2172 + t575 * t8971; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t1458 * t9017 + t2038 * t2192 + t2045 * t2185 + t575 * t9001; + v2sigmatau_aa_b = t1458 * t9053 + t2038 * t2212 + t2045 * t2205 + t575 * t9037; + v2sigmatau_ab_a = t1458 * t9090 + t2111 * t2192 + t2118 * t2185 + t575 * t9074; + v2sigmatau_ab_b = t1458 * t9123 + t2111 * t2212 + t2118 * t2205 + t575 * t9107; + v2sigmatau_bb_a = t1458 * t9139 + t2168 * t2192 + t2172 * t2185 + t575 * t9131; + v2sigmatau_bb_b = t1458 * t9155 + t2168 * t2212 + t2172 * t2205 + t575 * t9147; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t1458 * t9192 + 0.2e1 * t2185 * t2192 + t575 * t9178; + v2tau2_ab = t1458 * t9224 + t2185 * t2212 + t2192 * t2205 + t575 * t9208; + v2tau2_bb = t1458 * t9261 + 0.2e1 * t2205 * t2212 + t575 * t9247; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t220 = 0.1e1 / t122; + constexpr double t221 = t220 * t124; + constexpr double t240 = t159 * t159; + constexpr double t245 = 0.1e1 / t137; + constexpr double t246 = t72 * t245; + constexpr double t247 = t246 * t125; + constexpr double t268 = t123 * t125; + constexpr double t281 = t138 * t124; + constexpr double t685 = t122 * t125; + constexpr double t800 = t136 * t220; + constexpr double t816 = t800 * t124; + constexpr double t828 = t245 * t125; + constexpr double t2395 = t137 * t124; + constexpr double t3207 = t73 * t73; + constexpr double t8440 = 0.1e1 / t74 / t73; + constexpr double t8621 = t136 * t8440; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 + 0.25e-1 * t128; + const double t211 = 0.1e1 + 0.4445e-1 * t128; + const double t212 = 0.1e1 / t211; + const double t213 = t209 * t212; + const double t215 = 0.1e1 / t65 / t16; + const double t216 = t64 * t215; + const double t217 = t216 * t159; + const double t218 = 0.1e1 / t206; + const double t222 = t218 * t136 * t221; + const double t225 = 0.1e1 / t196; + const double t227 = ( -t149 + t191 + t194 ) * t225; + const double t228 = 0.1e1 / t207; + const double t229 = t73 * t228; + const double t231 = safe_math::exp( -t227 * t229 ); + const double t232 = t231 - 0.1e1; + const double t233 = 0.1e1 / t232; + const double t234 = t225 * t233; + const double t235 = t64 * t64; + const double t236 = t234 * t235; + const double t237 = t213 * t236; + const double t239 = 0.1e1 / t66 / t21; + const double t241 = t239 * t240; + const double t242 = t206 * t206; + const double t243 = 0.1e1 / t242; + const double t244 = t241 * t243; + const double t248 = t244 * t247; + const double t251 = t217 * t222 / 0.96e2 + 0.21437009059034868486e-3 * t237 * t248; + const double t252 = t251 * t225; + const double t253 = t234 * t251; + const double t256 = 0.1e1 + 0.65854491829355115987e0 * t213 * t253; + const double t257 = 0.1e1 / t256; + const double t258 = t252 * t257; + const double t261 = 0.1e1 + 0.65854491829355115987e0 * t213 * t258; + const double t262 = safe_math::log( t261 ); + const double t265 = t198 * t207 * t262 - t149 + t191 + t194; + const double t269 = t126 * t159; + const double t270 = 0.1e1 / t45; + const double t271 = safe_math::cbrt( t270 ); + const double t273 = t268 * t269 * t271; + const double t275 = 0.1e1 + 0.53425e-1 * t273; + const double t276 = safe_math::sqrt( t273 ); + const double t279 = pow_3_2( t273 ); + const double t282 = t139 * t240; + const double t283 = t271 * t271; + const double t285 = t281 * t282 * t283; + const double t287 = 0.379785e1 * t276 + 0.8969e0 * t273 + 0.204775e0 * t279 + 0.123235e0 * t285; + const double t290 = 0.1e1 + 0.16081979498692535067e2 / t287; + const double t291 = safe_math::log( t290 ); + const double t293 = 0.621814e-1 * t275 * t291; + const double t294 = 0.2e1 <= zeta_tol; + const double t296 = piecewise_functor_3( t294, t153, 0.2e1 * t159 ); + const double t297 = 0.e0 <= zeta_tol; + const double t298 = piecewise_functor_3( t297, t153, 0.0 ); + const double t300 = ( t296 + t298 - 0.2e1 ) * t162; + const double t302 = 0.1e1 + 0.5137e-1 * t273; + const double t307 = 0.705945e1 * t276 + 0.1549425e1 * t273 + 0.420775e0 * t279 + 0.1562925e0 * t285; + const double t310 = 0.1e1 + 0.32163958997385070134e2 / t307; + const double t311 = safe_math::log( t310 ); + const double t315 = 0.1e1 + 0.278125e-1 * t273; + const double t320 = 0.51785e1 * t276 + 0.905775e0 * t273 + 0.1100325e0 * t279 + 0.1241775e0 * t285; + const double t323 = 0.1e1 + 0.29608749977793437516e2 / t320; + const double t324 = safe_math::log( t323 ); + const double t325 = t315 * t324; + const double t328 = t300 * ( -0.310907e-1 * t302 * t311 + t293 - 0.19751673498613801407e-1 * t325 ); + const double t330 = 0.19751673498613801407e-1 * t300 * t325; + const double t331 = piecewise_functor_3( t294, t199, t240 ); + const double t332 = piecewise_functor_3( t297, t199, 0.0 ); + const double t334 = t331 / 0.2e1 + t332 / 0.2e1; + const double t335 = t334 * t334; + const double t336 = t335 * t334; + const double t338 = 0.1e1 + 0.25e-1 * t273; + const double t340 = 0.1e1 + 0.4445e-1 * t273; + const double t341 = 0.1e1 / t340; + const double t342 = t338 * t341; + const double t343 = 0.1e1 / t335; + const double t344 = t343 * t136; + const double t345 = t44 * t344; + const double t346 = 0.1e1 / t271; + const double t348 = t221 * t65 * t346; + const double t351 = t342 * t225; + const double t354 = 0.1e1 / t336; + const double t355 = t73 * t354; + const double t357 = safe_math::exp( -( -t293 + t328 + t330 ) * t225 * t355 ); + const double t358 = t357 - 0.1e1; + const double t359 = 0.1e1 / t358; + const double t360 = sigma_aa * sigma_aa; + const double t361 = t359 * t360; + const double t362 = t39 * t39; + const double t363 = t362 * rho_a; + const double t365 = 0.1e1 / t40 / t363; + const double t366 = t361 * t365; + const double t367 = t351 * t366; + const double t368 = t335 * t335; + const double t369 = 0.1e1 / t368; + const double t370 = t369 * t72; + const double t371 = t370 * t245; + const double t372 = t125 * t66; + const double t373 = 0.1e1 / t283; + const double t375 = t371 * t372 * t373; + const double t378 = t345 * t348 / 0.96e2 + 0.21437009059034868486e-3 * t367 * t375; + const double t379 = t378 * t225; + const double t380 = t225 * t359; + const double t381 = t380 * t378; + const double t384 = 0.1e1 + 0.65854491829355115987e0 * t342 * t381; + const double t385 = 0.1e1 / t384; + const double t386 = t379 * t385; + const double t389 = 0.1e1 + 0.65854491829355115987e0 * t342 * t386; + const double t390 = safe_math::log( t389 ); + const double t393 = t198 * t336 * t390 - t293 + t328 + t330; + const double t394 = t265 < t393; + const double t395 = piecewise_functor_3( t394, t393, t265 ); + const double t398 = piecewise_functor_3( t120, t265 * t30 / 0.2e1, t395 * t45 / 0.2e1 ); + const double t400 = rho_b <= dens_tol || t34; + const double t403 = 0.1e1 / t57; + const double t404 = safe_math::cbrt( t403 ); + const double t406 = t268 * t269 * t404; + const double t408 = 0.1e1 + 0.53425e-1 * t406; + const double t409 = safe_math::sqrt( t406 ); + const double t412 = pow_3_2( t406 ); + const double t414 = t404 * t404; + const double t416 = t281 * t282 * t414; + const double t418 = 0.379785e1 * t409 + 0.8969e0 * t406 + 0.204775e0 * t412 + 0.123235e0 * t416; + const double t421 = 0.1e1 + 0.16081979498692535067e2 / t418; + const double t422 = safe_math::log( t421 ); + const double t424 = 0.621814e-1 * t408 * t422; + const double t426 = 0.1e1 + 0.5137e-1 * t406; + const double t431 = 0.705945e1 * t409 + 0.1549425e1 * t406 + 0.420775e0 * t412 + 0.1562925e0 * t416; + const double t434 = 0.1e1 + 0.32163958997385070134e2 / t431; + const double t435 = safe_math::log( t434 ); + const double t439 = 0.1e1 + 0.278125e-1 * t406; + const double t444 = 0.51785e1 * t409 + 0.905775e0 * t406 + 0.1100325e0 * t412 + 0.1241775e0 * t416; + const double t447 = 0.1e1 + 0.29608749977793437516e2 / t444; + const double t448 = safe_math::log( t447 ); + const double t449 = t439 * t448; + const double t452 = t300 * ( -0.310907e-1 * t426 * t435 + t424 - 0.19751673498613801407e-1 * t449 ); + const double t454 = 0.19751673498613801407e-1 * t300 * t449; + const double t456 = 0.1e1 + 0.25e-1 * t406; + const double t458 = 0.1e1 + 0.4445e-1 * t406; + const double t459 = 0.1e1 / t458; + const double t460 = t456 * t459; + const double t461 = t56 * t344; + const double t462 = 0.1e1 / t404; + const double t464 = t221 * t65 * t462; + const double t467 = t460 * t225; + const double t471 = safe_math::exp( -( -t424 + t452 + t454 ) * t225 * t355 ); + const double t472 = t471 - 0.1e1; + const double t473 = 0.1e1 / t472; + const double t474 = sigma_bb * sigma_bb; + const double t475 = t473 * t474; + const double t476 = t51 * t51; + const double t477 = t476 * rho_b; + const double t479 = 0.1e1 / t52 / t477; + const double t480 = t475 * t479; + const double t481 = t467 * t480; + const double t482 = 0.1e1 / t414; + const double t484 = t371 * t372 * t482; + const double t487 = t461 * t464 / 0.96e2 + 0.21437009059034868486e-3 * t481 * t484; + const double t488 = t487 * t225; + const double t489 = t225 * t473; + const double t490 = t489 * t487; + const double t493 = 0.1e1 + 0.65854491829355115987e0 * t460 * t490; + const double t494 = 0.1e1 / t493; + const double t495 = t488 * t494; + const double t498 = 0.1e1 + 0.65854491829355115987e0 * t460 * t495; + const double t499 = safe_math::log( t498 ); + const double t502 = t198 * t336 * t499 - t424 + t452 + t454; + const double t503 = t265 < t502; + const double t504 = piecewise_functor_3( t503, t502, t265 ); + const double t507 = piecewise_functor_3( t400, t265 * t33 / 0.2e1, t504 * t57 / 0.2e1 ); + const double t508 = t398 + t507; + const double t511 = t117 * t93 + 0.1e1; + const double t512 = t19 * t22; + const double t513 = safe_math::cbrt( t30 ); + const double t514 = t513 * t30; + const double t515 = piecewise_functor_3( t31, t153, t514 ); + const double t516 = safe_math::cbrt( t33 ); + const double t517 = t516 * t33; + const double t518 = piecewise_functor_3( t34, t153, t517 ); + const double t519 = t515 + t518 - 0.2e1; + const double t520 = t519 * t162; + const double t521 = t520 * t189; + const double t522 = t512 * t521; + const double t524 = 0.19751673498613801407e-1 * t520 * t187; + const double t525 = t513 * t513; + const double t526 = piecewise_functor_3( t31, t199, t525 ); + const double t527 = t516 * t516; + const double t528 = piecewise_functor_3( t34, t199, t527 ); + const double t530 = t526 / 0.2e1 + t528 / 0.2e1; + const double t531 = t530 * t530; + const double t532 = t531 * t530; + const double t533 = 0.1e1 / t531; + const double t535 = t533 * t136 * t221; + const double t539 = ( -t149 + t522 + t524 ) * t225; + const double t540 = 0.1e1 / t532; + const double t541 = t73 * t540; + const double t543 = safe_math::exp( -t539 * t541 ); + const double t544 = t543 - 0.1e1; + const double t545 = 0.1e1 / t544; + const double t546 = t225 * t545; + const double t547 = t546 * t235; + const double t548 = t213 * t547; + const double t549 = t531 * t531; + const double t550 = 0.1e1 / t549; + const double t551 = t241 * t550; + const double t552 = t551 * t247; + const double t555 = t217 * t535 / 0.96e2 + 0.21437009059034868486e-3 * t548 * t552; + const double t556 = t555 * t225; + const double t557 = t546 * t555; + const double t560 = 0.1e1 + 0.65854491829355115987e0 * t213 * t557; + const double t561 = 0.1e1 / t560; + const double t562 = t556 * t561; + const double t565 = 0.1e1 + 0.65854491829355115987e0 * t213 * t562; + const double t566 = safe_math::log( t565 ); + const double t569 = t198 * t532 * t566 - t149 + t522 + t524; + const double t571 = -t118 * t508 + t511 * t569; + const double t572 = d * t571; + const double t573 = t117 * t116; + const double t575 = t572 * t573 + 0.1e1; + const double tzk0 = t571 * t575; + const double t576 = t10 * t2; + const double t578 = 0.2e1 * t576 * t17; + const double t579 = t16 * t3; + const double t580 = 0.1e1 / t579; + const double t582 = 0.2e1 * t15 * t580; + const double t583 = t14 * t2; + const double t584 = t11 * t583; + const double t586 = 0.4e1 * t584 * t22; + const double t587 = t21 * t3; + const double t588 = 0.1e1 / t587; + const double t590 = 0.4e1 * t20 * t588; + const double t592 = t12 * t19 * t2; + const double t594 = 0.6e1 * t592 * t27; + const double t595 = t21 * t579; + const double t596 = 0.1e1 / t595; + const double t598 = 0.6e1 * t25 * t596; + const double t599 = t578 - t582 + t586 - t590 + t594 - t598; + const double t602 = 0.1e1 / t90 / t88; + const double t603 = t29 * t602; + const double t604 = t2 * t17; + const double t605 = t4 - t604; + const double t606 = piecewise_functor_5( t31, 0.0, t34, 0.0, t605 ); + const double t607 = t36 * t606; + const double t608 = t607 * t70; + const double t611 = t39 * rho_a; + const double t613 = 0.1e1 / t41 / t611; + const double t614 = sigma_aa * t613; + const double t617 = t48 * t606; + const double t620 = t60 * t606; + const double t624 = 0.1e1 / t66 / t579; + const double t625 = t64 * t624; + const double t626 = 0.8e1 / 0.3e1 * t625; + const double t627 = -0.8e1 / 0.3e1 * t614 * t49 + 0.5e1 / 0.6e1 * t44 * t617 - 0.5e1 / 0.6e1 * t56 * t620 + t626; + const double t628 = t38 * t627; + const double t631 = t45 * t45; + const double t633 = 0.1e1 / t78 / t631; + const double t635 = t57 * t57; + const double t637 = 0.1e1 / t81 / t635; + const double t640 = -0.4e1 / 0.3e1 * t633 * t606 + 0.4e1 / 0.3e1 * t637 * t606; + const double t641 = t77 * t640; + const double t644 = -t608 * t85 / 0.12e2 + t628 * t85 / 0.24e2 + t71 * t641 / 0.24e2; + const double t648 = piecewise_functor_3( t8, 0.0, t599 * t91 - 0.4e1 * t603 * t644 ); + const double t649 = t648 * t117; + const double t651 = t94 * t116; + const double t653 = t625 * t112 / 0.3e1; + const double t654 = t111 * t111; + const double t655 = 0.1e1 / t654; + const double t656 = tau_a * t43; + const double t658 = t605 / 0.2e1; + const double t659 = t100 * t658; + const double t661 = -t658; + const double t662 = t108 * t661; + const double t665 = -0.5e1 / 0.3e1 * t656 * t101 + 0.5e1 / 0.3e1 * t105 * t662 + 0.5e1 / 0.3e1 * t97 * t659; + const double t666 = t655 * t665; + const double t670 = piecewise_functor_3( t115, 0.0, -t653 - t69 * t666 / 0.8e1 ); + const double t671 = t508 * t670; + const double t674 = t65 * t3; + const double t675 = 0.1e1 / t674; + const double t676 = t125 * t675; + const double t679 = 0.11073470983333333333e-2 * t123 * t676 * t147; + const double t680 = t143 * t143; + const double t681 = 0.1e1 / t680; + const double t682 = t130 * t681; + const double t684 = 0.1e1 / t131 * t72; + const double t686 = t685 * t675; + const double t687 = t684 * t686; + const double t689 = t123 * t676; + const double t691 = safe_math::sqrt( t128 ); + const double t692 = t691 * t72; + const double t693 = t692 * t686; + const double t696 = 0.1e1 / t66 / t3; + const double t697 = t124 * t696; + const double t698 = t138 * t697; + const double t700 = -0.632975e0 * t687 - 0.29896666666666666667e0 * t689 - 0.1023875e0 * t693 - 0.82156666666666666667e-1 * t698; + const double t701 = 0.1e1 / t146; + const double t702 = t700 * t701; + const double t704 = 0.1e1 * t682 * t702; + const double t705 = t37 * t36; + const double t706 = t705 * t157; + const double t707 = t190 * t606; + const double t709 = 0.4e1 * t706 * t707; + const double t712 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t606 ); + const double t715 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t606 ); + const double t716 = t712 + t715; + const double t717 = t150 * t716; + const double t718 = t717 * t190; + const double t722 = t169 * t169; + const double t723 = 0.1e1 / t722; + const double t724 = t164 * t723; + const double t729 = -0.1176575e1 * t687 - 0.516475e0 * t689 - 0.2103875e0 * t693 - 0.104195e0 * t698; + const double t730 = 0.1e1 / t172; + const double t731 = t729 * t730; + const double t737 = t182 * t182; + const double t738 = 0.1e1 / t737; + const double t739 = t177 * t738; + const double t744 = -0.86308333333333333334e0 * t687 - 0.301925e0 * t689 - 0.5501625e-1 * t693 - 0.82785e-1 * t698; + const double t745 = 0.1e1 / t185; + const double t746 = t744 * t745; + const double t749 = 0.53237641966666666666e-3 * t123 * t676 * t173 + 0.1e1 * t724 * t731 - t679 - t704 + 0.18311447306006545054e-3 * t123 * t676 * t186 + 0.5848223622634646207e0 * t739 * t746; + const double t750 = t162 * t749; + const double t751 = t158 * t750; + const double t752 = t716 * t162; + const double t754 = 0.19751673498613801407e-1 * t752 * t187; + const double t755 = t192 * t72; + const double t757 = t685 * t675 * t186; + const double t759 = 0.18311447306006545054e-3 * t755 * t757; + const double t760 = t192 * t177; + const double t762 = t738 * t744 * t745; + const double t764 = 0.5848223622634646207e0 * t760 * t762; + const double t765 = t206 * t262; + const double t766 = 0.1e1 / t78; + const double t769 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t766 * t606 ); + const double t770 = 0.1e1 / t81; + const double t773 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t770 * t606 ); + const double t775 = t769 / 0.2e1 + t773 / 0.2e1; + const double t779 = t212 * t251; + const double t780 = t225 * t257; + const double t781 = t779 * t780; + const double t783 = 0.54878743191129263322e-2 * t689 * t781; + const double t784 = t211 * t211; + const double t785 = 0.1e1 / t784; + const double t786 = t209 * t785; + const double t787 = t786 * t252; + const double t788 = t257 * t72; + const double t789 = t788 * t686; + const double t791 = 0.9757440539382783019e-2 * t787 * t789; + const double t793 = 0.1e1 / t65 / t579; + const double t794 = t64 * t793; + const double t795 = t794 * t159; + const double t797 = 0.7e1 / 0.288e3 * t795 * t222; + const double t798 = t159 * t228; + const double t799 = t216 * t798; + const double t801 = t124 * t775; + const double t802 = t800 * t801; + const double t807 = t800 * t124 * t27 * t212; + const double t808 = t235 * t240; + const double t810 = t234 * t808 * t243; + const double t812 = 0.71456696863449561619e-5 * t807 * t810; + const double t813 = t786 * t236; + const double t814 = t27 * t240; + const double t815 = t814 * t243; + const double t817 = t815 * t816; + const double t819 = 0.12705000702321332056e-4 * t813 * t817; + const double t820 = t213 * t225; + const double t821 = t232 * t232; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t235; + const double t825 = t820 * t823 * t239; + const double t826 = t240 * t243; + const double t827 = t826 * t72; + const double t830 = ( t679 + t704 + t709 + t718 + t751 + t754 - t759 - t764 ) * t225; + const double t832 = t73 * t243; + const double t833 = t832 * t775; + const double t836 = 0.3e1 * t227 * t833 - t229 * t830; + const double t837 = t836 * t231; + const double t838 = t828 * t837; + const double t839 = t827 * t838; + const double t843 = 0.1e1 / t66 / t587; + const double t844 = t843 * t240; + const double t845 = t844 * t243; + const double t846 = t845 * t247; + const double t848 = 0.10003937560882938627e-2 * t237 * t846; + const double t849 = t233 * t235; + const double t851 = t820 * t849 * t239; + const double t853 = 0.1e1 / t242 / t205; + const double t854 = t240 * t853; + const double t855 = t854 * t72; + const double t857 = t855 * t828 * t775; + const double t860 = -t797 - t799 * t802 / 0.48e2 - t812 + t819 - 0.21437009059034868486e-3 * t825 * t839 - t848 - 0.85748036236139473944e-3 * t851 * t857; + const double t861 = t860 * t225; + const double t862 = t861 * t257; + const double t865 = t213 * t251; + const double t866 = t256 * t256; + const double t867 = 0.1e1 / t866; + const double t868 = t225 * t867; + const double t869 = t212 * t225; + const double t870 = t233 * t251; + const double t871 = t869 * t870; + const double t873 = 0.54878743191129263322e-2 * t689 * t871; + const double t874 = t786 * t234; + const double t875 = t251 * t72; + const double t878 = 0.9757440539382783019e-2 * t874 * t875 * t686; + const double t879 = t822 * t251; + const double t880 = t879 * t837; + const double t883 = t234 * t860; + const double t886 = -t873 + t878 - 0.65854491829355115987e0 * t820 * t880 + 0.65854491829355115987e0 * t213 * t883; + const double t887 = t868 * t886; + const double t890 = -t783 + t791 + 0.65854491829355115987e0 * t213 * t862 - 0.65854491829355115987e0 * t865 * t887; + const double t892 = 0.1e1 / t261; + const double t895 = t198 * t207 * t890 * t892 + 0.3e1 * t198 * t765 * t775 + t679 + t704 + t709 + t718 + t751 + t754 - t759 - t764; + const double t900 = t675 * t159; + const double t902 = t268 * t900 * t271; + const double t903 = 0.17808333333333333333e-1 * t902; + const double t904 = t159 * t373; + const double t905 = 0.1e1 / t631; + const double t906 = t905 * t606; + const double t907 = t904 * t906; + const double t908 = t128 * t907; + const double t910 = -t903 - 0.17808333333333333333e-1 * t908; + const double t912 = 0.621814e-1 * t910 * t291; + const double t913 = t287 * t287; + const double t914 = 0.1e1 / t913; + const double t915 = t275 * t914; + const double t916 = 0.1e1 / t276; + const double t918 = -t902 / 0.3e1 - t908 / 0.3e1; + const double t919 = t916 * t918; + const double t921 = 0.29896666666666666667e0 * t902; + const double t923 = safe_math::sqrt( t273 ); + const double t924 = t923 * t918; + const double t926 = t696 * t240; + const double t928 = t281 * t926 * t283; + const double t929 = 0.82156666666666666667e-1 * t928; + const double t930 = t240 * t346; + const double t931 = t930 * t906; + const double t932 = t141 * t931; + const double t934 = 0.1898925e1 * t919 - t921 - 0.29896666666666666667e0 * t908 + 0.3071625e0 * t924 - t929 - 0.82156666666666666667e-1 * t932; + const double t935 = 0.1e1 / t290; + const double t936 = t934 * t935; + const double t938 = 0.1e1 * t915 * t936; + const double t939 = 0.17123333333333333333e-1 * t902; + const double t941 = -t939 - 0.17123333333333333333e-1 * t908; + const double t944 = t307 * t307; + const double t945 = 0.1e1 / t944; + const double t946 = t302 * t945; + const double t948 = 0.516475e0 * t902; + const double t951 = 0.104195e0 * t928; + const double t953 = 0.3529725e1 * t919 - t948 - 0.516475e0 * t908 + 0.6311625e0 * t924 - t951 - 0.104195e0 * t932; + const double t954 = 0.1e1 / t310; + const double t955 = t953 * t954; + const double t958 = 0.92708333333333333333e-2 * t902; + const double t960 = -t958 - 0.92708333333333333333e-2 * t908; + const double t961 = t960 * t324; + const double t963 = t320 * t320; + const double t964 = 0.1e1 / t963; + const double t965 = t315 * t964; + const double t967 = 0.301925e0 * t902; + const double t970 = 0.82785e-1 * t928; + const double t972 = 0.258925e1 * t919 - t967 - 0.301925e0 * t908 + 0.16504875e0 * t924 - t970 - 0.82785e-1 * t932; + const double t973 = 0.1e1 / t323; + const double t974 = t972 * t973; + const double t978 = t300 * ( -0.310907e-1 * t941 * t311 + 0.1e1 * t946 * t955 + t912 - t938 - 0.19751673498613801407e-1 * t961 + 0.5848223622634646207e0 * t965 * t974 ); + const double t980 = 0.19751673498613801407e-1 * t300 * t961; + const double t981 = t300 * t315; + const double t983 = t964 * t972 * t973; + const double t985 = 0.5848223622634646207e0 * t981 * t983; + const double t986 = 0.83333333333333333333e-2 * t902; + const double t988 = -t986 - 0.83333333333333333333e-2 * t908; + const double t989 = t988 * t341; + const double t992 = t340 * t340; + const double t993 = 0.1e1 / t992; + const double t994 = t338 * t993; + const double t995 = t994 * t378; + const double t996 = t225 * t385; + const double t997 = 0.14816666666666666667e-1 * t902; + const double t999 = -t997 - 0.14816666666666666667e-1 * t908; + const double t1000 = t996 * t999; + const double t1003 = t614 * t344; + const double t1007 = t221 * t139 * t346; + const double t1009 = t345 * t1007 / 0.288e3; + const double t1010 = t344 * t220; + const double t1011 = t44 * t1010; + const double t1012 = t124 * t65; + const double t1014 = 0.1e1 / t271 / t270; + const double t1015 = t1014 * t905; + const double t1016 = t1015 * t606; + const double t1017 = t1012 * t1016; + const double t1020 = t989 * t225; + const double t1021 = t1020 * t366; + const double t1024 = t994 * t225; + const double t1025 = t1024 * t366; + const double t1026 = t373 * t999; + const double t1027 = t372 * t1026; + const double t1028 = t371 * t1027; + const double t1031 = t196 * t196; + const double t1032 = 0.1e1 / t1031; + const double t1033 = t342 * t1032; + const double t1034 = t358 * t358; + const double t1035 = 0.1e1 / t1034; + const double t1036 = t1035 * t360; + const double t1038 = 0.1e1 / t368 / t336; + const double t1039 = t365 * t1038; + const double t1040 = t1036 * t1039; + const double t1041 = t1033 * t1040; + const double t1042 = t246 * t372; + const double t1043 = -t912 + t938 + t978 + t980 - t985; + const double t1045 = t73 * t357; + const double t1046 = t373 * t1043 * t1045; + const double t1047 = t1042 * t1046; + const double t1050 = t362 * t39; + const double t1052 = 0.1e1 / t40 / t1050; + const double t1053 = t361 * t1052; + const double t1054 = t351 * t1053; + const double t1058 = t371 * t127 * t373; + const double t1060 = 0.14291339372689912324e-3 * t367 * t1058; + const double t1061 = t365 * t369; + const double t1062 = t361 * t1061; + const double t1063 = t351 * t1062; + const double t1065 = 0.1e1 / t283 / t270; + const double t1066 = t66 * t1065; + const double t1067 = t1066 * t906; + const double t1068 = t247 * t1067; + const double t1071 = -t1003 * t348 / 0.36e2 + t1009 + t1011 * t1017 / 0.288e3 + 0.21437009059034868486e-3 * t1021 * t375 - 0.21437009059034868486e-3 * t1025 * t1028 + 0.21437009059034868486e-3 * t1041 * t1047 - 0.11433071498151929859e-2 * t1054 * t375 + t1060 + 0.14291339372689912324e-3 * t1063 * t1068; + const double t1072 = t1071 * t225; + const double t1073 = t1072 * t385; + const double t1076 = t342 * t378; + const double t1077 = t384 * t384; + const double t1078 = 0.1e1 / t1077; + const double t1079 = t225 * t1078; + const double t1082 = t359 * t378; + const double t1083 = t1082 * t999; + const double t1086 = t1032 * t1035; + const double t1087 = t342 * t1086; + const double t1089 = t355 * t357; + const double t1090 = t378 * t1043 * t1089; + const double t1093 = t380 * t1071; + const double t1096 = 0.65854491829355115987e0 * t989 * t381 - 0.65854491829355115987e0 * t1024 * t1083 + 0.65854491829355115987e0 * t1087 * t1090 + 0.65854491829355115987e0 * t342 * t1093; + const double t1097 = t1079 * t1096; + const double t1100 = 0.65854491829355115987e0 * t989 * t386 - 0.65854491829355115987e0 * t995 * t1000 + 0.65854491829355115987e0 * t342 * t1073 - 0.65854491829355115987e0 * t1076 * t1097; + const double t1102 = 0.1e1 / t389; + const double t1106 = piecewise_functor_3( t394, t1100 * t1102 * t198 * t336 - t912 + t938 + t978 + t980 - t985, t895 ); + const double t1111 = piecewise_functor_3( t120, t265 * t605 / 0.2e1 + t895 * t30 / 0.2e1, t1106 * t45 / 0.2e1 + t395 * t606 / 0.2e1 ); + const double t1113 = -t605; + const double t1118 = t268 * t900 * t404; + const double t1119 = 0.17808333333333333333e-1 * t1118; + const double t1120 = t159 * t482; + const double t1121 = 0.1e1 / t635; + const double t1122 = t1121 * t606; + const double t1123 = t1120 * t1122; + const double t1124 = t128 * t1123; + const double t1126 = -t1119 + 0.17808333333333333333e-1 * t1124; + const double t1128 = 0.621814e-1 * t1126 * t422; + const double t1129 = t418 * t418; + const double t1130 = 0.1e1 / t1129; + const double t1131 = t408 * t1130; + const double t1132 = 0.1e1 / t409; + const double t1134 = -t1118 / 0.3e1 + t1124 / 0.3e1; + const double t1135 = t1132 * t1134; + const double t1137 = 0.29896666666666666667e0 * t1118; + const double t1139 = safe_math::sqrt( t406 ); + const double t1140 = t1139 * t1134; + const double t1143 = t281 * t926 * t414; + const double t1144 = 0.82156666666666666667e-1 * t1143; + const double t1145 = t240 * t462; + const double t1146 = t1145 * t1122; + const double t1147 = t141 * t1146; + const double t1149 = 0.1898925e1 * t1135 - t1137 + 0.29896666666666666667e0 * t1124 + 0.3071625e0 * t1140 - t1144 + 0.82156666666666666667e-1 * t1147; + const double t1150 = 0.1e1 / t421; + const double t1151 = t1149 * t1150; + const double t1153 = 0.1e1 * t1131 * t1151; + const double t1154 = 0.17123333333333333333e-1 * t1118; + const double t1156 = -t1154 + 0.17123333333333333333e-1 * t1124; + const double t1159 = t431 * t431; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t426 * t1160; + const double t1163 = 0.516475e0 * t1118; + const double t1166 = 0.104195e0 * t1143; + const double t1168 = 0.3529725e1 * t1135 - t1163 + 0.516475e0 * t1124 + 0.6311625e0 * t1140 - t1166 + 0.104195e0 * t1147; + const double t1169 = 0.1e1 / t434; + const double t1170 = t1168 * t1169; + const double t1173 = 0.92708333333333333333e-2 * t1118; + const double t1175 = -t1173 + 0.92708333333333333333e-2 * t1124; + const double t1176 = t1175 * t448; + const double t1178 = t444 * t444; + const double t1179 = 0.1e1 / t1178; + const double t1180 = t439 * t1179; + const double t1182 = 0.301925e0 * t1118; + const double t1185 = 0.82785e-1 * t1143; + const double t1187 = 0.258925e1 * t1135 - t1182 + 0.301925e0 * t1124 + 0.16504875e0 * t1140 - t1185 + 0.82785e-1 * t1147; + const double t1188 = 0.1e1 / t447; + const double t1189 = t1187 * t1188; + const double t1193 = t300 * ( -0.310907e-1 * t1156 * t435 + 0.1e1 * t1161 * t1170 + t1128 - t1153 - 0.19751673498613801407e-1 * t1176 + 0.5848223622634646207e0 * t1180 * t1189 ); + const double t1195 = 0.19751673498613801407e-1 * t300 * t1176; + const double t1196 = t300 * t439; + const double t1198 = t1179 * t1187 * t1188; + const double t1200 = 0.5848223622634646207e0 * t1196 * t1198; + const double t1201 = 0.83333333333333333333e-2 * t1118; + const double t1203 = -t1201 + 0.83333333333333333333e-2 * t1124; + const double t1204 = t1203 * t459; + const double t1207 = t458 * t458; + const double t1208 = 0.1e1 / t1207; + const double t1209 = t456 * t1208; + const double t1210 = t1209 * t487; + const double t1211 = t225 * t494; + const double t1212 = 0.14816666666666666667e-1 * t1118; + const double t1214 = -t1212 + 0.14816666666666666667e-1 * t1124; + const double t1215 = t1211 * t1214; + const double t1219 = t221 * t139 * t462; + const double t1221 = t461 * t1219 / 0.288e3; + const double t1222 = t56 * t1010; + const double t1224 = 0.1e1 / t404 / t403; + const double t1225 = t1224 * t1121; + const double t1226 = t1225 * t606; + const double t1227 = t1012 * t1226; + const double t1230 = t1204 * t225; + const double t1231 = t1230 * t480; + const double t1234 = t1209 * t225; + const double t1235 = t1234 * t480; + const double t1236 = t482 * t1214; + const double t1237 = t372 * t1236; + const double t1238 = t371 * t1237; + const double t1241 = t460 * t1032; + const double t1242 = t472 * t472; + const double t1243 = 0.1e1 / t1242; + const double t1244 = t1243 * t474; + const double t1245 = t479 * t1038; + const double t1246 = t1244 * t1245; + const double t1247 = t1241 * t1246; + const double t1248 = -t1128 + t1153 + t1193 + t1195 - t1200; + const double t1250 = t73 * t471; + const double t1251 = t482 * t1248 * t1250; + const double t1252 = t1042 * t1251; + const double t1256 = t371 * t127 * t482; + const double t1258 = 0.14291339372689912324e-3 * t481 * t1256; + const double t1259 = t479 * t369; + const double t1260 = t475 * t1259; + const double t1261 = t467 * t1260; + const double t1263 = 0.1e1 / t414 / t403; + const double t1264 = t66 * t1263; + const double t1265 = t1264 * t1122; + const double t1266 = t247 * t1265; + const double t1269 = t1221 - t1222 * t1227 / 0.288e3 + 0.21437009059034868486e-3 * t1231 * t484 - 0.21437009059034868486e-3 * t1235 * t1238 + 0.21437009059034868486e-3 * t1247 * t1252 + t1258 - 0.14291339372689912324e-3 * t1261 * t1266; + const double t1270 = t1269 * t225; + const double t1271 = t1270 * t494; + const double t1274 = t460 * t487; + const double t1275 = t493 * t493; + const double t1276 = 0.1e1 / t1275; + const double t1277 = t225 * t1276; + const double t1280 = t473 * t487; + const double t1281 = t1280 * t1214; + const double t1284 = t1032 * t1243; + const double t1285 = t460 * t1284; + const double t1287 = t355 * t471; + const double t1288 = t487 * t1248 * t1287; + const double t1291 = t489 * t1269; + const double t1294 = 0.65854491829355115987e0 * t1204 * t490 - 0.65854491829355115987e0 * t1234 * t1281 + 0.65854491829355115987e0 * t1285 * t1288 + 0.65854491829355115987e0 * t460 * t1291; + const double t1295 = t1277 * t1294; + const double t1298 = 0.65854491829355115987e0 * t1204 * t495 - 0.65854491829355115987e0 * t1210 * t1215 + 0.65854491829355115987e0 * t460 * t1271 - 0.65854491829355115987e0 * t1274 * t1295; + const double t1300 = 0.1e1 / t498; + const double t1304 = piecewise_functor_3( t503, t1298 * t1300 * t198 * t336 - t1128 + t1153 + t1193 + t1195 - t1200, t895 ); + const double t1309 = piecewise_functor_3( t400, t265 * t1113 / 0.2e1 + t895 * t33 / 0.2e1, t1304 * t57 / 0.2e1 - t504 * t606 / 0.2e1 ); + const double t1310 = t1111 + t1309; + const double t1312 = t93 * t116; + const double t1315 = 0.2e1 * t1312 * t670 + t649; + const double t1317 = t583 * t22; + const double t1319 = 0.4e1 * t1317 * t521; + const double t1320 = t19 * t588; + const double t1322 = 0.4e1 * t1320 * t521; + const double t1325 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t513 * t605 ); + const double t1328 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t516 * t1113 ); + const double t1330 = ( t1325 + t1328 ) * t162; + const double t1331 = t1330 * t189; + const double t1332 = t512 * t1331; + const double t1333 = t520 * t749; + const double t1334 = t512 * t1333; + const double t1336 = 0.19751673498613801407e-1 * t1330 * t187; + const double t1337 = t520 * t72; + const double t1339 = 0.18311447306006545054e-3 * t1337 * t757; + const double t1340 = t520 * t177; + const double t1342 = 0.5848223622634646207e0 * t1340 * t762; + const double t1343 = t531 * t566; + const double t1344 = 0.1e1 / t513; + const double t1347 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1344 * t605 ); + const double t1348 = 0.1e1 / t516; + const double t1351 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1348 * t1113 ); + const double t1353 = t1347 / 0.2e1 + t1351 / 0.2e1; + const double t1357 = t212 * t555; + const double t1358 = t225 * t561; + const double t1359 = t1357 * t1358; + const double t1361 = 0.54878743191129263322e-2 * t689 * t1359; + const double t1362 = t786 * t556; + const double t1363 = t561 * t72; + const double t1364 = t1363 * t686; + const double t1366 = 0.9757440539382783019e-2 * t1362 * t1364; + const double t1368 = 0.7e1 / 0.288e3 * t795 * t535; + const double t1369 = t159 * t540; + const double t1370 = t216 * t1369; + const double t1371 = t124 * t1353; + const double t1372 = t800 * t1371; + const double t1376 = t546 * t808 * t550; + const double t1378 = 0.71456696863449561619e-5 * t807 * t1376; + const double t1379 = t786 * t547; + const double t1380 = t814 * t550; + const double t1381 = t1380 * t816; + const double t1383 = 0.12705000702321332056e-4 * t1379 * t1381; + const double t1384 = t544 * t544; + const double t1385 = 0.1e1 / t1384; + const double t1386 = t1385 * t235; + const double t1388 = t820 * t1386 * t239; + const double t1389 = t240 * t550; + const double t1390 = t1389 * t72; + const double t1392 = ( t679 + t704 + t1319 - t1322 + t1332 + t1334 + t1336 - t1339 - t1342 ) * t225; + const double t1394 = t73 * t550; + const double t1395 = t1394 * t1353; + const double t1398 = -t1392 * t541 + 0.3e1 * t1395 * t539; + const double t1399 = t1398 * t543; + const double t1400 = t828 * t1399; + const double t1401 = t1390 * t1400; + const double t1404 = t844 * t550; + const double t1405 = t1404 * t247; + const double t1407 = 0.10003937560882938627e-2 * t548 * t1405; + const double t1408 = t545 * t235; + const double t1410 = t820 * t1408 * t239; + const double t1412 = 0.1e1 / t549 / t530; + const double t1413 = t240 * t1412; + const double t1414 = t1413 * t72; + const double t1416 = t1414 * t828 * t1353; + const double t1419 = -t1368 - t1370 * t1372 / 0.48e2 - t1378 + t1383 - 0.21437009059034868486e-3 * t1388 * t1401 - t1407 - 0.85748036236139473944e-3 * t1410 * t1416; + const double t1420 = t1419 * t225; + const double t1421 = t1420 * t561; + const double t1424 = t213 * t555; + const double t1425 = t560 * t560; + const double t1426 = 0.1e1 / t1425; + const double t1427 = t225 * t1426; + const double t1428 = t545 * t555; + const double t1429 = t869 * t1428; + const double t1431 = 0.54878743191129263322e-2 * t689 * t1429; + const double t1432 = t786 * t546; + const double t1433 = t555 * t72; + const double t1436 = 0.9757440539382783019e-2 * t1432 * t1433 * t686; + const double t1437 = t1385 * t555; + const double t1438 = t1437 * t1399; + const double t1441 = t546 * t1419; + const double t1444 = -t1431 + t1436 - 0.65854491829355115987e0 * t820 * t1438 + 0.65854491829355115987e0 * t213 * t1441; + const double t1445 = t1427 * t1444; + const double t1448 = -t1361 + t1366 + 0.65854491829355115987e0 * t213 * t1421 - 0.65854491829355115987e0 * t1424 * t1445; + const double t1450 = 0.1e1 / t565; + const double t1453 = t1448 * t1450 * t198 * t532 + 0.3e1 * t1343 * t1353 * t198 + t1319 - t1322 + t1332 + t1334 + t1336 - t1339 - t1342 + t679 + t704; + const double t1455 = -t118 * t1310 + t1315 * t569 + t1453 * t511 - t508 * t649 - 0.2e1 * t651 * t671; + const double t1456 = t3 * t1455; + const double t1458 = t3 * t571; + const double t1459 = d * t1455; + const double t1461 = t117 * t670; + const double t1464 = t1459 * t573 + 0.3e1 * t1461 * t572; + const double t1466 = -t578 - t582 - t586 - t590 - t594 - t598; + const double t1468 = -t4 - t604; + const double t1469 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1468 ); + const double t1470 = t36 * t1469; + const double t1471 = t1470 * t70; + const double t1474 = t48 * t1469; + const double t1477 = t51 * rho_b; + const double t1479 = 0.1e1 / t53 / t1477; + const double t1480 = sigma_bb * t1479; + const double t1483 = t60 * t1469; + const double t1486 = 0.5e1 / 0.6e1 * t44 * t1474 - 0.8e1 / 0.3e1 * t1480 * t61 - 0.5e1 / 0.6e1 * t56 * t1483 + t626; + const double t1487 = t38 * t1486; + const double t1490 = t633 * t1469; + const double t1491 = t637 * t1469; + const double t1493 = -0.4e1 / 0.3e1 * t1490 + 0.4e1 / 0.3e1 * t1491; + const double t1494 = t77 * t1493; + const double t1497 = -t1471 * t85 / 0.12e2 + t1487 * t85 / 0.24e2 + t71 * t1494 / 0.24e2; + const double t1501 = piecewise_functor_3( t8, 0.0, t1466 * t91 - 0.4e1 * t1497 * t603 ); + const double t1502 = t1501 * t117; + const double t1504 = t1468 / 0.2e1; + const double t1505 = t100 * t1504; + const double t1507 = tau_b * t55; + const double t1509 = -t1504; + const double t1510 = t108 * t1509; + const double t1513 = 0.5e1 / 0.3e1 * t105 * t1510 - 0.5e1 / 0.3e1 * t1507 * t109 + 0.5e1 / 0.3e1 * t97 * t1505; + const double t1514 = t655 * t1513; + const double t1518 = piecewise_functor_3( t115, 0.0, -t653 - t69 * t1514 / 0.8e1 ); + const double t1519 = t508 * t1518; + const double t1522 = t190 * t1469; + const double t1524 = 0.4e1 * t706 * t1522; + const double t1527 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t1469 ); + const double t1530 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t1469 ); + const double t1531 = t1527 + t1530; + const double t1532 = t150 * t1531; + const double t1533 = t1532 * t190; + const double t1534 = t1531 * t162; + const double t1536 = 0.19751673498613801407e-1 * t1534 * t187; + const double t1539 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t766 * t1469 ); + const double t1542 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t770 * t1469 ); + const double t1544 = t1539 / 0.2e1 + t1542 / 0.2e1; + const double t1548 = t124 * t1544; + const double t1549 = t800 * t1548; + const double t1553 = ( t679 + t704 + t1524 + t1533 + t751 + t1536 - t759 - t764 ) * t225; + const double t1555 = t832 * t1544; + const double t1558 = -t1553 * t229 + 0.3e1 * t1555 * t227; + const double t1559 = t1558 * t231; + const double t1560 = t828 * t1559; + const double t1561 = t827 * t1560; + const double t1565 = t855 * t828 * t1544; + const double t1568 = -t797 - t799 * t1549 / 0.48e2 - t812 + t819 - 0.21437009059034868486e-3 * t825 * t1561 - t848 - 0.85748036236139473944e-3 * t851 * t1565; + const double t1569 = t1568 * t225; + const double t1570 = t1569 * t257; + const double t1573 = t879 * t1559; + const double t1576 = t234 * t1568; + const double t1579 = -t873 + t878 - 0.65854491829355115987e0 * t820 * t1573 + 0.65854491829355115987e0 * t213 * t1576; + const double t1580 = t868 * t1579; + const double t1583 = -t783 + t791 + 0.65854491829355115987e0 * t213 * t1570 - 0.65854491829355115987e0 * t865 * t1580; + const double t1587 = t1583 * t198 * t207 * t892 + 0.3e1 * t1544 * t198 * t765 + t1524 + t1533 + t1536 + t679 + t704 + t751 - t759 - t764; + const double t1592 = t905 * t1469; + const double t1593 = t904 * t1592; + const double t1594 = t128 * t1593; + const double t1596 = -t903 - 0.17808333333333333333e-1 * t1594; + const double t1598 = 0.621814e-1 * t1596 * t291; + const double t1600 = -t902 / 0.3e1 - t1594 / 0.3e1; + const double t1601 = t916 * t1600; + const double t1604 = t923 * t1600; + const double t1606 = t930 * t1592; + const double t1607 = t141 * t1606; + const double t1609 = 0.1898925e1 * t1601 - t921 - 0.29896666666666666667e0 * t1594 + 0.3071625e0 * t1604 - t929 - 0.82156666666666666667e-1 * t1607; + const double t1610 = t1609 * t935; + const double t1612 = 0.1e1 * t915 * t1610; + const double t1614 = -t939 - 0.17123333333333333333e-1 * t1594; + const double t1621 = 0.3529725e1 * t1601 - t948 - 0.516475e0 * t1594 + 0.6311625e0 * t1604 - t951 - 0.104195e0 * t1607; + const double t1622 = t1621 * t954; + const double t1626 = -t958 - 0.92708333333333333333e-2 * t1594; + const double t1627 = t1626 * t324; + const double t1633 = 0.258925e1 * t1601 - t967 - 0.301925e0 * t1594 + 0.16504875e0 * t1604 - t970 - 0.82785e-1 * t1607; + const double t1634 = t1633 * t973; + const double t1638 = t300 * ( -0.310907e-1 * t1614 * t311 + 0.1e1 * t946 * t1622 + t1598 - t1612 - 0.19751673498613801407e-1 * t1627 + 0.5848223622634646207e0 * t965 * t1634 ); + const double t1640 = 0.19751673498613801407e-1 * t300 * t1627; + const double t1642 = t964 * t1633 * t973; + const double t1644 = 0.5848223622634646207e0 * t981 * t1642; + const double t1646 = -t986 - 0.83333333333333333333e-2 * t1594; + const double t1647 = t1646 * t341; + const double t1651 = -t997 - 0.14816666666666666667e-1 * t1594; + const double t1652 = t996 * t1651; + const double t1655 = t1015 * t1469; + const double t1656 = t1012 * t1655; + const double t1659 = t1647 * t225; + const double t1660 = t1659 * t366; + const double t1663 = t373 * t1651; + const double t1664 = t372 * t1663; + const double t1665 = t371 * t1664; + const double t1668 = -t1598 + t1612 + t1638 + t1640 - t1644; + const double t1669 = t373 * t1668; + const double t1670 = t1669 * t1045; + const double t1671 = t1042 * t1670; + const double t1674 = t1066 * t1592; + const double t1675 = t247 * t1674; + const double t1678 = t1009 + t1011 * t1656 / 0.288e3 + 0.21437009059034868486e-3 * t1660 * t375 - 0.21437009059034868486e-3 * t1025 * t1665 + 0.21437009059034868486e-3 * t1041 * t1671 + t1060 + 0.14291339372689912324e-3 * t1063 * t1675; + const double t1679 = t1678 * t225; + const double t1680 = t1679 * t385; + const double t1685 = t1082 * t1651; + const double t1689 = t378 * t1668 * t1089; + const double t1692 = t380 * t1678; + const double t1695 = 0.65854491829355115987e0 * t1647 * t381 - 0.65854491829355115987e0 * t1024 * t1685 + 0.65854491829355115987e0 * t1087 * t1689 + 0.65854491829355115987e0 * t342 * t1692; + const double t1696 = t1079 * t1695; + const double t1699 = 0.65854491829355115987e0 * t1647 * t386 - 0.65854491829355115987e0 * t995 * t1652 + 0.65854491829355115987e0 * t342 * t1680 - 0.65854491829355115987e0 * t1076 * t1696; + const double t1704 = piecewise_functor_3( t394, t1102 * t1699 * t198 * t336 - t1598 + t1612 + t1638 + t1640 - t1644, t1587 ); + const double t1709 = piecewise_functor_3( t120, t265 * t1468 / 0.2e1 + t1587 * t30 / 0.2e1, t395 * t1469 / 0.2e1 + t1704 * t45 / 0.2e1 ); + const double t1711 = -t1468; + const double t1715 = t1121 * t1469; + const double t1716 = t1120 * t1715; + const double t1717 = t128 * t1716; + const double t1719 = -t1119 + 0.17808333333333333333e-1 * t1717; + const double t1721 = 0.621814e-1 * t1719 * t422; + const double t1723 = -t1118 / 0.3e1 + t1717 / 0.3e1; + const double t1724 = t1132 * t1723; + const double t1727 = t1139 * t1723; + const double t1729 = t1145 * t1715; + const double t1730 = t141 * t1729; + const double t1732 = 0.1898925e1 * t1724 - t1137 + 0.29896666666666666667e0 * t1717 + 0.3071625e0 * t1727 - t1144 + 0.82156666666666666667e-1 * t1730; + const double t1733 = t1732 * t1150; + const double t1735 = 0.1e1 * t1131 * t1733; + const double t1737 = -t1154 + 0.17123333333333333333e-1 * t1717; + const double t1744 = 0.3529725e1 * t1724 - t1163 + 0.516475e0 * t1717 + 0.6311625e0 * t1727 - t1166 + 0.104195e0 * t1730; + const double t1745 = t1744 * t1169; + const double t1749 = -t1173 + 0.92708333333333333333e-2 * t1717; + const double t1750 = t1749 * t448; + const double t1756 = 0.258925e1 * t1724 - t1182 + 0.301925e0 * t1717 + 0.16504875e0 * t1727 - t1185 + 0.82785e-1 * t1730; + const double t1757 = t1756 * t1188; + const double t1761 = t300 * ( -0.310907e-1 * t1737 * t435 + 0.1e1 * t1161 * t1745 + t1721 - t1735 - 0.19751673498613801407e-1 * t1750 + 0.5848223622634646207e0 * t1180 * t1757 ); + const double t1763 = 0.19751673498613801407e-1 * t300 * t1750; + const double t1765 = t1179 * t1756 * t1188; + const double t1767 = 0.5848223622634646207e0 * t1196 * t1765; + const double t1769 = -t1201 + 0.83333333333333333333e-2 * t1717; + const double t1770 = t1769 * t459; + const double t1774 = -t1212 + 0.14816666666666666667e-1 * t1717; + const double t1775 = t1211 * t1774; + const double t1778 = t1480 * t344; + const double t1781 = t1225 * t1469; + const double t1782 = t1012 * t1781; + const double t1785 = t1770 * t225; + const double t1786 = t1785 * t480; + const double t1789 = t482 * t1774; + const double t1790 = t372 * t1789; + const double t1791 = t371 * t1790; + const double t1794 = -t1721 + t1735 + t1761 + t1763 - t1767; + const double t1795 = t482 * t1794; + const double t1796 = t1795 * t1250; + const double t1797 = t1042 * t1796; + const double t1800 = t476 * t51; + const double t1802 = 0.1e1 / t52 / t1800; + const double t1803 = t475 * t1802; + const double t1804 = t467 * t1803; + const double t1807 = t1264 * t1715; + const double t1808 = t247 * t1807; + const double t1811 = -t1778 * t464 / 0.36e2 + t1221 - t1222 * t1782 / 0.288e3 + 0.21437009059034868486e-3 * t1786 * t484 - 0.21437009059034868486e-3 * t1235 * t1791 + 0.21437009059034868486e-3 * t1247 * t1797 - 0.11433071498151929859e-2 * t1804 * t484 + t1258 - 0.14291339372689912324e-3 * t1261 * t1808; + const double t1812 = t1811 * t225; + const double t1813 = t1812 * t494; + const double t1818 = t1280 * t1774; + const double t1822 = t487 * t1794 * t1287; + const double t1825 = t489 * t1811; + const double t1828 = 0.65854491829355115987e0 * t1770 * t490 - 0.65854491829355115987e0 * t1234 * t1818 + 0.65854491829355115987e0 * t1285 * t1822 + 0.65854491829355115987e0 * t460 * t1825; + const double t1829 = t1277 * t1828; + const double t1832 = 0.65854491829355115987e0 * t1770 * t495 - 0.65854491829355115987e0 * t1210 * t1775 + 0.65854491829355115987e0 * t460 * t1813 - 0.65854491829355115987e0 * t1274 * t1829; + const double t1837 = piecewise_functor_3( t503, t1300 * t1832 * t198 * t336 - t1721 + t1735 + t1761 + t1763 - t1767, t1587 ); + const double t1842 = piecewise_functor_3( t400, t1587 * t33 / 0.2e1 + t265 * t1711 / 0.2e1, -t504 * t1469 / 0.2e1 + t1837 * t57 / 0.2e1 ); + const double t1843 = t1709 + t1842; + const double t1847 = 0.2e1 * t1312 * t1518 + t1502; + const double t1851 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t513 * t1468 ); + const double t1854 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t516 * t1711 ); + const double t1856 = ( t1851 + t1854 ) * t162; + const double t1857 = t1856 * t189; + const double t1858 = t512 * t1857; + const double t1860 = 0.19751673498613801407e-1 * t1856 * t187; + const double t1863 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1344 * t1468 ); + const double t1866 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1348 * t1711 ); + const double t1868 = t1863 / 0.2e1 + t1866 / 0.2e1; + const double t1872 = t124 * t1868; + const double t1873 = t800 * t1872; + const double t1877 = ( t679 + t704 - t1319 - t1322 + t1858 + t1334 + t1860 - t1339 - t1342 ) * t225; + const double t1879 = t1394 * t1868; + const double t1882 = -t1877 * t541 + 0.3e1 * t1879 * t539; + const double t1883 = t1882 * t543; + const double t1884 = t828 * t1883; + const double t1885 = t1390 * t1884; + const double t1889 = t1414 * t828 * t1868; + const double t1892 = -t1368 - t1370 * t1873 / 0.48e2 - t1378 + t1383 - 0.21437009059034868486e-3 * t1388 * t1885 - t1407 - 0.85748036236139473944e-3 * t1410 * t1889; + const double t1893 = t1892 * t225; + const double t1894 = t1893 * t561; + const double t1897 = t1437 * t1883; + const double t1900 = t546 * t1892; + const double t1903 = -t1431 + t1436 - 0.65854491829355115987e0 * t820 * t1897 + 0.65854491829355115987e0 * t213 * t1900; + const double t1904 = t1427 * t1903; + const double t1907 = -t1361 + t1366 + 0.65854491829355115987e0 * t213 * t1894 - 0.65854491829355115987e0 * t1424 * t1904; + const double t1911 = t1450 * t1907 * t198 * t532 + 0.3e1 * t1343 * t1868 * t198 - t1319 - t1322 + t1334 - t1339 - t1342 + t1858 + t1860 + t679 + t704; + const double t1913 = -t118 * t1843 - t1502 * t508 - 0.2e1 * t1519 * t651 + t1847 * t569 + t1911 * t511; + const double t1914 = t3 * t1913; + const double t1916 = d * t1913; + const double t1918 = t117 * t1518; + const double t1921 = t1916 * t573 + 0.3e1 * t1918 * t572; + const double t1923 = t603 * t38; + const double t1925 = t43 * t49 - t68; + const double t1926 = t1925 * t72; + const double t1927 = t76 * t84; + const double t1928 = t1926 * t1927; + const double t1931 = piecewise_functor_3( t8, 0.0, -t1923 * t1928 / 0.6e1 ); + const double t1932 = t1931 * t117; + const double t1934 = t68 * t112; + const double t1936 = piecewise_functor_3( t115, 0.0, t1934 / 0.8e1 ); + const double t1937 = t508 * t1936; + const double t1939 = 0.2e1 * t651 * t1937; + const double t1940 = t198 * t207; + const double t1941 = t215 * t159; + const double t1943 = t1941 * t218 * t816; + const double t1945 = t234 * t64; + const double t1946 = t213 * t1945; + const double t1947 = t1946 * t248; + const double t1949 = t1943 / 0.96e2 + 0.42874018118069736972e-3 * t1947; + const double t1950 = t1949 * t225; + const double t1951 = t1950 * t257; + const double t1954 = t209 * t209; + const double t1955 = t1954 * t785; + const double t1956 = t1955 * t251; + const double t1957 = t1032 * t867; + const double t1958 = t233 * t1949; + const double t1959 = t1957 * t1958; + const double t1962 = 0.65854491829355115987e0 * t213 * t1951 - 0.4336814094102599731e0 * t1956 * t1959; + const double t1963 = t1962 * t892; + const double t1964 = t1963 * t30; + const double t1966 = t1940 * t1964 / 0.2e1; + const double t1967 = t43 * t343; + const double t1968 = t1967 * t136; + const double t1971 = t359 * sigma_aa; + const double t1972 = t1971 * t365; + const double t1973 = t351 * t1972; + const double t1976 = t1968 * t348 / 0.96e2 + 0.42874018118069736972e-3 * t1973 * t375; + const double t1977 = t1976 * t225; + const double t1978 = t1977 * t385; + const double t1981 = t338 * t338; + const double t1982 = t1981 * t993; + const double t1983 = t1982 * t378; + const double t1984 = t1032 * t1078; + const double t1985 = t359 * t1976; + const double t1986 = t1984 * t1985; + const double t1989 = 0.65854491829355115987e0 * t342 * t1978 - 0.4336814094102599731e0 * t1983 * t1986; + const double t1993 = t207 * t1962; + const double t1995 = t198 * t1993 * t892; + const double t1996 = piecewise_functor_3( t394, t198 * t336 * t1989 * t1102, t1995 ); + const double t1999 = piecewise_functor_3( t120, t1966, t1996 * t45 / 0.2e1 ); + const double t2000 = t1963 * t33; + const double t2002 = t1940 * t2000 / 0.2e1; + const double t2003 = piecewise_functor_3( t503, 0.0, t1995 ); + const double t2006 = piecewise_functor_3( t400, t2002, t2003 * t57 / 0.2e1 ); + const double t2007 = t1999 + t2006; + const double t2010 = 0.2e1 * t1312 * t1936; + const double t2011 = t1932 + t2010; + const double t2013 = t511 * t196; + const double t2014 = t2013 * t197; + const double t2016 = t1941 * t533 * t816; + const double t2018 = t546 * t64; + const double t2019 = t213 * t2018; + const double t2020 = t2019 * t552; + const double t2022 = t2016 / 0.96e2 + 0.42874018118069736972e-3 * t2020; + const double t2023 = t2022 * t225; + const double t2024 = t2023 * t561; + const double t2027 = t1955 * t555; + const double t2028 = t1032 * t1426; + const double t2029 = t545 * t2022; + const double t2030 = t2028 * t2029; + const double t2033 = 0.65854491829355115987e0 * t213 * t2024 - 0.4336814094102599731e0 * t2027 * t2030; + const double t2034 = t532 * t2033; + const double t2035 = t2034 * t1450; + const double t2036 = t2014 * t2035; + const double t2037 = -t118 * t2007 - t1932 * t508 + t2011 * t569 - t1939 + t2036; + const double t2038 = t3 * t2037; + const double t2040 = d * t2037; + const double t2042 = t117 * t1936; + const double t2044 = 0.3e1 * t572 * t2042; + const double t2045 = t2040 * t573 + t2044; + const double t2047 = t68 * t72; + const double t2048 = t2047 * t1927; + const double t2051 = piecewise_functor_3( t8, 0.0, t1923 * t2048 / 0.3e1 ); + const double t2052 = t2051 * t117; + const double t2055 = piecewise_functor_3( t115, 0.0, t1934 / 0.4e1 ); + const double t2056 = t508 * t2055; + const double t2061 = t1943 / 0.48e2 + 0.85748036236139473944e-3 * t1947; + const double t2062 = t2061 * t225; + const double t2063 = t2062 * t257; + const double t2066 = t233 * t2061; + const double t2067 = t1957 * t2066; + const double t2070 = 0.65854491829355115987e0 * t213 * t2063 - 0.4336814094102599731e0 * t1956 * t2067; + const double t2071 = t2070 * t892; + const double t2072 = t2071 * t30; + const double t2075 = t207 * t2070; + const double t2077 = t198 * t2075 * t892; + const double t2078 = piecewise_functor_3( t394, 0.0, t2077 ); + const double t2081 = piecewise_functor_3( t120, t1940 * t2072 / 0.2e1, t2078 * t45 / 0.2e1 ); + const double t2082 = t2071 * t33; + const double t2085 = piecewise_functor_3( t503, 0.0, t2077 ); + const double t2088 = piecewise_functor_3( t400, t1940 * t2082 / 0.2e1, t2085 * t57 / 0.2e1 ); + const double t2089 = t2081 + t2088; + const double t2093 = 0.2e1 * t1312 * t2055 + t2052; + const double t2097 = t2016 / 0.48e2 + 0.85748036236139473944e-3 * t2020; + const double t2098 = t2097 * t225; + const double t2099 = t2098 * t561; + const double t2102 = t545 * t2097; + const double t2103 = t2028 * t2102; + const double t2106 = 0.65854491829355115987e0 * t213 * t2099 - 0.4336814094102599731e0 * t2027 * t2103; + const double t2107 = t532 * t2106; + const double t2108 = t2107 * t1450; + const double t2110 = -t118 * t2089 + t2014 * t2108 - t2052 * t508 - 0.2e1 * t2056 * t651 + t2093 * t569; + const double t2111 = t3 * t2110; + const double t2113 = d * t2110; + const double t2115 = t117 * t2055; + const double t2118 = t2113 * t573 + 0.3e1 * t2115 * t572; + const double t2121 = t55 * t61 - t68; + const double t2122 = t2121 * t72; + const double t2123 = t2122 * t1927; + const double t2126 = piecewise_functor_3( t8, 0.0, -t1923 * t2123 / 0.6e1 ); + const double t2127 = t2126 * t117; + const double t2129 = piecewise_functor_3( t394, 0.0, t1995 ); + const double t2132 = piecewise_functor_3( t120, t1966, t2129 * t45 / 0.2e1 ); + const double t2133 = t55 * t343; + const double t2134 = t2133 * t136; + const double t2137 = t473 * sigma_bb; + const double t2138 = t2137 * t479; + const double t2139 = t467 * t2138; + const double t2142 = t2134 * t464 / 0.96e2 + 0.42874018118069736972e-3 * t2139 * t484; + const double t2143 = t2142 * t225; + const double t2144 = t2143 * t494; + const double t2147 = t456 * t456; + const double t2148 = t2147 * t1208; + const double t2149 = t2148 * t487; + const double t2150 = t1032 * t1276; + const double t2151 = t473 * t2142; + const double t2152 = t2150 * t2151; + const double t2155 = 0.65854491829355115987e0 * t460 * t2144 - 0.4336814094102599731e0 * t2149 * t2152; + const double t2159 = piecewise_functor_3( t503, t198 * t336 * t2155 * t1300, t1995 ); + const double t2162 = piecewise_functor_3( t400, t2002, t2159 * t57 / 0.2e1 ); + const double t2163 = t2132 + t2162; + const double t2165 = t2127 + t2010; + const double t2167 = -t118 * t2163 - t2127 * t508 + t2165 * t569 - t1939 + t2036; + const double t2168 = t3 * t2167; + const double t2170 = d * t2167; + const double t2172 = t2170 * t573 + t2044; + const double t2174 = t655 * t96; + const double t2175 = t2174 * t101; + const double t2178 = piecewise_functor_3( t115, 0.0, -t69 * t2175 / 0.8e1 ); + const double t2179 = t508 * t2178; + const double t2181 = t2178 * t569; + const double t2184 = 0.2e1 * t1312 * t2181 - 0.2e1 * t2179 * t651; + const double t2185 = t3 * t2184; + const double t2187 = d * t2184; + const double t2189 = t117 * t2178; + const double t2192 = t2187 * t573 + 0.3e1 * t2189 * t572; + const double t2194 = t655 * t104; + const double t2195 = t2194 * t109; + const double t2198 = piecewise_functor_3( t115, 0.0, -t69 * t2195 / 0.8e1 ); + const double t2199 = t508 * t2198; + const double t2201 = t2198 * t569; + const double t2204 = 0.2e1 * t1312 * t2201 - 0.2e1 * t2199 * t651; + const double t2205 = t3 * t2204; + const double t2207 = d * t2204; + const double t2209 = t117 * t2198; + const double t2212 = t2207 * t573 + 0.3e1 * t2209 * t572; + const double t2214 = t1455 * t575; + const double t2216 = t571 * t1464; + const double t2219 = 0.2e1 * t10 * t17; + const double t2221 = 0.8e1 * t576 * t580; + const double t2223 = 0.6e1 * t15 * t22; + const double t2224 = t11 * t14; + const double t2226 = 0.12e2 * t2224 * t22; + const double t2228 = 0.32e2 * t584 * t588; + const double t2230 = 0.2e2 * t20 * t27; + const double t2231 = t12 * t19; + const double t2233 = 0.3e2 * t2231 * t27; + const double t2235 = 0.72e2 * t592 * t596; + const double t2236 = t21 * t21; + const double t2237 = 0.1e1 / t2236; + const double t2239 = 0.42e2 * t25 * t2237; + const double t2240 = t2219 - t2221 + t2223 + t2226 - t2228 + t2230 + t2233 - t2235 + t2239; + const double t2242 = t599 * t602; + const double t2246 = 0.1e1 / t90 / t89; + const double t2247 = t29 * t2246; + const double t2248 = t644 * t644; + const double t2251 = t606 * t606; + const double t2252 = t2251 * t70; + const double t2255 = t2 * t580; + const double t2256 = -t17 + t2255; + const double t2257 = 0.2e1 * t2256; + const double t2258 = piecewise_functor_5( t31, 0.0, t34, 0.0, t2257 ); + const double t2259 = t36 * t2258; + const double t2260 = t2259 * t70; + const double t2263 = t607 * t627; + const double t2269 = 0.1e1 / t41 / t362; + const double t2270 = sigma_aa * t2269; + const double t2275 = 0.1e1 / t47; + const double t2276 = t2275 * t2251; + const double t2279 = t48 * t2258; + const double t2282 = 0.1e1 / t59; + const double t2283 = t2282 * t2251; + const double t2286 = t60 * t2258; + const double t2289 = t64 * t239; + const double t2290 = 0.88e2 / 0.9e1 * t2289; + const double t2291 = 0.88e2 / 0.9e1 * t2270 * t49 - 0.4e2 / 0.9e1 * t614 * t617 + 0.5e1 / 0.18e2 * t44 * t2276 + 0.5e1 / 0.6e1 * t44 * t2279 + 0.5e1 / 0.18e2 * t56 * t2283 - 0.5e1 / 0.6e1 * t56 * t2286 - t2290; + const double t2292 = t38 * t2291; + const double t2297 = t631 * t45; + const double t2299 = 0.1e1 / t78 / t2297; + const double t2304 = t635 * t57; + const double t2306 = 0.1e1 / t81 / t2304; + const double t2311 = 0.28e2 / 0.9e1 * t2299 * t2251 - 0.4e1 / 0.3e1 * t633 * t2258 + 0.28e2 / 0.9e1 * t2306 * t2251 + 0.4e1 / 0.3e1 * t637 * t2258; + const double t2312 = t77 * t2311; + const double t2315 = -t2252 * t85 / 0.12e2 - t2260 * t85 / 0.12e2 - t2263 * t85 / 0.6e1 - t608 * t641 / 0.6e1 + t2292 * t85 / 0.24e2 + t628 * t641 / 0.12e2 + t71 * t2312 / 0.24e2; + const double t2319 = piecewise_functor_3( t8, 0.0, t2240 * t91 - 0.8e1 * t2242 * t644 + 0.2e2 * t2247 * t2248 - 0.4e1 * t2315 * t603 ); + const double t2320 = t2319 * t117; + const double t2322 = t648 * t116; + const double t2327 = t670 * t670; + const double t2328 = t94 * t2327; + const double t2331 = t1310 * t670; + const double t2335 = 0.11e2 / 0.9e1 * t2289 * t112; + const double t2336 = t625 * t666; + const double t2339 = 0.1e1 / t654 / t111; + const double t2340 = t665 * t665; + const double t2341 = t2339 * t2340; + const double t2344 = tau_a * t613; + const double t2349 = 0.1e1 / t99; + const double t2350 = t658 * t658; + const double t2351 = t2349 * t2350; + const double t2354 = t100 * t2256; + const double t2357 = 0.1e1 / t107; + const double t2358 = t661 * t661; + const double t2359 = t2357 * t2358; + const double t2362 = -t2256; + const double t2363 = t108 * t2362; + const double t2366 = 0.4e2 / 0.9e1 * t2344 * t101 - 0.5e2 / 0.9e1 * t656 * t659 + 0.1e2 / 0.9e1 * t97 * t2351 + 0.5e1 / 0.3e1 * t97 * t2354 + 0.1e2 / 0.9e1 * t105 * t2359 + 0.5e1 / 0.3e1 * t105 * t2363; + const double t2367 = t655 * t2366; + const double t2371 = piecewise_functor_3( t115, 0.0, t2335 + 0.2e1 / 0.3e1 * t2336 + t69 * t2341 / 0.4e1 - t69 * t2367 / 0.8e1 ); + const double t2372 = t508 * t2371; + const double t2375 = t717 * t750; + const double t2376 = 0.2e1 * t2375; + const double t2377 = t125 * t215; + const double t2381 = t675 * t723; + const double t2385 = t722 * t169; + const double t2386 = 0.1e1 / t2385; + const double t2387 = t164 * t2386; + const double t2388 = t729 * t729; + const double t2389 = t2388 * t730; + const double t2394 = 0.1e1 / t131 / t128 * t136; + const double t2396 = t2395 * t68; + const double t2397 = t2394 * t2396; + const double t2399 = t685 * t215; + const double t2400 = t684 * t2399; + const double t2402 = t123 * t2377; + const double t2404 = 0.1e1/safe_math::sqrt( t128 ); + const double t2405 = t2404 * t136; + const double t2406 = t2405 * t2396; + const double t2408 = t692 * t2399; + const double t2410 = t124 * t68; + const double t2411 = t138 * t2410; + const double t2413 = -0.78438333333333333333e0 * t2397 + 0.15687666666666666667e1 * t2400 + 0.68863333333333333333e0 * t2402 + 0.14025833333333333333e0 * t2406 + 0.28051666666666666667e0 * t2408 + 0.17365833333333333333e0 * t2411; + const double t2414 = t2413 * t730; + const double t2417 = t722 * t722; + const double t2418 = 0.1e1 / t2417; + const double t2419 = t164 * t2418; + const double t2420 = t172 * t172; + const double t2421 = 0.1e1 / t2420; + const double t2422 = t2388 * t2421; + const double t2427 = 0.14764627977777777777e-2 * t123 * t2377 * t147; + const double t2428 = t675 * t681; + const double t2431 = 0.35616666666666666666e-1 * t268 * t2428 * t702; + const double t2432 = t680 * t143; + const double t2433 = 0.1e1 / t2432; + const double t2434 = t130 * t2433; + const double t2435 = t700 * t700; + const double t2436 = t2435 * t701; + const double t2438 = 0.2e1 * t2434 * t2436; + const double t2445 = -0.42198333333333333333e0 * t2397 + 0.84396666666666666666e0 * t2400 + 0.39862222222222222223e0 * t2402 + 0.68258333333333333333e-1 * t2406 + 0.13651666666666666667e0 * t2408 + 0.13692777777777777778e0 * t2411; + const double t2446 = t2445 * t701; + const double t2448 = 0.1e1 * t682 * t2446; + const double t2449 = t680 * t680; + const double t2450 = 0.1e1 / t2449; + const double t2451 = t130 * t2450; + const double t2452 = t146 * t146; + const double t2453 = 0.1e1 / t2452; + const double t2454 = t2435 * t2453; + const double t2456 = 0.16081979498692535067e2 * t2451 * t2454; + const double t2460 = t675 * t738; + const double t2464 = t737 * t182; + const double t2465 = 0.1e1 / t2464; + const double t2466 = t177 * t2465; + const double t2467 = t744 * t744; + const double t2468 = t2467 * t745; + const double t2477 = -0.57538888888888888889e0 * t2397 + 0.11507777777777777778e1 * t2400 + 0.40256666666666666667e0 * t2402 + 0.366775e-1 * t2406 + 0.73355e-1 * t2408 + 0.137975e0 * t2411; + const double t2478 = t2477 * t745; + const double t2481 = t737 * t737; + const double t2482 = 0.1e1 / t2481; + const double t2483 = t177 * t2482; + const double t2484 = t185 * t185; + const double t2485 = 0.1e1 / t2484; + const double t2486 = t2467 * t2485; + const double t2489 = -0.70983522622222222221e-3 * t123 * t2377 * t173 - 0.34246666666666666666e-1 * t268 * t2381 * t731 - 0.2e1 * t2387 * t2389 + 0.1e1 * t724 * t2414 + 0.32163958997385070134e2 * t2419 * t2422 + t2427 + t2431 + t2438 - t2448 - t2456 - 0.24415263074675393405e-3 * t123 * t2377 * t186 - 0.10843581300301739842e-1 * t268 * t2460 * t746 - 0.11696447245269292414e1 * t2466 * t2468 + 0.5848223622634646207e0 * t739 * t2478 + 0.17315859105681463759e2 * t2483 * t2486; + const double t2490 = t162 * t2489; + const double t2491 = t158 * t2490; + const double t2492 = t890 * t890; + const double t2494 = t261 * t261; + const double t2495 = 0.1e1 / t2494; + const double t2498 = t37 * t157; + const double t2499 = t190 * t2251; + const double t2501 = 0.12e2 * t2498 * t2499; + const double t2507 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t2251 + 0.2e1 / 0.3e1 * t766 * t2258 ); + const double t2513 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t2251 - 0.2e1 / 0.3e1 * t770 * t2258 ); + const double t2515 = t2507 / 0.2e1 + t2513 / 0.2e1; + const double t2520 = 0.73171657588172351096e-2 * t2402 * t781; + const double t2521 = t785 * t251; + const double t2522 = t2521 * t780; + const double t2524 = 0.65049603595885220126e-3 * t2411 * t2522; + const double t2525 = t212 * t860; + const double t2526 = t2525 * t780; + const double t2527 = t689 * t2526; + const double t2529 = t779 * t887; + const double t2530 = t689 * t2529; + const double t2533 = 0.1e1 / t784 / t211; + const double t2534 = t209 * t2533; + const double t2535 = t2534 * t252; + const double t2536 = t257 * t136; + const double t2537 = t2536 * t2396; + const double t2539 = 0.11565819519348392139e-2 * t2535 * t2537; + const double t2540 = t786 * t861; + const double t2541 = t2540 * t789; + const double t2543 = t252 * t867; + const double t2544 = t786 * t2543; + const double t2545 = t676 * t886; + const double t2546 = t123 * t2545; + const double t2547 = t2544 * t2546; + const double t2549 = t788 * t2399; + const double t2551 = 0.13009920719177044025e-1 * t787 * t2549; + const double t2553 = t855 * t828 * t2515; + const double t2556 = t596 * t240; + const double t2558 = t2556 * t243 * t816; + const double t2560 = 0.13552000749142754193e-3 * t813 * t2558; + const double t2561 = t786 * t225; + const double t2563 = t2561 * t849 * t27; + const double t2564 = t854 * t136; + const double t2566 = t2564 * t221 * t775; + const double t2567 = t2563 * t2566; + const double t2570 = 0.1e1 / t66 / t26; + const double t2571 = t2570 * t240; + const double t2573 = t2571 * t243 * t247; + const double t2575 = 0.56688979511669985553e-2 * t237 * t2573; + const double t2577 = t820 * t849 * t843; + const double t2578 = t2577 * t857; + const double t2581 = 0.1e1 / t242 / t206; + const double t2582 = t240 * t2581; + const double t2583 = t2582 * t72; + const double t2584 = t775 * t775; + const double t2586 = t2583 * t828 * t2584; + const double t2590 = t2561 * t823 * t27; + const double t2591 = t826 * t136; + const double t2593 = t2591 * t221 * t837; + const double t2594 = t2590 * t2593; + const double t2596 = t2482 * t2467; + const double t2597 = t2596 * t2485; + const double t2599 = 0.17315859105681463759e2 * t760 * t2597; + const double t2600 = t752 * t177; + const double t2601 = t2600 * t762; + const double t2602 = 0.11696447245269292414e1 * t2601; + const double t2604 = t738 * t2477 * t745; + const double t2606 = 0.5848223622634646207e0 * t760 * t2604; + const double t2607 = t190 * t2258; + const double t2609 = 0.4e1 * t706 * t2607; + const double t2610 = t705 * t716; + const double t2612 = 0.8e1 * t2610 * t707; + const double t2613 = t750 * t606; + const double t2614 = t706 * t2613; + const double t2615 = 0.8e1 * t2614; + const double t2616 = t752 * t72; + const double t2617 = t2616 * t757; + const double t2618 = 0.36622894612013090108e-3 * t2617; + const double t2620 = t2465 * t2467 * t745; + const double t2622 = 0.11696447245269292414e1 * t760 * t2620; + const double t2623 = t192 * t123; + const double t2624 = t676 * t762; + const double t2626 = 0.10843581300301739842e-1 * t2623 * t2624; + const double t2627 = 0.1e1 / t200; + const double t2633 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2627 * t2251 + 0.4e1 / 0.3e1 * t78 * t2258 ); + const double t2634 = 0.1e1 / t202; + const double t2640 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2634 * t2251 - 0.4e1 / 0.3e1 * t81 * t2258 ); + const double t2641 = t2633 + t2640; + const double t2642 = t2641 * t162; + const double t2644 = 0.19751673498613801407e-1 * t2642 * t187; + const double t2645 = t150 * t2641; + const double t2646 = t2645 * t190; + const double t2648 = t685 * t215 * t186; + const double t2650 = 0.24415263074675393405e-3 * t755 * t2648; + const double t2651 = -t2599 - t2602 - t2606 + t2501 - t2427 + t2609 + t2612 + t2615 - t2438 - t2618 + t2622 - t2431 + t2626 + t2644 + t2448 + t2456 + t2646 + t2376 + t2491 + t2650; + const double t2652 = t2651 * t225; + const double t2656 = t73 * t853; + const double t2657 = t2656 * t2584; + const double t2660 = t832 * t2515; + const double t2663 = -0.12e2 * t227 * t2657 + 0.3e1 * t227 * t2660 - t229 * t2652 + 0.6e1 * t830 * t833; + const double t2664 = t2663 * t231; + const double t2666 = t827 * t828 * t2664; + const double t2671 = t800 * t124 * t596 * t212; + const double t2673 = 0.76220476654346199061e-4 * t2671 * t810; + const double t2674 = t854 * t775; + const double t2675 = t236 * t2674; + const double t2676 = t807 * t2675; + const double t2680 = 0.1e1 / t65 / t595; + const double t2681 = t2680 * t785; + const double t2682 = t2681 * t225; + const double t2683 = t849 * t826; + const double t2685 = 0.25410001404642664112e-5 * t2682 * t2683; + const double t2686 = t27 * t212; + const double t2688 = t816 * t2686 * t225; + const double t2689 = t823 * t240; + const double t2691 = t243 * t836 * t231; + const double t2692 = t2689 * t2691; + const double t2693 = t2688 * t2692; + const double t2696 = 0.1e1 / t821 / t232; + const double t2697 = t2696 * t235; + const double t2699 = t820 * t2697 * t239; + const double t2700 = t836 * t836; + const double t2701 = t231 * t231; + const double t2702 = t2700 * t2701; + const double t2704 = t827 * t828 * t2702; + const double t2707 = t159 * t243; + const double t2708 = t216 * t2707; + const double t2709 = t124 * t2584; + const double t2710 = t800 * t2709; + const double t2714 = 0.1e1 / t65 / t21; + const double t2715 = t64 * t2714; + const double t2716 = t2715 * t159; + const double t2718 = 0.35e2 / 0.432e3 * t2716 * t222; + const double t2719 = t794 * t798; + const double t2720 = t2719 * t802; + const double t2722 = t124 * t2515; + const double t2723 = t800 * t2722; + const double t2726 = t2534 * t234; + const double t2727 = t235 * t2680; + const double t2730 = 0.45178982497454656791e-5 * t2726 * t2727 * t826; + const double t2732 = t820 * t823 * t843; + const double t2733 = t2732 * t839; + const double t2736 = t820 * t823 * t241; + const double t2737 = t853 * t72; + const double t2738 = t2737 * t245; + const double t2740 = t231 * t775; + const double t2741 = t125 * t836 * t2740; + const double t2742 = t2738 * t2741; + const double t2745 = t2700 * t231; + const double t2747 = t827 * t828 * t2745; + const double t2750 = -t2685 + 0.14291339372689912324e-4 * t2693 + 0.42874018118069736972e-3 * t2699 * t2704 + t2708 * t2710 / 0.16e2 + t2718 + 0.7e1 / 0.72e2 * t2720 - t799 * t2723 / 0.48e2 + t2730 + 0.20007875121765877254e-2 * t2733 + 0.17149607247227894789e-2 * t2736 * t2742 - 0.21437009059034868486e-3 * t825 * t2747; + const double t2751 = -0.85748036236139473944e-3 * t851 * t2553 - t2560 - 0.10164000561857065645e-3 * t2567 + t2575 + 0.80031500487063509015e-2 * t2578 + 0.42874018118069736972e-2 * t851 * t2586 - 0.25410001404642664112e-4 * t2594 - 0.21437009059034868486e-3 * t825 * t2666 + t2673 + 0.57165357490759649296e-4 * t2676 + t2750; + const double t2752 = t2751 * t225; + const double t2756 = t213 * t860; + const double t2760 = 0.1e1 / t866 / t256; + const double t2761 = t225 * t2760; + const double t2762 = t886 * t886; + const double t2763 = t2761 * t2762; + const double t2767 = 0.73171657588172351096e-2 * t2402 * t871; + const double t2768 = t785 * t225; + const double t2769 = t2768 * t870; + const double t2771 = 0.65049603595885220126e-3 * t2411 * t2769; + const double t2773 = t123 * t676 * t212; + const double t2774 = t225 * t822; + const double t2775 = t251 * t836; + const double t2777 = t2774 * t2775 * t231; + const double t2778 = t2773 * t2777; + const double t2780 = t233 * t860; + const double t2781 = t869 * t2780; + const double t2782 = t689 * t2781; + const double t2784 = t251 * t136; + const double t2787 = 0.11565819519348392139e-2 * t2726 * t2784 * t2396; + const double t2788 = t2774 * t251; + const double t2789 = t786 * t2788; + const double t2790 = t675 * t836; + const double t2792 = t268 * t2790 * t231; + const double t2793 = t2789 * t2792; + const double t2795 = t860 * t72; + const double t2797 = t874 * t2795 * t686; + const double t2801 = 0.13009920719177044025e-1 * t874 * t875 * t2399; + const double t2802 = t2696 * t251; + const double t2806 = t822 * t860; + const double t2819 = t2767 - t2771 + 0.10975748638225852664e-1 * t2778 - 0.10975748638225852664e-1 * t2782 + t2787 - 0.19514881078765566038e-1 * t2793 + 0.19514881078765566038e-1 * t2797 - t2801 + 0.13170898365871023197e1 * t820 * t2802 * t2702 - 0.13170898365871023197e1 * t820 * t2806 * t837 - 0.65854491829355115987e0 * t820 * t879 * t2664 - 0.65854491829355115987e0 * t820 * t879 * t2745 + 0.65854491829355115987e0 * t213 * t234 * t2751; + const double t2820 = t868 * t2819; + const double t2823 = t2520 - t2524 - 0.10975748638225852664e-1 * t2527 + 0.10975748638225852664e-1 * t2530 + t2539 + 0.19514881078765566038e-1 * t2541 - 0.19514881078765566038e-1 * t2547 - t2551 + 0.65854491829355115987e0 * t213 * t2752 * t257 - 0.13170898365871023197e1 * t2756 * t887 + 0.13170898365871023197e1 * t865 * t2763 - 0.65854491829355115987e0 * t865 * t2820; + const double t2827 = t205 * t262; + const double t2831 = -t198 * t207 * t2492 * t2495 + t198 * t207 * t2823 * t892 + 0.3e1 * t198 * t2515 * t765 + 0.6e1 * t198 * t2584 * t2827 + t2376 - t2427 - t2431 + t2491 + t2501 + t2615 - t2618 + t2650; + const double t2832 = t198 * t206; + const double t2833 = t890 * t892; + const double t2837 = 0.6e1 * t2832 * t2833 * t775 - t2438 + t2448 + t2456 - t2599 - t2602 - t2606 + t2609 + t2612 + t2622 + t2626 + t2644 + t2646; + const double t2838 = t2831 + t2837; + const double t2846 = t268 * t1941 * t271; + const double t2847 = 0.23744444444444444444e-1 * t2846; + const double t2848 = t689 * t907; + const double t2850 = t159 * t1065; + const double t2851 = t631 * t631; + const double t2852 = 0.1e1 / t2851; + const double t2853 = t2852 * t2251; + const double t2854 = t2850 * t2853; + const double t2855 = t128 * t2854; + const double t2857 = 0.1e1 / t2297; + const double t2858 = t2857 * t2251; + const double t2859 = t904 * t2858; + const double t2860 = t128 * t2859; + const double t2862 = t905 * t2258; + const double t2863 = t904 * t2862; + const double t2864 = t128 * t2863; + const double t2866 = t2847 + 0.11872222222222222222e-1 * t2848 - 0.11872222222222222222e-1 * t2855 + 0.35616666666666666666e-1 * t2860 - 0.17808333333333333333e-1 * t2864; + const double t2868 = 0.621814e-1 * t2866 * t291; + const double t2869 = t910 * t914; + const double t2871 = 0.2e1 * t2869 * t936; + const double t2872 = t913 * t287; + const double t2873 = 0.1e1 / t2872; + const double t2874 = t275 * t2873; + const double t2875 = t934 * t934; + const double t2876 = t2875 * t935; + const double t2878 = 0.2e1 * t2874 * t2876; + const double t2880 = 0.1e1 / t276 / t273; + const double t2881 = t918 * t918; + const double t2882 = t2880 * t2881; + const double t2884 = 0.4e1 / 0.9e1 * t2846; + const double t2889 = t2884 + 0.2e1 / 0.9e1 * t2848 - 0.2e1 / 0.9e1 * t2855 + 0.2e1 / 0.3e1 * t2860 - t2864 / 0.3e1; + const double t2890 = t916 * t2889; + const double t2892 = 0.39862222222222222223e0 * t2846; + const double t2897 = 0.1e1/safe_math::sqrt( t273 ); + const double t2898 = t2897 * t2881; + const double t2900 = t923 * t2889; + const double t2902 = t68 * t240; + const double t2904 = t281 * t2902 * t283; + const double t2905 = 0.13692777777777777778e0 * t2904; + const double t2906 = t698 * t931; + const double t2908 = t240 * t1014; + const double t2909 = t2908 * t2853; + const double t2910 = t141 * t2909; + const double t2912 = t930 * t2858; + const double t2913 = t141 * t2912; + const double t2915 = t930 * t2862; + const double t2916 = t141 * t2915; + const double t2918 = -0.9494625e0 * t2882 + 0.1898925e1 * t2890 + t2892 + 0.19931111111111111111e0 * t2848 - 0.19931111111111111111e0 * t2855 + 0.59793333333333333334e0 * t2860 - 0.29896666666666666667e0 * t2864 + 0.15358125e0 * t2898 + 0.3071625e0 * t2900 + t2905 + 0.10954222222222222222e0 * t2906 - 0.27385555555555555556e-1 * t2910 + 0.16431333333333333333e0 * t2913 - 0.82156666666666666667e-1 * t2916; + const double t2919 = t2918 * t935; + const double t2921 = 0.1e1 * t915 * t2919; + const double t2922 = t913 * t913; + const double t2923 = 0.1e1 / t2922; + const double t2924 = t275 * t2923; + const double t2925 = t290 * t290; + const double t2926 = 0.1e1 / t2925; + const double t2927 = t2875 * t2926; + const double t2929 = 0.16081979498692535067e2 * t2924 * t2927; + const double t2930 = 0.22831111111111111111e-1 * t2846; + const double t2935 = t2930 + 0.11415555555555555555e-1 * t2848 - 0.11415555555555555555e-1 * t2855 + 0.34246666666666666666e-1 * t2860 - 0.17123333333333333333e-1 * t2864; + const double t2938 = t941 * t945; + const double t2941 = t944 * t307; + const double t2942 = 0.1e1 / t2941; + const double t2943 = t302 * t2942; + const double t2944 = t953 * t953; + const double t2945 = t2944 * t954; + const double t2950 = 0.68863333333333333333e0 * t2846; + const double t2957 = 0.17365833333333333333e0 * t2904; + const double t2962 = -0.17648625e1 * t2882 + 0.3529725e1 * t2890 + t2950 + 0.34431666666666666666e0 * t2848 - 0.34431666666666666667e0 * t2855 + 0.103295e1 * t2860 - 0.516475e0 * t2864 + 0.31558125e0 * t2898 + 0.6311625e0 * t2900 + t2957 + 0.13892666666666666667e0 * t2906 - 0.34731666666666666667e-1 * t2910 + 0.20839e0 * t2913 - 0.104195e0 * t2916; + const double t2963 = t2962 * t954; + const double t2966 = t944 * t944; + const double t2967 = 0.1e1 / t2966; + const double t2968 = t302 * t2967; + const double t2969 = t310 * t310; + const double t2970 = 0.1e1 / t2969; + const double t2971 = t2944 * t2970; + const double t2974 = 0.12361111111111111111e-1 * t2846; + const double t2979 = t2974 + 0.61805555555555555556e-2 * t2848 - 0.61805555555555555555e-2 * t2855 + 0.18541666666666666667e-1 * t2860 - 0.92708333333333333333e-2 * t2864; + const double t2980 = t2979 * t324; + const double t2982 = t960 * t964; + const double t2985 = t963 * t320; + const double t2986 = 0.1e1 / t2985; + const double t2987 = t315 * t2986; + const double t2988 = t972 * t972; + const double t2989 = t2988 * t973; + const double t2994 = 0.40256666666666666667e0 * t2846; + const double t3001 = 0.137975e0 * t2904; + const double t3006 = -0.1294625e1 * t2882 + 0.258925e1 * t2890 + t2994 + 0.20128333333333333334e0 * t2848 - 0.20128333333333333333e0 * t2855 + 0.60385e0 * t2860 - 0.301925e0 * t2864 + 0.82524375e-1 * t2898 + 0.16504875e0 * t2900 + t3001 + 0.11038e0 * t2906 - 0.27595e-1 * t2910 + 0.16557e0 * t2913 - 0.82785e-1 * t2916; + const double t3007 = t3006 * t973; + const double t3010 = t963 * t963; + const double t3011 = 0.1e1 / t3010; + const double t3012 = t315 * t3011; + const double t3013 = t323 * t323; + const double t3014 = 0.1e1 / t3013; + const double t3015 = t2988 * t3014; + const double t3018 = -0.310907e-1 * t2935 * t311 + 0.2e1 * t2938 * t955 - 0.2e1 * t2943 * t2945 + 0.1e1 * t946 * t2963 + 0.32163958997385070134e2 * t2968 * t2971 + t2868 - t2871 + t2878 - t2921 - t2929 - 0.19751673498613801407e-1 * t2980 + 0.11696447245269292414e1 * t2982 * t974 - 0.11696447245269292414e1 * t2987 * t2989 + 0.5848223622634646207e0 * t965 * t3007 + 0.17315859105681463759e2 * t3012 * t3015; + const double t3019 = t300 * t3018; + const double t3021 = 0.19751673498613801407e-1 * t300 * t2980; + const double t3022 = t300 * t960; + const double t3024 = 0.11696447245269292414e1 * t3022 * t983; + const double t3026 = t2986 * t2988 * t973; + const double t3028 = 0.11696447245269292414e1 * t981 * t3026; + const double t3030 = t964 * t3006 * t973; + const double t3032 = 0.5848223622634646207e0 * t981 * t3030; + const double t3033 = t3011 * t2988; + const double t3034 = t3033 * t3014; + const double t3036 = 0.17315859105681463759e2 * t981 * t3034; + const double t3037 = 0.11111111111111111111e-1 * t2846; + const double t3042 = t3037 + 0.55555555555555555556e-2 * t2848 - 0.55555555555555555555e-2 * t2855 + 0.16666666666666666667e-1 * t2860 - 0.83333333333333333333e-2 * t2864; + const double t3043 = t3042 * t341; + const double t3046 = t988 * t993; + const double t3047 = t3046 * t378; + const double t3052 = t989 * t378; + const double t3056 = 0.1e1 / t992 / t340; + const double t3057 = t338 * t3056; + const double t3058 = t3057 * t378; + const double t3059 = t999 * t999; + const double t3060 = t996 * t3059; + const double t3063 = t994 * t1071; + const double t3066 = t999 * t1096; + const double t3067 = t1079 * t3066; + const double t3070 = 0.19755555555555555556e-1 * t2846; + const double t3075 = t3070 + 0.9877777777777777778e-2 * t2848 - 0.9877777777777777778e-2 * t2855 + 0.29633333333333333334e-1 * t2860 - 0.14816666666666666667e-1 * t2864; + const double t3076 = t996 * t3075; + const double t3079 = t994 * t1086; + const double t3080 = t360 * t365; + const double t3081 = t1038 * t72; + const double t3082 = t3080 * t3081; + const double t3083 = t3079 * t3082; + const double t3084 = t66 * t373; + const double t3085 = t828 * t3084; + const double t3086 = t999 * t1043; + const double t3087 = t3086 * t1045; + const double t3088 = t3085 * t3087; + const double t3091 = t1087 * t3082; + const double t3092 = t828 * t1066; + const double t3093 = t1043 * t73; + const double t3094 = t357 * t905; + const double t3095 = t3094 * t606; + const double t3096 = t3093 * t3095; + const double t3097 = t3092 * t3096; + const double t3100 = t3057 * t225; + const double t3101 = t3100 * t366; + const double t3102 = t373 * t3059; + const double t3104 = t371 * t372 * t3102; + const double t3107 = t1024 * t1053; + const double t3111 = t371 * t127 * t1026; + const double t3112 = t1025 * t3111; + const double t3114 = t3046 * t225; + const double t3115 = t3114 * t366; + const double t3118 = t373 * t3075; + const double t3120 = t371 * t372 * t3118; + const double t3123 = t1014 * t2857; + const double t3124 = t3123 * t2251; + const double t3125 = t1012 * t3124; + const double t3128 = t614 * t1010; + const double t3131 = t140 * t1016; + const double t3132 = t1011 * t3131; + const double t3134 = t1015 * t2258; + const double t3135 = t1012 * t3134; + const double t3139 = 0.1e1 / t271 / t905; + const double t3140 = t3139 * t2852; + const double t3141 = t3140 * t2251; + const double t3142 = t1012 * t3141; + const double t3145 = t1020 * t1053; + const double t3148 = t1021 * t1058; + const double t3151 = t371 * t676 * t373; + const double t3153 = 0.47637797908966374413e-4 * t367 * t3151; + const double t3154 = t3043 * t225; + const double t3155 = t3154 * t366; + const double t3160 = 0.1e1 / t40 / t362 / t611; + const double t3161 = t361 * t3160; + const double t3162 = t351 * t3161; + const double t3165 = -0.42874018118069736972e-3 * t3083 * t3088 + 0.28582678745379824648e-3 * t3091 * t3097 + 0.42874018118069736972e-3 * t3101 * t3104 + 0.22866142996303859718e-2 * t3107 * t1028 - 0.28582678745379824648e-3 * t3112 - 0.42874018118069736972e-3 * t3115 * t1028 - 0.21437009059034868486e-3 * t1025 * t3120 - t1011 * t3125 / 0.144e3 - t3128 * t1017 / 0.54e2 + t3132 / 0.432e3 + t1011 * t3135 / 0.288e3 + t1011 * t3142 / 0.216e3 - 0.22866142996303859718e-2 * t3145 * t375 + 0.28582678745379824648e-3 * t3148 - t3153 + 0.21437009059034868486e-3 * t3155 * t375 + 0.72409452821628889107e-2 * t3162 * t375; + const double t3166 = t1054 * t1058; + const double t3168 = t1066 * t2862; + const double t3169 = t247 * t3168; + const double t3173 = 0.1e1 / t283 / t905; + const double t3174 = t66 * t3173; + const double t3175 = t3174 * t2853; + const double t3176 = t247 * t3175; + const double t3179 = t1052 * t369; + const double t3180 = t361 * t3179; + const double t3181 = t351 * t3180; + const double t3184 = t126 * t1065; + const double t3185 = t3184 * t906; + const double t3186 = t247 * t3185; + const double t3187 = t1063 * t3186; + const double t3189 = t1066 * t2858; + const double t3190 = t247 * t3189; + const double t3193 = t1020 * t1062; + const double t3197 = 0.1e1 / t1031 / t196; + const double t3198 = t342 * t3197; + const double t3199 = t368 * t368; + const double t3201 = 0.1e1 / t3199 / t335; + const double t3202 = t365 * t3201; + const double t3203 = t1036 * t3202; + const double t3204 = t3198 * t3203; + const double t3205 = t1043 * t1043; + const double t3206 = t373 * t3205; + const double t3208 = t3207 * t357; + const double t3209 = t3206 * t3208; + const double t3210 = t1042 * t3209; + const double t3213 = t989 * t1032; + const double t3214 = t3213 * t1040; + const double t3217 = t1024 * t1062; + const double t3218 = t1065 * t999; + const double t3219 = t3218 * t906; + const double t3220 = t1042 * t3219; + const double t3223 = -t2868 + t2871 - t2878 + t2921 + t2929 + t3019 + t3021 - t3024 + t3028 - t3032 - t3036; + const double t3225 = t373 * t3223 * t1045; + const double t3226 = t1042 * t3225; + const double t3230 = 0.1e1 / t1034 / t358; + const double t3231 = t3230 * t360; + const double t3232 = t3231 * t3202; + const double t3233 = t3198 * t3232; + const double t3234 = t357 * t357; + const double t3235 = t3207 * t3234; + const double t3236 = t3206 * t3235; + const double t3237 = t1042 * t3236; + const double t3240 = t1052 * t1038; + const double t3241 = t1036 * t3240; + const double t3242 = t1033 * t3241; + const double t3245 = t246 * t127; + const double t3246 = t3245 * t1046; + const double t3247 = t1041 * t3246; + const double t3249 = t2270 * t344; + const double t3252 = t1003 * t1007; + const double t3255 = t221 * t696 * t346; + const double t3257 = t345 * t3255 / 0.432e3; + const double t3258 = -0.15244095330869239812e-2 * t3166 + 0.14291339372689912324e-3 * t1063 * t3169 + 0.23818898954483187207e-3 * t1063 * t3176 - 0.15244095330869239812e-2 * t3181 * t1068 + 0.19055119163586549765e-3 * t3187 - 0.28582678745379824648e-3 * t1063 * t3190 + 0.28582678745379824648e-3 * t3193 * t1068 - 0.21437009059034868486e-3 * t3204 * t3210 + 0.42874018118069736972e-3 * t3214 * t1047 - 0.28582678745379824648e-3 * t3217 * t3220 + 0.21437009059034868486e-3 * t1041 * t3226 + 0.42874018118069736972e-3 * t3233 * t3237 - 0.22866142996303859718e-2 * t3242 * t1047 + 0.28582678745379824648e-3 * t3247 + 0.11e2 / 0.108e3 * t3249 * t348 - t3252 / 0.54e2 - t3257; + const double t3259 = t3165 + t3258; + const double t3261 = t3259 * t225 * t385; + const double t3264 = t342 * t1071; + const double t3268 = 0.1e1 / t1077 / t384; + const double t3269 = t225 * t3268; + const double t3270 = t1096 * t1096; + const double t3271 = t3269 * t3270; + const double t3278 = t989 * t1086; + const double t3283 = t1082 * t3059; + const double t3286 = t1086 * t378; + const double t3287 = t994 * t3286; + const double t3288 = t3086 * t1089; + const double t3291 = t359 * t1071; + const double t3292 = t3291 * t999; + const double t3295 = t1082 * t3075; + const double t3298 = t3197 * t3230; + const double t3299 = t342 * t3298; + const double t3300 = t378 * t3205; + const double t3302 = 0.1e1 / t368 / t335; + const double t3303 = t3207 * t3302; + const double t3304 = t3303 * t3234; + const double t3305 = t3300 * t3304; + const double t3309 = t1071 * t1043 * t1089; + const double t3313 = t378 * t3223 * t1089; + const double t3316 = t3197 * t1035; + const double t3317 = t342 * t3316; + const double t3318 = t3303 * t357; + const double t3319 = t3300 * t3318; + const double t3322 = t380 * t3259; + const double t3325 = 0.65854491829355115987e0 * t3043 * t381 - 0.13170898365871023197e1 * t3114 * t1083 + 0.13170898365871023197e1 * t3278 * t1090 + 0.13170898365871023197e1 * t989 * t1093 + 0.13170898365871023197e1 * t3100 * t3283 - 0.13170898365871023197e1 * t3287 * t3288 - 0.13170898365871023197e1 * t1024 * t3292 - 0.65854491829355115987e0 * t1024 * t3295 + 0.13170898365871023197e1 * t3299 * t3305 + 0.13170898365871023197e1 * t1087 * t3309 + 0.65854491829355115987e0 * t1087 * t3313 - 0.65854491829355115987e0 * t3317 * t3319 + 0.65854491829355115987e0 * t342 * t3322; + const double t3326 = t1079 * t3325; + const double t3329 = 0.65854491829355115987e0 * t3043 * t386 - 0.13170898365871023197e1 * t3047 * t1000 + 0.13170898365871023197e1 * t989 * t1073 - 0.13170898365871023197e1 * t3052 * t1097 + 0.13170898365871023197e1 * t3058 * t3060 - 0.13170898365871023197e1 * t3063 * t1000 + 0.13170898365871023197e1 * t995 * t3067 - 0.65854491829355115987e0 * t995 * t3076 + 0.65854491829355115987e0 * t342 * t3261 - 0.13170898365871023197e1 * t3264 * t1097 + 0.13170898365871023197e1 * t1076 * t3271 - 0.65854491829355115987e0 * t1076 * t3326; + const double t3333 = t1100 * t1100; + const double t3335 = t389 * t389; + const double t3336 = 0.1e1 / t3335; + const double t3339 = t1102 * t198 * t3329 * t336 - t198 * t3333 * t3336 * t336 - t2868 + t2871 - t2878 + t2921 + t2929 + t3019 + t3021 - t3024 + t3028 - t3032 - t3036; + const double t3340 = piecewise_functor_3( t394, t3339, t2838 ); + const double t3347 = piecewise_functor_3( t120, t2838 * t30 / 0.2e1 + t895 * t605 + t265 * t2257 / 0.2e1, t3340 * t45 / 0.2e1 + t1106 * t606 + t395 * t2258 / 0.2e1 ); + const double t3351 = -t2257; + const double t3356 = t268 * t1941 * t404; + const double t3357 = 0.23744444444444444444e-1 * t3356; + const double t3358 = t689 * t1123; + const double t3360 = t159 * t1263; + const double t3361 = t635 * t635; + const double t3362 = 0.1e1 / t3361; + const double t3363 = t3362 * t2251; + const double t3364 = t3360 * t3363; + const double t3365 = t128 * t3364; + const double t3367 = 0.1e1 / t2304; + const double t3368 = t3367 * t2251; + const double t3369 = t1120 * t3368; + const double t3370 = t128 * t3369; + const double t3372 = t1121 * t2258; + const double t3373 = t1120 * t3372; + const double t3374 = t128 * t3373; + const double t3376 = t3357 - 0.11872222222222222222e-1 * t3358 - 0.11872222222222222222e-1 * t3365 + 0.35616666666666666666e-1 * t3370 + 0.17808333333333333333e-1 * t3374; + const double t3378 = 0.621814e-1 * t3376 * t422; + const double t3379 = t1126 * t1130; + const double t3381 = 0.2e1 * t3379 * t1151; + const double t3382 = t1129 * t418; + const double t3383 = 0.1e1 / t3382; + const double t3384 = t408 * t3383; + const double t3385 = t1149 * t1149; + const double t3386 = t3385 * t1150; + const double t3388 = 0.2e1 * t3384 * t3386; + const double t3390 = 0.1e1 / t409 / t406; + const double t3391 = t1134 * t1134; + const double t3392 = t3390 * t3391; + const double t3394 = 0.4e1 / 0.9e1 * t3356; + const double t3399 = t3394 - 0.2e1 / 0.9e1 * t3358 - 0.2e1 / 0.9e1 * t3365 + 0.2e1 / 0.3e1 * t3370 + t3374 / 0.3e1; + const double t3400 = t1132 * t3399; + const double t3402 = 0.39862222222222222223e0 * t3356; + const double t3407 = 0.1e1/safe_math::sqrt( t406 ); + const double t3408 = t3407 * t3391; + const double t3410 = t1139 * t3399; + const double t3413 = t281 * t2902 * t414; + const double t3414 = 0.13692777777777777778e0 * t3413; + const double t3415 = t698 * t1146; + const double t3417 = t240 * t1224; + const double t3418 = t3417 * t3363; + const double t3419 = t141 * t3418; + const double t3421 = t1145 * t3368; + const double t3422 = t141 * t3421; + const double t3424 = t1145 * t3372; + const double t3425 = t141 * t3424; + const double t3427 = -0.9494625e0 * t3392 + 0.1898925e1 * t3400 + t3402 - 0.19931111111111111111e0 * t3358 - 0.19931111111111111111e0 * t3365 + 0.59793333333333333334e0 * t3370 + 0.29896666666666666667e0 * t3374 + 0.15358125e0 * t3408 + 0.3071625e0 * t3410 + t3414 - 0.10954222222222222222e0 * t3415 - 0.27385555555555555556e-1 * t3419 + 0.16431333333333333333e0 * t3422 + 0.82156666666666666667e-1 * t3425; + const double t3428 = t3427 * t1150; + const double t3430 = 0.1e1 * t1131 * t3428; + const double t3431 = t1129 * t1129; + const double t3432 = 0.1e1 / t3431; + const double t3433 = t408 * t3432; + const double t3434 = t421 * t421; + const double t3435 = 0.1e1 / t3434; + const double t3436 = t3385 * t3435; + const double t3438 = 0.16081979498692535067e2 * t3433 * t3436; + const double t3439 = 0.22831111111111111111e-1 * t3356; + const double t3444 = t3439 - 0.11415555555555555555e-1 * t3358 - 0.11415555555555555555e-1 * t3365 + 0.34246666666666666666e-1 * t3370 + 0.17123333333333333333e-1 * t3374; + const double t3447 = t1156 * t1160; + const double t3450 = t1159 * t431; + const double t3451 = 0.1e1 / t3450; + const double t3452 = t426 * t3451; + const double t3453 = t1168 * t1168; + const double t3454 = t3453 * t1169; + const double t3459 = 0.68863333333333333333e0 * t3356; + const double t3466 = 0.17365833333333333333e0 * t3413; + const double t3471 = -0.17648625e1 * t3392 + 0.3529725e1 * t3400 + t3459 - 0.34431666666666666666e0 * t3358 - 0.34431666666666666667e0 * t3365 + 0.103295e1 * t3370 + 0.516475e0 * t3374 + 0.31558125e0 * t3408 + 0.6311625e0 * t3410 + t3466 - 0.13892666666666666667e0 * t3415 - 0.34731666666666666667e-1 * t3419 + 0.20839e0 * t3422 + 0.104195e0 * t3425; + const double t3472 = t3471 * t1169; + const double t3475 = t1159 * t1159; + const double t3476 = 0.1e1 / t3475; + const double t3477 = t426 * t3476; + const double t3478 = t434 * t434; + const double t3479 = 0.1e1 / t3478; + const double t3480 = t3453 * t3479; + const double t3483 = 0.12361111111111111111e-1 * t3356; + const double t3488 = t3483 - 0.61805555555555555556e-2 * t3358 - 0.61805555555555555555e-2 * t3365 + 0.18541666666666666667e-1 * t3370 + 0.92708333333333333333e-2 * t3374; + const double t3489 = t3488 * t448; + const double t3491 = t1175 * t1179; + const double t3494 = t1178 * t444; + const double t3495 = 0.1e1 / t3494; + const double t3496 = t439 * t3495; + const double t3497 = t1187 * t1187; + const double t3498 = t3497 * t1188; + const double t3503 = 0.40256666666666666667e0 * t3356; + const double t3510 = 0.137975e0 * t3413; + const double t3515 = -0.1294625e1 * t3392 + 0.258925e1 * t3400 + t3503 - 0.20128333333333333334e0 * t3358 - 0.20128333333333333333e0 * t3365 + 0.60385e0 * t3370 + 0.301925e0 * t3374 + 0.82524375e-1 * t3408 + 0.16504875e0 * t3410 + t3510 - 0.11038e0 * t3415 - 0.27595e-1 * t3419 + 0.16557e0 * t3422 + 0.82785e-1 * t3425; + const double t3516 = t3515 * t1188; + const double t3519 = t1178 * t1178; + const double t3520 = 0.1e1 / t3519; + const double t3521 = t439 * t3520; + const double t3522 = t447 * t447; + const double t3523 = 0.1e1 / t3522; + const double t3524 = t3497 * t3523; + const double t3527 = -0.310907e-1 * t3444 * t435 + 0.2e1 * t3447 * t1170 - 0.2e1 * t3452 * t3454 + 0.1e1 * t1161 * t3472 + 0.32163958997385070134e2 * t3477 * t3480 + t3378 - t3381 + t3388 - t3430 - t3438 - 0.19751673498613801407e-1 * t3489 + 0.11696447245269292414e1 * t3491 * t1189 - 0.11696447245269292414e1 * t3496 * t3498 + 0.5848223622634646207e0 * t1180 * t3516 + 0.17315859105681463759e2 * t3521 * t3524; + const double t3528 = t300 * t3527; + const double t3530 = 0.19751673498613801407e-1 * t300 * t3489; + const double t3531 = t300 * t1175; + const double t3533 = 0.11696447245269292414e1 * t3531 * t1198; + const double t3535 = t3495 * t3497 * t1188; + const double t3537 = 0.11696447245269292414e1 * t1196 * t3535; + const double t3539 = t1179 * t3515 * t1188; + const double t3541 = 0.5848223622634646207e0 * t1196 * t3539; + const double t3542 = t3520 * t3497; + const double t3543 = t3542 * t3523; + const double t3545 = 0.17315859105681463759e2 * t1196 * t3543; + const double t3546 = 0.11111111111111111111e-1 * t3356; + const double t3551 = t3546 - 0.55555555555555555556e-2 * t3358 - 0.55555555555555555555e-2 * t3365 + 0.16666666666666666667e-1 * t3370 + 0.83333333333333333333e-2 * t3374; + const double t3552 = t3551 * t459; + const double t3555 = t1203 * t1208; + const double t3556 = t3555 * t487; + const double t3561 = t1204 * t487; + const double t3565 = 0.1e1 / t1207 / t458; + const double t3566 = t456 * t3565; + const double t3567 = t3566 * t487; + const double t3568 = t1214 * t1214; + const double t3569 = t1211 * t3568; + const double t3572 = t1209 * t1269; + const double t3575 = t1214 * t1294; + const double t3576 = t1277 * t3575; + const double t3579 = 0.19755555555555555556e-1 * t3356; + const double t3584 = t3579 - 0.9877777777777777778e-2 * t3358 - 0.9877777777777777778e-2 * t3365 + 0.29633333333333333334e-1 * t3370 + 0.14816666666666666667e-1 * t3374; + const double t3585 = t1211 * t3584; + const double t3588 = t140 * t1226; + const double t3589 = t1222 * t3588; + const double t3591 = t1225 * t2258; + const double t3592 = t1012 * t3591; + const double t3595 = t1224 * t3367; + const double t3596 = t3595 * t2251; + const double t3597 = t1012 * t3596; + const double t3600 = t1209 * t1284; + const double t3601 = t474 * t479; + const double t3602 = t3601 * t3081; + const double t3603 = t3600 * t3602; + const double t3604 = t66 * t482; + const double t3605 = t828 * t3604; + const double t3606 = t1214 * t1248; + const double t3607 = t3606 * t1250; + const double t3608 = t3605 * t3607; + const double t3611 = t126 * t1263; + const double t3612 = t3611 * t1122; + const double t3613 = t247 * t3612; + const double t3614 = t1261 * t3613; + const double t3616 = t1264 * t3372; + const double t3617 = t247 * t3616; + const double t3620 = t1264 * t3368; + const double t3621 = t247 * t3620; + const double t3625 = 0.1e1 / t404 / t1121; + const double t3626 = t3625 * t3362; + const double t3627 = t3626 * t2251; + const double t3628 = t1012 * t3627; + const double t3631 = t3245 * t1251; + const double t3632 = t1247 * t3631; + const double t3634 = -t3378 + t3381 - t3388 + t3430 + t3438 + t3528 + t3530 - t3533 + t3537 - t3541 - t3545; + const double t3636 = t482 * t3634 * t1250; + const double t3637 = t1042 * t3636; + const double t3640 = t1285 * t3602; + const double t3641 = t828 * t1264; + const double t3642 = t1248 * t73; + const double t3643 = t471 * t1121; + const double t3644 = t3643 * t606; + const double t3645 = t3642 * t3644; + const double t3646 = t3641 * t3645; + const double t3649 = t1230 * t1260; + const double t3652 = -t3589 / 0.432e3 - t1222 * t3592 / 0.288e3 - t1222 * t3597 / 0.144e3 - 0.42874018118069736972e-3 * t3603 * t3608 - 0.19055119163586549765e-3 * t3614 - 0.14291339372689912324e-3 * t1261 * t3617 - 0.28582678745379824648e-3 * t1261 * t3621 + t1222 * t3628 / 0.216e3 + 0.28582678745379824648e-3 * t3632 + 0.21437009059034868486e-3 * t1247 * t3637 - 0.28582678745379824648e-3 * t3640 * t3646 - 0.28582678745379824648e-3 * t3649 * t1266; + const double t3653 = t460 * t3197; + const double t3654 = t479 * t3201; + const double t3655 = t1244 * t3654; + const double t3656 = t3653 * t3655; + const double t3657 = t1248 * t1248; + const double t3658 = t482 * t3657; + const double t3659 = t3207 * t471; + const double t3660 = t3658 * t3659; + const double t3661 = t1042 * t3660; + const double t3664 = t1204 * t1032; + const double t3665 = t3664 * t1246; + const double t3669 = 0.1e1 / t414 / t1121; + const double t3670 = t66 * t3669; + const double t3671 = t3670 * t3363; + const double t3672 = t247 * t3671; + const double t3675 = t482 * t3584; + const double t3677 = t371 * t372 * t3675; + const double t3680 = t3555 * t225; + const double t3681 = t3680 * t480; + const double t3684 = t3552 * t225; + const double t3685 = t3684 * t480; + const double t3689 = t371 * t676 * t482; + const double t3691 = 0.47637797908966374413e-4 * t481 * t3689; + const double t3692 = t1231 * t1256; + const double t3694 = t1234 * t1260; + const double t3695 = t1263 * t1214; + const double t3696 = t3695 * t1122; + const double t3697 = t1042 * t3696; + const double t3701 = t221 * t696 * t462; + const double t3703 = t461 * t3701 / 0.432e3; + const double t3705 = 0.1e1 / t1242 / t472; + const double t3706 = t3705 * t474; + const double t3707 = t3706 * t3654; + const double t3708 = t3653 * t3707; + const double t3709 = t471 * t471; + const double t3710 = t3207 * t3709; + const double t3711 = t3658 * t3710; + const double t3712 = t1042 * t3711; + const double t3716 = t371 * t127 * t1236; + const double t3717 = t1235 * t3716; + const double t3719 = t3566 * t225; + const double t3720 = t3719 * t480; + const double t3721 = t482 * t3568; + const double t3723 = t371 * t372 * t3721; + const double t3726 = -0.21437009059034868486e-3 * t3656 * t3661 + 0.42874018118069736972e-3 * t3665 * t1252 + 0.23818898954483187207e-3 * t1261 * t3672 - 0.21437009059034868486e-3 * t1235 * t3677 - 0.42874018118069736972e-3 * t3681 * t1238 + 0.21437009059034868486e-3 * t3685 * t484 - t3691 + 0.28582678745379824648e-3 * t3692 + 0.28582678745379824648e-3 * t3694 * t3697 - t3703 + 0.42874018118069736972e-3 * t3708 * t3712 - 0.28582678745379824648e-3 * t3717 + 0.42874018118069736972e-3 * t3720 * t3723; + const double t3727 = t3652 + t3726; + const double t3729 = t3727 * t225 * t494; + const double t3732 = t460 * t1269; + const double t3736 = 0.1e1 / t1275 / t493; + const double t3737 = t225 * t3736; + const double t3738 = t1294 * t1294; + const double t3739 = t3737 * t3738; + const double t3746 = t1204 * t1284; + const double t3751 = t1280 * t3568; + const double t3754 = t1284 * t487; + const double t3755 = t1209 * t3754; + const double t3756 = t3606 * t1287; + const double t3759 = t473 * t1269; + const double t3760 = t3759 * t1214; + const double t3763 = t1280 * t3584; + const double t3766 = t3197 * t3705; + const double t3767 = t460 * t3766; + const double t3768 = t487 * t3657; + const double t3769 = t3303 * t3709; + const double t3770 = t3768 * t3769; + const double t3774 = t1269 * t1248 * t1287; + const double t3778 = t487 * t3634 * t1287; + const double t3781 = t3197 * t1243; + const double t3782 = t460 * t3781; + const double t3783 = t3303 * t471; + const double t3784 = t3768 * t3783; + const double t3787 = t489 * t3727; + const double t3790 = 0.65854491829355115987e0 * t3552 * t490 - 0.13170898365871023197e1 * t3680 * t1281 + 0.13170898365871023197e1 * t3746 * t1288 + 0.13170898365871023197e1 * t1204 * t1291 + 0.13170898365871023197e1 * t3719 * t3751 - 0.13170898365871023197e1 * t3755 * t3756 - 0.13170898365871023197e1 * t1234 * t3760 - 0.65854491829355115987e0 * t1234 * t3763 + 0.13170898365871023197e1 * t3767 * t3770 + 0.13170898365871023197e1 * t1285 * t3774 + 0.65854491829355115987e0 * t1285 * t3778 - 0.65854491829355115987e0 * t3782 * t3784 + 0.65854491829355115987e0 * t460 * t3787; + const double t3791 = t1277 * t3790; + const double t3794 = 0.65854491829355115987e0 * t3552 * t495 - 0.13170898365871023197e1 * t3556 * t1215 + 0.13170898365871023197e1 * t1204 * t1271 - 0.13170898365871023197e1 * t3561 * t1295 + 0.13170898365871023197e1 * t3567 * t3569 - 0.13170898365871023197e1 * t3572 * t1215 + 0.13170898365871023197e1 * t1210 * t3576 - 0.65854491829355115987e0 * t1210 * t3585 + 0.65854491829355115987e0 * t460 * t3729 - 0.13170898365871023197e1 * t3732 * t1295 + 0.13170898365871023197e1 * t1274 * t3739 - 0.65854491829355115987e0 * t1274 * t3791; + const double t3798 = t1298 * t1298; + const double t3800 = t498 * t498; + const double t3801 = 0.1e1 / t3800; + const double t3804 = t1300 * t198 * t336 * t3794 - t198 * t336 * t3798 * t3801 - t3378 + t3381 - t3388 + t3430 + t3438 + t3528 + t3530 - t3533 + t3537 - t3541 - t3545; + const double t3805 = piecewise_functor_3( t503, t3804, t2838 ); + const double t3812 = piecewise_functor_3( t400, t2838 * t33 / 0.2e1 + t895 * t1113 + t265 * t3351 / 0.2e1, t3805 * t57 / 0.2e1 - t1304 * t606 - t504 * t2258 / 0.2e1 ); + const double t3813 = t3347 + t3812; + const double t3821 = 0.2e1 * t1312 * t2371 + 0.4e1 * t2322 * t670 + 0.2e1 * t2327 * t93 + t2320; + const double t3825 = t1330 * t72; + const double t3826 = t3825 * t757; + const double t3827 = 0.36622894612013090108e-3 * t3826; + const double t3829 = 0.24415263074675393405e-3 * t1337 * t2648; + const double t3830 = 0.1e1 / t525; + const double t3831 = t605 * t605; + const double t3837 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3830 * t3831 + 0.4e1 / 0.3e1 * t513 * t2257 ); + const double t3838 = 0.1e1 / t527; + const double t3839 = t1113 * t1113; + const double t3845 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3838 * t3839 + 0.4e1 / 0.3e1 * t516 * t3351 ); + const double t3847 = ( t3837 + t3845 ) * t162; + const double t3849 = 0.19751673498613801407e-1 * t3847 * t187; + const double t3850 = t1330 * t749; + const double t3851 = t512 * t3850; + const double t3852 = 0.2e1 * t3851; + const double t3853 = t1320 * t1331; + const double t3854 = 0.8e1 * t3853; + const double t3855 = t19 * t27; + const double t3857 = 0.2e2 * t3855 * t521; + const double t3858 = t14 * t22; + const double t3860 = 0.12e2 * t3858 * t521; + const double t3861 = t583 * t588; + const double t3863 = 0.32e2 * t3861 * t521; + const double t3864 = t3847 * t189; + const double t3865 = t512 * t3864; + const double t3866 = -t3827 + t3829 - t2427 + t3849 - t2431 - t2438 + t2448 + t2456 + t3852 - t3854 + t3857 + t3860 - t3863 + t3865; + const double t3867 = t198 * t531; + const double t3868 = t1448 * t1450; + const double t3873 = 0.8e1 * t1320 * t1333; + const double t3874 = t1317 * t1331; + const double t3875 = 0.8e1 * t3874; + const double t3876 = t1448 * t1448; + const double t3878 = t565 * t565; + const double t3879 = 0.1e1 / t3878; + const double t3882 = 0.1e1 / t514; + const double t3888 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3882 * t3831 + 0.2e1 / 0.3e1 * t1344 * t2257 ); + const double t3889 = 0.1e1 / t517; + const double t3895 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3889 * t3839 + 0.2e1 / 0.3e1 * t1348 * t3351 ); + const double t3897 = t3888 / 0.2e1 + t3895 / 0.2e1; + const double t3902 = 0.73171657588172351096e-2 * t2402 * t1359; + const double t3903 = t785 * t555; + const double t3904 = t3903 * t1358; + const double t3906 = 0.65049603595885220126e-3 * t2411 * t3904; + const double t3907 = t212 * t1419; + const double t3908 = t3907 * t1358; + const double t3909 = t689 * t3908; + const double t3911 = t1357 * t1445; + const double t3912 = t689 * t3911; + const double t3914 = t2534 * t556; + const double t3915 = t561 * t136; + const double t3916 = t3915 * t2396; + const double t3918 = 0.11565819519348392139e-2 * t3914 * t3916; + const double t3919 = t786 * t1420; + const double t3920 = t3919 * t1364; + const double t3922 = t556 * t1426; + const double t3923 = t786 * t3922; + const double t3924 = t676 * t1444; + const double t3925 = t123 * t3924; + const double t3926 = t3923 * t3925; + const double t3928 = t1363 * t2399; + const double t3930 = 0.13009920719177044025e-1 * t1362 * t3928; + const double t3931 = t1408 * t1389; + const double t3933 = 0.25410001404642664112e-5 * t2682 * t3931; + const double t3934 = t124 * t3897; + const double t3935 = t800 * t3934; + const double t3938 = t2534 * t546; + const double t3941 = 0.45178982497454656791e-5 * t3938 * t2727 * t1389; + const double t3942 = t1386 * t240; + const double t3943 = t550 * t1398; + const double t3944 = t3943 * t543; + const double t3945 = t3942 * t3944; + const double t3946 = t2688 * t3945; + const double t3949 = t2556 * t550 * t816; + const double t3951 = 0.13552000749142754193e-3 * t1379 * t3949; + const double t3953 = t2561 * t1408 * t27; + const double t3954 = t1413 * t136; + const double t3956 = t3954 * t221 * t1353; + const double t3957 = t3953 * t3956; + const double t3960 = 0.1e1 / t549 / t531; + const double t3961 = t240 * t3960; + const double t3962 = t3961 * t72; + const double t3963 = t1353 * t1353; + const double t3965 = t3962 * t828 * t3963; + const double t3969 = 0.11696447245269292414e1 * t1340 * t2620; + const double t3971 = 0.5848223622634646207e0 * t1340 * t2604; + const double t3973 = 0.17315859105681463759e2 * t1340 * t2597; + const double t3974 = t1330 * t177; + const double t3975 = t3974 * t762; + const double t3976 = 0.11696447245269292414e1 * t3975; + const double t3977 = -t3827 + t3969 - t3971 - t3973 - t3976 + t3857 + t3860 - t3863 + t3865 + t3852 - t3854; + const double t3979 = 0.8e1 * t1317 * t1333; + const double t3980 = t520 * t123; + const double t3982 = 0.10843581300301739842e-1 * t3980 * t2624; + const double t3983 = t520 * t2489; + const double t3984 = t512 * t3983; + const double t3985 = -t3873 + t3875 + t3979 - t2427 + t3849 - t2438 + t3829 - t2431 + t3982 + t3984 + t2448 + t2456; + const double t3987 = ( t3977 + t3985 ) * t225; + const double t3991 = t73 * t1412; + const double t3992 = t3991 * t3963; + const double t3995 = t1394 * t3897; + const double t3998 = 0.6e1 * t1392 * t1395 - t3987 * t541 - 0.12e2 * t3992 * t539 + 0.3e1 * t3995 * t539; + const double t3999 = t3998 * t543; + const double t4001 = t1390 * t828 * t3999; + const double t4005 = t2561 * t1386 * t27; + const double t4006 = t1389 * t136; + const double t4008 = t4006 * t221 * t1399; + const double t4009 = t4005 * t4008; + const double t4012 = 0.35e2 / 0.432e3 * t2716 * t535; + const double t4014 = t794 * t1369; + const double t4015 = t4014 * t1372; + const double t4018 = 0.76220476654346199061e-4 * t2671 * t1376; + const double t4019 = t1413 * t1353; + const double t4020 = t547 * t4019; + const double t4021 = t807 * t4020; + const double t4024 = 0.1e1 / t1384 / t544; + const double t4025 = t4024 * t235; + const double t4027 = t820 * t4025 * t239; + const double t4028 = t1398 * t1398; + const double t4029 = t543 * t543; + const double t4030 = t4028 * t4029; + const double t4032 = t1390 * t828 * t4030; + const double t4035 = t159 * t550; + const double t4036 = t216 * t4035; + const double t4037 = t124 * t3963; + const double t4038 = t800 * t4037; + const double t4042 = t2571 * t550 * t247; + const double t4044 = 0.56688979511669985553e-2 * t548 * t4042; + const double t4046 = t820 * t1408 * t843; + const double t4047 = t4046 * t1416; + const double t4050 = t1414 * t828 * t3897; + const double t4054 = t820 * t1386 * t843; + const double t4055 = t4054 * t1401; + const double t4058 = t820 * t1386 * t241; + const double t4059 = t1412 * t72; + const double t4060 = t4059 * t245; + const double t4062 = t543 * t1353; + const double t4063 = t125 * t1398 * t4062; + const double t4064 = t4060 * t4063; + const double t4067 = t4028 * t543; + const double t4069 = t1390 * t828 * t4067; + const double t4072 = 0.7e1 / 0.72e2 * t4015 + t4018 + 0.57165357490759649296e-4 * t4021 + 0.42874018118069736972e-3 * t4027 * t4032 + t4036 * t4038 / 0.16e2 + t4044 + 0.80031500487063509015e-2 * t4047 - 0.85748036236139473944e-3 * t1410 * t4050 + 0.20007875121765877254e-2 * t4055 + 0.17149607247227894789e-2 * t4058 * t4064 - 0.21437009059034868486e-3 * t1388 * t4069; + const double t4073 = -t3933 - t1370 * t3935 / 0.48e2 + t3941 + 0.14291339372689912324e-4 * t3946 - t3951 - 0.10164000561857065645e-3 * t3957 + 0.42874018118069736972e-2 * t1410 * t3965 - 0.21437009059034868486e-3 * t1388 * t4001 - 0.25410001404642664112e-4 * t4009 + t4012 + t4072; + const double t4074 = t4073 * t225; + const double t4078 = t213 * t1419; + const double t4082 = 0.1e1 / t1425 / t560; + const double t4083 = t225 * t4082; + const double t4084 = t1444 * t1444; + const double t4085 = t4083 * t4084; + const double t4089 = 0.73171657588172351096e-2 * t2402 * t1429; + const double t4090 = t2768 * t1428; + const double t4092 = 0.65049603595885220126e-3 * t2411 * t4090; + const double t4093 = t225 * t1385; + const double t4094 = t555 * t1398; + const double t4096 = t4093 * t4094 * t543; + const double t4097 = t2773 * t4096; + const double t4099 = t545 * t1419; + const double t4100 = t869 * t4099; + const double t4101 = t689 * t4100; + const double t4103 = t555 * t136; + const double t4106 = 0.11565819519348392139e-2 * t3938 * t4103 * t2396; + const double t4107 = t4093 * t555; + const double t4108 = t786 * t4107; + const double t4109 = t675 * t1398; + const double t4111 = t268 * t4109 * t543; + const double t4112 = t4108 * t4111; + const double t4114 = t1419 * t72; + const double t4116 = t1432 * t4114 * t686; + const double t4120 = 0.13009920719177044025e-1 * t1432 * t1433 * t2399; + const double t4121 = t4024 * t555; + const double t4125 = t1385 * t1419; + const double t4138 = t4089 - t4092 + 0.10975748638225852664e-1 * t4097 - 0.10975748638225852664e-1 * t4101 + t4106 - 0.19514881078765566038e-1 * t4112 + 0.19514881078765566038e-1 * t4116 - t4120 + 0.13170898365871023197e1 * t820 * t4121 * t4030 - 0.13170898365871023197e1 * t820 * t4125 * t1399 - 0.65854491829355115987e0 * t820 * t1437 * t3999 - 0.65854491829355115987e0 * t820 * t1437 * t4067 + 0.65854491829355115987e0 * t213 * t546 * t4073; + const double t4139 = t1427 * t4138; + const double t4142 = t3902 - t3906 - 0.10975748638225852664e-1 * t3909 + 0.10975748638225852664e-1 * t3912 + t3918 + 0.19514881078765566038e-1 * t3920 - 0.19514881078765566038e-1 * t3926 - t3930 + 0.65854491829355115987e0 * t213 * t4074 * t561 - 0.13170898365871023197e1 * t4078 * t1445 + 0.13170898365871023197e1 * t1424 * t4085 - 0.65854491829355115987e0 * t1424 * t4139; + const double t4146 = t530 * t566; + const double t4150 = t1450 * t198 * t4142 * t532 - t198 * t3876 * t3879 * t532 + 0.3e1 * t1343 * t198 * t3897 + 0.6e1 * t1353 * t3867 * t3868 + 0.6e1 * t198 * t3963 * t4146 - t3873 + t3875 + t3969 - t3971 - t3973 - t3976 + t3979 + t3982 + t3984; + const double t4151 = t3866 + t4150; + const double t4153 = -t118 * t3813 - 0.2e1 * t1310 * t649 + 0.2e1 * t1315 * t1453 - t2320 * t508 - 0.4e1 * t2322 * t671 - 0.2e1 * t2328 * t508 - 0.4e1 * t2331 * t651 - 0.2e1 * t2372 * t651 + t3821 * t569 + t4151 * t511; + const double t4154 = t3 * t4153; + const double t4158 = d * t4153; + const double t4162 = t116 * t2327; + const double t4165 = t117 * t2371; + const double t4168 = 0.6e1 * t1459 * t1461 + t4158 * t573 + 0.6e1 * t4162 * t572 + 0.3e1 * t4165 * t572; + const double t4170 = t1913 * t575; + const double t4171 = -t2219 + t2223 - t2226 + t2230 - t2233 + t2239; + const double t4173 = t1466 * t602; + const double t4178 = t1497 * t644; + const double t4181 = t606 * t1469; + const double t4182 = t4181 * t70; + const double t4186 = piecewise_functor_5( t31, 0.0, t34, 0.0, 0.2e1 * t2255 ); + const double t4187 = t36 * t4186; + const double t4188 = t4187 * t70; + const double t4191 = t1470 * t627; + const double t4196 = t607 * t1486; + const double t4201 = t2275 * t1469; + const double t4202 = t4201 * t606; + const double t4205 = t48 * t4186; + const double t4210 = t2282 * t1469; + const double t4211 = t4210 * t606; + const double t4214 = t60 * t4186; + const double t4217 = -0.2e2 / 0.9e1 * t614 * t1474 + 0.5e1 / 0.18e2 * t44 * t4202 + 0.5e1 / 0.6e1 * t44 * t4205 + 0.2e2 / 0.9e1 * t1480 * t620 + 0.5e1 / 0.18e2 * t56 * t4211 - 0.5e1 / 0.6e1 * t56 * t4214 - t2290; + const double t4218 = t38 * t4217; + const double t4227 = t2299 * t1469; + const double t4230 = t633 * t4186; + const double t4232 = t2306 * t1469; + const double t4235 = t637 * t4186; + const double t4237 = 0.28e2 / 0.9e1 * t4227 * t606 - 0.4e1 / 0.3e1 * t4230 + 0.28e2 / 0.9e1 * t4232 * t606 + 0.4e1 / 0.3e1 * t4235; + const double t4238 = t77 * t4237; + const double t4241 = -t4182 * t85 / 0.12e2 - t4188 * t85 / 0.12e2 - t4191 * t85 / 0.12e2 - t1471 * t641 / 0.12e2 - t4196 * t85 / 0.12e2 + t4218 * t85 / 0.24e2 + t1487 * t641 / 0.24e2 - t608 * t1494 / 0.12e2 + t628 * t1494 / 0.24e2 + t71 * t4238 / 0.24e2; + const double t4245 = piecewise_functor_3( t8, 0.0, -0.4e1 * t1497 * t2242 + 0.2e2 * t2247 * t4178 + t4171 * t91 - 0.4e1 * t4173 * t644 - 0.4e1 * t4241 * t603 ); + const double t4246 = t4245 * t117; + const double t4248 = t1501 * t116; + const double t4254 = t94 * t670; + const double t4257 = t1310 * t1518; + const double t4261 = t625 * t1514; + const double t4263 = t2339 * t1513; + const double t4264 = t4263 * t665; + const double t4269 = t2349 * t1504; + const double t4270 = t4269 * t658; + const double t4273 = t100 * t2; + const double t4274 = t4273 * t580; + const double t4279 = t2357 * t1509; + const double t4280 = t4279 * t661; + const double t4283 = t108 * t2; + const double t4284 = t4283 * t580; + const double t4287 = -0.25e2 / 0.9e1 * t656 * t1505 + 0.1e2 / 0.9e1 * t97 * t4270 + 0.5e1 / 0.3e1 * t97 * t4274 - 0.25e2 / 0.9e1 * t1507 * t662 + 0.1e2 / 0.9e1 * t105 * t4280 - 0.5e1 / 0.3e1 * t105 * t4284; + const double t4288 = t655 * t4287; + const double t4292 = piecewise_functor_3( t115, 0.0, t2335 + t2336 / 0.3e1 + t4261 / 0.3e1 + t69 * t4264 / 0.4e1 - t69 * t4288 / 0.8e1 ); + const double t4293 = t508 * t4292; + const double t4297 = t1843 * t670; + const double t4300 = t2627 * t1469; + const double t4306 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t4300 * t606 + 0.4e1 / 0.3e1 * t78 * t4186 ); + const double t4307 = t2634 * t1469; + const double t4313 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t4307 * t606 - 0.4e1 / 0.3e1 * t81 * t4186 ); + const double t4314 = t4306 + t4313; + const double t4315 = t4314 * t162; + const double t4317 = 0.19751673498613801407e-1 * t4315 * t187; + const double t4318 = t150 * t4314; + const double t4319 = t4318 * t190; + const double t4320 = t1532 * t750; + const double t4321 = 0.4e1 * t2614; + const double t4322 = 0.18311447306006545054e-3 * t2617; + const double t4323 = t750 * t1469; + const double t4324 = t706 * t4323; + const double t4325 = 0.4e1 * t4324; + const double t4326 = t4317 + t4319 + t4320 + t2375 + t2491 - t2427 + t4321 - t4322 - t2431 + t2650 - t2438 + t2448 + t2456 + t4325 - t2599; + const double t4327 = 0.5848223622634646207e0 * t2601; + const double t4328 = t190 * t4186; + const double t4330 = 0.4e1 * t706 * t4328; + const double t4331 = t705 * t1531; + const double t4333 = 0.4e1 * t4331 * t707; + const double t4334 = t80 * t1469; + const double t4340 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t4334 * t606 + 0.2e1 / 0.3e1 * t766 * t4186 ); + const double t4341 = t83 * t1469; + const double t4347 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t4341 * t606 - 0.2e1 / 0.3e1 * t770 * t4186 ); + const double t4349 = t4340 / 0.2e1 + t4347 / 0.2e1; + const double t4357 = t212 * t1568; + const double t4358 = t4357 * t780; + const double t4359 = t689 * t4358; + const double t4361 = t786 * t1569; + const double t4362 = t4361 * t789; + const double t4366 = t855 * t828 * t4349; + const double t4370 = t2564 * t221 * t1544; + const double t4371 = t2563 * t4370; + const double t4373 = t243 * t1558; + const double t4374 = t4373 * t231; + const double t4375 = t2689 * t4374; + const double t4376 = t2688 * t4375; + const double t4379 = t820 * t2697 * t241; + const double t4380 = t243 * t72; + const double t4381 = t4380 * t245; + const double t4382 = t125 * t1558; + const double t4383 = t2701 * t836; + const double t4384 = t4382 * t4383; + const double t4385 = t4381 * t4384; + const double t4388 = t2732 * t1561; + const double t4390 = t2719 * t1549; + const double t4392 = t124 * t4349; + const double t4393 = t800 * t4392; + const double t4398 = t4382 * t2740; + const double t4399 = t2738 * t4398; + const double t4402 = 0.7e1 / 0.144e3 * t2720 + t2730 - 0.85748036236139473944e-3 * t851 * t4366 - 0.50820002809285328225e-4 * t4371 + 0.71456696863449561619e-5 * t4376 + 0.42874018118069736972e-3 * t4379 * t4385 + 0.10003937560882938627e-2 * t4388 - t2685 + t2718 + 0.7e1 / 0.144e3 * t4390 - t799 * t4393 / 0.48e2 - 0.12705000702321332056e-4 * t2594 + 0.10003937560882938627e-2 * t2733 + 0.85748036236139473944e-3 * t2736 * t4399; + const double t4403 = t4382 * t837; + const double t4404 = t4381 * t4403; + const double t4407 = t125 * t1544; + const double t4408 = t4407 * t837; + const double t4409 = t2738 * t4408; + const double t4413 = t800 * t1548 * t775; + const double t4420 = t2577 * t1565; + const double t4422 = t854 * t1544; + const double t4423 = t236 * t4422; + const double t4424 = t807 * t4423; + const double t4427 = t2591 * t221 * t1559; + const double t4428 = t2590 * t4427; + const double t4430 = t1544 * t775; + const double t4432 = t2583 * t828 * t4430; + const double t4435 = t4317 + t4319 + t4320 + t2375 + t2491 - t2427 + t4321 - t4322 - t2431 + t2650 - t2438 + t2448; + const double t4436 = t2498 * t162; + const double t4437 = t189 * t1469; + const double t4438 = t4437 * t606; + const double t4440 = 0.12e2 * t4436 * t4438; + const double t4441 = t1534 * t177; + const double t4442 = t4441 * t762; + const double t4443 = 0.5848223622634646207e0 * t4442; + const double t4445 = 0.4e1 * t2610 * t1522; + const double t4446 = t1534 * t72; + const double t4447 = t4446 * t757; + const double t4448 = 0.18311447306006545054e-3 * t4447; + const double t4449 = t2456 + t4325 - t2599 - t4327 - t2606 + t2626 + t2622 + t4330 + t4333 + t4440 - t4443 + t4445 - t4448; + const double t4451 = ( t4435 + t4449 ) * t225; + const double t4457 = t227 * t73; + const double t4458 = t853 * t1544; + const double t4459 = t4458 * t775; + const double t4462 = t832 * t4349; + const double t4465 = 0.3e1 * t1553 * t833 + 0.3e1 * t1555 * t830 + 0.3e1 * t227 * t4462 - t229 * t4451 - 0.12e2 * t4457 * t4459; + const double t4466 = t4465 * t231; + const double t4468 = t827 * t828 * t4466; + const double t4471 = -0.21437009059034868486e-3 * t2736 * t4404 + 0.85748036236139473944e-3 * t2736 * t4409 + t2708 * t4413 / 0.16e2 - 0.50820002809285328224e-4 * t2567 + 0.40015750243531754508e-2 * t2578 + 0.71456696863449561619e-5 * t2693 - t2560 + t2575 + 0.28582678745379824648e-4 * t2676 + t2673 + 0.40015750243531754507e-2 * t4420 + 0.28582678745379824648e-4 * t4424 - 0.12705000702321332056e-4 * t4428 + 0.42874018118069736972e-2 * t851 * t4432 - 0.21437009059034868486e-3 * t825 * t4468; + const double t4472 = t4402 + t4471; + const double t4473 = t4472 * t225; + const double t4477 = t213 * t1568; + const double t4480 = t779 * t1580; + const double t4481 = t689 * t4480; + const double t4483 = t1579 * t72; + const double t4484 = t4483 * t686; + const double t4485 = t2544 * t4484; + const double t4489 = t1579 * t886; + const double t4490 = t2761 * t4489; + const double t4497 = t251 * t1558; + const double t4499 = t2774 * t4497 * t231; + const double t4500 = t2773 * t4499; + const double t4502 = t1559 * t72; + const double t4503 = t4502 * t686; + const double t4504 = t2789 * t4503; + const double t4506 = t225 * t2696; + const double t4507 = t213 * t4506; + const double t4517 = t213 * t2774; + const double t4521 = t233 * t1568; + const double t4522 = t869 * t4521; + const double t4523 = t689 * t4522; + const double t4525 = t1568 * t72; + const double t4527 = t874 * t4525 * t686; + const double t4529 = t822 * t1568; + const double t4536 = t2767 - t2771 + 0.54878743191129263322e-2 * t2778 - 0.54878743191129263322e-2 * t2782 + t2787 - 0.9757440539382783019e-2 * t2793 + 0.9757440539382783019e-2 * t2797 - t2801 + 0.54878743191129263322e-2 * t4500 - 0.9757440539382783019e-2 * t4504 + 0.13170898365871023197e1 * t4507 * t4497 * t4383 - 0.65854491829355115987e0 * t820 * t2806 * t1559 - 0.65854491829355115987e0 * t820 * t879 * t4466 - 0.65854491829355115987e0 * t4517 * t4497 * t837 - 0.54878743191129263322e-2 * t4523 + 0.9757440539382783019e-2 * t4527 - 0.65854491829355115987e0 * t820 * t4529 * t837 + 0.65854491829355115987e0 * t213 * t234 * t4472; + const double t4537 = t868 * t4536; + const double t4540 = t2520 - t2524 - 0.54878743191129263322e-2 * t2527 + 0.54878743191129263322e-2 * t2530 + t2539 + 0.9757440539382783019e-2 * t2541 - 0.9757440539382783019e-2 * t2547 - t2551 - 0.54878743191129263322e-2 * t4359 + 0.9757440539382783019e-2 * t4362 + 0.65854491829355115987e0 * t213 * t4473 * t257 - 0.65854491829355115987e0 * t4477 * t887 + 0.54878743191129263322e-2 * t4481 - 0.9757440539382783019e-2 * t4485 - 0.65854491829355115987e0 * t2756 * t1580 + 0.13170898365871023197e1 * t865 * t4490 - 0.65854491829355115987e0 * t865 * t4537; + const double t4544 = t1583 * t2495; + const double t4547 = t198 * t205; + const double t4548 = t262 * t1544; + const double t4552 = t1583 * t892; + const double t4556 = t2833 * t1544; + const double t4559 = t198 * t207 * t4540 * t892 - t1940 * t4544 * t890 + 0.3e1 * t198 * t4349 * t765 + 0.3e1 * t2832 * t4552 * t775 + 0.6e1 * t4547 * t4548 * t775 + 0.3e1 * t2832 * t4556 - t2606 + t2622 + t2626 - t4327 + t4330 + t4333 + t4440 - t4443 + t4445 - t4448; + const double t4560 = t4326 + t4559; + const double t4567 = t265 * t2; + const double t4568 = t4567 * t580; + const double t4571 = t689 * t1593; + const double t4573 = t2852 * t1469; + const double t4574 = t4573 * t606; + const double t4575 = t2850 * t4574; + const double t4576 = t128 * t4575; + const double t4578 = t2857 * t1469; + const double t4579 = t4578 * t606; + const double t4580 = t904 * t4579; + const double t4581 = t128 * t4580; + const double t4583 = t905 * t4186; + const double t4584 = t904 * t4583; + const double t4585 = t128 * t4584; + const double t4587 = t2847 + 0.5936111111111111111e-2 * t2848 + 0.5936111111111111111e-2 * t4571 - 0.11872222222222222222e-1 * t4576 + 0.35616666666666666666e-1 * t4581 - 0.17808333333333333333e-1 * t4585; + const double t4589 = 0.621814e-1 * t4587 * t291; + const double t4590 = t1596 * t914; + const double t4592 = 0.1e1 * t4590 * t936; + const double t4594 = 0.1e1 * t2869 * t1610; + const double t4595 = t1610 * t934; + const double t4597 = 0.2e1 * t2874 * t4595; + const double t4598 = t2880 * t1600; + const double t4599 = t4598 * t918; + const double t4606 = t2884 + t2848 / 0.9e1 + t4571 / 0.9e1 - 0.2e1 / 0.9e1 * t4576 + 0.2e1 / 0.3e1 * t4581 - t4585 / 0.3e1; + const double t4607 = t916 * t4606; + const double t4614 = t2897 * t1600; + const double t4615 = t4614 * t918; + const double t4617 = t923 * t4606; + const double t4620 = t698 * t1606; + const double t4622 = t2908 * t4574; + const double t4623 = t141 * t4622; + const double t4625 = t930 * t4579; + const double t4626 = t141 * t4625; + const double t4628 = t930 * t4583; + const double t4629 = t141 * t4628; + const double t4631 = -0.9494625e0 * t4599 + 0.1898925e1 * t4607 + t2892 + 0.99655555555555555557e-1 * t2848 + 0.99655555555555555557e-1 * t4571 - 0.19931111111111111111e0 * t4576 + 0.59793333333333333334e0 * t4581 - 0.29896666666666666667e0 * t4585 + 0.15358125e0 * t4615 + 0.3071625e0 * t4617 + t2905 + 0.54771111111111111111e-1 * t2906 + 0.54771111111111111111e-1 * t4620 - 0.27385555555555555556e-1 * t4623 + 0.16431333333333333333e0 * t4626 - 0.82156666666666666667e-1 * t4629; + const double t4632 = t4631 * t935; + const double t4634 = 0.1e1 * t915 * t4632; + const double t4635 = t1609 * t2926; + const double t4636 = t4635 * t934; + const double t4638 = 0.16081979498692535067e2 * t2924 * t4636; + const double t4644 = t2930 + 0.57077777777777777777e-2 * t2848 + 0.57077777777777777777e-2 * t4571 - 0.11415555555555555555e-1 * t4576 + 0.34246666666666666666e-1 * t4581 - 0.17123333333333333333e-1 * t4585; + const double t4647 = t1614 * t945; + const double t4652 = t1622 * t953; + const double t4669 = -0.17648625e1 * t4599 + 0.3529725e1 * t4607 + t2950 + 0.17215833333333333333e0 * t2848 + 0.17215833333333333333e0 * t4571 - 0.34431666666666666667e0 * t4576 + 0.103295e1 * t4581 - 0.516475e0 * t4585 + 0.31558125e0 * t4615 + 0.6311625e0 * t4617 + t2957 + 0.69463333333333333333e-1 * t2906 + 0.69463333333333333333e-1 * t4620 - 0.34731666666666666667e-1 * t4623 + 0.20839e0 * t4626 - 0.104195e0 * t4629; + const double t4670 = t4669 * t954; + const double t4673 = t1621 * t2970; + const double t4674 = t4673 * t953; + const double t4682 = t2974 + 0.30902777777777777778e-2 * t2848 + 0.30902777777777777778e-2 * t4571 - 0.61805555555555555555e-2 * t4576 + 0.18541666666666666667e-1 * t4581 - 0.92708333333333333333e-2 * t4585; + const double t4683 = t4682 * t324; + const double t4685 = t1626 * t964; + const double t4690 = t1634 * t972; + const double t4707 = -0.1294625e1 * t4599 + 0.258925e1 * t4607 + t2994 + 0.10064166666666666667e0 * t2848 + 0.10064166666666666667e0 * t4571 - 0.20128333333333333333e0 * t4576 + 0.60385e0 * t4581 - 0.301925e0 * t4585 + 0.82524375e-1 * t4615 + 0.16504875e0 * t4617 + t3001 + 0.5519e-1 * t2906 + 0.5519e-1 * t4620 - 0.27595e-1 * t4623 + 0.16557e0 * t4626 - 0.82785e-1 * t4629; + const double t4708 = t4707 * t973; + const double t4711 = t1633 * t3014; + const double t4712 = t4711 * t972; + const double t4715 = -0.310907e-1 * t4644 * t311 + 0.1e1 * t4647 * t955 + 0.1e1 * t2938 * t1622 - 0.2e1 * t2943 * t4652 + 0.1e1 * t946 * t4670 + 0.32163958997385070134e2 * t2968 * t4674 + t4589 - t4592 - t4594 + t4597 - t4634 - t4638 - 0.19751673498613801407e-1 * t4683 + 0.5848223622634646207e0 * t4685 * t974 + 0.5848223622634646207e0 * t2982 * t1634 - 0.11696447245269292414e1 * t2987 * t4690 + 0.5848223622634646207e0 * t965 * t4708 + 0.17315859105681463759e2 * t3012 * t4712; + const double t4716 = t300 * t4715; + const double t4718 = 0.19751673498613801407e-1 * t300 * t4683; + const double t4719 = t300 * t1626; + const double t4721 = 0.5848223622634646207e0 * t4719 * t983; + const double t4723 = 0.5848223622634646207e0 * t3022 * t1642; + const double t4724 = t2986 * t1633; + const double t4725 = t4724 * t974; + const double t4727 = 0.11696447245269292414e1 * t981 * t4725; + const double t4729 = t964 * t4707 * t973; + const double t4731 = 0.5848223622634646207e0 * t981 * t4729; + const double t4732 = t3011 * t1633; + const double t4733 = t3014 * t972; + const double t4734 = t4732 * t4733; + const double t4736 = 0.17315859105681463759e2 * t981 * t4734; + const double t4742 = t3037 + 0.27777777777777777778e-2 * t2848 + 0.27777777777777777778e-2 * t4571 - 0.55555555555555555555e-2 * t4576 + 0.16666666666666666667e-1 * t4581 - 0.83333333333333333333e-2 * t4585; + const double t4743 = t4742 * t341; + const double t4746 = t1646 * t993; + const double t4747 = t4746 * t378; + const double t4752 = t1647 * t378; + const double t4757 = t1651 * t999; + const double t4758 = t996 * t4757; + const double t4763 = t1651 * t1096; + const double t4764 = t1079 * t4763; + const double t4772 = t3070 + 0.4938888888888888889e-2 * t2848 + 0.4938888888888888889e-2 * t4571 - 0.9877777777777777778e-2 * t4576 + 0.29633333333333333334e-1 * t4581 - 0.14816666666666666667e-1 * t4585; + const double t4773 = t996 * t4772; + const double t4778 = t994 * t1678; + const double t4781 = t3201 * t72; + const double t4782 = t3080 * t4781; + const double t4783 = t3299 * t4782; + const double t4784 = t1668 * t3207; + const double t4785 = t3234 * t1043; + const double t4786 = t4784 * t4785; + const double t4787 = t3085 * t4786; + const double t4790 = t3317 * t4782; + const double t4791 = t1043 * t357; + const double t4792 = t4784 * t4791; + const double t4793 = t3085 * t4792; + const double t4796 = t1651 * t1043; + const double t4797 = t4796 * t1045; + const double t4798 = t3085 * t4797; + const double t4801 = t1668 * t73; + const double t4802 = t357 * t999; + const double t4803 = t4801 * t4802; + const double t4804 = t3085 * t4803; + const double t4807 = t1647 * t1032; + const double t4808 = t4807 * t1040; + const double t4811 = t1065 * t1651; + const double t4812 = t4811 * t906; + const double t4813 = t1042 * t4812; + const double t4817 = t371 * t127 * t1663; + const double t4818 = t1025 * t4817; + const double t4822 = t3173 * t2852; + const double t4823 = t4822 * t4181; + const double t4824 = t1042 * t4823; + const double t4830 = -t4589 + t4592 + t4594 - t4597 + t4634 + t4638 + t4716 + t4718 - t4721 - t4723 + t4727 - t4731 - t4736; + const double t4832 = t373 * t4830 * t1045; + const double t4833 = t1042 * t4832; + const double t4836 = t1065 * t905; + const double t4837 = t1469 * t999; + const double t4838 = t4836 * t4837; + const double t4839 = t1042 * t4838; + const double t4842 = t1065 * t2857; + const double t4843 = t4842 * t4181; + const double t4844 = t1042 * t4843; + const double t4847 = t1015 * t4186; + const double t4848 = t1012 * t4847; + const double t4853 = t140 * t1655; + const double t4854 = t1011 * t4853; + const double t4856 = t4743 * t225; + const double t4857 = t4856 * t366; + const double t4860 = t1660 * t1058; + const double t4862 = t3245 * t1670; + const double t4863 = t1041 * t4862; + const double t4867 = t1012 * t1014; + const double t4868 = t4867 * t4579; + const double t4871 = 0.21437009059034868486e-3 * t1041 * t4833 - 0.14291339372689912324e-3 * t3217 * t4839 - 0.28582678745379824648e-3 * t1063 * t4844 + t1011 * t4848 / 0.288e3 - t3128 * t1656 / 0.108e3 + t4854 / 0.864e3 + 0.21437009059034868486e-3 * t4857 * t375 + 0.14291339372689912324e-3 * t4860 + 0.14291339372689912324e-3 * t4863 - 0.11433071498151929859e-2 * t3242 * t1671 - t1011 * t4868 / 0.144e3; + const double t4873 = t1012 * t3139; + const double t4874 = t4873 * t4574; + const double t4879 = t3184 * t1592; + const double t4880 = t247 * t4879; + const double t4881 = t1063 * t4880; + const double t4883 = t4746 * t225; + const double t4884 = t4883 * t366; + const double t4889 = t373 * t4772; + const double t4891 = t371 * t372 * t4889; + const double t4894 = t3093 * t357; + const double t4895 = t1592 * t4894; + const double t4896 = t3092 * t4895; + const double t4902 = t1011 * t4874 / 0.216e3 - 0.76220476654346199061e-3 * t3181 * t1675 + 0.95275595817932748827e-4 * t4881 - 0.21437009059034868486e-3 * t4884 * t1028 - 0.21437009059034868486e-3 * t3115 * t1665 - 0.21437009059034868486e-3 * t1025 * t4891 + 0.14291339372689912324e-3 * t3091 * t4896 - 0.14291339372689912324e-3 * t3112 + t3132 / 0.864e3 + 0.14291339372689912324e-3 * t3148 - t3153; + const double t4906 = t1066 * t4583; + const double t4907 = t247 * t4906; + const double t4910 = t1659 * t1062; + const double t4913 = t3100 * t1062; + const double t4914 = t3084 * t4757; + const double t4915 = t247 * t4914; + const double t4918 = t4801 * t3095; + const double t4919 = t3092 * t4918; + const double t4923 = t1659 * t1053; + const double t4928 = -0.76220476654346199061e-3 * t3166 + 0.14291339372689912324e-3 * t3193 * t1675 + 0.14291339372689912324e-3 * t1063 * t4907 + 0.14291339372689912324e-3 * t4910 * t1068 + 0.42874018118069736972e-3 * t4913 * t4915 + 0.14291339372689912324e-3 * t3091 * t4919 + 0.95275595817932748827e-4 * t3187 - 0.11433071498151929859e-2 * t4923 * t375 + 0.14291339372689912324e-3 * t3247 - t3252 / 0.108e3 - t3257; + const double t4930 = 0.42874018118069736972e-3 * t4783 * t4787 - 0.21437009059034868486e-3 * t4790 * t4793 - 0.21437009059034868486e-3 * t3083 * t4798 - 0.21437009059034868486e-3 * t3083 * t4804 + 0.21437009059034868486e-3 * t4808 * t1047 - 0.14291339372689912324e-3 * t3217 * t4813 - 0.14291339372689912324e-3 * t4818 + 0.11433071498151929859e-2 * t3107 * t1665 + 0.23818898954483187207e-3 * t1063 * t4824 + 0.21437009059034868486e-3 * t3214 * t1671 + t4871 + t4902 + t4928; + const double t4932 = t4930 * t225 * t385; + const double t4935 = t342 * t1678; + const double t4940 = t1695 * t999; + const double t4941 = t1079 * t4940; + const double t4946 = t1695 * t1096; + const double t4947 = t3269 * t4946; + const double t4954 = t1647 * t1086; + const double t4961 = t1082 * t4757; + const double t4964 = t4796 * t1089; + const double t4967 = t3291 * t1651; + const double t4970 = t1082 * t4772; + const double t4975 = t354 * t357; + const double t4976 = t4975 * t999; + const double t4977 = t4801 * t4976; + const double t4980 = t3298 * t378; + const double t4981 = t342 * t4980; + const double t4982 = t3302 * t3234; + const double t4983 = t4982 * t1043; + const double t4984 = t4784 * t4983; + const double t4988 = t1071 * t1668 * t1089; + const double t4992 = t378 * t4830 * t1089; + const double t4995 = t3316 * t378; + const double t4996 = t342 * t4995; + const double t4997 = t3302 * t1043; + const double t4998 = t4997 * t357; + const double t4999 = t4784 * t4998; + const double t5004 = t359 * t1678; + const double t5005 = t5004 * t999; + const double t5009 = t1678 * t1043 * t1089; + const double t5012 = t380 * t4930; + const double t5015 = 0.65854491829355115987e0 * t4743 * t381 - 0.65854491829355115987e0 * t4883 * t1083 + 0.65854491829355115987e0 * t4954 * t1090 + 0.65854491829355115987e0 * t1647 * t1093 - 0.65854491829355115987e0 * t3114 * t1685 + 0.13170898365871023197e1 * t3100 * t4961 - 0.65854491829355115987e0 * t3287 * t4964 - 0.65854491829355115987e0 * t1024 * t4967 - 0.65854491829355115987e0 * t1024 * t4970 + 0.65854491829355115987e0 * t3278 * t1689 - 0.65854491829355115987e0 * t3287 * t4977 + 0.13170898365871023197e1 * t4981 * t4984 + 0.65854491829355115987e0 * t1087 * t4988 + 0.65854491829355115987e0 * t1087 * t4992 - 0.65854491829355115987e0 * t4996 * t4999 + 0.65854491829355115987e0 * t989 * t1692 - 0.65854491829355115987e0 * t1024 * t5005 + 0.65854491829355115987e0 * t1087 * t5009 + 0.65854491829355115987e0 * t342 * t5012; + const double t5016 = t1079 * t5015; + const double t5019 = 0.65854491829355115987e0 * t4743 * t386 - 0.65854491829355115987e0 * t4747 * t1000 + 0.65854491829355115987e0 * t1647 * t1073 - 0.65854491829355115987e0 * t4752 * t1097 - 0.65854491829355115987e0 * t3047 * t1652 + 0.13170898365871023197e1 * t3058 * t4758 - 0.65854491829355115987e0 * t3063 * t1652 + 0.65854491829355115987e0 * t995 * t4764 - 0.65854491829355115987e0 * t995 * t4773 + 0.65854491829355115987e0 * t989 * t1680 - 0.65854491829355115987e0 * t4778 * t1000 + 0.65854491829355115987e0 * t342 * t4932 - 0.65854491829355115987e0 * t4935 * t1097 - 0.65854491829355115987e0 * t3052 * t1696 + 0.65854491829355115987e0 * t995 * t4941 - 0.65854491829355115987e0 * t3264 * t1696 + 0.13170898365871023197e1 * t1076 * t4947 - 0.65854491829355115987e0 * t1076 * t5016; + const double t5023 = t198 * t336; + const double t5024 = t1699 * t3336; + const double t5027 = t1102 * t198 * t336 * t5019 - t1100 * t5023 * t5024 - t4589 + t4592 + t4594 - t4597 + t4634 + t4638 + t4716 + t4718 - t4721 - t4723 + t4727 - t4731 - t4736; + const double t5028 = piecewise_functor_3( t394, t5027, t4560 ); + const double t5035 = piecewise_functor_3( t120, t4560 * t30 / 0.2e1 + t1587 * t605 / 0.2e1 + t895 * t1468 / 0.2e1 + t4568, t1106 * t1469 / 0.2e1 + t1704 * t606 / 0.2e1 + t395 * t4186 / 0.2e1 + t5028 * t45 / 0.2e1 ); + const double t5044 = t689 * t1716; + const double t5046 = t3362 * t1469; + const double t5047 = t5046 * t606; + const double t5048 = t3360 * t5047; + const double t5049 = t128 * t5048; + const double t5051 = t3367 * t1469; + const double t5052 = t5051 * t606; + const double t5053 = t1120 * t5052; + const double t5054 = t128 * t5053; + const double t5056 = t1121 * t4186; + const double t5057 = t1120 * t5056; + const double t5058 = t128 * t5057; + const double t5060 = t3357 - 0.5936111111111111111e-2 * t3358 - 0.5936111111111111111e-2 * t5044 - 0.11872222222222222222e-1 * t5049 + 0.35616666666666666666e-1 * t5054 + 0.17808333333333333333e-1 * t5058; + const double t5062 = 0.621814e-1 * t5060 * t422; + const double t5063 = t1719 * t1130; + const double t5065 = 0.1e1 * t5063 * t1151; + const double t5067 = 0.1e1 * t3379 * t1733; + const double t5068 = t1733 * t1149; + const double t5070 = 0.2e1 * t3384 * t5068; + const double t5071 = t3390 * t1723; + const double t5072 = t5071 * t1134; + const double t5079 = t3394 - t3358 / 0.9e1 - t5044 / 0.9e1 - 0.2e1 / 0.9e1 * t5049 + 0.2e1 / 0.3e1 * t5054 + t5058 / 0.3e1; + const double t5080 = t1132 * t5079; + const double t5087 = t3407 * t1723; + const double t5088 = t5087 * t1134; + const double t5090 = t1139 * t5079; + const double t5093 = t698 * t1729; + const double t5095 = t3417 * t5047; + const double t5096 = t141 * t5095; + const double t5098 = t1145 * t5052; + const double t5099 = t141 * t5098; + const double t5101 = t1145 * t5056; + const double t5102 = t141 * t5101; + const double t5104 = -0.9494625e0 * t5072 + 0.1898925e1 * t5080 + t3402 - 0.99655555555555555557e-1 * t3358 - 0.99655555555555555557e-1 * t5044 - 0.19931111111111111111e0 * t5049 + 0.59793333333333333334e0 * t5054 + 0.29896666666666666667e0 * t5058 + 0.15358125e0 * t5088 + 0.3071625e0 * t5090 + t3414 - 0.54771111111111111111e-1 * t3415 - 0.54771111111111111111e-1 * t5093 - 0.27385555555555555556e-1 * t5096 + 0.16431333333333333333e0 * t5099 + 0.82156666666666666667e-1 * t5102; + const double t5105 = t5104 * t1150; + const double t5107 = 0.1e1 * t1131 * t5105; + const double t5108 = t1732 * t3435; + const double t5109 = t5108 * t1149; + const double t5111 = 0.16081979498692535067e2 * t3433 * t5109; + const double t5117 = t3439 - 0.57077777777777777777e-2 * t3358 - 0.57077777777777777777e-2 * t5044 - 0.11415555555555555555e-1 * t5049 + 0.34246666666666666666e-1 * t5054 + 0.17123333333333333333e-1 * t5058; + const double t5120 = t1737 * t1160; + const double t5125 = t1745 * t1168; + const double t5142 = -0.17648625e1 * t5072 + 0.3529725e1 * t5080 + t3459 - 0.17215833333333333333e0 * t3358 - 0.17215833333333333333e0 * t5044 - 0.34431666666666666667e0 * t5049 + 0.103295e1 * t5054 + 0.516475e0 * t5058 + 0.31558125e0 * t5088 + 0.6311625e0 * t5090 + t3466 - 0.69463333333333333333e-1 * t3415 - 0.69463333333333333333e-1 * t5093 - 0.34731666666666666667e-1 * t5096 + 0.20839e0 * t5099 + 0.104195e0 * t5102; + const double t5143 = t5142 * t1169; + const double t5146 = t1744 * t3479; + const double t5147 = t5146 * t1168; + const double t5155 = t3483 - 0.30902777777777777778e-2 * t3358 - 0.30902777777777777778e-2 * t5044 - 0.61805555555555555555e-2 * t5049 + 0.18541666666666666667e-1 * t5054 + 0.92708333333333333333e-2 * t5058; + const double t5156 = t5155 * t448; + const double t5158 = t1749 * t1179; + const double t5163 = t1757 * t1187; + const double t5180 = -0.1294625e1 * t5072 + 0.258925e1 * t5080 + t3503 - 0.10064166666666666667e0 * t3358 - 0.10064166666666666667e0 * t5044 - 0.20128333333333333333e0 * t5049 + 0.60385e0 * t5054 + 0.301925e0 * t5058 + 0.82524375e-1 * t5088 + 0.16504875e0 * t5090 + t3510 - 0.5519e-1 * t3415 - 0.5519e-1 * t5093 - 0.27595e-1 * t5096 + 0.16557e0 * t5099 + 0.82785e-1 * t5102; + const double t5181 = t5180 * t1188; + const double t5184 = t1756 * t3523; + const double t5185 = t5184 * t1187; + const double t5188 = -0.310907e-1 * t5117 * t435 + 0.1e1 * t5120 * t1170 + 0.1e1 * t3447 * t1745 - 0.2e1 * t3452 * t5125 + 0.1e1 * t1161 * t5143 + 0.32163958997385070134e2 * t3477 * t5147 + t5062 - t5065 - t5067 + t5070 - t5107 - t5111 - 0.19751673498613801407e-1 * t5156 + 0.5848223622634646207e0 * t5158 * t1189 + 0.5848223622634646207e0 * t3491 * t1757 - 0.11696447245269292414e1 * t3496 * t5163 + 0.5848223622634646207e0 * t1180 * t5181 + 0.17315859105681463759e2 * t3521 * t5185; + const double t5189 = t300 * t5188; + const double t5191 = 0.19751673498613801407e-1 * t300 * t5156; + const double t5192 = t300 * t1749; + const double t5194 = 0.5848223622634646207e0 * t5192 * t1198; + const double t5196 = 0.5848223622634646207e0 * t3531 * t1765; + const double t5197 = t3495 * t1756; + const double t5198 = t5197 * t1189; + const double t5200 = 0.11696447245269292414e1 * t1196 * t5198; + const double t5202 = t1179 * t5180 * t1188; + const double t5204 = 0.5848223622634646207e0 * t1196 * t5202; + const double t5205 = t3520 * t1756; + const double t5206 = t3523 * t1187; + const double t5207 = t5205 * t5206; + const double t5209 = 0.17315859105681463759e2 * t1196 * t5207; + const double t5215 = t3546 - 0.27777777777777777778e-2 * t3358 - 0.27777777777777777778e-2 * t5044 - 0.55555555555555555555e-2 * t5049 + 0.16666666666666666667e-1 * t5054 + 0.83333333333333333333e-2 * t5058; + const double t5216 = t5215 * t459; + const double t5219 = t1769 * t1208; + const double t5220 = t5219 * t487; + const double t5225 = t1770 * t487; + const double t5230 = t1774 * t1214; + const double t5231 = t1211 * t5230; + const double t5236 = t1774 * t1294; + const double t5237 = t1277 * t5236; + const double t5245 = t3579 - 0.4938888888888888889e-2 * t3358 - 0.4938888888888888889e-2 * t5044 - 0.9877777777777777778e-2 * t5049 + 0.29633333333333333334e-1 * t5054 + 0.14816666666666666667e-1 * t5058; + const double t5246 = t1211 * t5245; + const double t5251 = t1209 * t1811; + const double t5254 = t5216 * t225; + const double t5255 = t5254 * t480; + const double t5258 = t1230 * t1803; + const double t5261 = t1786 * t1256; + const double t5263 = t1804 * t1256; + const double t5267 = t371 * t127 * t1789; + const double t5268 = t1235 * t5267; + const double t5270 = t1770 * t1032; + const double t5271 = t5270 * t1246; + const double t5274 = t3669 * t3362; + const double t5275 = t5274 * t4181; + const double t5276 = t1042 * t5275; + const double t5280 = t140 * t1781; + const double t5281 = t1222 * t5280; + const double t5284 = t1480 * t1010; + const double t5287 = t1225 * t4186; + const double t5288 = t1012 * t5287; + const double t5291 = t1012 * t3625; + const double t5292 = t5291 * t5047; + const double t5295 = t1012 * t1224; + const double t5296 = t5295 * t5052; + const double t5299 = t1794 * t73; + const double t5300 = t5299 * t3644; + const double t5301 = t3641 * t5300; + const double t5305 = t1778 * t1219; + const double t5307 = t3611 * t1715; + const double t5308 = t247 * t5307; + const double t5309 = t1261 * t5308; + const double t5311 = t3245 * t1796; + const double t5312 = t1247 * t5311; + const double t5314 = t1263 * t3367; + const double t5315 = t5314 * t4181; + const double t5316 = t1042 * t5315; + const double t5319 = t1263 * t1774; + const double t5320 = t5319 * t1122; + const double t5321 = t1042 * t5320; + const double t5324 = t5284 * t1227 / 0.108e3 - t1222 * t5288 / 0.288e3 + t1222 * t5292 / 0.216e3 - t1222 * t5296 / 0.144e3 - 0.14291339372689912324e-3 * t3640 * t5301 + 0.14291339372689912324e-3 * t3632 - t5305 / 0.108e3 - 0.95275595817932748827e-4 * t5309 + 0.14291339372689912324e-3 * t5312 - 0.28582678745379824648e-3 * t1261 * t5316 + 0.14291339372689912324e-3 * t3694 * t5321; + const double t5326 = t5219 * t225; + const double t5327 = t5326 * t480; + const double t5332 = t482 * t5245; + const double t5334 = t371 * t372 * t5332; + const double t5337 = t1234 * t1803; + const double t5340 = t1802 * t369; + const double t5341 = t475 * t5340; + const double t5342 = t467 * t5341; + const double t5347 = t1264 * t5056; + const double t5348 = t247 * t5347; + const double t5351 = t3601 * t4781; + const double t5352 = t3767 * t5351; + const double t5353 = t1794 * t3207; + const double t5354 = t3709 * t1248; + const double t5355 = t5353 * t5354; + const double t5356 = t3605 * t5355; + const double t5359 = t3782 * t5351; + const double t5360 = t1248 * t471; + const double t5361 = t5353 * t5360; + const double t5362 = t3605 * t5361; + const double t5365 = t471 * t1214; + const double t5366 = t5299 * t5365; + const double t5367 = t3605 * t5366; + const double t5370 = t1774 * t1248; + const double t5371 = t5370 * t1250; + const double t5372 = t3605 * t5371; + const double t5375 = -0.21437009059034868486e-3 * t5327 * t1238 - 0.21437009059034868486e-3 * t3681 * t1791 - 0.21437009059034868486e-3 * t1235 * t5334 + 0.11433071498151929859e-2 * t5337 * t1238 + 0.7622047665434619906e-3 * t5342 * t1266 - 0.14291339372689912324e-3 * t3649 * t1808 - 0.14291339372689912324e-3 * t1261 * t5348 + 0.42874018118069736972e-3 * t5352 * t5356 - 0.21437009059034868486e-3 * t5359 * t5362 - 0.21437009059034868486e-3 * t3603 * t5367 - 0.21437009059034868486e-3 * t3603 * t5372; + const double t5376 = t1785 * t1260; + const double t5379 = t3719 * t1260; + const double t5380 = t3604 * t5230; + const double t5381 = t247 * t5380; + const double t5384 = t3642 * t471; + const double t5385 = t1715 * t5384; + const double t5386 = t3641 * t5385; + const double t5393 = -t5062 + t5065 + t5067 - t5070 + t5107 + t5111 + t5189 + t5191 - t5194 - t5196 + t5200 - t5204 - t5209; + const double t5395 = t482 * t5393 * t1250; + const double t5396 = t1042 * t5395; + const double t5399 = t1802 * t1038; + const double t5400 = t1244 * t5399; + const double t5401 = t1241 * t5400; + const double t5404 = t1263 * t1121; + const double t5405 = t1469 * t1214; + const double t5406 = t5404 * t5405; + const double t5407 = t1042 * t5406; + const double t5410 = -0.14291339372689912324e-3 * t5376 * t1266 + 0.42874018118069736972e-3 * t5379 * t5381 - 0.14291339372689912324e-3 * t3640 * t5386 - t3691 + 0.14291339372689912324e-3 * t3692 - t3703 - 0.14291339372689912324e-3 * t3717 + 0.21437009059034868486e-3 * t3665 * t1797 + 0.21437009059034868486e-3 * t1247 * t5396 - 0.11433071498151929859e-2 * t5401 * t1252 + 0.14291339372689912324e-3 * t3694 * t5407; + const double t5412 = 0.21437009059034868486e-3 * t5255 * t484 - 0.11433071498151929859e-2 * t5258 * t484 + 0.14291339372689912324e-3 * t5261 - 0.7622047665434619906e-3 * t5263 - t3589 / 0.864e3 - 0.14291339372689912324e-3 * t5268 + 0.21437009059034868486e-3 * t5271 * t1252 + 0.23818898954483187207e-3 * t1261 * t5276 - 0.95275595817932748827e-4 * t3614 - t5281 / 0.864e3 + t5324 + t5375 + t5410; + const double t5414 = t5412 * t225 * t494; + const double t5417 = t460 * t1811; + const double t5422 = t1828 * t1214; + const double t5423 = t1277 * t5422; + const double t5428 = t1828 * t1294; + const double t5429 = t3737 * t5428; + const double t5436 = t1770 * t1284; + const double t5443 = t1280 * t5230; + const double t5446 = t5370 * t1287; + const double t5449 = t3759 * t1774; + const double t5452 = t1280 * t5245; + const double t5457 = t354 * t471; + const double t5458 = t5457 * t1214; + const double t5459 = t5299 * t5458; + const double t5462 = t3766 * t487; + const double t5463 = t460 * t5462; + const double t5464 = t3302 * t3709; + const double t5465 = t5464 * t1248; + const double t5466 = t5353 * t5465; + const double t5470 = t1269 * t1794 * t1287; + const double t5474 = t487 * t5393 * t1287; + const double t5477 = t3781 * t487; + const double t5478 = t460 * t5477; + const double t5479 = t3302 * t1248; + const double t5480 = t5479 * t471; + const double t5481 = t5353 * t5480; + const double t5486 = t473 * t1811; + const double t5487 = t5486 * t1214; + const double t5491 = t1811 * t1248 * t1287; + const double t5494 = t489 * t5412; + const double t5497 = 0.65854491829355115987e0 * t5216 * t490 - 0.65854491829355115987e0 * t5326 * t1281 + 0.65854491829355115987e0 * t5436 * t1288 + 0.65854491829355115987e0 * t1770 * t1291 - 0.65854491829355115987e0 * t3680 * t1818 + 0.13170898365871023197e1 * t3719 * t5443 - 0.65854491829355115987e0 * t3755 * t5446 - 0.65854491829355115987e0 * t1234 * t5449 - 0.65854491829355115987e0 * t1234 * t5452 + 0.65854491829355115987e0 * t3746 * t1822 - 0.65854491829355115987e0 * t3755 * t5459 + 0.13170898365871023197e1 * t5463 * t5466 + 0.65854491829355115987e0 * t1285 * t5470 + 0.65854491829355115987e0 * t1285 * t5474 - 0.65854491829355115987e0 * t5478 * t5481 + 0.65854491829355115987e0 * t1204 * t1825 - 0.65854491829355115987e0 * t1234 * t5487 + 0.65854491829355115987e0 * t1285 * t5491 + 0.65854491829355115987e0 * t460 * t5494; + const double t5498 = t1277 * t5497; + const double t5501 = 0.65854491829355115987e0 * t5216 * t495 - 0.65854491829355115987e0 * t5220 * t1215 + 0.65854491829355115987e0 * t1770 * t1271 - 0.65854491829355115987e0 * t5225 * t1295 - 0.65854491829355115987e0 * t3556 * t1775 + 0.13170898365871023197e1 * t3567 * t5231 - 0.65854491829355115987e0 * t3572 * t1775 + 0.65854491829355115987e0 * t1210 * t5237 - 0.65854491829355115987e0 * t1210 * t5246 + 0.65854491829355115987e0 * t1204 * t1813 - 0.65854491829355115987e0 * t5251 * t1215 + 0.65854491829355115987e0 * t460 * t5414 - 0.65854491829355115987e0 * t5417 * t1295 - 0.65854491829355115987e0 * t3561 * t1829 + 0.65854491829355115987e0 * t1210 * t5423 - 0.65854491829355115987e0 * t3732 * t1829 + 0.13170898365871023197e1 * t1274 * t5429 - 0.65854491829355115987e0 * t1274 * t5498; + const double t5505 = t1832 * t3801; + const double t5508 = t1300 * t198 * t336 * t5501 - t1298 * t5023 * t5505 - t5062 + t5065 + t5067 - t5070 + t5107 + t5111 + t5189 + t5191 - t5194 - t5196 + t5200 - t5204 - t5209; + const double t5509 = piecewise_functor_3( t503, t5508, t4560 ); + const double t5516 = piecewise_functor_3( t400, t4560 * t33 / 0.2e1 + t1587 * t1113 / 0.2e1 + t895 * t1711 / 0.2e1 - t4568, -t1304 * t1469 / 0.2e1 - t1837 * t606 / 0.2e1 - t504 * t4186 / 0.2e1 + t5509 * t57 / 0.2e1 ); + const double t5517 = t5035 + t5516; + const double t5523 = t93 * t670; + const double t5528 = 0.2e1 * t1312 * t4292 + 0.2e1 * t1518 * t2322 + 0.2e1 * t1518 * t5523 + 0.2e1 * t4248 * t670 + t4246; + const double t5532 = 0.18311447306006545054e-3 * t3826; + const double t5533 = t1317 * t1857; + const double t5534 = 0.4e1 * t5533; + const double t5535 = t1320 * t1857; + const double t5536 = 0.4e1 * t5535; + const double t5537 = t3830 * t1468; + const double t5540 = t513 * t2; + const double t5544 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t5537 * t605 + 0.8e1 / 0.3e1 * t5540 * t580 ); + const double t5545 = t3838 * t1711; + const double t5548 = t516 * t2; + const double t5552 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t5545 * t1113 - 0.8e1 / 0.3e1 * t5548 * t580 ); + const double t5554 = ( t5544 + t5552 ) * t162; + const double t5556 = 0.19751673498613801407e-1 * t5554 * t187; + const double t5557 = t5554 * t189; + const double t5558 = t512 * t5557; + const double t5559 = t1856 * t749; + const double t5560 = t512 * t5559; + const double t5561 = t3882 * t1468; + const double t5564 = t1344 * t2; + const double t5568 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t5561 * t605 + 0.4e1 / 0.3e1 * t5564 * t580 ); + const double t5569 = t3889 * t1711; + const double t5572 = t1348 * t2; + const double t5576 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t5569 * t1113 - 0.4e1 / 0.3e1 * t5572 * t580 ); + const double t5578 = t5568 / 0.2e1 + t5576 / 0.2e1; + const double t5586 = t212 * t1892; + const double t5587 = t5586 * t1358; + const double t5588 = t689 * t5587; + const double t5590 = t786 * t1893; + const double t5591 = t5590 * t1364; + const double t5593 = t1413 * t1868; + const double t5594 = t547 * t5593; + const double t5595 = t807 * t5594; + const double t5598 = t3954 * t221 * t1868; + const double t5599 = t3953 * t5598; + const double t5601 = t4046 * t1889; + const double t5603 = t1868 * t1353; + const double t5605 = t3962 * t828 * t5603; + const double t5609 = t820 * t4025 * t241; + const double t5610 = t550 * t72; + const double t5611 = t5610 * t245; + const double t5612 = t125 * t1882; + const double t5613 = t4029 * t1398; + const double t5614 = t5612 * t5613; + const double t5615 = t5611 * t5614; + const double t5618 = t550 * t1882; + const double t5619 = t5618 * t543; + const double t5620 = t3942 * t5619; + const double t5621 = t2688 * t5620; + const double t5624 = t1414 * t828 * t5578; + const double t5629 = t4014 * t1873; + const double t5631 = 0.28582678745379824648e-4 * t5595 - 0.50820002809285328225e-4 * t5599 + 0.40015750243531754507e-2 * t5601 + 0.42874018118069736972e-2 * t1410 * t5605 + 0.42874018118069736972e-3 * t5609 * t5615 + 0.71456696863449561619e-5 * t5621 - 0.85748036236139473944e-3 * t1410 * t5624 - t3933 + t3941 + 0.7e1 / 0.144e3 * t4015 - t3951 + 0.28582678745379824648e-4 * t4021 + t4044 + 0.7e1 / 0.144e3 * t5629; + const double t5632 = t124 * t5578; + const double t5633 = t800 * t5632; + const double t5637 = t5612 * t1399; + const double t5638 = t5611 * t5637; + const double t5641 = t125 * t1868; + const double t5642 = t5641 * t1399; + const double t5643 = t4060 * t5642; + const double t5646 = t5612 * t4062; + const double t5647 = t4060 * t5646; + const double t5651 = t800 * t1872 * t1353; + const double t5655 = t1856 * t177; + const double t5656 = t5655 * t762; + const double t5657 = 0.5848223622634646207e0 * t5656; + const double t5658 = -t5532 + t3829 + t5534 - t5536 + t5556 - t2427 + t5558 + t5560 - t2431 - t2438 + t2448 + t2456 - t5657; + const double t5659 = t1856 * t72; + const double t5660 = t5659 * t757; + const double t5661 = 0.18311447306006545054e-3 * t5660; + const double t5662 = 0.4e1 * t3853; + const double t5663 = 0.4e1 * t3874; + const double t5664 = 0.5848223622634646207e0 * t3975; + const double t5665 = -t5661 + t3851 - t5662 + t3857 - t3860 - t3873 - t5663 + t3984 + t3982 + t3969 - t3971 - t3973 - t5664; + const double t5667 = ( t5658 + t5665 ) * t225; + const double t5673 = t539 * t73; + const double t5674 = t1412 * t1868; + const double t5675 = t5674 * t1353; + const double t5678 = t1394 * t5578; + const double t5681 = 0.3e1 * t1392 * t1879 + 0.3e1 * t1395 * t1877 + 0.3e1 * t539 * t5678 - t541 * t5667 - 0.12e2 * t5673 * t5675; + const double t5682 = t5681 * t543; + const double t5684 = t1390 * t828 * t5682; + const double t5688 = t4006 * t221 * t1883; + const double t5689 = t4005 * t5688; + const double t5691 = t4054 * t1885; + const double t5696 = -t1370 * t5633 / 0.48e2 - 0.12705000702321332056e-4 * t4009 - 0.21437009059034868486e-3 * t4058 * t5638 + 0.85748036236139473944e-3 * t4058 * t5643 + 0.85748036236139473944e-3 * t4058 * t5647 + t4036 * t5651 / 0.16e2 + 0.10003937560882938627e-2 * t4055 - 0.21437009059034868486e-3 * t1388 * t5684 - 0.12705000702321332056e-4 * t5689 + 0.10003937560882938627e-2 * t5691 + t4018 + 0.71456696863449561619e-5 * t3946 - 0.50820002809285328224e-4 * t3957 + 0.40015750243531754508e-2 * t4047 + t4012; + const double t5697 = t5631 + t5696; + const double t5698 = t5697 * t225; + const double t5702 = t213 * t1892; + const double t5705 = t1357 * t1904; + const double t5706 = t689 * t5705; + const double t5708 = t1903 * t72; + const double t5709 = t5708 * t686; + const double t5710 = t3923 * t5709; + const double t5714 = t1903 * t1444; + const double t5715 = t4083 * t5714; + const double t5722 = t555 * t1882; + const double t5724 = t4093 * t5722 * t543; + const double t5725 = t2773 * t5724; + const double t5727 = t1883 * t72; + const double t5728 = t5727 * t686; + const double t5729 = t4108 * t5728; + const double t5731 = t225 * t4024; + const double t5732 = t213 * t5731; + const double t5742 = t213 * t4093; + const double t5746 = t545 * t1892; + const double t5747 = t869 * t5746; + const double t5748 = t689 * t5747; + const double t5750 = t1892 * t72; + const double t5752 = t1432 * t5750 * t686; + const double t5754 = t1385 * t1892; + const double t5761 = t4089 - t4092 + 0.54878743191129263322e-2 * t4097 - 0.54878743191129263322e-2 * t4101 + t4106 - 0.9757440539382783019e-2 * t4112 + 0.9757440539382783019e-2 * t4116 - t4120 + 0.54878743191129263322e-2 * t5725 - 0.9757440539382783019e-2 * t5729 + 0.13170898365871023197e1 * t5732 * t5722 * t5613 - 0.65854491829355115987e0 * t820 * t4125 * t1883 - 0.65854491829355115987e0 * t820 * t1437 * t5682 - 0.65854491829355115987e0 * t5742 * t5722 * t1399 - 0.54878743191129263322e-2 * t5748 + 0.9757440539382783019e-2 * t5752 - 0.65854491829355115987e0 * t820 * t5754 * t1399 + 0.65854491829355115987e0 * t213 * t546 * t5697; + const double t5762 = t1427 * t5761; + const double t5765 = t3902 - t3906 - 0.54878743191129263322e-2 * t3909 + 0.54878743191129263322e-2 * t3912 + t3918 + 0.9757440539382783019e-2 * t3920 - 0.9757440539382783019e-2 * t3926 - t3930 - 0.54878743191129263322e-2 * t5588 + 0.9757440539382783019e-2 * t5591 + 0.65854491829355115987e0 * t213 * t5698 * t561 - 0.65854491829355115987e0 * t5702 * t1445 + 0.54878743191129263322e-2 * t5706 - 0.9757440539382783019e-2 * t5710 - 0.65854491829355115987e0 * t4078 * t1904 + 0.13170898365871023197e1 * t1424 * t5715 - 0.65854491829355115987e0 * t1424 * t5762; + const double t5769 = t3868 * t1868; + const double t5772 = t1907 * t1450; + const double t5776 = t1450 * t198 * t532 * t5765 + 0.3e1 * t1343 * t198 * t5578 + 0.3e1 * t1353 * t3867 * t5772 + 0.3e1 * t3867 * t5769 - t2427 - t2431 - t2438 + t2448 + t2456 + t3829 - t5532 + t5534 - t5536 + t5556 + t5558 + t5560; + const double t5777 = t198 * t532; + const double t5778 = t1907 * t3879; + const double t5781 = t198 * t530; + const double t5782 = t566 * t1868; + const double t5786 = 0.6e1 * t1353 * t5781 * t5782 - t1448 * t5777 * t5778 + t3851 + t3857 - t3860 - t3873 + t3969 - t3971 - t3973 + t3982 + t3984 - t5657 - t5661 - t5662 - t5663 - t5664; + const double t5787 = t5776 + t5786; + const double t5789 = -t118 * t5517 - t1310 * t1502 + t1315 * t1911 + t1453 * t1847 - 0.2e1 * t1519 * t2322 - 0.2e1 * t1519 * t4254 - t1843 * t649 - t4246 * t508 - 0.2e1 * t4248 * t671 - 0.2e1 * t4257 * t651 - 0.2e1 * t4293 * t651 - 0.2e1 * t4297 * t651 + t511 * t5787 + t5528 * t569; + const double t5790 = t3 * t5789; + const double t5793 = t571 * t1921; + const double t5795 = d * t5789; + const double t5801 = t116 * t1518; + const double t5802 = t5801 * t670; + const double t5805 = t117 * t4292; + const double t5808 = 0.3e1 * t1459 * t1918 + 0.3e1 * t1461 * t1916 + 0.6e1 * t572 * t5802 + 0.3e1 * t572 * t5805 + t573 * t5795; + const double t5812 = t2219 + t2221 + t2223 + t2226 + t2228 + t2230 + t2233 + t2235 + t2239; + const double t5816 = t1497 * t1497; + const double t5819 = t1469 * t1469; + const double t5820 = t5819 * t70; + const double t5823 = t17 + t2255; + const double t5824 = 0.2e1 * t5823; + const double t5825 = piecewise_functor_5( t31, 0.0, t34, 0.0, t5824 ); + const double t5826 = t36 * t5825; + const double t5827 = t5826 * t70; + const double t5830 = t1470 * t1486; + const double t5835 = t2275 * t5819; + const double t5838 = t48 * t5825; + const double t5842 = 0.1e1 / t53 / t476; + const double t5843 = sigma_bb * t5842; + const double t5848 = t2282 * t5819; + const double t5851 = t60 * t5825; + const double t5854 = 0.5e1 / 0.18e2 * t44 * t5835 + 0.5e1 / 0.6e1 * t44 * t5838 + 0.88e2 / 0.9e1 * t5843 * t61 + 0.4e2 / 0.9e1 * t1480 * t1483 + 0.5e1 / 0.18e2 * t56 * t5848 - 0.5e1 / 0.6e1 * t56 * t5851 - t2290; + const double t5855 = t38 * t5854; + const double t5860 = t2299 * t5819; + const double t5862 = t633 * t5825; + const double t5864 = t2306 * t5819; + const double t5866 = t637 * t5825; + const double t5868 = 0.28e2 / 0.9e1 * t5860 - 0.4e1 / 0.3e1 * t5862 + 0.28e2 / 0.9e1 * t5864 + 0.4e1 / 0.3e1 * t5866; + const double t5869 = t77 * t5868; + const double t5872 = -t5820 * t85 / 0.12e2 - t5827 * t85 / 0.12e2 - t5830 * t85 / 0.6e1 - t1471 * t1494 / 0.6e1 + t5855 * t85 / 0.24e2 + t1487 * t1494 / 0.12e2 + t71 * t5869 / 0.24e2; + const double t5876 = piecewise_functor_3( t8, 0.0, -0.8e1 * t1497 * t4173 + 0.2e2 * t2247 * t5816 + t5812 * t91 - 0.4e1 * t5872 * t603 ); + const double t5877 = t5876 * t117; + const double t5883 = t1518 * t1518; + const double t5884 = t94 * t5883; + const double t5887 = t1843 * t1518; + const double t5891 = t1513 * t1513; + const double t5892 = t2339 * t5891; + const double t5895 = t1504 * t1504; + const double t5896 = t2349 * t5895; + const double t5899 = t100 * t5823; + const double t5902 = tau_b * t1479; + const double t5907 = t1509 * t1509; + const double t5908 = t2357 * t5907; + const double t5911 = -t5823; + const double t5912 = t108 * t5911; + const double t5915 = 0.1e2 / 0.9e1 * t97 * t5896 + 0.5e1 / 0.3e1 * t97 * t5899 + 0.4e2 / 0.9e1 * t5902 * t109 - 0.5e2 / 0.9e1 * t1507 * t1510 + 0.1e2 / 0.9e1 * t105 * t5908 + 0.5e1 / 0.3e1 * t105 * t5912; + const double t5916 = t655 * t5915; + const double t5920 = piecewise_functor_3( t115, 0.0, t2335 + 0.2e1 / 0.3e1 * t4261 + t69 * t5892 / 0.4e1 - t69 * t5916 / 0.8e1 ); + const double t5921 = t508 * t5920; + const double t5924 = 0.2e1 * t4320; + const double t5925 = t4552 * t1544; + const double t5928 = 0.8e1 * t4324; + const double t5929 = t1544 * t1544; + const double t5933 = t1583 * t1583; + const double t5937 = -t198 * t207 * t2495 * t5933 + 0.6e1 * t198 * t2827 * t5929 + 0.6e1 * t2832 * t5925 - t2427 - t2431 - t2438 + t2448 + t2456 + t2491 + t2650 + t5924 + t5928; + const double t5938 = t190 * t5825; + const double t5940 = 0.4e1 * t706 * t5938; + const double t5942 = 0.8e1 * t4331 * t1522; + const double t5948 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t5819 + 0.2e1 / 0.3e1 * t766 * t5825 ); + const double t5954 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t5819 - 0.2e1 / 0.3e1 * t770 * t5825 ); + const double t5956 = t5948 / 0.2e1 + t5954 / 0.2e1; + const double t5965 = t2583 * t828 * t5929; + const double t5968 = t190 * t5819; + const double t5970 = 0.12e2 * t2498 * t5968; + const double t5971 = 0.11696447245269292414e1 * t4442; + const double t5972 = 0.36622894612013090108e-3 * t4447; + const double t5978 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2627 * t5819 + 0.4e1 / 0.3e1 * t78 * t5825 ); + const double t5984 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2634 * t5819 - 0.4e1 / 0.3e1 * t81 * t5825 ); + const double t5985 = t5978 + t5984; + const double t5986 = t150 * t5985; + const double t5987 = t5986 * t190; + const double t5988 = t5985 * t162; + const double t5990 = 0.19751673498613801407e-1 * t5988 * t187; + const double t5991 = -t2599 - t2606 + t5970 + t5940 + t5942 + t5924 - t2427 - t2438 + t2622 - t2431 - t5971 + t2626 + t5928 - t5972 + t2448 + t2456 + t2491 + t2650 + t5987 + t5990; + const double t5992 = t5991 * t225; + const double t5996 = t2656 * t5929; + const double t5999 = t832 * t5956; + const double t6002 = 0.6e1 * t1553 * t1555 - 0.12e2 * t227 * t5996 + 0.3e1 * t227 * t5999 - t229 * t5992; + const double t6003 = t6002 * t231; + const double t6005 = t827 * t828 * t6003; + const double t6009 = t1558 * t1558; + const double t6010 = t6009 * t2701; + const double t6012 = t827 * t828 * t6010; + const double t6017 = t231 * t1544; + const double t6018 = t4382 * t6017; + const double t6019 = t2738 * t6018; + const double t6022 = t6009 * t231; + const double t6024 = t827 * t828 * t6022; + const double t6031 = t855 * t828 * t5956; + const double t6034 = t124 * t5956; + const double t6035 = t800 * t6034; + const double t6039 = t124 * t5929; + const double t6040 = t800 * t6039; + const double t6044 = -0.25410001404642664112e-4 * t4428 + 0.80031500487063509015e-2 * t4420 - 0.85748036236139473944e-3 * t851 * t6031 - t799 * t6035 / 0.48e2 + 0.57165357490759649296e-4 * t4424 + t2673 - t2685 + t2708 * t6040 / 0.16e2 + 0.7e1 / 0.72e2 * t4390 + t2718 + t2730; + const double t6045 = 0.42874018118069736972e-2 * t851 * t5965 - 0.21437009059034868486e-3 * t825 * t6005 + 0.20007875121765877254e-2 * t4388 - t2560 + t2575 + 0.42874018118069736972e-3 * t2699 * t6012 - 0.10164000561857065645e-3 * t4371 + 0.14291339372689912324e-4 * t4376 + 0.17149607247227894789e-2 * t2736 * t6019 - 0.21437009059034868486e-3 * t825 * t6024 + t6044; + const double t6046 = t6045 * t225; + const double t6052 = t1579 * t1579; + const double t6053 = t2761 * t6052; + const double t6075 = t2767 - t2771 + 0.10975748638225852664e-1 * t4500 - 0.10975748638225852664e-1 * t4523 + t2787 - 0.19514881078765566038e-1 * t4504 + 0.19514881078765566038e-1 * t4527 - t2801 + 0.13170898365871023197e1 * t820 * t2802 * t6010 - 0.13170898365871023197e1 * t820 * t4529 * t1559 - 0.65854491829355115987e0 * t820 * t879 * t6003 - 0.65854491829355115987e0 * t820 * t879 * t6022 + 0.65854491829355115987e0 * t213 * t234 * t6045; + const double t6076 = t868 * t6075; + const double t6079 = t2520 - t2524 - 0.10975748638225852664e-1 * t4359 + 0.10975748638225852664e-1 * t4481 + t2539 + 0.19514881078765566038e-1 * t4362 - 0.19514881078765566038e-1 * t4485 - t2551 + 0.65854491829355115987e0 * t213 * t6046 * t257 - 0.13170898365871023197e1 * t4477 * t1580 + 0.13170898365871023197e1 * t865 * t6053 - 0.65854491829355115987e0 * t865 * t6076; + const double t6083 = t198 * t207 * t6079 * t892 + 0.3e1 * t198 * t5956 * t765 - t2599 - t2606 + t2622 + t2626 + t5940 + t5942 + t5970 - t5971 - t5972 + t5987 + t5990; + const double t6084 = t5937 + t6083; + const double t6092 = t2852 * t5819; + const double t6093 = t2850 * t6092; + const double t6094 = t128 * t6093; + const double t6096 = t2857 * t5819; + const double t6097 = t904 * t6096; + const double t6098 = t128 * t6097; + const double t6100 = t905 * t5825; + const double t6101 = t904 * t6100; + const double t6102 = t128 * t6101; + const double t6104 = t2847 + 0.11872222222222222222e-1 * t4571 - 0.11872222222222222222e-1 * t6094 + 0.35616666666666666666e-1 * t6098 - 0.17808333333333333333e-1 * t6102; + const double t6106 = 0.621814e-1 * t6104 * t291; + const double t6108 = 0.2e1 * t4590 * t1610; + const double t6109 = t1609 * t1609; + const double t6110 = t6109 * t935; + const double t6112 = 0.2e1 * t2874 * t6110; + const double t6113 = t1600 * t1600; + const double t6114 = t2880 * t6113; + const double t6120 = t2884 + 0.2e1 / 0.9e1 * t4571 - 0.2e1 / 0.9e1 * t6094 + 0.2e1 / 0.3e1 * t6098 - t6102 / 0.3e1; + const double t6121 = t916 * t6120; + const double t6127 = t2897 * t6113; + const double t6129 = t923 * t6120; + const double t6132 = t2908 * t6092; + const double t6133 = t141 * t6132; + const double t6135 = t930 * t6096; + const double t6136 = t141 * t6135; + const double t6138 = t930 * t6100; + const double t6139 = t141 * t6138; + const double t6141 = -0.9494625e0 * t6114 + 0.1898925e1 * t6121 + t2892 + 0.19931111111111111111e0 * t4571 - 0.19931111111111111111e0 * t6094 + 0.59793333333333333334e0 * t6098 - 0.29896666666666666667e0 * t6102 + 0.15358125e0 * t6127 + 0.3071625e0 * t6129 + t2905 + 0.10954222222222222222e0 * t4620 - 0.27385555555555555556e-1 * t6133 + 0.16431333333333333333e0 * t6136 - 0.82156666666666666667e-1 * t6139; + const double t6142 = t6141 * t935; + const double t6144 = 0.1e1 * t915 * t6142; + const double t6145 = t6109 * t2926; + const double t6147 = 0.16081979498692535067e2 * t2924 * t6145; + const double t6152 = t2930 + 0.11415555555555555555e-1 * t4571 - 0.11415555555555555555e-1 * t6094 + 0.34246666666666666666e-1 * t6098 - 0.17123333333333333333e-1 * t6102; + const double t6157 = t1621 * t1621; + const double t6158 = t6157 * t954; + const double t6173 = -0.17648625e1 * t6114 + 0.3529725e1 * t6121 + t2950 + 0.34431666666666666666e0 * t4571 - 0.34431666666666666667e0 * t6094 + 0.103295e1 * t6098 - 0.516475e0 * t6102 + 0.31558125e0 * t6127 + 0.6311625e0 * t6129 + t2957 + 0.13892666666666666667e0 * t4620 - 0.34731666666666666667e-1 * t6133 + 0.20839e0 * t6136 - 0.104195e0 * t6139; + const double t6174 = t6173 * t954; + const double t6177 = t6157 * t2970; + const double t6184 = t2974 + 0.61805555555555555556e-2 * t4571 - 0.61805555555555555555e-2 * t6094 + 0.18541666666666666667e-1 * t6098 - 0.92708333333333333333e-2 * t6102; + const double t6185 = t6184 * t324; + const double t6189 = t1633 * t1633; + const double t6190 = t6189 * t973; + const double t6205 = -0.1294625e1 * t6114 + 0.258925e1 * t6121 + t2994 + 0.20128333333333333334e0 * t4571 - 0.20128333333333333333e0 * t6094 + 0.60385e0 * t6098 - 0.301925e0 * t6102 + 0.82524375e-1 * t6127 + 0.16504875e0 * t6129 + t3001 + 0.11038e0 * t4620 - 0.27595e-1 * t6133 + 0.16557e0 * t6136 - 0.82785e-1 * t6139; + const double t6206 = t6205 * t973; + const double t6209 = t6189 * t3014; + const double t6212 = -0.310907e-1 * t6152 * t311 + 0.2e1 * t4647 * t1622 - 0.2e1 * t2943 * t6158 + 0.1e1 * t946 * t6174 + 0.32163958997385070134e2 * t2968 * t6177 + t6106 - t6108 + t6112 - t6144 - t6147 - 0.19751673498613801407e-1 * t6185 + 0.11696447245269292414e1 * t4685 * t1634 - 0.11696447245269292414e1 * t2987 * t6190 + 0.5848223622634646207e0 * t965 * t6206 + 0.17315859105681463759e2 * t3012 * t6209; + const double t6213 = t300 * t6212; + const double t6215 = 0.19751673498613801407e-1 * t300 * t6185; + const double t6217 = 0.11696447245269292414e1 * t4719 * t1642; + const double t6219 = t2986 * t6189 * t973; + const double t6221 = 0.11696447245269292414e1 * t981 * t6219; + const double t6223 = t964 * t6205 * t973; + const double t6225 = 0.5848223622634646207e0 * t981 * t6223; + const double t6226 = t3011 * t6189; + const double t6227 = t6226 * t3014; + const double t6229 = 0.17315859105681463759e2 * t981 * t6227; + const double t6234 = t3037 + 0.55555555555555555556e-2 * t4571 - 0.55555555555555555555e-2 * t6094 + 0.16666666666666666667e-1 * t6098 - 0.83333333333333333333e-2 * t6102; + const double t6235 = t6234 * t341; + const double t6244 = t1651 * t1651; + const double t6245 = t996 * t6244; + const double t6250 = t1651 * t1695; + const double t6251 = t1079 * t6250; + const double t6258 = t3070 + 0.9877777777777777778e-2 * t4571 - 0.9877777777777777778e-2 * t6094 + 0.29633333333333333334e-1 * t6098 - 0.14816666666666666667e-1 * t6102; + const double t6259 = t996 * t6258; + const double t6262 = t6235 * t225; + const double t6263 = t6262 * t366; + const double t6267 = t373 * t6258; + const double t6269 = t371 * t372 * t6267; + const double t6274 = t373 * t6244; + const double t6276 = t371 * t372 * t6274; + const double t6282 = t3123 * t5819; + const double t6283 = t1012 * t6282; + const double t6286 = t1015 * t5825; + const double t6287 = t1012 * t6286; + const double t6290 = t3140 * t5819; + const double t6291 = t1012 * t6290; + const double t6296 = 0.21437009059034868486e-3 * t6263 * t375 - 0.28582678745379824648e-3 * t4818 - 0.21437009059034868486e-3 * t1025 * t6269 - 0.42874018118069736972e-3 * t4884 * t1665 + 0.42874018118069736972e-3 * t3101 * t6276 + 0.42874018118069736972e-3 * t4808 * t1671 + t4854 / 0.432e3 - t1011 * t6283 / 0.144e3 + t1011 * t6287 / 0.288e3 + t1011 * t6291 / 0.216e3 + 0.28582678745379824648e-3 * t4860 + 0.28582678745379824648e-3 * t4863; + const double t6299 = t1066 * t6100; + const double t6300 = t247 * t6299; + const double t6303 = t3174 * t6092; + const double t6304 = t247 * t6303; + const double t6307 = t4811 * t1592; + const double t6308 = t1042 * t6307; + const double t6311 = -t6106 + t6108 - t6112 + t6144 + t6147 + t6213 + t6215 - t6217 + t6221 - t6225 - t6229; + const double t6313 = t373 * t6311 * t1045; + const double t6314 = t1042 * t6313; + const double t6317 = t1668 * t1668; + const double t6318 = t373 * t6317; + const double t6319 = t6318 * t3235; + const double t6320 = t1042 * t6319; + const double t6323 = t6318 * t3208; + const double t6324 = t1042 * t6323; + const double t6328 = t1651 * t1668; + const double t6329 = t6328 * t1045; + const double t6330 = t3085 * t6329; + const double t6333 = t1066 * t6096; + const double t6334 = t247 * t6333; + const double t6337 = t3094 * t1469; + const double t6338 = t4801 * t6337; + const double t6339 = t3092 * t6338; + const double t6342 = 0.28582678745379824648e-3 * t4910 * t1675 + 0.14291339372689912324e-3 * t1063 * t6300 + 0.23818898954483187207e-3 * t1063 * t6304 - 0.28582678745379824648e-3 * t3217 * t6308 + 0.21437009059034868486e-3 * t1041 * t6314 + 0.42874018118069736972e-3 * t3233 * t6320 - 0.21437009059034868486e-3 * t3204 * t6324 + 0.19055119163586549765e-3 * t4881 - 0.42874018118069736972e-3 * t3083 * t6330 - t3153 - 0.28582678745379824648e-3 * t1063 * t6334 + 0.28582678745379824648e-3 * t3091 * t6339 - t3257; + const double t6343 = t6296 + t6342; + const double t6345 = t6343 * t225 * t385; + const double t6350 = t1695 * t1695; + const double t6351 = t3269 * t6350; + const double t6362 = t1082 * t6244; + const double t6365 = t6328 * t1089; + const double t6368 = t5004 * t1651; + const double t6371 = t1082 * t6258; + const double t6374 = t378 * t6317; + const double t6375 = t6374 * t3304; + const double t6379 = t1678 * t1668 * t1089; + const double t6383 = t378 * t6311 * t1089; + const double t6386 = t6374 * t3318; + const double t6389 = t380 * t6343; + const double t6392 = 0.65854491829355115987e0 * t6235 * t381 - 0.13170898365871023197e1 * t4883 * t1685 + 0.13170898365871023197e1 * t4954 * t1689 + 0.13170898365871023197e1 * t1647 * t1692 + 0.13170898365871023197e1 * t3100 * t6362 - 0.13170898365871023197e1 * t3287 * t6365 - 0.13170898365871023197e1 * t1024 * t6368 - 0.65854491829355115987e0 * t1024 * t6371 + 0.13170898365871023197e1 * t3299 * t6375 + 0.13170898365871023197e1 * t1087 * t6379 + 0.65854491829355115987e0 * t1087 * t6383 - 0.65854491829355115987e0 * t3317 * t6386 + 0.65854491829355115987e0 * t342 * t6389; + const double t6393 = t1079 * t6392; + const double t6396 = 0.65854491829355115987e0 * t6235 * t386 - 0.13170898365871023197e1 * t4747 * t1652 + 0.13170898365871023197e1 * t1647 * t1680 - 0.13170898365871023197e1 * t4752 * t1696 + 0.13170898365871023197e1 * t3058 * t6245 - 0.13170898365871023197e1 * t4778 * t1652 + 0.13170898365871023197e1 * t995 * t6251 - 0.65854491829355115987e0 * t995 * t6259 + 0.65854491829355115987e0 * t342 * t6345 - 0.13170898365871023197e1 * t4935 * t1696 + 0.13170898365871023197e1 * t1076 * t6351 - 0.65854491829355115987e0 * t1076 * t6393; + const double t6400 = t1699 * t1699; + const double t6404 = t1102 * t198 * t336 * t6396 - t198 * t3336 * t336 * t6400 - t6106 + t6108 - t6112 + t6144 + t6147 + t6213 + t6215 - t6217 + t6221 - t6225 - t6229; + const double t6405 = piecewise_functor_3( t394, t6404, t6084 ); + const double t6412 = piecewise_functor_3( t120, t6084 * t30 / 0.2e1 + t1587 * t1468 + t265 * t5824 / 0.2e1, t6405 * t45 / 0.2e1 + t1704 * t1469 + t395 * t5825 / 0.2e1 ); + const double t6416 = -t5824; + const double t6421 = t3362 * t5819; + const double t6422 = t3360 * t6421; + const double t6423 = t128 * t6422; + const double t6425 = t3367 * t5819; + const double t6426 = t1120 * t6425; + const double t6427 = t128 * t6426; + const double t6429 = t1121 * t5825; + const double t6430 = t1120 * t6429; + const double t6431 = t128 * t6430; + const double t6433 = t3357 - 0.11872222222222222222e-1 * t5044 - 0.11872222222222222222e-1 * t6423 + 0.35616666666666666666e-1 * t6427 + 0.17808333333333333333e-1 * t6431; + const double t6435 = 0.621814e-1 * t6433 * t422; + const double t6437 = 0.2e1 * t5063 * t1733; + const double t6438 = t1732 * t1732; + const double t6439 = t6438 * t1150; + const double t6441 = 0.2e1 * t3384 * t6439; + const double t6442 = t1723 * t1723; + const double t6443 = t3390 * t6442; + const double t6449 = t3394 - 0.2e1 / 0.9e1 * t5044 - 0.2e1 / 0.9e1 * t6423 + 0.2e1 / 0.3e1 * t6427 + t6431 / 0.3e1; + const double t6450 = t1132 * t6449; + const double t6456 = t3407 * t6442; + const double t6458 = t1139 * t6449; + const double t6461 = t3417 * t6421; + const double t6462 = t141 * t6461; + const double t6464 = t1145 * t6425; + const double t6465 = t141 * t6464; + const double t6467 = t1145 * t6429; + const double t6468 = t141 * t6467; + const double t6470 = -0.9494625e0 * t6443 + 0.1898925e1 * t6450 + t3402 - 0.19931111111111111111e0 * t5044 - 0.19931111111111111111e0 * t6423 + 0.59793333333333333334e0 * t6427 + 0.29896666666666666667e0 * t6431 + 0.15358125e0 * t6456 + 0.3071625e0 * t6458 + t3414 - 0.10954222222222222222e0 * t5093 - 0.27385555555555555556e-1 * t6462 + 0.16431333333333333333e0 * t6465 + 0.82156666666666666667e-1 * t6468; + const double t6471 = t6470 * t1150; + const double t6473 = 0.1e1 * t1131 * t6471; + const double t6474 = t6438 * t3435; + const double t6476 = 0.16081979498692535067e2 * t3433 * t6474; + const double t6481 = t3439 - 0.11415555555555555555e-1 * t5044 - 0.11415555555555555555e-1 * t6423 + 0.34246666666666666666e-1 * t6427 + 0.17123333333333333333e-1 * t6431; + const double t6486 = t1744 * t1744; + const double t6487 = t6486 * t1169; + const double t6502 = -0.17648625e1 * t6443 + 0.3529725e1 * t6450 + t3459 - 0.34431666666666666666e0 * t5044 - 0.34431666666666666667e0 * t6423 + 0.103295e1 * t6427 + 0.516475e0 * t6431 + 0.31558125e0 * t6456 + 0.6311625e0 * t6458 + t3466 - 0.13892666666666666667e0 * t5093 - 0.34731666666666666667e-1 * t6462 + 0.20839e0 * t6465 + 0.104195e0 * t6468; + const double t6503 = t6502 * t1169; + const double t6506 = t6486 * t3479; + const double t6513 = t3483 - 0.61805555555555555556e-2 * t5044 - 0.61805555555555555555e-2 * t6423 + 0.18541666666666666667e-1 * t6427 + 0.92708333333333333333e-2 * t6431; + const double t6514 = t6513 * t448; + const double t6518 = t1756 * t1756; + const double t6519 = t6518 * t1188; + const double t6534 = -0.1294625e1 * t6443 + 0.258925e1 * t6450 + t3503 - 0.20128333333333333334e0 * t5044 - 0.20128333333333333333e0 * t6423 + 0.60385e0 * t6427 + 0.301925e0 * t6431 + 0.82524375e-1 * t6456 + 0.16504875e0 * t6458 + t3510 - 0.11038e0 * t5093 - 0.27595e-1 * t6462 + 0.16557e0 * t6465 + 0.82785e-1 * t6468; + const double t6535 = t6534 * t1188; + const double t6538 = t6518 * t3523; + const double t6541 = -0.310907e-1 * t6481 * t435 + 0.2e1 * t5120 * t1745 - 0.2e1 * t3452 * t6487 + 0.1e1 * t1161 * t6503 + 0.32163958997385070134e2 * t3477 * t6506 + t6435 - t6437 + t6441 - t6473 - t6476 - 0.19751673498613801407e-1 * t6514 + 0.11696447245269292414e1 * t5158 * t1757 - 0.11696447245269292414e1 * t3496 * t6519 + 0.5848223622634646207e0 * t1180 * t6535 + 0.17315859105681463759e2 * t3521 * t6538; + const double t6542 = t300 * t6541; + const double t6544 = 0.19751673498613801407e-1 * t300 * t6514; + const double t6546 = 0.11696447245269292414e1 * t5192 * t1765; + const double t6548 = t3495 * t6518 * t1188; + const double t6550 = 0.11696447245269292414e1 * t1196 * t6548; + const double t6552 = t1179 * t6534 * t1188; + const double t6554 = 0.5848223622634646207e0 * t1196 * t6552; + const double t6555 = t3520 * t6518; + const double t6556 = t6555 * t3523; + const double t6558 = 0.17315859105681463759e2 * t1196 * t6556; + const double t6563 = t3546 - 0.55555555555555555556e-2 * t5044 - 0.55555555555555555555e-2 * t6423 + 0.16666666666666666667e-1 * t6427 + 0.83333333333333333333e-2 * t6431; + const double t6564 = t6563 * t459; + const double t6573 = t1774 * t1774; + const double t6574 = t1211 * t6573; + const double t6579 = t1774 * t1828; + const double t6580 = t1277 * t6579; + const double t6587 = t3579 - 0.9877777777777777778e-2 * t5044 - 0.9877777777777777778e-2 * t6423 + 0.29633333333333333334e-1 * t6427 + 0.14816666666666666667e-1 * t6431; + const double t6588 = t1211 * t6587; + const double t6594 = t6564 * t225; + const double t6595 = t6594 * t480; + const double t6600 = 0.1e1 / t52 / t476 / t1477; + const double t6601 = t475 * t6600; + const double t6602 = t467 * t6601; + const double t6605 = t1785 * t1803; + const double t6608 = t482 * t6573; + const double t6610 = t371 * t372 * t6608; + const double t6617 = t482 * t6587; + const double t6619 = t371 * t372 * t6617; + const double t6627 = t5319 * t1715; + const double t6628 = t1042 * t6627; + const double t6631 = -t6435 + t6437 - t6441 + t6473 + t6476 + t6542 + t6544 - t6546 + t6550 - t6554 - t6558; + const double t6633 = t482 * t6631 * t1250; + const double t6634 = t1042 * t6633; + const double t6637 = t1794 * t1794; + const double t6638 = t482 * t6637; + const double t6639 = t6638 * t3710; + const double t6640 = t1042 * t6639; + const double t6643 = t6638 * t3659; + const double t6644 = t1042 * t6643; + const double t6647 = 0.28582678745379824648e-3 * t5261 - 0.15244095330869239812e-2 * t5263 - 0.28582678745379824648e-3 * t5268 + 0.21437009059034868486e-3 * t6595 * t484 + 0.72409452821628889107e-2 * t6602 * t484 - 0.22866142996303859718e-2 * t6605 * t484 + 0.42874018118069736972e-3 * t3720 * t6610 + 0.22866142996303859718e-2 * t5337 * t1791 - 0.42874018118069736972e-3 * t5327 * t1791 - 0.21437009059034868486e-3 * t1235 * t6619 - t5281 / 0.432e3 - 0.22866142996303859718e-2 * t5401 * t1797 + 0.42874018118069736972e-3 * t5271 * t1797 + 0.28582678745379824648e-3 * t3694 * t6628 + 0.21437009059034868486e-3 * t1247 * t6634 + 0.42874018118069736972e-3 * t3708 * t6640 - 0.21437009059034868486e-3 * t3656 * t6644; + const double t6648 = t3643 * t1469; + const double t6649 = t5299 * t6648; + const double t6650 = t3641 * t6649; + const double t6653 = t3626 * t5819; + const double t6654 = t1012 * t6653; + const double t6659 = t1225 * t5825; + const double t6660 = t1012 * t6659; + const double t6663 = t3595 * t5819; + const double t6664 = t1012 * t6663; + const double t6670 = t3670 * t6421; + const double t6671 = t247 * t6670; + const double t6674 = t1774 * t1794; + const double t6675 = t6674 * t1250; + const double t6676 = t3605 * t6675; + const double t6679 = t5843 * t344; + const double t6682 = t1264 * t6429; + const double t6683 = t247 * t6682; + const double t6686 = t1264 * t6425; + const double t6687 = t247 * t6686; + const double t6694 = -0.28582678745379824648e-3 * t3640 * t6650 + t1222 * t6654 / 0.216e3 + t5284 * t1782 / 0.54e2 - t1222 * t6660 / 0.288e3 - t1222 * t6664 / 0.144e3 - t5305 / 0.54e2 - 0.19055119163586549765e-3 * t5309 + 0.28582678745379824648e-3 * t5312 + 0.23818898954483187207e-3 * t1261 * t6671 - 0.42874018118069736972e-3 * t3603 * t6676 - t3691 - t3703 + 0.11e2 / 0.108e3 * t6679 * t464 - 0.14291339372689912324e-3 * t1261 * t6683 - 0.28582678745379824648e-3 * t1261 * t6687 - 0.28582678745379824648e-3 * t5376 * t1808 + 0.15244095330869239812e-2 * t5342 * t1808; + const double t6695 = t6647 + t6694; + const double t6697 = t6695 * t225 * t494; + const double t6702 = t1828 * t1828; + const double t6703 = t3737 * t6702; + const double t6714 = t1280 * t6573; + const double t6717 = t6674 * t1287; + const double t6720 = t5486 * t1774; + const double t6723 = t1280 * t6587; + const double t6726 = t487 * t6637; + const double t6727 = t6726 * t3769; + const double t6731 = t1811 * t1794 * t1287; + const double t6735 = t487 * t6631 * t1287; + const double t6738 = t6726 * t3783; + const double t6741 = t489 * t6695; + const double t6744 = 0.65854491829355115987e0 * t6564 * t490 - 0.13170898365871023197e1 * t5326 * t1818 + 0.13170898365871023197e1 * t5436 * t1822 + 0.13170898365871023197e1 * t1770 * t1825 + 0.13170898365871023197e1 * t3719 * t6714 - 0.13170898365871023197e1 * t3755 * t6717 - 0.13170898365871023197e1 * t1234 * t6720 - 0.65854491829355115987e0 * t1234 * t6723 + 0.13170898365871023197e1 * t3767 * t6727 + 0.13170898365871023197e1 * t1285 * t6731 + 0.65854491829355115987e0 * t1285 * t6735 - 0.65854491829355115987e0 * t3782 * t6738 + 0.65854491829355115987e0 * t460 * t6741; + const double t6745 = t1277 * t6744; + const double t6748 = 0.65854491829355115987e0 * t6564 * t495 - 0.13170898365871023197e1 * t5220 * t1775 + 0.13170898365871023197e1 * t1770 * t1813 - 0.13170898365871023197e1 * t5225 * t1829 + 0.13170898365871023197e1 * t3567 * t6574 - 0.13170898365871023197e1 * t5251 * t1775 + 0.13170898365871023197e1 * t1210 * t6580 - 0.65854491829355115987e0 * t1210 * t6588 + 0.65854491829355115987e0 * t460 * t6697 - 0.13170898365871023197e1 * t5417 * t1829 + 0.13170898365871023197e1 * t1274 * t6703 - 0.65854491829355115987e0 * t1274 * t6745; + const double t6752 = t1832 * t1832; + const double t6756 = t1300 * t198 * t336 * t6748 - t198 * t336 * t3801 * t6752 - t6435 + t6437 - t6441 + t6473 + t6476 + t6542 + t6544 - t6546 + t6550 - t6554 - t6558; + const double t6757 = piecewise_functor_3( t503, t6756, t6084 ); + const double t6764 = piecewise_functor_3( t400, t6084 * t33 / 0.2e1 + t1587 * t1711 + t265 * t6416 / 0.2e1, t6757 * t57 / 0.2e1 - t1837 * t1469 - t504 * t5825 / 0.2e1 ); + const double t6765 = t6412 + t6764; + const double t6773 = 0.2e1 * t1312 * t5920 + 0.4e1 * t1518 * t4248 + 0.2e1 * t5883 * t93 + t5877; + const double t6777 = 0.8e1 * t5533; + const double t6778 = 0.8e1 * t5535; + const double t6779 = t1468 * t1468; + const double t6785 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3882 * t6779 + 0.2e1 / 0.3e1 * t1344 * t5824 ); + const double t6786 = t1711 * t1711; + const double t6792 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3889 * t6786 + 0.2e1 / 0.3e1 * t1348 * t6416 ); + const double t6794 = t6785 / 0.2e1 + t6792 / 0.2e1; + const double t6806 = t124 * t6794; + const double t6807 = t800 * t6806; + const double t6811 = t1868 * t1868; + const double t6812 = t124 * t6811; + const double t6813 = t800 * t6812; + const double t6817 = t3962 * t828 * t6811; + const double t6823 = t1414 * t828 * t6794; + const double t6826 = t543 * t1868; + const double t6827 = t5612 * t6826; + const double t6828 = t4060 * t6827; + const double t6831 = t1882 * t1882; + const double t6832 = t6831 * t543; + const double t6834 = t1390 * t828 * t6832; + const double t6837 = 0.11696447245269292414e1 * t5656; + const double t6838 = -t6837 + t3969 - t3971 - t3973 + t3857 + t3860 + t3863 - t3873 - t3979 - t2427 - t6777; + const double t6839 = 0.36622894612013090108e-3 * t5660; + const double t6845 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3830 * t6779 + 0.4e1 / 0.3e1 * t513 * t5824 ); + const double t6851 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3838 * t6786 + 0.4e1 / 0.3e1 * t516 * t6416 ); + const double t6853 = ( t6845 + t6851 ) * t162; + const double t6854 = t6853 * t189; + const double t6855 = t512 * t6854; + const double t6856 = 0.2e1 * t5560; + const double t6858 = 0.19751673498613801407e-1 * t6853 * t187; + const double t6859 = -t6778 - t2438 + t3829 - t2431 + t3982 - t6839 + t6855 + t6856 + t6858 + t3984 + t2448 + t2456; + const double t6861 = ( t6838 + t6859 ) * t225; + const double t6865 = t3991 * t6811; + const double t6868 = t1394 * t6794; + const double t6871 = 0.6e1 * t1877 * t1879 - 0.12e2 * t539 * t6865 + 0.3e1 * t539 * t6868 - t541 * t6861; + const double t6872 = t6871 * t543; + const double t6874 = t1390 * t828 * t6872; + const double t6877 = t6831 * t4029; + const double t6879 = t1390 * t828 * t6877; + const double t6883 = -t3951 - 0.25410001404642664112e-4 * t5689 - 0.85748036236139473944e-3 * t1410 * t6823 + 0.17149607247227894789e-2 * t4058 * t6828 - 0.21437009059034868486e-3 * t1388 * t6834 - 0.21437009059034868486e-3 * t1388 * t6874 + t4012 + t4018 + 0.42874018118069736972e-3 * t4027 * t6879 + t4044 + 0.20007875121765877254e-2 * t5691; + const double t6884 = 0.57165357490759649296e-4 * t5595 + 0.14291339372689912324e-4 * t5621 - 0.10164000561857065645e-3 * t5599 - t3933 + 0.7e1 / 0.72e2 * t5629 - t1370 * t6807 / 0.48e2 + 0.80031500487063509015e-2 * t5601 + t4036 * t6813 / 0.16e2 + 0.42874018118069736972e-2 * t1410 * t6817 + t3941 + t6883; + const double t6885 = t6884 * t225; + const double t6891 = t1903 * t1903; + const double t6892 = t4083 * t6891; + const double t6914 = t4089 - t4092 + 0.10975748638225852664e-1 * t5725 - 0.10975748638225852664e-1 * t5748 + t4106 - 0.19514881078765566038e-1 * t5729 + 0.19514881078765566038e-1 * t5752 - t4120 + 0.13170898365871023197e1 * t820 * t4121 * t6877 - 0.13170898365871023197e1 * t820 * t5754 * t1883 - 0.65854491829355115987e0 * t820 * t1437 * t6872 - 0.65854491829355115987e0 * t820 * t1437 * t6832 + 0.65854491829355115987e0 * t213 * t546 * t6884; + const double t6915 = t1427 * t6914; + const double t6918 = t3902 - t3906 - 0.10975748638225852664e-1 * t5588 + 0.10975748638225852664e-1 * t5706 + t3918 + 0.19514881078765566038e-1 * t5591 - 0.19514881078765566038e-1 * t5710 - t3930 + 0.65854491829355115987e0 * t213 * t6885 * t561 - 0.13170898365871023197e1 * t5702 * t1904 + 0.13170898365871023197e1 * t1424 * t6892 - 0.65854491829355115987e0 * t1424 * t6915; + const double t6922 = t1907 * t1907; + const double t6926 = t1450 * t198 * t532 * t6918 - t198 * t3879 * t532 * t6922 + 0.3e1 * t1343 * t198 * t6794 - t2427 - t2431 - t2438 + t2448 + t2456 + t3829 - t6777 - t6778 + t6855 + t6856 + t6858; + const double t6930 = t5772 * t1868; + const double t6933 = 0.6e1 * t198 * t4146 * t6811 + 0.6e1 * t3867 * t6930 + t3857 + t3860 + t3863 - t3873 + t3969 - t3971 - t3973 - t3979 + t3982 + t3984 - t6837 - t6839; + const double t6934 = t6926 + t6933; + const double t6936 = -t118 * t6765 - 0.2e1 * t1502 * t1843 - 0.4e1 * t1519 * t4248 + 0.2e1 * t1847 * t1911 - t508 * t5877 - 0.2e1 * t508 * t5884 + t511 * t6934 + t569 * t6773 - 0.4e1 * t5887 * t651 - 0.2e1 * t5921 * t651; + const double t6937 = t3 * t6936; + const double t6941 = d * t6936; + const double t6945 = t116 * t5883; + const double t6948 = t117 * t5920; + const double t6951 = 0.6e1 * t1916 * t1918 + 0.6e1 * t572 * t6945 + 0.3e1 * t572 * t6948 + t573 * t6941; + const double t6953 = t2037 * t575; + const double t6954 = t2242 * t38; + const double t6957 = t38 * t1925; + const double t6958 = t2247 * t6957; + const double t6959 = t84 * t644; + const double t6960 = t77 * t6959; + const double t6963 = t603 * t607; + const double t6968 = t43 * t48; + const double t6971 = 0.8e1 / 0.3e1 * t624; + const double t6972 = -0.8e1 / 0.3e1 * t613 * t49 + 0.5e1 / 0.6e1 * t6968 * t606 + t6971; + const double t6973 = t6972 * t72; + const double t6974 = t6973 * t1927; + const double t6977 = t76 * t640; + const double t6978 = t1926 * t6977; + const double t6982 = piecewise_functor_3( t8, 0.0, -t6954 * t1928 / 0.6e1 + 0.5e1 / 0.6e1 * t6958 * t6960 + t6963 * t1928 / 0.3e1 - t1923 * t6974 / 0.6e1 - t1923 * t6978 / 0.6e1 ); + const double t6983 = t6982 * t117; + const double t6985 = t1931 * t116; + const double t6990 = 0.2e1 * t2322 * t1937; + const double t6992 = 0.2e1 * t4254 * t1937; + const double t6993 = t1310 * t1936; + const double t6995 = 0.2e1 * t651 * t6993; + const double t6996 = t624 * t112; + const double t6997 = t6996 / 0.3e1; + const double t6998 = t68 * t655; + const double t6999 = t6998 * t665; + const double t7002 = piecewise_functor_3( t115, 0.0, -t6997 - t6999 / 0.8e1 ); + const double t7003 = t508 * t7002; + const double t7005 = 0.2e1 * t651 * t7003; + const double t7007 = t2007 * t670; + const double t7010 = t30 * t775; + const double t7014 = t212 * t1949; + const double t7015 = t7014 * t780; + const double t7017 = 0.54878743191129263322e-2 * t689 * t7015; + const double t7018 = t786 * t1950; + const double t7020 = 0.9757440539382783019e-2 * t7018 * t789; + const double t7021 = t793 * t159; + const double t7023 = t7021 * t218 * t816; + const double t7024 = 0.7e1 / 0.288e3 * t7023; + const double t7025 = t1941 * t228; + const double t7026 = t7025 * t802; + const double t7028 = t64 * t240; + const double t7030 = t234 * t7028 * t243; + const double t7031 = t807 * t7030; + const double t7032 = 0.14291339372689912324e-4 * t7031; + const double t7033 = t786 * t1945; + const double t7034 = t7033 * t817; + const double t7035 = 0.25410001404642664113e-4 * t7034; + const double t7036 = t822 * t64; + const double t7038 = t820 * t7036 * t239; + const double t7039 = t7038 * t839; + const double t7041 = t1946 * t846; + const double t7042 = 0.20007875121765877254e-2 * t7041; + const double t7043 = t233 * t64; + const double t7045 = t820 * t7043 * t239; + const double t7046 = t7045 * t857; + const double t7048 = -t7024 - t7026 / 0.48e2 - t7032 + t7035 - 0.42874018118069736972e-3 * t7039 - t7042 - 0.17149607247227894789e-2 * t7046; + const double t7049 = t7048 * t225; + const double t7053 = t213 * t1949; + const double t7056 = t251 * t1032; + const double t7057 = t7056 * t867; + const double t7058 = t786 * t7057; + const double t7059 = t1958 * t72; + const double t7060 = t7059 * t686; + const double t7062 = 0.72280234901709995518e-2 * t7058 * t7060; + const double t7063 = t1954 * t2533; + const double t7064 = t7063 * t7057; + const double t7066 = 0.12851425765524037203e-1 * t7064 * t7060; + const double t7067 = t1955 * t860; + const double t7070 = t1955 * t7056; + const double t7071 = t2760 * t233; + const double t7072 = t1949 * t886; + const double t7073 = t7071 * t7072; + const double t7076 = t867 * t822; + const double t7078 = t1949 * t836 * t231; + const double t7079 = t7076 * t7078; + const double t7082 = t233 * t7048; + const double t7083 = t1957 * t7082; + const double t7086 = -t7017 + t7020 + 0.65854491829355115987e0 * t213 * t7049 * t257 - 0.65854491829355115987e0 * t7053 * t887 + t7062 - t7066 - 0.4336814094102599731e0 * t7067 * t1959 + 0.8673628188205199462e0 * t7070 * t7073 + 0.4336814094102599731e0 * t7070 * t7079 - 0.4336814094102599731e0 * t1956 * t7083; + const double t7087 = t7086 * t892; + const double t7091 = t1962 * t2495; + const double t7092 = t30 * t890; + const double t7099 = 0.3e1 / 0.2e1 * t2832 * t1963 * t7010 + t1940 * t7087 * t30 / 0.2e1 - t1940 * t7091 * t7092 / 0.2e1 + t1940 * t1963 * t605 / 0.2e1; + const double t7102 = t994 * t1976; + const double t7105 = t613 * t343; + const double t7106 = t7105 * t136; + const double t7110 = t1968 * t1007 / 0.288e3; + const double t7111 = t1967 * t800; + const double t7114 = t1020 * t1972; + const double t7117 = t1024 * t1972; + const double t7120 = t1035 * sigma_aa; + const double t7121 = t7120 * t1039; + const double t7122 = t1033 * t7121; + const double t7125 = t1971 * t1052; + const double t7126 = t351 * t7125; + const double t7130 = 0.28582678745379824648e-3 * t1973 * t1058; + const double t7131 = t1971 * t1061; + const double t7132 = t351 * t7131; + const double t7135 = -t7106 * t348 / 0.36e2 + t7110 + t7111 * t1017 / 0.288e3 + 0.42874018118069736972e-3 * t7114 * t375 - 0.42874018118069736972e-3 * t7117 * t1028 + 0.42874018118069736972e-3 * t7122 * t1047 - 0.22866142996303859718e-2 * t7126 * t375 + t7130 + 0.28582678745379824648e-3 * t7132 * t1068; + const double t7137 = t7135 * t225 * t385; + const double t7140 = t342 * t1976; + const double t7143 = t378 * t1032; + const double t7144 = t994 * t7143; + const double t7145 = t1078 * t359; + const double t7146 = t1976 * t988; + const double t7147 = t7145 * t7146; + const double t7150 = t1981 * t3056; + const double t7151 = t7150 * t7143; + const double t7152 = t1976 * t999; + const double t7153 = t7145 * t7152; + const double t7156 = t1982 * t1071; + const double t7159 = t1982 * t7143; + const double t7160 = t3268 * t359; + const double t7161 = t1976 * t1096; + const double t7162 = t7160 * t7161; + const double t7165 = t378 * t3197; + const double t7166 = t7165 * t1078; + const double t7167 = t1982 * t7166; + const double t7168 = t1035 * t1976; + const double t7170 = t7168 * t1043 * t1089; + const double t7174 = t1984 * t359 * t7135; + const double t7177 = 0.65854491829355115987e0 * t989 * t1978 - 0.65854491829355115987e0 * t7102 * t1000 + 0.65854491829355115987e0 * t342 * t7137 - 0.65854491829355115987e0 * t7140 * t1097 - 0.8673628188205199462e0 * t7144 * t7147 + 0.8673628188205199462e0 * t7151 * t7153 - 0.4336814094102599731e0 * t7156 * t1986 + 0.8673628188205199462e0 * t7159 * t7162 - 0.4336814094102599731e0 * t7167 * t7170 - 0.4336814094102599731e0 * t1983 * t7174; + const double t7181 = t1989 * t3336; + const double t7188 = t207 * t7086; + const double t7193 = -t1940 * t7091 * t890 + 0.3e1 * t1963 * t2832 * t775 + t198 * t7188 * t892; + const double t7194 = piecewise_functor_3( t394, t1102 * t198 * t336 * t7177 - t1100 * t5023 * t7181, t7193 ); + const double t7199 = piecewise_functor_3( t120, t7099, t1996 * t606 / 0.2e1 + t7194 * t45 / 0.2e1 ); + const double t7200 = t33 * t775; + const double t7207 = t33 * t890; + const double t7214 = 0.3e1 / 0.2e1 * t2832 * t1963 * t7200 + t1940 * t7087 * t33 / 0.2e1 - t1940 * t7091 * t7207 / 0.2e1 + t1940 * t1963 * t1113 / 0.2e1; + const double t7215 = piecewise_functor_3( t503, 0.0, t7193 ); + const double t7220 = piecewise_functor_3( t400, t7214, -t2003 * t606 / 0.2e1 + t7215 * t57 / 0.2e1 ); + const double t7221 = t7199 + t7220; + const double t7226 = 0.2e1 * t2322 * t1936; + const double t7228 = 0.2e1 * t5523 * t1936; + const double t7230 = 0.2e1 * t1312 * t7002; + const double t7231 = 0.2e1 * t670 * t6985 + t6983 + t7226 + t7228 + t7230; + const double t7234 = t1315 * t196; + const double t7235 = t7234 * t197; + const double t7236 = t7235 * t2035; + const double t7237 = t531 * t2033; + const double t7238 = t1450 * t1353; + const double t7239 = t7237 * t7238; + const double t7241 = 0.3e1 * t2014 * t7239; + const double t7242 = t212 * t2022; + const double t7243 = t7242 * t1358; + const double t7245 = 0.54878743191129263322e-2 * t689 * t7243; + const double t7246 = t786 * t2023; + const double t7248 = 0.9757440539382783019e-2 * t7246 * t1364; + const double t7250 = t7021 * t533 * t816; + const double t7251 = 0.7e1 / 0.288e3 * t7250; + const double t7252 = t1941 * t540; + const double t7253 = t7252 * t1372; + const double t7256 = t546 * t7028 * t550; + const double t7257 = t807 * t7256; + const double t7258 = 0.14291339372689912324e-4 * t7257; + const double t7259 = t786 * t2018; + const double t7260 = t7259 * t1381; + const double t7261 = 0.25410001404642664113e-4 * t7260; + const double t7262 = t1385 * t64; + const double t7264 = t820 * t7262 * t239; + const double t7265 = t7264 * t1401; + const double t7267 = t2019 * t1405; + const double t7268 = 0.20007875121765877254e-2 * t7267; + const double t7269 = t545 * t64; + const double t7271 = t820 * t7269 * t239; + const double t7272 = t7271 * t1416; + const double t7274 = -t7251 - t7253 / 0.48e2 - t7258 + t7261 - 0.42874018118069736972e-3 * t7265 - t7268 - 0.17149607247227894789e-2 * t7272; + const double t7275 = t7274 * t225; + const double t7279 = t213 * t2022; + const double t7282 = t555 * t1032; + const double t7283 = t7282 * t1426; + const double t7284 = t786 * t7283; + const double t7285 = t2029 * t72; + const double t7286 = t7285 * t686; + const double t7288 = 0.72280234901709995518e-2 * t7284 * t7286; + const double t7289 = t7063 * t7283; + const double t7291 = 0.12851425765524037203e-1 * t7289 * t7286; + const double t7292 = t1955 * t1419; + const double t7295 = t1955 * t7282; + const double t7296 = t4082 * t545; + const double t7297 = t2022 * t1444; + const double t7298 = t7296 * t7297; + const double t7301 = t1426 * t1385; + const double t7303 = t2022 * t1398 * t543; + const double t7304 = t7301 * t7303; + const double t7307 = t545 * t7274; + const double t7308 = t2028 * t7307; + const double t7311 = -t7245 + t7248 + 0.65854491829355115987e0 * t213 * t7275 * t561 - 0.65854491829355115987e0 * t7279 * t1445 + t7288 - t7291 - 0.4336814094102599731e0 * t7292 * t2030 + 0.8673628188205199462e0 * t7295 * t7298 + 0.4336814094102599731e0 * t7295 * t7304 - 0.4336814094102599731e0 * t2027 * t7308; + const double t7312 = t532 * t7311; + const double t7313 = t7312 * t1450; + const double t7314 = t2014 * t7313; + const double t7315 = t3879 * t1448; + const double t7316 = t2034 * t7315; + const double t7317 = t2014 * t7316; + const double t7318 = -t118 * t7221 - t1310 * t1932 + t1453 * t2011 - t2007 * t649 - t508 * t6983 + t569 * t7231 - 0.2e1 * t651 * t7007 - 0.2e1 * t671 * t6985 - t6990 - t6992 - t6995 - t7005 + t7236 + t7241 + t7314 - t7317; + const double t7319 = t3 * t7318; + const double t7322 = t571 * t2045; + const double t7324 = d * t7318; + const double t7329 = 0.3e1 * t1459 * t2042; + const double t7330 = t116 * t1936; + const double t7331 = t7330 * t670; + const double t7333 = 0.6e1 * t572 * t7331; + const double t7334 = t117 * t7002; + const double t7336 = 0.3e1 * t572 * t7334; + const double t7337 = 0.3e1 * t1461 * t2040 + t573 * t7324 + t7329 + t7333 + t7336; + const double t7339 = t2110 * t575; + const double t7342 = t38 * t68; + const double t7343 = t2247 * t7342; + const double t7348 = t624 * t72; + const double t7349 = t7348 * t1927; + const double t7351 = 0.8e1 / 0.9e1 * t1923 * t7349; + const double t7352 = t2047 * t6977; + const double t7356 = piecewise_functor_3( t8, 0.0, t6954 * t2048 / 0.3e1 - 0.5e1 / 0.3e1 * t7343 * t6960 - 0.2e1 / 0.3e1 * t6963 * t2048 - t7351 + t1923 * t7352 / 0.3e1 ); + const double t7357 = t7356 * t117; + const double t7359 = t2051 * t116; + const double t7367 = t1310 * t2055; + const double t7370 = 0.2e1 / 0.3e1 * t6996; + const double t7373 = piecewise_functor_3( t115, 0.0, -t7370 - t6999 / 0.4e1 ); + const double t7374 = t508 * t7373; + const double t7378 = t2089 * t670; + const double t7384 = t212 * t2061; + const double t7385 = t7384 * t780; + const double t7387 = 0.54878743191129263322e-2 * t689 * t7385; + const double t7388 = t786 * t2062; + const double t7390 = 0.9757440539382783019e-2 * t7388 * t789; + const double t7391 = 0.7e1 / 0.144e3 * t7023; + const double t7393 = 0.28582678745379824648e-4 * t7031; + const double t7394 = 0.50820002809285328225e-4 * t7034; + const double t7396 = 0.40015750243531754507e-2 * t7041; + const double t7398 = -t7391 - t7026 / 0.24e2 - t7393 + t7394 - 0.85748036236139473944e-3 * t7039 - t7396 - 0.34299214494455789578e-2 * t7046; + const double t7399 = t7398 * t225; + const double t7403 = t213 * t2061; + const double t7406 = t2066 * t72; + const double t7407 = t7406 * t686; + const double t7409 = 0.72280234901709995518e-2 * t7058 * t7407; + const double t7411 = 0.12851425765524037203e-1 * t7064 * t7407; + const double t7414 = t2061 * t886; + const double t7415 = t7071 * t7414; + const double t7419 = t2061 * t836 * t231; + const double t7420 = t7076 * t7419; + const double t7423 = t233 * t7398; + const double t7424 = t1957 * t7423; + const double t7427 = -t7387 + t7390 + 0.65854491829355115987e0 * t213 * t7399 * t257 - 0.65854491829355115987e0 * t7403 * t887 + t7409 - t7411 - 0.4336814094102599731e0 * t7067 * t2067 + 0.8673628188205199462e0 * t7070 * t7415 + 0.4336814094102599731e0 * t7070 * t7420 - 0.4336814094102599731e0 * t1956 * t7424; + const double t7428 = t7427 * t892; + const double t7432 = t2070 * t2495; + const double t7443 = t207 * t7427; + const double t7448 = -t1940 * t7432 * t890 + t198 * t7443 * t892 + 0.3e1 * t2071 * t2832 * t775; + const double t7449 = piecewise_functor_3( t394, 0.0, t7448 ); + const double t7454 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2832 * t2071 * t7010 + t1940 * t7428 * t30 / 0.2e1 - t1940 * t7432 * t7092 / 0.2e1 + t1940 * t2071 * t605 / 0.2e1, t2078 * t606 / 0.2e1 + t7449 * t45 / 0.2e1 ); + const double t7468 = piecewise_functor_3( t503, 0.0, t7448 ); + const double t7473 = piecewise_functor_3( t400, 0.3e1 / 0.2e1 * t2832 * t2071 * t7200 + t1940 * t7428 * t33 / 0.2e1 - t1940 * t7432 * t7207 / 0.2e1 + t1940 * t2071 * t1113 / 0.2e1, -t2085 * t606 / 0.2e1 + t7468 * t57 / 0.2e1 ); + const double t7474 = t7454 + t7473; + const double t7484 = 0.2e1 * t1312 * t7373 + 0.2e1 * t2055 * t2322 + 0.2e1 * t2055 * t5523 + 0.2e1 * t670 * t7359 + t7357; + const double t7488 = t531 * t2106; + const double t7489 = t7488 * t7238; + const double t7492 = t212 * t2097; + const double t7493 = t7492 * t1358; + const double t7495 = 0.54878743191129263322e-2 * t689 * t7493; + const double t7496 = t786 * t2098; + const double t7498 = 0.9757440539382783019e-2 * t7496 * t1364; + const double t7499 = 0.7e1 / 0.144e3 * t7250; + const double t7501 = 0.28582678745379824648e-4 * t7257; + const double t7502 = 0.50820002809285328225e-4 * t7260; + const double t7504 = 0.40015750243531754507e-2 * t7267; + const double t7506 = -t7499 - t7253 / 0.24e2 - t7501 + t7502 - 0.85748036236139473944e-3 * t7265 - t7504 - 0.34299214494455789578e-2 * t7272; + const double t7507 = t7506 * t225; + const double t7511 = t213 * t2097; + const double t7514 = t2102 * t72; + const double t7515 = t7514 * t686; + const double t7517 = 0.72280234901709995518e-2 * t7284 * t7515; + const double t7519 = 0.12851425765524037203e-1 * t7289 * t7515; + const double t7522 = t2097 * t1444; + const double t7523 = t7296 * t7522; + const double t7527 = t2097 * t1398 * t543; + const double t7528 = t7301 * t7527; + const double t7531 = t545 * t7506; + const double t7532 = t2028 * t7531; + const double t7535 = -t7495 + t7498 + 0.65854491829355115987e0 * t213 * t7507 * t561 - 0.65854491829355115987e0 * t7511 * t1445 + t7517 - t7519 - 0.4336814094102599731e0 * t7292 * t2103 + 0.8673628188205199462e0 * t7295 * t7523 + 0.4336814094102599731e0 * t7295 * t7528 - 0.4336814094102599731e0 * t2027 * t7532; + const double t7536 = t532 * t7535; + const double t7537 = t7536 * t1450; + const double t7539 = t2107 * t7315; + const double t7541 = -t118 * t7474 - t1310 * t2052 + t1453 * t2093 + 0.3e1 * t2014 * t7489 + t2014 * t7537 - t2014 * t7539 - 0.2e1 * t2056 * t2322 - 0.2e1 * t2056 * t4254 - t2089 * t649 + t2108 * t7235 - t508 * t7357 + t569 * t7484 - 0.2e1 * t651 * t7367 - 0.2e1 * t651 * t7374 - 0.2e1 * t651 * t7378 - 0.2e1 * t671 * t7359; + const double t7542 = t3 * t7541; + const double t7545 = t571 * t2118; + const double t7547 = d * t7541; + const double t7553 = t116 * t2055; + const double t7554 = t7553 * t670; + const double t7557 = t117 * t7373; + const double t7560 = 0.3e1 * t1459 * t2115 + 0.3e1 * t1461 * t2113 + 0.6e1 * t572 * t7554 + 0.3e1 * t572 * t7557 + t573 * t7547; + const double t7562 = t2167 * t575; + const double t7565 = t38 * t2121; + const double t7566 = t2247 * t7565; + const double t7571 = t55 * t60; + const double t7574 = -0.5e1 / 0.6e1 * t7571 * t606 + t6971; + const double t7575 = t7574 * t72; + const double t7576 = t7575 * t1927; + const double t7579 = t2122 * t6977; + const double t7583 = piecewise_functor_3( t8, 0.0, -t6954 * t2123 / 0.6e1 + 0.5e1 / 0.6e1 * t7566 * t6960 + t6963 * t2123 / 0.3e1 - t1923 * t7576 / 0.6e1 - t1923 * t7579 / 0.6e1 ); + const double t7584 = t7583 * t117; + const double t7586 = t2126 * t116; + const double t7591 = t2163 * t670; + const double t7594 = piecewise_functor_3( t394, 0.0, t7193 ); + const double t7599 = piecewise_functor_3( t120, t7099, t2129 * t606 / 0.2e1 + t7594 * t45 / 0.2e1 ); + const double t7602 = t1209 * t2142; + const double t7606 = t2134 * t1219 / 0.288e3; + const double t7607 = t2133 * t800; + const double t7610 = t1230 * t2138; + const double t7613 = t1234 * t2138; + const double t7616 = t1243 * sigma_bb; + const double t7617 = t7616 * t1245; + const double t7618 = t1241 * t7617; + const double t7622 = 0.28582678745379824648e-3 * t2139 * t1256; + const double t7623 = t2137 * t1259; + const double t7624 = t467 * t7623; + const double t7627 = t7606 - t7607 * t1227 / 0.288e3 + 0.42874018118069736972e-3 * t7610 * t484 - 0.42874018118069736972e-3 * t7613 * t1238 + 0.42874018118069736972e-3 * t7618 * t1252 + t7622 - 0.28582678745379824648e-3 * t7624 * t1266; + const double t7629 = t7627 * t225 * t494; + const double t7632 = t460 * t2142; + const double t7635 = t487 * t1032; + const double t7636 = t1209 * t7635; + const double t7637 = t1276 * t473; + const double t7638 = t2142 * t1203; + const double t7639 = t7637 * t7638; + const double t7642 = t2147 * t3565; + const double t7643 = t7642 * t7635; + const double t7644 = t2142 * t1214; + const double t7645 = t7637 * t7644; + const double t7648 = t2148 * t1269; + const double t7651 = t2148 * t7635; + const double t7652 = t3736 * t473; + const double t7653 = t2142 * t1294; + const double t7654 = t7652 * t7653; + const double t7657 = t487 * t3197; + const double t7658 = t7657 * t1276; + const double t7659 = t2148 * t7658; + const double t7660 = t1243 * t2142; + const double t7662 = t7660 * t1248 * t1287; + const double t7666 = t2150 * t473 * t7627; + const double t7669 = 0.65854491829355115987e0 * t1204 * t2144 - 0.65854491829355115987e0 * t7602 * t1215 + 0.65854491829355115987e0 * t460 * t7629 - 0.65854491829355115987e0 * t7632 * t1295 - 0.8673628188205199462e0 * t7636 * t7639 + 0.8673628188205199462e0 * t7643 * t7645 - 0.4336814094102599731e0 * t7648 * t2152 + 0.8673628188205199462e0 * t7651 * t7654 - 0.4336814094102599731e0 * t7659 * t7662 - 0.4336814094102599731e0 * t2149 * t7666; + const double t7673 = t2155 * t3801; + const double t7677 = piecewise_functor_3( t503, t1300 * t198 * t336 * t7669 - t1298 * t5023 * t7673, t7193 ); + const double t7682 = piecewise_functor_3( t400, t7214, -t2159 * t606 / 0.2e1 + t7677 * t57 / 0.2e1 ); + const double t7683 = t7599 + t7682; + const double t7687 = 0.2e1 * t670 * t7586 + t7226 + t7228 + t7230 + t7584; + const double t7690 = -t118 * t7683 - t1310 * t2127 + t1453 * t2165 - t2163 * t649 - t508 * t7584 + t569 * t7687 - 0.2e1 * t651 * t7591 - 0.2e1 * t671 * t7586 - t6990 - t6992 - t6995 - t7005 + t7236 + t7241 + t7314 - t7317; + const double t7691 = t3 * t7690; + const double t7694 = t571 * t2172; + const double t7696 = d * t7690; + const double t7700 = 0.3e1 * t1461 * t2170 + t573 * t7696 + t7329 + t7333 + t7336; + const double t7702 = t4173 * t38; + const double t7705 = t84 * t1497; + const double t7706 = t77 * t7705; + const double t7709 = t603 * t1470; + const double t7714 = 0.5e1 / 0.6e1 * t6968 * t1469 + t6971; + const double t7715 = t7714 * t72; + const double t7716 = t7715 * t1927; + const double t7719 = t76 * t1493; + const double t7720 = t1926 * t7719; + const double t7724 = piecewise_functor_3( t8, 0.0, -t7702 * t1928 / 0.6e1 + 0.5e1 / 0.6e1 * t6958 * t7706 + t7709 * t1928 / 0.3e1 - t1923 * t7716 / 0.6e1 - t1923 * t7720 / 0.6e1 ); + const double t7725 = t7724 * t117; + const double t7731 = 0.2e1 * t4248 * t1937; + const double t7732 = t94 * t1518; + const double t7734 = 0.2e1 * t7732 * t1937; + const double t7735 = t1843 * t1936; + const double t7737 = 0.2e1 * t651 * t7735; + const double t7738 = t6998 * t1513; + const double t7741 = piecewise_functor_3( t115, 0.0, -t6997 - t7738 / 0.8e1 ); + const double t7742 = t508 * t7741; + const double t7744 = 0.2e1 * t651 * t7742; + const double t7746 = t2007 * t1518; + const double t7749 = t30 * t1544; + const double t7750 = t1963 * t7749; + const double t7753 = t7025 * t1549; + const double t7755 = t7038 * t1561; + const double t7757 = t7045 * t1565; + const double t7759 = -t7024 - t7753 / 0.48e2 - t7032 + t7035 - 0.42874018118069736972e-3 * t7755 - t7042 - 0.17149607247227894789e-2 * t7757; + const double t7760 = t7759 * t225; + const double t7766 = t1955 * t1568; + const double t7769 = t1949 * t1579; + const double t7770 = t7071 * t7769; + const double t7774 = t1949 * t1558 * t231; + const double t7775 = t7076 * t7774; + const double t7778 = t233 * t7759; + const double t7779 = t1957 * t7778; + const double t7782 = -t7017 + t7020 + 0.65854491829355115987e0 * t213 * t7760 * t257 - 0.65854491829355115987e0 * t7053 * t1580 + t7062 - t7066 - 0.4336814094102599731e0 * t7766 * t1959 + 0.8673628188205199462e0 * t7070 * t7770 + 0.4336814094102599731e0 * t7070 * t7775 - 0.4336814094102599731e0 * t1956 * t7779; + const double t7783 = t7782 * t892; + const double t7787 = t30 * t1583; + const double t7794 = 0.3e1 / 0.2e1 * t2832 * t7750 + t1940 * t7783 * t30 / 0.2e1 - t1940 * t7091 * t7787 / 0.2e1 + t1940 * t1963 * t1468 / 0.2e1; + const double t7801 = t1659 * t1972; + const double t7810 = t7110 + t7111 * t1656 / 0.288e3 + 0.42874018118069736972e-3 * t7801 * t375 - 0.42874018118069736972e-3 * t7117 * t1665 + 0.42874018118069736972e-3 * t7122 * t1671 + t7130 + 0.28582678745379824648e-3 * t7132 * t1675; + const double t7812 = t7810 * t225 * t385; + const double t7817 = t1976 * t1646; + const double t7818 = t7145 * t7817; + const double t7821 = t1976 * t1651; + const double t7822 = t7145 * t7821; + const double t7825 = t1982 * t1678; + const double t7828 = t1976 * t1695; + const double t7829 = t7160 * t7828; + const double t7833 = t7168 * t1668 * t1089; + const double t7837 = t1984 * t359 * t7810; + const double t7840 = 0.65854491829355115987e0 * t1647 * t1978 - 0.65854491829355115987e0 * t7102 * t1652 + 0.65854491829355115987e0 * t342 * t7812 - 0.65854491829355115987e0 * t7140 * t1696 - 0.8673628188205199462e0 * t7144 * t7818 + 0.8673628188205199462e0 * t7151 * t7822 - 0.4336814094102599731e0 * t7825 * t1986 + 0.8673628188205199462e0 * t7159 * t7829 - 0.4336814094102599731e0 * t7167 * t7833 - 0.4336814094102599731e0 * t1983 * t7837; + const double t7847 = t1963 * t1544; + const double t7850 = t207 * t7782; + const double t7855 = -t1583 * t1940 * t7091 + t198 * t7850 * t892 + 0.3e1 * t2832 * t7847; + const double t7856 = piecewise_functor_3( t394, t1102 * t198 * t336 * t7840 - t1699 * t5023 * t7181, t7855 ); + const double t7861 = piecewise_functor_3( t120, t7794, t1996 * t1469 / 0.2e1 + t7856 * t45 / 0.2e1 ); + const double t7862 = t33 * t1544; + const double t7863 = t1963 * t7862; + const double t7869 = t33 * t1583; + const double t7876 = 0.3e1 / 0.2e1 * t2832 * t7863 + t1940 * t7783 * t33 / 0.2e1 - t1940 * t7091 * t7869 / 0.2e1 + t1940 * t1963 * t1711 / 0.2e1; + const double t7877 = piecewise_functor_3( t503, 0.0, t7855 ); + const double t7882 = piecewise_functor_3( t400, t7876, -t2003 * t1469 / 0.2e1 + t7877 * t57 / 0.2e1 ); + const double t7883 = t7861 + t7882; + const double t7888 = 0.2e1 * t4248 * t1936; + const double t7889 = t93 * t1518; + const double t7891 = 0.2e1 * t7889 * t1936; + const double t7893 = 0.2e1 * t1312 * t7741; + const double t7894 = 0.2e1 * t1518 * t6985 + t7725 + t7888 + t7891 + t7893; + const double t7897 = t1847 * t196; + const double t7898 = t7897 * t197; + const double t7899 = t7898 * t2035; + const double t7900 = t1450 * t1868; + const double t7901 = t7237 * t7900; + const double t7903 = 0.3e1 * t2014 * t7901; + const double t7904 = t7252 * t1873; + const double t7906 = t7264 * t1885; + const double t7908 = t7271 * t1889; + const double t7910 = -t7251 - t7904 / 0.48e2 - t7258 + t7261 - 0.42874018118069736972e-3 * t7906 - t7268 - 0.17149607247227894789e-2 * t7908; + const double t7911 = t7910 * t225; + const double t7917 = t1955 * t1892; + const double t7920 = t2022 * t1903; + const double t7921 = t7296 * t7920; + const double t7925 = t2022 * t1882 * t543; + const double t7926 = t7301 * t7925; + const double t7929 = t545 * t7910; + const double t7930 = t2028 * t7929; + const double t7933 = -t7245 + t7248 + 0.65854491829355115987e0 * t213 * t7911 * t561 - 0.65854491829355115987e0 * t7279 * t1904 + t7288 - t7291 - 0.4336814094102599731e0 * t7917 * t2030 + 0.8673628188205199462e0 * t7295 * t7921 + 0.4336814094102599731e0 * t7295 * t7926 - 0.4336814094102599731e0 * t2027 * t7930; + const double t7934 = t532 * t7933; + const double t7935 = t7934 * t1450; + const double t7936 = t2014 * t7935; + const double t7937 = t2034 * t5778; + const double t7938 = t2014 * t7937; + const double t7939 = -t118 * t7883 - t1502 * t2007 - 0.2e1 * t1519 * t6985 - t1843 * t1932 + t1911 * t2011 - t508 * t7725 + t569 * t7894 - 0.2e1 * t651 * t7746 - t7731 - t7734 - t7737 - t7744 + t7899 + t7903 + t7936 - t7938; + const double t7940 = t3 * t7939; + const double t7944 = d * t7939; + const double t7949 = 0.3e1 * t1916 * t2042; + const double t7950 = t7330 * t1518; + const double t7952 = 0.6e1 * t572 * t7950; + const double t7953 = t117 * t7741; + const double t7955 = 0.3e1 * t572 * t7953; + const double t7956 = 0.3e1 * t1918 * t2040 + t573 * t7944 + t7949 + t7952 + t7955; + const double t7964 = t2047 * t7719; + const double t7968 = piecewise_functor_3( t8, 0.0, t7702 * t2048 / 0.3e1 - 0.5e1 / 0.3e1 * t7343 * t7706 - 0.2e1 / 0.3e1 * t7709 * t2048 - t7351 + t1923 * t7964 / 0.3e1 ); + const double t7969 = t7968 * t117; + const double t7978 = t1843 * t2055; + const double t7983 = piecewise_functor_3( t115, 0.0, -t7370 - t7738 / 0.4e1 ); + const double t7984 = t508 * t7983; + const double t7988 = t2089 * t1518; + const double t7991 = t2071 * t7749; + const double t7997 = -t7391 - t7753 / 0.24e2 - t7393 + t7394 - 0.85748036236139473944e-3 * t7755 - t7396 - 0.34299214494455789578e-2 * t7757; + const double t7998 = t7997 * t225; + const double t8006 = t2061 * t1579; + const double t8007 = t7071 * t8006; + const double t8011 = t2061 * t1558 * t231; + const double t8012 = t7076 * t8011; + const double t8015 = t233 * t7997; + const double t8016 = t1957 * t8015; + const double t8019 = -t7387 + t7390 + 0.65854491829355115987e0 * t213 * t7998 * t257 - 0.65854491829355115987e0 * t7403 * t1580 + t7409 - t7411 - 0.4336814094102599731e0 * t7766 * t2067 + 0.8673628188205199462e0 * t7070 * t8007 + 0.4336814094102599731e0 * t7070 * t8012 - 0.4336814094102599731e0 * t1956 * t8016; + const double t8020 = t8019 * t892; + const double t8031 = t2071 * t1544; + const double t8034 = t207 * t8019; + const double t8039 = -t1583 * t1940 * t7432 + t198 * t8034 * t892 + 0.3e1 * t2832 * t8031; + const double t8040 = piecewise_functor_3( t394, 0.0, t8039 ); + const double t8045 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2832 * t7991 + t1940 * t8020 * t30 / 0.2e1 - t1940 * t7432 * t7787 / 0.2e1 + t1940 * t2071 * t1468 / 0.2e1, t2078 * t1469 / 0.2e1 + t8040 * t45 / 0.2e1 ); + const double t8046 = t2071 * t7862; + const double t8059 = piecewise_functor_3( t503, 0.0, t8039 ); + const double t8064 = piecewise_functor_3( t400, 0.3e1 / 0.2e1 * t2832 * t8046 + t1940 * t8020 * t33 / 0.2e1 - t1940 * t7432 * t7869 / 0.2e1 + t1940 * t2071 * t1711 / 0.2e1, -t2085 * t1469 / 0.2e1 + t8059 * t57 / 0.2e1 ); + const double t8065 = t8045 + t8064; + const double t8075 = 0.2e1 * t1312 * t7983 + 0.2e1 * t1518 * t7359 + 0.2e1 * t2055 * t4248 + 0.2e1 * t2055 * t7889 + t7969; + const double t8079 = t7488 * t7900; + const double t8085 = -t7499 - t7904 / 0.24e2 - t7501 + t7502 - 0.85748036236139473944e-3 * t7906 - t7504 - 0.34299214494455789578e-2 * t7908; + const double t8086 = t8085 * t225; + const double t8094 = t2097 * t1903; + const double t8095 = t7296 * t8094; + const double t8099 = t2097 * t1882 * t543; + const double t8100 = t7301 * t8099; + const double t8103 = t545 * t8085; + const double t8104 = t2028 * t8103; + const double t8107 = -t7495 + t7498 + 0.65854491829355115987e0 * t213 * t8086 * t561 - 0.65854491829355115987e0 * t7511 * t1904 + t7517 - t7519 - 0.4336814094102599731e0 * t7917 * t2103 + 0.8673628188205199462e0 * t7295 * t8095 + 0.4336814094102599731e0 * t7295 * t8100 - 0.4336814094102599731e0 * t2027 * t8104; + const double t8108 = t532 * t8107; + const double t8109 = t8108 * t1450; + const double t8111 = t2107 * t5778; + const double t8113 = -t118 * t8065 - t1502 * t2089 - 0.2e1 * t1519 * t7359 - t1843 * t2052 + t1911 * t2093 + 0.3e1 * t2014 * t8079 + t2014 * t8109 - t2014 * t8111 - 0.2e1 * t2056 * t4248 - 0.2e1 * t2056 * t7732 + t2108 * t7898 - t508 * t7969 + t569 * t8075 - 0.2e1 * t651 * t7978 - 0.2e1 * t651 * t7984 - 0.2e1 * t651 * t7988; + const double t8114 = t3 * t8113; + const double t8118 = d * t8113; + const double t8124 = t7553 * t1518; + const double t8127 = t117 * t7983; + const double t8130 = 0.3e1 * t1916 * t2115 + 0.3e1 * t1918 * t2113 + 0.6e1 * t572 * t8124 + 0.3e1 * t572 * t8127 + t573 * t8118; + const double t8142 = -0.8e1 / 0.3e1 * t1479 * t61 - 0.5e1 / 0.6e1 * t7571 * t1469 + t6971; + const double t8143 = t8142 * t72; + const double t8144 = t8143 * t1927; + const double t8147 = t2122 * t7719; + const double t8151 = piecewise_functor_3( t8, 0.0, -t7702 * t2123 / 0.6e1 + 0.5e1 / 0.6e1 * t7566 * t7706 + t7709 * t2123 / 0.3e1 - t1923 * t8144 / 0.6e1 - t1923 * t8147 / 0.6e1 ); + const double t8152 = t8151 * t117; + const double t8158 = t2163 * t1518; + const double t8161 = piecewise_functor_3( t394, 0.0, t7855 ); + const double t8166 = piecewise_functor_3( t120, t7794, t2129 * t1469 / 0.2e1 + t8161 * t45 / 0.2e1 ); + const double t8171 = t1479 * t343; + const double t8172 = t8171 * t136; + const double t8177 = t1785 * t2138; + const double t8184 = t2137 * t1802; + const double t8185 = t467 * t8184; + const double t8190 = -t8172 * t464 / 0.36e2 + t7606 - t7607 * t1782 / 0.288e3 + 0.42874018118069736972e-3 * t8177 * t484 - 0.42874018118069736972e-3 * t7613 * t1791 + 0.42874018118069736972e-3 * t7618 * t1797 - 0.22866142996303859718e-2 * t8185 * t484 + t7622 - 0.28582678745379824648e-3 * t7624 * t1808; + const double t8192 = t8190 * t225 * t494; + const double t8197 = t2142 * t1769; + const double t8198 = t7637 * t8197; + const double t8201 = t2142 * t1774; + const double t8202 = t7637 * t8201; + const double t8205 = t2148 * t1811; + const double t8208 = t2142 * t1828; + const double t8209 = t7652 * t8208; + const double t8213 = t7660 * t1794 * t1287; + const double t8217 = t2150 * t473 * t8190; + const double t8220 = 0.65854491829355115987e0 * t1770 * t2144 - 0.65854491829355115987e0 * t7602 * t1775 + 0.65854491829355115987e0 * t460 * t8192 - 0.65854491829355115987e0 * t7632 * t1829 - 0.8673628188205199462e0 * t7636 * t8198 + 0.8673628188205199462e0 * t7643 * t8202 - 0.4336814094102599731e0 * t8205 * t2152 + 0.8673628188205199462e0 * t7651 * t8209 - 0.4336814094102599731e0 * t7659 * t8213 - 0.4336814094102599731e0 * t2149 * t8217; + const double t8227 = piecewise_functor_3( t503, t1300 * t198 * t336 * t8220 - t1832 * t5023 * t7673, t7855 ); + const double t8232 = piecewise_functor_3( t400, t7876, -t2159 * t1469 / 0.2e1 + t8227 * t57 / 0.2e1 ); + const double t8233 = t8166 + t8232; + const double t8237 = 0.2e1 * t1518 * t7586 + t7888 + t7891 + t7893 + t8152; + const double t8240 = -t118 * t8233 - t1502 * t2163 - 0.2e1 * t1519 * t7586 - t1843 * t2127 + t1911 * t2165 - t508 * t8152 + t569 * t8237 - 0.2e1 * t651 * t8158 - t7731 - t7734 - t7737 - t7744 + t7899 + t7903 + t7936 - t7938; + const double t8241 = t3 * t8240; + const double t8245 = d * t8240; + const double t8249 = 0.3e1 * t1918 * t2170 + t573 * t8245 + t7949 + t7952 + t7955; + const double t8251 = t2184 * t575; + const double t8254 = t1310 * t2178; + const double t8257 = t625 * t2175 / 0.3e1; + const double t8258 = t69 * t2339; + const double t8259 = t96 * t101; + const double t8260 = t8259 * t665; + const double t8264 = t655 * t43 * t101; + const double t8267 = t69 * t655; + const double t8268 = t96 * t100; + const double t8269 = t8268 * t658; + const double t8273 = piecewise_functor_3( t115, 0.0, t8257 + t8258 * t8260 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t8264 - 0.5e1 / 0.24e2 * t8267 * t8269 ); + const double t8274 = t508 * t8273; + const double t8278 = t8273 * t569; + const double t8280 = t2178 * t1453; + const double t8283 = 0.2e1 * t1312 * t8278 + 0.2e1 * t1312 * t8280 - 0.2e1 * t2179 * t2322 - 0.2e1 * t2179 * t4254 + 0.2e1 * t2181 * t2322 + 0.2e1 * t2181 * t5523 - 0.2e1 * t651 * t8254 - 0.2e1 * t651 * t8274; + const double t8284 = t3 * t8283; + const double t8287 = t571 * t2192; + const double t8289 = d * t8283; + const double t8295 = t116 * t2178; + const double t8296 = t8295 * t670; + const double t8299 = t117 * t8273; + const double t8302 = 0.3e1 * t1459 * t2189 + 0.3e1 * t1461 * t2187 + 0.6e1 * t572 * t8296 + 0.3e1 * t572 * t8299 + t573 * t8289; + const double t8304 = t2204 * t575; + const double t8307 = t1310 * t2198; + const double t8310 = t625 * t2195 / 0.3e1; + const double t8311 = t104 * t109; + const double t8312 = t8311 * t665; + const double t8315 = t104 * t108; + const double t8316 = t8315 * t661; + const double t8320 = piecewise_functor_3( t115, 0.0, t8310 + t8258 * t8312 / 0.4e1 - 0.5e1 / 0.24e2 * t8267 * t8316 ); + const double t8321 = t508 * t8320; + const double t8325 = t8320 * t569; + const double t8327 = t2198 * t1453; + const double t8330 = 0.2e1 * t1312 * t8325 + 0.2e1 * t1312 * t8327 - 0.2e1 * t2199 * t2322 - 0.2e1 * t2199 * t4254 + 0.2e1 * t2201 * t2322 + 0.2e1 * t2201 * t5523 - 0.2e1 * t651 * t8307 - 0.2e1 * t651 * t8321; + const double t8331 = t3 * t8330; + const double t8334 = t571 * t2212; + const double t8336 = d * t8330; + const double t8342 = t116 * t2198; + const double t8343 = t8342 * t670; + const double t8346 = t117 * t8320; + const double t8349 = 0.3e1 * t1459 * t2209 + 0.3e1 * t1461 * t2207 + 0.6e1 * t572 * t8343 + 0.3e1 * t572 * t8346 + t573 * t8336; + const double t8353 = t1843 * t2178; + const double t8355 = t8259 * t1513; + const double t8358 = t8268 * t1504; + const double t8362 = piecewise_functor_3( t115, 0.0, t8257 + t8258 * t8355 / 0.4e1 - 0.5e1 / 0.24e2 * t8267 * t8358 ); + const double t8363 = t508 * t8362; + const double t8367 = t8362 * t569; + const double t8369 = t2178 * t1911; + const double t8372 = 0.2e1 * t1312 * t8367 + 0.2e1 * t1312 * t8369 - 0.2e1 * t2179 * t4248 - 0.2e1 * t2179 * t7732 + 0.2e1 * t2181 * t4248 + 0.2e1 * t2181 * t7889 - 0.2e1 * t651 * t8353 - 0.2e1 * t651 * t8363; + const double t8373 = t3 * t8372; + const double t8377 = d * t8372; + const double t8383 = t8295 * t1518; + const double t8386 = t117 * t8362; + const double t8389 = 0.3e1 * t1916 * t2189 + 0.3e1 * t1918 * t2187 + 0.6e1 * t572 * t8383 + 0.3e1 * t572 * t8386 + t573 * t8377; + const double t8393 = t1843 * t2198; + const double t8395 = t8311 * t1513; + const double t8399 = t655 * t55 * t109; + const double t8402 = t8315 * t1509; + const double t8406 = piecewise_functor_3( t115, 0.0, t8310 + t8258 * t8395 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t8399 - 0.5e1 / 0.24e2 * t8267 * t8402 ); + const double t8407 = t508 * t8406; + const double t8411 = t8406 * t569; + const double t8413 = t2198 * t1911; + const double t8416 = 0.2e1 * t1312 * t8411 + 0.2e1 * t1312 * t8413 - 0.2e1 * t2199 * t4248 - 0.2e1 * t2199 * t7732 + 0.2e1 * t2201 * t4248 + 0.2e1 * t2201 * t7889 - 0.2e1 * t651 * t8393 - 0.2e1 * t651 * t8407; + const double t8417 = t3 * t8416; + const double t8421 = d * t8416; + const double t8427 = t8342 * t1518; + const double t8430 = t117 * t8406; + const double t8433 = 0.3e1 * t1916 * t2209 + 0.3e1 * t1918 * t2207 + 0.6e1 * t572 * t8427 + 0.3e1 * t572 * t8430 + t573 * t8421; + const double t8435 = t38 * t38; + const double t8436 = t2247 * t8435; + const double t8437 = t1925 * t1925; + const double t8438 = t8437 * t136; + const double t8441 = t84 * t84; + const double t8442 = t8440 * t8441; + const double t8443 = t8438 * t8442; + const double t8446 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t8436 * t8443 ); + const double t8447 = t8446 * t117; + const double t8449 = t6985 * t1937; + const double t8453 = t1936 * t1936; + const double t8454 = t94 * t8453; + const double t8456 = 0.2e1 * t8454 * t508; + const double t8457 = t2007 * t1936; + const double t8458 = t651 * t8457; + const double t8460 = piecewise_functor_3( t115, 0.0, 0.0 ); + const double t8461 = t508 * t8460; + const double t8462 = t651 * t8461; + const double t8463 = 0.2e1 * t8462; + const double t8464 = t1032 * t233; + const double t8468 = t827 * t828 * t257; + const double t8469 = t1955 * t8464 * t239 * t8468; + const double t8471 = t1949 * t1949; + const double t8472 = t1955 * t8471; + const double t8473 = t1957 * t233; + const double t8476 = t1954 * t209; + const double t8477 = t8476 * t2533; + const double t8478 = t8477 * t251; + const double t8479 = t3197 * t2760; + const double t8480 = t822 * t8471; + const double t8481 = t8479 * t8480; + const double t8484 = t3197 * t867; + const double t8485 = t8484 * t822; + const double t8486 = t8478 * t8485; + const double t8487 = t8486 * t248; + const double t8489 = 0.28234466758480466999e-3 * t8469 - 0.8673628188205199462e0 * t8472 * t8473 + 0.57119737665102352616e0 * t8478 * t8481 - 0.1859366460452550541e-3 * t8487; + const double t8490 = t8489 * t892; + const double t8493 = t1962 * t1962; + const double t8494 = t8493 * t2495; + const double t8498 = t1940 * t8490 * t30 / 0.2e1 - t1940 * t8494 * t30 / 0.2e1; + const double t8499 = t1982 * t1032; + const double t8500 = t359 * t365; + const double t8501 = t8500 * t369; + const double t8502 = t8499 * t8501; + const double t8504 = t247 * t3084 * t385; + const double t8507 = t1976 * t1976; + const double t8508 = t1982 * t8507; + const double t8509 = t1984 * t359; + const double t8512 = t1981 * t338; + const double t8513 = t8512 * t3056; + const double t8514 = t8513 * t378; + const double t8515 = t3197 * t3268; + const double t8517 = t8515 * t1035 * t8507; + const double t8520 = t3197 * t1078; + const double t8521 = t8520 * t1035; + const double t8522 = t8514 * t8521; + const double t8523 = t1061 * t72; + const double t8524 = t8523 * t3085; + const double t8527 = 0.28234466758480466999e-3 * t8502 * t8504 - 0.8673628188205199462e0 * t8508 * t8509 + 0.57119737665102352616e0 * t8514 * t8517 - 0.1859366460452550541e-3 * t8522 * t8524; + const double t8531 = t1989 * t1989; + const double t8536 = t207 * t8489; + const double t8539 = t207 * t8493; + const double t8542 = -t198 * t2495 * t8539 + t198 * t8536 * t892; + const double t8543 = piecewise_functor_3( t394, t1102 * t198 * t336 * t8527 - t198 * t3336 * t336 * t8531, t8542 ); + const double t8546 = piecewise_functor_3( t120, t8498, t8543 * t45 / 0.2e1 ); + const double t8552 = t1940 * t8490 * t33 / 0.2e1 - t1940 * t8494 * t33 / 0.2e1; + const double t8553 = piecewise_functor_3( t503, 0.0, t8542 ); + const double t8556 = piecewise_functor_3( t400, t8552, t8553 * t57 / 0.2e1 ); + const double t8557 = t8546 + t8556; + const double t8559 = t6985 * t1936; + const double t8562 = 0.2e1 * t93 * t8453; + const double t8563 = t1312 * t8460; + const double t8564 = 0.2e1 * t8563; + const double t8565 = t8447 + 0.4e1 * t8559 + t8562 + t8564; + const double t8567 = t2011 * t196; + const double t8568 = t8567 * t197; + const double t8569 = t8568 * t2035; + const double t8571 = t1032 * t545; + const double t8575 = t1390 * t828 * t561; + const double t8576 = t1955 * t8571 * t239 * t8575; + const double t8578 = t2022 * t2022; + const double t8579 = t1955 * t8578; + const double t8580 = t2028 * t545; + const double t8583 = t8477 * t555; + const double t8584 = t3197 * t4082; + const double t8585 = t1385 * t8578; + const double t8586 = t8584 * t8585; + const double t8589 = t3197 * t1426; + const double t8590 = t8589 * t1385; + const double t8591 = t8583 * t8590; + const double t8592 = t8591 * t552; + const double t8594 = 0.28234466758480466999e-3 * t8576 - 0.8673628188205199462e0 * t8579 * t8580 + 0.57119737665102352616e0 * t8583 * t8586 - 0.1859366460452550541e-3 * t8592; + const double t8595 = t532 * t8594; + const double t8596 = t8595 * t1450; + const double t8597 = t2014 * t8596; + const double t8598 = t2033 * t2033; + const double t8599 = t532 * t8598; + const double t8600 = t8599 * t3879; + const double t8601 = t2014 * t8600; + const double t8602 = -t118 * t8557 - 0.2e1 * t1932 * t2007 - t508 * t8447 + t569 * t8565 - 0.4e1 * t8449 - t8456 - 0.4e1 * t8458 - t8463 + 0.2e1 * t8569 + t8597 - t8601; + const double t8603 = t3 * t8602; + const double t8607 = d * t8602; + const double t8609 = t2040 * t2042; + const double t8611 = t116 * t8453; + const double t8613 = 0.6e1 * t572 * t8611; + const double t8614 = t117 * t8460; + const double t8616 = 0.3e1 * t572 * t8614; + const double t8617 = t573 * t8607 + 0.6e1 * t8609 + t8613 + t8616; + const double t8619 = t8435 * t68; + const double t8620 = t2247 * t8619; + const double t8622 = t8441 * t1925; + const double t8623 = t8621 * t8622; + const double t8626 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t8620 * t8623 ); + const double t8627 = t8626 * t117; + const double t8630 = 0.2e1 * t7359 * t1937; + const double t8634 = t94 * t1936; + const double t8636 = 0.2e1 * t8634 * t2056; + const double t8637 = t2007 * t2055; + const double t8641 = t2089 * t1936; + const double t8643 = 0.2e1 * t651 * t8641; + const double t8645 = t1955 * t2061; + const double t8648 = t251 * t3197; + const double t8649 = t8477 * t8648; + const double t8650 = t2760 * t822; + const double t8651 = t2061 * t1949; + const double t8652 = t8650 * t8651; + const double t8656 = 0.56468933516960933999e-3 * t8469 - 0.8673628188205199462e0 * t8645 * t1959 + 0.57119737665102352616e0 * t8649 * t8652 - 0.3718732920905101082e-3 * t8487; + const double t8657 = t8656 * t892; + const double t8660 = t30 * t1962; + const double t8665 = t207 * t8656; + const double t8670 = -t1940 * t1962 * t7432 + t198 * t8665 * t892; + const double t8671 = piecewise_functor_3( t394, 0.0, t8670 ); + const double t8674 = piecewise_functor_3( t120, t1940 * t8657 * t30 / 0.2e1 - t1940 * t7432 * t8660 / 0.2e1, t8671 * t45 / 0.2e1 ); + const double t8677 = t33 * t1962; + const double t8682 = piecewise_functor_3( t503, 0.0, t8670 ); + const double t8685 = piecewise_functor_3( t400, t1940 * t8657 * t33 / 0.2e1 - t1940 * t7432 * t8677 / 0.2e1, t8682 * t57 / 0.2e1 ); + const double t8686 = t8674 + t8685; + const double t8687 = t118 * t8686; + const double t8689 = 0.2e1 * t7359 * t1936; + const double t8692 = t93 * t1936; + const double t8694 = 0.2e1 * t8692 * t2055; + const double t8695 = 0.2e1 * t2055 * t6985 + t8564 + t8627 + t8689 + t8694; + const double t8697 = t2093 * t196; + const double t8698 = t8697 * t197; + const double t8699 = t8698 * t2035; + const double t8702 = t1955 * t2097; + const double t8705 = t555 * t3197; + const double t8706 = t8477 * t8705; + const double t8707 = t4082 * t1385; + const double t8708 = t2097 * t2022; + const double t8709 = t8707 * t8708; + const double t8713 = 0.56468933516960933999e-3 * t8576 - 0.8673628188205199462e0 * t8702 * t2030 + 0.57119737665102352616e0 * t8706 * t8709 - 0.3718732920905101082e-3 * t8592; + const double t8714 = t532 * t8713; + const double t8715 = t8714 * t1450; + const double t8716 = t2014 * t8715; + const double t8717 = t3879 * t2033; + const double t8718 = t2107 * t8717; + const double t8719 = t2014 * t8718; + const double t8720 = -t1932 * t2089 - t2007 * t2052 - 0.2e1 * t2056 * t6985 + t2108 * t8568 - t508 * t8627 + t569 * t8695 - 0.2e1 * t651 * t8637 - t8463 - t8630 - t8636 - t8643 - t8687 + t8699 + t8716 - t8719; + const double t8721 = t3 * t8720; + const double t8725 = d * t8720; + const double t8728 = 0.3e1 * t2113 * t2042; + const double t8731 = t7553 * t1936; + const double t8733 = 0.6e1 * t572 * t8731; + const double t8734 = 0.3e1 * t2040 * t2115 + t573 * t8725 + t8616 + t8728 + t8733; + const double t8736 = t8435 * t2121; + const double t8737 = t2247 * t8736; + const double t8740 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t8737 * t8623 ); + const double t8741 = t8740 * t117; + const double t8743 = t7586 * t1937; + const double t8749 = t2163 * t1936; + const double t8750 = t651 * t8749; + const double t8752 = piecewise_functor_3( t394, 0.0, t8542 ); + const double t8755 = piecewise_functor_3( t120, t8498, t8752 * t45 / 0.2e1 ); + const double t8756 = t8755 + t8556; + const double t8758 = t7586 * t1936; + const double t8761 = t8741 + 0.2e1 * t8758 + 0.2e1 * t8559 + t8562 + t8564; + const double t8763 = t2165 * t196; + const double t8764 = t8763 * t197; + const double t8765 = t8764 * t2035; + const double t8766 = -t118 * t8756 - t1932 * t2163 - t2007 * t2127 - t508 * t8741 + t569 * t8761 - 0.2e1 * t8449 - t8456 - 0.2e1 * t8458 - t8463 + t8569 + t8597 - t8601 - 0.2e1 * t8743 - 0.2e1 * t8750 + t8765; + const double t8767 = t3 * t8766; + const double t8771 = d * t8766; + const double t8773 = t2170 * t2042; + const double t8776 = t573 * t8771 + 0.3e1 * t8609 + t8613 + t8616 + 0.3e1 * t8773; + const double t8779 = 0.1e1 / t65 / t587; + const double t8780 = t8779 * t136; + const double t8781 = t8780 * t8442; + const double t8784 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.36e2 * t8436 * t8781 ); + const double t8785 = t8784 * t117; + const double t8791 = t2055 * t2055; + const double t8792 = t94 * t8791; + const double t8795 = t2089 * t2055; + const double t8799 = t2061 * t2061; + const double t8800 = t1955 * t8799; + const double t8803 = t822 * t8799; + const double t8804 = t8479 * t8803; + const double t8808 = 0.112937867033921868e-2 * t8469 - 0.8673628188205199462e0 * t8800 * t8473 + 0.57119737665102352616e0 * t8478 * t8804 - 0.74374658418102021641e-3 * t8487; + const double t8809 = t8808 * t892; + const double t8812 = t2070 * t2070; + const double t8813 = t8812 * t2495; + const double t8818 = t207 * t8808; + const double t8821 = t207 * t8812; + const double t8824 = -t198 * t2495 * t8821 + t198 * t8818 * t892; + const double t8825 = piecewise_functor_3( t394, 0.0, t8824 ); + const double t8828 = piecewise_functor_3( t120, t1940 * t8809 * t30 / 0.2e1 - t1940 * t8813 * t30 / 0.2e1, t8825 * t45 / 0.2e1 ); + const double t8835 = piecewise_functor_3( t503, 0.0, t8824 ); + const double t8838 = piecewise_functor_3( t400, t1940 * t8809 * t33 / 0.2e1 - t1940 * t8813 * t33 / 0.2e1, t8835 * t57 / 0.2e1 ); + const double t8839 = t8828 + t8838; + const double t8845 = 0.4e1 * t2055 * t7359 + 0.2e1 * t8791 * t93 + t8564 + t8785; + const double t8850 = t2097 * t2097; + const double t8851 = t1955 * t8850; + const double t8854 = t1385 * t8850; + const double t8855 = t8584 * t8854; + const double t8859 = 0.112937867033921868e-2 * t8576 - 0.8673628188205199462e0 * t8851 * t8580 + 0.57119737665102352616e0 * t8583 * t8855 - 0.74374658418102021641e-3 * t8592; + const double t8860 = t532 * t8859; + const double t8861 = t8860 * t1450; + const double t8863 = t2106 * t2106; + const double t8864 = t532 * t8863; + const double t8865 = t8864 * t3879; + const double t8867 = -t118 * t8839 + t2014 * t8861 - t2014 * t8865 - 0.2e1 * t2052 * t2089 - 0.4e1 * t2056 * t7359 + 0.2e1 * t2108 * t8698 - t508 * t8785 - 0.2e1 * t508 * t8792 + t569 * t8845 - 0.4e1 * t651 * t8795 - t8463; + const double t8868 = t3 * t8867; + const double t8872 = d * t8867; + const double t8876 = t116 * t8791; + const double t8879 = 0.6e1 * t2113 * t2115 + 0.6e1 * t572 * t8876 + t573 * t8872 + t8616; + const double t8881 = t8441 * t68; + const double t8882 = t8621 * t8881; + const double t8885 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t8737 * t8882 ); + const double t8886 = t8885 * t117; + const double t8892 = t2163 * t2055; + const double t8897 = 0.2e1 * t2055 * t7586 + t8564 + t8689 + t8694 + t8886; + const double t8900 = -t2052 * t2163 - 0.2e1 * t2056 * t7586 - t2089 * t2127 + t2108 * t8764 - t508 * t8886 + t569 * t8897 - 0.2e1 * t651 * t8892 - t8463 - t8630 - t8636 - t8643 - t8687 + t8699 + t8716 - t8719; + const double t8901 = t3 * t8900; + const double t8905 = d * t8900; + const double t8909 = 0.3e1 * t2115 * t2170 + t573 * t8905 + t8616 + t8728 + t8733; + const double t8911 = t2121 * t2121; + const double t8912 = t8911 * t136; + const double t8913 = t8912 * t8442; + const double t8916 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t8436 * t8913 ); + const double t8917 = t8916 * t117; + const double t8923 = t2148 * t1032; + const double t8924 = t473 * t479; + const double t8925 = t8924 * t369; + const double t8926 = t8923 * t8925; + const double t8928 = t247 * t3604 * t494; + const double t8931 = t2142 * t2142; + const double t8932 = t2148 * t8931; + const double t8933 = t2150 * t473; + const double t8936 = t2147 * t456; + const double t8937 = t8936 * t3565; + const double t8938 = t8937 * t487; + const double t8939 = t3197 * t3736; + const double t8941 = t8939 * t1243 * t8931; + const double t8944 = t3197 * t1276; + const double t8945 = t8944 * t1243; + const double t8946 = t8938 * t8945; + const double t8947 = t1259 * t72; + const double t8948 = t8947 * t3605; + const double t8951 = 0.28234466758480466999e-3 * t8926 * t8928 - 0.8673628188205199462e0 * t8932 * t8933 + 0.57119737665102352616e0 * t8938 * t8941 - 0.1859366460452550541e-3 * t8946 * t8948; + const double t8955 = t2155 * t2155; + const double t8960 = piecewise_functor_3( t503, t1300 * t198 * t336 * t8951 - t198 * t336 * t3801 * t8955, t8542 ); + const double t8963 = piecewise_functor_3( t400, t8552, t8960 * t57 / 0.2e1 ); + const double t8964 = t8755 + t8963; + const double t8967 = t8917 + 0.4e1 * t8758 + t8562 + t8564; + const double t8970 = -t118 * t8964 - 0.2e1 * t2127 * t2163 - t508 * t8917 + t569 * t8967 - t8456 - t8463 + t8597 - t8601 - 0.4e1 * t8743 - 0.4e1 * t8750 + 0.2e1 * t8765; + const double t8971 = t3 * t8970; + const double t8975 = d * t8970; + const double t8978 = t573 * t8975 + t8613 + t8616 + 0.6e1 * t8773; + const double t8981 = t8634 * t2179; + const double t8982 = t2007 * t2178; + const double t8984 = t6998 * t8259; + const double t8986 = piecewise_functor_3( t115, 0.0, -t8984 / 0.8e1 ); + const double t8987 = t508 * t8986; + const double t8988 = t651 * t8987; + const double t8990 = t8692 * t2181; + const double t8991 = t8986 * t569; + const double t8992 = t1312 * t8991; + const double t8993 = t2178 * t196; + const double t8994 = t1312 * t8993; + const double t8995 = t197 * t532; + const double t8996 = t2033 * t1450; + const double t8997 = t8995 * t8996; + const double t8998 = t8994 * t8997; + const double t9000 = -0.2e1 * t2179 * t6985 + 0.2e1 * t2181 * t6985 - 0.2e1 * t651 * t8982 - 0.2e1 * t8981 - 0.2e1 * t8988 + 0.2e1 * t8990 + 0.2e1 * t8992 + 0.2e1 * t8998; + const double t9001 = t3 * t9000; + const double t9005 = d * t9000; + const double t9008 = 0.3e1 * t2187 * t2042; + const double t9011 = t8295 * t1936; + const double t9013 = 0.6e1 * t572 * t9011; + const double t9014 = t117 * t8986; + const double t9016 = 0.3e1 * t572 * t9014; + const double t9017 = 0.3e1 * t2040 * t2189 + t573 * t9005 + t9008 + t9013 + t9016; + const double t9020 = t8634 * t2199; + const double t9021 = t2007 * t2198; + const double t9023 = t6998 * t8311; + const double t9025 = piecewise_functor_3( t115, 0.0, -t9023 / 0.8e1 ); + const double t9026 = t508 * t9025; + const double t9027 = t651 * t9026; + const double t9029 = t8692 * t2201; + const double t9030 = t9025 * t569; + const double t9031 = t1312 * t9030; + const double t9032 = t2198 * t196; + const double t9033 = t1312 * t9032; + const double t9034 = t9033 * t8997; + const double t9036 = -0.2e1 * t2199 * t6985 + 0.2e1 * t2201 * t6985 - 0.2e1 * t651 * t9021 - 0.2e1 * t9020 - 0.2e1 * t9027 + 0.2e1 * t9029 + 0.2e1 * t9031 + 0.2e1 * t9034; + const double t9037 = t3 * t9036; + const double t9041 = d * t9036; + const double t9044 = 0.3e1 * t2207 * t2042; + const double t9047 = t8342 * t1936; + const double t9049 = 0.6e1 * t572 * t9047; + const double t9050 = t117 * t9025; + const double t9052 = 0.3e1 * t572 * t9050; + const double t9053 = 0.3e1 * t2040 * t2209 + t573 * t9041 + t9044 + t9049 + t9052; + const double t9056 = t94 * t2055; + const double t9058 = t2089 * t2178; + const double t9061 = piecewise_functor_3( t115, 0.0, -t8984 / 0.4e1 ); + const double t9062 = t508 * t9061; + const double t9065 = t93 * t2055; + const double t9067 = t9061 * t569; + const double t9069 = t2106 * t1450; + const double t9070 = t8995 * t9069; + const double t9073 = 0.2e1 * t1312 * t9067 - 0.2e1 * t2179 * t7359 - 0.2e1 * t2179 * t9056 + 0.2e1 * t2181 * t7359 + 0.2e1 * t2181 * t9065 - 0.2e1 * t651 * t9058 - 0.2e1 * t651 * t9062 + 0.2e1 * t8994 * t9070; + const double t9074 = t3 * t9073; + const double t9078 = d * t9073; + const double t9084 = t8295 * t2055; + const double t9087 = t117 * t9061; + const double t9090 = 0.3e1 * t2113 * t2189 + 0.3e1 * t2115 * t2187 + 0.6e1 * t572 * t9084 + 0.3e1 * t572 * t9087 + t573 * t9078; + const double t9094 = t2089 * t2198; + const double t9097 = piecewise_functor_3( t115, 0.0, -t9023 / 0.4e1 ); + const double t9098 = t508 * t9097; + const double t9102 = t9097 * t569; + const double t9106 = 0.2e1 * t1312 * t9102 - 0.2e1 * t2199 * t7359 - 0.2e1 * t2199 * t9056 + 0.2e1 * t2201 * t7359 + 0.2e1 * t2201 * t9065 - 0.2e1 * t651 * t9094 - 0.2e1 * t651 * t9098 + 0.2e1 * t9033 * t9070; + const double t9107 = t3 * t9106; + const double t9111 = d * t9106; + const double t9117 = t8342 * t2055; + const double t9120 = t117 * t9097; + const double t9123 = 0.3e1 * t2113 * t2209 + 0.3e1 * t2115 * t2207 + 0.6e1 * t572 * t9117 + 0.3e1 * t572 * t9120 + t573 * t9111; + const double t9126 = t2163 * t2178; + const double t9130 = -0.2e1 * t2179 * t7586 + 0.2e1 * t2181 * t7586 - 0.2e1 * t651 * t9126 - 0.2e1 * t8981 - 0.2e1 * t8988 + 0.2e1 * t8990 + 0.2e1 * t8992 + 0.2e1 * t8998; + const double t9131 = t3 * t9130; + const double t9135 = d * t9130; + const double t9139 = 0.3e1 * t2170 * t2189 + t573 * t9135 + t9008 + t9013 + t9016; + const double t9142 = t2163 * t2198; + const double t9146 = -0.2e1 * t2199 * t7586 + 0.2e1 * t2201 * t7586 - 0.2e1 * t651 * t9142 - 0.2e1 * t9020 - 0.2e1 * t9027 + 0.2e1 * t9029 + 0.2e1 * t9031 + 0.2e1 * t9034; + const double t9147 = t3 * t9146; + const double t9151 = d * t9146; + const double t9155 = 0.3e1 * t2170 * t2209 + t573 * t9151 + t9044 + t9049 + t9052; + const double t9157 = t2178 * t2178; + const double t9158 = t94 * t9157; + const double t9161 = 0.1e1 / t40 / t611; + const double t9163 = t98 * t98; + const double t9165 = t99 * t9163 * t98; + const double t9166 = t2339 * t9161 * t9165; + const double t9169 = piecewise_functor_3( t115, 0.0, t69 * t9166 / 0.4e1 ); + const double t9170 = t508 * t9169; + const double t9172 = t93 * t9157; + const double t9174 = t9169 * t569; + const double t9177 = 0.2e1 * t1312 * t9174 - 0.2e1 * t508 * t9158 + 0.2e1 * t569 * t9172 - 0.2e1 * t651 * t9170; + const double t9178 = t3 * t9177; + const double t9182 = d * t9177; + const double t9186 = t116 * t9157; + const double t9189 = t117 * t9169; + const double t9192 = 0.6e1 * t2187 * t2189 + 0.6e1 * t572 * t9186 + 0.3e1 * t572 * t9189 + t573 * t9182; + const double t9194 = t94 * t2178; + const double t9196 = t8311 * t8259; + const double t9199 = piecewise_functor_3( t115, 0.0, t8258 * t9196 / 0.4e1 ); + const double t9200 = t508 * t9199; + const double t9202 = t93 * t2178; + const double t9204 = t9199 * t569; + const double t9207 = 0.2e1 * t1312 * t9204 - 0.2e1 * t2199 * t9194 + 0.2e1 * t2201 * t9202 - 0.2e1 * t651 * t9200; + const double t9208 = t3 * t9207; + const double t9212 = d * t9207; + const double t9218 = t8342 * t2178; + const double t9221 = t117 * t9199; + const double t9224 = 0.3e1 * t2187 * t2209 + 0.3e1 * t2189 * t2207 + 0.6e1 * t572 * t9218 + 0.3e1 * t572 * t9221 + t573 * t9212; + const double t9226 = t2198 * t2198; + const double t9227 = t94 * t9226; + const double t9230 = 0.1e1 / t52 / t1477; + const double t9232 = t106 * t106; + const double t9234 = t107 * t9232 * t106; + const double t9235 = t2339 * t9230 * t9234; + const double t9238 = piecewise_functor_3( t115, 0.0, t69 * t9235 / 0.4e1 ); + const double t9239 = t508 * t9238; + const double t9241 = t93 * t9226; + const double t9243 = t9238 * t569; + const double t9246 = 0.2e1 * t1312 * t9243 - 0.2e1 * t508 * t9227 + 0.2e1 * t569 * t9241 - 0.2e1 * t651 * t9239; + const double t9247 = t3 * t9246; + const double t9251 = d * t9246; + const double t9255 = t116 * t9226; + const double t9258 = t117 * t9238; + const double t9261 = 0.6e1 * t2207 * t2209 + 0.6e1 * t572 * t9255 + 0.3e1 * t572 * t9258 + t573 * t9251; + + + vrho_a = t1456 * t575 + t1458 * t1464 + tzk0; + vrho_b = t1458 * t1921 + t1914 * t575 + tzk0; + vsigma_aa = t1458 * t2045 + t2038 * t575; + vsigma_ab = t1458 * t2118 + t2111 * t575; + vsigma_bb = t1458 * t2172 + t2168 * t575; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t1458 * t2192 + t2185 * t575; + vtau_b = t1458 * t2212 + t2205 * t575; + v2rho2_aa = 0.2e1 * t1456 * t1464 + t1458 * t4168 + t4154 * t575 + 0.2e1 * t2214 + 0.2e1 * t2216; + v2rho2_ab = t1456 * t1921 + t1458 * t5808 + t1464 * t1914 + t575 * t5790 + t2214 + t2216 + t4170 + t5793; + v2rho2_bb = t1458 * t6951 + 0.2e1 * t1914 * t1921 + t575 * t6937 + 0.2e1 * t4170 + 0.2e1 * t5793; + v2rhosigma_a_aa = t1456 * t2045 + t1458 * t7337 + t1464 * t2038 + t575 * t7319 + t6953 + t7322; + v2rhosigma_a_ab = t1456 * t2118 + t1458 * t7560 + t1464 * t2111 + t575 * t7542 + t7339 + t7545; + v2rhosigma_a_bb = t1456 * t2172 + t1458 * t7700 + t1464 * t2168 + t575 * t7691 + t7562 + t7694; + v2rhosigma_b_aa = t1458 * t7956 + t1914 * t2045 + t1921 * t2038 + t575 * t7940 + t6953 + t7322; + v2rhosigma_b_ab = t1458 * t8130 + t1914 * t2118 + t1921 * t2111 + t575 * t8114 + t7339 + t7545; + v2rhosigma_b_bb = t1458 * t8249 + t1914 * t2172 + t1921 * t2168 + t575 * t8241 + t7562 + t7694; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1456 * t2192 + t1458 * t8302 + t1464 * t2185 + t575 * t8284 + t8251 + t8287; + v2rhotau_a_b = t1456 * t2212 + t1458 * t8349 + t1464 * t2205 + t575 * t8331 + t8304 + t8334; + v2rhotau_b_a = t1458 * t8389 + t1914 * t2192 + t1921 * t2185 + t575 * t8373 + t8251 + t8287; + v2rhotau_b_b = t1458 * t8433 + t1914 * t2212 + t1921 * t2205 + t575 * t8417 + t8304 + t8334; + v2sigma2_aa_aa = t1458 * t8617 + 0.2e1 * t2038 * t2045 + t575 * t8603; + v2sigma2_aa_ab = t1458 * t8734 + t2038 * t2118 + t2045 * t2111 + t575 * t8721; + v2sigma2_aa_bb = t1458 * t8776 + t2038 * t2172 + t2045 * t2168 + t575 * t8767; + v2sigma2_ab_ab = t1458 * t8879 + 0.2e1 * t2111 * t2118 + t575 * t8868; + v2sigma2_ab_bb = t1458 * t8909 + t2111 * t2172 + t2118 * t2168 + t575 * t8901; + v2sigma2_bb_bb = t1458 * t8978 + 0.2e1 * t2168 * t2172 + t575 * t8971; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t1458 * t9017 + t2038 * t2192 + t2045 * t2185 + t575 * t9001; + v2sigmatau_aa_b = t1458 * t9053 + t2038 * t2212 + t2045 * t2205 + t575 * t9037; + v2sigmatau_ab_a = t1458 * t9090 + t2111 * t2192 + t2118 * t2185 + t575 * t9074; + v2sigmatau_ab_b = t1458 * t9123 + t2111 * t2212 + t2118 * t2205 + t575 * t9107; + v2sigmatau_bb_a = t1458 * t9139 + t2168 * t2192 + t2172 * t2185 + t575 * t9131; + v2sigmatau_bb_b = t1458 * t9155 + t2168 * t2212 + t2172 * t2205 + t575 * t9147; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t1458 * t9192 + 0.2e1 * t2185 * t2192 + t575 * t9178; + v2tau2_ab = t1458 * t9224 + t2185 * t2212 + t2192 * t2205 + t575 * t9208; + v2tau2_bb = t1458 * t9261 + 0.2e1 * t2205 * t2212 + t575 * t9247; + + } + + +}; + +struct BuiltinRevTPSS_C : detail::BuiltinKernelImpl< BuiltinRevTPSS_C > { + + BuiltinRevTPSS_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinRevTPSS_C >(p) { } + + virtual ~BuiltinRevTPSS_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/revtpss_x.hpp b/include/exchcxx/impl/builtin/kernels/revtpss_x.hpp new file mode 100644 index 0000000..92c7863 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/revtpss_x.hpp @@ -0,0 +1,3530 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinRevTPSS_X > : + public mgga_screening_interface< BuiltinRevTPSS_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double b = 0.40; + static constexpr double c = 2.35203946; + static constexpr double e = 2.16769874; + static constexpr double kappa = 0.804; + static constexpr double mu = 0.14; + static constexpr double BLOC_a = 3.0; + static constexpr double BLOC_b = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t142 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t138 ); + + + eps = 0.2e1 * t142; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + constexpr double t149 = kappa * kappa; + constexpr double t268 = t51 * t54; + constexpr double t276 = b * t54; + constexpr double t281 = t90 * t54; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t142 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t138 ); + const double t143 = 0.1e1 / t56; + const double t144 = t18 * t143; + const double t148 = t7 * t18; + const double t150 = t19 * t149; + const double t151 = t133 * t133; + const double t152 = 0.1e1 / t151; + const double t153 = t35 * t23; + const double t154 = safe_math::log( t25 ); + const double t159 = -t26 * t153 * t154 / 0.8e1 - t30 * t21; + const double t160 = t159 * t43; + const double t163 = 0.1e1 / t42 / t41; + const double t164 = t32 * t163; + const double t165 = t34 * rho; + const double t166 = 0.1e1 / t165; + const double t167 = t33 * t166; + const double t168 = t167 * t38; + const double t172 = ( t32 * t160 + t164 * t168 / 0.16e2 ) * t46; + const double t173 = t172 * t51; + const double t177 = 0.1e1 / t56 / t165; + const double t178 = t55 * t177; + const double t184 = -0.5e1 / 0.3e1 * t62 * t58 + t178 / 0.3e1; + const double t185 = t184 * t46; + const double t186 = t51 * t79; + const double t190 = 0.1e1 / t78 / t77; + const double t191 = t71 * t190; + const double t195 = t91 * t184; + const double t198 = 0.5e1 * b * t184 * t74 + 0.25e2 / 0.9e1 * t72 * t195; + const double t203 = 0.3e1 / 0.4e1 * t185 * t186 - 0.27e2 / 0.4e2 * t191 * t198 - 0.2e1 / 0.27e2 * t73 * t178; + const double t208 = 0.1e1 / t101; + const double t209 = t84 * t208; + const double t211 = t93 * t34; + const double t213 = 0.1e1 / t19 / t211; + const double t214 = t92 * t213; + const double t217 = -0.324e3 * t168 - 0.16e4 / 0.3e1 * t91 * t214; + const double t222 = t166 * t38; + const double t225 = t119 * rho; + const double t226 = 0.1e1 / t225; + const double t230 = t173 * t59 / 0.24e2 - t52 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t84 * t203 - 0.73e2 / 0.972e5 * t203 * t101 - 0.73e2 / 0.1944e6 * t209 * t217 - 0.5e2 / 0.177147e6 * t106 * t214 - t110 * t222 / 0.36e3 - t114 * t118 * t226 / 0.72e2; + const double t232 = t130 * t129; + const double t233 = 0.1e1 / t232; + const double t234 = t124 * t233; + const double t235 = t234 * t125; + const double t236 = t51 * sigma; + const double t237 = t54 * t177; + const double t238 = t236 * t237; + const double t241 = t230 * t131 + 0.2e1 / 0.9e1 * t235 * t238; + const double t242 = t152 * t241; + const double t247 = piecewise_functor_3( t3, 0.0, -t7 * t144 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t148 * t150 * t242 ); + const double t250 = BLOC_b * t21; + const double t251 = t23 * t154; + const double t254 = 0.1e1 / sigma; + const double t256 = t250 * t251 / 0.8e1 + t30 * t254; + const double t257 = t256 * t43; + const double t258 = t32 * t257; + const double t259 = sigma * t35; + const double t260 = t259 * t38; + const double t264 = ( t258 - t164 * t260 / 0.16e2 ) * t46; + const double t265 = t264 * t51; + const double t269 = t268 * t58; + const double t272 = t54 * t58; + const double t273 = t73 * t79; + const double t274 = t272 * t273; + const double t277 = t276 * t58; + const double t278 = t277 * t74; + const double t280 = t72 * t88; + const double t283 = t280 * t281 * t58; + const double t285 = -0.5e1 / 0.8e1 * t278 - 0.25e2 / 0.72e2 * t283; + const double t288 = t272 * t73; + const double t290 = -0.3e1 / 0.32e2 * t274 - 0.27e2 / 0.4e2 * t191 * t285 + t288 / 0.36e2; + const double t296 = sigma * t53; + const double t297 = t296 * t96; + const double t300 = 0.2e3 * t91 * t297 + 0.324e3 * t260; + const double t305 = t109 * sigma; + const double t308 = t116 * t33; + const double t312 = t265 * t59 / 0.24e2 + t47 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t290 - 0.73e2 / 0.972e5 * t290 * t101 - 0.73e2 / 0.1944e6 * t209 * t300 + 0.25e2 / 0.236196e6 * t106 * t297 + t305 * t111 / 0.36e3 + t114 * t308 * t120 / 0.192e3; + const double t314 = t234 * t109; + const double t317 = t312 * t131 - t314 * t288 / 0.12e2; + const double t318 = t152 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t148 * t150 * t318 ); + const double t324 = t7 * t20; + const double t325 = t149 * t152; + const double t326 = t21 * t38; + const double t331 = -t26 * t326 * t154 / 0.8e1 - t30 * t23; + const double t332 = t331 * t43; + const double t333 = t32 * t332; + const double t334 = t37 * tau; + const double t335 = 0.1e1 / t334; + const double t336 = t36 * t335; + const double t340 = ( t333 + t164 * t336 / 0.16e2 ) * t46; + const double t341 = t340 * t51; + const double t344 = t54 * t64; + const double t347 = t276 * t64; + const double t353 = 0.5e1 * t347 * t74 + 0.25e2 / 0.9e1 * t280 * t281 * t64; + const double t356 = 0.3e1 / 0.4e1 * t344 * t273 - 0.27e2 / 0.4e2 * t191 * t353; + const double t363 = t35 * t335; + const double t366 = t341 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t356 - 0.73e2 / 0.972e5 * t356 * t101 + 0.73e2 / 0.6e3 * t209 * t336 - t110 * t363 / 0.36e3; + const double t367 = t366 * t131; + const double t368 = t325 * t367; + const double t371 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t324 * t368 ); + + + eps = 0.2e1 * t142; + vrho = 0.2e1 * rho * t247 + 0.2e1 * t142; + vsigma = 0.2e1 * rho * t322; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t371; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + constexpr double t149 = kappa * kappa; + constexpr double t268 = t51 * t54; + constexpr double t276 = b * t54; + constexpr double t281 = t90 * t54; + constexpr double t513 = e * t88; + constexpr double t642 = t90 * t53; + constexpr double t915 = t73 * t54; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t143 = 0.1e1 / t56; + const double t144 = t18 * t143; + const double t148 = t7 * t18; + const double t150 = t19 * t149; + const double t151 = t133 * t133; + const double t152 = 0.1e1 / t151; + const double t153 = t35 * t23; + const double t154 = safe_math::log( t25 ); + const double t159 = -t26 * t153 * t154 / 0.8e1 - t30 * t21; + const double t160 = t159 * t43; + const double t163 = 0.1e1 / t42 / t41; + const double t164 = t32 * t163; + const double t165 = t34 * rho; + const double t166 = 0.1e1 / t165; + const double t167 = t33 * t166; + const double t168 = t167 * t38; + const double t172 = ( t32 * t160 + t164 * t168 / 0.16e2 ) * t46; + const double t173 = t172 * t51; + const double t177 = 0.1e1 / t56 / t165; + const double t178 = t55 * t177; + const double t184 = -0.5e1 / 0.3e1 * t62 * t58 + t178 / 0.3e1; + const double t185 = t184 * t46; + const double t186 = t51 * t79; + const double t190 = 0.1e1 / t78 / t77; + const double t191 = t71 * t190; + const double t195 = t91 * t184; + const double t198 = 0.5e1 * b * t184 * t74 + 0.25e2 / 0.9e1 * t72 * t195; + const double t203 = 0.3e1 / 0.4e1 * t185 * t186 - 0.27e2 / 0.4e2 * t191 * t198 - 0.2e1 / 0.27e2 * t73 * t178; + const double t208 = 0.1e1 / t101; + const double t209 = t84 * t208; + const double t211 = t93 * t34; + const double t213 = 0.1e1 / t19 / t211; + const double t214 = t92 * t213; + const double t217 = -0.324e3 * t168 - 0.16e4 / 0.3e1 * t91 * t214; + const double t222 = t166 * t38; + const double t225 = t119 * rho; + const double t226 = 0.1e1 / t225; + const double t230 = t173 * t59 / 0.24e2 - t52 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t84 * t203 - 0.73e2 / 0.972e5 * t203 * t101 - 0.73e2 / 0.1944e6 * t209 * t217 - 0.5e2 / 0.177147e6 * t106 * t214 - t110 * t222 / 0.36e3 - t114 * t118 * t226 / 0.72e2; + const double t232 = t130 * t129; + const double t233 = 0.1e1 / t232; + const double t234 = t124 * t233; + const double t235 = t234 * t125; + const double t236 = t51 * sigma; + const double t237 = t54 * t177; + const double t238 = t236 * t237; + const double t241 = t230 * t131 + 0.2e1 / 0.9e1 * t235 * t238; + const double t242 = t152 * t241; + const double t247 = piecewise_functor_3( t3, 0.0, -t7 * t144 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t148 * t150 * t242 ); + const double t250 = BLOC_b * t21; + const double t251 = t23 * t154; + const double t254 = 0.1e1 / sigma; + const double t256 = t250 * t251 / 0.8e1 + t30 * t254; + const double t257 = t256 * t43; + const double t258 = t32 * t257; + const double t259 = sigma * t35; + const double t260 = t259 * t38; + const double t264 = ( t258 - t164 * t260 / 0.16e2 ) * t46; + const double t265 = t264 * t51; + const double t269 = t268 * t58; + const double t272 = t54 * t58; + const double t273 = t73 * t79; + const double t274 = t272 * t273; + const double t277 = t276 * t58; + const double t278 = t277 * t74; + const double t280 = t72 * t88; + const double t283 = t280 * t281 * t58; + const double t285 = -0.5e1 / 0.8e1 * t278 - 0.25e2 / 0.72e2 * t283; + const double t288 = t272 * t73; + const double t290 = -0.3e1 / 0.32e2 * t274 - 0.27e2 / 0.4e2 * t191 * t285 + t288 / 0.36e2; + const double t296 = sigma * t53; + const double t297 = t296 * t96; + const double t300 = 0.2e3 * t91 * t297 + 0.324e3 * t260; + const double t305 = t109 * sigma; + const double t308 = t116 * t33; + const double t312 = t265 * t59 / 0.24e2 + t47 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t290 - 0.73e2 / 0.972e5 * t290 * t101 - 0.73e2 / 0.1944e6 * t209 * t300 + 0.25e2 / 0.236196e6 * t106 * t297 + t305 * t111 / 0.36e3 + t114 * t308 * t120 / 0.192e3; + const double t314 = t234 * t109; + const double t317 = t312 * t131 - t314 * t288 / 0.12e2; + const double t318 = t152 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t148 * t150 * t318 ); + const double t324 = t7 * t20; + const double t325 = t149 * t152; + const double t326 = t21 * t38; + const double t331 = -t26 * t326 * t154 / 0.8e1 - t30 * t23; + const double t332 = t331 * t43; + const double t333 = t32 * t332; + const double t334 = t37 * tau; + const double t335 = 0.1e1 / t334; + const double t336 = t36 * t335; + const double t340 = ( t333 + t164 * t336 / 0.16e2 ) * t46; + const double t341 = t340 * t51; + const double t344 = t54 * t64; + const double t347 = t276 * t64; + const double t353 = 0.5e1 * t347 * t74 + 0.25e2 / 0.9e1 * t280 * t281 * t64; + const double t356 = 0.3e1 / 0.4e1 * t344 * t273 - 0.27e2 / 0.4e2 * t191 * t353; + const double t363 = t35 * t335; + const double t366 = t341 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t356 - 0.73e2 / 0.972e5 * t356 * t101 + 0.73e2 / 0.6e3 * t209 * t336 - t110 * t363 / 0.36e3; + const double t367 = t366 * t131; + const double t368 = t325 * t367; + const double t371 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t324 * t368 ); + const double t374 = t18 * t64; + const double t378 = t143 * t149; + const double t383 = 0.1e1 / t151 / t133; + const double t384 = t241 * t241; + const double t385 = t383 * t384; + const double t389 = t159 * t159; + const double t390 = t389 * t43; + const double t392 = t166 * t23; + const double t399 = t26 * t392 * t154 / 0.4e1 + t26 * t392 / 0.4e1 + t30 * t35; + const double t402 = t32 * t159; + const double t403 = t163 * t33; + const double t404 = t403 * t222; + const double t407 = t42 * t42; + const double t408 = 0.1e1 / t407; + const double t409 = t32 * t408; + const double t410 = t33 * t33; + const double t411 = 0.1e1 / t211; + const double t412 = t410 * t411; + const double t413 = t37 * t37; + const double t414 = 0.1e1 / t413; + const double t418 = 0.1e1 / t93; + const double t419 = t33 * t418; + const double t420 = t419 * t38; + const double t424 = ( t32 * t390 + t32 * t399 * t43 + t402 * t404 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t412 * t414 - 0.3e1 / 0.16e2 * t164 * t420 ) * t46; + const double t425 = t424 * t51; + const double t431 = 0.1e1 / t56 / t93; + const double t432 = t55 * t431; + const double t435 = t203 * t203; + const double t440 = 0.4e2 / 0.9e1 * t62 * t177 - 0.11e2 / 0.9e1 * t432; + const double t441 = t440 * t46; + const double t444 = t51 * t190; + const double t445 = t444 * t198; + const double t448 = t77 * t77; + const double t450 = 0.1e1 / t78 / t448; + const double t451 = t71 * t450; + const double t452 = t198 * t198; + const double t455 = b * t440; + const double t458 = t184 * t184; + const double t462 = t91 * t440; + const double t465 = 0.5e1 * t455 * t74 + 0.5e2 / 0.9e1 * b * t458 * t91 + 0.25e2 / 0.9e1 * t72 * t462; + const double t470 = 0.3e1 / 0.4e1 * t441 * t186 - 0.3e1 / 0.4e1 * t185 * t445 + 0.81e2 / 0.8e2 * t451 * t452 - 0.27e2 / 0.4e2 * t191 * t465 + 0.22e2 / 0.81e2 * t73 * t432; + const double t475 = t203 * t208; + const double t479 = 0.1e1 / t101 / t100; + const double t480 = t84 * t479; + const double t481 = t217 * t217; + const double t485 = t93 * t165; + const double t487 = 0.1e1 / t19 / t485; + const double t488 = t92 * t487; + const double t491 = 0.972e3 * t420 + 0.304e5 / 0.9e1 * t91 * t488; + const double t496 = t418 * t38; + const double t499 = t119 * t34; + const double t500 = 0.1e1 / t499; + const double t504 = t425 * t59 / 0.24e2 - 0.2e1 / 0.9e1 * t173 * t178 + 0.11e2 / 0.27e2 * t52 * t432 + 0.292e3 / 0.2025e4 * t435 + 0.292e3 / 0.2025e4 * t84 * t470 - 0.73e2 / 0.972e5 * t470 * t101 - 0.73e2 / 0.972e5 * t475 * t217 + 0.73e2 / 0.3888e6 * t480 * t481 - 0.73e2 / 0.1944e6 * t209 * t491 + 0.95e3 / 0.531441e6 * t106 * t488 + t110 * t496 / 0.12e3 + t114 * t118 * t500 / 0.8e1; + const double t506 = t230 * t233; + const double t507 = t506 * t125; + const double t510 = t130 * t130; + const double t511 = 0.1e1 / t510; + const double t512 = t124 * t511; + const double t514 = t512 * t513; + const double t515 = t90 * t33; + const double t516 = t53 * t487; + const double t517 = t515 * t516; + const double t520 = t54 * t431; + const double t521 = t236 * t520; + const double t524 = t504 * t131 + 0.4e1 / 0.9e1 * t507 * t238 + 0.4e1 / 0.27e2 * t514 * t517 - 0.22e2 / 0.27e2 * t235 * t521; + const double t525 = t152 * t524; + const double t530 = piecewise_functor_3( t3, 0.0, t7 * t374 * t138 / 0.12e2 - t148 * t378 * t242 / 0.4e1 + 0.3e1 / 0.4e1 * t148 * t150 * t385 - 0.3e1 / 0.8e1 * t148 * t150 * t525 ); + const double t536 = t149 * t383; + const double t537 = t317 * t241; + const double t538 = t536 * t537; + const double t541 = t159 * t256; + const double t544 = BLOC_b * t35; + const double t549 = -t544 * t251 / 0.8e1 - t544 * t23 / 0.4e1; + const double t550 = t549 * t43; + const double t552 = t32 * t256; + const double t555 = t163 * sigma; + const double t556 = t555 * t111; + const double t559 = 0.1e1 / t94; + const double t560 = t117 * t559; + const double t564 = sigma * t166; + const double t565 = t564 * t38; + const double t569 = ( t32 * t541 * t43 + t32 * t550 + t552 * t404 / 0.16e2 - t402 * t556 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t560 * t414 + t164 * t565 / 0.8e1 ) * t46; + const double t570 = t569 * t51; + const double t577 = t268 * t177; + const double t582 = t237 * t273; + const double t584 = t272 * t46; + const double t585 = t584 * t445; + const double t587 = t444 * t285; + const double t590 = t285 * t198; + const double t593 = t276 * t177; + const double t594 = t593 * t74; + const double t596 = t277 * t195; + const double t599 = t280 * t281 * t177; + const double t601 = 0.5e1 / 0.3e1 * t594 - 0.25e2 / 0.36e2 * t596 + 0.25e2 / 0.27e2 * t599; + const double t604 = t237 * t73; + const double t606 = t582 / 0.4e1 + 0.3e1 / 0.64e2 * t585 - 0.3e1 / 0.8e1 * t185 * t587 + 0.81e2 / 0.8e2 * t451 * t590 - 0.27e2 / 0.4e2 * t191 * t601 - 0.2e1 / 0.27e2 * t604; + const double t611 = t290 * t208; + const double t616 = t300 * t217; + const double t620 = t296 * t213; + const double t623 = -0.648e3 * t565 - 0.32e4 / 0.3e1 * t91 * t620; + const double t633 = t570 * t59 / 0.24e2 - t265 * t178 / 0.9e1 + t172 * t269 / 0.24e2 - t47 * t577 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t290 + 0.292e3 / 0.2025e4 * t84 * t606 - 0.73e2 / 0.972e5 * t606 * t101 - 0.73e2 / 0.1944e6 * t611 * t217 - 0.73e2 / 0.1944e6 * t475 * t300 + 0.73e2 / 0.3888e6 * t480 * t616 - 0.73e2 / 0.1944e6 * t209 * t623 - 0.1e3 / 0.177147e6 * t106 * t620 - t305 * t222 / 0.18e3 - t114 * t308 * t226 / 0.24e2; + const double t635 = t312 * t233; + const double t636 = t635 * t125; + const double t639 = t506 * t109; + const double t644 = t642 * t213 * sigma; + const double t649 = t633 * t131 + 0.2e1 / 0.9e1 * t636 * t238 - t639 * t288 / 0.12e2 - t514 * t644 / 0.18e2 + 0.2e1 / 0.9e1 * t314 * t604; + const double t650 = t152 * t649; + const double t655 = piecewise_functor_3( t3, 0.0, -t148 * t378 * t318 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t538 - 0.3e1 / 0.8e1 * t148 * t150 * t650 ); + const double t658 = t7 * t144; + const double t662 = t536 * t367 * t241; + const double t665 = t159 * t331; + const double t673 = t26 * t111 * t154 / 0.8e1 + t26 * t111 / 0.4e1; + const double t674 = t673 * t43; + const double t676 = t32 * t331; + const double t679 = t403 * t363; + const double t682 = t410 * t559; + const double t684 = 0.1e1 / t413 / tau; + const double t688 = t167 * t335; + const double t692 = ( t32 * t665 * t43 + t32 * t674 + t676 * t404 / 0.16e2 + t402 * t679 / 0.16e2 + 0.3e1 / 0.512e3 * t409 * t682 * t684 - t164 * t688 / 0.8e1 ) * t46; + const double t693 = t692 * t51; + const double t701 = t344 * t46; + const double t704 = t444 * t353; + const double t707 = t353 * t198; + const double t714 = -0.25e2 / 0.3e1 * t278 + 0.5e2 / 0.9e1 * t347 * t195 - 0.125e3 / 0.27e2 * t283; + const double t717 = -0.5e1 / 0.4e1 * t274 - 0.3e1 / 0.8e1 * t701 * t445 - 0.3e1 / 0.8e1 * t185 * t704 + 0.81e2 / 0.8e2 * t451 * t707 - 0.27e2 / 0.4e2 * t191 * t714; + const double t722 = t356 * t208; + const double t727 = t480 * t33; + const double t728 = t363 * t217; + const double t733 = t166 * t335; + const double t736 = t693 * t59 / 0.24e2 - t341 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t356 + 0.292e3 / 0.2025e4 * t84 * t717 - 0.73e2 / 0.972e5 * t717 * t101 - 0.73e2 / 0.1944e6 * t722 * t217 + 0.73e2 / 0.6e3 * t475 * t336 - 0.73e2 / 0.12e4 * t727 * t728 - 0.73e2 / 0.3e3 * t209 * t688 + t110 * t733 / 0.18e3; + const double t737 = t736 * t131; + const double t738 = t325 * t737; + const double t742 = 0.1e1 / t19 / t165; + const double t743 = t742 * t149; + const double t745 = t148 * t743 * t152; + const double t746 = t366 * t233; + const double t747 = t746 * t109; + const double t748 = t73 * t55; + const double t749 = t747 * t748; + const double t753 = piecewise_functor_3( t3, 0.0, -t658 * t368 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t662 - 0.3e1 / 0.8e1 * t324 * t738 - t745 * t749 / 0.12e2 ); + const double t756 = t317 * t317; + const double t757 = t383 * t756; + const double t761 = t256 * t256; + const double t762 = t761 * t43; + const double t767 = 0.1e1 / t33; + const double t769 = t250 * t23 * t254 / 0.4e1 - t30 * t767; + const double t774 = t419 * t414; + const double t777 = t163 * t35; + const double t778 = t777 * t38; + const double t782 = ( t32 * t762 + t32 * t769 * t43 - t552 * t556 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t774 - t32 * t778 / 0.16e2 ) * t46; + const double t783 = t782 * t51; + const double t788 = t290 * t290; + const double t790 = t584 * t587; + const double t792 = t285 * t285; + const double t795 = t191 * b; + const double t796 = t53 * t96; + const double t797 = t91 * t796; + const double t798 = t795 * t797; + const double t800 = 0.3e1 / 0.32e2 * t790 + 0.81e2 / 0.8e2 * t451 * t792 - 0.15e2 / 0.128e3 * t798; + const double t807 = t300 * t300; + const double t812 = 0.324e3 * t111 + 0.2e3 * t797; + const double t818 = t109 * t35; + const double t821 = t116 * sigma; + const double t825 = t783 * t59 / 0.24e2 + t264 * t269 / 0.12e2 + 0.292e3 / 0.2025e4 * t788 + 0.292e3 / 0.2025e4 * t84 * t800 - 0.73e2 / 0.972e5 * t800 * t101 - 0.73e2 / 0.972e5 * t611 * t300 + 0.73e2 / 0.3888e6 * t480 * t807 - 0.73e2 / 0.1944e6 * t209 * t812 + 0.25e2 / 0.236196e6 * t105 * t642 * t96 + t818 * t38 / 0.36e3 + t114 * t821 * t120 / 0.96e2; + const double t827 = t635 * t109; + const double t830 = t512 * e; + const double t833 = t825 * t131 - t827 * t288 / 0.6e1 + t830 * t797 / 0.48e2; + const double t834 = t152 * t833; + const double t839 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t148 * t150 * t757 - 0.3e1 / 0.8e1 * t148 * t150 * t834 ); + const double t842 = t536 * t367 * t317; + const double t845 = t256 * t331; + const double t846 = t845 * t43; + const double t848 = t38 * t154; + const double t853 = -t250 * t848 / 0.8e1 - t250 * t38 / 0.4e1; + const double t854 = t853 * t43; + const double t860 = t117 * t418; + const double t864 = t259 * t335; + const double t868 = ( t32 * t846 + t32 * t854 - t676 * t556 / 0.16e2 + t552 * t679 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t860 * t684 + t164 * t864 / 0.8e1 ) * t46; + const double t869 = t868 * t51; + const double t878 = t584 * t704; + const double t880 = t353 * t285; + const double t884 = 0.1e1 / t19 / t93; + const double t885 = t53 * t884; + const double t886 = t885 * t91; + const double t887 = t795 * t886; + const double t889 = -0.3e1 / 0.8e1 * t701 * t587 + 0.3e1 / 0.64e2 * t878 + 0.81e2 / 0.8e2 * t451 * t880 + 0.15e2 / 0.16e2 * t887; + const double t898 = t363 * t300; + const double t905 = t869 * t59 / 0.24e2 + t340 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t290 * t356 + 0.292e3 / 0.2025e4 * t84 * t889 - 0.73e2 / 0.972e5 * t889 * t101 - 0.73e2 / 0.1944e6 * t722 * t300 + 0.73e2 / 0.6e3 * t611 * t336 - 0.73e2 / 0.12e4 * t727 * t898 + 0.73e2 / 0.3e3 * t209 * t864 - t305 * t363 / 0.18e3; + const double t906 = t905 * t131; + const double t907 = t325 * t906; + const double t912 = 0.1e1 / t19 / t34 * t149; + const double t914 = t148 * t912 * t152; + const double t916 = t747 * t915; + const double t920 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t842 - 0.3e1 / 0.8e1 * t324 * t907 + t914 * t916 / 0.32e2 ); + const double t922 = t366 * t366; + const double t923 = t922 * t511; + const double t924 = t536 * t923; + const double t927 = t331 * t331; + const double t928 = t927 * t43; + const double t930 = t21 * t335; + const double t937 = t26 * t930 * t154 / 0.4e1 + t26 * t930 / 0.4e1 + t30 * t38; + const double t942 = t410 * t418; + const double t944 = 0.1e1 / t413 / t37; + const double t945 = t942 * t944; + const double t948 = t36 * t414; + const double t952 = ( t32 * t928 + t32 * t937 * t43 + t676 * t679 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t945 - 0.3e1 / 0.16e2 * t164 * t948 ) * t46; + const double t953 = t952 * t51; + const double t956 = t356 * t356; + const double t960 = t353 * t353; + const double t963 = t53 * t742; + const double t964 = t963 * t91; + const double t967 = -0.3e1 / 0.4e1 * t701 * t704 + 0.81e2 / 0.8e2 * t451 * t960 - 0.15e2 / 0.2e1 * t795 * t964; + const double t978 = t35 * t414; + const double t981 = t953 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t956 + 0.292e3 / 0.2025e4 * t84 * t967 - 0.73e2 / 0.972e5 * t967 * t101 + 0.73e2 / 0.3e3 * t722 * t336 + 0.1971e4 / 0.1e3 * t480 * t945 - 0.73e2 / 0.2e3 * t209 * t948 + t110 * t978 / 0.12e3; + const double t982 = t981 * t131; + const double t983 = t325 * t982; + const double t987 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t924 - 0.3e1 / 0.8e1 * t324 * t983 ); + + + v2rho2 = 0.2e1 * rho * t530 + 0.4e1 * t247; + v2rhosigma = 0.2e1 * rho * t655 + 0.2e1 * t322; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t753 + 0.2e1 * t371; + v2sigma2 = 0.2e1 * rho * t839; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t920; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t987; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + constexpr double t149 = kappa * kappa; + constexpr double t268 = t51 * t54; + constexpr double t276 = b * t54; + constexpr double t281 = t90 * t54; + constexpr double t513 = e * t88; + constexpr double t642 = t90 * t53; + constexpr double t915 = t73 * t54; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t142 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t138 ); + const double t143 = 0.1e1 / t56; + const double t144 = t18 * t143; + const double t148 = t7 * t18; + const double t150 = t19 * t149; + const double t151 = t133 * t133; + const double t152 = 0.1e1 / t151; + const double t153 = t35 * t23; + const double t154 = safe_math::log( t25 ); + const double t159 = -t26 * t153 * t154 / 0.8e1 - t30 * t21; + const double t160 = t159 * t43; + const double t163 = 0.1e1 / t42 / t41; + const double t164 = t32 * t163; + const double t165 = t34 * rho; + const double t166 = 0.1e1 / t165; + const double t167 = t33 * t166; + const double t168 = t167 * t38; + const double t172 = ( t32 * t160 + t164 * t168 / 0.16e2 ) * t46; + const double t173 = t172 * t51; + const double t177 = 0.1e1 / t56 / t165; + const double t178 = t55 * t177; + const double t184 = -0.5e1 / 0.3e1 * t62 * t58 + t178 / 0.3e1; + const double t185 = t184 * t46; + const double t186 = t51 * t79; + const double t190 = 0.1e1 / t78 / t77; + const double t191 = t71 * t190; + const double t195 = t91 * t184; + const double t198 = 0.5e1 * b * t184 * t74 + 0.25e2 / 0.9e1 * t72 * t195; + const double t203 = 0.3e1 / 0.4e1 * t185 * t186 - 0.27e2 / 0.4e2 * t191 * t198 - 0.2e1 / 0.27e2 * t73 * t178; + const double t208 = 0.1e1 / t101; + const double t209 = t84 * t208; + const double t211 = t93 * t34; + const double t213 = 0.1e1 / t19 / t211; + const double t214 = t92 * t213; + const double t217 = -0.324e3 * t168 - 0.16e4 / 0.3e1 * t91 * t214; + const double t222 = t166 * t38; + const double t225 = t119 * rho; + const double t226 = 0.1e1 / t225; + const double t230 = t173 * t59 / 0.24e2 - t52 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t84 * t203 - 0.73e2 / 0.972e5 * t203 * t101 - 0.73e2 / 0.1944e6 * t209 * t217 - 0.5e2 / 0.177147e6 * t106 * t214 - t110 * t222 / 0.36e3 - t114 * t118 * t226 / 0.72e2; + const double t232 = t130 * t129; + const double t233 = 0.1e1 / t232; + const double t234 = t124 * t233; + const double t235 = t234 * t125; + const double t236 = t51 * sigma; + const double t237 = t54 * t177; + const double t238 = t236 * t237; + const double t241 = t230 * t131 + 0.2e1 / 0.9e1 * t235 * t238; + const double t242 = t152 * t241; + const double t247 = piecewise_functor_3( t3, 0.0, -t7 * t144 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t148 * t150 * t242 ); + const double t250 = BLOC_b * t21; + const double t251 = t23 * t154; + const double t254 = 0.1e1 / sigma; + const double t256 = t250 * t251 / 0.8e1 + t30 * t254; + const double t257 = t256 * t43; + const double t258 = t32 * t257; + const double t259 = sigma * t35; + const double t260 = t259 * t38; + const double t264 = ( t258 - t164 * t260 / 0.16e2 ) * t46; + const double t265 = t264 * t51; + const double t269 = t268 * t58; + const double t272 = t54 * t58; + const double t273 = t73 * t79; + const double t274 = t272 * t273; + const double t277 = t276 * t58; + const double t278 = t277 * t74; + const double t280 = t72 * t88; + const double t283 = t280 * t281 * t58; + const double t285 = -0.5e1 / 0.8e1 * t278 - 0.25e2 / 0.72e2 * t283; + const double t288 = t272 * t73; + const double t290 = -0.3e1 / 0.32e2 * t274 - 0.27e2 / 0.4e2 * t191 * t285 + t288 / 0.36e2; + const double t296 = sigma * t53; + const double t297 = t296 * t96; + const double t300 = 0.2e3 * t91 * t297 + 0.324e3 * t260; + const double t305 = t109 * sigma; + const double t308 = t116 * t33; + const double t312 = t265 * t59 / 0.24e2 + t47 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t290 - 0.73e2 / 0.972e5 * t290 * t101 - 0.73e2 / 0.1944e6 * t209 * t300 + 0.25e2 / 0.236196e6 * t106 * t297 + t305 * t111 / 0.36e3 + t114 * t308 * t120 / 0.192e3; + const double t314 = t234 * t109; + const double t317 = t312 * t131 - t314 * t288 / 0.12e2; + const double t318 = t152 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t148 * t150 * t318 ); + const double t324 = t7 * t20; + const double t325 = t149 * t152; + const double t326 = t21 * t38; + const double t331 = -t26 * t326 * t154 / 0.8e1 - t30 * t23; + const double t332 = t331 * t43; + const double t333 = t32 * t332; + const double t334 = t37 * tau; + const double t335 = 0.1e1 / t334; + const double t336 = t36 * t335; + const double t340 = ( t333 + t164 * t336 / 0.16e2 ) * t46; + const double t341 = t340 * t51; + const double t344 = t54 * t64; + const double t347 = t276 * t64; + const double t353 = 0.5e1 * t347 * t74 + 0.25e2 / 0.9e1 * t280 * t281 * t64; + const double t356 = 0.3e1 / 0.4e1 * t344 * t273 - 0.27e2 / 0.4e2 * t191 * t353; + const double t363 = t35 * t335; + const double t366 = t341 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t356 - 0.73e2 / 0.972e5 * t356 * t101 + 0.73e2 / 0.6e3 * t209 * t336 - t110 * t363 / 0.36e3; + const double t367 = t366 * t131; + const double t368 = t325 * t367; + const double t371 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t324 * t368 ); + const double t374 = t18 * t64; + const double t378 = t143 * t149; + const double t383 = 0.1e1 / t151 / t133; + const double t384 = t241 * t241; + const double t385 = t383 * t384; + const double t389 = t159 * t159; + const double t390 = t389 * t43; + const double t392 = t166 * t23; + const double t399 = t26 * t392 * t154 / 0.4e1 + t26 * t392 / 0.4e1 + t30 * t35; + const double t402 = t32 * t159; + const double t403 = t163 * t33; + const double t404 = t403 * t222; + const double t407 = t42 * t42; + const double t408 = 0.1e1 / t407; + const double t409 = t32 * t408; + const double t410 = t33 * t33; + const double t411 = 0.1e1 / t211; + const double t412 = t410 * t411; + const double t413 = t37 * t37; + const double t414 = 0.1e1 / t413; + const double t418 = 0.1e1 / t93; + const double t419 = t33 * t418; + const double t420 = t419 * t38; + const double t424 = ( t32 * t390 + t32 * t399 * t43 + t402 * t404 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t412 * t414 - 0.3e1 / 0.16e2 * t164 * t420 ) * t46; + const double t425 = t424 * t51; + const double t431 = 0.1e1 / t56 / t93; + const double t432 = t55 * t431; + const double t435 = t203 * t203; + const double t440 = 0.4e2 / 0.9e1 * t62 * t177 - 0.11e2 / 0.9e1 * t432; + const double t441 = t440 * t46; + const double t444 = t51 * t190; + const double t445 = t444 * t198; + const double t448 = t77 * t77; + const double t450 = 0.1e1 / t78 / t448; + const double t451 = t71 * t450; + const double t452 = t198 * t198; + const double t455 = b * t440; + const double t458 = t184 * t184; + const double t462 = t91 * t440; + const double t465 = 0.5e1 * t455 * t74 + 0.5e2 / 0.9e1 * b * t458 * t91 + 0.25e2 / 0.9e1 * t72 * t462; + const double t470 = 0.3e1 / 0.4e1 * t441 * t186 - 0.3e1 / 0.4e1 * t185 * t445 + 0.81e2 / 0.8e2 * t451 * t452 - 0.27e2 / 0.4e2 * t191 * t465 + 0.22e2 / 0.81e2 * t73 * t432; + const double t475 = t203 * t208; + const double t479 = 0.1e1 / t101 / t100; + const double t480 = t84 * t479; + const double t481 = t217 * t217; + const double t485 = t93 * t165; + const double t487 = 0.1e1 / t19 / t485; + const double t488 = t92 * t487; + const double t491 = 0.972e3 * t420 + 0.304e5 / 0.9e1 * t91 * t488; + const double t496 = t418 * t38; + const double t499 = t119 * t34; + const double t500 = 0.1e1 / t499; + const double t504 = t425 * t59 / 0.24e2 - 0.2e1 / 0.9e1 * t173 * t178 + 0.11e2 / 0.27e2 * t52 * t432 + 0.292e3 / 0.2025e4 * t435 + 0.292e3 / 0.2025e4 * t84 * t470 - 0.73e2 / 0.972e5 * t470 * t101 - 0.73e2 / 0.972e5 * t475 * t217 + 0.73e2 / 0.3888e6 * t480 * t481 - 0.73e2 / 0.1944e6 * t209 * t491 + 0.95e3 / 0.531441e6 * t106 * t488 + t110 * t496 / 0.12e3 + t114 * t118 * t500 / 0.8e1; + const double t506 = t230 * t233; + const double t507 = t506 * t125; + const double t510 = t130 * t130; + const double t511 = 0.1e1 / t510; + const double t512 = t124 * t511; + const double t514 = t512 * t513; + const double t515 = t90 * t33; + const double t516 = t53 * t487; + const double t517 = t515 * t516; + const double t520 = t54 * t431; + const double t521 = t236 * t520; + const double t524 = t504 * t131 + 0.4e1 / 0.9e1 * t507 * t238 + 0.4e1 / 0.27e2 * t514 * t517 - 0.22e2 / 0.27e2 * t235 * t521; + const double t525 = t152 * t524; + const double t530 = piecewise_functor_3( t3, 0.0, t7 * t374 * t138 / 0.12e2 - t148 * t378 * t242 / 0.4e1 + 0.3e1 / 0.4e1 * t148 * t150 * t385 - 0.3e1 / 0.8e1 * t148 * t150 * t525 ); + const double t536 = t149 * t383; + const double t537 = t317 * t241; + const double t538 = t536 * t537; + const double t541 = t159 * t256; + const double t544 = BLOC_b * t35; + const double t549 = -t544 * t251 / 0.8e1 - t544 * t23 / 0.4e1; + const double t550 = t549 * t43; + const double t552 = t32 * t256; + const double t555 = t163 * sigma; + const double t556 = t555 * t111; + const double t559 = 0.1e1 / t94; + const double t560 = t117 * t559; + const double t564 = sigma * t166; + const double t565 = t564 * t38; + const double t569 = ( t32 * t541 * t43 + t32 * t550 + t552 * t404 / 0.16e2 - t402 * t556 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t560 * t414 + t164 * t565 / 0.8e1 ) * t46; + const double t570 = t569 * t51; + const double t577 = t268 * t177; + const double t582 = t237 * t273; + const double t584 = t272 * t46; + const double t585 = t584 * t445; + const double t587 = t444 * t285; + const double t590 = t285 * t198; + const double t593 = t276 * t177; + const double t594 = t593 * t74; + const double t596 = t277 * t195; + const double t599 = t280 * t281 * t177; + const double t601 = 0.5e1 / 0.3e1 * t594 - 0.25e2 / 0.36e2 * t596 + 0.25e2 / 0.27e2 * t599; + const double t604 = t237 * t73; + const double t606 = t582 / 0.4e1 + 0.3e1 / 0.64e2 * t585 - 0.3e1 / 0.8e1 * t185 * t587 + 0.81e2 / 0.8e2 * t451 * t590 - 0.27e2 / 0.4e2 * t191 * t601 - 0.2e1 / 0.27e2 * t604; + const double t611 = t290 * t208; + const double t616 = t300 * t217; + const double t620 = t296 * t213; + const double t623 = -0.648e3 * t565 - 0.32e4 / 0.3e1 * t91 * t620; + const double t633 = t570 * t59 / 0.24e2 - t265 * t178 / 0.9e1 + t172 * t269 / 0.24e2 - t47 * t577 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t290 + 0.292e3 / 0.2025e4 * t84 * t606 - 0.73e2 / 0.972e5 * t606 * t101 - 0.73e2 / 0.1944e6 * t611 * t217 - 0.73e2 / 0.1944e6 * t475 * t300 + 0.73e2 / 0.3888e6 * t480 * t616 - 0.73e2 / 0.1944e6 * t209 * t623 - 0.1e3 / 0.177147e6 * t106 * t620 - t305 * t222 / 0.18e3 - t114 * t308 * t226 / 0.24e2; + const double t635 = t312 * t233; + const double t636 = t635 * t125; + const double t639 = t506 * t109; + const double t644 = t642 * t213 * sigma; + const double t649 = t633 * t131 + 0.2e1 / 0.9e1 * t636 * t238 - t639 * t288 / 0.12e2 - t514 * t644 / 0.18e2 + 0.2e1 / 0.9e1 * t314 * t604; + const double t650 = t152 * t649; + const double t655 = piecewise_functor_3( t3, 0.0, -t148 * t378 * t318 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t538 - 0.3e1 / 0.8e1 * t148 * t150 * t650 ); + const double t658 = t7 * t144; + const double t662 = t536 * t367 * t241; + const double t665 = t159 * t331; + const double t673 = t26 * t111 * t154 / 0.8e1 + t26 * t111 / 0.4e1; + const double t674 = t673 * t43; + const double t676 = t32 * t331; + const double t679 = t403 * t363; + const double t682 = t410 * t559; + const double t684 = 0.1e1 / t413 / tau; + const double t688 = t167 * t335; + const double t692 = ( t32 * t665 * t43 + t32 * t674 + t676 * t404 / 0.16e2 + t402 * t679 / 0.16e2 + 0.3e1 / 0.512e3 * t409 * t682 * t684 - t164 * t688 / 0.8e1 ) * t46; + const double t693 = t692 * t51; + const double t701 = t344 * t46; + const double t704 = t444 * t353; + const double t707 = t353 * t198; + const double t714 = -0.25e2 / 0.3e1 * t278 + 0.5e2 / 0.9e1 * t347 * t195 - 0.125e3 / 0.27e2 * t283; + const double t717 = -0.5e1 / 0.4e1 * t274 - 0.3e1 / 0.8e1 * t701 * t445 - 0.3e1 / 0.8e1 * t185 * t704 + 0.81e2 / 0.8e2 * t451 * t707 - 0.27e2 / 0.4e2 * t191 * t714; + const double t722 = t356 * t208; + const double t727 = t480 * t33; + const double t728 = t363 * t217; + const double t733 = t166 * t335; + const double t736 = t693 * t59 / 0.24e2 - t341 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t356 + 0.292e3 / 0.2025e4 * t84 * t717 - 0.73e2 / 0.972e5 * t717 * t101 - 0.73e2 / 0.1944e6 * t722 * t217 + 0.73e2 / 0.6e3 * t475 * t336 - 0.73e2 / 0.12e4 * t727 * t728 - 0.73e2 / 0.3e3 * t209 * t688 + t110 * t733 / 0.18e3; + const double t737 = t736 * t131; + const double t738 = t325 * t737; + const double t742 = 0.1e1 / t19 / t165; + const double t743 = t742 * t149; + const double t745 = t148 * t743 * t152; + const double t746 = t366 * t233; + const double t747 = t746 * t109; + const double t748 = t73 * t55; + const double t749 = t747 * t748; + const double t753 = piecewise_functor_3( t3, 0.0, -t658 * t368 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t662 - 0.3e1 / 0.8e1 * t324 * t738 - t745 * t749 / 0.12e2 ); + const double t756 = t317 * t317; + const double t757 = t383 * t756; + const double t761 = t256 * t256; + const double t762 = t761 * t43; + const double t767 = 0.1e1 / t33; + const double t769 = t250 * t23 * t254 / 0.4e1 - t30 * t767; + const double t774 = t419 * t414; + const double t777 = t163 * t35; + const double t778 = t777 * t38; + const double t782 = ( t32 * t762 + t32 * t769 * t43 - t552 * t556 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t774 - t32 * t778 / 0.16e2 ) * t46; + const double t783 = t782 * t51; + const double t788 = t290 * t290; + const double t790 = t584 * t587; + const double t792 = t285 * t285; + const double t795 = t191 * b; + const double t796 = t53 * t96; + const double t797 = t91 * t796; + const double t798 = t795 * t797; + const double t800 = 0.3e1 / 0.32e2 * t790 + 0.81e2 / 0.8e2 * t451 * t792 - 0.15e2 / 0.128e3 * t798; + const double t807 = t300 * t300; + const double t812 = 0.324e3 * t111 + 0.2e3 * t797; + const double t818 = t109 * t35; + const double t821 = t116 * sigma; + const double t825 = t783 * t59 / 0.24e2 + t264 * t269 / 0.12e2 + 0.292e3 / 0.2025e4 * t788 + 0.292e3 / 0.2025e4 * t84 * t800 - 0.73e2 / 0.972e5 * t800 * t101 - 0.73e2 / 0.972e5 * t611 * t300 + 0.73e2 / 0.3888e6 * t480 * t807 - 0.73e2 / 0.1944e6 * t209 * t812 + 0.25e2 / 0.236196e6 * t105 * t642 * t96 + t818 * t38 / 0.36e3 + t114 * t821 * t120 / 0.96e2; + const double t827 = t635 * t109; + const double t830 = t512 * e; + const double t833 = t825 * t131 - t827 * t288 / 0.6e1 + t830 * t797 / 0.48e2; + const double t834 = t152 * t833; + const double t839 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t148 * t150 * t757 - 0.3e1 / 0.8e1 * t148 * t150 * t834 ); + const double t842 = t536 * t367 * t317; + const double t845 = t256 * t331; + const double t846 = t845 * t43; + const double t848 = t38 * t154; + const double t853 = -t250 * t848 / 0.8e1 - t250 * t38 / 0.4e1; + const double t854 = t853 * t43; + const double t860 = t117 * t418; + const double t864 = t259 * t335; + const double t868 = ( t32 * t846 + t32 * t854 - t676 * t556 / 0.16e2 + t552 * t679 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t860 * t684 + t164 * t864 / 0.8e1 ) * t46; + const double t869 = t868 * t51; + const double t878 = t584 * t704; + const double t880 = t353 * t285; + const double t884 = 0.1e1 / t19 / t93; + const double t885 = t53 * t884; + const double t886 = t885 * t91; + const double t887 = t795 * t886; + const double t889 = -0.3e1 / 0.8e1 * t701 * t587 + 0.3e1 / 0.64e2 * t878 + 0.81e2 / 0.8e2 * t451 * t880 + 0.15e2 / 0.16e2 * t887; + const double t898 = t363 * t300; + const double t905 = t869 * t59 / 0.24e2 + t340 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t290 * t356 + 0.292e3 / 0.2025e4 * t84 * t889 - 0.73e2 / 0.972e5 * t889 * t101 - 0.73e2 / 0.1944e6 * t722 * t300 + 0.73e2 / 0.6e3 * t611 * t336 - 0.73e2 / 0.12e4 * t727 * t898 + 0.73e2 / 0.3e3 * t209 * t864 - t305 * t363 / 0.18e3; + const double t906 = t905 * t131; + const double t907 = t325 * t906; + const double t912 = 0.1e1 / t19 / t34 * t149; + const double t914 = t148 * t912 * t152; + const double t916 = t747 * t915; + const double t920 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t842 - 0.3e1 / 0.8e1 * t324 * t907 + t914 * t916 / 0.32e2 ); + const double t922 = t366 * t366; + const double t923 = t922 * t511; + const double t924 = t536 * t923; + const double t927 = t331 * t331; + const double t928 = t927 * t43; + const double t930 = t21 * t335; + const double t937 = t26 * t930 * t154 / 0.4e1 + t26 * t930 / 0.4e1 + t30 * t38; + const double t942 = t410 * t418; + const double t944 = 0.1e1 / t413 / t37; + const double t945 = t942 * t944; + const double t948 = t36 * t414; + const double t952 = ( t32 * t928 + t32 * t937 * t43 + t676 * t679 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t945 - 0.3e1 / 0.16e2 * t164 * t948 ) * t46; + const double t953 = t952 * t51; + const double t956 = t356 * t356; + const double t960 = t353 * t353; + const double t963 = t53 * t742; + const double t964 = t963 * t91; + const double t967 = -0.3e1 / 0.4e1 * t701 * t704 + 0.81e2 / 0.8e2 * t451 * t960 - 0.15e2 / 0.2e1 * t795 * t964; + const double t978 = t35 * t414; + const double t981 = t953 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t956 + 0.292e3 / 0.2025e4 * t84 * t967 - 0.73e2 / 0.972e5 * t967 * t101 + 0.73e2 / 0.3e3 * t722 * t336 + 0.1971e4 / 0.1e3 * t480 * t945 - 0.73e2 / 0.2e3 * t209 * t948 + t110 * t978 / 0.12e3; + const double t982 = t981 * t131; + const double t983 = t325 * t982; + const double t987 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t924 - 0.3e1 / 0.8e1 * t324 * t983 ); + + + vrho = 0.2e1 * rho * t247 + 0.2e1 * t142; + vsigma = 0.2e1 * rho * t322; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t371; + v2rho2 = 0.2e1 * rho * t530 + 0.4e1 * t247; + v2rhosigma = 0.2e1 * rho * t655 + 0.2e1 * t322; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t753 + 0.2e1 * t371; + v2sigma2 = 0.2e1 * rho * t839; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t920; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t987; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t147 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t143 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t259 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t157 * t255 ); + + + eps = t147 + t259; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + constexpr double t279 = kappa * kappa; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t147 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t143 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t259 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t157 * t255 ); + const double t260 = t7 * t7; + const double t261 = 0.1e1 / t260; + const double t262 = t17 * t261; + const double t264 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t262 ); + const double t267 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t264 ); + const double t268 = t267 * t27; + const double t272 = t27 * t27; + const double t273 = 0.1e1 / t272; + const double t274 = t26 * t273; + const double t277 = t6 * t274 * t143 / 0.8e1; + const double t278 = t6 * t26; + const double t280 = t27 * t279; + const double t281 = t138 * t138; + const double t282 = 0.1e1 / t281; + const double t283 = t43 * t31; + const double t284 = safe_math::log( t33 ); + const double t289 = -t34 * t283 * t284 / 0.8e1 - t38 * t29; + const double t290 = t289 * t51; + const double t293 = 0.1e1 / t50 / t49; + const double t294 = t40 * t293; + const double t295 = t42 * rho_a; + const double t296 = 0.1e1 / t295; + const double t297 = t41 * t296; + const double t298 = t297 * t46; + const double t302 = ( t40 * t290 + t294 * t298 / 0.16e2 ) * t54; + const double t306 = 0.1e1 / t62 / t295; + const double t307 = t60 * t306; + const double t312 = sigma_aa * t306; + const double t314 = -0.5e1 / 0.3e1 * tau_a * t64 + t312 / 0.3e1; + const double t315 = t314 * t54; + const double t316 = t59 * t85; + const double t320 = 0.1e1 / t84 / t83; + const double t321 = t77 * t320; + const double t325 = t97 * t314; + const double t328 = 0.5e1 * b * t314 * t80 + 0.25e2 / 0.9e1 * t78 * t325; + const double t331 = t79 * t312; + const double t333 = 0.3e1 / 0.4e1 * t315 * t316 - 0.27e2 / 0.4e2 * t321 * t328 - 0.2e1 / 0.27e2 * t331; + const double t338 = 0.1e1 / t106; + const double t339 = t90 * t338; + const double t341 = t98 * t42; + const double t343 = 0.1e1 / t61 / t341; + const double t347 = -0.324e3 * t298 - 0.8e3 / 0.3e1 * t97 * t41 * t343; + const double t353 = t296 * t46; + const double t356 = t125 * rho_a; + const double t357 = 0.1e1 / t356; + const double t361 = t302 * t65 / 0.24e2 - t55 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t90 * t333 - 0.73e2 / 0.972e5 * t333 * t106 - 0.73e2 / 0.1944e6 * t339 * t347 - 0.25e2 / 0.177147e6 * t110 * t111 * t343 - t116 * t353 / 0.36e3 - t120 * t124 * t357 / 0.288e3; + const double t363 = t135 * t134; + const double t364 = 0.1e1 / t363; + const double t366 = t130 * t364 * t115; + const double t369 = t361 * t136 + 0.2e1 / 0.9e1 * t366 * t331; + const double t370 = t282 * t369; + const double t371 = t280 * t370; + const double t375 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t268 * t143 - t277 - 0.3e1 / 0.8e1 * t278 * t371 ); + const double t376 = t149 * t261; + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t376 ); + const double t381 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t378 ); + const double t382 = t381 * t27; + const double t386 = t156 * t273; + const double t389 = t6 * t386 * t255 / 0.8e1; + const double t391 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t382 * t255 - t389 ); + const double t395 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t262 ); + const double t398 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t395 ); + const double t399 = t398 * t27; + const double t404 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t399 * t143 - t277 ); + const double t406 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t376 ); + const double t409 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t406 ); + const double t410 = t409 * t27; + const double t414 = t6 * t156; + const double t415 = t250 * t250; + const double t416 = 0.1e1 / t415; + const double t417 = t172 * t160; + const double t418 = safe_math::log( t162 ); + const double t423 = -t163 * t417 * t418 / 0.8e1 - t167 * t158; + const double t424 = t423 * t180; + const double t427 = 0.1e1 / t179 / t178; + const double t428 = t169 * t427; + const double t429 = t171 * rho_b; + const double t430 = 0.1e1 / t429; + const double t431 = t170 * t430; + const double t432 = t431 * t175; + const double t436 = ( t169 * t424 + t428 * t432 / 0.16e2 ) * t54; + const double t440 = 0.1e1 / t186 / t429; + const double t441 = t184 * t440; + const double t446 = sigma_bb * t440; + const double t448 = -0.5e1 / 0.3e1 * tau_b * t188 + t446 / 0.3e1; + const double t449 = t448 * t54; + const double t450 = t59 * t208; + const double t454 = 0.1e1 / t207 / t206; + const double t455 = t201 * t454; + const double t459 = t97 * t448; + const double t462 = 0.5e1 * b * t448 * t203 + 0.25e2 / 0.9e1 * t202 * t459; + const double t465 = t79 * t446; + const double t467 = 0.3e1 / 0.4e1 * t449 * t450 - 0.27e2 / 0.4e2 * t455 * t462 - 0.2e1 / 0.27e2 * t465; + const double t472 = 0.1e1 / t225; + const double t473 = t213 * t472; + const double t475 = t217 * t171; + const double t477 = 0.1e1 / t185 / t475; + const double t481 = -0.324e3 * t432 - 0.8e3 / 0.3e1 * t97 * t170 * t477; + const double t487 = t430 * t175; + const double t490 = t238 * rho_b; + const double t491 = 0.1e1 / t490; + const double t495 = t436 * t189 / 0.24e2 - t183 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t213 * t467 - 0.73e2 / 0.972e5 * t467 * t225 - 0.73e2 / 0.1944e6 * t473 * t481 - 0.25e2 / 0.177147e6 * t110 * t228 * t477 - t232 * t487 / 0.36e3 - t120 * t237 * t491 / 0.288e3; + const double t497 = t247 * t246; + const double t498 = 0.1e1 / t497; + const double t500 = t243 * t498 * t115; + const double t503 = t495 * t248 + 0.2e1 / 0.9e1 * t500 * t465; + const double t504 = t416 * t503; + const double t505 = t280 * t504; + const double t509 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t410 * t255 - t389 - 0.3e1 / 0.8e1 * t414 * t505 ); + const double t512 = BLOC_b * t29; + const double t513 = t31 * t284; + const double t516 = 0.1e1 / sigma_aa; + const double t518 = t512 * t513 / 0.8e1 + t38 * t516; + const double t519 = t518 * t51; + const double t520 = t40 * t519; + const double t521 = sigma_aa * t43; + const double t522 = t521 * t46; + const double t526 = ( t520 - t294 * t522 / 0.16e2 ) * t54; + const double t529 = t59 * t64; + const double t532 = t64 * t54; + const double t533 = t532 * t316; + const double t535 = b * t64; + const double t536 = t535 * t80; + const double t539 = t78 * t97 * t64; + const double t541 = -0.5e1 / 0.8e1 * t536 - 0.25e2 / 0.72e2 * t539; + const double t544 = t532 * t59; + const double t546 = -0.3e1 / 0.32e2 * t533 - 0.27e2 / 0.4e2 * t321 * t541 + t544 / 0.36e2; + const double t555 = 0.1e3 * t97 * sigma_aa * t101 + 0.324e3 * t522; + const double t558 = t96 * sigma_aa; + const double t562 = t115 * sigma_aa; + const double t565 = t122 * t41; + const double t569 = t526 * t65 / 0.24e2 + t55 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t546 - 0.73e2 / 0.972e5 * t546 * t106 - 0.73e2 / 0.1944e6 * t339 * t555 + 0.25e2 / 0.472392e6 * t110 * t558 * t101 + t562 * t117 / 0.36e3 + t120 * t565 * t126 / 0.768e3; + const double t573 = t569 * t136 - t366 * t544 / 0.12e2; + const double t574 = t282 * t573; + const double t575 = t280 * t574; + const double t578 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t278 * t575 ); + const double t579 = BLOC_b * t158; + const double t580 = t160 * t418; + const double t583 = 0.1e1 / sigma_bb; + const double t585 = t579 * t580 / 0.8e1 + t167 * t583; + const double t586 = t585 * t180; + const double t587 = t169 * t586; + const double t588 = sigma_bb * t172; + const double t589 = t588 * t175; + const double t593 = ( t587 - t428 * t589 / 0.16e2 ) * t54; + const double t596 = t59 * t188; + const double t599 = t188 * t54; + const double t600 = t599 * t450; + const double t602 = b * t188; + const double t603 = t602 * t203; + const double t606 = t202 * t97 * t188; + const double t608 = -0.5e1 / 0.8e1 * t603 - 0.25e2 / 0.72e2 * t606; + const double t611 = t599 * t59; + const double t613 = -0.3e1 / 0.32e2 * t600 - 0.27e2 / 0.4e2 * t455 * t608 + t611 / 0.36e2; + const double t622 = 0.1e3 * t97 * sigma_bb * t220 + 0.324e3 * t589; + const double t625 = t96 * sigma_bb; + const double t629 = t115 * sigma_bb; + const double t632 = t122 * t170; + const double t636 = t593 * t189 / 0.24e2 + t183 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t613 - 0.73e2 / 0.972e5 * t613 * t225 - 0.73e2 / 0.1944e6 * t473 * t622 + 0.25e2 / 0.472392e6 * t110 * t625 * t220 + t629 * t233 / 0.36e3 + t120 * t632 * t239 / 0.768e3; + const double t640 = t636 * t248 - t500 * t611 / 0.12e2; + const double t641 = t416 * t640; + const double t642 = t280 * t641; + const double t645 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t414 * t642 ); + const double t646 = t6 * t28; + const double t647 = t279 * t282; + const double t648 = t29 * t46; + const double t653 = -t34 * t648 * t284 / 0.8e1 - t38 * t31; + const double t654 = t653 * t51; + const double t655 = t40 * t654; + const double t656 = t45 * tau_a; + const double t657 = 0.1e1 / t656; + const double t658 = t44 * t657; + const double t662 = ( t655 + t294 * t658 / 0.16e2 ) * t54; + const double t665 = t69 * t54; + const double t668 = b * t69; + const double t674 = 0.5e1 * t668 * t80 + 0.25e2 / 0.9e1 * t78 * t97 * t69; + const double t677 = 0.3e1 / 0.4e1 * t665 * t316 - 0.27e2 / 0.4e2 * t321 * t674; + const double t684 = t43 * t657; + const double t687 = t662 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t677 - 0.73e2 / 0.972e5 * t677 * t106 + 0.73e2 / 0.6e3 * t339 * t658 - t116 * t684 / 0.36e3; + const double t688 = t687 * t136; + const double t689 = t647 * t688; + const double t692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t646 * t689 ); + const double t693 = t6 * t157; + const double t694 = t279 * t416; + const double t695 = t158 * t175; + const double t700 = -t163 * t695 * t418 / 0.8e1 - t167 * t160; + const double t701 = t700 * t180; + const double t702 = t169 * t701; + const double t703 = t174 * tau_b; + const double t704 = 0.1e1 / t703; + const double t705 = t173 * t704; + const double t709 = ( t702 + t428 * t705 / 0.16e2 ) * t54; + const double t712 = t193 * t54; + const double t715 = b * t193; + const double t721 = 0.5e1 * t715 * t203 + 0.25e2 / 0.9e1 * t202 * t97 * t193; + const double t724 = 0.3e1 / 0.4e1 * t712 * t450 - 0.27e2 / 0.4e2 * t455 * t721; + const double t731 = t172 * t704; + const double t734 = t709 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t724 - 0.73e2 / 0.972e5 * t724 * t225 + 0.73e2 / 0.6e3 * t473 * t705 - t232 * t731 / 0.36e3; + const double t735 = t734 * t248; + const double t736 = t694 * t735; + const double t739 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t693 * t736 ); + + + eps = t147 + t259; + vrho_a = t147 + t259 + t7 * ( t375 + t391 ); + vrho_b = t147 + t259 + t7 * ( t404 + t509 ); + vsigma_aa = t7 * t578; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t645; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t692; + vtau_b = t7 * t739; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + constexpr double t279 = kappa * kappa; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t260 = t7 * t7; + const double t261 = 0.1e1 / t260; + const double t262 = t17 * t261; + const double t264 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t262 ); + const double t267 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t264 ); + const double t268 = t267 * t27; + const double t272 = t27 * t27; + const double t273 = 0.1e1 / t272; + const double t274 = t26 * t273; + const double t277 = t6 * t274 * t143 / 0.8e1; + const double t278 = t6 * t26; + const double t280 = t27 * t279; + const double t281 = t138 * t138; + const double t282 = 0.1e1 / t281; + const double t283 = t43 * t31; + const double t284 = safe_math::log( t33 ); + const double t289 = -t34 * t283 * t284 / 0.8e1 - t38 * t29; + const double t290 = t289 * t51; + const double t293 = 0.1e1 / t50 / t49; + const double t294 = t40 * t293; + const double t295 = t42 * rho_a; + const double t296 = 0.1e1 / t295; + const double t297 = t41 * t296; + const double t298 = t297 * t46; + const double t302 = ( t40 * t290 + t294 * t298 / 0.16e2 ) * t54; + const double t306 = 0.1e1 / t62 / t295; + const double t307 = t60 * t306; + const double t312 = sigma_aa * t306; + const double t314 = -0.5e1 / 0.3e1 * tau_a * t64 + t312 / 0.3e1; + const double t315 = t314 * t54; + const double t316 = t59 * t85; + const double t320 = 0.1e1 / t84 / t83; + const double t321 = t77 * t320; + const double t325 = t97 * t314; + const double t328 = 0.5e1 * b * t314 * t80 + 0.25e2 / 0.9e1 * t78 * t325; + const double t331 = t79 * t312; + const double t333 = 0.3e1 / 0.4e1 * t315 * t316 - 0.27e2 / 0.4e2 * t321 * t328 - 0.2e1 / 0.27e2 * t331; + const double t338 = 0.1e1 / t106; + const double t339 = t90 * t338; + const double t341 = t98 * t42; + const double t343 = 0.1e1 / t61 / t341; + const double t347 = -0.324e3 * t298 - 0.8e3 / 0.3e1 * t97 * t41 * t343; + const double t353 = t296 * t46; + const double t356 = t125 * rho_a; + const double t357 = 0.1e1 / t356; + const double t361 = t302 * t65 / 0.24e2 - t55 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t90 * t333 - 0.73e2 / 0.972e5 * t333 * t106 - 0.73e2 / 0.1944e6 * t339 * t347 - 0.25e2 / 0.177147e6 * t110 * t111 * t343 - t116 * t353 / 0.36e3 - t120 * t124 * t357 / 0.288e3; + const double t363 = t135 * t134; + const double t364 = 0.1e1 / t363; + const double t366 = t130 * t364 * t115; + const double t369 = t361 * t136 + 0.2e1 / 0.9e1 * t366 * t331; + const double t370 = t282 * t369; + const double t371 = t280 * t370; + const double t375 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t268 * t143 - t277 - 0.3e1 / 0.8e1 * t278 * t371 ); + const double t376 = t149 * t261; + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t376 ); + const double t381 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t378 ); + const double t382 = t381 * t27; + const double t386 = t156 * t273; + const double t389 = t6 * t386 * t255 / 0.8e1; + const double t391 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t382 * t255 - t389 ); + const double t395 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t262 ); + const double t398 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t395 ); + const double t399 = t398 * t27; + const double t404 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t399 * t143 - t277 ); + const double t406 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t376 ); + const double t409 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t406 ); + const double t410 = t409 * t27; + const double t414 = t6 * t156; + const double t415 = t250 * t250; + const double t416 = 0.1e1 / t415; + const double t417 = t172 * t160; + const double t418 = safe_math::log( t162 ); + const double t423 = -t163 * t417 * t418 / 0.8e1 - t167 * t158; + const double t424 = t423 * t180; + const double t427 = 0.1e1 / t179 / t178; + const double t428 = t169 * t427; + const double t429 = t171 * rho_b; + const double t430 = 0.1e1 / t429; + const double t431 = t170 * t430; + const double t432 = t431 * t175; + const double t436 = ( t169 * t424 + t428 * t432 / 0.16e2 ) * t54; + const double t440 = 0.1e1 / t186 / t429; + const double t441 = t184 * t440; + const double t446 = sigma_bb * t440; + const double t448 = -0.5e1 / 0.3e1 * tau_b * t188 + t446 / 0.3e1; + const double t449 = t448 * t54; + const double t450 = t59 * t208; + const double t454 = 0.1e1 / t207 / t206; + const double t455 = t201 * t454; + const double t459 = t97 * t448; + const double t462 = 0.5e1 * b * t448 * t203 + 0.25e2 / 0.9e1 * t202 * t459; + const double t465 = t79 * t446; + const double t467 = 0.3e1 / 0.4e1 * t449 * t450 - 0.27e2 / 0.4e2 * t455 * t462 - 0.2e1 / 0.27e2 * t465; + const double t472 = 0.1e1 / t225; + const double t473 = t213 * t472; + const double t475 = t217 * t171; + const double t477 = 0.1e1 / t185 / t475; + const double t481 = -0.324e3 * t432 - 0.8e3 / 0.3e1 * t97 * t170 * t477; + const double t487 = t430 * t175; + const double t490 = t238 * rho_b; + const double t491 = 0.1e1 / t490; + const double t495 = t436 * t189 / 0.24e2 - t183 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t213 * t467 - 0.73e2 / 0.972e5 * t467 * t225 - 0.73e2 / 0.1944e6 * t473 * t481 - 0.25e2 / 0.177147e6 * t110 * t228 * t477 - t232 * t487 / 0.36e3 - t120 * t237 * t491 / 0.288e3; + const double t497 = t247 * t246; + const double t498 = 0.1e1 / t497; + const double t500 = t243 * t498 * t115; + const double t503 = t495 * t248 + 0.2e1 / 0.9e1 * t500 * t465; + const double t504 = t416 * t503; + const double t505 = t280 * t504; + const double t509 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t410 * t255 - t389 - 0.3e1 / 0.8e1 * t414 * t505 ); + const double t512 = BLOC_b * t29; + const double t513 = t31 * t284; + const double t516 = 0.1e1 / sigma_aa; + const double t518 = t512 * t513 / 0.8e1 + t38 * t516; + const double t519 = t518 * t51; + const double t520 = t40 * t519; + const double t521 = sigma_aa * t43; + const double t522 = t521 * t46; + const double t526 = ( t520 - t294 * t522 / 0.16e2 ) * t54; + const double t529 = t59 * t64; + const double t532 = t64 * t54; + const double t533 = t532 * t316; + const double t535 = b * t64; + const double t536 = t535 * t80; + const double t539 = t78 * t97 * t64; + const double t541 = -0.5e1 / 0.8e1 * t536 - 0.25e2 / 0.72e2 * t539; + const double t544 = t532 * t59; + const double t546 = -0.3e1 / 0.32e2 * t533 - 0.27e2 / 0.4e2 * t321 * t541 + t544 / 0.36e2; + const double t555 = 0.1e3 * t97 * sigma_aa * t101 + 0.324e3 * t522; + const double t558 = t96 * sigma_aa; + const double t562 = t115 * sigma_aa; + const double t565 = t122 * t41; + const double t569 = t526 * t65 / 0.24e2 + t55 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t546 - 0.73e2 / 0.972e5 * t546 * t106 - 0.73e2 / 0.1944e6 * t339 * t555 + 0.25e2 / 0.472392e6 * t110 * t558 * t101 + t562 * t117 / 0.36e3 + t120 * t565 * t126 / 0.768e3; + const double t573 = t569 * t136 - t366 * t544 / 0.12e2; + const double t574 = t282 * t573; + const double t575 = t280 * t574; + const double t578 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t278 * t575 ); + const double t579 = BLOC_b * t158; + const double t580 = t160 * t418; + const double t583 = 0.1e1 / sigma_bb; + const double t585 = t579 * t580 / 0.8e1 + t167 * t583; + const double t586 = t585 * t180; + const double t587 = t169 * t586; + const double t588 = sigma_bb * t172; + const double t589 = t588 * t175; + const double t593 = ( t587 - t428 * t589 / 0.16e2 ) * t54; + const double t596 = t59 * t188; + const double t599 = t188 * t54; + const double t600 = t599 * t450; + const double t602 = b * t188; + const double t603 = t602 * t203; + const double t606 = t202 * t97 * t188; + const double t608 = -0.5e1 / 0.8e1 * t603 - 0.25e2 / 0.72e2 * t606; + const double t611 = t599 * t59; + const double t613 = -0.3e1 / 0.32e2 * t600 - 0.27e2 / 0.4e2 * t455 * t608 + t611 / 0.36e2; + const double t622 = 0.1e3 * t97 * sigma_bb * t220 + 0.324e3 * t589; + const double t625 = t96 * sigma_bb; + const double t629 = t115 * sigma_bb; + const double t632 = t122 * t170; + const double t636 = t593 * t189 / 0.24e2 + t183 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t613 - 0.73e2 / 0.972e5 * t613 * t225 - 0.73e2 / 0.1944e6 * t473 * t622 + 0.25e2 / 0.472392e6 * t110 * t625 * t220 + t629 * t233 / 0.36e3 + t120 * t632 * t239 / 0.768e3; + const double t640 = t636 * t248 - t500 * t611 / 0.12e2; + const double t641 = t416 * t640; + const double t642 = t280 * t641; + const double t645 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t414 * t642 ); + const double t646 = t6 * t28; + const double t647 = t279 * t282; + const double t648 = t29 * t46; + const double t653 = -t34 * t648 * t284 / 0.8e1 - t38 * t31; + const double t654 = t653 * t51; + const double t655 = t40 * t654; + const double t656 = t45 * tau_a; + const double t657 = 0.1e1 / t656; + const double t658 = t44 * t657; + const double t662 = ( t655 + t294 * t658 / 0.16e2 ) * t54; + const double t665 = t69 * t54; + const double t668 = b * t69; + const double t674 = 0.5e1 * t668 * t80 + 0.25e2 / 0.9e1 * t78 * t97 * t69; + const double t677 = 0.3e1 / 0.4e1 * t665 * t316 - 0.27e2 / 0.4e2 * t321 * t674; + const double t684 = t43 * t657; + const double t687 = t662 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t677 - 0.73e2 / 0.972e5 * t677 * t106 + 0.73e2 / 0.6e3 * t339 * t658 - t116 * t684 / 0.36e3; + const double t688 = t687 * t136; + const double t689 = t647 * t688; + const double t692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t646 * t689 ); + const double t693 = t6 * t157; + const double t694 = t279 * t416; + const double t695 = t158 * t175; + const double t700 = -t163 * t695 * t418 / 0.8e1 - t167 * t160; + const double t701 = t700 * t180; + const double t702 = t169 * t701; + const double t703 = t174 * tau_b; + const double t704 = 0.1e1 / t703; + const double t705 = t173 * t704; + const double t709 = ( t702 + t428 * t705 / 0.16e2 ) * t54; + const double t712 = t193 * t54; + const double t715 = b * t193; + const double t721 = 0.5e1 * t715 * t203 + 0.25e2 / 0.9e1 * t202 * t97 * t193; + const double t724 = 0.3e1 / 0.4e1 * t712 * t450 - 0.27e2 / 0.4e2 * t455 * t721; + const double t731 = t172 * t704; + const double t734 = t709 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t724 - 0.73e2 / 0.972e5 * t724 * t225 + 0.73e2 / 0.6e3 * t473 * t705 - t232 * t731 / 0.36e3; + const double t735 = t734 * t248; + const double t736 = t694 * t735; + const double t739 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t693 * t736 ); + const double t742 = t24 * t24; + const double t743 = 0.1e1 / t742; + const double t744 = t264 * t264; + const double t747 = t260 * t7; + const double t748 = 0.1e1 / t747; + const double t749 = t17 * t748; + const double t752 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t261 + 0.2e1 * t749 ); + const double t756 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t744 + 0.4e1 / 0.3e1 * t24 * t752 ); + const double t757 = t756 * t27; + const double t761 = t267 * t273; + const double t763 = t6 * t761 * t143; + const double t765 = t6 * t267; + const double t769 = 0.1e1 / t272 / t7; + const double t770 = t26 * t769; + const double t773 = t6 * t770 * t143 / 0.12e2; + const double t774 = t273 * t279; + const double t775 = t774 * t370; + const double t776 = t278 * t775; + const double t779 = 0.1e1 / t281 / t138; + const double t780 = t369 * t369; + const double t781 = t779 * t780; + const double t782 = t280 * t781; + const double t785 = t289 * t289; + const double t786 = t785 * t51; + const double t788 = t296 * t31; + const double t795 = t34 * t788 * t284 / 0.4e1 + t34 * t788 / 0.4e1 + t38 * t43; + const double t798 = t40 * t289; + const double t799 = t293 * t41; + const double t800 = t799 * t353; + const double t803 = t50 * t50; + const double t804 = 0.1e1 / t803; + const double t805 = t40 * t804; + const double t806 = t41 * t41; + const double t807 = 0.1e1 / t341; + const double t808 = t806 * t807; + const double t809 = t45 * t45; + const double t810 = 0.1e1 / t809; + const double t814 = 0.1e1 / t98; + const double t815 = t41 * t814; + const double t816 = t815 * t46; + const double t820 = ( t40 * t786 + t40 * t795 * t51 + t798 * t800 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t808 * t810 - 0.3e1 / 0.16e2 * t294 * t816 ) * t54; + const double t826 = 0.1e1 / t62 / t98; + const double t827 = t60 * t826; + const double t830 = t333 * t333; + const double t834 = sigma_aa * t826; + const double t836 = 0.4e2 / 0.9e1 * tau_a * t306 - 0.11e2 / 0.9e1 * t834; + const double t837 = t836 * t54; + const double t840 = t59 * t320; + const double t841 = t840 * t328; + const double t844 = t83 * t83; + const double t846 = 0.1e1 / t84 / t844; + const double t847 = t77 * t846; + const double t848 = t328 * t328; + const double t851 = b * t836; + const double t854 = t314 * t314; + const double t858 = t97 * t836; + const double t861 = 0.5e1 * t851 * t80 + 0.5e2 / 0.9e1 * b * t854 * t97 + 0.25e2 / 0.9e1 * t78 * t858; + const double t864 = t79 * t834; + const double t866 = 0.3e1 / 0.4e1 * t837 * t316 - 0.3e1 / 0.4e1 * t315 * t841 + 0.81e2 / 0.8e2 * t847 * t848 - 0.27e2 / 0.4e2 * t321 * t861 + 0.22e2 / 0.81e2 * t864; + const double t871 = t333 * t338; + const double t875 = 0.1e1 / t106 / t105; + const double t876 = t90 * t875; + const double t877 = t347 * t347; + const double t881 = t98 * t295; + const double t883 = 0.1e1 / t61 / t881; + const double t885 = t97 * t41 * t883; + const double t887 = 0.972e3 * t816 + 0.152e5 / 0.9e1 * t885; + const double t893 = t814 * t46; + const double t896 = t125 * t42; + const double t897 = 0.1e1 / t896; + const double t901 = t820 * t65 / 0.24e2 - 0.2e1 / 0.9e1 * t302 * t307 + 0.11e2 / 0.27e2 * t55 * t827 + 0.292e3 / 0.2025e4 * t830 + 0.292e3 / 0.2025e4 * t90 * t866 - 0.73e2 / 0.972e5 * t866 * t106 - 0.73e2 / 0.972e5 * t871 * t347 + 0.73e2 / 0.3888e6 * t876 * t877 - 0.73e2 / 0.1944e6 * t339 * t887 + 0.475e3 / 0.531441e6 * t110 * t111 * t883 + t116 * t893 / 0.12e3 + t120 * t124 * t897 / 0.32e2; + const double t904 = t361 * t364 * t115; + const double t907 = t135 * t135; + const double t908 = 0.1e1 / t907; + const double t910 = t130 * t908 * e; + const double t915 = t901 * t136 + 0.4e1 / 0.9e1 * t904 * t331 + 0.2e1 / 0.27e2 * t910 * t885 - 0.22e2 / 0.27e2 * t366 * t864; + const double t916 = t282 * t915; + const double t917 = t280 * t916; + const double t921 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t757 * t143 - t763 / 0.4e1 - 0.3e1 / 0.4e1 * t765 * t371 + t773 - t776 / 0.4e1 + 0.3e1 / 0.4e1 * t278 * t782 - 0.3e1 / 0.8e1 * t278 * t917 ); + const double t922 = t154 * t154; + const double t923 = 0.1e1 / t922; + const double t924 = t378 * t378; + const double t927 = t149 * t748; + const double t930 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t261 + 0.2e1 * t927 ); + const double t934 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t924 + 0.4e1 / 0.3e1 * t154 * t930 ); + const double t935 = t934 * t27; + const double t939 = t381 * t273; + const double t941 = t6 * t939 * t255; + const double t943 = t156 * t769; + const double t946 = t6 * t943 * t255 / 0.12e2; + const double t948 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t935 * t255 - t941 / 0.4e1 + t946 ); + const double t964 = t398 * t273; + const double t966 = t6 * t964 * t143; + const double t988 = t409 * t273; + const double t990 = t6 * t988 * t255; + const double t996 = t774 * t504; + const double t997 = t414 * t996; + const double t1005 = t395 * t395; + const double t1010 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t261 + 0.2e1 * t749 ); + const double t1014 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t1005 + 0.4e1 / 0.3e1 * t24 * t1010 ); + const double t1015 = t1014 * t27; + const double t1021 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1015 * t143 - t966 / 0.4e1 + t773 ); + const double t1022 = t406 * t406; + const double t1027 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t261 + 0.2e1 * t927 ); + const double t1031 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t1022 + 0.4e1 / 0.3e1 * t154 * t1027 ); + const double t1032 = t1031 * t27; + const double t1037 = t6 * t409; + const double t1042 = 0.1e1 / t415 / t250; + const double t1043 = t503 * t503; + const double t1044 = t1042 * t1043; + const double t1045 = t280 * t1044; + const double t1048 = t423 * t423; + const double t1049 = t1048 * t180; + const double t1051 = t430 * t160; + const double t1058 = t163 * t1051 * t418 / 0.4e1 + t163 * t1051 / 0.4e1 + t167 * t172; + const double t1061 = t169 * t423; + const double t1062 = t427 * t170; + const double t1063 = t1062 * t487; + const double t1066 = t179 * t179; + const double t1067 = 0.1e1 / t1066; + const double t1068 = t169 * t1067; + const double t1069 = t170 * t170; + const double t1070 = 0.1e1 / t475; + const double t1071 = t1069 * t1070; + const double t1072 = t174 * t174; + const double t1073 = 0.1e1 / t1072; + const double t1077 = 0.1e1 / t217; + const double t1078 = t170 * t1077; + const double t1079 = t1078 * t175; + const double t1083 = ( t169 * t1049 + t169 * t1058 * t180 + t1061 * t1063 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1071 * t1073 - 0.3e1 / 0.16e2 * t428 * t1079 ) * t54; + const double t1089 = 0.1e1 / t186 / t217; + const double t1090 = t184 * t1089; + const double t1093 = t467 * t467; + const double t1097 = sigma_bb * t1089; + const double t1099 = 0.4e2 / 0.9e1 * tau_b * t440 - 0.11e2 / 0.9e1 * t1097; + const double t1100 = t1099 * t54; + const double t1103 = t59 * t454; + const double t1104 = t1103 * t462; + const double t1107 = t206 * t206; + const double t1109 = 0.1e1 / t207 / t1107; + const double t1110 = t201 * t1109; + const double t1111 = t462 * t462; + const double t1114 = b * t1099; + const double t1117 = t448 * t448; + const double t1121 = t97 * t1099; + const double t1124 = 0.5e1 * t1114 * t203 + 0.5e2 / 0.9e1 * b * t1117 * t97 + 0.25e2 / 0.9e1 * t202 * t1121; + const double t1127 = t79 * t1097; + const double t1129 = 0.3e1 / 0.4e1 * t1100 * t450 - 0.3e1 / 0.4e1 * t449 * t1104 + 0.81e2 / 0.8e2 * t1110 * t1111 - 0.27e2 / 0.4e2 * t455 * t1124 + 0.22e2 / 0.81e2 * t1127; + const double t1134 = t467 * t472; + const double t1138 = 0.1e1 / t225 / t224; + const double t1139 = t213 * t1138; + const double t1140 = t481 * t481; + const double t1144 = t217 * t429; + const double t1146 = 0.1e1 / t185 / t1144; + const double t1148 = t97 * t170 * t1146; + const double t1150 = 0.972e3 * t1079 + 0.152e5 / 0.9e1 * t1148; + const double t1156 = t1077 * t175; + const double t1159 = t238 * t171; + const double t1160 = 0.1e1 / t1159; + const double t1164 = t1083 * t189 / 0.24e2 - 0.2e1 / 0.9e1 * t436 * t441 + 0.11e2 / 0.27e2 * t183 * t1090 + 0.292e3 / 0.2025e4 * t1093 + 0.292e3 / 0.2025e4 * t213 * t1129 - 0.73e2 / 0.972e5 * t1129 * t225 - 0.73e2 / 0.972e5 * t1134 * t481 + 0.73e2 / 0.3888e6 * t1139 * t1140 - 0.73e2 / 0.1944e6 * t473 * t1150 + 0.475e3 / 0.531441e6 * t110 * t228 * t1146 + t232 * t1156 / 0.12e3 + t120 * t237 * t1160 / 0.32e2; + const double t1167 = t495 * t498 * t115; + const double t1170 = t247 * t247; + const double t1171 = 0.1e1 / t1170; + const double t1173 = t243 * t1171 * e; + const double t1178 = t1164 * t248 + 0.4e1 / 0.9e1 * t1167 * t465 + 0.2e1 / 0.27e2 * t1173 * t1148 - 0.22e2 / 0.27e2 * t500 * t1127; + const double t1179 = t416 * t1178; + const double t1180 = t280 * t1179; + const double t1184 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t1032 * t255 - t990 / 0.4e1 - 0.3e1 / 0.4e1 * t1037 * t505 + t946 - t997 / 0.4e1 + 0.3e1 / 0.4e1 * t414 * t1045 - 0.3e1 / 0.8e1 * t414 * t1180 ); + const double t1189 = t774 * t574; + const double t1191 = t278 * t1189 / 0.8e1; + const double t1192 = t279 * t779; + const double t1193 = t573 * t369; + const double t1194 = t1192 * t1193; + const double t1197 = t289 * t518; + const double t1200 = BLOC_b * t43; + const double t1205 = -t1200 * t513 / 0.8e1 - t1200 * t31 / 0.4e1; + const double t1206 = t1205 * t51; + const double t1208 = t40 * t518; + const double t1211 = t293 * sigma_aa; + const double t1212 = t1211 * t117; + const double t1215 = 0.1e1 / t99; + const double t1216 = t123 * t1215; + const double t1220 = sigma_aa * t296; + const double t1221 = t1220 * t46; + const double t1225 = ( t40 * t1197 * t51 + t40 * t1206 + t1208 * t800 / 0.16e2 - t798 * t1212 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1216 * t810 + t294 * t1221 / 0.8e1 ) * t54; + const double t1232 = t59 * t306; + const double t1237 = t306 * t54; + const double t1238 = t1237 * t316; + const double t1240 = t532 * t841; + const double t1242 = t840 * t541; + const double t1245 = t541 * t328; + const double t1248 = b * t306; + const double t1249 = t1248 * t80; + const double t1251 = t535 * t325; + const double t1254 = t78 * t97 * t306; + const double t1256 = 0.5e1 / 0.3e1 * t1249 - 0.25e2 / 0.36e2 * t1251 + 0.25e2 / 0.27e2 * t1254; + const double t1259 = t1237 * t59; + const double t1261 = t1238 / 0.4e1 + 0.3e1 / 0.64e2 * t1240 - 0.3e1 / 0.8e1 * t315 * t1242 + 0.81e2 / 0.8e2 * t847 * t1245 - 0.27e2 / 0.4e2 * t321 * t1256 - 0.2e1 / 0.27e2 * t1259; + const double t1266 = t546 * t338; + const double t1271 = t555 * t347; + const double t1276 = t97 * sigma_aa * t343; + const double t1278 = -0.648e3 * t1221 - 0.16e4 / 0.3e1 * t1276; + const double t1289 = t1225 * t65 / 0.24e2 - t526 * t307 / 0.9e1 + t302 * t529 / 0.24e2 - t55 * t1232 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t546 + 0.292e3 / 0.2025e4 * t90 * t1261 - 0.73e2 / 0.972e5 * t1261 * t106 - 0.73e2 / 0.1944e6 * t1266 * t347 - 0.73e2 / 0.1944e6 * t871 * t555 + 0.73e2 / 0.3888e6 * t876 * t1271 - 0.73e2 / 0.1944e6 * t339 * t1278 - 0.5e2 / 0.177147e6 * t110 * t558 * t343 - t562 * t353 / 0.18e3 - t120 * t565 * t357 / 0.96e2; + const double t1292 = t569 * t364 * t115; + const double t1301 = t1289 * t136 + 0.2e1 / 0.9e1 * t1292 * t331 - t904 * t544 / 0.12e2 - t910 * t1276 / 0.36e2 + 0.2e1 / 0.9e1 * t366 * t1259; + const double t1302 = t282 * t1301; + const double t1303 = t280 * t1302; + const double t1307 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t765 * t575 - t1191 + 0.3e1 / 0.4e1 * t646 * t1194 - 0.3e1 / 0.8e1 * t278 * t1303 ); + const double t1311 = t774 * t641; + const double t1313 = t414 * t1311 / 0.8e1; + const double t1324 = t279 * t1042; + const double t1325 = t640 * t503; + const double t1326 = t1324 * t1325; + const double t1329 = t423 * t585; + const double t1332 = BLOC_b * t172; + const double t1337 = -t1332 * t580 / 0.8e1 - t1332 * t160 / 0.4e1; + const double t1338 = t1337 * t180; + const double t1340 = t169 * t585; + const double t1343 = t427 * sigma_bb; + const double t1344 = t1343 * t233; + const double t1347 = 0.1e1 / t218; + const double t1348 = t236 * t1347; + const double t1352 = sigma_bb * t430; + const double t1353 = t1352 * t175; + const double t1357 = ( t169 * t1329 * t180 + t169 * t1338 + t1340 * t1063 / 0.16e2 - t1061 * t1344 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1348 * t1073 + t428 * t1353 / 0.8e1 ) * t54; + const double t1364 = t59 * t440; + const double t1369 = t440 * t54; + const double t1370 = t1369 * t450; + const double t1372 = t599 * t1104; + const double t1374 = t1103 * t608; + const double t1377 = t608 * t462; + const double t1380 = b * t440; + const double t1381 = t1380 * t203; + const double t1383 = t602 * t459; + const double t1386 = t202 * t97 * t440; + const double t1388 = 0.5e1 / 0.3e1 * t1381 - 0.25e2 / 0.36e2 * t1383 + 0.25e2 / 0.27e2 * t1386; + const double t1391 = t1369 * t59; + const double t1393 = t1370 / 0.4e1 + 0.3e1 / 0.64e2 * t1372 - 0.3e1 / 0.8e1 * t449 * t1374 + 0.81e2 / 0.8e2 * t1110 * t1377 - 0.27e2 / 0.4e2 * t455 * t1388 - 0.2e1 / 0.27e2 * t1391; + const double t1398 = t613 * t472; + const double t1403 = t622 * t481; + const double t1408 = t97 * sigma_bb * t477; + const double t1410 = -0.648e3 * t1353 - 0.16e4 / 0.3e1 * t1408; + const double t1421 = t1357 * t189 / 0.24e2 - t593 * t441 / 0.9e1 + t436 * t596 / 0.24e2 - t183 * t1364 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t613 + 0.292e3 / 0.2025e4 * t213 * t1393 - 0.73e2 / 0.972e5 * t1393 * t225 - 0.73e2 / 0.1944e6 * t1398 * t481 - 0.73e2 / 0.1944e6 * t1134 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1403 - 0.73e2 / 0.1944e6 * t473 * t1410 - 0.5e2 / 0.177147e6 * t110 * t625 * t477 - t629 * t487 / 0.18e3 - t120 * t632 * t491 / 0.96e2; + const double t1424 = t636 * t498 * t115; + const double t1433 = t1421 * t248 + 0.2e1 / 0.9e1 * t1424 * t465 - t1167 * t611 / 0.12e2 - t1173 * t1408 / 0.36e2 + 0.2e1 / 0.9e1 * t500 * t1391; + const double t1434 = t416 * t1433; + const double t1435 = t280 * t1434; + const double t1439 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1037 * t642 - t1313 + 0.3e1 / 0.4e1 * t693 * t1326 - 0.3e1 / 0.8e1 * t414 * t1435 ); + const double t1441 = t6 * t268; + const double t1444 = t6 * t274; + const double t1446 = t1444 * t689 / 0.8e1; + const double t1448 = t1192 * t688 * t369; + const double t1451 = t289 * t653; + const double t1459 = t34 * t117 * t284 / 0.8e1 + t34 * t117 / 0.4e1; + const double t1460 = t1459 * t51; + const double t1462 = t40 * t653; + const double t1465 = t799 * t684; + const double t1468 = t806 * t1215; + const double t1470 = 0.1e1 / t809 / tau_a; + const double t1474 = t297 * t657; + const double t1478 = ( t40 * t1451 * t51 + t40 * t1460 + t1462 * t800 / 0.16e2 + t798 * t1465 / 0.16e2 + 0.3e1 / 0.512e3 * t805 * t1468 * t1470 - t294 * t1474 / 0.8e1 ) * t54; + const double t1488 = t840 * t674; + const double t1491 = t674 * t328; + const double t1498 = -0.25e2 / 0.3e1 * t536 + 0.5e2 / 0.9e1 * t668 * t325 - 0.125e3 / 0.27e2 * t539; + const double t1501 = -0.5e1 / 0.4e1 * t533 - 0.3e1 / 0.8e1 * t665 * t841 - 0.3e1 / 0.8e1 * t315 * t1488 + 0.81e2 / 0.8e2 * t847 * t1491 - 0.27e2 / 0.4e2 * t321 * t1498; + const double t1506 = t677 * t338; + const double t1511 = t876 * t41; + const double t1512 = t684 * t347; + const double t1517 = t296 * t657; + const double t1520 = t1478 * t65 / 0.24e2 - t662 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t677 + 0.292e3 / 0.2025e4 * t90 * t1501 - 0.73e2 / 0.972e5 * t1501 * t106 - 0.73e2 / 0.1944e6 * t1506 * t347 + 0.73e2 / 0.6e3 * t871 * t658 - 0.73e2 / 0.12e4 * t1511 * t1512 - 0.73e2 / 0.3e3 * t339 * t1474 + t116 * t1517 / 0.18e3; + const double t1521 = t1520 * t136; + const double t1522 = t647 * t1521; + const double t1525 = t280 * t282; + const double t1526 = t278 * t1525; + const double t1527 = t687 * t364; + const double t1528 = t1527 * t115; + const double t1529 = t1528 * t331; + const double t1533 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1441 * t689 - t1446 + 0.3e1 / 0.4e1 * t646 * t1448 - 0.3e1 / 0.8e1 * t646 * t1522 - t1526 * t1529 / 0.12e2 ); + const double t1538 = t6 * t386; + const double t1540 = t1538 * t736 / 0.8e1; + const double t1550 = t6 * t410; + const double t1554 = t1324 * t735 * t503; + const double t1557 = t423 * t700; + const double t1565 = t163 * t233 * t418 / 0.8e1 + t163 * t233 / 0.4e1; + const double t1566 = t1565 * t180; + const double t1568 = t169 * t700; + const double t1571 = t1062 * t731; + const double t1574 = t1069 * t1347; + const double t1576 = 0.1e1 / t1072 / tau_b; + const double t1580 = t431 * t704; + const double t1584 = ( t169 * t1557 * t180 + t169 * t1566 + t1568 * t1063 / 0.16e2 + t1061 * t1571 / 0.16e2 + 0.3e1 / 0.512e3 * t1068 * t1574 * t1576 - t428 * t1580 / 0.8e1 ) * t54; + const double t1594 = t1103 * t721; + const double t1597 = t721 * t462; + const double t1604 = -0.25e2 / 0.3e1 * t603 + 0.5e2 / 0.9e1 * t715 * t459 - 0.125e3 / 0.27e2 * t606; + const double t1607 = -0.5e1 / 0.4e1 * t600 - 0.3e1 / 0.8e1 * t712 * t1104 - 0.3e1 / 0.8e1 * t449 * t1594 + 0.81e2 / 0.8e2 * t1110 * t1597 - 0.27e2 / 0.4e2 * t455 * t1604; + const double t1612 = t724 * t472; + const double t1617 = t1139 * t170; + const double t1618 = t731 * t481; + const double t1623 = t430 * t704; + const double t1626 = t1584 * t189 / 0.24e2 - t709 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t724 + 0.292e3 / 0.2025e4 * t213 * t1607 - 0.73e2 / 0.972e5 * t1607 * t225 - 0.73e2 / 0.1944e6 * t1612 * t481 + 0.73e2 / 0.6e3 * t1134 * t705 - 0.73e2 / 0.12e4 * t1617 * t1618 - 0.73e2 / 0.3e3 * t473 * t1580 + t232 * t1623 / 0.18e3; + const double t1627 = t1626 * t248; + const double t1628 = t694 * t1627; + const double t1631 = t280 * t416; + const double t1632 = t414 * t1631; + const double t1633 = t734 * t498; + const double t1634 = t1633 * t115; + const double t1635 = t1634 * t465; + const double t1639 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1550 * t736 - t1540 + 0.3e1 / 0.4e1 * t693 * t1554 - 0.3e1 / 0.8e1 * t693 * t1628 - t1632 * t1635 / 0.12e2 ); + const double t1641 = t573 * t573; + const double t1642 = t779 * t1641; + const double t1643 = t280 * t1642; + const double t1646 = t518 * t518; + const double t1647 = t1646 * t51; + const double t1652 = 0.1e1 / t41; + const double t1654 = t512 * t31 * t516 / 0.4e1 - t38 * t1652; + const double t1659 = t815 * t810; + const double t1662 = t293 * t43; + const double t1663 = t1662 * t46; + const double t1667 = ( t40 * t1647 + t40 * t1654 * t51 - t1208 * t1212 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1659 - t40 * t1663 / 0.16e2 ) * t54; + const double t1672 = t546 * t546; + const double t1674 = t532 * t1242; + const double t1676 = t541 * t541; + const double t1679 = t321 * b; + const double t1680 = t97 * t101; + const double t1681 = t1679 * t1680; + const double t1683 = 0.3e1 / 0.32e2 * t1674 + 0.81e2 / 0.8e2 * t847 * t1676 - 0.15e2 / 0.256e3 * t1681; + const double t1690 = t555 * t555; + const double t1695 = 0.324e3 * t117 + 0.1e3 * t1680; + const double t1698 = t96 * t101; + const double t1701 = t115 * t43; + const double t1704 = t122 * sigma_aa; + const double t1708 = t1667 * t65 / 0.24e2 + t526 * t529 / 0.12e2 + 0.292e3 / 0.2025e4 * t1672 + 0.292e3 / 0.2025e4 * t90 * t1683 - 0.73e2 / 0.972e5 * t1683 * t106 - 0.73e2 / 0.972e5 * t1266 * t555 + 0.73e2 / 0.3888e6 * t876 * t1690 - 0.73e2 / 0.1944e6 * t339 * t1695 + 0.25e2 / 0.472392e6 * t110 * t1698 + t1701 * t46 / 0.36e3 + t120 * t1704 * t126 / 0.384e3; + const double t1714 = t1708 * t136 - t1292 * t544 / 0.6e1 + t910 * t1680 / 0.96e2; + const double t1715 = t282 * t1714; + const double t1716 = t280 * t1715; + const double t1720 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t278 * t1643 - 0.3e1 / 0.8e1 * t278 * t1716 ); + const double t1721 = t640 * t640; + const double t1722 = t1042 * t1721; + const double t1723 = t280 * t1722; + const double t1726 = t585 * t585; + const double t1727 = t1726 * t180; + const double t1732 = 0.1e1 / t170; + const double t1734 = t579 * t160 * t583 / 0.4e1 - t167 * t1732; + const double t1739 = t1078 * t1073; + const double t1742 = t427 * t172; + const double t1743 = t1742 * t175; + const double t1747 = ( t169 * t1727 + t169 * t1734 * t180 - t1340 * t1344 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1739 - t169 * t1743 / 0.16e2 ) * t54; + const double t1752 = t613 * t613; + const double t1754 = t599 * t1374; + const double t1756 = t608 * t608; + const double t1759 = t455 * b; + const double t1760 = t97 * t220; + const double t1761 = t1759 * t1760; + const double t1763 = 0.3e1 / 0.32e2 * t1754 + 0.81e2 / 0.8e2 * t1110 * t1756 - 0.15e2 / 0.256e3 * t1761; + const double t1770 = t622 * t622; + const double t1775 = 0.324e3 * t233 + 0.1e3 * t1760; + const double t1778 = t96 * t220; + const double t1781 = t115 * t172; + const double t1784 = t122 * sigma_bb; + const double t1788 = t1747 * t189 / 0.24e2 + t593 * t596 / 0.12e2 + 0.292e3 / 0.2025e4 * t1752 + 0.292e3 / 0.2025e4 * t213 * t1763 - 0.73e2 / 0.972e5 * t1763 * t225 - 0.73e2 / 0.972e5 * t1398 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1770 - 0.73e2 / 0.1944e6 * t473 * t1775 + 0.25e2 / 0.472392e6 * t110 * t1778 + t1781 * t175 / 0.36e3 + t120 * t1784 * t239 / 0.384e3; + const double t1794 = t1788 * t248 - t1424 * t611 / 0.6e1 + t1173 * t1760 / 0.96e2; + const double t1795 = t416 * t1794; + const double t1796 = t280 * t1795; + const double t1800 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t414 * t1723 - 0.3e1 / 0.8e1 * t414 * t1796 ); + const double t1802 = t1192 * t688 * t573; + const double t1805 = t518 * t653; + const double t1806 = t1805 * t51; + const double t1808 = t46 * t284; + const double t1813 = -t512 * t1808 / 0.8e1 - t512 * t46 / 0.4e1; + const double t1814 = t1813 * t51; + const double t1820 = t123 * t814; + const double t1824 = t521 * t657; + const double t1828 = ( t40 * t1806 + t40 * t1814 - t1462 * t1212 / 0.16e2 + t1208 * t1465 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1820 * t1470 + t294 * t1824 / 0.8e1 ) * t54; + const double t1837 = t532 * t1488; + const double t1839 = t674 * t541; + const double t1843 = 0.1e1 / t61 / t98; + const double t1844 = t1843 * t94; + const double t1846 = t1679 * t1844 * t96; + const double t1848 = -0.3e1 / 0.8e1 * t665 * t1242 + 0.3e1 / 0.64e2 * t1837 + 0.81e2 / 0.8e2 * t847 * t1839 + 0.15e2 / 0.32e2 * t1846; + const double t1857 = t684 * t555; + const double t1864 = t1828 * t65 / 0.24e2 + t662 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t546 * t677 + 0.292e3 / 0.2025e4 * t90 * t1848 - 0.73e2 / 0.972e5 * t1848 * t106 - 0.73e2 / 0.1944e6 * t1506 * t555 + 0.73e2 / 0.6e3 * t1266 * t658 - 0.73e2 / 0.12e4 * t1511 * t1857 + 0.73e2 / 0.3e3 * t339 * t1824 - t562 * t684 / 0.18e3; + const double t1865 = t1864 * t136; + const double t1866 = t647 * t1865; + const double t1869 = t1528 * t544; + const double t1873 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1802 - 0.3e1 / 0.8e1 * t646 * t1866 + t1526 * t1869 / 0.32e2 ); + const double t1875 = t1324 * t735 * t640; + const double t1878 = t585 * t700; + const double t1879 = t1878 * t180; + const double t1881 = t175 * t418; + const double t1886 = -t579 * t1881 / 0.8e1 - t579 * t175 / 0.4e1; + const double t1887 = t1886 * t180; + const double t1893 = t236 * t1077; + const double t1897 = t588 * t704; + const double t1901 = ( t169 * t1879 + t169 * t1887 - t1568 * t1344 / 0.16e2 + t1340 * t1571 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1893 * t1576 + t428 * t1897 / 0.8e1 ) * t54; + const double t1910 = t599 * t1594; + const double t1912 = t721 * t608; + const double t1916 = 0.1e1 / t185 / t217; + const double t1917 = t1916 * t94; + const double t1919 = t1759 * t1917 * t96; + const double t1921 = -0.3e1 / 0.8e1 * t712 * t1374 + 0.3e1 / 0.64e2 * t1910 + 0.81e2 / 0.8e2 * t1110 * t1912 + 0.15e2 / 0.32e2 * t1919; + const double t1930 = t731 * t622; + const double t1937 = t1901 * t189 / 0.24e2 + t709 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t613 * t724 + 0.292e3 / 0.2025e4 * t213 * t1921 - 0.73e2 / 0.972e5 * t1921 * t225 - 0.73e2 / 0.1944e6 * t1612 * t622 + 0.73e2 / 0.6e3 * t1398 * t705 - 0.73e2 / 0.12e4 * t1617 * t1930 + 0.73e2 / 0.3e3 * t473 * t1897 - t629 * t731 / 0.18e3; + const double t1938 = t1937 * t248; + const double t1939 = t694 * t1938; + const double t1942 = t1634 * t611; + const double t1946 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t1875 - 0.3e1 / 0.8e1 * t693 * t1939 + t1632 * t1942 / 0.32e2 ); + const double t1947 = t687 * t687; + const double t1948 = t1947 * t908; + const double t1949 = t1192 * t1948; + const double t1952 = t653 * t653; + const double t1953 = t1952 * t51; + const double t1955 = t29 * t657; + const double t1962 = t34 * t1955 * t284 / 0.4e1 + t34 * t1955 / 0.4e1 + t38 * t46; + const double t1967 = t806 * t814; + const double t1969 = 0.1e1 / t809 / t45; + const double t1970 = t1967 * t1969; + const double t1973 = t44 * t810; + const double t1977 = ( t40 * t1953 + t40 * t1962 * t51 + t1462 * t1465 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1970 - 0.3e1 / 0.16e2 * t294 * t1973 ) * t54; + const double t1980 = t677 * t677; + const double t1984 = t674 * t674; + const double t1988 = 0.1e1 / t61 / t295; + const double t1989 = t1988 * t94; + const double t1993 = -0.3e1 / 0.4e1 * t665 * t1488 + 0.81e2 / 0.8e2 * t847 * t1984 - 0.15e2 / 0.4e1 * t1679 * t1989 * t96; + const double t2004 = t43 * t810; + const double t2007 = t1977 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t1980 + 0.292e3 / 0.2025e4 * t90 * t1993 - 0.73e2 / 0.972e5 * t1993 * t106 + 0.73e2 / 0.3e3 * t1506 * t658 + 0.1971e4 / 0.1e3 * t876 * t1970 - 0.73e2 / 0.2e3 * t339 * t1973 + t116 * t2004 / 0.12e3; + const double t2008 = t2007 * t136; + const double t2009 = t647 * t2008; + const double t2013 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1949 - 0.3e1 / 0.8e1 * t646 * t2009 ); + const double t2014 = t734 * t734; + const double t2015 = t2014 * t1171; + const double t2016 = t1324 * t2015; + const double t2019 = t700 * t700; + const double t2020 = t2019 * t180; + const double t2022 = t158 * t704; + const double t2029 = t163 * t2022 * t418 / 0.4e1 + t163 * t2022 / 0.4e1 + t167 * t175; + const double t2034 = t1069 * t1077; + const double t2036 = 0.1e1 / t1072 / t174; + const double t2037 = t2034 * t2036; + const double t2040 = t173 * t1073; + const double t2044 = ( t169 * t2020 + t169 * t2029 * t180 + t1568 * t1571 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t2037 - 0.3e1 / 0.16e2 * t428 * t2040 ) * t54; + const double t2047 = t724 * t724; + const double t2051 = t721 * t721; + const double t2055 = 0.1e1 / t185 / t429; + const double t2056 = t2055 * t94; + const double t2060 = -0.3e1 / 0.4e1 * t712 * t1594 + 0.81e2 / 0.8e2 * t1110 * t2051 - 0.15e2 / 0.4e1 * t1759 * t2056 * t96; + const double t2071 = t172 * t1073; + const double t2074 = t2044 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t2047 + 0.292e3 / 0.2025e4 * t213 * t2060 - 0.73e2 / 0.972e5 * t2060 * t225 + 0.73e2 / 0.3e3 * t1612 * t705 + 0.1971e4 / 0.1e3 * t1139 * t2037 - 0.73e2 / 0.2e3 * t473 * t2040 + t232 * t2071 / 0.12e3; + const double t2075 = t2074 * t248; + const double t2076 = t694 * t2075; + const double t2080 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t2016 - 0.3e1 / 0.8e1 * t693 * t2076 ); + + + v2rho2_aa = 0.2e1 * t375 + 0.2e1 * t391 + t7 * ( t921 + t948 ); + v2rho2_bb = 0.2e1 * t404 + 0.2e1 * t509 + t7 * ( t1021 + t1184 ); + v2rhosigma_a_aa = t7 * t1307 + t578; + v2rhosigma_b_bb = t7 * t1439 + t645; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1533 + t692; + v2rhotau_b_b = t7 * t1639 + t739; + v2sigma2_aa_aa = t7 * t1720; + v2sigma2_bb_bb = t7 * t1800; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1873; + v2sigmatau_bb_b = t7 * t1946; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2013; + v2tau2_bb = t7 * t2080; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + constexpr double t279 = kappa * kappa; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t147 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t143 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t259 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t157 * t255 ); + const double t260 = t7 * t7; + const double t261 = 0.1e1 / t260; + const double t262 = t17 * t261; + const double t264 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t262 ); + const double t267 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t264 ); + const double t268 = t267 * t27; + const double t272 = t27 * t27; + const double t273 = 0.1e1 / t272; + const double t274 = t26 * t273; + const double t277 = t6 * t274 * t143 / 0.8e1; + const double t278 = t6 * t26; + const double t280 = t27 * t279; + const double t281 = t138 * t138; + const double t282 = 0.1e1 / t281; + const double t283 = t43 * t31; + const double t284 = safe_math::log( t33 ); + const double t289 = -t34 * t283 * t284 / 0.8e1 - t38 * t29; + const double t290 = t289 * t51; + const double t293 = 0.1e1 / t50 / t49; + const double t294 = t40 * t293; + const double t295 = t42 * rho_a; + const double t296 = 0.1e1 / t295; + const double t297 = t41 * t296; + const double t298 = t297 * t46; + const double t302 = ( t40 * t290 + t294 * t298 / 0.16e2 ) * t54; + const double t306 = 0.1e1 / t62 / t295; + const double t307 = t60 * t306; + const double t312 = sigma_aa * t306; + const double t314 = -0.5e1 / 0.3e1 * tau_a * t64 + t312 / 0.3e1; + const double t315 = t314 * t54; + const double t316 = t59 * t85; + const double t320 = 0.1e1 / t84 / t83; + const double t321 = t77 * t320; + const double t325 = t97 * t314; + const double t328 = 0.5e1 * b * t314 * t80 + 0.25e2 / 0.9e1 * t78 * t325; + const double t331 = t79 * t312; + const double t333 = 0.3e1 / 0.4e1 * t315 * t316 - 0.27e2 / 0.4e2 * t321 * t328 - 0.2e1 / 0.27e2 * t331; + const double t338 = 0.1e1 / t106; + const double t339 = t90 * t338; + const double t341 = t98 * t42; + const double t343 = 0.1e1 / t61 / t341; + const double t347 = -0.324e3 * t298 - 0.8e3 / 0.3e1 * t97 * t41 * t343; + const double t353 = t296 * t46; + const double t356 = t125 * rho_a; + const double t357 = 0.1e1 / t356; + const double t361 = t302 * t65 / 0.24e2 - t55 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t90 * t333 - 0.73e2 / 0.972e5 * t333 * t106 - 0.73e2 / 0.1944e6 * t339 * t347 - 0.25e2 / 0.177147e6 * t110 * t111 * t343 - t116 * t353 / 0.36e3 - t120 * t124 * t357 / 0.288e3; + const double t363 = t135 * t134; + const double t364 = 0.1e1 / t363; + const double t366 = t130 * t364 * t115; + const double t369 = t361 * t136 + 0.2e1 / 0.9e1 * t366 * t331; + const double t370 = t282 * t369; + const double t371 = t280 * t370; + const double t375 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t268 * t143 - t277 - 0.3e1 / 0.8e1 * t278 * t371 ); + const double t376 = t149 * t261; + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t376 ); + const double t381 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t378 ); + const double t382 = t381 * t27; + const double t386 = t156 * t273; + const double t389 = t6 * t386 * t255 / 0.8e1; + const double t391 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t382 * t255 - t389 ); + const double t395 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t262 ); + const double t398 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t395 ); + const double t399 = t398 * t27; + const double t404 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t399 * t143 - t277 ); + const double t406 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t376 ); + const double t409 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t406 ); + const double t410 = t409 * t27; + const double t414 = t6 * t156; + const double t415 = t250 * t250; + const double t416 = 0.1e1 / t415; + const double t417 = t172 * t160; + const double t418 = safe_math::log( t162 ); + const double t423 = -t163 * t417 * t418 / 0.8e1 - t167 * t158; + const double t424 = t423 * t180; + const double t427 = 0.1e1 / t179 / t178; + const double t428 = t169 * t427; + const double t429 = t171 * rho_b; + const double t430 = 0.1e1 / t429; + const double t431 = t170 * t430; + const double t432 = t431 * t175; + const double t436 = ( t169 * t424 + t428 * t432 / 0.16e2 ) * t54; + const double t440 = 0.1e1 / t186 / t429; + const double t441 = t184 * t440; + const double t446 = sigma_bb * t440; + const double t448 = -0.5e1 / 0.3e1 * tau_b * t188 + t446 / 0.3e1; + const double t449 = t448 * t54; + const double t450 = t59 * t208; + const double t454 = 0.1e1 / t207 / t206; + const double t455 = t201 * t454; + const double t459 = t97 * t448; + const double t462 = 0.5e1 * b * t448 * t203 + 0.25e2 / 0.9e1 * t202 * t459; + const double t465 = t79 * t446; + const double t467 = 0.3e1 / 0.4e1 * t449 * t450 - 0.27e2 / 0.4e2 * t455 * t462 - 0.2e1 / 0.27e2 * t465; + const double t472 = 0.1e1 / t225; + const double t473 = t213 * t472; + const double t475 = t217 * t171; + const double t477 = 0.1e1 / t185 / t475; + const double t481 = -0.324e3 * t432 - 0.8e3 / 0.3e1 * t97 * t170 * t477; + const double t487 = t430 * t175; + const double t490 = t238 * rho_b; + const double t491 = 0.1e1 / t490; + const double t495 = t436 * t189 / 0.24e2 - t183 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t213 * t467 - 0.73e2 / 0.972e5 * t467 * t225 - 0.73e2 / 0.1944e6 * t473 * t481 - 0.25e2 / 0.177147e6 * t110 * t228 * t477 - t232 * t487 / 0.36e3 - t120 * t237 * t491 / 0.288e3; + const double t497 = t247 * t246; + const double t498 = 0.1e1 / t497; + const double t500 = t243 * t498 * t115; + const double t503 = t495 * t248 + 0.2e1 / 0.9e1 * t500 * t465; + const double t504 = t416 * t503; + const double t505 = t280 * t504; + const double t509 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t410 * t255 - t389 - 0.3e1 / 0.8e1 * t414 * t505 ); + const double t512 = BLOC_b * t29; + const double t513 = t31 * t284; + const double t516 = 0.1e1 / sigma_aa; + const double t518 = t512 * t513 / 0.8e1 + t38 * t516; + const double t519 = t518 * t51; + const double t520 = t40 * t519; + const double t521 = sigma_aa * t43; + const double t522 = t521 * t46; + const double t526 = ( t520 - t294 * t522 / 0.16e2 ) * t54; + const double t529 = t59 * t64; + const double t532 = t64 * t54; + const double t533 = t532 * t316; + const double t535 = b * t64; + const double t536 = t535 * t80; + const double t539 = t78 * t97 * t64; + const double t541 = -0.5e1 / 0.8e1 * t536 - 0.25e2 / 0.72e2 * t539; + const double t544 = t532 * t59; + const double t546 = -0.3e1 / 0.32e2 * t533 - 0.27e2 / 0.4e2 * t321 * t541 + t544 / 0.36e2; + const double t555 = 0.1e3 * t97 * sigma_aa * t101 + 0.324e3 * t522; + const double t558 = t96 * sigma_aa; + const double t562 = t115 * sigma_aa; + const double t565 = t122 * t41; + const double t569 = t526 * t65 / 0.24e2 + t55 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t546 - 0.73e2 / 0.972e5 * t546 * t106 - 0.73e2 / 0.1944e6 * t339 * t555 + 0.25e2 / 0.472392e6 * t110 * t558 * t101 + t562 * t117 / 0.36e3 + t120 * t565 * t126 / 0.768e3; + const double t573 = t569 * t136 - t366 * t544 / 0.12e2; + const double t574 = t282 * t573; + const double t575 = t280 * t574; + const double t578 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t278 * t575 ); + const double t579 = BLOC_b * t158; + const double t580 = t160 * t418; + const double t583 = 0.1e1 / sigma_bb; + const double t585 = t579 * t580 / 0.8e1 + t167 * t583; + const double t586 = t585 * t180; + const double t587 = t169 * t586; + const double t588 = sigma_bb * t172; + const double t589 = t588 * t175; + const double t593 = ( t587 - t428 * t589 / 0.16e2 ) * t54; + const double t596 = t59 * t188; + const double t599 = t188 * t54; + const double t600 = t599 * t450; + const double t602 = b * t188; + const double t603 = t602 * t203; + const double t606 = t202 * t97 * t188; + const double t608 = -0.5e1 / 0.8e1 * t603 - 0.25e2 / 0.72e2 * t606; + const double t611 = t599 * t59; + const double t613 = -0.3e1 / 0.32e2 * t600 - 0.27e2 / 0.4e2 * t455 * t608 + t611 / 0.36e2; + const double t622 = 0.1e3 * t97 * sigma_bb * t220 + 0.324e3 * t589; + const double t625 = t96 * sigma_bb; + const double t629 = t115 * sigma_bb; + const double t632 = t122 * t170; + const double t636 = t593 * t189 / 0.24e2 + t183 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t613 - 0.73e2 / 0.972e5 * t613 * t225 - 0.73e2 / 0.1944e6 * t473 * t622 + 0.25e2 / 0.472392e6 * t110 * t625 * t220 + t629 * t233 / 0.36e3 + t120 * t632 * t239 / 0.768e3; + const double t640 = t636 * t248 - t500 * t611 / 0.12e2; + const double t641 = t416 * t640; + const double t642 = t280 * t641; + const double t645 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t414 * t642 ); + const double t646 = t6 * t28; + const double t647 = t279 * t282; + const double t648 = t29 * t46; + const double t653 = -t34 * t648 * t284 / 0.8e1 - t38 * t31; + const double t654 = t653 * t51; + const double t655 = t40 * t654; + const double t656 = t45 * tau_a; + const double t657 = 0.1e1 / t656; + const double t658 = t44 * t657; + const double t662 = ( t655 + t294 * t658 / 0.16e2 ) * t54; + const double t665 = t69 * t54; + const double t668 = b * t69; + const double t674 = 0.5e1 * t668 * t80 + 0.25e2 / 0.9e1 * t78 * t97 * t69; + const double t677 = 0.3e1 / 0.4e1 * t665 * t316 - 0.27e2 / 0.4e2 * t321 * t674; + const double t684 = t43 * t657; + const double t687 = t662 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t677 - 0.73e2 / 0.972e5 * t677 * t106 + 0.73e2 / 0.6e3 * t339 * t658 - t116 * t684 / 0.36e3; + const double t688 = t687 * t136; + const double t689 = t647 * t688; + const double t692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t646 * t689 ); + const double t693 = t6 * t157; + const double t694 = t279 * t416; + const double t695 = t158 * t175; + const double t700 = -t163 * t695 * t418 / 0.8e1 - t167 * t160; + const double t701 = t700 * t180; + const double t702 = t169 * t701; + const double t703 = t174 * tau_b; + const double t704 = 0.1e1 / t703; + const double t705 = t173 * t704; + const double t709 = ( t702 + t428 * t705 / 0.16e2 ) * t54; + const double t712 = t193 * t54; + const double t715 = b * t193; + const double t721 = 0.5e1 * t715 * t203 + 0.25e2 / 0.9e1 * t202 * t97 * t193; + const double t724 = 0.3e1 / 0.4e1 * t712 * t450 - 0.27e2 / 0.4e2 * t455 * t721; + const double t731 = t172 * t704; + const double t734 = t709 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t724 - 0.73e2 / 0.972e5 * t724 * t225 + 0.73e2 / 0.6e3 * t473 * t705 - t232 * t731 / 0.36e3; + const double t735 = t734 * t248; + const double t736 = t694 * t735; + const double t739 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t693 * t736 ); + const double t742 = t24 * t24; + const double t743 = 0.1e1 / t742; + const double t744 = t264 * t264; + const double t747 = t260 * t7; + const double t748 = 0.1e1 / t747; + const double t749 = t17 * t748; + const double t752 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t261 + 0.2e1 * t749 ); + const double t756 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t744 + 0.4e1 / 0.3e1 * t24 * t752 ); + const double t757 = t756 * t27; + const double t761 = t267 * t273; + const double t763 = t6 * t761 * t143; + const double t765 = t6 * t267; + const double t769 = 0.1e1 / t272 / t7; + const double t770 = t26 * t769; + const double t773 = t6 * t770 * t143 / 0.12e2; + const double t774 = t273 * t279; + const double t775 = t774 * t370; + const double t776 = t278 * t775; + const double t779 = 0.1e1 / t281 / t138; + const double t780 = t369 * t369; + const double t781 = t779 * t780; + const double t782 = t280 * t781; + const double t785 = t289 * t289; + const double t786 = t785 * t51; + const double t788 = t296 * t31; + const double t795 = t34 * t788 * t284 / 0.4e1 + t34 * t788 / 0.4e1 + t38 * t43; + const double t798 = t40 * t289; + const double t799 = t293 * t41; + const double t800 = t799 * t353; + const double t803 = t50 * t50; + const double t804 = 0.1e1 / t803; + const double t805 = t40 * t804; + const double t806 = t41 * t41; + const double t807 = 0.1e1 / t341; + const double t808 = t806 * t807; + const double t809 = t45 * t45; + const double t810 = 0.1e1 / t809; + const double t814 = 0.1e1 / t98; + const double t815 = t41 * t814; + const double t816 = t815 * t46; + const double t820 = ( t40 * t786 + t40 * t795 * t51 + t798 * t800 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t808 * t810 - 0.3e1 / 0.16e2 * t294 * t816 ) * t54; + const double t826 = 0.1e1 / t62 / t98; + const double t827 = t60 * t826; + const double t830 = t333 * t333; + const double t834 = sigma_aa * t826; + const double t836 = 0.4e2 / 0.9e1 * tau_a * t306 - 0.11e2 / 0.9e1 * t834; + const double t837 = t836 * t54; + const double t840 = t59 * t320; + const double t841 = t840 * t328; + const double t844 = t83 * t83; + const double t846 = 0.1e1 / t84 / t844; + const double t847 = t77 * t846; + const double t848 = t328 * t328; + const double t851 = b * t836; + const double t854 = t314 * t314; + const double t858 = t97 * t836; + const double t861 = 0.5e1 * t851 * t80 + 0.5e2 / 0.9e1 * b * t854 * t97 + 0.25e2 / 0.9e1 * t78 * t858; + const double t864 = t79 * t834; + const double t866 = 0.3e1 / 0.4e1 * t837 * t316 - 0.3e1 / 0.4e1 * t315 * t841 + 0.81e2 / 0.8e2 * t847 * t848 - 0.27e2 / 0.4e2 * t321 * t861 + 0.22e2 / 0.81e2 * t864; + const double t871 = t333 * t338; + const double t875 = 0.1e1 / t106 / t105; + const double t876 = t90 * t875; + const double t877 = t347 * t347; + const double t881 = t98 * t295; + const double t883 = 0.1e1 / t61 / t881; + const double t885 = t97 * t41 * t883; + const double t887 = 0.972e3 * t816 + 0.152e5 / 0.9e1 * t885; + const double t893 = t814 * t46; + const double t896 = t125 * t42; + const double t897 = 0.1e1 / t896; + const double t901 = t820 * t65 / 0.24e2 - 0.2e1 / 0.9e1 * t302 * t307 + 0.11e2 / 0.27e2 * t55 * t827 + 0.292e3 / 0.2025e4 * t830 + 0.292e3 / 0.2025e4 * t90 * t866 - 0.73e2 / 0.972e5 * t866 * t106 - 0.73e2 / 0.972e5 * t871 * t347 + 0.73e2 / 0.3888e6 * t876 * t877 - 0.73e2 / 0.1944e6 * t339 * t887 + 0.475e3 / 0.531441e6 * t110 * t111 * t883 + t116 * t893 / 0.12e3 + t120 * t124 * t897 / 0.32e2; + const double t904 = t361 * t364 * t115; + const double t907 = t135 * t135; + const double t908 = 0.1e1 / t907; + const double t910 = t130 * t908 * e; + const double t915 = t901 * t136 + 0.4e1 / 0.9e1 * t904 * t331 + 0.2e1 / 0.27e2 * t910 * t885 - 0.22e2 / 0.27e2 * t366 * t864; + const double t916 = t282 * t915; + const double t917 = t280 * t916; + const double t921 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t757 * t143 - t763 / 0.4e1 - 0.3e1 / 0.4e1 * t765 * t371 + t773 - t776 / 0.4e1 + 0.3e1 / 0.4e1 * t278 * t782 - 0.3e1 / 0.8e1 * t278 * t917 ); + const double t922 = t154 * t154; + const double t923 = 0.1e1 / t922; + const double t924 = t378 * t378; + const double t927 = t149 * t748; + const double t930 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t261 + 0.2e1 * t927 ); + const double t934 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t924 + 0.4e1 / 0.3e1 * t154 * t930 ); + const double t935 = t934 * t27; + const double t939 = t381 * t273; + const double t941 = t6 * t939 * t255; + const double t943 = t156 * t769; + const double t946 = t6 * t943 * t255 / 0.12e2; + const double t948 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t935 * t255 - t941 / 0.4e1 + t946 ); + const double t964 = t398 * t273; + const double t966 = t6 * t964 * t143; + const double t988 = t409 * t273; + const double t990 = t6 * t988 * t255; + const double t996 = t774 * t504; + const double t997 = t414 * t996; + const double t1005 = t395 * t395; + const double t1010 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t261 + 0.2e1 * t749 ); + const double t1014 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t1005 + 0.4e1 / 0.3e1 * t24 * t1010 ); + const double t1015 = t1014 * t27; + const double t1021 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1015 * t143 - t966 / 0.4e1 + t773 ); + const double t1022 = t406 * t406; + const double t1027 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t261 + 0.2e1 * t927 ); + const double t1031 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t1022 + 0.4e1 / 0.3e1 * t154 * t1027 ); + const double t1032 = t1031 * t27; + const double t1037 = t6 * t409; + const double t1042 = 0.1e1 / t415 / t250; + const double t1043 = t503 * t503; + const double t1044 = t1042 * t1043; + const double t1045 = t280 * t1044; + const double t1048 = t423 * t423; + const double t1049 = t1048 * t180; + const double t1051 = t430 * t160; + const double t1058 = t163 * t1051 * t418 / 0.4e1 + t163 * t1051 / 0.4e1 + t167 * t172; + const double t1061 = t169 * t423; + const double t1062 = t427 * t170; + const double t1063 = t1062 * t487; + const double t1066 = t179 * t179; + const double t1067 = 0.1e1 / t1066; + const double t1068 = t169 * t1067; + const double t1069 = t170 * t170; + const double t1070 = 0.1e1 / t475; + const double t1071 = t1069 * t1070; + const double t1072 = t174 * t174; + const double t1073 = 0.1e1 / t1072; + const double t1077 = 0.1e1 / t217; + const double t1078 = t170 * t1077; + const double t1079 = t1078 * t175; + const double t1083 = ( t169 * t1049 + t169 * t1058 * t180 + t1061 * t1063 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1071 * t1073 - 0.3e1 / 0.16e2 * t428 * t1079 ) * t54; + const double t1089 = 0.1e1 / t186 / t217; + const double t1090 = t184 * t1089; + const double t1093 = t467 * t467; + const double t1097 = sigma_bb * t1089; + const double t1099 = 0.4e2 / 0.9e1 * tau_b * t440 - 0.11e2 / 0.9e1 * t1097; + const double t1100 = t1099 * t54; + const double t1103 = t59 * t454; + const double t1104 = t1103 * t462; + const double t1107 = t206 * t206; + const double t1109 = 0.1e1 / t207 / t1107; + const double t1110 = t201 * t1109; + const double t1111 = t462 * t462; + const double t1114 = b * t1099; + const double t1117 = t448 * t448; + const double t1121 = t97 * t1099; + const double t1124 = 0.5e1 * t1114 * t203 + 0.5e2 / 0.9e1 * b * t1117 * t97 + 0.25e2 / 0.9e1 * t202 * t1121; + const double t1127 = t79 * t1097; + const double t1129 = 0.3e1 / 0.4e1 * t1100 * t450 - 0.3e1 / 0.4e1 * t449 * t1104 + 0.81e2 / 0.8e2 * t1110 * t1111 - 0.27e2 / 0.4e2 * t455 * t1124 + 0.22e2 / 0.81e2 * t1127; + const double t1134 = t467 * t472; + const double t1138 = 0.1e1 / t225 / t224; + const double t1139 = t213 * t1138; + const double t1140 = t481 * t481; + const double t1144 = t217 * t429; + const double t1146 = 0.1e1 / t185 / t1144; + const double t1148 = t97 * t170 * t1146; + const double t1150 = 0.972e3 * t1079 + 0.152e5 / 0.9e1 * t1148; + const double t1156 = t1077 * t175; + const double t1159 = t238 * t171; + const double t1160 = 0.1e1 / t1159; + const double t1164 = t1083 * t189 / 0.24e2 - 0.2e1 / 0.9e1 * t436 * t441 + 0.11e2 / 0.27e2 * t183 * t1090 + 0.292e3 / 0.2025e4 * t1093 + 0.292e3 / 0.2025e4 * t213 * t1129 - 0.73e2 / 0.972e5 * t1129 * t225 - 0.73e2 / 0.972e5 * t1134 * t481 + 0.73e2 / 0.3888e6 * t1139 * t1140 - 0.73e2 / 0.1944e6 * t473 * t1150 + 0.475e3 / 0.531441e6 * t110 * t228 * t1146 + t232 * t1156 / 0.12e3 + t120 * t237 * t1160 / 0.32e2; + const double t1167 = t495 * t498 * t115; + const double t1170 = t247 * t247; + const double t1171 = 0.1e1 / t1170; + const double t1173 = t243 * t1171 * e; + const double t1178 = t1164 * t248 + 0.4e1 / 0.9e1 * t1167 * t465 + 0.2e1 / 0.27e2 * t1173 * t1148 - 0.22e2 / 0.27e2 * t500 * t1127; + const double t1179 = t416 * t1178; + const double t1180 = t280 * t1179; + const double t1184 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t1032 * t255 - t990 / 0.4e1 - 0.3e1 / 0.4e1 * t1037 * t505 + t946 - t997 / 0.4e1 + 0.3e1 / 0.4e1 * t414 * t1045 - 0.3e1 / 0.8e1 * t414 * t1180 ); + const double t1189 = t774 * t574; + const double t1191 = t278 * t1189 / 0.8e1; + const double t1192 = t279 * t779; + const double t1193 = t573 * t369; + const double t1194 = t1192 * t1193; + const double t1197 = t289 * t518; + const double t1200 = BLOC_b * t43; + const double t1205 = -t1200 * t513 / 0.8e1 - t1200 * t31 / 0.4e1; + const double t1206 = t1205 * t51; + const double t1208 = t40 * t518; + const double t1211 = t293 * sigma_aa; + const double t1212 = t1211 * t117; + const double t1215 = 0.1e1 / t99; + const double t1216 = t123 * t1215; + const double t1220 = sigma_aa * t296; + const double t1221 = t1220 * t46; + const double t1225 = ( t40 * t1197 * t51 + t40 * t1206 + t1208 * t800 / 0.16e2 - t798 * t1212 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1216 * t810 + t294 * t1221 / 0.8e1 ) * t54; + const double t1232 = t59 * t306; + const double t1237 = t306 * t54; + const double t1238 = t1237 * t316; + const double t1240 = t532 * t841; + const double t1242 = t840 * t541; + const double t1245 = t541 * t328; + const double t1248 = b * t306; + const double t1249 = t1248 * t80; + const double t1251 = t535 * t325; + const double t1254 = t78 * t97 * t306; + const double t1256 = 0.5e1 / 0.3e1 * t1249 - 0.25e2 / 0.36e2 * t1251 + 0.25e2 / 0.27e2 * t1254; + const double t1259 = t1237 * t59; + const double t1261 = t1238 / 0.4e1 + 0.3e1 / 0.64e2 * t1240 - 0.3e1 / 0.8e1 * t315 * t1242 + 0.81e2 / 0.8e2 * t847 * t1245 - 0.27e2 / 0.4e2 * t321 * t1256 - 0.2e1 / 0.27e2 * t1259; + const double t1266 = t546 * t338; + const double t1271 = t555 * t347; + const double t1276 = t97 * sigma_aa * t343; + const double t1278 = -0.648e3 * t1221 - 0.16e4 / 0.3e1 * t1276; + const double t1289 = t1225 * t65 / 0.24e2 - t526 * t307 / 0.9e1 + t302 * t529 / 0.24e2 - t55 * t1232 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t546 + 0.292e3 / 0.2025e4 * t90 * t1261 - 0.73e2 / 0.972e5 * t1261 * t106 - 0.73e2 / 0.1944e6 * t1266 * t347 - 0.73e2 / 0.1944e6 * t871 * t555 + 0.73e2 / 0.3888e6 * t876 * t1271 - 0.73e2 / 0.1944e6 * t339 * t1278 - 0.5e2 / 0.177147e6 * t110 * t558 * t343 - t562 * t353 / 0.18e3 - t120 * t565 * t357 / 0.96e2; + const double t1292 = t569 * t364 * t115; + const double t1301 = t1289 * t136 + 0.2e1 / 0.9e1 * t1292 * t331 - t904 * t544 / 0.12e2 - t910 * t1276 / 0.36e2 + 0.2e1 / 0.9e1 * t366 * t1259; + const double t1302 = t282 * t1301; + const double t1303 = t280 * t1302; + const double t1307 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t765 * t575 - t1191 + 0.3e1 / 0.4e1 * t646 * t1194 - 0.3e1 / 0.8e1 * t278 * t1303 ); + const double t1311 = t774 * t641; + const double t1313 = t414 * t1311 / 0.8e1; + const double t1324 = t279 * t1042; + const double t1325 = t640 * t503; + const double t1326 = t1324 * t1325; + const double t1329 = t423 * t585; + const double t1332 = BLOC_b * t172; + const double t1337 = -t1332 * t580 / 0.8e1 - t1332 * t160 / 0.4e1; + const double t1338 = t1337 * t180; + const double t1340 = t169 * t585; + const double t1343 = t427 * sigma_bb; + const double t1344 = t1343 * t233; + const double t1347 = 0.1e1 / t218; + const double t1348 = t236 * t1347; + const double t1352 = sigma_bb * t430; + const double t1353 = t1352 * t175; + const double t1357 = ( t169 * t1329 * t180 + t169 * t1338 + t1340 * t1063 / 0.16e2 - t1061 * t1344 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1348 * t1073 + t428 * t1353 / 0.8e1 ) * t54; + const double t1364 = t59 * t440; + const double t1369 = t440 * t54; + const double t1370 = t1369 * t450; + const double t1372 = t599 * t1104; + const double t1374 = t1103 * t608; + const double t1377 = t608 * t462; + const double t1380 = b * t440; + const double t1381 = t1380 * t203; + const double t1383 = t602 * t459; + const double t1386 = t202 * t97 * t440; + const double t1388 = 0.5e1 / 0.3e1 * t1381 - 0.25e2 / 0.36e2 * t1383 + 0.25e2 / 0.27e2 * t1386; + const double t1391 = t1369 * t59; + const double t1393 = t1370 / 0.4e1 + 0.3e1 / 0.64e2 * t1372 - 0.3e1 / 0.8e1 * t449 * t1374 + 0.81e2 / 0.8e2 * t1110 * t1377 - 0.27e2 / 0.4e2 * t455 * t1388 - 0.2e1 / 0.27e2 * t1391; + const double t1398 = t613 * t472; + const double t1403 = t622 * t481; + const double t1408 = t97 * sigma_bb * t477; + const double t1410 = -0.648e3 * t1353 - 0.16e4 / 0.3e1 * t1408; + const double t1421 = t1357 * t189 / 0.24e2 - t593 * t441 / 0.9e1 + t436 * t596 / 0.24e2 - t183 * t1364 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t613 + 0.292e3 / 0.2025e4 * t213 * t1393 - 0.73e2 / 0.972e5 * t1393 * t225 - 0.73e2 / 0.1944e6 * t1398 * t481 - 0.73e2 / 0.1944e6 * t1134 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1403 - 0.73e2 / 0.1944e6 * t473 * t1410 - 0.5e2 / 0.177147e6 * t110 * t625 * t477 - t629 * t487 / 0.18e3 - t120 * t632 * t491 / 0.96e2; + const double t1424 = t636 * t498 * t115; + const double t1433 = t1421 * t248 + 0.2e1 / 0.9e1 * t1424 * t465 - t1167 * t611 / 0.12e2 - t1173 * t1408 / 0.36e2 + 0.2e1 / 0.9e1 * t500 * t1391; + const double t1434 = t416 * t1433; + const double t1435 = t280 * t1434; + const double t1439 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1037 * t642 - t1313 + 0.3e1 / 0.4e1 * t693 * t1326 - 0.3e1 / 0.8e1 * t414 * t1435 ); + const double t1441 = t6 * t268; + const double t1444 = t6 * t274; + const double t1446 = t1444 * t689 / 0.8e1; + const double t1448 = t1192 * t688 * t369; + const double t1451 = t289 * t653; + const double t1459 = t34 * t117 * t284 / 0.8e1 + t34 * t117 / 0.4e1; + const double t1460 = t1459 * t51; + const double t1462 = t40 * t653; + const double t1465 = t799 * t684; + const double t1468 = t806 * t1215; + const double t1470 = 0.1e1 / t809 / tau_a; + const double t1474 = t297 * t657; + const double t1478 = ( t40 * t1451 * t51 + t40 * t1460 + t1462 * t800 / 0.16e2 + t798 * t1465 / 0.16e2 + 0.3e1 / 0.512e3 * t805 * t1468 * t1470 - t294 * t1474 / 0.8e1 ) * t54; + const double t1488 = t840 * t674; + const double t1491 = t674 * t328; + const double t1498 = -0.25e2 / 0.3e1 * t536 + 0.5e2 / 0.9e1 * t668 * t325 - 0.125e3 / 0.27e2 * t539; + const double t1501 = -0.5e1 / 0.4e1 * t533 - 0.3e1 / 0.8e1 * t665 * t841 - 0.3e1 / 0.8e1 * t315 * t1488 + 0.81e2 / 0.8e2 * t847 * t1491 - 0.27e2 / 0.4e2 * t321 * t1498; + const double t1506 = t677 * t338; + const double t1511 = t876 * t41; + const double t1512 = t684 * t347; + const double t1517 = t296 * t657; + const double t1520 = t1478 * t65 / 0.24e2 - t662 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t677 + 0.292e3 / 0.2025e4 * t90 * t1501 - 0.73e2 / 0.972e5 * t1501 * t106 - 0.73e2 / 0.1944e6 * t1506 * t347 + 0.73e2 / 0.6e3 * t871 * t658 - 0.73e2 / 0.12e4 * t1511 * t1512 - 0.73e2 / 0.3e3 * t339 * t1474 + t116 * t1517 / 0.18e3; + const double t1521 = t1520 * t136; + const double t1522 = t647 * t1521; + const double t1525 = t280 * t282; + const double t1526 = t278 * t1525; + const double t1527 = t687 * t364; + const double t1528 = t1527 * t115; + const double t1529 = t1528 * t331; + const double t1533 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1441 * t689 - t1446 + 0.3e1 / 0.4e1 * t646 * t1448 - 0.3e1 / 0.8e1 * t646 * t1522 - t1526 * t1529 / 0.12e2 ); + const double t1538 = t6 * t386; + const double t1540 = t1538 * t736 / 0.8e1; + const double t1550 = t6 * t410; + const double t1554 = t1324 * t735 * t503; + const double t1557 = t423 * t700; + const double t1565 = t163 * t233 * t418 / 0.8e1 + t163 * t233 / 0.4e1; + const double t1566 = t1565 * t180; + const double t1568 = t169 * t700; + const double t1571 = t1062 * t731; + const double t1574 = t1069 * t1347; + const double t1576 = 0.1e1 / t1072 / tau_b; + const double t1580 = t431 * t704; + const double t1584 = ( t169 * t1557 * t180 + t169 * t1566 + t1568 * t1063 / 0.16e2 + t1061 * t1571 / 0.16e2 + 0.3e1 / 0.512e3 * t1068 * t1574 * t1576 - t428 * t1580 / 0.8e1 ) * t54; + const double t1594 = t1103 * t721; + const double t1597 = t721 * t462; + const double t1604 = -0.25e2 / 0.3e1 * t603 + 0.5e2 / 0.9e1 * t715 * t459 - 0.125e3 / 0.27e2 * t606; + const double t1607 = -0.5e1 / 0.4e1 * t600 - 0.3e1 / 0.8e1 * t712 * t1104 - 0.3e1 / 0.8e1 * t449 * t1594 + 0.81e2 / 0.8e2 * t1110 * t1597 - 0.27e2 / 0.4e2 * t455 * t1604; + const double t1612 = t724 * t472; + const double t1617 = t1139 * t170; + const double t1618 = t731 * t481; + const double t1623 = t430 * t704; + const double t1626 = t1584 * t189 / 0.24e2 - t709 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t724 + 0.292e3 / 0.2025e4 * t213 * t1607 - 0.73e2 / 0.972e5 * t1607 * t225 - 0.73e2 / 0.1944e6 * t1612 * t481 + 0.73e2 / 0.6e3 * t1134 * t705 - 0.73e2 / 0.12e4 * t1617 * t1618 - 0.73e2 / 0.3e3 * t473 * t1580 + t232 * t1623 / 0.18e3; + const double t1627 = t1626 * t248; + const double t1628 = t694 * t1627; + const double t1631 = t280 * t416; + const double t1632 = t414 * t1631; + const double t1633 = t734 * t498; + const double t1634 = t1633 * t115; + const double t1635 = t1634 * t465; + const double t1639 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1550 * t736 - t1540 + 0.3e1 / 0.4e1 * t693 * t1554 - 0.3e1 / 0.8e1 * t693 * t1628 - t1632 * t1635 / 0.12e2 ); + const double t1641 = t573 * t573; + const double t1642 = t779 * t1641; + const double t1643 = t280 * t1642; + const double t1646 = t518 * t518; + const double t1647 = t1646 * t51; + const double t1652 = 0.1e1 / t41; + const double t1654 = t512 * t31 * t516 / 0.4e1 - t38 * t1652; + const double t1659 = t815 * t810; + const double t1662 = t293 * t43; + const double t1663 = t1662 * t46; + const double t1667 = ( t40 * t1647 + t40 * t1654 * t51 - t1208 * t1212 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1659 - t40 * t1663 / 0.16e2 ) * t54; + const double t1672 = t546 * t546; + const double t1674 = t532 * t1242; + const double t1676 = t541 * t541; + const double t1679 = t321 * b; + const double t1680 = t97 * t101; + const double t1681 = t1679 * t1680; + const double t1683 = 0.3e1 / 0.32e2 * t1674 + 0.81e2 / 0.8e2 * t847 * t1676 - 0.15e2 / 0.256e3 * t1681; + const double t1690 = t555 * t555; + const double t1695 = 0.324e3 * t117 + 0.1e3 * t1680; + const double t1698 = t96 * t101; + const double t1701 = t115 * t43; + const double t1704 = t122 * sigma_aa; + const double t1708 = t1667 * t65 / 0.24e2 + t526 * t529 / 0.12e2 + 0.292e3 / 0.2025e4 * t1672 + 0.292e3 / 0.2025e4 * t90 * t1683 - 0.73e2 / 0.972e5 * t1683 * t106 - 0.73e2 / 0.972e5 * t1266 * t555 + 0.73e2 / 0.3888e6 * t876 * t1690 - 0.73e2 / 0.1944e6 * t339 * t1695 + 0.25e2 / 0.472392e6 * t110 * t1698 + t1701 * t46 / 0.36e3 + t120 * t1704 * t126 / 0.384e3; + const double t1714 = t1708 * t136 - t1292 * t544 / 0.6e1 + t910 * t1680 / 0.96e2; + const double t1715 = t282 * t1714; + const double t1716 = t280 * t1715; + const double t1720 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t278 * t1643 - 0.3e1 / 0.8e1 * t278 * t1716 ); + const double t1721 = t640 * t640; + const double t1722 = t1042 * t1721; + const double t1723 = t280 * t1722; + const double t1726 = t585 * t585; + const double t1727 = t1726 * t180; + const double t1732 = 0.1e1 / t170; + const double t1734 = t579 * t160 * t583 / 0.4e1 - t167 * t1732; + const double t1739 = t1078 * t1073; + const double t1742 = t427 * t172; + const double t1743 = t1742 * t175; + const double t1747 = ( t169 * t1727 + t169 * t1734 * t180 - t1340 * t1344 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1739 - t169 * t1743 / 0.16e2 ) * t54; + const double t1752 = t613 * t613; + const double t1754 = t599 * t1374; + const double t1756 = t608 * t608; + const double t1759 = t455 * b; + const double t1760 = t97 * t220; + const double t1761 = t1759 * t1760; + const double t1763 = 0.3e1 / 0.32e2 * t1754 + 0.81e2 / 0.8e2 * t1110 * t1756 - 0.15e2 / 0.256e3 * t1761; + const double t1770 = t622 * t622; + const double t1775 = 0.324e3 * t233 + 0.1e3 * t1760; + const double t1778 = t96 * t220; + const double t1781 = t115 * t172; + const double t1784 = t122 * sigma_bb; + const double t1788 = t1747 * t189 / 0.24e2 + t593 * t596 / 0.12e2 + 0.292e3 / 0.2025e4 * t1752 + 0.292e3 / 0.2025e4 * t213 * t1763 - 0.73e2 / 0.972e5 * t1763 * t225 - 0.73e2 / 0.972e5 * t1398 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1770 - 0.73e2 / 0.1944e6 * t473 * t1775 + 0.25e2 / 0.472392e6 * t110 * t1778 + t1781 * t175 / 0.36e3 + t120 * t1784 * t239 / 0.384e3; + const double t1794 = t1788 * t248 - t1424 * t611 / 0.6e1 + t1173 * t1760 / 0.96e2; + const double t1795 = t416 * t1794; + const double t1796 = t280 * t1795; + const double t1800 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t414 * t1723 - 0.3e1 / 0.8e1 * t414 * t1796 ); + const double t1802 = t1192 * t688 * t573; + const double t1805 = t518 * t653; + const double t1806 = t1805 * t51; + const double t1808 = t46 * t284; + const double t1813 = -t512 * t1808 / 0.8e1 - t512 * t46 / 0.4e1; + const double t1814 = t1813 * t51; + const double t1820 = t123 * t814; + const double t1824 = t521 * t657; + const double t1828 = ( t40 * t1806 + t40 * t1814 - t1462 * t1212 / 0.16e2 + t1208 * t1465 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1820 * t1470 + t294 * t1824 / 0.8e1 ) * t54; + const double t1837 = t532 * t1488; + const double t1839 = t674 * t541; + const double t1843 = 0.1e1 / t61 / t98; + const double t1844 = t1843 * t94; + const double t1846 = t1679 * t1844 * t96; + const double t1848 = -0.3e1 / 0.8e1 * t665 * t1242 + 0.3e1 / 0.64e2 * t1837 + 0.81e2 / 0.8e2 * t847 * t1839 + 0.15e2 / 0.32e2 * t1846; + const double t1857 = t684 * t555; + const double t1864 = t1828 * t65 / 0.24e2 + t662 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t546 * t677 + 0.292e3 / 0.2025e4 * t90 * t1848 - 0.73e2 / 0.972e5 * t1848 * t106 - 0.73e2 / 0.1944e6 * t1506 * t555 + 0.73e2 / 0.6e3 * t1266 * t658 - 0.73e2 / 0.12e4 * t1511 * t1857 + 0.73e2 / 0.3e3 * t339 * t1824 - t562 * t684 / 0.18e3; + const double t1865 = t1864 * t136; + const double t1866 = t647 * t1865; + const double t1869 = t1528 * t544; + const double t1873 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1802 - 0.3e1 / 0.8e1 * t646 * t1866 + t1526 * t1869 / 0.32e2 ); + const double t1875 = t1324 * t735 * t640; + const double t1878 = t585 * t700; + const double t1879 = t1878 * t180; + const double t1881 = t175 * t418; + const double t1886 = -t579 * t1881 / 0.8e1 - t579 * t175 / 0.4e1; + const double t1887 = t1886 * t180; + const double t1893 = t236 * t1077; + const double t1897 = t588 * t704; + const double t1901 = ( t169 * t1879 + t169 * t1887 - t1568 * t1344 / 0.16e2 + t1340 * t1571 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1893 * t1576 + t428 * t1897 / 0.8e1 ) * t54; + const double t1910 = t599 * t1594; + const double t1912 = t721 * t608; + const double t1916 = 0.1e1 / t185 / t217; + const double t1917 = t1916 * t94; + const double t1919 = t1759 * t1917 * t96; + const double t1921 = -0.3e1 / 0.8e1 * t712 * t1374 + 0.3e1 / 0.64e2 * t1910 + 0.81e2 / 0.8e2 * t1110 * t1912 + 0.15e2 / 0.32e2 * t1919; + const double t1930 = t731 * t622; + const double t1937 = t1901 * t189 / 0.24e2 + t709 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t613 * t724 + 0.292e3 / 0.2025e4 * t213 * t1921 - 0.73e2 / 0.972e5 * t1921 * t225 - 0.73e2 / 0.1944e6 * t1612 * t622 + 0.73e2 / 0.6e3 * t1398 * t705 - 0.73e2 / 0.12e4 * t1617 * t1930 + 0.73e2 / 0.3e3 * t473 * t1897 - t629 * t731 / 0.18e3; + const double t1938 = t1937 * t248; + const double t1939 = t694 * t1938; + const double t1942 = t1634 * t611; + const double t1946 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t1875 - 0.3e1 / 0.8e1 * t693 * t1939 + t1632 * t1942 / 0.32e2 ); + const double t1947 = t687 * t687; + const double t1948 = t1947 * t908; + const double t1949 = t1192 * t1948; + const double t1952 = t653 * t653; + const double t1953 = t1952 * t51; + const double t1955 = t29 * t657; + const double t1962 = t34 * t1955 * t284 / 0.4e1 + t34 * t1955 / 0.4e1 + t38 * t46; + const double t1967 = t806 * t814; + const double t1969 = 0.1e1 / t809 / t45; + const double t1970 = t1967 * t1969; + const double t1973 = t44 * t810; + const double t1977 = ( t40 * t1953 + t40 * t1962 * t51 + t1462 * t1465 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1970 - 0.3e1 / 0.16e2 * t294 * t1973 ) * t54; + const double t1980 = t677 * t677; + const double t1984 = t674 * t674; + const double t1988 = 0.1e1 / t61 / t295; + const double t1989 = t1988 * t94; + const double t1993 = -0.3e1 / 0.4e1 * t665 * t1488 + 0.81e2 / 0.8e2 * t847 * t1984 - 0.15e2 / 0.4e1 * t1679 * t1989 * t96; + const double t2004 = t43 * t810; + const double t2007 = t1977 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t1980 + 0.292e3 / 0.2025e4 * t90 * t1993 - 0.73e2 / 0.972e5 * t1993 * t106 + 0.73e2 / 0.3e3 * t1506 * t658 + 0.1971e4 / 0.1e3 * t876 * t1970 - 0.73e2 / 0.2e3 * t339 * t1973 + t116 * t2004 / 0.12e3; + const double t2008 = t2007 * t136; + const double t2009 = t647 * t2008; + const double t2013 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1949 - 0.3e1 / 0.8e1 * t646 * t2009 ); + const double t2014 = t734 * t734; + const double t2015 = t2014 * t1171; + const double t2016 = t1324 * t2015; + const double t2019 = t700 * t700; + const double t2020 = t2019 * t180; + const double t2022 = t158 * t704; + const double t2029 = t163 * t2022 * t418 / 0.4e1 + t163 * t2022 / 0.4e1 + t167 * t175; + const double t2034 = t1069 * t1077; + const double t2036 = 0.1e1 / t1072 / t174; + const double t2037 = t2034 * t2036; + const double t2040 = t173 * t1073; + const double t2044 = ( t169 * t2020 + t169 * t2029 * t180 + t1568 * t1571 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t2037 - 0.3e1 / 0.16e2 * t428 * t2040 ) * t54; + const double t2047 = t724 * t724; + const double t2051 = t721 * t721; + const double t2055 = 0.1e1 / t185 / t429; + const double t2056 = t2055 * t94; + const double t2060 = -0.3e1 / 0.4e1 * t712 * t1594 + 0.81e2 / 0.8e2 * t1110 * t2051 - 0.15e2 / 0.4e1 * t1759 * t2056 * t96; + const double t2071 = t172 * t1073; + const double t2074 = t2044 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t2047 + 0.292e3 / 0.2025e4 * t213 * t2060 - 0.73e2 / 0.972e5 * t2060 * t225 + 0.73e2 / 0.3e3 * t1612 * t705 + 0.1971e4 / 0.1e3 * t1139 * t2037 - 0.73e2 / 0.2e3 * t473 * t2040 + t232 * t2071 / 0.12e3; + const double t2075 = t2074 * t248; + const double t2076 = t694 * t2075; + const double t2080 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t2016 - 0.3e1 / 0.8e1 * t693 * t2076 ); + + + vrho_a = t147 + t259 + t7 * ( t375 + t391 ); + vrho_b = t147 + t259 + t7 * ( t404 + t509 ); + vsigma_aa = t7 * t578; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t645; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t692; + vtau_b = t7 * t739; + v2rho2_aa = 0.2e1 * t375 + 0.2e1 * t391 + t7 * ( t921 + t948 ); + v2rho2_bb = 0.2e1 * t404 + 0.2e1 * t509 + t7 * ( t1021 + t1184 ); + v2rhosigma_a_aa = t7 * t1307 + t578; + v2rhosigma_b_bb = t7 * t1439 + t645; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1533 + t692; + v2rhotau_b_b = t7 * t1639 + t739; + v2sigma2_aa_aa = t7 * t1720; + v2sigma2_bb_bb = t7 * t1800; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1873; + v2sigmatau_bb_b = t7 * t1946; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2013; + v2tau2_bb = t7 * t2080; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinRevTPSS_X : detail::BuiltinKernelImpl< BuiltinRevTPSS_X > { + + BuiltinRevTPSS_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinRevTPSS_X >(p) { } + + virtual ~BuiltinRevTPSS_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/rpbe_x.hpp b/include/exchcxx/impl/builtin/kernels/rpbe_x.hpp new file mode 100644 index 0000000..a4a8102 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/rpbe_x.hpp @@ -0,0 +1,911 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinRPBE_X > : + public gga_screening_interface< BuiltinRPBE_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double rpbe_kappa = 0.8040; + static constexpr double rpbe_mu = 0.2195149727645171; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = rpbe_mu * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t34 = 0.1e1 / rpbe_kappa; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t39 = safe_math::exp( -t21 * t25 * t29 * t33 * t34 / 0.24e2 ); + const double t42 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t39 ); + const double t46 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t17 * t18 * t42 ); + + + eps = 0.2e1 * t46; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = rpbe_mu * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t34 = 0.1e1 / rpbe_kappa; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t39 = safe_math::exp( -t21 * t25 * t29 * t33 * t34 / 0.24e2 ); + const double t42 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t39 ); + const double t46 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t17 * t18 * t42 ); + const double t52 = t30 * rho; + const double t55 = t17 / t18 / t52; + const double t59 = t29 * t39; + const double t60 = t20 * t25 * t59; + const double t64 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t31 * t42 / 0.8e1 + t6 * t55 * rpbe_mu * t60 / 0.24e2 ); + const double t72 = t25 * t28 * t39; + const double t73 = t21 * t72; + const double t76 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t18 / t30 * t73 / 0.64e2 ); + + + eps = 0.2e1 * t46; + vrho = 0.2e1 * rho * t64 + 0.2e1 * t46; + vsigma = 0.2e1 * rho * t76; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = rpbe_mu * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t34 = 0.1e1 / rpbe_kappa; + constexpr double t96 = rpbe_mu * rpbe_mu; + constexpr double t99 = t20 * t20; + constexpr double t102 = t99 / t23 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t39 = safe_math::exp( -t21 * t25 * t29 * t33 * t34 / 0.24e2 ); + const double t42 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t39 ); + const double t52 = t30 * rho; + const double t55 = t17 / t18 / t52; + const double t59 = t29 * t39; + const double t60 = t20 * t25 * t59; + const double t64 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t31 * t42 / 0.8e1 + t6 * t55 * rpbe_mu * t60 / 0.24e2 ); + const double t72 = t25 * t28 * t39; + const double t73 = t21 * t72; + const double t76 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t18 / t30 * t73 / 0.64e2 ); + const double t85 = t30 * t30; + const double t88 = t17 / t18 / t85; + const double t93 = t85 * t52; + const double t98 = t6 * t17 / t93 * t96; + const double t103 = sigma * sigma; + const double t106 = t27 * t34 * t39; + const double t107 = t102 * t103 * t106; + const double t111 = piecewise_functor_3( t2, 0.0, t6 * t17 / t31 / rho * t42 / 0.12e2 - t6 * t88 * rpbe_mu * t60 / 0.8e1 + t98 * t107 / 0.108e3 ); + const double t117 = t85 * t30; + const double t121 = t6 * t17 / t117 * t96; + const double t125 = t102 * t27 * sigma * t34 * t39; + const double t129 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.192e3 * t6 * t55 * t73 - t121 * t125 / 0.288e3 ); + const double t132 = t85 * rho; + const double t137 = t102 * t106; + const double t140 = piecewise_functor_3( t2, 0.0, t6 * t17 / t132 * t96 * t137 / 0.768e3 ); + + + v2rho2 = 0.2e1 * rho * t111 + 0.4e1 * t64; + v2rhosigma = 0.2e1 * rho * t129 + 0.2e1 * t76; + v2sigma2 = 0.2e1 * rho * t140; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t20 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = rpbe_mu * t20; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t28 = t27 * t27; + constexpr double t34 = 0.1e1 / rpbe_kappa; + constexpr double t96 = rpbe_mu * rpbe_mu; + constexpr double t99 = t20 * t20; + constexpr double t102 = t99 / t23 / t22; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t18 * t18; + const double t33 = 0.1e1 / t31 / t30; + const double t39 = safe_math::exp( -t21 * t25 * t29 * t33 * t34 / 0.24e2 ); + const double t42 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t39 ); + const double t46 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t17 * t18 * t42 ); + const double t52 = t30 * rho; + const double t55 = t17 / t18 / t52; + const double t59 = t29 * t39; + const double t60 = t20 * t25 * t59; + const double t64 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t31 * t42 / 0.8e1 + t6 * t55 * rpbe_mu * t60 / 0.24e2 ); + const double t72 = t25 * t28 * t39; + const double t73 = t21 * t72; + const double t76 = piecewise_functor_3( t2, 0.0, -t6 * t17 / t18 / t30 * t73 / 0.64e2 ); + const double t85 = t30 * t30; + const double t88 = t17 / t18 / t85; + const double t93 = t85 * t52; + const double t98 = t6 * t17 / t93 * t96; + const double t103 = sigma * sigma; + const double t106 = t27 * t34 * t39; + const double t107 = t102 * t103 * t106; + const double t111 = piecewise_functor_3( t2, 0.0, t6 * t17 / t31 / rho * t42 / 0.12e2 - t6 * t88 * rpbe_mu * t60 / 0.8e1 + t98 * t107 / 0.108e3 ); + const double t117 = t85 * t30; + const double t121 = t6 * t17 / t117 * t96; + const double t125 = t102 * t27 * sigma * t34 * t39; + const double t129 = piecewise_functor_3( t2, 0.0, 0.7e1 / 0.192e3 * t6 * t55 * t73 - t121 * t125 / 0.288e3 ); + const double t132 = t85 * rho; + const double t137 = t102 * t106; + const double t140 = piecewise_functor_3( t2, 0.0, t6 * t17 / t132 * t96 * t137 / 0.768e3 ); + + + vrho = 0.2e1 * rho * t64 + 0.2e1 * t46; + vsigma = 0.2e1 * rho * t76; + v2rho2 = 0.2e1 * rho * t111 + 0.4e1 * t64; + v2rhosigma = 0.2e1 * rho * t129 + 0.2e1 * t76; + v2sigma2 = 0.2e1 * rho * t140; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = rpbe_mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t41 = 0.1e1 / rpbe_kappa; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t45 = safe_math::exp( -t34 * sigma_aa * t39 * t41 / 0.24e2 ); + const double t48 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t45 ); + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = rho_b * rho_b; + const double t64 = safe_math::cbrt( rho_b ); + const double t65 = t64 * t64; + const double t67 = 0.1e1 / t65 / t63; + const double t72 = safe_math::exp( -t34 * sigma_bb * t67 * t41 / 0.24e2 ); + const double t75 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t72 ); + const double t79 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t75 ); + + + eps = t52 + t79; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = rpbe_mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t41 = 0.1e1 / rpbe_kappa; + constexpr double t100 = t28 * t33; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t45 = safe_math::exp( -t34 * sigma_aa * t39 * t41 / 0.24e2 ); + const double t48 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t45 ); + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = rho_b * rho_b; + const double t64 = safe_math::cbrt( rho_b ); + const double t65 = t64 * t64; + const double t67 = 0.1e1 / t65 / t63; + const double t72 = safe_math::exp( -t34 * sigma_bb * t67 * t41 / 0.24e2 ); + const double t75 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t72 ); + const double t79 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t75 ); + const double t80 = t6 * t6; + const double t81 = 0.1e1 / t80; + const double t82 = t16 * t81; + const double t84 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t82 ); + const double t87 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t84 ); + const double t88 = t87 * t26; + const double t92 = t26 * t26; + const double t93 = 0.1e1 / t92; + const double t94 = t25 * t93; + const double t97 = t5 * t94 * t48 / 0.8e1; + const double t99 = t5 * t27 * rpbe_mu; + const double t101 = t35 * rho_a; + const double t103 = 0.1e1 / t37 / t101; + const double t106 = t100 * sigma_aa * t103 * t45; + const double t110 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t88 * t48 - t97 + t99 * t106 / 0.24e2 ); + const double t111 = t54 * t81; + const double t113 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t111 ); + const double t116 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t113 ); + const double t117 = t116 * t26; + const double t121 = t61 * t93; + const double t124 = t5 * t121 * t75 / 0.8e1; + const double t126 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t117 * t75 - t124 ); + const double t130 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t82 ); + const double t133 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t130 ); + const double t134 = t133 * t26; + const double t139 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t134 * t48 - t97 ); + const double t141 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t111 ); + const double t144 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t141 ); + const double t145 = t144 * t26; + const double t150 = t5 * t62 * rpbe_mu; + const double t151 = t63 * rho_b; + const double t153 = 0.1e1 / t65 / t151; + const double t156 = t100 * sigma_bb * t153 * t72; + const double t160 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t145 * t75 - t124 + t150 * t156 / 0.24e2 ); + const double t163 = t5 * t27; + const double t166 = t29 * t33 * t39 * t45; + const double t169 = piecewise_functor_3( t1, 0.0, -t163 * t166 / 0.64e2 ); + const double t170 = t5 * t62; + const double t173 = t29 * t33 * t67 * t72; + const double t176 = piecewise_functor_3( t53, 0.0, -t170 * t173 / 0.64e2 ); + + + eps = t52 + t79; + vrho_a = t52 + t79 + t6 * ( t110 + t126 ); + vrho_b = t52 + t79 + t6 * ( t139 + t160 ); + vsigma_aa = t6 * t169; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t176; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = rpbe_mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t41 = 0.1e1 / rpbe_kappa; + constexpr double t100 = t28 * t33; + constexpr double t224 = rpbe_mu * rpbe_mu; + constexpr double t227 = t28 * t28; + constexpr double t230 = t227 / t31 / t30; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t45 = safe_math::exp( -t34 * sigma_aa * t39 * t41 / 0.24e2 ); + const double t48 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t45 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = rho_b * rho_b; + const double t64 = safe_math::cbrt( rho_b ); + const double t65 = t64 * t64; + const double t67 = 0.1e1 / t65 / t63; + const double t72 = safe_math::exp( -t34 * sigma_bb * t67 * t41 / 0.24e2 ); + const double t75 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t72 ); + const double t80 = t6 * t6; + const double t81 = 0.1e1 / t80; + const double t82 = t16 * t81; + const double t84 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t82 ); + const double t87 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t84 ); + const double t88 = t87 * t26; + const double t92 = t26 * t26; + const double t93 = 0.1e1 / t92; + const double t94 = t25 * t93; + const double t97 = t5 * t94 * t48 / 0.8e1; + const double t99 = t5 * t27 * rpbe_mu; + const double t101 = t35 * rho_a; + const double t103 = 0.1e1 / t37 / t101; + const double t106 = t100 * sigma_aa * t103 * t45; + const double t110 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t88 * t48 - t97 + t99 * t106 / 0.24e2 ); + const double t111 = t54 * t81; + const double t113 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t111 ); + const double t116 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t113 ); + const double t117 = t116 * t26; + const double t121 = t61 * t93; + const double t124 = t5 * t121 * t75 / 0.8e1; + const double t126 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t117 * t75 - t124 ); + const double t130 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t82 ); + const double t133 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t130 ); + const double t134 = t133 * t26; + const double t139 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t134 * t48 - t97 ); + const double t141 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t111 ); + const double t144 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t141 ); + const double t145 = t144 * t26; + const double t150 = t5 * t62 * rpbe_mu; + const double t151 = t63 * rho_b; + const double t153 = 0.1e1 / t65 / t151; + const double t156 = t100 * sigma_bb * t153 * t72; + const double t160 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t145 * t75 - t124 + t150 * t156 / 0.24e2 ); + const double t163 = t5 * t27; + const double t166 = t29 * t33 * t39 * t45; + const double t169 = piecewise_functor_3( t1, 0.0, -t163 * t166 / 0.64e2 ); + const double t170 = t5 * t62; + const double t173 = t29 * t33 * t67 * t72; + const double t176 = piecewise_functor_3( t53, 0.0, -t170 * t173 / 0.64e2 ); + const double t179 = t23 * t23; + const double t180 = 0.1e1 / t179; + const double t181 = t84 * t84; + const double t184 = t80 * t6; + const double t185 = 0.1e1 / t184; + const double t186 = t16 * t185; + const double t189 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t81 + 0.2e1 * t186 ); + const double t193 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t180 * t181 + 0.4e1 / 0.3e1 * t23 * t189 ); + const double t194 = t193 * t26; + const double t198 = t87 * t93; + const double t200 = t5 * t198 * t48; + const double t203 = t5 * t88 * rpbe_mu; + const double t207 = 0.1e1 / t92 / t6; + const double t208 = t25 * t207; + const double t211 = t5 * t208 * t48 / 0.12e2; + const double t213 = t5 * t94 * rpbe_mu; + const double t214 = t213 * t106; + const double t216 = t35 * t35; + const double t218 = 0.1e1 / t37 / t216; + const double t221 = t100 * sigma_aa * t218 * t45; + const double t226 = t5 * t27 * t224; + const double t231 = sigma_aa * sigma_aa; + const double t232 = t230 * t231; + const double t235 = 0.1e1 / t36 / t216 / t101; + const double t237 = t235 * t41 * t45; + const double t238 = t232 * t237; + const double t242 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t194 * t48 - t200 / 0.4e1 + t203 * t106 / 0.12e2 + t211 + t214 / 0.36e2 - 0.11e2 / 0.72e2 * t99 * t221 + t226 * t238 / 0.216e3 ); + const double t243 = t59 * t59; + const double t244 = 0.1e1 / t243; + const double t245 = t113 * t113; + const double t248 = t54 * t185; + const double t251 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t81 + 0.2e1 * t248 ); + const double t255 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t244 * t245 + 0.4e1 / 0.3e1 * t59 * t251 ); + const double t256 = t255 * t26; + const double t260 = t116 * t93; + const double t262 = t5 * t260 * t75; + const double t264 = t61 * t207; + const double t267 = t5 * t264 * t75 / 0.12e2; + const double t269 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t256 * t75 - t262 / 0.4e1 + t267 ); + const double t285 = t133 * t93; + const double t287 = t5 * t285 * t48; + const double t310 = t144 * t93; + const double t312 = t5 * t310 * t75; + const double t320 = t5 * t121 * rpbe_mu; + const double t321 = t320 * t156; + const double t329 = t130 * t130; + const double t334 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t81 + 0.2e1 * t186 ); + const double t338 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t180 * t329 + 0.4e1 / 0.3e1 * t23 * t334 ); + const double t339 = t338 * t26; + const double t345 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t339 * t48 - t287 / 0.4e1 + t211 ); + const double t346 = t141 * t141; + const double t351 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t81 + 0.2e1 * t248 ); + const double t355 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t244 * t346 + 0.4e1 / 0.3e1 * t59 * t351 ); + const double t356 = t355 * t26; + const double t362 = t5 * t145 * rpbe_mu; + const double t366 = t63 * t63; + const double t368 = 0.1e1 / t65 / t366; + const double t371 = t100 * sigma_bb * t368 * t72; + const double t375 = t5 * t62 * t224; + const double t376 = sigma_bb * sigma_bb; + const double t377 = t230 * t376; + const double t380 = 0.1e1 / t64 / t366 / t151; + const double t382 = t380 * t41 * t72; + const double t383 = t377 * t382; + const double t387 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t356 * t75 - t312 / 0.4e1 + t362 * t156 / 0.12e2 + t267 + t321 / 0.36e2 - 0.11e2 / 0.72e2 * t150 * t371 + t375 * t383 / 0.216e3 ); + const double t390 = t5 * t88; + const double t393 = t5 * t94; + const double t395 = t393 * t166 / 0.192e3; + const double t398 = t29 * t33 * t103 * t45; + const double t401 = t216 * t35; + const double t403 = 0.1e1 / t36 / t401; + const double t406 = sigma_aa * t41 * t45; + const double t407 = t230 * t403 * t406; + const double t411 = piecewise_functor_3( t1, 0.0, -t390 * t166 / 0.64e2 - t395 + t163 * t398 / 0.24e2 - t226 * t407 / 0.576e3 ); + const double t416 = t5 * t121; + const double t418 = t416 * t173 / 0.192e3; + const double t428 = t5 * t145; + const double t433 = t29 * t33 * t153 * t72; + const double t436 = t366 * t63; + const double t438 = 0.1e1 / t64 / t436; + const double t441 = sigma_bb * t41 * t72; + const double t442 = t230 * t438 * t441; + const double t446 = piecewise_functor_3( t53, 0.0, -t428 * t173 / 0.64e2 - t418 + t170 * t433 / 0.24e2 - t375 * t442 / 0.576e3 ); + const double t448 = t216 * rho_a; + const double t453 = t230 / t36 / t448 * t41 * t45; + const double t456 = piecewise_functor_3( t1, 0.0, t226 * t453 / 0.1536e4 ); + const double t457 = t366 * rho_b; + const double t462 = t230 / t64 / t457 * t41 * t72; + const double t465 = piecewise_functor_3( t53, 0.0, t375 * t462 / 0.1536e4 ); + + + v2rho2_aa = 0.2e1 * t110 + 0.2e1 * t126 + t6 * ( t242 + t269 ); + v2rho2_bb = 0.2e1 * t139 + 0.2e1 * t160 + t6 * ( t345 + t387 ); + v2rhosigma_a_aa = t6 * t411 + t169; + v2rhosigma_b_bb = t6 * t446 + t176; + v2sigma2_aa_aa = t6 * t456; + v2sigma2_bb_bb = t6 * t465; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t28 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t29 = rpbe_mu * t28; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t41 = 0.1e1 / rpbe_kappa; + constexpr double t100 = t28 * t33; + constexpr double t224 = rpbe_mu * rpbe_mu; + constexpr double t227 = t28 * t28; + constexpr double t230 = t227 / t31 / t30; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t39 = 0.1e1 / t37 / t35; + const double t45 = safe_math::exp( -t34 * sigma_aa * t39 * t41 / 0.24e2 ); + const double t48 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t45 ); + const double t52 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t48 ); + const double t53 = rho_b <= dens_tol; + const double t54 = -t16; + const double t56 = piecewise_functor_5( t14, t11, t10, t15, t54 * t7 ); + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( t57 ); + const double t61 = piecewise_functor_3( t58, t22, t59 * t57 ); + const double t62 = t61 * t26; + const double t63 = rho_b * rho_b; + const double t64 = safe_math::cbrt( rho_b ); + const double t65 = t64 * t64; + const double t67 = 0.1e1 / t65 / t63; + const double t72 = safe_math::exp( -t34 * sigma_bb * t67 * t41 / 0.24e2 ); + const double t75 = 0.1e1 + rpbe_kappa * ( 0.1e1 - t72 ); + const double t79 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t62 * t75 ); + const double t80 = t6 * t6; + const double t81 = 0.1e1 / t80; + const double t82 = t16 * t81; + const double t84 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t82 ); + const double t87 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t84 ); + const double t88 = t87 * t26; + const double t92 = t26 * t26; + const double t93 = 0.1e1 / t92; + const double t94 = t25 * t93; + const double t97 = t5 * t94 * t48 / 0.8e1; + const double t99 = t5 * t27 * rpbe_mu; + const double t101 = t35 * rho_a; + const double t103 = 0.1e1 / t37 / t101; + const double t106 = t100 * sigma_aa * t103 * t45; + const double t110 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t88 * t48 - t97 + t99 * t106 / 0.24e2 ); + const double t111 = t54 * t81; + const double t113 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t111 ); + const double t116 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t113 ); + const double t117 = t116 * t26; + const double t121 = t61 * t93; + const double t124 = t5 * t121 * t75 / 0.8e1; + const double t126 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t117 * t75 - t124 ); + const double t130 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t82 ); + const double t133 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t130 ); + const double t134 = t133 * t26; + const double t139 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t134 * t48 - t97 ); + const double t141 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t111 ); + const double t144 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t59 * t141 ); + const double t145 = t144 * t26; + const double t150 = t5 * t62 * rpbe_mu; + const double t151 = t63 * rho_b; + const double t153 = 0.1e1 / t65 / t151; + const double t156 = t100 * sigma_bb * t153 * t72; + const double t160 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t145 * t75 - t124 + t150 * t156 / 0.24e2 ); + const double t163 = t5 * t27; + const double t166 = t29 * t33 * t39 * t45; + const double t169 = piecewise_functor_3( t1, 0.0, -t163 * t166 / 0.64e2 ); + const double t170 = t5 * t62; + const double t173 = t29 * t33 * t67 * t72; + const double t176 = piecewise_functor_3( t53, 0.0, -t170 * t173 / 0.64e2 ); + const double t179 = t23 * t23; + const double t180 = 0.1e1 / t179; + const double t181 = t84 * t84; + const double t184 = t80 * t6; + const double t185 = 0.1e1 / t184; + const double t186 = t16 * t185; + const double t189 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t81 + 0.2e1 * t186 ); + const double t193 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t180 * t181 + 0.4e1 / 0.3e1 * t23 * t189 ); + const double t194 = t193 * t26; + const double t198 = t87 * t93; + const double t200 = t5 * t198 * t48; + const double t203 = t5 * t88 * rpbe_mu; + const double t207 = 0.1e1 / t92 / t6; + const double t208 = t25 * t207; + const double t211 = t5 * t208 * t48 / 0.12e2; + const double t213 = t5 * t94 * rpbe_mu; + const double t214 = t213 * t106; + const double t216 = t35 * t35; + const double t218 = 0.1e1 / t37 / t216; + const double t221 = t100 * sigma_aa * t218 * t45; + const double t226 = t5 * t27 * t224; + const double t231 = sigma_aa * sigma_aa; + const double t232 = t230 * t231; + const double t235 = 0.1e1 / t36 / t216 / t101; + const double t237 = t235 * t41 * t45; + const double t238 = t232 * t237; + const double t242 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t194 * t48 - t200 / 0.4e1 + t203 * t106 / 0.12e2 + t211 + t214 / 0.36e2 - 0.11e2 / 0.72e2 * t99 * t221 + t226 * t238 / 0.216e3 ); + const double t243 = t59 * t59; + const double t244 = 0.1e1 / t243; + const double t245 = t113 * t113; + const double t248 = t54 * t185; + const double t251 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t81 + 0.2e1 * t248 ); + const double t255 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t244 * t245 + 0.4e1 / 0.3e1 * t59 * t251 ); + const double t256 = t255 * t26; + const double t260 = t116 * t93; + const double t262 = t5 * t260 * t75; + const double t264 = t61 * t207; + const double t267 = t5 * t264 * t75 / 0.12e2; + const double t269 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t256 * t75 - t262 / 0.4e1 + t267 ); + const double t285 = t133 * t93; + const double t287 = t5 * t285 * t48; + const double t310 = t144 * t93; + const double t312 = t5 * t310 * t75; + const double t320 = t5 * t121 * rpbe_mu; + const double t321 = t320 * t156; + const double t329 = t130 * t130; + const double t334 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t81 + 0.2e1 * t186 ); + const double t338 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t180 * t329 + 0.4e1 / 0.3e1 * t23 * t334 ); + const double t339 = t338 * t26; + const double t345 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t339 * t48 - t287 / 0.4e1 + t211 ); + const double t346 = t141 * t141; + const double t351 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t81 + 0.2e1 * t248 ); + const double t355 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t244 * t346 + 0.4e1 / 0.3e1 * t59 * t351 ); + const double t356 = t355 * t26; + const double t362 = t5 * t145 * rpbe_mu; + const double t366 = t63 * t63; + const double t368 = 0.1e1 / t65 / t366; + const double t371 = t100 * sigma_bb * t368 * t72; + const double t375 = t5 * t62 * t224; + const double t376 = sigma_bb * sigma_bb; + const double t377 = t230 * t376; + const double t380 = 0.1e1 / t64 / t366 / t151; + const double t382 = t380 * t41 * t72; + const double t383 = t377 * t382; + const double t387 = piecewise_functor_3( t53, 0.0, -0.3e1 / 0.8e1 * t5 * t356 * t75 - t312 / 0.4e1 + t362 * t156 / 0.12e2 + t267 + t321 / 0.36e2 - 0.11e2 / 0.72e2 * t150 * t371 + t375 * t383 / 0.216e3 ); + const double t390 = t5 * t88; + const double t393 = t5 * t94; + const double t395 = t393 * t166 / 0.192e3; + const double t398 = t29 * t33 * t103 * t45; + const double t401 = t216 * t35; + const double t403 = 0.1e1 / t36 / t401; + const double t406 = sigma_aa * t41 * t45; + const double t407 = t230 * t403 * t406; + const double t411 = piecewise_functor_3( t1, 0.0, -t390 * t166 / 0.64e2 - t395 + t163 * t398 / 0.24e2 - t226 * t407 / 0.576e3 ); + const double t416 = t5 * t121; + const double t418 = t416 * t173 / 0.192e3; + const double t428 = t5 * t145; + const double t433 = t29 * t33 * t153 * t72; + const double t436 = t366 * t63; + const double t438 = 0.1e1 / t64 / t436; + const double t441 = sigma_bb * t41 * t72; + const double t442 = t230 * t438 * t441; + const double t446 = piecewise_functor_3( t53, 0.0, -t428 * t173 / 0.64e2 - t418 + t170 * t433 / 0.24e2 - t375 * t442 / 0.576e3 ); + const double t448 = t216 * rho_a; + const double t453 = t230 / t36 / t448 * t41 * t45; + const double t456 = piecewise_functor_3( t1, 0.0, t226 * t453 / 0.1536e4 ); + const double t457 = t366 * rho_b; + const double t462 = t230 / t64 / t457 * t41 * t72; + const double t465 = piecewise_functor_3( t53, 0.0, t375 * t462 / 0.1536e4 ); + + + vrho_a = t52 + t79 + t6 * ( t110 + t126 ); + vrho_b = t52 + t79 + t6 * ( t139 + t160 ); + vsigma_aa = t6 * t169; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t176; + v2rho2_aa = 0.2e1 * t110 + 0.2e1 * t126 + t6 * ( t242 + t269 ); + v2rho2_bb = 0.2e1 * t139 + 0.2e1 * t160 + t6 * ( t345 + t387 ); + v2rhosigma_a_aa = t6 * t411 + t169; + v2rhosigma_b_bb = t6 * t446 + t176; + v2sigma2_aa_aa = t6 * t456; + v2sigma2_bb_bb = t6 * t465; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinRPBE_X : detail::BuiltinKernelImpl< BuiltinRPBE_X > { + + BuiltinRPBE_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinRPBE_X >(p) { } + + virtual ~BuiltinRPBE_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/rscan_c.hpp b/include/exchcxx/impl/builtin/kernels/rscan_c.hpp new file mode 100644 index 0000000..1b5e9cf --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/rscan_c.hpp @@ -0,0 +1,6457 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinRSCAN_C > : + public mgga_screening_interface< BuiltinRSCAN_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t123 = constants::m_cbrt_6; + constexpr double t125 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t92 = 0.1e1 / t4; + constexpr double t94 = t19 * t92 * t6; + constexpr double t124 = t123 * t123; + constexpr double t126 = t125 * t125; + constexpr double t127 = t124 * t126; + constexpr double t130 = t40 * t40; + constexpr double t180 = 0.1e1 / t126; + constexpr double t181 = t123 * t180; + + + const double t8 = safe_math::cbrt( rho ); + const double t11 = t5 * t7 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t23 = 0.1e1 / t22; + const double t25 = t21 * t6 * t23; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t51 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 + 0.25e-1 * t11; + const double t71 = 0.1e1 + 0.4445e-1 * t11; + const double t72 = 0.1e1 / t71; + const double t73 = t69 * t72; + const double t74 = 0.1e1 / t60; + const double t77 = 0.1e1 / t67; + const double t78 = t61 * t77; + const double t80 = safe_math::exp( -( -t33 + t58 ) * t74 * t78 ); + const double t81 = t80 - 0.1e1; + const double t82 = 0.1e1 / t81; + const double t83 = t74 * t82; + const double t84 = t83 * sigma; + const double t85 = t73 * t84; + const double t86 = rho * rho; + const double t87 = t8 * t86; + const double t88 = 0.1e1 / t87; + const double t89 = t88 * t40; + const double t90 = 0.1e1 / t66; + const double t98 = 0.1e1 + 0.27439371595564631661e-1 * t85 * t89 * t90 * t94; + const double t99 = pow_1_4( t98 ); + const double t101 = 0.1e1 - 0.1e1 / t99; + const double t104 = 0.1e1 + 0.1e1 * t101 * t81; + const double t105 = safe_math::log( t104 ); + const double t107 = t63 * t67 * t105; + const double t108 = t86 * t86; + const double t109 = t108 * rho; + const double t110 = t22 * rho; + const double t111 = 0.1e1 / t110; + const double t113 = t22 * t86; + const double t114 = 0.1e1 / t113; + const double t117 = tau * t111 - sigma * t114 / 0.8e1; + const double t118 = 0.e0 < t117; + const double t119 = piecewise_functor_3( t118, t117, 0.0 ); + const double t120 = t119 * t119; + const double t121 = t120 * t119; + const double t122 = t109 * t121; + const double t132 = 0.3e1 / 0.1e2 * t127 * t110 + 0.1e-3 * t130; + const double t133 = t132 * t132; + const double t134 = t133 * t132; + const double t135 = 0.1e1 / t134; + const double t136 = t86 * rho; + const double t137 = t8 * t136; + const double t140 = 0.1e1 / t133 * t40; + const double t143 = 0.2e1 * t137 * t120 * t140 + 0.1e-2; + const double t144 = 0.1e1 / t143; + const double t145 = t135 * t144; + const double t147 = 0.4e1 * t122 * t145; + const double t148 = t147 <= 0.25e1; + const double t149 = 0.25e1 < t147; + const double t150 = piecewise_functor_3( t149, 2.5, t147 ); + const double t152 = t150 * t150; + const double t154 = t152 * t150; + const double t156 = t152 * t152; + const double t158 = t156 * t150; + const double t160 = t156 * t152; + const double t165 = piecewise_functor_3( t149, t147, 2.5 ); + const double t166 = 0.1e1 - t165; + const double t169 = safe_math::exp( 0.15e1 / t166 ); + const double t171 = piecewise_functor_3( t148, 0.1e1 - 0.64e0 * t150 - 0.4352e0 * t152 - 0.1535685604549e1 * t154 + 0.3061560252175e1 * t156 - 0.1915710236206e1 * t158 + 0.516884468372e0 * t160 - 0.51848879792e-1 * t156 * t154, -0.7e0 * t169 ); + const double t174 = 0.1e1 + 0.4445e-1 * t14 + 0.3138525e-1 * t11; + const double t175 = 0.1e1 / t174; + const double t178 = safe_math::exp( 0.1e1 * t175 ); + const double t179 = t178 - 0.1e1; + const double t182 = t130 * sigma; + const double t186 = 0.1e1 + 0.21337642104376358333e-1 * t181 * t182 * t114; + const double t187 = pow_1_4( t186 ); + const double t189 = 0.1e1 - 0.1e1 / t187; + const double t191 = t179 * t189 + 0.1e1; + const double t192 = safe_math::log( t191 ); + const double t198 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t200 = ( -0.285764e-1 * t175 + 0.285764e-1 * t192 ) * t198 + t33 - t58 - t107; + const double t201 = t171 * t200; + + + eps = -t33 + t58 + t107 + t201; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t123 = constants::m_cbrt_6; + constexpr double t125 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t92 = 0.1e1 / t4; + constexpr double t94 = t19 * t92 * t6; + constexpr double t124 = t123 * t123; + constexpr double t126 = t125 * t125; + constexpr double t127 = t124 * t126; + constexpr double t130 = t40 * t40; + constexpr double t180 = 0.1e1 / t126; + constexpr double t181 = t123 * t180; + constexpr double t213 = t4 * t7; + constexpr double t342 = t40 * t124 * t126; + constexpr double t387 = t180 * t130; + constexpr double t404 = t40 * t19; + constexpr double t405 = t92 * t6; + + + const double t8 = safe_math::cbrt( rho ); + const double t11 = t5 * t7 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t23 = 0.1e1 / t22; + const double t25 = t21 * t6 * t23; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t51 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 + 0.25e-1 * t11; + const double t71 = 0.1e1 + 0.4445e-1 * t11; + const double t72 = 0.1e1 / t71; + const double t73 = t69 * t72; + const double t74 = 0.1e1 / t60; + const double t77 = 0.1e1 / t67; + const double t78 = t61 * t77; + const double t80 = safe_math::exp( -( -t33 + t58 ) * t74 * t78 ); + const double t81 = t80 - 0.1e1; + const double t82 = 0.1e1 / t81; + const double t83 = t74 * t82; + const double t84 = t83 * sigma; + const double t85 = t73 * t84; + const double t86 = rho * rho; + const double t87 = t8 * t86; + const double t88 = 0.1e1 / t87; + const double t89 = t88 * t40; + const double t90 = 0.1e1 / t66; + const double t98 = 0.1e1 + 0.27439371595564631661e-1 * t85 * t89 * t90 * t94; + const double t99 = pow_1_4( t98 ); + const double t101 = 0.1e1 - 0.1e1 / t99; + const double t104 = 0.1e1 + 0.1e1 * t101 * t81; + const double t105 = safe_math::log( t104 ); + const double t107 = t63 * t67 * t105; + const double t108 = t86 * t86; + const double t109 = t108 * rho; + const double t110 = t22 * rho; + const double t111 = 0.1e1 / t110; + const double t113 = t22 * t86; + const double t114 = 0.1e1 / t113; + const double t117 = tau * t111 - sigma * t114 / 0.8e1; + const double t118 = 0.e0 < t117; + const double t119 = piecewise_functor_3( t118, t117, 0.0 ); + const double t120 = t119 * t119; + const double t121 = t120 * t119; + const double t122 = t109 * t121; + const double t132 = 0.3e1 / 0.1e2 * t127 * t110 + 0.1e-3 * t130; + const double t133 = t132 * t132; + const double t134 = t133 * t132; + const double t135 = 0.1e1 / t134; + const double t136 = t86 * rho; + const double t137 = t8 * t136; + const double t140 = 0.1e1 / t133 * t40; + const double t143 = 0.2e1 * t137 * t120 * t140 + 0.1e-2; + const double t144 = 0.1e1 / t143; + const double t145 = t135 * t144; + const double t147 = 0.4e1 * t122 * t145; + const double t148 = t147 <= 0.25e1; + const double t149 = 0.25e1 < t147; + const double t150 = piecewise_functor_3( t149, 2.5, t147 ); + const double t152 = t150 * t150; + const double t154 = t152 * t150; + const double t156 = t152 * t152; + const double t158 = t156 * t150; + const double t160 = t156 * t152; + const double t165 = piecewise_functor_3( t149, t147, 2.5 ); + const double t166 = 0.1e1 - t165; + const double t169 = safe_math::exp( 0.15e1 / t166 ); + const double t171 = piecewise_functor_3( t148, 0.1e1 - 0.64e0 * t150 - 0.4352e0 * t152 - 0.1535685604549e1 * t154 + 0.3061560252175e1 * t156 - 0.1915710236206e1 * t158 + 0.516884468372e0 * t160 - 0.51848879792e-1 * t156 * t154, -0.7e0 * t169 ); + const double t174 = 0.1e1 + 0.4445e-1 * t14 + 0.3138525e-1 * t11; + const double t175 = 0.1e1 / t174; + const double t178 = safe_math::exp( 0.1e1 * t175 ); + const double t179 = t178 - 0.1e1; + const double t182 = t130 * sigma; + const double t186 = 0.1e1 + 0.21337642104376358333e-1 * t181 * t182 * t114; + const double t187 = pow_1_4( t186 ); + const double t189 = 0.1e1 - 0.1e1 / t187; + const double t191 = t179 * t189 + 0.1e1; + const double t192 = safe_math::log( t191 ); + const double t198 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t200 = ( -0.285764e-1 * t175 + 0.285764e-1 * t192 ) * t198 + t33 - t58 - t107; + const double t201 = t171 * t200; + const double t202 = t8 * rho; + const double t203 = 0.1e1 / t202; + const double t204 = t7 * t203; + const double t206 = t5 * t204 * t31; + const double t207 = 0.11073470983333333333e-2 * t206; + const double t208 = t27 * t27; + const double t209 = 0.1e1 / t208; + const double t210 = t13 * t209; + const double t212 = 0.1e1 / t14 * t2; + const double t214 = t213 * t203; + const double t215 = t212 * t214; + const double t217 = t5 * t204; + const double t219 = safe_math::sqrt( t11 ); + const double t220 = t219 * t2; + const double t221 = t220 * t214; + const double t224 = t21 * t6 * t111; + const double t226 = -0.632975e0 * t215 - 0.29896666666666666667e0 * t217 - 0.1023875e0 * t221 - 0.82156666666666666667e-1 * t224; + const double t227 = 0.1e1 / t30; + const double t228 = t226 * t227; + const double t229 = t210 * t228; + const double t230 = 0.1e1 * t229; + const double t231 = t44 * t2; + const double t234 = t231 * t213 * t203 * t55; + const double t235 = 0.18311447306006545054e-3 * t234; + const double t236 = t44 * t46; + const double t237 = t51 * t51; + const double t238 = 0.1e1 / t237; + const double t243 = -0.86308333333333333334e0 * t215 - 0.301925e0 * t217 - 0.5501625e-1 * t221 - 0.82785e-1 * t224; + const double t245 = 0.1e1 / t54; + const double t246 = t238 * t243 * t245; + const double t247 = t236 * t246; + const double t248 = 0.5848223622634646207e0 * t247; + const double t250 = 0.1e1 / t99 / t98; + const double t251 = t22 * t136; + const double t252 = 0.1e1 / t251; + const double t253 = t252 * t72; + const double t256 = t40 * t90; + const double t257 = t82 * sigma * t256; + const double t260 = t71 * t71; + const double t261 = 0.1e1 / t260; + const double t262 = t69 * t261; + const double t263 = t262 * t83; + const double t264 = sigma * t252; + const double t268 = t60 * t60; + const double t269 = 0.1e1 / t268; + const double t270 = t73 * t269; + const double t271 = t81 * t81; + const double t272 = 0.1e1 / t271; + const double t273 = t272 * sigma; + const double t274 = t273 * t89; + const double t275 = t270 * t274; + const double t276 = t66 * t66; + const double t278 = 0.1e1 / t276 / t65; + const double t279 = t278 * t19; + const double t280 = t279 * t92; + const double t281 = t207 + t230 - t235 - t248; + const double t283 = t61 * t80; + const double t284 = t6 * t281 * t283; + const double t285 = t280 * t284; + const double t288 = 0.1e1 / t137; + const double t289 = t288 * t40; + const double t294 = -0.27439371595564631661e-2 * t253 * t74 * t257 + 0.48787202696913915093e-2 * t263 * t264 * t256 + 0.27439371595564631661e-1 * t275 * t285 - 0.64025200389650807209e-1 * t85 * t289 * t90 * t94; + const double t295 = t250 * t294; + const double t300 = t78 * t80; + const double t303 = 0.25e0 * t295 * t81 - 0.1e1 * t101 * t281 * t74 * t300; + const double t305 = 0.1e1 / t104; + const double t307 = t63 * t67 * t303 * t305; + const double t308 = t108 * t121; + const double t311 = t109 * t120; + const double t316 = piecewise_functor_3( t118, -0.5e1 / 0.3e1 * tau * t114 + t264 / 0.3e1, 0.0 ); + const double t317 = t145 * t316; + const double t320 = t22 * t109; + const double t321 = t320 * t121; + const double t322 = t133 * t133; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t326 = t144 * t124 * t126; + const double t329 = t143 * t143; + const double t330 = 0.1e1 / t329; + const double t331 = t135 * t330; + const double t335 = t137 * t119; + const double t336 = t140 * t316; + const double t339 = t108 * t120; + const double t340 = t339 * t135; + const double t345 = 0.2e2 / 0.3e1 * t87 * t120 * t140 + 0.4e1 * t335 * t336 - 0.2e1 * t340 * t342; + const double t346 = t331 * t345; + const double t349 = -0.4e1 * t122 * t346 + 0.2e2 * t308 * t145 + 0.12e2 * t311 * t317 - 0.6e1 * t324 * t326; + const double t350 = piecewise_functor_3( t149, 0.0, t349 ); + const double t352 = t150 * t350; + const double t354 = t152 * t350; + const double t356 = t154 * t350; + const double t358 = t156 * t350; + const double t360 = t158 * t350; + const double t365 = t166 * t166; + const double t366 = 0.1e1 / t365; + const double t367 = piecewise_functor_3( t149, t349, 0.0 ); + const double t371 = piecewise_functor_3( t148, -0.64e0 * t350 - 0.8704e0 * t352 - 0.4607056813647e1 * t354 + 0.122462410087e2 * t356 - 0.957855118103e1 * t358 + 0.3101306810232e1 * t360 - 0.362942158544e0 * t160 * t350, -0.105e1 * t366 * t367 * t169 ); + const double t372 = t371 * t200; + const double t373 = t174 * t174; + const double t374 = 0.1e1 / t373; + const double t377 = -0.74083333333333333333e-2 * t215 - 0.1046175e-1 * t217; + const double t378 = t374 * t377; + const double t380 = t178 * t189; + const double t384 = 0.1e1 / t187 / t186; + const double t385 = t179 * t384; + const double t386 = t385 * t123; + const double t391 = -0.1e1 * t378 * t380 - 0.14225094736250905555e-1 * t386 * t387 * t264; + const double t392 = 0.1e1 / t191; + const double t397 = ( 0.285764e-1 * t378 + 0.285764e-1 * t391 * t392 ) * t198 - t207 - t230 + t235 + t248 - t307; + const double t398 = t171 * t397; + const double t401 = t65 * t250; + const double t402 = t73 * t88; + const double t403 = t401 * t402; + const double t406 = t405 * t305; + const double t407 = t404 * t406; + const double t409 = 0.69504740211613770831e-3 * t403 * t407; + const double t411 = piecewise_functor_3( t118, -t114 / 0.8e1, 0.0 ); + const double t412 = t145 * t411; + const double t415 = t108 * t108; + const double t416 = t8 * t415; + const double t417 = t120 * t120; + const double t418 = t416 * t417; + const double t420 = 0.1e1 / t322 / t132; + const double t421 = t418 * t420; + const double t422 = t330 * t40; + const double t423 = t422 * t411; + const double t426 = 0.12e2 * t311 * t412 - 0.16e2 * t421 * t423; + const double t427 = piecewise_functor_3( t149, 0.0, t426 ); + const double t429 = t150 * t427; + const double t431 = t152 * t427; + const double t433 = t154 * t427; + const double t435 = t156 * t427; + const double t437 = t158 * t427; + const double t442 = piecewise_functor_3( t149, t426, 0.0 ); + const double t446 = piecewise_functor_3( t148, -0.64e0 * t427 - 0.8704e0 * t429 - 0.4607056813647e1 * t431 + 0.122462410087e2 * t433 - 0.957855118103e1 * t435 + 0.3101306810232e1 * t437 - 0.362942158544e0 * t160 * t427, -0.105e1 * t366 * t442 * t169 ); + const double t447 = t446 * t200; + const double t448 = t385 * t181; + const double t449 = t130 * t114; + const double t450 = t392 * t198; + const double t454 = 0.15243824895787514157e-3 * t448 * t449 * t450 - t409; + const double t455 = t171 * t454; + const double t457 = piecewise_functor_3( t118, t111, 0.0 ); + const double t458 = t145 * t457; + const double t461 = t422 * t457; + const double t464 = 0.12e2 * t311 * t458 - 0.16e2 * t421 * t461; + const double t465 = piecewise_functor_3( t149, 0.0, t464 ); + const double t467 = t150 * t465; + const double t469 = t152 * t465; + const double t471 = t154 * t465; + const double t473 = t156 * t465; + const double t475 = t158 * t465; + const double t480 = piecewise_functor_3( t149, t464, 0.0 ); + const double t484 = piecewise_functor_3( t148, -0.64e0 * t465 - 0.8704e0 * t467 - 0.4607056813647e1 * t469 + 0.122462410087e2 * t471 - 0.957855118103e1 * t473 + 0.3101306810232e1 * t475 - 0.362942158544e0 * t160 * t465, -0.105e1 * t366 * t480 * t169 ); + const double t485 = rho * t484; + + + eps = -t33 + t58 + t107 + t201; + vrho = -t33 + t58 + t107 + t201 + rho * ( t207 + t230 - t235 - t248 + t307 + t372 + t398 ); + vsigma = rho * ( t409 + t447 + t455 ); + vlapl = 0.e0; + vtau = t485 * t200; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t123 = constants::m_cbrt_6; + constexpr double t125 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t92 = 0.1e1 / t4; + constexpr double t94 = t19 * t92 * t6; + constexpr double t124 = t123 * t123; + constexpr double t126 = t125 * t125; + constexpr double t127 = t124 * t126; + constexpr double t130 = t40 * t40; + constexpr double t180 = 0.1e1 / t126; + constexpr double t181 = t123 * t180; + constexpr double t213 = t4 * t7; + constexpr double t342 = t40 * t124 * t126; + constexpr double t387 = t180 * t130; + constexpr double t404 = t40 * t19; + constexpr double t405 = t92 * t6; + constexpr double t497 = t5 * t7; + constexpr double t512 = t20 * t6; + constexpr double t647 = t61 * t61; + constexpr double t749 = t125 * t61; + constexpr double t790 = t40 * t123 * t749; + constexpr double t876 = 0.1e1 / t749; + constexpr double t877 = t876 * t40; + constexpr double t905 = t404 * t92; + constexpr double t1029 = t124 * t876; + constexpr double t1136 = 0.1e1 / t20; + constexpr double t1137 = t2 * t1136; + constexpr double t1138 = t1137 * t7; + constexpr double t1151 = t130 * t2; + + + const double t8 = safe_math::cbrt( rho ); + const double t11 = t5 * t7 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t23 = 0.1e1 / t22; + const double t25 = t21 * t6 * t23; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t51 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 + 0.25e-1 * t11; + const double t71 = 0.1e1 + 0.4445e-1 * t11; + const double t72 = 0.1e1 / t71; + const double t73 = t69 * t72; + const double t74 = 0.1e1 / t60; + const double t77 = 0.1e1 / t67; + const double t78 = t61 * t77; + const double t80 = safe_math::exp( -( -t33 + t58 ) * t74 * t78 ); + const double t81 = t80 - 0.1e1; + const double t82 = 0.1e1 / t81; + const double t83 = t74 * t82; + const double t84 = t83 * sigma; + const double t85 = t73 * t84; + const double t86 = rho * rho; + const double t87 = t8 * t86; + const double t88 = 0.1e1 / t87; + const double t89 = t88 * t40; + const double t90 = 0.1e1 / t66; + const double t98 = 0.1e1 + 0.27439371595564631661e-1 * t85 * t89 * t90 * t94; + const double t99 = pow_1_4( t98 ); + const double t101 = 0.1e1 - 0.1e1 / t99; + const double t104 = 0.1e1 + 0.1e1 * t101 * t81; + const double t105 = safe_math::log( t104 ); + const double t107 = t63 * t67 * t105; + const double t108 = t86 * t86; + const double t109 = t108 * rho; + const double t110 = t22 * rho; + const double t111 = 0.1e1 / t110; + const double t113 = t22 * t86; + const double t114 = 0.1e1 / t113; + const double t117 = tau * t111 - sigma * t114 / 0.8e1; + const double t118 = 0.e0 < t117; + const double t119 = piecewise_functor_3( t118, t117, 0.0 ); + const double t120 = t119 * t119; + const double t121 = t120 * t119; + const double t122 = t109 * t121; + const double t132 = 0.3e1 / 0.1e2 * t127 * t110 + 0.1e-3 * t130; + const double t133 = t132 * t132; + const double t134 = t133 * t132; + const double t135 = 0.1e1 / t134; + const double t136 = t86 * rho; + const double t137 = t8 * t136; + const double t140 = 0.1e1 / t133 * t40; + const double t143 = 0.2e1 * t137 * t120 * t140 + 0.1e-2; + const double t144 = 0.1e1 / t143; + const double t145 = t135 * t144; + const double t147 = 0.4e1 * t122 * t145; + const double t148 = t147 <= 0.25e1; + const double t149 = 0.25e1 < t147; + const double t150 = piecewise_functor_3( t149, 2.5, t147 ); + const double t152 = t150 * t150; + const double t154 = t152 * t150; + const double t156 = t152 * t152; + const double t158 = t156 * t150; + const double t160 = t156 * t152; + const double t165 = piecewise_functor_3( t149, t147, 2.5 ); + const double t166 = 0.1e1 - t165; + const double t169 = safe_math::exp( 0.15e1 / t166 ); + const double t171 = piecewise_functor_3( t148, 0.1e1 - 0.64e0 * t150 - 0.4352e0 * t152 - 0.1535685604549e1 * t154 + 0.3061560252175e1 * t156 - 0.1915710236206e1 * t158 + 0.516884468372e0 * t160 - 0.51848879792e-1 * t156 * t154, -0.7e0 * t169 ); + const double t174 = 0.1e1 + 0.4445e-1 * t14 + 0.3138525e-1 * t11; + const double t175 = 0.1e1 / t174; + const double t178 = safe_math::exp( 0.1e1 * t175 ); + const double t179 = t178 - 0.1e1; + const double t182 = t130 * sigma; + const double t186 = 0.1e1 + 0.21337642104376358333e-1 * t181 * t182 * t114; + const double t187 = pow_1_4( t186 ); + const double t189 = 0.1e1 - 0.1e1 / t187; + const double t191 = t179 * t189 + 0.1e1; + const double t192 = safe_math::log( t191 ); + const double t198 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t200 = ( -0.285764e-1 * t175 + 0.285764e-1 * t192 ) * t198 + t33 - t58 - t107; + const double t202 = t8 * rho; + const double t203 = 0.1e1 / t202; + const double t204 = t7 * t203; + const double t206 = t5 * t204 * t31; + const double t207 = 0.11073470983333333333e-2 * t206; + const double t208 = t27 * t27; + const double t209 = 0.1e1 / t208; + const double t210 = t13 * t209; + const double t212 = 0.1e1 / t14 * t2; + const double t214 = t213 * t203; + const double t215 = t212 * t214; + const double t217 = t5 * t204; + const double t219 = safe_math::sqrt( t11 ); + const double t220 = t219 * t2; + const double t221 = t220 * t214; + const double t224 = t21 * t6 * t111; + const double t226 = -0.632975e0 * t215 - 0.29896666666666666667e0 * t217 - 0.1023875e0 * t221 - 0.82156666666666666667e-1 * t224; + const double t227 = 0.1e1 / t30; + const double t228 = t226 * t227; + const double t229 = t210 * t228; + const double t230 = 0.1e1 * t229; + const double t231 = t44 * t2; + const double t234 = t231 * t213 * t203 * t55; + const double t235 = 0.18311447306006545054e-3 * t234; + const double t236 = t44 * t46; + const double t237 = t51 * t51; + const double t238 = 0.1e1 / t237; + const double t243 = -0.86308333333333333334e0 * t215 - 0.301925e0 * t217 - 0.5501625e-1 * t221 - 0.82785e-1 * t224; + const double t245 = 0.1e1 / t54; + const double t246 = t238 * t243 * t245; + const double t247 = t236 * t246; + const double t248 = 0.5848223622634646207e0 * t247; + const double t250 = 0.1e1 / t99 / t98; + const double t251 = t22 * t136; + const double t252 = 0.1e1 / t251; + const double t253 = t252 * t72; + const double t256 = t40 * t90; + const double t257 = t82 * sigma * t256; + const double t260 = t71 * t71; + const double t261 = 0.1e1 / t260; + const double t262 = t69 * t261; + const double t263 = t262 * t83; + const double t264 = sigma * t252; + const double t268 = t60 * t60; + const double t269 = 0.1e1 / t268; + const double t270 = t73 * t269; + const double t271 = t81 * t81; + const double t272 = 0.1e1 / t271; + const double t273 = t272 * sigma; + const double t274 = t273 * t89; + const double t275 = t270 * t274; + const double t276 = t66 * t66; + const double t278 = 0.1e1 / t276 / t65; + const double t279 = t278 * t19; + const double t280 = t279 * t92; + const double t281 = t207 + t230 - t235 - t248; + const double t283 = t61 * t80; + const double t284 = t6 * t281 * t283; + const double t285 = t280 * t284; + const double t288 = 0.1e1 / t137; + const double t289 = t288 * t40; + const double t294 = -0.27439371595564631661e-2 * t253 * t74 * t257 + 0.48787202696913915093e-2 * t263 * t264 * t256 + 0.27439371595564631661e-1 * t275 * t285 - 0.64025200389650807209e-1 * t85 * t289 * t90 * t94; + const double t295 = t250 * t294; + const double t300 = t78 * t80; + const double t303 = 0.25e0 * t295 * t81 - 0.1e1 * t101 * t281 * t74 * t300; + const double t305 = 0.1e1 / t104; + const double t307 = t63 * t67 * t303 * t305; + const double t308 = t108 * t121; + const double t311 = t109 * t120; + const double t316 = piecewise_functor_3( t118, -0.5e1 / 0.3e1 * tau * t114 + t264 / 0.3e1, 0.0 ); + const double t317 = t145 * t316; + const double t320 = t22 * t109; + const double t321 = t320 * t121; + const double t322 = t133 * t133; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t326 = t144 * t124 * t126; + const double t329 = t143 * t143; + const double t330 = 0.1e1 / t329; + const double t331 = t135 * t330; + const double t335 = t137 * t119; + const double t336 = t140 * t316; + const double t339 = t108 * t120; + const double t340 = t339 * t135; + const double t345 = 0.2e2 / 0.3e1 * t87 * t120 * t140 + 0.4e1 * t335 * t336 - 0.2e1 * t340 * t342; + const double t346 = t331 * t345; + const double t349 = -0.4e1 * t122 * t346 + 0.2e2 * t308 * t145 + 0.12e2 * t311 * t317 - 0.6e1 * t324 * t326; + const double t350 = piecewise_functor_3( t149, 0.0, t349 ); + const double t352 = t150 * t350; + const double t354 = t152 * t350; + const double t356 = t154 * t350; + const double t358 = t156 * t350; + const double t360 = t158 * t350; + const double t365 = t166 * t166; + const double t366 = 0.1e1 / t365; + const double t367 = piecewise_functor_3( t149, t349, 0.0 ); + const double t371 = piecewise_functor_3( t148, -0.64e0 * t350 - 0.8704e0 * t352 - 0.4607056813647e1 * t354 + 0.122462410087e2 * t356 - 0.957855118103e1 * t358 + 0.3101306810232e1 * t360 - 0.362942158544e0 * t160 * t350, -0.105e1 * t366 * t367 * t169 ); + const double t372 = t371 * t200; + const double t373 = t174 * t174; + const double t374 = 0.1e1 / t373; + const double t377 = -0.74083333333333333333e-2 * t215 - 0.1046175e-1 * t217; + const double t378 = t374 * t377; + const double t380 = t178 * t189; + const double t384 = 0.1e1 / t187 / t186; + const double t385 = t179 * t384; + const double t386 = t385 * t123; + const double t391 = -0.1e1 * t378 * t380 - 0.14225094736250905555e-1 * t386 * t387 * t264; + const double t392 = 0.1e1 / t191; + const double t397 = ( 0.285764e-1 * t378 + 0.285764e-1 * t391 * t392 ) * t198 - t207 - t230 + t235 + t248 - t307; + const double t398 = t171 * t397; + const double t401 = t65 * t250; + const double t402 = t73 * t88; + const double t403 = t401 * t402; + const double t406 = t405 * t305; + const double t407 = t404 * t406; + const double t409 = 0.69504740211613770831e-3 * t403 * t407; + const double t411 = piecewise_functor_3( t118, -t114 / 0.8e1, 0.0 ); + const double t412 = t145 * t411; + const double t415 = t108 * t108; + const double t416 = t8 * t415; + const double t417 = t120 * t120; + const double t418 = t416 * t417; + const double t420 = 0.1e1 / t322 / t132; + const double t421 = t418 * t420; + const double t422 = t330 * t40; + const double t423 = t422 * t411; + const double t426 = 0.12e2 * t311 * t412 - 0.16e2 * t421 * t423; + const double t427 = piecewise_functor_3( t149, 0.0, t426 ); + const double t429 = t150 * t427; + const double t431 = t152 * t427; + const double t433 = t154 * t427; + const double t435 = t156 * t427; + const double t437 = t158 * t427; + const double t442 = piecewise_functor_3( t149, t426, 0.0 ); + const double t446 = piecewise_functor_3( t148, -0.64e0 * t427 - 0.8704e0 * t429 - 0.4607056813647e1 * t431 + 0.122462410087e2 * t433 - 0.957855118103e1 * t435 + 0.3101306810232e1 * t437 - 0.362942158544e0 * t160 * t427, -0.105e1 * t366 * t442 * t169 ); + const double t447 = t446 * t200; + const double t448 = t385 * t181; + const double t449 = t130 * t114; + const double t450 = t392 * t198; + const double t454 = 0.15243824895787514157e-3 * t448 * t449 * t450 - t409; + const double t455 = t171 * t454; + const double t457 = piecewise_functor_3( t118, t111, 0.0 ); + const double t458 = t145 * t457; + const double t461 = t422 * t457; + const double t464 = 0.12e2 * t311 * t458 - 0.16e2 * t421 * t461; + const double t465 = piecewise_functor_3( t149, 0.0, t464 ); + const double t467 = t150 * t465; + const double t469 = t152 * t465; + const double t471 = t154 * t465; + const double t473 = t156 * t465; + const double t475 = t158 * t465; + const double t480 = piecewise_functor_3( t149, t464, 0.0 ); + const double t484 = piecewise_functor_3( t148, -0.64e0 * t465 - 0.8704e0 * t467 - 0.4607056813647e1 * t469 + 0.122462410087e2 * t471 - 0.957855118103e1 * t473 + 0.3101306810232e1 * t475 - 0.362942158544e0 * t160 * t465, -0.105e1 * t366 * t480 * t169 ); + const double t485 = rho * t484; + const double t493 = t7 * t88; + const double t495 = t5 * t493 * t31; + const double t496 = 0.14764627977777777777e-2 * t495; + const double t498 = t203 * t209; + const double t500 = t497 * t498 * t228; + const double t501 = 0.35616666666666666666e-1 * t500; + const double t502 = t208 * t27; + const double t503 = 0.1e1 / t502; + const double t504 = t13 * t503; + const double t505 = t226 * t226; + const double t506 = t505 * t227; + const double t507 = t504 * t506; + const double t508 = 0.2e1 * t507; + const double t511 = 0.1e1 / t14 / t11 * t19; + const double t513 = t512 * t114; + const double t514 = t511 * t513; + const double t516 = t213 * t88; + const double t517 = t212 * t516; + const double t519 = t5 * t493; + const double t521 = 0.1e1/safe_math::sqrt( t11 ); + const double t522 = t521 * t19; + const double t523 = t522 * t513; + const double t525 = t220 * t516; + const double t528 = t21 * t6 * t114; + const double t530 = -0.42198333333333333333e0 * t514 + 0.84396666666666666666e0 * t517 + 0.39862222222222222223e0 * t519 + 0.68258333333333333333e-1 * t523 + 0.13651666666666666667e0 * t525 + 0.13692777777777777778e0 * t528; + const double t531 = t530 * t227; + const double t532 = t210 * t531; + const double t533 = 0.1e1 * t532; + const double t534 = t208 * t208; + const double t535 = 0.1e1 / t534; + const double t536 = t13 * t535; + const double t537 = t30 * t30; + const double t538 = 0.1e1 / t537; + const double t539 = t505 * t538; + const double t540 = t536 * t539; + const double t541 = 0.16081979498692535067e2 * t540; + const double t544 = t231 * t213 * t88 * t55; + const double t545 = 0.24415263074675393405e-3 * t544; + const double t546 = t44 * t5; + const double t548 = t546 * t204 * t246; + const double t549 = 0.10843581300301739842e-1 * t548; + const double t550 = t237 * t51; + const double t551 = 0.1e1 / t550; + const double t552 = t243 * t243; + const double t554 = t551 * t552 * t245; + const double t555 = t236 * t554; + const double t556 = 0.11696447245269292414e1 * t555; + const double t563 = -0.57538888888888888889e0 * t514 + 0.11507777777777777778e1 * t517 + 0.40256666666666666667e0 * t519 + 0.366775e-1 * t523 + 0.73355e-1 * t525 + 0.137975e0 * t528; + const double t565 = t238 * t563 * t245; + const double t566 = t236 * t565; + const double t567 = 0.5848223622634646207e0 * t566; + const double t568 = t237 * t237; + const double t569 = 0.1e1 / t568; + const double t570 = t569 * t552; + const double t571 = t54 * t54; + const double t572 = 0.1e1 / t571; + const double t573 = t570 * t572; + const double t574 = t236 * t573; + const double t575 = 0.17315859105681463759e2 * t574; + const double t576 = t98 * t98; + const double t578 = 0.1e1 / t99 / t576; + const double t579 = t294 * t294; + const double t580 = t578 * t579; + const double t583 = t22 * t108; + const double t584 = 0.1e1 / t583; + const double t585 = t584 * t72; + const double t589 = 0.1e1 / t109; + const double t590 = t589 * t261; + const double t592 = t256 * t497; + const double t595 = t269 * t272; + const double t596 = t595 * sigma; + const double t597 = t253 * t596; + const double t598 = t40 * t278; + const double t600 = t281 * t61 * t80; + const double t601 = t598 * t600; + const double t605 = 0.1e1 / t260 / t71; + const double t606 = t69 * t605; + const double t607 = t606 * t84; + const double t608 = t589 * t40; + const double t613 = t262 * t596; + const double t614 = t252 * t40; + const double t615 = t614 * t278; + const double t619 = sigma * t584; + const double t623 = t253 * t595; + const double t624 = sigma * t40; + const double t626 = t278 * t281 * t80; + const double t627 = t624 * t626; + const double t634 = 0.1e1 / t268 / t60; + const double t635 = t73 * t634; + const double t637 = 0.1e1 / t271 / t81; + const double t638 = t637 * sigma; + const double t639 = t638 * t89; + const double t640 = t635 * t639; + const double t641 = t276 * t276; + const double t642 = 0.1e1 / t641; + const double t643 = t642 * t19; + const double t644 = t643 * t92; + const double t645 = t281 * t281; + const double t646 = t6 * t645; + const double t648 = t80 * t80; + const double t649 = t647 * t648; + const double t651 = t644 * t646 * t649; + const double t654 = t273 * t289; + const double t655 = t270 * t654; + const double t658 = -t496 - t501 - t508 + t533 + t541 + t545 + t549 + t556 - t567 - t575; + const double t661 = t280 * t6 * t658 * t283; + const double t664 = t635 * t274; + const double t665 = t647 * t80; + const double t667 = t644 * t646 * t665; + const double t670 = t8 * t108; + const double t671 = 0.1e1 / t670; + const double t672 = t671 * t40; + const double t677 = 0.16463622957338778997e-1 * t585 * t74 * t257 - 0.81312004494856525156e-4 * t590 * t84 * t592 - 0.27439371595564631661e-2 * t597 * t601 + 0.14457274399185490173e-3 * t607 * t608 * t90 * t497 + 0.48787202696913915093e-2 * t613 * t615 * t600 - 0.29272321618148349056e-1 * t263 * t619 * t256 - 0.27081574266271102508e-1 * t623 * t627 + 0.48151039045430020259e-1 * t613 * t614 * t626 + 0.54878743191129263322e-1 * t640 * t651 - 0.12805040077930161442e0 * t655 * t285 + 0.27439371595564631661e-1 * t275 * t661 - 0.27439371595564631661e-1 * t664 * t667 + 0.21341733463216935736e0 * t85 * t672 * t90 * t94; + const double t678 = t250 * t677; + const double t684 = t74 * t61 * t77 * t80; + const double t687 = t101 * t658; + const double t693 = t276 * t66; + const double t694 = 0.1e1 / t693; + const double t695 = t647 * t694; + const double t696 = t695 * t80; + const double t699 = -0.3125e0 * t580 * t81 + 0.25e0 * t678 * t81 - 0.5e0 * t295 * t281 * t684 - 0.1e1 * t687 * t74 * t300 + 0.1e1 * t101 * t645 * t269 * t696; + const double t702 = t63 * t67 * t699 * t305; + const double t703 = t303 * t303; + const double t705 = t104 * t104; + const double t706 = 0.1e1 / t705; + const double t708 = t63 * t67 * t703 * t706; + const double t709 = t136 * t121; + const double t715 = t583 * t121 * t323; + const double t720 = t109 * t119; + const double t721 = t316 * t316; + const double t722 = t145 * t721; + const double t725 = t320 * t120; + const double t726 = t725 * t323; + const double t727 = t144 * t316; + const double t728 = t727 * t127; + const double t731 = t311 * t135; + const double t732 = t330 * t316; + const double t733 = t732 * t345; + const double t740 = piecewise_functor_3( t118, 0.4e2 / 0.9e1 * tau * t252 - 0.11e2 / 0.9e1 * t619, 0.0 ); + const double t741 = t145 * t740; + const double t744 = t108 * t86; + const double t745 = t8 * t744; + const double t747 = t745 * t121 * t420; + const double t750 = t144 * t123 * t749; + const double t753 = t330 * t124; + const double t754 = t126 * t345; + const double t755 = t753 * t754; + const double t759 = 0.1e1 / t329 / t143; + const double t760 = t135 * t759; + const double t761 = t345 * t345; + const double t762 = t760 * t761; + const double t768 = t87 * t119; + const double t771 = t136 * t120; + const double t772 = t771 * t135; + const double t778 = t108 * t119; + const double t779 = t778 * t135; + const double t780 = t40 * t316; + const double t781 = t780 * t127; + const double t784 = t140 * t740; + const double t787 = t583 * t120; + const double t788 = t787 * t323; + const double t793 = 0.14e3 / 0.9e1 * t202 * t120 * t140 + 0.8e2 / 0.3e1 * t768 * t336 - 0.44e2 / 0.3e1 * t772 * t342 + 0.4e1 * t137 * t721 * t140 - 0.8e1 * t779 * t781 + 0.4e1 * t335 * t784 + 0.18e2 * t788 * t790; + const double t794 = t331 * t793; + const double t797 = 0.8e1 * t122 * t762 - 0.4e1 * t122 * t794 + 0.8e2 * t709 * t145 - 0.4e2 * t308 * t346 + 0.12e2 * t311 * t741 + 0.12e3 * t339 * t317 + 0.12e2 * t324 * t755 - 0.64e2 * t715 * t326 + 0.24e2 * t720 * t722 - 0.36e2 * t726 * t728 - 0.24e2 * t731 * t733 + 0.72e2 * t747 * t750; + const double t798 = piecewise_functor_3( t149, 0.0, t797 ); + const double t800 = t350 * t350; + const double t804 = t150 * t800; + const double t808 = t152 * t800; + const double t812 = t154 * t800; + const double t816 = t156 * t800; + const double t824 = -0.64e0 * t798 - 0.8704e0 * t800 - 0.8704e0 * t150 * t798 - 0.9214113627294e1 * t804 - 0.4607056813647e1 * t152 * t798 + 0.367387230261e2 * t808 + 0.122462410087e2 * t154 * t798 - 0.3831420472412e2 * t812 - 0.957855118103e1 * t156 * t798 + 0.1550653405116e2 * t816 + 0.3101306810232e1 * t158 * t798 - 0.2177652951264e1 * t158 * t800 - 0.362942158544e0 * t160 * t798; + const double t825 = t365 * t166; + const double t826 = 0.1e1 / t825; + const double t827 = t367 * t367; + const double t831 = piecewise_functor_3( t149, t797, 0.0 ); + const double t835 = t365 * t365; + const double t836 = 0.1e1 / t835; + const double t837 = t836 * t827; + const double t841 = piecewise_functor_3( t148, t824, -0.21e1 * t826 * t827 * t169 - 0.105e1 * t366 * t831 * t169 - 0.1575e1 * t837 * t169 ); + const double t842 = t841 * t200; + const double t843 = t371 * t397; + const double t845 = t373 * t174; + const double t846 = 0.1e1 / t845; + const double t847 = t377 * t377; + const double t848 = t846 * t847; + const double t853 = -0.49388888888888888889e-2 * t514 + 0.98777777777777777777e-2 * t517 + 0.13949e-1 * t519; + const double t854 = t374 * t853; + const double t860 = t373 * t373; + const double t861 = 0.1e1 / t860; + const double t862 = t861 * t847; + const double t865 = t178 * t384; + const double t866 = t378 * t865; + const double t868 = t181 * t182 * t252; + const double t871 = t186 * t186; + const double t873 = 0.1e1 / t187 / t871; + const double t874 = t179 * t873; + const double t875 = t874 * t124; + const double t878 = sigma * sigma; + const double t879 = t108 * t136; + const double t880 = t8 * t879; + const double t881 = 0.1e1 / t880; + const double t889 = 0.2e1 * t848 * t380 - 0.1e1 * t854 * t380 + 0.1e1 * t862 * t380 + 0.2845018947250181111e-1 * t866 * t868 - 0.20235332025531322028e-2 * t875 * t877 * t878 * t881 + 0.52158680699586653702e-1 * t386 * t387 * t619; + const double t892 = t391 * t391; + const double t893 = t191 * t191; + const double t894 = 0.1e1 / t893; + const double t899 = ( -0.571528e-1 * t848 + 0.285764e-1 * t854 + 0.285764e-1 * t889 * t392 - 0.285764e-1 * t892 * t894 ) * t198 + t496 + t501 + t508 - t533 - t541 - t545 - t549 - t556 + t567 + t575 - t702 + t708; + const double t900 = t171 * t899; + const double t901 = -t496 - t501 - t508 + t533 + t541 + t545 + t549 + t556 - t567 - t575 + t702 - t708 + t842 + 0.2e1 * t843 + t900; + const double t903 = t65 * t578; + const double t904 = t903 * t402; + const double t906 = t6 * t305; + const double t908 = t905 * t906 * t294; + const double t909 = t904 * t908; + const double t910 = 0.86880925264517213539e-3 * t909; + const double t911 = t401 * t252; + const double t912 = t72 * t40; + const double t913 = t912 * t305; + const double t914 = t911 * t913; + const double t915 = 0.69504740211613770831e-4 * t914; + const double t916 = t401 * t69; + const double t918 = t40 * t305; + const double t920 = t916 * t261 * t252 * t918; + const double t921 = 0.12357942809624928454e-3 * t920; + const double t922 = t73 * t288; + const double t923 = t401 * t922; + const double t924 = t923 * t407; + const double t925 = 0.16217772716043213194e-2 * t924; + const double t926 = t6 * t706; + const double t928 = t905 * t926 * t303; + const double t929 = t403 * t928; + const double t930 = 0.69504740211613770831e-3 * t929; + const double t933 = t720 * t135; + const double t934 = t144 * t411; + const double t935 = t934 * t316; + const double t938 = t934 * t127; + const double t941 = t330 * t411; + const double t942 = t941 * t345; + const double t946 = piecewise_functor_3( t118, t252 / 0.3e1, 0.0 ); + const double t947 = t145 * t946; + const double t951 = t880 * t417 * t420; + const double t954 = t416 * t121; + const double t955 = t954 * t420; + const double t956 = t411 * t316; + const double t957 = t422 * t956; + const double t960 = t415 * rho; + const double t961 = t960 * t417; + const double t963 = 0.1e1 / t322 / t133; + const double t964 = t963 * t330; + const double t965 = t961 * t964; + const double t966 = t40 * t411; + const double t967 = t966 * t127; + const double t970 = t759 * t40; + const double t971 = t411 * t345; + const double t972 = t970 * t971; + const double t975 = t422 * t946; + const double t978 = 0.6e2 * t339 * t412 + 0.24e2 * t933 * t935 - 0.18e2 * t726 * t938 - 0.12e2 * t731 * t942 + 0.12e2 * t311 * t947 - 0.4e3 / 0.3e1 * t951 * t423 - 0.64e2 * t955 * t957 + 0.4e2 * t965 * t967 + 0.32e2 * t421 * t972 - 0.16e2 * t421 * t975; + const double t979 = piecewise_functor_3( t149, 0.0, t978 ); + const double t981 = t350 * t427; + const double t983 = t150 * t979; + const double t987 = t152 * t979; + const double t991 = t154 * t979; + const double t995 = t156 * t979; + const double t999 = t158 * t979; + const double t1005 = -0.64e0 * t979 - 0.8704e0 * t981 - 0.8704e0 * t983 - 0.9214113627294e1 * t429 * t350 - 0.4607056813647e1 * t987 + 0.367387230261e2 * t431 * t350 + 0.122462410087e2 * t991 - 0.3831420472412e2 * t433 * t350 - 0.957855118103e1 * t995 + 0.1550653405116e2 * t435 * t350 + 0.3101306810232e1 * t999 - 0.2177652951264e1 * t437 * t350 - 0.362942158544e0 * t160 * t979; + const double t1006 = t826 * t442; + const double t1007 = t169 * t367; + const double t1010 = piecewise_functor_3( t149, t978, 0.0 ); + const double t1014 = t836 * t442; + const double t1018 = piecewise_functor_3( t148, t1005, -0.21e1 * t1006 * t1007 - 0.105e1 * t366 * t1010 * t169 - 0.1575e1 * t1014 * t1007 ); + const double t1019 = t1018 * t200; + const double t1020 = t446 * t397; + const double t1021 = t371 * t454; + const double t1022 = t865 * t123; + const double t1023 = t378 * t1022; + const double t1025 = t114 * t392 * t198; + const double t1026 = t387 * t1025; + const double t1030 = t874 * t1029; + const double t1031 = 0.1e1 / t745; + const double t1032 = t40 * t1031; + const double t1033 = t450 * sigma; + const double t1037 = t130 * t252; + const double t1041 = t894 * t198; + const double t1042 = t1041 * t391; + const double t1046 = -0.15243824895787514157e-3 * t1023 * t1026 + 0.21684485328539747656e-4 * t1030 * t1032 * t1033 - 0.40650199722100037752e-3 * t448 * t1037 * t450 - 0.15243824895787514157e-3 * t448 * t449 * t1042 + t910 + t915 - t921 + t925 + t930; + const double t1047 = t171 * t1046; + const double t1053 = t144 * t457; + const double t1054 = t1053 * t316; + const double t1057 = t1053 * t127; + const double t1060 = t330 * t457; + const double t1061 = t1060 * t345; + const double t1065 = piecewise_functor_3( t118, -0.5e1 / 0.3e1 * t114, 0.0 ); + const double t1066 = t145 * t1065; + const double t1071 = t457 * t316; + const double t1072 = t422 * t1071; + const double t1075 = t40 * t457; + const double t1076 = t1075 * t127; + const double t1080 = t970 * t457 * t345; + const double t1083 = t422 * t1065; + const double t1086 = 0.6e2 * t339 * t458 + 0.24e2 * t933 * t1054 - 0.18e2 * t726 * t1057 - 0.12e2 * t731 * t1061 + 0.12e2 * t311 * t1066 - 0.4e3 / 0.3e1 * t951 * t461 - 0.64e2 * t955 * t1072 + 0.4e2 * t965 * t1076 + 0.32e2 * t421 * t1080 - 0.16e2 * t421 * t1083; + const double t1087 = piecewise_functor_3( t149, 0.0, t1086 ); + const double t1089 = t350 * t465; + const double t1091 = t150 * t1087; + const double t1095 = t152 * t1087; + const double t1099 = t154 * t1087; + const double t1103 = t156 * t1087; + const double t1107 = t158 * t1087; + const double t1113 = -0.64e0 * t1087 - 0.8704e0 * t1089 - 0.8704e0 * t1091 - 0.9214113627294e1 * t467 * t350 - 0.4607056813647e1 * t1095 + 0.367387230261e2 * t469 * t350 + 0.122462410087e2 * t1099 - 0.3831420472412e2 * t471 * t350 - 0.957855118103e1 * t1103 + 0.1550653405116e2 * t473 * t350 + 0.3101306810232e1 * t1107 - 0.2177652951264e1 * t475 * t350 - 0.362942158544e0 * t160 * t1087; + const double t1114 = t826 * t480; + const double t1117 = piecewise_functor_3( t149, t1086, 0.0 ); + const double t1121 = t836 * t480; + const double t1125 = piecewise_functor_3( t148, t1113, -0.21e1 * t1114 * t1007 - 0.105e1 * t366 * t1117 * t169 - 0.1575e1 * t1121 * t1007 ); + const double t1126 = rho * t1125; + const double t1129 = 0.1e1 / t65; + const double t1130 = t1129 * t578; + const double t1131 = t69 * t69; + const double t1132 = t1130 * t1131; + const double t1133 = t261 * t584; + const double t1134 = t1133 * t130; + const double t1135 = t1132 * t1134; + const double t1139 = t305 * t74; + const double t1140 = t1139 * t82; + const double t1141 = t1138 * t1140; + const double t1143 = 0.71518739786987016352e-4 * t1135 * t1141; + const double t1144 = safe_math::sqrt( t98 ); + const double t1147 = t1129 / t1144 / t576; + const double t1148 = t1131 * t261; + const double t1153 = t7 * t706; + const double t1155 = t1151 * t1136 * t1153 * t74; + const double t1157 = 0.1430374795739740327e-4 * t1147 * t1148 * t584 * t1155; + const double t1158 = t411 * t411; + const double t1159 = t145 * t1158; + const double t1162 = t330 * t1158; + const double t1163 = t1162 * t40; + const double t1166 = piecewise_functor_3( t118, 0.0, 0.0 ); + const double t1167 = t145 * t1166; + const double t1169 = 0.12e2 * t311 * t1167; + const double t1170 = t415 * t136; + const double t1171 = t22 * t1170; + const double t1172 = t417 * t119; + const double t1173 = t1171 * t1172; + const double t1175 = 0.1e1 / t322 / t134; + const double t1176 = t1173 * t1175; + const double t1177 = t759 * t130; + const double t1178 = t1177 * t1158; + const double t1181 = t422 * t1166; + const double t1183 = 0.16e2 * t421 * t1181; + const double t1184 = 0.24e2 * t720 * t1159 - 0.112e3 * t955 * t1163 + 0.128e3 * t1176 * t1178 + t1169 - t1183; + const double t1185 = piecewise_functor_3( t149, 0.0, t1184 ); + const double t1187 = t427 * t427; + const double t1189 = t150 * t1185; + const double t1191 = t150 * t1187; + const double t1193 = t152 * t1185; + const double t1195 = t152 * t1187; + const double t1197 = t154 * t1185; + const double t1199 = t154 * t1187; + const double t1201 = t156 * t1185; + const double t1203 = t156 * t1187; + const double t1205 = t158 * t1185; + const double t1211 = -0.64e0 * t1185 - 0.8704e0 * t1187 - 0.8704e0 * t1189 - 0.9214113627294e1 * t1191 - 0.4607056813647e1 * t1193 + 0.367387230261e2 * t1195 + 0.122462410087e2 * t1197 - 0.3831420472412e2 * t1199 - 0.957855118103e1 * t1201 + 0.1550653405116e2 * t1203 + 0.3101306810232e1 * t1205 - 0.2177652951264e1 * t158 * t1187 - 0.362942158544e0 * t160 * t1185; + const double t1212 = t442 * t442; + const double t1216 = piecewise_functor_3( t149, t1184, 0.0 ); + const double t1220 = t836 * t1212; + const double t1224 = piecewise_functor_3( t148, t1211, -0.21e1 * t826 * t1212 * t169 - 0.105e1 * t366 * t1216 * t169 - 0.1575e1 * t1220 * t169 ); + const double t1225 = t1224 * t200; + const double t1227 = 0.2e1 * t446 * t454; + const double t1228 = t8 * t109; + const double t1229 = 0.1e1 / t1228; + const double t1230 = t40 * t1229; + const double t1234 = t179 * t179; + const double t1235 = safe_math::sqrt( t186 ); + const double t1237 = 0.1e1 / t1235 / t871; + const double t1239 = t1234 * t1237 * t1029; + const double t1243 = -0.81316819982024053709e-5 * t1030 * t1230 * t450 - 0.16263363996404810741e-5 * t1239 * t1230 * t1041 + t1143 + t1157; + const double t1244 = t171 * t1243; + const double t1246 = t1053 * t411; + const double t1249 = t1060 * t966; + const double t1252 = t457 * t411; + const double t1253 = t1177 * t1252; + const double t1256 = 0.128e3 * t1176 * t1253 + 0.24e2 * t933 * t1246 - 0.112e3 * t955 * t1249 + t1169 - t1183; + const double t1257 = piecewise_functor_3( t149, 0.0, t1256 ); + const double t1259 = t427 * t465; + const double t1261 = t150 * t1257; + const double t1265 = t152 * t1257; + const double t1269 = t154 * t1257; + const double t1273 = t156 * t1257; + const double t1277 = t158 * t1257; + const double t1283 = -0.64e0 * t1257 - 0.8704e0 * t1259 - 0.8704e0 * t1261 - 0.9214113627294e1 * t467 * t427 - 0.4607056813647e1 * t1265 + 0.367387230261e2 * t469 * t427 + 0.122462410087e2 * t1269 - 0.3831420472412e2 * t471 * t427 - 0.957855118103e1 * t1273 + 0.1550653405116e2 * t473 * t427 + 0.3101306810232e1 * t1277 - 0.2177652951264e1 * t475 * t427 - 0.362942158544e0 * t160 * t1257; + const double t1284 = t169 * t442; + const double t1287 = piecewise_functor_3( t149, t1256, 0.0 ); + const double t1294 = piecewise_functor_3( t148, t1283, -0.21e1 * t1114 * t1284 - 0.105e1 * t366 * t1287 * t169 - 0.1575e1 * t1121 * t1284 ); + const double t1295 = rho * t1294; + const double t1298 = t457 * t457; + const double t1299 = t145 * t1298; + const double t1302 = t330 * t1298; + const double t1303 = t1302 * t40; + const double t1306 = t1177 * t1298; + const double t1309 = 0.128e3 * t1176 * t1306 + 0.24e2 * t720 * t1299 - 0.112e3 * t955 * t1303 + t1169 - t1183; + const double t1310 = piecewise_functor_3( t149, 0.0, t1309 ); + const double t1312 = t465 * t465; + const double t1314 = t150 * t1310; + const double t1316 = t150 * t1312; + const double t1318 = t152 * t1310; + const double t1320 = t152 * t1312; + const double t1322 = t154 * t1310; + const double t1324 = t154 * t1312; + const double t1326 = t156 * t1310; + const double t1328 = t156 * t1312; + const double t1330 = t158 * t1310; + const double t1336 = -0.64e0 * t1310 - 0.8704e0 * t1312 - 0.8704e0 * t1314 - 0.9214113627294e1 * t1316 - 0.4607056813647e1 * t1318 + 0.367387230261e2 * t1320 + 0.122462410087e2 * t1322 - 0.3831420472412e2 * t1324 - 0.957855118103e1 * t1326 + 0.1550653405116e2 * t1328 + 0.3101306810232e1 * t1330 - 0.2177652951264e1 * t158 * t1312 - 0.362942158544e0 * t160 * t1310; + const double t1337 = t480 * t480; + const double t1341 = piecewise_functor_3( t149, t1309, 0.0 ); + const double t1345 = t836 * t1337; + const double t1349 = piecewise_functor_3( t148, t1336, -0.21e1 * t826 * t1337 * t169 - 0.105e1 * t366 * t1341 * t169 - 0.1575e1 * t1345 * t169 ); + const double t1350 = rho * t1349; + + + v2rho2 = 0.22146941966666666666e-2 * t206 + 0.2e1 * t229 - 0.36622894612013090108e-3 * t234 - 0.11696447245269292414e1 * t247 + 0.2e1 * t307 + 0.2e1 * t372 + 0.2e1 * t398 + rho * t901; + v2rhosigma = t409 + t447 + t455 + rho * ( -t910 - t915 + t921 - t925 - t930 + t1019 + t1020 + t1021 + t1047 ); + v2rholapl = 0.e0; + v2rhotau = t1126 * t200 + t484 * t200 + t485 * t397; + v2sigma2 = rho * ( -t1143 - t1157 + t1225 + t1227 + t1244 ); + v2sigmalapl = 0.e0; + v2sigmatau = t1295 * t200 + t485 * t454; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t1350 * t200; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t123 = constants::m_cbrt_6; + constexpr double t125 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t92 = 0.1e1 / t4; + constexpr double t94 = t19 * t92 * t6; + constexpr double t124 = t123 * t123; + constexpr double t126 = t125 * t125; + constexpr double t127 = t124 * t126; + constexpr double t130 = t40 * t40; + constexpr double t180 = 0.1e1 / t126; + constexpr double t181 = t123 * t180; + constexpr double t213 = t4 * t7; + constexpr double t342 = t40 * t124 * t126; + constexpr double t387 = t180 * t130; + constexpr double t404 = t40 * t19; + constexpr double t405 = t92 * t6; + constexpr double t497 = t5 * t7; + constexpr double t512 = t20 * t6; + constexpr double t647 = t61 * t61; + constexpr double t749 = t125 * t61; + constexpr double t790 = t40 * t123 * t749; + constexpr double t876 = 0.1e1 / t749; + constexpr double t877 = t876 * t40; + constexpr double t905 = t404 * t92; + constexpr double t1029 = t124 * t876; + constexpr double t1136 = 0.1e1 / t20; + constexpr double t1137 = t2 * t1136; + constexpr double t1138 = t1137 * t7; + constexpr double t1151 = t130 * t2; + + + const double t8 = safe_math::cbrt( rho ); + const double t11 = t5 * t7 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t23 = 0.1e1 / t22; + const double t25 = t21 * t6 * t23; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t51 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 + 0.25e-1 * t11; + const double t71 = 0.1e1 + 0.4445e-1 * t11; + const double t72 = 0.1e1 / t71; + const double t73 = t69 * t72; + const double t74 = 0.1e1 / t60; + const double t77 = 0.1e1 / t67; + const double t78 = t61 * t77; + const double t80 = safe_math::exp( -( -t33 + t58 ) * t74 * t78 ); + const double t81 = t80 - 0.1e1; + const double t82 = 0.1e1 / t81; + const double t83 = t74 * t82; + const double t84 = t83 * sigma; + const double t85 = t73 * t84; + const double t86 = rho * rho; + const double t87 = t8 * t86; + const double t88 = 0.1e1 / t87; + const double t89 = t88 * t40; + const double t90 = 0.1e1 / t66; + const double t98 = 0.1e1 + 0.27439371595564631661e-1 * t85 * t89 * t90 * t94; + const double t99 = pow_1_4( t98 ); + const double t101 = 0.1e1 - 0.1e1 / t99; + const double t104 = 0.1e1 + 0.1e1 * t101 * t81; + const double t105 = safe_math::log( t104 ); + const double t107 = t63 * t67 * t105; + const double t108 = t86 * t86; + const double t109 = t108 * rho; + const double t110 = t22 * rho; + const double t111 = 0.1e1 / t110; + const double t113 = t22 * t86; + const double t114 = 0.1e1 / t113; + const double t117 = tau * t111 - sigma * t114 / 0.8e1; + const double t118 = 0.e0 < t117; + const double t119 = piecewise_functor_3( t118, t117, 0.0 ); + const double t120 = t119 * t119; + const double t121 = t120 * t119; + const double t122 = t109 * t121; + const double t132 = 0.3e1 / 0.1e2 * t127 * t110 + 0.1e-3 * t130; + const double t133 = t132 * t132; + const double t134 = t133 * t132; + const double t135 = 0.1e1 / t134; + const double t136 = t86 * rho; + const double t137 = t8 * t136; + const double t140 = 0.1e1 / t133 * t40; + const double t143 = 0.2e1 * t137 * t120 * t140 + 0.1e-2; + const double t144 = 0.1e1 / t143; + const double t145 = t135 * t144; + const double t147 = 0.4e1 * t122 * t145; + const double t148 = t147 <= 0.25e1; + const double t149 = 0.25e1 < t147; + const double t150 = piecewise_functor_3( t149, 2.5, t147 ); + const double t152 = t150 * t150; + const double t154 = t152 * t150; + const double t156 = t152 * t152; + const double t158 = t156 * t150; + const double t160 = t156 * t152; + const double t165 = piecewise_functor_3( t149, t147, 2.5 ); + const double t166 = 0.1e1 - t165; + const double t169 = safe_math::exp( 0.15e1 / t166 ); + const double t171 = piecewise_functor_3( t148, 0.1e1 - 0.64e0 * t150 - 0.4352e0 * t152 - 0.1535685604549e1 * t154 + 0.3061560252175e1 * t156 - 0.1915710236206e1 * t158 + 0.516884468372e0 * t160 - 0.51848879792e-1 * t156 * t154, -0.7e0 * t169 ); + const double t174 = 0.1e1 + 0.4445e-1 * t14 + 0.3138525e-1 * t11; + const double t175 = 0.1e1 / t174; + const double t178 = safe_math::exp( 0.1e1 * t175 ); + const double t179 = t178 - 0.1e1; + const double t182 = t130 * sigma; + const double t186 = 0.1e1 + 0.21337642104376358333e-1 * t181 * t182 * t114; + const double t187 = pow_1_4( t186 ); + const double t189 = 0.1e1 - 0.1e1 / t187; + const double t191 = t179 * t189 + 0.1e1; + const double t192 = safe_math::log( t191 ); + const double t198 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t200 = ( -0.285764e-1 * t175 + 0.285764e-1 * t192 ) * t198 + t33 - t58 - t107; + const double t201 = t171 * t200; + const double t202 = t8 * rho; + const double t203 = 0.1e1 / t202; + const double t204 = t7 * t203; + const double t206 = t5 * t204 * t31; + const double t207 = 0.11073470983333333333e-2 * t206; + const double t208 = t27 * t27; + const double t209 = 0.1e1 / t208; + const double t210 = t13 * t209; + const double t212 = 0.1e1 / t14 * t2; + const double t214 = t213 * t203; + const double t215 = t212 * t214; + const double t217 = t5 * t204; + const double t219 = safe_math::sqrt( t11 ); + const double t220 = t219 * t2; + const double t221 = t220 * t214; + const double t224 = t21 * t6 * t111; + const double t226 = -0.632975e0 * t215 - 0.29896666666666666667e0 * t217 - 0.1023875e0 * t221 - 0.82156666666666666667e-1 * t224; + const double t227 = 0.1e1 / t30; + const double t228 = t226 * t227; + const double t229 = t210 * t228; + const double t230 = 0.1e1 * t229; + const double t231 = t44 * t2; + const double t234 = t231 * t213 * t203 * t55; + const double t235 = 0.18311447306006545054e-3 * t234; + const double t236 = t44 * t46; + const double t237 = t51 * t51; + const double t238 = 0.1e1 / t237; + const double t243 = -0.86308333333333333334e0 * t215 - 0.301925e0 * t217 - 0.5501625e-1 * t221 - 0.82785e-1 * t224; + const double t245 = 0.1e1 / t54; + const double t246 = t238 * t243 * t245; + const double t247 = t236 * t246; + const double t248 = 0.5848223622634646207e0 * t247; + const double t250 = 0.1e1 / t99 / t98; + const double t251 = t22 * t136; + const double t252 = 0.1e1 / t251; + const double t253 = t252 * t72; + const double t256 = t40 * t90; + const double t257 = t82 * sigma * t256; + const double t260 = t71 * t71; + const double t261 = 0.1e1 / t260; + const double t262 = t69 * t261; + const double t263 = t262 * t83; + const double t264 = sigma * t252; + const double t268 = t60 * t60; + const double t269 = 0.1e1 / t268; + const double t270 = t73 * t269; + const double t271 = t81 * t81; + const double t272 = 0.1e1 / t271; + const double t273 = t272 * sigma; + const double t274 = t273 * t89; + const double t275 = t270 * t274; + const double t276 = t66 * t66; + const double t278 = 0.1e1 / t276 / t65; + const double t279 = t278 * t19; + const double t280 = t279 * t92; + const double t281 = t207 + t230 - t235 - t248; + const double t283 = t61 * t80; + const double t284 = t6 * t281 * t283; + const double t285 = t280 * t284; + const double t288 = 0.1e1 / t137; + const double t289 = t288 * t40; + const double t294 = -0.27439371595564631661e-2 * t253 * t74 * t257 + 0.48787202696913915093e-2 * t263 * t264 * t256 + 0.27439371595564631661e-1 * t275 * t285 - 0.64025200389650807209e-1 * t85 * t289 * t90 * t94; + const double t295 = t250 * t294; + const double t300 = t78 * t80; + const double t303 = 0.25e0 * t295 * t81 - 0.1e1 * t101 * t281 * t74 * t300; + const double t305 = 0.1e1 / t104; + const double t307 = t63 * t67 * t303 * t305; + const double t308 = t108 * t121; + const double t311 = t109 * t120; + const double t316 = piecewise_functor_3( t118, -0.5e1 / 0.3e1 * tau * t114 + t264 / 0.3e1, 0.0 ); + const double t317 = t145 * t316; + const double t320 = t22 * t109; + const double t321 = t320 * t121; + const double t322 = t133 * t133; + const double t323 = 0.1e1 / t322; + const double t324 = t321 * t323; + const double t326 = t144 * t124 * t126; + const double t329 = t143 * t143; + const double t330 = 0.1e1 / t329; + const double t331 = t135 * t330; + const double t335 = t137 * t119; + const double t336 = t140 * t316; + const double t339 = t108 * t120; + const double t340 = t339 * t135; + const double t345 = 0.2e2 / 0.3e1 * t87 * t120 * t140 + 0.4e1 * t335 * t336 - 0.2e1 * t340 * t342; + const double t346 = t331 * t345; + const double t349 = -0.4e1 * t122 * t346 + 0.2e2 * t308 * t145 + 0.12e2 * t311 * t317 - 0.6e1 * t324 * t326; + const double t350 = piecewise_functor_3( t149, 0.0, t349 ); + const double t352 = t150 * t350; + const double t354 = t152 * t350; + const double t356 = t154 * t350; + const double t358 = t156 * t350; + const double t360 = t158 * t350; + const double t365 = t166 * t166; + const double t366 = 0.1e1 / t365; + const double t367 = piecewise_functor_3( t149, t349, 0.0 ); + const double t371 = piecewise_functor_3( t148, -0.64e0 * t350 - 0.8704e0 * t352 - 0.4607056813647e1 * t354 + 0.122462410087e2 * t356 - 0.957855118103e1 * t358 + 0.3101306810232e1 * t360 - 0.362942158544e0 * t160 * t350, -0.105e1 * t366 * t367 * t169 ); + const double t372 = t371 * t200; + const double t373 = t174 * t174; + const double t374 = 0.1e1 / t373; + const double t377 = -0.74083333333333333333e-2 * t215 - 0.1046175e-1 * t217; + const double t378 = t374 * t377; + const double t380 = t178 * t189; + const double t384 = 0.1e1 / t187 / t186; + const double t385 = t179 * t384; + const double t386 = t385 * t123; + const double t391 = -0.1e1 * t378 * t380 - 0.14225094736250905555e-1 * t386 * t387 * t264; + const double t392 = 0.1e1 / t191; + const double t397 = ( 0.285764e-1 * t378 + 0.285764e-1 * t391 * t392 ) * t198 - t207 - t230 + t235 + t248 - t307; + const double t398 = t171 * t397; + const double t401 = t65 * t250; + const double t402 = t73 * t88; + const double t403 = t401 * t402; + const double t406 = t405 * t305; + const double t407 = t404 * t406; + const double t409 = 0.69504740211613770831e-3 * t403 * t407; + const double t411 = piecewise_functor_3( t118, -t114 / 0.8e1, 0.0 ); + const double t412 = t145 * t411; + const double t415 = t108 * t108; + const double t416 = t8 * t415; + const double t417 = t120 * t120; + const double t418 = t416 * t417; + const double t420 = 0.1e1 / t322 / t132; + const double t421 = t418 * t420; + const double t422 = t330 * t40; + const double t423 = t422 * t411; + const double t426 = 0.12e2 * t311 * t412 - 0.16e2 * t421 * t423; + const double t427 = piecewise_functor_3( t149, 0.0, t426 ); + const double t429 = t150 * t427; + const double t431 = t152 * t427; + const double t433 = t154 * t427; + const double t435 = t156 * t427; + const double t437 = t158 * t427; + const double t442 = piecewise_functor_3( t149, t426, 0.0 ); + const double t446 = piecewise_functor_3( t148, -0.64e0 * t427 - 0.8704e0 * t429 - 0.4607056813647e1 * t431 + 0.122462410087e2 * t433 - 0.957855118103e1 * t435 + 0.3101306810232e1 * t437 - 0.362942158544e0 * t160 * t427, -0.105e1 * t366 * t442 * t169 ); + const double t447 = t446 * t200; + const double t448 = t385 * t181; + const double t449 = t130 * t114; + const double t450 = t392 * t198; + const double t454 = 0.15243824895787514157e-3 * t448 * t449 * t450 - t409; + const double t455 = t171 * t454; + const double t457 = piecewise_functor_3( t118, t111, 0.0 ); + const double t458 = t145 * t457; + const double t461 = t422 * t457; + const double t464 = 0.12e2 * t311 * t458 - 0.16e2 * t421 * t461; + const double t465 = piecewise_functor_3( t149, 0.0, t464 ); + const double t467 = t150 * t465; + const double t469 = t152 * t465; + const double t471 = t154 * t465; + const double t473 = t156 * t465; + const double t475 = t158 * t465; + const double t480 = piecewise_functor_3( t149, t464, 0.0 ); + const double t484 = piecewise_functor_3( t148, -0.64e0 * t465 - 0.8704e0 * t467 - 0.4607056813647e1 * t469 + 0.122462410087e2 * t471 - 0.957855118103e1 * t473 + 0.3101306810232e1 * t475 - 0.362942158544e0 * t160 * t465, -0.105e1 * t366 * t480 * t169 ); + const double t485 = rho * t484; + const double t493 = t7 * t88; + const double t495 = t5 * t493 * t31; + const double t496 = 0.14764627977777777777e-2 * t495; + const double t498 = t203 * t209; + const double t500 = t497 * t498 * t228; + const double t501 = 0.35616666666666666666e-1 * t500; + const double t502 = t208 * t27; + const double t503 = 0.1e1 / t502; + const double t504 = t13 * t503; + const double t505 = t226 * t226; + const double t506 = t505 * t227; + const double t507 = t504 * t506; + const double t508 = 0.2e1 * t507; + const double t511 = 0.1e1 / t14 / t11 * t19; + const double t513 = t512 * t114; + const double t514 = t511 * t513; + const double t516 = t213 * t88; + const double t517 = t212 * t516; + const double t519 = t5 * t493; + const double t521 = 0.1e1/safe_math::sqrt( t11 ); + const double t522 = t521 * t19; + const double t523 = t522 * t513; + const double t525 = t220 * t516; + const double t528 = t21 * t6 * t114; + const double t530 = -0.42198333333333333333e0 * t514 + 0.84396666666666666666e0 * t517 + 0.39862222222222222223e0 * t519 + 0.68258333333333333333e-1 * t523 + 0.13651666666666666667e0 * t525 + 0.13692777777777777778e0 * t528; + const double t531 = t530 * t227; + const double t532 = t210 * t531; + const double t533 = 0.1e1 * t532; + const double t534 = t208 * t208; + const double t535 = 0.1e1 / t534; + const double t536 = t13 * t535; + const double t537 = t30 * t30; + const double t538 = 0.1e1 / t537; + const double t539 = t505 * t538; + const double t540 = t536 * t539; + const double t541 = 0.16081979498692535067e2 * t540; + const double t544 = t231 * t213 * t88 * t55; + const double t545 = 0.24415263074675393405e-3 * t544; + const double t546 = t44 * t5; + const double t548 = t546 * t204 * t246; + const double t549 = 0.10843581300301739842e-1 * t548; + const double t550 = t237 * t51; + const double t551 = 0.1e1 / t550; + const double t552 = t243 * t243; + const double t554 = t551 * t552 * t245; + const double t555 = t236 * t554; + const double t556 = 0.11696447245269292414e1 * t555; + const double t563 = -0.57538888888888888889e0 * t514 + 0.11507777777777777778e1 * t517 + 0.40256666666666666667e0 * t519 + 0.366775e-1 * t523 + 0.73355e-1 * t525 + 0.137975e0 * t528; + const double t565 = t238 * t563 * t245; + const double t566 = t236 * t565; + const double t567 = 0.5848223622634646207e0 * t566; + const double t568 = t237 * t237; + const double t569 = 0.1e1 / t568; + const double t570 = t569 * t552; + const double t571 = t54 * t54; + const double t572 = 0.1e1 / t571; + const double t573 = t570 * t572; + const double t574 = t236 * t573; + const double t575 = 0.17315859105681463759e2 * t574; + const double t576 = t98 * t98; + const double t578 = 0.1e1 / t99 / t576; + const double t579 = t294 * t294; + const double t580 = t578 * t579; + const double t583 = t22 * t108; + const double t584 = 0.1e1 / t583; + const double t585 = t584 * t72; + const double t589 = 0.1e1 / t109; + const double t590 = t589 * t261; + const double t592 = t256 * t497; + const double t595 = t269 * t272; + const double t596 = t595 * sigma; + const double t597 = t253 * t596; + const double t598 = t40 * t278; + const double t600 = t281 * t61 * t80; + const double t601 = t598 * t600; + const double t605 = 0.1e1 / t260 / t71; + const double t606 = t69 * t605; + const double t607 = t606 * t84; + const double t608 = t589 * t40; + const double t613 = t262 * t596; + const double t614 = t252 * t40; + const double t615 = t614 * t278; + const double t619 = sigma * t584; + const double t623 = t253 * t595; + const double t624 = sigma * t40; + const double t626 = t278 * t281 * t80; + const double t627 = t624 * t626; + const double t634 = 0.1e1 / t268 / t60; + const double t635 = t73 * t634; + const double t637 = 0.1e1 / t271 / t81; + const double t638 = t637 * sigma; + const double t639 = t638 * t89; + const double t640 = t635 * t639; + const double t641 = t276 * t276; + const double t642 = 0.1e1 / t641; + const double t643 = t642 * t19; + const double t644 = t643 * t92; + const double t645 = t281 * t281; + const double t646 = t6 * t645; + const double t648 = t80 * t80; + const double t649 = t647 * t648; + const double t651 = t644 * t646 * t649; + const double t654 = t273 * t289; + const double t655 = t270 * t654; + const double t658 = -t496 - t501 - t508 + t533 + t541 + t545 + t549 + t556 - t567 - t575; + const double t661 = t280 * t6 * t658 * t283; + const double t664 = t635 * t274; + const double t665 = t647 * t80; + const double t667 = t644 * t646 * t665; + const double t670 = t8 * t108; + const double t671 = 0.1e1 / t670; + const double t672 = t671 * t40; + const double t677 = 0.16463622957338778997e-1 * t585 * t74 * t257 - 0.81312004494856525156e-4 * t590 * t84 * t592 - 0.27439371595564631661e-2 * t597 * t601 + 0.14457274399185490173e-3 * t607 * t608 * t90 * t497 + 0.48787202696913915093e-2 * t613 * t615 * t600 - 0.29272321618148349056e-1 * t263 * t619 * t256 - 0.27081574266271102508e-1 * t623 * t627 + 0.48151039045430020259e-1 * t613 * t614 * t626 + 0.54878743191129263322e-1 * t640 * t651 - 0.12805040077930161442e0 * t655 * t285 + 0.27439371595564631661e-1 * t275 * t661 - 0.27439371595564631661e-1 * t664 * t667 + 0.21341733463216935736e0 * t85 * t672 * t90 * t94; + const double t678 = t250 * t677; + const double t684 = t74 * t61 * t77 * t80; + const double t687 = t101 * t658; + const double t693 = t276 * t66; + const double t694 = 0.1e1 / t693; + const double t695 = t647 * t694; + const double t696 = t695 * t80; + const double t699 = -0.3125e0 * t580 * t81 + 0.25e0 * t678 * t81 - 0.5e0 * t295 * t281 * t684 - 0.1e1 * t687 * t74 * t300 + 0.1e1 * t101 * t645 * t269 * t696; + const double t702 = t63 * t67 * t699 * t305; + const double t703 = t303 * t303; + const double t705 = t104 * t104; + const double t706 = 0.1e1 / t705; + const double t708 = t63 * t67 * t703 * t706; + const double t709 = t136 * t121; + const double t715 = t583 * t121 * t323; + const double t720 = t109 * t119; + const double t721 = t316 * t316; + const double t722 = t145 * t721; + const double t725 = t320 * t120; + const double t726 = t725 * t323; + const double t727 = t144 * t316; + const double t728 = t727 * t127; + const double t731 = t311 * t135; + const double t732 = t330 * t316; + const double t733 = t732 * t345; + const double t740 = piecewise_functor_3( t118, 0.4e2 / 0.9e1 * tau * t252 - 0.11e2 / 0.9e1 * t619, 0.0 ); + const double t741 = t145 * t740; + const double t744 = t108 * t86; + const double t745 = t8 * t744; + const double t747 = t745 * t121 * t420; + const double t750 = t144 * t123 * t749; + const double t753 = t330 * t124; + const double t754 = t126 * t345; + const double t755 = t753 * t754; + const double t759 = 0.1e1 / t329 / t143; + const double t760 = t135 * t759; + const double t761 = t345 * t345; + const double t762 = t760 * t761; + const double t768 = t87 * t119; + const double t771 = t136 * t120; + const double t772 = t771 * t135; + const double t778 = t108 * t119; + const double t779 = t778 * t135; + const double t780 = t40 * t316; + const double t781 = t780 * t127; + const double t784 = t140 * t740; + const double t787 = t583 * t120; + const double t788 = t787 * t323; + const double t793 = 0.14e3 / 0.9e1 * t202 * t120 * t140 + 0.8e2 / 0.3e1 * t768 * t336 - 0.44e2 / 0.3e1 * t772 * t342 + 0.4e1 * t137 * t721 * t140 - 0.8e1 * t779 * t781 + 0.4e1 * t335 * t784 + 0.18e2 * t788 * t790; + const double t794 = t331 * t793; + const double t797 = 0.8e1 * t122 * t762 - 0.4e1 * t122 * t794 + 0.8e2 * t709 * t145 - 0.4e2 * t308 * t346 + 0.12e2 * t311 * t741 + 0.12e3 * t339 * t317 + 0.12e2 * t324 * t755 - 0.64e2 * t715 * t326 + 0.24e2 * t720 * t722 - 0.36e2 * t726 * t728 - 0.24e2 * t731 * t733 + 0.72e2 * t747 * t750; + const double t798 = piecewise_functor_3( t149, 0.0, t797 ); + const double t800 = t350 * t350; + const double t804 = t150 * t800; + const double t808 = t152 * t800; + const double t812 = t154 * t800; + const double t816 = t156 * t800; + const double t824 = -0.64e0 * t798 - 0.8704e0 * t800 - 0.8704e0 * t150 * t798 - 0.9214113627294e1 * t804 - 0.4607056813647e1 * t152 * t798 + 0.367387230261e2 * t808 + 0.122462410087e2 * t154 * t798 - 0.3831420472412e2 * t812 - 0.957855118103e1 * t156 * t798 + 0.1550653405116e2 * t816 + 0.3101306810232e1 * t158 * t798 - 0.2177652951264e1 * t158 * t800 - 0.362942158544e0 * t160 * t798; + const double t825 = t365 * t166; + const double t826 = 0.1e1 / t825; + const double t827 = t367 * t367; + const double t831 = piecewise_functor_3( t149, t797, 0.0 ); + const double t835 = t365 * t365; + const double t836 = 0.1e1 / t835; + const double t837 = t836 * t827; + const double t841 = piecewise_functor_3( t148, t824, -0.21e1 * t826 * t827 * t169 - 0.105e1 * t366 * t831 * t169 - 0.1575e1 * t837 * t169 ); + const double t842 = t841 * t200; + const double t843 = t371 * t397; + const double t845 = t373 * t174; + const double t846 = 0.1e1 / t845; + const double t847 = t377 * t377; + const double t848 = t846 * t847; + const double t853 = -0.49388888888888888889e-2 * t514 + 0.98777777777777777777e-2 * t517 + 0.13949e-1 * t519; + const double t854 = t374 * t853; + const double t860 = t373 * t373; + const double t861 = 0.1e1 / t860; + const double t862 = t861 * t847; + const double t865 = t178 * t384; + const double t866 = t378 * t865; + const double t868 = t181 * t182 * t252; + const double t871 = t186 * t186; + const double t873 = 0.1e1 / t187 / t871; + const double t874 = t179 * t873; + const double t875 = t874 * t124; + const double t878 = sigma * sigma; + const double t879 = t108 * t136; + const double t880 = t8 * t879; + const double t881 = 0.1e1 / t880; + const double t889 = 0.2e1 * t848 * t380 - 0.1e1 * t854 * t380 + 0.1e1 * t862 * t380 + 0.2845018947250181111e-1 * t866 * t868 - 0.20235332025531322028e-2 * t875 * t877 * t878 * t881 + 0.52158680699586653702e-1 * t386 * t387 * t619; + const double t892 = t391 * t391; + const double t893 = t191 * t191; + const double t894 = 0.1e1 / t893; + const double t899 = ( -0.571528e-1 * t848 + 0.285764e-1 * t854 + 0.285764e-1 * t889 * t392 - 0.285764e-1 * t892 * t894 ) * t198 + t496 + t501 + t508 - t533 - t541 - t545 - t549 - t556 + t567 + t575 - t702 + t708; + const double t900 = t171 * t899; + const double t901 = -t496 - t501 - t508 + t533 + t541 + t545 + t549 + t556 - t567 - t575 + t702 - t708 + t842 + 0.2e1 * t843 + t900; + const double t903 = t65 * t578; + const double t904 = t903 * t402; + const double t906 = t6 * t305; + const double t908 = t905 * t906 * t294; + const double t909 = t904 * t908; + const double t910 = 0.86880925264517213539e-3 * t909; + const double t911 = t401 * t252; + const double t912 = t72 * t40; + const double t913 = t912 * t305; + const double t914 = t911 * t913; + const double t915 = 0.69504740211613770831e-4 * t914; + const double t916 = t401 * t69; + const double t918 = t40 * t305; + const double t920 = t916 * t261 * t252 * t918; + const double t921 = 0.12357942809624928454e-3 * t920; + const double t922 = t73 * t288; + const double t923 = t401 * t922; + const double t924 = t923 * t407; + const double t925 = 0.16217772716043213194e-2 * t924; + const double t926 = t6 * t706; + const double t928 = t905 * t926 * t303; + const double t929 = t403 * t928; + const double t930 = 0.69504740211613770831e-3 * t929; + const double t933 = t720 * t135; + const double t934 = t144 * t411; + const double t935 = t934 * t316; + const double t938 = t934 * t127; + const double t941 = t330 * t411; + const double t942 = t941 * t345; + const double t946 = piecewise_functor_3( t118, t252 / 0.3e1, 0.0 ); + const double t947 = t145 * t946; + const double t951 = t880 * t417 * t420; + const double t954 = t416 * t121; + const double t955 = t954 * t420; + const double t956 = t411 * t316; + const double t957 = t422 * t956; + const double t960 = t415 * rho; + const double t961 = t960 * t417; + const double t963 = 0.1e1 / t322 / t133; + const double t964 = t963 * t330; + const double t965 = t961 * t964; + const double t966 = t40 * t411; + const double t967 = t966 * t127; + const double t970 = t759 * t40; + const double t971 = t411 * t345; + const double t972 = t970 * t971; + const double t975 = t422 * t946; + const double t978 = 0.6e2 * t339 * t412 + 0.24e2 * t933 * t935 - 0.18e2 * t726 * t938 - 0.12e2 * t731 * t942 + 0.12e2 * t311 * t947 - 0.4e3 / 0.3e1 * t951 * t423 - 0.64e2 * t955 * t957 + 0.4e2 * t965 * t967 + 0.32e2 * t421 * t972 - 0.16e2 * t421 * t975; + const double t979 = piecewise_functor_3( t149, 0.0, t978 ); + const double t981 = t350 * t427; + const double t983 = t150 * t979; + const double t987 = t152 * t979; + const double t991 = t154 * t979; + const double t995 = t156 * t979; + const double t999 = t158 * t979; + const double t1005 = -0.64e0 * t979 - 0.8704e0 * t981 - 0.8704e0 * t983 - 0.9214113627294e1 * t429 * t350 - 0.4607056813647e1 * t987 + 0.367387230261e2 * t431 * t350 + 0.122462410087e2 * t991 - 0.3831420472412e2 * t433 * t350 - 0.957855118103e1 * t995 + 0.1550653405116e2 * t435 * t350 + 0.3101306810232e1 * t999 - 0.2177652951264e1 * t437 * t350 - 0.362942158544e0 * t160 * t979; + const double t1006 = t826 * t442; + const double t1007 = t169 * t367; + const double t1010 = piecewise_functor_3( t149, t978, 0.0 ); + const double t1014 = t836 * t442; + const double t1018 = piecewise_functor_3( t148, t1005, -0.21e1 * t1006 * t1007 - 0.105e1 * t366 * t1010 * t169 - 0.1575e1 * t1014 * t1007 ); + const double t1019 = t1018 * t200; + const double t1020 = t446 * t397; + const double t1021 = t371 * t454; + const double t1022 = t865 * t123; + const double t1023 = t378 * t1022; + const double t1025 = t114 * t392 * t198; + const double t1026 = t387 * t1025; + const double t1030 = t874 * t1029; + const double t1031 = 0.1e1 / t745; + const double t1032 = t40 * t1031; + const double t1033 = t450 * sigma; + const double t1037 = t130 * t252; + const double t1041 = t894 * t198; + const double t1042 = t1041 * t391; + const double t1046 = -0.15243824895787514157e-3 * t1023 * t1026 + 0.21684485328539747656e-4 * t1030 * t1032 * t1033 - 0.40650199722100037752e-3 * t448 * t1037 * t450 - 0.15243824895787514157e-3 * t448 * t449 * t1042 + t910 + t915 - t921 + t925 + t930; + const double t1047 = t171 * t1046; + const double t1053 = t144 * t457; + const double t1054 = t1053 * t316; + const double t1057 = t1053 * t127; + const double t1060 = t330 * t457; + const double t1061 = t1060 * t345; + const double t1065 = piecewise_functor_3( t118, -0.5e1 / 0.3e1 * t114, 0.0 ); + const double t1066 = t145 * t1065; + const double t1071 = t457 * t316; + const double t1072 = t422 * t1071; + const double t1075 = t40 * t457; + const double t1076 = t1075 * t127; + const double t1080 = t970 * t457 * t345; + const double t1083 = t422 * t1065; + const double t1086 = 0.6e2 * t339 * t458 + 0.24e2 * t933 * t1054 - 0.18e2 * t726 * t1057 - 0.12e2 * t731 * t1061 + 0.12e2 * t311 * t1066 - 0.4e3 / 0.3e1 * t951 * t461 - 0.64e2 * t955 * t1072 + 0.4e2 * t965 * t1076 + 0.32e2 * t421 * t1080 - 0.16e2 * t421 * t1083; + const double t1087 = piecewise_functor_3( t149, 0.0, t1086 ); + const double t1089 = t350 * t465; + const double t1091 = t150 * t1087; + const double t1095 = t152 * t1087; + const double t1099 = t154 * t1087; + const double t1103 = t156 * t1087; + const double t1107 = t158 * t1087; + const double t1113 = -0.64e0 * t1087 - 0.8704e0 * t1089 - 0.8704e0 * t1091 - 0.9214113627294e1 * t467 * t350 - 0.4607056813647e1 * t1095 + 0.367387230261e2 * t469 * t350 + 0.122462410087e2 * t1099 - 0.3831420472412e2 * t471 * t350 - 0.957855118103e1 * t1103 + 0.1550653405116e2 * t473 * t350 + 0.3101306810232e1 * t1107 - 0.2177652951264e1 * t475 * t350 - 0.362942158544e0 * t160 * t1087; + const double t1114 = t826 * t480; + const double t1117 = piecewise_functor_3( t149, t1086, 0.0 ); + const double t1121 = t836 * t480; + const double t1125 = piecewise_functor_3( t148, t1113, -0.21e1 * t1114 * t1007 - 0.105e1 * t366 * t1117 * t169 - 0.1575e1 * t1121 * t1007 ); + const double t1126 = rho * t1125; + const double t1129 = 0.1e1 / t65; + const double t1130 = t1129 * t578; + const double t1131 = t69 * t69; + const double t1132 = t1130 * t1131; + const double t1133 = t261 * t584; + const double t1134 = t1133 * t130; + const double t1135 = t1132 * t1134; + const double t1139 = t305 * t74; + const double t1140 = t1139 * t82; + const double t1141 = t1138 * t1140; + const double t1143 = 0.71518739786987016352e-4 * t1135 * t1141; + const double t1144 = safe_math::sqrt( t98 ); + const double t1147 = t1129 / t1144 / t576; + const double t1148 = t1131 * t261; + const double t1153 = t7 * t706; + const double t1155 = t1151 * t1136 * t1153 * t74; + const double t1157 = 0.1430374795739740327e-4 * t1147 * t1148 * t584 * t1155; + const double t1158 = t411 * t411; + const double t1159 = t145 * t1158; + const double t1162 = t330 * t1158; + const double t1163 = t1162 * t40; + const double t1166 = piecewise_functor_3( t118, 0.0, 0.0 ); + const double t1167 = t145 * t1166; + const double t1169 = 0.12e2 * t311 * t1167; + const double t1170 = t415 * t136; + const double t1171 = t22 * t1170; + const double t1172 = t417 * t119; + const double t1173 = t1171 * t1172; + const double t1175 = 0.1e1 / t322 / t134; + const double t1176 = t1173 * t1175; + const double t1177 = t759 * t130; + const double t1178 = t1177 * t1158; + const double t1181 = t422 * t1166; + const double t1183 = 0.16e2 * t421 * t1181; + const double t1184 = 0.24e2 * t720 * t1159 - 0.112e3 * t955 * t1163 + 0.128e3 * t1176 * t1178 + t1169 - t1183; + const double t1185 = piecewise_functor_3( t149, 0.0, t1184 ); + const double t1187 = t427 * t427; + const double t1189 = t150 * t1185; + const double t1191 = t150 * t1187; + const double t1193 = t152 * t1185; + const double t1195 = t152 * t1187; + const double t1197 = t154 * t1185; + const double t1199 = t154 * t1187; + const double t1201 = t156 * t1185; + const double t1203 = t156 * t1187; + const double t1205 = t158 * t1185; + const double t1211 = -0.64e0 * t1185 - 0.8704e0 * t1187 - 0.8704e0 * t1189 - 0.9214113627294e1 * t1191 - 0.4607056813647e1 * t1193 + 0.367387230261e2 * t1195 + 0.122462410087e2 * t1197 - 0.3831420472412e2 * t1199 - 0.957855118103e1 * t1201 + 0.1550653405116e2 * t1203 + 0.3101306810232e1 * t1205 - 0.2177652951264e1 * t158 * t1187 - 0.362942158544e0 * t160 * t1185; + const double t1212 = t442 * t442; + const double t1216 = piecewise_functor_3( t149, t1184, 0.0 ); + const double t1220 = t836 * t1212; + const double t1224 = piecewise_functor_3( t148, t1211, -0.21e1 * t826 * t1212 * t169 - 0.105e1 * t366 * t1216 * t169 - 0.1575e1 * t1220 * t169 ); + const double t1225 = t1224 * t200; + const double t1227 = 0.2e1 * t446 * t454; + const double t1228 = t8 * t109; + const double t1229 = 0.1e1 / t1228; + const double t1230 = t40 * t1229; + const double t1234 = t179 * t179; + const double t1235 = safe_math::sqrt( t186 ); + const double t1237 = 0.1e1 / t1235 / t871; + const double t1239 = t1234 * t1237 * t1029; + const double t1243 = -0.81316819982024053709e-5 * t1030 * t1230 * t450 - 0.16263363996404810741e-5 * t1239 * t1230 * t1041 + t1143 + t1157; + const double t1244 = t171 * t1243; + const double t1246 = t1053 * t411; + const double t1249 = t1060 * t966; + const double t1252 = t457 * t411; + const double t1253 = t1177 * t1252; + const double t1256 = 0.128e3 * t1176 * t1253 + 0.24e2 * t933 * t1246 - 0.112e3 * t955 * t1249 + t1169 - t1183; + const double t1257 = piecewise_functor_3( t149, 0.0, t1256 ); + const double t1259 = t427 * t465; + const double t1261 = t150 * t1257; + const double t1265 = t152 * t1257; + const double t1269 = t154 * t1257; + const double t1273 = t156 * t1257; + const double t1277 = t158 * t1257; + const double t1283 = -0.64e0 * t1257 - 0.8704e0 * t1259 - 0.8704e0 * t1261 - 0.9214113627294e1 * t467 * t427 - 0.4607056813647e1 * t1265 + 0.367387230261e2 * t469 * t427 + 0.122462410087e2 * t1269 - 0.3831420472412e2 * t471 * t427 - 0.957855118103e1 * t1273 + 0.1550653405116e2 * t473 * t427 + 0.3101306810232e1 * t1277 - 0.2177652951264e1 * t475 * t427 - 0.362942158544e0 * t160 * t1257; + const double t1284 = t169 * t442; + const double t1287 = piecewise_functor_3( t149, t1256, 0.0 ); + const double t1294 = piecewise_functor_3( t148, t1283, -0.21e1 * t1114 * t1284 - 0.105e1 * t366 * t1287 * t169 - 0.1575e1 * t1121 * t1284 ); + const double t1295 = rho * t1294; + const double t1298 = t457 * t457; + const double t1299 = t145 * t1298; + const double t1302 = t330 * t1298; + const double t1303 = t1302 * t40; + const double t1306 = t1177 * t1298; + const double t1309 = 0.128e3 * t1176 * t1306 + 0.24e2 * t720 * t1299 - 0.112e3 * t955 * t1303 + t1169 - t1183; + const double t1310 = piecewise_functor_3( t149, 0.0, t1309 ); + const double t1312 = t465 * t465; + const double t1314 = t150 * t1310; + const double t1316 = t150 * t1312; + const double t1318 = t152 * t1310; + const double t1320 = t152 * t1312; + const double t1322 = t154 * t1310; + const double t1324 = t154 * t1312; + const double t1326 = t156 * t1310; + const double t1328 = t156 * t1312; + const double t1330 = t158 * t1310; + const double t1336 = -0.64e0 * t1310 - 0.8704e0 * t1312 - 0.8704e0 * t1314 - 0.9214113627294e1 * t1316 - 0.4607056813647e1 * t1318 + 0.367387230261e2 * t1320 + 0.122462410087e2 * t1322 - 0.3831420472412e2 * t1324 - 0.957855118103e1 * t1326 + 0.1550653405116e2 * t1328 + 0.3101306810232e1 * t1330 - 0.2177652951264e1 * t158 * t1312 - 0.362942158544e0 * t160 * t1310; + const double t1337 = t480 * t480; + const double t1341 = piecewise_functor_3( t149, t1309, 0.0 ); + const double t1345 = t836 * t1337; + const double t1349 = piecewise_functor_3( t148, t1336, -0.21e1 * t826 * t1337 * t169 - 0.105e1 * t366 * t1341 * t169 - 0.1575e1 * t1345 * t169 ); + const double t1350 = rho * t1349; + + + vrho = -t33 + t58 + t107 + t201 + rho * ( t207 + t230 - t235 - t248 + t307 + t372 + t398 ); + vsigma = rho * ( t409 + t447 + t455 ); + vlapl = 0.e0; + vtau = t485 * t200; + v2rho2 = 0.22146941966666666666e-2 * t206 + 0.2e1 * t229 - 0.36622894612013090108e-3 * t234 - 0.11696447245269292414e1 * t247 + 0.2e1 * t307 + 0.2e1 * t372 + 0.2e1 * t398 + rho * t901; + v2rhosigma = t409 + t447 + t455 + rho * ( -t910 - t915 + t921 - t925 - t930 + t1019 + t1020 + t1021 + t1047 ); + v2rholapl = 0.e0; + v2rhotau = t1126 * t200 + t484 * t200 + t485 * t397; + v2sigma2 = rho * ( -t1143 - t1157 + t1225 + t1227 + t1244 ); + v2sigmalapl = 0.e0; + v2sigmatau = t1295 * t200 + t485 * t454; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t1350 * t200; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t179 = constants::m_cbrt_6; + constexpr double t181 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t132 = 0.1e1 / t4; + constexpr double t133 = t20 * t132; + constexpr double t134 = t133 * t6; + constexpr double t180 = t179 * t179; + constexpr double t182 = t181 * t181; + constexpr double t183 = t180 * t182; + constexpr double t187 = t57 * t57; + constexpr double t241 = 0.1e1 / t182; + constexpr double t242 = t179 * t241; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t12 = t5 * t7 / t9; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t18 = pow_3_2( t12 ); + const double t23 = t9 * t9; + const double t24 = 0.1e1 / t23; + const double t26 = t22 * t6 * t24; + const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 + 0.25e-1 * t12; + const double t110 = 0.1e1 + 0.4445e-1 * t12; + const double t111 = 0.1e1 / t110; + const double t112 = t108 * t111; + const double t113 = 0.1e1 / t94; + const double t115 = ( -t34 + t90 + t92 ) * t113; + const double t116 = 0.1e1 / t106; + const double t117 = t95 * t116; + const double t119 = safe_math::exp( -t115 * t117 ); + const double t120 = t119 - 0.1e1; + const double t121 = 0.1e1 / t120; + const double t122 = t113 * t121; + const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t125 = t122 * t124; + const double t126 = t112 * t125; + const double t127 = t9 * t38; + const double t128 = 0.1e1 / t127; + const double t129 = t128 * t57; + const double t130 = 0.1e1 / t105; + const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; + const double t139 = pow_1_4( t138 ); + const double t141 = 0.1e1 - 0.1e1 / t139; + const double t144 = 0.1e1 + 0.1e1 * t141 * t120; + const double t145 = safe_math::log( t144 ); + const double t147 = t97 * t106 * t145; + const double t148 = t39 * t8; + const double t149 = safe_math::cbrt( rho_a ); + const double t150 = t149 * t149; + const double t152 = 0.1e1 / t150 / rho_a; + const double t153 = tau_a * t152; + const double t154 = t44 / 0.2e1; + const double t155 = safe_math::cbrt( t154 ); + const double t156 = t155 * t155; + const double t157 = t156 * t154; + const double t159 = safe_math::cbrt( rho_b ); + const double t160 = t159 * t159; + const double t162 = 0.1e1 / t160 / rho_b; + const double t163 = tau_b * t162; + const double t164 = t51 / 0.2e1; + const double t165 = safe_math::cbrt( t164 ); + const double t166 = t165 * t165; + const double t167 = t166 * t164; + const double t169 = t23 * t38; + const double t170 = 0.1e1 / t169; + const double t173 = t153 * t157 + t163 * t167 - t124 * t170 / 0.8e1; + const double t174 = 0.e0 < t173; + const double t175 = piecewise_functor_3( t174, t173, 0.0 ); + const double t176 = t175 * t175; + const double t177 = t176 * t175; + const double t178 = t148 * t177; + const double t184 = t23 * t8; + const double t189 = 0.3e1 / 0.1e2 * t183 * t184 + 0.1e-3 * t187; + const double t190 = t189 * t189; + const double t191 = t190 * t189; + const double t192 = 0.1e1 / t191; + const double t193 = t157 + t167; + const double t194 = t193 * t193; + const double t195 = t194 * t193; + const double t196 = 0.1e1 / t195; + const double t197 = t192 * t196; + const double t198 = t38 * t8; + const double t199 = t9 * t198; + const double t200 = t199 * t176; + const double t201 = 0.1e1 / t190; + const double t202 = 0.1e1 / t194; + const double t203 = t201 * t202; + const double t205 = t200 * t203 + 0.1e-2; + const double t206 = 0.1e1 / t205; + const double t207 = t197 * t206; + const double t208 = t178 * t207; + const double t209 = t208 <= 0.25e1; + const double t210 = 0.25e1 < t208; + const double t211 = piecewise_functor_3( t210, 2.5, t208 ); + const double t213 = t211 * t211; + const double t215 = t213 * t211; + const double t217 = t213 * t213; + const double t219 = t217 * t211; + const double t221 = t217 * t213; + const double t226 = piecewise_functor_3( t210, t208, 2.5 ); + const double t227 = 0.1e1 - t226; + const double t230 = safe_math::exp( 0.15e1 / t227 ); + const double t232 = piecewise_functor_3( t209, 0.1e1 - 0.64e0 * t211 - 0.4352e0 * t213 - 0.1535685604549e1 * t215 + 0.3061560252175e1 * t217 - 0.1915710236206e1 * t219 + 0.516884468372e0 * t221 - 0.51848879792e-1 * t217 * t215, -0.7e0 * t230 ); + const double t235 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; + const double t236 = 0.1e1 / t235; + const double t239 = safe_math::exp( 0.1e1 * t236 ); + const double t240 = t239 - 0.1e1; + const double t243 = t187 * t124; + const double t247 = 0.1e1 + 0.21337642104376358333e-1 * t242 * t243 * t170; + const double t248 = pow_1_4( t247 ); + const double t250 = 0.1e1 - 0.1e1 / t248; + const double t252 = t240 * t250 + 0.1e1; + const double t253 = safe_math::log( t252 ); + const double t255 = -0.285764e-1 * t236 + 0.285764e-1 * t253; + const double t259 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t260 = t255 * t259; + const double t261 = t37 * t37; + const double t262 = t261 * t37; + const double t263 = t39 * t39; + const double t264 = t263 * t39; + const double t265 = 0.1e1 / t264; + const double t267 = -t262 * t265 + 0.1e1; + const double t269 = t260 * t267 - t147 + t34 - t90 - t92; + const double t270 = t232 * t269; + + + eps = -t34 + t90 + t92 + t147 + t270; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t179 = constants::m_cbrt_6; + constexpr double t181 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t132 = 0.1e1 / t4; + constexpr double t133 = t20 * t132; + constexpr double t134 = t133 * t6; + constexpr double t180 = t179 * t179; + constexpr double t182 = t181 * t181; + constexpr double t183 = t180 * t182; + constexpr double t187 = t57 * t57; + constexpr double t241 = 0.1e1 / t182; + constexpr double t242 = t179 * t241; + constexpr double t282 = t4 * t7; + constexpr double t408 = t132 * t6; + constexpr double t553 = t241 * t187; + constexpr double t700 = t57 * t20; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t12 = t5 * t7 / t9; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t18 = pow_3_2( t12 ); + const double t23 = t9 * t9; + const double t24 = 0.1e1 / t23; + const double t26 = t22 * t6 * t24; + const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 + 0.25e-1 * t12; + const double t110 = 0.1e1 + 0.4445e-1 * t12; + const double t111 = 0.1e1 / t110; + const double t112 = t108 * t111; + const double t113 = 0.1e1 / t94; + const double t115 = ( -t34 + t90 + t92 ) * t113; + const double t116 = 0.1e1 / t106; + const double t117 = t95 * t116; + const double t119 = safe_math::exp( -t115 * t117 ); + const double t120 = t119 - 0.1e1; + const double t121 = 0.1e1 / t120; + const double t122 = t113 * t121; + const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t125 = t122 * t124; + const double t126 = t112 * t125; + const double t127 = t9 * t38; + const double t128 = 0.1e1 / t127; + const double t129 = t128 * t57; + const double t130 = 0.1e1 / t105; + const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; + const double t139 = pow_1_4( t138 ); + const double t141 = 0.1e1 - 0.1e1 / t139; + const double t144 = 0.1e1 + 0.1e1 * t141 * t120; + const double t145 = safe_math::log( t144 ); + const double t147 = t97 * t106 * t145; + const double t148 = t39 * t8; + const double t149 = safe_math::cbrt( rho_a ); + const double t150 = t149 * t149; + const double t152 = 0.1e1 / t150 / rho_a; + const double t153 = tau_a * t152; + const double t154 = t44 / 0.2e1; + const double t155 = safe_math::cbrt( t154 ); + const double t156 = t155 * t155; + const double t157 = t156 * t154; + const double t159 = safe_math::cbrt( rho_b ); + const double t160 = t159 * t159; + const double t162 = 0.1e1 / t160 / rho_b; + const double t163 = tau_b * t162; + const double t164 = t51 / 0.2e1; + const double t165 = safe_math::cbrt( t164 ); + const double t166 = t165 * t165; + const double t167 = t166 * t164; + const double t169 = t23 * t38; + const double t170 = 0.1e1 / t169; + const double t173 = t153 * t157 + t163 * t167 - t124 * t170 / 0.8e1; + const double t174 = 0.e0 < t173; + const double t175 = piecewise_functor_3( t174, t173, 0.0 ); + const double t176 = t175 * t175; + const double t177 = t176 * t175; + const double t178 = t148 * t177; + const double t184 = t23 * t8; + const double t189 = 0.3e1 / 0.1e2 * t183 * t184 + 0.1e-3 * t187; + const double t190 = t189 * t189; + const double t191 = t190 * t189; + const double t192 = 0.1e1 / t191; + const double t193 = t157 + t167; + const double t194 = t193 * t193; + const double t195 = t194 * t193; + const double t196 = 0.1e1 / t195; + const double t197 = t192 * t196; + const double t198 = t38 * t8; + const double t199 = t9 * t198; + const double t200 = t199 * t176; + const double t201 = 0.1e1 / t190; + const double t202 = 0.1e1 / t194; + const double t203 = t201 * t202; + const double t205 = t200 * t203 + 0.1e-2; + const double t206 = 0.1e1 / t205; + const double t207 = t197 * t206; + const double t208 = t178 * t207; + const double t209 = t208 <= 0.25e1; + const double t210 = 0.25e1 < t208; + const double t211 = piecewise_functor_3( t210, 2.5, t208 ); + const double t213 = t211 * t211; + const double t215 = t213 * t211; + const double t217 = t213 * t213; + const double t219 = t217 * t211; + const double t221 = t217 * t213; + const double t226 = piecewise_functor_3( t210, t208, 2.5 ); + const double t227 = 0.1e1 - t226; + const double t230 = safe_math::exp( 0.15e1 / t227 ); + const double t232 = piecewise_functor_3( t209, 0.1e1 - 0.64e0 * t211 - 0.4352e0 * t213 - 0.1535685604549e1 * t215 + 0.3061560252175e1 * t217 - 0.1915710236206e1 * t219 + 0.516884468372e0 * t221 - 0.51848879792e-1 * t217 * t215, -0.7e0 * t230 ); + const double t235 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; + const double t236 = 0.1e1 / t235; + const double t239 = safe_math::exp( 0.1e1 * t236 ); + const double t240 = t239 - 0.1e1; + const double t243 = t187 * t124; + const double t247 = 0.1e1 + 0.21337642104376358333e-1 * t242 * t243 * t170; + const double t248 = pow_1_4( t247 ); + const double t250 = 0.1e1 - 0.1e1 / t248; + const double t252 = t240 * t250 + 0.1e1; + const double t253 = safe_math::log( t252 ); + const double t255 = -0.285764e-1 * t236 + 0.285764e-1 * t253; + const double t259 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t260 = t255 * t259; + const double t261 = t37 * t37; + const double t262 = t261 * t37; + const double t263 = t39 * t39; + const double t264 = t263 * t39; + const double t265 = 0.1e1 / t264; + const double t267 = -t262 * t265 + 0.1e1; + const double t269 = t260 * t267 - t147 + t34 - t90 - t92; + const double t270 = t232 * t269; + const double t271 = t9 * t8; + const double t272 = 0.1e1 / t271; + const double t273 = t7 * t272; + const double t275 = t5 * t273 * t32; + const double t276 = 0.11073470983333333333e-2 * t275; + const double t277 = t28 * t28; + const double t278 = 0.1e1 / t277; + const double t279 = t14 * t278; + const double t281 = 0.1e1 / t15 * t2; + const double t283 = t282 * t272; + const double t284 = t281 * t283; + const double t286 = t5 * t273; + const double t288 = safe_math::sqrt( t12 ); + const double t289 = t288 * t2; + const double t290 = t289 * t283; + const double t294 = t22 * t6 / t184; + const double t296 = -0.632975e0 * t284 - 0.29896666666666666667e0 * t286 - 0.1023875e0 * t290 - 0.82156666666666666667e-1 * t294; + const double t297 = 0.1e1 / t31; + const double t298 = t296 * t297; + const double t299 = t279 * t298; + const double t300 = 0.1e1 * t299; + const double t301 = t36 * t35; + const double t302 = t301 * t40; + const double t303 = t302 * t89; + const double t304 = 0.4e1 * t303; + const double t305 = 0.1e1 / t148; + const double t306 = t37 * t305; + const double t307 = t306 * t89; + const double t308 = 0.4e1 * t307; + const double t309 = 0.1e1 / t38; + const double t310 = t35 * t309; + const double t311 = t42 - t310; + const double t314 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t311 ); + const double t315 = -t311; + const double t318 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t315 ); + const double t319 = t314 + t318; + const double t320 = t319 * t60; + const double t321 = t320 * t88; + const double t322 = t41 * t321; + const double t326 = t68 * t68; + const double t327 = 0.1e1 / t326; + const double t328 = t63 * t327; + const double t333 = -0.1176575e1 * t284 - 0.516475e0 * t286 - 0.2103875e0 * t290 - 0.104195e0 * t294; + const double t334 = 0.1e1 / t71; + const double t335 = t333 * t334; + const double t341 = t81 * t81; + const double t342 = 0.1e1 / t341; + const double t343 = t76 * t342; + const double t348 = -0.86308333333333333334e0 * t284 - 0.301925e0 * t286 - 0.5501625e-1 * t290 - 0.82785e-1 * t294; + const double t349 = 0.1e1 / t84; + const double t350 = t348 * t349; + const double t353 = 0.53237641966666666666e-3 * t5 * t273 * t72 + 0.1e1 * t328 * t335 - t276 - t300 + 0.18311447306006545054e-3 * t5 * t273 * t85 + 0.5848223622634646207e0 * t343 * t350; + const double t354 = t61 * t353; + const double t355 = t41 * t354; + const double t356 = t320 * t86; + const double t357 = 0.19751673498613801407e-1 * t356; + const double t358 = t61 * t2; + const double t360 = t282 * t272 * t85; + const double t361 = t358 * t360; + const double t362 = 0.18311447306006545054e-3 * t361; + const double t363 = t61 * t76; + const double t365 = t342 * t348 * t349; + const double t366 = t363 * t365; + const double t367 = 0.5848223622634646207e0 * t366; + const double t368 = t105 * t145; + const double t369 = 0.1e1 / t48; + const double t372 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t369 * t311 ); + const double t373 = 0.1e1 / t53; + const double t376 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t373 * t315 ); + const double t378 = t372 / 0.2e1 + t376 / 0.2e1; + const double t380 = t97 * t368 * t378; + const double t381 = 0.3e1 * t380; + const double t383 = 0.1e1 / t139 / t138; + const double t384 = t23 * t198; + const double t385 = 0.1e1 / t384; + const double t386 = t385 * t111; + const double t388 = t121 * t124; + const double t389 = t57 * t130; + const double t390 = t388 * t389; + const double t392 = 0.27439371595564631661e-2 * t386 * t113 * t390; + const double t393 = t110 * t110; + const double t394 = 0.1e1 / t393; + const double t395 = t108 * t394; + const double t396 = t395 * t122; + const double t397 = t124 * t385; + const double t400 = 0.48787202696913915093e-2 * t396 * t397 * t389; + const double t401 = t112 * t113; + const double t402 = t120 * t120; + const double t403 = 0.1e1 / t402; + const double t404 = t403 * t124; + const double t406 = t401 * t404 * t128; + const double t407 = t389 * t20; + const double t410 = ( t276 + t300 + t304 - t308 + t322 + t355 + t357 - t362 - t367 ) * t113; + const double t412 = t105 * t105; + const double t413 = 0.1e1 / t412; + const double t414 = t95 * t413; + const double t415 = t414 * t378; + const double t418 = 0.3e1 * t115 * t415 - t410 * t117; + const double t419 = t418 * t119; + const double t421 = t407 * t408 * t419; + const double t424 = 0.1e1 / t199; + const double t425 = t424 * t57; + const double t429 = 0.64025200389650807209e-1 * t126 * t425 * t130 * t134; + const double t431 = t401 * t388 * t128; + const double t432 = t57 * t116; + const double t433 = t432 * t20; + const double t435 = t433 * t408 * t378; + const double t438 = -t392 + t400 - 0.27439371595564631661e-1 * t406 * t421 - t429 - 0.54878743191129263322e-1 * t431 * t435; + const double t439 = t383 * t438; + const double t445 = 0.25e0 * t439 * t120 + 0.1e1 * t141 * t418 * t119; + const double t447 = 0.1e1 / t144; + const double t449 = t97 * t106 * t445 * t447; + const double t450 = t39 * t177; + const double t452 = 0.5e1 * t450 * t207; + const double t453 = t148 * t176; + const double t454 = t453 * t192; + const double t455 = t196 * t206; + const double t456 = rho_a * rho_a; + const double t458 = 0.1e1 / t150 / t456; + const double t459 = tau_a * t458; + const double t462 = t311 / 0.2e1; + const double t463 = t156 * t462; + const double t466 = -t462; + const double t467 = t166 * t466; + const double t470 = t397 / 0.3e1; + const double t472 = piecewise_functor_3( t174, -0.5e1 / 0.3e1 * t459 * t157 + 0.5e1 / 0.3e1 * t153 * t463 + 0.5e1 / 0.3e1 * t163 * t467 + t470, 0.0 ); + const double t473 = t455 * t472; + const double t476 = t23 * t148; + const double t477 = t476 * t177; + const double t478 = t190 * t190; + const double t479 = 0.1e1 / t478; + const double t481 = t455 * t183; + const double t483 = 0.3e1 / 0.2e1 * t477 * t479 * t481; + const double t484 = t178 * t192; + const double t485 = t194 * t194; + const double t486 = 0.1e1 / t485; + const double t487 = t486 * t206; + const double t489 = 0.5e1 / 0.3e1 * t463 + 0.5e1 / 0.3e1 * t467; + const double t490 = t487 * t489; + const double t493 = t205 * t205; + const double t494 = 0.1e1 / t493; + const double t495 = t196 * t494; + const double t496 = t127 * t176; + const double t498 = 0.1e2 / 0.3e1 * t496 * t203; + const double t499 = t199 * t175; + const double t500 = t203 * t472; + const double t503 = t39 * t176; + const double t504 = t503 * t192; + const double t506 = t202 * t180 * t182; + const double t507 = t504 * t506; + const double t508 = t201 * t196; + const double t509 = t508 * t489; + const double t512 = -0.2e1 * t200 * t509 + 0.2e1 * t499 * t500 + t498 - t507; + const double t513 = t495 * t512; + const double t515 = 0.3e1 * t454 * t473 - 0.3e1 * t484 * t490 - t484 * t513 + t452 - t483; + const double t516 = piecewise_functor_3( t210, 0.0, t515 ); + const double t518 = t211 * t516; + const double t520 = t213 * t516; + const double t522 = t215 * t516; + const double t524 = t217 * t516; + const double t526 = t219 * t516; + const double t531 = t227 * t227; + const double t532 = 0.1e1 / t531; + const double t533 = piecewise_functor_3( t210, t515, 0.0 ); + const double t537 = piecewise_functor_3( t209, -0.64e0 * t516 - 0.8704e0 * t518 - 0.4607056813647e1 * t520 + 0.122462410087e2 * t522 - 0.957855118103e1 * t524 + 0.3101306810232e1 * t526 - 0.362942158544e0 * t221 * t516, -0.105e1 * t532 * t533 * t230 ); + const double t538 = t537 * t269; + const double t539 = t235 * t235; + const double t540 = 0.1e1 / t539; + const double t543 = -0.74083333333333333333e-2 * t284 - 0.1046175e-1 * t286; + const double t544 = t540 * t543; + const double t546 = t239 * t250; + const double t550 = 0.1e1 / t248 / t247; + const double t551 = t240 * t550; + const double t552 = t551 * t179; + const double t557 = -0.1e1 * t544 * t546 - 0.14225094736250905555e-1 * t552 * t553 * t397; + const double t558 = 0.1e1 / t252; + const double t561 = 0.285764e-1 * t544 + 0.285764e-1 * t557 * t558; + const double t562 = t561 * t259; + const double t563 = t562 * t267; + const double t564 = t255 * t58; + const double t565 = t320 * t267; + const double t568 = t261 * t301; + const double t569 = t568 * t265; + const double t570 = t263 * t148; + const double t571 = 0.1e1 / t570; + const double t572 = t262 * t571; + const double t574 = -0.12e2 * t569 + 0.12e2 * t572; + const double t576 = t563 - 0.2363e1 * t564 * t565 + t260 * t574 - t276 - t300 - t304 + t308 - t322 - t355 - t357 + t362 + t367 - t381 - t449; + const double t577 = t232 * t576; + const double t578 = t276 + t300 + t304 - t308 + t322 + t355 + t357 - t362 - t367 + t381 + t449 + t538 + t577; + const double t580 = -t42 - t310; + const double t583 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t580 ); + const double t584 = -t580; + const double t587 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t584 ); + const double t588 = t583 + t587; + const double t589 = t588 * t60; + const double t590 = t589 * t88; + const double t591 = t41 * t590; + const double t592 = t589 * t86; + const double t593 = 0.19751673498613801407e-1 * t592; + const double t596 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t369 * t580 ); + const double t599 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t373 * t584 ); + const double t601 = t596 / 0.2e1 + t599 / 0.2e1; + const double t603 = t97 * t368 * t601; + const double t604 = 0.3e1 * t603; + const double t606 = ( t276 + t300 - t304 - t308 + t591 + t355 + t593 - t362 - t367 ) * t113; + const double t608 = t414 * t601; + const double t611 = 0.3e1 * t115 * t608 - t606 * t117; + const double t612 = t611 * t119; + const double t614 = t407 * t408 * t612; + const double t618 = t433 * t408 * t601; + const double t621 = -t392 + t400 - 0.27439371595564631661e-1 * t406 * t614 - t429 - 0.54878743191129263322e-1 * t431 * t618; + const double t622 = t383 * t621; + const double t625 = t141 * t611; + const double t628 = 0.25e0 * t622 * t120 + 0.1e1 * t625 * t119; + const double t631 = t97 * t106 * t628 * t447; + const double t632 = t580 / 0.2e1; + const double t633 = t156 * t632; + const double t636 = rho_b * rho_b; + const double t638 = 0.1e1 / t160 / t636; + const double t639 = tau_b * t638; + const double t642 = -t632; + const double t643 = t166 * t642; + const double t647 = piecewise_functor_3( t174, 0.5e1 / 0.3e1 * t153 * t633 - 0.5e1 / 0.3e1 * t639 * t167 + 0.5e1 / 0.3e1 * t163 * t643 + t470, 0.0 ); + const double t648 = t455 * t647; + const double t652 = 0.5e1 / 0.3e1 * t633 + 0.5e1 / 0.3e1 * t643; + const double t653 = t487 * t652; + const double t656 = t203 * t647; + const double t659 = t508 * t652; + const double t662 = -0.2e1 * t200 * t659 + 0.2e1 * t499 * t656 + t498 - t507; + const double t663 = t495 * t662; + const double t665 = 0.3e1 * t454 * t648 - 0.3e1 * t484 * t653 - t484 * t663 + t452 - t483; + const double t666 = piecewise_functor_3( t210, 0.0, t665 ); + const double t668 = t211 * t666; + const double t670 = t213 * t666; + const double t672 = t215 * t666; + const double t674 = t217 * t666; + const double t676 = t219 * t666; + const double t681 = piecewise_functor_3( t210, t665, 0.0 ); + const double t685 = piecewise_functor_3( t209, -0.64e0 * t666 - 0.8704e0 * t668 - 0.4607056813647e1 * t670 + 0.122462410087e2 * t672 - 0.957855118103e1 * t674 + 0.3101306810232e1 * t676 - 0.362942158544e0 * t221 * t666, -0.105e1 * t532 * t681 * t230 ); + const double t686 = t685 * t269; + const double t687 = t589 * t267; + const double t691 = 0.12e2 * t569 + 0.12e2 * t572; + const double t693 = t563 - 0.2363e1 * t564 * t687 + t260 * t691 - t276 - t300 + t304 + t308 - t591 - t355 - t593 + t362 + t367 - t604 - t631; + const double t694 = t232 * t693; + const double t695 = t276 + t300 - t304 - t308 + t591 + t355 + t593 - t362 - t367 + t604 + t631 + t686 + t694; + const double t697 = t104 * t383; + const double t698 = t112 * t128; + const double t699 = t697 * t698; + const double t701 = t408 * t447; + const double t702 = t700 * t701; + const double t703 = t699 * t702; + const double t704 = 0.69504740211613770831e-3 * t703; + const double t706 = piecewise_functor_3( t174, -t170 / 0.8e1, 0.0 ); + const double t707 = t455 * t706; + const double t710 = t9 * t263; + const double t711 = t176 * t176; + const double t712 = t710 * t711; + const double t714 = 0.1e1 / t478 / t189; + const double t715 = t712 * t714; + const double t717 = 0.1e1 / t485 / t193; + const double t718 = t717 * t494; + const double t719 = t718 * t706; + const double t722 = 0.3e1 * t454 * t707 - 0.2e1 * t715 * t719; + const double t723 = piecewise_functor_3( t210, 0.0, t722 ); + const double t725 = t211 * t723; + const double t727 = t213 * t723; + const double t729 = t215 * t723; + const double t731 = t217 * t723; + const double t733 = t219 * t723; + const double t738 = piecewise_functor_3( t210, t722, 0.0 ); + const double t742 = piecewise_functor_3( t209, -0.64e0 * t723 - 0.8704e0 * t725 - 0.4607056813647e1 * t727 + 0.122462410087e2 * t729 - 0.957855118103e1 * t731 + 0.3101306810232e1 * t733 - 0.362942158544e0 * t221 * t723, -0.105e1 * t532 * t738 * t230 ); + const double t743 = t742 * t269; + const double t744 = t551 * t242; + const double t745 = t187 * t170; + const double t746 = t558 * t259; + const double t747 = t746 * t267; + const double t749 = t744 * t745 * t747; + const double t751 = 0.15243824895787514157e-3 * t749 - t704; + const double t752 = t232 * t751; + const double t754 = 0.13900948042322754166e-2 * t703; + const double t756 = piecewise_functor_3( t174, -t170 / 0.4e1, 0.0 ); + const double t757 = t455 * t756; + const double t760 = t718 * t756; + const double t763 = 0.3e1 * t454 * t757 - 0.2e1 * t715 * t760; + const double t764 = piecewise_functor_3( t210, 0.0, t763 ); + const double t766 = t211 * t764; + const double t768 = t213 * t764; + const double t770 = t215 * t764; + const double t772 = t217 * t764; + const double t774 = t219 * t764; + const double t779 = piecewise_functor_3( t210, t763, 0.0 ); + const double t783 = piecewise_functor_3( t209, -0.64e0 * t764 - 0.8704e0 * t766 - 0.4607056813647e1 * t768 + 0.122462410087e2 * t770 - 0.957855118103e1 * t772 + 0.3101306810232e1 * t774 - 0.362942158544e0 * t221 * t764, -0.105e1 * t532 * t779 * t230 ); + const double t784 = t783 * t269; + const double t786 = 0.30487649791575028312e-3 * t749 - t754; + const double t787 = t232 * t786; + const double t790 = piecewise_functor_3( t174, t152 * t157, 0.0 ); + const double t791 = t455 * t790; + const double t794 = t718 * t790; + const double t797 = 0.3e1 * t454 * t791 - 0.2e1 * t715 * t794; + const double t798 = piecewise_functor_3( t210, 0.0, t797 ); + const double t800 = t211 * t798; + const double t802 = t213 * t798; + const double t804 = t215 * t798; + const double t806 = t217 * t798; + const double t808 = t219 * t798; + const double t813 = piecewise_functor_3( t210, t797, 0.0 ); + const double t817 = piecewise_functor_3( t209, -0.64e0 * t798 - 0.8704e0 * t800 - 0.4607056813647e1 * t802 + 0.122462410087e2 * t804 - 0.957855118103e1 * t806 + 0.3101306810232e1 * t808 - 0.362942158544e0 * t221 * t798, -0.105e1 * t532 * t813 * t230 ); + const double t818 = t8 * t817; + const double t820 = piecewise_functor_3( t174, t162 * t167, 0.0 ); + const double t821 = t455 * t820; + const double t824 = t718 * t820; + const double t827 = 0.3e1 * t454 * t821 - 0.2e1 * t715 * t824; + const double t828 = piecewise_functor_3( t210, 0.0, t827 ); + const double t830 = t211 * t828; + const double t832 = t213 * t828; + const double t834 = t215 * t828; + const double t836 = t217 * t828; + const double t838 = t219 * t828; + const double t843 = piecewise_functor_3( t210, t827, 0.0 ); + const double t847 = piecewise_functor_3( t209, -0.64e0 * t828 - 0.8704e0 * t830 - 0.4607056813647e1 * t832 + 0.122462410087e2 * t834 - 0.957855118103e1 * t836 + 0.3101306810232e1 * t838 - 0.362942158544e0 * t221 * t828, -0.105e1 * t532 * t843 * t230 ); + const double t848 = t8 * t847; + + + eps = -t34 + t90 + t92 + t147 + t270; + vrho_a = t8 * t578 + t147 + t270 - t34 + t90 + t92; + vrho_b = t8 * t695 + t147 + t270 - t34 + t90 + t92; + vsigma_aa = t8 * ( t704 + t743 + t752 ); + vsigma_ab = t8 * ( t754 + t784 + t787 ); + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t818 * t269; + vtau_b = t848 * t269; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t179 = constants::m_cbrt_6; + constexpr double t181 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t132 = 0.1e1 / t4; + constexpr double t133 = t20 * t132; + constexpr double t134 = t133 * t6; + constexpr double t180 = t179 * t179; + constexpr double t182 = t181 * t181; + constexpr double t183 = t180 * t182; + constexpr double t187 = t57 * t57; + constexpr double t241 = 0.1e1 / t182; + constexpr double t242 = t179 * t241; + constexpr double t282 = t4 * t7; + constexpr double t408 = t132 * t6; + constexpr double t553 = t241 * t187; + constexpr double t700 = t57 * t20; + constexpr double t859 = t21 * t6; + constexpr double t894 = t5 * t7; + constexpr double t976 = t181 * t95; + constexpr double t977 = 0.1e1 / t976; + constexpr double t978 = t977 * t57; + constexpr double t1432 = t179 * t976; + constexpr double t2196 = t700 * t132; + constexpr double t2326 = t180 * t977; + constexpr double t2327 = t2326 * t57; + constexpr double t2340 = t242 * t187; + constexpr double t2944 = 0.1e1 / t21; + constexpr double t2946 = t2 * t2944 * t7; + constexpr double t2959 = t187 * t2; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t12 = t5 * t7 / t9; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t18 = pow_3_2( t12 ); + const double t23 = t9 * t9; + const double t24 = 0.1e1 / t23; + const double t26 = t22 * t6 * t24; + const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 + 0.25e-1 * t12; + const double t110 = 0.1e1 + 0.4445e-1 * t12; + const double t111 = 0.1e1 / t110; + const double t112 = t108 * t111; + const double t113 = 0.1e1 / t94; + const double t115 = ( -t34 + t90 + t92 ) * t113; + const double t116 = 0.1e1 / t106; + const double t117 = t95 * t116; + const double t119 = safe_math::exp( -t115 * t117 ); + const double t120 = t119 - 0.1e1; + const double t121 = 0.1e1 / t120; + const double t122 = t113 * t121; + const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t125 = t122 * t124; + const double t126 = t112 * t125; + const double t127 = t9 * t38; + const double t128 = 0.1e1 / t127; + const double t129 = t128 * t57; + const double t130 = 0.1e1 / t105; + const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; + const double t139 = pow_1_4( t138 ); + const double t141 = 0.1e1 - 0.1e1 / t139; + const double t144 = 0.1e1 + 0.1e1 * t141 * t120; + const double t145 = safe_math::log( t144 ); + const double t147 = t97 * t106 * t145; + const double t148 = t39 * t8; + const double t149 = safe_math::cbrt( rho_a ); + const double t150 = t149 * t149; + const double t152 = 0.1e1 / t150 / rho_a; + const double t153 = tau_a * t152; + const double t154 = t44 / 0.2e1; + const double t155 = safe_math::cbrt( t154 ); + const double t156 = t155 * t155; + const double t157 = t156 * t154; + const double t159 = safe_math::cbrt( rho_b ); + const double t160 = t159 * t159; + const double t162 = 0.1e1 / t160 / rho_b; + const double t163 = tau_b * t162; + const double t164 = t51 / 0.2e1; + const double t165 = safe_math::cbrt( t164 ); + const double t166 = t165 * t165; + const double t167 = t166 * t164; + const double t169 = t23 * t38; + const double t170 = 0.1e1 / t169; + const double t173 = t153 * t157 + t163 * t167 - t124 * t170 / 0.8e1; + const double t174 = 0.e0 < t173; + const double t175 = piecewise_functor_3( t174, t173, 0.0 ); + const double t176 = t175 * t175; + const double t177 = t176 * t175; + const double t178 = t148 * t177; + const double t184 = t23 * t8; + const double t189 = 0.3e1 / 0.1e2 * t183 * t184 + 0.1e-3 * t187; + const double t190 = t189 * t189; + const double t191 = t190 * t189; + const double t192 = 0.1e1 / t191; + const double t193 = t157 + t167; + const double t194 = t193 * t193; + const double t195 = t194 * t193; + const double t196 = 0.1e1 / t195; + const double t197 = t192 * t196; + const double t198 = t38 * t8; + const double t199 = t9 * t198; + const double t200 = t199 * t176; + const double t201 = 0.1e1 / t190; + const double t202 = 0.1e1 / t194; + const double t203 = t201 * t202; + const double t205 = t200 * t203 + 0.1e-2; + const double t206 = 0.1e1 / t205; + const double t207 = t197 * t206; + const double t208 = t178 * t207; + const double t209 = t208 <= 0.25e1; + const double t210 = 0.25e1 < t208; + const double t211 = piecewise_functor_3( t210, 2.5, t208 ); + const double t213 = t211 * t211; + const double t215 = t213 * t211; + const double t217 = t213 * t213; + const double t219 = t217 * t211; + const double t221 = t217 * t213; + const double t226 = piecewise_functor_3( t210, t208, 2.5 ); + const double t227 = 0.1e1 - t226; + const double t230 = safe_math::exp( 0.15e1 / t227 ); + const double t232 = piecewise_functor_3( t209, 0.1e1 - 0.64e0 * t211 - 0.4352e0 * t213 - 0.1535685604549e1 * t215 + 0.3061560252175e1 * t217 - 0.1915710236206e1 * t219 + 0.516884468372e0 * t221 - 0.51848879792e-1 * t217 * t215, -0.7e0 * t230 ); + const double t235 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; + const double t236 = 0.1e1 / t235; + const double t239 = safe_math::exp( 0.1e1 * t236 ); + const double t240 = t239 - 0.1e1; + const double t243 = t187 * t124; + const double t247 = 0.1e1 + 0.21337642104376358333e-1 * t242 * t243 * t170; + const double t248 = pow_1_4( t247 ); + const double t250 = 0.1e1 - 0.1e1 / t248; + const double t252 = t240 * t250 + 0.1e1; + const double t253 = safe_math::log( t252 ); + const double t255 = -0.285764e-1 * t236 + 0.285764e-1 * t253; + const double t259 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t260 = t255 * t259; + const double t261 = t37 * t37; + const double t262 = t261 * t37; + const double t263 = t39 * t39; + const double t264 = t263 * t39; + const double t265 = 0.1e1 / t264; + const double t267 = -t262 * t265 + 0.1e1; + const double t269 = t260 * t267 - t147 + t34 - t90 - t92; + const double t271 = t9 * t8; + const double t272 = 0.1e1 / t271; + const double t273 = t7 * t272; + const double t275 = t5 * t273 * t32; + const double t276 = 0.11073470983333333333e-2 * t275; + const double t277 = t28 * t28; + const double t278 = 0.1e1 / t277; + const double t279 = t14 * t278; + const double t281 = 0.1e1 / t15 * t2; + const double t283 = t282 * t272; + const double t284 = t281 * t283; + const double t286 = t5 * t273; + const double t288 = safe_math::sqrt( t12 ); + const double t289 = t288 * t2; + const double t290 = t289 * t283; + const double t294 = t22 * t6 / t184; + const double t296 = -0.632975e0 * t284 - 0.29896666666666666667e0 * t286 - 0.1023875e0 * t290 - 0.82156666666666666667e-1 * t294; + const double t297 = 0.1e1 / t31; + const double t298 = t296 * t297; + const double t299 = t279 * t298; + const double t300 = 0.1e1 * t299; + const double t301 = t36 * t35; + const double t302 = t301 * t40; + const double t303 = t302 * t89; + const double t304 = 0.4e1 * t303; + const double t305 = 0.1e1 / t148; + const double t306 = t37 * t305; + const double t307 = t306 * t89; + const double t308 = 0.4e1 * t307; + const double t309 = 0.1e1 / t38; + const double t310 = t35 * t309; + const double t311 = t42 - t310; + const double t314 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t311 ); + const double t315 = -t311; + const double t318 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t315 ); + const double t319 = t314 + t318; + const double t320 = t319 * t60; + const double t321 = t320 * t88; + const double t322 = t41 * t321; + const double t326 = t68 * t68; + const double t327 = 0.1e1 / t326; + const double t328 = t63 * t327; + const double t333 = -0.1176575e1 * t284 - 0.516475e0 * t286 - 0.2103875e0 * t290 - 0.104195e0 * t294; + const double t334 = 0.1e1 / t71; + const double t335 = t333 * t334; + const double t341 = t81 * t81; + const double t342 = 0.1e1 / t341; + const double t343 = t76 * t342; + const double t348 = -0.86308333333333333334e0 * t284 - 0.301925e0 * t286 - 0.5501625e-1 * t290 - 0.82785e-1 * t294; + const double t349 = 0.1e1 / t84; + const double t350 = t348 * t349; + const double t353 = 0.53237641966666666666e-3 * t5 * t273 * t72 + 0.1e1 * t328 * t335 - t276 - t300 + 0.18311447306006545054e-3 * t5 * t273 * t85 + 0.5848223622634646207e0 * t343 * t350; + const double t354 = t61 * t353; + const double t355 = t41 * t354; + const double t356 = t320 * t86; + const double t357 = 0.19751673498613801407e-1 * t356; + const double t358 = t61 * t2; + const double t360 = t282 * t272 * t85; + const double t361 = t358 * t360; + const double t362 = 0.18311447306006545054e-3 * t361; + const double t363 = t61 * t76; + const double t365 = t342 * t348 * t349; + const double t366 = t363 * t365; + const double t367 = 0.5848223622634646207e0 * t366; + const double t368 = t105 * t145; + const double t369 = 0.1e1 / t48; + const double t372 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t369 * t311 ); + const double t373 = 0.1e1 / t53; + const double t376 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t373 * t315 ); + const double t378 = t372 / 0.2e1 + t376 / 0.2e1; + const double t380 = t97 * t368 * t378; + const double t381 = 0.3e1 * t380; + const double t383 = 0.1e1 / t139 / t138; + const double t384 = t23 * t198; + const double t385 = 0.1e1 / t384; + const double t386 = t385 * t111; + const double t388 = t121 * t124; + const double t389 = t57 * t130; + const double t390 = t388 * t389; + const double t392 = 0.27439371595564631661e-2 * t386 * t113 * t390; + const double t393 = t110 * t110; + const double t394 = 0.1e1 / t393; + const double t395 = t108 * t394; + const double t396 = t395 * t122; + const double t397 = t124 * t385; + const double t400 = 0.48787202696913915093e-2 * t396 * t397 * t389; + const double t401 = t112 * t113; + const double t402 = t120 * t120; + const double t403 = 0.1e1 / t402; + const double t404 = t403 * t124; + const double t406 = t401 * t404 * t128; + const double t407 = t389 * t20; + const double t410 = ( t276 + t300 + t304 - t308 + t322 + t355 + t357 - t362 - t367 ) * t113; + const double t412 = t105 * t105; + const double t413 = 0.1e1 / t412; + const double t414 = t95 * t413; + const double t415 = t414 * t378; + const double t418 = 0.3e1 * t115 * t415 - t410 * t117; + const double t419 = t418 * t119; + const double t421 = t407 * t408 * t419; + const double t424 = 0.1e1 / t199; + const double t425 = t424 * t57; + const double t429 = 0.64025200389650807209e-1 * t126 * t425 * t130 * t134; + const double t431 = t401 * t388 * t128; + const double t432 = t57 * t116; + const double t433 = t432 * t20; + const double t435 = t433 * t408 * t378; + const double t438 = -t392 + t400 - 0.27439371595564631661e-1 * t406 * t421 - t429 - 0.54878743191129263322e-1 * t431 * t435; + const double t439 = t383 * t438; + const double t445 = 0.25e0 * t439 * t120 + 0.1e1 * t141 * t418 * t119; + const double t447 = 0.1e1 / t144; + const double t449 = t97 * t106 * t445 * t447; + const double t450 = t39 * t177; + const double t452 = 0.5e1 * t450 * t207; + const double t453 = t148 * t176; + const double t454 = t453 * t192; + const double t455 = t196 * t206; + const double t456 = rho_a * rho_a; + const double t458 = 0.1e1 / t150 / t456; + const double t459 = tau_a * t458; + const double t462 = t311 / 0.2e1; + const double t463 = t156 * t462; + const double t466 = -t462; + const double t467 = t166 * t466; + const double t470 = t397 / 0.3e1; + const double t472 = piecewise_functor_3( t174, -0.5e1 / 0.3e1 * t459 * t157 + 0.5e1 / 0.3e1 * t153 * t463 + 0.5e1 / 0.3e1 * t163 * t467 + t470, 0.0 ); + const double t473 = t455 * t472; + const double t476 = t23 * t148; + const double t477 = t476 * t177; + const double t478 = t190 * t190; + const double t479 = 0.1e1 / t478; + const double t481 = t455 * t183; + const double t483 = 0.3e1 / 0.2e1 * t477 * t479 * t481; + const double t484 = t178 * t192; + const double t485 = t194 * t194; + const double t486 = 0.1e1 / t485; + const double t487 = t486 * t206; + const double t489 = 0.5e1 / 0.3e1 * t463 + 0.5e1 / 0.3e1 * t467; + const double t490 = t487 * t489; + const double t493 = t205 * t205; + const double t494 = 0.1e1 / t493; + const double t495 = t196 * t494; + const double t496 = t127 * t176; + const double t498 = 0.1e2 / 0.3e1 * t496 * t203; + const double t499 = t199 * t175; + const double t500 = t203 * t472; + const double t503 = t39 * t176; + const double t504 = t503 * t192; + const double t506 = t202 * t180 * t182; + const double t507 = t504 * t506; + const double t508 = t201 * t196; + const double t509 = t508 * t489; + const double t512 = -0.2e1 * t200 * t509 + 0.2e1 * t499 * t500 + t498 - t507; + const double t513 = t495 * t512; + const double t515 = 0.3e1 * t454 * t473 - 0.3e1 * t484 * t490 - t484 * t513 + t452 - t483; + const double t516 = piecewise_functor_3( t210, 0.0, t515 ); + const double t518 = t211 * t516; + const double t520 = t213 * t516; + const double t522 = t215 * t516; + const double t524 = t217 * t516; + const double t526 = t219 * t516; + const double t531 = t227 * t227; + const double t532 = 0.1e1 / t531; + const double t533 = piecewise_functor_3( t210, t515, 0.0 ); + const double t537 = piecewise_functor_3( t209, -0.64e0 * t516 - 0.8704e0 * t518 - 0.4607056813647e1 * t520 + 0.122462410087e2 * t522 - 0.957855118103e1 * t524 + 0.3101306810232e1 * t526 - 0.362942158544e0 * t221 * t516, -0.105e1 * t532 * t533 * t230 ); + const double t538 = t537 * t269; + const double t539 = t235 * t235; + const double t540 = 0.1e1 / t539; + const double t543 = -0.74083333333333333333e-2 * t284 - 0.1046175e-1 * t286; + const double t544 = t540 * t543; + const double t546 = t239 * t250; + const double t550 = 0.1e1 / t248 / t247; + const double t551 = t240 * t550; + const double t552 = t551 * t179; + const double t557 = -0.1e1 * t544 * t546 - 0.14225094736250905555e-1 * t552 * t553 * t397; + const double t558 = 0.1e1 / t252; + const double t561 = 0.285764e-1 * t544 + 0.285764e-1 * t557 * t558; + const double t562 = t561 * t259; + const double t563 = t562 * t267; + const double t564 = t255 * t58; + const double t565 = t320 * t267; + const double t568 = t261 * t301; + const double t569 = t568 * t265; + const double t570 = t263 * t148; + const double t571 = 0.1e1 / t570; + const double t572 = t262 * t571; + const double t574 = -0.12e2 * t569 + 0.12e2 * t572; + const double t576 = t563 - 0.2363e1 * t564 * t565 + t260 * t574 - t276 - t300 - t304 + t308 - t322 - t355 - t357 + t362 + t367 - t381 - t449; + const double t577 = t232 * t576; + const double t580 = -t42 - t310; + const double t583 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t580 ); + const double t584 = -t580; + const double t587 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t584 ); + const double t588 = t583 + t587; + const double t589 = t588 * t60; + const double t590 = t589 * t88; + const double t591 = t41 * t590; + const double t592 = t589 * t86; + const double t593 = 0.19751673498613801407e-1 * t592; + const double t596 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t369 * t580 ); + const double t599 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t373 * t584 ); + const double t601 = t596 / 0.2e1 + t599 / 0.2e1; + const double t603 = t97 * t368 * t601; + const double t604 = 0.3e1 * t603; + const double t606 = ( t276 + t300 - t304 - t308 + t591 + t355 + t593 - t362 - t367 ) * t113; + const double t608 = t414 * t601; + const double t611 = 0.3e1 * t115 * t608 - t606 * t117; + const double t612 = t611 * t119; + const double t614 = t407 * t408 * t612; + const double t618 = t433 * t408 * t601; + const double t621 = -t392 + t400 - 0.27439371595564631661e-1 * t406 * t614 - t429 - 0.54878743191129263322e-1 * t431 * t618; + const double t622 = t383 * t621; + const double t625 = t141 * t611; + const double t628 = 0.25e0 * t622 * t120 + 0.1e1 * t625 * t119; + const double t631 = t97 * t106 * t628 * t447; + const double t632 = t580 / 0.2e1; + const double t633 = t156 * t632; + const double t636 = rho_b * rho_b; + const double t638 = 0.1e1 / t160 / t636; + const double t639 = tau_b * t638; + const double t642 = -t632; + const double t643 = t166 * t642; + const double t647 = piecewise_functor_3( t174, 0.5e1 / 0.3e1 * t153 * t633 - 0.5e1 / 0.3e1 * t639 * t167 + 0.5e1 / 0.3e1 * t163 * t643 + t470, 0.0 ); + const double t648 = t455 * t647; + const double t652 = 0.5e1 / 0.3e1 * t633 + 0.5e1 / 0.3e1 * t643; + const double t653 = t487 * t652; + const double t656 = t203 * t647; + const double t659 = t508 * t652; + const double t662 = -0.2e1 * t200 * t659 + 0.2e1 * t499 * t656 + t498 - t507; + const double t663 = t495 * t662; + const double t665 = 0.3e1 * t454 * t648 - 0.3e1 * t484 * t653 - t484 * t663 + t452 - t483; + const double t666 = piecewise_functor_3( t210, 0.0, t665 ); + const double t668 = t211 * t666; + const double t670 = t213 * t666; + const double t672 = t215 * t666; + const double t674 = t217 * t666; + const double t676 = t219 * t666; + const double t681 = piecewise_functor_3( t210, t665, 0.0 ); + const double t685 = piecewise_functor_3( t209, -0.64e0 * t666 - 0.8704e0 * t668 - 0.4607056813647e1 * t670 + 0.122462410087e2 * t672 - 0.957855118103e1 * t674 + 0.3101306810232e1 * t676 - 0.362942158544e0 * t221 * t666, -0.105e1 * t532 * t681 * t230 ); + const double t686 = t685 * t269; + const double t687 = t589 * t267; + const double t691 = 0.12e2 * t569 + 0.12e2 * t572; + const double t693 = t563 - 0.2363e1 * t564 * t687 + t260 * t691 - t276 - t300 + t304 + t308 - t591 - t355 - t593 + t362 + t367 - t604 - t631; + const double t694 = t232 * t693; + const double t697 = t104 * t383; + const double t698 = t112 * t128; + const double t699 = t697 * t698; + const double t701 = t408 * t447; + const double t702 = t700 * t701; + const double t703 = t699 * t702; + const double t704 = 0.69504740211613770831e-3 * t703; + const double t706 = piecewise_functor_3( t174, -t170 / 0.8e1, 0.0 ); + const double t707 = t455 * t706; + const double t710 = t9 * t263; + const double t711 = t176 * t176; + const double t712 = t710 * t711; + const double t714 = 0.1e1 / t478 / t189; + const double t715 = t712 * t714; + const double t717 = 0.1e1 / t485 / t193; + const double t718 = t717 * t494; + const double t719 = t718 * t706; + const double t722 = 0.3e1 * t454 * t707 - 0.2e1 * t715 * t719; + const double t723 = piecewise_functor_3( t210, 0.0, t722 ); + const double t725 = t211 * t723; + const double t727 = t213 * t723; + const double t729 = t215 * t723; + const double t731 = t217 * t723; + const double t733 = t219 * t723; + const double t738 = piecewise_functor_3( t210, t722, 0.0 ); + const double t742 = piecewise_functor_3( t209, -0.64e0 * t723 - 0.8704e0 * t725 - 0.4607056813647e1 * t727 + 0.122462410087e2 * t729 - 0.957855118103e1 * t731 + 0.3101306810232e1 * t733 - 0.362942158544e0 * t221 * t723, -0.105e1 * t532 * t738 * t230 ); + const double t743 = t742 * t269; + const double t744 = t551 * t242; + const double t745 = t187 * t170; + const double t746 = t558 * t259; + const double t747 = t746 * t267; + const double t749 = t744 * t745 * t747; + const double t751 = 0.15243824895787514157e-3 * t749 - t704; + const double t752 = t232 * t751; + const double t754 = 0.13900948042322754166e-2 * t703; + const double t756 = piecewise_functor_3( t174, -t170 / 0.4e1, 0.0 ); + const double t757 = t455 * t756; + const double t760 = t718 * t756; + const double t763 = 0.3e1 * t454 * t757 - 0.2e1 * t715 * t760; + const double t764 = piecewise_functor_3( t210, 0.0, t763 ); + const double t766 = t211 * t764; + const double t768 = t213 * t764; + const double t770 = t215 * t764; + const double t772 = t217 * t764; + const double t774 = t219 * t764; + const double t779 = piecewise_functor_3( t210, t763, 0.0 ); + const double t783 = piecewise_functor_3( t209, -0.64e0 * t764 - 0.8704e0 * t766 - 0.4607056813647e1 * t768 + 0.122462410087e2 * t770 - 0.957855118103e1 * t772 + 0.3101306810232e1 * t774 - 0.362942158544e0 * t221 * t764, -0.105e1 * t532 * t779 * t230 ); + const double t784 = t783 * t269; + const double t786 = 0.30487649791575028312e-3 * t749 - t754; + const double t787 = t232 * t786; + const double t790 = piecewise_functor_3( t174, t152 * t157, 0.0 ); + const double t791 = t455 * t790; + const double t794 = t718 * t790; + const double t797 = 0.3e1 * t454 * t791 - 0.2e1 * t715 * t794; + const double t798 = piecewise_functor_3( t210, 0.0, t797 ); + const double t800 = t211 * t798; + const double t802 = t213 * t798; + const double t804 = t215 * t798; + const double t806 = t217 * t798; + const double t808 = t219 * t798; + const double t813 = piecewise_functor_3( t210, t797, 0.0 ); + const double t817 = piecewise_functor_3( t209, -0.64e0 * t798 - 0.8704e0 * t800 - 0.4607056813647e1 * t802 + 0.122462410087e2 * t804 - 0.957855118103e1 * t806 + 0.3101306810232e1 * t808 - 0.362942158544e0 * t221 * t798, -0.105e1 * t532 * t813 * t230 ); + const double t818 = t8 * t817; + const double t820 = piecewise_functor_3( t174, t162 * t167, 0.0 ); + const double t821 = t455 * t820; + const double t824 = t718 * t820; + const double t827 = 0.3e1 * t454 * t821 - 0.2e1 * t715 * t824; + const double t828 = piecewise_functor_3( t210, 0.0, t827 ); + const double t830 = t211 * t828; + const double t832 = t213 * t828; + const double t834 = t215 * t828; + const double t836 = t217 * t828; + const double t838 = t219 * t828; + const double t843 = piecewise_functor_3( t210, t827, 0.0 ); + const double t847 = piecewise_functor_3( t209, -0.64e0 * t828 - 0.8704e0 * t830 - 0.4607056813647e1 * t832 + 0.122462410087e2 * t834 - 0.957855118103e1 * t836 + 0.3101306810232e1 * t838 - 0.362942158544e0 * t221 * t828, -0.105e1 * t532 * t843 * t230 ); + const double t848 = t8 * t847; + const double t849 = t341 * t81; + const double t850 = 0.1e1 / t849; + const double t851 = t348 * t348; + const double t853 = t850 * t851 * t349; + const double t854 = t363 * t853; + const double t855 = 0.11696447245269292414e1 * t854; + const double t858 = 0.1e1 / t15 / t12 * t20; + const double t860 = t859 * t170; + const double t861 = t858 * t860; + const double t863 = t282 * t128; + const double t864 = t281 * t863; + const double t866 = t7 * t128; + const double t867 = t5 * t866; + const double t869 = 0.1e1/safe_math::sqrt( t12 ); + const double t870 = t869 * t20; + const double t871 = t870 * t860; + const double t873 = t289 * t863; + const double t876 = t22 * t6 * t170; + const double t878 = -0.57538888888888888889e0 * t861 + 0.11507777777777777778e1 * t864 + 0.40256666666666666667e0 * t867 + 0.366775e-1 * t871 + 0.73355e-1 * t873 + 0.137975e0 * t876; + const double t880 = t342 * t878 * t349; + const double t881 = t363 * t880; + const double t882 = 0.5848223622634646207e0 * t881; + const double t883 = t320 * t76; + const double t884 = t883 * t365; + const double t885 = 0.11696447245269292414e1 * t884; + const double t886 = t341 * t341; + const double t887 = 0.1e1 / t886; + const double t888 = t887 * t851; + const double t889 = t84 * t84; + const double t890 = 0.1e1 / t889; + const double t891 = t888 * t890; + const double t892 = t363 * t891; + const double t893 = 0.17315859105681463759e2 * t892; + const double t895 = t272 * t278; + const double t897 = t894 * t895 * t298; + const double t898 = 0.35616666666666666666e-1 * t897; + const double t899 = t320 * t2; + const double t900 = t899 * t360; + const double t901 = 0.36622894612013090108e-3 * t900; + const double t903 = t282 * t128 * t85; + const double t904 = t358 * t903; + const double t905 = 0.24415263074675393405e-3 * t904; + const double t906 = 0.1e1 / t99; + const double t907 = t311 * t311; + const double t910 = 0.1e1 / t198; + const double t911 = t35 * t910; + const double t912 = -t309 + t911; + const double t913 = 0.2e1 * t912; + const double t917 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t906 * t907 + 0.4e1 / 0.3e1 * t48 * t913 ); + const double t918 = 0.1e1 / t101; + const double t919 = t315 * t315; + const double t922 = -t913; + const double t926 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t918 * t919 + 0.4e1 / 0.3e1 * t53 * t922 ); + const double t927 = t917 + t926; + const double t928 = t927 * t60; + const double t929 = t928 * t86; + const double t930 = 0.19751673498613801407e-1 * t929; + const double t931 = t562 * t574; + const double t933 = t261 * t36; + const double t935 = 0.132e3 * t933 * t265; + const double t937 = 0.288e3 * t568 * t571; + const double t938 = t39 * t38; + const double t939 = t263 * t938; + const double t940 = 0.1e1 / t939; + const double t942 = 0.156e3 * t262 * t940; + const double t943 = -t935 + t937 - t942; + const double t945 = t539 * t235; + const double t946 = 0.1e1 / t945; + const double t947 = t543 * t543; + const double t948 = t946 * t947; + const double t953 = -0.49388888888888888889e-2 * t861 + 0.98777777777777777777e-2 * t864 + 0.13949e-1 * t867; + const double t954 = t540 * t953; + const double t960 = t539 * t539; + const double t961 = 0.1e1 / t960; + const double t962 = t961 * t947; + const double t965 = t239 * t550; + const double t966 = t544 * t965; + const double t968 = t242 * t243 * t385; + const double t971 = t247 * t247; + const double t973 = 0.1e1 / t248 / t971; + const double t974 = t240 * t973; + const double t975 = t974 * t180; + const double t979 = t124 * t124; + const double t980 = t39 * t198; + const double t981 = t9 * t980; + const double t982 = 0.1e1 / t981; + const double t987 = t23 * t39; + const double t988 = 0.1e1 / t987; + const double t989 = t124 * t988; + const double t993 = 0.2e1 * t948 * t546 - 0.1e1 * t954 * t546 + 0.1e1 * t962 * t546 + 0.2845018947250181111e-1 * t966 * t968 - 0.20235332025531322028e-2 * t975 * t978 * t979 * t982 + 0.52158680699586653702e-1 * t552 * t553 * t989; + const double t996 = t557 * t557; + const double t997 = t252 * t252; + const double t998 = 0.1e1 / t997; + const double t1001 = -0.571528e-1 * t948 + 0.285764e-1 * t954 + 0.285764e-1 * t993 * t558 - 0.285764e-1 * t996 * t998; + const double t1002 = t1001 * t259; + const double t1003 = t1002 * t267; + const double t1004 = t61 * t5; + const double t1005 = t273 * t365; + const double t1006 = t1004 * t1005; + const double t1007 = 0.10843581300301739842e-1 * t1006; + const double t1008 = t138 * t138; + const double t1010 = 0.1e1 / t139 / t1008; + const double t1011 = t438 * t438; + const double t1012 = t1010 * t1011; + const double t1016 = 0.1e1 / t402 / t120; + const double t1017 = t1016 * t124; + const double t1019 = t401 * t1017 * t128; + const double t1020 = t418 * t418; + const double t1021 = t119 * t119; + const double t1022 = t1020 * t1021; + const double t1024 = t407 * t408 * t1022; + const double t1027 = t305 * t394; + const double t1028 = t1027 * t125; + const double t1029 = t389 * t894; + const double t1031 = 0.81312004494856525156e-4 * t1028 * t1029; + const double t1032 = t113 * t403; + const double t1033 = t1032 * t124; + const double t1034 = t395 * t1033; + const double t1035 = t385 * t57; + const double t1037 = t130 * t418 * t119; + const double t1039 = t1034 * t1035 * t1037; + const double t1042 = 0.1e1 / t393 / t110; + const double t1043 = t108 * t1042; + const double t1044 = t1043 * t125; + const double t1045 = t305 * t57; + const double t1049 = 0.14457274399185490173e-3 * t1044 * t1045 * t130 * t894; + const double t1050 = t386 * t1032; + const double t1051 = t124 * t57; + const double t1052 = t1051 * t1037; + const double t1053 = t1050 * t1052; + const double t1057 = 0.29272321618148349056e-1 * t396 * t989 * t389; + const double t1058 = t432 * t378; + const double t1060 = t396 * t397 * t1058; + const double t1062 = t57 * t413; + const double t1063 = t1062 * t20; + const double t1064 = t378 * t378; + const double t1066 = t1063 * t408 * t1064; + const double t1069 = 0.1e1 / t938; + const double t1070 = t37 * t1069; + const double t1071 = t1070 * t89; + const double t1072 = 0.2e2 * t1071; + const double t1073 = t36 * t40; + const double t1074 = t1073 * t89; + const double t1075 = 0.12e2 * t1074; + const double t1076 = t301 * t305; + const double t1077 = t1076 * t89; + const double t1078 = 0.32e2 * t1077; + const double t1082 = t272 * t327; + const double t1086 = t326 * t68; + const double t1087 = 0.1e1 / t1086; + const double t1088 = t63 * t1087; + const double t1089 = t333 * t333; + const double t1090 = t1089 * t334; + const double t1099 = -0.78438333333333333333e0 * t861 + 0.15687666666666666667e1 * t864 + 0.68863333333333333333e0 * t867 + 0.14025833333333333333e0 * t871 + 0.28051666666666666667e0 * t873 + 0.17365833333333333333e0 * t876; + const double t1100 = t1099 * t334; + const double t1103 = t326 * t326; + const double t1104 = 0.1e1 / t1103; + const double t1105 = t63 * t1104; + const double t1106 = t71 * t71; + const double t1107 = 0.1e1 / t1106; + const double t1108 = t1089 * t1107; + const double t1112 = t5 * t866 * t32; + const double t1113 = 0.14764627977777777777e-2 * t1112; + const double t1114 = t277 * t28; + const double t1115 = 0.1e1 / t1114; + const double t1116 = t14 * t1115; + const double t1117 = t296 * t296; + const double t1118 = t1117 * t297; + const double t1119 = t1116 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1127 = -0.42198333333333333333e0 * t861 + 0.84396666666666666666e0 * t864 + 0.39862222222222222223e0 * t867 + 0.68258333333333333333e-1 * t871 + 0.13651666666666666667e0 * t873 + 0.13692777777777777778e0 * t876; + const double t1128 = t1127 * t297; + const double t1129 = t279 * t1128; + const double t1130 = 0.1e1 * t1129; + const double t1131 = t277 * t277; + const double t1132 = 0.1e1 / t1131; + const double t1133 = t14 * t1132; + const double t1134 = t31 * t31; + const double t1135 = 0.1e1 / t1134; + const double t1136 = t1117 * t1135; + const double t1137 = t1133 * t1136; + const double t1138 = 0.16081979498692535067e2 * t1137; + const double t1142 = t272 * t342; + const double t1146 = t76 * t850; + const double t1147 = t851 * t349; + const double t1150 = t878 * t349; + const double t1153 = t76 * t887; + const double t1154 = t851 * t890; + const double t1157 = -0.70983522622222222221e-3 * t5 * t866 * t72 - 0.34246666666666666666e-1 * t894 * t1082 * t335 - 0.2e1 * t1088 * t1090 + 0.1e1 * t328 * t1100 + 0.32163958997385070134e2 * t1105 * t1108 + t1113 + t898 + t1120 - t1130 - t1138 - 0.24415263074675393405e-3 * t5 * t866 * t85 - 0.10843581300301739842e-1 * t894 * t1142 * t350 - 0.11696447245269292414e1 * t1146 * t1147 + 0.5848223622634646207e0 * t343 * t1150 + 0.17315859105681463759e2 * t1153 * t1154; + const double t1158 = t61 * t1157; + const double t1159 = t41 * t1158; + const double t1160 = t928 * t88; + const double t1161 = t41 * t1160; + const double t1162 = t320 * t353; + const double t1163 = t41 * t1162; + const double t1164 = 0.2e1 * t1163; + const double t1165 = t306 * t321; + const double t1166 = 0.8e1 * t1165; + const double t1167 = t306 * t354; + const double t1168 = 0.8e1 * t1167; + const double t1169 = -t893 - t882 - t885 + t1072 + t1075 - t1078 + t1159 + t1161 + t1164 - t1166 - t1168; + const double t1170 = t302 * t321; + const double t1171 = 0.8e1 * t1170; + const double t1172 = t302 * t354; + const double t1173 = 0.8e1 * t1172; + const double t1174 = t1171 + t1173 - t1120 + t930 + t1130 + t1138 - t1113 + t1007 + t855 - t901 - t898 + t905; + const double t1176 = ( t1169 + t1174 ) * t113; + const double t1181 = 0.1e1 / t412 / t104; + const double t1182 = t95 * t1181; + const double t1183 = t1182 * t1064; + const double t1186 = 0.1e1 / t49; + const double t1192 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1186 * t907 + 0.2e1 / 0.3e1 * t369 * t913 ); + const double t1193 = 0.1e1 / t54; + const double t1199 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1193 * t919 + 0.2e1 / 0.3e1 * t373 * t922 ); + const double t1201 = t1192 / 0.2e1 + t1199 / 0.2e1; + const double t1202 = t414 * t1201; + const double t1205 = -0.12e2 * t115 * t1183 + 0.3e1 * t115 * t1202 - t1176 * t117 + 0.6e1 * t410 * t415; + const double t1206 = t1205 * t119; + const double t1208 = t407 * t408 * t1206; + const double t1212 = t433 * t408 * t1201; + const double t1215 = t9 * t39; + const double t1216 = 0.1e1 / t1215; + const double t1217 = t1216 * t57; + const double t1221 = 0.21341733463216935736e0 * t126 * t1217 * t130 * t134; + const double t1223 = t401 * t388 * t424; + const double t1224 = t1223 * t435; + const double t1226 = t988 * t111; + const double t1229 = 0.16463622957338778997e-1 * t1226 * t113 * t390; + const double t1230 = t386 * t122; + const double t1232 = t1051 * t116 * t378; + const double t1233 = t1230 * t1232; + const double t1236 = t401 * t404 * t424; + const double t1237 = t1236 * t421; + const double t1240 = t401 * t404 * t129; + const double t1241 = t116 * t20; + const double t1242 = t1241 * t132; + const double t1243 = t6 * t418; + const double t1244 = t119 * t378; + const double t1246 = t1242 * t1243 * t1244; + const double t1249 = t1020 * t119; + const double t1251 = t407 * t408 * t1249; + const double t1254 = 0.54878743191129263322e-1 * t1019 * t1024 - t1031 - 0.97574405393827830186e-2 * t1039 + t1049 + 0.54878743191129263322e-2 * t1053 - t1057 - 0.19514881078765566037e-1 * t1060 + 0.16463622957338778997e0 * t431 * t1066 - 0.27439371595564631661e-1 * t406 * t1208 - 0.54878743191129263322e-1 * t431 * t1212 + t1221 + 0.25610080155860322884e0 * t1224 + t1229 + 0.10975748638225852664e-1 * t1233 + 0.12805040077930161442e0 * t1237 + 0.10975748638225852664e0 * t1240 * t1246 - 0.27439371595564631661e-1 * t406 * t1251; + const double t1255 = t383 * t1254; + const double t1260 = t141 * t1205; + const double t1266 = -0.3125e0 * t1012 * t120 + 0.25e0 * t1255 * t120 + 0.5e0 * t439 * t419 + 0.1e1 * t1260 * t119 + 0.1e1 * t141 * t1020 * t119; + const double t1269 = t97 * t106 * t1266 * t447; + const double t1270 = t104 * t145; + const double t1272 = t97 * t1270 * t1064; + const double t1273 = 0.6e1 * t1272; + const double t1274 = t260 * t943 + t1003 - t1007 + t1120 - t1130 - t1138 - t1269 - t1273 - t855 + t882 + t885 + t893 + t898 + t901 - t905 - t930 + 0.2e1 * t931; + const double t1276 = t97 * t368 * t1201; + const double t1277 = 0.3e1 * t1276; + const double t1278 = t97 * t105; + const double t1279 = t445 * t447; + const double t1281 = t1278 * t1279 * t378; + const double t1282 = 0.6e1 * t1281; + const double t1283 = t445 * t445; + const double t1285 = t144 * t144; + const double t1286 = 0.1e1 / t1285; + const double t1288 = t97 * t106 * t1283 * t1286; + const double t1289 = t928 * t267; + const double t1292 = t320 * t574; + const double t1295 = t561 * t58; + const double t1296 = t1295 * t565; + const double t1298 = t1168 - t1171 - t1173 - t1164 + t1166 - t1161 + t1113 - t1072 - t1075 + t1078 - t1159 - t1277 - t1282 + t1288 - 0.2363e1 * t564 * t1289 - 0.4726e1 * t564 * t1292 - 0.4726e1 * t1296; + const double t1299 = t1274 + t1298; + const double t1300 = t232 * t1299; + const double t1301 = t537 * t576; + const double t1302 = 0.2e1 * t1301; + const double t1303 = t855 - t882 - t885 - t893 - t898 - t901 + t905 + t1300 + t930 + t1007 + t1269 + t1138 - t1120 + t1130 + t1302; + const double t1304 = t450 * t192; + const double t1305 = t1304 * t513; + const double t1309 = 0.1e1 / t150 / t456 / rho_a; + const double t1310 = tau_a * t1309; + const double t1315 = 0.1e1 / t155; + const double t1316 = t462 * t462; + const double t1317 = t1315 * t1316; + const double t1320 = t156 * t912; + const double t1323 = 0.1e1 / t165; + const double t1324 = t466 * t466; + const double t1325 = t1323 * t1324; + const double t1328 = -t912; + const double t1329 = t166 * t1328; + const double t1332 = 0.11e2 / 0.9e1 * t989; + const double t1334 = piecewise_functor_3( t174, 0.4e2 / 0.9e1 * t1310 * t157 - 0.5e2 / 0.9e1 * t459 * t463 + 0.1e2 / 0.9e1 * t153 * t1317 + 0.5e1 / 0.3e1 * t153 * t1320 + 0.1e2 / 0.9e1 * t163 * t1325 + 0.5e1 / 0.3e1 * t163 * t1329 - t1332, 0.0 ); + const double t1335 = t455 * t1334; + const double t1342 = 0.1e2 / 0.9e1 * t1317 + 0.5e1 / 0.3e1 * t1320 + 0.1e2 / 0.9e1 * t1325 + 0.5e1 / 0.3e1 * t1329; + const double t1343 = t487 * t1342; + const double t1346 = t271 * t176; + const double t1348 = 0.7e2 / 0.9e1 * t1346 * t203; + const double t1349 = t127 * t175; + const double t1350 = t1349 * t500; + const double t1352 = t198 * t176; + const double t1353 = t1352 * t192; + const double t1355 = 0.22e2 / 0.3e1 * t1353 * t506; + const double t1356 = t496 * t509; + const double t1358 = t472 * t472; + const double t1359 = t199 * t1358; + const double t1362 = t39 * t175; + const double t1363 = t1362 * t192; + const double t1364 = t202 * t472; + const double t1365 = t1364 * t183; + const double t1366 = t1363 * t1365; + const double t1368 = t499 * t201; + const double t1369 = t196 * t472; + const double t1370 = t1369 * t489; + const double t1373 = t203 * t1334; + const double t1376 = t987 * t176; + const double t1377 = t1376 * t479; + const double t1379 = t202 * t179 * t976; + const double t1381 = 0.9e1 * t1377 * t1379; + const double t1382 = t196 * t180; + const double t1383 = t182 * t489; + const double t1384 = t1382 * t1383; + const double t1385 = t504 * t1384; + const double t1387 = t201 * t486; + const double t1388 = t489 * t489; + const double t1389 = t1387 * t1388; + const double t1392 = t508 * t1342; + const double t1395 = t1348 + 0.4e2 / 0.3e1 * t1350 - t1355 - 0.4e2 / 0.3e1 * t1356 + 0.2e1 * t1359 * t203 - 0.4e1 * t1366 - 0.8e1 * t1368 * t1370 + 0.2e1 * t499 * t1373 + t1381 + 0.4e1 * t1385 + 0.6e1 * t200 * t1389 - 0.2e1 * t200 * t1392; + const double t1396 = t495 * t1395; + const double t1398 = t198 * t177; + const double t1400 = 0.2e2 * t1398 * t207; + const double t1401 = t504 * t473; + const double t1403 = t1304 * t490; + const double t1406 = 0.1e1 / t493 / t205; + const double t1407 = t196 * t1406; + const double t1408 = t512 * t512; + const double t1409 = t1407 * t1408; + const double t1412 = t987 * t177; + const double t1415 = 0.16e2 * t1412 * t479 * t481; + const double t1416 = t148 * t175; + const double t1417 = t1416 * t192; + const double t1418 = t455 * t1358; + const double t1421 = t472 * t489; + const double t1422 = t487 * t1421; + const double t1425 = t472 * t512; + const double t1426 = t495 * t1425; + const double t1429 = t9 * t938; + const double t1430 = t1429 * t177; + const double t1431 = t1430 * t714; + const double t1433 = t455 * t1432; + const double t1435 = 0.18e2 * t1431 * t1433; + const double t1436 = t717 * t206; + const double t1437 = t1436 * t1388; + const double t1440 = t486 * t494; + const double t1441 = t489 * t512; + const double t1442 = t1440 * t1441; + const double t1445 = t476 * t176; + const double t1446 = t479 * t196; + const double t1447 = t1445 * t1446; + const double t1448 = t206 * t472; + const double t1449 = t1448 * t183; + const double t1450 = t1447 * t1449; + const double t1452 = t479 * t486; + const double t1453 = t477 * t1452; + const double t1455 = t206 * t180 * t1383; + const double t1456 = t1453 * t1455; + const double t1458 = t477 * t1446; + const double t1461 = t494 * t180 * t182 * t512; + const double t1462 = t1458 * t1461; + const double t1464 = 0.3e1 * t454 * t1335 - 0.3e1 * t484 * t1343 - t484 * t1396 + 0.2e1 * t484 * t1409 + 0.6e1 * t1417 * t1418 - 0.18e2 * t454 * t1422 - 0.6e1 * t454 * t1426 + 0.12e2 * t484 * t1437 + 0.6e1 * t484 * t1442 - 0.1e2 * t1305 + t1400 + 0.3e2 * t1401 - 0.3e2 * t1403 - t1415 + t1435 - 0.9e1 * t1450 + 0.9e1 * t1456 + 0.3e1 * t1462; + const double t1465 = piecewise_functor_3( t210, 0.0, t1464 ); + const double t1467 = t516 * t516; + const double t1471 = t211 * t1467; + const double t1475 = t213 * t1467; + const double t1479 = t215 * t1467; + const double t1483 = t217 * t1467; + const double t1491 = -0.64e0 * t1465 - 0.8704e0 * t1467 - 0.8704e0 * t211 * t1465 - 0.9214113627294e1 * t1471 - 0.4607056813647e1 * t213 * t1465 + 0.367387230261e2 * t1475 + 0.122462410087e2 * t215 * t1465 - 0.3831420472412e2 * t1479 - 0.957855118103e1 * t217 * t1465 + 0.1550653405116e2 * t1483 + 0.3101306810232e1 * t219 * t1465 - 0.2177652951264e1 * t219 * t1467 - 0.362942158544e0 * t221 * t1465; + const double t1492 = t531 * t227; + const double t1493 = 0.1e1 / t1492; + const double t1494 = t533 * t533; + const double t1498 = piecewise_functor_3( t210, t1464, 0.0 ); + const double t1502 = t531 * t531; + const double t1503 = 0.1e1 / t1502; + const double t1504 = t1503 * t1494; + const double t1508 = piecewise_functor_3( t209, t1491, -0.21e1 * t1493 * t1494 * t230 - 0.105e1 * t532 * t1498 * t230 - 0.1575e1 * t1504 * t230 ); + const double t1509 = t1508 * t269; + const double t1510 = t1509 + t1273 - t1168 + t1171 + t1173 + t1164 - t1166 + t1161 - t1113 + t1072 + t1075 - t1078 + t1159 + t1277 + t1282 - t1288; + const double t1516 = 0.11696447245269292414e1 * t366; + const double t1517 = 0.8e1 * t303; + const double t1518 = 0.8e1 * t307; + const double t1520 = 0.22146941966666666666e-2 * t275; + const double t1522 = 0.2e1 * t355; + const double t1523 = 0.36622894612013090108e-3 * t361; + const double t1524 = 0.2e1 * t299; + const double t1526 = 0.5848223622634646207e0 * t884; + const double t1527 = t589 * t2; + const double t1528 = t1527 * t360; + const double t1529 = 0.18311447306006545054e-3 * t1528; + const double t1530 = 0.18311447306006545054e-3 * t900; + const double t1531 = t906 * t580; + const double t1534 = t48 * t35; + const double t1538 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1531 * t311 + 0.8e1 / 0.3e1 * t1534 * t910 ); + const double t1539 = t918 * t584; + const double t1542 = t53 * t35; + const double t1546 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1539 * t315 - 0.8e1 / 0.3e1 * t1542 * t910 ); + const double t1547 = t1538 + t1546; + const double t1548 = t1547 * t60; + const double t1549 = t1548 * t88; + const double t1550 = t41 * t1549; + const double t1551 = t589 * t353; + const double t1552 = t41 * t1551; + const double t1553 = t589 * t76; + const double t1554 = t1553 * t365; + const double t1555 = 0.5848223622634646207e0 * t1554; + const double t1556 = t685 * t576; + const double t1557 = t1186 * t580; + const double t1560 = t369 * t35; + const double t1564 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1557 * t311 + 0.4e1 / 0.3e1 * t1560 * t910 ); + const double t1565 = t1193 * t584; + const double t1568 = t373 * t35; + const double t1572 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1565 * t315 - 0.4e1 / 0.3e1 * t1568 * t910 ); + const double t1574 = t1564 / 0.2e1 + t1572 / 0.2e1; + const double t1576 = t97 * t368 * t1574; + const double t1577 = 0.3e1 * t1576; + const double t1578 = t628 * t447; + const double t1580 = t1278 * t1578 * t378; + const double t1581 = 0.3e1 * t1580; + const double t1582 = t97 * t104; + const double t1583 = t145 * t601; + const double t1585 = t1582 * t1583 * t378; + const double t1586 = 0.6e1 * t1585; + const double t1587 = t97 * t106; + const double t1588 = t628 * t1286; + const double t1590 = t1587 * t1588 * t445; + const double t1591 = t855 - t882 - t1526 - t893 - t1529 - t898 - t1530 + t905 + t1550 + t1552 + t1007 - t1555 + t1556 + t1577 + t1581 + t1586 - t1590 + t1138; + const double t1592 = t537 * t693; + const double t1593 = t1279 * t601; + const double t1594 = t1278 * t1593; + const double t1595 = 0.3e1 * t1594; + const double t1596 = t1010 * t621; + const double t1597 = t120 * t438; + const double t1600 = t116 * t601; + const double t1601 = t1051 * t1600; + const double t1602 = t1230 * t1601; + const double t1605 = t401 * t1017 * t129; + const double t1606 = t130 * t20; + const double t1607 = t1606 * t132; + const double t1608 = t6 * t611; + const double t1609 = t1021 * t418; + const double t1611 = t1607 * t1608 * t1609; + const double t1614 = t130 * t611; + const double t1615 = t1614 * t119; + const double t1617 = t1034 * t1035 * t1615; + const double t1620 = t1051 * t1615; + const double t1621 = t1050 * t1620; + const double t1623 = t432 * t601; + const double t1625 = t396 * t397 * t1623; + const double t1629 = t855 - t882 - t1526 - t893 - t1529 - t898 - t1530 + t905 + t1550 + t1552 + t1007 - t1555 + t1138; + const double t1630 = 0.4e1 * t1170; + const double t1631 = 0.4e1 * t1165; + const double t1632 = t1548 * t86; + const double t1633 = 0.19751673498613801407e-1 * t1632; + const double t1634 = t302 * t590; + const double t1635 = 0.4e1 * t1634; + const double t1636 = t306 * t590; + const double t1637 = 0.4e1 * t1636; + const double t1638 = -t1120 + t1130 - t1168 - t1630 + t1163 - t1631 - t1113 + t1072 - t1075 + t1159 + t1633 + t1635 - t1637; + const double t1640 = ( t1629 + t1638 ) * t113; + const double t1646 = t115 * t95; + const double t1647 = t1181 * t601; + const double t1648 = t1647 * t378; + const double t1651 = t414 * t1574; + const double t1654 = 0.3e1 * t115 * t1651 - t1640 * t117 - 0.12e2 * t1646 * t1648 + 0.3e1 * t410 * t608 + 0.3e1 * t606 * t415; + const double t1655 = t1654 * t119; + const double t1657 = t407 * t408 * t1655; + const double t1660 = 0.54878743191129263322e-2 * t1602 + 0.54878743191129263322e-1 * t1605 * t1611 - 0.48787202696913915093e-2 * t1617 - t1031 - 0.48787202696913915093e-2 * t1039 + t1049 + 0.27439371595564631661e-2 * t1621 - 0.97574405393827830187e-2 * t1625 + 0.27439371595564631661e-2 * t1053 - t1057 - 0.97574405393827830186e-2 * t1060 - 0.27439371595564631661e-1 * t406 * t1657; + const double t1661 = t1223 * t618; + const double t1663 = t601 * t378; + const double t1665 = t1063 * t408 * t1663; + const double t1669 = t433 * t408 * t1574; + const double t1675 = t1236 * t614; + const double t1678 = t1242 * t1608 * t1244; + const double t1682 = t1607 * t1608 * t419; + const double t1685 = t6 * t601; + const double t1687 = t1242 * t1685 * t419; + const double t1690 = 0.12805040077930161442e0 * t1661 + 0.16463622957338778997e0 * t431 * t1665 - 0.54878743191129263322e-1 * t431 * t1669 + t1221 + 0.12805040077930161442e0 * t1224 + t1229 + 0.54878743191129263322e-2 * t1233 + 0.64025200389650807209e-1 * t1237 + 0.64025200389650807209e-1 * t1675 + 0.54878743191129263322e-1 * t1240 * t1678 - 0.27439371595564631661e-1 * t1240 * t1682 + 0.54878743191129263322e-1 * t1240 * t1687; + const double t1691 = t1660 + t1690; + const double t1692 = t383 * t1691; + const double t1699 = t141 * t1654; + const double t1704 = -0.3125e0 * t1596 * t1597 + 0.25e0 * t1692 * t120 + 0.25e0 * t622 * t419 + 0.25e0 * t439 * t612 + 0.1e1 * t1699 * t119 + 0.1e1 * t625 * t419; + const double t1707 = t97 * t106 * t1704 * t447; + const double t1708 = t652 * t512; + const double t1709 = t1440 * t1708; + const double t1712 = t662 * t472; + const double t1713 = t495 * t1712; + const double t1716 = t662 * t489; + const double t1717 = t1440 * t1716; + const double t1720 = t662 * t512; + const double t1721 = t1407 * t1720; + const double t1724 = t647 * t472; + const double t1725 = t455 * t1724; + const double t1728 = t647 * t489; + const double t1729 = t487 * t1728; + const double t1732 = t647 * t512; + const double t1733 = t495 * t1732; + const double t1736 = t652 * t472; + const double t1737 = t487 * t1736; + const double t1740 = t652 * t489; + const double t1741 = t1436 * t1740; + const double t1746 = t1349 * t656; + const double t1748 = t199 * t472; + const double t1751 = t202 * t647; + const double t1752 = t1751 * t183; + const double t1753 = t1363 * t1752; + const double t1755 = t196 * t647; + const double t1756 = t1755 * t489; + const double t1761 = t1315 * t632; + const double t1762 = t1761 * t462; + const double t1765 = t156 * t35; + const double t1766 = t1765 * t910; + const double t1771 = t1323 * t642; + const double t1772 = t1771 * t466; + const double t1775 = t166 * t35; + const double t1776 = t1775 * t910; + const double t1780 = piecewise_functor_3( t174, -0.25e2 / 0.9e1 * t459 * t633 + 0.1e2 / 0.9e1 * t153 * t1762 + 0.5e1 / 0.3e1 * t153 * t1766 - 0.25e2 / 0.9e1 * t639 * t467 + 0.1e2 / 0.9e1 * t163 * t1772 - 0.5e1 / 0.3e1 * t163 * t1776 - t1332, 0.0 ); + const double t1781 = t203 * t1780; + const double t1786 = t496 * t659; + const double t1788 = t196 * t652; + const double t1789 = t1788 * t472; + const double t1792 = t1788 * t183; + const double t1793 = t504 * t1792; + const double t1795 = t200 * t201; + const double t1796 = t486 * t652; + const double t1797 = t1796 * t489; + const double t1804 = 0.1e2 / 0.9e1 * t1762 + 0.5e1 / 0.3e1 * t1766 + 0.1e2 / 0.9e1 * t1772 - 0.5e1 / 0.3e1 * t1776; + const double t1805 = t508 * t1804; + const double t1808 = t1348 + 0.2e2 / 0.3e1 * t1350 - t1355 - 0.2e2 / 0.3e1 * t1356 + 0.2e2 / 0.3e1 * t1746 + 0.2e1 * t1748 * t656 - 0.2e1 * t1753 - 0.4e1 * t1368 * t1756 + 0.2e1 * t499 * t1781 - 0.2e1 * t1366 + t1381 + 0.2e1 * t1385 - 0.2e2 / 0.3e1 * t1786 - 0.4e1 * t1368 * t1789 + 0.2e1 * t1793 + 0.6e1 * t1795 * t1797 - 0.2e1 * t200 * t1805; + const double t1809 = t495 * t1808; + const double t1811 = 0.6e1 * t1417 * t1725 + 0.3e1 * t484 * t1709 - 0.3e1 * t454 * t1713 + 0.3e1 * t484 * t1717 + 0.2e1 * t484 * t1721 - 0.9e1 * t454 * t1729 - 0.3e1 * t454 * t1733 - 0.9e1 * t454 * t1737 + 0.12e2 * t484 * t1741 - t484 * t1809 + t1400 - t1415 + t1435; + const double t1812 = t455 * t1780; + const double t1815 = t504 * t648; + const double t1817 = t1304 * t653; + const double t1819 = t1304 * t663; + const double t1821 = t487 * t1804; + const double t1830 = t206 * t647; + const double t1831 = t1830 * t183; + const double t1832 = t1447 * t1831; + const double t1834 = t206 * t652; + const double t1835 = t1834 * t183; + const double t1836 = t1453 * t1835; + const double t1838 = t494 * t662; + const double t1839 = t1838 * t183; + const double t1840 = t1458 * t1839; + const double t1842 = 0.3e1 * t454 * t1812 + 0.15e2 * t1815 - 0.15e2 * t1817 - 0.5e1 * t1819 - 0.3e1 * t484 * t1821 + 0.15e2 * t1401 - 0.15e2 * t1403 - 0.5e1 * t1305 - 0.9e1 / 0.2e1 * t1450 + 0.9e1 / 0.2e1 * t1456 + 0.3e1 / 0.2e1 * t1462 - 0.9e1 / 0.2e1 * t1832 + 0.9e1 / 0.2e1 * t1836 + 0.3e1 / 0.2e1 * t1840; + const double t1843 = t1811 + t1842; + const double t1844 = piecewise_functor_3( t210, 0.0, t1843 ); + const double t1846 = t516 * t666; + const double t1848 = t211 * t1844; + const double t1852 = t213 * t1844; + const double t1856 = t215 * t1844; + const double t1860 = t217 * t1844; + const double t1864 = t219 * t1844; + const double t1870 = -0.64e0 * t1844 - 0.8704e0 * t1846 - 0.8704e0 * t1848 - 0.9214113627294e1 * t668 * t516 - 0.4607056813647e1 * t1852 + 0.367387230261e2 * t670 * t516 + 0.122462410087e2 * t1856 - 0.3831420472412e2 * t672 * t516 - 0.957855118103e1 * t1860 + 0.1550653405116e2 * t674 * t516 + 0.3101306810232e1 * t1864 - 0.2177652951264e1 * t676 * t516 - 0.362942158544e0 * t221 * t1844; + const double t1871 = t1493 * t681; + const double t1872 = t230 * t533; + const double t1875 = piecewise_functor_3( t210, t1843, 0.0 ); + const double t1879 = t1503 * t681; + const double t1883 = piecewise_functor_3( t209, t1870, -0.21e1 * t1871 * t1872 - 0.105e1 * t532 * t1875 * t230 - 0.1575e1 * t1879 * t1872 ); + const double t1884 = t1883 * t269; + const double t1885 = t935 - t942; + const double t1887 = t562 * t691; + const double t1888 = t260 * t1885 + t1003 - t1007 + t1526 + t1529 + t1530 - t1550 - t1552 + t1555 - t1577 - t1581 - t1586 + t1590 + t1887 - t855 + t882 + t893 + t898 - t905 + t931; + const double t1889 = t1548 * t267; + const double t1892 = t589 * t574; + const double t1895 = t320 * t691; + const double t1898 = t1295 * t687; + const double t1902 = t1630 - t1163 + t1631 + t1113 - t1072 + t1075 - t1159 - 0.2363e1 * t1296 - t1633 - t1635 + t1637; + const double t1904 = t1888 - t1138 + t1120 - t1130 - t1595 - 0.2363e1 * t564 * t1889 - 0.2363e1 * t564 * t1892 - 0.2363e1 * t564 * t1895 - 0.2363e1 * t1898 - t1707 + t1168 + t1902; + const double t1905 = t232 * t1904; + const double t1906 = -t1120 + t1130 + t1592 + t1595 + t1707 + t1884 - t1168 - t1630 + t1163 - t1631 - t1113 + t1072 - t1075 + t1159 + t1905 + t1633 + t1635 - t1637; + const double t1909 = 0.36622894612013090108e-3 * t1528; + const double t1910 = t580 * t580; + const double t1913 = t309 + t911; + const double t1914 = 0.2e1 * t1913; + const double t1918 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t906 * t1910 + 0.4e1 / 0.3e1 * t48 * t1914 ); + const double t1919 = t584 * t584; + const double t1922 = -t1914; + const double t1926 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t918 * t1919 + 0.4e1 / 0.3e1 * t53 * t1922 ); + const double t1927 = t1918 + t1926; + const double t1928 = t1927 * t60; + const double t1929 = t1928 * t86; + const double t1930 = 0.19751673498613801407e-1 * t1929; + const double t1931 = t601 * t601; + const double t1933 = t97 * t1270 * t1931; + const double t1934 = 0.6e1 * t1933; + const double t1935 = t1928 * t88; + const double t1936 = t41 * t1935; + const double t1937 = 0.2e1 * t1552; + const double t1938 = 0.11696447245269292414e1 * t1554; + const double t1939 = t1578 * t601; + const double t1940 = t1278 * t1939; + const double t1941 = 0.6e1 * t1940; + const double t1942 = t628 * t628; + const double t1945 = t97 * t106 * t1942 * t1286; + const double t1946 = -t935 - t937 - t942; + const double t1949 = t1928 * t267; + const double t1952 = -t855 + t882 + t893 + t1909 + t898 - t905 - t1930 + t260 * t1946 + 0.2e1 * t1887 - t1934 - t1936 - t1937 + t1003 - t1007 + t1938 - t1941 - 0.2363e1 * t564 * t1949; + const double t1953 = t589 * t691; + const double t1957 = t621 * t621; + const double t1958 = t1010 * t1957; + const double t1962 = t611 * t611; + const double t1963 = t1962 * t1021; + const double t1965 = t407 * t408 * t1963; + const double t1972 = t1063 * t408 * t1931; + const double t1975 = 0.8e1 * t1634; + const double t1976 = 0.8e1 * t1636; + const double t1977 = t1936 + t1930 - t1938 + t1937 - t1975 - t1976 - t1909 - t893 - t882 + t1072 + t1075; + const double t1978 = t1078 + t1159 - t1168 - t1173 - t1120 + t1130 + t1138 - t1113 + t1007 + t855 - t898 + t905; + const double t1980 = ( t1977 + t1978 ) * t113; + const double t1984 = t1182 * t1931; + const double t1992 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1186 * t1910 + 0.2e1 / 0.3e1 * t369 * t1914 ); + const double t1998 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1193 * t1919 + 0.2e1 / 0.3e1 * t373 * t1922 ); + const double t2000 = t1992 / 0.2e1 + t1998 / 0.2e1; + const double t2001 = t414 * t2000; + const double t2004 = -0.12e2 * t115 * t1984 + 0.3e1 * t115 * t2001 - t1980 * t117 + 0.6e1 * t606 * t608; + const double t2005 = t2004 * t119; + const double t2007 = t407 * t408 * t2005; + const double t2012 = t433 * t408 * t2000; + const double t2016 = t119 * t601; + const double t2018 = t1242 * t1608 * t2016; + const double t2021 = t1962 * t119; + const double t2023 = t407 * t408 * t2021; + const double t2026 = 0.10975748638225852664e-1 * t1602 + 0.54878743191129263322e-1 * t1019 * t1965 - 0.97574405393827830186e-2 * t1617 - t1031 + t1049 + 0.54878743191129263322e-2 * t1621 - 0.19514881078765566037e-1 * t1625 - t1057 + 0.16463622957338778997e0 * t431 * t1972 - 0.27439371595564631661e-1 * t406 * t2007 + 0.25610080155860322884e0 * t1661 - 0.54878743191129263322e-1 * t431 * t2012 + t1221 + t1229 + 0.12805040077930161442e0 * t1675 + 0.10975748638225852664e0 * t1240 * t2018 - 0.27439371595564631661e-1 * t406 * t2023; + const double t2027 = t383 * t2026; + const double t2032 = t141 * t2004; + const double t2035 = t141 * t1962; + const double t2038 = -0.3125e0 * t1958 * t120 + 0.25e0 * t2027 * t120 + 0.5e0 * t622 * t612 + 0.1e1 * t2032 * t119 + 0.1e1 * t2035 * t119; + const double t2041 = t97 * t106 * t2038 * t447; + const double t2043 = t97 * t368 * t2000; + const double t2044 = 0.3e1 * t2043; + const double t2045 = -0.4726e1 * t564 * t1953 + t1945 - t1138 + t1120 - t1130 - 0.4726e1 * t1898 + t1168 + t1173 - t2041 - t2044 + t1113 - t1072 - t1075 - t1078 - t1159 + t1975 + t1976; + const double t2046 = t1952 + t2045; + const double t2047 = t232 * t2046; + const double t2048 = t855 - t882 - t893 - t1909 - t898 + t905 + t1930 + t1934 + t1936 + t1937 + t1007 - t1938 + t1941 - t1945 + t2047; + const double t2049 = t685 * t693; + const double t2050 = 0.2e1 * t2049; + const double t2051 = t632 * t632; + const double t2052 = t1315 * t2051; + const double t2055 = t156 * t1913; + const double t2060 = 0.1e1 / t160 / t636 / rho_b; + const double t2061 = tau_b * t2060; + const double t2066 = t642 * t642; + const double t2067 = t1323 * t2066; + const double t2070 = -t1913; + const double t2071 = t166 * t2070; + const double t2075 = piecewise_functor_3( t174, 0.1e2 / 0.9e1 * t153 * t2052 + 0.5e1 / 0.3e1 * t153 * t2055 + 0.4e2 / 0.9e1 * t2061 * t167 - 0.5e2 / 0.9e1 * t639 * t643 + 0.1e2 / 0.9e1 * t163 * t2067 + 0.5e1 / 0.3e1 * t163 * t2071 - t1332, 0.0 ); + const double t2076 = t455 * t2075; + const double t2083 = 0.1e2 / 0.9e1 * t2052 + 0.5e1 / 0.3e1 * t2055 + 0.1e2 / 0.9e1 * t2067 + 0.5e1 / 0.3e1 * t2071; + const double t2084 = t487 * t2083; + const double t2089 = t647 * t647; + const double t2090 = t199 * t2089; + const double t2094 = t1755 * t652; + const double t2097 = t203 * t2075; + const double t2101 = t652 * t652; + const double t2102 = t1387 * t2101; + const double t2105 = t508 * t2083; + const double t2108 = t1348 + 0.4e2 / 0.3e1 * t1746 - t1355 - 0.4e2 / 0.3e1 * t1786 + 0.2e1 * t2090 * t203 - 0.4e1 * t1753 - 0.8e1 * t1368 * t2094 + 0.2e1 * t499 * t2097 + t1381 + 0.4e1 * t1793 + 0.6e1 * t200 * t2102 - 0.2e1 * t200 * t2105; + const double t2109 = t495 * t2108; + const double t2111 = t455 * t2089; + const double t2114 = t647 * t652; + const double t2115 = t487 * t2114; + const double t2118 = t647 * t662; + const double t2119 = t495 * t2118; + const double t2122 = t1436 * t2101; + const double t2125 = t652 * t662; + const double t2126 = t1440 * t2125; + const double t2129 = t662 * t662; + const double t2130 = t1407 * t2129; + const double t2139 = 0.6e1 * t1417 * t2111 + 0.3e1 * t454 * t2076 - 0.3e1 * t484 * t2084 - t484 * t2109 - 0.18e2 * t454 * t2115 - 0.6e1 * t454 * t2119 + 0.12e2 * t484 * t2122 + 0.6e1 * t484 * t2126 + 0.2e1 * t484 * t2130 + t1400 - t1415 + t1435 + 0.3e2 * t1815 - 0.3e2 * t1817 - 0.1e2 * t1819 - 0.9e1 * t1832 + 0.9e1 * t1836 + 0.3e1 * t1840; + const double t2140 = piecewise_functor_3( t210, 0.0, t2139 ); + const double t2142 = t666 * t666; + const double t2144 = t211 * t2140; + const double t2146 = t211 * t2142; + const double t2148 = t213 * t2140; + const double t2150 = t213 * t2142; + const double t2152 = t215 * t2140; + const double t2154 = t215 * t2142; + const double t2156 = t217 * t2140; + const double t2158 = t217 * t2142; + const double t2160 = t219 * t2140; + const double t2166 = -0.64e0 * t2140 - 0.8704e0 * t2142 - 0.8704e0 * t2144 - 0.9214113627294e1 * t2146 - 0.4607056813647e1 * t2148 + 0.367387230261e2 * t2150 + 0.122462410087e2 * t2152 - 0.3831420472412e2 * t2154 - 0.957855118103e1 * t2156 + 0.1550653405116e2 * t2158 + 0.3101306810232e1 * t2160 - 0.2177652951264e1 * t219 * t2142 - 0.362942158544e0 * t221 * t2140; + const double t2167 = t681 * t681; + const double t2171 = piecewise_functor_3( t210, t2139, 0.0 ); + const double t2175 = t1503 * t2167; + const double t2179 = piecewise_functor_3( t209, t2166, -0.21e1 * t1493 * t2167 * t230 - 0.105e1 * t532 * t2171 * t230 - 0.1575e1 * t2175 * t230 ); + const double t2180 = t2179 * t269; + const double t2181 = t1138 - t1120 + t1130 + t2050 + t2180 - t1168 - t1173 + t2041 + t2044 - t1113 + t1072 + t1075 + t1078 + t1159 - t1975 - t1976; + const double t2190 = t378 * t383; + const double t2191 = t2190 * t698; + const double t2192 = t2191 * t702; + const double t2193 = 0.69504740211613770831e-3 * t2192; + const double t2194 = t104 * t1010; + const double t2195 = t2194 * t698; + const double t2197 = t6 * t447; + const double t2199 = t2196 * t2197 * t438; + const double t2200 = t2195 * t2199; + const double t2201 = 0.86880925264517213539e-3 * t2200; + const double t2202 = t697 * t385; + const double t2203 = t111 * t57; + const double t2204 = t2203 * t447; + const double t2205 = t2202 * t2204; + const double t2206 = 0.69504740211613770831e-4 * t2205; + const double t2207 = t697 * t108; + const double t2209 = t57 * t447; + const double t2210 = t394 * t385 * t2209; + const double t2211 = t2207 * t2210; + const double t2212 = 0.12357942809624928454e-3 * t2211; + const double t2213 = t112 * t424; + const double t2214 = t697 * t2213; + const double t2215 = t2214 * t702; + const double t2216 = 0.16217772716043213194e-2 * t2215; + const double t2217 = t6 * t1286; + const double t2219 = t2196 * t2217 * t445; + const double t2220 = t699 * t2219; + const double t2221 = 0.69504740211613770831e-3 * t2220; + const double t2223 = 0.15e2 * t504 * t707; + const double t2224 = t706 * t472; + const double t2225 = t455 * t2224; + const double t2228 = t206 * t706; + const double t2229 = t2228 * t183; + const double t2231 = 0.9e1 / 0.2e1 * t1447 * t2229; + const double t2232 = t706 * t489; + const double t2233 = t487 * t2232; + const double t2236 = t706 * t512; + const double t2237 = t495 * t2236; + const double t2241 = piecewise_functor_3( t174, t385 / 0.3e1, 0.0 ); + const double t2242 = t455 * t2241; + const double t2244 = 0.3e1 * t454 * t2242; + const double t2245 = t981 * t711; + const double t2246 = t2245 * t714; + const double t2248 = 0.5e2 / 0.3e1 * t2246 * t719; + const double t2249 = t710 * t177; + const double t2250 = t2249 * t714; + const double t2251 = t718 * t2224; + const double t2254 = t263 * t8; + const double t2255 = t2254 * t711; + const double t2257 = 0.1e1 / t478 / t190; + const double t2258 = t2257 * t717; + const double t2259 = t2255 * t2258; + const double t2260 = t494 * t706; + const double t2261 = t2260 * t183; + const double t2263 = 0.5e1 * t2259 * t2261; + const double t2265 = 0.1e1 / t485 / t194; + const double t2266 = t2265 * t494; + const double t2267 = t2266 * t2232; + const double t2270 = t717 * t1406; + const double t2271 = t2270 * t2236; + const double t2274 = t718 * t2241; + const double t2276 = 0.2e1 * t715 * t2274; + const double t2277 = 0.6e1 * t1417 * t2225 - 0.9e1 * t454 * t2233 - 0.3e1 * t454 * t2237 - 0.8e1 * t2250 * t2251 + 0.1e2 * t715 * t2267 + 0.4e1 * t715 * t2271 + t2223 - t2231 + t2244 - t2248 + t2263 - t2276; + const double t2278 = piecewise_functor_3( t210, 0.0, t2277 ); + const double t2280 = t516 * t723; + const double t2282 = t211 * t2278; + const double t2286 = t213 * t2278; + const double t2290 = t215 * t2278; + const double t2294 = t217 * t2278; + const double t2298 = t219 * t2278; + const double t2304 = -0.64e0 * t2278 - 0.8704e0 * t2280 - 0.8704e0 * t2282 - 0.9214113627294e1 * t725 * t516 - 0.4607056813647e1 * t2286 + 0.367387230261e2 * t727 * t516 + 0.122462410087e2 * t2290 - 0.3831420472412e2 * t729 * t516 - 0.957855118103e1 * t2294 + 0.1550653405116e2 * t731 * t516 + 0.3101306810232e1 * t2298 - 0.2177652951264e1 * t733 * t516 - 0.362942158544e0 * t221 * t2278; + const double t2305 = t1493 * t738; + const double t2308 = piecewise_functor_3( t210, t2277, 0.0 ); + const double t2312 = t1503 * t738; + const double t2316 = piecewise_functor_3( t209, t2304, -0.21e1 * t2305 * t1872 - 0.105e1 * t532 * t2308 * t230 - 0.1575e1 * t2312 * t1872 ); + const double t2317 = t2316 * t269; + const double t2318 = t742 * t576; + const double t2319 = t537 * t751; + const double t2320 = t965 * t179; + const double t2321 = t544 * t2320; + const double t2322 = t553 * t170; + const double t2323 = t2322 * t747; + const double t2324 = t2321 * t2323; + const double t2325 = 0.15243824895787514157e-3 * t2324; + const double t2328 = t974 * t2327; + const double t2329 = 0.1e1 / t1429; + const double t2330 = t2329 * t558; + const double t2331 = t259 * t267; + const double t2332 = t2331 * t124; + const double t2334 = t2328 * t2330 * t2332; + const double t2335 = 0.21684485328539747656e-4 * t2334; + const double t2336 = t187 * t385; + const double t2338 = t744 * t2336 * t747; + const double t2339 = 0.40650199722100037752e-3 * t2338; + const double t2341 = t551 * t2340; + const double t2342 = t170 * t998; + const double t2343 = t2331 * t557; + const double t2345 = t2341 * t2342 * t2343; + const double t2346 = 0.15243824895787514157e-3 * t2345; + const double t2348 = t170 * t558 * t58; + const double t2350 = t2341 * t2348 * t565; + const double t2352 = t746 * t574; + const double t2354 = t744 * t745 * t2352; + const double t2356 = -t2325 + t2335 - t2339 - t2346 - 0.36021158228745895953e-3 * t2350 + 0.15243824895787514157e-3 * t2354 - t2193 + t2201 + t2206 - t2212 + t2216 + t2221; + const double t2357 = t232 * t2356; + const double t2360 = 0.13900948042322754166e-2 * t2192; + const double t2361 = 0.17376185052903442708e-2 * t2200; + const double t2362 = 0.13900948042322754166e-3 * t2205; + const double t2363 = 0.24715885619249856907e-3 * t2211; + const double t2364 = 0.32435545432086426387e-2 * t2215; + const double t2365 = 0.13900948042322754166e-2 * t2220; + const double t2367 = 0.15e2 * t504 * t757; + const double t2368 = t756 * t472; + const double t2369 = t455 * t2368; + const double t2372 = t206 * t756; + const double t2373 = t2372 * t183; + const double t2375 = 0.9e1 / 0.2e1 * t1447 * t2373; + const double t2376 = t756 * t489; + const double t2377 = t487 * t2376; + const double t2380 = t756 * t512; + const double t2381 = t495 * t2380; + const double t2385 = piecewise_functor_3( t174, 0.2e1 / 0.3e1 * t385, 0.0 ); + const double t2386 = t455 * t2385; + const double t2388 = 0.3e1 * t454 * t2386; + const double t2390 = 0.5e2 / 0.3e1 * t2246 * t760; + const double t2391 = t718 * t2368; + const double t2394 = t494 * t756; + const double t2395 = t2394 * t183; + const double t2397 = 0.5e1 * t2259 * t2395; + const double t2398 = t2266 * t2376; + const double t2401 = t2270 * t2380; + const double t2404 = t718 * t2385; + const double t2406 = 0.2e1 * t715 * t2404; + const double t2407 = 0.6e1 * t1417 * t2369 - 0.8e1 * t2250 * t2391 - 0.9e1 * t454 * t2377 - 0.3e1 * t454 * t2381 + 0.1e2 * t715 * t2398 + 0.4e1 * t715 * t2401 + t2367 - t2375 + t2388 - t2390 + t2397 - t2406; + const double t2408 = piecewise_functor_3( t210, 0.0, t2407 ); + const double t2410 = t516 * t764; + const double t2412 = t211 * t2408; + const double t2416 = t213 * t2408; + const double t2420 = t215 * t2408; + const double t2424 = t217 * t2408; + const double t2428 = t219 * t2408; + const double t2434 = -0.64e0 * t2408 - 0.8704e0 * t2410 - 0.8704e0 * t2412 - 0.9214113627294e1 * t766 * t516 - 0.4607056813647e1 * t2416 + 0.367387230261e2 * t768 * t516 + 0.122462410087e2 * t2420 - 0.3831420472412e2 * t770 * t516 - 0.957855118103e1 * t2424 + 0.1550653405116e2 * t772 * t516 + 0.3101306810232e1 * t2428 - 0.2177652951264e1 * t774 * t516 - 0.362942158544e0 * t221 * t2408; + const double t2435 = t1493 * t779; + const double t2438 = piecewise_functor_3( t210, t2407, 0.0 ); + const double t2442 = t1503 * t779; + const double t2446 = piecewise_functor_3( t209, t2434, -0.21e1 * t2435 * t1872 - 0.105e1 * t532 * t2438 * t230 - 0.1575e1 * t2442 * t1872 ); + const double t2447 = t2446 * t269; + const double t2448 = t783 * t576; + const double t2449 = t537 * t786; + const double t2450 = 0.30487649791575028312e-3 * t2324; + const double t2451 = 0.43368970657079495308e-4 * t2334; + const double t2452 = 0.81300399444200075499e-3 * t2338; + const double t2453 = 0.30487649791575028312e-3 * t2345; + const double t2456 = -t2450 + t2451 - t2452 - t2453 - 0.72042316457491791901e-3 * t2350 + 0.30487649791575028312e-3 * t2354 - t2360 + t2361 + t2362 - t2363 + t2364 + t2365; + const double t2457 = t232 * t2456; + const double t2460 = t601 * t383; + const double t2461 = t2460 * t698; + const double t2462 = t2461 * t702; + const double t2463 = 0.69504740211613770831e-3 * t2462; + const double t2465 = t2196 * t2197 * t621; + const double t2466 = t2195 * t2465; + const double t2467 = 0.86880925264517213539e-3 * t2466; + const double t2469 = t2196 * t2217 * t628; + const double t2470 = t699 * t2469; + const double t2471 = 0.69504740211613770831e-3 * t2470; + const double t2472 = t706 * t647; + const double t2473 = t455 * t2472; + const double t2476 = t706 * t652; + const double t2477 = t487 * t2476; + const double t2480 = t706 * t662; + const double t2481 = t495 * t2480; + const double t2484 = t718 * t2472; + const double t2487 = t2266 * t2476; + const double t2490 = t2270 * t2480; + const double t2493 = 0.6e1 * t1417 * t2473 - 0.8e1 * t2250 * t2484 - 0.9e1 * t454 * t2477 - 0.3e1 * t454 * t2481 + 0.1e2 * t715 * t2487 + 0.4e1 * t715 * t2490 + t2223 - t2231 + t2244 - t2248 + t2263 - t2276; + const double t2494 = piecewise_functor_3( t210, 0.0, t2493 ); + const double t2496 = t666 * t723; + const double t2498 = t211 * t2494; + const double t2502 = t213 * t2494; + const double t2506 = t215 * t2494; + const double t2510 = t217 * t2494; + const double t2514 = t219 * t2494; + const double t2520 = -0.64e0 * t2494 - 0.8704e0 * t2496 - 0.8704e0 * t2498 - 0.9214113627294e1 * t725 * t666 - 0.4607056813647e1 * t2502 + 0.367387230261e2 * t727 * t666 + 0.122462410087e2 * t2506 - 0.3831420472412e2 * t729 * t666 - 0.957855118103e1 * t2510 + 0.1550653405116e2 * t731 * t666 + 0.3101306810232e1 * t2514 - 0.2177652951264e1 * t733 * t666 - 0.362942158544e0 * t221 * t2494; + const double t2521 = t230 * t681; + const double t2524 = piecewise_functor_3( t210, t2493, 0.0 ); + const double t2531 = piecewise_functor_3( t209, t2520, -0.21e1 * t2305 * t2521 - 0.105e1 * t532 * t2524 * t230 - 0.1575e1 * t2312 * t2521 ); + const double t2532 = t2531 * t269; + const double t2533 = t742 * t693; + const double t2534 = t685 * t751; + const double t2536 = t2341 * t2348 * t687; + const double t2538 = t746 * t691; + const double t2540 = t744 * t745 * t2538; + const double t2542 = -t2325 + t2335 - t2339 - t2346 - 0.36021158228745895953e-3 * t2536 + 0.15243824895787514157e-3 * t2540 - t2463 + t2467 + t2206 - t2212 + t2216 + t2471; + const double t2543 = t232 * t2542; + const double t2546 = 0.13900948042322754166e-2 * t2462; + const double t2547 = 0.17376185052903442708e-2 * t2466; + const double t2548 = 0.13900948042322754166e-2 * t2470; + const double t2549 = t756 * t647; + const double t2550 = t455 * t2549; + const double t2553 = t756 * t652; + const double t2554 = t487 * t2553; + const double t2557 = t756 * t662; + const double t2558 = t495 * t2557; + const double t2561 = t718 * t2549; + const double t2564 = t2266 * t2553; + const double t2567 = t2270 * t2557; + const double t2570 = 0.6e1 * t1417 * t2550 - 0.8e1 * t2250 * t2561 - 0.9e1 * t454 * t2554 - 0.3e1 * t454 * t2558 + 0.1e2 * t715 * t2564 + 0.4e1 * t715 * t2567 + t2367 - t2375 + t2388 - t2390 + t2397 - t2406; + const double t2571 = piecewise_functor_3( t210, 0.0, t2570 ); + const double t2573 = t666 * t764; + const double t2575 = t211 * t2571; + const double t2579 = t213 * t2571; + const double t2583 = t215 * t2571; + const double t2587 = t217 * t2571; + const double t2591 = t219 * t2571; + const double t2597 = -0.64e0 * t2571 - 0.8704e0 * t2573 - 0.8704e0 * t2575 - 0.9214113627294e1 * t766 * t666 - 0.4607056813647e1 * t2579 + 0.367387230261e2 * t768 * t666 + 0.122462410087e2 * t2583 - 0.3831420472412e2 * t770 * t666 - 0.957855118103e1 * t2587 + 0.1550653405116e2 * t772 * t666 + 0.3101306810232e1 * t2591 - 0.2177652951264e1 * t774 * t666 - 0.362942158544e0 * t221 * t2571; + const double t2600 = piecewise_functor_3( t210, t2570, 0.0 ); + const double t2607 = piecewise_functor_3( t209, t2597, -0.21e1 * t2435 * t2521 - 0.105e1 * t532 * t2600 * t230 - 0.1575e1 * t2442 * t2521 ); + const double t2608 = t2607 * t269; + const double t2609 = t783 * t693; + const double t2610 = t685 * t786; + const double t2613 = -t2450 + t2451 - t2452 - t2453 - 0.72042316457491791901e-3 * t2536 + 0.30487649791575028312e-3 * t2540 - t2546 + t2547 + t2362 - t2363 + t2364 + t2548; + const double t2614 = t232 * t2613; + const double t2617 = t817 * t269; + const double t2619 = 0.15e2 * t504 * t791; + const double t2620 = t790 * t472; + const double t2621 = t455 * t2620; + const double t2624 = t206 * t790; + const double t2625 = t2624 * t183; + const double t2627 = 0.9e1 / 0.2e1 * t1447 * t2625; + const double t2628 = t790 * t489; + const double t2629 = t487 * t2628; + const double t2632 = t790 * t512; + const double t2633 = t495 * t2632; + const double t2637 = t152 * t156; + const double t2641 = piecewise_functor_3( t174, -0.5e1 / 0.3e1 * t458 * t157 + 0.5e1 / 0.3e1 * t2637 * t462, 0.0 ); + const double t2642 = t455 * t2641; + const double t2646 = 0.5e2 / 0.3e1 * t2246 * t794; + const double t2647 = t718 * t2620; + const double t2650 = t494 * t790; + const double t2651 = t2650 * t183; + const double t2653 = 0.5e1 * t2259 * t2651; + const double t2654 = t2266 * t2628; + const double t2657 = t2270 * t2632; + const double t2660 = t718 * t2641; + const double t2663 = 0.6e1 * t1417 * t2621 - 0.8e1 * t2250 * t2647 - 0.9e1 * t454 * t2629 - 0.3e1 * t454 * t2633 + 0.3e1 * t454 * t2642 + 0.1e2 * t715 * t2654 + 0.4e1 * t715 * t2657 - 0.2e1 * t715 * t2660 + t2619 - t2627 - t2646 + t2653; + const double t2664 = piecewise_functor_3( t210, 0.0, t2663 ); + const double t2666 = t516 * t798; + const double t2668 = t211 * t2664; + const double t2672 = t213 * t2664; + const double t2676 = t215 * t2664; + const double t2680 = t217 * t2664; + const double t2684 = t219 * t2664; + const double t2690 = -0.64e0 * t2664 - 0.8704e0 * t2666 - 0.8704e0 * t2668 - 0.9214113627294e1 * t800 * t516 - 0.4607056813647e1 * t2672 + 0.367387230261e2 * t802 * t516 + 0.122462410087e2 * t2676 - 0.3831420472412e2 * t804 * t516 - 0.957855118103e1 * t2680 + 0.1550653405116e2 * t806 * t516 + 0.3101306810232e1 * t2684 - 0.2177652951264e1 * t808 * t516 - 0.362942158544e0 * t221 * t2664; + const double t2691 = t1493 * t813; + const double t2694 = piecewise_functor_3( t210, t2663, 0.0 ); + const double t2698 = t1503 * t813; + const double t2702 = piecewise_functor_3( t209, t2690, -0.21e1 * t2691 * t1872 - 0.105e1 * t532 * t2694 * t230 - 0.1575e1 * t2698 * t1872 ); + const double t2703 = t8 * t2702; + const double t2706 = t847 * t269; + const double t2708 = 0.15e2 * t504 * t821; + const double t2709 = t820 * t472; + const double t2710 = t455 * t2709; + const double t2713 = t206 * t820; + const double t2714 = t2713 * t183; + const double t2716 = 0.9e1 / 0.2e1 * t1447 * t2714; + const double t2717 = t820 * t489; + const double t2718 = t487 * t2717; + const double t2721 = t820 * t512; + const double t2722 = t495 * t2721; + const double t2725 = t162 * t166; + const double t2728 = piecewise_functor_3( t174, 0.5e1 / 0.3e1 * t2725 * t466, 0.0 ); + const double t2729 = t455 * t2728; + const double t2733 = 0.5e2 / 0.3e1 * t2246 * t824; + const double t2734 = t718 * t2709; + const double t2737 = t494 * t820; + const double t2738 = t2737 * t183; + const double t2740 = 0.5e1 * t2259 * t2738; + const double t2741 = t2266 * t2717; + const double t2744 = t2270 * t2721; + const double t2747 = t718 * t2728; + const double t2750 = 0.6e1 * t1417 * t2710 - 0.8e1 * t2250 * t2734 - 0.9e1 * t454 * t2718 - 0.3e1 * t454 * t2722 + 0.3e1 * t454 * t2729 + 0.1e2 * t715 * t2741 + 0.4e1 * t715 * t2744 - 0.2e1 * t715 * t2747 + t2708 - t2716 - t2733 + t2740; + const double t2751 = piecewise_functor_3( t210, 0.0, t2750 ); + const double t2753 = t516 * t828; + const double t2755 = t211 * t2751; + const double t2759 = t213 * t2751; + const double t2763 = t215 * t2751; + const double t2767 = t217 * t2751; + const double t2771 = t219 * t2751; + const double t2777 = -0.64e0 * t2751 - 0.8704e0 * t2753 - 0.8704e0 * t2755 - 0.9214113627294e1 * t830 * t516 - 0.4607056813647e1 * t2759 + 0.367387230261e2 * t832 * t516 + 0.122462410087e2 * t2763 - 0.3831420472412e2 * t834 * t516 - 0.957855118103e1 * t2767 + 0.1550653405116e2 * t836 * t516 + 0.3101306810232e1 * t2771 - 0.2177652951264e1 * t838 * t516 - 0.362942158544e0 * t221 * t2751; + const double t2778 = t1493 * t843; + const double t2781 = piecewise_functor_3( t210, t2750, 0.0 ); + const double t2785 = t1503 * t843; + const double t2789 = piecewise_functor_3( t209, t2777, -0.21e1 * t2778 * t1872 - 0.105e1 * t532 * t2781 * t230 - 0.1575e1 * t2785 * t1872 ); + const double t2790 = t8 * t2789; + const double t2793 = t790 * t647; + const double t2794 = t455 * t2793; + const double t2797 = t790 * t652; + const double t2798 = t487 * t2797; + const double t2801 = t790 * t662; + const double t2802 = t495 * t2801; + const double t2807 = piecewise_functor_3( t174, 0.5e1 / 0.3e1 * t2637 * t632, 0.0 ); + const double t2808 = t455 * t2807; + const double t2811 = t718 * t2793; + const double t2814 = t2266 * t2797; + const double t2817 = t2270 * t2801; + const double t2820 = t718 * t2807; + const double t2823 = 0.6e1 * t1417 * t2794 - 0.8e1 * t2250 * t2811 - 0.9e1 * t454 * t2798 - 0.3e1 * t454 * t2802 + 0.3e1 * t454 * t2808 + 0.1e2 * t715 * t2814 + 0.4e1 * t715 * t2817 - 0.2e1 * t715 * t2820 + t2619 - t2627 - t2646 + t2653; + const double t2824 = piecewise_functor_3( t210, 0.0, t2823 ); + const double t2826 = t666 * t798; + const double t2828 = t211 * t2824; + const double t2832 = t213 * t2824; + const double t2836 = t215 * t2824; + const double t2840 = t217 * t2824; + const double t2844 = t219 * t2824; + const double t2850 = -0.64e0 * t2824 - 0.8704e0 * t2826 - 0.8704e0 * t2828 - 0.9214113627294e1 * t800 * t666 - 0.4607056813647e1 * t2832 + 0.367387230261e2 * t802 * t666 + 0.122462410087e2 * t2836 - 0.3831420472412e2 * t804 * t666 - 0.957855118103e1 * t2840 + 0.1550653405116e2 * t806 * t666 + 0.3101306810232e1 * t2844 - 0.2177652951264e1 * t808 * t666 - 0.362942158544e0 * t221 * t2824; + const double t2853 = piecewise_functor_3( t210, t2823, 0.0 ); + const double t2860 = piecewise_functor_3( t209, t2850, -0.21e1 * t2691 * t2521 - 0.105e1 * t532 * t2853 * t230 - 0.1575e1 * t2698 * t2521 ); + const double t2861 = t8 * t2860; + const double t2864 = t820 * t647; + const double t2865 = t455 * t2864; + const double t2868 = t820 * t652; + const double t2869 = t487 * t2868; + const double t2872 = t820 * t662; + const double t2873 = t495 * t2872; + const double t2880 = piecewise_functor_3( t174, -0.5e1 / 0.3e1 * t638 * t167 + 0.5e1 / 0.3e1 * t2725 * t642, 0.0 ); + const double t2881 = t455 * t2880; + const double t2884 = t718 * t2864; + const double t2887 = t2266 * t2868; + const double t2890 = t2270 * t2872; + const double t2893 = t718 * t2880; + const double t2896 = 0.6e1 * t1417 * t2865 - 0.8e1 * t2250 * t2884 - 0.9e1 * t454 * t2869 - 0.3e1 * t454 * t2873 + 0.3e1 * t454 * t2881 + 0.1e2 * t715 * t2887 + 0.4e1 * t715 * t2890 - 0.2e1 * t715 * t2893 + t2708 - t2716 - t2733 + t2740; + const double t2897 = piecewise_functor_3( t210, 0.0, t2896 ); + const double t2899 = t666 * t828; + const double t2901 = t211 * t2897; + const double t2905 = t213 * t2897; + const double t2909 = t215 * t2897; + const double t2913 = t217 * t2897; + const double t2917 = t219 * t2897; + const double t2923 = -0.64e0 * t2897 - 0.8704e0 * t2899 - 0.8704e0 * t2901 - 0.9214113627294e1 * t830 * t666 - 0.4607056813647e1 * t2905 + 0.367387230261e2 * t832 * t666 + 0.122462410087e2 * t2909 - 0.3831420472412e2 * t834 * t666 - 0.957855118103e1 * t2913 + 0.1550653405116e2 * t836 * t666 + 0.3101306810232e1 * t2917 - 0.2177652951264e1 * t838 * t666 - 0.362942158544e0 * t221 * t2897; + const double t2926 = piecewise_functor_3( t210, t2896, 0.0 ); + const double t2933 = piecewise_functor_3( t209, t2923, -0.21e1 * t2778 * t2521 - 0.105e1 * t532 * t2926 * t230 - 0.1575e1 * t2785 * t2521 ); + const double t2934 = t8 * t2933; + const double t2937 = 0.1e1 / t104; + const double t2938 = t2937 * t1010; + const double t2939 = t108 * t108; + const double t2940 = t2938 * t2939; + const double t2941 = t394 * t988; + const double t2942 = t2941 * t187; + const double t2943 = t2940 * t2942; + const double t2947 = t447 * t113; + const double t2948 = t2947 * t121; + const double t2949 = t2946 * t2948; + const double t2950 = t2943 * t2949; + const double t2951 = 0.71518739786987016352e-4 * t2950; + const double t2952 = safe_math::sqrt( t138 ); + const double t2954 = 0.1e1 / t2952 / t1008; + const double t2955 = t2937 * t2954; + const double t2956 = t2939 * t394; + const double t2963 = t2959 * t2944 * t7 * t1286 * t113; + const double t2964 = t2955 * t2956 * t988 * t2963; + const double t2965 = 0.1430374795739740327e-4 * t2964; + const double t2966 = t706 * t706; + const double t2967 = t455 * t2966; + const double t2970 = t718 * t2966; + const double t2973 = piecewise_functor_3( t174, 0.0, 0.0 ); + const double t2974 = t455 * t2973; + const double t2976 = 0.3e1 * t454 * t2974; + const double t2977 = t263 * t198; + const double t2978 = t23 * t2977; + const double t2979 = t711 * t175; + const double t2980 = t2978 * t2979; + const double t2982 = 0.1e1 / t478 / t191; + const double t2983 = t2980 * t2982; + const double t2985 = 0.1e1 / t485 / t195; + const double t2986 = t2985 * t1406; + const double t2987 = t2986 * t2966; + const double t2990 = t718 * t2973; + const double t2992 = 0.2e1 * t715 * t2990; + const double t2993 = 0.6e1 * t1417 * t2967 - 0.14e2 * t2250 * t2970 + 0.8e1 * t2983 * t2987 + t2976 - t2992; + const double t2994 = piecewise_functor_3( t210, 0.0, t2993 ); + const double t2996 = t723 * t723; + const double t2998 = t211 * t2994; + const double t3000 = t211 * t2996; + const double t3002 = t213 * t2994; + const double t3004 = t213 * t2996; + const double t3006 = t215 * t2994; + const double t3008 = t215 * t2996; + const double t3010 = t217 * t2994; + const double t3012 = t217 * t2996; + const double t3014 = t219 * t2994; + const double t3020 = -0.64e0 * t2994 - 0.8704e0 * t2996 - 0.8704e0 * t2998 - 0.9214113627294e1 * t3000 - 0.4607056813647e1 * t3002 + 0.367387230261e2 * t3004 + 0.122462410087e2 * t3006 - 0.3831420472412e2 * t3008 - 0.957855118103e1 * t3010 + 0.1550653405116e2 * t3012 + 0.3101306810232e1 * t3014 - 0.2177652951264e1 * t219 * t2996 - 0.362942158544e0 * t221 * t2994; + const double t3021 = t738 * t738; + const double t3025 = piecewise_functor_3( t210, t2993, 0.0 ); + const double t3029 = t1503 * t3021; + const double t3033 = piecewise_functor_3( t209, t3020, -0.21e1 * t1493 * t3021 * t230 - 0.105e1 * t532 * t3025 * t230 - 0.1575e1 * t3029 * t230 ); + const double t3034 = t3033 * t269; + const double t3036 = 0.2e1 * t742 * t751; + const double t3037 = t974 * t2326; + const double t3038 = t9 * t148; + const double t3039 = 0.1e1 / t3038; + const double t3040 = t57 * t3039; + const double t3042 = t3037 * t3040 * t747; + const double t3044 = t240 * t240; + const double t3045 = safe_math::sqrt( t247 ); + const double t3047 = 0.1e1 / t3045 / t971; + const double t3048 = t3044 * t3047; + const double t3049 = t3048 * t2326; + const double t3050 = t998 * t259; + const double t3051 = t3050 * t267; + const double t3053 = t3049 * t3040 * t3051; + const double t3055 = -0.81316819982024053709e-5 * t3042 - 0.16263363996404810741e-5 * t3053 + t2951 + t2965; + const double t3056 = t232 * t3055; + const double t3058 = 0.1430374795739740327e-3 * t2950; + const double t3059 = 0.2860749591479480654e-4 * t2964; + const double t3060 = t756 * t706; + const double t3061 = t455 * t3060; + const double t3064 = t718 * t3060; + const double t3067 = t2986 * t3060; + const double t3070 = 0.6e1 * t1417 * t3061 - 0.14e2 * t2250 * t3064 + 0.8e1 * t2983 * t3067 + t2976 - t2992; + const double t3071 = piecewise_functor_3( t210, 0.0, t3070 ); + const double t3073 = t723 * t764; + const double t3075 = t211 * t3071; + const double t3079 = t213 * t3071; + const double t3083 = t215 * t3071; + const double t3087 = t217 * t3071; + const double t3091 = t219 * t3071; + const double t3097 = -0.64e0 * t3071 - 0.8704e0 * t3073 - 0.8704e0 * t3075 - 0.9214113627294e1 * t766 * t723 - 0.4607056813647e1 * t3079 + 0.367387230261e2 * t768 * t723 + 0.122462410087e2 * t3083 - 0.3831420472412e2 * t770 * t723 - 0.957855118103e1 * t3087 + 0.1550653405116e2 * t772 * t723 + 0.3101306810232e1 * t3091 - 0.2177652951264e1 * t774 * t723 - 0.362942158544e0 * t221 * t3071; + const double t3098 = t230 * t738; + const double t3101 = piecewise_functor_3( t210, t3070, 0.0 ); + const double t3108 = piecewise_functor_3( t209, t3097, -0.21e1 * t2435 * t3098 - 0.105e1 * t532 * t3101 * t230 - 0.1575e1 * t2442 * t3098 ); + const double t3109 = t3108 * t269; + const double t3110 = t783 * t751; + const double t3111 = t742 * t786; + const double t3112 = 0.16263363996404810741e-4 * t3042; + const double t3114 = -t3112 - 0.3252672799280962148e-5 * t3053 + t3058 + t3059; + const double t3115 = t232 * t3114; + const double t3117 = 0.2860749591479480654e-3 * t2950; + const double t3118 = 0.57214991829589613078e-4 * t2964; + const double t3119 = t756 * t756; + const double t3120 = t455 * t3119; + const double t3123 = t718 * t3119; + const double t3126 = t2986 * t3119; + const double t3129 = 0.6e1 * t1417 * t3120 - 0.14e2 * t2250 * t3123 + 0.8e1 * t2983 * t3126 + t2976 - t2992; + const double t3130 = piecewise_functor_3( t210, 0.0, t3129 ); + const double t3132 = t764 * t764; + const double t3134 = t211 * t3130; + const double t3136 = t211 * t3132; + const double t3138 = t213 * t3130; + const double t3140 = t213 * t3132; + const double t3142 = t215 * t3130; + const double t3144 = t215 * t3132; + const double t3146 = t217 * t3130; + const double t3148 = t217 * t3132; + const double t3150 = t219 * t3130; + const double t3156 = -0.64e0 * t3130 - 0.8704e0 * t3132 - 0.8704e0 * t3134 - 0.9214113627294e1 * t3136 - 0.4607056813647e1 * t3138 + 0.367387230261e2 * t3140 + 0.122462410087e2 * t3142 - 0.3831420472412e2 * t3144 - 0.957855118103e1 * t3146 + 0.1550653405116e2 * t3148 + 0.3101306810232e1 * t3150 - 0.2177652951264e1 * t219 * t3132 - 0.362942158544e0 * t221 * t3130; + const double t3157 = t779 * t779; + const double t3161 = piecewise_functor_3( t210, t3129, 0.0 ); + const double t3165 = t1503 * t3157; + const double t3169 = piecewise_functor_3( t209, t3156, -0.21e1 * t1493 * t3157 * t230 - 0.105e1 * t532 * t3161 * t230 - 0.1575e1 * t3165 * t230 ); + const double t3170 = t3169 * t269; + const double t3172 = 0.2e1 * t783 * t786; + const double t3175 = -0.3252672799280962148e-4 * t3042 - 0.65053455985619242961e-5 * t3053 + t3117 + t3118; + const double t3176 = t232 * t3175; + const double t3178 = 0.28607495914794806539e-4 * t2964; + const double t3180 = -t3112 - 0.32526727992809621482e-5 * t3053 + t3058 + t3178; + const double t3181 = t232 * t3180; + const double t3183 = t790 * t706; + const double t3184 = t455 * t3183; + const double t3187 = t718 * t3183; + const double t3190 = t2986 * t3183; + const double t3193 = 0.6e1 * t1417 * t3184 - 0.14e2 * t2250 * t3187 + 0.8e1 * t2983 * t3190 + t2976 - t2992; + const double t3194 = piecewise_functor_3( t210, 0.0, t3193 ); + const double t3196 = t723 * t798; + const double t3198 = t211 * t3194; + const double t3202 = t213 * t3194; + const double t3206 = t215 * t3194; + const double t3210 = t217 * t3194; + const double t3214 = t219 * t3194; + const double t3220 = -0.64e0 * t3194 - 0.8704e0 * t3196 - 0.8704e0 * t3198 - 0.9214113627294e1 * t800 * t723 - 0.4607056813647e1 * t3202 + 0.367387230261e2 * t802 * t723 + 0.122462410087e2 * t3206 - 0.3831420472412e2 * t804 * t723 - 0.957855118103e1 * t3210 + 0.1550653405116e2 * t806 * t723 + 0.3101306810232e1 * t3214 - 0.2177652951264e1 * t808 * t723 - 0.362942158544e0 * t221 * t3194; + const double t3223 = piecewise_functor_3( t210, t3193, 0.0 ); + const double t3230 = piecewise_functor_3( t209, t3220, -0.21e1 * t2691 * t3098 - 0.105e1 * t532 * t3223 * t230 - 0.1575e1 * t2698 * t3098 ); + const double t3231 = t8 * t3230; + const double t3234 = t820 * t706; + const double t3235 = t455 * t3234; + const double t3238 = t718 * t3234; + const double t3241 = t2986 * t3234; + const double t3244 = 0.6e1 * t1417 * t3235 - 0.14e2 * t2250 * t3238 + 0.8e1 * t2983 * t3241 + t2976 - t2992; + const double t3245 = piecewise_functor_3( t210, 0.0, t3244 ); + const double t3247 = t723 * t828; + const double t3249 = t211 * t3245; + const double t3253 = t213 * t3245; + const double t3257 = t215 * t3245; + const double t3261 = t217 * t3245; + const double t3265 = t219 * t3245; + const double t3271 = -0.64e0 * t3245 - 0.8704e0 * t3247 - 0.8704e0 * t3249 - 0.9214113627294e1 * t830 * t723 - 0.4607056813647e1 * t3253 + 0.367387230261e2 * t832 * t723 + 0.122462410087e2 * t3257 - 0.3831420472412e2 * t834 * t723 - 0.957855118103e1 * t3261 + 0.1550653405116e2 * t836 * t723 + 0.3101306810232e1 * t3265 - 0.2177652951264e1 * t838 * t723 - 0.362942158544e0 * t221 * t3245; + const double t3274 = piecewise_functor_3( t210, t3244, 0.0 ); + const double t3281 = piecewise_functor_3( t209, t3271, -0.21e1 * t2778 * t3098 - 0.105e1 * t532 * t3274 * t230 - 0.1575e1 * t2785 * t3098 ); + const double t3282 = t8 * t3281; + const double t3285 = t790 * t756; + const double t3286 = t455 * t3285; + const double t3289 = t718 * t3285; + const double t3292 = t2986 * t3285; + const double t3295 = 0.6e1 * t1417 * t3286 - 0.14e2 * t2250 * t3289 + 0.8e1 * t2983 * t3292 + t2976 - t2992; + const double t3296 = piecewise_functor_3( t210, 0.0, t3295 ); + const double t3298 = t764 * t798; + const double t3300 = t211 * t3296; + const double t3304 = t213 * t3296; + const double t3308 = t215 * t3296; + const double t3312 = t217 * t3296; + const double t3316 = t219 * t3296; + const double t3322 = -0.64e0 * t3296 - 0.8704e0 * t3298 - 0.8704e0 * t3300 - 0.9214113627294e1 * t800 * t764 - 0.4607056813647e1 * t3304 + 0.367387230261e2 * t802 * t764 + 0.122462410087e2 * t3308 - 0.3831420472412e2 * t804 * t764 - 0.957855118103e1 * t3312 + 0.1550653405116e2 * t806 * t764 + 0.3101306810232e1 * t3316 - 0.2177652951264e1 * t808 * t764 - 0.362942158544e0 * t221 * t3296; + const double t3323 = t230 * t779; + const double t3326 = piecewise_functor_3( t210, t3295, 0.0 ); + const double t3333 = piecewise_functor_3( t209, t3322, -0.21e1 * t2691 * t3323 - 0.105e1 * t532 * t3326 * t230 - 0.1575e1 * t2698 * t3323 ); + const double t3334 = t8 * t3333; + const double t3337 = t820 * t756; + const double t3338 = t455 * t3337; + const double t3341 = t718 * t3337; + const double t3344 = t2986 * t3337; + const double t3347 = 0.6e1 * t1417 * t3338 - 0.14e2 * t2250 * t3341 + 0.8e1 * t2983 * t3344 + t2976 - t2992; + const double t3348 = piecewise_functor_3( t210, 0.0, t3347 ); + const double t3350 = t764 * t828; + const double t3352 = t211 * t3348; + const double t3356 = t213 * t3348; + const double t3360 = t215 * t3348; + const double t3364 = t217 * t3348; + const double t3368 = t219 * t3348; + const double t3374 = -0.64e0 * t3348 - 0.8704e0 * t3350 - 0.8704e0 * t3352 - 0.9214113627294e1 * t830 * t764 - 0.4607056813647e1 * t3356 + 0.367387230261e2 * t832 * t764 + 0.122462410087e2 * t3360 - 0.3831420472412e2 * t834 * t764 - 0.957855118103e1 * t3364 + 0.1550653405116e2 * t836 * t764 + 0.3101306810232e1 * t3368 - 0.2177652951264e1 * t838 * t764 - 0.362942158544e0 * t221 * t3348; + const double t3377 = piecewise_functor_3( t210, t3347, 0.0 ); + const double t3384 = piecewise_functor_3( t209, t3374, -0.21e1 * t2778 * t3323 - 0.105e1 * t532 * t3377 * t230 - 0.1575e1 * t2785 * t3323 ); + const double t3385 = t8 * t3384; + const double t3388 = t790 * t790; + const double t3389 = t455 * t3388; + const double t3392 = t718 * t3388; + const double t3395 = t2986 * t3388; + const double t3398 = 0.6e1 * t1417 * t3389 - 0.14e2 * t2250 * t3392 + 0.8e1 * t2983 * t3395 + t2976 - t2992; + const double t3399 = piecewise_functor_3( t210, 0.0, t3398 ); + const double t3401 = t798 * t798; + const double t3403 = t211 * t3399; + const double t3405 = t211 * t3401; + const double t3407 = t213 * t3399; + const double t3409 = t213 * t3401; + const double t3411 = t215 * t3399; + const double t3413 = t215 * t3401; + const double t3415 = t217 * t3399; + const double t3417 = t217 * t3401; + const double t3419 = t219 * t3399; + const double t3425 = -0.64e0 * t3399 - 0.8704e0 * t3401 - 0.8704e0 * t3403 - 0.9214113627294e1 * t3405 - 0.4607056813647e1 * t3407 + 0.367387230261e2 * t3409 + 0.122462410087e2 * t3411 - 0.3831420472412e2 * t3413 - 0.957855118103e1 * t3415 + 0.1550653405116e2 * t3417 + 0.3101306810232e1 * t3419 - 0.2177652951264e1 * t219 * t3401 - 0.362942158544e0 * t221 * t3399; + const double t3426 = t813 * t813; + const double t3430 = piecewise_functor_3( t210, t3398, 0.0 ); + const double t3434 = t1503 * t3426; + const double t3438 = piecewise_functor_3( t209, t3425, -0.21e1 * t1493 * t3426 * t230 - 0.105e1 * t532 * t3430 * t230 - 0.1575e1 * t3434 * t230 ); + const double t3439 = t8 * t3438; + const double t3440 = t820 * t790; + const double t3441 = t455 * t3440; + const double t3444 = t718 * t3440; + const double t3447 = t2986 * t3440; + const double t3450 = 0.6e1 * t1417 * t3441 - 0.14e2 * t2250 * t3444 + 0.8e1 * t2983 * t3447 + t2976 - t2992; + const double t3451 = piecewise_functor_3( t210, 0.0, t3450 ); + const double t3453 = t798 * t828; + const double t3455 = t211 * t3451; + const double t3459 = t213 * t3451; + const double t3463 = t215 * t3451; + const double t3467 = t217 * t3451; + const double t3471 = t219 * t3451; + const double t3477 = -0.64e0 * t3451 - 0.8704e0 * t3453 - 0.8704e0 * t3455 - 0.9214113627294e1 * t830 * t798 - 0.4607056813647e1 * t3459 + 0.367387230261e2 * t832 * t798 + 0.122462410087e2 * t3463 - 0.3831420472412e2 * t834 * t798 - 0.957855118103e1 * t3467 + 0.1550653405116e2 * t836 * t798 + 0.3101306810232e1 * t3471 - 0.2177652951264e1 * t838 * t798 - 0.362942158544e0 * t221 * t3451; + const double t3478 = t230 * t813; + const double t3481 = piecewise_functor_3( t210, t3450, 0.0 ); + const double t3488 = piecewise_functor_3( t209, t3477, -0.21e1 * t2778 * t3478 - 0.105e1 * t532 * t3481 * t230 - 0.1575e1 * t2785 * t3478 ); + const double t3489 = t8 * t3488; + const double t3490 = t820 * t820; + const double t3491 = t455 * t3490; + const double t3494 = t718 * t3490; + const double t3497 = t2986 * t3490; + const double t3500 = 0.6e1 * t1417 * t3491 - 0.14e2 * t2250 * t3494 + 0.8e1 * t2983 * t3497 + t2976 - t2992; + const double t3501 = piecewise_functor_3( t210, 0.0, t3500 ); + const double t3503 = t828 * t828; + const double t3505 = t211 * t3501; + const double t3507 = t211 * t3503; + const double t3509 = t213 * t3501; + const double t3511 = t213 * t3503; + const double t3513 = t215 * t3501; + const double t3515 = t215 * t3503; + const double t3517 = t217 * t3501; + const double t3519 = t217 * t3503; + const double t3521 = t219 * t3501; + const double t3527 = -0.64e0 * t3501 - 0.8704e0 * t3503 - 0.8704e0 * t3505 - 0.9214113627294e1 * t3507 - 0.4607056813647e1 * t3509 + 0.367387230261e2 * t3511 + 0.122462410087e2 * t3513 - 0.3831420472412e2 * t3515 - 0.957855118103e1 * t3517 + 0.1550653405116e2 * t3519 + 0.3101306810232e1 * t3521 - 0.2177652951264e1 * t219 * t3503 - 0.362942158544e0 * t221 * t3501; + const double t3528 = t843 * t843; + const double t3532 = piecewise_functor_3( t210, t3500, 0.0 ); + const double t3536 = t1503 * t3528; + const double t3540 = piecewise_functor_3( t209, t3527, -0.21e1 * t1493 * t3528 * t230 - 0.105e1 * t532 * t3532 * t230 - 0.1575e1 * t3536 * t230 ); + const double t3541 = t8 * t3540; + + + v2rho2_aa = t8 * ( t1303 + t1510 ) + 0.2e1 * t449 + 0.2e1 * t577 + 0.2e1 * t538 - t1516 + t1517 - t1518 + 0.6e1 * t380 + t1520 + 0.2e1 * t322 + t1522 - t1523 + t1524 + 0.39503346997227602814e-1 * t356; + v2rho2_ab = t8 * ( t1591 + t1906 ) + t631 + t694 + t686 + t604 + t591 + t593 + t449 + t577 + t538 - t1516 - t1518 + t381 + t1520 + t322 + t1522 - t1523 + t1524 + t357; + v2rho2_bb = t8 * ( t2048 + t2181 ) + 0.2e1 * t631 + 0.2e1 * t694 + 0.2e1 * t686 + 0.6e1 * t603 + 0.2e1 * t591 + 0.39503346997227602814e-1 * t592 - t1516 - t1517 - t1518 + t1520 + t1522 - t1523 + t1524; + v2rhosigma_a_aa = t704 + t743 + t752 + t8 * ( t2193 - t2201 - t2206 + t2212 - t2216 - t2221 + t2317 + t2318 + t2319 + t2357 ); + v2rhosigma_a_ab = t754 + t784 + t787 + t8 * ( t2360 - t2361 - t2362 + t2363 - t2364 - t2365 + t2447 + t2448 + t2449 + t2457 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t704 + t743 + t752 + t8 * ( t2463 - t2467 - t2206 + t2212 - t2216 - t2471 + t2532 + t2533 + t2534 + t2543 ); + v2rhosigma_b_ab = t754 + t784 + t787 + t8 * ( t2546 - t2547 - t2362 + t2363 - t2364 - t2548 + t2608 + t2609 + t2610 + t2614 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2703 * t269 + t818 * t576 + t2617; + v2rhotau_a_b = t2790 * t269 + t848 * t576 + t2706; + v2rhotau_b_a = t2861 * t269 + t818 * t693 + t2617; + v2rhotau_b_b = t2934 * t269 + t848 * t693 + t2706; + v2sigma2_aa_aa = t8 * ( -t2951 - t2965 + t3034 + t3036 + t3056 ); + v2sigma2_aa_ab = t8 * ( -t3058 - t3059 + t3109 + t3110 + t3111 + t3115 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t8 * ( -t3117 - t3118 + t3170 + t3172 + t3176 ); + v2sigma2_ab_bb = t8 * ( -t3058 - t3178 + t3109 + t3111 + t3110 + t3181 ); + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t3231 * t269 + t818 * t751; + v2sigmatau_aa_b = t3282 * t269 + t848 * t751; + v2sigmatau_ab_a = t3334 * t269 + t818 * t786; + v2sigmatau_ab_b = t3385 * t269 + t848 * t786; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t3439 * t269; + v2tau2_ab = t3489 * t269; + v2tau2_bb = t3541 * t269; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t179 = constants::m_cbrt_6; + constexpr double t181 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t132 = 0.1e1 / t4; + constexpr double t133 = t20 * t132; + constexpr double t134 = t133 * t6; + constexpr double t180 = t179 * t179; + constexpr double t182 = t181 * t181; + constexpr double t183 = t180 * t182; + constexpr double t187 = t57 * t57; + constexpr double t241 = 0.1e1 / t182; + constexpr double t242 = t179 * t241; + constexpr double t282 = t4 * t7; + constexpr double t408 = t132 * t6; + constexpr double t553 = t241 * t187; + constexpr double t700 = t57 * t20; + constexpr double t859 = t21 * t6; + constexpr double t894 = t5 * t7; + constexpr double t976 = t181 * t95; + constexpr double t977 = 0.1e1 / t976; + constexpr double t978 = t977 * t57; + constexpr double t1432 = t179 * t976; + constexpr double t2196 = t700 * t132; + constexpr double t2326 = t180 * t977; + constexpr double t2327 = t2326 * t57; + constexpr double t2340 = t242 * t187; + constexpr double t2944 = 0.1e1 / t21; + constexpr double t2946 = t2 * t2944 * t7; + constexpr double t2959 = t187 * t2; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t12 = t5 * t7 / t9; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t18 = pow_3_2( t12 ); + const double t23 = t9 * t9; + const double t24 = 0.1e1 / t23; + const double t26 = t22 * t6 * t24; + const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 + 0.25e-1 * t12; + const double t110 = 0.1e1 + 0.4445e-1 * t12; + const double t111 = 0.1e1 / t110; + const double t112 = t108 * t111; + const double t113 = 0.1e1 / t94; + const double t115 = ( -t34 + t90 + t92 ) * t113; + const double t116 = 0.1e1 / t106; + const double t117 = t95 * t116; + const double t119 = safe_math::exp( -t115 * t117 ); + const double t120 = t119 - 0.1e1; + const double t121 = 0.1e1 / t120; + const double t122 = t113 * t121; + const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t125 = t122 * t124; + const double t126 = t112 * t125; + const double t127 = t9 * t38; + const double t128 = 0.1e1 / t127; + const double t129 = t128 * t57; + const double t130 = 0.1e1 / t105; + const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; + const double t139 = pow_1_4( t138 ); + const double t141 = 0.1e1 - 0.1e1 / t139; + const double t144 = 0.1e1 + 0.1e1 * t141 * t120; + const double t145 = safe_math::log( t144 ); + const double t147 = t97 * t106 * t145; + const double t148 = t39 * t8; + const double t149 = safe_math::cbrt( rho_a ); + const double t150 = t149 * t149; + const double t152 = 0.1e1 / t150 / rho_a; + const double t153 = tau_a * t152; + const double t154 = t44 / 0.2e1; + const double t155 = safe_math::cbrt( t154 ); + const double t156 = t155 * t155; + const double t157 = t156 * t154; + const double t159 = safe_math::cbrt( rho_b ); + const double t160 = t159 * t159; + const double t162 = 0.1e1 / t160 / rho_b; + const double t163 = tau_b * t162; + const double t164 = t51 / 0.2e1; + const double t165 = safe_math::cbrt( t164 ); + const double t166 = t165 * t165; + const double t167 = t166 * t164; + const double t169 = t23 * t38; + const double t170 = 0.1e1 / t169; + const double t173 = t153 * t157 + t163 * t167 - t124 * t170 / 0.8e1; + const double t174 = 0.e0 < t173; + const double t175 = piecewise_functor_3( t174, t173, 0.0 ); + const double t176 = t175 * t175; + const double t177 = t176 * t175; + const double t178 = t148 * t177; + const double t184 = t23 * t8; + const double t189 = 0.3e1 / 0.1e2 * t183 * t184 + 0.1e-3 * t187; + const double t190 = t189 * t189; + const double t191 = t190 * t189; + const double t192 = 0.1e1 / t191; + const double t193 = t157 + t167; + const double t194 = t193 * t193; + const double t195 = t194 * t193; + const double t196 = 0.1e1 / t195; + const double t197 = t192 * t196; + const double t198 = t38 * t8; + const double t199 = t9 * t198; + const double t200 = t199 * t176; + const double t201 = 0.1e1 / t190; + const double t202 = 0.1e1 / t194; + const double t203 = t201 * t202; + const double t205 = t200 * t203 + 0.1e-2; + const double t206 = 0.1e1 / t205; + const double t207 = t197 * t206; + const double t208 = t178 * t207; + const double t209 = t208 <= 0.25e1; + const double t210 = 0.25e1 < t208; + const double t211 = piecewise_functor_3( t210, 2.5, t208 ); + const double t213 = t211 * t211; + const double t215 = t213 * t211; + const double t217 = t213 * t213; + const double t219 = t217 * t211; + const double t221 = t217 * t213; + const double t226 = piecewise_functor_3( t210, t208, 2.5 ); + const double t227 = 0.1e1 - t226; + const double t230 = safe_math::exp( 0.15e1 / t227 ); + const double t232 = piecewise_functor_3( t209, 0.1e1 - 0.64e0 * t211 - 0.4352e0 * t213 - 0.1535685604549e1 * t215 + 0.3061560252175e1 * t217 - 0.1915710236206e1 * t219 + 0.516884468372e0 * t221 - 0.51848879792e-1 * t217 * t215, -0.7e0 * t230 ); + const double t235 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; + const double t236 = 0.1e1 / t235; + const double t239 = safe_math::exp( 0.1e1 * t236 ); + const double t240 = t239 - 0.1e1; + const double t243 = t187 * t124; + const double t247 = 0.1e1 + 0.21337642104376358333e-1 * t242 * t243 * t170; + const double t248 = pow_1_4( t247 ); + const double t250 = 0.1e1 - 0.1e1 / t248; + const double t252 = t240 * t250 + 0.1e1; + const double t253 = safe_math::log( t252 ); + const double t255 = -0.285764e-1 * t236 + 0.285764e-1 * t253; + const double t259 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t260 = t255 * t259; + const double t261 = t37 * t37; + const double t262 = t261 * t37; + const double t263 = t39 * t39; + const double t264 = t263 * t39; + const double t265 = 0.1e1 / t264; + const double t267 = -t262 * t265 + 0.1e1; + const double t269 = t260 * t267 - t147 + t34 - t90 - t92; + const double t270 = t232 * t269; + const double t271 = t9 * t8; + const double t272 = 0.1e1 / t271; + const double t273 = t7 * t272; + const double t275 = t5 * t273 * t32; + const double t276 = 0.11073470983333333333e-2 * t275; + const double t277 = t28 * t28; + const double t278 = 0.1e1 / t277; + const double t279 = t14 * t278; + const double t281 = 0.1e1 / t15 * t2; + const double t283 = t282 * t272; + const double t284 = t281 * t283; + const double t286 = t5 * t273; + const double t288 = safe_math::sqrt( t12 ); + const double t289 = t288 * t2; + const double t290 = t289 * t283; + const double t294 = t22 * t6 / t184; + const double t296 = -0.632975e0 * t284 - 0.29896666666666666667e0 * t286 - 0.1023875e0 * t290 - 0.82156666666666666667e-1 * t294; + const double t297 = 0.1e1 / t31; + const double t298 = t296 * t297; + const double t299 = t279 * t298; + const double t300 = 0.1e1 * t299; + const double t301 = t36 * t35; + const double t302 = t301 * t40; + const double t303 = t302 * t89; + const double t304 = 0.4e1 * t303; + const double t305 = 0.1e1 / t148; + const double t306 = t37 * t305; + const double t307 = t306 * t89; + const double t308 = 0.4e1 * t307; + const double t309 = 0.1e1 / t38; + const double t310 = t35 * t309; + const double t311 = t42 - t310; + const double t314 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t311 ); + const double t315 = -t311; + const double t318 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t315 ); + const double t319 = t314 + t318; + const double t320 = t319 * t60; + const double t321 = t320 * t88; + const double t322 = t41 * t321; + const double t326 = t68 * t68; + const double t327 = 0.1e1 / t326; + const double t328 = t63 * t327; + const double t333 = -0.1176575e1 * t284 - 0.516475e0 * t286 - 0.2103875e0 * t290 - 0.104195e0 * t294; + const double t334 = 0.1e1 / t71; + const double t335 = t333 * t334; + const double t341 = t81 * t81; + const double t342 = 0.1e1 / t341; + const double t343 = t76 * t342; + const double t348 = -0.86308333333333333334e0 * t284 - 0.301925e0 * t286 - 0.5501625e-1 * t290 - 0.82785e-1 * t294; + const double t349 = 0.1e1 / t84; + const double t350 = t348 * t349; + const double t353 = 0.53237641966666666666e-3 * t5 * t273 * t72 + 0.1e1 * t328 * t335 - t276 - t300 + 0.18311447306006545054e-3 * t5 * t273 * t85 + 0.5848223622634646207e0 * t343 * t350; + const double t354 = t61 * t353; + const double t355 = t41 * t354; + const double t356 = t320 * t86; + const double t357 = 0.19751673498613801407e-1 * t356; + const double t358 = t61 * t2; + const double t360 = t282 * t272 * t85; + const double t361 = t358 * t360; + const double t362 = 0.18311447306006545054e-3 * t361; + const double t363 = t61 * t76; + const double t365 = t342 * t348 * t349; + const double t366 = t363 * t365; + const double t367 = 0.5848223622634646207e0 * t366; + const double t368 = t105 * t145; + const double t369 = 0.1e1 / t48; + const double t372 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t369 * t311 ); + const double t373 = 0.1e1 / t53; + const double t376 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t373 * t315 ); + const double t378 = t372 / 0.2e1 + t376 / 0.2e1; + const double t380 = t97 * t368 * t378; + const double t381 = 0.3e1 * t380; + const double t383 = 0.1e1 / t139 / t138; + const double t384 = t23 * t198; + const double t385 = 0.1e1 / t384; + const double t386 = t385 * t111; + const double t388 = t121 * t124; + const double t389 = t57 * t130; + const double t390 = t388 * t389; + const double t392 = 0.27439371595564631661e-2 * t386 * t113 * t390; + const double t393 = t110 * t110; + const double t394 = 0.1e1 / t393; + const double t395 = t108 * t394; + const double t396 = t395 * t122; + const double t397 = t124 * t385; + const double t400 = 0.48787202696913915093e-2 * t396 * t397 * t389; + const double t401 = t112 * t113; + const double t402 = t120 * t120; + const double t403 = 0.1e1 / t402; + const double t404 = t403 * t124; + const double t406 = t401 * t404 * t128; + const double t407 = t389 * t20; + const double t410 = ( t276 + t300 + t304 - t308 + t322 + t355 + t357 - t362 - t367 ) * t113; + const double t412 = t105 * t105; + const double t413 = 0.1e1 / t412; + const double t414 = t95 * t413; + const double t415 = t414 * t378; + const double t418 = 0.3e1 * t115 * t415 - t410 * t117; + const double t419 = t418 * t119; + const double t421 = t407 * t408 * t419; + const double t424 = 0.1e1 / t199; + const double t425 = t424 * t57; + const double t429 = 0.64025200389650807209e-1 * t126 * t425 * t130 * t134; + const double t431 = t401 * t388 * t128; + const double t432 = t57 * t116; + const double t433 = t432 * t20; + const double t435 = t433 * t408 * t378; + const double t438 = -t392 + t400 - 0.27439371595564631661e-1 * t406 * t421 - t429 - 0.54878743191129263322e-1 * t431 * t435; + const double t439 = t383 * t438; + const double t445 = 0.25e0 * t439 * t120 + 0.1e1 * t141 * t418 * t119; + const double t447 = 0.1e1 / t144; + const double t449 = t97 * t106 * t445 * t447; + const double t450 = t39 * t177; + const double t452 = 0.5e1 * t450 * t207; + const double t453 = t148 * t176; + const double t454 = t453 * t192; + const double t455 = t196 * t206; + const double t456 = rho_a * rho_a; + const double t458 = 0.1e1 / t150 / t456; + const double t459 = tau_a * t458; + const double t462 = t311 / 0.2e1; + const double t463 = t156 * t462; + const double t466 = -t462; + const double t467 = t166 * t466; + const double t470 = t397 / 0.3e1; + const double t472 = piecewise_functor_3( t174, -0.5e1 / 0.3e1 * t459 * t157 + 0.5e1 / 0.3e1 * t153 * t463 + 0.5e1 / 0.3e1 * t163 * t467 + t470, 0.0 ); + const double t473 = t455 * t472; + const double t476 = t23 * t148; + const double t477 = t476 * t177; + const double t478 = t190 * t190; + const double t479 = 0.1e1 / t478; + const double t481 = t455 * t183; + const double t483 = 0.3e1 / 0.2e1 * t477 * t479 * t481; + const double t484 = t178 * t192; + const double t485 = t194 * t194; + const double t486 = 0.1e1 / t485; + const double t487 = t486 * t206; + const double t489 = 0.5e1 / 0.3e1 * t463 + 0.5e1 / 0.3e1 * t467; + const double t490 = t487 * t489; + const double t493 = t205 * t205; + const double t494 = 0.1e1 / t493; + const double t495 = t196 * t494; + const double t496 = t127 * t176; + const double t498 = 0.1e2 / 0.3e1 * t496 * t203; + const double t499 = t199 * t175; + const double t500 = t203 * t472; + const double t503 = t39 * t176; + const double t504 = t503 * t192; + const double t506 = t202 * t180 * t182; + const double t507 = t504 * t506; + const double t508 = t201 * t196; + const double t509 = t508 * t489; + const double t512 = -0.2e1 * t200 * t509 + 0.2e1 * t499 * t500 + t498 - t507; + const double t513 = t495 * t512; + const double t515 = 0.3e1 * t454 * t473 - 0.3e1 * t484 * t490 - t484 * t513 + t452 - t483; + const double t516 = piecewise_functor_3( t210, 0.0, t515 ); + const double t518 = t211 * t516; + const double t520 = t213 * t516; + const double t522 = t215 * t516; + const double t524 = t217 * t516; + const double t526 = t219 * t516; + const double t531 = t227 * t227; + const double t532 = 0.1e1 / t531; + const double t533 = piecewise_functor_3( t210, t515, 0.0 ); + const double t537 = piecewise_functor_3( t209, -0.64e0 * t516 - 0.8704e0 * t518 - 0.4607056813647e1 * t520 + 0.122462410087e2 * t522 - 0.957855118103e1 * t524 + 0.3101306810232e1 * t526 - 0.362942158544e0 * t221 * t516, -0.105e1 * t532 * t533 * t230 ); + const double t538 = t537 * t269; + const double t539 = t235 * t235; + const double t540 = 0.1e1 / t539; + const double t543 = -0.74083333333333333333e-2 * t284 - 0.1046175e-1 * t286; + const double t544 = t540 * t543; + const double t546 = t239 * t250; + const double t550 = 0.1e1 / t248 / t247; + const double t551 = t240 * t550; + const double t552 = t551 * t179; + const double t557 = -0.1e1 * t544 * t546 - 0.14225094736250905555e-1 * t552 * t553 * t397; + const double t558 = 0.1e1 / t252; + const double t561 = 0.285764e-1 * t544 + 0.285764e-1 * t557 * t558; + const double t562 = t561 * t259; + const double t563 = t562 * t267; + const double t564 = t255 * t58; + const double t565 = t320 * t267; + const double t568 = t261 * t301; + const double t569 = t568 * t265; + const double t570 = t263 * t148; + const double t571 = 0.1e1 / t570; + const double t572 = t262 * t571; + const double t574 = -0.12e2 * t569 + 0.12e2 * t572; + const double t576 = t563 - 0.2363e1 * t564 * t565 + t260 * t574 - t276 - t300 - t304 + t308 - t322 - t355 - t357 + t362 + t367 - t381 - t449; + const double t577 = t232 * t576; + const double t578 = t276 + t300 + t304 - t308 + t322 + t355 + t357 - t362 - t367 + t381 + t449 + t538 + t577; + const double t580 = -t42 - t310; + const double t583 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t580 ); + const double t584 = -t580; + const double t587 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t584 ); + const double t588 = t583 + t587; + const double t589 = t588 * t60; + const double t590 = t589 * t88; + const double t591 = t41 * t590; + const double t592 = t589 * t86; + const double t593 = 0.19751673498613801407e-1 * t592; + const double t596 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t369 * t580 ); + const double t599 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t373 * t584 ); + const double t601 = t596 / 0.2e1 + t599 / 0.2e1; + const double t603 = t97 * t368 * t601; + const double t604 = 0.3e1 * t603; + const double t606 = ( t276 + t300 - t304 - t308 + t591 + t355 + t593 - t362 - t367 ) * t113; + const double t608 = t414 * t601; + const double t611 = 0.3e1 * t115 * t608 - t606 * t117; + const double t612 = t611 * t119; + const double t614 = t407 * t408 * t612; + const double t618 = t433 * t408 * t601; + const double t621 = -t392 + t400 - 0.27439371595564631661e-1 * t406 * t614 - t429 - 0.54878743191129263322e-1 * t431 * t618; + const double t622 = t383 * t621; + const double t625 = t141 * t611; + const double t628 = 0.25e0 * t622 * t120 + 0.1e1 * t625 * t119; + const double t631 = t97 * t106 * t628 * t447; + const double t632 = t580 / 0.2e1; + const double t633 = t156 * t632; + const double t636 = rho_b * rho_b; + const double t638 = 0.1e1 / t160 / t636; + const double t639 = tau_b * t638; + const double t642 = -t632; + const double t643 = t166 * t642; + const double t647 = piecewise_functor_3( t174, 0.5e1 / 0.3e1 * t153 * t633 - 0.5e1 / 0.3e1 * t639 * t167 + 0.5e1 / 0.3e1 * t163 * t643 + t470, 0.0 ); + const double t648 = t455 * t647; + const double t652 = 0.5e1 / 0.3e1 * t633 + 0.5e1 / 0.3e1 * t643; + const double t653 = t487 * t652; + const double t656 = t203 * t647; + const double t659 = t508 * t652; + const double t662 = -0.2e1 * t200 * t659 + 0.2e1 * t499 * t656 + t498 - t507; + const double t663 = t495 * t662; + const double t665 = 0.3e1 * t454 * t648 - 0.3e1 * t484 * t653 - t484 * t663 + t452 - t483; + const double t666 = piecewise_functor_3( t210, 0.0, t665 ); + const double t668 = t211 * t666; + const double t670 = t213 * t666; + const double t672 = t215 * t666; + const double t674 = t217 * t666; + const double t676 = t219 * t666; + const double t681 = piecewise_functor_3( t210, t665, 0.0 ); + const double t685 = piecewise_functor_3( t209, -0.64e0 * t666 - 0.8704e0 * t668 - 0.4607056813647e1 * t670 + 0.122462410087e2 * t672 - 0.957855118103e1 * t674 + 0.3101306810232e1 * t676 - 0.362942158544e0 * t221 * t666, -0.105e1 * t532 * t681 * t230 ); + const double t686 = t685 * t269; + const double t687 = t589 * t267; + const double t691 = 0.12e2 * t569 + 0.12e2 * t572; + const double t693 = t563 - 0.2363e1 * t564 * t687 + t260 * t691 - t276 - t300 + t304 + t308 - t591 - t355 - t593 + t362 + t367 - t604 - t631; + const double t694 = t232 * t693; + const double t695 = t276 + t300 - t304 - t308 + t591 + t355 + t593 - t362 - t367 + t604 + t631 + t686 + t694; + const double t697 = t104 * t383; + const double t698 = t112 * t128; + const double t699 = t697 * t698; + const double t701 = t408 * t447; + const double t702 = t700 * t701; + const double t703 = t699 * t702; + const double t704 = 0.69504740211613770831e-3 * t703; + const double t706 = piecewise_functor_3( t174, -t170 / 0.8e1, 0.0 ); + const double t707 = t455 * t706; + const double t710 = t9 * t263; + const double t711 = t176 * t176; + const double t712 = t710 * t711; + const double t714 = 0.1e1 / t478 / t189; + const double t715 = t712 * t714; + const double t717 = 0.1e1 / t485 / t193; + const double t718 = t717 * t494; + const double t719 = t718 * t706; + const double t722 = 0.3e1 * t454 * t707 - 0.2e1 * t715 * t719; + const double t723 = piecewise_functor_3( t210, 0.0, t722 ); + const double t725 = t211 * t723; + const double t727 = t213 * t723; + const double t729 = t215 * t723; + const double t731 = t217 * t723; + const double t733 = t219 * t723; + const double t738 = piecewise_functor_3( t210, t722, 0.0 ); + const double t742 = piecewise_functor_3( t209, -0.64e0 * t723 - 0.8704e0 * t725 - 0.4607056813647e1 * t727 + 0.122462410087e2 * t729 - 0.957855118103e1 * t731 + 0.3101306810232e1 * t733 - 0.362942158544e0 * t221 * t723, -0.105e1 * t532 * t738 * t230 ); + const double t743 = t742 * t269; + const double t744 = t551 * t242; + const double t745 = t187 * t170; + const double t746 = t558 * t259; + const double t747 = t746 * t267; + const double t749 = t744 * t745 * t747; + const double t751 = 0.15243824895787514157e-3 * t749 - t704; + const double t752 = t232 * t751; + const double t754 = 0.13900948042322754166e-2 * t703; + const double t756 = piecewise_functor_3( t174, -t170 / 0.4e1, 0.0 ); + const double t757 = t455 * t756; + const double t760 = t718 * t756; + const double t763 = 0.3e1 * t454 * t757 - 0.2e1 * t715 * t760; + const double t764 = piecewise_functor_3( t210, 0.0, t763 ); + const double t766 = t211 * t764; + const double t768 = t213 * t764; + const double t770 = t215 * t764; + const double t772 = t217 * t764; + const double t774 = t219 * t764; + const double t779 = piecewise_functor_3( t210, t763, 0.0 ); + const double t783 = piecewise_functor_3( t209, -0.64e0 * t764 - 0.8704e0 * t766 - 0.4607056813647e1 * t768 + 0.122462410087e2 * t770 - 0.957855118103e1 * t772 + 0.3101306810232e1 * t774 - 0.362942158544e0 * t221 * t764, -0.105e1 * t532 * t779 * t230 ); + const double t784 = t783 * t269; + const double t786 = 0.30487649791575028312e-3 * t749 - t754; + const double t787 = t232 * t786; + const double t790 = piecewise_functor_3( t174, t152 * t157, 0.0 ); + const double t791 = t455 * t790; + const double t794 = t718 * t790; + const double t797 = 0.3e1 * t454 * t791 - 0.2e1 * t715 * t794; + const double t798 = piecewise_functor_3( t210, 0.0, t797 ); + const double t800 = t211 * t798; + const double t802 = t213 * t798; + const double t804 = t215 * t798; + const double t806 = t217 * t798; + const double t808 = t219 * t798; + const double t813 = piecewise_functor_3( t210, t797, 0.0 ); + const double t817 = piecewise_functor_3( t209, -0.64e0 * t798 - 0.8704e0 * t800 - 0.4607056813647e1 * t802 + 0.122462410087e2 * t804 - 0.957855118103e1 * t806 + 0.3101306810232e1 * t808 - 0.362942158544e0 * t221 * t798, -0.105e1 * t532 * t813 * t230 ); + const double t818 = t8 * t817; + const double t820 = piecewise_functor_3( t174, t162 * t167, 0.0 ); + const double t821 = t455 * t820; + const double t824 = t718 * t820; + const double t827 = 0.3e1 * t454 * t821 - 0.2e1 * t715 * t824; + const double t828 = piecewise_functor_3( t210, 0.0, t827 ); + const double t830 = t211 * t828; + const double t832 = t213 * t828; + const double t834 = t215 * t828; + const double t836 = t217 * t828; + const double t838 = t219 * t828; + const double t843 = piecewise_functor_3( t210, t827, 0.0 ); + const double t847 = piecewise_functor_3( t209, -0.64e0 * t828 - 0.8704e0 * t830 - 0.4607056813647e1 * t832 + 0.122462410087e2 * t834 - 0.957855118103e1 * t836 + 0.3101306810232e1 * t838 - 0.362942158544e0 * t221 * t828, -0.105e1 * t532 * t843 * t230 ); + const double t848 = t8 * t847; + const double t849 = t341 * t81; + const double t850 = 0.1e1 / t849; + const double t851 = t348 * t348; + const double t853 = t850 * t851 * t349; + const double t854 = t363 * t853; + const double t855 = 0.11696447245269292414e1 * t854; + const double t858 = 0.1e1 / t15 / t12 * t20; + const double t860 = t859 * t170; + const double t861 = t858 * t860; + const double t863 = t282 * t128; + const double t864 = t281 * t863; + const double t866 = t7 * t128; + const double t867 = t5 * t866; + const double t869 = 0.1e1/safe_math::sqrt( t12 ); + const double t870 = t869 * t20; + const double t871 = t870 * t860; + const double t873 = t289 * t863; + const double t876 = t22 * t6 * t170; + const double t878 = -0.57538888888888888889e0 * t861 + 0.11507777777777777778e1 * t864 + 0.40256666666666666667e0 * t867 + 0.366775e-1 * t871 + 0.73355e-1 * t873 + 0.137975e0 * t876; + const double t880 = t342 * t878 * t349; + const double t881 = t363 * t880; + const double t882 = 0.5848223622634646207e0 * t881; + const double t883 = t320 * t76; + const double t884 = t883 * t365; + const double t885 = 0.11696447245269292414e1 * t884; + const double t886 = t341 * t341; + const double t887 = 0.1e1 / t886; + const double t888 = t887 * t851; + const double t889 = t84 * t84; + const double t890 = 0.1e1 / t889; + const double t891 = t888 * t890; + const double t892 = t363 * t891; + const double t893 = 0.17315859105681463759e2 * t892; + const double t895 = t272 * t278; + const double t897 = t894 * t895 * t298; + const double t898 = 0.35616666666666666666e-1 * t897; + const double t899 = t320 * t2; + const double t900 = t899 * t360; + const double t901 = 0.36622894612013090108e-3 * t900; + const double t903 = t282 * t128 * t85; + const double t904 = t358 * t903; + const double t905 = 0.24415263074675393405e-3 * t904; + const double t906 = 0.1e1 / t99; + const double t907 = t311 * t311; + const double t910 = 0.1e1 / t198; + const double t911 = t35 * t910; + const double t912 = -t309 + t911; + const double t913 = 0.2e1 * t912; + const double t917 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t906 * t907 + 0.4e1 / 0.3e1 * t48 * t913 ); + const double t918 = 0.1e1 / t101; + const double t919 = t315 * t315; + const double t922 = -t913; + const double t926 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t918 * t919 + 0.4e1 / 0.3e1 * t53 * t922 ); + const double t927 = t917 + t926; + const double t928 = t927 * t60; + const double t929 = t928 * t86; + const double t930 = 0.19751673498613801407e-1 * t929; + const double t931 = t562 * t574; + const double t933 = t261 * t36; + const double t935 = 0.132e3 * t933 * t265; + const double t937 = 0.288e3 * t568 * t571; + const double t938 = t39 * t38; + const double t939 = t263 * t938; + const double t940 = 0.1e1 / t939; + const double t942 = 0.156e3 * t262 * t940; + const double t943 = -t935 + t937 - t942; + const double t945 = t539 * t235; + const double t946 = 0.1e1 / t945; + const double t947 = t543 * t543; + const double t948 = t946 * t947; + const double t953 = -0.49388888888888888889e-2 * t861 + 0.98777777777777777777e-2 * t864 + 0.13949e-1 * t867; + const double t954 = t540 * t953; + const double t960 = t539 * t539; + const double t961 = 0.1e1 / t960; + const double t962 = t961 * t947; + const double t965 = t239 * t550; + const double t966 = t544 * t965; + const double t968 = t242 * t243 * t385; + const double t971 = t247 * t247; + const double t973 = 0.1e1 / t248 / t971; + const double t974 = t240 * t973; + const double t975 = t974 * t180; + const double t979 = t124 * t124; + const double t980 = t39 * t198; + const double t981 = t9 * t980; + const double t982 = 0.1e1 / t981; + const double t987 = t23 * t39; + const double t988 = 0.1e1 / t987; + const double t989 = t124 * t988; + const double t993 = 0.2e1 * t948 * t546 - 0.1e1 * t954 * t546 + 0.1e1 * t962 * t546 + 0.2845018947250181111e-1 * t966 * t968 - 0.20235332025531322028e-2 * t975 * t978 * t979 * t982 + 0.52158680699586653702e-1 * t552 * t553 * t989; + const double t996 = t557 * t557; + const double t997 = t252 * t252; + const double t998 = 0.1e1 / t997; + const double t1001 = -0.571528e-1 * t948 + 0.285764e-1 * t954 + 0.285764e-1 * t993 * t558 - 0.285764e-1 * t996 * t998; + const double t1002 = t1001 * t259; + const double t1003 = t1002 * t267; + const double t1004 = t61 * t5; + const double t1005 = t273 * t365; + const double t1006 = t1004 * t1005; + const double t1007 = 0.10843581300301739842e-1 * t1006; + const double t1008 = t138 * t138; + const double t1010 = 0.1e1 / t139 / t1008; + const double t1011 = t438 * t438; + const double t1012 = t1010 * t1011; + const double t1016 = 0.1e1 / t402 / t120; + const double t1017 = t1016 * t124; + const double t1019 = t401 * t1017 * t128; + const double t1020 = t418 * t418; + const double t1021 = t119 * t119; + const double t1022 = t1020 * t1021; + const double t1024 = t407 * t408 * t1022; + const double t1027 = t305 * t394; + const double t1028 = t1027 * t125; + const double t1029 = t389 * t894; + const double t1031 = 0.81312004494856525156e-4 * t1028 * t1029; + const double t1032 = t113 * t403; + const double t1033 = t1032 * t124; + const double t1034 = t395 * t1033; + const double t1035 = t385 * t57; + const double t1037 = t130 * t418 * t119; + const double t1039 = t1034 * t1035 * t1037; + const double t1042 = 0.1e1 / t393 / t110; + const double t1043 = t108 * t1042; + const double t1044 = t1043 * t125; + const double t1045 = t305 * t57; + const double t1049 = 0.14457274399185490173e-3 * t1044 * t1045 * t130 * t894; + const double t1050 = t386 * t1032; + const double t1051 = t124 * t57; + const double t1052 = t1051 * t1037; + const double t1053 = t1050 * t1052; + const double t1057 = 0.29272321618148349056e-1 * t396 * t989 * t389; + const double t1058 = t432 * t378; + const double t1060 = t396 * t397 * t1058; + const double t1062 = t57 * t413; + const double t1063 = t1062 * t20; + const double t1064 = t378 * t378; + const double t1066 = t1063 * t408 * t1064; + const double t1069 = 0.1e1 / t938; + const double t1070 = t37 * t1069; + const double t1071 = t1070 * t89; + const double t1072 = 0.2e2 * t1071; + const double t1073 = t36 * t40; + const double t1074 = t1073 * t89; + const double t1075 = 0.12e2 * t1074; + const double t1076 = t301 * t305; + const double t1077 = t1076 * t89; + const double t1078 = 0.32e2 * t1077; + const double t1082 = t272 * t327; + const double t1086 = t326 * t68; + const double t1087 = 0.1e1 / t1086; + const double t1088 = t63 * t1087; + const double t1089 = t333 * t333; + const double t1090 = t1089 * t334; + const double t1099 = -0.78438333333333333333e0 * t861 + 0.15687666666666666667e1 * t864 + 0.68863333333333333333e0 * t867 + 0.14025833333333333333e0 * t871 + 0.28051666666666666667e0 * t873 + 0.17365833333333333333e0 * t876; + const double t1100 = t1099 * t334; + const double t1103 = t326 * t326; + const double t1104 = 0.1e1 / t1103; + const double t1105 = t63 * t1104; + const double t1106 = t71 * t71; + const double t1107 = 0.1e1 / t1106; + const double t1108 = t1089 * t1107; + const double t1112 = t5 * t866 * t32; + const double t1113 = 0.14764627977777777777e-2 * t1112; + const double t1114 = t277 * t28; + const double t1115 = 0.1e1 / t1114; + const double t1116 = t14 * t1115; + const double t1117 = t296 * t296; + const double t1118 = t1117 * t297; + const double t1119 = t1116 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1127 = -0.42198333333333333333e0 * t861 + 0.84396666666666666666e0 * t864 + 0.39862222222222222223e0 * t867 + 0.68258333333333333333e-1 * t871 + 0.13651666666666666667e0 * t873 + 0.13692777777777777778e0 * t876; + const double t1128 = t1127 * t297; + const double t1129 = t279 * t1128; + const double t1130 = 0.1e1 * t1129; + const double t1131 = t277 * t277; + const double t1132 = 0.1e1 / t1131; + const double t1133 = t14 * t1132; + const double t1134 = t31 * t31; + const double t1135 = 0.1e1 / t1134; + const double t1136 = t1117 * t1135; + const double t1137 = t1133 * t1136; + const double t1138 = 0.16081979498692535067e2 * t1137; + const double t1142 = t272 * t342; + const double t1146 = t76 * t850; + const double t1147 = t851 * t349; + const double t1150 = t878 * t349; + const double t1153 = t76 * t887; + const double t1154 = t851 * t890; + const double t1157 = -0.70983522622222222221e-3 * t5 * t866 * t72 - 0.34246666666666666666e-1 * t894 * t1082 * t335 - 0.2e1 * t1088 * t1090 + 0.1e1 * t328 * t1100 + 0.32163958997385070134e2 * t1105 * t1108 + t1113 + t898 + t1120 - t1130 - t1138 - 0.24415263074675393405e-3 * t5 * t866 * t85 - 0.10843581300301739842e-1 * t894 * t1142 * t350 - 0.11696447245269292414e1 * t1146 * t1147 + 0.5848223622634646207e0 * t343 * t1150 + 0.17315859105681463759e2 * t1153 * t1154; + const double t1158 = t61 * t1157; + const double t1159 = t41 * t1158; + const double t1160 = t928 * t88; + const double t1161 = t41 * t1160; + const double t1162 = t320 * t353; + const double t1163 = t41 * t1162; + const double t1164 = 0.2e1 * t1163; + const double t1165 = t306 * t321; + const double t1166 = 0.8e1 * t1165; + const double t1167 = t306 * t354; + const double t1168 = 0.8e1 * t1167; + const double t1169 = -t893 - t882 - t885 + t1072 + t1075 - t1078 + t1159 + t1161 + t1164 - t1166 - t1168; + const double t1170 = t302 * t321; + const double t1171 = 0.8e1 * t1170; + const double t1172 = t302 * t354; + const double t1173 = 0.8e1 * t1172; + const double t1174 = t1171 + t1173 - t1120 + t930 + t1130 + t1138 - t1113 + t1007 + t855 - t901 - t898 + t905; + const double t1176 = ( t1169 + t1174 ) * t113; + const double t1181 = 0.1e1 / t412 / t104; + const double t1182 = t95 * t1181; + const double t1183 = t1182 * t1064; + const double t1186 = 0.1e1 / t49; + const double t1192 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1186 * t907 + 0.2e1 / 0.3e1 * t369 * t913 ); + const double t1193 = 0.1e1 / t54; + const double t1199 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1193 * t919 + 0.2e1 / 0.3e1 * t373 * t922 ); + const double t1201 = t1192 / 0.2e1 + t1199 / 0.2e1; + const double t1202 = t414 * t1201; + const double t1205 = -0.12e2 * t115 * t1183 + 0.3e1 * t115 * t1202 - t1176 * t117 + 0.6e1 * t410 * t415; + const double t1206 = t1205 * t119; + const double t1208 = t407 * t408 * t1206; + const double t1212 = t433 * t408 * t1201; + const double t1215 = t9 * t39; + const double t1216 = 0.1e1 / t1215; + const double t1217 = t1216 * t57; + const double t1221 = 0.21341733463216935736e0 * t126 * t1217 * t130 * t134; + const double t1223 = t401 * t388 * t424; + const double t1224 = t1223 * t435; + const double t1226 = t988 * t111; + const double t1229 = 0.16463622957338778997e-1 * t1226 * t113 * t390; + const double t1230 = t386 * t122; + const double t1232 = t1051 * t116 * t378; + const double t1233 = t1230 * t1232; + const double t1236 = t401 * t404 * t424; + const double t1237 = t1236 * t421; + const double t1240 = t401 * t404 * t129; + const double t1241 = t116 * t20; + const double t1242 = t1241 * t132; + const double t1243 = t6 * t418; + const double t1244 = t119 * t378; + const double t1246 = t1242 * t1243 * t1244; + const double t1249 = t1020 * t119; + const double t1251 = t407 * t408 * t1249; + const double t1254 = 0.54878743191129263322e-1 * t1019 * t1024 - t1031 - 0.97574405393827830186e-2 * t1039 + t1049 + 0.54878743191129263322e-2 * t1053 - t1057 - 0.19514881078765566037e-1 * t1060 + 0.16463622957338778997e0 * t431 * t1066 - 0.27439371595564631661e-1 * t406 * t1208 - 0.54878743191129263322e-1 * t431 * t1212 + t1221 + 0.25610080155860322884e0 * t1224 + t1229 + 0.10975748638225852664e-1 * t1233 + 0.12805040077930161442e0 * t1237 + 0.10975748638225852664e0 * t1240 * t1246 - 0.27439371595564631661e-1 * t406 * t1251; + const double t1255 = t383 * t1254; + const double t1260 = t141 * t1205; + const double t1266 = -0.3125e0 * t1012 * t120 + 0.25e0 * t1255 * t120 + 0.5e0 * t439 * t419 + 0.1e1 * t1260 * t119 + 0.1e1 * t141 * t1020 * t119; + const double t1269 = t97 * t106 * t1266 * t447; + const double t1270 = t104 * t145; + const double t1272 = t97 * t1270 * t1064; + const double t1273 = 0.6e1 * t1272; + const double t1274 = t260 * t943 + t1003 - t1007 + t1120 - t1130 - t1138 - t1269 - t1273 - t855 + t882 + t885 + t893 + t898 + t901 - t905 - t930 + 0.2e1 * t931; + const double t1276 = t97 * t368 * t1201; + const double t1277 = 0.3e1 * t1276; + const double t1278 = t97 * t105; + const double t1279 = t445 * t447; + const double t1281 = t1278 * t1279 * t378; + const double t1282 = 0.6e1 * t1281; + const double t1283 = t445 * t445; + const double t1285 = t144 * t144; + const double t1286 = 0.1e1 / t1285; + const double t1288 = t97 * t106 * t1283 * t1286; + const double t1289 = t928 * t267; + const double t1292 = t320 * t574; + const double t1295 = t561 * t58; + const double t1296 = t1295 * t565; + const double t1298 = t1168 - t1171 - t1173 - t1164 + t1166 - t1161 + t1113 - t1072 - t1075 + t1078 - t1159 - t1277 - t1282 + t1288 - 0.2363e1 * t564 * t1289 - 0.4726e1 * t564 * t1292 - 0.4726e1 * t1296; + const double t1299 = t1274 + t1298; + const double t1300 = t232 * t1299; + const double t1301 = t537 * t576; + const double t1302 = 0.2e1 * t1301; + const double t1303 = t855 - t882 - t885 - t893 - t898 - t901 + t905 + t1300 + t930 + t1007 + t1269 + t1138 - t1120 + t1130 + t1302; + const double t1304 = t450 * t192; + const double t1305 = t1304 * t513; + const double t1309 = 0.1e1 / t150 / t456 / rho_a; + const double t1310 = tau_a * t1309; + const double t1315 = 0.1e1 / t155; + const double t1316 = t462 * t462; + const double t1317 = t1315 * t1316; + const double t1320 = t156 * t912; + const double t1323 = 0.1e1 / t165; + const double t1324 = t466 * t466; + const double t1325 = t1323 * t1324; + const double t1328 = -t912; + const double t1329 = t166 * t1328; + const double t1332 = 0.11e2 / 0.9e1 * t989; + const double t1334 = piecewise_functor_3( t174, 0.4e2 / 0.9e1 * t1310 * t157 - 0.5e2 / 0.9e1 * t459 * t463 + 0.1e2 / 0.9e1 * t153 * t1317 + 0.5e1 / 0.3e1 * t153 * t1320 + 0.1e2 / 0.9e1 * t163 * t1325 + 0.5e1 / 0.3e1 * t163 * t1329 - t1332, 0.0 ); + const double t1335 = t455 * t1334; + const double t1342 = 0.1e2 / 0.9e1 * t1317 + 0.5e1 / 0.3e1 * t1320 + 0.1e2 / 0.9e1 * t1325 + 0.5e1 / 0.3e1 * t1329; + const double t1343 = t487 * t1342; + const double t1346 = t271 * t176; + const double t1348 = 0.7e2 / 0.9e1 * t1346 * t203; + const double t1349 = t127 * t175; + const double t1350 = t1349 * t500; + const double t1352 = t198 * t176; + const double t1353 = t1352 * t192; + const double t1355 = 0.22e2 / 0.3e1 * t1353 * t506; + const double t1356 = t496 * t509; + const double t1358 = t472 * t472; + const double t1359 = t199 * t1358; + const double t1362 = t39 * t175; + const double t1363 = t1362 * t192; + const double t1364 = t202 * t472; + const double t1365 = t1364 * t183; + const double t1366 = t1363 * t1365; + const double t1368 = t499 * t201; + const double t1369 = t196 * t472; + const double t1370 = t1369 * t489; + const double t1373 = t203 * t1334; + const double t1376 = t987 * t176; + const double t1377 = t1376 * t479; + const double t1379 = t202 * t179 * t976; + const double t1381 = 0.9e1 * t1377 * t1379; + const double t1382 = t196 * t180; + const double t1383 = t182 * t489; + const double t1384 = t1382 * t1383; + const double t1385 = t504 * t1384; + const double t1387 = t201 * t486; + const double t1388 = t489 * t489; + const double t1389 = t1387 * t1388; + const double t1392 = t508 * t1342; + const double t1395 = t1348 + 0.4e2 / 0.3e1 * t1350 - t1355 - 0.4e2 / 0.3e1 * t1356 + 0.2e1 * t1359 * t203 - 0.4e1 * t1366 - 0.8e1 * t1368 * t1370 + 0.2e1 * t499 * t1373 + t1381 + 0.4e1 * t1385 + 0.6e1 * t200 * t1389 - 0.2e1 * t200 * t1392; + const double t1396 = t495 * t1395; + const double t1398 = t198 * t177; + const double t1400 = 0.2e2 * t1398 * t207; + const double t1401 = t504 * t473; + const double t1403 = t1304 * t490; + const double t1406 = 0.1e1 / t493 / t205; + const double t1407 = t196 * t1406; + const double t1408 = t512 * t512; + const double t1409 = t1407 * t1408; + const double t1412 = t987 * t177; + const double t1415 = 0.16e2 * t1412 * t479 * t481; + const double t1416 = t148 * t175; + const double t1417 = t1416 * t192; + const double t1418 = t455 * t1358; + const double t1421 = t472 * t489; + const double t1422 = t487 * t1421; + const double t1425 = t472 * t512; + const double t1426 = t495 * t1425; + const double t1429 = t9 * t938; + const double t1430 = t1429 * t177; + const double t1431 = t1430 * t714; + const double t1433 = t455 * t1432; + const double t1435 = 0.18e2 * t1431 * t1433; + const double t1436 = t717 * t206; + const double t1437 = t1436 * t1388; + const double t1440 = t486 * t494; + const double t1441 = t489 * t512; + const double t1442 = t1440 * t1441; + const double t1445 = t476 * t176; + const double t1446 = t479 * t196; + const double t1447 = t1445 * t1446; + const double t1448 = t206 * t472; + const double t1449 = t1448 * t183; + const double t1450 = t1447 * t1449; + const double t1452 = t479 * t486; + const double t1453 = t477 * t1452; + const double t1455 = t206 * t180 * t1383; + const double t1456 = t1453 * t1455; + const double t1458 = t477 * t1446; + const double t1461 = t494 * t180 * t182 * t512; + const double t1462 = t1458 * t1461; + const double t1464 = 0.3e1 * t454 * t1335 - 0.3e1 * t484 * t1343 - t484 * t1396 + 0.2e1 * t484 * t1409 + 0.6e1 * t1417 * t1418 - 0.18e2 * t454 * t1422 - 0.6e1 * t454 * t1426 + 0.12e2 * t484 * t1437 + 0.6e1 * t484 * t1442 - 0.1e2 * t1305 + t1400 + 0.3e2 * t1401 - 0.3e2 * t1403 - t1415 + t1435 - 0.9e1 * t1450 + 0.9e1 * t1456 + 0.3e1 * t1462; + const double t1465 = piecewise_functor_3( t210, 0.0, t1464 ); + const double t1467 = t516 * t516; + const double t1471 = t211 * t1467; + const double t1475 = t213 * t1467; + const double t1479 = t215 * t1467; + const double t1483 = t217 * t1467; + const double t1491 = -0.64e0 * t1465 - 0.8704e0 * t1467 - 0.8704e0 * t211 * t1465 - 0.9214113627294e1 * t1471 - 0.4607056813647e1 * t213 * t1465 + 0.367387230261e2 * t1475 + 0.122462410087e2 * t215 * t1465 - 0.3831420472412e2 * t1479 - 0.957855118103e1 * t217 * t1465 + 0.1550653405116e2 * t1483 + 0.3101306810232e1 * t219 * t1465 - 0.2177652951264e1 * t219 * t1467 - 0.362942158544e0 * t221 * t1465; + const double t1492 = t531 * t227; + const double t1493 = 0.1e1 / t1492; + const double t1494 = t533 * t533; + const double t1498 = piecewise_functor_3( t210, t1464, 0.0 ); + const double t1502 = t531 * t531; + const double t1503 = 0.1e1 / t1502; + const double t1504 = t1503 * t1494; + const double t1508 = piecewise_functor_3( t209, t1491, -0.21e1 * t1493 * t1494 * t230 - 0.105e1 * t532 * t1498 * t230 - 0.1575e1 * t1504 * t230 ); + const double t1509 = t1508 * t269; + const double t1510 = t1509 + t1273 - t1168 + t1171 + t1173 + t1164 - t1166 + t1161 - t1113 + t1072 + t1075 - t1078 + t1159 + t1277 + t1282 - t1288; + const double t1516 = 0.11696447245269292414e1 * t366; + const double t1517 = 0.8e1 * t303; + const double t1518 = 0.8e1 * t307; + const double t1520 = 0.22146941966666666666e-2 * t275; + const double t1522 = 0.2e1 * t355; + const double t1523 = 0.36622894612013090108e-3 * t361; + const double t1524 = 0.2e1 * t299; + const double t1526 = 0.5848223622634646207e0 * t884; + const double t1527 = t589 * t2; + const double t1528 = t1527 * t360; + const double t1529 = 0.18311447306006545054e-3 * t1528; + const double t1530 = 0.18311447306006545054e-3 * t900; + const double t1531 = t906 * t580; + const double t1534 = t48 * t35; + const double t1538 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1531 * t311 + 0.8e1 / 0.3e1 * t1534 * t910 ); + const double t1539 = t918 * t584; + const double t1542 = t53 * t35; + const double t1546 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1539 * t315 - 0.8e1 / 0.3e1 * t1542 * t910 ); + const double t1547 = t1538 + t1546; + const double t1548 = t1547 * t60; + const double t1549 = t1548 * t88; + const double t1550 = t41 * t1549; + const double t1551 = t589 * t353; + const double t1552 = t41 * t1551; + const double t1553 = t589 * t76; + const double t1554 = t1553 * t365; + const double t1555 = 0.5848223622634646207e0 * t1554; + const double t1556 = t685 * t576; + const double t1557 = t1186 * t580; + const double t1560 = t369 * t35; + const double t1564 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1557 * t311 + 0.4e1 / 0.3e1 * t1560 * t910 ); + const double t1565 = t1193 * t584; + const double t1568 = t373 * t35; + const double t1572 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1565 * t315 - 0.4e1 / 0.3e1 * t1568 * t910 ); + const double t1574 = t1564 / 0.2e1 + t1572 / 0.2e1; + const double t1576 = t97 * t368 * t1574; + const double t1577 = 0.3e1 * t1576; + const double t1578 = t628 * t447; + const double t1580 = t1278 * t1578 * t378; + const double t1581 = 0.3e1 * t1580; + const double t1582 = t97 * t104; + const double t1583 = t145 * t601; + const double t1585 = t1582 * t1583 * t378; + const double t1586 = 0.6e1 * t1585; + const double t1587 = t97 * t106; + const double t1588 = t628 * t1286; + const double t1590 = t1587 * t1588 * t445; + const double t1591 = t855 - t882 - t1526 - t893 - t1529 - t898 - t1530 + t905 + t1550 + t1552 + t1007 - t1555 + t1556 + t1577 + t1581 + t1586 - t1590 + t1138; + const double t1592 = t537 * t693; + const double t1593 = t1279 * t601; + const double t1594 = t1278 * t1593; + const double t1595 = 0.3e1 * t1594; + const double t1596 = t1010 * t621; + const double t1597 = t120 * t438; + const double t1600 = t116 * t601; + const double t1601 = t1051 * t1600; + const double t1602 = t1230 * t1601; + const double t1605 = t401 * t1017 * t129; + const double t1606 = t130 * t20; + const double t1607 = t1606 * t132; + const double t1608 = t6 * t611; + const double t1609 = t1021 * t418; + const double t1611 = t1607 * t1608 * t1609; + const double t1614 = t130 * t611; + const double t1615 = t1614 * t119; + const double t1617 = t1034 * t1035 * t1615; + const double t1620 = t1051 * t1615; + const double t1621 = t1050 * t1620; + const double t1623 = t432 * t601; + const double t1625 = t396 * t397 * t1623; + const double t1629 = t855 - t882 - t1526 - t893 - t1529 - t898 - t1530 + t905 + t1550 + t1552 + t1007 - t1555 + t1138; + const double t1630 = 0.4e1 * t1170; + const double t1631 = 0.4e1 * t1165; + const double t1632 = t1548 * t86; + const double t1633 = 0.19751673498613801407e-1 * t1632; + const double t1634 = t302 * t590; + const double t1635 = 0.4e1 * t1634; + const double t1636 = t306 * t590; + const double t1637 = 0.4e1 * t1636; + const double t1638 = -t1120 + t1130 - t1168 - t1630 + t1163 - t1631 - t1113 + t1072 - t1075 + t1159 + t1633 + t1635 - t1637; + const double t1640 = ( t1629 + t1638 ) * t113; + const double t1646 = t115 * t95; + const double t1647 = t1181 * t601; + const double t1648 = t1647 * t378; + const double t1651 = t414 * t1574; + const double t1654 = 0.3e1 * t115 * t1651 - t1640 * t117 - 0.12e2 * t1646 * t1648 + 0.3e1 * t410 * t608 + 0.3e1 * t606 * t415; + const double t1655 = t1654 * t119; + const double t1657 = t407 * t408 * t1655; + const double t1660 = 0.54878743191129263322e-2 * t1602 + 0.54878743191129263322e-1 * t1605 * t1611 - 0.48787202696913915093e-2 * t1617 - t1031 - 0.48787202696913915093e-2 * t1039 + t1049 + 0.27439371595564631661e-2 * t1621 - 0.97574405393827830187e-2 * t1625 + 0.27439371595564631661e-2 * t1053 - t1057 - 0.97574405393827830186e-2 * t1060 - 0.27439371595564631661e-1 * t406 * t1657; + const double t1661 = t1223 * t618; + const double t1663 = t601 * t378; + const double t1665 = t1063 * t408 * t1663; + const double t1669 = t433 * t408 * t1574; + const double t1675 = t1236 * t614; + const double t1678 = t1242 * t1608 * t1244; + const double t1682 = t1607 * t1608 * t419; + const double t1685 = t6 * t601; + const double t1687 = t1242 * t1685 * t419; + const double t1690 = 0.12805040077930161442e0 * t1661 + 0.16463622957338778997e0 * t431 * t1665 - 0.54878743191129263322e-1 * t431 * t1669 + t1221 + 0.12805040077930161442e0 * t1224 + t1229 + 0.54878743191129263322e-2 * t1233 + 0.64025200389650807209e-1 * t1237 + 0.64025200389650807209e-1 * t1675 + 0.54878743191129263322e-1 * t1240 * t1678 - 0.27439371595564631661e-1 * t1240 * t1682 + 0.54878743191129263322e-1 * t1240 * t1687; + const double t1691 = t1660 + t1690; + const double t1692 = t383 * t1691; + const double t1699 = t141 * t1654; + const double t1704 = -0.3125e0 * t1596 * t1597 + 0.25e0 * t1692 * t120 + 0.25e0 * t622 * t419 + 0.25e0 * t439 * t612 + 0.1e1 * t1699 * t119 + 0.1e1 * t625 * t419; + const double t1707 = t97 * t106 * t1704 * t447; + const double t1708 = t652 * t512; + const double t1709 = t1440 * t1708; + const double t1712 = t662 * t472; + const double t1713 = t495 * t1712; + const double t1716 = t662 * t489; + const double t1717 = t1440 * t1716; + const double t1720 = t662 * t512; + const double t1721 = t1407 * t1720; + const double t1724 = t647 * t472; + const double t1725 = t455 * t1724; + const double t1728 = t647 * t489; + const double t1729 = t487 * t1728; + const double t1732 = t647 * t512; + const double t1733 = t495 * t1732; + const double t1736 = t652 * t472; + const double t1737 = t487 * t1736; + const double t1740 = t652 * t489; + const double t1741 = t1436 * t1740; + const double t1746 = t1349 * t656; + const double t1748 = t199 * t472; + const double t1751 = t202 * t647; + const double t1752 = t1751 * t183; + const double t1753 = t1363 * t1752; + const double t1755 = t196 * t647; + const double t1756 = t1755 * t489; + const double t1761 = t1315 * t632; + const double t1762 = t1761 * t462; + const double t1765 = t156 * t35; + const double t1766 = t1765 * t910; + const double t1771 = t1323 * t642; + const double t1772 = t1771 * t466; + const double t1775 = t166 * t35; + const double t1776 = t1775 * t910; + const double t1780 = piecewise_functor_3( t174, -0.25e2 / 0.9e1 * t459 * t633 + 0.1e2 / 0.9e1 * t153 * t1762 + 0.5e1 / 0.3e1 * t153 * t1766 - 0.25e2 / 0.9e1 * t639 * t467 + 0.1e2 / 0.9e1 * t163 * t1772 - 0.5e1 / 0.3e1 * t163 * t1776 - t1332, 0.0 ); + const double t1781 = t203 * t1780; + const double t1786 = t496 * t659; + const double t1788 = t196 * t652; + const double t1789 = t1788 * t472; + const double t1792 = t1788 * t183; + const double t1793 = t504 * t1792; + const double t1795 = t200 * t201; + const double t1796 = t486 * t652; + const double t1797 = t1796 * t489; + const double t1804 = 0.1e2 / 0.9e1 * t1762 + 0.5e1 / 0.3e1 * t1766 + 0.1e2 / 0.9e1 * t1772 - 0.5e1 / 0.3e1 * t1776; + const double t1805 = t508 * t1804; + const double t1808 = t1348 + 0.2e2 / 0.3e1 * t1350 - t1355 - 0.2e2 / 0.3e1 * t1356 + 0.2e2 / 0.3e1 * t1746 + 0.2e1 * t1748 * t656 - 0.2e1 * t1753 - 0.4e1 * t1368 * t1756 + 0.2e1 * t499 * t1781 - 0.2e1 * t1366 + t1381 + 0.2e1 * t1385 - 0.2e2 / 0.3e1 * t1786 - 0.4e1 * t1368 * t1789 + 0.2e1 * t1793 + 0.6e1 * t1795 * t1797 - 0.2e1 * t200 * t1805; + const double t1809 = t495 * t1808; + const double t1811 = 0.6e1 * t1417 * t1725 + 0.3e1 * t484 * t1709 - 0.3e1 * t454 * t1713 + 0.3e1 * t484 * t1717 + 0.2e1 * t484 * t1721 - 0.9e1 * t454 * t1729 - 0.3e1 * t454 * t1733 - 0.9e1 * t454 * t1737 + 0.12e2 * t484 * t1741 - t484 * t1809 + t1400 - t1415 + t1435; + const double t1812 = t455 * t1780; + const double t1815 = t504 * t648; + const double t1817 = t1304 * t653; + const double t1819 = t1304 * t663; + const double t1821 = t487 * t1804; + const double t1830 = t206 * t647; + const double t1831 = t1830 * t183; + const double t1832 = t1447 * t1831; + const double t1834 = t206 * t652; + const double t1835 = t1834 * t183; + const double t1836 = t1453 * t1835; + const double t1838 = t494 * t662; + const double t1839 = t1838 * t183; + const double t1840 = t1458 * t1839; + const double t1842 = 0.3e1 * t454 * t1812 + 0.15e2 * t1815 - 0.15e2 * t1817 - 0.5e1 * t1819 - 0.3e1 * t484 * t1821 + 0.15e2 * t1401 - 0.15e2 * t1403 - 0.5e1 * t1305 - 0.9e1 / 0.2e1 * t1450 + 0.9e1 / 0.2e1 * t1456 + 0.3e1 / 0.2e1 * t1462 - 0.9e1 / 0.2e1 * t1832 + 0.9e1 / 0.2e1 * t1836 + 0.3e1 / 0.2e1 * t1840; + const double t1843 = t1811 + t1842; + const double t1844 = piecewise_functor_3( t210, 0.0, t1843 ); + const double t1846 = t516 * t666; + const double t1848 = t211 * t1844; + const double t1852 = t213 * t1844; + const double t1856 = t215 * t1844; + const double t1860 = t217 * t1844; + const double t1864 = t219 * t1844; + const double t1870 = -0.64e0 * t1844 - 0.8704e0 * t1846 - 0.8704e0 * t1848 - 0.9214113627294e1 * t668 * t516 - 0.4607056813647e1 * t1852 + 0.367387230261e2 * t670 * t516 + 0.122462410087e2 * t1856 - 0.3831420472412e2 * t672 * t516 - 0.957855118103e1 * t1860 + 0.1550653405116e2 * t674 * t516 + 0.3101306810232e1 * t1864 - 0.2177652951264e1 * t676 * t516 - 0.362942158544e0 * t221 * t1844; + const double t1871 = t1493 * t681; + const double t1872 = t230 * t533; + const double t1875 = piecewise_functor_3( t210, t1843, 0.0 ); + const double t1879 = t1503 * t681; + const double t1883 = piecewise_functor_3( t209, t1870, -0.21e1 * t1871 * t1872 - 0.105e1 * t532 * t1875 * t230 - 0.1575e1 * t1879 * t1872 ); + const double t1884 = t1883 * t269; + const double t1885 = t935 - t942; + const double t1887 = t562 * t691; + const double t1888 = t260 * t1885 + t1003 - t1007 + t1526 + t1529 + t1530 - t1550 - t1552 + t1555 - t1577 - t1581 - t1586 + t1590 + t1887 - t855 + t882 + t893 + t898 - t905 + t931; + const double t1889 = t1548 * t267; + const double t1892 = t589 * t574; + const double t1895 = t320 * t691; + const double t1898 = t1295 * t687; + const double t1902 = t1630 - t1163 + t1631 + t1113 - t1072 + t1075 - t1159 - 0.2363e1 * t1296 - t1633 - t1635 + t1637; + const double t1904 = t1888 - t1138 + t1120 - t1130 - t1595 - 0.2363e1 * t564 * t1889 - 0.2363e1 * t564 * t1892 - 0.2363e1 * t564 * t1895 - 0.2363e1 * t1898 - t1707 + t1168 + t1902; + const double t1905 = t232 * t1904; + const double t1906 = -t1120 + t1130 + t1592 + t1595 + t1707 + t1884 - t1168 - t1630 + t1163 - t1631 - t1113 + t1072 - t1075 + t1159 + t1905 + t1633 + t1635 - t1637; + const double t1909 = 0.36622894612013090108e-3 * t1528; + const double t1910 = t580 * t580; + const double t1913 = t309 + t911; + const double t1914 = 0.2e1 * t1913; + const double t1918 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t906 * t1910 + 0.4e1 / 0.3e1 * t48 * t1914 ); + const double t1919 = t584 * t584; + const double t1922 = -t1914; + const double t1926 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t918 * t1919 + 0.4e1 / 0.3e1 * t53 * t1922 ); + const double t1927 = t1918 + t1926; + const double t1928 = t1927 * t60; + const double t1929 = t1928 * t86; + const double t1930 = 0.19751673498613801407e-1 * t1929; + const double t1931 = t601 * t601; + const double t1933 = t97 * t1270 * t1931; + const double t1934 = 0.6e1 * t1933; + const double t1935 = t1928 * t88; + const double t1936 = t41 * t1935; + const double t1937 = 0.2e1 * t1552; + const double t1938 = 0.11696447245269292414e1 * t1554; + const double t1939 = t1578 * t601; + const double t1940 = t1278 * t1939; + const double t1941 = 0.6e1 * t1940; + const double t1942 = t628 * t628; + const double t1945 = t97 * t106 * t1942 * t1286; + const double t1946 = -t935 - t937 - t942; + const double t1949 = t1928 * t267; + const double t1952 = -t855 + t882 + t893 + t1909 + t898 - t905 - t1930 + t260 * t1946 + 0.2e1 * t1887 - t1934 - t1936 - t1937 + t1003 - t1007 + t1938 - t1941 - 0.2363e1 * t564 * t1949; + const double t1953 = t589 * t691; + const double t1957 = t621 * t621; + const double t1958 = t1010 * t1957; + const double t1962 = t611 * t611; + const double t1963 = t1962 * t1021; + const double t1965 = t407 * t408 * t1963; + const double t1972 = t1063 * t408 * t1931; + const double t1975 = 0.8e1 * t1634; + const double t1976 = 0.8e1 * t1636; + const double t1977 = t1936 + t1930 - t1938 + t1937 - t1975 - t1976 - t1909 - t893 - t882 + t1072 + t1075; + const double t1978 = t1078 + t1159 - t1168 - t1173 - t1120 + t1130 + t1138 - t1113 + t1007 + t855 - t898 + t905; + const double t1980 = ( t1977 + t1978 ) * t113; + const double t1984 = t1182 * t1931; + const double t1992 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1186 * t1910 + 0.2e1 / 0.3e1 * t369 * t1914 ); + const double t1998 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1193 * t1919 + 0.2e1 / 0.3e1 * t373 * t1922 ); + const double t2000 = t1992 / 0.2e1 + t1998 / 0.2e1; + const double t2001 = t414 * t2000; + const double t2004 = -0.12e2 * t115 * t1984 + 0.3e1 * t115 * t2001 - t1980 * t117 + 0.6e1 * t606 * t608; + const double t2005 = t2004 * t119; + const double t2007 = t407 * t408 * t2005; + const double t2012 = t433 * t408 * t2000; + const double t2016 = t119 * t601; + const double t2018 = t1242 * t1608 * t2016; + const double t2021 = t1962 * t119; + const double t2023 = t407 * t408 * t2021; + const double t2026 = 0.10975748638225852664e-1 * t1602 + 0.54878743191129263322e-1 * t1019 * t1965 - 0.97574405393827830186e-2 * t1617 - t1031 + t1049 + 0.54878743191129263322e-2 * t1621 - 0.19514881078765566037e-1 * t1625 - t1057 + 0.16463622957338778997e0 * t431 * t1972 - 0.27439371595564631661e-1 * t406 * t2007 + 0.25610080155860322884e0 * t1661 - 0.54878743191129263322e-1 * t431 * t2012 + t1221 + t1229 + 0.12805040077930161442e0 * t1675 + 0.10975748638225852664e0 * t1240 * t2018 - 0.27439371595564631661e-1 * t406 * t2023; + const double t2027 = t383 * t2026; + const double t2032 = t141 * t2004; + const double t2035 = t141 * t1962; + const double t2038 = -0.3125e0 * t1958 * t120 + 0.25e0 * t2027 * t120 + 0.5e0 * t622 * t612 + 0.1e1 * t2032 * t119 + 0.1e1 * t2035 * t119; + const double t2041 = t97 * t106 * t2038 * t447; + const double t2043 = t97 * t368 * t2000; + const double t2044 = 0.3e1 * t2043; + const double t2045 = -0.4726e1 * t564 * t1953 + t1945 - t1138 + t1120 - t1130 - 0.4726e1 * t1898 + t1168 + t1173 - t2041 - t2044 + t1113 - t1072 - t1075 - t1078 - t1159 + t1975 + t1976; + const double t2046 = t1952 + t2045; + const double t2047 = t232 * t2046; + const double t2048 = t855 - t882 - t893 - t1909 - t898 + t905 + t1930 + t1934 + t1936 + t1937 + t1007 - t1938 + t1941 - t1945 + t2047; + const double t2049 = t685 * t693; + const double t2050 = 0.2e1 * t2049; + const double t2051 = t632 * t632; + const double t2052 = t1315 * t2051; + const double t2055 = t156 * t1913; + const double t2060 = 0.1e1 / t160 / t636 / rho_b; + const double t2061 = tau_b * t2060; + const double t2066 = t642 * t642; + const double t2067 = t1323 * t2066; + const double t2070 = -t1913; + const double t2071 = t166 * t2070; + const double t2075 = piecewise_functor_3( t174, 0.1e2 / 0.9e1 * t153 * t2052 + 0.5e1 / 0.3e1 * t153 * t2055 + 0.4e2 / 0.9e1 * t2061 * t167 - 0.5e2 / 0.9e1 * t639 * t643 + 0.1e2 / 0.9e1 * t163 * t2067 + 0.5e1 / 0.3e1 * t163 * t2071 - t1332, 0.0 ); + const double t2076 = t455 * t2075; + const double t2083 = 0.1e2 / 0.9e1 * t2052 + 0.5e1 / 0.3e1 * t2055 + 0.1e2 / 0.9e1 * t2067 + 0.5e1 / 0.3e1 * t2071; + const double t2084 = t487 * t2083; + const double t2089 = t647 * t647; + const double t2090 = t199 * t2089; + const double t2094 = t1755 * t652; + const double t2097 = t203 * t2075; + const double t2101 = t652 * t652; + const double t2102 = t1387 * t2101; + const double t2105 = t508 * t2083; + const double t2108 = t1348 + 0.4e2 / 0.3e1 * t1746 - t1355 - 0.4e2 / 0.3e1 * t1786 + 0.2e1 * t2090 * t203 - 0.4e1 * t1753 - 0.8e1 * t1368 * t2094 + 0.2e1 * t499 * t2097 + t1381 + 0.4e1 * t1793 + 0.6e1 * t200 * t2102 - 0.2e1 * t200 * t2105; + const double t2109 = t495 * t2108; + const double t2111 = t455 * t2089; + const double t2114 = t647 * t652; + const double t2115 = t487 * t2114; + const double t2118 = t647 * t662; + const double t2119 = t495 * t2118; + const double t2122 = t1436 * t2101; + const double t2125 = t652 * t662; + const double t2126 = t1440 * t2125; + const double t2129 = t662 * t662; + const double t2130 = t1407 * t2129; + const double t2139 = 0.6e1 * t1417 * t2111 + 0.3e1 * t454 * t2076 - 0.3e1 * t484 * t2084 - t484 * t2109 - 0.18e2 * t454 * t2115 - 0.6e1 * t454 * t2119 + 0.12e2 * t484 * t2122 + 0.6e1 * t484 * t2126 + 0.2e1 * t484 * t2130 + t1400 - t1415 + t1435 + 0.3e2 * t1815 - 0.3e2 * t1817 - 0.1e2 * t1819 - 0.9e1 * t1832 + 0.9e1 * t1836 + 0.3e1 * t1840; + const double t2140 = piecewise_functor_3( t210, 0.0, t2139 ); + const double t2142 = t666 * t666; + const double t2144 = t211 * t2140; + const double t2146 = t211 * t2142; + const double t2148 = t213 * t2140; + const double t2150 = t213 * t2142; + const double t2152 = t215 * t2140; + const double t2154 = t215 * t2142; + const double t2156 = t217 * t2140; + const double t2158 = t217 * t2142; + const double t2160 = t219 * t2140; + const double t2166 = -0.64e0 * t2140 - 0.8704e0 * t2142 - 0.8704e0 * t2144 - 0.9214113627294e1 * t2146 - 0.4607056813647e1 * t2148 + 0.367387230261e2 * t2150 + 0.122462410087e2 * t2152 - 0.3831420472412e2 * t2154 - 0.957855118103e1 * t2156 + 0.1550653405116e2 * t2158 + 0.3101306810232e1 * t2160 - 0.2177652951264e1 * t219 * t2142 - 0.362942158544e0 * t221 * t2140; + const double t2167 = t681 * t681; + const double t2171 = piecewise_functor_3( t210, t2139, 0.0 ); + const double t2175 = t1503 * t2167; + const double t2179 = piecewise_functor_3( t209, t2166, -0.21e1 * t1493 * t2167 * t230 - 0.105e1 * t532 * t2171 * t230 - 0.1575e1 * t2175 * t230 ); + const double t2180 = t2179 * t269; + const double t2181 = t1138 - t1120 + t1130 + t2050 + t2180 - t1168 - t1173 + t2041 + t2044 - t1113 + t1072 + t1075 + t1078 + t1159 - t1975 - t1976; + const double t2190 = t378 * t383; + const double t2191 = t2190 * t698; + const double t2192 = t2191 * t702; + const double t2193 = 0.69504740211613770831e-3 * t2192; + const double t2194 = t104 * t1010; + const double t2195 = t2194 * t698; + const double t2197 = t6 * t447; + const double t2199 = t2196 * t2197 * t438; + const double t2200 = t2195 * t2199; + const double t2201 = 0.86880925264517213539e-3 * t2200; + const double t2202 = t697 * t385; + const double t2203 = t111 * t57; + const double t2204 = t2203 * t447; + const double t2205 = t2202 * t2204; + const double t2206 = 0.69504740211613770831e-4 * t2205; + const double t2207 = t697 * t108; + const double t2209 = t57 * t447; + const double t2210 = t394 * t385 * t2209; + const double t2211 = t2207 * t2210; + const double t2212 = 0.12357942809624928454e-3 * t2211; + const double t2213 = t112 * t424; + const double t2214 = t697 * t2213; + const double t2215 = t2214 * t702; + const double t2216 = 0.16217772716043213194e-2 * t2215; + const double t2217 = t6 * t1286; + const double t2219 = t2196 * t2217 * t445; + const double t2220 = t699 * t2219; + const double t2221 = 0.69504740211613770831e-3 * t2220; + const double t2223 = 0.15e2 * t504 * t707; + const double t2224 = t706 * t472; + const double t2225 = t455 * t2224; + const double t2228 = t206 * t706; + const double t2229 = t2228 * t183; + const double t2231 = 0.9e1 / 0.2e1 * t1447 * t2229; + const double t2232 = t706 * t489; + const double t2233 = t487 * t2232; + const double t2236 = t706 * t512; + const double t2237 = t495 * t2236; + const double t2241 = piecewise_functor_3( t174, t385 / 0.3e1, 0.0 ); + const double t2242 = t455 * t2241; + const double t2244 = 0.3e1 * t454 * t2242; + const double t2245 = t981 * t711; + const double t2246 = t2245 * t714; + const double t2248 = 0.5e2 / 0.3e1 * t2246 * t719; + const double t2249 = t710 * t177; + const double t2250 = t2249 * t714; + const double t2251 = t718 * t2224; + const double t2254 = t263 * t8; + const double t2255 = t2254 * t711; + const double t2257 = 0.1e1 / t478 / t190; + const double t2258 = t2257 * t717; + const double t2259 = t2255 * t2258; + const double t2260 = t494 * t706; + const double t2261 = t2260 * t183; + const double t2263 = 0.5e1 * t2259 * t2261; + const double t2265 = 0.1e1 / t485 / t194; + const double t2266 = t2265 * t494; + const double t2267 = t2266 * t2232; + const double t2270 = t717 * t1406; + const double t2271 = t2270 * t2236; + const double t2274 = t718 * t2241; + const double t2276 = 0.2e1 * t715 * t2274; + const double t2277 = 0.6e1 * t1417 * t2225 - 0.9e1 * t454 * t2233 - 0.3e1 * t454 * t2237 - 0.8e1 * t2250 * t2251 + 0.1e2 * t715 * t2267 + 0.4e1 * t715 * t2271 + t2223 - t2231 + t2244 - t2248 + t2263 - t2276; + const double t2278 = piecewise_functor_3( t210, 0.0, t2277 ); + const double t2280 = t516 * t723; + const double t2282 = t211 * t2278; + const double t2286 = t213 * t2278; + const double t2290 = t215 * t2278; + const double t2294 = t217 * t2278; + const double t2298 = t219 * t2278; + const double t2304 = -0.64e0 * t2278 - 0.8704e0 * t2280 - 0.8704e0 * t2282 - 0.9214113627294e1 * t725 * t516 - 0.4607056813647e1 * t2286 + 0.367387230261e2 * t727 * t516 + 0.122462410087e2 * t2290 - 0.3831420472412e2 * t729 * t516 - 0.957855118103e1 * t2294 + 0.1550653405116e2 * t731 * t516 + 0.3101306810232e1 * t2298 - 0.2177652951264e1 * t733 * t516 - 0.362942158544e0 * t221 * t2278; + const double t2305 = t1493 * t738; + const double t2308 = piecewise_functor_3( t210, t2277, 0.0 ); + const double t2312 = t1503 * t738; + const double t2316 = piecewise_functor_3( t209, t2304, -0.21e1 * t2305 * t1872 - 0.105e1 * t532 * t2308 * t230 - 0.1575e1 * t2312 * t1872 ); + const double t2317 = t2316 * t269; + const double t2318 = t742 * t576; + const double t2319 = t537 * t751; + const double t2320 = t965 * t179; + const double t2321 = t544 * t2320; + const double t2322 = t553 * t170; + const double t2323 = t2322 * t747; + const double t2324 = t2321 * t2323; + const double t2325 = 0.15243824895787514157e-3 * t2324; + const double t2328 = t974 * t2327; + const double t2329 = 0.1e1 / t1429; + const double t2330 = t2329 * t558; + const double t2331 = t259 * t267; + const double t2332 = t2331 * t124; + const double t2334 = t2328 * t2330 * t2332; + const double t2335 = 0.21684485328539747656e-4 * t2334; + const double t2336 = t187 * t385; + const double t2338 = t744 * t2336 * t747; + const double t2339 = 0.40650199722100037752e-3 * t2338; + const double t2341 = t551 * t2340; + const double t2342 = t170 * t998; + const double t2343 = t2331 * t557; + const double t2345 = t2341 * t2342 * t2343; + const double t2346 = 0.15243824895787514157e-3 * t2345; + const double t2348 = t170 * t558 * t58; + const double t2350 = t2341 * t2348 * t565; + const double t2352 = t746 * t574; + const double t2354 = t744 * t745 * t2352; + const double t2356 = -t2325 + t2335 - t2339 - t2346 - 0.36021158228745895953e-3 * t2350 + 0.15243824895787514157e-3 * t2354 - t2193 + t2201 + t2206 - t2212 + t2216 + t2221; + const double t2357 = t232 * t2356; + const double t2360 = 0.13900948042322754166e-2 * t2192; + const double t2361 = 0.17376185052903442708e-2 * t2200; + const double t2362 = 0.13900948042322754166e-3 * t2205; + const double t2363 = 0.24715885619249856907e-3 * t2211; + const double t2364 = 0.32435545432086426387e-2 * t2215; + const double t2365 = 0.13900948042322754166e-2 * t2220; + const double t2367 = 0.15e2 * t504 * t757; + const double t2368 = t756 * t472; + const double t2369 = t455 * t2368; + const double t2372 = t206 * t756; + const double t2373 = t2372 * t183; + const double t2375 = 0.9e1 / 0.2e1 * t1447 * t2373; + const double t2376 = t756 * t489; + const double t2377 = t487 * t2376; + const double t2380 = t756 * t512; + const double t2381 = t495 * t2380; + const double t2385 = piecewise_functor_3( t174, 0.2e1 / 0.3e1 * t385, 0.0 ); + const double t2386 = t455 * t2385; + const double t2388 = 0.3e1 * t454 * t2386; + const double t2390 = 0.5e2 / 0.3e1 * t2246 * t760; + const double t2391 = t718 * t2368; + const double t2394 = t494 * t756; + const double t2395 = t2394 * t183; + const double t2397 = 0.5e1 * t2259 * t2395; + const double t2398 = t2266 * t2376; + const double t2401 = t2270 * t2380; + const double t2404 = t718 * t2385; + const double t2406 = 0.2e1 * t715 * t2404; + const double t2407 = 0.6e1 * t1417 * t2369 - 0.8e1 * t2250 * t2391 - 0.9e1 * t454 * t2377 - 0.3e1 * t454 * t2381 + 0.1e2 * t715 * t2398 + 0.4e1 * t715 * t2401 + t2367 - t2375 + t2388 - t2390 + t2397 - t2406; + const double t2408 = piecewise_functor_3( t210, 0.0, t2407 ); + const double t2410 = t516 * t764; + const double t2412 = t211 * t2408; + const double t2416 = t213 * t2408; + const double t2420 = t215 * t2408; + const double t2424 = t217 * t2408; + const double t2428 = t219 * t2408; + const double t2434 = -0.64e0 * t2408 - 0.8704e0 * t2410 - 0.8704e0 * t2412 - 0.9214113627294e1 * t766 * t516 - 0.4607056813647e1 * t2416 + 0.367387230261e2 * t768 * t516 + 0.122462410087e2 * t2420 - 0.3831420472412e2 * t770 * t516 - 0.957855118103e1 * t2424 + 0.1550653405116e2 * t772 * t516 + 0.3101306810232e1 * t2428 - 0.2177652951264e1 * t774 * t516 - 0.362942158544e0 * t221 * t2408; + const double t2435 = t1493 * t779; + const double t2438 = piecewise_functor_3( t210, t2407, 0.0 ); + const double t2442 = t1503 * t779; + const double t2446 = piecewise_functor_3( t209, t2434, -0.21e1 * t2435 * t1872 - 0.105e1 * t532 * t2438 * t230 - 0.1575e1 * t2442 * t1872 ); + const double t2447 = t2446 * t269; + const double t2448 = t783 * t576; + const double t2449 = t537 * t786; + const double t2450 = 0.30487649791575028312e-3 * t2324; + const double t2451 = 0.43368970657079495308e-4 * t2334; + const double t2452 = 0.81300399444200075499e-3 * t2338; + const double t2453 = 0.30487649791575028312e-3 * t2345; + const double t2456 = -t2450 + t2451 - t2452 - t2453 - 0.72042316457491791901e-3 * t2350 + 0.30487649791575028312e-3 * t2354 - t2360 + t2361 + t2362 - t2363 + t2364 + t2365; + const double t2457 = t232 * t2456; + const double t2460 = t601 * t383; + const double t2461 = t2460 * t698; + const double t2462 = t2461 * t702; + const double t2463 = 0.69504740211613770831e-3 * t2462; + const double t2465 = t2196 * t2197 * t621; + const double t2466 = t2195 * t2465; + const double t2467 = 0.86880925264517213539e-3 * t2466; + const double t2469 = t2196 * t2217 * t628; + const double t2470 = t699 * t2469; + const double t2471 = 0.69504740211613770831e-3 * t2470; + const double t2472 = t706 * t647; + const double t2473 = t455 * t2472; + const double t2476 = t706 * t652; + const double t2477 = t487 * t2476; + const double t2480 = t706 * t662; + const double t2481 = t495 * t2480; + const double t2484 = t718 * t2472; + const double t2487 = t2266 * t2476; + const double t2490 = t2270 * t2480; + const double t2493 = 0.6e1 * t1417 * t2473 - 0.8e1 * t2250 * t2484 - 0.9e1 * t454 * t2477 - 0.3e1 * t454 * t2481 + 0.1e2 * t715 * t2487 + 0.4e1 * t715 * t2490 + t2223 - t2231 + t2244 - t2248 + t2263 - t2276; + const double t2494 = piecewise_functor_3( t210, 0.0, t2493 ); + const double t2496 = t666 * t723; + const double t2498 = t211 * t2494; + const double t2502 = t213 * t2494; + const double t2506 = t215 * t2494; + const double t2510 = t217 * t2494; + const double t2514 = t219 * t2494; + const double t2520 = -0.64e0 * t2494 - 0.8704e0 * t2496 - 0.8704e0 * t2498 - 0.9214113627294e1 * t725 * t666 - 0.4607056813647e1 * t2502 + 0.367387230261e2 * t727 * t666 + 0.122462410087e2 * t2506 - 0.3831420472412e2 * t729 * t666 - 0.957855118103e1 * t2510 + 0.1550653405116e2 * t731 * t666 + 0.3101306810232e1 * t2514 - 0.2177652951264e1 * t733 * t666 - 0.362942158544e0 * t221 * t2494; + const double t2521 = t230 * t681; + const double t2524 = piecewise_functor_3( t210, t2493, 0.0 ); + const double t2531 = piecewise_functor_3( t209, t2520, -0.21e1 * t2305 * t2521 - 0.105e1 * t532 * t2524 * t230 - 0.1575e1 * t2312 * t2521 ); + const double t2532 = t2531 * t269; + const double t2533 = t742 * t693; + const double t2534 = t685 * t751; + const double t2536 = t2341 * t2348 * t687; + const double t2538 = t746 * t691; + const double t2540 = t744 * t745 * t2538; + const double t2542 = -t2325 + t2335 - t2339 - t2346 - 0.36021158228745895953e-3 * t2536 + 0.15243824895787514157e-3 * t2540 - t2463 + t2467 + t2206 - t2212 + t2216 + t2471; + const double t2543 = t232 * t2542; + const double t2546 = 0.13900948042322754166e-2 * t2462; + const double t2547 = 0.17376185052903442708e-2 * t2466; + const double t2548 = 0.13900948042322754166e-2 * t2470; + const double t2549 = t756 * t647; + const double t2550 = t455 * t2549; + const double t2553 = t756 * t652; + const double t2554 = t487 * t2553; + const double t2557 = t756 * t662; + const double t2558 = t495 * t2557; + const double t2561 = t718 * t2549; + const double t2564 = t2266 * t2553; + const double t2567 = t2270 * t2557; + const double t2570 = 0.6e1 * t1417 * t2550 - 0.8e1 * t2250 * t2561 - 0.9e1 * t454 * t2554 - 0.3e1 * t454 * t2558 + 0.1e2 * t715 * t2564 + 0.4e1 * t715 * t2567 + t2367 - t2375 + t2388 - t2390 + t2397 - t2406; + const double t2571 = piecewise_functor_3( t210, 0.0, t2570 ); + const double t2573 = t666 * t764; + const double t2575 = t211 * t2571; + const double t2579 = t213 * t2571; + const double t2583 = t215 * t2571; + const double t2587 = t217 * t2571; + const double t2591 = t219 * t2571; + const double t2597 = -0.64e0 * t2571 - 0.8704e0 * t2573 - 0.8704e0 * t2575 - 0.9214113627294e1 * t766 * t666 - 0.4607056813647e1 * t2579 + 0.367387230261e2 * t768 * t666 + 0.122462410087e2 * t2583 - 0.3831420472412e2 * t770 * t666 - 0.957855118103e1 * t2587 + 0.1550653405116e2 * t772 * t666 + 0.3101306810232e1 * t2591 - 0.2177652951264e1 * t774 * t666 - 0.362942158544e0 * t221 * t2571; + const double t2600 = piecewise_functor_3( t210, t2570, 0.0 ); + const double t2607 = piecewise_functor_3( t209, t2597, -0.21e1 * t2435 * t2521 - 0.105e1 * t532 * t2600 * t230 - 0.1575e1 * t2442 * t2521 ); + const double t2608 = t2607 * t269; + const double t2609 = t783 * t693; + const double t2610 = t685 * t786; + const double t2613 = -t2450 + t2451 - t2452 - t2453 - 0.72042316457491791901e-3 * t2536 + 0.30487649791575028312e-3 * t2540 - t2546 + t2547 + t2362 - t2363 + t2364 + t2548; + const double t2614 = t232 * t2613; + const double t2617 = t817 * t269; + const double t2619 = 0.15e2 * t504 * t791; + const double t2620 = t790 * t472; + const double t2621 = t455 * t2620; + const double t2624 = t206 * t790; + const double t2625 = t2624 * t183; + const double t2627 = 0.9e1 / 0.2e1 * t1447 * t2625; + const double t2628 = t790 * t489; + const double t2629 = t487 * t2628; + const double t2632 = t790 * t512; + const double t2633 = t495 * t2632; + const double t2637 = t152 * t156; + const double t2641 = piecewise_functor_3( t174, -0.5e1 / 0.3e1 * t458 * t157 + 0.5e1 / 0.3e1 * t2637 * t462, 0.0 ); + const double t2642 = t455 * t2641; + const double t2646 = 0.5e2 / 0.3e1 * t2246 * t794; + const double t2647 = t718 * t2620; + const double t2650 = t494 * t790; + const double t2651 = t2650 * t183; + const double t2653 = 0.5e1 * t2259 * t2651; + const double t2654 = t2266 * t2628; + const double t2657 = t2270 * t2632; + const double t2660 = t718 * t2641; + const double t2663 = 0.6e1 * t1417 * t2621 - 0.8e1 * t2250 * t2647 - 0.9e1 * t454 * t2629 - 0.3e1 * t454 * t2633 + 0.3e1 * t454 * t2642 + 0.1e2 * t715 * t2654 + 0.4e1 * t715 * t2657 - 0.2e1 * t715 * t2660 + t2619 - t2627 - t2646 + t2653; + const double t2664 = piecewise_functor_3( t210, 0.0, t2663 ); + const double t2666 = t516 * t798; + const double t2668 = t211 * t2664; + const double t2672 = t213 * t2664; + const double t2676 = t215 * t2664; + const double t2680 = t217 * t2664; + const double t2684 = t219 * t2664; + const double t2690 = -0.64e0 * t2664 - 0.8704e0 * t2666 - 0.8704e0 * t2668 - 0.9214113627294e1 * t800 * t516 - 0.4607056813647e1 * t2672 + 0.367387230261e2 * t802 * t516 + 0.122462410087e2 * t2676 - 0.3831420472412e2 * t804 * t516 - 0.957855118103e1 * t2680 + 0.1550653405116e2 * t806 * t516 + 0.3101306810232e1 * t2684 - 0.2177652951264e1 * t808 * t516 - 0.362942158544e0 * t221 * t2664; + const double t2691 = t1493 * t813; + const double t2694 = piecewise_functor_3( t210, t2663, 0.0 ); + const double t2698 = t1503 * t813; + const double t2702 = piecewise_functor_3( t209, t2690, -0.21e1 * t2691 * t1872 - 0.105e1 * t532 * t2694 * t230 - 0.1575e1 * t2698 * t1872 ); + const double t2703 = t8 * t2702; + const double t2706 = t847 * t269; + const double t2708 = 0.15e2 * t504 * t821; + const double t2709 = t820 * t472; + const double t2710 = t455 * t2709; + const double t2713 = t206 * t820; + const double t2714 = t2713 * t183; + const double t2716 = 0.9e1 / 0.2e1 * t1447 * t2714; + const double t2717 = t820 * t489; + const double t2718 = t487 * t2717; + const double t2721 = t820 * t512; + const double t2722 = t495 * t2721; + const double t2725 = t162 * t166; + const double t2728 = piecewise_functor_3( t174, 0.5e1 / 0.3e1 * t2725 * t466, 0.0 ); + const double t2729 = t455 * t2728; + const double t2733 = 0.5e2 / 0.3e1 * t2246 * t824; + const double t2734 = t718 * t2709; + const double t2737 = t494 * t820; + const double t2738 = t2737 * t183; + const double t2740 = 0.5e1 * t2259 * t2738; + const double t2741 = t2266 * t2717; + const double t2744 = t2270 * t2721; + const double t2747 = t718 * t2728; + const double t2750 = 0.6e1 * t1417 * t2710 - 0.8e1 * t2250 * t2734 - 0.9e1 * t454 * t2718 - 0.3e1 * t454 * t2722 + 0.3e1 * t454 * t2729 + 0.1e2 * t715 * t2741 + 0.4e1 * t715 * t2744 - 0.2e1 * t715 * t2747 + t2708 - t2716 - t2733 + t2740; + const double t2751 = piecewise_functor_3( t210, 0.0, t2750 ); + const double t2753 = t516 * t828; + const double t2755 = t211 * t2751; + const double t2759 = t213 * t2751; + const double t2763 = t215 * t2751; + const double t2767 = t217 * t2751; + const double t2771 = t219 * t2751; + const double t2777 = -0.64e0 * t2751 - 0.8704e0 * t2753 - 0.8704e0 * t2755 - 0.9214113627294e1 * t830 * t516 - 0.4607056813647e1 * t2759 + 0.367387230261e2 * t832 * t516 + 0.122462410087e2 * t2763 - 0.3831420472412e2 * t834 * t516 - 0.957855118103e1 * t2767 + 0.1550653405116e2 * t836 * t516 + 0.3101306810232e1 * t2771 - 0.2177652951264e1 * t838 * t516 - 0.362942158544e0 * t221 * t2751; + const double t2778 = t1493 * t843; + const double t2781 = piecewise_functor_3( t210, t2750, 0.0 ); + const double t2785 = t1503 * t843; + const double t2789 = piecewise_functor_3( t209, t2777, -0.21e1 * t2778 * t1872 - 0.105e1 * t532 * t2781 * t230 - 0.1575e1 * t2785 * t1872 ); + const double t2790 = t8 * t2789; + const double t2793 = t790 * t647; + const double t2794 = t455 * t2793; + const double t2797 = t790 * t652; + const double t2798 = t487 * t2797; + const double t2801 = t790 * t662; + const double t2802 = t495 * t2801; + const double t2807 = piecewise_functor_3( t174, 0.5e1 / 0.3e1 * t2637 * t632, 0.0 ); + const double t2808 = t455 * t2807; + const double t2811 = t718 * t2793; + const double t2814 = t2266 * t2797; + const double t2817 = t2270 * t2801; + const double t2820 = t718 * t2807; + const double t2823 = 0.6e1 * t1417 * t2794 - 0.8e1 * t2250 * t2811 - 0.9e1 * t454 * t2798 - 0.3e1 * t454 * t2802 + 0.3e1 * t454 * t2808 + 0.1e2 * t715 * t2814 + 0.4e1 * t715 * t2817 - 0.2e1 * t715 * t2820 + t2619 - t2627 - t2646 + t2653; + const double t2824 = piecewise_functor_3( t210, 0.0, t2823 ); + const double t2826 = t666 * t798; + const double t2828 = t211 * t2824; + const double t2832 = t213 * t2824; + const double t2836 = t215 * t2824; + const double t2840 = t217 * t2824; + const double t2844 = t219 * t2824; + const double t2850 = -0.64e0 * t2824 - 0.8704e0 * t2826 - 0.8704e0 * t2828 - 0.9214113627294e1 * t800 * t666 - 0.4607056813647e1 * t2832 + 0.367387230261e2 * t802 * t666 + 0.122462410087e2 * t2836 - 0.3831420472412e2 * t804 * t666 - 0.957855118103e1 * t2840 + 0.1550653405116e2 * t806 * t666 + 0.3101306810232e1 * t2844 - 0.2177652951264e1 * t808 * t666 - 0.362942158544e0 * t221 * t2824; + const double t2853 = piecewise_functor_3( t210, t2823, 0.0 ); + const double t2860 = piecewise_functor_3( t209, t2850, -0.21e1 * t2691 * t2521 - 0.105e1 * t532 * t2853 * t230 - 0.1575e1 * t2698 * t2521 ); + const double t2861 = t8 * t2860; + const double t2864 = t820 * t647; + const double t2865 = t455 * t2864; + const double t2868 = t820 * t652; + const double t2869 = t487 * t2868; + const double t2872 = t820 * t662; + const double t2873 = t495 * t2872; + const double t2880 = piecewise_functor_3( t174, -0.5e1 / 0.3e1 * t638 * t167 + 0.5e1 / 0.3e1 * t2725 * t642, 0.0 ); + const double t2881 = t455 * t2880; + const double t2884 = t718 * t2864; + const double t2887 = t2266 * t2868; + const double t2890 = t2270 * t2872; + const double t2893 = t718 * t2880; + const double t2896 = 0.6e1 * t1417 * t2865 - 0.8e1 * t2250 * t2884 - 0.9e1 * t454 * t2869 - 0.3e1 * t454 * t2873 + 0.3e1 * t454 * t2881 + 0.1e2 * t715 * t2887 + 0.4e1 * t715 * t2890 - 0.2e1 * t715 * t2893 + t2708 - t2716 - t2733 + t2740; + const double t2897 = piecewise_functor_3( t210, 0.0, t2896 ); + const double t2899 = t666 * t828; + const double t2901 = t211 * t2897; + const double t2905 = t213 * t2897; + const double t2909 = t215 * t2897; + const double t2913 = t217 * t2897; + const double t2917 = t219 * t2897; + const double t2923 = -0.64e0 * t2897 - 0.8704e0 * t2899 - 0.8704e0 * t2901 - 0.9214113627294e1 * t830 * t666 - 0.4607056813647e1 * t2905 + 0.367387230261e2 * t832 * t666 + 0.122462410087e2 * t2909 - 0.3831420472412e2 * t834 * t666 - 0.957855118103e1 * t2913 + 0.1550653405116e2 * t836 * t666 + 0.3101306810232e1 * t2917 - 0.2177652951264e1 * t838 * t666 - 0.362942158544e0 * t221 * t2897; + const double t2926 = piecewise_functor_3( t210, t2896, 0.0 ); + const double t2933 = piecewise_functor_3( t209, t2923, -0.21e1 * t2778 * t2521 - 0.105e1 * t532 * t2926 * t230 - 0.1575e1 * t2785 * t2521 ); + const double t2934 = t8 * t2933; + const double t2937 = 0.1e1 / t104; + const double t2938 = t2937 * t1010; + const double t2939 = t108 * t108; + const double t2940 = t2938 * t2939; + const double t2941 = t394 * t988; + const double t2942 = t2941 * t187; + const double t2943 = t2940 * t2942; + const double t2947 = t447 * t113; + const double t2948 = t2947 * t121; + const double t2949 = t2946 * t2948; + const double t2950 = t2943 * t2949; + const double t2951 = 0.71518739786987016352e-4 * t2950; + const double t2952 = safe_math::sqrt( t138 ); + const double t2954 = 0.1e1 / t2952 / t1008; + const double t2955 = t2937 * t2954; + const double t2956 = t2939 * t394; + const double t2963 = t2959 * t2944 * t7 * t1286 * t113; + const double t2964 = t2955 * t2956 * t988 * t2963; + const double t2965 = 0.1430374795739740327e-4 * t2964; + const double t2966 = t706 * t706; + const double t2967 = t455 * t2966; + const double t2970 = t718 * t2966; + const double t2973 = piecewise_functor_3( t174, 0.0, 0.0 ); + const double t2974 = t455 * t2973; + const double t2976 = 0.3e1 * t454 * t2974; + const double t2977 = t263 * t198; + const double t2978 = t23 * t2977; + const double t2979 = t711 * t175; + const double t2980 = t2978 * t2979; + const double t2982 = 0.1e1 / t478 / t191; + const double t2983 = t2980 * t2982; + const double t2985 = 0.1e1 / t485 / t195; + const double t2986 = t2985 * t1406; + const double t2987 = t2986 * t2966; + const double t2990 = t718 * t2973; + const double t2992 = 0.2e1 * t715 * t2990; + const double t2993 = 0.6e1 * t1417 * t2967 - 0.14e2 * t2250 * t2970 + 0.8e1 * t2983 * t2987 + t2976 - t2992; + const double t2994 = piecewise_functor_3( t210, 0.0, t2993 ); + const double t2996 = t723 * t723; + const double t2998 = t211 * t2994; + const double t3000 = t211 * t2996; + const double t3002 = t213 * t2994; + const double t3004 = t213 * t2996; + const double t3006 = t215 * t2994; + const double t3008 = t215 * t2996; + const double t3010 = t217 * t2994; + const double t3012 = t217 * t2996; + const double t3014 = t219 * t2994; + const double t3020 = -0.64e0 * t2994 - 0.8704e0 * t2996 - 0.8704e0 * t2998 - 0.9214113627294e1 * t3000 - 0.4607056813647e1 * t3002 + 0.367387230261e2 * t3004 + 0.122462410087e2 * t3006 - 0.3831420472412e2 * t3008 - 0.957855118103e1 * t3010 + 0.1550653405116e2 * t3012 + 0.3101306810232e1 * t3014 - 0.2177652951264e1 * t219 * t2996 - 0.362942158544e0 * t221 * t2994; + const double t3021 = t738 * t738; + const double t3025 = piecewise_functor_3( t210, t2993, 0.0 ); + const double t3029 = t1503 * t3021; + const double t3033 = piecewise_functor_3( t209, t3020, -0.21e1 * t1493 * t3021 * t230 - 0.105e1 * t532 * t3025 * t230 - 0.1575e1 * t3029 * t230 ); + const double t3034 = t3033 * t269; + const double t3036 = 0.2e1 * t742 * t751; + const double t3037 = t974 * t2326; + const double t3038 = t9 * t148; + const double t3039 = 0.1e1 / t3038; + const double t3040 = t57 * t3039; + const double t3042 = t3037 * t3040 * t747; + const double t3044 = t240 * t240; + const double t3045 = safe_math::sqrt( t247 ); + const double t3047 = 0.1e1 / t3045 / t971; + const double t3048 = t3044 * t3047; + const double t3049 = t3048 * t2326; + const double t3050 = t998 * t259; + const double t3051 = t3050 * t267; + const double t3053 = t3049 * t3040 * t3051; + const double t3055 = -0.81316819982024053709e-5 * t3042 - 0.16263363996404810741e-5 * t3053 + t2951 + t2965; + const double t3056 = t232 * t3055; + const double t3058 = 0.1430374795739740327e-3 * t2950; + const double t3059 = 0.2860749591479480654e-4 * t2964; + const double t3060 = t756 * t706; + const double t3061 = t455 * t3060; + const double t3064 = t718 * t3060; + const double t3067 = t2986 * t3060; + const double t3070 = 0.6e1 * t1417 * t3061 - 0.14e2 * t2250 * t3064 + 0.8e1 * t2983 * t3067 + t2976 - t2992; + const double t3071 = piecewise_functor_3( t210, 0.0, t3070 ); + const double t3073 = t723 * t764; + const double t3075 = t211 * t3071; + const double t3079 = t213 * t3071; + const double t3083 = t215 * t3071; + const double t3087 = t217 * t3071; + const double t3091 = t219 * t3071; + const double t3097 = -0.64e0 * t3071 - 0.8704e0 * t3073 - 0.8704e0 * t3075 - 0.9214113627294e1 * t766 * t723 - 0.4607056813647e1 * t3079 + 0.367387230261e2 * t768 * t723 + 0.122462410087e2 * t3083 - 0.3831420472412e2 * t770 * t723 - 0.957855118103e1 * t3087 + 0.1550653405116e2 * t772 * t723 + 0.3101306810232e1 * t3091 - 0.2177652951264e1 * t774 * t723 - 0.362942158544e0 * t221 * t3071; + const double t3098 = t230 * t738; + const double t3101 = piecewise_functor_3( t210, t3070, 0.0 ); + const double t3108 = piecewise_functor_3( t209, t3097, -0.21e1 * t2435 * t3098 - 0.105e1 * t532 * t3101 * t230 - 0.1575e1 * t2442 * t3098 ); + const double t3109 = t3108 * t269; + const double t3110 = t783 * t751; + const double t3111 = t742 * t786; + const double t3112 = 0.16263363996404810741e-4 * t3042; + const double t3114 = -t3112 - 0.3252672799280962148e-5 * t3053 + t3058 + t3059; + const double t3115 = t232 * t3114; + const double t3117 = 0.2860749591479480654e-3 * t2950; + const double t3118 = 0.57214991829589613078e-4 * t2964; + const double t3119 = t756 * t756; + const double t3120 = t455 * t3119; + const double t3123 = t718 * t3119; + const double t3126 = t2986 * t3119; + const double t3129 = 0.6e1 * t1417 * t3120 - 0.14e2 * t2250 * t3123 + 0.8e1 * t2983 * t3126 + t2976 - t2992; + const double t3130 = piecewise_functor_3( t210, 0.0, t3129 ); + const double t3132 = t764 * t764; + const double t3134 = t211 * t3130; + const double t3136 = t211 * t3132; + const double t3138 = t213 * t3130; + const double t3140 = t213 * t3132; + const double t3142 = t215 * t3130; + const double t3144 = t215 * t3132; + const double t3146 = t217 * t3130; + const double t3148 = t217 * t3132; + const double t3150 = t219 * t3130; + const double t3156 = -0.64e0 * t3130 - 0.8704e0 * t3132 - 0.8704e0 * t3134 - 0.9214113627294e1 * t3136 - 0.4607056813647e1 * t3138 + 0.367387230261e2 * t3140 + 0.122462410087e2 * t3142 - 0.3831420472412e2 * t3144 - 0.957855118103e1 * t3146 + 0.1550653405116e2 * t3148 + 0.3101306810232e1 * t3150 - 0.2177652951264e1 * t219 * t3132 - 0.362942158544e0 * t221 * t3130; + const double t3157 = t779 * t779; + const double t3161 = piecewise_functor_3( t210, t3129, 0.0 ); + const double t3165 = t1503 * t3157; + const double t3169 = piecewise_functor_3( t209, t3156, -0.21e1 * t1493 * t3157 * t230 - 0.105e1 * t532 * t3161 * t230 - 0.1575e1 * t3165 * t230 ); + const double t3170 = t3169 * t269; + const double t3172 = 0.2e1 * t783 * t786; + const double t3175 = -0.3252672799280962148e-4 * t3042 - 0.65053455985619242961e-5 * t3053 + t3117 + t3118; + const double t3176 = t232 * t3175; + const double t3178 = 0.28607495914794806539e-4 * t2964; + const double t3180 = -t3112 - 0.32526727992809621482e-5 * t3053 + t3058 + t3178; + const double t3181 = t232 * t3180; + const double t3183 = t790 * t706; + const double t3184 = t455 * t3183; + const double t3187 = t718 * t3183; + const double t3190 = t2986 * t3183; + const double t3193 = 0.6e1 * t1417 * t3184 - 0.14e2 * t2250 * t3187 + 0.8e1 * t2983 * t3190 + t2976 - t2992; + const double t3194 = piecewise_functor_3( t210, 0.0, t3193 ); + const double t3196 = t723 * t798; + const double t3198 = t211 * t3194; + const double t3202 = t213 * t3194; + const double t3206 = t215 * t3194; + const double t3210 = t217 * t3194; + const double t3214 = t219 * t3194; + const double t3220 = -0.64e0 * t3194 - 0.8704e0 * t3196 - 0.8704e0 * t3198 - 0.9214113627294e1 * t800 * t723 - 0.4607056813647e1 * t3202 + 0.367387230261e2 * t802 * t723 + 0.122462410087e2 * t3206 - 0.3831420472412e2 * t804 * t723 - 0.957855118103e1 * t3210 + 0.1550653405116e2 * t806 * t723 + 0.3101306810232e1 * t3214 - 0.2177652951264e1 * t808 * t723 - 0.362942158544e0 * t221 * t3194; + const double t3223 = piecewise_functor_3( t210, t3193, 0.0 ); + const double t3230 = piecewise_functor_3( t209, t3220, -0.21e1 * t2691 * t3098 - 0.105e1 * t532 * t3223 * t230 - 0.1575e1 * t2698 * t3098 ); + const double t3231 = t8 * t3230; + const double t3234 = t820 * t706; + const double t3235 = t455 * t3234; + const double t3238 = t718 * t3234; + const double t3241 = t2986 * t3234; + const double t3244 = 0.6e1 * t1417 * t3235 - 0.14e2 * t2250 * t3238 + 0.8e1 * t2983 * t3241 + t2976 - t2992; + const double t3245 = piecewise_functor_3( t210, 0.0, t3244 ); + const double t3247 = t723 * t828; + const double t3249 = t211 * t3245; + const double t3253 = t213 * t3245; + const double t3257 = t215 * t3245; + const double t3261 = t217 * t3245; + const double t3265 = t219 * t3245; + const double t3271 = -0.64e0 * t3245 - 0.8704e0 * t3247 - 0.8704e0 * t3249 - 0.9214113627294e1 * t830 * t723 - 0.4607056813647e1 * t3253 + 0.367387230261e2 * t832 * t723 + 0.122462410087e2 * t3257 - 0.3831420472412e2 * t834 * t723 - 0.957855118103e1 * t3261 + 0.1550653405116e2 * t836 * t723 + 0.3101306810232e1 * t3265 - 0.2177652951264e1 * t838 * t723 - 0.362942158544e0 * t221 * t3245; + const double t3274 = piecewise_functor_3( t210, t3244, 0.0 ); + const double t3281 = piecewise_functor_3( t209, t3271, -0.21e1 * t2778 * t3098 - 0.105e1 * t532 * t3274 * t230 - 0.1575e1 * t2785 * t3098 ); + const double t3282 = t8 * t3281; + const double t3285 = t790 * t756; + const double t3286 = t455 * t3285; + const double t3289 = t718 * t3285; + const double t3292 = t2986 * t3285; + const double t3295 = 0.6e1 * t1417 * t3286 - 0.14e2 * t2250 * t3289 + 0.8e1 * t2983 * t3292 + t2976 - t2992; + const double t3296 = piecewise_functor_3( t210, 0.0, t3295 ); + const double t3298 = t764 * t798; + const double t3300 = t211 * t3296; + const double t3304 = t213 * t3296; + const double t3308 = t215 * t3296; + const double t3312 = t217 * t3296; + const double t3316 = t219 * t3296; + const double t3322 = -0.64e0 * t3296 - 0.8704e0 * t3298 - 0.8704e0 * t3300 - 0.9214113627294e1 * t800 * t764 - 0.4607056813647e1 * t3304 + 0.367387230261e2 * t802 * t764 + 0.122462410087e2 * t3308 - 0.3831420472412e2 * t804 * t764 - 0.957855118103e1 * t3312 + 0.1550653405116e2 * t806 * t764 + 0.3101306810232e1 * t3316 - 0.2177652951264e1 * t808 * t764 - 0.362942158544e0 * t221 * t3296; + const double t3323 = t230 * t779; + const double t3326 = piecewise_functor_3( t210, t3295, 0.0 ); + const double t3333 = piecewise_functor_3( t209, t3322, -0.21e1 * t2691 * t3323 - 0.105e1 * t532 * t3326 * t230 - 0.1575e1 * t2698 * t3323 ); + const double t3334 = t8 * t3333; + const double t3337 = t820 * t756; + const double t3338 = t455 * t3337; + const double t3341 = t718 * t3337; + const double t3344 = t2986 * t3337; + const double t3347 = 0.6e1 * t1417 * t3338 - 0.14e2 * t2250 * t3341 + 0.8e1 * t2983 * t3344 + t2976 - t2992; + const double t3348 = piecewise_functor_3( t210, 0.0, t3347 ); + const double t3350 = t764 * t828; + const double t3352 = t211 * t3348; + const double t3356 = t213 * t3348; + const double t3360 = t215 * t3348; + const double t3364 = t217 * t3348; + const double t3368 = t219 * t3348; + const double t3374 = -0.64e0 * t3348 - 0.8704e0 * t3350 - 0.8704e0 * t3352 - 0.9214113627294e1 * t830 * t764 - 0.4607056813647e1 * t3356 + 0.367387230261e2 * t832 * t764 + 0.122462410087e2 * t3360 - 0.3831420472412e2 * t834 * t764 - 0.957855118103e1 * t3364 + 0.1550653405116e2 * t836 * t764 + 0.3101306810232e1 * t3368 - 0.2177652951264e1 * t838 * t764 - 0.362942158544e0 * t221 * t3348; + const double t3377 = piecewise_functor_3( t210, t3347, 0.0 ); + const double t3384 = piecewise_functor_3( t209, t3374, -0.21e1 * t2778 * t3323 - 0.105e1 * t532 * t3377 * t230 - 0.1575e1 * t2785 * t3323 ); + const double t3385 = t8 * t3384; + const double t3388 = t790 * t790; + const double t3389 = t455 * t3388; + const double t3392 = t718 * t3388; + const double t3395 = t2986 * t3388; + const double t3398 = 0.6e1 * t1417 * t3389 - 0.14e2 * t2250 * t3392 + 0.8e1 * t2983 * t3395 + t2976 - t2992; + const double t3399 = piecewise_functor_3( t210, 0.0, t3398 ); + const double t3401 = t798 * t798; + const double t3403 = t211 * t3399; + const double t3405 = t211 * t3401; + const double t3407 = t213 * t3399; + const double t3409 = t213 * t3401; + const double t3411 = t215 * t3399; + const double t3413 = t215 * t3401; + const double t3415 = t217 * t3399; + const double t3417 = t217 * t3401; + const double t3419 = t219 * t3399; + const double t3425 = -0.64e0 * t3399 - 0.8704e0 * t3401 - 0.8704e0 * t3403 - 0.9214113627294e1 * t3405 - 0.4607056813647e1 * t3407 + 0.367387230261e2 * t3409 + 0.122462410087e2 * t3411 - 0.3831420472412e2 * t3413 - 0.957855118103e1 * t3415 + 0.1550653405116e2 * t3417 + 0.3101306810232e1 * t3419 - 0.2177652951264e1 * t219 * t3401 - 0.362942158544e0 * t221 * t3399; + const double t3426 = t813 * t813; + const double t3430 = piecewise_functor_3( t210, t3398, 0.0 ); + const double t3434 = t1503 * t3426; + const double t3438 = piecewise_functor_3( t209, t3425, -0.21e1 * t1493 * t3426 * t230 - 0.105e1 * t532 * t3430 * t230 - 0.1575e1 * t3434 * t230 ); + const double t3439 = t8 * t3438; + const double t3440 = t820 * t790; + const double t3441 = t455 * t3440; + const double t3444 = t718 * t3440; + const double t3447 = t2986 * t3440; + const double t3450 = 0.6e1 * t1417 * t3441 - 0.14e2 * t2250 * t3444 + 0.8e1 * t2983 * t3447 + t2976 - t2992; + const double t3451 = piecewise_functor_3( t210, 0.0, t3450 ); + const double t3453 = t798 * t828; + const double t3455 = t211 * t3451; + const double t3459 = t213 * t3451; + const double t3463 = t215 * t3451; + const double t3467 = t217 * t3451; + const double t3471 = t219 * t3451; + const double t3477 = -0.64e0 * t3451 - 0.8704e0 * t3453 - 0.8704e0 * t3455 - 0.9214113627294e1 * t830 * t798 - 0.4607056813647e1 * t3459 + 0.367387230261e2 * t832 * t798 + 0.122462410087e2 * t3463 - 0.3831420472412e2 * t834 * t798 - 0.957855118103e1 * t3467 + 0.1550653405116e2 * t836 * t798 + 0.3101306810232e1 * t3471 - 0.2177652951264e1 * t838 * t798 - 0.362942158544e0 * t221 * t3451; + const double t3478 = t230 * t813; + const double t3481 = piecewise_functor_3( t210, t3450, 0.0 ); + const double t3488 = piecewise_functor_3( t209, t3477, -0.21e1 * t2778 * t3478 - 0.105e1 * t532 * t3481 * t230 - 0.1575e1 * t2785 * t3478 ); + const double t3489 = t8 * t3488; + const double t3490 = t820 * t820; + const double t3491 = t455 * t3490; + const double t3494 = t718 * t3490; + const double t3497 = t2986 * t3490; + const double t3500 = 0.6e1 * t1417 * t3491 - 0.14e2 * t2250 * t3494 + 0.8e1 * t2983 * t3497 + t2976 - t2992; + const double t3501 = piecewise_functor_3( t210, 0.0, t3500 ); + const double t3503 = t828 * t828; + const double t3505 = t211 * t3501; + const double t3507 = t211 * t3503; + const double t3509 = t213 * t3501; + const double t3511 = t213 * t3503; + const double t3513 = t215 * t3501; + const double t3515 = t215 * t3503; + const double t3517 = t217 * t3501; + const double t3519 = t217 * t3503; + const double t3521 = t219 * t3501; + const double t3527 = -0.64e0 * t3501 - 0.8704e0 * t3503 - 0.8704e0 * t3505 - 0.9214113627294e1 * t3507 - 0.4607056813647e1 * t3509 + 0.367387230261e2 * t3511 + 0.122462410087e2 * t3513 - 0.3831420472412e2 * t3515 - 0.957855118103e1 * t3517 + 0.1550653405116e2 * t3519 + 0.3101306810232e1 * t3521 - 0.2177652951264e1 * t219 * t3503 - 0.362942158544e0 * t221 * t3501; + const double t3528 = t843 * t843; + const double t3532 = piecewise_functor_3( t210, t3500, 0.0 ); + const double t3536 = t1503 * t3528; + const double t3540 = piecewise_functor_3( t209, t3527, -0.21e1 * t1493 * t3528 * t230 - 0.105e1 * t532 * t3532 * t230 - 0.1575e1 * t3536 * t230 ); + const double t3541 = t8 * t3540; + + + vrho_a = t8 * t578 + t147 + t270 - t34 + t90 + t92; + vrho_b = t8 * t695 + t147 + t270 - t34 + t90 + t92; + vsigma_aa = t8 * ( t704 + t743 + t752 ); + vsigma_ab = t8 * ( t754 + t784 + t787 ); + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t818 * t269; + vtau_b = t848 * t269; + v2rho2_aa = t8 * ( t1303 + t1510 ) + 0.2e1 * t449 + 0.2e1 * t577 + 0.2e1 * t538 - t1516 + t1517 - t1518 + 0.6e1 * t380 + t1520 + 0.2e1 * t322 + t1522 - t1523 + t1524 + 0.39503346997227602814e-1 * t356; + v2rho2_ab = t8 * ( t1591 + t1906 ) + t631 + t694 + t686 + t604 + t591 + t593 + t449 + t577 + t538 - t1516 - t1518 + t381 + t1520 + t322 + t1522 - t1523 + t1524 + t357; + v2rho2_bb = t8 * ( t2048 + t2181 ) + 0.2e1 * t631 + 0.2e1 * t694 + 0.2e1 * t686 + 0.6e1 * t603 + 0.2e1 * t591 + 0.39503346997227602814e-1 * t592 - t1516 - t1517 - t1518 + t1520 + t1522 - t1523 + t1524; + v2rhosigma_a_aa = t704 + t743 + t752 + t8 * ( t2193 - t2201 - t2206 + t2212 - t2216 - t2221 + t2317 + t2318 + t2319 + t2357 ); + v2rhosigma_a_ab = t754 + t784 + t787 + t8 * ( t2360 - t2361 - t2362 + t2363 - t2364 - t2365 + t2447 + t2448 + t2449 + t2457 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t704 + t743 + t752 + t8 * ( t2463 - t2467 - t2206 + t2212 - t2216 - t2471 + t2532 + t2533 + t2534 + t2543 ); + v2rhosigma_b_ab = t754 + t784 + t787 + t8 * ( t2546 - t2547 - t2362 + t2363 - t2364 - t2548 + t2608 + t2609 + t2610 + t2614 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2703 * t269 + t818 * t576 + t2617; + v2rhotau_a_b = t2790 * t269 + t848 * t576 + t2706; + v2rhotau_b_a = t2861 * t269 + t818 * t693 + t2617; + v2rhotau_b_b = t2934 * t269 + t848 * t693 + t2706; + v2sigma2_aa_aa = t8 * ( -t2951 - t2965 + t3034 + t3036 + t3056 ); + v2sigma2_aa_ab = t8 * ( -t3058 - t3059 + t3109 + t3110 + t3111 + t3115 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t8 * ( -t3117 - t3118 + t3170 + t3172 + t3176 ); + v2sigma2_ab_bb = t8 * ( -t3058 - t3178 + t3109 + t3111 + t3110 + t3181 ); + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t3231 * t269 + t818 * t751; + v2sigmatau_aa_b = t3282 * t269 + t848 * t751; + v2sigmatau_ab_a = t3334 * t269 + t818 * t786; + v2sigmatau_ab_b = t3385 * t269 + t848 * t786; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t3439 * t269; + v2tau2_ab = t3489 * t269; + v2tau2_bb = t3541 * t269; + + } + + +}; + +struct BuiltinRSCAN_C : detail::BuiltinKernelImpl< BuiltinRSCAN_C > { + + BuiltinRSCAN_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinRSCAN_C >(p) { } + + virtual ~BuiltinRSCAN_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/rscan_x.hpp b/include/exchcxx/impl/builtin/kernels/rscan_x.hpp new file mode 100644 index 0000000..42bd513 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/rscan_x.hpp @@ -0,0 +1,5677 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinRSCAN_X > : + public mgga_screening_interface< BuiltinRSCAN_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-11; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318875e-15; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c2 = 0.8; + static constexpr double d = 1.24; + static constexpr double k1 = 0.065; + static constexpr double taur = 1.0e-4; + static constexpr double alphar = 1.0e-3; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t39 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t40 = t21 * t21; + constexpr double t42 = t23 * t22; + constexpr double t43 = 0.1e1 / t42; + constexpr double t44 = t39 * t40 * t43; + constexpr double t84 = t40 * t24; + constexpr double t152 = 0.1e1 / t23; + constexpr double t153 = t40 * t152; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t20 * t20; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t45 = sigma * sigma; + const double t46 = t45 * t27; + const double t47 = t30 * t30; + const double t48 = t47 * rho; + const double t50 = 0.1e1 / t20 / t48; + const double t55 = safe_math::exp( -0.27e2 / 0.8e2 * t39 * t21 * t25 * t34 ); + const double t56 = t50 * t55; + const double t60 = safe_math::sqrt( 0.146e3 ); + const double t61 = t60 * t21; + const double t62 = t61 * t25; + const double t65 = t12 * t12; + const double t66 = t65 * t65; + const double t67 = t66 * t12; + const double t68 = t67 * t48; + const double t69 = tau * t28; + const double t70 = t31 * rho; + const double t71 = 0.1e1 / t70; + const double t74 = t69 * t71 - t34 / 0.8e1; + const double t75 = 0.e0 < t74; + const double t76 = piecewise_functor_3( t75, t74, 0.0 ); + const double t77 = t76 * t76; + const double t78 = t77 * t76; + const double t79 = t12 * rho; + const double t80 = safe_math::cbrt( t79 ); + const double t81 = t80 * t80; + const double t88 = 0.3e1 / 0.4e2 * t27 * t81 * t79 * t84 + taur / 0.2e1; + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t91 = 0.1e1 / t90; + const double t93 = t65 * t12; + const double t94 = t30 * rho; + const double t96 = t80 * t93 * t94; + const double t97 = t28 * t96; + const double t98 = 0.1e1 / t89; + const double t99 = t77 * t98; + const double t102 = t97 * t99 / 0.16e2 + alphar; + const double t103 = 0.1e1 / t102; + const double t104 = t78 * t91 * t103; + const double t106 = t68 * t104 / 0.32e2; + const double t107 = 0.1e1 - t106; + const double t109 = t107 * t107; + const double t111 = safe_math::exp( -t109 / 0.2e1 ); + const double t114 = 0.7e1 / 0.1296e5 * t62 * t34 + t60 * t107 * t111 / 0.1e3; + const double t115 = t114 * t114; + const double t116 = k1 + 0.5e1 / 0.972e3 * t35 + t44 * t46 * t56 / 0.288e3 + t115; + const double t121 = 0.1e1 + k1 * ( 0.1e1 - k1 / t116 ); + const double t122 = t106 <= 0.25e1; + const double t123 = 0.25e1 < t106; + const double t124 = piecewise_functor_3( t123, 2.5, t106 ); + const double t126 = t124 * t124; + const double t128 = t126 * t124; + const double t130 = t126 * t126; + const double t132 = t130 * t124; + const double t134 = t130 * t126; + const double t139 = piecewise_functor_3( t123, t106, 2.5 ); + const double t140 = 0.1e1 - t139; + const double t143 = safe_math::exp( c2 / t140 ); + const double t145 = piecewise_functor_3( t122, 0.1e1 - 0.667e0 * t124 - 0.4445555e0 * t126 - 0.663086601049e0 * t128 + 0.145129704449e1 * t130 - 0.887998041597e0 * t132 + 0.234528941479e0 * t134 - 0.23185843322e-1 * t130 * t128, -d * t143 ); + const double t146 = 0.1e1 - t145; + const double t149 = t121 * t146 + 0.1174e1 * t145; + const double t151 = safe_math::sqrt( 0.3e1 ); + const double t154 = safe_math::sqrt( sigma ); + const double t155 = t154 * t27; + const double t157 = 0.1e1 / t20 / rho; + const double t159 = t153 * t155 * t157; + const double t160 = safe_math::sqrt( t159 ); + const double t164 = safe_math::exp( -0.98958e1 * t151 / t160 ); + const double t165 = 0.1e1 - t164; + const double t169 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t149 * t165 ); + + + eps = 0.2e1 * t169; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t39 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t40 = t21 * t21; + constexpr double t42 = t23 * t22; + constexpr double t43 = 0.1e1 / t42; + constexpr double t44 = t39 * t40 * t43; + constexpr double t84 = t40 * t24; + constexpr double t152 = 0.1e1 / t23; + constexpr double t153 = t40 * t152; + constexpr double t175 = k1 * k1; + constexpr double t191 = t39 * t39; + constexpr double t192 = t22 * t22; + constexpr double t193 = 0.1e1 / t192; + constexpr double t194 = t191 * t193; + constexpr double t283 = d * c2; + constexpr double t329 = t25 * t28; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t20 * t20; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t45 = sigma * sigma; + const double t46 = t45 * t27; + const double t47 = t30 * t30; + const double t48 = t47 * rho; + const double t50 = 0.1e1 / t20 / t48; + const double t55 = safe_math::exp( -0.27e2 / 0.8e2 * t39 * t21 * t25 * t34 ); + const double t56 = t50 * t55; + const double t60 = safe_math::sqrt( 0.146e3 ); + const double t61 = t60 * t21; + const double t62 = t61 * t25; + const double t65 = t12 * t12; + const double t66 = t65 * t65; + const double t67 = t66 * t12; + const double t68 = t67 * t48; + const double t69 = tau * t28; + const double t70 = t31 * rho; + const double t71 = 0.1e1 / t70; + const double t74 = t69 * t71 - t34 / 0.8e1; + const double t75 = 0.e0 < t74; + const double t76 = piecewise_functor_3( t75, t74, 0.0 ); + const double t77 = t76 * t76; + const double t78 = t77 * t76; + const double t79 = t12 * rho; + const double t80 = safe_math::cbrt( t79 ); + const double t81 = t80 * t80; + const double t88 = 0.3e1 / 0.4e2 * t27 * t81 * t79 * t84 + taur / 0.2e1; + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t91 = 0.1e1 / t90; + const double t93 = t65 * t12; + const double t94 = t30 * rho; + const double t96 = t80 * t93 * t94; + const double t97 = t28 * t96; + const double t98 = 0.1e1 / t89; + const double t99 = t77 * t98; + const double t102 = t97 * t99 / 0.16e2 + alphar; + const double t103 = 0.1e1 / t102; + const double t104 = t78 * t91 * t103; + const double t106 = t68 * t104 / 0.32e2; + const double t107 = 0.1e1 - t106; + const double t109 = t107 * t107; + const double t111 = safe_math::exp( -t109 / 0.2e1 ); + const double t114 = 0.7e1 / 0.1296e5 * t62 * t34 + t60 * t107 * t111 / 0.1e3; + const double t115 = t114 * t114; + const double t116 = k1 + 0.5e1 / 0.972e3 * t35 + t44 * t46 * t56 / 0.288e3 + t115; + const double t121 = 0.1e1 + k1 * ( 0.1e1 - k1 / t116 ); + const double t122 = t106 <= 0.25e1; + const double t123 = 0.25e1 < t106; + const double t124 = piecewise_functor_3( t123, 2.5, t106 ); + const double t126 = t124 * t124; + const double t128 = t126 * t124; + const double t130 = t126 * t126; + const double t132 = t130 * t124; + const double t134 = t130 * t126; + const double t139 = piecewise_functor_3( t123, t106, 2.5 ); + const double t140 = 0.1e1 - t139; + const double t143 = safe_math::exp( c2 / t140 ); + const double t145 = piecewise_functor_3( t122, 0.1e1 - 0.667e0 * t124 - 0.4445555e0 * t126 - 0.663086601049e0 * t128 + 0.145129704449e1 * t130 - 0.887998041597e0 * t132 + 0.234528941479e0 * t134 - 0.23185843322e-1 * t130 * t128, -d * t143 ); + const double t146 = 0.1e1 - t145; + const double t149 = t121 * t146 + 0.1174e1 * t145; + const double t151 = safe_math::sqrt( 0.3e1 ); + const double t154 = safe_math::sqrt( sigma ); + const double t155 = t154 * t27; + const double t157 = 0.1e1 / t20 / rho; + const double t159 = t153 * t155 * t157; + const double t160 = safe_math::sqrt( t159 ); + const double t164 = safe_math::exp( -0.98958e1 * t151 / t160 ); + const double t165 = 0.1e1 - t164; + const double t169 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t149 * t165 ); + const double t170 = 0.1e1 / t31; + const double t176 = t116 * t116; + const double t178 = t175 / t176; + const double t180 = 0.1e1 / t31 / t94; + const double t181 = t29 * t180; + const double t184 = t47 * t30; + const double t186 = 0.1e1 / t20 / t184; + const double t187 = t186 * t55; + const double t195 = t45 * sigma; + const double t196 = t47 * t47; + const double t197 = t196 * rho; + const double t198 = 0.1e1 / t197; + const double t205 = t67 * t47; + const double t208 = t68 * t77; + const double t209 = t91 * t103; + const double t214 = piecewise_functor_3( t75, -0.5e1 / 0.3e1 * t69 * t33 + t181 / 0.3e1, 0.0 ); + const double t215 = t209 * t214; + const double t218 = t66 * t65; + const double t219 = t218 * t48; + const double t220 = t89 * t89; + const double t221 = 0.1e1 / t220; + const double t222 = t78 * t221; + const double t224 = t103 * t27; + const double t226 = t81 * t40 * t24; + const double t227 = t224 * t226; + const double t230 = t68 * t78; + const double t231 = t102 * t102; + const double t232 = 0.1e1 / t231; + const double t233 = t91 * t232; + const double t235 = t80 * t65 * t30; + const double t236 = t28 * t235; + const double t240 = t76 * t98; + const double t244 = t205 * t77; + const double t246 = t91 * t40 * t24; + const double t249 = 0.5e1 / 0.24e2 * t236 * t99 * t12 + t97 * t240 * t214 / 0.8e1 - t244 * t246 / 0.32e2; + const double t250 = t233 * t249; + const double t253 = -0.5e1 / 0.32e2 * t205 * t104 - 0.3e1 / 0.32e2 * t208 * t215 + 0.3e1 / 0.256e3 * t219 * t222 * t227 + t230 * t250 / 0.32e2; + const double t257 = t60 * t109; + const double t258 = t253 * t111; + const double t261 = -0.7e1 / 0.486e4 * t62 * t181 + t60 * t253 * t111 / 0.1e3 - t257 * t258 / 0.1e3; + const double t264 = -0.1e2 / 0.729e3 * t26 * t181 - t44 * t46 * t187 / 0.54e2 + 0.3e1 / 0.8e2 * t194 * t195 * t198 * t55 + 0.2e1 * t114 * t261; + const double t265 = t264 * t146; + const double t267 = -t253; + const double t268 = piecewise_functor_3( t123, 0.0, t267 ); + const double t270 = t124 * t268; + const double t272 = t126 * t268; + const double t274 = t128 * t268; + const double t276 = t130 * t268; + const double t278 = t132 * t268; + const double t284 = t140 * t140; + const double t285 = 0.1e1 / t284; + const double t286 = piecewise_functor_3( t123, t267, 0.0 ); + const double t290 = piecewise_functor_3( t122, -0.667e0 * t268 - 0.889111e0 * t270 - 0.1989259803147e1 * t272 + 0.580518817796e1 * t274 - 0.4439990207985e1 * t276 + 0.1407173648874e1 * t278 - 0.162300903254e0 * t134 * t268, -t283 * t285 * t286 * t143 ); + const double t293 = t178 * t265 - t121 * t290 + 0.1174e1 * t290; + const double t298 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t299 = t298 * t298; + const double t300 = t299 * t299; + const double t302 = t300 * t298 * t18; + const double t303 = 0.1e1 / t30; + const double t304 = t303 * t149; + const double t306 = 0.1e1 / t160 / t159; + const double t308 = t302 * t304 * t306; + const double t310 = t153 * t155 * t164; + const double t314 = piecewise_functor_3( t3, 0.0, -t19 * t170 * t149 * t165 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t293 * t165 - 0.16891736332904387511e1 * t308 * t310 ); + const double t317 = t28 * t33; + const double t320 = sigma * t27; + const double t324 = 0.1e1 / t196; + const double t334 = piecewise_functor_3( t75, -t317 / 0.8e1, 0.0 ); + const double t335 = t209 * t334; + const double t338 = t77 * t77; + const double t340 = 0.1e1 / t220 / t88; + const double t341 = t338 * t340; + const double t342 = t68 * t341; + const double t343 = t232 * t28; + const double t344 = t96 * t334; + const double t345 = t343 * t344; + const double t348 = -0.3e1 / 0.32e2 * t208 * t335 + t342 * t345 / 0.256e3; + const double t349 = t60 * t348; + const double t352 = t348 * t111; + const double t355 = 0.7e1 / 0.1296e5 * t61 * t329 * t33 + t349 * t111 / 0.1e3 - t257 * t352 / 0.1e3; + const double t358 = 0.5e1 / 0.972e3 * t26 * t317 + t44 * t320 * t56 / 0.144e3 - 0.9e1 / 0.64e3 * t194 * t45 * t324 * t55 + 0.2e1 * t114 * t355; + const double t359 = t358 * t146; + const double t361 = -t348; + const double t362 = piecewise_functor_3( t123, 0.0, t361 ); + const double t364 = t124 * t362; + const double t366 = t126 * t362; + const double t368 = t128 * t362; + const double t370 = t130 * t362; + const double t372 = t132 * t362; + const double t377 = piecewise_functor_3( t123, t361, 0.0 ); + const double t381 = piecewise_functor_3( t122, -0.667e0 * t362 - 0.889111e0 * t364 - 0.1989259803147e1 * t366 + 0.580518817796e1 * t368 - 0.4439990207985e1 * t370 + 0.1407173648874e1 * t372 - 0.162300903254e0 * t134 * t362, -t283 * t285 * t377 * t143 ); + const double t384 = t178 * t359 - t121 * t381 + 0.1174e1 * t381; + const double t389 = 0.1e1 / rho; + const double t390 = t389 * t149; + const double t392 = t302 * t390 * t306; + const double t393 = 0.1e1 / t154; + const double t396 = t153 * t393 * t27 * t164; + const double t400 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t384 * t165 + 0.63344011248391453166e0 * t392 * t396 ); + const double t403 = piecewise_functor_3( t75, t28 * t71, 0.0 ); + const double t404 = t209 * t403; + const double t407 = t96 * t403; + const double t408 = t343 * t407; + const double t411 = -0.3e1 / 0.32e2 * t208 * t404 + t342 * t408 / 0.256e3; + const double t412 = t60 * t411; + const double t414 = t411 * t111; + const double t417 = t412 * t111 / 0.1e3 - t257 * t414 / 0.1e3; + const double t418 = t114 * t417; + const double t422 = -t411; + const double t423 = piecewise_functor_3( t123, 0.0, t422 ); + const double t425 = t124 * t423; + const double t427 = t126 * t423; + const double t429 = t128 * t423; + const double t431 = t130 * t423; + const double t433 = t132 * t423; + const double t438 = piecewise_functor_3( t123, t422, 0.0 ); + const double t442 = piecewise_functor_3( t122, -0.667e0 * t423 - 0.889111e0 * t425 - 0.1989259803147e1 * t427 + 0.580518817796e1 * t429 - 0.4439990207985e1 * t431 + 0.1407173648874e1 * t433 - 0.162300903254e0 * t134 * t423, -t283 * t285 * t438 * t143 ); + const double t445 = 0.2e1 * t178 * t418 * t146 - t121 * t442 + 0.1174e1 * t442; + const double t450 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t445 * t165 ); + + + eps = 0.2e1 * t169; + vrho = 0.2e1 * rho * t314 + 0.2e1 * t169; + vsigma = 0.2e1 * rho * t400; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t450; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t39 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t40 = t21 * t21; + constexpr double t42 = t23 * t22; + constexpr double t43 = 0.1e1 / t42; + constexpr double t44 = t39 * t40 * t43; + constexpr double t84 = t40 * t24; + constexpr double t152 = 0.1e1 / t23; + constexpr double t153 = t40 * t152; + constexpr double t175 = k1 * k1; + constexpr double t191 = t39 * t39; + constexpr double t192 = t22 * t22; + constexpr double t193 = 0.1e1 / t192; + constexpr double t194 = t191 * t193; + constexpr double t283 = d * c2; + constexpr double t329 = t25 * t28; + constexpr double t493 = t191 * t39 * t193; + constexpr double t600 = t21 * t42; + constexpr double t673 = c2 * c2; + constexpr double t674 = d * t673; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t20 * t20; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t45 = sigma * sigma; + const double t46 = t45 * t27; + const double t47 = t30 * t30; + const double t48 = t47 * rho; + const double t50 = 0.1e1 / t20 / t48; + const double t55 = safe_math::exp( -0.27e2 / 0.8e2 * t39 * t21 * t25 * t34 ); + const double t56 = t50 * t55; + const double t60 = safe_math::sqrt( 0.146e3 ); + const double t61 = t60 * t21; + const double t62 = t61 * t25; + const double t65 = t12 * t12; + const double t66 = t65 * t65; + const double t67 = t66 * t12; + const double t68 = t67 * t48; + const double t69 = tau * t28; + const double t70 = t31 * rho; + const double t71 = 0.1e1 / t70; + const double t74 = t69 * t71 - t34 / 0.8e1; + const double t75 = 0.e0 < t74; + const double t76 = piecewise_functor_3( t75, t74, 0.0 ); + const double t77 = t76 * t76; + const double t78 = t77 * t76; + const double t79 = t12 * rho; + const double t80 = safe_math::cbrt( t79 ); + const double t81 = t80 * t80; + const double t88 = 0.3e1 / 0.4e2 * t27 * t81 * t79 * t84 + taur / 0.2e1; + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t91 = 0.1e1 / t90; + const double t93 = t65 * t12; + const double t94 = t30 * rho; + const double t96 = t80 * t93 * t94; + const double t97 = t28 * t96; + const double t98 = 0.1e1 / t89; + const double t99 = t77 * t98; + const double t102 = t97 * t99 / 0.16e2 + alphar; + const double t103 = 0.1e1 / t102; + const double t104 = t78 * t91 * t103; + const double t106 = t68 * t104 / 0.32e2; + const double t107 = 0.1e1 - t106; + const double t109 = t107 * t107; + const double t111 = safe_math::exp( -t109 / 0.2e1 ); + const double t114 = 0.7e1 / 0.1296e5 * t62 * t34 + t60 * t107 * t111 / 0.1e3; + const double t115 = t114 * t114; + const double t116 = k1 + 0.5e1 / 0.972e3 * t35 + t44 * t46 * t56 / 0.288e3 + t115; + const double t121 = 0.1e1 + k1 * ( 0.1e1 - k1 / t116 ); + const double t122 = t106 <= 0.25e1; + const double t123 = 0.25e1 < t106; + const double t124 = piecewise_functor_3( t123, 2.5, t106 ); + const double t126 = t124 * t124; + const double t128 = t126 * t124; + const double t130 = t126 * t126; + const double t132 = t130 * t124; + const double t134 = t130 * t126; + const double t139 = piecewise_functor_3( t123, t106, 2.5 ); + const double t140 = 0.1e1 - t139; + const double t143 = safe_math::exp( c2 / t140 ); + const double t145 = piecewise_functor_3( t122, 0.1e1 - 0.667e0 * t124 - 0.4445555e0 * t126 - 0.663086601049e0 * t128 + 0.145129704449e1 * t130 - 0.887998041597e0 * t132 + 0.234528941479e0 * t134 - 0.23185843322e-1 * t130 * t128, -d * t143 ); + const double t146 = 0.1e1 - t145; + const double t149 = t121 * t146 + 0.1174e1 * t145; + const double t151 = safe_math::sqrt( 0.3e1 ); + const double t154 = safe_math::sqrt( sigma ); + const double t155 = t154 * t27; + const double t157 = 0.1e1 / t20 / rho; + const double t159 = t153 * t155 * t157; + const double t160 = safe_math::sqrt( t159 ); + const double t164 = safe_math::exp( -0.98958e1 * t151 / t160 ); + const double t165 = 0.1e1 - t164; + const double t170 = 0.1e1 / t31; + const double t176 = t116 * t116; + const double t178 = t175 / t176; + const double t180 = 0.1e1 / t31 / t94; + const double t181 = t29 * t180; + const double t184 = t47 * t30; + const double t186 = 0.1e1 / t20 / t184; + const double t187 = t186 * t55; + const double t195 = t45 * sigma; + const double t196 = t47 * t47; + const double t197 = t196 * rho; + const double t198 = 0.1e1 / t197; + const double t205 = t67 * t47; + const double t208 = t68 * t77; + const double t209 = t91 * t103; + const double t214 = piecewise_functor_3( t75, -0.5e1 / 0.3e1 * t69 * t33 + t181 / 0.3e1, 0.0 ); + const double t215 = t209 * t214; + const double t218 = t66 * t65; + const double t219 = t218 * t48; + const double t220 = t89 * t89; + const double t221 = 0.1e1 / t220; + const double t222 = t78 * t221; + const double t224 = t103 * t27; + const double t226 = t81 * t40 * t24; + const double t227 = t224 * t226; + const double t230 = t68 * t78; + const double t231 = t102 * t102; + const double t232 = 0.1e1 / t231; + const double t233 = t91 * t232; + const double t235 = t80 * t65 * t30; + const double t236 = t28 * t235; + const double t240 = t76 * t98; + const double t244 = t205 * t77; + const double t246 = t91 * t40 * t24; + const double t249 = 0.5e1 / 0.24e2 * t236 * t99 * t12 + t97 * t240 * t214 / 0.8e1 - t244 * t246 / 0.32e2; + const double t250 = t233 * t249; + const double t253 = -0.5e1 / 0.32e2 * t205 * t104 - 0.3e1 / 0.32e2 * t208 * t215 + 0.3e1 / 0.256e3 * t219 * t222 * t227 + t230 * t250 / 0.32e2; + const double t257 = t60 * t109; + const double t258 = t253 * t111; + const double t261 = -0.7e1 / 0.486e4 * t62 * t181 + t60 * t253 * t111 / 0.1e3 - t257 * t258 / 0.1e3; + const double t264 = -0.1e2 / 0.729e3 * t26 * t181 - t44 * t46 * t187 / 0.54e2 + 0.3e1 / 0.8e2 * t194 * t195 * t198 * t55 + 0.2e1 * t114 * t261; + const double t265 = t264 * t146; + const double t267 = -t253; + const double t268 = piecewise_functor_3( t123, 0.0, t267 ); + const double t270 = t124 * t268; + const double t272 = t126 * t268; + const double t274 = t128 * t268; + const double t276 = t130 * t268; + const double t278 = t132 * t268; + const double t284 = t140 * t140; + const double t285 = 0.1e1 / t284; + const double t286 = piecewise_functor_3( t123, t267, 0.0 ); + const double t290 = piecewise_functor_3( t122, -0.667e0 * t268 - 0.889111e0 * t270 - 0.1989259803147e1 * t272 + 0.580518817796e1 * t274 - 0.4439990207985e1 * t276 + 0.1407173648874e1 * t278 - 0.162300903254e0 * t134 * t268, -t283 * t285 * t286 * t143 ); + const double t293 = t178 * t265 - t121 * t290 + 0.1174e1 * t290; + const double t298 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t299 = t298 * t298; + const double t300 = t299 * t299; + const double t302 = t300 * t298 * t18; + const double t303 = 0.1e1 / t30; + const double t304 = t303 * t149; + const double t306 = 0.1e1 / t160 / t159; + const double t308 = t302 * t304 * t306; + const double t310 = t153 * t155 * t164; + const double t314 = piecewise_functor_3( t3, 0.0, -t19 * t170 * t149 * t165 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t293 * t165 - 0.16891736332904387511e1 * t308 * t310 ); + const double t317 = t28 * t33; + const double t320 = sigma * t27; + const double t324 = 0.1e1 / t196; + const double t334 = piecewise_functor_3( t75, -t317 / 0.8e1, 0.0 ); + const double t335 = t209 * t334; + const double t338 = t77 * t77; + const double t340 = 0.1e1 / t220 / t88; + const double t341 = t338 * t340; + const double t342 = t68 * t341; + const double t343 = t232 * t28; + const double t344 = t96 * t334; + const double t345 = t343 * t344; + const double t348 = -0.3e1 / 0.32e2 * t208 * t335 + t342 * t345 / 0.256e3; + const double t349 = t60 * t348; + const double t352 = t348 * t111; + const double t355 = 0.7e1 / 0.1296e5 * t61 * t329 * t33 + t349 * t111 / 0.1e3 - t257 * t352 / 0.1e3; + const double t358 = 0.5e1 / 0.972e3 * t26 * t317 + t44 * t320 * t56 / 0.144e3 - 0.9e1 / 0.64e3 * t194 * t45 * t324 * t55 + 0.2e1 * t114 * t355; + const double t359 = t358 * t146; + const double t361 = -t348; + const double t362 = piecewise_functor_3( t123, 0.0, t361 ); + const double t364 = t124 * t362; + const double t366 = t126 * t362; + const double t368 = t128 * t362; + const double t370 = t130 * t362; + const double t372 = t132 * t362; + const double t377 = piecewise_functor_3( t123, t361, 0.0 ); + const double t381 = piecewise_functor_3( t122, -0.667e0 * t362 - 0.889111e0 * t364 - 0.1989259803147e1 * t366 + 0.580518817796e1 * t368 - 0.4439990207985e1 * t370 + 0.1407173648874e1 * t372 - 0.162300903254e0 * t134 * t362, -t283 * t285 * t377 * t143 ); + const double t384 = t178 * t359 - t121 * t381 + 0.1174e1 * t381; + const double t389 = 0.1e1 / rho; + const double t390 = t389 * t149; + const double t392 = t302 * t390 * t306; + const double t393 = 0.1e1 / t154; + const double t396 = t153 * t393 * t27 * t164; + const double t400 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t384 * t165 + 0.63344011248391453166e0 * t392 * t396 ); + const double t403 = piecewise_functor_3( t75, t28 * t71, 0.0 ); + const double t404 = t209 * t403; + const double t407 = t96 * t403; + const double t408 = t343 * t407; + const double t411 = -0.3e1 / 0.32e2 * t208 * t404 + t342 * t408 / 0.256e3; + const double t412 = t60 * t411; + const double t414 = t411 * t111; + const double t417 = t412 * t111 / 0.1e3 - t257 * t414 / 0.1e3; + const double t418 = t114 * t417; + const double t422 = -t411; + const double t423 = piecewise_functor_3( t123, 0.0, t422 ); + const double t425 = t124 * t423; + const double t427 = t126 * t423; + const double t429 = t128 * t423; + const double t431 = t130 * t423; + const double t433 = t132 * t423; + const double t438 = piecewise_functor_3( t123, t422, 0.0 ); + const double t442 = piecewise_functor_3( t122, -0.667e0 * t423 - 0.889111e0 * t425 - 0.1989259803147e1 * t427 + 0.580518817796e1 * t429 - 0.4439990207985e1 * t431 + 0.1407173648874e1 * t433 - 0.162300903254e0 * t134 * t423, -t283 * t285 * t438 * t143 ); + const double t445 = 0.2e1 * t178 * t418 * t146 - t121 * t442 + 0.1174e1 * t442; + const double t450 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t445 * t165 ); + const double t461 = 0.1e1 / t94; + const double t462 = t461 * t149; + const double t464 = t302 * t462 * t306; + const double t469 = t175 / t176 / t116; + const double t470 = t264 * t264; + const double t471 = t470 * t146; + const double t475 = 0.1e1 / t31 / t47; + const double t476 = t29 * t475; + const double t479 = t47 * t94; + const double t481 = 0.1e1 / t20 / t479; + const double t482 = t481 * t55; + const double t486 = t196 * t30; + const double t487 = 0.1e1 / t486; + const double t494 = t45 * t45; + const double t495 = t196 * t47; + const double t497 = 0.1e1 / t31 / t495; + const double t500 = t28 * t55; + const double t501 = t26 * t500; + const double t504 = t261 * t261; + const double t508 = t67 * t94; + const double t513 = t218 * t47; + const double t517 = t205 * t78; + const double t520 = t68 * t76; + const double t521 = t214 * t214; + const double t522 = t209 * t521; + const double t525 = t77 * t221; + const double t526 = t525 * t103; + const double t527 = t219 * t526; + const double t528 = t214 * t27; + const double t529 = t528 * t226; + const double t532 = t214 * t249; + const double t533 = t233 * t532; + const double t540 = piecewise_functor_3( t75, 0.4e2 / 0.9e1 * t69 * t180 - 0.11e2 / 0.9e1 * t476, 0.0 ); + const double t541 = t209 * t540; + const double t544 = t66 * t93; + const double t545 = t544 * t48; + const double t546 = t78 * t340; + const double t547 = t545 * t546; + const double t548 = t103 * t28; + const double t549 = t80 * t79; + const double t551 = t549 * t21 * t42; + const double t552 = t548 * t551; + const double t555 = t222 * t232; + const double t556 = t219 * t555; + const double t557 = t27 * t81; + const double t558 = t84 * t249; + const double t559 = t557 * t558; + const double t563 = 0.1e1 / t80; + const double t565 = t563 * t40 * t24; + const double t566 = t224 * t565; + const double t570 = 0.1e1 / t231 / t102; + const double t571 = t91 * t570; + const double t572 = t249 * t249; + const double t573 = t571 * t572; + const double t576 = t28 * t549; + const double t580 = t236 * t76; + const double t581 = t98 * t12; + const double t585 = t508 * t77; + const double t588 = t521 * t98; + const double t591 = t205 * t76; + const double t592 = t91 * t214; + const double t593 = t592 * t84; + const double t601 = t600 * t557; + const double t604 = 0.35e2 / 0.72e2 * t576 * t99 * t65 + 0.5e1 / 0.6e1 * t580 * t581 * t214 - 0.11e2 / 0.48e2 * t585 * t246 + t97 * t588 / 0.8e1 - t591 * t593 / 0.8e1 + t97 * t240 * t540 / 0.8e1 + 0.9e1 / 0.128e3 * t513 * t525 * t601; + const double t605 = t233 * t604; + const double t608 = -0.5e1 / 0.8e1 * t508 * t104 - 0.15e2 / 0.16e2 * t244 * t215 + 0.15e2 / 0.128e3 * t513 * t222 * t227 + 0.5e1 / 0.16e2 * t517 * t250 - 0.3e1 / 0.16e2 * t520 * t522 + 0.9e1 / 0.128e3 * t527 * t529 + 0.3e1 / 0.16e2 * t208 * t533 - 0.3e1 / 0.32e2 * t208 * t541 - 0.9e1 / 0.256e3 * t547 * t552 - 0.3e1 / 0.128e3 * t556 * t559 + t545 * t222 * t566 / 0.128e3 - t230 * t573 / 0.16e2 + t230 * t605 / 0.32e2; + const double t609 = t60 * t608; + const double t612 = t253 * t253; + const double t614 = t107 * t111; + const double t617 = t608 * t111; + const double t620 = t109 * t107; + const double t621 = t60 * t620; + const double t622 = t612 * t111; + const double t625 = 0.77e2 / 0.1458e5 * t62 * t476 + t609 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t60 * t612 * t614 - t257 * t617 / 0.1e3 + t621 * t622 / 0.1e3; + const double t628 = 0.11e3 / 0.2187e4 * t26 * t476 + 0.19e2 / 0.162e3 * t44 * t46 * t482 - 0.43e2 / 0.8e2 * t194 * t195 * t487 * t55 + 0.27e2 / 0.8e3 * t493 * t494 * t497 * t501 + 0.2e1 * t504 + 0.2e1 * t114 * t625; + const double t631 = t264 * t290; + const double t634 = -t608; + const double t635 = piecewise_functor_3( t123, 0.0, t634 ); + const double t637 = t268 * t268; + const double t641 = t124 * t637; + const double t645 = t126 * t637; + const double t649 = t128 * t637; + const double t653 = t130 * t637; + const double t661 = -0.667e0 * t635 - 0.889111e0 * t637 - 0.889111e0 * t124 * t635 - 0.3978519606294e1 * t641 - 0.1989259803147e1 * t126 * t635 + 0.1741556453388e2 * t645 + 0.580518817796e1 * t128 * t635 - 0.1775996083194e2 * t649 - 0.4439990207985e1 * t130 * t635 + 0.703586824437e1 * t653 + 0.1407173648874e1 * t132 * t635 - 0.973805419524e0 * t132 * t637 - 0.162300903254e0 * t134 * t635; + const double t662 = t284 * t140; + const double t663 = 0.1e1 / t662; + const double t664 = t286 * t286; + const double t669 = piecewise_functor_3( t123, t634, 0.0 ); + const double t675 = t284 * t284; + const double t676 = 0.1e1 / t675; + const double t681 = piecewise_functor_3( t122, t661, -t283 * t285 * t669 * t143 - 0.2e1 * t283 * t663 * t664 * t143 - t674 * t676 * t664 * t143 ); + const double t684 = -0.2e1 * t469 * t471 + t178 * t628 * t146 - 0.2e1 * t178 * t631 - t121 * t681 + 0.1174e1 * t681; + const double t691 = t302 * t303 * t293 * t306; + const double t695 = 0.1e1 / t20 / t47; + const double t696 = t695 * t149; + const double t699 = 0.1e1 / t160 / t35 / 0.6e1; + const double t701 = t302 * t696 * t699; + const double t703 = t26 * t29 * t164; + const double t706 = t4 * t18; + const double t707 = 0.1e1 / t20; + const double t709 = t706 * t707 * t149; + const double t711 = t329 * t164; + const double t712 = t393 * t21 * t711; + const double t716 = piecewise_functor_3( t3, 0.0, t19 * t71 * t149 * t165 / 0.12e2 - t19 * t170 * t293 * t165 / 0.4e1 + 0.28152893888173979185e1 * t464 * t310 - 0.3e1 / 0.8e1 * t19 * t20 * t684 * t165 - 0.33783472665808775022e1 * t691 * t310 - 0.20270083599485265013e2 * t701 * t703 + 0.27496264583922508251e2 * t709 * t712 ); + const double t723 = t359 * t264; + const double t726 = t28 * t180; + const double t736 = t196 * t94; + const double t738 = 0.1e1 / t31 / t736; + const double t750 = t334 * t214; + const double t751 = t209 * t750; + const double t754 = t334 * t27; + const double t755 = t754 * t226; + const double t758 = t334 * t249; + const double t759 = t233 * t758; + const double t763 = piecewise_functor_3( t75, t726 / 0.3e1, 0.0 ); + const double t764 = t209 * t763; + const double t767 = t205 * t341; + const double t770 = t68 * t546; + const double t771 = t344 * t214; + const double t772 = t343 * t771; + const double t775 = t66 * t66; + const double t776 = t775 * t65; + const double t777 = t776 * t197; + const double t779 = 0.1e1 / t220 / t89; + const double t780 = t338 * t779; + const double t781 = t777 * t780; + const double t782 = t232 * t334; + const double t783 = t782 * t84; + const double t786 = t570 * t28; + const double t787 = t344 * t249; + const double t788 = t786 * t787; + const double t791 = t219 * t341; + const double t792 = t235 * t334; + const double t793 = t343 * t792; + const double t796 = t96 * t763; + const double t797 = t343 * t796; + const double t800 = -0.15e2 / 0.32e2 * t244 * t335 - 0.3e1 / 0.16e2 * t520 * t751 + 0.9e1 / 0.256e3 * t527 * t755 + 0.3e1 / 0.32e2 * t208 * t759 - 0.3e1 / 0.32e2 * t208 * t764 + 0.5e1 / 0.256e3 * t767 * t345 + t770 * t772 / 0.64e2 - 0.5e1 / 0.1024e4 * t781 * t783 - t342 * t788 / 0.128e3 + 0.5e1 / 0.384e3 * t791 * t793 + t342 * t797 / 0.256e3; + const double t801 = t60 * t800; + const double t805 = t107 * t253 * t111; + const double t808 = t800 * t111; + const double t812 = t348 * t253 * t111; + const double t815 = -0.7e1 / 0.486e4 * t61 * t329 * t180 + t801 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t349 * t805 - t257 * t808 / 0.1e3 + t621 * t812 / 0.1e3; + const double t818 = -0.1e2 / 0.729e3 * t26 * t726 - t44 * t320 * t187 / 0.27e2 + 0.3e1 / 0.16e2 * t194 * t45 * t198 * t55 - 0.81e2 / 0.64e4 * t493 * t195 * t738 * t501 + 0.2e1 * t261 * t355 + 0.2e1 * t114 * t815; + const double t819 = t818 * t146; + const double t821 = t358 * t290; + const double t823 = t264 * t381; + const double t825 = -t800; + const double t826 = piecewise_functor_3( t123, 0.0, t825 ); + const double t828 = t268 * t362; + const double t830 = t124 * t826; + const double t834 = t126 * t826; + const double t838 = t128 * t826; + const double t842 = t130 * t826; + const double t846 = t132 * t826; + const double t852 = -0.667e0 * t826 - 0.889111e0 * t828 - 0.889111e0 * t830 - 0.3978519606294e1 * t364 * t268 - 0.1989259803147e1 * t834 + 0.1741556453388e2 * t366 * t268 + 0.580518817796e1 * t838 - 0.1775996083194e2 * t368 * t268 - 0.4439990207985e1 * t842 + 0.703586824437e1 * t370 * t268 + 0.1407173648874e1 * t846 - 0.973805419524e0 * t372 * t268 - 0.162300903254e0 * t134 * t826; + const double t853 = t283 * t663; + const double t854 = t377 * t143; + const double t855 = t854 * t286; + const double t858 = piecewise_functor_3( t123, t825, 0.0 ); + const double t862 = t674 * t676; + const double t865 = piecewise_functor_3( t122, t852, -t283 * t285 * t858 * t143 - 0.2e1 * t853 * t855 - t862 * t855 ); + const double t868 = -0.2e1 * t469 * t723 + t178 * t819 - t178 * t821 - t178 * t823 - t121 * t865 + 0.1174e1 * t865; + const double t875 = t302 * t303 * t384 * t306; + const double t882 = t302 * t389 * t293 * t306; + const double t886 = 0.1e1 / t20 / t94; + const double t887 = t886 * t149; + const double t890 = t699 * t21 * t711; + const double t894 = t706 * t31 * t149; + const double t895 = t154 * sigma; + const double t896 = 0.1e1 / t895; + const double t898 = t896 * t21 * t711; + const double t902 = piecewise_functor_3( t3, 0.0, -t19 * t170 * t384 * t165 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t868 * t165 - 0.16891736332904387511e1 * t875 * t310 - 0.63344011248391453166e0 * t308 * t396 + 0.63344011248391453166e0 * t882 * t396 + 0.76012813498069743799e1 * t302 * t887 * t890 - 0.10311099218970940594e2 * t894 * t898 ); + const double t909 = t469 * t114; + const double t910 = t417 * t146; + const double t911 = t910 * t264; + const double t914 = t261 * t417; + const double t920 = t403 * t214; + const double t921 = t209 * t920; + const double t924 = t403 * t27; + const double t925 = t924 * t226; + const double t928 = t403 * t249; + const double t929 = t233 * t928; + const double t933 = piecewise_functor_3( t75, -0.5e1 / 0.3e1 * t317, 0.0 ); + const double t934 = t209 * t933; + const double t940 = t343 * t407 * t214; + const double t943 = t232 * t403; + const double t944 = t943 * t84; + const double t948 = t786 * t407 * t249; + const double t951 = t235 * t403; + const double t952 = t343 * t951; + const double t955 = t96 * t933; + const double t956 = t343 * t955; + const double t959 = -0.15e2 / 0.32e2 * t244 * t404 - 0.3e1 / 0.16e2 * t520 * t921 + 0.9e1 / 0.256e3 * t527 * t925 + 0.3e1 / 0.32e2 * t208 * t929 - 0.3e1 / 0.32e2 * t208 * t934 + 0.5e1 / 0.256e3 * t767 * t408 + t770 * t940 / 0.64e2 - 0.5e1 / 0.1024e4 * t781 * t944 - t342 * t948 / 0.128e3 + 0.5e1 / 0.384e3 * t791 * t952 + t342 * t956 / 0.256e3; + const double t960 = t60 * t959; + const double t965 = t959 * t111; + const double t969 = t411 * t253 * t111; + const double t972 = t960 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t412 * t805 - t257 * t965 / 0.1e3 + t621 * t969 / 0.1e3; + const double t973 = t114 * t972; + const double t980 = t264 * t442; + const double t982 = -t959; + const double t983 = piecewise_functor_3( t123, 0.0, t982 ); + const double t985 = t268 * t423; + const double t987 = t124 * t983; + const double t991 = t126 * t983; + const double t995 = t128 * t983; + const double t999 = t130 * t983; + const double t1003 = t132 * t983; + const double t1009 = -0.667e0 * t983 - 0.889111e0 * t985 - 0.889111e0 * t987 - 0.3978519606294e1 * t425 * t268 - 0.1989259803147e1 * t991 + 0.1741556453388e2 * t427 * t268 + 0.580518817796e1 * t995 - 0.1775996083194e2 * t429 * t268 - 0.4439990207985e1 * t999 + 0.703586824437e1 * t431 * t268 + 0.1407173648874e1 * t1003 - 0.973805419524e0 * t433 * t268 - 0.162300903254e0 * t134 * t983; + const double t1010 = t438 * t143; + const double t1011 = t1010 * t286; + const double t1014 = piecewise_functor_3( t123, t982, 0.0 ); + const double t1020 = piecewise_functor_3( t122, t1009, -t283 * t285 * t1014 * t143 - 0.2e1 * t853 * t1011 - t862 * t1011 ); + const double t1023 = -0.4e1 * t909 * t911 + 0.2e1 * t178 * t914 * t146 + 0.2e1 * t178 * t973 * t146 - 0.2e1 * t178 * t418 * t290 - t178 * t980 - t121 * t1020 + 0.1174e1 * t1020; + const double t1030 = t302 * t303 * t445 * t306; + const double t1034 = piecewise_functor_3( t3, 0.0, -t19 * t170 * t445 * t165 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t1023 * t165 - 0.16891736332904387511e1 * t1030 * t310 ); + const double t1037 = t358 * t358; + const double t1038 = t1037 * t146; + const double t1050 = 0.1e1 / t31 / t486; + const double t1055 = t355 * t355; + const double t1057 = t334 * t334; + const double t1058 = t209 * t1057; + const double t1061 = t232 * t1057; + const double t1062 = t1061 * t97; + const double t1065 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t1066 = t209 * t1065; + const double t1068 = 0.3e1 / 0.32e2 * t208 * t1066; + const double t1069 = t338 * t76; + const double t1071 = 0.1e1 / t220 / t90; + const double t1072 = t1069 * t1071; + const double t1073 = t68 * t1072; + const double t1074 = t570 * t27; + const double t1075 = t218 * t184; + const double t1076 = t81 * t1075; + const double t1077 = t1076 * t1057; + const double t1078 = t1074 * t1077; + const double t1081 = t96 * t1065; + const double t1082 = t343 * t1081; + const double t1084 = t342 * t1082 / 0.256e3; + const double t1085 = -0.3e1 / 0.16e2 * t520 * t1058 + 0.7e1 / 0.256e3 * t770 * t1062 - t1068 - t1073 * t1078 / 0.512e3 + t1084; + const double t1086 = t60 * t1085; + const double t1089 = t348 * t348; + const double t1090 = t60 * t1089; + const double t1093 = t1085 * t111; + const double t1096 = t1089 * t111; + const double t1099 = t1086 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t1090 * t614 - t257 * t1093 / 0.1e3 + t621 * t1096 / 0.1e3; + const double t1102 = t44 * t27 * t50 * t55 / 0.144e3 - 0.9e1 / 0.16e3 * t194 * sigma * t324 * t55 + 0.243e3 / 0.512e5 * t493 * t45 * t1050 * t501 + 0.2e1 * t1055 + 0.2e1 * t114 * t1099; + const double t1103 = t1102 * t146; + const double t1105 = t358 * t381; + const double t1108 = -t1085; + const double t1109 = piecewise_functor_3( t123, 0.0, t1108 ); + const double t1111 = t362 * t362; + const double t1113 = t124 * t1109; + const double t1115 = t124 * t1111; + const double t1117 = t126 * t1109; + const double t1119 = t126 * t1111; + const double t1121 = t128 * t1109; + const double t1123 = t128 * t1111; + const double t1125 = t130 * t1109; + const double t1127 = t130 * t1111; + const double t1129 = t132 * t1109; + const double t1135 = -0.667e0 * t1109 - 0.889111e0 * t1111 - 0.889111e0 * t1113 - 0.3978519606294e1 * t1115 - 0.1989259803147e1 * t1117 + 0.1741556453388e2 * t1119 + 0.580518817796e1 * t1121 - 0.1775996083194e2 * t1123 - 0.4439990207985e1 * t1125 + 0.703586824437e1 * t1127 + 0.1407173648874e1 * t1129 - 0.973805419524e0 * t132 * t1111 - 0.162300903254e0 * t134 * t1109; + const double t1136 = t377 * t377; + const double t1141 = piecewise_functor_3( t123, t1108, 0.0 ); + const double t1149 = piecewise_functor_3( t122, t1135, -0.2e1 * t283 * t663 * t1136 * t143 - t674 * t676 * t1136 * t143 - t283 * t285 * t1141 * t143 ); + const double t1152 = -0.2e1 * t469 * t1038 + t178 * t1103 - 0.2e1 * t178 * t1105 - t121 * t1149 + 0.1174e1 * t1149; + const double t1159 = t302 * t389 * t384 * t306; + const double t1163 = 0.1e1 / t20 / t30; + const double t1164 = t1163 * t149; + const double t1166 = t302 * t1164 * t699; + const double t1167 = 0.1e1 / sigma; + const double t1170 = t26 * t1167 * t28 * t164; + const double t1175 = t153 * t896 * t27 * t164; + const double t1179 = t706 * t70 * t149; + const double t1181 = 0.1e1 / t154 / t45; + const double t1183 = t1181 * t21 * t711; + const double t1187 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1152 * t165 + 0.12668802249678290633e1 * t1159 * t396 - 0.28504805061776153925e1 * t1166 * t1170 - 0.31672005624195726583e0 * t392 * t1175 + 0.38666622071141027229e1 * t1179 * t1183 ); + const double t1189 = t910 * t358; + const double t1192 = t355 * t417; + const double t1196 = t403 * t334; + const double t1197 = t209 * t1196; + const double t1200 = t97 * t334; + const double t1201 = t943 * t1200; + const double t1204 = t1076 * t403; + const double t1206 = t1074 * t1204 * t334; + const double t1209 = -0.3e1 / 0.16e2 * t520 * t1197 + 0.7e1 / 0.256e3 * t770 * t1201 - t1068 - t1073 * t1206 / 0.512e3 + t1084; + const double t1210 = t60 * t1209; + const double t1214 = t107 * t348 * t111; + const double t1217 = t1209 * t111; + const double t1221 = t411 * t348 * t111; + const double t1224 = t1210 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t412 * t1214 - t257 * t1217 / 0.1e3 + t621 * t1221 / 0.1e3; + const double t1225 = t114 * t1224; + const double t1232 = t358 * t442; + const double t1234 = -t1209; + const double t1235 = piecewise_functor_3( t123, 0.0, t1234 ); + const double t1237 = t362 * t423; + const double t1239 = t124 * t1235; + const double t1243 = t126 * t1235; + const double t1247 = t128 * t1235; + const double t1251 = t130 * t1235; + const double t1255 = t132 * t1235; + const double t1261 = -0.667e0 * t1235 - 0.889111e0 * t1237 - 0.889111e0 * t1239 - 0.3978519606294e1 * t425 * t362 - 0.1989259803147e1 * t1243 + 0.1741556453388e2 * t427 * t362 + 0.580518817796e1 * t1247 - 0.1775996083194e2 * t429 * t362 - 0.4439990207985e1 * t1251 + 0.703586824437e1 * t431 * t362 + 0.1407173648874e1 * t1255 - 0.973805419524e0 * t433 * t362 - 0.162300903254e0 * t134 * t1235; + const double t1262 = t1010 * t377; + const double t1265 = piecewise_functor_3( t123, t1234, 0.0 ); + const double t1271 = piecewise_functor_3( t122, t1261, -t283 * t285 * t1265 * t143 - 0.2e1 * t853 * t1262 - t862 * t1262 ); + const double t1274 = -0.4e1 * t909 * t1189 + 0.2e1 * t178 * t1192 * t146 + 0.2e1 * t178 * t1225 * t146 - 0.2e1 * t178 * t418 * t381 - t178 * t1232 - t121 * t1271 + 0.1174e1 * t1271; + const double t1281 = t302 * t389 * t445 * t306; + const double t1285 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1274 * t165 + 0.63344011248391453166e0 * t1281 * t396 ); + const double t1287 = t417 * t417; + const double t1288 = t115 * t1287; + const double t1292 = t1287 * t146; + const double t1295 = t403 * t403; + const double t1296 = t209 * t1295; + const double t1299 = t232 * t1295; + const double t1300 = t1299 * t97; + const double t1303 = t1076 * t1295; + const double t1304 = t1074 * t1303; + const double t1307 = -0.3e1 / 0.16e2 * t520 * t1296 + 0.7e1 / 0.256e3 * t770 * t1300 - t1068 - t1073 * t1304 / 0.512e3 + t1084; + const double t1308 = t60 * t1307; + const double t1311 = t411 * t411; + const double t1312 = t60 * t1311; + const double t1318 = t1311 * t111; + const double t1321 = t1308 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t1312 * t614 - t257 * t1307 * t111 / 0.1e3 + t621 * t1318 / 0.1e3; + const double t1322 = t114 * t1321; + const double t1329 = -t1307; + const double t1330 = piecewise_functor_3( t123, 0.0, t1329 ); + const double t1332 = t423 * t423; + const double t1334 = t124 * t1330; + const double t1336 = t124 * t1332; + const double t1338 = t126 * t1330; + const double t1340 = t126 * t1332; + const double t1342 = t128 * t1330; + const double t1344 = t128 * t1332; + const double t1346 = t130 * t1330; + const double t1348 = t130 * t1332; + const double t1350 = t132 * t1330; + const double t1356 = -0.667e0 * t1330 - 0.889111e0 * t1332 - 0.889111e0 * t1334 - 0.3978519606294e1 * t1336 - 0.1989259803147e1 * t1338 + 0.1741556453388e2 * t1340 + 0.580518817796e1 * t1342 - 0.1775996083194e2 * t1344 - 0.4439990207985e1 * t1346 + 0.703586824437e1 * t1348 + 0.1407173648874e1 * t1350 - 0.973805419524e0 * t132 * t1332 - 0.162300903254e0 * t134 * t1330; + const double t1357 = t438 * t438; + const double t1362 = piecewise_functor_3( t123, t1329, 0.0 ); + const double t1370 = piecewise_functor_3( t122, t1356, -0.2e1 * t283 * t663 * t1357 * t143 - t674 * t676 * t1357 * t143 - t283 * t285 * t1362 * t143 ); + const double t1373 = -0.8e1 * t469 * t1288 * t146 + 0.2e1 * t178 * t1292 + 0.2e1 * t178 * t1322 * t146 - 0.4e1 * t178 * t418 * t442 - t121 * t1370 + 0.1174e1 * t1370; + const double t1378 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1373 * t165 ); + + + v2rho2 = 0.2e1 * rho * t716 + 0.4e1 * t314; + v2rhosigma = 0.2e1 * rho * t902 + 0.2e1 * t400; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1034 + 0.2e1 * t450; + v2sigma2 = 0.2e1 * rho * t1187; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1285; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1378; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t39 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t40 = t21 * t21; + constexpr double t42 = t23 * t22; + constexpr double t43 = 0.1e1 / t42; + constexpr double t44 = t39 * t40 * t43; + constexpr double t84 = t40 * t24; + constexpr double t152 = 0.1e1 / t23; + constexpr double t153 = t40 * t152; + constexpr double t175 = k1 * k1; + constexpr double t191 = t39 * t39; + constexpr double t192 = t22 * t22; + constexpr double t193 = 0.1e1 / t192; + constexpr double t194 = t191 * t193; + constexpr double t283 = d * c2; + constexpr double t329 = t25 * t28; + constexpr double t493 = t191 * t39 * t193; + constexpr double t600 = t21 * t42; + constexpr double t673 = c2 * c2; + constexpr double t674 = d * t673; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t20 * t20; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t45 = sigma * sigma; + const double t46 = t45 * t27; + const double t47 = t30 * t30; + const double t48 = t47 * rho; + const double t50 = 0.1e1 / t20 / t48; + const double t55 = safe_math::exp( -0.27e2 / 0.8e2 * t39 * t21 * t25 * t34 ); + const double t56 = t50 * t55; + const double t60 = safe_math::sqrt( 0.146e3 ); + const double t61 = t60 * t21; + const double t62 = t61 * t25; + const double t65 = t12 * t12; + const double t66 = t65 * t65; + const double t67 = t66 * t12; + const double t68 = t67 * t48; + const double t69 = tau * t28; + const double t70 = t31 * rho; + const double t71 = 0.1e1 / t70; + const double t74 = t69 * t71 - t34 / 0.8e1; + const double t75 = 0.e0 < t74; + const double t76 = piecewise_functor_3( t75, t74, 0.0 ); + const double t77 = t76 * t76; + const double t78 = t77 * t76; + const double t79 = t12 * rho; + const double t80 = safe_math::cbrt( t79 ); + const double t81 = t80 * t80; + const double t88 = 0.3e1 / 0.4e2 * t27 * t81 * t79 * t84 + taur / 0.2e1; + const double t89 = t88 * t88; + const double t90 = t89 * t88; + const double t91 = 0.1e1 / t90; + const double t93 = t65 * t12; + const double t94 = t30 * rho; + const double t96 = t80 * t93 * t94; + const double t97 = t28 * t96; + const double t98 = 0.1e1 / t89; + const double t99 = t77 * t98; + const double t102 = t97 * t99 / 0.16e2 + alphar; + const double t103 = 0.1e1 / t102; + const double t104 = t78 * t91 * t103; + const double t106 = t68 * t104 / 0.32e2; + const double t107 = 0.1e1 - t106; + const double t109 = t107 * t107; + const double t111 = safe_math::exp( -t109 / 0.2e1 ); + const double t114 = 0.7e1 / 0.1296e5 * t62 * t34 + t60 * t107 * t111 / 0.1e3; + const double t115 = t114 * t114; + const double t116 = k1 + 0.5e1 / 0.972e3 * t35 + t44 * t46 * t56 / 0.288e3 + t115; + const double t121 = 0.1e1 + k1 * ( 0.1e1 - k1 / t116 ); + const double t122 = t106 <= 0.25e1; + const double t123 = 0.25e1 < t106; + const double t124 = piecewise_functor_3( t123, 2.5, t106 ); + const double t126 = t124 * t124; + const double t128 = t126 * t124; + const double t130 = t126 * t126; + const double t132 = t130 * t124; + const double t134 = t130 * t126; + const double t139 = piecewise_functor_3( t123, t106, 2.5 ); + const double t140 = 0.1e1 - t139; + const double t143 = safe_math::exp( c2 / t140 ); + const double t145 = piecewise_functor_3( t122, 0.1e1 - 0.667e0 * t124 - 0.4445555e0 * t126 - 0.663086601049e0 * t128 + 0.145129704449e1 * t130 - 0.887998041597e0 * t132 + 0.234528941479e0 * t134 - 0.23185843322e-1 * t130 * t128, -d * t143 ); + const double t146 = 0.1e1 - t145; + const double t149 = t121 * t146 + 0.1174e1 * t145; + const double t151 = safe_math::sqrt( 0.3e1 ); + const double t154 = safe_math::sqrt( sigma ); + const double t155 = t154 * t27; + const double t157 = 0.1e1 / t20 / rho; + const double t159 = t153 * t155 * t157; + const double t160 = safe_math::sqrt( t159 ); + const double t164 = safe_math::exp( -0.98958e1 * t151 / t160 ); + const double t165 = 0.1e1 - t164; + const double t169 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t149 * t165 ); + const double t170 = 0.1e1 / t31; + const double t176 = t116 * t116; + const double t178 = t175 / t176; + const double t180 = 0.1e1 / t31 / t94; + const double t181 = t29 * t180; + const double t184 = t47 * t30; + const double t186 = 0.1e1 / t20 / t184; + const double t187 = t186 * t55; + const double t195 = t45 * sigma; + const double t196 = t47 * t47; + const double t197 = t196 * rho; + const double t198 = 0.1e1 / t197; + const double t205 = t67 * t47; + const double t208 = t68 * t77; + const double t209 = t91 * t103; + const double t214 = piecewise_functor_3( t75, -0.5e1 / 0.3e1 * t69 * t33 + t181 / 0.3e1, 0.0 ); + const double t215 = t209 * t214; + const double t218 = t66 * t65; + const double t219 = t218 * t48; + const double t220 = t89 * t89; + const double t221 = 0.1e1 / t220; + const double t222 = t78 * t221; + const double t224 = t103 * t27; + const double t226 = t81 * t40 * t24; + const double t227 = t224 * t226; + const double t230 = t68 * t78; + const double t231 = t102 * t102; + const double t232 = 0.1e1 / t231; + const double t233 = t91 * t232; + const double t235 = t80 * t65 * t30; + const double t236 = t28 * t235; + const double t240 = t76 * t98; + const double t244 = t205 * t77; + const double t246 = t91 * t40 * t24; + const double t249 = 0.5e1 / 0.24e2 * t236 * t99 * t12 + t97 * t240 * t214 / 0.8e1 - t244 * t246 / 0.32e2; + const double t250 = t233 * t249; + const double t253 = -0.5e1 / 0.32e2 * t205 * t104 - 0.3e1 / 0.32e2 * t208 * t215 + 0.3e1 / 0.256e3 * t219 * t222 * t227 + t230 * t250 / 0.32e2; + const double t257 = t60 * t109; + const double t258 = t253 * t111; + const double t261 = -0.7e1 / 0.486e4 * t62 * t181 + t60 * t253 * t111 / 0.1e3 - t257 * t258 / 0.1e3; + const double t264 = -0.1e2 / 0.729e3 * t26 * t181 - t44 * t46 * t187 / 0.54e2 + 0.3e1 / 0.8e2 * t194 * t195 * t198 * t55 + 0.2e1 * t114 * t261; + const double t265 = t264 * t146; + const double t267 = -t253; + const double t268 = piecewise_functor_3( t123, 0.0, t267 ); + const double t270 = t124 * t268; + const double t272 = t126 * t268; + const double t274 = t128 * t268; + const double t276 = t130 * t268; + const double t278 = t132 * t268; + const double t284 = t140 * t140; + const double t285 = 0.1e1 / t284; + const double t286 = piecewise_functor_3( t123, t267, 0.0 ); + const double t290 = piecewise_functor_3( t122, -0.667e0 * t268 - 0.889111e0 * t270 - 0.1989259803147e1 * t272 + 0.580518817796e1 * t274 - 0.4439990207985e1 * t276 + 0.1407173648874e1 * t278 - 0.162300903254e0 * t134 * t268, -t283 * t285 * t286 * t143 ); + const double t293 = t178 * t265 - t121 * t290 + 0.1174e1 * t290; + const double t298 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t299 = t298 * t298; + const double t300 = t299 * t299; + const double t302 = t300 * t298 * t18; + const double t303 = 0.1e1 / t30; + const double t304 = t303 * t149; + const double t306 = 0.1e1 / t160 / t159; + const double t308 = t302 * t304 * t306; + const double t310 = t153 * t155 * t164; + const double t314 = piecewise_functor_3( t3, 0.0, -t19 * t170 * t149 * t165 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t293 * t165 - 0.16891736332904387511e1 * t308 * t310 ); + const double t317 = t28 * t33; + const double t320 = sigma * t27; + const double t324 = 0.1e1 / t196; + const double t334 = piecewise_functor_3( t75, -t317 / 0.8e1, 0.0 ); + const double t335 = t209 * t334; + const double t338 = t77 * t77; + const double t340 = 0.1e1 / t220 / t88; + const double t341 = t338 * t340; + const double t342 = t68 * t341; + const double t343 = t232 * t28; + const double t344 = t96 * t334; + const double t345 = t343 * t344; + const double t348 = -0.3e1 / 0.32e2 * t208 * t335 + t342 * t345 / 0.256e3; + const double t349 = t60 * t348; + const double t352 = t348 * t111; + const double t355 = 0.7e1 / 0.1296e5 * t61 * t329 * t33 + t349 * t111 / 0.1e3 - t257 * t352 / 0.1e3; + const double t358 = 0.5e1 / 0.972e3 * t26 * t317 + t44 * t320 * t56 / 0.144e3 - 0.9e1 / 0.64e3 * t194 * t45 * t324 * t55 + 0.2e1 * t114 * t355; + const double t359 = t358 * t146; + const double t361 = -t348; + const double t362 = piecewise_functor_3( t123, 0.0, t361 ); + const double t364 = t124 * t362; + const double t366 = t126 * t362; + const double t368 = t128 * t362; + const double t370 = t130 * t362; + const double t372 = t132 * t362; + const double t377 = piecewise_functor_3( t123, t361, 0.0 ); + const double t381 = piecewise_functor_3( t122, -0.667e0 * t362 - 0.889111e0 * t364 - 0.1989259803147e1 * t366 + 0.580518817796e1 * t368 - 0.4439990207985e1 * t370 + 0.1407173648874e1 * t372 - 0.162300903254e0 * t134 * t362, -t283 * t285 * t377 * t143 ); + const double t384 = t178 * t359 - t121 * t381 + 0.1174e1 * t381; + const double t389 = 0.1e1 / rho; + const double t390 = t389 * t149; + const double t392 = t302 * t390 * t306; + const double t393 = 0.1e1 / t154; + const double t396 = t153 * t393 * t27 * t164; + const double t400 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t384 * t165 + 0.63344011248391453166e0 * t392 * t396 ); + const double t403 = piecewise_functor_3( t75, t28 * t71, 0.0 ); + const double t404 = t209 * t403; + const double t407 = t96 * t403; + const double t408 = t343 * t407; + const double t411 = -0.3e1 / 0.32e2 * t208 * t404 + t342 * t408 / 0.256e3; + const double t412 = t60 * t411; + const double t414 = t411 * t111; + const double t417 = t412 * t111 / 0.1e3 - t257 * t414 / 0.1e3; + const double t418 = t114 * t417; + const double t422 = -t411; + const double t423 = piecewise_functor_3( t123, 0.0, t422 ); + const double t425 = t124 * t423; + const double t427 = t126 * t423; + const double t429 = t128 * t423; + const double t431 = t130 * t423; + const double t433 = t132 * t423; + const double t438 = piecewise_functor_3( t123, t422, 0.0 ); + const double t442 = piecewise_functor_3( t122, -0.667e0 * t423 - 0.889111e0 * t425 - 0.1989259803147e1 * t427 + 0.580518817796e1 * t429 - 0.4439990207985e1 * t431 + 0.1407173648874e1 * t433 - 0.162300903254e0 * t134 * t423, -t283 * t285 * t438 * t143 ); + const double t445 = 0.2e1 * t178 * t418 * t146 - t121 * t442 + 0.1174e1 * t442; + const double t450 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t445 * t165 ); + const double t461 = 0.1e1 / t94; + const double t462 = t461 * t149; + const double t464 = t302 * t462 * t306; + const double t469 = t175 / t176 / t116; + const double t470 = t264 * t264; + const double t471 = t470 * t146; + const double t475 = 0.1e1 / t31 / t47; + const double t476 = t29 * t475; + const double t479 = t47 * t94; + const double t481 = 0.1e1 / t20 / t479; + const double t482 = t481 * t55; + const double t486 = t196 * t30; + const double t487 = 0.1e1 / t486; + const double t494 = t45 * t45; + const double t495 = t196 * t47; + const double t497 = 0.1e1 / t31 / t495; + const double t500 = t28 * t55; + const double t501 = t26 * t500; + const double t504 = t261 * t261; + const double t508 = t67 * t94; + const double t513 = t218 * t47; + const double t517 = t205 * t78; + const double t520 = t68 * t76; + const double t521 = t214 * t214; + const double t522 = t209 * t521; + const double t525 = t77 * t221; + const double t526 = t525 * t103; + const double t527 = t219 * t526; + const double t528 = t214 * t27; + const double t529 = t528 * t226; + const double t532 = t214 * t249; + const double t533 = t233 * t532; + const double t540 = piecewise_functor_3( t75, 0.4e2 / 0.9e1 * t69 * t180 - 0.11e2 / 0.9e1 * t476, 0.0 ); + const double t541 = t209 * t540; + const double t544 = t66 * t93; + const double t545 = t544 * t48; + const double t546 = t78 * t340; + const double t547 = t545 * t546; + const double t548 = t103 * t28; + const double t549 = t80 * t79; + const double t551 = t549 * t21 * t42; + const double t552 = t548 * t551; + const double t555 = t222 * t232; + const double t556 = t219 * t555; + const double t557 = t27 * t81; + const double t558 = t84 * t249; + const double t559 = t557 * t558; + const double t563 = 0.1e1 / t80; + const double t565 = t563 * t40 * t24; + const double t566 = t224 * t565; + const double t570 = 0.1e1 / t231 / t102; + const double t571 = t91 * t570; + const double t572 = t249 * t249; + const double t573 = t571 * t572; + const double t576 = t28 * t549; + const double t580 = t236 * t76; + const double t581 = t98 * t12; + const double t585 = t508 * t77; + const double t588 = t521 * t98; + const double t591 = t205 * t76; + const double t592 = t91 * t214; + const double t593 = t592 * t84; + const double t601 = t600 * t557; + const double t604 = 0.35e2 / 0.72e2 * t576 * t99 * t65 + 0.5e1 / 0.6e1 * t580 * t581 * t214 - 0.11e2 / 0.48e2 * t585 * t246 + t97 * t588 / 0.8e1 - t591 * t593 / 0.8e1 + t97 * t240 * t540 / 0.8e1 + 0.9e1 / 0.128e3 * t513 * t525 * t601; + const double t605 = t233 * t604; + const double t608 = -0.5e1 / 0.8e1 * t508 * t104 - 0.15e2 / 0.16e2 * t244 * t215 + 0.15e2 / 0.128e3 * t513 * t222 * t227 + 0.5e1 / 0.16e2 * t517 * t250 - 0.3e1 / 0.16e2 * t520 * t522 + 0.9e1 / 0.128e3 * t527 * t529 + 0.3e1 / 0.16e2 * t208 * t533 - 0.3e1 / 0.32e2 * t208 * t541 - 0.9e1 / 0.256e3 * t547 * t552 - 0.3e1 / 0.128e3 * t556 * t559 + t545 * t222 * t566 / 0.128e3 - t230 * t573 / 0.16e2 + t230 * t605 / 0.32e2; + const double t609 = t60 * t608; + const double t612 = t253 * t253; + const double t614 = t107 * t111; + const double t617 = t608 * t111; + const double t620 = t109 * t107; + const double t621 = t60 * t620; + const double t622 = t612 * t111; + const double t625 = 0.77e2 / 0.1458e5 * t62 * t476 + t609 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t60 * t612 * t614 - t257 * t617 / 0.1e3 + t621 * t622 / 0.1e3; + const double t628 = 0.11e3 / 0.2187e4 * t26 * t476 + 0.19e2 / 0.162e3 * t44 * t46 * t482 - 0.43e2 / 0.8e2 * t194 * t195 * t487 * t55 + 0.27e2 / 0.8e3 * t493 * t494 * t497 * t501 + 0.2e1 * t504 + 0.2e1 * t114 * t625; + const double t631 = t264 * t290; + const double t634 = -t608; + const double t635 = piecewise_functor_3( t123, 0.0, t634 ); + const double t637 = t268 * t268; + const double t641 = t124 * t637; + const double t645 = t126 * t637; + const double t649 = t128 * t637; + const double t653 = t130 * t637; + const double t661 = -0.667e0 * t635 - 0.889111e0 * t637 - 0.889111e0 * t124 * t635 - 0.3978519606294e1 * t641 - 0.1989259803147e1 * t126 * t635 + 0.1741556453388e2 * t645 + 0.580518817796e1 * t128 * t635 - 0.1775996083194e2 * t649 - 0.4439990207985e1 * t130 * t635 + 0.703586824437e1 * t653 + 0.1407173648874e1 * t132 * t635 - 0.973805419524e0 * t132 * t637 - 0.162300903254e0 * t134 * t635; + const double t662 = t284 * t140; + const double t663 = 0.1e1 / t662; + const double t664 = t286 * t286; + const double t669 = piecewise_functor_3( t123, t634, 0.0 ); + const double t675 = t284 * t284; + const double t676 = 0.1e1 / t675; + const double t681 = piecewise_functor_3( t122, t661, -t283 * t285 * t669 * t143 - 0.2e1 * t283 * t663 * t664 * t143 - t674 * t676 * t664 * t143 ); + const double t684 = -0.2e1 * t469 * t471 + t178 * t628 * t146 - 0.2e1 * t178 * t631 - t121 * t681 + 0.1174e1 * t681; + const double t691 = t302 * t303 * t293 * t306; + const double t695 = 0.1e1 / t20 / t47; + const double t696 = t695 * t149; + const double t699 = 0.1e1 / t160 / t35 / 0.6e1; + const double t701 = t302 * t696 * t699; + const double t703 = t26 * t29 * t164; + const double t706 = t4 * t18; + const double t707 = 0.1e1 / t20; + const double t709 = t706 * t707 * t149; + const double t711 = t329 * t164; + const double t712 = t393 * t21 * t711; + const double t716 = piecewise_functor_3( t3, 0.0, t19 * t71 * t149 * t165 / 0.12e2 - t19 * t170 * t293 * t165 / 0.4e1 + 0.28152893888173979185e1 * t464 * t310 - 0.3e1 / 0.8e1 * t19 * t20 * t684 * t165 - 0.33783472665808775022e1 * t691 * t310 - 0.20270083599485265013e2 * t701 * t703 + 0.27496264583922508251e2 * t709 * t712 ); + const double t723 = t359 * t264; + const double t726 = t28 * t180; + const double t736 = t196 * t94; + const double t738 = 0.1e1 / t31 / t736; + const double t750 = t334 * t214; + const double t751 = t209 * t750; + const double t754 = t334 * t27; + const double t755 = t754 * t226; + const double t758 = t334 * t249; + const double t759 = t233 * t758; + const double t763 = piecewise_functor_3( t75, t726 / 0.3e1, 0.0 ); + const double t764 = t209 * t763; + const double t767 = t205 * t341; + const double t770 = t68 * t546; + const double t771 = t344 * t214; + const double t772 = t343 * t771; + const double t775 = t66 * t66; + const double t776 = t775 * t65; + const double t777 = t776 * t197; + const double t779 = 0.1e1 / t220 / t89; + const double t780 = t338 * t779; + const double t781 = t777 * t780; + const double t782 = t232 * t334; + const double t783 = t782 * t84; + const double t786 = t570 * t28; + const double t787 = t344 * t249; + const double t788 = t786 * t787; + const double t791 = t219 * t341; + const double t792 = t235 * t334; + const double t793 = t343 * t792; + const double t796 = t96 * t763; + const double t797 = t343 * t796; + const double t800 = -0.15e2 / 0.32e2 * t244 * t335 - 0.3e1 / 0.16e2 * t520 * t751 + 0.9e1 / 0.256e3 * t527 * t755 + 0.3e1 / 0.32e2 * t208 * t759 - 0.3e1 / 0.32e2 * t208 * t764 + 0.5e1 / 0.256e3 * t767 * t345 + t770 * t772 / 0.64e2 - 0.5e1 / 0.1024e4 * t781 * t783 - t342 * t788 / 0.128e3 + 0.5e1 / 0.384e3 * t791 * t793 + t342 * t797 / 0.256e3; + const double t801 = t60 * t800; + const double t805 = t107 * t253 * t111; + const double t808 = t800 * t111; + const double t812 = t348 * t253 * t111; + const double t815 = -0.7e1 / 0.486e4 * t61 * t329 * t180 + t801 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t349 * t805 - t257 * t808 / 0.1e3 + t621 * t812 / 0.1e3; + const double t818 = -0.1e2 / 0.729e3 * t26 * t726 - t44 * t320 * t187 / 0.27e2 + 0.3e1 / 0.16e2 * t194 * t45 * t198 * t55 - 0.81e2 / 0.64e4 * t493 * t195 * t738 * t501 + 0.2e1 * t261 * t355 + 0.2e1 * t114 * t815; + const double t819 = t818 * t146; + const double t821 = t358 * t290; + const double t823 = t264 * t381; + const double t825 = -t800; + const double t826 = piecewise_functor_3( t123, 0.0, t825 ); + const double t828 = t268 * t362; + const double t830 = t124 * t826; + const double t834 = t126 * t826; + const double t838 = t128 * t826; + const double t842 = t130 * t826; + const double t846 = t132 * t826; + const double t852 = -0.667e0 * t826 - 0.889111e0 * t828 - 0.889111e0 * t830 - 0.3978519606294e1 * t364 * t268 - 0.1989259803147e1 * t834 + 0.1741556453388e2 * t366 * t268 + 0.580518817796e1 * t838 - 0.1775996083194e2 * t368 * t268 - 0.4439990207985e1 * t842 + 0.703586824437e1 * t370 * t268 + 0.1407173648874e1 * t846 - 0.973805419524e0 * t372 * t268 - 0.162300903254e0 * t134 * t826; + const double t853 = t283 * t663; + const double t854 = t377 * t143; + const double t855 = t854 * t286; + const double t858 = piecewise_functor_3( t123, t825, 0.0 ); + const double t862 = t674 * t676; + const double t865 = piecewise_functor_3( t122, t852, -t283 * t285 * t858 * t143 - 0.2e1 * t853 * t855 - t862 * t855 ); + const double t868 = -0.2e1 * t469 * t723 + t178 * t819 - t178 * t821 - t178 * t823 - t121 * t865 + 0.1174e1 * t865; + const double t875 = t302 * t303 * t384 * t306; + const double t882 = t302 * t389 * t293 * t306; + const double t886 = 0.1e1 / t20 / t94; + const double t887 = t886 * t149; + const double t890 = t699 * t21 * t711; + const double t894 = t706 * t31 * t149; + const double t895 = t154 * sigma; + const double t896 = 0.1e1 / t895; + const double t898 = t896 * t21 * t711; + const double t902 = piecewise_functor_3( t3, 0.0, -t19 * t170 * t384 * t165 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t868 * t165 - 0.16891736332904387511e1 * t875 * t310 - 0.63344011248391453166e0 * t308 * t396 + 0.63344011248391453166e0 * t882 * t396 + 0.76012813498069743799e1 * t302 * t887 * t890 - 0.10311099218970940594e2 * t894 * t898 ); + const double t909 = t469 * t114; + const double t910 = t417 * t146; + const double t911 = t910 * t264; + const double t914 = t261 * t417; + const double t920 = t403 * t214; + const double t921 = t209 * t920; + const double t924 = t403 * t27; + const double t925 = t924 * t226; + const double t928 = t403 * t249; + const double t929 = t233 * t928; + const double t933 = piecewise_functor_3( t75, -0.5e1 / 0.3e1 * t317, 0.0 ); + const double t934 = t209 * t933; + const double t940 = t343 * t407 * t214; + const double t943 = t232 * t403; + const double t944 = t943 * t84; + const double t948 = t786 * t407 * t249; + const double t951 = t235 * t403; + const double t952 = t343 * t951; + const double t955 = t96 * t933; + const double t956 = t343 * t955; + const double t959 = -0.15e2 / 0.32e2 * t244 * t404 - 0.3e1 / 0.16e2 * t520 * t921 + 0.9e1 / 0.256e3 * t527 * t925 + 0.3e1 / 0.32e2 * t208 * t929 - 0.3e1 / 0.32e2 * t208 * t934 + 0.5e1 / 0.256e3 * t767 * t408 + t770 * t940 / 0.64e2 - 0.5e1 / 0.1024e4 * t781 * t944 - t342 * t948 / 0.128e3 + 0.5e1 / 0.384e3 * t791 * t952 + t342 * t956 / 0.256e3; + const double t960 = t60 * t959; + const double t965 = t959 * t111; + const double t969 = t411 * t253 * t111; + const double t972 = t960 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t412 * t805 - t257 * t965 / 0.1e3 + t621 * t969 / 0.1e3; + const double t973 = t114 * t972; + const double t980 = t264 * t442; + const double t982 = -t959; + const double t983 = piecewise_functor_3( t123, 0.0, t982 ); + const double t985 = t268 * t423; + const double t987 = t124 * t983; + const double t991 = t126 * t983; + const double t995 = t128 * t983; + const double t999 = t130 * t983; + const double t1003 = t132 * t983; + const double t1009 = -0.667e0 * t983 - 0.889111e0 * t985 - 0.889111e0 * t987 - 0.3978519606294e1 * t425 * t268 - 0.1989259803147e1 * t991 + 0.1741556453388e2 * t427 * t268 + 0.580518817796e1 * t995 - 0.1775996083194e2 * t429 * t268 - 0.4439990207985e1 * t999 + 0.703586824437e1 * t431 * t268 + 0.1407173648874e1 * t1003 - 0.973805419524e0 * t433 * t268 - 0.162300903254e0 * t134 * t983; + const double t1010 = t438 * t143; + const double t1011 = t1010 * t286; + const double t1014 = piecewise_functor_3( t123, t982, 0.0 ); + const double t1020 = piecewise_functor_3( t122, t1009, -t283 * t285 * t1014 * t143 - 0.2e1 * t853 * t1011 - t862 * t1011 ); + const double t1023 = -0.4e1 * t909 * t911 + 0.2e1 * t178 * t914 * t146 + 0.2e1 * t178 * t973 * t146 - 0.2e1 * t178 * t418 * t290 - t178 * t980 - t121 * t1020 + 0.1174e1 * t1020; + const double t1030 = t302 * t303 * t445 * t306; + const double t1034 = piecewise_functor_3( t3, 0.0, -t19 * t170 * t445 * t165 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t1023 * t165 - 0.16891736332904387511e1 * t1030 * t310 ); + const double t1037 = t358 * t358; + const double t1038 = t1037 * t146; + const double t1050 = 0.1e1 / t31 / t486; + const double t1055 = t355 * t355; + const double t1057 = t334 * t334; + const double t1058 = t209 * t1057; + const double t1061 = t232 * t1057; + const double t1062 = t1061 * t97; + const double t1065 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t1066 = t209 * t1065; + const double t1068 = 0.3e1 / 0.32e2 * t208 * t1066; + const double t1069 = t338 * t76; + const double t1071 = 0.1e1 / t220 / t90; + const double t1072 = t1069 * t1071; + const double t1073 = t68 * t1072; + const double t1074 = t570 * t27; + const double t1075 = t218 * t184; + const double t1076 = t81 * t1075; + const double t1077 = t1076 * t1057; + const double t1078 = t1074 * t1077; + const double t1081 = t96 * t1065; + const double t1082 = t343 * t1081; + const double t1084 = t342 * t1082 / 0.256e3; + const double t1085 = -0.3e1 / 0.16e2 * t520 * t1058 + 0.7e1 / 0.256e3 * t770 * t1062 - t1068 - t1073 * t1078 / 0.512e3 + t1084; + const double t1086 = t60 * t1085; + const double t1089 = t348 * t348; + const double t1090 = t60 * t1089; + const double t1093 = t1085 * t111; + const double t1096 = t1089 * t111; + const double t1099 = t1086 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t1090 * t614 - t257 * t1093 / 0.1e3 + t621 * t1096 / 0.1e3; + const double t1102 = t44 * t27 * t50 * t55 / 0.144e3 - 0.9e1 / 0.16e3 * t194 * sigma * t324 * t55 + 0.243e3 / 0.512e5 * t493 * t45 * t1050 * t501 + 0.2e1 * t1055 + 0.2e1 * t114 * t1099; + const double t1103 = t1102 * t146; + const double t1105 = t358 * t381; + const double t1108 = -t1085; + const double t1109 = piecewise_functor_3( t123, 0.0, t1108 ); + const double t1111 = t362 * t362; + const double t1113 = t124 * t1109; + const double t1115 = t124 * t1111; + const double t1117 = t126 * t1109; + const double t1119 = t126 * t1111; + const double t1121 = t128 * t1109; + const double t1123 = t128 * t1111; + const double t1125 = t130 * t1109; + const double t1127 = t130 * t1111; + const double t1129 = t132 * t1109; + const double t1135 = -0.667e0 * t1109 - 0.889111e0 * t1111 - 0.889111e0 * t1113 - 0.3978519606294e1 * t1115 - 0.1989259803147e1 * t1117 + 0.1741556453388e2 * t1119 + 0.580518817796e1 * t1121 - 0.1775996083194e2 * t1123 - 0.4439990207985e1 * t1125 + 0.703586824437e1 * t1127 + 0.1407173648874e1 * t1129 - 0.973805419524e0 * t132 * t1111 - 0.162300903254e0 * t134 * t1109; + const double t1136 = t377 * t377; + const double t1141 = piecewise_functor_3( t123, t1108, 0.0 ); + const double t1149 = piecewise_functor_3( t122, t1135, -0.2e1 * t283 * t663 * t1136 * t143 - t674 * t676 * t1136 * t143 - t283 * t285 * t1141 * t143 ); + const double t1152 = -0.2e1 * t469 * t1038 + t178 * t1103 - 0.2e1 * t178 * t1105 - t121 * t1149 + 0.1174e1 * t1149; + const double t1159 = t302 * t389 * t384 * t306; + const double t1163 = 0.1e1 / t20 / t30; + const double t1164 = t1163 * t149; + const double t1166 = t302 * t1164 * t699; + const double t1167 = 0.1e1 / sigma; + const double t1170 = t26 * t1167 * t28 * t164; + const double t1175 = t153 * t896 * t27 * t164; + const double t1179 = t706 * t70 * t149; + const double t1181 = 0.1e1 / t154 / t45; + const double t1183 = t1181 * t21 * t711; + const double t1187 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1152 * t165 + 0.12668802249678290633e1 * t1159 * t396 - 0.28504805061776153925e1 * t1166 * t1170 - 0.31672005624195726583e0 * t392 * t1175 + 0.38666622071141027229e1 * t1179 * t1183 ); + const double t1189 = t910 * t358; + const double t1192 = t355 * t417; + const double t1196 = t403 * t334; + const double t1197 = t209 * t1196; + const double t1200 = t97 * t334; + const double t1201 = t943 * t1200; + const double t1204 = t1076 * t403; + const double t1206 = t1074 * t1204 * t334; + const double t1209 = -0.3e1 / 0.16e2 * t520 * t1197 + 0.7e1 / 0.256e3 * t770 * t1201 - t1068 - t1073 * t1206 / 0.512e3 + t1084; + const double t1210 = t60 * t1209; + const double t1214 = t107 * t348 * t111; + const double t1217 = t1209 * t111; + const double t1221 = t411 * t348 * t111; + const double t1224 = t1210 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t412 * t1214 - t257 * t1217 / 0.1e3 + t621 * t1221 / 0.1e3; + const double t1225 = t114 * t1224; + const double t1232 = t358 * t442; + const double t1234 = -t1209; + const double t1235 = piecewise_functor_3( t123, 0.0, t1234 ); + const double t1237 = t362 * t423; + const double t1239 = t124 * t1235; + const double t1243 = t126 * t1235; + const double t1247 = t128 * t1235; + const double t1251 = t130 * t1235; + const double t1255 = t132 * t1235; + const double t1261 = -0.667e0 * t1235 - 0.889111e0 * t1237 - 0.889111e0 * t1239 - 0.3978519606294e1 * t425 * t362 - 0.1989259803147e1 * t1243 + 0.1741556453388e2 * t427 * t362 + 0.580518817796e1 * t1247 - 0.1775996083194e2 * t429 * t362 - 0.4439990207985e1 * t1251 + 0.703586824437e1 * t431 * t362 + 0.1407173648874e1 * t1255 - 0.973805419524e0 * t433 * t362 - 0.162300903254e0 * t134 * t1235; + const double t1262 = t1010 * t377; + const double t1265 = piecewise_functor_3( t123, t1234, 0.0 ); + const double t1271 = piecewise_functor_3( t122, t1261, -t283 * t285 * t1265 * t143 - 0.2e1 * t853 * t1262 - t862 * t1262 ); + const double t1274 = -0.4e1 * t909 * t1189 + 0.2e1 * t178 * t1192 * t146 + 0.2e1 * t178 * t1225 * t146 - 0.2e1 * t178 * t418 * t381 - t178 * t1232 - t121 * t1271 + 0.1174e1 * t1271; + const double t1281 = t302 * t389 * t445 * t306; + const double t1285 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1274 * t165 + 0.63344011248391453166e0 * t1281 * t396 ); + const double t1287 = t417 * t417; + const double t1288 = t115 * t1287; + const double t1292 = t1287 * t146; + const double t1295 = t403 * t403; + const double t1296 = t209 * t1295; + const double t1299 = t232 * t1295; + const double t1300 = t1299 * t97; + const double t1303 = t1076 * t1295; + const double t1304 = t1074 * t1303; + const double t1307 = -0.3e1 / 0.16e2 * t520 * t1296 + 0.7e1 / 0.256e3 * t770 * t1300 - t1068 - t1073 * t1304 / 0.512e3 + t1084; + const double t1308 = t60 * t1307; + const double t1311 = t411 * t411; + const double t1312 = t60 * t1311; + const double t1318 = t1311 * t111; + const double t1321 = t1308 * t111 / 0.1e3 - 0.3e1 / 0.1e3 * t1312 * t614 - t257 * t1307 * t111 / 0.1e3 + t621 * t1318 / 0.1e3; + const double t1322 = t114 * t1321; + const double t1329 = -t1307; + const double t1330 = piecewise_functor_3( t123, 0.0, t1329 ); + const double t1332 = t423 * t423; + const double t1334 = t124 * t1330; + const double t1336 = t124 * t1332; + const double t1338 = t126 * t1330; + const double t1340 = t126 * t1332; + const double t1342 = t128 * t1330; + const double t1344 = t128 * t1332; + const double t1346 = t130 * t1330; + const double t1348 = t130 * t1332; + const double t1350 = t132 * t1330; + const double t1356 = -0.667e0 * t1330 - 0.889111e0 * t1332 - 0.889111e0 * t1334 - 0.3978519606294e1 * t1336 - 0.1989259803147e1 * t1338 + 0.1741556453388e2 * t1340 + 0.580518817796e1 * t1342 - 0.1775996083194e2 * t1344 - 0.4439990207985e1 * t1346 + 0.703586824437e1 * t1348 + 0.1407173648874e1 * t1350 - 0.973805419524e0 * t132 * t1332 - 0.162300903254e0 * t134 * t1330; + const double t1357 = t438 * t438; + const double t1362 = piecewise_functor_3( t123, t1329, 0.0 ); + const double t1370 = piecewise_functor_3( t122, t1356, -0.2e1 * t283 * t663 * t1357 * t143 - t674 * t676 * t1357 * t143 - t283 * t285 * t1362 * t143 ); + const double t1373 = -0.8e1 * t469 * t1288 * t146 + 0.2e1 * t178 * t1292 + 0.2e1 * t178 * t1322 * t146 - 0.4e1 * t178 * t418 * t442 - t121 * t1370 + 0.1174e1 * t1370; + const double t1378 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t1373 * t165 ); + + + vrho = 0.2e1 * rho * t314 + 0.2e1 * t169; + vsigma = 0.2e1 * rho * t400; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t450; + v2rho2 = 0.2e1 * rho * t716 + 0.4e1 * t314; + v2rhosigma = 0.2e1 * rho * t902 + 0.2e1 * t400; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t1034 + 0.2e1 * t450; + v2sigma2 = 0.2e1 * rho * t1187; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t1285; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t1378; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t86 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t45 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t46 = t29 * t29; + constexpr double t47 = t45 * t46; + constexpr double t48 = t31 * t30; + constexpr double t49 = 0.1e1 / t48; + constexpr double t50 = t47 * t49; + constexpr double t57 = t45 * t29; + constexpr double t92 = t46 * t32; + constexpr double t95 = taur / 0.2e1; + constexpr double t101 = t86 * t86; + constexpr double t161 = 0.1e1 / t31; + constexpr double t162 = t46 * t161; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t38 = t37 * t35; + const double t39 = 0.1e1 / t38; + const double t40 = sigma_aa * t39; + const double t41 = t34 * t40; + const double t51 = sigma_aa * sigma_aa; + const double t52 = t35 * t35; + const double t53 = t52 * rho_a; + const double t55 = 0.1e1 / t36 / t53; + const double t56 = t51 * t55; + const double t58 = t33 * sigma_aa; + const double t59 = t58 * t39; + const double t62 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t59 ); + const double t66 = safe_math::sqrt( 0.146e3 ); + const double t67 = t66 * t29; + const double t70 = t20 * t20; + const double t71 = t70 * t70; + const double t72 = t71 * t20; + const double t73 = t7 * t7; + const double t74 = t73 * t73; + const double t75 = t74 * t7; + const double t76 = t72 * t75; + const double t77 = t37 * rho_a; + const double t78 = 0.1e1 / t77; + const double t81 = tau_a * t78 - t40 / 0.8e1; + const double t82 = 0.e0 < t81; + const double t83 = piecewise_functor_3( t82, t81, 0.0 ); + const double t84 = t83 * t83; + const double t85 = t84 * t83; + const double t87 = t20 * t7; + const double t88 = safe_math::cbrt( t87 ); + const double t89 = t88 * t88; + const double t96 = 0.3e1 / 0.4e2 * t86 * t89 * t87 * t92 + t95; + const double t97 = t96 * t96; + const double t98 = t97 * t96; + const double t99 = 0.1e1 / t98; + const double t100 = t85 * t99; + const double t102 = t70 * t20; + const double t103 = t73 * t7; + const double t104 = t102 * t103; + const double t105 = t88 * t104; + const double t106 = t101 * t105; + const double t107 = 0.1e1 / t97; + const double t108 = t84 * t107; + const double t111 = t106 * t108 / 0.16e2 + alphar; + const double t112 = 0.1e1 / t111; + const double t113 = t100 * t112; + const double t115 = t76 * t113 / 0.32e2; + const double t116 = 0.1e1 - t115; + const double t118 = t116 * t116; + const double t120 = safe_math::exp( -t118 / 0.2e1 ); + const double t123 = 0.7e1 / 0.1296e5 * t67 * t59 + t66 * t116 * t120 / 0.1e3; + const double t124 = t123 * t123; + const double t125 = k1 + 0.5e1 / 0.972e3 * t41 + t50 * t56 * t62 / 0.576e3 + t124; + const double t130 = 0.1e1 + k1 * ( 0.1e1 - k1 / t125 ); + const double t131 = t115 <= 0.25e1; + const double t132 = 0.25e1 < t115; + const double t133 = piecewise_functor_3( t132, 2.5, t115 ); + const double t135 = t133 * t133; + const double t137 = t135 * t133; + const double t139 = t135 * t135; + const double t141 = t139 * t133; + const double t143 = t139 * t135; + const double t148 = piecewise_functor_3( t132, t115, 2.5 ); + const double t149 = 0.1e1 - t148; + const double t152 = safe_math::exp( c2 / t149 ); + const double t154 = piecewise_functor_3( t131, 0.1e1 - 0.667e0 * t133 - 0.4445555e0 * t135 - 0.663086601049e0 * t137 + 0.145129704449e1 * t139 - 0.887998041597e0 * t141 + 0.234528941479e0 * t143 - 0.23185843322e-1 * t139 * t137, -d * t152 ); + const double t155 = 0.1e1 - t154; + const double t158 = t130 * t155 + 0.1174e1 * t154; + const double t159 = t28 * t158; + const double t160 = safe_math::sqrt( 0.3e1 ); + const double t163 = safe_math::sqrt( sigma_aa ); + const double t164 = t36 * rho_a; + const double t165 = 0.1e1 / t164; + const double t167 = t162 * t163 * t165; + const double t168 = safe_math::sqrt( t167 ); + const double t172 = safe_math::exp( -0.98958e1 * t160 / t168 ); + const double t173 = 0.1e1 - t172; + const double t174 = t159 * t173; + const double t177 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t174 ); + const double t178 = rho_b <= dens_tol; + const double t179 = -t17; + const double t181 = piecewise_functor_5( t15, t12, t11, t16, t179 * t8 ); + const double t182 = 0.1e1 + t181; + const double t183 = t182 <= zeta_tol; + const double t184 = safe_math::cbrt( t182 ); + const double t186 = piecewise_functor_3( t183, t23, t184 * t182 ); + const double t187 = t6 * t186; + const double t188 = rho_b * rho_b; + const double t189 = safe_math::cbrt( rho_b ); + const double t190 = t189 * t189; + const double t191 = t190 * t188; + const double t192 = 0.1e1 / t191; + const double t193 = sigma_bb * t192; + const double t194 = t34 * t193; + const double t196 = sigma_bb * sigma_bb; + const double t197 = t188 * t188; + const double t198 = t197 * rho_b; + const double t200 = 0.1e1 / t189 / t198; + const double t201 = t196 * t200; + const double t202 = t33 * sigma_bb; + const double t203 = t202 * t192; + const double t206 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t203 ); + const double t212 = t182 * t182; + const double t213 = t212 * t212; + const double t214 = t213 * t182; + const double t215 = t214 * t75; + const double t216 = t190 * rho_b; + const double t217 = 0.1e1 / t216; + const double t220 = tau_b * t217 - t193 / 0.8e1; + const double t221 = 0.e0 < t220; + const double t222 = piecewise_functor_3( t221, t220, 0.0 ); + const double t223 = t222 * t222; + const double t224 = t223 * t222; + const double t225 = t182 * t7; + const double t226 = safe_math::cbrt( t225 ); + const double t227 = t226 * t226; + const double t232 = 0.3e1 / 0.4e2 * t86 * t227 * t225 * t92 + t95; + const double t233 = t232 * t232; + const double t234 = t233 * t232; + const double t235 = 0.1e1 / t234; + const double t236 = t224 * t235; + const double t237 = t212 * t182; + const double t238 = t237 * t103; + const double t239 = t226 * t238; + const double t240 = t101 * t239; + const double t241 = 0.1e1 / t233; + const double t242 = t223 * t241; + const double t245 = t240 * t242 / 0.16e2 + alphar; + const double t246 = 0.1e1 / t245; + const double t247 = t236 * t246; + const double t249 = t215 * t247 / 0.32e2; + const double t250 = 0.1e1 - t249; + const double t252 = t250 * t250; + const double t254 = safe_math::exp( -t252 / 0.2e1 ); + const double t257 = 0.7e1 / 0.1296e5 * t67 * t203 + t66 * t250 * t254 / 0.1e3; + const double t258 = t257 * t257; + const double t259 = k1 + 0.5e1 / 0.972e3 * t194 + t50 * t201 * t206 / 0.576e3 + t258; + const double t264 = 0.1e1 + k1 * ( 0.1e1 - k1 / t259 ); + const double t265 = t249 <= 0.25e1; + const double t266 = 0.25e1 < t249; + const double t267 = piecewise_functor_3( t266, 2.5, t249 ); + const double t269 = t267 * t267; + const double t271 = t269 * t267; + const double t273 = t269 * t269; + const double t275 = t273 * t267; + const double t277 = t273 * t269; + const double t282 = piecewise_functor_3( t266, t249, 2.5 ); + const double t283 = 0.1e1 - t282; + const double t286 = safe_math::exp( c2 / t283 ); + const double t288 = piecewise_functor_3( t265, 0.1e1 - 0.667e0 * t267 - 0.4445555e0 * t269 - 0.663086601049e0 * t271 + 0.145129704449e1 * t273 - 0.887998041597e0 * t275 + 0.234528941479e0 * t277 - 0.23185843322e-1 * t273 * t271, -d * t286 ); + const double t289 = 0.1e1 - t288; + const double t292 = t264 * t289 + 0.1174e1 * t288; + const double t293 = t28 * t292; + const double t294 = safe_math::sqrt( sigma_bb ); + const double t295 = t189 * rho_b; + const double t296 = 0.1e1 / t295; + const double t298 = t162 * t294 * t296; + const double t299 = safe_math::sqrt( t298 ); + const double t303 = safe_math::exp( -0.98958e1 * t160 / t299 ); + const double t304 = 0.1e1 - t303; + const double t305 = t293 * t304; + const double t308 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t305 ); + + + eps = t177 + t308; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t86 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t45 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t46 = t29 * t29; + constexpr double t47 = t45 * t46; + constexpr double t48 = t31 * t30; + constexpr double t49 = 0.1e1 / t48; + constexpr double t50 = t47 * t49; + constexpr double t57 = t45 * t29; + constexpr double t92 = t46 * t32; + constexpr double t95 = taur / 0.2e1; + constexpr double t101 = t86 * t86; + constexpr double t161 = 0.1e1 / t31; + constexpr double t162 = t46 * t161; + constexpr double t325 = k1 * k1; + constexpr double t342 = t45 * t45; + constexpr double t343 = t30 * t30; + constexpr double t344 = 0.1e1 / t343; + constexpr double t345 = t342 * t344; + constexpr double t442 = d * c2; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t38 = t37 * t35; + const double t39 = 0.1e1 / t38; + const double t40 = sigma_aa * t39; + const double t41 = t34 * t40; + const double t51 = sigma_aa * sigma_aa; + const double t52 = t35 * t35; + const double t53 = t52 * rho_a; + const double t55 = 0.1e1 / t36 / t53; + const double t56 = t51 * t55; + const double t58 = t33 * sigma_aa; + const double t59 = t58 * t39; + const double t62 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t59 ); + const double t66 = safe_math::sqrt( 0.146e3 ); + const double t67 = t66 * t29; + const double t70 = t20 * t20; + const double t71 = t70 * t70; + const double t72 = t71 * t20; + const double t73 = t7 * t7; + const double t74 = t73 * t73; + const double t75 = t74 * t7; + const double t76 = t72 * t75; + const double t77 = t37 * rho_a; + const double t78 = 0.1e1 / t77; + const double t81 = tau_a * t78 - t40 / 0.8e1; + const double t82 = 0.e0 < t81; + const double t83 = piecewise_functor_3( t82, t81, 0.0 ); + const double t84 = t83 * t83; + const double t85 = t84 * t83; + const double t87 = t20 * t7; + const double t88 = safe_math::cbrt( t87 ); + const double t89 = t88 * t88; + const double t96 = 0.3e1 / 0.4e2 * t86 * t89 * t87 * t92 + t95; + const double t97 = t96 * t96; + const double t98 = t97 * t96; + const double t99 = 0.1e1 / t98; + const double t100 = t85 * t99; + const double t102 = t70 * t20; + const double t103 = t73 * t7; + const double t104 = t102 * t103; + const double t105 = t88 * t104; + const double t106 = t101 * t105; + const double t107 = 0.1e1 / t97; + const double t108 = t84 * t107; + const double t111 = t106 * t108 / 0.16e2 + alphar; + const double t112 = 0.1e1 / t111; + const double t113 = t100 * t112; + const double t115 = t76 * t113 / 0.32e2; + const double t116 = 0.1e1 - t115; + const double t118 = t116 * t116; + const double t120 = safe_math::exp( -t118 / 0.2e1 ); + const double t123 = 0.7e1 / 0.1296e5 * t67 * t59 + t66 * t116 * t120 / 0.1e3; + const double t124 = t123 * t123; + const double t125 = k1 + 0.5e1 / 0.972e3 * t41 + t50 * t56 * t62 / 0.576e3 + t124; + const double t130 = 0.1e1 + k1 * ( 0.1e1 - k1 / t125 ); + const double t131 = t115 <= 0.25e1; + const double t132 = 0.25e1 < t115; + const double t133 = piecewise_functor_3( t132, 2.5, t115 ); + const double t135 = t133 * t133; + const double t137 = t135 * t133; + const double t139 = t135 * t135; + const double t141 = t139 * t133; + const double t143 = t139 * t135; + const double t148 = piecewise_functor_3( t132, t115, 2.5 ); + const double t149 = 0.1e1 - t148; + const double t152 = safe_math::exp( c2 / t149 ); + const double t154 = piecewise_functor_3( t131, 0.1e1 - 0.667e0 * t133 - 0.4445555e0 * t135 - 0.663086601049e0 * t137 + 0.145129704449e1 * t139 - 0.887998041597e0 * t141 + 0.234528941479e0 * t143 - 0.23185843322e-1 * t139 * t137, -d * t152 ); + const double t155 = 0.1e1 - t154; + const double t158 = t130 * t155 + 0.1174e1 * t154; + const double t159 = t28 * t158; + const double t160 = safe_math::sqrt( 0.3e1 ); + const double t163 = safe_math::sqrt( sigma_aa ); + const double t164 = t36 * rho_a; + const double t165 = 0.1e1 / t164; + const double t167 = t162 * t163 * t165; + const double t168 = safe_math::sqrt( t167 ); + const double t172 = safe_math::exp( -0.98958e1 * t160 / t168 ); + const double t173 = 0.1e1 - t172; + const double t174 = t159 * t173; + const double t177 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t174 ); + const double t178 = rho_b <= dens_tol; + const double t179 = -t17; + const double t181 = piecewise_functor_5( t15, t12, t11, t16, t179 * t8 ); + const double t182 = 0.1e1 + t181; + const double t183 = t182 <= zeta_tol; + const double t184 = safe_math::cbrt( t182 ); + const double t186 = piecewise_functor_3( t183, t23, t184 * t182 ); + const double t187 = t6 * t186; + const double t188 = rho_b * rho_b; + const double t189 = safe_math::cbrt( rho_b ); + const double t190 = t189 * t189; + const double t191 = t190 * t188; + const double t192 = 0.1e1 / t191; + const double t193 = sigma_bb * t192; + const double t194 = t34 * t193; + const double t196 = sigma_bb * sigma_bb; + const double t197 = t188 * t188; + const double t198 = t197 * rho_b; + const double t200 = 0.1e1 / t189 / t198; + const double t201 = t196 * t200; + const double t202 = t33 * sigma_bb; + const double t203 = t202 * t192; + const double t206 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t203 ); + const double t212 = t182 * t182; + const double t213 = t212 * t212; + const double t214 = t213 * t182; + const double t215 = t214 * t75; + const double t216 = t190 * rho_b; + const double t217 = 0.1e1 / t216; + const double t220 = tau_b * t217 - t193 / 0.8e1; + const double t221 = 0.e0 < t220; + const double t222 = piecewise_functor_3( t221, t220, 0.0 ); + const double t223 = t222 * t222; + const double t224 = t223 * t222; + const double t225 = t182 * t7; + const double t226 = safe_math::cbrt( t225 ); + const double t227 = t226 * t226; + const double t232 = 0.3e1 / 0.4e2 * t86 * t227 * t225 * t92 + t95; + const double t233 = t232 * t232; + const double t234 = t233 * t232; + const double t235 = 0.1e1 / t234; + const double t236 = t224 * t235; + const double t237 = t212 * t182; + const double t238 = t237 * t103; + const double t239 = t226 * t238; + const double t240 = t101 * t239; + const double t241 = 0.1e1 / t233; + const double t242 = t223 * t241; + const double t245 = t240 * t242 / 0.16e2 + alphar; + const double t246 = 0.1e1 / t245; + const double t247 = t236 * t246; + const double t249 = t215 * t247 / 0.32e2; + const double t250 = 0.1e1 - t249; + const double t252 = t250 * t250; + const double t254 = safe_math::exp( -t252 / 0.2e1 ); + const double t257 = 0.7e1 / 0.1296e5 * t67 * t203 + t66 * t250 * t254 / 0.1e3; + const double t258 = t257 * t257; + const double t259 = k1 + 0.5e1 / 0.972e3 * t194 + t50 * t201 * t206 / 0.576e3 + t258; + const double t264 = 0.1e1 + k1 * ( 0.1e1 - k1 / t259 ); + const double t265 = t249 <= 0.25e1; + const double t266 = 0.25e1 < t249; + const double t267 = piecewise_functor_3( t266, 2.5, t249 ); + const double t269 = t267 * t267; + const double t271 = t269 * t267; + const double t273 = t269 * t269; + const double t275 = t273 * t267; + const double t277 = t273 * t269; + const double t282 = piecewise_functor_3( t266, t249, 2.5 ); + const double t283 = 0.1e1 - t282; + const double t286 = safe_math::exp( c2 / t283 ); + const double t288 = piecewise_functor_3( t265, 0.1e1 - 0.667e0 * t267 - 0.4445555e0 * t269 - 0.663086601049e0 * t271 + 0.145129704449e1 * t273 - 0.887998041597e0 * t275 + 0.234528941479e0 * t277 - 0.23185843322e-1 * t273 * t271, -d * t286 ); + const double t289 = 0.1e1 - t288; + const double t292 = t264 * t289 + 0.1174e1 * t288; + const double t293 = t28 * t292; + const double t294 = safe_math::sqrt( sigma_bb ); + const double t295 = t189 * rho_b; + const double t296 = 0.1e1 / t295; + const double t298 = t162 * t294 * t296; + const double t299 = safe_math::sqrt( t298 ); + const double t303 = safe_math::exp( -0.98958e1 * t160 / t299 ); + const double t304 = 0.1e1 - t303; + const double t305 = t293 * t304; + const double t308 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t305 ); + const double t309 = 0.1e1 / t73; + const double t310 = t17 * t309; + const double t312 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t310 ); + const double t315 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t312 ); + const double t316 = t6 * t315; + const double t319 = t28 * t28; + const double t320 = 0.1e1 / t319; + const double t321 = t320 * t158; + const double t322 = t321 * t173; + const double t324 = t27 * t322 / 0.8e1; + const double t326 = t125 * t125; + const double t328 = t325 / t326; + const double t329 = t35 * rho_a; + const double t331 = 0.1e1 / t37 / t329; + const double t332 = sigma_aa * t331; + const double t335 = t52 * t35; + const double t337 = 0.1e1 / t36 / t335; + const double t346 = t51 * sigma_aa; + const double t347 = t52 * t52; + const double t348 = t347 * rho_a; + const double t349 = 0.1e1 / t348; + const double t357 = t71 * t75; + const double t358 = t357 * t85; + const double t359 = t99 * t112; + const double t360 = t359 * t312; + const double t363 = t72 * t74; + const double t365 = 0.5e1 / 0.32e2 * t363 * t113; + const double t366 = t76 * t84; + const double t371 = piecewise_functor_3( t82, -0.5e1 / 0.3e1 * tau_a * t39 + t332 / 0.3e1, 0.0 ); + const double t372 = t359 * t371; + const double t375 = t97 * t97; + const double t376 = 0.1e1 / t375; + const double t377 = t85 * t376; + const double t378 = t377 * t112; + const double t379 = t76 * t378; + const double t380 = t86 * t89; + const double t382 = t312 * t7 + t19 + 0.1e1; + const double t383 = t92 * t382; + const double t384 = t380 * t383; + const double t387 = t76 * t85; + const double t388 = t111 * t111; + const double t389 = 0.1e1 / t388; + const double t390 = t99 * t389; + const double t391 = t70 * t73; + const double t392 = t88 * t391; + const double t393 = t101 * t392; + const double t397 = t83 * t107; + const double t401 = t71 * t74; + const double t402 = t401 * t84; + const double t403 = t99 * t46; + const double t404 = t32 * t382; + const double t405 = t403 * t404; + const double t408 = 0.5e1 / 0.24e2 * t393 * t108 * t382 + t106 * t397 * t371 / 0.8e1 - t402 * t405 / 0.32e2; + const double t409 = t390 * t408; + const double t412 = -0.5e1 / 0.32e2 * t358 * t360 - t365 - 0.3e1 / 0.32e2 * t366 * t372 + 0.3e1 / 0.256e3 * t379 * t384 + t387 * t409 / 0.32e2; + const double t416 = t66 * t118; + const double t417 = t412 * t120; + const double t420 = -0.7e1 / 0.486e4 * t67 * t58 * t331 + t66 * t412 * t120 / 0.1e3 - t416 * t417 / 0.1e3; + const double t423 = -0.1e2 / 0.729e3 * t34 * t332 - t50 * t51 * t337 * t62 / 0.108e3 + 0.3e1 / 0.32e3 * t345 * t346 * t349 * t62 + 0.2e1 * t123 * t420; + const double t424 = t423 * t155; + const double t426 = -t412; + const double t427 = piecewise_functor_3( t132, 0.0, t426 ); + const double t429 = t133 * t427; + const double t431 = t135 * t427; + const double t433 = t137 * t427; + const double t435 = t139 * t427; + const double t437 = t141 * t427; + const double t443 = t149 * t149; + const double t444 = 0.1e1 / t443; + const double t445 = piecewise_functor_3( t132, t426, 0.0 ); + const double t449 = piecewise_functor_3( t131, -0.667e0 * t427 - 0.889111e0 * t429 - 0.1989259803147e1 * t431 + 0.580518817796e1 * t433 - 0.4439990207985e1 * t435 + 0.1407173648874e1 * t437 - 0.162300903254e0 * t143 * t427, -t442 * t444 * t445 * t152 ); + const double t452 = t328 * t424 - t130 * t449 + 0.1174e1 * t449; + const double t453 = t28 * t452; + const double t454 = t453 * t173; + const double t457 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t458 = t457 * t457; + const double t459 = t458 * t458; + const double t460 = t459 * t457; + const double t461 = t460 * t26; + const double t463 = 0.1e1 / t168 / t167; + const double t464 = t159 * t463; + const double t465 = t461 * t464; + const double t467 = 0.1e1 / t36 / t35; + const double t470 = t162 * t163 * t467 * t172; + const double t474 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t316 * t174 - t324 - 0.3e1 / 0.8e1 * t27 * t454 - 0.16891736332904387511e1 * t465 * t470 ); + const double t475 = t179 * t309; + const double t477 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t475 ); + const double t480 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.3e1 * t184 * t477 ); + const double t481 = t6 * t480; + const double t484 = t320 * t292; + const double t485 = t484 * t304; + const double t487 = t187 * t485 / 0.8e1; + const double t488 = t259 * t259; + const double t490 = t325 / t488; + const double t491 = t213 * t75; + const double t492 = t491 * t224; + const double t493 = t235 * t246; + const double t494 = t493 * t477; + const double t497 = t214 * t74; + const double t499 = 0.5e1 / 0.32e2 * t497 * t247; + const double t500 = t233 * t233; + const double t501 = 0.1e1 / t500; + const double t502 = t224 * t501; + const double t503 = t502 * t246; + const double t504 = t215 * t503; + const double t505 = t86 * t227; + const double t507 = t477 * t7 + t181 + 0.1e1; + const double t508 = t92 * t507; + const double t509 = t505 * t508; + const double t512 = t215 * t224; + const double t513 = t245 * t245; + const double t514 = 0.1e1 / t513; + const double t515 = t235 * t514; + const double t516 = t212 * t73; + const double t517 = t226 * t516; + const double t518 = t101 * t517; + const double t522 = t213 * t74; + const double t523 = t522 * t223; + const double t524 = t235 * t46; + const double t525 = t32 * t507; + const double t526 = t524 * t525; + const double t529 = 0.5e1 / 0.24e2 * t518 * t242 * t507 - t523 * t526 / 0.32e2; + const double t530 = t515 * t529; + const double t533 = -0.5e1 / 0.32e2 * t492 * t494 - t499 + 0.3e1 / 0.256e3 * t504 * t509 + t512 * t530 / 0.32e2; + const double t536 = t66 * t252; + const double t537 = t533 * t254; + const double t540 = t66 * t533 * t254 / 0.1e3 - t536 * t537 / 0.1e3; + const double t541 = t257 * t540; + const double t542 = t541 * t289; + const double t545 = -t533; + const double t546 = piecewise_functor_3( t266, 0.0, t545 ); + const double t548 = t267 * t546; + const double t550 = t269 * t546; + const double t552 = t271 * t546; + const double t554 = t273 * t546; + const double t556 = t275 * t546; + const double t561 = t283 * t283; + const double t562 = 0.1e1 / t561; + const double t563 = piecewise_functor_3( t266, t545, 0.0 ); + const double t567 = piecewise_functor_3( t265, -0.667e0 * t546 - 0.889111e0 * t548 - 0.1989259803147e1 * t550 + 0.580518817796e1 * t552 - 0.4439990207985e1 * t554 + 0.1407173648874e1 * t556 - 0.162300903254e0 * t277 * t546, -t442 * t562 * t563 * t286 ); + const double t570 = 0.2e1 * t490 * t542 - t264 * t567 + 0.1174e1 * t567; + const double t571 = t28 * t570; + const double t572 = t571 * t304; + const double t576 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t481 * t305 - t487 - 0.3e1 / 0.8e1 * t187 * t572 ); + const double t580 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t310 ); + const double t583 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t580 ); + const double t584 = t6 * t583; + const double t587 = t359 * t580; + const double t591 = t580 * t7 + t19 + 0.1e1; + const double t592 = t92 * t591; + const double t593 = t380 * t592; + const double t599 = t32 * t591; + const double t600 = t403 * t599; + const double t603 = 0.5e1 / 0.24e2 * t393 * t108 * t591 - t402 * t600 / 0.32e2; + const double t604 = t390 * t603; + const double t607 = -0.5e1 / 0.32e2 * t358 * t587 - t365 + 0.3e1 / 0.256e3 * t379 * t593 + t387 * t604 / 0.32e2; + const double t608 = t66 * t607; + const double t610 = t607 * t120; + const double t613 = t608 * t120 / 0.1e3 - t416 * t610 / 0.1e3; + const double t614 = t123 * t613; + const double t615 = t614 * t155; + const double t618 = -t607; + const double t619 = piecewise_functor_3( t132, 0.0, t618 ); + const double t621 = t133 * t619; + const double t623 = t135 * t619; + const double t625 = t137 * t619; + const double t627 = t139 * t619; + const double t629 = t141 * t619; + const double t634 = piecewise_functor_3( t132, t618, 0.0 ); + const double t638 = piecewise_functor_3( t131, -0.667e0 * t619 - 0.889111e0 * t621 - 0.1989259803147e1 * t623 + 0.580518817796e1 * t625 - 0.4439990207985e1 * t627 + 0.1407173648874e1 * t629 - 0.162300903254e0 * t143 * t619, -t442 * t444 * t634 * t152 ); + const double t641 = 0.2e1 * t328 * t615 - t130 * t638 + 0.1174e1 * t638; + const double t642 = t28 * t641; + const double t643 = t642 * t173; + const double t647 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t584 * t174 - t324 - 0.3e1 / 0.8e1 * t27 * t643 ); + const double t649 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t475 ); + const double t652 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.3e1 * t184 * t649 ); + const double t653 = t6 * t652; + const double t656 = t188 * rho_b; + const double t658 = 0.1e1 / t190 / t656; + const double t659 = sigma_bb * t658; + const double t662 = t197 * t188; + const double t664 = 0.1e1 / t189 / t662; + const double t669 = t196 * sigma_bb; + const double t670 = t197 * t197; + const double t671 = t670 * rho_b; + const double t672 = 0.1e1 / t671; + const double t680 = t493 * t649; + const double t683 = t215 * t223; + const double t688 = piecewise_functor_3( t221, -0.5e1 / 0.3e1 * tau_b * t192 + t659 / 0.3e1, 0.0 ); + const double t689 = t493 * t688; + const double t693 = t649 * t7 + t181 + 0.1e1; + const double t694 = t92 * t693; + const double t695 = t505 * t694; + const double t701 = t222 * t241; + const double t705 = t32 * t693; + const double t706 = t524 * t705; + const double t709 = 0.5e1 / 0.24e2 * t518 * t242 * t693 + t240 * t701 * t688 / 0.8e1 - t523 * t706 / 0.32e2; + const double t710 = t515 * t709; + const double t713 = -0.5e1 / 0.32e2 * t492 * t680 - t499 - 0.3e1 / 0.32e2 * t683 * t689 + 0.3e1 / 0.256e3 * t504 * t695 + t512 * t710 / 0.32e2; + const double t714 = t66 * t713; + const double t717 = t713 * t254; + const double t720 = -0.7e1 / 0.486e4 * t67 * t202 * t658 + t714 * t254 / 0.1e3 - t536 * t717 / 0.1e3; + const double t723 = -0.1e2 / 0.729e3 * t34 * t659 - t50 * t196 * t664 * t206 / 0.108e3 + 0.3e1 / 0.32e3 * t345 * t669 * t672 * t206 + 0.2e1 * t257 * t720; + const double t724 = t723 * t289; + const double t726 = -t713; + const double t727 = piecewise_functor_3( t266, 0.0, t726 ); + const double t729 = t267 * t727; + const double t731 = t269 * t727; + const double t733 = t271 * t727; + const double t735 = t273 * t727; + const double t737 = t275 * t727; + const double t742 = piecewise_functor_3( t266, t726, 0.0 ); + const double t746 = piecewise_functor_3( t265, -0.667e0 * t727 - 0.889111e0 * t729 - 0.1989259803147e1 * t731 + 0.580518817796e1 * t733 - 0.4439990207985e1 * t735 + 0.1407173648874e1 * t737 - 0.162300903254e0 * t277 * t727, -t442 * t562 * t742 * t286 ); + const double t749 = t490 * t724 - t264 * t746 + 0.1174e1 * t746; + const double t750 = t28 * t749; + const double t751 = t750 * t304; + const double t754 = t460 * t186; + const double t756 = 0.1e1 / t299 / t298; + const double t757 = t293 * t756; + const double t758 = t754 * t757; + const double t760 = 0.1e1 / t189 / t188; + const double t763 = t162 * t294 * t760 * t303; + const double t767 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t653 * t305 - t487 - 0.3e1 / 0.8e1 * t187 * t751 - 0.16891736332904387511e1 * t758 * t763 ); + const double t776 = 0.1e1 / t347; + const double t785 = piecewise_functor_3( t82, -t39 / 0.8e1, 0.0 ); + const double t786 = t359 * t785; + const double t789 = t84 * t84; + const double t791 = 0.1e1 / t375 / t96; + const double t792 = t789 * t791; + const double t793 = t76 * t792; + const double t794 = t389 * t101; + const double t795 = t105 * t785; + const double t796 = t794 * t795; + const double t799 = -0.3e1 / 0.32e2 * t366 * t786 + t793 * t796 / 0.256e3; + const double t800 = t66 * t799; + const double t803 = t799 * t120; + const double t806 = 0.7e1 / 0.1296e5 * t67 * t33 * t39 + t800 * t120 / 0.1e3 - t416 * t803 / 0.1e3; + const double t809 = 0.5e1 / 0.972e3 * t34 * t39 + t50 * sigma_aa * t55 * t62 / 0.288e3 - 0.9e1 / 0.256e4 * t345 * t51 * t776 * t62 + 0.2e1 * t123 * t806; + const double t810 = t809 * t155; + const double t812 = -t799; + const double t813 = piecewise_functor_3( t132, 0.0, t812 ); + const double t815 = t133 * t813; + const double t817 = t135 * t813; + const double t819 = t137 * t813; + const double t821 = t139 * t813; + const double t823 = t141 * t813; + const double t828 = piecewise_functor_3( t132, t812, 0.0 ); + const double t832 = piecewise_functor_3( t131, -0.667e0 * t813 - 0.889111e0 * t815 - 0.1989259803147e1 * t817 + 0.580518817796e1 * t819 - 0.4439990207985e1 * t821 + 0.1407173648874e1 * t823 - 0.162300903254e0 * t143 * t813, -t442 * t444 * t828 * t152 ); + const double t835 = t328 * t810 - t130 * t832 + 0.1174e1 * t832; + const double t836 = t28 * t835; + const double t837 = t836 * t173; + const double t840 = 0.1e1 / t163; + const double t843 = t162 * t840 * t165 * t172; + const double t847 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t837 + 0.63344011248391453166e0 * t465 * t843 ); + const double t854 = 0.1e1 / t670; + const double t863 = piecewise_functor_3( t221, -t192 / 0.8e1, 0.0 ); + const double t864 = t493 * t863; + const double t867 = t223 * t223; + const double t869 = 0.1e1 / t500 / t232; + const double t870 = t867 * t869; + const double t871 = t215 * t870; + const double t872 = t514 * t101; + const double t873 = t239 * t863; + const double t874 = t872 * t873; + const double t877 = -0.3e1 / 0.32e2 * t683 * t864 + t871 * t874 / 0.256e3; + const double t878 = t66 * t877; + const double t881 = t877 * t254; + const double t884 = 0.7e1 / 0.1296e5 * t67 * t33 * t192 + t878 * t254 / 0.1e3 - t536 * t881 / 0.1e3; + const double t887 = 0.5e1 / 0.972e3 * t34 * t192 + t50 * sigma_bb * t200 * t206 / 0.288e3 - 0.9e1 / 0.256e4 * t345 * t196 * t854 * t206 + 0.2e1 * t257 * t884; + const double t888 = t887 * t289; + const double t890 = -t877; + const double t891 = piecewise_functor_3( t266, 0.0, t890 ); + const double t893 = t267 * t891; + const double t895 = t269 * t891; + const double t897 = t271 * t891; + const double t899 = t273 * t891; + const double t901 = t275 * t891; + const double t906 = piecewise_functor_3( t266, t890, 0.0 ); + const double t910 = piecewise_functor_3( t265, -0.667e0 * t891 - 0.889111e0 * t893 - 0.1989259803147e1 * t895 + 0.580518817796e1 * t897 - 0.4439990207985e1 * t899 + 0.1407173648874e1 * t901 - 0.162300903254e0 * t277 * t891, -t442 * t562 * t906 * t286 ); + const double t913 = t490 * t888 - t264 * t910 + 0.1174e1 * t910; + const double t914 = t28 * t913; + const double t915 = t914 * t304; + const double t918 = 0.1e1 / t294; + const double t921 = t162 * t918 * t296 * t303; + const double t925 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t915 + 0.63344011248391453166e0 * t758 * t921 ); + const double t926 = piecewise_functor_3( t82, t78, 0.0 ); + const double t927 = t359 * t926; + const double t930 = t105 * t926; + const double t931 = t794 * t930; + const double t934 = -0.3e1 / 0.32e2 * t366 * t927 + t793 * t931 / 0.256e3; + const double t935 = t66 * t934; + const double t937 = t934 * t120; + const double t940 = t935 * t120 / 0.1e3 - t416 * t937 / 0.1e3; + const double t941 = t123 * t940; + const double t945 = -t934; + const double t946 = piecewise_functor_3( t132, 0.0, t945 ); + const double t948 = t133 * t946; + const double t950 = t135 * t946; + const double t952 = t137 * t946; + const double t954 = t139 * t946; + const double t956 = t141 * t946; + const double t961 = piecewise_functor_3( t132, t945, 0.0 ); + const double t965 = piecewise_functor_3( t131, -0.667e0 * t946 - 0.889111e0 * t948 - 0.1989259803147e1 * t950 + 0.580518817796e1 * t952 - 0.4439990207985e1 * t954 + 0.1407173648874e1 * t956 - 0.162300903254e0 * t143 * t946, -t442 * t444 * t961 * t152 ); + const double t968 = 0.2e1 * t328 * t941 * t155 - t130 * t965 + 0.1174e1 * t965; + const double t969 = t28 * t968; + const double t970 = t969 * t173; + const double t973 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t970 ); + const double t974 = piecewise_functor_3( t221, t217, 0.0 ); + const double t975 = t493 * t974; + const double t978 = t239 * t974; + const double t979 = t872 * t978; + const double t982 = -0.3e1 / 0.32e2 * t683 * t975 + t871 * t979 / 0.256e3; + const double t983 = t66 * t982; + const double t985 = t982 * t254; + const double t988 = t983 * t254 / 0.1e3 - t536 * t985 / 0.1e3; + const double t989 = t257 * t988; + const double t993 = -t982; + const double t994 = piecewise_functor_3( t266, 0.0, t993 ); + const double t996 = t267 * t994; + const double t998 = t269 * t994; + const double t1000 = t271 * t994; + const double t1002 = t273 * t994; + const double t1004 = t275 * t994; + const double t1009 = piecewise_functor_3( t266, t993, 0.0 ); + const double t1013 = piecewise_functor_3( t265, -0.667e0 * t994 - 0.889111e0 * t996 - 0.1989259803147e1 * t998 + 0.580518817796e1 * t1000 - 0.4439990207985e1 * t1002 + 0.1407173648874e1 * t1004 - 0.162300903254e0 * t277 * t994, -t442 * t562 * t1009 * t286 ); + const double t1016 = 0.2e1 * t490 * t989 * t289 - t264 * t1013 + 0.1174e1 * t1013; + const double t1017 = t28 * t1016; + const double t1018 = t1017 * t304; + const double t1021 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t1018 ); + + + eps = t177 + t308; + vrho_a = t177 + t308 + t7 * ( t474 + t576 ); + vrho_b = t177 + t308 + t7 * ( t647 + t767 ); + vsigma_aa = t7 * t847; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t925; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t973; + vtau_b = t7 * t1021; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t86 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t45 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t46 = t29 * t29; + constexpr double t47 = t45 * t46; + constexpr double t48 = t31 * t30; + constexpr double t49 = 0.1e1 / t48; + constexpr double t50 = t47 * t49; + constexpr double t57 = t45 * t29; + constexpr double t92 = t46 * t32; + constexpr double t95 = taur / 0.2e1; + constexpr double t101 = t86 * t86; + constexpr double t161 = 0.1e1 / t31; + constexpr double t162 = t46 * t161; + constexpr double t325 = k1 * k1; + constexpr double t342 = t45 * t45; + constexpr double t343 = t30 * t30; + constexpr double t344 = 0.1e1 / t343; + constexpr double t345 = t342 * t344; + constexpr double t442 = d * c2; + constexpr double t1089 = t342 * t45 * t344; + constexpr double t1173 = t29 * t48; + constexpr double t1324 = c2 * c2; + constexpr double t1325 = d * t1324; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t38 = t37 * t35; + const double t39 = 0.1e1 / t38; + const double t40 = sigma_aa * t39; + const double t41 = t34 * t40; + const double t51 = sigma_aa * sigma_aa; + const double t52 = t35 * t35; + const double t53 = t52 * rho_a; + const double t55 = 0.1e1 / t36 / t53; + const double t56 = t51 * t55; + const double t58 = t33 * sigma_aa; + const double t59 = t58 * t39; + const double t62 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t59 ); + const double t66 = safe_math::sqrt( 0.146e3 ); + const double t67 = t66 * t29; + const double t70 = t20 * t20; + const double t71 = t70 * t70; + const double t72 = t71 * t20; + const double t73 = t7 * t7; + const double t74 = t73 * t73; + const double t75 = t74 * t7; + const double t76 = t72 * t75; + const double t77 = t37 * rho_a; + const double t78 = 0.1e1 / t77; + const double t81 = tau_a * t78 - t40 / 0.8e1; + const double t82 = 0.e0 < t81; + const double t83 = piecewise_functor_3( t82, t81, 0.0 ); + const double t84 = t83 * t83; + const double t85 = t84 * t83; + const double t87 = t20 * t7; + const double t88 = safe_math::cbrt( t87 ); + const double t89 = t88 * t88; + const double t96 = 0.3e1 / 0.4e2 * t86 * t89 * t87 * t92 + t95; + const double t97 = t96 * t96; + const double t98 = t97 * t96; + const double t99 = 0.1e1 / t98; + const double t100 = t85 * t99; + const double t102 = t70 * t20; + const double t103 = t73 * t7; + const double t104 = t102 * t103; + const double t105 = t88 * t104; + const double t106 = t101 * t105; + const double t107 = 0.1e1 / t97; + const double t108 = t84 * t107; + const double t111 = t106 * t108 / 0.16e2 + alphar; + const double t112 = 0.1e1 / t111; + const double t113 = t100 * t112; + const double t115 = t76 * t113 / 0.32e2; + const double t116 = 0.1e1 - t115; + const double t118 = t116 * t116; + const double t120 = safe_math::exp( -t118 / 0.2e1 ); + const double t123 = 0.7e1 / 0.1296e5 * t67 * t59 + t66 * t116 * t120 / 0.1e3; + const double t124 = t123 * t123; + const double t125 = k1 + 0.5e1 / 0.972e3 * t41 + t50 * t56 * t62 / 0.576e3 + t124; + const double t130 = 0.1e1 + k1 * ( 0.1e1 - k1 / t125 ); + const double t131 = t115 <= 0.25e1; + const double t132 = 0.25e1 < t115; + const double t133 = piecewise_functor_3( t132, 2.5, t115 ); + const double t135 = t133 * t133; + const double t137 = t135 * t133; + const double t139 = t135 * t135; + const double t141 = t139 * t133; + const double t143 = t139 * t135; + const double t148 = piecewise_functor_3( t132, t115, 2.5 ); + const double t149 = 0.1e1 - t148; + const double t152 = safe_math::exp( c2 / t149 ); + const double t154 = piecewise_functor_3( t131, 0.1e1 - 0.667e0 * t133 - 0.4445555e0 * t135 - 0.663086601049e0 * t137 + 0.145129704449e1 * t139 - 0.887998041597e0 * t141 + 0.234528941479e0 * t143 - 0.23185843322e-1 * t139 * t137, -d * t152 ); + const double t155 = 0.1e1 - t154; + const double t158 = t130 * t155 + 0.1174e1 * t154; + const double t159 = t28 * t158; + const double t160 = safe_math::sqrt( 0.3e1 ); + const double t163 = safe_math::sqrt( sigma_aa ); + const double t164 = t36 * rho_a; + const double t165 = 0.1e1 / t164; + const double t167 = t162 * t163 * t165; + const double t168 = safe_math::sqrt( t167 ); + const double t172 = safe_math::exp( -0.98958e1 * t160 / t168 ); + const double t173 = 0.1e1 - t172; + const double t174 = t159 * t173; + const double t178 = rho_b <= dens_tol; + const double t179 = -t17; + const double t181 = piecewise_functor_5( t15, t12, t11, t16, t179 * t8 ); + const double t182 = 0.1e1 + t181; + const double t183 = t182 <= zeta_tol; + const double t184 = safe_math::cbrt( t182 ); + const double t186 = piecewise_functor_3( t183, t23, t184 * t182 ); + const double t187 = t6 * t186; + const double t188 = rho_b * rho_b; + const double t189 = safe_math::cbrt( rho_b ); + const double t190 = t189 * t189; + const double t191 = t190 * t188; + const double t192 = 0.1e1 / t191; + const double t193 = sigma_bb * t192; + const double t194 = t34 * t193; + const double t196 = sigma_bb * sigma_bb; + const double t197 = t188 * t188; + const double t198 = t197 * rho_b; + const double t200 = 0.1e1 / t189 / t198; + const double t201 = t196 * t200; + const double t202 = t33 * sigma_bb; + const double t203 = t202 * t192; + const double t206 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t203 ); + const double t212 = t182 * t182; + const double t213 = t212 * t212; + const double t214 = t213 * t182; + const double t215 = t214 * t75; + const double t216 = t190 * rho_b; + const double t217 = 0.1e1 / t216; + const double t220 = tau_b * t217 - t193 / 0.8e1; + const double t221 = 0.e0 < t220; + const double t222 = piecewise_functor_3( t221, t220, 0.0 ); + const double t223 = t222 * t222; + const double t224 = t223 * t222; + const double t225 = t182 * t7; + const double t226 = safe_math::cbrt( t225 ); + const double t227 = t226 * t226; + const double t232 = 0.3e1 / 0.4e2 * t86 * t227 * t225 * t92 + t95; + const double t233 = t232 * t232; + const double t234 = t233 * t232; + const double t235 = 0.1e1 / t234; + const double t236 = t224 * t235; + const double t237 = t212 * t182; + const double t238 = t237 * t103; + const double t239 = t226 * t238; + const double t240 = t101 * t239; + const double t241 = 0.1e1 / t233; + const double t242 = t223 * t241; + const double t245 = t240 * t242 / 0.16e2 + alphar; + const double t246 = 0.1e1 / t245; + const double t247 = t236 * t246; + const double t249 = t215 * t247 / 0.32e2; + const double t250 = 0.1e1 - t249; + const double t252 = t250 * t250; + const double t254 = safe_math::exp( -t252 / 0.2e1 ); + const double t257 = 0.7e1 / 0.1296e5 * t67 * t203 + t66 * t250 * t254 / 0.1e3; + const double t258 = t257 * t257; + const double t259 = k1 + 0.5e1 / 0.972e3 * t194 + t50 * t201 * t206 / 0.576e3 + t258; + const double t264 = 0.1e1 + k1 * ( 0.1e1 - k1 / t259 ); + const double t265 = t249 <= 0.25e1; + const double t266 = 0.25e1 < t249; + const double t267 = piecewise_functor_3( t266, 2.5, t249 ); + const double t269 = t267 * t267; + const double t271 = t269 * t267; + const double t273 = t269 * t269; + const double t275 = t273 * t267; + const double t277 = t273 * t269; + const double t282 = piecewise_functor_3( t266, t249, 2.5 ); + const double t283 = 0.1e1 - t282; + const double t286 = safe_math::exp( c2 / t283 ); + const double t288 = piecewise_functor_3( t265, 0.1e1 - 0.667e0 * t267 - 0.4445555e0 * t269 - 0.663086601049e0 * t271 + 0.145129704449e1 * t273 - 0.887998041597e0 * t275 + 0.234528941479e0 * t277 - 0.23185843322e-1 * t273 * t271, -d * t286 ); + const double t289 = 0.1e1 - t288; + const double t292 = t264 * t289 + 0.1174e1 * t288; + const double t293 = t28 * t292; + const double t294 = safe_math::sqrt( sigma_bb ); + const double t295 = t189 * rho_b; + const double t296 = 0.1e1 / t295; + const double t298 = t162 * t294 * t296; + const double t299 = safe_math::sqrt( t298 ); + const double t303 = safe_math::exp( -0.98958e1 * t160 / t299 ); + const double t304 = 0.1e1 - t303; + const double t305 = t293 * t304; + const double t309 = 0.1e1 / t73; + const double t310 = t17 * t309; + const double t312 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t310 ); + const double t315 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t312 ); + const double t316 = t6 * t315; + const double t319 = t28 * t28; + const double t320 = 0.1e1 / t319; + const double t321 = t320 * t158; + const double t322 = t321 * t173; + const double t324 = t27 * t322 / 0.8e1; + const double t326 = t125 * t125; + const double t328 = t325 / t326; + const double t329 = t35 * rho_a; + const double t331 = 0.1e1 / t37 / t329; + const double t332 = sigma_aa * t331; + const double t335 = t52 * t35; + const double t337 = 0.1e1 / t36 / t335; + const double t346 = t51 * sigma_aa; + const double t347 = t52 * t52; + const double t348 = t347 * rho_a; + const double t349 = 0.1e1 / t348; + const double t357 = t71 * t75; + const double t358 = t357 * t85; + const double t359 = t99 * t112; + const double t360 = t359 * t312; + const double t363 = t72 * t74; + const double t365 = 0.5e1 / 0.32e2 * t363 * t113; + const double t366 = t76 * t84; + const double t371 = piecewise_functor_3( t82, -0.5e1 / 0.3e1 * tau_a * t39 + t332 / 0.3e1, 0.0 ); + const double t372 = t359 * t371; + const double t375 = t97 * t97; + const double t376 = 0.1e1 / t375; + const double t377 = t85 * t376; + const double t378 = t377 * t112; + const double t379 = t76 * t378; + const double t380 = t86 * t89; + const double t382 = t312 * t7 + t19 + 0.1e1; + const double t383 = t92 * t382; + const double t384 = t380 * t383; + const double t387 = t76 * t85; + const double t388 = t111 * t111; + const double t389 = 0.1e1 / t388; + const double t390 = t99 * t389; + const double t391 = t70 * t73; + const double t392 = t88 * t391; + const double t393 = t101 * t392; + const double t397 = t83 * t107; + const double t401 = t71 * t74; + const double t402 = t401 * t84; + const double t403 = t99 * t46; + const double t404 = t32 * t382; + const double t405 = t403 * t404; + const double t408 = 0.5e1 / 0.24e2 * t393 * t108 * t382 + t106 * t397 * t371 / 0.8e1 - t402 * t405 / 0.32e2; + const double t409 = t390 * t408; + const double t412 = -0.5e1 / 0.32e2 * t358 * t360 - t365 - 0.3e1 / 0.32e2 * t366 * t372 + 0.3e1 / 0.256e3 * t379 * t384 + t387 * t409 / 0.32e2; + const double t416 = t66 * t118; + const double t417 = t412 * t120; + const double t420 = -0.7e1 / 0.486e4 * t67 * t58 * t331 + t66 * t412 * t120 / 0.1e3 - t416 * t417 / 0.1e3; + const double t423 = -0.1e2 / 0.729e3 * t34 * t332 - t50 * t51 * t337 * t62 / 0.108e3 + 0.3e1 / 0.32e3 * t345 * t346 * t349 * t62 + 0.2e1 * t123 * t420; + const double t424 = t423 * t155; + const double t426 = -t412; + const double t427 = piecewise_functor_3( t132, 0.0, t426 ); + const double t429 = t133 * t427; + const double t431 = t135 * t427; + const double t433 = t137 * t427; + const double t435 = t139 * t427; + const double t437 = t141 * t427; + const double t443 = t149 * t149; + const double t444 = 0.1e1 / t443; + const double t445 = piecewise_functor_3( t132, t426, 0.0 ); + const double t449 = piecewise_functor_3( t131, -0.667e0 * t427 - 0.889111e0 * t429 - 0.1989259803147e1 * t431 + 0.580518817796e1 * t433 - 0.4439990207985e1 * t435 + 0.1407173648874e1 * t437 - 0.162300903254e0 * t143 * t427, -t442 * t444 * t445 * t152 ); + const double t452 = t328 * t424 - t130 * t449 + 0.1174e1 * t449; + const double t453 = t28 * t452; + const double t454 = t453 * t173; + const double t457 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t458 = t457 * t457; + const double t459 = t458 * t458; + const double t460 = t459 * t457; + const double t461 = t460 * t26; + const double t463 = 0.1e1 / t168 / t167; + const double t464 = t159 * t463; + const double t465 = t461 * t464; + const double t467 = 0.1e1 / t36 / t35; + const double t470 = t162 * t163 * t467 * t172; + const double t474 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t316 * t174 - t324 - 0.3e1 / 0.8e1 * t27 * t454 - 0.16891736332904387511e1 * t465 * t470 ); + const double t475 = t179 * t309; + const double t477 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t475 ); + const double t480 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.3e1 * t184 * t477 ); + const double t481 = t6 * t480; + const double t484 = t320 * t292; + const double t485 = t484 * t304; + const double t487 = t187 * t485 / 0.8e1; + const double t488 = t259 * t259; + const double t490 = t325 / t488; + const double t491 = t213 * t75; + const double t492 = t491 * t224; + const double t493 = t235 * t246; + const double t494 = t493 * t477; + const double t497 = t214 * t74; + const double t499 = 0.5e1 / 0.32e2 * t497 * t247; + const double t500 = t233 * t233; + const double t501 = 0.1e1 / t500; + const double t502 = t224 * t501; + const double t503 = t502 * t246; + const double t504 = t215 * t503; + const double t505 = t86 * t227; + const double t507 = t477 * t7 + t181 + 0.1e1; + const double t508 = t92 * t507; + const double t509 = t505 * t508; + const double t512 = t215 * t224; + const double t513 = t245 * t245; + const double t514 = 0.1e1 / t513; + const double t515 = t235 * t514; + const double t516 = t212 * t73; + const double t517 = t226 * t516; + const double t518 = t101 * t517; + const double t522 = t213 * t74; + const double t523 = t522 * t223; + const double t524 = t235 * t46; + const double t525 = t32 * t507; + const double t526 = t524 * t525; + const double t529 = 0.5e1 / 0.24e2 * t518 * t242 * t507 - t523 * t526 / 0.32e2; + const double t530 = t515 * t529; + const double t533 = -0.5e1 / 0.32e2 * t492 * t494 - t499 + 0.3e1 / 0.256e3 * t504 * t509 + t512 * t530 / 0.32e2; + const double t536 = t66 * t252; + const double t537 = t533 * t254; + const double t540 = t66 * t533 * t254 / 0.1e3 - t536 * t537 / 0.1e3; + const double t541 = t257 * t540; + const double t542 = t541 * t289; + const double t545 = -t533; + const double t546 = piecewise_functor_3( t266, 0.0, t545 ); + const double t548 = t267 * t546; + const double t550 = t269 * t546; + const double t552 = t271 * t546; + const double t554 = t273 * t546; + const double t556 = t275 * t546; + const double t561 = t283 * t283; + const double t562 = 0.1e1 / t561; + const double t563 = piecewise_functor_3( t266, t545, 0.0 ); + const double t567 = piecewise_functor_3( t265, -0.667e0 * t546 - 0.889111e0 * t548 - 0.1989259803147e1 * t550 + 0.580518817796e1 * t552 - 0.4439990207985e1 * t554 + 0.1407173648874e1 * t556 - 0.162300903254e0 * t277 * t546, -t442 * t562 * t563 * t286 ); + const double t570 = 0.2e1 * t490 * t542 - t264 * t567 + 0.1174e1 * t567; + const double t571 = t28 * t570; + const double t572 = t571 * t304; + const double t576 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t481 * t305 - t487 - 0.3e1 / 0.8e1 * t187 * t572 ); + const double t580 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t310 ); + const double t583 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t580 ); + const double t584 = t6 * t583; + const double t587 = t359 * t580; + const double t591 = t580 * t7 + t19 + 0.1e1; + const double t592 = t92 * t591; + const double t593 = t380 * t592; + const double t599 = t32 * t591; + const double t600 = t403 * t599; + const double t603 = 0.5e1 / 0.24e2 * t393 * t108 * t591 - t402 * t600 / 0.32e2; + const double t604 = t390 * t603; + const double t607 = -0.5e1 / 0.32e2 * t358 * t587 - t365 + 0.3e1 / 0.256e3 * t379 * t593 + t387 * t604 / 0.32e2; + const double t608 = t66 * t607; + const double t610 = t607 * t120; + const double t613 = t608 * t120 / 0.1e3 - t416 * t610 / 0.1e3; + const double t614 = t123 * t613; + const double t615 = t614 * t155; + const double t618 = -t607; + const double t619 = piecewise_functor_3( t132, 0.0, t618 ); + const double t621 = t133 * t619; + const double t623 = t135 * t619; + const double t625 = t137 * t619; + const double t627 = t139 * t619; + const double t629 = t141 * t619; + const double t634 = piecewise_functor_3( t132, t618, 0.0 ); + const double t638 = piecewise_functor_3( t131, -0.667e0 * t619 - 0.889111e0 * t621 - 0.1989259803147e1 * t623 + 0.580518817796e1 * t625 - 0.4439990207985e1 * t627 + 0.1407173648874e1 * t629 - 0.162300903254e0 * t143 * t619, -t442 * t444 * t634 * t152 ); + const double t641 = 0.2e1 * t328 * t615 - t130 * t638 + 0.1174e1 * t638; + const double t642 = t28 * t641; + const double t643 = t642 * t173; + const double t647 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t584 * t174 - t324 - 0.3e1 / 0.8e1 * t27 * t643 ); + const double t649 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t475 ); + const double t652 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.3e1 * t184 * t649 ); + const double t653 = t6 * t652; + const double t656 = t188 * rho_b; + const double t658 = 0.1e1 / t190 / t656; + const double t659 = sigma_bb * t658; + const double t662 = t197 * t188; + const double t664 = 0.1e1 / t189 / t662; + const double t669 = t196 * sigma_bb; + const double t670 = t197 * t197; + const double t671 = t670 * rho_b; + const double t672 = 0.1e1 / t671; + const double t680 = t493 * t649; + const double t683 = t215 * t223; + const double t688 = piecewise_functor_3( t221, -0.5e1 / 0.3e1 * tau_b * t192 + t659 / 0.3e1, 0.0 ); + const double t689 = t493 * t688; + const double t693 = t649 * t7 + t181 + 0.1e1; + const double t694 = t92 * t693; + const double t695 = t505 * t694; + const double t701 = t222 * t241; + const double t705 = t32 * t693; + const double t706 = t524 * t705; + const double t709 = 0.5e1 / 0.24e2 * t518 * t242 * t693 + t240 * t701 * t688 / 0.8e1 - t523 * t706 / 0.32e2; + const double t710 = t515 * t709; + const double t713 = -0.5e1 / 0.32e2 * t492 * t680 - t499 - 0.3e1 / 0.32e2 * t683 * t689 + 0.3e1 / 0.256e3 * t504 * t695 + t512 * t710 / 0.32e2; + const double t714 = t66 * t713; + const double t717 = t713 * t254; + const double t720 = -0.7e1 / 0.486e4 * t67 * t202 * t658 + t714 * t254 / 0.1e3 - t536 * t717 / 0.1e3; + const double t723 = -0.1e2 / 0.729e3 * t34 * t659 - t50 * t196 * t664 * t206 / 0.108e3 + 0.3e1 / 0.32e3 * t345 * t669 * t672 * t206 + 0.2e1 * t257 * t720; + const double t724 = t723 * t289; + const double t726 = -t713; + const double t727 = piecewise_functor_3( t266, 0.0, t726 ); + const double t729 = t267 * t727; + const double t731 = t269 * t727; + const double t733 = t271 * t727; + const double t735 = t273 * t727; + const double t737 = t275 * t727; + const double t742 = piecewise_functor_3( t266, t726, 0.0 ); + const double t746 = piecewise_functor_3( t265, -0.667e0 * t727 - 0.889111e0 * t729 - 0.1989259803147e1 * t731 + 0.580518817796e1 * t733 - 0.4439990207985e1 * t735 + 0.1407173648874e1 * t737 - 0.162300903254e0 * t277 * t727, -t442 * t562 * t742 * t286 ); + const double t749 = t490 * t724 - t264 * t746 + 0.1174e1 * t746; + const double t750 = t28 * t749; + const double t751 = t750 * t304; + const double t754 = t460 * t186; + const double t756 = 0.1e1 / t299 / t298; + const double t757 = t293 * t756; + const double t758 = t754 * t757; + const double t760 = 0.1e1 / t189 / t188; + const double t763 = t162 * t294 * t760 * t303; + const double t767 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t653 * t305 - t487 - 0.3e1 / 0.8e1 * t187 * t751 - 0.16891736332904387511e1 * t758 * t763 ); + const double t776 = 0.1e1 / t347; + const double t785 = piecewise_functor_3( t82, -t39 / 0.8e1, 0.0 ); + const double t786 = t359 * t785; + const double t789 = t84 * t84; + const double t791 = 0.1e1 / t375 / t96; + const double t792 = t789 * t791; + const double t793 = t76 * t792; + const double t794 = t389 * t101; + const double t795 = t105 * t785; + const double t796 = t794 * t795; + const double t799 = -0.3e1 / 0.32e2 * t366 * t786 + t793 * t796 / 0.256e3; + const double t800 = t66 * t799; + const double t803 = t799 * t120; + const double t806 = 0.7e1 / 0.1296e5 * t67 * t33 * t39 + t800 * t120 / 0.1e3 - t416 * t803 / 0.1e3; + const double t809 = 0.5e1 / 0.972e3 * t34 * t39 + t50 * sigma_aa * t55 * t62 / 0.288e3 - 0.9e1 / 0.256e4 * t345 * t51 * t776 * t62 + 0.2e1 * t123 * t806; + const double t810 = t809 * t155; + const double t812 = -t799; + const double t813 = piecewise_functor_3( t132, 0.0, t812 ); + const double t815 = t133 * t813; + const double t817 = t135 * t813; + const double t819 = t137 * t813; + const double t821 = t139 * t813; + const double t823 = t141 * t813; + const double t828 = piecewise_functor_3( t132, t812, 0.0 ); + const double t832 = piecewise_functor_3( t131, -0.667e0 * t813 - 0.889111e0 * t815 - 0.1989259803147e1 * t817 + 0.580518817796e1 * t819 - 0.4439990207985e1 * t821 + 0.1407173648874e1 * t823 - 0.162300903254e0 * t143 * t813, -t442 * t444 * t828 * t152 ); + const double t835 = t328 * t810 - t130 * t832 + 0.1174e1 * t832; + const double t836 = t28 * t835; + const double t837 = t836 * t173; + const double t840 = 0.1e1 / t163; + const double t843 = t162 * t840 * t165 * t172; + const double t847 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t837 + 0.63344011248391453166e0 * t465 * t843 ); + const double t854 = 0.1e1 / t670; + const double t863 = piecewise_functor_3( t221, -t192 / 0.8e1, 0.0 ); + const double t864 = t493 * t863; + const double t867 = t223 * t223; + const double t869 = 0.1e1 / t500 / t232; + const double t870 = t867 * t869; + const double t871 = t215 * t870; + const double t872 = t514 * t101; + const double t873 = t239 * t863; + const double t874 = t872 * t873; + const double t877 = -0.3e1 / 0.32e2 * t683 * t864 + t871 * t874 / 0.256e3; + const double t878 = t66 * t877; + const double t881 = t877 * t254; + const double t884 = 0.7e1 / 0.1296e5 * t67 * t33 * t192 + t878 * t254 / 0.1e3 - t536 * t881 / 0.1e3; + const double t887 = 0.5e1 / 0.972e3 * t34 * t192 + t50 * sigma_bb * t200 * t206 / 0.288e3 - 0.9e1 / 0.256e4 * t345 * t196 * t854 * t206 + 0.2e1 * t257 * t884; + const double t888 = t887 * t289; + const double t890 = -t877; + const double t891 = piecewise_functor_3( t266, 0.0, t890 ); + const double t893 = t267 * t891; + const double t895 = t269 * t891; + const double t897 = t271 * t891; + const double t899 = t273 * t891; + const double t901 = t275 * t891; + const double t906 = piecewise_functor_3( t266, t890, 0.0 ); + const double t910 = piecewise_functor_3( t265, -0.667e0 * t891 - 0.889111e0 * t893 - 0.1989259803147e1 * t895 + 0.580518817796e1 * t897 - 0.4439990207985e1 * t899 + 0.1407173648874e1 * t901 - 0.162300903254e0 * t277 * t891, -t442 * t562 * t906 * t286 ); + const double t913 = t490 * t888 - t264 * t910 + 0.1174e1 * t910; + const double t914 = t28 * t913; + const double t915 = t914 * t304; + const double t918 = 0.1e1 / t294; + const double t921 = t162 * t918 * t296 * t303; + const double t925 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t915 + 0.63344011248391453166e0 * t758 * t921 ); + const double t926 = piecewise_functor_3( t82, t78, 0.0 ); + const double t927 = t359 * t926; + const double t930 = t105 * t926; + const double t931 = t794 * t930; + const double t934 = -0.3e1 / 0.32e2 * t366 * t927 + t793 * t931 / 0.256e3; + const double t935 = t66 * t934; + const double t937 = t934 * t120; + const double t940 = t935 * t120 / 0.1e3 - t416 * t937 / 0.1e3; + const double t941 = t123 * t940; + const double t945 = -t934; + const double t946 = piecewise_functor_3( t132, 0.0, t945 ); + const double t948 = t133 * t946; + const double t950 = t135 * t946; + const double t952 = t137 * t946; + const double t954 = t139 * t946; + const double t956 = t141 * t946; + const double t961 = piecewise_functor_3( t132, t945, 0.0 ); + const double t965 = piecewise_functor_3( t131, -0.667e0 * t946 - 0.889111e0 * t948 - 0.1989259803147e1 * t950 + 0.580518817796e1 * t952 - 0.4439990207985e1 * t954 + 0.1407173648874e1 * t956 - 0.162300903254e0 * t143 * t946, -t442 * t444 * t961 * t152 ); + const double t968 = 0.2e1 * t328 * t941 * t155 - t130 * t965 + 0.1174e1 * t965; + const double t969 = t28 * t968; + const double t970 = t969 * t173; + const double t973 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t970 ); + const double t974 = piecewise_functor_3( t221, t217, 0.0 ); + const double t975 = t493 * t974; + const double t978 = t239 * t974; + const double t979 = t872 * t978; + const double t982 = -0.3e1 / 0.32e2 * t683 * t975 + t871 * t979 / 0.256e3; + const double t983 = t66 * t982; + const double t985 = t982 * t254; + const double t988 = t983 * t254 / 0.1e3 - t536 * t985 / 0.1e3; + const double t989 = t257 * t988; + const double t993 = -t982; + const double t994 = piecewise_functor_3( t266, 0.0, t993 ); + const double t996 = t267 * t994; + const double t998 = t269 * t994; + const double t1000 = t271 * t994; + const double t1002 = t273 * t994; + const double t1004 = t275 * t994; + const double t1009 = piecewise_functor_3( t266, t993, 0.0 ); + const double t1013 = piecewise_functor_3( t265, -0.667e0 * t994 - 0.889111e0 * t996 - 0.1989259803147e1 * t998 + 0.580518817796e1 * t1000 - 0.4439990207985e1 * t1002 + 0.1407173648874e1 * t1004 - 0.162300903254e0 * t277 * t994, -t442 * t562 * t1009 * t286 ); + const double t1016 = 0.2e1 * t490 * t989 * t289 - t264 * t1013 + 0.1174e1 * t1013; + const double t1017 = t28 * t1016; + const double t1018 = t1017 * t304; + const double t1021 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t1018 ); + const double t1024 = t24 * t24; + const double t1025 = 0.1e1 / t1024; + const double t1026 = t312 * t312; + const double t1029 = 0.1e1 / t103; + const double t1030 = t17 * t1029; + const double t1033 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t309 + 0.2e1 * t1030 ); + const double t1037 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1025 * t1026 + 0.4e1 / 0.3e1 * t24 * t1033 ); + const double t1038 = t6 * t1037; + const double t1041 = t316 * t322; + const double t1045 = t460 * t315; + const double t1046 = t1045 * t464; + const double t1050 = 0.1e1 / t319 / t7; + const double t1051 = t1050 * t158; + const double t1052 = t1051 * t173; + const double t1054 = t27 * t1052 / 0.12e2; + const double t1055 = t320 * t452; + const double t1056 = t1055 * t173; + const double t1057 = t27 * t1056; + const double t1059 = t321 * t463; + const double t1060 = t461 * t1059; + const double t1061 = t1060 * t470; + const double t1065 = t325 / t326 / t125; + const double t1066 = t423 * t423; + const double t1067 = t1066 * t155; + const double t1071 = 0.1e1 / t37 / t52; + const double t1072 = sigma_aa * t1071; + const double t1075 = t52 * t329; + const double t1077 = 0.1e1 / t36 / t1075; + const double t1082 = t347 * t35; + const double t1083 = 0.1e1 / t1082; + const double t1090 = t51 * t51; + const double t1091 = t1089 * t1090; + const double t1092 = t347 * t52; + const double t1094 = 0.1e1 / t37 / t1092; + const double t1096 = t33 * t62; + const double t1097 = t1094 * t29 * t1096; + const double t1100 = t420 * t420; + const double t1105 = t359 * t1033; + const double t1108 = t72 * t103; + const double t1110 = 0.5e1 / 0.8e1 * t1108 * t113; + const double t1111 = t363 * t84; + const double t1112 = t1111 * t372; + const double t1114 = t363 * t85; + const double t1115 = t1114 * t409; + const double t1121 = piecewise_functor_3( t82, 0.4e2 / 0.9e1 * tau_a * t331 - 0.11e2 / 0.9e1 * t1072, 0.0 ); + const double t1122 = t359 * t1121; + const double t1125 = t88 * t87; + const double t1126 = t101 * t1125; + const double t1127 = t382 * t382; + const double t1131 = t393 * t83; + const double t1132 = t107 * t382; + const double t1136 = t104 * t84; + const double t1138 = t99 * t1127 * t92; + const double t1143 = t1033 * t7 + 0.2e1 * t312; + const double t1147 = t371 * t371; + const double t1148 = t1147 * t107; + const double t1151 = t83 * t99; + const double t1152 = t401 * t1151; + const double t1153 = t371 * t46; + const double t1154 = t1153 * t404; + const double t1160 = t102 * t74; + const double t1161 = t84 * t99; + const double t1162 = t1160 * t1161; + const double t1163 = t382 * t312; + const double t1164 = t92 * t1163; + const double t1167 = t71 * t103; + const double t1168 = t1167 * t84; + const double t1171 = t84 * t376; + const double t1172 = t401 * t1171; + const double t1175 = t1127 * t86 * t89; + const double t1176 = t1173 * t1175; + const double t1179 = t32 * t1143; + const double t1180 = t403 * t1179; + const double t1183 = 0.35e2 / 0.72e2 * t1126 * t108 * t1127 + 0.5e1 / 0.6e1 * t1131 * t1132 * t371 - 0.5e1 / 0.48e2 * t1136 * t1138 + 0.5e1 / 0.24e2 * t393 * t108 * t1143 + t106 * t1148 / 0.8e1 - t1152 * t1154 / 0.8e1 + t106 * t397 * t1121 / 0.8e1 - t1162 * t1164 / 0.8e1 - t1168 * t405 / 0.8e1 + 0.9e1 / 0.128e3 * t1172 * t1176 - t402 * t1180 / 0.32e2; + const double t1184 = t390 * t1183; + const double t1187 = 0.1e1 / t88; + const double t1188 = t86 * t1187; + const double t1189 = t92 * t1127; + const double t1190 = t1188 * t1189; + const double t1193 = t357 * t378; + const double t1194 = t312 * t86; + const double t1195 = t1194 * t89; + const double t1196 = t1195 * t383; + const double t1199 = t1171 * t112; + const double t1200 = t76 * t1199; + const double t1201 = t371 * t86; + const double t1202 = t1201 * t89; + const double t1203 = t1202 * t383; + const double t1206 = t377 * t389; + const double t1207 = t76 * t1206; + const double t1208 = t380 * t46; + const double t1209 = t404 * t408; + const double t1210 = t1208 * t1209; + const double t1213 = t102 * t75; + const double t1214 = t1213 * t85; + const double t1215 = t359 * t1026; + const double t1218 = t401 * t85; + const double t1219 = t1218 * t360; + const double t1221 = t357 * t84; + const double t1222 = t312 * t371; + const double t1223 = t359 * t1222; + const double t1226 = t312 * t408; + const double t1227 = t390 * t1226; + const double t1230 = t76 * t83; + const double t1231 = t359 * t1147; + const double t1234 = t371 * t408; + const double t1235 = t390 * t1234; + const double t1239 = 0.1e1 / t388 / t111; + const double t1240 = t99 * t1239; + const double t1241 = t408 * t408; + const double t1242 = t1240 * t1241; + const double t1245 = t363 * t378; + const double t1246 = t1245 * t384; + const double t1248 = t92 * t1143; + const double t1249 = t380 * t1248; + const double t1252 = t85 * t791; + const double t1253 = t1252 * t112; + const double t1254 = t76 * t1253; + const double t1255 = t1173 * t1127; + const double t1256 = t1126 * t1255; + const double t1259 = -0.5e1 / 0.32e2 * t358 * t1105 - t1110 - 0.15e2 / 0.16e2 * t1112 + 0.5e1 / 0.16e2 * t1115 - 0.3e1 / 0.32e2 * t366 * t1122 + t387 * t1184 / 0.32e2 + t379 * t1190 / 0.128e3 + 0.15e2 / 0.128e3 * t1193 * t1196 + 0.9e1 / 0.128e3 * t1200 * t1203 - 0.3e1 / 0.128e3 * t1207 * t1210 - 0.5e1 / 0.8e1 * t1214 * t1215 - 0.25e2 / 0.16e2 * t1219 - 0.15e2 / 0.16e2 * t1221 * t1223 + 0.5e1 / 0.16e2 * t358 * t1227 - 0.3e1 / 0.16e2 * t1230 * t1231 + 0.3e1 / 0.16e2 * t366 * t1235 - t387 * t1242 / 0.16e2 + 0.15e2 / 0.128e3 * t1246 + 0.3e1 / 0.256e3 * t379 * t1249 - 0.9e1 / 0.256e3 * t1254 * t1256; + const double t1260 = t66 * t1259; + const double t1263 = t412 * t412; + const double t1265 = t116 * t120; + const double t1268 = t1259 * t120; + const double t1271 = t118 * t116; + const double t1272 = t66 * t1271; + const double t1273 = t1263 * t120; + const double t1276 = 0.77e2 / 0.1458e5 * t67 * t58 * t1071 + t1260 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t66 * t1263 * t1265 - t416 * t1268 / 0.1e3 + t1272 * t1273 / 0.1e3; + const double t1279 = 0.11e3 / 0.2187e4 * t34 * t1072 + 0.19e2 / 0.324e3 * t50 * t51 * t1077 * t62 - 0.43e2 / 0.32e3 * t345 * t346 * t1083 * t62 + 0.27e2 / 0.32e4 * t1091 * t1097 + 0.2e1 * t1100 + 0.2e1 * t123 * t1276; + const double t1282 = t423 * t449; + const double t1285 = -t1259; + const double t1286 = piecewise_functor_3( t132, 0.0, t1285 ); + const double t1288 = t427 * t427; + const double t1292 = t133 * t1288; + const double t1296 = t135 * t1288; + const double t1300 = t137 * t1288; + const double t1304 = t139 * t1288; + const double t1312 = -0.667e0 * t1286 - 0.889111e0 * t1288 - 0.889111e0 * t133 * t1286 - 0.3978519606294e1 * t1292 - 0.1989259803147e1 * t135 * t1286 + 0.1741556453388e2 * t1296 + 0.580518817796e1 * t137 * t1286 - 0.1775996083194e2 * t1300 - 0.4439990207985e1 * t139 * t1286 + 0.703586824437e1 * t1304 + 0.1407173648874e1 * t141 * t1286 - 0.973805419524e0 * t141 * t1288 - 0.162300903254e0 * t143 * t1286; + const double t1313 = t443 * t149; + const double t1314 = 0.1e1 / t1313; + const double t1315 = t445 * t445; + const double t1320 = piecewise_functor_3( t132, t1285, 0.0 ); + const double t1326 = t443 * t443; + const double t1327 = 0.1e1 / t1326; + const double t1332 = piecewise_functor_3( t131, t1312, -0.2e1 * t442 * t1314 * t1315 * t152 - t1325 * t1327 * t1315 * t152 - t442 * t444 * t1320 * t152 ); + const double t1335 = -0.2e1 * t1065 * t1067 + t328 * t1279 * t155 - 0.2e1 * t328 * t1282 - t130 * t1332 + 0.1174e1 * t1332; + const double t1336 = t28 * t1335; + const double t1337 = t1336 * t173; + const double t1340 = t453 * t463; + const double t1341 = t461 * t1340; + const double t1346 = 0.1e1 / t168 / t41 / 0.6e1; + const double t1347 = t159 * t1346; + const double t1348 = t461 * t1347; + const double t1350 = t34 * t1072 * t172; + const double t1354 = 0.1e1 / t36 / t329; + const double t1357 = t162 * t163 * t1354 * t172; + const double t1360 = t3 * t26; + const double t1361 = t1360 * t159; + const double t1362 = 0.1e1 / t37; + const double t1364 = t34 * t172; + const double t1365 = t840 * t1362 * t1364; + const double t1368 = -0.3e1 / 0.8e1 * t1038 * t174 - t1041 / 0.4e1 - 0.3e1 / 0.4e1 * t316 * t454 - 0.33783472665808775022e1 * t1046 * t470 + t1054 - t1057 / 0.4e1 - 0.11261157555269591674e1 * t1061 - 0.3e1 / 0.8e1 * t27 * t1337 - 0.33783472665808775022e1 * t1341 * t470 - 0.20270083599485265013e2 * t1348 * t1350 + 0.39414051443443570859e1 * t465 * t1357 + 0.54992529167845016504e2 * t1361 * t1365; + const double t1369 = piecewise_functor_3( t2, 0.0, t1368 ); + const double t1370 = t184 * t184; + const double t1371 = 0.1e1 / t1370; + const double t1372 = t477 * t477; + const double t1375 = t179 * t1029; + const double t1378 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t309 + 0.2e1 * t1375 ); + const double t1382 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.9e1 * t1371 * t1372 + 0.4e1 / 0.3e1 * t184 * t1378 ); + const double t1383 = t6 * t1382; + const double t1386 = t481 * t485; + const double t1390 = t1050 * t292; + const double t1391 = t1390 * t304; + const double t1393 = t187 * t1391 / 0.12e2; + const double t1394 = t320 * t570; + const double t1395 = t1394 * t304; + const double t1396 = t187 * t1395; + const double t1400 = t325 / t488 / t259; + const double t1401 = t540 * t540; + const double t1402 = t258 * t1401; + const double t1403 = t1402 * t289; + const double t1406 = t1401 * t289; + const double t1409 = t237 * t75; + const double t1410 = t1409 * t224; + const double t1411 = t493 * t1372; + const double t1414 = t522 * t224; + const double t1415 = t1414 * t494; + const double t1417 = t491 * t503; + const double t1418 = t477 * t86; + const double t1419 = t1418 * t227; + const double t1420 = t1419 * t508; + const double t1423 = t477 * t529; + const double t1424 = t515 * t1423; + const double t1427 = t493 * t1378; + const double t1430 = t214 * t103; + const double t1432 = 0.5e1 / 0.8e1 * t1430 * t247; + const double t1433 = t497 * t503; + const double t1434 = t1433 * t509; + const double t1436 = t497 * t224; + const double t1437 = t1436 * t530; + const double t1439 = t224 * t869; + const double t1440 = t1439 * t246; + const double t1441 = t215 * t1440; + const double t1442 = t226 * t225; + const double t1443 = t101 * t1442; + const double t1444 = t507 * t507; + const double t1445 = t1173 * t1444; + const double t1446 = t1443 * t1445; + const double t1449 = t502 * t514; + const double t1450 = t215 * t1449; + const double t1451 = t505 * t46; + const double t1452 = t525 * t529; + const double t1453 = t1451 * t1452; + const double t1456 = 0.1e1 / t226; + const double t1457 = t86 * t1456; + const double t1458 = t92 * t1444; + const double t1459 = t1457 * t1458; + const double t1464 = t1378 * t7 + 0.2e1 * t477; + const double t1465 = t92 * t1464; + const double t1466 = t505 * t1465; + const double t1470 = 0.1e1 / t513 / t245; + const double t1471 = t235 * t1470; + const double t1472 = t529 * t529; + const double t1473 = t1471 * t1472; + const double t1479 = t238 * t223; + const double t1481 = t235 * t1444 * t92; + const double t1487 = t237 * t74; + const double t1488 = t223 * t235; + const double t1489 = t1487 * t1488; + const double t1490 = t507 * t477; + const double t1491 = t92 * t1490; + const double t1494 = t213 * t103; + const double t1495 = t1494 * t223; + const double t1498 = t223 * t501; + const double t1499 = t522 * t1498; + const double t1501 = t1444 * t86 * t227; + const double t1502 = t1173 * t1501; + const double t1505 = t32 * t1464; + const double t1506 = t524 * t1505; + const double t1509 = 0.35e2 / 0.72e2 * t1443 * t242 * t1444 - 0.5e1 / 0.48e2 * t1479 * t1481 + 0.5e1 / 0.24e2 * t518 * t242 * t1464 - t1489 * t1491 / 0.8e1 - t1495 * t526 / 0.8e1 + 0.9e1 / 0.128e3 * t1499 * t1502 - t523 * t1506 / 0.32e2; + const double t1510 = t515 * t1509; + const double t1513 = -0.5e1 / 0.8e1 * t1410 * t1411 - 0.25e2 / 0.16e2 * t1415 + 0.15e2 / 0.128e3 * t1417 * t1420 + 0.5e1 / 0.16e2 * t492 * t1424 - 0.5e1 / 0.32e2 * t492 * t1427 - t1432 + 0.15e2 / 0.128e3 * t1434 + 0.5e1 / 0.16e2 * t1437 - 0.9e1 / 0.256e3 * t1441 * t1446 - 0.3e1 / 0.128e3 * t1450 * t1453 + t504 * t1459 / 0.128e3 + 0.3e1 / 0.256e3 * t504 * t1466 - t512 * t1473 / 0.16e2 + t512 * t1510 / 0.32e2; + const double t1514 = t66 * t1513; + const double t1517 = t533 * t533; + const double t1519 = t250 * t254; + const double t1522 = t1513 * t254; + const double t1525 = t252 * t250; + const double t1526 = t66 * t1525; + const double t1527 = t1517 * t254; + const double t1530 = t1514 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t66 * t1517 * t1519 - t536 * t1522 / 0.1e3 + t1526 * t1527 / 0.1e3; + const double t1531 = t257 * t1530; + const double t1532 = t1531 * t289; + const double t1535 = t541 * t567; + const double t1538 = -t1513; + const double t1539 = piecewise_functor_3( t266, 0.0, t1538 ); + const double t1541 = t546 * t546; + const double t1545 = t267 * t1541; + const double t1549 = t269 * t1541; + const double t1553 = t271 * t1541; + const double t1557 = t273 * t1541; + const double t1565 = -0.667e0 * t1539 - 0.889111e0 * t1541 - 0.889111e0 * t267 * t1539 - 0.3978519606294e1 * t1545 - 0.1989259803147e1 * t269 * t1539 + 0.1741556453388e2 * t1549 + 0.580518817796e1 * t271 * t1539 - 0.1775996083194e2 * t1553 - 0.4439990207985e1 * t273 * t1539 + 0.703586824437e1 * t1557 + 0.1407173648874e1 * t275 * t1539 - 0.973805419524e0 * t275 * t1541 - 0.162300903254e0 * t277 * t1539; + const double t1566 = t561 * t283; + const double t1567 = 0.1e1 / t1566; + const double t1568 = t563 * t563; + const double t1573 = piecewise_functor_3( t266, t1538, 0.0 ); + const double t1577 = t561 * t561; + const double t1578 = 0.1e1 / t1577; + const double t1583 = piecewise_functor_3( t265, t1565, -t1325 * t1578 * t1568 * t286 - 0.2e1 * t442 * t1567 * t1568 * t286 - t442 * t562 * t1573 * t286 ); + const double t1586 = -0.8e1 * t1400 * t1403 + 0.2e1 * t490 * t1406 + 0.2e1 * t490 * t1532 - 0.4e1 * t490 * t1535 - t264 * t1583 + 0.1174e1 * t1583; + const double t1587 = t28 * t1586; + const double t1588 = t1587 * t304; + const double t1592 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t1383 * t305 - t1386 / 0.4e1 - 0.3e1 / 0.4e1 * t481 * t572 + t1393 - t1396 / 0.4e1 - 0.3e1 / 0.8e1 * t187 * t1588 ); + const double t1607 = t584 * t322; + const double t1620 = t320 * t641; + const double t1621 = t1620 * t173; + const double t1622 = t27 * t1621; + const double t1624 = t1065 * t123; + const double t1637 = t1218 * t587; + const double t1643 = t580 * t86; + const double t1644 = t1643 * t89; + const double t1664 = t1245 * t593; + const double t1695 = t1114 * t604; + const double t1731 = t1168 * t600 / 0.8e1; + const double t1756 = t116 * t412 * t120; + const double t1804 = t442 * t1314; + const double t1813 = t1325 * t1327; + const double t1842 = t653 * t485; + const double t1850 = t320 * t749; + const double t1851 = t1850 * t304; + const double t1852 = t187 * t1851; + const double t1862 = t1414 * t680; + const double t1864 = t649 * t86; + const double t1865 = t1864 * t227; + const double t1879 = t491 * t223; + const double t1884 = t497 * t223; + const double t1885 = t1884 * t689; + const double t1887 = t1498 * t246; + const double t1888 = t215 * t1887; + const double t1889 = t688 * t86; + const double t1890 = t1889 * t227; + const double t1903 = t1433 * t695; + const double t1930 = t1436 * t710; + const double t1942 = t241 * t693; + const double t1954 = t518 * t222; + const double t1959 = t222 * t235; + const double t1960 = t522 * t1959; + const double t1961 = t688 * t46; + const double t1970 = t1495 * t706 / 0.8e1; + const double t2040 = t442 * t1567; + const double t2049 = t1325 * t1578; + const double t2064 = t484 * t756; + const double t2065 = t754 * t2064; + const double t2066 = t2065 * t763; + const double t2078 = t580 * t580; + const double t2083 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t309 + 0.2e1 * t1030 ); + const double t2087 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1025 * t2078 + 0.4e1 / 0.3e1 * t24 * t2083 ); + const double t2088 = t6 * t2087; + const double t2095 = t613 * t613; + const double t2096 = t124 * t2095; + const double t2097 = t2096 * t155; + const double t2100 = t2095 * t155; + const double t2103 = t359 * t2078; + const double t2107 = t1644 * t592; + const double t2110 = t580 * t603; + const double t2111 = t390 * t2110; + const double t2114 = t359 * t2083; + const double t2119 = t591 * t591; + const double t2120 = t1173 * t2119; + const double t2121 = t1126 * t2120; + const double t2124 = t599 * t603; + const double t2125 = t1208 * t2124; + const double t2128 = t92 * t2119; + const double t2129 = t1188 * t2128; + const double t2134 = t2083 * t7 + 0.2e1 * t580; + const double t2135 = t92 * t2134; + const double t2136 = t380 * t2135; + const double t2139 = t603 * t603; + const double t2140 = t1240 * t2139; + const double t2147 = t99 * t2119 * t92; + const double t2153 = t591 * t580; + const double t2154 = t92 * t2153; + const double t2158 = t2119 * t86 * t89; + const double t2159 = t1173 * t2158; + const double t2162 = t32 * t2134; + const double t2163 = t403 * t2162; + const double t2166 = 0.35e2 / 0.72e2 * t1126 * t108 * t2119 - 0.5e1 / 0.48e2 * t1136 * t2147 + 0.5e1 / 0.24e2 * t393 * t108 * t2134 - t1162 * t2154 / 0.8e1 - t1731 + 0.9e1 / 0.128e3 * t1172 * t2159 - t402 * t2163 / 0.32e2; + const double t2167 = t390 * t2166; + const double t2170 = -0.5e1 / 0.8e1 * t1214 * t2103 - 0.25e2 / 0.16e2 * t1637 + 0.15e2 / 0.128e3 * t1193 * t2107 + 0.5e1 / 0.16e2 * t358 * t2111 - 0.5e1 / 0.32e2 * t358 * t2114 - t1110 + 0.15e2 / 0.128e3 * t1664 + 0.5e1 / 0.16e2 * t1695 - 0.9e1 / 0.256e3 * t1254 * t2121 - 0.3e1 / 0.128e3 * t1207 * t2125 + t379 * t2129 / 0.128e3 + 0.3e1 / 0.256e3 * t379 * t2136 - t387 * t2140 / 0.16e2 + t387 * t2167 / 0.32e2; + const double t2171 = t66 * t2170; + const double t2174 = t607 * t607; + const double t2175 = t66 * t2174; + const double t2178 = t2170 * t120; + const double t2181 = t2174 * t120; + const double t2184 = t2171 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t2175 * t1265 - t416 * t2178 / 0.1e3 + t1272 * t2181 / 0.1e3; + const double t2185 = t123 * t2184; + const double t2186 = t2185 * t155; + const double t2189 = t614 * t638; + const double t2192 = -t2170; + const double t2193 = piecewise_functor_3( t132, 0.0, t2192 ); + const double t2195 = t619 * t619; + const double t2197 = t133 * t2193; + const double t2199 = t133 * t2195; + const double t2201 = t135 * t2193; + const double t2203 = t135 * t2195; + const double t2205 = t137 * t2193; + const double t2207 = t137 * t2195; + const double t2209 = t139 * t2193; + const double t2211 = t139 * t2195; + const double t2213 = t141 * t2193; + const double t2219 = -0.667e0 * t2193 - 0.889111e0 * t2195 - 0.889111e0 * t2197 - 0.3978519606294e1 * t2199 - 0.1989259803147e1 * t2201 + 0.1741556453388e2 * t2203 + 0.580518817796e1 * t2205 - 0.1775996083194e2 * t2207 - 0.4439990207985e1 * t2209 + 0.703586824437e1 * t2211 + 0.1407173648874e1 * t2213 - 0.973805419524e0 * t141 * t2195 - 0.162300903254e0 * t143 * t2193; + const double t2220 = t634 * t634; + const double t2225 = piecewise_functor_3( t132, t2192, 0.0 ); + const double t2233 = piecewise_functor_3( t131, t2219, -0.2e1 * t442 * t1314 * t2220 * t152 - t1325 * t1327 * t2220 * t152 - t442 * t444 * t2225 * t152 ); + const double t2236 = -0.8e1 * t1065 * t2097 + 0.2e1 * t328 * t2100 + 0.2e1 * t328 * t2186 - 0.4e1 * t328 * t2189 - t130 * t2233 + 0.1174e1 * t2233; + const double t2237 = t28 * t2236; + const double t2238 = t2237 * t173; + const double t2242 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t2088 * t174 - t1607 / 0.4e1 - 0.3e1 / 0.4e1 * t584 * t643 + t1054 - t1622 / 0.4e1 - 0.3e1 / 0.8e1 * t27 * t2238 ); + const double t2243 = t649 * t649; + const double t2248 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t309 + 0.2e1 * t1375 ); + const double t2252 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.9e1 * t1371 * t2243 + 0.4e1 / 0.3e1 * t184 * t2248 ); + const double t2253 = t6 * t2252; + const double t2259 = t460 * t652; + const double t2260 = t2259 * t757; + const double t2265 = t723 * t723; + const double t2266 = t2265 * t289; + const double t2270 = 0.1e1 / t190 / t197; + const double t2271 = sigma_bb * t2270; + const double t2274 = t197 * t656; + const double t2276 = 0.1e1 / t189 / t2274; + const double t2281 = t670 * t188; + const double t2282 = 0.1e1 / t2281; + const double t2287 = t196 * t196; + const double t2288 = t1089 * t2287; + const double t2289 = t670 * t197; + const double t2291 = 0.1e1 / t190 / t2289; + const double t2293 = t33 * t206; + const double t2294 = t2291 * t29 * t2293; + const double t2297 = t720 * t720; + const double t2302 = t493 * t2243; + const double t2305 = t649 * t688; + const double t2306 = t493 * t2305; + const double t2309 = t649 * t709; + const double t2310 = t515 * t2309; + const double t2313 = t215 * t222; + const double t2314 = t688 * t688; + const double t2315 = t493 * t2314; + const double t2318 = t688 * t709; + const double t2319 = t515 * t2318; + const double t2322 = t709 * t709; + const double t2323 = t1471 * t2322; + const double t2329 = t493 * t2248; + const double t2336 = piecewise_functor_3( t221, 0.4e2 / 0.9e1 * tau_b * t658 - 0.11e2 / 0.9e1 * t2271, 0.0 ); + const double t2337 = t493 * t2336; + const double t2340 = t693 * t693; + const double t2348 = t235 * t2340 * t92; + const double t2353 = t2248 * t7 + 0.2e1 * t649; + const double t2357 = t2314 * t241; + const double t2360 = t1961 * t705; + const double t2366 = t693 * t649; + const double t2367 = t92 * t2366; + const double t2371 = t2340 * t86 * t227; + const double t2372 = t1173 * t2371; + const double t2375 = t32 * t2353; + const double t2376 = t524 * t2375; + const double t2379 = 0.35e2 / 0.72e2 * t1443 * t242 * t2340 + 0.5e1 / 0.6e1 * t1954 * t1942 * t688 - 0.5e1 / 0.48e2 * t1479 * t2348 + 0.5e1 / 0.24e2 * t518 * t242 * t2353 + t240 * t2357 / 0.8e1 - t1960 * t2360 / 0.8e1 + t240 * t701 * t2336 / 0.8e1 - t1489 * t2367 / 0.8e1 - t1970 + 0.9e1 / 0.128e3 * t1499 * t2372 - t523 * t2376 / 0.32e2; + const double t2380 = t515 * t2379; + const double t2383 = t1865 * t694; + const double t2386 = t1890 * t694; + const double t2389 = t705 * t709; + const double t2390 = t1451 * t2389; + const double t2393 = t92 * t2340; + const double t2394 = t1457 * t2393; + const double t2398 = t1173 * t2340; + const double t2399 = t1443 * t2398; + const double t2402 = t92 * t2353; + const double t2403 = t505 * t2402; + const double t2406 = -0.5e1 / 0.8e1 * t1410 * t2302 - 0.15e2 / 0.16e2 * t1879 * t2306 + 0.5e1 / 0.16e2 * t492 * t2310 - 0.3e1 / 0.16e2 * t2313 * t2315 + 0.3e1 / 0.16e2 * t683 * t2319 - t512 * t2323 / 0.16e2 - 0.15e2 / 0.16e2 * t1885 + 0.5e1 / 0.16e2 * t1930 - 0.25e2 / 0.16e2 * t1862 - 0.5e1 / 0.32e2 * t492 * t2329 - 0.3e1 / 0.32e2 * t683 * t2337 + t512 * t2380 / 0.32e2 - t1432 + 0.15e2 / 0.128e3 * t1417 * t2383 + 0.9e1 / 0.128e3 * t1888 * t2386 - 0.3e1 / 0.128e3 * t1450 * t2390 + t504 * t2394 / 0.128e3 + 0.15e2 / 0.128e3 * t1903 - 0.9e1 / 0.256e3 * t1441 * t2399 + 0.3e1 / 0.256e3 * t504 * t2403; + const double t2407 = t66 * t2406; + const double t2410 = t713 * t713; + const double t2411 = t66 * t2410; + const double t2414 = t2406 * t254; + const double t2417 = t2410 * t254; + const double t2420 = 0.77e2 / 0.1458e5 * t67 * t202 * t2270 + t2407 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t2411 * t1519 - t536 * t2414 / 0.1e3 + t1526 * t2417 / 0.1e3; + const double t2423 = 0.11e3 / 0.2187e4 * t34 * t2271 + 0.19e2 / 0.324e3 * t50 * t196 * t2276 * t206 - 0.43e2 / 0.32e3 * t345 * t669 * t2282 * t206 + 0.27e2 / 0.32e4 * t2288 * t2294 + 0.2e1 * t2297 + 0.2e1 * t257 * t2420; + const double t2424 = t2423 * t289; + const double t2426 = t723 * t746; + const double t2429 = -t2406; + const double t2430 = piecewise_functor_3( t266, 0.0, t2429 ); + const double t2432 = t727 * t727; + const double t2434 = t267 * t2430; + const double t2436 = t267 * t2432; + const double t2438 = t269 * t2430; + const double t2440 = t269 * t2432; + const double t2442 = t271 * t2430; + const double t2444 = t271 * t2432; + const double t2446 = t273 * t2430; + const double t2448 = t273 * t2432; + const double t2450 = t275 * t2430; + const double t2456 = -0.667e0 * t2430 - 0.889111e0 * t2432 - 0.889111e0 * t2434 - 0.3978519606294e1 * t2436 - 0.1989259803147e1 * t2438 + 0.1741556453388e2 * t2440 + 0.580518817796e1 * t2442 - 0.1775996083194e2 * t2444 - 0.4439990207985e1 * t2446 + 0.703586824437e1 * t2448 + 0.1407173648874e1 * t2450 - 0.973805419524e0 * t275 * t2432 - 0.162300903254e0 * t277 * t2430; + const double t2457 = t742 * t742; + const double t2462 = piecewise_functor_3( t266, t2429, 0.0 ); + const double t2470 = piecewise_functor_3( t265, t2456, -t1325 * t1578 * t2457 * t286 - 0.2e1 * t442 * t1567 * t2457 * t286 - t442 * t562 * t2462 * t286 ); + const double t2473 = -0.2e1 * t1400 * t2266 + t490 * t2424 - 0.2e1 * t490 * t2426 - t264 * t2470 + 0.1174e1 * t2470; + const double t2474 = t28 * t2473; + const double t2475 = t2474 * t304; + const double t2478 = t750 * t756; + const double t2479 = t754 * t2478; + const double t2484 = 0.1e1 / t299 / t194 / 0.6e1; + const double t2485 = t293 * t2484; + const double t2486 = t754 * t2485; + const double t2488 = t34 * t2271 * t303; + const double t2492 = 0.1e1 / t189 / t656; + const double t2495 = t162 * t294 * t2492 * t303; + const double t2498 = t3 * t186; + const double t2499 = t2498 * t293; + const double t2500 = 0.1e1 / t190; + const double t2502 = t34 * t303; + const double t2503 = t918 * t2500 * t2502; + const double t2506 = -0.3e1 / 0.8e1 * t2253 * t305 - t1842 / 0.4e1 - 0.3e1 / 0.4e1 * t653 * t751 - 0.33783472665808775022e1 * t2260 * t763 + t1393 - t1852 / 0.4e1 - 0.11261157555269591674e1 * t2066 - 0.3e1 / 0.8e1 * t187 * t2475 - 0.33783472665808775022e1 * t2479 * t763 - 0.20270083599485265013e2 * t2486 * t2488 + 0.39414051443443570859e1 * t758 * t2495 + 0.54992529167845016504e2 * t2499 * t2503; + const double t2507 = piecewise_functor_3( t178, 0.0, t2506 ); + const double t2512 = t320 * t835; + const double t2513 = t2512 * t173; + const double t2515 = t27 * t2513 / 0.8e1; + const double t2516 = t810 * t423; + const double t2529 = t1089 * t346; + const double t2530 = t347 * t329; + const double t2532 = 0.1e1 / t37 / t2530; + const double t2534 = t2532 * t29 * t1096; + const double t2539 = t33 * t331; + const double t2542 = t785 * t312; + const double t2543 = t359 * t2542; + const double t2547 = 0.15e2 / 0.32e2 * t1111 * t786; + const double t2548 = t785 * t371; + const double t2549 = t359 * t2548; + const double t2552 = t785 * t86; + const double t2553 = t2552 * t89; + const double t2554 = t2553 * t383; + const double t2557 = t785 * t408; + const double t2558 = t390 * t2557; + const double t2562 = piecewise_functor_3( t82, t331 / 0.3e1, 0.0 ); + const double t2563 = t359 * t2562; + const double t2566 = t357 * t792; + const double t2567 = t795 * t312; + const double t2568 = t794 * t2567; + const double t2571 = t363 * t792; + const double t2573 = 0.5e1 / 0.256e3 * t2571 * t796; + const double t2574 = t76 * t1252; + const double t2575 = t795 * t371; + const double t2576 = t794 * t2575; + const double t2579 = t71 * t71; + const double t2580 = t2579 * t20; + const double t2581 = t74 * t74; + const double t2582 = t2581 * t7; + const double t2583 = t2580 * t2582; + const double t2585 = 0.1e1 / t375 / t97; + const double t2586 = t789 * t2585; + const double t2587 = t2583 * t2586; + const double t2588 = t389 * t785; + const double t2589 = t2588 * t383; + const double t2592 = t1239 * t101; + const double t2593 = t795 * t408; + const double t2594 = t2592 * t2593; + const double t2597 = t392 * t785; + const double t2598 = t2597 * t382; + const double t2599 = t794 * t2598; + const double t2602 = t105 * t2562; + const double t2603 = t794 * t2602; + const double t2606 = -0.15e2 / 0.32e2 * t1221 * t2543 - t2547 - 0.3e1 / 0.16e2 * t1230 * t2549 + 0.9e1 / 0.256e3 * t1200 * t2554 + 0.3e1 / 0.32e2 * t366 * t2558 - 0.3e1 / 0.32e2 * t366 * t2563 + 0.5e1 / 0.256e3 * t2566 * t2568 + t2573 + t2574 * t2576 / 0.64e2 - 0.5e1 / 0.1024e4 * t2587 * t2589 - t793 * t2594 / 0.128e3 + 0.5e1 / 0.384e3 * t793 * t2599 + t793 * t2603 / 0.256e3; + const double t2607 = t66 * t2606; + const double t2612 = t2606 * t120; + const double t2616 = t799 * t412 * t120; + const double t2619 = -0.7e1 / 0.486e4 * t67 * t2539 + t2607 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t800 * t1756 - t416 * t2612 / 0.1e3 + t1272 * t2616 / 0.1e3; + const double t2622 = -0.1e2 / 0.729e3 * t34 * t331 - t50 * sigma_aa * t337 * t62 / 0.54e2 + 0.3e1 / 0.64e2 * t345 * t51 * t349 * t62 - 0.81e2 / 0.256e5 * t2529 * t2534 + 0.2e1 * t420 * t806 + 0.2e1 * t123 * t2619; + const double t2623 = t2622 * t155; + const double t2625 = t809 * t449; + const double t2627 = t423 * t832; + const double t2629 = -t2606; + const double t2630 = piecewise_functor_3( t132, 0.0, t2629 ); + const double t2632 = t427 * t813; + const double t2634 = t133 * t2630; + const double t2638 = t135 * t2630; + const double t2642 = t137 * t2630; + const double t2646 = t139 * t2630; + const double t2650 = t141 * t2630; + const double t2656 = -0.667e0 * t2630 - 0.889111e0 * t2632 - 0.889111e0 * t2634 - 0.3978519606294e1 * t815 * t427 - 0.1989259803147e1 * t2638 + 0.1741556453388e2 * t817 * t427 + 0.580518817796e1 * t2642 - 0.1775996083194e2 * t819 * t427 - 0.4439990207985e1 * t2646 + 0.703586824437e1 * t821 * t427 + 0.1407173648874e1 * t2650 - 0.973805419524e0 * t823 * t427 - 0.162300903254e0 * t143 * t2630; + const double t2657 = t828 * t152; + const double t2658 = t2657 * t445; + const double t2661 = piecewise_functor_3( t132, t2629, 0.0 ); + const double t2667 = piecewise_functor_3( t131, t2656, -t442 * t444 * t2661 * t152 - 0.2e1 * t1804 * t2658 - t1813 * t2658 ); + const double t2670 = -0.2e1 * t1065 * t2516 + t328 * t2623 - t328 * t2625 - t328 * t2627 - t130 * t2667 + 0.1174e1 * t2667; + const double t2671 = t28 * t2670; + const double t2672 = t2671 * t173; + const double t2675 = t836 * t463; + const double t2676 = t461 * t2675; + const double t2682 = 0.21114670416130484389e0 * t1060 * t843; + const double t2685 = t461 * t159; + const double t2686 = t1346 * t29; + const double t2688 = t2686 * t2539 * t172; + const double t2693 = t162 * t840 * t467 * t172; + const double t2696 = t163 * sigma_aa; + const double t2697 = 0.1e1 / t2696; + const double t2699 = t2697 * t36 * t1364; + const double t2703 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t316 * t837 - t2515 - 0.3e1 / 0.8e1 * t27 * t2672 - 0.16891736332904387511e1 * t2676 * t470 + 0.63344011248391453166e0 * t1046 * t843 + t2682 + 0.63344011248391453166e0 * t1341 * t843 + 0.76012813498069743799e1 * t2685 * t2688 - 0.84458681664521937554e0 * t465 * t2693 - 0.20622198437941881189e2 * t1361 * t2699 ); + const double t2707 = t320 * t913; + const double t2708 = t2707 * t304; + const double t2710 = t187 * t2708 / 0.8e1; + const double t2720 = 0.15e2 / 0.32e2 * t1884 * t864; + const double t2721 = t863 * t86; + const double t2722 = t2721 * t227; + const double t2730 = t491 * t870; + const double t2735 = t497 * t870; + const double t2737 = 0.5e1 / 0.256e3 * t2735 * t874; + const double t2738 = t213 * t213; + const double t2739 = t2738 * t182; + const double t2740 = t2739 * t2582; + const double t2742 = 0.1e1 / t500 / t233; + const double t2743 = t867 * t2742; + const double t2744 = t2740 * t2743; + const double t2745 = t514 * t863; + const double t2749 = t1470 * t101; + const double t2754 = t517 * t863; + const double t2811 = t906 * t286; + const double t2832 = 0.21114670416130484389e0 * t2065 * t921; + const double t2950 = t888 * t723; + const double t2963 = t1089 * t669; + const double t2964 = t670 * t656; + const double t2966 = 0.1e1 / t190 / t2964; + const double t2968 = t2966 * t29 * t2293; + const double t2973 = t33 * t658; + const double t2976 = t863 * t649; + const double t2977 = t493 * t2976; + const double t2980 = t863 * t688; + const double t2981 = t493 * t2980; + const double t2984 = t2722 * t694; + const double t2987 = t863 * t709; + const double t2988 = t515 * t2987; + const double t2992 = piecewise_functor_3( t221, t658 / 0.3e1, 0.0 ); + const double t2993 = t493 * t2992; + const double t2996 = t873 * t649; + const double t2997 = t872 * t2996; + const double t3000 = t215 * t1439; + const double t3001 = t873 * t688; + const double t3002 = t872 * t3001; + const double t3005 = t2745 * t694; + const double t3008 = t873 * t709; + const double t3009 = t2749 * t3008; + const double t3012 = t2754 * t693; + const double t3013 = t872 * t3012; + const double t3016 = t239 * t2992; + const double t3017 = t872 * t3016; + const double t3020 = -0.15e2 / 0.32e2 * t1879 * t2977 - t2720 - 0.3e1 / 0.16e2 * t2313 * t2981 + 0.9e1 / 0.256e3 * t1888 * t2984 + 0.3e1 / 0.32e2 * t683 * t2988 - 0.3e1 / 0.32e2 * t683 * t2993 + 0.5e1 / 0.256e3 * t2730 * t2997 + t2737 + t3000 * t3002 / 0.64e2 - 0.5e1 / 0.1024e4 * t2744 * t3005 - t871 * t3009 / 0.128e3 + 0.5e1 / 0.384e3 * t871 * t3013 + t871 * t3017 / 0.256e3; + const double t3021 = t66 * t3020; + const double t3025 = t250 * t713 * t254; + const double t3028 = t3020 * t254; + const double t3031 = t877 * t713; + const double t3032 = t3031 * t254; + const double t3035 = -0.7e1 / 0.486e4 * t67 * t2973 + t3021 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t878 * t3025 - t536 * t3028 / 0.1e3 + t1526 * t3032 / 0.1e3; + const double t3038 = -0.1e2 / 0.729e3 * t34 * t658 - t50 * sigma_bb * t664 * t206 / 0.54e2 + 0.3e1 / 0.64e2 * t345 * t196 * t672 * t206 - 0.81e2 / 0.256e5 * t2963 * t2968 + 0.2e1 * t720 * t884 + 0.2e1 * t257 * t3035; + const double t3039 = t3038 * t289; + const double t3041 = t887 * t746; + const double t3043 = t723 * t910; + const double t3045 = -t3020; + const double t3046 = piecewise_functor_3( t266, 0.0, t3045 ); + const double t3048 = t727 * t891; + const double t3050 = t267 * t3046; + const double t3054 = t269 * t3046; + const double t3058 = t271 * t3046; + const double t3062 = t273 * t3046; + const double t3066 = t275 * t3046; + const double t3072 = -0.667e0 * t3046 - 0.889111e0 * t3048 - 0.889111e0 * t3050 - 0.3978519606294e1 * t893 * t727 - 0.1989259803147e1 * t3054 + 0.1741556453388e2 * t895 * t727 + 0.580518817796e1 * t3058 - 0.1775996083194e2 * t897 * t727 - 0.4439990207985e1 * t3062 + 0.703586824437e1 * t899 * t727 + 0.1407173648874e1 * t3066 - 0.973805419524e0 * t901 * t727 - 0.162300903254e0 * t277 * t3046; + const double t3073 = t2811 * t742; + const double t3076 = piecewise_functor_3( t266, t3045, 0.0 ); + const double t3082 = piecewise_functor_3( t265, t3072, -t442 * t562 * t3076 * t286 - 0.2e1 * t2040 * t3073 - t2049 * t3073 ); + const double t3085 = -0.2e1 * t1400 * t2950 + t490 * t3039 - t490 * t3041 - t490 * t3043 - t264 * t3082 + 0.1174e1 * t3082; + const double t3086 = t28 * t3085; + const double t3087 = t3086 * t304; + const double t3090 = t914 * t756; + const double t3091 = t754 * t3090; + const double t3098 = t754 * t293; + const double t3099 = t2484 * t29; + const double t3101 = t3099 * t2973 * t303; + const double t3106 = t162 * t918 * t760 * t303; + const double t3109 = t294 * sigma_bb; + const double t3110 = 0.1e1 / t3109; + const double t3112 = t3110 * t189 * t2502; + const double t3116 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t653 * t915 - t2710 - 0.3e1 / 0.8e1 * t187 * t3087 - 0.16891736332904387511e1 * t3091 * t763 + 0.63344011248391453166e0 * t2260 * t921 + t2832 + 0.63344011248391453166e0 * t2479 * t921 + 0.76012813498069743799e1 * t3098 * t3101 - 0.84458681664521937554e0 * t758 * t3106 - 0.20622198437941881189e2 * t2499 * t3112 ); + const double t3120 = t320 * t968; + const double t3121 = t3120 * t173; + const double t3123 = t27 * t3121 / 0.8e1; + const double t3124 = t940 * t155; + const double t3125 = t3124 * t423; + const double t3128 = t420 * t940; + const double t3132 = t926 * t312; + const double t3133 = t359 * t3132; + const double t3137 = 0.15e2 / 0.32e2 * t1111 * t927; + const double t3138 = t926 * t371; + const double t3139 = t359 * t3138; + const double t3142 = t926 * t86; + const double t3143 = t3142 * t89; + const double t3144 = t3143 * t383; + const double t3147 = t926 * t408; + const double t3148 = t390 * t3147; + const double t3152 = piecewise_functor_3( t82, -0.5e1 / 0.3e1 * t39, 0.0 ); + const double t3153 = t359 * t3152; + const double t3157 = t794 * t930 * t312; + const double t3161 = 0.5e1 / 0.256e3 * t2571 * t931; + const double t3163 = t794 * t930 * t371; + const double t3166 = t389 * t926; + const double t3167 = t3166 * t383; + const double t3171 = t2592 * t930 * t408; + const double t3174 = t392 * t926; + const double t3176 = t794 * t3174 * t382; + const double t3179 = t105 * t3152; + const double t3180 = t794 * t3179; + const double t3183 = -0.15e2 / 0.32e2 * t1221 * t3133 - t3137 - 0.3e1 / 0.16e2 * t1230 * t3139 + 0.9e1 / 0.256e3 * t1200 * t3144 + 0.3e1 / 0.32e2 * t366 * t3148 - 0.3e1 / 0.32e2 * t366 * t3153 + 0.5e1 / 0.256e3 * t2566 * t3157 + t3161 + t2574 * t3163 / 0.64e2 - 0.5e1 / 0.1024e4 * t2587 * t3167 - t793 * t3171 / 0.128e3 + 0.5e1 / 0.384e3 * t793 * t3176 + t793 * t3180 / 0.256e3; + const double t3184 = t66 * t3183; + const double t3189 = t3183 * t120; + const double t3193 = t934 * t412 * t120; + const double t3196 = t3184 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t935 * t1756 - t416 * t3189 / 0.1e3 + t1272 * t3193 / 0.1e3; + const double t3197 = t123 * t3196; + const double t3204 = t423 * t965; + const double t3206 = -t3183; + const double t3207 = piecewise_functor_3( t132, 0.0, t3206 ); + const double t3209 = t427 * t946; + const double t3211 = t133 * t3207; + const double t3215 = t135 * t3207; + const double t3219 = t137 * t3207; + const double t3223 = t139 * t3207; + const double t3227 = t141 * t3207; + const double t3233 = -0.667e0 * t3207 - 0.889111e0 * t3209 - 0.889111e0 * t3211 - 0.3978519606294e1 * t948 * t427 - 0.1989259803147e1 * t3215 + 0.1741556453388e2 * t950 * t427 + 0.580518817796e1 * t3219 - 0.1775996083194e2 * t952 * t427 - 0.4439990207985e1 * t3223 + 0.703586824437e1 * t954 * t427 + 0.1407173648874e1 * t3227 - 0.973805419524e0 * t956 * t427 - 0.162300903254e0 * t143 * t3207; + const double t3234 = t961 * t152; + const double t3235 = t3234 * t445; + const double t3238 = piecewise_functor_3( t132, t3206, 0.0 ); + const double t3244 = piecewise_functor_3( t131, t3233, -t442 * t444 * t3238 * t152 - 0.2e1 * t1804 * t3235 - t1813 * t3235 ); + const double t3247 = -0.4e1 * t1624 * t3125 + 0.2e1 * t328 * t3128 * t155 + 0.2e1 * t328 * t3197 * t155 - 0.2e1 * t328 * t941 * t449 - t328 * t3204 - t130 * t3244 + 0.1174e1 * t3244; + const double t3248 = t28 * t3247; + const double t3249 = t3248 * t173; + const double t3252 = t969 * t463; + const double t3253 = t461 * t3252; + const double t3257 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t316 * t970 - t3123 - 0.3e1 / 0.8e1 * t27 * t3249 - 0.16891736332904387511e1 * t3253 * t470 ); + const double t3261 = t320 * t1016; + const double t3262 = t3261 * t304; + const double t3264 = t187 * t3262 / 0.8e1; + const double t3266 = t988 * t289; + const double t3277 = 0.15e2 / 0.32e2 * t1884 * t975; + const double t3278 = t974 * t86; + const double t3279 = t3278 * t227; + const double t3292 = 0.5e1 / 0.256e3 * t2735 * t979; + const double t3293 = t514 * t974; + const double t3301 = t517 * t974; + const double t3358 = t1009 * t286; + const double t3487 = t1400 * t257; + const double t3488 = t3266 * t723; + const double t3491 = t720 * t988; + const double t3495 = t974 * t649; + const double t3496 = t493 * t3495; + const double t3499 = t974 * t688; + const double t3500 = t493 * t3499; + const double t3503 = t3279 * t694; + const double t3506 = t974 * t709; + const double t3507 = t515 * t3506; + const double t3511 = piecewise_functor_3( t221, -0.5e1 / 0.3e1 * t192, 0.0 ); + const double t3512 = t493 * t3511; + const double t3516 = t872 * t978 * t649; + const double t3520 = t872 * t978 * t688; + const double t3523 = t3293 * t694; + const double t3527 = t2749 * t978 * t709; + const double t3531 = t872 * t3301 * t693; + const double t3534 = t239 * t3511; + const double t3535 = t872 * t3534; + const double t3538 = -0.15e2 / 0.32e2 * t1879 * t3496 - t3277 - 0.3e1 / 0.16e2 * t2313 * t3500 + 0.9e1 / 0.256e3 * t1888 * t3503 + 0.3e1 / 0.32e2 * t683 * t3507 - 0.3e1 / 0.32e2 * t683 * t3512 + 0.5e1 / 0.256e3 * t2730 * t3516 + t3292 + t3000 * t3520 / 0.64e2 - 0.5e1 / 0.1024e4 * t2744 * t3523 - t871 * t3527 / 0.128e3 + 0.5e1 / 0.384e3 * t871 * t3531 + t871 * t3535 / 0.256e3; + const double t3539 = t66 * t3538; + const double t3544 = t3538 * t254; + const double t3548 = t982 * t713 * t254; + const double t3551 = t3539 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t983 * t3025 - t536 * t3544 / 0.1e3 + t1526 * t3548 / 0.1e3; + const double t3552 = t257 * t3551; + const double t3559 = t723 * t1013; + const double t3561 = -t3538; + const double t3562 = piecewise_functor_3( t266, 0.0, t3561 ); + const double t3564 = t727 * t994; + const double t3566 = t267 * t3562; + const double t3570 = t269 * t3562; + const double t3574 = t271 * t3562; + const double t3578 = t273 * t3562; + const double t3582 = t275 * t3562; + const double t3588 = -0.667e0 * t3562 - 0.889111e0 * t3564 - 0.889111e0 * t3566 - 0.3978519606294e1 * t996 * t727 - 0.1989259803147e1 * t3570 + 0.1741556453388e2 * t998 * t727 + 0.580518817796e1 * t3574 - 0.1775996083194e2 * t1000 * t727 - 0.4439990207985e1 * t3578 + 0.703586824437e1 * t1002 * t727 + 0.1407173648874e1 * t3582 - 0.973805419524e0 * t1004 * t727 - 0.162300903254e0 * t277 * t3562; + const double t3589 = t3358 * t742; + const double t3592 = piecewise_functor_3( t266, t3561, 0.0 ); + const double t3598 = piecewise_functor_3( t265, t3588, -t442 * t562 * t3592 * t286 - 0.2e1 * t2040 * t3589 - t2049 * t3589 ); + const double t3601 = -0.4e1 * t3487 * t3488 + 0.2e1 * t490 * t3491 * t289 + 0.2e1 * t490 * t3552 * t289 - 0.2e1 * t490 * t989 * t746 - t490 * t3559 - t264 * t3598 + 0.1174e1 * t3598; + const double t3602 = t28 * t3601; + const double t3603 = t3602 * t304; + const double t3606 = t1017 * t756; + const double t3607 = t754 * t3606; + const double t3611 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t653 * t1018 - t3264 - 0.3e1 / 0.8e1 * t187 * t3603 - 0.16891736332904387511e1 * t3607 * t763 ); + const double t3613 = t809 * t809; + const double t3614 = t3613 * t155; + const double t3625 = t1089 * t51; + const double t3627 = 0.1e1 / t37 / t1082; + const double t3629 = t3627 * t29 * t1096; + const double t3632 = t806 * t806; + const double t3634 = t785 * t785; + const double t3635 = t359 * t3634; + const double t3638 = t389 * t3634; + const double t3639 = t3638 * t106; + const double t3642 = piecewise_functor_3( t82, 0.0, 0.0 ); + const double t3643 = t359 * t3642; + const double t3645 = 0.3e1 / 0.32e2 * t366 * t3643; + const double t3646 = t789 * t83; + const double t3648 = 0.1e1 / t375 / t98; + const double t3649 = t3646 * t3648; + const double t3650 = t76 * t3649; + const double t3651 = t1239 * t86; + const double t3652 = t71 * t70; + const double t3653 = t74 * t73; + const double t3654 = t3652 * t3653; + const double t3655 = t89 * t3654; + const double t3656 = t3655 * t3634; + const double t3657 = t3651 * t3656; + const double t3660 = t105 * t3642; + const double t3661 = t794 * t3660; + const double t3663 = t793 * t3661 / 0.256e3; + const double t3664 = -0.3e1 / 0.16e2 * t1230 * t3635 + 0.7e1 / 0.256e3 * t2574 * t3639 - t3645 - t3650 * t3657 / 0.512e3 + t3663; + const double t3665 = t66 * t3664; + const double t3668 = t799 * t799; + const double t3669 = t66 * t3668; + const double t3672 = t3664 * t120; + const double t3675 = t3668 * t120; + const double t3678 = t3665 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t3669 * t1265 - t416 * t3672 / 0.1e3 + t1272 * t3675 / 0.1e3; + const double t3681 = t47 * t49 * t55 * t62 / 0.288e3 - 0.9e1 / 0.64e3 * t345 * sigma_aa * t776 * t62 + 0.243e3 / 0.2048e6 * t3625 * t3629 + 0.2e1 * t3632 + 0.2e1 * t123 * t3678; + const double t3682 = t3681 * t155; + const double t3684 = t809 * t832; + const double t3687 = -t3664; + const double t3688 = piecewise_functor_3( t132, 0.0, t3687 ); + const double t3690 = t813 * t813; + const double t3692 = t133 * t3688; + const double t3694 = t133 * t3690; + const double t3696 = t135 * t3688; + const double t3698 = t135 * t3690; + const double t3700 = t137 * t3688; + const double t3702 = t137 * t3690; + const double t3704 = t139 * t3688; + const double t3706 = t139 * t3690; + const double t3708 = t141 * t3688; + const double t3714 = -0.667e0 * t3688 - 0.889111e0 * t3690 - 0.889111e0 * t3692 - 0.3978519606294e1 * t3694 - 0.1989259803147e1 * t3696 + 0.1741556453388e2 * t3698 + 0.580518817796e1 * t3700 - 0.1775996083194e2 * t3702 - 0.4439990207985e1 * t3704 + 0.703586824437e1 * t3706 + 0.1407173648874e1 * t3708 - 0.973805419524e0 * t141 * t3690 - 0.162300903254e0 * t143 * t3688; + const double t3715 = t828 * t828; + const double t3720 = piecewise_functor_3( t132, t3687, 0.0 ); + const double t3728 = piecewise_functor_3( t131, t3714, -0.2e1 * t442 * t1314 * t3715 * t152 - t1325 * t1327 * t3715 * t152 - t442 * t444 * t3720 * t152 ); + const double t3731 = -0.2e1 * t1065 * t3614 + t328 * t3682 - 0.2e1 * t328 * t3684 - t130 * t3728 + 0.1174e1 * t3728; + const double t3732 = t28 * t3731; + const double t3733 = t3732 * t173; + const double t3738 = 0.1e1 / sigma_aa; + const double t3741 = t34 * t3738 * t39 * t172; + const double t3746 = t162 * t2697 * t165 * t172; + const double t3750 = 0.1e1 / t163 / t51; + const double t3752 = t3750 * t164 * t1364; + const double t3756 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3733 + 0.12668802249678290633e1 * t2676 * t843 - 0.28504805061776153925e1 * t1348 * t3741 - 0.31672005624195726583e0 * t465 * t3746 + 0.77333244142282054459e1 * t1361 * t3752 ); + const double t3757 = t887 * t887; + const double t3758 = t3757 * t289; + const double t3769 = t1089 * t196; + const double t3771 = 0.1e1 / t190 / t2281; + const double t3773 = t3771 * t29 * t2293; + const double t3776 = t884 * t884; + const double t3778 = t863 * t863; + const double t3779 = t493 * t3778; + const double t3782 = t514 * t3778; + const double t3783 = t3782 * t240; + const double t3786 = piecewise_functor_3( t221, 0.0, 0.0 ); + const double t3787 = t493 * t3786; + const double t3789 = 0.3e1 / 0.32e2 * t683 * t3787; + const double t3790 = t867 * t222; + const double t3792 = 0.1e1 / t500 / t234; + const double t3793 = t3790 * t3792; + const double t3794 = t215 * t3793; + const double t3795 = t1470 * t86; + const double t3796 = t213 * t212; + const double t3797 = t3796 * t3653; + const double t3798 = t227 * t3797; + const double t3799 = t3798 * t3778; + const double t3800 = t3795 * t3799; + const double t3803 = t239 * t3786; + const double t3804 = t872 * t3803; + const double t3806 = t871 * t3804 / 0.256e3; + const double t3807 = -0.3e1 / 0.16e2 * t2313 * t3779 + 0.7e1 / 0.256e3 * t3000 * t3783 - t3789 - t3794 * t3800 / 0.512e3 + t3806; + const double t3808 = t66 * t3807; + const double t3811 = t877 * t877; + const double t3812 = t66 * t3811; + const double t3815 = t3807 * t254; + const double t3818 = t3811 * t254; + const double t3821 = t3808 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t3812 * t1519 - t536 * t3815 / 0.1e3 + t1526 * t3818 / 0.1e3; + const double t3824 = t47 * t49 * t200 * t206 / 0.288e3 - 0.9e1 / 0.64e3 * t345 * sigma_bb * t854 * t206 + 0.243e3 / 0.2048e6 * t3769 * t3773 + 0.2e1 * t3776 + 0.2e1 * t257 * t3821; + const double t3825 = t3824 * t289; + const double t3827 = t887 * t910; + const double t3830 = -t3807; + const double t3831 = piecewise_functor_3( t266, 0.0, t3830 ); + const double t3833 = t891 * t891; + const double t3835 = t267 * t3831; + const double t3837 = t267 * t3833; + const double t3839 = t269 * t3831; + const double t3841 = t269 * t3833; + const double t3843 = t271 * t3831; + const double t3845 = t271 * t3833; + const double t3847 = t273 * t3831; + const double t3849 = t273 * t3833; + const double t3851 = t275 * t3831; + const double t3857 = -0.667e0 * t3831 - 0.889111e0 * t3833 - 0.889111e0 * t3835 - 0.3978519606294e1 * t3837 - 0.1989259803147e1 * t3839 + 0.1741556453388e2 * t3841 + 0.580518817796e1 * t3843 - 0.1775996083194e2 * t3845 - 0.4439990207985e1 * t3847 + 0.703586824437e1 * t3849 + 0.1407173648874e1 * t3851 - 0.973805419524e0 * t275 * t3833 - 0.162300903254e0 * t277 * t3831; + const double t3858 = t906 * t906; + const double t3863 = piecewise_functor_3( t266, t3830, 0.0 ); + const double t3871 = piecewise_functor_3( t265, t3857, -t1325 * t1578 * t3858 * t286 - 0.2e1 * t442 * t1567 * t3858 * t286 - t442 * t562 * t3863 * t286 ); + const double t3874 = -0.2e1 * t1400 * t3758 + t490 * t3825 - 0.2e1 * t490 * t3827 - t264 * t3871 + 0.1174e1 * t3871; + const double t3875 = t28 * t3874; + const double t3876 = t3875 * t304; + const double t3881 = 0.1e1 / sigma_bb; + const double t3884 = t34 * t3881 * t192 * t303; + const double t3889 = t162 * t3110 * t296 * t303; + const double t3893 = 0.1e1 / t294 / t196; + const double t3895 = t3893 * t295 * t2502; + const double t3899 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t3876 + 0.12668802249678290633e1 * t3091 * t921 - 0.28504805061776153925e1 * t2486 * t3884 - 0.31672005624195726583e0 * t758 * t3889 + 0.77333244142282054459e1 * t2499 * t3895 ); + const double t3900 = t3124 * t809; + const double t3903 = t806 * t940; + const double t3907 = t926 * t785; + const double t3908 = t359 * t3907; + const double t3911 = t106 * t785; + const double t3912 = t3166 * t3911; + const double t3915 = t3655 * t926; + const double t3917 = t3651 * t3915 * t785; + const double t3920 = -0.3e1 / 0.16e2 * t1230 * t3908 + 0.7e1 / 0.256e3 * t2574 * t3912 - t3645 - t3650 * t3917 / 0.512e3 + t3663; + const double t3921 = t66 * t3920; + const double t3924 = t116 * t799; + const double t3925 = t3924 * t120; + const double t3928 = t3920 * t120; + const double t3932 = t934 * t799 * t120; + const double t3935 = t3921 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t935 * t3925 - t416 * t3928 / 0.1e3 + t1272 * t3932 / 0.1e3; + const double t3936 = t123 * t3935; + const double t3943 = t809 * t965; + const double t3945 = -t3920; + const double t3946 = piecewise_functor_3( t132, 0.0, t3945 ); + const double t3948 = t813 * t946; + const double t3950 = t133 * t3946; + const double t3954 = t135 * t3946; + const double t3958 = t137 * t3946; + const double t3962 = t139 * t3946; + const double t3966 = t141 * t3946; + const double t3972 = -0.667e0 * t3946 - 0.889111e0 * t3948 - 0.889111e0 * t3950 - 0.3978519606294e1 * t948 * t813 - 0.1989259803147e1 * t3954 + 0.1741556453388e2 * t950 * t813 + 0.580518817796e1 * t3958 - 0.1775996083194e2 * t952 * t813 - 0.4439990207985e1 * t3962 + 0.703586824437e1 * t954 * t813 + 0.1407173648874e1 * t3966 - 0.973805419524e0 * t956 * t813 - 0.162300903254e0 * t143 * t3946; + const double t3973 = t3234 * t828; + const double t3976 = piecewise_functor_3( t132, t3945, 0.0 ); + const double t3982 = piecewise_functor_3( t131, t3972, -t442 * t444 * t3976 * t152 - 0.2e1 * t1804 * t3973 - t1813 * t3973 ); + const double t3985 = -0.4e1 * t1624 * t3900 + 0.2e1 * t328 * t3903 * t155 + 0.2e1 * t328 * t3936 * t155 - 0.2e1 * t328 * t941 * t832 - t328 * t3943 - t130 * t3982 + 0.1174e1 * t3982; + const double t3986 = t28 * t3985; + const double t3987 = t3986 * t173; + const double t3993 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3987 + 0.63344011248391453166e0 * t3253 * t843 ); + const double t3994 = t3266 * t887; + const double t3997 = t884 * t988; + const double t4001 = t974 * t863; + const double t4002 = t493 * t4001; + const double t4005 = t240 * t863; + const double t4006 = t3293 * t4005; + const double t4009 = t3798 * t974; + const double t4011 = t3795 * t4009 * t863; + const double t4014 = -0.3e1 / 0.16e2 * t2313 * t4002 + 0.7e1 / 0.256e3 * t3000 * t4006 - t3789 - t3794 * t4011 / 0.512e3 + t3806; + const double t4015 = t66 * t4014; + const double t4018 = t250 * t877; + const double t4019 = t4018 * t254; + const double t4022 = t4014 * t254; + const double t4026 = t982 * t877 * t254; + const double t4029 = t4015 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t983 * t4019 - t536 * t4022 / 0.1e3 + t1526 * t4026 / 0.1e3; + const double t4030 = t257 * t4029; + const double t4037 = t887 * t1013; + const double t4039 = -t4014; + const double t4040 = piecewise_functor_3( t266, 0.0, t4039 ); + const double t4042 = t891 * t994; + const double t4044 = t267 * t4040; + const double t4048 = t269 * t4040; + const double t4052 = t271 * t4040; + const double t4056 = t273 * t4040; + const double t4060 = t275 * t4040; + const double t4066 = -0.667e0 * t4040 - 0.889111e0 * t4042 - 0.889111e0 * t4044 - 0.3978519606294e1 * t996 * t891 - 0.1989259803147e1 * t4048 + 0.1741556453388e2 * t998 * t891 + 0.580518817796e1 * t4052 - 0.1775996083194e2 * t1000 * t891 - 0.4439990207985e1 * t4056 + 0.703586824437e1 * t1002 * t891 + 0.1407173648874e1 * t4060 - 0.973805419524e0 * t1004 * t891 - 0.162300903254e0 * t277 * t4040; + const double t4067 = t3358 * t906; + const double t4070 = piecewise_functor_3( t266, t4039, 0.0 ); + const double t4076 = piecewise_functor_3( t265, t4066, -t442 * t562 * t4070 * t286 - 0.2e1 * t2040 * t4067 - t2049 * t4067 ); + const double t4079 = -0.4e1 * t3487 * t3994 + 0.2e1 * t490 * t3997 * t289 + 0.2e1 * t490 * t4030 * t289 - 0.2e1 * t490 * t989 * t910 - t490 * t4037 - t264 * t4076 + 0.1174e1 * t4076; + const double t4080 = t28 * t4079; + const double t4081 = t4080 * t304; + const double t4087 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t4081 + 0.63344011248391453166e0 * t3607 * t921 ); + const double t4088 = t940 * t940; + const double t4089 = t124 * t4088; + const double t4093 = t4088 * t155; + const double t4096 = t926 * t926; + const double t4097 = t359 * t4096; + const double t4100 = t389 * t4096; + const double t4101 = t4100 * t106; + const double t4104 = t3655 * t4096; + const double t4105 = t3651 * t4104; + const double t4108 = -0.3e1 / 0.16e2 * t1230 * t4097 + 0.7e1 / 0.256e3 * t2574 * t4101 - t3645 - t3650 * t4105 / 0.512e3 + t3663; + const double t4109 = t66 * t4108; + const double t4112 = t934 * t934; + const double t4113 = t66 * t4112; + const double t4119 = t4112 * t120; + const double t4122 = t4109 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t4113 * t1265 - t416 * t4108 * t120 / 0.1e3 + t1272 * t4119 / 0.1e3; + const double t4123 = t123 * t4122; + const double t4130 = -t4108; + const double t4131 = piecewise_functor_3( t132, 0.0, t4130 ); + const double t4133 = t946 * t946; + const double t4135 = t133 * t4131; + const double t4137 = t133 * t4133; + const double t4139 = t135 * t4131; + const double t4141 = t135 * t4133; + const double t4143 = t137 * t4131; + const double t4145 = t137 * t4133; + const double t4147 = t139 * t4131; + const double t4149 = t139 * t4133; + const double t4151 = t141 * t4131; + const double t4157 = -0.667e0 * t4131 - 0.889111e0 * t4133 - 0.889111e0 * t4135 - 0.3978519606294e1 * t4137 - 0.1989259803147e1 * t4139 + 0.1741556453388e2 * t4141 + 0.580518817796e1 * t4143 - 0.1775996083194e2 * t4145 - 0.4439990207985e1 * t4147 + 0.703586824437e1 * t4149 + 0.1407173648874e1 * t4151 - 0.973805419524e0 * t141 * t4133 - 0.162300903254e0 * t143 * t4131; + const double t4158 = t961 * t961; + const double t4163 = piecewise_functor_3( t132, t4130, 0.0 ); + const double t4171 = piecewise_functor_3( t131, t4157, -0.2e1 * t442 * t1314 * t4158 * t152 - t1325 * t1327 * t4158 * t152 - t442 * t444 * t4163 * t152 ); + const double t4174 = -0.8e1 * t1065 * t4089 * t155 + 0.2e1 * t328 * t4093 + 0.2e1 * t328 * t4123 * t155 - 0.4e1 * t328 * t941 * t965 - t130 * t4171 + 0.1174e1 * t4171; + const double t4175 = t28 * t4174; + const double t4176 = t4175 * t173; + const double t4179 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t4176 ); + const double t4180 = t988 * t988; + const double t4181 = t258 * t4180; + const double t4185 = t4180 * t289; + const double t4188 = t974 * t974; + const double t4189 = t493 * t4188; + const double t4192 = t514 * t4188; + const double t4193 = t4192 * t240; + const double t4196 = t3798 * t4188; + const double t4197 = t3795 * t4196; + const double t4200 = -0.3e1 / 0.16e2 * t2313 * t4189 + 0.7e1 / 0.256e3 * t3000 * t4193 - t3789 - t3794 * t4197 / 0.512e3 + t3806; + const double t4201 = t66 * t4200; + const double t4204 = t982 * t982; + const double t4205 = t66 * t4204; + const double t4211 = t4204 * t254; + const double t4214 = t4201 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t4205 * t1519 - t536 * t4200 * t254 / 0.1e3 + t1526 * t4211 / 0.1e3; + const double t4215 = t257 * t4214; + const double t4222 = -t4200; + const double t4223 = piecewise_functor_3( t266, 0.0, t4222 ); + const double t4225 = t994 * t994; + const double t4227 = t267 * t4223; + const double t4229 = t267 * t4225; + const double t4231 = t269 * t4223; + const double t4233 = t269 * t4225; + const double t4235 = t271 * t4223; + const double t4237 = t271 * t4225; + const double t4239 = t273 * t4223; + const double t4241 = t273 * t4225; + const double t4243 = t275 * t4223; + const double t4249 = -0.667e0 * t4223 - 0.889111e0 * t4225 - 0.889111e0 * t4227 - 0.3978519606294e1 * t4229 - 0.1989259803147e1 * t4231 + 0.1741556453388e2 * t4233 + 0.580518817796e1 * t4235 - 0.1775996083194e2 * t4237 - 0.4439990207985e1 * t4239 + 0.703586824437e1 * t4241 + 0.1407173648874e1 * t4243 - 0.973805419524e0 * t275 * t4225 - 0.162300903254e0 * t277 * t4223; + const double t4250 = t1009 * t1009; + const double t4255 = piecewise_functor_3( t266, t4222, 0.0 ); + const double t4263 = piecewise_functor_3( t265, t4249, -t1325 * t1578 * t4250 * t286 - 0.2e1 * t442 * t1567 * t4250 * t286 - t442 * t562 * t4255 * t286 ); + const double t4266 = -0.8e1 * t1400 * t4181 * t289 + 0.2e1 * t490 * t4185 + 0.2e1 * t490 * t4215 * t289 - 0.4e1 * t490 * t989 * t1013 - t264 * t4263 + 0.1174e1 * t4263; + const double t4267 = t28 * t4266; + const double t4268 = t4267 * t304; + const double t4271 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t4268 ); + + + v2rho2_aa = 0.2e1 * t474 + 0.2e1 * t576 + t7 * ( t1369 + t1592 ); + v2rho2_bb = 0.2e1 * t647 + 0.2e1 * t767 + t7 * ( t2242 + t2507 ); + v2rhosigma_a_aa = t7 * t2703 + t847; + v2rhosigma_b_bb = t7 * t3116 + t925; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t3257 + t973; + v2rhotau_b_b = t7 * t3611 + t1021; + v2sigma2_aa_aa = t7 * t3756; + v2sigma2_bb_bb = t7 * t3899; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t3993; + v2sigmatau_bb_b = t7 * t4087; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4179; + v2tau2_bb = t7 * t4271; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t86 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t45 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t46 = t29 * t29; + constexpr double t47 = t45 * t46; + constexpr double t48 = t31 * t30; + constexpr double t49 = 0.1e1 / t48; + constexpr double t50 = t47 * t49; + constexpr double t57 = t45 * t29; + constexpr double t92 = t46 * t32; + constexpr double t95 = taur / 0.2e1; + constexpr double t101 = t86 * t86; + constexpr double t161 = 0.1e1 / t31; + constexpr double t162 = t46 * t161; + constexpr double t325 = k1 * k1; + constexpr double t342 = t45 * t45; + constexpr double t343 = t30 * t30; + constexpr double t344 = 0.1e1 / t343; + constexpr double t345 = t342 * t344; + constexpr double t442 = d * c2; + constexpr double t1089 = t342 * t45 * t344; + constexpr double t1173 = t29 * t48; + constexpr double t1324 = c2 * c2; + constexpr double t1325 = d * t1324; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t38 = t37 * t35; + const double t39 = 0.1e1 / t38; + const double t40 = sigma_aa * t39; + const double t41 = t34 * t40; + const double t51 = sigma_aa * sigma_aa; + const double t52 = t35 * t35; + const double t53 = t52 * rho_a; + const double t55 = 0.1e1 / t36 / t53; + const double t56 = t51 * t55; + const double t58 = t33 * sigma_aa; + const double t59 = t58 * t39; + const double t62 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t59 ); + const double t66 = safe_math::sqrt( 0.146e3 ); + const double t67 = t66 * t29; + const double t70 = t20 * t20; + const double t71 = t70 * t70; + const double t72 = t71 * t20; + const double t73 = t7 * t7; + const double t74 = t73 * t73; + const double t75 = t74 * t7; + const double t76 = t72 * t75; + const double t77 = t37 * rho_a; + const double t78 = 0.1e1 / t77; + const double t81 = tau_a * t78 - t40 / 0.8e1; + const double t82 = 0.e0 < t81; + const double t83 = piecewise_functor_3( t82, t81, 0.0 ); + const double t84 = t83 * t83; + const double t85 = t84 * t83; + const double t87 = t20 * t7; + const double t88 = safe_math::cbrt( t87 ); + const double t89 = t88 * t88; + const double t96 = 0.3e1 / 0.4e2 * t86 * t89 * t87 * t92 + t95; + const double t97 = t96 * t96; + const double t98 = t97 * t96; + const double t99 = 0.1e1 / t98; + const double t100 = t85 * t99; + const double t102 = t70 * t20; + const double t103 = t73 * t7; + const double t104 = t102 * t103; + const double t105 = t88 * t104; + const double t106 = t101 * t105; + const double t107 = 0.1e1 / t97; + const double t108 = t84 * t107; + const double t111 = t106 * t108 / 0.16e2 + alphar; + const double t112 = 0.1e1 / t111; + const double t113 = t100 * t112; + const double t115 = t76 * t113 / 0.32e2; + const double t116 = 0.1e1 - t115; + const double t118 = t116 * t116; + const double t120 = safe_math::exp( -t118 / 0.2e1 ); + const double t123 = 0.7e1 / 0.1296e5 * t67 * t59 + t66 * t116 * t120 / 0.1e3; + const double t124 = t123 * t123; + const double t125 = k1 + 0.5e1 / 0.972e3 * t41 + t50 * t56 * t62 / 0.576e3 + t124; + const double t130 = 0.1e1 + k1 * ( 0.1e1 - k1 / t125 ); + const double t131 = t115 <= 0.25e1; + const double t132 = 0.25e1 < t115; + const double t133 = piecewise_functor_3( t132, 2.5, t115 ); + const double t135 = t133 * t133; + const double t137 = t135 * t133; + const double t139 = t135 * t135; + const double t141 = t139 * t133; + const double t143 = t139 * t135; + const double t148 = piecewise_functor_3( t132, t115, 2.5 ); + const double t149 = 0.1e1 - t148; + const double t152 = safe_math::exp( c2 / t149 ); + const double t154 = piecewise_functor_3( t131, 0.1e1 - 0.667e0 * t133 - 0.4445555e0 * t135 - 0.663086601049e0 * t137 + 0.145129704449e1 * t139 - 0.887998041597e0 * t141 + 0.234528941479e0 * t143 - 0.23185843322e-1 * t139 * t137, -d * t152 ); + const double t155 = 0.1e1 - t154; + const double t158 = t130 * t155 + 0.1174e1 * t154; + const double t159 = t28 * t158; + const double t160 = safe_math::sqrt( 0.3e1 ); + const double t163 = safe_math::sqrt( sigma_aa ); + const double t164 = t36 * rho_a; + const double t165 = 0.1e1 / t164; + const double t167 = t162 * t163 * t165; + const double t168 = safe_math::sqrt( t167 ); + const double t172 = safe_math::exp( -0.98958e1 * t160 / t168 ); + const double t173 = 0.1e1 - t172; + const double t174 = t159 * t173; + const double t177 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t174 ); + const double t178 = rho_b <= dens_tol; + const double t179 = -t17; + const double t181 = piecewise_functor_5( t15, t12, t11, t16, t179 * t8 ); + const double t182 = 0.1e1 + t181; + const double t183 = t182 <= zeta_tol; + const double t184 = safe_math::cbrt( t182 ); + const double t186 = piecewise_functor_3( t183, t23, t184 * t182 ); + const double t187 = t6 * t186; + const double t188 = rho_b * rho_b; + const double t189 = safe_math::cbrt( rho_b ); + const double t190 = t189 * t189; + const double t191 = t190 * t188; + const double t192 = 0.1e1 / t191; + const double t193 = sigma_bb * t192; + const double t194 = t34 * t193; + const double t196 = sigma_bb * sigma_bb; + const double t197 = t188 * t188; + const double t198 = t197 * rho_b; + const double t200 = 0.1e1 / t189 / t198; + const double t201 = t196 * t200; + const double t202 = t33 * sigma_bb; + const double t203 = t202 * t192; + const double t206 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t203 ); + const double t212 = t182 * t182; + const double t213 = t212 * t212; + const double t214 = t213 * t182; + const double t215 = t214 * t75; + const double t216 = t190 * rho_b; + const double t217 = 0.1e1 / t216; + const double t220 = tau_b * t217 - t193 / 0.8e1; + const double t221 = 0.e0 < t220; + const double t222 = piecewise_functor_3( t221, t220, 0.0 ); + const double t223 = t222 * t222; + const double t224 = t223 * t222; + const double t225 = t182 * t7; + const double t226 = safe_math::cbrt( t225 ); + const double t227 = t226 * t226; + const double t232 = 0.3e1 / 0.4e2 * t86 * t227 * t225 * t92 + t95; + const double t233 = t232 * t232; + const double t234 = t233 * t232; + const double t235 = 0.1e1 / t234; + const double t236 = t224 * t235; + const double t237 = t212 * t182; + const double t238 = t237 * t103; + const double t239 = t226 * t238; + const double t240 = t101 * t239; + const double t241 = 0.1e1 / t233; + const double t242 = t223 * t241; + const double t245 = t240 * t242 / 0.16e2 + alphar; + const double t246 = 0.1e1 / t245; + const double t247 = t236 * t246; + const double t249 = t215 * t247 / 0.32e2; + const double t250 = 0.1e1 - t249; + const double t252 = t250 * t250; + const double t254 = safe_math::exp( -t252 / 0.2e1 ); + const double t257 = 0.7e1 / 0.1296e5 * t67 * t203 + t66 * t250 * t254 / 0.1e3; + const double t258 = t257 * t257; + const double t259 = k1 + 0.5e1 / 0.972e3 * t194 + t50 * t201 * t206 / 0.576e3 + t258; + const double t264 = 0.1e1 + k1 * ( 0.1e1 - k1 / t259 ); + const double t265 = t249 <= 0.25e1; + const double t266 = 0.25e1 < t249; + const double t267 = piecewise_functor_3( t266, 2.5, t249 ); + const double t269 = t267 * t267; + const double t271 = t269 * t267; + const double t273 = t269 * t269; + const double t275 = t273 * t267; + const double t277 = t273 * t269; + const double t282 = piecewise_functor_3( t266, t249, 2.5 ); + const double t283 = 0.1e1 - t282; + const double t286 = safe_math::exp( c2 / t283 ); + const double t288 = piecewise_functor_3( t265, 0.1e1 - 0.667e0 * t267 - 0.4445555e0 * t269 - 0.663086601049e0 * t271 + 0.145129704449e1 * t273 - 0.887998041597e0 * t275 + 0.234528941479e0 * t277 - 0.23185843322e-1 * t273 * t271, -d * t286 ); + const double t289 = 0.1e1 - t288; + const double t292 = t264 * t289 + 0.1174e1 * t288; + const double t293 = t28 * t292; + const double t294 = safe_math::sqrt( sigma_bb ); + const double t295 = t189 * rho_b; + const double t296 = 0.1e1 / t295; + const double t298 = t162 * t294 * t296; + const double t299 = safe_math::sqrt( t298 ); + const double t303 = safe_math::exp( -0.98958e1 * t160 / t299 ); + const double t304 = 0.1e1 - t303; + const double t305 = t293 * t304; + const double t308 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t305 ); + const double t309 = 0.1e1 / t73; + const double t310 = t17 * t309; + const double t312 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t310 ); + const double t315 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t312 ); + const double t316 = t6 * t315; + const double t319 = t28 * t28; + const double t320 = 0.1e1 / t319; + const double t321 = t320 * t158; + const double t322 = t321 * t173; + const double t324 = t27 * t322 / 0.8e1; + const double t326 = t125 * t125; + const double t328 = t325 / t326; + const double t329 = t35 * rho_a; + const double t331 = 0.1e1 / t37 / t329; + const double t332 = sigma_aa * t331; + const double t335 = t52 * t35; + const double t337 = 0.1e1 / t36 / t335; + const double t346 = t51 * sigma_aa; + const double t347 = t52 * t52; + const double t348 = t347 * rho_a; + const double t349 = 0.1e1 / t348; + const double t357 = t71 * t75; + const double t358 = t357 * t85; + const double t359 = t99 * t112; + const double t360 = t359 * t312; + const double t363 = t72 * t74; + const double t365 = 0.5e1 / 0.32e2 * t363 * t113; + const double t366 = t76 * t84; + const double t371 = piecewise_functor_3( t82, -0.5e1 / 0.3e1 * tau_a * t39 + t332 / 0.3e1, 0.0 ); + const double t372 = t359 * t371; + const double t375 = t97 * t97; + const double t376 = 0.1e1 / t375; + const double t377 = t85 * t376; + const double t378 = t377 * t112; + const double t379 = t76 * t378; + const double t380 = t86 * t89; + const double t382 = t312 * t7 + t19 + 0.1e1; + const double t383 = t92 * t382; + const double t384 = t380 * t383; + const double t387 = t76 * t85; + const double t388 = t111 * t111; + const double t389 = 0.1e1 / t388; + const double t390 = t99 * t389; + const double t391 = t70 * t73; + const double t392 = t88 * t391; + const double t393 = t101 * t392; + const double t397 = t83 * t107; + const double t401 = t71 * t74; + const double t402 = t401 * t84; + const double t403 = t99 * t46; + const double t404 = t32 * t382; + const double t405 = t403 * t404; + const double t408 = 0.5e1 / 0.24e2 * t393 * t108 * t382 + t106 * t397 * t371 / 0.8e1 - t402 * t405 / 0.32e2; + const double t409 = t390 * t408; + const double t412 = -0.5e1 / 0.32e2 * t358 * t360 - t365 - 0.3e1 / 0.32e2 * t366 * t372 + 0.3e1 / 0.256e3 * t379 * t384 + t387 * t409 / 0.32e2; + const double t416 = t66 * t118; + const double t417 = t412 * t120; + const double t420 = -0.7e1 / 0.486e4 * t67 * t58 * t331 + t66 * t412 * t120 / 0.1e3 - t416 * t417 / 0.1e3; + const double t423 = -0.1e2 / 0.729e3 * t34 * t332 - t50 * t51 * t337 * t62 / 0.108e3 + 0.3e1 / 0.32e3 * t345 * t346 * t349 * t62 + 0.2e1 * t123 * t420; + const double t424 = t423 * t155; + const double t426 = -t412; + const double t427 = piecewise_functor_3( t132, 0.0, t426 ); + const double t429 = t133 * t427; + const double t431 = t135 * t427; + const double t433 = t137 * t427; + const double t435 = t139 * t427; + const double t437 = t141 * t427; + const double t443 = t149 * t149; + const double t444 = 0.1e1 / t443; + const double t445 = piecewise_functor_3( t132, t426, 0.0 ); + const double t449 = piecewise_functor_3( t131, -0.667e0 * t427 - 0.889111e0 * t429 - 0.1989259803147e1 * t431 + 0.580518817796e1 * t433 - 0.4439990207985e1 * t435 + 0.1407173648874e1 * t437 - 0.162300903254e0 * t143 * t427, -t442 * t444 * t445 * t152 ); + const double t452 = t328 * t424 - t130 * t449 + 0.1174e1 * t449; + const double t453 = t28 * t452; + const double t454 = t453 * t173; + const double t457 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t458 = t457 * t457; + const double t459 = t458 * t458; + const double t460 = t459 * t457; + const double t461 = t460 * t26; + const double t463 = 0.1e1 / t168 / t167; + const double t464 = t159 * t463; + const double t465 = t461 * t464; + const double t467 = 0.1e1 / t36 / t35; + const double t470 = t162 * t163 * t467 * t172; + const double t474 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t316 * t174 - t324 - 0.3e1 / 0.8e1 * t27 * t454 - 0.16891736332904387511e1 * t465 * t470 ); + const double t475 = t179 * t309; + const double t477 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t475 ); + const double t480 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.3e1 * t184 * t477 ); + const double t481 = t6 * t480; + const double t484 = t320 * t292; + const double t485 = t484 * t304; + const double t487 = t187 * t485 / 0.8e1; + const double t488 = t259 * t259; + const double t490 = t325 / t488; + const double t491 = t213 * t75; + const double t492 = t491 * t224; + const double t493 = t235 * t246; + const double t494 = t493 * t477; + const double t497 = t214 * t74; + const double t499 = 0.5e1 / 0.32e2 * t497 * t247; + const double t500 = t233 * t233; + const double t501 = 0.1e1 / t500; + const double t502 = t224 * t501; + const double t503 = t502 * t246; + const double t504 = t215 * t503; + const double t505 = t86 * t227; + const double t507 = t477 * t7 + t181 + 0.1e1; + const double t508 = t92 * t507; + const double t509 = t505 * t508; + const double t512 = t215 * t224; + const double t513 = t245 * t245; + const double t514 = 0.1e1 / t513; + const double t515 = t235 * t514; + const double t516 = t212 * t73; + const double t517 = t226 * t516; + const double t518 = t101 * t517; + const double t522 = t213 * t74; + const double t523 = t522 * t223; + const double t524 = t235 * t46; + const double t525 = t32 * t507; + const double t526 = t524 * t525; + const double t529 = 0.5e1 / 0.24e2 * t518 * t242 * t507 - t523 * t526 / 0.32e2; + const double t530 = t515 * t529; + const double t533 = -0.5e1 / 0.32e2 * t492 * t494 - t499 + 0.3e1 / 0.256e3 * t504 * t509 + t512 * t530 / 0.32e2; + const double t536 = t66 * t252; + const double t537 = t533 * t254; + const double t540 = t66 * t533 * t254 / 0.1e3 - t536 * t537 / 0.1e3; + const double t541 = t257 * t540; + const double t542 = t541 * t289; + const double t545 = -t533; + const double t546 = piecewise_functor_3( t266, 0.0, t545 ); + const double t548 = t267 * t546; + const double t550 = t269 * t546; + const double t552 = t271 * t546; + const double t554 = t273 * t546; + const double t556 = t275 * t546; + const double t561 = t283 * t283; + const double t562 = 0.1e1 / t561; + const double t563 = piecewise_functor_3( t266, t545, 0.0 ); + const double t567 = piecewise_functor_3( t265, -0.667e0 * t546 - 0.889111e0 * t548 - 0.1989259803147e1 * t550 + 0.580518817796e1 * t552 - 0.4439990207985e1 * t554 + 0.1407173648874e1 * t556 - 0.162300903254e0 * t277 * t546, -t442 * t562 * t563 * t286 ); + const double t570 = 0.2e1 * t490 * t542 - t264 * t567 + 0.1174e1 * t567; + const double t571 = t28 * t570; + const double t572 = t571 * t304; + const double t576 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t481 * t305 - t487 - 0.3e1 / 0.8e1 * t187 * t572 ); + const double t580 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t310 ); + const double t583 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t580 ); + const double t584 = t6 * t583; + const double t587 = t359 * t580; + const double t591 = t580 * t7 + t19 + 0.1e1; + const double t592 = t92 * t591; + const double t593 = t380 * t592; + const double t599 = t32 * t591; + const double t600 = t403 * t599; + const double t603 = 0.5e1 / 0.24e2 * t393 * t108 * t591 - t402 * t600 / 0.32e2; + const double t604 = t390 * t603; + const double t607 = -0.5e1 / 0.32e2 * t358 * t587 - t365 + 0.3e1 / 0.256e3 * t379 * t593 + t387 * t604 / 0.32e2; + const double t608 = t66 * t607; + const double t610 = t607 * t120; + const double t613 = t608 * t120 / 0.1e3 - t416 * t610 / 0.1e3; + const double t614 = t123 * t613; + const double t615 = t614 * t155; + const double t618 = -t607; + const double t619 = piecewise_functor_3( t132, 0.0, t618 ); + const double t621 = t133 * t619; + const double t623 = t135 * t619; + const double t625 = t137 * t619; + const double t627 = t139 * t619; + const double t629 = t141 * t619; + const double t634 = piecewise_functor_3( t132, t618, 0.0 ); + const double t638 = piecewise_functor_3( t131, -0.667e0 * t619 - 0.889111e0 * t621 - 0.1989259803147e1 * t623 + 0.580518817796e1 * t625 - 0.4439990207985e1 * t627 + 0.1407173648874e1 * t629 - 0.162300903254e0 * t143 * t619, -t442 * t444 * t634 * t152 ); + const double t641 = 0.2e1 * t328 * t615 - t130 * t638 + 0.1174e1 * t638; + const double t642 = t28 * t641; + const double t643 = t642 * t173; + const double t647 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t584 * t174 - t324 - 0.3e1 / 0.8e1 * t27 * t643 ); + const double t649 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t475 ); + const double t652 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.3e1 * t184 * t649 ); + const double t653 = t6 * t652; + const double t656 = t188 * rho_b; + const double t658 = 0.1e1 / t190 / t656; + const double t659 = sigma_bb * t658; + const double t662 = t197 * t188; + const double t664 = 0.1e1 / t189 / t662; + const double t669 = t196 * sigma_bb; + const double t670 = t197 * t197; + const double t671 = t670 * rho_b; + const double t672 = 0.1e1 / t671; + const double t680 = t493 * t649; + const double t683 = t215 * t223; + const double t688 = piecewise_functor_3( t221, -0.5e1 / 0.3e1 * tau_b * t192 + t659 / 0.3e1, 0.0 ); + const double t689 = t493 * t688; + const double t693 = t649 * t7 + t181 + 0.1e1; + const double t694 = t92 * t693; + const double t695 = t505 * t694; + const double t701 = t222 * t241; + const double t705 = t32 * t693; + const double t706 = t524 * t705; + const double t709 = 0.5e1 / 0.24e2 * t518 * t242 * t693 + t240 * t701 * t688 / 0.8e1 - t523 * t706 / 0.32e2; + const double t710 = t515 * t709; + const double t713 = -0.5e1 / 0.32e2 * t492 * t680 - t499 - 0.3e1 / 0.32e2 * t683 * t689 + 0.3e1 / 0.256e3 * t504 * t695 + t512 * t710 / 0.32e2; + const double t714 = t66 * t713; + const double t717 = t713 * t254; + const double t720 = -0.7e1 / 0.486e4 * t67 * t202 * t658 + t714 * t254 / 0.1e3 - t536 * t717 / 0.1e3; + const double t723 = -0.1e2 / 0.729e3 * t34 * t659 - t50 * t196 * t664 * t206 / 0.108e3 + 0.3e1 / 0.32e3 * t345 * t669 * t672 * t206 + 0.2e1 * t257 * t720; + const double t724 = t723 * t289; + const double t726 = -t713; + const double t727 = piecewise_functor_3( t266, 0.0, t726 ); + const double t729 = t267 * t727; + const double t731 = t269 * t727; + const double t733 = t271 * t727; + const double t735 = t273 * t727; + const double t737 = t275 * t727; + const double t742 = piecewise_functor_3( t266, t726, 0.0 ); + const double t746 = piecewise_functor_3( t265, -0.667e0 * t727 - 0.889111e0 * t729 - 0.1989259803147e1 * t731 + 0.580518817796e1 * t733 - 0.4439990207985e1 * t735 + 0.1407173648874e1 * t737 - 0.162300903254e0 * t277 * t727, -t442 * t562 * t742 * t286 ); + const double t749 = t490 * t724 - t264 * t746 + 0.1174e1 * t746; + const double t750 = t28 * t749; + const double t751 = t750 * t304; + const double t754 = t460 * t186; + const double t756 = 0.1e1 / t299 / t298; + const double t757 = t293 * t756; + const double t758 = t754 * t757; + const double t760 = 0.1e1 / t189 / t188; + const double t763 = t162 * t294 * t760 * t303; + const double t767 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t653 * t305 - t487 - 0.3e1 / 0.8e1 * t187 * t751 - 0.16891736332904387511e1 * t758 * t763 ); + const double t776 = 0.1e1 / t347; + const double t785 = piecewise_functor_3( t82, -t39 / 0.8e1, 0.0 ); + const double t786 = t359 * t785; + const double t789 = t84 * t84; + const double t791 = 0.1e1 / t375 / t96; + const double t792 = t789 * t791; + const double t793 = t76 * t792; + const double t794 = t389 * t101; + const double t795 = t105 * t785; + const double t796 = t794 * t795; + const double t799 = -0.3e1 / 0.32e2 * t366 * t786 + t793 * t796 / 0.256e3; + const double t800 = t66 * t799; + const double t803 = t799 * t120; + const double t806 = 0.7e1 / 0.1296e5 * t67 * t33 * t39 + t800 * t120 / 0.1e3 - t416 * t803 / 0.1e3; + const double t809 = 0.5e1 / 0.972e3 * t34 * t39 + t50 * sigma_aa * t55 * t62 / 0.288e3 - 0.9e1 / 0.256e4 * t345 * t51 * t776 * t62 + 0.2e1 * t123 * t806; + const double t810 = t809 * t155; + const double t812 = -t799; + const double t813 = piecewise_functor_3( t132, 0.0, t812 ); + const double t815 = t133 * t813; + const double t817 = t135 * t813; + const double t819 = t137 * t813; + const double t821 = t139 * t813; + const double t823 = t141 * t813; + const double t828 = piecewise_functor_3( t132, t812, 0.0 ); + const double t832 = piecewise_functor_3( t131, -0.667e0 * t813 - 0.889111e0 * t815 - 0.1989259803147e1 * t817 + 0.580518817796e1 * t819 - 0.4439990207985e1 * t821 + 0.1407173648874e1 * t823 - 0.162300903254e0 * t143 * t813, -t442 * t444 * t828 * t152 ); + const double t835 = t328 * t810 - t130 * t832 + 0.1174e1 * t832; + const double t836 = t28 * t835; + const double t837 = t836 * t173; + const double t840 = 0.1e1 / t163; + const double t843 = t162 * t840 * t165 * t172; + const double t847 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t837 + 0.63344011248391453166e0 * t465 * t843 ); + const double t854 = 0.1e1 / t670; + const double t863 = piecewise_functor_3( t221, -t192 / 0.8e1, 0.0 ); + const double t864 = t493 * t863; + const double t867 = t223 * t223; + const double t869 = 0.1e1 / t500 / t232; + const double t870 = t867 * t869; + const double t871 = t215 * t870; + const double t872 = t514 * t101; + const double t873 = t239 * t863; + const double t874 = t872 * t873; + const double t877 = -0.3e1 / 0.32e2 * t683 * t864 + t871 * t874 / 0.256e3; + const double t878 = t66 * t877; + const double t881 = t877 * t254; + const double t884 = 0.7e1 / 0.1296e5 * t67 * t33 * t192 + t878 * t254 / 0.1e3 - t536 * t881 / 0.1e3; + const double t887 = 0.5e1 / 0.972e3 * t34 * t192 + t50 * sigma_bb * t200 * t206 / 0.288e3 - 0.9e1 / 0.256e4 * t345 * t196 * t854 * t206 + 0.2e1 * t257 * t884; + const double t888 = t887 * t289; + const double t890 = -t877; + const double t891 = piecewise_functor_3( t266, 0.0, t890 ); + const double t893 = t267 * t891; + const double t895 = t269 * t891; + const double t897 = t271 * t891; + const double t899 = t273 * t891; + const double t901 = t275 * t891; + const double t906 = piecewise_functor_3( t266, t890, 0.0 ); + const double t910 = piecewise_functor_3( t265, -0.667e0 * t891 - 0.889111e0 * t893 - 0.1989259803147e1 * t895 + 0.580518817796e1 * t897 - 0.4439990207985e1 * t899 + 0.1407173648874e1 * t901 - 0.162300903254e0 * t277 * t891, -t442 * t562 * t906 * t286 ); + const double t913 = t490 * t888 - t264 * t910 + 0.1174e1 * t910; + const double t914 = t28 * t913; + const double t915 = t914 * t304; + const double t918 = 0.1e1 / t294; + const double t921 = t162 * t918 * t296 * t303; + const double t925 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t915 + 0.63344011248391453166e0 * t758 * t921 ); + const double t926 = piecewise_functor_3( t82, t78, 0.0 ); + const double t927 = t359 * t926; + const double t930 = t105 * t926; + const double t931 = t794 * t930; + const double t934 = -0.3e1 / 0.32e2 * t366 * t927 + t793 * t931 / 0.256e3; + const double t935 = t66 * t934; + const double t937 = t934 * t120; + const double t940 = t935 * t120 / 0.1e3 - t416 * t937 / 0.1e3; + const double t941 = t123 * t940; + const double t945 = -t934; + const double t946 = piecewise_functor_3( t132, 0.0, t945 ); + const double t948 = t133 * t946; + const double t950 = t135 * t946; + const double t952 = t137 * t946; + const double t954 = t139 * t946; + const double t956 = t141 * t946; + const double t961 = piecewise_functor_3( t132, t945, 0.0 ); + const double t965 = piecewise_functor_3( t131, -0.667e0 * t946 - 0.889111e0 * t948 - 0.1989259803147e1 * t950 + 0.580518817796e1 * t952 - 0.4439990207985e1 * t954 + 0.1407173648874e1 * t956 - 0.162300903254e0 * t143 * t946, -t442 * t444 * t961 * t152 ); + const double t968 = 0.2e1 * t328 * t941 * t155 - t130 * t965 + 0.1174e1 * t965; + const double t969 = t28 * t968; + const double t970 = t969 * t173; + const double t973 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t970 ); + const double t974 = piecewise_functor_3( t221, t217, 0.0 ); + const double t975 = t493 * t974; + const double t978 = t239 * t974; + const double t979 = t872 * t978; + const double t982 = -0.3e1 / 0.32e2 * t683 * t975 + t871 * t979 / 0.256e3; + const double t983 = t66 * t982; + const double t985 = t982 * t254; + const double t988 = t983 * t254 / 0.1e3 - t536 * t985 / 0.1e3; + const double t989 = t257 * t988; + const double t993 = -t982; + const double t994 = piecewise_functor_3( t266, 0.0, t993 ); + const double t996 = t267 * t994; + const double t998 = t269 * t994; + const double t1000 = t271 * t994; + const double t1002 = t273 * t994; + const double t1004 = t275 * t994; + const double t1009 = piecewise_functor_3( t266, t993, 0.0 ); + const double t1013 = piecewise_functor_3( t265, -0.667e0 * t994 - 0.889111e0 * t996 - 0.1989259803147e1 * t998 + 0.580518817796e1 * t1000 - 0.4439990207985e1 * t1002 + 0.1407173648874e1 * t1004 - 0.162300903254e0 * t277 * t994, -t442 * t562 * t1009 * t286 ); + const double t1016 = 0.2e1 * t490 * t989 * t289 - t264 * t1013 + 0.1174e1 * t1013; + const double t1017 = t28 * t1016; + const double t1018 = t1017 * t304; + const double t1021 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t1018 ); + const double t1024 = t24 * t24; + const double t1025 = 0.1e1 / t1024; + const double t1026 = t312 * t312; + const double t1029 = 0.1e1 / t103; + const double t1030 = t17 * t1029; + const double t1033 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t309 + 0.2e1 * t1030 ); + const double t1037 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1025 * t1026 + 0.4e1 / 0.3e1 * t24 * t1033 ); + const double t1038 = t6 * t1037; + const double t1041 = t316 * t322; + const double t1045 = t460 * t315; + const double t1046 = t1045 * t464; + const double t1050 = 0.1e1 / t319 / t7; + const double t1051 = t1050 * t158; + const double t1052 = t1051 * t173; + const double t1054 = t27 * t1052 / 0.12e2; + const double t1055 = t320 * t452; + const double t1056 = t1055 * t173; + const double t1057 = t27 * t1056; + const double t1059 = t321 * t463; + const double t1060 = t461 * t1059; + const double t1061 = t1060 * t470; + const double t1065 = t325 / t326 / t125; + const double t1066 = t423 * t423; + const double t1067 = t1066 * t155; + const double t1071 = 0.1e1 / t37 / t52; + const double t1072 = sigma_aa * t1071; + const double t1075 = t52 * t329; + const double t1077 = 0.1e1 / t36 / t1075; + const double t1082 = t347 * t35; + const double t1083 = 0.1e1 / t1082; + const double t1090 = t51 * t51; + const double t1091 = t1089 * t1090; + const double t1092 = t347 * t52; + const double t1094 = 0.1e1 / t37 / t1092; + const double t1096 = t33 * t62; + const double t1097 = t1094 * t29 * t1096; + const double t1100 = t420 * t420; + const double t1105 = t359 * t1033; + const double t1108 = t72 * t103; + const double t1110 = 0.5e1 / 0.8e1 * t1108 * t113; + const double t1111 = t363 * t84; + const double t1112 = t1111 * t372; + const double t1114 = t363 * t85; + const double t1115 = t1114 * t409; + const double t1121 = piecewise_functor_3( t82, 0.4e2 / 0.9e1 * tau_a * t331 - 0.11e2 / 0.9e1 * t1072, 0.0 ); + const double t1122 = t359 * t1121; + const double t1125 = t88 * t87; + const double t1126 = t101 * t1125; + const double t1127 = t382 * t382; + const double t1131 = t393 * t83; + const double t1132 = t107 * t382; + const double t1136 = t104 * t84; + const double t1138 = t99 * t1127 * t92; + const double t1143 = t1033 * t7 + 0.2e1 * t312; + const double t1147 = t371 * t371; + const double t1148 = t1147 * t107; + const double t1151 = t83 * t99; + const double t1152 = t401 * t1151; + const double t1153 = t371 * t46; + const double t1154 = t1153 * t404; + const double t1160 = t102 * t74; + const double t1161 = t84 * t99; + const double t1162 = t1160 * t1161; + const double t1163 = t382 * t312; + const double t1164 = t92 * t1163; + const double t1167 = t71 * t103; + const double t1168 = t1167 * t84; + const double t1171 = t84 * t376; + const double t1172 = t401 * t1171; + const double t1175 = t1127 * t86 * t89; + const double t1176 = t1173 * t1175; + const double t1179 = t32 * t1143; + const double t1180 = t403 * t1179; + const double t1183 = 0.35e2 / 0.72e2 * t1126 * t108 * t1127 + 0.5e1 / 0.6e1 * t1131 * t1132 * t371 - 0.5e1 / 0.48e2 * t1136 * t1138 + 0.5e1 / 0.24e2 * t393 * t108 * t1143 + t106 * t1148 / 0.8e1 - t1152 * t1154 / 0.8e1 + t106 * t397 * t1121 / 0.8e1 - t1162 * t1164 / 0.8e1 - t1168 * t405 / 0.8e1 + 0.9e1 / 0.128e3 * t1172 * t1176 - t402 * t1180 / 0.32e2; + const double t1184 = t390 * t1183; + const double t1187 = 0.1e1 / t88; + const double t1188 = t86 * t1187; + const double t1189 = t92 * t1127; + const double t1190 = t1188 * t1189; + const double t1193 = t357 * t378; + const double t1194 = t312 * t86; + const double t1195 = t1194 * t89; + const double t1196 = t1195 * t383; + const double t1199 = t1171 * t112; + const double t1200 = t76 * t1199; + const double t1201 = t371 * t86; + const double t1202 = t1201 * t89; + const double t1203 = t1202 * t383; + const double t1206 = t377 * t389; + const double t1207 = t76 * t1206; + const double t1208 = t380 * t46; + const double t1209 = t404 * t408; + const double t1210 = t1208 * t1209; + const double t1213 = t102 * t75; + const double t1214 = t1213 * t85; + const double t1215 = t359 * t1026; + const double t1218 = t401 * t85; + const double t1219 = t1218 * t360; + const double t1221 = t357 * t84; + const double t1222 = t312 * t371; + const double t1223 = t359 * t1222; + const double t1226 = t312 * t408; + const double t1227 = t390 * t1226; + const double t1230 = t76 * t83; + const double t1231 = t359 * t1147; + const double t1234 = t371 * t408; + const double t1235 = t390 * t1234; + const double t1239 = 0.1e1 / t388 / t111; + const double t1240 = t99 * t1239; + const double t1241 = t408 * t408; + const double t1242 = t1240 * t1241; + const double t1245 = t363 * t378; + const double t1246 = t1245 * t384; + const double t1248 = t92 * t1143; + const double t1249 = t380 * t1248; + const double t1252 = t85 * t791; + const double t1253 = t1252 * t112; + const double t1254 = t76 * t1253; + const double t1255 = t1173 * t1127; + const double t1256 = t1126 * t1255; + const double t1259 = -0.5e1 / 0.32e2 * t358 * t1105 - t1110 - 0.15e2 / 0.16e2 * t1112 + 0.5e1 / 0.16e2 * t1115 - 0.3e1 / 0.32e2 * t366 * t1122 + t387 * t1184 / 0.32e2 + t379 * t1190 / 0.128e3 + 0.15e2 / 0.128e3 * t1193 * t1196 + 0.9e1 / 0.128e3 * t1200 * t1203 - 0.3e1 / 0.128e3 * t1207 * t1210 - 0.5e1 / 0.8e1 * t1214 * t1215 - 0.25e2 / 0.16e2 * t1219 - 0.15e2 / 0.16e2 * t1221 * t1223 + 0.5e1 / 0.16e2 * t358 * t1227 - 0.3e1 / 0.16e2 * t1230 * t1231 + 0.3e1 / 0.16e2 * t366 * t1235 - t387 * t1242 / 0.16e2 + 0.15e2 / 0.128e3 * t1246 + 0.3e1 / 0.256e3 * t379 * t1249 - 0.9e1 / 0.256e3 * t1254 * t1256; + const double t1260 = t66 * t1259; + const double t1263 = t412 * t412; + const double t1265 = t116 * t120; + const double t1268 = t1259 * t120; + const double t1271 = t118 * t116; + const double t1272 = t66 * t1271; + const double t1273 = t1263 * t120; + const double t1276 = 0.77e2 / 0.1458e5 * t67 * t58 * t1071 + t1260 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t66 * t1263 * t1265 - t416 * t1268 / 0.1e3 + t1272 * t1273 / 0.1e3; + const double t1279 = 0.11e3 / 0.2187e4 * t34 * t1072 + 0.19e2 / 0.324e3 * t50 * t51 * t1077 * t62 - 0.43e2 / 0.32e3 * t345 * t346 * t1083 * t62 + 0.27e2 / 0.32e4 * t1091 * t1097 + 0.2e1 * t1100 + 0.2e1 * t123 * t1276; + const double t1282 = t423 * t449; + const double t1285 = -t1259; + const double t1286 = piecewise_functor_3( t132, 0.0, t1285 ); + const double t1288 = t427 * t427; + const double t1292 = t133 * t1288; + const double t1296 = t135 * t1288; + const double t1300 = t137 * t1288; + const double t1304 = t139 * t1288; + const double t1312 = -0.667e0 * t1286 - 0.889111e0 * t1288 - 0.889111e0 * t133 * t1286 - 0.3978519606294e1 * t1292 - 0.1989259803147e1 * t135 * t1286 + 0.1741556453388e2 * t1296 + 0.580518817796e1 * t137 * t1286 - 0.1775996083194e2 * t1300 - 0.4439990207985e1 * t139 * t1286 + 0.703586824437e1 * t1304 + 0.1407173648874e1 * t141 * t1286 - 0.973805419524e0 * t141 * t1288 - 0.162300903254e0 * t143 * t1286; + const double t1313 = t443 * t149; + const double t1314 = 0.1e1 / t1313; + const double t1315 = t445 * t445; + const double t1320 = piecewise_functor_3( t132, t1285, 0.0 ); + const double t1326 = t443 * t443; + const double t1327 = 0.1e1 / t1326; + const double t1332 = piecewise_functor_3( t131, t1312, -0.2e1 * t442 * t1314 * t1315 * t152 - t1325 * t1327 * t1315 * t152 - t442 * t444 * t1320 * t152 ); + const double t1335 = -0.2e1 * t1065 * t1067 + t328 * t1279 * t155 - 0.2e1 * t328 * t1282 - t130 * t1332 + 0.1174e1 * t1332; + const double t1336 = t28 * t1335; + const double t1337 = t1336 * t173; + const double t1340 = t453 * t463; + const double t1341 = t461 * t1340; + const double t1346 = 0.1e1 / t168 / t41 / 0.6e1; + const double t1347 = t159 * t1346; + const double t1348 = t461 * t1347; + const double t1350 = t34 * t1072 * t172; + const double t1354 = 0.1e1 / t36 / t329; + const double t1357 = t162 * t163 * t1354 * t172; + const double t1360 = t3 * t26; + const double t1361 = t1360 * t159; + const double t1362 = 0.1e1 / t37; + const double t1364 = t34 * t172; + const double t1365 = t840 * t1362 * t1364; + const double t1368 = -0.3e1 / 0.8e1 * t1038 * t174 - t1041 / 0.4e1 - 0.3e1 / 0.4e1 * t316 * t454 - 0.33783472665808775022e1 * t1046 * t470 + t1054 - t1057 / 0.4e1 - 0.11261157555269591674e1 * t1061 - 0.3e1 / 0.8e1 * t27 * t1337 - 0.33783472665808775022e1 * t1341 * t470 - 0.20270083599485265013e2 * t1348 * t1350 + 0.39414051443443570859e1 * t465 * t1357 + 0.54992529167845016504e2 * t1361 * t1365; + const double t1369 = piecewise_functor_3( t2, 0.0, t1368 ); + const double t1370 = t184 * t184; + const double t1371 = 0.1e1 / t1370; + const double t1372 = t477 * t477; + const double t1375 = t179 * t1029; + const double t1378 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t309 + 0.2e1 * t1375 ); + const double t1382 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.9e1 * t1371 * t1372 + 0.4e1 / 0.3e1 * t184 * t1378 ); + const double t1383 = t6 * t1382; + const double t1386 = t481 * t485; + const double t1390 = t1050 * t292; + const double t1391 = t1390 * t304; + const double t1393 = t187 * t1391 / 0.12e2; + const double t1394 = t320 * t570; + const double t1395 = t1394 * t304; + const double t1396 = t187 * t1395; + const double t1400 = t325 / t488 / t259; + const double t1401 = t540 * t540; + const double t1402 = t258 * t1401; + const double t1403 = t1402 * t289; + const double t1406 = t1401 * t289; + const double t1409 = t237 * t75; + const double t1410 = t1409 * t224; + const double t1411 = t493 * t1372; + const double t1414 = t522 * t224; + const double t1415 = t1414 * t494; + const double t1417 = t491 * t503; + const double t1418 = t477 * t86; + const double t1419 = t1418 * t227; + const double t1420 = t1419 * t508; + const double t1423 = t477 * t529; + const double t1424 = t515 * t1423; + const double t1427 = t493 * t1378; + const double t1430 = t214 * t103; + const double t1432 = 0.5e1 / 0.8e1 * t1430 * t247; + const double t1433 = t497 * t503; + const double t1434 = t1433 * t509; + const double t1436 = t497 * t224; + const double t1437 = t1436 * t530; + const double t1439 = t224 * t869; + const double t1440 = t1439 * t246; + const double t1441 = t215 * t1440; + const double t1442 = t226 * t225; + const double t1443 = t101 * t1442; + const double t1444 = t507 * t507; + const double t1445 = t1173 * t1444; + const double t1446 = t1443 * t1445; + const double t1449 = t502 * t514; + const double t1450 = t215 * t1449; + const double t1451 = t505 * t46; + const double t1452 = t525 * t529; + const double t1453 = t1451 * t1452; + const double t1456 = 0.1e1 / t226; + const double t1457 = t86 * t1456; + const double t1458 = t92 * t1444; + const double t1459 = t1457 * t1458; + const double t1464 = t1378 * t7 + 0.2e1 * t477; + const double t1465 = t92 * t1464; + const double t1466 = t505 * t1465; + const double t1470 = 0.1e1 / t513 / t245; + const double t1471 = t235 * t1470; + const double t1472 = t529 * t529; + const double t1473 = t1471 * t1472; + const double t1479 = t238 * t223; + const double t1481 = t235 * t1444 * t92; + const double t1487 = t237 * t74; + const double t1488 = t223 * t235; + const double t1489 = t1487 * t1488; + const double t1490 = t507 * t477; + const double t1491 = t92 * t1490; + const double t1494 = t213 * t103; + const double t1495 = t1494 * t223; + const double t1498 = t223 * t501; + const double t1499 = t522 * t1498; + const double t1501 = t1444 * t86 * t227; + const double t1502 = t1173 * t1501; + const double t1505 = t32 * t1464; + const double t1506 = t524 * t1505; + const double t1509 = 0.35e2 / 0.72e2 * t1443 * t242 * t1444 - 0.5e1 / 0.48e2 * t1479 * t1481 + 0.5e1 / 0.24e2 * t518 * t242 * t1464 - t1489 * t1491 / 0.8e1 - t1495 * t526 / 0.8e1 + 0.9e1 / 0.128e3 * t1499 * t1502 - t523 * t1506 / 0.32e2; + const double t1510 = t515 * t1509; + const double t1513 = -0.5e1 / 0.8e1 * t1410 * t1411 - 0.25e2 / 0.16e2 * t1415 + 0.15e2 / 0.128e3 * t1417 * t1420 + 0.5e1 / 0.16e2 * t492 * t1424 - 0.5e1 / 0.32e2 * t492 * t1427 - t1432 + 0.15e2 / 0.128e3 * t1434 + 0.5e1 / 0.16e2 * t1437 - 0.9e1 / 0.256e3 * t1441 * t1446 - 0.3e1 / 0.128e3 * t1450 * t1453 + t504 * t1459 / 0.128e3 + 0.3e1 / 0.256e3 * t504 * t1466 - t512 * t1473 / 0.16e2 + t512 * t1510 / 0.32e2; + const double t1514 = t66 * t1513; + const double t1517 = t533 * t533; + const double t1519 = t250 * t254; + const double t1522 = t1513 * t254; + const double t1525 = t252 * t250; + const double t1526 = t66 * t1525; + const double t1527 = t1517 * t254; + const double t1530 = t1514 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t66 * t1517 * t1519 - t536 * t1522 / 0.1e3 + t1526 * t1527 / 0.1e3; + const double t1531 = t257 * t1530; + const double t1532 = t1531 * t289; + const double t1535 = t541 * t567; + const double t1538 = -t1513; + const double t1539 = piecewise_functor_3( t266, 0.0, t1538 ); + const double t1541 = t546 * t546; + const double t1545 = t267 * t1541; + const double t1549 = t269 * t1541; + const double t1553 = t271 * t1541; + const double t1557 = t273 * t1541; + const double t1565 = -0.667e0 * t1539 - 0.889111e0 * t1541 - 0.889111e0 * t267 * t1539 - 0.3978519606294e1 * t1545 - 0.1989259803147e1 * t269 * t1539 + 0.1741556453388e2 * t1549 + 0.580518817796e1 * t271 * t1539 - 0.1775996083194e2 * t1553 - 0.4439990207985e1 * t273 * t1539 + 0.703586824437e1 * t1557 + 0.1407173648874e1 * t275 * t1539 - 0.973805419524e0 * t275 * t1541 - 0.162300903254e0 * t277 * t1539; + const double t1566 = t561 * t283; + const double t1567 = 0.1e1 / t1566; + const double t1568 = t563 * t563; + const double t1573 = piecewise_functor_3( t266, t1538, 0.0 ); + const double t1577 = t561 * t561; + const double t1578 = 0.1e1 / t1577; + const double t1583 = piecewise_functor_3( t265, t1565, -t1325 * t1578 * t1568 * t286 - 0.2e1 * t442 * t1567 * t1568 * t286 - t442 * t562 * t1573 * t286 ); + const double t1586 = -0.8e1 * t1400 * t1403 + 0.2e1 * t490 * t1406 + 0.2e1 * t490 * t1532 - 0.4e1 * t490 * t1535 - t264 * t1583 + 0.1174e1 * t1583; + const double t1587 = t28 * t1586; + const double t1588 = t1587 * t304; + const double t1592 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t1383 * t305 - t1386 / 0.4e1 - 0.3e1 / 0.4e1 * t481 * t572 + t1393 - t1396 / 0.4e1 - 0.3e1 / 0.8e1 * t187 * t1588 ); + const double t1607 = t584 * t322; + const double t1620 = t320 * t641; + const double t1621 = t1620 * t173; + const double t1622 = t27 * t1621; + const double t1624 = t1065 * t123; + const double t1637 = t1218 * t587; + const double t1643 = t580 * t86; + const double t1644 = t1643 * t89; + const double t1664 = t1245 * t593; + const double t1695 = t1114 * t604; + const double t1731 = t1168 * t600 / 0.8e1; + const double t1756 = t116 * t412 * t120; + const double t1804 = t442 * t1314; + const double t1813 = t1325 * t1327; + const double t1842 = t653 * t485; + const double t1850 = t320 * t749; + const double t1851 = t1850 * t304; + const double t1852 = t187 * t1851; + const double t1862 = t1414 * t680; + const double t1864 = t649 * t86; + const double t1865 = t1864 * t227; + const double t1879 = t491 * t223; + const double t1884 = t497 * t223; + const double t1885 = t1884 * t689; + const double t1887 = t1498 * t246; + const double t1888 = t215 * t1887; + const double t1889 = t688 * t86; + const double t1890 = t1889 * t227; + const double t1903 = t1433 * t695; + const double t1930 = t1436 * t710; + const double t1942 = t241 * t693; + const double t1954 = t518 * t222; + const double t1959 = t222 * t235; + const double t1960 = t522 * t1959; + const double t1961 = t688 * t46; + const double t1970 = t1495 * t706 / 0.8e1; + const double t2040 = t442 * t1567; + const double t2049 = t1325 * t1578; + const double t2064 = t484 * t756; + const double t2065 = t754 * t2064; + const double t2066 = t2065 * t763; + const double t2078 = t580 * t580; + const double t2083 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t309 + 0.2e1 * t1030 ); + const double t2087 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t1025 * t2078 + 0.4e1 / 0.3e1 * t24 * t2083 ); + const double t2088 = t6 * t2087; + const double t2095 = t613 * t613; + const double t2096 = t124 * t2095; + const double t2097 = t2096 * t155; + const double t2100 = t2095 * t155; + const double t2103 = t359 * t2078; + const double t2107 = t1644 * t592; + const double t2110 = t580 * t603; + const double t2111 = t390 * t2110; + const double t2114 = t359 * t2083; + const double t2119 = t591 * t591; + const double t2120 = t1173 * t2119; + const double t2121 = t1126 * t2120; + const double t2124 = t599 * t603; + const double t2125 = t1208 * t2124; + const double t2128 = t92 * t2119; + const double t2129 = t1188 * t2128; + const double t2134 = t2083 * t7 + 0.2e1 * t580; + const double t2135 = t92 * t2134; + const double t2136 = t380 * t2135; + const double t2139 = t603 * t603; + const double t2140 = t1240 * t2139; + const double t2147 = t99 * t2119 * t92; + const double t2153 = t591 * t580; + const double t2154 = t92 * t2153; + const double t2158 = t2119 * t86 * t89; + const double t2159 = t1173 * t2158; + const double t2162 = t32 * t2134; + const double t2163 = t403 * t2162; + const double t2166 = 0.35e2 / 0.72e2 * t1126 * t108 * t2119 - 0.5e1 / 0.48e2 * t1136 * t2147 + 0.5e1 / 0.24e2 * t393 * t108 * t2134 - t1162 * t2154 / 0.8e1 - t1731 + 0.9e1 / 0.128e3 * t1172 * t2159 - t402 * t2163 / 0.32e2; + const double t2167 = t390 * t2166; + const double t2170 = -0.5e1 / 0.8e1 * t1214 * t2103 - 0.25e2 / 0.16e2 * t1637 + 0.15e2 / 0.128e3 * t1193 * t2107 + 0.5e1 / 0.16e2 * t358 * t2111 - 0.5e1 / 0.32e2 * t358 * t2114 - t1110 + 0.15e2 / 0.128e3 * t1664 + 0.5e1 / 0.16e2 * t1695 - 0.9e1 / 0.256e3 * t1254 * t2121 - 0.3e1 / 0.128e3 * t1207 * t2125 + t379 * t2129 / 0.128e3 + 0.3e1 / 0.256e3 * t379 * t2136 - t387 * t2140 / 0.16e2 + t387 * t2167 / 0.32e2; + const double t2171 = t66 * t2170; + const double t2174 = t607 * t607; + const double t2175 = t66 * t2174; + const double t2178 = t2170 * t120; + const double t2181 = t2174 * t120; + const double t2184 = t2171 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t2175 * t1265 - t416 * t2178 / 0.1e3 + t1272 * t2181 / 0.1e3; + const double t2185 = t123 * t2184; + const double t2186 = t2185 * t155; + const double t2189 = t614 * t638; + const double t2192 = -t2170; + const double t2193 = piecewise_functor_3( t132, 0.0, t2192 ); + const double t2195 = t619 * t619; + const double t2197 = t133 * t2193; + const double t2199 = t133 * t2195; + const double t2201 = t135 * t2193; + const double t2203 = t135 * t2195; + const double t2205 = t137 * t2193; + const double t2207 = t137 * t2195; + const double t2209 = t139 * t2193; + const double t2211 = t139 * t2195; + const double t2213 = t141 * t2193; + const double t2219 = -0.667e0 * t2193 - 0.889111e0 * t2195 - 0.889111e0 * t2197 - 0.3978519606294e1 * t2199 - 0.1989259803147e1 * t2201 + 0.1741556453388e2 * t2203 + 0.580518817796e1 * t2205 - 0.1775996083194e2 * t2207 - 0.4439990207985e1 * t2209 + 0.703586824437e1 * t2211 + 0.1407173648874e1 * t2213 - 0.973805419524e0 * t141 * t2195 - 0.162300903254e0 * t143 * t2193; + const double t2220 = t634 * t634; + const double t2225 = piecewise_functor_3( t132, t2192, 0.0 ); + const double t2233 = piecewise_functor_3( t131, t2219, -0.2e1 * t442 * t1314 * t2220 * t152 - t1325 * t1327 * t2220 * t152 - t442 * t444 * t2225 * t152 ); + const double t2236 = -0.8e1 * t1065 * t2097 + 0.2e1 * t328 * t2100 + 0.2e1 * t328 * t2186 - 0.4e1 * t328 * t2189 - t130 * t2233 + 0.1174e1 * t2233; + const double t2237 = t28 * t2236; + const double t2238 = t2237 * t173; + const double t2242 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t2088 * t174 - t1607 / 0.4e1 - 0.3e1 / 0.4e1 * t584 * t643 + t1054 - t1622 / 0.4e1 - 0.3e1 / 0.8e1 * t27 * t2238 ); + const double t2243 = t649 * t649; + const double t2248 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t309 + 0.2e1 * t1375 ); + const double t2252 = piecewise_functor_3( t183, 0.0, 0.4e1 / 0.9e1 * t1371 * t2243 + 0.4e1 / 0.3e1 * t184 * t2248 ); + const double t2253 = t6 * t2252; + const double t2259 = t460 * t652; + const double t2260 = t2259 * t757; + const double t2265 = t723 * t723; + const double t2266 = t2265 * t289; + const double t2270 = 0.1e1 / t190 / t197; + const double t2271 = sigma_bb * t2270; + const double t2274 = t197 * t656; + const double t2276 = 0.1e1 / t189 / t2274; + const double t2281 = t670 * t188; + const double t2282 = 0.1e1 / t2281; + const double t2287 = t196 * t196; + const double t2288 = t1089 * t2287; + const double t2289 = t670 * t197; + const double t2291 = 0.1e1 / t190 / t2289; + const double t2293 = t33 * t206; + const double t2294 = t2291 * t29 * t2293; + const double t2297 = t720 * t720; + const double t2302 = t493 * t2243; + const double t2305 = t649 * t688; + const double t2306 = t493 * t2305; + const double t2309 = t649 * t709; + const double t2310 = t515 * t2309; + const double t2313 = t215 * t222; + const double t2314 = t688 * t688; + const double t2315 = t493 * t2314; + const double t2318 = t688 * t709; + const double t2319 = t515 * t2318; + const double t2322 = t709 * t709; + const double t2323 = t1471 * t2322; + const double t2329 = t493 * t2248; + const double t2336 = piecewise_functor_3( t221, 0.4e2 / 0.9e1 * tau_b * t658 - 0.11e2 / 0.9e1 * t2271, 0.0 ); + const double t2337 = t493 * t2336; + const double t2340 = t693 * t693; + const double t2348 = t235 * t2340 * t92; + const double t2353 = t2248 * t7 + 0.2e1 * t649; + const double t2357 = t2314 * t241; + const double t2360 = t1961 * t705; + const double t2366 = t693 * t649; + const double t2367 = t92 * t2366; + const double t2371 = t2340 * t86 * t227; + const double t2372 = t1173 * t2371; + const double t2375 = t32 * t2353; + const double t2376 = t524 * t2375; + const double t2379 = 0.35e2 / 0.72e2 * t1443 * t242 * t2340 + 0.5e1 / 0.6e1 * t1954 * t1942 * t688 - 0.5e1 / 0.48e2 * t1479 * t2348 + 0.5e1 / 0.24e2 * t518 * t242 * t2353 + t240 * t2357 / 0.8e1 - t1960 * t2360 / 0.8e1 + t240 * t701 * t2336 / 0.8e1 - t1489 * t2367 / 0.8e1 - t1970 + 0.9e1 / 0.128e3 * t1499 * t2372 - t523 * t2376 / 0.32e2; + const double t2380 = t515 * t2379; + const double t2383 = t1865 * t694; + const double t2386 = t1890 * t694; + const double t2389 = t705 * t709; + const double t2390 = t1451 * t2389; + const double t2393 = t92 * t2340; + const double t2394 = t1457 * t2393; + const double t2398 = t1173 * t2340; + const double t2399 = t1443 * t2398; + const double t2402 = t92 * t2353; + const double t2403 = t505 * t2402; + const double t2406 = -0.5e1 / 0.8e1 * t1410 * t2302 - 0.15e2 / 0.16e2 * t1879 * t2306 + 0.5e1 / 0.16e2 * t492 * t2310 - 0.3e1 / 0.16e2 * t2313 * t2315 + 0.3e1 / 0.16e2 * t683 * t2319 - t512 * t2323 / 0.16e2 - 0.15e2 / 0.16e2 * t1885 + 0.5e1 / 0.16e2 * t1930 - 0.25e2 / 0.16e2 * t1862 - 0.5e1 / 0.32e2 * t492 * t2329 - 0.3e1 / 0.32e2 * t683 * t2337 + t512 * t2380 / 0.32e2 - t1432 + 0.15e2 / 0.128e3 * t1417 * t2383 + 0.9e1 / 0.128e3 * t1888 * t2386 - 0.3e1 / 0.128e3 * t1450 * t2390 + t504 * t2394 / 0.128e3 + 0.15e2 / 0.128e3 * t1903 - 0.9e1 / 0.256e3 * t1441 * t2399 + 0.3e1 / 0.256e3 * t504 * t2403; + const double t2407 = t66 * t2406; + const double t2410 = t713 * t713; + const double t2411 = t66 * t2410; + const double t2414 = t2406 * t254; + const double t2417 = t2410 * t254; + const double t2420 = 0.77e2 / 0.1458e5 * t67 * t202 * t2270 + t2407 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t2411 * t1519 - t536 * t2414 / 0.1e3 + t1526 * t2417 / 0.1e3; + const double t2423 = 0.11e3 / 0.2187e4 * t34 * t2271 + 0.19e2 / 0.324e3 * t50 * t196 * t2276 * t206 - 0.43e2 / 0.32e3 * t345 * t669 * t2282 * t206 + 0.27e2 / 0.32e4 * t2288 * t2294 + 0.2e1 * t2297 + 0.2e1 * t257 * t2420; + const double t2424 = t2423 * t289; + const double t2426 = t723 * t746; + const double t2429 = -t2406; + const double t2430 = piecewise_functor_3( t266, 0.0, t2429 ); + const double t2432 = t727 * t727; + const double t2434 = t267 * t2430; + const double t2436 = t267 * t2432; + const double t2438 = t269 * t2430; + const double t2440 = t269 * t2432; + const double t2442 = t271 * t2430; + const double t2444 = t271 * t2432; + const double t2446 = t273 * t2430; + const double t2448 = t273 * t2432; + const double t2450 = t275 * t2430; + const double t2456 = -0.667e0 * t2430 - 0.889111e0 * t2432 - 0.889111e0 * t2434 - 0.3978519606294e1 * t2436 - 0.1989259803147e1 * t2438 + 0.1741556453388e2 * t2440 + 0.580518817796e1 * t2442 - 0.1775996083194e2 * t2444 - 0.4439990207985e1 * t2446 + 0.703586824437e1 * t2448 + 0.1407173648874e1 * t2450 - 0.973805419524e0 * t275 * t2432 - 0.162300903254e0 * t277 * t2430; + const double t2457 = t742 * t742; + const double t2462 = piecewise_functor_3( t266, t2429, 0.0 ); + const double t2470 = piecewise_functor_3( t265, t2456, -t1325 * t1578 * t2457 * t286 - 0.2e1 * t442 * t1567 * t2457 * t286 - t442 * t562 * t2462 * t286 ); + const double t2473 = -0.2e1 * t1400 * t2266 + t490 * t2424 - 0.2e1 * t490 * t2426 - t264 * t2470 + 0.1174e1 * t2470; + const double t2474 = t28 * t2473; + const double t2475 = t2474 * t304; + const double t2478 = t750 * t756; + const double t2479 = t754 * t2478; + const double t2484 = 0.1e1 / t299 / t194 / 0.6e1; + const double t2485 = t293 * t2484; + const double t2486 = t754 * t2485; + const double t2488 = t34 * t2271 * t303; + const double t2492 = 0.1e1 / t189 / t656; + const double t2495 = t162 * t294 * t2492 * t303; + const double t2498 = t3 * t186; + const double t2499 = t2498 * t293; + const double t2500 = 0.1e1 / t190; + const double t2502 = t34 * t303; + const double t2503 = t918 * t2500 * t2502; + const double t2506 = -0.3e1 / 0.8e1 * t2253 * t305 - t1842 / 0.4e1 - 0.3e1 / 0.4e1 * t653 * t751 - 0.33783472665808775022e1 * t2260 * t763 + t1393 - t1852 / 0.4e1 - 0.11261157555269591674e1 * t2066 - 0.3e1 / 0.8e1 * t187 * t2475 - 0.33783472665808775022e1 * t2479 * t763 - 0.20270083599485265013e2 * t2486 * t2488 + 0.39414051443443570859e1 * t758 * t2495 + 0.54992529167845016504e2 * t2499 * t2503; + const double t2507 = piecewise_functor_3( t178, 0.0, t2506 ); + const double t2512 = t320 * t835; + const double t2513 = t2512 * t173; + const double t2515 = t27 * t2513 / 0.8e1; + const double t2516 = t810 * t423; + const double t2529 = t1089 * t346; + const double t2530 = t347 * t329; + const double t2532 = 0.1e1 / t37 / t2530; + const double t2534 = t2532 * t29 * t1096; + const double t2539 = t33 * t331; + const double t2542 = t785 * t312; + const double t2543 = t359 * t2542; + const double t2547 = 0.15e2 / 0.32e2 * t1111 * t786; + const double t2548 = t785 * t371; + const double t2549 = t359 * t2548; + const double t2552 = t785 * t86; + const double t2553 = t2552 * t89; + const double t2554 = t2553 * t383; + const double t2557 = t785 * t408; + const double t2558 = t390 * t2557; + const double t2562 = piecewise_functor_3( t82, t331 / 0.3e1, 0.0 ); + const double t2563 = t359 * t2562; + const double t2566 = t357 * t792; + const double t2567 = t795 * t312; + const double t2568 = t794 * t2567; + const double t2571 = t363 * t792; + const double t2573 = 0.5e1 / 0.256e3 * t2571 * t796; + const double t2574 = t76 * t1252; + const double t2575 = t795 * t371; + const double t2576 = t794 * t2575; + const double t2579 = t71 * t71; + const double t2580 = t2579 * t20; + const double t2581 = t74 * t74; + const double t2582 = t2581 * t7; + const double t2583 = t2580 * t2582; + const double t2585 = 0.1e1 / t375 / t97; + const double t2586 = t789 * t2585; + const double t2587 = t2583 * t2586; + const double t2588 = t389 * t785; + const double t2589 = t2588 * t383; + const double t2592 = t1239 * t101; + const double t2593 = t795 * t408; + const double t2594 = t2592 * t2593; + const double t2597 = t392 * t785; + const double t2598 = t2597 * t382; + const double t2599 = t794 * t2598; + const double t2602 = t105 * t2562; + const double t2603 = t794 * t2602; + const double t2606 = -0.15e2 / 0.32e2 * t1221 * t2543 - t2547 - 0.3e1 / 0.16e2 * t1230 * t2549 + 0.9e1 / 0.256e3 * t1200 * t2554 + 0.3e1 / 0.32e2 * t366 * t2558 - 0.3e1 / 0.32e2 * t366 * t2563 + 0.5e1 / 0.256e3 * t2566 * t2568 + t2573 + t2574 * t2576 / 0.64e2 - 0.5e1 / 0.1024e4 * t2587 * t2589 - t793 * t2594 / 0.128e3 + 0.5e1 / 0.384e3 * t793 * t2599 + t793 * t2603 / 0.256e3; + const double t2607 = t66 * t2606; + const double t2612 = t2606 * t120; + const double t2616 = t799 * t412 * t120; + const double t2619 = -0.7e1 / 0.486e4 * t67 * t2539 + t2607 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t800 * t1756 - t416 * t2612 / 0.1e3 + t1272 * t2616 / 0.1e3; + const double t2622 = -0.1e2 / 0.729e3 * t34 * t331 - t50 * sigma_aa * t337 * t62 / 0.54e2 + 0.3e1 / 0.64e2 * t345 * t51 * t349 * t62 - 0.81e2 / 0.256e5 * t2529 * t2534 + 0.2e1 * t420 * t806 + 0.2e1 * t123 * t2619; + const double t2623 = t2622 * t155; + const double t2625 = t809 * t449; + const double t2627 = t423 * t832; + const double t2629 = -t2606; + const double t2630 = piecewise_functor_3( t132, 0.0, t2629 ); + const double t2632 = t427 * t813; + const double t2634 = t133 * t2630; + const double t2638 = t135 * t2630; + const double t2642 = t137 * t2630; + const double t2646 = t139 * t2630; + const double t2650 = t141 * t2630; + const double t2656 = -0.667e0 * t2630 - 0.889111e0 * t2632 - 0.889111e0 * t2634 - 0.3978519606294e1 * t815 * t427 - 0.1989259803147e1 * t2638 + 0.1741556453388e2 * t817 * t427 + 0.580518817796e1 * t2642 - 0.1775996083194e2 * t819 * t427 - 0.4439990207985e1 * t2646 + 0.703586824437e1 * t821 * t427 + 0.1407173648874e1 * t2650 - 0.973805419524e0 * t823 * t427 - 0.162300903254e0 * t143 * t2630; + const double t2657 = t828 * t152; + const double t2658 = t2657 * t445; + const double t2661 = piecewise_functor_3( t132, t2629, 0.0 ); + const double t2667 = piecewise_functor_3( t131, t2656, -t442 * t444 * t2661 * t152 - 0.2e1 * t1804 * t2658 - t1813 * t2658 ); + const double t2670 = -0.2e1 * t1065 * t2516 + t328 * t2623 - t328 * t2625 - t328 * t2627 - t130 * t2667 + 0.1174e1 * t2667; + const double t2671 = t28 * t2670; + const double t2672 = t2671 * t173; + const double t2675 = t836 * t463; + const double t2676 = t461 * t2675; + const double t2682 = 0.21114670416130484389e0 * t1060 * t843; + const double t2685 = t461 * t159; + const double t2686 = t1346 * t29; + const double t2688 = t2686 * t2539 * t172; + const double t2693 = t162 * t840 * t467 * t172; + const double t2696 = t163 * sigma_aa; + const double t2697 = 0.1e1 / t2696; + const double t2699 = t2697 * t36 * t1364; + const double t2703 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t316 * t837 - t2515 - 0.3e1 / 0.8e1 * t27 * t2672 - 0.16891736332904387511e1 * t2676 * t470 + 0.63344011248391453166e0 * t1046 * t843 + t2682 + 0.63344011248391453166e0 * t1341 * t843 + 0.76012813498069743799e1 * t2685 * t2688 - 0.84458681664521937554e0 * t465 * t2693 - 0.20622198437941881189e2 * t1361 * t2699 ); + const double t2707 = t320 * t913; + const double t2708 = t2707 * t304; + const double t2710 = t187 * t2708 / 0.8e1; + const double t2720 = 0.15e2 / 0.32e2 * t1884 * t864; + const double t2721 = t863 * t86; + const double t2722 = t2721 * t227; + const double t2730 = t491 * t870; + const double t2735 = t497 * t870; + const double t2737 = 0.5e1 / 0.256e3 * t2735 * t874; + const double t2738 = t213 * t213; + const double t2739 = t2738 * t182; + const double t2740 = t2739 * t2582; + const double t2742 = 0.1e1 / t500 / t233; + const double t2743 = t867 * t2742; + const double t2744 = t2740 * t2743; + const double t2745 = t514 * t863; + const double t2749 = t1470 * t101; + const double t2754 = t517 * t863; + const double t2811 = t906 * t286; + const double t2832 = 0.21114670416130484389e0 * t2065 * t921; + const double t2950 = t888 * t723; + const double t2963 = t1089 * t669; + const double t2964 = t670 * t656; + const double t2966 = 0.1e1 / t190 / t2964; + const double t2968 = t2966 * t29 * t2293; + const double t2973 = t33 * t658; + const double t2976 = t863 * t649; + const double t2977 = t493 * t2976; + const double t2980 = t863 * t688; + const double t2981 = t493 * t2980; + const double t2984 = t2722 * t694; + const double t2987 = t863 * t709; + const double t2988 = t515 * t2987; + const double t2992 = piecewise_functor_3( t221, t658 / 0.3e1, 0.0 ); + const double t2993 = t493 * t2992; + const double t2996 = t873 * t649; + const double t2997 = t872 * t2996; + const double t3000 = t215 * t1439; + const double t3001 = t873 * t688; + const double t3002 = t872 * t3001; + const double t3005 = t2745 * t694; + const double t3008 = t873 * t709; + const double t3009 = t2749 * t3008; + const double t3012 = t2754 * t693; + const double t3013 = t872 * t3012; + const double t3016 = t239 * t2992; + const double t3017 = t872 * t3016; + const double t3020 = -0.15e2 / 0.32e2 * t1879 * t2977 - t2720 - 0.3e1 / 0.16e2 * t2313 * t2981 + 0.9e1 / 0.256e3 * t1888 * t2984 + 0.3e1 / 0.32e2 * t683 * t2988 - 0.3e1 / 0.32e2 * t683 * t2993 + 0.5e1 / 0.256e3 * t2730 * t2997 + t2737 + t3000 * t3002 / 0.64e2 - 0.5e1 / 0.1024e4 * t2744 * t3005 - t871 * t3009 / 0.128e3 + 0.5e1 / 0.384e3 * t871 * t3013 + t871 * t3017 / 0.256e3; + const double t3021 = t66 * t3020; + const double t3025 = t250 * t713 * t254; + const double t3028 = t3020 * t254; + const double t3031 = t877 * t713; + const double t3032 = t3031 * t254; + const double t3035 = -0.7e1 / 0.486e4 * t67 * t2973 + t3021 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t878 * t3025 - t536 * t3028 / 0.1e3 + t1526 * t3032 / 0.1e3; + const double t3038 = -0.1e2 / 0.729e3 * t34 * t658 - t50 * sigma_bb * t664 * t206 / 0.54e2 + 0.3e1 / 0.64e2 * t345 * t196 * t672 * t206 - 0.81e2 / 0.256e5 * t2963 * t2968 + 0.2e1 * t720 * t884 + 0.2e1 * t257 * t3035; + const double t3039 = t3038 * t289; + const double t3041 = t887 * t746; + const double t3043 = t723 * t910; + const double t3045 = -t3020; + const double t3046 = piecewise_functor_3( t266, 0.0, t3045 ); + const double t3048 = t727 * t891; + const double t3050 = t267 * t3046; + const double t3054 = t269 * t3046; + const double t3058 = t271 * t3046; + const double t3062 = t273 * t3046; + const double t3066 = t275 * t3046; + const double t3072 = -0.667e0 * t3046 - 0.889111e0 * t3048 - 0.889111e0 * t3050 - 0.3978519606294e1 * t893 * t727 - 0.1989259803147e1 * t3054 + 0.1741556453388e2 * t895 * t727 + 0.580518817796e1 * t3058 - 0.1775996083194e2 * t897 * t727 - 0.4439990207985e1 * t3062 + 0.703586824437e1 * t899 * t727 + 0.1407173648874e1 * t3066 - 0.973805419524e0 * t901 * t727 - 0.162300903254e0 * t277 * t3046; + const double t3073 = t2811 * t742; + const double t3076 = piecewise_functor_3( t266, t3045, 0.0 ); + const double t3082 = piecewise_functor_3( t265, t3072, -t442 * t562 * t3076 * t286 - 0.2e1 * t2040 * t3073 - t2049 * t3073 ); + const double t3085 = -0.2e1 * t1400 * t2950 + t490 * t3039 - t490 * t3041 - t490 * t3043 - t264 * t3082 + 0.1174e1 * t3082; + const double t3086 = t28 * t3085; + const double t3087 = t3086 * t304; + const double t3090 = t914 * t756; + const double t3091 = t754 * t3090; + const double t3098 = t754 * t293; + const double t3099 = t2484 * t29; + const double t3101 = t3099 * t2973 * t303; + const double t3106 = t162 * t918 * t760 * t303; + const double t3109 = t294 * sigma_bb; + const double t3110 = 0.1e1 / t3109; + const double t3112 = t3110 * t189 * t2502; + const double t3116 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t653 * t915 - t2710 - 0.3e1 / 0.8e1 * t187 * t3087 - 0.16891736332904387511e1 * t3091 * t763 + 0.63344011248391453166e0 * t2260 * t921 + t2832 + 0.63344011248391453166e0 * t2479 * t921 + 0.76012813498069743799e1 * t3098 * t3101 - 0.84458681664521937554e0 * t758 * t3106 - 0.20622198437941881189e2 * t2499 * t3112 ); + const double t3120 = t320 * t968; + const double t3121 = t3120 * t173; + const double t3123 = t27 * t3121 / 0.8e1; + const double t3124 = t940 * t155; + const double t3125 = t3124 * t423; + const double t3128 = t420 * t940; + const double t3132 = t926 * t312; + const double t3133 = t359 * t3132; + const double t3137 = 0.15e2 / 0.32e2 * t1111 * t927; + const double t3138 = t926 * t371; + const double t3139 = t359 * t3138; + const double t3142 = t926 * t86; + const double t3143 = t3142 * t89; + const double t3144 = t3143 * t383; + const double t3147 = t926 * t408; + const double t3148 = t390 * t3147; + const double t3152 = piecewise_functor_3( t82, -0.5e1 / 0.3e1 * t39, 0.0 ); + const double t3153 = t359 * t3152; + const double t3157 = t794 * t930 * t312; + const double t3161 = 0.5e1 / 0.256e3 * t2571 * t931; + const double t3163 = t794 * t930 * t371; + const double t3166 = t389 * t926; + const double t3167 = t3166 * t383; + const double t3171 = t2592 * t930 * t408; + const double t3174 = t392 * t926; + const double t3176 = t794 * t3174 * t382; + const double t3179 = t105 * t3152; + const double t3180 = t794 * t3179; + const double t3183 = -0.15e2 / 0.32e2 * t1221 * t3133 - t3137 - 0.3e1 / 0.16e2 * t1230 * t3139 + 0.9e1 / 0.256e3 * t1200 * t3144 + 0.3e1 / 0.32e2 * t366 * t3148 - 0.3e1 / 0.32e2 * t366 * t3153 + 0.5e1 / 0.256e3 * t2566 * t3157 + t3161 + t2574 * t3163 / 0.64e2 - 0.5e1 / 0.1024e4 * t2587 * t3167 - t793 * t3171 / 0.128e3 + 0.5e1 / 0.384e3 * t793 * t3176 + t793 * t3180 / 0.256e3; + const double t3184 = t66 * t3183; + const double t3189 = t3183 * t120; + const double t3193 = t934 * t412 * t120; + const double t3196 = t3184 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t935 * t1756 - t416 * t3189 / 0.1e3 + t1272 * t3193 / 0.1e3; + const double t3197 = t123 * t3196; + const double t3204 = t423 * t965; + const double t3206 = -t3183; + const double t3207 = piecewise_functor_3( t132, 0.0, t3206 ); + const double t3209 = t427 * t946; + const double t3211 = t133 * t3207; + const double t3215 = t135 * t3207; + const double t3219 = t137 * t3207; + const double t3223 = t139 * t3207; + const double t3227 = t141 * t3207; + const double t3233 = -0.667e0 * t3207 - 0.889111e0 * t3209 - 0.889111e0 * t3211 - 0.3978519606294e1 * t948 * t427 - 0.1989259803147e1 * t3215 + 0.1741556453388e2 * t950 * t427 + 0.580518817796e1 * t3219 - 0.1775996083194e2 * t952 * t427 - 0.4439990207985e1 * t3223 + 0.703586824437e1 * t954 * t427 + 0.1407173648874e1 * t3227 - 0.973805419524e0 * t956 * t427 - 0.162300903254e0 * t143 * t3207; + const double t3234 = t961 * t152; + const double t3235 = t3234 * t445; + const double t3238 = piecewise_functor_3( t132, t3206, 0.0 ); + const double t3244 = piecewise_functor_3( t131, t3233, -t442 * t444 * t3238 * t152 - 0.2e1 * t1804 * t3235 - t1813 * t3235 ); + const double t3247 = -0.4e1 * t1624 * t3125 + 0.2e1 * t328 * t3128 * t155 + 0.2e1 * t328 * t3197 * t155 - 0.2e1 * t328 * t941 * t449 - t328 * t3204 - t130 * t3244 + 0.1174e1 * t3244; + const double t3248 = t28 * t3247; + const double t3249 = t3248 * t173; + const double t3252 = t969 * t463; + const double t3253 = t461 * t3252; + const double t3257 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t316 * t970 - t3123 - 0.3e1 / 0.8e1 * t27 * t3249 - 0.16891736332904387511e1 * t3253 * t470 ); + const double t3261 = t320 * t1016; + const double t3262 = t3261 * t304; + const double t3264 = t187 * t3262 / 0.8e1; + const double t3266 = t988 * t289; + const double t3277 = 0.15e2 / 0.32e2 * t1884 * t975; + const double t3278 = t974 * t86; + const double t3279 = t3278 * t227; + const double t3292 = 0.5e1 / 0.256e3 * t2735 * t979; + const double t3293 = t514 * t974; + const double t3301 = t517 * t974; + const double t3358 = t1009 * t286; + const double t3487 = t1400 * t257; + const double t3488 = t3266 * t723; + const double t3491 = t720 * t988; + const double t3495 = t974 * t649; + const double t3496 = t493 * t3495; + const double t3499 = t974 * t688; + const double t3500 = t493 * t3499; + const double t3503 = t3279 * t694; + const double t3506 = t974 * t709; + const double t3507 = t515 * t3506; + const double t3511 = piecewise_functor_3( t221, -0.5e1 / 0.3e1 * t192, 0.0 ); + const double t3512 = t493 * t3511; + const double t3516 = t872 * t978 * t649; + const double t3520 = t872 * t978 * t688; + const double t3523 = t3293 * t694; + const double t3527 = t2749 * t978 * t709; + const double t3531 = t872 * t3301 * t693; + const double t3534 = t239 * t3511; + const double t3535 = t872 * t3534; + const double t3538 = -0.15e2 / 0.32e2 * t1879 * t3496 - t3277 - 0.3e1 / 0.16e2 * t2313 * t3500 + 0.9e1 / 0.256e3 * t1888 * t3503 + 0.3e1 / 0.32e2 * t683 * t3507 - 0.3e1 / 0.32e2 * t683 * t3512 + 0.5e1 / 0.256e3 * t2730 * t3516 + t3292 + t3000 * t3520 / 0.64e2 - 0.5e1 / 0.1024e4 * t2744 * t3523 - t871 * t3527 / 0.128e3 + 0.5e1 / 0.384e3 * t871 * t3531 + t871 * t3535 / 0.256e3; + const double t3539 = t66 * t3538; + const double t3544 = t3538 * t254; + const double t3548 = t982 * t713 * t254; + const double t3551 = t3539 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t983 * t3025 - t536 * t3544 / 0.1e3 + t1526 * t3548 / 0.1e3; + const double t3552 = t257 * t3551; + const double t3559 = t723 * t1013; + const double t3561 = -t3538; + const double t3562 = piecewise_functor_3( t266, 0.0, t3561 ); + const double t3564 = t727 * t994; + const double t3566 = t267 * t3562; + const double t3570 = t269 * t3562; + const double t3574 = t271 * t3562; + const double t3578 = t273 * t3562; + const double t3582 = t275 * t3562; + const double t3588 = -0.667e0 * t3562 - 0.889111e0 * t3564 - 0.889111e0 * t3566 - 0.3978519606294e1 * t996 * t727 - 0.1989259803147e1 * t3570 + 0.1741556453388e2 * t998 * t727 + 0.580518817796e1 * t3574 - 0.1775996083194e2 * t1000 * t727 - 0.4439990207985e1 * t3578 + 0.703586824437e1 * t1002 * t727 + 0.1407173648874e1 * t3582 - 0.973805419524e0 * t1004 * t727 - 0.162300903254e0 * t277 * t3562; + const double t3589 = t3358 * t742; + const double t3592 = piecewise_functor_3( t266, t3561, 0.0 ); + const double t3598 = piecewise_functor_3( t265, t3588, -t442 * t562 * t3592 * t286 - 0.2e1 * t2040 * t3589 - t2049 * t3589 ); + const double t3601 = -0.4e1 * t3487 * t3488 + 0.2e1 * t490 * t3491 * t289 + 0.2e1 * t490 * t3552 * t289 - 0.2e1 * t490 * t989 * t746 - t490 * t3559 - t264 * t3598 + 0.1174e1 * t3598; + const double t3602 = t28 * t3601; + const double t3603 = t3602 * t304; + const double t3606 = t1017 * t756; + const double t3607 = t754 * t3606; + const double t3611 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t653 * t1018 - t3264 - 0.3e1 / 0.8e1 * t187 * t3603 - 0.16891736332904387511e1 * t3607 * t763 ); + const double t3613 = t809 * t809; + const double t3614 = t3613 * t155; + const double t3625 = t1089 * t51; + const double t3627 = 0.1e1 / t37 / t1082; + const double t3629 = t3627 * t29 * t1096; + const double t3632 = t806 * t806; + const double t3634 = t785 * t785; + const double t3635 = t359 * t3634; + const double t3638 = t389 * t3634; + const double t3639 = t3638 * t106; + const double t3642 = piecewise_functor_3( t82, 0.0, 0.0 ); + const double t3643 = t359 * t3642; + const double t3645 = 0.3e1 / 0.32e2 * t366 * t3643; + const double t3646 = t789 * t83; + const double t3648 = 0.1e1 / t375 / t98; + const double t3649 = t3646 * t3648; + const double t3650 = t76 * t3649; + const double t3651 = t1239 * t86; + const double t3652 = t71 * t70; + const double t3653 = t74 * t73; + const double t3654 = t3652 * t3653; + const double t3655 = t89 * t3654; + const double t3656 = t3655 * t3634; + const double t3657 = t3651 * t3656; + const double t3660 = t105 * t3642; + const double t3661 = t794 * t3660; + const double t3663 = t793 * t3661 / 0.256e3; + const double t3664 = -0.3e1 / 0.16e2 * t1230 * t3635 + 0.7e1 / 0.256e3 * t2574 * t3639 - t3645 - t3650 * t3657 / 0.512e3 + t3663; + const double t3665 = t66 * t3664; + const double t3668 = t799 * t799; + const double t3669 = t66 * t3668; + const double t3672 = t3664 * t120; + const double t3675 = t3668 * t120; + const double t3678 = t3665 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t3669 * t1265 - t416 * t3672 / 0.1e3 + t1272 * t3675 / 0.1e3; + const double t3681 = t47 * t49 * t55 * t62 / 0.288e3 - 0.9e1 / 0.64e3 * t345 * sigma_aa * t776 * t62 + 0.243e3 / 0.2048e6 * t3625 * t3629 + 0.2e1 * t3632 + 0.2e1 * t123 * t3678; + const double t3682 = t3681 * t155; + const double t3684 = t809 * t832; + const double t3687 = -t3664; + const double t3688 = piecewise_functor_3( t132, 0.0, t3687 ); + const double t3690 = t813 * t813; + const double t3692 = t133 * t3688; + const double t3694 = t133 * t3690; + const double t3696 = t135 * t3688; + const double t3698 = t135 * t3690; + const double t3700 = t137 * t3688; + const double t3702 = t137 * t3690; + const double t3704 = t139 * t3688; + const double t3706 = t139 * t3690; + const double t3708 = t141 * t3688; + const double t3714 = -0.667e0 * t3688 - 0.889111e0 * t3690 - 0.889111e0 * t3692 - 0.3978519606294e1 * t3694 - 0.1989259803147e1 * t3696 + 0.1741556453388e2 * t3698 + 0.580518817796e1 * t3700 - 0.1775996083194e2 * t3702 - 0.4439990207985e1 * t3704 + 0.703586824437e1 * t3706 + 0.1407173648874e1 * t3708 - 0.973805419524e0 * t141 * t3690 - 0.162300903254e0 * t143 * t3688; + const double t3715 = t828 * t828; + const double t3720 = piecewise_functor_3( t132, t3687, 0.0 ); + const double t3728 = piecewise_functor_3( t131, t3714, -0.2e1 * t442 * t1314 * t3715 * t152 - t1325 * t1327 * t3715 * t152 - t442 * t444 * t3720 * t152 ); + const double t3731 = -0.2e1 * t1065 * t3614 + t328 * t3682 - 0.2e1 * t328 * t3684 - t130 * t3728 + 0.1174e1 * t3728; + const double t3732 = t28 * t3731; + const double t3733 = t3732 * t173; + const double t3738 = 0.1e1 / sigma_aa; + const double t3741 = t34 * t3738 * t39 * t172; + const double t3746 = t162 * t2697 * t165 * t172; + const double t3750 = 0.1e1 / t163 / t51; + const double t3752 = t3750 * t164 * t1364; + const double t3756 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3733 + 0.12668802249678290633e1 * t2676 * t843 - 0.28504805061776153925e1 * t1348 * t3741 - 0.31672005624195726583e0 * t465 * t3746 + 0.77333244142282054459e1 * t1361 * t3752 ); + const double t3757 = t887 * t887; + const double t3758 = t3757 * t289; + const double t3769 = t1089 * t196; + const double t3771 = 0.1e1 / t190 / t2281; + const double t3773 = t3771 * t29 * t2293; + const double t3776 = t884 * t884; + const double t3778 = t863 * t863; + const double t3779 = t493 * t3778; + const double t3782 = t514 * t3778; + const double t3783 = t3782 * t240; + const double t3786 = piecewise_functor_3( t221, 0.0, 0.0 ); + const double t3787 = t493 * t3786; + const double t3789 = 0.3e1 / 0.32e2 * t683 * t3787; + const double t3790 = t867 * t222; + const double t3792 = 0.1e1 / t500 / t234; + const double t3793 = t3790 * t3792; + const double t3794 = t215 * t3793; + const double t3795 = t1470 * t86; + const double t3796 = t213 * t212; + const double t3797 = t3796 * t3653; + const double t3798 = t227 * t3797; + const double t3799 = t3798 * t3778; + const double t3800 = t3795 * t3799; + const double t3803 = t239 * t3786; + const double t3804 = t872 * t3803; + const double t3806 = t871 * t3804 / 0.256e3; + const double t3807 = -0.3e1 / 0.16e2 * t2313 * t3779 + 0.7e1 / 0.256e3 * t3000 * t3783 - t3789 - t3794 * t3800 / 0.512e3 + t3806; + const double t3808 = t66 * t3807; + const double t3811 = t877 * t877; + const double t3812 = t66 * t3811; + const double t3815 = t3807 * t254; + const double t3818 = t3811 * t254; + const double t3821 = t3808 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t3812 * t1519 - t536 * t3815 / 0.1e3 + t1526 * t3818 / 0.1e3; + const double t3824 = t47 * t49 * t200 * t206 / 0.288e3 - 0.9e1 / 0.64e3 * t345 * sigma_bb * t854 * t206 + 0.243e3 / 0.2048e6 * t3769 * t3773 + 0.2e1 * t3776 + 0.2e1 * t257 * t3821; + const double t3825 = t3824 * t289; + const double t3827 = t887 * t910; + const double t3830 = -t3807; + const double t3831 = piecewise_functor_3( t266, 0.0, t3830 ); + const double t3833 = t891 * t891; + const double t3835 = t267 * t3831; + const double t3837 = t267 * t3833; + const double t3839 = t269 * t3831; + const double t3841 = t269 * t3833; + const double t3843 = t271 * t3831; + const double t3845 = t271 * t3833; + const double t3847 = t273 * t3831; + const double t3849 = t273 * t3833; + const double t3851 = t275 * t3831; + const double t3857 = -0.667e0 * t3831 - 0.889111e0 * t3833 - 0.889111e0 * t3835 - 0.3978519606294e1 * t3837 - 0.1989259803147e1 * t3839 + 0.1741556453388e2 * t3841 + 0.580518817796e1 * t3843 - 0.1775996083194e2 * t3845 - 0.4439990207985e1 * t3847 + 0.703586824437e1 * t3849 + 0.1407173648874e1 * t3851 - 0.973805419524e0 * t275 * t3833 - 0.162300903254e0 * t277 * t3831; + const double t3858 = t906 * t906; + const double t3863 = piecewise_functor_3( t266, t3830, 0.0 ); + const double t3871 = piecewise_functor_3( t265, t3857, -t1325 * t1578 * t3858 * t286 - 0.2e1 * t442 * t1567 * t3858 * t286 - t442 * t562 * t3863 * t286 ); + const double t3874 = -0.2e1 * t1400 * t3758 + t490 * t3825 - 0.2e1 * t490 * t3827 - t264 * t3871 + 0.1174e1 * t3871; + const double t3875 = t28 * t3874; + const double t3876 = t3875 * t304; + const double t3881 = 0.1e1 / sigma_bb; + const double t3884 = t34 * t3881 * t192 * t303; + const double t3889 = t162 * t3110 * t296 * t303; + const double t3893 = 0.1e1 / t294 / t196; + const double t3895 = t3893 * t295 * t2502; + const double t3899 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t3876 + 0.12668802249678290633e1 * t3091 * t921 - 0.28504805061776153925e1 * t2486 * t3884 - 0.31672005624195726583e0 * t758 * t3889 + 0.77333244142282054459e1 * t2499 * t3895 ); + const double t3900 = t3124 * t809; + const double t3903 = t806 * t940; + const double t3907 = t926 * t785; + const double t3908 = t359 * t3907; + const double t3911 = t106 * t785; + const double t3912 = t3166 * t3911; + const double t3915 = t3655 * t926; + const double t3917 = t3651 * t3915 * t785; + const double t3920 = -0.3e1 / 0.16e2 * t1230 * t3908 + 0.7e1 / 0.256e3 * t2574 * t3912 - t3645 - t3650 * t3917 / 0.512e3 + t3663; + const double t3921 = t66 * t3920; + const double t3924 = t116 * t799; + const double t3925 = t3924 * t120; + const double t3928 = t3920 * t120; + const double t3932 = t934 * t799 * t120; + const double t3935 = t3921 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t935 * t3925 - t416 * t3928 / 0.1e3 + t1272 * t3932 / 0.1e3; + const double t3936 = t123 * t3935; + const double t3943 = t809 * t965; + const double t3945 = -t3920; + const double t3946 = piecewise_functor_3( t132, 0.0, t3945 ); + const double t3948 = t813 * t946; + const double t3950 = t133 * t3946; + const double t3954 = t135 * t3946; + const double t3958 = t137 * t3946; + const double t3962 = t139 * t3946; + const double t3966 = t141 * t3946; + const double t3972 = -0.667e0 * t3946 - 0.889111e0 * t3948 - 0.889111e0 * t3950 - 0.3978519606294e1 * t948 * t813 - 0.1989259803147e1 * t3954 + 0.1741556453388e2 * t950 * t813 + 0.580518817796e1 * t3958 - 0.1775996083194e2 * t952 * t813 - 0.4439990207985e1 * t3962 + 0.703586824437e1 * t954 * t813 + 0.1407173648874e1 * t3966 - 0.973805419524e0 * t956 * t813 - 0.162300903254e0 * t143 * t3946; + const double t3973 = t3234 * t828; + const double t3976 = piecewise_functor_3( t132, t3945, 0.0 ); + const double t3982 = piecewise_functor_3( t131, t3972, -t442 * t444 * t3976 * t152 - 0.2e1 * t1804 * t3973 - t1813 * t3973 ); + const double t3985 = -0.4e1 * t1624 * t3900 + 0.2e1 * t328 * t3903 * t155 + 0.2e1 * t328 * t3936 * t155 - 0.2e1 * t328 * t941 * t832 - t328 * t3943 - t130 * t3982 + 0.1174e1 * t3982; + const double t3986 = t28 * t3985; + const double t3987 = t3986 * t173; + const double t3993 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t3987 + 0.63344011248391453166e0 * t3253 * t843 ); + const double t3994 = t3266 * t887; + const double t3997 = t884 * t988; + const double t4001 = t974 * t863; + const double t4002 = t493 * t4001; + const double t4005 = t240 * t863; + const double t4006 = t3293 * t4005; + const double t4009 = t3798 * t974; + const double t4011 = t3795 * t4009 * t863; + const double t4014 = -0.3e1 / 0.16e2 * t2313 * t4002 + 0.7e1 / 0.256e3 * t3000 * t4006 - t3789 - t3794 * t4011 / 0.512e3 + t3806; + const double t4015 = t66 * t4014; + const double t4018 = t250 * t877; + const double t4019 = t4018 * t254; + const double t4022 = t4014 * t254; + const double t4026 = t982 * t877 * t254; + const double t4029 = t4015 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t983 * t4019 - t536 * t4022 / 0.1e3 + t1526 * t4026 / 0.1e3; + const double t4030 = t257 * t4029; + const double t4037 = t887 * t1013; + const double t4039 = -t4014; + const double t4040 = piecewise_functor_3( t266, 0.0, t4039 ); + const double t4042 = t891 * t994; + const double t4044 = t267 * t4040; + const double t4048 = t269 * t4040; + const double t4052 = t271 * t4040; + const double t4056 = t273 * t4040; + const double t4060 = t275 * t4040; + const double t4066 = -0.667e0 * t4040 - 0.889111e0 * t4042 - 0.889111e0 * t4044 - 0.3978519606294e1 * t996 * t891 - 0.1989259803147e1 * t4048 + 0.1741556453388e2 * t998 * t891 + 0.580518817796e1 * t4052 - 0.1775996083194e2 * t1000 * t891 - 0.4439990207985e1 * t4056 + 0.703586824437e1 * t1002 * t891 + 0.1407173648874e1 * t4060 - 0.973805419524e0 * t1004 * t891 - 0.162300903254e0 * t277 * t4040; + const double t4067 = t3358 * t906; + const double t4070 = piecewise_functor_3( t266, t4039, 0.0 ); + const double t4076 = piecewise_functor_3( t265, t4066, -t442 * t562 * t4070 * t286 - 0.2e1 * t2040 * t4067 - t2049 * t4067 ); + const double t4079 = -0.4e1 * t3487 * t3994 + 0.2e1 * t490 * t3997 * t289 + 0.2e1 * t490 * t4030 * t289 - 0.2e1 * t490 * t989 * t910 - t490 * t4037 - t264 * t4076 + 0.1174e1 * t4076; + const double t4080 = t28 * t4079; + const double t4081 = t4080 * t304; + const double t4087 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t4081 + 0.63344011248391453166e0 * t3607 * t921 ); + const double t4088 = t940 * t940; + const double t4089 = t124 * t4088; + const double t4093 = t4088 * t155; + const double t4096 = t926 * t926; + const double t4097 = t359 * t4096; + const double t4100 = t389 * t4096; + const double t4101 = t4100 * t106; + const double t4104 = t3655 * t4096; + const double t4105 = t3651 * t4104; + const double t4108 = -0.3e1 / 0.16e2 * t1230 * t4097 + 0.7e1 / 0.256e3 * t2574 * t4101 - t3645 - t3650 * t4105 / 0.512e3 + t3663; + const double t4109 = t66 * t4108; + const double t4112 = t934 * t934; + const double t4113 = t66 * t4112; + const double t4119 = t4112 * t120; + const double t4122 = t4109 * t120 / 0.1e3 - 0.3e1 / 0.1e3 * t4113 * t1265 - t416 * t4108 * t120 / 0.1e3 + t1272 * t4119 / 0.1e3; + const double t4123 = t123 * t4122; + const double t4130 = -t4108; + const double t4131 = piecewise_functor_3( t132, 0.0, t4130 ); + const double t4133 = t946 * t946; + const double t4135 = t133 * t4131; + const double t4137 = t133 * t4133; + const double t4139 = t135 * t4131; + const double t4141 = t135 * t4133; + const double t4143 = t137 * t4131; + const double t4145 = t137 * t4133; + const double t4147 = t139 * t4131; + const double t4149 = t139 * t4133; + const double t4151 = t141 * t4131; + const double t4157 = -0.667e0 * t4131 - 0.889111e0 * t4133 - 0.889111e0 * t4135 - 0.3978519606294e1 * t4137 - 0.1989259803147e1 * t4139 + 0.1741556453388e2 * t4141 + 0.580518817796e1 * t4143 - 0.1775996083194e2 * t4145 - 0.4439990207985e1 * t4147 + 0.703586824437e1 * t4149 + 0.1407173648874e1 * t4151 - 0.973805419524e0 * t141 * t4133 - 0.162300903254e0 * t143 * t4131; + const double t4158 = t961 * t961; + const double t4163 = piecewise_functor_3( t132, t4130, 0.0 ); + const double t4171 = piecewise_functor_3( t131, t4157, -0.2e1 * t442 * t1314 * t4158 * t152 - t1325 * t1327 * t4158 * t152 - t442 * t444 * t4163 * t152 ); + const double t4174 = -0.8e1 * t1065 * t4089 * t155 + 0.2e1 * t328 * t4093 + 0.2e1 * t328 * t4123 * t155 - 0.4e1 * t328 * t941 * t965 - t130 * t4171 + 0.1174e1 * t4171; + const double t4175 = t28 * t4174; + const double t4176 = t4175 * t173; + const double t4179 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t4176 ); + const double t4180 = t988 * t988; + const double t4181 = t258 * t4180; + const double t4185 = t4180 * t289; + const double t4188 = t974 * t974; + const double t4189 = t493 * t4188; + const double t4192 = t514 * t4188; + const double t4193 = t4192 * t240; + const double t4196 = t3798 * t4188; + const double t4197 = t3795 * t4196; + const double t4200 = -0.3e1 / 0.16e2 * t2313 * t4189 + 0.7e1 / 0.256e3 * t3000 * t4193 - t3789 - t3794 * t4197 / 0.512e3 + t3806; + const double t4201 = t66 * t4200; + const double t4204 = t982 * t982; + const double t4205 = t66 * t4204; + const double t4211 = t4204 * t254; + const double t4214 = t4201 * t254 / 0.1e3 - 0.3e1 / 0.1e3 * t4205 * t1519 - t536 * t4200 * t254 / 0.1e3 + t1526 * t4211 / 0.1e3; + const double t4215 = t257 * t4214; + const double t4222 = -t4200; + const double t4223 = piecewise_functor_3( t266, 0.0, t4222 ); + const double t4225 = t994 * t994; + const double t4227 = t267 * t4223; + const double t4229 = t267 * t4225; + const double t4231 = t269 * t4223; + const double t4233 = t269 * t4225; + const double t4235 = t271 * t4223; + const double t4237 = t271 * t4225; + const double t4239 = t273 * t4223; + const double t4241 = t273 * t4225; + const double t4243 = t275 * t4223; + const double t4249 = -0.667e0 * t4223 - 0.889111e0 * t4225 - 0.889111e0 * t4227 - 0.3978519606294e1 * t4229 - 0.1989259803147e1 * t4231 + 0.1741556453388e2 * t4233 + 0.580518817796e1 * t4235 - 0.1775996083194e2 * t4237 - 0.4439990207985e1 * t4239 + 0.703586824437e1 * t4241 + 0.1407173648874e1 * t4243 - 0.973805419524e0 * t275 * t4225 - 0.162300903254e0 * t277 * t4223; + const double t4250 = t1009 * t1009; + const double t4255 = piecewise_functor_3( t266, t4222, 0.0 ); + const double t4263 = piecewise_functor_3( t265, t4249, -t1325 * t1578 * t4250 * t286 - 0.2e1 * t442 * t1567 * t4250 * t286 - t442 * t562 * t4255 * t286 ); + const double t4266 = -0.8e1 * t1400 * t4181 * t289 + 0.2e1 * t490 * t4185 + 0.2e1 * t490 * t4215 * t289 - 0.4e1 * t490 * t989 * t1013 - t264 * t4263 + 0.1174e1 * t4263; + const double t4267 = t28 * t4266; + const double t4268 = t4267 * t304; + const double t4271 = piecewise_functor_3( t178, 0.0, -0.3e1 / 0.8e1 * t187 * t4268 ); + + + vrho_a = t177 + t308 + t7 * ( t474 + t576 ); + vrho_b = t177 + t308 + t7 * ( t647 + t767 ); + vsigma_aa = t7 * t847; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t925; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t973; + vtau_b = t7 * t1021; + v2rho2_aa = 0.2e1 * t474 + 0.2e1 * t576 + t7 * ( t1369 + t1592 ); + v2rho2_bb = 0.2e1 * t647 + 0.2e1 * t767 + t7 * ( t2242 + t2507 ); + v2rhosigma_a_aa = t7 * t2703 + t847; + v2rhosigma_b_bb = t7 * t3116 + t925; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t3257 + t973; + v2rhotau_b_b = t7 * t3611 + t1021; + v2sigma2_aa_aa = t7 * t3756; + v2sigma2_bb_bb = t7 * t3899; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t3993; + v2sigmatau_bb_b = t7 * t4087; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t4179; + v2tau2_bb = t7 * t4271; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinRSCAN_X : detail::BuiltinKernelImpl< BuiltinRSCAN_X > { + + BuiltinRSCAN_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinRSCAN_X >(p) { } + + virtual ~BuiltinRSCAN_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/scan_c.hpp b/include/exchcxx/impl/builtin/kernels/scan_c.hpp index c324e12..17123a2 100644 --- a/include/exchcxx/impl/builtin/kernels/scan_c.hpp +++ b/include/exchcxx/impl/builtin/kernels/scan_c.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinSCAN_C > : static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; @@ -37,7 +86,6 @@ struct kernel_traits< BuiltinSCAN_C > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; @@ -156,7 +204,6 @@ struct kernel_traits< BuiltinSCAN_C > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; @@ -402,190 +449,3218 @@ struct kernel_traits< BuiltinSCAN_C > : } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { - (void)(lapl_a); - (void)(lapl_b); - (void)(eps); + (void)(lapl); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; - constexpr double t57 = constants::m_cbrt_2; - constexpr double t95 = constants::m_pi_sq; - constexpr double t173 = constants::m_cbrt_6; - constexpr double t175 = constants::m_cbrt_pi_sq; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t116 = constants::m_cbrt_6; + constexpr double t118 = constants::m_cbrt_pi_sq; constexpr double t5 = t2 * t4; constexpr double t7 = t6 * t6; - constexpr double t20 = t2 * t2; - constexpr double t21 = t4 * t4; - constexpr double t22 = t20 * t21; - constexpr double t58 = t57 - 0.1e1; - constexpr double t60 = 0.1e1 / t58 / 0.2e1; - constexpr double t132 = 0.1e1 / t4; - constexpr double t133 = t20 * t132; - constexpr double t134 = t133 * t6; - constexpr double t176 = t175 * t175; - constexpr double t177 = 0.1e1 / t176; - constexpr double t219 = t173 * t177; - constexpr double t220 = t57 * t57; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t92 = 0.1e1 / t4; + constexpr double t94 = t19 * t92 * t6; + constexpr double t119 = t118 * t118; + constexpr double t120 = 0.1e1 / t119; + constexpr double t121 = t40 * t40; + constexpr double t122 = t120 * t121; + constexpr double t161 = t116 * t120; + constexpr double t193 = t4 * t7; + constexpr double t347 = t40 * t19; + constexpr double t348 = t92 * t6; + constexpr double t408 = t5 * t7; + constexpr double t423 = t20 * t6; + constexpr double t560 = t61 * t61; + constexpr double t699 = t116 * t116; + constexpr double t702 = 0.1e1 / t118 / t61; + constexpr double t703 = t702 * t40; + constexpr double t731 = t347 * t92; + constexpr double t864 = 0.1e1 / t20; + constexpr double t865 = t2 * t864; + constexpr double t866 = t865 * t7; + constexpr double t879 = t121 * t2; - const double t8 = rho_a + rho_b; - const double t9 = safe_math::cbrt( t8 ); - const double t12 = t5 * t7 / t9; - const double t14 = 0.1e1 + 0.53425e-1 * t12; - const double t15 = safe_math::sqrt( t12 ); - const double t18 = pow_3_2( t12 ); - const double t23 = t9 * t9; - const double t26 = t22 * t6 / t23; - const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; - const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; - const double t32 = safe_math::log( t31 ); - const double t34 = 0.621814e-1 * t14 * t32; - const double t35 = rho_a - rho_b; - const double t36 = t35 * t35; - const double t37 = t36 * t36; - const double t38 = t8 * t8; - const double t39 = t38 * t38; - const double t40 = 0.1e1 / t39; - const double t41 = t37 * t40; - const double t42 = 0.1e1 / t8; - const double t43 = t35 * t42; - const double t44 = 0.1e1 + t43; - const double t45 = t44 <= zeta_tol; - const double t46 = safe_math::cbrt( zeta_tol ); - const double t47 = t46 * zeta_tol; - const double t48 = safe_math::cbrt( t44 ); - const double t49 = t48 * t44; - const double t50 = piecewise_functor_3( t45, t47, t49 ); - const double t51 = 0.1e1 - t43; - const double t52 = t51 <= zeta_tol; - const double t53 = safe_math::cbrt( t51 ); - const double t54 = t53 * t51; - const double t55 = piecewise_functor_3( t52, t47, t54 ); - const double t56 = t50 + t55 - 0.2e1; - const double t61 = t56 * t60; - const double t63 = 0.1e1 + 0.5137e-1 * t12; - const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; - const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; - const double t72 = safe_math::log( t71 ); - const double t76 = 0.1e1 + 0.278125e-1 * t12; - const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; - const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; - const double t85 = safe_math::log( t84 ); - const double t86 = t76 * t85; - const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; - const double t89 = t61 * t88; - const double t90 = t41 * t89; - const double t92 = 0.19751673498613801407e-1 * t61 * t86; - const double t93 = safe_math::log( 0.2e1 ); - const double t94 = 0.1e1 - t93; - const double t97 = t94 / t95; - const double t98 = t46 * t46; - const double t99 = t48 * t48; - const double t100 = piecewise_functor_3( t45, t98, t99 ); - const double t101 = t53 * t53; - const double t102 = piecewise_functor_3( t52, t98, t101 ); - const double t104 = t100 / 0.2e1 + t102 / 0.2e1; - const double t105 = t104 * t104; - const double t106 = t105 * t104; - const double t108 = 0.1e1 + 0.25e-1 * t12; - const double t110 = 0.1e1 + 0.4445e-1 * t12; - const double t111 = 0.1e1 / t110; - const double t112 = t108 * t111; - const double t113 = 0.1e1 / t94; - const double t115 = ( -t34 + t90 + t92 ) * t113; - const double t116 = 0.1e1 / t106; - const double t117 = t95 * t116; - const double t119 = safe_math::exp( -t115 * t117 ); - const double t120 = t119 - 0.1e1; - const double t121 = 0.1e1 / t120; - const double t122 = t113 * t121; - const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; - const double t125 = t122 * t124; - const double t126 = t112 * t125; - const double t128 = 0.1e1 / t9 / t38; - const double t129 = t128 * t57; - const double t130 = 0.1e1 / t105; - const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; - const double t139 = pow_1_4( t138 ); - const double t141 = 0.1e1 - 0.1e1 / t139; - const double t144 = 0.1e1 + 0.1e1 * t141 * t120; - const double t145 = safe_math::log( t144 ); - const double t147 = t97 * t106 * t145; - const double t148 = safe_math::cbrt( rho_a ); - const double t149 = t148 * t148; - const double t151 = 0.1e1 / t149 / rho_a; - const double t152 = tau_a * t151; - const double t153 = t44 / 0.2e1; - const double t154 = safe_math::cbrt( t153 ); - const double t155 = t154 * t154; - const double t156 = t155 * t153; - const double t158 = safe_math::cbrt( rho_b ); - const double t159 = t158 * t158; - const double t161 = 0.1e1 / t159 / rho_b; - const double t162 = tau_b * t161; - const double t163 = t51 / 0.2e1; - const double t164 = safe_math::cbrt( t163 ); - const double t165 = t164 * t164; - const double t166 = t165 * t163; - const double t169 = 0.1e1 / t23 / t38; - const double t174 = ( t152 * t156 + t162 * t166 - t124 * t169 / 0.8e1 ) * t173; - const double t178 = t156 + t166; - const double t179 = 0.1e1 / t178; - const double t180 = t177 * t179; - const double t182 = 0.5e1 / 0.9e1 * t174 * t180; - const double t183 = t182 <= 0.1e1; - const double t184 = safe_math::log( DBL_EPSILON ); - const double t187 = t184 / ( -t184 + 0.64e0 ); - const double t188 = -t187 < t182; - const double t189 = t182 < -t187; - const double t190 = piecewise_functor_3( t189, t182, -t187 ); - const double t191 = 0.1e1 - t190; - const double t192 = 0.1e1 / t191; - const double t195 = safe_math::exp( -0.64e0 * t190 * t192 ); - const double t196 = piecewise_functor_3( t188, 0.0, t195 ); - const double t198 = safe_math::log( 0.14285714285714285714e1 * DBL_EPSILON ); - const double t201 = ( -t198 + 0.15e1 ) / t198; - const double t202 = t182 < -t201; - const double t203 = piecewise_functor_3( t202, -t201, t182 ); - const double t204 = 0.1e1 - t203; - const double t207 = safe_math::exp( 0.15e1 / t204 ); - const double t209 = piecewise_functor_3( t202, 0.0, -0.7e0 * t207 ); - const double t210 = piecewise_functor_3( t183, t196, t209 ); - const double t213 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; - const double t214 = 0.1e1 / t213; - const double t217 = safe_math::exp( 0.1e1 * t214 ); - const double t218 = t217 - 0.1e1; - const double t221 = t220 * t124; - const double t225 = 0.1e1 + 0.21337642104376358333e-1 * t219 * t221 * t169; - const double t226 = pow_1_4( t225 ); - const double t228 = 0.1e1 - 0.1e1 / t226; - const double t230 = t218 * t228 + 0.1e1; - const double t231 = safe_math::log( t230 ); - const double t233 = -0.285764e-1 * t214 + 0.285764e-1 * t231; - const double t237 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; - const double t238 = t233 * t237; - const double t239 = t37 * t37; - const double t240 = t239 * t37; - const double t241 = t39 * t39; - const double t242 = t241 * t39; - const double t243 = 0.1e1 / t242; - const double t245 = -t240 * t243 + 0.1e1; - const double t247 = t238 * t245 - t147 + t34 - t90 - t92; - const double t248 = t210 * t247; + const double t8 = safe_math::cbrt( rho ); + const double t11 = t5 * t7 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t6 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t51 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 + 0.25e-1 * t11; + const double t71 = 0.1e1 + 0.4445e-1 * t11; + const double t72 = 0.1e1 / t71; + const double t73 = t69 * t72; + const double t74 = 0.1e1 / t60; + const double t77 = 0.1e1 / t67; + const double t78 = t61 * t77; + const double t80 = safe_math::exp( -( -t33 + t58 ) * t74 * t78 ); + const double t81 = t80 - 0.1e1; + const double t82 = 0.1e1 / t81; + const double t83 = t74 * t82; + const double t84 = t83 * sigma; + const double t85 = t73 * t84; + const double t86 = rho * rho; + const double t88 = 0.1e1 / t8 / t86; + const double t89 = t88 * t40; + const double t90 = 0.1e1 / t66; + const double t98 = 0.1e1 + 0.27439371595564631661e-1 * t85 * t89 * t90 * t94; + const double t99 = pow_1_4( t98 ); + const double t101 = 0.1e1 - 0.1e1 / t99; + const double t104 = 0.1e1 + 0.1e1 * t101 * t81; + const double t105 = safe_math::log( t104 ); + const double t107 = t63 * t67 * t105; + const double t109 = 0.1e1 / t22 / rho; + const double t112 = 0.1e1 / t22 / t86; + const double t124 = 0.5e1 / 0.9e1 * ( tau * t109 - sigma * t112 / 0.8e1 ) * t116 * t122; + const double t125 = t124 <= 0.1e1; + const double t126 = safe_math::log( DBL_EPSILON ); + const double t129 = t126 / ( -t126 + 0.64e0 ); + const double t130 = -t129 < t124; + const double t131 = t124 < -t129; + const double t132 = piecewise_functor_3( t131, t124, -t129 ); + const double t133 = 0.1e1 - t132; + const double t134 = 0.1e1 / t133; + const double t137 = safe_math::exp( -0.64e0 * t132 * t134 ); + const double t138 = piecewise_functor_3( t130, 0.0, t137 ); + const double t140 = safe_math::log( 0.14285714285714285714e1 * DBL_EPSILON ); + const double t143 = ( -t140 + 0.15e1 ) / t140; + const double t144 = t124 < -t143; + const double t145 = piecewise_functor_3( t144, -t143, t124 ); + const double t146 = 0.1e1 - t145; + const double t149 = safe_math::exp( 0.15e1 / t146 ); + const double t151 = piecewise_functor_3( t144, 0.0, -0.7e0 * t149 ); + const double t152 = piecewise_functor_3( t125, t138, t151 ); + const double t155 = 0.1e1 + 0.4445e-1 * t14 + 0.3138525e-1 * t11; + const double t156 = 0.1e1 / t155; + const double t159 = safe_math::exp( 0.1e1 * t156 ); + const double t160 = t159 - 0.1e1; + const double t162 = t121 * sigma; + const double t166 = 0.1e1 + 0.21337642104376358333e-1 * t161 * t162 * t112; + const double t167 = pow_1_4( t166 ); + const double t169 = 0.1e1 - 0.1e1 / t167; + const double t171 = t160 * t169 + 0.1e1; + const double t172 = safe_math::log( t171 ); + const double t178 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t180 = ( -0.285764e-1 * t156 + 0.285764e-1 * t172 ) * t178 + t33 - t58 - t107; + const double t183 = 0.1e1 / t8 / rho; + const double t184 = t7 * t183; + const double t186 = t5 * t184 * t31; + const double t187 = 0.11073470983333333333e-2 * t186; + const double t188 = t27 * t27; + const double t189 = 0.1e1 / t188; + const double t190 = t13 * t189; + const double t192 = 0.1e1 / t14 * t2; + const double t194 = t193 * t183; + const double t195 = t192 * t194; + const double t197 = t5 * t184; + const double t199 = safe_math::sqrt( t11 ); + const double t200 = t199 * t2; + const double t201 = t200 * t194; + const double t204 = t21 * t6 * t109; + const double t206 = -0.632975e0 * t195 - 0.29896666666666666667e0 * t197 - 0.1023875e0 * t201 - 0.82156666666666666667e-1 * t204; + const double t207 = 0.1e1 / t30; + const double t208 = t206 * t207; + const double t209 = t190 * t208; + const double t210 = 0.1e1 * t209; + const double t211 = t44 * t2; + const double t214 = t211 * t193 * t183 * t55; + const double t215 = 0.18311447306006545054e-3 * t214; + const double t216 = t44 * t46; + const double t217 = t51 * t51; + const double t218 = 0.1e1 / t217; + const double t223 = -0.86308333333333333334e0 * t195 - 0.301925e0 * t197 - 0.5501625e-1 * t201 - 0.82785e-1 * t204; + const double t225 = 0.1e1 / t54; + const double t226 = t218 * t223 * t225; + const double t227 = t216 * t226; + const double t228 = 0.5848223622634646207e0 * t227; + const double t230 = 0.1e1 / t99 / t98; + const double t231 = t86 * rho; + const double t233 = 0.1e1 / t22 / t231; + const double t234 = t233 * t72; + const double t237 = t40 * t90; + const double t238 = t82 * sigma * t237; + const double t241 = t71 * t71; + const double t242 = 0.1e1 / t241; + const double t243 = t69 * t242; + const double t244 = t243 * t83; + const double t245 = sigma * t233; + const double t249 = t60 * t60; + const double t250 = 0.1e1 / t249; + const double t251 = t73 * t250; + const double t252 = t81 * t81; + const double t253 = 0.1e1 / t252; + const double t254 = t253 * sigma; + const double t255 = t254 * t89; + const double t256 = t251 * t255; + const double t257 = t66 * t66; + const double t259 = 0.1e1 / t257 / t65; + const double t260 = t259 * t19; + const double t261 = t260 * t92; + const double t262 = t187 + t210 - t215 - t228; + const double t264 = t61 * t80; + const double t265 = t6 * t262 * t264; + const double t266 = t261 * t265; + const double t270 = 0.1e1 / t8 / t231; + const double t271 = t270 * t40; + const double t276 = -0.27439371595564631661e-2 * t234 * t74 * t238 + 0.48787202696913915093e-2 * t244 * t245 * t237 + 0.27439371595564631661e-1 * t256 * t266 - 0.64025200389650807209e-1 * t85 * t271 * t90 * t94; + const double t277 = t230 * t276; + const double t282 = t78 * t80; + const double t285 = 0.25e0 * t277 * t81 - 0.1e1 * t101 * t262 * t74 * t282; + const double t287 = 0.1e1 / t104; + const double t289 = t63 * t67 * t285 * t287; + const double t296 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau * t112 + t245 / 0.3e1 ) * t116 * t122; + const double t297 = piecewise_functor_3( t131, t296, 0.0 ); + const double t300 = t133 * t133; + const double t301 = 0.1e1 / t300; + const double t302 = t132 * t301; + const double t305 = -0.64e0 * t297 * t134 - 0.64e0 * t302 * t297; + const double t306 = t305 * t137; + const double t307 = piecewise_functor_3( t130, 0.0, t306 ); + const double t308 = t146 * t146; + const double t309 = 0.1e1 / t308; + const double t310 = piecewise_functor_3( t144, 0.0, t296 ); + const double t314 = piecewise_functor_3( t144, 0.0, -0.105e1 * t309 * t310 * t149 ); + const double t315 = piecewise_functor_3( t125, t307, t314 ); + const double t316 = t315 * t180; + const double t317 = t155 * t155; + const double t318 = 0.1e1 / t317; + const double t321 = -0.74083333333333333333e-2 * t195 - 0.1046175e-1 * t197; + const double t322 = t318 * t321; + const double t324 = t159 * t169; + const double t328 = 0.1e1 / t167 / t166; + const double t329 = t160 * t328; + const double t330 = t329 * t116; + const double t334 = -0.1e1 * t322 * t324 - 0.14225094736250905555e-1 * t330 * t122 * t245; + const double t335 = 0.1e1 / t171; + const double t340 = ( 0.285764e-1 * t322 + 0.285764e-1 * t334 * t335 ) * t178 - t187 - t210 + t215 + t228 - t289; + const double t341 = t152 * t340; + const double t344 = t65 * t230; + const double t345 = t73 * t88; + const double t346 = t344 * t345; + const double t349 = t348 * t287; + const double t350 = t347 * t349; + const double t352 = 0.69504740211613770831e-3 * t346 * t350; + const double t353 = t112 * t116; + const double t354 = t353 * t122; + const double t355 = 0.5e1 / 0.72e2 * t354; + const double t356 = piecewise_functor_3( t131, -t355, 0.0 ); + const double t361 = -0.64e0 * t356 * t134 - 0.64e0 * t302 * t356; + const double t362 = t361 * t137; + const double t363 = piecewise_functor_3( t130, 0.0, t362 ); + const double t364 = piecewise_functor_3( t144, 0.0, -t355 ); + const double t368 = piecewise_functor_3( t144, 0.0, -0.105e1 * t309 * t364 * t149 ); + const double t369 = piecewise_functor_3( t125, t363, t368 ); + const double t370 = t369 * t180; + const double t371 = t329 * t353; + const double t372 = t335 * t178; + const double t373 = t122 * t372; + const double t376 = 0.15243824895787514157e-3 * t371 * t373 - t352; + const double t377 = t152 * t376; + const double t381 = 0.5e1 / 0.9e1 * t109 * t116 * t122; + const double t382 = piecewise_functor_3( t131, t381, 0.0 ); + const double t387 = -0.64e0 * t382 * t134 - 0.64e0 * t302 * t382; + const double t388 = t387 * t137; + const double t389 = piecewise_functor_3( t130, 0.0, t388 ); + const double t390 = piecewise_functor_3( t144, 0.0, t381 ); + const double t394 = piecewise_functor_3( t144, 0.0, -0.105e1 * t309 * t390 * t149 ); + const double t395 = piecewise_functor_3( t125, t389, t394 ); + const double t396 = rho * t395; + const double t404 = t7 * t88; + const double t406 = t5 * t404 * t31; + const double t407 = 0.14764627977777777777e-2 * t406; + const double t409 = t183 * t189; + const double t411 = t408 * t409 * t208; + const double t412 = 0.35616666666666666666e-1 * t411; + const double t413 = t188 * t27; + const double t414 = 0.1e1 / t413; + const double t415 = t13 * t414; + const double t416 = t206 * t206; + const double t417 = t416 * t207; + const double t418 = t415 * t417; + const double t419 = 0.2e1 * t418; + const double t422 = 0.1e1 / t14 / t11 * t19; + const double t424 = t423 * t112; + const double t425 = t422 * t424; + const double t427 = t193 * t88; + const double t428 = t192 * t427; + const double t430 = t5 * t404; + const double t432 = 0.1e1/safe_math::sqrt( t11 ); + const double t433 = t432 * t19; + const double t434 = t433 * t424; + const double t436 = t200 * t427; + const double t439 = t21 * t6 * t112; + const double t441 = -0.42198333333333333333e0 * t425 + 0.84396666666666666666e0 * t428 + 0.39862222222222222223e0 * t430 + 0.68258333333333333333e-1 * t434 + 0.13651666666666666667e0 * t436 + 0.13692777777777777778e0 * t439; + const double t442 = t441 * t207; + const double t443 = t190 * t442; + const double t444 = 0.1e1 * t443; + const double t445 = t188 * t188; + const double t446 = 0.1e1 / t445; + const double t447 = t13 * t446; + const double t448 = t30 * t30; + const double t449 = 0.1e1 / t448; + const double t450 = t416 * t449; + const double t451 = t447 * t450; + const double t452 = 0.16081979498692535067e2 * t451; + const double t455 = t211 * t193 * t88 * t55; + const double t456 = 0.24415263074675393405e-3 * t455; + const double t457 = t44 * t5; + const double t459 = t457 * t184 * t226; + const double t460 = 0.10843581300301739842e-1 * t459; + const double t461 = t217 * t51; + const double t462 = 0.1e1 / t461; + const double t463 = t223 * t223; + const double t465 = t462 * t463 * t225; + const double t466 = t216 * t465; + const double t467 = 0.11696447245269292414e1 * t466; + const double t474 = -0.57538888888888888889e0 * t425 + 0.11507777777777777778e1 * t428 + 0.40256666666666666667e0 * t430 + 0.366775e-1 * t434 + 0.73355e-1 * t436 + 0.137975e0 * t439; + const double t476 = t218 * t474 * t225; + const double t477 = t216 * t476; + const double t478 = 0.5848223622634646207e0 * t477; + const double t479 = t217 * t217; + const double t480 = 0.1e1 / t479; + const double t481 = t480 * t463; + const double t482 = t54 * t54; + const double t483 = 0.1e1 / t482; + const double t484 = t481 * t483; + const double t485 = t216 * t484; + const double t486 = 0.17315859105681463759e2 * t485; + const double t487 = t98 * t98; + const double t489 = 0.1e1 / t99 / t487; + const double t490 = t276 * t276; + const double t491 = t489 * t490; + const double t494 = t86 * t86; + const double t496 = 0.1e1 / t22 / t494; + const double t497 = t496 * t72; + const double t501 = t494 * rho; + const double t502 = 0.1e1 / t501; + const double t503 = t502 * t242; + const double t505 = t237 * t408; + const double t508 = t250 * t253; + const double t509 = t508 * sigma; + const double t510 = t234 * t509; + const double t511 = t40 * t259; + const double t513 = t262 * t61 * t80; + const double t514 = t511 * t513; + const double t518 = 0.1e1 / t241 / t71; + const double t519 = t69 * t518; + const double t520 = t519 * t84; + const double t521 = t502 * t40; + const double t526 = t243 * t509; + const double t527 = t233 * t40; + const double t528 = t527 * t259; + const double t532 = sigma * t496; + const double t536 = t234 * t508; + const double t537 = sigma * t40; + const double t539 = t259 * t262 * t80; + const double t540 = t537 * t539; + const double t547 = 0.1e1 / t249 / t60; + const double t548 = t73 * t547; + const double t550 = 0.1e1 / t252 / t81; + const double t551 = t550 * sigma; + const double t552 = t551 * t89; + const double t553 = t548 * t552; + const double t554 = t257 * t257; + const double t555 = 0.1e1 / t554; + const double t556 = t555 * t19; + const double t557 = t556 * t92; + const double t558 = t262 * t262; + const double t559 = t6 * t558; + const double t561 = t80 * t80; + const double t562 = t560 * t561; + const double t564 = t557 * t559 * t562; + const double t567 = t254 * t271; + const double t568 = t251 * t567; + const double t571 = -t407 - t412 - t419 + t444 + t452 + t456 + t460 + t467 - t478 - t486; + const double t574 = t261 * t6 * t571 * t264; + const double t577 = t548 * t255; + const double t578 = t560 * t80; + const double t580 = t557 * t559 * t578; + const double t584 = 0.1e1 / t8 / t494; + const double t585 = t584 * t40; + const double t590 = 0.16463622957338778997e-1 * t497 * t74 * t238 - 0.81312004494856525156e-4 * t503 * t84 * t505 - 0.27439371595564631661e-2 * t510 * t514 + 0.14457274399185490173e-3 * t520 * t521 * t90 * t408 + 0.48787202696913915093e-2 * t526 * t528 * t513 - 0.29272321618148349056e-1 * t244 * t532 * t237 - 0.27081574266271102508e-1 * t536 * t540 + 0.48151039045430020259e-1 * t526 * t527 * t539 + 0.54878743191129263322e-1 * t553 * t564 - 0.12805040077930161442e0 * t568 * t266 + 0.27439371595564631661e-1 * t256 * t574 - 0.27439371595564631661e-1 * t577 * t580 + 0.21341733463216935736e0 * t85 * t585 * t90 * t94; + const double t591 = t230 * t590; + const double t597 = t74 * t61 * t77 * t80; + const double t600 = t101 * t571; + const double t606 = t257 * t66; + const double t607 = 0.1e1 / t606; + const double t608 = t560 * t607; + const double t609 = t608 * t80; + const double t612 = -0.3125e0 * t491 * t81 + 0.25e0 * t591 * t81 - 0.5e0 * t277 * t262 * t597 - 0.1e1 * t600 * t74 * t282 + 0.1e1 * t101 * t558 * t250 * t609; + const double t615 = t63 * t67 * t612 * t287; + const double t616 = t285 * t285; + const double t618 = t104 * t104; + const double t619 = 0.1e1 / t618; + const double t621 = t63 * t67 * t616 * t619; + const double t628 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * tau * t233 - 0.11e2 / 0.9e1 * t532 ) * t116 * t122; + const double t629 = piecewise_functor_3( t131, t628, 0.0 ); + const double t632 = t297 * t297; + const double t636 = 0.1e1 / t300 / t133; + const double t637 = t132 * t636; + const double t642 = -0.64e0 * t629 * t134 - 0.128e1 * t632 * t301 - 0.128e1 * t637 * t632 - 0.64e0 * t302 * t629; + const double t643 = t642 * t137; + const double t644 = t305 * t305; + const double t645 = t644 * t137; + const double t647 = piecewise_functor_3( t130, 0.0, t643 + t645 ); + const double t648 = t308 * t146; + const double t649 = 0.1e1 / t648; + const double t650 = t310 * t310; + const double t654 = piecewise_functor_3( t144, 0.0, t628 ); + const double t658 = t308 * t308; + const double t659 = 0.1e1 / t658; + const double t660 = t659 * t650; + const double t664 = piecewise_functor_3( t144, 0.0, -0.21e1 * t649 * t650 * t149 - 0.105e1 * t309 * t654 * t149 - 0.1575e1 * t660 * t149 ); + const double t665 = piecewise_functor_3( t125, t647, t664 ); + const double t666 = t665 * t180; + const double t667 = t315 * t340; + const double t669 = t317 * t155; + const double t670 = 0.1e1 / t669; + const double t671 = t321 * t321; + const double t672 = t670 * t671; + const double t677 = -0.49388888888888888889e-2 * t425 + 0.98777777777777777777e-2 * t428 + 0.13949e-1 * t430; + const double t678 = t318 * t677; + const double t684 = t317 * t317; + const double t685 = 0.1e1 / t684; + const double t686 = t685 * t671; + const double t689 = t159 * t328; + const double t690 = t322 * t689; + const double t692 = t161 * t162 * t233; + const double t695 = t166 * t166; + const double t697 = 0.1e1 / t167 / t695; + const double t698 = t160 * t697; + const double t700 = t698 * t699; + const double t704 = sigma * sigma; + const double t705 = t494 * t231; + const double t707 = 0.1e1 / t8 / t705; + const double t715 = 0.2e1 * t672 * t324 - 0.1e1 * t678 * t324 + 0.1e1 * t686 * t324 + 0.2845018947250181111e-1 * t690 * t692 - 0.20235332025531322028e-2 * t700 * t703 * t704 * t707 + 0.52158680699586653702e-1 * t330 * t122 * t532; + const double t718 = t334 * t334; + const double t719 = t171 * t171; + const double t720 = 0.1e1 / t719; + const double t725 = ( -0.571528e-1 * t672 + 0.285764e-1 * t678 + 0.285764e-1 * t715 * t335 - 0.285764e-1 * t718 * t720 ) * t178 + t407 + t412 + t419 - t444 - t452 - t456 - t460 - t467 + t478 + t486 - t615 + t621; + const double t726 = t152 * t725; + const double t727 = -t407 - t412 - t419 + t444 + t452 + t456 + t460 + t467 - t478 - t486 + t615 - t621 + t666 + 0.2e1 * t667 + t726; + const double t729 = t65 * t489; + const double t730 = t729 * t345; + const double t732 = t6 * t287; + const double t734 = t731 * t732 * t276; + const double t735 = t730 * t734; + const double t736 = 0.86880925264517213539e-3 * t735; + const double t737 = t344 * t233; + const double t738 = t72 * t40; + const double t739 = t738 * t287; + const double t740 = t737 * t739; + const double t741 = 0.69504740211613770831e-4 * t740; + const double t742 = t344 * t69; + const double t744 = t40 * t287; + const double t746 = t742 * t242 * t233 * t744; + const double t747 = 0.12357942809624928454e-3 * t746; + const double t748 = t73 * t270; + const double t749 = t344 * t748; + const double t750 = t749 * t350; + const double t751 = 0.16217772716043213194e-2 * t750; + const double t752 = t6 * t619; + const double t754 = t731 * t752 * t285; + const double t755 = t346 * t754; + const double t756 = 0.69504740211613770831e-3 * t755; + const double t757 = t233 * t116; + const double t758 = t757 * t122; + const double t759 = 0.5e1 / 0.27e2 * t758; + const double t760 = piecewise_functor_3( t131, t759, 0.0 ); + const double t763 = t356 * t301; + const double t766 = t356 * t297; + const double t771 = -0.64e0 * t760 * t134 - 0.128e1 * t763 * t297 - 0.128e1 * t637 * t766 - 0.64e0 * t302 * t760; + const double t772 = t771 * t137; + const double t773 = t361 * t305; + const double t776 = piecewise_functor_3( t130, 0.0, t773 * t137 + t772 ); + const double t777 = t649 * t364; + const double t778 = t149 * t310; + const double t781 = piecewise_functor_3( t144, 0.0, t759 ); + const double t785 = t659 * t364; + const double t789 = piecewise_functor_3( t144, 0.0, -0.21e1 * t777 * t778 - 0.105e1 * t309 * t781 * t149 - 0.1575e1 * t785 * t778 ); + const double t790 = piecewise_functor_3( t125, t776, t789 ); + const double t791 = t790 * t180; + const double t792 = t369 * t340; + const double t793 = t315 * t376; + const double t794 = t689 * t112; + const double t795 = t322 * t794; + const double t798 = t161 * t121 * t335 * t178; + const double t801 = t494 * t86; + const double t803 = 0.1e1 / t8 / t801; + const double t804 = t803 * t699; + const double t805 = t698 * t804; + const double t806 = t372 * sigma; + const double t807 = t703 * t806; + const double t810 = t329 * t757; + const double t813 = t720 * t178; + const double t814 = t813 * t334; + const double t815 = t122 * t814; + const double t818 = -0.15243824895787514157e-3 * t795 * t798 + 0.21684485328539747656e-4 * t805 * t807 - 0.40650199722100037752e-3 * t810 * t373 - 0.15243824895787514157e-3 * t371 * t815 + t736 + t741 - t747 + t751 + t756; + const double t819 = t152 * t818; + const double t823 = 0.25e2 / 0.27e2 * t354; + const double t824 = piecewise_functor_3( t131, -t823, 0.0 ); + const double t827 = t382 * t301; + const double t830 = t382 * t297; + const double t835 = -0.64e0 * t824 * t134 - 0.128e1 * t827 * t297 - 0.128e1 * t637 * t830 - 0.64e0 * t302 * t824; + const double t836 = t835 * t137; + const double t837 = t387 * t305; + const double t840 = piecewise_functor_3( t130, 0.0, t837 * t137 + t836 ); + const double t841 = t649 * t390; + const double t844 = piecewise_functor_3( t144, 0.0, -t823 ); + const double t848 = t659 * t390; + const double t852 = piecewise_functor_3( t144, 0.0, -0.21e1 * t841 * t778 - 0.105e1 * t309 * t844 * t149 - 0.1575e1 * t848 * t778 ); + const double t853 = piecewise_functor_3( t125, t840, t852 ); + const double t854 = rho * t853; + const double t857 = 0.1e1 / t65; + const double t858 = t857 * t489; + const double t859 = t69 * t69; + const double t860 = t858 * t859; + const double t861 = t242 * t496; + const double t862 = t861 * t121; + const double t863 = t860 * t862; + const double t867 = t287 * t74; + const double t868 = t867 * t82; + const double t869 = t866 * t868; + const double t871 = 0.71518739786987016352e-4 * t863 * t869; + const double t872 = safe_math::sqrt( t98 ); + const double t875 = t857 / t872 / t487; + const double t876 = t859 * t242; + const double t881 = t7 * t619; + const double t883 = t879 * t864 * t881 * t74; + const double t885 = 0.1430374795739740327e-4 * t875 * t876 * t496 * t883; + const double t886 = piecewise_functor_3( t131, 0.0, 0.0 ); + const double t888 = 0.64e0 * t886 * t134; + const double t889 = t356 * t356; + const double t895 = 0.64e0 * t302 * t886; + const double t896 = -t888 - 0.128e1 * t889 * t301 - 0.128e1 * t637 * t889 - t895; + const double t898 = t361 * t361; + const double t899 = t898 * t137; + const double t901 = piecewise_functor_3( t130, 0.0, t896 * t137 + t899 ); + const double t902 = t364 * t364; + const double t906 = piecewise_functor_3( t144, 0.0, 0.0 ); + const double t909 = 0.105e1 * t309 * t906 * t149; + const double t910 = t659 * t902; + const double t914 = piecewise_functor_3( t144, 0.0, -0.21e1 * t649 * t902 * t149 - t909 - 0.1575e1 * t910 * t149 ); + const double t915 = piecewise_functor_3( t125, t901, t914 ); + const double t916 = t915 * t180; + const double t918 = 0.2e1 * t369 * t376; + const double t920 = 0.1e1 / t8 / t501; + const double t921 = t920 * t699; + const double t922 = t698 * t921; + const double t923 = t703 * t372; + const double t926 = t160 * t160; + const double t927 = safe_math::sqrt( t166 ); + const double t929 = 0.1e1 / t927 / t695; + const double t930 = t926 * t929; + const double t931 = t930 * t921; + const double t932 = t703 * t813; + const double t935 = -0.81316819982024053709e-5 * t922 * t923 - 0.16263363996404810741e-5 * t931 * t932 + t871 + t885; + const double t936 = t152 * t935; + const double t940 = t382 * t356; + const double t943 = -t888 - 0.128e1 * t827 * t356 - 0.128e1 * t637 * t940 - t895; + const double t944 = t943 * t137; + const double t945 = t387 * t361; + const double t948 = piecewise_functor_3( t130, 0.0, t945 * t137 + t944 ); + const double t949 = t149 * t364; + const double t955 = piecewise_functor_3( t144, 0.0, -0.21e1 * t841 * t949 - t909 - 0.1575e1 * t848 * t949 ); + const double t956 = piecewise_functor_3( t125, t948, t955 ); + const double t957 = rho * t956; + const double t960 = t382 * t382; + const double t965 = -t888 - 0.128e1 * t960 * t301 - 0.128e1 * t637 * t960 - t895; + const double t967 = t387 * t387; + const double t968 = t967 * t137; + const double t970 = piecewise_functor_3( t130, 0.0, t965 * t137 + t968 ); + const double t971 = t390 * t390; + const double t975 = t659 * t971; + const double t979 = piecewise_functor_3( t144, 0.0, -0.21e1 * t649 * t971 * t149 - t909 - 0.1575e1 * t975 * t149 ); + const double t980 = piecewise_functor_3( t125, t970, t979 ); + const double t981 = rho * t980; + + + v2rho2 = 0.22146941966666666666e-2 * t186 + 0.2e1 * t209 - 0.36622894612013090108e-3 * t214 - 0.11696447245269292414e1 * t227 + 0.2e1 * t289 + 0.2e1 * t316 + 0.2e1 * t341 + rho * t727; + v2rhosigma = t352 + t370 + t377 + rho * ( -t736 - t741 + t747 - t751 - t756 + t791 + t792 + t793 + t819 ); + v2rholapl = 0.e0; + v2rhotau = t395 * t180 + t854 * t180 + t396 * t340; + v2sigma2 = rho * ( -t871 - t885 + t916 + t918 + t936 ); + v2sigmalapl = 0.e0; + v2sigmatau = t957 * t180 + t396 * t376; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t981 * t180; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t40 = constants::m_cbrt_2; + constexpr double t61 = constants::m_pi_sq; + constexpr double t116 = constants::m_cbrt_6; + constexpr double t118 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t19 = t2 * t2; + constexpr double t20 = t4 * t4; + constexpr double t21 = t19 * t20; + constexpr double t41 = t40 - 0.1e1; + constexpr double t43 = 0.1e1 / t41 / 0.2e1; + constexpr double t92 = 0.1e1 / t4; + constexpr double t94 = t19 * t92 * t6; + constexpr double t119 = t118 * t118; + constexpr double t120 = 0.1e1 / t119; + constexpr double t121 = t40 * t40; + constexpr double t122 = t120 * t121; + constexpr double t161 = t116 * t120; + constexpr double t193 = t4 * t7; + constexpr double t347 = t40 * t19; + constexpr double t348 = t92 * t6; + constexpr double t408 = t5 * t7; + constexpr double t423 = t20 * t6; + constexpr double t560 = t61 * t61; + constexpr double t699 = t116 * t116; + constexpr double t702 = 0.1e1 / t118 / t61; + constexpr double t703 = t702 * t40; + constexpr double t731 = t347 * t92; + constexpr double t864 = 0.1e1 / t20; + constexpr double t865 = t2 * t864; + constexpr double t866 = t865 * t7; + constexpr double t879 = t121 * t2; + + + const double t8 = safe_math::cbrt( rho ); + const double t11 = t5 * t7 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t6 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = 0.1e1 <= zeta_tol; + const double t35 = safe_math::cbrt( zeta_tol ); + const double t37 = piecewise_functor_3( t34, t35 * zeta_tol, 1.0 ); + const double t39 = 0.2e1 * t37 - 0.2e1; + const double t44 = t39 * t43; + const double t46 = 0.1e1 + 0.278125e-1 * t11; + const double t51 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t54 = 0.1e1 + 0.29608749977793437516e2 / t51; + const double t55 = safe_math::log( t54 ); + const double t58 = 0.19751673498613801407e-1 * t44 * t46 * t55; + const double t59 = safe_math::log( 0.2e1 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 / t61; + const double t64 = t35 * t35; + const double t65 = piecewise_functor_3( t34, t64, 1.0 ); + const double t66 = t65 * t65; + const double t67 = t66 * t65; + const double t69 = 0.1e1 + 0.25e-1 * t11; + const double t71 = 0.1e1 + 0.4445e-1 * t11; + const double t72 = 0.1e1 / t71; + const double t73 = t69 * t72; + const double t74 = 0.1e1 / t60; + const double t77 = 0.1e1 / t67; + const double t78 = t61 * t77; + const double t80 = safe_math::exp( -( -t33 + t58 ) * t74 * t78 ); + const double t81 = t80 - 0.1e1; + const double t82 = 0.1e1 / t81; + const double t83 = t74 * t82; + const double t84 = t83 * sigma; + const double t85 = t73 * t84; + const double t86 = rho * rho; + const double t88 = 0.1e1 / t8 / t86; + const double t89 = t88 * t40; + const double t90 = 0.1e1 / t66; + const double t98 = 0.1e1 + 0.27439371595564631661e-1 * t85 * t89 * t90 * t94; + const double t99 = pow_1_4( t98 ); + const double t101 = 0.1e1 - 0.1e1 / t99; + const double t104 = 0.1e1 + 0.1e1 * t101 * t81; + const double t105 = safe_math::log( t104 ); + const double t107 = t63 * t67 * t105; + const double t109 = 0.1e1 / t22 / rho; + const double t112 = 0.1e1 / t22 / t86; + const double t124 = 0.5e1 / 0.9e1 * ( tau * t109 - sigma * t112 / 0.8e1 ) * t116 * t122; + const double t125 = t124 <= 0.1e1; + const double t126 = safe_math::log( DBL_EPSILON ); + const double t129 = t126 / ( -t126 + 0.64e0 ); + const double t130 = -t129 < t124; + const double t131 = t124 < -t129; + const double t132 = piecewise_functor_3( t131, t124, -t129 ); + const double t133 = 0.1e1 - t132; + const double t134 = 0.1e1 / t133; + const double t137 = safe_math::exp( -0.64e0 * t132 * t134 ); + const double t138 = piecewise_functor_3( t130, 0.0, t137 ); + const double t140 = safe_math::log( 0.14285714285714285714e1 * DBL_EPSILON ); + const double t143 = ( -t140 + 0.15e1 ) / t140; + const double t144 = t124 < -t143; + const double t145 = piecewise_functor_3( t144, -t143, t124 ); + const double t146 = 0.1e1 - t145; + const double t149 = safe_math::exp( 0.15e1 / t146 ); + const double t151 = piecewise_functor_3( t144, 0.0, -0.7e0 * t149 ); + const double t152 = piecewise_functor_3( t125, t138, t151 ); + const double t155 = 0.1e1 + 0.4445e-1 * t14 + 0.3138525e-1 * t11; + const double t156 = 0.1e1 / t155; + const double t159 = safe_math::exp( 0.1e1 * t156 ); + const double t160 = t159 - 0.1e1; + const double t162 = t121 * sigma; + const double t166 = 0.1e1 + 0.21337642104376358333e-1 * t161 * t162 * t112; + const double t167 = pow_1_4( t166 ); + const double t169 = 0.1e1 - 0.1e1 / t167; + const double t171 = t160 * t169 + 0.1e1; + const double t172 = safe_math::log( t171 ); + const double t178 = 0.1e1 - 0.2363e1 * t41 * t39 * t43; + const double t180 = ( -0.285764e-1 * t156 + 0.285764e-1 * t172 ) * t178 + t33 - t58 - t107; + const double t181 = t152 * t180; + const double t183 = 0.1e1 / t8 / rho; + const double t184 = t7 * t183; + const double t186 = t5 * t184 * t31; + const double t187 = 0.11073470983333333333e-2 * t186; + const double t188 = t27 * t27; + const double t189 = 0.1e1 / t188; + const double t190 = t13 * t189; + const double t192 = 0.1e1 / t14 * t2; + const double t194 = t193 * t183; + const double t195 = t192 * t194; + const double t197 = t5 * t184; + const double t199 = safe_math::sqrt( t11 ); + const double t200 = t199 * t2; + const double t201 = t200 * t194; + const double t204 = t21 * t6 * t109; + const double t206 = -0.632975e0 * t195 - 0.29896666666666666667e0 * t197 - 0.1023875e0 * t201 - 0.82156666666666666667e-1 * t204; + const double t207 = 0.1e1 / t30; + const double t208 = t206 * t207; + const double t209 = t190 * t208; + const double t210 = 0.1e1 * t209; + const double t211 = t44 * t2; + const double t214 = t211 * t193 * t183 * t55; + const double t215 = 0.18311447306006545054e-3 * t214; + const double t216 = t44 * t46; + const double t217 = t51 * t51; + const double t218 = 0.1e1 / t217; + const double t223 = -0.86308333333333333334e0 * t195 - 0.301925e0 * t197 - 0.5501625e-1 * t201 - 0.82785e-1 * t204; + const double t225 = 0.1e1 / t54; + const double t226 = t218 * t223 * t225; + const double t227 = t216 * t226; + const double t228 = 0.5848223622634646207e0 * t227; + const double t230 = 0.1e1 / t99 / t98; + const double t231 = t86 * rho; + const double t233 = 0.1e1 / t22 / t231; + const double t234 = t233 * t72; + const double t237 = t40 * t90; + const double t238 = t82 * sigma * t237; + const double t241 = t71 * t71; + const double t242 = 0.1e1 / t241; + const double t243 = t69 * t242; + const double t244 = t243 * t83; + const double t245 = sigma * t233; + const double t249 = t60 * t60; + const double t250 = 0.1e1 / t249; + const double t251 = t73 * t250; + const double t252 = t81 * t81; + const double t253 = 0.1e1 / t252; + const double t254 = t253 * sigma; + const double t255 = t254 * t89; + const double t256 = t251 * t255; + const double t257 = t66 * t66; + const double t259 = 0.1e1 / t257 / t65; + const double t260 = t259 * t19; + const double t261 = t260 * t92; + const double t262 = t187 + t210 - t215 - t228; + const double t264 = t61 * t80; + const double t265 = t6 * t262 * t264; + const double t266 = t261 * t265; + const double t270 = 0.1e1 / t8 / t231; + const double t271 = t270 * t40; + const double t276 = -0.27439371595564631661e-2 * t234 * t74 * t238 + 0.48787202696913915093e-2 * t244 * t245 * t237 + 0.27439371595564631661e-1 * t256 * t266 - 0.64025200389650807209e-1 * t85 * t271 * t90 * t94; + const double t277 = t230 * t276; + const double t282 = t78 * t80; + const double t285 = 0.25e0 * t277 * t81 - 0.1e1 * t101 * t262 * t74 * t282; + const double t287 = 0.1e1 / t104; + const double t289 = t63 * t67 * t285 * t287; + const double t296 = 0.5e1 / 0.9e1 * ( -0.5e1 / 0.3e1 * tau * t112 + t245 / 0.3e1 ) * t116 * t122; + const double t297 = piecewise_functor_3( t131, t296, 0.0 ); + const double t300 = t133 * t133; + const double t301 = 0.1e1 / t300; + const double t302 = t132 * t301; + const double t305 = -0.64e0 * t297 * t134 - 0.64e0 * t302 * t297; + const double t306 = t305 * t137; + const double t307 = piecewise_functor_3( t130, 0.0, t306 ); + const double t308 = t146 * t146; + const double t309 = 0.1e1 / t308; + const double t310 = piecewise_functor_3( t144, 0.0, t296 ); + const double t314 = piecewise_functor_3( t144, 0.0, -0.105e1 * t309 * t310 * t149 ); + const double t315 = piecewise_functor_3( t125, t307, t314 ); + const double t316 = t315 * t180; + const double t317 = t155 * t155; + const double t318 = 0.1e1 / t317; + const double t321 = -0.74083333333333333333e-2 * t195 - 0.1046175e-1 * t197; + const double t322 = t318 * t321; + const double t324 = t159 * t169; + const double t328 = 0.1e1 / t167 / t166; + const double t329 = t160 * t328; + const double t330 = t329 * t116; + const double t334 = -0.1e1 * t322 * t324 - 0.14225094736250905555e-1 * t330 * t122 * t245; + const double t335 = 0.1e1 / t171; + const double t340 = ( 0.285764e-1 * t322 + 0.285764e-1 * t334 * t335 ) * t178 - t187 - t210 + t215 + t228 - t289; + const double t341 = t152 * t340; + const double t344 = t65 * t230; + const double t345 = t73 * t88; + const double t346 = t344 * t345; + const double t349 = t348 * t287; + const double t350 = t347 * t349; + const double t352 = 0.69504740211613770831e-3 * t346 * t350; + const double t353 = t112 * t116; + const double t354 = t353 * t122; + const double t355 = 0.5e1 / 0.72e2 * t354; + const double t356 = piecewise_functor_3( t131, -t355, 0.0 ); + const double t361 = -0.64e0 * t356 * t134 - 0.64e0 * t302 * t356; + const double t362 = t361 * t137; + const double t363 = piecewise_functor_3( t130, 0.0, t362 ); + const double t364 = piecewise_functor_3( t144, 0.0, -t355 ); + const double t368 = piecewise_functor_3( t144, 0.0, -0.105e1 * t309 * t364 * t149 ); + const double t369 = piecewise_functor_3( t125, t363, t368 ); + const double t370 = t369 * t180; + const double t371 = t329 * t353; + const double t372 = t335 * t178; + const double t373 = t122 * t372; + const double t376 = 0.15243824895787514157e-3 * t371 * t373 - t352; + const double t377 = t152 * t376; + const double t381 = 0.5e1 / 0.9e1 * t109 * t116 * t122; + const double t382 = piecewise_functor_3( t131, t381, 0.0 ); + const double t387 = -0.64e0 * t382 * t134 - 0.64e0 * t302 * t382; + const double t388 = t387 * t137; + const double t389 = piecewise_functor_3( t130, 0.0, t388 ); + const double t390 = piecewise_functor_3( t144, 0.0, t381 ); + const double t394 = piecewise_functor_3( t144, 0.0, -0.105e1 * t309 * t390 * t149 ); + const double t395 = piecewise_functor_3( t125, t389, t394 ); + const double t396 = rho * t395; + const double t404 = t7 * t88; + const double t406 = t5 * t404 * t31; + const double t407 = 0.14764627977777777777e-2 * t406; + const double t409 = t183 * t189; + const double t411 = t408 * t409 * t208; + const double t412 = 0.35616666666666666666e-1 * t411; + const double t413 = t188 * t27; + const double t414 = 0.1e1 / t413; + const double t415 = t13 * t414; + const double t416 = t206 * t206; + const double t417 = t416 * t207; + const double t418 = t415 * t417; + const double t419 = 0.2e1 * t418; + const double t422 = 0.1e1 / t14 / t11 * t19; + const double t424 = t423 * t112; + const double t425 = t422 * t424; + const double t427 = t193 * t88; + const double t428 = t192 * t427; + const double t430 = t5 * t404; + const double t432 = 0.1e1/safe_math::sqrt( t11 ); + const double t433 = t432 * t19; + const double t434 = t433 * t424; + const double t436 = t200 * t427; + const double t439 = t21 * t6 * t112; + const double t441 = -0.42198333333333333333e0 * t425 + 0.84396666666666666666e0 * t428 + 0.39862222222222222223e0 * t430 + 0.68258333333333333333e-1 * t434 + 0.13651666666666666667e0 * t436 + 0.13692777777777777778e0 * t439; + const double t442 = t441 * t207; + const double t443 = t190 * t442; + const double t444 = 0.1e1 * t443; + const double t445 = t188 * t188; + const double t446 = 0.1e1 / t445; + const double t447 = t13 * t446; + const double t448 = t30 * t30; + const double t449 = 0.1e1 / t448; + const double t450 = t416 * t449; + const double t451 = t447 * t450; + const double t452 = 0.16081979498692535067e2 * t451; + const double t455 = t211 * t193 * t88 * t55; + const double t456 = 0.24415263074675393405e-3 * t455; + const double t457 = t44 * t5; + const double t459 = t457 * t184 * t226; + const double t460 = 0.10843581300301739842e-1 * t459; + const double t461 = t217 * t51; + const double t462 = 0.1e1 / t461; + const double t463 = t223 * t223; + const double t465 = t462 * t463 * t225; + const double t466 = t216 * t465; + const double t467 = 0.11696447245269292414e1 * t466; + const double t474 = -0.57538888888888888889e0 * t425 + 0.11507777777777777778e1 * t428 + 0.40256666666666666667e0 * t430 + 0.366775e-1 * t434 + 0.73355e-1 * t436 + 0.137975e0 * t439; + const double t476 = t218 * t474 * t225; + const double t477 = t216 * t476; + const double t478 = 0.5848223622634646207e0 * t477; + const double t479 = t217 * t217; + const double t480 = 0.1e1 / t479; + const double t481 = t480 * t463; + const double t482 = t54 * t54; + const double t483 = 0.1e1 / t482; + const double t484 = t481 * t483; + const double t485 = t216 * t484; + const double t486 = 0.17315859105681463759e2 * t485; + const double t487 = t98 * t98; + const double t489 = 0.1e1 / t99 / t487; + const double t490 = t276 * t276; + const double t491 = t489 * t490; + const double t494 = t86 * t86; + const double t496 = 0.1e1 / t22 / t494; + const double t497 = t496 * t72; + const double t501 = t494 * rho; + const double t502 = 0.1e1 / t501; + const double t503 = t502 * t242; + const double t505 = t237 * t408; + const double t508 = t250 * t253; + const double t509 = t508 * sigma; + const double t510 = t234 * t509; + const double t511 = t40 * t259; + const double t513 = t262 * t61 * t80; + const double t514 = t511 * t513; + const double t518 = 0.1e1 / t241 / t71; + const double t519 = t69 * t518; + const double t520 = t519 * t84; + const double t521 = t502 * t40; + const double t526 = t243 * t509; + const double t527 = t233 * t40; + const double t528 = t527 * t259; + const double t532 = sigma * t496; + const double t536 = t234 * t508; + const double t537 = sigma * t40; + const double t539 = t259 * t262 * t80; + const double t540 = t537 * t539; + const double t547 = 0.1e1 / t249 / t60; + const double t548 = t73 * t547; + const double t550 = 0.1e1 / t252 / t81; + const double t551 = t550 * sigma; + const double t552 = t551 * t89; + const double t553 = t548 * t552; + const double t554 = t257 * t257; + const double t555 = 0.1e1 / t554; + const double t556 = t555 * t19; + const double t557 = t556 * t92; + const double t558 = t262 * t262; + const double t559 = t6 * t558; + const double t561 = t80 * t80; + const double t562 = t560 * t561; + const double t564 = t557 * t559 * t562; + const double t567 = t254 * t271; + const double t568 = t251 * t567; + const double t571 = -t407 - t412 - t419 + t444 + t452 + t456 + t460 + t467 - t478 - t486; + const double t574 = t261 * t6 * t571 * t264; + const double t577 = t548 * t255; + const double t578 = t560 * t80; + const double t580 = t557 * t559 * t578; + const double t584 = 0.1e1 / t8 / t494; + const double t585 = t584 * t40; + const double t590 = 0.16463622957338778997e-1 * t497 * t74 * t238 - 0.81312004494856525156e-4 * t503 * t84 * t505 - 0.27439371595564631661e-2 * t510 * t514 + 0.14457274399185490173e-3 * t520 * t521 * t90 * t408 + 0.48787202696913915093e-2 * t526 * t528 * t513 - 0.29272321618148349056e-1 * t244 * t532 * t237 - 0.27081574266271102508e-1 * t536 * t540 + 0.48151039045430020259e-1 * t526 * t527 * t539 + 0.54878743191129263322e-1 * t553 * t564 - 0.12805040077930161442e0 * t568 * t266 + 0.27439371595564631661e-1 * t256 * t574 - 0.27439371595564631661e-1 * t577 * t580 + 0.21341733463216935736e0 * t85 * t585 * t90 * t94; + const double t591 = t230 * t590; + const double t597 = t74 * t61 * t77 * t80; + const double t600 = t101 * t571; + const double t606 = t257 * t66; + const double t607 = 0.1e1 / t606; + const double t608 = t560 * t607; + const double t609 = t608 * t80; + const double t612 = -0.3125e0 * t491 * t81 + 0.25e0 * t591 * t81 - 0.5e0 * t277 * t262 * t597 - 0.1e1 * t600 * t74 * t282 + 0.1e1 * t101 * t558 * t250 * t609; + const double t615 = t63 * t67 * t612 * t287; + const double t616 = t285 * t285; + const double t618 = t104 * t104; + const double t619 = 0.1e1 / t618; + const double t621 = t63 * t67 * t616 * t619; + const double t628 = 0.5e1 / 0.9e1 * ( 0.4e2 / 0.9e1 * tau * t233 - 0.11e2 / 0.9e1 * t532 ) * t116 * t122; + const double t629 = piecewise_functor_3( t131, t628, 0.0 ); + const double t632 = t297 * t297; + const double t636 = 0.1e1 / t300 / t133; + const double t637 = t132 * t636; + const double t642 = -0.64e0 * t629 * t134 - 0.128e1 * t632 * t301 - 0.128e1 * t637 * t632 - 0.64e0 * t302 * t629; + const double t643 = t642 * t137; + const double t644 = t305 * t305; + const double t645 = t644 * t137; + const double t647 = piecewise_functor_3( t130, 0.0, t643 + t645 ); + const double t648 = t308 * t146; + const double t649 = 0.1e1 / t648; + const double t650 = t310 * t310; + const double t654 = piecewise_functor_3( t144, 0.0, t628 ); + const double t658 = t308 * t308; + const double t659 = 0.1e1 / t658; + const double t660 = t659 * t650; + const double t664 = piecewise_functor_3( t144, 0.0, -0.21e1 * t649 * t650 * t149 - 0.105e1 * t309 * t654 * t149 - 0.1575e1 * t660 * t149 ); + const double t665 = piecewise_functor_3( t125, t647, t664 ); + const double t666 = t665 * t180; + const double t667 = t315 * t340; + const double t669 = t317 * t155; + const double t670 = 0.1e1 / t669; + const double t671 = t321 * t321; + const double t672 = t670 * t671; + const double t677 = -0.49388888888888888889e-2 * t425 + 0.98777777777777777777e-2 * t428 + 0.13949e-1 * t430; + const double t678 = t318 * t677; + const double t684 = t317 * t317; + const double t685 = 0.1e1 / t684; + const double t686 = t685 * t671; + const double t689 = t159 * t328; + const double t690 = t322 * t689; + const double t692 = t161 * t162 * t233; + const double t695 = t166 * t166; + const double t697 = 0.1e1 / t167 / t695; + const double t698 = t160 * t697; + const double t700 = t698 * t699; + const double t704 = sigma * sigma; + const double t705 = t494 * t231; + const double t707 = 0.1e1 / t8 / t705; + const double t715 = 0.2e1 * t672 * t324 - 0.1e1 * t678 * t324 + 0.1e1 * t686 * t324 + 0.2845018947250181111e-1 * t690 * t692 - 0.20235332025531322028e-2 * t700 * t703 * t704 * t707 + 0.52158680699586653702e-1 * t330 * t122 * t532; + const double t718 = t334 * t334; + const double t719 = t171 * t171; + const double t720 = 0.1e1 / t719; + const double t725 = ( -0.571528e-1 * t672 + 0.285764e-1 * t678 + 0.285764e-1 * t715 * t335 - 0.285764e-1 * t718 * t720 ) * t178 + t407 + t412 + t419 - t444 - t452 - t456 - t460 - t467 + t478 + t486 - t615 + t621; + const double t726 = t152 * t725; + const double t727 = -t407 - t412 - t419 + t444 + t452 + t456 + t460 + t467 - t478 - t486 + t615 - t621 + t666 + 0.2e1 * t667 + t726; + const double t729 = t65 * t489; + const double t730 = t729 * t345; + const double t732 = t6 * t287; + const double t734 = t731 * t732 * t276; + const double t735 = t730 * t734; + const double t736 = 0.86880925264517213539e-3 * t735; + const double t737 = t344 * t233; + const double t738 = t72 * t40; + const double t739 = t738 * t287; + const double t740 = t737 * t739; + const double t741 = 0.69504740211613770831e-4 * t740; + const double t742 = t344 * t69; + const double t744 = t40 * t287; + const double t746 = t742 * t242 * t233 * t744; + const double t747 = 0.12357942809624928454e-3 * t746; + const double t748 = t73 * t270; + const double t749 = t344 * t748; + const double t750 = t749 * t350; + const double t751 = 0.16217772716043213194e-2 * t750; + const double t752 = t6 * t619; + const double t754 = t731 * t752 * t285; + const double t755 = t346 * t754; + const double t756 = 0.69504740211613770831e-3 * t755; + const double t757 = t233 * t116; + const double t758 = t757 * t122; + const double t759 = 0.5e1 / 0.27e2 * t758; + const double t760 = piecewise_functor_3( t131, t759, 0.0 ); + const double t763 = t356 * t301; + const double t766 = t356 * t297; + const double t771 = -0.64e0 * t760 * t134 - 0.128e1 * t763 * t297 - 0.128e1 * t637 * t766 - 0.64e0 * t302 * t760; + const double t772 = t771 * t137; + const double t773 = t361 * t305; + const double t776 = piecewise_functor_3( t130, 0.0, t773 * t137 + t772 ); + const double t777 = t649 * t364; + const double t778 = t149 * t310; + const double t781 = piecewise_functor_3( t144, 0.0, t759 ); + const double t785 = t659 * t364; + const double t789 = piecewise_functor_3( t144, 0.0, -0.21e1 * t777 * t778 - 0.105e1 * t309 * t781 * t149 - 0.1575e1 * t785 * t778 ); + const double t790 = piecewise_functor_3( t125, t776, t789 ); + const double t791 = t790 * t180; + const double t792 = t369 * t340; + const double t793 = t315 * t376; + const double t794 = t689 * t112; + const double t795 = t322 * t794; + const double t798 = t161 * t121 * t335 * t178; + const double t801 = t494 * t86; + const double t803 = 0.1e1 / t8 / t801; + const double t804 = t803 * t699; + const double t805 = t698 * t804; + const double t806 = t372 * sigma; + const double t807 = t703 * t806; + const double t810 = t329 * t757; + const double t813 = t720 * t178; + const double t814 = t813 * t334; + const double t815 = t122 * t814; + const double t818 = -0.15243824895787514157e-3 * t795 * t798 + 0.21684485328539747656e-4 * t805 * t807 - 0.40650199722100037752e-3 * t810 * t373 - 0.15243824895787514157e-3 * t371 * t815 + t736 + t741 - t747 + t751 + t756; + const double t819 = t152 * t818; + const double t823 = 0.25e2 / 0.27e2 * t354; + const double t824 = piecewise_functor_3( t131, -t823, 0.0 ); + const double t827 = t382 * t301; + const double t830 = t382 * t297; + const double t835 = -0.64e0 * t824 * t134 - 0.128e1 * t827 * t297 - 0.128e1 * t637 * t830 - 0.64e0 * t302 * t824; + const double t836 = t835 * t137; + const double t837 = t387 * t305; + const double t840 = piecewise_functor_3( t130, 0.0, t837 * t137 + t836 ); + const double t841 = t649 * t390; + const double t844 = piecewise_functor_3( t144, 0.0, -t823 ); + const double t848 = t659 * t390; + const double t852 = piecewise_functor_3( t144, 0.0, -0.21e1 * t841 * t778 - 0.105e1 * t309 * t844 * t149 - 0.1575e1 * t848 * t778 ); + const double t853 = piecewise_functor_3( t125, t840, t852 ); + const double t854 = rho * t853; + const double t857 = 0.1e1 / t65; + const double t858 = t857 * t489; + const double t859 = t69 * t69; + const double t860 = t858 * t859; + const double t861 = t242 * t496; + const double t862 = t861 * t121; + const double t863 = t860 * t862; + const double t867 = t287 * t74; + const double t868 = t867 * t82; + const double t869 = t866 * t868; + const double t871 = 0.71518739786987016352e-4 * t863 * t869; + const double t872 = safe_math::sqrt( t98 ); + const double t875 = t857 / t872 / t487; + const double t876 = t859 * t242; + const double t881 = t7 * t619; + const double t883 = t879 * t864 * t881 * t74; + const double t885 = 0.1430374795739740327e-4 * t875 * t876 * t496 * t883; + const double t886 = piecewise_functor_3( t131, 0.0, 0.0 ); + const double t888 = 0.64e0 * t886 * t134; + const double t889 = t356 * t356; + const double t895 = 0.64e0 * t302 * t886; + const double t896 = -t888 - 0.128e1 * t889 * t301 - 0.128e1 * t637 * t889 - t895; + const double t898 = t361 * t361; + const double t899 = t898 * t137; + const double t901 = piecewise_functor_3( t130, 0.0, t896 * t137 + t899 ); + const double t902 = t364 * t364; + const double t906 = piecewise_functor_3( t144, 0.0, 0.0 ); + const double t909 = 0.105e1 * t309 * t906 * t149; + const double t910 = t659 * t902; + const double t914 = piecewise_functor_3( t144, 0.0, -0.21e1 * t649 * t902 * t149 - t909 - 0.1575e1 * t910 * t149 ); + const double t915 = piecewise_functor_3( t125, t901, t914 ); + const double t916 = t915 * t180; + const double t918 = 0.2e1 * t369 * t376; + const double t920 = 0.1e1 / t8 / t501; + const double t921 = t920 * t699; + const double t922 = t698 * t921; + const double t923 = t703 * t372; + const double t926 = t160 * t160; + const double t927 = safe_math::sqrt( t166 ); + const double t929 = 0.1e1 / t927 / t695; + const double t930 = t926 * t929; + const double t931 = t930 * t921; + const double t932 = t703 * t813; + const double t935 = -0.81316819982024053709e-5 * t922 * t923 - 0.16263363996404810741e-5 * t931 * t932 + t871 + t885; + const double t936 = t152 * t935; + const double t940 = t382 * t356; + const double t943 = -t888 - 0.128e1 * t827 * t356 - 0.128e1 * t637 * t940 - t895; + const double t944 = t943 * t137; + const double t945 = t387 * t361; + const double t948 = piecewise_functor_3( t130, 0.0, t945 * t137 + t944 ); + const double t949 = t149 * t364; + const double t955 = piecewise_functor_3( t144, 0.0, -0.21e1 * t841 * t949 - t909 - 0.1575e1 * t848 * t949 ); + const double t956 = piecewise_functor_3( t125, t948, t955 ); + const double t957 = rho * t956; + const double t960 = t382 * t382; + const double t965 = -t888 - 0.128e1 * t960 * t301 - 0.128e1 * t637 * t960 - t895; + const double t967 = t387 * t387; + const double t968 = t967 * t137; + const double t970 = piecewise_functor_3( t130, 0.0, t965 * t137 + t968 ); + const double t971 = t390 * t390; + const double t975 = t659 * t971; + const double t979 = piecewise_functor_3( t144, 0.0, -0.21e1 * t649 * t971 * t149 - t909 - 0.1575e1 * t975 * t149 ); + const double t980 = piecewise_functor_3( t125, t970, t979 ); + const double t981 = rho * t980; + + + vrho = -t33 + t58 + t107 + t181 + rho * ( t187 + t210 - t215 - t228 + t289 + t316 + t341 ); + vsigma = rho * ( t352 + t370 + t377 ); + vlapl = 0.e0; + vtau = t396 * t180; + v2rho2 = 0.22146941966666666666e-2 * t186 + 0.2e1 * t209 - 0.36622894612013090108e-3 * t214 - 0.11696447245269292414e1 * t227 + 0.2e1 * t289 + 0.2e1 * t316 + 0.2e1 * t341 + rho * t727; + v2rhosigma = t352 + t370 + t377 + rho * ( -t736 - t741 + t747 - t751 - t756 + t791 + t792 + t793 + t819 ); + v2rholapl = 0.e0; + v2rhotau = t395 * t180 + t854 * t180 + t396 * t340; + v2sigma2 = rho * ( -t871 - t885 + t916 + t918 + t936 ); + v2sigmalapl = 0.e0; + v2sigmatau = t957 * t180 + t396 * t376; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = t981 * t180; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t173 = constants::m_cbrt_6; + constexpr double t175 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t132 = 0.1e1 / t4; + constexpr double t133 = t20 * t132; + constexpr double t134 = t133 * t6; + constexpr double t176 = t175 * t175; + constexpr double t177 = 0.1e1 / t176; + constexpr double t219 = t173 * t177; + constexpr double t220 = t57 * t57; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t12 = t5 * t7 / t9; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t18 = pow_3_2( t12 ); + const double t23 = t9 * t9; + const double t26 = t22 * t6 / t23; + const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 + 0.25e-1 * t12; + const double t110 = 0.1e1 + 0.4445e-1 * t12; + const double t111 = 0.1e1 / t110; + const double t112 = t108 * t111; + const double t113 = 0.1e1 / t94; + const double t115 = ( -t34 + t90 + t92 ) * t113; + const double t116 = 0.1e1 / t106; + const double t117 = t95 * t116; + const double t119 = safe_math::exp( -t115 * t117 ); + const double t120 = t119 - 0.1e1; + const double t121 = 0.1e1 / t120; + const double t122 = t113 * t121; + const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t125 = t122 * t124; + const double t126 = t112 * t125; + const double t128 = 0.1e1 / t9 / t38; + const double t129 = t128 * t57; + const double t130 = 0.1e1 / t105; + const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; + const double t139 = pow_1_4( t138 ); + const double t141 = 0.1e1 - 0.1e1 / t139; + const double t144 = 0.1e1 + 0.1e1 * t141 * t120; + const double t145 = safe_math::log( t144 ); + const double t147 = t97 * t106 * t145; + const double t148 = safe_math::cbrt( rho_a ); + const double t149 = t148 * t148; + const double t151 = 0.1e1 / t149 / rho_a; + const double t152 = tau_a * t151; + const double t153 = t44 / 0.2e1; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = t154 * t154; + const double t156 = t155 * t153; + const double t158 = safe_math::cbrt( rho_b ); + const double t159 = t158 * t158; + const double t161 = 0.1e1 / t159 / rho_b; + const double t162 = tau_b * t161; + const double t163 = t51 / 0.2e1; + const double t164 = safe_math::cbrt( t163 ); + const double t165 = t164 * t164; + const double t166 = t165 * t163; + const double t169 = 0.1e1 / t23 / t38; + const double t174 = ( t152 * t156 + t162 * t166 - t124 * t169 / 0.8e1 ) * t173; + const double t178 = t156 + t166; + const double t179 = 0.1e1 / t178; + const double t180 = t177 * t179; + const double t182 = 0.5e1 / 0.9e1 * t174 * t180; + const double t183 = t182 <= 0.1e1; + const double t184 = safe_math::log( DBL_EPSILON ); + const double t187 = t184 / ( -t184 + 0.64e0 ); + const double t188 = -t187 < t182; + const double t189 = t182 < -t187; + const double t190 = piecewise_functor_3( t189, t182, -t187 ); + const double t191 = 0.1e1 - t190; + const double t192 = 0.1e1 / t191; + const double t195 = safe_math::exp( -0.64e0 * t190 * t192 ); + const double t196 = piecewise_functor_3( t188, 0.0, t195 ); + const double t198 = safe_math::log( 0.14285714285714285714e1 * DBL_EPSILON ); + const double t201 = ( -t198 + 0.15e1 ) / t198; + const double t202 = t182 < -t201; + const double t203 = piecewise_functor_3( t202, -t201, t182 ); + const double t204 = 0.1e1 - t203; + const double t207 = safe_math::exp( 0.15e1 / t204 ); + const double t209 = piecewise_functor_3( t202, 0.0, -0.7e0 * t207 ); + const double t210 = piecewise_functor_3( t183, t196, t209 ); + const double t213 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; + const double t214 = 0.1e1 / t213; + const double t217 = safe_math::exp( 0.1e1 * t214 ); + const double t218 = t217 - 0.1e1; + const double t221 = t220 * t124; + const double t225 = 0.1e1 + 0.21337642104376358333e-1 * t219 * t221 * t169; + const double t226 = pow_1_4( t225 ); + const double t228 = 0.1e1 - 0.1e1 / t226; + const double t230 = t218 * t228 + 0.1e1; + const double t231 = safe_math::log( t230 ); + const double t233 = -0.285764e-1 * t214 + 0.285764e-1 * t231; + const double t237 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t238 = t233 * t237; + const double t239 = t37 * t37; + const double t240 = t239 * t37; + const double t241 = t39 * t39; + const double t242 = t241 * t39; + const double t243 = 0.1e1 / t242; + const double t245 = -t240 * t243 + 0.1e1; + const double t247 = t238 * t245 - t147 + t34 - t90 - t92; + const double t248 = t210 * t247; + + + eps = -t34 + t90 + t92 + t147 + t248; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t173 = constants::m_cbrt_6; + constexpr double t175 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t132 = 0.1e1 / t4; + constexpr double t133 = t20 * t132; + constexpr double t134 = t133 * t6; + constexpr double t176 = t175 * t175; + constexpr double t177 = 0.1e1 / t176; + constexpr double t219 = t173 * t177; + constexpr double t220 = t57 * t57; + constexpr double t260 = t4 * t7; + constexpr double t389 = t132 * t6; + constexpr double t493 = t177 * t220; + constexpr double t623 = t57 * t20; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t12 = t5 * t7 / t9; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t18 = pow_3_2( t12 ); + const double t23 = t9 * t9; + const double t26 = t22 * t6 / t23; + const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 + 0.25e-1 * t12; + const double t110 = 0.1e1 + 0.4445e-1 * t12; + const double t111 = 0.1e1 / t110; + const double t112 = t108 * t111; + const double t113 = 0.1e1 / t94; + const double t115 = ( -t34 + t90 + t92 ) * t113; + const double t116 = 0.1e1 / t106; + const double t117 = t95 * t116; + const double t119 = safe_math::exp( -t115 * t117 ); + const double t120 = t119 - 0.1e1; + const double t121 = 0.1e1 / t120; + const double t122 = t113 * t121; + const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t125 = t122 * t124; + const double t126 = t112 * t125; + const double t128 = 0.1e1 / t9 / t38; + const double t129 = t128 * t57; + const double t130 = 0.1e1 / t105; + const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; + const double t139 = pow_1_4( t138 ); + const double t141 = 0.1e1 - 0.1e1 / t139; + const double t144 = 0.1e1 + 0.1e1 * t141 * t120; + const double t145 = safe_math::log( t144 ); + const double t147 = t97 * t106 * t145; + const double t148 = safe_math::cbrt( rho_a ); + const double t149 = t148 * t148; + const double t151 = 0.1e1 / t149 / rho_a; + const double t152 = tau_a * t151; + const double t153 = t44 / 0.2e1; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = t154 * t154; + const double t156 = t155 * t153; + const double t158 = safe_math::cbrt( rho_b ); + const double t159 = t158 * t158; + const double t161 = 0.1e1 / t159 / rho_b; + const double t162 = tau_b * t161; + const double t163 = t51 / 0.2e1; + const double t164 = safe_math::cbrt( t163 ); + const double t165 = t164 * t164; + const double t166 = t165 * t163; + const double t169 = 0.1e1 / t23 / t38; + const double t174 = ( t152 * t156 + t162 * t166 - t124 * t169 / 0.8e1 ) * t173; + const double t178 = t156 + t166; + const double t179 = 0.1e1 / t178; + const double t180 = t177 * t179; + const double t182 = 0.5e1 / 0.9e1 * t174 * t180; + const double t183 = t182 <= 0.1e1; + const double t184 = safe_math::log( DBL_EPSILON ); + const double t187 = t184 / ( -t184 + 0.64e0 ); + const double t188 = -t187 < t182; + const double t189 = t182 < -t187; + const double t190 = piecewise_functor_3( t189, t182, -t187 ); + const double t191 = 0.1e1 - t190; + const double t192 = 0.1e1 / t191; + const double t195 = safe_math::exp( -0.64e0 * t190 * t192 ); + const double t196 = piecewise_functor_3( t188, 0.0, t195 ); + const double t198 = safe_math::log( 0.14285714285714285714e1 * DBL_EPSILON ); + const double t201 = ( -t198 + 0.15e1 ) / t198; + const double t202 = t182 < -t201; + const double t203 = piecewise_functor_3( t202, -t201, t182 ); + const double t204 = 0.1e1 - t203; + const double t207 = safe_math::exp( 0.15e1 / t204 ); + const double t209 = piecewise_functor_3( t202, 0.0, -0.7e0 * t207 ); + const double t210 = piecewise_functor_3( t183, t196, t209 ); + const double t213 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; + const double t214 = 0.1e1 / t213; + const double t217 = safe_math::exp( 0.1e1 * t214 ); + const double t218 = t217 - 0.1e1; + const double t221 = t220 * t124; + const double t225 = 0.1e1 + 0.21337642104376358333e-1 * t219 * t221 * t169; + const double t226 = pow_1_4( t225 ); + const double t228 = 0.1e1 - 0.1e1 / t226; + const double t230 = t218 * t228 + 0.1e1; + const double t231 = safe_math::log( t230 ); + const double t233 = -0.285764e-1 * t214 + 0.285764e-1 * t231; + const double t237 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t238 = t233 * t237; + const double t239 = t37 * t37; + const double t240 = t239 * t37; + const double t241 = t39 * t39; + const double t242 = t241 * t39; + const double t243 = 0.1e1 / t242; + const double t245 = -t240 * t243 + 0.1e1; + const double t247 = t238 * t245 - t147 + t34 - t90 - t92; + const double t248 = t210 * t247; + const double t250 = 0.1e1 / t9 / t8; + const double t251 = t7 * t250; + const double t253 = t5 * t251 * t32; + const double t254 = 0.11073470983333333333e-2 * t253; + const double t255 = t28 * t28; + const double t256 = 0.1e1 / t255; + const double t257 = t14 * t256; + const double t259 = 0.1e1 / t15 * t2; + const double t261 = t260 * t250; + const double t262 = t259 * t261; + const double t264 = t5 * t251; + const double t266 = safe_math::sqrt( t12 ); + const double t267 = t266 * t2; + const double t268 = t267 * t261; + const double t273 = t22 * t6 / t23 / t8; + const double t275 = -0.632975e0 * t262 - 0.29896666666666666667e0 * t264 - 0.1023875e0 * t268 - 0.82156666666666666667e-1 * t273; + const double t276 = 0.1e1 / t31; + const double t277 = t275 * t276; + const double t278 = t257 * t277; + const double t279 = 0.1e1 * t278; + const double t280 = t36 * t35; + const double t281 = t280 * t40; + const double t282 = t281 * t89; + const double t283 = 0.4e1 * t282; + const double t284 = t39 * t8; + const double t285 = 0.1e1 / t284; + const double t286 = t37 * t285; + const double t287 = t286 * t89; + const double t288 = 0.4e1 * t287; + const double t289 = 0.1e1 / t38; + const double t290 = t35 * t289; + const double t291 = t42 - t290; + const double t294 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t291 ); + const double t295 = -t291; + const double t298 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t295 ); + const double t299 = t294 + t298; + const double t300 = t299 * t60; + const double t301 = t300 * t88; + const double t302 = t41 * t301; + const double t306 = t68 * t68; + const double t307 = 0.1e1 / t306; + const double t308 = t63 * t307; + const double t313 = -0.1176575e1 * t262 - 0.516475e0 * t264 - 0.2103875e0 * t268 - 0.104195e0 * t273; + const double t314 = 0.1e1 / t71; + const double t315 = t313 * t314; + const double t321 = t81 * t81; + const double t322 = 0.1e1 / t321; + const double t323 = t76 * t322; + const double t328 = -0.86308333333333333334e0 * t262 - 0.301925e0 * t264 - 0.5501625e-1 * t268 - 0.82785e-1 * t273; + const double t329 = 0.1e1 / t84; + const double t330 = t328 * t329; + const double t333 = 0.53237641966666666666e-3 * t5 * t251 * t72 + 0.1e1 * t308 * t315 - t254 - t279 + 0.18311447306006545054e-3 * t5 * t251 * t85 + 0.5848223622634646207e0 * t323 * t330; + const double t334 = t61 * t333; + const double t335 = t41 * t334; + const double t336 = t300 * t86; + const double t337 = 0.19751673498613801407e-1 * t336; + const double t338 = t61 * t2; + const double t340 = t260 * t250 * t85; + const double t341 = t338 * t340; + const double t342 = 0.18311447306006545054e-3 * t341; + const double t343 = t61 * t76; + const double t345 = t322 * t328 * t329; + const double t346 = t343 * t345; + const double t347 = 0.5848223622634646207e0 * t346; + const double t348 = t105 * t145; + const double t349 = 0.1e1 / t48; + const double t352 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t349 * t291 ); + const double t353 = 0.1e1 / t53; + const double t356 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t353 * t295 ); + const double t358 = t352 / 0.2e1 + t356 / 0.2e1; + const double t360 = t97 * t348 * t358; + const double t361 = 0.3e1 * t360; + const double t363 = 0.1e1 / t139 / t138; + const double t364 = t38 * t8; + const double t366 = 0.1e1 / t23 / t364; + const double t367 = t366 * t111; + const double t369 = t121 * t124; + const double t370 = t57 * t130; + const double t371 = t369 * t370; + const double t373 = 0.27439371595564631661e-2 * t367 * t113 * t371; + const double t374 = t110 * t110; + const double t375 = 0.1e1 / t374; + const double t376 = t108 * t375; + const double t377 = t376 * t122; + const double t378 = t124 * t366; + const double t381 = 0.48787202696913915093e-2 * t377 * t378 * t370; + const double t382 = t112 * t113; + const double t383 = t120 * t120; + const double t384 = 0.1e1 / t383; + const double t385 = t384 * t124; + const double t387 = t382 * t385 * t128; + const double t388 = t370 * t20; + const double t391 = ( t254 + t279 + t283 - t288 + t302 + t335 + t337 - t342 - t347 ) * t113; + const double t393 = t105 * t105; + const double t394 = 0.1e1 / t393; + const double t395 = t95 * t394; + const double t396 = t395 * t358; + const double t399 = 0.3e1 * t115 * t396 - t391 * t117; + const double t400 = t399 * t119; + const double t402 = t388 * t389 * t400; + const double t406 = 0.1e1 / t9 / t364; + const double t407 = t406 * t57; + const double t411 = 0.64025200389650807209e-1 * t126 * t407 * t130 * t134; + const double t413 = t382 * t369 * t128; + const double t414 = t57 * t116; + const double t415 = t414 * t20; + const double t417 = t415 * t389 * t358; + const double t420 = -t373 + t381 - 0.27439371595564631661e-1 * t387 * t402 - t411 - 0.54878743191129263322e-1 * t413 * t417; + const double t421 = t363 * t420; + const double t427 = 0.25e0 * t421 * t120 + 0.1e1 * t141 * t399 * t119; + const double t429 = 0.1e1 / t144; + const double t431 = t97 * t106 * t427 * t429; + const double t432 = rho_a * rho_a; + const double t434 = 0.1e1 / t149 / t432; + const double t435 = tau_a * t434; + const double t438 = t291 / 0.2e1; + const double t439 = t155 * t438; + const double t442 = -t438; + const double t443 = t165 * t442; + const double t446 = t378 / 0.3e1; + const double t448 = ( -0.5e1 / 0.3e1 * t435 * t156 + 0.5e1 / 0.3e1 * t152 * t439 + 0.5e1 / 0.3e1 * t162 * t443 + t446 ) * t173; + const double t450 = t178 * t178; + const double t451 = 0.1e1 / t450; + const double t452 = t177 * t451; + const double t454 = 0.5e1 / 0.3e1 * t439 + 0.5e1 / 0.3e1 * t443; + const double t455 = t452 * t454; + const double t458 = -0.5e1 / 0.9e1 * t174 * t455 + 0.5e1 / 0.9e1 * t448 * t180; + const double t459 = piecewise_functor_3( t189, t458, 0.0 ); + const double t462 = t191 * t191; + const double t463 = 0.1e1 / t462; + const double t464 = t190 * t463; + const double t467 = -0.64e0 * t459 * t192 - 0.64e0 * t464 * t459; + const double t468 = t467 * t195; + const double t469 = piecewise_functor_3( t188, 0.0, t468 ); + const double t470 = t204 * t204; + const double t471 = 0.1e1 / t470; + const double t472 = piecewise_functor_3( t202, 0.0, t458 ); + const double t476 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t472 * t207 ); + const double t477 = piecewise_functor_3( t183, t469, t476 ); + const double t478 = t477 * t247; + const double t479 = t213 * t213; + const double t480 = 0.1e1 / t479; + const double t483 = -0.74083333333333333333e-2 * t262 - 0.1046175e-1 * t264; + const double t484 = t480 * t483; + const double t486 = t217 * t228; + const double t490 = 0.1e1 / t226 / t225; + const double t491 = t218 * t490; + const double t492 = t491 * t173; + const double t497 = -0.1e1 * t484 * t486 - 0.14225094736250905555e-1 * t492 * t493 * t378; + const double t498 = 0.1e1 / t230; + const double t501 = 0.285764e-1 * t484 + 0.285764e-1 * t497 * t498; + const double t502 = t501 * t237; + const double t503 = t502 * t245; + const double t504 = t233 * t58; + const double t505 = t300 * t245; + const double t508 = t239 * t280; + const double t509 = t508 * t243; + const double t510 = t241 * t284; + const double t511 = 0.1e1 / t510; + const double t512 = t240 * t511; + const double t514 = -0.12e2 * t509 + 0.12e2 * t512; + const double t516 = t503 - 0.2363e1 * t504 * t505 + t238 * t514 - t254 - t279 - t283 + t288 - t302 - t335 - t337 + t342 + t347 - t361 - t431; + const double t517 = t210 * t516; + const double t518 = t254 + t279 + t283 - t288 + t302 + t335 + t337 - t342 - t347 + t361 + t431 + t478 + t517; + const double t520 = -t42 - t290; + const double t523 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t520 ); + const double t524 = -t520; + const double t527 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t524 ); + const double t528 = t523 + t527; + const double t529 = t528 * t60; + const double t530 = t529 * t88; + const double t531 = t41 * t530; + const double t532 = t529 * t86; + const double t533 = 0.19751673498613801407e-1 * t532; + const double t536 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t349 * t520 ); + const double t539 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t353 * t524 ); + const double t541 = t536 / 0.2e1 + t539 / 0.2e1; + const double t543 = t97 * t348 * t541; + const double t544 = 0.3e1 * t543; + const double t546 = ( t254 + t279 - t283 - t288 + t531 + t335 + t533 - t342 - t347 ) * t113; + const double t548 = t395 * t541; + const double t551 = 0.3e1 * t115 * t548 - t546 * t117; + const double t552 = t551 * t119; + const double t554 = t388 * t389 * t552; + const double t558 = t415 * t389 * t541; + const double t561 = -t373 + t381 - 0.27439371595564631661e-1 * t387 * t554 - t411 - 0.54878743191129263322e-1 * t413 * t558; + const double t562 = t363 * t561; + const double t565 = t141 * t551; + const double t568 = 0.25e0 * t562 * t120 + 0.1e1 * t565 * t119; + const double t571 = t97 * t106 * t568 * t429; + const double t572 = t520 / 0.2e1; + const double t573 = t155 * t572; + const double t576 = rho_b * rho_b; + const double t578 = 0.1e1 / t159 / t576; + const double t579 = tau_b * t578; + const double t582 = -t572; + const double t583 = t165 * t582; + const double t587 = ( 0.5e1 / 0.3e1 * t152 * t573 - 0.5e1 / 0.3e1 * t579 * t166 + 0.5e1 / 0.3e1 * t162 * t583 + t446 ) * t173; + const double t590 = 0.5e1 / 0.3e1 * t573 + 0.5e1 / 0.3e1 * t583; + const double t591 = t452 * t590; + const double t594 = -0.5e1 / 0.9e1 * t174 * t591 + 0.5e1 / 0.9e1 * t587 * t180; + const double t595 = piecewise_functor_3( t189, t594, 0.0 ); + const double t600 = -0.64e0 * t595 * t192 - 0.64e0 * t464 * t595; + const double t601 = t600 * t195; + const double t602 = piecewise_functor_3( t188, 0.0, t601 ); + const double t603 = piecewise_functor_3( t202, 0.0, t594 ); + const double t607 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t603 * t207 ); + const double t608 = piecewise_functor_3( t183, t602, t607 ); + const double t609 = t608 * t247; + const double t610 = t529 * t245; + const double t614 = 0.12e2 * t509 + 0.12e2 * t512; + const double t616 = t503 - 0.2363e1 * t504 * t610 + t238 * t614 - t254 - t279 + t283 + t288 - t531 - t335 - t533 + t342 + t347 - t544 - t571; + const double t617 = t210 * t616; + const double t618 = t254 + t279 - t283 - t288 + t531 + t335 + t533 - t342 - t347 + t544 + t571 + t609 + t617; + const double t620 = t104 * t363; + const double t621 = t112 * t128; + const double t622 = t620 * t621; + const double t624 = t389 * t429; + const double t625 = t623 * t624; + const double t626 = t622 * t625; + const double t627 = 0.69504740211613770831e-3 * t626; + const double t628 = t169 * t173; + const double t629 = t628 * t180; + const double t630 = 0.5e1 / 0.72e2 * t629; + const double t631 = piecewise_functor_3( t189, -t630, 0.0 ); + const double t636 = -0.64e0 * t631 * t192 - 0.64e0 * t464 * t631; + const double t637 = t636 * t195; + const double t638 = piecewise_functor_3( t188, 0.0, t637 ); + const double t639 = piecewise_functor_3( t202, 0.0, -t630 ); + const double t643 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t639 * t207 ); + const double t644 = piecewise_functor_3( t183, t638, t643 ); + const double t645 = t644 * t247; + const double t646 = t491 * t219; + const double t647 = t220 * t169; + const double t648 = t498 * t237; + const double t649 = t648 * t245; + const double t651 = t646 * t647 * t649; + const double t653 = 0.15243824895787514157e-3 * t651 - t627; + const double t654 = t210 * t653; + const double t656 = 0.13900948042322754166e-2 * t626; + const double t657 = 0.5e1 / 0.36e2 * t629; + const double t658 = piecewise_functor_3( t189, -t657, 0.0 ); + const double t663 = -0.64e0 * t658 * t192 - 0.64e0 * t464 * t658; + const double t664 = t663 * t195; + const double t665 = piecewise_functor_3( t188, 0.0, t664 ); + const double t666 = piecewise_functor_3( t202, 0.0, -t657 ); + const double t670 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t666 * t207 ); + const double t671 = piecewise_functor_3( t183, t665, t670 ); + const double t672 = t671 * t247; + const double t674 = 0.30487649791575028312e-3 * t651 - t656; + const double t675 = t210 * t674; + const double t677 = t151 * t156; + const double t678 = t219 * t179; + const double t680 = 0.5e1 / 0.9e1 * t677 * t678; + const double t681 = piecewise_functor_3( t189, t680, 0.0 ); + const double t686 = -0.64e0 * t681 * t192 - 0.64e0 * t464 * t681; + const double t687 = t686 * t195; + const double t688 = piecewise_functor_3( t188, 0.0, t687 ); + const double t689 = piecewise_functor_3( t202, 0.0, t680 ); + const double t693 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t689 * t207 ); + const double t694 = piecewise_functor_3( t183, t688, t693 ); + const double t695 = t8 * t694; + const double t696 = t161 * t166; + const double t698 = 0.5e1 / 0.9e1 * t696 * t678; + const double t699 = piecewise_functor_3( t189, t698, 0.0 ); + const double t704 = -0.64e0 * t699 * t192 - 0.64e0 * t464 * t699; + const double t705 = t704 * t195; + const double t706 = piecewise_functor_3( t188, 0.0, t705 ); + const double t707 = piecewise_functor_3( t202, 0.0, t698 ); + const double t711 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t707 * t207 ); + const double t712 = piecewise_functor_3( t183, t706, t711 ); + const double t713 = t8 * t712; + + + eps = -t34 + t90 + t92 + t147 + t248; + vrho_a = t8 * t518 + t147 + t248 - t34 + t90 + t92; + vrho_b = t8 * t618 + t147 + t248 - t34 + t90 + t92; + vsigma_aa = t8 * ( t627 + t645 + t654 ); + vsigma_ab = t8 * ( t656 + t672 + t675 ); + vsigma_bb = vsigma_aa; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t695 * t247; + vtau_b = t713 * t247; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_one_ov_pi; + constexpr double t6 = constants::m_cbrt_4; + constexpr double t57 = constants::m_cbrt_2; + constexpr double t95 = constants::m_pi_sq; + constexpr double t173 = constants::m_cbrt_6; + constexpr double t175 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 * t4; + constexpr double t7 = t6 * t6; + constexpr double t20 = t2 * t2; + constexpr double t21 = t4 * t4; + constexpr double t22 = t20 * t21; + constexpr double t58 = t57 - 0.1e1; + constexpr double t60 = 0.1e1 / t58 / 0.2e1; + constexpr double t132 = 0.1e1 / t4; + constexpr double t133 = t20 * t132; + constexpr double t134 = t133 * t6; + constexpr double t176 = t175 * t175; + constexpr double t177 = 0.1e1 / t176; + constexpr double t219 = t173 * t177; + constexpr double t220 = t57 * t57; + constexpr double t260 = t4 * t7; + constexpr double t389 = t132 * t6; + constexpr double t493 = t177 * t220; + constexpr double t623 = t57 * t20; + constexpr double t760 = t5 * t7; + constexpr double t825 = t21 * t6; + constexpr double t1113 = t173 * t173; + constexpr double t1116 = 0.1e1 / t175 / t95; + constexpr double t1117 = t1116 * t57; + constexpr double t1782 = t623 * t132; + constexpr double t1853 = t1113 * t1116; + constexpr double t1854 = t1853 * t57; + constexpr double t1868 = t219 * t220; + constexpr double t2209 = 0.1e1 / t21; + constexpr double t2211 = t2 * t2209 * t7; + constexpr double t2224 = t220 * t2; + + + const double t8 = rho_a + rho_b; + const double t9 = safe_math::cbrt( t8 ); + const double t12 = t5 * t7 / t9; + const double t14 = 0.1e1 + 0.53425e-1 * t12; + const double t15 = safe_math::sqrt( t12 ); + const double t18 = pow_3_2( t12 ); + const double t23 = t9 * t9; + const double t26 = t22 * t6 / t23; + const double t28 = 0.379785e1 * t15 + 0.8969e0 * t12 + 0.204775e0 * t18 + 0.123235e0 * t26; + const double t31 = 0.1e1 + 0.16081979498692535067e2 / t28; + const double t32 = safe_math::log( t31 ); + const double t34 = 0.621814e-1 * t14 * t32; + const double t35 = rho_a - rho_b; + const double t36 = t35 * t35; + const double t37 = t36 * t36; + const double t38 = t8 * t8; + const double t39 = t38 * t38; + const double t40 = 0.1e1 / t39; + const double t41 = t37 * t40; + const double t42 = 0.1e1 / t8; + const double t43 = t35 * t42; + const double t44 = 0.1e1 + t43; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( zeta_tol ); + const double t47 = t46 * zeta_tol; + const double t48 = safe_math::cbrt( t44 ); + const double t49 = t48 * t44; + const double t50 = piecewise_functor_3( t45, t47, t49 ); + const double t51 = 0.1e1 - t43; + const double t52 = t51 <= zeta_tol; + const double t53 = safe_math::cbrt( t51 ); + const double t54 = t53 * t51; + const double t55 = piecewise_functor_3( t52, t47, t54 ); + const double t56 = t50 + t55 - 0.2e1; + const double t61 = t56 * t60; + const double t63 = 0.1e1 + 0.5137e-1 * t12; + const double t68 = 0.705945e1 * t15 + 0.1549425e1 * t12 + 0.420775e0 * t18 + 0.1562925e0 * t26; + const double t71 = 0.1e1 + 0.32163958997385070134e2 / t68; + const double t72 = safe_math::log( t71 ); + const double t76 = 0.1e1 + 0.278125e-1 * t12; + const double t81 = 0.51785e1 * t15 + 0.905775e0 * t12 + 0.1100325e0 * t18 + 0.1241775e0 * t26; + const double t84 = 0.1e1 + 0.29608749977793437516e2 / t81; + const double t85 = safe_math::log( t84 ); + const double t86 = t76 * t85; + const double t88 = -0.310907e-1 * t63 * t72 + t34 - 0.19751673498613801407e-1 * t86; + const double t89 = t61 * t88; + const double t90 = t41 * t89; + const double t92 = 0.19751673498613801407e-1 * t61 * t86; + const double t93 = safe_math::log( 0.2e1 ); + const double t94 = 0.1e1 - t93; + const double t97 = t94 / t95; + const double t98 = t46 * t46; + const double t99 = t48 * t48; + const double t100 = piecewise_functor_3( t45, t98, t99 ); + const double t101 = t53 * t53; + const double t102 = piecewise_functor_3( t52, t98, t101 ); + const double t104 = t100 / 0.2e1 + t102 / 0.2e1; + const double t105 = t104 * t104; + const double t106 = t105 * t104; + const double t108 = 0.1e1 + 0.25e-1 * t12; + const double t110 = 0.1e1 + 0.4445e-1 * t12; + const double t111 = 0.1e1 / t110; + const double t112 = t108 * t111; + const double t113 = 0.1e1 / t94; + const double t115 = ( -t34 + t90 + t92 ) * t113; + const double t116 = 0.1e1 / t106; + const double t117 = t95 * t116; + const double t119 = safe_math::exp( -t115 * t117 ); + const double t120 = t119 - 0.1e1; + const double t121 = 0.1e1 / t120; + const double t122 = t113 * t121; + const double t124 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t125 = t122 * t124; + const double t126 = t112 * t125; + const double t128 = 0.1e1 / t9 / t38; + const double t129 = t128 * t57; + const double t130 = 0.1e1 / t105; + const double t138 = 0.1e1 + 0.27439371595564631661e-1 * t126 * t129 * t130 * t134; + const double t139 = pow_1_4( t138 ); + const double t141 = 0.1e1 - 0.1e1 / t139; + const double t144 = 0.1e1 + 0.1e1 * t141 * t120; + const double t145 = safe_math::log( t144 ); + const double t147 = t97 * t106 * t145; + const double t148 = safe_math::cbrt( rho_a ); + const double t149 = t148 * t148; + const double t151 = 0.1e1 / t149 / rho_a; + const double t152 = tau_a * t151; + const double t153 = t44 / 0.2e1; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = t154 * t154; + const double t156 = t155 * t153; + const double t158 = safe_math::cbrt( rho_b ); + const double t159 = t158 * t158; + const double t161 = 0.1e1 / t159 / rho_b; + const double t162 = tau_b * t161; + const double t163 = t51 / 0.2e1; + const double t164 = safe_math::cbrt( t163 ); + const double t165 = t164 * t164; + const double t166 = t165 * t163; + const double t169 = 0.1e1 / t23 / t38; + const double t174 = ( t152 * t156 + t162 * t166 - t124 * t169 / 0.8e1 ) * t173; + const double t178 = t156 + t166; + const double t179 = 0.1e1 / t178; + const double t180 = t177 * t179; + const double t182 = 0.5e1 / 0.9e1 * t174 * t180; + const double t183 = t182 <= 0.1e1; + const double t184 = safe_math::log( DBL_EPSILON ); + const double t187 = t184 / ( -t184 + 0.64e0 ); + const double t188 = -t187 < t182; + const double t189 = t182 < -t187; + const double t190 = piecewise_functor_3( t189, t182, -t187 ); + const double t191 = 0.1e1 - t190; + const double t192 = 0.1e1 / t191; + const double t195 = safe_math::exp( -0.64e0 * t190 * t192 ); + const double t196 = piecewise_functor_3( t188, 0.0, t195 ); + const double t198 = safe_math::log( 0.14285714285714285714e1 * DBL_EPSILON ); + const double t201 = ( -t198 + 0.15e1 ) / t198; + const double t202 = t182 < -t201; + const double t203 = piecewise_functor_3( t202, -t201, t182 ); + const double t204 = 0.1e1 - t203; + const double t207 = safe_math::exp( 0.15e1 / t204 ); + const double t209 = piecewise_functor_3( t202, 0.0, -0.7e0 * t207 ); + const double t210 = piecewise_functor_3( t183, t196, t209 ); + const double t213 = 0.1e1 + 0.4445e-1 * t15 + 0.3138525e-1 * t12; + const double t214 = 0.1e1 / t213; + const double t217 = safe_math::exp( 0.1e1 * t214 ); + const double t218 = t217 - 0.1e1; + const double t221 = t220 * t124; + const double t225 = 0.1e1 + 0.21337642104376358333e-1 * t219 * t221 * t169; + const double t226 = pow_1_4( t225 ); + const double t228 = 0.1e1 - 0.1e1 / t226; + const double t230 = t218 * t228 + 0.1e1; + const double t231 = safe_math::log( t230 ); + const double t233 = -0.285764e-1 * t214 + 0.285764e-1 * t231; + const double t237 = 0.1e1 - 0.2363e1 * t58 * t56 * t60; + const double t238 = t233 * t237; + const double t239 = t37 * t37; + const double t240 = t239 * t37; + const double t241 = t39 * t39; + const double t242 = t241 * t39; + const double t243 = 0.1e1 / t242; + const double t245 = -t240 * t243 + 0.1e1; + const double t247 = t238 * t245 - t147 + t34 - t90 - t92; + const double t250 = 0.1e1 / t9 / t8; + const double t251 = t7 * t250; + const double t253 = t5 * t251 * t32; + const double t254 = 0.11073470983333333333e-2 * t253; + const double t255 = t28 * t28; + const double t256 = 0.1e1 / t255; + const double t257 = t14 * t256; + const double t259 = 0.1e1 / t15 * t2; + const double t261 = t260 * t250; + const double t262 = t259 * t261; + const double t264 = t5 * t251; + const double t266 = safe_math::sqrt( t12 ); + const double t267 = t266 * t2; + const double t268 = t267 * t261; + const double t273 = t22 * t6 / t23 / t8; + const double t275 = -0.632975e0 * t262 - 0.29896666666666666667e0 * t264 - 0.1023875e0 * t268 - 0.82156666666666666667e-1 * t273; + const double t276 = 0.1e1 / t31; + const double t277 = t275 * t276; + const double t278 = t257 * t277; + const double t279 = 0.1e1 * t278; + const double t280 = t36 * t35; + const double t281 = t280 * t40; + const double t282 = t281 * t89; + const double t283 = 0.4e1 * t282; + const double t284 = t39 * t8; + const double t285 = 0.1e1 / t284; + const double t286 = t37 * t285; + const double t287 = t286 * t89; + const double t288 = 0.4e1 * t287; + const double t289 = 0.1e1 / t38; + const double t290 = t35 * t289; + const double t291 = t42 - t290; + const double t294 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t291 ); + const double t295 = -t291; + const double t298 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t295 ); + const double t299 = t294 + t298; + const double t300 = t299 * t60; + const double t301 = t300 * t88; + const double t302 = t41 * t301; + const double t306 = t68 * t68; + const double t307 = 0.1e1 / t306; + const double t308 = t63 * t307; + const double t313 = -0.1176575e1 * t262 - 0.516475e0 * t264 - 0.2103875e0 * t268 - 0.104195e0 * t273; + const double t314 = 0.1e1 / t71; + const double t315 = t313 * t314; + const double t321 = t81 * t81; + const double t322 = 0.1e1 / t321; + const double t323 = t76 * t322; + const double t328 = -0.86308333333333333334e0 * t262 - 0.301925e0 * t264 - 0.5501625e-1 * t268 - 0.82785e-1 * t273; + const double t329 = 0.1e1 / t84; + const double t330 = t328 * t329; + const double t333 = 0.53237641966666666666e-3 * t5 * t251 * t72 + 0.1e1 * t308 * t315 - t254 - t279 + 0.18311447306006545054e-3 * t5 * t251 * t85 + 0.5848223622634646207e0 * t323 * t330; + const double t334 = t61 * t333; + const double t335 = t41 * t334; + const double t336 = t300 * t86; + const double t337 = 0.19751673498613801407e-1 * t336; + const double t338 = t61 * t2; + const double t340 = t260 * t250 * t85; + const double t341 = t338 * t340; + const double t342 = 0.18311447306006545054e-3 * t341; + const double t343 = t61 * t76; + const double t345 = t322 * t328 * t329; + const double t346 = t343 * t345; + const double t347 = 0.5848223622634646207e0 * t346; + const double t348 = t105 * t145; + const double t349 = 0.1e1 / t48; + const double t352 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t349 * t291 ); + const double t353 = 0.1e1 / t53; + const double t356 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t353 * t295 ); + const double t358 = t352 / 0.2e1 + t356 / 0.2e1; + const double t360 = t97 * t348 * t358; + const double t361 = 0.3e1 * t360; + const double t363 = 0.1e1 / t139 / t138; + const double t364 = t38 * t8; + const double t366 = 0.1e1 / t23 / t364; + const double t367 = t366 * t111; + const double t369 = t121 * t124; + const double t370 = t57 * t130; + const double t371 = t369 * t370; + const double t373 = 0.27439371595564631661e-2 * t367 * t113 * t371; + const double t374 = t110 * t110; + const double t375 = 0.1e1 / t374; + const double t376 = t108 * t375; + const double t377 = t376 * t122; + const double t378 = t124 * t366; + const double t381 = 0.48787202696913915093e-2 * t377 * t378 * t370; + const double t382 = t112 * t113; + const double t383 = t120 * t120; + const double t384 = 0.1e1 / t383; + const double t385 = t384 * t124; + const double t387 = t382 * t385 * t128; + const double t388 = t370 * t20; + const double t391 = ( t254 + t279 + t283 - t288 + t302 + t335 + t337 - t342 - t347 ) * t113; + const double t393 = t105 * t105; + const double t394 = 0.1e1 / t393; + const double t395 = t95 * t394; + const double t396 = t395 * t358; + const double t399 = 0.3e1 * t115 * t396 - t391 * t117; + const double t400 = t399 * t119; + const double t402 = t388 * t389 * t400; + const double t406 = 0.1e1 / t9 / t364; + const double t407 = t406 * t57; + const double t411 = 0.64025200389650807209e-1 * t126 * t407 * t130 * t134; + const double t413 = t382 * t369 * t128; + const double t414 = t57 * t116; + const double t415 = t414 * t20; + const double t417 = t415 * t389 * t358; + const double t420 = -t373 + t381 - 0.27439371595564631661e-1 * t387 * t402 - t411 - 0.54878743191129263322e-1 * t413 * t417; + const double t421 = t363 * t420; + const double t427 = 0.25e0 * t421 * t120 + 0.1e1 * t141 * t399 * t119; + const double t429 = 0.1e1 / t144; + const double t431 = t97 * t106 * t427 * t429; + const double t432 = rho_a * rho_a; + const double t434 = 0.1e1 / t149 / t432; + const double t435 = tau_a * t434; + const double t438 = t291 / 0.2e1; + const double t439 = t155 * t438; + const double t442 = -t438; + const double t443 = t165 * t442; + const double t446 = t378 / 0.3e1; + const double t448 = ( -0.5e1 / 0.3e1 * t435 * t156 + 0.5e1 / 0.3e1 * t152 * t439 + 0.5e1 / 0.3e1 * t162 * t443 + t446 ) * t173; + const double t450 = t178 * t178; + const double t451 = 0.1e1 / t450; + const double t452 = t177 * t451; + const double t454 = 0.5e1 / 0.3e1 * t439 + 0.5e1 / 0.3e1 * t443; + const double t455 = t452 * t454; + const double t458 = -0.5e1 / 0.9e1 * t174 * t455 + 0.5e1 / 0.9e1 * t448 * t180; + const double t459 = piecewise_functor_3( t189, t458, 0.0 ); + const double t462 = t191 * t191; + const double t463 = 0.1e1 / t462; + const double t464 = t190 * t463; + const double t467 = -0.64e0 * t459 * t192 - 0.64e0 * t464 * t459; + const double t468 = t467 * t195; + const double t469 = piecewise_functor_3( t188, 0.0, t468 ); + const double t470 = t204 * t204; + const double t471 = 0.1e1 / t470; + const double t472 = piecewise_functor_3( t202, 0.0, t458 ); + const double t476 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t472 * t207 ); + const double t477 = piecewise_functor_3( t183, t469, t476 ); + const double t478 = t477 * t247; + const double t479 = t213 * t213; + const double t480 = 0.1e1 / t479; + const double t483 = -0.74083333333333333333e-2 * t262 - 0.1046175e-1 * t264; + const double t484 = t480 * t483; + const double t486 = t217 * t228; + const double t490 = 0.1e1 / t226 / t225; + const double t491 = t218 * t490; + const double t492 = t491 * t173; + const double t497 = -0.1e1 * t484 * t486 - 0.14225094736250905555e-1 * t492 * t493 * t378; + const double t498 = 0.1e1 / t230; + const double t501 = 0.285764e-1 * t484 + 0.285764e-1 * t497 * t498; + const double t502 = t501 * t237; + const double t503 = t502 * t245; + const double t504 = t233 * t58; + const double t505 = t300 * t245; + const double t508 = t239 * t280; + const double t509 = t508 * t243; + const double t510 = t241 * t284; + const double t511 = 0.1e1 / t510; + const double t512 = t240 * t511; + const double t514 = -0.12e2 * t509 + 0.12e2 * t512; + const double t516 = t503 - 0.2363e1 * t504 * t505 + t238 * t514 - t254 - t279 - t283 + t288 - t302 - t335 - t337 + t342 + t347 - t361 - t431; + const double t517 = t210 * t516; + const double t520 = -t42 - t290; + const double t523 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t48 * t520 ); + const double t524 = -t520; + const double t527 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.3e1 * t53 * t524 ); + const double t528 = t523 + t527; + const double t529 = t528 * t60; + const double t530 = t529 * t88; + const double t531 = t41 * t530; + const double t532 = t529 * t86; + const double t533 = 0.19751673498613801407e-1 * t532; + const double t536 = piecewise_functor_3( t45, 0.0, 0.2e1 / 0.3e1 * t349 * t520 ); + const double t539 = piecewise_functor_3( t52, 0.0, 0.2e1 / 0.3e1 * t353 * t524 ); + const double t541 = t536 / 0.2e1 + t539 / 0.2e1; + const double t543 = t97 * t348 * t541; + const double t544 = 0.3e1 * t543; + const double t546 = ( t254 + t279 - t283 - t288 + t531 + t335 + t533 - t342 - t347 ) * t113; + const double t548 = t395 * t541; + const double t551 = 0.3e1 * t115 * t548 - t546 * t117; + const double t552 = t551 * t119; + const double t554 = t388 * t389 * t552; + const double t558 = t415 * t389 * t541; + const double t561 = -t373 + t381 - 0.27439371595564631661e-1 * t387 * t554 - t411 - 0.54878743191129263322e-1 * t413 * t558; + const double t562 = t363 * t561; + const double t565 = t141 * t551; + const double t568 = 0.25e0 * t562 * t120 + 0.1e1 * t565 * t119; + const double t571 = t97 * t106 * t568 * t429; + const double t572 = t520 / 0.2e1; + const double t573 = t155 * t572; + const double t576 = rho_b * rho_b; + const double t578 = 0.1e1 / t159 / t576; + const double t579 = tau_b * t578; + const double t582 = -t572; + const double t583 = t165 * t582; + const double t587 = ( 0.5e1 / 0.3e1 * t152 * t573 - 0.5e1 / 0.3e1 * t579 * t166 + 0.5e1 / 0.3e1 * t162 * t583 + t446 ) * t173; + const double t590 = 0.5e1 / 0.3e1 * t573 + 0.5e1 / 0.3e1 * t583; + const double t591 = t452 * t590; + const double t594 = -0.5e1 / 0.9e1 * t174 * t591 + 0.5e1 / 0.9e1 * t587 * t180; + const double t595 = piecewise_functor_3( t189, t594, 0.0 ); + const double t600 = -0.64e0 * t595 * t192 - 0.64e0 * t464 * t595; + const double t601 = t600 * t195; + const double t602 = piecewise_functor_3( t188, 0.0, t601 ); + const double t603 = piecewise_functor_3( t202, 0.0, t594 ); + const double t607 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t603 * t207 ); + const double t608 = piecewise_functor_3( t183, t602, t607 ); + const double t609 = t608 * t247; + const double t610 = t529 * t245; + const double t614 = 0.12e2 * t509 + 0.12e2 * t512; + const double t616 = t503 - 0.2363e1 * t504 * t610 + t238 * t614 - t254 - t279 + t283 + t288 - t531 - t335 - t533 + t342 + t347 - t544 - t571; + const double t617 = t210 * t616; + const double t620 = t104 * t363; + const double t621 = t112 * t128; + const double t622 = t620 * t621; + const double t624 = t389 * t429; + const double t625 = t623 * t624; + const double t626 = t622 * t625; + const double t627 = 0.69504740211613770831e-3 * t626; + const double t628 = t169 * t173; + const double t629 = t628 * t180; + const double t630 = 0.5e1 / 0.72e2 * t629; + const double t631 = piecewise_functor_3( t189, -t630, 0.0 ); + const double t636 = -0.64e0 * t631 * t192 - 0.64e0 * t464 * t631; + const double t637 = t636 * t195; + const double t638 = piecewise_functor_3( t188, 0.0, t637 ); + const double t639 = piecewise_functor_3( t202, 0.0, -t630 ); + const double t643 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t639 * t207 ); + const double t644 = piecewise_functor_3( t183, t638, t643 ); + const double t645 = t644 * t247; + const double t646 = t491 * t219; + const double t647 = t220 * t169; + const double t648 = t498 * t237; + const double t649 = t648 * t245; + const double t651 = t646 * t647 * t649; + const double t653 = 0.15243824895787514157e-3 * t651 - t627; + const double t654 = t210 * t653; + const double t656 = 0.13900948042322754166e-2 * t626; + const double t657 = 0.5e1 / 0.36e2 * t629; + const double t658 = piecewise_functor_3( t189, -t657, 0.0 ); + const double t663 = -0.64e0 * t658 * t192 - 0.64e0 * t464 * t658; + const double t664 = t663 * t195; + const double t665 = piecewise_functor_3( t188, 0.0, t664 ); + const double t666 = piecewise_functor_3( t202, 0.0, -t657 ); + const double t670 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t666 * t207 ); + const double t671 = piecewise_functor_3( t183, t665, t670 ); + const double t672 = t671 * t247; + const double t674 = 0.30487649791575028312e-3 * t651 - t656; + const double t675 = t210 * t674; + const double t677 = t151 * t156; + const double t678 = t219 * t179; + const double t680 = 0.5e1 / 0.9e1 * t677 * t678; + const double t681 = piecewise_functor_3( t189, t680, 0.0 ); + const double t686 = -0.64e0 * t681 * t192 - 0.64e0 * t464 * t681; + const double t687 = t686 * t195; + const double t688 = piecewise_functor_3( t188, 0.0, t687 ); + const double t689 = piecewise_functor_3( t202, 0.0, t680 ); + const double t693 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t689 * t207 ); + const double t694 = piecewise_functor_3( t183, t688, t693 ); + const double t695 = t8 * t694; + const double t696 = t161 * t166; + const double t698 = 0.5e1 / 0.9e1 * t696 * t678; + const double t699 = piecewise_functor_3( t189, t698, 0.0 ); + const double t704 = -0.64e0 * t699 * t192 - 0.64e0 * t464 * t699; + const double t705 = t704 * t195; + const double t706 = piecewise_functor_3( t188, 0.0, t705 ); + const double t707 = piecewise_functor_3( t202, 0.0, t698 ); + const double t711 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t707 * t207 ); + const double t712 = piecewise_functor_3( t183, t706, t711 ); + const double t713 = t8 * t712; + const double t714 = t321 * t81; + const double t715 = 0.1e1 / t714; + const double t716 = t328 * t328; + const double t718 = t715 * t716 * t329; + const double t719 = t343 * t718; + const double t720 = 0.11696447245269292414e1 * t719; + const double t721 = t138 * t138; + const double t723 = 0.1e1 / t139 / t721; + const double t724 = t420 * t420; + const double t725 = t723 * t724; + const double t729 = 0.1e1 / t383 / t120; + const double t730 = t729 * t124; + const double t732 = t382 * t730 * t128; + const double t733 = t399 * t399; + const double t734 = t119 * t119; + const double t735 = t733 * t734; + const double t737 = t388 * t389 * t735; + const double t740 = t113 * t384; + const double t741 = t367 * t740; + const double t742 = t124 * t57; + const double t744 = t130 * t399 * t119; + const double t745 = t742 * t744; + const double t746 = t741 * t745; + const double t749 = 0.1e1 / t23 / t39; + const double t750 = t124 * t749; + const double t753 = 0.29272321618148349056e-1 * t377 * t750 * t370; + const double t754 = t414 * t358; + const double t756 = t377 * t378 * t754; + const double t758 = t285 * t375; + const double t759 = t758 * t125; + const double t763 = 0.81312004494856525156e-4 * t759 * t370 * t760; + const double t764 = t740 * t124; + const double t765 = t376 * t764; + const double t766 = t366 * t57; + const double t768 = t765 * t766 * t744; + const double t771 = 0.1e1 / t374 / t110; + const double t772 = t108 * t771; + const double t773 = t772 * t125; + const double t774 = t285 * t57; + const double t778 = 0.14457274399185490173e-3 * t773 * t774 * t130 * t760; + const double t779 = t57 * t394; + const double t780 = t779 * t20; + const double t781 = t358 * t358; + const double t783 = t780 * t389 * t781; + const double t786 = 0.1e1 / t99; + const double t787 = t291 * t291; + const double t790 = 0.1e1 / t364; + const double t791 = t35 * t790; + const double t792 = -t289 + t791; + const double t793 = 0.2e1 * t792; + const double t797 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t786 * t787 + 0.4e1 / 0.3e1 * t48 * t793 ); + const double t798 = 0.1e1 / t101; + const double t799 = t295 * t295; + const double t802 = -t793; + const double t806 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t798 * t799 + 0.4e1 / 0.3e1 * t53 * t802 ); + const double t807 = t797 + t806; + const double t808 = t807 * t60; + const double t809 = t808 * t86; + const double t810 = 0.19751673498613801407e-1 * t809; + const double t811 = t321 * t321; + const double t812 = 0.1e1 / t811; + const double t814 = t84 * t84; + const double t815 = 0.1e1 / t814; + const double t816 = t812 * t716 * t815; + const double t817 = t343 * t816; + const double t818 = 0.17315859105681463759e2 * t817; + const double t819 = t300 * t76; + const double t820 = t819 * t345; + const double t821 = 0.11696447245269292414e1 * t820; + const double t824 = 0.1e1 / t15 / t12 * t20; + const double t826 = t825 * t169; + const double t827 = t824 * t826; + const double t829 = t260 * t128; + const double t830 = t259 * t829; + const double t832 = t7 * t128; + const double t833 = t5 * t832; + const double t835 = 0.1e1/safe_math::sqrt( t12 ); + const double t836 = t835 * t20; + const double t837 = t836 * t826; + const double t839 = t267 * t829; + const double t842 = t22 * t6 * t169; + const double t844 = -0.57538888888888888889e0 * t827 + 0.11507777777777777778e1 * t830 + 0.40256666666666666667e0 * t833 + 0.366775e-1 * t837 + 0.73355e-1 * t839 + 0.137975e0 * t842; + const double t846 = t322 * t844 * t329; + const double t847 = t343 * t846; + const double t848 = 0.5848223622634646207e0 * t847; + const double t849 = t39 * t38; + const double t850 = 0.1e1 / t849; + const double t851 = t37 * t850; + const double t852 = t851 * t89; + const double t853 = 0.2e2 * t852; + const double t854 = t36 * t40; + const double t855 = t854 * t89; + const double t856 = 0.12e2 * t855; + const double t857 = t280 * t285; + const double t858 = t857 * t89; + const double t859 = 0.32e2 * t858; + const double t861 = t5 * t832 * t32; + const double t862 = 0.14764627977777777777e-2 * t861; + const double t866 = t250 * t307; + const double t870 = t306 * t68; + const double t871 = 0.1e1 / t870; + const double t872 = t63 * t871; + const double t873 = t313 * t313; + const double t874 = t873 * t314; + const double t883 = -0.78438333333333333333e0 * t827 + 0.15687666666666666667e1 * t830 + 0.68863333333333333333e0 * t833 + 0.14025833333333333333e0 * t837 + 0.28051666666666666667e0 * t839 + 0.17365833333333333333e0 * t842; + const double t884 = t883 * t314; + const double t887 = t306 * t306; + const double t888 = 0.1e1 / t887; + const double t889 = t63 * t888; + const double t890 = t71 * t71; + const double t891 = 0.1e1 / t890; + const double t892 = t873 * t891; + const double t895 = t250 * t256; + const double t897 = t760 * t895 * t277; + const double t898 = 0.35616666666666666666e-1 * t897; + const double t899 = t255 * t28; + const double t900 = 0.1e1 / t899; + const double t901 = t14 * t900; + const double t902 = t275 * t275; + const double t903 = t902 * t276; + const double t904 = t901 * t903; + const double t905 = 0.2e1 * t904; + const double t912 = -0.42198333333333333333e0 * t827 + 0.84396666666666666666e0 * t830 + 0.39862222222222222223e0 * t833 + 0.68258333333333333333e-1 * t837 + 0.13651666666666666667e0 * t839 + 0.13692777777777777778e0 * t842; + const double t913 = t912 * t276; + const double t914 = t257 * t913; + const double t915 = 0.1e1 * t914; + const double t916 = t255 * t255; + const double t917 = 0.1e1 / t916; + const double t918 = t14 * t917; + const double t919 = t31 * t31; + const double t920 = 0.1e1 / t919; + const double t921 = t902 * t920; + const double t922 = t918 * t921; + const double t923 = 0.16081979498692535067e2 * t922; + const double t927 = t250 * t322; + const double t931 = t76 * t715; + const double t932 = t716 * t329; + const double t935 = t844 * t329; + const double t938 = t76 * t812; + const double t939 = t716 * t815; + const double t942 = -0.70983522622222222221e-3 * t5 * t832 * t72 - 0.34246666666666666666e-1 * t760 * t866 * t315 - 0.2e1 * t872 * t874 + 0.1e1 * t308 * t884 + 0.32163958997385070134e2 * t889 * t892 + t862 + t898 + t905 - t915 - t923 - 0.24415263074675393405e-3 * t5 * t832 * t85 - 0.10843581300301739842e-1 * t760 * t927 * t330 - 0.11696447245269292414e1 * t931 * t932 + 0.5848223622634646207e0 * t323 * t935 + 0.17315859105681463759e2 * t938 * t939; + const double t943 = t61 * t942; + const double t944 = t41 * t943; + const double t945 = t808 * t88; + const double t946 = t41 * t945; + const double t947 = t300 * t333; + const double t948 = t41 * t947; + const double t949 = 0.2e1 * t948; + const double t950 = t810 - t818 - t821 - t848 + t853 + t856 - t859 - t862 + t944 + t946 + t949; + const double t951 = t286 * t301; + const double t952 = 0.8e1 * t951; + const double t953 = t286 * t334; + const double t954 = 0.8e1 * t953; + const double t955 = t281 * t301; + const double t956 = 0.8e1 * t955; + const double t957 = t281 * t334; + const double t958 = 0.8e1 * t957; + const double t959 = t61 * t5; + const double t960 = t251 * t345; + const double t961 = t959 * t960; + const double t962 = 0.10843581300301739842e-1 * t961; + const double t963 = t300 * t2; + const double t964 = t963 * t340; + const double t965 = 0.36622894612013090108e-3 * t964; + const double t967 = t260 * t128 * t85; + const double t968 = t338 * t967; + const double t969 = 0.24415263074675393405e-3 * t968; + const double t970 = -t952 - t954 + t956 + t958 - t905 + t915 + t923 + t962 - t965 + t720 - t898 + t969; + const double t972 = ( t950 + t970 ) * t113; + const double t977 = 0.1e1 / t393 / t104; + const double t978 = t95 * t977; + const double t979 = t978 * t781; + const double t982 = 0.1e1 / t49; + const double t988 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t982 * t787 + 0.2e1 / 0.3e1 * t349 * t793 ); + const double t989 = 0.1e1 / t54; + const double t995 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t989 * t799 + 0.2e1 / 0.3e1 * t353 * t802 ); + const double t997 = t988 / 0.2e1 + t995 / 0.2e1; + const double t998 = t395 * t997; + const double t1001 = -0.12e2 * t115 * t979 + 0.3e1 * t115 * t998 - t972 * t117 + 0.6e1 * t391 * t396; + const double t1002 = t1001 * t119; + const double t1004 = t388 * t389 * t1002; + const double t1008 = t415 * t389 * t997; + const double t1012 = 0.1e1 / t9 / t39; + const double t1013 = t1012 * t57; + const double t1017 = 0.21341733463216935736e0 * t126 * t1013 * t130 * t134; + const double t1019 = t382 * t369 * t406; + const double t1020 = t1019 * t417; + const double t1022 = t749 * t111; + const double t1025 = 0.16463622957338778997e-1 * t1022 * t113 * t371; + const double t1026 = t367 * t122; + const double t1028 = t742 * t116 * t358; + const double t1029 = t1026 * t1028; + const double t1032 = t382 * t385 * t406; + const double t1033 = t1032 * t402; + const double t1036 = t382 * t385 * t129; + const double t1037 = t116 * t20; + const double t1038 = t1037 * t132; + const double t1039 = t6 * t399; + const double t1040 = t119 * t358; + const double t1042 = t1038 * t1039 * t1040; + const double t1045 = t733 * t119; + const double t1047 = t388 * t389 * t1045; + const double t1050 = 0.54878743191129263322e-1 * t732 * t737 + 0.54878743191129263322e-2 * t746 - t753 - 0.19514881078765566037e-1 * t756 - t763 - 0.97574405393827830186e-2 * t768 + t778 + 0.16463622957338778997e0 * t413 * t783 - 0.27439371595564631661e-1 * t387 * t1004 - 0.54878743191129263322e-1 * t413 * t1008 + t1017 + 0.25610080155860322884e0 * t1020 + t1025 + 0.10975748638225852664e-1 * t1029 + 0.12805040077930161442e0 * t1033 + 0.10975748638225852664e0 * t1036 * t1042 - 0.27439371595564631661e-1 * t387 * t1047; + const double t1051 = t363 * t1050; + const double t1056 = t141 * t1001; + const double t1062 = -0.3125e0 * t725 * t120 + 0.25e0 * t1051 * t120 + 0.5e0 * t421 * t400 + 0.1e1 * t1056 * t119 + 0.1e1 * t141 * t733 * t119; + const double t1065 = t97 * t106 * t1062 * t429; + const double t1066 = t104 * t145; + const double t1068 = t97 * t1066 * t781; + const double t1069 = 0.6e1 * t1068; + const double t1070 = t502 * t514; + const double t1072 = t239 * t36; + const double t1074 = 0.132e3 * t1072 * t243; + const double t1076 = 0.288e3 * t508 * t511; + const double t1077 = t241 * t849; + const double t1078 = 0.1e1 / t1077; + const double t1080 = 0.156e3 * t240 * t1078; + const double t1081 = -t1074 + t1076 - t1080; + const double t1083 = t479 * t213; + const double t1084 = 0.1e1 / t1083; + const double t1085 = t483 * t483; + const double t1086 = t1084 * t1085; + const double t1091 = -0.49388888888888888889e-2 * t827 + 0.98777777777777777777e-2 * t830 + 0.13949e-1 * t833; + const double t1092 = t480 * t1091; + const double t1098 = t479 * t479; + const double t1099 = 0.1e1 / t1098; + const double t1100 = t1099 * t1085; + const double t1103 = t217 * t490; + const double t1104 = t484 * t1103; + const double t1106 = t219 * t221 * t366; + const double t1109 = t225 * t225; + const double t1111 = 0.1e1 / t226 / t1109; + const double t1112 = t218 * t1111; + const double t1114 = t1112 * t1113; + const double t1118 = t124 * t124; + const double t1119 = t39 * t364; + const double t1121 = 0.1e1 / t9 / t1119; + const double t1129 = 0.2e1 * t1086 * t486 - 0.1e1 * t1092 * t486 + 0.1e1 * t1100 * t486 + 0.2845018947250181111e-1 * t1104 * t1106 - 0.20235332025531322028e-2 * t1114 * t1117 * t1118 * t1121 + 0.52158680699586653702e-1 * t492 * t493 * t750; + const double t1132 = t497 * t497; + const double t1133 = t230 * t230; + const double t1134 = 0.1e1 / t1133; + const double t1137 = -0.571528e-1 * t1086 + 0.285764e-1 * t1092 + 0.285764e-1 * t1129 * t498 - 0.285764e-1 * t1132 * t1134; + const double t1138 = t1137 * t237; + const double t1139 = t1138 * t245; + const double t1140 = t427 * t427; + const double t1142 = t144 * t144; + const double t1143 = 0.1e1 / t1142; + const double t1145 = t97 * t106 * t1140 * t1143; + const double t1146 = t97 * t105; + const double t1147 = t427 * t429; + const double t1149 = t1146 * t1147 * t358; + const double t1150 = 0.6e1 * t1149; + const double t1151 = t238 * t1081 - t1065 - t1069 + 0.2e1 * t1070 + t1139 + t1145 - t1150 - t720 - t810 - t853 - t856 + t859 + t898 - t946 - t958 + t965 - t969; + const double t1153 = t97 * t348 * t997; + const double t1154 = 0.3e1 * t1153; + const double t1155 = t808 * t245; + const double t1158 = t300 * t514; + const double t1161 = t501 * t58; + const double t1162 = t1161 * t505; + const double t1164 = t862 - t944 - t915 - t923 - t949 + t952 - t1154 + t818 + t821 + t848 - t962 - 0.2363e1 * t504 * t1155 - 0.4726e1 * t504 * t1158 - 0.4726e1 * t1162 + t905 + t954 - t956; + const double t1165 = t1151 + t1164; + const double t1166 = t210 * t1165; + const double t1167 = t1166 + t720 + t1065 + t1069 + t946 + t810 + t958 - t1145 + t1150 - t898 - t965 + t969 + t853 + t856 - t859; + const double t1168 = t477 * t516; + const double t1169 = 0.2e1 * t1168; + const double t1172 = 0.1e1 / t149 / t432 / rho_a; + const double t1173 = tau_a * t1172; + const double t1178 = 0.1e1 / t154; + const double t1179 = t438 * t438; + const double t1180 = t1178 * t1179; + const double t1183 = t155 * t792; + const double t1186 = 0.1e1 / t164; + const double t1187 = t442 * t442; + const double t1188 = t1186 * t1187; + const double t1191 = -t792; + const double t1192 = t165 * t1191; + const double t1195 = 0.11e2 / 0.9e1 * t750; + const double t1197 = ( 0.4e2 / 0.9e1 * t1173 * t156 - 0.5e2 / 0.9e1 * t435 * t439 + 0.1e2 / 0.9e1 * t152 * t1180 + 0.5e1 / 0.3e1 * t152 * t1183 + 0.1e2 / 0.9e1 * t162 * t1188 + 0.5e1 / 0.3e1 * t162 * t1192 - t1195 ) * t173; + const double t1203 = 0.1e1 / t450 / t178; + const double t1204 = t177 * t1203; + const double t1205 = t454 * t454; + const double t1206 = t1204 * t1205; + const double t1213 = 0.1e2 / 0.9e1 * t1180 + 0.5e1 / 0.3e1 * t1183 + 0.1e2 / 0.9e1 * t1188 + 0.5e1 / 0.3e1 * t1192; + const double t1214 = t452 * t1213; + const double t1217 = 0.5e1 / 0.9e1 * t1197 * t180 - 0.1e2 / 0.9e1 * t448 * t455 + 0.1e2 / 0.9e1 * t174 * t1206 - 0.5e1 / 0.9e1 * t174 * t1214; + const double t1218 = piecewise_functor_3( t189, t1217, 0.0 ); + const double t1221 = t459 * t459; + const double t1225 = 0.1e1 / t462 / t191; + const double t1226 = t190 * t1225; + const double t1231 = -0.64e0 * t1218 * t192 - 0.128e1 * t1221 * t463 - 0.128e1 * t1226 * t1221 - 0.64e0 * t464 * t1218; + const double t1232 = t1231 * t195; + const double t1233 = t467 * t467; + const double t1234 = t1233 * t195; + const double t1236 = piecewise_functor_3( t188, 0.0, t1232 + t1234 ); + const double t1237 = t470 * t204; + const double t1238 = 0.1e1 / t1237; + const double t1239 = t472 * t472; + const double t1243 = piecewise_functor_3( t202, 0.0, t1217 ); + const double t1247 = t470 * t470; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t1239; + const double t1253 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t1239 * t207 - 0.105e1 * t471 * t1243 * t207 - 0.1575e1 * t1249 * t207 ); + const double t1254 = piecewise_functor_3( t183, t1236, t1253 ); + const double t1255 = t1254 * t247; + const double t1256 = -t862 + t944 + t915 + t923 + t949 - t952 + t1154 - t818 - t821 - t848 + t962 - t905 - t954 + t956 + t1169 + t1255; + const double t1262 = 0.11696447245269292414e1 * t346; + const double t1263 = 0.8e1 * t287; + const double t1264 = 0.8e1 * t282; + const double t1267 = 0.2e1 * t335; + const double t1268 = 0.22146941966666666666e-2 * t253; + const double t1269 = 0.36622894612013090108e-3 * t341; + const double t1270 = 0.2e1 * t278; + const double t1272 = t529 * t2; + const double t1273 = t1272 * t340; + const double t1274 = 0.18311447306006545054e-3 * t1273; + const double t1275 = t300 * t614; + const double t1278 = t1161 * t610; + const double t1280 = t786 * t520; + const double t1283 = t48 * t35; + const double t1287 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1280 * t291 + 0.8e1 / 0.3e1 * t1283 * t790 ); + const double t1288 = t798 * t524; + const double t1291 = t53 * t35; + const double t1295 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1288 * t295 - 0.8e1 / 0.3e1 * t1291 * t790 ); + const double t1296 = t1287 + t1295; + const double t1297 = t1296 * t60; + const double t1298 = t1297 * t245; + const double t1301 = t529 * t514; + const double t1304 = t529 * t76; + const double t1305 = t1304 * t345; + const double t1306 = 0.5848223622634646207e0 * t1305; + const double t1307 = t568 * t429; + const double t1309 = t1146 * t1307 * t358; + const double t1310 = 0.3e1 * t1309; + const double t1311 = t97 * t104; + const double t1312 = t145 * t541; + const double t1314 = t1311 * t1312 * t358; + const double t1315 = 0.6e1 * t1314; + const double t1316 = t502 * t614; + const double t1317 = t1074 - t1080; + const double t1319 = t1147 * t541; + const double t1320 = t1146 * t1319; + const double t1321 = 0.3e1 * t1320; + const double t1322 = 0.18311447306006545054e-3 * t964; + const double t1323 = t1297 * t86; + const double t1324 = 0.19751673498613801407e-1 * t1323; + const double t1325 = -0.2363e1 * t504 * t1275 - 0.2363e1 * t1278 - 0.2363e1 * t504 * t1298 - 0.2363e1 * t504 * t1301 + t1274 - t720 + t1070 + t1139 + t1306 - t1310 - t1315 + t1316 + t238 * t1317 - t1321 + t898 + t1322 - t969 - t1324 - t853 + t856; + const double t1326 = 0.4e1 * t951; + const double t1327 = 0.5848223622634646207e0 * t820; + const double t1330 = t723 * t561; + const double t1331 = t120 * t420; + const double t1335 = t382 * t730 * t129; + const double t1336 = t130 * t20; + const double t1337 = t1336 * t132; + const double t1338 = t6 * t551; + const double t1339 = t734 * t399; + const double t1341 = t1337 * t1338 * t1339; + const double t1344 = t130 * t551; + const double t1345 = t1344 * t119; + const double t1346 = t742 * t1345; + const double t1347 = t741 * t1346; + const double t1349 = t414 * t541; + const double t1351 = t377 * t378 * t1349; + const double t1356 = t765 * t766 * t1345; + const double t1359 = -t1274 + t720 - t1306 - t898 - t1322 + t969 + t1324 + t853 - t856 - t862 + t944 + t915 + t923; + const double t1360 = 0.4e1 * t955; + const double t1361 = t281 * t530; + const double t1362 = 0.4e1 * t1361; + const double t1363 = t286 * t530; + const double t1364 = 0.4e1 * t1363; + const double t1365 = t1297 * t88; + const double t1366 = t41 * t1365; + const double t1367 = t529 * t333; + const double t1368 = t41 * t1367; + const double t1369 = t948 - t1326 - t818 - t1327 - t848 + t962 - t905 - t954 - t1360 + t1362 - t1364 + t1366 + t1368; + const double t1371 = ( t1359 + t1369 ) * t113; + const double t1377 = t115 * t95; + const double t1378 = t977 * t541; + const double t1379 = t1378 * t358; + const double t1382 = t982 * t520; + const double t1385 = t349 * t35; + const double t1389 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1382 * t291 + 0.4e1 / 0.3e1 * t1385 * t790 ); + const double t1390 = t989 * t524; + const double t1393 = t353 * t35; + const double t1397 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1390 * t295 - 0.4e1 / 0.3e1 * t1393 * t790 ); + const double t1399 = t1389 / 0.2e1 + t1397 / 0.2e1; + const double t1400 = t395 * t1399; + const double t1403 = 0.3e1 * t115 * t1400 - t1371 * t117 - 0.12e2 * t1377 * t1379 + 0.3e1 * t391 * t548 + 0.3e1 * t546 * t396; + const double t1404 = t1403 * t119; + const double t1406 = t388 * t389 * t1404; + const double t1409 = t1019 * t558; + const double t1411 = 0.54878743191129263322e-1 * t1335 * t1341 + 0.27439371595564631661e-2 * t1347 - 0.97574405393827830187e-2 * t1351 + 0.27439371595564631661e-2 * t746 - t753 - 0.97574405393827830186e-2 * t756 - 0.48787202696913915093e-2 * t1356 - t763 - 0.48787202696913915093e-2 * t768 + t778 - 0.27439371595564631661e-1 * t387 * t1406 + 0.12805040077930161442e0 * t1409; + const double t1412 = t541 * t358; + const double t1414 = t780 * t389 * t1412; + const double t1418 = t415 * t389 * t1399; + const double t1422 = t116 * t541; + const double t1423 = t742 * t1422; + const double t1424 = t1026 * t1423; + const double t1428 = t1032 * t554; + const double t1431 = t1038 * t1338 * t1040; + const double t1435 = t1337 * t1338 * t400; + const double t1438 = t6 * t541; + const double t1440 = t1038 * t1438 * t400; + const double t1443 = 0.16463622957338778997e0 * t413 * t1414 - 0.54878743191129263322e-1 * t413 * t1418 + t1017 + 0.12805040077930161442e0 * t1020 + 0.54878743191129263322e-2 * t1424 + t1025 + 0.54878743191129263322e-2 * t1029 + 0.64025200389650807209e-1 * t1033 + 0.64025200389650807209e-1 * t1428 + 0.54878743191129263322e-1 * t1036 * t1431 - 0.27439371595564631661e-1 * t1036 * t1435 + 0.54878743191129263322e-1 * t1036 * t1440; + const double t1444 = t1411 + t1443; + const double t1445 = t363 * t1444; + const double t1452 = t141 * t1403; + const double t1457 = -0.3125e0 * t1330 * t1331 + 0.25e0 * t1445 * t120 + 0.25e0 * t562 * t400 + 0.25e0 * t421 * t552 + 0.1e1 * t1452 * t119 + 0.1e1 * t565 * t400; + const double t1460 = t97 * t106 * t1457 * t429; + const double t1461 = t97 * t106; + const double t1462 = t568 * t1143; + const double t1464 = t1461 * t1462 * t427; + const double t1466 = t97 * t348 * t1399; + const double t1467 = 0.3e1 * t1466; + const double t1468 = -0.2363e1 * t1162 - t1460 + t905 + t954 + t1360 + t1464 - t1362 + t1364 - t1366 - t1368 - t1467; + const double t1470 = t1325 + t862 - t944 - t915 - t923 - t948 + t1326 + t818 + t1327 + t848 - t962 + t1468; + const double t1471 = t210 * t1470; + const double t1474 = t1178 * t572; + const double t1475 = t1474 * t438; + const double t1478 = t155 * t35; + const double t1479 = t1478 * t790; + const double t1484 = t1186 * t582; + const double t1485 = t1484 * t442; + const double t1488 = t165 * t35; + const double t1489 = t1488 * t790; + const double t1493 = ( -0.25e2 / 0.9e1 * t435 * t573 + 0.1e2 / 0.9e1 * t152 * t1475 + 0.5e1 / 0.3e1 * t152 * t1479 - 0.25e2 / 0.9e1 * t579 * t443 + 0.1e2 / 0.9e1 * t162 * t1485 - 0.5e1 / 0.3e1 * t162 * t1489 - t1195 ) * t173; + const double t1500 = t174 * t177; + const double t1501 = t1203 * t590; + const double t1502 = t1501 * t454; + const double t1509 = 0.1e2 / 0.9e1 * t1475 + 0.5e1 / 0.3e1 * t1479 + 0.1e2 / 0.9e1 * t1485 - 0.5e1 / 0.3e1 * t1489; + const double t1510 = t452 * t1509; + const double t1513 = 0.5e1 / 0.9e1 * t1493 * t180 - 0.5e1 / 0.9e1 * t587 * t455 - 0.5e1 / 0.9e1 * t448 * t591 + 0.1e2 / 0.9e1 * t1500 * t1502 - 0.5e1 / 0.9e1 * t174 * t1510; + const double t1514 = piecewise_functor_3( t189, t1513, 0.0 ); + const double t1517 = t595 * t463; + const double t1520 = t595 * t459; + const double t1525 = -0.64e0 * t1514 * t192 - 0.128e1 * t1517 * t459 - 0.128e1 * t1226 * t1520 - 0.64e0 * t464 * t1514; + const double t1526 = t1525 * t195; + const double t1527 = t600 * t467; + const double t1528 = t1527 * t195; + const double t1530 = piecewise_functor_3( t188, 0.0, t1526 + t1528 ); + const double t1531 = t1238 * t603; + const double t1532 = t207 * t472; + const double t1535 = piecewise_functor_3( t202, 0.0, t1513 ); + const double t1539 = t1248 * t603; + const double t1543 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1531 * t1532 - 0.105e1 * t471 * t1535 * t207 - 0.1575e1 * t1539 * t1532 ); + const double t1544 = piecewise_functor_3( t183, t1530, t1543 ); + const double t1545 = t1544 * t247; + const double t1546 = t608 * t516; + const double t1547 = -t1274 + t1471 + t720 + t1545 - t1306 + t1546 + t1310 + t1315 + t1321 - t898 - t1322 + t969 + t1324 + t853 - t856 - t862 + t944 + t915; + const double t1548 = t477 * t616; + const double t1549 = t923 + t948 - t1326 - t818 - t1327 - t848 + t962 + t1460 + t1548 - t905 - t954 - t1360 - t1464 + t1362 - t1364 + t1366 + t1368 + t1467; + const double t1552 = 0.36622894612013090108e-3 * t1273; + const double t1553 = t520 * t520; + const double t1556 = t289 + t791; + const double t1557 = 0.2e1 * t1556; + const double t1561 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t786 * t1553 + 0.4e1 / 0.3e1 * t48 * t1557 ); + const double t1562 = t524 * t524; + const double t1565 = -t1557; + const double t1569 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t798 * t1562 + 0.4e1 / 0.3e1 * t53 * t1565 ); + const double t1570 = t1561 + t1569; + const double t1571 = t1570 * t60; + const double t1572 = t1571 * t88; + const double t1573 = t41 * t1572; + const double t1574 = t1307 * t541; + const double t1575 = t1146 * t1574; + const double t1576 = 0.6e1 * t1575; + const double t1577 = t561 * t561; + const double t1578 = t723 * t1577; + const double t1581 = t551 * t551; + const double t1582 = t1581 * t734; + const double t1584 = t388 * t389 * t1582; + const double t1590 = t541 * t541; + const double t1592 = t780 * t389 * t1590; + const double t1595 = t1571 * t86; + const double t1596 = 0.19751673498613801407e-1 * t1595; + const double t1597 = 0.11696447245269292414e1 * t1305; + const double t1598 = 0.8e1 * t1361; + const double t1599 = 0.8e1 * t1363; + const double t1600 = 0.2e1 * t1368; + const double t1601 = t1573 + t1596 - t1597 - t1598 - t1599 + t1600 - t1552 - t818 - t848 + t853 + t856; + const double t1602 = t859 - t862 + t944 - t954 - t958 - t905 + t915 + t923 + t962 + t720 - t898 + t969; + const double t1604 = ( t1601 + t1602 ) * t113; + const double t1608 = t978 * t1590; + const double t1616 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t982 * t1553 + 0.2e1 / 0.3e1 * t349 * t1557 ); + const double t1622 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t989 * t1562 + 0.2e1 / 0.3e1 * t353 * t1565 ); + const double t1624 = t1616 / 0.2e1 + t1622 / 0.2e1; + const double t1625 = t395 * t1624; + const double t1628 = -0.12e2 * t115 * t1608 + 0.3e1 * t115 * t1625 - t1604 * t117 + 0.6e1 * t546 * t548; + const double t1629 = t1628 * t119; + const double t1631 = t388 * t389 * t1629; + const double t1636 = t415 * t389 * t1624; + const double t1641 = t119 * t541; + const double t1643 = t1038 * t1338 * t1641; + const double t1646 = t1581 * t119; + const double t1648 = t388 * t389 * t1646; + const double t1651 = 0.54878743191129263322e-1 * t732 * t1584 + 0.54878743191129263322e-2 * t1347 - 0.19514881078765566037e-1 * t1351 - t753 - 0.97574405393827830186e-2 * t1356 - t763 + t778 + 0.16463622957338778997e0 * t413 * t1592 - 0.27439371595564631661e-1 * t387 * t1631 + 0.25610080155860322884e0 * t1409 - 0.54878743191129263322e-1 * t413 * t1636 + t1017 + 0.10975748638225852664e-1 * t1424 + t1025 + 0.12805040077930161442e0 * t1428 + 0.10975748638225852664e0 * t1036 * t1643 - 0.27439371595564631661e-1 * t387 * t1648; + const double t1652 = t363 * t1651; + const double t1657 = t141 * t1628; + const double t1660 = t141 * t1581; + const double t1663 = -0.3125e0 * t1578 * t120 + 0.25e0 * t1652 * t120 + 0.5e0 * t562 * t552 + 0.1e1 * t1657 * t119 + 0.1e1 * t1660 * t119; + const double t1666 = t97 * t106 * t1663 * t429; + const double t1668 = t97 * t1066 * t1590; + const double t1669 = 0.6e1 * t1668; + const double t1670 = t608 * t616; + const double t1671 = 0.2e1 * t1670; + const double t1672 = -t1552 + t720 + t1573 + t1576 + t1666 - t958 + t1669 - t1597 + t1596 - t898 + t969 + t1671 + t853 + t856 + t859; + const double t1674 = -t1074 - t1076 - t1080; + const double t1677 = -0.4726e1 * t1278 + t238 * t1674 + t1552 - t720 - t1573 - t1576 - t1666 + t958 + t1139 - t1669 + t1597 - t1596 + 0.2e1 * t1316 + t898 - t969 - t853 - t856; + const double t1679 = t97 * t348 * t1624; + const double t1680 = 0.3e1 * t1679; + const double t1681 = t1571 * t245; + const double t1684 = t529 * t614; + const double t1687 = t568 * t568; + const double t1690 = t97 * t106 * t1687 * t1143; + const double t1691 = -t859 + t862 - t944 - t915 - t923 + t818 + t848 - t1680 - t962 + t905 - 0.2363e1 * t504 * t1681 - 0.4726e1 * t504 * t1684 + t1690 + t954 + t1598 + t1599 - t1600; + const double t1692 = t1677 + t1691; + const double t1693 = t210 * t1692; + const double t1694 = t572 * t572; + const double t1695 = t1178 * t1694; + const double t1698 = t155 * t1556; + const double t1703 = 0.1e1 / t159 / t576 / rho_b; + const double t1704 = tau_b * t1703; + const double t1709 = t582 * t582; + const double t1710 = t1186 * t1709; + const double t1713 = -t1556; + const double t1714 = t165 * t1713; + const double t1718 = ( 0.1e2 / 0.9e1 * t152 * t1695 + 0.5e1 / 0.3e1 * t152 * t1698 + 0.4e2 / 0.9e1 * t1704 * t166 - 0.5e2 / 0.9e1 * t579 * t583 + 0.1e2 / 0.9e1 * t162 * t1710 + 0.5e1 / 0.3e1 * t162 * t1714 - t1195 ) * t173; + const double t1723 = t590 * t590; + const double t1724 = t1204 * t1723; + const double t1731 = 0.1e2 / 0.9e1 * t1695 + 0.5e1 / 0.3e1 * t1698 + 0.1e2 / 0.9e1 * t1710 + 0.5e1 / 0.3e1 * t1714; + const double t1732 = t452 * t1731; + const double t1735 = 0.5e1 / 0.9e1 * t1718 * t180 - 0.1e2 / 0.9e1 * t587 * t591 + 0.1e2 / 0.9e1 * t174 * t1724 - 0.5e1 / 0.9e1 * t174 * t1732; + const double t1736 = piecewise_functor_3( t189, t1735, 0.0 ); + const double t1739 = t595 * t595; + const double t1746 = -0.64e0 * t1736 * t192 - 0.128e1 * t1739 * t463 - 0.128e1 * t1226 * t1739 - 0.64e0 * t464 * t1736; + const double t1747 = t1746 * t195; + const double t1748 = t600 * t600; + const double t1749 = t1748 * t195; + const double t1751 = piecewise_functor_3( t188, 0.0, t1747 + t1749 ); + const double t1752 = t603 * t603; + const double t1756 = piecewise_functor_3( t202, 0.0, t1735 ); + const double t1760 = t1248 * t1752; + const double t1764 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t1752 * t207 - 0.105e1 * t471 * t1756 * t207 - 0.1575e1 * t1760 * t207 ); + const double t1765 = piecewise_functor_3( t183, t1751, t1764 ); + const double t1766 = t1765 * t247; + const double t1767 = -t862 + t944 + t915 + t923 + t1693 - t818 - t848 + t1766 + t1680 + t962 - t905 - t1690 - t954 - t1598 - t1599 + t1600; + const double t1776 = t358 * t363; + const double t1777 = t1776 * t621; + const double t1778 = t1777 * t625; + const double t1779 = 0.69504740211613770831e-3 * t1778; + const double t1780 = t104 * t723; + const double t1781 = t1780 * t621; + const double t1783 = t6 * t429; + const double t1785 = t1782 * t1783 * t420; + const double t1786 = t1781 * t1785; + const double t1787 = 0.86880925264517213539e-3 * t1786; + const double t1788 = t620 * t366; + const double t1789 = t111 * t57; + const double t1790 = t1789 * t429; + const double t1791 = t1788 * t1790; + const double t1792 = 0.69504740211613770831e-4 * t1791; + const double t1793 = t620 * t108; + const double t1795 = t57 * t429; + const double t1796 = t375 * t366 * t1795; + const double t1797 = t1793 * t1796; + const double t1798 = 0.12357942809624928454e-3 * t1797; + const double t1799 = t112 * t406; + const double t1800 = t620 * t1799; + const double t1801 = t1800 * t625; + const double t1802 = 0.16217772716043213194e-2 * t1801; + const double t1803 = t6 * t1143; + const double t1805 = t1782 * t1803 * t427; + const double t1806 = t622 * t1805; + const double t1807 = 0.69504740211613770831e-3 * t1806; + const double t1808 = t366 * t173; + const double t1809 = t1808 * t180; + const double t1810 = 0.5e1 / 0.27e2 * t1809; + const double t1811 = t628 * t455; + const double t1813 = t1810 + 0.5e1 / 0.72e2 * t1811; + const double t1814 = piecewise_functor_3( t189, t1813, 0.0 ); + const double t1817 = t631 * t463; + const double t1820 = t631 * t459; + const double t1825 = -0.64e0 * t1814 * t192 - 0.128e1 * t1817 * t459 - 0.128e1 * t1226 * t1820 - 0.64e0 * t464 * t1814; + const double t1826 = t1825 * t195; + const double t1827 = t636 * t467; + const double t1828 = t1827 * t195; + const double t1830 = piecewise_functor_3( t188, 0.0, t1826 + t1828 ); + const double t1831 = t1238 * t639; + const double t1834 = piecewise_functor_3( t202, 0.0, t1813 ); + const double t1838 = t1248 * t639; + const double t1842 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1831 * t1532 - 0.105e1 * t471 * t1834 * t207 - 0.1575e1 * t1838 * t1532 ); + const double t1843 = piecewise_functor_3( t183, t1830, t1842 ); + const double t1844 = t1843 * t247; + const double t1845 = t644 * t516; + const double t1846 = t477 * t653; + const double t1847 = t1103 * t173; + const double t1848 = t484 * t1847; + const double t1849 = t493 * t169; + const double t1850 = t1849 * t649; + const double t1851 = t1848 * t1850; + const double t1852 = 0.15243824895787514157e-3 * t1851; + const double t1855 = t1112 * t1854; + const double t1857 = 0.1e1 / t9 / t849; + const double t1858 = t1857 * t498; + const double t1859 = t237 * t245; + const double t1860 = t1859 * t124; + const double t1862 = t1855 * t1858 * t1860; + const double t1863 = 0.21684485328539747656e-4 * t1862; + const double t1864 = t220 * t366; + const double t1866 = t646 * t1864 * t649; + const double t1867 = 0.40650199722100037752e-3 * t1866; + const double t1869 = t491 * t1868; + const double t1870 = t169 * t1134; + const double t1871 = t1859 * t497; + const double t1873 = t1869 * t1870 * t1871; + const double t1874 = 0.15243824895787514157e-3 * t1873; + const double t1876 = t169 * t498 * t58; + const double t1878 = t1869 * t1876 * t505; + const double t1880 = t648 * t514; + const double t1882 = t646 * t647 * t1880; + const double t1884 = -t1852 + t1863 - t1867 - t1874 - 0.36021158228745895953e-3 * t1878 + 0.15243824895787514157e-3 * t1882 - t1779 + t1787 + t1792 - t1798 + t1802 + t1807; + const double t1885 = t210 * t1884; + const double t1888 = 0.13900948042322754166e-2 * t1778; + const double t1889 = 0.17376185052903442708e-2 * t1786; + const double t1890 = 0.13900948042322754166e-3 * t1791; + const double t1891 = 0.24715885619249856907e-3 * t1797; + const double t1892 = 0.32435545432086426387e-2 * t1801; + const double t1893 = 0.13900948042322754166e-2 * t1806; + const double t1894 = 0.1e2 / 0.27e2 * t1809; + const double t1896 = t1894 + 0.5e1 / 0.36e2 * t1811; + const double t1897 = piecewise_functor_3( t189, t1896, 0.0 ); + const double t1900 = t658 * t463; + const double t1903 = t658 * t459; + const double t1908 = -0.64e0 * t1897 * t192 - 0.128e1 * t1900 * t459 - 0.128e1 * t1226 * t1903 - 0.64e0 * t464 * t1897; + const double t1909 = t1908 * t195; + const double t1910 = t663 * t467; + const double t1911 = t1910 * t195; + const double t1913 = piecewise_functor_3( t188, 0.0, t1909 + t1911 ); + const double t1914 = t1238 * t666; + const double t1917 = piecewise_functor_3( t202, 0.0, t1896 ); + const double t1921 = t1248 * t666; + const double t1925 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1914 * t1532 - 0.105e1 * t471 * t1917 * t207 - 0.1575e1 * t1921 * t1532 ); + const double t1926 = piecewise_functor_3( t183, t1913, t1925 ); + const double t1927 = t1926 * t247; + const double t1928 = t671 * t516; + const double t1929 = t477 * t674; + const double t1930 = 0.30487649791575028312e-3 * t1851; + const double t1931 = 0.43368970657079495308e-4 * t1862; + const double t1932 = 0.81300399444200075499e-3 * t1866; + const double t1933 = 0.30487649791575028312e-3 * t1873; + const double t1936 = -t1930 + t1931 - t1932 - t1933 - 0.72042316457491791901e-3 * t1878 + 0.30487649791575028312e-3 * t1882 - t1888 + t1889 + t1890 - t1891 + t1892 + t1893; + const double t1937 = t210 * t1936; + const double t1940 = t541 * t363; + const double t1941 = t1940 * t621; + const double t1942 = t1941 * t625; + const double t1943 = 0.69504740211613770831e-3 * t1942; + const double t1945 = t1782 * t1783 * t561; + const double t1946 = t1781 * t1945; + const double t1947 = 0.86880925264517213539e-3 * t1946; + const double t1949 = t1782 * t1803 * t568; + const double t1950 = t622 * t1949; + const double t1951 = 0.69504740211613770831e-3 * t1950; + const double t1952 = t628 * t591; + const double t1954 = t1810 + 0.5e1 / 0.72e2 * t1952; + const double t1955 = piecewise_functor_3( t189, t1954, 0.0 ); + const double t1960 = t631 * t595; + const double t1965 = -0.64e0 * t1955 * t192 - 0.128e1 * t1817 * t595 - 0.128e1 * t1226 * t1960 - 0.64e0 * t464 * t1955; + const double t1966 = t1965 * t195; + const double t1967 = t636 * t600; + const double t1968 = t1967 * t195; + const double t1970 = piecewise_functor_3( t188, 0.0, t1966 + t1968 ); + const double t1971 = t207 * t603; + const double t1974 = piecewise_functor_3( t202, 0.0, t1954 ); + const double t1981 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1831 * t1971 - 0.105e1 * t471 * t1974 * t207 - 0.1575e1 * t1838 * t1971 ); + const double t1982 = piecewise_functor_3( t183, t1970, t1981 ); + const double t1983 = t1982 * t247; + const double t1984 = t644 * t616; + const double t1985 = t608 * t653; + const double t1987 = t1869 * t1876 * t610; + const double t1989 = t648 * t614; + const double t1991 = t646 * t647 * t1989; + const double t1993 = -t1852 + t1863 - t1867 - t1874 - 0.36021158228745895953e-3 * t1987 + 0.15243824895787514157e-3 * t1991 - t1943 + t1947 + t1792 - t1798 + t1802 + t1951; + const double t1994 = t210 * t1993; + const double t1997 = 0.13900948042322754166e-2 * t1942; + const double t1998 = 0.17376185052903442708e-2 * t1946; + const double t1999 = 0.13900948042322754166e-2 * t1950; + const double t2001 = t1894 + 0.5e1 / 0.36e2 * t1952; + const double t2002 = piecewise_functor_3( t189, t2001, 0.0 ); + const double t2007 = t658 * t595; + const double t2012 = -0.64e0 * t2002 * t192 - 0.128e1 * t1900 * t595 - 0.128e1 * t1226 * t2007 - 0.64e0 * t464 * t2002; + const double t2013 = t2012 * t195; + const double t2014 = t663 * t600; + const double t2015 = t2014 * t195; + const double t2017 = piecewise_functor_3( t188, 0.0, t2013 + t2015 ); + const double t2020 = piecewise_functor_3( t202, 0.0, t2001 ); + const double t2027 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1914 * t1971 - 0.105e1 * t471 * t2020 * t207 - 0.1575e1 * t1921 * t1971 ); + const double t2028 = piecewise_functor_3( t183, t2017, t2027 ); + const double t2029 = t2028 * t247; + const double t2030 = t671 * t616; + const double t2031 = t608 * t674; + const double t2034 = -t1930 + t1931 - t1932 - t1933 - 0.72042316457491791901e-3 * t1987 + 0.30487649791575028312e-3 * t1991 - t1997 + t1998 + t1890 - t1891 + t1892 + t1999; + const double t2035 = t210 * t2034; + const double t2038 = t694 * t247; + const double t2039 = t434 * t156; + const double t2042 = t151 * t155; + const double t2043 = t2042 * t173; + const double t2044 = t180 * t438; + const double t2047 = t677 * t173; + const double t2050 = -0.25e2 / 0.27e2 * t2039 * t678 + 0.25e2 / 0.27e2 * t2043 * t2044 - 0.5e1 / 0.9e1 * t2047 * t455; + const double t2051 = piecewise_functor_3( t189, t2050, 0.0 ); + const double t2054 = t681 * t463; + const double t2057 = t681 * t459; + const double t2062 = -0.64e0 * t2051 * t192 - 0.128e1 * t2054 * t459 - 0.128e1 * t1226 * t2057 - 0.64e0 * t464 * t2051; + const double t2063 = t2062 * t195; + const double t2064 = t686 * t467; + const double t2067 = piecewise_functor_3( t188, 0.0, t2064 * t195 + t2063 ); + const double t2068 = t1238 * t689; + const double t2071 = piecewise_functor_3( t202, 0.0, t2050 ); + const double t2075 = t1248 * t689; + const double t2079 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t1532 - 0.105e1 * t471 * t2071 * t207 - 0.1575e1 * t2075 * t1532 ); + const double t2080 = piecewise_functor_3( t183, t2067, t2079 ); + const double t2081 = t8 * t2080; + const double t2084 = t712 * t247; + const double t2085 = t161 * t165; + const double t2086 = t2085 * t173; + const double t2087 = t180 * t442; + const double t2090 = t696 * t173; + const double t2093 = 0.25e2 / 0.27e2 * t2086 * t2087 - 0.5e1 / 0.9e1 * t2090 * t455; + const double t2094 = piecewise_functor_3( t189, t2093, 0.0 ); + const double t2097 = t699 * t463; + const double t2100 = t699 * t459; + const double t2105 = -0.64e0 * t2094 * t192 - 0.128e1 * t2097 * t459 - 0.128e1 * t1226 * t2100 - 0.64e0 * t464 * t2094; + const double t2106 = t2105 * t195; + const double t2107 = t704 * t467; + const double t2110 = piecewise_functor_3( t188, 0.0, t2107 * t195 + t2106 ); + const double t2111 = t1238 * t707; + const double t2114 = piecewise_functor_3( t202, 0.0, t2093 ); + const double t2118 = t1248 * t707; + const double t2122 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t1532 - 0.105e1 * t471 * t2114 * t207 - 0.1575e1 * t2118 * t1532 ); + const double t2123 = piecewise_functor_3( t183, t2110, t2122 ); + const double t2124 = t8 * t2123; + const double t2127 = t180 * t572; + const double t2132 = 0.25e2 / 0.27e2 * t2043 * t2127 - 0.5e1 / 0.9e1 * t2047 * t591; + const double t2133 = piecewise_functor_3( t189, t2132, 0.0 ); + const double t2138 = t681 * t595; + const double t2143 = -0.64e0 * t2133 * t192 - 0.128e1 * t2054 * t595 - 0.128e1 * t1226 * t2138 - 0.64e0 * t464 * t2133; + const double t2144 = t2143 * t195; + const double t2145 = t686 * t600; + const double t2148 = piecewise_functor_3( t188, 0.0, t2145 * t195 + t2144 ); + const double t2151 = piecewise_functor_3( t202, 0.0, t2132 ); + const double t2158 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t1971 - 0.105e1 * t471 * t2151 * t207 - 0.1575e1 * t2075 * t1971 ); + const double t2159 = piecewise_functor_3( t183, t2148, t2158 ); + const double t2160 = t8 * t2159; + const double t2163 = t578 * t166; + const double t2166 = t180 * t582; + const double t2171 = -0.25e2 / 0.27e2 * t2163 * t678 + 0.25e2 / 0.27e2 * t2086 * t2166 - 0.5e1 / 0.9e1 * t2090 * t591; + const double t2172 = piecewise_functor_3( t189, t2171, 0.0 ); + const double t2177 = t699 * t595; + const double t2182 = -0.64e0 * t2172 * t192 - 0.128e1 * t2097 * t595 - 0.128e1 * t1226 * t2177 - 0.64e0 * t464 * t2172; + const double t2183 = t2182 * t195; + const double t2184 = t704 * t600; + const double t2187 = piecewise_functor_3( t188, 0.0, t2184 * t195 + t2183 ); + const double t2190 = piecewise_functor_3( t202, 0.0, t2171 ); + const double t2197 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t1971 - 0.105e1 * t471 * t2190 * t207 - 0.1575e1 * t2118 * t1971 ); + const double t2198 = piecewise_functor_3( t183, t2187, t2197 ); + const double t2199 = t8 * t2198; + const double t2202 = 0.1e1 / t104; + const double t2203 = t2202 * t723; + const double t2204 = t108 * t108; + const double t2205 = t2203 * t2204; + const double t2206 = t375 * t749; + const double t2207 = t2206 * t220; + const double t2208 = t2205 * t2207; + const double t2212 = t429 * t113; + const double t2213 = t2212 * t121; + const double t2214 = t2211 * t2213; + const double t2215 = t2208 * t2214; + const double t2216 = 0.71518739786987016352e-4 * t2215; + const double t2217 = safe_math::sqrt( t138 ); + const double t2219 = 0.1e1 / t2217 / t721; + const double t2220 = t2202 * t2219; + const double t2221 = t2204 * t375; + const double t2228 = t2224 * t2209 * t7 * t1143 * t113; + const double t2229 = t2220 * t2221 * t749 * t2228; + const double t2230 = 0.1430374795739740327e-4 * t2229; + const double t2231 = piecewise_functor_3( t189, 0.0, 0.0 ); + const double t2233 = 0.64e0 * t2231 * t192; + const double t2234 = t631 * t631; + const double t2240 = 0.64e0 * t464 * t2231; + const double t2241 = -t2233 - 0.128e1 * t2234 * t463 - 0.128e1 * t1226 * t2234 - t2240; + const double t2242 = t2241 * t195; + const double t2243 = t636 * t636; + const double t2244 = t2243 * t195; + const double t2246 = piecewise_functor_3( t188, 0.0, t2242 + t2244 ); + const double t2247 = t639 * t639; + const double t2251 = piecewise_functor_3( t202, 0.0, 0.0 ); + const double t2254 = 0.105e1 * t471 * t2251 * t207; + const double t2255 = t1248 * t2247; + const double t2259 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2247 * t207 - t2254 - 0.1575e1 * t2255 * t207 ); + const double t2260 = piecewise_functor_3( t183, t2246, t2259 ); + const double t2261 = t2260 * t247; + const double t2263 = 0.2e1 * t644 * t653; + const double t2264 = t1112 * t1853; + const double t2266 = 0.1e1 / t9 / t284; + const double t2267 = t57 * t2266; + const double t2269 = t2264 * t2267 * t649; + const double t2271 = t218 * t218; + const double t2272 = safe_math::sqrt( t225 ); + const double t2274 = 0.1e1 / t2272 / t1109; + const double t2275 = t2271 * t2274; + const double t2276 = t2275 * t1853; + const double t2277 = t1134 * t237; + const double t2278 = t2277 * t245; + const double t2280 = t2276 * t2267 * t2278; + const double t2282 = -0.81316819982024053709e-5 * t2269 - 0.16263363996404810741e-5 * t2280 + t2216 + t2230; + const double t2283 = t210 * t2282; + const double t2285 = 0.1430374795739740327e-3 * t2215; + const double t2286 = 0.2860749591479480654e-4 * t2229; + const double t2289 = t658 * t631; + const double t2292 = -t2233 - 0.128e1 * t1900 * t631 - 0.128e1 * t1226 * t2289 - t2240; + const double t2293 = t2292 * t195; + const double t2294 = t663 * t636; + const double t2295 = t2294 * t195; + const double t2297 = piecewise_functor_3( t188, 0.0, t2293 + t2295 ); + const double t2298 = t207 * t639; + const double t2304 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1914 * t2298 - t2254 - 0.1575e1 * t1921 * t2298 ); + const double t2305 = piecewise_functor_3( t183, t2297, t2304 ); + const double t2306 = t2305 * t247; + const double t2307 = t671 * t653; + const double t2308 = t644 * t674; + const double t2309 = 0.16263363996404810741e-4 * t2269; + const double t2311 = -t2309 - 0.3252672799280962148e-5 * t2280 + t2285 + t2286; + const double t2312 = t210 * t2311; + const double t2314 = 0.2860749591479480654e-3 * t2215; + const double t2315 = 0.57214991829589613078e-4 * t2229; + const double t2316 = t658 * t658; + const double t2321 = -t2233 - 0.128e1 * t2316 * t463 - 0.128e1 * t1226 * t2316 - t2240; + const double t2322 = t2321 * t195; + const double t2323 = t663 * t663; + const double t2324 = t2323 * t195; + const double t2326 = piecewise_functor_3( t188, 0.0, t2322 + t2324 ); + const double t2327 = t666 * t666; + const double t2331 = t1248 * t2327; + const double t2335 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2327 * t207 - t2254 - 0.1575e1 * t2331 * t207 ); + const double t2336 = piecewise_functor_3( t183, t2326, t2335 ); + const double t2337 = t2336 * t247; + const double t2339 = 0.2e1 * t671 * t674; + const double t2342 = -0.3252672799280962148e-4 * t2269 - 0.65053455985619242961e-5 * t2280 + t2314 + t2315; + const double t2343 = t210 * t2342; + const double t2345 = 0.28607495914794806539e-4 * t2229; + const double t2347 = -t2309 - 0.32526727992809621482e-5 * t2280 + t2285 + t2345; + const double t2348 = t210 * t2347; + const double t2352 = t681 * t631; + const double t2355 = -t2233 - 0.128e1 * t2054 * t631 - 0.128e1 * t1226 * t2352 - t2240; + const double t2356 = t2355 * t195; + const double t2357 = t686 * t636; + const double t2360 = piecewise_functor_3( t188, 0.0, t2357 * t195 + t2356 ); + const double t2366 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t2298 - t2254 - 0.1575e1 * t2075 * t2298 ); + const double t2367 = piecewise_functor_3( t183, t2360, t2366 ); + const double t2368 = t8 * t2367; + const double t2373 = t699 * t631; + const double t2376 = -t2233 - 0.128e1 * t2097 * t631 - 0.128e1 * t1226 * t2373 - t2240; + const double t2377 = t2376 * t195; + const double t2378 = t704 * t636; + const double t2381 = piecewise_functor_3( t188, 0.0, t2378 * t195 + t2377 ); + const double t2387 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t2298 - t2254 - 0.1575e1 * t2118 * t2298 ); + const double t2388 = piecewise_functor_3( t183, t2381, t2387 ); + const double t2389 = t8 * t2388; + const double t2394 = t681 * t658; + const double t2397 = -t2233 - 0.128e1 * t2054 * t658 - 0.128e1 * t1226 * t2394 - t2240; + const double t2398 = t2397 * t195; + const double t2399 = t686 * t663; + const double t2402 = piecewise_functor_3( t188, 0.0, t2399 * t195 + t2398 ); + const double t2403 = t207 * t666; + const double t2409 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t2403 - t2254 - 0.1575e1 * t2075 * t2403 ); + const double t2410 = piecewise_functor_3( t183, t2402, t2409 ); + const double t2411 = t8 * t2410; + const double t2416 = t699 * t658; + const double t2419 = -t2233 - 0.128e1 * t2097 * t658 - 0.128e1 * t1226 * t2416 - t2240; + const double t2420 = t2419 * t195; + const double t2421 = t704 * t663; + const double t2424 = piecewise_functor_3( t188, 0.0, t2421 * t195 + t2420 ); + const double t2430 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t2403 - t2254 - 0.1575e1 * t2118 * t2403 ); + const double t2431 = piecewise_functor_3( t183, t2424, t2430 ); + const double t2432 = t8 * t2431; + const double t2435 = t681 * t681; + const double t2440 = -t2233 - 0.128e1 * t2435 * t463 - 0.128e1 * t1226 * t2435 - t2240; + const double t2442 = t686 * t686; + const double t2443 = t2442 * t195; + const double t2445 = piecewise_functor_3( t188, 0.0, t2440 * t195 + t2443 ); + const double t2446 = t689 * t689; + const double t2450 = t1248 * t2446; + const double t2454 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2446 * t207 - t2254 - 0.1575e1 * t2450 * t207 ); + const double t2455 = piecewise_functor_3( t183, t2445, t2454 ); + const double t2456 = t8 * t2455; + const double t2459 = t699 * t681; + const double t2462 = -t2233 - 0.128e1 * t2097 * t681 - 0.128e1 * t1226 * t2459 - t2240; + const double t2463 = t2462 * t195; + const double t2464 = t704 * t686; + const double t2467 = piecewise_functor_3( t188, 0.0, t2464 * t195 + t2463 ); + const double t2468 = t207 * t689; + const double t2474 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t2468 - t2254 - 0.1575e1 * t2118 * t2468 ); + const double t2475 = piecewise_functor_3( t183, t2467, t2474 ); + const double t2476 = t8 * t2475; + const double t2477 = t699 * t699; + const double t2482 = -t2233 - 0.128e1 * t2477 * t463 - 0.128e1 * t1226 * t2477 - t2240; + const double t2484 = t704 * t704; + const double t2485 = t2484 * t195; + const double t2487 = piecewise_functor_3( t188, 0.0, t2482 * t195 + t2485 ); + const double t2488 = t707 * t707; + const double t2492 = t1248 * t2488; + const double t2496 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2488 * t207 - t2254 - 0.1575e1 * t2492 * t207 ); + const double t2497 = piecewise_functor_3( t183, t2487, t2496 ); + const double t2498 = t8 * t2497; - eps = -t34 + t90 + t92 + t147 + t248; + v2rho2_aa = t8 * ( t1167 + t1256 ) + 0.2e1 * t431 + 0.2e1 * t478 + 0.2e1 * t517 - t1262 - t1263 + t1264 + 0.6e1 * t360 + 0.2e1 * t302 + t1267 + t1268 - t1269 + t1270 + 0.39503346997227602814e-1 * t336; + v2rho2_ab = t8 * ( t1547 + t1549 ) + t617 + t609 + t571 + t544 + t531 + t533 + t431 + t478 + t517 - t1262 - t1263 + t361 + t302 + t1267 + t1268 - t1269 + t1270 + t337; + v2rho2_bb = t8 * ( t1672 + t1767 ) + 0.2e1 * t617 + 0.2e1 * t609 + 0.2e1 * t571 + 0.6e1 * t543 + 0.2e1 * t531 + 0.39503346997227602814e-1 * t532 - t1262 - t1263 - t1264 + t1267 + t1268 - t1269 + t1270; + v2rhosigma_a_aa = t627 + t645 + t654 + t8 * ( t1779 - t1787 - t1792 + t1798 - t1802 - t1807 + t1844 + t1845 + t1846 + t1885 ); + v2rhosigma_a_ab = t656 + t672 + t675 + t8 * ( t1888 - t1889 - t1890 + t1891 - t1892 - t1893 + t1927 + t1928 + t1929 + t1937 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t627 + t645 + t654 + t8 * ( t1943 - t1947 - t1792 + t1798 - t1802 - t1951 + t1983 + t1984 + t1985 + t1994 ); + v2rhosigma_b_ab = t656 + t672 + t675 + t8 * ( t1997 - t1998 - t1890 + t1891 - t1892 - t1999 + t2029 + t2030 + t2031 + t2035 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2081 * t247 + t695 * t516 + t2038; + v2rhotau_a_b = t2124 * t247 + t713 * t516 + t2084; + v2rhotau_b_a = t2160 * t247 + t695 * t616 + t2038; + v2rhotau_b_b = t2199 * t247 + t713 * t616 + t2084; + v2sigma2_aa_aa = t8 * ( -t2216 - t2230 + t2261 + t2263 + t2283 ); + v2sigma2_aa_ab = t8 * ( -t2285 - t2286 + t2306 + t2307 + t2308 + t2312 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t8 * ( -t2314 - t2315 + t2337 + t2339 + t2343 ); + v2sigma2_ab_bb = t8 * ( -t2285 - t2345 + t2306 + t2308 + t2307 + t2348 ); + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t2368 * t247 + t695 * t653; + v2sigmatau_aa_b = t2389 * t247 + t713 * t653; + v2sigmatau_ab_a = t2411 * t247 + t695 * t674; + v2sigmatau_ab_b = t2432 * t247 + t713 * t674; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t2456 * t247; + v2tau2_ab = t2476 * t247; + v2tau2_bb = t2498 * t247; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_one_ov_pi; constexpr double t6 = constants::m_cbrt_4; @@ -611,6 +3686,18 @@ struct kernel_traits< BuiltinSCAN_C > : constexpr double t389 = t132 * t6; constexpr double t493 = t177 * t220; constexpr double t623 = t57 * t20; + constexpr double t760 = t5 * t7; + constexpr double t825 = t21 * t6; + constexpr double t1113 = t173 * t173; + constexpr double t1116 = 0.1e1 / t175 / t95; + constexpr double t1117 = t1116 * t57; + constexpr double t1782 = t623 * t132; + constexpr double t1853 = t1113 * t1116; + constexpr double t1854 = t1853 * t57; + constexpr double t1868 = t219 * t220; + constexpr double t2209 = 0.1e1 / t21; + constexpr double t2211 = t2 * t2209 * t7; + constexpr double t2224 = t220 * t2; const double t8 = rho_a + rho_b; @@ -1029,9 +4116,921 @@ struct kernel_traits< BuiltinSCAN_C > : const double t711 = piecewise_functor_3( t202, 0.0, -0.105e1 * t471 * t707 * t207 ); const double t712 = piecewise_functor_3( t183, t706, t711 ); const double t713 = t8 * t712; + const double t714 = t321 * t81; + const double t715 = 0.1e1 / t714; + const double t716 = t328 * t328; + const double t718 = t715 * t716 * t329; + const double t719 = t343 * t718; + const double t720 = 0.11696447245269292414e1 * t719; + const double t721 = t138 * t138; + const double t723 = 0.1e1 / t139 / t721; + const double t724 = t420 * t420; + const double t725 = t723 * t724; + const double t729 = 0.1e1 / t383 / t120; + const double t730 = t729 * t124; + const double t732 = t382 * t730 * t128; + const double t733 = t399 * t399; + const double t734 = t119 * t119; + const double t735 = t733 * t734; + const double t737 = t388 * t389 * t735; + const double t740 = t113 * t384; + const double t741 = t367 * t740; + const double t742 = t124 * t57; + const double t744 = t130 * t399 * t119; + const double t745 = t742 * t744; + const double t746 = t741 * t745; + const double t749 = 0.1e1 / t23 / t39; + const double t750 = t124 * t749; + const double t753 = 0.29272321618148349056e-1 * t377 * t750 * t370; + const double t754 = t414 * t358; + const double t756 = t377 * t378 * t754; + const double t758 = t285 * t375; + const double t759 = t758 * t125; + const double t763 = 0.81312004494856525156e-4 * t759 * t370 * t760; + const double t764 = t740 * t124; + const double t765 = t376 * t764; + const double t766 = t366 * t57; + const double t768 = t765 * t766 * t744; + const double t771 = 0.1e1 / t374 / t110; + const double t772 = t108 * t771; + const double t773 = t772 * t125; + const double t774 = t285 * t57; + const double t778 = 0.14457274399185490173e-3 * t773 * t774 * t130 * t760; + const double t779 = t57 * t394; + const double t780 = t779 * t20; + const double t781 = t358 * t358; + const double t783 = t780 * t389 * t781; + const double t786 = 0.1e1 / t99; + const double t787 = t291 * t291; + const double t790 = 0.1e1 / t364; + const double t791 = t35 * t790; + const double t792 = -t289 + t791; + const double t793 = 0.2e1 * t792; + const double t797 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t786 * t787 + 0.4e1 / 0.3e1 * t48 * t793 ); + const double t798 = 0.1e1 / t101; + const double t799 = t295 * t295; + const double t802 = -t793; + const double t806 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t798 * t799 + 0.4e1 / 0.3e1 * t53 * t802 ); + const double t807 = t797 + t806; + const double t808 = t807 * t60; + const double t809 = t808 * t86; + const double t810 = 0.19751673498613801407e-1 * t809; + const double t811 = t321 * t321; + const double t812 = 0.1e1 / t811; + const double t814 = t84 * t84; + const double t815 = 0.1e1 / t814; + const double t816 = t812 * t716 * t815; + const double t817 = t343 * t816; + const double t818 = 0.17315859105681463759e2 * t817; + const double t819 = t300 * t76; + const double t820 = t819 * t345; + const double t821 = 0.11696447245269292414e1 * t820; + const double t824 = 0.1e1 / t15 / t12 * t20; + const double t826 = t825 * t169; + const double t827 = t824 * t826; + const double t829 = t260 * t128; + const double t830 = t259 * t829; + const double t832 = t7 * t128; + const double t833 = t5 * t832; + const double t835 = 0.1e1/safe_math::sqrt( t12 ); + const double t836 = t835 * t20; + const double t837 = t836 * t826; + const double t839 = t267 * t829; + const double t842 = t22 * t6 * t169; + const double t844 = -0.57538888888888888889e0 * t827 + 0.11507777777777777778e1 * t830 + 0.40256666666666666667e0 * t833 + 0.366775e-1 * t837 + 0.73355e-1 * t839 + 0.137975e0 * t842; + const double t846 = t322 * t844 * t329; + const double t847 = t343 * t846; + const double t848 = 0.5848223622634646207e0 * t847; + const double t849 = t39 * t38; + const double t850 = 0.1e1 / t849; + const double t851 = t37 * t850; + const double t852 = t851 * t89; + const double t853 = 0.2e2 * t852; + const double t854 = t36 * t40; + const double t855 = t854 * t89; + const double t856 = 0.12e2 * t855; + const double t857 = t280 * t285; + const double t858 = t857 * t89; + const double t859 = 0.32e2 * t858; + const double t861 = t5 * t832 * t32; + const double t862 = 0.14764627977777777777e-2 * t861; + const double t866 = t250 * t307; + const double t870 = t306 * t68; + const double t871 = 0.1e1 / t870; + const double t872 = t63 * t871; + const double t873 = t313 * t313; + const double t874 = t873 * t314; + const double t883 = -0.78438333333333333333e0 * t827 + 0.15687666666666666667e1 * t830 + 0.68863333333333333333e0 * t833 + 0.14025833333333333333e0 * t837 + 0.28051666666666666667e0 * t839 + 0.17365833333333333333e0 * t842; + const double t884 = t883 * t314; + const double t887 = t306 * t306; + const double t888 = 0.1e1 / t887; + const double t889 = t63 * t888; + const double t890 = t71 * t71; + const double t891 = 0.1e1 / t890; + const double t892 = t873 * t891; + const double t895 = t250 * t256; + const double t897 = t760 * t895 * t277; + const double t898 = 0.35616666666666666666e-1 * t897; + const double t899 = t255 * t28; + const double t900 = 0.1e1 / t899; + const double t901 = t14 * t900; + const double t902 = t275 * t275; + const double t903 = t902 * t276; + const double t904 = t901 * t903; + const double t905 = 0.2e1 * t904; + const double t912 = -0.42198333333333333333e0 * t827 + 0.84396666666666666666e0 * t830 + 0.39862222222222222223e0 * t833 + 0.68258333333333333333e-1 * t837 + 0.13651666666666666667e0 * t839 + 0.13692777777777777778e0 * t842; + const double t913 = t912 * t276; + const double t914 = t257 * t913; + const double t915 = 0.1e1 * t914; + const double t916 = t255 * t255; + const double t917 = 0.1e1 / t916; + const double t918 = t14 * t917; + const double t919 = t31 * t31; + const double t920 = 0.1e1 / t919; + const double t921 = t902 * t920; + const double t922 = t918 * t921; + const double t923 = 0.16081979498692535067e2 * t922; + const double t927 = t250 * t322; + const double t931 = t76 * t715; + const double t932 = t716 * t329; + const double t935 = t844 * t329; + const double t938 = t76 * t812; + const double t939 = t716 * t815; + const double t942 = -0.70983522622222222221e-3 * t5 * t832 * t72 - 0.34246666666666666666e-1 * t760 * t866 * t315 - 0.2e1 * t872 * t874 + 0.1e1 * t308 * t884 + 0.32163958997385070134e2 * t889 * t892 + t862 + t898 + t905 - t915 - t923 - 0.24415263074675393405e-3 * t5 * t832 * t85 - 0.10843581300301739842e-1 * t760 * t927 * t330 - 0.11696447245269292414e1 * t931 * t932 + 0.5848223622634646207e0 * t323 * t935 + 0.17315859105681463759e2 * t938 * t939; + const double t943 = t61 * t942; + const double t944 = t41 * t943; + const double t945 = t808 * t88; + const double t946 = t41 * t945; + const double t947 = t300 * t333; + const double t948 = t41 * t947; + const double t949 = 0.2e1 * t948; + const double t950 = t810 - t818 - t821 - t848 + t853 + t856 - t859 - t862 + t944 + t946 + t949; + const double t951 = t286 * t301; + const double t952 = 0.8e1 * t951; + const double t953 = t286 * t334; + const double t954 = 0.8e1 * t953; + const double t955 = t281 * t301; + const double t956 = 0.8e1 * t955; + const double t957 = t281 * t334; + const double t958 = 0.8e1 * t957; + const double t959 = t61 * t5; + const double t960 = t251 * t345; + const double t961 = t959 * t960; + const double t962 = 0.10843581300301739842e-1 * t961; + const double t963 = t300 * t2; + const double t964 = t963 * t340; + const double t965 = 0.36622894612013090108e-3 * t964; + const double t967 = t260 * t128 * t85; + const double t968 = t338 * t967; + const double t969 = 0.24415263074675393405e-3 * t968; + const double t970 = -t952 - t954 + t956 + t958 - t905 + t915 + t923 + t962 - t965 + t720 - t898 + t969; + const double t972 = ( t950 + t970 ) * t113; + const double t977 = 0.1e1 / t393 / t104; + const double t978 = t95 * t977; + const double t979 = t978 * t781; + const double t982 = 0.1e1 / t49; + const double t988 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t982 * t787 + 0.2e1 / 0.3e1 * t349 * t793 ); + const double t989 = 0.1e1 / t54; + const double t995 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t989 * t799 + 0.2e1 / 0.3e1 * t353 * t802 ); + const double t997 = t988 / 0.2e1 + t995 / 0.2e1; + const double t998 = t395 * t997; + const double t1001 = -0.12e2 * t115 * t979 + 0.3e1 * t115 * t998 - t972 * t117 + 0.6e1 * t391 * t396; + const double t1002 = t1001 * t119; + const double t1004 = t388 * t389 * t1002; + const double t1008 = t415 * t389 * t997; + const double t1012 = 0.1e1 / t9 / t39; + const double t1013 = t1012 * t57; + const double t1017 = 0.21341733463216935736e0 * t126 * t1013 * t130 * t134; + const double t1019 = t382 * t369 * t406; + const double t1020 = t1019 * t417; + const double t1022 = t749 * t111; + const double t1025 = 0.16463622957338778997e-1 * t1022 * t113 * t371; + const double t1026 = t367 * t122; + const double t1028 = t742 * t116 * t358; + const double t1029 = t1026 * t1028; + const double t1032 = t382 * t385 * t406; + const double t1033 = t1032 * t402; + const double t1036 = t382 * t385 * t129; + const double t1037 = t116 * t20; + const double t1038 = t1037 * t132; + const double t1039 = t6 * t399; + const double t1040 = t119 * t358; + const double t1042 = t1038 * t1039 * t1040; + const double t1045 = t733 * t119; + const double t1047 = t388 * t389 * t1045; + const double t1050 = 0.54878743191129263322e-1 * t732 * t737 + 0.54878743191129263322e-2 * t746 - t753 - 0.19514881078765566037e-1 * t756 - t763 - 0.97574405393827830186e-2 * t768 + t778 + 0.16463622957338778997e0 * t413 * t783 - 0.27439371595564631661e-1 * t387 * t1004 - 0.54878743191129263322e-1 * t413 * t1008 + t1017 + 0.25610080155860322884e0 * t1020 + t1025 + 0.10975748638225852664e-1 * t1029 + 0.12805040077930161442e0 * t1033 + 0.10975748638225852664e0 * t1036 * t1042 - 0.27439371595564631661e-1 * t387 * t1047; + const double t1051 = t363 * t1050; + const double t1056 = t141 * t1001; + const double t1062 = -0.3125e0 * t725 * t120 + 0.25e0 * t1051 * t120 + 0.5e0 * t421 * t400 + 0.1e1 * t1056 * t119 + 0.1e1 * t141 * t733 * t119; + const double t1065 = t97 * t106 * t1062 * t429; + const double t1066 = t104 * t145; + const double t1068 = t97 * t1066 * t781; + const double t1069 = 0.6e1 * t1068; + const double t1070 = t502 * t514; + const double t1072 = t239 * t36; + const double t1074 = 0.132e3 * t1072 * t243; + const double t1076 = 0.288e3 * t508 * t511; + const double t1077 = t241 * t849; + const double t1078 = 0.1e1 / t1077; + const double t1080 = 0.156e3 * t240 * t1078; + const double t1081 = -t1074 + t1076 - t1080; + const double t1083 = t479 * t213; + const double t1084 = 0.1e1 / t1083; + const double t1085 = t483 * t483; + const double t1086 = t1084 * t1085; + const double t1091 = -0.49388888888888888889e-2 * t827 + 0.98777777777777777777e-2 * t830 + 0.13949e-1 * t833; + const double t1092 = t480 * t1091; + const double t1098 = t479 * t479; + const double t1099 = 0.1e1 / t1098; + const double t1100 = t1099 * t1085; + const double t1103 = t217 * t490; + const double t1104 = t484 * t1103; + const double t1106 = t219 * t221 * t366; + const double t1109 = t225 * t225; + const double t1111 = 0.1e1 / t226 / t1109; + const double t1112 = t218 * t1111; + const double t1114 = t1112 * t1113; + const double t1118 = t124 * t124; + const double t1119 = t39 * t364; + const double t1121 = 0.1e1 / t9 / t1119; + const double t1129 = 0.2e1 * t1086 * t486 - 0.1e1 * t1092 * t486 + 0.1e1 * t1100 * t486 + 0.2845018947250181111e-1 * t1104 * t1106 - 0.20235332025531322028e-2 * t1114 * t1117 * t1118 * t1121 + 0.52158680699586653702e-1 * t492 * t493 * t750; + const double t1132 = t497 * t497; + const double t1133 = t230 * t230; + const double t1134 = 0.1e1 / t1133; + const double t1137 = -0.571528e-1 * t1086 + 0.285764e-1 * t1092 + 0.285764e-1 * t1129 * t498 - 0.285764e-1 * t1132 * t1134; + const double t1138 = t1137 * t237; + const double t1139 = t1138 * t245; + const double t1140 = t427 * t427; + const double t1142 = t144 * t144; + const double t1143 = 0.1e1 / t1142; + const double t1145 = t97 * t106 * t1140 * t1143; + const double t1146 = t97 * t105; + const double t1147 = t427 * t429; + const double t1149 = t1146 * t1147 * t358; + const double t1150 = 0.6e1 * t1149; + const double t1151 = t238 * t1081 - t1065 - t1069 + 0.2e1 * t1070 + t1139 + t1145 - t1150 - t720 - t810 - t853 - t856 + t859 + t898 - t946 - t958 + t965 - t969; + const double t1153 = t97 * t348 * t997; + const double t1154 = 0.3e1 * t1153; + const double t1155 = t808 * t245; + const double t1158 = t300 * t514; + const double t1161 = t501 * t58; + const double t1162 = t1161 * t505; + const double t1164 = t862 - t944 - t915 - t923 - t949 + t952 - t1154 + t818 + t821 + t848 - t962 - 0.2363e1 * t504 * t1155 - 0.4726e1 * t504 * t1158 - 0.4726e1 * t1162 + t905 + t954 - t956; + const double t1165 = t1151 + t1164; + const double t1166 = t210 * t1165; + const double t1167 = t1166 + t720 + t1065 + t1069 + t946 + t810 + t958 - t1145 + t1150 - t898 - t965 + t969 + t853 + t856 - t859; + const double t1168 = t477 * t516; + const double t1169 = 0.2e1 * t1168; + const double t1172 = 0.1e1 / t149 / t432 / rho_a; + const double t1173 = tau_a * t1172; + const double t1178 = 0.1e1 / t154; + const double t1179 = t438 * t438; + const double t1180 = t1178 * t1179; + const double t1183 = t155 * t792; + const double t1186 = 0.1e1 / t164; + const double t1187 = t442 * t442; + const double t1188 = t1186 * t1187; + const double t1191 = -t792; + const double t1192 = t165 * t1191; + const double t1195 = 0.11e2 / 0.9e1 * t750; + const double t1197 = ( 0.4e2 / 0.9e1 * t1173 * t156 - 0.5e2 / 0.9e1 * t435 * t439 + 0.1e2 / 0.9e1 * t152 * t1180 + 0.5e1 / 0.3e1 * t152 * t1183 + 0.1e2 / 0.9e1 * t162 * t1188 + 0.5e1 / 0.3e1 * t162 * t1192 - t1195 ) * t173; + const double t1203 = 0.1e1 / t450 / t178; + const double t1204 = t177 * t1203; + const double t1205 = t454 * t454; + const double t1206 = t1204 * t1205; + const double t1213 = 0.1e2 / 0.9e1 * t1180 + 0.5e1 / 0.3e1 * t1183 + 0.1e2 / 0.9e1 * t1188 + 0.5e1 / 0.3e1 * t1192; + const double t1214 = t452 * t1213; + const double t1217 = 0.5e1 / 0.9e1 * t1197 * t180 - 0.1e2 / 0.9e1 * t448 * t455 + 0.1e2 / 0.9e1 * t174 * t1206 - 0.5e1 / 0.9e1 * t174 * t1214; + const double t1218 = piecewise_functor_3( t189, t1217, 0.0 ); + const double t1221 = t459 * t459; + const double t1225 = 0.1e1 / t462 / t191; + const double t1226 = t190 * t1225; + const double t1231 = -0.64e0 * t1218 * t192 - 0.128e1 * t1221 * t463 - 0.128e1 * t1226 * t1221 - 0.64e0 * t464 * t1218; + const double t1232 = t1231 * t195; + const double t1233 = t467 * t467; + const double t1234 = t1233 * t195; + const double t1236 = piecewise_functor_3( t188, 0.0, t1232 + t1234 ); + const double t1237 = t470 * t204; + const double t1238 = 0.1e1 / t1237; + const double t1239 = t472 * t472; + const double t1243 = piecewise_functor_3( t202, 0.0, t1217 ); + const double t1247 = t470 * t470; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t1239; + const double t1253 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t1239 * t207 - 0.105e1 * t471 * t1243 * t207 - 0.1575e1 * t1249 * t207 ); + const double t1254 = piecewise_functor_3( t183, t1236, t1253 ); + const double t1255 = t1254 * t247; + const double t1256 = -t862 + t944 + t915 + t923 + t949 - t952 + t1154 - t818 - t821 - t848 + t962 - t905 - t954 + t956 + t1169 + t1255; + const double t1262 = 0.11696447245269292414e1 * t346; + const double t1263 = 0.8e1 * t287; + const double t1264 = 0.8e1 * t282; + const double t1267 = 0.2e1 * t335; + const double t1268 = 0.22146941966666666666e-2 * t253; + const double t1269 = 0.36622894612013090108e-3 * t341; + const double t1270 = 0.2e1 * t278; + const double t1272 = t529 * t2; + const double t1273 = t1272 * t340; + const double t1274 = 0.18311447306006545054e-3 * t1273; + const double t1275 = t300 * t614; + const double t1278 = t1161 * t610; + const double t1280 = t786 * t520; + const double t1283 = t48 * t35; + const double t1287 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t1280 * t291 + 0.8e1 / 0.3e1 * t1283 * t790 ); + const double t1288 = t798 * t524; + const double t1291 = t53 * t35; + const double t1295 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t1288 * t295 - 0.8e1 / 0.3e1 * t1291 * t790 ); + const double t1296 = t1287 + t1295; + const double t1297 = t1296 * t60; + const double t1298 = t1297 * t245; + const double t1301 = t529 * t514; + const double t1304 = t529 * t76; + const double t1305 = t1304 * t345; + const double t1306 = 0.5848223622634646207e0 * t1305; + const double t1307 = t568 * t429; + const double t1309 = t1146 * t1307 * t358; + const double t1310 = 0.3e1 * t1309; + const double t1311 = t97 * t104; + const double t1312 = t145 * t541; + const double t1314 = t1311 * t1312 * t358; + const double t1315 = 0.6e1 * t1314; + const double t1316 = t502 * t614; + const double t1317 = t1074 - t1080; + const double t1319 = t1147 * t541; + const double t1320 = t1146 * t1319; + const double t1321 = 0.3e1 * t1320; + const double t1322 = 0.18311447306006545054e-3 * t964; + const double t1323 = t1297 * t86; + const double t1324 = 0.19751673498613801407e-1 * t1323; + const double t1325 = -0.2363e1 * t504 * t1275 - 0.2363e1 * t1278 - 0.2363e1 * t504 * t1298 - 0.2363e1 * t504 * t1301 + t1274 - t720 + t1070 + t1139 + t1306 - t1310 - t1315 + t1316 + t238 * t1317 - t1321 + t898 + t1322 - t969 - t1324 - t853 + t856; + const double t1326 = 0.4e1 * t951; + const double t1327 = 0.5848223622634646207e0 * t820; + const double t1330 = t723 * t561; + const double t1331 = t120 * t420; + const double t1335 = t382 * t730 * t129; + const double t1336 = t130 * t20; + const double t1337 = t1336 * t132; + const double t1338 = t6 * t551; + const double t1339 = t734 * t399; + const double t1341 = t1337 * t1338 * t1339; + const double t1344 = t130 * t551; + const double t1345 = t1344 * t119; + const double t1346 = t742 * t1345; + const double t1347 = t741 * t1346; + const double t1349 = t414 * t541; + const double t1351 = t377 * t378 * t1349; + const double t1356 = t765 * t766 * t1345; + const double t1359 = -t1274 + t720 - t1306 - t898 - t1322 + t969 + t1324 + t853 - t856 - t862 + t944 + t915 + t923; + const double t1360 = 0.4e1 * t955; + const double t1361 = t281 * t530; + const double t1362 = 0.4e1 * t1361; + const double t1363 = t286 * t530; + const double t1364 = 0.4e1 * t1363; + const double t1365 = t1297 * t88; + const double t1366 = t41 * t1365; + const double t1367 = t529 * t333; + const double t1368 = t41 * t1367; + const double t1369 = t948 - t1326 - t818 - t1327 - t848 + t962 - t905 - t954 - t1360 + t1362 - t1364 + t1366 + t1368; + const double t1371 = ( t1359 + t1369 ) * t113; + const double t1377 = t115 * t95; + const double t1378 = t977 * t541; + const double t1379 = t1378 * t358; + const double t1382 = t982 * t520; + const double t1385 = t349 * t35; + const double t1389 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t1382 * t291 + 0.4e1 / 0.3e1 * t1385 * t790 ); + const double t1390 = t989 * t524; + const double t1393 = t353 * t35; + const double t1397 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t1390 * t295 - 0.4e1 / 0.3e1 * t1393 * t790 ); + const double t1399 = t1389 / 0.2e1 + t1397 / 0.2e1; + const double t1400 = t395 * t1399; + const double t1403 = 0.3e1 * t115 * t1400 - t1371 * t117 - 0.12e2 * t1377 * t1379 + 0.3e1 * t391 * t548 + 0.3e1 * t546 * t396; + const double t1404 = t1403 * t119; + const double t1406 = t388 * t389 * t1404; + const double t1409 = t1019 * t558; + const double t1411 = 0.54878743191129263322e-1 * t1335 * t1341 + 0.27439371595564631661e-2 * t1347 - 0.97574405393827830187e-2 * t1351 + 0.27439371595564631661e-2 * t746 - t753 - 0.97574405393827830186e-2 * t756 - 0.48787202696913915093e-2 * t1356 - t763 - 0.48787202696913915093e-2 * t768 + t778 - 0.27439371595564631661e-1 * t387 * t1406 + 0.12805040077930161442e0 * t1409; + const double t1412 = t541 * t358; + const double t1414 = t780 * t389 * t1412; + const double t1418 = t415 * t389 * t1399; + const double t1422 = t116 * t541; + const double t1423 = t742 * t1422; + const double t1424 = t1026 * t1423; + const double t1428 = t1032 * t554; + const double t1431 = t1038 * t1338 * t1040; + const double t1435 = t1337 * t1338 * t400; + const double t1438 = t6 * t541; + const double t1440 = t1038 * t1438 * t400; + const double t1443 = 0.16463622957338778997e0 * t413 * t1414 - 0.54878743191129263322e-1 * t413 * t1418 + t1017 + 0.12805040077930161442e0 * t1020 + 0.54878743191129263322e-2 * t1424 + t1025 + 0.54878743191129263322e-2 * t1029 + 0.64025200389650807209e-1 * t1033 + 0.64025200389650807209e-1 * t1428 + 0.54878743191129263322e-1 * t1036 * t1431 - 0.27439371595564631661e-1 * t1036 * t1435 + 0.54878743191129263322e-1 * t1036 * t1440; + const double t1444 = t1411 + t1443; + const double t1445 = t363 * t1444; + const double t1452 = t141 * t1403; + const double t1457 = -0.3125e0 * t1330 * t1331 + 0.25e0 * t1445 * t120 + 0.25e0 * t562 * t400 + 0.25e0 * t421 * t552 + 0.1e1 * t1452 * t119 + 0.1e1 * t565 * t400; + const double t1460 = t97 * t106 * t1457 * t429; + const double t1461 = t97 * t106; + const double t1462 = t568 * t1143; + const double t1464 = t1461 * t1462 * t427; + const double t1466 = t97 * t348 * t1399; + const double t1467 = 0.3e1 * t1466; + const double t1468 = -0.2363e1 * t1162 - t1460 + t905 + t954 + t1360 + t1464 - t1362 + t1364 - t1366 - t1368 - t1467; + const double t1470 = t1325 + t862 - t944 - t915 - t923 - t948 + t1326 + t818 + t1327 + t848 - t962 + t1468; + const double t1471 = t210 * t1470; + const double t1474 = t1178 * t572; + const double t1475 = t1474 * t438; + const double t1478 = t155 * t35; + const double t1479 = t1478 * t790; + const double t1484 = t1186 * t582; + const double t1485 = t1484 * t442; + const double t1488 = t165 * t35; + const double t1489 = t1488 * t790; + const double t1493 = ( -0.25e2 / 0.9e1 * t435 * t573 + 0.1e2 / 0.9e1 * t152 * t1475 + 0.5e1 / 0.3e1 * t152 * t1479 - 0.25e2 / 0.9e1 * t579 * t443 + 0.1e2 / 0.9e1 * t162 * t1485 - 0.5e1 / 0.3e1 * t162 * t1489 - t1195 ) * t173; + const double t1500 = t174 * t177; + const double t1501 = t1203 * t590; + const double t1502 = t1501 * t454; + const double t1509 = 0.1e2 / 0.9e1 * t1475 + 0.5e1 / 0.3e1 * t1479 + 0.1e2 / 0.9e1 * t1485 - 0.5e1 / 0.3e1 * t1489; + const double t1510 = t452 * t1509; + const double t1513 = 0.5e1 / 0.9e1 * t1493 * t180 - 0.5e1 / 0.9e1 * t587 * t455 - 0.5e1 / 0.9e1 * t448 * t591 + 0.1e2 / 0.9e1 * t1500 * t1502 - 0.5e1 / 0.9e1 * t174 * t1510; + const double t1514 = piecewise_functor_3( t189, t1513, 0.0 ); + const double t1517 = t595 * t463; + const double t1520 = t595 * t459; + const double t1525 = -0.64e0 * t1514 * t192 - 0.128e1 * t1517 * t459 - 0.128e1 * t1226 * t1520 - 0.64e0 * t464 * t1514; + const double t1526 = t1525 * t195; + const double t1527 = t600 * t467; + const double t1528 = t1527 * t195; + const double t1530 = piecewise_functor_3( t188, 0.0, t1526 + t1528 ); + const double t1531 = t1238 * t603; + const double t1532 = t207 * t472; + const double t1535 = piecewise_functor_3( t202, 0.0, t1513 ); + const double t1539 = t1248 * t603; + const double t1543 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1531 * t1532 - 0.105e1 * t471 * t1535 * t207 - 0.1575e1 * t1539 * t1532 ); + const double t1544 = piecewise_functor_3( t183, t1530, t1543 ); + const double t1545 = t1544 * t247; + const double t1546 = t608 * t516; + const double t1547 = -t1274 + t1471 + t720 + t1545 - t1306 + t1546 + t1310 + t1315 + t1321 - t898 - t1322 + t969 + t1324 + t853 - t856 - t862 + t944 + t915; + const double t1548 = t477 * t616; + const double t1549 = t923 + t948 - t1326 - t818 - t1327 - t848 + t962 + t1460 + t1548 - t905 - t954 - t1360 - t1464 + t1362 - t1364 + t1366 + t1368 + t1467; + const double t1552 = 0.36622894612013090108e-3 * t1273; + const double t1553 = t520 * t520; + const double t1556 = t289 + t791; + const double t1557 = 0.2e1 * t1556; + const double t1561 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t786 * t1553 + 0.4e1 / 0.3e1 * t48 * t1557 ); + const double t1562 = t524 * t524; + const double t1565 = -t1557; + const double t1569 = piecewise_functor_3( t52, 0.0, 0.4e1 / 0.9e1 * t798 * t1562 + 0.4e1 / 0.3e1 * t53 * t1565 ); + const double t1570 = t1561 + t1569; + const double t1571 = t1570 * t60; + const double t1572 = t1571 * t88; + const double t1573 = t41 * t1572; + const double t1574 = t1307 * t541; + const double t1575 = t1146 * t1574; + const double t1576 = 0.6e1 * t1575; + const double t1577 = t561 * t561; + const double t1578 = t723 * t1577; + const double t1581 = t551 * t551; + const double t1582 = t1581 * t734; + const double t1584 = t388 * t389 * t1582; + const double t1590 = t541 * t541; + const double t1592 = t780 * t389 * t1590; + const double t1595 = t1571 * t86; + const double t1596 = 0.19751673498613801407e-1 * t1595; + const double t1597 = 0.11696447245269292414e1 * t1305; + const double t1598 = 0.8e1 * t1361; + const double t1599 = 0.8e1 * t1363; + const double t1600 = 0.2e1 * t1368; + const double t1601 = t1573 + t1596 - t1597 - t1598 - t1599 + t1600 - t1552 - t818 - t848 + t853 + t856; + const double t1602 = t859 - t862 + t944 - t954 - t958 - t905 + t915 + t923 + t962 + t720 - t898 + t969; + const double t1604 = ( t1601 + t1602 ) * t113; + const double t1608 = t978 * t1590; + const double t1616 = piecewise_functor_3( t45, 0.0, -0.2e1 / 0.9e1 * t982 * t1553 + 0.2e1 / 0.3e1 * t349 * t1557 ); + const double t1622 = piecewise_functor_3( t52, 0.0, -0.2e1 / 0.9e1 * t989 * t1562 + 0.2e1 / 0.3e1 * t353 * t1565 ); + const double t1624 = t1616 / 0.2e1 + t1622 / 0.2e1; + const double t1625 = t395 * t1624; + const double t1628 = -0.12e2 * t115 * t1608 + 0.3e1 * t115 * t1625 - t1604 * t117 + 0.6e1 * t546 * t548; + const double t1629 = t1628 * t119; + const double t1631 = t388 * t389 * t1629; + const double t1636 = t415 * t389 * t1624; + const double t1641 = t119 * t541; + const double t1643 = t1038 * t1338 * t1641; + const double t1646 = t1581 * t119; + const double t1648 = t388 * t389 * t1646; + const double t1651 = 0.54878743191129263322e-1 * t732 * t1584 + 0.54878743191129263322e-2 * t1347 - 0.19514881078765566037e-1 * t1351 - t753 - 0.97574405393827830186e-2 * t1356 - t763 + t778 + 0.16463622957338778997e0 * t413 * t1592 - 0.27439371595564631661e-1 * t387 * t1631 + 0.25610080155860322884e0 * t1409 - 0.54878743191129263322e-1 * t413 * t1636 + t1017 + 0.10975748638225852664e-1 * t1424 + t1025 + 0.12805040077930161442e0 * t1428 + 0.10975748638225852664e0 * t1036 * t1643 - 0.27439371595564631661e-1 * t387 * t1648; + const double t1652 = t363 * t1651; + const double t1657 = t141 * t1628; + const double t1660 = t141 * t1581; + const double t1663 = -0.3125e0 * t1578 * t120 + 0.25e0 * t1652 * t120 + 0.5e0 * t562 * t552 + 0.1e1 * t1657 * t119 + 0.1e1 * t1660 * t119; + const double t1666 = t97 * t106 * t1663 * t429; + const double t1668 = t97 * t1066 * t1590; + const double t1669 = 0.6e1 * t1668; + const double t1670 = t608 * t616; + const double t1671 = 0.2e1 * t1670; + const double t1672 = -t1552 + t720 + t1573 + t1576 + t1666 - t958 + t1669 - t1597 + t1596 - t898 + t969 + t1671 + t853 + t856 + t859; + const double t1674 = -t1074 - t1076 - t1080; + const double t1677 = -0.4726e1 * t1278 + t238 * t1674 + t1552 - t720 - t1573 - t1576 - t1666 + t958 + t1139 - t1669 + t1597 - t1596 + 0.2e1 * t1316 + t898 - t969 - t853 - t856; + const double t1679 = t97 * t348 * t1624; + const double t1680 = 0.3e1 * t1679; + const double t1681 = t1571 * t245; + const double t1684 = t529 * t614; + const double t1687 = t568 * t568; + const double t1690 = t97 * t106 * t1687 * t1143; + const double t1691 = -t859 + t862 - t944 - t915 - t923 + t818 + t848 - t1680 - t962 + t905 - 0.2363e1 * t504 * t1681 - 0.4726e1 * t504 * t1684 + t1690 + t954 + t1598 + t1599 - t1600; + const double t1692 = t1677 + t1691; + const double t1693 = t210 * t1692; + const double t1694 = t572 * t572; + const double t1695 = t1178 * t1694; + const double t1698 = t155 * t1556; + const double t1703 = 0.1e1 / t159 / t576 / rho_b; + const double t1704 = tau_b * t1703; + const double t1709 = t582 * t582; + const double t1710 = t1186 * t1709; + const double t1713 = -t1556; + const double t1714 = t165 * t1713; + const double t1718 = ( 0.1e2 / 0.9e1 * t152 * t1695 + 0.5e1 / 0.3e1 * t152 * t1698 + 0.4e2 / 0.9e1 * t1704 * t166 - 0.5e2 / 0.9e1 * t579 * t583 + 0.1e2 / 0.9e1 * t162 * t1710 + 0.5e1 / 0.3e1 * t162 * t1714 - t1195 ) * t173; + const double t1723 = t590 * t590; + const double t1724 = t1204 * t1723; + const double t1731 = 0.1e2 / 0.9e1 * t1695 + 0.5e1 / 0.3e1 * t1698 + 0.1e2 / 0.9e1 * t1710 + 0.5e1 / 0.3e1 * t1714; + const double t1732 = t452 * t1731; + const double t1735 = 0.5e1 / 0.9e1 * t1718 * t180 - 0.1e2 / 0.9e1 * t587 * t591 + 0.1e2 / 0.9e1 * t174 * t1724 - 0.5e1 / 0.9e1 * t174 * t1732; + const double t1736 = piecewise_functor_3( t189, t1735, 0.0 ); + const double t1739 = t595 * t595; + const double t1746 = -0.64e0 * t1736 * t192 - 0.128e1 * t1739 * t463 - 0.128e1 * t1226 * t1739 - 0.64e0 * t464 * t1736; + const double t1747 = t1746 * t195; + const double t1748 = t600 * t600; + const double t1749 = t1748 * t195; + const double t1751 = piecewise_functor_3( t188, 0.0, t1747 + t1749 ); + const double t1752 = t603 * t603; + const double t1756 = piecewise_functor_3( t202, 0.0, t1735 ); + const double t1760 = t1248 * t1752; + const double t1764 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t1752 * t207 - 0.105e1 * t471 * t1756 * t207 - 0.1575e1 * t1760 * t207 ); + const double t1765 = piecewise_functor_3( t183, t1751, t1764 ); + const double t1766 = t1765 * t247; + const double t1767 = -t862 + t944 + t915 + t923 + t1693 - t818 - t848 + t1766 + t1680 + t962 - t905 - t1690 - t954 - t1598 - t1599 + t1600; + const double t1776 = t358 * t363; + const double t1777 = t1776 * t621; + const double t1778 = t1777 * t625; + const double t1779 = 0.69504740211613770831e-3 * t1778; + const double t1780 = t104 * t723; + const double t1781 = t1780 * t621; + const double t1783 = t6 * t429; + const double t1785 = t1782 * t1783 * t420; + const double t1786 = t1781 * t1785; + const double t1787 = 0.86880925264517213539e-3 * t1786; + const double t1788 = t620 * t366; + const double t1789 = t111 * t57; + const double t1790 = t1789 * t429; + const double t1791 = t1788 * t1790; + const double t1792 = 0.69504740211613770831e-4 * t1791; + const double t1793 = t620 * t108; + const double t1795 = t57 * t429; + const double t1796 = t375 * t366 * t1795; + const double t1797 = t1793 * t1796; + const double t1798 = 0.12357942809624928454e-3 * t1797; + const double t1799 = t112 * t406; + const double t1800 = t620 * t1799; + const double t1801 = t1800 * t625; + const double t1802 = 0.16217772716043213194e-2 * t1801; + const double t1803 = t6 * t1143; + const double t1805 = t1782 * t1803 * t427; + const double t1806 = t622 * t1805; + const double t1807 = 0.69504740211613770831e-3 * t1806; + const double t1808 = t366 * t173; + const double t1809 = t1808 * t180; + const double t1810 = 0.5e1 / 0.27e2 * t1809; + const double t1811 = t628 * t455; + const double t1813 = t1810 + 0.5e1 / 0.72e2 * t1811; + const double t1814 = piecewise_functor_3( t189, t1813, 0.0 ); + const double t1817 = t631 * t463; + const double t1820 = t631 * t459; + const double t1825 = -0.64e0 * t1814 * t192 - 0.128e1 * t1817 * t459 - 0.128e1 * t1226 * t1820 - 0.64e0 * t464 * t1814; + const double t1826 = t1825 * t195; + const double t1827 = t636 * t467; + const double t1828 = t1827 * t195; + const double t1830 = piecewise_functor_3( t188, 0.0, t1826 + t1828 ); + const double t1831 = t1238 * t639; + const double t1834 = piecewise_functor_3( t202, 0.0, t1813 ); + const double t1838 = t1248 * t639; + const double t1842 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1831 * t1532 - 0.105e1 * t471 * t1834 * t207 - 0.1575e1 * t1838 * t1532 ); + const double t1843 = piecewise_functor_3( t183, t1830, t1842 ); + const double t1844 = t1843 * t247; + const double t1845 = t644 * t516; + const double t1846 = t477 * t653; + const double t1847 = t1103 * t173; + const double t1848 = t484 * t1847; + const double t1849 = t493 * t169; + const double t1850 = t1849 * t649; + const double t1851 = t1848 * t1850; + const double t1852 = 0.15243824895787514157e-3 * t1851; + const double t1855 = t1112 * t1854; + const double t1857 = 0.1e1 / t9 / t849; + const double t1858 = t1857 * t498; + const double t1859 = t237 * t245; + const double t1860 = t1859 * t124; + const double t1862 = t1855 * t1858 * t1860; + const double t1863 = 0.21684485328539747656e-4 * t1862; + const double t1864 = t220 * t366; + const double t1866 = t646 * t1864 * t649; + const double t1867 = 0.40650199722100037752e-3 * t1866; + const double t1869 = t491 * t1868; + const double t1870 = t169 * t1134; + const double t1871 = t1859 * t497; + const double t1873 = t1869 * t1870 * t1871; + const double t1874 = 0.15243824895787514157e-3 * t1873; + const double t1876 = t169 * t498 * t58; + const double t1878 = t1869 * t1876 * t505; + const double t1880 = t648 * t514; + const double t1882 = t646 * t647 * t1880; + const double t1884 = -t1852 + t1863 - t1867 - t1874 - 0.36021158228745895953e-3 * t1878 + 0.15243824895787514157e-3 * t1882 - t1779 + t1787 + t1792 - t1798 + t1802 + t1807; + const double t1885 = t210 * t1884; + const double t1888 = 0.13900948042322754166e-2 * t1778; + const double t1889 = 0.17376185052903442708e-2 * t1786; + const double t1890 = 0.13900948042322754166e-3 * t1791; + const double t1891 = 0.24715885619249856907e-3 * t1797; + const double t1892 = 0.32435545432086426387e-2 * t1801; + const double t1893 = 0.13900948042322754166e-2 * t1806; + const double t1894 = 0.1e2 / 0.27e2 * t1809; + const double t1896 = t1894 + 0.5e1 / 0.36e2 * t1811; + const double t1897 = piecewise_functor_3( t189, t1896, 0.0 ); + const double t1900 = t658 * t463; + const double t1903 = t658 * t459; + const double t1908 = -0.64e0 * t1897 * t192 - 0.128e1 * t1900 * t459 - 0.128e1 * t1226 * t1903 - 0.64e0 * t464 * t1897; + const double t1909 = t1908 * t195; + const double t1910 = t663 * t467; + const double t1911 = t1910 * t195; + const double t1913 = piecewise_functor_3( t188, 0.0, t1909 + t1911 ); + const double t1914 = t1238 * t666; + const double t1917 = piecewise_functor_3( t202, 0.0, t1896 ); + const double t1921 = t1248 * t666; + const double t1925 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1914 * t1532 - 0.105e1 * t471 * t1917 * t207 - 0.1575e1 * t1921 * t1532 ); + const double t1926 = piecewise_functor_3( t183, t1913, t1925 ); + const double t1927 = t1926 * t247; + const double t1928 = t671 * t516; + const double t1929 = t477 * t674; + const double t1930 = 0.30487649791575028312e-3 * t1851; + const double t1931 = 0.43368970657079495308e-4 * t1862; + const double t1932 = 0.81300399444200075499e-3 * t1866; + const double t1933 = 0.30487649791575028312e-3 * t1873; + const double t1936 = -t1930 + t1931 - t1932 - t1933 - 0.72042316457491791901e-3 * t1878 + 0.30487649791575028312e-3 * t1882 - t1888 + t1889 + t1890 - t1891 + t1892 + t1893; + const double t1937 = t210 * t1936; + const double t1940 = t541 * t363; + const double t1941 = t1940 * t621; + const double t1942 = t1941 * t625; + const double t1943 = 0.69504740211613770831e-3 * t1942; + const double t1945 = t1782 * t1783 * t561; + const double t1946 = t1781 * t1945; + const double t1947 = 0.86880925264517213539e-3 * t1946; + const double t1949 = t1782 * t1803 * t568; + const double t1950 = t622 * t1949; + const double t1951 = 0.69504740211613770831e-3 * t1950; + const double t1952 = t628 * t591; + const double t1954 = t1810 + 0.5e1 / 0.72e2 * t1952; + const double t1955 = piecewise_functor_3( t189, t1954, 0.0 ); + const double t1960 = t631 * t595; + const double t1965 = -0.64e0 * t1955 * t192 - 0.128e1 * t1817 * t595 - 0.128e1 * t1226 * t1960 - 0.64e0 * t464 * t1955; + const double t1966 = t1965 * t195; + const double t1967 = t636 * t600; + const double t1968 = t1967 * t195; + const double t1970 = piecewise_functor_3( t188, 0.0, t1966 + t1968 ); + const double t1971 = t207 * t603; + const double t1974 = piecewise_functor_3( t202, 0.0, t1954 ); + const double t1981 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1831 * t1971 - 0.105e1 * t471 * t1974 * t207 - 0.1575e1 * t1838 * t1971 ); + const double t1982 = piecewise_functor_3( t183, t1970, t1981 ); + const double t1983 = t1982 * t247; + const double t1984 = t644 * t616; + const double t1985 = t608 * t653; + const double t1987 = t1869 * t1876 * t610; + const double t1989 = t648 * t614; + const double t1991 = t646 * t647 * t1989; + const double t1993 = -t1852 + t1863 - t1867 - t1874 - 0.36021158228745895953e-3 * t1987 + 0.15243824895787514157e-3 * t1991 - t1943 + t1947 + t1792 - t1798 + t1802 + t1951; + const double t1994 = t210 * t1993; + const double t1997 = 0.13900948042322754166e-2 * t1942; + const double t1998 = 0.17376185052903442708e-2 * t1946; + const double t1999 = 0.13900948042322754166e-2 * t1950; + const double t2001 = t1894 + 0.5e1 / 0.36e2 * t1952; + const double t2002 = piecewise_functor_3( t189, t2001, 0.0 ); + const double t2007 = t658 * t595; + const double t2012 = -0.64e0 * t2002 * t192 - 0.128e1 * t1900 * t595 - 0.128e1 * t1226 * t2007 - 0.64e0 * t464 * t2002; + const double t2013 = t2012 * t195; + const double t2014 = t663 * t600; + const double t2015 = t2014 * t195; + const double t2017 = piecewise_functor_3( t188, 0.0, t2013 + t2015 ); + const double t2020 = piecewise_functor_3( t202, 0.0, t2001 ); + const double t2027 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1914 * t1971 - 0.105e1 * t471 * t2020 * t207 - 0.1575e1 * t1921 * t1971 ); + const double t2028 = piecewise_functor_3( t183, t2017, t2027 ); + const double t2029 = t2028 * t247; + const double t2030 = t671 * t616; + const double t2031 = t608 * t674; + const double t2034 = -t1930 + t1931 - t1932 - t1933 - 0.72042316457491791901e-3 * t1987 + 0.30487649791575028312e-3 * t1991 - t1997 + t1998 + t1890 - t1891 + t1892 + t1999; + const double t2035 = t210 * t2034; + const double t2038 = t694 * t247; + const double t2039 = t434 * t156; + const double t2042 = t151 * t155; + const double t2043 = t2042 * t173; + const double t2044 = t180 * t438; + const double t2047 = t677 * t173; + const double t2050 = -0.25e2 / 0.27e2 * t2039 * t678 + 0.25e2 / 0.27e2 * t2043 * t2044 - 0.5e1 / 0.9e1 * t2047 * t455; + const double t2051 = piecewise_functor_3( t189, t2050, 0.0 ); + const double t2054 = t681 * t463; + const double t2057 = t681 * t459; + const double t2062 = -0.64e0 * t2051 * t192 - 0.128e1 * t2054 * t459 - 0.128e1 * t1226 * t2057 - 0.64e0 * t464 * t2051; + const double t2063 = t2062 * t195; + const double t2064 = t686 * t467; + const double t2067 = piecewise_functor_3( t188, 0.0, t2064 * t195 + t2063 ); + const double t2068 = t1238 * t689; + const double t2071 = piecewise_functor_3( t202, 0.0, t2050 ); + const double t2075 = t1248 * t689; + const double t2079 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t1532 - 0.105e1 * t471 * t2071 * t207 - 0.1575e1 * t2075 * t1532 ); + const double t2080 = piecewise_functor_3( t183, t2067, t2079 ); + const double t2081 = t8 * t2080; + const double t2084 = t712 * t247; + const double t2085 = t161 * t165; + const double t2086 = t2085 * t173; + const double t2087 = t180 * t442; + const double t2090 = t696 * t173; + const double t2093 = 0.25e2 / 0.27e2 * t2086 * t2087 - 0.5e1 / 0.9e1 * t2090 * t455; + const double t2094 = piecewise_functor_3( t189, t2093, 0.0 ); + const double t2097 = t699 * t463; + const double t2100 = t699 * t459; + const double t2105 = -0.64e0 * t2094 * t192 - 0.128e1 * t2097 * t459 - 0.128e1 * t1226 * t2100 - 0.64e0 * t464 * t2094; + const double t2106 = t2105 * t195; + const double t2107 = t704 * t467; + const double t2110 = piecewise_functor_3( t188, 0.0, t2107 * t195 + t2106 ); + const double t2111 = t1238 * t707; + const double t2114 = piecewise_functor_3( t202, 0.0, t2093 ); + const double t2118 = t1248 * t707; + const double t2122 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t1532 - 0.105e1 * t471 * t2114 * t207 - 0.1575e1 * t2118 * t1532 ); + const double t2123 = piecewise_functor_3( t183, t2110, t2122 ); + const double t2124 = t8 * t2123; + const double t2127 = t180 * t572; + const double t2132 = 0.25e2 / 0.27e2 * t2043 * t2127 - 0.5e1 / 0.9e1 * t2047 * t591; + const double t2133 = piecewise_functor_3( t189, t2132, 0.0 ); + const double t2138 = t681 * t595; + const double t2143 = -0.64e0 * t2133 * t192 - 0.128e1 * t2054 * t595 - 0.128e1 * t1226 * t2138 - 0.64e0 * t464 * t2133; + const double t2144 = t2143 * t195; + const double t2145 = t686 * t600; + const double t2148 = piecewise_functor_3( t188, 0.0, t2145 * t195 + t2144 ); + const double t2151 = piecewise_functor_3( t202, 0.0, t2132 ); + const double t2158 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t1971 - 0.105e1 * t471 * t2151 * t207 - 0.1575e1 * t2075 * t1971 ); + const double t2159 = piecewise_functor_3( t183, t2148, t2158 ); + const double t2160 = t8 * t2159; + const double t2163 = t578 * t166; + const double t2166 = t180 * t582; + const double t2171 = -0.25e2 / 0.27e2 * t2163 * t678 + 0.25e2 / 0.27e2 * t2086 * t2166 - 0.5e1 / 0.9e1 * t2090 * t591; + const double t2172 = piecewise_functor_3( t189, t2171, 0.0 ); + const double t2177 = t699 * t595; + const double t2182 = -0.64e0 * t2172 * t192 - 0.128e1 * t2097 * t595 - 0.128e1 * t1226 * t2177 - 0.64e0 * t464 * t2172; + const double t2183 = t2182 * t195; + const double t2184 = t704 * t600; + const double t2187 = piecewise_functor_3( t188, 0.0, t2184 * t195 + t2183 ); + const double t2190 = piecewise_functor_3( t202, 0.0, t2171 ); + const double t2197 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t1971 - 0.105e1 * t471 * t2190 * t207 - 0.1575e1 * t2118 * t1971 ); + const double t2198 = piecewise_functor_3( t183, t2187, t2197 ); + const double t2199 = t8 * t2198; + const double t2202 = 0.1e1 / t104; + const double t2203 = t2202 * t723; + const double t2204 = t108 * t108; + const double t2205 = t2203 * t2204; + const double t2206 = t375 * t749; + const double t2207 = t2206 * t220; + const double t2208 = t2205 * t2207; + const double t2212 = t429 * t113; + const double t2213 = t2212 * t121; + const double t2214 = t2211 * t2213; + const double t2215 = t2208 * t2214; + const double t2216 = 0.71518739786987016352e-4 * t2215; + const double t2217 = safe_math::sqrt( t138 ); + const double t2219 = 0.1e1 / t2217 / t721; + const double t2220 = t2202 * t2219; + const double t2221 = t2204 * t375; + const double t2228 = t2224 * t2209 * t7 * t1143 * t113; + const double t2229 = t2220 * t2221 * t749 * t2228; + const double t2230 = 0.1430374795739740327e-4 * t2229; + const double t2231 = piecewise_functor_3( t189, 0.0, 0.0 ); + const double t2233 = 0.64e0 * t2231 * t192; + const double t2234 = t631 * t631; + const double t2240 = 0.64e0 * t464 * t2231; + const double t2241 = -t2233 - 0.128e1 * t2234 * t463 - 0.128e1 * t1226 * t2234 - t2240; + const double t2242 = t2241 * t195; + const double t2243 = t636 * t636; + const double t2244 = t2243 * t195; + const double t2246 = piecewise_functor_3( t188, 0.0, t2242 + t2244 ); + const double t2247 = t639 * t639; + const double t2251 = piecewise_functor_3( t202, 0.0, 0.0 ); + const double t2254 = 0.105e1 * t471 * t2251 * t207; + const double t2255 = t1248 * t2247; + const double t2259 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2247 * t207 - t2254 - 0.1575e1 * t2255 * t207 ); + const double t2260 = piecewise_functor_3( t183, t2246, t2259 ); + const double t2261 = t2260 * t247; + const double t2263 = 0.2e1 * t644 * t653; + const double t2264 = t1112 * t1853; + const double t2266 = 0.1e1 / t9 / t284; + const double t2267 = t57 * t2266; + const double t2269 = t2264 * t2267 * t649; + const double t2271 = t218 * t218; + const double t2272 = safe_math::sqrt( t225 ); + const double t2274 = 0.1e1 / t2272 / t1109; + const double t2275 = t2271 * t2274; + const double t2276 = t2275 * t1853; + const double t2277 = t1134 * t237; + const double t2278 = t2277 * t245; + const double t2280 = t2276 * t2267 * t2278; + const double t2282 = -0.81316819982024053709e-5 * t2269 - 0.16263363996404810741e-5 * t2280 + t2216 + t2230; + const double t2283 = t210 * t2282; + const double t2285 = 0.1430374795739740327e-3 * t2215; + const double t2286 = 0.2860749591479480654e-4 * t2229; + const double t2289 = t658 * t631; + const double t2292 = -t2233 - 0.128e1 * t1900 * t631 - 0.128e1 * t1226 * t2289 - t2240; + const double t2293 = t2292 * t195; + const double t2294 = t663 * t636; + const double t2295 = t2294 * t195; + const double t2297 = piecewise_functor_3( t188, 0.0, t2293 + t2295 ); + const double t2298 = t207 * t639; + const double t2304 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1914 * t2298 - t2254 - 0.1575e1 * t1921 * t2298 ); + const double t2305 = piecewise_functor_3( t183, t2297, t2304 ); + const double t2306 = t2305 * t247; + const double t2307 = t671 * t653; + const double t2308 = t644 * t674; + const double t2309 = 0.16263363996404810741e-4 * t2269; + const double t2311 = -t2309 - 0.3252672799280962148e-5 * t2280 + t2285 + t2286; + const double t2312 = t210 * t2311; + const double t2314 = 0.2860749591479480654e-3 * t2215; + const double t2315 = 0.57214991829589613078e-4 * t2229; + const double t2316 = t658 * t658; + const double t2321 = -t2233 - 0.128e1 * t2316 * t463 - 0.128e1 * t1226 * t2316 - t2240; + const double t2322 = t2321 * t195; + const double t2323 = t663 * t663; + const double t2324 = t2323 * t195; + const double t2326 = piecewise_functor_3( t188, 0.0, t2322 + t2324 ); + const double t2327 = t666 * t666; + const double t2331 = t1248 * t2327; + const double t2335 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2327 * t207 - t2254 - 0.1575e1 * t2331 * t207 ); + const double t2336 = piecewise_functor_3( t183, t2326, t2335 ); + const double t2337 = t2336 * t247; + const double t2339 = 0.2e1 * t671 * t674; + const double t2342 = -0.3252672799280962148e-4 * t2269 - 0.65053455985619242961e-5 * t2280 + t2314 + t2315; + const double t2343 = t210 * t2342; + const double t2345 = 0.28607495914794806539e-4 * t2229; + const double t2347 = -t2309 - 0.32526727992809621482e-5 * t2280 + t2285 + t2345; + const double t2348 = t210 * t2347; + const double t2352 = t681 * t631; + const double t2355 = -t2233 - 0.128e1 * t2054 * t631 - 0.128e1 * t1226 * t2352 - t2240; + const double t2356 = t2355 * t195; + const double t2357 = t686 * t636; + const double t2360 = piecewise_functor_3( t188, 0.0, t2357 * t195 + t2356 ); + const double t2366 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t2298 - t2254 - 0.1575e1 * t2075 * t2298 ); + const double t2367 = piecewise_functor_3( t183, t2360, t2366 ); + const double t2368 = t8 * t2367; + const double t2373 = t699 * t631; + const double t2376 = -t2233 - 0.128e1 * t2097 * t631 - 0.128e1 * t1226 * t2373 - t2240; + const double t2377 = t2376 * t195; + const double t2378 = t704 * t636; + const double t2381 = piecewise_functor_3( t188, 0.0, t2378 * t195 + t2377 ); + const double t2387 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t2298 - t2254 - 0.1575e1 * t2118 * t2298 ); + const double t2388 = piecewise_functor_3( t183, t2381, t2387 ); + const double t2389 = t8 * t2388; + const double t2394 = t681 * t658; + const double t2397 = -t2233 - 0.128e1 * t2054 * t658 - 0.128e1 * t1226 * t2394 - t2240; + const double t2398 = t2397 * t195; + const double t2399 = t686 * t663; + const double t2402 = piecewise_functor_3( t188, 0.0, t2399 * t195 + t2398 ); + const double t2403 = t207 * t666; + const double t2409 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2068 * t2403 - t2254 - 0.1575e1 * t2075 * t2403 ); + const double t2410 = piecewise_functor_3( t183, t2402, t2409 ); + const double t2411 = t8 * t2410; + const double t2416 = t699 * t658; + const double t2419 = -t2233 - 0.128e1 * t2097 * t658 - 0.128e1 * t1226 * t2416 - t2240; + const double t2420 = t2419 * t195; + const double t2421 = t704 * t663; + const double t2424 = piecewise_functor_3( t188, 0.0, t2421 * t195 + t2420 ); + const double t2430 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t2403 - t2254 - 0.1575e1 * t2118 * t2403 ); + const double t2431 = piecewise_functor_3( t183, t2424, t2430 ); + const double t2432 = t8 * t2431; + const double t2435 = t681 * t681; + const double t2440 = -t2233 - 0.128e1 * t2435 * t463 - 0.128e1 * t1226 * t2435 - t2240; + const double t2442 = t686 * t686; + const double t2443 = t2442 * t195; + const double t2445 = piecewise_functor_3( t188, 0.0, t2440 * t195 + t2443 ); + const double t2446 = t689 * t689; + const double t2450 = t1248 * t2446; + const double t2454 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2446 * t207 - t2254 - 0.1575e1 * t2450 * t207 ); + const double t2455 = piecewise_functor_3( t183, t2445, t2454 ); + const double t2456 = t8 * t2455; + const double t2459 = t699 * t681; + const double t2462 = -t2233 - 0.128e1 * t2097 * t681 - 0.128e1 * t1226 * t2459 - t2240; + const double t2463 = t2462 * t195; + const double t2464 = t704 * t686; + const double t2467 = piecewise_functor_3( t188, 0.0, t2464 * t195 + t2463 ); + const double t2468 = t207 * t689; + const double t2474 = piecewise_functor_3( t202, 0.0, -0.21e1 * t2111 * t2468 - t2254 - 0.1575e1 * t2118 * t2468 ); + const double t2475 = piecewise_functor_3( t183, t2467, t2474 ); + const double t2476 = t8 * t2475; + const double t2477 = t699 * t699; + const double t2482 = -t2233 - 0.128e1 * t2477 * t463 - 0.128e1 * t1226 * t2477 - t2240; + const double t2484 = t704 * t704; + const double t2485 = t2484 * t195; + const double t2487 = piecewise_functor_3( t188, 0.0, t2482 * t195 + t2485 ); + const double t2488 = t707 * t707; + const double t2492 = t1248 * t2488; + const double t2496 = piecewise_functor_3( t202, 0.0, -0.21e1 * t1238 * t2488 * t207 - t2254 - 0.1575e1 * t2492 * t207 ); + const double t2497 = piecewise_functor_3( t183, t2487, t2496 ); + const double t2498 = t8 * t2497; - eps = -t34 + t90 + t92 + t147 + t248; vrho_a = t8 * t518 + t147 + t248 - t34 + t90 + t92; vrho_b = t8 * t618 + t147 + t248 - t34 + t90 + t92; vsigma_aa = t8 * ( t627 + t645 + t654 ); @@ -1041,6 +5040,51 @@ struct kernel_traits< BuiltinSCAN_C > : vlapl_b = 0.e0; vtau_a = t695 * t247; vtau_b = t713 * t247; + v2rho2_aa = t8 * ( t1167 + t1256 ) + 0.2e1 * t431 + 0.2e1 * t478 + 0.2e1 * t517 - t1262 - t1263 + t1264 + 0.6e1 * t360 + 0.2e1 * t302 + t1267 + t1268 - t1269 + t1270 + 0.39503346997227602814e-1 * t336; + v2rho2_ab = t8 * ( t1547 + t1549 ) + t617 + t609 + t571 + t544 + t531 + t533 + t431 + t478 + t517 - t1262 - t1263 + t361 + t302 + t1267 + t1268 - t1269 + t1270 + t337; + v2rho2_bb = t8 * ( t1672 + t1767 ) + 0.2e1 * t617 + 0.2e1 * t609 + 0.2e1 * t571 + 0.6e1 * t543 + 0.2e1 * t531 + 0.39503346997227602814e-1 * t532 - t1262 - t1263 - t1264 + t1267 + t1268 - t1269 + t1270; + v2rhosigma_a_aa = t627 + t645 + t654 + t8 * ( t1779 - t1787 - t1792 + t1798 - t1802 - t1807 + t1844 + t1845 + t1846 + t1885 ); + v2rhosigma_a_ab = t656 + t672 + t675 + t8 * ( t1888 - t1889 - t1890 + t1891 - t1892 - t1893 + t1927 + t1928 + t1929 + t1937 ); + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t627 + t645 + t654 + t8 * ( t1943 - t1947 - t1792 + t1798 - t1802 - t1951 + t1983 + t1984 + t1985 + t1994 ); + v2rhosigma_b_ab = t656 + t672 + t675 + t8 * ( t1997 - t1998 - t1890 + t1891 - t1892 - t1999 + t2029 + t2030 + t2031 + t2035 ); + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t2081 * t247 + t695 * t516 + t2038; + v2rhotau_a_b = t2124 * t247 + t713 * t516 + t2084; + v2rhotau_b_a = t2160 * t247 + t695 * t616 + t2038; + v2rhotau_b_b = t2199 * t247 + t713 * t616 + t2084; + v2sigma2_aa_aa = t8 * ( -t2216 - t2230 + t2261 + t2263 + t2283 ); + v2sigma2_aa_ab = t8 * ( -t2285 - t2286 + t2306 + t2307 + t2308 + t2312 ); + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t8 * ( -t2314 - t2315 + t2337 + t2339 + t2343 ); + v2sigma2_ab_bb = t8 * ( -t2285 - t2345 + t2306 + t2308 + t2307 + t2348 ); + v2sigma2_bb_bb = v2sigma2_aa_bb; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t2368 * t247 + t695 * t653; + v2sigmatau_aa_b = t2389 * t247 + t713 * t653; + v2sigmatau_ab_a = t2411 * t247 + t695 * t674; + v2sigmatau_ab_b = t2432 * t247 + t713 * t674; + v2sigmatau_bb_a = v2sigmatau_aa_a; + v2sigmatau_bb_b = v2sigmatau_aa_b; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t2456 * t247; + v2tau2_ab = t2476 * t247; + v2tau2_bb = t2498 * t247; } @@ -1058,4 +5102,4 @@ struct BuiltinSCAN_C : detail::BuiltinKernelImpl< BuiltinSCAN_C > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/scan_x.hpp b/include/exchcxx/impl/builtin/kernels/scan_x.hpp index b9332f8..19bf392 100644 --- a/include/exchcxx/impl/builtin/kernels/scan_x.hpp +++ b/include/exchcxx/impl/builtin/kernels/scan_x.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,8 +79,6 @@ struct kernel_traits< BuiltinSCAN_X > : static constexpr double sigma_tol = 1.0000000000000027e-20; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double c1 = 0.667; static constexpr double c2 = 0.8; @@ -40,7 +89,6 @@ struct kernel_traits< BuiltinSCAN_X > : eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t21 = constants::m_cbrt_6; @@ -138,7 +186,6 @@ struct kernel_traits< BuiltinSCAN_X > : eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { (void)(lapl); - (void)(eps); constexpr double t4 = constants::m_cbrt_3; constexpr double t5 = constants::m_cbrt_pi; constexpr double t21 = constants::m_cbrt_6; @@ -324,21 +371,1414 @@ struct kernel_traits< BuiltinSCAN_X > : const double t347 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t342 * t138 ); - eps = 0.2e1 * t142; - vrho = 0.2e1 * rho * t242 + 0.2e1 * t142; - vsigma = 0.2e1 * rho * t310; - vlapl = 0.e0; - vtau = 0.2e1 * rho * t347; + eps = 0.2e1 * t142; + vrho = 0.2e1 * rho * t242 + 0.2e1 * t142; + vsigma = 0.2e1 * rho * t310; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t347; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t39 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t40 = t21 * t21; + constexpr double t42 = t23 * t22; + constexpr double t43 = 0.1e1 / t42; + constexpr double t44 = t39 * t40 * t43; + constexpr double t125 = 0.1e1 / t23; + constexpr double t126 = t40 * t125; + constexpr double t148 = k1 * k1; + constexpr double t165 = t39 * t39; + constexpr double t166 = t22 * t22; + constexpr double t167 = 0.1e1 / t166; + constexpr double t168 = t165 * t167; + constexpr double t210 = d * c2; + constexpr double t257 = t25 * t28; + constexpr double t390 = t165 * t39 * t167; + constexpr double t425 = t40 * t43; + constexpr double t472 = c2 * c2; + constexpr double t473 = d * t472; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t20 * t20; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t45 = sigma * sigma; + const double t46 = t45 * t27; + const double t47 = t30 * t30; + const double t48 = t47 * rho; + const double t50 = 0.1e1 / t20 / t48; + const double t55 = safe_math::exp( -0.27e2 / 0.8e2 * t39 * t21 * t25 * t34 ); + const double t56 = t50 * t55; + const double t60 = safe_math::sqrt( 0.146e3 ); + const double t61 = t60 * t21; + const double t62 = t61 * t25; + const double t65 = tau * t28; + const double t66 = t31 * rho; + const double t67 = 0.1e1 / t66; + const double t73 = 0.5e1 / 0.9e1 * ( t65 * t67 - t34 / 0.8e1 ) * t21 * t25; + const double t74 = 0.1e1 - t73; + const double t76 = t74 * t74; + const double t78 = safe_math::exp( -t76 / 0.2e1 ); + const double t81 = 0.7e1 / 0.1296e5 * t62 * t34 + t60 * t74 * t78 / 0.1e3; + const double t82 = t81 * t81; + const double t83 = k1 + 0.5e1 / 0.972e3 * t35 + t44 * t46 * t56 / 0.288e3 + t82; + const double t88 = 0.1e1 + k1 * ( 0.1e1 - k1 / t83 ); + const double t89 = t73 <= 0.1e1; + const double t90 = safe_math::log( DBL_EPSILON ); + const double t93 = t90 / ( -t90 + c1 ); + const double t94 = -t93 < t73; + const double t95 = t73 < -t93; + const double t96 = piecewise_functor_3( t95, t73, -t93 ); + const double t97 = c1 * t96; + const double t98 = 0.1e1 - t96; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t97 * t99 ); + const double t102 = piecewise_functor_3( t94, 0.0, t101 ); + const double t103 = fabs( d ); + const double t106 = safe_math::log( DBL_EPSILON / t103 ); + const double t109 = ( -t106 + c2 ) / t106; + const double t110 = t73 < -t109; + const double t111 = piecewise_functor_3( t110, -t109, t73 ); + const double t112 = 0.1e1 - t111; + const double t115 = safe_math::exp( c2 / t112 ); + const double t117 = piecewise_functor_3( t110, 0.0, -d * t115 ); + const double t118 = piecewise_functor_3( t89, t102, t117 ); + const double t119 = 0.1e1 - t118; + const double t122 = t88 * t119 + 0.1174e1 * t118; + const double t124 = safe_math::sqrt( 0.3e1 ); + const double t127 = safe_math::sqrt( sigma ); + const double t128 = t127 * t27; + const double t130 = 0.1e1 / t20 / rho; + const double t132 = t126 * t128 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t137 = safe_math::exp( -0.98958e1 * t124 / t133 ); + const double t138 = 0.1e1 - t137; + const double t143 = 0.1e1 / t31; + const double t149 = t83 * t83; + const double t151 = t148 / t149; + const double t152 = t30 * rho; + const double t154 = 0.1e1 / t31 / t152; + const double t155 = t29 * t154; + const double t158 = t47 * t30; + const double t160 = 0.1e1 / t20 / t158; + const double t161 = t160 * t55; + const double t169 = t45 * sigma; + const double t170 = t47 * t47; + const double t171 = t170 * rho; + const double t172 = 0.1e1 / t171; + const double t182 = -0.5e1 / 0.3e1 * t65 * t33 + t155 / 0.3e1; + const double t184 = t26 * t78; + const double t187 = t60 * t76; + const double t191 = -0.7e1 / 0.486e4 * t62 * t155 - t60 * t182 * t184 / 0.18e3 + t187 * t182 * t184 / 0.18e3; + const double t194 = -0.1e2 / 0.729e3 * t26 * t155 - t44 * t46 * t161 / 0.54e2 + 0.3e1 / 0.8e2 * t168 * t169 * t172 * t55 + 0.2e1 * t81 * t191; + const double t195 = t194 * t119; + const double t197 = t182 * t21; + const double t199 = 0.5e1 / 0.9e1 * t197 * t25; + const double t200 = piecewise_functor_3( t95, t199, 0.0 ); + const double t203 = t98 * t98; + const double t204 = 0.1e1 / t203; + const double t205 = t204 * t200; + const double t207 = -c1 * t200 * t99 - t97 * t205; + const double t208 = t207 * t101; + const double t209 = piecewise_functor_3( t94, 0.0, t208 ); + const double t211 = t112 * t112; + const double t212 = 0.1e1 / t211; + const double t213 = piecewise_functor_3( t110, 0.0, t199 ); + const double t217 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t213 * t115 ); + const double t218 = piecewise_functor_3( t89, t209, t217 ); + const double t221 = t151 * t195 - t88 * t218 + 0.1174e1 * t218; + const double t226 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t227 = t226 * t226; + const double t228 = t227 * t227; + const double t230 = t228 * t226 * t18; + const double t231 = 0.1e1 / t30; + const double t232 = t231 * t122; + const double t234 = 0.1e1 / t133 / t132; + const double t236 = t230 * t232 * t234; + const double t238 = t126 * t128 * t137; + const double t242 = piecewise_functor_3( t3, 0.0, -t19 * t143 * t122 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t221 * t138 - 0.16891736332904387511e1 * t236 * t238 ); + const double t245 = t28 * t33; + const double t246 = t245 * t26; + const double t248 = sigma * t27; + const double t252 = 0.1e1 / t170; + const double t261 = t60 * t28; + const double t262 = t261 * t33; + const double t263 = t262 * t184; + const double t265 = t187 * t28; + const double t267 = t25 * t78; + const double t269 = t265 * t33 * t21 * t267; + const double t271 = 0.7e1 / 0.1296e5 * t61 * t257 * t33 + t263 / 0.144e4 - t269 / 0.144e4; + const double t274 = 0.5e1 / 0.972e3 * t246 + t44 * t248 * t56 / 0.144e3 - 0.9e1 / 0.64e3 * t168 * t45 * t252 * t55 + 0.2e1 * t81 * t271; + const double t275 = t274 * t119; + const double t277 = 0.5e1 / 0.72e2 * t246; + const double t278 = piecewise_functor_3( t95, -t277, 0.0 ); + const double t279 = c1 * t278; + const double t281 = t204 * t278; + const double t283 = -t279 * t99 - t97 * t281; + const double t284 = t283 * t101; + const double t285 = piecewise_functor_3( t94, 0.0, t284 ); + const double t286 = piecewise_functor_3( t110, 0.0, -t277 ); + const double t290 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t286 * t115 ); + const double t291 = piecewise_functor_3( t89, t285, t290 ); + const double t294 = t151 * t275 - t88 * t291 + 0.1174e1 * t291; + const double t299 = 0.1e1 / rho; + const double t300 = t299 * t122; + const double t302 = t230 * t300 * t234; + const double t303 = 0.1e1 / t127; + const double t306 = t126 * t303 * t27 * t137; + const double t310 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t294 * t138 + 0.63344011248391453166e0 * t302 * t306 ); + const double t312 = t261 * t67; + const double t318 = t265 * t67 * t21 * t267 / 0.18e3 - t312 * t184 / 0.18e3; + const double t319 = t81 * t318; + const double t323 = t28 * t67; + const double t325 = 0.5e1 / 0.9e1 * t323 * t26; + const double t326 = piecewise_functor_3( t95, t325, 0.0 ); + const double t327 = c1 * t326; + const double t331 = -t97 * t204 * t326 - t327 * t99; + const double t332 = t331 * t101; + const double t333 = piecewise_functor_3( t94, 0.0, t332 ); + const double t334 = piecewise_functor_3( t110, 0.0, t325 ); + const double t338 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t334 * t115 ); + const double t339 = piecewise_functor_3( t89, t333, t338 ); + const double t342 = 0.2e1 * t151 * t319 * t119 - t88 * t339 + 0.1174e1 * t339; + const double t347 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t342 * t138 ); + const double t358 = 0.1e1 / t152; + const double t359 = t358 * t122; + const double t361 = t230 * t359 * t234; + const double t366 = t148 / t149 / t83; + const double t367 = t194 * t194; + const double t368 = t367 * t119; + const double t372 = 0.1e1 / t31 / t47; + const double t373 = t29 * t372; + const double t376 = t47 * t152; + const double t378 = 0.1e1 / t20 / t376; + const double t379 = t378 * t55; + const double t383 = t170 * t30; + const double t384 = 0.1e1 / t383; + const double t391 = t45 * t45; + const double t392 = t170 * t47; + const double t394 = 0.1e1 / t31 / t392; + const double t397 = t28 * t55; + const double t398 = t26 * t397; + const double t401 = t191 * t191; + const double t408 = 0.4e2 / 0.9e1 * t65 * t154 - 0.11e2 / 0.9e1 * t373; + const double t409 = t60 * t408; + const double t412 = t182 * t182; + const double t415 = t43 * t74; + const double t416 = t415 * t78; + const double t422 = t76 * t74; + const double t423 = t60 * t422; + const double t426 = t425 * t78; + const double t429 = 0.77e2 / 0.1458e5 * t62 * t373 - t409 * t184 / 0.18e3 - t60 * t412 * t40 * t416 / 0.108e3 + t187 * t408 * t184 / 0.18e3 + t423 * t412 * t426 / 0.324e3; + const double t432 = 0.11e3 / 0.2187e4 * t26 * t373 + 0.19e2 / 0.162e3 * t44 * t46 * t379 - 0.43e2 / 0.8e2 * t168 * t169 * t384 * t55 + 0.27e2 / 0.8e3 * t390 * t391 * t394 * t398 + 0.2e1 * t401 + 0.2e1 * t81 * t429; + const double t435 = t194 * t218; + const double t440 = 0.5e1 / 0.9e1 * t408 * t21 * t25; + const double t441 = piecewise_functor_3( t95, t440, 0.0 ); + const double t442 = c1 * t441; + const double t444 = t200 * t200; + const double t449 = 0.1e1 / t203 / t98; + const double t450 = t449 * t444; + const double t453 = t204 * t441; + const double t455 = -0.2e1 * c1 * t444 * t204 - t442 * t99 - 0.2e1 * t97 * t450 - t97 * t453; + const double t456 = t455 * t101; + const double t457 = t207 * t207; + const double t458 = t457 * t101; + const double t460 = piecewise_functor_3( t94, 0.0, t456 + t458 ); + const double t461 = t211 * t112; + const double t462 = 0.1e1 / t461; + const double t463 = t213 * t213; + const double t468 = piecewise_functor_3( t110, 0.0, t440 ); + const double t474 = t211 * t211; + const double t475 = 0.1e1 / t474; + const double t480 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t468 * t115 - 0.2e1 * t210 * t462 * t463 * t115 - t473 * t475 * t463 * t115 ); + const double t481 = piecewise_functor_3( t89, t460, t480 ); + const double t484 = -0.2e1 * t366 * t368 + t151 * t432 * t119 - 0.2e1 * t151 * t435 - t88 * t481 + 0.1174e1 * t481; + const double t491 = t230 * t231 * t221 * t234; + const double t495 = 0.1e1 / t20 / t47; + const double t496 = t495 * t122; + const double t499 = 0.1e1 / t133 / t35 / 0.6e1; + const double t501 = t230 * t496 * t499; + const double t503 = t26 * t29 * t137; + const double t506 = t4 * t18; + const double t507 = 0.1e1 / t20; + const double t509 = t506 * t507 * t122; + const double t511 = t257 * t137; + const double t512 = t303 * t21 * t511; + const double t516 = piecewise_functor_3( t3, 0.0, t19 * t67 * t122 * t138 / 0.12e2 - t19 * t143 * t221 * t138 / 0.4e1 + 0.28152893888173979185e1 * t361 * t238 - 0.3e1 / 0.8e1 * t19 * t20 * t484 * t138 - 0.33783472665808775022e1 * t491 * t238 - 0.20270083599485265013e2 * t501 * t503 + 0.27496264583922508251e2 * t509 * t512 ); + const double t523 = t275 * t194; + const double t526 = t28 * t154; + const double t527 = t526 * t26; + const double t536 = t170 * t152; + const double t538 = 0.1e1 / t31 / t536; + const double t548 = t261 * t154; + const double t549 = t548 * t184; + const double t552 = t261 * t33 * t40; + const double t553 = t182 * t78; + const double t554 = t415 * t553; + const double t555 = t552 * t554; + const double t559 = t265 * t154 * t21 * t267; + const double t561 = t423 * t245; + const double t562 = t425 * t553; + const double t563 = t561 * t562; + const double t565 = -0.7e1 / 0.486e4 * t61 * t257 * t154 - t549 / 0.54e3 + t555 / 0.864e3 + t559 / 0.54e3 - t563 / 0.2592e4; + const double t568 = -0.1e2 / 0.729e3 * t527 - t44 * t248 * t161 / 0.27e2 + 0.3e1 / 0.16e2 * t168 * t45 * t172 * t55 - 0.81e2 / 0.64e4 * t390 * t169 * t538 * t398 + 0.2e1 * t191 * t271 + 0.2e1 * t81 * t565; + const double t569 = t568 * t119; + const double t571 = t274 * t218; + const double t573 = t194 * t291; + const double t575 = 0.5e1 / 0.27e2 * t527; + const double t576 = piecewise_functor_3( t95, t575, 0.0 ); + const double t577 = c1 * t576; + const double t581 = t449 * t278; + const double t582 = t581 * t200; + const double t585 = t204 * t576; + const double t587 = -0.2e1 * t279 * t205 - t577 * t99 - 0.2e1 * t97 * t582 - t97 * t585; + const double t588 = t587 * t101; + const double t589 = t283 * t207; + const double t592 = piecewise_functor_3( t94, 0.0, t589 * t101 + t588 ); + const double t593 = t210 * t462; + const double t594 = t286 * t115; + const double t595 = t594 * t213; + const double t598 = piecewise_functor_3( t110, 0.0, t575 ); + const double t602 = t473 * t475; + const double t605 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t598 * t115 - 0.2e1 * t593 * t595 - t602 * t595 ); + const double t606 = piecewise_functor_3( t89, t592, t605 ); + const double t609 = -0.2e1 * t366 * t523 + t151 * t569 - t151 * t571 - t151 * t573 - t88 * t606 + 0.1174e1 * t606; + const double t616 = t230 * t231 * t294 * t234; + const double t623 = t230 * t299 * t221 * t234; + const double t627 = 0.1e1 / t20 / t152; + const double t628 = t627 * t122; + const double t631 = t499 * t21 * t511; + const double t635 = t506 * t31 * t122; + const double t636 = t127 * sigma; + const double t637 = 0.1e1 / t636; + const double t639 = t637 * t21 * t511; + const double t643 = piecewise_functor_3( t3, 0.0, -t19 * t143 * t294 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t609 * t138 - 0.16891736332904387511e1 * t616 * t238 - 0.63344011248391453166e0 * t236 * t306 + 0.63344011248391453166e0 * t623 * t306 + 0.76012813498069743799e1 * t230 * t628 * t631 - 0.10311099218970940594e2 * t635 * t639 ); + const double t650 = t366 * t81; + const double t651 = t318 * t119; + const double t652 = t651 * t194; + const double t655 = t191 * t318; + const double t661 = t261 * t67 * t40; + const double t665 = t423 * t323; + const double t668 = t263 / 0.108e3 - t661 * t554 / 0.108e3 - t269 / 0.108e3 + t665 * t562 / 0.324e3; + const double t669 = t81 * t668; + const double t676 = t194 * t339; + const double t678 = 0.25e2 / 0.27e2 * t246; + const double t679 = piecewise_functor_3( t95, -t678, 0.0 ); + const double t680 = c1 * t679; + const double t684 = t449 * t326; + const double t688 = t204 * t679; + const double t690 = -0.2e1 * t97 * t684 * t200 - 0.2e1 * t327 * t205 - t680 * t99 - t97 * t688; + const double t691 = t690 * t101; + const double t692 = t331 * t207; + const double t695 = piecewise_functor_3( t94, 0.0, t692 * t101 + t691 ); + const double t696 = t334 * t115; + const double t697 = t696 * t213; + const double t700 = piecewise_functor_3( t110, 0.0, -t678 ); + const double t706 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t700 * t115 - 0.2e1 * t593 * t697 - t602 * t697 ); + const double t707 = piecewise_functor_3( t89, t695, t706 ); + const double t710 = -0.4e1 * t650 * t652 + 0.2e1 * t151 * t655 * t119 + 0.2e1 * t151 * t669 * t119 - 0.2e1 * t151 * t319 * t218 - t151 * t676 - t88 * t707 + 0.1174e1 * t707; + const double t717 = t230 * t231 * t342 * t234; + const double t721 = piecewise_functor_3( t3, 0.0, -t19 * t143 * t342 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t710 * t138 - 0.16891736332904387511e1 * t717 * t238 ); + const double t724 = t274 * t274; + const double t725 = t724 * t119; + const double t728 = t27 * t50; + const double t737 = 0.1e1 / t31 / t383; + const double t742 = t271 * t271; + const double t744 = t60 * t27; + const double t745 = t744 * t50; + const double t747 = t425 * t74 * t78; + const double t748 = t745 * t747; + const double t750 = t423 * t27; + const double t752 = t43 * t78; + const double t754 = t750 * t50 * t40 * t752; + const double t756 = -t748 / 0.3456e4 + t754 / 0.10368e5; + const double t759 = t44 * t728 * t55 / 0.144e3 - 0.9e1 / 0.16e3 * t168 * sigma * t252 * t55 + 0.243e3 / 0.512e5 * t390 * t45 * t737 * t398 + 0.2e1 * t742 + 0.2e1 * t81 * t756; + const double t760 = t759 * t119; + const double t762 = t274 * t291; + const double t765 = piecewise_functor_3( t95, 0.0, 0.0 ); + const double t766 = c1 * t765; + const double t767 = t766 * t99; + const double t768 = t278 * t278; + const double t769 = c1 * t768; + const double t772 = t449 * t768; + const double t775 = t204 * t765; + const double t776 = t97 * t775; + const double t777 = -0.2e1 * t769 * t204 - 0.2e1 * t97 * t772 - t767 - t776; + const double t779 = t283 * t283; + const double t780 = t779 * t101; + const double t782 = piecewise_functor_3( t94, 0.0, t777 * t101 + t780 ); + const double t783 = t286 * t286; + const double t788 = piecewise_functor_3( t110, 0.0, 0.0 ); + const double t791 = t210 * t212 * t788 * t115; + const double t796 = piecewise_functor_3( t110, 0.0, -0.2e1 * t210 * t462 * t783 * t115 - t473 * t475 * t783 * t115 - t791 ); + const double t797 = piecewise_functor_3( t89, t782, t796 ); + const double t800 = -0.2e1 * t366 * t725 + t151 * t760 - 0.2e1 * t151 * t762 - t88 * t797 + 0.1174e1 * t797; + const double t807 = t230 * t299 * t294 * t234; + const double t811 = 0.1e1 / t20 / t30; + const double t812 = t811 * t122; + const double t814 = t230 * t812 * t499; + const double t815 = 0.1e1 / sigma; + const double t818 = t26 * t815 * t28 * t137; + const double t823 = t126 * t637 * t27 * t137; + const double t827 = t506 * t66 * t122; + const double t829 = 0.1e1 / t127 / t45; + const double t831 = t829 * t21 * t511; + const double t835 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t800 * t138 + 0.12668802249678290633e1 * t807 * t306 - 0.28504805061776153925e1 * t814 * t818 - 0.31672005624195726583e0 * t302 * t823 + 0.38666622071141027229e1 * t827 * t831 ); + const double t837 = t651 * t274; + const double t840 = t271 * t318; + const double t844 = t744 * t495; + const double t845 = t844 * t747; + const double t849 = t750 * t495 * t40 * t752; + const double t851 = t845 / 0.432e3 - t849 / 0.1296e4; + const double t852 = t81 * t851; + const double t859 = t274 * t339; + const double t866 = -0.2e1 * t97 * t684 * t278 - 0.2e1 * t327 * t281 - t767 - t776; + const double t867 = t866 * t101; + const double t868 = t331 * t283; + const double t871 = piecewise_functor_3( t94, 0.0, t868 * t101 + t867 ); + const double t872 = t696 * t286; + const double t877 = piecewise_functor_3( t110, 0.0, -0.2e1 * t593 * t872 - t602 * t872 - t791 ); + const double t878 = piecewise_functor_3( t89, t871, t877 ); + const double t881 = -0.4e1 * t650 * t837 + 0.2e1 * t151 * t840 * t119 + 0.2e1 * t151 * t852 * t119 - 0.2e1 * t151 * t319 * t291 - t151 * t859 - t88 * t878 + 0.1174e1 * t878; + const double t888 = t230 * t299 * t342 * t234; + const double t892 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t881 * t138 + 0.63344011248391453166e0 * t888 * t306 ); + const double t894 = t318 * t318; + const double t895 = t82 * t894; + const double t899 = t894 * t119; + const double t902 = t744 * t627; + const double t909 = -t902 * t747 / 0.54e2 + t750 * t627 * t40 * t752 / 0.162e3; + const double t910 = t81 * t909; + const double t917 = t326 * t326; + const double t918 = c1 * t917; + const double t924 = -0.2e1 * t97 * t449 * t917 - 0.2e1 * t918 * t204 - t767 - t776; + const double t926 = t331 * t331; + const double t927 = t926 * t101; + const double t929 = piecewise_functor_3( t94, 0.0, t924 * t101 + t927 ); + const double t930 = t334 * t334; + const double t939 = piecewise_functor_3( t110, 0.0, -0.2e1 * t210 * t462 * t930 * t115 - t473 * t475 * t930 * t115 - t791 ); + const double t940 = piecewise_functor_3( t89, t929, t939 ); + const double t943 = -0.8e1 * t366 * t895 * t119 + 0.2e1 * t151 * t899 + 0.2e1 * t151 * t910 * t119 - 0.4e1 * t151 * t319 * t339 - t88 * t940 + 0.1174e1 * t940; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t943 * t138 ); + + + v2rho2 = 0.2e1 * rho * t516 + 0.4e1 * t242; + v2rhosigma = 0.2e1 * rho * t643 + 0.2e1 * t310; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t721 + 0.2e1 * t347; + v2sigma2 = 0.2e1 * rho * t835; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t892; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t948; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t21 = constants::m_cbrt_6; + constexpr double t22 = constants::m_pi_sq; + constexpr double t23 = constants::m_cbrt_pi_sq; + constexpr double t27 = constants::m_cbrt_2; + constexpr double t24 = t23 * t23; + constexpr double t25 = 0.1e1 / t24; + constexpr double t26 = t21 * t25; + constexpr double t28 = t27 * t27; + constexpr double t39 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t40 = t21 * t21; + constexpr double t42 = t23 * t22; + constexpr double t43 = 0.1e1 / t42; + constexpr double t44 = t39 * t40 * t43; + constexpr double t125 = 0.1e1 / t23; + constexpr double t126 = t40 * t125; + constexpr double t148 = k1 * k1; + constexpr double t165 = t39 * t39; + constexpr double t166 = t22 * t22; + constexpr double t167 = 0.1e1 / t166; + constexpr double t168 = t165 * t167; + constexpr double t210 = d * c2; + constexpr double t257 = t25 * t28; + constexpr double t390 = t165 * t39 * t167; + constexpr double t425 = t40 * t43; + constexpr double t472 = c2 * c2; + constexpr double t473 = d * t472; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = t4 / t5 * t18; + const double t20 = safe_math::cbrt( rho ); + const double t29 = sigma * t28; + const double t30 = rho * rho; + const double t31 = t20 * t20; + const double t33 = 0.1e1 / t31 / t30; + const double t34 = t29 * t33; + const double t35 = t26 * t34; + const double t45 = sigma * sigma; + const double t46 = t45 * t27; + const double t47 = t30 * t30; + const double t48 = t47 * rho; + const double t50 = 0.1e1 / t20 / t48; + const double t55 = safe_math::exp( -0.27e2 / 0.8e2 * t39 * t21 * t25 * t34 ); + const double t56 = t50 * t55; + const double t60 = safe_math::sqrt( 0.146e3 ); + const double t61 = t60 * t21; + const double t62 = t61 * t25; + const double t65 = tau * t28; + const double t66 = t31 * rho; + const double t67 = 0.1e1 / t66; + const double t73 = 0.5e1 / 0.9e1 * ( t65 * t67 - t34 / 0.8e1 ) * t21 * t25; + const double t74 = 0.1e1 - t73; + const double t76 = t74 * t74; + const double t78 = safe_math::exp( -t76 / 0.2e1 ); + const double t81 = 0.7e1 / 0.1296e5 * t62 * t34 + t60 * t74 * t78 / 0.1e3; + const double t82 = t81 * t81; + const double t83 = k1 + 0.5e1 / 0.972e3 * t35 + t44 * t46 * t56 / 0.288e3 + t82; + const double t88 = 0.1e1 + k1 * ( 0.1e1 - k1 / t83 ); + const double t89 = t73 <= 0.1e1; + const double t90 = safe_math::log( DBL_EPSILON ); + const double t93 = t90 / ( -t90 + c1 ); + const double t94 = -t93 < t73; + const double t95 = t73 < -t93; + const double t96 = piecewise_functor_3( t95, t73, -t93 ); + const double t97 = c1 * t96; + const double t98 = 0.1e1 - t96; + const double t99 = 0.1e1 / t98; + const double t101 = safe_math::exp( -t97 * t99 ); + const double t102 = piecewise_functor_3( t94, 0.0, t101 ); + const double t103 = fabs( d ); + const double t106 = safe_math::log( DBL_EPSILON / t103 ); + const double t109 = ( -t106 + c2 ) / t106; + const double t110 = t73 < -t109; + const double t111 = piecewise_functor_3( t110, -t109, t73 ); + const double t112 = 0.1e1 - t111; + const double t115 = safe_math::exp( c2 / t112 ); + const double t117 = piecewise_functor_3( t110, 0.0, -d * t115 ); + const double t118 = piecewise_functor_3( t89, t102, t117 ); + const double t119 = 0.1e1 - t118; + const double t122 = t88 * t119 + 0.1174e1 * t118; + const double t124 = safe_math::sqrt( 0.3e1 ); + const double t127 = safe_math::sqrt( sigma ); + const double t128 = t127 * t27; + const double t130 = 0.1e1 / t20 / rho; + const double t132 = t126 * t128 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t137 = safe_math::exp( -0.98958e1 * t124 / t133 ); + const double t138 = 0.1e1 - t137; + const double t142 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t122 * t138 ); + const double t143 = 0.1e1 / t31; + const double t149 = t83 * t83; + const double t151 = t148 / t149; + const double t152 = t30 * rho; + const double t154 = 0.1e1 / t31 / t152; + const double t155 = t29 * t154; + const double t158 = t47 * t30; + const double t160 = 0.1e1 / t20 / t158; + const double t161 = t160 * t55; + const double t169 = t45 * sigma; + const double t170 = t47 * t47; + const double t171 = t170 * rho; + const double t172 = 0.1e1 / t171; + const double t182 = -0.5e1 / 0.3e1 * t65 * t33 + t155 / 0.3e1; + const double t184 = t26 * t78; + const double t187 = t60 * t76; + const double t191 = -0.7e1 / 0.486e4 * t62 * t155 - t60 * t182 * t184 / 0.18e3 + t187 * t182 * t184 / 0.18e3; + const double t194 = -0.1e2 / 0.729e3 * t26 * t155 - t44 * t46 * t161 / 0.54e2 + 0.3e1 / 0.8e2 * t168 * t169 * t172 * t55 + 0.2e1 * t81 * t191; + const double t195 = t194 * t119; + const double t197 = t182 * t21; + const double t199 = 0.5e1 / 0.9e1 * t197 * t25; + const double t200 = piecewise_functor_3( t95, t199, 0.0 ); + const double t203 = t98 * t98; + const double t204 = 0.1e1 / t203; + const double t205 = t204 * t200; + const double t207 = -c1 * t200 * t99 - t97 * t205; + const double t208 = t207 * t101; + const double t209 = piecewise_functor_3( t94, 0.0, t208 ); + const double t211 = t112 * t112; + const double t212 = 0.1e1 / t211; + const double t213 = piecewise_functor_3( t110, 0.0, t199 ); + const double t217 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t213 * t115 ); + const double t218 = piecewise_functor_3( t89, t209, t217 ); + const double t221 = t151 * t195 - t88 * t218 + 0.1174e1 * t218; + const double t226 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t227 = t226 * t226; + const double t228 = t227 * t227; + const double t230 = t228 * t226 * t18; + const double t231 = 0.1e1 / t30; + const double t232 = t231 * t122; + const double t234 = 0.1e1 / t133 / t132; + const double t236 = t230 * t232 * t234; + const double t238 = t126 * t128 * t137; + const double t242 = piecewise_functor_3( t3, 0.0, -t19 * t143 * t122 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t221 * t138 - 0.16891736332904387511e1 * t236 * t238 ); + const double t245 = t28 * t33; + const double t246 = t245 * t26; + const double t248 = sigma * t27; + const double t252 = 0.1e1 / t170; + const double t261 = t60 * t28; + const double t262 = t261 * t33; + const double t263 = t262 * t184; + const double t265 = t187 * t28; + const double t267 = t25 * t78; + const double t269 = t265 * t33 * t21 * t267; + const double t271 = 0.7e1 / 0.1296e5 * t61 * t257 * t33 + t263 / 0.144e4 - t269 / 0.144e4; + const double t274 = 0.5e1 / 0.972e3 * t246 + t44 * t248 * t56 / 0.144e3 - 0.9e1 / 0.64e3 * t168 * t45 * t252 * t55 + 0.2e1 * t81 * t271; + const double t275 = t274 * t119; + const double t277 = 0.5e1 / 0.72e2 * t246; + const double t278 = piecewise_functor_3( t95, -t277, 0.0 ); + const double t279 = c1 * t278; + const double t281 = t204 * t278; + const double t283 = -t279 * t99 - t97 * t281; + const double t284 = t283 * t101; + const double t285 = piecewise_functor_3( t94, 0.0, t284 ); + const double t286 = piecewise_functor_3( t110, 0.0, -t277 ); + const double t290 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t286 * t115 ); + const double t291 = piecewise_functor_3( t89, t285, t290 ); + const double t294 = t151 * t275 - t88 * t291 + 0.1174e1 * t291; + const double t299 = 0.1e1 / rho; + const double t300 = t299 * t122; + const double t302 = t230 * t300 * t234; + const double t303 = 0.1e1 / t127; + const double t306 = t126 * t303 * t27 * t137; + const double t310 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t294 * t138 + 0.63344011248391453166e0 * t302 * t306 ); + const double t312 = t261 * t67; + const double t318 = t265 * t67 * t21 * t267 / 0.18e3 - t312 * t184 / 0.18e3; + const double t319 = t81 * t318; + const double t323 = t28 * t67; + const double t325 = 0.5e1 / 0.9e1 * t323 * t26; + const double t326 = piecewise_functor_3( t95, t325, 0.0 ); + const double t327 = c1 * t326; + const double t331 = -t97 * t204 * t326 - t327 * t99; + const double t332 = t331 * t101; + const double t333 = piecewise_functor_3( t94, 0.0, t332 ); + const double t334 = piecewise_functor_3( t110, 0.0, t325 ); + const double t338 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t334 * t115 ); + const double t339 = piecewise_functor_3( t89, t333, t338 ); + const double t342 = 0.2e1 * t151 * t319 * t119 - t88 * t339 + 0.1174e1 * t339; + const double t347 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t342 * t138 ); + const double t358 = 0.1e1 / t152; + const double t359 = t358 * t122; + const double t361 = t230 * t359 * t234; + const double t366 = t148 / t149 / t83; + const double t367 = t194 * t194; + const double t368 = t367 * t119; + const double t372 = 0.1e1 / t31 / t47; + const double t373 = t29 * t372; + const double t376 = t47 * t152; + const double t378 = 0.1e1 / t20 / t376; + const double t379 = t378 * t55; + const double t383 = t170 * t30; + const double t384 = 0.1e1 / t383; + const double t391 = t45 * t45; + const double t392 = t170 * t47; + const double t394 = 0.1e1 / t31 / t392; + const double t397 = t28 * t55; + const double t398 = t26 * t397; + const double t401 = t191 * t191; + const double t408 = 0.4e2 / 0.9e1 * t65 * t154 - 0.11e2 / 0.9e1 * t373; + const double t409 = t60 * t408; + const double t412 = t182 * t182; + const double t415 = t43 * t74; + const double t416 = t415 * t78; + const double t422 = t76 * t74; + const double t423 = t60 * t422; + const double t426 = t425 * t78; + const double t429 = 0.77e2 / 0.1458e5 * t62 * t373 - t409 * t184 / 0.18e3 - t60 * t412 * t40 * t416 / 0.108e3 + t187 * t408 * t184 / 0.18e3 + t423 * t412 * t426 / 0.324e3; + const double t432 = 0.11e3 / 0.2187e4 * t26 * t373 + 0.19e2 / 0.162e3 * t44 * t46 * t379 - 0.43e2 / 0.8e2 * t168 * t169 * t384 * t55 + 0.27e2 / 0.8e3 * t390 * t391 * t394 * t398 + 0.2e1 * t401 + 0.2e1 * t81 * t429; + const double t435 = t194 * t218; + const double t440 = 0.5e1 / 0.9e1 * t408 * t21 * t25; + const double t441 = piecewise_functor_3( t95, t440, 0.0 ); + const double t442 = c1 * t441; + const double t444 = t200 * t200; + const double t449 = 0.1e1 / t203 / t98; + const double t450 = t449 * t444; + const double t453 = t204 * t441; + const double t455 = -0.2e1 * c1 * t444 * t204 - t442 * t99 - 0.2e1 * t97 * t450 - t97 * t453; + const double t456 = t455 * t101; + const double t457 = t207 * t207; + const double t458 = t457 * t101; + const double t460 = piecewise_functor_3( t94, 0.0, t456 + t458 ); + const double t461 = t211 * t112; + const double t462 = 0.1e1 / t461; + const double t463 = t213 * t213; + const double t468 = piecewise_functor_3( t110, 0.0, t440 ); + const double t474 = t211 * t211; + const double t475 = 0.1e1 / t474; + const double t480 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t468 * t115 - 0.2e1 * t210 * t462 * t463 * t115 - t473 * t475 * t463 * t115 ); + const double t481 = piecewise_functor_3( t89, t460, t480 ); + const double t484 = -0.2e1 * t366 * t368 + t151 * t432 * t119 - 0.2e1 * t151 * t435 - t88 * t481 + 0.1174e1 * t481; + const double t491 = t230 * t231 * t221 * t234; + const double t495 = 0.1e1 / t20 / t47; + const double t496 = t495 * t122; + const double t499 = 0.1e1 / t133 / t35 / 0.6e1; + const double t501 = t230 * t496 * t499; + const double t503 = t26 * t29 * t137; + const double t506 = t4 * t18; + const double t507 = 0.1e1 / t20; + const double t509 = t506 * t507 * t122; + const double t511 = t257 * t137; + const double t512 = t303 * t21 * t511; + const double t516 = piecewise_functor_3( t3, 0.0, t19 * t67 * t122 * t138 / 0.12e2 - t19 * t143 * t221 * t138 / 0.4e1 + 0.28152893888173979185e1 * t361 * t238 - 0.3e1 / 0.8e1 * t19 * t20 * t484 * t138 - 0.33783472665808775022e1 * t491 * t238 - 0.20270083599485265013e2 * t501 * t503 + 0.27496264583922508251e2 * t509 * t512 ); + const double t523 = t275 * t194; + const double t526 = t28 * t154; + const double t527 = t526 * t26; + const double t536 = t170 * t152; + const double t538 = 0.1e1 / t31 / t536; + const double t548 = t261 * t154; + const double t549 = t548 * t184; + const double t552 = t261 * t33 * t40; + const double t553 = t182 * t78; + const double t554 = t415 * t553; + const double t555 = t552 * t554; + const double t559 = t265 * t154 * t21 * t267; + const double t561 = t423 * t245; + const double t562 = t425 * t553; + const double t563 = t561 * t562; + const double t565 = -0.7e1 / 0.486e4 * t61 * t257 * t154 - t549 / 0.54e3 + t555 / 0.864e3 + t559 / 0.54e3 - t563 / 0.2592e4; + const double t568 = -0.1e2 / 0.729e3 * t527 - t44 * t248 * t161 / 0.27e2 + 0.3e1 / 0.16e2 * t168 * t45 * t172 * t55 - 0.81e2 / 0.64e4 * t390 * t169 * t538 * t398 + 0.2e1 * t191 * t271 + 0.2e1 * t81 * t565; + const double t569 = t568 * t119; + const double t571 = t274 * t218; + const double t573 = t194 * t291; + const double t575 = 0.5e1 / 0.27e2 * t527; + const double t576 = piecewise_functor_3( t95, t575, 0.0 ); + const double t577 = c1 * t576; + const double t581 = t449 * t278; + const double t582 = t581 * t200; + const double t585 = t204 * t576; + const double t587 = -0.2e1 * t279 * t205 - t577 * t99 - 0.2e1 * t97 * t582 - t97 * t585; + const double t588 = t587 * t101; + const double t589 = t283 * t207; + const double t592 = piecewise_functor_3( t94, 0.0, t589 * t101 + t588 ); + const double t593 = t210 * t462; + const double t594 = t286 * t115; + const double t595 = t594 * t213; + const double t598 = piecewise_functor_3( t110, 0.0, t575 ); + const double t602 = t473 * t475; + const double t605 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t598 * t115 - 0.2e1 * t593 * t595 - t602 * t595 ); + const double t606 = piecewise_functor_3( t89, t592, t605 ); + const double t609 = -0.2e1 * t366 * t523 + t151 * t569 - t151 * t571 - t151 * t573 - t88 * t606 + 0.1174e1 * t606; + const double t616 = t230 * t231 * t294 * t234; + const double t623 = t230 * t299 * t221 * t234; + const double t627 = 0.1e1 / t20 / t152; + const double t628 = t627 * t122; + const double t631 = t499 * t21 * t511; + const double t635 = t506 * t31 * t122; + const double t636 = t127 * sigma; + const double t637 = 0.1e1 / t636; + const double t639 = t637 * t21 * t511; + const double t643 = piecewise_functor_3( t3, 0.0, -t19 * t143 * t294 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t609 * t138 - 0.16891736332904387511e1 * t616 * t238 - 0.63344011248391453166e0 * t236 * t306 + 0.63344011248391453166e0 * t623 * t306 + 0.76012813498069743799e1 * t230 * t628 * t631 - 0.10311099218970940594e2 * t635 * t639 ); + const double t650 = t366 * t81; + const double t651 = t318 * t119; + const double t652 = t651 * t194; + const double t655 = t191 * t318; + const double t661 = t261 * t67 * t40; + const double t665 = t423 * t323; + const double t668 = t263 / 0.108e3 - t661 * t554 / 0.108e3 - t269 / 0.108e3 + t665 * t562 / 0.324e3; + const double t669 = t81 * t668; + const double t676 = t194 * t339; + const double t678 = 0.25e2 / 0.27e2 * t246; + const double t679 = piecewise_functor_3( t95, -t678, 0.0 ); + const double t680 = c1 * t679; + const double t684 = t449 * t326; + const double t688 = t204 * t679; + const double t690 = -0.2e1 * t97 * t684 * t200 - 0.2e1 * t327 * t205 - t680 * t99 - t97 * t688; + const double t691 = t690 * t101; + const double t692 = t331 * t207; + const double t695 = piecewise_functor_3( t94, 0.0, t692 * t101 + t691 ); + const double t696 = t334 * t115; + const double t697 = t696 * t213; + const double t700 = piecewise_functor_3( t110, 0.0, -t678 ); + const double t706 = piecewise_functor_3( t110, 0.0, -t210 * t212 * t700 * t115 - 0.2e1 * t593 * t697 - t602 * t697 ); + const double t707 = piecewise_functor_3( t89, t695, t706 ); + const double t710 = -0.4e1 * t650 * t652 + 0.2e1 * t151 * t655 * t119 + 0.2e1 * t151 * t669 * t119 - 0.2e1 * t151 * t319 * t218 - t151 * t676 - t88 * t707 + 0.1174e1 * t707; + const double t717 = t230 * t231 * t342 * t234; + const double t721 = piecewise_functor_3( t3, 0.0, -t19 * t143 * t342 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t19 * t20 * t710 * t138 - 0.16891736332904387511e1 * t717 * t238 ); + const double t724 = t274 * t274; + const double t725 = t724 * t119; + const double t728 = t27 * t50; + const double t737 = 0.1e1 / t31 / t383; + const double t742 = t271 * t271; + const double t744 = t60 * t27; + const double t745 = t744 * t50; + const double t747 = t425 * t74 * t78; + const double t748 = t745 * t747; + const double t750 = t423 * t27; + const double t752 = t43 * t78; + const double t754 = t750 * t50 * t40 * t752; + const double t756 = -t748 / 0.3456e4 + t754 / 0.10368e5; + const double t759 = t44 * t728 * t55 / 0.144e3 - 0.9e1 / 0.16e3 * t168 * sigma * t252 * t55 + 0.243e3 / 0.512e5 * t390 * t45 * t737 * t398 + 0.2e1 * t742 + 0.2e1 * t81 * t756; + const double t760 = t759 * t119; + const double t762 = t274 * t291; + const double t765 = piecewise_functor_3( t95, 0.0, 0.0 ); + const double t766 = c1 * t765; + const double t767 = t766 * t99; + const double t768 = t278 * t278; + const double t769 = c1 * t768; + const double t772 = t449 * t768; + const double t775 = t204 * t765; + const double t776 = t97 * t775; + const double t777 = -0.2e1 * t769 * t204 - 0.2e1 * t97 * t772 - t767 - t776; + const double t779 = t283 * t283; + const double t780 = t779 * t101; + const double t782 = piecewise_functor_3( t94, 0.0, t777 * t101 + t780 ); + const double t783 = t286 * t286; + const double t788 = piecewise_functor_3( t110, 0.0, 0.0 ); + const double t791 = t210 * t212 * t788 * t115; + const double t796 = piecewise_functor_3( t110, 0.0, -0.2e1 * t210 * t462 * t783 * t115 - t473 * t475 * t783 * t115 - t791 ); + const double t797 = piecewise_functor_3( t89, t782, t796 ); + const double t800 = -0.2e1 * t366 * t725 + t151 * t760 - 0.2e1 * t151 * t762 - t88 * t797 + 0.1174e1 * t797; + const double t807 = t230 * t299 * t294 * t234; + const double t811 = 0.1e1 / t20 / t30; + const double t812 = t811 * t122; + const double t814 = t230 * t812 * t499; + const double t815 = 0.1e1 / sigma; + const double t818 = t26 * t815 * t28 * t137; + const double t823 = t126 * t637 * t27 * t137; + const double t827 = t506 * t66 * t122; + const double t829 = 0.1e1 / t127 / t45; + const double t831 = t829 * t21 * t511; + const double t835 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t800 * t138 + 0.12668802249678290633e1 * t807 * t306 - 0.28504805061776153925e1 * t814 * t818 - 0.31672005624195726583e0 * t302 * t823 + 0.38666622071141027229e1 * t827 * t831 ); + const double t837 = t651 * t274; + const double t840 = t271 * t318; + const double t844 = t744 * t495; + const double t845 = t844 * t747; + const double t849 = t750 * t495 * t40 * t752; + const double t851 = t845 / 0.432e3 - t849 / 0.1296e4; + const double t852 = t81 * t851; + const double t859 = t274 * t339; + const double t866 = -0.2e1 * t97 * t684 * t278 - 0.2e1 * t327 * t281 - t767 - t776; + const double t867 = t866 * t101; + const double t868 = t331 * t283; + const double t871 = piecewise_functor_3( t94, 0.0, t868 * t101 + t867 ); + const double t872 = t696 * t286; + const double t877 = piecewise_functor_3( t110, 0.0, -0.2e1 * t593 * t872 - t602 * t872 - t791 ); + const double t878 = piecewise_functor_3( t89, t871, t877 ); + const double t881 = -0.4e1 * t650 * t837 + 0.2e1 * t151 * t840 * t119 + 0.2e1 * t151 * t852 * t119 - 0.2e1 * t151 * t319 * t291 - t151 * t859 - t88 * t878 + 0.1174e1 * t878; + const double t888 = t230 * t299 * t342 * t234; + const double t892 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t881 * t138 + 0.63344011248391453166e0 * t888 * t306 ); + const double t894 = t318 * t318; + const double t895 = t82 * t894; + const double t899 = t894 * t119; + const double t902 = t744 * t627; + const double t909 = -t902 * t747 / 0.54e2 + t750 * t627 * t40 * t752 / 0.162e3; + const double t910 = t81 * t909; + const double t917 = t326 * t326; + const double t918 = c1 * t917; + const double t924 = -0.2e1 * t97 * t449 * t917 - 0.2e1 * t918 * t204 - t767 - t776; + const double t926 = t331 * t331; + const double t927 = t926 * t101; + const double t929 = piecewise_functor_3( t94, 0.0, t924 * t101 + t927 ); + const double t930 = t334 * t334; + const double t939 = piecewise_functor_3( t110, 0.0, -0.2e1 * t210 * t462 * t930 * t115 - t473 * t475 * t930 * t115 - t791 ); + const double t940 = piecewise_functor_3( t89, t929, t939 ); + const double t943 = -0.8e1 * t366 * t895 * t119 + 0.2e1 * t151 * t899 + 0.2e1 * t151 * t910 * t119 - 0.4e1 * t151 * t319 * t339 - t88 * t940 + 0.1174e1 * t940; + const double t948 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t19 * t20 * t943 * t138 ); + + + vrho = 0.2e1 * rho * t242 + 0.2e1 * t142; + vsigma = 0.2e1 * rho * t310; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t347; + v2rho2 = 0.2e1 * rho * t516 + 0.4e1 * t242; + v2rhosigma = 0.2e1 * rho * t643 + 0.2e1 * t310; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t721 + 0.2e1 * t347; + v2sigma2 = 0.2e1 * rho * t835; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t892; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t948; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t45 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t46 = t29 * t29; + constexpr double t47 = t45 * t46; + constexpr double t48 = t31 * t30; + constexpr double t49 = 0.1e1 / t48; + constexpr double t50 = t47 * t49; + constexpr double t57 = t45 * t29; + constexpr double t129 = 0.1e1 / t31; + constexpr double t130 = t46 * t129; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t38 = t37 * t35; + const double t39 = 0.1e1 / t38; + const double t40 = sigma_aa * t39; + const double t41 = t34 * t40; + const double t51 = sigma_aa * sigma_aa; + const double t52 = t35 * t35; + const double t53 = t52 * rho_a; + const double t55 = 0.1e1 / t36 / t53; + const double t56 = t51 * t55; + const double t58 = t33 * sigma_aa; + const double t59 = t58 * t39; + const double t62 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t59 ); + const double t66 = safe_math::sqrt( 0.146e3 ); + const double t67 = t66 * t29; + const double t70 = t37 * rho_a; + const double t71 = 0.1e1 / t70; + const double t77 = 0.5e1 / 0.9e1 * ( tau_a * t71 - t40 / 0.8e1 ) * t29 * t33; + const double t78 = 0.1e1 - t77; + const double t80 = t78 * t78; + const double t82 = safe_math::exp( -t80 / 0.2e1 ); + const double t85 = 0.7e1 / 0.1296e5 * t67 * t59 + t66 * t78 * t82 / 0.1e3; + const double t86 = t85 * t85; + const double t87 = k1 + 0.5e1 / 0.972e3 * t41 + t50 * t56 * t62 / 0.576e3 + t86; + const double t92 = 0.1e1 + k1 * ( 0.1e1 - k1 / t87 ); + const double t93 = t77 <= 0.1e1; + const double t94 = safe_math::log( DBL_EPSILON ); + const double t97 = t94 / ( -t94 + c1 ); + const double t98 = -t97 < t77; + const double t99 = t77 < -t97; + const double t100 = piecewise_functor_3( t99, t77, -t97 ); + const double t101 = c1 * t100; + const double t102 = 0.1e1 - t100; + const double t103 = 0.1e1 / t102; + const double t105 = safe_math::exp( -t101 * t103 ); + const double t106 = piecewise_functor_3( t98, 0.0, t105 ); + const double t107 = fabs( d ); + const double t110 = safe_math::log( DBL_EPSILON / t107 ); + const double t113 = ( -t110 + c2 ) / t110; + const double t114 = t77 < -t113; + const double t115 = piecewise_functor_3( t114, -t113, t77 ); + const double t116 = 0.1e1 - t115; + const double t119 = safe_math::exp( c2 / t116 ); + const double t121 = piecewise_functor_3( t114, 0.0, -d * t119 ); + const double t122 = piecewise_functor_3( t93, t106, t121 ); + const double t123 = 0.1e1 - t122; + const double t126 = t92 * t123 + 0.1174e1 * t122; + const double t127 = t28 * t126; + const double t128 = safe_math::sqrt( 0.3e1 ); + const double t131 = safe_math::sqrt( sigma_aa ); + const double t132 = t36 * rho_a; + const double t133 = 0.1e1 / t132; + const double t135 = t130 * t131 * t133; + const double t136 = safe_math::sqrt( t135 ); + const double t140 = safe_math::exp( -0.98958e1 * t128 / t136 ); + const double t141 = 0.1e1 - t140; + const double t142 = t127 * t141; + const double t145 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t142 ); + const double t146 = rho_b <= dens_tol; + const double t147 = -t17; + const double t149 = piecewise_functor_5( t15, t12, t11, t16, t147 * t8 ); + const double t150 = 0.1e1 + t149; + const double t151 = t150 <= zeta_tol; + const double t152 = safe_math::cbrt( t150 ); + const double t154 = piecewise_functor_3( t151, t23, t152 * t150 ); + const double t155 = t6 * t154; + const double t156 = rho_b * rho_b; + const double t157 = safe_math::cbrt( rho_b ); + const double t158 = t157 * t157; + const double t159 = t158 * t156; + const double t160 = 0.1e1 / t159; + const double t161 = sigma_bb * t160; + const double t162 = t34 * t161; + const double t164 = sigma_bb * sigma_bb; + const double t165 = t156 * t156; + const double t166 = t165 * rho_b; + const double t168 = 0.1e1 / t157 / t166; + const double t169 = t164 * t168; + const double t170 = t33 * sigma_bb; + const double t171 = t170 * t160; + const double t174 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t171 ); + const double t180 = t158 * rho_b; + const double t181 = 0.1e1 / t180; + const double t187 = 0.5e1 / 0.9e1 * ( tau_b * t181 - t161 / 0.8e1 ) * t29 * t33; + const double t188 = 0.1e1 - t187; + const double t190 = t188 * t188; + const double t192 = safe_math::exp( -t190 / 0.2e1 ); + const double t195 = 0.7e1 / 0.1296e5 * t67 * t171 + t66 * t188 * t192 / 0.1e3; + const double t196 = t195 * t195; + const double t197 = k1 + 0.5e1 / 0.972e3 * t162 + t50 * t169 * t174 / 0.576e3 + t196; + const double t202 = 0.1e1 + k1 * ( 0.1e1 - k1 / t197 ); + const double t203 = t187 <= 0.1e1; + const double t204 = -t97 < t187; + const double t205 = t187 < -t97; + const double t206 = piecewise_functor_3( t205, t187, -t97 ); + const double t207 = c1 * t206; + const double t208 = 0.1e1 - t206; + const double t209 = 0.1e1 / t208; + const double t211 = safe_math::exp( -t207 * t209 ); + const double t212 = piecewise_functor_3( t204, 0.0, t211 ); + const double t213 = t187 < -t113; + const double t214 = piecewise_functor_3( t213, -t113, t187 ); + const double t215 = 0.1e1 - t214; + const double t218 = safe_math::exp( c2 / t215 ); + const double t220 = piecewise_functor_3( t213, 0.0, -d * t218 ); + const double t221 = piecewise_functor_3( t203, t212, t220 ); + const double t222 = 0.1e1 - t221; + const double t225 = t202 * t222 + 0.1174e1 * t221; + const double t226 = t28 * t225; + const double t227 = safe_math::sqrt( sigma_bb ); + const double t228 = t157 * rho_b; + const double t229 = 0.1e1 / t228; + const double t231 = t130 * t227 * t229; + const double t232 = safe_math::sqrt( t231 ); + const double t236 = safe_math::exp( -0.98958e1 * t128 / t232 ); + const double t237 = 0.1e1 - t236; + const double t238 = t226 * t237; + const double t241 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t238 ); + + + eps = t145 + t241; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t29 = constants::m_cbrt_6; + constexpr double t30 = constants::m_pi_sq; + constexpr double t31 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t32 = t31 * t31; + constexpr double t33 = 0.1e1 / t32; + constexpr double t34 = t29 * t33; + constexpr double t45 = 0.1e3 / 0.6561e4 / k1 - 0.73e2 / 0.648e3; + constexpr double t46 = t29 * t29; + constexpr double t47 = t45 * t46; + constexpr double t48 = t31 * t30; + constexpr double t49 = 0.1e1 / t48; + constexpr double t50 = t47 * t49; + constexpr double t57 = t45 * t29; + constexpr double t129 = 0.1e1 / t31; + constexpr double t130 = t46 * t129; + constexpr double t259 = k1 * k1; + constexpr double t276 = t45 * t45; + constexpr double t277 = t30 * t30; + constexpr double t278 = 0.1e1 / t277; + constexpr double t279 = t276 * t278; + constexpr double t322 = d * c2; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = t6 * t26; + const double t28 = safe_math::cbrt( t7 ); + const double t35 = rho_a * rho_a; + const double t36 = safe_math::cbrt( rho_a ); + const double t37 = t36 * t36; + const double t38 = t37 * t35; + const double t39 = 0.1e1 / t38; + const double t40 = sigma_aa * t39; + const double t41 = t34 * t40; + const double t51 = sigma_aa * sigma_aa; + const double t52 = t35 * t35; + const double t53 = t52 * rho_a; + const double t55 = 0.1e1 / t36 / t53; + const double t56 = t51 * t55; + const double t58 = t33 * sigma_aa; + const double t59 = t58 * t39; + const double t62 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t59 ); + const double t66 = safe_math::sqrt( 0.146e3 ); + const double t67 = t66 * t29; + const double t70 = t37 * rho_a; + const double t71 = 0.1e1 / t70; + const double t77 = 0.5e1 / 0.9e1 * ( tau_a * t71 - t40 / 0.8e1 ) * t29 * t33; + const double t78 = 0.1e1 - t77; + const double t80 = t78 * t78; + const double t82 = safe_math::exp( -t80 / 0.2e1 ); + const double t85 = 0.7e1 / 0.1296e5 * t67 * t59 + t66 * t78 * t82 / 0.1e3; + const double t86 = t85 * t85; + const double t87 = k1 + 0.5e1 / 0.972e3 * t41 + t50 * t56 * t62 / 0.576e3 + t86; + const double t92 = 0.1e1 + k1 * ( 0.1e1 - k1 / t87 ); + const double t93 = t77 <= 0.1e1; + const double t94 = safe_math::log( DBL_EPSILON ); + const double t97 = t94 / ( -t94 + c1 ); + const double t98 = -t97 < t77; + const double t99 = t77 < -t97; + const double t100 = piecewise_functor_3( t99, t77, -t97 ); + const double t101 = c1 * t100; + const double t102 = 0.1e1 - t100; + const double t103 = 0.1e1 / t102; + const double t105 = safe_math::exp( -t101 * t103 ); + const double t106 = piecewise_functor_3( t98, 0.0, t105 ); + const double t107 = fabs( d ); + const double t110 = safe_math::log( DBL_EPSILON / t107 ); + const double t113 = ( -t110 + c2 ) / t110; + const double t114 = t77 < -t113; + const double t115 = piecewise_functor_3( t114, -t113, t77 ); + const double t116 = 0.1e1 - t115; + const double t119 = safe_math::exp( c2 / t116 ); + const double t121 = piecewise_functor_3( t114, 0.0, -d * t119 ); + const double t122 = piecewise_functor_3( t93, t106, t121 ); + const double t123 = 0.1e1 - t122; + const double t126 = t92 * t123 + 0.1174e1 * t122; + const double t127 = t28 * t126; + const double t128 = safe_math::sqrt( 0.3e1 ); + const double t131 = safe_math::sqrt( sigma_aa ); + const double t132 = t36 * rho_a; + const double t133 = 0.1e1 / t132; + const double t135 = t130 * t131 * t133; + const double t136 = safe_math::sqrt( t135 ); + const double t140 = safe_math::exp( -0.98958e1 * t128 / t136 ); + const double t141 = 0.1e1 - t140; + const double t142 = t127 * t141; + const double t145 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t142 ); + const double t146 = rho_b <= dens_tol; + const double t147 = -t17; + const double t149 = piecewise_functor_5( t15, t12, t11, t16, t147 * t8 ); + const double t150 = 0.1e1 + t149; + const double t151 = t150 <= zeta_tol; + const double t152 = safe_math::cbrt( t150 ); + const double t154 = piecewise_functor_3( t151, t23, t152 * t150 ); + const double t155 = t6 * t154; + const double t156 = rho_b * rho_b; + const double t157 = safe_math::cbrt( rho_b ); + const double t158 = t157 * t157; + const double t159 = t158 * t156; + const double t160 = 0.1e1 / t159; + const double t161 = sigma_bb * t160; + const double t162 = t34 * t161; + const double t164 = sigma_bb * sigma_bb; + const double t165 = t156 * t156; + const double t166 = t165 * rho_b; + const double t168 = 0.1e1 / t157 / t166; + const double t169 = t164 * t168; + const double t170 = t33 * sigma_bb; + const double t171 = t170 * t160; + const double t174 = safe_math::exp( -0.27e2 / 0.8e2 * t57 * t171 ); + const double t180 = t158 * rho_b; + const double t181 = 0.1e1 / t180; + const double t187 = 0.5e1 / 0.9e1 * ( tau_b * t181 - t161 / 0.8e1 ) * t29 * t33; + const double t188 = 0.1e1 - t187; + const double t190 = t188 * t188; + const double t192 = safe_math::exp( -t190 / 0.2e1 ); + const double t195 = 0.7e1 / 0.1296e5 * t67 * t171 + t66 * t188 * t192 / 0.1e3; + const double t196 = t195 * t195; + const double t197 = k1 + 0.5e1 / 0.972e3 * t162 + t50 * t169 * t174 / 0.576e3 + t196; + const double t202 = 0.1e1 + k1 * ( 0.1e1 - k1 / t197 ); + const double t203 = t187 <= 0.1e1; + const double t204 = -t97 < t187; + const double t205 = t187 < -t97; + const double t206 = piecewise_functor_3( t205, t187, -t97 ); + const double t207 = c1 * t206; + const double t208 = 0.1e1 - t206; + const double t209 = 0.1e1 / t208; + const double t211 = safe_math::exp( -t207 * t209 ); + const double t212 = piecewise_functor_3( t204, 0.0, t211 ); + const double t213 = t187 < -t113; + const double t214 = piecewise_functor_3( t213, -t113, t187 ); + const double t215 = 0.1e1 - t214; + const double t218 = safe_math::exp( c2 / t215 ); + const double t220 = piecewise_functor_3( t213, 0.0, -d * t218 ); + const double t221 = piecewise_functor_3( t203, t212, t220 ); + const double t222 = 0.1e1 - t221; + const double t225 = t202 * t222 + 0.1174e1 * t221; + const double t226 = t28 * t225; + const double t227 = safe_math::sqrt( sigma_bb ); + const double t228 = t157 * rho_b; + const double t229 = 0.1e1 / t228; + const double t231 = t130 * t227 * t229; + const double t232 = safe_math::sqrt( t231 ); + const double t236 = safe_math::exp( -0.98958e1 * t128 / t232 ); + const double t237 = 0.1e1 - t236; + const double t238 = t226 * t237; + const double t241 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t238 ); + const double t242 = t7 * t7; + const double t243 = 0.1e1 / t242; + const double t244 = t17 * t243; + const double t246 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t244 ); + const double t249 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t246 ); + const double t250 = t6 * t249; + const double t253 = t28 * t28; + const double t254 = 0.1e1 / t253; + const double t255 = t254 * t126; + const double t256 = t255 * t141; + const double t258 = t27 * t256 / 0.8e1; + const double t260 = t87 * t87; + const double t262 = t259 / t260; + const double t263 = t35 * rho_a; + const double t265 = 0.1e1 / t37 / t263; + const double t266 = sigma_aa * t265; + const double t269 = t52 * t35; + const double t271 = 0.1e1 / t36 / t269; + const double t280 = t51 * sigma_aa; + const double t281 = t52 * t52; + const double t282 = t281 * rho_a; + const double t283 = 0.1e1 / t282; + const double t294 = -0.5e1 / 0.3e1 * tau_a * t39 + t266 / 0.3e1; + const double t296 = t34 * t82; + const double t299 = t66 * t80; + const double t303 = -0.7e1 / 0.486e4 * t67 * t58 * t265 - t66 * t294 * t296 / 0.18e3 + t299 * t294 * t296 / 0.18e3; + const double t306 = -0.1e2 / 0.729e3 * t34 * t266 - t50 * t51 * t271 * t62 / 0.108e3 + 0.3e1 / 0.32e3 * t279 * t280 * t283 * t62 + 0.2e1 * t85 * t303; + const double t307 = t306 * t123; + const double t309 = t294 * t29; + const double t311 = 0.5e1 / 0.9e1 * t309 * t33; + const double t312 = piecewise_functor_3( t99, t311, 0.0 ); + const double t315 = t102 * t102; + const double t316 = 0.1e1 / t315; + const double t317 = t316 * t312; + const double t319 = -c1 * t312 * t103 - t101 * t317; + const double t320 = t319 * t105; + const double t321 = piecewise_functor_3( t98, 0.0, t320 ); + const double t323 = t116 * t116; + const double t324 = 0.1e1 / t323; + const double t325 = piecewise_functor_3( t114, 0.0, t311 ); + const double t329 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t325 * t119 ); + const double t330 = piecewise_functor_3( t93, t321, t329 ); + const double t333 = t262 * t307 - t92 * t330 + 0.1174e1 * t330; + const double t334 = t28 * t333; + const double t335 = t334 * t141; + const double t338 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t339 = t338 * t338; + const double t340 = t339 * t339; + const double t341 = t340 * t338; + const double t342 = t341 * t26; + const double t344 = 0.1e1 / t136 / t135; + const double t345 = t127 * t344; + const double t346 = t342 * t345; + const double t348 = 0.1e1 / t36 / t35; + const double t351 = t130 * t131 * t348 * t140; + const double t355 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t250 * t142 - t258 - 0.3e1 / 0.8e1 * t27 * t335 - 0.16891736332904387511e1 * t346 * t351 ); + const double t356 = t147 * t243; + const double t358 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t356 ); + const double t361 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t358 ); + const double t362 = t6 * t361; + const double t365 = t254 * t225; + const double t366 = t365 * t237; + const double t368 = t155 * t366 / 0.8e1; + const double t370 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t362 * t238 - t368 ); + const double t374 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t244 ); + const double t377 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t374 ); + const double t378 = t6 * t377; + const double t382 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t378 * t142 - t258 ); + const double t384 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t356 ); + const double t387 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t384 ); + const double t388 = t6 * t387; + const double t391 = t197 * t197; + const double t393 = t259 / t391; + const double t394 = t156 * rho_b; + const double t396 = 0.1e1 / t158 / t394; + const double t397 = sigma_bb * t396; + const double t400 = t165 * t156; + const double t402 = 0.1e1 / t157 / t400; + const double t407 = t164 * sigma_bb; + const double t408 = t165 * t165; + const double t409 = t408 * rho_b; + const double t410 = 0.1e1 / t409; + const double t421 = -0.5e1 / 0.3e1 * tau_b * t160 + t397 / 0.3e1; + const double t423 = t34 * t192; + const double t426 = t66 * t190; + const double t430 = -0.7e1 / 0.486e4 * t67 * t170 * t396 - t66 * t421 * t423 / 0.18e3 + t426 * t421 * t423 / 0.18e3; + const double t433 = -0.1e2 / 0.729e3 * t34 * t397 - t50 * t164 * t402 * t174 / 0.108e3 + 0.3e1 / 0.32e3 * t279 * t407 * t410 * t174 + 0.2e1 * t195 * t430; + const double t434 = t433 * t222; + const double t436 = t421 * t29; + const double t438 = 0.5e1 / 0.9e1 * t436 * t33; + const double t439 = piecewise_functor_3( t205, t438, 0.0 ); + const double t442 = t208 * t208; + const double t443 = 0.1e1 / t442; + const double t444 = t443 * t439; + const double t446 = -c1 * t439 * t209 - t207 * t444; + const double t447 = t446 * t211; + const double t448 = piecewise_functor_3( t204, 0.0, t447 ); + const double t449 = t215 * t215; + const double t450 = 0.1e1 / t449; + const double t451 = piecewise_functor_3( t213, 0.0, t438 ); + const double t455 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t451 * t218 ); + const double t456 = piecewise_functor_3( t203, t448, t455 ); + const double t459 = t393 * t434 - t202 * t456 + 0.1174e1 * t456; + const double t460 = t28 * t459; + const double t461 = t460 * t237; + const double t464 = t341 * t154; + const double t466 = 0.1e1 / t232 / t231; + const double t467 = t226 * t466; + const double t468 = t464 * t467; + const double t470 = 0.1e1 / t157 / t156; + const double t473 = t130 * t227 * t470 * t236; + const double t477 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t388 * t238 - t368 - 0.3e1 / 0.8e1 * t155 * t461 - 0.16891736332904387511e1 * t468 * t473 ); + const double t481 = t39 * t29 * t33; + const double t487 = 0.1e1 / t281; + const double t495 = t66 * t39; + const double t496 = t495 * t296; + const double t499 = t299 * t39 * t296; + const double t501 = 0.7e1 / 0.1296e5 * t67 * t33 * t39 + t496 / 0.144e4 - t499 / 0.144e4; + const double t504 = 0.5e1 / 0.972e3 * t481 + t50 * sigma_aa * t55 * t62 / 0.288e3 - 0.9e1 / 0.256e4 * t279 * t51 * t487 * t62 + 0.2e1 * t85 * t501; + const double t505 = t504 * t123; + const double t507 = 0.5e1 / 0.72e2 * t481; + const double t508 = piecewise_functor_3( t99, -t507, 0.0 ); + const double t509 = c1 * t508; + const double t511 = t316 * t508; + const double t513 = -t101 * t511 - t509 * t103; + const double t514 = t513 * t105; + const double t515 = piecewise_functor_3( t98, 0.0, t514 ); + const double t516 = piecewise_functor_3( t114, 0.0, -t507 ); + const double t520 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t516 * t119 ); + const double t521 = piecewise_functor_3( t93, t515, t520 ); + const double t524 = t262 * t505 - t92 * t521 + 0.1174e1 * t521; + const double t525 = t28 * t524; + const double t526 = t525 * t141; + const double t529 = 0.1e1 / t131; + const double t532 = t130 * t529 * t133 * t140; + const double t536 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t526 + 0.63344011248391453166e0 * t346 * t532 ); + const double t538 = t160 * t29 * t33; + const double t544 = 0.1e1 / t408; + const double t552 = t66 * t160; + const double t553 = t552 * t423; + const double t556 = t426 * t160 * t423; + const double t558 = 0.7e1 / 0.1296e5 * t67 * t33 * t160 + t553 / 0.144e4 - t556 / 0.144e4; + const double t561 = 0.5e1 / 0.972e3 * t538 + t50 * sigma_bb * t168 * t174 / 0.288e3 - 0.9e1 / 0.256e4 * t279 * t164 * t544 * t174 + 0.2e1 * t195 * t558; + const double t562 = t561 * t222; + const double t564 = 0.5e1 / 0.72e2 * t538; + const double t565 = piecewise_functor_3( t205, -t564, 0.0 ); + const double t566 = c1 * t565; + const double t568 = t443 * t565; + const double t570 = -t207 * t568 - t566 * t209; + const double t571 = t570 * t211; + const double t572 = piecewise_functor_3( t204, 0.0, t571 ); + const double t573 = piecewise_functor_3( t213, 0.0, -t564 ); + const double t577 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t573 * t218 ); + const double t578 = piecewise_functor_3( t203, t572, t577 ); + const double t581 = t393 * t562 - t202 * t578 + 0.1174e1 * t578; + const double t582 = t28 * t581; + const double t583 = t582 * t237; + const double t586 = 0.1e1 / t227; + const double t589 = t130 * t586 * t229 * t236; + const double t593 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t583 + 0.63344011248391453166e0 * t468 * t589 ); + const double t594 = t66 * t71; + const double t599 = t299 * t71 * t296 / 0.18e3 - t594 * t296 / 0.18e3; + const double t600 = t85 * t599; + const double t606 = 0.5e1 / 0.9e1 * t71 * t29 * t33; + const double t607 = piecewise_functor_3( t99, t606, 0.0 ); + const double t608 = c1 * t607; + const double t612 = -t101 * t316 * t607 - t608 * t103; + const double t613 = t612 * t105; + const double t614 = piecewise_functor_3( t98, 0.0, t613 ); + const double t615 = piecewise_functor_3( t114, 0.0, t606 ); + const double t619 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t615 * t119 ); + const double t620 = piecewise_functor_3( t93, t614, t619 ); + const double t623 = 0.2e1 * t262 * t600 * t123 - t92 * t620 + 0.1174e1 * t620; + const double t624 = t28 * t623; + const double t625 = t624 * t141; + const double t628 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t625 ); + const double t629 = t66 * t181; + const double t634 = t426 * t181 * t423 / 0.18e3 - t629 * t423 / 0.18e3; + const double t635 = t195 * t634; + const double t641 = 0.5e1 / 0.9e1 * t181 * t29 * t33; + const double t642 = piecewise_functor_3( t205, t641, 0.0 ); + const double t643 = c1 * t642; + const double t647 = -t207 * t443 * t642 - t643 * t209; + const double t648 = t647 * t211; + const double t649 = piecewise_functor_3( t204, 0.0, t648 ); + const double t650 = piecewise_functor_3( t213, 0.0, t641 ); + const double t654 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t650 * t218 ); + const double t655 = piecewise_functor_3( t203, t649, t654 ); + const double t658 = 0.2e1 * t393 * t635 * t222 - t202 * t655 + 0.1174e1 * t655; + const double t659 = t28 * t658; + const double t660 = t659 * t237; + const double t663 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t660 ); + + + eps = t145 + t241; + vrho_a = t145 + t241 + t7 * ( t355 + t370 ); + vrho_b = t145 + t241 + t7 * ( t382 + t477 ); + vsigma_aa = t7 * t536; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t593; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t628; + vtau_b = t7 * t663; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t29 = constants::m_cbrt_6; @@ -357,6 +1797,16 @@ struct kernel_traits< BuiltinSCAN_X > : constexpr double t57 = t45 * t29; constexpr double t129 = 0.1e1 / t31; constexpr double t130 = t46 * t129; + constexpr double t259 = k1 * k1; + constexpr double t276 = t45 * t45; + constexpr double t277 = t30 * t30; + constexpr double t278 = 0.1e1 / t277; + constexpr double t279 = t276 * t278; + constexpr double t322 = d * c2; + constexpr double t732 = t276 * t45 * t278; + constexpr double t768 = t46 * t49; + constexpr double t815 = c2 * c2; + constexpr double t816 = d * t815; const double t2 = rho_a <= dens_tol; @@ -435,7 +1885,6 @@ struct kernel_traits< BuiltinSCAN_X > : const double t140 = safe_math::exp( -0.98958e1 * t128 / t136 ); const double t141 = 0.1e1 - t140; const double t142 = t127 * t141; - const double t145 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t142 ); const double t146 = rho_b <= dens_tol; const double t147 = -t17; const double t149 = piecewise_functor_5( t15, t12, t11, t16, t147 * t8 ); @@ -495,20 +1944,771 @@ struct kernel_traits< BuiltinSCAN_X > : const double t236 = safe_math::exp( -0.98958e1 * t128 / t232 ); const double t237 = 0.1e1 - t236; const double t238 = t226 * t237; - const double t241 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t238 ); + const double t242 = t7 * t7; + const double t243 = 0.1e1 / t242; + const double t244 = t17 * t243; + const double t246 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t244 ); + const double t249 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t246 ); + const double t250 = t6 * t249; + const double t253 = t28 * t28; + const double t254 = 0.1e1 / t253; + const double t255 = t254 * t126; + const double t256 = t255 * t141; + const double t258 = t27 * t256 / 0.8e1; + const double t260 = t87 * t87; + const double t262 = t259 / t260; + const double t263 = t35 * rho_a; + const double t265 = 0.1e1 / t37 / t263; + const double t266 = sigma_aa * t265; + const double t269 = t52 * t35; + const double t271 = 0.1e1 / t36 / t269; + const double t280 = t51 * sigma_aa; + const double t281 = t52 * t52; + const double t282 = t281 * rho_a; + const double t283 = 0.1e1 / t282; + const double t294 = -0.5e1 / 0.3e1 * tau_a * t39 + t266 / 0.3e1; + const double t296 = t34 * t82; + const double t299 = t66 * t80; + const double t303 = -0.7e1 / 0.486e4 * t67 * t58 * t265 - t66 * t294 * t296 / 0.18e3 + t299 * t294 * t296 / 0.18e3; + const double t306 = -0.1e2 / 0.729e3 * t34 * t266 - t50 * t51 * t271 * t62 / 0.108e3 + 0.3e1 / 0.32e3 * t279 * t280 * t283 * t62 + 0.2e1 * t85 * t303; + const double t307 = t306 * t123; + const double t309 = t294 * t29; + const double t311 = 0.5e1 / 0.9e1 * t309 * t33; + const double t312 = piecewise_functor_3( t99, t311, 0.0 ); + const double t315 = t102 * t102; + const double t316 = 0.1e1 / t315; + const double t317 = t316 * t312; + const double t319 = -c1 * t312 * t103 - t101 * t317; + const double t320 = t319 * t105; + const double t321 = piecewise_functor_3( t98, 0.0, t320 ); + const double t323 = t116 * t116; + const double t324 = 0.1e1 / t323; + const double t325 = piecewise_functor_3( t114, 0.0, t311 ); + const double t329 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t325 * t119 ); + const double t330 = piecewise_functor_3( t93, t321, t329 ); + const double t333 = t262 * t307 - t92 * t330 + 0.1174e1 * t330; + const double t334 = t28 * t333; + const double t335 = t334 * t141; + const double t338 = safe_math::pow( 0.3e1, 0.1e1 / 0.6e1 ); + const double t339 = t338 * t338; + const double t340 = t339 * t339; + const double t341 = t340 * t338; + const double t342 = t341 * t26; + const double t344 = 0.1e1 / t136 / t135; + const double t345 = t127 * t344; + const double t346 = t342 * t345; + const double t348 = 0.1e1 / t36 / t35; + const double t351 = t130 * t131 * t348 * t140; + const double t355 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t250 * t142 - t258 - 0.3e1 / 0.8e1 * t27 * t335 - 0.16891736332904387511e1 * t346 * t351 ); + const double t356 = t147 * t243; + const double t358 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t356 ); + const double t361 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t358 ); + const double t362 = t6 * t361; + const double t365 = t254 * t225; + const double t366 = t365 * t237; + const double t368 = t155 * t366 / 0.8e1; + const double t370 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t362 * t238 - t368 ); + const double t374 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t244 ); + const double t377 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t374 ); + const double t378 = t6 * t377; + const double t382 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t378 * t142 - t258 ); + const double t384 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t356 ); + const double t387 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t152 * t384 ); + const double t388 = t6 * t387; + const double t391 = t197 * t197; + const double t393 = t259 / t391; + const double t394 = t156 * rho_b; + const double t396 = 0.1e1 / t158 / t394; + const double t397 = sigma_bb * t396; + const double t400 = t165 * t156; + const double t402 = 0.1e1 / t157 / t400; + const double t407 = t164 * sigma_bb; + const double t408 = t165 * t165; + const double t409 = t408 * rho_b; + const double t410 = 0.1e1 / t409; + const double t421 = -0.5e1 / 0.3e1 * tau_b * t160 + t397 / 0.3e1; + const double t423 = t34 * t192; + const double t426 = t66 * t190; + const double t430 = -0.7e1 / 0.486e4 * t67 * t170 * t396 - t66 * t421 * t423 / 0.18e3 + t426 * t421 * t423 / 0.18e3; + const double t433 = -0.1e2 / 0.729e3 * t34 * t397 - t50 * t164 * t402 * t174 / 0.108e3 + 0.3e1 / 0.32e3 * t279 * t407 * t410 * t174 + 0.2e1 * t195 * t430; + const double t434 = t433 * t222; + const double t436 = t421 * t29; + const double t438 = 0.5e1 / 0.9e1 * t436 * t33; + const double t439 = piecewise_functor_3( t205, t438, 0.0 ); + const double t442 = t208 * t208; + const double t443 = 0.1e1 / t442; + const double t444 = t443 * t439; + const double t446 = -c1 * t439 * t209 - t207 * t444; + const double t447 = t446 * t211; + const double t448 = piecewise_functor_3( t204, 0.0, t447 ); + const double t449 = t215 * t215; + const double t450 = 0.1e1 / t449; + const double t451 = piecewise_functor_3( t213, 0.0, t438 ); + const double t455 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t451 * t218 ); + const double t456 = piecewise_functor_3( t203, t448, t455 ); + const double t459 = t393 * t434 - t202 * t456 + 0.1174e1 * t456; + const double t460 = t28 * t459; + const double t461 = t460 * t237; + const double t464 = t341 * t154; + const double t466 = 0.1e1 / t232 / t231; + const double t467 = t226 * t466; + const double t468 = t464 * t467; + const double t470 = 0.1e1 / t157 / t156; + const double t473 = t130 * t227 * t470 * t236; + const double t477 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t388 * t238 - t368 - 0.3e1 / 0.8e1 * t155 * t461 - 0.16891736332904387511e1 * t468 * t473 ); + const double t481 = t39 * t29 * t33; + const double t487 = 0.1e1 / t281; + const double t495 = t66 * t39; + const double t496 = t495 * t296; + const double t499 = t299 * t39 * t296; + const double t501 = 0.7e1 / 0.1296e5 * t67 * t33 * t39 + t496 / 0.144e4 - t499 / 0.144e4; + const double t504 = 0.5e1 / 0.972e3 * t481 + t50 * sigma_aa * t55 * t62 / 0.288e3 - 0.9e1 / 0.256e4 * t279 * t51 * t487 * t62 + 0.2e1 * t85 * t501; + const double t505 = t504 * t123; + const double t507 = 0.5e1 / 0.72e2 * t481; + const double t508 = piecewise_functor_3( t99, -t507, 0.0 ); + const double t509 = c1 * t508; + const double t511 = t316 * t508; + const double t513 = -t101 * t511 - t509 * t103; + const double t514 = t513 * t105; + const double t515 = piecewise_functor_3( t98, 0.0, t514 ); + const double t516 = piecewise_functor_3( t114, 0.0, -t507 ); + const double t520 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t516 * t119 ); + const double t521 = piecewise_functor_3( t93, t515, t520 ); + const double t524 = t262 * t505 - t92 * t521 + 0.1174e1 * t521; + const double t525 = t28 * t524; + const double t526 = t525 * t141; + const double t529 = 0.1e1 / t131; + const double t532 = t130 * t529 * t133 * t140; + const double t536 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t526 + 0.63344011248391453166e0 * t346 * t532 ); + const double t538 = t160 * t29 * t33; + const double t544 = 0.1e1 / t408; + const double t552 = t66 * t160; + const double t553 = t552 * t423; + const double t556 = t426 * t160 * t423; + const double t558 = 0.7e1 / 0.1296e5 * t67 * t33 * t160 + t553 / 0.144e4 - t556 / 0.144e4; + const double t561 = 0.5e1 / 0.972e3 * t538 + t50 * sigma_bb * t168 * t174 / 0.288e3 - 0.9e1 / 0.256e4 * t279 * t164 * t544 * t174 + 0.2e1 * t195 * t558; + const double t562 = t561 * t222; + const double t564 = 0.5e1 / 0.72e2 * t538; + const double t565 = piecewise_functor_3( t205, -t564, 0.0 ); + const double t566 = c1 * t565; + const double t568 = t443 * t565; + const double t570 = -t207 * t568 - t566 * t209; + const double t571 = t570 * t211; + const double t572 = piecewise_functor_3( t204, 0.0, t571 ); + const double t573 = piecewise_functor_3( t213, 0.0, -t564 ); + const double t577 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t573 * t218 ); + const double t578 = piecewise_functor_3( t203, t572, t577 ); + const double t581 = t393 * t562 - t202 * t578 + 0.1174e1 * t578; + const double t582 = t28 * t581; + const double t583 = t582 * t237; + const double t586 = 0.1e1 / t227; + const double t589 = t130 * t586 * t229 * t236; + const double t593 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t583 + 0.63344011248391453166e0 * t468 * t589 ); + const double t594 = t66 * t71; + const double t599 = t299 * t71 * t296 / 0.18e3 - t594 * t296 / 0.18e3; + const double t600 = t85 * t599; + const double t606 = 0.5e1 / 0.9e1 * t71 * t29 * t33; + const double t607 = piecewise_functor_3( t99, t606, 0.0 ); + const double t608 = c1 * t607; + const double t612 = -t101 * t316 * t607 - t608 * t103; + const double t613 = t612 * t105; + const double t614 = piecewise_functor_3( t98, 0.0, t613 ); + const double t615 = piecewise_functor_3( t114, 0.0, t606 ); + const double t619 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t615 * t119 ); + const double t620 = piecewise_functor_3( t93, t614, t619 ); + const double t623 = 0.2e1 * t262 * t600 * t123 - t92 * t620 + 0.1174e1 * t620; + const double t624 = t28 * t623; + const double t625 = t624 * t141; + const double t628 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t625 ); + const double t629 = t66 * t181; + const double t634 = t426 * t181 * t423 / 0.18e3 - t629 * t423 / 0.18e3; + const double t635 = t195 * t634; + const double t641 = 0.5e1 / 0.9e1 * t181 * t29 * t33; + const double t642 = piecewise_functor_3( t205, t641, 0.0 ); + const double t643 = c1 * t642; + const double t647 = -t207 * t443 * t642 - t643 * t209; + const double t648 = t647 * t211; + const double t649 = piecewise_functor_3( t204, 0.0, t648 ); + const double t650 = piecewise_functor_3( t213, 0.0, t641 ); + const double t654 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t650 * t218 ); + const double t655 = piecewise_functor_3( t203, t649, t654 ); + const double t658 = 0.2e1 * t393 * t635 * t222 - t202 * t655 + 0.1174e1 * t655; + const double t659 = t28 * t658; + const double t660 = t659 * t237; + const double t663 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t660 ); + const double t666 = t24 * t24; + const double t667 = 0.1e1 / t666; + const double t668 = t246 * t246; + const double t671 = t242 * t7; + const double t672 = 0.1e1 / t671; + const double t673 = t17 * t672; + const double t676 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t243 + 0.2e1 * t673 ); + const double t680 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t667 * t668 + 0.4e1 / 0.3e1 * t24 * t676 ); + const double t681 = t6 * t680; + const double t684 = t250 * t256; + const double t688 = t341 * t249; + const double t689 = t688 * t345; + const double t693 = 0.1e1 / t253 / t7; + const double t694 = t693 * t126; + const double t695 = t694 * t141; + const double t697 = t27 * t695 / 0.12e2; + const double t698 = t254 * t333; + const double t699 = t698 * t141; + const double t700 = t27 * t699; + const double t702 = t255 * t344; + const double t703 = t342 * t702; + const double t704 = t703 * t351; + const double t708 = t259 / t260 / t87; + const double t709 = t306 * t306; + const double t710 = t709 * t123; + const double t714 = 0.1e1 / t37 / t52; + const double t715 = sigma_aa * t714; + const double t718 = t52 * t263; + const double t720 = 0.1e1 / t36 / t718; + const double t725 = t281 * t35; + const double t726 = 0.1e1 / t725; + const double t733 = t51 * t51; + const double t734 = t732 * t733; + const double t735 = t281 * t52; + const double t737 = 0.1e1 / t37 / t735; + const double t739 = t33 * t62; + const double t740 = t737 * t29 * t739; + const double t743 = t303 * t303; + const double t751 = 0.4e2 / 0.9e1 * tau_a * t265 - 0.11e2 / 0.9e1 * t715; + const double t752 = t66 * t751; + const double t755 = t294 * t294; + const double t758 = t49 * t78; + const double t759 = t758 * t82; + const double t765 = t80 * t78; + const double t766 = t66 * t765; + const double t769 = t768 * t82; + const double t772 = 0.77e2 / 0.1458e5 * t67 * t58 * t714 - t752 * t296 / 0.18e3 - t66 * t755 * t46 * t759 / 0.108e3 + t299 * t751 * t296 / 0.18e3 + t766 * t755 * t769 / 0.324e3; + const double t775 = 0.11e3 / 0.2187e4 * t34 * t715 + 0.19e2 / 0.324e3 * t50 * t51 * t720 * t62 - 0.43e2 / 0.32e3 * t279 * t280 * t726 * t62 + 0.27e2 / 0.32e4 * t734 * t740 + 0.2e1 * t743 + 0.2e1 * t85 * t772; + const double t778 = t306 * t330; + const double t783 = 0.5e1 / 0.9e1 * t751 * t29 * t33; + const double t784 = piecewise_functor_3( t99, t783, 0.0 ); + const double t785 = c1 * t784; + const double t787 = t312 * t312; + const double t792 = 0.1e1 / t315 / t102; + const double t793 = t792 * t787; + const double t796 = t316 * t784; + const double t798 = -0.2e1 * c1 * t787 * t316 - 0.2e1 * t101 * t793 - t101 * t796 - t785 * t103; + const double t799 = t798 * t105; + const double t800 = t319 * t319; + const double t801 = t800 * t105; + const double t803 = piecewise_functor_3( t98, 0.0, t799 + t801 ); + const double t804 = t323 * t116; + const double t805 = 0.1e1 / t804; + const double t806 = t325 * t325; + const double t811 = piecewise_functor_3( t114, 0.0, t783 ); + const double t817 = t323 * t323; + const double t818 = 0.1e1 / t817; + const double t823 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t811 * t119 - 0.2e1 * t322 * t805 * t806 * t119 - t816 * t818 * t806 * t119 ); + const double t824 = piecewise_functor_3( t93, t803, t823 ); + const double t827 = -0.2e1 * t708 * t710 + t262 * t775 * t123 - 0.2e1 * t262 * t778 - t92 * t824 + 0.1174e1 * t824; + const double t828 = t28 * t827; + const double t829 = t828 * t141; + const double t832 = t334 * t344; + const double t833 = t342 * t832; + const double t838 = 0.1e1 / t136 / t41 / 0.6e1; + const double t839 = t127 * t838; + const double t840 = t342 * t839; + const double t842 = t34 * t715 * t140; + const double t846 = 0.1e1 / t36 / t263; + const double t849 = t130 * t131 * t846 * t140; + const double t852 = t3 * t26; + const double t853 = t852 * t127; + const double t854 = 0.1e1 / t37; + const double t856 = t34 * t140; + const double t857 = t529 * t854 * t856; + const double t860 = -0.3e1 / 0.8e1 * t681 * t142 - t684 / 0.4e1 - 0.3e1 / 0.4e1 * t250 * t335 - 0.33783472665808775022e1 * t689 * t351 + t697 - t700 / 0.4e1 - 0.11261157555269591674e1 * t704 - 0.3e1 / 0.8e1 * t27 * t829 - 0.33783472665808775022e1 * t833 * t351 - 0.20270083599485265013e2 * t840 * t842 + 0.39414051443443570859e1 * t346 * t849 + 0.54992529167845016504e2 * t853 * t857; + const double t861 = piecewise_functor_3( t2, 0.0, t860 ); + const double t862 = t152 * t152; + const double t863 = 0.1e1 / t862; + const double t864 = t358 * t358; + const double t867 = t147 * t672; + const double t870 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t243 + 0.2e1 * t867 ); + const double t874 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t863 * t864 + 0.4e1 / 0.3e1 * t152 * t870 ); + const double t875 = t6 * t874; + const double t878 = t362 * t366; + const double t880 = t693 * t225; + const double t881 = t880 * t237; + const double t883 = t155 * t881 / 0.12e2; + const double t885 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t875 * t238 - t878 / 0.4e1 + t883 ); + const double t900 = t378 * t256; + const double t925 = t388 * t366; + const double t930 = t254 * t459; + const double t931 = t930 * t237; + const double t932 = t155 * t931; + const double t938 = t365 * t466; + const double t939 = t464 * t938; + const double t940 = t939 * t473; + const double t948 = t374 * t374; + const double t953 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t243 + 0.2e1 * t673 ); + const double t957 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t667 * t948 + 0.4e1 / 0.3e1 * t24 * t953 ); + const double t958 = t6 * t957; + const double t963 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t958 * t142 - t900 / 0.4e1 + t697 ); + const double t964 = t384 * t384; + const double t969 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t243 + 0.2e1 * t867 ); + const double t973 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t863 * t964 + 0.4e1 / 0.3e1 * t152 * t969 ); + const double t974 = t6 * t973; + const double t980 = t341 * t387; + const double t981 = t980 * t467; + const double t988 = t259 / t391 / t197; + const double t989 = t433 * t433; + const double t990 = t989 * t222; + const double t994 = 0.1e1 / t158 / t165; + const double t995 = sigma_bb * t994; + const double t998 = t165 * t394; + const double t1000 = 0.1e1 / t157 / t998; + const double t1005 = t408 * t156; + const double t1006 = 0.1e1 / t1005; + const double t1011 = t164 * t164; + const double t1012 = t732 * t1011; + const double t1013 = t408 * t165; + const double t1015 = 0.1e1 / t158 / t1013; + const double t1017 = t33 * t174; + const double t1018 = t1015 * t29 * t1017; + const double t1021 = t430 * t430; + const double t1029 = 0.4e2 / 0.9e1 * tau_b * t396 - 0.11e2 / 0.9e1 * t995; + const double t1030 = t66 * t1029; + const double t1033 = t421 * t421; + const double t1036 = t49 * t188; + const double t1037 = t1036 * t192; + const double t1043 = t190 * t188; + const double t1044 = t66 * t1043; + const double t1046 = t768 * t192; + const double t1049 = 0.77e2 / 0.1458e5 * t67 * t170 * t994 - t1030 * t423 / 0.18e3 - t66 * t1033 * t46 * t1037 / 0.108e3 + t426 * t1029 * t423 / 0.18e3 + t1044 * t1033 * t1046 / 0.324e3; + const double t1052 = 0.11e3 / 0.2187e4 * t34 * t995 + 0.19e2 / 0.324e3 * t50 * t164 * t1000 * t174 - 0.43e2 / 0.32e3 * t279 * t407 * t1006 * t174 + 0.27e2 / 0.32e4 * t1012 * t1018 + 0.2e1 * t1021 + 0.2e1 * t195 * t1049; + const double t1055 = t433 * t456; + const double t1060 = 0.5e1 / 0.9e1 * t1029 * t29 * t33; + const double t1061 = piecewise_functor_3( t205, t1060, 0.0 ); + const double t1062 = c1 * t1061; + const double t1064 = t439 * t439; + const double t1069 = 0.1e1 / t442 / t208; + const double t1070 = t1069 * t1064; + const double t1073 = t443 * t1061; + const double t1075 = -0.2e1 * c1 * t1064 * t443 - t1062 * t209 - 0.2e1 * t207 * t1070 - t207 * t1073; + const double t1076 = t1075 * t211; + const double t1077 = t446 * t446; + const double t1078 = t1077 * t211; + const double t1080 = piecewise_functor_3( t204, 0.0, t1076 + t1078 ); + const double t1081 = t449 * t215; + const double t1082 = 0.1e1 / t1081; + const double t1083 = t451 * t451; + const double t1088 = piecewise_functor_3( t213, 0.0, t1060 ); + const double t1092 = t449 * t449; + const double t1093 = 0.1e1 / t1092; + const double t1098 = piecewise_functor_3( t213, 0.0, -0.2e1 * t322 * t1082 * t1083 * t218 - t816 * t1093 * t1083 * t218 - t322 * t450 * t1088 * t218 ); + const double t1099 = piecewise_functor_3( t203, t1080, t1098 ); + const double t1102 = -0.2e1 * t988 * t990 + t393 * t1052 * t222 - 0.2e1 * t393 * t1055 - t202 * t1099 + 0.1174e1 * t1099; + const double t1103 = t28 * t1102; + const double t1104 = t1103 * t237; + const double t1107 = t460 * t466; + const double t1108 = t464 * t1107; + const double t1113 = 0.1e1 / t232 / t162 / 0.6e1; + const double t1114 = t226 * t1113; + const double t1115 = t464 * t1114; + const double t1117 = t34 * t995 * t236; + const double t1121 = 0.1e1 / t157 / t394; + const double t1124 = t130 * t227 * t1121 * t236; + const double t1127 = t3 * t154; + const double t1128 = t1127 * t226; + const double t1129 = 0.1e1 / t158; + const double t1131 = t34 * t236; + const double t1132 = t586 * t1129 * t1131; + const double t1135 = -0.3e1 / 0.8e1 * t974 * t238 - t925 / 0.4e1 - 0.3e1 / 0.4e1 * t388 * t461 - 0.33783472665808775022e1 * t981 * t473 + t883 - t932 / 0.4e1 - 0.11261157555269591674e1 * t940 - 0.3e1 / 0.8e1 * t155 * t1104 - 0.33783472665808775022e1 * t1108 * t473 - 0.20270083599485265013e2 * t1115 * t1117 + 0.39414051443443570859e1 * t468 * t1124 + 0.54992529167845016504e2 * t1128 * t1132; + const double t1136 = piecewise_functor_3( t146, 0.0, t1135 ); + const double t1141 = t254 * t524; + const double t1142 = t1141 * t141; + const double t1144 = t27 * t1142 / 0.8e1; + const double t1145 = t505 * t306; + const double t1149 = t265 * t29 * t33; + const double t1159 = t732 * t280; + const double t1160 = t281 * t263; + const double t1162 = 0.1e1 / t37 / t1160; + const double t1164 = t1162 * t29 * t739; + const double t1169 = t33 * t265; + const double t1172 = t66 * t265; + const double t1173 = t1172 * t296; + const double t1175 = t495 * t46; + const double t1176 = t294 * t82; + const double t1177 = t758 * t1176; + const double t1178 = t1175 * t1177; + const double t1181 = t299 * t265 * t296; + const double t1183 = t766 * t39; + const double t1184 = t768 * t1176; + const double t1185 = t1183 * t1184; + const double t1187 = -0.7e1 / 0.486e4 * t67 * t1169 - t1173 / 0.54e3 + t1178 / 0.864e3 + t1181 / 0.54e3 - t1185 / 0.2592e4; + const double t1190 = -0.1e2 / 0.729e3 * t1149 - t50 * sigma_aa * t271 * t62 / 0.54e2 + 0.3e1 / 0.64e2 * t279 * t51 * t283 * t62 - 0.81e2 / 0.256e5 * t1159 * t1164 + 0.2e1 * t303 * t501 + 0.2e1 * t85 * t1187; + const double t1191 = t1190 * t123; + const double t1193 = t504 * t330; + const double t1195 = t306 * t521; + const double t1197 = 0.5e1 / 0.27e2 * t1149; + const double t1198 = piecewise_functor_3( t99, t1197, 0.0 ); + const double t1199 = c1 * t1198; + const double t1203 = t792 * t508; + const double t1204 = t1203 * t312; + const double t1207 = t316 * t1198; + const double t1209 = -0.2e1 * t101 * t1204 - t101 * t1207 - t1199 * t103 - 0.2e1 * t509 * t317; + const double t1210 = t1209 * t105; + const double t1211 = t513 * t319; + const double t1214 = piecewise_functor_3( t98, 0.0, t1211 * t105 + t1210 ); + const double t1215 = t322 * t805; + const double t1216 = t516 * t119; + const double t1217 = t1216 * t325; + const double t1220 = piecewise_functor_3( t114, 0.0, t1197 ); + const double t1224 = t816 * t818; + const double t1227 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t1220 * t119 - 0.2e1 * t1215 * t1217 - t1224 * t1217 ); + const double t1228 = piecewise_functor_3( t93, t1214, t1227 ); + const double t1231 = -0.2e1 * t708 * t1145 + t262 * t1191 - t262 * t1193 - t262 * t1195 - t92 * t1228 + 0.1174e1 * t1228; + const double t1232 = t28 * t1231; + const double t1233 = t1232 * t141; + const double t1236 = t525 * t344; + const double t1237 = t342 * t1236; + const double t1243 = 0.21114670416130484389e0 * t703 * t532; + const double t1246 = t342 * t127; + const double t1247 = t838 * t29; + const double t1249 = t1247 * t1169 * t140; + const double t1254 = t130 * t529 * t348 * t140; + const double t1257 = t131 * sigma_aa; + const double t1258 = 0.1e1 / t1257; + const double t1260 = t1258 * t36 * t856; + const double t1264 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t250 * t526 - t1144 - 0.3e1 / 0.8e1 * t27 * t1233 - 0.16891736332904387511e1 * t1237 * t351 + 0.63344011248391453166e0 * t689 * t532 + t1243 + 0.63344011248391453166e0 * t833 * t532 + 0.76012813498069743799e1 * t1246 * t1249 - 0.84458681664521937554e0 * t346 * t1254 - 0.20622198437941881189e2 * t853 * t1260 ); + const double t1268 = t254 * t581; + const double t1269 = t1268 * t237; + const double t1271 = t155 * t1269 / 0.8e1; + const double t1275 = 0.21114670416130484389e0 * t939 * t589; + const double t1288 = t562 * t433; + const double t1292 = t396 * t29 * t33; + const double t1302 = t732 * t407; + const double t1303 = t408 * t394; + const double t1305 = 0.1e1 / t158 / t1303; + const double t1307 = t1305 * t29 * t1017; + const double t1312 = t33 * t396; + const double t1315 = t66 * t396; + const double t1316 = t1315 * t423; + const double t1318 = t552 * t46; + const double t1319 = t421 * t192; + const double t1320 = t1036 * t1319; + const double t1321 = t1318 * t1320; + const double t1324 = t426 * t396 * t423; + const double t1326 = t1044 * t160; + const double t1327 = t768 * t1319; + const double t1328 = t1326 * t1327; + const double t1330 = -0.7e1 / 0.486e4 * t67 * t1312 - t1316 / 0.54e3 + t1321 / 0.864e3 + t1324 / 0.54e3 - t1328 / 0.2592e4; + const double t1333 = -0.1e2 / 0.729e3 * t1292 - t50 * sigma_bb * t402 * t174 / 0.54e2 + 0.3e1 / 0.64e2 * t279 * t164 * t410 * t174 - 0.81e2 / 0.256e5 * t1302 * t1307 + 0.2e1 * t430 * t558 + 0.2e1 * t195 * t1330; + const double t1334 = t1333 * t222; + const double t1336 = t561 * t456; + const double t1338 = t433 * t578; + const double t1340 = 0.5e1 / 0.27e2 * t1292; + const double t1341 = piecewise_functor_3( t205, t1340, 0.0 ); + const double t1342 = c1 * t1341; + const double t1346 = t1069 * t565; + const double t1347 = t1346 * t439; + const double t1350 = t443 * t1341; + const double t1352 = -t1342 * t209 - 0.2e1 * t207 * t1347 - t207 * t1350 - 0.2e1 * t566 * t444; + const double t1353 = t1352 * t211; + const double t1354 = t570 * t446; + const double t1357 = piecewise_functor_3( t204, 0.0, t1354 * t211 + t1353 ); + const double t1358 = t322 * t1082; + const double t1359 = t573 * t218; + const double t1360 = t1359 * t451; + const double t1363 = piecewise_functor_3( t213, 0.0, t1340 ); + const double t1367 = t816 * t1093; + const double t1370 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t1363 * t218 - 0.2e1 * t1358 * t1360 - t1367 * t1360 ); + const double t1371 = piecewise_functor_3( t203, t1357, t1370 ); + const double t1374 = -0.2e1 * t988 * t1288 + t393 * t1334 - t393 * t1336 - t393 * t1338 - t202 * t1371 + 0.1174e1 * t1371; + const double t1375 = t28 * t1374; + const double t1376 = t1375 * t237; + const double t1379 = t582 * t466; + const double t1380 = t464 * t1379; + const double t1387 = t464 * t226; + const double t1388 = t1113 * t29; + const double t1390 = t1388 * t1312 * t236; + const double t1395 = t130 * t586 * t470 * t236; + const double t1398 = t227 * sigma_bb; + const double t1399 = 0.1e1 / t1398; + const double t1401 = t1399 * t157 * t1131; + const double t1405 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t388 * t583 - t1271 - 0.3e1 / 0.8e1 * t155 * t1376 - 0.16891736332904387511e1 * t1380 * t473 + 0.63344011248391453166e0 * t981 * t589 + t1275 + 0.63344011248391453166e0 * t1108 * t589 + 0.76012813498069743799e1 * t1387 * t1390 - 0.84458681664521937554e0 * t468 * t1395 - 0.20622198437941881189e2 * t1128 * t1401 ); + const double t1409 = t254 * t623; + const double t1410 = t1409 * t141; + const double t1412 = t27 * t1410 / 0.8e1; + const double t1413 = t708 * t85; + const double t1414 = t599 * t123; + const double t1415 = t1414 * t306; + const double t1418 = t303 * t599; + const double t1423 = t594 * t46; + const double t1427 = t766 * t71; + const double t1430 = t496 / 0.108e3 - t1423 * t1177 / 0.108e3 - t499 / 0.108e3 + t1427 * t1184 / 0.324e3; + const double t1431 = t85 * t1430; + const double t1438 = t306 * t620; + const double t1440 = 0.25e2 / 0.27e2 * t481; + const double t1441 = piecewise_functor_3( t99, -t1440, 0.0 ); + const double t1442 = c1 * t1441; + const double t1446 = t792 * t607; + const double t1450 = t316 * t1441; + const double t1452 = -0.2e1 * t101 * t1446 * t312 - t101 * t1450 - t1442 * t103 - 0.2e1 * t608 * t317; + const double t1453 = t1452 * t105; + const double t1454 = t612 * t319; + const double t1457 = piecewise_functor_3( t98, 0.0, t1454 * t105 + t1453 ); + const double t1458 = t615 * t119; + const double t1459 = t1458 * t325; + const double t1462 = piecewise_functor_3( t114, 0.0, -t1440 ); + const double t1468 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t1462 * t119 - 0.2e1 * t1215 * t1459 - t1224 * t1459 ); + const double t1469 = piecewise_functor_3( t93, t1457, t1468 ); + const double t1472 = -0.4e1 * t1413 * t1415 + 0.2e1 * t262 * t1418 * t123 + 0.2e1 * t262 * t1431 * t123 - 0.2e1 * t262 * t600 * t330 - t262 * t1438 - t92 * t1469 + 0.1174e1 * t1469; + const double t1473 = t28 * t1472; + const double t1474 = t1473 * t141; + const double t1477 = t624 * t344; + const double t1478 = t342 * t1477; + const double t1482 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t250 * t625 - t1412 - 0.3e1 / 0.8e1 * t27 * t1474 - 0.16891736332904387511e1 * t1478 * t351 ); + const double t1486 = t254 * t658; + const double t1487 = t1486 * t237; + const double t1489 = t155 * t1487 / 0.8e1; + const double t1500 = t988 * t195; + const double t1501 = t634 * t222; + const double t1502 = t1501 * t433; + const double t1505 = t430 * t634; + const double t1510 = t629 * t46; + const double t1514 = t1044 * t181; + const double t1517 = t553 / 0.108e3 - t1510 * t1320 / 0.108e3 - t556 / 0.108e3 + t1514 * t1327 / 0.324e3; + const double t1518 = t195 * t1517; + const double t1525 = t433 * t655; + const double t1527 = 0.25e2 / 0.27e2 * t538; + const double t1528 = piecewise_functor_3( t205, -t1527, 0.0 ); + const double t1529 = c1 * t1528; + const double t1533 = t1069 * t642; + const double t1537 = t443 * t1528; + const double t1539 = -0.2e1 * t207 * t1533 * t439 - t1529 * t209 - t207 * t1537 - 0.2e1 * t643 * t444; + const double t1540 = t1539 * t211; + const double t1541 = t647 * t446; + const double t1544 = piecewise_functor_3( t204, 0.0, t1541 * t211 + t1540 ); + const double t1545 = t650 * t218; + const double t1546 = t1545 * t451; + const double t1549 = piecewise_functor_3( t213, 0.0, -t1527 ); + const double t1555 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t1549 * t218 - 0.2e1 * t1358 * t1546 - t1367 * t1546 ); + const double t1556 = piecewise_functor_3( t203, t1544, t1555 ); + const double t1559 = -0.4e1 * t1500 * t1502 + 0.2e1 * t393 * t1505 * t222 + 0.2e1 * t393 * t1518 * t222 - 0.2e1 * t393 * t635 * t456 - t393 * t1525 - t202 * t1556 + 0.1174e1 * t1556; + const double t1560 = t28 * t1559; + const double t1561 = t1560 * t237; + const double t1564 = t659 * t466; + const double t1565 = t464 * t1564; + const double t1569 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t388 * t660 - t1489 - 0.3e1 / 0.8e1 * t155 * t1561 - 0.16891736332904387511e1 * t1565 * t473 ); + const double t1571 = t504 * t504; + const double t1572 = t1571 * t123; + const double t1583 = t732 * t51; + const double t1585 = 0.1e1 / t37 / t725; + const double t1587 = t1585 * t29 * t739; + const double t1590 = t501 * t501; + const double t1592 = t66 * t55; + const double t1594 = t1592 * t46 * t759; + const double t1597 = t766 * t55 * t769; + const double t1599 = -t1594 / 0.6912e4 + t1597 / 0.20736e5; + const double t1602 = t47 * t49 * t55 * t62 / 0.288e3 - 0.9e1 / 0.64e3 * t279 * sigma_aa * t487 * t62 + 0.243e3 / 0.2048e6 * t1583 * t1587 + 0.2e1 * t1590 + 0.2e1 * t85 * t1599; + const double t1603 = t1602 * t123; + const double t1605 = t504 * t521; + const double t1608 = piecewise_functor_3( t99, 0.0, 0.0 ); + const double t1609 = c1 * t1608; + const double t1610 = t1609 * t103; + const double t1611 = t508 * t508; + const double t1612 = c1 * t1611; + const double t1615 = t792 * t1611; + const double t1618 = t316 * t1608; + const double t1619 = t101 * t1618; + const double t1620 = -0.2e1 * t101 * t1615 - 0.2e1 * t1612 * t316 - t1610 - t1619; + const double t1622 = t513 * t513; + const double t1623 = t1622 * t105; + const double t1625 = piecewise_functor_3( t98, 0.0, t1620 * t105 + t1623 ); + const double t1626 = t516 * t516; + const double t1631 = piecewise_functor_3( t114, 0.0, 0.0 ); + const double t1634 = t322 * t324 * t1631 * t119; + const double t1639 = piecewise_functor_3( t114, 0.0, -0.2e1 * t322 * t805 * t1626 * t119 - t816 * t818 * t1626 * t119 - t1634 ); + const double t1640 = piecewise_functor_3( t93, t1625, t1639 ); + const double t1643 = -0.2e1 * t708 * t1572 + t262 * t1603 - 0.2e1 * t262 * t1605 - t92 * t1640 + 0.1174e1 * t1640; + const double t1644 = t28 * t1643; + const double t1645 = t1644 * t141; + const double t1650 = 0.1e1 / sigma_aa; + const double t1653 = t34 * t1650 * t39 * t140; + const double t1658 = t130 * t1258 * t133 * t140; + const double t1662 = 0.1e1 / t131 / t51; + const double t1664 = t1662 * t132 * t856; + const double t1668 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1645 + 0.12668802249678290633e1 * t1237 * t532 - 0.28504805061776153925e1 * t840 * t1653 - 0.31672005624195726583e0 * t346 * t1658 + 0.77333244142282054459e1 * t853 * t1664 ); + const double t1669 = t561 * t561; + const double t1670 = t1669 * t222; + const double t1681 = t732 * t164; + const double t1683 = 0.1e1 / t158 / t1005; + const double t1685 = t1683 * t29 * t1017; + const double t1688 = t558 * t558; + const double t1690 = t66 * t168; + const double t1692 = t1690 * t46 * t1037; + const double t1695 = t1044 * t168 * t1046; + const double t1697 = -t1692 / 0.6912e4 + t1695 / 0.20736e5; + const double t1700 = t47 * t49 * t168 * t174 / 0.288e3 - 0.9e1 / 0.64e3 * t279 * sigma_bb * t544 * t174 + 0.243e3 / 0.2048e6 * t1681 * t1685 + 0.2e1 * t1688 + 0.2e1 * t195 * t1697; + const double t1701 = t1700 * t222; + const double t1703 = t561 * t578; + const double t1706 = piecewise_functor_3( t205, 0.0, 0.0 ); + const double t1707 = c1 * t1706; + const double t1708 = t1707 * t209; + const double t1709 = t565 * t565; + const double t1710 = c1 * t1709; + const double t1713 = t1069 * t1709; + const double t1716 = t443 * t1706; + const double t1717 = t207 * t1716; + const double t1718 = -0.2e1 * t1710 * t443 - 0.2e1 * t207 * t1713 - t1708 - t1717; + const double t1720 = t570 * t570; + const double t1721 = t1720 * t211; + const double t1723 = piecewise_functor_3( t204, 0.0, t1718 * t211 + t1721 ); + const double t1724 = t573 * t573; + const double t1729 = piecewise_functor_3( t213, 0.0, 0.0 ); + const double t1732 = t322 * t450 * t1729 * t218; + const double t1737 = piecewise_functor_3( t213, 0.0, -0.2e1 * t322 * t1082 * t1724 * t218 - t816 * t1093 * t1724 * t218 - t1732 ); + const double t1738 = piecewise_functor_3( t203, t1723, t1737 ); + const double t1741 = -0.2e1 * t988 * t1670 + t393 * t1701 - 0.2e1 * t393 * t1703 - t202 * t1738 + 0.1174e1 * t1738; + const double t1742 = t28 * t1741; + const double t1743 = t1742 * t237; + const double t1748 = 0.1e1 / sigma_bb; + const double t1751 = t34 * t1748 * t160 * t236; + const double t1756 = t130 * t1399 * t229 * t236; + const double t1760 = 0.1e1 / t227 / t164; + const double t1762 = t1760 * t228 * t1131; + const double t1766 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t1743 + 0.12668802249678290633e1 * t1380 * t589 - 0.28504805061776153925e1 * t1115 * t1751 - 0.31672005624195726583e0 * t468 * t1756 + 0.77333244142282054459e1 * t1128 * t1762 ); + const double t1767 = t1414 * t504; + const double t1770 = t501 * t599; + const double t1775 = 0.1e1 / t36 / t52; + const double t1776 = t66 * t1775; + const double t1778 = t1776 * t46 * t759; + const double t1781 = t766 * t1775 * t769; + const double t1783 = t1778 / 0.864e3 - t1781 / 0.2592e4; + const double t1784 = t85 * t1783; + const double t1791 = t504 * t620; + const double t1798 = -0.2e1 * t101 * t1446 * t508 - 0.2e1 * t608 * t511 - t1610 - t1619; + const double t1799 = t1798 * t105; + const double t1800 = t612 * t513; + const double t1803 = piecewise_functor_3( t98, 0.0, t1800 * t105 + t1799 ); + const double t1804 = t1458 * t516; + const double t1809 = piecewise_functor_3( t114, 0.0, -0.2e1 * t1215 * t1804 - t1224 * t1804 - t1634 ); + const double t1810 = piecewise_functor_3( t93, t1803, t1809 ); + const double t1813 = -0.4e1 * t1413 * t1767 + 0.2e1 * t262 * t1770 * t123 + 0.2e1 * t262 * t1784 * t123 - 0.2e1 * t262 * t600 * t521 - t262 * t1791 - t92 * t1810 + 0.1174e1 * t1810; + const double t1814 = t28 * t1813; + const double t1815 = t1814 * t141; + const double t1821 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1815 + 0.63344011248391453166e0 * t1478 * t532 ); + const double t1822 = t1501 * t561; + const double t1825 = t558 * t634; + const double t1830 = 0.1e1 / t157 / t165; + const double t1831 = t66 * t1830; + const double t1833 = t1831 * t46 * t1037; + const double t1836 = t1044 * t1830 * t1046; + const double t1838 = t1833 / 0.864e3 - t1836 / 0.2592e4; + const double t1839 = t195 * t1838; + const double t1846 = t561 * t655; + const double t1853 = -0.2e1 * t207 * t1533 * t565 - 0.2e1 * t643 * t568 - t1708 - t1717; + const double t1854 = t1853 * t211; + const double t1855 = t647 * t570; + const double t1858 = piecewise_functor_3( t204, 0.0, t1855 * t211 + t1854 ); + const double t1859 = t1545 * t573; + const double t1864 = piecewise_functor_3( t213, 0.0, -0.2e1 * t1358 * t1859 - t1367 * t1859 - t1732 ); + const double t1865 = piecewise_functor_3( t203, t1858, t1864 ); + const double t1868 = -0.4e1 * t1500 * t1822 + 0.2e1 * t393 * t1825 * t222 + 0.2e1 * t393 * t1839 * t222 - 0.2e1 * t393 * t635 * t578 - t393 * t1846 - t202 * t1865 + 0.1174e1 * t1865; + const double t1869 = t28 * t1868; + const double t1870 = t1869 * t237; + const double t1876 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t1870 + 0.63344011248391453166e0 * t1565 * t589 ); + const double t1877 = t599 * t599; + const double t1878 = t86 * t1877; + const double t1882 = t1877 * t123; + const double t1885 = t66 * t846; + const double t1892 = -t1885 * t46 * t759 / 0.108e3 + t766 * t846 * t769 / 0.324e3; + const double t1893 = t85 * t1892; + const double t1900 = t607 * t607; + const double t1901 = c1 * t1900; + const double t1907 = -0.2e1 * t101 * t792 * t1900 - 0.2e1 * t1901 * t316 - t1610 - t1619; + const double t1909 = t612 * t612; + const double t1910 = t1909 * t105; + const double t1912 = piecewise_functor_3( t98, 0.0, t1907 * t105 + t1910 ); + const double t1913 = t615 * t615; + const double t1922 = piecewise_functor_3( t114, 0.0, -0.2e1 * t322 * t805 * t1913 * t119 - t816 * t818 * t1913 * t119 - t1634 ); + const double t1923 = piecewise_functor_3( t93, t1912, t1922 ); + const double t1926 = -0.8e1 * t708 * t1878 * t123 + 0.2e1 * t262 * t1882 + 0.2e1 * t262 * t1893 * t123 - 0.4e1 * t262 * t600 * t620 - t92 * t1923 + 0.1174e1 * t1923; + const double t1927 = t28 * t1926; + const double t1928 = t1927 * t141; + const double t1931 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1928 ); + const double t1932 = t634 * t634; + const double t1933 = t196 * t1932; + const double t1937 = t1932 * t222; + const double t1940 = t66 * t1121; + const double t1947 = -t1940 * t46 * t1037 / 0.108e3 + t1044 * t1121 * t1046 / 0.324e3; + const double t1948 = t195 * t1947; + const double t1955 = t642 * t642; + const double t1956 = c1 * t1955; + const double t1962 = -0.2e1 * t207 * t1069 * t1955 - 0.2e1 * t1956 * t443 - t1708 - t1717; + const double t1964 = t647 * t647; + const double t1965 = t1964 * t211; + const double t1967 = piecewise_functor_3( t204, 0.0, t1962 * t211 + t1965 ); + const double t1968 = t650 * t650; + const double t1977 = piecewise_functor_3( t213, 0.0, -0.2e1 * t322 * t1082 * t1968 * t218 - t816 * t1093 * t1968 * t218 - t1732 ); + const double t1978 = piecewise_functor_3( t203, t1967, t1977 ); + const double t1981 = -0.8e1 * t988 * t1933 * t222 + 0.2e1 * t393 * t1937 + 0.2e1 * t393 * t1948 * t222 - 0.4e1 * t393 * t635 * t655 - t202 * t1978 + 0.1174e1 * t1978; + const double t1982 = t28 * t1981; + const double t1983 = t1982 * t237; + const double t1986 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t1983 ); + + + v2rho2_aa = 0.2e1 * t355 + 0.2e1 * t370 + t7 * ( t861 + t885 ); + v2rho2_bb = 0.2e1 * t382 + 0.2e1 * t477 + t7 * ( t963 + t1136 ); + v2rhosigma_a_aa = t7 * t1264 + t536; + v2rhosigma_b_bb = t7 * t1405 + t593; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1482 + t628; + v2rhotau_b_b = t7 * t1569 + t663; + v2sigma2_aa_aa = t7 * t1668; + v2sigma2_bb_bb = t7 * t1766; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1821; + v2sigmatau_bb_b = t7 * t1876; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1931; + v2tau2_bb = t7 * t1986; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; - eps = t145 + t241; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { (void)(sigma_ab); (void)(lapl_a); (void)(lapl_b); - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t29 = constants::m_cbrt_6; @@ -533,6 +2733,10 @@ struct kernel_traits< BuiltinSCAN_X > : constexpr double t278 = 0.1e1 / t277; constexpr double t279 = t276 * t278; constexpr double t322 = d * c2; + constexpr double t732 = t276 * t45 * t278; + constexpr double t768 = t46 * t49; + constexpr double t815 = c2 * c2; + constexpr double t816 = d * t815; const double t2 = rho_a <= dens_tol; @@ -864,9 +3068,523 @@ struct kernel_traits< BuiltinSCAN_X > : const double t659 = t28 * t658; const double t660 = t659 * t237; const double t663 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t660 ); + const double t666 = t24 * t24; + const double t667 = 0.1e1 / t666; + const double t668 = t246 * t246; + const double t671 = t242 * t7; + const double t672 = 0.1e1 / t671; + const double t673 = t17 * t672; + const double t676 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t243 + 0.2e1 * t673 ); + const double t680 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t667 * t668 + 0.4e1 / 0.3e1 * t24 * t676 ); + const double t681 = t6 * t680; + const double t684 = t250 * t256; + const double t688 = t341 * t249; + const double t689 = t688 * t345; + const double t693 = 0.1e1 / t253 / t7; + const double t694 = t693 * t126; + const double t695 = t694 * t141; + const double t697 = t27 * t695 / 0.12e2; + const double t698 = t254 * t333; + const double t699 = t698 * t141; + const double t700 = t27 * t699; + const double t702 = t255 * t344; + const double t703 = t342 * t702; + const double t704 = t703 * t351; + const double t708 = t259 / t260 / t87; + const double t709 = t306 * t306; + const double t710 = t709 * t123; + const double t714 = 0.1e1 / t37 / t52; + const double t715 = sigma_aa * t714; + const double t718 = t52 * t263; + const double t720 = 0.1e1 / t36 / t718; + const double t725 = t281 * t35; + const double t726 = 0.1e1 / t725; + const double t733 = t51 * t51; + const double t734 = t732 * t733; + const double t735 = t281 * t52; + const double t737 = 0.1e1 / t37 / t735; + const double t739 = t33 * t62; + const double t740 = t737 * t29 * t739; + const double t743 = t303 * t303; + const double t751 = 0.4e2 / 0.9e1 * tau_a * t265 - 0.11e2 / 0.9e1 * t715; + const double t752 = t66 * t751; + const double t755 = t294 * t294; + const double t758 = t49 * t78; + const double t759 = t758 * t82; + const double t765 = t80 * t78; + const double t766 = t66 * t765; + const double t769 = t768 * t82; + const double t772 = 0.77e2 / 0.1458e5 * t67 * t58 * t714 - t752 * t296 / 0.18e3 - t66 * t755 * t46 * t759 / 0.108e3 + t299 * t751 * t296 / 0.18e3 + t766 * t755 * t769 / 0.324e3; + const double t775 = 0.11e3 / 0.2187e4 * t34 * t715 + 0.19e2 / 0.324e3 * t50 * t51 * t720 * t62 - 0.43e2 / 0.32e3 * t279 * t280 * t726 * t62 + 0.27e2 / 0.32e4 * t734 * t740 + 0.2e1 * t743 + 0.2e1 * t85 * t772; + const double t778 = t306 * t330; + const double t783 = 0.5e1 / 0.9e1 * t751 * t29 * t33; + const double t784 = piecewise_functor_3( t99, t783, 0.0 ); + const double t785 = c1 * t784; + const double t787 = t312 * t312; + const double t792 = 0.1e1 / t315 / t102; + const double t793 = t792 * t787; + const double t796 = t316 * t784; + const double t798 = -0.2e1 * c1 * t787 * t316 - 0.2e1 * t101 * t793 - t101 * t796 - t785 * t103; + const double t799 = t798 * t105; + const double t800 = t319 * t319; + const double t801 = t800 * t105; + const double t803 = piecewise_functor_3( t98, 0.0, t799 + t801 ); + const double t804 = t323 * t116; + const double t805 = 0.1e1 / t804; + const double t806 = t325 * t325; + const double t811 = piecewise_functor_3( t114, 0.0, t783 ); + const double t817 = t323 * t323; + const double t818 = 0.1e1 / t817; + const double t823 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t811 * t119 - 0.2e1 * t322 * t805 * t806 * t119 - t816 * t818 * t806 * t119 ); + const double t824 = piecewise_functor_3( t93, t803, t823 ); + const double t827 = -0.2e1 * t708 * t710 + t262 * t775 * t123 - 0.2e1 * t262 * t778 - t92 * t824 + 0.1174e1 * t824; + const double t828 = t28 * t827; + const double t829 = t828 * t141; + const double t832 = t334 * t344; + const double t833 = t342 * t832; + const double t838 = 0.1e1 / t136 / t41 / 0.6e1; + const double t839 = t127 * t838; + const double t840 = t342 * t839; + const double t842 = t34 * t715 * t140; + const double t846 = 0.1e1 / t36 / t263; + const double t849 = t130 * t131 * t846 * t140; + const double t852 = t3 * t26; + const double t853 = t852 * t127; + const double t854 = 0.1e1 / t37; + const double t856 = t34 * t140; + const double t857 = t529 * t854 * t856; + const double t860 = -0.3e1 / 0.8e1 * t681 * t142 - t684 / 0.4e1 - 0.3e1 / 0.4e1 * t250 * t335 - 0.33783472665808775022e1 * t689 * t351 + t697 - t700 / 0.4e1 - 0.11261157555269591674e1 * t704 - 0.3e1 / 0.8e1 * t27 * t829 - 0.33783472665808775022e1 * t833 * t351 - 0.20270083599485265013e2 * t840 * t842 + 0.39414051443443570859e1 * t346 * t849 + 0.54992529167845016504e2 * t853 * t857; + const double t861 = piecewise_functor_3( t2, 0.0, t860 ); + const double t862 = t152 * t152; + const double t863 = 0.1e1 / t862; + const double t864 = t358 * t358; + const double t867 = t147 * t672; + const double t870 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t243 + 0.2e1 * t867 ); + const double t874 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t863 * t864 + 0.4e1 / 0.3e1 * t152 * t870 ); + const double t875 = t6 * t874; + const double t878 = t362 * t366; + const double t880 = t693 * t225; + const double t881 = t880 * t237; + const double t883 = t155 * t881 / 0.12e2; + const double t885 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t875 * t238 - t878 / 0.4e1 + t883 ); + const double t900 = t378 * t256; + const double t925 = t388 * t366; + const double t930 = t254 * t459; + const double t931 = t930 * t237; + const double t932 = t155 * t931; + const double t938 = t365 * t466; + const double t939 = t464 * t938; + const double t940 = t939 * t473; + const double t948 = t374 * t374; + const double t953 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t243 + 0.2e1 * t673 ); + const double t957 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t667 * t948 + 0.4e1 / 0.3e1 * t24 * t953 ); + const double t958 = t6 * t957; + const double t963 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t958 * t142 - t900 / 0.4e1 + t697 ); + const double t964 = t384 * t384; + const double t969 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t243 + 0.2e1 * t867 ); + const double t973 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t863 * t964 + 0.4e1 / 0.3e1 * t152 * t969 ); + const double t974 = t6 * t973; + const double t980 = t341 * t387; + const double t981 = t980 * t467; + const double t988 = t259 / t391 / t197; + const double t989 = t433 * t433; + const double t990 = t989 * t222; + const double t994 = 0.1e1 / t158 / t165; + const double t995 = sigma_bb * t994; + const double t998 = t165 * t394; + const double t1000 = 0.1e1 / t157 / t998; + const double t1005 = t408 * t156; + const double t1006 = 0.1e1 / t1005; + const double t1011 = t164 * t164; + const double t1012 = t732 * t1011; + const double t1013 = t408 * t165; + const double t1015 = 0.1e1 / t158 / t1013; + const double t1017 = t33 * t174; + const double t1018 = t1015 * t29 * t1017; + const double t1021 = t430 * t430; + const double t1029 = 0.4e2 / 0.9e1 * tau_b * t396 - 0.11e2 / 0.9e1 * t995; + const double t1030 = t66 * t1029; + const double t1033 = t421 * t421; + const double t1036 = t49 * t188; + const double t1037 = t1036 * t192; + const double t1043 = t190 * t188; + const double t1044 = t66 * t1043; + const double t1046 = t768 * t192; + const double t1049 = 0.77e2 / 0.1458e5 * t67 * t170 * t994 - t1030 * t423 / 0.18e3 - t66 * t1033 * t46 * t1037 / 0.108e3 + t426 * t1029 * t423 / 0.18e3 + t1044 * t1033 * t1046 / 0.324e3; + const double t1052 = 0.11e3 / 0.2187e4 * t34 * t995 + 0.19e2 / 0.324e3 * t50 * t164 * t1000 * t174 - 0.43e2 / 0.32e3 * t279 * t407 * t1006 * t174 + 0.27e2 / 0.32e4 * t1012 * t1018 + 0.2e1 * t1021 + 0.2e1 * t195 * t1049; + const double t1055 = t433 * t456; + const double t1060 = 0.5e1 / 0.9e1 * t1029 * t29 * t33; + const double t1061 = piecewise_functor_3( t205, t1060, 0.0 ); + const double t1062 = c1 * t1061; + const double t1064 = t439 * t439; + const double t1069 = 0.1e1 / t442 / t208; + const double t1070 = t1069 * t1064; + const double t1073 = t443 * t1061; + const double t1075 = -0.2e1 * c1 * t1064 * t443 - t1062 * t209 - 0.2e1 * t207 * t1070 - t207 * t1073; + const double t1076 = t1075 * t211; + const double t1077 = t446 * t446; + const double t1078 = t1077 * t211; + const double t1080 = piecewise_functor_3( t204, 0.0, t1076 + t1078 ); + const double t1081 = t449 * t215; + const double t1082 = 0.1e1 / t1081; + const double t1083 = t451 * t451; + const double t1088 = piecewise_functor_3( t213, 0.0, t1060 ); + const double t1092 = t449 * t449; + const double t1093 = 0.1e1 / t1092; + const double t1098 = piecewise_functor_3( t213, 0.0, -0.2e1 * t322 * t1082 * t1083 * t218 - t816 * t1093 * t1083 * t218 - t322 * t450 * t1088 * t218 ); + const double t1099 = piecewise_functor_3( t203, t1080, t1098 ); + const double t1102 = -0.2e1 * t988 * t990 + t393 * t1052 * t222 - 0.2e1 * t393 * t1055 - t202 * t1099 + 0.1174e1 * t1099; + const double t1103 = t28 * t1102; + const double t1104 = t1103 * t237; + const double t1107 = t460 * t466; + const double t1108 = t464 * t1107; + const double t1113 = 0.1e1 / t232 / t162 / 0.6e1; + const double t1114 = t226 * t1113; + const double t1115 = t464 * t1114; + const double t1117 = t34 * t995 * t236; + const double t1121 = 0.1e1 / t157 / t394; + const double t1124 = t130 * t227 * t1121 * t236; + const double t1127 = t3 * t154; + const double t1128 = t1127 * t226; + const double t1129 = 0.1e1 / t158; + const double t1131 = t34 * t236; + const double t1132 = t586 * t1129 * t1131; + const double t1135 = -0.3e1 / 0.8e1 * t974 * t238 - t925 / 0.4e1 - 0.3e1 / 0.4e1 * t388 * t461 - 0.33783472665808775022e1 * t981 * t473 + t883 - t932 / 0.4e1 - 0.11261157555269591674e1 * t940 - 0.3e1 / 0.8e1 * t155 * t1104 - 0.33783472665808775022e1 * t1108 * t473 - 0.20270083599485265013e2 * t1115 * t1117 + 0.39414051443443570859e1 * t468 * t1124 + 0.54992529167845016504e2 * t1128 * t1132; + const double t1136 = piecewise_functor_3( t146, 0.0, t1135 ); + const double t1141 = t254 * t524; + const double t1142 = t1141 * t141; + const double t1144 = t27 * t1142 / 0.8e1; + const double t1145 = t505 * t306; + const double t1149 = t265 * t29 * t33; + const double t1159 = t732 * t280; + const double t1160 = t281 * t263; + const double t1162 = 0.1e1 / t37 / t1160; + const double t1164 = t1162 * t29 * t739; + const double t1169 = t33 * t265; + const double t1172 = t66 * t265; + const double t1173 = t1172 * t296; + const double t1175 = t495 * t46; + const double t1176 = t294 * t82; + const double t1177 = t758 * t1176; + const double t1178 = t1175 * t1177; + const double t1181 = t299 * t265 * t296; + const double t1183 = t766 * t39; + const double t1184 = t768 * t1176; + const double t1185 = t1183 * t1184; + const double t1187 = -0.7e1 / 0.486e4 * t67 * t1169 - t1173 / 0.54e3 + t1178 / 0.864e3 + t1181 / 0.54e3 - t1185 / 0.2592e4; + const double t1190 = -0.1e2 / 0.729e3 * t1149 - t50 * sigma_aa * t271 * t62 / 0.54e2 + 0.3e1 / 0.64e2 * t279 * t51 * t283 * t62 - 0.81e2 / 0.256e5 * t1159 * t1164 + 0.2e1 * t303 * t501 + 0.2e1 * t85 * t1187; + const double t1191 = t1190 * t123; + const double t1193 = t504 * t330; + const double t1195 = t306 * t521; + const double t1197 = 0.5e1 / 0.27e2 * t1149; + const double t1198 = piecewise_functor_3( t99, t1197, 0.0 ); + const double t1199 = c1 * t1198; + const double t1203 = t792 * t508; + const double t1204 = t1203 * t312; + const double t1207 = t316 * t1198; + const double t1209 = -0.2e1 * t101 * t1204 - t101 * t1207 - t1199 * t103 - 0.2e1 * t509 * t317; + const double t1210 = t1209 * t105; + const double t1211 = t513 * t319; + const double t1214 = piecewise_functor_3( t98, 0.0, t1211 * t105 + t1210 ); + const double t1215 = t322 * t805; + const double t1216 = t516 * t119; + const double t1217 = t1216 * t325; + const double t1220 = piecewise_functor_3( t114, 0.0, t1197 ); + const double t1224 = t816 * t818; + const double t1227 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t1220 * t119 - 0.2e1 * t1215 * t1217 - t1224 * t1217 ); + const double t1228 = piecewise_functor_3( t93, t1214, t1227 ); + const double t1231 = -0.2e1 * t708 * t1145 + t262 * t1191 - t262 * t1193 - t262 * t1195 - t92 * t1228 + 0.1174e1 * t1228; + const double t1232 = t28 * t1231; + const double t1233 = t1232 * t141; + const double t1236 = t525 * t344; + const double t1237 = t342 * t1236; + const double t1243 = 0.21114670416130484389e0 * t703 * t532; + const double t1246 = t342 * t127; + const double t1247 = t838 * t29; + const double t1249 = t1247 * t1169 * t140; + const double t1254 = t130 * t529 * t348 * t140; + const double t1257 = t131 * sigma_aa; + const double t1258 = 0.1e1 / t1257; + const double t1260 = t1258 * t36 * t856; + const double t1264 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t250 * t526 - t1144 - 0.3e1 / 0.8e1 * t27 * t1233 - 0.16891736332904387511e1 * t1237 * t351 + 0.63344011248391453166e0 * t689 * t532 + t1243 + 0.63344011248391453166e0 * t833 * t532 + 0.76012813498069743799e1 * t1246 * t1249 - 0.84458681664521937554e0 * t346 * t1254 - 0.20622198437941881189e2 * t853 * t1260 ); + const double t1268 = t254 * t581; + const double t1269 = t1268 * t237; + const double t1271 = t155 * t1269 / 0.8e1; + const double t1275 = 0.21114670416130484389e0 * t939 * t589; + const double t1288 = t562 * t433; + const double t1292 = t396 * t29 * t33; + const double t1302 = t732 * t407; + const double t1303 = t408 * t394; + const double t1305 = 0.1e1 / t158 / t1303; + const double t1307 = t1305 * t29 * t1017; + const double t1312 = t33 * t396; + const double t1315 = t66 * t396; + const double t1316 = t1315 * t423; + const double t1318 = t552 * t46; + const double t1319 = t421 * t192; + const double t1320 = t1036 * t1319; + const double t1321 = t1318 * t1320; + const double t1324 = t426 * t396 * t423; + const double t1326 = t1044 * t160; + const double t1327 = t768 * t1319; + const double t1328 = t1326 * t1327; + const double t1330 = -0.7e1 / 0.486e4 * t67 * t1312 - t1316 / 0.54e3 + t1321 / 0.864e3 + t1324 / 0.54e3 - t1328 / 0.2592e4; + const double t1333 = -0.1e2 / 0.729e3 * t1292 - t50 * sigma_bb * t402 * t174 / 0.54e2 + 0.3e1 / 0.64e2 * t279 * t164 * t410 * t174 - 0.81e2 / 0.256e5 * t1302 * t1307 + 0.2e1 * t430 * t558 + 0.2e1 * t195 * t1330; + const double t1334 = t1333 * t222; + const double t1336 = t561 * t456; + const double t1338 = t433 * t578; + const double t1340 = 0.5e1 / 0.27e2 * t1292; + const double t1341 = piecewise_functor_3( t205, t1340, 0.0 ); + const double t1342 = c1 * t1341; + const double t1346 = t1069 * t565; + const double t1347 = t1346 * t439; + const double t1350 = t443 * t1341; + const double t1352 = -t1342 * t209 - 0.2e1 * t207 * t1347 - t207 * t1350 - 0.2e1 * t566 * t444; + const double t1353 = t1352 * t211; + const double t1354 = t570 * t446; + const double t1357 = piecewise_functor_3( t204, 0.0, t1354 * t211 + t1353 ); + const double t1358 = t322 * t1082; + const double t1359 = t573 * t218; + const double t1360 = t1359 * t451; + const double t1363 = piecewise_functor_3( t213, 0.0, t1340 ); + const double t1367 = t816 * t1093; + const double t1370 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t1363 * t218 - 0.2e1 * t1358 * t1360 - t1367 * t1360 ); + const double t1371 = piecewise_functor_3( t203, t1357, t1370 ); + const double t1374 = -0.2e1 * t988 * t1288 + t393 * t1334 - t393 * t1336 - t393 * t1338 - t202 * t1371 + 0.1174e1 * t1371; + const double t1375 = t28 * t1374; + const double t1376 = t1375 * t237; + const double t1379 = t582 * t466; + const double t1380 = t464 * t1379; + const double t1387 = t464 * t226; + const double t1388 = t1113 * t29; + const double t1390 = t1388 * t1312 * t236; + const double t1395 = t130 * t586 * t470 * t236; + const double t1398 = t227 * sigma_bb; + const double t1399 = 0.1e1 / t1398; + const double t1401 = t1399 * t157 * t1131; + const double t1405 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t388 * t583 - t1271 - 0.3e1 / 0.8e1 * t155 * t1376 - 0.16891736332904387511e1 * t1380 * t473 + 0.63344011248391453166e0 * t981 * t589 + t1275 + 0.63344011248391453166e0 * t1108 * t589 + 0.76012813498069743799e1 * t1387 * t1390 - 0.84458681664521937554e0 * t468 * t1395 - 0.20622198437941881189e2 * t1128 * t1401 ); + const double t1409 = t254 * t623; + const double t1410 = t1409 * t141; + const double t1412 = t27 * t1410 / 0.8e1; + const double t1413 = t708 * t85; + const double t1414 = t599 * t123; + const double t1415 = t1414 * t306; + const double t1418 = t303 * t599; + const double t1423 = t594 * t46; + const double t1427 = t766 * t71; + const double t1430 = t496 / 0.108e3 - t1423 * t1177 / 0.108e3 - t499 / 0.108e3 + t1427 * t1184 / 0.324e3; + const double t1431 = t85 * t1430; + const double t1438 = t306 * t620; + const double t1440 = 0.25e2 / 0.27e2 * t481; + const double t1441 = piecewise_functor_3( t99, -t1440, 0.0 ); + const double t1442 = c1 * t1441; + const double t1446 = t792 * t607; + const double t1450 = t316 * t1441; + const double t1452 = -0.2e1 * t101 * t1446 * t312 - t101 * t1450 - t1442 * t103 - 0.2e1 * t608 * t317; + const double t1453 = t1452 * t105; + const double t1454 = t612 * t319; + const double t1457 = piecewise_functor_3( t98, 0.0, t1454 * t105 + t1453 ); + const double t1458 = t615 * t119; + const double t1459 = t1458 * t325; + const double t1462 = piecewise_functor_3( t114, 0.0, -t1440 ); + const double t1468 = piecewise_functor_3( t114, 0.0, -t322 * t324 * t1462 * t119 - 0.2e1 * t1215 * t1459 - t1224 * t1459 ); + const double t1469 = piecewise_functor_3( t93, t1457, t1468 ); + const double t1472 = -0.4e1 * t1413 * t1415 + 0.2e1 * t262 * t1418 * t123 + 0.2e1 * t262 * t1431 * t123 - 0.2e1 * t262 * t600 * t330 - t262 * t1438 - t92 * t1469 + 0.1174e1 * t1469; + const double t1473 = t28 * t1472; + const double t1474 = t1473 * t141; + const double t1477 = t624 * t344; + const double t1478 = t342 * t1477; + const double t1482 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t250 * t625 - t1412 - 0.3e1 / 0.8e1 * t27 * t1474 - 0.16891736332904387511e1 * t1478 * t351 ); + const double t1486 = t254 * t658; + const double t1487 = t1486 * t237; + const double t1489 = t155 * t1487 / 0.8e1; + const double t1500 = t988 * t195; + const double t1501 = t634 * t222; + const double t1502 = t1501 * t433; + const double t1505 = t430 * t634; + const double t1510 = t629 * t46; + const double t1514 = t1044 * t181; + const double t1517 = t553 / 0.108e3 - t1510 * t1320 / 0.108e3 - t556 / 0.108e3 + t1514 * t1327 / 0.324e3; + const double t1518 = t195 * t1517; + const double t1525 = t433 * t655; + const double t1527 = 0.25e2 / 0.27e2 * t538; + const double t1528 = piecewise_functor_3( t205, -t1527, 0.0 ); + const double t1529 = c1 * t1528; + const double t1533 = t1069 * t642; + const double t1537 = t443 * t1528; + const double t1539 = -0.2e1 * t207 * t1533 * t439 - t1529 * t209 - t207 * t1537 - 0.2e1 * t643 * t444; + const double t1540 = t1539 * t211; + const double t1541 = t647 * t446; + const double t1544 = piecewise_functor_3( t204, 0.0, t1541 * t211 + t1540 ); + const double t1545 = t650 * t218; + const double t1546 = t1545 * t451; + const double t1549 = piecewise_functor_3( t213, 0.0, -t1527 ); + const double t1555 = piecewise_functor_3( t213, 0.0, -t322 * t450 * t1549 * t218 - 0.2e1 * t1358 * t1546 - t1367 * t1546 ); + const double t1556 = piecewise_functor_3( t203, t1544, t1555 ); + const double t1559 = -0.4e1 * t1500 * t1502 + 0.2e1 * t393 * t1505 * t222 + 0.2e1 * t393 * t1518 * t222 - 0.2e1 * t393 * t635 * t456 - t393 * t1525 - t202 * t1556 + 0.1174e1 * t1556; + const double t1560 = t28 * t1559; + const double t1561 = t1560 * t237; + const double t1564 = t659 * t466; + const double t1565 = t464 * t1564; + const double t1569 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t388 * t660 - t1489 - 0.3e1 / 0.8e1 * t155 * t1561 - 0.16891736332904387511e1 * t1565 * t473 ); + const double t1571 = t504 * t504; + const double t1572 = t1571 * t123; + const double t1583 = t732 * t51; + const double t1585 = 0.1e1 / t37 / t725; + const double t1587 = t1585 * t29 * t739; + const double t1590 = t501 * t501; + const double t1592 = t66 * t55; + const double t1594 = t1592 * t46 * t759; + const double t1597 = t766 * t55 * t769; + const double t1599 = -t1594 / 0.6912e4 + t1597 / 0.20736e5; + const double t1602 = t47 * t49 * t55 * t62 / 0.288e3 - 0.9e1 / 0.64e3 * t279 * sigma_aa * t487 * t62 + 0.243e3 / 0.2048e6 * t1583 * t1587 + 0.2e1 * t1590 + 0.2e1 * t85 * t1599; + const double t1603 = t1602 * t123; + const double t1605 = t504 * t521; + const double t1608 = piecewise_functor_3( t99, 0.0, 0.0 ); + const double t1609 = c1 * t1608; + const double t1610 = t1609 * t103; + const double t1611 = t508 * t508; + const double t1612 = c1 * t1611; + const double t1615 = t792 * t1611; + const double t1618 = t316 * t1608; + const double t1619 = t101 * t1618; + const double t1620 = -0.2e1 * t101 * t1615 - 0.2e1 * t1612 * t316 - t1610 - t1619; + const double t1622 = t513 * t513; + const double t1623 = t1622 * t105; + const double t1625 = piecewise_functor_3( t98, 0.0, t1620 * t105 + t1623 ); + const double t1626 = t516 * t516; + const double t1631 = piecewise_functor_3( t114, 0.0, 0.0 ); + const double t1634 = t322 * t324 * t1631 * t119; + const double t1639 = piecewise_functor_3( t114, 0.0, -0.2e1 * t322 * t805 * t1626 * t119 - t816 * t818 * t1626 * t119 - t1634 ); + const double t1640 = piecewise_functor_3( t93, t1625, t1639 ); + const double t1643 = -0.2e1 * t708 * t1572 + t262 * t1603 - 0.2e1 * t262 * t1605 - t92 * t1640 + 0.1174e1 * t1640; + const double t1644 = t28 * t1643; + const double t1645 = t1644 * t141; + const double t1650 = 0.1e1 / sigma_aa; + const double t1653 = t34 * t1650 * t39 * t140; + const double t1658 = t130 * t1258 * t133 * t140; + const double t1662 = 0.1e1 / t131 / t51; + const double t1664 = t1662 * t132 * t856; + const double t1668 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1645 + 0.12668802249678290633e1 * t1237 * t532 - 0.28504805061776153925e1 * t840 * t1653 - 0.31672005624195726583e0 * t346 * t1658 + 0.77333244142282054459e1 * t853 * t1664 ); + const double t1669 = t561 * t561; + const double t1670 = t1669 * t222; + const double t1681 = t732 * t164; + const double t1683 = 0.1e1 / t158 / t1005; + const double t1685 = t1683 * t29 * t1017; + const double t1688 = t558 * t558; + const double t1690 = t66 * t168; + const double t1692 = t1690 * t46 * t1037; + const double t1695 = t1044 * t168 * t1046; + const double t1697 = -t1692 / 0.6912e4 + t1695 / 0.20736e5; + const double t1700 = t47 * t49 * t168 * t174 / 0.288e3 - 0.9e1 / 0.64e3 * t279 * sigma_bb * t544 * t174 + 0.243e3 / 0.2048e6 * t1681 * t1685 + 0.2e1 * t1688 + 0.2e1 * t195 * t1697; + const double t1701 = t1700 * t222; + const double t1703 = t561 * t578; + const double t1706 = piecewise_functor_3( t205, 0.0, 0.0 ); + const double t1707 = c1 * t1706; + const double t1708 = t1707 * t209; + const double t1709 = t565 * t565; + const double t1710 = c1 * t1709; + const double t1713 = t1069 * t1709; + const double t1716 = t443 * t1706; + const double t1717 = t207 * t1716; + const double t1718 = -0.2e1 * t1710 * t443 - 0.2e1 * t207 * t1713 - t1708 - t1717; + const double t1720 = t570 * t570; + const double t1721 = t1720 * t211; + const double t1723 = piecewise_functor_3( t204, 0.0, t1718 * t211 + t1721 ); + const double t1724 = t573 * t573; + const double t1729 = piecewise_functor_3( t213, 0.0, 0.0 ); + const double t1732 = t322 * t450 * t1729 * t218; + const double t1737 = piecewise_functor_3( t213, 0.0, -0.2e1 * t322 * t1082 * t1724 * t218 - t816 * t1093 * t1724 * t218 - t1732 ); + const double t1738 = piecewise_functor_3( t203, t1723, t1737 ); + const double t1741 = -0.2e1 * t988 * t1670 + t393 * t1701 - 0.2e1 * t393 * t1703 - t202 * t1738 + 0.1174e1 * t1738; + const double t1742 = t28 * t1741; + const double t1743 = t1742 * t237; + const double t1748 = 0.1e1 / sigma_bb; + const double t1751 = t34 * t1748 * t160 * t236; + const double t1756 = t130 * t1399 * t229 * t236; + const double t1760 = 0.1e1 / t227 / t164; + const double t1762 = t1760 * t228 * t1131; + const double t1766 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t1743 + 0.12668802249678290633e1 * t1380 * t589 - 0.28504805061776153925e1 * t1115 * t1751 - 0.31672005624195726583e0 * t468 * t1756 + 0.77333244142282054459e1 * t1128 * t1762 ); + const double t1767 = t1414 * t504; + const double t1770 = t501 * t599; + const double t1775 = 0.1e1 / t36 / t52; + const double t1776 = t66 * t1775; + const double t1778 = t1776 * t46 * t759; + const double t1781 = t766 * t1775 * t769; + const double t1783 = t1778 / 0.864e3 - t1781 / 0.2592e4; + const double t1784 = t85 * t1783; + const double t1791 = t504 * t620; + const double t1798 = -0.2e1 * t101 * t1446 * t508 - 0.2e1 * t608 * t511 - t1610 - t1619; + const double t1799 = t1798 * t105; + const double t1800 = t612 * t513; + const double t1803 = piecewise_functor_3( t98, 0.0, t1800 * t105 + t1799 ); + const double t1804 = t1458 * t516; + const double t1809 = piecewise_functor_3( t114, 0.0, -0.2e1 * t1215 * t1804 - t1224 * t1804 - t1634 ); + const double t1810 = piecewise_functor_3( t93, t1803, t1809 ); + const double t1813 = -0.4e1 * t1413 * t1767 + 0.2e1 * t262 * t1770 * t123 + 0.2e1 * t262 * t1784 * t123 - 0.2e1 * t262 * t600 * t521 - t262 * t1791 - t92 * t1810 + 0.1174e1 * t1810; + const double t1814 = t28 * t1813; + const double t1815 = t1814 * t141; + const double t1821 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1815 + 0.63344011248391453166e0 * t1478 * t532 ); + const double t1822 = t1501 * t561; + const double t1825 = t558 * t634; + const double t1830 = 0.1e1 / t157 / t165; + const double t1831 = t66 * t1830; + const double t1833 = t1831 * t46 * t1037; + const double t1836 = t1044 * t1830 * t1046; + const double t1838 = t1833 / 0.864e3 - t1836 / 0.2592e4; + const double t1839 = t195 * t1838; + const double t1846 = t561 * t655; + const double t1853 = -0.2e1 * t207 * t1533 * t565 - 0.2e1 * t643 * t568 - t1708 - t1717; + const double t1854 = t1853 * t211; + const double t1855 = t647 * t570; + const double t1858 = piecewise_functor_3( t204, 0.0, t1855 * t211 + t1854 ); + const double t1859 = t1545 * t573; + const double t1864 = piecewise_functor_3( t213, 0.0, -0.2e1 * t1358 * t1859 - t1367 * t1859 - t1732 ); + const double t1865 = piecewise_functor_3( t203, t1858, t1864 ); + const double t1868 = -0.4e1 * t1500 * t1822 + 0.2e1 * t393 * t1825 * t222 + 0.2e1 * t393 * t1839 * t222 - 0.2e1 * t393 * t635 * t578 - t393 * t1846 - t202 * t1865 + 0.1174e1 * t1865; + const double t1869 = t28 * t1868; + const double t1870 = t1869 * t237; + const double t1876 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t1870 + 0.63344011248391453166e0 * t1565 * t589 ); + const double t1877 = t599 * t599; + const double t1878 = t86 * t1877; + const double t1882 = t1877 * t123; + const double t1885 = t66 * t846; + const double t1892 = -t1885 * t46 * t759 / 0.108e3 + t766 * t846 * t769 / 0.324e3; + const double t1893 = t85 * t1892; + const double t1900 = t607 * t607; + const double t1901 = c1 * t1900; + const double t1907 = -0.2e1 * t101 * t792 * t1900 - 0.2e1 * t1901 * t316 - t1610 - t1619; + const double t1909 = t612 * t612; + const double t1910 = t1909 * t105; + const double t1912 = piecewise_functor_3( t98, 0.0, t1907 * t105 + t1910 ); + const double t1913 = t615 * t615; + const double t1922 = piecewise_functor_3( t114, 0.0, -0.2e1 * t322 * t805 * t1913 * t119 - t816 * t818 * t1913 * t119 - t1634 ); + const double t1923 = piecewise_functor_3( t93, t1912, t1922 ); + const double t1926 = -0.8e1 * t708 * t1878 * t123 + 0.2e1 * t262 * t1882 + 0.2e1 * t262 * t1893 * t123 - 0.4e1 * t262 * t600 * t620 - t92 * t1923 + 0.1174e1 * t1923; + const double t1927 = t28 * t1926; + const double t1928 = t1927 * t141; + const double t1931 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t27 * t1928 ); + const double t1932 = t634 * t634; + const double t1933 = t196 * t1932; + const double t1937 = t1932 * t222; + const double t1940 = t66 * t1121; + const double t1947 = -t1940 * t46 * t1037 / 0.108e3 + t1044 * t1121 * t1046 / 0.324e3; + const double t1948 = t195 * t1947; + const double t1955 = t642 * t642; + const double t1956 = c1 * t1955; + const double t1962 = -0.2e1 * t207 * t1069 * t1955 - 0.2e1 * t1956 * t443 - t1708 - t1717; + const double t1964 = t647 * t647; + const double t1965 = t1964 * t211; + const double t1967 = piecewise_functor_3( t204, 0.0, t1962 * t211 + t1965 ); + const double t1968 = t650 * t650; + const double t1977 = piecewise_functor_3( t213, 0.0, -0.2e1 * t322 * t1082 * t1968 * t218 - t816 * t1093 * t1968 * t218 - t1732 ); + const double t1978 = piecewise_functor_3( t203, t1967, t1977 ); + const double t1981 = -0.8e1 * t988 * t1933 * t222 + 0.2e1 * t393 * t1937 + 0.2e1 * t393 * t1948 * t222 - 0.4e1 * t393 * t635 * t655 - t202 * t1978 + 0.1174e1 * t1978; + const double t1982 = t28 * t1981; + const double t1983 = t1982 * t237; + const double t1986 = piecewise_functor_3( t146, 0.0, -0.3e1 / 0.8e1 * t155 * t1983 ); - eps = t145 + t241; vrho_a = t145 + t241 + t7 * ( t355 + t370 ); vrho_b = t145 + t241 + t7 * ( t382 + t477 ); vsigma_aa = t7 * t536; @@ -876,6 +3594,53 @@ struct kernel_traits< BuiltinSCAN_X > : vlapl_b = 0.e0; vtau_a = t7 * t628; vtau_b = t7 * t663; + v2rho2_aa = 0.2e1 * t355 + 0.2e1 * t370 + t7 * ( t861 + t885 ); + v2rho2_bb = 0.2e1 * t382 + 0.2e1 * t477 + t7 * ( t963 + t1136 ); + v2rhosigma_a_aa = t7 * t1264 + t536; + v2rhosigma_b_bb = t7 * t1405 + t593; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1482 + t628; + v2rhotau_b_b = t7 * t1569 + t663; + v2sigma2_aa_aa = t7 * t1668; + v2sigma2_bb_bb = t7 * t1766; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1821; + v2sigmatau_bb_b = t7 * t1876; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t1931; + v2tau2_bb = t7 * t1986; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + } @@ -893,4 +3658,4 @@ struct BuiltinSCAN_X : detail::BuiltinKernelImpl< BuiltinSCAN_X > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/screening_interface.hpp b/include/exchcxx/impl/builtin/kernels/screening_interface.hpp index 4148bdd..e34b775 100644 --- a/include/exchcxx/impl/builtin/kernels/screening_interface.hpp +++ b/include/exchcxx/impl/builtin/kernels/screening_interface.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -42,18 +93,17 @@ struct lda_screening_interface { } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_unpolar( double rho, double& eps, double& vxc ) { + eval_exc_vxc_unpolar( double rho, double& eps, double& vrho ) { if( rho <= traits::dens_tol ) { - eps = 0.; - vxc = 0.; + eps = 0.; + vrho = 0.; } else { - traits::eval_exc_vxc_unpolar_impl( rho, eps, vxc ); + traits::eval_exc_vxc_unpolar_impl( rho, eps, vrho ); } } - BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { @@ -73,6 +123,69 @@ struct lda_screening_interface { } +BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar( double rho, double& v2rho2 ) { + + if( rho <= traits::dens_tol ) { + v2rho2 = 0.; + } else { + traits::eval_fxc_unpolar_impl( rho, v2rho2 ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar( double rho_a, double rho_b, double& v2rho2_aa, + double& v2rho2_ab, double& v2rho2_bb ) { + + const double rho_s = rho_a + rho_b; + + if( rho_s <= traits::dens_tol ) { + v2rho2_aa = 0.; + v2rho2_ab = 0.; + v2rho2_bb = 0.; + } else { + rho_a = safe_max(rho_a, traits::dens_tol); + rho_b = safe_max(rho_b, traits::dens_tol); + traits::eval_fxc_polar_impl( rho_a, rho_b, v2rho2_aa, v2rho2_ab, v2rho2_bb ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar( double rho, double& vrho, double& v2rho2 ) { + + if( rho <= traits::dens_tol ) { + vrho = 0.; + v2rho2 = 0.; + } else { + traits::eval_vxc_fxc_unpolar_impl( rho, vrho, v2rho2 ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar( double rho_a, double rho_b, double& vrho_a, + double& vrho_b, double& v2rho2_aa, + double& v2rho2_ab, double& v2rho2_bb ) { + + const double rho_s = rho_a + rho_b; + + if( rho_s <= traits::dens_tol ) { + vrho_a = 0.; + vrho_b = 0.; + v2rho2_aa = 0.; + v2rho2_ab = 0.; + v2rho2_bb = 0.; + } else { + rho_a = safe_max(rho_a, traits::dens_tol); + rho_b = safe_max(rho_b, traits::dens_tol); + traits::eval_vxc_fxc_polar_impl( rho_a, rho_b, vrho_a, vrho_b, + v2rho2_aa, v2rho2_ab, v2rho2_bb ); + } + + } + }; @@ -161,6 +274,109 @@ struct gga_screening_interface { } +BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + if( rho <= traits::dens_tol ) { + v2rho2 = 0.; + v2rhosigma = 0.; + v2sigma2 = 0.; + } else { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + sigma = safe_max(sigma, sigma_tol_sq); + traits::eval_fxc_unpolar_impl( rho, sigma, v2rho2, v2rhosigma, v2sigma2 ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, + double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, + double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, + double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, + double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, + double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + const double rho_s = rho_a + rho_b; + + if( rho_s <= traits::dens_tol ) { + v2rho2_aa = 0.; v2rho2_ab = 0.; v2rho2_bb = 0.; + v2rhosigma_a_aa = 0.; v2rhosigma_a_ab = 0.; v2rhosigma_a_bb = 0.; + v2rhosigma_b_aa = 0.; v2rhosigma_b_ab = 0.; v2rhosigma_b_bb = 0.; + v2sigma2_aa_aa = 0.; v2sigma2_aa_ab = 0.; v2sigma2_aa_bb = 0.; + v2sigma2_ab_ab = 0.; v2sigma2_ab_bb = 0.; v2sigma2_bb_bb = 0.; + } else { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + rho_a = safe_max(rho_a, traits::dens_tol); + rho_b = safe_max(rho_b, traits::dens_tol); + sigma_aa = safe_max(sigma_aa, sigma_tol_sq); + sigma_bb = safe_max(sigma_bb, sigma_tol_sq); + sigma_ab = enforce_polar_sigma_constraints(sigma_aa, sigma_ab, sigma_bb); + traits::eval_fxc_polar_impl( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, + v2rho2_aa, v2rho2_ab, v2rho2_bb, + v2rhosigma_a_aa, v2rhosigma_a_ab, v2rhosigma_a_bb, + v2rhosigma_b_aa, v2rhosigma_b_ab, v2rhosigma_b_bb, + v2sigma2_aa_aa, v2sigma2_aa_ab, v2sigma2_aa_bb, + v2sigma2_ab_ab, v2sigma2_ab_bb, v2sigma2_bb_bb ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar( double rho, double sigma, double& vrho, double& vsigma, + double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + if( rho <= traits::dens_tol ) { + vrho = 0.; vsigma = 0.; + v2rho2 = 0.; v2rhosigma = 0.; v2sigma2 = 0.; + } else { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + sigma = safe_max(sigma, sigma_tol_sq); + traits::eval_vxc_fxc_unpolar_impl( rho, sigma, vrho, vsigma, + v2rho2, v2rhosigma, v2sigma2 ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, + double& vrho_a, double& vrho_b, + double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, + double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, + double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, + double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, + double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, + double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + const double rho_s = rho_a + rho_b; + + vrho_a = 0.; vrho_b = 0.; + vsigma_aa = 0.; vsigma_ab = 0.; vsigma_bb = 0.; + v2rho2_aa = 0.; v2rho2_ab = 0.; v2rho2_bb = 0.; + v2rhosigma_a_aa = 0.; v2rhosigma_a_ab = 0.; v2rhosigma_a_bb = 0.; + v2rhosigma_b_aa = 0.; v2rhosigma_b_ab = 0.; v2rhosigma_b_bb = 0.; + v2sigma2_aa_aa = 0.; v2sigma2_aa_ab = 0.; v2sigma2_aa_bb = 0.; + v2sigma2_ab_ab = 0.; v2sigma2_ab_bb = 0.; v2sigma2_bb_bb = 0.; + + if( rho_s > traits::dens_tol ) { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + rho_a = safe_max(rho_a, traits::dens_tol); + rho_b = safe_max(rho_b, traits::dens_tol); + sigma_aa = safe_max(sigma_aa, sigma_tol_sq); + sigma_bb = safe_max(sigma_bb, sigma_tol_sq); + sigma_ab = enforce_polar_sigma_constraints(sigma_aa, sigma_ab, sigma_bb); + traits::eval_vxc_fxc_polar_impl( rho_a, rho_b, sigma_aa, sigma_ab, sigma_bb, + vrho_a, vrho_b, + vsigma_aa, vsigma_ab, vsigma_bb, + v2rho2_aa, v2rho2_ab, v2rho2_bb, + v2rhosigma_a_aa, v2rhosigma_a_ab, v2rhosigma_a_bb, + v2rhosigma_b_aa, v2rhosigma_b_ab, v2rhosigma_b_bb, + v2sigma2_aa_aa, v2sigma2_aa_ab, v2sigma2_aa_bb, + v2sigma2_ab_ab, v2sigma2_ab_bb, v2sigma2_bb_bb ); + } + + } + }; template @@ -289,6 +505,220 @@ struct mgga_screening_interface { } +BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar( double rho, double sigma, double lapl, double tau, + double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, + double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, + double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + if( rho <= traits::dens_tol ) { + v2rho2 = 0.; v2rhosigma = 0.; v2rholapl = 0.; v2rhotau = 0.; + v2sigma2 = 0.; v2sigmalapl = 0.; v2sigmatau = 0.; + v2lapl2 = 0.; v2lapltau = 0.; v2tau2 = 0.; + } else { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + sigma = safe_max(sigma, sigma_tol_sq); + tau = safe_max(tau, traits::tau_tol); + if constexpr (not traits::is_kedf) { + sigma = enforce_fermi_hole_curvature(sigma, rho, tau); + } + traits::eval_fxc_unpolar_impl(rho, sigma, lapl, tau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2 ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar( double rho_a, double rho_b, + double sigma_aa, double sigma_ab, double sigma_bb, + double lapl_a, double lapl_b, double tau_a, double tau_b, + double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, + double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, + double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, + double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, + double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, + double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, + double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, + double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, + double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, + double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, + double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, + double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, + double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, + double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + const double rho_s = rho_a + rho_b; + + // Initialize all values to zero + v2rho2_aa = 0.; v2rho2_ab = 0.; v2rho2_bb = 0.; + v2rhosigma_a_aa = 0.; v2rhosigma_a_ab = 0.; v2rhosigma_a_bb = 0.; + v2rhosigma_b_aa = 0.; v2rhosigma_b_ab = 0.; v2rhosigma_b_bb = 0.; + v2rholapl_a_a = 0.; v2rholapl_a_b = 0.; v2rholapl_b_a = 0.; v2rholapl_b_b = 0.; + v2rhotau_a_a = 0.; v2rhotau_a_b = 0.; v2rhotau_b_a = 0.; v2rhotau_b_b = 0.; + v2sigma2_aa_aa = 0.; v2sigma2_aa_ab = 0.; v2sigma2_aa_bb = 0.; + v2sigma2_ab_ab = 0.; v2sigma2_ab_bb = 0.; v2sigma2_bb_bb = 0.; + v2sigmalapl_aa_a = 0.; v2sigmalapl_aa_b = 0.; v2sigmalapl_ab_a = 0.; + v2sigmalapl_ab_b = 0.; v2sigmalapl_bb_a = 0.; v2sigmalapl_bb_b = 0.; + v2sigmatau_aa_a = 0.; v2sigmatau_aa_b = 0.; v2sigmatau_ab_a = 0.; + v2sigmatau_ab_b = 0.; v2sigmatau_bb_a = 0.; v2sigmatau_bb_b = 0.; + v2lapl2_aa = 0.; v2lapl2_ab = 0.; v2lapl2_bb = 0.; + v2lapltau_a_a = 0.; v2lapltau_a_b = 0.; v2lapltau_b_a = 0.; v2lapltau_b_b = 0.; + v2tau2_aa = 0.; v2tau2_ab = 0.; v2tau2_bb = 0.; + + if( rho_s > traits::dens_tol ) { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + rho_a = safe_max(rho_a, traits::dens_tol); + rho_b = safe_max(rho_b, traits::dens_tol); + sigma_aa = safe_max(sigma_aa, sigma_tol_sq); + sigma_bb = safe_max(sigma_bb, sigma_tol_sq); + tau_a = safe_max(tau_a, traits::tau_tol); + tau_b = safe_max(tau_b, traits::tau_tol); + if constexpr (not traits::is_kedf) { + sigma_aa = enforce_fermi_hole_curvature(sigma_aa, rho_a, tau_a); + sigma_bb = enforce_fermi_hole_curvature(sigma_bb, rho_b, tau_b); + } + sigma_ab = enforce_polar_sigma_constraints(sigma_aa, sigma_ab, sigma_bb); + + traits::eval_fxc_polar_impl( rho_a, rho_b, + sigma_aa, sigma_ab, sigma_bb, + lapl_a, lapl_b, + safe_max(traits::tau_tol, tau_a), + safe_max(traits::tau_tol, tau_b), + v2rho2_aa, v2rho2_ab, v2rho2_bb, + v2rhosigma_a_aa, v2rhosigma_a_ab, v2rhosigma_a_bb, + v2rhosigma_b_aa, v2rhosigma_b_ab, v2rhosigma_b_bb, + v2rholapl_a_a, v2rholapl_a_b, v2rholapl_b_a, v2rholapl_b_b, + v2rhotau_a_a, v2rhotau_a_b, v2rhotau_b_a, v2rhotau_b_b, + v2sigma2_aa_aa, v2sigma2_aa_ab, v2sigma2_aa_bb, + v2sigma2_ab_ab, v2sigma2_ab_bb, v2sigma2_bb_bb, + v2sigmalapl_aa_a, v2sigmalapl_aa_b, v2sigmalapl_ab_a, + v2sigmalapl_ab_b, v2sigmalapl_bb_a, v2sigmalapl_bb_b, + v2sigmatau_aa_a, v2sigmatau_aa_b, v2sigmatau_ab_a, + v2sigmatau_ab_b, v2sigmatau_bb_a, v2sigmatau_bb_b, + v2lapl2_aa, v2lapl2_ab, v2lapl2_bb, + v2lapltau_a_a, v2lapltau_a_b, v2lapltau_b_a, v2lapltau_b_b, + v2tau2_aa, v2tau2_ab, v2tau2_bb ); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar( double rho, double sigma, double lapl, double tau, + double& vrho, double& vsigma, double& vlapl, double& vtau, + double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, + double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, + double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + if( rho <= traits::dens_tol ) { + vrho = 0.; vsigma = 0.; vlapl = 0.; vtau = 0.; + v2rho2 = 0.; v2rhosigma = 0.; v2rholapl = 0.; v2rhotau = 0.; + v2sigma2 = 0.; v2sigmalapl = 0.; v2sigmatau = 0.; + v2lapl2 = 0.; v2lapltau = 0.; v2tau2 = 0.; + } else { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + sigma = safe_max(sigma, sigma_tol_sq); + tau = safe_max(tau, traits::tau_tol); + + if constexpr (not traits::is_kedf) { + sigma = enforce_fermi_hole_curvature(sigma, rho, tau); + } + + traits::eval_vxc_fxc_unpolar_impl(rho, sigma, lapl, tau, + vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2); + } + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar( double rho_a, double rho_b, + double sigma_aa, double sigma_ab, double sigma_bb, + double lapl_a, double lapl_b, double tau_a, double tau_b, + double& vrho_a, double& vrho_b, + double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, + double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, + double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, + double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, + double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, + double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, + double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, + double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, + double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, + double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, + double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, + double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, + double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, + double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, + double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, + double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + const double rho_s = rho_a + rho_b; + + // Initialize all values to zero + vrho_a = 0.; vrho_b = 0.; + vsigma_aa = 0.; vsigma_ab = 0.; vsigma_bb = 0.; + vlapl_a = 0.; vlapl_b = 0.; vtau_a = 0.; vtau_b = 0.; + v2rho2_aa = 0.; v2rho2_ab = 0.; v2rho2_bb = 0.; + v2rhosigma_a_aa = 0.; v2rhosigma_a_ab = 0.; v2rhosigma_a_bb = 0.; + v2rhosigma_b_aa = 0.; v2rhosigma_b_ab = 0.; v2rhosigma_b_bb = 0.; + v2rholapl_a_a = 0.; v2rholapl_a_b = 0.; v2rholapl_b_a = 0.; v2rholapl_b_b = 0.; + v2rhotau_a_a = 0.; v2rhotau_a_b = 0.; v2rhotau_b_a = 0.; v2rhotau_b_b = 0.; + v2sigma2_aa_aa = 0.; v2sigma2_aa_ab = 0.; v2sigma2_aa_bb = 0.; + v2sigma2_ab_ab = 0.; v2sigma2_ab_bb = 0.; v2sigma2_bb_bb = 0.; + v2sigmalapl_aa_a = 0.; v2sigmalapl_aa_b = 0.; v2sigmalapl_ab_a = 0.; + v2sigmalapl_ab_b = 0.; v2sigmalapl_bb_a = 0.; v2sigmalapl_bb_b = 0.; + v2sigmatau_aa_a = 0.; v2sigmatau_aa_b = 0.; v2sigmatau_ab_a = 0.; + v2sigmatau_ab_b = 0.; v2sigmatau_bb_a = 0.; v2sigmatau_bb_b = 0.; + v2lapl2_aa = 0.; v2lapl2_ab = 0.; v2lapl2_bb = 0.; + v2lapltau_a_a = 0.; v2lapltau_a_b = 0.; v2lapltau_b_a = 0.; v2lapltau_b_b = 0.; + v2tau2_aa = 0.; v2tau2_ab = 0.; v2tau2_bb = 0.; + + if( rho_s > traits::dens_tol ) { + constexpr auto sigma_tol_sq = traits::sigma_tol * traits::sigma_tol; + rho_a = safe_max(rho_a, traits::dens_tol); + rho_b = safe_max(rho_b, traits::dens_tol); + sigma_aa = safe_max(sigma_aa, sigma_tol_sq); + sigma_bb = safe_max(sigma_bb, sigma_tol_sq); + tau_a = safe_max(tau_a, traits::tau_tol); + tau_b = safe_max(tau_b, traits::tau_tol); + + if constexpr (not traits::is_kedf) { + sigma_aa = enforce_fermi_hole_curvature(sigma_aa, rho_a, tau_a); + sigma_bb = enforce_fermi_hole_curvature(sigma_bb, rho_b, tau_b); + } + + sigma_ab = enforce_polar_sigma_constraints(sigma_aa, sigma_ab, sigma_bb); + + traits::eval_vxc_fxc_polar_impl( rho_a, rho_b, + sigma_aa, sigma_ab, sigma_bb, + lapl_a, lapl_b, + safe_max(traits::tau_tol, tau_a), + safe_max(traits::tau_tol, tau_b), + vrho_a, vrho_b, + vsigma_aa, vsigma_ab, vsigma_bb, + vlapl_a, vlapl_b, vtau_a, vtau_b, + v2rho2_aa, v2rho2_ab, v2rho2_bb, + v2rhosigma_a_aa, v2rhosigma_a_ab, v2rhosigma_a_bb, + v2rhosigma_b_aa, v2rhosigma_b_ab, v2rhosigma_b_bb, + v2rholapl_a_a, v2rholapl_a_b, v2rholapl_b_a, v2rholapl_b_b, + v2rhotau_a_a, v2rhotau_a_b, v2rhotau_b_a, v2rhotau_b_b, + v2sigma2_aa_aa, v2sigma2_aa_ab, v2sigma2_aa_bb, + v2sigma2_ab_ab, v2sigma2_ab_bb, v2sigma2_bb_bb, + v2sigmalapl_aa_a, v2sigmalapl_aa_b, v2sigmalapl_ab_a, + v2sigmalapl_ab_b, v2sigmalapl_bb_a, v2sigmalapl_bb_b, + v2sigmatau_aa_a, v2sigmatau_aa_b, v2sigmatau_ab_a, + v2sigmatau_ab_b, v2sigmatau_bb_a, v2sigmatau_bb_b, + v2lapl2_aa, v2lapl2_ab, v2lapl2_bb, + v2lapltau_a_a, v2lapltau_a_b, v2lapltau_b_a, v2lapltau_b_b, + v2tau2_aa, v2tau2_ab, v2tau2_bb ); + } + + } + }; } diff --git a/include/exchcxx/impl/builtin/kernels/slater_exchange.hpp b/include/exchcxx/impl/builtin/kernels/slater_exchange.hpp index fa330a3..46666c2 100644 --- a/include/exchcxx/impl/builtin/kernels/slater_exchange.hpp +++ b/include/exchcxx/impl/builtin/kernels/slater_exchange.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,15 +79,12 @@ struct kernel_traits< BuiltinSlaterExchange > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; static constexpr double alpha = 1.0; BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t6 = t3 / t4; @@ -57,7 +105,6 @@ struct kernel_traits< BuiltinSlaterExchange > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t3 = constants::m_cbrt_3; constexpr double t4 = constants::m_cbrt_pi; constexpr double t6 = t3 / t4; @@ -79,10 +126,56 @@ struct kernel_traits< BuiltinSlaterExchange > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t6 = t3 / t4; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t8 = safe_math::cbrt( zeta_tol ); + const double t10 = piecewise_functor_3( 0.1e1 <= zeta_tol, t8 * zeta_tol, 1.0 ); + const double t11 = safe_math::cbrt( rho ); + const double t17 = rho * alpha; + const double t18 = t11 * t11; + const double t23 = piecewise_functor_3( t2, 0.0, -t6 * t10 / t18 / 0.8e1 ); + const double t33 = piecewise_functor_3( t2, 0.0, t6 * t10 / t18 / rho / 0.12e2 ); + + + v2rho2 = 0.2e1 * t17 * t33 + 0.4e1 * alpha * t23; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t6 = t3 / t4; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t8 = safe_math::cbrt( zeta_tol ); + const double t10 = piecewise_functor_3( 0.1e1 <= zeta_tol, t8 * zeta_tol, 1.0 ); + const double t11 = safe_math::cbrt( rho ); + const double t15 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t10 * t11 ); + const double t16 = alpha * t15; + const double t17 = rho * alpha; + const double t18 = t11 * t11; + const double t23 = piecewise_functor_3( t2, 0.0, -t6 * t10 / t18 / 0.8e1 ); + const double t33 = piecewise_functor_3( t2, 0.0, t6 * t10 / t18 / rho / 0.12e2 ); + + + vrho = 0.2e1 * t17 * t23 + 0.2e1 * t16; + v2rho2 = 0.2e1 * t17 * t33 + 0.4e1 * alpha * t23; + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t13 = constants::m_cbrt_2; @@ -119,7 +212,6 @@ struct kernel_traits< BuiltinSlaterExchange > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { - (void)(eps); constexpr double t2 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_pi; constexpr double t13 = constants::m_cbrt_2; @@ -192,6 +284,262 @@ struct kernel_traits< BuiltinSlaterExchange > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t13 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t8 = rho_a * t7; + const double t10 = 0.2e1 * t8 <= zeta_tol; + const double t11 = safe_math::cbrt( zeta_tol ); + const double t12 = t11 * zeta_tol; + const double t14 = t13 * rho_a; + const double t15 = safe_math::cbrt( t8 ); + const double t19 = piecewise_functor_3( t10, t12, 0.2e1 * t14 * t7 * t15 ); + const double t20 = safe_math::cbrt( t6 ); + const double t26 = rho_b <= dens_tol; + const double t27 = rho_b * t7; + const double t29 = 0.2e1 * t27 <= zeta_tol; + const double t30 = t13 * rho_b; + const double t31 = safe_math::cbrt( t27 ); + const double t35 = piecewise_functor_3( t29, t12, 0.2e1 * t30 * t7 * t31 ); + const double t41 = t13 * t7; + const double t44 = t6 * t6; + const double t45 = 0.1e1 / t44; + const double t48 = 0.2e1 * t14 * t45 * t15; + const double t49 = t15 * t15; + const double t50 = 0.1e1 / t49; + const double t51 = t7 * t50; + const double t53 = -rho_a * t45 + t7; + const double t58 = piecewise_functor_3( t10, 0.0, 0.2e1 * t41 * t15 - t48 + 0.2e1 / 0.3e1 * t14 * t51 * t53 ); + const double t62 = t20 * t20; + const double t63 = 0.1e1 / t62; + const double t66 = t5 * t19 * t63 / 0.8e1; + const double t68 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t58 * t20 - t66 ); + const double t69 = alpha * t68; + const double t72 = 0.2e1 * t30 * t45 * t31; + const double t73 = rho_b * rho_b; + const double t74 = t13 * t73; + const double t75 = t44 * t6; + const double t76 = 0.1e1 / t75; + const double t77 = t31 * t31; + const double t78 = 0.1e1 / t77; + const double t79 = t76 * t78; + const double t83 = piecewise_functor_3( t29, 0.0, -t72 - 0.2e1 / 0.3e1 * t74 * t79 ); + const double t89 = t5 * t35 * t63 / 0.8e1; + const double t91 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t83 * t20 - t89 ); + const double t92 = alpha * t91; + const double t95 = rho_a * rho_a; + const double t96 = t13 * t95; + const double t97 = t76 * t50; + const double t101 = piecewise_functor_3( t10, 0.0, -t48 - 0.2e1 / 0.3e1 * t96 * t97 ); + const double t106 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t101 * t20 - t66 ); + const double t107 = alpha * t106; + const double t110 = t7 * t78; + const double t112 = -rho_b * t45 + t7; + const double t117 = piecewise_functor_3( t29, 0.0, 0.2e1 * t41 * t31 - t72 + 0.2e1 / 0.3e1 * t30 * t110 * t112 ); + const double t122 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t117 * t20 - t89 ); + const double t123 = alpha * t122; + const double t128 = t13 * t45; + const double t129 = t128 * t15; + const double t131 = t50 * t53; + const double t136 = 0.4e1 * t14 * t76 * t15; + const double t137 = t45 * t50; + const double t139 = t14 * t137 * t53; + const double t142 = 0.1e1 / t49 / t8; + const double t143 = t7 * t142; + const double t144 = t53 * t53; + const double t150 = 0.2e1 * rho_a * t76 - 0.2e1 * t45; + const double t155 = piecewise_functor_3( t10, 0.0, -0.4e1 * t129 + 0.4e1 / 0.3e1 * t41 * t131 + t136 - 0.4e1 / 0.3e1 * t139 - 0.4e1 / 0.9e1 * t14 * t143 * t144 + 0.2e1 / 0.3e1 * t14 * t51 * t150 ); + const double t160 = t5 * t58 * t63; + const double t163 = 0.1e1 / t62 / t6; + const double t166 = t5 * t19 * t163 / 0.12e2; + const double t168 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t155 * t20 - t160 / 0.4e1 + t166 ); + const double t169 = alpha * t168; + const double t172 = 0.4e1 * t30 * t76 * t31; + const double t173 = t44 * t44; + const double t174 = 0.1e1 / t173; + const double t175 = t174 * t78; + const double t176 = t74 * t175; + const double t178 = t73 * rho_b; + const double t179 = t13 * t178; + const double t181 = 0.1e1 / t173 / t6; + const double t183 = 0.1e1 / t77 / t27; + const double t184 = t181 * t183; + const double t188 = piecewise_functor_3( t29, 0.0, t172 + 0.8e1 / 0.3e1 * t176 - 0.4e1 / 0.9e1 * t179 * t184 ); + const double t193 = t5 * t83 * t63; + const double t197 = t5 * t35 * t163 / 0.12e2; + const double t199 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t188 * t20 - t193 / 0.4e1 + t197 ); + const double t200 = alpha * t199; + const double t207 = t174 * t50; + const double t208 = t96 * t207; + const double t220 = t5 * t101 * t63; + const double t226 = t128 * t31; + const double t233 = t45 * t78; + const double t235 = t30 * t233 * t112; + const double t241 = rho_b * t76; + const double t253 = t5 * t117 * t63; + const double t264 = t95 * rho_a; + const double t265 = t13 * t264; + const double t266 = t181 * t142; + const double t270 = piecewise_functor_3( t10, 0.0, t136 + 0.8e1 / 0.3e1 * t208 - 0.4e1 / 0.9e1 * t265 * t266 ); + const double t276 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t270 * t20 - t220 / 0.4e1 + t166 ); + const double t277 = alpha * t276; + const double t279 = t78 * t112; + const double t283 = t7 * t183; + const double t284 = t112 * t112; + const double t289 = -0.2e1 * t45 + 0.2e1 * t241; + const double t294 = piecewise_functor_3( t29, 0.0, -0.4e1 * t226 + 0.4e1 / 0.3e1 * t41 * t279 + t172 - 0.4e1 / 0.3e1 * t235 - 0.4e1 / 0.9e1 * t30 * t283 * t284 + 0.2e1 / 0.3e1 * t30 * t110 * t289 ); + const double t300 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t294 * t20 - t253 / 0.4e1 + t197 ); + const double t301 = alpha * t300; + + + v2rho2_aa = 0.2e1 * t69 + 0.2e1 * t92 + t6 * ( t169 + t200 ); + v2rho2_bb = 0.2e1 * t107 + 0.2e1 * t123 + t6 * ( t277 + t301 ); + v2rho2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t13 = constants::m_cbrt_2; + constexpr double t5 = t2 / t3; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t8 = rho_a * t7; + const double t10 = 0.2e1 * t8 <= zeta_tol; + const double t11 = safe_math::cbrt( zeta_tol ); + const double t12 = t11 * zeta_tol; + const double t14 = t13 * rho_a; + const double t15 = safe_math::cbrt( t8 ); + const double t19 = piecewise_functor_3( t10, t12, 0.2e1 * t14 * t7 * t15 ); + const double t20 = safe_math::cbrt( t6 ); + const double t24 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t19 * t20 ); + const double t25 = alpha * t24; + const double t26 = rho_b <= dens_tol; + const double t27 = rho_b * t7; + const double t29 = 0.2e1 * t27 <= zeta_tol; + const double t30 = t13 * rho_b; + const double t31 = safe_math::cbrt( t27 ); + const double t35 = piecewise_functor_3( t29, t12, 0.2e1 * t30 * t7 * t31 ); + const double t39 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t35 * t20 ); + const double t40 = alpha * t39; + const double t41 = t13 * t7; + const double t44 = t6 * t6; + const double t45 = 0.1e1 / t44; + const double t48 = 0.2e1 * t14 * t45 * t15; + const double t49 = t15 * t15; + const double t50 = 0.1e1 / t49; + const double t51 = t7 * t50; + const double t53 = -rho_a * t45 + t7; + const double t58 = piecewise_functor_3( t10, 0.0, 0.2e1 * t41 * t15 - t48 + 0.2e1 / 0.3e1 * t14 * t51 * t53 ); + const double t62 = t20 * t20; + const double t63 = 0.1e1 / t62; + const double t66 = t5 * t19 * t63 / 0.8e1; + const double t68 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t58 * t20 - t66 ); + const double t69 = alpha * t68; + const double t72 = 0.2e1 * t30 * t45 * t31; + const double t73 = rho_b * rho_b; + const double t74 = t13 * t73; + const double t75 = t44 * t6; + const double t76 = 0.1e1 / t75; + const double t77 = t31 * t31; + const double t78 = 0.1e1 / t77; + const double t79 = t76 * t78; + const double t83 = piecewise_functor_3( t29, 0.0, -t72 - 0.2e1 / 0.3e1 * t74 * t79 ); + const double t89 = t5 * t35 * t63 / 0.8e1; + const double t91 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t83 * t20 - t89 ); + const double t92 = alpha * t91; + const double t95 = rho_a * rho_a; + const double t96 = t13 * t95; + const double t97 = t76 * t50; + const double t101 = piecewise_functor_3( t10, 0.0, -t48 - 0.2e1 / 0.3e1 * t96 * t97 ); + const double t106 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t101 * t20 - t66 ); + const double t107 = alpha * t106; + const double t110 = t7 * t78; + const double t112 = -rho_b * t45 + t7; + const double t117 = piecewise_functor_3( t29, 0.0, 0.2e1 * t41 * t31 - t72 + 0.2e1 / 0.3e1 * t30 * t110 * t112 ); + const double t122 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t117 * t20 - t89 ); + const double t123 = alpha * t122; + const double t128 = t13 * t45; + const double t129 = t128 * t15; + const double t131 = t50 * t53; + const double t136 = 0.4e1 * t14 * t76 * t15; + const double t137 = t45 * t50; + const double t139 = t14 * t137 * t53; + const double t142 = 0.1e1 / t49 / t8; + const double t143 = t7 * t142; + const double t144 = t53 * t53; + const double t150 = 0.2e1 * rho_a * t76 - 0.2e1 * t45; + const double t155 = piecewise_functor_3( t10, 0.0, -0.4e1 * t129 + 0.4e1 / 0.3e1 * t41 * t131 + t136 - 0.4e1 / 0.3e1 * t139 - 0.4e1 / 0.9e1 * t14 * t143 * t144 + 0.2e1 / 0.3e1 * t14 * t51 * t150 ); + const double t160 = t5 * t58 * t63; + const double t163 = 0.1e1 / t62 / t6; + const double t166 = t5 * t19 * t163 / 0.12e2; + const double t168 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t155 * t20 - t160 / 0.4e1 + t166 ); + const double t169 = alpha * t168; + const double t172 = 0.4e1 * t30 * t76 * t31; + const double t173 = t44 * t44; + const double t174 = 0.1e1 / t173; + const double t175 = t174 * t78; + const double t176 = t74 * t175; + const double t178 = t73 * rho_b; + const double t179 = t13 * t178; + const double t181 = 0.1e1 / t173 / t6; + const double t183 = 0.1e1 / t77 / t27; + const double t184 = t181 * t183; + const double t188 = piecewise_functor_3( t29, 0.0, t172 + 0.8e1 / 0.3e1 * t176 - 0.4e1 / 0.9e1 * t179 * t184 ); + const double t193 = t5 * t83 * t63; + const double t197 = t5 * t35 * t163 / 0.12e2; + const double t199 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t188 * t20 - t193 / 0.4e1 + t197 ); + const double t200 = alpha * t199; + const double t207 = t174 * t50; + const double t208 = t96 * t207; + const double t220 = t5 * t101 * t63; + const double t226 = t128 * t31; + const double t233 = t45 * t78; + const double t235 = t30 * t233 * t112; + const double t241 = rho_b * t76; + const double t253 = t5 * t117 * t63; + const double t264 = t95 * rho_a; + const double t265 = t13 * t264; + const double t266 = t181 * t142; + const double t270 = piecewise_functor_3( t10, 0.0, t136 + 0.8e1 / 0.3e1 * t208 - 0.4e1 / 0.9e1 * t265 * t266 ); + const double t276 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t270 * t20 - t220 / 0.4e1 + t166 ); + const double t277 = alpha * t276; + const double t279 = t78 * t112; + const double t283 = t7 * t183; + const double t284 = t112 * t112; + const double t289 = -0.2e1 * t45 + 0.2e1 * t241; + const double t294 = piecewise_functor_3( t29, 0.0, -0.4e1 * t226 + 0.4e1 / 0.3e1 * t41 * t279 + t172 - 0.4e1 / 0.3e1 * t235 - 0.4e1 / 0.9e1 * t30 * t283 * t284 + 0.2e1 / 0.3e1 * t30 * t110 * t289 ); + const double t300 = piecewise_functor_3( t26, 0.0, -0.3e1 / 0.8e1 * t5 * t294 * t20 - t253 / 0.4e1 + t197 ); + const double t301 = alpha * t300; + + + vrho_a = t25 + t40 + t6 * ( t69 + t92 ); + vrho_b = t25 + t40 + t6 * ( t107 + t123 ); + v2rho2_aa = 0.2e1 * t69 + 0.2e1 * t92 + t6 * ( t169 + t200 ); + v2rho2_bb = 0.2e1 * t107 + 0.2e1 * t123 + t6 * ( t277 + t301 ); + v2rho2_ab = 0.0; + + + + } + }; @@ -206,4 +554,4 @@ struct BuiltinSlaterExchange : detail::BuiltinKernelImpl< BuiltinSlaterExchange -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/sogga11_x_c.hpp b/include/exchcxx/impl/builtin/kernels/sogga11_x_c.hpp new file mode 100644 index 0000000..e87a240 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/sogga11_x_c.hpp @@ -0,0 +1,2937 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinSOGGA11_X_C > : + public gga_screening_interface< BuiltinSOGGA11_X_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double sogga11_a_0 = 0.50000; + static constexpr double sogga11_a_1 = 78.2439; + static constexpr double sogga11_a_2 = 25.7211; + static constexpr double sogga11_a_3 = -13.8830; + static constexpr double sogga11_a_4 = -9.87375; + static constexpr double sogga11_a_5 = -14.1357; + static constexpr double sogga11_b_0 = 0.50000; + static constexpr double sogga11_b_1 = -79.2439; + static constexpr double sogga11_b_2 = 16.3725; + static constexpr double sogga11_b_3 = 2.08129; + static constexpr double sogga11_b_4 = 7.50769; + static constexpr double sogga11_b_5 = -10.1861; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = sogga11_a_1; + constexpr double t69 = 0.1e1 / t3; + constexpr double t70 = t18 * t69; + constexpr double t80 = sogga11_a_2; + constexpr double t83 = sogga11_a_3; + constexpr double t86 = sogga11_a_4; + constexpr double t89 = sogga11_a_5; + constexpr double t93 = sogga11_b_1; + constexpr double t97 = sogga11_b_2; + constexpr double t100 = sogga11_b_3; + constexpr double t103 = sogga11_b_4; + constexpr double t106 = sogga11_b_5; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t58 = -0.621814e-1 * t12 * t30 + 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t61 = t34 * t34; + const double t62 = piecewise_functor_3( t33, t61, 1.0 ); + const double t63 = t39 * t62; + const double t64 = rho * rho; + const double t66 = 0.1e1 / t7 / t64; + const double t67 = sigma * t66; + const double t68 = t63 * t67; + const double t71 = 0.1e1 / t58; + const double t72 = t5 * t71; + const double t73 = t70 * t72; + const double t75 = 0.69506584583333333332e-3 * t68 * t73; + const double t76 = 0.1e1 - t75; + const double t78 = 0.1e1 - 0.1e1 / t76; + const double t81 = t78 * t78; + const double t84 = t81 * t78; + const double t87 = t81 * t81; + const double t94 = safe_math::exp( t75 ); + const double t95 = 0.1e1 - t94; + const double t98 = t95 * t95; + const double t101 = t98 * t95; + const double t104 = t98 * t98; + const double t109 = t106 * t104 * t95 + t89 * t87 * t78 + t100 * t101 + t103 * t104 + t60 * t78 + t80 * t81 + t83 * t84 + t86 * t87 + t93 * t95 + t97 * t98 + sogga11_a_0 + sogga11_b_0; + + + eps = t58 * t109; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = sogga11_a_1; + constexpr double t69 = 0.1e1 / t3; + constexpr double t70 = t18 * t69; + constexpr double t80 = sogga11_a_2; + constexpr double t83 = sogga11_a_3; + constexpr double t86 = sogga11_a_4; + constexpr double t89 = sogga11_a_5; + constexpr double t93 = sogga11_b_1; + constexpr double t97 = sogga11_b_2; + constexpr double t100 = sogga11_b_3; + constexpr double t103 = sogga11_b_4; + constexpr double t106 = sogga11_b_5; + constexpr double t121 = t3 * t6; + constexpr double t215 = t69 * t5; + constexpr double t234 = t93 * t39; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t58 = -0.621814e-1 * t12 * t30 + 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t61 = t34 * t34; + const double t62 = piecewise_functor_3( t33, t61, 1.0 ); + const double t63 = t39 * t62; + const double t64 = rho * rho; + const double t66 = 0.1e1 / t7 / t64; + const double t67 = sigma * t66; + const double t68 = t63 * t67; + const double t71 = 0.1e1 / t58; + const double t72 = t5 * t71; + const double t73 = t70 * t72; + const double t75 = 0.69506584583333333332e-3 * t68 * t73; + const double t76 = 0.1e1 - t75; + const double t78 = 0.1e1 - 0.1e1 / t76; + const double t81 = t78 * t78; + const double t84 = t81 * t78; + const double t87 = t81 * t81; + const double t94 = safe_math::exp( t75 ); + const double t95 = 0.1e1 - t94; + const double t98 = t95 * t95; + const double t101 = t98 * t95; + const double t104 = t98 * t98; + const double t109 = t106 * t104 * t95 + t89 * t87 * t78 + t100 * t101 + t103 * t104 + t60 * t78 + t80 * t81 + t83 * t84 + t86 * t87 + t93 * t95 + t97 * t98 + sogga11_a_0 + sogga11_b_0; + const double t111 = 0.1e1 / t7 / rho; + const double t112 = t6 * t111; + const double t116 = t26 * t26; + const double t117 = 0.1e1 / t116; + const double t118 = t12 * t117; + const double t120 = 0.1e1 / t13 * t1; + const double t122 = t121 * t111; + const double t123 = t120 * t122; + const double t125 = t4 * t112; + const double t127 = safe_math::sqrt( t10 ); + const double t128 = t127 * t1; + const double t129 = t128 * t122; + const double t134 = t20 * t5 / t21 / rho; + const double t136 = -0.632975e0 * t123 - 0.29896666666666666667e0 * t125 - 0.1023875e0 * t129 - 0.82156666666666666667e-1 * t134; + const double t137 = 0.1e1 / t29; + const double t138 = t136 * t137; + const double t141 = t43 * t1; + const double t146 = t43 * t45; + const double t147 = t50 * t50; + const double t148 = 0.1e1 / t147; + const double t153 = -0.86308333333333333334e0 * t123 - 0.301925e0 * t125 - 0.5501625e-1 * t129 - 0.82785e-1 * t134; + const double t155 = 0.1e1 / t53; + const double t156 = t148 * t153 * t155; + const double t159 = 0.11073470983333333333e-2 * t4 * t112 * t30 + 0.1e1 * t118 * t138 - 0.18311447306006545054e-3 * t141 * t121 * t111 * t54 - 0.5848223622634646207e0 * t146 * t156; + const double t160 = rho * t159; + const double t162 = rho * t58; + const double t163 = t76 * t76; + const double t164 = 0.1e1 / t163; + const double t165 = t60 * t164; + const double t166 = t64 * rho; + const double t168 = 0.1e1 / t7 / t166; + const double t169 = sigma * t168; + const double t170 = t63 * t169; + const double t173 = t58 * t58; + const double t174 = 0.1e1 / t173; + const double t175 = t5 * t174; + const double t176 = t175 * t159; + const double t177 = t70 * t176; + const double t180 = 0.16218203069444444444e-2 * t170 * t73 + 0.69506584583333333332e-3 * t68 * t177; + const double t182 = t80 * t78; + const double t183 = t164 * t180; + const double t186 = t83 * t81; + const double t189 = t86 * t84; + const double t192 = t89 * t87; + const double t195 = -t180; + const double t196 = t93 * t195; + const double t198 = t97 * t95; + const double t199 = t195 * t94; + const double t202 = t100 * t98; + const double t205 = t103 * t101; + const double t208 = t106 * t104; + const double t211 = t165 * t180 + 0.2e1 * t182 * t183 + 0.3e1 * t186 * t183 + 0.4e1 * t189 * t183 + 0.5e1 * t192 * t183 - t196 * t94 - 0.2e1 * t198 * t199 - 0.3e1 * t202 * t199 - 0.4e1 * t205 * t199 - 0.5e1 * t208 * t199; + const double t213 = t165 * t63; + const double t214 = t66 * t18; + const double t216 = t215 * t71; + const double t217 = t214 * t216; + const double t221 = t164 * t39 * t62; + const double t222 = t182 * t221; + const double t225 = t186 * t221; + const double t228 = t189 * t221; + const double t231 = t192 * t221; + const double t235 = t62 * t66; + const double t238 = t70 * t72 * t94; + const double t241 = t63 * t66; + const double t242 = t198 * t241; + const double t245 = t202 * t241; + const double t248 = t205 * t241; + const double t251 = t208 * t241; + const double t254 = -0.69506584583333333332e-3 * t213 * t217 - 0.13901316916666666666e-2 * t222 * t217 - 0.20851975375e-2 * t225 * t217 - 0.27802633833333333333e-2 * t228 * t217 - 0.34753292291666666666e-2 * t231 * t217 - 0.69506584583333333332e-3 * t234 * t235 * t238 - 0.13901316916666666666e-2 * t242 * t238 - 0.20851975375e-2 * t245 * t238 - 0.27802633833333333333e-2 * t248 * t238 - 0.34753292291666666666e-2 * t251 * t238; + + + eps = t58 * t109; + vrho = t160 * t109 + t162 * t211 + eps; + vsigma = t162 * t254; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = sogga11_a_1; + constexpr double t69 = 0.1e1 / t3; + constexpr double t70 = t18 * t69; + constexpr double t80 = sogga11_a_2; + constexpr double t83 = sogga11_a_3; + constexpr double t86 = sogga11_a_4; + constexpr double t89 = sogga11_a_5; + constexpr double t93 = sogga11_b_1; + constexpr double t97 = sogga11_b_2; + constexpr double t100 = sogga11_b_3; + constexpr double t103 = sogga11_b_4; + constexpr double t106 = sogga11_b_5; + constexpr double t121 = t3 * t6; + constexpr double t215 = t69 * t5; + constexpr double t234 = t93 * t39; + constexpr double t263 = t4 * t6; + constexpr double t278 = t19 * t5; + constexpr double t466 = t70 * t5; + constexpr double t586 = t39 * t39; + constexpr double t593 = 0.1e1 / t19; + constexpr double t594 = t593 * t6; + constexpr double t627 = t93 * t586; + constexpr double t630 = t1 * t593; + constexpr double t636 = t97 * t586; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t58 = -0.621814e-1 * t12 * t30 + 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t61 = t34 * t34; + const double t62 = piecewise_functor_3( t33, t61, 1.0 ); + const double t63 = t39 * t62; + const double t64 = rho * rho; + const double t66 = 0.1e1 / t7 / t64; + const double t67 = sigma * t66; + const double t68 = t63 * t67; + const double t71 = 0.1e1 / t58; + const double t72 = t5 * t71; + const double t73 = t70 * t72; + const double t75 = 0.69506584583333333332e-3 * t68 * t73; + const double t76 = 0.1e1 - t75; + const double t78 = 0.1e1 - 0.1e1 / t76; + const double t81 = t78 * t78; + const double t84 = t81 * t78; + const double t87 = t81 * t81; + const double t94 = safe_math::exp( t75 ); + const double t95 = 0.1e1 - t94; + const double t98 = t95 * t95; + const double t101 = t98 * t95; + const double t104 = t98 * t98; + const double t109 = t106 * t104 * t95 + t89 * t87 * t78 + t100 * t101 + t103 * t104 + t60 * t78 + t80 * t81 + t83 * t84 + t86 * t87 + t93 * t95 + t97 * t98 + sogga11_a_0 + sogga11_b_0; + const double t111 = 0.1e1 / t7 / rho; + const double t112 = t6 * t111; + const double t116 = t26 * t26; + const double t117 = 0.1e1 / t116; + const double t118 = t12 * t117; + const double t120 = 0.1e1 / t13 * t1; + const double t122 = t121 * t111; + const double t123 = t120 * t122; + const double t125 = t4 * t112; + const double t127 = safe_math::sqrt( t10 ); + const double t128 = t127 * t1; + const double t129 = t128 * t122; + const double t134 = t20 * t5 / t21 / rho; + const double t136 = -0.632975e0 * t123 - 0.29896666666666666667e0 * t125 - 0.1023875e0 * t129 - 0.82156666666666666667e-1 * t134; + const double t137 = 0.1e1 / t29; + const double t138 = t136 * t137; + const double t141 = t43 * t1; + const double t146 = t43 * t45; + const double t147 = t50 * t50; + const double t148 = 0.1e1 / t147; + const double t153 = -0.86308333333333333334e0 * t123 - 0.301925e0 * t125 - 0.5501625e-1 * t129 - 0.82785e-1 * t134; + const double t155 = 0.1e1 / t53; + const double t156 = t148 * t153 * t155; + const double t159 = 0.11073470983333333333e-2 * t4 * t112 * t30 + 0.1e1 * t118 * t138 - 0.18311447306006545054e-3 * t141 * t121 * t111 * t54 - 0.5848223622634646207e0 * t146 * t156; + const double t160 = rho * t159; + const double t162 = rho * t58; + const double t163 = t76 * t76; + const double t164 = 0.1e1 / t163; + const double t165 = t60 * t164; + const double t166 = t64 * rho; + const double t168 = 0.1e1 / t7 / t166; + const double t169 = sigma * t168; + const double t170 = t63 * t169; + const double t173 = t58 * t58; + const double t174 = 0.1e1 / t173; + const double t175 = t5 * t174; + const double t176 = t175 * t159; + const double t177 = t70 * t176; + const double t180 = 0.16218203069444444444e-2 * t170 * t73 + 0.69506584583333333332e-3 * t68 * t177; + const double t182 = t80 * t78; + const double t183 = t164 * t180; + const double t186 = t83 * t81; + const double t189 = t86 * t84; + const double t192 = t89 * t87; + const double t195 = -t180; + const double t196 = t93 * t195; + const double t198 = t97 * t95; + const double t199 = t195 * t94; + const double t202 = t100 * t98; + const double t205 = t103 * t101; + const double t208 = t106 * t104; + const double t211 = t165 * t180 + 0.2e1 * t182 * t183 + 0.3e1 * t186 * t183 + 0.4e1 * t189 * t183 + 0.5e1 * t192 * t183 - t196 * t94 - 0.2e1 * t198 * t199 - 0.3e1 * t202 * t199 - 0.4e1 * t205 * t199 - 0.5e1 * t208 * t199; + const double t213 = t165 * t63; + const double t214 = t66 * t18; + const double t216 = t215 * t71; + const double t217 = t214 * t216; + const double t221 = t164 * t39 * t62; + const double t222 = t182 * t221; + const double t225 = t186 * t221; + const double t228 = t189 * t221; + const double t231 = t192 * t221; + const double t235 = t62 * t66; + const double t238 = t70 * t72 * t94; + const double t241 = t63 * t66; + const double t242 = t198 * t241; + const double t245 = t202 * t241; + const double t248 = t205 * t241; + const double t251 = t208 * t241; + const double t254 = -0.69506584583333333332e-3 * t213 * t217 - 0.13901316916666666666e-2 * t222 * t217 - 0.20851975375e-2 * t225 * t217 - 0.27802633833333333333e-2 * t228 * t217 - 0.34753292291666666666e-2 * t231 * t217 - 0.69506584583333333332e-3 * t234 * t235 * t238 - 0.13901316916666666666e-2 * t242 * t238 - 0.20851975375e-2 * t245 * t238 - 0.27802633833333333333e-2 * t248 * t238 - 0.34753292291666666666e-2 * t251 * t238; + const double t259 = t6 * t66; + const double t264 = t111 * t117; + const double t268 = t116 * t26; + const double t269 = 0.1e1 / t268; + const double t270 = t12 * t269; + const double t271 = t136 * t136; + const double t272 = t271 * t137; + const double t277 = 0.1e1 / t13 / t10 * t18; + const double t280 = 0.1e1 / t21 / t64; + const double t281 = t278 * t280; + const double t282 = t277 * t281; + const double t284 = t121 * t66; + const double t285 = t120 * t284; + const double t287 = t4 * t259; + const double t289 = 0.1e1/safe_math::sqrt( t10 ); + const double t290 = t289 * t18; + const double t291 = t290 * t281; + const double t293 = t128 * t284; + const double t296 = t20 * t5 * t280; + const double t298 = -0.42198333333333333333e0 * t282 + 0.84396666666666666666e0 * t285 + 0.39862222222222222223e0 * t287 + 0.68258333333333333333e-1 * t291 + 0.13651666666666666667e0 * t293 + 0.13692777777777777778e0 * t296; + const double t299 = t298 * t137; + const double t302 = t116 * t116; + const double t303 = 0.1e1 / t302; + const double t304 = t12 * t303; + const double t305 = t29 * t29; + const double t306 = 0.1e1 / t305; + const double t307 = t271 * t306; + const double t314 = t43 * t4; + const double t318 = t147 * t50; + const double t319 = 0.1e1 / t318; + const double t320 = t153 * t153; + const double t322 = t319 * t320 * t155; + const double t331 = -0.57538888888888888889e0 * t282 + 0.11507777777777777778e1 * t285 + 0.40256666666666666667e0 * t287 + 0.366775e-1 * t291 + 0.73355e-1 * t293 + 0.137975e0 * t296; + const double t333 = t148 * t331 * t155; + const double t336 = t147 * t147; + const double t337 = 0.1e1 / t336; + const double t338 = t337 * t320; + const double t339 = t53 * t53; + const double t340 = 0.1e1 / t339; + const double t341 = t338 * t340; + const double t344 = -0.14764627977777777777e-2 * t4 * t259 * t30 - 0.35616666666666666666e-1 * t263 * t264 * t138 - 0.2e1 * t270 * t272 + 0.1e1 * t118 * t299 + 0.16081979498692535067e2 * t304 * t307 + 0.24415263074675393405e-3 * t141 * t121 * t66 * t54 + 0.10843581300301739842e-1 * t314 * t112 * t156 + 0.11696447245269292414e1 * t146 * t322 - 0.5848223622634646207e0 * t146 * t333 - 0.17315859105681463759e2 * t146 * t341; + const double t345 = rho * t344; + const double t349 = t195 * t195; + const double t350 = t349 * t94; + const double t359 = t64 * t64; + const double t361 = 0.1e1 / t7 / t359; + const double t363 = t63 * sigma * t361; + const double t369 = 0.1e1 / t173 / t58; + const double t370 = t5 * t369; + const double t371 = t159 * t159; + const double t372 = t370 * t371; + const double t373 = t70 * t372; + const double t376 = t175 * t344; + const double t377 = t70 * t376; + const double t380 = 0.54060676898148148147e-2 * t363 * t73 + 0.32436406138888888888e-2 * t170 * t177 + 0.13901316916666666666e-2 * t68 * t373 - 0.69506584583333333332e-3 * t68 * t377; + const double t381 = t380 * t94; + const double t384 = t163 * t76; + const double t385 = 0.1e1 / t384; + const double t386 = t180 * t180; + const double t387 = t385 * t386; + const double t392 = t86 * t81; + const double t393 = t163 * t163; + const double t394 = 0.1e1 / t393; + const double t395 = t394 * t386; + const double t398 = t103 * t98; + const double t399 = t94 * t94; + const double t400 = t349 * t399; + const double t403 = t100 * t95; + const double t408 = t89 * t84; + const double t411 = t106 * t101; + const double t416 = -0.8e1 * t189 * t387 - 0.1e2 * t192 * t387 - 0.2e1 * t198 * t350 - 0.3e1 * t202 * t350 - 0.3e1 * t202 * t381 - 0.4e1 * t205 * t350 - 0.4e1 * t205 * t381 - 0.5e1 * t208 * t350 - 0.5e1 * t208 * t381 + 0.12e2 * t392 * t395 + 0.2e2 * t408 * t395 + 0.12e2 * t398 * t400 + 0.6e1 * t403 * t400 + 0.2e2 * t411 * t400; + const double t417 = -t380; + const double t418 = t164 * t417; + const double t433 = t83 * t78; + const double t436 = t97 * t349; + const double t439 = t93 * t349; + const double t441 = t80 * t394; + const double t447 = t60 * t385; + const double t450 = -t93 * t380 * t94 + t165 * t417 - 0.4e1 * t182 * t387 + 0.2e1 * t182 * t418 - 0.6e1 * t186 * t387 + 0.3e1 * t186 * t418 + 0.4e1 * t189 * t418 + 0.5e1 * t192 * t418 - 0.2e1 * t198 * t381 + 0.2e1 * t441 * t386 - 0.2e1 * t447 * t386 + 0.6e1 * t433 * t395 + 0.2e1 * t436 * t399 - t439 * t94; + const double t451 = t416 + t450; + const double t455 = t214 * t69; + const double t456 = t455 * t176; + const double t460 = t385 * t39 * t62; + const double t461 = t186 * t460; + const double t462 = t72 * t180; + const double t463 = t455 * t462; + const double t467 = t174 * t94; + const double t468 = t467 * t159; + const double t469 = t466 * t468; + const double t473 = t71 * t195 * t94; + const double t474 = t466 * t473; + const double t479 = t403 * t241; + const double t480 = t71 * t399; + const double t482 = t466 * t480 * t195; + const double t489 = t189 * t460; + const double t494 = t192 * t460; + const double t499 = t182 * t460; + const double t502 = t62 * t168; + const double t506 = t168 * t18; + const double t507 = t506 * t216; + const double t510 = t97 * t195; + const double t511 = t399 * t39; + const double t512 = t511 * t62; + const double t513 = t510 * t512; + const double t517 = t394 * t39 * t62; + const double t518 = t408 * t517; + const double t521 = t433 * t517; + const double t524 = t392 * t517; + const double t527 = 0.13901316916666666666e-2 * t222 * t456 + 0.4170395075e-2 * t461 * t463 + 0.13901316916666666666e-2 * t242 * t469 - 0.13901316916666666666e-2 * t242 * t474 + 0.20851975375e-2 * t245 * t469 + 0.4170395075e-2 * t479 * t482 - 0.20851975375e-2 * t245 * t474 + 0.20851975375e-2 * t225 * t456 + 0.55605267666666666666e-2 * t489 * t463 + 0.27802633833333333333e-2 * t228 * t456 + 0.69506584583333333332e-2 * t494 * t463 + 0.34753292291666666666e-2 * t231 * t456 + 0.27802633833333333332e-2 * t499 * t463 + 0.16218203069444444444e-2 * t234 * t502 * t238 + 0.16218203069444444444e-2 * t213 * t507 + 0.13901316916666666666e-2 * t513 * t217 - 0.13901316916666666666e-1 * t518 * t463 - 0.4170395075e-2 * t521 * t463 - 0.83407901499999999999e-2 * t524 * t463; + const double t530 = t398 * t241; + const double t537 = t411 * t241; + const double t542 = t235 * t18; + const double t543 = t234 * t542; + const double t544 = t215 * t473; + const double t547 = t447 * t241; + const double t548 = t70 * t462; + const double t551 = t165 * t241; + const double t554 = t63 * t168; + const double t555 = t208 * t554; + const double t558 = t198 * t554; + const double t561 = t202 * t554; + const double t564 = t205 * t554; + const double t574 = t180 * t39 * t62; + const double t575 = t441 * t574; + const double t580 = t215 * t468; + const double t583 = 0.27802633833333333333e-2 * t248 * t469 + 0.83407901499999999999e-2 * t530 * t482 - 0.27802633833333333333e-2 * t248 * t474 + 0.34753292291666666666e-2 * t251 * t469 + 0.13901316916666666666e-1 * t537 * t482 - 0.34753292291666666666e-2 * t251 * t474 - 0.69506584583333333332e-3 * t543 * t544 + 0.13901316916666666666e-2 * t547 * t548 + 0.69506584583333333332e-3 * t551 * t177 + 0.81091015347222222221e-2 * t555 * t238 + 0.32436406138888888887e-2 * t558 * t238 + 0.48654609208333333333e-2 * t561 * t238 + 0.64872812277777777777e-2 * t564 * t238 + 0.64872812277777777777e-2 * t228 * t507 + 0.81091015347222222221e-2 * t231 * t507 + 0.32436406138888888887e-2 * t222 * t507 - 0.13901316916666666666e-2 * t575 * t217 + 0.48654609208333333333e-2 * t225 * t507 + 0.69506584583333333332e-3 * t543 * t580; + const double t584 = t527 + t583; + const double t587 = t62 * t62; + const double t588 = t586 * t587; + const double t589 = t447 * t588; + const double t591 = 0.1e1 / t21 / t359; + const double t592 = t591 * t1; + const double t595 = t594 * t174; + const double t596 = t592 * t595; + const double t599 = t441 * t588; + const double t603 = t385 * t586 * t587; + const double t604 = t182 * t603; + const double t608 = t394 * t586 * t587; + const double t609 = t433 * t608; + const double t612 = t186 * t603; + const double t615 = t392 * t608; + const double t618 = t189 * t603; + const double t621 = t408 * t608; + const double t624 = t192 * t603; + const double t628 = t587 * t591; + const double t631 = t6 * t174; + const double t633 = t630 * t631 * t94; + const double t639 = t630 * t631 * t399; + const double t642 = t588 * t591; + const double t643 = t198 * t642; + const double t646 = t403 * t642; + const double t649 = t202 * t642; + const double t652 = t398 * t642; + const double t655 = t205 * t642; + const double t658 = t411 * t642; + const double t661 = t208 * t642; + const double t664 = -0.28986991802640426041e-5 * t589 * t596 + 0.2898699180264042604e-5 * t599 * t596 - 0.57973983605280852081e-5 * t604 * t596 + 0.86960975407921278125e-5 * t609 * t596 - 0.86960975407921278125e-5 * t612 * t596 + 0.17392195081584255625e-4 * t615 * t596 - 0.11594796721056170417e-4 * t618 * t596 + 0.28986991802640426041e-4 * t621 * t596 - 0.14493495901320213021e-4 * t624 * t596 - 0.14493495901320213021e-5 * t627 * t628 * t633 + 0.2898699180264042604e-5 * t636 * t628 * t639 - 0.2898699180264042604e-5 * t643 * t633 + 0.86960975407921278125e-5 * t646 * t639 - 0.43480487703960639062e-5 * t649 * t633 + 0.17392195081584255625e-4 * t652 * t639 - 0.57973983605280852083e-5 * t655 * t633 + 0.28986991802640426041e-4 * t658 * t639 - 0.72467479506601065103e-5 * t661 * t633; + + + v2rho2 = 0.2e1 * t159 * t109 + t345 * t109 + 0.2e1 * t160 * t211 + t162 * t451 + 0.2e1 * t58 * t211; + v2rhosigma = t160 * t254 + t162 * t584 + t58 * t254; + v2sigma2 = t162 * t664; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t18 = t1 * t1; + constexpr double t19 = t3 * t3; + constexpr double t20 = t18 * t19; + constexpr double t60 = sogga11_a_1; + constexpr double t69 = 0.1e1 / t3; + constexpr double t70 = t18 * t69; + constexpr double t80 = sogga11_a_2; + constexpr double t83 = sogga11_a_3; + constexpr double t86 = sogga11_a_4; + constexpr double t89 = sogga11_a_5; + constexpr double t93 = sogga11_b_1; + constexpr double t97 = sogga11_b_2; + constexpr double t100 = sogga11_b_3; + constexpr double t103 = sogga11_b_4; + constexpr double t106 = sogga11_b_5; + constexpr double t121 = t3 * t6; + constexpr double t215 = t69 * t5; + constexpr double t234 = t93 * t39; + constexpr double t263 = t4 * t6; + constexpr double t278 = t19 * t5; + constexpr double t466 = t70 * t5; + constexpr double t586 = t39 * t39; + constexpr double t593 = 0.1e1 / t19; + constexpr double t594 = t593 * t6; + constexpr double t627 = t93 * t586; + constexpr double t630 = t1 * t593; + constexpr double t636 = t97 * t586; + + + const double t7 = safe_math::cbrt( rho ); + const double t10 = t4 * t6 / t7; + const double t12 = 0.1e1 + 0.53425e-1 * t10; + const double t13 = safe_math::sqrt( t10 ); + const double t16 = pow_3_2( t10 ); + const double t21 = t7 * t7; + const double t24 = t20 * t5 / t21; + const double t26 = 0.379785e1 * t13 + 0.8969e0 * t10 + 0.204775e0 * t16 + 0.123235e0 * t24; + const double t29 = 0.1e1 + 0.16081979498692535067e2 / t26; + const double t30 = safe_math::log( t29 ); + const double t33 = 0.1e1 <= zeta_tol; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( t33, t34 * zeta_tol, 1.0 ); + const double t43 = ( 0.2e1 * t36 - 0.2e1 ) / ( 0.2e1 * t39 - 0.2e1 ); + const double t45 = 0.1e1 + 0.278125e-1 * t10; + const double t50 = 0.51785e1 * t13 + 0.905775e0 * t10 + 0.1100325e0 * t16 + 0.1241775e0 * t24; + const double t53 = 0.1e1 + 0.29608749977793437516e2 / t50; + const double t54 = safe_math::log( t53 ); + const double t58 = -0.621814e-1 * t12 * t30 + 0.19751673498613801407e-1 * t43 * t45 * t54; + const double t61 = t34 * t34; + const double t62 = piecewise_functor_3( t33, t61, 1.0 ); + const double t63 = t39 * t62; + const double t64 = rho * rho; + const double t66 = 0.1e1 / t7 / t64; + const double t67 = sigma * t66; + const double t68 = t63 * t67; + const double t71 = 0.1e1 / t58; + const double t72 = t5 * t71; + const double t73 = t70 * t72; + const double t75 = 0.69506584583333333332e-3 * t68 * t73; + const double t76 = 0.1e1 - t75; + const double t78 = 0.1e1 - 0.1e1 / t76; + const double t81 = t78 * t78; + const double t84 = t81 * t78; + const double t87 = t81 * t81; + const double t94 = safe_math::exp( t75 ); + const double t95 = 0.1e1 - t94; + const double t98 = t95 * t95; + const double t101 = t98 * t95; + const double t104 = t98 * t98; + const double t109 = t106 * t104 * t95 + t89 * t87 * t78 + t100 * t101 + t103 * t104 + t60 * t78 + t80 * t81 + t83 * t84 + t86 * t87 + t93 * t95 + t97 * t98 + sogga11_a_0 + sogga11_b_0; + const double tzk0 = t58 * t109; + const double t111 = 0.1e1 / t7 / rho; + const double t112 = t6 * t111; + const double t116 = t26 * t26; + const double t117 = 0.1e1 / t116; + const double t118 = t12 * t117; + const double t120 = 0.1e1 / t13 * t1; + const double t122 = t121 * t111; + const double t123 = t120 * t122; + const double t125 = t4 * t112; + const double t127 = safe_math::sqrt( t10 ); + const double t128 = t127 * t1; + const double t129 = t128 * t122; + const double t134 = t20 * t5 / t21 / rho; + const double t136 = -0.632975e0 * t123 - 0.29896666666666666667e0 * t125 - 0.1023875e0 * t129 - 0.82156666666666666667e-1 * t134; + const double t137 = 0.1e1 / t29; + const double t138 = t136 * t137; + const double t141 = t43 * t1; + const double t146 = t43 * t45; + const double t147 = t50 * t50; + const double t148 = 0.1e1 / t147; + const double t153 = -0.86308333333333333334e0 * t123 - 0.301925e0 * t125 - 0.5501625e-1 * t129 - 0.82785e-1 * t134; + const double t155 = 0.1e1 / t53; + const double t156 = t148 * t153 * t155; + const double t159 = 0.11073470983333333333e-2 * t4 * t112 * t30 + 0.1e1 * t118 * t138 - 0.18311447306006545054e-3 * t141 * t121 * t111 * t54 - 0.5848223622634646207e0 * t146 * t156; + const double t160 = rho * t159; + const double t162 = rho * t58; + const double t163 = t76 * t76; + const double t164 = 0.1e1 / t163; + const double t165 = t60 * t164; + const double t166 = t64 * rho; + const double t168 = 0.1e1 / t7 / t166; + const double t169 = sigma * t168; + const double t170 = t63 * t169; + const double t173 = t58 * t58; + const double t174 = 0.1e1 / t173; + const double t175 = t5 * t174; + const double t176 = t175 * t159; + const double t177 = t70 * t176; + const double t180 = 0.16218203069444444444e-2 * t170 * t73 + 0.69506584583333333332e-3 * t68 * t177; + const double t182 = t80 * t78; + const double t183 = t164 * t180; + const double t186 = t83 * t81; + const double t189 = t86 * t84; + const double t192 = t89 * t87; + const double t195 = -t180; + const double t196 = t93 * t195; + const double t198 = t97 * t95; + const double t199 = t195 * t94; + const double t202 = t100 * t98; + const double t205 = t103 * t101; + const double t208 = t106 * t104; + const double t211 = t165 * t180 + 0.2e1 * t182 * t183 + 0.3e1 * t186 * t183 + 0.4e1 * t189 * t183 + 0.5e1 * t192 * t183 - t196 * t94 - 0.2e1 * t198 * t199 - 0.3e1 * t202 * t199 - 0.4e1 * t205 * t199 - 0.5e1 * t208 * t199; + const double t213 = t165 * t63; + const double t214 = t66 * t18; + const double t216 = t215 * t71; + const double t217 = t214 * t216; + const double t221 = t164 * t39 * t62; + const double t222 = t182 * t221; + const double t225 = t186 * t221; + const double t228 = t189 * t221; + const double t231 = t192 * t221; + const double t235 = t62 * t66; + const double t238 = t70 * t72 * t94; + const double t241 = t63 * t66; + const double t242 = t198 * t241; + const double t245 = t202 * t241; + const double t248 = t205 * t241; + const double t251 = t208 * t241; + const double t254 = -0.69506584583333333332e-3 * t213 * t217 - 0.13901316916666666666e-2 * t222 * t217 - 0.20851975375e-2 * t225 * t217 - 0.27802633833333333333e-2 * t228 * t217 - 0.34753292291666666666e-2 * t231 * t217 - 0.69506584583333333332e-3 * t234 * t235 * t238 - 0.13901316916666666666e-2 * t242 * t238 - 0.20851975375e-2 * t245 * t238 - 0.27802633833333333333e-2 * t248 * t238 - 0.34753292291666666666e-2 * t251 * t238; + const double t259 = t6 * t66; + const double t264 = t111 * t117; + const double t268 = t116 * t26; + const double t269 = 0.1e1 / t268; + const double t270 = t12 * t269; + const double t271 = t136 * t136; + const double t272 = t271 * t137; + const double t277 = 0.1e1 / t13 / t10 * t18; + const double t280 = 0.1e1 / t21 / t64; + const double t281 = t278 * t280; + const double t282 = t277 * t281; + const double t284 = t121 * t66; + const double t285 = t120 * t284; + const double t287 = t4 * t259; + const double t289 = 0.1e1/safe_math::sqrt( t10 ); + const double t290 = t289 * t18; + const double t291 = t290 * t281; + const double t293 = t128 * t284; + const double t296 = t20 * t5 * t280; + const double t298 = -0.42198333333333333333e0 * t282 + 0.84396666666666666666e0 * t285 + 0.39862222222222222223e0 * t287 + 0.68258333333333333333e-1 * t291 + 0.13651666666666666667e0 * t293 + 0.13692777777777777778e0 * t296; + const double t299 = t298 * t137; + const double t302 = t116 * t116; + const double t303 = 0.1e1 / t302; + const double t304 = t12 * t303; + const double t305 = t29 * t29; + const double t306 = 0.1e1 / t305; + const double t307 = t271 * t306; + const double t314 = t43 * t4; + const double t318 = t147 * t50; + const double t319 = 0.1e1 / t318; + const double t320 = t153 * t153; + const double t322 = t319 * t320 * t155; + const double t331 = -0.57538888888888888889e0 * t282 + 0.11507777777777777778e1 * t285 + 0.40256666666666666667e0 * t287 + 0.366775e-1 * t291 + 0.73355e-1 * t293 + 0.137975e0 * t296; + const double t333 = t148 * t331 * t155; + const double t336 = t147 * t147; + const double t337 = 0.1e1 / t336; + const double t338 = t337 * t320; + const double t339 = t53 * t53; + const double t340 = 0.1e1 / t339; + const double t341 = t338 * t340; + const double t344 = -0.14764627977777777777e-2 * t4 * t259 * t30 - 0.35616666666666666666e-1 * t263 * t264 * t138 - 0.2e1 * t270 * t272 + 0.1e1 * t118 * t299 + 0.16081979498692535067e2 * t304 * t307 + 0.24415263074675393405e-3 * t141 * t121 * t66 * t54 + 0.10843581300301739842e-1 * t314 * t112 * t156 + 0.11696447245269292414e1 * t146 * t322 - 0.5848223622634646207e0 * t146 * t333 - 0.17315859105681463759e2 * t146 * t341; + const double t345 = rho * t344; + const double t349 = t195 * t195; + const double t350 = t349 * t94; + const double t359 = t64 * t64; + const double t361 = 0.1e1 / t7 / t359; + const double t363 = t63 * sigma * t361; + const double t369 = 0.1e1 / t173 / t58; + const double t370 = t5 * t369; + const double t371 = t159 * t159; + const double t372 = t370 * t371; + const double t373 = t70 * t372; + const double t376 = t175 * t344; + const double t377 = t70 * t376; + const double t380 = 0.54060676898148148147e-2 * t363 * t73 + 0.32436406138888888888e-2 * t170 * t177 + 0.13901316916666666666e-2 * t68 * t373 - 0.69506584583333333332e-3 * t68 * t377; + const double t381 = t380 * t94; + const double t384 = t163 * t76; + const double t385 = 0.1e1 / t384; + const double t386 = t180 * t180; + const double t387 = t385 * t386; + const double t392 = t86 * t81; + const double t393 = t163 * t163; + const double t394 = 0.1e1 / t393; + const double t395 = t394 * t386; + const double t398 = t103 * t98; + const double t399 = t94 * t94; + const double t400 = t349 * t399; + const double t403 = t100 * t95; + const double t408 = t89 * t84; + const double t411 = t106 * t101; + const double t416 = -0.8e1 * t189 * t387 - 0.1e2 * t192 * t387 - 0.2e1 * t198 * t350 - 0.3e1 * t202 * t350 - 0.3e1 * t202 * t381 - 0.4e1 * t205 * t350 - 0.4e1 * t205 * t381 - 0.5e1 * t208 * t350 - 0.5e1 * t208 * t381 + 0.12e2 * t392 * t395 + 0.2e2 * t408 * t395 + 0.12e2 * t398 * t400 + 0.6e1 * t403 * t400 + 0.2e2 * t411 * t400; + const double t417 = -t380; + const double t418 = t164 * t417; + const double t433 = t83 * t78; + const double t436 = t97 * t349; + const double t439 = t93 * t349; + const double t441 = t80 * t394; + const double t447 = t60 * t385; + const double t450 = -t93 * t380 * t94 + t165 * t417 - 0.4e1 * t182 * t387 + 0.2e1 * t182 * t418 - 0.6e1 * t186 * t387 + 0.3e1 * t186 * t418 + 0.4e1 * t189 * t418 + 0.5e1 * t192 * t418 - 0.2e1 * t198 * t381 + 0.2e1 * t441 * t386 - 0.2e1 * t447 * t386 + 0.6e1 * t433 * t395 + 0.2e1 * t436 * t399 - t439 * t94; + const double t451 = t416 + t450; + const double t455 = t214 * t69; + const double t456 = t455 * t176; + const double t460 = t385 * t39 * t62; + const double t461 = t186 * t460; + const double t462 = t72 * t180; + const double t463 = t455 * t462; + const double t467 = t174 * t94; + const double t468 = t467 * t159; + const double t469 = t466 * t468; + const double t473 = t71 * t195 * t94; + const double t474 = t466 * t473; + const double t479 = t403 * t241; + const double t480 = t71 * t399; + const double t482 = t466 * t480 * t195; + const double t489 = t189 * t460; + const double t494 = t192 * t460; + const double t499 = t182 * t460; + const double t502 = t62 * t168; + const double t506 = t168 * t18; + const double t507 = t506 * t216; + const double t510 = t97 * t195; + const double t511 = t399 * t39; + const double t512 = t511 * t62; + const double t513 = t510 * t512; + const double t517 = t394 * t39 * t62; + const double t518 = t408 * t517; + const double t521 = t433 * t517; + const double t524 = t392 * t517; + const double t527 = 0.13901316916666666666e-2 * t222 * t456 + 0.4170395075e-2 * t461 * t463 + 0.13901316916666666666e-2 * t242 * t469 - 0.13901316916666666666e-2 * t242 * t474 + 0.20851975375e-2 * t245 * t469 + 0.4170395075e-2 * t479 * t482 - 0.20851975375e-2 * t245 * t474 + 0.20851975375e-2 * t225 * t456 + 0.55605267666666666666e-2 * t489 * t463 + 0.27802633833333333333e-2 * t228 * t456 + 0.69506584583333333332e-2 * t494 * t463 + 0.34753292291666666666e-2 * t231 * t456 + 0.27802633833333333332e-2 * t499 * t463 + 0.16218203069444444444e-2 * t234 * t502 * t238 + 0.16218203069444444444e-2 * t213 * t507 + 0.13901316916666666666e-2 * t513 * t217 - 0.13901316916666666666e-1 * t518 * t463 - 0.4170395075e-2 * t521 * t463 - 0.83407901499999999999e-2 * t524 * t463; + const double t530 = t398 * t241; + const double t537 = t411 * t241; + const double t542 = t235 * t18; + const double t543 = t234 * t542; + const double t544 = t215 * t473; + const double t547 = t447 * t241; + const double t548 = t70 * t462; + const double t551 = t165 * t241; + const double t554 = t63 * t168; + const double t555 = t208 * t554; + const double t558 = t198 * t554; + const double t561 = t202 * t554; + const double t564 = t205 * t554; + const double t574 = t180 * t39 * t62; + const double t575 = t441 * t574; + const double t580 = t215 * t468; + const double t583 = 0.27802633833333333333e-2 * t248 * t469 + 0.83407901499999999999e-2 * t530 * t482 - 0.27802633833333333333e-2 * t248 * t474 + 0.34753292291666666666e-2 * t251 * t469 + 0.13901316916666666666e-1 * t537 * t482 - 0.34753292291666666666e-2 * t251 * t474 - 0.69506584583333333332e-3 * t543 * t544 + 0.13901316916666666666e-2 * t547 * t548 + 0.69506584583333333332e-3 * t551 * t177 + 0.81091015347222222221e-2 * t555 * t238 + 0.32436406138888888887e-2 * t558 * t238 + 0.48654609208333333333e-2 * t561 * t238 + 0.64872812277777777777e-2 * t564 * t238 + 0.64872812277777777777e-2 * t228 * t507 + 0.81091015347222222221e-2 * t231 * t507 + 0.32436406138888888887e-2 * t222 * t507 - 0.13901316916666666666e-2 * t575 * t217 + 0.48654609208333333333e-2 * t225 * t507 + 0.69506584583333333332e-3 * t543 * t580; + const double t584 = t527 + t583; + const double t587 = t62 * t62; + const double t588 = t586 * t587; + const double t589 = t447 * t588; + const double t591 = 0.1e1 / t21 / t359; + const double t592 = t591 * t1; + const double t595 = t594 * t174; + const double t596 = t592 * t595; + const double t599 = t441 * t588; + const double t603 = t385 * t586 * t587; + const double t604 = t182 * t603; + const double t608 = t394 * t586 * t587; + const double t609 = t433 * t608; + const double t612 = t186 * t603; + const double t615 = t392 * t608; + const double t618 = t189 * t603; + const double t621 = t408 * t608; + const double t624 = t192 * t603; + const double t628 = t587 * t591; + const double t631 = t6 * t174; + const double t633 = t630 * t631 * t94; + const double t639 = t630 * t631 * t399; + const double t642 = t588 * t591; + const double t643 = t198 * t642; + const double t646 = t403 * t642; + const double t649 = t202 * t642; + const double t652 = t398 * t642; + const double t655 = t205 * t642; + const double t658 = t411 * t642; + const double t661 = t208 * t642; + const double t664 = -0.28986991802640426041e-5 * t589 * t596 + 0.2898699180264042604e-5 * t599 * t596 - 0.57973983605280852081e-5 * t604 * t596 + 0.86960975407921278125e-5 * t609 * t596 - 0.86960975407921278125e-5 * t612 * t596 + 0.17392195081584255625e-4 * t615 * t596 - 0.11594796721056170417e-4 * t618 * t596 + 0.28986991802640426041e-4 * t621 * t596 - 0.14493495901320213021e-4 * t624 * t596 - 0.14493495901320213021e-5 * t627 * t628 * t633 + 0.2898699180264042604e-5 * t636 * t628 * t639 - 0.2898699180264042604e-5 * t643 * t633 + 0.86960975407921278125e-5 * t646 * t639 - 0.43480487703960639062e-5 * t649 * t633 + 0.17392195081584255625e-4 * t652 * t639 - 0.57973983605280852083e-5 * t655 * t633 + 0.28986991802640426041e-4 * t658 * t639 - 0.72467479506601065103e-5 * t661 * t633; + + + vrho = t160 * t109 + t162 * t211 + tzk0; + vsigma = t162 * t254; + v2rho2 = 0.2e1 * t159 * t109 + t345 * t109 + 0.2e1 * t160 * t211 + t162 * t451 + 0.2e1 * t58 * t211; + v2rhosigma = t160 * t254 + t162 * t584 + t58 * t254; + v2sigma2 = t162 * t664; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = sogga11_a_1; + constexpr double t109 = 0.1e1 / t3; + constexpr double t110 = t19 * t109; + constexpr double t120 = sogga11_a_2; + constexpr double t123 = sogga11_a_3; + constexpr double t126 = sogga11_a_4; + constexpr double t129 = sogga11_a_5; + constexpr double t133 = sogga11_b_1; + constexpr double t137 = sogga11_b_2; + constexpr double t140 = sogga11_b_3; + constexpr double t143 = sogga11_b_4; + constexpr double t146 = sogga11_b_5; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t92 = -t33 + t40 * t88 + 0.19751673498613801407e-1 * t60 * t85; + const double t95 = t45 * t45; + const double t96 = t47 * t47; + const double t97 = piecewise_functor_3( t44, t95, t96 ); + const double t98 = t52 * t52; + const double t99 = piecewise_functor_3( t51, t95, t98 ); + const double t101 = t97 / 0.2e1 + t99 / 0.2e1; + const double t102 = t56 * t101; + const double t104 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t106 = 0.1e1 / t8 / t37; + const double t107 = t104 * t106; + const double t108 = t102 * t107; + const double t111 = 0.1e1 / t92; + const double t112 = t5 * t111; + const double t113 = t110 * t112; + const double t115 = 0.69506584583333333332e-3 * t108 * t113; + const double t116 = 0.1e1 - t115; + const double t118 = 0.1e1 - 0.1e1 / t116; + const double t121 = t118 * t118; + const double t124 = t121 * t118; + const double t127 = t121 * t121; + const double t134 = safe_math::exp( t115 ); + const double t135 = 0.1e1 - t134; + const double t138 = t135 * t135; + const double t141 = t138 * t135; + const double t144 = t138 * t138; + const double t149 = t129 * t127 * t118 + t146 * t144 * t135 + t94 * t118 + t120 * t121 + t123 * t124 + t126 * t127 + t133 * t135 + t137 * t138 + t140 * t141 + t143 * t144 + sogga11_a_0 + sogga11_b_0; + + + eps = t92 * t149; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = sogga11_a_1; + constexpr double t109 = 0.1e1 / t3; + constexpr double t110 = t19 * t109; + constexpr double t120 = sogga11_a_2; + constexpr double t123 = sogga11_a_3; + constexpr double t126 = sogga11_a_4; + constexpr double t129 = sogga11_a_5; + constexpr double t133 = sogga11_b_1; + constexpr double t137 = sogga11_b_2; + constexpr double t140 = sogga11_b_3; + constexpr double t143 = sogga11_b_4; + constexpr double t146 = sogga11_b_5; + constexpr double t161 = t3 * t6; + constexpr double t377 = t109 * t5; + constexpr double t396 = t133 * t56; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t92 = -t33 + t40 * t88 + 0.19751673498613801407e-1 * t60 * t85; + const double t95 = t45 * t45; + const double t96 = t47 * t47; + const double t97 = piecewise_functor_3( t44, t95, t96 ); + const double t98 = t52 * t52; + const double t99 = piecewise_functor_3( t51, t95, t98 ); + const double t101 = t97 / 0.2e1 + t99 / 0.2e1; + const double t102 = t56 * t101; + const double t104 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t106 = 0.1e1 / t8 / t37; + const double t107 = t104 * t106; + const double t108 = t102 * t107; + const double t111 = 0.1e1 / t92; + const double t112 = t5 * t111; + const double t113 = t110 * t112; + const double t115 = 0.69506584583333333332e-3 * t108 * t113; + const double t116 = 0.1e1 - t115; + const double t118 = 0.1e1 - 0.1e1 / t116; + const double t121 = t118 * t118; + const double t124 = t121 * t118; + const double t127 = t121 * t121; + const double t134 = safe_math::exp( t115 ); + const double t135 = 0.1e1 - t134; + const double t138 = t135 * t135; + const double t141 = t138 * t135; + const double t144 = t138 * t138; + const double t149 = t129 * t127 * t118 + t146 * t144 * t135 + t94 * t118 + t120 * t121 + t123 * t124 + t126 * t127 + t133 * t135 + t137 * t138 + t140 * t141 + t143 * t144 + sogga11_a_0 + sogga11_b_0; + const double t151 = 0.1e1 / t8 / t7; + const double t152 = t6 * t151; + const double t155 = 0.11073470983333333333e-2 * t4 * t152 * t31; + const double t156 = t27 * t27; + const double t157 = 0.1e1 / t156; + const double t158 = t13 * t157; + const double t160 = 0.1e1 / t14 * t1; + const double t162 = t161 * t151; + const double t163 = t160 * t162; + const double t165 = t4 * t152; + const double t167 = safe_math::sqrt( t11 ); + const double t168 = t167 * t1; + const double t169 = t168 * t162; + const double t174 = t21 * t5 / t22 / t7; + const double t176 = -0.632975e0 * t163 - 0.29896666666666666667e0 * t165 - 0.1023875e0 * t169 - 0.82156666666666666667e-1 * t174; + const double t177 = 0.1e1 / t30; + const double t178 = t176 * t177; + const double t180 = 0.1e1 * t158 * t178; + const double t181 = t35 * t34; + const double t182 = t181 * t39; + const double t184 = 0.4e1 * t182 * t88; + const double t185 = t38 * t7; + const double t186 = 0.1e1 / t185; + const double t187 = t36 * t186; + const double t189 = 0.4e1 * t187 * t88; + const double t190 = 0.1e1 / t37; + const double t191 = t34 * t190; + const double t192 = t41 - t191; + const double t195 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t192 ); + const double t196 = -t192; + const double t199 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t196 ); + const double t201 = ( t195 + t199 ) * t59; + const double t202 = t201 * t87; + const double t207 = t67 * t67; + const double t208 = 0.1e1 / t207; + const double t209 = t62 * t208; + const double t214 = -0.1176575e1 * t163 - 0.516475e0 * t165 - 0.2103875e0 * t169 - 0.104195e0 * t174; + const double t215 = 0.1e1 / t70; + const double t216 = t214 * t215; + const double t222 = t80 * t80; + const double t223 = 0.1e1 / t222; + const double t224 = t75 * t223; + const double t229 = -0.86308333333333333334e0 * t163 - 0.301925e0 * t165 - 0.5501625e-1 * t169 - 0.82785e-1 * t174; + const double t230 = 0.1e1 / t83; + const double t231 = t229 * t230; + const double t234 = 0.53237641966666666666e-3 * t4 * t152 * t71 + 0.1e1 * t209 * t216 - t155 - t180 + 0.18311447306006545054e-3 * t4 * t152 * t84 + 0.5848223622634646207e0 * t224 * t231; + const double t235 = t60 * t234; + const double t236 = t40 * t235; + const double t239 = t60 * t1; + const double t241 = t161 * t151 * t84; + const double t243 = 0.18311447306006545054e-3 * t239 * t241; + const double t244 = t60 * t75; + const double t246 = t223 * t229 * t230; + const double t248 = 0.5848223622634646207e0 * t244 * t246; + const double t249 = t155 + t180 + t184 - t189 + t40 * t202 + t236 + 0.19751673498613801407e-1 * t201 * t85 - t243 - t248; + const double t250 = t7 * t249; + const double t252 = t7 * t92; + const double t253 = t116 * t116; + const double t254 = 0.1e1 / t253; + const double t255 = t94 * t254; + const double t256 = 0.1e1 / t47; + const double t259 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t256 * t192 ); + const double t260 = 0.1e1 / t52; + const double t263 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t260 * t196 ); + const double t265 = t259 / 0.2e1 + t263 / 0.2e1; + const double t266 = t56 * t265; + const double t267 = t266 * t107; + const double t270 = t37 * t7; + const double t272 = 0.1e1 / t8 / t270; + const double t273 = t104 * t272; + const double t274 = t102 * t273; + const double t276 = 0.16218203069444444444e-2 * t274 * t113; + const double t277 = t92 * t92; + const double t278 = 0.1e1 / t277; + const double t279 = t5 * t278; + const double t280 = t279 * t249; + const double t281 = t110 * t280; + const double t284 = -0.69506584583333333332e-3 * t267 * t113 + t276 + 0.69506584583333333332e-3 * t108 * t281; + const double t286 = t120 * t118; + const double t287 = t254 * t284; + const double t290 = t123 * t121; + const double t293 = t126 * t124; + const double t296 = t129 * t127; + const double t299 = -t284; + const double t300 = t133 * t299; + const double t302 = t137 * t135; + const double t303 = t299 * t134; + const double t306 = t140 * t138; + const double t309 = t143 * t141; + const double t312 = t146 * t144; + const double t315 = -t300 * t134 + t255 * t284 + 0.2e1 * t286 * t287 + 0.3e1 * t290 * t287 + 0.4e1 * t293 * t287 + 0.5e1 * t296 * t287 - 0.2e1 * t302 * t303 - 0.3e1 * t306 * t303 - 0.4e1 * t309 * t303 - 0.5e1 * t312 * t303; + const double t317 = -t41 - t191; + const double t320 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t317 ); + const double t321 = -t317; + const double t324 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t321 ); + const double t326 = ( t320 + t324 ) * t59; + const double t327 = t326 * t87; + const double t331 = t155 + t180 - t184 - t189 + t40 * t327 + t236 + 0.19751673498613801407e-1 * t326 * t85 - t243 - t248; + const double t332 = t7 * t331; + const double t336 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t256 * t317 ); + const double t339 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t260 * t321 ); + const double t341 = t336 / 0.2e1 + t339 / 0.2e1; + const double t342 = t56 * t341; + const double t343 = t342 * t107; + const double t346 = t279 * t331; + const double t347 = t110 * t346; + const double t350 = -0.69506584583333333332e-3 * t343 * t113 + t276 + 0.69506584583333333332e-3 * t108 * t347; + const double t352 = t254 * t350; + const double t361 = -t350; + const double t362 = t133 * t361; + const double t364 = t361 * t134; + const double t373 = -t362 * t134 + t255 * t350 + 0.2e1 * t286 * t352 + 0.3e1 * t290 * t352 + 0.4e1 * t293 * t352 + 0.5e1 * t296 * t352 - 0.2e1 * t302 * t364 - 0.3e1 * t306 * t364 - 0.4e1 * t309 * t364 - 0.5e1 * t312 * t364; + const double t375 = t255 * t102; + const double t376 = t106 * t19; + const double t378 = t377 * t111; + const double t379 = t376 * t378; + const double t380 = t375 * t379; + const double t382 = t254 * t56; + const double t383 = t382 * t101; + const double t384 = t286 * t383; + const double t385 = t384 * t379; + const double t387 = t290 * t383; + const double t388 = t387 * t379; + const double t390 = t293 * t383; + const double t391 = t390 * t379; + const double t393 = t296 * t383; + const double t394 = t393 * t379; + const double t397 = t101 * t106; + const double t400 = t110 * t112 * t134; + const double t401 = t396 * t397 * t400; + const double t403 = t102 * t106; + const double t404 = t302 * t403; + const double t405 = t404 * t400; + const double t407 = t306 * t403; + const double t408 = t407 * t400; + const double t410 = t309 * t403; + const double t411 = t410 * t400; + const double t413 = t312 * t403; + const double t414 = t413 * t400; + const double t416 = -0.69506584583333333332e-3 * t380 - 0.13901316916666666666e-2 * t385 - 0.20851975375e-2 * t388 - 0.27802633833333333333e-2 * t391 - 0.34753292291666666666e-2 * t394 - 0.69506584583333333332e-3 * t401 - 0.13901316916666666666e-2 * t405 - 0.20851975375e-2 * t408 - 0.27802633833333333333e-2 * t411 - 0.34753292291666666666e-2 * t414; + const double t427 = -0.13901316916666666666e-2 * t380 - 0.27802633833333333332e-2 * t385 - 0.41703950749999999998e-2 * t388 - 0.55605267666666666664e-2 * t391 - 0.6950658458333333333e-2 * t394 - 0.13901316916666666666e-2 * t401 - 0.27802633833333333332e-2 * t405 - 0.41703950749999999998e-2 * t408 - 0.55605267666666666664e-2 * t411 - 0.6950658458333333333e-2 * t414; + + + eps = t92 * t149; + vrho_a = t250 * t149 + t252 * t315 + eps; + vrho_b = t332 * t149 + t252 * t373 + eps; + vsigma_aa = t252 * t416; + vsigma_ab = t252 * t427; + vsigma_bb = vsigma_aa; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = sogga11_a_1; + constexpr double t109 = 0.1e1 / t3; + constexpr double t110 = t19 * t109; + constexpr double t120 = sogga11_a_2; + constexpr double t123 = sogga11_a_3; + constexpr double t126 = sogga11_a_4; + constexpr double t129 = sogga11_a_5; + constexpr double t133 = sogga11_b_1; + constexpr double t137 = sogga11_b_2; + constexpr double t140 = sogga11_b_3; + constexpr double t143 = sogga11_b_4; + constexpr double t146 = sogga11_b_5; + constexpr double t161 = t3 * t6; + constexpr double t377 = t109 * t5; + constexpr double t396 = t133 * t56; + constexpr double t444 = t20 * t5; + constexpr double t490 = t4 * t6; + constexpr double t1112 = t110 * t5; + constexpr double t1451 = t56 * t56; + constexpr double t1458 = 0.1e1 / t20; + constexpr double t1459 = t1458 * t6; + constexpr double t1492 = t133 * t1451; + constexpr double t1495 = t1 * t1458; + constexpr double t1501 = t137 * t1451; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t92 = -t33 + t40 * t88 + 0.19751673498613801407e-1 * t60 * t85; + const double t95 = t45 * t45; + const double t96 = t47 * t47; + const double t97 = piecewise_functor_3( t44, t95, t96 ); + const double t98 = t52 * t52; + const double t99 = piecewise_functor_3( t51, t95, t98 ); + const double t101 = t97 / 0.2e1 + t99 / 0.2e1; + const double t102 = t56 * t101; + const double t104 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t106 = 0.1e1 / t8 / t37; + const double t107 = t104 * t106; + const double t108 = t102 * t107; + const double t111 = 0.1e1 / t92; + const double t112 = t5 * t111; + const double t113 = t110 * t112; + const double t115 = 0.69506584583333333332e-3 * t108 * t113; + const double t116 = 0.1e1 - t115; + const double t118 = 0.1e1 - 0.1e1 / t116; + const double t121 = t118 * t118; + const double t124 = t121 * t118; + const double t127 = t121 * t121; + const double t134 = safe_math::exp( t115 ); + const double t135 = 0.1e1 - t134; + const double t138 = t135 * t135; + const double t141 = t138 * t135; + const double t144 = t138 * t138; + const double t149 = t129 * t127 * t118 + t146 * t144 * t135 + t94 * t118 + t120 * t121 + t123 * t124 + t126 * t127 + t133 * t135 + t137 * t138 + t140 * t141 + t143 * t144 + sogga11_a_0 + sogga11_b_0; + const double t151 = 0.1e1 / t8 / t7; + const double t152 = t6 * t151; + const double t155 = 0.11073470983333333333e-2 * t4 * t152 * t31; + const double t156 = t27 * t27; + const double t157 = 0.1e1 / t156; + const double t158 = t13 * t157; + const double t160 = 0.1e1 / t14 * t1; + const double t162 = t161 * t151; + const double t163 = t160 * t162; + const double t165 = t4 * t152; + const double t167 = safe_math::sqrt( t11 ); + const double t168 = t167 * t1; + const double t169 = t168 * t162; + const double t174 = t21 * t5 / t22 / t7; + const double t176 = -0.632975e0 * t163 - 0.29896666666666666667e0 * t165 - 0.1023875e0 * t169 - 0.82156666666666666667e-1 * t174; + const double t177 = 0.1e1 / t30; + const double t178 = t176 * t177; + const double t180 = 0.1e1 * t158 * t178; + const double t181 = t35 * t34; + const double t182 = t181 * t39; + const double t184 = 0.4e1 * t182 * t88; + const double t185 = t38 * t7; + const double t186 = 0.1e1 / t185; + const double t187 = t36 * t186; + const double t189 = 0.4e1 * t187 * t88; + const double t190 = 0.1e1 / t37; + const double t191 = t34 * t190; + const double t192 = t41 - t191; + const double t195 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t192 ); + const double t196 = -t192; + const double t199 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t196 ); + const double t201 = ( t195 + t199 ) * t59; + const double t202 = t201 * t87; + const double t207 = t67 * t67; + const double t208 = 0.1e1 / t207; + const double t209 = t62 * t208; + const double t214 = -0.1176575e1 * t163 - 0.516475e0 * t165 - 0.2103875e0 * t169 - 0.104195e0 * t174; + const double t215 = 0.1e1 / t70; + const double t216 = t214 * t215; + const double t222 = t80 * t80; + const double t223 = 0.1e1 / t222; + const double t224 = t75 * t223; + const double t229 = -0.86308333333333333334e0 * t163 - 0.301925e0 * t165 - 0.5501625e-1 * t169 - 0.82785e-1 * t174; + const double t230 = 0.1e1 / t83; + const double t231 = t229 * t230; + const double t234 = 0.53237641966666666666e-3 * t4 * t152 * t71 + 0.1e1 * t209 * t216 - t155 - t180 + 0.18311447306006545054e-3 * t4 * t152 * t84 + 0.5848223622634646207e0 * t224 * t231; + const double t235 = t60 * t234; + const double t236 = t40 * t235; + const double t239 = t60 * t1; + const double t241 = t161 * t151 * t84; + const double t243 = 0.18311447306006545054e-3 * t239 * t241; + const double t244 = t60 * t75; + const double t246 = t223 * t229 * t230; + const double t248 = 0.5848223622634646207e0 * t244 * t246; + const double t249 = t155 + t180 + t184 - t189 + t40 * t202 + t236 + 0.19751673498613801407e-1 * t201 * t85 - t243 - t248; + const double t250 = t7 * t249; + const double t252 = t7 * t92; + const double t253 = t116 * t116; + const double t254 = 0.1e1 / t253; + const double t255 = t94 * t254; + const double t256 = 0.1e1 / t47; + const double t259 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t256 * t192 ); + const double t260 = 0.1e1 / t52; + const double t263 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t260 * t196 ); + const double t265 = t259 / 0.2e1 + t263 / 0.2e1; + const double t266 = t56 * t265; + const double t267 = t266 * t107; + const double t270 = t37 * t7; + const double t272 = 0.1e1 / t8 / t270; + const double t273 = t104 * t272; + const double t274 = t102 * t273; + const double t276 = 0.16218203069444444444e-2 * t274 * t113; + const double t277 = t92 * t92; + const double t278 = 0.1e1 / t277; + const double t279 = t5 * t278; + const double t280 = t279 * t249; + const double t281 = t110 * t280; + const double t284 = -0.69506584583333333332e-3 * t267 * t113 + t276 + 0.69506584583333333332e-3 * t108 * t281; + const double t286 = t120 * t118; + const double t287 = t254 * t284; + const double t290 = t123 * t121; + const double t293 = t126 * t124; + const double t296 = t129 * t127; + const double t299 = -t284; + const double t300 = t133 * t299; + const double t302 = t137 * t135; + const double t303 = t299 * t134; + const double t306 = t140 * t138; + const double t309 = t143 * t141; + const double t312 = t146 * t144; + const double t315 = -t300 * t134 + t255 * t284 + 0.2e1 * t286 * t287 + 0.3e1 * t290 * t287 + 0.4e1 * t293 * t287 + 0.5e1 * t296 * t287 - 0.2e1 * t302 * t303 - 0.3e1 * t306 * t303 - 0.4e1 * t309 * t303 - 0.5e1 * t312 * t303; + const double t317 = -t41 - t191; + const double t320 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t317 ); + const double t321 = -t317; + const double t324 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t321 ); + const double t326 = ( t320 + t324 ) * t59; + const double t327 = t326 * t87; + const double t331 = t155 + t180 - t184 - t189 + t40 * t327 + t236 + 0.19751673498613801407e-1 * t326 * t85 - t243 - t248; + const double t332 = t7 * t331; + const double t336 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t256 * t317 ); + const double t339 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t260 * t321 ); + const double t341 = t336 / 0.2e1 + t339 / 0.2e1; + const double t342 = t56 * t341; + const double t343 = t342 * t107; + const double t346 = t279 * t331; + const double t347 = t110 * t346; + const double t350 = -0.69506584583333333332e-3 * t343 * t113 + t276 + 0.69506584583333333332e-3 * t108 * t347; + const double t352 = t254 * t350; + const double t361 = -t350; + const double t362 = t133 * t361; + const double t364 = t361 * t134; + const double t373 = -t362 * t134 + t255 * t350 + 0.2e1 * t286 * t352 + 0.3e1 * t290 * t352 + 0.4e1 * t293 * t352 + 0.5e1 * t296 * t352 - 0.2e1 * t302 * t364 - 0.3e1 * t306 * t364 - 0.4e1 * t309 * t364 - 0.5e1 * t312 * t364; + const double t375 = t255 * t102; + const double t376 = t106 * t19; + const double t378 = t377 * t111; + const double t379 = t376 * t378; + const double t380 = t375 * t379; + const double t382 = t254 * t56; + const double t383 = t382 * t101; + const double t384 = t286 * t383; + const double t385 = t384 * t379; + const double t387 = t290 * t383; + const double t388 = t387 * t379; + const double t390 = t293 * t383; + const double t391 = t390 * t379; + const double t393 = t296 * t383; + const double t394 = t393 * t379; + const double t397 = t101 * t106; + const double t400 = t110 * t112 * t134; + const double t401 = t396 * t397 * t400; + const double t403 = t102 * t106; + const double t404 = t302 * t403; + const double t405 = t404 * t400; + const double t407 = t306 * t403; + const double t408 = t407 * t400; + const double t410 = t309 * t403; + const double t411 = t410 * t400; + const double t413 = t312 * t403; + const double t414 = t413 * t400; + const double t416 = -0.69506584583333333332e-3 * t380 - 0.13901316916666666666e-2 * t385 - 0.20851975375e-2 * t388 - 0.27802633833333333333e-2 * t391 - 0.34753292291666666666e-2 * t394 - 0.69506584583333333332e-3 * t401 - 0.13901316916666666666e-2 * t405 - 0.20851975375e-2 * t408 - 0.27802633833333333333e-2 * t411 - 0.34753292291666666666e-2 * t414; + const double t427 = -0.13901316916666666666e-2 * t380 - 0.27802633833333333332e-2 * t385 - 0.41703950749999999998e-2 * t388 - 0.55605267666666666664e-2 * t391 - 0.6950658458333333333e-2 * t394 - 0.13901316916666666666e-2 * t401 - 0.27802633833333333332e-2 * t405 - 0.41703950749999999998e-2 * t408 - 0.55605267666666666664e-2 * t411 - 0.6950658458333333333e-2 * t414; + const double t428 = t249 * t149; + const double t430 = t92 * t315; + const double t432 = t222 * t222; + const double t433 = 0.1e1 / t432; + const double t434 = t229 * t229; + const double t435 = t433 * t434; + const double t436 = t83 * t83; + const double t437 = 0.1e1 / t436; + const double t438 = t435 * t437; + const double t440 = 0.17315859105681463759e2 * t244 * t438; + const double t443 = 0.1e1 / t14 / t11 * t19; + const double t446 = 0.1e1 / t22 / t37; + const double t447 = t444 * t446; + const double t448 = t443 * t447; + const double t450 = t161 * t106; + const double t451 = t160 * t450; + const double t453 = t6 * t106; + const double t454 = t4 * t453; + const double t456 = 0.1e1/safe_math::sqrt( t11 ); + const double t457 = t456 * t19; + const double t458 = t457 * t447; + const double t460 = t168 * t450; + const double t463 = t21 * t5 * t446; + const double t465 = -0.57538888888888888889e0 * t448 + 0.11507777777777777778e1 * t451 + 0.40256666666666666667e0 * t454 + 0.366775e-1 * t458 + 0.73355e-1 * t460 + 0.137975e0 * t463; + const double t467 = t223 * t465 * t230; + const double t469 = 0.5848223622634646207e0 * t244 * t467; + const double t470 = t201 * t75; + const double t471 = t470 * t246; + const double t473 = t38 * t37; + const double t474 = 0.1e1 / t473; + const double t475 = t36 * t474; + const double t477 = 0.2e2 * t475 * t88; + const double t478 = t35 * t39; + const double t480 = 0.12e2 * t478 * t88; + const double t481 = t181 * t186; + const double t483 = 0.32e2 * t481 * t88; + const double t486 = 0.14764627977777777777e-2 * t4 * t453 * t31; + const double t491 = t151 * t208; + const double t495 = t207 * t67; + const double t496 = 0.1e1 / t495; + const double t497 = t62 * t496; + const double t498 = t214 * t214; + const double t499 = t498 * t215; + const double t508 = -0.78438333333333333333e0 * t448 + 0.15687666666666666667e1 * t451 + 0.68863333333333333333e0 * t454 + 0.14025833333333333333e0 * t458 + 0.28051666666666666667e0 * t460 + 0.17365833333333333333e0 * t463; + const double t509 = t508 * t215; + const double t512 = t207 * t207; + const double t513 = 0.1e1 / t512; + const double t514 = t62 * t513; + const double t515 = t70 * t70; + const double t516 = 0.1e1 / t515; + const double t517 = t498 * t516; + const double t520 = t151 * t157; + const double t523 = 0.35616666666666666666e-1 * t490 * t520 * t178; + const double t524 = t156 * t27; + const double t525 = 0.1e1 / t524; + const double t526 = t13 * t525; + const double t527 = t176 * t176; + const double t528 = t527 * t177; + const double t530 = 0.2e1 * t526 * t528; + const double t537 = -0.42198333333333333333e0 * t448 + 0.84396666666666666666e0 * t451 + 0.39862222222222222223e0 * t454 + 0.68258333333333333333e-1 * t458 + 0.13651666666666666667e0 * t460 + 0.13692777777777777778e0 * t463; + const double t538 = t537 * t177; + const double t540 = 0.1e1 * t158 * t538; + const double t541 = t156 * t156; + const double t542 = 0.1e1 / t541; + const double t543 = t13 * t542; + const double t544 = t30 * t30; + const double t545 = 0.1e1 / t544; + const double t546 = t527 * t545; + const double t548 = 0.16081979498692535067e2 * t543 * t546; + const double t552 = t151 * t223; + const double t556 = t222 * t80; + const double t557 = 0.1e1 / t556; + const double t558 = t75 * t557; + const double t559 = t434 * t230; + const double t562 = t465 * t230; + const double t565 = t75 * t433; + const double t566 = t434 * t437; + const double t569 = -0.70983522622222222221e-3 * t4 * t453 * t71 - 0.34246666666666666666e-1 * t490 * t491 * t216 - 0.2e1 * t497 * t499 + 0.1e1 * t209 * t509 + 0.32163958997385070134e2 * t514 * t517 + t486 + t523 + t530 - t540 - t548 - 0.24415263074675393405e-3 * t4 * t453 * t84 - 0.10843581300301739842e-1 * t490 * t552 * t231 - 0.11696447245269292414e1 * t558 * t559 + 0.5848223622634646207e0 * t224 * t562 + 0.17315859105681463759e2 * t565 * t566; + const double t570 = t60 * t569; + const double t571 = t40 * t570; + const double t572 = 0.1e1 / t96; + const double t573 = t192 * t192; + const double t576 = 0.1e1 / t270; + const double t577 = t34 * t576; + const double t579 = -0.2e1 * t190 + 0.2e1 * t577; + const double t583 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t572 * t573 + 0.4e1 / 0.3e1 * t47 * t579 ); + const double t584 = 0.1e1 / t98; + const double t585 = t196 * t196; + const double t588 = -t579; + const double t592 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t584 * t585 + 0.4e1 / 0.3e1 * t52 * t588 ); + const double t594 = ( t583 + t592 ) * t59; + const double t595 = t594 * t87; + const double t597 = t201 * t234; + const double t598 = t40 * t597; + const double t600 = t187 * t202; + const double t602 = -t440 - t469 - 0.11696447245269292414e1 * t471 + t477 + t480 - t483 - t486 + t571 + t40 * t595 + 0.2e1 * t598 - 0.8e1 * t600; + const double t604 = 0.8e1 * t187 * t235; + const double t605 = t182 * t202; + const double t608 = 0.8e1 * t182 * t235; + const double t611 = t201 * t1; + const double t612 = t611 * t241; + const double t615 = t557 * t434 * t230; + const double t617 = 0.11696447245269292414e1 * t244 * t615; + const double t618 = t60 * t4; + const double t619 = t152 * t246; + const double t621 = 0.10843581300301739842e-1 * t618 * t619; + const double t623 = t161 * t106 * t84; + const double t625 = 0.24415263074675393405e-3 * t239 * t623; + const double t626 = -t604 + 0.8e1 * t605 + t608 - t530 + 0.19751673498613801407e-1 * t594 * t85 + t548 + t540 - 0.36622894612013090108e-3 * t612 + t617 - t523 + t621 + t625; + const double t627 = t602 + t626; + const double t628 = t7 * t627; + const double t632 = t253 * t253; + const double t633 = 0.1e1 / t632; + const double t634 = t120 * t633; + const double t635 = t284 * t284; + const double t638 = t299 * t299; + const double t639 = t133 * t638; + const double t641 = 0.1e1 / t48; + const double t647 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t641 * t573 + 0.2e1 / 0.3e1 * t256 * t579 ); + const double t648 = 0.1e1 / t53; + const double t654 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t648 * t585 + 0.2e1 / 0.3e1 * t260 * t588 ); + const double t656 = t647 / 0.2e1 + t654 / 0.2e1; + const double t657 = t56 * t656; + const double t658 = t657 * t107; + const double t661 = t266 * t273; + const double t662 = t661 * t113; + const double t667 = 0.1e1 / t8 / t38; + const double t668 = t104 * t667; + const double t669 = t102 * t668; + const double t671 = 0.54060676898148148147e-2 * t669 * t113; + const double t672 = t274 * t281; + const double t675 = 0.1e1 / t277 / t92; + const double t676 = t5 * t675; + const double t677 = t249 * t249; + const double t678 = t676 * t677; + const double t679 = t110 * t678; + const double t682 = t279 * t627; + const double t683 = t110 * t682; + const double t686 = -0.69506584583333333332e-3 * t658 * t113 + 0.32436406138888888888e-2 * t662 + 0.13901316916666666666e-2 * t267 * t281 - t671 - 0.32436406138888888888e-2 * t672 - 0.13901316916666666666e-2 * t108 * t679 + 0.69506584583333333332e-3 * t108 * t683; + const double t687 = t254 * t686; + const double t690 = t140 * t135; + const double t691 = t134 * t134; + const double t692 = t638 * t691; + const double t695 = -t686; + const double t698 = t695 * t134; + const double t701 = t253 * t116; + const double t702 = 0.1e1 / t701; + const double t703 = t702 * t635; + const double t707 = t126 * t121; + const double t708 = t633 * t635; + const double t717 = t94 * t702; + const double t722 = -t133 * t695 * t134 - t639 * t134 + t255 * t686 + 0.2e1 * t286 * t687 - 0.4e1 * t286 * t703 + 0.3e1 * t290 * t687 + 0.5e1 * t296 * t687 - 0.1e2 * t296 * t703 - 0.2e1 * t302 * t698 - 0.4e1 * t309 * t698 + 0.2e1 * t634 * t635 - 0.2e1 * t717 * t635 + 0.6e1 * t690 * t692 + 0.12e2 * t707 * t708; + const double t723 = t638 * t134; + const double t734 = t146 * t141; + const double t737 = t123 * t118; + const double t740 = t129 * t124; + const double t743 = t143 * t138; + const double t746 = t137 * t638; + const double t757 = -0.6e1 * t290 * t703 + 0.4e1 * t293 * t687 - 0.8e1 * t293 * t703 - 0.2e1 * t302 * t723 - 0.3e1 * t306 * t698 - 0.3e1 * t306 * t723 - 0.4e1 * t309 * t723 - 0.5e1 * t312 * t698 - 0.5e1 * t312 * t723 + 0.2e1 * t746 * t691 + 0.2e2 * t734 * t692 + 0.12e2 * t743 * t692 + 0.6e1 * t737 * t708 + 0.2e2 * t740 * t708; + const double t758 = t722 + t757; + const double t760 = t331 * t149; + const double t762 = t326 * t75; + const double t763 = t762 * t246; + const double t765 = t572 * t317; + const double t768 = t47 * t34; + const double t772 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t765 * t192 + 0.8e1 / 0.3e1 * t768 * t576 ); + const double t773 = t584 * t321; + const double t776 = t52 * t34; + const double t780 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t773 * t196 - 0.8e1 / 0.3e1 * t776 * t576 ); + const double t782 = ( t772 + t780 ) * t59; + const double t783 = t782 * t87; + const double t785 = t326 * t234; + const double t786 = t40 * t785; + const double t789 = t598 - 0.4e1 * t600 - 0.5848223622634646207e0 * t763 + t40 * t783 + t786 + 0.19751673498613801407e-1 * t782 * t85 + t621 + t477 - t480 - t486 + t571 + t625 + t617; + const double t793 = t182 * t327; + const double t795 = t187 * t327; + const double t797 = t326 * t1; + const double t798 = t797 * t241; + const double t800 = -t440 - t469 - 0.5848223622634646207e0 * t471 - t523 - 0.18311447306006545054e-3 * t612 - t530 + t540 + t548 - t604 - 0.4e1 * t605 + 0.4e1 * t793 - 0.4e1 * t795 - 0.18311447306006545054e-3 * t798; + const double t801 = t789 + t800; + const double t802 = t7 * t801; + const double t805 = t92 * t373; + const double t807 = t633 * t350; + const double t808 = t807 * t284; + const double t811 = t641 * t317; + const double t814 = t256 * t34; + const double t818 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t811 * t192 + 0.4e1 / 0.3e1 * t814 * t576 ); + const double t819 = t648 * t321; + const double t822 = t260 * t34; + const double t826 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t819 * t196 - 0.4e1 / 0.3e1 * t822 * t576 ); + const double t828 = t818 / 0.2e1 + t826 / 0.2e1; + const double t829 = t56 * t828; + const double t830 = t829 * t107; + const double t833 = t342 * t273; + const double t834 = t833 * t113; + const double t842 = t274 * t347; + const double t844 = t107 * t19; + const double t845 = t102 * t844; + const double t846 = t675 * t331; + const double t847 = t846 * t249; + const double t848 = t377 * t847; + const double t851 = t279 * t801; + const double t852 = t110 * t851; + const double t855 = 0.69506584583333333332e-3 * t830 * t113 - 0.16218203069444444444e-2 * t834 - 0.69506584583333333332e-3 * t343 * t281 - 0.16218203069444444444e-2 * t662 + t671 + 0.16218203069444444444e-2 * t672 - 0.69506584583333333332e-3 * t267 * t347 + 0.16218203069444444444e-2 * t842 + 0.13901316916666666666e-2 * t845 * t848 - 0.69506584583333333332e-3 * t108 * t852; + const double t856 = t133 * t855; + const double t863 = t361 * t299; + const double t864 = t863 * t134; + const double t867 = t702 * t350; + const double t868 = t867 * t284; + const double t871 = t137 * t299; + const double t872 = t691 * t361; + const double t877 = -t855; + const double t878 = t254 * t877; + const double t881 = t855 * t134; + const double t890 = -t856 * t134 - 0.6e1 * t290 * t868 + 0.3e1 * t290 * t878 - 0.1e2 * t296 * t868 - 0.2e1 * t302 * t864 - 0.2e1 * t302 * t881 - t362 * t303 - 0.4e1 * t309 * t864 - 0.4e1 * t309 * t881 - 0.5e1 * t312 * t864 + 0.12e2 * t707 * t808 + 0.6e1 * t737 * t808 + 0.2e2 * t740 * t808 + 0.2e1 * t871 * t872; + const double t895 = t872 * t299; + const double t904 = t350 * t284; + const double t920 = t255 * t877 - 0.4e1 * t286 * t868 + 0.2e1 * t286 * t878 - 0.8e1 * t293 * t868 + 0.4e1 * t293 * t878 + 0.5e1 * t296 * t878 - 0.3e1 * t306 * t864 - 0.3e1 * t306 * t881 - 0.5e1 * t312 * t881 + 0.2e1 * t634 * t904 + 0.6e1 * t690 * t895 - 0.2e1 * t717 * t904 + 0.2e2 * t734 * t895 + 0.12e2 * t743 * t895; + const double t921 = t890 + t920; + const double t925 = t317 * t317; + const double t929 = 0.2e1 * t190 + 0.2e1 * t577; + const double t933 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t572 * t925 + 0.4e1 / 0.3e1 * t47 * t929 ); + const double t934 = t321 * t321; + const double t937 = -t929; + const double t941 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t584 * t934 + 0.4e1 / 0.3e1 * t52 * t937 ); + const double t943 = ( t933 + t941 ) * t59; + const double t944 = t943 * t87; + const double t953 = t40 * t944 + 0.19751673498613801407e-1 * t943 * t85 - 0.11696447245269292414e1 * t763 + 0.2e1 * t786 - 0.36622894612013090108e-3 * t798 - 0.8e1 * t793 - 0.8e1 * t795 - t440 - t469 + t477 + t480; + const double t954 = t483 - t486 + t571 - t604 - t608 - t530 + t548 + t540 + t617 - t523 + t621 + t625; + const double t955 = t953 + t954; + const double t956 = t7 * t955; + const double t965 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t641 * t925 + 0.2e1 / 0.3e1 * t256 * t929 ); + const double t971 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t648 * t934 + 0.2e1 / 0.3e1 * t260 * t937 ); + const double t973 = t965 / 0.2e1 + t971 / 0.2e1; + const double t974 = t56 * t973; + const double t975 = t974 * t107; + const double t982 = t331 * t331; + const double t983 = t676 * t982; + const double t984 = t110 * t983; + const double t987 = t279 * t955; + const double t988 = t110 * t987; + const double t991 = 0.69506584583333333332e-3 * t975 * t113 - 0.32436406138888888888e-2 * t834 - 0.13901316916666666666e-2 * t343 * t347 + t671 + 0.32436406138888888888e-2 * t842 + 0.13901316916666666666e-2 * t108 * t984 - 0.69506584583333333332e-3 * t108 * t988; + const double t992 = t991 * t134; + const double t995 = t361 * t361; + const double t996 = t995 * t691; + const double t999 = t350 * t350; + const double t1000 = t702 * t999; + const double t1003 = -t991; + const double t1004 = t254 * t1003; + const double t1007 = t137 * t995; + const double t1010 = t995 * t134; + const double t1028 = -0.6e1 * t290 * t1000 - 0.1e2 * t296 * t1000 + t255 * t1003 + 0.5e1 * t296 * t1004 + 0.2e1 * t1007 * t691 - 0.2e1 * t302 * t1010 - 0.4e1 * t309 * t1010 - 0.5e1 * t312 * t1010 - 0.2e1 * t302 * t992 - 0.5e1 * t312 * t992 + 0.6e1 * t690 * t996 - 0.2e1 * t717 * t999 + 0.2e2 * t734 * t996 + 0.12e2 * t743 * t996; + const double t1029 = t633 * t999; + const double t1040 = t133 * t991; + const double t1054 = t133 * t995; + const double t1058 = -0.4e1 * t286 * t1000 - 0.8e1 * t293 * t1000 + 0.2e1 * t286 * t1004 + 0.3e1 * t290 * t1004 + 0.4e1 * t293 * t1004 - 0.3e1 * t306 * t1010 + 0.12e2 * t707 * t1029 + 0.6e1 * t737 * t1029 + 0.2e2 * t740 * t1029 - t1040 * t134 - t1054 * t134 - 0.3e1 * t306 * t992 - 0.4e1 * t309 * t992 + 0.2e1 * t634 * t999; + const double t1059 = t1028 + t1058; + const double t1061 = t92 * t416; + const double t1063 = t266 * t106; + const double t1064 = t312 * t1063; + const double t1065 = t1064 * t400; + const double t1067 = t691 * t56; + const double t1068 = t1067 * t101; + const double t1069 = t871 * t1068; + const double t1070 = t1069 * t379; + const double t1072 = t306 * t1063; + const double t1073 = t1072 * t400; + const double t1075 = t309 * t1063; + const double t1076 = t1075 * t400; + const double t1078 = t382 * t265; + const double t1079 = t296 * t1078; + const double t1080 = t1079 * t379; + const double t1082 = t397 * t19; + const double t1083 = t396 * t1082; + const double t1084 = t278 * t134; + const double t1085 = t1084 * t249; + const double t1086 = t377 * t1085; + const double t1087 = t1083 * t1086; + const double t1090 = t111 * t299 * t134; + const double t1091 = t377 * t1090; + const double t1092 = t1083 * t1091; + const double t1094 = t302 * t1063; + const double t1095 = t1094 * t400; + const double t1097 = t286 * t1078; + const double t1098 = t1097 * t379; + const double t1100 = t290 * t1078; + const double t1101 = t1100 * t379; + const double t1103 = t293 * t1078; + const double t1104 = t1103 * t379; + const double t1106 = t717 * t403; + const double t1107 = t112 * t284; + const double t1108 = t110 * t1107; + const double t1109 = t1106 * t1108; + const double t1111 = -0.34753292291666666666e-2 * t1065 + 0.13901316916666666666e-2 * t1070 - 0.20851975375e-2 * t1073 - 0.27802633833333333333e-2 * t1076 - 0.34753292291666666666e-2 * t1080 + 0.69506584583333333332e-3 * t1087 - 0.69506584583333333332e-3 * t1092 - 0.13901316916666666666e-2 * t1095 - 0.13901316916666666666e-2 * t1098 - 0.20851975375e-2 * t1101 - 0.27802633833333333333e-2 * t1104 + 0.13901316916666666666e-2 * t1109; + const double t1113 = t1112 * t1085; + const double t1114 = t404 * t1113; + const double t1116 = t1112 * t1090; + const double t1117 = t404 * t1116; + const double t1119 = t376 * t109; + const double t1120 = t1119 * t280; + const double t1121 = t384 * t1120; + const double t1123 = t702 * t56; + const double t1124 = t1123 * t101; + const double t1125 = t290 * t1124; + const double t1126 = t1119 * t1107; + const double t1127 = t1125 * t1126; + const double t1129 = t387 * t1120; + const double t1131 = t293 * t1124; + const double t1132 = t1131 * t1126; + const double t1134 = t390 * t1120; + const double t1136 = t286 * t1124; + const double t1137 = t1136 * t1126; + const double t1139 = t265 * t106; + const double t1141 = t396 * t1139 * t400; + const double t1143 = t255 * t266; + const double t1144 = t1143 * t379; + const double t1146 = t272 * t19; + const double t1147 = t1146 * t378; + const double t1148 = t387 * t1147; + const double t1149 = 0.48654609208333333333e-2 * t1148; + const double t1150 = t390 * t1147; + const double t1151 = 0.64872812277777777777e-2 * t1150; + const double t1152 = 0.13901316916666666666e-2 * t1114 - 0.13901316916666666666e-2 * t1117 + 0.13901316916666666666e-2 * t1121 + 0.4170395075e-2 * t1127 + 0.20851975375e-2 * t1129 + 0.55605267666666666666e-2 * t1132 + 0.27802633833333333333e-2 * t1134 + 0.27802633833333333332e-2 * t1137 - 0.69506584583333333332e-3 * t1141 - 0.69506584583333333332e-3 * t1144 + t1149 + t1151; + const double t1154 = t384 * t1147; + const double t1155 = 0.32436406138888888887e-2 * t1154; + const double t1156 = t255 * t403; + const double t1157 = t1156 * t281; + const double t1159 = t102 * t272; + const double t1160 = t309 * t1159; + const double t1161 = t1160 * t400; + const double t1162 = 0.64872812277777777777e-2 * t1161; + const double t1163 = t312 * t1159; + const double t1164 = t1163 * t400; + const double t1165 = 0.81091015347222222221e-2 * t1164; + const double t1166 = t393 * t1147; + const double t1167 = 0.81091015347222222221e-2 * t1166; + const double t1168 = t302 * t1159; + const double t1169 = t1168 * t400; + const double t1170 = 0.32436406138888888887e-2 * t1169; + const double t1171 = t306 * t1159; + const double t1172 = t1171 * t400; + const double t1173 = 0.48654609208333333333e-2 * t1172; + const double t1174 = t284 * t56; + const double t1175 = t1174 * t101; + const double t1176 = t634 * t1175; + const double t1177 = t1176 * t379; + const double t1179 = t633 * t56; + const double t1180 = t1179 * t101; + const double t1181 = t737 * t1180; + const double t1182 = t1181 * t1126; + const double t1184 = t707 * t1180; + const double t1185 = t1184 * t1126; + const double t1187 = t740 * t1180; + const double t1188 = t1187 * t1126; + const double t1190 = t413 * t1116; + const double t1192 = t1155 + 0.69506584583333333332e-3 * t1157 + t1162 + t1165 + t1167 + t1170 + t1173 - 0.13901316916666666666e-2 * t1177 - 0.4170395075e-2 * t1182 - 0.83407901499999999999e-2 * t1185 - 0.13901316916666666666e-1 * t1188 - 0.34753292291666666666e-2 * t1190; + const double t1193 = t407 * t1113; + const double t1195 = t690 * t403; + const double t1196 = t111 * t691; + const double t1198 = t1112 * t1196 * t299; + const double t1199 = t1195 * t1198; + const double t1201 = t407 * t1116; + const double t1203 = t410 * t1113; + const double t1205 = t743 * t403; + const double t1206 = t1205 * t1198; + const double t1208 = t410 * t1116; + const double t1210 = t413 * t1113; + const double t1212 = t734 * t403; + const double t1213 = t1212 * t1198; + const double t1215 = t296 * t1124; + const double t1216 = t1215 * t1126; + const double t1218 = t393 * t1120; + const double t1220 = t101 * t272; + const double t1222 = t396 * t1220 * t400; + const double t1223 = 0.16218203069444444444e-2 * t1222; + const double t1224 = t375 * t1147; + const double t1225 = 0.16218203069444444444e-2 * t1224; + const double t1226 = 0.20851975375e-2 * t1193 + 0.4170395075e-2 * t1199 - 0.20851975375e-2 * t1201 + 0.27802633833333333333e-2 * t1203 + 0.83407901499999999999e-2 * t1206 - 0.27802633833333333333e-2 * t1208 + 0.34753292291666666666e-2 * t1210 + 0.13901316916666666666e-1 * t1213 + 0.69506584583333333332e-2 * t1216 + 0.34753292291666666666e-2 * t1218 + t1223 + t1225; + const double t1228 = t1111 + t1152 + t1192 + t1226; + const double t1230 = t92 * t427; + const double t1244 = -0.6950658458333333333e-2 * t1065 + 0.27802633833333333332e-2 * t1070 - 0.41703950749999999998e-2 * t1073 - 0.55605267666666666664e-2 * t1076 - 0.6950658458333333333e-2 * t1080 + 0.13901316916666666666e-2 * t1087 - 0.13901316916666666666e-2 * t1092 - 0.27802633833333333332e-2 * t1095 - 0.27802633833333333332e-2 * t1098 - 0.41703950749999999998e-2 * t1101 - 0.55605267666666666664e-2 * t1104 + 0.27802633833333333332e-2 * t1109; + const double t1255 = 0.97309218416666666662e-2 * t1148; + const double t1256 = 0.12974562455555555555e-1 * t1150; + const double t1257 = 0.27802633833333333332e-2 * t1114 - 0.27802633833333333332e-2 * t1117 + 0.27802633833333333332e-2 * t1121 + 0.83407901499999999996e-2 * t1127 + 0.41703950749999999998e-2 * t1129 + 0.11121053533333333333e-1 * t1132 + 0.55605267666666666664e-2 * t1134 + 0.55605267666666666664e-2 * t1137 - 0.13901316916666666666e-2 * t1141 - 0.13901316916666666666e-2 * t1144 + t1255 + t1256; + const double t1259 = 0.64872812277777777775e-2 * t1154; + const double t1261 = 0.12974562455555555555e-1 * t1161; + const double t1262 = 0.16218203069444444444e-1 * t1164; + const double t1263 = 0.16218203069444444444e-1 * t1166; + const double t1264 = 0.64872812277777777775e-2 * t1169; + const double t1265 = 0.97309218416666666662e-2 * t1172; + const double t1271 = t1259 + 0.13901316916666666666e-2 * t1157 + t1261 + t1262 + t1263 + t1264 + t1265 - 0.27802633833333333332e-2 * t1177 - 0.83407901499999999996e-2 * t1182 - 0.16681580299999999999e-1 * t1185 - 0.27802633833333333332e-1 * t1188 - 0.6950658458333333333e-2 * t1190; + const double t1282 = 0.32436406138888888887e-2 * t1222; + const double t1283 = 0.32436406138888888887e-2 * t1224; + const double t1284 = 0.41703950749999999998e-2 * t1193 + 0.83407901499999999996e-2 * t1199 - 0.41703950749999999998e-2 * t1201 + 0.55605267666666666664e-2 * t1203 + 0.16681580299999999999e-1 * t1206 - 0.55605267666666666664e-2 * t1208 + 0.6950658458333333333e-2 * t1210 + 0.27802633833333333332e-1 * t1213 + 0.13901316916666666666e-1 * t1216 + 0.6950658458333333333e-2 * t1218 + t1282 + t1283; + const double t1286 = t1244 + t1257 + t1271 + t1284; + const double t1289 = t112 * t350; + const double t1290 = t1119 * t1289; + const double t1291 = t1125 * t1290; + const double t1293 = t342 * t106; + const double t1294 = t309 * t1293; + const double t1295 = t1294 * t400; + const double t1297 = t312 * t1293; + const double t1298 = t1297 * t400; + const double t1300 = t302 * t1293; + const double t1301 = t1300 * t400; + const double t1303 = t137 * t361; + const double t1304 = t1303 * t1068; + const double t1305 = t1304 * t379; + const double t1307 = t306 * t1293; + const double t1308 = t1307 * t400; + const double t1310 = t382 * t341; + const double t1311 = t296 * t1310; + const double t1312 = t1311 * t379; + const double t1314 = t1084 * t331; + const double t1315 = t377 * t1314; + const double t1316 = t1083 * t1315; + const double t1319 = t111 * t361 * t134; + const double t1320 = t377 * t1319; + const double t1321 = t1083 * t1320; + const double t1323 = t286 * t1310; + const double t1324 = t1323 * t379; + const double t1326 = t290 * t1310; + const double t1327 = t1326 * t379; + const double t1329 = t293 * t1310; + const double t1330 = t1329 * t379; + const double t1332 = 0.4170395075e-2 * t1291 - 0.27802633833333333333e-2 * t1295 - 0.34753292291666666666e-2 * t1298 - 0.13901316916666666666e-2 * t1301 + 0.13901316916666666666e-2 * t1305 - 0.20851975375e-2 * t1308 - 0.34753292291666666666e-2 * t1312 + 0.69506584583333333332e-3 * t1316 - 0.69506584583333333332e-3 * t1321 - 0.13901316916666666666e-2 * t1324 - 0.20851975375e-2 * t1327 - 0.27802633833333333333e-2 * t1330; + const double t1333 = t350 * t56; + const double t1334 = t1333 * t101; + const double t1335 = t634 * t1334; + const double t1336 = t1335 * t379; + const double t1338 = t110 * t1289; + const double t1339 = t1106 * t1338; + const double t1341 = t1156 * t347; + const double t1343 = t1119 * t346; + const double t1344 = t387 * t1343; + const double t1346 = t1131 * t1290; + const double t1348 = t341 * t106; + const double t1350 = t396 * t1348 * t400; + const double t1352 = t255 * t342; + const double t1353 = t1352 * t379; + const double t1355 = t390 * t1343; + const double t1357 = t1136 * t1290; + const double t1359 = -0.13901316916666666666e-2 * t1336 + 0.13901316916666666666e-2 * t1339 + 0.69506584583333333332e-3 * t1341 + 0.20851975375e-2 * t1344 + 0.55605267666666666666e-2 * t1346 - 0.69506584583333333332e-3 * t1350 - 0.69506584583333333332e-3 * t1353 + 0.27802633833333333333e-2 * t1355 + 0.27802633833333333332e-2 * t1357 + t1149 + t1151 + t1155; + const double t1361 = t1112 * t1314; + const double t1362 = t404 * t1361; + const double t1364 = t393 * t1343; + const double t1366 = t1215 * t1290; + const double t1368 = t413 * t1361; + const double t1371 = t1112 * t1196 * t361; + const double t1372 = t1205 * t1371; + const double t1374 = t1112 * t1319; + const double t1375 = t410 * t1374; + const double t1377 = t407 * t1374; + const double t1379 = t1162 + t1165 + t1167 + t1170 + t1173 + 0.13901316916666666666e-2 * t1362 + 0.34753292291666666666e-2 * t1364 + 0.69506584583333333332e-2 * t1366 + 0.34753292291666666666e-2 * t1368 + 0.83407901499999999999e-2 * t1372 - 0.27802633833333333333e-2 * t1375 - 0.20851975375e-2 * t1377; + const double t1380 = t410 * t1361; + const double t1382 = t1195 * t1371; + const double t1384 = t413 * t1374; + const double t1386 = t407 * t1361; + const double t1388 = t1181 * t1290; + const double t1390 = t1184 * t1290; + const double t1392 = t404 * t1374; + const double t1394 = t384 * t1343; + const double t1396 = t1187 * t1290; + const double t1398 = t1212 * t1371; + const double t1400 = 0.27802633833333333333e-2 * t1380 + 0.4170395075e-2 * t1382 - 0.34753292291666666666e-2 * t1384 + 0.20851975375e-2 * t1386 + t1223 + t1225 - 0.4170395075e-2 * t1388 - 0.83407901499999999999e-2 * t1390 - 0.13901316916666666666e-2 * t1392 + 0.13901316916666666666e-2 * t1394 - 0.13901316916666666666e-1 * t1396 + 0.13901316916666666666e-1 * t1398; + const double t1402 = t1332 + t1359 + t1379 + t1400; + const double t1417 = 0.83407901499999999996e-2 * t1291 - 0.55605267666666666664e-2 * t1295 - 0.6950658458333333333e-2 * t1298 - 0.27802633833333333332e-2 * t1301 + 0.27802633833333333332e-2 * t1305 - 0.41703950749999999998e-2 * t1308 - 0.6950658458333333333e-2 * t1312 + 0.13901316916666666666e-2 * t1316 - 0.13901316916666666666e-2 * t1321 - 0.27802633833333333332e-2 * t1324 - 0.41703950749999999998e-2 * t1327 - 0.55605267666666666664e-2 * t1330; + const double t1427 = -0.27802633833333333332e-2 * t1336 + 0.27802633833333333332e-2 * t1339 + 0.13901316916666666666e-2 * t1341 + 0.41703950749999999998e-2 * t1344 + 0.11121053533333333333e-1 * t1346 - 0.13901316916666666666e-2 * t1350 - 0.13901316916666666666e-2 * t1353 + 0.55605267666666666664e-2 * t1355 + 0.55605267666666666664e-2 * t1357 + t1255 + t1256 + t1259; + const double t1436 = t1261 + t1262 + t1263 + t1264 + t1265 + 0.27802633833333333332e-2 * t1362 + 0.6950658458333333333e-2 * t1364 + 0.13901316916666666666e-1 * t1366 + 0.6950658458333333333e-2 * t1368 + 0.16681580299999999999e-1 * t1372 - 0.55605267666666666664e-2 * t1375 - 0.41703950749999999998e-2 * t1377; + const double t1447 = 0.55605267666666666664e-2 * t1380 + 0.83407901499999999996e-2 * t1382 - 0.6950658458333333333e-2 * t1384 + 0.41703950749999999998e-2 * t1386 + t1282 + t1283 - 0.83407901499999999996e-2 * t1388 - 0.16681580299999999999e-1 * t1390 - 0.27802633833333333332e-2 * t1392 + 0.27802633833333333332e-2 * t1394 - 0.27802633833333333332e-1 * t1396 + 0.27802633833333333332e-1 * t1398; + const double t1449 = t1417 + t1427 + t1436 + t1447; + const double t1452 = t101 * t101; + const double t1453 = t1451 * t1452; + const double t1454 = t717 * t1453; + const double t1456 = 0.1e1 / t22 / t38; + const double t1457 = t1456 * t1; + const double t1460 = t1459 * t278; + const double t1461 = t1457 * t1460; + const double t1462 = t1454 * t1461; + const double t1464 = t634 * t1453; + const double t1465 = t1464 * t1461; + const double t1467 = t702 * t1451; + const double t1468 = t1467 * t1452; + const double t1469 = t286 * t1468; + const double t1470 = t1469 * t1461; + const double t1472 = t633 * t1451; + const double t1473 = t1472 * t1452; + const double t1474 = t737 * t1473; + const double t1475 = t1474 * t1461; + const double t1477 = t290 * t1468; + const double t1478 = t1477 * t1461; + const double t1480 = t707 * t1473; + const double t1481 = t1480 * t1461; + const double t1483 = t293 * t1468; + const double t1484 = t1483 * t1461; + const double t1486 = t740 * t1473; + const double t1487 = t1486 * t1461; + const double t1489 = t296 * t1468; + const double t1490 = t1489 * t1461; + const double t1493 = t1452 * t1456; + const double t1496 = t6 * t278; + const double t1498 = t1495 * t1496 * t134; + const double t1499 = t1492 * t1493 * t1498; + const double t1504 = t1495 * t1496 * t691; + const double t1505 = t1501 * t1493 * t1504; + const double t1507 = t1453 * t1456; + const double t1508 = t302 * t1507; + const double t1509 = t1508 * t1498; + const double t1511 = t690 * t1507; + const double t1512 = t1511 * t1504; + const double t1514 = t306 * t1507; + const double t1515 = t1514 * t1498; + const double t1517 = t743 * t1507; + const double t1518 = t1517 * t1504; + const double t1520 = t309 * t1507; + const double t1521 = t1520 * t1498; + const double t1523 = t734 * t1507; + const double t1524 = t1523 * t1504; + const double t1526 = t312 * t1507; + const double t1527 = t1526 * t1498; + const double t1529 = -0.28986991802640426041e-5 * t1462 + 0.2898699180264042604e-5 * t1465 - 0.57973983605280852081e-5 * t1470 + 0.86960975407921278125e-5 * t1475 - 0.86960975407921278125e-5 * t1478 + 0.17392195081584255625e-4 * t1481 - 0.11594796721056170417e-4 * t1484 + 0.28986991802640426041e-4 * t1487 - 0.14493495901320213021e-4 * t1490 - 0.14493495901320213021e-5 * t1499 + 0.2898699180264042604e-5 * t1505 - 0.2898699180264042604e-5 * t1509 + 0.86960975407921278125e-5 * t1512 - 0.43480487703960639062e-5 * t1515 + 0.17392195081584255625e-4 * t1518 - 0.57973983605280852083e-5 * t1521 + 0.28986991802640426041e-4 * t1524 - 0.72467479506601065103e-5 * t1527; + const double t1532 = 0.11594796721056170416e-4 * t1470; + const double t1533 = 0.17392195081584255624e-4 * t1475; + const double t1534 = 0.17392195081584255624e-4 * t1478; + const double t1536 = 0.23189593442112340832e-4 * t1484; + const double t1538 = 0.2898699180264042604e-4 * t1490; + const double t1539 = 0.2898699180264042604e-5 * t1499; + const double t1542 = 0.17392195081584255624e-4 * t1512; + const double t1543 = 0.86960975407921278121e-5 * t1515; + const double t1545 = 0.11594796721056170416e-4 * t1521; + const double t1547 = 0.1449349590132021302e-4 * t1527; + const double t1548 = -0.57973983605280852081e-5 * t1462 + 0.57973983605280852081e-5 * t1465 - t1532 + t1533 - t1534 + 0.34784390163168511248e-4 * t1481 - t1536 + 0.57973983605280852081e-4 * t1487 - t1538 - t1539 + 0.57973983605280852081e-5 * t1505 - 0.57973983605280852081e-5 * t1509 + t1542 - t1543 + 0.34784390163168511248e-4 * t1518 - t1545 + 0.57973983605280852081e-4 * t1524 - t1547; + const double t1567 = -0.11594796721056170416e-4 * t1462 + 0.11594796721056170416e-4 * t1465 - 0.23189593442112340831e-4 * t1470 + 0.34784390163168511247e-4 * t1475 - 0.34784390163168511247e-4 * t1478 + 0.69568780326337022491e-4 * t1481 - 0.46379186884224681662e-4 * t1484 + 0.11594796721056170415e-3 * t1487 - 0.57973983605280852078e-4 * t1490 - 0.57973983605280852078e-5 * t1499 + 0.11594796721056170416e-4 * t1505 - 0.11594796721056170416e-4 * t1509 + 0.34784390163168511247e-4 * t1512 - 0.17392195081584255623e-4 * t1515 + 0.69568780326337022491e-4 * t1518 - 0.23189593442112340831e-4 * t1521 + 0.11594796721056170415e-3 * t1524 - 0.28986991802640426039e-4 * t1527; + const double t1576 = -0.57973983605280852079e-5 * t1462 + 0.57973983605280852078e-5 * t1465 - t1532 + t1533 - t1534 + 0.34784390163168511247e-4 * t1481 - t1536 + 0.57973983605280852079e-4 * t1487 - t1538 - t1539 + 0.57973983605280852078e-5 * t1505 - 0.57973983605280852078e-5 * t1509 + t1542 - t1543 + 0.34784390163168511247e-4 * t1518 - t1545 + 0.57973983605280852079e-4 * t1524 - t1547; + + + v2rho2_aa = t628 * t149 + 0.2e1 * t250 * t315 + t252 * t758 + 0.2e1 * t428 + 0.2e1 * t430; + v2rho2_ab = t802 * t149 + t250 * t373 + t252 * t921 + t332 * t315 + t428 + t430 + t760 + t805; + v2rho2_bb = t252 * t1059 + t956 * t149 + 0.2e1 * t332 * t373 + 0.2e1 * t760 + 0.2e1 * t805; + v2rhosigma_a_aa = t252 * t1228 + t250 * t416 + t1061; + v2rhosigma_a_ab = t252 * t1286 + t250 * t427 + t1230; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t252 * t1402 + t332 * t416 + t1061; + v2rhosigma_b_ab = t252 * t1449 + t332 * t427 + t1230; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t252 * t1529; + v2sigma2_aa_ab = t252 * t1548; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t252 * t1567; + v2sigma2_ab_bb = t252 * t1576; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t56 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t19 = t1 * t1; + constexpr double t20 = t3 * t3; + constexpr double t21 = t19 * t20; + constexpr double t94 = sogga11_a_1; + constexpr double t109 = 0.1e1 / t3; + constexpr double t110 = t19 * t109; + constexpr double t120 = sogga11_a_2; + constexpr double t123 = sogga11_a_3; + constexpr double t126 = sogga11_a_4; + constexpr double t129 = sogga11_a_5; + constexpr double t133 = sogga11_b_1; + constexpr double t137 = sogga11_b_2; + constexpr double t140 = sogga11_b_3; + constexpr double t143 = sogga11_b_4; + constexpr double t146 = sogga11_b_5; + constexpr double t161 = t3 * t6; + constexpr double t377 = t109 * t5; + constexpr double t396 = t133 * t56; + constexpr double t444 = t20 * t5; + constexpr double t490 = t4 * t6; + constexpr double t1112 = t110 * t5; + constexpr double t1451 = t56 * t56; + constexpr double t1458 = 0.1e1 / t20; + constexpr double t1459 = t1458 * t6; + constexpr double t1492 = t133 * t1451; + constexpr double t1495 = t1 * t1458; + constexpr double t1501 = t137 * t1451; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t11 = t4 * t6 / t8; + const double t13 = 0.1e1 + 0.53425e-1 * t11; + const double t14 = safe_math::sqrt( t11 ); + const double t17 = pow_3_2( t11 ); + const double t22 = t8 * t8; + const double t25 = t21 * t5 / t22; + const double t27 = 0.379785e1 * t14 + 0.8969e0 * t11 + 0.204775e0 * t17 + 0.123235e0 * t25; + const double t30 = 0.1e1 + 0.16081979498692535067e2 / t27; + const double t31 = safe_math::log( t30 ); + const double t33 = 0.621814e-1 * t13 * t31; + const double t34 = rho_a - rho_b; + const double t35 = t34 * t34; + const double t36 = t35 * t35; + const double t37 = t7 * t7; + const double t38 = t37 * t37; + const double t39 = 0.1e1 / t38; + const double t40 = t36 * t39; + const double t41 = 0.1e1 / t7; + const double t42 = t34 * t41; + const double t43 = 0.1e1 + t42; + const double t44 = t43 <= zeta_tol; + const double t45 = safe_math::cbrt( zeta_tol ); + const double t46 = t45 * zeta_tol; + const double t47 = safe_math::cbrt( t43 ); + const double t48 = t47 * t43; + const double t49 = piecewise_functor_3( t44, t46, t48 ); + const double t50 = 0.1e1 - t42; + const double t51 = t50 <= zeta_tol; + const double t52 = safe_math::cbrt( t50 ); + const double t53 = t52 * t50; + const double t54 = piecewise_functor_3( t51, t46, t53 ); + const double t55 = t49 + t54 - 0.2e1; + const double t59 = 0.1e1 / ( 0.2e1 * t56 - 0.2e1 ); + const double t60 = t55 * t59; + const double t62 = 0.1e1 + 0.5137e-1 * t11; + const double t67 = 0.705945e1 * t14 + 0.1549425e1 * t11 + 0.420775e0 * t17 + 0.1562925e0 * t25; + const double t70 = 0.1e1 + 0.32163958997385070134e2 / t67; + const double t71 = safe_math::log( t70 ); + const double t75 = 0.1e1 + 0.278125e-1 * t11; + const double t80 = 0.51785e1 * t14 + 0.905775e0 * t11 + 0.1100325e0 * t17 + 0.1241775e0 * t25; + const double t83 = 0.1e1 + 0.29608749977793437516e2 / t80; + const double t84 = safe_math::log( t83 ); + const double t85 = t75 * t84; + const double t87 = -0.310907e-1 * t62 * t71 + t33 - 0.19751673498613801407e-1 * t85; + const double t88 = t60 * t87; + const double t92 = -t33 + t40 * t88 + 0.19751673498613801407e-1 * t60 * t85; + const double t95 = t45 * t45; + const double t96 = t47 * t47; + const double t97 = piecewise_functor_3( t44, t95, t96 ); + const double t98 = t52 * t52; + const double t99 = piecewise_functor_3( t51, t95, t98 ); + const double t101 = t97 / 0.2e1 + t99 / 0.2e1; + const double t102 = t56 * t101; + const double t104 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t106 = 0.1e1 / t8 / t37; + const double t107 = t104 * t106; + const double t108 = t102 * t107; + const double t111 = 0.1e1 / t92; + const double t112 = t5 * t111; + const double t113 = t110 * t112; + const double t115 = 0.69506584583333333332e-3 * t108 * t113; + const double t116 = 0.1e1 - t115; + const double t118 = 0.1e1 - 0.1e1 / t116; + const double t121 = t118 * t118; + const double t124 = t121 * t118; + const double t127 = t121 * t121; + const double t134 = safe_math::exp( t115 ); + const double t135 = 0.1e1 - t134; + const double t138 = t135 * t135; + const double t141 = t138 * t135; + const double t144 = t138 * t138; + const double t149 = t129 * t127 * t118 + t146 * t144 * t135 + t94 * t118 + t120 * t121 + t123 * t124 + t126 * t127 + t133 * t135 + t137 * t138 + t140 * t141 + t143 * t144 + sogga11_a_0 + sogga11_b_0; + const double tzk0 = t92 * t149; + const double t151 = 0.1e1 / t8 / t7; + const double t152 = t6 * t151; + const double t155 = 0.11073470983333333333e-2 * t4 * t152 * t31; + const double t156 = t27 * t27; + const double t157 = 0.1e1 / t156; + const double t158 = t13 * t157; + const double t160 = 0.1e1 / t14 * t1; + const double t162 = t161 * t151; + const double t163 = t160 * t162; + const double t165 = t4 * t152; + const double t167 = safe_math::sqrt( t11 ); + const double t168 = t167 * t1; + const double t169 = t168 * t162; + const double t174 = t21 * t5 / t22 / t7; + const double t176 = -0.632975e0 * t163 - 0.29896666666666666667e0 * t165 - 0.1023875e0 * t169 - 0.82156666666666666667e-1 * t174; + const double t177 = 0.1e1 / t30; + const double t178 = t176 * t177; + const double t180 = 0.1e1 * t158 * t178; + const double t181 = t35 * t34; + const double t182 = t181 * t39; + const double t184 = 0.4e1 * t182 * t88; + const double t185 = t38 * t7; + const double t186 = 0.1e1 / t185; + const double t187 = t36 * t186; + const double t189 = 0.4e1 * t187 * t88; + const double t190 = 0.1e1 / t37; + const double t191 = t34 * t190; + const double t192 = t41 - t191; + const double t195 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t192 ); + const double t196 = -t192; + const double t199 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t196 ); + const double t201 = ( t195 + t199 ) * t59; + const double t202 = t201 * t87; + const double t207 = t67 * t67; + const double t208 = 0.1e1 / t207; + const double t209 = t62 * t208; + const double t214 = -0.1176575e1 * t163 - 0.516475e0 * t165 - 0.2103875e0 * t169 - 0.104195e0 * t174; + const double t215 = 0.1e1 / t70; + const double t216 = t214 * t215; + const double t222 = t80 * t80; + const double t223 = 0.1e1 / t222; + const double t224 = t75 * t223; + const double t229 = -0.86308333333333333334e0 * t163 - 0.301925e0 * t165 - 0.5501625e-1 * t169 - 0.82785e-1 * t174; + const double t230 = 0.1e1 / t83; + const double t231 = t229 * t230; + const double t234 = 0.53237641966666666666e-3 * t4 * t152 * t71 + 0.1e1 * t209 * t216 - t155 - t180 + 0.18311447306006545054e-3 * t4 * t152 * t84 + 0.5848223622634646207e0 * t224 * t231; + const double t235 = t60 * t234; + const double t236 = t40 * t235; + const double t239 = t60 * t1; + const double t241 = t161 * t151 * t84; + const double t243 = 0.18311447306006545054e-3 * t239 * t241; + const double t244 = t60 * t75; + const double t246 = t223 * t229 * t230; + const double t248 = 0.5848223622634646207e0 * t244 * t246; + const double t249 = t155 + t180 + t184 - t189 + t40 * t202 + t236 + 0.19751673498613801407e-1 * t201 * t85 - t243 - t248; + const double t250 = t7 * t249; + const double t252 = t7 * t92; + const double t253 = t116 * t116; + const double t254 = 0.1e1 / t253; + const double t255 = t94 * t254; + const double t256 = 0.1e1 / t47; + const double t259 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t256 * t192 ); + const double t260 = 0.1e1 / t52; + const double t263 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t260 * t196 ); + const double t265 = t259 / 0.2e1 + t263 / 0.2e1; + const double t266 = t56 * t265; + const double t267 = t266 * t107; + const double t270 = t37 * t7; + const double t272 = 0.1e1 / t8 / t270; + const double t273 = t104 * t272; + const double t274 = t102 * t273; + const double t276 = 0.16218203069444444444e-2 * t274 * t113; + const double t277 = t92 * t92; + const double t278 = 0.1e1 / t277; + const double t279 = t5 * t278; + const double t280 = t279 * t249; + const double t281 = t110 * t280; + const double t284 = -0.69506584583333333332e-3 * t267 * t113 + t276 + 0.69506584583333333332e-3 * t108 * t281; + const double t286 = t120 * t118; + const double t287 = t254 * t284; + const double t290 = t123 * t121; + const double t293 = t126 * t124; + const double t296 = t129 * t127; + const double t299 = -t284; + const double t300 = t133 * t299; + const double t302 = t137 * t135; + const double t303 = t299 * t134; + const double t306 = t140 * t138; + const double t309 = t143 * t141; + const double t312 = t146 * t144; + const double t315 = -t300 * t134 + t255 * t284 + 0.2e1 * t286 * t287 + 0.3e1 * t290 * t287 + 0.4e1 * t293 * t287 + 0.5e1 * t296 * t287 - 0.2e1 * t302 * t303 - 0.3e1 * t306 * t303 - 0.4e1 * t309 * t303 - 0.5e1 * t312 * t303; + const double t317 = -t41 - t191; + const double t320 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.3e1 * t47 * t317 ); + const double t321 = -t317; + const double t324 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.3e1 * t52 * t321 ); + const double t326 = ( t320 + t324 ) * t59; + const double t327 = t326 * t87; + const double t331 = t155 + t180 - t184 - t189 + t40 * t327 + t236 + 0.19751673498613801407e-1 * t326 * t85 - t243 - t248; + const double t332 = t7 * t331; + const double t336 = piecewise_functor_3( t44, 0.0, 0.2e1 / 0.3e1 * t256 * t317 ); + const double t339 = piecewise_functor_3( t51, 0.0, 0.2e1 / 0.3e1 * t260 * t321 ); + const double t341 = t336 / 0.2e1 + t339 / 0.2e1; + const double t342 = t56 * t341; + const double t343 = t342 * t107; + const double t346 = t279 * t331; + const double t347 = t110 * t346; + const double t350 = -0.69506584583333333332e-3 * t343 * t113 + t276 + 0.69506584583333333332e-3 * t108 * t347; + const double t352 = t254 * t350; + const double t361 = -t350; + const double t362 = t133 * t361; + const double t364 = t361 * t134; + const double t373 = -t362 * t134 + t255 * t350 + 0.2e1 * t286 * t352 + 0.3e1 * t290 * t352 + 0.4e1 * t293 * t352 + 0.5e1 * t296 * t352 - 0.2e1 * t302 * t364 - 0.3e1 * t306 * t364 - 0.4e1 * t309 * t364 - 0.5e1 * t312 * t364; + const double t375 = t255 * t102; + const double t376 = t106 * t19; + const double t378 = t377 * t111; + const double t379 = t376 * t378; + const double t380 = t375 * t379; + const double t382 = t254 * t56; + const double t383 = t382 * t101; + const double t384 = t286 * t383; + const double t385 = t384 * t379; + const double t387 = t290 * t383; + const double t388 = t387 * t379; + const double t390 = t293 * t383; + const double t391 = t390 * t379; + const double t393 = t296 * t383; + const double t394 = t393 * t379; + const double t397 = t101 * t106; + const double t400 = t110 * t112 * t134; + const double t401 = t396 * t397 * t400; + const double t403 = t102 * t106; + const double t404 = t302 * t403; + const double t405 = t404 * t400; + const double t407 = t306 * t403; + const double t408 = t407 * t400; + const double t410 = t309 * t403; + const double t411 = t410 * t400; + const double t413 = t312 * t403; + const double t414 = t413 * t400; + const double t416 = -0.69506584583333333332e-3 * t380 - 0.13901316916666666666e-2 * t385 - 0.20851975375e-2 * t388 - 0.27802633833333333333e-2 * t391 - 0.34753292291666666666e-2 * t394 - 0.69506584583333333332e-3 * t401 - 0.13901316916666666666e-2 * t405 - 0.20851975375e-2 * t408 - 0.27802633833333333333e-2 * t411 - 0.34753292291666666666e-2 * t414; + const double t427 = -0.13901316916666666666e-2 * t380 - 0.27802633833333333332e-2 * t385 - 0.41703950749999999998e-2 * t388 - 0.55605267666666666664e-2 * t391 - 0.6950658458333333333e-2 * t394 - 0.13901316916666666666e-2 * t401 - 0.27802633833333333332e-2 * t405 - 0.41703950749999999998e-2 * t408 - 0.55605267666666666664e-2 * t411 - 0.6950658458333333333e-2 * t414; + const double t428 = t249 * t149; + const double t430 = t92 * t315; + const double t432 = t222 * t222; + const double t433 = 0.1e1 / t432; + const double t434 = t229 * t229; + const double t435 = t433 * t434; + const double t436 = t83 * t83; + const double t437 = 0.1e1 / t436; + const double t438 = t435 * t437; + const double t440 = 0.17315859105681463759e2 * t244 * t438; + const double t443 = 0.1e1 / t14 / t11 * t19; + const double t446 = 0.1e1 / t22 / t37; + const double t447 = t444 * t446; + const double t448 = t443 * t447; + const double t450 = t161 * t106; + const double t451 = t160 * t450; + const double t453 = t6 * t106; + const double t454 = t4 * t453; + const double t456 = 0.1e1/safe_math::sqrt( t11 ); + const double t457 = t456 * t19; + const double t458 = t457 * t447; + const double t460 = t168 * t450; + const double t463 = t21 * t5 * t446; + const double t465 = -0.57538888888888888889e0 * t448 + 0.11507777777777777778e1 * t451 + 0.40256666666666666667e0 * t454 + 0.366775e-1 * t458 + 0.73355e-1 * t460 + 0.137975e0 * t463; + const double t467 = t223 * t465 * t230; + const double t469 = 0.5848223622634646207e0 * t244 * t467; + const double t470 = t201 * t75; + const double t471 = t470 * t246; + const double t473 = t38 * t37; + const double t474 = 0.1e1 / t473; + const double t475 = t36 * t474; + const double t477 = 0.2e2 * t475 * t88; + const double t478 = t35 * t39; + const double t480 = 0.12e2 * t478 * t88; + const double t481 = t181 * t186; + const double t483 = 0.32e2 * t481 * t88; + const double t486 = 0.14764627977777777777e-2 * t4 * t453 * t31; + const double t491 = t151 * t208; + const double t495 = t207 * t67; + const double t496 = 0.1e1 / t495; + const double t497 = t62 * t496; + const double t498 = t214 * t214; + const double t499 = t498 * t215; + const double t508 = -0.78438333333333333333e0 * t448 + 0.15687666666666666667e1 * t451 + 0.68863333333333333333e0 * t454 + 0.14025833333333333333e0 * t458 + 0.28051666666666666667e0 * t460 + 0.17365833333333333333e0 * t463; + const double t509 = t508 * t215; + const double t512 = t207 * t207; + const double t513 = 0.1e1 / t512; + const double t514 = t62 * t513; + const double t515 = t70 * t70; + const double t516 = 0.1e1 / t515; + const double t517 = t498 * t516; + const double t520 = t151 * t157; + const double t523 = 0.35616666666666666666e-1 * t490 * t520 * t178; + const double t524 = t156 * t27; + const double t525 = 0.1e1 / t524; + const double t526 = t13 * t525; + const double t527 = t176 * t176; + const double t528 = t527 * t177; + const double t530 = 0.2e1 * t526 * t528; + const double t537 = -0.42198333333333333333e0 * t448 + 0.84396666666666666666e0 * t451 + 0.39862222222222222223e0 * t454 + 0.68258333333333333333e-1 * t458 + 0.13651666666666666667e0 * t460 + 0.13692777777777777778e0 * t463; + const double t538 = t537 * t177; + const double t540 = 0.1e1 * t158 * t538; + const double t541 = t156 * t156; + const double t542 = 0.1e1 / t541; + const double t543 = t13 * t542; + const double t544 = t30 * t30; + const double t545 = 0.1e1 / t544; + const double t546 = t527 * t545; + const double t548 = 0.16081979498692535067e2 * t543 * t546; + const double t552 = t151 * t223; + const double t556 = t222 * t80; + const double t557 = 0.1e1 / t556; + const double t558 = t75 * t557; + const double t559 = t434 * t230; + const double t562 = t465 * t230; + const double t565 = t75 * t433; + const double t566 = t434 * t437; + const double t569 = -0.70983522622222222221e-3 * t4 * t453 * t71 - 0.34246666666666666666e-1 * t490 * t491 * t216 - 0.2e1 * t497 * t499 + 0.1e1 * t209 * t509 + 0.32163958997385070134e2 * t514 * t517 + t486 + t523 + t530 - t540 - t548 - 0.24415263074675393405e-3 * t4 * t453 * t84 - 0.10843581300301739842e-1 * t490 * t552 * t231 - 0.11696447245269292414e1 * t558 * t559 + 0.5848223622634646207e0 * t224 * t562 + 0.17315859105681463759e2 * t565 * t566; + const double t570 = t60 * t569; + const double t571 = t40 * t570; + const double t572 = 0.1e1 / t96; + const double t573 = t192 * t192; + const double t576 = 0.1e1 / t270; + const double t577 = t34 * t576; + const double t579 = -0.2e1 * t190 + 0.2e1 * t577; + const double t583 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t572 * t573 + 0.4e1 / 0.3e1 * t47 * t579 ); + const double t584 = 0.1e1 / t98; + const double t585 = t196 * t196; + const double t588 = -t579; + const double t592 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t584 * t585 + 0.4e1 / 0.3e1 * t52 * t588 ); + const double t594 = ( t583 + t592 ) * t59; + const double t595 = t594 * t87; + const double t597 = t201 * t234; + const double t598 = t40 * t597; + const double t600 = t187 * t202; + const double t602 = -t440 - t469 - 0.11696447245269292414e1 * t471 + t477 + t480 - t483 - t486 + t571 + t40 * t595 + 0.2e1 * t598 - 0.8e1 * t600; + const double t604 = 0.8e1 * t187 * t235; + const double t605 = t182 * t202; + const double t608 = 0.8e1 * t182 * t235; + const double t611 = t201 * t1; + const double t612 = t611 * t241; + const double t615 = t557 * t434 * t230; + const double t617 = 0.11696447245269292414e1 * t244 * t615; + const double t618 = t60 * t4; + const double t619 = t152 * t246; + const double t621 = 0.10843581300301739842e-1 * t618 * t619; + const double t623 = t161 * t106 * t84; + const double t625 = 0.24415263074675393405e-3 * t239 * t623; + const double t626 = -t604 + 0.8e1 * t605 + t608 - t530 + 0.19751673498613801407e-1 * t594 * t85 + t548 + t540 - 0.36622894612013090108e-3 * t612 + t617 - t523 + t621 + t625; + const double t627 = t602 + t626; + const double t628 = t7 * t627; + const double t632 = t253 * t253; + const double t633 = 0.1e1 / t632; + const double t634 = t120 * t633; + const double t635 = t284 * t284; + const double t638 = t299 * t299; + const double t639 = t133 * t638; + const double t641 = 0.1e1 / t48; + const double t647 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t641 * t573 + 0.2e1 / 0.3e1 * t256 * t579 ); + const double t648 = 0.1e1 / t53; + const double t654 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t648 * t585 + 0.2e1 / 0.3e1 * t260 * t588 ); + const double t656 = t647 / 0.2e1 + t654 / 0.2e1; + const double t657 = t56 * t656; + const double t658 = t657 * t107; + const double t661 = t266 * t273; + const double t662 = t661 * t113; + const double t667 = 0.1e1 / t8 / t38; + const double t668 = t104 * t667; + const double t669 = t102 * t668; + const double t671 = 0.54060676898148148147e-2 * t669 * t113; + const double t672 = t274 * t281; + const double t675 = 0.1e1 / t277 / t92; + const double t676 = t5 * t675; + const double t677 = t249 * t249; + const double t678 = t676 * t677; + const double t679 = t110 * t678; + const double t682 = t279 * t627; + const double t683 = t110 * t682; + const double t686 = -0.69506584583333333332e-3 * t658 * t113 + 0.32436406138888888888e-2 * t662 + 0.13901316916666666666e-2 * t267 * t281 - t671 - 0.32436406138888888888e-2 * t672 - 0.13901316916666666666e-2 * t108 * t679 + 0.69506584583333333332e-3 * t108 * t683; + const double t687 = t254 * t686; + const double t690 = t140 * t135; + const double t691 = t134 * t134; + const double t692 = t638 * t691; + const double t695 = -t686; + const double t698 = t695 * t134; + const double t701 = t253 * t116; + const double t702 = 0.1e1 / t701; + const double t703 = t702 * t635; + const double t707 = t126 * t121; + const double t708 = t633 * t635; + const double t717 = t94 * t702; + const double t722 = -t133 * t695 * t134 - t639 * t134 + t255 * t686 + 0.2e1 * t286 * t687 - 0.4e1 * t286 * t703 + 0.3e1 * t290 * t687 + 0.5e1 * t296 * t687 - 0.1e2 * t296 * t703 - 0.2e1 * t302 * t698 - 0.4e1 * t309 * t698 + 0.2e1 * t634 * t635 - 0.2e1 * t717 * t635 + 0.6e1 * t690 * t692 + 0.12e2 * t707 * t708; + const double t723 = t638 * t134; + const double t734 = t146 * t141; + const double t737 = t123 * t118; + const double t740 = t129 * t124; + const double t743 = t143 * t138; + const double t746 = t137 * t638; + const double t757 = -0.6e1 * t290 * t703 + 0.4e1 * t293 * t687 - 0.8e1 * t293 * t703 - 0.2e1 * t302 * t723 - 0.3e1 * t306 * t698 - 0.3e1 * t306 * t723 - 0.4e1 * t309 * t723 - 0.5e1 * t312 * t698 - 0.5e1 * t312 * t723 + 0.2e1 * t746 * t691 + 0.2e2 * t734 * t692 + 0.12e2 * t743 * t692 + 0.6e1 * t737 * t708 + 0.2e2 * t740 * t708; + const double t758 = t722 + t757; + const double t760 = t331 * t149; + const double t762 = t326 * t75; + const double t763 = t762 * t246; + const double t765 = t572 * t317; + const double t768 = t47 * t34; + const double t772 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t765 * t192 + 0.8e1 / 0.3e1 * t768 * t576 ); + const double t773 = t584 * t321; + const double t776 = t52 * t34; + const double t780 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t773 * t196 - 0.8e1 / 0.3e1 * t776 * t576 ); + const double t782 = ( t772 + t780 ) * t59; + const double t783 = t782 * t87; + const double t785 = t326 * t234; + const double t786 = t40 * t785; + const double t789 = t598 - 0.4e1 * t600 - 0.5848223622634646207e0 * t763 + t40 * t783 + t786 + 0.19751673498613801407e-1 * t782 * t85 + t621 + t477 - t480 - t486 + t571 + t625 + t617; + const double t793 = t182 * t327; + const double t795 = t187 * t327; + const double t797 = t326 * t1; + const double t798 = t797 * t241; + const double t800 = -t440 - t469 - 0.5848223622634646207e0 * t471 - t523 - 0.18311447306006545054e-3 * t612 - t530 + t540 + t548 - t604 - 0.4e1 * t605 + 0.4e1 * t793 - 0.4e1 * t795 - 0.18311447306006545054e-3 * t798; + const double t801 = t789 + t800; + const double t802 = t7 * t801; + const double t805 = t92 * t373; + const double t807 = t633 * t350; + const double t808 = t807 * t284; + const double t811 = t641 * t317; + const double t814 = t256 * t34; + const double t818 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t811 * t192 + 0.4e1 / 0.3e1 * t814 * t576 ); + const double t819 = t648 * t321; + const double t822 = t260 * t34; + const double t826 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t819 * t196 - 0.4e1 / 0.3e1 * t822 * t576 ); + const double t828 = t818 / 0.2e1 + t826 / 0.2e1; + const double t829 = t56 * t828; + const double t830 = t829 * t107; + const double t833 = t342 * t273; + const double t834 = t833 * t113; + const double t842 = t274 * t347; + const double t844 = t107 * t19; + const double t845 = t102 * t844; + const double t846 = t675 * t331; + const double t847 = t846 * t249; + const double t848 = t377 * t847; + const double t851 = t279 * t801; + const double t852 = t110 * t851; + const double t855 = 0.69506584583333333332e-3 * t830 * t113 - 0.16218203069444444444e-2 * t834 - 0.69506584583333333332e-3 * t343 * t281 - 0.16218203069444444444e-2 * t662 + t671 + 0.16218203069444444444e-2 * t672 - 0.69506584583333333332e-3 * t267 * t347 + 0.16218203069444444444e-2 * t842 + 0.13901316916666666666e-2 * t845 * t848 - 0.69506584583333333332e-3 * t108 * t852; + const double t856 = t133 * t855; + const double t863 = t361 * t299; + const double t864 = t863 * t134; + const double t867 = t702 * t350; + const double t868 = t867 * t284; + const double t871 = t137 * t299; + const double t872 = t691 * t361; + const double t877 = -t855; + const double t878 = t254 * t877; + const double t881 = t855 * t134; + const double t890 = -t856 * t134 - 0.6e1 * t290 * t868 + 0.3e1 * t290 * t878 - 0.1e2 * t296 * t868 - 0.2e1 * t302 * t864 - 0.2e1 * t302 * t881 - t362 * t303 - 0.4e1 * t309 * t864 - 0.4e1 * t309 * t881 - 0.5e1 * t312 * t864 + 0.12e2 * t707 * t808 + 0.6e1 * t737 * t808 + 0.2e2 * t740 * t808 + 0.2e1 * t871 * t872; + const double t895 = t872 * t299; + const double t904 = t350 * t284; + const double t920 = t255 * t877 - 0.4e1 * t286 * t868 + 0.2e1 * t286 * t878 - 0.8e1 * t293 * t868 + 0.4e1 * t293 * t878 + 0.5e1 * t296 * t878 - 0.3e1 * t306 * t864 - 0.3e1 * t306 * t881 - 0.5e1 * t312 * t881 + 0.2e1 * t634 * t904 + 0.6e1 * t690 * t895 - 0.2e1 * t717 * t904 + 0.2e2 * t734 * t895 + 0.12e2 * t743 * t895; + const double t921 = t890 + t920; + const double t925 = t317 * t317; + const double t929 = 0.2e1 * t190 + 0.2e1 * t577; + const double t933 = piecewise_functor_3( t44, 0.0, 0.4e1 / 0.9e1 * t572 * t925 + 0.4e1 / 0.3e1 * t47 * t929 ); + const double t934 = t321 * t321; + const double t937 = -t929; + const double t941 = piecewise_functor_3( t51, 0.0, 0.4e1 / 0.9e1 * t584 * t934 + 0.4e1 / 0.3e1 * t52 * t937 ); + const double t943 = ( t933 + t941 ) * t59; + const double t944 = t943 * t87; + const double t953 = t40 * t944 + 0.19751673498613801407e-1 * t943 * t85 - 0.11696447245269292414e1 * t763 + 0.2e1 * t786 - 0.36622894612013090108e-3 * t798 - 0.8e1 * t793 - 0.8e1 * t795 - t440 - t469 + t477 + t480; + const double t954 = t483 - t486 + t571 - t604 - t608 - t530 + t548 + t540 + t617 - t523 + t621 + t625; + const double t955 = t953 + t954; + const double t956 = t7 * t955; + const double t965 = piecewise_functor_3( t44, 0.0, -0.2e1 / 0.9e1 * t641 * t925 + 0.2e1 / 0.3e1 * t256 * t929 ); + const double t971 = piecewise_functor_3( t51, 0.0, -0.2e1 / 0.9e1 * t648 * t934 + 0.2e1 / 0.3e1 * t260 * t937 ); + const double t973 = t965 / 0.2e1 + t971 / 0.2e1; + const double t974 = t56 * t973; + const double t975 = t974 * t107; + const double t982 = t331 * t331; + const double t983 = t676 * t982; + const double t984 = t110 * t983; + const double t987 = t279 * t955; + const double t988 = t110 * t987; + const double t991 = 0.69506584583333333332e-3 * t975 * t113 - 0.32436406138888888888e-2 * t834 - 0.13901316916666666666e-2 * t343 * t347 + t671 + 0.32436406138888888888e-2 * t842 + 0.13901316916666666666e-2 * t108 * t984 - 0.69506584583333333332e-3 * t108 * t988; + const double t992 = t991 * t134; + const double t995 = t361 * t361; + const double t996 = t995 * t691; + const double t999 = t350 * t350; + const double t1000 = t702 * t999; + const double t1003 = -t991; + const double t1004 = t254 * t1003; + const double t1007 = t137 * t995; + const double t1010 = t995 * t134; + const double t1028 = -0.6e1 * t290 * t1000 - 0.1e2 * t296 * t1000 + t255 * t1003 + 0.5e1 * t296 * t1004 + 0.2e1 * t1007 * t691 - 0.2e1 * t302 * t1010 - 0.4e1 * t309 * t1010 - 0.5e1 * t312 * t1010 - 0.2e1 * t302 * t992 - 0.5e1 * t312 * t992 + 0.6e1 * t690 * t996 - 0.2e1 * t717 * t999 + 0.2e2 * t734 * t996 + 0.12e2 * t743 * t996; + const double t1029 = t633 * t999; + const double t1040 = t133 * t991; + const double t1054 = t133 * t995; + const double t1058 = -0.4e1 * t286 * t1000 - 0.8e1 * t293 * t1000 + 0.2e1 * t286 * t1004 + 0.3e1 * t290 * t1004 + 0.4e1 * t293 * t1004 - 0.3e1 * t306 * t1010 + 0.12e2 * t707 * t1029 + 0.6e1 * t737 * t1029 + 0.2e2 * t740 * t1029 - t1040 * t134 - t1054 * t134 - 0.3e1 * t306 * t992 - 0.4e1 * t309 * t992 + 0.2e1 * t634 * t999; + const double t1059 = t1028 + t1058; + const double t1061 = t92 * t416; + const double t1063 = t266 * t106; + const double t1064 = t312 * t1063; + const double t1065 = t1064 * t400; + const double t1067 = t691 * t56; + const double t1068 = t1067 * t101; + const double t1069 = t871 * t1068; + const double t1070 = t1069 * t379; + const double t1072 = t306 * t1063; + const double t1073 = t1072 * t400; + const double t1075 = t309 * t1063; + const double t1076 = t1075 * t400; + const double t1078 = t382 * t265; + const double t1079 = t296 * t1078; + const double t1080 = t1079 * t379; + const double t1082 = t397 * t19; + const double t1083 = t396 * t1082; + const double t1084 = t278 * t134; + const double t1085 = t1084 * t249; + const double t1086 = t377 * t1085; + const double t1087 = t1083 * t1086; + const double t1090 = t111 * t299 * t134; + const double t1091 = t377 * t1090; + const double t1092 = t1083 * t1091; + const double t1094 = t302 * t1063; + const double t1095 = t1094 * t400; + const double t1097 = t286 * t1078; + const double t1098 = t1097 * t379; + const double t1100 = t290 * t1078; + const double t1101 = t1100 * t379; + const double t1103 = t293 * t1078; + const double t1104 = t1103 * t379; + const double t1106 = t717 * t403; + const double t1107 = t112 * t284; + const double t1108 = t110 * t1107; + const double t1109 = t1106 * t1108; + const double t1111 = -0.34753292291666666666e-2 * t1065 + 0.13901316916666666666e-2 * t1070 - 0.20851975375e-2 * t1073 - 0.27802633833333333333e-2 * t1076 - 0.34753292291666666666e-2 * t1080 + 0.69506584583333333332e-3 * t1087 - 0.69506584583333333332e-3 * t1092 - 0.13901316916666666666e-2 * t1095 - 0.13901316916666666666e-2 * t1098 - 0.20851975375e-2 * t1101 - 0.27802633833333333333e-2 * t1104 + 0.13901316916666666666e-2 * t1109; + const double t1113 = t1112 * t1085; + const double t1114 = t404 * t1113; + const double t1116 = t1112 * t1090; + const double t1117 = t404 * t1116; + const double t1119 = t376 * t109; + const double t1120 = t1119 * t280; + const double t1121 = t384 * t1120; + const double t1123 = t702 * t56; + const double t1124 = t1123 * t101; + const double t1125 = t290 * t1124; + const double t1126 = t1119 * t1107; + const double t1127 = t1125 * t1126; + const double t1129 = t387 * t1120; + const double t1131 = t293 * t1124; + const double t1132 = t1131 * t1126; + const double t1134 = t390 * t1120; + const double t1136 = t286 * t1124; + const double t1137 = t1136 * t1126; + const double t1139 = t265 * t106; + const double t1141 = t396 * t1139 * t400; + const double t1143 = t255 * t266; + const double t1144 = t1143 * t379; + const double t1146 = t272 * t19; + const double t1147 = t1146 * t378; + const double t1148 = t387 * t1147; + const double t1149 = 0.48654609208333333333e-2 * t1148; + const double t1150 = t390 * t1147; + const double t1151 = 0.64872812277777777777e-2 * t1150; + const double t1152 = 0.13901316916666666666e-2 * t1114 - 0.13901316916666666666e-2 * t1117 + 0.13901316916666666666e-2 * t1121 + 0.4170395075e-2 * t1127 + 0.20851975375e-2 * t1129 + 0.55605267666666666666e-2 * t1132 + 0.27802633833333333333e-2 * t1134 + 0.27802633833333333332e-2 * t1137 - 0.69506584583333333332e-3 * t1141 - 0.69506584583333333332e-3 * t1144 + t1149 + t1151; + const double t1154 = t384 * t1147; + const double t1155 = 0.32436406138888888887e-2 * t1154; + const double t1156 = t255 * t403; + const double t1157 = t1156 * t281; + const double t1159 = t102 * t272; + const double t1160 = t309 * t1159; + const double t1161 = t1160 * t400; + const double t1162 = 0.64872812277777777777e-2 * t1161; + const double t1163 = t312 * t1159; + const double t1164 = t1163 * t400; + const double t1165 = 0.81091015347222222221e-2 * t1164; + const double t1166 = t393 * t1147; + const double t1167 = 0.81091015347222222221e-2 * t1166; + const double t1168 = t302 * t1159; + const double t1169 = t1168 * t400; + const double t1170 = 0.32436406138888888887e-2 * t1169; + const double t1171 = t306 * t1159; + const double t1172 = t1171 * t400; + const double t1173 = 0.48654609208333333333e-2 * t1172; + const double t1174 = t284 * t56; + const double t1175 = t1174 * t101; + const double t1176 = t634 * t1175; + const double t1177 = t1176 * t379; + const double t1179 = t633 * t56; + const double t1180 = t1179 * t101; + const double t1181 = t737 * t1180; + const double t1182 = t1181 * t1126; + const double t1184 = t707 * t1180; + const double t1185 = t1184 * t1126; + const double t1187 = t740 * t1180; + const double t1188 = t1187 * t1126; + const double t1190 = t413 * t1116; + const double t1192 = t1155 + 0.69506584583333333332e-3 * t1157 + t1162 + t1165 + t1167 + t1170 + t1173 - 0.13901316916666666666e-2 * t1177 - 0.4170395075e-2 * t1182 - 0.83407901499999999999e-2 * t1185 - 0.13901316916666666666e-1 * t1188 - 0.34753292291666666666e-2 * t1190; + const double t1193 = t407 * t1113; + const double t1195 = t690 * t403; + const double t1196 = t111 * t691; + const double t1198 = t1112 * t1196 * t299; + const double t1199 = t1195 * t1198; + const double t1201 = t407 * t1116; + const double t1203 = t410 * t1113; + const double t1205 = t743 * t403; + const double t1206 = t1205 * t1198; + const double t1208 = t410 * t1116; + const double t1210 = t413 * t1113; + const double t1212 = t734 * t403; + const double t1213 = t1212 * t1198; + const double t1215 = t296 * t1124; + const double t1216 = t1215 * t1126; + const double t1218 = t393 * t1120; + const double t1220 = t101 * t272; + const double t1222 = t396 * t1220 * t400; + const double t1223 = 0.16218203069444444444e-2 * t1222; + const double t1224 = t375 * t1147; + const double t1225 = 0.16218203069444444444e-2 * t1224; + const double t1226 = 0.20851975375e-2 * t1193 + 0.4170395075e-2 * t1199 - 0.20851975375e-2 * t1201 + 0.27802633833333333333e-2 * t1203 + 0.83407901499999999999e-2 * t1206 - 0.27802633833333333333e-2 * t1208 + 0.34753292291666666666e-2 * t1210 + 0.13901316916666666666e-1 * t1213 + 0.69506584583333333332e-2 * t1216 + 0.34753292291666666666e-2 * t1218 + t1223 + t1225; + const double t1228 = t1111 + t1152 + t1192 + t1226; + const double t1230 = t92 * t427; + const double t1244 = -0.6950658458333333333e-2 * t1065 + 0.27802633833333333332e-2 * t1070 - 0.41703950749999999998e-2 * t1073 - 0.55605267666666666664e-2 * t1076 - 0.6950658458333333333e-2 * t1080 + 0.13901316916666666666e-2 * t1087 - 0.13901316916666666666e-2 * t1092 - 0.27802633833333333332e-2 * t1095 - 0.27802633833333333332e-2 * t1098 - 0.41703950749999999998e-2 * t1101 - 0.55605267666666666664e-2 * t1104 + 0.27802633833333333332e-2 * t1109; + const double t1255 = 0.97309218416666666662e-2 * t1148; + const double t1256 = 0.12974562455555555555e-1 * t1150; + const double t1257 = 0.27802633833333333332e-2 * t1114 - 0.27802633833333333332e-2 * t1117 + 0.27802633833333333332e-2 * t1121 + 0.83407901499999999996e-2 * t1127 + 0.41703950749999999998e-2 * t1129 + 0.11121053533333333333e-1 * t1132 + 0.55605267666666666664e-2 * t1134 + 0.55605267666666666664e-2 * t1137 - 0.13901316916666666666e-2 * t1141 - 0.13901316916666666666e-2 * t1144 + t1255 + t1256; + const double t1259 = 0.64872812277777777775e-2 * t1154; + const double t1261 = 0.12974562455555555555e-1 * t1161; + const double t1262 = 0.16218203069444444444e-1 * t1164; + const double t1263 = 0.16218203069444444444e-1 * t1166; + const double t1264 = 0.64872812277777777775e-2 * t1169; + const double t1265 = 0.97309218416666666662e-2 * t1172; + const double t1271 = t1259 + 0.13901316916666666666e-2 * t1157 + t1261 + t1262 + t1263 + t1264 + t1265 - 0.27802633833333333332e-2 * t1177 - 0.83407901499999999996e-2 * t1182 - 0.16681580299999999999e-1 * t1185 - 0.27802633833333333332e-1 * t1188 - 0.6950658458333333333e-2 * t1190; + const double t1282 = 0.32436406138888888887e-2 * t1222; + const double t1283 = 0.32436406138888888887e-2 * t1224; + const double t1284 = 0.41703950749999999998e-2 * t1193 + 0.83407901499999999996e-2 * t1199 - 0.41703950749999999998e-2 * t1201 + 0.55605267666666666664e-2 * t1203 + 0.16681580299999999999e-1 * t1206 - 0.55605267666666666664e-2 * t1208 + 0.6950658458333333333e-2 * t1210 + 0.27802633833333333332e-1 * t1213 + 0.13901316916666666666e-1 * t1216 + 0.6950658458333333333e-2 * t1218 + t1282 + t1283; + const double t1286 = t1244 + t1257 + t1271 + t1284; + const double t1289 = t112 * t350; + const double t1290 = t1119 * t1289; + const double t1291 = t1125 * t1290; + const double t1293 = t342 * t106; + const double t1294 = t309 * t1293; + const double t1295 = t1294 * t400; + const double t1297 = t312 * t1293; + const double t1298 = t1297 * t400; + const double t1300 = t302 * t1293; + const double t1301 = t1300 * t400; + const double t1303 = t137 * t361; + const double t1304 = t1303 * t1068; + const double t1305 = t1304 * t379; + const double t1307 = t306 * t1293; + const double t1308 = t1307 * t400; + const double t1310 = t382 * t341; + const double t1311 = t296 * t1310; + const double t1312 = t1311 * t379; + const double t1314 = t1084 * t331; + const double t1315 = t377 * t1314; + const double t1316 = t1083 * t1315; + const double t1319 = t111 * t361 * t134; + const double t1320 = t377 * t1319; + const double t1321 = t1083 * t1320; + const double t1323 = t286 * t1310; + const double t1324 = t1323 * t379; + const double t1326 = t290 * t1310; + const double t1327 = t1326 * t379; + const double t1329 = t293 * t1310; + const double t1330 = t1329 * t379; + const double t1332 = 0.4170395075e-2 * t1291 - 0.27802633833333333333e-2 * t1295 - 0.34753292291666666666e-2 * t1298 - 0.13901316916666666666e-2 * t1301 + 0.13901316916666666666e-2 * t1305 - 0.20851975375e-2 * t1308 - 0.34753292291666666666e-2 * t1312 + 0.69506584583333333332e-3 * t1316 - 0.69506584583333333332e-3 * t1321 - 0.13901316916666666666e-2 * t1324 - 0.20851975375e-2 * t1327 - 0.27802633833333333333e-2 * t1330; + const double t1333 = t350 * t56; + const double t1334 = t1333 * t101; + const double t1335 = t634 * t1334; + const double t1336 = t1335 * t379; + const double t1338 = t110 * t1289; + const double t1339 = t1106 * t1338; + const double t1341 = t1156 * t347; + const double t1343 = t1119 * t346; + const double t1344 = t387 * t1343; + const double t1346 = t1131 * t1290; + const double t1348 = t341 * t106; + const double t1350 = t396 * t1348 * t400; + const double t1352 = t255 * t342; + const double t1353 = t1352 * t379; + const double t1355 = t390 * t1343; + const double t1357 = t1136 * t1290; + const double t1359 = -0.13901316916666666666e-2 * t1336 + 0.13901316916666666666e-2 * t1339 + 0.69506584583333333332e-3 * t1341 + 0.20851975375e-2 * t1344 + 0.55605267666666666666e-2 * t1346 - 0.69506584583333333332e-3 * t1350 - 0.69506584583333333332e-3 * t1353 + 0.27802633833333333333e-2 * t1355 + 0.27802633833333333332e-2 * t1357 + t1149 + t1151 + t1155; + const double t1361 = t1112 * t1314; + const double t1362 = t404 * t1361; + const double t1364 = t393 * t1343; + const double t1366 = t1215 * t1290; + const double t1368 = t413 * t1361; + const double t1371 = t1112 * t1196 * t361; + const double t1372 = t1205 * t1371; + const double t1374 = t1112 * t1319; + const double t1375 = t410 * t1374; + const double t1377 = t407 * t1374; + const double t1379 = t1162 + t1165 + t1167 + t1170 + t1173 + 0.13901316916666666666e-2 * t1362 + 0.34753292291666666666e-2 * t1364 + 0.69506584583333333332e-2 * t1366 + 0.34753292291666666666e-2 * t1368 + 0.83407901499999999999e-2 * t1372 - 0.27802633833333333333e-2 * t1375 - 0.20851975375e-2 * t1377; + const double t1380 = t410 * t1361; + const double t1382 = t1195 * t1371; + const double t1384 = t413 * t1374; + const double t1386 = t407 * t1361; + const double t1388 = t1181 * t1290; + const double t1390 = t1184 * t1290; + const double t1392 = t404 * t1374; + const double t1394 = t384 * t1343; + const double t1396 = t1187 * t1290; + const double t1398 = t1212 * t1371; + const double t1400 = 0.27802633833333333333e-2 * t1380 + 0.4170395075e-2 * t1382 - 0.34753292291666666666e-2 * t1384 + 0.20851975375e-2 * t1386 + t1223 + t1225 - 0.4170395075e-2 * t1388 - 0.83407901499999999999e-2 * t1390 - 0.13901316916666666666e-2 * t1392 + 0.13901316916666666666e-2 * t1394 - 0.13901316916666666666e-1 * t1396 + 0.13901316916666666666e-1 * t1398; + const double t1402 = t1332 + t1359 + t1379 + t1400; + const double t1417 = 0.83407901499999999996e-2 * t1291 - 0.55605267666666666664e-2 * t1295 - 0.6950658458333333333e-2 * t1298 - 0.27802633833333333332e-2 * t1301 + 0.27802633833333333332e-2 * t1305 - 0.41703950749999999998e-2 * t1308 - 0.6950658458333333333e-2 * t1312 + 0.13901316916666666666e-2 * t1316 - 0.13901316916666666666e-2 * t1321 - 0.27802633833333333332e-2 * t1324 - 0.41703950749999999998e-2 * t1327 - 0.55605267666666666664e-2 * t1330; + const double t1427 = -0.27802633833333333332e-2 * t1336 + 0.27802633833333333332e-2 * t1339 + 0.13901316916666666666e-2 * t1341 + 0.41703950749999999998e-2 * t1344 + 0.11121053533333333333e-1 * t1346 - 0.13901316916666666666e-2 * t1350 - 0.13901316916666666666e-2 * t1353 + 0.55605267666666666664e-2 * t1355 + 0.55605267666666666664e-2 * t1357 + t1255 + t1256 + t1259; + const double t1436 = t1261 + t1262 + t1263 + t1264 + t1265 + 0.27802633833333333332e-2 * t1362 + 0.6950658458333333333e-2 * t1364 + 0.13901316916666666666e-1 * t1366 + 0.6950658458333333333e-2 * t1368 + 0.16681580299999999999e-1 * t1372 - 0.55605267666666666664e-2 * t1375 - 0.41703950749999999998e-2 * t1377; + const double t1447 = 0.55605267666666666664e-2 * t1380 + 0.83407901499999999996e-2 * t1382 - 0.6950658458333333333e-2 * t1384 + 0.41703950749999999998e-2 * t1386 + t1282 + t1283 - 0.83407901499999999996e-2 * t1388 - 0.16681580299999999999e-1 * t1390 - 0.27802633833333333332e-2 * t1392 + 0.27802633833333333332e-2 * t1394 - 0.27802633833333333332e-1 * t1396 + 0.27802633833333333332e-1 * t1398; + const double t1449 = t1417 + t1427 + t1436 + t1447; + const double t1452 = t101 * t101; + const double t1453 = t1451 * t1452; + const double t1454 = t717 * t1453; + const double t1456 = 0.1e1 / t22 / t38; + const double t1457 = t1456 * t1; + const double t1460 = t1459 * t278; + const double t1461 = t1457 * t1460; + const double t1462 = t1454 * t1461; + const double t1464 = t634 * t1453; + const double t1465 = t1464 * t1461; + const double t1467 = t702 * t1451; + const double t1468 = t1467 * t1452; + const double t1469 = t286 * t1468; + const double t1470 = t1469 * t1461; + const double t1472 = t633 * t1451; + const double t1473 = t1472 * t1452; + const double t1474 = t737 * t1473; + const double t1475 = t1474 * t1461; + const double t1477 = t290 * t1468; + const double t1478 = t1477 * t1461; + const double t1480 = t707 * t1473; + const double t1481 = t1480 * t1461; + const double t1483 = t293 * t1468; + const double t1484 = t1483 * t1461; + const double t1486 = t740 * t1473; + const double t1487 = t1486 * t1461; + const double t1489 = t296 * t1468; + const double t1490 = t1489 * t1461; + const double t1493 = t1452 * t1456; + const double t1496 = t6 * t278; + const double t1498 = t1495 * t1496 * t134; + const double t1499 = t1492 * t1493 * t1498; + const double t1504 = t1495 * t1496 * t691; + const double t1505 = t1501 * t1493 * t1504; + const double t1507 = t1453 * t1456; + const double t1508 = t302 * t1507; + const double t1509 = t1508 * t1498; + const double t1511 = t690 * t1507; + const double t1512 = t1511 * t1504; + const double t1514 = t306 * t1507; + const double t1515 = t1514 * t1498; + const double t1517 = t743 * t1507; + const double t1518 = t1517 * t1504; + const double t1520 = t309 * t1507; + const double t1521 = t1520 * t1498; + const double t1523 = t734 * t1507; + const double t1524 = t1523 * t1504; + const double t1526 = t312 * t1507; + const double t1527 = t1526 * t1498; + const double t1529 = -0.28986991802640426041e-5 * t1462 + 0.2898699180264042604e-5 * t1465 - 0.57973983605280852081e-5 * t1470 + 0.86960975407921278125e-5 * t1475 - 0.86960975407921278125e-5 * t1478 + 0.17392195081584255625e-4 * t1481 - 0.11594796721056170417e-4 * t1484 + 0.28986991802640426041e-4 * t1487 - 0.14493495901320213021e-4 * t1490 - 0.14493495901320213021e-5 * t1499 + 0.2898699180264042604e-5 * t1505 - 0.2898699180264042604e-5 * t1509 + 0.86960975407921278125e-5 * t1512 - 0.43480487703960639062e-5 * t1515 + 0.17392195081584255625e-4 * t1518 - 0.57973983605280852083e-5 * t1521 + 0.28986991802640426041e-4 * t1524 - 0.72467479506601065103e-5 * t1527; + const double t1532 = 0.11594796721056170416e-4 * t1470; + const double t1533 = 0.17392195081584255624e-4 * t1475; + const double t1534 = 0.17392195081584255624e-4 * t1478; + const double t1536 = 0.23189593442112340832e-4 * t1484; + const double t1538 = 0.2898699180264042604e-4 * t1490; + const double t1539 = 0.2898699180264042604e-5 * t1499; + const double t1542 = 0.17392195081584255624e-4 * t1512; + const double t1543 = 0.86960975407921278121e-5 * t1515; + const double t1545 = 0.11594796721056170416e-4 * t1521; + const double t1547 = 0.1449349590132021302e-4 * t1527; + const double t1548 = -0.57973983605280852081e-5 * t1462 + 0.57973983605280852081e-5 * t1465 - t1532 + t1533 - t1534 + 0.34784390163168511248e-4 * t1481 - t1536 + 0.57973983605280852081e-4 * t1487 - t1538 - t1539 + 0.57973983605280852081e-5 * t1505 - 0.57973983605280852081e-5 * t1509 + t1542 - t1543 + 0.34784390163168511248e-4 * t1518 - t1545 + 0.57973983605280852081e-4 * t1524 - t1547; + const double t1567 = -0.11594796721056170416e-4 * t1462 + 0.11594796721056170416e-4 * t1465 - 0.23189593442112340831e-4 * t1470 + 0.34784390163168511247e-4 * t1475 - 0.34784390163168511247e-4 * t1478 + 0.69568780326337022491e-4 * t1481 - 0.46379186884224681662e-4 * t1484 + 0.11594796721056170415e-3 * t1487 - 0.57973983605280852078e-4 * t1490 - 0.57973983605280852078e-5 * t1499 + 0.11594796721056170416e-4 * t1505 - 0.11594796721056170416e-4 * t1509 + 0.34784390163168511247e-4 * t1512 - 0.17392195081584255623e-4 * t1515 + 0.69568780326337022491e-4 * t1518 - 0.23189593442112340831e-4 * t1521 + 0.11594796721056170415e-3 * t1524 - 0.28986991802640426039e-4 * t1527; + const double t1576 = -0.57973983605280852079e-5 * t1462 + 0.57973983605280852078e-5 * t1465 - t1532 + t1533 - t1534 + 0.34784390163168511247e-4 * t1481 - t1536 + 0.57973983605280852079e-4 * t1487 - t1538 - t1539 + 0.57973983605280852078e-5 * t1505 - 0.57973983605280852078e-5 * t1509 + t1542 - t1543 + 0.34784390163168511247e-4 * t1518 - t1545 + 0.57973983605280852079e-4 * t1524 - t1547; + + + vrho_a = t250 * t149 + t252 * t315 + tzk0; + vrho_b = t332 * t149 + t252 * t373 + tzk0; + vsigma_aa = t252 * t416; + vsigma_ab = t252 * t427; + vsigma_bb = vsigma_aa; + v2rho2_aa = t628 * t149 + 0.2e1 * t250 * t315 + t252 * t758 + 0.2e1 * t428 + 0.2e1 * t430; + v2rho2_ab = t802 * t149 + t250 * t373 + t252 * t921 + t332 * t315 + t428 + t430 + t760 + t805; + v2rho2_bb = t252 * t1059 + t956 * t149 + 0.2e1 * t332 * t373 + 0.2e1 * t760 + 0.2e1 * t805; + v2rhosigma_a_aa = t252 * t1228 + t250 * t416 + t1061; + v2rhosigma_a_ab = t252 * t1286 + t250 * t427 + t1230; + v2rhosigma_a_bb = v2rhosigma_a_aa; + v2rhosigma_b_aa = t252 * t1402 + t332 * t416 + t1061; + v2rhosigma_b_ab = t252 * t1449 + t332 * t427 + t1230; + v2rhosigma_b_bb = v2rhosigma_b_aa; + v2sigma2_aa_aa = t252 * t1529; + v2sigma2_aa_ab = t252 * t1548; + v2sigma2_aa_bb = v2sigma2_aa_aa; + v2sigma2_ab_ab = t252 * t1567; + v2sigma2_ab_bb = t252 * t1576; + v2sigma2_bb_bb = v2sigma2_aa_bb; + + } + + +}; + +struct BuiltinSOGGA11_X_C : detail::BuiltinKernelImpl< BuiltinSOGGA11_X_C > { + + BuiltinSOGGA11_X_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinSOGGA11_X_C >(p) { } + + virtual ~BuiltinSOGGA11_X_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/sogga11_x_x.hpp b/include/exchcxx/impl/builtin/kernels/sogga11_x_x.hpp new file mode 100644 index 0000000..a6d696b --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/sogga11_x_x.hpp @@ -0,0 +1,1839 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinSOGGA11_X_X > : + public gga_screening_interface< BuiltinSOGGA11_X_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double kappa = 0.552; + static constexpr double mu = 0.1234567901234567901234567901234567901235; + static constexpr double a_0 = 0.29925; + static constexpr double a_1 = 3.21638; + static constexpr double a_2 = -3.55605; + static constexpr double a_3 = 7.65852; + static constexpr double a_4 = -11.2830; + static constexpr double a_5 = 5.25813; + static constexpr double b_0 = 0.29925; + static constexpr double b_1 = -2.88595; + static constexpr double b_2 = 3.23617; + static constexpr double b_3 = -2.45393; + static constexpr double b_4 = -3.75495; + static constexpr double b_5 = 3.96613; + static constexpr double cx = 0.4015; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = a_1; + constexpr double t23 = mu * t22; + constexpr double t26 = t25 * t25; + constexpr double t27 = 0.1e1 / t26; + constexpr double t28 = t23 * t27; + constexpr double t29 = 0.1e1 / kappa; + constexpr double t32 = t31 * t31; + constexpr double t45 = a_2; + constexpr double t48 = a_3; + constexpr double t51 = a_4; + constexpr double t54 = a_5; + constexpr double t58 = b_1; + constexpr double t62 = b_2; + constexpr double t65 = b_3; + constexpr double t68 = b_4; + constexpr double t71 = b_5; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t30 = t29 * sigma; + const double t33 = rho * rho; + const double t34 = t18 * t18; + const double t36 = 0.1e1 / t34 / t33; + const double t37 = t32 * t36; + const double t40 = t28 * t30 * t37 / 0.24e2; + const double t41 = 0.1e1 + t40; + const double t43 = 0.1e1 - 0.1e1 / t41; + const double t46 = t43 * t43; + const double t49 = t46 * t43; + const double t52 = t46 * t46; + const double t59 = safe_math::exp( -t40 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 * t60; + const double t66 = t63 * t60; + const double t69 = t63 * t63; + const double t74 = t54 * t52 * t43 + t71 * t69 * t60 + t21 * t43 + t45 * t46 + t48 * t49 + t51 * t52 + t58 * t60 + t62 * t63 + t65 * t66 + t68 * t69 + a_0 + b_0; + const double t78 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t74 ); + + + eps = 0.2e1 * t78; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = a_1; + constexpr double t23 = mu * t22; + constexpr double t26 = t25 * t25; + constexpr double t27 = 0.1e1 / t26; + constexpr double t28 = t23 * t27; + constexpr double t29 = 0.1e1 / kappa; + constexpr double t32 = t31 * t31; + constexpr double t45 = a_2; + constexpr double t48 = a_3; + constexpr double t51 = a_4; + constexpr double t54 = a_5; + constexpr double t58 = b_1; + constexpr double t62 = b_2; + constexpr double t65 = b_3; + constexpr double t68 = b_4; + constexpr double t71 = b_5; + constexpr double t88 = t27 * t29; + constexpr double t116 = t22 * t27; + constexpr double t117 = t58 * mu * t116; + constexpr double t151 = t29 * t32; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t30 = t29 * sigma; + const double t33 = rho * rho; + const double t34 = t18 * t18; + const double t36 = 0.1e1 / t34 / t33; + const double t37 = t32 * t36; + const double t40 = t28 * t30 * t37 / 0.24e2; + const double t41 = 0.1e1 + t40; + const double t43 = 0.1e1 - 0.1e1 / t41; + const double t46 = t43 * t43; + const double t49 = t46 * t43; + const double t52 = t46 * t46; + const double t59 = safe_math::exp( -t40 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 * t60; + const double t66 = t63 * t60; + const double t69 = t63 * t63; + const double t74 = t54 * t52 * t43 + t71 * t69 * t60 + t21 * t43 + t45 * t46 + t48 * t49 + t51 * t52 + t58 * t60 + t62 * t63 + t65 * t66 + t68 * t69 + a_0 + b_0; + const double t78 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t74 ); + const double t80 = t17 / t34; + const double t84 = t41 * t41; + const double t85 = 0.1e1 / t84; + const double t87 = t21 * t85 * t23; + const double t89 = sigma * t32; + const double t90 = t33 * rho; + const double t92 = 0.1e1 / t34 / t90; + const double t94 = t88 * t89 * t92; + const double t97 = t45 * t43; + const double t98 = t85 * mu; + const double t99 = t98 * t22; + const double t100 = t97 * t99; + const double t103 = t48 * t46; + const double t104 = t103 * t99; + const double t107 = t51 * t49; + const double t108 = t107 * t99; + const double t111 = t54 * t52; + const double t112 = t111 * t99; + const double t118 = t32 * t92; + const double t119 = t118 * t59; + const double t120 = t30 * t119; + const double t123 = t62 * t60; + const double t124 = t123 * t28; + const double t127 = t65 * t63; + const double t128 = t127 * t28; + const double t131 = t68 * t66; + const double t132 = t131 * t28; + const double t135 = t71 * t69; + const double t136 = t135 * t28; + const double t139 = -t87 * t94 / 0.9e1 - 0.2e1 / 0.9e1 * t100 * t94 - t104 * t94 / 0.3e1 - 0.4e1 / 0.9e1 * t108 * t94 - 0.5e1 / 0.9e1 * t112 * t94 - t117 * t120 / 0.9e1 - 0.2e1 / 0.9e1 * t124 * t120 - t128 * t120 / 0.3e1 - 0.4e1 / 0.9e1 * t132 * t120 - 0.5e1 / 0.9e1 * t136 * t120; + const double t144 = piecewise_functor_3( t2, 0.0, -t6 * t80 * t74 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t139 ); + const double t150 = t97 * t98; + const double t153 = t116 * t151 * t36; + const double t156 = t103 * t98; + const double t159 = t107 * t98; + const double t162 = t111 * t98; + const double t169 = t123 * t23; + const double t171 = t88 * t37 * t59; + const double t174 = t127 * t23; + const double t177 = t131 * t23; + const double t180 = t135 * t23; + const double t183 = t87 * t88 * t37 / 0.24e2 + t150 * t153 / 0.12e2 + t156 * t153 / 0.8e1 + t159 * t153 / 0.6e1 + 0.5e1 / 0.24e2 * t162 * t153 + t117 * t151 * t36 * t59 / 0.24e2 + t169 * t171 / 0.12e2 + t174 * t171 / 0.8e1 + t177 * t171 / 0.6e1 + 0.5e1 / 0.24e2 * t180 * t171; + const double t187 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t183 ); + + + eps = 0.2e1 * t78; + vrho = 0.2e1 * rho * t144 + 0.2e1 * t78; + vsigma = 0.2e1 * rho * t187; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = a_1; + constexpr double t23 = mu * t22; + constexpr double t26 = t25 * t25; + constexpr double t27 = 0.1e1 / t26; + constexpr double t28 = t23 * t27; + constexpr double t29 = 0.1e1 / kappa; + constexpr double t32 = t31 * t31; + constexpr double t45 = a_2; + constexpr double t48 = a_3; + constexpr double t51 = a_4; + constexpr double t54 = a_5; + constexpr double t58 = b_1; + constexpr double t62 = b_2; + constexpr double t65 = b_3; + constexpr double t68 = b_4; + constexpr double t71 = b_5; + constexpr double t88 = t27 * t29; + constexpr double t116 = t22 * t27; + constexpr double t117 = t58 * mu * t116; + constexpr double t151 = t29 * t32; + constexpr double t201 = mu * mu; + constexpr double t203 = t22 * t22; + constexpr double t207 = 0.1e1 / t25 / t24; + constexpr double t208 = kappa * kappa; + constexpr double t209 = 0.1e1 / t208; + constexpr double t210 = t207 * t209; + constexpr double t246 = t201 * t203; + constexpr double t247 = t246 * t207; + constexpr double t316 = t203 * t207; + constexpr double t317 = t58 * t201 * t316; + constexpr double t321 = t62 * t201 * t316; + constexpr double t343 = t209 * t31; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t30 = t29 * sigma; + const double t33 = rho * rho; + const double t34 = t18 * t18; + const double t36 = 0.1e1 / t34 / t33; + const double t37 = t32 * t36; + const double t40 = t28 * t30 * t37 / 0.24e2; + const double t41 = 0.1e1 + t40; + const double t43 = 0.1e1 - 0.1e1 / t41; + const double t46 = t43 * t43; + const double t49 = t46 * t43; + const double t52 = t46 * t46; + const double t59 = safe_math::exp( -t40 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 * t60; + const double t66 = t63 * t60; + const double t69 = t63 * t63; + const double t74 = t54 * t52 * t43 + t71 * t69 * t60 + t21 * t43 + t45 * t46 + t48 * t49 + t51 * t52 + t58 * t60 + t62 * t63 + t65 * t66 + t68 * t69 + a_0 + b_0; + const double t80 = t17 / t34; + const double t84 = t41 * t41; + const double t85 = 0.1e1 / t84; + const double t87 = t21 * t85 * t23; + const double t89 = sigma * t32; + const double t90 = t33 * rho; + const double t92 = 0.1e1 / t34 / t90; + const double t94 = t88 * t89 * t92; + const double t97 = t45 * t43; + const double t98 = t85 * mu; + const double t99 = t98 * t22; + const double t100 = t97 * t99; + const double t103 = t48 * t46; + const double t104 = t103 * t99; + const double t107 = t51 * t49; + const double t108 = t107 * t99; + const double t111 = t54 * t52; + const double t112 = t111 * t99; + const double t118 = t32 * t92; + const double t119 = t118 * t59; + const double t120 = t30 * t119; + const double t123 = t62 * t60; + const double t124 = t123 * t28; + const double t127 = t65 * t63; + const double t128 = t127 * t28; + const double t131 = t68 * t66; + const double t132 = t131 * t28; + const double t135 = t71 * t69; + const double t136 = t135 * t28; + const double t139 = -t87 * t94 / 0.9e1 - 0.2e1 / 0.9e1 * t100 * t94 - t104 * t94 / 0.3e1 - 0.4e1 / 0.9e1 * t108 * t94 - 0.5e1 / 0.9e1 * t112 * t94 - t117 * t120 / 0.9e1 - 0.2e1 / 0.9e1 * t124 * t120 - t128 * t120 / 0.3e1 - 0.4e1 / 0.9e1 * t132 * t120 - 0.5e1 / 0.9e1 * t136 * t120; + const double t144 = piecewise_functor_3( t2, 0.0, -t6 * t80 * t74 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t139 ); + const double t150 = t97 * t98; + const double t153 = t116 * t151 * t36; + const double t156 = t103 * t98; + const double t159 = t107 * t98; + const double t162 = t111 * t98; + const double t169 = t123 * t23; + const double t171 = t88 * t37 * t59; + const double t174 = t127 * t23; + const double t177 = t131 * t23; + const double t180 = t135 * t23; + const double t183 = t87 * t88 * t37 / 0.24e2 + t150 * t153 / 0.12e2 + t156 * t153 / 0.8e1 + t159 * t153 / 0.6e1 + 0.5e1 / 0.24e2 * t162 * t153 + t117 * t151 * t36 * t59 / 0.24e2 + t169 * t171 / 0.12e2 + t174 * t171 / 0.8e1 + t177 * t171 / 0.6e1 + 0.5e1 / 0.24e2 * t180 * t171; + const double t187 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t183 ); + const double t192 = t17 / t34 / rho; + const double t199 = t84 * t41; + const double t200 = 0.1e1 / t199; + const double t202 = t200 * t201; + const double t204 = t202 * t203; + const double t205 = t97 * t204; + const double t211 = sigma * sigma; + const double t212 = t211 * t31; + const double t213 = t33 * t33; + const double t216 = 0.1e1 / t18 / t213 / t90; + const double t218 = t210 * t212 * t216; + const double t221 = t48 * t43; + const double t222 = t84 * t84; + const double t223 = 0.1e1 / t222; + const double t224 = t223 * t201; + const double t225 = t224 * t203; + const double t226 = t221 * t225; + const double t229 = t103 * t204; + const double t232 = t51 * t46; + const double t233 = t232 * t225; + const double t236 = t107 * t204; + const double t239 = t54 * t49; + const double t240 = t239 * t225; + const double t243 = t111 * t204; + const double t248 = t123 * t247; + const double t249 = t209 * t211; + const double t250 = t31 * t216; + const double t251 = t250 * t59; + const double t252 = t249 * t251; + const double t255 = t65 * t60; + const double t256 = t255 * t247; + const double t257 = t59 * t59; + const double t258 = t250 * t257; + const double t259 = t249 * t258; + const double t262 = t127 * t247; + const double t265 = t68 * t63; + const double t266 = t265 * t247; + const double t269 = t131 * t247; + const double t272 = t71 * t66; + const double t273 = t272 * t247; + const double t276 = t135 * t247; + const double t279 = -0.8e1 / 0.81e2 * t205 * t218 + 0.4e1 / 0.27e2 * t226 * t218 - 0.4e1 / 0.27e2 * t229 * t218 + 0.8e1 / 0.27e2 * t233 * t218 - 0.16e2 / 0.81e2 * t236 * t218 + 0.4e2 / 0.81e2 * t240 * t218 - 0.2e2 / 0.81e2 * t243 * t218 - 0.4e1 / 0.81e2 * t248 * t252 + 0.4e1 / 0.27e2 * t256 * t259 - 0.2e1 / 0.27e2 * t262 * t252 + 0.8e1 / 0.27e2 * t266 * t259 - 0.8e1 / 0.81e2 * t269 * t252 + 0.4e2 / 0.81e2 * t273 * t259 - 0.1e2 / 0.81e2 * t276 * t252; + const double t281 = 0.1e1 / t34 / t213; + const double t282 = t32 * t281; + const double t283 = t282 * t59; + const double t284 = t30 * t283; + const double t292 = t88 * t89 * t281; + const double t308 = t21 * t200 * t246; + const double t312 = t45 * t223 * t246; + const double t324 = 0.11e2 / 0.9e1 * t128 * t284 + 0.44e2 / 0.27e2 * t132 * t284 + 0.55e2 / 0.27e2 * t136 * t284 + 0.44e2 / 0.27e2 * t108 * t292 + 0.55e2 / 0.27e2 * t112 * t292 + 0.22e2 / 0.27e2 * t124 * t284 + 0.22e2 / 0.27e2 * t100 * t292 + 0.11e2 / 0.9e1 * t104 * t292 + 0.11e2 / 0.27e2 * t87 * t292 + 0.11e2 / 0.27e2 * t117 * t284 - 0.4e1 / 0.81e2 * t308 * t218 + 0.4e1 / 0.81e2 * t312 * t218 - 0.2e1 / 0.81e2 * t317 * t252 + 0.4e1 / 0.81e2 * t321 * t259; + const double t325 = t279 + t324; + const double t330 = piecewise_functor_3( t2, 0.0, t6 * t192 * t74 / 0.12e2 - t6 * t80 * t139 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t325 ); + const double t344 = t213 * t33; + const double t346 = 0.1e1 / t18 / t344; + const double t347 = t346 * t257; + const double t349 = t343 * t347 * sigma; + const double t354 = t343 * t346 * sigma * t59; + const double t357 = t31 * t346; + const double t359 = t210 * t357 * sigma; + const double t380 = -t87 * t88 * t118 / 0.9e1 - t117 * t151 * t92 * t59 / 0.9e1 - 0.5e1 / 0.27e2 * t273 * t349 + 0.5e1 / 0.108e3 * t276 * t354 + t205 * t359 / 0.27e2 - t226 * t359 / 0.18e2 + t229 * t359 / 0.18e2 - t233 * t359 / 0.9e1 + 0.2e1 / 0.27e2 * t236 * t359 - 0.5e1 / 0.27e2 * t240 * t359 + 0.5e1 / 0.54e2 * t243 * t359 + t248 * t354 / 0.54e2 - t256 * t349 / 0.18e2 + t262 * t354 / 0.36e2; + const double t386 = t116 * t151 * t92; + const double t395 = t88 * t119; + const double t412 = -t266 * t349 / 0.9e1 + t269 * t354 / 0.27e2 - 0.2e1 / 0.9e1 * t150 * t386 - t156 * t386 / 0.3e1 - 0.4e1 / 0.9e1 * t159 * t386 - 0.5e1 / 0.9e1 * t162 * t386 - 0.2e1 / 0.9e1 * t169 * t395 - t174 * t395 / 0.3e1 - 0.4e1 / 0.9e1 * t177 * t395 - 0.5e1 / 0.9e1 * t180 * t395 + t308 * t359 / 0.54e2 - t312 * t359 / 0.54e2 + t317 * t354 / 0.108e3 - t321 * t349 / 0.54e2; + const double t413 = t380 + t412; + const double t418 = piecewise_functor_3( t2, 0.0, -t6 * t80 * t183 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t413 ); + const double t421 = t213 * rho; + const double t423 = 0.1e1 / t18 / t421; + const double t424 = t31 * t423; + const double t425 = t210 * t424; + const double t430 = t97 * t202; + const double t432 = t316 * t343 * t423; + const double t435 = t221 * t224; + const double t438 = t103 * t202; + const double t441 = t232 * t224; + const double t444 = t107 * t202; + const double t447 = t239 * t224; + const double t450 = t111 * t202; + const double t461 = t123 * t246; + const double t463 = t210 * t424 * t59; + const double t466 = t255 * t246; + const double t468 = t210 * t424 * t257; + const double t471 = t127 * t246; + const double t474 = t265 * t246; + const double t477 = t131 * t246; + const double t480 = t272 * t246; + const double t483 = t135 * t246; + const double t486 = -t308 * t425 / 0.144e3 + t312 * t425 / 0.144e3 - t430 * t432 / 0.72e2 + t435 * t432 / 0.48e2 - t438 * t432 / 0.48e2 + t441 * t432 / 0.24e2 - t444 * t432 / 0.36e2 + 0.5e1 / 0.72e2 * t447 * t432 - 0.5e1 / 0.144e3 * t450 * t432 - t317 * t343 * t423 * t59 / 0.288e3 + t321 * t343 * t423 * t257 / 0.144e3 - t461 * t463 / 0.144e3 + t466 * t468 / 0.48e2 - t471 * t463 / 0.96e2 + t474 * t468 / 0.24e2 - t477 * t463 / 0.72e2 + 0.5e1 / 0.72e2 * t480 * t468 - 0.5e1 / 0.288e3 * t483 * t463; + const double t490 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t486 ); + + + v2rho2 = 0.2e1 * rho * t330 + 0.4e1 * t144; + v2rhosigma = 0.2e1 * rho * t418 + 0.2e1 * t187; + v2sigma2 = 0.2e1 * rho * t490; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t22 = constants::m_cbrt_6; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t31 = constants::m_cbrt_2; + constexpr double t6 = t3 / t4; + constexpr double t21 = a_1; + constexpr double t23 = mu * t22; + constexpr double t26 = t25 * t25; + constexpr double t27 = 0.1e1 / t26; + constexpr double t28 = t23 * t27; + constexpr double t29 = 0.1e1 / kappa; + constexpr double t32 = t31 * t31; + constexpr double t45 = a_2; + constexpr double t48 = a_3; + constexpr double t51 = a_4; + constexpr double t54 = a_5; + constexpr double t58 = b_1; + constexpr double t62 = b_2; + constexpr double t65 = b_3; + constexpr double t68 = b_4; + constexpr double t71 = b_5; + constexpr double t88 = t27 * t29; + constexpr double t116 = t22 * t27; + constexpr double t117 = t58 * mu * t116; + constexpr double t151 = t29 * t32; + constexpr double t201 = mu * mu; + constexpr double t203 = t22 * t22; + constexpr double t207 = 0.1e1 / t25 / t24; + constexpr double t208 = kappa * kappa; + constexpr double t209 = 0.1e1 / t208; + constexpr double t210 = t207 * t209; + constexpr double t246 = t201 * t203; + constexpr double t247 = t246 * t207; + constexpr double t316 = t203 * t207; + constexpr double t317 = t58 * t201 * t316; + constexpr double t321 = t62 * t201 * t316; + constexpr double t343 = t209 * t31; + + + const double t2 = rho / 0.2e1 <= dens_tol; + const double t7 = 0.1e1 <= zeta_tol; + const double t8 = zeta_tol - 0.1e1; + const double t10 = piecewise_functor_5( t7, t8, t7, -t8, 0.0 ); + const double t11 = 0.1e1 + t10; + const double t13 = safe_math::cbrt( zeta_tol ); + const double t15 = safe_math::cbrt( t11 ); + const double t17 = piecewise_functor_3( t11 <= zeta_tol, t13 * zeta_tol, t15 * t11 ); + const double t18 = safe_math::cbrt( rho ); + const double t19 = t17 * t18; + const double t30 = t29 * sigma; + const double t33 = rho * rho; + const double t34 = t18 * t18; + const double t36 = 0.1e1 / t34 / t33; + const double t37 = t32 * t36; + const double t40 = t28 * t30 * t37 / 0.24e2; + const double t41 = 0.1e1 + t40; + const double t43 = 0.1e1 - 0.1e1 / t41; + const double t46 = t43 * t43; + const double t49 = t46 * t43; + const double t52 = t46 * t46; + const double t59 = safe_math::exp( -t40 ); + const double t60 = 0.1e1 - t59; + const double t63 = t60 * t60; + const double t66 = t63 * t60; + const double t69 = t63 * t63; + const double t74 = t54 * t52 * t43 + t71 * t69 * t60 + t21 * t43 + t45 * t46 + t48 * t49 + t51 * t52 + t58 * t60 + t62 * t63 + t65 * t66 + t68 * t69 + a_0 + b_0; + const double t78 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t74 ); + const double t80 = t17 / t34; + const double t84 = t41 * t41; + const double t85 = 0.1e1 / t84; + const double t87 = t21 * t85 * t23; + const double t89 = sigma * t32; + const double t90 = t33 * rho; + const double t92 = 0.1e1 / t34 / t90; + const double t94 = t88 * t89 * t92; + const double t97 = t45 * t43; + const double t98 = t85 * mu; + const double t99 = t98 * t22; + const double t100 = t97 * t99; + const double t103 = t48 * t46; + const double t104 = t103 * t99; + const double t107 = t51 * t49; + const double t108 = t107 * t99; + const double t111 = t54 * t52; + const double t112 = t111 * t99; + const double t118 = t32 * t92; + const double t119 = t118 * t59; + const double t120 = t30 * t119; + const double t123 = t62 * t60; + const double t124 = t123 * t28; + const double t127 = t65 * t63; + const double t128 = t127 * t28; + const double t131 = t68 * t66; + const double t132 = t131 * t28; + const double t135 = t71 * t69; + const double t136 = t135 * t28; + const double t139 = -t87 * t94 / 0.9e1 - 0.2e1 / 0.9e1 * t100 * t94 - t104 * t94 / 0.3e1 - 0.4e1 / 0.9e1 * t108 * t94 - 0.5e1 / 0.9e1 * t112 * t94 - t117 * t120 / 0.9e1 - 0.2e1 / 0.9e1 * t124 * t120 - t128 * t120 / 0.3e1 - 0.4e1 / 0.9e1 * t132 * t120 - 0.5e1 / 0.9e1 * t136 * t120; + const double t144 = piecewise_functor_3( t2, 0.0, -t6 * t80 * t74 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t139 ); + const double t150 = t97 * t98; + const double t153 = t116 * t151 * t36; + const double t156 = t103 * t98; + const double t159 = t107 * t98; + const double t162 = t111 * t98; + const double t169 = t123 * t23; + const double t171 = t88 * t37 * t59; + const double t174 = t127 * t23; + const double t177 = t131 * t23; + const double t180 = t135 * t23; + const double t183 = t87 * t88 * t37 / 0.24e2 + t150 * t153 / 0.12e2 + t156 * t153 / 0.8e1 + t159 * t153 / 0.6e1 + 0.5e1 / 0.24e2 * t162 * t153 + t117 * t151 * t36 * t59 / 0.24e2 + t169 * t171 / 0.12e2 + t174 * t171 / 0.8e1 + t177 * t171 / 0.6e1 + 0.5e1 / 0.24e2 * t180 * t171; + const double t187 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t183 ); + const double t192 = t17 / t34 / rho; + const double t199 = t84 * t41; + const double t200 = 0.1e1 / t199; + const double t202 = t200 * t201; + const double t204 = t202 * t203; + const double t205 = t97 * t204; + const double t211 = sigma * sigma; + const double t212 = t211 * t31; + const double t213 = t33 * t33; + const double t216 = 0.1e1 / t18 / t213 / t90; + const double t218 = t210 * t212 * t216; + const double t221 = t48 * t43; + const double t222 = t84 * t84; + const double t223 = 0.1e1 / t222; + const double t224 = t223 * t201; + const double t225 = t224 * t203; + const double t226 = t221 * t225; + const double t229 = t103 * t204; + const double t232 = t51 * t46; + const double t233 = t232 * t225; + const double t236 = t107 * t204; + const double t239 = t54 * t49; + const double t240 = t239 * t225; + const double t243 = t111 * t204; + const double t248 = t123 * t247; + const double t249 = t209 * t211; + const double t250 = t31 * t216; + const double t251 = t250 * t59; + const double t252 = t249 * t251; + const double t255 = t65 * t60; + const double t256 = t255 * t247; + const double t257 = t59 * t59; + const double t258 = t250 * t257; + const double t259 = t249 * t258; + const double t262 = t127 * t247; + const double t265 = t68 * t63; + const double t266 = t265 * t247; + const double t269 = t131 * t247; + const double t272 = t71 * t66; + const double t273 = t272 * t247; + const double t276 = t135 * t247; + const double t279 = -0.8e1 / 0.81e2 * t205 * t218 + 0.4e1 / 0.27e2 * t226 * t218 - 0.4e1 / 0.27e2 * t229 * t218 + 0.8e1 / 0.27e2 * t233 * t218 - 0.16e2 / 0.81e2 * t236 * t218 + 0.4e2 / 0.81e2 * t240 * t218 - 0.2e2 / 0.81e2 * t243 * t218 - 0.4e1 / 0.81e2 * t248 * t252 + 0.4e1 / 0.27e2 * t256 * t259 - 0.2e1 / 0.27e2 * t262 * t252 + 0.8e1 / 0.27e2 * t266 * t259 - 0.8e1 / 0.81e2 * t269 * t252 + 0.4e2 / 0.81e2 * t273 * t259 - 0.1e2 / 0.81e2 * t276 * t252; + const double t281 = 0.1e1 / t34 / t213; + const double t282 = t32 * t281; + const double t283 = t282 * t59; + const double t284 = t30 * t283; + const double t292 = t88 * t89 * t281; + const double t308 = t21 * t200 * t246; + const double t312 = t45 * t223 * t246; + const double t324 = 0.11e2 / 0.9e1 * t128 * t284 + 0.44e2 / 0.27e2 * t132 * t284 + 0.55e2 / 0.27e2 * t136 * t284 + 0.44e2 / 0.27e2 * t108 * t292 + 0.55e2 / 0.27e2 * t112 * t292 + 0.22e2 / 0.27e2 * t124 * t284 + 0.22e2 / 0.27e2 * t100 * t292 + 0.11e2 / 0.9e1 * t104 * t292 + 0.11e2 / 0.27e2 * t87 * t292 + 0.11e2 / 0.27e2 * t117 * t284 - 0.4e1 / 0.81e2 * t308 * t218 + 0.4e1 / 0.81e2 * t312 * t218 - 0.2e1 / 0.81e2 * t317 * t252 + 0.4e1 / 0.81e2 * t321 * t259; + const double t325 = t279 + t324; + const double t330 = piecewise_functor_3( t2, 0.0, t6 * t192 * t74 / 0.12e2 - t6 * t80 * t139 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t19 * t325 ); + const double t344 = t213 * t33; + const double t346 = 0.1e1 / t18 / t344; + const double t347 = t346 * t257; + const double t349 = t343 * t347 * sigma; + const double t354 = t343 * t346 * sigma * t59; + const double t357 = t31 * t346; + const double t359 = t210 * t357 * sigma; + const double t380 = -t87 * t88 * t118 / 0.9e1 - t117 * t151 * t92 * t59 / 0.9e1 - 0.5e1 / 0.27e2 * t273 * t349 + 0.5e1 / 0.108e3 * t276 * t354 + t205 * t359 / 0.27e2 - t226 * t359 / 0.18e2 + t229 * t359 / 0.18e2 - t233 * t359 / 0.9e1 + 0.2e1 / 0.27e2 * t236 * t359 - 0.5e1 / 0.27e2 * t240 * t359 + 0.5e1 / 0.54e2 * t243 * t359 + t248 * t354 / 0.54e2 - t256 * t349 / 0.18e2 + t262 * t354 / 0.36e2; + const double t386 = t116 * t151 * t92; + const double t395 = t88 * t119; + const double t412 = -t266 * t349 / 0.9e1 + t269 * t354 / 0.27e2 - 0.2e1 / 0.9e1 * t150 * t386 - t156 * t386 / 0.3e1 - 0.4e1 / 0.9e1 * t159 * t386 - 0.5e1 / 0.9e1 * t162 * t386 - 0.2e1 / 0.9e1 * t169 * t395 - t174 * t395 / 0.3e1 - 0.4e1 / 0.9e1 * t177 * t395 - 0.5e1 / 0.9e1 * t180 * t395 + t308 * t359 / 0.54e2 - t312 * t359 / 0.54e2 + t317 * t354 / 0.108e3 - t321 * t349 / 0.54e2; + const double t413 = t380 + t412; + const double t418 = piecewise_functor_3( t2, 0.0, -t6 * t80 * t183 / 0.8e1 - 0.3e1 / 0.8e1 * t6 * t19 * t413 ); + const double t421 = t213 * rho; + const double t423 = 0.1e1 / t18 / t421; + const double t424 = t31 * t423; + const double t425 = t210 * t424; + const double t430 = t97 * t202; + const double t432 = t316 * t343 * t423; + const double t435 = t221 * t224; + const double t438 = t103 * t202; + const double t441 = t232 * t224; + const double t444 = t107 * t202; + const double t447 = t239 * t224; + const double t450 = t111 * t202; + const double t461 = t123 * t246; + const double t463 = t210 * t424 * t59; + const double t466 = t255 * t246; + const double t468 = t210 * t424 * t257; + const double t471 = t127 * t246; + const double t474 = t265 * t246; + const double t477 = t131 * t246; + const double t480 = t272 * t246; + const double t483 = t135 * t246; + const double t486 = -t308 * t425 / 0.144e3 + t312 * t425 / 0.144e3 - t430 * t432 / 0.72e2 + t435 * t432 / 0.48e2 - t438 * t432 / 0.48e2 + t441 * t432 / 0.24e2 - t444 * t432 / 0.36e2 + 0.5e1 / 0.72e2 * t447 * t432 - 0.5e1 / 0.144e3 * t450 * t432 - t317 * t343 * t423 * t59 / 0.288e3 + t321 * t343 * t423 * t257 / 0.144e3 - t461 * t463 / 0.144e3 + t466 * t468 / 0.48e2 - t471 * t463 / 0.96e2 + t474 * t468 / 0.24e2 - t477 * t463 / 0.72e2 + 0.5e1 / 0.72e2 * t480 * t468 - 0.5e1 / 0.288e3 * t483 * t463; + const double t490 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t19 * t486 ); + + + vrho = 0.2e1 * rho * t144 + 0.2e1 * t78; + vsigma = 0.2e1 * rho * t187; + v2rho2 = 0.2e1 * rho * t330 + 0.4e1 * t144; + v2rhosigma = 0.2e1 * rho * t418 + 0.2e1 * t187; + v2sigma2 = 0.2e1 * rho * t490; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = a_0; + constexpr double t29 = a_1; + constexpr double t31 = mu * t30; + constexpr double t34 = t33 * t33; + constexpr double t35 = 0.1e1 / t34; + constexpr double t36 = t31 * t35; + constexpr double t37 = 0.1e1 / kappa; + constexpr double t51 = a_2; + constexpr double t54 = a_3; + constexpr double t57 = a_4; + constexpr double t60 = a_5; + constexpr double t63 = b_0; + constexpr double t64 = b_1; + constexpr double t68 = b_2; + constexpr double t71 = b_3; + constexpr double t74 = b_4; + constexpr double t77 = b_5; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t38 = t37 * sigma_aa; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t46 = t36 * t38 * t43 / 0.24e2; + const double t47 = 0.1e1 + t46; + const double t49 = 0.1e1 - 0.1e1 / t47; + const double t52 = t49 * t49; + const double t55 = t52 * t49; + const double t58 = t52 * t52; + const double t65 = safe_math::exp( -t46 ); + const double t66 = 0.1e1 - t65; + const double t69 = t66 * t66; + const double t72 = t69 * t66; + const double t75 = t69 * t69; + const double t80 = t60 * t58 * t49 + t77 * t75 * t66 + t29 * t49 + t51 * t52 + t54 * t55 + t57 * t58 + t64 * t66 + t68 * t69 + t71 * t72 + t74 * t75 + t28 + t63; + const double t84 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t80 ); + const double t85 = rho_b <= dens_tol; + const double t86 = -t16; + const double t88 = piecewise_functor_5( t14, t11, t10, t15, t86 * t7 ); + const double t89 = 0.1e1 + t88; + const double t90 = t89 <= zeta_tol; + const double t91 = safe_math::cbrt( t89 ); + const double t93 = piecewise_functor_3( t90, t22, t91 * t89 ); + const double t94 = t93 * t26; + const double t95 = t37 * sigma_bb; + const double t96 = rho_b * rho_b; + const double t97 = safe_math::cbrt( rho_b ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t103 = t36 * t95 * t100 / 0.24e2; + const double t104 = 0.1e1 + t103; + const double t106 = 0.1e1 - 0.1e1 / t104; + const double t108 = t106 * t106; + const double t110 = t108 * t106; + const double t112 = t108 * t108; + const double t116 = safe_math::exp( -t103 ); + const double t117 = 0.1e1 - t116; + const double t119 = t117 * t117; + const double t121 = t119 * t117; + const double t123 = t119 * t119; + const double t127 = t60 * t112 * t106 + t77 * t123 * t117 + t29 * t106 + t51 * t108 + t54 * t110 + t57 * t112 + t64 * t117 + t68 * t119 + t71 * t121 + t74 * t123 + t28 + t63; + const double t131 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t127 ); + + + eps = t84 + t131; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = a_0; + constexpr double t29 = a_1; + constexpr double t31 = mu * t30; + constexpr double t34 = t33 * t33; + constexpr double t35 = 0.1e1 / t34; + constexpr double t36 = t31 * t35; + constexpr double t37 = 0.1e1 / kappa; + constexpr double t51 = a_2; + constexpr double t54 = a_3; + constexpr double t57 = a_4; + constexpr double t60 = a_5; + constexpr double t63 = b_0; + constexpr double t64 = b_1; + constexpr double t68 = b_2; + constexpr double t71 = b_3; + constexpr double t74 = b_4; + constexpr double t77 = b_5; + constexpr double t154 = t35 * t37; + constexpr double t165 = t30 * t35; + constexpr double t182 = t64 * mu; + constexpr double t183 = t182 * t165; + constexpr double t323 = t182 * t30; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t38 = t37 * sigma_aa; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t46 = t36 * t38 * t43 / 0.24e2; + const double t47 = 0.1e1 + t46; + const double t49 = 0.1e1 - 0.1e1 / t47; + const double t52 = t49 * t49; + const double t55 = t52 * t49; + const double t58 = t52 * t52; + const double t65 = safe_math::exp( -t46 ); + const double t66 = 0.1e1 - t65; + const double t69 = t66 * t66; + const double t72 = t69 * t66; + const double t75 = t69 * t69; + const double t80 = t60 * t58 * t49 + t77 * t75 * t66 + t29 * t49 + t51 * t52 + t54 * t55 + t57 * t58 + t64 * t66 + t68 * t69 + t71 * t72 + t74 * t75 + t28 + t63; + const double t84 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t80 ); + const double t85 = rho_b <= dens_tol; + const double t86 = -t16; + const double t88 = piecewise_functor_5( t14, t11, t10, t15, t86 * t7 ); + const double t89 = 0.1e1 + t88; + const double t90 = t89 <= zeta_tol; + const double t91 = safe_math::cbrt( t89 ); + const double t93 = piecewise_functor_3( t90, t22, t91 * t89 ); + const double t94 = t93 * t26; + const double t95 = t37 * sigma_bb; + const double t96 = rho_b * rho_b; + const double t97 = safe_math::cbrt( rho_b ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t103 = t36 * t95 * t100 / 0.24e2; + const double t104 = 0.1e1 + t103; + const double t106 = 0.1e1 - 0.1e1 / t104; + const double t108 = t106 * t106; + const double t110 = t108 * t106; + const double t112 = t108 * t108; + const double t116 = safe_math::exp( -t103 ); + const double t117 = 0.1e1 - t116; + const double t119 = t117 * t117; + const double t121 = t119 * t117; + const double t123 = t119 * t119; + const double t127 = t60 * t112 * t106 + t77 * t123 * t117 + t29 * t106 + t51 * t108 + t54 * t110 + t57 * t112 + t64 * t117 + t68 * t119 + t71 * t121 + t74 * t123 + t28 + t63; + const double t131 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t127 ); + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t80 / 0.8e1; + const double t150 = t47 * t47; + const double t151 = 0.1e1 / t150; + const double t152 = t29 * t151; + const double t153 = t152 * t31; + const double t155 = t39 * rho_a; + const double t157 = 0.1e1 / t41 / t155; + const double t158 = sigma_aa * t157; + const double t162 = t51 * t49; + const double t163 = t151 * mu; + const double t164 = t162 * t163; + const double t167 = t165 * t38 * t157; + const double t170 = t54 * t52; + const double t171 = t170 * t163; + const double t174 = t57 * t55; + const double t175 = t174 * t163; + const double t178 = t60 * t58; + const double t179 = t178 * t163; + const double t184 = t157 * t65; + const double t188 = t68 * t66; + const double t189 = t188 * t31; + const double t191 = t154 * t158 * t65; + const double t194 = t71 * t69; + const double t195 = t194 * t31; + const double t198 = t74 * t72; + const double t199 = t198 * t31; + const double t202 = t77 * t75; + const double t203 = t202 * t31; + const double t206 = -t153 * t154 * t158 / 0.9e1 - 0.2e1 / 0.9e1 * t164 * t167 - t171 * t167 / 0.3e1 - 0.4e1 / 0.9e1 * t175 * t167 - 0.5e1 / 0.9e1 * t179 * t167 - t183 * t38 * t184 / 0.9e1 - 0.2e1 / 0.9e1 * t189 * t191 - t195 * t191 / 0.3e1 - 0.4e1 / 0.9e1 * t199 * t191 - 0.5e1 / 0.9e1 * t203 * t191; + const double t211 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t80 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t206 ); + const double t212 = t86 * t133; + const double t214 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t212 ); + const double t217 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t214 ); + const double t218 = t217 * t26; + const double t222 = t93 * t145; + const double t225 = t5 * t222 * t127 / 0.8e1; + const double t227 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t218 * t127 - t225 ); + const double t231 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t234 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t231 ); + const double t235 = t234 * t26; + const double t240 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t235 * t80 - t149 ); + const double t242 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t212 ); + const double t245 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t242 ); + const double t246 = t245 * t26; + const double t250 = t104 * t104; + const double t251 = 0.1e1 / t250; + const double t252 = t29 * t251; + const double t253 = t252 * t31; + const double t254 = t96 * rho_b; + const double t256 = 0.1e1 / t98 / t254; + const double t257 = sigma_bb * t256; + const double t261 = t51 * t106; + const double t262 = t251 * mu; + const double t263 = t261 * t262; + const double t265 = t165 * t95 * t256; + const double t268 = t54 * t108; + const double t269 = t268 * t262; + const double t272 = t57 * t110; + const double t273 = t272 * t262; + const double t276 = t60 * t112; + const double t277 = t276 * t262; + const double t280 = t256 * t116; + const double t284 = t68 * t117; + const double t285 = t284 * t31; + const double t287 = t154 * t257 * t116; + const double t290 = t71 * t119; + const double t291 = t290 * t31; + const double t294 = t74 * t121; + const double t295 = t294 * t31; + const double t298 = t77 * t123; + const double t299 = t298 * t31; + const double t302 = -t253 * t154 * t257 / 0.9e1 - 0.2e1 / 0.9e1 * t263 * t265 - t269 * t265 / 0.3e1 - 0.4e1 / 0.9e1 * t273 * t265 - 0.5e1 / 0.9e1 * t277 * t265 - t183 * t95 * t280 / 0.9e1 - 0.2e1 / 0.9e1 * t285 * t287 - t291 * t287 / 0.3e1 - 0.4e1 / 0.9e1 * t295 * t287 - 0.5e1 / 0.9e1 * t299 * t287; + const double t307 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t246 * t127 - t225 - 0.3e1 / 0.8e1 * t5 * t94 * t302 ); + const double t310 = t152 * mu; + const double t312 = t165 * t37 * t43; + const double t325 = t154 * t43 * t65; + const double t336 = t310 * t312 / 0.24e2 + t164 * t312 / 0.12e2 + t171 * t312 / 0.8e1 + t175 * t312 / 0.6e1 + 0.5e1 / 0.24e2 * t179 * t312 + t323 * t325 / 0.24e2 + t189 * t325 / 0.12e2 + t195 * t325 / 0.8e1 + t199 * t325 / 0.6e1 + 0.5e1 / 0.24e2 * t203 * t325; + const double t340 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t336 ); + const double t341 = t252 * mu; + const double t343 = t165 * t37 * t100; + const double t355 = t154 * t100 * t116; + const double t366 = t341 * t343 / 0.24e2 + t263 * t343 / 0.12e2 + t269 * t343 / 0.8e1 + t273 * t343 / 0.6e1 + 0.5e1 / 0.24e2 * t277 * t343 + t323 * t355 / 0.24e2 + t285 * t355 / 0.12e2 + t291 * t355 / 0.8e1 + t295 * t355 / 0.6e1 + 0.5e1 / 0.24e2 * t299 * t355; + const double t370 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t366 ); + + + eps = t84 + t131; + vrho_a = t84 + t131 + t6 * ( t211 + t227 ); + vrho_b = t84 + t131 + t6 * ( t240 + t307 ); + vsigma_aa = t6 * t340; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t370; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = a_0; + constexpr double t29 = a_1; + constexpr double t31 = mu * t30; + constexpr double t34 = t33 * t33; + constexpr double t35 = 0.1e1 / t34; + constexpr double t36 = t31 * t35; + constexpr double t37 = 0.1e1 / kappa; + constexpr double t51 = a_2; + constexpr double t54 = a_3; + constexpr double t57 = a_4; + constexpr double t60 = a_5; + constexpr double t63 = b_0; + constexpr double t64 = b_1; + constexpr double t68 = b_2; + constexpr double t71 = b_3; + constexpr double t74 = b_4; + constexpr double t77 = b_5; + constexpr double t154 = t35 * t37; + constexpr double t165 = t30 * t35; + constexpr double t182 = t64 * mu; + constexpr double t183 = t182 * t165; + constexpr double t323 = t182 * t30; + constexpr double t411 = mu * mu; + constexpr double t412 = t30 * t30; + constexpr double t413 = t411 * t412; + constexpr double t416 = 0.1e1 / t33 / t32; + constexpr double t417 = kappa * kappa; + constexpr double t418 = 0.1e1 / t417; + constexpr double t419 = t416 * t418; + constexpr double t435 = t64 * t411; + constexpr double t436 = t412 * t416; + constexpr double t437 = t435 * t436; + constexpr double t443 = t68 * t411; + constexpr double t444 = t443 * t436; + constexpr double t1007 = t435 * t412; + constexpr double t1012 = t443 * t412; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t38 = t37 * sigma_aa; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t46 = t36 * t38 * t43 / 0.24e2; + const double t47 = 0.1e1 + t46; + const double t49 = 0.1e1 - 0.1e1 / t47; + const double t52 = t49 * t49; + const double t55 = t52 * t49; + const double t58 = t52 * t52; + const double t65 = safe_math::exp( -t46 ); + const double t66 = 0.1e1 - t65; + const double t69 = t66 * t66; + const double t72 = t69 * t66; + const double t75 = t69 * t69; + const double t80 = t60 * t58 * t49 + t77 * t75 * t66 + t29 * t49 + t51 * t52 + t54 * t55 + t57 * t58 + t64 * t66 + t68 * t69 + t71 * t72 + t74 * t75 + t28 + t63; + const double t85 = rho_b <= dens_tol; + const double t86 = -t16; + const double t88 = piecewise_functor_5( t14, t11, t10, t15, t86 * t7 ); + const double t89 = 0.1e1 + t88; + const double t90 = t89 <= zeta_tol; + const double t91 = safe_math::cbrt( t89 ); + const double t93 = piecewise_functor_3( t90, t22, t91 * t89 ); + const double t94 = t93 * t26; + const double t95 = t37 * sigma_bb; + const double t96 = rho_b * rho_b; + const double t97 = safe_math::cbrt( rho_b ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t103 = t36 * t95 * t100 / 0.24e2; + const double t104 = 0.1e1 + t103; + const double t106 = 0.1e1 - 0.1e1 / t104; + const double t108 = t106 * t106; + const double t110 = t108 * t106; + const double t112 = t108 * t108; + const double t116 = safe_math::exp( -t103 ); + const double t117 = 0.1e1 - t116; + const double t119 = t117 * t117; + const double t121 = t119 * t117; + const double t123 = t119 * t119; + const double t127 = t60 * t112 * t106 + t77 * t123 * t117 + t29 * t106 + t51 * t108 + t54 * t110 + t57 * t112 + t64 * t117 + t68 * t119 + t71 * t121 + t74 * t123 + t28 + t63; + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t80 / 0.8e1; + const double t150 = t47 * t47; + const double t151 = 0.1e1 / t150; + const double t152 = t29 * t151; + const double t153 = t152 * t31; + const double t155 = t39 * rho_a; + const double t157 = 0.1e1 / t41 / t155; + const double t158 = sigma_aa * t157; + const double t162 = t51 * t49; + const double t163 = t151 * mu; + const double t164 = t162 * t163; + const double t167 = t165 * t38 * t157; + const double t170 = t54 * t52; + const double t171 = t170 * t163; + const double t174 = t57 * t55; + const double t175 = t174 * t163; + const double t178 = t60 * t58; + const double t179 = t178 * t163; + const double t184 = t157 * t65; + const double t188 = t68 * t66; + const double t189 = t188 * t31; + const double t191 = t154 * t158 * t65; + const double t194 = t71 * t69; + const double t195 = t194 * t31; + const double t198 = t74 * t72; + const double t199 = t198 * t31; + const double t202 = t77 * t75; + const double t203 = t202 * t31; + const double t206 = -t153 * t154 * t158 / 0.9e1 - 0.2e1 / 0.9e1 * t164 * t167 - t171 * t167 / 0.3e1 - 0.4e1 / 0.9e1 * t175 * t167 - 0.5e1 / 0.9e1 * t179 * t167 - t183 * t38 * t184 / 0.9e1 - 0.2e1 / 0.9e1 * t189 * t191 - t195 * t191 / 0.3e1 - 0.4e1 / 0.9e1 * t199 * t191 - 0.5e1 / 0.9e1 * t203 * t191; + const double t211 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t80 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t206 ); + const double t212 = t86 * t133; + const double t214 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t212 ); + const double t217 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t214 ); + const double t218 = t217 * t26; + const double t222 = t93 * t145; + const double t225 = t5 * t222 * t127 / 0.8e1; + const double t227 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t218 * t127 - t225 ); + const double t231 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t234 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t231 ); + const double t235 = t234 * t26; + const double t240 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t235 * t80 - t149 ); + const double t242 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t212 ); + const double t245 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t242 ); + const double t246 = t245 * t26; + const double t250 = t104 * t104; + const double t251 = 0.1e1 / t250; + const double t252 = t29 * t251; + const double t253 = t252 * t31; + const double t254 = t96 * rho_b; + const double t256 = 0.1e1 / t98 / t254; + const double t257 = sigma_bb * t256; + const double t261 = t51 * t106; + const double t262 = t251 * mu; + const double t263 = t261 * t262; + const double t265 = t165 * t95 * t256; + const double t268 = t54 * t108; + const double t269 = t268 * t262; + const double t272 = t57 * t110; + const double t273 = t272 * t262; + const double t276 = t60 * t112; + const double t277 = t276 * t262; + const double t280 = t256 * t116; + const double t284 = t68 * t117; + const double t285 = t284 * t31; + const double t287 = t154 * t257 * t116; + const double t290 = t71 * t119; + const double t291 = t290 * t31; + const double t294 = t74 * t121; + const double t295 = t294 * t31; + const double t298 = t77 * t123; + const double t299 = t298 * t31; + const double t302 = -t253 * t154 * t257 / 0.9e1 - 0.2e1 / 0.9e1 * t263 * t265 - t269 * t265 / 0.3e1 - 0.4e1 / 0.9e1 * t273 * t265 - 0.5e1 / 0.9e1 * t277 * t265 - t183 * t95 * t280 / 0.9e1 - 0.2e1 / 0.9e1 * t285 * t287 - t291 * t287 / 0.3e1 - 0.4e1 / 0.9e1 * t295 * t287 - 0.5e1 / 0.9e1 * t299 * t287; + const double t307 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t246 * t127 - t225 - 0.3e1 / 0.8e1 * t5 * t94 * t302 ); + const double t310 = t152 * mu; + const double t312 = t165 * t37 * t43; + const double t325 = t154 * t43 * t65; + const double t336 = t310 * t312 / 0.24e2 + t164 * t312 / 0.12e2 + t171 * t312 / 0.8e1 + t175 * t312 / 0.6e1 + 0.5e1 / 0.24e2 * t179 * t312 + t323 * t325 / 0.24e2 + t189 * t325 / 0.12e2 + t195 * t325 / 0.8e1 + t199 * t325 / 0.6e1 + 0.5e1 / 0.24e2 * t203 * t325; + const double t340 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t336 ); + const double t341 = t252 * mu; + const double t343 = t165 * t37 * t100; + const double t355 = t154 * t100 * t116; + const double t366 = t341 * t343 / 0.24e2 + t263 * t343 / 0.12e2 + t269 * t343 / 0.8e1 + t273 * t343 / 0.6e1 + 0.5e1 / 0.24e2 * t277 * t343 + t323 * t355 / 0.24e2 + t285 * t355 / 0.12e2 + t291 * t355 / 0.8e1 + t295 * t355 / 0.6e1 + 0.5e1 / 0.24e2 * t299 * t355; + const double t370 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t366 ); + const double t373 = t23 * t23; + const double t374 = 0.1e1 / t373; + const double t375 = t136 * t136; + const double t378 = t132 * t6; + const double t379 = 0.1e1 / t378; + const double t380 = t16 * t379; + const double t383 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t133 + 0.2e1 * t380 ); + const double t387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t374 * t375 + 0.4e1 / 0.3e1 * t23 * t383 ); + const double t388 = t387 * t26; + const double t392 = t139 * t145; + const double t394 = t5 * t392 * t80; + const double t400 = 0.1e1 / t144 / t6; + const double t401 = t25 * t400; + const double t404 = t5 * t401 * t80 / 0.12e2; + const double t406 = t5 * t146 * t206; + const double t408 = t150 * t47; + const double t409 = 0.1e1 / t408; + const double t410 = t29 * t409; + const double t414 = t410 * t413; + const double t420 = sigma_aa * sigma_aa; + const double t421 = t39 * t39; + const double t424 = 0.1e1 / t40 / t421 / t155; + const double t425 = t420 * t424; + const double t426 = t419 * t425; + const double t429 = t150 * t150; + const double t430 = 0.1e1 / t429; + const double t431 = t51 * t430; + const double t432 = t431 * t413; + const double t438 = t418 * t420; + const double t439 = t424 * t65; + const double t445 = t65 * t65; + const double t446 = t424 * t445; + const double t451 = 0.1e1 / t41 / t421; + const double t452 = sigma_aa * t451; + const double t456 = t451 * t65; + const double t460 = t409 * t411; + const double t461 = t162 * t460; + const double t463 = t436 * t438 * t424; + const double t466 = t54 * t49; + const double t467 = t430 * t411; + const double t468 = t466 * t467; + const double t471 = t170 * t460; + const double t474 = t57 * t52; + const double t475 = t474 * t467; + const double t478 = t174 * t460; + const double t481 = t60 * t55; + const double t482 = t481 * t467; + const double t485 = t178 * t460; + const double t488 = t188 * t413; + const double t490 = t419 * t425 * t65; + const double t493 = -0.2e1 / 0.81e2 * t414 * t426 + 0.2e1 / 0.81e2 * t432 * t426 - t437 * t438 * t439 / 0.81e2 + 0.2e1 / 0.81e2 * t444 * t438 * t446 + 0.11e2 / 0.27e2 * t153 * t154 * t452 + 0.11e2 / 0.27e2 * t183 * t38 * t456 - 0.4e1 / 0.81e2 * t461 * t463 + 0.2e1 / 0.27e2 * t468 * t463 - 0.2e1 / 0.27e2 * t471 * t463 + 0.4e1 / 0.27e2 * t475 * t463 - 0.8e1 / 0.81e2 * t478 * t463 + 0.2e2 / 0.81e2 * t482 * t463 - 0.1e2 / 0.81e2 * t485 * t463 - 0.2e1 / 0.81e2 * t488 * t490; + const double t494 = t71 * t66; + const double t495 = t494 * t413; + const double t497 = t419 * t425 * t445; + const double t500 = t194 * t413; + const double t503 = t74 * t69; + const double t504 = t503 * t413; + const double t507 = t198 * t413; + const double t510 = t77 * t72; + const double t511 = t510 * t413; + const double t514 = t202 * t413; + const double t518 = t165 * t38 * t451; + const double t528 = t154 * t452 * t65; + const double t537 = 0.2e1 / 0.27e2 * t495 * t497 - t500 * t490 / 0.27e2 + 0.4e1 / 0.27e2 * t504 * t497 - 0.4e1 / 0.81e2 * t507 * t490 + 0.2e2 / 0.81e2 * t511 * t497 - 0.5e1 / 0.81e2 * t514 * t490 + 0.22e2 / 0.27e2 * t164 * t518 + 0.11e2 / 0.9e1 * t171 * t518 + 0.44e2 / 0.27e2 * t175 * t518 + 0.55e2 / 0.27e2 * t179 * t518 + 0.22e2 / 0.27e2 * t189 * t528 + 0.11e2 / 0.9e1 * t195 * t528 + 0.44e2 / 0.27e2 * t199 * t528 + 0.55e2 / 0.27e2 * t203 * t528; + const double t538 = t493 + t537; + const double t543 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t388 * t80 - t394 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t140 * t206 + t404 - t406 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t538 ); + const double t544 = t91 * t91; + const double t545 = 0.1e1 / t544; + const double t546 = t214 * t214; + const double t549 = t86 * t379; + const double t552 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t133 + 0.2e1 * t549 ); + const double t556 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t545 * t546 + 0.4e1 / 0.3e1 * t91 * t552 ); + const double t557 = t556 * t26; + const double t561 = t217 * t145; + const double t563 = t5 * t561 * t127; + const double t565 = t93 * t400; + const double t568 = t5 * t565 * t127 / 0.12e2; + const double t570 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t557 * t127 - t563 / 0.4e1 + t568 ); + const double t586 = t234 * t145; + const double t588 = t5 * t586 * t80; + const double t610 = t245 * t145; + const double t612 = t5 * t610 * t127; + const double t619 = t5 * t222 * t302; + const double t627 = t231 * t231; + const double t632 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t133 + 0.2e1 * t380 ); + const double t636 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t374 * t627 + 0.4e1 / 0.3e1 * t23 * t632 ); + const double t637 = t636 * t26; + const double t643 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t637 * t80 - t588 / 0.4e1 + t404 ); + const double t644 = t242 * t242; + const double t649 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t133 + 0.2e1 * t549 ); + const double t653 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t545 * t644 + 0.4e1 / 0.3e1 * t91 * t649 ); + const double t654 = t653 * t26; + const double t663 = t250 * t104; + const double t664 = 0.1e1 / t663; + const double t665 = t29 * t664; + const double t666 = t665 * t413; + const double t667 = sigma_bb * sigma_bb; + const double t668 = t96 * t96; + const double t671 = 0.1e1 / t97 / t668 / t254; + const double t672 = t667 * t671; + const double t673 = t419 * t672; + const double t676 = t250 * t250; + const double t677 = 0.1e1 / t676; + const double t678 = t51 * t677; + const double t679 = t678 * t413; + const double t682 = t418 * t667; + const double t683 = t671 * t116; + const double t687 = t116 * t116; + const double t688 = t671 * t687; + const double t693 = 0.1e1 / t98 / t668; + const double t694 = sigma_bb * t693; + const double t698 = t693 * t116; + const double t703 = t165 * t95 * t693; + const double t713 = t154 * t694 * t116; + const double t722 = -0.2e1 / 0.81e2 * t666 * t673 + 0.2e1 / 0.81e2 * t679 * t673 - t437 * t682 * t683 / 0.81e2 + 0.2e1 / 0.81e2 * t444 * t682 * t688 + 0.11e2 / 0.27e2 * t253 * t154 * t694 + 0.11e2 / 0.27e2 * t183 * t95 * t698 + 0.22e2 / 0.27e2 * t263 * t703 + 0.11e2 / 0.9e1 * t269 * t703 + 0.44e2 / 0.27e2 * t273 * t703 + 0.55e2 / 0.27e2 * t277 * t703 + 0.22e2 / 0.27e2 * t285 * t713 + 0.11e2 / 0.9e1 * t291 * t713 + 0.44e2 / 0.27e2 * t295 * t713 + 0.55e2 / 0.27e2 * t299 * t713; + const double t723 = t664 * t411; + const double t724 = t261 * t723; + const double t726 = t436 * t682 * t671; + const double t729 = t54 * t106; + const double t730 = t677 * t411; + const double t731 = t729 * t730; + const double t734 = t268 * t723; + const double t737 = t57 * t108; + const double t738 = t737 * t730; + const double t741 = t272 * t723; + const double t744 = t60 * t110; + const double t745 = t744 * t730; + const double t748 = t276 * t723; + const double t751 = t284 * t413; + const double t753 = t419 * t672 * t116; + const double t756 = t71 * t117; + const double t757 = t756 * t413; + const double t759 = t419 * t672 * t687; + const double t762 = t290 * t413; + const double t765 = t74 * t119; + const double t766 = t765 * t413; + const double t769 = t294 * t413; + const double t772 = t77 * t121; + const double t773 = t772 * t413; + const double t776 = t298 * t413; + const double t779 = -0.4e1 / 0.81e2 * t724 * t726 + 0.2e1 / 0.27e2 * t731 * t726 - 0.2e1 / 0.27e2 * t734 * t726 + 0.4e1 / 0.27e2 * t738 * t726 - 0.8e1 / 0.81e2 * t741 * t726 + 0.2e2 / 0.81e2 * t745 * t726 - 0.1e2 / 0.81e2 * t748 * t726 - 0.2e1 / 0.81e2 * t751 * t753 + 0.2e1 / 0.27e2 * t757 * t759 - t762 * t753 / 0.27e2 + 0.4e1 / 0.27e2 * t766 * t759 - 0.4e1 / 0.81e2 * t769 * t753 + 0.2e2 / 0.81e2 * t773 * t759 - 0.5e1 / 0.81e2 * t776 * t753; + const double t780 = t722 + t779; + const double t785 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t654 * t127 - t612 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t246 * t302 + t568 - t619 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t94 * t780 ); + const double t793 = t5 * t146 * t336 / 0.8e1; + const double t794 = t421 * t39; + const double t796 = 0.1e1 / t40 / t794; + const double t797 = sigma_aa * t796; + const double t798 = t419 * t797; + const double t801 = t418 * t796; + const double t802 = sigma_aa * t65; + const double t806 = t418 * sigma_aa; + const double t807 = t796 * t445; + const double t812 = t165 * t37 * t157; + const double t821 = t154 * t184; + const double t836 = -t432 * t798 / 0.108e3 + t437 * t801 * t802 / 0.216e3 - t444 * t806 * t807 / 0.108e3 - 0.2e1 / 0.9e1 * t164 * t812 - t171 * t812 / 0.3e1 - 0.4e1 / 0.9e1 * t175 * t812 - 0.5e1 / 0.9e1 * t179 * t812 - 0.2e1 / 0.9e1 * t189 * t821 - t195 * t821 / 0.3e1 - 0.4e1 / 0.9e1 * t199 * t821 - 0.5e1 / 0.9e1 * t203 * t821 + t414 * t798 / 0.108e3 - t323 * t821 / 0.9e1 - t310 * t812 / 0.9e1; + const double t838 = t436 * t801 * sigma_aa; + const double t846 = t419 * t797 * t65; + const double t850 = t419 * t807 * sigma_aa; + const double t871 = t478 * t838 / 0.27e2 - 0.5e1 / 0.54e2 * t482 * t838 + 0.5e1 / 0.108e3 * t485 * t838 + t488 * t846 / 0.108e3 - t495 * t850 / 0.36e2 + t500 * t846 / 0.72e2 - t504 * t850 / 0.18e2 + t507 * t846 / 0.54e2 - 0.5e1 / 0.54e2 * t511 * t850 + 0.5e1 / 0.216e3 * t514 * t846 + t461 * t838 / 0.54e2 - t468 * t838 / 0.36e2 + t471 * t838 / 0.36e2 - t475 * t838 / 0.18e2; + const double t872 = t836 + t871; + const double t877 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t336 - t793 - 0.3e1 / 0.8e1 * t5 * t27 * t872 ); + const double t884 = t5 * t222 * t366 / 0.8e1; + const double t897 = t668 * t96; + const double t899 = 0.1e1 / t97 / t897; + const double t900 = t899 * sigma_bb; + const double t902 = t419 * t900 * t116; + const double t905 = t899 * t687; + const double t907 = t419 * t905 * sigma_bb; + const double t920 = t418 * t899; + const double t922 = t436 * t920 * sigma_bb; + const double t937 = t751 * t902 / 0.108e3 - t757 * t907 / 0.36e2 + t762 * t902 / 0.72e2 - t766 * t907 / 0.18e2 + t769 * t902 / 0.54e2 - 0.5e1 / 0.54e2 * t773 * t907 + 0.5e1 / 0.216e3 * t776 * t902 + t724 * t922 / 0.54e2 - t731 * t922 / 0.36e2 + t734 * t922 / 0.36e2 - t738 * t922 / 0.18e2 + t741 * t922 / 0.27e2 - 0.5e1 / 0.54e2 * t745 * t922 + 0.5e1 / 0.108e3 * t748 * t922; + const double t938 = t154 * t280; + const double t942 = t165 * t37 * t256; + const double t945 = sigma_bb * t116; + const double t949 = t418 * sigma_bb; + const double t953 = t419 * t900; + const double t974 = -t323 * t938 / 0.9e1 - t341 * t942 / 0.9e1 + t437 * t920 * t945 / 0.216e3 - t444 * t949 * t905 / 0.108e3 + t666 * t953 / 0.108e3 - t679 * t953 / 0.108e3 - 0.2e1 / 0.9e1 * t263 * t942 - t269 * t942 / 0.3e1 - 0.4e1 / 0.9e1 * t273 * t942 - 0.5e1 / 0.9e1 * t277 * t942 - 0.2e1 / 0.9e1 * t285 * t938 - t291 * t938 / 0.3e1 - 0.4e1 / 0.9e1 * t295 * t938 - 0.5e1 / 0.9e1 * t299 * t938; + const double t975 = t937 + t974; + const double t980 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t246 * t366 - t884 - 0.3e1 / 0.8e1 * t5 * t94 * t975 ); + const double t982 = t410 * t411; + const double t983 = t421 * rho_a; + const double t985 = 0.1e1 / t40 / t983; + const double t987 = t436 * t418 * t985; + const double t990 = t431 * t411; + const double t1009 = t419 * t985 * t65; + const double t1014 = t419 * t985 * t445; + const double t1031 = -t982 * t987 / 0.288e3 + t990 * t987 / 0.288e3 - t461 * t987 / 0.144e3 + t468 * t987 / 0.96e2 - t471 * t987 / 0.96e2 + t475 * t987 / 0.48e2 - t478 * t987 / 0.72e2 + 0.5e1 / 0.144e3 * t482 * t987 - 0.5e1 / 0.288e3 * t485 * t987 - t1007 * t1009 / 0.576e3 + t1012 * t1014 / 0.288e3 - t488 * t1009 / 0.288e3 + t495 * t1014 / 0.96e2 - t500 * t1009 / 0.192e3 + t504 * t1014 / 0.48e2 - t507 * t1009 / 0.144e3 + 0.5e1 / 0.144e3 * t511 * t1014 - 0.5e1 / 0.576e3 * t514 * t1009; + const double t1035 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1031 ); + const double t1036 = t665 * t411; + const double t1037 = t668 * rho_b; + const double t1039 = 0.1e1 / t97 / t1037; + const double t1041 = t436 * t418 * t1039; + const double t1044 = t678 * t411; + const double t1062 = t419 * t1039 * t116; + const double t1066 = t419 * t1039 * t687; + const double t1083 = -t1036 * t1041 / 0.288e3 + t1044 * t1041 / 0.288e3 - t724 * t1041 / 0.144e3 + t731 * t1041 / 0.96e2 - t734 * t1041 / 0.96e2 + t738 * t1041 / 0.48e2 - t741 * t1041 / 0.72e2 + 0.5e1 / 0.144e3 * t745 * t1041 - 0.5e1 / 0.288e3 * t748 * t1041 - t1007 * t1062 / 0.576e3 + t1012 * t1066 / 0.288e3 - t751 * t1062 / 0.288e3 + t757 * t1066 / 0.96e2 - t762 * t1062 / 0.192e3 + t766 * t1066 / 0.48e2 - t769 * t1062 / 0.144e3 + 0.5e1 / 0.144e3 * t773 * t1066 - 0.5e1 / 0.576e3 * t776 * t1062; + const double t1087 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t1083 ); + + + v2rho2_aa = 0.2e1 * t211 + 0.2e1 * t227 + t6 * ( t543 + t570 ); + v2rho2_bb = 0.2e1 * t240 + 0.2e1 * t307 + t6 * ( t643 + t785 ); + v2rhosigma_a_aa = t6 * t877 + t340; + v2rhosigma_b_bb = t6 * t980 + t370; + v2sigma2_aa_aa = t6 * t1035; + v2sigma2_bb_bb = t6 * t1087; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t2 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_pi; + constexpr double t30 = constants::m_cbrt_6; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t5 = t2 / t3; + constexpr double t28 = a_0; + constexpr double t29 = a_1; + constexpr double t31 = mu * t30; + constexpr double t34 = t33 * t33; + constexpr double t35 = 0.1e1 / t34; + constexpr double t36 = t31 * t35; + constexpr double t37 = 0.1e1 / kappa; + constexpr double t51 = a_2; + constexpr double t54 = a_3; + constexpr double t57 = a_4; + constexpr double t60 = a_5; + constexpr double t63 = b_0; + constexpr double t64 = b_1; + constexpr double t68 = b_2; + constexpr double t71 = b_3; + constexpr double t74 = b_4; + constexpr double t77 = b_5; + constexpr double t154 = t35 * t37; + constexpr double t165 = t30 * t35; + constexpr double t182 = t64 * mu; + constexpr double t183 = t182 * t165; + constexpr double t323 = t182 * t30; + constexpr double t411 = mu * mu; + constexpr double t412 = t30 * t30; + constexpr double t413 = t411 * t412; + constexpr double t416 = 0.1e1 / t33 / t32; + constexpr double t417 = kappa * kappa; + constexpr double t418 = 0.1e1 / t417; + constexpr double t419 = t416 * t418; + constexpr double t435 = t64 * t411; + constexpr double t436 = t412 * t416; + constexpr double t437 = t435 * t436; + constexpr double t443 = t68 * t411; + constexpr double t444 = t443 * t436; + constexpr double t1007 = t435 * t412; + constexpr double t1012 = t443 * t412; + + + const double t1 = rho_a <= dens_tol; + const double t6 = rho_a + rho_b; + const double t7 = 0.1e1 / t6; + const double t10 = 0.2e1 * rho_a * t7 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t14 = 0.2e1 * rho_b * t7 <= zeta_tol; + const double t15 = -t11; + const double t16 = rho_a - rho_b; + const double t18 = piecewise_functor_5( t10, t11, t14, t15, t16 * t7 ); + const double t19 = 0.1e1 + t18; + const double t20 = t19 <= zeta_tol; + const double t21 = safe_math::cbrt( zeta_tol ); + const double t22 = t21 * zeta_tol; + const double t23 = safe_math::cbrt( t19 ); + const double t25 = piecewise_functor_3( t20, t22, t23 * t19 ); + const double t26 = safe_math::cbrt( t6 ); + const double t27 = t25 * t26; + const double t38 = t37 * sigma_aa; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t46 = t36 * t38 * t43 / 0.24e2; + const double t47 = 0.1e1 + t46; + const double t49 = 0.1e1 - 0.1e1 / t47; + const double t52 = t49 * t49; + const double t55 = t52 * t49; + const double t58 = t52 * t52; + const double t65 = safe_math::exp( -t46 ); + const double t66 = 0.1e1 - t65; + const double t69 = t66 * t66; + const double t72 = t69 * t66; + const double t75 = t69 * t69; + const double t80 = t60 * t58 * t49 + t77 * t75 * t66 + t29 * t49 + t51 * t52 + t54 * t55 + t57 * t58 + t64 * t66 + t68 * t69 + t71 * t72 + t74 * t75 + t28 + t63; + const double t84 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t80 ); + const double t85 = rho_b <= dens_tol; + const double t86 = -t16; + const double t88 = piecewise_functor_5( t14, t11, t10, t15, t86 * t7 ); + const double t89 = 0.1e1 + t88; + const double t90 = t89 <= zeta_tol; + const double t91 = safe_math::cbrt( t89 ); + const double t93 = piecewise_functor_3( t90, t22, t91 * t89 ); + const double t94 = t93 * t26; + const double t95 = t37 * sigma_bb; + const double t96 = rho_b * rho_b; + const double t97 = safe_math::cbrt( rho_b ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t103 = t36 * t95 * t100 / 0.24e2; + const double t104 = 0.1e1 + t103; + const double t106 = 0.1e1 - 0.1e1 / t104; + const double t108 = t106 * t106; + const double t110 = t108 * t106; + const double t112 = t108 * t108; + const double t116 = safe_math::exp( -t103 ); + const double t117 = 0.1e1 - t116; + const double t119 = t117 * t117; + const double t121 = t119 * t117; + const double t123 = t119 * t119; + const double t127 = t60 * t112 * t106 + t77 * t123 * t117 + t29 * t106 + t51 * t108 + t54 * t110 + t57 * t112 + t64 * t117 + t68 * t119 + t71 * t121 + t74 * t123 + t28 + t63; + const double t131 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t127 ); + const double t132 = t6 * t6; + const double t133 = 0.1e1 / t132; + const double t134 = t16 * t133; + const double t136 = piecewise_functor_5( t10, 0.0, t14, 0.0, t7 - t134 ); + const double t139 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t136 ); + const double t140 = t139 * t26; + const double t144 = t26 * t26; + const double t145 = 0.1e1 / t144; + const double t146 = t25 * t145; + const double t149 = t5 * t146 * t80 / 0.8e1; + const double t150 = t47 * t47; + const double t151 = 0.1e1 / t150; + const double t152 = t29 * t151; + const double t153 = t152 * t31; + const double t155 = t39 * rho_a; + const double t157 = 0.1e1 / t41 / t155; + const double t158 = sigma_aa * t157; + const double t162 = t51 * t49; + const double t163 = t151 * mu; + const double t164 = t162 * t163; + const double t167 = t165 * t38 * t157; + const double t170 = t54 * t52; + const double t171 = t170 * t163; + const double t174 = t57 * t55; + const double t175 = t174 * t163; + const double t178 = t60 * t58; + const double t179 = t178 * t163; + const double t184 = t157 * t65; + const double t188 = t68 * t66; + const double t189 = t188 * t31; + const double t191 = t154 * t158 * t65; + const double t194 = t71 * t69; + const double t195 = t194 * t31; + const double t198 = t74 * t72; + const double t199 = t198 * t31; + const double t202 = t77 * t75; + const double t203 = t202 * t31; + const double t206 = -t153 * t154 * t158 / 0.9e1 - 0.2e1 / 0.9e1 * t164 * t167 - t171 * t167 / 0.3e1 - 0.4e1 / 0.9e1 * t175 * t167 - 0.5e1 / 0.9e1 * t179 * t167 - t183 * t38 * t184 / 0.9e1 - 0.2e1 / 0.9e1 * t189 * t191 - t195 * t191 / 0.3e1 - 0.4e1 / 0.9e1 * t199 * t191 - 0.5e1 / 0.9e1 * t203 * t191; + const double t211 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t80 - t149 - 0.3e1 / 0.8e1 * t5 * t27 * t206 ); + const double t212 = t86 * t133; + const double t214 = piecewise_functor_5( t14, 0.0, t10, 0.0, -t7 - t212 ); + const double t217 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t214 ); + const double t218 = t217 * t26; + const double t222 = t93 * t145; + const double t225 = t5 * t222 * t127 / 0.8e1; + const double t227 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t218 * t127 - t225 ); + const double t231 = piecewise_functor_5( t10, 0.0, t14, 0.0, -t7 - t134 ); + const double t234 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.3e1 * t23 * t231 ); + const double t235 = t234 * t26; + const double t240 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t235 * t80 - t149 ); + const double t242 = piecewise_functor_5( t14, 0.0, t10, 0.0, t7 - t212 ); + const double t245 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.3e1 * t91 * t242 ); + const double t246 = t245 * t26; + const double t250 = t104 * t104; + const double t251 = 0.1e1 / t250; + const double t252 = t29 * t251; + const double t253 = t252 * t31; + const double t254 = t96 * rho_b; + const double t256 = 0.1e1 / t98 / t254; + const double t257 = sigma_bb * t256; + const double t261 = t51 * t106; + const double t262 = t251 * mu; + const double t263 = t261 * t262; + const double t265 = t165 * t95 * t256; + const double t268 = t54 * t108; + const double t269 = t268 * t262; + const double t272 = t57 * t110; + const double t273 = t272 * t262; + const double t276 = t60 * t112; + const double t277 = t276 * t262; + const double t280 = t256 * t116; + const double t284 = t68 * t117; + const double t285 = t284 * t31; + const double t287 = t154 * t257 * t116; + const double t290 = t71 * t119; + const double t291 = t290 * t31; + const double t294 = t74 * t121; + const double t295 = t294 * t31; + const double t298 = t77 * t123; + const double t299 = t298 * t31; + const double t302 = -t253 * t154 * t257 / 0.9e1 - 0.2e1 / 0.9e1 * t263 * t265 - t269 * t265 / 0.3e1 - 0.4e1 / 0.9e1 * t273 * t265 - 0.5e1 / 0.9e1 * t277 * t265 - t183 * t95 * t280 / 0.9e1 - 0.2e1 / 0.9e1 * t285 * t287 - t291 * t287 / 0.3e1 - 0.4e1 / 0.9e1 * t295 * t287 - 0.5e1 / 0.9e1 * t299 * t287; + const double t307 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t246 * t127 - t225 - 0.3e1 / 0.8e1 * t5 * t94 * t302 ); + const double t310 = t152 * mu; + const double t312 = t165 * t37 * t43; + const double t325 = t154 * t43 * t65; + const double t336 = t310 * t312 / 0.24e2 + t164 * t312 / 0.12e2 + t171 * t312 / 0.8e1 + t175 * t312 / 0.6e1 + 0.5e1 / 0.24e2 * t179 * t312 + t323 * t325 / 0.24e2 + t189 * t325 / 0.12e2 + t195 * t325 / 0.8e1 + t199 * t325 / 0.6e1 + 0.5e1 / 0.24e2 * t203 * t325; + const double t340 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t336 ); + const double t341 = t252 * mu; + const double t343 = t165 * t37 * t100; + const double t355 = t154 * t100 * t116; + const double t366 = t341 * t343 / 0.24e2 + t263 * t343 / 0.12e2 + t269 * t343 / 0.8e1 + t273 * t343 / 0.6e1 + 0.5e1 / 0.24e2 * t277 * t343 + t323 * t355 / 0.24e2 + t285 * t355 / 0.12e2 + t291 * t355 / 0.8e1 + t295 * t355 / 0.6e1 + 0.5e1 / 0.24e2 * t299 * t355; + const double t370 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t366 ); + const double t373 = t23 * t23; + const double t374 = 0.1e1 / t373; + const double t375 = t136 * t136; + const double t378 = t132 * t6; + const double t379 = 0.1e1 / t378; + const double t380 = t16 * t379; + const double t383 = piecewise_functor_5( t10, 0.0, t14, 0.0, -0.2e1 * t133 + 0.2e1 * t380 ); + const double t387 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t374 * t375 + 0.4e1 / 0.3e1 * t23 * t383 ); + const double t388 = t387 * t26; + const double t392 = t139 * t145; + const double t394 = t5 * t392 * t80; + const double t400 = 0.1e1 / t144 / t6; + const double t401 = t25 * t400; + const double t404 = t5 * t401 * t80 / 0.12e2; + const double t406 = t5 * t146 * t206; + const double t408 = t150 * t47; + const double t409 = 0.1e1 / t408; + const double t410 = t29 * t409; + const double t414 = t410 * t413; + const double t420 = sigma_aa * sigma_aa; + const double t421 = t39 * t39; + const double t424 = 0.1e1 / t40 / t421 / t155; + const double t425 = t420 * t424; + const double t426 = t419 * t425; + const double t429 = t150 * t150; + const double t430 = 0.1e1 / t429; + const double t431 = t51 * t430; + const double t432 = t431 * t413; + const double t438 = t418 * t420; + const double t439 = t424 * t65; + const double t445 = t65 * t65; + const double t446 = t424 * t445; + const double t451 = 0.1e1 / t41 / t421; + const double t452 = sigma_aa * t451; + const double t456 = t451 * t65; + const double t460 = t409 * t411; + const double t461 = t162 * t460; + const double t463 = t436 * t438 * t424; + const double t466 = t54 * t49; + const double t467 = t430 * t411; + const double t468 = t466 * t467; + const double t471 = t170 * t460; + const double t474 = t57 * t52; + const double t475 = t474 * t467; + const double t478 = t174 * t460; + const double t481 = t60 * t55; + const double t482 = t481 * t467; + const double t485 = t178 * t460; + const double t488 = t188 * t413; + const double t490 = t419 * t425 * t65; + const double t493 = -0.2e1 / 0.81e2 * t414 * t426 + 0.2e1 / 0.81e2 * t432 * t426 - t437 * t438 * t439 / 0.81e2 + 0.2e1 / 0.81e2 * t444 * t438 * t446 + 0.11e2 / 0.27e2 * t153 * t154 * t452 + 0.11e2 / 0.27e2 * t183 * t38 * t456 - 0.4e1 / 0.81e2 * t461 * t463 + 0.2e1 / 0.27e2 * t468 * t463 - 0.2e1 / 0.27e2 * t471 * t463 + 0.4e1 / 0.27e2 * t475 * t463 - 0.8e1 / 0.81e2 * t478 * t463 + 0.2e2 / 0.81e2 * t482 * t463 - 0.1e2 / 0.81e2 * t485 * t463 - 0.2e1 / 0.81e2 * t488 * t490; + const double t494 = t71 * t66; + const double t495 = t494 * t413; + const double t497 = t419 * t425 * t445; + const double t500 = t194 * t413; + const double t503 = t74 * t69; + const double t504 = t503 * t413; + const double t507 = t198 * t413; + const double t510 = t77 * t72; + const double t511 = t510 * t413; + const double t514 = t202 * t413; + const double t518 = t165 * t38 * t451; + const double t528 = t154 * t452 * t65; + const double t537 = 0.2e1 / 0.27e2 * t495 * t497 - t500 * t490 / 0.27e2 + 0.4e1 / 0.27e2 * t504 * t497 - 0.4e1 / 0.81e2 * t507 * t490 + 0.2e2 / 0.81e2 * t511 * t497 - 0.5e1 / 0.81e2 * t514 * t490 + 0.22e2 / 0.27e2 * t164 * t518 + 0.11e2 / 0.9e1 * t171 * t518 + 0.44e2 / 0.27e2 * t175 * t518 + 0.55e2 / 0.27e2 * t179 * t518 + 0.22e2 / 0.27e2 * t189 * t528 + 0.11e2 / 0.9e1 * t195 * t528 + 0.44e2 / 0.27e2 * t199 * t528 + 0.55e2 / 0.27e2 * t203 * t528; + const double t538 = t493 + t537; + const double t543 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t388 * t80 - t394 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t140 * t206 + t404 - t406 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t27 * t538 ); + const double t544 = t91 * t91; + const double t545 = 0.1e1 / t544; + const double t546 = t214 * t214; + const double t549 = t86 * t379; + const double t552 = piecewise_functor_5( t14, 0.0, t10, 0.0, 0.2e1 * t133 + 0.2e1 * t549 ); + const double t556 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t545 * t546 + 0.4e1 / 0.3e1 * t91 * t552 ); + const double t557 = t556 * t26; + const double t561 = t217 * t145; + const double t563 = t5 * t561 * t127; + const double t565 = t93 * t400; + const double t568 = t5 * t565 * t127 / 0.12e2; + const double t570 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t557 * t127 - t563 / 0.4e1 + t568 ); + const double t586 = t234 * t145; + const double t588 = t5 * t586 * t80; + const double t610 = t245 * t145; + const double t612 = t5 * t610 * t127; + const double t619 = t5 * t222 * t302; + const double t627 = t231 * t231; + const double t632 = piecewise_functor_5( t10, 0.0, t14, 0.0, 0.2e1 * t133 + 0.2e1 * t380 ); + const double t636 = piecewise_functor_3( t20, 0.0, 0.4e1 / 0.9e1 * t374 * t627 + 0.4e1 / 0.3e1 * t23 * t632 ); + const double t637 = t636 * t26; + const double t643 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t637 * t80 - t588 / 0.4e1 + t404 ); + const double t644 = t242 * t242; + const double t649 = piecewise_functor_5( t14, 0.0, t10, 0.0, -0.2e1 * t133 + 0.2e1 * t549 ); + const double t653 = piecewise_functor_3( t90, 0.0, 0.4e1 / 0.9e1 * t545 * t644 + 0.4e1 / 0.3e1 * t91 * t649 ); + const double t654 = t653 * t26; + const double t663 = t250 * t104; + const double t664 = 0.1e1 / t663; + const double t665 = t29 * t664; + const double t666 = t665 * t413; + const double t667 = sigma_bb * sigma_bb; + const double t668 = t96 * t96; + const double t671 = 0.1e1 / t97 / t668 / t254; + const double t672 = t667 * t671; + const double t673 = t419 * t672; + const double t676 = t250 * t250; + const double t677 = 0.1e1 / t676; + const double t678 = t51 * t677; + const double t679 = t678 * t413; + const double t682 = t418 * t667; + const double t683 = t671 * t116; + const double t687 = t116 * t116; + const double t688 = t671 * t687; + const double t693 = 0.1e1 / t98 / t668; + const double t694 = sigma_bb * t693; + const double t698 = t693 * t116; + const double t703 = t165 * t95 * t693; + const double t713 = t154 * t694 * t116; + const double t722 = -0.2e1 / 0.81e2 * t666 * t673 + 0.2e1 / 0.81e2 * t679 * t673 - t437 * t682 * t683 / 0.81e2 + 0.2e1 / 0.81e2 * t444 * t682 * t688 + 0.11e2 / 0.27e2 * t253 * t154 * t694 + 0.11e2 / 0.27e2 * t183 * t95 * t698 + 0.22e2 / 0.27e2 * t263 * t703 + 0.11e2 / 0.9e1 * t269 * t703 + 0.44e2 / 0.27e2 * t273 * t703 + 0.55e2 / 0.27e2 * t277 * t703 + 0.22e2 / 0.27e2 * t285 * t713 + 0.11e2 / 0.9e1 * t291 * t713 + 0.44e2 / 0.27e2 * t295 * t713 + 0.55e2 / 0.27e2 * t299 * t713; + const double t723 = t664 * t411; + const double t724 = t261 * t723; + const double t726 = t436 * t682 * t671; + const double t729 = t54 * t106; + const double t730 = t677 * t411; + const double t731 = t729 * t730; + const double t734 = t268 * t723; + const double t737 = t57 * t108; + const double t738 = t737 * t730; + const double t741 = t272 * t723; + const double t744 = t60 * t110; + const double t745 = t744 * t730; + const double t748 = t276 * t723; + const double t751 = t284 * t413; + const double t753 = t419 * t672 * t116; + const double t756 = t71 * t117; + const double t757 = t756 * t413; + const double t759 = t419 * t672 * t687; + const double t762 = t290 * t413; + const double t765 = t74 * t119; + const double t766 = t765 * t413; + const double t769 = t294 * t413; + const double t772 = t77 * t121; + const double t773 = t772 * t413; + const double t776 = t298 * t413; + const double t779 = -0.4e1 / 0.81e2 * t724 * t726 + 0.2e1 / 0.27e2 * t731 * t726 - 0.2e1 / 0.27e2 * t734 * t726 + 0.4e1 / 0.27e2 * t738 * t726 - 0.8e1 / 0.81e2 * t741 * t726 + 0.2e2 / 0.81e2 * t745 * t726 - 0.1e2 / 0.81e2 * t748 * t726 - 0.2e1 / 0.81e2 * t751 * t753 + 0.2e1 / 0.27e2 * t757 * t759 - t762 * t753 / 0.27e2 + 0.4e1 / 0.27e2 * t766 * t759 - 0.4e1 / 0.81e2 * t769 * t753 + 0.2e2 / 0.81e2 * t773 * t759 - 0.5e1 / 0.81e2 * t776 * t753; + const double t780 = t722 + t779; + const double t785 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t654 * t127 - t612 / 0.4e1 - 0.3e1 / 0.4e1 * t5 * t246 * t302 + t568 - t619 / 0.4e1 - 0.3e1 / 0.8e1 * t5 * t94 * t780 ); + const double t793 = t5 * t146 * t336 / 0.8e1; + const double t794 = t421 * t39; + const double t796 = 0.1e1 / t40 / t794; + const double t797 = sigma_aa * t796; + const double t798 = t419 * t797; + const double t801 = t418 * t796; + const double t802 = sigma_aa * t65; + const double t806 = t418 * sigma_aa; + const double t807 = t796 * t445; + const double t812 = t165 * t37 * t157; + const double t821 = t154 * t184; + const double t836 = -t432 * t798 / 0.108e3 + t437 * t801 * t802 / 0.216e3 - t444 * t806 * t807 / 0.108e3 - 0.2e1 / 0.9e1 * t164 * t812 - t171 * t812 / 0.3e1 - 0.4e1 / 0.9e1 * t175 * t812 - 0.5e1 / 0.9e1 * t179 * t812 - 0.2e1 / 0.9e1 * t189 * t821 - t195 * t821 / 0.3e1 - 0.4e1 / 0.9e1 * t199 * t821 - 0.5e1 / 0.9e1 * t203 * t821 + t414 * t798 / 0.108e3 - t323 * t821 / 0.9e1 - t310 * t812 / 0.9e1; + const double t838 = t436 * t801 * sigma_aa; + const double t846 = t419 * t797 * t65; + const double t850 = t419 * t807 * sigma_aa; + const double t871 = t478 * t838 / 0.27e2 - 0.5e1 / 0.54e2 * t482 * t838 + 0.5e1 / 0.108e3 * t485 * t838 + t488 * t846 / 0.108e3 - t495 * t850 / 0.36e2 + t500 * t846 / 0.72e2 - t504 * t850 / 0.18e2 + t507 * t846 / 0.54e2 - 0.5e1 / 0.54e2 * t511 * t850 + 0.5e1 / 0.216e3 * t514 * t846 + t461 * t838 / 0.54e2 - t468 * t838 / 0.36e2 + t471 * t838 / 0.36e2 - t475 * t838 / 0.18e2; + const double t872 = t836 + t871; + const double t877 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t140 * t336 - t793 - 0.3e1 / 0.8e1 * t5 * t27 * t872 ); + const double t884 = t5 * t222 * t366 / 0.8e1; + const double t897 = t668 * t96; + const double t899 = 0.1e1 / t97 / t897; + const double t900 = t899 * sigma_bb; + const double t902 = t419 * t900 * t116; + const double t905 = t899 * t687; + const double t907 = t419 * t905 * sigma_bb; + const double t920 = t418 * t899; + const double t922 = t436 * t920 * sigma_bb; + const double t937 = t751 * t902 / 0.108e3 - t757 * t907 / 0.36e2 + t762 * t902 / 0.72e2 - t766 * t907 / 0.18e2 + t769 * t902 / 0.54e2 - 0.5e1 / 0.54e2 * t773 * t907 + 0.5e1 / 0.216e3 * t776 * t902 + t724 * t922 / 0.54e2 - t731 * t922 / 0.36e2 + t734 * t922 / 0.36e2 - t738 * t922 / 0.18e2 + t741 * t922 / 0.27e2 - 0.5e1 / 0.54e2 * t745 * t922 + 0.5e1 / 0.108e3 * t748 * t922; + const double t938 = t154 * t280; + const double t942 = t165 * t37 * t256; + const double t945 = sigma_bb * t116; + const double t949 = t418 * sigma_bb; + const double t953 = t419 * t900; + const double t974 = -t323 * t938 / 0.9e1 - t341 * t942 / 0.9e1 + t437 * t920 * t945 / 0.216e3 - t444 * t949 * t905 / 0.108e3 + t666 * t953 / 0.108e3 - t679 * t953 / 0.108e3 - 0.2e1 / 0.9e1 * t263 * t942 - t269 * t942 / 0.3e1 - 0.4e1 / 0.9e1 * t273 * t942 - 0.5e1 / 0.9e1 * t277 * t942 - 0.2e1 / 0.9e1 * t285 * t938 - t291 * t938 / 0.3e1 - 0.4e1 / 0.9e1 * t295 * t938 - 0.5e1 / 0.9e1 * t299 * t938; + const double t975 = t937 + t974; + const double t980 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t246 * t366 - t884 - 0.3e1 / 0.8e1 * t5 * t94 * t975 ); + const double t982 = t410 * t411; + const double t983 = t421 * rho_a; + const double t985 = 0.1e1 / t40 / t983; + const double t987 = t436 * t418 * t985; + const double t990 = t431 * t411; + const double t1009 = t419 * t985 * t65; + const double t1014 = t419 * t985 * t445; + const double t1031 = -t982 * t987 / 0.288e3 + t990 * t987 / 0.288e3 - t461 * t987 / 0.144e3 + t468 * t987 / 0.96e2 - t471 * t987 / 0.96e2 + t475 * t987 / 0.48e2 - t478 * t987 / 0.72e2 + 0.5e1 / 0.144e3 * t482 * t987 - 0.5e1 / 0.288e3 * t485 * t987 - t1007 * t1009 / 0.576e3 + t1012 * t1014 / 0.288e3 - t488 * t1009 / 0.288e3 + t495 * t1014 / 0.96e2 - t500 * t1009 / 0.192e3 + t504 * t1014 / 0.48e2 - t507 * t1009 / 0.144e3 + 0.5e1 / 0.144e3 * t511 * t1014 - 0.5e1 / 0.576e3 * t514 * t1009; + const double t1035 = piecewise_functor_3( t1, 0.0, -0.3e1 / 0.8e1 * t5 * t27 * t1031 ); + const double t1036 = t665 * t411; + const double t1037 = t668 * rho_b; + const double t1039 = 0.1e1 / t97 / t1037; + const double t1041 = t436 * t418 * t1039; + const double t1044 = t678 * t411; + const double t1062 = t419 * t1039 * t116; + const double t1066 = t419 * t1039 * t687; + const double t1083 = -t1036 * t1041 / 0.288e3 + t1044 * t1041 / 0.288e3 - t724 * t1041 / 0.144e3 + t731 * t1041 / 0.96e2 - t734 * t1041 / 0.96e2 + t738 * t1041 / 0.48e2 - t741 * t1041 / 0.72e2 + 0.5e1 / 0.144e3 * t745 * t1041 - 0.5e1 / 0.288e3 * t748 * t1041 - t1007 * t1062 / 0.576e3 + t1012 * t1066 / 0.288e3 - t751 * t1062 / 0.288e3 + t757 * t1066 / 0.96e2 - t762 * t1062 / 0.192e3 + t766 * t1066 / 0.48e2 - t769 * t1062 / 0.144e3 + 0.5e1 / 0.144e3 * t773 * t1066 - 0.5e1 / 0.576e3 * t776 * t1062; + const double t1087 = piecewise_functor_3( t85, 0.0, -0.3e1 / 0.8e1 * t5 * t94 * t1083 ); + + + vrho_a = t84 + t131 + t6 * ( t211 + t227 ); + vrho_b = t84 + t131 + t6 * ( t240 + t307 ); + vsigma_aa = t6 * t340; + vsigma_ab = 0.e0; + vsigma_bb = t6 * t370; + v2rho2_aa = 0.2e1 * t211 + 0.2e1 * t227 + t6 * ( t543 + t570 ); + v2rho2_bb = 0.2e1 * t240 + 0.2e1 * t307 + t6 * ( t643 + t785 ); + v2rhosigma_a_aa = t6 * t877 + t340; + v2rhosigma_b_bb = t6 * t980 + t370; + v2sigma2_aa_aa = t6 * t1035; + v2sigma2_bb_bb = t6 * t1087; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinSOGGA11_X_X : detail::BuiltinKernelImpl< BuiltinSOGGA11_X_X > { + + BuiltinSOGGA11_X_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinSOGGA11_X_X >(p) { } + + virtual ~BuiltinSOGGA11_X_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/tpss_c.hpp b/include/exchcxx/impl/builtin/kernels/tpss_c.hpp new file mode 100644 index 0000000..61891bb --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/tpss_c.hpp @@ -0,0 +1,12548 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinTPSS_C > : + public mgga_screening_interface< BuiltinTPSS_C > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double beta = 0.06672455060314922; + static constexpr double d = 2.8; + static constexpr double C0_c_0 = 0.53; + static constexpr double C0_c_1 = 0.87; + static constexpr double C0_c_2 = 0.50; + static constexpr double C0_c_3 = 2.26; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t170 = 0.1e1 / t77; + constexpr double t171 = t170 * t79; + constexpr double t197 = 0.1e1 / t92; + constexpr double t198 = t41 * t197; + constexpr double t199 = t198 * t80; + constexpr double t219 = t78 * t80; + constexpr double t232 = t93 * t79; + constexpr double t312 = t80 * t16; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 / t20 / t19; + const double t166 = sigma * t165; + const double t167 = t166 * t16; + const double t168 = 0.1e1 / t162; + const double t172 = t168 * t91 * t171; + const double t175 = 0.1e1 / t152; + const double t176 = beta * t175; + const double t177 = 0.19751673498613801407e-1 * t149; + const double t180 = 0.1e1 / t163; + const double t183 = safe_math::exp( -( -t130 + t146 + t177 ) * t175 * t42 * t180 ); + const double t184 = t183 - 0.1e1; + const double t185 = 0.1e1 / t184; + const double t186 = t42 * t185; + const double t187 = sigma * sigma; + const double t189 = t176 * t186 * t187; + const double t190 = t19 * t19; + const double t192 = 0.1e1 / t21 / t190; + const double t193 = t192 * t17; + const double t194 = t162 * t162; + const double t195 = 0.1e1 / t194; + const double t196 = t193 * t195; + const double t200 = t196 * t199; + const double t203 = t167 * t172 / 0.96e2 + t189 * t200 / 0.3072e4; + const double t204 = beta * t203; + const double t205 = t175 * t42; + const double t208 = t176 * t186 * t203 + 0.1e1; + const double t209 = 0.1e1 / t208; + const double t210 = t205 * t209; + const double t212 = t204 * t210 + 0.1e1; + const double t213 = safe_math::log( t212 ); + const double t215 = t154 * t163 * t213; + const double t217 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t215 / 0.2e1; + const double t218 = -t130 + t146 + t177 + t215; + const double t220 = t81 * t16; + const double t221 = 0.1e1 / t24; + const double t222 = safe_math::cbrt( t221 ); + const double t224 = t219 * t220 * t222; + const double t226 = 0.1e1 + 0.53425e-1 * t224; + const double t227 = safe_math::sqrt( t224 ); + const double t230 = pow_3_2( t224 ); + const double t233 = t94 * t17; + const double t234 = t222 * t222; + const double t236 = t232 * t233 * t234; + const double t238 = 0.379785e1 * t227 + 0.8969e0 * t224 + 0.204775e0 * t230 + 0.123235e0 * t236; + const double t241 = 0.1e1 + 0.16081979498692535067e2 / t238; + const double t242 = safe_math::log( t241 ); + const double t244 = 0.621814e-1 * t226 * t242; + const double t245 = 0.2e1 <= zeta_tol; + const double t247 = piecewise_functor_3( t245, t108, 0.2e1 * t16 ); + const double t248 = 0.e0 <= zeta_tol; + const double t249 = piecewise_functor_3( t248, t108, 0.0 ); + const double t251 = ( t247 + t249 - 0.2e1 ) * t116; + const double t253 = 0.1e1 + 0.5137e-1 * t224; + const double t258 = 0.705945e1 * t227 + 0.1549425e1 * t224 + 0.420775e0 * t230 + 0.1562925e0 * t236; + const double t261 = 0.1e1 + 0.32163958997385070134e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t266 = 0.1e1 + 0.278125e-1 * t224; + const double t271 = 0.51785e1 * t227 + 0.905775e0 * t224 + 0.1100325e0 * t230 + 0.1241775e0 * t236; + const double t274 = 0.1e1 + 0.29608749977793437516e2 / t271; + const double t275 = safe_math::log( t274 ); + const double t276 = t266 * t275; + const double t279 = t251 * ( -0.310907e-1 * t253 * t262 + t244 - 0.19751673498613801407e-1 * t276 ); + const double t281 = 0.19751673498613801407e-1 * t251 * t276; + const double t282 = piecewise_functor_3( t245, t155, t17 ); + const double t283 = piecewise_functor_3( t248, t155, 0.0 ); + const double t285 = t282 / 0.2e1 + t283 / 0.2e1; + const double t286 = t285 * t285; + const double t287 = t286 * t285; + const double t288 = 0.1e1 / t286; + const double t289 = t288 * t91; + const double t290 = t166 * t289; + const double t293 = t171 * t17 / t222; + const double t296 = t176 * t42; + const double t299 = 0.1e1 / t287; + const double t300 = t42 * t299; + const double t302 = safe_math::exp( -( -t244 + t279 + t281 ) * t175 * t300 ); + const double t303 = t302 - 0.1e1; + const double t304 = 0.1e1 / t303; + const double t305 = t304 * t187; + const double t308 = t286 * t286; + const double t309 = 0.1e1 / t308; + const double t310 = t309 * t41; + const double t311 = t310 * t197; + const double t313 = 0.1e1 / t234; + const double t315 = t311 * t312 * t313; + const double t318 = t290 * t293 / 0.96e2 + t296 * t305 * t192 * t315 / 0.1536e4; + const double t319 = beta * t318; + const double t320 = t42 * t304; + const double t323 = t176 * t320 * t318 + 0.1e1; + const double t324 = 0.1e1 / t323; + const double t325 = t205 * t324; + const double t327 = t319 * t325 + 0.1e1; + const double t328 = safe_math::log( t327 ); + const double t331 = t154 * t287 * t328 - t244 + t279 + t281; + const double t332 = t218 < t331; + const double t333 = piecewise_functor_3( t332, t331, t218 ); + const double t336 = piecewise_functor_3( t75, t217, t333 * t24 / 0.2e1 ); + const double t337 = 0.1e1 / t31; + const double t338 = safe_math::cbrt( t337 ); + const double t340 = t219 * t220 * t338; + const double t342 = 0.1e1 + 0.53425e-1 * t340; + const double t343 = safe_math::sqrt( t340 ); + const double t346 = pow_3_2( t340 ); + const double t348 = t338 * t338; + const double t350 = t232 * t233 * t348; + const double t352 = 0.379785e1 * t343 + 0.8969e0 * t340 + 0.204775e0 * t346 + 0.123235e0 * t350; + const double t355 = 0.1e1 + 0.16081979498692535067e2 / t352; + const double t356 = safe_math::log( t355 ); + const double t358 = 0.621814e-1 * t342 * t356; + const double t360 = 0.1e1 + 0.5137e-1 * t340; + const double t365 = 0.705945e1 * t343 + 0.1549425e1 * t340 + 0.420775e0 * t346 + 0.1562925e0 * t350; + const double t368 = 0.1e1 + 0.32163958997385070134e2 / t365; + const double t369 = safe_math::log( t368 ); + const double t373 = 0.1e1 + 0.278125e-1 * t340; + const double t378 = 0.51785e1 * t343 + 0.905775e0 * t340 + 0.1100325e0 * t346 + 0.1241775e0 * t350; + const double t381 = 0.1e1 + 0.29608749977793437516e2 / t378; + const double t382 = safe_math::log( t381 ); + const double t383 = t373 * t382; + const double t386 = t251 * ( -0.310907e-1 * t360 * t369 + t358 - 0.19751673498613801407e-1 * t383 ); + const double t388 = 0.19751673498613801407e-1 * t251 * t383; + const double t391 = t171 * t17 / t338; + const double t397 = safe_math::exp( -( -t358 + t386 + t388 ) * t175 * t300 ); + const double t398 = t397 - 0.1e1; + const double t399 = 0.1e1 / t398; + const double t400 = t399 * t187; + const double t403 = 0.1e1 / t348; + const double t405 = t311 * t312 * t403; + const double t408 = t290 * t391 / 0.96e2 + t296 * t400 * t192 * t405 / 0.1536e4; + const double t409 = beta * t408; + const double t410 = t42 * t399; + const double t413 = t176 * t410 * t408 + 0.1e1; + const double t414 = 0.1e1 / t413; + const double t415 = t205 * t414; + const double t417 = t409 * t415 + 0.1e1; + const double t418 = safe_math::log( t417 ); + const double t421 = t154 * t287 * t418 - t358 + t386 + t388; + const double t422 = t218 < t421; + const double t423 = piecewise_functor_3( t422, t421, t218 ); + const double t426 = piecewise_functor_3( t75, t217, t423 * t31 / 0.2e1 ); + const double t427 = t336 + t426; + const double t430 = t62 * t71 + 0.1e1; + const double t431 = piecewise_functor_3( t10, t108, 1.0 ); + const double t434 = ( 0.2e1 * t431 - 0.2e1 ) * t116; + const double t436 = 0.19751673498613801407e-1 * t434 * t142; + const double t437 = piecewise_functor_3( t10, t155, 1.0 ); + const double t438 = t437 * t437; + const double t439 = t438 * t437; + const double t440 = 0.1e1 / t438; + const double t442 = t440 * t91 * t171; + const double t447 = 0.1e1 / t439; + const double t450 = safe_math::exp( -( -t130 + t436 ) * t175 * t42 * t447 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = t42 * t452; + const double t455 = t176 * t453 * t187; + const double t456 = t438 * t438; + const double t457 = 0.1e1 / t456; + const double t458 = t193 * t457; + const double t459 = t458 * t199; + const double t462 = t167 * t442 / 0.96e2 + t455 * t459 / 0.3072e4; + const double t463 = beta * t462; + const double t466 = t176 * t453 * t462 + 0.1e1; + const double t467 = 0.1e1 / t466; + const double t468 = t205 * t467; + const double t470 = t463 * t468 + 0.1e1; + const double t471 = safe_math::log( t470 ); + const double t474 = t154 * t439 * t471 - t130 + t436; + const double t476 = -t72 * t427 + t430 * t474; + const double t477 = d * t476; + const double t478 = t71 * t70; + const double t480 = t477 * t478 + 0.1e1; + + + eps = t476 * t480; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t170 = 0.1e1 / t77; + constexpr double t171 = t170 * t79; + constexpr double t197 = 0.1e1 / t92; + constexpr double t198 = t41 * t197; + constexpr double t199 = t198 * t80; + constexpr double t219 = t78 * t80; + constexpr double t232 = t93 * t79; + constexpr double t312 = t80 * t16; + constexpr double t523 = t77 * t80; + constexpr double t598 = t42 * t42; + constexpr double t609 = t197 * t80; + constexpr double t987 = t91 * t170 * t79; + constexpr double t997 = beta * beta; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 / t20 / t19; + const double t166 = sigma * t165; + const double t167 = t166 * t16; + const double t168 = 0.1e1 / t162; + const double t172 = t168 * t91 * t171; + const double t175 = 0.1e1 / t152; + const double t176 = beta * t175; + const double t177 = 0.19751673498613801407e-1 * t149; + const double t180 = 0.1e1 / t163; + const double t183 = safe_math::exp( -( -t130 + t146 + t177 ) * t175 * t42 * t180 ); + const double t184 = t183 - 0.1e1; + const double t185 = 0.1e1 / t184; + const double t186 = t42 * t185; + const double t187 = sigma * sigma; + const double t189 = t176 * t186 * t187; + const double t190 = t19 * t19; + const double t192 = 0.1e1 / t21 / t190; + const double t193 = t192 * t17; + const double t194 = t162 * t162; + const double t195 = 0.1e1 / t194; + const double t196 = t193 * t195; + const double t200 = t196 * t199; + const double t203 = t167 * t172 / 0.96e2 + t189 * t200 / 0.3072e4; + const double t204 = beta * t203; + const double t205 = t175 * t42; + const double t208 = t176 * t186 * t203 + 0.1e1; + const double t209 = 0.1e1 / t208; + const double t210 = t205 * t209; + const double t212 = t204 * t210 + 0.1e1; + const double t213 = safe_math::log( t212 ); + const double t215 = t154 * t163 * t213; + const double t217 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t215 / 0.2e1; + const double t218 = -t130 + t146 + t177 + t215; + const double t220 = t81 * t16; + const double t221 = 0.1e1 / t24; + const double t222 = safe_math::cbrt( t221 ); + const double t224 = t219 * t220 * t222; + const double t226 = 0.1e1 + 0.53425e-1 * t224; + const double t227 = safe_math::sqrt( t224 ); + const double t230 = pow_3_2( t224 ); + const double t233 = t94 * t17; + const double t234 = t222 * t222; + const double t236 = t232 * t233 * t234; + const double t238 = 0.379785e1 * t227 + 0.8969e0 * t224 + 0.204775e0 * t230 + 0.123235e0 * t236; + const double t241 = 0.1e1 + 0.16081979498692535067e2 / t238; + const double t242 = safe_math::log( t241 ); + const double t244 = 0.621814e-1 * t226 * t242; + const double t245 = 0.2e1 <= zeta_tol; + const double t247 = piecewise_functor_3( t245, t108, 0.2e1 * t16 ); + const double t248 = 0.e0 <= zeta_tol; + const double t249 = piecewise_functor_3( t248, t108, 0.0 ); + const double t251 = ( t247 + t249 - 0.2e1 ) * t116; + const double t253 = 0.1e1 + 0.5137e-1 * t224; + const double t258 = 0.705945e1 * t227 + 0.1549425e1 * t224 + 0.420775e0 * t230 + 0.1562925e0 * t236; + const double t261 = 0.1e1 + 0.32163958997385070134e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t266 = 0.1e1 + 0.278125e-1 * t224; + const double t271 = 0.51785e1 * t227 + 0.905775e0 * t224 + 0.1100325e0 * t230 + 0.1241775e0 * t236; + const double t274 = 0.1e1 + 0.29608749977793437516e2 / t271; + const double t275 = safe_math::log( t274 ); + const double t276 = t266 * t275; + const double t279 = t251 * ( -0.310907e-1 * t253 * t262 + t244 - 0.19751673498613801407e-1 * t276 ); + const double t281 = 0.19751673498613801407e-1 * t251 * t276; + const double t282 = piecewise_functor_3( t245, t155, t17 ); + const double t283 = piecewise_functor_3( t248, t155, 0.0 ); + const double t285 = t282 / 0.2e1 + t283 / 0.2e1; + const double t286 = t285 * t285; + const double t287 = t286 * t285; + const double t288 = 0.1e1 / t286; + const double t289 = t288 * t91; + const double t290 = t166 * t289; + const double t293 = t171 * t17 / t222; + const double t296 = t176 * t42; + const double t299 = 0.1e1 / t287; + const double t300 = t42 * t299; + const double t302 = safe_math::exp( -( -t244 + t279 + t281 ) * t175 * t300 ); + const double t303 = t302 - 0.1e1; + const double t304 = 0.1e1 / t303; + const double t305 = t304 * t187; + const double t308 = t286 * t286; + const double t309 = 0.1e1 / t308; + const double t310 = t309 * t41; + const double t311 = t310 * t197; + const double t313 = 0.1e1 / t234; + const double t315 = t311 * t312 * t313; + const double t318 = t290 * t293 / 0.96e2 + t296 * t305 * t192 * t315 / 0.1536e4; + const double t319 = beta * t318; + const double t320 = t42 * t304; + const double t323 = t176 * t320 * t318 + 0.1e1; + const double t324 = 0.1e1 / t323; + const double t325 = t205 * t324; + const double t327 = t319 * t325 + 0.1e1; + const double t328 = safe_math::log( t327 ); + const double t331 = t154 * t287 * t328 - t244 + t279 + t281; + const double t332 = t218 < t331; + const double t333 = piecewise_functor_3( t332, t331, t218 ); + const double t336 = piecewise_functor_3( t75, t217, t333 * t24 / 0.2e1 ); + const double t337 = 0.1e1 / t31; + const double t338 = safe_math::cbrt( t337 ); + const double t340 = t219 * t220 * t338; + const double t342 = 0.1e1 + 0.53425e-1 * t340; + const double t343 = safe_math::sqrt( t340 ); + const double t346 = pow_3_2( t340 ); + const double t348 = t338 * t338; + const double t350 = t232 * t233 * t348; + const double t352 = 0.379785e1 * t343 + 0.8969e0 * t340 + 0.204775e0 * t346 + 0.123235e0 * t350; + const double t355 = 0.1e1 + 0.16081979498692535067e2 / t352; + const double t356 = safe_math::log( t355 ); + const double t358 = 0.621814e-1 * t342 * t356; + const double t360 = 0.1e1 + 0.5137e-1 * t340; + const double t365 = 0.705945e1 * t343 + 0.1549425e1 * t340 + 0.420775e0 * t346 + 0.1562925e0 * t350; + const double t368 = 0.1e1 + 0.32163958997385070134e2 / t365; + const double t369 = safe_math::log( t368 ); + const double t373 = 0.1e1 + 0.278125e-1 * t340; + const double t378 = 0.51785e1 * t343 + 0.905775e0 * t340 + 0.1100325e0 * t346 + 0.1241775e0 * t350; + const double t381 = 0.1e1 + 0.29608749977793437516e2 / t378; + const double t382 = safe_math::log( t381 ); + const double t383 = t373 * t382; + const double t386 = t251 * ( -0.310907e-1 * t360 * t369 + t358 - 0.19751673498613801407e-1 * t383 ); + const double t388 = 0.19751673498613801407e-1 * t251 * t383; + const double t391 = t171 * t17 / t338; + const double t397 = safe_math::exp( -( -t358 + t386 + t388 ) * t175 * t300 ); + const double t398 = t397 - 0.1e1; + const double t399 = 0.1e1 / t398; + const double t400 = t399 * t187; + const double t403 = 0.1e1 / t348; + const double t405 = t311 * t312 * t403; + const double t408 = t290 * t391 / 0.96e2 + t296 * t400 * t192 * t405 / 0.1536e4; + const double t409 = beta * t408; + const double t410 = t42 * t399; + const double t413 = t176 * t410 * t408 + 0.1e1; + const double t414 = 0.1e1 / t413; + const double t415 = t205 * t414; + const double t417 = t409 * t415 + 0.1e1; + const double t418 = safe_math::log( t417 ); + const double t421 = t154 * t287 * t418 - t358 + t386 + t388; + const double t422 = t218 < t421; + const double t423 = piecewise_functor_3( t422, t421, t218 ); + const double t426 = piecewise_functor_3( t75, t217, t423 * t31 / 0.2e1 ); + const double t427 = t336 + t426; + const double t430 = t62 * t71 + 0.1e1; + const double t431 = piecewise_functor_3( t10, t108, 1.0 ); + const double t434 = ( 0.2e1 * t431 - 0.2e1 ) * t116; + const double t436 = 0.19751673498613801407e-1 * t434 * t142; + const double t437 = piecewise_functor_3( t10, t155, 1.0 ); + const double t438 = t437 * t437; + const double t439 = t438 * t437; + const double t440 = 0.1e1 / t438; + const double t442 = t440 * t91 * t171; + const double t447 = 0.1e1 / t439; + const double t450 = safe_math::exp( -( -t130 + t436 ) * t175 * t42 * t447 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = t42 * t452; + const double t455 = t176 * t453 * t187; + const double t456 = t438 * t438; + const double t457 = 0.1e1 / t456; + const double t458 = t193 * t457; + const double t459 = t458 * t199; + const double t462 = t167 * t442 / 0.96e2 + t455 * t459 / 0.3072e4; + const double t463 = beta * t462; + const double t466 = t176 * t453 * t462 + 0.1e1; + const double t467 = 0.1e1 / t466; + const double t468 = t205 * t467; + const double t470 = t463 * t468 + 0.1e1; + const double t471 = safe_math::log( t470 ); + const double t474 = t154 * t439 * t471 - t130 + t436; + const double t476 = -t72 * t427 + t430 * t474; + const double t477 = d * t476; + const double t478 = t71 * t70; + const double t480 = t477 * t478 + 0.1e1; + const double t484 = t5 / t59 / t57 * t15; + const double t485 = t19 * rho; + const double t487 = 0.1e1 / t21 / t485; + const double t494 = -0.8e1 / 0.3e1 * t18 * t487 * t28 - 0.8e1 / 0.3e1 * t18 * t487 * t35 + 0.8e1 / 0.3e1 * sigma * t487; + const double t495 = t494 * t41; + const double t496 = t45 * t53; + const double t500 = piecewise_functor_3( t4, 0.0, -t484 * t495 * t496 / 0.6e1 ); + const double t501 = t500 * t71; + const double t503 = t63 * t70; + const double t504 = 0.1e1 / t19; + const double t505 = sigma * t504; + const double t508 = piecewise_functor_3( t69, 0.0, -t505 * t66 / 0.8e1 ); + const double t509 = t427 * t508; + const double t513 = 0.1e1 / t20 / rho; + const double t514 = t80 * t513; + const double t516 = t78 * t514 * t102; + const double t518 = t98 * t98; + const double t519 = 0.1e1 / t518; + const double t520 = t85 * t519; + const double t522 = 0.1e1 / t86 * t41; + const double t524 = t523 * t513; + const double t525 = t522 * t524; + const double t527 = t78 * t514; + const double t529 = safe_math::sqrt( t83 ); + const double t530 = t529 * t41; + const double t531 = t530 * t524; + const double t534 = 0.1e1 / t21 / rho; + const double t536 = t93 * t79 * t534; + const double t538 = -0.632975e0 * t525 - 0.29896666666666666667e0 * t527 - 0.1023875e0 * t531 - 0.82156666666666666667e-1 * t536; + const double t539 = 0.1e1 / t101; + const double t540 = t538 * t539; + const double t541 = t520 * t540; + const double t546 = t123 * t123; + const double t547 = 0.1e1 / t546; + const double t548 = t118 * t547; + const double t553 = -0.1176575e1 * t525 - 0.516475e0 * t527 - 0.2103875e0 * t531 - 0.104195e0 * t536; + const double t554 = 0.1e1 / t126; + const double t555 = t553 * t554; + const double t558 = 0.11073470983333333333e-2 * t516; + const double t559 = 0.1e1 * t541; + const double t563 = t137 * t137; + const double t564 = 0.1e1 / t563; + const double t565 = t132 * t564; + const double t570 = -0.86308333333333333334e0 * t525 - 0.301925e0 * t527 - 0.5501625e-1 * t531 - 0.82785e-1 * t536; + const double t571 = 0.1e1 / t140; + const double t572 = t570 * t571; + const double t577 = t113 * t116 * ( 0.53237641966666666666e-3 * t78 * t514 * t127 + 0.1e1 * t548 * t555 - t558 - t559 + 0.18311447306006545054e-3 * t78 * t514 * t141 + 0.5848223622634646207e0 * t565 * t572 ); + const double t579 = t148 * t41; + const double t581 = t523 * t513 * t141; + const double t582 = t579 * t581; + const double t584 = t148 * t132; + const double t586 = t564 * t570 * t571; + const double t587 = t584 * t586; + const double t590 = 0.1e1 / t20 / t485; + const double t591 = sigma * t590; + const double t592 = t591 * t16; + const double t595 = t152 * t152; + const double t596 = 0.1e1 / t595; + const double t597 = beta * t596; + const double t599 = t597 * t598; + const double t600 = t184 * t184; + const double t601 = 0.1e1 / t600; + const double t602 = t601 * t187; + const double t603 = t602 * t192; + const double t604 = t599 * t603; + const double t606 = 0.1e1 / t194 / t163; + const double t607 = t17 * t606; + const double t608 = t607 * t41; + const double t610 = 0.18311447306006545054e-3 * t582; + const double t611 = 0.5848223622634646207e0 * t587; + const double t612 = t558 + t559 + t577 - t610 - t611; + const double t613 = t612 * t183; + const double t614 = t609 * t613; + const double t615 = t608 * t614; + const double t618 = t190 * rho; + const double t620 = 0.1e1 / t21 / t618; + const double t621 = t620 * t17; + const double t622 = t621 * t195; + const double t623 = t622 * t199; + const double t626 = -0.7e1 / 0.288e3 * t592 * t172 + t604 * t615 / 0.3072e4 - 0.7e1 / 0.4608e4 * t189 * t623; + const double t627 = beta * t626; + const double t629 = t204 * t175; + const double t630 = t208 * t208; + const double t631 = 0.1e1 / t630; + const double t632 = t42 * t631; + const double t634 = t597 * t598 * t601; + const double t635 = t203 * t612; + const double t636 = t180 * t183; + const double t641 = t176 * t186 * t626 + t634 * t635 * t636; + const double t642 = t632 * t641; + const double t644 = t627 * t210 - t629 * t642; + const double t646 = 0.1e1 / t212; + const double t648 = t154 * t163 * t644 * t646; + const double t650 = 0.55367354916666666666e-3 * t516 + 0.50000000000000000001e0 * t541 + t577 / 0.2e1 - 0.91557236530032725272e-4 * t582 - 0.29241118113173231035e0 * t587 + t648 / 0.2e1; + const double t651 = t513 * t16; + const double t652 = t222 * t242; + const double t655 = 0.11073470983333333333e-2 * t219 * t651 * t652; + const double t656 = t238 * t238; + const double t657 = 0.1e1 / t656; + const double t658 = t226 * t657; + const double t661 = 0.1e1 / t227 * t41 * t77; + const double t662 = t16 * t222; + const double t663 = t514 * t662; + const double t664 = t661 * t663; + const double t666 = t651 * t222; + const double t667 = t219 * t666; + const double t669 = safe_math::sqrt( t224 ); + const double t671 = t669 * t41 * t77; + const double t672 = t671 * t663; + const double t674 = t534 * t17; + const double t676 = t232 * t674 * t234; + const double t678 = -0.632975e0 * t664 - 0.29896666666666666667e0 * t667 - 0.1023875e0 * t672 - 0.82156666666666666667e-1 * t676; + const double t679 = 0.1e1 / t241; + const double t680 = t678 * t679; + const double t682 = 0.1e1 * t658 * t680; + const double t683 = t222 * t262; + const double t687 = t258 * t258; + const double t688 = 0.1e1 / t687; + const double t689 = t253 * t688; + const double t694 = -0.1176575e1 * t664 - 0.516475e0 * t667 - 0.2103875e0 * t672 - 0.104195e0 * t676; + const double t695 = 0.1e1 / t261; + const double t696 = t694 * t695; + const double t699 = t222 * t275; + const double t703 = t271 * t271; + const double t704 = 0.1e1 / t703; + const double t705 = t266 * t704; + const double t710 = -0.86308333333333333334e0 * t664 - 0.301925e0 * t667 - 0.5501625e-1 * t672 - 0.82785e-1 * t676; + const double t711 = 0.1e1 / t274; + const double t712 = t710 * t711; + const double t716 = t251 * ( 0.53237641966666666666e-3 * t219 * t651 * t683 + 0.1e1 * t689 * t696 - t655 - t682 + 0.18311447306006545054e-3 * t219 * t651 * t699 + 0.5848223622634646207e0 * t705 * t712 ); + const double t717 = t251 * t78; + const double t718 = t662 * t275; + const double t721 = 0.18311447306006545054e-3 * t717 * t514 * t718; + const double t722 = t251 * t266; + const double t724 = t704 * t710 * t711; + const double t726 = 0.5848223622634646207e0 * t722 * t724; + const double t727 = t591 * t289; + const double t730 = t303 * t303; + const double t731 = 0.1e1 / t730; + const double t732 = t731 * t187; + const double t734 = 0.1e1 / t308 / t287; + const double t735 = t192 * t734; + const double t737 = t599 * t732 * t735; + const double t738 = t16 * t313; + const double t739 = t655 + t682 + t716 - t721 - t726; + const double t740 = t739 * t302; + const double t741 = t738 * t740; + const double t742 = t199 * t741; + const double t749 = -0.7e1 / 0.288e3 * t727 * t293 + t737 * t742 / 0.1536e4 - 0.7e1 / 0.2304e4 * t296 * t305 * t620 * t315; + const double t750 = beta * t749; + const double t752 = t319 * t175; + const double t753 = t323 * t323; + const double t754 = 0.1e1 / t753; + const double t755 = t42 * t754; + const double t757 = t597 * t598 * t731; + const double t758 = t318 * t739; + const double t759 = t299 * t302; + const double t764 = t176 * t320 * t749 + t757 * t758 * t759; + const double t765 = t755 * t764; + const double t767 = t750 * t325 - t752 * t765; + const double t769 = 0.1e1 / t327; + const double t773 = t558 + t559 + t577 - t610 - t611 + t648; + const double t774 = piecewise_functor_3( t332, t154 * t287 * t767 * t769 + t655 + t682 + t716 - t721 - t726, t773 ); + const double t777 = piecewise_functor_3( t75, t650, t774 * t24 / 0.2e1 ); + const double t778 = t338 * t356; + const double t781 = 0.11073470983333333333e-2 * t219 * t651 * t778; + const double t782 = t352 * t352; + const double t783 = 0.1e1 / t782; + const double t784 = t342 * t783; + const double t787 = 0.1e1 / t343 * t41 * t77; + const double t788 = t16 * t338; + const double t789 = t514 * t788; + const double t790 = t787 * t789; + const double t792 = t651 * t338; + const double t793 = t219 * t792; + const double t795 = safe_math::sqrt( t340 ); + const double t797 = t795 * t41 * t77; + const double t798 = t797 * t789; + const double t801 = t232 * t674 * t348; + const double t803 = -0.632975e0 * t790 - 0.29896666666666666667e0 * t793 - 0.1023875e0 * t798 - 0.82156666666666666667e-1 * t801; + const double t804 = 0.1e1 / t355; + const double t805 = t803 * t804; + const double t807 = 0.1e1 * t784 * t805; + const double t808 = t338 * t369; + const double t812 = t365 * t365; + const double t813 = 0.1e1 / t812; + const double t814 = t360 * t813; + const double t819 = -0.1176575e1 * t790 - 0.516475e0 * t793 - 0.2103875e0 * t798 - 0.104195e0 * t801; + const double t820 = 0.1e1 / t368; + const double t821 = t819 * t820; + const double t824 = t338 * t382; + const double t828 = t378 * t378; + const double t829 = 0.1e1 / t828; + const double t830 = t373 * t829; + const double t835 = -0.86308333333333333334e0 * t790 - 0.301925e0 * t793 - 0.5501625e-1 * t798 - 0.82785e-1 * t801; + const double t836 = 0.1e1 / t381; + const double t837 = t835 * t836; + const double t841 = t251 * ( 0.53237641966666666666e-3 * t219 * t651 * t808 + 0.1e1 * t814 * t821 - t781 - t807 + 0.18311447306006545054e-3 * t219 * t651 * t824 + 0.5848223622634646207e0 * t830 * t837 ); + const double t842 = t788 * t382; + const double t845 = 0.18311447306006545054e-3 * t717 * t514 * t842; + const double t846 = t251 * t373; + const double t848 = t829 * t835 * t836; + const double t850 = 0.5848223622634646207e0 * t846 * t848; + const double t853 = t398 * t398; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t187; + const double t857 = t599 * t855 * t735; + const double t858 = t16 * t403; + const double t859 = t781 + t807 + t841 - t845 - t850; + const double t860 = t859 * t397; + const double t861 = t858 * t860; + const double t862 = t199 * t861; + const double t869 = -0.7e1 / 0.288e3 * t727 * t391 + t857 * t862 / 0.1536e4 - 0.7e1 / 0.2304e4 * t296 * t400 * t620 * t405; + const double t870 = beta * t869; + const double t872 = t409 * t175; + const double t873 = t413 * t413; + const double t874 = 0.1e1 / t873; + const double t875 = t42 * t874; + const double t877 = t597 * t598 * t854; + const double t878 = t408 * t859; + const double t879 = t299 * t397; + const double t884 = t176 * t410 * t869 + t877 * t878 * t879; + const double t885 = t875 * t884; + const double t887 = t870 * t415 - t872 * t885; + const double t889 = 0.1e1 / t417; + const double t893 = piecewise_functor_3( t422, t154 * t287 * t887 * t889 + t781 + t807 + t841 - t845 - t850, t773 ); + const double t896 = piecewise_functor_3( t75, t650, t893 * t31 / 0.2e1 ); + const double t897 = t777 + t896; + const double t899 = t62 * t70; + const double t902 = 0.2e1 * t899 * t508 + t501; + const double t904 = t434 * t41; + const double t906 = 0.18311447306006545054e-3 * t904 * t581; + const double t907 = t434 * t132; + const double t909 = 0.5848223622634646207e0 * t907 * t586; + const double t912 = t451 * t451; + const double t913 = 0.1e1 / t912; + const double t914 = t913 * t187; + const double t915 = t914 * t192; + const double t916 = t599 * t915; + const double t918 = 0.1e1 / t456 / t439; + const double t919 = t17 * t918; + const double t920 = t919 * t41; + const double t921 = t558 + t559 - t906 - t909; + const double t922 = t921 * t450; + const double t923 = t609 * t922; + const double t924 = t920 * t923; + const double t927 = t621 * t457; + const double t928 = t927 * t199; + const double t931 = -0.7e1 / 0.288e3 * t592 * t442 + t916 * t924 / 0.3072e4 - 0.7e1 / 0.4608e4 * t455 * t928; + const double t932 = beta * t931; + const double t934 = t463 * t175; + const double t935 = t466 * t466; + const double t936 = 0.1e1 / t935; + const double t937 = t42 * t936; + const double t939 = t597 * t598 * t913; + const double t940 = t462 * t921; + const double t941 = t447 * t450; + const double t946 = t176 * t453 * t931 + t939 * t940 * t941; + const double t947 = t937 * t946; + const double t949 = t932 * t468 - t934 * t947; + const double t951 = 0.1e1 / t470; + const double t954 = t154 * t439 * t949 * t951 + t558 + t559 - t906 - t909; + const double t956 = -t501 * t427 + t430 * t954 + t902 * t474 - 0.2e1 * t503 * t509 - t72 * t897; + const double t957 = rho * t956; + const double t959 = rho * t476; + const double t960 = d * t956; + const double t962 = t71 * t508; + const double t965 = 0.3e1 * t477 * t962 + t960 * t478; + const double t967 = t17 * t23; + const double t970 = t967 * t28 + t967 * t35 - t23; + const double t975 = piecewise_functor_3( t4, 0.0, -t484 * t970 * t41 * t496 / 0.6e1 ); + const double t976 = t975 * t71; + const double t980 = piecewise_functor_3( t69, 0.0, t64 * t66 / 0.8e1 ); + const double t981 = t427 * t980; + const double t984 = t165 * t16; + const double t991 = t176 * t186 * sigma; + const double t994 = t984 * t168 * t987 / 0.96e2 + t991 * t200 / 0.1536e4; + const double t995 = beta * t994; + const double t998 = t997 * t203; + const double t999 = t998 * t596; + const double t1000 = t598 * t631; + const double t1002 = t1000 * t185 * t994; + const double t1004 = -t999 * t1002 + t995 * t210; + const double t1007 = t154 * t163 * t1004 * t646; + const double t1008 = t1007 / 0.2e1; + const double t1010 = t165 * t288 * t91; + const double t1013 = t304 * sigma; + const double t1018 = t1010 * t293 / 0.96e2 + t296 * t1013 * t192 * t315 / 0.768e3; + const double t1019 = beta * t1018; + const double t1021 = t997 * t318; + const double t1022 = t1021 * t596; + const double t1023 = t598 * t754; + const double t1025 = t1023 * t304 * t1018; + const double t1027 = t1019 * t325 - t1022 * t1025; + const double t1031 = piecewise_functor_3( t332, t154 * t287 * t1027 * t769, t1007 ); + const double t1034 = piecewise_functor_3( t75, t1008, t1031 * t24 / 0.2e1 ); + const double t1037 = t399 * sigma; + const double t1042 = t1010 * t391 / 0.96e2 + t296 * t1037 * t192 * t405 / 0.768e3; + const double t1043 = beta * t1042; + const double t1045 = t997 * t408; + const double t1046 = t1045 * t596; + const double t1047 = t598 * t874; + const double t1049 = t1047 * t399 * t1042; + const double t1051 = t1043 * t415 - t1046 * t1049; + const double t1055 = piecewise_functor_3( t422, t154 * t287 * t1051 * t889, t1007 ); + const double t1058 = piecewise_functor_3( t75, t1008, t1055 * t31 / 0.2e1 ); + const double t1059 = t1034 + t1058; + const double t1063 = 0.2e1 * t899 * t980 + t976; + const double t1065 = t430 * t152; + const double t1066 = t1065 * t153; + const double t1071 = t176 * t453 * sigma; + const double t1074 = t984 * t440 * t987 / 0.96e2 + t1071 * t459 / 0.1536e4; + const double t1075 = beta * t1074; + const double t1077 = t997 * t462; + const double t1078 = t1077 * t596; + const double t1079 = t598 * t936; + const double t1081 = t1079 * t452 * t1074; + const double t1083 = t1075 * t468 - t1078 * t1081; + const double t1084 = t439 * t1083; + const double t1085 = t1084 * t951; + const double t1087 = -t72 * t1059 + t1063 * t474 + t1066 * t1085 - t976 * t427 - 0.2e1 * t503 * t981; + const double t1088 = rho * t1087; + const double t1090 = d * t1087; + const double t1092 = t71 * t980; + const double t1095 = t1090 * t478 + 0.3e1 * t477 * t1092; + const double t1097 = tau * tau; + const double t1098 = 0.1e1 / t1097; + const double t1101 = piecewise_functor_3( t69, 0.0, -t65 * t1098 / 0.8e1 ); + const double t1102 = t427 * t1101; + const double t1104 = t1101 * t474; + const double t1107 = -0.2e1 * t503 * t1102 + 0.2e1 * t899 * t1104; + const double t1108 = rho * t1107; + const double t1110 = d * t1107; + const double t1112 = t71 * t1101; + const double t1115 = t1110 * t478 + 0.3e1 * t477 * t1112; + + + eps = t476 * t480; + vrho = t957 * t480 + t959 * t965 + eps; + vsigma = t1088 * t480 + t959 * t1095; + vlapl = 0.e0; + vtau = t1108 * t480 + t959 * t1115; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t170 = 0.1e1 / t77; + constexpr double t171 = t170 * t79; + constexpr double t197 = 0.1e1 / t92; + constexpr double t198 = t41 * t197; + constexpr double t199 = t198 * t80; + constexpr double t219 = t78 * t80; + constexpr double t232 = t93 * t79; + constexpr double t312 = t80 * t16; + constexpr double t523 = t77 * t80; + constexpr double t598 = t42 * t42; + constexpr double t609 = t197 * t80; + constexpr double t987 = t91 * t170 * t79; + constexpr double t997 = beta * beta; + constexpr double t1129 = 0.1e1 / t43 / t42; + constexpr double t1188 = t92 * t79; + constexpr double t1320 = t598 * t42; + constexpr double t2007 = t91 * t1129; + constexpr double t2347 = t997 * beta; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 / t20 / t19; + const double t166 = sigma * t165; + const double t167 = t166 * t16; + const double t168 = 0.1e1 / t162; + const double t172 = t168 * t91 * t171; + const double t175 = 0.1e1 / t152; + const double t176 = beta * t175; + const double t177 = 0.19751673498613801407e-1 * t149; + const double t180 = 0.1e1 / t163; + const double t183 = safe_math::exp( -( -t130 + t146 + t177 ) * t175 * t42 * t180 ); + const double t184 = t183 - 0.1e1; + const double t185 = 0.1e1 / t184; + const double t186 = t42 * t185; + const double t187 = sigma * sigma; + const double t189 = t176 * t186 * t187; + const double t190 = t19 * t19; + const double t192 = 0.1e1 / t21 / t190; + const double t193 = t192 * t17; + const double t194 = t162 * t162; + const double t195 = 0.1e1 / t194; + const double t196 = t193 * t195; + const double t200 = t196 * t199; + const double t203 = t167 * t172 / 0.96e2 + t189 * t200 / 0.3072e4; + const double t204 = beta * t203; + const double t205 = t175 * t42; + const double t208 = t176 * t186 * t203 + 0.1e1; + const double t209 = 0.1e1 / t208; + const double t210 = t205 * t209; + const double t212 = t204 * t210 + 0.1e1; + const double t213 = safe_math::log( t212 ); + const double t215 = t154 * t163 * t213; + const double t217 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t215 / 0.2e1; + const double t218 = -t130 + t146 + t177 + t215; + const double t220 = t81 * t16; + const double t221 = 0.1e1 / t24; + const double t222 = safe_math::cbrt( t221 ); + const double t224 = t219 * t220 * t222; + const double t226 = 0.1e1 + 0.53425e-1 * t224; + const double t227 = safe_math::sqrt( t224 ); + const double t230 = pow_3_2( t224 ); + const double t233 = t94 * t17; + const double t234 = t222 * t222; + const double t236 = t232 * t233 * t234; + const double t238 = 0.379785e1 * t227 + 0.8969e0 * t224 + 0.204775e0 * t230 + 0.123235e0 * t236; + const double t241 = 0.1e1 + 0.16081979498692535067e2 / t238; + const double t242 = safe_math::log( t241 ); + const double t244 = 0.621814e-1 * t226 * t242; + const double t245 = 0.2e1 <= zeta_tol; + const double t247 = piecewise_functor_3( t245, t108, 0.2e1 * t16 ); + const double t248 = 0.e0 <= zeta_tol; + const double t249 = piecewise_functor_3( t248, t108, 0.0 ); + const double t251 = ( t247 + t249 - 0.2e1 ) * t116; + const double t253 = 0.1e1 + 0.5137e-1 * t224; + const double t258 = 0.705945e1 * t227 + 0.1549425e1 * t224 + 0.420775e0 * t230 + 0.1562925e0 * t236; + const double t261 = 0.1e1 + 0.32163958997385070134e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t266 = 0.1e1 + 0.278125e-1 * t224; + const double t271 = 0.51785e1 * t227 + 0.905775e0 * t224 + 0.1100325e0 * t230 + 0.1241775e0 * t236; + const double t274 = 0.1e1 + 0.29608749977793437516e2 / t271; + const double t275 = safe_math::log( t274 ); + const double t276 = t266 * t275; + const double t279 = t251 * ( -0.310907e-1 * t253 * t262 + t244 - 0.19751673498613801407e-1 * t276 ); + const double t281 = 0.19751673498613801407e-1 * t251 * t276; + const double t282 = piecewise_functor_3( t245, t155, t17 ); + const double t283 = piecewise_functor_3( t248, t155, 0.0 ); + const double t285 = t282 / 0.2e1 + t283 / 0.2e1; + const double t286 = t285 * t285; + const double t287 = t286 * t285; + const double t288 = 0.1e1 / t286; + const double t289 = t288 * t91; + const double t290 = t166 * t289; + const double t293 = t171 * t17 / t222; + const double t296 = t176 * t42; + const double t299 = 0.1e1 / t287; + const double t300 = t42 * t299; + const double t302 = safe_math::exp( -( -t244 + t279 + t281 ) * t175 * t300 ); + const double t303 = t302 - 0.1e1; + const double t304 = 0.1e1 / t303; + const double t305 = t304 * t187; + const double t308 = t286 * t286; + const double t309 = 0.1e1 / t308; + const double t310 = t309 * t41; + const double t311 = t310 * t197; + const double t313 = 0.1e1 / t234; + const double t315 = t311 * t312 * t313; + const double t318 = t290 * t293 / 0.96e2 + t296 * t305 * t192 * t315 / 0.1536e4; + const double t319 = beta * t318; + const double t320 = t42 * t304; + const double t323 = t176 * t320 * t318 + 0.1e1; + const double t324 = 0.1e1 / t323; + const double t325 = t205 * t324; + const double t327 = t319 * t325 + 0.1e1; + const double t328 = safe_math::log( t327 ); + const double t331 = t154 * t287 * t328 - t244 + t279 + t281; + const double t332 = t218 < t331; + const double t333 = piecewise_functor_3( t332, t331, t218 ); + const double t336 = piecewise_functor_3( t75, t217, t333 * t24 / 0.2e1 ); + const double t337 = 0.1e1 / t31; + const double t338 = safe_math::cbrt( t337 ); + const double t340 = t219 * t220 * t338; + const double t342 = 0.1e1 + 0.53425e-1 * t340; + const double t343 = safe_math::sqrt( t340 ); + const double t346 = pow_3_2( t340 ); + const double t348 = t338 * t338; + const double t350 = t232 * t233 * t348; + const double t352 = 0.379785e1 * t343 + 0.8969e0 * t340 + 0.204775e0 * t346 + 0.123235e0 * t350; + const double t355 = 0.1e1 + 0.16081979498692535067e2 / t352; + const double t356 = safe_math::log( t355 ); + const double t358 = 0.621814e-1 * t342 * t356; + const double t360 = 0.1e1 + 0.5137e-1 * t340; + const double t365 = 0.705945e1 * t343 + 0.1549425e1 * t340 + 0.420775e0 * t346 + 0.1562925e0 * t350; + const double t368 = 0.1e1 + 0.32163958997385070134e2 / t365; + const double t369 = safe_math::log( t368 ); + const double t373 = 0.1e1 + 0.278125e-1 * t340; + const double t378 = 0.51785e1 * t343 + 0.905775e0 * t340 + 0.1100325e0 * t346 + 0.1241775e0 * t350; + const double t381 = 0.1e1 + 0.29608749977793437516e2 / t378; + const double t382 = safe_math::log( t381 ); + const double t383 = t373 * t382; + const double t386 = t251 * ( -0.310907e-1 * t360 * t369 + t358 - 0.19751673498613801407e-1 * t383 ); + const double t388 = 0.19751673498613801407e-1 * t251 * t383; + const double t391 = t171 * t17 / t338; + const double t397 = safe_math::exp( -( -t358 + t386 + t388 ) * t175 * t300 ); + const double t398 = t397 - 0.1e1; + const double t399 = 0.1e1 / t398; + const double t400 = t399 * t187; + const double t403 = 0.1e1 / t348; + const double t405 = t311 * t312 * t403; + const double t408 = t290 * t391 / 0.96e2 + t296 * t400 * t192 * t405 / 0.1536e4; + const double t409 = beta * t408; + const double t410 = t42 * t399; + const double t413 = t176 * t410 * t408 + 0.1e1; + const double t414 = 0.1e1 / t413; + const double t415 = t205 * t414; + const double t417 = t409 * t415 + 0.1e1; + const double t418 = safe_math::log( t417 ); + const double t421 = t154 * t287 * t418 - t358 + t386 + t388; + const double t422 = t218 < t421; + const double t423 = piecewise_functor_3( t422, t421, t218 ); + const double t426 = piecewise_functor_3( t75, t217, t423 * t31 / 0.2e1 ); + const double t427 = t336 + t426; + const double t430 = t62 * t71 + 0.1e1; + const double t431 = piecewise_functor_3( t10, t108, 1.0 ); + const double t434 = ( 0.2e1 * t431 - 0.2e1 ) * t116; + const double t436 = 0.19751673498613801407e-1 * t434 * t142; + const double t437 = piecewise_functor_3( t10, t155, 1.0 ); + const double t438 = t437 * t437; + const double t439 = t438 * t437; + const double t440 = 0.1e1 / t438; + const double t442 = t440 * t91 * t171; + const double t447 = 0.1e1 / t439; + const double t450 = safe_math::exp( -( -t130 + t436 ) * t175 * t42 * t447 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = t42 * t452; + const double t455 = t176 * t453 * t187; + const double t456 = t438 * t438; + const double t457 = 0.1e1 / t456; + const double t458 = t193 * t457; + const double t459 = t458 * t199; + const double t462 = t167 * t442 / 0.96e2 + t455 * t459 / 0.3072e4; + const double t463 = beta * t462; + const double t466 = t176 * t453 * t462 + 0.1e1; + const double t467 = 0.1e1 / t466; + const double t468 = t205 * t467; + const double t470 = t463 * t468 + 0.1e1; + const double t471 = safe_math::log( t470 ); + const double t474 = t154 * t439 * t471 - t130 + t436; + const double t476 = -t72 * t427 + t430 * t474; + const double t477 = d * t476; + const double t478 = t71 * t70; + const double t480 = t477 * t478 + 0.1e1; + const double t484 = t5 / t59 / t57 * t15; + const double t485 = t19 * rho; + const double t487 = 0.1e1 / t21 / t485; + const double t494 = -0.8e1 / 0.3e1 * t18 * t487 * t28 - 0.8e1 / 0.3e1 * t18 * t487 * t35 + 0.8e1 / 0.3e1 * sigma * t487; + const double t495 = t494 * t41; + const double t496 = t45 * t53; + const double t500 = piecewise_functor_3( t4, 0.0, -t484 * t495 * t496 / 0.6e1 ); + const double t501 = t500 * t71; + const double t503 = t63 * t70; + const double t504 = 0.1e1 / t19; + const double t505 = sigma * t504; + const double t508 = piecewise_functor_3( t69, 0.0, -t505 * t66 / 0.8e1 ); + const double t509 = t427 * t508; + const double t513 = 0.1e1 / t20 / rho; + const double t514 = t80 * t513; + const double t516 = t78 * t514 * t102; + const double t518 = t98 * t98; + const double t519 = 0.1e1 / t518; + const double t520 = t85 * t519; + const double t522 = 0.1e1 / t86 * t41; + const double t524 = t523 * t513; + const double t525 = t522 * t524; + const double t527 = t78 * t514; + const double t529 = safe_math::sqrt( t83 ); + const double t530 = t529 * t41; + const double t531 = t530 * t524; + const double t534 = 0.1e1 / t21 / rho; + const double t536 = t93 * t79 * t534; + const double t538 = -0.632975e0 * t525 - 0.29896666666666666667e0 * t527 - 0.1023875e0 * t531 - 0.82156666666666666667e-1 * t536; + const double t539 = 0.1e1 / t101; + const double t540 = t538 * t539; + const double t541 = t520 * t540; + const double t546 = t123 * t123; + const double t547 = 0.1e1 / t546; + const double t548 = t118 * t547; + const double t553 = -0.1176575e1 * t525 - 0.516475e0 * t527 - 0.2103875e0 * t531 - 0.104195e0 * t536; + const double t554 = 0.1e1 / t126; + const double t555 = t553 * t554; + const double t558 = 0.11073470983333333333e-2 * t516; + const double t559 = 0.1e1 * t541; + const double t563 = t137 * t137; + const double t564 = 0.1e1 / t563; + const double t565 = t132 * t564; + const double t570 = -0.86308333333333333334e0 * t525 - 0.301925e0 * t527 - 0.5501625e-1 * t531 - 0.82785e-1 * t536; + const double t571 = 0.1e1 / t140; + const double t572 = t570 * t571; + const double t577 = t113 * t116 * ( 0.53237641966666666666e-3 * t78 * t514 * t127 + 0.1e1 * t548 * t555 - t558 - t559 + 0.18311447306006545054e-3 * t78 * t514 * t141 + 0.5848223622634646207e0 * t565 * t572 ); + const double t579 = t148 * t41; + const double t581 = t523 * t513 * t141; + const double t582 = t579 * t581; + const double t584 = t148 * t132; + const double t586 = t564 * t570 * t571; + const double t587 = t584 * t586; + const double t590 = 0.1e1 / t20 / t485; + const double t591 = sigma * t590; + const double t592 = t591 * t16; + const double t595 = t152 * t152; + const double t596 = 0.1e1 / t595; + const double t597 = beta * t596; + const double t599 = t597 * t598; + const double t600 = t184 * t184; + const double t601 = 0.1e1 / t600; + const double t602 = t601 * t187; + const double t603 = t602 * t192; + const double t604 = t599 * t603; + const double t606 = 0.1e1 / t194 / t163; + const double t607 = t17 * t606; + const double t608 = t607 * t41; + const double t610 = 0.18311447306006545054e-3 * t582; + const double t611 = 0.5848223622634646207e0 * t587; + const double t612 = t558 + t559 + t577 - t610 - t611; + const double t613 = t612 * t183; + const double t614 = t609 * t613; + const double t615 = t608 * t614; + const double t618 = t190 * rho; + const double t620 = 0.1e1 / t21 / t618; + const double t621 = t620 * t17; + const double t622 = t621 * t195; + const double t623 = t622 * t199; + const double t626 = -0.7e1 / 0.288e3 * t592 * t172 + t604 * t615 / 0.3072e4 - 0.7e1 / 0.4608e4 * t189 * t623; + const double t627 = beta * t626; + const double t629 = t204 * t175; + const double t630 = t208 * t208; + const double t631 = 0.1e1 / t630; + const double t632 = t42 * t631; + const double t634 = t597 * t598 * t601; + const double t635 = t203 * t612; + const double t636 = t180 * t183; + const double t641 = t176 * t186 * t626 + t634 * t635 * t636; + const double t642 = t632 * t641; + const double t644 = t627 * t210 - t629 * t642; + const double t646 = 0.1e1 / t212; + const double t648 = t154 * t163 * t644 * t646; + const double t650 = 0.55367354916666666666e-3 * t516 + 0.50000000000000000001e0 * t541 + t577 / 0.2e1 - 0.91557236530032725272e-4 * t582 - 0.29241118113173231035e0 * t587 + t648 / 0.2e1; + const double t651 = t513 * t16; + const double t652 = t222 * t242; + const double t655 = 0.11073470983333333333e-2 * t219 * t651 * t652; + const double t656 = t238 * t238; + const double t657 = 0.1e1 / t656; + const double t658 = t226 * t657; + const double t661 = 0.1e1 / t227 * t41 * t77; + const double t662 = t16 * t222; + const double t663 = t514 * t662; + const double t664 = t661 * t663; + const double t666 = t651 * t222; + const double t667 = t219 * t666; + const double t669 = safe_math::sqrt( t224 ); + const double t671 = t669 * t41 * t77; + const double t672 = t671 * t663; + const double t674 = t534 * t17; + const double t676 = t232 * t674 * t234; + const double t678 = -0.632975e0 * t664 - 0.29896666666666666667e0 * t667 - 0.1023875e0 * t672 - 0.82156666666666666667e-1 * t676; + const double t679 = 0.1e1 / t241; + const double t680 = t678 * t679; + const double t682 = 0.1e1 * t658 * t680; + const double t683 = t222 * t262; + const double t687 = t258 * t258; + const double t688 = 0.1e1 / t687; + const double t689 = t253 * t688; + const double t694 = -0.1176575e1 * t664 - 0.516475e0 * t667 - 0.2103875e0 * t672 - 0.104195e0 * t676; + const double t695 = 0.1e1 / t261; + const double t696 = t694 * t695; + const double t699 = t222 * t275; + const double t703 = t271 * t271; + const double t704 = 0.1e1 / t703; + const double t705 = t266 * t704; + const double t710 = -0.86308333333333333334e0 * t664 - 0.301925e0 * t667 - 0.5501625e-1 * t672 - 0.82785e-1 * t676; + const double t711 = 0.1e1 / t274; + const double t712 = t710 * t711; + const double t716 = t251 * ( 0.53237641966666666666e-3 * t219 * t651 * t683 + 0.1e1 * t689 * t696 - t655 - t682 + 0.18311447306006545054e-3 * t219 * t651 * t699 + 0.5848223622634646207e0 * t705 * t712 ); + const double t717 = t251 * t78; + const double t718 = t662 * t275; + const double t721 = 0.18311447306006545054e-3 * t717 * t514 * t718; + const double t722 = t251 * t266; + const double t724 = t704 * t710 * t711; + const double t726 = 0.5848223622634646207e0 * t722 * t724; + const double t727 = t591 * t289; + const double t730 = t303 * t303; + const double t731 = 0.1e1 / t730; + const double t732 = t731 * t187; + const double t734 = 0.1e1 / t308 / t287; + const double t735 = t192 * t734; + const double t737 = t599 * t732 * t735; + const double t738 = t16 * t313; + const double t739 = t655 + t682 + t716 - t721 - t726; + const double t740 = t739 * t302; + const double t741 = t738 * t740; + const double t742 = t199 * t741; + const double t749 = -0.7e1 / 0.288e3 * t727 * t293 + t737 * t742 / 0.1536e4 - 0.7e1 / 0.2304e4 * t296 * t305 * t620 * t315; + const double t750 = beta * t749; + const double t752 = t319 * t175; + const double t753 = t323 * t323; + const double t754 = 0.1e1 / t753; + const double t755 = t42 * t754; + const double t757 = t597 * t598 * t731; + const double t758 = t318 * t739; + const double t759 = t299 * t302; + const double t764 = t176 * t320 * t749 + t757 * t758 * t759; + const double t765 = t755 * t764; + const double t767 = t750 * t325 - t752 * t765; + const double t769 = 0.1e1 / t327; + const double t773 = t558 + t559 + t577 - t610 - t611 + t648; + const double t774 = piecewise_functor_3( t332, t154 * t287 * t767 * t769 + t655 + t682 + t716 - t721 - t726, t773 ); + const double t777 = piecewise_functor_3( t75, t650, t774 * t24 / 0.2e1 ); + const double t778 = t338 * t356; + const double t781 = 0.11073470983333333333e-2 * t219 * t651 * t778; + const double t782 = t352 * t352; + const double t783 = 0.1e1 / t782; + const double t784 = t342 * t783; + const double t787 = 0.1e1 / t343 * t41 * t77; + const double t788 = t16 * t338; + const double t789 = t514 * t788; + const double t790 = t787 * t789; + const double t792 = t651 * t338; + const double t793 = t219 * t792; + const double t795 = safe_math::sqrt( t340 ); + const double t797 = t795 * t41 * t77; + const double t798 = t797 * t789; + const double t801 = t232 * t674 * t348; + const double t803 = -0.632975e0 * t790 - 0.29896666666666666667e0 * t793 - 0.1023875e0 * t798 - 0.82156666666666666667e-1 * t801; + const double t804 = 0.1e1 / t355; + const double t805 = t803 * t804; + const double t807 = 0.1e1 * t784 * t805; + const double t808 = t338 * t369; + const double t812 = t365 * t365; + const double t813 = 0.1e1 / t812; + const double t814 = t360 * t813; + const double t819 = -0.1176575e1 * t790 - 0.516475e0 * t793 - 0.2103875e0 * t798 - 0.104195e0 * t801; + const double t820 = 0.1e1 / t368; + const double t821 = t819 * t820; + const double t824 = t338 * t382; + const double t828 = t378 * t378; + const double t829 = 0.1e1 / t828; + const double t830 = t373 * t829; + const double t835 = -0.86308333333333333334e0 * t790 - 0.301925e0 * t793 - 0.5501625e-1 * t798 - 0.82785e-1 * t801; + const double t836 = 0.1e1 / t381; + const double t837 = t835 * t836; + const double t841 = t251 * ( 0.53237641966666666666e-3 * t219 * t651 * t808 + 0.1e1 * t814 * t821 - t781 - t807 + 0.18311447306006545054e-3 * t219 * t651 * t824 + 0.5848223622634646207e0 * t830 * t837 ); + const double t842 = t788 * t382; + const double t845 = 0.18311447306006545054e-3 * t717 * t514 * t842; + const double t846 = t251 * t373; + const double t848 = t829 * t835 * t836; + const double t850 = 0.5848223622634646207e0 * t846 * t848; + const double t853 = t398 * t398; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t187; + const double t857 = t599 * t855 * t735; + const double t858 = t16 * t403; + const double t859 = t781 + t807 + t841 - t845 - t850; + const double t860 = t859 * t397; + const double t861 = t858 * t860; + const double t862 = t199 * t861; + const double t869 = -0.7e1 / 0.288e3 * t727 * t391 + t857 * t862 / 0.1536e4 - 0.7e1 / 0.2304e4 * t296 * t400 * t620 * t405; + const double t870 = beta * t869; + const double t872 = t409 * t175; + const double t873 = t413 * t413; + const double t874 = 0.1e1 / t873; + const double t875 = t42 * t874; + const double t877 = t597 * t598 * t854; + const double t878 = t408 * t859; + const double t879 = t299 * t397; + const double t884 = t176 * t410 * t869 + t877 * t878 * t879; + const double t885 = t875 * t884; + const double t887 = t870 * t415 - t872 * t885; + const double t889 = 0.1e1 / t417; + const double t893 = piecewise_functor_3( t422, t154 * t287 * t887 * t889 + t781 + t807 + t841 - t845 - t850, t773 ); + const double t896 = piecewise_functor_3( t75, t650, t893 * t31 / 0.2e1 ); + const double t897 = t777 + t896; + const double t899 = t62 * t70; + const double t902 = 0.2e1 * t899 * t508 + t501; + const double t904 = t434 * t41; + const double t906 = 0.18311447306006545054e-3 * t904 * t581; + const double t907 = t434 * t132; + const double t909 = 0.5848223622634646207e0 * t907 * t586; + const double t912 = t451 * t451; + const double t913 = 0.1e1 / t912; + const double t914 = t913 * t187; + const double t915 = t914 * t192; + const double t916 = t599 * t915; + const double t918 = 0.1e1 / t456 / t439; + const double t919 = t17 * t918; + const double t920 = t919 * t41; + const double t921 = t558 + t559 - t906 - t909; + const double t922 = t921 * t450; + const double t923 = t609 * t922; + const double t924 = t920 * t923; + const double t927 = t621 * t457; + const double t928 = t927 * t199; + const double t931 = -0.7e1 / 0.288e3 * t592 * t442 + t916 * t924 / 0.3072e4 - 0.7e1 / 0.4608e4 * t455 * t928; + const double t932 = beta * t931; + const double t934 = t463 * t175; + const double t935 = t466 * t466; + const double t936 = 0.1e1 / t935; + const double t937 = t42 * t936; + const double t939 = t597 * t598 * t913; + const double t940 = t462 * t921; + const double t941 = t447 * t450; + const double t946 = t176 * t453 * t931 + t939 * t940 * t941; + const double t947 = t937 * t946; + const double t949 = t932 * t468 - t934 * t947; + const double t951 = 0.1e1 / t470; + const double t954 = t154 * t439 * t949 * t951 + t558 + t559 - t906 - t909; + const double t956 = -t501 * t427 + t430 * t954 + t902 * t474 - 0.2e1 * t503 * t509 - t72 * t897; + const double t957 = rho * t956; + const double t959 = rho * t476; + const double t960 = d * t956; + const double t962 = t71 * t508; + const double t965 = 0.3e1 * t477 * t962 + t960 * t478; + const double t967 = t17 * t23; + const double t970 = t967 * t28 + t967 * t35 - t23; + const double t975 = piecewise_functor_3( t4, 0.0, -t484 * t970 * t41 * t496 / 0.6e1 ); + const double t976 = t975 * t71; + const double t980 = piecewise_functor_3( t69, 0.0, t64 * t66 / 0.8e1 ); + const double t981 = t427 * t980; + const double t984 = t165 * t16; + const double t991 = t176 * t186 * sigma; + const double t994 = t984 * t168 * t987 / 0.96e2 + t991 * t200 / 0.1536e4; + const double t995 = beta * t994; + const double t998 = t997 * t203; + const double t999 = t998 * t596; + const double t1000 = t598 * t631; + const double t1002 = t1000 * t185 * t994; + const double t1004 = -t999 * t1002 + t995 * t210; + const double t1007 = t154 * t163 * t1004 * t646; + const double t1008 = t1007 / 0.2e1; + const double t1010 = t165 * t288 * t91; + const double t1013 = t304 * sigma; + const double t1018 = t1010 * t293 / 0.96e2 + t296 * t1013 * t192 * t315 / 0.768e3; + const double t1019 = beta * t1018; + const double t1021 = t997 * t318; + const double t1022 = t1021 * t596; + const double t1023 = t598 * t754; + const double t1025 = t1023 * t304 * t1018; + const double t1027 = t1019 * t325 - t1022 * t1025; + const double t1031 = piecewise_functor_3( t332, t154 * t287 * t1027 * t769, t1007 ); + const double t1034 = piecewise_functor_3( t75, t1008, t1031 * t24 / 0.2e1 ); + const double t1037 = t399 * sigma; + const double t1042 = t1010 * t391 / 0.96e2 + t296 * t1037 * t192 * t405 / 0.768e3; + const double t1043 = beta * t1042; + const double t1045 = t997 * t408; + const double t1046 = t1045 * t596; + const double t1047 = t598 * t874; + const double t1049 = t1047 * t399 * t1042; + const double t1051 = t1043 * t415 - t1046 * t1049; + const double t1055 = piecewise_functor_3( t422, t154 * t287 * t1051 * t889, t1007 ); + const double t1058 = piecewise_functor_3( t75, t1008, t1055 * t31 / 0.2e1 ); + const double t1059 = t1034 + t1058; + const double t1063 = 0.2e1 * t899 * t980 + t976; + const double t1065 = t430 * t152; + const double t1066 = t1065 * t153; + const double t1071 = t176 * t453 * sigma; + const double t1074 = t984 * t440 * t987 / 0.96e2 + t1071 * t459 / 0.1536e4; + const double t1075 = beta * t1074; + const double t1077 = t997 * t462; + const double t1078 = t1077 * t596; + const double t1079 = t598 * t936; + const double t1081 = t1079 * t452 * t1074; + const double t1083 = t1075 * t468 - t1078 * t1081; + const double t1084 = t439 * t1083; + const double t1085 = t1084 * t951; + const double t1087 = -t72 * t1059 + t1063 * t474 + t1066 * t1085 - t976 * t427 - 0.2e1 * t503 * t981; + const double t1088 = rho * t1087; + const double t1090 = d * t1087; + const double t1092 = t71 * t980; + const double t1095 = t1090 * t478 + 0.3e1 * t477 * t1092; + const double t1097 = tau * tau; + const double t1098 = 0.1e1 / t1097; + const double t1101 = piecewise_functor_3( t69, 0.0, -t65 * t1098 / 0.8e1 ); + const double t1102 = t427 * t1101; + const double t1104 = t1101 * t474; + const double t1107 = -0.2e1 * t503 * t1102 + 0.2e1 * t899 * t1104; + const double t1108 = rho * t1107; + const double t1110 = d * t1107; + const double t1112 = t71 * t1101; + const double t1115 = t1110 * t478 + 0.3e1 * t477 * t1112; + const double t1123 = t5 / t59 / t58; + const double t1124 = t15 * t15; + const double t1125 = t1123 * t1124; + const double t1126 = t494 * t494; + const double t1130 = t53 * t53; + const double t1131 = t1129 * t1130; + const double t1141 = 0.88e2 / 0.9e1 * t18 * t192 * t28 + 0.88e2 / 0.9e1 * t18 * t192 * t35 - 0.88e2 / 0.9e1 * sigma * t192; + const double t1147 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1125 * t1126 * t91 * t1131 - t484 * t1141 * t41 * t496 / 0.6e1 ); + const double t1148 = t1147 * t71; + const double t1150 = t500 * t70; + const double t1155 = t508 * t508; + const double t1156 = t63 * t1155; + const double t1159 = t897 * t508; + const double t1162 = 0.1e1 / t485; + const double t1163 = sigma * t1162; + const double t1166 = piecewise_functor_3( t69, 0.0, t1163 * t66 / 0.4e1 ); + const double t1167 = t427 * t1166; + const double t1170 = t80 * t165; + const double t1172 = t78 * t1170 * t102; + const double t1174 = t513 * t519; + const double t1176 = t219 * t1174 * t540; + const double t1178 = t518 * t98; + const double t1179 = 0.1e1 / t1178; + const double t1180 = t85 * t1179; + const double t1181 = t538 * t538; + const double t1182 = t1181 * t539; + const double t1183 = t1180 * t1182; + const double t1187 = 0.1e1 / t86 / t83 * t91; + const double t1189 = t1188 * t23; + const double t1190 = t1187 * t1189; + const double t1192 = t523 * t165; + const double t1193 = t522 * t1192; + const double t1195 = t78 * t1170; + const double t1197 = 0.1e1/safe_math::sqrt( t83 ); + const double t1198 = t1197 * t91; + const double t1199 = t1198 * t1189; + const double t1201 = t530 * t1192; + const double t1203 = t79 * t23; + const double t1204 = t93 * t1203; + const double t1206 = -0.42198333333333333333e0 * t1190 + 0.84396666666666666666e0 * t1193 + 0.39862222222222222223e0 * t1195 + 0.68258333333333333333e-1 * t1199 + 0.13651666666666666667e0 * t1201 + 0.13692777777777777778e0 * t1204; + const double t1207 = t1206 * t539; + const double t1208 = t520 * t1207; + const double t1210 = t518 * t518; + const double t1211 = 0.1e1 / t1210; + const double t1212 = t85 * t1211; + const double t1213 = t101 * t101; + const double t1214 = 0.1e1 / t1213; + const double t1215 = t1181 * t1214; + const double t1216 = t1212 * t1215; + const double t1221 = t513 * t547; + const double t1225 = t546 * t123; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t118 * t1226; + const double t1228 = t553 * t553; + const double t1229 = t1228 * t554; + const double t1238 = -0.78438333333333333333e0 * t1190 + 0.15687666666666666667e1 * t1193 + 0.68863333333333333333e0 * t1195 + 0.14025833333333333333e0 * t1199 + 0.28051666666666666667e0 * t1201 + 0.17365833333333333333e0 * t1204; + const double t1239 = t1238 * t554; + const double t1242 = t546 * t546; + const double t1243 = 0.1e1 / t1242; + const double t1244 = t118 * t1243; + const double t1245 = t126 * t126; + const double t1246 = 0.1e1 / t1245; + const double t1247 = t1228 * t1246; + const double t1250 = 0.14764627977777777777e-2 * t1172; + const double t1251 = 0.35616666666666666666e-1 * t1176; + const double t1252 = 0.2e1 * t1183; + const double t1253 = 0.1e1 * t1208; + const double t1254 = 0.16081979498692535067e2 * t1216; + const double t1258 = t513 * t564; + const double t1262 = t563 * t137; + const double t1263 = 0.1e1 / t1262; + const double t1264 = t132 * t1263; + const double t1265 = t570 * t570; + const double t1266 = t1265 * t571; + const double t1275 = -0.57538888888888888889e0 * t1190 + 0.11507777777777777778e1 * t1193 + 0.40256666666666666667e0 * t1195 + 0.366775e-1 * t1199 + 0.73355e-1 * t1201 + 0.137975e0 * t1204; + const double t1276 = t1275 * t571; + const double t1279 = t563 * t563; + const double t1280 = 0.1e1 / t1279; + const double t1281 = t132 * t1280; + const double t1282 = t140 * t140; + const double t1283 = 0.1e1 / t1282; + const double t1284 = t1265 * t1283; + const double t1287 = -0.70983522622222222221e-3 * t78 * t1170 * t127 - 0.34246666666666666666e-1 * t219 * t1221 * t555 - 0.2e1 * t1227 * t1229 + 0.1e1 * t548 * t1239 + 0.32163958997385070134e2 * t1244 * t1247 + t1250 + t1251 + t1252 - t1253 - t1254 - 0.24415263074675393405e-3 * t78 * t1170 * t141 - 0.10843581300301739842e-1 * t219 * t1258 * t572 - 0.11696447245269292414e1 * t1264 * t1266 + 0.5848223622634646207e0 * t565 * t1276 + 0.17315859105681463759e2 * t1281 * t1284; + const double t1289 = t113 * t116 * t1287; + const double t1292 = t523 * t165 * t141; + const double t1293 = t579 * t1292; + const double t1295 = t148 * t78; + const double t1296 = t514 * t586; + const double t1297 = t1295 * t1296; + const double t1300 = t1263 * t1265 * t571; + const double t1301 = t584 * t1300; + const double t1304 = t564 * t1275 * t571; + const double t1305 = t584 * t1304; + const double t1307 = t1280 * t1265; + const double t1308 = t1307 * t1283; + const double t1309 = t584 * t1308; + const double t1312 = 0.1e1 / t20 / t190; + const double t1313 = sigma * t1312; + const double t1314 = t1313 * t16; + const double t1318 = 0.1e1 / t595 / t152; + const double t1319 = beta * t1318; + const double t1321 = t1319 * t1320; + const double t1323 = 0.1e1 / t600 / t184; + const double t1324 = t1323 * t187; + const double t1325 = t1324 * t192; + const double t1326 = t1321 * t1325; + const double t1327 = t194 * t194; + const double t1329 = 0.1e1 / t1327 / t162; + const double t1331 = t17 * t1329 * t41; + const double t1332 = t612 * t612; + const double t1333 = t183 * t183; + const double t1334 = t1332 * t1333; + const double t1336 = t1331 * t609 * t1334; + const double t1339 = t602 * t620; + const double t1340 = t599 * t1339; + const double t1343 = 0.24415263074675393405e-3 * t1293; + const double t1344 = 0.10843581300301739842e-1 * t1297; + const double t1345 = 0.11696447245269292414e1 * t1301; + const double t1346 = 0.5848223622634646207e0 * t1305; + const double t1347 = 0.17315859105681463759e2 * t1309; + const double t1348 = -t1250 - t1251 - t1252 + t1253 + t1254 + t1289 + t1343 + t1344 + t1345 - t1346 - t1347; + const double t1349 = t1348 * t183; + const double t1351 = t608 * t609 * t1349; + const double t1354 = t1321 * t603; + const double t1355 = t1332 * t183; + const double t1357 = t1331 * t609 * t1355; + const double t1360 = t190 * t19; + const double t1362 = 0.1e1 / t21 / t1360; + const double t1363 = t1362 * t17; + const double t1365 = t1363 * t195 * t199; + const double t1368 = 0.35e2 / 0.432e3 * t1314 * t172 + t1326 * t1336 / 0.1536e4 - 0.7e1 / 0.2304e4 * t1340 * t615 + t604 * t1351 / 0.3072e4 - t1354 * t1357 / 0.3072e4 + 0.119e3 / 0.13824e5 * t189 * t1365; + const double t1369 = beta * t1368; + const double t1371 = t627 * t175; + const double t1375 = 0.1e1 / t630 / t208; + const double t1376 = t42 * t1375; + const double t1377 = t641 * t641; + const double t1378 = t1376 * t1377; + const double t1382 = t1319 * t1320 * t1323; + const double t1383 = t203 * t1332; + const double t1385 = 0.1e1 / t194 / t162; + const double t1386 = t1385 * t1333; + const double t1390 = t626 * t612; + const double t1394 = t203 * t1348; + const double t1398 = t1319 * t1320 * t601; + const double t1399 = t1385 * t183; + const double t1404 = t176 * t186 * t1368 + 0.2e1 * t1382 * t1383 * t1386 - t1398 * t1383 * t1399 + 0.2e1 * t634 * t1390 * t636 + t634 * t1394 * t636; + const double t1405 = t632 * t1404; + const double t1407 = t1369 * t210 - 0.2e1 * t1371 * t642 + 0.2e1 * t629 * t1378 - t629 * t1405; + const double t1410 = t154 * t163 * t1407 * t646; + const double t1412 = t644 * t644; + const double t1414 = t212 * t212; + const double t1415 = 0.1e1 / t1414; + const double t1417 = t154 * t163 * t1412 * t1415; + const double t1419 = -0.73823139888888888888e-3 * t1172 - 0.17808333333333333333e-1 * t1176 - 0.1e1 * t1183 + 0.50000000000000000001e0 * t1208 + 0.80409897493462675337e1 * t1216 + t1289 / 0.2e1 + 0.12207631537337696703e-3 * t1293 + 0.5421790650150869921e-2 * t1297 + 0.5848223622634646207e0 * t1301 - 0.29241118113173231035e0 * t1305 - 0.86579295528407318793e1 * t1309 + t1410 / 0.2e1 - t1417 / 0.2e1; + const double t1422 = 0.14764627977777777777e-2 * t219 * t984 * t652; + const double t1425 = t662 * t657 * t678 * t679; + const double t1427 = 0.35616666666666666666e-1 * t527 * t1425; + const double t1428 = t656 * t238; + const double t1429 = 0.1e1 / t1428; + const double t1430 = t226 * t1429; + const double t1431 = t678 * t678; + const double t1432 = t1431 * t679; + const double t1434 = 0.2e1 * t1430 * t1432; + const double t1438 = 0.1e1 / t227 / t224 * t91 * t92; + const double t1439 = t17 * t234; + const double t1440 = t1203 * t1439; + const double t1441 = t1438 * t1440; + const double t1443 = t1170 * t662; + const double t1444 = t661 * t1443; + const double t1446 = t984 * t222; + const double t1447 = t219 * t1446; + const double t1449 = 0.1e1/safe_math::sqrt( t224 ); + const double t1451 = t1449 * t91 * t92; + const double t1452 = t1451 * t1440; + const double t1454 = t671 * t1443; + const double t1457 = t232 * t967 * t234; + const double t1459 = -0.42198333333333333333e0 * t1441 + 0.84396666666666666666e0 * t1444 + 0.39862222222222222223e0 * t1447 + 0.68258333333333333333e-1 * t1452 + 0.13651666666666666667e0 * t1454 + 0.13692777777777777778e0 * t1457; + const double t1462 = 0.1e1 * t658 * t1459 * t679; + const double t1463 = t656 * t656; + const double t1464 = 0.1e1 / t1463; + const double t1465 = t226 * t1464; + const double t1466 = t241 * t241; + const double t1467 = 0.1e1 / t1466; + const double t1468 = t1431 * t1467; + const double t1470 = 0.16081979498692535067e2 * t1465 * t1468; + const double t1476 = t662 * t688 * t694 * t695; + const double t1479 = t687 * t258; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t253 * t1480; + const double t1482 = t694 * t694; + const double t1483 = t1482 * t695; + const double t1492 = -0.78438333333333333333e0 * t1441 + 0.15687666666666666667e1 * t1444 + 0.68863333333333333333e0 * t1447 + 0.14025833333333333333e0 * t1452 + 0.28051666666666666667e0 * t1454 + 0.17365833333333333333e0 * t1457; + const double t1496 = t687 * t687; + const double t1497 = 0.1e1 / t1496; + const double t1498 = t253 * t1497; + const double t1499 = t261 * t261; + const double t1500 = 0.1e1 / t1499; + const double t1501 = t1482 * t1500; + const double t1507 = t662 * t724; + const double t1510 = t703 * t271; + const double t1511 = 0.1e1 / t1510; + const double t1512 = t266 * t1511; + const double t1513 = t710 * t710; + const double t1514 = t1513 * t711; + const double t1523 = -0.57538888888888888889e0 * t1441 + 0.11507777777777777778e1 * t1444 + 0.40256666666666666667e0 * t1447 + 0.366775e-1 * t1452 + 0.73355e-1 * t1454 + 0.137975e0 * t1457; + const double t1524 = t1523 * t711; + const double t1527 = t703 * t703; + const double t1528 = 0.1e1 / t1527; + const double t1529 = t266 * t1528; + const double t1530 = t274 * t274; + const double t1531 = 0.1e1 / t1530; + const double t1532 = t1513 * t1531; + const double t1535 = -0.70983522622222222221e-3 * t219 * t984 * t683 - 0.34246666666666666666e-1 * t527 * t1476 - 0.2e1 * t1481 * t1483 + 0.1e1 * t689 * t1492 * t695 + 0.32163958997385070134e2 * t1498 * t1501 + t1422 + t1427 + t1434 - t1462 - t1470 - 0.24415263074675393405e-3 * t219 * t984 * t699 - 0.10843581300301739842e-1 * t527 * t1507 - 0.11696447245269292414e1 * t1512 * t1514 + 0.5848223622634646207e0 * t705 * t1524 + 0.17315859105681463759e2 * t1529 * t1532; + const double t1536 = t251 * t1535; + const double t1539 = 0.24415263074675393405e-3 * t717 * t1170 * t718; + const double t1540 = t251 * t219; + const double t1543 = 0.10843581300301739842e-1 * t1540 * t666 * t724; + const double t1545 = t1511 * t1513 * t711; + const double t1547 = 0.11696447245269292414e1 * t722 * t1545; + const double t1549 = t704 * t1523 * t711; + const double t1551 = 0.5848223622634646207e0 * t722 * t1549; + const double t1552 = t1528 * t1513; + const double t1553 = t1552 * t1531; + const double t1555 = 0.17315859105681463759e2 * t722 * t1553; + const double t1556 = t1313 * t289; + const double t1560 = 0.1e1 / t730 / t303; + const double t1561 = t1560 * t187; + const double t1562 = t308 * t308; + const double t1564 = 0.1e1 / t1562 / t286; + const double t1565 = t192 * t1564; + const double t1567 = t1321 * t1561 * t1565; + const double t1568 = t739 * t739; + const double t1569 = t302 * t302; + const double t1570 = t1568 * t1569; + const double t1571 = t738 * t1570; + const double t1572 = t199 * t1571; + const double t1575 = t620 * t734; + const double t1577 = t599 * t732 * t1575; + const double t1580 = -t1422 - t1427 - t1434 + t1462 + t1470 + t1536 + t1539 + t1543 + t1547 - t1551 - t1555; + const double t1581 = t1580 * t302; + const double t1582 = t738 * t1581; + const double t1583 = t199 * t1582; + const double t1587 = t1321 * t732 * t1565; + const double t1588 = t1568 * t302; + const double t1589 = t738 * t1588; + const double t1590 = t199 * t1589; + const double t1597 = 0.35e2 / 0.432e3 * t1556 * t293 + t1567 * t1572 / 0.768e3 - 0.7e1 / 0.1152e4 * t1577 * t742 + t737 * t1583 / 0.1536e4 - t1587 * t1590 / 0.1536e4 + 0.119e3 / 0.6912e4 * t296 * t305 * t1362 * t315; + const double t1598 = beta * t1597; + const double t1600 = t750 * t175; + const double t1604 = 0.1e1 / t753 / t323; + const double t1605 = t42 * t1604; + const double t1606 = t764 * t764; + const double t1607 = t1605 * t1606; + const double t1611 = t1319 * t1320 * t1560; + const double t1612 = t318 * t1568; + const double t1614 = 0.1e1 / t308 / t286; + const double t1615 = t1614 * t1569; + const double t1619 = t749 * t739; + const double t1623 = t318 * t1580; + const double t1627 = t1319 * t1320 * t731; + const double t1628 = t1614 * t302; + const double t1633 = t176 * t320 * t1597 + 0.2e1 * t1611 * t1612 * t1615 - t1627 * t1612 * t1628 + 0.2e1 * t757 * t1619 * t759 + t757 * t1623 * t759; + const double t1634 = t755 * t1633; + const double t1636 = t1598 * t325 - 0.2e1 * t1600 * t765 + 0.2e1 * t752 * t1607 - t752 * t1634; + const double t1640 = t767 * t767; + const double t1642 = t327 * t327; + const double t1643 = 0.1e1 / t1642; + const double t1646 = t154 * t287 * t1636 * t769 - t154 * t287 * t1640 * t1643 - t1422 - t1427 - t1434 + t1462 + t1470 + t1536 + t1539 + t1543 + t1547 - t1551 - t1555; + const double t1647 = -t1250 - t1251 - t1252 + t1253 + t1254 + t1289 + t1343 + t1344 + t1345 - t1346 - t1347 + t1410 - t1417; + const double t1648 = piecewise_functor_3( t332, t1646, t1647 ); + const double t1651 = piecewise_functor_3( t75, t1419, t1648 * t24 / 0.2e1 ); + const double t1654 = 0.14764627977777777777e-2 * t219 * t984 * t778; + const double t1657 = t788 * t783 * t803 * t804; + const double t1659 = 0.35616666666666666666e-1 * t527 * t1657; + const double t1660 = t782 * t352; + const double t1661 = 0.1e1 / t1660; + const double t1662 = t342 * t1661; + const double t1663 = t803 * t803; + const double t1664 = t1663 * t804; + const double t1666 = 0.2e1 * t1662 * t1664; + const double t1670 = 0.1e1 / t343 / t340 * t91 * t92; + const double t1671 = t17 * t348; + const double t1672 = t1203 * t1671; + const double t1673 = t1670 * t1672; + const double t1675 = t1170 * t788; + const double t1676 = t787 * t1675; + const double t1678 = t984 * t338; + const double t1679 = t219 * t1678; + const double t1681 = 0.1e1/safe_math::sqrt( t340 ); + const double t1683 = t1681 * t91 * t92; + const double t1684 = t1683 * t1672; + const double t1686 = t797 * t1675; + const double t1689 = t232 * t967 * t348; + const double t1691 = -0.42198333333333333333e0 * t1673 + 0.84396666666666666666e0 * t1676 + 0.39862222222222222223e0 * t1679 + 0.68258333333333333333e-1 * t1684 + 0.13651666666666666667e0 * t1686 + 0.13692777777777777778e0 * t1689; + const double t1694 = 0.1e1 * t784 * t1691 * t804; + const double t1695 = t782 * t782; + const double t1696 = 0.1e1 / t1695; + const double t1697 = t342 * t1696; + const double t1698 = t355 * t355; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t1663 * t1699; + const double t1702 = 0.16081979498692535067e2 * t1697 * t1700; + const double t1708 = t788 * t813 * t819 * t820; + const double t1711 = t812 * t365; + const double t1712 = 0.1e1 / t1711; + const double t1713 = t360 * t1712; + const double t1714 = t819 * t819; + const double t1715 = t1714 * t820; + const double t1724 = -0.78438333333333333333e0 * t1673 + 0.15687666666666666667e1 * t1676 + 0.68863333333333333333e0 * t1679 + 0.14025833333333333333e0 * t1684 + 0.28051666666666666667e0 * t1686 + 0.17365833333333333333e0 * t1689; + const double t1728 = t812 * t812; + const double t1729 = 0.1e1 / t1728; + const double t1730 = t360 * t1729; + const double t1731 = t368 * t368; + const double t1732 = 0.1e1 / t1731; + const double t1733 = t1714 * t1732; + const double t1739 = t788 * t848; + const double t1742 = t828 * t378; + const double t1743 = 0.1e1 / t1742; + const double t1744 = t373 * t1743; + const double t1745 = t835 * t835; + const double t1746 = t1745 * t836; + const double t1755 = -0.57538888888888888889e0 * t1673 + 0.11507777777777777778e1 * t1676 + 0.40256666666666666667e0 * t1679 + 0.366775e-1 * t1684 + 0.73355e-1 * t1686 + 0.137975e0 * t1689; + const double t1756 = t1755 * t836; + const double t1759 = t828 * t828; + const double t1760 = 0.1e1 / t1759; + const double t1761 = t373 * t1760; + const double t1762 = t381 * t381; + const double t1763 = 0.1e1 / t1762; + const double t1764 = t1745 * t1763; + const double t1767 = -0.70983522622222222221e-3 * t219 * t984 * t808 - 0.34246666666666666666e-1 * t527 * t1708 - 0.2e1 * t1713 * t1715 + 0.1e1 * t814 * t1724 * t820 + 0.32163958997385070134e2 * t1730 * t1733 + t1654 + t1659 + t1666 - t1694 - t1702 - 0.24415263074675393405e-3 * t219 * t984 * t824 - 0.10843581300301739842e-1 * t527 * t1739 - 0.11696447245269292414e1 * t1744 * t1746 + 0.5848223622634646207e0 * t830 * t1756 + 0.17315859105681463759e2 * t1761 * t1764; + const double t1768 = t251 * t1767; + const double t1771 = 0.24415263074675393405e-3 * t717 * t1170 * t842; + const double t1774 = 0.10843581300301739842e-1 * t1540 * t792 * t848; + const double t1776 = t1743 * t1745 * t836; + const double t1778 = 0.11696447245269292414e1 * t846 * t1776; + const double t1780 = t829 * t1755 * t836; + const double t1782 = 0.5848223622634646207e0 * t846 * t1780; + const double t1783 = t1760 * t1745; + const double t1784 = t1783 * t1763; + const double t1786 = 0.17315859105681463759e2 * t846 * t1784; + const double t1790 = 0.1e1 / t853 / t398; + const double t1791 = t1790 * t187; + const double t1793 = t1321 * t1791 * t1565; + const double t1794 = t859 * t859; + const double t1795 = t397 * t397; + const double t1796 = t1794 * t1795; + const double t1797 = t858 * t1796; + const double t1798 = t199 * t1797; + const double t1802 = t599 * t855 * t1575; + const double t1805 = -t1654 - t1659 - t1666 + t1694 + t1702 + t1768 + t1771 + t1774 + t1778 - t1782 - t1786; + const double t1806 = t1805 * t397; + const double t1807 = t858 * t1806; + const double t1808 = t199 * t1807; + const double t1812 = t1321 * t855 * t1565; + const double t1813 = t1794 * t397; + const double t1814 = t858 * t1813; + const double t1815 = t199 * t1814; + const double t1822 = 0.35e2 / 0.432e3 * t1556 * t391 + t1793 * t1798 / 0.768e3 - 0.7e1 / 0.1152e4 * t1802 * t862 + t857 * t1808 / 0.1536e4 - t1812 * t1815 / 0.1536e4 + 0.119e3 / 0.6912e4 * t296 * t400 * t1362 * t405; + const double t1823 = beta * t1822; + const double t1825 = t870 * t175; + const double t1829 = 0.1e1 / t873 / t413; + const double t1830 = t42 * t1829; + const double t1831 = t884 * t884; + const double t1832 = t1830 * t1831; + const double t1836 = t1319 * t1320 * t1790; + const double t1837 = t408 * t1794; + const double t1838 = t1614 * t1795; + const double t1842 = t869 * t859; + const double t1846 = t408 * t1805; + const double t1850 = t1319 * t1320 * t854; + const double t1851 = t1614 * t397; + const double t1856 = t176 * t410 * t1822 + 0.2e1 * t1836 * t1837 * t1838 - t1850 * t1837 * t1851 + 0.2e1 * t877 * t1842 * t879 + t877 * t1846 * t879; + const double t1857 = t875 * t1856; + const double t1859 = t1823 * t415 - 0.2e1 * t1825 * t885 + 0.2e1 * t872 * t1832 - t872 * t1857; + const double t1863 = t887 * t887; + const double t1865 = t417 * t417; + const double t1866 = 0.1e1 / t1865; + const double t1869 = t154 * t287 * t1859 * t889 - t154 * t287 * t1863 * t1866 - t1654 - t1659 - t1666 + t1694 + t1702 + t1768 + t1771 + t1774 + t1778 - t1782 - t1786; + const double t1870 = piecewise_functor_3( t422, t1869, t1647 ); + const double t1873 = piecewise_functor_3( t75, t1419, t1870 * t31 / 0.2e1 ); + const double t1874 = t1651 + t1873; + const double t1882 = 0.4e1 * t1150 * t508 + 0.2e1 * t62 * t1155 + 0.2e1 * t899 * t1166 + t1148; + const double t1887 = 0.24415263074675393405e-3 * t904 * t1292; + const double t1888 = t434 * t78; + const double t1890 = 0.10843581300301739842e-1 * t1888 * t1296; + const double t1892 = 0.11696447245269292414e1 * t907 * t1300; + const double t1894 = 0.5848223622634646207e0 * t907 * t1304; + const double t1896 = 0.17315859105681463759e2 * t907 * t1308; + const double t1900 = 0.1e1 / t912 / t451; + const double t1901 = t1900 * t187; + const double t1902 = t1901 * t192; + const double t1903 = t1321 * t1902; + const double t1904 = t456 * t456; + const double t1906 = 0.1e1 / t1904 / t438; + const double t1908 = t17 * t1906 * t41; + const double t1909 = t921 * t921; + const double t1910 = t450 * t450; + const double t1911 = t1909 * t1910; + const double t1913 = t1908 * t609 * t1911; + const double t1916 = t914 * t620; + const double t1917 = t599 * t1916; + const double t1920 = -t1250 - t1251 - t1252 + t1253 + t1254 + t1887 + t1890 + t1892 - t1894 - t1896; + const double t1921 = t1920 * t450; + const double t1923 = t920 * t609 * t1921; + const double t1926 = t1321 * t915; + const double t1927 = t1909 * t450; + const double t1929 = t1908 * t609 * t1927; + const double t1933 = t1363 * t457 * t199; + const double t1936 = 0.35e2 / 0.432e3 * t1314 * t442 + t1903 * t1913 / 0.1536e4 - 0.7e1 / 0.2304e4 * t1917 * t924 + t916 * t1923 / 0.3072e4 - t1926 * t1929 / 0.3072e4 + 0.119e3 / 0.13824e5 * t455 * t1933; + const double t1937 = beta * t1936; + const double t1939 = t932 * t175; + const double t1943 = 0.1e1 / t935 / t466; + const double t1944 = t42 * t1943; + const double t1945 = t946 * t946; + const double t1946 = t1944 * t1945; + const double t1950 = t1319 * t1320 * t1900; + const double t1951 = t462 * t1909; + const double t1953 = 0.1e1 / t456 / t438; + const double t1954 = t1953 * t1910; + const double t1958 = t931 * t921; + const double t1962 = t462 * t1920; + const double t1966 = t1319 * t1320 * t913; + const double t1967 = t1953 * t450; + const double t1972 = t176 * t453 * t1936 + 0.2e1 * t1950 * t1951 * t1954 - t1966 * t1951 * t1967 + 0.2e1 * t939 * t1958 * t941 + t939 * t1962 * t941; + const double t1973 = t937 * t1972; + const double t1975 = t1937 * t468 - 0.2e1 * t1939 * t947 + 0.2e1 * t934 * t1946 - t934 * t1973; + const double t1979 = t949 * t949; + const double t1981 = t470 * t470; + const double t1982 = 0.1e1 / t1981; + const double t1985 = t154 * t439 * t1975 * t951 - t154 * t439 * t1979 * t1982 - t1250 - t1251 - t1252 + t1253 + t1254 + t1887 + t1890 + t1892 - t1894 - t1896; + const double t1987 = -t1148 * t427 - 0.4e1 * t1150 * t509 - 0.2e1 * t1156 * t427 - 0.4e1 * t503 * t1159 - 0.2e1 * t503 * t1167 - t72 * t1874 + t1882 * t474 + t430 * t1985 - 0.2e1 * t501 * t897 + 0.2e1 * t902 * t954; + const double t1988 = rho * t1987; + const double t1992 = d * t1987; + const double t1996 = t70 * t1155; + const double t1999 = t71 * t1166; + const double t2002 = t1992 * t478 + 0.6e1 * t477 * t1996 + 0.3e1 * t477 * t1999 + 0.6e1 * t960 * t962; + const double t2006 = t1123 * t1124 * t970; + const double t2009 = t2007 * t1130 * t494; + const double t2012 = t17 * t487; + const double t2016 = -0.8e1 / 0.3e1 * t2012 * t28 - 0.8e1 / 0.3e1 * t2012 * t35 + 0.8e1 / 0.3e1 * t487; + const double t2022 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t2006 * t2009 - t484 * t2016 * t41 * t496 / 0.6e1 ); + const double t2023 = t2022 * t71; + const double t2025 = t975 * t70; + const double t2031 = t63 * t508; + const double t2034 = t897 * t980; + const double t2039 = piecewise_functor_3( t69, 0.0, -t504 * t66 / 0.8e1 ); + const double t2040 = t427 * t2039; + const double t2044 = t1059 * t508; + const double t2047 = t590 * t16; + const double t2051 = t601 * sigma; + const double t2052 = t2051 * t192; + const double t2053 = t599 * t2052; + const double t2058 = -0.7e1 / 0.288e3 * t2047 * t168 * t987 + t2053 * t615 / 0.1536e4 - 0.7e1 / 0.2304e4 * t991 * t623; + const double t2059 = beta * t2058; + const double t2061 = t995 * t175; + const double t2063 = t997 * t626; + const double t2064 = t2063 * t596; + const double t2066 = t596 * t598; + const double t2067 = t998 * t2066; + const double t2068 = t1375 * t185; + const double t2069 = t994 * t641; + const double t2070 = t2068 * t2069; + const double t2073 = t1318 * t1320; + const double t2074 = t2073 * t631; + const double t2075 = t998 * t2074; + const double t2076 = t601 * t994; + const double t2078 = t612 * t180 * t183; + const double t2079 = t2076 * t2078; + const double t2082 = t1000 * t185 * t2058; + const double t2084 = -t2064 * t1002 + t2059 * t210 - t2061 * t642 + 0.2e1 * t2067 * t2070 - t2075 * t2079 - t999 * t2082; + const double t2088 = t154 * t163; + const double t2089 = t1004 * t1415; + const double t2092 = t154 * t163 * t2084 * t646 - t2088 * t2089 * t644; + const double t2093 = t2092 / 0.2e1; + const double t2095 = t590 * t288 * t91; + const double t2098 = t731 * sigma; + const double t2100 = t599 * t2098 * t735; + const double t2107 = -0.7e1 / 0.288e3 * t2095 * t293 + t2100 * t742 / 0.768e3 - 0.7e1 / 0.1152e4 * t296 * t1013 * t620 * t315; + const double t2108 = beta * t2107; + const double t2110 = t1019 * t175; + const double t2112 = t997 * t749; + const double t2113 = t2112 * t596; + const double t2115 = t1021 * t2066; + const double t2116 = t1604 * t304; + const double t2117 = t1018 * t764; + const double t2118 = t2116 * t2117; + const double t2121 = t2073 * t754; + const double t2122 = t1021 * t2121; + const double t2123 = t731 * t1018; + const double t2125 = t739 * t299 * t302; + const double t2126 = t2123 * t2125; + const double t2129 = t1023 * t304 * t2107; + const double t2131 = -t1022 * t2129 - t2113 * t1025 + t2108 * t325 - t2110 * t765 + 0.2e1 * t2115 * t2118 - t2122 * t2126; + const double t2135 = t154 * t287; + const double t2136 = t1027 * t1643; + const double t2140 = piecewise_functor_3( t332, t154 * t287 * t2131 * t769 - t2135 * t2136 * t767, t2092 ); + const double t2143 = piecewise_functor_3( t75, t2093, t2140 * t24 / 0.2e1 ); + const double t2146 = t854 * sigma; + const double t2148 = t599 * t2146 * t735; + const double t2155 = -0.7e1 / 0.288e3 * t2095 * t391 + t2148 * t862 / 0.768e3 - 0.7e1 / 0.1152e4 * t296 * t1037 * t620 * t405; + const double t2156 = beta * t2155; + const double t2158 = t1043 * t175; + const double t2160 = t997 * t869; + const double t2161 = t2160 * t596; + const double t2163 = t1045 * t2066; + const double t2164 = t1829 * t399; + const double t2165 = t1042 * t884; + const double t2166 = t2164 * t2165; + const double t2169 = t2073 * t874; + const double t2170 = t1045 * t2169; + const double t2171 = t854 * t1042; + const double t2173 = t859 * t299 * t397; + const double t2174 = t2171 * t2173; + const double t2177 = t1047 * t399 * t2155; + const double t2179 = -t1046 * t2177 - t2161 * t1049 + t2156 * t415 - t2158 * t885 + 0.2e1 * t2163 * t2166 - t2170 * t2174; + const double t2183 = t1051 * t1866; + const double t2187 = piecewise_functor_3( t422, t154 * t287 * t2179 * t889 - t2135 * t2183 * t887, t2092 ); + const double t2190 = piecewise_functor_3( t75, t2093, t2187 * t31 / 0.2e1 ); + const double t2191 = t2143 + t2190; + const double t2197 = t62 * t508; + const double t2202 = 0.2e1 * t1150 * t980 + 0.2e1 * t2025 * t508 + 0.2e1 * t899 * t2039 + 0.2e1 * t2197 * t980 + t2023; + const double t2206 = t902 * t152 * t153; + const double t2211 = t913 * sigma; + const double t2212 = t2211 * t192; + const double t2213 = t599 * t2212; + const double t2218 = -0.7e1 / 0.288e3 * t2047 * t440 * t987 + t2213 * t924 / 0.1536e4 - 0.7e1 / 0.2304e4 * t1071 * t928; + const double t2219 = beta * t2218; + const double t2221 = t1075 * t175; + const double t2223 = t997 * t931; + const double t2224 = t2223 * t596; + const double t2226 = t1077 * t2066; + const double t2227 = t1943 * t452; + const double t2228 = t1074 * t946; + const double t2229 = t2227 * t2228; + const double t2232 = t2073 * t936; + const double t2233 = t1077 * t2232; + const double t2234 = t913 * t1074; + const double t2236 = t921 * t447 * t450; + const double t2237 = t2234 * t2236; + const double t2240 = t1079 * t452 * t2218; + const double t2242 = -t1078 * t2240 - t2224 * t1081 + t2219 * t468 - t2221 * t947 + 0.2e1 * t2226 * t2229 - t2233 * t2237; + const double t2243 = t439 * t2242; + const double t2244 = t2243 * t951; + const double t2246 = t1982 * t949; + const double t2247 = t1084 * t2246; + const double t2249 = -t501 * t1059 + t1063 * t954 + t1066 * t2244 - t1066 * t2247 + t2206 * t1085 - 0.2e1 * t1150 * t981 - t2023 * t427 - 0.2e1 * t2025 * t509 - 0.2e1 * t2031 * t981 - 0.2e1 * t503 * t2034 - 0.2e1 * t503 * t2040 - 0.2e1 * t503 * t2044 - t72 * t2191 + t2202 * t474 - t976 * t897; + const double t2250 = rho * t2249; + const double t2255 = d * t2249; + const double t2261 = t70 * t980; + const double t2262 = t2261 * t508; + const double t2265 = t71 * t2039; + const double t2268 = 0.3e1 * t1090 * t962 + 0.3e1 * t960 * t1092 + t2255 * t478 + 0.6e1 * t477 * t2262 + 0.3e1 * t477 * t2265; + const double t2273 = t897 * t1101; + const double t2277 = piecewise_functor_3( t69, 0.0, t505 * t1098 / 0.8e1 ); + const double t2278 = t427 * t2277; + const double t2282 = t2277 * t474; + const double t2284 = t1101 * t954; + const double t2287 = -0.2e1 * t1150 * t1102 - 0.2e1 * t2031 * t1102 + 0.2e1 * t1150 * t1104 + 0.2e1 * t2197 * t1104 - 0.2e1 * t503 * t2273 - 0.2e1 * t503 * t2278 + 0.2e1 * t899 * t2282 + 0.2e1 * t899 * t2284; + const double t2288 = rho * t2287; + const double t2293 = d * t2287; + const double t2299 = t70 * t1101; + const double t2300 = t2299 * t508; + const double t2303 = t71 * t2277; + const double t2306 = 0.3e1 * t1110 * t962 + 0.3e1 * t960 * t1112 + t2293 * t478 + 0.6e1 * t477 * t2300 + 0.3e1 * t477 * t2303; + const double t2308 = t970 * t970; + const double t2313 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1125 * t2308 * t91 * t1131 ); + const double t2314 = t2313 * t71; + const double t2320 = t980 * t980; + const double t2321 = t63 * t2320; + const double t2324 = t1059 * t980; + const double t2327 = piecewise_functor_3( t69, 0.0, 0.0 ); + const double t2328 = t427 * t2327; + const double t2330 = 0.2e1 * t503 * t2328; + const double t2331 = t997 * t596; + const double t2332 = t598 * t185; + const double t2338 = t17 * t195 * t41 * t609 * t209; + const double t2341 = t994 * t994; + const double t2342 = t997 * t2341; + const double t2343 = t2342 * t596; + const double t2344 = t1000 * t185; + const double t2348 = t2347 * t203; + const double t2349 = t2348 * t1318; + const double t2350 = t1320 * t1375; + const double t2352 = t2350 * t601 * t2341; + const double t2356 = t1320 * t631 * t601; + const double t2357 = t2349 * t2356; + const double t2360 = t2331 * t2332 * t192 * t2338 / 0.1536e4 - 0.2e1 * t2343 * t2344 + 0.2e1 * t2349 * t2352 - t2357 * t200 / 0.1536e4; + const double t2364 = t1004 * t1004; + const double t2368 = -t154 * t163 * t2364 * t1415 + t154 * t163 * t2360 * t646; + const double t2369 = t2368 / 0.2e1; + const double t2370 = t2331 * t598; + const double t2373 = t2370 * t304 * t192 * t309; + const double t2375 = t199 * t738 * t324; + const double t2378 = t1018 * t1018; + const double t2379 = t997 * t2378; + const double t2380 = t2379 * t596; + const double t2381 = t1023 * t304; + const double t2384 = t2347 * t318; + const double t2385 = t2384 * t1318; + const double t2386 = t1320 * t1604; + const double t2388 = t2386 * t731 * t2378; + const double t2392 = t1320 * t754 * t731; + const double t2393 = t2385 * t2392; + const double t2394 = t192 * t309; + const double t2395 = t2394 * t41; + const double t2396 = t609 * t738; + const double t2397 = t2395 * t2396; + const double t2400 = t2373 * t2375 / 0.768e3 - 0.2e1 * t2380 * t2381 + 0.2e1 * t2385 * t2388 - t2393 * t2397 / 0.768e3; + const double t2404 = t1027 * t1027; + const double t2409 = piecewise_functor_3( t332, -t154 * t287 * t2404 * t1643 + t154 * t287 * t2400 * t769, t2368 ); + const double t2412 = piecewise_functor_3( t75, t2369, t2409 * t24 / 0.2e1 ); + const double t2415 = t2370 * t399 * t192 * t309; + const double t2417 = t199 * t858 * t414; + const double t2420 = t1042 * t1042; + const double t2421 = t997 * t2420; + const double t2422 = t2421 * t596; + const double t2423 = t1047 * t399; + const double t2426 = t2347 * t408; + const double t2427 = t2426 * t1318; + const double t2428 = t1320 * t1829; + const double t2430 = t2428 * t854 * t2420; + const double t2434 = t1320 * t874 * t854; + const double t2435 = t2427 * t2434; + const double t2436 = t609 * t858; + const double t2437 = t2395 * t2436; + const double t2440 = t2415 * t2417 / 0.768e3 - 0.2e1 * t2422 * t2423 + 0.2e1 * t2427 * t2430 - t2435 * t2437 / 0.768e3; + const double t2444 = t1051 * t1051; + const double t2449 = piecewise_functor_3( t422, -t154 * t287 * t2444 * t1866 + t154 * t287 * t2440 * t889, t2368 ); + const double t2452 = piecewise_functor_3( t75, t2369, t2449 * t31 / 0.2e1 ); + const double t2453 = t2412 + t2452; + const double t2460 = 0.2e1 * t899 * t2327; + const double t2461 = 0.4e1 * t2025 * t980 + 0.2e1 * t62 * t2320 + t2314 + t2460; + const double t2464 = t1063 * t152 * t153; + const double t2467 = t598 * t452; + const double t2473 = t17 * t457 * t41 * t609 * t467; + const double t2476 = t1074 * t1074; + const double t2477 = t997 * t2476; + const double t2478 = t2477 * t596; + const double t2479 = t1079 * t452; + const double t2482 = t2347 * t462; + const double t2483 = t2482 * t1318; + const double t2484 = t1320 * t1943; + const double t2486 = t2484 * t913 * t2476; + const double t2490 = t1320 * t936 * t913; + const double t2491 = t2483 * t2490; + const double t2494 = t2331 * t2467 * t192 * t2473 / 0.1536e4 - 0.2e1 * t2478 * t2479 + 0.2e1 * t2483 * t2486 - t2491 * t459 / 0.1536e4; + const double t2495 = t439 * t2494; + const double t2496 = t2495 * t951; + const double t2498 = t1083 * t1083; + const double t2499 = t439 * t2498; + const double t2500 = t2499 * t1982; + const double t2502 = -0.2e1 * t976 * t1059 + t1066 * t2496 - t1066 * t2500 + 0.2e1 * t2464 * t1085 - 0.4e1 * t2025 * t981 - t2314 * t427 - 0.2e1 * t2321 * t427 - 0.4e1 * t503 * t2324 - t72 * t2453 + t2461 * t474 - t2330; + const double t2503 = rho * t2502; + const double t2507 = d * t2502; + const double t2511 = t70 * t2320; + const double t2514 = t71 * t2327; + const double t2516 = 0.3e1 * t477 * t2514; + const double t2517 = 0.6e1 * t1090 * t1092 + t2507 * t478 + 0.6e1 * t477 * t2511 + t2516; + const double t2520 = t63 * t980; + const double t2522 = t1059 * t1101; + const double t2526 = piecewise_functor_3( t69, 0.0, -t64 * t1098 / 0.8e1 ); + const double t2527 = t427 * t2526; + const double t2530 = t62 * t980; + const double t2532 = t2526 * t474; + const double t2534 = t1101 * t152; + const double t2535 = t899 * t2534; + const double t2536 = t153 * t439; + const double t2538 = t2536 * t1083 * t951; + const double t2541 = -0.2e1 * t2025 * t1102 - 0.2e1 * t2520 * t1102 + 0.2e1 * t2025 * t1104 + 0.2e1 * t2530 * t1104 - 0.2e1 * t503 * t2522 - 0.2e1 * t503 * t2527 + 0.2e1 * t899 * t2532 + 0.2e1 * t2535 * t2538; + const double t2542 = rho * t2541; + const double t2546 = d * t2541; + const double t2552 = t2299 * t980; + const double t2555 = t71 * t2526; + const double t2558 = 0.3e1 * t1090 * t1112 + 0.3e1 * t1110 * t1092 + t2546 * t478 + 0.6e1 * t477 * t2552 + 0.3e1 * t477 * t2555; + const double t2560 = t1101 * t1101; + const double t2561 = t63 * t2560; + const double t2564 = 0.1e1 / t1097 / tau; + const double t2567 = piecewise_functor_3( t69, 0.0, t65 * t2564 / 0.4e1 ); + const double t2568 = t427 * t2567; + const double t2570 = t62 * t2560; + const double t2572 = t2567 * t474; + const double t2575 = -0.2e1 * t2561 * t427 - 0.2e1 * t503 * t2568 + 0.2e1 * t2570 * t474 + 0.2e1 * t899 * t2572; + const double t2576 = rho * t2575; + const double t2580 = d * t2575; + const double t2584 = t70 * t2560; + const double t2587 = t71 * t2567; + const double t2590 = 0.6e1 * t1110 * t1112 + t2580 * t478 + 0.6e1 * t477 * t2584 + 0.3e1 * t477 * t2587; + + + v2rho2 = t1988 * t480 + t959 * t2002 + 0.2e1 * t476 * t965 + 0.2e1 * t956 * t480 + 0.2e1 * t957 * t965; + v2rhosigma = t1087 * t480 + t1088 * t965 + t476 * t1095 + t957 * t1095 + t2250 * t480 + t959 * t2268; + v2rholapl = 0.e0; + v2rhotau = t1107 * t480 + t1108 * t965 + t476 * t1115 + t957 * t1115 + t2288 * t480 + t959 * t2306; + v2sigma2 = 0.2e1 * t1088 * t1095 + t2503 * t480 + t959 * t2517; + v2sigmalapl = 0.e0; + v2sigmatau = t1088 * t1115 + t1108 * t1095 + t2542 * t480 + t959 * t2558; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * t1108 * t1115 + t2576 * t480 + t959 * t2590; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t16 = constants::m_cbrt_2; + constexpr double t41 = constants::m_cbrt_3; + constexpr double t42 = constants::m_pi_sq; + constexpr double t43 = constants::m_cbrt_pi_sq; + constexpr double t77 = constants::m_cbrt_one_ov_pi; + constexpr double t79 = constants::m_cbrt_4; + constexpr double t5 = C0_c_0; + constexpr double t17 = t16 * t16; + constexpr double t44 = t43 * t43; + constexpr double t45 = 0.1e1 / t44; + constexpr double t46 = t41 * t45; + constexpr double t78 = t41 * t77; + constexpr double t80 = t79 * t79; + constexpr double t91 = t41 * t41; + constexpr double t92 = t77 * t77; + constexpr double t93 = t91 * t92; + constexpr double t153 = 0.1e1 / t42; + constexpr double t170 = 0.1e1 / t77; + constexpr double t171 = t170 * t79; + constexpr double t197 = 0.1e1 / t92; + constexpr double t198 = t41 * t197; + constexpr double t199 = t198 * t80; + constexpr double t219 = t78 * t80; + constexpr double t232 = t93 * t79; + constexpr double t312 = t80 * t16; + constexpr double t523 = t77 * t80; + constexpr double t598 = t42 * t42; + constexpr double t609 = t197 * t80; + constexpr double t987 = t91 * t170 * t79; + constexpr double t997 = beta * beta; + constexpr double t1129 = 0.1e1 / t43 / t42; + constexpr double t1188 = t92 * t79; + constexpr double t1320 = t598 * t42; + constexpr double t2007 = t91 * t1129; + constexpr double t2347 = t997 * beta; + + + const double t3 = piecewise_functor_3( 0.0 < 0.0, 0.0, 0.0 ); + const double t4 = -t3 <= -0.999999999999e0; + const double t10 = 0.1e1 <= zeta_tol; + const double t11 = zeta_tol - 0.1e1; + const double t13 = piecewise_functor_5( t10, t11, t10, -t11, 0.0 ); + const double t14 = t13 * t13; + const double t15 = 0.1e1 - t14; + const double t18 = sigma * t17; + const double t19 = rho * rho; + const double t20 = safe_math::cbrt( rho ); + const double t21 = t20 * t20; + const double t23 = 0.1e1 / t21 / t19; + const double t24 = 0.1e1 + t13; + const double t25 = t24 / 0.2e1; + const double t26 = safe_math::cbrt( t25 ); + const double t27 = t26 * t26; + const double t28 = t27 * t25; + const double t31 = 0.1e1 - t13; + const double t32 = t31 / 0.2e1; + const double t33 = safe_math::cbrt( t32 ); + const double t34 = t33 * t33; + const double t35 = t34 * t32; + const double t47 = safe_math::cbrt( t24 ); + const double t48 = t47 * t24; + const double t50 = safe_math::cbrt( t31 ); + const double t51 = t50 * t31; + const double t53 = 0.1e1 / t48 + 0.1e1 / t51; + const double t57 = 0.1e1 + t15 * ( t18 * t23 * t28 + t18 * t23 * t35 - sigma * t23 ) * t46 * t53 / 0.24e2; + const double t58 = t57 * t57; + const double t59 = t58 * t58; + const double t62 = piecewise_functor_3( t4, t5 + C0_c_1 + C0_c_2 + C0_c_3, t5 / t59 ); + const double t63 = 0.1e1 + t62; + const double t64 = 0.1e1 / rho; + const double t65 = sigma * t64; + const double t66 = 0.1e1 / tau; + const double t68 = t65 * t66 / 0.8e1; + const double t69 = 0.1e1 < t68; + const double t70 = piecewise_functor_3( t69, 1.0, t68 ); + const double t71 = t70 * t70; + const double t72 = t63 * t71; + const double t75 = rho / 0.2e1 <= dens_tol || t10; + const double t81 = 0.1e1 / t20; + const double t83 = t78 * t80 * t81; + const double t85 = 0.1e1 + 0.53425e-1 * t83; + const double t86 = safe_math::sqrt( t83 ); + const double t89 = pow_3_2( t83 ); + const double t94 = 0.1e1 / t21; + const double t96 = t93 * t79 * t94; + const double t98 = 0.379785e1 * t86 + 0.8969e0 * t83 + 0.204775e0 * t89 + 0.123235e0 * t96; + const double t101 = 0.1e1 + 0.16081979498692535067e2 / t98; + const double t102 = safe_math::log( t101 ); + const double t103 = t85 * t102; + const double t105 = t14 * t14; + const double t106 = t24 <= zeta_tol; + const double t107 = safe_math::cbrt( zeta_tol ); + const double t108 = t107 * zeta_tol; + const double t109 = piecewise_functor_3( t106, t108, t48 ); + const double t110 = t31 <= zeta_tol; + const double t111 = piecewise_functor_3( t110, t108, t51 ); + const double t112 = t109 + t111 - 0.2e1; + const double t113 = t105 * t112; + const double t116 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t118 = 0.1e1 + 0.5137e-1 * t83; + const double t123 = 0.705945e1 * t86 + 0.1549425e1 * t83 + 0.420775e0 * t89 + 0.1562925e0 * t96; + const double t126 = 0.1e1 + 0.32163958997385070134e2 / t123; + const double t127 = safe_math::log( t126 ); + const double t130 = 0.621814e-1 * t103; + const double t132 = 0.1e1 + 0.278125e-1 * t83; + const double t137 = 0.51785e1 * t86 + 0.905775e0 * t83 + 0.1100325e0 * t89 + 0.1241775e0 * t96; + const double t140 = 0.1e1 + 0.29608749977793437516e2 / t137; + const double t141 = safe_math::log( t140 ); + const double t142 = t132 * t141; + const double t146 = t113 * t116 * ( -0.310907e-1 * t118 * t127 + t130 - 0.19751673498613801407e-1 * t142 ); + const double t148 = t112 * t116; + const double t149 = t148 * t142; + const double t151 = safe_math::log( 0.2e1 ); + const double t152 = 0.1e1 - t151; + const double t154 = t152 * t153; + const double t155 = t107 * t107; + const double t156 = t47 * t47; + const double t157 = piecewise_functor_3( t106, t155, t156 ); + const double t158 = t50 * t50; + const double t159 = piecewise_functor_3( t110, t155, t158 ); + const double t161 = t157 / 0.2e1 + t159 / 0.2e1; + const double t162 = t161 * t161; + const double t163 = t162 * t161; + const double t165 = 0.1e1 / t20 / t19; + const double t166 = sigma * t165; + const double t167 = t166 * t16; + const double t168 = 0.1e1 / t162; + const double t172 = t168 * t91 * t171; + const double t175 = 0.1e1 / t152; + const double t176 = beta * t175; + const double t177 = 0.19751673498613801407e-1 * t149; + const double t180 = 0.1e1 / t163; + const double t183 = safe_math::exp( -( -t130 + t146 + t177 ) * t175 * t42 * t180 ); + const double t184 = t183 - 0.1e1; + const double t185 = 0.1e1 / t184; + const double t186 = t42 * t185; + const double t187 = sigma * sigma; + const double t189 = t176 * t186 * t187; + const double t190 = t19 * t19; + const double t192 = 0.1e1 / t21 / t190; + const double t193 = t192 * t17; + const double t194 = t162 * t162; + const double t195 = 0.1e1 / t194; + const double t196 = t193 * t195; + const double t200 = t196 * t199; + const double t203 = t167 * t172 / 0.96e2 + t189 * t200 / 0.3072e4; + const double t204 = beta * t203; + const double t205 = t175 * t42; + const double t208 = t176 * t186 * t203 + 0.1e1; + const double t209 = 0.1e1 / t208; + const double t210 = t205 * t209; + const double t212 = t204 * t210 + 0.1e1; + const double t213 = safe_math::log( t212 ); + const double t215 = t154 * t163 * t213; + const double t217 = -0.310907e-1 * t103 + t146 / 0.2e1 + 0.98758367493069007035e-2 * t149 + t215 / 0.2e1; + const double t218 = -t130 + t146 + t177 + t215; + const double t220 = t81 * t16; + const double t221 = 0.1e1 / t24; + const double t222 = safe_math::cbrt( t221 ); + const double t224 = t219 * t220 * t222; + const double t226 = 0.1e1 + 0.53425e-1 * t224; + const double t227 = safe_math::sqrt( t224 ); + const double t230 = pow_3_2( t224 ); + const double t233 = t94 * t17; + const double t234 = t222 * t222; + const double t236 = t232 * t233 * t234; + const double t238 = 0.379785e1 * t227 + 0.8969e0 * t224 + 0.204775e0 * t230 + 0.123235e0 * t236; + const double t241 = 0.1e1 + 0.16081979498692535067e2 / t238; + const double t242 = safe_math::log( t241 ); + const double t244 = 0.621814e-1 * t226 * t242; + const double t245 = 0.2e1 <= zeta_tol; + const double t247 = piecewise_functor_3( t245, t108, 0.2e1 * t16 ); + const double t248 = 0.e0 <= zeta_tol; + const double t249 = piecewise_functor_3( t248, t108, 0.0 ); + const double t251 = ( t247 + t249 - 0.2e1 ) * t116; + const double t253 = 0.1e1 + 0.5137e-1 * t224; + const double t258 = 0.705945e1 * t227 + 0.1549425e1 * t224 + 0.420775e0 * t230 + 0.1562925e0 * t236; + const double t261 = 0.1e1 + 0.32163958997385070134e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t266 = 0.1e1 + 0.278125e-1 * t224; + const double t271 = 0.51785e1 * t227 + 0.905775e0 * t224 + 0.1100325e0 * t230 + 0.1241775e0 * t236; + const double t274 = 0.1e1 + 0.29608749977793437516e2 / t271; + const double t275 = safe_math::log( t274 ); + const double t276 = t266 * t275; + const double t279 = t251 * ( -0.310907e-1 * t253 * t262 + t244 - 0.19751673498613801407e-1 * t276 ); + const double t281 = 0.19751673498613801407e-1 * t251 * t276; + const double t282 = piecewise_functor_3( t245, t155, t17 ); + const double t283 = piecewise_functor_3( t248, t155, 0.0 ); + const double t285 = t282 / 0.2e1 + t283 / 0.2e1; + const double t286 = t285 * t285; + const double t287 = t286 * t285; + const double t288 = 0.1e1 / t286; + const double t289 = t288 * t91; + const double t290 = t166 * t289; + const double t293 = t171 * t17 / t222; + const double t296 = t176 * t42; + const double t299 = 0.1e1 / t287; + const double t300 = t42 * t299; + const double t302 = safe_math::exp( -( -t244 + t279 + t281 ) * t175 * t300 ); + const double t303 = t302 - 0.1e1; + const double t304 = 0.1e1 / t303; + const double t305 = t304 * t187; + const double t308 = t286 * t286; + const double t309 = 0.1e1 / t308; + const double t310 = t309 * t41; + const double t311 = t310 * t197; + const double t313 = 0.1e1 / t234; + const double t315 = t311 * t312 * t313; + const double t318 = t290 * t293 / 0.96e2 + t296 * t305 * t192 * t315 / 0.1536e4; + const double t319 = beta * t318; + const double t320 = t42 * t304; + const double t323 = t176 * t320 * t318 + 0.1e1; + const double t324 = 0.1e1 / t323; + const double t325 = t205 * t324; + const double t327 = t319 * t325 + 0.1e1; + const double t328 = safe_math::log( t327 ); + const double t331 = t154 * t287 * t328 - t244 + t279 + t281; + const double t332 = t218 < t331; + const double t333 = piecewise_functor_3( t332, t331, t218 ); + const double t336 = piecewise_functor_3( t75, t217, t333 * t24 / 0.2e1 ); + const double t337 = 0.1e1 / t31; + const double t338 = safe_math::cbrt( t337 ); + const double t340 = t219 * t220 * t338; + const double t342 = 0.1e1 + 0.53425e-1 * t340; + const double t343 = safe_math::sqrt( t340 ); + const double t346 = pow_3_2( t340 ); + const double t348 = t338 * t338; + const double t350 = t232 * t233 * t348; + const double t352 = 0.379785e1 * t343 + 0.8969e0 * t340 + 0.204775e0 * t346 + 0.123235e0 * t350; + const double t355 = 0.1e1 + 0.16081979498692535067e2 / t352; + const double t356 = safe_math::log( t355 ); + const double t358 = 0.621814e-1 * t342 * t356; + const double t360 = 0.1e1 + 0.5137e-1 * t340; + const double t365 = 0.705945e1 * t343 + 0.1549425e1 * t340 + 0.420775e0 * t346 + 0.1562925e0 * t350; + const double t368 = 0.1e1 + 0.32163958997385070134e2 / t365; + const double t369 = safe_math::log( t368 ); + const double t373 = 0.1e1 + 0.278125e-1 * t340; + const double t378 = 0.51785e1 * t343 + 0.905775e0 * t340 + 0.1100325e0 * t346 + 0.1241775e0 * t350; + const double t381 = 0.1e1 + 0.29608749977793437516e2 / t378; + const double t382 = safe_math::log( t381 ); + const double t383 = t373 * t382; + const double t386 = t251 * ( -0.310907e-1 * t360 * t369 + t358 - 0.19751673498613801407e-1 * t383 ); + const double t388 = 0.19751673498613801407e-1 * t251 * t383; + const double t391 = t171 * t17 / t338; + const double t397 = safe_math::exp( -( -t358 + t386 + t388 ) * t175 * t300 ); + const double t398 = t397 - 0.1e1; + const double t399 = 0.1e1 / t398; + const double t400 = t399 * t187; + const double t403 = 0.1e1 / t348; + const double t405 = t311 * t312 * t403; + const double t408 = t290 * t391 / 0.96e2 + t296 * t400 * t192 * t405 / 0.1536e4; + const double t409 = beta * t408; + const double t410 = t42 * t399; + const double t413 = t176 * t410 * t408 + 0.1e1; + const double t414 = 0.1e1 / t413; + const double t415 = t205 * t414; + const double t417 = t409 * t415 + 0.1e1; + const double t418 = safe_math::log( t417 ); + const double t421 = t154 * t287 * t418 - t358 + t386 + t388; + const double t422 = t218 < t421; + const double t423 = piecewise_functor_3( t422, t421, t218 ); + const double t426 = piecewise_functor_3( t75, t217, t423 * t31 / 0.2e1 ); + const double t427 = t336 + t426; + const double t430 = t62 * t71 + 0.1e1; + const double t431 = piecewise_functor_3( t10, t108, 1.0 ); + const double t434 = ( 0.2e1 * t431 - 0.2e1 ) * t116; + const double t436 = 0.19751673498613801407e-1 * t434 * t142; + const double t437 = piecewise_functor_3( t10, t155, 1.0 ); + const double t438 = t437 * t437; + const double t439 = t438 * t437; + const double t440 = 0.1e1 / t438; + const double t442 = t440 * t91 * t171; + const double t447 = 0.1e1 / t439; + const double t450 = safe_math::exp( -( -t130 + t436 ) * t175 * t42 * t447 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = t42 * t452; + const double t455 = t176 * t453 * t187; + const double t456 = t438 * t438; + const double t457 = 0.1e1 / t456; + const double t458 = t193 * t457; + const double t459 = t458 * t199; + const double t462 = t167 * t442 / 0.96e2 + t455 * t459 / 0.3072e4; + const double t463 = beta * t462; + const double t466 = t176 * t453 * t462 + 0.1e1; + const double t467 = 0.1e1 / t466; + const double t468 = t205 * t467; + const double t470 = t463 * t468 + 0.1e1; + const double t471 = safe_math::log( t470 ); + const double t474 = t154 * t439 * t471 - t130 + t436; + const double t476 = -t72 * t427 + t430 * t474; + const double t477 = d * t476; + const double t478 = t71 * t70; + const double t480 = t477 * t478 + 0.1e1; + const double tzk0 = t476 * t480; + const double t484 = t5 / t59 / t57 * t15; + const double t485 = t19 * rho; + const double t487 = 0.1e1 / t21 / t485; + const double t494 = -0.8e1 / 0.3e1 * t18 * t487 * t28 - 0.8e1 / 0.3e1 * t18 * t487 * t35 + 0.8e1 / 0.3e1 * sigma * t487; + const double t495 = t494 * t41; + const double t496 = t45 * t53; + const double t500 = piecewise_functor_3( t4, 0.0, -t484 * t495 * t496 / 0.6e1 ); + const double t501 = t500 * t71; + const double t503 = t63 * t70; + const double t504 = 0.1e1 / t19; + const double t505 = sigma * t504; + const double t508 = piecewise_functor_3( t69, 0.0, -t505 * t66 / 0.8e1 ); + const double t509 = t427 * t508; + const double t513 = 0.1e1 / t20 / rho; + const double t514 = t80 * t513; + const double t516 = t78 * t514 * t102; + const double t518 = t98 * t98; + const double t519 = 0.1e1 / t518; + const double t520 = t85 * t519; + const double t522 = 0.1e1 / t86 * t41; + const double t524 = t523 * t513; + const double t525 = t522 * t524; + const double t527 = t78 * t514; + const double t529 = safe_math::sqrt( t83 ); + const double t530 = t529 * t41; + const double t531 = t530 * t524; + const double t534 = 0.1e1 / t21 / rho; + const double t536 = t93 * t79 * t534; + const double t538 = -0.632975e0 * t525 - 0.29896666666666666667e0 * t527 - 0.1023875e0 * t531 - 0.82156666666666666667e-1 * t536; + const double t539 = 0.1e1 / t101; + const double t540 = t538 * t539; + const double t541 = t520 * t540; + const double t546 = t123 * t123; + const double t547 = 0.1e1 / t546; + const double t548 = t118 * t547; + const double t553 = -0.1176575e1 * t525 - 0.516475e0 * t527 - 0.2103875e0 * t531 - 0.104195e0 * t536; + const double t554 = 0.1e1 / t126; + const double t555 = t553 * t554; + const double t558 = 0.11073470983333333333e-2 * t516; + const double t559 = 0.1e1 * t541; + const double t563 = t137 * t137; + const double t564 = 0.1e1 / t563; + const double t565 = t132 * t564; + const double t570 = -0.86308333333333333334e0 * t525 - 0.301925e0 * t527 - 0.5501625e-1 * t531 - 0.82785e-1 * t536; + const double t571 = 0.1e1 / t140; + const double t572 = t570 * t571; + const double t577 = t113 * t116 * ( 0.53237641966666666666e-3 * t78 * t514 * t127 + 0.1e1 * t548 * t555 - t558 - t559 + 0.18311447306006545054e-3 * t78 * t514 * t141 + 0.5848223622634646207e0 * t565 * t572 ); + const double t579 = t148 * t41; + const double t581 = t523 * t513 * t141; + const double t582 = t579 * t581; + const double t584 = t148 * t132; + const double t586 = t564 * t570 * t571; + const double t587 = t584 * t586; + const double t590 = 0.1e1 / t20 / t485; + const double t591 = sigma * t590; + const double t592 = t591 * t16; + const double t595 = t152 * t152; + const double t596 = 0.1e1 / t595; + const double t597 = beta * t596; + const double t599 = t597 * t598; + const double t600 = t184 * t184; + const double t601 = 0.1e1 / t600; + const double t602 = t601 * t187; + const double t603 = t602 * t192; + const double t604 = t599 * t603; + const double t606 = 0.1e1 / t194 / t163; + const double t607 = t17 * t606; + const double t608 = t607 * t41; + const double t610 = 0.18311447306006545054e-3 * t582; + const double t611 = 0.5848223622634646207e0 * t587; + const double t612 = t558 + t559 + t577 - t610 - t611; + const double t613 = t612 * t183; + const double t614 = t609 * t613; + const double t615 = t608 * t614; + const double t618 = t190 * rho; + const double t620 = 0.1e1 / t21 / t618; + const double t621 = t620 * t17; + const double t622 = t621 * t195; + const double t623 = t622 * t199; + const double t626 = -0.7e1 / 0.288e3 * t592 * t172 + t604 * t615 / 0.3072e4 - 0.7e1 / 0.4608e4 * t189 * t623; + const double t627 = beta * t626; + const double t629 = t204 * t175; + const double t630 = t208 * t208; + const double t631 = 0.1e1 / t630; + const double t632 = t42 * t631; + const double t634 = t597 * t598 * t601; + const double t635 = t203 * t612; + const double t636 = t180 * t183; + const double t641 = t176 * t186 * t626 + t634 * t635 * t636; + const double t642 = t632 * t641; + const double t644 = t627 * t210 - t629 * t642; + const double t646 = 0.1e1 / t212; + const double t648 = t154 * t163 * t644 * t646; + const double t650 = 0.55367354916666666666e-3 * t516 + 0.50000000000000000001e0 * t541 + t577 / 0.2e1 - 0.91557236530032725272e-4 * t582 - 0.29241118113173231035e0 * t587 + t648 / 0.2e1; + const double t651 = t513 * t16; + const double t652 = t222 * t242; + const double t655 = 0.11073470983333333333e-2 * t219 * t651 * t652; + const double t656 = t238 * t238; + const double t657 = 0.1e1 / t656; + const double t658 = t226 * t657; + const double t661 = 0.1e1 / t227 * t41 * t77; + const double t662 = t16 * t222; + const double t663 = t514 * t662; + const double t664 = t661 * t663; + const double t666 = t651 * t222; + const double t667 = t219 * t666; + const double t669 = safe_math::sqrt( t224 ); + const double t671 = t669 * t41 * t77; + const double t672 = t671 * t663; + const double t674 = t534 * t17; + const double t676 = t232 * t674 * t234; + const double t678 = -0.632975e0 * t664 - 0.29896666666666666667e0 * t667 - 0.1023875e0 * t672 - 0.82156666666666666667e-1 * t676; + const double t679 = 0.1e1 / t241; + const double t680 = t678 * t679; + const double t682 = 0.1e1 * t658 * t680; + const double t683 = t222 * t262; + const double t687 = t258 * t258; + const double t688 = 0.1e1 / t687; + const double t689 = t253 * t688; + const double t694 = -0.1176575e1 * t664 - 0.516475e0 * t667 - 0.2103875e0 * t672 - 0.104195e0 * t676; + const double t695 = 0.1e1 / t261; + const double t696 = t694 * t695; + const double t699 = t222 * t275; + const double t703 = t271 * t271; + const double t704 = 0.1e1 / t703; + const double t705 = t266 * t704; + const double t710 = -0.86308333333333333334e0 * t664 - 0.301925e0 * t667 - 0.5501625e-1 * t672 - 0.82785e-1 * t676; + const double t711 = 0.1e1 / t274; + const double t712 = t710 * t711; + const double t716 = t251 * ( 0.53237641966666666666e-3 * t219 * t651 * t683 + 0.1e1 * t689 * t696 - t655 - t682 + 0.18311447306006545054e-3 * t219 * t651 * t699 + 0.5848223622634646207e0 * t705 * t712 ); + const double t717 = t251 * t78; + const double t718 = t662 * t275; + const double t721 = 0.18311447306006545054e-3 * t717 * t514 * t718; + const double t722 = t251 * t266; + const double t724 = t704 * t710 * t711; + const double t726 = 0.5848223622634646207e0 * t722 * t724; + const double t727 = t591 * t289; + const double t730 = t303 * t303; + const double t731 = 0.1e1 / t730; + const double t732 = t731 * t187; + const double t734 = 0.1e1 / t308 / t287; + const double t735 = t192 * t734; + const double t737 = t599 * t732 * t735; + const double t738 = t16 * t313; + const double t739 = t655 + t682 + t716 - t721 - t726; + const double t740 = t739 * t302; + const double t741 = t738 * t740; + const double t742 = t199 * t741; + const double t749 = -0.7e1 / 0.288e3 * t727 * t293 + t737 * t742 / 0.1536e4 - 0.7e1 / 0.2304e4 * t296 * t305 * t620 * t315; + const double t750 = beta * t749; + const double t752 = t319 * t175; + const double t753 = t323 * t323; + const double t754 = 0.1e1 / t753; + const double t755 = t42 * t754; + const double t757 = t597 * t598 * t731; + const double t758 = t318 * t739; + const double t759 = t299 * t302; + const double t764 = t176 * t320 * t749 + t757 * t758 * t759; + const double t765 = t755 * t764; + const double t767 = t750 * t325 - t752 * t765; + const double t769 = 0.1e1 / t327; + const double t773 = t558 + t559 + t577 - t610 - t611 + t648; + const double t774 = piecewise_functor_3( t332, t154 * t287 * t767 * t769 + t655 + t682 + t716 - t721 - t726, t773 ); + const double t777 = piecewise_functor_3( t75, t650, t774 * t24 / 0.2e1 ); + const double t778 = t338 * t356; + const double t781 = 0.11073470983333333333e-2 * t219 * t651 * t778; + const double t782 = t352 * t352; + const double t783 = 0.1e1 / t782; + const double t784 = t342 * t783; + const double t787 = 0.1e1 / t343 * t41 * t77; + const double t788 = t16 * t338; + const double t789 = t514 * t788; + const double t790 = t787 * t789; + const double t792 = t651 * t338; + const double t793 = t219 * t792; + const double t795 = safe_math::sqrt( t340 ); + const double t797 = t795 * t41 * t77; + const double t798 = t797 * t789; + const double t801 = t232 * t674 * t348; + const double t803 = -0.632975e0 * t790 - 0.29896666666666666667e0 * t793 - 0.1023875e0 * t798 - 0.82156666666666666667e-1 * t801; + const double t804 = 0.1e1 / t355; + const double t805 = t803 * t804; + const double t807 = 0.1e1 * t784 * t805; + const double t808 = t338 * t369; + const double t812 = t365 * t365; + const double t813 = 0.1e1 / t812; + const double t814 = t360 * t813; + const double t819 = -0.1176575e1 * t790 - 0.516475e0 * t793 - 0.2103875e0 * t798 - 0.104195e0 * t801; + const double t820 = 0.1e1 / t368; + const double t821 = t819 * t820; + const double t824 = t338 * t382; + const double t828 = t378 * t378; + const double t829 = 0.1e1 / t828; + const double t830 = t373 * t829; + const double t835 = -0.86308333333333333334e0 * t790 - 0.301925e0 * t793 - 0.5501625e-1 * t798 - 0.82785e-1 * t801; + const double t836 = 0.1e1 / t381; + const double t837 = t835 * t836; + const double t841 = t251 * ( 0.53237641966666666666e-3 * t219 * t651 * t808 + 0.1e1 * t814 * t821 - t781 - t807 + 0.18311447306006545054e-3 * t219 * t651 * t824 + 0.5848223622634646207e0 * t830 * t837 ); + const double t842 = t788 * t382; + const double t845 = 0.18311447306006545054e-3 * t717 * t514 * t842; + const double t846 = t251 * t373; + const double t848 = t829 * t835 * t836; + const double t850 = 0.5848223622634646207e0 * t846 * t848; + const double t853 = t398 * t398; + const double t854 = 0.1e1 / t853; + const double t855 = t854 * t187; + const double t857 = t599 * t855 * t735; + const double t858 = t16 * t403; + const double t859 = t781 + t807 + t841 - t845 - t850; + const double t860 = t859 * t397; + const double t861 = t858 * t860; + const double t862 = t199 * t861; + const double t869 = -0.7e1 / 0.288e3 * t727 * t391 + t857 * t862 / 0.1536e4 - 0.7e1 / 0.2304e4 * t296 * t400 * t620 * t405; + const double t870 = beta * t869; + const double t872 = t409 * t175; + const double t873 = t413 * t413; + const double t874 = 0.1e1 / t873; + const double t875 = t42 * t874; + const double t877 = t597 * t598 * t854; + const double t878 = t408 * t859; + const double t879 = t299 * t397; + const double t884 = t176 * t410 * t869 + t877 * t878 * t879; + const double t885 = t875 * t884; + const double t887 = t870 * t415 - t872 * t885; + const double t889 = 0.1e1 / t417; + const double t893 = piecewise_functor_3( t422, t154 * t287 * t887 * t889 + t781 + t807 + t841 - t845 - t850, t773 ); + const double t896 = piecewise_functor_3( t75, t650, t893 * t31 / 0.2e1 ); + const double t897 = t777 + t896; + const double t899 = t62 * t70; + const double t902 = 0.2e1 * t899 * t508 + t501; + const double t904 = t434 * t41; + const double t906 = 0.18311447306006545054e-3 * t904 * t581; + const double t907 = t434 * t132; + const double t909 = 0.5848223622634646207e0 * t907 * t586; + const double t912 = t451 * t451; + const double t913 = 0.1e1 / t912; + const double t914 = t913 * t187; + const double t915 = t914 * t192; + const double t916 = t599 * t915; + const double t918 = 0.1e1 / t456 / t439; + const double t919 = t17 * t918; + const double t920 = t919 * t41; + const double t921 = t558 + t559 - t906 - t909; + const double t922 = t921 * t450; + const double t923 = t609 * t922; + const double t924 = t920 * t923; + const double t927 = t621 * t457; + const double t928 = t927 * t199; + const double t931 = -0.7e1 / 0.288e3 * t592 * t442 + t916 * t924 / 0.3072e4 - 0.7e1 / 0.4608e4 * t455 * t928; + const double t932 = beta * t931; + const double t934 = t463 * t175; + const double t935 = t466 * t466; + const double t936 = 0.1e1 / t935; + const double t937 = t42 * t936; + const double t939 = t597 * t598 * t913; + const double t940 = t462 * t921; + const double t941 = t447 * t450; + const double t946 = t176 * t453 * t931 + t939 * t940 * t941; + const double t947 = t937 * t946; + const double t949 = t932 * t468 - t934 * t947; + const double t951 = 0.1e1 / t470; + const double t954 = t154 * t439 * t949 * t951 + t558 + t559 - t906 - t909; + const double t956 = -t501 * t427 + t430 * t954 + t902 * t474 - 0.2e1 * t503 * t509 - t72 * t897; + const double t957 = rho * t956; + const double t959 = rho * t476; + const double t960 = d * t956; + const double t962 = t71 * t508; + const double t965 = 0.3e1 * t477 * t962 + t960 * t478; + const double t967 = t17 * t23; + const double t970 = t967 * t28 + t967 * t35 - t23; + const double t975 = piecewise_functor_3( t4, 0.0, -t484 * t970 * t41 * t496 / 0.6e1 ); + const double t976 = t975 * t71; + const double t980 = piecewise_functor_3( t69, 0.0, t64 * t66 / 0.8e1 ); + const double t981 = t427 * t980; + const double t984 = t165 * t16; + const double t991 = t176 * t186 * sigma; + const double t994 = t984 * t168 * t987 / 0.96e2 + t991 * t200 / 0.1536e4; + const double t995 = beta * t994; + const double t998 = t997 * t203; + const double t999 = t998 * t596; + const double t1000 = t598 * t631; + const double t1002 = t1000 * t185 * t994; + const double t1004 = -t999 * t1002 + t995 * t210; + const double t1007 = t154 * t163 * t1004 * t646; + const double t1008 = t1007 / 0.2e1; + const double t1010 = t165 * t288 * t91; + const double t1013 = t304 * sigma; + const double t1018 = t1010 * t293 / 0.96e2 + t296 * t1013 * t192 * t315 / 0.768e3; + const double t1019 = beta * t1018; + const double t1021 = t997 * t318; + const double t1022 = t1021 * t596; + const double t1023 = t598 * t754; + const double t1025 = t1023 * t304 * t1018; + const double t1027 = t1019 * t325 - t1022 * t1025; + const double t1031 = piecewise_functor_3( t332, t154 * t287 * t1027 * t769, t1007 ); + const double t1034 = piecewise_functor_3( t75, t1008, t1031 * t24 / 0.2e1 ); + const double t1037 = t399 * sigma; + const double t1042 = t1010 * t391 / 0.96e2 + t296 * t1037 * t192 * t405 / 0.768e3; + const double t1043 = beta * t1042; + const double t1045 = t997 * t408; + const double t1046 = t1045 * t596; + const double t1047 = t598 * t874; + const double t1049 = t1047 * t399 * t1042; + const double t1051 = t1043 * t415 - t1046 * t1049; + const double t1055 = piecewise_functor_3( t422, t154 * t287 * t1051 * t889, t1007 ); + const double t1058 = piecewise_functor_3( t75, t1008, t1055 * t31 / 0.2e1 ); + const double t1059 = t1034 + t1058; + const double t1063 = 0.2e1 * t899 * t980 + t976; + const double t1065 = t430 * t152; + const double t1066 = t1065 * t153; + const double t1071 = t176 * t453 * sigma; + const double t1074 = t984 * t440 * t987 / 0.96e2 + t1071 * t459 / 0.1536e4; + const double t1075 = beta * t1074; + const double t1077 = t997 * t462; + const double t1078 = t1077 * t596; + const double t1079 = t598 * t936; + const double t1081 = t1079 * t452 * t1074; + const double t1083 = t1075 * t468 - t1078 * t1081; + const double t1084 = t439 * t1083; + const double t1085 = t1084 * t951; + const double t1087 = -t72 * t1059 + t1063 * t474 + t1066 * t1085 - t976 * t427 - 0.2e1 * t503 * t981; + const double t1088 = rho * t1087; + const double t1090 = d * t1087; + const double t1092 = t71 * t980; + const double t1095 = t1090 * t478 + 0.3e1 * t477 * t1092; + const double t1097 = tau * tau; + const double t1098 = 0.1e1 / t1097; + const double t1101 = piecewise_functor_3( t69, 0.0, -t65 * t1098 / 0.8e1 ); + const double t1102 = t427 * t1101; + const double t1104 = t1101 * t474; + const double t1107 = -0.2e1 * t503 * t1102 + 0.2e1 * t899 * t1104; + const double t1108 = rho * t1107; + const double t1110 = d * t1107; + const double t1112 = t71 * t1101; + const double t1115 = t1110 * t478 + 0.3e1 * t477 * t1112; + const double t1123 = t5 / t59 / t58; + const double t1124 = t15 * t15; + const double t1125 = t1123 * t1124; + const double t1126 = t494 * t494; + const double t1130 = t53 * t53; + const double t1131 = t1129 * t1130; + const double t1141 = 0.88e2 / 0.9e1 * t18 * t192 * t28 + 0.88e2 / 0.9e1 * t18 * t192 * t35 - 0.88e2 / 0.9e1 * sigma * t192; + const double t1147 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1125 * t1126 * t91 * t1131 - t484 * t1141 * t41 * t496 / 0.6e1 ); + const double t1148 = t1147 * t71; + const double t1150 = t500 * t70; + const double t1155 = t508 * t508; + const double t1156 = t63 * t1155; + const double t1159 = t897 * t508; + const double t1162 = 0.1e1 / t485; + const double t1163 = sigma * t1162; + const double t1166 = piecewise_functor_3( t69, 0.0, t1163 * t66 / 0.4e1 ); + const double t1167 = t427 * t1166; + const double t1170 = t80 * t165; + const double t1172 = t78 * t1170 * t102; + const double t1174 = t513 * t519; + const double t1176 = t219 * t1174 * t540; + const double t1178 = t518 * t98; + const double t1179 = 0.1e1 / t1178; + const double t1180 = t85 * t1179; + const double t1181 = t538 * t538; + const double t1182 = t1181 * t539; + const double t1183 = t1180 * t1182; + const double t1187 = 0.1e1 / t86 / t83 * t91; + const double t1189 = t1188 * t23; + const double t1190 = t1187 * t1189; + const double t1192 = t523 * t165; + const double t1193 = t522 * t1192; + const double t1195 = t78 * t1170; + const double t1197 = 0.1e1/safe_math::sqrt( t83 ); + const double t1198 = t1197 * t91; + const double t1199 = t1198 * t1189; + const double t1201 = t530 * t1192; + const double t1203 = t79 * t23; + const double t1204 = t93 * t1203; + const double t1206 = -0.42198333333333333333e0 * t1190 + 0.84396666666666666666e0 * t1193 + 0.39862222222222222223e0 * t1195 + 0.68258333333333333333e-1 * t1199 + 0.13651666666666666667e0 * t1201 + 0.13692777777777777778e0 * t1204; + const double t1207 = t1206 * t539; + const double t1208 = t520 * t1207; + const double t1210 = t518 * t518; + const double t1211 = 0.1e1 / t1210; + const double t1212 = t85 * t1211; + const double t1213 = t101 * t101; + const double t1214 = 0.1e1 / t1213; + const double t1215 = t1181 * t1214; + const double t1216 = t1212 * t1215; + const double t1221 = t513 * t547; + const double t1225 = t546 * t123; + const double t1226 = 0.1e1 / t1225; + const double t1227 = t118 * t1226; + const double t1228 = t553 * t553; + const double t1229 = t1228 * t554; + const double t1238 = -0.78438333333333333333e0 * t1190 + 0.15687666666666666667e1 * t1193 + 0.68863333333333333333e0 * t1195 + 0.14025833333333333333e0 * t1199 + 0.28051666666666666667e0 * t1201 + 0.17365833333333333333e0 * t1204; + const double t1239 = t1238 * t554; + const double t1242 = t546 * t546; + const double t1243 = 0.1e1 / t1242; + const double t1244 = t118 * t1243; + const double t1245 = t126 * t126; + const double t1246 = 0.1e1 / t1245; + const double t1247 = t1228 * t1246; + const double t1250 = 0.14764627977777777777e-2 * t1172; + const double t1251 = 0.35616666666666666666e-1 * t1176; + const double t1252 = 0.2e1 * t1183; + const double t1253 = 0.1e1 * t1208; + const double t1254 = 0.16081979498692535067e2 * t1216; + const double t1258 = t513 * t564; + const double t1262 = t563 * t137; + const double t1263 = 0.1e1 / t1262; + const double t1264 = t132 * t1263; + const double t1265 = t570 * t570; + const double t1266 = t1265 * t571; + const double t1275 = -0.57538888888888888889e0 * t1190 + 0.11507777777777777778e1 * t1193 + 0.40256666666666666667e0 * t1195 + 0.366775e-1 * t1199 + 0.73355e-1 * t1201 + 0.137975e0 * t1204; + const double t1276 = t1275 * t571; + const double t1279 = t563 * t563; + const double t1280 = 0.1e1 / t1279; + const double t1281 = t132 * t1280; + const double t1282 = t140 * t140; + const double t1283 = 0.1e1 / t1282; + const double t1284 = t1265 * t1283; + const double t1287 = -0.70983522622222222221e-3 * t78 * t1170 * t127 - 0.34246666666666666666e-1 * t219 * t1221 * t555 - 0.2e1 * t1227 * t1229 + 0.1e1 * t548 * t1239 + 0.32163958997385070134e2 * t1244 * t1247 + t1250 + t1251 + t1252 - t1253 - t1254 - 0.24415263074675393405e-3 * t78 * t1170 * t141 - 0.10843581300301739842e-1 * t219 * t1258 * t572 - 0.11696447245269292414e1 * t1264 * t1266 + 0.5848223622634646207e0 * t565 * t1276 + 0.17315859105681463759e2 * t1281 * t1284; + const double t1289 = t113 * t116 * t1287; + const double t1292 = t523 * t165 * t141; + const double t1293 = t579 * t1292; + const double t1295 = t148 * t78; + const double t1296 = t514 * t586; + const double t1297 = t1295 * t1296; + const double t1300 = t1263 * t1265 * t571; + const double t1301 = t584 * t1300; + const double t1304 = t564 * t1275 * t571; + const double t1305 = t584 * t1304; + const double t1307 = t1280 * t1265; + const double t1308 = t1307 * t1283; + const double t1309 = t584 * t1308; + const double t1312 = 0.1e1 / t20 / t190; + const double t1313 = sigma * t1312; + const double t1314 = t1313 * t16; + const double t1318 = 0.1e1 / t595 / t152; + const double t1319 = beta * t1318; + const double t1321 = t1319 * t1320; + const double t1323 = 0.1e1 / t600 / t184; + const double t1324 = t1323 * t187; + const double t1325 = t1324 * t192; + const double t1326 = t1321 * t1325; + const double t1327 = t194 * t194; + const double t1329 = 0.1e1 / t1327 / t162; + const double t1331 = t17 * t1329 * t41; + const double t1332 = t612 * t612; + const double t1333 = t183 * t183; + const double t1334 = t1332 * t1333; + const double t1336 = t1331 * t609 * t1334; + const double t1339 = t602 * t620; + const double t1340 = t599 * t1339; + const double t1343 = 0.24415263074675393405e-3 * t1293; + const double t1344 = 0.10843581300301739842e-1 * t1297; + const double t1345 = 0.11696447245269292414e1 * t1301; + const double t1346 = 0.5848223622634646207e0 * t1305; + const double t1347 = 0.17315859105681463759e2 * t1309; + const double t1348 = -t1250 - t1251 - t1252 + t1253 + t1254 + t1289 + t1343 + t1344 + t1345 - t1346 - t1347; + const double t1349 = t1348 * t183; + const double t1351 = t608 * t609 * t1349; + const double t1354 = t1321 * t603; + const double t1355 = t1332 * t183; + const double t1357 = t1331 * t609 * t1355; + const double t1360 = t190 * t19; + const double t1362 = 0.1e1 / t21 / t1360; + const double t1363 = t1362 * t17; + const double t1365 = t1363 * t195 * t199; + const double t1368 = 0.35e2 / 0.432e3 * t1314 * t172 + t1326 * t1336 / 0.1536e4 - 0.7e1 / 0.2304e4 * t1340 * t615 + t604 * t1351 / 0.3072e4 - t1354 * t1357 / 0.3072e4 + 0.119e3 / 0.13824e5 * t189 * t1365; + const double t1369 = beta * t1368; + const double t1371 = t627 * t175; + const double t1375 = 0.1e1 / t630 / t208; + const double t1376 = t42 * t1375; + const double t1377 = t641 * t641; + const double t1378 = t1376 * t1377; + const double t1382 = t1319 * t1320 * t1323; + const double t1383 = t203 * t1332; + const double t1385 = 0.1e1 / t194 / t162; + const double t1386 = t1385 * t1333; + const double t1390 = t626 * t612; + const double t1394 = t203 * t1348; + const double t1398 = t1319 * t1320 * t601; + const double t1399 = t1385 * t183; + const double t1404 = t176 * t186 * t1368 + 0.2e1 * t1382 * t1383 * t1386 - t1398 * t1383 * t1399 + 0.2e1 * t634 * t1390 * t636 + t634 * t1394 * t636; + const double t1405 = t632 * t1404; + const double t1407 = t1369 * t210 - 0.2e1 * t1371 * t642 + 0.2e1 * t629 * t1378 - t629 * t1405; + const double t1410 = t154 * t163 * t1407 * t646; + const double t1412 = t644 * t644; + const double t1414 = t212 * t212; + const double t1415 = 0.1e1 / t1414; + const double t1417 = t154 * t163 * t1412 * t1415; + const double t1419 = -0.73823139888888888888e-3 * t1172 - 0.17808333333333333333e-1 * t1176 - 0.1e1 * t1183 + 0.50000000000000000001e0 * t1208 + 0.80409897493462675337e1 * t1216 + t1289 / 0.2e1 + 0.12207631537337696703e-3 * t1293 + 0.5421790650150869921e-2 * t1297 + 0.5848223622634646207e0 * t1301 - 0.29241118113173231035e0 * t1305 - 0.86579295528407318793e1 * t1309 + t1410 / 0.2e1 - t1417 / 0.2e1; + const double t1422 = 0.14764627977777777777e-2 * t219 * t984 * t652; + const double t1425 = t662 * t657 * t678 * t679; + const double t1427 = 0.35616666666666666666e-1 * t527 * t1425; + const double t1428 = t656 * t238; + const double t1429 = 0.1e1 / t1428; + const double t1430 = t226 * t1429; + const double t1431 = t678 * t678; + const double t1432 = t1431 * t679; + const double t1434 = 0.2e1 * t1430 * t1432; + const double t1438 = 0.1e1 / t227 / t224 * t91 * t92; + const double t1439 = t17 * t234; + const double t1440 = t1203 * t1439; + const double t1441 = t1438 * t1440; + const double t1443 = t1170 * t662; + const double t1444 = t661 * t1443; + const double t1446 = t984 * t222; + const double t1447 = t219 * t1446; + const double t1449 = 0.1e1/safe_math::sqrt( t224 ); + const double t1451 = t1449 * t91 * t92; + const double t1452 = t1451 * t1440; + const double t1454 = t671 * t1443; + const double t1457 = t232 * t967 * t234; + const double t1459 = -0.42198333333333333333e0 * t1441 + 0.84396666666666666666e0 * t1444 + 0.39862222222222222223e0 * t1447 + 0.68258333333333333333e-1 * t1452 + 0.13651666666666666667e0 * t1454 + 0.13692777777777777778e0 * t1457; + const double t1462 = 0.1e1 * t658 * t1459 * t679; + const double t1463 = t656 * t656; + const double t1464 = 0.1e1 / t1463; + const double t1465 = t226 * t1464; + const double t1466 = t241 * t241; + const double t1467 = 0.1e1 / t1466; + const double t1468 = t1431 * t1467; + const double t1470 = 0.16081979498692535067e2 * t1465 * t1468; + const double t1476 = t662 * t688 * t694 * t695; + const double t1479 = t687 * t258; + const double t1480 = 0.1e1 / t1479; + const double t1481 = t253 * t1480; + const double t1482 = t694 * t694; + const double t1483 = t1482 * t695; + const double t1492 = -0.78438333333333333333e0 * t1441 + 0.15687666666666666667e1 * t1444 + 0.68863333333333333333e0 * t1447 + 0.14025833333333333333e0 * t1452 + 0.28051666666666666667e0 * t1454 + 0.17365833333333333333e0 * t1457; + const double t1496 = t687 * t687; + const double t1497 = 0.1e1 / t1496; + const double t1498 = t253 * t1497; + const double t1499 = t261 * t261; + const double t1500 = 0.1e1 / t1499; + const double t1501 = t1482 * t1500; + const double t1507 = t662 * t724; + const double t1510 = t703 * t271; + const double t1511 = 0.1e1 / t1510; + const double t1512 = t266 * t1511; + const double t1513 = t710 * t710; + const double t1514 = t1513 * t711; + const double t1523 = -0.57538888888888888889e0 * t1441 + 0.11507777777777777778e1 * t1444 + 0.40256666666666666667e0 * t1447 + 0.366775e-1 * t1452 + 0.73355e-1 * t1454 + 0.137975e0 * t1457; + const double t1524 = t1523 * t711; + const double t1527 = t703 * t703; + const double t1528 = 0.1e1 / t1527; + const double t1529 = t266 * t1528; + const double t1530 = t274 * t274; + const double t1531 = 0.1e1 / t1530; + const double t1532 = t1513 * t1531; + const double t1535 = -0.70983522622222222221e-3 * t219 * t984 * t683 - 0.34246666666666666666e-1 * t527 * t1476 - 0.2e1 * t1481 * t1483 + 0.1e1 * t689 * t1492 * t695 + 0.32163958997385070134e2 * t1498 * t1501 + t1422 + t1427 + t1434 - t1462 - t1470 - 0.24415263074675393405e-3 * t219 * t984 * t699 - 0.10843581300301739842e-1 * t527 * t1507 - 0.11696447245269292414e1 * t1512 * t1514 + 0.5848223622634646207e0 * t705 * t1524 + 0.17315859105681463759e2 * t1529 * t1532; + const double t1536 = t251 * t1535; + const double t1539 = 0.24415263074675393405e-3 * t717 * t1170 * t718; + const double t1540 = t251 * t219; + const double t1543 = 0.10843581300301739842e-1 * t1540 * t666 * t724; + const double t1545 = t1511 * t1513 * t711; + const double t1547 = 0.11696447245269292414e1 * t722 * t1545; + const double t1549 = t704 * t1523 * t711; + const double t1551 = 0.5848223622634646207e0 * t722 * t1549; + const double t1552 = t1528 * t1513; + const double t1553 = t1552 * t1531; + const double t1555 = 0.17315859105681463759e2 * t722 * t1553; + const double t1556 = t1313 * t289; + const double t1560 = 0.1e1 / t730 / t303; + const double t1561 = t1560 * t187; + const double t1562 = t308 * t308; + const double t1564 = 0.1e1 / t1562 / t286; + const double t1565 = t192 * t1564; + const double t1567 = t1321 * t1561 * t1565; + const double t1568 = t739 * t739; + const double t1569 = t302 * t302; + const double t1570 = t1568 * t1569; + const double t1571 = t738 * t1570; + const double t1572 = t199 * t1571; + const double t1575 = t620 * t734; + const double t1577 = t599 * t732 * t1575; + const double t1580 = -t1422 - t1427 - t1434 + t1462 + t1470 + t1536 + t1539 + t1543 + t1547 - t1551 - t1555; + const double t1581 = t1580 * t302; + const double t1582 = t738 * t1581; + const double t1583 = t199 * t1582; + const double t1587 = t1321 * t732 * t1565; + const double t1588 = t1568 * t302; + const double t1589 = t738 * t1588; + const double t1590 = t199 * t1589; + const double t1597 = 0.35e2 / 0.432e3 * t1556 * t293 + t1567 * t1572 / 0.768e3 - 0.7e1 / 0.1152e4 * t1577 * t742 + t737 * t1583 / 0.1536e4 - t1587 * t1590 / 0.1536e4 + 0.119e3 / 0.6912e4 * t296 * t305 * t1362 * t315; + const double t1598 = beta * t1597; + const double t1600 = t750 * t175; + const double t1604 = 0.1e1 / t753 / t323; + const double t1605 = t42 * t1604; + const double t1606 = t764 * t764; + const double t1607 = t1605 * t1606; + const double t1611 = t1319 * t1320 * t1560; + const double t1612 = t318 * t1568; + const double t1614 = 0.1e1 / t308 / t286; + const double t1615 = t1614 * t1569; + const double t1619 = t749 * t739; + const double t1623 = t318 * t1580; + const double t1627 = t1319 * t1320 * t731; + const double t1628 = t1614 * t302; + const double t1633 = t176 * t320 * t1597 + 0.2e1 * t1611 * t1612 * t1615 - t1627 * t1612 * t1628 + 0.2e1 * t757 * t1619 * t759 + t757 * t1623 * t759; + const double t1634 = t755 * t1633; + const double t1636 = t1598 * t325 - 0.2e1 * t1600 * t765 + 0.2e1 * t752 * t1607 - t752 * t1634; + const double t1640 = t767 * t767; + const double t1642 = t327 * t327; + const double t1643 = 0.1e1 / t1642; + const double t1646 = t154 * t287 * t1636 * t769 - t154 * t287 * t1640 * t1643 - t1422 - t1427 - t1434 + t1462 + t1470 + t1536 + t1539 + t1543 + t1547 - t1551 - t1555; + const double t1647 = -t1250 - t1251 - t1252 + t1253 + t1254 + t1289 + t1343 + t1344 + t1345 - t1346 - t1347 + t1410 - t1417; + const double t1648 = piecewise_functor_3( t332, t1646, t1647 ); + const double t1651 = piecewise_functor_3( t75, t1419, t1648 * t24 / 0.2e1 ); + const double t1654 = 0.14764627977777777777e-2 * t219 * t984 * t778; + const double t1657 = t788 * t783 * t803 * t804; + const double t1659 = 0.35616666666666666666e-1 * t527 * t1657; + const double t1660 = t782 * t352; + const double t1661 = 0.1e1 / t1660; + const double t1662 = t342 * t1661; + const double t1663 = t803 * t803; + const double t1664 = t1663 * t804; + const double t1666 = 0.2e1 * t1662 * t1664; + const double t1670 = 0.1e1 / t343 / t340 * t91 * t92; + const double t1671 = t17 * t348; + const double t1672 = t1203 * t1671; + const double t1673 = t1670 * t1672; + const double t1675 = t1170 * t788; + const double t1676 = t787 * t1675; + const double t1678 = t984 * t338; + const double t1679 = t219 * t1678; + const double t1681 = 0.1e1/safe_math::sqrt( t340 ); + const double t1683 = t1681 * t91 * t92; + const double t1684 = t1683 * t1672; + const double t1686 = t797 * t1675; + const double t1689 = t232 * t967 * t348; + const double t1691 = -0.42198333333333333333e0 * t1673 + 0.84396666666666666666e0 * t1676 + 0.39862222222222222223e0 * t1679 + 0.68258333333333333333e-1 * t1684 + 0.13651666666666666667e0 * t1686 + 0.13692777777777777778e0 * t1689; + const double t1694 = 0.1e1 * t784 * t1691 * t804; + const double t1695 = t782 * t782; + const double t1696 = 0.1e1 / t1695; + const double t1697 = t342 * t1696; + const double t1698 = t355 * t355; + const double t1699 = 0.1e1 / t1698; + const double t1700 = t1663 * t1699; + const double t1702 = 0.16081979498692535067e2 * t1697 * t1700; + const double t1708 = t788 * t813 * t819 * t820; + const double t1711 = t812 * t365; + const double t1712 = 0.1e1 / t1711; + const double t1713 = t360 * t1712; + const double t1714 = t819 * t819; + const double t1715 = t1714 * t820; + const double t1724 = -0.78438333333333333333e0 * t1673 + 0.15687666666666666667e1 * t1676 + 0.68863333333333333333e0 * t1679 + 0.14025833333333333333e0 * t1684 + 0.28051666666666666667e0 * t1686 + 0.17365833333333333333e0 * t1689; + const double t1728 = t812 * t812; + const double t1729 = 0.1e1 / t1728; + const double t1730 = t360 * t1729; + const double t1731 = t368 * t368; + const double t1732 = 0.1e1 / t1731; + const double t1733 = t1714 * t1732; + const double t1739 = t788 * t848; + const double t1742 = t828 * t378; + const double t1743 = 0.1e1 / t1742; + const double t1744 = t373 * t1743; + const double t1745 = t835 * t835; + const double t1746 = t1745 * t836; + const double t1755 = -0.57538888888888888889e0 * t1673 + 0.11507777777777777778e1 * t1676 + 0.40256666666666666667e0 * t1679 + 0.366775e-1 * t1684 + 0.73355e-1 * t1686 + 0.137975e0 * t1689; + const double t1756 = t1755 * t836; + const double t1759 = t828 * t828; + const double t1760 = 0.1e1 / t1759; + const double t1761 = t373 * t1760; + const double t1762 = t381 * t381; + const double t1763 = 0.1e1 / t1762; + const double t1764 = t1745 * t1763; + const double t1767 = -0.70983522622222222221e-3 * t219 * t984 * t808 - 0.34246666666666666666e-1 * t527 * t1708 - 0.2e1 * t1713 * t1715 + 0.1e1 * t814 * t1724 * t820 + 0.32163958997385070134e2 * t1730 * t1733 + t1654 + t1659 + t1666 - t1694 - t1702 - 0.24415263074675393405e-3 * t219 * t984 * t824 - 0.10843581300301739842e-1 * t527 * t1739 - 0.11696447245269292414e1 * t1744 * t1746 + 0.5848223622634646207e0 * t830 * t1756 + 0.17315859105681463759e2 * t1761 * t1764; + const double t1768 = t251 * t1767; + const double t1771 = 0.24415263074675393405e-3 * t717 * t1170 * t842; + const double t1774 = 0.10843581300301739842e-1 * t1540 * t792 * t848; + const double t1776 = t1743 * t1745 * t836; + const double t1778 = 0.11696447245269292414e1 * t846 * t1776; + const double t1780 = t829 * t1755 * t836; + const double t1782 = 0.5848223622634646207e0 * t846 * t1780; + const double t1783 = t1760 * t1745; + const double t1784 = t1783 * t1763; + const double t1786 = 0.17315859105681463759e2 * t846 * t1784; + const double t1790 = 0.1e1 / t853 / t398; + const double t1791 = t1790 * t187; + const double t1793 = t1321 * t1791 * t1565; + const double t1794 = t859 * t859; + const double t1795 = t397 * t397; + const double t1796 = t1794 * t1795; + const double t1797 = t858 * t1796; + const double t1798 = t199 * t1797; + const double t1802 = t599 * t855 * t1575; + const double t1805 = -t1654 - t1659 - t1666 + t1694 + t1702 + t1768 + t1771 + t1774 + t1778 - t1782 - t1786; + const double t1806 = t1805 * t397; + const double t1807 = t858 * t1806; + const double t1808 = t199 * t1807; + const double t1812 = t1321 * t855 * t1565; + const double t1813 = t1794 * t397; + const double t1814 = t858 * t1813; + const double t1815 = t199 * t1814; + const double t1822 = 0.35e2 / 0.432e3 * t1556 * t391 + t1793 * t1798 / 0.768e3 - 0.7e1 / 0.1152e4 * t1802 * t862 + t857 * t1808 / 0.1536e4 - t1812 * t1815 / 0.1536e4 + 0.119e3 / 0.6912e4 * t296 * t400 * t1362 * t405; + const double t1823 = beta * t1822; + const double t1825 = t870 * t175; + const double t1829 = 0.1e1 / t873 / t413; + const double t1830 = t42 * t1829; + const double t1831 = t884 * t884; + const double t1832 = t1830 * t1831; + const double t1836 = t1319 * t1320 * t1790; + const double t1837 = t408 * t1794; + const double t1838 = t1614 * t1795; + const double t1842 = t869 * t859; + const double t1846 = t408 * t1805; + const double t1850 = t1319 * t1320 * t854; + const double t1851 = t1614 * t397; + const double t1856 = t176 * t410 * t1822 + 0.2e1 * t1836 * t1837 * t1838 - t1850 * t1837 * t1851 + 0.2e1 * t877 * t1842 * t879 + t877 * t1846 * t879; + const double t1857 = t875 * t1856; + const double t1859 = t1823 * t415 - 0.2e1 * t1825 * t885 + 0.2e1 * t872 * t1832 - t872 * t1857; + const double t1863 = t887 * t887; + const double t1865 = t417 * t417; + const double t1866 = 0.1e1 / t1865; + const double t1869 = t154 * t287 * t1859 * t889 - t154 * t287 * t1863 * t1866 - t1654 - t1659 - t1666 + t1694 + t1702 + t1768 + t1771 + t1774 + t1778 - t1782 - t1786; + const double t1870 = piecewise_functor_3( t422, t1869, t1647 ); + const double t1873 = piecewise_functor_3( t75, t1419, t1870 * t31 / 0.2e1 ); + const double t1874 = t1651 + t1873; + const double t1882 = 0.4e1 * t1150 * t508 + 0.2e1 * t62 * t1155 + 0.2e1 * t899 * t1166 + t1148; + const double t1887 = 0.24415263074675393405e-3 * t904 * t1292; + const double t1888 = t434 * t78; + const double t1890 = 0.10843581300301739842e-1 * t1888 * t1296; + const double t1892 = 0.11696447245269292414e1 * t907 * t1300; + const double t1894 = 0.5848223622634646207e0 * t907 * t1304; + const double t1896 = 0.17315859105681463759e2 * t907 * t1308; + const double t1900 = 0.1e1 / t912 / t451; + const double t1901 = t1900 * t187; + const double t1902 = t1901 * t192; + const double t1903 = t1321 * t1902; + const double t1904 = t456 * t456; + const double t1906 = 0.1e1 / t1904 / t438; + const double t1908 = t17 * t1906 * t41; + const double t1909 = t921 * t921; + const double t1910 = t450 * t450; + const double t1911 = t1909 * t1910; + const double t1913 = t1908 * t609 * t1911; + const double t1916 = t914 * t620; + const double t1917 = t599 * t1916; + const double t1920 = -t1250 - t1251 - t1252 + t1253 + t1254 + t1887 + t1890 + t1892 - t1894 - t1896; + const double t1921 = t1920 * t450; + const double t1923 = t920 * t609 * t1921; + const double t1926 = t1321 * t915; + const double t1927 = t1909 * t450; + const double t1929 = t1908 * t609 * t1927; + const double t1933 = t1363 * t457 * t199; + const double t1936 = 0.35e2 / 0.432e3 * t1314 * t442 + t1903 * t1913 / 0.1536e4 - 0.7e1 / 0.2304e4 * t1917 * t924 + t916 * t1923 / 0.3072e4 - t1926 * t1929 / 0.3072e4 + 0.119e3 / 0.13824e5 * t455 * t1933; + const double t1937 = beta * t1936; + const double t1939 = t932 * t175; + const double t1943 = 0.1e1 / t935 / t466; + const double t1944 = t42 * t1943; + const double t1945 = t946 * t946; + const double t1946 = t1944 * t1945; + const double t1950 = t1319 * t1320 * t1900; + const double t1951 = t462 * t1909; + const double t1953 = 0.1e1 / t456 / t438; + const double t1954 = t1953 * t1910; + const double t1958 = t931 * t921; + const double t1962 = t462 * t1920; + const double t1966 = t1319 * t1320 * t913; + const double t1967 = t1953 * t450; + const double t1972 = t176 * t453 * t1936 + 0.2e1 * t1950 * t1951 * t1954 - t1966 * t1951 * t1967 + 0.2e1 * t939 * t1958 * t941 + t939 * t1962 * t941; + const double t1973 = t937 * t1972; + const double t1975 = t1937 * t468 - 0.2e1 * t1939 * t947 + 0.2e1 * t934 * t1946 - t934 * t1973; + const double t1979 = t949 * t949; + const double t1981 = t470 * t470; + const double t1982 = 0.1e1 / t1981; + const double t1985 = t154 * t439 * t1975 * t951 - t154 * t439 * t1979 * t1982 - t1250 - t1251 - t1252 + t1253 + t1254 + t1887 + t1890 + t1892 - t1894 - t1896; + const double t1987 = -t1148 * t427 - 0.4e1 * t1150 * t509 - 0.2e1 * t1156 * t427 - 0.4e1 * t503 * t1159 - 0.2e1 * t503 * t1167 - t72 * t1874 + t1882 * t474 + t430 * t1985 - 0.2e1 * t501 * t897 + 0.2e1 * t902 * t954; + const double t1988 = rho * t1987; + const double t1992 = d * t1987; + const double t1996 = t70 * t1155; + const double t1999 = t71 * t1166; + const double t2002 = t1992 * t478 + 0.6e1 * t477 * t1996 + 0.3e1 * t477 * t1999 + 0.6e1 * t960 * t962; + const double t2006 = t1123 * t1124 * t970; + const double t2009 = t2007 * t1130 * t494; + const double t2012 = t17 * t487; + const double t2016 = -0.8e1 / 0.3e1 * t2012 * t28 - 0.8e1 / 0.3e1 * t2012 * t35 + 0.8e1 / 0.3e1 * t487; + const double t2022 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t2006 * t2009 - t484 * t2016 * t41 * t496 / 0.6e1 ); + const double t2023 = t2022 * t71; + const double t2025 = t975 * t70; + const double t2031 = t63 * t508; + const double t2034 = t897 * t980; + const double t2039 = piecewise_functor_3( t69, 0.0, -t504 * t66 / 0.8e1 ); + const double t2040 = t427 * t2039; + const double t2044 = t1059 * t508; + const double t2047 = t590 * t16; + const double t2051 = t601 * sigma; + const double t2052 = t2051 * t192; + const double t2053 = t599 * t2052; + const double t2058 = -0.7e1 / 0.288e3 * t2047 * t168 * t987 + t2053 * t615 / 0.1536e4 - 0.7e1 / 0.2304e4 * t991 * t623; + const double t2059 = beta * t2058; + const double t2061 = t995 * t175; + const double t2063 = t997 * t626; + const double t2064 = t2063 * t596; + const double t2066 = t596 * t598; + const double t2067 = t998 * t2066; + const double t2068 = t1375 * t185; + const double t2069 = t994 * t641; + const double t2070 = t2068 * t2069; + const double t2073 = t1318 * t1320; + const double t2074 = t2073 * t631; + const double t2075 = t998 * t2074; + const double t2076 = t601 * t994; + const double t2078 = t612 * t180 * t183; + const double t2079 = t2076 * t2078; + const double t2082 = t1000 * t185 * t2058; + const double t2084 = -t2064 * t1002 + t2059 * t210 - t2061 * t642 + 0.2e1 * t2067 * t2070 - t2075 * t2079 - t999 * t2082; + const double t2088 = t154 * t163; + const double t2089 = t1004 * t1415; + const double t2092 = t154 * t163 * t2084 * t646 - t2088 * t2089 * t644; + const double t2093 = t2092 / 0.2e1; + const double t2095 = t590 * t288 * t91; + const double t2098 = t731 * sigma; + const double t2100 = t599 * t2098 * t735; + const double t2107 = -0.7e1 / 0.288e3 * t2095 * t293 + t2100 * t742 / 0.768e3 - 0.7e1 / 0.1152e4 * t296 * t1013 * t620 * t315; + const double t2108 = beta * t2107; + const double t2110 = t1019 * t175; + const double t2112 = t997 * t749; + const double t2113 = t2112 * t596; + const double t2115 = t1021 * t2066; + const double t2116 = t1604 * t304; + const double t2117 = t1018 * t764; + const double t2118 = t2116 * t2117; + const double t2121 = t2073 * t754; + const double t2122 = t1021 * t2121; + const double t2123 = t731 * t1018; + const double t2125 = t739 * t299 * t302; + const double t2126 = t2123 * t2125; + const double t2129 = t1023 * t304 * t2107; + const double t2131 = -t1022 * t2129 - t2113 * t1025 + t2108 * t325 - t2110 * t765 + 0.2e1 * t2115 * t2118 - t2122 * t2126; + const double t2135 = t154 * t287; + const double t2136 = t1027 * t1643; + const double t2140 = piecewise_functor_3( t332, t154 * t287 * t2131 * t769 - t2135 * t2136 * t767, t2092 ); + const double t2143 = piecewise_functor_3( t75, t2093, t2140 * t24 / 0.2e1 ); + const double t2146 = t854 * sigma; + const double t2148 = t599 * t2146 * t735; + const double t2155 = -0.7e1 / 0.288e3 * t2095 * t391 + t2148 * t862 / 0.768e3 - 0.7e1 / 0.1152e4 * t296 * t1037 * t620 * t405; + const double t2156 = beta * t2155; + const double t2158 = t1043 * t175; + const double t2160 = t997 * t869; + const double t2161 = t2160 * t596; + const double t2163 = t1045 * t2066; + const double t2164 = t1829 * t399; + const double t2165 = t1042 * t884; + const double t2166 = t2164 * t2165; + const double t2169 = t2073 * t874; + const double t2170 = t1045 * t2169; + const double t2171 = t854 * t1042; + const double t2173 = t859 * t299 * t397; + const double t2174 = t2171 * t2173; + const double t2177 = t1047 * t399 * t2155; + const double t2179 = -t1046 * t2177 - t2161 * t1049 + t2156 * t415 - t2158 * t885 + 0.2e1 * t2163 * t2166 - t2170 * t2174; + const double t2183 = t1051 * t1866; + const double t2187 = piecewise_functor_3( t422, t154 * t287 * t2179 * t889 - t2135 * t2183 * t887, t2092 ); + const double t2190 = piecewise_functor_3( t75, t2093, t2187 * t31 / 0.2e1 ); + const double t2191 = t2143 + t2190; + const double t2197 = t62 * t508; + const double t2202 = 0.2e1 * t1150 * t980 + 0.2e1 * t2025 * t508 + 0.2e1 * t899 * t2039 + 0.2e1 * t2197 * t980 + t2023; + const double t2206 = t902 * t152 * t153; + const double t2211 = t913 * sigma; + const double t2212 = t2211 * t192; + const double t2213 = t599 * t2212; + const double t2218 = -0.7e1 / 0.288e3 * t2047 * t440 * t987 + t2213 * t924 / 0.1536e4 - 0.7e1 / 0.2304e4 * t1071 * t928; + const double t2219 = beta * t2218; + const double t2221 = t1075 * t175; + const double t2223 = t997 * t931; + const double t2224 = t2223 * t596; + const double t2226 = t1077 * t2066; + const double t2227 = t1943 * t452; + const double t2228 = t1074 * t946; + const double t2229 = t2227 * t2228; + const double t2232 = t2073 * t936; + const double t2233 = t1077 * t2232; + const double t2234 = t913 * t1074; + const double t2236 = t921 * t447 * t450; + const double t2237 = t2234 * t2236; + const double t2240 = t1079 * t452 * t2218; + const double t2242 = -t1078 * t2240 - t2224 * t1081 + t2219 * t468 - t2221 * t947 + 0.2e1 * t2226 * t2229 - t2233 * t2237; + const double t2243 = t439 * t2242; + const double t2244 = t2243 * t951; + const double t2246 = t1982 * t949; + const double t2247 = t1084 * t2246; + const double t2249 = -t501 * t1059 + t1063 * t954 + t1066 * t2244 - t1066 * t2247 + t2206 * t1085 - 0.2e1 * t1150 * t981 - t2023 * t427 - 0.2e1 * t2025 * t509 - 0.2e1 * t2031 * t981 - 0.2e1 * t503 * t2034 - 0.2e1 * t503 * t2040 - 0.2e1 * t503 * t2044 - t72 * t2191 + t2202 * t474 - t976 * t897; + const double t2250 = rho * t2249; + const double t2255 = d * t2249; + const double t2261 = t70 * t980; + const double t2262 = t2261 * t508; + const double t2265 = t71 * t2039; + const double t2268 = 0.3e1 * t1090 * t962 + 0.3e1 * t960 * t1092 + t2255 * t478 + 0.6e1 * t477 * t2262 + 0.3e1 * t477 * t2265; + const double t2273 = t897 * t1101; + const double t2277 = piecewise_functor_3( t69, 0.0, t505 * t1098 / 0.8e1 ); + const double t2278 = t427 * t2277; + const double t2282 = t2277 * t474; + const double t2284 = t1101 * t954; + const double t2287 = -0.2e1 * t1150 * t1102 - 0.2e1 * t2031 * t1102 + 0.2e1 * t1150 * t1104 + 0.2e1 * t2197 * t1104 - 0.2e1 * t503 * t2273 - 0.2e1 * t503 * t2278 + 0.2e1 * t899 * t2282 + 0.2e1 * t899 * t2284; + const double t2288 = rho * t2287; + const double t2293 = d * t2287; + const double t2299 = t70 * t1101; + const double t2300 = t2299 * t508; + const double t2303 = t71 * t2277; + const double t2306 = 0.3e1 * t1110 * t962 + 0.3e1 * t960 * t1112 + t2293 * t478 + 0.6e1 * t477 * t2300 + 0.3e1 * t477 * t2303; + const double t2308 = t970 * t970; + const double t2313 = piecewise_functor_3( t4, 0.0, 0.5e1 / 0.144e3 * t1125 * t2308 * t91 * t1131 ); + const double t2314 = t2313 * t71; + const double t2320 = t980 * t980; + const double t2321 = t63 * t2320; + const double t2324 = t1059 * t980; + const double t2327 = piecewise_functor_3( t69, 0.0, 0.0 ); + const double t2328 = t427 * t2327; + const double t2330 = 0.2e1 * t503 * t2328; + const double t2331 = t997 * t596; + const double t2332 = t598 * t185; + const double t2338 = t17 * t195 * t41 * t609 * t209; + const double t2341 = t994 * t994; + const double t2342 = t997 * t2341; + const double t2343 = t2342 * t596; + const double t2344 = t1000 * t185; + const double t2348 = t2347 * t203; + const double t2349 = t2348 * t1318; + const double t2350 = t1320 * t1375; + const double t2352 = t2350 * t601 * t2341; + const double t2356 = t1320 * t631 * t601; + const double t2357 = t2349 * t2356; + const double t2360 = t2331 * t2332 * t192 * t2338 / 0.1536e4 - 0.2e1 * t2343 * t2344 + 0.2e1 * t2349 * t2352 - t2357 * t200 / 0.1536e4; + const double t2364 = t1004 * t1004; + const double t2368 = -t154 * t163 * t2364 * t1415 + t154 * t163 * t2360 * t646; + const double t2369 = t2368 / 0.2e1; + const double t2370 = t2331 * t598; + const double t2373 = t2370 * t304 * t192 * t309; + const double t2375 = t199 * t738 * t324; + const double t2378 = t1018 * t1018; + const double t2379 = t997 * t2378; + const double t2380 = t2379 * t596; + const double t2381 = t1023 * t304; + const double t2384 = t2347 * t318; + const double t2385 = t2384 * t1318; + const double t2386 = t1320 * t1604; + const double t2388 = t2386 * t731 * t2378; + const double t2392 = t1320 * t754 * t731; + const double t2393 = t2385 * t2392; + const double t2394 = t192 * t309; + const double t2395 = t2394 * t41; + const double t2396 = t609 * t738; + const double t2397 = t2395 * t2396; + const double t2400 = t2373 * t2375 / 0.768e3 - 0.2e1 * t2380 * t2381 + 0.2e1 * t2385 * t2388 - t2393 * t2397 / 0.768e3; + const double t2404 = t1027 * t1027; + const double t2409 = piecewise_functor_3( t332, -t154 * t287 * t2404 * t1643 + t154 * t287 * t2400 * t769, t2368 ); + const double t2412 = piecewise_functor_3( t75, t2369, t2409 * t24 / 0.2e1 ); + const double t2415 = t2370 * t399 * t192 * t309; + const double t2417 = t199 * t858 * t414; + const double t2420 = t1042 * t1042; + const double t2421 = t997 * t2420; + const double t2422 = t2421 * t596; + const double t2423 = t1047 * t399; + const double t2426 = t2347 * t408; + const double t2427 = t2426 * t1318; + const double t2428 = t1320 * t1829; + const double t2430 = t2428 * t854 * t2420; + const double t2434 = t1320 * t874 * t854; + const double t2435 = t2427 * t2434; + const double t2436 = t609 * t858; + const double t2437 = t2395 * t2436; + const double t2440 = t2415 * t2417 / 0.768e3 - 0.2e1 * t2422 * t2423 + 0.2e1 * t2427 * t2430 - t2435 * t2437 / 0.768e3; + const double t2444 = t1051 * t1051; + const double t2449 = piecewise_functor_3( t422, -t154 * t287 * t2444 * t1866 + t154 * t287 * t2440 * t889, t2368 ); + const double t2452 = piecewise_functor_3( t75, t2369, t2449 * t31 / 0.2e1 ); + const double t2453 = t2412 + t2452; + const double t2460 = 0.2e1 * t899 * t2327; + const double t2461 = 0.4e1 * t2025 * t980 + 0.2e1 * t62 * t2320 + t2314 + t2460; + const double t2464 = t1063 * t152 * t153; + const double t2467 = t598 * t452; + const double t2473 = t17 * t457 * t41 * t609 * t467; + const double t2476 = t1074 * t1074; + const double t2477 = t997 * t2476; + const double t2478 = t2477 * t596; + const double t2479 = t1079 * t452; + const double t2482 = t2347 * t462; + const double t2483 = t2482 * t1318; + const double t2484 = t1320 * t1943; + const double t2486 = t2484 * t913 * t2476; + const double t2490 = t1320 * t936 * t913; + const double t2491 = t2483 * t2490; + const double t2494 = t2331 * t2467 * t192 * t2473 / 0.1536e4 - 0.2e1 * t2478 * t2479 + 0.2e1 * t2483 * t2486 - t2491 * t459 / 0.1536e4; + const double t2495 = t439 * t2494; + const double t2496 = t2495 * t951; + const double t2498 = t1083 * t1083; + const double t2499 = t439 * t2498; + const double t2500 = t2499 * t1982; + const double t2502 = -0.2e1 * t976 * t1059 + t1066 * t2496 - t1066 * t2500 + 0.2e1 * t2464 * t1085 - 0.4e1 * t2025 * t981 - t2314 * t427 - 0.2e1 * t2321 * t427 - 0.4e1 * t503 * t2324 - t72 * t2453 + t2461 * t474 - t2330; + const double t2503 = rho * t2502; + const double t2507 = d * t2502; + const double t2511 = t70 * t2320; + const double t2514 = t71 * t2327; + const double t2516 = 0.3e1 * t477 * t2514; + const double t2517 = 0.6e1 * t1090 * t1092 + t2507 * t478 + 0.6e1 * t477 * t2511 + t2516; + const double t2520 = t63 * t980; + const double t2522 = t1059 * t1101; + const double t2526 = piecewise_functor_3( t69, 0.0, -t64 * t1098 / 0.8e1 ); + const double t2527 = t427 * t2526; + const double t2530 = t62 * t980; + const double t2532 = t2526 * t474; + const double t2534 = t1101 * t152; + const double t2535 = t899 * t2534; + const double t2536 = t153 * t439; + const double t2538 = t2536 * t1083 * t951; + const double t2541 = -0.2e1 * t2025 * t1102 - 0.2e1 * t2520 * t1102 + 0.2e1 * t2025 * t1104 + 0.2e1 * t2530 * t1104 - 0.2e1 * t503 * t2522 - 0.2e1 * t503 * t2527 + 0.2e1 * t899 * t2532 + 0.2e1 * t2535 * t2538; + const double t2542 = rho * t2541; + const double t2546 = d * t2541; + const double t2552 = t2299 * t980; + const double t2555 = t71 * t2526; + const double t2558 = 0.3e1 * t1090 * t1112 + 0.3e1 * t1110 * t1092 + t2546 * t478 + 0.6e1 * t477 * t2552 + 0.3e1 * t477 * t2555; + const double t2560 = t1101 * t1101; + const double t2561 = t63 * t2560; + const double t2564 = 0.1e1 / t1097 / tau; + const double t2567 = piecewise_functor_3( t69, 0.0, t65 * t2564 / 0.4e1 ); + const double t2568 = t427 * t2567; + const double t2570 = t62 * t2560; + const double t2572 = t2567 * t474; + const double t2575 = -0.2e1 * t2561 * t427 - 0.2e1 * t503 * t2568 + 0.2e1 * t2570 * t474 + 0.2e1 * t899 * t2572; + const double t2576 = rho * t2575; + const double t2580 = d * t2575; + const double t2584 = t70 * t2560; + const double t2587 = t71 * t2567; + const double t2590 = 0.6e1 * t1110 * t1112 + t2580 * t478 + 0.6e1 * t477 * t2584 + 0.3e1 * t477 * t2587; + + + vrho = t957 * t480 + t959 * t965 + tzk0; + vsigma = t1088 * t480 + t959 * t1095; + vlapl = 0.e0; + vtau = t1108 * t480 + t959 * t1115; + v2rho2 = t1988 * t480 + t959 * t2002 + 0.2e1 * t476 * t965 + 0.2e1 * t956 * t480 + 0.2e1 * t957 * t965; + v2rhosigma = t1087 * t480 + t1088 * t965 + t476 * t1095 + t957 * t1095 + t2250 * t480 + t959 * t2268; + v2rholapl = 0.e0; + v2rhotau = t1107 * t480 + t1108 * t965 + t476 * t1115 + t957 * t1115 + t2288 * t480 + t959 * t2306; + v2sigma2 = 0.2e1 * t1088 * t1095 + t2503 * t480 + t959 * t2517; + v2sigmalapl = 0.e0; + v2sigmatau = t1088 * t1115 + t1108 * t1095 + t2542 * t480 + t959 * t2558; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * t1108 * t1115 + t2576 * t480 + t959 * t2590; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t214 = 0.1e1 / t122; + constexpr double t215 = t214 * t124; + constexpr double t235 = t159 * t159; + constexpr double t240 = 0.1e1 / t137; + constexpr double t241 = t72 * t240; + constexpr double t242 = t241 * t125; + constexpr double t262 = t123 * t125; + constexpr double t275 = t138 * t124; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 / t65 / t16; + const double t210 = t64 * t209; + const double t211 = t210 * t159; + const double t212 = 0.1e1 / t206; + const double t216 = t212 * t136 * t215; + const double t219 = 0.1e1 / t196; + const double t220 = beta * t219; + const double t222 = ( -t149 + t191 + t194 ) * t219; + const double t223 = 0.1e1 / t207; + const double t224 = t73 * t223; + const double t226 = safe_math::exp( -t222 * t224 ); + const double t227 = t226 - 0.1e1; + const double t228 = 0.1e1 / t227; + const double t229 = t73 * t228; + const double t230 = t64 * t64; + const double t232 = t220 * t229 * t230; + const double t234 = 0.1e1 / t66 / t21; + const double t236 = t234 * t235; + const double t237 = t206 * t206; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t243 = t239 * t242; + const double t246 = t211 * t216 / 0.96e2 + t232 * t243 / 0.3072e4; + const double t247 = beta * t246; + const double t248 = t219 * t73; + const double t251 = t220 * t229 * t246 + 0.1e1; + const double t252 = 0.1e1 / t251; + const double t253 = t248 * t252; + const double t255 = t247 * t253 + 0.1e1; + const double t256 = safe_math::log( t255 ); + const double t259 = t198 * t207 * t256 - t149 + t191 + t194; + const double t263 = t126 * t159; + const double t264 = 0.1e1 / t45; + const double t265 = safe_math::cbrt( t264 ); + const double t267 = t262 * t263 * t265; + const double t269 = 0.1e1 + 0.53425e-1 * t267; + const double t270 = safe_math::sqrt( t267 ); + const double t273 = pow_3_2( t267 ); + const double t276 = t139 * t235; + const double t277 = t265 * t265; + const double t279 = t275 * t276 * t277; + const double t281 = 0.379785e1 * t270 + 0.8969e0 * t267 + 0.204775e0 * t273 + 0.123235e0 * t279; + const double t284 = 0.1e1 + 0.16081979498692535067e2 / t281; + const double t285 = safe_math::log( t284 ); + const double t287 = 0.621814e-1 * t269 * t285; + const double t288 = 0.2e1 <= zeta_tol; + const double t290 = piecewise_functor_3( t288, t153, 0.2e1 * t159 ); + const double t291 = 0.e0 <= zeta_tol; + const double t292 = piecewise_functor_3( t291, t153, 0.0 ); + const double t294 = ( t290 + t292 - 0.2e1 ) * t162; + const double t296 = 0.1e1 + 0.5137e-1 * t267; + const double t301 = 0.705945e1 * t270 + 0.1549425e1 * t267 + 0.420775e0 * t273 + 0.1562925e0 * t279; + const double t304 = 0.1e1 + 0.32163958997385070134e2 / t301; + const double t305 = safe_math::log( t304 ); + const double t309 = 0.1e1 + 0.278125e-1 * t267; + const double t314 = 0.51785e1 * t270 + 0.905775e0 * t267 + 0.1100325e0 * t273 + 0.1241775e0 * t279; + const double t317 = 0.1e1 + 0.29608749977793437516e2 / t314; + const double t318 = safe_math::log( t317 ); + const double t319 = t309 * t318; + const double t322 = t294 * ( -0.310907e-1 * t296 * t305 + t287 - 0.19751673498613801407e-1 * t319 ); + const double t324 = 0.19751673498613801407e-1 * t294 * t319; + const double t325 = piecewise_functor_3( t288, t199, t235 ); + const double t326 = piecewise_functor_3( t291, t199, 0.0 ); + const double t328 = t325 / 0.2e1 + t326 / 0.2e1; + const double t329 = t328 * t328; + const double t330 = t329 * t328; + const double t331 = 0.1e1 / t329; + const double t332 = t331 * t136; + const double t333 = t44 * t332; + const double t334 = 0.1e1 / t265; + const double t336 = t215 * t65 * t334; + const double t339 = t220 * t73; + const double t342 = 0.1e1 / t330; + const double t343 = t73 * t342; + const double t345 = safe_math::exp( -( -t287 + t322 + t324 ) * t219 * t343 ); + const double t346 = t345 - 0.1e1; + const double t347 = 0.1e1 / t346; + const double t348 = sigma_aa * sigma_aa; + const double t349 = t347 * t348; + const double t350 = t39 * t39; + const double t351 = t350 * rho_a; + const double t353 = 0.1e1 / t40 / t351; + const double t355 = t339 * t349 * t353; + const double t356 = t329 * t329; + const double t357 = 0.1e1 / t356; + const double t358 = t357 * t72; + const double t359 = t358 * t240; + const double t360 = t125 * t66; + const double t361 = 0.1e1 / t277; + const double t363 = t359 * t360 * t361; + const double t366 = t333 * t336 / 0.96e2 + t355 * t363 / 0.3072e4; + const double t367 = beta * t366; + const double t368 = t73 * t347; + const double t371 = t220 * t366 * t368 + 0.1e1; + const double t372 = 0.1e1 / t371; + const double t373 = t248 * t372; + const double t375 = t367 * t373 + 0.1e1; + const double t376 = safe_math::log( t375 ); + const double t379 = t198 * t330 * t376 - t287 + t322 + t324; + const double t380 = t259 < t379; + const double t381 = piecewise_functor_3( t380, t379, t259 ); + const double t384 = piecewise_functor_3( t120, t259 * t30 / 0.2e1, t381 * t45 / 0.2e1 ); + const double t386 = rho_b <= dens_tol || t34; + const double t389 = 0.1e1 / t57; + const double t390 = safe_math::cbrt( t389 ); + const double t392 = t262 * t263 * t390; + const double t394 = 0.1e1 + 0.53425e-1 * t392; + const double t395 = safe_math::sqrt( t392 ); + const double t398 = pow_3_2( t392 ); + const double t400 = t390 * t390; + const double t402 = t275 * t276 * t400; + const double t404 = 0.379785e1 * t395 + 0.8969e0 * t392 + 0.204775e0 * t398 + 0.123235e0 * t402; + const double t407 = 0.1e1 + 0.16081979498692535067e2 / t404; + const double t408 = safe_math::log( t407 ); + const double t410 = 0.621814e-1 * t394 * t408; + const double t412 = 0.1e1 + 0.5137e-1 * t392; + const double t417 = 0.705945e1 * t395 + 0.1549425e1 * t392 + 0.420775e0 * t398 + 0.1562925e0 * t402; + const double t420 = 0.1e1 + 0.32163958997385070134e2 / t417; + const double t421 = safe_math::log( t420 ); + const double t425 = 0.1e1 + 0.278125e-1 * t392; + const double t430 = 0.51785e1 * t395 + 0.905775e0 * t392 + 0.1100325e0 * t398 + 0.1241775e0 * t402; + const double t433 = 0.1e1 + 0.29608749977793437516e2 / t430; + const double t434 = safe_math::log( t433 ); + const double t435 = t425 * t434; + const double t438 = t294 * ( -0.310907e-1 * t412 * t421 + t410 - 0.19751673498613801407e-1 * t435 ); + const double t440 = 0.19751673498613801407e-1 * t294 * t435; + const double t441 = t56 * t332; + const double t442 = 0.1e1 / t390; + const double t444 = t215 * t65 * t442; + const double t450 = safe_math::exp( -( -t410 + t438 + t440 ) * t219 * t343 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = sigma_bb * sigma_bb; + const double t454 = t452 * t453; + const double t455 = t51 * t51; + const double t456 = t455 * rho_b; + const double t458 = 0.1e1 / t52 / t456; + const double t460 = t339 * t454 * t458; + const double t461 = 0.1e1 / t400; + const double t463 = t359 * t360 * t461; + const double t466 = t441 * t444 / 0.96e2 + t460 * t463 / 0.3072e4; + const double t467 = beta * t466; + const double t468 = t73 * t452; + const double t471 = t220 * t466 * t468 + 0.1e1; + const double t472 = 0.1e1 / t471; + const double t473 = t248 * t472; + const double t475 = t467 * t473 + 0.1e1; + const double t476 = safe_math::log( t475 ); + const double t479 = t198 * t330 * t476 - t410 + t438 + t440; + const double t480 = t259 < t479; + const double t481 = piecewise_functor_3( t480, t479, t259 ); + const double t484 = piecewise_functor_3( t386, t259 * t33 / 0.2e1, t481 * t57 / 0.2e1 ); + const double t485 = t384 + t484; + const double t488 = t117 * t93 + 0.1e1; + const double t489 = t19 * t22; + const double t490 = safe_math::cbrt( t30 ); + const double t491 = t490 * t30; + const double t492 = piecewise_functor_3( t31, t153, t491 ); + const double t493 = safe_math::cbrt( t33 ); + const double t494 = t493 * t33; + const double t495 = piecewise_functor_3( t34, t153, t494 ); + const double t496 = t492 + t495 - 0.2e1; + const double t497 = t496 * t162; + const double t498 = t497 * t189; + const double t499 = t489 * t498; + const double t501 = 0.19751673498613801407e-1 * t497 * t187; + const double t502 = t490 * t490; + const double t503 = piecewise_functor_3( t31, t199, t502 ); + const double t504 = t493 * t493; + const double t505 = piecewise_functor_3( t34, t199, t504 ); + const double t507 = t503 / 0.2e1 + t505 / 0.2e1; + const double t508 = t507 * t507; + const double t509 = t508 * t507; + const double t510 = 0.1e1 / t508; + const double t512 = t510 * t136 * t215; + const double t516 = ( -t149 + t499 + t501 ) * t219; + const double t517 = 0.1e1 / t509; + const double t518 = t73 * t517; + const double t520 = safe_math::exp( -t516 * t518 ); + const double t521 = t520 - 0.1e1; + const double t522 = 0.1e1 / t521; + const double t523 = t73 * t522; + const double t525 = t220 * t523 * t230; + const double t526 = t508 * t508; + const double t527 = 0.1e1 / t526; + const double t528 = t236 * t527; + const double t529 = t528 * t242; + const double t532 = t211 * t512 / 0.96e2 + t525 * t529 / 0.3072e4; + const double t533 = beta * t532; + const double t536 = t220 * t523 * t532 + 0.1e1; + const double t537 = 0.1e1 / t536; + const double t538 = t248 * t537; + const double t540 = t533 * t538 + 0.1e1; + const double t541 = safe_math::log( t540 ); + const double t544 = t198 * t509 * t541 - t149 + t499 + t501; + const double t546 = -t118 * t485 + t488 * t544; + const double t547 = d * t546; + const double t548 = t117 * t116; + const double t550 = t547 * t548 + 0.1e1; + + + eps = t546 * t550; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t214 = 0.1e1 / t122; + constexpr double t215 = t214 * t124; + constexpr double t235 = t159 * t159; + constexpr double t240 = 0.1e1 / t137; + constexpr double t241 = t72 * t240; + constexpr double t242 = t241 * t125; + constexpr double t262 = t123 * t125; + constexpr double t275 = t138 * t124; + constexpr double t660 = t122 * t125; + constexpr double t762 = t136 * t214; + constexpr double t774 = t240 * t125; + constexpr double t937 = t73 * t73; + constexpr double t1695 = t762 * t124; + constexpr double t1705 = beta * beta; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 / t65 / t16; + const double t210 = t64 * t209; + const double t211 = t210 * t159; + const double t212 = 0.1e1 / t206; + const double t216 = t212 * t136 * t215; + const double t219 = 0.1e1 / t196; + const double t220 = beta * t219; + const double t222 = ( -t149 + t191 + t194 ) * t219; + const double t223 = 0.1e1 / t207; + const double t224 = t73 * t223; + const double t226 = safe_math::exp( -t222 * t224 ); + const double t227 = t226 - 0.1e1; + const double t228 = 0.1e1 / t227; + const double t229 = t73 * t228; + const double t230 = t64 * t64; + const double t232 = t220 * t229 * t230; + const double t234 = 0.1e1 / t66 / t21; + const double t236 = t234 * t235; + const double t237 = t206 * t206; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t243 = t239 * t242; + const double t246 = t211 * t216 / 0.96e2 + t232 * t243 / 0.3072e4; + const double t247 = beta * t246; + const double t248 = t219 * t73; + const double t251 = t220 * t229 * t246 + 0.1e1; + const double t252 = 0.1e1 / t251; + const double t253 = t248 * t252; + const double t255 = t247 * t253 + 0.1e1; + const double t256 = safe_math::log( t255 ); + const double t259 = t198 * t207 * t256 - t149 + t191 + t194; + const double t263 = t126 * t159; + const double t264 = 0.1e1 / t45; + const double t265 = safe_math::cbrt( t264 ); + const double t267 = t262 * t263 * t265; + const double t269 = 0.1e1 + 0.53425e-1 * t267; + const double t270 = safe_math::sqrt( t267 ); + const double t273 = pow_3_2( t267 ); + const double t276 = t139 * t235; + const double t277 = t265 * t265; + const double t279 = t275 * t276 * t277; + const double t281 = 0.379785e1 * t270 + 0.8969e0 * t267 + 0.204775e0 * t273 + 0.123235e0 * t279; + const double t284 = 0.1e1 + 0.16081979498692535067e2 / t281; + const double t285 = safe_math::log( t284 ); + const double t287 = 0.621814e-1 * t269 * t285; + const double t288 = 0.2e1 <= zeta_tol; + const double t290 = piecewise_functor_3( t288, t153, 0.2e1 * t159 ); + const double t291 = 0.e0 <= zeta_tol; + const double t292 = piecewise_functor_3( t291, t153, 0.0 ); + const double t294 = ( t290 + t292 - 0.2e1 ) * t162; + const double t296 = 0.1e1 + 0.5137e-1 * t267; + const double t301 = 0.705945e1 * t270 + 0.1549425e1 * t267 + 0.420775e0 * t273 + 0.1562925e0 * t279; + const double t304 = 0.1e1 + 0.32163958997385070134e2 / t301; + const double t305 = safe_math::log( t304 ); + const double t309 = 0.1e1 + 0.278125e-1 * t267; + const double t314 = 0.51785e1 * t270 + 0.905775e0 * t267 + 0.1100325e0 * t273 + 0.1241775e0 * t279; + const double t317 = 0.1e1 + 0.29608749977793437516e2 / t314; + const double t318 = safe_math::log( t317 ); + const double t319 = t309 * t318; + const double t322 = t294 * ( -0.310907e-1 * t296 * t305 + t287 - 0.19751673498613801407e-1 * t319 ); + const double t324 = 0.19751673498613801407e-1 * t294 * t319; + const double t325 = piecewise_functor_3( t288, t199, t235 ); + const double t326 = piecewise_functor_3( t291, t199, 0.0 ); + const double t328 = t325 / 0.2e1 + t326 / 0.2e1; + const double t329 = t328 * t328; + const double t330 = t329 * t328; + const double t331 = 0.1e1 / t329; + const double t332 = t331 * t136; + const double t333 = t44 * t332; + const double t334 = 0.1e1 / t265; + const double t336 = t215 * t65 * t334; + const double t339 = t220 * t73; + const double t342 = 0.1e1 / t330; + const double t343 = t73 * t342; + const double t345 = safe_math::exp( -( -t287 + t322 + t324 ) * t219 * t343 ); + const double t346 = t345 - 0.1e1; + const double t347 = 0.1e1 / t346; + const double t348 = sigma_aa * sigma_aa; + const double t349 = t347 * t348; + const double t350 = t39 * t39; + const double t351 = t350 * rho_a; + const double t353 = 0.1e1 / t40 / t351; + const double t355 = t339 * t349 * t353; + const double t356 = t329 * t329; + const double t357 = 0.1e1 / t356; + const double t358 = t357 * t72; + const double t359 = t358 * t240; + const double t360 = t125 * t66; + const double t361 = 0.1e1 / t277; + const double t363 = t359 * t360 * t361; + const double t366 = t333 * t336 / 0.96e2 + t355 * t363 / 0.3072e4; + const double t367 = beta * t366; + const double t368 = t73 * t347; + const double t371 = t220 * t366 * t368 + 0.1e1; + const double t372 = 0.1e1 / t371; + const double t373 = t248 * t372; + const double t375 = t367 * t373 + 0.1e1; + const double t376 = safe_math::log( t375 ); + const double t379 = t198 * t330 * t376 - t287 + t322 + t324; + const double t380 = t259 < t379; + const double t381 = piecewise_functor_3( t380, t379, t259 ); + const double t384 = piecewise_functor_3( t120, t259 * t30 / 0.2e1, t381 * t45 / 0.2e1 ); + const double t386 = rho_b <= dens_tol || t34; + const double t389 = 0.1e1 / t57; + const double t390 = safe_math::cbrt( t389 ); + const double t392 = t262 * t263 * t390; + const double t394 = 0.1e1 + 0.53425e-1 * t392; + const double t395 = safe_math::sqrt( t392 ); + const double t398 = pow_3_2( t392 ); + const double t400 = t390 * t390; + const double t402 = t275 * t276 * t400; + const double t404 = 0.379785e1 * t395 + 0.8969e0 * t392 + 0.204775e0 * t398 + 0.123235e0 * t402; + const double t407 = 0.1e1 + 0.16081979498692535067e2 / t404; + const double t408 = safe_math::log( t407 ); + const double t410 = 0.621814e-1 * t394 * t408; + const double t412 = 0.1e1 + 0.5137e-1 * t392; + const double t417 = 0.705945e1 * t395 + 0.1549425e1 * t392 + 0.420775e0 * t398 + 0.1562925e0 * t402; + const double t420 = 0.1e1 + 0.32163958997385070134e2 / t417; + const double t421 = safe_math::log( t420 ); + const double t425 = 0.1e1 + 0.278125e-1 * t392; + const double t430 = 0.51785e1 * t395 + 0.905775e0 * t392 + 0.1100325e0 * t398 + 0.1241775e0 * t402; + const double t433 = 0.1e1 + 0.29608749977793437516e2 / t430; + const double t434 = safe_math::log( t433 ); + const double t435 = t425 * t434; + const double t438 = t294 * ( -0.310907e-1 * t412 * t421 + t410 - 0.19751673498613801407e-1 * t435 ); + const double t440 = 0.19751673498613801407e-1 * t294 * t435; + const double t441 = t56 * t332; + const double t442 = 0.1e1 / t390; + const double t444 = t215 * t65 * t442; + const double t450 = safe_math::exp( -( -t410 + t438 + t440 ) * t219 * t343 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = sigma_bb * sigma_bb; + const double t454 = t452 * t453; + const double t455 = t51 * t51; + const double t456 = t455 * rho_b; + const double t458 = 0.1e1 / t52 / t456; + const double t460 = t339 * t454 * t458; + const double t461 = 0.1e1 / t400; + const double t463 = t359 * t360 * t461; + const double t466 = t441 * t444 / 0.96e2 + t460 * t463 / 0.3072e4; + const double t467 = beta * t466; + const double t468 = t73 * t452; + const double t471 = t220 * t466 * t468 + 0.1e1; + const double t472 = 0.1e1 / t471; + const double t473 = t248 * t472; + const double t475 = t467 * t473 + 0.1e1; + const double t476 = safe_math::log( t475 ); + const double t479 = t198 * t330 * t476 - t410 + t438 + t440; + const double t480 = t259 < t479; + const double t481 = piecewise_functor_3( t480, t479, t259 ); + const double t484 = piecewise_functor_3( t386, t259 * t33 / 0.2e1, t481 * t57 / 0.2e1 ); + const double t485 = t384 + t484; + const double t488 = t117 * t93 + 0.1e1; + const double t489 = t19 * t22; + const double t490 = safe_math::cbrt( t30 ); + const double t491 = t490 * t30; + const double t492 = piecewise_functor_3( t31, t153, t491 ); + const double t493 = safe_math::cbrt( t33 ); + const double t494 = t493 * t33; + const double t495 = piecewise_functor_3( t34, t153, t494 ); + const double t496 = t492 + t495 - 0.2e1; + const double t497 = t496 * t162; + const double t498 = t497 * t189; + const double t499 = t489 * t498; + const double t501 = 0.19751673498613801407e-1 * t497 * t187; + const double t502 = t490 * t490; + const double t503 = piecewise_functor_3( t31, t199, t502 ); + const double t504 = t493 * t493; + const double t505 = piecewise_functor_3( t34, t199, t504 ); + const double t507 = t503 / 0.2e1 + t505 / 0.2e1; + const double t508 = t507 * t507; + const double t509 = t508 * t507; + const double t510 = 0.1e1 / t508; + const double t512 = t510 * t136 * t215; + const double t516 = ( -t149 + t499 + t501 ) * t219; + const double t517 = 0.1e1 / t509; + const double t518 = t73 * t517; + const double t520 = safe_math::exp( -t516 * t518 ); + const double t521 = t520 - 0.1e1; + const double t522 = 0.1e1 / t521; + const double t523 = t73 * t522; + const double t525 = t220 * t523 * t230; + const double t526 = t508 * t508; + const double t527 = 0.1e1 / t526; + const double t528 = t236 * t527; + const double t529 = t528 * t242; + const double t532 = t211 * t512 / 0.96e2 + t525 * t529 / 0.3072e4; + const double t533 = beta * t532; + const double t536 = t220 * t523 * t532 + 0.1e1; + const double t537 = 0.1e1 / t536; + const double t538 = t248 * t537; + const double t540 = t533 * t538 + 0.1e1; + const double t541 = safe_math::log( t540 ); + const double t544 = t198 * t509 * t541 - t149 + t499 + t501; + const double t546 = -t118 * t485 + t488 * t544; + const double t547 = d * t546; + const double t548 = t117 * t116; + const double t550 = t547 * t548 + 0.1e1; + const double t551 = t10 * t2; + const double t553 = 0.2e1 * t551 * t17; + const double t554 = t16 * t3; + const double t555 = 0.1e1 / t554; + const double t557 = 0.2e1 * t15 * t555; + const double t558 = t14 * t2; + const double t559 = t11 * t558; + const double t561 = 0.4e1 * t559 * t22; + const double t562 = t21 * t3; + const double t563 = 0.1e1 / t562; + const double t565 = 0.4e1 * t20 * t563; + const double t567 = t12 * t19 * t2; + const double t569 = 0.6e1 * t567 * t27; + const double t570 = t21 * t554; + const double t571 = 0.1e1 / t570; + const double t573 = 0.6e1 * t25 * t571; + const double t574 = t553 - t557 + t561 - t565 + t569 - t573; + const double t577 = 0.1e1 / t90 / t88; + const double t578 = t29 * t577; + const double t579 = t2 * t17; + const double t580 = t4 - t579; + const double t581 = piecewise_functor_5( t31, 0.0, t34, 0.0, t580 ); + const double t582 = t36 * t581; + const double t583 = t582 * t70; + const double t586 = t39 * rho_a; + const double t588 = 0.1e1 / t41 / t586; + const double t589 = sigma_aa * t588; + const double t592 = t48 * t581; + const double t595 = t60 * t581; + const double t599 = 0.1e1 / t66 / t554; + const double t600 = t64 * t599; + const double t601 = 0.8e1 / 0.3e1 * t600; + const double t602 = -0.8e1 / 0.3e1 * t589 * t49 + 0.5e1 / 0.6e1 * t44 * t592 - 0.5e1 / 0.6e1 * t56 * t595 + t601; + const double t603 = t38 * t602; + const double t606 = t45 * t45; + const double t608 = 0.1e1 / t78 / t606; + const double t610 = t57 * t57; + const double t612 = 0.1e1 / t81 / t610; + const double t615 = -0.4e1 / 0.3e1 * t608 * t581 + 0.4e1 / 0.3e1 * t612 * t581; + const double t616 = t77 * t615; + const double t619 = -t583 * t85 / 0.12e2 + t603 * t85 / 0.24e2 + t71 * t616 / 0.24e2; + const double t623 = piecewise_functor_3( t8, 0.0, t574 * t91 - 0.4e1 * t578 * t619 ); + const double t624 = t623 * t117; + const double t626 = t94 * t116; + const double t628 = t600 * t112 / 0.3e1; + const double t629 = t111 * t111; + const double t630 = 0.1e1 / t629; + const double t631 = tau_a * t43; + const double t633 = t580 / 0.2e1; + const double t634 = t100 * t633; + const double t636 = -t633; + const double t637 = t108 * t636; + const double t640 = -0.5e1 / 0.3e1 * t631 * t101 + 0.5e1 / 0.3e1 * t105 * t637 + 0.5e1 / 0.3e1 * t97 * t634; + const double t641 = t630 * t640; + const double t645 = piecewise_functor_3( t115, 0.0, -t628 - t69 * t641 / 0.8e1 ); + const double t646 = t485 * t645; + const double t649 = t65 * t3; + const double t650 = 0.1e1 / t649; + const double t651 = t125 * t650; + const double t654 = 0.11073470983333333333e-2 * t123 * t651 * t147; + const double t655 = t143 * t143; + const double t656 = 0.1e1 / t655; + const double t657 = t130 * t656; + const double t659 = 0.1e1 / t131 * t72; + const double t661 = t660 * t650; + const double t662 = t659 * t661; + const double t664 = t123 * t651; + const double t666 = safe_math::sqrt( t128 ); + const double t667 = t666 * t72; + const double t668 = t667 * t661; + const double t671 = 0.1e1 / t66 / t3; + const double t672 = t124 * t671; + const double t673 = t138 * t672; + const double t675 = -0.632975e0 * t662 - 0.29896666666666666667e0 * t664 - 0.1023875e0 * t668 - 0.82156666666666666667e-1 * t673; + const double t676 = 0.1e1 / t146; + const double t677 = t675 * t676; + const double t679 = 0.1e1 * t657 * t677; + const double t680 = t37 * t36; + const double t681 = t680 * t157; + const double t682 = t190 * t581; + const double t684 = 0.4e1 * t681 * t682; + const double t687 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t581 ); + const double t690 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t581 ); + const double t691 = t687 + t690; + const double t692 = t150 * t691; + const double t693 = t692 * t190; + const double t697 = t169 * t169; + const double t698 = 0.1e1 / t697; + const double t699 = t164 * t698; + const double t704 = -0.1176575e1 * t662 - 0.516475e0 * t664 - 0.2103875e0 * t668 - 0.104195e0 * t673; + const double t705 = 0.1e1 / t172; + const double t706 = t704 * t705; + const double t712 = t182 * t182; + const double t713 = 0.1e1 / t712; + const double t714 = t177 * t713; + const double t719 = -0.86308333333333333334e0 * t662 - 0.301925e0 * t664 - 0.5501625e-1 * t668 - 0.82785e-1 * t673; + const double t720 = 0.1e1 / t185; + const double t721 = t719 * t720; + const double t724 = 0.53237641966666666666e-3 * t123 * t651 * t173 + 0.1e1 * t699 * t706 - t654 - t679 + 0.18311447306006545054e-3 * t123 * t651 * t186 + 0.5848223622634646207e0 * t714 * t721; + const double t725 = t162 * t724; + const double t726 = t158 * t725; + const double t727 = t691 * t162; + const double t729 = 0.19751673498613801407e-1 * t727 * t187; + const double t730 = t192 * t72; + const double t732 = t660 * t650 * t186; + const double t734 = 0.18311447306006545054e-3 * t730 * t732; + const double t735 = t192 * t177; + const double t737 = t713 * t719 * t720; + const double t739 = 0.5848223622634646207e0 * t735 * t737; + const double t740 = t206 * t256; + const double t741 = 0.1e1 / t78; + const double t744 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t741 * t581 ); + const double t745 = 0.1e1 / t81; + const double t748 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t745 * t581 ); + const double t750 = t744 / 0.2e1 + t748 / 0.2e1; + const double t755 = 0.1e1 / t65 / t554; + const double t756 = t64 * t755; + const double t757 = t756 * t159; + const double t759 = 0.7e1 / 0.288e3 * t757 * t216; + const double t760 = t159 * t223; + const double t761 = t210 * t760; + const double t763 = t124 * t750; + const double t764 = t762 * t763; + const double t767 = t227 * t227; + const double t768 = 0.1e1 / t767; + const double t769 = t768 * t230; + const double t771 = t339 * t769 * t234; + const double t772 = t235 * t238; + const double t773 = t772 * t72; + const double t776 = ( t654 + t679 + t684 + t693 + t726 + t729 - t734 - t739 ) * t219; + const double t778 = t73 * t238; + const double t779 = t778 * t750; + const double t782 = 0.3e1 * t222 * t779 - t224 * t776; + const double t783 = t782 * t226; + const double t784 = t774 * t783; + const double t785 = t773 * t784; + const double t789 = 0.1e1 / t66 / t562; + const double t790 = t789 * t235; + const double t791 = t790 * t238; + const double t792 = t791 * t242; + const double t794 = 0.7e1 / 0.4608e4 * t232 * t792; + const double t795 = t228 * t230; + const double t797 = t339 * t795 * t234; + const double t799 = 0.1e1 / t237 / t205; + const double t800 = t235 * t799; + const double t801 = t800 * t72; + const double t803 = t801 * t774 * t750; + const double t806 = -t759 - t761 * t764 / 0.48e2 - t771 * t785 / 0.3072e4 - t794 - t797 * t803 / 0.768e3; + const double t807 = beta * t806; + const double t809 = t247 * t219; + const double t810 = t251 * t251; + const double t811 = 0.1e1 / t810; + const double t812 = t73 * t811; + const double t813 = t768 * t246; + const double t818 = t220 * t229 * t806 - t339 * t783 * t813; + const double t819 = t812 * t818; + const double t821 = t253 * t807 - t809 * t819; + const double t823 = 0.1e1 / t255; + const double t826 = t198 * t207 * t821 * t823 + 0.3e1 * t198 * t740 * t750 + t654 + t679 + t684 + t693 + t726 + t729 - t734 - t739; + const double t831 = t650 * t159; + const double t833 = t262 * t831 * t265; + const double t834 = 0.17808333333333333333e-1 * t833; + const double t835 = t159 * t361; + const double t836 = 0.1e1 / t606; + const double t837 = t836 * t581; + const double t838 = t835 * t837; + const double t839 = t128 * t838; + const double t841 = -t834 - 0.17808333333333333333e-1 * t839; + const double t843 = 0.621814e-1 * t841 * t285; + const double t844 = t281 * t281; + const double t845 = 0.1e1 / t844; + const double t846 = t269 * t845; + const double t847 = 0.1e1 / t270; + const double t849 = -t833 / 0.3e1 - t839 / 0.3e1; + const double t850 = t847 * t849; + const double t852 = 0.29896666666666666667e0 * t833; + const double t854 = safe_math::sqrt( t267 ); + const double t855 = t854 * t849; + const double t857 = t671 * t235; + const double t859 = t275 * t857 * t277; + const double t860 = 0.82156666666666666667e-1 * t859; + const double t861 = t235 * t334; + const double t862 = t861 * t837; + const double t863 = t141 * t862; + const double t865 = 0.1898925e1 * t850 - t852 - 0.29896666666666666667e0 * t839 + 0.3071625e0 * t855 - t860 - 0.82156666666666666667e-1 * t863; + const double t866 = 0.1e1 / t284; + const double t867 = t865 * t866; + const double t869 = 0.1e1 * t846 * t867; + const double t870 = 0.17123333333333333333e-1 * t833; + const double t872 = -t870 - 0.17123333333333333333e-1 * t839; + const double t875 = t301 * t301; + const double t876 = 0.1e1 / t875; + const double t877 = t296 * t876; + const double t879 = 0.516475e0 * t833; + const double t882 = 0.104195e0 * t859; + const double t884 = 0.3529725e1 * t850 - t879 - 0.516475e0 * t839 + 0.6311625e0 * t855 - t882 - 0.104195e0 * t863; + const double t885 = 0.1e1 / t304; + const double t886 = t884 * t885; + const double t889 = 0.92708333333333333333e-2 * t833; + const double t891 = -t889 - 0.92708333333333333333e-2 * t839; + const double t892 = t891 * t318; + const double t894 = t314 * t314; + const double t895 = 0.1e1 / t894; + const double t896 = t309 * t895; + const double t898 = 0.301925e0 * t833; + const double t901 = 0.82785e-1 * t859; + const double t903 = 0.258925e1 * t850 - t898 - 0.301925e0 * t839 + 0.16504875e0 * t855 - t901 - 0.82785e-1 * t863; + const double t904 = 0.1e1 / t317; + const double t905 = t903 * t904; + const double t909 = t294 * ( -0.310907e-1 * t872 * t305 + 0.1e1 * t877 * t886 + t843 - t869 - 0.19751673498613801407e-1 * t892 + 0.5848223622634646207e0 * t896 * t905 ); + const double t911 = 0.19751673498613801407e-1 * t294 * t892; + const double t912 = t294 * t309; + const double t914 = t895 * t903 * t904; + const double t916 = 0.5848223622634646207e0 * t912 * t914; + const double t917 = t589 * t332; + const double t921 = t215 * t139 * t334; + const double t923 = t333 * t921 / 0.288e3; + const double t924 = t332 * t214; + const double t925 = t44 * t924; + const double t926 = t124 * t65; + const double t928 = 0.1e1 / t265 / t264; + const double t929 = t928 * t836; + const double t930 = t929 * t581; + const double t931 = t926 * t930; + const double t934 = t196 * t196; + const double t935 = 0.1e1 / t934; + const double t936 = beta * t935; + const double t938 = t936 * t937; + const double t939 = t346 * t346; + const double t940 = 0.1e1 / t939; + const double t941 = t940 * t348; + const double t943 = 0.1e1 / t356 / t330; + const double t944 = t353 * t943; + const double t946 = t938 * t941 * t944; + const double t947 = t66 * t361; + const double t948 = -t843 + t869 + t909 + t911 - t916; + const double t949 = t948 * t345; + const double t950 = t947 * t949; + const double t951 = t242 * t950; + const double t954 = t350 * t39; + const double t956 = 0.1e1 / t40 / t954; + const double t958 = t339 * t349 * t956; + const double t962 = t359 * t127 * t361; + const double t964 = t355 * t962 / 0.4608e4; + const double t965 = t353 * t357; + const double t967 = t339 * t349 * t965; + const double t969 = 0.1e1 / t277 / t264; + const double t970 = t66 * t969; + const double t971 = t970 * t837; + const double t972 = t242 * t971; + const double t975 = -t917 * t336 / 0.36e2 + t923 + t925 * t931 / 0.288e3 + t946 * t951 / 0.3072e4 - t958 * t363 / 0.576e3 + t964 + t967 * t972 / 0.4608e4; + const double t976 = beta * t975; + const double t978 = t367 * t219; + const double t979 = t371 * t371; + const double t980 = 0.1e1 / t979; + const double t981 = t73 * t980; + const double t983 = t936 * t937 * t940; + const double t984 = t366 * t948; + const double t985 = t342 * t345; + const double t990 = t220 * t368 * t975 + t983 * t984 * t985; + const double t991 = t981 * t990; + const double t993 = t373 * t976 - t978 * t991; + const double t995 = 0.1e1 / t375; + const double t999 = piecewise_functor_3( t380, t198 * t330 * t993 * t995 - t843 + t869 + t909 + t911 - t916, t826 ); + const double t1004 = piecewise_functor_3( t120, t259 * t580 / 0.2e1 + t826 * t30 / 0.2e1, t381 * t581 / 0.2e1 + t999 * t45 / 0.2e1 ); + const double t1006 = -t580; + const double t1011 = t262 * t831 * t390; + const double t1012 = 0.17808333333333333333e-1 * t1011; + const double t1013 = t159 * t461; + const double t1014 = 0.1e1 / t610; + const double t1015 = t1014 * t581; + const double t1016 = t1013 * t1015; + const double t1017 = t128 * t1016; + const double t1019 = -t1012 + 0.17808333333333333333e-1 * t1017; + const double t1021 = 0.621814e-1 * t1019 * t408; + const double t1022 = t404 * t404; + const double t1023 = 0.1e1 / t1022; + const double t1024 = t394 * t1023; + const double t1025 = 0.1e1 / t395; + const double t1027 = -t1011 / 0.3e1 + t1017 / 0.3e1; + const double t1028 = t1025 * t1027; + const double t1030 = 0.29896666666666666667e0 * t1011; + const double t1032 = safe_math::sqrt( t392 ); + const double t1033 = t1032 * t1027; + const double t1036 = t275 * t857 * t400; + const double t1037 = 0.82156666666666666667e-1 * t1036; + const double t1038 = t235 * t442; + const double t1039 = t1038 * t1015; + const double t1040 = t141 * t1039; + const double t1042 = 0.1898925e1 * t1028 - t1030 + 0.29896666666666666667e0 * t1017 + 0.3071625e0 * t1033 - t1037 + 0.82156666666666666667e-1 * t1040; + const double t1043 = 0.1e1 / t407; + const double t1044 = t1042 * t1043; + const double t1046 = 0.1e1 * t1024 * t1044; + const double t1047 = 0.17123333333333333333e-1 * t1011; + const double t1049 = -t1047 + 0.17123333333333333333e-1 * t1017; + const double t1052 = t417 * t417; + const double t1053 = 0.1e1 / t1052; + const double t1054 = t412 * t1053; + const double t1056 = 0.516475e0 * t1011; + const double t1059 = 0.104195e0 * t1036; + const double t1061 = 0.3529725e1 * t1028 - t1056 + 0.516475e0 * t1017 + 0.6311625e0 * t1033 - t1059 + 0.104195e0 * t1040; + const double t1062 = 0.1e1 / t420; + const double t1063 = t1061 * t1062; + const double t1066 = 0.92708333333333333333e-2 * t1011; + const double t1068 = -t1066 + 0.92708333333333333333e-2 * t1017; + const double t1069 = t1068 * t434; + const double t1071 = t430 * t430; + const double t1072 = 0.1e1 / t1071; + const double t1073 = t425 * t1072; + const double t1075 = 0.301925e0 * t1011; + const double t1078 = 0.82785e-1 * t1036; + const double t1080 = 0.258925e1 * t1028 - t1075 + 0.301925e0 * t1017 + 0.16504875e0 * t1033 - t1078 + 0.82785e-1 * t1040; + const double t1081 = 0.1e1 / t433; + const double t1082 = t1080 * t1081; + const double t1086 = t294 * ( -0.310907e-1 * t1049 * t421 + 0.1e1 * t1054 * t1063 + t1021 - t1046 - 0.19751673498613801407e-1 * t1069 + 0.5848223622634646207e0 * t1073 * t1082 ); + const double t1088 = 0.19751673498613801407e-1 * t294 * t1069; + const double t1089 = t294 * t425; + const double t1091 = t1072 * t1080 * t1081; + const double t1093 = 0.5848223622634646207e0 * t1089 * t1091; + const double t1095 = t215 * t139 * t442; + const double t1097 = t441 * t1095 / 0.288e3; + const double t1098 = t56 * t924; + const double t1100 = 0.1e1 / t390 / t389; + const double t1101 = t1100 * t1014; + const double t1102 = t1101 * t581; + const double t1103 = t926 * t1102; + const double t1106 = t451 * t451; + const double t1107 = 0.1e1 / t1106; + const double t1108 = t1107 * t453; + const double t1109 = t458 * t943; + const double t1111 = t938 * t1108 * t1109; + const double t1112 = t66 * t461; + const double t1113 = -t1021 + t1046 + t1086 + t1088 - t1093; + const double t1114 = t1113 * t450; + const double t1115 = t1112 * t1114; + const double t1116 = t242 * t1115; + const double t1120 = t359 * t127 * t461; + const double t1122 = t460 * t1120 / 0.4608e4; + const double t1123 = t458 * t357; + const double t1125 = t339 * t454 * t1123; + const double t1127 = 0.1e1 / t400 / t389; + const double t1128 = t66 * t1127; + const double t1129 = t1128 * t1015; + const double t1130 = t242 * t1129; + const double t1133 = t1097 - t1098 * t1103 / 0.288e3 + t1111 * t1116 / 0.3072e4 + t1122 - t1125 * t1130 / 0.4608e4; + const double t1134 = beta * t1133; + const double t1136 = t467 * t219; + const double t1137 = t471 * t471; + const double t1138 = 0.1e1 / t1137; + const double t1139 = t73 * t1138; + const double t1141 = t936 * t937 * t1107; + const double t1142 = t466 * t1113; + const double t1143 = t342 * t450; + const double t1148 = t1133 * t220 * t468 + t1141 * t1142 * t1143; + const double t1149 = t1139 * t1148; + const double t1151 = t1134 * t473 - t1136 * t1149; + const double t1153 = 0.1e1 / t475; + const double t1157 = piecewise_functor_3( t480, t1151 * t1153 * t198 * t330 - t1021 + t1046 + t1086 + t1088 - t1093, t826 ); + const double t1162 = piecewise_functor_3( t386, t259 * t1006 / 0.2e1 + t826 * t33 / 0.2e1, t1157 * t57 / 0.2e1 - t481 * t581 / 0.2e1 ); + const double t1163 = t1004 + t1162; + const double t1165 = t93 * t116; + const double t1168 = 0.2e1 * t1165 * t645 + t624; + const double t1170 = t558 * t22; + const double t1172 = 0.4e1 * t1170 * t498; + const double t1173 = t19 * t563; + const double t1175 = 0.4e1 * t1173 * t498; + const double t1178 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t490 * t580 ); + const double t1181 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t493 * t1006 ); + const double t1183 = ( t1178 + t1181 ) * t162; + const double t1184 = t1183 * t189; + const double t1185 = t489 * t1184; + const double t1186 = t497 * t724; + const double t1187 = t489 * t1186; + const double t1189 = 0.19751673498613801407e-1 * t1183 * t187; + const double t1190 = t497 * t72; + const double t1192 = 0.18311447306006545054e-3 * t1190 * t732; + const double t1193 = t497 * t177; + const double t1195 = 0.5848223622634646207e0 * t1193 * t737; + const double t1196 = t508 * t541; + const double t1197 = 0.1e1 / t490; + const double t1200 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1197 * t580 ); + const double t1201 = 0.1e1 / t493; + const double t1204 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1201 * t1006 ); + const double t1206 = t1200 / 0.2e1 + t1204 / 0.2e1; + const double t1211 = 0.7e1 / 0.288e3 * t757 * t512; + const double t1212 = t159 * t517; + const double t1213 = t210 * t1212; + const double t1214 = t124 * t1206; + const double t1215 = t762 * t1214; + const double t1218 = t521 * t521; + const double t1219 = 0.1e1 / t1218; + const double t1220 = t1219 * t230; + const double t1222 = t339 * t1220 * t234; + const double t1223 = t235 * t527; + const double t1224 = t1223 * t72; + const double t1226 = ( t654 + t679 + t1172 - t1175 + t1185 + t1187 + t1189 - t1192 - t1195 ) * t219; + const double t1228 = t73 * t527; + const double t1229 = t1228 * t1206; + const double t1232 = -t1226 * t518 + 0.3e1 * t1229 * t516; + const double t1233 = t1232 * t520; + const double t1234 = t774 * t1233; + const double t1235 = t1224 * t1234; + const double t1238 = t790 * t527; + const double t1239 = t1238 * t242; + const double t1241 = 0.7e1 / 0.4608e4 * t525 * t1239; + const double t1242 = t522 * t230; + const double t1244 = t339 * t1242 * t234; + const double t1246 = 0.1e1 / t526 / t507; + const double t1247 = t235 * t1246; + const double t1248 = t1247 * t72; + const double t1250 = t1248 * t774 * t1206; + const double t1253 = -t1211 - t1213 * t1215 / 0.48e2 - t1222 * t1235 / 0.3072e4 - t1241 - t1244 * t1250 / 0.768e3; + const double t1254 = beta * t1253; + const double t1256 = t533 * t219; + const double t1257 = t536 * t536; + const double t1258 = 0.1e1 / t1257; + const double t1259 = t73 * t1258; + const double t1260 = t1219 * t532; + const double t1265 = -t1233 * t1260 * t339 + t1253 * t220 * t523; + const double t1266 = t1259 * t1265; + const double t1268 = t1254 * t538 - t1256 * t1266; + const double t1270 = 0.1e1 / t540; + const double t1273 = t1268 * t1270 * t198 * t509 + 0.3e1 * t1196 * t1206 * t198 + t1172 - t1175 + t1185 + t1187 + t1189 - t1192 - t1195 + t654 + t679; + const double t1275 = -t1163 * t118 + t1168 * t544 + t1273 * t488 - t485 * t624 - 0.2e1 * t626 * t646; + const double t1276 = t3 * t1275; + const double t1278 = t3 * t546; + const double t1279 = d * t1275; + const double t1281 = t117 * t645; + const double t1284 = t1279 * t548 + 0.3e1 * t1281 * t547; + const double t1286 = -t553 - t557 - t561 - t565 - t569 - t573; + const double t1288 = -t4 - t579; + const double t1289 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1288 ); + const double t1290 = t36 * t1289; + const double t1291 = t1290 * t70; + const double t1294 = t48 * t1289; + const double t1297 = t51 * rho_b; + const double t1299 = 0.1e1 / t53 / t1297; + const double t1300 = sigma_bb * t1299; + const double t1303 = t60 * t1289; + const double t1306 = 0.5e1 / 0.6e1 * t44 * t1294 - 0.8e1 / 0.3e1 * t1300 * t61 - 0.5e1 / 0.6e1 * t56 * t1303 + t601; + const double t1307 = t38 * t1306; + const double t1310 = t608 * t1289; + const double t1311 = t612 * t1289; + const double t1313 = -0.4e1 / 0.3e1 * t1310 + 0.4e1 / 0.3e1 * t1311; + const double t1314 = t77 * t1313; + const double t1317 = -t1291 * t85 / 0.12e2 + t1307 * t85 / 0.24e2 + t71 * t1314 / 0.24e2; + const double t1321 = piecewise_functor_3( t8, 0.0, t1286 * t91 - 0.4e1 * t1317 * t578 ); + const double t1322 = t1321 * t117; + const double t1324 = t1288 / 0.2e1; + const double t1325 = t100 * t1324; + const double t1327 = tau_b * t55; + const double t1329 = -t1324; + const double t1330 = t108 * t1329; + const double t1333 = 0.5e1 / 0.3e1 * t105 * t1330 - 0.5e1 / 0.3e1 * t1327 * t109 + 0.5e1 / 0.3e1 * t97 * t1325; + const double t1334 = t630 * t1333; + const double t1338 = piecewise_functor_3( t115, 0.0, -t628 - t69 * t1334 / 0.8e1 ); + const double t1339 = t485 * t1338; + const double t1342 = t190 * t1289; + const double t1344 = 0.4e1 * t681 * t1342; + const double t1347 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t1289 ); + const double t1350 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t1289 ); + const double t1351 = t1347 + t1350; + const double t1352 = t150 * t1351; + const double t1353 = t1352 * t190; + const double t1354 = t1351 * t162; + const double t1356 = 0.19751673498613801407e-1 * t1354 * t187; + const double t1359 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t741 * t1289 ); + const double t1362 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t745 * t1289 ); + const double t1364 = t1359 / 0.2e1 + t1362 / 0.2e1; + const double t1368 = t124 * t1364; + const double t1369 = t762 * t1368; + const double t1373 = ( t654 + t679 + t1344 + t1353 + t726 + t1356 - t734 - t739 ) * t219; + const double t1375 = t778 * t1364; + const double t1378 = -t1373 * t224 + 0.3e1 * t1375 * t222; + const double t1379 = t1378 * t226; + const double t1380 = t774 * t1379; + const double t1381 = t773 * t1380; + const double t1385 = t801 * t774 * t1364; + const double t1388 = -t759 - t761 * t1369 / 0.48e2 - t771 * t1381 / 0.3072e4 - t794 - t797 * t1385 / 0.768e3; + const double t1389 = beta * t1388; + const double t1395 = -t1379 * t339 * t813 + t1388 * t220 * t229; + const double t1396 = t812 * t1395; + const double t1398 = t1389 * t253 - t1396 * t809; + const double t1402 = t1398 * t198 * t207 * t823 + 0.3e1 * t1364 * t198 * t740 + t1344 + t1353 + t1356 + t654 + t679 + t726 - t734 - t739; + const double t1407 = t836 * t1289; + const double t1408 = t835 * t1407; + const double t1409 = t128 * t1408; + const double t1411 = -t834 - 0.17808333333333333333e-1 * t1409; + const double t1413 = 0.621814e-1 * t1411 * t285; + const double t1415 = -t833 / 0.3e1 - t1409 / 0.3e1; + const double t1416 = t847 * t1415; + const double t1419 = t854 * t1415; + const double t1421 = t861 * t1407; + const double t1422 = t141 * t1421; + const double t1424 = 0.1898925e1 * t1416 - t852 - 0.29896666666666666667e0 * t1409 + 0.3071625e0 * t1419 - t860 - 0.82156666666666666667e-1 * t1422; + const double t1425 = t1424 * t866; + const double t1427 = 0.1e1 * t846 * t1425; + const double t1429 = -t870 - 0.17123333333333333333e-1 * t1409; + const double t1436 = 0.3529725e1 * t1416 - t879 - 0.516475e0 * t1409 + 0.6311625e0 * t1419 - t882 - 0.104195e0 * t1422; + const double t1437 = t1436 * t885; + const double t1441 = -t889 - 0.92708333333333333333e-2 * t1409; + const double t1442 = t1441 * t318; + const double t1448 = 0.258925e1 * t1416 - t898 - 0.301925e0 * t1409 + 0.16504875e0 * t1419 - t901 - 0.82785e-1 * t1422; + const double t1449 = t1448 * t904; + const double t1453 = t294 * ( -0.310907e-1 * t1429 * t305 + 0.1e1 * t877 * t1437 + t1413 - t1427 - 0.19751673498613801407e-1 * t1442 + 0.5848223622634646207e0 * t896 * t1449 ); + const double t1455 = 0.19751673498613801407e-1 * t294 * t1442; + const double t1457 = t895 * t1448 * t904; + const double t1459 = 0.5848223622634646207e0 * t912 * t1457; + const double t1460 = t929 * t1289; + const double t1461 = t926 * t1460; + const double t1464 = -t1413 + t1427 + t1453 + t1455 - t1459; + const double t1465 = t1464 * t345; + const double t1466 = t947 * t1465; + const double t1467 = t242 * t1466; + const double t1470 = t970 * t1407; + const double t1471 = t242 * t1470; + const double t1474 = t923 + t925 * t1461 / 0.288e3 + t946 * t1467 / 0.3072e4 + t964 + t967 * t1471 / 0.4608e4; + const double t1475 = beta * t1474; + const double t1477 = t366 * t1464; + const double t1482 = t1474 * t220 * t368 + t1477 * t983 * t985; + const double t1483 = t981 * t1482; + const double t1485 = t1475 * t373 - t1483 * t978; + const double t1490 = piecewise_functor_3( t380, t1485 * t198 * t330 * t995 - t1413 + t1427 + t1453 + t1455 - t1459, t1402 ); + const double t1495 = piecewise_functor_3( t120, t259 * t1288 / 0.2e1 + t1402 * t30 / 0.2e1, t381 * t1289 / 0.2e1 + t1490 * t45 / 0.2e1 ); + const double t1497 = -t1288; + const double t1501 = t1014 * t1289; + const double t1502 = t1013 * t1501; + const double t1503 = t128 * t1502; + const double t1505 = -t1012 + 0.17808333333333333333e-1 * t1503; + const double t1507 = 0.621814e-1 * t1505 * t408; + const double t1509 = -t1011 / 0.3e1 + t1503 / 0.3e1; + const double t1510 = t1025 * t1509; + const double t1513 = t1032 * t1509; + const double t1515 = t1038 * t1501; + const double t1516 = t141 * t1515; + const double t1518 = 0.1898925e1 * t1510 - t1030 + 0.29896666666666666667e0 * t1503 + 0.3071625e0 * t1513 - t1037 + 0.82156666666666666667e-1 * t1516; + const double t1519 = t1518 * t1043; + const double t1521 = 0.1e1 * t1024 * t1519; + const double t1523 = -t1047 + 0.17123333333333333333e-1 * t1503; + const double t1530 = 0.3529725e1 * t1510 - t1056 + 0.516475e0 * t1503 + 0.6311625e0 * t1513 - t1059 + 0.104195e0 * t1516; + const double t1531 = t1530 * t1062; + const double t1535 = -t1066 + 0.92708333333333333333e-2 * t1503; + const double t1536 = t1535 * t434; + const double t1542 = 0.258925e1 * t1510 - t1075 + 0.301925e0 * t1503 + 0.16504875e0 * t1513 - t1078 + 0.82785e-1 * t1516; + const double t1543 = t1542 * t1081; + const double t1547 = t294 * ( -0.310907e-1 * t1523 * t421 + 0.1e1 * t1054 * t1531 + t1507 - t1521 - 0.19751673498613801407e-1 * t1536 + 0.5848223622634646207e0 * t1073 * t1543 ); + const double t1549 = 0.19751673498613801407e-1 * t294 * t1536; + const double t1551 = t1072 * t1542 * t1081; + const double t1553 = 0.5848223622634646207e0 * t1089 * t1551; + const double t1554 = t1300 * t332; + const double t1557 = t1101 * t1289; + const double t1558 = t926 * t1557; + const double t1561 = -t1507 + t1521 + t1547 + t1549 - t1553; + const double t1562 = t1561 * t450; + const double t1563 = t1112 * t1562; + const double t1564 = t242 * t1563; + const double t1567 = t455 * t51; + const double t1569 = 0.1e1 / t52 / t1567; + const double t1571 = t339 * t454 * t1569; + const double t1574 = t1128 * t1501; + const double t1575 = t242 * t1574; + const double t1578 = -t1554 * t444 / 0.36e2 + t1097 - t1098 * t1558 / 0.288e3 + t1111 * t1564 / 0.3072e4 - t1571 * t463 / 0.576e3 + t1122 - t1125 * t1575 / 0.4608e4; + const double t1579 = beta * t1578; + const double t1581 = t466 * t1561; + const double t1586 = t1141 * t1143 * t1581 + t1578 * t220 * t468; + const double t1587 = t1139 * t1586; + const double t1589 = -t1136 * t1587 + t1579 * t473; + const double t1594 = piecewise_functor_3( t480, t1153 * t1589 * t198 * t330 - t1507 + t1521 + t1547 + t1549 - t1553, t1402 ); + const double t1599 = piecewise_functor_3( t386, t1402 * t33 / 0.2e1 + t259 * t1497 / 0.2e1, -t481 * t1289 / 0.2e1 + t1594 * t57 / 0.2e1 ); + const double t1600 = t1495 + t1599; + const double t1604 = 0.2e1 * t1165 * t1338 + t1322; + const double t1608 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t490 * t1288 ); + const double t1611 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t493 * t1497 ); + const double t1613 = ( t1608 + t1611 ) * t162; + const double t1614 = t1613 * t189; + const double t1615 = t489 * t1614; + const double t1617 = 0.19751673498613801407e-1 * t1613 * t187; + const double t1620 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1197 * t1288 ); + const double t1623 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1201 * t1497 ); + const double t1625 = t1620 / 0.2e1 + t1623 / 0.2e1; + const double t1629 = t124 * t1625; + const double t1630 = t762 * t1629; + const double t1634 = ( t654 + t679 - t1172 - t1175 + t1615 + t1187 + t1617 - t1192 - t1195 ) * t219; + const double t1636 = t1228 * t1625; + const double t1639 = -t1634 * t518 + 0.3e1 * t1636 * t516; + const double t1640 = t1639 * t520; + const double t1641 = t774 * t1640; + const double t1642 = t1224 * t1641; + const double t1646 = t1248 * t774 * t1625; + const double t1649 = -t1211 - t1213 * t1630 / 0.48e2 - t1222 * t1642 / 0.3072e4 - t1241 - t1244 * t1646 / 0.768e3; + const double t1650 = beta * t1649; + const double t1656 = -t1260 * t1640 * t339 + t1649 * t220 * t523; + const double t1657 = t1259 * t1656; + const double t1659 = -t1256 * t1657 + t1650 * t538; + const double t1663 = t1270 * t1659 * t198 * t509 + 0.3e1 * t1196 * t1625 * t198 - t1172 - t1175 + t1187 - t1192 - t1195 + t1615 + t1617 + t654 + t679; + const double t1665 = -t118 * t1600 - t1322 * t485 - 0.2e1 * t1339 * t626 + t1604 * t544 + t1663 * t488; + const double t1666 = t3 * t1665; + const double t1668 = d * t1665; + const double t1670 = t117 * t1338; + const double t1673 = t1668 * t548 + 0.3e1 * t1670 * t547; + const double t1675 = t578 * t38; + const double t1677 = t43 * t49 - t68; + const double t1678 = t1677 * t72; + const double t1679 = t76 * t84; + const double t1680 = t1678 * t1679; + const double t1683 = piecewise_functor_3( t8, 0.0, -t1675 * t1680 / 0.6e1 ); + const double t1684 = t1683 * t117; + const double t1686 = t68 * t112; + const double t1688 = piecewise_functor_3( t115, 0.0, t1686 / 0.8e1 ); + const double t1689 = t485 * t1688; + const double t1691 = 0.2e1 * t626 * t1689; + const double t1692 = t198 * t207; + const double t1693 = t209 * t159; + const double t1696 = t1693 * t212 * t1695; + const double t1699 = t220 * t229 * t64; + const double t1700 = t1699 * t243; + const double t1702 = t1696 / 0.96e2 + t1700 / 0.1536e4; + const double t1703 = beta * t1702; + const double t1706 = t1705 * t246; + const double t1707 = t1706 * t935; + const double t1708 = t937 * t811; + const double t1710 = t1708 * t228 * t1702; + const double t1712 = t1703 * t253 - t1707 * t1710; + const double t1713 = t1712 * t823; + const double t1714 = t1713 * t30; + const double t1716 = t1692 * t1714 / 0.2e1; + const double t1717 = t43 * t331; + const double t1718 = t1717 * t136; + const double t1721 = t347 * sigma_aa; + const double t1723 = t339 * t1721 * t353; + const double t1726 = t1718 * t336 / 0.96e2 + t1723 * t363 / 0.1536e4; + const double t1727 = beta * t1726; + const double t1729 = t1705 * t366; + const double t1730 = t1729 * t935; + const double t1731 = t937 * t980; + const double t1733 = t1731 * t347 * t1726; + const double t1735 = t1727 * t373 - t1730 * t1733; + const double t1739 = t207 * t1712; + const double t1741 = t198 * t1739 * t823; + const double t1742 = piecewise_functor_3( t380, t198 * t330 * t1735 * t995, t1741 ); + const double t1745 = piecewise_functor_3( t120, t1716, t1742 * t45 / 0.2e1 ); + const double t1746 = t1713 * t33; + const double t1748 = t1692 * t1746 / 0.2e1; + const double t1749 = piecewise_functor_3( t480, 0.0, t1741 ); + const double t1752 = piecewise_functor_3( t386, t1748, t1749 * t57 / 0.2e1 ); + const double t1753 = t1745 + t1752; + const double t1756 = 0.2e1 * t1165 * t1688; + const double t1757 = t1684 + t1756; + const double t1759 = t488 * t196; + const double t1760 = t1759 * t197; + const double t1762 = t1693 * t510 * t1695; + const double t1765 = t220 * t523 * t64; + const double t1766 = t1765 * t529; + const double t1768 = t1762 / 0.96e2 + t1766 / 0.1536e4; + const double t1769 = beta * t1768; + const double t1771 = t1705 * t532; + const double t1772 = t1771 * t935; + const double t1773 = t937 * t1258; + const double t1775 = t1773 * t522 * t1768; + const double t1777 = t1769 * t538 - t1772 * t1775; + const double t1778 = t509 * t1777; + const double t1779 = t1778 * t1270; + const double t1780 = t1760 * t1779; + const double t1781 = -t118 * t1753 - t1684 * t485 + t1757 * t544 - t1691 + t1780; + const double t1782 = t3 * t1781; + const double t1784 = d * t1781; + const double t1786 = t117 * t1688; + const double t1788 = 0.3e1 * t547 * t1786; + const double t1789 = t1784 * t548 + t1788; + const double t1791 = t68 * t72; + const double t1792 = t1791 * t1679; + const double t1795 = piecewise_functor_3( t8, 0.0, t1675 * t1792 / 0.3e1 ); + const double t1796 = t1795 * t117; + const double t1799 = piecewise_functor_3( t115, 0.0, t1686 / 0.4e1 ); + const double t1800 = t485 * t1799; + const double t1805 = t1696 / 0.48e2 + t1700 / 0.768e3; + const double t1806 = beta * t1805; + const double t1809 = t1708 * t228 * t1805; + const double t1811 = -t1707 * t1809 + t1806 * t253; + const double t1812 = t1811 * t823; + const double t1813 = t1812 * t30; + const double t1816 = t207 * t1811; + const double t1818 = t198 * t1816 * t823; + const double t1819 = piecewise_functor_3( t380, 0.0, t1818 ); + const double t1822 = piecewise_functor_3( t120, t1692 * t1813 / 0.2e1, t1819 * t45 / 0.2e1 ); + const double t1823 = t1812 * t33; + const double t1826 = piecewise_functor_3( t480, 0.0, t1818 ); + const double t1829 = piecewise_functor_3( t386, t1692 * t1823 / 0.2e1, t1826 * t57 / 0.2e1 ); + const double t1830 = t1822 + t1829; + const double t1834 = 0.2e1 * t1165 * t1799 + t1796; + const double t1838 = t1762 / 0.48e2 + t1766 / 0.768e3; + const double t1839 = beta * t1838; + const double t1842 = t1773 * t522 * t1838; + const double t1844 = -t1772 * t1842 + t1839 * t538; + const double t1845 = t509 * t1844; + const double t1846 = t1845 * t1270; + const double t1848 = -t118 * t1830 + t1760 * t1846 - t1796 * t485 - 0.2e1 * t1800 * t626 + t1834 * t544; + const double t1849 = t3 * t1848; + const double t1851 = d * t1848; + const double t1853 = t117 * t1799; + const double t1856 = t1851 * t548 + 0.3e1 * t1853 * t547; + const double t1859 = t55 * t61 - t68; + const double t1860 = t1859 * t72; + const double t1861 = t1860 * t1679; + const double t1864 = piecewise_functor_3( t8, 0.0, -t1675 * t1861 / 0.6e1 ); + const double t1865 = t1864 * t117; + const double t1867 = piecewise_functor_3( t380, 0.0, t1741 ); + const double t1870 = piecewise_functor_3( t120, t1716, t1867 * t45 / 0.2e1 ); + const double t1871 = t55 * t331; + const double t1872 = t1871 * t136; + const double t1875 = t452 * sigma_bb; + const double t1877 = t339 * t1875 * t458; + const double t1880 = t1872 * t444 / 0.96e2 + t1877 * t463 / 0.1536e4; + const double t1881 = beta * t1880; + const double t1883 = t1705 * t466; + const double t1884 = t1883 * t935; + const double t1885 = t937 * t1138; + const double t1887 = t1885 * t452 * t1880; + const double t1889 = t1881 * t473 - t1884 * t1887; + const double t1893 = piecewise_functor_3( t480, t198 * t330 * t1889 * t1153, t1741 ); + const double t1896 = piecewise_functor_3( t386, t1748, t1893 * t57 / 0.2e1 ); + const double t1897 = t1870 + t1896; + const double t1899 = t1865 + t1756; + const double t1901 = -t118 * t1897 - t1865 * t485 + t1899 * t544 - t1691 + t1780; + const double t1902 = t3 * t1901; + const double t1904 = d * t1901; + const double t1906 = t1904 * t548 + t1788; + const double t1908 = t630 * t96; + const double t1909 = t1908 * t101; + const double t1912 = piecewise_functor_3( t115, 0.0, -t69 * t1909 / 0.8e1 ); + const double t1913 = t485 * t1912; + const double t1915 = t1912 * t544; + const double t1918 = 0.2e1 * t1165 * t1915 - 0.2e1 * t1913 * t626; + const double t1919 = t3 * t1918; + const double t1921 = d * t1918; + const double t1923 = t117 * t1912; + const double t1926 = t1921 * t548 + 0.3e1 * t1923 * t547; + const double t1928 = t630 * t104; + const double t1929 = t1928 * t109; + const double t1932 = piecewise_functor_3( t115, 0.0, -t69 * t1929 / 0.8e1 ); + const double t1933 = t485 * t1932; + const double t1935 = t1932 * t544; + const double t1938 = 0.2e1 * t1165 * t1935 - 0.2e1 * t1933 * t626; + const double t1939 = t3 * t1938; + const double t1941 = d * t1938; + const double t1943 = t117 * t1932; + const double t1946 = t1941 * t548 + 0.3e1 * t1943 * t547; + + + eps = t546 * t550; + vrho_a = t1276 * t550 + t1278 * t1284 + eps; + vrho_b = t1278 * t1673 + t1666 * t550 + eps; + vsigma_aa = t1278 * t1789 + t1782 * t550; + vsigma_ab = t1278 * t1856 + t1849 * t550; + vsigma_bb = t1278 * t1906 + t1902 * t550; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t1278 * t1926 + t1919 * t550; + vtau_b = t1278 * t1946 + t1939 * t550; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t214 = 0.1e1 / t122; + constexpr double t215 = t214 * t124; + constexpr double t235 = t159 * t159; + constexpr double t240 = 0.1e1 / t137; + constexpr double t241 = t72 * t240; + constexpr double t242 = t241 * t125; + constexpr double t262 = t123 * t125; + constexpr double t275 = t138 * t124; + constexpr double t660 = t122 * t125; + constexpr double t762 = t136 * t214; + constexpr double t774 = t240 * t125; + constexpr double t937 = t73 * t73; + constexpr double t1695 = t762 * t124; + constexpr double t1705 = beta * beta; + constexpr double t2231 = t137 * t124; + constexpr double t2721 = t937 * t73; + constexpr double t6747 = 0.1e1 / t74 / t73; + constexpr double t6785 = t1705 * beta; + constexpr double t6933 = t136 * t6747; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 / t65 / t16; + const double t210 = t64 * t209; + const double t211 = t210 * t159; + const double t212 = 0.1e1 / t206; + const double t216 = t212 * t136 * t215; + const double t219 = 0.1e1 / t196; + const double t220 = beta * t219; + const double t222 = ( -t149 + t191 + t194 ) * t219; + const double t223 = 0.1e1 / t207; + const double t224 = t73 * t223; + const double t226 = safe_math::exp( -t222 * t224 ); + const double t227 = t226 - 0.1e1; + const double t228 = 0.1e1 / t227; + const double t229 = t73 * t228; + const double t230 = t64 * t64; + const double t232 = t220 * t229 * t230; + const double t234 = 0.1e1 / t66 / t21; + const double t236 = t234 * t235; + const double t237 = t206 * t206; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t243 = t239 * t242; + const double t246 = t211 * t216 / 0.96e2 + t232 * t243 / 0.3072e4; + const double t247 = beta * t246; + const double t248 = t219 * t73; + const double t251 = t220 * t229 * t246 + 0.1e1; + const double t252 = 0.1e1 / t251; + const double t253 = t248 * t252; + const double t255 = t247 * t253 + 0.1e1; + const double t256 = safe_math::log( t255 ); + const double t259 = t198 * t207 * t256 - t149 + t191 + t194; + const double t263 = t126 * t159; + const double t264 = 0.1e1 / t45; + const double t265 = safe_math::cbrt( t264 ); + const double t267 = t262 * t263 * t265; + const double t269 = 0.1e1 + 0.53425e-1 * t267; + const double t270 = safe_math::sqrt( t267 ); + const double t273 = pow_3_2( t267 ); + const double t276 = t139 * t235; + const double t277 = t265 * t265; + const double t279 = t275 * t276 * t277; + const double t281 = 0.379785e1 * t270 + 0.8969e0 * t267 + 0.204775e0 * t273 + 0.123235e0 * t279; + const double t284 = 0.1e1 + 0.16081979498692535067e2 / t281; + const double t285 = safe_math::log( t284 ); + const double t287 = 0.621814e-1 * t269 * t285; + const double t288 = 0.2e1 <= zeta_tol; + const double t290 = piecewise_functor_3( t288, t153, 0.2e1 * t159 ); + const double t291 = 0.e0 <= zeta_tol; + const double t292 = piecewise_functor_3( t291, t153, 0.0 ); + const double t294 = ( t290 + t292 - 0.2e1 ) * t162; + const double t296 = 0.1e1 + 0.5137e-1 * t267; + const double t301 = 0.705945e1 * t270 + 0.1549425e1 * t267 + 0.420775e0 * t273 + 0.1562925e0 * t279; + const double t304 = 0.1e1 + 0.32163958997385070134e2 / t301; + const double t305 = safe_math::log( t304 ); + const double t309 = 0.1e1 + 0.278125e-1 * t267; + const double t314 = 0.51785e1 * t270 + 0.905775e0 * t267 + 0.1100325e0 * t273 + 0.1241775e0 * t279; + const double t317 = 0.1e1 + 0.29608749977793437516e2 / t314; + const double t318 = safe_math::log( t317 ); + const double t319 = t309 * t318; + const double t322 = t294 * ( -0.310907e-1 * t296 * t305 + t287 - 0.19751673498613801407e-1 * t319 ); + const double t324 = 0.19751673498613801407e-1 * t294 * t319; + const double t325 = piecewise_functor_3( t288, t199, t235 ); + const double t326 = piecewise_functor_3( t291, t199, 0.0 ); + const double t328 = t325 / 0.2e1 + t326 / 0.2e1; + const double t329 = t328 * t328; + const double t330 = t329 * t328; + const double t331 = 0.1e1 / t329; + const double t332 = t331 * t136; + const double t333 = t44 * t332; + const double t334 = 0.1e1 / t265; + const double t336 = t215 * t65 * t334; + const double t339 = t220 * t73; + const double t342 = 0.1e1 / t330; + const double t343 = t73 * t342; + const double t345 = safe_math::exp( -( -t287 + t322 + t324 ) * t219 * t343 ); + const double t346 = t345 - 0.1e1; + const double t347 = 0.1e1 / t346; + const double t348 = sigma_aa * sigma_aa; + const double t349 = t347 * t348; + const double t350 = t39 * t39; + const double t351 = t350 * rho_a; + const double t353 = 0.1e1 / t40 / t351; + const double t355 = t339 * t349 * t353; + const double t356 = t329 * t329; + const double t357 = 0.1e1 / t356; + const double t358 = t357 * t72; + const double t359 = t358 * t240; + const double t360 = t125 * t66; + const double t361 = 0.1e1 / t277; + const double t363 = t359 * t360 * t361; + const double t366 = t333 * t336 / 0.96e2 + t355 * t363 / 0.3072e4; + const double t367 = beta * t366; + const double t368 = t73 * t347; + const double t371 = t220 * t366 * t368 + 0.1e1; + const double t372 = 0.1e1 / t371; + const double t373 = t248 * t372; + const double t375 = t367 * t373 + 0.1e1; + const double t376 = safe_math::log( t375 ); + const double t379 = t198 * t330 * t376 - t287 + t322 + t324; + const double t380 = t259 < t379; + const double t381 = piecewise_functor_3( t380, t379, t259 ); + const double t384 = piecewise_functor_3( t120, t259 * t30 / 0.2e1, t381 * t45 / 0.2e1 ); + const double t386 = rho_b <= dens_tol || t34; + const double t389 = 0.1e1 / t57; + const double t390 = safe_math::cbrt( t389 ); + const double t392 = t262 * t263 * t390; + const double t394 = 0.1e1 + 0.53425e-1 * t392; + const double t395 = safe_math::sqrt( t392 ); + const double t398 = pow_3_2( t392 ); + const double t400 = t390 * t390; + const double t402 = t275 * t276 * t400; + const double t404 = 0.379785e1 * t395 + 0.8969e0 * t392 + 0.204775e0 * t398 + 0.123235e0 * t402; + const double t407 = 0.1e1 + 0.16081979498692535067e2 / t404; + const double t408 = safe_math::log( t407 ); + const double t410 = 0.621814e-1 * t394 * t408; + const double t412 = 0.1e1 + 0.5137e-1 * t392; + const double t417 = 0.705945e1 * t395 + 0.1549425e1 * t392 + 0.420775e0 * t398 + 0.1562925e0 * t402; + const double t420 = 0.1e1 + 0.32163958997385070134e2 / t417; + const double t421 = safe_math::log( t420 ); + const double t425 = 0.1e1 + 0.278125e-1 * t392; + const double t430 = 0.51785e1 * t395 + 0.905775e0 * t392 + 0.1100325e0 * t398 + 0.1241775e0 * t402; + const double t433 = 0.1e1 + 0.29608749977793437516e2 / t430; + const double t434 = safe_math::log( t433 ); + const double t435 = t425 * t434; + const double t438 = t294 * ( -0.310907e-1 * t412 * t421 + t410 - 0.19751673498613801407e-1 * t435 ); + const double t440 = 0.19751673498613801407e-1 * t294 * t435; + const double t441 = t56 * t332; + const double t442 = 0.1e1 / t390; + const double t444 = t215 * t65 * t442; + const double t450 = safe_math::exp( -( -t410 + t438 + t440 ) * t219 * t343 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = sigma_bb * sigma_bb; + const double t454 = t452 * t453; + const double t455 = t51 * t51; + const double t456 = t455 * rho_b; + const double t458 = 0.1e1 / t52 / t456; + const double t460 = t339 * t454 * t458; + const double t461 = 0.1e1 / t400; + const double t463 = t359 * t360 * t461; + const double t466 = t441 * t444 / 0.96e2 + t460 * t463 / 0.3072e4; + const double t467 = beta * t466; + const double t468 = t73 * t452; + const double t471 = t220 * t466 * t468 + 0.1e1; + const double t472 = 0.1e1 / t471; + const double t473 = t248 * t472; + const double t475 = t467 * t473 + 0.1e1; + const double t476 = safe_math::log( t475 ); + const double t479 = t198 * t330 * t476 - t410 + t438 + t440; + const double t480 = t259 < t479; + const double t481 = piecewise_functor_3( t480, t479, t259 ); + const double t484 = piecewise_functor_3( t386, t259 * t33 / 0.2e1, t481 * t57 / 0.2e1 ); + const double t485 = t384 + t484; + const double t488 = t117 * t93 + 0.1e1; + const double t489 = t19 * t22; + const double t490 = safe_math::cbrt( t30 ); + const double t491 = t490 * t30; + const double t492 = piecewise_functor_3( t31, t153, t491 ); + const double t493 = safe_math::cbrt( t33 ); + const double t494 = t493 * t33; + const double t495 = piecewise_functor_3( t34, t153, t494 ); + const double t496 = t492 + t495 - 0.2e1; + const double t497 = t496 * t162; + const double t498 = t497 * t189; + const double t499 = t489 * t498; + const double t501 = 0.19751673498613801407e-1 * t497 * t187; + const double t502 = t490 * t490; + const double t503 = piecewise_functor_3( t31, t199, t502 ); + const double t504 = t493 * t493; + const double t505 = piecewise_functor_3( t34, t199, t504 ); + const double t507 = t503 / 0.2e1 + t505 / 0.2e1; + const double t508 = t507 * t507; + const double t509 = t508 * t507; + const double t510 = 0.1e1 / t508; + const double t512 = t510 * t136 * t215; + const double t516 = ( -t149 + t499 + t501 ) * t219; + const double t517 = 0.1e1 / t509; + const double t518 = t73 * t517; + const double t520 = safe_math::exp( -t516 * t518 ); + const double t521 = t520 - 0.1e1; + const double t522 = 0.1e1 / t521; + const double t523 = t73 * t522; + const double t525 = t220 * t523 * t230; + const double t526 = t508 * t508; + const double t527 = 0.1e1 / t526; + const double t528 = t236 * t527; + const double t529 = t528 * t242; + const double t532 = t211 * t512 / 0.96e2 + t525 * t529 / 0.3072e4; + const double t533 = beta * t532; + const double t536 = t220 * t523 * t532 + 0.1e1; + const double t537 = 0.1e1 / t536; + const double t538 = t248 * t537; + const double t540 = t533 * t538 + 0.1e1; + const double t541 = safe_math::log( t540 ); + const double t544 = t198 * t509 * t541 - t149 + t499 + t501; + const double t546 = -t118 * t485 + t488 * t544; + const double t547 = d * t546; + const double t548 = t117 * t116; + const double t550 = t547 * t548 + 0.1e1; + const double t551 = t10 * t2; + const double t553 = 0.2e1 * t551 * t17; + const double t554 = t16 * t3; + const double t555 = 0.1e1 / t554; + const double t557 = 0.2e1 * t15 * t555; + const double t558 = t14 * t2; + const double t559 = t11 * t558; + const double t561 = 0.4e1 * t559 * t22; + const double t562 = t21 * t3; + const double t563 = 0.1e1 / t562; + const double t565 = 0.4e1 * t20 * t563; + const double t567 = t12 * t19 * t2; + const double t569 = 0.6e1 * t567 * t27; + const double t570 = t21 * t554; + const double t571 = 0.1e1 / t570; + const double t573 = 0.6e1 * t25 * t571; + const double t574 = t553 - t557 + t561 - t565 + t569 - t573; + const double t577 = 0.1e1 / t90 / t88; + const double t578 = t29 * t577; + const double t579 = t2 * t17; + const double t580 = t4 - t579; + const double t581 = piecewise_functor_5( t31, 0.0, t34, 0.0, t580 ); + const double t582 = t36 * t581; + const double t583 = t582 * t70; + const double t586 = t39 * rho_a; + const double t588 = 0.1e1 / t41 / t586; + const double t589 = sigma_aa * t588; + const double t592 = t48 * t581; + const double t595 = t60 * t581; + const double t599 = 0.1e1 / t66 / t554; + const double t600 = t64 * t599; + const double t601 = 0.8e1 / 0.3e1 * t600; + const double t602 = -0.8e1 / 0.3e1 * t589 * t49 + 0.5e1 / 0.6e1 * t44 * t592 - 0.5e1 / 0.6e1 * t56 * t595 + t601; + const double t603 = t38 * t602; + const double t606 = t45 * t45; + const double t608 = 0.1e1 / t78 / t606; + const double t610 = t57 * t57; + const double t612 = 0.1e1 / t81 / t610; + const double t615 = -0.4e1 / 0.3e1 * t608 * t581 + 0.4e1 / 0.3e1 * t612 * t581; + const double t616 = t77 * t615; + const double t619 = -t583 * t85 / 0.12e2 + t603 * t85 / 0.24e2 + t71 * t616 / 0.24e2; + const double t623 = piecewise_functor_3( t8, 0.0, t574 * t91 - 0.4e1 * t578 * t619 ); + const double t624 = t623 * t117; + const double t626 = t94 * t116; + const double t628 = t600 * t112 / 0.3e1; + const double t629 = t111 * t111; + const double t630 = 0.1e1 / t629; + const double t631 = tau_a * t43; + const double t633 = t580 / 0.2e1; + const double t634 = t100 * t633; + const double t636 = -t633; + const double t637 = t108 * t636; + const double t640 = -0.5e1 / 0.3e1 * t631 * t101 + 0.5e1 / 0.3e1 * t105 * t637 + 0.5e1 / 0.3e1 * t97 * t634; + const double t641 = t630 * t640; + const double t645 = piecewise_functor_3( t115, 0.0, -t628 - t69 * t641 / 0.8e1 ); + const double t646 = t485 * t645; + const double t649 = t65 * t3; + const double t650 = 0.1e1 / t649; + const double t651 = t125 * t650; + const double t654 = 0.11073470983333333333e-2 * t123 * t651 * t147; + const double t655 = t143 * t143; + const double t656 = 0.1e1 / t655; + const double t657 = t130 * t656; + const double t659 = 0.1e1 / t131 * t72; + const double t661 = t660 * t650; + const double t662 = t659 * t661; + const double t664 = t123 * t651; + const double t666 = safe_math::sqrt( t128 ); + const double t667 = t666 * t72; + const double t668 = t667 * t661; + const double t671 = 0.1e1 / t66 / t3; + const double t672 = t124 * t671; + const double t673 = t138 * t672; + const double t675 = -0.632975e0 * t662 - 0.29896666666666666667e0 * t664 - 0.1023875e0 * t668 - 0.82156666666666666667e-1 * t673; + const double t676 = 0.1e1 / t146; + const double t677 = t675 * t676; + const double t679 = 0.1e1 * t657 * t677; + const double t680 = t37 * t36; + const double t681 = t680 * t157; + const double t682 = t190 * t581; + const double t684 = 0.4e1 * t681 * t682; + const double t687 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t581 ); + const double t690 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t581 ); + const double t691 = t687 + t690; + const double t692 = t150 * t691; + const double t693 = t692 * t190; + const double t697 = t169 * t169; + const double t698 = 0.1e1 / t697; + const double t699 = t164 * t698; + const double t704 = -0.1176575e1 * t662 - 0.516475e0 * t664 - 0.2103875e0 * t668 - 0.104195e0 * t673; + const double t705 = 0.1e1 / t172; + const double t706 = t704 * t705; + const double t712 = t182 * t182; + const double t713 = 0.1e1 / t712; + const double t714 = t177 * t713; + const double t719 = -0.86308333333333333334e0 * t662 - 0.301925e0 * t664 - 0.5501625e-1 * t668 - 0.82785e-1 * t673; + const double t720 = 0.1e1 / t185; + const double t721 = t719 * t720; + const double t724 = 0.53237641966666666666e-3 * t123 * t651 * t173 + 0.1e1 * t699 * t706 - t654 - t679 + 0.18311447306006545054e-3 * t123 * t651 * t186 + 0.5848223622634646207e0 * t714 * t721; + const double t725 = t162 * t724; + const double t726 = t158 * t725; + const double t727 = t691 * t162; + const double t729 = 0.19751673498613801407e-1 * t727 * t187; + const double t730 = t192 * t72; + const double t732 = t660 * t650 * t186; + const double t734 = 0.18311447306006545054e-3 * t730 * t732; + const double t735 = t192 * t177; + const double t737 = t713 * t719 * t720; + const double t739 = 0.5848223622634646207e0 * t735 * t737; + const double t740 = t206 * t256; + const double t741 = 0.1e1 / t78; + const double t744 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t741 * t581 ); + const double t745 = 0.1e1 / t81; + const double t748 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t745 * t581 ); + const double t750 = t744 / 0.2e1 + t748 / 0.2e1; + const double t755 = 0.1e1 / t65 / t554; + const double t756 = t64 * t755; + const double t757 = t756 * t159; + const double t759 = 0.7e1 / 0.288e3 * t757 * t216; + const double t760 = t159 * t223; + const double t761 = t210 * t760; + const double t763 = t124 * t750; + const double t764 = t762 * t763; + const double t767 = t227 * t227; + const double t768 = 0.1e1 / t767; + const double t769 = t768 * t230; + const double t771 = t339 * t769 * t234; + const double t772 = t235 * t238; + const double t773 = t772 * t72; + const double t776 = ( t654 + t679 + t684 + t693 + t726 + t729 - t734 - t739 ) * t219; + const double t778 = t73 * t238; + const double t779 = t778 * t750; + const double t782 = 0.3e1 * t222 * t779 - t224 * t776; + const double t783 = t782 * t226; + const double t784 = t774 * t783; + const double t785 = t773 * t784; + const double t789 = 0.1e1 / t66 / t562; + const double t790 = t789 * t235; + const double t791 = t790 * t238; + const double t792 = t791 * t242; + const double t794 = 0.7e1 / 0.4608e4 * t232 * t792; + const double t795 = t228 * t230; + const double t797 = t339 * t795 * t234; + const double t799 = 0.1e1 / t237 / t205; + const double t800 = t235 * t799; + const double t801 = t800 * t72; + const double t803 = t801 * t774 * t750; + const double t806 = -t759 - t761 * t764 / 0.48e2 - t771 * t785 / 0.3072e4 - t794 - t797 * t803 / 0.768e3; + const double t807 = beta * t806; + const double t809 = t247 * t219; + const double t810 = t251 * t251; + const double t811 = 0.1e1 / t810; + const double t812 = t73 * t811; + const double t813 = t768 * t246; + const double t818 = t220 * t229 * t806 - t339 * t783 * t813; + const double t819 = t812 * t818; + const double t821 = t253 * t807 - t809 * t819; + const double t823 = 0.1e1 / t255; + const double t826 = t198 * t207 * t821 * t823 + 0.3e1 * t198 * t740 * t750 + t654 + t679 + t684 + t693 + t726 + t729 - t734 - t739; + const double t831 = t650 * t159; + const double t833 = t262 * t831 * t265; + const double t834 = 0.17808333333333333333e-1 * t833; + const double t835 = t159 * t361; + const double t836 = 0.1e1 / t606; + const double t837 = t836 * t581; + const double t838 = t835 * t837; + const double t839 = t128 * t838; + const double t841 = -t834 - 0.17808333333333333333e-1 * t839; + const double t843 = 0.621814e-1 * t841 * t285; + const double t844 = t281 * t281; + const double t845 = 0.1e1 / t844; + const double t846 = t269 * t845; + const double t847 = 0.1e1 / t270; + const double t849 = -t833 / 0.3e1 - t839 / 0.3e1; + const double t850 = t847 * t849; + const double t852 = 0.29896666666666666667e0 * t833; + const double t854 = safe_math::sqrt( t267 ); + const double t855 = t854 * t849; + const double t857 = t671 * t235; + const double t859 = t275 * t857 * t277; + const double t860 = 0.82156666666666666667e-1 * t859; + const double t861 = t235 * t334; + const double t862 = t861 * t837; + const double t863 = t141 * t862; + const double t865 = 0.1898925e1 * t850 - t852 - 0.29896666666666666667e0 * t839 + 0.3071625e0 * t855 - t860 - 0.82156666666666666667e-1 * t863; + const double t866 = 0.1e1 / t284; + const double t867 = t865 * t866; + const double t869 = 0.1e1 * t846 * t867; + const double t870 = 0.17123333333333333333e-1 * t833; + const double t872 = -t870 - 0.17123333333333333333e-1 * t839; + const double t875 = t301 * t301; + const double t876 = 0.1e1 / t875; + const double t877 = t296 * t876; + const double t879 = 0.516475e0 * t833; + const double t882 = 0.104195e0 * t859; + const double t884 = 0.3529725e1 * t850 - t879 - 0.516475e0 * t839 + 0.6311625e0 * t855 - t882 - 0.104195e0 * t863; + const double t885 = 0.1e1 / t304; + const double t886 = t884 * t885; + const double t889 = 0.92708333333333333333e-2 * t833; + const double t891 = -t889 - 0.92708333333333333333e-2 * t839; + const double t892 = t891 * t318; + const double t894 = t314 * t314; + const double t895 = 0.1e1 / t894; + const double t896 = t309 * t895; + const double t898 = 0.301925e0 * t833; + const double t901 = 0.82785e-1 * t859; + const double t903 = 0.258925e1 * t850 - t898 - 0.301925e0 * t839 + 0.16504875e0 * t855 - t901 - 0.82785e-1 * t863; + const double t904 = 0.1e1 / t317; + const double t905 = t903 * t904; + const double t909 = t294 * ( -0.310907e-1 * t872 * t305 + 0.1e1 * t877 * t886 + t843 - t869 - 0.19751673498613801407e-1 * t892 + 0.5848223622634646207e0 * t896 * t905 ); + const double t911 = 0.19751673498613801407e-1 * t294 * t892; + const double t912 = t294 * t309; + const double t914 = t895 * t903 * t904; + const double t916 = 0.5848223622634646207e0 * t912 * t914; + const double t917 = t589 * t332; + const double t921 = t215 * t139 * t334; + const double t923 = t333 * t921 / 0.288e3; + const double t924 = t332 * t214; + const double t925 = t44 * t924; + const double t926 = t124 * t65; + const double t928 = 0.1e1 / t265 / t264; + const double t929 = t928 * t836; + const double t930 = t929 * t581; + const double t931 = t926 * t930; + const double t934 = t196 * t196; + const double t935 = 0.1e1 / t934; + const double t936 = beta * t935; + const double t938 = t936 * t937; + const double t939 = t346 * t346; + const double t940 = 0.1e1 / t939; + const double t941 = t940 * t348; + const double t943 = 0.1e1 / t356 / t330; + const double t944 = t353 * t943; + const double t946 = t938 * t941 * t944; + const double t947 = t66 * t361; + const double t948 = -t843 + t869 + t909 + t911 - t916; + const double t949 = t948 * t345; + const double t950 = t947 * t949; + const double t951 = t242 * t950; + const double t954 = t350 * t39; + const double t956 = 0.1e1 / t40 / t954; + const double t958 = t339 * t349 * t956; + const double t962 = t359 * t127 * t361; + const double t964 = t355 * t962 / 0.4608e4; + const double t965 = t353 * t357; + const double t967 = t339 * t349 * t965; + const double t969 = 0.1e1 / t277 / t264; + const double t970 = t66 * t969; + const double t971 = t970 * t837; + const double t972 = t242 * t971; + const double t975 = -t917 * t336 / 0.36e2 + t923 + t925 * t931 / 0.288e3 + t946 * t951 / 0.3072e4 - t958 * t363 / 0.576e3 + t964 + t967 * t972 / 0.4608e4; + const double t976 = beta * t975; + const double t978 = t367 * t219; + const double t979 = t371 * t371; + const double t980 = 0.1e1 / t979; + const double t981 = t73 * t980; + const double t983 = t936 * t937 * t940; + const double t984 = t366 * t948; + const double t985 = t342 * t345; + const double t990 = t220 * t368 * t975 + t983 * t984 * t985; + const double t991 = t981 * t990; + const double t993 = t373 * t976 - t978 * t991; + const double t995 = 0.1e1 / t375; + const double t999 = piecewise_functor_3( t380, t198 * t330 * t993 * t995 - t843 + t869 + t909 + t911 - t916, t826 ); + const double t1004 = piecewise_functor_3( t120, t259 * t580 / 0.2e1 + t826 * t30 / 0.2e1, t381 * t581 / 0.2e1 + t999 * t45 / 0.2e1 ); + const double t1006 = -t580; + const double t1011 = t262 * t831 * t390; + const double t1012 = 0.17808333333333333333e-1 * t1011; + const double t1013 = t159 * t461; + const double t1014 = 0.1e1 / t610; + const double t1015 = t1014 * t581; + const double t1016 = t1013 * t1015; + const double t1017 = t128 * t1016; + const double t1019 = -t1012 + 0.17808333333333333333e-1 * t1017; + const double t1021 = 0.621814e-1 * t1019 * t408; + const double t1022 = t404 * t404; + const double t1023 = 0.1e1 / t1022; + const double t1024 = t394 * t1023; + const double t1025 = 0.1e1 / t395; + const double t1027 = -t1011 / 0.3e1 + t1017 / 0.3e1; + const double t1028 = t1025 * t1027; + const double t1030 = 0.29896666666666666667e0 * t1011; + const double t1032 = safe_math::sqrt( t392 ); + const double t1033 = t1032 * t1027; + const double t1036 = t275 * t857 * t400; + const double t1037 = 0.82156666666666666667e-1 * t1036; + const double t1038 = t235 * t442; + const double t1039 = t1038 * t1015; + const double t1040 = t141 * t1039; + const double t1042 = 0.1898925e1 * t1028 - t1030 + 0.29896666666666666667e0 * t1017 + 0.3071625e0 * t1033 - t1037 + 0.82156666666666666667e-1 * t1040; + const double t1043 = 0.1e1 / t407; + const double t1044 = t1042 * t1043; + const double t1046 = 0.1e1 * t1024 * t1044; + const double t1047 = 0.17123333333333333333e-1 * t1011; + const double t1049 = -t1047 + 0.17123333333333333333e-1 * t1017; + const double t1052 = t417 * t417; + const double t1053 = 0.1e1 / t1052; + const double t1054 = t412 * t1053; + const double t1056 = 0.516475e0 * t1011; + const double t1059 = 0.104195e0 * t1036; + const double t1061 = 0.3529725e1 * t1028 - t1056 + 0.516475e0 * t1017 + 0.6311625e0 * t1033 - t1059 + 0.104195e0 * t1040; + const double t1062 = 0.1e1 / t420; + const double t1063 = t1061 * t1062; + const double t1066 = 0.92708333333333333333e-2 * t1011; + const double t1068 = -t1066 + 0.92708333333333333333e-2 * t1017; + const double t1069 = t1068 * t434; + const double t1071 = t430 * t430; + const double t1072 = 0.1e1 / t1071; + const double t1073 = t425 * t1072; + const double t1075 = 0.301925e0 * t1011; + const double t1078 = 0.82785e-1 * t1036; + const double t1080 = 0.258925e1 * t1028 - t1075 + 0.301925e0 * t1017 + 0.16504875e0 * t1033 - t1078 + 0.82785e-1 * t1040; + const double t1081 = 0.1e1 / t433; + const double t1082 = t1080 * t1081; + const double t1086 = t294 * ( -0.310907e-1 * t1049 * t421 + 0.1e1 * t1054 * t1063 + t1021 - t1046 - 0.19751673498613801407e-1 * t1069 + 0.5848223622634646207e0 * t1073 * t1082 ); + const double t1088 = 0.19751673498613801407e-1 * t294 * t1069; + const double t1089 = t294 * t425; + const double t1091 = t1072 * t1080 * t1081; + const double t1093 = 0.5848223622634646207e0 * t1089 * t1091; + const double t1095 = t215 * t139 * t442; + const double t1097 = t441 * t1095 / 0.288e3; + const double t1098 = t56 * t924; + const double t1100 = 0.1e1 / t390 / t389; + const double t1101 = t1100 * t1014; + const double t1102 = t1101 * t581; + const double t1103 = t926 * t1102; + const double t1106 = t451 * t451; + const double t1107 = 0.1e1 / t1106; + const double t1108 = t1107 * t453; + const double t1109 = t458 * t943; + const double t1111 = t938 * t1108 * t1109; + const double t1112 = t66 * t461; + const double t1113 = -t1021 + t1046 + t1086 + t1088 - t1093; + const double t1114 = t1113 * t450; + const double t1115 = t1112 * t1114; + const double t1116 = t242 * t1115; + const double t1120 = t359 * t127 * t461; + const double t1122 = t460 * t1120 / 0.4608e4; + const double t1123 = t458 * t357; + const double t1125 = t339 * t454 * t1123; + const double t1127 = 0.1e1 / t400 / t389; + const double t1128 = t66 * t1127; + const double t1129 = t1128 * t1015; + const double t1130 = t242 * t1129; + const double t1133 = t1097 - t1098 * t1103 / 0.288e3 + t1111 * t1116 / 0.3072e4 + t1122 - t1125 * t1130 / 0.4608e4; + const double t1134 = beta * t1133; + const double t1136 = t467 * t219; + const double t1137 = t471 * t471; + const double t1138 = 0.1e1 / t1137; + const double t1139 = t73 * t1138; + const double t1141 = t936 * t937 * t1107; + const double t1142 = t466 * t1113; + const double t1143 = t342 * t450; + const double t1148 = t1133 * t220 * t468 + t1141 * t1142 * t1143; + const double t1149 = t1139 * t1148; + const double t1151 = t1134 * t473 - t1136 * t1149; + const double t1153 = 0.1e1 / t475; + const double t1157 = piecewise_functor_3( t480, t1151 * t1153 * t198 * t330 - t1021 + t1046 + t1086 + t1088 - t1093, t826 ); + const double t1162 = piecewise_functor_3( t386, t259 * t1006 / 0.2e1 + t826 * t33 / 0.2e1, t1157 * t57 / 0.2e1 - t481 * t581 / 0.2e1 ); + const double t1163 = t1004 + t1162; + const double t1165 = t93 * t116; + const double t1168 = 0.2e1 * t1165 * t645 + t624; + const double t1170 = t558 * t22; + const double t1172 = 0.4e1 * t1170 * t498; + const double t1173 = t19 * t563; + const double t1175 = 0.4e1 * t1173 * t498; + const double t1178 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t490 * t580 ); + const double t1181 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t493 * t1006 ); + const double t1183 = ( t1178 + t1181 ) * t162; + const double t1184 = t1183 * t189; + const double t1185 = t489 * t1184; + const double t1186 = t497 * t724; + const double t1187 = t489 * t1186; + const double t1189 = 0.19751673498613801407e-1 * t1183 * t187; + const double t1190 = t497 * t72; + const double t1192 = 0.18311447306006545054e-3 * t1190 * t732; + const double t1193 = t497 * t177; + const double t1195 = 0.5848223622634646207e0 * t1193 * t737; + const double t1196 = t508 * t541; + const double t1197 = 0.1e1 / t490; + const double t1200 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1197 * t580 ); + const double t1201 = 0.1e1 / t493; + const double t1204 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1201 * t1006 ); + const double t1206 = t1200 / 0.2e1 + t1204 / 0.2e1; + const double t1211 = 0.7e1 / 0.288e3 * t757 * t512; + const double t1212 = t159 * t517; + const double t1213 = t210 * t1212; + const double t1214 = t124 * t1206; + const double t1215 = t762 * t1214; + const double t1218 = t521 * t521; + const double t1219 = 0.1e1 / t1218; + const double t1220 = t1219 * t230; + const double t1222 = t339 * t1220 * t234; + const double t1223 = t235 * t527; + const double t1224 = t1223 * t72; + const double t1226 = ( t654 + t679 + t1172 - t1175 + t1185 + t1187 + t1189 - t1192 - t1195 ) * t219; + const double t1228 = t73 * t527; + const double t1229 = t1228 * t1206; + const double t1232 = -t1226 * t518 + 0.3e1 * t1229 * t516; + const double t1233 = t1232 * t520; + const double t1234 = t774 * t1233; + const double t1235 = t1224 * t1234; + const double t1238 = t790 * t527; + const double t1239 = t1238 * t242; + const double t1241 = 0.7e1 / 0.4608e4 * t525 * t1239; + const double t1242 = t522 * t230; + const double t1244 = t339 * t1242 * t234; + const double t1246 = 0.1e1 / t526 / t507; + const double t1247 = t235 * t1246; + const double t1248 = t1247 * t72; + const double t1250 = t1248 * t774 * t1206; + const double t1253 = -t1211 - t1213 * t1215 / 0.48e2 - t1222 * t1235 / 0.3072e4 - t1241 - t1244 * t1250 / 0.768e3; + const double t1254 = beta * t1253; + const double t1256 = t533 * t219; + const double t1257 = t536 * t536; + const double t1258 = 0.1e1 / t1257; + const double t1259 = t73 * t1258; + const double t1260 = t1219 * t532; + const double t1265 = -t1233 * t1260 * t339 + t1253 * t220 * t523; + const double t1266 = t1259 * t1265; + const double t1268 = t1254 * t538 - t1256 * t1266; + const double t1270 = 0.1e1 / t540; + const double t1273 = t1268 * t1270 * t198 * t509 + 0.3e1 * t1196 * t1206 * t198 + t1172 - t1175 + t1185 + t1187 + t1189 - t1192 - t1195 + t654 + t679; + const double t1275 = -t1163 * t118 + t1168 * t544 + t1273 * t488 - t485 * t624 - 0.2e1 * t626 * t646; + const double t1276 = t3 * t1275; + const double t1278 = t3 * t546; + const double t1279 = d * t1275; + const double t1281 = t117 * t645; + const double t1284 = t1279 * t548 + 0.3e1 * t1281 * t547; + const double t1286 = -t553 - t557 - t561 - t565 - t569 - t573; + const double t1288 = -t4 - t579; + const double t1289 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1288 ); + const double t1290 = t36 * t1289; + const double t1291 = t1290 * t70; + const double t1294 = t48 * t1289; + const double t1297 = t51 * rho_b; + const double t1299 = 0.1e1 / t53 / t1297; + const double t1300 = sigma_bb * t1299; + const double t1303 = t60 * t1289; + const double t1306 = 0.5e1 / 0.6e1 * t44 * t1294 - 0.8e1 / 0.3e1 * t1300 * t61 - 0.5e1 / 0.6e1 * t56 * t1303 + t601; + const double t1307 = t38 * t1306; + const double t1310 = t608 * t1289; + const double t1311 = t612 * t1289; + const double t1313 = -0.4e1 / 0.3e1 * t1310 + 0.4e1 / 0.3e1 * t1311; + const double t1314 = t77 * t1313; + const double t1317 = -t1291 * t85 / 0.12e2 + t1307 * t85 / 0.24e2 + t71 * t1314 / 0.24e2; + const double t1321 = piecewise_functor_3( t8, 0.0, t1286 * t91 - 0.4e1 * t1317 * t578 ); + const double t1322 = t1321 * t117; + const double t1324 = t1288 / 0.2e1; + const double t1325 = t100 * t1324; + const double t1327 = tau_b * t55; + const double t1329 = -t1324; + const double t1330 = t108 * t1329; + const double t1333 = 0.5e1 / 0.3e1 * t105 * t1330 - 0.5e1 / 0.3e1 * t1327 * t109 + 0.5e1 / 0.3e1 * t97 * t1325; + const double t1334 = t630 * t1333; + const double t1338 = piecewise_functor_3( t115, 0.0, -t628 - t69 * t1334 / 0.8e1 ); + const double t1339 = t485 * t1338; + const double t1342 = t190 * t1289; + const double t1344 = 0.4e1 * t681 * t1342; + const double t1347 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t1289 ); + const double t1350 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t1289 ); + const double t1351 = t1347 + t1350; + const double t1352 = t150 * t1351; + const double t1353 = t1352 * t190; + const double t1354 = t1351 * t162; + const double t1356 = 0.19751673498613801407e-1 * t1354 * t187; + const double t1359 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t741 * t1289 ); + const double t1362 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t745 * t1289 ); + const double t1364 = t1359 / 0.2e1 + t1362 / 0.2e1; + const double t1368 = t124 * t1364; + const double t1369 = t762 * t1368; + const double t1373 = ( t654 + t679 + t1344 + t1353 + t726 + t1356 - t734 - t739 ) * t219; + const double t1375 = t778 * t1364; + const double t1378 = -t1373 * t224 + 0.3e1 * t1375 * t222; + const double t1379 = t1378 * t226; + const double t1380 = t774 * t1379; + const double t1381 = t773 * t1380; + const double t1385 = t801 * t774 * t1364; + const double t1388 = -t759 - t761 * t1369 / 0.48e2 - t771 * t1381 / 0.3072e4 - t794 - t797 * t1385 / 0.768e3; + const double t1389 = beta * t1388; + const double t1395 = -t1379 * t339 * t813 + t1388 * t220 * t229; + const double t1396 = t812 * t1395; + const double t1398 = t1389 * t253 - t1396 * t809; + const double t1402 = t1398 * t198 * t207 * t823 + 0.3e1 * t1364 * t198 * t740 + t1344 + t1353 + t1356 + t654 + t679 + t726 - t734 - t739; + const double t1407 = t836 * t1289; + const double t1408 = t835 * t1407; + const double t1409 = t128 * t1408; + const double t1411 = -t834 - 0.17808333333333333333e-1 * t1409; + const double t1413 = 0.621814e-1 * t1411 * t285; + const double t1415 = -t833 / 0.3e1 - t1409 / 0.3e1; + const double t1416 = t847 * t1415; + const double t1419 = t854 * t1415; + const double t1421 = t861 * t1407; + const double t1422 = t141 * t1421; + const double t1424 = 0.1898925e1 * t1416 - t852 - 0.29896666666666666667e0 * t1409 + 0.3071625e0 * t1419 - t860 - 0.82156666666666666667e-1 * t1422; + const double t1425 = t1424 * t866; + const double t1427 = 0.1e1 * t846 * t1425; + const double t1429 = -t870 - 0.17123333333333333333e-1 * t1409; + const double t1436 = 0.3529725e1 * t1416 - t879 - 0.516475e0 * t1409 + 0.6311625e0 * t1419 - t882 - 0.104195e0 * t1422; + const double t1437 = t1436 * t885; + const double t1441 = -t889 - 0.92708333333333333333e-2 * t1409; + const double t1442 = t1441 * t318; + const double t1448 = 0.258925e1 * t1416 - t898 - 0.301925e0 * t1409 + 0.16504875e0 * t1419 - t901 - 0.82785e-1 * t1422; + const double t1449 = t1448 * t904; + const double t1453 = t294 * ( -0.310907e-1 * t1429 * t305 + 0.1e1 * t877 * t1437 + t1413 - t1427 - 0.19751673498613801407e-1 * t1442 + 0.5848223622634646207e0 * t896 * t1449 ); + const double t1455 = 0.19751673498613801407e-1 * t294 * t1442; + const double t1457 = t895 * t1448 * t904; + const double t1459 = 0.5848223622634646207e0 * t912 * t1457; + const double t1460 = t929 * t1289; + const double t1461 = t926 * t1460; + const double t1464 = -t1413 + t1427 + t1453 + t1455 - t1459; + const double t1465 = t1464 * t345; + const double t1466 = t947 * t1465; + const double t1467 = t242 * t1466; + const double t1470 = t970 * t1407; + const double t1471 = t242 * t1470; + const double t1474 = t923 + t925 * t1461 / 0.288e3 + t946 * t1467 / 0.3072e4 + t964 + t967 * t1471 / 0.4608e4; + const double t1475 = beta * t1474; + const double t1477 = t366 * t1464; + const double t1482 = t1474 * t220 * t368 + t1477 * t983 * t985; + const double t1483 = t981 * t1482; + const double t1485 = t1475 * t373 - t1483 * t978; + const double t1490 = piecewise_functor_3( t380, t1485 * t198 * t330 * t995 - t1413 + t1427 + t1453 + t1455 - t1459, t1402 ); + const double t1495 = piecewise_functor_3( t120, t259 * t1288 / 0.2e1 + t1402 * t30 / 0.2e1, t381 * t1289 / 0.2e1 + t1490 * t45 / 0.2e1 ); + const double t1497 = -t1288; + const double t1501 = t1014 * t1289; + const double t1502 = t1013 * t1501; + const double t1503 = t128 * t1502; + const double t1505 = -t1012 + 0.17808333333333333333e-1 * t1503; + const double t1507 = 0.621814e-1 * t1505 * t408; + const double t1509 = -t1011 / 0.3e1 + t1503 / 0.3e1; + const double t1510 = t1025 * t1509; + const double t1513 = t1032 * t1509; + const double t1515 = t1038 * t1501; + const double t1516 = t141 * t1515; + const double t1518 = 0.1898925e1 * t1510 - t1030 + 0.29896666666666666667e0 * t1503 + 0.3071625e0 * t1513 - t1037 + 0.82156666666666666667e-1 * t1516; + const double t1519 = t1518 * t1043; + const double t1521 = 0.1e1 * t1024 * t1519; + const double t1523 = -t1047 + 0.17123333333333333333e-1 * t1503; + const double t1530 = 0.3529725e1 * t1510 - t1056 + 0.516475e0 * t1503 + 0.6311625e0 * t1513 - t1059 + 0.104195e0 * t1516; + const double t1531 = t1530 * t1062; + const double t1535 = -t1066 + 0.92708333333333333333e-2 * t1503; + const double t1536 = t1535 * t434; + const double t1542 = 0.258925e1 * t1510 - t1075 + 0.301925e0 * t1503 + 0.16504875e0 * t1513 - t1078 + 0.82785e-1 * t1516; + const double t1543 = t1542 * t1081; + const double t1547 = t294 * ( -0.310907e-1 * t1523 * t421 + 0.1e1 * t1054 * t1531 + t1507 - t1521 - 0.19751673498613801407e-1 * t1536 + 0.5848223622634646207e0 * t1073 * t1543 ); + const double t1549 = 0.19751673498613801407e-1 * t294 * t1536; + const double t1551 = t1072 * t1542 * t1081; + const double t1553 = 0.5848223622634646207e0 * t1089 * t1551; + const double t1554 = t1300 * t332; + const double t1557 = t1101 * t1289; + const double t1558 = t926 * t1557; + const double t1561 = -t1507 + t1521 + t1547 + t1549 - t1553; + const double t1562 = t1561 * t450; + const double t1563 = t1112 * t1562; + const double t1564 = t242 * t1563; + const double t1567 = t455 * t51; + const double t1569 = 0.1e1 / t52 / t1567; + const double t1571 = t339 * t454 * t1569; + const double t1574 = t1128 * t1501; + const double t1575 = t242 * t1574; + const double t1578 = -t1554 * t444 / 0.36e2 + t1097 - t1098 * t1558 / 0.288e3 + t1111 * t1564 / 0.3072e4 - t1571 * t463 / 0.576e3 + t1122 - t1125 * t1575 / 0.4608e4; + const double t1579 = beta * t1578; + const double t1581 = t466 * t1561; + const double t1586 = t1141 * t1143 * t1581 + t1578 * t220 * t468; + const double t1587 = t1139 * t1586; + const double t1589 = -t1136 * t1587 + t1579 * t473; + const double t1594 = piecewise_functor_3( t480, t1153 * t1589 * t198 * t330 - t1507 + t1521 + t1547 + t1549 - t1553, t1402 ); + const double t1599 = piecewise_functor_3( t386, t1402 * t33 / 0.2e1 + t259 * t1497 / 0.2e1, -t481 * t1289 / 0.2e1 + t1594 * t57 / 0.2e1 ); + const double t1600 = t1495 + t1599; + const double t1604 = 0.2e1 * t1165 * t1338 + t1322; + const double t1608 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t490 * t1288 ); + const double t1611 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t493 * t1497 ); + const double t1613 = ( t1608 + t1611 ) * t162; + const double t1614 = t1613 * t189; + const double t1615 = t489 * t1614; + const double t1617 = 0.19751673498613801407e-1 * t1613 * t187; + const double t1620 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1197 * t1288 ); + const double t1623 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1201 * t1497 ); + const double t1625 = t1620 / 0.2e1 + t1623 / 0.2e1; + const double t1629 = t124 * t1625; + const double t1630 = t762 * t1629; + const double t1634 = ( t654 + t679 - t1172 - t1175 + t1615 + t1187 + t1617 - t1192 - t1195 ) * t219; + const double t1636 = t1228 * t1625; + const double t1639 = -t1634 * t518 + 0.3e1 * t1636 * t516; + const double t1640 = t1639 * t520; + const double t1641 = t774 * t1640; + const double t1642 = t1224 * t1641; + const double t1646 = t1248 * t774 * t1625; + const double t1649 = -t1211 - t1213 * t1630 / 0.48e2 - t1222 * t1642 / 0.3072e4 - t1241 - t1244 * t1646 / 0.768e3; + const double t1650 = beta * t1649; + const double t1656 = -t1260 * t1640 * t339 + t1649 * t220 * t523; + const double t1657 = t1259 * t1656; + const double t1659 = -t1256 * t1657 + t1650 * t538; + const double t1663 = t1270 * t1659 * t198 * t509 + 0.3e1 * t1196 * t1625 * t198 - t1172 - t1175 + t1187 - t1192 - t1195 + t1615 + t1617 + t654 + t679; + const double t1665 = -t118 * t1600 - t1322 * t485 - 0.2e1 * t1339 * t626 + t1604 * t544 + t1663 * t488; + const double t1666 = t3 * t1665; + const double t1668 = d * t1665; + const double t1670 = t117 * t1338; + const double t1673 = t1668 * t548 + 0.3e1 * t1670 * t547; + const double t1675 = t578 * t38; + const double t1677 = t43 * t49 - t68; + const double t1678 = t1677 * t72; + const double t1679 = t76 * t84; + const double t1680 = t1678 * t1679; + const double t1683 = piecewise_functor_3( t8, 0.0, -t1675 * t1680 / 0.6e1 ); + const double t1684 = t1683 * t117; + const double t1686 = t68 * t112; + const double t1688 = piecewise_functor_3( t115, 0.0, t1686 / 0.8e1 ); + const double t1689 = t485 * t1688; + const double t1691 = 0.2e1 * t626 * t1689; + const double t1692 = t198 * t207; + const double t1693 = t209 * t159; + const double t1696 = t1693 * t212 * t1695; + const double t1699 = t220 * t229 * t64; + const double t1700 = t1699 * t243; + const double t1702 = t1696 / 0.96e2 + t1700 / 0.1536e4; + const double t1703 = beta * t1702; + const double t1706 = t1705 * t246; + const double t1707 = t1706 * t935; + const double t1708 = t937 * t811; + const double t1710 = t1708 * t228 * t1702; + const double t1712 = t1703 * t253 - t1707 * t1710; + const double t1713 = t1712 * t823; + const double t1714 = t1713 * t30; + const double t1716 = t1692 * t1714 / 0.2e1; + const double t1717 = t43 * t331; + const double t1718 = t1717 * t136; + const double t1721 = t347 * sigma_aa; + const double t1723 = t339 * t1721 * t353; + const double t1726 = t1718 * t336 / 0.96e2 + t1723 * t363 / 0.1536e4; + const double t1727 = beta * t1726; + const double t1729 = t1705 * t366; + const double t1730 = t1729 * t935; + const double t1731 = t937 * t980; + const double t1733 = t1731 * t347 * t1726; + const double t1735 = t1727 * t373 - t1730 * t1733; + const double t1739 = t207 * t1712; + const double t1741 = t198 * t1739 * t823; + const double t1742 = piecewise_functor_3( t380, t198 * t330 * t1735 * t995, t1741 ); + const double t1745 = piecewise_functor_3( t120, t1716, t1742 * t45 / 0.2e1 ); + const double t1746 = t1713 * t33; + const double t1748 = t1692 * t1746 / 0.2e1; + const double t1749 = piecewise_functor_3( t480, 0.0, t1741 ); + const double t1752 = piecewise_functor_3( t386, t1748, t1749 * t57 / 0.2e1 ); + const double t1753 = t1745 + t1752; + const double t1756 = 0.2e1 * t1165 * t1688; + const double t1757 = t1684 + t1756; + const double t1759 = t488 * t196; + const double t1760 = t1759 * t197; + const double t1762 = t1693 * t510 * t1695; + const double t1765 = t220 * t523 * t64; + const double t1766 = t1765 * t529; + const double t1768 = t1762 / 0.96e2 + t1766 / 0.1536e4; + const double t1769 = beta * t1768; + const double t1771 = t1705 * t532; + const double t1772 = t1771 * t935; + const double t1773 = t937 * t1258; + const double t1775 = t1773 * t522 * t1768; + const double t1777 = t1769 * t538 - t1772 * t1775; + const double t1778 = t509 * t1777; + const double t1779 = t1778 * t1270; + const double t1780 = t1760 * t1779; + const double t1781 = -t118 * t1753 - t1684 * t485 + t1757 * t544 - t1691 + t1780; + const double t1782 = t3 * t1781; + const double t1784 = d * t1781; + const double t1786 = t117 * t1688; + const double t1788 = 0.3e1 * t547 * t1786; + const double t1789 = t1784 * t548 + t1788; + const double t1791 = t68 * t72; + const double t1792 = t1791 * t1679; + const double t1795 = piecewise_functor_3( t8, 0.0, t1675 * t1792 / 0.3e1 ); + const double t1796 = t1795 * t117; + const double t1799 = piecewise_functor_3( t115, 0.0, t1686 / 0.4e1 ); + const double t1800 = t485 * t1799; + const double t1805 = t1696 / 0.48e2 + t1700 / 0.768e3; + const double t1806 = beta * t1805; + const double t1809 = t1708 * t228 * t1805; + const double t1811 = -t1707 * t1809 + t1806 * t253; + const double t1812 = t1811 * t823; + const double t1813 = t1812 * t30; + const double t1816 = t207 * t1811; + const double t1818 = t198 * t1816 * t823; + const double t1819 = piecewise_functor_3( t380, 0.0, t1818 ); + const double t1822 = piecewise_functor_3( t120, t1692 * t1813 / 0.2e1, t1819 * t45 / 0.2e1 ); + const double t1823 = t1812 * t33; + const double t1826 = piecewise_functor_3( t480, 0.0, t1818 ); + const double t1829 = piecewise_functor_3( t386, t1692 * t1823 / 0.2e1, t1826 * t57 / 0.2e1 ); + const double t1830 = t1822 + t1829; + const double t1834 = 0.2e1 * t1165 * t1799 + t1796; + const double t1838 = t1762 / 0.48e2 + t1766 / 0.768e3; + const double t1839 = beta * t1838; + const double t1842 = t1773 * t522 * t1838; + const double t1844 = -t1772 * t1842 + t1839 * t538; + const double t1845 = t509 * t1844; + const double t1846 = t1845 * t1270; + const double t1848 = -t118 * t1830 + t1760 * t1846 - t1796 * t485 - 0.2e1 * t1800 * t626 + t1834 * t544; + const double t1849 = t3 * t1848; + const double t1851 = d * t1848; + const double t1853 = t117 * t1799; + const double t1856 = t1851 * t548 + 0.3e1 * t1853 * t547; + const double t1859 = t55 * t61 - t68; + const double t1860 = t1859 * t72; + const double t1861 = t1860 * t1679; + const double t1864 = piecewise_functor_3( t8, 0.0, -t1675 * t1861 / 0.6e1 ); + const double t1865 = t1864 * t117; + const double t1867 = piecewise_functor_3( t380, 0.0, t1741 ); + const double t1870 = piecewise_functor_3( t120, t1716, t1867 * t45 / 0.2e1 ); + const double t1871 = t55 * t331; + const double t1872 = t1871 * t136; + const double t1875 = t452 * sigma_bb; + const double t1877 = t339 * t1875 * t458; + const double t1880 = t1872 * t444 / 0.96e2 + t1877 * t463 / 0.1536e4; + const double t1881 = beta * t1880; + const double t1883 = t1705 * t466; + const double t1884 = t1883 * t935; + const double t1885 = t937 * t1138; + const double t1887 = t1885 * t452 * t1880; + const double t1889 = t1881 * t473 - t1884 * t1887; + const double t1893 = piecewise_functor_3( t480, t198 * t330 * t1889 * t1153, t1741 ); + const double t1896 = piecewise_functor_3( t386, t1748, t1893 * t57 / 0.2e1 ); + const double t1897 = t1870 + t1896; + const double t1899 = t1865 + t1756; + const double t1901 = -t118 * t1897 - t1865 * t485 + t1899 * t544 - t1691 + t1780; + const double t1902 = t3 * t1901; + const double t1904 = d * t1901; + const double t1906 = t1904 * t548 + t1788; + const double t1908 = t630 * t96; + const double t1909 = t1908 * t101; + const double t1912 = piecewise_functor_3( t115, 0.0, -t69 * t1909 / 0.8e1 ); + const double t1913 = t485 * t1912; + const double t1915 = t1912 * t544; + const double t1918 = 0.2e1 * t1165 * t1915 - 0.2e1 * t1913 * t626; + const double t1919 = t3 * t1918; + const double t1921 = d * t1918; + const double t1923 = t117 * t1912; + const double t1926 = t1921 * t548 + 0.3e1 * t1923 * t547; + const double t1928 = t630 * t104; + const double t1929 = t1928 * t109; + const double t1932 = piecewise_functor_3( t115, 0.0, -t69 * t1929 / 0.8e1 ); + const double t1933 = t485 * t1932; + const double t1935 = t1932 * t544; + const double t1938 = 0.2e1 * t1165 * t1935 - 0.2e1 * t1933 * t626; + const double t1939 = t3 * t1938; + const double t1941 = d * t1938; + const double t1943 = t117 * t1932; + const double t1946 = t1941 * t548 + 0.3e1 * t1943 * t547; + const double t1948 = t1275 * t550; + const double t1950 = t546 * t1284; + const double t1953 = 0.2e1 * t10 * t17; + const double t1955 = 0.8e1 * t551 * t555; + const double t1957 = 0.6e1 * t15 * t22; + const double t1958 = t11 * t14; + const double t1960 = 0.12e2 * t1958 * t22; + const double t1962 = 0.32e2 * t559 * t563; + const double t1964 = 0.2e2 * t20 * t27; + const double t1965 = t12 * t19; + const double t1967 = 0.3e2 * t1965 * t27; + const double t1969 = 0.72e2 * t567 * t571; + const double t1970 = t21 * t21; + const double t1971 = 0.1e1 / t1970; + const double t1973 = 0.42e2 * t25 * t1971; + const double t1974 = t1953 - t1955 + t1957 + t1960 - t1962 + t1964 + t1967 - t1969 + t1973; + const double t1976 = t574 * t577; + const double t1980 = 0.1e1 / t90 / t89; + const double t1981 = t29 * t1980; + const double t1982 = t619 * t619; + const double t1985 = t581 * t581; + const double t1986 = t1985 * t70; + const double t1989 = t2 * t555; + const double t1990 = -t17 + t1989; + const double t1991 = 0.2e1 * t1990; + const double t1992 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1991 ); + const double t1993 = t36 * t1992; + const double t1994 = t1993 * t70; + const double t1997 = t582 * t602; + const double t2003 = 0.1e1 / t41 / t350; + const double t2004 = sigma_aa * t2003; + const double t2009 = 0.1e1 / t47; + const double t2010 = t2009 * t1985; + const double t2013 = t48 * t1992; + const double t2016 = 0.1e1 / t59; + const double t2017 = t2016 * t1985; + const double t2020 = t60 * t1992; + const double t2023 = t64 * t234; + const double t2024 = 0.88e2 / 0.9e1 * t2023; + const double t2025 = 0.88e2 / 0.9e1 * t2004 * t49 - 0.4e2 / 0.9e1 * t589 * t592 + 0.5e1 / 0.18e2 * t44 * t2010 + 0.5e1 / 0.6e1 * t44 * t2013 + 0.5e1 / 0.18e2 * t56 * t2017 - 0.5e1 / 0.6e1 * t56 * t2020 - t2024; + const double t2026 = t38 * t2025; + const double t2031 = t606 * t45; + const double t2033 = 0.1e1 / t78 / t2031; + const double t2038 = t610 * t57; + const double t2040 = 0.1e1 / t81 / t2038; + const double t2045 = 0.28e2 / 0.9e1 * t2033 * t1985 - 0.4e1 / 0.3e1 * t608 * t1992 + 0.28e2 / 0.9e1 * t2040 * t1985 + 0.4e1 / 0.3e1 * t612 * t1992; + const double t2046 = t77 * t2045; + const double t2049 = -t1986 * t85 / 0.12e2 - t1994 * t85 / 0.12e2 - t1997 * t85 / 0.6e1 - t583 * t616 / 0.6e1 + t2026 * t85 / 0.24e2 + t603 * t616 / 0.12e2 + t71 * t2046 / 0.24e2; + const double t2053 = piecewise_functor_3( t8, 0.0, t1974 * t91 - 0.8e1 * t1976 * t619 + 0.2e2 * t1981 * t1982 - 0.4e1 * t2049 * t578 ); + const double t2054 = t2053 * t117; + const double t2056 = t623 * t116; + const double t2061 = t645 * t645; + const double t2062 = t94 * t2061; + const double t2065 = t1163 * t645; + const double t2069 = 0.11e2 / 0.9e1 * t2023 * t112; + const double t2070 = t600 * t641; + const double t2073 = 0.1e1 / t629 / t111; + const double t2074 = t640 * t640; + const double t2075 = t2073 * t2074; + const double t2078 = tau_a * t588; + const double t2083 = 0.1e1 / t99; + const double t2084 = t633 * t633; + const double t2085 = t2083 * t2084; + const double t2088 = t100 * t1990; + const double t2091 = 0.1e1 / t107; + const double t2092 = t636 * t636; + const double t2093 = t2091 * t2092; + const double t2096 = -t1990; + const double t2097 = t108 * t2096; + const double t2100 = 0.4e2 / 0.9e1 * t2078 * t101 - 0.5e2 / 0.9e1 * t631 * t634 + 0.1e2 / 0.9e1 * t97 * t2085 + 0.5e1 / 0.3e1 * t97 * t2088 + 0.1e2 / 0.9e1 * t105 * t2093 + 0.5e1 / 0.3e1 * t105 * t2097; + const double t2101 = t630 * t2100; + const double t2105 = piecewise_functor_3( t115, 0.0, t2069 + 0.2e1 / 0.3e1 * t2070 + t69 * t2075 / 0.4e1 - t69 * t2101 / 0.8e1 ); + const double t2106 = t485 * t2105; + const double t2109 = t37 * t157; + const double t2110 = t190 * t1985; + const double t2112 = 0.12e2 * t2109 * t2110; + const double t2113 = t125 * t209; + const double t2116 = 0.14764627977777777777e-2 * t123 * t2113 * t147; + const double t2117 = 0.1e1 / t200; + const double t2123 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2117 * t1985 + 0.4e1 / 0.3e1 * t78 * t1992 ); + const double t2124 = 0.1e1 / t202; + const double t2130 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2124 * t1985 - 0.4e1 / 0.3e1 * t81 * t1992 ); + const double t2131 = t2123 + t2130; + const double t2132 = t150 * t2131; + const double t2133 = t2132 * t190; + const double t2134 = t190 * t1992; + const double t2136 = 0.4e1 * t681 * t2134; + const double t2137 = t680 * t691; + const double t2139 = 0.8e1 * t2137 * t682; + const double t2145 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t1985 + 0.2e1 / 0.3e1 * t741 * t1992 ); + const double t2151 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t1985 - 0.2e1 / 0.3e1 * t745 * t1992 ); + const double t2153 = t2145 / 0.2e1 + t2151 / 0.2e1; + const double t2158 = 0.1e1 / t65 / t21; + const double t2159 = t64 * t2158; + const double t2160 = t2159 * t159; + const double t2162 = 0.35e2 / 0.432e3 * t2160 * t216; + const double t2163 = t756 * t760; + const double t2164 = t2163 * t764; + const double t2166 = t159 * t238; + const double t2167 = t210 * t2166; + const double t2168 = t750 * t750; + const double t2169 = t124 * t2168; + const double t2170 = t762 * t2169; + const double t2174 = t762 * t124 * t2153; + const double t2178 = 0.1e1 / t767 / t227; + const double t2179 = t2178 * t230; + const double t2181 = t339 * t2179 * t234; + const double t2182 = t782 * t782; + const double t2183 = t226 * t226; + const double t2184 = t2182 * t2183; + const double t2186 = t773 * t774 * t2184; + const double t2190 = t339 * t769 * t789; + const double t2191 = t2190 * t785; + const double t2194 = t339 * t769 * t236; + const double t2195 = t799 * t72; + const double t2196 = t2195 * t240; + const double t2197 = t125 * t782; + const double t2198 = t226 * t750; + const double t2199 = t2197 * t2198; + const double t2200 = t2196 * t2199; + const double t2204 = t660 * t209 * t186; + const double t2206 = 0.24415263074675393405e-3 * t730 * t2204; + const double t2207 = t192 * t123; + const double t2208 = t651 * t737; + const double t2210 = 0.10843581300301739842e-1 * t2207 * t2208; + const double t2211 = t2131 * t162; + const double t2213 = 0.19751673498613801407e-1 * t2211 * t187; + const double t2217 = t650 * t698; + const double t2221 = t697 * t169; + const double t2222 = 0.1e1 / t2221; + const double t2223 = t164 * t2222; + const double t2224 = t704 * t704; + const double t2225 = t2224 * t705; + const double t2230 = 0.1e1 / t131 / t128 * t136; + const double t2232 = t2231 * t68; + const double t2233 = t2230 * t2232; + const double t2235 = t660 * t209; + const double t2236 = t659 * t2235; + const double t2238 = t123 * t2113; + const double t2240 = 0.1e1/safe_math::sqrt( t128 ); + const double t2241 = t2240 * t136; + const double t2242 = t2241 * t2232; + const double t2244 = t667 * t2235; + const double t2246 = t124 * t68; + const double t2247 = t138 * t2246; + const double t2249 = -0.78438333333333333333e0 * t2233 + 0.15687666666666666667e1 * t2236 + 0.68863333333333333333e0 * t2238 + 0.14025833333333333333e0 * t2242 + 0.28051666666666666667e0 * t2244 + 0.17365833333333333333e0 * t2247; + const double t2250 = t2249 * t705; + const double t2253 = t697 * t697; + const double t2254 = 0.1e1 / t2253; + const double t2255 = t164 * t2254; + const double t2256 = t172 * t172; + const double t2257 = 0.1e1 / t2256; + const double t2258 = t2224 * t2257; + const double t2261 = t650 * t656; + const double t2264 = 0.35616666666666666666e-1 * t262 * t2261 * t677; + const double t2265 = t655 * t143; + const double t2266 = 0.1e1 / t2265; + const double t2267 = t130 * t2266; + const double t2268 = t675 * t675; + const double t2269 = t2268 * t676; + const double t2271 = 0.2e1 * t2267 * t2269; + const double t2278 = -0.42198333333333333333e0 * t2233 + 0.84396666666666666666e0 * t2236 + 0.39862222222222222223e0 * t2238 + 0.68258333333333333333e-1 * t2242 + 0.13651666666666666667e0 * t2244 + 0.13692777777777777778e0 * t2247; + const double t2279 = t2278 * t676; + const double t2281 = 0.1e1 * t657 * t2279; + const double t2282 = t655 * t655; + const double t2283 = 0.1e1 / t2282; + const double t2284 = t130 * t2283; + const double t2285 = t146 * t146; + const double t2286 = 0.1e1 / t2285; + const double t2287 = t2268 * t2286; + const double t2289 = 0.16081979498692535067e2 * t2284 * t2287; + const double t2293 = t650 * t713; + const double t2297 = t712 * t182; + const double t2298 = 0.1e1 / t2297; + const double t2299 = t177 * t2298; + const double t2300 = t719 * t719; + const double t2301 = t2300 * t720; + const double t2310 = -0.57538888888888888889e0 * t2233 + 0.11507777777777777778e1 * t2236 + 0.40256666666666666667e0 * t2238 + 0.366775e-1 * t2242 + 0.73355e-1 * t2244 + 0.137975e0 * t2247; + const double t2311 = t2310 * t720; + const double t2314 = t712 * t712; + const double t2315 = 0.1e1 / t2314; + const double t2316 = t177 * t2315; + const double t2317 = t185 * t185; + const double t2318 = 0.1e1 / t2317; + const double t2319 = t2300 * t2318; + const double t2322 = -0.70983522622222222221e-3 * t123 * t2113 * t173 - 0.34246666666666666666e-1 * t262 * t2217 * t706 - 0.2e1 * t2223 * t2225 + 0.1e1 * t699 * t2250 + 0.32163958997385070134e2 * t2255 * t2258 + t2116 + t2264 + t2271 - t2281 - t2289 - 0.24415263074675393405e-3 * t123 * t2113 * t186 - 0.10843581300301739842e-1 * t262 * t2293 * t721 - 0.11696447245269292414e1 * t2299 * t2301 + 0.5848223622634646207e0 * t714 * t2311 + 0.17315859105681463759e2 * t2316 * t2319; + const double t2323 = t162 * t2322; + const double t2324 = t158 * t2323; + const double t2325 = t692 * t725; + const double t2326 = 0.2e1 * t2325; + const double t2327 = t725 * t581; + const double t2328 = t681 * t2327; + const double t2329 = 0.8e1 * t2328; + const double t2330 = t2315 * t2300; + const double t2331 = t2330 * t2318; + const double t2333 = 0.17315859105681463759e2 * t735 * t2331; + const double t2334 = t727 * t177; + const double t2335 = t2334 * t737; + const double t2336 = 0.11696447245269292414e1 * t2335; + const double t2338 = t713 * t2310 * t720; + const double t2340 = 0.5848223622634646207e0 * t735 * t2338; + const double t2341 = t727 * t72; + const double t2342 = t2341 * t732; + const double t2343 = 0.36622894612013090108e-3 * t2342; + const double t2345 = t2298 * t2300 * t720; + const double t2347 = 0.11696447245269292414e1 * t735 * t2345; + const double t2348 = t2206 + t2210 + t2213 + t2324 + t2281 + t2289 + t2133 + t2326 + t2136 + t2139 + t2329 - t2271 - t2333 - t2336 - t2340 + t2112 - t2116 - t2343 + t2347 - t2264; + const double t2349 = t2348 * t219; + const double t2353 = t73 * t799; + const double t2354 = t2353 * t2168; + const double t2357 = t778 * t2153; + const double t2360 = -0.12e2 * t222 * t2354 + 0.3e1 * t222 * t2357 - t224 * t2349 + 0.6e1 * t776 * t779; + const double t2361 = t2360 * t226; + const double t2363 = t773 * t774 * t2361; + const double t2366 = t2182 * t226; + const double t2368 = t773 * t774 * t2366; + const double t2372 = 0.1e1 / t66 / t26; + const double t2373 = t2372 * t235; + const double t2375 = t2373 * t238 * t242; + const double t2377 = 0.119e3 / 0.13824e5 * t232 * t2375; + const double t2379 = t339 * t795 * t789; + const double t2380 = t2379 * t803; + const double t2383 = 0.1e1 / t237 / t206; + const double t2384 = t235 * t2383; + const double t2385 = t2384 * t72; + const double t2387 = t2385 * t774 * t2168; + const double t2391 = t801 * t774 * t2153; + const double t2394 = t2162 + 0.7e1 / 0.72e2 * t2164 + t2167 * t2170 / 0.16e2 - t761 * t2174 / 0.48e2 + t2181 * t2186 / 0.1536e4 + 0.7e1 / 0.2304e4 * t2191 + t2194 * t2200 / 0.384e3 - t771 * t2363 / 0.3072e4 - t771 * t2368 / 0.3072e4 + t2377 + 0.7e1 / 0.576e3 * t2380 + 0.5e1 / 0.768e3 * t797 * t2387 - t797 * t2391 / 0.768e3; + const double t2395 = beta * t2394; + const double t2397 = t807 * t219; + const double t2401 = 0.1e1 / t810 / t251; + const double t2402 = t73 * t2401; + const double t2403 = t818 * t818; + const double t2404 = t2402 * t2403; + const double t2407 = t2178 * t246; + const double t2411 = t768 * t806; + const double t2421 = 0.2e1 * t2184 * t2407 * t339 + t220 * t229 * t2394 - t2361 * t339 * t813 - t2366 * t339 * t813 - 0.2e1 * t2411 * t339 * t783; + const double t2422 = t812 * t2421; + const double t2424 = t2395 * t253 - 0.2e1 * t2397 * t819 + 0.2e1 * t2404 * t809 - t2422 * t809; + const double t2428 = t205 * t256; + const double t2432 = t198 * t207 * t2424 * t823 + 0.3e1 * t198 * t2153 * t740 + 0.6e1 * t198 * t2168 * t2428 + t2112 - t2116 + t2133 + t2136 + t2139 + t2213 - t2264 + t2324 - t2343; + const double t2433 = t198 * t206; + const double t2434 = t821 * t823; + const double t2438 = t821 * t821; + const double t2440 = t255 * t255; + const double t2441 = 0.1e1 / t2440; + const double t2444 = -t198 * t207 * t2438 * t2441 + 0.6e1 * t2433 * t2434 * t750 + t2206 + t2210 - t2271 + t2281 + t2289 + t2326 + t2329 - t2333 - t2336 - t2340 + t2347; + const double t2445 = t2432 + t2444; + const double t2453 = t262 * t1693 * t265; + const double t2454 = 0.23744444444444444444e-1 * t2453; + const double t2455 = t664 * t838; + const double t2457 = t159 * t969; + const double t2458 = t606 * t606; + const double t2459 = 0.1e1 / t2458; + const double t2460 = t2459 * t1985; + const double t2461 = t2457 * t2460; + const double t2462 = t128 * t2461; + const double t2464 = 0.1e1 / t2031; + const double t2465 = t2464 * t1985; + const double t2466 = t835 * t2465; + const double t2467 = t128 * t2466; + const double t2469 = t836 * t1992; + const double t2470 = t835 * t2469; + const double t2471 = t128 * t2470; + const double t2473 = t2454 + 0.11872222222222222222e-1 * t2455 - 0.11872222222222222222e-1 * t2462 + 0.35616666666666666666e-1 * t2467 - 0.17808333333333333333e-1 * t2471; + const double t2475 = 0.621814e-1 * t2473 * t285; + const double t2476 = t841 * t845; + const double t2478 = 0.2e1 * t2476 * t867; + const double t2479 = t844 * t281; + const double t2480 = 0.1e1 / t2479; + const double t2481 = t269 * t2480; + const double t2482 = t865 * t865; + const double t2483 = t2482 * t866; + const double t2485 = 0.2e1 * t2481 * t2483; + const double t2487 = 0.1e1 / t270 / t267; + const double t2488 = t849 * t849; + const double t2489 = t2487 * t2488; + const double t2491 = 0.4e1 / 0.9e1 * t2453; + const double t2496 = t2491 + 0.2e1 / 0.9e1 * t2455 - 0.2e1 / 0.9e1 * t2462 + 0.2e1 / 0.3e1 * t2467 - t2471 / 0.3e1; + const double t2497 = t847 * t2496; + const double t2499 = 0.39862222222222222223e0 * t2453; + const double t2504 = 0.1e1/safe_math::sqrt( t267 ); + const double t2505 = t2504 * t2488; + const double t2507 = t854 * t2496; + const double t2509 = t68 * t235; + const double t2511 = t275 * t2509 * t277; + const double t2512 = 0.13692777777777777778e0 * t2511; + const double t2513 = t673 * t862; + const double t2515 = t235 * t928; + const double t2516 = t2515 * t2460; + const double t2517 = t141 * t2516; + const double t2519 = t861 * t2465; + const double t2520 = t141 * t2519; + const double t2522 = t861 * t2469; + const double t2523 = t141 * t2522; + const double t2525 = -0.9494625e0 * t2489 + 0.1898925e1 * t2497 + t2499 + 0.19931111111111111111e0 * t2455 - 0.19931111111111111111e0 * t2462 + 0.59793333333333333334e0 * t2467 - 0.29896666666666666667e0 * t2471 + 0.15358125e0 * t2505 + 0.3071625e0 * t2507 + t2512 + 0.10954222222222222222e0 * t2513 - 0.27385555555555555556e-1 * t2517 + 0.16431333333333333333e0 * t2520 - 0.82156666666666666667e-1 * t2523; + const double t2526 = t2525 * t866; + const double t2528 = 0.1e1 * t846 * t2526; + const double t2529 = t844 * t844; + const double t2530 = 0.1e1 / t2529; + const double t2531 = t269 * t2530; + const double t2532 = t284 * t284; + const double t2533 = 0.1e1 / t2532; + const double t2534 = t2482 * t2533; + const double t2536 = 0.16081979498692535067e2 * t2531 * t2534; + const double t2537 = 0.22831111111111111111e-1 * t2453; + const double t2542 = t2537 + 0.11415555555555555555e-1 * t2455 - 0.11415555555555555555e-1 * t2462 + 0.34246666666666666666e-1 * t2467 - 0.17123333333333333333e-1 * t2471; + const double t2545 = t872 * t876; + const double t2548 = t875 * t301; + const double t2549 = 0.1e1 / t2548; + const double t2550 = t296 * t2549; + const double t2551 = t884 * t884; + const double t2552 = t2551 * t885; + const double t2557 = 0.68863333333333333333e0 * t2453; + const double t2564 = 0.17365833333333333333e0 * t2511; + const double t2569 = -0.17648625e1 * t2489 + 0.3529725e1 * t2497 + t2557 + 0.34431666666666666666e0 * t2455 - 0.34431666666666666667e0 * t2462 + 0.103295e1 * t2467 - 0.516475e0 * t2471 + 0.31558125e0 * t2505 + 0.6311625e0 * t2507 + t2564 + 0.13892666666666666667e0 * t2513 - 0.34731666666666666667e-1 * t2517 + 0.20839e0 * t2520 - 0.104195e0 * t2523; + const double t2570 = t2569 * t885; + const double t2573 = t875 * t875; + const double t2574 = 0.1e1 / t2573; + const double t2575 = t296 * t2574; + const double t2576 = t304 * t304; + const double t2577 = 0.1e1 / t2576; + const double t2578 = t2551 * t2577; + const double t2581 = 0.12361111111111111111e-1 * t2453; + const double t2586 = t2581 + 0.61805555555555555556e-2 * t2455 - 0.61805555555555555555e-2 * t2462 + 0.18541666666666666667e-1 * t2467 - 0.92708333333333333333e-2 * t2471; + const double t2587 = t2586 * t318; + const double t2589 = t891 * t895; + const double t2592 = t894 * t314; + const double t2593 = 0.1e1 / t2592; + const double t2594 = t309 * t2593; + const double t2595 = t903 * t903; + const double t2596 = t2595 * t904; + const double t2601 = 0.40256666666666666667e0 * t2453; + const double t2608 = 0.137975e0 * t2511; + const double t2613 = -0.1294625e1 * t2489 + 0.258925e1 * t2497 + t2601 + 0.20128333333333333334e0 * t2455 - 0.20128333333333333333e0 * t2462 + 0.60385e0 * t2467 - 0.301925e0 * t2471 + 0.82524375e-1 * t2505 + 0.16504875e0 * t2507 + t2608 + 0.11038e0 * t2513 - 0.27595e-1 * t2517 + 0.16557e0 * t2520 - 0.82785e-1 * t2523; + const double t2614 = t2613 * t904; + const double t2617 = t894 * t894; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t309 * t2618; + const double t2620 = t317 * t317; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2595 * t2621; + const double t2625 = -0.310907e-1 * t2542 * t305 + 0.2e1 * t2545 * t886 - 0.2e1 * t2550 * t2552 + 0.1e1 * t877 * t2570 + 0.32163958997385070134e2 * t2575 * t2578 + t2475 - t2478 + t2485 - t2528 - t2536 - 0.19751673498613801407e-1 * t2587 + 0.11696447245269292414e1 * t2589 * t905 - 0.11696447245269292414e1 * t2594 * t2596 + 0.5848223622634646207e0 * t896 * t2614 + 0.17315859105681463759e2 * t2619 * t2622; + const double t2626 = t294 * t2625; + const double t2628 = 0.19751673498613801407e-1 * t294 * t2587; + const double t2629 = t294 * t891; + const double t2631 = 0.11696447245269292414e1 * t2629 * t914; + const double t2633 = t2593 * t2595 * t904; + const double t2635 = 0.11696447245269292414e1 * t912 * t2633; + const double t2637 = t895 * t2613 * t904; + const double t2639 = 0.5848223622634646207e0 * t912 * t2637; + const double t2640 = t2618 * t2595; + const double t2641 = t2640 * t2621; + const double t2643 = 0.17315859105681463759e2 * t912 * t2641; + const double t2644 = t928 * t2464; + const double t2645 = t2644 * t1985; + const double t2646 = t926 * t2645; + const double t2649 = t958 * t962; + const double t2652 = t359 * t651 * t361; + const double t2654 = t355 * t2652 / 0.13824e5; + const double t2657 = 0.1e1 / t40 / t350 / t586; + const double t2659 = t339 * t349 * t2657; + const double t2662 = t970 * t2465; + const double t2663 = t242 * t2662; + const double t2666 = t956 * t943; + const double t2668 = t938 * t941 * t2666; + const double t2671 = t126 * t361; + const double t2672 = t2671 * t949; + const double t2673 = t242 * t2672; + const double t2674 = t946 * t2673; + const double t2676 = t589 * t924; + const double t2679 = t917 * t921; + const double t2682 = t215 * t671 * t334; + const double t2684 = t333 * t2682 / 0.432e3; + const double t2685 = t2004 * t332; + const double t2688 = -t925 * t2646 / 0.144e3 - t2649 / 0.432e3 - t2654 + 0.19e2 / 0.1728e4 * t2659 * t363 - t967 * t2663 / 0.2304e4 - t2668 * t951 / 0.288e3 + t2674 / 0.2304e4 - t2676 * t931 / 0.54e2 - t2679 / 0.54e2 - t2684 + 0.11e2 / 0.108e3 * t2685 * t336; + const double t2689 = t140 * t930; + const double t2690 = t925 * t2689; + const double t2692 = t929 * t1992; + const double t2693 = t926 * t2692; + const double t2697 = 0.1e1 / t265 / t836; + const double t2698 = t2697 * t2459; + const double t2699 = t2698 * t1985; + const double t2700 = t926 * t2699; + const double t2703 = t348 * t353; + const double t2704 = t943 * t72; + const double t2706 = t983 * t2703 * t2704; + const double t2707 = t774 * t970; + const double t2708 = t949 * t837; + const double t2709 = t2707 * t2708; + const double t2712 = -t2475 + t2478 - t2485 + t2528 + t2536 + t2626 + t2628 - t2631 + t2635 - t2639 - t2643; + const double t2713 = t2712 * t345; + const double t2714 = t947 * t2713; + const double t2715 = t242 * t2714; + const double t2719 = 0.1e1 / t934 / t196; + const double t2720 = beta * t2719; + const double t2722 = t2720 * t2721; + const double t2724 = 0.1e1 / t939 / t346; + const double t2725 = t2724 * t348; + const double t2726 = t356 * t356; + const double t2728 = 0.1e1 / t2726 / t329; + const double t2729 = t353 * t2728; + const double t2731 = t2722 * t2725 * t2729; + const double t2732 = t948 * t948; + const double t2733 = t345 * t345; + const double t2734 = t2732 * t2733; + const double t2735 = t947 * t2734; + const double t2736 = t242 * t2735; + const double t2740 = t2722 * t941 * t2729; + const double t2741 = t2732 * t345; + const double t2742 = t947 * t2741; + const double t2743 = t242 * t2742; + const double t2746 = t956 * t357; + const double t2748 = t339 * t349 * t2746; + const double t2751 = t126 * t969; + const double t2752 = t2751 * t837; + const double t2753 = t242 * t2752; + const double t2754 = t967 * t2753; + const double t2756 = t970 * t2469; + const double t2757 = t242 * t2756; + const double t2761 = 0.1e1 / t277 / t836; + const double t2762 = t66 * t2761; + const double t2763 = t2762 * t2460; + const double t2764 = t242 * t2763; + const double t2767 = t2690 / 0.432e3 + t925 * t2693 / 0.288e3 + t925 * t2700 / 0.216e3 + t2706 * t2709 / 0.2304e4 + t946 * t2715 / 0.3072e4 + t2731 * t2736 / 0.1536e4 - t2740 * t2743 / 0.3072e4 - t2748 * t972 / 0.432e3 + t2754 / 0.3456e4 + t967 * t2757 / 0.4608e4 + 0.5e1 / 0.13824e5 * t967 * t2764; + const double t2768 = t2688 + t2767; + const double t2769 = beta * t2768; + const double t2771 = t976 * t219; + const double t2775 = 0.1e1 / t979 / t371; + const double t2776 = t73 * t2775; + const double t2777 = t990 * t990; + const double t2778 = t2776 * t2777; + const double t2782 = t2720 * t2721 * t2724; + const double t2783 = t366 * t2732; + const double t2785 = 0.1e1 / t356 / t329; + const double t2786 = t2785 * t2733; + const double t2790 = t975 * t948; + const double t2794 = t366 * t2712; + const double t2797 = t2721 * t940; + const double t2798 = t2720 * t2797; + const double t2799 = t2785 * t345; + const double t2804 = t220 * t2768 * t368 + 0.2e1 * t2782 * t2783 * t2786 - t2783 * t2798 * t2799 + 0.2e1 * t2790 * t983 * t985 + t2794 * t983 * t985; + const double t2805 = t981 * t2804; + const double t2807 = t2769 * t373 - 0.2e1 * t2771 * t991 + 0.2e1 * t2778 * t978 - t2805 * t978; + const double t2811 = t993 * t993; + const double t2813 = t375 * t375; + const double t2814 = 0.1e1 / t2813; + const double t2817 = t198 * t2807 * t330 * t995 - t198 * t2811 * t2814 * t330 - t2475 + t2478 - t2485 + t2528 + t2536 + t2626 + t2628 - t2631 + t2635 - t2639 - t2643; + const double t2818 = piecewise_functor_3( t380, t2817, t2445 ); + const double t2825 = piecewise_functor_3( t120, t2445 * t30 / 0.2e1 + t826 * t580 + t259 * t1991 / 0.2e1, t2818 * t45 / 0.2e1 + t999 * t581 + t381 * t1992 / 0.2e1 ); + const double t2829 = -t1991; + const double t2834 = t262 * t1693 * t390; + const double t2835 = 0.23744444444444444444e-1 * t2834; + const double t2836 = t664 * t1016; + const double t2838 = t159 * t1127; + const double t2839 = t610 * t610; + const double t2840 = 0.1e1 / t2839; + const double t2841 = t2840 * t1985; + const double t2842 = t2838 * t2841; + const double t2843 = t128 * t2842; + const double t2845 = 0.1e1 / t2038; + const double t2846 = t2845 * t1985; + const double t2847 = t1013 * t2846; + const double t2848 = t128 * t2847; + const double t2850 = t1014 * t1992; + const double t2851 = t1013 * t2850; + const double t2852 = t128 * t2851; + const double t2854 = t2835 - 0.11872222222222222222e-1 * t2836 - 0.11872222222222222222e-1 * t2843 + 0.35616666666666666666e-1 * t2848 + 0.17808333333333333333e-1 * t2852; + const double t2856 = 0.621814e-1 * t2854 * t408; + const double t2857 = t1019 * t1023; + const double t2859 = 0.2e1 * t2857 * t1044; + const double t2860 = t1022 * t404; + const double t2861 = 0.1e1 / t2860; + const double t2862 = t394 * t2861; + const double t2863 = t1042 * t1042; + const double t2864 = t2863 * t1043; + const double t2866 = 0.2e1 * t2862 * t2864; + const double t2868 = 0.1e1 / t395 / t392; + const double t2869 = t1027 * t1027; + const double t2870 = t2868 * t2869; + const double t2872 = 0.4e1 / 0.9e1 * t2834; + const double t2877 = t2872 - 0.2e1 / 0.9e1 * t2836 - 0.2e1 / 0.9e1 * t2843 + 0.2e1 / 0.3e1 * t2848 + t2852 / 0.3e1; + const double t2878 = t1025 * t2877; + const double t2880 = 0.39862222222222222223e0 * t2834; + const double t2885 = 0.1e1/safe_math::sqrt( t392 ); + const double t2886 = t2885 * t2869; + const double t2888 = t1032 * t2877; + const double t2891 = t275 * t2509 * t400; + const double t2892 = 0.13692777777777777778e0 * t2891; + const double t2893 = t673 * t1039; + const double t2895 = t235 * t1100; + const double t2896 = t2895 * t2841; + const double t2897 = t141 * t2896; + const double t2899 = t1038 * t2846; + const double t2900 = t141 * t2899; + const double t2902 = t1038 * t2850; + const double t2903 = t141 * t2902; + const double t2905 = -0.9494625e0 * t2870 + 0.1898925e1 * t2878 + t2880 - 0.19931111111111111111e0 * t2836 - 0.19931111111111111111e0 * t2843 + 0.59793333333333333334e0 * t2848 + 0.29896666666666666667e0 * t2852 + 0.15358125e0 * t2886 + 0.3071625e0 * t2888 + t2892 - 0.10954222222222222222e0 * t2893 - 0.27385555555555555556e-1 * t2897 + 0.16431333333333333333e0 * t2900 + 0.82156666666666666667e-1 * t2903; + const double t2906 = t2905 * t1043; + const double t2908 = 0.1e1 * t1024 * t2906; + const double t2909 = t1022 * t1022; + const double t2910 = 0.1e1 / t2909; + const double t2911 = t394 * t2910; + const double t2912 = t407 * t407; + const double t2913 = 0.1e1 / t2912; + const double t2914 = t2863 * t2913; + const double t2916 = 0.16081979498692535067e2 * t2911 * t2914; + const double t2917 = 0.22831111111111111111e-1 * t2834; + const double t2922 = t2917 - 0.11415555555555555555e-1 * t2836 - 0.11415555555555555555e-1 * t2843 + 0.34246666666666666666e-1 * t2848 + 0.17123333333333333333e-1 * t2852; + const double t2925 = t1049 * t1053; + const double t2928 = t1052 * t417; + const double t2929 = 0.1e1 / t2928; + const double t2930 = t412 * t2929; + const double t2931 = t1061 * t1061; + const double t2932 = t2931 * t1062; + const double t2937 = 0.68863333333333333333e0 * t2834; + const double t2944 = 0.17365833333333333333e0 * t2891; + const double t2949 = -0.17648625e1 * t2870 + 0.3529725e1 * t2878 + t2937 - 0.34431666666666666666e0 * t2836 - 0.34431666666666666667e0 * t2843 + 0.103295e1 * t2848 + 0.516475e0 * t2852 + 0.31558125e0 * t2886 + 0.6311625e0 * t2888 + t2944 - 0.13892666666666666667e0 * t2893 - 0.34731666666666666667e-1 * t2897 + 0.20839e0 * t2900 + 0.104195e0 * t2903; + const double t2950 = t2949 * t1062; + const double t2953 = t1052 * t1052; + const double t2954 = 0.1e1 / t2953; + const double t2955 = t412 * t2954; + const double t2956 = t420 * t420; + const double t2957 = 0.1e1 / t2956; + const double t2958 = t2931 * t2957; + const double t2961 = 0.12361111111111111111e-1 * t2834; + const double t2966 = t2961 - 0.61805555555555555556e-2 * t2836 - 0.61805555555555555555e-2 * t2843 + 0.18541666666666666667e-1 * t2848 + 0.92708333333333333333e-2 * t2852; + const double t2967 = t2966 * t434; + const double t2969 = t1068 * t1072; + const double t2972 = t1071 * t430; + const double t2973 = 0.1e1 / t2972; + const double t2974 = t425 * t2973; + const double t2975 = t1080 * t1080; + const double t2976 = t2975 * t1081; + const double t2981 = 0.40256666666666666667e0 * t2834; + const double t2988 = 0.137975e0 * t2891; + const double t2993 = -0.1294625e1 * t2870 + 0.258925e1 * t2878 + t2981 - 0.20128333333333333334e0 * t2836 - 0.20128333333333333333e0 * t2843 + 0.60385e0 * t2848 + 0.301925e0 * t2852 + 0.82524375e-1 * t2886 + 0.16504875e0 * t2888 + t2988 - 0.11038e0 * t2893 - 0.27595e-1 * t2897 + 0.16557e0 * t2900 + 0.82785e-1 * t2903; + const double t2994 = t2993 * t1081; + const double t2997 = t1071 * t1071; + const double t2998 = 0.1e1 / t2997; + const double t2999 = t425 * t2998; + const double t3000 = t433 * t433; + const double t3001 = 0.1e1 / t3000; + const double t3002 = t2975 * t3001; + const double t3005 = -0.310907e-1 * t2922 * t421 + 0.2e1 * t2925 * t1063 - 0.2e1 * t2930 * t2932 + 0.1e1 * t1054 * t2950 + 0.32163958997385070134e2 * t2955 * t2958 + t2856 - t2859 + t2866 - t2908 - t2916 - 0.19751673498613801407e-1 * t2967 + 0.11696447245269292414e1 * t2969 * t1082 - 0.11696447245269292414e1 * t2974 * t2976 + 0.5848223622634646207e0 * t1073 * t2994 + 0.17315859105681463759e2 * t2999 * t3002; + const double t3006 = t294 * t3005; + const double t3008 = 0.19751673498613801407e-1 * t294 * t2967; + const double t3009 = t294 * t1068; + const double t3011 = 0.11696447245269292414e1 * t3009 * t1091; + const double t3013 = t2973 * t2975 * t1081; + const double t3015 = 0.11696447245269292414e1 * t1089 * t3013; + const double t3017 = t1072 * t2993 * t1081; + const double t3019 = 0.5848223622634646207e0 * t1089 * t3017; + const double t3020 = t2998 * t2975; + const double t3021 = t3020 * t3001; + const double t3023 = 0.17315859105681463759e2 * t1089 * t3021; + const double t3025 = t215 * t671 * t442; + const double t3027 = t441 * t3025 / 0.432e3; + const double t3028 = t140 * t1102; + const double t3029 = t1098 * t3028; + const double t3032 = 0.1e1 / t390 / t1014; + const double t3033 = t3032 * t2840; + const double t3034 = t3033 * t1985; + const double t3035 = t926 * t3034; + const double t3038 = t1100 * t2845; + const double t3039 = t3038 * t1985; + const double t3040 = t926 * t3039; + const double t3043 = t1101 * t1992; + const double t3044 = t926 * t3043; + const double t3048 = 0.1e1 / t1106 / t451; + const double t3049 = t3048 * t453; + const double t3050 = t458 * t2728; + const double t3052 = t2722 * t3049 * t3050; + const double t3053 = t1113 * t1113; + const double t3054 = t450 * t450; + const double t3055 = t3053 * t3054; + const double t3056 = t1112 * t3055; + const double t3057 = t242 * t3056; + const double t3060 = t126 * t461; + const double t3061 = t3060 * t1114; + const double t3062 = t242 * t3061; + const double t3063 = t1111 * t3062; + const double t3065 = t453 * t458; + const double t3067 = t1141 * t3065 * t2704; + const double t3068 = t774 * t1128; + const double t3069 = t1114 * t1015; + const double t3070 = t3068 * t3069; + const double t3073 = -t2856 + t2859 - t2866 + t2908 + t2916 + t3006 + t3008 - t3011 + t3015 - t3019 - t3023; + const double t3074 = t3073 * t450; + const double t3075 = t1112 * t3074; + const double t3076 = t242 * t3075; + const double t3080 = t2722 * t1108 * t3050; + const double t3081 = t3053 * t450; + const double t3082 = t1112 * t3081; + const double t3083 = t242 * t3082; + const double t3087 = t359 * t651 * t461; + const double t3089 = t460 * t3087 / 0.13824e5; + const double t3090 = t126 * t1127; + const double t3091 = t3090 * t1015; + const double t3092 = t242 * t3091; + const double t3093 = t1125 * t3092; + const double t3096 = 0.1e1 / t400 / t1014; + const double t3097 = t66 * t3096; + const double t3098 = t3097 * t2841; + const double t3099 = t242 * t3098; + const double t3102 = t1128 * t2846; + const double t3103 = t242 * t3102; + const double t3106 = t1128 * t2850; + const double t3107 = t242 * t3106; + const double t3110 = -t3027 - t3029 / 0.432e3 + t1098 * t3035 / 0.216e3 - t1098 * t3040 / 0.144e3 - t1098 * t3044 / 0.288e3 + t3052 * t3057 / 0.1536e4 + t3063 / 0.2304e4 - t3067 * t3070 / 0.2304e4 + t1111 * t3076 / 0.3072e4 - t3080 * t3083 / 0.3072e4 - t3089 - t3093 / 0.3456e4 + 0.5e1 / 0.13824e5 * t1125 * t3099 - t1125 * t3103 / 0.2304e4 - t1125 * t3107 / 0.4608e4; + const double t3111 = beta * t3110; + const double t3113 = t1134 * t219; + const double t3117 = 0.1e1 / t1137 / t471; + const double t3118 = t73 * t3117; + const double t3119 = t1148 * t1148; + const double t3120 = t3118 * t3119; + const double t3124 = t2720 * t2721 * t3048; + const double t3125 = t466 * t3053; + const double t3126 = t2785 * t3054; + const double t3130 = t1133 * t1113; + const double t3134 = t466 * t3073; + const double t3137 = t2721 * t1107; + const double t3138 = t2720 * t3137; + const double t3139 = t2785 * t450; + const double t3144 = 0.2e1 * t1141 * t1143 * t3130 + t1141 * t1143 * t3134 + t220 * t3110 * t468 + 0.2e1 * t3124 * t3125 * t3126 - t3125 * t3138 * t3139; + const double t3145 = t1139 * t3144; + const double t3147 = 0.2e1 * t1136 * t3120 - t1136 * t3145 - 0.2e1 * t1149 * t3113 + t3111 * t473; + const double t3151 = t1151 * t1151; + const double t3153 = t475 * t475; + const double t3154 = 0.1e1 / t3153; + const double t3157 = t1153 * t198 * t3147 * t330 - t198 * t3151 * t3154 * t330 - t2856 + t2859 - t2866 + t2908 + t2916 + t3006 + t3008 - t3011 + t3015 - t3019 - t3023; + const double t3158 = piecewise_functor_3( t480, t3157, t2445 ); + const double t3165 = piecewise_functor_3( t386, t2445 * t33 / 0.2e1 + t826 * t1006 + t259 * t2829 / 0.2e1, t3158 * t57 / 0.2e1 - t1157 * t581 - t481 * t1992 / 0.2e1 ); + const double t3166 = t2825 + t3165; + const double t3174 = 0.2e1 * t1165 * t2105 + 0.4e1 * t2056 * t645 + 0.2e1 * t2061 * t93 + t2054; + const double t3179 = 0.8e1 * t1173 * t1186; + const double t3180 = t1170 * t1184; + const double t3181 = 0.8e1 * t3180; + const double t3182 = t1268 * t1268; + const double t3184 = t540 * t540; + const double t3185 = 0.1e1 / t3184; + const double t3188 = 0.1e1 / t491; + const double t3189 = t580 * t580; + const double t3195 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3188 * t3189 + 0.2e1 / 0.3e1 * t1197 * t1991 ); + const double t3196 = 0.1e1 / t494; + const double t3197 = t1006 * t1006; + const double t3203 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3196 * t3197 + 0.2e1 / 0.3e1 * t1201 * t2829 ); + const double t3205 = t3195 / 0.2e1 + t3203 / 0.2e1; + const double t3210 = 0.35e2 / 0.432e3 * t2160 * t512; + const double t3211 = t756 * t1212; + const double t3212 = t3211 * t1215; + const double t3214 = t159 * t527; + const double t3215 = t210 * t3214; + const double t3216 = t1206 * t1206; + const double t3217 = t124 * t3216; + const double t3218 = t762 * t3217; + const double t3222 = t762 * t124 * t3205; + const double t3226 = 0.1e1 / t1218 / t521; + const double t3227 = t3226 * t230; + const double t3229 = t339 * t3227 * t234; + const double t3230 = t1232 * t1232; + const double t3231 = t520 * t520; + const double t3232 = t3230 * t3231; + const double t3234 = t1224 * t774 * t3232; + const double t3238 = t339 * t1220 * t789; + const double t3239 = t3238 * t1235; + const double t3242 = t339 * t1220 * t236; + const double t3243 = t1246 * t72; + const double t3244 = t3243 * t240; + const double t3245 = t125 * t1232; + const double t3246 = t520 * t1206; + const double t3247 = t3245 * t3246; + const double t3248 = t3244 * t3247; + const double t3252 = 0.24415263074675393405e-3 * t1190 * t2204; + const double t3253 = t1183 * t72; + const double t3254 = t3253 * t732; + const double t3255 = 0.36622894612013090108e-3 * t3254; + const double t3257 = 0.11696447245269292414e1 * t1193 * t2345; + const double t3258 = 0.1e1 / t502; + const double t3264 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3258 * t3189 + 0.4e1 / 0.3e1 * t490 * t1991 ); + const double t3265 = 0.1e1 / t504; + const double t3271 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3265 * t3197 + 0.4e1 / 0.3e1 * t493 * t2829 ); + const double t3273 = ( t3264 + t3271 ) * t162; + const double t3275 = 0.19751673498613801407e-1 * t3273 * t187; + const double t3277 = 0.17315859105681463759e2 * t1193 * t2331; + const double t3278 = t1183 * t177; + const double t3279 = t3278 * t737; + const double t3280 = 0.11696447245269292414e1 * t3279; + const double t3282 = 0.5848223622634646207e0 * t1193 * t2338; + const double t3283 = t497 * t2322; + const double t3284 = t489 * t3283; + const double t3285 = t1183 * t724; + const double t3286 = t489 * t3285; + const double t3287 = 0.2e1 * t3286; + const double t3288 = t3273 * t189; + const double t3289 = t489 * t3288; + const double t3290 = t1173 * t1184; + const double t3291 = 0.8e1 * t3290; + const double t3292 = t3252 - t3255 + t3257 + t3275 - t3277 - t3280 - t3282 + t3284 + t3287 + t3289 - t3291; + const double t3294 = 0.8e1 * t1170 * t1186; + const double t3295 = t19 * t27; + const double t3297 = 0.2e2 * t3295 * t498; + const double t3298 = t14 * t22; + const double t3300 = 0.12e2 * t3298 * t498; + const double t3301 = t558 * t563; + const double t3303 = 0.32e2 * t3301 * t498; + const double t3304 = t497 * t123; + const double t3306 = 0.10843581300301739842e-1 * t3304 * t2208; + const double t3307 = -t3179 + t3181 + t3294 + t3297 + t3300 - t3303 + t2281 + t2289 - t2271 - t2116 - t2264 + t3306; + const double t3309 = ( t3292 + t3307 ) * t219; + const double t3313 = t73 * t1246; + const double t3314 = t3313 * t3216; + const double t3317 = t1228 * t3205; + const double t3320 = 0.6e1 * t1226 * t1229 - t3309 * t518 - 0.12e2 * t3314 * t516 + 0.3e1 * t3317 * t516; + const double t3321 = t3320 * t520; + const double t3323 = t1224 * t774 * t3321; + const double t3326 = t3230 * t520; + const double t3328 = t1224 * t774 * t3326; + const double t3332 = t2373 * t527 * t242; + const double t3334 = 0.119e3 / 0.13824e5 * t525 * t3332; + const double t3336 = t339 * t1242 * t789; + const double t3337 = t3336 * t1250; + const double t3340 = 0.1e1 / t526 / t508; + const double t3341 = t235 * t3340; + const double t3342 = t3341 * t72; + const double t3344 = t3342 * t774 * t3216; + const double t3348 = t1248 * t774 * t3205; + const double t3351 = t3210 + 0.7e1 / 0.72e2 * t3212 + t3215 * t3218 / 0.16e2 - t1213 * t3222 / 0.48e2 + t3229 * t3234 / 0.1536e4 + 0.7e1 / 0.2304e4 * t3239 + t3242 * t3248 / 0.384e3 - t1222 * t3323 / 0.3072e4 - t1222 * t3328 / 0.3072e4 + t3334 + 0.7e1 / 0.576e3 * t3337 + 0.5e1 / 0.768e3 * t1244 * t3344 - t1244 * t3348 / 0.768e3; + const double t3352 = beta * t3351; + const double t3354 = t1254 * t219; + const double t3358 = 0.1e1 / t1257 / t536; + const double t3359 = t73 * t3358; + const double t3360 = t1265 * t1265; + const double t3361 = t3359 * t3360; + const double t3364 = t3226 * t532; + const double t3368 = t1219 * t1253; + const double t3378 = -0.2e1 * t1233 * t3368 * t339 - t1260 * t3321 * t339 - t1260 * t3326 * t339 + t220 * t3351 * t523 + 0.2e1 * t3232 * t3364 * t339; + const double t3379 = t1259 * t3378; + const double t3381 = 0.2e1 * t1256 * t3361 - t1256 * t3379 - 0.2e1 * t1266 * t3354 + t3352 * t538; + const double t3385 = t1270 * t198 * t3381 * t509 - t198 * t3182 * t3185 * t509 + 0.3e1 * t1196 * t198 * t3205 - t2116 - t2264 + t2289 - t3179 + t3181 + t3287 + t3289 - t3291 + t3294 + t3297 + t3300; + const double t3386 = t507 * t541; + const double t3390 = t198 * t508; + const double t3391 = t1268 * t1270; + const double t3395 = 0.6e1 * t1206 * t3390 * t3391 + 0.6e1 * t198 * t3216 * t3386 - t2271 + t2281 + t3252 - t3255 + t3257 + t3275 - t3277 - t3280 - t3282 + t3284 - t3303 + t3306; + const double t3396 = t3385 + t3395; + const double t3398 = -0.2e1 * t1163 * t624 + 0.2e1 * t1168 * t1273 - t118 * t3166 - t2054 * t485 - 0.4e1 * t2056 * t646 - 0.2e1 * t2062 * t485 - 0.4e1 * t2065 * t626 - 0.2e1 * t2106 * t626 + t3174 * t544 + t3396 * t488; + const double t3399 = t3 * t3398; + const double t3403 = d * t3398; + const double t3407 = t116 * t2061; + const double t3410 = t117 * t2105; + const double t3413 = 0.6e1 * t1279 * t1281 + t3403 * t548 + 0.6e1 * t3407 * t547 + 0.3e1 * t3410 * t547; + const double t3415 = t1665 * t550; + const double t3416 = -t1953 + t1957 - t1960 + t1964 - t1967 + t1973; + const double t3418 = t1286 * t577; + const double t3423 = t1317 * t619; + const double t3426 = t581 * t1289; + const double t3427 = t3426 * t70; + const double t3431 = piecewise_functor_5( t31, 0.0, t34, 0.0, 0.2e1 * t1989 ); + const double t3432 = t36 * t3431; + const double t3433 = t3432 * t70; + const double t3436 = t1290 * t602; + const double t3441 = t582 * t1306; + const double t3446 = t2009 * t1289; + const double t3447 = t3446 * t581; + const double t3450 = t48 * t3431; + const double t3455 = t2016 * t1289; + const double t3456 = t3455 * t581; + const double t3459 = t60 * t3431; + const double t3462 = -0.2e2 / 0.9e1 * t589 * t1294 + 0.5e1 / 0.18e2 * t44 * t3447 + 0.5e1 / 0.6e1 * t44 * t3450 + 0.2e2 / 0.9e1 * t1300 * t595 + 0.5e1 / 0.18e2 * t56 * t3456 - 0.5e1 / 0.6e1 * t56 * t3459 - t2024; + const double t3463 = t38 * t3462; + const double t3472 = t2033 * t1289; + const double t3475 = t608 * t3431; + const double t3477 = t2040 * t1289; + const double t3480 = t612 * t3431; + const double t3482 = 0.28e2 / 0.9e1 * t3472 * t581 - 0.4e1 / 0.3e1 * t3475 + 0.28e2 / 0.9e1 * t3477 * t581 + 0.4e1 / 0.3e1 * t3480; + const double t3483 = t77 * t3482; + const double t3486 = -t3427 * t85 / 0.12e2 - t3433 * t85 / 0.12e2 - t3436 * t85 / 0.12e2 - t1291 * t616 / 0.12e2 - t3441 * t85 / 0.12e2 + t3463 * t85 / 0.24e2 + t1307 * t616 / 0.24e2 - t583 * t1314 / 0.12e2 + t603 * t1314 / 0.24e2 + t71 * t3483 / 0.24e2; + const double t3490 = piecewise_functor_3( t8, 0.0, -0.4e1 * t1317 * t1976 + 0.2e2 * t1981 * t3423 + t3416 * t91 - 0.4e1 * t3418 * t619 - 0.4e1 * t3486 * t578 ); + const double t3491 = t3490 * t117; + const double t3493 = t1321 * t116; + const double t3499 = t94 * t645; + const double t3502 = t1163 * t1338; + const double t3506 = t600 * t1334; + const double t3508 = t2073 * t1333; + const double t3509 = t3508 * t640; + const double t3514 = t2083 * t1324; + const double t3515 = t3514 * t633; + const double t3518 = t100 * t2; + const double t3519 = t3518 * t555; + const double t3524 = t2091 * t1329; + const double t3525 = t3524 * t636; + const double t3528 = t108 * t2; + const double t3529 = t3528 * t555; + const double t3532 = -0.25e2 / 0.9e1 * t631 * t1325 + 0.1e2 / 0.9e1 * t97 * t3515 + 0.5e1 / 0.3e1 * t97 * t3519 - 0.25e2 / 0.9e1 * t1327 * t637 + 0.1e2 / 0.9e1 * t105 * t3525 - 0.5e1 / 0.3e1 * t105 * t3529; + const double t3533 = t630 * t3532; + const double t3537 = piecewise_functor_3( t115, 0.0, t2069 + t2070 / 0.3e1 + t3506 / 0.3e1 + t69 * t3509 / 0.4e1 - t69 * t3533 / 0.8e1 ); + const double t3538 = t485 * t3537; + const double t3542 = t1600 * t645; + const double t3545 = 0.18311447306006545054e-3 * t2342; + const double t3546 = 0.5848223622634646207e0 * t2335; + const double t3547 = 0.4e1 * t2328; + const double t3548 = t1354 * t177; + const double t3549 = t3548 * t737; + const double t3550 = 0.5848223622634646207e0 * t3549; + const double t3551 = t2109 * t162; + const double t3552 = t189 * t1289; + const double t3553 = t3552 * t581; + const double t3555 = 0.12e2 * t3551 * t3553; + const double t3556 = -t2116 - t2264 - t3545 + t2324 - t2333 + t2289 + t2325 - t3546 - t2340 + t2347 - t2271 + t2281 + t3547 - t3550 + t3555; + const double t3557 = t2117 * t1289; + const double t3563 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t3557 * t581 + 0.4e1 / 0.3e1 * t78 * t3431 ); + const double t3564 = t2124 * t1289; + const double t3570 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t3564 * t581 - 0.4e1 / 0.3e1 * t81 * t3431 ); + const double t3571 = t3563 + t3570; + const double t3572 = t3571 * t162; + const double t3574 = 0.19751673498613801407e-1 * t3572 * t187; + const double t3575 = t2434 * t1364; + const double t3578 = t198 * t205; + const double t3579 = t256 * t1364; + const double t3583 = t725 * t1289; + const double t3584 = t681 * t3583; + const double t3585 = 0.4e1 * t3584; + const double t3586 = t1398 * t823; + const double t3590 = t150 * t3571; + const double t3591 = t3590 * t190; + const double t3592 = t1352 * t725; + const double t3593 = t680 * t1351; + const double t3595 = 0.4e1 * t3593 * t682; + const double t3597 = 0.4e1 * t2137 * t1342; + const double t3598 = t190 * t3431; + const double t3600 = 0.4e1 * t681 * t3598; + const double t3601 = t1398 * t2441; + const double t3604 = t1354 * t72; + const double t3605 = t3604 * t732; + const double t3606 = 0.18311447306006545054e-3 * t3605; + const double t3607 = t80 * t1289; + const double t3613 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t3607 * t581 + 0.2e1 / 0.3e1 * t741 * t3431 ); + const double t3614 = t83 * t1289; + const double t3620 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t3614 * t581 - 0.2e1 / 0.3e1 * t745 * t3431 ); + const double t3622 = t3613 / 0.2e1 + t3620 / 0.2e1; + const double t3627 = t2163 * t1369; + const double t3630 = t762 * t1368 * t750; + const double t3633 = t124 * t3622; + const double t3634 = t762 * t3633; + const double t3638 = t339 * t2179 * t236; + const double t3639 = t238 * t72; + const double t3640 = t3639 * t240; + const double t3641 = t125 * t1378; + const double t3642 = t2183 * t782; + const double t3643 = t3641 * t3642; + const double t3644 = t3640 * t3643; + const double t3647 = t2190 * t1381; + const double t3649 = t3641 * t2198; + const double t3650 = t2196 * t3649; + const double t3653 = -t2116 - t2264 - t3545 + t2324 - t2333 + t2289 + t2325 - t3546 - t2340 + t2347 - t2271 + t2281; + const double t3654 = t3547 - t3550 + t3555 + t3574 + t3585 + t3591 + t3592 + t3595 + t3597 + t3600 + t2210 + t2206 - t3606; + const double t3656 = ( t3653 + t3654 ) * t219; + const double t3662 = t222 * t73; + const double t3663 = t799 * t1364; + const double t3664 = t3663 * t750; + const double t3667 = t778 * t3622; + const double t3670 = 0.3e1 * t1373 * t779 + 0.3e1 * t1375 * t776 + 0.3e1 * t222 * t3667 - t224 * t3656 - 0.12e2 * t3662 * t3664; + const double t3671 = t3670 * t226; + const double t3673 = t773 * t774 * t3671; + const double t3676 = t3641 * t783; + const double t3677 = t3640 * t3676; + const double t3682 = t125 * t1364; + const double t3683 = t3682 * t783; + const double t3684 = t2196 * t3683; + const double t3687 = t2379 * t1385; + const double t3689 = t1364 * t750; + const double t3691 = t2385 * t774 * t3689; + const double t3695 = t801 * t774 * t3622; + const double t3698 = t2162 + 0.7e1 / 0.144e3 * t2164 + 0.7e1 / 0.144e3 * t3627 + t2167 * t3630 / 0.16e2 - t761 * t3634 / 0.48e2 + t3638 * t3644 / 0.1536e4 + 0.7e1 / 0.4608e4 * t3647 + t2194 * t3650 / 0.768e3 - t771 * t3673 / 0.3072e4 - t2194 * t3677 / 0.3072e4 + 0.7e1 / 0.4608e4 * t2191 + t2377 + 0.7e1 / 0.1152e4 * t2380 + t2194 * t3684 / 0.768e3 + 0.7e1 / 0.1152e4 * t3687 + 0.5e1 / 0.768e3 * t797 * t3691 - t797 * t3695 / 0.768e3; + const double t3699 = beta * t3698; + const double t3701 = t1389 * t219; + const double t3704 = t1395 * t818; + const double t3705 = t2402 * t3704; + const double t3709 = t220 * t73 * t2178; + const double t3710 = t246 * t1378; + const double t3719 = t220 * t73 * t768; + const double t3722 = t768 * t1388; + const double t3727 = -t1379 * t2411 * t339 + t220 * t229 * t3698 - t339 * t3671 * t813 - t339 * t3722 * t783 + 0.2e1 * t3642 * t3709 * t3710 - t3710 * t3719 * t783; + const double t3728 = t812 * t3727; + const double t3730 = -t1396 * t2397 + t253 * t3699 - t3701 * t819 + 0.2e1 * t3705 * t809 - t3728 * t809; + const double t3734 = t198 * t207 * t3730 * t823 - t1692 * t3601 * t821 + 0.3e1 * t198 * t3622 * t740 + 0.3e1 * t2433 * t3586 * t750 + 0.6e1 * t3578 * t3579 * t750 + 0.3e1 * t2433 * t3575 + t2206 + t2210 + t3574 + t3585 + t3591 + t3592 + t3595 + t3597 + t3600 - t3606; + const double t3735 = t3556 + t3734; + const double t3742 = t259 * t2; + const double t3743 = t3742 * t555; + const double t3746 = t664 * t1408; + const double t3748 = t2459 * t1289; + const double t3749 = t3748 * t581; + const double t3750 = t2457 * t3749; + const double t3751 = t128 * t3750; + const double t3753 = t2464 * t1289; + const double t3754 = t3753 * t581; + const double t3755 = t835 * t3754; + const double t3756 = t128 * t3755; + const double t3758 = t836 * t3431; + const double t3759 = t835 * t3758; + const double t3760 = t128 * t3759; + const double t3762 = t2454 + 0.5936111111111111111e-2 * t2455 + 0.5936111111111111111e-2 * t3746 - 0.11872222222222222222e-1 * t3751 + 0.35616666666666666666e-1 * t3756 - 0.17808333333333333333e-1 * t3760; + const double t3764 = 0.621814e-1 * t3762 * t285; + const double t3765 = t1411 * t845; + const double t3767 = 0.1e1 * t3765 * t867; + const double t3769 = 0.1e1 * t2476 * t1425; + const double t3770 = t1425 * t865; + const double t3772 = 0.2e1 * t2481 * t3770; + const double t3773 = t2487 * t1415; + const double t3774 = t3773 * t849; + const double t3781 = t2491 + t2455 / 0.9e1 + t3746 / 0.9e1 - 0.2e1 / 0.9e1 * t3751 + 0.2e1 / 0.3e1 * t3756 - t3760 / 0.3e1; + const double t3782 = t847 * t3781; + const double t3789 = t2504 * t1415; + const double t3790 = t3789 * t849; + const double t3792 = t854 * t3781; + const double t3795 = t673 * t1421; + const double t3797 = t2515 * t3749; + const double t3798 = t141 * t3797; + const double t3800 = t861 * t3754; + const double t3801 = t141 * t3800; + const double t3803 = t861 * t3758; + const double t3804 = t141 * t3803; + const double t3806 = -0.9494625e0 * t3774 + 0.1898925e1 * t3782 + t2499 + 0.99655555555555555557e-1 * t2455 + 0.99655555555555555557e-1 * t3746 - 0.19931111111111111111e0 * t3751 + 0.59793333333333333334e0 * t3756 - 0.29896666666666666667e0 * t3760 + 0.15358125e0 * t3790 + 0.3071625e0 * t3792 + t2512 + 0.54771111111111111111e-1 * t2513 + 0.54771111111111111111e-1 * t3795 - 0.27385555555555555556e-1 * t3798 + 0.16431333333333333333e0 * t3801 - 0.82156666666666666667e-1 * t3804; + const double t3807 = t3806 * t866; + const double t3809 = 0.1e1 * t846 * t3807; + const double t3810 = t1424 * t2533; + const double t3811 = t3810 * t865; + const double t3813 = 0.16081979498692535067e2 * t2531 * t3811; + const double t3819 = t2537 + 0.57077777777777777777e-2 * t2455 + 0.57077777777777777777e-2 * t3746 - 0.11415555555555555555e-1 * t3751 + 0.34246666666666666666e-1 * t3756 - 0.17123333333333333333e-1 * t3760; + const double t3822 = t1429 * t876; + const double t3827 = t1437 * t884; + const double t3844 = -0.17648625e1 * t3774 + 0.3529725e1 * t3782 + t2557 + 0.17215833333333333333e0 * t2455 + 0.17215833333333333333e0 * t3746 - 0.34431666666666666667e0 * t3751 + 0.103295e1 * t3756 - 0.516475e0 * t3760 + 0.31558125e0 * t3790 + 0.6311625e0 * t3792 + t2564 + 0.69463333333333333333e-1 * t2513 + 0.69463333333333333333e-1 * t3795 - 0.34731666666666666667e-1 * t3798 + 0.20839e0 * t3801 - 0.104195e0 * t3804; + const double t3845 = t3844 * t885; + const double t3848 = t1436 * t2577; + const double t3849 = t3848 * t884; + const double t3857 = t2581 + 0.30902777777777777778e-2 * t2455 + 0.30902777777777777778e-2 * t3746 - 0.61805555555555555555e-2 * t3751 + 0.18541666666666666667e-1 * t3756 - 0.92708333333333333333e-2 * t3760; + const double t3858 = t3857 * t318; + const double t3860 = t1441 * t895; + const double t3865 = t1449 * t903; + const double t3882 = -0.1294625e1 * t3774 + 0.258925e1 * t3782 + t2601 + 0.10064166666666666667e0 * t2455 + 0.10064166666666666667e0 * t3746 - 0.20128333333333333333e0 * t3751 + 0.60385e0 * t3756 - 0.301925e0 * t3760 + 0.82524375e-1 * t3790 + 0.16504875e0 * t3792 + t2608 + 0.5519e-1 * t2513 + 0.5519e-1 * t3795 - 0.27595e-1 * t3798 + 0.16557e0 * t3801 - 0.82785e-1 * t3804; + const double t3883 = t3882 * t904; + const double t3886 = t1448 * t2621; + const double t3887 = t3886 * t903; + const double t3890 = -0.310907e-1 * t3819 * t305 + 0.1e1 * t3822 * t886 + 0.1e1 * t2545 * t1437 - 0.2e1 * t2550 * t3827 + 0.1e1 * t877 * t3845 + 0.32163958997385070134e2 * t2575 * t3849 + t3764 - t3767 - t3769 + t3772 - t3809 - t3813 - 0.19751673498613801407e-1 * t3858 + 0.5848223622634646207e0 * t3860 * t905 + 0.5848223622634646207e0 * t2589 * t1449 - 0.11696447245269292414e1 * t2594 * t3865 + 0.5848223622634646207e0 * t896 * t3883 + 0.17315859105681463759e2 * t2619 * t3887; + const double t3891 = t294 * t3890; + const double t3893 = 0.19751673498613801407e-1 * t294 * t3858; + const double t3894 = t294 * t1441; + const double t3896 = 0.5848223622634646207e0 * t3894 * t914; + const double t3898 = 0.5848223622634646207e0 * t2629 * t1457; + const double t3899 = t2593 * t1448; + const double t3900 = t3899 * t905; + const double t3902 = 0.11696447245269292414e1 * t912 * t3900; + const double t3904 = t895 * t3882 * t904; + const double t3906 = 0.5848223622634646207e0 * t912 * t3904; + const double t3907 = t2618 * t1448; + const double t3908 = t2621 * t903; + const double t3909 = t3907 * t3908; + const double t3911 = 0.17315859105681463759e2 * t912 * t3909; + const double t3916 = t140 * t1460; + const double t3917 = t925 * t3916; + const double t3919 = t926 * t2697; + const double t3920 = t3919 * t3749; + const double t3923 = t926 * t928; + const double t3924 = t3923 * t3754; + const double t3927 = t929 * t3431; + const double t3928 = t926 * t3927; + const double t3931 = t241 * t360; + const double t3932 = t361 * t1464; + const double t3933 = t2733 * t948; + const double t3934 = t3932 * t3933; + const double t3935 = t3931 * t3934; + const double t3940 = t2671 * t1465; + const double t3941 = t242 * t3940; + const double t3942 = t946 * t3941; + const double t3944 = t1465 * t837; + const double t3945 = t2707 * t3944; + const double t3948 = -t2679 / 0.108e3 - t2684 + t2690 / 0.864e3 - t2676 * t1461 / 0.108e3 + t3917 / 0.864e3 + t925 * t3920 / 0.216e3 - t925 * t3924 / 0.144e3 + t925 * t3928 / 0.288e3 + t2731 * t3935 / 0.1536e4 - t2668 * t1467 / 0.576e3 + t3942 / 0.4608e4 + t2706 * t3945 / 0.4608e4; + const double t3949 = -t3764 + t3767 + t3769 - t3772 + t3809 + t3813 + t3891 + t3893 - t3896 - t3898 + t3902 - t3906 - t3911; + const double t3950 = t3949 * t345; + const double t3951 = t947 * t3950; + const double t3952 = t242 * t3951; + const double t3955 = t3932 * t949; + const double t3956 = t3931 * t3955; + const double t3962 = t1407 * t949; + const double t3963 = t2707 * t3962; + const double t3968 = t2751 * t1407; + const double t3969 = t242 * t3968; + const double t3970 = t967 * t3969; + const double t3972 = t2761 * t2459; + const double t3973 = t3972 * t3426; + const double t3974 = t3931 * t3973; + const double t3977 = t969 * t2464; + const double t3978 = t3977 * t3426; + const double t3979 = t3931 * t3978; + const double t3982 = t970 * t3758; + const double t3983 = t242 * t3982; + const double t3986 = t946 * t3952 / 0.3072e4 - t2740 * t3956 / 0.3072e4 + t2674 / 0.4608e4 - t2649 / 0.864e3 - t2654 + t2754 / 0.6912e4 + t2706 * t3963 / 0.4608e4 - t2748 * t1471 / 0.864e3 + t3970 / 0.6912e4 + 0.5e1 / 0.13824e5 * t967 * t3974 - t967 * t3979 / 0.2304e4 + t967 * t3983 / 0.4608e4; + const double t3987 = t3948 + t3986; + const double t3988 = beta * t3987; + const double t3990 = t1475 * t219; + const double t3993 = t1482 * t990; + const double t3994 = t2776 * t3993; + const double t3997 = t2786 * t948; + const double t4001 = t975 * t1464; + const double t4004 = t366 * t3949; + const double t4008 = t2785 * t948 * t345; + const double t4011 = t1474 * t948; + const double t4016 = 0.2e1 * t1477 * t2782 * t3997 - t1477 * t2798 * t4008 + t220 * t368 * t3987 + t4001 * t983 * t985 + t4004 * t983 * t985 + t4011 * t983 * t985; + const double t4017 = t981 * t4016; + const double t4019 = -t1483 * t2771 + t373 * t3988 - t3990 * t991 + 0.2e1 * t3994 * t978 - t4017 * t978; + const double t4023 = t198 * t330; + const double t4024 = t1485 * t2814; + const double t4027 = t198 * t330 * t4019 * t995 - t4023 * t4024 * t993 - t3764 + t3767 + t3769 - t3772 + t3809 + t3813 + t3891 + t3893 - t3896 - t3898 + t3902 - t3906 - t3911; + const double t4028 = piecewise_functor_3( t380, t4027, t3735 ); + const double t4035 = piecewise_functor_3( t120, t3735 * t30 / 0.2e1 + t1402 * t580 / 0.2e1 + t826 * t1288 / 0.2e1 + t3743, t999 * t1289 / 0.2e1 + t1490 * t581 / 0.2e1 + t381 * t3431 / 0.2e1 + t4028 * t45 / 0.2e1 ); + const double t4044 = t664 * t1502; + const double t4046 = t2840 * t1289; + const double t4047 = t4046 * t581; + const double t4048 = t2838 * t4047; + const double t4049 = t128 * t4048; + const double t4051 = t2845 * t1289; + const double t4052 = t4051 * t581; + const double t4053 = t1013 * t4052; + const double t4054 = t128 * t4053; + const double t4056 = t1014 * t3431; + const double t4057 = t1013 * t4056; + const double t4058 = t128 * t4057; + const double t4060 = t2835 - 0.5936111111111111111e-2 * t2836 - 0.5936111111111111111e-2 * t4044 - 0.11872222222222222222e-1 * t4049 + 0.35616666666666666666e-1 * t4054 + 0.17808333333333333333e-1 * t4058; + const double t4062 = 0.621814e-1 * t4060 * t408; + const double t4063 = t1505 * t1023; + const double t4065 = 0.1e1 * t4063 * t1044; + const double t4067 = 0.1e1 * t2857 * t1519; + const double t4068 = t1519 * t1042; + const double t4070 = 0.2e1 * t2862 * t4068; + const double t4071 = t2868 * t1509; + const double t4072 = t4071 * t1027; + const double t4079 = t2872 - t2836 / 0.9e1 - t4044 / 0.9e1 - 0.2e1 / 0.9e1 * t4049 + 0.2e1 / 0.3e1 * t4054 + t4058 / 0.3e1; + const double t4080 = t1025 * t4079; + const double t4087 = t2885 * t1509; + const double t4088 = t4087 * t1027; + const double t4090 = t1032 * t4079; + const double t4093 = t673 * t1515; + const double t4095 = t2895 * t4047; + const double t4096 = t141 * t4095; + const double t4098 = t1038 * t4052; + const double t4099 = t141 * t4098; + const double t4101 = t1038 * t4056; + const double t4102 = t141 * t4101; + const double t4104 = -0.9494625e0 * t4072 + 0.1898925e1 * t4080 + t2880 - 0.99655555555555555557e-1 * t2836 - 0.99655555555555555557e-1 * t4044 - 0.19931111111111111111e0 * t4049 + 0.59793333333333333334e0 * t4054 + 0.29896666666666666667e0 * t4058 + 0.15358125e0 * t4088 + 0.3071625e0 * t4090 + t2892 - 0.54771111111111111111e-1 * t2893 - 0.54771111111111111111e-1 * t4093 - 0.27385555555555555556e-1 * t4096 + 0.16431333333333333333e0 * t4099 + 0.82156666666666666667e-1 * t4102; + const double t4105 = t4104 * t1043; + const double t4107 = 0.1e1 * t1024 * t4105; + const double t4108 = t1518 * t2913; + const double t4109 = t4108 * t1042; + const double t4111 = 0.16081979498692535067e2 * t2911 * t4109; + const double t4117 = t2917 - 0.57077777777777777777e-2 * t2836 - 0.57077777777777777777e-2 * t4044 - 0.11415555555555555555e-1 * t4049 + 0.34246666666666666666e-1 * t4054 + 0.17123333333333333333e-1 * t4058; + const double t4120 = t1523 * t1053; + const double t4125 = t1531 * t1061; + const double t4142 = -0.17648625e1 * t4072 + 0.3529725e1 * t4080 + t2937 - 0.17215833333333333333e0 * t2836 - 0.17215833333333333333e0 * t4044 - 0.34431666666666666667e0 * t4049 + 0.103295e1 * t4054 + 0.516475e0 * t4058 + 0.31558125e0 * t4088 + 0.6311625e0 * t4090 + t2944 - 0.69463333333333333333e-1 * t2893 - 0.69463333333333333333e-1 * t4093 - 0.34731666666666666667e-1 * t4096 + 0.20839e0 * t4099 + 0.104195e0 * t4102; + const double t4143 = t4142 * t1062; + const double t4146 = t1530 * t2957; + const double t4147 = t4146 * t1061; + const double t4155 = t2961 - 0.30902777777777777778e-2 * t2836 - 0.30902777777777777778e-2 * t4044 - 0.61805555555555555555e-2 * t4049 + 0.18541666666666666667e-1 * t4054 + 0.92708333333333333333e-2 * t4058; + const double t4156 = t4155 * t434; + const double t4158 = t1535 * t1072; + const double t4163 = t1543 * t1080; + const double t4180 = -0.1294625e1 * t4072 + 0.258925e1 * t4080 + t2981 - 0.10064166666666666667e0 * t2836 - 0.10064166666666666667e0 * t4044 - 0.20128333333333333333e0 * t4049 + 0.60385e0 * t4054 + 0.301925e0 * t4058 + 0.82524375e-1 * t4088 + 0.16504875e0 * t4090 + t2988 - 0.5519e-1 * t2893 - 0.5519e-1 * t4093 - 0.27595e-1 * t4096 + 0.16557e0 * t4099 + 0.82785e-1 * t4102; + const double t4181 = t4180 * t1081; + const double t4184 = t1542 * t3001; + const double t4185 = t4184 * t1080; + const double t4188 = -0.310907e-1 * t4117 * t421 + 0.1e1 * t4120 * t1063 + 0.1e1 * t2925 * t1531 - 0.2e1 * t2930 * t4125 + 0.1e1 * t1054 * t4143 + 0.32163958997385070134e2 * t2955 * t4147 + t4062 - t4065 - t4067 + t4070 - t4107 - t4111 - 0.19751673498613801407e-1 * t4156 + 0.5848223622634646207e0 * t4158 * t1082 + 0.5848223622634646207e0 * t2969 * t1543 - 0.11696447245269292414e1 * t2974 * t4163 + 0.5848223622634646207e0 * t1073 * t4181 + 0.17315859105681463759e2 * t2999 * t4185; + const double t4189 = t294 * t4188; + const double t4191 = 0.19751673498613801407e-1 * t294 * t4156; + const double t4192 = t294 * t1535; + const double t4194 = 0.5848223622634646207e0 * t4192 * t1091; + const double t4196 = 0.5848223622634646207e0 * t3009 * t1551; + const double t4197 = t2973 * t1542; + const double t4198 = t4197 * t1082; + const double t4200 = 0.11696447245269292414e1 * t1089 * t4198; + const double t4202 = t1072 * t4180 * t1081; + const double t4204 = 0.5848223622634646207e0 * t1089 * t4202; + const double t4205 = t2998 * t1542; + const double t4206 = t3001 * t1080; + const double t4207 = t4205 * t4206; + const double t4209 = 0.17315859105681463759e2 * t1089 * t4207; + const double t4210 = t1554 * t1095; + const double t4212 = t1300 * t924; + const double t4216 = t140 * t1557; + const double t4217 = t1098 * t4216; + const double t4219 = t926 * t3032; + const double t4220 = t4219 * t4047; + const double t4223 = t926 * t1100; + const double t4224 = t4223 * t4052; + const double t4227 = t1101 * t3431; + const double t4228 = t926 * t4227; + const double t4231 = t461 * t1561; + const double t4232 = t3054 * t1113; + const double t4233 = t4231 * t4232; + const double t4234 = t3931 * t4233; + const double t4237 = t3060 * t1562; + const double t4238 = t242 * t4237; + const double t4239 = t1111 * t4238; + const double t4241 = t1562 * t1015; + const double t4242 = t3068 * t4241; + const double t4245 = -t4062 + t4065 + t4067 - t4070 + t4107 + t4111 + t4189 + t4191 - t4194 - t4196 + t4200 - t4204 - t4209; + const double t4246 = t4245 * t450; + const double t4247 = t1112 * t4246; + const double t4248 = t242 * t4247; + const double t4251 = -t4210 / 0.108e3 + t4212 * t1103 / 0.108e3 - t3027 - t3029 / 0.864e3 - t4217 / 0.864e3 + t1098 * t4220 / 0.216e3 - t1098 * t4224 / 0.144e3 - t1098 * t4228 / 0.288e3 + t3052 * t4234 / 0.1536e4 + t4239 / 0.4608e4 - t3067 * t4242 / 0.4608e4 + t1111 * t4248 / 0.3072e4; + const double t4252 = t4231 * t1114; + const double t4253 = t3931 * t4252; + const double t4256 = t1569 * t943; + const double t4258 = t938 * t1108 * t4256; + const double t4261 = t1571 * t1120; + const double t4263 = t1569 * t357; + const double t4265 = t339 * t454 * t4263; + const double t4270 = t1501 * t1114; + const double t4271 = t3068 * t4270; + const double t4274 = t3090 * t1501; + const double t4275 = t242 * t4274; + const double t4276 = t1125 * t4275; + const double t4278 = t3096 * t2840; + const double t4279 = t4278 * t3426; + const double t4280 = t3931 * t4279; + const double t4283 = t1127 * t2845; + const double t4284 = t4283 * t3426; + const double t4285 = t3931 * t4284; + const double t4288 = t1128 * t4056; + const double t4289 = t242 * t4288; + const double t4292 = -t3080 * t4253 / 0.3072e4 - t4258 * t1116 / 0.576e3 - t4261 / 0.864e3 + t4265 * t1130 / 0.864e3 + t3063 / 0.4608e4 - t3089 - t3093 / 0.6912e4 - t3067 * t4271 / 0.4608e4 - t4276 / 0.6912e4 + 0.5e1 / 0.13824e5 * t1125 * t4280 - t1125 * t4285 / 0.2304e4 - t1125 * t4289 / 0.4608e4; + const double t4293 = t4251 + t4292; + const double t4294 = beta * t4293; + const double t4296 = t1579 * t219; + const double t4299 = t1586 * t1148; + const double t4300 = t3118 * t4299; + const double t4303 = t3126 * t1113; + const double t4307 = t1133 * t1561; + const double t4310 = t466 * t4245; + const double t4314 = t2785 * t1113 * t450; + const double t4317 = t1578 * t1113; + const double t4322 = t1141 * t1143 * t4307 + t1141 * t1143 * t4310 + t1141 * t1143 * t4317 + 0.2e1 * t1581 * t3124 * t4303 - t1581 * t3138 * t4314 + t220 * t4293 * t468; + const double t4323 = t1139 * t4322; + const double t4325 = 0.2e1 * t1136 * t4300 - t1136 * t4323 - t1149 * t4296 - t1587 * t3113 + t4294 * t473; + const double t4329 = t1589 * t3154; + const double t4332 = t1153 * t198 * t330 * t4325 - t1151 * t4023 * t4329 - t4062 + t4065 + t4067 - t4070 + t4107 + t4111 + t4189 + t4191 - t4194 - t4196 + t4200 - t4204 - t4209; + const double t4333 = piecewise_functor_3( t480, t4332, t3735 ); + const double t4340 = piecewise_functor_3( t386, t3735 * t33 / 0.2e1 + t1402 * t1006 / 0.2e1 + t826 * t1497 / 0.2e1 - t3743, -t1157 * t1289 / 0.2e1 - t1594 * t581 / 0.2e1 - t481 * t3431 / 0.2e1 + t4333 * t57 / 0.2e1 ); + const double t4341 = t4035 + t4340; + const double t4347 = t93 * t645; + const double t4352 = 0.2e1 * t1165 * t3537 + 0.2e1 * t1338 * t2056 + 0.2e1 * t1338 * t4347 + 0.2e1 * t3493 * t645 + t3491; + const double t4356 = 0.4e1 * t3180; + const double t4357 = 0.4e1 * t3290; + const double t4358 = t198 * t509; + const double t4359 = t1659 * t3185; + const double t4362 = t3258 * t1288; + const double t4365 = t490 * t2; + const double t4369 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t4362 * t580 + 0.8e1 / 0.3e1 * t4365 * t555 ); + const double t4370 = t3265 * t1497; + const double t4373 = t493 * t2; + const double t4377 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t4370 * t1006 - 0.8e1 / 0.3e1 * t4373 * t555 ); + const double t4379 = ( t4369 + t4377 ) * t162; + const double t4381 = 0.19751673498613801407e-1 * t4379 * t187; + const double t4382 = t1613 * t177; + const double t4383 = t4382 * t737; + const double t4384 = 0.5848223622634646207e0 * t4383; + const double t4385 = t1659 * t1270; + const double t4389 = 0.3e1 * t1206 * t3390 * t4385 - t1268 * t4358 * t4359 - t2116 - t2264 - t2271 + t2281 + t2289 - t3179 + t3284 + t3286 + t3297 - t3300 - t4356 - t4357 + t4381 - t4384; + const double t4390 = t198 * t507; + const double t4391 = t541 * t1625; + const double t4395 = t1613 * t72; + const double t4396 = t4395 * t732; + const double t4397 = 0.18311447306006545054e-3 * t4396; + const double t4398 = t1170 * t1614; + const double t4399 = 0.4e1 * t4398; + const double t4400 = t1173 * t1614; + const double t4401 = 0.4e1 * t4400; + const double t4402 = t3188 * t1288; + const double t4405 = t1197 * t2; + const double t4409 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t4402 * t580 + 0.4e1 / 0.3e1 * t4405 * t555 ); + const double t4410 = t3196 * t1497; + const double t4413 = t1201 * t2; + const double t4417 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t4410 * t1006 - 0.4e1 / 0.3e1 * t4413 * t555 ); + const double t4419 = t4409 / 0.2e1 + t4417 / 0.2e1; + const double t4424 = t3211 * t1630; + const double t4427 = t762 * t1629 * t1206; + const double t4430 = t124 * t4419; + const double t4431 = t762 * t4430; + const double t4435 = t339 * t3227 * t236; + const double t4436 = t527 * t72; + const double t4437 = t4436 * t240; + const double t4438 = t125 * t1639; + const double t4439 = t3231 * t1232; + const double t4440 = t4438 * t4439; + const double t4441 = t4437 * t4440; + const double t4444 = t3238 * t1642; + const double t4446 = t4438 * t3246; + const double t4447 = t3244 * t4446; + const double t4450 = -t2116 - t3179 - t4356 - t2264 + t3286 - t4357 + t2289 + t3297 - t3300 - t2271 + t2281 + t3284 + t4381; + const double t4451 = 0.18311447306006545054e-3 * t3254; + const double t4452 = t4379 * t189; + const double t4453 = t489 * t4452; + const double t4454 = t1613 * t724; + const double t4455 = t489 * t4454; + const double t4456 = 0.5848223622634646207e0 * t3279; + const double t4457 = -t4384 - t4397 + t4399 - t4401 - t4451 + t4453 + t4455 - t3282 + t3257 - t3277 - t4456 + t3252 + t3306; + const double t4459 = ( t4450 + t4457 ) * t219; + const double t4465 = t516 * t73; + const double t4466 = t1246 * t1625; + const double t4467 = t4466 * t1206; + const double t4470 = t1228 * t4419; + const double t4473 = 0.3e1 * t1226 * t1636 + 0.3e1 * t1229 * t1634 - t4459 * t518 - 0.12e2 * t4465 * t4467 + 0.3e1 * t4470 * t516; + const double t4474 = t4473 * t520; + const double t4476 = t1224 * t774 * t4474; + const double t4479 = t4438 * t1233; + const double t4480 = t4437 * t4479; + const double t4485 = t125 * t1625; + const double t4486 = t4485 * t1233; + const double t4487 = t3244 * t4486; + const double t4490 = t3336 * t1646; + const double t4492 = t1625 * t1206; + const double t4494 = t3342 * t774 * t4492; + const double t4498 = t1248 * t774 * t4419; + const double t4501 = t3210 + 0.7e1 / 0.144e3 * t3212 + 0.7e1 / 0.144e3 * t4424 + t3215 * t4427 / 0.16e2 - t1213 * t4431 / 0.48e2 + t4435 * t4441 / 0.1536e4 + 0.7e1 / 0.4608e4 * t4444 + t3242 * t4447 / 0.768e3 - t1222 * t4476 / 0.3072e4 - t3242 * t4480 / 0.3072e4 + 0.7e1 / 0.4608e4 * t3239 + t3334 + 0.7e1 / 0.1152e4 * t3337 + t3242 * t4487 / 0.768e3 + 0.7e1 / 0.1152e4 * t4490 + 0.5e1 / 0.768e3 * t1244 * t4494 - t1244 * t4498 / 0.768e3; + const double t4502 = beta * t4501; + const double t4504 = t1650 * t219; + const double t4507 = t1656 * t1265; + const double t4508 = t3359 * t4507; + const double t4512 = t220 * t73 * t3226; + const double t4513 = t532 * t1639; + const double t4522 = t220 * t73 * t1219; + const double t4525 = t1219 * t1649; + const double t4530 = -t1233 * t339 * t4525 - t1233 * t4513 * t4522 - t1260 * t339 * t4474 - t1640 * t3368 * t339 + t220 * t4501 * t523 + 0.2e1 * t4439 * t4512 * t4513; + const double t4531 = t1259 * t4530; + const double t4533 = 0.2e1 * t1256 * t4508 - t1256 * t4531 - t1266 * t4504 - t1657 * t3354 + t4502 * t538; + const double t4537 = t3391 * t1625; + const double t4540 = t1270 * t198 * t4533 * t509 + 0.3e1 * t1196 * t198 * t4419 + 0.6e1 * t1206 * t4390 * t4391 + 0.3e1 * t3390 * t4537 + t3252 + t3257 - t3277 - t3282 + t3306 - t4397 + t4399 - t4401 - t4451 + t4453 + t4455 - t4456; + const double t4541 = t4389 + t4540; + const double t4543 = -t1163 * t1322 + t1168 * t1663 - t118 * t4341 + t1273 * t1604 - 0.2e1 * t1339 * t2056 - 0.2e1 * t1339 * t3499 - t1600 * t624 - t3491 * t485 - 0.2e1 * t3493 * t646 - 0.2e1 * t3502 * t626 - 0.2e1 * t3538 * t626 - 0.2e1 * t3542 * t626 + t4352 * t544 + t4541 * t488; + const double t4544 = t3 * t4543; + const double t4547 = t546 * t1673; + const double t4549 = d * t4543; + const double t4555 = t116 * t1338; + const double t4556 = t4555 * t645; + const double t4559 = t117 * t3537; + const double t4562 = 0.3e1 * t1279 * t1670 + 0.3e1 * t1281 * t1668 + t4549 * t548 + 0.6e1 * t4556 * t547 + 0.3e1 * t4559 * t547; + const double t4566 = t1953 + t1955 + t1957 + t1960 + t1962 + t1964 + t1967 + t1969 + t1973; + const double t4570 = t1317 * t1317; + const double t4573 = t1289 * t1289; + const double t4574 = t4573 * t70; + const double t4577 = t17 + t1989; + const double t4578 = 0.2e1 * t4577; + const double t4579 = piecewise_functor_5( t31, 0.0, t34, 0.0, t4578 ); + const double t4580 = t36 * t4579; + const double t4581 = t4580 * t70; + const double t4584 = t1290 * t1306; + const double t4589 = t2009 * t4573; + const double t4592 = t48 * t4579; + const double t4596 = 0.1e1 / t53 / t455; + const double t4597 = sigma_bb * t4596; + const double t4602 = t2016 * t4573; + const double t4605 = t60 * t4579; + const double t4608 = 0.5e1 / 0.18e2 * t44 * t4589 + 0.5e1 / 0.6e1 * t44 * t4592 + 0.88e2 / 0.9e1 * t4597 * t61 + 0.4e2 / 0.9e1 * t1300 * t1303 + 0.5e1 / 0.18e2 * t56 * t4602 - 0.5e1 / 0.6e1 * t56 * t4605 - t2024; + const double t4609 = t38 * t4608; + const double t4614 = t2033 * t4573; + const double t4616 = t608 * t4579; + const double t4618 = t2040 * t4573; + const double t4620 = t612 * t4579; + const double t4622 = 0.28e2 / 0.9e1 * t4614 - 0.4e1 / 0.3e1 * t4616 + 0.28e2 / 0.9e1 * t4618 + 0.4e1 / 0.3e1 * t4620; + const double t4623 = t77 * t4622; + const double t4626 = -t4574 * t85 / 0.12e2 - t4581 * t85 / 0.12e2 - t4584 * t85 / 0.6e1 - t1291 * t1314 / 0.6e1 + t4609 * t85 / 0.24e2 + t1307 * t1314 / 0.12e2 + t71 * t4623 / 0.24e2; + const double t4630 = piecewise_functor_3( t8, 0.0, -0.8e1 * t1317 * t3418 + 0.2e2 * t1981 * t4570 + t4566 * t91 - 0.4e1 * t4626 * t578 ); + const double t4631 = t4630 * t117; + const double t4637 = t1338 * t1338; + const double t4638 = t94 * t4637; + const double t4641 = t1600 * t1338; + const double t4645 = t1333 * t1333; + const double t4646 = t2073 * t4645; + const double t4649 = t1324 * t1324; + const double t4650 = t2083 * t4649; + const double t4653 = t100 * t4577; + const double t4656 = tau_b * t1299; + const double t4661 = t1329 * t1329; + const double t4662 = t2091 * t4661; + const double t4665 = -t4577; + const double t4666 = t108 * t4665; + const double t4669 = 0.1e2 / 0.9e1 * t97 * t4650 + 0.5e1 / 0.3e1 * t97 * t4653 + 0.4e2 / 0.9e1 * t4656 * t109 - 0.5e2 / 0.9e1 * t1327 * t1330 + 0.1e2 / 0.9e1 * t105 * t4662 + 0.5e1 / 0.3e1 * t105 * t4666; + const double t4670 = t630 * t4669; + const double t4674 = piecewise_functor_3( t115, 0.0, t2069 + 0.2e1 / 0.3e1 * t3506 + t69 * t4646 / 0.4e1 - t69 * t4670 / 0.8e1 ); + const double t4675 = t485 * t4674; + const double t4678 = t190 * t4573; + const double t4680 = 0.12e2 * t2109 * t4678; + const double t4686 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2117 * t4573 + 0.4e1 / 0.3e1 * t78 * t4579 ); + const double t4692 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2124 * t4573 - 0.4e1 / 0.3e1 * t81 * t4579 ); + const double t4693 = t4686 + t4692; + const double t4694 = t4693 * t162; + const double t4696 = 0.19751673498613801407e-1 * t4694 * t187; + const double t4698 = t1364 * t1364; + const double t4699 = t124 * t4698; + const double t4700 = t762 * t4699; + const double t4708 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t4573 + 0.2e1 / 0.3e1 * t741 * t4579 ); + const double t4714 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t4573 - 0.2e1 / 0.3e1 * t745 * t4579 ); + const double t4716 = t4708 / 0.2e1 + t4714 / 0.2e1; + const double t4717 = t124 * t4716; + const double t4718 = t762 * t4717; + const double t4721 = t1378 * t1378; + const double t4722 = t4721 * t2183; + const double t4724 = t773 * t774 * t4722; + const double t4728 = t226 * t1364; + const double t4729 = t3641 * t4728; + const double t4730 = t2196 * t4729; + const double t4733 = 0.36622894612013090108e-3 * t3605; + const double t4734 = t150 * t4693; + const double t4735 = t4734 * t190; + const double t4736 = 0.11696447245269292414e1 * t3549; + const double t4737 = 0.8e1 * t3584; + const double t4738 = 0.2e1 * t3592; + const double t4739 = t190 * t4579; + const double t4741 = 0.4e1 * t681 * t4739; + const double t4743 = 0.8e1 * t3593 * t1342; + const double t4744 = -t4733 + t2206 + t4696 + t4735 - t4736 + t2210 + t4737 + t4680 + t2324 + t4738 + t2281 + t2289 + t4741 + t4743 - t2271 - t2333 - t2340 - t2116 + t2347 - t2264; + const double t4745 = t4744 * t219; + const double t4749 = t2353 * t4698; + const double t4752 = t778 * t4716; + const double t4755 = 0.6e1 * t1373 * t1375 - 0.12e2 * t222 * t4749 + 0.3e1 * t222 * t4752 - t224 * t4745; + const double t4756 = t4755 * t226; + const double t4758 = t773 * t774 * t4756; + const double t4761 = t4721 * t226; + const double t4763 = t773 * t774 * t4761; + const double t4768 = t2385 * t774 * t4698; + const double t4772 = t801 * t774 * t4716; + const double t4775 = t2162 + 0.7e1 / 0.72e2 * t3627 + t2167 * t4700 / 0.16e2 - t761 * t4718 / 0.48e2 + t2181 * t4724 / 0.1536e4 + 0.7e1 / 0.2304e4 * t3647 + t2194 * t4730 / 0.384e3 - t771 * t4758 / 0.3072e4 - t771 * t4763 / 0.3072e4 + t2377 + 0.7e1 / 0.576e3 * t3687 + 0.5e1 / 0.768e3 * t797 * t4768 - t797 * t4772 / 0.768e3; + const double t4776 = beta * t4775; + const double t4780 = t1395 * t1395; + const double t4781 = t2402 * t4780; + const double t4796 = -0.2e1 * t1379 * t339 * t3722 + t220 * t229 * t4775 + 0.2e1 * t2407 * t339 * t4722 - t339 * t4756 * t813 - t339 * t4761 * t813; + const double t4797 = t812 * t4796; + const double t4799 = -0.2e1 * t1396 * t3701 + t253 * t4776 + 0.2e1 * t4781 * t809 - t4797 * t809; + const double t4809 = t198 * t207 * t4799 * t823 + 0.6e1 * t198 * t2428 * t4698 + 0.3e1 * t198 * t4716 * t740 - t2116 - t2264 + t2289 + t2324 - t2333 + t4680 + t4696 + t4741 + t4743; + const double t4810 = t1398 * t1398; + const double t4814 = t3586 * t1364; + const double t4817 = -t198 * t207 * t2441 * t4810 + 0.6e1 * t2433 * t4814 + t2206 + t2210 - t2271 + t2281 - t2340 + t2347 - t4733 + t4735 - t4736 + t4737 + t4738; + const double t4818 = t4809 + t4817; + const double t4826 = t2459 * t4573; + const double t4827 = t2457 * t4826; + const double t4828 = t128 * t4827; + const double t4830 = t2464 * t4573; + const double t4831 = t835 * t4830; + const double t4832 = t128 * t4831; + const double t4834 = t836 * t4579; + const double t4835 = t835 * t4834; + const double t4836 = t128 * t4835; + const double t4838 = t2454 + 0.11872222222222222222e-1 * t3746 - 0.11872222222222222222e-1 * t4828 + 0.35616666666666666666e-1 * t4832 - 0.17808333333333333333e-1 * t4836; + const double t4840 = 0.621814e-1 * t4838 * t285; + const double t4842 = 0.2e1 * t3765 * t1425; + const double t4843 = t1424 * t1424; + const double t4844 = t4843 * t866; + const double t4846 = 0.2e1 * t2481 * t4844; + const double t4847 = t1415 * t1415; + const double t4848 = t2487 * t4847; + const double t4854 = t2491 + 0.2e1 / 0.9e1 * t3746 - 0.2e1 / 0.9e1 * t4828 + 0.2e1 / 0.3e1 * t4832 - t4836 / 0.3e1; + const double t4855 = t847 * t4854; + const double t4861 = t2504 * t4847; + const double t4863 = t854 * t4854; + const double t4866 = t2515 * t4826; + const double t4867 = t141 * t4866; + const double t4869 = t861 * t4830; + const double t4870 = t141 * t4869; + const double t4872 = t861 * t4834; + const double t4873 = t141 * t4872; + const double t4875 = -0.9494625e0 * t4848 + 0.1898925e1 * t4855 + t2499 + 0.19931111111111111111e0 * t3746 - 0.19931111111111111111e0 * t4828 + 0.59793333333333333334e0 * t4832 - 0.29896666666666666667e0 * t4836 + 0.15358125e0 * t4861 + 0.3071625e0 * t4863 + t2512 + 0.10954222222222222222e0 * t3795 - 0.27385555555555555556e-1 * t4867 + 0.16431333333333333333e0 * t4870 - 0.82156666666666666667e-1 * t4873; + const double t4876 = t4875 * t866; + const double t4878 = 0.1e1 * t846 * t4876; + const double t4879 = t4843 * t2533; + const double t4881 = 0.16081979498692535067e2 * t2531 * t4879; + const double t4886 = t2537 + 0.11415555555555555555e-1 * t3746 - 0.11415555555555555555e-1 * t4828 + 0.34246666666666666666e-1 * t4832 - 0.17123333333333333333e-1 * t4836; + const double t4891 = t1436 * t1436; + const double t4892 = t4891 * t885; + const double t4907 = -0.17648625e1 * t4848 + 0.3529725e1 * t4855 + t2557 + 0.34431666666666666666e0 * t3746 - 0.34431666666666666667e0 * t4828 + 0.103295e1 * t4832 - 0.516475e0 * t4836 + 0.31558125e0 * t4861 + 0.6311625e0 * t4863 + t2564 + 0.13892666666666666667e0 * t3795 - 0.34731666666666666667e-1 * t4867 + 0.20839e0 * t4870 - 0.104195e0 * t4873; + const double t4908 = t4907 * t885; + const double t4911 = t4891 * t2577; + const double t4918 = t2581 + 0.61805555555555555556e-2 * t3746 - 0.61805555555555555555e-2 * t4828 + 0.18541666666666666667e-1 * t4832 - 0.92708333333333333333e-2 * t4836; + const double t4919 = t4918 * t318; + const double t4923 = t1448 * t1448; + const double t4924 = t4923 * t904; + const double t4939 = -0.1294625e1 * t4848 + 0.258925e1 * t4855 + t2601 + 0.20128333333333333334e0 * t3746 - 0.20128333333333333333e0 * t4828 + 0.60385e0 * t4832 - 0.301925e0 * t4836 + 0.82524375e-1 * t4861 + 0.16504875e0 * t4863 + t2608 + 0.11038e0 * t3795 - 0.27595e-1 * t4867 + 0.16557e0 * t4870 - 0.82785e-1 * t4873; + const double t4940 = t4939 * t904; + const double t4943 = t4923 * t2621; + const double t4946 = -0.310907e-1 * t4886 * t305 + 0.2e1 * t3822 * t1437 - 0.2e1 * t2550 * t4892 + 0.1e1 * t877 * t4908 + 0.32163958997385070134e2 * t2575 * t4911 + t4840 - t4842 + t4846 - t4878 - t4881 - 0.19751673498613801407e-1 * t4919 + 0.11696447245269292414e1 * t3860 * t1449 - 0.11696447245269292414e1 * t2594 * t4924 + 0.5848223622634646207e0 * t896 * t4940 + 0.17315859105681463759e2 * t2619 * t4943; + const double t4947 = t294 * t4946; + const double t4949 = 0.19751673498613801407e-1 * t294 * t4919; + const double t4951 = 0.11696447245269292414e1 * t3894 * t1457; + const double t4953 = t2593 * t4923 * t904; + const double t4955 = 0.11696447245269292414e1 * t912 * t4953; + const double t4957 = t895 * t4939 * t904; + const double t4959 = 0.5848223622634646207e0 * t912 * t4957; + const double t4960 = t2618 * t4923; + const double t4961 = t4960 * t2621; + const double t4963 = 0.17315859105681463759e2 * t912 * t4961; + const double t4965 = t2698 * t4573; + const double t4966 = t926 * t4965; + const double t4969 = t2644 * t4573; + const double t4970 = t926 * t4969; + const double t4973 = t929 * t4579; + const double t4974 = t926 * t4973; + const double t4977 = t1464 * t1464; + const double t4978 = t4977 * t2733; + const double t4979 = t947 * t4978; + const double t4980 = t242 * t4979; + const double t4984 = t1465 * t1407; + const double t4985 = t2707 * t4984; + const double t4988 = -t4840 + t4842 - t4846 + t4878 + t4881 + t4947 + t4949 - t4951 + t4955 - t4959 - t4963; + const double t4989 = t4988 * t345; + const double t4990 = t947 * t4989; + const double t4991 = t242 * t4990; + const double t4994 = t4977 * t345; + const double t4995 = t947 * t4994; + const double t4996 = t242 * t4995; + const double t5000 = t2762 * t4826; + const double t5001 = t242 * t5000; + const double t5004 = t970 * t4830; + const double t5005 = t242 * t5004; + const double t5008 = t970 * t4834; + const double t5009 = t242 * t5008; + const double t5012 = -t2684 + t3917 / 0.432e3 + t925 * t4966 / 0.216e3 - t925 * t4970 / 0.144e3 + t925 * t4974 / 0.288e3 + t2731 * t4980 / 0.1536e4 + t3942 / 0.2304e4 + t2706 * t4985 / 0.2304e4 + t946 * t4991 / 0.3072e4 - t2740 * t4996 / 0.3072e4 - t2654 + t3970 / 0.3456e4 + 0.5e1 / 0.13824e5 * t967 * t5001 - t967 * t5005 / 0.2304e4 + t967 * t5009 / 0.4608e4; + const double t5013 = beta * t5012; + const double t5017 = t1482 * t1482; + const double t5018 = t2776 * t5017; + const double t5021 = t366 * t4977; + const double t5025 = t1474 * t1464; + const double t5029 = t366 * t4988; + const double t5036 = t220 * t368 * t5012 + 0.2e1 * t2782 * t2786 * t5021 - t2798 * t2799 * t5021 + 0.2e1 * t5025 * t983 * t985 + t5029 * t983 * t985; + const double t5037 = t981 * t5036; + const double t5039 = -0.2e1 * t1483 * t3990 + t373 * t5013 + 0.2e1 * t5018 * t978 - t5037 * t978; + const double t5043 = t1485 * t1485; + const double t5047 = -t198 * t2814 * t330 * t5043 + t198 * t330 * t5039 * t995 - t4840 + t4842 - t4846 + t4878 + t4881 + t4947 + t4949 - t4951 + t4955 - t4959 - t4963; + const double t5048 = piecewise_functor_3( t380, t5047, t4818 ); + const double t5055 = piecewise_functor_3( t120, t4818 * t30 / 0.2e1 + t1402 * t1288 + t259 * t4578 / 0.2e1, t5048 * t45 / 0.2e1 + t1490 * t1289 + t381 * t4579 / 0.2e1 ); + const double t5059 = -t4578; + const double t5064 = t2840 * t4573; + const double t5065 = t2838 * t5064; + const double t5066 = t128 * t5065; + const double t5068 = t2845 * t4573; + const double t5069 = t1013 * t5068; + const double t5070 = t128 * t5069; + const double t5072 = t1014 * t4579; + const double t5073 = t1013 * t5072; + const double t5074 = t128 * t5073; + const double t5076 = t2835 - 0.11872222222222222222e-1 * t4044 - 0.11872222222222222222e-1 * t5066 + 0.35616666666666666666e-1 * t5070 + 0.17808333333333333333e-1 * t5074; + const double t5078 = 0.621814e-1 * t5076 * t408; + const double t5080 = 0.2e1 * t4063 * t1519; + const double t5081 = t1518 * t1518; + const double t5082 = t5081 * t1043; + const double t5084 = 0.2e1 * t2862 * t5082; + const double t5085 = t1509 * t1509; + const double t5086 = t2868 * t5085; + const double t5092 = t2872 - 0.2e1 / 0.9e1 * t4044 - 0.2e1 / 0.9e1 * t5066 + 0.2e1 / 0.3e1 * t5070 + t5074 / 0.3e1; + const double t5093 = t1025 * t5092; + const double t5099 = t2885 * t5085; + const double t5101 = t1032 * t5092; + const double t5104 = t2895 * t5064; + const double t5105 = t141 * t5104; + const double t5107 = t1038 * t5068; + const double t5108 = t141 * t5107; + const double t5110 = t1038 * t5072; + const double t5111 = t141 * t5110; + const double t5113 = -0.9494625e0 * t5086 + 0.1898925e1 * t5093 + t2880 - 0.19931111111111111111e0 * t4044 - 0.19931111111111111111e0 * t5066 + 0.59793333333333333334e0 * t5070 + 0.29896666666666666667e0 * t5074 + 0.15358125e0 * t5099 + 0.3071625e0 * t5101 + t2892 - 0.10954222222222222222e0 * t4093 - 0.27385555555555555556e-1 * t5105 + 0.16431333333333333333e0 * t5108 + 0.82156666666666666667e-1 * t5111; + const double t5114 = t5113 * t1043; + const double t5116 = 0.1e1 * t1024 * t5114; + const double t5117 = t5081 * t2913; + const double t5119 = 0.16081979498692535067e2 * t2911 * t5117; + const double t5124 = t2917 - 0.11415555555555555555e-1 * t4044 - 0.11415555555555555555e-1 * t5066 + 0.34246666666666666666e-1 * t5070 + 0.17123333333333333333e-1 * t5074; + const double t5129 = t1530 * t1530; + const double t5130 = t5129 * t1062; + const double t5145 = -0.17648625e1 * t5086 + 0.3529725e1 * t5093 + t2937 - 0.34431666666666666666e0 * t4044 - 0.34431666666666666667e0 * t5066 + 0.103295e1 * t5070 + 0.516475e0 * t5074 + 0.31558125e0 * t5099 + 0.6311625e0 * t5101 + t2944 - 0.13892666666666666667e0 * t4093 - 0.34731666666666666667e-1 * t5105 + 0.20839e0 * t5108 + 0.104195e0 * t5111; + const double t5146 = t5145 * t1062; + const double t5149 = t5129 * t2957; + const double t5156 = t2961 - 0.61805555555555555556e-2 * t4044 - 0.61805555555555555555e-2 * t5066 + 0.18541666666666666667e-1 * t5070 + 0.92708333333333333333e-2 * t5074; + const double t5157 = t5156 * t434; + const double t5161 = t1542 * t1542; + const double t5162 = t5161 * t1081; + const double t5177 = -0.1294625e1 * t5086 + 0.258925e1 * t5093 + t2981 - 0.20128333333333333334e0 * t4044 - 0.20128333333333333333e0 * t5066 + 0.60385e0 * t5070 + 0.301925e0 * t5074 + 0.82524375e-1 * t5099 + 0.16504875e0 * t5101 + t2988 - 0.11038e0 * t4093 - 0.27595e-1 * t5105 + 0.16557e0 * t5108 + 0.82785e-1 * t5111; + const double t5178 = t5177 * t1081; + const double t5181 = t5161 * t3001; + const double t5184 = -0.310907e-1 * t5124 * t421 + 0.2e1 * t4120 * t1531 - 0.2e1 * t2930 * t5130 + 0.1e1 * t1054 * t5146 + 0.32163958997385070134e2 * t2955 * t5149 + t5078 - t5080 + t5084 - t5116 - t5119 - 0.19751673498613801407e-1 * t5157 + 0.11696447245269292414e1 * t4158 * t1543 - 0.11696447245269292414e1 * t2974 * t5162 + 0.5848223622634646207e0 * t1073 * t5178 + 0.17315859105681463759e2 * t2999 * t5181; + const double t5185 = t294 * t5184; + const double t5187 = 0.19751673498613801407e-1 * t294 * t5157; + const double t5189 = 0.11696447245269292414e1 * t4192 * t1551; + const double t5191 = t2973 * t5161 * t1081; + const double t5193 = 0.11696447245269292414e1 * t1089 * t5191; + const double t5195 = t1072 * t5177 * t1081; + const double t5197 = 0.5848223622634646207e0 * t1089 * t5195; + const double t5198 = t2998 * t5161; + const double t5199 = t5198 * t3001; + const double t5201 = 0.17315859105681463759e2 * t1089 * t5199; + const double t5204 = 0.1e1 / t52 / t455 / t1297; + const double t5206 = t339 * t454 * t5204; + const double t5209 = t4597 * t332; + const double t5212 = t1128 * t5072; + const double t5213 = t242 * t5212; + const double t5216 = t1128 * t5068; + const double t5217 = t242 * t5216; + const double t5220 = -t5078 + t5080 - t5084 + t5116 + t5119 + t5185 + t5187 - t5189 + t5193 - t5197 - t5201; + const double t5221 = t5220 * t450; + const double t5222 = t1112 * t5221; + const double t5223 = t242 * t5222; + const double t5226 = t1561 * t1561; + const double t5227 = t5226 * t3054; + const double t5228 = t1112 * t5227; + const double t5229 = t242 * t5228; + const double t5232 = t5226 * t450; + const double t5233 = t1112 * t5232; + const double t5234 = t242 * t5233; + const double t5242 = -t3089 + 0.19e2 / 0.1728e4 * t5206 * t463 + 0.11e2 / 0.108e3 * t5209 * t444 - t1125 * t5213 / 0.4608e4 - t1125 * t5217 / 0.2304e4 + t1111 * t5223 / 0.3072e4 + t3052 * t5229 / 0.1536e4 - t3080 * t5234 / 0.3072e4 + t4265 * t1575 / 0.432e3 - t4210 / 0.54e2 - t4258 * t1564 / 0.288e3; + const double t5243 = t3033 * t4573; + const double t5244 = t926 * t5243; + const double t5249 = t1101 * t4579; + const double t5250 = t926 * t5249; + const double t5253 = t3038 * t4573; + const double t5254 = t926 * t5253; + const double t5261 = t1562 * t1501; + const double t5262 = t3068 * t5261; + const double t5265 = t3097 * t5064; + const double t5266 = t242 * t5265; + const double t5269 = t1098 * t5244 / 0.216e3 - t4276 / 0.3456e4 + t4239 / 0.2304e4 - t3027 - t1098 * t5250 / 0.288e3 - t1098 * t5254 / 0.144e3 + t4212 * t1558 / 0.54e2 - t4261 / 0.432e3 - t4217 / 0.432e3 - t3067 * t5262 / 0.2304e4 + 0.5e1 / 0.13824e5 * t1125 * t5266; + const double t5270 = t5242 + t5269; + const double t5271 = beta * t5270; + const double t5275 = t1586 * t1586; + const double t5276 = t3118 * t5275; + const double t5279 = t466 * t5226; + const double t5283 = t1578 * t1561; + const double t5287 = t466 * t5220; + const double t5294 = 0.2e1 * t1141 * t1143 * t5283 + t1141 * t1143 * t5287 + t220 * t468 * t5270 + 0.2e1 * t3124 * t3126 * t5279 - t3138 * t3139 * t5279; + const double t5295 = t1139 * t5294; + const double t5297 = 0.2e1 * t1136 * t5276 - t1136 * t5295 - 0.2e1 * t1587 * t4296 + t473 * t5271; + const double t5301 = t1589 * t1589; + const double t5305 = t1153 * t198 * t330 * t5297 - t198 * t3154 * t330 * t5301 - t5078 + t5080 - t5084 + t5116 + t5119 + t5185 + t5187 - t5189 + t5193 - t5197 - t5201; + const double t5306 = piecewise_functor_3( t480, t5305, t4818 ); + const double t5313 = piecewise_functor_3( t386, t4818 * t33 / 0.2e1 + t1402 * t1497 + t259 * t5059 / 0.2e1, t5306 * t57 / 0.2e1 - t1594 * t1289 - t481 * t4579 / 0.2e1 ); + const double t5314 = t5055 + t5313; + const double t5322 = 0.2e1 * t1165 * t4674 + 0.4e1 * t1338 * t3493 + 0.2e1 * t4637 * t93 + t4631; + const double t5326 = t1659 * t1659; + const double t5330 = t1625 * t1625; + const double t5334 = 0.11696447245269292414e1 * t4383; + const double t5335 = -t198 * t3185 * t509 * t5326 + 0.6e1 * t198 * t3386 * t5330 - t2116 - t2264 - t2271 + t2281 + t2289 - t3179 + t3284 - t3294 + t3297 + t3300 + t3303 - t5334; + const double t5336 = 0.36622894612013090108e-3 * t4396; + const double t5337 = 0.8e1 * t4398; + const double t5338 = 0.8e1 * t4400; + const double t5339 = 0.2e1 * t4455; + const double t5340 = t1288 * t1288; + const double t5346 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3258 * t5340 + 0.4e1 / 0.3e1 * t490 * t4578 ); + const double t5347 = t1497 * t1497; + const double t5353 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3265 * t5347 + 0.4e1 / 0.3e1 * t493 * t5059 ); + const double t5355 = ( t5346 + t5353 ) * t162; + const double t5356 = t5355 * t189; + const double t5357 = t489 * t5356; + const double t5363 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3188 * t5340 + 0.2e1 / 0.3e1 * t1197 * t4578 ); + const double t5369 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3196 * t5347 + 0.2e1 / 0.3e1 * t1201 * t5059 ); + const double t5371 = t5363 / 0.2e1 + t5369 / 0.2e1; + const double t5376 = t124 * t5330; + const double t5377 = t762 * t5376; + const double t5380 = t124 * t5371; + const double t5381 = t762 * t5380; + const double t5384 = t1639 * t1639; + const double t5385 = t5384 * t3231; + const double t5387 = t1224 * t774 * t5385; + const double t5391 = t520 * t1625; + const double t5392 = t4438 * t5391; + const double t5393 = t3244 * t5392; + const double t5397 = 0.19751673498613801407e-1 * t5355 * t187; + const double t5398 = t3252 + t3257 + t5397 - t3277 - t3282 + t3284 - t3179 - t3294 + t5339 + t5357 - t5337; + const double t5399 = -t5338 + t3297 + t3300 + t3303 - t5336 + t2281 + t2289 - t5334 - t2271 - t2116 - t2264 + t3306; + const double t5401 = ( t5398 + t5399 ) * t219; + const double t5405 = t3313 * t5330; + const double t5408 = t1228 * t5371; + const double t5411 = 0.6e1 * t1634 * t1636 - 0.12e2 * t516 * t5405 + 0.3e1 * t516 * t5408 - t518 * t5401; + const double t5412 = t5411 * t520; + const double t5414 = t1224 * t774 * t5412; + const double t5417 = t5384 * t520; + const double t5419 = t1224 * t774 * t5417; + const double t5424 = t3342 * t774 * t5330; + const double t5428 = t1248 * t774 * t5371; + const double t5431 = t3210 + 0.7e1 / 0.72e2 * t4424 + t3215 * t5377 / 0.16e2 - t1213 * t5381 / 0.48e2 + t3229 * t5387 / 0.1536e4 + 0.7e1 / 0.2304e4 * t4444 + t3242 * t5393 / 0.384e3 - t1222 * t5414 / 0.3072e4 - t1222 * t5419 / 0.3072e4 + t3334 + 0.7e1 / 0.576e3 * t4490 + 0.5e1 / 0.768e3 * t1244 * t5424 - t1244 * t5428 / 0.768e3; + const double t5432 = beta * t5431; + const double t5436 = t1656 * t1656; + const double t5437 = t3359 * t5436; + const double t5452 = -t1260 * t339 * t5412 - t1260 * t339 * t5417 - 0.2e1 * t1640 * t339 * t4525 + t220 * t523 * t5431 + 0.2e1 * t3364 * t339 * t5385; + const double t5453 = t1259 * t5452; + const double t5455 = 0.2e1 * t1256 * t5437 - t1256 * t5453 - 0.2e1 * t1657 * t4504 + t538 * t5432; + const double t5459 = t4385 * t1625; + const double t5462 = t1270 * t198 * t509 * t5455 + 0.3e1 * t1196 * t198 * t5371 + 0.6e1 * t3390 * t5459 + t3252 + t3257 - t3277 - t3282 + t3306 - t5336 - t5337 - t5338 + t5339 + t5357 + t5397; + const double t5463 = t5335 + t5462; + const double t5465 = -t118 * t5314 - 0.2e1 * t1322 * t1600 - 0.4e1 * t1339 * t3493 + 0.2e1 * t1604 * t1663 - t4631 * t485 - 0.2e1 * t4638 * t485 - 0.4e1 * t4641 * t626 - 0.2e1 * t4675 * t626 + t488 * t5463 + t5322 * t544; + const double t5466 = t3 * t5465; + const double t5470 = d * t5465; + const double t5474 = t116 * t4637; + const double t5477 = t117 * t4674; + const double t5480 = 0.6e1 * t1668 * t1670 + 0.6e1 * t547 * t5474 + 0.3e1 * t547 * t5477 + t5470 * t548; + const double t5482 = t1781 * t550; + const double t5483 = t1976 * t38; + const double t5486 = t38 * t1677; + const double t5487 = t1981 * t5486; + const double t5488 = t84 * t619; + const double t5489 = t77 * t5488; + const double t5492 = t578 * t582; + const double t5497 = t43 * t48; + const double t5500 = 0.8e1 / 0.3e1 * t599; + const double t5501 = -0.8e1 / 0.3e1 * t588 * t49 + 0.5e1 / 0.6e1 * t5497 * t581 + t5500; + const double t5502 = t5501 * t72; + const double t5503 = t5502 * t1679; + const double t5506 = t76 * t615; + const double t5507 = t1678 * t5506; + const double t5511 = piecewise_functor_3( t8, 0.0, -t5483 * t1680 / 0.6e1 + 0.5e1 / 0.6e1 * t5487 * t5489 + t5492 * t1680 / 0.3e1 - t1675 * t5503 / 0.6e1 - t1675 * t5507 / 0.6e1 ); + const double t5512 = t5511 * t117; + const double t5514 = t1683 * t116; + const double t5519 = 0.2e1 * t2056 * t1689; + const double t5521 = 0.2e1 * t3499 * t1689; + const double t5522 = t1163 * t1688; + const double t5524 = 0.2e1 * t626 * t5522; + const double t5525 = t599 * t112; + const double t5526 = t5525 / 0.3e1; + const double t5527 = t68 * t630; + const double t5528 = t5527 * t640; + const double t5531 = piecewise_functor_3( t115, 0.0, -t5526 - t5528 / 0.8e1 ); + const double t5532 = t485 * t5531; + const double t5534 = 0.2e1 * t626 * t5532; + const double t5536 = t1753 * t645; + const double t5539 = t30 * t750; + const double t5543 = t755 * t159; + const double t5545 = t5543 * t212 * t1695; + const double t5546 = 0.7e1 / 0.288e3 * t5545; + const double t5547 = t1693 * t223; + const double t5548 = t5547 * t764; + const double t5550 = t768 * t64; + const double t5552 = t339 * t5550 * t234; + const double t5553 = t5552 * t785; + const double t5555 = t1699 * t792; + const double t5556 = 0.7e1 / 0.2304e4 * t5555; + const double t5557 = t228 * t64; + const double t5559 = t339 * t5557 * t234; + const double t5560 = t5559 * t803; + const double t5562 = -t5546 - t5548 / 0.48e2 - t5553 / 0.1536e4 - t5556 - t5560 / 0.384e3; + const double t5563 = beta * t5562; + const double t5565 = t1703 * t219; + const double t5567 = t1705 * t806; + const double t5568 = t5567 * t935; + const double t5570 = t935 * t937; + const double t5571 = t1706 * t5570; + const double t5572 = t2401 * t228; + const double t5573 = t1702 * t818; + const double t5574 = t5572 * t5573; + const double t5577 = t811 * t768; + const double t5579 = t1702 * t782 * t226; + const double t5580 = t5577 * t5579; + const double t5583 = t1708 * t228 * t5562; + const double t5585 = -t1707 * t5583 - t1710 * t5568 + t253 * t5563 - t5565 * t819 + 0.2e1 * t5571 * t5574 + t5571 * t5580; + const double t5586 = t5585 * t823; + const double t5590 = t1712 * t2441; + const double t5591 = t30 * t821; + const double t5598 = 0.3e1 / 0.2e1 * t2433 * t1713 * t5539 + t1692 * t5586 * t30 / 0.2e1 - t1692 * t5590 * t5591 / 0.2e1 + t1692 * t1713 * t580 / 0.2e1; + const double t5599 = t588 * t331; + const double t5600 = t5599 * t136; + const double t5604 = t1718 * t921 / 0.288e3; + const double t5605 = t1717 * t762; + const double t5608 = t940 * sigma_aa; + const double t5610 = t938 * t5608 * t944; + const double t5614 = t339 * t1721 * t956; + const double t5618 = t1723 * t962 / 0.2304e4; + const double t5620 = t339 * t1721 * t965; + const double t5623 = -t5600 * t336 / 0.36e2 + t5604 + t5605 * t931 / 0.288e3 + t5610 * t951 / 0.1536e4 - t5614 * t363 / 0.288e3 + t5618 + t5620 * t972 / 0.2304e4; + const double t5624 = beta * t5623; + const double t5626 = t1727 * t219; + const double t5628 = t1705 * t975; + const double t5629 = t5628 * t935; + const double t5631 = t1729 * t5570; + const double t5632 = t2775 * t347; + const double t5633 = t1726 * t990; + const double t5634 = t5632 * t5633; + const double t5637 = t2719 * t2721; + const double t5638 = t5637 * t980; + const double t5639 = t1729 * t5638; + const double t5640 = t940 * t1726; + const double t5642 = t948 * t342 * t345; + const double t5643 = t5640 * t5642; + const double t5646 = t1731 * t347 * t5623; + const double t5648 = -t1730 * t5646 - t1733 * t5629 + t373 * t5624 - t5626 * t991 + 0.2e1 * t5631 * t5634 - t5639 * t5643; + const double t5652 = t1735 * t2814; + const double t5659 = t207 * t5585; + const double t5664 = -t1692 * t5590 * t821 + 0.3e1 * t1713 * t2433 * t750 + t198 * t5659 * t823; + const double t5665 = piecewise_functor_3( t380, t198 * t330 * t5648 * t995 - t4023 * t5652 * t993, t5664 ); + const double t5670 = piecewise_functor_3( t120, t5598, t1742 * t581 / 0.2e1 + t5665 * t45 / 0.2e1 ); + const double t5671 = t33 * t750; + const double t5678 = t33 * t821; + const double t5685 = 0.3e1 / 0.2e1 * t2433 * t1713 * t5671 + t1692 * t5586 * t33 / 0.2e1 - t1692 * t5590 * t5678 / 0.2e1 + t1692 * t1713 * t1006 / 0.2e1; + const double t5686 = piecewise_functor_3( t480, 0.0, t5664 ); + const double t5691 = piecewise_functor_3( t386, t5685, -t1749 * t581 / 0.2e1 + t5686 * t57 / 0.2e1 ); + const double t5692 = t5670 + t5691; + const double t5697 = 0.2e1 * t2056 * t1688; + const double t5699 = 0.2e1 * t4347 * t1688; + const double t5701 = 0.2e1 * t1165 * t5531; + const double t5702 = 0.2e1 * t5514 * t645 + t5512 + t5697 + t5699 + t5701; + const double t5705 = t1168 * t196; + const double t5706 = t5705 * t197; + const double t5707 = t5706 * t1779; + const double t5708 = t508 * t1777; + const double t5709 = t1270 * t1206; + const double t5710 = t5708 * t5709; + const double t5712 = 0.3e1 * t1760 * t5710; + const double t5714 = t5543 * t510 * t1695; + const double t5715 = 0.7e1 / 0.288e3 * t5714; + const double t5716 = t1693 * t517; + const double t5717 = t5716 * t1215; + const double t5719 = t1219 * t64; + const double t5721 = t339 * t5719 * t234; + const double t5722 = t5721 * t1235; + const double t5724 = t1765 * t1239; + const double t5725 = 0.7e1 / 0.2304e4 * t5724; + const double t5726 = t522 * t64; + const double t5728 = t339 * t5726 * t234; + const double t5729 = t5728 * t1250; + const double t5731 = -t5715 - t5717 / 0.48e2 - t5722 / 0.1536e4 - t5725 - t5729 / 0.384e3; + const double t5732 = beta * t5731; + const double t5734 = t1769 * t219; + const double t5736 = t1705 * t1253; + const double t5737 = t5736 * t935; + const double t5739 = t1771 * t5570; + const double t5740 = t3358 * t522; + const double t5741 = t1768 * t1265; + const double t5742 = t5740 * t5741; + const double t5745 = t1258 * t1219; + const double t5747 = t1768 * t1232 * t520; + const double t5748 = t5745 * t5747; + const double t5751 = t1773 * t522 * t5731; + const double t5753 = -t1266 * t5734 - t1772 * t5751 - t1775 * t5737 + t538 * t5732 + 0.2e1 * t5739 * t5742 + t5739 * t5748; + const double t5754 = t509 * t5753; + const double t5755 = t5754 * t1270; + const double t5756 = t1760 * t5755; + const double t5757 = t3185 * t1268; + const double t5758 = t1778 * t5757; + const double t5759 = t1760 * t5758; + const double t5760 = -t1163 * t1684 - t118 * t5692 + t1273 * t1757 - t1753 * t624 - t485 * t5512 + t544 * t5702 - 0.2e1 * t5514 * t646 - 0.2e1 * t5536 * t626 - t5519 - t5521 - t5524 - t5534 + t5707 + t5712 + t5756 - t5759; + const double t5761 = t3 * t5760; + const double t5764 = t546 * t1789; + const double t5766 = d * t5760; + const double t5771 = 0.3e1 * t1279 * t1786; + const double t5772 = t116 * t1688; + const double t5773 = t5772 * t645; + const double t5775 = 0.6e1 * t547 * t5773; + const double t5776 = t117 * t5531; + const double t5778 = 0.3e1 * t547 * t5776; + const double t5779 = 0.3e1 * t1281 * t1784 + t548 * t5766 + t5771 + t5775 + t5778; + const double t5781 = t1848 * t550; + const double t5784 = t38 * t68; + const double t5785 = t1981 * t5784; + const double t5790 = t599 * t72; + const double t5791 = t5790 * t1679; + const double t5793 = 0.8e1 / 0.9e1 * t1675 * t5791; + const double t5794 = t1791 * t5506; + const double t5798 = piecewise_functor_3( t8, 0.0, t5483 * t1792 / 0.3e1 - 0.5e1 / 0.3e1 * t5785 * t5489 - 0.2e1 / 0.3e1 * t5492 * t1792 - t5793 + t1675 * t5794 / 0.3e1 ); + const double t5799 = t5798 * t117; + const double t5801 = t1795 * t116; + const double t5809 = t1163 * t1799; + const double t5812 = 0.2e1 / 0.3e1 * t5525; + const double t5815 = piecewise_functor_3( t115, 0.0, -t5812 - t5528 / 0.4e1 ); + const double t5816 = t485 * t5815; + const double t5820 = t1830 * t645; + const double t5826 = 0.7e1 / 0.144e3 * t5545; + const double t5829 = 0.7e1 / 0.1152e4 * t5555; + const double t5831 = -t5826 - t5548 / 0.24e2 - t5553 / 0.768e3 - t5829 - t5560 / 0.192e3; + const double t5832 = beta * t5831; + const double t5834 = t1806 * t219; + const double t5837 = t1805 * t818; + const double t5838 = t5572 * t5837; + const double t5843 = t5577 * t1805 * t782 * t226; + const double t5846 = t1708 * t228 * t5831; + const double t5848 = -t1707 * t5846 - t1809 * t5568 + t253 * t5832 + 0.2e1 * t5571 * t5838 + t5571 * t5843 - t5834 * t819; + const double t5849 = t5848 * t823; + const double t5853 = t1811 * t2441; + const double t5864 = t207 * t5848; + const double t5869 = -t1692 * t5853 * t821 + 0.3e1 * t1812 * t2433 * t750 + t198 * t5864 * t823; + const double t5870 = piecewise_functor_3( t380, 0.0, t5869 ); + const double t5875 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2433 * t1812 * t5539 + t1692 * t5849 * t30 / 0.2e1 - t1692 * t5853 * t5591 / 0.2e1 + t1692 * t1812 * t580 / 0.2e1, t1819 * t581 / 0.2e1 + t5870 * t45 / 0.2e1 ); + const double t5889 = piecewise_functor_3( t480, 0.0, t5869 ); + const double t5894 = piecewise_functor_3( t386, 0.3e1 / 0.2e1 * t2433 * t1812 * t5671 + t1692 * t5849 * t33 / 0.2e1 - t1692 * t5853 * t5678 / 0.2e1 + t1692 * t1812 * t1006 / 0.2e1, -t1826 * t581 / 0.2e1 + t5889 * t57 / 0.2e1 ); + const double t5895 = t5875 + t5894; + const double t5905 = 0.2e1 * t1165 * t5815 + 0.2e1 * t1799 * t2056 + 0.2e1 * t1799 * t4347 + 0.2e1 * t5801 * t645 + t5799; + const double t5909 = t508 * t1844; + const double t5910 = t5909 * t5709; + const double t5913 = 0.7e1 / 0.144e3 * t5714; + const double t5916 = 0.7e1 / 0.1152e4 * t5724; + const double t5918 = -t5913 - t5717 / 0.24e2 - t5722 / 0.768e3 - t5916 - t5729 / 0.192e3; + const double t5919 = beta * t5918; + const double t5921 = t1839 * t219; + const double t5924 = t1838 * t1265; + const double t5925 = t5740 * t5924; + const double t5930 = t5745 * t1838 * t1232 * t520; + const double t5933 = t1773 * t522 * t5918; + const double t5935 = -t1266 * t5921 - t1772 * t5933 - t1842 * t5737 + t538 * t5919 + 0.2e1 * t5739 * t5925 + t5739 * t5930; + const double t5936 = t509 * t5935; + const double t5937 = t5936 * t1270; + const double t5939 = t1845 * t5757; + const double t5941 = -t1163 * t1796 - t118 * t5895 + t1273 * t1834 + 0.3e1 * t1760 * t5910 + t1760 * t5937 - t1760 * t5939 - 0.2e1 * t1800 * t2056 - 0.2e1 * t1800 * t3499 - t1830 * t624 + t1846 * t5706 - t485 * t5799 + t544 * t5905 - 0.2e1 * t5801 * t646 - 0.2e1 * t5809 * t626 - 0.2e1 * t5816 * t626 - 0.2e1 * t5820 * t626; + const double t5942 = t3 * t5941; + const double t5945 = t546 * t1856; + const double t5947 = d * t5941; + const double t5953 = t116 * t1799; + const double t5954 = t5953 * t645; + const double t5957 = t117 * t5815; + const double t5960 = 0.3e1 * t1279 * t1853 + 0.3e1 * t1281 * t1851 + 0.6e1 * t547 * t5954 + 0.3e1 * t547 * t5957 + t548 * t5947; + const double t5962 = t1901 * t550; + const double t5965 = t38 * t1859; + const double t5966 = t1981 * t5965; + const double t5971 = t55 * t60; + const double t5974 = -0.5e1 / 0.6e1 * t5971 * t581 + t5500; + const double t5975 = t5974 * t72; + const double t5976 = t5975 * t1679; + const double t5979 = t1860 * t5506; + const double t5983 = piecewise_functor_3( t8, 0.0, -t5483 * t1861 / 0.6e1 + 0.5e1 / 0.6e1 * t5966 * t5489 + t5492 * t1861 / 0.3e1 - t1675 * t5976 / 0.6e1 - t1675 * t5979 / 0.6e1 ); + const double t5984 = t5983 * t117; + const double t5986 = t1864 * t116; + const double t5991 = t1897 * t645; + const double t5994 = piecewise_functor_3( t380, 0.0, t5664 ); + const double t5999 = piecewise_functor_3( t120, t5598, t1867 * t581 / 0.2e1 + t5994 * t45 / 0.2e1 ); + const double t6001 = t1872 * t1095 / 0.288e3; + const double t6002 = t1871 * t762; + const double t6005 = t1107 * sigma_bb; + const double t6007 = t938 * t6005 * t1109; + const double t6011 = t1877 * t1120 / 0.2304e4; + const double t6013 = t339 * t1875 * t1123; + const double t6016 = t6001 - t6002 * t1103 / 0.288e3 + t6007 * t1116 / 0.1536e4 + t6011 - t6013 * t1130 / 0.2304e4; + const double t6017 = beta * t6016; + const double t6019 = t1881 * t219; + const double t6021 = t1705 * t1133; + const double t6022 = t6021 * t935; + const double t6024 = t1883 * t5570; + const double t6025 = t3117 * t452; + const double t6026 = t1880 * t1148; + const double t6027 = t6025 * t6026; + const double t6030 = t5637 * t1138; + const double t6031 = t1883 * t6030; + const double t6032 = t1107 * t1880; + const double t6034 = t1113 * t342 * t450; + const double t6035 = t6032 * t6034; + const double t6038 = t1885 * t452 * t6016; + const double t6040 = -t1149 * t6019 - t1884 * t6038 - t1887 * t6022 + t473 * t6017 + 0.2e1 * t6024 * t6027 - t6031 * t6035; + const double t6044 = t1889 * t3154; + const double t6048 = piecewise_functor_3( t480, t1153 * t198 * t330 * t6040 - t1151 * t4023 * t6044, t5664 ); + const double t6053 = piecewise_functor_3( t386, t5685, -t1893 * t581 / 0.2e1 + t6048 * t57 / 0.2e1 ); + const double t6054 = t5999 + t6053; + const double t6058 = 0.2e1 * t5986 * t645 + t5697 + t5699 + t5701 + t5984; + const double t6061 = -t1163 * t1865 - t118 * t6054 + t1273 * t1899 - t1897 * t624 - t485 * t5984 + t544 * t6058 - 0.2e1 * t5986 * t646 - 0.2e1 * t5991 * t626 - t5519 - t5521 - t5524 - t5534 + t5707 + t5712 + t5756 - t5759; + const double t6062 = t3 * t6061; + const double t6065 = t546 * t1906; + const double t6067 = d * t6061; + const double t6071 = 0.3e1 * t1281 * t1904 + t548 * t6067 + t5771 + t5775 + t5778; + const double t6073 = t3418 * t38; + const double t6076 = t84 * t1317; + const double t6077 = t77 * t6076; + const double t6080 = t578 * t1290; + const double t6085 = 0.5e1 / 0.6e1 * t5497 * t1289 + t5500; + const double t6086 = t6085 * t72; + const double t6087 = t6086 * t1679; + const double t6090 = t76 * t1313; + const double t6091 = t1678 * t6090; + const double t6095 = piecewise_functor_3( t8, 0.0, -t6073 * t1680 / 0.6e1 + 0.5e1 / 0.6e1 * t5487 * t6077 + t6080 * t1680 / 0.3e1 - t1675 * t6087 / 0.6e1 - t1675 * t6091 / 0.6e1 ); + const double t6096 = t6095 * t117; + const double t6102 = 0.2e1 * t3493 * t1689; + const double t6103 = t94 * t1338; + const double t6105 = 0.2e1 * t6103 * t1689; + const double t6106 = t1600 * t1688; + const double t6108 = 0.2e1 * t626 * t6106; + const double t6109 = t5527 * t1333; + const double t6112 = piecewise_functor_3( t115, 0.0, -t5526 - t6109 / 0.8e1 ); + const double t6113 = t485 * t6112; + const double t6115 = 0.2e1 * t626 * t6113; + const double t6117 = t1753 * t1338; + const double t6120 = t30 * t1364; + const double t6121 = t1713 * t6120; + const double t6124 = t5547 * t1369; + const double t6126 = t5552 * t1381; + const double t6128 = t5559 * t1385; + const double t6130 = -t5546 - t6124 / 0.48e2 - t6126 / 0.1536e4 - t5556 - t6128 / 0.384e3; + const double t6131 = beta * t6130; + const double t6134 = t1705 * t1388; + const double t6135 = t6134 * t935; + const double t6137 = t1702 * t1395; + const double t6138 = t5572 * t6137; + const double t6142 = t1702 * t1378 * t226; + const double t6143 = t5577 * t6142; + const double t6146 = t1708 * t228 * t6130; + const double t6148 = -t1396 * t5565 - t1707 * t6146 - t1710 * t6135 + t253 * t6131 + 0.2e1 * t5571 * t6138 + t5571 * t6143; + const double t6149 = t6148 * t823; + const double t6153 = t30 * t1398; + const double t6160 = 0.3e1 / 0.2e1 * t2433 * t6121 + t1692 * t6149 * t30 / 0.2e1 - t1692 * t5590 * t6153 / 0.2e1 + t1692 * t1713 * t1288 / 0.2e1; + const double t6167 = t5604 + t5605 * t1461 / 0.288e3 + t5610 * t1467 / 0.1536e4 + t5618 + t5620 * t1471 / 0.2304e4; + const double t6168 = beta * t6167; + const double t6171 = t1705 * t1474; + const double t6172 = t6171 * t935; + const double t6174 = t1726 * t1482; + const double t6175 = t5632 * t6174; + const double t6179 = t1464 * t342 * t345; + const double t6180 = t5640 * t6179; + const double t6183 = t1731 * t347 * t6167; + const double t6185 = -t1483 * t5626 - t1730 * t6183 - t1733 * t6172 + t373 * t6168 + 0.2e1 * t5631 * t6175 - t5639 * t6180; + const double t6192 = t1713 * t1364; + const double t6195 = t207 * t6148; + const double t6200 = -t1398 * t1692 * t5590 + t198 * t6195 * t823 + 0.3e1 * t2433 * t6192; + const double t6201 = piecewise_functor_3( t380, t198 * t330 * t6185 * t995 - t1485 * t4023 * t5652, t6200 ); + const double t6206 = piecewise_functor_3( t120, t6160, t1742 * t1289 / 0.2e1 + t6201 * t45 / 0.2e1 ); + const double t6207 = t33 * t1364; + const double t6208 = t1713 * t6207; + const double t6214 = t33 * t1398; + const double t6221 = 0.3e1 / 0.2e1 * t2433 * t6208 + t1692 * t6149 * t33 / 0.2e1 - t1692 * t5590 * t6214 / 0.2e1 + t1692 * t1713 * t1497 / 0.2e1; + const double t6222 = piecewise_functor_3( t480, 0.0, t6200 ); + const double t6227 = piecewise_functor_3( t386, t6221, -t1749 * t1289 / 0.2e1 + t6222 * t57 / 0.2e1 ); + const double t6228 = t6206 + t6227; + const double t6233 = 0.2e1 * t3493 * t1688; + const double t6234 = t93 * t1338; + const double t6236 = 0.2e1 * t6234 * t1688; + const double t6238 = 0.2e1 * t1165 * t6112; + const double t6239 = 0.2e1 * t1338 * t5514 + t6096 + t6233 + t6236 + t6238; + const double t6242 = t1604 * t196; + const double t6243 = t6242 * t197; + const double t6244 = t6243 * t1779; + const double t6245 = t1270 * t1625; + const double t6246 = t5708 * t6245; + const double t6248 = 0.3e1 * t1760 * t6246; + const double t6249 = t5716 * t1630; + const double t6251 = t5721 * t1642; + const double t6253 = t5728 * t1646; + const double t6255 = -t5715 - t6249 / 0.48e2 - t6251 / 0.1536e4 - t5725 - t6253 / 0.384e3; + const double t6256 = beta * t6255; + const double t6259 = t1705 * t1649; + const double t6260 = t6259 * t935; + const double t6262 = t1768 * t1656; + const double t6263 = t5740 * t6262; + const double t6267 = t1768 * t1639 * t520; + const double t6268 = t5745 * t6267; + const double t6271 = t1773 * t522 * t6255; + const double t6273 = -t1657 * t5734 - t1772 * t6271 - t1775 * t6260 + t538 * t6256 + 0.2e1 * t5739 * t6263 + t5739 * t6268; + const double t6274 = t509 * t6273; + const double t6275 = t6274 * t1270; + const double t6276 = t1760 * t6275; + const double t6277 = t1778 * t4359; + const double t6278 = t1760 * t6277; + const double t6279 = -t118 * t6228 - t1322 * t1753 - 0.2e1 * t1339 * t5514 - t1600 * t1684 + t1663 * t1757 - t485 * t6096 + t544 * t6239 - 0.2e1 * t6117 * t626 - t6102 - t6105 - t6108 - t6115 + t6244 + t6248 + t6276 - t6278; + const double t6280 = t3 * t6279; + const double t6284 = d * t6279; + const double t6289 = 0.3e1 * t1668 * t1786; + const double t6290 = t5772 * t1338; + const double t6292 = 0.6e1 * t547 * t6290; + const double t6293 = t117 * t6112; + const double t6295 = 0.3e1 * t547 * t6293; + const double t6296 = 0.3e1 * t1670 * t1784 + t548 * t6284 + t6289 + t6292 + t6295; + const double t6304 = t1791 * t6090; + const double t6308 = piecewise_functor_3( t8, 0.0, t6073 * t1792 / 0.3e1 - 0.5e1 / 0.3e1 * t5785 * t6077 - 0.2e1 / 0.3e1 * t6080 * t1792 - t5793 + t1675 * t6304 / 0.3e1 ); + const double t6309 = t6308 * t117; + const double t6318 = t1600 * t1799; + const double t6323 = piecewise_functor_3( t115, 0.0, -t5812 - t6109 / 0.4e1 ); + const double t6324 = t485 * t6323; + const double t6328 = t1830 * t1338; + const double t6331 = t1812 * t6120; + const double t6337 = -t5826 - t6124 / 0.24e2 - t6126 / 0.768e3 - t5829 - t6128 / 0.192e3; + const double t6338 = beta * t6337; + const double t6342 = t1805 * t1395; + const double t6343 = t5572 * t6342; + const double t6348 = t5577 * t1805 * t1378 * t226; + const double t6351 = t1708 * t228 * t6337; + const double t6353 = -t1396 * t5834 - t1707 * t6351 - t1809 * t6135 + t253 * t6338 + 0.2e1 * t5571 * t6343 + t5571 * t6348; + const double t6354 = t6353 * t823; + const double t6365 = t1812 * t1364; + const double t6368 = t207 * t6353; + const double t6373 = -t1398 * t1692 * t5853 + t198 * t6368 * t823 + 0.3e1 * t2433 * t6365; + const double t6374 = piecewise_functor_3( t380, 0.0, t6373 ); + const double t6379 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2433 * t6331 + t1692 * t6354 * t30 / 0.2e1 - t1692 * t5853 * t6153 / 0.2e1 + t1692 * t1812 * t1288 / 0.2e1, t1819 * t1289 / 0.2e1 + t6374 * t45 / 0.2e1 ); + const double t6380 = t1812 * t6207; + const double t6393 = piecewise_functor_3( t480, 0.0, t6373 ); + const double t6398 = piecewise_functor_3( t386, 0.3e1 / 0.2e1 * t2433 * t6380 + t1692 * t6354 * t33 / 0.2e1 - t1692 * t5853 * t6214 / 0.2e1 + t1692 * t1812 * t1497 / 0.2e1, -t1826 * t1289 / 0.2e1 + t6393 * t57 / 0.2e1 ); + const double t6399 = t6379 + t6398; + const double t6409 = 0.2e1 * t1165 * t6323 + 0.2e1 * t1338 * t5801 + 0.2e1 * t1799 * t3493 + 0.2e1 * t1799 * t6234 + t6309; + const double t6413 = t5909 * t6245; + const double t6419 = -t5913 - t6249 / 0.24e2 - t6251 / 0.768e3 - t5916 - t6253 / 0.192e3; + const double t6420 = beta * t6419; + const double t6424 = t1838 * t1656; + const double t6425 = t5740 * t6424; + const double t6430 = t5745 * t1838 * t1639 * t520; + const double t6433 = t1773 * t522 * t6419; + const double t6435 = -t1657 * t5921 - t1772 * t6433 - t1842 * t6260 + t538 * t6420 + 0.2e1 * t5739 * t6425 + t5739 * t6430; + const double t6436 = t509 * t6435; + const double t6437 = t6436 * t1270; + const double t6439 = t1845 * t4359; + const double t6441 = -t118 * t6399 - t1322 * t1830 - 0.2e1 * t1339 * t5801 - t1600 * t1796 + t1663 * t1834 + 0.3e1 * t1760 * t6413 + t1760 * t6437 - t1760 * t6439 - 0.2e1 * t1800 * t3493 - 0.2e1 * t1800 * t6103 + t1846 * t6243 - t485 * t6309 + t544 * t6409 - 0.2e1 * t626 * t6318 - 0.2e1 * t626 * t6324 - 0.2e1 * t626 * t6328; + const double t6442 = t3 * t6441; + const double t6446 = d * t6441; + const double t6452 = t5953 * t1338; + const double t6455 = t117 * t6323; + const double t6458 = 0.3e1 * t1668 * t1853 + 0.3e1 * t1670 * t1851 + 0.6e1 * t547 * t6452 + 0.3e1 * t547 * t6455 + t548 * t6446; + const double t6470 = -0.8e1 / 0.3e1 * t1299 * t61 - 0.5e1 / 0.6e1 * t5971 * t1289 + t5500; + const double t6471 = t6470 * t72; + const double t6472 = t6471 * t1679; + const double t6475 = t1860 * t6090; + const double t6479 = piecewise_functor_3( t8, 0.0, -t6073 * t1861 / 0.6e1 + 0.5e1 / 0.6e1 * t5966 * t6077 + t6080 * t1861 / 0.3e1 - t1675 * t6472 / 0.6e1 - t1675 * t6475 / 0.6e1 ); + const double t6480 = t6479 * t117; + const double t6486 = t1897 * t1338; + const double t6489 = piecewise_functor_3( t380, 0.0, t6200 ); + const double t6494 = piecewise_functor_3( t120, t6160, t1867 * t1289 / 0.2e1 + t6489 * t45 / 0.2e1 ); + const double t6495 = t1299 * t331; + const double t6496 = t6495 * t136; + const double t6504 = t339 * t1875 * t1569; + const double t6509 = -t6496 * t444 / 0.36e2 + t6001 - t6002 * t1558 / 0.288e3 + t6007 * t1564 / 0.1536e4 - t6504 * t463 / 0.288e3 + t6011 - t6013 * t1575 / 0.2304e4; + const double t6510 = beta * t6509; + const double t6513 = t1705 * t1578; + const double t6514 = t6513 * t935; + const double t6516 = t1880 * t1586; + const double t6517 = t6025 * t6516; + const double t6521 = t1561 * t342 * t450; + const double t6522 = t6032 * t6521; + const double t6525 = t1885 * t452 * t6509; + const double t6527 = -t1587 * t6019 - t1884 * t6525 - t1887 * t6514 + t473 * t6510 + 0.2e1 * t6024 * t6517 - t6031 * t6522; + const double t6534 = piecewise_functor_3( t480, t1153 * t198 * t330 * t6527 - t1589 * t4023 * t6044, t6200 ); + const double t6539 = piecewise_functor_3( t386, t6221, -t1893 * t1289 / 0.2e1 + t6534 * t57 / 0.2e1 ); + const double t6540 = t6494 + t6539; + const double t6544 = 0.2e1 * t1338 * t5986 + t6233 + t6236 + t6238 + t6480; + const double t6547 = -t118 * t6540 - t1322 * t1897 - 0.2e1 * t1339 * t5986 - t1600 * t1865 + t1663 * t1899 - t485 * t6480 + t544 * t6544 - 0.2e1 * t626 * t6486 - t6102 - t6105 - t6108 - t6115 + t6244 + t6248 + t6276 - t6278; + const double t6548 = t3 * t6547; + const double t6552 = d * t6547; + const double t6556 = 0.3e1 * t1670 * t1904 + t548 * t6552 + t6289 + t6292 + t6295; + const double t6558 = t1918 * t550; + const double t6561 = t1163 * t1912; + const double t6564 = t600 * t1909 / 0.3e1; + const double t6565 = t69 * t2073; + const double t6566 = t96 * t101; + const double t6567 = t6566 * t640; + const double t6571 = t630 * t43 * t101; + const double t6574 = t69 * t630; + const double t6575 = t96 * t100; + const double t6576 = t6575 * t633; + const double t6580 = piecewise_functor_3( t115, 0.0, t6564 + t6565 * t6567 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t6571 - 0.5e1 / 0.24e2 * t6574 * t6576 ); + const double t6581 = t485 * t6580; + const double t6585 = t6580 * t544; + const double t6587 = t1912 * t1273; + const double t6590 = 0.2e1 * t1165 * t6585 + 0.2e1 * t1165 * t6587 - 0.2e1 * t1913 * t2056 - 0.2e1 * t1913 * t3499 + 0.2e1 * t1915 * t2056 + 0.2e1 * t1915 * t4347 - 0.2e1 * t626 * t6561 - 0.2e1 * t626 * t6581; + const double t6591 = t3 * t6590; + const double t6594 = t546 * t1926; + const double t6596 = d * t6590; + const double t6602 = t116 * t1912; + const double t6603 = t6602 * t645; + const double t6606 = t117 * t6580; + const double t6609 = 0.3e1 * t1279 * t1923 + 0.3e1 * t1281 * t1921 + 0.6e1 * t547 * t6603 + 0.3e1 * t547 * t6606 + t548 * t6596; + const double t6611 = t1938 * t550; + const double t6614 = t1163 * t1932; + const double t6617 = t600 * t1929 / 0.3e1; + const double t6618 = t104 * t109; + const double t6619 = t6618 * t640; + const double t6622 = t104 * t108; + const double t6623 = t6622 * t636; + const double t6627 = piecewise_functor_3( t115, 0.0, t6617 + t6565 * t6619 / 0.4e1 - 0.5e1 / 0.24e2 * t6574 * t6623 ); + const double t6628 = t485 * t6627; + const double t6632 = t6627 * t544; + const double t6634 = t1932 * t1273; + const double t6637 = 0.2e1 * t1165 * t6632 + 0.2e1 * t1165 * t6634 - 0.2e1 * t1933 * t2056 - 0.2e1 * t1933 * t3499 + 0.2e1 * t1935 * t2056 + 0.2e1 * t1935 * t4347 - 0.2e1 * t626 * t6614 - 0.2e1 * t626 * t6628; + const double t6638 = t3 * t6637; + const double t6641 = t546 * t1946; + const double t6643 = d * t6637; + const double t6649 = t116 * t1932; + const double t6650 = t6649 * t645; + const double t6653 = t117 * t6627; + const double t6656 = 0.3e1 * t1279 * t1943 + 0.3e1 * t1281 * t1941 + 0.6e1 * t547 * t6650 + 0.3e1 * t547 * t6653 + t548 * t6643; + const double t6660 = t1600 * t1912; + const double t6662 = t6566 * t1333; + const double t6665 = t6575 * t1324; + const double t6669 = piecewise_functor_3( t115, 0.0, t6564 + t6565 * t6662 / 0.4e1 - 0.5e1 / 0.24e2 * t6574 * t6665 ); + const double t6670 = t485 * t6669; + const double t6674 = t6669 * t544; + const double t6676 = t1912 * t1663; + const double t6679 = 0.2e1 * t1165 * t6674 + 0.2e1 * t1165 * t6676 - 0.2e1 * t1913 * t3493 - 0.2e1 * t1913 * t6103 + 0.2e1 * t1915 * t3493 + 0.2e1 * t1915 * t6234 - 0.2e1 * t626 * t6660 - 0.2e1 * t626 * t6670; + const double t6680 = t3 * t6679; + const double t6684 = d * t6679; + const double t6690 = t6602 * t1338; + const double t6693 = t117 * t6669; + const double t6696 = 0.3e1 * t1668 * t1923 + 0.3e1 * t1670 * t1921 + 0.6e1 * t547 * t6690 + 0.3e1 * t547 * t6693 + t548 * t6684; + const double t6700 = t1600 * t1932; + const double t6702 = t6618 * t1333; + const double t6706 = t630 * t55 * t109; + const double t6709 = t6622 * t1329; + const double t6713 = piecewise_functor_3( t115, 0.0, t6617 + t6565 * t6702 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t6706 - 0.5e1 / 0.24e2 * t6574 * t6709 ); + const double t6714 = t485 * t6713; + const double t6718 = t6713 * t544; + const double t6720 = t1932 * t1663; + const double t6723 = 0.2e1 * t1165 * t6718 + 0.2e1 * t1165 * t6720 - 0.2e1 * t1933 * t3493 - 0.2e1 * t1933 * t6103 + 0.2e1 * t1935 * t3493 + 0.2e1 * t1935 * t6234 - 0.2e1 * t626 * t6700 - 0.2e1 * t626 * t6714; + const double t6724 = t3 * t6723; + const double t6728 = d * t6723; + const double t6734 = t6649 * t1338; + const double t6737 = t117 * t6713; + const double t6740 = 0.3e1 * t1668 * t1943 + 0.3e1 * t1670 * t1941 + 0.6e1 * t547 * t6734 + 0.3e1 * t547 * t6737 + t548 * t6728; + const double t6742 = t38 * t38; + const double t6743 = t1981 * t6742; + const double t6744 = t1677 * t1677; + const double t6745 = t6744 * t136; + const double t6748 = t84 * t84; + const double t6749 = t6747 * t6748; + const double t6750 = t6745 * t6749; + const double t6753 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t6743 * t6750 ); + const double t6754 = t6753 * t117; + const double t6756 = t5514 * t1689; + const double t6760 = t1688 * t1688; + const double t6761 = t94 * t6760; + const double t6763 = 0.2e1 * t6761 * t485; + const double t6764 = t1753 * t1688; + const double t6765 = t626 * t6764; + const double t6767 = piecewise_functor_3( t115, 0.0, 0.0 ); + const double t6768 = t485 * t6767; + const double t6769 = t626 * t6768; + const double t6770 = 0.2e1 * t6769; + const double t6771 = t1705 * t935; + const double t6772 = t937 * t228; + const double t6776 = t773 * t774 * t252; + const double t6777 = t6771 * t6772 * t234 * t6776; + const double t6779 = t1702 * t1702; + const double t6780 = t1705 * t6779; + const double t6781 = t6780 * t935; + const double t6782 = t1708 * t228; + const double t6786 = t6785 * t246; + const double t6787 = t6786 * t2719; + const double t6788 = t2721 * t2401; + const double t6790 = t6788 * t768 * t6779; + const double t6793 = t2721 * t811; + const double t6794 = t6793 * t768; + const double t6795 = t6787 * t6794; + const double t6796 = t6795 * t243; + const double t6798 = t6777 / 0.1536e4 - 0.2e1 * t6781 * t6782 + 0.2e1 * t6787 * t6790 - t6796 / 0.1536e4; + const double t6799 = t6798 * t823; + const double t6802 = t1712 * t1712; + const double t6803 = t6802 * t2441; + const double t6807 = t1692 * t6799 * t30 / 0.2e1 - t1692 * t6803 * t30 / 0.2e1; + const double t6808 = t6771 * t937; + const double t6809 = t347 * t353; + const double t6811 = t6808 * t6809 * t357; + const double t6813 = t242 * t947 * t372; + const double t6816 = t1726 * t1726; + const double t6817 = t1705 * t6816; + const double t6818 = t6817 * t935; + const double t6819 = t1731 * t347; + const double t6822 = t6785 * t366; + const double t6823 = t6822 * t2719; + const double t6824 = t2721 * t2775; + const double t6826 = t6824 * t940 * t6816; + const double t6829 = t2721 * t980; + const double t6830 = t6829 * t940; + const double t6831 = t6823 * t6830; + const double t6832 = t965 * t72; + const double t6833 = t774 * t947; + const double t6834 = t6832 * t6833; + const double t6837 = t6811 * t6813 / 0.1536e4 - 0.2e1 * t6818 * t6819 + 0.2e1 * t6823 * t6826 - t6831 * t6834 / 0.1536e4; + const double t6841 = t1735 * t1735; + const double t6846 = t207 * t6798; + const double t6849 = t207 * t6802; + const double t6852 = -t198 * t2441 * t6849 + t198 * t6846 * t823; + const double t6853 = piecewise_functor_3( t380, -t198 * t2814 * t330 * t6841 + t198 * t330 * t6837 * t995, t6852 ); + const double t6856 = piecewise_functor_3( t120, t6807, t6853 * t45 / 0.2e1 ); + const double t6862 = t1692 * t6799 * t33 / 0.2e1 - t1692 * t6803 * t33 / 0.2e1; + const double t6863 = piecewise_functor_3( t480, 0.0, t6852 ); + const double t6866 = piecewise_functor_3( t386, t6862, t6863 * t57 / 0.2e1 ); + const double t6867 = t6856 + t6866; + const double t6869 = t5514 * t1688; + const double t6872 = 0.2e1 * t93 * t6760; + const double t6873 = t1165 * t6767; + const double t6874 = 0.2e1 * t6873; + const double t6875 = t6754 + 0.4e1 * t6869 + t6872 + t6874; + const double t6877 = t1757 * t196; + const double t6878 = t6877 * t197; + const double t6879 = t6878 * t1779; + const double t6881 = t937 * t522; + const double t6885 = t1224 * t774 * t537; + const double t6886 = t6771 * t6881 * t234 * t6885; + const double t6888 = t1768 * t1768; + const double t6889 = t1705 * t6888; + const double t6890 = t6889 * t935; + const double t6891 = t1773 * t522; + const double t6894 = t6785 * t532; + const double t6895 = t6894 * t2719; + const double t6896 = t2721 * t3358; + const double t6898 = t6896 * t1219 * t6888; + const double t6901 = t2721 * t1258; + const double t6902 = t6901 * t1219; + const double t6903 = t6895 * t6902; + const double t6904 = t6903 * t529; + const double t6906 = t6886 / 0.1536e4 - 0.2e1 * t6890 * t6891 + 0.2e1 * t6895 * t6898 - t6904 / 0.1536e4; + const double t6907 = t509 * t6906; + const double t6908 = t6907 * t1270; + const double t6909 = t1760 * t6908; + const double t6910 = t1777 * t1777; + const double t6911 = t509 * t6910; + const double t6912 = t6911 * t3185; + const double t6913 = t1760 * t6912; + const double t6914 = -t118 * t6867 - 0.2e1 * t1684 * t1753 - t485 * t6754 + t544 * t6875 - 0.4e1 * t6756 - t6763 - 0.4e1 * t6765 - t6770 + 0.2e1 * t6879 + t6909 - t6913; + const double t6915 = t3 * t6914; + const double t6919 = d * t6914; + const double t6921 = t1784 * t1786; + const double t6923 = t116 * t6760; + const double t6925 = 0.6e1 * t547 * t6923; + const double t6926 = t117 * t6767; + const double t6928 = 0.3e1 * t547 * t6926; + const double t6929 = t548 * t6919 + 0.6e1 * t6921 + t6925 + t6928; + const double t6931 = t6742 * t68; + const double t6932 = t1981 * t6931; + const double t6934 = t6748 * t1677; + const double t6935 = t6933 * t6934; + const double t6938 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t6932 * t6935 ); + const double t6939 = t6938 * t117; + const double t6942 = 0.2e1 * t5801 * t1689; + const double t6946 = t94 * t1688; + const double t6948 = 0.2e1 * t6946 * t1800; + const double t6949 = t1753 * t1799; + const double t6953 = t1830 * t1688; + const double t6955 = 0.2e1 * t626 * t6953; + const double t6957 = t1705 * t1805; + const double t6958 = t6957 * t935; + const double t6961 = t6786 * t5637; + const double t6962 = t2401 * t768; + const double t6963 = t1805 * t1702; + const double t6964 = t6962 * t6963; + const double t6968 = t6777 / 0.768e3 - 0.2e1 * t6958 * t1710 + 0.2e1 * t6961 * t6964 - t6796 / 0.768e3; + const double t6969 = t6968 * t823; + const double t6972 = t30 * t1712; + const double t6977 = t207 * t6968; + const double t6982 = -t1692 * t1712 * t5853 + t198 * t6977 * t823; + const double t6983 = piecewise_functor_3( t380, 0.0, t6982 ); + const double t6986 = piecewise_functor_3( t120, t1692 * t6969 * t30 / 0.2e1 - t1692 * t5853 * t6972 / 0.2e1, t6983 * t45 / 0.2e1 ); + const double t6989 = t33 * t1712; + const double t6994 = piecewise_functor_3( t480, 0.0, t6982 ); + const double t6997 = piecewise_functor_3( t386, t1692 * t6969 * t33 / 0.2e1 - t1692 * t5853 * t6989 / 0.2e1, t6994 * t57 / 0.2e1 ); + const double t6998 = t6986 + t6997; + const double t6999 = t118 * t6998; + const double t7001 = 0.2e1 * t5801 * t1688; + const double t7004 = t93 * t1688; + const double t7006 = 0.2e1 * t7004 * t1799; + const double t7007 = 0.2e1 * t1799 * t5514 + t6874 + t6939 + t7001 + t7006; + const double t7009 = t1834 * t196; + const double t7010 = t7009 * t197; + const double t7011 = t7010 * t1779; + const double t7014 = t1705 * t1838; + const double t7015 = t7014 * t935; + const double t7018 = t6894 * t5637; + const double t7019 = t3358 * t1219; + const double t7020 = t1838 * t1768; + const double t7021 = t7019 * t7020; + const double t7025 = t6886 / 0.768e3 - 0.2e1 * t7015 * t1775 + 0.2e1 * t7018 * t7021 - t6904 / 0.768e3; + const double t7026 = t509 * t7025; + const double t7027 = t7026 * t1270; + const double t7028 = t1760 * t7027; + const double t7029 = t3185 * t1777; + const double t7030 = t1845 * t7029; + const double t7031 = t1760 * t7030; + const double t7032 = -t1684 * t1830 - t1753 * t1796 - 0.2e1 * t1800 * t5514 + t1846 * t6878 - t485 * t6939 + t544 * t7007 - 0.2e1 * t626 * t6949 - t6770 - t6942 - t6948 - t6955 - t6999 + t7011 + t7028 - t7031; + const double t7033 = t3 * t7032; + const double t7037 = d * t7032; + const double t7040 = 0.3e1 * t1851 * t1786; + const double t7043 = t5953 * t1688; + const double t7045 = 0.6e1 * t547 * t7043; + const double t7046 = 0.3e1 * t1784 * t1853 + t548 * t7037 + t6928 + t7040 + t7045; + const double t7048 = t6742 * t1859; + const double t7049 = t1981 * t7048; + const double t7052 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t7049 * t6935 ); + const double t7053 = t7052 * t117; + const double t7055 = t5986 * t1689; + const double t7061 = t1897 * t1688; + const double t7062 = t626 * t7061; + const double t7064 = piecewise_functor_3( t380, 0.0, t6852 ); + const double t7067 = piecewise_functor_3( t120, t6807, t7064 * t45 / 0.2e1 ); + const double t7068 = t7067 + t6866; + const double t7070 = t5986 * t1688; + const double t7073 = t7053 + 0.2e1 * t7070 + 0.2e1 * t6869 + t6872 + t6874; + const double t7075 = t1899 * t196; + const double t7076 = t7075 * t197; + const double t7077 = t7076 * t1779; + const double t7078 = -t118 * t7068 - t1684 * t1897 - t1753 * t1865 - t485 * t7053 + t544 * t7073 - 0.2e1 * t6756 - t6763 - 0.2e1 * t6765 - t6770 + t6879 + t6909 - t6913 - 0.2e1 * t7055 - 0.2e1 * t7062 + t7077; + const double t7079 = t3 * t7078; + const double t7083 = d * t7078; + const double t7085 = t1904 * t1786; + const double t7088 = t548 * t7083 + 0.3e1 * t6921 + t6925 + t6928 + 0.3e1 * t7085; + const double t7091 = 0.1e1 / t65 / t562; + const double t7092 = t7091 * t136; + const double t7093 = t7092 * t6749; + const double t7096 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.36e2 * t6743 * t7093 ); + const double t7097 = t7096 * t117; + const double t7103 = t1799 * t1799; + const double t7104 = t94 * t7103; + const double t7107 = t1830 * t1799; + const double t7111 = t1805 * t1805; + const double t7112 = t1705 * t7111; + const double t7113 = t7112 * t935; + const double t7117 = t6788 * t768 * t7111; + const double t7121 = t6777 / 0.384e3 - 0.2e1 * t7113 * t6782 + 0.2e1 * t6787 * t7117 - t6796 / 0.384e3; + const double t7122 = t7121 * t823; + const double t7125 = t1811 * t1811; + const double t7126 = t7125 * t2441; + const double t7131 = t207 * t7121; + const double t7134 = t207 * t7125; + const double t7137 = -t198 * t2441 * t7134 + t198 * t7131 * t823; + const double t7138 = piecewise_functor_3( t380, 0.0, t7137 ); + const double t7141 = piecewise_functor_3( t120, t1692 * t7122 * t30 / 0.2e1 - t1692 * t7126 * t30 / 0.2e1, t7138 * t45 / 0.2e1 ); + const double t7148 = piecewise_functor_3( t480, 0.0, t7137 ); + const double t7151 = piecewise_functor_3( t386, t1692 * t7122 * t33 / 0.2e1 - t1692 * t7126 * t33 / 0.2e1, t7148 * t57 / 0.2e1 ); + const double t7152 = t7141 + t7151; + const double t7158 = 0.4e1 * t1799 * t5801 + 0.2e1 * t7103 * t93 + t6874 + t7097; + const double t7163 = t1838 * t1838; + const double t7164 = t1705 * t7163; + const double t7165 = t7164 * t935; + const double t7169 = t6896 * t1219 * t7163; + const double t7173 = t6886 / 0.384e3 - 0.2e1 * t7165 * t6891 + 0.2e1 * t6895 * t7169 - t6904 / 0.384e3; + const double t7174 = t509 * t7173; + const double t7175 = t7174 * t1270; + const double t7177 = t1844 * t1844; + const double t7178 = t509 * t7177; + const double t7179 = t7178 * t3185; + const double t7181 = -t118 * t7152 + t1760 * t7175 - t1760 * t7179 - 0.2e1 * t1796 * t1830 - 0.4e1 * t1800 * t5801 + 0.2e1 * t1846 * t7010 - t485 * t7097 - 0.2e1 * t485 * t7104 + t544 * t7158 - 0.4e1 * t626 * t7107 - t6770; + const double t7182 = t3 * t7181; + const double t7186 = d * t7181; + const double t7190 = t116 * t7103; + const double t7193 = 0.6e1 * t1851 * t1853 + 0.6e1 * t547 * t7190 + t548 * t7186 + t6928; + const double t7195 = t6748 * t68; + const double t7196 = t6933 * t7195; + const double t7199 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t7049 * t7196 ); + const double t7200 = t7199 * t117; + const double t7206 = t1897 * t1799; + const double t7211 = 0.2e1 * t1799 * t5986 + t6874 + t7001 + t7006 + t7200; + const double t7214 = -t1796 * t1897 - 0.2e1 * t1800 * t5986 - t1830 * t1865 + t1846 * t7076 - t485 * t7200 + t544 * t7211 - 0.2e1 * t626 * t7206 - t6770 - t6942 - t6948 - t6955 - t6999 + t7011 + t7028 - t7031; + const double t7215 = t3 * t7214; + const double t7219 = d * t7214; + const double t7223 = 0.3e1 * t1853 * t1904 + t548 * t7219 + t6928 + t7040 + t7045; + const double t7225 = t1859 * t1859; + const double t7226 = t7225 * t136; + const double t7227 = t7226 * t6749; + const double t7230 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t6743 * t7227 ); + const double t7231 = t7230 * t117; + const double t7237 = t452 * t458; + const double t7239 = t6808 * t7237 * t357; + const double t7241 = t242 * t1112 * t472; + const double t7244 = t1880 * t1880; + const double t7245 = t1705 * t7244; + const double t7246 = t7245 * t935; + const double t7247 = t1885 * t452; + const double t7250 = t6785 * t466; + const double t7251 = t7250 * t2719; + const double t7252 = t2721 * t3117; + const double t7254 = t7252 * t1107 * t7244; + const double t7257 = t2721 * t1138; + const double t7258 = t7257 * t1107; + const double t7259 = t7251 * t7258; + const double t7260 = t1123 * t72; + const double t7261 = t774 * t1112; + const double t7262 = t7260 * t7261; + const double t7265 = t7239 * t7241 / 0.1536e4 - 0.2e1 * t7246 * t7247 + 0.2e1 * t7251 * t7254 - t7259 * t7262 / 0.1536e4; + const double t7269 = t1889 * t1889; + const double t7274 = piecewise_functor_3( t480, t1153 * t198 * t330 * t7265 - t198 * t3154 * t330 * t7269, t6852 ); + const double t7277 = piecewise_functor_3( t386, t6862, t7274 * t57 / 0.2e1 ); + const double t7278 = t7067 + t7277; + const double t7281 = t7231 + 0.4e1 * t7070 + t6872 + t6874; + const double t7284 = -t118 * t7278 - 0.2e1 * t1865 * t1897 - t485 * t7231 + t544 * t7281 - t6763 - t6770 + t6909 - t6913 - 0.4e1 * t7055 - 0.4e1 * t7062 + 0.2e1 * t7077; + const double t7285 = t3 * t7284; + const double t7289 = d * t7284; + const double t7292 = t548 * t7289 + t6925 + t6928 + 0.6e1 * t7085; + const double t7295 = t6946 * t1913; + const double t7296 = t1753 * t1912; + const double t7298 = t5527 * t6566; + const double t7300 = piecewise_functor_3( t115, 0.0, -t7298 / 0.8e1 ); + const double t7301 = t485 * t7300; + const double t7302 = t626 * t7301; + const double t7304 = t7004 * t1915; + const double t7305 = t7300 * t544; + const double t7306 = t1165 * t7305; + const double t7307 = t1912 * t196; + const double t7308 = t1165 * t7307; + const double t7309 = t197 * t509; + const double t7310 = t1777 * t1270; + const double t7311 = t7309 * t7310; + const double t7312 = t7308 * t7311; + const double t7314 = -0.2e1 * t1913 * t5514 + 0.2e1 * t1915 * t5514 - 0.2e1 * t626 * t7296 - 0.2e1 * t7295 - 0.2e1 * t7302 + 0.2e1 * t7304 + 0.2e1 * t7306 + 0.2e1 * t7312; + const double t7315 = t3 * t7314; + const double t7319 = d * t7314; + const double t7322 = 0.3e1 * t1921 * t1786; + const double t7325 = t6602 * t1688; + const double t7327 = 0.6e1 * t547 * t7325; + const double t7328 = t117 * t7300; + const double t7330 = 0.3e1 * t547 * t7328; + const double t7331 = 0.3e1 * t1784 * t1923 + t548 * t7319 + t7322 + t7327 + t7330; + const double t7334 = t6946 * t1933; + const double t7335 = t1753 * t1932; + const double t7337 = t5527 * t6618; + const double t7339 = piecewise_functor_3( t115, 0.0, -t7337 / 0.8e1 ); + const double t7340 = t485 * t7339; + const double t7341 = t626 * t7340; + const double t7343 = t7004 * t1935; + const double t7344 = t7339 * t544; + const double t7345 = t1165 * t7344; + const double t7346 = t1932 * t196; + const double t7347 = t1165 * t7346; + const double t7348 = t7347 * t7311; + const double t7350 = -0.2e1 * t1933 * t5514 + 0.2e1 * t1935 * t5514 - 0.2e1 * t626 * t7335 - 0.2e1 * t7334 - 0.2e1 * t7341 + 0.2e1 * t7343 + 0.2e1 * t7345 + 0.2e1 * t7348; + const double t7351 = t3 * t7350; + const double t7355 = d * t7350; + const double t7358 = 0.3e1 * t1941 * t1786; + const double t7361 = t6649 * t1688; + const double t7363 = 0.6e1 * t547 * t7361; + const double t7364 = t117 * t7339; + const double t7366 = 0.3e1 * t547 * t7364; + const double t7367 = 0.3e1 * t1784 * t1943 + t548 * t7355 + t7358 + t7363 + t7366; + const double t7370 = t94 * t1799; + const double t7372 = t1830 * t1912; + const double t7375 = piecewise_functor_3( t115, 0.0, -t7298 / 0.4e1 ); + const double t7376 = t485 * t7375; + const double t7379 = t93 * t1799; + const double t7381 = t7375 * t544; + const double t7383 = t1844 * t1270; + const double t7384 = t7309 * t7383; + const double t7387 = 0.2e1 * t1165 * t7381 - 0.2e1 * t1913 * t5801 - 0.2e1 * t1913 * t7370 + 0.2e1 * t1915 * t5801 + 0.2e1 * t1915 * t7379 - 0.2e1 * t626 * t7372 - 0.2e1 * t626 * t7376 + 0.2e1 * t7308 * t7384; + const double t7388 = t3 * t7387; + const double t7392 = d * t7387; + const double t7398 = t6602 * t1799; + const double t7401 = t117 * t7375; + const double t7404 = 0.3e1 * t1851 * t1923 + 0.3e1 * t1853 * t1921 + 0.6e1 * t547 * t7398 + 0.3e1 * t547 * t7401 + t548 * t7392; + const double t7408 = t1830 * t1932; + const double t7411 = piecewise_functor_3( t115, 0.0, -t7337 / 0.4e1 ); + const double t7412 = t485 * t7411; + const double t7416 = t7411 * t544; + const double t7420 = 0.2e1 * t1165 * t7416 - 0.2e1 * t1933 * t5801 - 0.2e1 * t1933 * t7370 + 0.2e1 * t1935 * t5801 + 0.2e1 * t1935 * t7379 - 0.2e1 * t626 * t7408 - 0.2e1 * t626 * t7412 + 0.2e1 * t7347 * t7384; + const double t7421 = t3 * t7420; + const double t7425 = d * t7420; + const double t7431 = t6649 * t1799; + const double t7434 = t117 * t7411; + const double t7437 = 0.3e1 * t1851 * t1943 + 0.3e1 * t1853 * t1941 + 0.6e1 * t547 * t7431 + 0.3e1 * t547 * t7434 + t548 * t7425; + const double t7440 = t1897 * t1912; + const double t7444 = -0.2e1 * t1913 * t5986 + 0.2e1 * t1915 * t5986 - 0.2e1 * t626 * t7440 - 0.2e1 * t7295 - 0.2e1 * t7302 + 0.2e1 * t7304 + 0.2e1 * t7306 + 0.2e1 * t7312; + const double t7445 = t3 * t7444; + const double t7449 = d * t7444; + const double t7453 = 0.3e1 * t1904 * t1923 + t548 * t7449 + t7322 + t7327 + t7330; + const double t7456 = t1897 * t1932; + const double t7460 = -0.2e1 * t1933 * t5986 + 0.2e1 * t1935 * t5986 - 0.2e1 * t626 * t7456 - 0.2e1 * t7334 - 0.2e1 * t7341 + 0.2e1 * t7343 + 0.2e1 * t7345 + 0.2e1 * t7348; + const double t7461 = t3 * t7460; + const double t7465 = d * t7460; + const double t7469 = 0.3e1 * t1904 * t1943 + t548 * t7465 + t7358 + t7363 + t7366; + const double t7471 = t1912 * t1912; + const double t7472 = t94 * t7471; + const double t7475 = 0.1e1 / t40 / t586; + const double t7477 = t98 * t98; + const double t7479 = t99 * t7477 * t98; + const double t7480 = t2073 * t7475 * t7479; + const double t7483 = piecewise_functor_3( t115, 0.0, t69 * t7480 / 0.4e1 ); + const double t7484 = t485 * t7483; + const double t7486 = t93 * t7471; + const double t7488 = t7483 * t544; + const double t7491 = 0.2e1 * t1165 * t7488 - 0.2e1 * t485 * t7472 + 0.2e1 * t544 * t7486 - 0.2e1 * t626 * t7484; + const double t7492 = t3 * t7491; + const double t7496 = d * t7491; + const double t7500 = t116 * t7471; + const double t7503 = t117 * t7483; + const double t7506 = 0.6e1 * t1921 * t1923 + 0.6e1 * t547 * t7500 + 0.3e1 * t547 * t7503 + t548 * t7496; + const double t7508 = t94 * t1912; + const double t7510 = t6618 * t6566; + const double t7513 = piecewise_functor_3( t115, 0.0, t6565 * t7510 / 0.4e1 ); + const double t7514 = t485 * t7513; + const double t7516 = t93 * t1912; + const double t7518 = t7513 * t544; + const double t7521 = 0.2e1 * t1165 * t7518 - 0.2e1 * t1933 * t7508 + 0.2e1 * t1935 * t7516 - 0.2e1 * t626 * t7514; + const double t7522 = t3 * t7521; + const double t7526 = d * t7521; + const double t7532 = t6649 * t1912; + const double t7535 = t117 * t7513; + const double t7538 = 0.3e1 * t1921 * t1943 + 0.3e1 * t1923 * t1941 + 0.6e1 * t547 * t7532 + 0.3e1 * t547 * t7535 + t548 * t7526; + const double t7540 = t1932 * t1932; + const double t7541 = t94 * t7540; + const double t7544 = 0.1e1 / t52 / t1297; + const double t7546 = t106 * t106; + const double t7548 = t107 * t7546 * t106; + const double t7549 = t2073 * t7544 * t7548; + const double t7552 = piecewise_functor_3( t115, 0.0, t69 * t7549 / 0.4e1 ); + const double t7553 = t485 * t7552; + const double t7555 = t93 * t7540; + const double t7557 = t7552 * t544; + const double t7560 = 0.2e1 * t1165 * t7557 - 0.2e1 * t485 * t7541 + 0.2e1 * t544 * t7555 - 0.2e1 * t626 * t7553; + const double t7561 = t3 * t7560; + const double t7565 = d * t7560; + const double t7569 = t116 * t7540; + const double t7572 = t117 * t7552; + const double t7575 = 0.6e1 * t1941 * t1943 + 0.6e1 * t547 * t7569 + 0.3e1 * t547 * t7572 + t548 * t7565; + + + v2rho2_aa = 0.2e1 * t1276 * t1284 + t1278 * t3413 + t3399 * t550 + 0.2e1 * t1948 + 0.2e1 * t1950; + v2rho2_ab = t1276 * t1673 + t1278 * t4562 + t1284 * t1666 + t4544 * t550 + t1948 + t1950 + t3415 + t4547; + v2rho2_bb = t1278 * t5480 + 0.2e1 * t1666 * t1673 + t5466 * t550 + 0.2e1 * t3415 + 0.2e1 * t4547; + v2rhosigma_a_aa = t1276 * t1789 + t1278 * t5779 + t1284 * t1782 + t550 * t5761 + t5482 + t5764; + v2rhosigma_a_ab = t1276 * t1856 + t1278 * t5960 + t1284 * t1849 + t550 * t5942 + t5781 + t5945; + v2rhosigma_a_bb = t1276 * t1906 + t1278 * t6071 + t1284 * t1902 + t550 * t6062 + t5962 + t6065; + v2rhosigma_b_aa = t1278 * t6296 + t1666 * t1789 + t1673 * t1782 + t550 * t6280 + t5482 + t5764; + v2rhosigma_b_ab = t1278 * t6458 + t1666 * t1856 + t1673 * t1849 + t550 * t6442 + t5781 + t5945; + v2rhosigma_b_bb = t1278 * t6556 + t1666 * t1906 + t1673 * t1902 + t550 * t6548 + t5962 + t6065; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1276 * t1926 + t1278 * t6609 + t1284 * t1919 + t550 * t6591 + t6558 + t6594; + v2rhotau_a_b = t1276 * t1946 + t1278 * t6656 + t1284 * t1939 + t550 * t6638 + t6611 + t6641; + v2rhotau_b_a = t1278 * t6696 + t1666 * t1926 + t1673 * t1919 + t550 * t6680 + t6558 + t6594; + v2rhotau_b_b = t1278 * t6740 + t1666 * t1946 + t1673 * t1939 + t550 * t6724 + t6611 + t6641; + v2sigma2_aa_aa = t1278 * t6929 + 0.2e1 * t1782 * t1789 + t550 * t6915; + v2sigma2_aa_ab = t1278 * t7046 + t1782 * t1856 + t1789 * t1849 + t550 * t7033; + v2sigma2_aa_bb = t1278 * t7088 + t1782 * t1906 + t1789 * t1902 + t550 * t7079; + v2sigma2_ab_ab = t1278 * t7193 + 0.2e1 * t1849 * t1856 + t550 * t7182; + v2sigma2_ab_bb = t1278 * t7223 + t1849 * t1906 + t1856 * t1902 + t550 * t7215; + v2sigma2_bb_bb = t1278 * t7292 + 0.2e1 * t1902 * t1906 + t550 * t7285; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t1278 * t7331 + t1782 * t1926 + t1789 * t1919 + t550 * t7315; + v2sigmatau_aa_b = t1278 * t7367 + t1782 * t1946 + t1789 * t1939 + t550 * t7351; + v2sigmatau_ab_a = t1278 * t7404 + t1849 * t1926 + t1856 * t1919 + t550 * t7388; + v2sigmatau_ab_b = t1278 * t7437 + t1849 * t1946 + t1856 * t1939 + t550 * t7421; + v2sigmatau_bb_a = t1278 * t7453 + t1902 * t1926 + t1906 * t1919 + t550 * t7445; + v2sigmatau_bb_b = t1278 * t7469 + t1902 * t1946 + t1906 * t1939 + t550 * t7461; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t1278 * t7506 + 0.2e1 * t1919 * t1926 + t550 * t7492; + v2tau2_ab = t1278 * t7538 + t1919 * t1946 + t1926 * t1939 + t550 * t7522; + v2tau2_bb = t1278 * t7575 + 0.2e1 * t1939 * t1946 + t550 * t7561; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(lapl_a); + (void)(lapl_b); + constexpr double t72 = constants::m_cbrt_3; + constexpr double t73 = constants::m_pi_sq; + constexpr double t74 = constants::m_cbrt_pi_sq; + constexpr double t122 = constants::m_cbrt_one_ov_pi; + constexpr double t124 = constants::m_cbrt_4; + constexpr double t159 = constants::m_cbrt_2; + constexpr double t9 = C0_c_0; + constexpr double t10 = C0_c_1; + constexpr double t11 = C0_c_2; + constexpr double t12 = C0_c_3; + constexpr double t75 = t74 * t74; + constexpr double t76 = 0.1e1 / t75; + constexpr double t77 = t72 * t76; + constexpr double t123 = t72 * t122; + constexpr double t125 = t124 * t124; + constexpr double t136 = t72 * t72; + constexpr double t137 = t122 * t122; + constexpr double t138 = t136 * t137; + constexpr double t197 = 0.1e1 / t73; + constexpr double t214 = 0.1e1 / t122; + constexpr double t215 = t214 * t124; + constexpr double t235 = t159 * t159; + constexpr double t240 = 0.1e1 / t137; + constexpr double t241 = t72 * t240; + constexpr double t242 = t241 * t125; + constexpr double t262 = t123 * t125; + constexpr double t275 = t138 * t124; + constexpr double t660 = t122 * t125; + constexpr double t762 = t136 * t214; + constexpr double t774 = t240 * t125; + constexpr double t937 = t73 * t73; + constexpr double t1695 = t762 * t124; + constexpr double t1705 = beta * beta; + constexpr double t2231 = t137 * t124; + constexpr double t2721 = t937 * t73; + constexpr double t6747 = 0.1e1 / t74 / t73; + constexpr double t6785 = t1705 * beta; + constexpr double t6933 = t136 * t6747; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t7 = piecewise_functor_3( 0.e0 < t5, t5, -t5 ); + const double t8 = -t7 <= -0.999999999999e0; + const double t14 = t2 * t2; + const double t15 = t10 * t14; + const double t16 = t3 * t3; + const double t17 = 0.1e1 / t16; + const double t19 = t14 * t14; + const double t20 = t11 * t19; + const double t21 = t16 * t16; + const double t22 = 0.1e1 / t21; + const double t25 = t12 * t19 * t14; + const double t26 = t21 * t16; + const double t27 = 0.1e1 / t26; + const double t29 = t15 * t17 + t20 * t22 + t25 * t27 + t9; + const double t30 = 0.1e1 + t5; + const double t31 = t30 <= zeta_tol; + const double t32 = zeta_tol - 0.1e1; + const double t33 = 0.1e1 - t5; + const double t34 = t33 <= zeta_tol; + const double t36 = piecewise_functor_5( t31, t32, t34, -t32, t5 ); + const double t37 = t36 * t36; + const double t38 = 0.1e1 - t37; + const double t39 = rho_a * rho_a; + const double t40 = safe_math::cbrt( rho_a ); + const double t41 = t40 * t40; + const double t43 = 0.1e1 / t41 / t39; + const double t44 = sigma_aa * t43; + const double t45 = 0.1e1 + t36; + const double t46 = t45 / 0.2e1; + const double t47 = safe_math::cbrt( t46 ); + const double t48 = t47 * t47; + const double t49 = t48 * t46; + const double t51 = rho_b * rho_b; + const double t52 = safe_math::cbrt( rho_b ); + const double t53 = t52 * t52; + const double t55 = 0.1e1 / t53 / t51; + const double t56 = sigma_bb * t55; + const double t57 = 0.1e1 - t36; + const double t58 = t57 / 0.2e1; + const double t59 = safe_math::cbrt( t58 ); + const double t60 = t59 * t59; + const double t61 = t60 * t58; + const double t64 = sigma_aa + 0.2e1 * sigma_ab + sigma_bb; + const double t65 = safe_math::cbrt( t3 ); + const double t66 = t65 * t65; + const double t68 = 0.1e1 / t66 / t16; + const double t69 = t64 * t68; + const double t70 = t44 * t49 + t56 * t61 - t69; + const double t71 = t38 * t70; + const double t78 = safe_math::cbrt( t45 ); + const double t79 = t78 * t45; + const double t80 = 0.1e1 / t79; + const double t81 = safe_math::cbrt( t57 ); + const double t82 = t81 * t57; + const double t83 = 0.1e1 / t82; + const double t84 = t80 + t83; + const double t85 = t77 * t84; + const double t88 = 0.1e1 + t71 * t85 / 0.24e2; + const double t89 = t88 * t88; + const double t90 = t89 * t89; + const double t91 = 0.1e1 / t90; + const double t93 = piecewise_functor_3( t8, t9 + t10 + t11 + t12, t29 * t91 ); + const double t94 = 0.1e1 + t93; + const double t96 = 0.1e1 / t41 / rho_a; + const double t97 = tau_a * t96; + const double t98 = t30 / 0.2e1; + const double t99 = safe_math::cbrt( t98 ); + const double t100 = t99 * t99; + const double t101 = t100 * t98; + const double t104 = 0.1e1 / t53 / rho_b; + const double t105 = tau_b * t104; + const double t106 = t33 / 0.2e1; + const double t107 = safe_math::cbrt( t106 ); + const double t108 = t107 * t107; + const double t109 = t108 * t106; + const double t111 = t101 * t97 + t105 * t109; + const double t112 = 0.1e1 / t111; + const double t114 = t69 * t112 / 0.8e1; + const double t115 = 0.1e1 < t114; + const double t116 = piecewise_functor_3( t115, 1.0, t114 ); + const double t117 = t116 * t116; + const double t118 = t94 * t117; + const double t120 = rho_a <= dens_tol || t31; + const double t126 = 0.1e1 / t65; + const double t127 = t125 * t126; + const double t128 = t123 * t127; + const double t130 = 0.1e1 + 0.53425e-1 * t128; + const double t131 = safe_math::sqrt( t128 ); + const double t134 = pow_3_2( t128 ); + const double t139 = 0.1e1 / t66; + const double t140 = t124 * t139; + const double t141 = t138 * t140; + const double t143 = 0.379785e1 * t131 + 0.8969e0 * t128 + 0.204775e0 * t134 + 0.123235e0 * t141; + const double t146 = 0.1e1 + 0.16081979498692535067e2 / t143; + const double t147 = safe_math::log( t146 ); + const double t149 = 0.621814e-1 * t130 * t147; + const double t150 = t37 * t37; + const double t151 = t45 <= zeta_tol; + const double t152 = safe_math::cbrt( zeta_tol ); + const double t153 = t152 * zeta_tol; + const double t154 = piecewise_functor_3( t151, t153, t79 ); + const double t155 = t57 <= zeta_tol; + const double t156 = piecewise_functor_3( t155, t153, t82 ); + const double t157 = t154 + t156 - 0.2e1; + const double t158 = t150 * t157; + const double t162 = 0.1e1 / ( 0.2e1 * t159 - 0.2e1 ); + const double t164 = 0.1e1 + 0.5137e-1 * t128; + const double t169 = 0.705945e1 * t131 + 0.1549425e1 * t128 + 0.420775e0 * t134 + 0.1562925e0 * t141; + const double t172 = 0.1e1 + 0.32163958997385070134e2 / t169; + const double t173 = safe_math::log( t172 ); + const double t177 = 0.1e1 + 0.278125e-1 * t128; + const double t182 = 0.51785e1 * t131 + 0.905775e0 * t128 + 0.1100325e0 * t134 + 0.1241775e0 * t141; + const double t185 = 0.1e1 + 0.29608749977793437516e2 / t182; + const double t186 = safe_math::log( t185 ); + const double t187 = t177 * t186; + const double t189 = -0.310907e-1 * t164 * t173 + t149 - 0.19751673498613801407e-1 * t187; + const double t190 = t162 * t189; + const double t191 = t158 * t190; + const double t192 = t157 * t162; + const double t194 = 0.19751673498613801407e-1 * t192 * t187; + const double t195 = safe_math::log( 0.2e1 ); + const double t196 = 0.1e1 - t195; + const double t198 = t196 * t197; + const double t199 = t152 * t152; + const double t200 = t78 * t78; + const double t201 = piecewise_functor_3( t151, t199, t200 ); + const double t202 = t81 * t81; + const double t203 = piecewise_functor_3( t155, t199, t202 ); + const double t205 = t201 / 0.2e1 + t203 / 0.2e1; + const double t206 = t205 * t205; + const double t207 = t206 * t205; + const double t209 = 0.1e1 / t65 / t16; + const double t210 = t64 * t209; + const double t211 = t210 * t159; + const double t212 = 0.1e1 / t206; + const double t216 = t212 * t136 * t215; + const double t219 = 0.1e1 / t196; + const double t220 = beta * t219; + const double t222 = ( -t149 + t191 + t194 ) * t219; + const double t223 = 0.1e1 / t207; + const double t224 = t73 * t223; + const double t226 = safe_math::exp( -t222 * t224 ); + const double t227 = t226 - 0.1e1; + const double t228 = 0.1e1 / t227; + const double t229 = t73 * t228; + const double t230 = t64 * t64; + const double t232 = t220 * t229 * t230; + const double t234 = 0.1e1 / t66 / t21; + const double t236 = t234 * t235; + const double t237 = t206 * t206; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t243 = t239 * t242; + const double t246 = t211 * t216 / 0.96e2 + t232 * t243 / 0.3072e4; + const double t247 = beta * t246; + const double t248 = t219 * t73; + const double t251 = t220 * t229 * t246 + 0.1e1; + const double t252 = 0.1e1 / t251; + const double t253 = t248 * t252; + const double t255 = t247 * t253 + 0.1e1; + const double t256 = safe_math::log( t255 ); + const double t259 = t198 * t207 * t256 - t149 + t191 + t194; + const double t263 = t126 * t159; + const double t264 = 0.1e1 / t45; + const double t265 = safe_math::cbrt( t264 ); + const double t267 = t262 * t263 * t265; + const double t269 = 0.1e1 + 0.53425e-1 * t267; + const double t270 = safe_math::sqrt( t267 ); + const double t273 = pow_3_2( t267 ); + const double t276 = t139 * t235; + const double t277 = t265 * t265; + const double t279 = t275 * t276 * t277; + const double t281 = 0.379785e1 * t270 + 0.8969e0 * t267 + 0.204775e0 * t273 + 0.123235e0 * t279; + const double t284 = 0.1e1 + 0.16081979498692535067e2 / t281; + const double t285 = safe_math::log( t284 ); + const double t287 = 0.621814e-1 * t269 * t285; + const double t288 = 0.2e1 <= zeta_tol; + const double t290 = piecewise_functor_3( t288, t153, 0.2e1 * t159 ); + const double t291 = 0.e0 <= zeta_tol; + const double t292 = piecewise_functor_3( t291, t153, 0.0 ); + const double t294 = ( t290 + t292 - 0.2e1 ) * t162; + const double t296 = 0.1e1 + 0.5137e-1 * t267; + const double t301 = 0.705945e1 * t270 + 0.1549425e1 * t267 + 0.420775e0 * t273 + 0.1562925e0 * t279; + const double t304 = 0.1e1 + 0.32163958997385070134e2 / t301; + const double t305 = safe_math::log( t304 ); + const double t309 = 0.1e1 + 0.278125e-1 * t267; + const double t314 = 0.51785e1 * t270 + 0.905775e0 * t267 + 0.1100325e0 * t273 + 0.1241775e0 * t279; + const double t317 = 0.1e1 + 0.29608749977793437516e2 / t314; + const double t318 = safe_math::log( t317 ); + const double t319 = t309 * t318; + const double t322 = t294 * ( -0.310907e-1 * t296 * t305 + t287 - 0.19751673498613801407e-1 * t319 ); + const double t324 = 0.19751673498613801407e-1 * t294 * t319; + const double t325 = piecewise_functor_3( t288, t199, t235 ); + const double t326 = piecewise_functor_3( t291, t199, 0.0 ); + const double t328 = t325 / 0.2e1 + t326 / 0.2e1; + const double t329 = t328 * t328; + const double t330 = t329 * t328; + const double t331 = 0.1e1 / t329; + const double t332 = t331 * t136; + const double t333 = t44 * t332; + const double t334 = 0.1e1 / t265; + const double t336 = t215 * t65 * t334; + const double t339 = t220 * t73; + const double t342 = 0.1e1 / t330; + const double t343 = t73 * t342; + const double t345 = safe_math::exp( -( -t287 + t322 + t324 ) * t219 * t343 ); + const double t346 = t345 - 0.1e1; + const double t347 = 0.1e1 / t346; + const double t348 = sigma_aa * sigma_aa; + const double t349 = t347 * t348; + const double t350 = t39 * t39; + const double t351 = t350 * rho_a; + const double t353 = 0.1e1 / t40 / t351; + const double t355 = t339 * t349 * t353; + const double t356 = t329 * t329; + const double t357 = 0.1e1 / t356; + const double t358 = t357 * t72; + const double t359 = t358 * t240; + const double t360 = t125 * t66; + const double t361 = 0.1e1 / t277; + const double t363 = t359 * t360 * t361; + const double t366 = t333 * t336 / 0.96e2 + t355 * t363 / 0.3072e4; + const double t367 = beta * t366; + const double t368 = t73 * t347; + const double t371 = t220 * t366 * t368 + 0.1e1; + const double t372 = 0.1e1 / t371; + const double t373 = t248 * t372; + const double t375 = t367 * t373 + 0.1e1; + const double t376 = safe_math::log( t375 ); + const double t379 = t198 * t330 * t376 - t287 + t322 + t324; + const double t380 = t259 < t379; + const double t381 = piecewise_functor_3( t380, t379, t259 ); + const double t384 = piecewise_functor_3( t120, t259 * t30 / 0.2e1, t381 * t45 / 0.2e1 ); + const double t386 = rho_b <= dens_tol || t34; + const double t389 = 0.1e1 / t57; + const double t390 = safe_math::cbrt( t389 ); + const double t392 = t262 * t263 * t390; + const double t394 = 0.1e1 + 0.53425e-1 * t392; + const double t395 = safe_math::sqrt( t392 ); + const double t398 = pow_3_2( t392 ); + const double t400 = t390 * t390; + const double t402 = t275 * t276 * t400; + const double t404 = 0.379785e1 * t395 + 0.8969e0 * t392 + 0.204775e0 * t398 + 0.123235e0 * t402; + const double t407 = 0.1e1 + 0.16081979498692535067e2 / t404; + const double t408 = safe_math::log( t407 ); + const double t410 = 0.621814e-1 * t394 * t408; + const double t412 = 0.1e1 + 0.5137e-1 * t392; + const double t417 = 0.705945e1 * t395 + 0.1549425e1 * t392 + 0.420775e0 * t398 + 0.1562925e0 * t402; + const double t420 = 0.1e1 + 0.32163958997385070134e2 / t417; + const double t421 = safe_math::log( t420 ); + const double t425 = 0.1e1 + 0.278125e-1 * t392; + const double t430 = 0.51785e1 * t395 + 0.905775e0 * t392 + 0.1100325e0 * t398 + 0.1241775e0 * t402; + const double t433 = 0.1e1 + 0.29608749977793437516e2 / t430; + const double t434 = safe_math::log( t433 ); + const double t435 = t425 * t434; + const double t438 = t294 * ( -0.310907e-1 * t412 * t421 + t410 - 0.19751673498613801407e-1 * t435 ); + const double t440 = 0.19751673498613801407e-1 * t294 * t435; + const double t441 = t56 * t332; + const double t442 = 0.1e1 / t390; + const double t444 = t215 * t65 * t442; + const double t450 = safe_math::exp( -( -t410 + t438 + t440 ) * t219 * t343 ); + const double t451 = t450 - 0.1e1; + const double t452 = 0.1e1 / t451; + const double t453 = sigma_bb * sigma_bb; + const double t454 = t452 * t453; + const double t455 = t51 * t51; + const double t456 = t455 * rho_b; + const double t458 = 0.1e1 / t52 / t456; + const double t460 = t339 * t454 * t458; + const double t461 = 0.1e1 / t400; + const double t463 = t359 * t360 * t461; + const double t466 = t441 * t444 / 0.96e2 + t460 * t463 / 0.3072e4; + const double t467 = beta * t466; + const double t468 = t73 * t452; + const double t471 = t220 * t466 * t468 + 0.1e1; + const double t472 = 0.1e1 / t471; + const double t473 = t248 * t472; + const double t475 = t467 * t473 + 0.1e1; + const double t476 = safe_math::log( t475 ); + const double t479 = t198 * t330 * t476 - t410 + t438 + t440; + const double t480 = t259 < t479; + const double t481 = piecewise_functor_3( t480, t479, t259 ); + const double t484 = piecewise_functor_3( t386, t259 * t33 / 0.2e1, t481 * t57 / 0.2e1 ); + const double t485 = t384 + t484; + const double t488 = t117 * t93 + 0.1e1; + const double t489 = t19 * t22; + const double t490 = safe_math::cbrt( t30 ); + const double t491 = t490 * t30; + const double t492 = piecewise_functor_3( t31, t153, t491 ); + const double t493 = safe_math::cbrt( t33 ); + const double t494 = t493 * t33; + const double t495 = piecewise_functor_3( t34, t153, t494 ); + const double t496 = t492 + t495 - 0.2e1; + const double t497 = t496 * t162; + const double t498 = t497 * t189; + const double t499 = t489 * t498; + const double t501 = 0.19751673498613801407e-1 * t497 * t187; + const double t502 = t490 * t490; + const double t503 = piecewise_functor_3( t31, t199, t502 ); + const double t504 = t493 * t493; + const double t505 = piecewise_functor_3( t34, t199, t504 ); + const double t507 = t503 / 0.2e1 + t505 / 0.2e1; + const double t508 = t507 * t507; + const double t509 = t508 * t507; + const double t510 = 0.1e1 / t508; + const double t512 = t510 * t136 * t215; + const double t516 = ( -t149 + t499 + t501 ) * t219; + const double t517 = 0.1e1 / t509; + const double t518 = t73 * t517; + const double t520 = safe_math::exp( -t516 * t518 ); + const double t521 = t520 - 0.1e1; + const double t522 = 0.1e1 / t521; + const double t523 = t73 * t522; + const double t525 = t220 * t523 * t230; + const double t526 = t508 * t508; + const double t527 = 0.1e1 / t526; + const double t528 = t236 * t527; + const double t529 = t528 * t242; + const double t532 = t211 * t512 / 0.96e2 + t525 * t529 / 0.3072e4; + const double t533 = beta * t532; + const double t536 = t220 * t523 * t532 + 0.1e1; + const double t537 = 0.1e1 / t536; + const double t538 = t248 * t537; + const double t540 = t533 * t538 + 0.1e1; + const double t541 = safe_math::log( t540 ); + const double t544 = t198 * t509 * t541 - t149 + t499 + t501; + const double t546 = -t118 * t485 + t488 * t544; + const double t547 = d * t546; + const double t548 = t117 * t116; + const double t550 = t547 * t548 + 0.1e1; + const double tzk0 = t546 * t550; + const double t551 = t10 * t2; + const double t553 = 0.2e1 * t551 * t17; + const double t554 = t16 * t3; + const double t555 = 0.1e1 / t554; + const double t557 = 0.2e1 * t15 * t555; + const double t558 = t14 * t2; + const double t559 = t11 * t558; + const double t561 = 0.4e1 * t559 * t22; + const double t562 = t21 * t3; + const double t563 = 0.1e1 / t562; + const double t565 = 0.4e1 * t20 * t563; + const double t567 = t12 * t19 * t2; + const double t569 = 0.6e1 * t567 * t27; + const double t570 = t21 * t554; + const double t571 = 0.1e1 / t570; + const double t573 = 0.6e1 * t25 * t571; + const double t574 = t553 - t557 + t561 - t565 + t569 - t573; + const double t577 = 0.1e1 / t90 / t88; + const double t578 = t29 * t577; + const double t579 = t2 * t17; + const double t580 = t4 - t579; + const double t581 = piecewise_functor_5( t31, 0.0, t34, 0.0, t580 ); + const double t582 = t36 * t581; + const double t583 = t582 * t70; + const double t586 = t39 * rho_a; + const double t588 = 0.1e1 / t41 / t586; + const double t589 = sigma_aa * t588; + const double t592 = t48 * t581; + const double t595 = t60 * t581; + const double t599 = 0.1e1 / t66 / t554; + const double t600 = t64 * t599; + const double t601 = 0.8e1 / 0.3e1 * t600; + const double t602 = -0.8e1 / 0.3e1 * t589 * t49 + 0.5e1 / 0.6e1 * t44 * t592 - 0.5e1 / 0.6e1 * t56 * t595 + t601; + const double t603 = t38 * t602; + const double t606 = t45 * t45; + const double t608 = 0.1e1 / t78 / t606; + const double t610 = t57 * t57; + const double t612 = 0.1e1 / t81 / t610; + const double t615 = -0.4e1 / 0.3e1 * t608 * t581 + 0.4e1 / 0.3e1 * t612 * t581; + const double t616 = t77 * t615; + const double t619 = -t583 * t85 / 0.12e2 + t603 * t85 / 0.24e2 + t71 * t616 / 0.24e2; + const double t623 = piecewise_functor_3( t8, 0.0, t574 * t91 - 0.4e1 * t578 * t619 ); + const double t624 = t623 * t117; + const double t626 = t94 * t116; + const double t628 = t600 * t112 / 0.3e1; + const double t629 = t111 * t111; + const double t630 = 0.1e1 / t629; + const double t631 = tau_a * t43; + const double t633 = t580 / 0.2e1; + const double t634 = t100 * t633; + const double t636 = -t633; + const double t637 = t108 * t636; + const double t640 = -0.5e1 / 0.3e1 * t631 * t101 + 0.5e1 / 0.3e1 * t105 * t637 + 0.5e1 / 0.3e1 * t97 * t634; + const double t641 = t630 * t640; + const double t645 = piecewise_functor_3( t115, 0.0, -t628 - t69 * t641 / 0.8e1 ); + const double t646 = t485 * t645; + const double t649 = t65 * t3; + const double t650 = 0.1e1 / t649; + const double t651 = t125 * t650; + const double t654 = 0.11073470983333333333e-2 * t123 * t651 * t147; + const double t655 = t143 * t143; + const double t656 = 0.1e1 / t655; + const double t657 = t130 * t656; + const double t659 = 0.1e1 / t131 * t72; + const double t661 = t660 * t650; + const double t662 = t659 * t661; + const double t664 = t123 * t651; + const double t666 = safe_math::sqrt( t128 ); + const double t667 = t666 * t72; + const double t668 = t667 * t661; + const double t671 = 0.1e1 / t66 / t3; + const double t672 = t124 * t671; + const double t673 = t138 * t672; + const double t675 = -0.632975e0 * t662 - 0.29896666666666666667e0 * t664 - 0.1023875e0 * t668 - 0.82156666666666666667e-1 * t673; + const double t676 = 0.1e1 / t146; + const double t677 = t675 * t676; + const double t679 = 0.1e1 * t657 * t677; + const double t680 = t37 * t36; + const double t681 = t680 * t157; + const double t682 = t190 * t581; + const double t684 = 0.4e1 * t681 * t682; + const double t687 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t581 ); + const double t690 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t581 ); + const double t691 = t687 + t690; + const double t692 = t150 * t691; + const double t693 = t692 * t190; + const double t697 = t169 * t169; + const double t698 = 0.1e1 / t697; + const double t699 = t164 * t698; + const double t704 = -0.1176575e1 * t662 - 0.516475e0 * t664 - 0.2103875e0 * t668 - 0.104195e0 * t673; + const double t705 = 0.1e1 / t172; + const double t706 = t704 * t705; + const double t712 = t182 * t182; + const double t713 = 0.1e1 / t712; + const double t714 = t177 * t713; + const double t719 = -0.86308333333333333334e0 * t662 - 0.301925e0 * t664 - 0.5501625e-1 * t668 - 0.82785e-1 * t673; + const double t720 = 0.1e1 / t185; + const double t721 = t719 * t720; + const double t724 = 0.53237641966666666666e-3 * t123 * t651 * t173 + 0.1e1 * t699 * t706 - t654 - t679 + 0.18311447306006545054e-3 * t123 * t651 * t186 + 0.5848223622634646207e0 * t714 * t721; + const double t725 = t162 * t724; + const double t726 = t158 * t725; + const double t727 = t691 * t162; + const double t729 = 0.19751673498613801407e-1 * t727 * t187; + const double t730 = t192 * t72; + const double t732 = t660 * t650 * t186; + const double t734 = 0.18311447306006545054e-3 * t730 * t732; + const double t735 = t192 * t177; + const double t737 = t713 * t719 * t720; + const double t739 = 0.5848223622634646207e0 * t735 * t737; + const double t740 = t206 * t256; + const double t741 = 0.1e1 / t78; + const double t744 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t741 * t581 ); + const double t745 = 0.1e1 / t81; + const double t748 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t745 * t581 ); + const double t750 = t744 / 0.2e1 + t748 / 0.2e1; + const double t755 = 0.1e1 / t65 / t554; + const double t756 = t64 * t755; + const double t757 = t756 * t159; + const double t759 = 0.7e1 / 0.288e3 * t757 * t216; + const double t760 = t159 * t223; + const double t761 = t210 * t760; + const double t763 = t124 * t750; + const double t764 = t762 * t763; + const double t767 = t227 * t227; + const double t768 = 0.1e1 / t767; + const double t769 = t768 * t230; + const double t771 = t339 * t769 * t234; + const double t772 = t235 * t238; + const double t773 = t772 * t72; + const double t776 = ( t654 + t679 + t684 + t693 + t726 + t729 - t734 - t739 ) * t219; + const double t778 = t73 * t238; + const double t779 = t778 * t750; + const double t782 = 0.3e1 * t222 * t779 - t224 * t776; + const double t783 = t782 * t226; + const double t784 = t774 * t783; + const double t785 = t773 * t784; + const double t789 = 0.1e1 / t66 / t562; + const double t790 = t789 * t235; + const double t791 = t790 * t238; + const double t792 = t791 * t242; + const double t794 = 0.7e1 / 0.4608e4 * t232 * t792; + const double t795 = t228 * t230; + const double t797 = t339 * t795 * t234; + const double t799 = 0.1e1 / t237 / t205; + const double t800 = t235 * t799; + const double t801 = t800 * t72; + const double t803 = t801 * t774 * t750; + const double t806 = -t759 - t761 * t764 / 0.48e2 - t771 * t785 / 0.3072e4 - t794 - t797 * t803 / 0.768e3; + const double t807 = beta * t806; + const double t809 = t247 * t219; + const double t810 = t251 * t251; + const double t811 = 0.1e1 / t810; + const double t812 = t73 * t811; + const double t813 = t768 * t246; + const double t818 = t220 * t229 * t806 - t339 * t783 * t813; + const double t819 = t812 * t818; + const double t821 = t253 * t807 - t809 * t819; + const double t823 = 0.1e1 / t255; + const double t826 = t198 * t207 * t821 * t823 + 0.3e1 * t198 * t740 * t750 + t654 + t679 + t684 + t693 + t726 + t729 - t734 - t739; + const double t831 = t650 * t159; + const double t833 = t262 * t831 * t265; + const double t834 = 0.17808333333333333333e-1 * t833; + const double t835 = t159 * t361; + const double t836 = 0.1e1 / t606; + const double t837 = t836 * t581; + const double t838 = t835 * t837; + const double t839 = t128 * t838; + const double t841 = -t834 - 0.17808333333333333333e-1 * t839; + const double t843 = 0.621814e-1 * t841 * t285; + const double t844 = t281 * t281; + const double t845 = 0.1e1 / t844; + const double t846 = t269 * t845; + const double t847 = 0.1e1 / t270; + const double t849 = -t833 / 0.3e1 - t839 / 0.3e1; + const double t850 = t847 * t849; + const double t852 = 0.29896666666666666667e0 * t833; + const double t854 = safe_math::sqrt( t267 ); + const double t855 = t854 * t849; + const double t857 = t671 * t235; + const double t859 = t275 * t857 * t277; + const double t860 = 0.82156666666666666667e-1 * t859; + const double t861 = t235 * t334; + const double t862 = t861 * t837; + const double t863 = t141 * t862; + const double t865 = 0.1898925e1 * t850 - t852 - 0.29896666666666666667e0 * t839 + 0.3071625e0 * t855 - t860 - 0.82156666666666666667e-1 * t863; + const double t866 = 0.1e1 / t284; + const double t867 = t865 * t866; + const double t869 = 0.1e1 * t846 * t867; + const double t870 = 0.17123333333333333333e-1 * t833; + const double t872 = -t870 - 0.17123333333333333333e-1 * t839; + const double t875 = t301 * t301; + const double t876 = 0.1e1 / t875; + const double t877 = t296 * t876; + const double t879 = 0.516475e0 * t833; + const double t882 = 0.104195e0 * t859; + const double t884 = 0.3529725e1 * t850 - t879 - 0.516475e0 * t839 + 0.6311625e0 * t855 - t882 - 0.104195e0 * t863; + const double t885 = 0.1e1 / t304; + const double t886 = t884 * t885; + const double t889 = 0.92708333333333333333e-2 * t833; + const double t891 = -t889 - 0.92708333333333333333e-2 * t839; + const double t892 = t891 * t318; + const double t894 = t314 * t314; + const double t895 = 0.1e1 / t894; + const double t896 = t309 * t895; + const double t898 = 0.301925e0 * t833; + const double t901 = 0.82785e-1 * t859; + const double t903 = 0.258925e1 * t850 - t898 - 0.301925e0 * t839 + 0.16504875e0 * t855 - t901 - 0.82785e-1 * t863; + const double t904 = 0.1e1 / t317; + const double t905 = t903 * t904; + const double t909 = t294 * ( -0.310907e-1 * t872 * t305 + 0.1e1 * t877 * t886 + t843 - t869 - 0.19751673498613801407e-1 * t892 + 0.5848223622634646207e0 * t896 * t905 ); + const double t911 = 0.19751673498613801407e-1 * t294 * t892; + const double t912 = t294 * t309; + const double t914 = t895 * t903 * t904; + const double t916 = 0.5848223622634646207e0 * t912 * t914; + const double t917 = t589 * t332; + const double t921 = t215 * t139 * t334; + const double t923 = t333 * t921 / 0.288e3; + const double t924 = t332 * t214; + const double t925 = t44 * t924; + const double t926 = t124 * t65; + const double t928 = 0.1e1 / t265 / t264; + const double t929 = t928 * t836; + const double t930 = t929 * t581; + const double t931 = t926 * t930; + const double t934 = t196 * t196; + const double t935 = 0.1e1 / t934; + const double t936 = beta * t935; + const double t938 = t936 * t937; + const double t939 = t346 * t346; + const double t940 = 0.1e1 / t939; + const double t941 = t940 * t348; + const double t943 = 0.1e1 / t356 / t330; + const double t944 = t353 * t943; + const double t946 = t938 * t941 * t944; + const double t947 = t66 * t361; + const double t948 = -t843 + t869 + t909 + t911 - t916; + const double t949 = t948 * t345; + const double t950 = t947 * t949; + const double t951 = t242 * t950; + const double t954 = t350 * t39; + const double t956 = 0.1e1 / t40 / t954; + const double t958 = t339 * t349 * t956; + const double t962 = t359 * t127 * t361; + const double t964 = t355 * t962 / 0.4608e4; + const double t965 = t353 * t357; + const double t967 = t339 * t349 * t965; + const double t969 = 0.1e1 / t277 / t264; + const double t970 = t66 * t969; + const double t971 = t970 * t837; + const double t972 = t242 * t971; + const double t975 = -t917 * t336 / 0.36e2 + t923 + t925 * t931 / 0.288e3 + t946 * t951 / 0.3072e4 - t958 * t363 / 0.576e3 + t964 + t967 * t972 / 0.4608e4; + const double t976 = beta * t975; + const double t978 = t367 * t219; + const double t979 = t371 * t371; + const double t980 = 0.1e1 / t979; + const double t981 = t73 * t980; + const double t983 = t936 * t937 * t940; + const double t984 = t366 * t948; + const double t985 = t342 * t345; + const double t990 = t220 * t368 * t975 + t983 * t984 * t985; + const double t991 = t981 * t990; + const double t993 = t373 * t976 - t978 * t991; + const double t995 = 0.1e1 / t375; + const double t999 = piecewise_functor_3( t380, t198 * t330 * t993 * t995 - t843 + t869 + t909 + t911 - t916, t826 ); + const double t1004 = piecewise_functor_3( t120, t259 * t580 / 0.2e1 + t826 * t30 / 0.2e1, t381 * t581 / 0.2e1 + t999 * t45 / 0.2e1 ); + const double t1006 = -t580; + const double t1011 = t262 * t831 * t390; + const double t1012 = 0.17808333333333333333e-1 * t1011; + const double t1013 = t159 * t461; + const double t1014 = 0.1e1 / t610; + const double t1015 = t1014 * t581; + const double t1016 = t1013 * t1015; + const double t1017 = t128 * t1016; + const double t1019 = -t1012 + 0.17808333333333333333e-1 * t1017; + const double t1021 = 0.621814e-1 * t1019 * t408; + const double t1022 = t404 * t404; + const double t1023 = 0.1e1 / t1022; + const double t1024 = t394 * t1023; + const double t1025 = 0.1e1 / t395; + const double t1027 = -t1011 / 0.3e1 + t1017 / 0.3e1; + const double t1028 = t1025 * t1027; + const double t1030 = 0.29896666666666666667e0 * t1011; + const double t1032 = safe_math::sqrt( t392 ); + const double t1033 = t1032 * t1027; + const double t1036 = t275 * t857 * t400; + const double t1037 = 0.82156666666666666667e-1 * t1036; + const double t1038 = t235 * t442; + const double t1039 = t1038 * t1015; + const double t1040 = t141 * t1039; + const double t1042 = 0.1898925e1 * t1028 - t1030 + 0.29896666666666666667e0 * t1017 + 0.3071625e0 * t1033 - t1037 + 0.82156666666666666667e-1 * t1040; + const double t1043 = 0.1e1 / t407; + const double t1044 = t1042 * t1043; + const double t1046 = 0.1e1 * t1024 * t1044; + const double t1047 = 0.17123333333333333333e-1 * t1011; + const double t1049 = -t1047 + 0.17123333333333333333e-1 * t1017; + const double t1052 = t417 * t417; + const double t1053 = 0.1e1 / t1052; + const double t1054 = t412 * t1053; + const double t1056 = 0.516475e0 * t1011; + const double t1059 = 0.104195e0 * t1036; + const double t1061 = 0.3529725e1 * t1028 - t1056 + 0.516475e0 * t1017 + 0.6311625e0 * t1033 - t1059 + 0.104195e0 * t1040; + const double t1062 = 0.1e1 / t420; + const double t1063 = t1061 * t1062; + const double t1066 = 0.92708333333333333333e-2 * t1011; + const double t1068 = -t1066 + 0.92708333333333333333e-2 * t1017; + const double t1069 = t1068 * t434; + const double t1071 = t430 * t430; + const double t1072 = 0.1e1 / t1071; + const double t1073 = t425 * t1072; + const double t1075 = 0.301925e0 * t1011; + const double t1078 = 0.82785e-1 * t1036; + const double t1080 = 0.258925e1 * t1028 - t1075 + 0.301925e0 * t1017 + 0.16504875e0 * t1033 - t1078 + 0.82785e-1 * t1040; + const double t1081 = 0.1e1 / t433; + const double t1082 = t1080 * t1081; + const double t1086 = t294 * ( -0.310907e-1 * t1049 * t421 + 0.1e1 * t1054 * t1063 + t1021 - t1046 - 0.19751673498613801407e-1 * t1069 + 0.5848223622634646207e0 * t1073 * t1082 ); + const double t1088 = 0.19751673498613801407e-1 * t294 * t1069; + const double t1089 = t294 * t425; + const double t1091 = t1072 * t1080 * t1081; + const double t1093 = 0.5848223622634646207e0 * t1089 * t1091; + const double t1095 = t215 * t139 * t442; + const double t1097 = t441 * t1095 / 0.288e3; + const double t1098 = t56 * t924; + const double t1100 = 0.1e1 / t390 / t389; + const double t1101 = t1100 * t1014; + const double t1102 = t1101 * t581; + const double t1103 = t926 * t1102; + const double t1106 = t451 * t451; + const double t1107 = 0.1e1 / t1106; + const double t1108 = t1107 * t453; + const double t1109 = t458 * t943; + const double t1111 = t938 * t1108 * t1109; + const double t1112 = t66 * t461; + const double t1113 = -t1021 + t1046 + t1086 + t1088 - t1093; + const double t1114 = t1113 * t450; + const double t1115 = t1112 * t1114; + const double t1116 = t242 * t1115; + const double t1120 = t359 * t127 * t461; + const double t1122 = t460 * t1120 / 0.4608e4; + const double t1123 = t458 * t357; + const double t1125 = t339 * t454 * t1123; + const double t1127 = 0.1e1 / t400 / t389; + const double t1128 = t66 * t1127; + const double t1129 = t1128 * t1015; + const double t1130 = t242 * t1129; + const double t1133 = t1097 - t1098 * t1103 / 0.288e3 + t1111 * t1116 / 0.3072e4 + t1122 - t1125 * t1130 / 0.4608e4; + const double t1134 = beta * t1133; + const double t1136 = t467 * t219; + const double t1137 = t471 * t471; + const double t1138 = 0.1e1 / t1137; + const double t1139 = t73 * t1138; + const double t1141 = t936 * t937 * t1107; + const double t1142 = t466 * t1113; + const double t1143 = t342 * t450; + const double t1148 = t1133 * t220 * t468 + t1141 * t1142 * t1143; + const double t1149 = t1139 * t1148; + const double t1151 = t1134 * t473 - t1136 * t1149; + const double t1153 = 0.1e1 / t475; + const double t1157 = piecewise_functor_3( t480, t1151 * t1153 * t198 * t330 - t1021 + t1046 + t1086 + t1088 - t1093, t826 ); + const double t1162 = piecewise_functor_3( t386, t259 * t1006 / 0.2e1 + t826 * t33 / 0.2e1, t1157 * t57 / 0.2e1 - t481 * t581 / 0.2e1 ); + const double t1163 = t1004 + t1162; + const double t1165 = t93 * t116; + const double t1168 = 0.2e1 * t1165 * t645 + t624; + const double t1170 = t558 * t22; + const double t1172 = 0.4e1 * t1170 * t498; + const double t1173 = t19 * t563; + const double t1175 = 0.4e1 * t1173 * t498; + const double t1178 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t490 * t580 ); + const double t1181 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t493 * t1006 ); + const double t1183 = ( t1178 + t1181 ) * t162; + const double t1184 = t1183 * t189; + const double t1185 = t489 * t1184; + const double t1186 = t497 * t724; + const double t1187 = t489 * t1186; + const double t1189 = 0.19751673498613801407e-1 * t1183 * t187; + const double t1190 = t497 * t72; + const double t1192 = 0.18311447306006545054e-3 * t1190 * t732; + const double t1193 = t497 * t177; + const double t1195 = 0.5848223622634646207e0 * t1193 * t737; + const double t1196 = t508 * t541; + const double t1197 = 0.1e1 / t490; + const double t1200 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1197 * t580 ); + const double t1201 = 0.1e1 / t493; + const double t1204 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1201 * t1006 ); + const double t1206 = t1200 / 0.2e1 + t1204 / 0.2e1; + const double t1211 = 0.7e1 / 0.288e3 * t757 * t512; + const double t1212 = t159 * t517; + const double t1213 = t210 * t1212; + const double t1214 = t124 * t1206; + const double t1215 = t762 * t1214; + const double t1218 = t521 * t521; + const double t1219 = 0.1e1 / t1218; + const double t1220 = t1219 * t230; + const double t1222 = t339 * t1220 * t234; + const double t1223 = t235 * t527; + const double t1224 = t1223 * t72; + const double t1226 = ( t654 + t679 + t1172 - t1175 + t1185 + t1187 + t1189 - t1192 - t1195 ) * t219; + const double t1228 = t73 * t527; + const double t1229 = t1228 * t1206; + const double t1232 = -t1226 * t518 + 0.3e1 * t1229 * t516; + const double t1233 = t1232 * t520; + const double t1234 = t774 * t1233; + const double t1235 = t1224 * t1234; + const double t1238 = t790 * t527; + const double t1239 = t1238 * t242; + const double t1241 = 0.7e1 / 0.4608e4 * t525 * t1239; + const double t1242 = t522 * t230; + const double t1244 = t339 * t1242 * t234; + const double t1246 = 0.1e1 / t526 / t507; + const double t1247 = t235 * t1246; + const double t1248 = t1247 * t72; + const double t1250 = t1248 * t774 * t1206; + const double t1253 = -t1211 - t1213 * t1215 / 0.48e2 - t1222 * t1235 / 0.3072e4 - t1241 - t1244 * t1250 / 0.768e3; + const double t1254 = beta * t1253; + const double t1256 = t533 * t219; + const double t1257 = t536 * t536; + const double t1258 = 0.1e1 / t1257; + const double t1259 = t73 * t1258; + const double t1260 = t1219 * t532; + const double t1265 = -t1233 * t1260 * t339 + t1253 * t220 * t523; + const double t1266 = t1259 * t1265; + const double t1268 = t1254 * t538 - t1256 * t1266; + const double t1270 = 0.1e1 / t540; + const double t1273 = t1268 * t1270 * t198 * t509 + 0.3e1 * t1196 * t1206 * t198 + t1172 - t1175 + t1185 + t1187 + t1189 - t1192 - t1195 + t654 + t679; + const double t1275 = -t1163 * t118 + t1168 * t544 + t1273 * t488 - t485 * t624 - 0.2e1 * t626 * t646; + const double t1276 = t3 * t1275; + const double t1278 = t3 * t546; + const double t1279 = d * t1275; + const double t1281 = t117 * t645; + const double t1284 = t1279 * t548 + 0.3e1 * t1281 * t547; + const double t1286 = -t553 - t557 - t561 - t565 - t569 - t573; + const double t1288 = -t4 - t579; + const double t1289 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1288 ); + const double t1290 = t36 * t1289; + const double t1291 = t1290 * t70; + const double t1294 = t48 * t1289; + const double t1297 = t51 * rho_b; + const double t1299 = 0.1e1 / t53 / t1297; + const double t1300 = sigma_bb * t1299; + const double t1303 = t60 * t1289; + const double t1306 = 0.5e1 / 0.6e1 * t44 * t1294 - 0.8e1 / 0.3e1 * t1300 * t61 - 0.5e1 / 0.6e1 * t56 * t1303 + t601; + const double t1307 = t38 * t1306; + const double t1310 = t608 * t1289; + const double t1311 = t612 * t1289; + const double t1313 = -0.4e1 / 0.3e1 * t1310 + 0.4e1 / 0.3e1 * t1311; + const double t1314 = t77 * t1313; + const double t1317 = -t1291 * t85 / 0.12e2 + t1307 * t85 / 0.24e2 + t71 * t1314 / 0.24e2; + const double t1321 = piecewise_functor_3( t8, 0.0, t1286 * t91 - 0.4e1 * t1317 * t578 ); + const double t1322 = t1321 * t117; + const double t1324 = t1288 / 0.2e1; + const double t1325 = t100 * t1324; + const double t1327 = tau_b * t55; + const double t1329 = -t1324; + const double t1330 = t108 * t1329; + const double t1333 = 0.5e1 / 0.3e1 * t105 * t1330 - 0.5e1 / 0.3e1 * t1327 * t109 + 0.5e1 / 0.3e1 * t97 * t1325; + const double t1334 = t630 * t1333; + const double t1338 = piecewise_functor_3( t115, 0.0, -t628 - t69 * t1334 / 0.8e1 ); + const double t1339 = t485 * t1338; + const double t1342 = t190 * t1289; + const double t1344 = 0.4e1 * t681 * t1342; + const double t1347 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.3e1 * t78 * t1289 ); + const double t1350 = piecewise_functor_3( t155, 0.0, -0.4e1 / 0.3e1 * t81 * t1289 ); + const double t1351 = t1347 + t1350; + const double t1352 = t150 * t1351; + const double t1353 = t1352 * t190; + const double t1354 = t1351 * t162; + const double t1356 = 0.19751673498613801407e-1 * t1354 * t187; + const double t1359 = piecewise_functor_3( t151, 0.0, 0.2e1 / 0.3e1 * t741 * t1289 ); + const double t1362 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.3e1 * t745 * t1289 ); + const double t1364 = t1359 / 0.2e1 + t1362 / 0.2e1; + const double t1368 = t124 * t1364; + const double t1369 = t762 * t1368; + const double t1373 = ( t654 + t679 + t1344 + t1353 + t726 + t1356 - t734 - t739 ) * t219; + const double t1375 = t778 * t1364; + const double t1378 = -t1373 * t224 + 0.3e1 * t1375 * t222; + const double t1379 = t1378 * t226; + const double t1380 = t774 * t1379; + const double t1381 = t773 * t1380; + const double t1385 = t801 * t774 * t1364; + const double t1388 = -t759 - t761 * t1369 / 0.48e2 - t771 * t1381 / 0.3072e4 - t794 - t797 * t1385 / 0.768e3; + const double t1389 = beta * t1388; + const double t1395 = -t1379 * t339 * t813 + t1388 * t220 * t229; + const double t1396 = t812 * t1395; + const double t1398 = t1389 * t253 - t1396 * t809; + const double t1402 = t1398 * t198 * t207 * t823 + 0.3e1 * t1364 * t198 * t740 + t1344 + t1353 + t1356 + t654 + t679 + t726 - t734 - t739; + const double t1407 = t836 * t1289; + const double t1408 = t835 * t1407; + const double t1409 = t128 * t1408; + const double t1411 = -t834 - 0.17808333333333333333e-1 * t1409; + const double t1413 = 0.621814e-1 * t1411 * t285; + const double t1415 = -t833 / 0.3e1 - t1409 / 0.3e1; + const double t1416 = t847 * t1415; + const double t1419 = t854 * t1415; + const double t1421 = t861 * t1407; + const double t1422 = t141 * t1421; + const double t1424 = 0.1898925e1 * t1416 - t852 - 0.29896666666666666667e0 * t1409 + 0.3071625e0 * t1419 - t860 - 0.82156666666666666667e-1 * t1422; + const double t1425 = t1424 * t866; + const double t1427 = 0.1e1 * t846 * t1425; + const double t1429 = -t870 - 0.17123333333333333333e-1 * t1409; + const double t1436 = 0.3529725e1 * t1416 - t879 - 0.516475e0 * t1409 + 0.6311625e0 * t1419 - t882 - 0.104195e0 * t1422; + const double t1437 = t1436 * t885; + const double t1441 = -t889 - 0.92708333333333333333e-2 * t1409; + const double t1442 = t1441 * t318; + const double t1448 = 0.258925e1 * t1416 - t898 - 0.301925e0 * t1409 + 0.16504875e0 * t1419 - t901 - 0.82785e-1 * t1422; + const double t1449 = t1448 * t904; + const double t1453 = t294 * ( -0.310907e-1 * t1429 * t305 + 0.1e1 * t877 * t1437 + t1413 - t1427 - 0.19751673498613801407e-1 * t1442 + 0.5848223622634646207e0 * t896 * t1449 ); + const double t1455 = 0.19751673498613801407e-1 * t294 * t1442; + const double t1457 = t895 * t1448 * t904; + const double t1459 = 0.5848223622634646207e0 * t912 * t1457; + const double t1460 = t929 * t1289; + const double t1461 = t926 * t1460; + const double t1464 = -t1413 + t1427 + t1453 + t1455 - t1459; + const double t1465 = t1464 * t345; + const double t1466 = t947 * t1465; + const double t1467 = t242 * t1466; + const double t1470 = t970 * t1407; + const double t1471 = t242 * t1470; + const double t1474 = t923 + t925 * t1461 / 0.288e3 + t946 * t1467 / 0.3072e4 + t964 + t967 * t1471 / 0.4608e4; + const double t1475 = beta * t1474; + const double t1477 = t366 * t1464; + const double t1482 = t1474 * t220 * t368 + t1477 * t983 * t985; + const double t1483 = t981 * t1482; + const double t1485 = t1475 * t373 - t1483 * t978; + const double t1490 = piecewise_functor_3( t380, t1485 * t198 * t330 * t995 - t1413 + t1427 + t1453 + t1455 - t1459, t1402 ); + const double t1495 = piecewise_functor_3( t120, t259 * t1288 / 0.2e1 + t1402 * t30 / 0.2e1, t381 * t1289 / 0.2e1 + t1490 * t45 / 0.2e1 ); + const double t1497 = -t1288; + const double t1501 = t1014 * t1289; + const double t1502 = t1013 * t1501; + const double t1503 = t128 * t1502; + const double t1505 = -t1012 + 0.17808333333333333333e-1 * t1503; + const double t1507 = 0.621814e-1 * t1505 * t408; + const double t1509 = -t1011 / 0.3e1 + t1503 / 0.3e1; + const double t1510 = t1025 * t1509; + const double t1513 = t1032 * t1509; + const double t1515 = t1038 * t1501; + const double t1516 = t141 * t1515; + const double t1518 = 0.1898925e1 * t1510 - t1030 + 0.29896666666666666667e0 * t1503 + 0.3071625e0 * t1513 - t1037 + 0.82156666666666666667e-1 * t1516; + const double t1519 = t1518 * t1043; + const double t1521 = 0.1e1 * t1024 * t1519; + const double t1523 = -t1047 + 0.17123333333333333333e-1 * t1503; + const double t1530 = 0.3529725e1 * t1510 - t1056 + 0.516475e0 * t1503 + 0.6311625e0 * t1513 - t1059 + 0.104195e0 * t1516; + const double t1531 = t1530 * t1062; + const double t1535 = -t1066 + 0.92708333333333333333e-2 * t1503; + const double t1536 = t1535 * t434; + const double t1542 = 0.258925e1 * t1510 - t1075 + 0.301925e0 * t1503 + 0.16504875e0 * t1513 - t1078 + 0.82785e-1 * t1516; + const double t1543 = t1542 * t1081; + const double t1547 = t294 * ( -0.310907e-1 * t1523 * t421 + 0.1e1 * t1054 * t1531 + t1507 - t1521 - 0.19751673498613801407e-1 * t1536 + 0.5848223622634646207e0 * t1073 * t1543 ); + const double t1549 = 0.19751673498613801407e-1 * t294 * t1536; + const double t1551 = t1072 * t1542 * t1081; + const double t1553 = 0.5848223622634646207e0 * t1089 * t1551; + const double t1554 = t1300 * t332; + const double t1557 = t1101 * t1289; + const double t1558 = t926 * t1557; + const double t1561 = -t1507 + t1521 + t1547 + t1549 - t1553; + const double t1562 = t1561 * t450; + const double t1563 = t1112 * t1562; + const double t1564 = t242 * t1563; + const double t1567 = t455 * t51; + const double t1569 = 0.1e1 / t52 / t1567; + const double t1571 = t339 * t454 * t1569; + const double t1574 = t1128 * t1501; + const double t1575 = t242 * t1574; + const double t1578 = -t1554 * t444 / 0.36e2 + t1097 - t1098 * t1558 / 0.288e3 + t1111 * t1564 / 0.3072e4 - t1571 * t463 / 0.576e3 + t1122 - t1125 * t1575 / 0.4608e4; + const double t1579 = beta * t1578; + const double t1581 = t466 * t1561; + const double t1586 = t1141 * t1143 * t1581 + t1578 * t220 * t468; + const double t1587 = t1139 * t1586; + const double t1589 = -t1136 * t1587 + t1579 * t473; + const double t1594 = piecewise_functor_3( t480, t1153 * t1589 * t198 * t330 - t1507 + t1521 + t1547 + t1549 - t1553, t1402 ); + const double t1599 = piecewise_functor_3( t386, t1402 * t33 / 0.2e1 + t259 * t1497 / 0.2e1, -t481 * t1289 / 0.2e1 + t1594 * t57 / 0.2e1 ); + const double t1600 = t1495 + t1599; + const double t1604 = 0.2e1 * t1165 * t1338 + t1322; + const double t1608 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.3e1 * t490 * t1288 ); + const double t1611 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.3e1 * t493 * t1497 ); + const double t1613 = ( t1608 + t1611 ) * t162; + const double t1614 = t1613 * t189; + const double t1615 = t489 * t1614; + const double t1617 = 0.19751673498613801407e-1 * t1613 * t187; + const double t1620 = piecewise_functor_3( t31, 0.0, 0.2e1 / 0.3e1 * t1197 * t1288 ); + const double t1623 = piecewise_functor_3( t34, 0.0, 0.2e1 / 0.3e1 * t1201 * t1497 ); + const double t1625 = t1620 / 0.2e1 + t1623 / 0.2e1; + const double t1629 = t124 * t1625; + const double t1630 = t762 * t1629; + const double t1634 = ( t654 + t679 - t1172 - t1175 + t1615 + t1187 + t1617 - t1192 - t1195 ) * t219; + const double t1636 = t1228 * t1625; + const double t1639 = -t1634 * t518 + 0.3e1 * t1636 * t516; + const double t1640 = t1639 * t520; + const double t1641 = t774 * t1640; + const double t1642 = t1224 * t1641; + const double t1646 = t1248 * t774 * t1625; + const double t1649 = -t1211 - t1213 * t1630 / 0.48e2 - t1222 * t1642 / 0.3072e4 - t1241 - t1244 * t1646 / 0.768e3; + const double t1650 = beta * t1649; + const double t1656 = -t1260 * t1640 * t339 + t1649 * t220 * t523; + const double t1657 = t1259 * t1656; + const double t1659 = -t1256 * t1657 + t1650 * t538; + const double t1663 = t1270 * t1659 * t198 * t509 + 0.3e1 * t1196 * t1625 * t198 - t1172 - t1175 + t1187 - t1192 - t1195 + t1615 + t1617 + t654 + t679; + const double t1665 = -t118 * t1600 - t1322 * t485 - 0.2e1 * t1339 * t626 + t1604 * t544 + t1663 * t488; + const double t1666 = t3 * t1665; + const double t1668 = d * t1665; + const double t1670 = t117 * t1338; + const double t1673 = t1668 * t548 + 0.3e1 * t1670 * t547; + const double t1675 = t578 * t38; + const double t1677 = t43 * t49 - t68; + const double t1678 = t1677 * t72; + const double t1679 = t76 * t84; + const double t1680 = t1678 * t1679; + const double t1683 = piecewise_functor_3( t8, 0.0, -t1675 * t1680 / 0.6e1 ); + const double t1684 = t1683 * t117; + const double t1686 = t68 * t112; + const double t1688 = piecewise_functor_3( t115, 0.0, t1686 / 0.8e1 ); + const double t1689 = t485 * t1688; + const double t1691 = 0.2e1 * t626 * t1689; + const double t1692 = t198 * t207; + const double t1693 = t209 * t159; + const double t1696 = t1693 * t212 * t1695; + const double t1699 = t220 * t229 * t64; + const double t1700 = t1699 * t243; + const double t1702 = t1696 / 0.96e2 + t1700 / 0.1536e4; + const double t1703 = beta * t1702; + const double t1706 = t1705 * t246; + const double t1707 = t1706 * t935; + const double t1708 = t937 * t811; + const double t1710 = t1708 * t228 * t1702; + const double t1712 = t1703 * t253 - t1707 * t1710; + const double t1713 = t1712 * t823; + const double t1714 = t1713 * t30; + const double t1716 = t1692 * t1714 / 0.2e1; + const double t1717 = t43 * t331; + const double t1718 = t1717 * t136; + const double t1721 = t347 * sigma_aa; + const double t1723 = t339 * t1721 * t353; + const double t1726 = t1718 * t336 / 0.96e2 + t1723 * t363 / 0.1536e4; + const double t1727 = beta * t1726; + const double t1729 = t1705 * t366; + const double t1730 = t1729 * t935; + const double t1731 = t937 * t980; + const double t1733 = t1731 * t347 * t1726; + const double t1735 = t1727 * t373 - t1730 * t1733; + const double t1739 = t207 * t1712; + const double t1741 = t198 * t1739 * t823; + const double t1742 = piecewise_functor_3( t380, t198 * t330 * t1735 * t995, t1741 ); + const double t1745 = piecewise_functor_3( t120, t1716, t1742 * t45 / 0.2e1 ); + const double t1746 = t1713 * t33; + const double t1748 = t1692 * t1746 / 0.2e1; + const double t1749 = piecewise_functor_3( t480, 0.0, t1741 ); + const double t1752 = piecewise_functor_3( t386, t1748, t1749 * t57 / 0.2e1 ); + const double t1753 = t1745 + t1752; + const double t1756 = 0.2e1 * t1165 * t1688; + const double t1757 = t1684 + t1756; + const double t1759 = t488 * t196; + const double t1760 = t1759 * t197; + const double t1762 = t1693 * t510 * t1695; + const double t1765 = t220 * t523 * t64; + const double t1766 = t1765 * t529; + const double t1768 = t1762 / 0.96e2 + t1766 / 0.1536e4; + const double t1769 = beta * t1768; + const double t1771 = t1705 * t532; + const double t1772 = t1771 * t935; + const double t1773 = t937 * t1258; + const double t1775 = t1773 * t522 * t1768; + const double t1777 = t1769 * t538 - t1772 * t1775; + const double t1778 = t509 * t1777; + const double t1779 = t1778 * t1270; + const double t1780 = t1760 * t1779; + const double t1781 = -t118 * t1753 - t1684 * t485 + t1757 * t544 - t1691 + t1780; + const double t1782 = t3 * t1781; + const double t1784 = d * t1781; + const double t1786 = t117 * t1688; + const double t1788 = 0.3e1 * t547 * t1786; + const double t1789 = t1784 * t548 + t1788; + const double t1791 = t68 * t72; + const double t1792 = t1791 * t1679; + const double t1795 = piecewise_functor_3( t8, 0.0, t1675 * t1792 / 0.3e1 ); + const double t1796 = t1795 * t117; + const double t1799 = piecewise_functor_3( t115, 0.0, t1686 / 0.4e1 ); + const double t1800 = t485 * t1799; + const double t1805 = t1696 / 0.48e2 + t1700 / 0.768e3; + const double t1806 = beta * t1805; + const double t1809 = t1708 * t228 * t1805; + const double t1811 = -t1707 * t1809 + t1806 * t253; + const double t1812 = t1811 * t823; + const double t1813 = t1812 * t30; + const double t1816 = t207 * t1811; + const double t1818 = t198 * t1816 * t823; + const double t1819 = piecewise_functor_3( t380, 0.0, t1818 ); + const double t1822 = piecewise_functor_3( t120, t1692 * t1813 / 0.2e1, t1819 * t45 / 0.2e1 ); + const double t1823 = t1812 * t33; + const double t1826 = piecewise_functor_3( t480, 0.0, t1818 ); + const double t1829 = piecewise_functor_3( t386, t1692 * t1823 / 0.2e1, t1826 * t57 / 0.2e1 ); + const double t1830 = t1822 + t1829; + const double t1834 = 0.2e1 * t1165 * t1799 + t1796; + const double t1838 = t1762 / 0.48e2 + t1766 / 0.768e3; + const double t1839 = beta * t1838; + const double t1842 = t1773 * t522 * t1838; + const double t1844 = -t1772 * t1842 + t1839 * t538; + const double t1845 = t509 * t1844; + const double t1846 = t1845 * t1270; + const double t1848 = -t118 * t1830 + t1760 * t1846 - t1796 * t485 - 0.2e1 * t1800 * t626 + t1834 * t544; + const double t1849 = t3 * t1848; + const double t1851 = d * t1848; + const double t1853 = t117 * t1799; + const double t1856 = t1851 * t548 + 0.3e1 * t1853 * t547; + const double t1859 = t55 * t61 - t68; + const double t1860 = t1859 * t72; + const double t1861 = t1860 * t1679; + const double t1864 = piecewise_functor_3( t8, 0.0, -t1675 * t1861 / 0.6e1 ); + const double t1865 = t1864 * t117; + const double t1867 = piecewise_functor_3( t380, 0.0, t1741 ); + const double t1870 = piecewise_functor_3( t120, t1716, t1867 * t45 / 0.2e1 ); + const double t1871 = t55 * t331; + const double t1872 = t1871 * t136; + const double t1875 = t452 * sigma_bb; + const double t1877 = t339 * t1875 * t458; + const double t1880 = t1872 * t444 / 0.96e2 + t1877 * t463 / 0.1536e4; + const double t1881 = beta * t1880; + const double t1883 = t1705 * t466; + const double t1884 = t1883 * t935; + const double t1885 = t937 * t1138; + const double t1887 = t1885 * t452 * t1880; + const double t1889 = t1881 * t473 - t1884 * t1887; + const double t1893 = piecewise_functor_3( t480, t198 * t330 * t1889 * t1153, t1741 ); + const double t1896 = piecewise_functor_3( t386, t1748, t1893 * t57 / 0.2e1 ); + const double t1897 = t1870 + t1896; + const double t1899 = t1865 + t1756; + const double t1901 = -t118 * t1897 - t1865 * t485 + t1899 * t544 - t1691 + t1780; + const double t1902 = t3 * t1901; + const double t1904 = d * t1901; + const double t1906 = t1904 * t548 + t1788; + const double t1908 = t630 * t96; + const double t1909 = t1908 * t101; + const double t1912 = piecewise_functor_3( t115, 0.0, -t69 * t1909 / 0.8e1 ); + const double t1913 = t485 * t1912; + const double t1915 = t1912 * t544; + const double t1918 = 0.2e1 * t1165 * t1915 - 0.2e1 * t1913 * t626; + const double t1919 = t3 * t1918; + const double t1921 = d * t1918; + const double t1923 = t117 * t1912; + const double t1926 = t1921 * t548 + 0.3e1 * t1923 * t547; + const double t1928 = t630 * t104; + const double t1929 = t1928 * t109; + const double t1932 = piecewise_functor_3( t115, 0.0, -t69 * t1929 / 0.8e1 ); + const double t1933 = t485 * t1932; + const double t1935 = t1932 * t544; + const double t1938 = 0.2e1 * t1165 * t1935 - 0.2e1 * t1933 * t626; + const double t1939 = t3 * t1938; + const double t1941 = d * t1938; + const double t1943 = t117 * t1932; + const double t1946 = t1941 * t548 + 0.3e1 * t1943 * t547; + const double t1948 = t1275 * t550; + const double t1950 = t546 * t1284; + const double t1953 = 0.2e1 * t10 * t17; + const double t1955 = 0.8e1 * t551 * t555; + const double t1957 = 0.6e1 * t15 * t22; + const double t1958 = t11 * t14; + const double t1960 = 0.12e2 * t1958 * t22; + const double t1962 = 0.32e2 * t559 * t563; + const double t1964 = 0.2e2 * t20 * t27; + const double t1965 = t12 * t19; + const double t1967 = 0.3e2 * t1965 * t27; + const double t1969 = 0.72e2 * t567 * t571; + const double t1970 = t21 * t21; + const double t1971 = 0.1e1 / t1970; + const double t1973 = 0.42e2 * t25 * t1971; + const double t1974 = t1953 - t1955 + t1957 + t1960 - t1962 + t1964 + t1967 - t1969 + t1973; + const double t1976 = t574 * t577; + const double t1980 = 0.1e1 / t90 / t89; + const double t1981 = t29 * t1980; + const double t1982 = t619 * t619; + const double t1985 = t581 * t581; + const double t1986 = t1985 * t70; + const double t1989 = t2 * t555; + const double t1990 = -t17 + t1989; + const double t1991 = 0.2e1 * t1990; + const double t1992 = piecewise_functor_5( t31, 0.0, t34, 0.0, t1991 ); + const double t1993 = t36 * t1992; + const double t1994 = t1993 * t70; + const double t1997 = t582 * t602; + const double t2003 = 0.1e1 / t41 / t350; + const double t2004 = sigma_aa * t2003; + const double t2009 = 0.1e1 / t47; + const double t2010 = t2009 * t1985; + const double t2013 = t48 * t1992; + const double t2016 = 0.1e1 / t59; + const double t2017 = t2016 * t1985; + const double t2020 = t60 * t1992; + const double t2023 = t64 * t234; + const double t2024 = 0.88e2 / 0.9e1 * t2023; + const double t2025 = 0.88e2 / 0.9e1 * t2004 * t49 - 0.4e2 / 0.9e1 * t589 * t592 + 0.5e1 / 0.18e2 * t44 * t2010 + 0.5e1 / 0.6e1 * t44 * t2013 + 0.5e1 / 0.18e2 * t56 * t2017 - 0.5e1 / 0.6e1 * t56 * t2020 - t2024; + const double t2026 = t38 * t2025; + const double t2031 = t606 * t45; + const double t2033 = 0.1e1 / t78 / t2031; + const double t2038 = t610 * t57; + const double t2040 = 0.1e1 / t81 / t2038; + const double t2045 = 0.28e2 / 0.9e1 * t2033 * t1985 - 0.4e1 / 0.3e1 * t608 * t1992 + 0.28e2 / 0.9e1 * t2040 * t1985 + 0.4e1 / 0.3e1 * t612 * t1992; + const double t2046 = t77 * t2045; + const double t2049 = -t1986 * t85 / 0.12e2 - t1994 * t85 / 0.12e2 - t1997 * t85 / 0.6e1 - t583 * t616 / 0.6e1 + t2026 * t85 / 0.24e2 + t603 * t616 / 0.12e2 + t71 * t2046 / 0.24e2; + const double t2053 = piecewise_functor_3( t8, 0.0, t1974 * t91 - 0.8e1 * t1976 * t619 + 0.2e2 * t1981 * t1982 - 0.4e1 * t2049 * t578 ); + const double t2054 = t2053 * t117; + const double t2056 = t623 * t116; + const double t2061 = t645 * t645; + const double t2062 = t94 * t2061; + const double t2065 = t1163 * t645; + const double t2069 = 0.11e2 / 0.9e1 * t2023 * t112; + const double t2070 = t600 * t641; + const double t2073 = 0.1e1 / t629 / t111; + const double t2074 = t640 * t640; + const double t2075 = t2073 * t2074; + const double t2078 = tau_a * t588; + const double t2083 = 0.1e1 / t99; + const double t2084 = t633 * t633; + const double t2085 = t2083 * t2084; + const double t2088 = t100 * t1990; + const double t2091 = 0.1e1 / t107; + const double t2092 = t636 * t636; + const double t2093 = t2091 * t2092; + const double t2096 = -t1990; + const double t2097 = t108 * t2096; + const double t2100 = 0.4e2 / 0.9e1 * t2078 * t101 - 0.5e2 / 0.9e1 * t631 * t634 + 0.1e2 / 0.9e1 * t97 * t2085 + 0.5e1 / 0.3e1 * t97 * t2088 + 0.1e2 / 0.9e1 * t105 * t2093 + 0.5e1 / 0.3e1 * t105 * t2097; + const double t2101 = t630 * t2100; + const double t2105 = piecewise_functor_3( t115, 0.0, t2069 + 0.2e1 / 0.3e1 * t2070 + t69 * t2075 / 0.4e1 - t69 * t2101 / 0.8e1 ); + const double t2106 = t485 * t2105; + const double t2109 = t37 * t157; + const double t2110 = t190 * t1985; + const double t2112 = 0.12e2 * t2109 * t2110; + const double t2113 = t125 * t209; + const double t2116 = 0.14764627977777777777e-2 * t123 * t2113 * t147; + const double t2117 = 0.1e1 / t200; + const double t2123 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2117 * t1985 + 0.4e1 / 0.3e1 * t78 * t1992 ); + const double t2124 = 0.1e1 / t202; + const double t2130 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2124 * t1985 - 0.4e1 / 0.3e1 * t81 * t1992 ); + const double t2131 = t2123 + t2130; + const double t2132 = t150 * t2131; + const double t2133 = t2132 * t190; + const double t2134 = t190 * t1992; + const double t2136 = 0.4e1 * t681 * t2134; + const double t2137 = t680 * t691; + const double t2139 = 0.8e1 * t2137 * t682; + const double t2145 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t1985 + 0.2e1 / 0.3e1 * t741 * t1992 ); + const double t2151 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t1985 - 0.2e1 / 0.3e1 * t745 * t1992 ); + const double t2153 = t2145 / 0.2e1 + t2151 / 0.2e1; + const double t2158 = 0.1e1 / t65 / t21; + const double t2159 = t64 * t2158; + const double t2160 = t2159 * t159; + const double t2162 = 0.35e2 / 0.432e3 * t2160 * t216; + const double t2163 = t756 * t760; + const double t2164 = t2163 * t764; + const double t2166 = t159 * t238; + const double t2167 = t210 * t2166; + const double t2168 = t750 * t750; + const double t2169 = t124 * t2168; + const double t2170 = t762 * t2169; + const double t2174 = t762 * t124 * t2153; + const double t2178 = 0.1e1 / t767 / t227; + const double t2179 = t2178 * t230; + const double t2181 = t339 * t2179 * t234; + const double t2182 = t782 * t782; + const double t2183 = t226 * t226; + const double t2184 = t2182 * t2183; + const double t2186 = t773 * t774 * t2184; + const double t2190 = t339 * t769 * t789; + const double t2191 = t2190 * t785; + const double t2194 = t339 * t769 * t236; + const double t2195 = t799 * t72; + const double t2196 = t2195 * t240; + const double t2197 = t125 * t782; + const double t2198 = t226 * t750; + const double t2199 = t2197 * t2198; + const double t2200 = t2196 * t2199; + const double t2204 = t660 * t209 * t186; + const double t2206 = 0.24415263074675393405e-3 * t730 * t2204; + const double t2207 = t192 * t123; + const double t2208 = t651 * t737; + const double t2210 = 0.10843581300301739842e-1 * t2207 * t2208; + const double t2211 = t2131 * t162; + const double t2213 = 0.19751673498613801407e-1 * t2211 * t187; + const double t2217 = t650 * t698; + const double t2221 = t697 * t169; + const double t2222 = 0.1e1 / t2221; + const double t2223 = t164 * t2222; + const double t2224 = t704 * t704; + const double t2225 = t2224 * t705; + const double t2230 = 0.1e1 / t131 / t128 * t136; + const double t2232 = t2231 * t68; + const double t2233 = t2230 * t2232; + const double t2235 = t660 * t209; + const double t2236 = t659 * t2235; + const double t2238 = t123 * t2113; + const double t2240 = 0.1e1/safe_math::sqrt( t128 ); + const double t2241 = t2240 * t136; + const double t2242 = t2241 * t2232; + const double t2244 = t667 * t2235; + const double t2246 = t124 * t68; + const double t2247 = t138 * t2246; + const double t2249 = -0.78438333333333333333e0 * t2233 + 0.15687666666666666667e1 * t2236 + 0.68863333333333333333e0 * t2238 + 0.14025833333333333333e0 * t2242 + 0.28051666666666666667e0 * t2244 + 0.17365833333333333333e0 * t2247; + const double t2250 = t2249 * t705; + const double t2253 = t697 * t697; + const double t2254 = 0.1e1 / t2253; + const double t2255 = t164 * t2254; + const double t2256 = t172 * t172; + const double t2257 = 0.1e1 / t2256; + const double t2258 = t2224 * t2257; + const double t2261 = t650 * t656; + const double t2264 = 0.35616666666666666666e-1 * t262 * t2261 * t677; + const double t2265 = t655 * t143; + const double t2266 = 0.1e1 / t2265; + const double t2267 = t130 * t2266; + const double t2268 = t675 * t675; + const double t2269 = t2268 * t676; + const double t2271 = 0.2e1 * t2267 * t2269; + const double t2278 = -0.42198333333333333333e0 * t2233 + 0.84396666666666666666e0 * t2236 + 0.39862222222222222223e0 * t2238 + 0.68258333333333333333e-1 * t2242 + 0.13651666666666666667e0 * t2244 + 0.13692777777777777778e0 * t2247; + const double t2279 = t2278 * t676; + const double t2281 = 0.1e1 * t657 * t2279; + const double t2282 = t655 * t655; + const double t2283 = 0.1e1 / t2282; + const double t2284 = t130 * t2283; + const double t2285 = t146 * t146; + const double t2286 = 0.1e1 / t2285; + const double t2287 = t2268 * t2286; + const double t2289 = 0.16081979498692535067e2 * t2284 * t2287; + const double t2293 = t650 * t713; + const double t2297 = t712 * t182; + const double t2298 = 0.1e1 / t2297; + const double t2299 = t177 * t2298; + const double t2300 = t719 * t719; + const double t2301 = t2300 * t720; + const double t2310 = -0.57538888888888888889e0 * t2233 + 0.11507777777777777778e1 * t2236 + 0.40256666666666666667e0 * t2238 + 0.366775e-1 * t2242 + 0.73355e-1 * t2244 + 0.137975e0 * t2247; + const double t2311 = t2310 * t720; + const double t2314 = t712 * t712; + const double t2315 = 0.1e1 / t2314; + const double t2316 = t177 * t2315; + const double t2317 = t185 * t185; + const double t2318 = 0.1e1 / t2317; + const double t2319 = t2300 * t2318; + const double t2322 = -0.70983522622222222221e-3 * t123 * t2113 * t173 - 0.34246666666666666666e-1 * t262 * t2217 * t706 - 0.2e1 * t2223 * t2225 + 0.1e1 * t699 * t2250 + 0.32163958997385070134e2 * t2255 * t2258 + t2116 + t2264 + t2271 - t2281 - t2289 - 0.24415263074675393405e-3 * t123 * t2113 * t186 - 0.10843581300301739842e-1 * t262 * t2293 * t721 - 0.11696447245269292414e1 * t2299 * t2301 + 0.5848223622634646207e0 * t714 * t2311 + 0.17315859105681463759e2 * t2316 * t2319; + const double t2323 = t162 * t2322; + const double t2324 = t158 * t2323; + const double t2325 = t692 * t725; + const double t2326 = 0.2e1 * t2325; + const double t2327 = t725 * t581; + const double t2328 = t681 * t2327; + const double t2329 = 0.8e1 * t2328; + const double t2330 = t2315 * t2300; + const double t2331 = t2330 * t2318; + const double t2333 = 0.17315859105681463759e2 * t735 * t2331; + const double t2334 = t727 * t177; + const double t2335 = t2334 * t737; + const double t2336 = 0.11696447245269292414e1 * t2335; + const double t2338 = t713 * t2310 * t720; + const double t2340 = 0.5848223622634646207e0 * t735 * t2338; + const double t2341 = t727 * t72; + const double t2342 = t2341 * t732; + const double t2343 = 0.36622894612013090108e-3 * t2342; + const double t2345 = t2298 * t2300 * t720; + const double t2347 = 0.11696447245269292414e1 * t735 * t2345; + const double t2348 = t2206 + t2210 + t2213 + t2324 + t2281 + t2289 + t2133 + t2326 + t2136 + t2139 + t2329 - t2271 - t2333 - t2336 - t2340 + t2112 - t2116 - t2343 + t2347 - t2264; + const double t2349 = t2348 * t219; + const double t2353 = t73 * t799; + const double t2354 = t2353 * t2168; + const double t2357 = t778 * t2153; + const double t2360 = -0.12e2 * t222 * t2354 + 0.3e1 * t222 * t2357 - t224 * t2349 + 0.6e1 * t776 * t779; + const double t2361 = t2360 * t226; + const double t2363 = t773 * t774 * t2361; + const double t2366 = t2182 * t226; + const double t2368 = t773 * t774 * t2366; + const double t2372 = 0.1e1 / t66 / t26; + const double t2373 = t2372 * t235; + const double t2375 = t2373 * t238 * t242; + const double t2377 = 0.119e3 / 0.13824e5 * t232 * t2375; + const double t2379 = t339 * t795 * t789; + const double t2380 = t2379 * t803; + const double t2383 = 0.1e1 / t237 / t206; + const double t2384 = t235 * t2383; + const double t2385 = t2384 * t72; + const double t2387 = t2385 * t774 * t2168; + const double t2391 = t801 * t774 * t2153; + const double t2394 = t2162 + 0.7e1 / 0.72e2 * t2164 + t2167 * t2170 / 0.16e2 - t761 * t2174 / 0.48e2 + t2181 * t2186 / 0.1536e4 + 0.7e1 / 0.2304e4 * t2191 + t2194 * t2200 / 0.384e3 - t771 * t2363 / 0.3072e4 - t771 * t2368 / 0.3072e4 + t2377 + 0.7e1 / 0.576e3 * t2380 + 0.5e1 / 0.768e3 * t797 * t2387 - t797 * t2391 / 0.768e3; + const double t2395 = beta * t2394; + const double t2397 = t807 * t219; + const double t2401 = 0.1e1 / t810 / t251; + const double t2402 = t73 * t2401; + const double t2403 = t818 * t818; + const double t2404 = t2402 * t2403; + const double t2407 = t2178 * t246; + const double t2411 = t768 * t806; + const double t2421 = 0.2e1 * t2184 * t2407 * t339 + t220 * t229 * t2394 - t2361 * t339 * t813 - t2366 * t339 * t813 - 0.2e1 * t2411 * t339 * t783; + const double t2422 = t812 * t2421; + const double t2424 = t2395 * t253 - 0.2e1 * t2397 * t819 + 0.2e1 * t2404 * t809 - t2422 * t809; + const double t2428 = t205 * t256; + const double t2432 = t198 * t207 * t2424 * t823 + 0.3e1 * t198 * t2153 * t740 + 0.6e1 * t198 * t2168 * t2428 + t2112 - t2116 + t2133 + t2136 + t2139 + t2213 - t2264 + t2324 - t2343; + const double t2433 = t198 * t206; + const double t2434 = t821 * t823; + const double t2438 = t821 * t821; + const double t2440 = t255 * t255; + const double t2441 = 0.1e1 / t2440; + const double t2444 = -t198 * t207 * t2438 * t2441 + 0.6e1 * t2433 * t2434 * t750 + t2206 + t2210 - t2271 + t2281 + t2289 + t2326 + t2329 - t2333 - t2336 - t2340 + t2347; + const double t2445 = t2432 + t2444; + const double t2453 = t262 * t1693 * t265; + const double t2454 = 0.23744444444444444444e-1 * t2453; + const double t2455 = t664 * t838; + const double t2457 = t159 * t969; + const double t2458 = t606 * t606; + const double t2459 = 0.1e1 / t2458; + const double t2460 = t2459 * t1985; + const double t2461 = t2457 * t2460; + const double t2462 = t128 * t2461; + const double t2464 = 0.1e1 / t2031; + const double t2465 = t2464 * t1985; + const double t2466 = t835 * t2465; + const double t2467 = t128 * t2466; + const double t2469 = t836 * t1992; + const double t2470 = t835 * t2469; + const double t2471 = t128 * t2470; + const double t2473 = t2454 + 0.11872222222222222222e-1 * t2455 - 0.11872222222222222222e-1 * t2462 + 0.35616666666666666666e-1 * t2467 - 0.17808333333333333333e-1 * t2471; + const double t2475 = 0.621814e-1 * t2473 * t285; + const double t2476 = t841 * t845; + const double t2478 = 0.2e1 * t2476 * t867; + const double t2479 = t844 * t281; + const double t2480 = 0.1e1 / t2479; + const double t2481 = t269 * t2480; + const double t2482 = t865 * t865; + const double t2483 = t2482 * t866; + const double t2485 = 0.2e1 * t2481 * t2483; + const double t2487 = 0.1e1 / t270 / t267; + const double t2488 = t849 * t849; + const double t2489 = t2487 * t2488; + const double t2491 = 0.4e1 / 0.9e1 * t2453; + const double t2496 = t2491 + 0.2e1 / 0.9e1 * t2455 - 0.2e1 / 0.9e1 * t2462 + 0.2e1 / 0.3e1 * t2467 - t2471 / 0.3e1; + const double t2497 = t847 * t2496; + const double t2499 = 0.39862222222222222223e0 * t2453; + const double t2504 = 0.1e1/safe_math::sqrt( t267 ); + const double t2505 = t2504 * t2488; + const double t2507 = t854 * t2496; + const double t2509 = t68 * t235; + const double t2511 = t275 * t2509 * t277; + const double t2512 = 0.13692777777777777778e0 * t2511; + const double t2513 = t673 * t862; + const double t2515 = t235 * t928; + const double t2516 = t2515 * t2460; + const double t2517 = t141 * t2516; + const double t2519 = t861 * t2465; + const double t2520 = t141 * t2519; + const double t2522 = t861 * t2469; + const double t2523 = t141 * t2522; + const double t2525 = -0.9494625e0 * t2489 + 0.1898925e1 * t2497 + t2499 + 0.19931111111111111111e0 * t2455 - 0.19931111111111111111e0 * t2462 + 0.59793333333333333334e0 * t2467 - 0.29896666666666666667e0 * t2471 + 0.15358125e0 * t2505 + 0.3071625e0 * t2507 + t2512 + 0.10954222222222222222e0 * t2513 - 0.27385555555555555556e-1 * t2517 + 0.16431333333333333333e0 * t2520 - 0.82156666666666666667e-1 * t2523; + const double t2526 = t2525 * t866; + const double t2528 = 0.1e1 * t846 * t2526; + const double t2529 = t844 * t844; + const double t2530 = 0.1e1 / t2529; + const double t2531 = t269 * t2530; + const double t2532 = t284 * t284; + const double t2533 = 0.1e1 / t2532; + const double t2534 = t2482 * t2533; + const double t2536 = 0.16081979498692535067e2 * t2531 * t2534; + const double t2537 = 0.22831111111111111111e-1 * t2453; + const double t2542 = t2537 + 0.11415555555555555555e-1 * t2455 - 0.11415555555555555555e-1 * t2462 + 0.34246666666666666666e-1 * t2467 - 0.17123333333333333333e-1 * t2471; + const double t2545 = t872 * t876; + const double t2548 = t875 * t301; + const double t2549 = 0.1e1 / t2548; + const double t2550 = t296 * t2549; + const double t2551 = t884 * t884; + const double t2552 = t2551 * t885; + const double t2557 = 0.68863333333333333333e0 * t2453; + const double t2564 = 0.17365833333333333333e0 * t2511; + const double t2569 = -0.17648625e1 * t2489 + 0.3529725e1 * t2497 + t2557 + 0.34431666666666666666e0 * t2455 - 0.34431666666666666667e0 * t2462 + 0.103295e1 * t2467 - 0.516475e0 * t2471 + 0.31558125e0 * t2505 + 0.6311625e0 * t2507 + t2564 + 0.13892666666666666667e0 * t2513 - 0.34731666666666666667e-1 * t2517 + 0.20839e0 * t2520 - 0.104195e0 * t2523; + const double t2570 = t2569 * t885; + const double t2573 = t875 * t875; + const double t2574 = 0.1e1 / t2573; + const double t2575 = t296 * t2574; + const double t2576 = t304 * t304; + const double t2577 = 0.1e1 / t2576; + const double t2578 = t2551 * t2577; + const double t2581 = 0.12361111111111111111e-1 * t2453; + const double t2586 = t2581 + 0.61805555555555555556e-2 * t2455 - 0.61805555555555555555e-2 * t2462 + 0.18541666666666666667e-1 * t2467 - 0.92708333333333333333e-2 * t2471; + const double t2587 = t2586 * t318; + const double t2589 = t891 * t895; + const double t2592 = t894 * t314; + const double t2593 = 0.1e1 / t2592; + const double t2594 = t309 * t2593; + const double t2595 = t903 * t903; + const double t2596 = t2595 * t904; + const double t2601 = 0.40256666666666666667e0 * t2453; + const double t2608 = 0.137975e0 * t2511; + const double t2613 = -0.1294625e1 * t2489 + 0.258925e1 * t2497 + t2601 + 0.20128333333333333334e0 * t2455 - 0.20128333333333333333e0 * t2462 + 0.60385e0 * t2467 - 0.301925e0 * t2471 + 0.82524375e-1 * t2505 + 0.16504875e0 * t2507 + t2608 + 0.11038e0 * t2513 - 0.27595e-1 * t2517 + 0.16557e0 * t2520 - 0.82785e-1 * t2523; + const double t2614 = t2613 * t904; + const double t2617 = t894 * t894; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t309 * t2618; + const double t2620 = t317 * t317; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2595 * t2621; + const double t2625 = -0.310907e-1 * t2542 * t305 + 0.2e1 * t2545 * t886 - 0.2e1 * t2550 * t2552 + 0.1e1 * t877 * t2570 + 0.32163958997385070134e2 * t2575 * t2578 + t2475 - t2478 + t2485 - t2528 - t2536 - 0.19751673498613801407e-1 * t2587 + 0.11696447245269292414e1 * t2589 * t905 - 0.11696447245269292414e1 * t2594 * t2596 + 0.5848223622634646207e0 * t896 * t2614 + 0.17315859105681463759e2 * t2619 * t2622; + const double t2626 = t294 * t2625; + const double t2628 = 0.19751673498613801407e-1 * t294 * t2587; + const double t2629 = t294 * t891; + const double t2631 = 0.11696447245269292414e1 * t2629 * t914; + const double t2633 = t2593 * t2595 * t904; + const double t2635 = 0.11696447245269292414e1 * t912 * t2633; + const double t2637 = t895 * t2613 * t904; + const double t2639 = 0.5848223622634646207e0 * t912 * t2637; + const double t2640 = t2618 * t2595; + const double t2641 = t2640 * t2621; + const double t2643 = 0.17315859105681463759e2 * t912 * t2641; + const double t2644 = t928 * t2464; + const double t2645 = t2644 * t1985; + const double t2646 = t926 * t2645; + const double t2649 = t958 * t962; + const double t2652 = t359 * t651 * t361; + const double t2654 = t355 * t2652 / 0.13824e5; + const double t2657 = 0.1e1 / t40 / t350 / t586; + const double t2659 = t339 * t349 * t2657; + const double t2662 = t970 * t2465; + const double t2663 = t242 * t2662; + const double t2666 = t956 * t943; + const double t2668 = t938 * t941 * t2666; + const double t2671 = t126 * t361; + const double t2672 = t2671 * t949; + const double t2673 = t242 * t2672; + const double t2674 = t946 * t2673; + const double t2676 = t589 * t924; + const double t2679 = t917 * t921; + const double t2682 = t215 * t671 * t334; + const double t2684 = t333 * t2682 / 0.432e3; + const double t2685 = t2004 * t332; + const double t2688 = -t925 * t2646 / 0.144e3 - t2649 / 0.432e3 - t2654 + 0.19e2 / 0.1728e4 * t2659 * t363 - t967 * t2663 / 0.2304e4 - t2668 * t951 / 0.288e3 + t2674 / 0.2304e4 - t2676 * t931 / 0.54e2 - t2679 / 0.54e2 - t2684 + 0.11e2 / 0.108e3 * t2685 * t336; + const double t2689 = t140 * t930; + const double t2690 = t925 * t2689; + const double t2692 = t929 * t1992; + const double t2693 = t926 * t2692; + const double t2697 = 0.1e1 / t265 / t836; + const double t2698 = t2697 * t2459; + const double t2699 = t2698 * t1985; + const double t2700 = t926 * t2699; + const double t2703 = t348 * t353; + const double t2704 = t943 * t72; + const double t2706 = t983 * t2703 * t2704; + const double t2707 = t774 * t970; + const double t2708 = t949 * t837; + const double t2709 = t2707 * t2708; + const double t2712 = -t2475 + t2478 - t2485 + t2528 + t2536 + t2626 + t2628 - t2631 + t2635 - t2639 - t2643; + const double t2713 = t2712 * t345; + const double t2714 = t947 * t2713; + const double t2715 = t242 * t2714; + const double t2719 = 0.1e1 / t934 / t196; + const double t2720 = beta * t2719; + const double t2722 = t2720 * t2721; + const double t2724 = 0.1e1 / t939 / t346; + const double t2725 = t2724 * t348; + const double t2726 = t356 * t356; + const double t2728 = 0.1e1 / t2726 / t329; + const double t2729 = t353 * t2728; + const double t2731 = t2722 * t2725 * t2729; + const double t2732 = t948 * t948; + const double t2733 = t345 * t345; + const double t2734 = t2732 * t2733; + const double t2735 = t947 * t2734; + const double t2736 = t242 * t2735; + const double t2740 = t2722 * t941 * t2729; + const double t2741 = t2732 * t345; + const double t2742 = t947 * t2741; + const double t2743 = t242 * t2742; + const double t2746 = t956 * t357; + const double t2748 = t339 * t349 * t2746; + const double t2751 = t126 * t969; + const double t2752 = t2751 * t837; + const double t2753 = t242 * t2752; + const double t2754 = t967 * t2753; + const double t2756 = t970 * t2469; + const double t2757 = t242 * t2756; + const double t2761 = 0.1e1 / t277 / t836; + const double t2762 = t66 * t2761; + const double t2763 = t2762 * t2460; + const double t2764 = t242 * t2763; + const double t2767 = t2690 / 0.432e3 + t925 * t2693 / 0.288e3 + t925 * t2700 / 0.216e3 + t2706 * t2709 / 0.2304e4 + t946 * t2715 / 0.3072e4 + t2731 * t2736 / 0.1536e4 - t2740 * t2743 / 0.3072e4 - t2748 * t972 / 0.432e3 + t2754 / 0.3456e4 + t967 * t2757 / 0.4608e4 + 0.5e1 / 0.13824e5 * t967 * t2764; + const double t2768 = t2688 + t2767; + const double t2769 = beta * t2768; + const double t2771 = t976 * t219; + const double t2775 = 0.1e1 / t979 / t371; + const double t2776 = t73 * t2775; + const double t2777 = t990 * t990; + const double t2778 = t2776 * t2777; + const double t2782 = t2720 * t2721 * t2724; + const double t2783 = t366 * t2732; + const double t2785 = 0.1e1 / t356 / t329; + const double t2786 = t2785 * t2733; + const double t2790 = t975 * t948; + const double t2794 = t366 * t2712; + const double t2797 = t2721 * t940; + const double t2798 = t2720 * t2797; + const double t2799 = t2785 * t345; + const double t2804 = t220 * t2768 * t368 + 0.2e1 * t2782 * t2783 * t2786 - t2783 * t2798 * t2799 + 0.2e1 * t2790 * t983 * t985 + t2794 * t983 * t985; + const double t2805 = t981 * t2804; + const double t2807 = t2769 * t373 - 0.2e1 * t2771 * t991 + 0.2e1 * t2778 * t978 - t2805 * t978; + const double t2811 = t993 * t993; + const double t2813 = t375 * t375; + const double t2814 = 0.1e1 / t2813; + const double t2817 = t198 * t2807 * t330 * t995 - t198 * t2811 * t2814 * t330 - t2475 + t2478 - t2485 + t2528 + t2536 + t2626 + t2628 - t2631 + t2635 - t2639 - t2643; + const double t2818 = piecewise_functor_3( t380, t2817, t2445 ); + const double t2825 = piecewise_functor_3( t120, t2445 * t30 / 0.2e1 + t826 * t580 + t259 * t1991 / 0.2e1, t2818 * t45 / 0.2e1 + t999 * t581 + t381 * t1992 / 0.2e1 ); + const double t2829 = -t1991; + const double t2834 = t262 * t1693 * t390; + const double t2835 = 0.23744444444444444444e-1 * t2834; + const double t2836 = t664 * t1016; + const double t2838 = t159 * t1127; + const double t2839 = t610 * t610; + const double t2840 = 0.1e1 / t2839; + const double t2841 = t2840 * t1985; + const double t2842 = t2838 * t2841; + const double t2843 = t128 * t2842; + const double t2845 = 0.1e1 / t2038; + const double t2846 = t2845 * t1985; + const double t2847 = t1013 * t2846; + const double t2848 = t128 * t2847; + const double t2850 = t1014 * t1992; + const double t2851 = t1013 * t2850; + const double t2852 = t128 * t2851; + const double t2854 = t2835 - 0.11872222222222222222e-1 * t2836 - 0.11872222222222222222e-1 * t2843 + 0.35616666666666666666e-1 * t2848 + 0.17808333333333333333e-1 * t2852; + const double t2856 = 0.621814e-1 * t2854 * t408; + const double t2857 = t1019 * t1023; + const double t2859 = 0.2e1 * t2857 * t1044; + const double t2860 = t1022 * t404; + const double t2861 = 0.1e1 / t2860; + const double t2862 = t394 * t2861; + const double t2863 = t1042 * t1042; + const double t2864 = t2863 * t1043; + const double t2866 = 0.2e1 * t2862 * t2864; + const double t2868 = 0.1e1 / t395 / t392; + const double t2869 = t1027 * t1027; + const double t2870 = t2868 * t2869; + const double t2872 = 0.4e1 / 0.9e1 * t2834; + const double t2877 = t2872 - 0.2e1 / 0.9e1 * t2836 - 0.2e1 / 0.9e1 * t2843 + 0.2e1 / 0.3e1 * t2848 + t2852 / 0.3e1; + const double t2878 = t1025 * t2877; + const double t2880 = 0.39862222222222222223e0 * t2834; + const double t2885 = 0.1e1/safe_math::sqrt( t392 ); + const double t2886 = t2885 * t2869; + const double t2888 = t1032 * t2877; + const double t2891 = t275 * t2509 * t400; + const double t2892 = 0.13692777777777777778e0 * t2891; + const double t2893 = t673 * t1039; + const double t2895 = t235 * t1100; + const double t2896 = t2895 * t2841; + const double t2897 = t141 * t2896; + const double t2899 = t1038 * t2846; + const double t2900 = t141 * t2899; + const double t2902 = t1038 * t2850; + const double t2903 = t141 * t2902; + const double t2905 = -0.9494625e0 * t2870 + 0.1898925e1 * t2878 + t2880 - 0.19931111111111111111e0 * t2836 - 0.19931111111111111111e0 * t2843 + 0.59793333333333333334e0 * t2848 + 0.29896666666666666667e0 * t2852 + 0.15358125e0 * t2886 + 0.3071625e0 * t2888 + t2892 - 0.10954222222222222222e0 * t2893 - 0.27385555555555555556e-1 * t2897 + 0.16431333333333333333e0 * t2900 + 0.82156666666666666667e-1 * t2903; + const double t2906 = t2905 * t1043; + const double t2908 = 0.1e1 * t1024 * t2906; + const double t2909 = t1022 * t1022; + const double t2910 = 0.1e1 / t2909; + const double t2911 = t394 * t2910; + const double t2912 = t407 * t407; + const double t2913 = 0.1e1 / t2912; + const double t2914 = t2863 * t2913; + const double t2916 = 0.16081979498692535067e2 * t2911 * t2914; + const double t2917 = 0.22831111111111111111e-1 * t2834; + const double t2922 = t2917 - 0.11415555555555555555e-1 * t2836 - 0.11415555555555555555e-1 * t2843 + 0.34246666666666666666e-1 * t2848 + 0.17123333333333333333e-1 * t2852; + const double t2925 = t1049 * t1053; + const double t2928 = t1052 * t417; + const double t2929 = 0.1e1 / t2928; + const double t2930 = t412 * t2929; + const double t2931 = t1061 * t1061; + const double t2932 = t2931 * t1062; + const double t2937 = 0.68863333333333333333e0 * t2834; + const double t2944 = 0.17365833333333333333e0 * t2891; + const double t2949 = -0.17648625e1 * t2870 + 0.3529725e1 * t2878 + t2937 - 0.34431666666666666666e0 * t2836 - 0.34431666666666666667e0 * t2843 + 0.103295e1 * t2848 + 0.516475e0 * t2852 + 0.31558125e0 * t2886 + 0.6311625e0 * t2888 + t2944 - 0.13892666666666666667e0 * t2893 - 0.34731666666666666667e-1 * t2897 + 0.20839e0 * t2900 + 0.104195e0 * t2903; + const double t2950 = t2949 * t1062; + const double t2953 = t1052 * t1052; + const double t2954 = 0.1e1 / t2953; + const double t2955 = t412 * t2954; + const double t2956 = t420 * t420; + const double t2957 = 0.1e1 / t2956; + const double t2958 = t2931 * t2957; + const double t2961 = 0.12361111111111111111e-1 * t2834; + const double t2966 = t2961 - 0.61805555555555555556e-2 * t2836 - 0.61805555555555555555e-2 * t2843 + 0.18541666666666666667e-1 * t2848 + 0.92708333333333333333e-2 * t2852; + const double t2967 = t2966 * t434; + const double t2969 = t1068 * t1072; + const double t2972 = t1071 * t430; + const double t2973 = 0.1e1 / t2972; + const double t2974 = t425 * t2973; + const double t2975 = t1080 * t1080; + const double t2976 = t2975 * t1081; + const double t2981 = 0.40256666666666666667e0 * t2834; + const double t2988 = 0.137975e0 * t2891; + const double t2993 = -0.1294625e1 * t2870 + 0.258925e1 * t2878 + t2981 - 0.20128333333333333334e0 * t2836 - 0.20128333333333333333e0 * t2843 + 0.60385e0 * t2848 + 0.301925e0 * t2852 + 0.82524375e-1 * t2886 + 0.16504875e0 * t2888 + t2988 - 0.11038e0 * t2893 - 0.27595e-1 * t2897 + 0.16557e0 * t2900 + 0.82785e-1 * t2903; + const double t2994 = t2993 * t1081; + const double t2997 = t1071 * t1071; + const double t2998 = 0.1e1 / t2997; + const double t2999 = t425 * t2998; + const double t3000 = t433 * t433; + const double t3001 = 0.1e1 / t3000; + const double t3002 = t2975 * t3001; + const double t3005 = -0.310907e-1 * t2922 * t421 + 0.2e1 * t2925 * t1063 - 0.2e1 * t2930 * t2932 + 0.1e1 * t1054 * t2950 + 0.32163958997385070134e2 * t2955 * t2958 + t2856 - t2859 + t2866 - t2908 - t2916 - 0.19751673498613801407e-1 * t2967 + 0.11696447245269292414e1 * t2969 * t1082 - 0.11696447245269292414e1 * t2974 * t2976 + 0.5848223622634646207e0 * t1073 * t2994 + 0.17315859105681463759e2 * t2999 * t3002; + const double t3006 = t294 * t3005; + const double t3008 = 0.19751673498613801407e-1 * t294 * t2967; + const double t3009 = t294 * t1068; + const double t3011 = 0.11696447245269292414e1 * t3009 * t1091; + const double t3013 = t2973 * t2975 * t1081; + const double t3015 = 0.11696447245269292414e1 * t1089 * t3013; + const double t3017 = t1072 * t2993 * t1081; + const double t3019 = 0.5848223622634646207e0 * t1089 * t3017; + const double t3020 = t2998 * t2975; + const double t3021 = t3020 * t3001; + const double t3023 = 0.17315859105681463759e2 * t1089 * t3021; + const double t3025 = t215 * t671 * t442; + const double t3027 = t441 * t3025 / 0.432e3; + const double t3028 = t140 * t1102; + const double t3029 = t1098 * t3028; + const double t3032 = 0.1e1 / t390 / t1014; + const double t3033 = t3032 * t2840; + const double t3034 = t3033 * t1985; + const double t3035 = t926 * t3034; + const double t3038 = t1100 * t2845; + const double t3039 = t3038 * t1985; + const double t3040 = t926 * t3039; + const double t3043 = t1101 * t1992; + const double t3044 = t926 * t3043; + const double t3048 = 0.1e1 / t1106 / t451; + const double t3049 = t3048 * t453; + const double t3050 = t458 * t2728; + const double t3052 = t2722 * t3049 * t3050; + const double t3053 = t1113 * t1113; + const double t3054 = t450 * t450; + const double t3055 = t3053 * t3054; + const double t3056 = t1112 * t3055; + const double t3057 = t242 * t3056; + const double t3060 = t126 * t461; + const double t3061 = t3060 * t1114; + const double t3062 = t242 * t3061; + const double t3063 = t1111 * t3062; + const double t3065 = t453 * t458; + const double t3067 = t1141 * t3065 * t2704; + const double t3068 = t774 * t1128; + const double t3069 = t1114 * t1015; + const double t3070 = t3068 * t3069; + const double t3073 = -t2856 + t2859 - t2866 + t2908 + t2916 + t3006 + t3008 - t3011 + t3015 - t3019 - t3023; + const double t3074 = t3073 * t450; + const double t3075 = t1112 * t3074; + const double t3076 = t242 * t3075; + const double t3080 = t2722 * t1108 * t3050; + const double t3081 = t3053 * t450; + const double t3082 = t1112 * t3081; + const double t3083 = t242 * t3082; + const double t3087 = t359 * t651 * t461; + const double t3089 = t460 * t3087 / 0.13824e5; + const double t3090 = t126 * t1127; + const double t3091 = t3090 * t1015; + const double t3092 = t242 * t3091; + const double t3093 = t1125 * t3092; + const double t3096 = 0.1e1 / t400 / t1014; + const double t3097 = t66 * t3096; + const double t3098 = t3097 * t2841; + const double t3099 = t242 * t3098; + const double t3102 = t1128 * t2846; + const double t3103 = t242 * t3102; + const double t3106 = t1128 * t2850; + const double t3107 = t242 * t3106; + const double t3110 = -t3027 - t3029 / 0.432e3 + t1098 * t3035 / 0.216e3 - t1098 * t3040 / 0.144e3 - t1098 * t3044 / 0.288e3 + t3052 * t3057 / 0.1536e4 + t3063 / 0.2304e4 - t3067 * t3070 / 0.2304e4 + t1111 * t3076 / 0.3072e4 - t3080 * t3083 / 0.3072e4 - t3089 - t3093 / 0.3456e4 + 0.5e1 / 0.13824e5 * t1125 * t3099 - t1125 * t3103 / 0.2304e4 - t1125 * t3107 / 0.4608e4; + const double t3111 = beta * t3110; + const double t3113 = t1134 * t219; + const double t3117 = 0.1e1 / t1137 / t471; + const double t3118 = t73 * t3117; + const double t3119 = t1148 * t1148; + const double t3120 = t3118 * t3119; + const double t3124 = t2720 * t2721 * t3048; + const double t3125 = t466 * t3053; + const double t3126 = t2785 * t3054; + const double t3130 = t1133 * t1113; + const double t3134 = t466 * t3073; + const double t3137 = t2721 * t1107; + const double t3138 = t2720 * t3137; + const double t3139 = t2785 * t450; + const double t3144 = 0.2e1 * t1141 * t1143 * t3130 + t1141 * t1143 * t3134 + t220 * t3110 * t468 + 0.2e1 * t3124 * t3125 * t3126 - t3125 * t3138 * t3139; + const double t3145 = t1139 * t3144; + const double t3147 = 0.2e1 * t1136 * t3120 - t1136 * t3145 - 0.2e1 * t1149 * t3113 + t3111 * t473; + const double t3151 = t1151 * t1151; + const double t3153 = t475 * t475; + const double t3154 = 0.1e1 / t3153; + const double t3157 = t1153 * t198 * t3147 * t330 - t198 * t3151 * t3154 * t330 - t2856 + t2859 - t2866 + t2908 + t2916 + t3006 + t3008 - t3011 + t3015 - t3019 - t3023; + const double t3158 = piecewise_functor_3( t480, t3157, t2445 ); + const double t3165 = piecewise_functor_3( t386, t2445 * t33 / 0.2e1 + t826 * t1006 + t259 * t2829 / 0.2e1, t3158 * t57 / 0.2e1 - t1157 * t581 - t481 * t1992 / 0.2e1 ); + const double t3166 = t2825 + t3165; + const double t3174 = 0.2e1 * t1165 * t2105 + 0.4e1 * t2056 * t645 + 0.2e1 * t2061 * t93 + t2054; + const double t3179 = 0.8e1 * t1173 * t1186; + const double t3180 = t1170 * t1184; + const double t3181 = 0.8e1 * t3180; + const double t3182 = t1268 * t1268; + const double t3184 = t540 * t540; + const double t3185 = 0.1e1 / t3184; + const double t3188 = 0.1e1 / t491; + const double t3189 = t580 * t580; + const double t3195 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3188 * t3189 + 0.2e1 / 0.3e1 * t1197 * t1991 ); + const double t3196 = 0.1e1 / t494; + const double t3197 = t1006 * t1006; + const double t3203 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3196 * t3197 + 0.2e1 / 0.3e1 * t1201 * t2829 ); + const double t3205 = t3195 / 0.2e1 + t3203 / 0.2e1; + const double t3210 = 0.35e2 / 0.432e3 * t2160 * t512; + const double t3211 = t756 * t1212; + const double t3212 = t3211 * t1215; + const double t3214 = t159 * t527; + const double t3215 = t210 * t3214; + const double t3216 = t1206 * t1206; + const double t3217 = t124 * t3216; + const double t3218 = t762 * t3217; + const double t3222 = t762 * t124 * t3205; + const double t3226 = 0.1e1 / t1218 / t521; + const double t3227 = t3226 * t230; + const double t3229 = t339 * t3227 * t234; + const double t3230 = t1232 * t1232; + const double t3231 = t520 * t520; + const double t3232 = t3230 * t3231; + const double t3234 = t1224 * t774 * t3232; + const double t3238 = t339 * t1220 * t789; + const double t3239 = t3238 * t1235; + const double t3242 = t339 * t1220 * t236; + const double t3243 = t1246 * t72; + const double t3244 = t3243 * t240; + const double t3245 = t125 * t1232; + const double t3246 = t520 * t1206; + const double t3247 = t3245 * t3246; + const double t3248 = t3244 * t3247; + const double t3252 = 0.24415263074675393405e-3 * t1190 * t2204; + const double t3253 = t1183 * t72; + const double t3254 = t3253 * t732; + const double t3255 = 0.36622894612013090108e-3 * t3254; + const double t3257 = 0.11696447245269292414e1 * t1193 * t2345; + const double t3258 = 0.1e1 / t502; + const double t3264 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3258 * t3189 + 0.4e1 / 0.3e1 * t490 * t1991 ); + const double t3265 = 0.1e1 / t504; + const double t3271 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3265 * t3197 + 0.4e1 / 0.3e1 * t493 * t2829 ); + const double t3273 = ( t3264 + t3271 ) * t162; + const double t3275 = 0.19751673498613801407e-1 * t3273 * t187; + const double t3277 = 0.17315859105681463759e2 * t1193 * t2331; + const double t3278 = t1183 * t177; + const double t3279 = t3278 * t737; + const double t3280 = 0.11696447245269292414e1 * t3279; + const double t3282 = 0.5848223622634646207e0 * t1193 * t2338; + const double t3283 = t497 * t2322; + const double t3284 = t489 * t3283; + const double t3285 = t1183 * t724; + const double t3286 = t489 * t3285; + const double t3287 = 0.2e1 * t3286; + const double t3288 = t3273 * t189; + const double t3289 = t489 * t3288; + const double t3290 = t1173 * t1184; + const double t3291 = 0.8e1 * t3290; + const double t3292 = t3252 - t3255 + t3257 + t3275 - t3277 - t3280 - t3282 + t3284 + t3287 + t3289 - t3291; + const double t3294 = 0.8e1 * t1170 * t1186; + const double t3295 = t19 * t27; + const double t3297 = 0.2e2 * t3295 * t498; + const double t3298 = t14 * t22; + const double t3300 = 0.12e2 * t3298 * t498; + const double t3301 = t558 * t563; + const double t3303 = 0.32e2 * t3301 * t498; + const double t3304 = t497 * t123; + const double t3306 = 0.10843581300301739842e-1 * t3304 * t2208; + const double t3307 = -t3179 + t3181 + t3294 + t3297 + t3300 - t3303 + t2281 + t2289 - t2271 - t2116 - t2264 + t3306; + const double t3309 = ( t3292 + t3307 ) * t219; + const double t3313 = t73 * t1246; + const double t3314 = t3313 * t3216; + const double t3317 = t1228 * t3205; + const double t3320 = 0.6e1 * t1226 * t1229 - t3309 * t518 - 0.12e2 * t3314 * t516 + 0.3e1 * t3317 * t516; + const double t3321 = t3320 * t520; + const double t3323 = t1224 * t774 * t3321; + const double t3326 = t3230 * t520; + const double t3328 = t1224 * t774 * t3326; + const double t3332 = t2373 * t527 * t242; + const double t3334 = 0.119e3 / 0.13824e5 * t525 * t3332; + const double t3336 = t339 * t1242 * t789; + const double t3337 = t3336 * t1250; + const double t3340 = 0.1e1 / t526 / t508; + const double t3341 = t235 * t3340; + const double t3342 = t3341 * t72; + const double t3344 = t3342 * t774 * t3216; + const double t3348 = t1248 * t774 * t3205; + const double t3351 = t3210 + 0.7e1 / 0.72e2 * t3212 + t3215 * t3218 / 0.16e2 - t1213 * t3222 / 0.48e2 + t3229 * t3234 / 0.1536e4 + 0.7e1 / 0.2304e4 * t3239 + t3242 * t3248 / 0.384e3 - t1222 * t3323 / 0.3072e4 - t1222 * t3328 / 0.3072e4 + t3334 + 0.7e1 / 0.576e3 * t3337 + 0.5e1 / 0.768e3 * t1244 * t3344 - t1244 * t3348 / 0.768e3; + const double t3352 = beta * t3351; + const double t3354 = t1254 * t219; + const double t3358 = 0.1e1 / t1257 / t536; + const double t3359 = t73 * t3358; + const double t3360 = t1265 * t1265; + const double t3361 = t3359 * t3360; + const double t3364 = t3226 * t532; + const double t3368 = t1219 * t1253; + const double t3378 = -0.2e1 * t1233 * t3368 * t339 - t1260 * t3321 * t339 - t1260 * t3326 * t339 + t220 * t3351 * t523 + 0.2e1 * t3232 * t3364 * t339; + const double t3379 = t1259 * t3378; + const double t3381 = 0.2e1 * t1256 * t3361 - t1256 * t3379 - 0.2e1 * t1266 * t3354 + t3352 * t538; + const double t3385 = t1270 * t198 * t3381 * t509 - t198 * t3182 * t3185 * t509 + 0.3e1 * t1196 * t198 * t3205 - t2116 - t2264 + t2289 - t3179 + t3181 + t3287 + t3289 - t3291 + t3294 + t3297 + t3300; + const double t3386 = t507 * t541; + const double t3390 = t198 * t508; + const double t3391 = t1268 * t1270; + const double t3395 = 0.6e1 * t1206 * t3390 * t3391 + 0.6e1 * t198 * t3216 * t3386 - t2271 + t2281 + t3252 - t3255 + t3257 + t3275 - t3277 - t3280 - t3282 + t3284 - t3303 + t3306; + const double t3396 = t3385 + t3395; + const double t3398 = -0.2e1 * t1163 * t624 + 0.2e1 * t1168 * t1273 - t118 * t3166 - t2054 * t485 - 0.4e1 * t2056 * t646 - 0.2e1 * t2062 * t485 - 0.4e1 * t2065 * t626 - 0.2e1 * t2106 * t626 + t3174 * t544 + t3396 * t488; + const double t3399 = t3 * t3398; + const double t3403 = d * t3398; + const double t3407 = t116 * t2061; + const double t3410 = t117 * t2105; + const double t3413 = 0.6e1 * t1279 * t1281 + t3403 * t548 + 0.6e1 * t3407 * t547 + 0.3e1 * t3410 * t547; + const double t3415 = t1665 * t550; + const double t3416 = -t1953 + t1957 - t1960 + t1964 - t1967 + t1973; + const double t3418 = t1286 * t577; + const double t3423 = t1317 * t619; + const double t3426 = t581 * t1289; + const double t3427 = t3426 * t70; + const double t3431 = piecewise_functor_5( t31, 0.0, t34, 0.0, 0.2e1 * t1989 ); + const double t3432 = t36 * t3431; + const double t3433 = t3432 * t70; + const double t3436 = t1290 * t602; + const double t3441 = t582 * t1306; + const double t3446 = t2009 * t1289; + const double t3447 = t3446 * t581; + const double t3450 = t48 * t3431; + const double t3455 = t2016 * t1289; + const double t3456 = t3455 * t581; + const double t3459 = t60 * t3431; + const double t3462 = -0.2e2 / 0.9e1 * t589 * t1294 + 0.5e1 / 0.18e2 * t44 * t3447 + 0.5e1 / 0.6e1 * t44 * t3450 + 0.2e2 / 0.9e1 * t1300 * t595 + 0.5e1 / 0.18e2 * t56 * t3456 - 0.5e1 / 0.6e1 * t56 * t3459 - t2024; + const double t3463 = t38 * t3462; + const double t3472 = t2033 * t1289; + const double t3475 = t608 * t3431; + const double t3477 = t2040 * t1289; + const double t3480 = t612 * t3431; + const double t3482 = 0.28e2 / 0.9e1 * t3472 * t581 - 0.4e1 / 0.3e1 * t3475 + 0.28e2 / 0.9e1 * t3477 * t581 + 0.4e1 / 0.3e1 * t3480; + const double t3483 = t77 * t3482; + const double t3486 = -t3427 * t85 / 0.12e2 - t3433 * t85 / 0.12e2 - t3436 * t85 / 0.12e2 - t1291 * t616 / 0.12e2 - t3441 * t85 / 0.12e2 + t3463 * t85 / 0.24e2 + t1307 * t616 / 0.24e2 - t583 * t1314 / 0.12e2 + t603 * t1314 / 0.24e2 + t71 * t3483 / 0.24e2; + const double t3490 = piecewise_functor_3( t8, 0.0, -0.4e1 * t1317 * t1976 + 0.2e2 * t1981 * t3423 + t3416 * t91 - 0.4e1 * t3418 * t619 - 0.4e1 * t3486 * t578 ); + const double t3491 = t3490 * t117; + const double t3493 = t1321 * t116; + const double t3499 = t94 * t645; + const double t3502 = t1163 * t1338; + const double t3506 = t600 * t1334; + const double t3508 = t2073 * t1333; + const double t3509 = t3508 * t640; + const double t3514 = t2083 * t1324; + const double t3515 = t3514 * t633; + const double t3518 = t100 * t2; + const double t3519 = t3518 * t555; + const double t3524 = t2091 * t1329; + const double t3525 = t3524 * t636; + const double t3528 = t108 * t2; + const double t3529 = t3528 * t555; + const double t3532 = -0.25e2 / 0.9e1 * t631 * t1325 + 0.1e2 / 0.9e1 * t97 * t3515 + 0.5e1 / 0.3e1 * t97 * t3519 - 0.25e2 / 0.9e1 * t1327 * t637 + 0.1e2 / 0.9e1 * t105 * t3525 - 0.5e1 / 0.3e1 * t105 * t3529; + const double t3533 = t630 * t3532; + const double t3537 = piecewise_functor_3( t115, 0.0, t2069 + t2070 / 0.3e1 + t3506 / 0.3e1 + t69 * t3509 / 0.4e1 - t69 * t3533 / 0.8e1 ); + const double t3538 = t485 * t3537; + const double t3542 = t1600 * t645; + const double t3545 = 0.18311447306006545054e-3 * t2342; + const double t3546 = 0.5848223622634646207e0 * t2335; + const double t3547 = 0.4e1 * t2328; + const double t3548 = t1354 * t177; + const double t3549 = t3548 * t737; + const double t3550 = 0.5848223622634646207e0 * t3549; + const double t3551 = t2109 * t162; + const double t3552 = t189 * t1289; + const double t3553 = t3552 * t581; + const double t3555 = 0.12e2 * t3551 * t3553; + const double t3556 = -t2116 - t2264 - t3545 + t2324 - t2333 + t2289 + t2325 - t3546 - t2340 + t2347 - t2271 + t2281 + t3547 - t3550 + t3555; + const double t3557 = t2117 * t1289; + const double t3563 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t3557 * t581 + 0.4e1 / 0.3e1 * t78 * t3431 ); + const double t3564 = t2124 * t1289; + const double t3570 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t3564 * t581 - 0.4e1 / 0.3e1 * t81 * t3431 ); + const double t3571 = t3563 + t3570; + const double t3572 = t3571 * t162; + const double t3574 = 0.19751673498613801407e-1 * t3572 * t187; + const double t3575 = t2434 * t1364; + const double t3578 = t198 * t205; + const double t3579 = t256 * t1364; + const double t3583 = t725 * t1289; + const double t3584 = t681 * t3583; + const double t3585 = 0.4e1 * t3584; + const double t3586 = t1398 * t823; + const double t3590 = t150 * t3571; + const double t3591 = t3590 * t190; + const double t3592 = t1352 * t725; + const double t3593 = t680 * t1351; + const double t3595 = 0.4e1 * t3593 * t682; + const double t3597 = 0.4e1 * t2137 * t1342; + const double t3598 = t190 * t3431; + const double t3600 = 0.4e1 * t681 * t3598; + const double t3601 = t1398 * t2441; + const double t3604 = t1354 * t72; + const double t3605 = t3604 * t732; + const double t3606 = 0.18311447306006545054e-3 * t3605; + const double t3607 = t80 * t1289; + const double t3613 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t3607 * t581 + 0.2e1 / 0.3e1 * t741 * t3431 ); + const double t3614 = t83 * t1289; + const double t3620 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t3614 * t581 - 0.2e1 / 0.3e1 * t745 * t3431 ); + const double t3622 = t3613 / 0.2e1 + t3620 / 0.2e1; + const double t3627 = t2163 * t1369; + const double t3630 = t762 * t1368 * t750; + const double t3633 = t124 * t3622; + const double t3634 = t762 * t3633; + const double t3638 = t339 * t2179 * t236; + const double t3639 = t238 * t72; + const double t3640 = t3639 * t240; + const double t3641 = t125 * t1378; + const double t3642 = t2183 * t782; + const double t3643 = t3641 * t3642; + const double t3644 = t3640 * t3643; + const double t3647 = t2190 * t1381; + const double t3649 = t3641 * t2198; + const double t3650 = t2196 * t3649; + const double t3653 = -t2116 - t2264 - t3545 + t2324 - t2333 + t2289 + t2325 - t3546 - t2340 + t2347 - t2271 + t2281; + const double t3654 = t3547 - t3550 + t3555 + t3574 + t3585 + t3591 + t3592 + t3595 + t3597 + t3600 + t2210 + t2206 - t3606; + const double t3656 = ( t3653 + t3654 ) * t219; + const double t3662 = t222 * t73; + const double t3663 = t799 * t1364; + const double t3664 = t3663 * t750; + const double t3667 = t778 * t3622; + const double t3670 = 0.3e1 * t1373 * t779 + 0.3e1 * t1375 * t776 + 0.3e1 * t222 * t3667 - t224 * t3656 - 0.12e2 * t3662 * t3664; + const double t3671 = t3670 * t226; + const double t3673 = t773 * t774 * t3671; + const double t3676 = t3641 * t783; + const double t3677 = t3640 * t3676; + const double t3682 = t125 * t1364; + const double t3683 = t3682 * t783; + const double t3684 = t2196 * t3683; + const double t3687 = t2379 * t1385; + const double t3689 = t1364 * t750; + const double t3691 = t2385 * t774 * t3689; + const double t3695 = t801 * t774 * t3622; + const double t3698 = t2162 + 0.7e1 / 0.144e3 * t2164 + 0.7e1 / 0.144e3 * t3627 + t2167 * t3630 / 0.16e2 - t761 * t3634 / 0.48e2 + t3638 * t3644 / 0.1536e4 + 0.7e1 / 0.4608e4 * t3647 + t2194 * t3650 / 0.768e3 - t771 * t3673 / 0.3072e4 - t2194 * t3677 / 0.3072e4 + 0.7e1 / 0.4608e4 * t2191 + t2377 + 0.7e1 / 0.1152e4 * t2380 + t2194 * t3684 / 0.768e3 + 0.7e1 / 0.1152e4 * t3687 + 0.5e1 / 0.768e3 * t797 * t3691 - t797 * t3695 / 0.768e3; + const double t3699 = beta * t3698; + const double t3701 = t1389 * t219; + const double t3704 = t1395 * t818; + const double t3705 = t2402 * t3704; + const double t3709 = t220 * t73 * t2178; + const double t3710 = t246 * t1378; + const double t3719 = t220 * t73 * t768; + const double t3722 = t768 * t1388; + const double t3727 = -t1379 * t2411 * t339 + t220 * t229 * t3698 - t339 * t3671 * t813 - t339 * t3722 * t783 + 0.2e1 * t3642 * t3709 * t3710 - t3710 * t3719 * t783; + const double t3728 = t812 * t3727; + const double t3730 = -t1396 * t2397 + t253 * t3699 - t3701 * t819 + 0.2e1 * t3705 * t809 - t3728 * t809; + const double t3734 = t198 * t207 * t3730 * t823 - t1692 * t3601 * t821 + 0.3e1 * t198 * t3622 * t740 + 0.3e1 * t2433 * t3586 * t750 + 0.6e1 * t3578 * t3579 * t750 + 0.3e1 * t2433 * t3575 + t2206 + t2210 + t3574 + t3585 + t3591 + t3592 + t3595 + t3597 + t3600 - t3606; + const double t3735 = t3556 + t3734; + const double t3742 = t259 * t2; + const double t3743 = t3742 * t555; + const double t3746 = t664 * t1408; + const double t3748 = t2459 * t1289; + const double t3749 = t3748 * t581; + const double t3750 = t2457 * t3749; + const double t3751 = t128 * t3750; + const double t3753 = t2464 * t1289; + const double t3754 = t3753 * t581; + const double t3755 = t835 * t3754; + const double t3756 = t128 * t3755; + const double t3758 = t836 * t3431; + const double t3759 = t835 * t3758; + const double t3760 = t128 * t3759; + const double t3762 = t2454 + 0.5936111111111111111e-2 * t2455 + 0.5936111111111111111e-2 * t3746 - 0.11872222222222222222e-1 * t3751 + 0.35616666666666666666e-1 * t3756 - 0.17808333333333333333e-1 * t3760; + const double t3764 = 0.621814e-1 * t3762 * t285; + const double t3765 = t1411 * t845; + const double t3767 = 0.1e1 * t3765 * t867; + const double t3769 = 0.1e1 * t2476 * t1425; + const double t3770 = t1425 * t865; + const double t3772 = 0.2e1 * t2481 * t3770; + const double t3773 = t2487 * t1415; + const double t3774 = t3773 * t849; + const double t3781 = t2491 + t2455 / 0.9e1 + t3746 / 0.9e1 - 0.2e1 / 0.9e1 * t3751 + 0.2e1 / 0.3e1 * t3756 - t3760 / 0.3e1; + const double t3782 = t847 * t3781; + const double t3789 = t2504 * t1415; + const double t3790 = t3789 * t849; + const double t3792 = t854 * t3781; + const double t3795 = t673 * t1421; + const double t3797 = t2515 * t3749; + const double t3798 = t141 * t3797; + const double t3800 = t861 * t3754; + const double t3801 = t141 * t3800; + const double t3803 = t861 * t3758; + const double t3804 = t141 * t3803; + const double t3806 = -0.9494625e0 * t3774 + 0.1898925e1 * t3782 + t2499 + 0.99655555555555555557e-1 * t2455 + 0.99655555555555555557e-1 * t3746 - 0.19931111111111111111e0 * t3751 + 0.59793333333333333334e0 * t3756 - 0.29896666666666666667e0 * t3760 + 0.15358125e0 * t3790 + 0.3071625e0 * t3792 + t2512 + 0.54771111111111111111e-1 * t2513 + 0.54771111111111111111e-1 * t3795 - 0.27385555555555555556e-1 * t3798 + 0.16431333333333333333e0 * t3801 - 0.82156666666666666667e-1 * t3804; + const double t3807 = t3806 * t866; + const double t3809 = 0.1e1 * t846 * t3807; + const double t3810 = t1424 * t2533; + const double t3811 = t3810 * t865; + const double t3813 = 0.16081979498692535067e2 * t2531 * t3811; + const double t3819 = t2537 + 0.57077777777777777777e-2 * t2455 + 0.57077777777777777777e-2 * t3746 - 0.11415555555555555555e-1 * t3751 + 0.34246666666666666666e-1 * t3756 - 0.17123333333333333333e-1 * t3760; + const double t3822 = t1429 * t876; + const double t3827 = t1437 * t884; + const double t3844 = -0.17648625e1 * t3774 + 0.3529725e1 * t3782 + t2557 + 0.17215833333333333333e0 * t2455 + 0.17215833333333333333e0 * t3746 - 0.34431666666666666667e0 * t3751 + 0.103295e1 * t3756 - 0.516475e0 * t3760 + 0.31558125e0 * t3790 + 0.6311625e0 * t3792 + t2564 + 0.69463333333333333333e-1 * t2513 + 0.69463333333333333333e-1 * t3795 - 0.34731666666666666667e-1 * t3798 + 0.20839e0 * t3801 - 0.104195e0 * t3804; + const double t3845 = t3844 * t885; + const double t3848 = t1436 * t2577; + const double t3849 = t3848 * t884; + const double t3857 = t2581 + 0.30902777777777777778e-2 * t2455 + 0.30902777777777777778e-2 * t3746 - 0.61805555555555555555e-2 * t3751 + 0.18541666666666666667e-1 * t3756 - 0.92708333333333333333e-2 * t3760; + const double t3858 = t3857 * t318; + const double t3860 = t1441 * t895; + const double t3865 = t1449 * t903; + const double t3882 = -0.1294625e1 * t3774 + 0.258925e1 * t3782 + t2601 + 0.10064166666666666667e0 * t2455 + 0.10064166666666666667e0 * t3746 - 0.20128333333333333333e0 * t3751 + 0.60385e0 * t3756 - 0.301925e0 * t3760 + 0.82524375e-1 * t3790 + 0.16504875e0 * t3792 + t2608 + 0.5519e-1 * t2513 + 0.5519e-1 * t3795 - 0.27595e-1 * t3798 + 0.16557e0 * t3801 - 0.82785e-1 * t3804; + const double t3883 = t3882 * t904; + const double t3886 = t1448 * t2621; + const double t3887 = t3886 * t903; + const double t3890 = -0.310907e-1 * t3819 * t305 + 0.1e1 * t3822 * t886 + 0.1e1 * t2545 * t1437 - 0.2e1 * t2550 * t3827 + 0.1e1 * t877 * t3845 + 0.32163958997385070134e2 * t2575 * t3849 + t3764 - t3767 - t3769 + t3772 - t3809 - t3813 - 0.19751673498613801407e-1 * t3858 + 0.5848223622634646207e0 * t3860 * t905 + 0.5848223622634646207e0 * t2589 * t1449 - 0.11696447245269292414e1 * t2594 * t3865 + 0.5848223622634646207e0 * t896 * t3883 + 0.17315859105681463759e2 * t2619 * t3887; + const double t3891 = t294 * t3890; + const double t3893 = 0.19751673498613801407e-1 * t294 * t3858; + const double t3894 = t294 * t1441; + const double t3896 = 0.5848223622634646207e0 * t3894 * t914; + const double t3898 = 0.5848223622634646207e0 * t2629 * t1457; + const double t3899 = t2593 * t1448; + const double t3900 = t3899 * t905; + const double t3902 = 0.11696447245269292414e1 * t912 * t3900; + const double t3904 = t895 * t3882 * t904; + const double t3906 = 0.5848223622634646207e0 * t912 * t3904; + const double t3907 = t2618 * t1448; + const double t3908 = t2621 * t903; + const double t3909 = t3907 * t3908; + const double t3911 = 0.17315859105681463759e2 * t912 * t3909; + const double t3916 = t140 * t1460; + const double t3917 = t925 * t3916; + const double t3919 = t926 * t2697; + const double t3920 = t3919 * t3749; + const double t3923 = t926 * t928; + const double t3924 = t3923 * t3754; + const double t3927 = t929 * t3431; + const double t3928 = t926 * t3927; + const double t3931 = t241 * t360; + const double t3932 = t361 * t1464; + const double t3933 = t2733 * t948; + const double t3934 = t3932 * t3933; + const double t3935 = t3931 * t3934; + const double t3940 = t2671 * t1465; + const double t3941 = t242 * t3940; + const double t3942 = t946 * t3941; + const double t3944 = t1465 * t837; + const double t3945 = t2707 * t3944; + const double t3948 = -t2679 / 0.108e3 - t2684 + t2690 / 0.864e3 - t2676 * t1461 / 0.108e3 + t3917 / 0.864e3 + t925 * t3920 / 0.216e3 - t925 * t3924 / 0.144e3 + t925 * t3928 / 0.288e3 + t2731 * t3935 / 0.1536e4 - t2668 * t1467 / 0.576e3 + t3942 / 0.4608e4 + t2706 * t3945 / 0.4608e4; + const double t3949 = -t3764 + t3767 + t3769 - t3772 + t3809 + t3813 + t3891 + t3893 - t3896 - t3898 + t3902 - t3906 - t3911; + const double t3950 = t3949 * t345; + const double t3951 = t947 * t3950; + const double t3952 = t242 * t3951; + const double t3955 = t3932 * t949; + const double t3956 = t3931 * t3955; + const double t3962 = t1407 * t949; + const double t3963 = t2707 * t3962; + const double t3968 = t2751 * t1407; + const double t3969 = t242 * t3968; + const double t3970 = t967 * t3969; + const double t3972 = t2761 * t2459; + const double t3973 = t3972 * t3426; + const double t3974 = t3931 * t3973; + const double t3977 = t969 * t2464; + const double t3978 = t3977 * t3426; + const double t3979 = t3931 * t3978; + const double t3982 = t970 * t3758; + const double t3983 = t242 * t3982; + const double t3986 = t946 * t3952 / 0.3072e4 - t2740 * t3956 / 0.3072e4 + t2674 / 0.4608e4 - t2649 / 0.864e3 - t2654 + t2754 / 0.6912e4 + t2706 * t3963 / 0.4608e4 - t2748 * t1471 / 0.864e3 + t3970 / 0.6912e4 + 0.5e1 / 0.13824e5 * t967 * t3974 - t967 * t3979 / 0.2304e4 + t967 * t3983 / 0.4608e4; + const double t3987 = t3948 + t3986; + const double t3988 = beta * t3987; + const double t3990 = t1475 * t219; + const double t3993 = t1482 * t990; + const double t3994 = t2776 * t3993; + const double t3997 = t2786 * t948; + const double t4001 = t975 * t1464; + const double t4004 = t366 * t3949; + const double t4008 = t2785 * t948 * t345; + const double t4011 = t1474 * t948; + const double t4016 = 0.2e1 * t1477 * t2782 * t3997 - t1477 * t2798 * t4008 + t220 * t368 * t3987 + t4001 * t983 * t985 + t4004 * t983 * t985 + t4011 * t983 * t985; + const double t4017 = t981 * t4016; + const double t4019 = -t1483 * t2771 + t373 * t3988 - t3990 * t991 + 0.2e1 * t3994 * t978 - t4017 * t978; + const double t4023 = t198 * t330; + const double t4024 = t1485 * t2814; + const double t4027 = t198 * t330 * t4019 * t995 - t4023 * t4024 * t993 - t3764 + t3767 + t3769 - t3772 + t3809 + t3813 + t3891 + t3893 - t3896 - t3898 + t3902 - t3906 - t3911; + const double t4028 = piecewise_functor_3( t380, t4027, t3735 ); + const double t4035 = piecewise_functor_3( t120, t3735 * t30 / 0.2e1 + t1402 * t580 / 0.2e1 + t826 * t1288 / 0.2e1 + t3743, t999 * t1289 / 0.2e1 + t1490 * t581 / 0.2e1 + t381 * t3431 / 0.2e1 + t4028 * t45 / 0.2e1 ); + const double t4044 = t664 * t1502; + const double t4046 = t2840 * t1289; + const double t4047 = t4046 * t581; + const double t4048 = t2838 * t4047; + const double t4049 = t128 * t4048; + const double t4051 = t2845 * t1289; + const double t4052 = t4051 * t581; + const double t4053 = t1013 * t4052; + const double t4054 = t128 * t4053; + const double t4056 = t1014 * t3431; + const double t4057 = t1013 * t4056; + const double t4058 = t128 * t4057; + const double t4060 = t2835 - 0.5936111111111111111e-2 * t2836 - 0.5936111111111111111e-2 * t4044 - 0.11872222222222222222e-1 * t4049 + 0.35616666666666666666e-1 * t4054 + 0.17808333333333333333e-1 * t4058; + const double t4062 = 0.621814e-1 * t4060 * t408; + const double t4063 = t1505 * t1023; + const double t4065 = 0.1e1 * t4063 * t1044; + const double t4067 = 0.1e1 * t2857 * t1519; + const double t4068 = t1519 * t1042; + const double t4070 = 0.2e1 * t2862 * t4068; + const double t4071 = t2868 * t1509; + const double t4072 = t4071 * t1027; + const double t4079 = t2872 - t2836 / 0.9e1 - t4044 / 0.9e1 - 0.2e1 / 0.9e1 * t4049 + 0.2e1 / 0.3e1 * t4054 + t4058 / 0.3e1; + const double t4080 = t1025 * t4079; + const double t4087 = t2885 * t1509; + const double t4088 = t4087 * t1027; + const double t4090 = t1032 * t4079; + const double t4093 = t673 * t1515; + const double t4095 = t2895 * t4047; + const double t4096 = t141 * t4095; + const double t4098 = t1038 * t4052; + const double t4099 = t141 * t4098; + const double t4101 = t1038 * t4056; + const double t4102 = t141 * t4101; + const double t4104 = -0.9494625e0 * t4072 + 0.1898925e1 * t4080 + t2880 - 0.99655555555555555557e-1 * t2836 - 0.99655555555555555557e-1 * t4044 - 0.19931111111111111111e0 * t4049 + 0.59793333333333333334e0 * t4054 + 0.29896666666666666667e0 * t4058 + 0.15358125e0 * t4088 + 0.3071625e0 * t4090 + t2892 - 0.54771111111111111111e-1 * t2893 - 0.54771111111111111111e-1 * t4093 - 0.27385555555555555556e-1 * t4096 + 0.16431333333333333333e0 * t4099 + 0.82156666666666666667e-1 * t4102; + const double t4105 = t4104 * t1043; + const double t4107 = 0.1e1 * t1024 * t4105; + const double t4108 = t1518 * t2913; + const double t4109 = t4108 * t1042; + const double t4111 = 0.16081979498692535067e2 * t2911 * t4109; + const double t4117 = t2917 - 0.57077777777777777777e-2 * t2836 - 0.57077777777777777777e-2 * t4044 - 0.11415555555555555555e-1 * t4049 + 0.34246666666666666666e-1 * t4054 + 0.17123333333333333333e-1 * t4058; + const double t4120 = t1523 * t1053; + const double t4125 = t1531 * t1061; + const double t4142 = -0.17648625e1 * t4072 + 0.3529725e1 * t4080 + t2937 - 0.17215833333333333333e0 * t2836 - 0.17215833333333333333e0 * t4044 - 0.34431666666666666667e0 * t4049 + 0.103295e1 * t4054 + 0.516475e0 * t4058 + 0.31558125e0 * t4088 + 0.6311625e0 * t4090 + t2944 - 0.69463333333333333333e-1 * t2893 - 0.69463333333333333333e-1 * t4093 - 0.34731666666666666667e-1 * t4096 + 0.20839e0 * t4099 + 0.104195e0 * t4102; + const double t4143 = t4142 * t1062; + const double t4146 = t1530 * t2957; + const double t4147 = t4146 * t1061; + const double t4155 = t2961 - 0.30902777777777777778e-2 * t2836 - 0.30902777777777777778e-2 * t4044 - 0.61805555555555555555e-2 * t4049 + 0.18541666666666666667e-1 * t4054 + 0.92708333333333333333e-2 * t4058; + const double t4156 = t4155 * t434; + const double t4158 = t1535 * t1072; + const double t4163 = t1543 * t1080; + const double t4180 = -0.1294625e1 * t4072 + 0.258925e1 * t4080 + t2981 - 0.10064166666666666667e0 * t2836 - 0.10064166666666666667e0 * t4044 - 0.20128333333333333333e0 * t4049 + 0.60385e0 * t4054 + 0.301925e0 * t4058 + 0.82524375e-1 * t4088 + 0.16504875e0 * t4090 + t2988 - 0.5519e-1 * t2893 - 0.5519e-1 * t4093 - 0.27595e-1 * t4096 + 0.16557e0 * t4099 + 0.82785e-1 * t4102; + const double t4181 = t4180 * t1081; + const double t4184 = t1542 * t3001; + const double t4185 = t4184 * t1080; + const double t4188 = -0.310907e-1 * t4117 * t421 + 0.1e1 * t4120 * t1063 + 0.1e1 * t2925 * t1531 - 0.2e1 * t2930 * t4125 + 0.1e1 * t1054 * t4143 + 0.32163958997385070134e2 * t2955 * t4147 + t4062 - t4065 - t4067 + t4070 - t4107 - t4111 - 0.19751673498613801407e-1 * t4156 + 0.5848223622634646207e0 * t4158 * t1082 + 0.5848223622634646207e0 * t2969 * t1543 - 0.11696447245269292414e1 * t2974 * t4163 + 0.5848223622634646207e0 * t1073 * t4181 + 0.17315859105681463759e2 * t2999 * t4185; + const double t4189 = t294 * t4188; + const double t4191 = 0.19751673498613801407e-1 * t294 * t4156; + const double t4192 = t294 * t1535; + const double t4194 = 0.5848223622634646207e0 * t4192 * t1091; + const double t4196 = 0.5848223622634646207e0 * t3009 * t1551; + const double t4197 = t2973 * t1542; + const double t4198 = t4197 * t1082; + const double t4200 = 0.11696447245269292414e1 * t1089 * t4198; + const double t4202 = t1072 * t4180 * t1081; + const double t4204 = 0.5848223622634646207e0 * t1089 * t4202; + const double t4205 = t2998 * t1542; + const double t4206 = t3001 * t1080; + const double t4207 = t4205 * t4206; + const double t4209 = 0.17315859105681463759e2 * t1089 * t4207; + const double t4210 = t1554 * t1095; + const double t4212 = t1300 * t924; + const double t4216 = t140 * t1557; + const double t4217 = t1098 * t4216; + const double t4219 = t926 * t3032; + const double t4220 = t4219 * t4047; + const double t4223 = t926 * t1100; + const double t4224 = t4223 * t4052; + const double t4227 = t1101 * t3431; + const double t4228 = t926 * t4227; + const double t4231 = t461 * t1561; + const double t4232 = t3054 * t1113; + const double t4233 = t4231 * t4232; + const double t4234 = t3931 * t4233; + const double t4237 = t3060 * t1562; + const double t4238 = t242 * t4237; + const double t4239 = t1111 * t4238; + const double t4241 = t1562 * t1015; + const double t4242 = t3068 * t4241; + const double t4245 = -t4062 + t4065 + t4067 - t4070 + t4107 + t4111 + t4189 + t4191 - t4194 - t4196 + t4200 - t4204 - t4209; + const double t4246 = t4245 * t450; + const double t4247 = t1112 * t4246; + const double t4248 = t242 * t4247; + const double t4251 = -t4210 / 0.108e3 + t4212 * t1103 / 0.108e3 - t3027 - t3029 / 0.864e3 - t4217 / 0.864e3 + t1098 * t4220 / 0.216e3 - t1098 * t4224 / 0.144e3 - t1098 * t4228 / 0.288e3 + t3052 * t4234 / 0.1536e4 + t4239 / 0.4608e4 - t3067 * t4242 / 0.4608e4 + t1111 * t4248 / 0.3072e4; + const double t4252 = t4231 * t1114; + const double t4253 = t3931 * t4252; + const double t4256 = t1569 * t943; + const double t4258 = t938 * t1108 * t4256; + const double t4261 = t1571 * t1120; + const double t4263 = t1569 * t357; + const double t4265 = t339 * t454 * t4263; + const double t4270 = t1501 * t1114; + const double t4271 = t3068 * t4270; + const double t4274 = t3090 * t1501; + const double t4275 = t242 * t4274; + const double t4276 = t1125 * t4275; + const double t4278 = t3096 * t2840; + const double t4279 = t4278 * t3426; + const double t4280 = t3931 * t4279; + const double t4283 = t1127 * t2845; + const double t4284 = t4283 * t3426; + const double t4285 = t3931 * t4284; + const double t4288 = t1128 * t4056; + const double t4289 = t242 * t4288; + const double t4292 = -t3080 * t4253 / 0.3072e4 - t4258 * t1116 / 0.576e3 - t4261 / 0.864e3 + t4265 * t1130 / 0.864e3 + t3063 / 0.4608e4 - t3089 - t3093 / 0.6912e4 - t3067 * t4271 / 0.4608e4 - t4276 / 0.6912e4 + 0.5e1 / 0.13824e5 * t1125 * t4280 - t1125 * t4285 / 0.2304e4 - t1125 * t4289 / 0.4608e4; + const double t4293 = t4251 + t4292; + const double t4294 = beta * t4293; + const double t4296 = t1579 * t219; + const double t4299 = t1586 * t1148; + const double t4300 = t3118 * t4299; + const double t4303 = t3126 * t1113; + const double t4307 = t1133 * t1561; + const double t4310 = t466 * t4245; + const double t4314 = t2785 * t1113 * t450; + const double t4317 = t1578 * t1113; + const double t4322 = t1141 * t1143 * t4307 + t1141 * t1143 * t4310 + t1141 * t1143 * t4317 + 0.2e1 * t1581 * t3124 * t4303 - t1581 * t3138 * t4314 + t220 * t4293 * t468; + const double t4323 = t1139 * t4322; + const double t4325 = 0.2e1 * t1136 * t4300 - t1136 * t4323 - t1149 * t4296 - t1587 * t3113 + t4294 * t473; + const double t4329 = t1589 * t3154; + const double t4332 = t1153 * t198 * t330 * t4325 - t1151 * t4023 * t4329 - t4062 + t4065 + t4067 - t4070 + t4107 + t4111 + t4189 + t4191 - t4194 - t4196 + t4200 - t4204 - t4209; + const double t4333 = piecewise_functor_3( t480, t4332, t3735 ); + const double t4340 = piecewise_functor_3( t386, t3735 * t33 / 0.2e1 + t1402 * t1006 / 0.2e1 + t826 * t1497 / 0.2e1 - t3743, -t1157 * t1289 / 0.2e1 - t1594 * t581 / 0.2e1 - t481 * t3431 / 0.2e1 + t4333 * t57 / 0.2e1 ); + const double t4341 = t4035 + t4340; + const double t4347 = t93 * t645; + const double t4352 = 0.2e1 * t1165 * t3537 + 0.2e1 * t1338 * t2056 + 0.2e1 * t1338 * t4347 + 0.2e1 * t3493 * t645 + t3491; + const double t4356 = 0.4e1 * t3180; + const double t4357 = 0.4e1 * t3290; + const double t4358 = t198 * t509; + const double t4359 = t1659 * t3185; + const double t4362 = t3258 * t1288; + const double t4365 = t490 * t2; + const double t4369 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t4362 * t580 + 0.8e1 / 0.3e1 * t4365 * t555 ); + const double t4370 = t3265 * t1497; + const double t4373 = t493 * t2; + const double t4377 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t4370 * t1006 - 0.8e1 / 0.3e1 * t4373 * t555 ); + const double t4379 = ( t4369 + t4377 ) * t162; + const double t4381 = 0.19751673498613801407e-1 * t4379 * t187; + const double t4382 = t1613 * t177; + const double t4383 = t4382 * t737; + const double t4384 = 0.5848223622634646207e0 * t4383; + const double t4385 = t1659 * t1270; + const double t4389 = 0.3e1 * t1206 * t3390 * t4385 - t1268 * t4358 * t4359 - t2116 - t2264 - t2271 + t2281 + t2289 - t3179 + t3284 + t3286 + t3297 - t3300 - t4356 - t4357 + t4381 - t4384; + const double t4390 = t198 * t507; + const double t4391 = t541 * t1625; + const double t4395 = t1613 * t72; + const double t4396 = t4395 * t732; + const double t4397 = 0.18311447306006545054e-3 * t4396; + const double t4398 = t1170 * t1614; + const double t4399 = 0.4e1 * t4398; + const double t4400 = t1173 * t1614; + const double t4401 = 0.4e1 * t4400; + const double t4402 = t3188 * t1288; + const double t4405 = t1197 * t2; + const double t4409 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t4402 * t580 + 0.4e1 / 0.3e1 * t4405 * t555 ); + const double t4410 = t3196 * t1497; + const double t4413 = t1201 * t2; + const double t4417 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t4410 * t1006 - 0.4e1 / 0.3e1 * t4413 * t555 ); + const double t4419 = t4409 / 0.2e1 + t4417 / 0.2e1; + const double t4424 = t3211 * t1630; + const double t4427 = t762 * t1629 * t1206; + const double t4430 = t124 * t4419; + const double t4431 = t762 * t4430; + const double t4435 = t339 * t3227 * t236; + const double t4436 = t527 * t72; + const double t4437 = t4436 * t240; + const double t4438 = t125 * t1639; + const double t4439 = t3231 * t1232; + const double t4440 = t4438 * t4439; + const double t4441 = t4437 * t4440; + const double t4444 = t3238 * t1642; + const double t4446 = t4438 * t3246; + const double t4447 = t3244 * t4446; + const double t4450 = -t2116 - t3179 - t4356 - t2264 + t3286 - t4357 + t2289 + t3297 - t3300 - t2271 + t2281 + t3284 + t4381; + const double t4451 = 0.18311447306006545054e-3 * t3254; + const double t4452 = t4379 * t189; + const double t4453 = t489 * t4452; + const double t4454 = t1613 * t724; + const double t4455 = t489 * t4454; + const double t4456 = 0.5848223622634646207e0 * t3279; + const double t4457 = -t4384 - t4397 + t4399 - t4401 - t4451 + t4453 + t4455 - t3282 + t3257 - t3277 - t4456 + t3252 + t3306; + const double t4459 = ( t4450 + t4457 ) * t219; + const double t4465 = t516 * t73; + const double t4466 = t1246 * t1625; + const double t4467 = t4466 * t1206; + const double t4470 = t1228 * t4419; + const double t4473 = 0.3e1 * t1226 * t1636 + 0.3e1 * t1229 * t1634 - t4459 * t518 - 0.12e2 * t4465 * t4467 + 0.3e1 * t4470 * t516; + const double t4474 = t4473 * t520; + const double t4476 = t1224 * t774 * t4474; + const double t4479 = t4438 * t1233; + const double t4480 = t4437 * t4479; + const double t4485 = t125 * t1625; + const double t4486 = t4485 * t1233; + const double t4487 = t3244 * t4486; + const double t4490 = t3336 * t1646; + const double t4492 = t1625 * t1206; + const double t4494 = t3342 * t774 * t4492; + const double t4498 = t1248 * t774 * t4419; + const double t4501 = t3210 + 0.7e1 / 0.144e3 * t3212 + 0.7e1 / 0.144e3 * t4424 + t3215 * t4427 / 0.16e2 - t1213 * t4431 / 0.48e2 + t4435 * t4441 / 0.1536e4 + 0.7e1 / 0.4608e4 * t4444 + t3242 * t4447 / 0.768e3 - t1222 * t4476 / 0.3072e4 - t3242 * t4480 / 0.3072e4 + 0.7e1 / 0.4608e4 * t3239 + t3334 + 0.7e1 / 0.1152e4 * t3337 + t3242 * t4487 / 0.768e3 + 0.7e1 / 0.1152e4 * t4490 + 0.5e1 / 0.768e3 * t1244 * t4494 - t1244 * t4498 / 0.768e3; + const double t4502 = beta * t4501; + const double t4504 = t1650 * t219; + const double t4507 = t1656 * t1265; + const double t4508 = t3359 * t4507; + const double t4512 = t220 * t73 * t3226; + const double t4513 = t532 * t1639; + const double t4522 = t220 * t73 * t1219; + const double t4525 = t1219 * t1649; + const double t4530 = -t1233 * t339 * t4525 - t1233 * t4513 * t4522 - t1260 * t339 * t4474 - t1640 * t3368 * t339 + t220 * t4501 * t523 + 0.2e1 * t4439 * t4512 * t4513; + const double t4531 = t1259 * t4530; + const double t4533 = 0.2e1 * t1256 * t4508 - t1256 * t4531 - t1266 * t4504 - t1657 * t3354 + t4502 * t538; + const double t4537 = t3391 * t1625; + const double t4540 = t1270 * t198 * t4533 * t509 + 0.3e1 * t1196 * t198 * t4419 + 0.6e1 * t1206 * t4390 * t4391 + 0.3e1 * t3390 * t4537 + t3252 + t3257 - t3277 - t3282 + t3306 - t4397 + t4399 - t4401 - t4451 + t4453 + t4455 - t4456; + const double t4541 = t4389 + t4540; + const double t4543 = -t1163 * t1322 + t1168 * t1663 - t118 * t4341 + t1273 * t1604 - 0.2e1 * t1339 * t2056 - 0.2e1 * t1339 * t3499 - t1600 * t624 - t3491 * t485 - 0.2e1 * t3493 * t646 - 0.2e1 * t3502 * t626 - 0.2e1 * t3538 * t626 - 0.2e1 * t3542 * t626 + t4352 * t544 + t4541 * t488; + const double t4544 = t3 * t4543; + const double t4547 = t546 * t1673; + const double t4549 = d * t4543; + const double t4555 = t116 * t1338; + const double t4556 = t4555 * t645; + const double t4559 = t117 * t3537; + const double t4562 = 0.3e1 * t1279 * t1670 + 0.3e1 * t1281 * t1668 + t4549 * t548 + 0.6e1 * t4556 * t547 + 0.3e1 * t4559 * t547; + const double t4566 = t1953 + t1955 + t1957 + t1960 + t1962 + t1964 + t1967 + t1969 + t1973; + const double t4570 = t1317 * t1317; + const double t4573 = t1289 * t1289; + const double t4574 = t4573 * t70; + const double t4577 = t17 + t1989; + const double t4578 = 0.2e1 * t4577; + const double t4579 = piecewise_functor_5( t31, 0.0, t34, 0.0, t4578 ); + const double t4580 = t36 * t4579; + const double t4581 = t4580 * t70; + const double t4584 = t1290 * t1306; + const double t4589 = t2009 * t4573; + const double t4592 = t48 * t4579; + const double t4596 = 0.1e1 / t53 / t455; + const double t4597 = sigma_bb * t4596; + const double t4602 = t2016 * t4573; + const double t4605 = t60 * t4579; + const double t4608 = 0.5e1 / 0.18e2 * t44 * t4589 + 0.5e1 / 0.6e1 * t44 * t4592 + 0.88e2 / 0.9e1 * t4597 * t61 + 0.4e2 / 0.9e1 * t1300 * t1303 + 0.5e1 / 0.18e2 * t56 * t4602 - 0.5e1 / 0.6e1 * t56 * t4605 - t2024; + const double t4609 = t38 * t4608; + const double t4614 = t2033 * t4573; + const double t4616 = t608 * t4579; + const double t4618 = t2040 * t4573; + const double t4620 = t612 * t4579; + const double t4622 = 0.28e2 / 0.9e1 * t4614 - 0.4e1 / 0.3e1 * t4616 + 0.28e2 / 0.9e1 * t4618 + 0.4e1 / 0.3e1 * t4620; + const double t4623 = t77 * t4622; + const double t4626 = -t4574 * t85 / 0.12e2 - t4581 * t85 / 0.12e2 - t4584 * t85 / 0.6e1 - t1291 * t1314 / 0.6e1 + t4609 * t85 / 0.24e2 + t1307 * t1314 / 0.12e2 + t71 * t4623 / 0.24e2; + const double t4630 = piecewise_functor_3( t8, 0.0, -0.8e1 * t1317 * t3418 + 0.2e2 * t1981 * t4570 + t4566 * t91 - 0.4e1 * t4626 * t578 ); + const double t4631 = t4630 * t117; + const double t4637 = t1338 * t1338; + const double t4638 = t94 * t4637; + const double t4641 = t1600 * t1338; + const double t4645 = t1333 * t1333; + const double t4646 = t2073 * t4645; + const double t4649 = t1324 * t1324; + const double t4650 = t2083 * t4649; + const double t4653 = t100 * t4577; + const double t4656 = tau_b * t1299; + const double t4661 = t1329 * t1329; + const double t4662 = t2091 * t4661; + const double t4665 = -t4577; + const double t4666 = t108 * t4665; + const double t4669 = 0.1e2 / 0.9e1 * t97 * t4650 + 0.5e1 / 0.3e1 * t97 * t4653 + 0.4e2 / 0.9e1 * t4656 * t109 - 0.5e2 / 0.9e1 * t1327 * t1330 + 0.1e2 / 0.9e1 * t105 * t4662 + 0.5e1 / 0.3e1 * t105 * t4666; + const double t4670 = t630 * t4669; + const double t4674 = piecewise_functor_3( t115, 0.0, t2069 + 0.2e1 / 0.3e1 * t3506 + t69 * t4646 / 0.4e1 - t69 * t4670 / 0.8e1 ); + const double t4675 = t485 * t4674; + const double t4678 = t190 * t4573; + const double t4680 = 0.12e2 * t2109 * t4678; + const double t4686 = piecewise_functor_3( t151, 0.0, 0.4e1 / 0.9e1 * t2117 * t4573 + 0.4e1 / 0.3e1 * t78 * t4579 ); + const double t4692 = piecewise_functor_3( t155, 0.0, 0.4e1 / 0.9e1 * t2124 * t4573 - 0.4e1 / 0.3e1 * t81 * t4579 ); + const double t4693 = t4686 + t4692; + const double t4694 = t4693 * t162; + const double t4696 = 0.19751673498613801407e-1 * t4694 * t187; + const double t4698 = t1364 * t1364; + const double t4699 = t124 * t4698; + const double t4700 = t762 * t4699; + const double t4708 = piecewise_functor_3( t151, 0.0, -0.2e1 / 0.9e1 * t80 * t4573 + 0.2e1 / 0.3e1 * t741 * t4579 ); + const double t4714 = piecewise_functor_3( t155, 0.0, -0.2e1 / 0.9e1 * t83 * t4573 - 0.2e1 / 0.3e1 * t745 * t4579 ); + const double t4716 = t4708 / 0.2e1 + t4714 / 0.2e1; + const double t4717 = t124 * t4716; + const double t4718 = t762 * t4717; + const double t4721 = t1378 * t1378; + const double t4722 = t4721 * t2183; + const double t4724 = t773 * t774 * t4722; + const double t4728 = t226 * t1364; + const double t4729 = t3641 * t4728; + const double t4730 = t2196 * t4729; + const double t4733 = 0.36622894612013090108e-3 * t3605; + const double t4734 = t150 * t4693; + const double t4735 = t4734 * t190; + const double t4736 = 0.11696447245269292414e1 * t3549; + const double t4737 = 0.8e1 * t3584; + const double t4738 = 0.2e1 * t3592; + const double t4739 = t190 * t4579; + const double t4741 = 0.4e1 * t681 * t4739; + const double t4743 = 0.8e1 * t3593 * t1342; + const double t4744 = -t4733 + t2206 + t4696 + t4735 - t4736 + t2210 + t4737 + t4680 + t2324 + t4738 + t2281 + t2289 + t4741 + t4743 - t2271 - t2333 - t2340 - t2116 + t2347 - t2264; + const double t4745 = t4744 * t219; + const double t4749 = t2353 * t4698; + const double t4752 = t778 * t4716; + const double t4755 = 0.6e1 * t1373 * t1375 - 0.12e2 * t222 * t4749 + 0.3e1 * t222 * t4752 - t224 * t4745; + const double t4756 = t4755 * t226; + const double t4758 = t773 * t774 * t4756; + const double t4761 = t4721 * t226; + const double t4763 = t773 * t774 * t4761; + const double t4768 = t2385 * t774 * t4698; + const double t4772 = t801 * t774 * t4716; + const double t4775 = t2162 + 0.7e1 / 0.72e2 * t3627 + t2167 * t4700 / 0.16e2 - t761 * t4718 / 0.48e2 + t2181 * t4724 / 0.1536e4 + 0.7e1 / 0.2304e4 * t3647 + t2194 * t4730 / 0.384e3 - t771 * t4758 / 0.3072e4 - t771 * t4763 / 0.3072e4 + t2377 + 0.7e1 / 0.576e3 * t3687 + 0.5e1 / 0.768e3 * t797 * t4768 - t797 * t4772 / 0.768e3; + const double t4776 = beta * t4775; + const double t4780 = t1395 * t1395; + const double t4781 = t2402 * t4780; + const double t4796 = -0.2e1 * t1379 * t339 * t3722 + t220 * t229 * t4775 + 0.2e1 * t2407 * t339 * t4722 - t339 * t4756 * t813 - t339 * t4761 * t813; + const double t4797 = t812 * t4796; + const double t4799 = -0.2e1 * t1396 * t3701 + t253 * t4776 + 0.2e1 * t4781 * t809 - t4797 * t809; + const double t4809 = t198 * t207 * t4799 * t823 + 0.6e1 * t198 * t2428 * t4698 + 0.3e1 * t198 * t4716 * t740 - t2116 - t2264 + t2289 + t2324 - t2333 + t4680 + t4696 + t4741 + t4743; + const double t4810 = t1398 * t1398; + const double t4814 = t3586 * t1364; + const double t4817 = -t198 * t207 * t2441 * t4810 + 0.6e1 * t2433 * t4814 + t2206 + t2210 - t2271 + t2281 - t2340 + t2347 - t4733 + t4735 - t4736 + t4737 + t4738; + const double t4818 = t4809 + t4817; + const double t4826 = t2459 * t4573; + const double t4827 = t2457 * t4826; + const double t4828 = t128 * t4827; + const double t4830 = t2464 * t4573; + const double t4831 = t835 * t4830; + const double t4832 = t128 * t4831; + const double t4834 = t836 * t4579; + const double t4835 = t835 * t4834; + const double t4836 = t128 * t4835; + const double t4838 = t2454 + 0.11872222222222222222e-1 * t3746 - 0.11872222222222222222e-1 * t4828 + 0.35616666666666666666e-1 * t4832 - 0.17808333333333333333e-1 * t4836; + const double t4840 = 0.621814e-1 * t4838 * t285; + const double t4842 = 0.2e1 * t3765 * t1425; + const double t4843 = t1424 * t1424; + const double t4844 = t4843 * t866; + const double t4846 = 0.2e1 * t2481 * t4844; + const double t4847 = t1415 * t1415; + const double t4848 = t2487 * t4847; + const double t4854 = t2491 + 0.2e1 / 0.9e1 * t3746 - 0.2e1 / 0.9e1 * t4828 + 0.2e1 / 0.3e1 * t4832 - t4836 / 0.3e1; + const double t4855 = t847 * t4854; + const double t4861 = t2504 * t4847; + const double t4863 = t854 * t4854; + const double t4866 = t2515 * t4826; + const double t4867 = t141 * t4866; + const double t4869 = t861 * t4830; + const double t4870 = t141 * t4869; + const double t4872 = t861 * t4834; + const double t4873 = t141 * t4872; + const double t4875 = -0.9494625e0 * t4848 + 0.1898925e1 * t4855 + t2499 + 0.19931111111111111111e0 * t3746 - 0.19931111111111111111e0 * t4828 + 0.59793333333333333334e0 * t4832 - 0.29896666666666666667e0 * t4836 + 0.15358125e0 * t4861 + 0.3071625e0 * t4863 + t2512 + 0.10954222222222222222e0 * t3795 - 0.27385555555555555556e-1 * t4867 + 0.16431333333333333333e0 * t4870 - 0.82156666666666666667e-1 * t4873; + const double t4876 = t4875 * t866; + const double t4878 = 0.1e1 * t846 * t4876; + const double t4879 = t4843 * t2533; + const double t4881 = 0.16081979498692535067e2 * t2531 * t4879; + const double t4886 = t2537 + 0.11415555555555555555e-1 * t3746 - 0.11415555555555555555e-1 * t4828 + 0.34246666666666666666e-1 * t4832 - 0.17123333333333333333e-1 * t4836; + const double t4891 = t1436 * t1436; + const double t4892 = t4891 * t885; + const double t4907 = -0.17648625e1 * t4848 + 0.3529725e1 * t4855 + t2557 + 0.34431666666666666666e0 * t3746 - 0.34431666666666666667e0 * t4828 + 0.103295e1 * t4832 - 0.516475e0 * t4836 + 0.31558125e0 * t4861 + 0.6311625e0 * t4863 + t2564 + 0.13892666666666666667e0 * t3795 - 0.34731666666666666667e-1 * t4867 + 0.20839e0 * t4870 - 0.104195e0 * t4873; + const double t4908 = t4907 * t885; + const double t4911 = t4891 * t2577; + const double t4918 = t2581 + 0.61805555555555555556e-2 * t3746 - 0.61805555555555555555e-2 * t4828 + 0.18541666666666666667e-1 * t4832 - 0.92708333333333333333e-2 * t4836; + const double t4919 = t4918 * t318; + const double t4923 = t1448 * t1448; + const double t4924 = t4923 * t904; + const double t4939 = -0.1294625e1 * t4848 + 0.258925e1 * t4855 + t2601 + 0.20128333333333333334e0 * t3746 - 0.20128333333333333333e0 * t4828 + 0.60385e0 * t4832 - 0.301925e0 * t4836 + 0.82524375e-1 * t4861 + 0.16504875e0 * t4863 + t2608 + 0.11038e0 * t3795 - 0.27595e-1 * t4867 + 0.16557e0 * t4870 - 0.82785e-1 * t4873; + const double t4940 = t4939 * t904; + const double t4943 = t4923 * t2621; + const double t4946 = -0.310907e-1 * t4886 * t305 + 0.2e1 * t3822 * t1437 - 0.2e1 * t2550 * t4892 + 0.1e1 * t877 * t4908 + 0.32163958997385070134e2 * t2575 * t4911 + t4840 - t4842 + t4846 - t4878 - t4881 - 0.19751673498613801407e-1 * t4919 + 0.11696447245269292414e1 * t3860 * t1449 - 0.11696447245269292414e1 * t2594 * t4924 + 0.5848223622634646207e0 * t896 * t4940 + 0.17315859105681463759e2 * t2619 * t4943; + const double t4947 = t294 * t4946; + const double t4949 = 0.19751673498613801407e-1 * t294 * t4919; + const double t4951 = 0.11696447245269292414e1 * t3894 * t1457; + const double t4953 = t2593 * t4923 * t904; + const double t4955 = 0.11696447245269292414e1 * t912 * t4953; + const double t4957 = t895 * t4939 * t904; + const double t4959 = 0.5848223622634646207e0 * t912 * t4957; + const double t4960 = t2618 * t4923; + const double t4961 = t4960 * t2621; + const double t4963 = 0.17315859105681463759e2 * t912 * t4961; + const double t4965 = t2698 * t4573; + const double t4966 = t926 * t4965; + const double t4969 = t2644 * t4573; + const double t4970 = t926 * t4969; + const double t4973 = t929 * t4579; + const double t4974 = t926 * t4973; + const double t4977 = t1464 * t1464; + const double t4978 = t4977 * t2733; + const double t4979 = t947 * t4978; + const double t4980 = t242 * t4979; + const double t4984 = t1465 * t1407; + const double t4985 = t2707 * t4984; + const double t4988 = -t4840 + t4842 - t4846 + t4878 + t4881 + t4947 + t4949 - t4951 + t4955 - t4959 - t4963; + const double t4989 = t4988 * t345; + const double t4990 = t947 * t4989; + const double t4991 = t242 * t4990; + const double t4994 = t4977 * t345; + const double t4995 = t947 * t4994; + const double t4996 = t242 * t4995; + const double t5000 = t2762 * t4826; + const double t5001 = t242 * t5000; + const double t5004 = t970 * t4830; + const double t5005 = t242 * t5004; + const double t5008 = t970 * t4834; + const double t5009 = t242 * t5008; + const double t5012 = -t2684 + t3917 / 0.432e3 + t925 * t4966 / 0.216e3 - t925 * t4970 / 0.144e3 + t925 * t4974 / 0.288e3 + t2731 * t4980 / 0.1536e4 + t3942 / 0.2304e4 + t2706 * t4985 / 0.2304e4 + t946 * t4991 / 0.3072e4 - t2740 * t4996 / 0.3072e4 - t2654 + t3970 / 0.3456e4 + 0.5e1 / 0.13824e5 * t967 * t5001 - t967 * t5005 / 0.2304e4 + t967 * t5009 / 0.4608e4; + const double t5013 = beta * t5012; + const double t5017 = t1482 * t1482; + const double t5018 = t2776 * t5017; + const double t5021 = t366 * t4977; + const double t5025 = t1474 * t1464; + const double t5029 = t366 * t4988; + const double t5036 = t220 * t368 * t5012 + 0.2e1 * t2782 * t2786 * t5021 - t2798 * t2799 * t5021 + 0.2e1 * t5025 * t983 * t985 + t5029 * t983 * t985; + const double t5037 = t981 * t5036; + const double t5039 = -0.2e1 * t1483 * t3990 + t373 * t5013 + 0.2e1 * t5018 * t978 - t5037 * t978; + const double t5043 = t1485 * t1485; + const double t5047 = -t198 * t2814 * t330 * t5043 + t198 * t330 * t5039 * t995 - t4840 + t4842 - t4846 + t4878 + t4881 + t4947 + t4949 - t4951 + t4955 - t4959 - t4963; + const double t5048 = piecewise_functor_3( t380, t5047, t4818 ); + const double t5055 = piecewise_functor_3( t120, t4818 * t30 / 0.2e1 + t1402 * t1288 + t259 * t4578 / 0.2e1, t5048 * t45 / 0.2e1 + t1490 * t1289 + t381 * t4579 / 0.2e1 ); + const double t5059 = -t4578; + const double t5064 = t2840 * t4573; + const double t5065 = t2838 * t5064; + const double t5066 = t128 * t5065; + const double t5068 = t2845 * t4573; + const double t5069 = t1013 * t5068; + const double t5070 = t128 * t5069; + const double t5072 = t1014 * t4579; + const double t5073 = t1013 * t5072; + const double t5074 = t128 * t5073; + const double t5076 = t2835 - 0.11872222222222222222e-1 * t4044 - 0.11872222222222222222e-1 * t5066 + 0.35616666666666666666e-1 * t5070 + 0.17808333333333333333e-1 * t5074; + const double t5078 = 0.621814e-1 * t5076 * t408; + const double t5080 = 0.2e1 * t4063 * t1519; + const double t5081 = t1518 * t1518; + const double t5082 = t5081 * t1043; + const double t5084 = 0.2e1 * t2862 * t5082; + const double t5085 = t1509 * t1509; + const double t5086 = t2868 * t5085; + const double t5092 = t2872 - 0.2e1 / 0.9e1 * t4044 - 0.2e1 / 0.9e1 * t5066 + 0.2e1 / 0.3e1 * t5070 + t5074 / 0.3e1; + const double t5093 = t1025 * t5092; + const double t5099 = t2885 * t5085; + const double t5101 = t1032 * t5092; + const double t5104 = t2895 * t5064; + const double t5105 = t141 * t5104; + const double t5107 = t1038 * t5068; + const double t5108 = t141 * t5107; + const double t5110 = t1038 * t5072; + const double t5111 = t141 * t5110; + const double t5113 = -0.9494625e0 * t5086 + 0.1898925e1 * t5093 + t2880 - 0.19931111111111111111e0 * t4044 - 0.19931111111111111111e0 * t5066 + 0.59793333333333333334e0 * t5070 + 0.29896666666666666667e0 * t5074 + 0.15358125e0 * t5099 + 0.3071625e0 * t5101 + t2892 - 0.10954222222222222222e0 * t4093 - 0.27385555555555555556e-1 * t5105 + 0.16431333333333333333e0 * t5108 + 0.82156666666666666667e-1 * t5111; + const double t5114 = t5113 * t1043; + const double t5116 = 0.1e1 * t1024 * t5114; + const double t5117 = t5081 * t2913; + const double t5119 = 0.16081979498692535067e2 * t2911 * t5117; + const double t5124 = t2917 - 0.11415555555555555555e-1 * t4044 - 0.11415555555555555555e-1 * t5066 + 0.34246666666666666666e-1 * t5070 + 0.17123333333333333333e-1 * t5074; + const double t5129 = t1530 * t1530; + const double t5130 = t5129 * t1062; + const double t5145 = -0.17648625e1 * t5086 + 0.3529725e1 * t5093 + t2937 - 0.34431666666666666666e0 * t4044 - 0.34431666666666666667e0 * t5066 + 0.103295e1 * t5070 + 0.516475e0 * t5074 + 0.31558125e0 * t5099 + 0.6311625e0 * t5101 + t2944 - 0.13892666666666666667e0 * t4093 - 0.34731666666666666667e-1 * t5105 + 0.20839e0 * t5108 + 0.104195e0 * t5111; + const double t5146 = t5145 * t1062; + const double t5149 = t5129 * t2957; + const double t5156 = t2961 - 0.61805555555555555556e-2 * t4044 - 0.61805555555555555555e-2 * t5066 + 0.18541666666666666667e-1 * t5070 + 0.92708333333333333333e-2 * t5074; + const double t5157 = t5156 * t434; + const double t5161 = t1542 * t1542; + const double t5162 = t5161 * t1081; + const double t5177 = -0.1294625e1 * t5086 + 0.258925e1 * t5093 + t2981 - 0.20128333333333333334e0 * t4044 - 0.20128333333333333333e0 * t5066 + 0.60385e0 * t5070 + 0.301925e0 * t5074 + 0.82524375e-1 * t5099 + 0.16504875e0 * t5101 + t2988 - 0.11038e0 * t4093 - 0.27595e-1 * t5105 + 0.16557e0 * t5108 + 0.82785e-1 * t5111; + const double t5178 = t5177 * t1081; + const double t5181 = t5161 * t3001; + const double t5184 = -0.310907e-1 * t5124 * t421 + 0.2e1 * t4120 * t1531 - 0.2e1 * t2930 * t5130 + 0.1e1 * t1054 * t5146 + 0.32163958997385070134e2 * t2955 * t5149 + t5078 - t5080 + t5084 - t5116 - t5119 - 0.19751673498613801407e-1 * t5157 + 0.11696447245269292414e1 * t4158 * t1543 - 0.11696447245269292414e1 * t2974 * t5162 + 0.5848223622634646207e0 * t1073 * t5178 + 0.17315859105681463759e2 * t2999 * t5181; + const double t5185 = t294 * t5184; + const double t5187 = 0.19751673498613801407e-1 * t294 * t5157; + const double t5189 = 0.11696447245269292414e1 * t4192 * t1551; + const double t5191 = t2973 * t5161 * t1081; + const double t5193 = 0.11696447245269292414e1 * t1089 * t5191; + const double t5195 = t1072 * t5177 * t1081; + const double t5197 = 0.5848223622634646207e0 * t1089 * t5195; + const double t5198 = t2998 * t5161; + const double t5199 = t5198 * t3001; + const double t5201 = 0.17315859105681463759e2 * t1089 * t5199; + const double t5204 = 0.1e1 / t52 / t455 / t1297; + const double t5206 = t339 * t454 * t5204; + const double t5209 = t4597 * t332; + const double t5212 = t1128 * t5072; + const double t5213 = t242 * t5212; + const double t5216 = t1128 * t5068; + const double t5217 = t242 * t5216; + const double t5220 = -t5078 + t5080 - t5084 + t5116 + t5119 + t5185 + t5187 - t5189 + t5193 - t5197 - t5201; + const double t5221 = t5220 * t450; + const double t5222 = t1112 * t5221; + const double t5223 = t242 * t5222; + const double t5226 = t1561 * t1561; + const double t5227 = t5226 * t3054; + const double t5228 = t1112 * t5227; + const double t5229 = t242 * t5228; + const double t5232 = t5226 * t450; + const double t5233 = t1112 * t5232; + const double t5234 = t242 * t5233; + const double t5242 = -t3089 + 0.19e2 / 0.1728e4 * t5206 * t463 + 0.11e2 / 0.108e3 * t5209 * t444 - t1125 * t5213 / 0.4608e4 - t1125 * t5217 / 0.2304e4 + t1111 * t5223 / 0.3072e4 + t3052 * t5229 / 0.1536e4 - t3080 * t5234 / 0.3072e4 + t4265 * t1575 / 0.432e3 - t4210 / 0.54e2 - t4258 * t1564 / 0.288e3; + const double t5243 = t3033 * t4573; + const double t5244 = t926 * t5243; + const double t5249 = t1101 * t4579; + const double t5250 = t926 * t5249; + const double t5253 = t3038 * t4573; + const double t5254 = t926 * t5253; + const double t5261 = t1562 * t1501; + const double t5262 = t3068 * t5261; + const double t5265 = t3097 * t5064; + const double t5266 = t242 * t5265; + const double t5269 = t1098 * t5244 / 0.216e3 - t4276 / 0.3456e4 + t4239 / 0.2304e4 - t3027 - t1098 * t5250 / 0.288e3 - t1098 * t5254 / 0.144e3 + t4212 * t1558 / 0.54e2 - t4261 / 0.432e3 - t4217 / 0.432e3 - t3067 * t5262 / 0.2304e4 + 0.5e1 / 0.13824e5 * t1125 * t5266; + const double t5270 = t5242 + t5269; + const double t5271 = beta * t5270; + const double t5275 = t1586 * t1586; + const double t5276 = t3118 * t5275; + const double t5279 = t466 * t5226; + const double t5283 = t1578 * t1561; + const double t5287 = t466 * t5220; + const double t5294 = 0.2e1 * t1141 * t1143 * t5283 + t1141 * t1143 * t5287 + t220 * t468 * t5270 + 0.2e1 * t3124 * t3126 * t5279 - t3138 * t3139 * t5279; + const double t5295 = t1139 * t5294; + const double t5297 = 0.2e1 * t1136 * t5276 - t1136 * t5295 - 0.2e1 * t1587 * t4296 + t473 * t5271; + const double t5301 = t1589 * t1589; + const double t5305 = t1153 * t198 * t330 * t5297 - t198 * t3154 * t330 * t5301 - t5078 + t5080 - t5084 + t5116 + t5119 + t5185 + t5187 - t5189 + t5193 - t5197 - t5201; + const double t5306 = piecewise_functor_3( t480, t5305, t4818 ); + const double t5313 = piecewise_functor_3( t386, t4818 * t33 / 0.2e1 + t1402 * t1497 + t259 * t5059 / 0.2e1, t5306 * t57 / 0.2e1 - t1594 * t1289 - t481 * t4579 / 0.2e1 ); + const double t5314 = t5055 + t5313; + const double t5322 = 0.2e1 * t1165 * t4674 + 0.4e1 * t1338 * t3493 + 0.2e1 * t4637 * t93 + t4631; + const double t5326 = t1659 * t1659; + const double t5330 = t1625 * t1625; + const double t5334 = 0.11696447245269292414e1 * t4383; + const double t5335 = -t198 * t3185 * t509 * t5326 + 0.6e1 * t198 * t3386 * t5330 - t2116 - t2264 - t2271 + t2281 + t2289 - t3179 + t3284 - t3294 + t3297 + t3300 + t3303 - t5334; + const double t5336 = 0.36622894612013090108e-3 * t4396; + const double t5337 = 0.8e1 * t4398; + const double t5338 = 0.8e1 * t4400; + const double t5339 = 0.2e1 * t4455; + const double t5340 = t1288 * t1288; + const double t5346 = piecewise_functor_3( t31, 0.0, 0.4e1 / 0.9e1 * t3258 * t5340 + 0.4e1 / 0.3e1 * t490 * t4578 ); + const double t5347 = t1497 * t1497; + const double t5353 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.9e1 * t3265 * t5347 + 0.4e1 / 0.3e1 * t493 * t5059 ); + const double t5355 = ( t5346 + t5353 ) * t162; + const double t5356 = t5355 * t189; + const double t5357 = t489 * t5356; + const double t5363 = piecewise_functor_3( t31, 0.0, -0.2e1 / 0.9e1 * t3188 * t5340 + 0.2e1 / 0.3e1 * t1197 * t4578 ); + const double t5369 = piecewise_functor_3( t34, 0.0, -0.2e1 / 0.9e1 * t3196 * t5347 + 0.2e1 / 0.3e1 * t1201 * t5059 ); + const double t5371 = t5363 / 0.2e1 + t5369 / 0.2e1; + const double t5376 = t124 * t5330; + const double t5377 = t762 * t5376; + const double t5380 = t124 * t5371; + const double t5381 = t762 * t5380; + const double t5384 = t1639 * t1639; + const double t5385 = t5384 * t3231; + const double t5387 = t1224 * t774 * t5385; + const double t5391 = t520 * t1625; + const double t5392 = t4438 * t5391; + const double t5393 = t3244 * t5392; + const double t5397 = 0.19751673498613801407e-1 * t5355 * t187; + const double t5398 = t3252 + t3257 + t5397 - t3277 - t3282 + t3284 - t3179 - t3294 + t5339 + t5357 - t5337; + const double t5399 = -t5338 + t3297 + t3300 + t3303 - t5336 + t2281 + t2289 - t5334 - t2271 - t2116 - t2264 + t3306; + const double t5401 = ( t5398 + t5399 ) * t219; + const double t5405 = t3313 * t5330; + const double t5408 = t1228 * t5371; + const double t5411 = 0.6e1 * t1634 * t1636 - 0.12e2 * t516 * t5405 + 0.3e1 * t516 * t5408 - t518 * t5401; + const double t5412 = t5411 * t520; + const double t5414 = t1224 * t774 * t5412; + const double t5417 = t5384 * t520; + const double t5419 = t1224 * t774 * t5417; + const double t5424 = t3342 * t774 * t5330; + const double t5428 = t1248 * t774 * t5371; + const double t5431 = t3210 + 0.7e1 / 0.72e2 * t4424 + t3215 * t5377 / 0.16e2 - t1213 * t5381 / 0.48e2 + t3229 * t5387 / 0.1536e4 + 0.7e1 / 0.2304e4 * t4444 + t3242 * t5393 / 0.384e3 - t1222 * t5414 / 0.3072e4 - t1222 * t5419 / 0.3072e4 + t3334 + 0.7e1 / 0.576e3 * t4490 + 0.5e1 / 0.768e3 * t1244 * t5424 - t1244 * t5428 / 0.768e3; + const double t5432 = beta * t5431; + const double t5436 = t1656 * t1656; + const double t5437 = t3359 * t5436; + const double t5452 = -t1260 * t339 * t5412 - t1260 * t339 * t5417 - 0.2e1 * t1640 * t339 * t4525 + t220 * t523 * t5431 + 0.2e1 * t3364 * t339 * t5385; + const double t5453 = t1259 * t5452; + const double t5455 = 0.2e1 * t1256 * t5437 - t1256 * t5453 - 0.2e1 * t1657 * t4504 + t538 * t5432; + const double t5459 = t4385 * t1625; + const double t5462 = t1270 * t198 * t509 * t5455 + 0.3e1 * t1196 * t198 * t5371 + 0.6e1 * t3390 * t5459 + t3252 + t3257 - t3277 - t3282 + t3306 - t5336 - t5337 - t5338 + t5339 + t5357 + t5397; + const double t5463 = t5335 + t5462; + const double t5465 = -t118 * t5314 - 0.2e1 * t1322 * t1600 - 0.4e1 * t1339 * t3493 + 0.2e1 * t1604 * t1663 - t4631 * t485 - 0.2e1 * t4638 * t485 - 0.4e1 * t4641 * t626 - 0.2e1 * t4675 * t626 + t488 * t5463 + t5322 * t544; + const double t5466 = t3 * t5465; + const double t5470 = d * t5465; + const double t5474 = t116 * t4637; + const double t5477 = t117 * t4674; + const double t5480 = 0.6e1 * t1668 * t1670 + 0.6e1 * t547 * t5474 + 0.3e1 * t547 * t5477 + t5470 * t548; + const double t5482 = t1781 * t550; + const double t5483 = t1976 * t38; + const double t5486 = t38 * t1677; + const double t5487 = t1981 * t5486; + const double t5488 = t84 * t619; + const double t5489 = t77 * t5488; + const double t5492 = t578 * t582; + const double t5497 = t43 * t48; + const double t5500 = 0.8e1 / 0.3e1 * t599; + const double t5501 = -0.8e1 / 0.3e1 * t588 * t49 + 0.5e1 / 0.6e1 * t5497 * t581 + t5500; + const double t5502 = t5501 * t72; + const double t5503 = t5502 * t1679; + const double t5506 = t76 * t615; + const double t5507 = t1678 * t5506; + const double t5511 = piecewise_functor_3( t8, 0.0, -t5483 * t1680 / 0.6e1 + 0.5e1 / 0.6e1 * t5487 * t5489 + t5492 * t1680 / 0.3e1 - t1675 * t5503 / 0.6e1 - t1675 * t5507 / 0.6e1 ); + const double t5512 = t5511 * t117; + const double t5514 = t1683 * t116; + const double t5519 = 0.2e1 * t2056 * t1689; + const double t5521 = 0.2e1 * t3499 * t1689; + const double t5522 = t1163 * t1688; + const double t5524 = 0.2e1 * t626 * t5522; + const double t5525 = t599 * t112; + const double t5526 = t5525 / 0.3e1; + const double t5527 = t68 * t630; + const double t5528 = t5527 * t640; + const double t5531 = piecewise_functor_3( t115, 0.0, -t5526 - t5528 / 0.8e1 ); + const double t5532 = t485 * t5531; + const double t5534 = 0.2e1 * t626 * t5532; + const double t5536 = t1753 * t645; + const double t5539 = t30 * t750; + const double t5543 = t755 * t159; + const double t5545 = t5543 * t212 * t1695; + const double t5546 = 0.7e1 / 0.288e3 * t5545; + const double t5547 = t1693 * t223; + const double t5548 = t5547 * t764; + const double t5550 = t768 * t64; + const double t5552 = t339 * t5550 * t234; + const double t5553 = t5552 * t785; + const double t5555 = t1699 * t792; + const double t5556 = 0.7e1 / 0.2304e4 * t5555; + const double t5557 = t228 * t64; + const double t5559 = t339 * t5557 * t234; + const double t5560 = t5559 * t803; + const double t5562 = -t5546 - t5548 / 0.48e2 - t5553 / 0.1536e4 - t5556 - t5560 / 0.384e3; + const double t5563 = beta * t5562; + const double t5565 = t1703 * t219; + const double t5567 = t1705 * t806; + const double t5568 = t5567 * t935; + const double t5570 = t935 * t937; + const double t5571 = t1706 * t5570; + const double t5572 = t2401 * t228; + const double t5573 = t1702 * t818; + const double t5574 = t5572 * t5573; + const double t5577 = t811 * t768; + const double t5579 = t1702 * t782 * t226; + const double t5580 = t5577 * t5579; + const double t5583 = t1708 * t228 * t5562; + const double t5585 = -t1707 * t5583 - t1710 * t5568 + t253 * t5563 - t5565 * t819 + 0.2e1 * t5571 * t5574 + t5571 * t5580; + const double t5586 = t5585 * t823; + const double t5590 = t1712 * t2441; + const double t5591 = t30 * t821; + const double t5598 = 0.3e1 / 0.2e1 * t2433 * t1713 * t5539 + t1692 * t5586 * t30 / 0.2e1 - t1692 * t5590 * t5591 / 0.2e1 + t1692 * t1713 * t580 / 0.2e1; + const double t5599 = t588 * t331; + const double t5600 = t5599 * t136; + const double t5604 = t1718 * t921 / 0.288e3; + const double t5605 = t1717 * t762; + const double t5608 = t940 * sigma_aa; + const double t5610 = t938 * t5608 * t944; + const double t5614 = t339 * t1721 * t956; + const double t5618 = t1723 * t962 / 0.2304e4; + const double t5620 = t339 * t1721 * t965; + const double t5623 = -t5600 * t336 / 0.36e2 + t5604 + t5605 * t931 / 0.288e3 + t5610 * t951 / 0.1536e4 - t5614 * t363 / 0.288e3 + t5618 + t5620 * t972 / 0.2304e4; + const double t5624 = beta * t5623; + const double t5626 = t1727 * t219; + const double t5628 = t1705 * t975; + const double t5629 = t5628 * t935; + const double t5631 = t1729 * t5570; + const double t5632 = t2775 * t347; + const double t5633 = t1726 * t990; + const double t5634 = t5632 * t5633; + const double t5637 = t2719 * t2721; + const double t5638 = t5637 * t980; + const double t5639 = t1729 * t5638; + const double t5640 = t940 * t1726; + const double t5642 = t948 * t342 * t345; + const double t5643 = t5640 * t5642; + const double t5646 = t1731 * t347 * t5623; + const double t5648 = -t1730 * t5646 - t1733 * t5629 + t373 * t5624 - t5626 * t991 + 0.2e1 * t5631 * t5634 - t5639 * t5643; + const double t5652 = t1735 * t2814; + const double t5659 = t207 * t5585; + const double t5664 = -t1692 * t5590 * t821 + 0.3e1 * t1713 * t2433 * t750 + t198 * t5659 * t823; + const double t5665 = piecewise_functor_3( t380, t198 * t330 * t5648 * t995 - t4023 * t5652 * t993, t5664 ); + const double t5670 = piecewise_functor_3( t120, t5598, t1742 * t581 / 0.2e1 + t5665 * t45 / 0.2e1 ); + const double t5671 = t33 * t750; + const double t5678 = t33 * t821; + const double t5685 = 0.3e1 / 0.2e1 * t2433 * t1713 * t5671 + t1692 * t5586 * t33 / 0.2e1 - t1692 * t5590 * t5678 / 0.2e1 + t1692 * t1713 * t1006 / 0.2e1; + const double t5686 = piecewise_functor_3( t480, 0.0, t5664 ); + const double t5691 = piecewise_functor_3( t386, t5685, -t1749 * t581 / 0.2e1 + t5686 * t57 / 0.2e1 ); + const double t5692 = t5670 + t5691; + const double t5697 = 0.2e1 * t2056 * t1688; + const double t5699 = 0.2e1 * t4347 * t1688; + const double t5701 = 0.2e1 * t1165 * t5531; + const double t5702 = 0.2e1 * t5514 * t645 + t5512 + t5697 + t5699 + t5701; + const double t5705 = t1168 * t196; + const double t5706 = t5705 * t197; + const double t5707 = t5706 * t1779; + const double t5708 = t508 * t1777; + const double t5709 = t1270 * t1206; + const double t5710 = t5708 * t5709; + const double t5712 = 0.3e1 * t1760 * t5710; + const double t5714 = t5543 * t510 * t1695; + const double t5715 = 0.7e1 / 0.288e3 * t5714; + const double t5716 = t1693 * t517; + const double t5717 = t5716 * t1215; + const double t5719 = t1219 * t64; + const double t5721 = t339 * t5719 * t234; + const double t5722 = t5721 * t1235; + const double t5724 = t1765 * t1239; + const double t5725 = 0.7e1 / 0.2304e4 * t5724; + const double t5726 = t522 * t64; + const double t5728 = t339 * t5726 * t234; + const double t5729 = t5728 * t1250; + const double t5731 = -t5715 - t5717 / 0.48e2 - t5722 / 0.1536e4 - t5725 - t5729 / 0.384e3; + const double t5732 = beta * t5731; + const double t5734 = t1769 * t219; + const double t5736 = t1705 * t1253; + const double t5737 = t5736 * t935; + const double t5739 = t1771 * t5570; + const double t5740 = t3358 * t522; + const double t5741 = t1768 * t1265; + const double t5742 = t5740 * t5741; + const double t5745 = t1258 * t1219; + const double t5747 = t1768 * t1232 * t520; + const double t5748 = t5745 * t5747; + const double t5751 = t1773 * t522 * t5731; + const double t5753 = -t1266 * t5734 - t1772 * t5751 - t1775 * t5737 + t538 * t5732 + 0.2e1 * t5739 * t5742 + t5739 * t5748; + const double t5754 = t509 * t5753; + const double t5755 = t5754 * t1270; + const double t5756 = t1760 * t5755; + const double t5757 = t3185 * t1268; + const double t5758 = t1778 * t5757; + const double t5759 = t1760 * t5758; + const double t5760 = -t1163 * t1684 - t118 * t5692 + t1273 * t1757 - t1753 * t624 - t485 * t5512 + t544 * t5702 - 0.2e1 * t5514 * t646 - 0.2e1 * t5536 * t626 - t5519 - t5521 - t5524 - t5534 + t5707 + t5712 + t5756 - t5759; + const double t5761 = t3 * t5760; + const double t5764 = t546 * t1789; + const double t5766 = d * t5760; + const double t5771 = 0.3e1 * t1279 * t1786; + const double t5772 = t116 * t1688; + const double t5773 = t5772 * t645; + const double t5775 = 0.6e1 * t547 * t5773; + const double t5776 = t117 * t5531; + const double t5778 = 0.3e1 * t547 * t5776; + const double t5779 = 0.3e1 * t1281 * t1784 + t548 * t5766 + t5771 + t5775 + t5778; + const double t5781 = t1848 * t550; + const double t5784 = t38 * t68; + const double t5785 = t1981 * t5784; + const double t5790 = t599 * t72; + const double t5791 = t5790 * t1679; + const double t5793 = 0.8e1 / 0.9e1 * t1675 * t5791; + const double t5794 = t1791 * t5506; + const double t5798 = piecewise_functor_3( t8, 0.0, t5483 * t1792 / 0.3e1 - 0.5e1 / 0.3e1 * t5785 * t5489 - 0.2e1 / 0.3e1 * t5492 * t1792 - t5793 + t1675 * t5794 / 0.3e1 ); + const double t5799 = t5798 * t117; + const double t5801 = t1795 * t116; + const double t5809 = t1163 * t1799; + const double t5812 = 0.2e1 / 0.3e1 * t5525; + const double t5815 = piecewise_functor_3( t115, 0.0, -t5812 - t5528 / 0.4e1 ); + const double t5816 = t485 * t5815; + const double t5820 = t1830 * t645; + const double t5826 = 0.7e1 / 0.144e3 * t5545; + const double t5829 = 0.7e1 / 0.1152e4 * t5555; + const double t5831 = -t5826 - t5548 / 0.24e2 - t5553 / 0.768e3 - t5829 - t5560 / 0.192e3; + const double t5832 = beta * t5831; + const double t5834 = t1806 * t219; + const double t5837 = t1805 * t818; + const double t5838 = t5572 * t5837; + const double t5843 = t5577 * t1805 * t782 * t226; + const double t5846 = t1708 * t228 * t5831; + const double t5848 = -t1707 * t5846 - t1809 * t5568 + t253 * t5832 + 0.2e1 * t5571 * t5838 + t5571 * t5843 - t5834 * t819; + const double t5849 = t5848 * t823; + const double t5853 = t1811 * t2441; + const double t5864 = t207 * t5848; + const double t5869 = -t1692 * t5853 * t821 + 0.3e1 * t1812 * t2433 * t750 + t198 * t5864 * t823; + const double t5870 = piecewise_functor_3( t380, 0.0, t5869 ); + const double t5875 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2433 * t1812 * t5539 + t1692 * t5849 * t30 / 0.2e1 - t1692 * t5853 * t5591 / 0.2e1 + t1692 * t1812 * t580 / 0.2e1, t1819 * t581 / 0.2e1 + t5870 * t45 / 0.2e1 ); + const double t5889 = piecewise_functor_3( t480, 0.0, t5869 ); + const double t5894 = piecewise_functor_3( t386, 0.3e1 / 0.2e1 * t2433 * t1812 * t5671 + t1692 * t5849 * t33 / 0.2e1 - t1692 * t5853 * t5678 / 0.2e1 + t1692 * t1812 * t1006 / 0.2e1, -t1826 * t581 / 0.2e1 + t5889 * t57 / 0.2e1 ); + const double t5895 = t5875 + t5894; + const double t5905 = 0.2e1 * t1165 * t5815 + 0.2e1 * t1799 * t2056 + 0.2e1 * t1799 * t4347 + 0.2e1 * t5801 * t645 + t5799; + const double t5909 = t508 * t1844; + const double t5910 = t5909 * t5709; + const double t5913 = 0.7e1 / 0.144e3 * t5714; + const double t5916 = 0.7e1 / 0.1152e4 * t5724; + const double t5918 = -t5913 - t5717 / 0.24e2 - t5722 / 0.768e3 - t5916 - t5729 / 0.192e3; + const double t5919 = beta * t5918; + const double t5921 = t1839 * t219; + const double t5924 = t1838 * t1265; + const double t5925 = t5740 * t5924; + const double t5930 = t5745 * t1838 * t1232 * t520; + const double t5933 = t1773 * t522 * t5918; + const double t5935 = -t1266 * t5921 - t1772 * t5933 - t1842 * t5737 + t538 * t5919 + 0.2e1 * t5739 * t5925 + t5739 * t5930; + const double t5936 = t509 * t5935; + const double t5937 = t5936 * t1270; + const double t5939 = t1845 * t5757; + const double t5941 = -t1163 * t1796 - t118 * t5895 + t1273 * t1834 + 0.3e1 * t1760 * t5910 + t1760 * t5937 - t1760 * t5939 - 0.2e1 * t1800 * t2056 - 0.2e1 * t1800 * t3499 - t1830 * t624 + t1846 * t5706 - t485 * t5799 + t544 * t5905 - 0.2e1 * t5801 * t646 - 0.2e1 * t5809 * t626 - 0.2e1 * t5816 * t626 - 0.2e1 * t5820 * t626; + const double t5942 = t3 * t5941; + const double t5945 = t546 * t1856; + const double t5947 = d * t5941; + const double t5953 = t116 * t1799; + const double t5954 = t5953 * t645; + const double t5957 = t117 * t5815; + const double t5960 = 0.3e1 * t1279 * t1853 + 0.3e1 * t1281 * t1851 + 0.6e1 * t547 * t5954 + 0.3e1 * t547 * t5957 + t548 * t5947; + const double t5962 = t1901 * t550; + const double t5965 = t38 * t1859; + const double t5966 = t1981 * t5965; + const double t5971 = t55 * t60; + const double t5974 = -0.5e1 / 0.6e1 * t5971 * t581 + t5500; + const double t5975 = t5974 * t72; + const double t5976 = t5975 * t1679; + const double t5979 = t1860 * t5506; + const double t5983 = piecewise_functor_3( t8, 0.0, -t5483 * t1861 / 0.6e1 + 0.5e1 / 0.6e1 * t5966 * t5489 + t5492 * t1861 / 0.3e1 - t1675 * t5976 / 0.6e1 - t1675 * t5979 / 0.6e1 ); + const double t5984 = t5983 * t117; + const double t5986 = t1864 * t116; + const double t5991 = t1897 * t645; + const double t5994 = piecewise_functor_3( t380, 0.0, t5664 ); + const double t5999 = piecewise_functor_3( t120, t5598, t1867 * t581 / 0.2e1 + t5994 * t45 / 0.2e1 ); + const double t6001 = t1872 * t1095 / 0.288e3; + const double t6002 = t1871 * t762; + const double t6005 = t1107 * sigma_bb; + const double t6007 = t938 * t6005 * t1109; + const double t6011 = t1877 * t1120 / 0.2304e4; + const double t6013 = t339 * t1875 * t1123; + const double t6016 = t6001 - t6002 * t1103 / 0.288e3 + t6007 * t1116 / 0.1536e4 + t6011 - t6013 * t1130 / 0.2304e4; + const double t6017 = beta * t6016; + const double t6019 = t1881 * t219; + const double t6021 = t1705 * t1133; + const double t6022 = t6021 * t935; + const double t6024 = t1883 * t5570; + const double t6025 = t3117 * t452; + const double t6026 = t1880 * t1148; + const double t6027 = t6025 * t6026; + const double t6030 = t5637 * t1138; + const double t6031 = t1883 * t6030; + const double t6032 = t1107 * t1880; + const double t6034 = t1113 * t342 * t450; + const double t6035 = t6032 * t6034; + const double t6038 = t1885 * t452 * t6016; + const double t6040 = -t1149 * t6019 - t1884 * t6038 - t1887 * t6022 + t473 * t6017 + 0.2e1 * t6024 * t6027 - t6031 * t6035; + const double t6044 = t1889 * t3154; + const double t6048 = piecewise_functor_3( t480, t1153 * t198 * t330 * t6040 - t1151 * t4023 * t6044, t5664 ); + const double t6053 = piecewise_functor_3( t386, t5685, -t1893 * t581 / 0.2e1 + t6048 * t57 / 0.2e1 ); + const double t6054 = t5999 + t6053; + const double t6058 = 0.2e1 * t5986 * t645 + t5697 + t5699 + t5701 + t5984; + const double t6061 = -t1163 * t1865 - t118 * t6054 + t1273 * t1899 - t1897 * t624 - t485 * t5984 + t544 * t6058 - 0.2e1 * t5986 * t646 - 0.2e1 * t5991 * t626 - t5519 - t5521 - t5524 - t5534 + t5707 + t5712 + t5756 - t5759; + const double t6062 = t3 * t6061; + const double t6065 = t546 * t1906; + const double t6067 = d * t6061; + const double t6071 = 0.3e1 * t1281 * t1904 + t548 * t6067 + t5771 + t5775 + t5778; + const double t6073 = t3418 * t38; + const double t6076 = t84 * t1317; + const double t6077 = t77 * t6076; + const double t6080 = t578 * t1290; + const double t6085 = 0.5e1 / 0.6e1 * t5497 * t1289 + t5500; + const double t6086 = t6085 * t72; + const double t6087 = t6086 * t1679; + const double t6090 = t76 * t1313; + const double t6091 = t1678 * t6090; + const double t6095 = piecewise_functor_3( t8, 0.0, -t6073 * t1680 / 0.6e1 + 0.5e1 / 0.6e1 * t5487 * t6077 + t6080 * t1680 / 0.3e1 - t1675 * t6087 / 0.6e1 - t1675 * t6091 / 0.6e1 ); + const double t6096 = t6095 * t117; + const double t6102 = 0.2e1 * t3493 * t1689; + const double t6103 = t94 * t1338; + const double t6105 = 0.2e1 * t6103 * t1689; + const double t6106 = t1600 * t1688; + const double t6108 = 0.2e1 * t626 * t6106; + const double t6109 = t5527 * t1333; + const double t6112 = piecewise_functor_3( t115, 0.0, -t5526 - t6109 / 0.8e1 ); + const double t6113 = t485 * t6112; + const double t6115 = 0.2e1 * t626 * t6113; + const double t6117 = t1753 * t1338; + const double t6120 = t30 * t1364; + const double t6121 = t1713 * t6120; + const double t6124 = t5547 * t1369; + const double t6126 = t5552 * t1381; + const double t6128 = t5559 * t1385; + const double t6130 = -t5546 - t6124 / 0.48e2 - t6126 / 0.1536e4 - t5556 - t6128 / 0.384e3; + const double t6131 = beta * t6130; + const double t6134 = t1705 * t1388; + const double t6135 = t6134 * t935; + const double t6137 = t1702 * t1395; + const double t6138 = t5572 * t6137; + const double t6142 = t1702 * t1378 * t226; + const double t6143 = t5577 * t6142; + const double t6146 = t1708 * t228 * t6130; + const double t6148 = -t1396 * t5565 - t1707 * t6146 - t1710 * t6135 + t253 * t6131 + 0.2e1 * t5571 * t6138 + t5571 * t6143; + const double t6149 = t6148 * t823; + const double t6153 = t30 * t1398; + const double t6160 = 0.3e1 / 0.2e1 * t2433 * t6121 + t1692 * t6149 * t30 / 0.2e1 - t1692 * t5590 * t6153 / 0.2e1 + t1692 * t1713 * t1288 / 0.2e1; + const double t6167 = t5604 + t5605 * t1461 / 0.288e3 + t5610 * t1467 / 0.1536e4 + t5618 + t5620 * t1471 / 0.2304e4; + const double t6168 = beta * t6167; + const double t6171 = t1705 * t1474; + const double t6172 = t6171 * t935; + const double t6174 = t1726 * t1482; + const double t6175 = t5632 * t6174; + const double t6179 = t1464 * t342 * t345; + const double t6180 = t5640 * t6179; + const double t6183 = t1731 * t347 * t6167; + const double t6185 = -t1483 * t5626 - t1730 * t6183 - t1733 * t6172 + t373 * t6168 + 0.2e1 * t5631 * t6175 - t5639 * t6180; + const double t6192 = t1713 * t1364; + const double t6195 = t207 * t6148; + const double t6200 = -t1398 * t1692 * t5590 + t198 * t6195 * t823 + 0.3e1 * t2433 * t6192; + const double t6201 = piecewise_functor_3( t380, t198 * t330 * t6185 * t995 - t1485 * t4023 * t5652, t6200 ); + const double t6206 = piecewise_functor_3( t120, t6160, t1742 * t1289 / 0.2e1 + t6201 * t45 / 0.2e1 ); + const double t6207 = t33 * t1364; + const double t6208 = t1713 * t6207; + const double t6214 = t33 * t1398; + const double t6221 = 0.3e1 / 0.2e1 * t2433 * t6208 + t1692 * t6149 * t33 / 0.2e1 - t1692 * t5590 * t6214 / 0.2e1 + t1692 * t1713 * t1497 / 0.2e1; + const double t6222 = piecewise_functor_3( t480, 0.0, t6200 ); + const double t6227 = piecewise_functor_3( t386, t6221, -t1749 * t1289 / 0.2e1 + t6222 * t57 / 0.2e1 ); + const double t6228 = t6206 + t6227; + const double t6233 = 0.2e1 * t3493 * t1688; + const double t6234 = t93 * t1338; + const double t6236 = 0.2e1 * t6234 * t1688; + const double t6238 = 0.2e1 * t1165 * t6112; + const double t6239 = 0.2e1 * t1338 * t5514 + t6096 + t6233 + t6236 + t6238; + const double t6242 = t1604 * t196; + const double t6243 = t6242 * t197; + const double t6244 = t6243 * t1779; + const double t6245 = t1270 * t1625; + const double t6246 = t5708 * t6245; + const double t6248 = 0.3e1 * t1760 * t6246; + const double t6249 = t5716 * t1630; + const double t6251 = t5721 * t1642; + const double t6253 = t5728 * t1646; + const double t6255 = -t5715 - t6249 / 0.48e2 - t6251 / 0.1536e4 - t5725 - t6253 / 0.384e3; + const double t6256 = beta * t6255; + const double t6259 = t1705 * t1649; + const double t6260 = t6259 * t935; + const double t6262 = t1768 * t1656; + const double t6263 = t5740 * t6262; + const double t6267 = t1768 * t1639 * t520; + const double t6268 = t5745 * t6267; + const double t6271 = t1773 * t522 * t6255; + const double t6273 = -t1657 * t5734 - t1772 * t6271 - t1775 * t6260 + t538 * t6256 + 0.2e1 * t5739 * t6263 + t5739 * t6268; + const double t6274 = t509 * t6273; + const double t6275 = t6274 * t1270; + const double t6276 = t1760 * t6275; + const double t6277 = t1778 * t4359; + const double t6278 = t1760 * t6277; + const double t6279 = -t118 * t6228 - t1322 * t1753 - 0.2e1 * t1339 * t5514 - t1600 * t1684 + t1663 * t1757 - t485 * t6096 + t544 * t6239 - 0.2e1 * t6117 * t626 - t6102 - t6105 - t6108 - t6115 + t6244 + t6248 + t6276 - t6278; + const double t6280 = t3 * t6279; + const double t6284 = d * t6279; + const double t6289 = 0.3e1 * t1668 * t1786; + const double t6290 = t5772 * t1338; + const double t6292 = 0.6e1 * t547 * t6290; + const double t6293 = t117 * t6112; + const double t6295 = 0.3e1 * t547 * t6293; + const double t6296 = 0.3e1 * t1670 * t1784 + t548 * t6284 + t6289 + t6292 + t6295; + const double t6304 = t1791 * t6090; + const double t6308 = piecewise_functor_3( t8, 0.0, t6073 * t1792 / 0.3e1 - 0.5e1 / 0.3e1 * t5785 * t6077 - 0.2e1 / 0.3e1 * t6080 * t1792 - t5793 + t1675 * t6304 / 0.3e1 ); + const double t6309 = t6308 * t117; + const double t6318 = t1600 * t1799; + const double t6323 = piecewise_functor_3( t115, 0.0, -t5812 - t6109 / 0.4e1 ); + const double t6324 = t485 * t6323; + const double t6328 = t1830 * t1338; + const double t6331 = t1812 * t6120; + const double t6337 = -t5826 - t6124 / 0.24e2 - t6126 / 0.768e3 - t5829 - t6128 / 0.192e3; + const double t6338 = beta * t6337; + const double t6342 = t1805 * t1395; + const double t6343 = t5572 * t6342; + const double t6348 = t5577 * t1805 * t1378 * t226; + const double t6351 = t1708 * t228 * t6337; + const double t6353 = -t1396 * t5834 - t1707 * t6351 - t1809 * t6135 + t253 * t6338 + 0.2e1 * t5571 * t6343 + t5571 * t6348; + const double t6354 = t6353 * t823; + const double t6365 = t1812 * t1364; + const double t6368 = t207 * t6353; + const double t6373 = -t1398 * t1692 * t5853 + t198 * t6368 * t823 + 0.3e1 * t2433 * t6365; + const double t6374 = piecewise_functor_3( t380, 0.0, t6373 ); + const double t6379 = piecewise_functor_3( t120, 0.3e1 / 0.2e1 * t2433 * t6331 + t1692 * t6354 * t30 / 0.2e1 - t1692 * t5853 * t6153 / 0.2e1 + t1692 * t1812 * t1288 / 0.2e1, t1819 * t1289 / 0.2e1 + t6374 * t45 / 0.2e1 ); + const double t6380 = t1812 * t6207; + const double t6393 = piecewise_functor_3( t480, 0.0, t6373 ); + const double t6398 = piecewise_functor_3( t386, 0.3e1 / 0.2e1 * t2433 * t6380 + t1692 * t6354 * t33 / 0.2e1 - t1692 * t5853 * t6214 / 0.2e1 + t1692 * t1812 * t1497 / 0.2e1, -t1826 * t1289 / 0.2e1 + t6393 * t57 / 0.2e1 ); + const double t6399 = t6379 + t6398; + const double t6409 = 0.2e1 * t1165 * t6323 + 0.2e1 * t1338 * t5801 + 0.2e1 * t1799 * t3493 + 0.2e1 * t1799 * t6234 + t6309; + const double t6413 = t5909 * t6245; + const double t6419 = -t5913 - t6249 / 0.24e2 - t6251 / 0.768e3 - t5916 - t6253 / 0.192e3; + const double t6420 = beta * t6419; + const double t6424 = t1838 * t1656; + const double t6425 = t5740 * t6424; + const double t6430 = t5745 * t1838 * t1639 * t520; + const double t6433 = t1773 * t522 * t6419; + const double t6435 = -t1657 * t5921 - t1772 * t6433 - t1842 * t6260 + t538 * t6420 + 0.2e1 * t5739 * t6425 + t5739 * t6430; + const double t6436 = t509 * t6435; + const double t6437 = t6436 * t1270; + const double t6439 = t1845 * t4359; + const double t6441 = -t118 * t6399 - t1322 * t1830 - 0.2e1 * t1339 * t5801 - t1600 * t1796 + t1663 * t1834 + 0.3e1 * t1760 * t6413 + t1760 * t6437 - t1760 * t6439 - 0.2e1 * t1800 * t3493 - 0.2e1 * t1800 * t6103 + t1846 * t6243 - t485 * t6309 + t544 * t6409 - 0.2e1 * t626 * t6318 - 0.2e1 * t626 * t6324 - 0.2e1 * t626 * t6328; + const double t6442 = t3 * t6441; + const double t6446 = d * t6441; + const double t6452 = t5953 * t1338; + const double t6455 = t117 * t6323; + const double t6458 = 0.3e1 * t1668 * t1853 + 0.3e1 * t1670 * t1851 + 0.6e1 * t547 * t6452 + 0.3e1 * t547 * t6455 + t548 * t6446; + const double t6470 = -0.8e1 / 0.3e1 * t1299 * t61 - 0.5e1 / 0.6e1 * t5971 * t1289 + t5500; + const double t6471 = t6470 * t72; + const double t6472 = t6471 * t1679; + const double t6475 = t1860 * t6090; + const double t6479 = piecewise_functor_3( t8, 0.0, -t6073 * t1861 / 0.6e1 + 0.5e1 / 0.6e1 * t5966 * t6077 + t6080 * t1861 / 0.3e1 - t1675 * t6472 / 0.6e1 - t1675 * t6475 / 0.6e1 ); + const double t6480 = t6479 * t117; + const double t6486 = t1897 * t1338; + const double t6489 = piecewise_functor_3( t380, 0.0, t6200 ); + const double t6494 = piecewise_functor_3( t120, t6160, t1867 * t1289 / 0.2e1 + t6489 * t45 / 0.2e1 ); + const double t6495 = t1299 * t331; + const double t6496 = t6495 * t136; + const double t6504 = t339 * t1875 * t1569; + const double t6509 = -t6496 * t444 / 0.36e2 + t6001 - t6002 * t1558 / 0.288e3 + t6007 * t1564 / 0.1536e4 - t6504 * t463 / 0.288e3 + t6011 - t6013 * t1575 / 0.2304e4; + const double t6510 = beta * t6509; + const double t6513 = t1705 * t1578; + const double t6514 = t6513 * t935; + const double t6516 = t1880 * t1586; + const double t6517 = t6025 * t6516; + const double t6521 = t1561 * t342 * t450; + const double t6522 = t6032 * t6521; + const double t6525 = t1885 * t452 * t6509; + const double t6527 = -t1587 * t6019 - t1884 * t6525 - t1887 * t6514 + t473 * t6510 + 0.2e1 * t6024 * t6517 - t6031 * t6522; + const double t6534 = piecewise_functor_3( t480, t1153 * t198 * t330 * t6527 - t1589 * t4023 * t6044, t6200 ); + const double t6539 = piecewise_functor_3( t386, t6221, -t1893 * t1289 / 0.2e1 + t6534 * t57 / 0.2e1 ); + const double t6540 = t6494 + t6539; + const double t6544 = 0.2e1 * t1338 * t5986 + t6233 + t6236 + t6238 + t6480; + const double t6547 = -t118 * t6540 - t1322 * t1897 - 0.2e1 * t1339 * t5986 - t1600 * t1865 + t1663 * t1899 - t485 * t6480 + t544 * t6544 - 0.2e1 * t626 * t6486 - t6102 - t6105 - t6108 - t6115 + t6244 + t6248 + t6276 - t6278; + const double t6548 = t3 * t6547; + const double t6552 = d * t6547; + const double t6556 = 0.3e1 * t1670 * t1904 + t548 * t6552 + t6289 + t6292 + t6295; + const double t6558 = t1918 * t550; + const double t6561 = t1163 * t1912; + const double t6564 = t600 * t1909 / 0.3e1; + const double t6565 = t69 * t2073; + const double t6566 = t96 * t101; + const double t6567 = t6566 * t640; + const double t6571 = t630 * t43 * t101; + const double t6574 = t69 * t630; + const double t6575 = t96 * t100; + const double t6576 = t6575 * t633; + const double t6580 = piecewise_functor_3( t115, 0.0, t6564 + t6565 * t6567 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t6571 - 0.5e1 / 0.24e2 * t6574 * t6576 ); + const double t6581 = t485 * t6580; + const double t6585 = t6580 * t544; + const double t6587 = t1912 * t1273; + const double t6590 = 0.2e1 * t1165 * t6585 + 0.2e1 * t1165 * t6587 - 0.2e1 * t1913 * t2056 - 0.2e1 * t1913 * t3499 + 0.2e1 * t1915 * t2056 + 0.2e1 * t1915 * t4347 - 0.2e1 * t626 * t6561 - 0.2e1 * t626 * t6581; + const double t6591 = t3 * t6590; + const double t6594 = t546 * t1926; + const double t6596 = d * t6590; + const double t6602 = t116 * t1912; + const double t6603 = t6602 * t645; + const double t6606 = t117 * t6580; + const double t6609 = 0.3e1 * t1279 * t1923 + 0.3e1 * t1281 * t1921 + 0.6e1 * t547 * t6603 + 0.3e1 * t547 * t6606 + t548 * t6596; + const double t6611 = t1938 * t550; + const double t6614 = t1163 * t1932; + const double t6617 = t600 * t1929 / 0.3e1; + const double t6618 = t104 * t109; + const double t6619 = t6618 * t640; + const double t6622 = t104 * t108; + const double t6623 = t6622 * t636; + const double t6627 = piecewise_functor_3( t115, 0.0, t6617 + t6565 * t6619 / 0.4e1 - 0.5e1 / 0.24e2 * t6574 * t6623 ); + const double t6628 = t485 * t6627; + const double t6632 = t6627 * t544; + const double t6634 = t1932 * t1273; + const double t6637 = 0.2e1 * t1165 * t6632 + 0.2e1 * t1165 * t6634 - 0.2e1 * t1933 * t2056 - 0.2e1 * t1933 * t3499 + 0.2e1 * t1935 * t2056 + 0.2e1 * t1935 * t4347 - 0.2e1 * t626 * t6614 - 0.2e1 * t626 * t6628; + const double t6638 = t3 * t6637; + const double t6641 = t546 * t1946; + const double t6643 = d * t6637; + const double t6649 = t116 * t1932; + const double t6650 = t6649 * t645; + const double t6653 = t117 * t6627; + const double t6656 = 0.3e1 * t1279 * t1943 + 0.3e1 * t1281 * t1941 + 0.6e1 * t547 * t6650 + 0.3e1 * t547 * t6653 + t548 * t6643; + const double t6660 = t1600 * t1912; + const double t6662 = t6566 * t1333; + const double t6665 = t6575 * t1324; + const double t6669 = piecewise_functor_3( t115, 0.0, t6564 + t6565 * t6662 / 0.4e1 - 0.5e1 / 0.24e2 * t6574 * t6665 ); + const double t6670 = t485 * t6669; + const double t6674 = t6669 * t544; + const double t6676 = t1912 * t1663; + const double t6679 = 0.2e1 * t1165 * t6674 + 0.2e1 * t1165 * t6676 - 0.2e1 * t1913 * t3493 - 0.2e1 * t1913 * t6103 + 0.2e1 * t1915 * t3493 + 0.2e1 * t1915 * t6234 - 0.2e1 * t626 * t6660 - 0.2e1 * t626 * t6670; + const double t6680 = t3 * t6679; + const double t6684 = d * t6679; + const double t6690 = t6602 * t1338; + const double t6693 = t117 * t6669; + const double t6696 = 0.3e1 * t1668 * t1923 + 0.3e1 * t1670 * t1921 + 0.6e1 * t547 * t6690 + 0.3e1 * t547 * t6693 + t548 * t6684; + const double t6700 = t1600 * t1932; + const double t6702 = t6618 * t1333; + const double t6706 = t630 * t55 * t109; + const double t6709 = t6622 * t1329; + const double t6713 = piecewise_functor_3( t115, 0.0, t6617 + t6565 * t6702 / 0.4e1 + 0.5e1 / 0.24e2 * t69 * t6706 - 0.5e1 / 0.24e2 * t6574 * t6709 ); + const double t6714 = t485 * t6713; + const double t6718 = t6713 * t544; + const double t6720 = t1932 * t1663; + const double t6723 = 0.2e1 * t1165 * t6718 + 0.2e1 * t1165 * t6720 - 0.2e1 * t1933 * t3493 - 0.2e1 * t1933 * t6103 + 0.2e1 * t1935 * t3493 + 0.2e1 * t1935 * t6234 - 0.2e1 * t626 * t6700 - 0.2e1 * t626 * t6714; + const double t6724 = t3 * t6723; + const double t6728 = d * t6723; + const double t6734 = t6649 * t1338; + const double t6737 = t117 * t6713; + const double t6740 = 0.3e1 * t1668 * t1943 + 0.3e1 * t1670 * t1941 + 0.6e1 * t547 * t6734 + 0.3e1 * t547 * t6737 + t548 * t6728; + const double t6742 = t38 * t38; + const double t6743 = t1981 * t6742; + const double t6744 = t1677 * t1677; + const double t6745 = t6744 * t136; + const double t6748 = t84 * t84; + const double t6749 = t6747 * t6748; + const double t6750 = t6745 * t6749; + const double t6753 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t6743 * t6750 ); + const double t6754 = t6753 * t117; + const double t6756 = t5514 * t1689; + const double t6760 = t1688 * t1688; + const double t6761 = t94 * t6760; + const double t6763 = 0.2e1 * t6761 * t485; + const double t6764 = t1753 * t1688; + const double t6765 = t626 * t6764; + const double t6767 = piecewise_functor_3( t115, 0.0, 0.0 ); + const double t6768 = t485 * t6767; + const double t6769 = t626 * t6768; + const double t6770 = 0.2e1 * t6769; + const double t6771 = t1705 * t935; + const double t6772 = t937 * t228; + const double t6776 = t773 * t774 * t252; + const double t6777 = t6771 * t6772 * t234 * t6776; + const double t6779 = t1702 * t1702; + const double t6780 = t1705 * t6779; + const double t6781 = t6780 * t935; + const double t6782 = t1708 * t228; + const double t6786 = t6785 * t246; + const double t6787 = t6786 * t2719; + const double t6788 = t2721 * t2401; + const double t6790 = t6788 * t768 * t6779; + const double t6793 = t2721 * t811; + const double t6794 = t6793 * t768; + const double t6795 = t6787 * t6794; + const double t6796 = t6795 * t243; + const double t6798 = t6777 / 0.1536e4 - 0.2e1 * t6781 * t6782 + 0.2e1 * t6787 * t6790 - t6796 / 0.1536e4; + const double t6799 = t6798 * t823; + const double t6802 = t1712 * t1712; + const double t6803 = t6802 * t2441; + const double t6807 = t1692 * t6799 * t30 / 0.2e1 - t1692 * t6803 * t30 / 0.2e1; + const double t6808 = t6771 * t937; + const double t6809 = t347 * t353; + const double t6811 = t6808 * t6809 * t357; + const double t6813 = t242 * t947 * t372; + const double t6816 = t1726 * t1726; + const double t6817 = t1705 * t6816; + const double t6818 = t6817 * t935; + const double t6819 = t1731 * t347; + const double t6822 = t6785 * t366; + const double t6823 = t6822 * t2719; + const double t6824 = t2721 * t2775; + const double t6826 = t6824 * t940 * t6816; + const double t6829 = t2721 * t980; + const double t6830 = t6829 * t940; + const double t6831 = t6823 * t6830; + const double t6832 = t965 * t72; + const double t6833 = t774 * t947; + const double t6834 = t6832 * t6833; + const double t6837 = t6811 * t6813 / 0.1536e4 - 0.2e1 * t6818 * t6819 + 0.2e1 * t6823 * t6826 - t6831 * t6834 / 0.1536e4; + const double t6841 = t1735 * t1735; + const double t6846 = t207 * t6798; + const double t6849 = t207 * t6802; + const double t6852 = -t198 * t2441 * t6849 + t198 * t6846 * t823; + const double t6853 = piecewise_functor_3( t380, -t198 * t2814 * t330 * t6841 + t198 * t330 * t6837 * t995, t6852 ); + const double t6856 = piecewise_functor_3( t120, t6807, t6853 * t45 / 0.2e1 ); + const double t6862 = t1692 * t6799 * t33 / 0.2e1 - t1692 * t6803 * t33 / 0.2e1; + const double t6863 = piecewise_functor_3( t480, 0.0, t6852 ); + const double t6866 = piecewise_functor_3( t386, t6862, t6863 * t57 / 0.2e1 ); + const double t6867 = t6856 + t6866; + const double t6869 = t5514 * t1688; + const double t6872 = 0.2e1 * t93 * t6760; + const double t6873 = t1165 * t6767; + const double t6874 = 0.2e1 * t6873; + const double t6875 = t6754 + 0.4e1 * t6869 + t6872 + t6874; + const double t6877 = t1757 * t196; + const double t6878 = t6877 * t197; + const double t6879 = t6878 * t1779; + const double t6881 = t937 * t522; + const double t6885 = t1224 * t774 * t537; + const double t6886 = t6771 * t6881 * t234 * t6885; + const double t6888 = t1768 * t1768; + const double t6889 = t1705 * t6888; + const double t6890 = t6889 * t935; + const double t6891 = t1773 * t522; + const double t6894 = t6785 * t532; + const double t6895 = t6894 * t2719; + const double t6896 = t2721 * t3358; + const double t6898 = t6896 * t1219 * t6888; + const double t6901 = t2721 * t1258; + const double t6902 = t6901 * t1219; + const double t6903 = t6895 * t6902; + const double t6904 = t6903 * t529; + const double t6906 = t6886 / 0.1536e4 - 0.2e1 * t6890 * t6891 + 0.2e1 * t6895 * t6898 - t6904 / 0.1536e4; + const double t6907 = t509 * t6906; + const double t6908 = t6907 * t1270; + const double t6909 = t1760 * t6908; + const double t6910 = t1777 * t1777; + const double t6911 = t509 * t6910; + const double t6912 = t6911 * t3185; + const double t6913 = t1760 * t6912; + const double t6914 = -t118 * t6867 - 0.2e1 * t1684 * t1753 - t485 * t6754 + t544 * t6875 - 0.4e1 * t6756 - t6763 - 0.4e1 * t6765 - t6770 + 0.2e1 * t6879 + t6909 - t6913; + const double t6915 = t3 * t6914; + const double t6919 = d * t6914; + const double t6921 = t1784 * t1786; + const double t6923 = t116 * t6760; + const double t6925 = 0.6e1 * t547 * t6923; + const double t6926 = t117 * t6767; + const double t6928 = 0.3e1 * t547 * t6926; + const double t6929 = t548 * t6919 + 0.6e1 * t6921 + t6925 + t6928; + const double t6931 = t6742 * t68; + const double t6932 = t1981 * t6931; + const double t6934 = t6748 * t1677; + const double t6935 = t6933 * t6934; + const double t6938 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t6932 * t6935 ); + const double t6939 = t6938 * t117; + const double t6942 = 0.2e1 * t5801 * t1689; + const double t6946 = t94 * t1688; + const double t6948 = 0.2e1 * t6946 * t1800; + const double t6949 = t1753 * t1799; + const double t6953 = t1830 * t1688; + const double t6955 = 0.2e1 * t626 * t6953; + const double t6957 = t1705 * t1805; + const double t6958 = t6957 * t935; + const double t6961 = t6786 * t5637; + const double t6962 = t2401 * t768; + const double t6963 = t1805 * t1702; + const double t6964 = t6962 * t6963; + const double t6968 = t6777 / 0.768e3 - 0.2e1 * t6958 * t1710 + 0.2e1 * t6961 * t6964 - t6796 / 0.768e3; + const double t6969 = t6968 * t823; + const double t6972 = t30 * t1712; + const double t6977 = t207 * t6968; + const double t6982 = -t1692 * t1712 * t5853 + t198 * t6977 * t823; + const double t6983 = piecewise_functor_3( t380, 0.0, t6982 ); + const double t6986 = piecewise_functor_3( t120, t1692 * t6969 * t30 / 0.2e1 - t1692 * t5853 * t6972 / 0.2e1, t6983 * t45 / 0.2e1 ); + const double t6989 = t33 * t1712; + const double t6994 = piecewise_functor_3( t480, 0.0, t6982 ); + const double t6997 = piecewise_functor_3( t386, t1692 * t6969 * t33 / 0.2e1 - t1692 * t5853 * t6989 / 0.2e1, t6994 * t57 / 0.2e1 ); + const double t6998 = t6986 + t6997; + const double t6999 = t118 * t6998; + const double t7001 = 0.2e1 * t5801 * t1688; + const double t7004 = t93 * t1688; + const double t7006 = 0.2e1 * t7004 * t1799; + const double t7007 = 0.2e1 * t1799 * t5514 + t6874 + t6939 + t7001 + t7006; + const double t7009 = t1834 * t196; + const double t7010 = t7009 * t197; + const double t7011 = t7010 * t1779; + const double t7014 = t1705 * t1838; + const double t7015 = t7014 * t935; + const double t7018 = t6894 * t5637; + const double t7019 = t3358 * t1219; + const double t7020 = t1838 * t1768; + const double t7021 = t7019 * t7020; + const double t7025 = t6886 / 0.768e3 - 0.2e1 * t7015 * t1775 + 0.2e1 * t7018 * t7021 - t6904 / 0.768e3; + const double t7026 = t509 * t7025; + const double t7027 = t7026 * t1270; + const double t7028 = t1760 * t7027; + const double t7029 = t3185 * t1777; + const double t7030 = t1845 * t7029; + const double t7031 = t1760 * t7030; + const double t7032 = -t1684 * t1830 - t1753 * t1796 - 0.2e1 * t1800 * t5514 + t1846 * t6878 - t485 * t6939 + t544 * t7007 - 0.2e1 * t626 * t6949 - t6770 - t6942 - t6948 - t6955 - t6999 + t7011 + t7028 - t7031; + const double t7033 = t3 * t7032; + const double t7037 = d * t7032; + const double t7040 = 0.3e1 * t1851 * t1786; + const double t7043 = t5953 * t1688; + const double t7045 = 0.6e1 * t547 * t7043; + const double t7046 = 0.3e1 * t1784 * t1853 + t548 * t7037 + t6928 + t7040 + t7045; + const double t7048 = t6742 * t1859; + const double t7049 = t1981 * t7048; + const double t7052 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t7049 * t6935 ); + const double t7053 = t7052 * t117; + const double t7055 = t5986 * t1689; + const double t7061 = t1897 * t1688; + const double t7062 = t626 * t7061; + const double t7064 = piecewise_functor_3( t380, 0.0, t6852 ); + const double t7067 = piecewise_functor_3( t120, t6807, t7064 * t45 / 0.2e1 ); + const double t7068 = t7067 + t6866; + const double t7070 = t5986 * t1688; + const double t7073 = t7053 + 0.2e1 * t7070 + 0.2e1 * t6869 + t6872 + t6874; + const double t7075 = t1899 * t196; + const double t7076 = t7075 * t197; + const double t7077 = t7076 * t1779; + const double t7078 = -t118 * t7068 - t1684 * t1897 - t1753 * t1865 - t485 * t7053 + t544 * t7073 - 0.2e1 * t6756 - t6763 - 0.2e1 * t6765 - t6770 + t6879 + t6909 - t6913 - 0.2e1 * t7055 - 0.2e1 * t7062 + t7077; + const double t7079 = t3 * t7078; + const double t7083 = d * t7078; + const double t7085 = t1904 * t1786; + const double t7088 = t548 * t7083 + 0.3e1 * t6921 + t6925 + t6928 + 0.3e1 * t7085; + const double t7091 = 0.1e1 / t65 / t562; + const double t7092 = t7091 * t136; + const double t7093 = t7092 * t6749; + const double t7096 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.36e2 * t6743 * t7093 ); + const double t7097 = t7096 * t117; + const double t7103 = t1799 * t1799; + const double t7104 = t94 * t7103; + const double t7107 = t1830 * t1799; + const double t7111 = t1805 * t1805; + const double t7112 = t1705 * t7111; + const double t7113 = t7112 * t935; + const double t7117 = t6788 * t768 * t7111; + const double t7121 = t6777 / 0.384e3 - 0.2e1 * t7113 * t6782 + 0.2e1 * t6787 * t7117 - t6796 / 0.384e3; + const double t7122 = t7121 * t823; + const double t7125 = t1811 * t1811; + const double t7126 = t7125 * t2441; + const double t7131 = t207 * t7121; + const double t7134 = t207 * t7125; + const double t7137 = -t198 * t2441 * t7134 + t198 * t7131 * t823; + const double t7138 = piecewise_functor_3( t380, 0.0, t7137 ); + const double t7141 = piecewise_functor_3( t120, t1692 * t7122 * t30 / 0.2e1 - t1692 * t7126 * t30 / 0.2e1, t7138 * t45 / 0.2e1 ); + const double t7148 = piecewise_functor_3( t480, 0.0, t7137 ); + const double t7151 = piecewise_functor_3( t386, t1692 * t7122 * t33 / 0.2e1 - t1692 * t7126 * t33 / 0.2e1, t7148 * t57 / 0.2e1 ); + const double t7152 = t7141 + t7151; + const double t7158 = 0.4e1 * t1799 * t5801 + 0.2e1 * t7103 * t93 + t6874 + t7097; + const double t7163 = t1838 * t1838; + const double t7164 = t1705 * t7163; + const double t7165 = t7164 * t935; + const double t7169 = t6896 * t1219 * t7163; + const double t7173 = t6886 / 0.384e3 - 0.2e1 * t7165 * t6891 + 0.2e1 * t6895 * t7169 - t6904 / 0.384e3; + const double t7174 = t509 * t7173; + const double t7175 = t7174 * t1270; + const double t7177 = t1844 * t1844; + const double t7178 = t509 * t7177; + const double t7179 = t7178 * t3185; + const double t7181 = -t118 * t7152 + t1760 * t7175 - t1760 * t7179 - 0.2e1 * t1796 * t1830 - 0.4e1 * t1800 * t5801 + 0.2e1 * t1846 * t7010 - t485 * t7097 - 0.2e1 * t485 * t7104 + t544 * t7158 - 0.4e1 * t626 * t7107 - t6770; + const double t7182 = t3 * t7181; + const double t7186 = d * t7181; + const double t7190 = t116 * t7103; + const double t7193 = 0.6e1 * t1851 * t1853 + 0.6e1 * t547 * t7190 + t548 * t7186 + t6928; + const double t7195 = t6748 * t68; + const double t7196 = t6933 * t7195; + const double t7199 = piecewise_functor_3( t8, 0.0, -0.5e1 / 0.72e2 * t7049 * t7196 ); + const double t7200 = t7199 * t117; + const double t7206 = t1897 * t1799; + const double t7211 = 0.2e1 * t1799 * t5986 + t6874 + t7001 + t7006 + t7200; + const double t7214 = -t1796 * t1897 - 0.2e1 * t1800 * t5986 - t1830 * t1865 + t1846 * t7076 - t485 * t7200 + t544 * t7211 - 0.2e1 * t626 * t7206 - t6770 - t6942 - t6948 - t6955 - t6999 + t7011 + t7028 - t7031; + const double t7215 = t3 * t7214; + const double t7219 = d * t7214; + const double t7223 = 0.3e1 * t1853 * t1904 + t548 * t7219 + t6928 + t7040 + t7045; + const double t7225 = t1859 * t1859; + const double t7226 = t7225 * t136; + const double t7227 = t7226 * t6749; + const double t7230 = piecewise_functor_3( t8, 0.0, 0.5e1 / 0.144e3 * t6743 * t7227 ); + const double t7231 = t7230 * t117; + const double t7237 = t452 * t458; + const double t7239 = t6808 * t7237 * t357; + const double t7241 = t242 * t1112 * t472; + const double t7244 = t1880 * t1880; + const double t7245 = t1705 * t7244; + const double t7246 = t7245 * t935; + const double t7247 = t1885 * t452; + const double t7250 = t6785 * t466; + const double t7251 = t7250 * t2719; + const double t7252 = t2721 * t3117; + const double t7254 = t7252 * t1107 * t7244; + const double t7257 = t2721 * t1138; + const double t7258 = t7257 * t1107; + const double t7259 = t7251 * t7258; + const double t7260 = t1123 * t72; + const double t7261 = t774 * t1112; + const double t7262 = t7260 * t7261; + const double t7265 = t7239 * t7241 / 0.1536e4 - 0.2e1 * t7246 * t7247 + 0.2e1 * t7251 * t7254 - t7259 * t7262 / 0.1536e4; + const double t7269 = t1889 * t1889; + const double t7274 = piecewise_functor_3( t480, t1153 * t198 * t330 * t7265 - t198 * t3154 * t330 * t7269, t6852 ); + const double t7277 = piecewise_functor_3( t386, t6862, t7274 * t57 / 0.2e1 ); + const double t7278 = t7067 + t7277; + const double t7281 = t7231 + 0.4e1 * t7070 + t6872 + t6874; + const double t7284 = -t118 * t7278 - 0.2e1 * t1865 * t1897 - t485 * t7231 + t544 * t7281 - t6763 - t6770 + t6909 - t6913 - 0.4e1 * t7055 - 0.4e1 * t7062 + 0.2e1 * t7077; + const double t7285 = t3 * t7284; + const double t7289 = d * t7284; + const double t7292 = t548 * t7289 + t6925 + t6928 + 0.6e1 * t7085; + const double t7295 = t6946 * t1913; + const double t7296 = t1753 * t1912; + const double t7298 = t5527 * t6566; + const double t7300 = piecewise_functor_3( t115, 0.0, -t7298 / 0.8e1 ); + const double t7301 = t485 * t7300; + const double t7302 = t626 * t7301; + const double t7304 = t7004 * t1915; + const double t7305 = t7300 * t544; + const double t7306 = t1165 * t7305; + const double t7307 = t1912 * t196; + const double t7308 = t1165 * t7307; + const double t7309 = t197 * t509; + const double t7310 = t1777 * t1270; + const double t7311 = t7309 * t7310; + const double t7312 = t7308 * t7311; + const double t7314 = -0.2e1 * t1913 * t5514 + 0.2e1 * t1915 * t5514 - 0.2e1 * t626 * t7296 - 0.2e1 * t7295 - 0.2e1 * t7302 + 0.2e1 * t7304 + 0.2e1 * t7306 + 0.2e1 * t7312; + const double t7315 = t3 * t7314; + const double t7319 = d * t7314; + const double t7322 = 0.3e1 * t1921 * t1786; + const double t7325 = t6602 * t1688; + const double t7327 = 0.6e1 * t547 * t7325; + const double t7328 = t117 * t7300; + const double t7330 = 0.3e1 * t547 * t7328; + const double t7331 = 0.3e1 * t1784 * t1923 + t548 * t7319 + t7322 + t7327 + t7330; + const double t7334 = t6946 * t1933; + const double t7335 = t1753 * t1932; + const double t7337 = t5527 * t6618; + const double t7339 = piecewise_functor_3( t115, 0.0, -t7337 / 0.8e1 ); + const double t7340 = t485 * t7339; + const double t7341 = t626 * t7340; + const double t7343 = t7004 * t1935; + const double t7344 = t7339 * t544; + const double t7345 = t1165 * t7344; + const double t7346 = t1932 * t196; + const double t7347 = t1165 * t7346; + const double t7348 = t7347 * t7311; + const double t7350 = -0.2e1 * t1933 * t5514 + 0.2e1 * t1935 * t5514 - 0.2e1 * t626 * t7335 - 0.2e1 * t7334 - 0.2e1 * t7341 + 0.2e1 * t7343 + 0.2e1 * t7345 + 0.2e1 * t7348; + const double t7351 = t3 * t7350; + const double t7355 = d * t7350; + const double t7358 = 0.3e1 * t1941 * t1786; + const double t7361 = t6649 * t1688; + const double t7363 = 0.6e1 * t547 * t7361; + const double t7364 = t117 * t7339; + const double t7366 = 0.3e1 * t547 * t7364; + const double t7367 = 0.3e1 * t1784 * t1943 + t548 * t7355 + t7358 + t7363 + t7366; + const double t7370 = t94 * t1799; + const double t7372 = t1830 * t1912; + const double t7375 = piecewise_functor_3( t115, 0.0, -t7298 / 0.4e1 ); + const double t7376 = t485 * t7375; + const double t7379 = t93 * t1799; + const double t7381 = t7375 * t544; + const double t7383 = t1844 * t1270; + const double t7384 = t7309 * t7383; + const double t7387 = 0.2e1 * t1165 * t7381 - 0.2e1 * t1913 * t5801 - 0.2e1 * t1913 * t7370 + 0.2e1 * t1915 * t5801 + 0.2e1 * t1915 * t7379 - 0.2e1 * t626 * t7372 - 0.2e1 * t626 * t7376 + 0.2e1 * t7308 * t7384; + const double t7388 = t3 * t7387; + const double t7392 = d * t7387; + const double t7398 = t6602 * t1799; + const double t7401 = t117 * t7375; + const double t7404 = 0.3e1 * t1851 * t1923 + 0.3e1 * t1853 * t1921 + 0.6e1 * t547 * t7398 + 0.3e1 * t547 * t7401 + t548 * t7392; + const double t7408 = t1830 * t1932; + const double t7411 = piecewise_functor_3( t115, 0.0, -t7337 / 0.4e1 ); + const double t7412 = t485 * t7411; + const double t7416 = t7411 * t544; + const double t7420 = 0.2e1 * t1165 * t7416 - 0.2e1 * t1933 * t5801 - 0.2e1 * t1933 * t7370 + 0.2e1 * t1935 * t5801 + 0.2e1 * t1935 * t7379 - 0.2e1 * t626 * t7408 - 0.2e1 * t626 * t7412 + 0.2e1 * t7347 * t7384; + const double t7421 = t3 * t7420; + const double t7425 = d * t7420; + const double t7431 = t6649 * t1799; + const double t7434 = t117 * t7411; + const double t7437 = 0.3e1 * t1851 * t1943 + 0.3e1 * t1853 * t1941 + 0.6e1 * t547 * t7431 + 0.3e1 * t547 * t7434 + t548 * t7425; + const double t7440 = t1897 * t1912; + const double t7444 = -0.2e1 * t1913 * t5986 + 0.2e1 * t1915 * t5986 - 0.2e1 * t626 * t7440 - 0.2e1 * t7295 - 0.2e1 * t7302 + 0.2e1 * t7304 + 0.2e1 * t7306 + 0.2e1 * t7312; + const double t7445 = t3 * t7444; + const double t7449 = d * t7444; + const double t7453 = 0.3e1 * t1904 * t1923 + t548 * t7449 + t7322 + t7327 + t7330; + const double t7456 = t1897 * t1932; + const double t7460 = -0.2e1 * t1933 * t5986 + 0.2e1 * t1935 * t5986 - 0.2e1 * t626 * t7456 - 0.2e1 * t7334 - 0.2e1 * t7341 + 0.2e1 * t7343 + 0.2e1 * t7345 + 0.2e1 * t7348; + const double t7461 = t3 * t7460; + const double t7465 = d * t7460; + const double t7469 = 0.3e1 * t1904 * t1943 + t548 * t7465 + t7358 + t7363 + t7366; + const double t7471 = t1912 * t1912; + const double t7472 = t94 * t7471; + const double t7475 = 0.1e1 / t40 / t586; + const double t7477 = t98 * t98; + const double t7479 = t99 * t7477 * t98; + const double t7480 = t2073 * t7475 * t7479; + const double t7483 = piecewise_functor_3( t115, 0.0, t69 * t7480 / 0.4e1 ); + const double t7484 = t485 * t7483; + const double t7486 = t93 * t7471; + const double t7488 = t7483 * t544; + const double t7491 = 0.2e1 * t1165 * t7488 - 0.2e1 * t485 * t7472 + 0.2e1 * t544 * t7486 - 0.2e1 * t626 * t7484; + const double t7492 = t3 * t7491; + const double t7496 = d * t7491; + const double t7500 = t116 * t7471; + const double t7503 = t117 * t7483; + const double t7506 = 0.6e1 * t1921 * t1923 + 0.6e1 * t547 * t7500 + 0.3e1 * t547 * t7503 + t548 * t7496; + const double t7508 = t94 * t1912; + const double t7510 = t6618 * t6566; + const double t7513 = piecewise_functor_3( t115, 0.0, t6565 * t7510 / 0.4e1 ); + const double t7514 = t485 * t7513; + const double t7516 = t93 * t1912; + const double t7518 = t7513 * t544; + const double t7521 = 0.2e1 * t1165 * t7518 - 0.2e1 * t1933 * t7508 + 0.2e1 * t1935 * t7516 - 0.2e1 * t626 * t7514; + const double t7522 = t3 * t7521; + const double t7526 = d * t7521; + const double t7532 = t6649 * t1912; + const double t7535 = t117 * t7513; + const double t7538 = 0.3e1 * t1921 * t1943 + 0.3e1 * t1923 * t1941 + 0.6e1 * t547 * t7532 + 0.3e1 * t547 * t7535 + t548 * t7526; + const double t7540 = t1932 * t1932; + const double t7541 = t94 * t7540; + const double t7544 = 0.1e1 / t52 / t1297; + const double t7546 = t106 * t106; + const double t7548 = t107 * t7546 * t106; + const double t7549 = t2073 * t7544 * t7548; + const double t7552 = piecewise_functor_3( t115, 0.0, t69 * t7549 / 0.4e1 ); + const double t7553 = t485 * t7552; + const double t7555 = t93 * t7540; + const double t7557 = t7552 * t544; + const double t7560 = 0.2e1 * t1165 * t7557 - 0.2e1 * t485 * t7541 + 0.2e1 * t544 * t7555 - 0.2e1 * t626 * t7553; + const double t7561 = t3 * t7560; + const double t7565 = d * t7560; + const double t7569 = t116 * t7540; + const double t7572 = t117 * t7552; + const double t7575 = 0.6e1 * t1941 * t1943 + 0.6e1 * t547 * t7569 + 0.3e1 * t547 * t7572 + t548 * t7565; + + + vrho_a = t1276 * t550 + t1278 * t1284 + tzk0; + vrho_b = t1278 * t1673 + t1666 * t550 + tzk0; + vsigma_aa = t1278 * t1789 + t1782 * t550; + vsigma_ab = t1278 * t1856 + t1849 * t550; + vsigma_bb = t1278 * t1906 + t1902 * t550; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t1278 * t1926 + t1919 * t550; + vtau_b = t1278 * t1946 + t1939 * t550; + v2rho2_aa = 0.2e1 * t1276 * t1284 + t1278 * t3413 + t3399 * t550 + 0.2e1 * t1948 + 0.2e1 * t1950; + v2rho2_ab = t1276 * t1673 + t1278 * t4562 + t1284 * t1666 + t4544 * t550 + t1948 + t1950 + t3415 + t4547; + v2rho2_bb = t1278 * t5480 + 0.2e1 * t1666 * t1673 + t5466 * t550 + 0.2e1 * t3415 + 0.2e1 * t4547; + v2rhosigma_a_aa = t1276 * t1789 + t1278 * t5779 + t1284 * t1782 + t550 * t5761 + t5482 + t5764; + v2rhosigma_a_ab = t1276 * t1856 + t1278 * t5960 + t1284 * t1849 + t550 * t5942 + t5781 + t5945; + v2rhosigma_a_bb = t1276 * t1906 + t1278 * t6071 + t1284 * t1902 + t550 * t6062 + t5962 + t6065; + v2rhosigma_b_aa = t1278 * t6296 + t1666 * t1789 + t1673 * t1782 + t550 * t6280 + t5482 + t5764; + v2rhosigma_b_ab = t1278 * t6458 + t1666 * t1856 + t1673 * t1849 + t550 * t6442 + t5781 + t5945; + v2rhosigma_b_bb = t1278 * t6556 + t1666 * t1906 + t1673 * t1902 + t550 * t6548 + t5962 + t6065; + v2rholapl_a_a = 0.e0; + v2rholapl_a_b = 0.e0; + v2rholapl_b_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t1276 * t1926 + t1278 * t6609 + t1284 * t1919 + t550 * t6591 + t6558 + t6594; + v2rhotau_a_b = t1276 * t1946 + t1278 * t6656 + t1284 * t1939 + t550 * t6638 + t6611 + t6641; + v2rhotau_b_a = t1278 * t6696 + t1666 * t1926 + t1673 * t1919 + t550 * t6680 + t6558 + t6594; + v2rhotau_b_b = t1278 * t6740 + t1666 * t1946 + t1673 * t1939 + t550 * t6724 + t6611 + t6641; + v2sigma2_aa_aa = t1278 * t6929 + 0.2e1 * t1782 * t1789 + t550 * t6915; + v2sigma2_aa_ab = t1278 * t7046 + t1782 * t1856 + t1789 * t1849 + t550 * t7033; + v2sigma2_aa_bb = t1278 * t7088 + t1782 * t1906 + t1789 * t1902 + t550 * t7079; + v2sigma2_ab_ab = t1278 * t7193 + 0.2e1 * t1849 * t1856 + t550 * t7182; + v2sigma2_ab_bb = t1278 * t7223 + t1849 * t1906 + t1856 * t1902 + t550 * t7215; + v2sigma2_bb_bb = t1278 * t7292 + 0.2e1 * t1902 * t1906 + t550 * t7285; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_aa_b = 0.e0; + v2sigmalapl_ab_a = 0.e0; + v2sigmalapl_ab_b = 0.e0; + v2sigmalapl_bb_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t1278 * t7331 + t1782 * t1926 + t1789 * t1919 + t550 * t7315; + v2sigmatau_aa_b = t1278 * t7367 + t1782 * t1946 + t1789 * t1939 + t550 * t7351; + v2sigmatau_ab_a = t1278 * t7404 + t1849 * t1926 + t1856 * t1919 + t550 * t7388; + v2sigmatau_ab_b = t1278 * t7437 + t1849 * t1946 + t1856 * t1939 + t550 * t7421; + v2sigmatau_bb_a = t1278 * t7453 + t1902 * t1926 + t1906 * t1919 + t550 * t7445; + v2sigmatau_bb_b = t1278 * t7469 + t1902 * t1946 + t1906 * t1939 + t550 * t7461; + v2lapl2_aa = 0.e0; + v2lapl2_ab = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_a_b = 0.e0; + v2lapltau_b_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t1278 * t7506 + 0.2e1 * t1919 * t1926 + t550 * t7492; + v2tau2_ab = t1278 * t7538 + t1919 * t1946 + t1926 * t1939 + t550 * t7522; + v2tau2_bb = t1278 * t7575 + 0.2e1 * t1939 * t1946 + t550 * t7561; + + } + + +}; + +struct BuiltinTPSS_C : detail::BuiltinKernelImpl< BuiltinTPSS_C > { + + BuiltinTPSS_C( Spin p ) : + detail::BuiltinKernelImpl< BuiltinTPSS_C >(p) { } + + virtual ~BuiltinTPSS_C() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/tpss_x.hpp b/include/exchcxx/impl/builtin/kernels/tpss_x.hpp new file mode 100644 index 0000000..a3c49ca --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/tpss_x.hpp @@ -0,0 +1,3530 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinTPSS_X > : + public mgga_screening_interface< BuiltinTPSS_X > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = true; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double b = 0.40; + static constexpr double c = 1.59096; + static constexpr double e = 1.537; + static constexpr double kappa = 0.804; + static constexpr double mu = 0.21951; + static constexpr double BLOC_a = 2.0; + static constexpr double BLOC_b = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t142 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t138 ); + + + eps = 0.2e1 * t142; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& eps, double& vrho, double& vsigma, double& vlapl, double& vtau ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + constexpr double t149 = kappa * kappa; + constexpr double t268 = t51 * t54; + constexpr double t276 = b * t54; + constexpr double t281 = t90 * t54; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t142 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t138 ); + const double t143 = 0.1e1 / t56; + const double t144 = t18 * t143; + const double t148 = t7 * t18; + const double t150 = t19 * t149; + const double t151 = t133 * t133; + const double t152 = 0.1e1 / t151; + const double t153 = t35 * t23; + const double t154 = safe_math::log( t25 ); + const double t159 = -t26 * t153 * t154 / 0.8e1 - t30 * t21; + const double t160 = t159 * t43; + const double t163 = 0.1e1 / t42 / t41; + const double t164 = t32 * t163; + const double t165 = t34 * rho; + const double t166 = 0.1e1 / t165; + const double t167 = t33 * t166; + const double t168 = t167 * t38; + const double t172 = ( t32 * t160 + t164 * t168 / 0.16e2 ) * t46; + const double t173 = t172 * t51; + const double t177 = 0.1e1 / t56 / t165; + const double t178 = t55 * t177; + const double t184 = -0.5e1 / 0.3e1 * t62 * t58 + t178 / 0.3e1; + const double t185 = t184 * t46; + const double t186 = t51 * t79; + const double t190 = 0.1e1 / t78 / t77; + const double t191 = t71 * t190; + const double t195 = t91 * t184; + const double t198 = 0.5e1 * b * t184 * t74 + 0.25e2 / 0.9e1 * t72 * t195; + const double t203 = 0.3e1 / 0.4e1 * t185 * t186 - 0.27e2 / 0.4e2 * t191 * t198 - 0.2e1 / 0.27e2 * t73 * t178; + const double t208 = 0.1e1 / t101; + const double t209 = t84 * t208; + const double t211 = t93 * t34; + const double t213 = 0.1e1 / t19 / t211; + const double t214 = t92 * t213; + const double t217 = -0.324e3 * t168 - 0.16e4 / 0.3e1 * t91 * t214; + const double t222 = t166 * t38; + const double t225 = t119 * rho; + const double t226 = 0.1e1 / t225; + const double t230 = t173 * t59 / 0.24e2 - t52 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t84 * t203 - 0.73e2 / 0.972e5 * t203 * t101 - 0.73e2 / 0.1944e6 * t209 * t217 - 0.5e2 / 0.177147e6 * t106 * t214 - t110 * t222 / 0.36e3 - t114 * t118 * t226 / 0.72e2; + const double t232 = t130 * t129; + const double t233 = 0.1e1 / t232; + const double t234 = t124 * t233; + const double t235 = t234 * t125; + const double t236 = t51 * sigma; + const double t237 = t54 * t177; + const double t238 = t236 * t237; + const double t241 = t230 * t131 + 0.2e1 / 0.9e1 * t235 * t238; + const double t242 = t152 * t241; + const double t247 = piecewise_functor_3( t3, 0.0, -t7 * t144 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t148 * t150 * t242 ); + const double t250 = BLOC_b * t21; + const double t251 = t23 * t154; + const double t254 = 0.1e1 / sigma; + const double t256 = t250 * t251 / 0.8e1 + t30 * t254; + const double t257 = t256 * t43; + const double t258 = t32 * t257; + const double t259 = sigma * t35; + const double t260 = t259 * t38; + const double t264 = ( t258 - t164 * t260 / 0.16e2 ) * t46; + const double t265 = t264 * t51; + const double t269 = t268 * t58; + const double t272 = t54 * t58; + const double t273 = t73 * t79; + const double t274 = t272 * t273; + const double t277 = t276 * t58; + const double t278 = t277 * t74; + const double t280 = t72 * t88; + const double t283 = t280 * t281 * t58; + const double t285 = -0.5e1 / 0.8e1 * t278 - 0.25e2 / 0.72e2 * t283; + const double t288 = t272 * t73; + const double t290 = -0.3e1 / 0.32e2 * t274 - 0.27e2 / 0.4e2 * t191 * t285 + t288 / 0.36e2; + const double t296 = sigma * t53; + const double t297 = t296 * t96; + const double t300 = 0.2e3 * t91 * t297 + 0.324e3 * t260; + const double t305 = t109 * sigma; + const double t308 = t116 * t33; + const double t312 = t265 * t59 / 0.24e2 + t47 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t290 - 0.73e2 / 0.972e5 * t290 * t101 - 0.73e2 / 0.1944e6 * t209 * t300 + 0.25e2 / 0.236196e6 * t106 * t297 + t305 * t111 / 0.36e3 + t114 * t308 * t120 / 0.192e3; + const double t314 = t234 * t109; + const double t317 = t312 * t131 - t314 * t288 / 0.12e2; + const double t318 = t152 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t148 * t150 * t318 ); + const double t324 = t7 * t20; + const double t325 = t149 * t152; + const double t326 = t21 * t38; + const double t331 = -t26 * t326 * t154 / 0.8e1 - t30 * t23; + const double t332 = t331 * t43; + const double t333 = t32 * t332; + const double t334 = t37 * tau; + const double t335 = 0.1e1 / t334; + const double t336 = t36 * t335; + const double t340 = ( t333 + t164 * t336 / 0.16e2 ) * t46; + const double t341 = t340 * t51; + const double t344 = t54 * t64; + const double t347 = t276 * t64; + const double t353 = 0.5e1 * t347 * t74 + 0.25e2 / 0.9e1 * t280 * t281 * t64; + const double t356 = 0.3e1 / 0.4e1 * t344 * t273 - 0.27e2 / 0.4e2 * t191 * t353; + const double t363 = t35 * t335; + const double t366 = t341 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t356 - 0.73e2 / 0.972e5 * t356 * t101 + 0.73e2 / 0.6e3 * t209 * t336 - t110 * t363 / 0.36e3; + const double t367 = t366 * t131; + const double t368 = t325 * t367; + const double t371 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t324 * t368 ); + + + eps = 0.2e1 * t142; + vrho = 0.2e1 * rho * t247 + 0.2e1 * t142; + vsigma = 0.2e1 * rho * t322; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t371; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + constexpr double t149 = kappa * kappa; + constexpr double t268 = t51 * t54; + constexpr double t276 = b * t54; + constexpr double t281 = t90 * t54; + constexpr double t513 = e * t88; + constexpr double t642 = t90 * t53; + constexpr double t915 = t73 * t54; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t143 = 0.1e1 / t56; + const double t144 = t18 * t143; + const double t148 = t7 * t18; + const double t150 = t19 * t149; + const double t151 = t133 * t133; + const double t152 = 0.1e1 / t151; + const double t153 = t35 * t23; + const double t154 = safe_math::log( t25 ); + const double t159 = -t26 * t153 * t154 / 0.8e1 - t30 * t21; + const double t160 = t159 * t43; + const double t163 = 0.1e1 / t42 / t41; + const double t164 = t32 * t163; + const double t165 = t34 * rho; + const double t166 = 0.1e1 / t165; + const double t167 = t33 * t166; + const double t168 = t167 * t38; + const double t172 = ( t32 * t160 + t164 * t168 / 0.16e2 ) * t46; + const double t173 = t172 * t51; + const double t177 = 0.1e1 / t56 / t165; + const double t178 = t55 * t177; + const double t184 = -0.5e1 / 0.3e1 * t62 * t58 + t178 / 0.3e1; + const double t185 = t184 * t46; + const double t186 = t51 * t79; + const double t190 = 0.1e1 / t78 / t77; + const double t191 = t71 * t190; + const double t195 = t91 * t184; + const double t198 = 0.5e1 * b * t184 * t74 + 0.25e2 / 0.9e1 * t72 * t195; + const double t203 = 0.3e1 / 0.4e1 * t185 * t186 - 0.27e2 / 0.4e2 * t191 * t198 - 0.2e1 / 0.27e2 * t73 * t178; + const double t208 = 0.1e1 / t101; + const double t209 = t84 * t208; + const double t211 = t93 * t34; + const double t213 = 0.1e1 / t19 / t211; + const double t214 = t92 * t213; + const double t217 = -0.324e3 * t168 - 0.16e4 / 0.3e1 * t91 * t214; + const double t222 = t166 * t38; + const double t225 = t119 * rho; + const double t226 = 0.1e1 / t225; + const double t230 = t173 * t59 / 0.24e2 - t52 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t84 * t203 - 0.73e2 / 0.972e5 * t203 * t101 - 0.73e2 / 0.1944e6 * t209 * t217 - 0.5e2 / 0.177147e6 * t106 * t214 - t110 * t222 / 0.36e3 - t114 * t118 * t226 / 0.72e2; + const double t232 = t130 * t129; + const double t233 = 0.1e1 / t232; + const double t234 = t124 * t233; + const double t235 = t234 * t125; + const double t236 = t51 * sigma; + const double t237 = t54 * t177; + const double t238 = t236 * t237; + const double t241 = t230 * t131 + 0.2e1 / 0.9e1 * t235 * t238; + const double t242 = t152 * t241; + const double t247 = piecewise_functor_3( t3, 0.0, -t7 * t144 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t148 * t150 * t242 ); + const double t250 = BLOC_b * t21; + const double t251 = t23 * t154; + const double t254 = 0.1e1 / sigma; + const double t256 = t250 * t251 / 0.8e1 + t30 * t254; + const double t257 = t256 * t43; + const double t258 = t32 * t257; + const double t259 = sigma * t35; + const double t260 = t259 * t38; + const double t264 = ( t258 - t164 * t260 / 0.16e2 ) * t46; + const double t265 = t264 * t51; + const double t269 = t268 * t58; + const double t272 = t54 * t58; + const double t273 = t73 * t79; + const double t274 = t272 * t273; + const double t277 = t276 * t58; + const double t278 = t277 * t74; + const double t280 = t72 * t88; + const double t283 = t280 * t281 * t58; + const double t285 = -0.5e1 / 0.8e1 * t278 - 0.25e2 / 0.72e2 * t283; + const double t288 = t272 * t73; + const double t290 = -0.3e1 / 0.32e2 * t274 - 0.27e2 / 0.4e2 * t191 * t285 + t288 / 0.36e2; + const double t296 = sigma * t53; + const double t297 = t296 * t96; + const double t300 = 0.2e3 * t91 * t297 + 0.324e3 * t260; + const double t305 = t109 * sigma; + const double t308 = t116 * t33; + const double t312 = t265 * t59 / 0.24e2 + t47 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t290 - 0.73e2 / 0.972e5 * t290 * t101 - 0.73e2 / 0.1944e6 * t209 * t300 + 0.25e2 / 0.236196e6 * t106 * t297 + t305 * t111 / 0.36e3 + t114 * t308 * t120 / 0.192e3; + const double t314 = t234 * t109; + const double t317 = t312 * t131 - t314 * t288 / 0.12e2; + const double t318 = t152 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t148 * t150 * t318 ); + const double t324 = t7 * t20; + const double t325 = t149 * t152; + const double t326 = t21 * t38; + const double t331 = -t26 * t326 * t154 / 0.8e1 - t30 * t23; + const double t332 = t331 * t43; + const double t333 = t32 * t332; + const double t334 = t37 * tau; + const double t335 = 0.1e1 / t334; + const double t336 = t36 * t335; + const double t340 = ( t333 + t164 * t336 / 0.16e2 ) * t46; + const double t341 = t340 * t51; + const double t344 = t54 * t64; + const double t347 = t276 * t64; + const double t353 = 0.5e1 * t347 * t74 + 0.25e2 / 0.9e1 * t280 * t281 * t64; + const double t356 = 0.3e1 / 0.4e1 * t344 * t273 - 0.27e2 / 0.4e2 * t191 * t353; + const double t363 = t35 * t335; + const double t366 = t341 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t356 - 0.73e2 / 0.972e5 * t356 * t101 + 0.73e2 / 0.6e3 * t209 * t336 - t110 * t363 / 0.36e3; + const double t367 = t366 * t131; + const double t368 = t325 * t367; + const double t371 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t324 * t368 ); + const double t374 = t18 * t64; + const double t378 = t143 * t149; + const double t383 = 0.1e1 / t151 / t133; + const double t384 = t241 * t241; + const double t385 = t383 * t384; + const double t389 = t159 * t159; + const double t390 = t389 * t43; + const double t392 = t166 * t23; + const double t399 = t26 * t392 * t154 / 0.4e1 + t26 * t392 / 0.4e1 + t30 * t35; + const double t402 = t32 * t159; + const double t403 = t163 * t33; + const double t404 = t403 * t222; + const double t407 = t42 * t42; + const double t408 = 0.1e1 / t407; + const double t409 = t32 * t408; + const double t410 = t33 * t33; + const double t411 = 0.1e1 / t211; + const double t412 = t410 * t411; + const double t413 = t37 * t37; + const double t414 = 0.1e1 / t413; + const double t418 = 0.1e1 / t93; + const double t419 = t33 * t418; + const double t420 = t419 * t38; + const double t424 = ( t32 * t390 + t32 * t399 * t43 + t402 * t404 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t412 * t414 - 0.3e1 / 0.16e2 * t164 * t420 ) * t46; + const double t425 = t424 * t51; + const double t431 = 0.1e1 / t56 / t93; + const double t432 = t55 * t431; + const double t435 = t203 * t203; + const double t440 = 0.4e2 / 0.9e1 * t62 * t177 - 0.11e2 / 0.9e1 * t432; + const double t441 = t440 * t46; + const double t444 = t51 * t190; + const double t445 = t444 * t198; + const double t448 = t77 * t77; + const double t450 = 0.1e1 / t78 / t448; + const double t451 = t71 * t450; + const double t452 = t198 * t198; + const double t455 = b * t440; + const double t458 = t184 * t184; + const double t462 = t91 * t440; + const double t465 = 0.5e1 * t455 * t74 + 0.5e2 / 0.9e1 * b * t458 * t91 + 0.25e2 / 0.9e1 * t72 * t462; + const double t470 = 0.3e1 / 0.4e1 * t441 * t186 - 0.3e1 / 0.4e1 * t185 * t445 + 0.81e2 / 0.8e2 * t451 * t452 - 0.27e2 / 0.4e2 * t191 * t465 + 0.22e2 / 0.81e2 * t73 * t432; + const double t475 = t203 * t208; + const double t479 = 0.1e1 / t101 / t100; + const double t480 = t84 * t479; + const double t481 = t217 * t217; + const double t485 = t93 * t165; + const double t487 = 0.1e1 / t19 / t485; + const double t488 = t92 * t487; + const double t491 = 0.972e3 * t420 + 0.304e5 / 0.9e1 * t91 * t488; + const double t496 = t418 * t38; + const double t499 = t119 * t34; + const double t500 = 0.1e1 / t499; + const double t504 = t425 * t59 / 0.24e2 - 0.2e1 / 0.9e1 * t173 * t178 + 0.11e2 / 0.27e2 * t52 * t432 + 0.292e3 / 0.2025e4 * t435 + 0.292e3 / 0.2025e4 * t84 * t470 - 0.73e2 / 0.972e5 * t470 * t101 - 0.73e2 / 0.972e5 * t475 * t217 + 0.73e2 / 0.3888e6 * t480 * t481 - 0.73e2 / 0.1944e6 * t209 * t491 + 0.95e3 / 0.531441e6 * t106 * t488 + t110 * t496 / 0.12e3 + t114 * t118 * t500 / 0.8e1; + const double t506 = t230 * t233; + const double t507 = t506 * t125; + const double t510 = t130 * t130; + const double t511 = 0.1e1 / t510; + const double t512 = t124 * t511; + const double t514 = t512 * t513; + const double t515 = t90 * t33; + const double t516 = t53 * t487; + const double t517 = t515 * t516; + const double t520 = t54 * t431; + const double t521 = t236 * t520; + const double t524 = t504 * t131 + 0.4e1 / 0.9e1 * t507 * t238 + 0.4e1 / 0.27e2 * t514 * t517 - 0.22e2 / 0.27e2 * t235 * t521; + const double t525 = t152 * t524; + const double t530 = piecewise_functor_3( t3, 0.0, t7 * t374 * t138 / 0.12e2 - t148 * t378 * t242 / 0.4e1 + 0.3e1 / 0.4e1 * t148 * t150 * t385 - 0.3e1 / 0.8e1 * t148 * t150 * t525 ); + const double t536 = t149 * t383; + const double t537 = t317 * t241; + const double t538 = t536 * t537; + const double t541 = t159 * t256; + const double t544 = BLOC_b * t35; + const double t549 = -t544 * t251 / 0.8e1 - t544 * t23 / 0.4e1; + const double t550 = t549 * t43; + const double t552 = t32 * t256; + const double t555 = t163 * sigma; + const double t556 = t555 * t111; + const double t559 = 0.1e1 / t94; + const double t560 = t117 * t559; + const double t564 = sigma * t166; + const double t565 = t564 * t38; + const double t569 = ( t32 * t541 * t43 + t32 * t550 + t552 * t404 / 0.16e2 - t402 * t556 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t560 * t414 + t164 * t565 / 0.8e1 ) * t46; + const double t570 = t569 * t51; + const double t577 = t268 * t177; + const double t582 = t237 * t273; + const double t584 = t272 * t46; + const double t585 = t584 * t445; + const double t587 = t444 * t285; + const double t590 = t285 * t198; + const double t593 = t276 * t177; + const double t594 = t593 * t74; + const double t596 = t277 * t195; + const double t599 = t280 * t281 * t177; + const double t601 = 0.5e1 / 0.3e1 * t594 - 0.25e2 / 0.36e2 * t596 + 0.25e2 / 0.27e2 * t599; + const double t604 = t237 * t73; + const double t606 = t582 / 0.4e1 + 0.3e1 / 0.64e2 * t585 - 0.3e1 / 0.8e1 * t185 * t587 + 0.81e2 / 0.8e2 * t451 * t590 - 0.27e2 / 0.4e2 * t191 * t601 - 0.2e1 / 0.27e2 * t604; + const double t611 = t290 * t208; + const double t616 = t300 * t217; + const double t620 = t296 * t213; + const double t623 = -0.648e3 * t565 - 0.32e4 / 0.3e1 * t91 * t620; + const double t633 = t570 * t59 / 0.24e2 - t265 * t178 / 0.9e1 + t172 * t269 / 0.24e2 - t47 * t577 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t290 + 0.292e3 / 0.2025e4 * t84 * t606 - 0.73e2 / 0.972e5 * t606 * t101 - 0.73e2 / 0.1944e6 * t611 * t217 - 0.73e2 / 0.1944e6 * t475 * t300 + 0.73e2 / 0.3888e6 * t480 * t616 - 0.73e2 / 0.1944e6 * t209 * t623 - 0.1e3 / 0.177147e6 * t106 * t620 - t305 * t222 / 0.18e3 - t114 * t308 * t226 / 0.24e2; + const double t635 = t312 * t233; + const double t636 = t635 * t125; + const double t639 = t506 * t109; + const double t644 = t642 * t213 * sigma; + const double t649 = t633 * t131 + 0.2e1 / 0.9e1 * t636 * t238 - t639 * t288 / 0.12e2 - t514 * t644 / 0.18e2 + 0.2e1 / 0.9e1 * t314 * t604; + const double t650 = t152 * t649; + const double t655 = piecewise_functor_3( t3, 0.0, -t148 * t378 * t318 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t538 - 0.3e1 / 0.8e1 * t148 * t150 * t650 ); + const double t658 = t7 * t144; + const double t662 = t536 * t367 * t241; + const double t665 = t159 * t331; + const double t673 = t26 * t111 * t154 / 0.8e1 + t26 * t111 / 0.4e1; + const double t674 = t673 * t43; + const double t676 = t32 * t331; + const double t679 = t403 * t363; + const double t682 = t410 * t559; + const double t684 = 0.1e1 / t413 / tau; + const double t688 = t167 * t335; + const double t692 = ( t32 * t665 * t43 + t32 * t674 + t676 * t404 / 0.16e2 + t402 * t679 / 0.16e2 + 0.3e1 / 0.512e3 * t409 * t682 * t684 - t164 * t688 / 0.8e1 ) * t46; + const double t693 = t692 * t51; + const double t701 = t344 * t46; + const double t704 = t444 * t353; + const double t707 = t353 * t198; + const double t714 = -0.25e2 / 0.3e1 * t278 + 0.5e2 / 0.9e1 * t347 * t195 - 0.125e3 / 0.27e2 * t283; + const double t717 = -0.5e1 / 0.4e1 * t274 - 0.3e1 / 0.8e1 * t701 * t445 - 0.3e1 / 0.8e1 * t185 * t704 + 0.81e2 / 0.8e2 * t451 * t707 - 0.27e2 / 0.4e2 * t191 * t714; + const double t722 = t356 * t208; + const double t727 = t480 * t33; + const double t728 = t363 * t217; + const double t733 = t166 * t335; + const double t736 = t693 * t59 / 0.24e2 - t341 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t356 + 0.292e3 / 0.2025e4 * t84 * t717 - 0.73e2 / 0.972e5 * t717 * t101 - 0.73e2 / 0.1944e6 * t722 * t217 + 0.73e2 / 0.6e3 * t475 * t336 - 0.73e2 / 0.12e4 * t727 * t728 - 0.73e2 / 0.3e3 * t209 * t688 + t110 * t733 / 0.18e3; + const double t737 = t736 * t131; + const double t738 = t325 * t737; + const double t742 = 0.1e1 / t19 / t165; + const double t743 = t742 * t149; + const double t745 = t148 * t743 * t152; + const double t746 = t366 * t233; + const double t747 = t746 * t109; + const double t748 = t73 * t55; + const double t749 = t747 * t748; + const double t753 = piecewise_functor_3( t3, 0.0, -t658 * t368 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t662 - 0.3e1 / 0.8e1 * t324 * t738 - t745 * t749 / 0.12e2 ); + const double t756 = t317 * t317; + const double t757 = t383 * t756; + const double t761 = t256 * t256; + const double t762 = t761 * t43; + const double t767 = 0.1e1 / t33; + const double t769 = t250 * t23 * t254 / 0.4e1 - t30 * t767; + const double t774 = t419 * t414; + const double t777 = t163 * t35; + const double t778 = t777 * t38; + const double t782 = ( t32 * t762 + t32 * t769 * t43 - t552 * t556 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t774 - t32 * t778 / 0.16e2 ) * t46; + const double t783 = t782 * t51; + const double t788 = t290 * t290; + const double t790 = t584 * t587; + const double t792 = t285 * t285; + const double t795 = t191 * b; + const double t796 = t53 * t96; + const double t797 = t91 * t796; + const double t798 = t795 * t797; + const double t800 = 0.3e1 / 0.32e2 * t790 + 0.81e2 / 0.8e2 * t451 * t792 - 0.15e2 / 0.128e3 * t798; + const double t807 = t300 * t300; + const double t812 = 0.324e3 * t111 + 0.2e3 * t797; + const double t818 = t109 * t35; + const double t821 = t116 * sigma; + const double t825 = t783 * t59 / 0.24e2 + t264 * t269 / 0.12e2 + 0.292e3 / 0.2025e4 * t788 + 0.292e3 / 0.2025e4 * t84 * t800 - 0.73e2 / 0.972e5 * t800 * t101 - 0.73e2 / 0.972e5 * t611 * t300 + 0.73e2 / 0.3888e6 * t480 * t807 - 0.73e2 / 0.1944e6 * t209 * t812 + 0.25e2 / 0.236196e6 * t105 * t642 * t96 + t818 * t38 / 0.36e3 + t114 * t821 * t120 / 0.96e2; + const double t827 = t635 * t109; + const double t830 = t512 * e; + const double t833 = t825 * t131 - t827 * t288 / 0.6e1 + t830 * t797 / 0.48e2; + const double t834 = t152 * t833; + const double t839 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t148 * t150 * t757 - 0.3e1 / 0.8e1 * t148 * t150 * t834 ); + const double t842 = t536 * t367 * t317; + const double t845 = t256 * t331; + const double t846 = t845 * t43; + const double t848 = t38 * t154; + const double t853 = -t250 * t848 / 0.8e1 - t250 * t38 / 0.4e1; + const double t854 = t853 * t43; + const double t860 = t117 * t418; + const double t864 = t259 * t335; + const double t868 = ( t32 * t846 + t32 * t854 - t676 * t556 / 0.16e2 + t552 * t679 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t860 * t684 + t164 * t864 / 0.8e1 ) * t46; + const double t869 = t868 * t51; + const double t878 = t584 * t704; + const double t880 = t353 * t285; + const double t884 = 0.1e1 / t19 / t93; + const double t885 = t53 * t884; + const double t886 = t885 * t91; + const double t887 = t795 * t886; + const double t889 = -0.3e1 / 0.8e1 * t701 * t587 + 0.3e1 / 0.64e2 * t878 + 0.81e2 / 0.8e2 * t451 * t880 + 0.15e2 / 0.16e2 * t887; + const double t898 = t363 * t300; + const double t905 = t869 * t59 / 0.24e2 + t340 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t290 * t356 + 0.292e3 / 0.2025e4 * t84 * t889 - 0.73e2 / 0.972e5 * t889 * t101 - 0.73e2 / 0.1944e6 * t722 * t300 + 0.73e2 / 0.6e3 * t611 * t336 - 0.73e2 / 0.12e4 * t727 * t898 + 0.73e2 / 0.3e3 * t209 * t864 - t305 * t363 / 0.18e3; + const double t906 = t905 * t131; + const double t907 = t325 * t906; + const double t912 = 0.1e1 / t19 / t34 * t149; + const double t914 = t148 * t912 * t152; + const double t916 = t747 * t915; + const double t920 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t842 - 0.3e1 / 0.8e1 * t324 * t907 + t914 * t916 / 0.32e2 ); + const double t922 = t366 * t366; + const double t923 = t922 * t511; + const double t924 = t536 * t923; + const double t927 = t331 * t331; + const double t928 = t927 * t43; + const double t930 = t21 * t335; + const double t937 = t26 * t930 * t154 / 0.4e1 + t26 * t930 / 0.4e1 + t30 * t38; + const double t942 = t410 * t418; + const double t944 = 0.1e1 / t413 / t37; + const double t945 = t942 * t944; + const double t948 = t36 * t414; + const double t952 = ( t32 * t928 + t32 * t937 * t43 + t676 * t679 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t945 - 0.3e1 / 0.16e2 * t164 * t948 ) * t46; + const double t953 = t952 * t51; + const double t956 = t356 * t356; + const double t960 = t353 * t353; + const double t963 = t53 * t742; + const double t964 = t963 * t91; + const double t967 = -0.3e1 / 0.4e1 * t701 * t704 + 0.81e2 / 0.8e2 * t451 * t960 - 0.15e2 / 0.2e1 * t795 * t964; + const double t978 = t35 * t414; + const double t981 = t953 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t956 + 0.292e3 / 0.2025e4 * t84 * t967 - 0.73e2 / 0.972e5 * t967 * t101 + 0.73e2 / 0.3e3 * t722 * t336 + 0.1971e4 / 0.1e3 * t480 * t945 - 0.73e2 / 0.2e3 * t209 * t948 + t110 * t978 / 0.12e3; + const double t982 = t981 * t131; + const double t983 = t325 * t982; + const double t987 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t924 - 0.3e1 / 0.8e1 * t324 * t983 ); + + + v2rho2 = 0.2e1 * rho * t530 + 0.4e1 * t247; + v2rhosigma = 0.2e1 * rho * t655 + 0.2e1 * t322; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t753 + 0.2e1 * t371; + v2sigma2 = 0.2e1 * rho * t839; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t920; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t987; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double lapl, double tau, double& vrho, double& vsigma, double& vlapl, double& vtau, double& v2rho2, double& v2rhosigma, double& v2rholapl, double& v2rhotau, double& v2sigma2, double& v2sigmalapl, double& v2sigmatau, double& v2lapl2, double& v2lapltau, double& v2tau2 ) { + + (void)(lapl); + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t46 = constants::m_cbrt_6; + constexpr double t48 = constants::m_pi_sq; + constexpr double t49 = constants::m_cbrt_pi_sq; + constexpr double t53 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t50 = t49 * t49; + constexpr double t51 = 0.1e1 / t50; + constexpr double t54 = t53 * t53; + constexpr double t73 = t46 * t51; + constexpr double t88 = t46 * t46; + constexpr double t90 = 0.1e1 / t49 / t48; + constexpr double t91 = t88 * t90; + constexpr double t105 = 0.1e1 / kappa * t88; + constexpr double t106 = t105 * t90; + constexpr double t114 = e * mu; + constexpr double t115 = t48 * t48; + constexpr double t116 = 0.1e1 / t115; + constexpr double t149 = kappa * kappa; + constexpr double t268 = t51 * t54; + constexpr double t276 = b * t54; + constexpr double t281 = t90 * t54; + constexpr double t513 = e * t88; + constexpr double t642 = t90 * t53; + constexpr double t915 = t73 * t54; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t11 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t12 = 0.1e1 + t11; + const double t14 = safe_math::cbrt( zeta_tol ); + const double t16 = safe_math::cbrt( t12 ); + const double t18 = piecewise_functor_3( t12 <= zeta_tol, t14 * zeta_tol, t16 * t12 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = 0.1e1 / rho; + const double t23 = 0.1e1 / tau; + const double t25 = sigma * t21 * t23 / 0.8e1; + const double t26 = BLOC_b * sigma; + const double t30 = BLOC_a + t26 * t21 * t23 / 0.8e1; + const double t31 = safe_math::pow( t25, t30 ); + const double t32 = c * t31; + const double t33 = sigma * sigma; + const double t34 = rho * rho; + const double t35 = 0.1e1 / t34; + const double t36 = t33 * t35; + const double t37 = tau * tau; + const double t38 = 0.1e1 / t37; + const double t39 = t36 * t38; + const double t41 = 0.1e1 + t39 / 0.64e2; + const double t42 = t41 * t41; + const double t43 = 0.1e1 / t42; + const double t47 = ( 0.1e2 / 0.81e2 + t32 * t43 ) * t46; + const double t52 = t47 * t51; + const double t55 = sigma * t54; + const double t56 = t19 * t19; + const double t58 = 0.1e1 / t56 / t34; + const double t59 = t55 * t58; + const double t62 = tau * t54; + const double t64 = 0.1e1 / t56 / rho; + const double t67 = t62 * t64 - t59 / 0.8e1; + const double t71 = 0.5e1 / 0.9e1 * t67 * t46 * t51 - 0.1e1; + const double t72 = b * t67; + const double t74 = t73 * t71; + const double t77 = 0.5e1 * t72 * t74 + 0.9e1; + const double t78 = safe_math::sqrt( t77 ); + const double t79 = 0.1e1 / t78; + const double t84 = 0.27e2 / 0.2e2 * t71 * t79 + t73 * t59 / 0.36e2; + const double t85 = t84 * t84; + const double t92 = t33 * t53; + const double t93 = t34 * t34; + const double t94 = t93 * rho; + const double t96 = 0.1e1 / t19 / t94; + const double t97 = t92 * t96; + const double t100 = 0.1e3 * t91 * t97 + 0.162e3 * t39; + const double t101 = safe_math::sqrt( t100 ); + const double t109 = safe_math::sqrt( e ); + const double t110 = t109 * t33; + const double t111 = t35 * t38; + const double t117 = t33 * sigma; + const double t118 = t116 * t117; + const double t119 = t93 * t93; + const double t120 = 0.1e1 / t119; + const double t124 = t52 * t59 / 0.24e2 + 0.146e3 / 0.2025e4 * t85 - 0.73e2 / 0.972e5 * t84 * t101 + 0.25e2 / 0.472392e6 * t106 * t97 + t110 * t111 / 0.72e3 + t114 * t118 * t120 / 0.576e3; + const double t125 = t109 * t46; + const double t129 = 0.1e1 + t125 * t51 * t59 / 0.24e2; + const double t130 = t129 * t129; + const double t131 = 0.1e1 / t130; + const double t133 = t124 * t131 + kappa; + const double t138 = 0.1e1 + kappa * ( 0.1e1 - kappa / t133 ); + const double t142 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t20 * t138 ); + const double t143 = 0.1e1 / t56; + const double t144 = t18 * t143; + const double t148 = t7 * t18; + const double t150 = t19 * t149; + const double t151 = t133 * t133; + const double t152 = 0.1e1 / t151; + const double t153 = t35 * t23; + const double t154 = safe_math::log( t25 ); + const double t159 = -t26 * t153 * t154 / 0.8e1 - t30 * t21; + const double t160 = t159 * t43; + const double t163 = 0.1e1 / t42 / t41; + const double t164 = t32 * t163; + const double t165 = t34 * rho; + const double t166 = 0.1e1 / t165; + const double t167 = t33 * t166; + const double t168 = t167 * t38; + const double t172 = ( t32 * t160 + t164 * t168 / 0.16e2 ) * t46; + const double t173 = t172 * t51; + const double t177 = 0.1e1 / t56 / t165; + const double t178 = t55 * t177; + const double t184 = -0.5e1 / 0.3e1 * t62 * t58 + t178 / 0.3e1; + const double t185 = t184 * t46; + const double t186 = t51 * t79; + const double t190 = 0.1e1 / t78 / t77; + const double t191 = t71 * t190; + const double t195 = t91 * t184; + const double t198 = 0.5e1 * b * t184 * t74 + 0.25e2 / 0.9e1 * t72 * t195; + const double t203 = 0.3e1 / 0.4e1 * t185 * t186 - 0.27e2 / 0.4e2 * t191 * t198 - 0.2e1 / 0.27e2 * t73 * t178; + const double t208 = 0.1e1 / t101; + const double t209 = t84 * t208; + const double t211 = t93 * t34; + const double t213 = 0.1e1 / t19 / t211; + const double t214 = t92 * t213; + const double t217 = -0.324e3 * t168 - 0.16e4 / 0.3e1 * t91 * t214; + const double t222 = t166 * t38; + const double t225 = t119 * rho; + const double t226 = 0.1e1 / t225; + const double t230 = t173 * t59 / 0.24e2 - t52 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t84 * t203 - 0.73e2 / 0.972e5 * t203 * t101 - 0.73e2 / 0.1944e6 * t209 * t217 - 0.5e2 / 0.177147e6 * t106 * t214 - t110 * t222 / 0.36e3 - t114 * t118 * t226 / 0.72e2; + const double t232 = t130 * t129; + const double t233 = 0.1e1 / t232; + const double t234 = t124 * t233; + const double t235 = t234 * t125; + const double t236 = t51 * sigma; + const double t237 = t54 * t177; + const double t238 = t236 * t237; + const double t241 = t230 * t131 + 0.2e1 / 0.9e1 * t235 * t238; + const double t242 = t152 * t241; + const double t247 = piecewise_functor_3( t3, 0.0, -t7 * t144 * t138 / 0.8e1 - 0.3e1 / 0.8e1 * t148 * t150 * t242 ); + const double t250 = BLOC_b * t21; + const double t251 = t23 * t154; + const double t254 = 0.1e1 / sigma; + const double t256 = t250 * t251 / 0.8e1 + t30 * t254; + const double t257 = t256 * t43; + const double t258 = t32 * t257; + const double t259 = sigma * t35; + const double t260 = t259 * t38; + const double t264 = ( t258 - t164 * t260 / 0.16e2 ) * t46; + const double t265 = t264 * t51; + const double t269 = t268 * t58; + const double t272 = t54 * t58; + const double t273 = t73 * t79; + const double t274 = t272 * t273; + const double t277 = t276 * t58; + const double t278 = t277 * t74; + const double t280 = t72 * t88; + const double t283 = t280 * t281 * t58; + const double t285 = -0.5e1 / 0.8e1 * t278 - 0.25e2 / 0.72e2 * t283; + const double t288 = t272 * t73; + const double t290 = -0.3e1 / 0.32e2 * t274 - 0.27e2 / 0.4e2 * t191 * t285 + t288 / 0.36e2; + const double t296 = sigma * t53; + const double t297 = t296 * t96; + const double t300 = 0.2e3 * t91 * t297 + 0.324e3 * t260; + const double t305 = t109 * sigma; + const double t308 = t116 * t33; + const double t312 = t265 * t59 / 0.24e2 + t47 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t290 - 0.73e2 / 0.972e5 * t290 * t101 - 0.73e2 / 0.1944e6 * t209 * t300 + 0.25e2 / 0.236196e6 * t106 * t297 + t305 * t111 / 0.36e3 + t114 * t308 * t120 / 0.192e3; + const double t314 = t234 * t109; + const double t317 = t312 * t131 - t314 * t288 / 0.12e2; + const double t318 = t152 * t317; + const double t322 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t148 * t150 * t318 ); + const double t324 = t7 * t20; + const double t325 = t149 * t152; + const double t326 = t21 * t38; + const double t331 = -t26 * t326 * t154 / 0.8e1 - t30 * t23; + const double t332 = t331 * t43; + const double t333 = t32 * t332; + const double t334 = t37 * tau; + const double t335 = 0.1e1 / t334; + const double t336 = t36 * t335; + const double t340 = ( t333 + t164 * t336 / 0.16e2 ) * t46; + const double t341 = t340 * t51; + const double t344 = t54 * t64; + const double t347 = t276 * t64; + const double t353 = 0.5e1 * t347 * t74 + 0.25e2 / 0.9e1 * t280 * t281 * t64; + const double t356 = 0.3e1 / 0.4e1 * t344 * t273 - 0.27e2 / 0.4e2 * t191 * t353; + const double t363 = t35 * t335; + const double t366 = t341 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t84 * t356 - 0.73e2 / 0.972e5 * t356 * t101 + 0.73e2 / 0.6e3 * t209 * t336 - t110 * t363 / 0.36e3; + const double t367 = t366 * t131; + const double t368 = t325 * t367; + const double t371 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t324 * t368 ); + const double t374 = t18 * t64; + const double t378 = t143 * t149; + const double t383 = 0.1e1 / t151 / t133; + const double t384 = t241 * t241; + const double t385 = t383 * t384; + const double t389 = t159 * t159; + const double t390 = t389 * t43; + const double t392 = t166 * t23; + const double t399 = t26 * t392 * t154 / 0.4e1 + t26 * t392 / 0.4e1 + t30 * t35; + const double t402 = t32 * t159; + const double t403 = t163 * t33; + const double t404 = t403 * t222; + const double t407 = t42 * t42; + const double t408 = 0.1e1 / t407; + const double t409 = t32 * t408; + const double t410 = t33 * t33; + const double t411 = 0.1e1 / t211; + const double t412 = t410 * t411; + const double t413 = t37 * t37; + const double t414 = 0.1e1 / t413; + const double t418 = 0.1e1 / t93; + const double t419 = t33 * t418; + const double t420 = t419 * t38; + const double t424 = ( t32 * t390 + t32 * t399 * t43 + t402 * t404 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t412 * t414 - 0.3e1 / 0.16e2 * t164 * t420 ) * t46; + const double t425 = t424 * t51; + const double t431 = 0.1e1 / t56 / t93; + const double t432 = t55 * t431; + const double t435 = t203 * t203; + const double t440 = 0.4e2 / 0.9e1 * t62 * t177 - 0.11e2 / 0.9e1 * t432; + const double t441 = t440 * t46; + const double t444 = t51 * t190; + const double t445 = t444 * t198; + const double t448 = t77 * t77; + const double t450 = 0.1e1 / t78 / t448; + const double t451 = t71 * t450; + const double t452 = t198 * t198; + const double t455 = b * t440; + const double t458 = t184 * t184; + const double t462 = t91 * t440; + const double t465 = 0.5e1 * t455 * t74 + 0.5e2 / 0.9e1 * b * t458 * t91 + 0.25e2 / 0.9e1 * t72 * t462; + const double t470 = 0.3e1 / 0.4e1 * t441 * t186 - 0.3e1 / 0.4e1 * t185 * t445 + 0.81e2 / 0.8e2 * t451 * t452 - 0.27e2 / 0.4e2 * t191 * t465 + 0.22e2 / 0.81e2 * t73 * t432; + const double t475 = t203 * t208; + const double t479 = 0.1e1 / t101 / t100; + const double t480 = t84 * t479; + const double t481 = t217 * t217; + const double t485 = t93 * t165; + const double t487 = 0.1e1 / t19 / t485; + const double t488 = t92 * t487; + const double t491 = 0.972e3 * t420 + 0.304e5 / 0.9e1 * t91 * t488; + const double t496 = t418 * t38; + const double t499 = t119 * t34; + const double t500 = 0.1e1 / t499; + const double t504 = t425 * t59 / 0.24e2 - 0.2e1 / 0.9e1 * t173 * t178 + 0.11e2 / 0.27e2 * t52 * t432 + 0.292e3 / 0.2025e4 * t435 + 0.292e3 / 0.2025e4 * t84 * t470 - 0.73e2 / 0.972e5 * t470 * t101 - 0.73e2 / 0.972e5 * t475 * t217 + 0.73e2 / 0.3888e6 * t480 * t481 - 0.73e2 / 0.1944e6 * t209 * t491 + 0.95e3 / 0.531441e6 * t106 * t488 + t110 * t496 / 0.12e3 + t114 * t118 * t500 / 0.8e1; + const double t506 = t230 * t233; + const double t507 = t506 * t125; + const double t510 = t130 * t130; + const double t511 = 0.1e1 / t510; + const double t512 = t124 * t511; + const double t514 = t512 * t513; + const double t515 = t90 * t33; + const double t516 = t53 * t487; + const double t517 = t515 * t516; + const double t520 = t54 * t431; + const double t521 = t236 * t520; + const double t524 = t504 * t131 + 0.4e1 / 0.9e1 * t507 * t238 + 0.4e1 / 0.27e2 * t514 * t517 - 0.22e2 / 0.27e2 * t235 * t521; + const double t525 = t152 * t524; + const double t530 = piecewise_functor_3( t3, 0.0, t7 * t374 * t138 / 0.12e2 - t148 * t378 * t242 / 0.4e1 + 0.3e1 / 0.4e1 * t148 * t150 * t385 - 0.3e1 / 0.8e1 * t148 * t150 * t525 ); + const double t536 = t149 * t383; + const double t537 = t317 * t241; + const double t538 = t536 * t537; + const double t541 = t159 * t256; + const double t544 = BLOC_b * t35; + const double t549 = -t544 * t251 / 0.8e1 - t544 * t23 / 0.4e1; + const double t550 = t549 * t43; + const double t552 = t32 * t256; + const double t555 = t163 * sigma; + const double t556 = t555 * t111; + const double t559 = 0.1e1 / t94; + const double t560 = t117 * t559; + const double t564 = sigma * t166; + const double t565 = t564 * t38; + const double t569 = ( t32 * t541 * t43 + t32 * t550 + t552 * t404 / 0.16e2 - t402 * t556 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t560 * t414 + t164 * t565 / 0.8e1 ) * t46; + const double t570 = t569 * t51; + const double t577 = t268 * t177; + const double t582 = t237 * t273; + const double t584 = t272 * t46; + const double t585 = t584 * t445; + const double t587 = t444 * t285; + const double t590 = t285 * t198; + const double t593 = t276 * t177; + const double t594 = t593 * t74; + const double t596 = t277 * t195; + const double t599 = t280 * t281 * t177; + const double t601 = 0.5e1 / 0.3e1 * t594 - 0.25e2 / 0.36e2 * t596 + 0.25e2 / 0.27e2 * t599; + const double t604 = t237 * t73; + const double t606 = t582 / 0.4e1 + 0.3e1 / 0.64e2 * t585 - 0.3e1 / 0.8e1 * t185 * t587 + 0.81e2 / 0.8e2 * t451 * t590 - 0.27e2 / 0.4e2 * t191 * t601 - 0.2e1 / 0.27e2 * t604; + const double t611 = t290 * t208; + const double t616 = t300 * t217; + const double t620 = t296 * t213; + const double t623 = -0.648e3 * t565 - 0.32e4 / 0.3e1 * t91 * t620; + const double t633 = t570 * t59 / 0.24e2 - t265 * t178 / 0.9e1 + t172 * t269 / 0.24e2 - t47 * t577 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t290 + 0.292e3 / 0.2025e4 * t84 * t606 - 0.73e2 / 0.972e5 * t606 * t101 - 0.73e2 / 0.1944e6 * t611 * t217 - 0.73e2 / 0.1944e6 * t475 * t300 + 0.73e2 / 0.3888e6 * t480 * t616 - 0.73e2 / 0.1944e6 * t209 * t623 - 0.1e3 / 0.177147e6 * t106 * t620 - t305 * t222 / 0.18e3 - t114 * t308 * t226 / 0.24e2; + const double t635 = t312 * t233; + const double t636 = t635 * t125; + const double t639 = t506 * t109; + const double t644 = t642 * t213 * sigma; + const double t649 = t633 * t131 + 0.2e1 / 0.9e1 * t636 * t238 - t639 * t288 / 0.12e2 - t514 * t644 / 0.18e2 + 0.2e1 / 0.9e1 * t314 * t604; + const double t650 = t152 * t649; + const double t655 = piecewise_functor_3( t3, 0.0, -t148 * t378 * t318 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t538 - 0.3e1 / 0.8e1 * t148 * t150 * t650 ); + const double t658 = t7 * t144; + const double t662 = t536 * t367 * t241; + const double t665 = t159 * t331; + const double t673 = t26 * t111 * t154 / 0.8e1 + t26 * t111 / 0.4e1; + const double t674 = t673 * t43; + const double t676 = t32 * t331; + const double t679 = t403 * t363; + const double t682 = t410 * t559; + const double t684 = 0.1e1 / t413 / tau; + const double t688 = t167 * t335; + const double t692 = ( t32 * t665 * t43 + t32 * t674 + t676 * t404 / 0.16e2 + t402 * t679 / 0.16e2 + 0.3e1 / 0.512e3 * t409 * t682 * t684 - t164 * t688 / 0.8e1 ) * t46; + const double t693 = t692 * t51; + const double t701 = t344 * t46; + const double t704 = t444 * t353; + const double t707 = t353 * t198; + const double t714 = -0.25e2 / 0.3e1 * t278 + 0.5e2 / 0.9e1 * t347 * t195 - 0.125e3 / 0.27e2 * t283; + const double t717 = -0.5e1 / 0.4e1 * t274 - 0.3e1 / 0.8e1 * t701 * t445 - 0.3e1 / 0.8e1 * t185 * t704 + 0.81e2 / 0.8e2 * t451 * t707 - 0.27e2 / 0.4e2 * t191 * t714; + const double t722 = t356 * t208; + const double t727 = t480 * t33; + const double t728 = t363 * t217; + const double t733 = t166 * t335; + const double t736 = t693 * t59 / 0.24e2 - t341 * t178 / 0.9e1 + 0.292e3 / 0.2025e4 * t203 * t356 + 0.292e3 / 0.2025e4 * t84 * t717 - 0.73e2 / 0.972e5 * t717 * t101 - 0.73e2 / 0.1944e6 * t722 * t217 + 0.73e2 / 0.6e3 * t475 * t336 - 0.73e2 / 0.12e4 * t727 * t728 - 0.73e2 / 0.3e3 * t209 * t688 + t110 * t733 / 0.18e3; + const double t737 = t736 * t131; + const double t738 = t325 * t737; + const double t742 = 0.1e1 / t19 / t165; + const double t743 = t742 * t149; + const double t745 = t148 * t743 * t152; + const double t746 = t366 * t233; + const double t747 = t746 * t109; + const double t748 = t73 * t55; + const double t749 = t747 * t748; + const double t753 = piecewise_functor_3( t3, 0.0, -t658 * t368 / 0.8e1 + 0.3e1 / 0.4e1 * t324 * t662 - 0.3e1 / 0.8e1 * t324 * t738 - t745 * t749 / 0.12e2 ); + const double t756 = t317 * t317; + const double t757 = t383 * t756; + const double t761 = t256 * t256; + const double t762 = t761 * t43; + const double t767 = 0.1e1 / t33; + const double t769 = t250 * t23 * t254 / 0.4e1 - t30 * t767; + const double t774 = t419 * t414; + const double t777 = t163 * t35; + const double t778 = t777 * t38; + const double t782 = ( t32 * t762 + t32 * t769 * t43 - t552 * t556 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t774 - t32 * t778 / 0.16e2 ) * t46; + const double t783 = t782 * t51; + const double t788 = t290 * t290; + const double t790 = t584 * t587; + const double t792 = t285 * t285; + const double t795 = t191 * b; + const double t796 = t53 * t96; + const double t797 = t91 * t796; + const double t798 = t795 * t797; + const double t800 = 0.3e1 / 0.32e2 * t790 + 0.81e2 / 0.8e2 * t451 * t792 - 0.15e2 / 0.128e3 * t798; + const double t807 = t300 * t300; + const double t812 = 0.324e3 * t111 + 0.2e3 * t797; + const double t818 = t109 * t35; + const double t821 = t116 * sigma; + const double t825 = t783 * t59 / 0.24e2 + t264 * t269 / 0.12e2 + 0.292e3 / 0.2025e4 * t788 + 0.292e3 / 0.2025e4 * t84 * t800 - 0.73e2 / 0.972e5 * t800 * t101 - 0.73e2 / 0.972e5 * t611 * t300 + 0.73e2 / 0.3888e6 * t480 * t807 - 0.73e2 / 0.1944e6 * t209 * t812 + 0.25e2 / 0.236196e6 * t105 * t642 * t96 + t818 * t38 / 0.36e3 + t114 * t821 * t120 / 0.96e2; + const double t827 = t635 * t109; + const double t830 = t512 * e; + const double t833 = t825 * t131 - t827 * t288 / 0.6e1 + t830 * t797 / 0.48e2; + const double t834 = t152 * t833; + const double t839 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t148 * t150 * t757 - 0.3e1 / 0.8e1 * t148 * t150 * t834 ); + const double t842 = t536 * t367 * t317; + const double t845 = t256 * t331; + const double t846 = t845 * t43; + const double t848 = t38 * t154; + const double t853 = -t250 * t848 / 0.8e1 - t250 * t38 / 0.4e1; + const double t854 = t853 * t43; + const double t860 = t117 * t418; + const double t864 = t259 * t335; + const double t868 = ( t32 * t846 + t32 * t854 - t676 * t556 / 0.16e2 + t552 * t679 / 0.16e2 - 0.3e1 / 0.512e3 * t409 * t860 * t684 + t164 * t864 / 0.8e1 ) * t46; + const double t869 = t868 * t51; + const double t878 = t584 * t704; + const double t880 = t353 * t285; + const double t884 = 0.1e1 / t19 / t93; + const double t885 = t53 * t884; + const double t886 = t885 * t91; + const double t887 = t795 * t886; + const double t889 = -0.3e1 / 0.8e1 * t701 * t587 + 0.3e1 / 0.64e2 * t878 + 0.81e2 / 0.8e2 * t451 * t880 + 0.15e2 / 0.16e2 * t887; + const double t898 = t363 * t300; + const double t905 = t869 * t59 / 0.24e2 + t340 * t269 / 0.24e2 + 0.292e3 / 0.2025e4 * t290 * t356 + 0.292e3 / 0.2025e4 * t84 * t889 - 0.73e2 / 0.972e5 * t889 * t101 - 0.73e2 / 0.1944e6 * t722 * t300 + 0.73e2 / 0.6e3 * t611 * t336 - 0.73e2 / 0.12e4 * t727 * t898 + 0.73e2 / 0.3e3 * t209 * t864 - t305 * t363 / 0.18e3; + const double t906 = t905 * t131; + const double t907 = t325 * t906; + const double t912 = 0.1e1 / t19 / t34 * t149; + const double t914 = t148 * t912 * t152; + const double t916 = t747 * t915; + const double t920 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t842 - 0.3e1 / 0.8e1 * t324 * t907 + t914 * t916 / 0.32e2 ); + const double t922 = t366 * t366; + const double t923 = t922 * t511; + const double t924 = t536 * t923; + const double t927 = t331 * t331; + const double t928 = t927 * t43; + const double t930 = t21 * t335; + const double t937 = t26 * t930 * t154 / 0.4e1 + t26 * t930 / 0.4e1 + t30 * t38; + const double t942 = t410 * t418; + const double t944 = 0.1e1 / t413 / t37; + const double t945 = t942 * t944; + const double t948 = t36 * t414; + const double t952 = ( t32 * t928 + t32 * t937 * t43 + t676 * t679 / 0.8e1 + 0.3e1 / 0.512e3 * t409 * t945 - 0.3e1 / 0.16e2 * t164 * t948 ) * t46; + const double t953 = t952 * t51; + const double t956 = t356 * t356; + const double t960 = t353 * t353; + const double t963 = t53 * t742; + const double t964 = t963 * t91; + const double t967 = -0.3e1 / 0.4e1 * t701 * t704 + 0.81e2 / 0.8e2 * t451 * t960 - 0.15e2 / 0.2e1 * t795 * t964; + const double t978 = t35 * t414; + const double t981 = t953 * t59 / 0.24e2 + 0.292e3 / 0.2025e4 * t956 + 0.292e3 / 0.2025e4 * t84 * t967 - 0.73e2 / 0.972e5 * t967 * t101 + 0.73e2 / 0.3e3 * t722 * t336 + 0.1971e4 / 0.1e3 * t480 * t945 - 0.73e2 / 0.2e3 * t209 * t948 + t110 * t978 / 0.12e3; + const double t982 = t981 * t131; + const double t983 = t325 * t982; + const double t987 = piecewise_functor_3( t3, 0.0, 0.3e1 / 0.4e1 * t324 * t924 - 0.3e1 / 0.8e1 * t324 * t983 ); + + + vrho = 0.2e1 * rho * t247 + 0.2e1 * t142; + vsigma = 0.2e1 * rho * t322; + vlapl = 0.e0; + vtau = 0.2e1 * rho * t371; + v2rho2 = 0.2e1 * rho * t530 + 0.4e1 * t247; + v2rhosigma = 0.2e1 * rho * t655 + 0.2e1 * t322; + v2rholapl = 0.e0; + v2rhotau = 0.2e1 * rho * t753 + 0.2e1 * t371; + v2sigma2 = 0.2e1 * rho * t839; + v2sigmalapl = 0.e0; + v2sigmatau = 0.2e1 * rho * t920; + v2lapl2 = 0.e0; + v2lapltau = 0.e0; + v2tau2 = 0.2e1 * rho * t987; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t147 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t143 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t259 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t157 * t255 ); + + + eps = t147 + t259; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + constexpr double t279 = kappa * kappa; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t147 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t143 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t259 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t157 * t255 ); + const double t260 = t7 * t7; + const double t261 = 0.1e1 / t260; + const double t262 = t17 * t261; + const double t264 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t262 ); + const double t267 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t264 ); + const double t268 = t267 * t27; + const double t272 = t27 * t27; + const double t273 = 0.1e1 / t272; + const double t274 = t26 * t273; + const double t277 = t6 * t274 * t143 / 0.8e1; + const double t278 = t6 * t26; + const double t280 = t27 * t279; + const double t281 = t138 * t138; + const double t282 = 0.1e1 / t281; + const double t283 = t43 * t31; + const double t284 = safe_math::log( t33 ); + const double t289 = -t34 * t283 * t284 / 0.8e1 - t38 * t29; + const double t290 = t289 * t51; + const double t293 = 0.1e1 / t50 / t49; + const double t294 = t40 * t293; + const double t295 = t42 * rho_a; + const double t296 = 0.1e1 / t295; + const double t297 = t41 * t296; + const double t298 = t297 * t46; + const double t302 = ( t40 * t290 + t294 * t298 / 0.16e2 ) * t54; + const double t306 = 0.1e1 / t62 / t295; + const double t307 = t60 * t306; + const double t312 = sigma_aa * t306; + const double t314 = -0.5e1 / 0.3e1 * tau_a * t64 + t312 / 0.3e1; + const double t315 = t314 * t54; + const double t316 = t59 * t85; + const double t320 = 0.1e1 / t84 / t83; + const double t321 = t77 * t320; + const double t325 = t97 * t314; + const double t328 = 0.5e1 * b * t314 * t80 + 0.25e2 / 0.9e1 * t78 * t325; + const double t331 = t79 * t312; + const double t333 = 0.3e1 / 0.4e1 * t315 * t316 - 0.27e2 / 0.4e2 * t321 * t328 - 0.2e1 / 0.27e2 * t331; + const double t338 = 0.1e1 / t106; + const double t339 = t90 * t338; + const double t341 = t98 * t42; + const double t343 = 0.1e1 / t61 / t341; + const double t347 = -0.324e3 * t298 - 0.8e3 / 0.3e1 * t97 * t41 * t343; + const double t353 = t296 * t46; + const double t356 = t125 * rho_a; + const double t357 = 0.1e1 / t356; + const double t361 = t302 * t65 / 0.24e2 - t55 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t90 * t333 - 0.73e2 / 0.972e5 * t333 * t106 - 0.73e2 / 0.1944e6 * t339 * t347 - 0.25e2 / 0.177147e6 * t110 * t111 * t343 - t116 * t353 / 0.36e3 - t120 * t124 * t357 / 0.288e3; + const double t363 = t135 * t134; + const double t364 = 0.1e1 / t363; + const double t366 = t130 * t364 * t115; + const double t369 = t361 * t136 + 0.2e1 / 0.9e1 * t366 * t331; + const double t370 = t282 * t369; + const double t371 = t280 * t370; + const double t375 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t268 * t143 - t277 - 0.3e1 / 0.8e1 * t278 * t371 ); + const double t376 = t149 * t261; + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t376 ); + const double t381 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t378 ); + const double t382 = t381 * t27; + const double t386 = t156 * t273; + const double t389 = t6 * t386 * t255 / 0.8e1; + const double t391 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t382 * t255 - t389 ); + const double t395 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t262 ); + const double t398 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t395 ); + const double t399 = t398 * t27; + const double t404 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t399 * t143 - t277 ); + const double t406 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t376 ); + const double t409 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t406 ); + const double t410 = t409 * t27; + const double t414 = t6 * t156; + const double t415 = t250 * t250; + const double t416 = 0.1e1 / t415; + const double t417 = t172 * t160; + const double t418 = safe_math::log( t162 ); + const double t423 = -t163 * t417 * t418 / 0.8e1 - t167 * t158; + const double t424 = t423 * t180; + const double t427 = 0.1e1 / t179 / t178; + const double t428 = t169 * t427; + const double t429 = t171 * rho_b; + const double t430 = 0.1e1 / t429; + const double t431 = t170 * t430; + const double t432 = t431 * t175; + const double t436 = ( t169 * t424 + t428 * t432 / 0.16e2 ) * t54; + const double t440 = 0.1e1 / t186 / t429; + const double t441 = t184 * t440; + const double t446 = sigma_bb * t440; + const double t448 = -0.5e1 / 0.3e1 * tau_b * t188 + t446 / 0.3e1; + const double t449 = t448 * t54; + const double t450 = t59 * t208; + const double t454 = 0.1e1 / t207 / t206; + const double t455 = t201 * t454; + const double t459 = t97 * t448; + const double t462 = 0.5e1 * b * t448 * t203 + 0.25e2 / 0.9e1 * t202 * t459; + const double t465 = t79 * t446; + const double t467 = 0.3e1 / 0.4e1 * t449 * t450 - 0.27e2 / 0.4e2 * t455 * t462 - 0.2e1 / 0.27e2 * t465; + const double t472 = 0.1e1 / t225; + const double t473 = t213 * t472; + const double t475 = t217 * t171; + const double t477 = 0.1e1 / t185 / t475; + const double t481 = -0.324e3 * t432 - 0.8e3 / 0.3e1 * t97 * t170 * t477; + const double t487 = t430 * t175; + const double t490 = t238 * rho_b; + const double t491 = 0.1e1 / t490; + const double t495 = t436 * t189 / 0.24e2 - t183 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t213 * t467 - 0.73e2 / 0.972e5 * t467 * t225 - 0.73e2 / 0.1944e6 * t473 * t481 - 0.25e2 / 0.177147e6 * t110 * t228 * t477 - t232 * t487 / 0.36e3 - t120 * t237 * t491 / 0.288e3; + const double t497 = t247 * t246; + const double t498 = 0.1e1 / t497; + const double t500 = t243 * t498 * t115; + const double t503 = t495 * t248 + 0.2e1 / 0.9e1 * t500 * t465; + const double t504 = t416 * t503; + const double t505 = t280 * t504; + const double t509 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t410 * t255 - t389 - 0.3e1 / 0.8e1 * t414 * t505 ); + const double t512 = BLOC_b * t29; + const double t513 = t31 * t284; + const double t516 = 0.1e1 / sigma_aa; + const double t518 = t512 * t513 / 0.8e1 + t38 * t516; + const double t519 = t518 * t51; + const double t520 = t40 * t519; + const double t521 = sigma_aa * t43; + const double t522 = t521 * t46; + const double t526 = ( t520 - t294 * t522 / 0.16e2 ) * t54; + const double t529 = t59 * t64; + const double t532 = t64 * t54; + const double t533 = t532 * t316; + const double t535 = b * t64; + const double t536 = t535 * t80; + const double t539 = t78 * t97 * t64; + const double t541 = -0.5e1 / 0.8e1 * t536 - 0.25e2 / 0.72e2 * t539; + const double t544 = t532 * t59; + const double t546 = -0.3e1 / 0.32e2 * t533 - 0.27e2 / 0.4e2 * t321 * t541 + t544 / 0.36e2; + const double t555 = 0.1e3 * t97 * sigma_aa * t101 + 0.324e3 * t522; + const double t558 = t96 * sigma_aa; + const double t562 = t115 * sigma_aa; + const double t565 = t122 * t41; + const double t569 = t526 * t65 / 0.24e2 + t55 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t546 - 0.73e2 / 0.972e5 * t546 * t106 - 0.73e2 / 0.1944e6 * t339 * t555 + 0.25e2 / 0.472392e6 * t110 * t558 * t101 + t562 * t117 / 0.36e3 + t120 * t565 * t126 / 0.768e3; + const double t573 = t569 * t136 - t366 * t544 / 0.12e2; + const double t574 = t282 * t573; + const double t575 = t280 * t574; + const double t578 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t278 * t575 ); + const double t579 = BLOC_b * t158; + const double t580 = t160 * t418; + const double t583 = 0.1e1 / sigma_bb; + const double t585 = t579 * t580 / 0.8e1 + t167 * t583; + const double t586 = t585 * t180; + const double t587 = t169 * t586; + const double t588 = sigma_bb * t172; + const double t589 = t588 * t175; + const double t593 = ( t587 - t428 * t589 / 0.16e2 ) * t54; + const double t596 = t59 * t188; + const double t599 = t188 * t54; + const double t600 = t599 * t450; + const double t602 = b * t188; + const double t603 = t602 * t203; + const double t606 = t202 * t97 * t188; + const double t608 = -0.5e1 / 0.8e1 * t603 - 0.25e2 / 0.72e2 * t606; + const double t611 = t599 * t59; + const double t613 = -0.3e1 / 0.32e2 * t600 - 0.27e2 / 0.4e2 * t455 * t608 + t611 / 0.36e2; + const double t622 = 0.1e3 * t97 * sigma_bb * t220 + 0.324e3 * t589; + const double t625 = t96 * sigma_bb; + const double t629 = t115 * sigma_bb; + const double t632 = t122 * t170; + const double t636 = t593 * t189 / 0.24e2 + t183 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t613 - 0.73e2 / 0.972e5 * t613 * t225 - 0.73e2 / 0.1944e6 * t473 * t622 + 0.25e2 / 0.472392e6 * t110 * t625 * t220 + t629 * t233 / 0.36e3 + t120 * t632 * t239 / 0.768e3; + const double t640 = t636 * t248 - t500 * t611 / 0.12e2; + const double t641 = t416 * t640; + const double t642 = t280 * t641; + const double t645 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t414 * t642 ); + const double t646 = t6 * t28; + const double t647 = t279 * t282; + const double t648 = t29 * t46; + const double t653 = -t34 * t648 * t284 / 0.8e1 - t38 * t31; + const double t654 = t653 * t51; + const double t655 = t40 * t654; + const double t656 = t45 * tau_a; + const double t657 = 0.1e1 / t656; + const double t658 = t44 * t657; + const double t662 = ( t655 + t294 * t658 / 0.16e2 ) * t54; + const double t665 = t69 * t54; + const double t668 = b * t69; + const double t674 = 0.5e1 * t668 * t80 + 0.25e2 / 0.9e1 * t78 * t97 * t69; + const double t677 = 0.3e1 / 0.4e1 * t665 * t316 - 0.27e2 / 0.4e2 * t321 * t674; + const double t684 = t43 * t657; + const double t687 = t662 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t677 - 0.73e2 / 0.972e5 * t677 * t106 + 0.73e2 / 0.6e3 * t339 * t658 - t116 * t684 / 0.36e3; + const double t688 = t687 * t136; + const double t689 = t647 * t688; + const double t692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t646 * t689 ); + const double t693 = t6 * t157; + const double t694 = t279 * t416; + const double t695 = t158 * t175; + const double t700 = -t163 * t695 * t418 / 0.8e1 - t167 * t160; + const double t701 = t700 * t180; + const double t702 = t169 * t701; + const double t703 = t174 * tau_b; + const double t704 = 0.1e1 / t703; + const double t705 = t173 * t704; + const double t709 = ( t702 + t428 * t705 / 0.16e2 ) * t54; + const double t712 = t193 * t54; + const double t715 = b * t193; + const double t721 = 0.5e1 * t715 * t203 + 0.25e2 / 0.9e1 * t202 * t97 * t193; + const double t724 = 0.3e1 / 0.4e1 * t712 * t450 - 0.27e2 / 0.4e2 * t455 * t721; + const double t731 = t172 * t704; + const double t734 = t709 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t724 - 0.73e2 / 0.972e5 * t724 * t225 + 0.73e2 / 0.6e3 * t473 * t705 - t232 * t731 / 0.36e3; + const double t735 = t734 * t248; + const double t736 = t694 * t735; + const double t739 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t693 * t736 ); + + + eps = t147 + t259; + vrho_a = t147 + t259 + t7 * ( t375 + t391 ); + vrho_b = t147 + t259 + t7 * ( t404 + t509 ); + vsigma_aa = t7 * t578; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t645; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t692; + vtau_b = t7 * t739; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + constexpr double t279 = kappa * kappa; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t260 = t7 * t7; + const double t261 = 0.1e1 / t260; + const double t262 = t17 * t261; + const double t264 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t262 ); + const double t267 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t264 ); + const double t268 = t267 * t27; + const double t272 = t27 * t27; + const double t273 = 0.1e1 / t272; + const double t274 = t26 * t273; + const double t277 = t6 * t274 * t143 / 0.8e1; + const double t278 = t6 * t26; + const double t280 = t27 * t279; + const double t281 = t138 * t138; + const double t282 = 0.1e1 / t281; + const double t283 = t43 * t31; + const double t284 = safe_math::log( t33 ); + const double t289 = -t34 * t283 * t284 / 0.8e1 - t38 * t29; + const double t290 = t289 * t51; + const double t293 = 0.1e1 / t50 / t49; + const double t294 = t40 * t293; + const double t295 = t42 * rho_a; + const double t296 = 0.1e1 / t295; + const double t297 = t41 * t296; + const double t298 = t297 * t46; + const double t302 = ( t40 * t290 + t294 * t298 / 0.16e2 ) * t54; + const double t306 = 0.1e1 / t62 / t295; + const double t307 = t60 * t306; + const double t312 = sigma_aa * t306; + const double t314 = -0.5e1 / 0.3e1 * tau_a * t64 + t312 / 0.3e1; + const double t315 = t314 * t54; + const double t316 = t59 * t85; + const double t320 = 0.1e1 / t84 / t83; + const double t321 = t77 * t320; + const double t325 = t97 * t314; + const double t328 = 0.5e1 * b * t314 * t80 + 0.25e2 / 0.9e1 * t78 * t325; + const double t331 = t79 * t312; + const double t333 = 0.3e1 / 0.4e1 * t315 * t316 - 0.27e2 / 0.4e2 * t321 * t328 - 0.2e1 / 0.27e2 * t331; + const double t338 = 0.1e1 / t106; + const double t339 = t90 * t338; + const double t341 = t98 * t42; + const double t343 = 0.1e1 / t61 / t341; + const double t347 = -0.324e3 * t298 - 0.8e3 / 0.3e1 * t97 * t41 * t343; + const double t353 = t296 * t46; + const double t356 = t125 * rho_a; + const double t357 = 0.1e1 / t356; + const double t361 = t302 * t65 / 0.24e2 - t55 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t90 * t333 - 0.73e2 / 0.972e5 * t333 * t106 - 0.73e2 / 0.1944e6 * t339 * t347 - 0.25e2 / 0.177147e6 * t110 * t111 * t343 - t116 * t353 / 0.36e3 - t120 * t124 * t357 / 0.288e3; + const double t363 = t135 * t134; + const double t364 = 0.1e1 / t363; + const double t366 = t130 * t364 * t115; + const double t369 = t361 * t136 + 0.2e1 / 0.9e1 * t366 * t331; + const double t370 = t282 * t369; + const double t371 = t280 * t370; + const double t375 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t268 * t143 - t277 - 0.3e1 / 0.8e1 * t278 * t371 ); + const double t376 = t149 * t261; + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t376 ); + const double t381 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t378 ); + const double t382 = t381 * t27; + const double t386 = t156 * t273; + const double t389 = t6 * t386 * t255 / 0.8e1; + const double t391 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t382 * t255 - t389 ); + const double t395 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t262 ); + const double t398 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t395 ); + const double t399 = t398 * t27; + const double t404 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t399 * t143 - t277 ); + const double t406 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t376 ); + const double t409 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t406 ); + const double t410 = t409 * t27; + const double t414 = t6 * t156; + const double t415 = t250 * t250; + const double t416 = 0.1e1 / t415; + const double t417 = t172 * t160; + const double t418 = safe_math::log( t162 ); + const double t423 = -t163 * t417 * t418 / 0.8e1 - t167 * t158; + const double t424 = t423 * t180; + const double t427 = 0.1e1 / t179 / t178; + const double t428 = t169 * t427; + const double t429 = t171 * rho_b; + const double t430 = 0.1e1 / t429; + const double t431 = t170 * t430; + const double t432 = t431 * t175; + const double t436 = ( t169 * t424 + t428 * t432 / 0.16e2 ) * t54; + const double t440 = 0.1e1 / t186 / t429; + const double t441 = t184 * t440; + const double t446 = sigma_bb * t440; + const double t448 = -0.5e1 / 0.3e1 * tau_b * t188 + t446 / 0.3e1; + const double t449 = t448 * t54; + const double t450 = t59 * t208; + const double t454 = 0.1e1 / t207 / t206; + const double t455 = t201 * t454; + const double t459 = t97 * t448; + const double t462 = 0.5e1 * b * t448 * t203 + 0.25e2 / 0.9e1 * t202 * t459; + const double t465 = t79 * t446; + const double t467 = 0.3e1 / 0.4e1 * t449 * t450 - 0.27e2 / 0.4e2 * t455 * t462 - 0.2e1 / 0.27e2 * t465; + const double t472 = 0.1e1 / t225; + const double t473 = t213 * t472; + const double t475 = t217 * t171; + const double t477 = 0.1e1 / t185 / t475; + const double t481 = -0.324e3 * t432 - 0.8e3 / 0.3e1 * t97 * t170 * t477; + const double t487 = t430 * t175; + const double t490 = t238 * rho_b; + const double t491 = 0.1e1 / t490; + const double t495 = t436 * t189 / 0.24e2 - t183 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t213 * t467 - 0.73e2 / 0.972e5 * t467 * t225 - 0.73e2 / 0.1944e6 * t473 * t481 - 0.25e2 / 0.177147e6 * t110 * t228 * t477 - t232 * t487 / 0.36e3 - t120 * t237 * t491 / 0.288e3; + const double t497 = t247 * t246; + const double t498 = 0.1e1 / t497; + const double t500 = t243 * t498 * t115; + const double t503 = t495 * t248 + 0.2e1 / 0.9e1 * t500 * t465; + const double t504 = t416 * t503; + const double t505 = t280 * t504; + const double t509 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t410 * t255 - t389 - 0.3e1 / 0.8e1 * t414 * t505 ); + const double t512 = BLOC_b * t29; + const double t513 = t31 * t284; + const double t516 = 0.1e1 / sigma_aa; + const double t518 = t512 * t513 / 0.8e1 + t38 * t516; + const double t519 = t518 * t51; + const double t520 = t40 * t519; + const double t521 = sigma_aa * t43; + const double t522 = t521 * t46; + const double t526 = ( t520 - t294 * t522 / 0.16e2 ) * t54; + const double t529 = t59 * t64; + const double t532 = t64 * t54; + const double t533 = t532 * t316; + const double t535 = b * t64; + const double t536 = t535 * t80; + const double t539 = t78 * t97 * t64; + const double t541 = -0.5e1 / 0.8e1 * t536 - 0.25e2 / 0.72e2 * t539; + const double t544 = t532 * t59; + const double t546 = -0.3e1 / 0.32e2 * t533 - 0.27e2 / 0.4e2 * t321 * t541 + t544 / 0.36e2; + const double t555 = 0.1e3 * t97 * sigma_aa * t101 + 0.324e3 * t522; + const double t558 = t96 * sigma_aa; + const double t562 = t115 * sigma_aa; + const double t565 = t122 * t41; + const double t569 = t526 * t65 / 0.24e2 + t55 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t546 - 0.73e2 / 0.972e5 * t546 * t106 - 0.73e2 / 0.1944e6 * t339 * t555 + 0.25e2 / 0.472392e6 * t110 * t558 * t101 + t562 * t117 / 0.36e3 + t120 * t565 * t126 / 0.768e3; + const double t573 = t569 * t136 - t366 * t544 / 0.12e2; + const double t574 = t282 * t573; + const double t575 = t280 * t574; + const double t578 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t278 * t575 ); + const double t579 = BLOC_b * t158; + const double t580 = t160 * t418; + const double t583 = 0.1e1 / sigma_bb; + const double t585 = t579 * t580 / 0.8e1 + t167 * t583; + const double t586 = t585 * t180; + const double t587 = t169 * t586; + const double t588 = sigma_bb * t172; + const double t589 = t588 * t175; + const double t593 = ( t587 - t428 * t589 / 0.16e2 ) * t54; + const double t596 = t59 * t188; + const double t599 = t188 * t54; + const double t600 = t599 * t450; + const double t602 = b * t188; + const double t603 = t602 * t203; + const double t606 = t202 * t97 * t188; + const double t608 = -0.5e1 / 0.8e1 * t603 - 0.25e2 / 0.72e2 * t606; + const double t611 = t599 * t59; + const double t613 = -0.3e1 / 0.32e2 * t600 - 0.27e2 / 0.4e2 * t455 * t608 + t611 / 0.36e2; + const double t622 = 0.1e3 * t97 * sigma_bb * t220 + 0.324e3 * t589; + const double t625 = t96 * sigma_bb; + const double t629 = t115 * sigma_bb; + const double t632 = t122 * t170; + const double t636 = t593 * t189 / 0.24e2 + t183 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t613 - 0.73e2 / 0.972e5 * t613 * t225 - 0.73e2 / 0.1944e6 * t473 * t622 + 0.25e2 / 0.472392e6 * t110 * t625 * t220 + t629 * t233 / 0.36e3 + t120 * t632 * t239 / 0.768e3; + const double t640 = t636 * t248 - t500 * t611 / 0.12e2; + const double t641 = t416 * t640; + const double t642 = t280 * t641; + const double t645 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t414 * t642 ); + const double t646 = t6 * t28; + const double t647 = t279 * t282; + const double t648 = t29 * t46; + const double t653 = -t34 * t648 * t284 / 0.8e1 - t38 * t31; + const double t654 = t653 * t51; + const double t655 = t40 * t654; + const double t656 = t45 * tau_a; + const double t657 = 0.1e1 / t656; + const double t658 = t44 * t657; + const double t662 = ( t655 + t294 * t658 / 0.16e2 ) * t54; + const double t665 = t69 * t54; + const double t668 = b * t69; + const double t674 = 0.5e1 * t668 * t80 + 0.25e2 / 0.9e1 * t78 * t97 * t69; + const double t677 = 0.3e1 / 0.4e1 * t665 * t316 - 0.27e2 / 0.4e2 * t321 * t674; + const double t684 = t43 * t657; + const double t687 = t662 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t677 - 0.73e2 / 0.972e5 * t677 * t106 + 0.73e2 / 0.6e3 * t339 * t658 - t116 * t684 / 0.36e3; + const double t688 = t687 * t136; + const double t689 = t647 * t688; + const double t692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t646 * t689 ); + const double t693 = t6 * t157; + const double t694 = t279 * t416; + const double t695 = t158 * t175; + const double t700 = -t163 * t695 * t418 / 0.8e1 - t167 * t160; + const double t701 = t700 * t180; + const double t702 = t169 * t701; + const double t703 = t174 * tau_b; + const double t704 = 0.1e1 / t703; + const double t705 = t173 * t704; + const double t709 = ( t702 + t428 * t705 / 0.16e2 ) * t54; + const double t712 = t193 * t54; + const double t715 = b * t193; + const double t721 = 0.5e1 * t715 * t203 + 0.25e2 / 0.9e1 * t202 * t97 * t193; + const double t724 = 0.3e1 / 0.4e1 * t712 * t450 - 0.27e2 / 0.4e2 * t455 * t721; + const double t731 = t172 * t704; + const double t734 = t709 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t724 - 0.73e2 / 0.972e5 * t724 * t225 + 0.73e2 / 0.6e3 * t473 * t705 - t232 * t731 / 0.36e3; + const double t735 = t734 * t248; + const double t736 = t694 * t735; + const double t739 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t693 * t736 ); + const double t742 = t24 * t24; + const double t743 = 0.1e1 / t742; + const double t744 = t264 * t264; + const double t747 = t260 * t7; + const double t748 = 0.1e1 / t747; + const double t749 = t17 * t748; + const double t752 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t261 + 0.2e1 * t749 ); + const double t756 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t744 + 0.4e1 / 0.3e1 * t24 * t752 ); + const double t757 = t756 * t27; + const double t761 = t267 * t273; + const double t763 = t6 * t761 * t143; + const double t765 = t6 * t267; + const double t769 = 0.1e1 / t272 / t7; + const double t770 = t26 * t769; + const double t773 = t6 * t770 * t143 / 0.12e2; + const double t774 = t273 * t279; + const double t775 = t774 * t370; + const double t776 = t278 * t775; + const double t779 = 0.1e1 / t281 / t138; + const double t780 = t369 * t369; + const double t781 = t779 * t780; + const double t782 = t280 * t781; + const double t785 = t289 * t289; + const double t786 = t785 * t51; + const double t788 = t296 * t31; + const double t795 = t34 * t788 * t284 / 0.4e1 + t34 * t788 / 0.4e1 + t38 * t43; + const double t798 = t40 * t289; + const double t799 = t293 * t41; + const double t800 = t799 * t353; + const double t803 = t50 * t50; + const double t804 = 0.1e1 / t803; + const double t805 = t40 * t804; + const double t806 = t41 * t41; + const double t807 = 0.1e1 / t341; + const double t808 = t806 * t807; + const double t809 = t45 * t45; + const double t810 = 0.1e1 / t809; + const double t814 = 0.1e1 / t98; + const double t815 = t41 * t814; + const double t816 = t815 * t46; + const double t820 = ( t40 * t786 + t40 * t795 * t51 + t798 * t800 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t808 * t810 - 0.3e1 / 0.16e2 * t294 * t816 ) * t54; + const double t826 = 0.1e1 / t62 / t98; + const double t827 = t60 * t826; + const double t830 = t333 * t333; + const double t834 = sigma_aa * t826; + const double t836 = 0.4e2 / 0.9e1 * tau_a * t306 - 0.11e2 / 0.9e1 * t834; + const double t837 = t836 * t54; + const double t840 = t59 * t320; + const double t841 = t840 * t328; + const double t844 = t83 * t83; + const double t846 = 0.1e1 / t84 / t844; + const double t847 = t77 * t846; + const double t848 = t328 * t328; + const double t851 = b * t836; + const double t854 = t314 * t314; + const double t858 = t97 * t836; + const double t861 = 0.5e1 * t851 * t80 + 0.5e2 / 0.9e1 * b * t854 * t97 + 0.25e2 / 0.9e1 * t78 * t858; + const double t864 = t79 * t834; + const double t866 = 0.3e1 / 0.4e1 * t837 * t316 - 0.3e1 / 0.4e1 * t315 * t841 + 0.81e2 / 0.8e2 * t847 * t848 - 0.27e2 / 0.4e2 * t321 * t861 + 0.22e2 / 0.81e2 * t864; + const double t871 = t333 * t338; + const double t875 = 0.1e1 / t106 / t105; + const double t876 = t90 * t875; + const double t877 = t347 * t347; + const double t881 = t98 * t295; + const double t883 = 0.1e1 / t61 / t881; + const double t885 = t97 * t41 * t883; + const double t887 = 0.972e3 * t816 + 0.152e5 / 0.9e1 * t885; + const double t893 = t814 * t46; + const double t896 = t125 * t42; + const double t897 = 0.1e1 / t896; + const double t901 = t820 * t65 / 0.24e2 - 0.2e1 / 0.9e1 * t302 * t307 + 0.11e2 / 0.27e2 * t55 * t827 + 0.292e3 / 0.2025e4 * t830 + 0.292e3 / 0.2025e4 * t90 * t866 - 0.73e2 / 0.972e5 * t866 * t106 - 0.73e2 / 0.972e5 * t871 * t347 + 0.73e2 / 0.3888e6 * t876 * t877 - 0.73e2 / 0.1944e6 * t339 * t887 + 0.475e3 / 0.531441e6 * t110 * t111 * t883 + t116 * t893 / 0.12e3 + t120 * t124 * t897 / 0.32e2; + const double t904 = t361 * t364 * t115; + const double t907 = t135 * t135; + const double t908 = 0.1e1 / t907; + const double t910 = t130 * t908 * e; + const double t915 = t901 * t136 + 0.4e1 / 0.9e1 * t904 * t331 + 0.2e1 / 0.27e2 * t910 * t885 - 0.22e2 / 0.27e2 * t366 * t864; + const double t916 = t282 * t915; + const double t917 = t280 * t916; + const double t921 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t757 * t143 - t763 / 0.4e1 - 0.3e1 / 0.4e1 * t765 * t371 + t773 - t776 / 0.4e1 + 0.3e1 / 0.4e1 * t278 * t782 - 0.3e1 / 0.8e1 * t278 * t917 ); + const double t922 = t154 * t154; + const double t923 = 0.1e1 / t922; + const double t924 = t378 * t378; + const double t927 = t149 * t748; + const double t930 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t261 + 0.2e1 * t927 ); + const double t934 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t924 + 0.4e1 / 0.3e1 * t154 * t930 ); + const double t935 = t934 * t27; + const double t939 = t381 * t273; + const double t941 = t6 * t939 * t255; + const double t943 = t156 * t769; + const double t946 = t6 * t943 * t255 / 0.12e2; + const double t948 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t935 * t255 - t941 / 0.4e1 + t946 ); + const double t964 = t398 * t273; + const double t966 = t6 * t964 * t143; + const double t988 = t409 * t273; + const double t990 = t6 * t988 * t255; + const double t996 = t774 * t504; + const double t997 = t414 * t996; + const double t1005 = t395 * t395; + const double t1010 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t261 + 0.2e1 * t749 ); + const double t1014 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t1005 + 0.4e1 / 0.3e1 * t24 * t1010 ); + const double t1015 = t1014 * t27; + const double t1021 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1015 * t143 - t966 / 0.4e1 + t773 ); + const double t1022 = t406 * t406; + const double t1027 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t261 + 0.2e1 * t927 ); + const double t1031 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t1022 + 0.4e1 / 0.3e1 * t154 * t1027 ); + const double t1032 = t1031 * t27; + const double t1037 = t6 * t409; + const double t1042 = 0.1e1 / t415 / t250; + const double t1043 = t503 * t503; + const double t1044 = t1042 * t1043; + const double t1045 = t280 * t1044; + const double t1048 = t423 * t423; + const double t1049 = t1048 * t180; + const double t1051 = t430 * t160; + const double t1058 = t163 * t1051 * t418 / 0.4e1 + t163 * t1051 / 0.4e1 + t167 * t172; + const double t1061 = t169 * t423; + const double t1062 = t427 * t170; + const double t1063 = t1062 * t487; + const double t1066 = t179 * t179; + const double t1067 = 0.1e1 / t1066; + const double t1068 = t169 * t1067; + const double t1069 = t170 * t170; + const double t1070 = 0.1e1 / t475; + const double t1071 = t1069 * t1070; + const double t1072 = t174 * t174; + const double t1073 = 0.1e1 / t1072; + const double t1077 = 0.1e1 / t217; + const double t1078 = t170 * t1077; + const double t1079 = t1078 * t175; + const double t1083 = ( t169 * t1049 + t169 * t1058 * t180 + t1061 * t1063 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1071 * t1073 - 0.3e1 / 0.16e2 * t428 * t1079 ) * t54; + const double t1089 = 0.1e1 / t186 / t217; + const double t1090 = t184 * t1089; + const double t1093 = t467 * t467; + const double t1097 = sigma_bb * t1089; + const double t1099 = 0.4e2 / 0.9e1 * tau_b * t440 - 0.11e2 / 0.9e1 * t1097; + const double t1100 = t1099 * t54; + const double t1103 = t59 * t454; + const double t1104 = t1103 * t462; + const double t1107 = t206 * t206; + const double t1109 = 0.1e1 / t207 / t1107; + const double t1110 = t201 * t1109; + const double t1111 = t462 * t462; + const double t1114 = b * t1099; + const double t1117 = t448 * t448; + const double t1121 = t97 * t1099; + const double t1124 = 0.5e1 * t1114 * t203 + 0.5e2 / 0.9e1 * b * t1117 * t97 + 0.25e2 / 0.9e1 * t202 * t1121; + const double t1127 = t79 * t1097; + const double t1129 = 0.3e1 / 0.4e1 * t1100 * t450 - 0.3e1 / 0.4e1 * t449 * t1104 + 0.81e2 / 0.8e2 * t1110 * t1111 - 0.27e2 / 0.4e2 * t455 * t1124 + 0.22e2 / 0.81e2 * t1127; + const double t1134 = t467 * t472; + const double t1138 = 0.1e1 / t225 / t224; + const double t1139 = t213 * t1138; + const double t1140 = t481 * t481; + const double t1144 = t217 * t429; + const double t1146 = 0.1e1 / t185 / t1144; + const double t1148 = t97 * t170 * t1146; + const double t1150 = 0.972e3 * t1079 + 0.152e5 / 0.9e1 * t1148; + const double t1156 = t1077 * t175; + const double t1159 = t238 * t171; + const double t1160 = 0.1e1 / t1159; + const double t1164 = t1083 * t189 / 0.24e2 - 0.2e1 / 0.9e1 * t436 * t441 + 0.11e2 / 0.27e2 * t183 * t1090 + 0.292e3 / 0.2025e4 * t1093 + 0.292e3 / 0.2025e4 * t213 * t1129 - 0.73e2 / 0.972e5 * t1129 * t225 - 0.73e2 / 0.972e5 * t1134 * t481 + 0.73e2 / 0.3888e6 * t1139 * t1140 - 0.73e2 / 0.1944e6 * t473 * t1150 + 0.475e3 / 0.531441e6 * t110 * t228 * t1146 + t232 * t1156 / 0.12e3 + t120 * t237 * t1160 / 0.32e2; + const double t1167 = t495 * t498 * t115; + const double t1170 = t247 * t247; + const double t1171 = 0.1e1 / t1170; + const double t1173 = t243 * t1171 * e; + const double t1178 = t1164 * t248 + 0.4e1 / 0.9e1 * t1167 * t465 + 0.2e1 / 0.27e2 * t1173 * t1148 - 0.22e2 / 0.27e2 * t500 * t1127; + const double t1179 = t416 * t1178; + const double t1180 = t280 * t1179; + const double t1184 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t1032 * t255 - t990 / 0.4e1 - 0.3e1 / 0.4e1 * t1037 * t505 + t946 - t997 / 0.4e1 + 0.3e1 / 0.4e1 * t414 * t1045 - 0.3e1 / 0.8e1 * t414 * t1180 ); + const double t1189 = t774 * t574; + const double t1191 = t278 * t1189 / 0.8e1; + const double t1192 = t279 * t779; + const double t1193 = t573 * t369; + const double t1194 = t1192 * t1193; + const double t1197 = t289 * t518; + const double t1200 = BLOC_b * t43; + const double t1205 = -t1200 * t513 / 0.8e1 - t1200 * t31 / 0.4e1; + const double t1206 = t1205 * t51; + const double t1208 = t40 * t518; + const double t1211 = t293 * sigma_aa; + const double t1212 = t1211 * t117; + const double t1215 = 0.1e1 / t99; + const double t1216 = t123 * t1215; + const double t1220 = sigma_aa * t296; + const double t1221 = t1220 * t46; + const double t1225 = ( t40 * t1197 * t51 + t40 * t1206 + t1208 * t800 / 0.16e2 - t798 * t1212 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1216 * t810 + t294 * t1221 / 0.8e1 ) * t54; + const double t1232 = t59 * t306; + const double t1237 = t306 * t54; + const double t1238 = t1237 * t316; + const double t1240 = t532 * t841; + const double t1242 = t840 * t541; + const double t1245 = t541 * t328; + const double t1248 = b * t306; + const double t1249 = t1248 * t80; + const double t1251 = t535 * t325; + const double t1254 = t78 * t97 * t306; + const double t1256 = 0.5e1 / 0.3e1 * t1249 - 0.25e2 / 0.36e2 * t1251 + 0.25e2 / 0.27e2 * t1254; + const double t1259 = t1237 * t59; + const double t1261 = t1238 / 0.4e1 + 0.3e1 / 0.64e2 * t1240 - 0.3e1 / 0.8e1 * t315 * t1242 + 0.81e2 / 0.8e2 * t847 * t1245 - 0.27e2 / 0.4e2 * t321 * t1256 - 0.2e1 / 0.27e2 * t1259; + const double t1266 = t546 * t338; + const double t1271 = t555 * t347; + const double t1276 = t97 * sigma_aa * t343; + const double t1278 = -0.648e3 * t1221 - 0.16e4 / 0.3e1 * t1276; + const double t1289 = t1225 * t65 / 0.24e2 - t526 * t307 / 0.9e1 + t302 * t529 / 0.24e2 - t55 * t1232 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t546 + 0.292e3 / 0.2025e4 * t90 * t1261 - 0.73e2 / 0.972e5 * t1261 * t106 - 0.73e2 / 0.1944e6 * t1266 * t347 - 0.73e2 / 0.1944e6 * t871 * t555 + 0.73e2 / 0.3888e6 * t876 * t1271 - 0.73e2 / 0.1944e6 * t339 * t1278 - 0.5e2 / 0.177147e6 * t110 * t558 * t343 - t562 * t353 / 0.18e3 - t120 * t565 * t357 / 0.96e2; + const double t1292 = t569 * t364 * t115; + const double t1301 = t1289 * t136 + 0.2e1 / 0.9e1 * t1292 * t331 - t904 * t544 / 0.12e2 - t910 * t1276 / 0.36e2 + 0.2e1 / 0.9e1 * t366 * t1259; + const double t1302 = t282 * t1301; + const double t1303 = t280 * t1302; + const double t1307 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t765 * t575 - t1191 + 0.3e1 / 0.4e1 * t646 * t1194 - 0.3e1 / 0.8e1 * t278 * t1303 ); + const double t1311 = t774 * t641; + const double t1313 = t414 * t1311 / 0.8e1; + const double t1324 = t279 * t1042; + const double t1325 = t640 * t503; + const double t1326 = t1324 * t1325; + const double t1329 = t423 * t585; + const double t1332 = BLOC_b * t172; + const double t1337 = -t1332 * t580 / 0.8e1 - t1332 * t160 / 0.4e1; + const double t1338 = t1337 * t180; + const double t1340 = t169 * t585; + const double t1343 = t427 * sigma_bb; + const double t1344 = t1343 * t233; + const double t1347 = 0.1e1 / t218; + const double t1348 = t236 * t1347; + const double t1352 = sigma_bb * t430; + const double t1353 = t1352 * t175; + const double t1357 = ( t169 * t1329 * t180 + t169 * t1338 + t1340 * t1063 / 0.16e2 - t1061 * t1344 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1348 * t1073 + t428 * t1353 / 0.8e1 ) * t54; + const double t1364 = t59 * t440; + const double t1369 = t440 * t54; + const double t1370 = t1369 * t450; + const double t1372 = t599 * t1104; + const double t1374 = t1103 * t608; + const double t1377 = t608 * t462; + const double t1380 = b * t440; + const double t1381 = t1380 * t203; + const double t1383 = t602 * t459; + const double t1386 = t202 * t97 * t440; + const double t1388 = 0.5e1 / 0.3e1 * t1381 - 0.25e2 / 0.36e2 * t1383 + 0.25e2 / 0.27e2 * t1386; + const double t1391 = t1369 * t59; + const double t1393 = t1370 / 0.4e1 + 0.3e1 / 0.64e2 * t1372 - 0.3e1 / 0.8e1 * t449 * t1374 + 0.81e2 / 0.8e2 * t1110 * t1377 - 0.27e2 / 0.4e2 * t455 * t1388 - 0.2e1 / 0.27e2 * t1391; + const double t1398 = t613 * t472; + const double t1403 = t622 * t481; + const double t1408 = t97 * sigma_bb * t477; + const double t1410 = -0.648e3 * t1353 - 0.16e4 / 0.3e1 * t1408; + const double t1421 = t1357 * t189 / 0.24e2 - t593 * t441 / 0.9e1 + t436 * t596 / 0.24e2 - t183 * t1364 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t613 + 0.292e3 / 0.2025e4 * t213 * t1393 - 0.73e2 / 0.972e5 * t1393 * t225 - 0.73e2 / 0.1944e6 * t1398 * t481 - 0.73e2 / 0.1944e6 * t1134 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1403 - 0.73e2 / 0.1944e6 * t473 * t1410 - 0.5e2 / 0.177147e6 * t110 * t625 * t477 - t629 * t487 / 0.18e3 - t120 * t632 * t491 / 0.96e2; + const double t1424 = t636 * t498 * t115; + const double t1433 = t1421 * t248 + 0.2e1 / 0.9e1 * t1424 * t465 - t1167 * t611 / 0.12e2 - t1173 * t1408 / 0.36e2 + 0.2e1 / 0.9e1 * t500 * t1391; + const double t1434 = t416 * t1433; + const double t1435 = t280 * t1434; + const double t1439 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1037 * t642 - t1313 + 0.3e1 / 0.4e1 * t693 * t1326 - 0.3e1 / 0.8e1 * t414 * t1435 ); + const double t1441 = t6 * t268; + const double t1444 = t6 * t274; + const double t1446 = t1444 * t689 / 0.8e1; + const double t1448 = t1192 * t688 * t369; + const double t1451 = t289 * t653; + const double t1459 = t34 * t117 * t284 / 0.8e1 + t34 * t117 / 0.4e1; + const double t1460 = t1459 * t51; + const double t1462 = t40 * t653; + const double t1465 = t799 * t684; + const double t1468 = t806 * t1215; + const double t1470 = 0.1e1 / t809 / tau_a; + const double t1474 = t297 * t657; + const double t1478 = ( t40 * t1451 * t51 + t40 * t1460 + t1462 * t800 / 0.16e2 + t798 * t1465 / 0.16e2 + 0.3e1 / 0.512e3 * t805 * t1468 * t1470 - t294 * t1474 / 0.8e1 ) * t54; + const double t1488 = t840 * t674; + const double t1491 = t674 * t328; + const double t1498 = -0.25e2 / 0.3e1 * t536 + 0.5e2 / 0.9e1 * t668 * t325 - 0.125e3 / 0.27e2 * t539; + const double t1501 = -0.5e1 / 0.4e1 * t533 - 0.3e1 / 0.8e1 * t665 * t841 - 0.3e1 / 0.8e1 * t315 * t1488 + 0.81e2 / 0.8e2 * t847 * t1491 - 0.27e2 / 0.4e2 * t321 * t1498; + const double t1506 = t677 * t338; + const double t1511 = t876 * t41; + const double t1512 = t684 * t347; + const double t1517 = t296 * t657; + const double t1520 = t1478 * t65 / 0.24e2 - t662 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t677 + 0.292e3 / 0.2025e4 * t90 * t1501 - 0.73e2 / 0.972e5 * t1501 * t106 - 0.73e2 / 0.1944e6 * t1506 * t347 + 0.73e2 / 0.6e3 * t871 * t658 - 0.73e2 / 0.12e4 * t1511 * t1512 - 0.73e2 / 0.3e3 * t339 * t1474 + t116 * t1517 / 0.18e3; + const double t1521 = t1520 * t136; + const double t1522 = t647 * t1521; + const double t1525 = t280 * t282; + const double t1526 = t278 * t1525; + const double t1527 = t687 * t364; + const double t1528 = t1527 * t115; + const double t1529 = t1528 * t331; + const double t1533 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1441 * t689 - t1446 + 0.3e1 / 0.4e1 * t646 * t1448 - 0.3e1 / 0.8e1 * t646 * t1522 - t1526 * t1529 / 0.12e2 ); + const double t1538 = t6 * t386; + const double t1540 = t1538 * t736 / 0.8e1; + const double t1550 = t6 * t410; + const double t1554 = t1324 * t735 * t503; + const double t1557 = t423 * t700; + const double t1565 = t163 * t233 * t418 / 0.8e1 + t163 * t233 / 0.4e1; + const double t1566 = t1565 * t180; + const double t1568 = t169 * t700; + const double t1571 = t1062 * t731; + const double t1574 = t1069 * t1347; + const double t1576 = 0.1e1 / t1072 / tau_b; + const double t1580 = t431 * t704; + const double t1584 = ( t169 * t1557 * t180 + t169 * t1566 + t1568 * t1063 / 0.16e2 + t1061 * t1571 / 0.16e2 + 0.3e1 / 0.512e3 * t1068 * t1574 * t1576 - t428 * t1580 / 0.8e1 ) * t54; + const double t1594 = t1103 * t721; + const double t1597 = t721 * t462; + const double t1604 = -0.25e2 / 0.3e1 * t603 + 0.5e2 / 0.9e1 * t715 * t459 - 0.125e3 / 0.27e2 * t606; + const double t1607 = -0.5e1 / 0.4e1 * t600 - 0.3e1 / 0.8e1 * t712 * t1104 - 0.3e1 / 0.8e1 * t449 * t1594 + 0.81e2 / 0.8e2 * t1110 * t1597 - 0.27e2 / 0.4e2 * t455 * t1604; + const double t1612 = t724 * t472; + const double t1617 = t1139 * t170; + const double t1618 = t731 * t481; + const double t1623 = t430 * t704; + const double t1626 = t1584 * t189 / 0.24e2 - t709 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t724 + 0.292e3 / 0.2025e4 * t213 * t1607 - 0.73e2 / 0.972e5 * t1607 * t225 - 0.73e2 / 0.1944e6 * t1612 * t481 + 0.73e2 / 0.6e3 * t1134 * t705 - 0.73e2 / 0.12e4 * t1617 * t1618 - 0.73e2 / 0.3e3 * t473 * t1580 + t232 * t1623 / 0.18e3; + const double t1627 = t1626 * t248; + const double t1628 = t694 * t1627; + const double t1631 = t280 * t416; + const double t1632 = t414 * t1631; + const double t1633 = t734 * t498; + const double t1634 = t1633 * t115; + const double t1635 = t1634 * t465; + const double t1639 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1550 * t736 - t1540 + 0.3e1 / 0.4e1 * t693 * t1554 - 0.3e1 / 0.8e1 * t693 * t1628 - t1632 * t1635 / 0.12e2 ); + const double t1641 = t573 * t573; + const double t1642 = t779 * t1641; + const double t1643 = t280 * t1642; + const double t1646 = t518 * t518; + const double t1647 = t1646 * t51; + const double t1652 = 0.1e1 / t41; + const double t1654 = t512 * t31 * t516 / 0.4e1 - t38 * t1652; + const double t1659 = t815 * t810; + const double t1662 = t293 * t43; + const double t1663 = t1662 * t46; + const double t1667 = ( t40 * t1647 + t40 * t1654 * t51 - t1208 * t1212 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1659 - t40 * t1663 / 0.16e2 ) * t54; + const double t1672 = t546 * t546; + const double t1674 = t532 * t1242; + const double t1676 = t541 * t541; + const double t1679 = t321 * b; + const double t1680 = t97 * t101; + const double t1681 = t1679 * t1680; + const double t1683 = 0.3e1 / 0.32e2 * t1674 + 0.81e2 / 0.8e2 * t847 * t1676 - 0.15e2 / 0.256e3 * t1681; + const double t1690 = t555 * t555; + const double t1695 = 0.324e3 * t117 + 0.1e3 * t1680; + const double t1698 = t96 * t101; + const double t1701 = t115 * t43; + const double t1704 = t122 * sigma_aa; + const double t1708 = t1667 * t65 / 0.24e2 + t526 * t529 / 0.12e2 + 0.292e3 / 0.2025e4 * t1672 + 0.292e3 / 0.2025e4 * t90 * t1683 - 0.73e2 / 0.972e5 * t1683 * t106 - 0.73e2 / 0.972e5 * t1266 * t555 + 0.73e2 / 0.3888e6 * t876 * t1690 - 0.73e2 / 0.1944e6 * t339 * t1695 + 0.25e2 / 0.472392e6 * t110 * t1698 + t1701 * t46 / 0.36e3 + t120 * t1704 * t126 / 0.384e3; + const double t1714 = t1708 * t136 - t1292 * t544 / 0.6e1 + t910 * t1680 / 0.96e2; + const double t1715 = t282 * t1714; + const double t1716 = t280 * t1715; + const double t1720 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t278 * t1643 - 0.3e1 / 0.8e1 * t278 * t1716 ); + const double t1721 = t640 * t640; + const double t1722 = t1042 * t1721; + const double t1723 = t280 * t1722; + const double t1726 = t585 * t585; + const double t1727 = t1726 * t180; + const double t1732 = 0.1e1 / t170; + const double t1734 = t579 * t160 * t583 / 0.4e1 - t167 * t1732; + const double t1739 = t1078 * t1073; + const double t1742 = t427 * t172; + const double t1743 = t1742 * t175; + const double t1747 = ( t169 * t1727 + t169 * t1734 * t180 - t1340 * t1344 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1739 - t169 * t1743 / 0.16e2 ) * t54; + const double t1752 = t613 * t613; + const double t1754 = t599 * t1374; + const double t1756 = t608 * t608; + const double t1759 = t455 * b; + const double t1760 = t97 * t220; + const double t1761 = t1759 * t1760; + const double t1763 = 0.3e1 / 0.32e2 * t1754 + 0.81e2 / 0.8e2 * t1110 * t1756 - 0.15e2 / 0.256e3 * t1761; + const double t1770 = t622 * t622; + const double t1775 = 0.324e3 * t233 + 0.1e3 * t1760; + const double t1778 = t96 * t220; + const double t1781 = t115 * t172; + const double t1784 = t122 * sigma_bb; + const double t1788 = t1747 * t189 / 0.24e2 + t593 * t596 / 0.12e2 + 0.292e3 / 0.2025e4 * t1752 + 0.292e3 / 0.2025e4 * t213 * t1763 - 0.73e2 / 0.972e5 * t1763 * t225 - 0.73e2 / 0.972e5 * t1398 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1770 - 0.73e2 / 0.1944e6 * t473 * t1775 + 0.25e2 / 0.472392e6 * t110 * t1778 + t1781 * t175 / 0.36e3 + t120 * t1784 * t239 / 0.384e3; + const double t1794 = t1788 * t248 - t1424 * t611 / 0.6e1 + t1173 * t1760 / 0.96e2; + const double t1795 = t416 * t1794; + const double t1796 = t280 * t1795; + const double t1800 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t414 * t1723 - 0.3e1 / 0.8e1 * t414 * t1796 ); + const double t1802 = t1192 * t688 * t573; + const double t1805 = t518 * t653; + const double t1806 = t1805 * t51; + const double t1808 = t46 * t284; + const double t1813 = -t512 * t1808 / 0.8e1 - t512 * t46 / 0.4e1; + const double t1814 = t1813 * t51; + const double t1820 = t123 * t814; + const double t1824 = t521 * t657; + const double t1828 = ( t40 * t1806 + t40 * t1814 - t1462 * t1212 / 0.16e2 + t1208 * t1465 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1820 * t1470 + t294 * t1824 / 0.8e1 ) * t54; + const double t1837 = t532 * t1488; + const double t1839 = t674 * t541; + const double t1843 = 0.1e1 / t61 / t98; + const double t1844 = t1843 * t94; + const double t1846 = t1679 * t1844 * t96; + const double t1848 = -0.3e1 / 0.8e1 * t665 * t1242 + 0.3e1 / 0.64e2 * t1837 + 0.81e2 / 0.8e2 * t847 * t1839 + 0.15e2 / 0.32e2 * t1846; + const double t1857 = t684 * t555; + const double t1864 = t1828 * t65 / 0.24e2 + t662 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t546 * t677 + 0.292e3 / 0.2025e4 * t90 * t1848 - 0.73e2 / 0.972e5 * t1848 * t106 - 0.73e2 / 0.1944e6 * t1506 * t555 + 0.73e2 / 0.6e3 * t1266 * t658 - 0.73e2 / 0.12e4 * t1511 * t1857 + 0.73e2 / 0.3e3 * t339 * t1824 - t562 * t684 / 0.18e3; + const double t1865 = t1864 * t136; + const double t1866 = t647 * t1865; + const double t1869 = t1528 * t544; + const double t1873 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1802 - 0.3e1 / 0.8e1 * t646 * t1866 + t1526 * t1869 / 0.32e2 ); + const double t1875 = t1324 * t735 * t640; + const double t1878 = t585 * t700; + const double t1879 = t1878 * t180; + const double t1881 = t175 * t418; + const double t1886 = -t579 * t1881 / 0.8e1 - t579 * t175 / 0.4e1; + const double t1887 = t1886 * t180; + const double t1893 = t236 * t1077; + const double t1897 = t588 * t704; + const double t1901 = ( t169 * t1879 + t169 * t1887 - t1568 * t1344 / 0.16e2 + t1340 * t1571 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1893 * t1576 + t428 * t1897 / 0.8e1 ) * t54; + const double t1910 = t599 * t1594; + const double t1912 = t721 * t608; + const double t1916 = 0.1e1 / t185 / t217; + const double t1917 = t1916 * t94; + const double t1919 = t1759 * t1917 * t96; + const double t1921 = -0.3e1 / 0.8e1 * t712 * t1374 + 0.3e1 / 0.64e2 * t1910 + 0.81e2 / 0.8e2 * t1110 * t1912 + 0.15e2 / 0.32e2 * t1919; + const double t1930 = t731 * t622; + const double t1937 = t1901 * t189 / 0.24e2 + t709 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t613 * t724 + 0.292e3 / 0.2025e4 * t213 * t1921 - 0.73e2 / 0.972e5 * t1921 * t225 - 0.73e2 / 0.1944e6 * t1612 * t622 + 0.73e2 / 0.6e3 * t1398 * t705 - 0.73e2 / 0.12e4 * t1617 * t1930 + 0.73e2 / 0.3e3 * t473 * t1897 - t629 * t731 / 0.18e3; + const double t1938 = t1937 * t248; + const double t1939 = t694 * t1938; + const double t1942 = t1634 * t611; + const double t1946 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t1875 - 0.3e1 / 0.8e1 * t693 * t1939 + t1632 * t1942 / 0.32e2 ); + const double t1947 = t687 * t687; + const double t1948 = t1947 * t908; + const double t1949 = t1192 * t1948; + const double t1952 = t653 * t653; + const double t1953 = t1952 * t51; + const double t1955 = t29 * t657; + const double t1962 = t34 * t1955 * t284 / 0.4e1 + t34 * t1955 / 0.4e1 + t38 * t46; + const double t1967 = t806 * t814; + const double t1969 = 0.1e1 / t809 / t45; + const double t1970 = t1967 * t1969; + const double t1973 = t44 * t810; + const double t1977 = ( t40 * t1953 + t40 * t1962 * t51 + t1462 * t1465 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1970 - 0.3e1 / 0.16e2 * t294 * t1973 ) * t54; + const double t1980 = t677 * t677; + const double t1984 = t674 * t674; + const double t1988 = 0.1e1 / t61 / t295; + const double t1989 = t1988 * t94; + const double t1993 = -0.3e1 / 0.4e1 * t665 * t1488 + 0.81e2 / 0.8e2 * t847 * t1984 - 0.15e2 / 0.4e1 * t1679 * t1989 * t96; + const double t2004 = t43 * t810; + const double t2007 = t1977 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t1980 + 0.292e3 / 0.2025e4 * t90 * t1993 - 0.73e2 / 0.972e5 * t1993 * t106 + 0.73e2 / 0.3e3 * t1506 * t658 + 0.1971e4 / 0.1e3 * t876 * t1970 - 0.73e2 / 0.2e3 * t339 * t1973 + t116 * t2004 / 0.12e3; + const double t2008 = t2007 * t136; + const double t2009 = t647 * t2008; + const double t2013 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1949 - 0.3e1 / 0.8e1 * t646 * t2009 ); + const double t2014 = t734 * t734; + const double t2015 = t2014 * t1171; + const double t2016 = t1324 * t2015; + const double t2019 = t700 * t700; + const double t2020 = t2019 * t180; + const double t2022 = t158 * t704; + const double t2029 = t163 * t2022 * t418 / 0.4e1 + t163 * t2022 / 0.4e1 + t167 * t175; + const double t2034 = t1069 * t1077; + const double t2036 = 0.1e1 / t1072 / t174; + const double t2037 = t2034 * t2036; + const double t2040 = t173 * t1073; + const double t2044 = ( t169 * t2020 + t169 * t2029 * t180 + t1568 * t1571 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t2037 - 0.3e1 / 0.16e2 * t428 * t2040 ) * t54; + const double t2047 = t724 * t724; + const double t2051 = t721 * t721; + const double t2055 = 0.1e1 / t185 / t429; + const double t2056 = t2055 * t94; + const double t2060 = -0.3e1 / 0.4e1 * t712 * t1594 + 0.81e2 / 0.8e2 * t1110 * t2051 - 0.15e2 / 0.4e1 * t1759 * t2056 * t96; + const double t2071 = t172 * t1073; + const double t2074 = t2044 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t2047 + 0.292e3 / 0.2025e4 * t213 * t2060 - 0.73e2 / 0.972e5 * t2060 * t225 + 0.73e2 / 0.3e3 * t1612 * t705 + 0.1971e4 / 0.1e3 * t1139 * t2037 - 0.73e2 / 0.2e3 * t473 * t2040 + t232 * t2071 / 0.12e3; + const double t2075 = t2074 * t248; + const double t2076 = t694 * t2075; + const double t2080 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t2016 - 0.3e1 / 0.8e1 * t693 * t2076 ); + + + v2rho2_aa = 0.2e1 * t375 + 0.2e1 * t391 + t7 * ( t921 + t948 ); + v2rho2_bb = 0.2e1 * t404 + 0.2e1 * t509 + t7 * ( t1021 + t1184 ); + v2rhosigma_a_aa = t7 * t1307 + t578; + v2rhosigma_b_bb = t7 * t1439 + t645; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1533 + t692; + v2rhotau_b_b = t7 * t1639 + t739; + v2sigma2_aa_aa = t7 * t1720; + v2sigma2_bb_bb = t7 * t1800; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1873; + v2sigmatau_bb_b = t7 * t1946; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2013; + v2tau2_bb = t7 * t2080; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double lapl_a, double lapl_b, double tau_a, double tau_b, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& vlapl_a, double& vlapl_b, double& vtau_a, double& vtau_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2rholapl_a_a, double& v2rholapl_a_b, double& v2rholapl_b_a, double& v2rholapl_b_b, double& v2rhotau_a_a, double& v2rhotau_a_b, double& v2rhotau_b_a, double& v2rhotau_b_b, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb, double& v2sigmalapl_aa_a, double& v2sigmalapl_aa_b, double& v2sigmalapl_ab_a, double& v2sigmalapl_ab_b, double& v2sigmalapl_bb_a, double& v2sigmalapl_bb_b, double& v2sigmatau_aa_a, double& v2sigmatau_aa_b, double& v2sigmatau_ab_a, double& v2sigmatau_ab_b, double& v2sigmatau_bb_a, double& v2sigmatau_bb_b, double& v2lapl2_aa, double& v2lapl2_ab, double& v2lapl2_bb, double& v2lapltau_a_a, double& v2lapltau_a_b, double& v2lapltau_b_a, double& v2lapltau_b_b, double& v2tau2_aa, double& v2tau2_ab, double& v2tau2_bb ) { + + (void)(sigma_ab); + (void)(lapl_a); + (void)(lapl_b); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t54 = constants::m_cbrt_6; + constexpr double t56 = constants::m_pi_sq; + constexpr double t57 = constants::m_cbrt_pi_sq; + constexpr double t6 = t3 / t4; + constexpr double t58 = t57 * t57; + constexpr double t59 = 0.1e1 / t58; + constexpr double t79 = t54 * t59; + constexpr double t94 = t54 * t54; + constexpr double t96 = 0.1e1 / t57 / t56; + constexpr double t97 = t94 * t96; + constexpr double t110 = 0.1e1 / kappa * t94; + constexpr double t120 = e * mu; + constexpr double t121 = t56 * t56; + constexpr double t122 = 0.1e1 / t121; + constexpr double t279 = kappa * kappa; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t11 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t12 = zeta_tol - 0.1e1; + const double t15 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t16 = -t12; + const double t17 = rho_a - rho_b; + const double t19 = piecewise_functor_5( t11, t12, t15, t16, t17 * t8 ); + const double t20 = 0.1e1 + t19; + const double t21 = t20 <= zeta_tol; + const double t22 = safe_math::cbrt( zeta_tol ); + const double t23 = t22 * zeta_tol; + const double t24 = safe_math::cbrt( t20 ); + const double t26 = piecewise_functor_3( t21, t23, t24 * t20 ); + const double t27 = safe_math::cbrt( t7 ); + const double t28 = t26 * t27; + const double t29 = 0.1e1 / rho_a; + const double t31 = 0.1e1 / tau_a; + const double t33 = sigma_aa * t29 * t31 / 0.8e1; + const double t34 = BLOC_b * sigma_aa; + const double t38 = BLOC_a + t34 * t29 * t31 / 0.8e1; + const double t39 = safe_math::pow( t33, t38 ); + const double t40 = c * t39; + const double t41 = sigma_aa * sigma_aa; + const double t42 = rho_a * rho_a; + const double t43 = 0.1e1 / t42; + const double t44 = t41 * t43; + const double t45 = tau_a * tau_a; + const double t46 = 0.1e1 / t45; + const double t47 = t44 * t46; + const double t49 = 0.1e1 + t47 / 0.64e2; + const double t50 = t49 * t49; + const double t51 = 0.1e1 / t50; + const double t55 = ( 0.1e2 / 0.81e2 + t40 * t51 ) * t54; + const double t60 = t59 * sigma_aa; + const double t61 = safe_math::cbrt( rho_a ); + const double t62 = t61 * t61; + const double t64 = 0.1e1 / t62 / t42; + const double t65 = t60 * t64; + const double t69 = 0.1e1 / t62 / rho_a; + const double t71 = sigma_aa * t64; + const double t73 = tau_a * t69 - t71 / 0.8e1; + const double t77 = 0.5e1 / 0.9e1 * t73 * t54 * t59 - 0.1e1; + const double t78 = b * t73; + const double t80 = t79 * t77; + const double t83 = 0.5e1 * t78 * t80 + 0.9e1; + const double t84 = safe_math::sqrt( t83 ); + const double t85 = 0.1e1 / t84; + const double t90 = 0.27e2 / 0.2e2 * t77 * t85 + t79 * t71 / 0.36e2; + const double t91 = t90 * t90; + const double t98 = t42 * t42; + const double t99 = t98 * rho_a; + const double t101 = 0.1e1 / t61 / t99; + const double t105 = 0.5e2 * t97 * t41 * t101 + 0.162e3 * t47; + const double t106 = safe_math::sqrt( t105 ); + const double t111 = t96 * t41; + const double t115 = safe_math::sqrt( e ); + const double t116 = t115 * t41; + const double t117 = t43 * t46; + const double t123 = t41 * sigma_aa; + const double t124 = t122 * t123; + const double t125 = t98 * t98; + const double t126 = 0.1e1 / t125; + const double t130 = t55 * t65 / 0.24e2 + 0.146e3 / 0.2025e4 * t91 - 0.73e2 / 0.972e5 * t90 * t106 + 0.25e2 / 0.944784e6 * t110 * t111 * t101 + t116 * t117 / 0.72e3 + t120 * t124 * t126 / 0.2304e4; + const double t131 = t115 * t54; + const double t134 = 0.1e1 + t131 * t65 / 0.24e2; + const double t135 = t134 * t134; + const double t136 = 0.1e1 / t135; + const double t138 = t130 * t136 + kappa; + const double t143 = 0.1e1 + kappa * ( 0.1e1 - kappa / t138 ); + const double t147 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t28 * t143 ); + const double t148 = rho_b <= dens_tol; + const double t149 = -t17; + const double t151 = piecewise_functor_5( t15, t12, t11, t16, t149 * t8 ); + const double t152 = 0.1e1 + t151; + const double t153 = t152 <= zeta_tol; + const double t154 = safe_math::cbrt( t152 ); + const double t156 = piecewise_functor_3( t153, t23, t154 * t152 ); + const double t157 = t156 * t27; + const double t158 = 0.1e1 / rho_b; + const double t160 = 0.1e1 / tau_b; + const double t162 = sigma_bb * t158 * t160 / 0.8e1; + const double t163 = BLOC_b * sigma_bb; + const double t167 = BLOC_a + t163 * t158 * t160 / 0.8e1; + const double t168 = safe_math::pow( t162, t167 ); + const double t169 = c * t168; + const double t170 = sigma_bb * sigma_bb; + const double t171 = rho_b * rho_b; + const double t172 = 0.1e1 / t171; + const double t173 = t170 * t172; + const double t174 = tau_b * tau_b; + const double t175 = 0.1e1 / t174; + const double t176 = t173 * t175; + const double t178 = 0.1e1 + t176 / 0.64e2; + const double t179 = t178 * t178; + const double t180 = 0.1e1 / t179; + const double t183 = ( 0.1e2 / 0.81e2 + t169 * t180 ) * t54; + const double t184 = t59 * sigma_bb; + const double t185 = safe_math::cbrt( rho_b ); + const double t186 = t185 * t185; + const double t188 = 0.1e1 / t186 / t171; + const double t189 = t184 * t188; + const double t193 = 0.1e1 / t186 / rho_b; + const double t195 = sigma_bb * t188; + const double t197 = tau_b * t193 - t195 / 0.8e1; + const double t201 = 0.5e1 / 0.9e1 * t197 * t54 * t59 - 0.1e1; + const double t202 = b * t197; + const double t203 = t79 * t201; + const double t206 = 0.5e1 * t202 * t203 + 0.9e1; + const double t207 = safe_math::sqrt( t206 ); + const double t208 = 0.1e1 / t207; + const double t213 = 0.27e2 / 0.2e2 * t201 * t208 + t79 * t195 / 0.36e2; + const double t214 = t213 * t213; + const double t217 = t171 * t171; + const double t218 = t217 * rho_b; + const double t220 = 0.1e1 / t185 / t218; + const double t224 = 0.5e2 * t97 * t170 * t220 + 0.162e3 * t176; + const double t225 = safe_math::sqrt( t224 ); + const double t228 = t96 * t170; + const double t232 = t115 * t170; + const double t233 = t172 * t175; + const double t236 = t170 * sigma_bb; + const double t237 = t122 * t236; + const double t238 = t217 * t217; + const double t239 = 0.1e1 / t238; + const double t243 = t183 * t189 / 0.24e2 + 0.146e3 / 0.2025e4 * t214 - 0.73e2 / 0.972e5 * t213 * t225 + 0.25e2 / 0.944784e6 * t110 * t228 * t220 + t232 * t233 / 0.72e3 + t120 * t237 * t239 / 0.2304e4; + const double t246 = 0.1e1 + t131 * t189 / 0.24e2; + const double t247 = t246 * t246; + const double t248 = 0.1e1 / t247; + const double t250 = t243 * t248 + kappa; + const double t255 = 0.1e1 + kappa * ( 0.1e1 - kappa / t250 ); + const double t259 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t157 * t255 ); + const double t260 = t7 * t7; + const double t261 = 0.1e1 / t260; + const double t262 = t17 * t261; + const double t264 = piecewise_functor_5( t11, 0.0, t15, 0.0, t8 - t262 ); + const double t267 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t264 ); + const double t268 = t267 * t27; + const double t272 = t27 * t27; + const double t273 = 0.1e1 / t272; + const double t274 = t26 * t273; + const double t277 = t6 * t274 * t143 / 0.8e1; + const double t278 = t6 * t26; + const double t280 = t27 * t279; + const double t281 = t138 * t138; + const double t282 = 0.1e1 / t281; + const double t283 = t43 * t31; + const double t284 = safe_math::log( t33 ); + const double t289 = -t34 * t283 * t284 / 0.8e1 - t38 * t29; + const double t290 = t289 * t51; + const double t293 = 0.1e1 / t50 / t49; + const double t294 = t40 * t293; + const double t295 = t42 * rho_a; + const double t296 = 0.1e1 / t295; + const double t297 = t41 * t296; + const double t298 = t297 * t46; + const double t302 = ( t40 * t290 + t294 * t298 / 0.16e2 ) * t54; + const double t306 = 0.1e1 / t62 / t295; + const double t307 = t60 * t306; + const double t312 = sigma_aa * t306; + const double t314 = -0.5e1 / 0.3e1 * tau_a * t64 + t312 / 0.3e1; + const double t315 = t314 * t54; + const double t316 = t59 * t85; + const double t320 = 0.1e1 / t84 / t83; + const double t321 = t77 * t320; + const double t325 = t97 * t314; + const double t328 = 0.5e1 * b * t314 * t80 + 0.25e2 / 0.9e1 * t78 * t325; + const double t331 = t79 * t312; + const double t333 = 0.3e1 / 0.4e1 * t315 * t316 - 0.27e2 / 0.4e2 * t321 * t328 - 0.2e1 / 0.27e2 * t331; + const double t338 = 0.1e1 / t106; + const double t339 = t90 * t338; + const double t341 = t98 * t42; + const double t343 = 0.1e1 / t61 / t341; + const double t347 = -0.324e3 * t298 - 0.8e3 / 0.3e1 * t97 * t41 * t343; + const double t353 = t296 * t46; + const double t356 = t125 * rho_a; + const double t357 = 0.1e1 / t356; + const double t361 = t302 * t65 / 0.24e2 - t55 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t90 * t333 - 0.73e2 / 0.972e5 * t333 * t106 - 0.73e2 / 0.1944e6 * t339 * t347 - 0.25e2 / 0.177147e6 * t110 * t111 * t343 - t116 * t353 / 0.36e3 - t120 * t124 * t357 / 0.288e3; + const double t363 = t135 * t134; + const double t364 = 0.1e1 / t363; + const double t366 = t130 * t364 * t115; + const double t369 = t361 * t136 + 0.2e1 / 0.9e1 * t366 * t331; + const double t370 = t282 * t369; + const double t371 = t280 * t370; + const double t375 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t268 * t143 - t277 - 0.3e1 / 0.8e1 * t278 * t371 ); + const double t376 = t149 * t261; + const double t378 = piecewise_functor_5( t15, 0.0, t11, 0.0, -t8 - t376 ); + const double t381 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t378 ); + const double t382 = t381 * t27; + const double t386 = t156 * t273; + const double t389 = t6 * t386 * t255 / 0.8e1; + const double t391 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t382 * t255 - t389 ); + const double t395 = piecewise_functor_5( t11, 0.0, t15, 0.0, -t8 - t262 ); + const double t398 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.3e1 * t24 * t395 ); + const double t399 = t398 * t27; + const double t404 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t399 * t143 - t277 ); + const double t406 = piecewise_functor_5( t15, 0.0, t11, 0.0, t8 - t376 ); + const double t409 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.3e1 * t154 * t406 ); + const double t410 = t409 * t27; + const double t414 = t6 * t156; + const double t415 = t250 * t250; + const double t416 = 0.1e1 / t415; + const double t417 = t172 * t160; + const double t418 = safe_math::log( t162 ); + const double t423 = -t163 * t417 * t418 / 0.8e1 - t167 * t158; + const double t424 = t423 * t180; + const double t427 = 0.1e1 / t179 / t178; + const double t428 = t169 * t427; + const double t429 = t171 * rho_b; + const double t430 = 0.1e1 / t429; + const double t431 = t170 * t430; + const double t432 = t431 * t175; + const double t436 = ( t169 * t424 + t428 * t432 / 0.16e2 ) * t54; + const double t440 = 0.1e1 / t186 / t429; + const double t441 = t184 * t440; + const double t446 = sigma_bb * t440; + const double t448 = -0.5e1 / 0.3e1 * tau_b * t188 + t446 / 0.3e1; + const double t449 = t448 * t54; + const double t450 = t59 * t208; + const double t454 = 0.1e1 / t207 / t206; + const double t455 = t201 * t454; + const double t459 = t97 * t448; + const double t462 = 0.5e1 * b * t448 * t203 + 0.25e2 / 0.9e1 * t202 * t459; + const double t465 = t79 * t446; + const double t467 = 0.3e1 / 0.4e1 * t449 * t450 - 0.27e2 / 0.4e2 * t455 * t462 - 0.2e1 / 0.27e2 * t465; + const double t472 = 0.1e1 / t225; + const double t473 = t213 * t472; + const double t475 = t217 * t171; + const double t477 = 0.1e1 / t185 / t475; + const double t481 = -0.324e3 * t432 - 0.8e3 / 0.3e1 * t97 * t170 * t477; + const double t487 = t430 * t175; + const double t490 = t238 * rho_b; + const double t491 = 0.1e1 / t490; + const double t495 = t436 * t189 / 0.24e2 - t183 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t213 * t467 - 0.73e2 / 0.972e5 * t467 * t225 - 0.73e2 / 0.1944e6 * t473 * t481 - 0.25e2 / 0.177147e6 * t110 * t228 * t477 - t232 * t487 / 0.36e3 - t120 * t237 * t491 / 0.288e3; + const double t497 = t247 * t246; + const double t498 = 0.1e1 / t497; + const double t500 = t243 * t498 * t115; + const double t503 = t495 * t248 + 0.2e1 / 0.9e1 * t500 * t465; + const double t504 = t416 * t503; + const double t505 = t280 * t504; + const double t509 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t410 * t255 - t389 - 0.3e1 / 0.8e1 * t414 * t505 ); + const double t512 = BLOC_b * t29; + const double t513 = t31 * t284; + const double t516 = 0.1e1 / sigma_aa; + const double t518 = t512 * t513 / 0.8e1 + t38 * t516; + const double t519 = t518 * t51; + const double t520 = t40 * t519; + const double t521 = sigma_aa * t43; + const double t522 = t521 * t46; + const double t526 = ( t520 - t294 * t522 / 0.16e2 ) * t54; + const double t529 = t59 * t64; + const double t532 = t64 * t54; + const double t533 = t532 * t316; + const double t535 = b * t64; + const double t536 = t535 * t80; + const double t539 = t78 * t97 * t64; + const double t541 = -0.5e1 / 0.8e1 * t536 - 0.25e2 / 0.72e2 * t539; + const double t544 = t532 * t59; + const double t546 = -0.3e1 / 0.32e2 * t533 - 0.27e2 / 0.4e2 * t321 * t541 + t544 / 0.36e2; + const double t555 = 0.1e3 * t97 * sigma_aa * t101 + 0.324e3 * t522; + const double t558 = t96 * sigma_aa; + const double t562 = t115 * sigma_aa; + const double t565 = t122 * t41; + const double t569 = t526 * t65 / 0.24e2 + t55 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t546 - 0.73e2 / 0.972e5 * t546 * t106 - 0.73e2 / 0.1944e6 * t339 * t555 + 0.25e2 / 0.472392e6 * t110 * t558 * t101 + t562 * t117 / 0.36e3 + t120 * t565 * t126 / 0.768e3; + const double t573 = t569 * t136 - t366 * t544 / 0.12e2; + const double t574 = t282 * t573; + const double t575 = t280 * t574; + const double t578 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t278 * t575 ); + const double t579 = BLOC_b * t158; + const double t580 = t160 * t418; + const double t583 = 0.1e1 / sigma_bb; + const double t585 = t579 * t580 / 0.8e1 + t167 * t583; + const double t586 = t585 * t180; + const double t587 = t169 * t586; + const double t588 = sigma_bb * t172; + const double t589 = t588 * t175; + const double t593 = ( t587 - t428 * t589 / 0.16e2 ) * t54; + const double t596 = t59 * t188; + const double t599 = t188 * t54; + const double t600 = t599 * t450; + const double t602 = b * t188; + const double t603 = t602 * t203; + const double t606 = t202 * t97 * t188; + const double t608 = -0.5e1 / 0.8e1 * t603 - 0.25e2 / 0.72e2 * t606; + const double t611 = t599 * t59; + const double t613 = -0.3e1 / 0.32e2 * t600 - 0.27e2 / 0.4e2 * t455 * t608 + t611 / 0.36e2; + const double t622 = 0.1e3 * t97 * sigma_bb * t220 + 0.324e3 * t589; + const double t625 = t96 * sigma_bb; + const double t629 = t115 * sigma_bb; + const double t632 = t122 * t170; + const double t636 = t593 * t189 / 0.24e2 + t183 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t613 - 0.73e2 / 0.972e5 * t613 * t225 - 0.73e2 / 0.1944e6 * t473 * t622 + 0.25e2 / 0.472392e6 * t110 * t625 * t220 + t629 * t233 / 0.36e3 + t120 * t632 * t239 / 0.768e3; + const double t640 = t636 * t248 - t500 * t611 / 0.12e2; + const double t641 = t416 * t640; + const double t642 = t280 * t641; + const double t645 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t414 * t642 ); + const double t646 = t6 * t28; + const double t647 = t279 * t282; + const double t648 = t29 * t46; + const double t653 = -t34 * t648 * t284 / 0.8e1 - t38 * t31; + const double t654 = t653 * t51; + const double t655 = t40 * t654; + const double t656 = t45 * tau_a; + const double t657 = 0.1e1 / t656; + const double t658 = t44 * t657; + const double t662 = ( t655 + t294 * t658 / 0.16e2 ) * t54; + const double t665 = t69 * t54; + const double t668 = b * t69; + const double t674 = 0.5e1 * t668 * t80 + 0.25e2 / 0.9e1 * t78 * t97 * t69; + const double t677 = 0.3e1 / 0.4e1 * t665 * t316 - 0.27e2 / 0.4e2 * t321 * t674; + const double t684 = t43 * t657; + const double t687 = t662 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t90 * t677 - 0.73e2 / 0.972e5 * t677 * t106 + 0.73e2 / 0.6e3 * t339 * t658 - t116 * t684 / 0.36e3; + const double t688 = t687 * t136; + const double t689 = t647 * t688; + const double t692 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t646 * t689 ); + const double t693 = t6 * t157; + const double t694 = t279 * t416; + const double t695 = t158 * t175; + const double t700 = -t163 * t695 * t418 / 0.8e1 - t167 * t160; + const double t701 = t700 * t180; + const double t702 = t169 * t701; + const double t703 = t174 * tau_b; + const double t704 = 0.1e1 / t703; + const double t705 = t173 * t704; + const double t709 = ( t702 + t428 * t705 / 0.16e2 ) * t54; + const double t712 = t193 * t54; + const double t715 = b * t193; + const double t721 = 0.5e1 * t715 * t203 + 0.25e2 / 0.9e1 * t202 * t97 * t193; + const double t724 = 0.3e1 / 0.4e1 * t712 * t450 - 0.27e2 / 0.4e2 * t455 * t721; + const double t731 = t172 * t704; + const double t734 = t709 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t213 * t724 - 0.73e2 / 0.972e5 * t724 * t225 + 0.73e2 / 0.6e3 * t473 * t705 - t232 * t731 / 0.36e3; + const double t735 = t734 * t248; + const double t736 = t694 * t735; + const double t739 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t693 * t736 ); + const double t742 = t24 * t24; + const double t743 = 0.1e1 / t742; + const double t744 = t264 * t264; + const double t747 = t260 * t7; + const double t748 = 0.1e1 / t747; + const double t749 = t17 * t748; + const double t752 = piecewise_functor_5( t11, 0.0, t15, 0.0, -0.2e1 * t261 + 0.2e1 * t749 ); + const double t756 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t744 + 0.4e1 / 0.3e1 * t24 * t752 ); + const double t757 = t756 * t27; + const double t761 = t267 * t273; + const double t763 = t6 * t761 * t143; + const double t765 = t6 * t267; + const double t769 = 0.1e1 / t272 / t7; + const double t770 = t26 * t769; + const double t773 = t6 * t770 * t143 / 0.12e2; + const double t774 = t273 * t279; + const double t775 = t774 * t370; + const double t776 = t278 * t775; + const double t779 = 0.1e1 / t281 / t138; + const double t780 = t369 * t369; + const double t781 = t779 * t780; + const double t782 = t280 * t781; + const double t785 = t289 * t289; + const double t786 = t785 * t51; + const double t788 = t296 * t31; + const double t795 = t34 * t788 * t284 / 0.4e1 + t34 * t788 / 0.4e1 + t38 * t43; + const double t798 = t40 * t289; + const double t799 = t293 * t41; + const double t800 = t799 * t353; + const double t803 = t50 * t50; + const double t804 = 0.1e1 / t803; + const double t805 = t40 * t804; + const double t806 = t41 * t41; + const double t807 = 0.1e1 / t341; + const double t808 = t806 * t807; + const double t809 = t45 * t45; + const double t810 = 0.1e1 / t809; + const double t814 = 0.1e1 / t98; + const double t815 = t41 * t814; + const double t816 = t815 * t46; + const double t820 = ( t40 * t786 + t40 * t795 * t51 + t798 * t800 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t808 * t810 - 0.3e1 / 0.16e2 * t294 * t816 ) * t54; + const double t826 = 0.1e1 / t62 / t98; + const double t827 = t60 * t826; + const double t830 = t333 * t333; + const double t834 = sigma_aa * t826; + const double t836 = 0.4e2 / 0.9e1 * tau_a * t306 - 0.11e2 / 0.9e1 * t834; + const double t837 = t836 * t54; + const double t840 = t59 * t320; + const double t841 = t840 * t328; + const double t844 = t83 * t83; + const double t846 = 0.1e1 / t84 / t844; + const double t847 = t77 * t846; + const double t848 = t328 * t328; + const double t851 = b * t836; + const double t854 = t314 * t314; + const double t858 = t97 * t836; + const double t861 = 0.5e1 * t851 * t80 + 0.5e2 / 0.9e1 * b * t854 * t97 + 0.25e2 / 0.9e1 * t78 * t858; + const double t864 = t79 * t834; + const double t866 = 0.3e1 / 0.4e1 * t837 * t316 - 0.3e1 / 0.4e1 * t315 * t841 + 0.81e2 / 0.8e2 * t847 * t848 - 0.27e2 / 0.4e2 * t321 * t861 + 0.22e2 / 0.81e2 * t864; + const double t871 = t333 * t338; + const double t875 = 0.1e1 / t106 / t105; + const double t876 = t90 * t875; + const double t877 = t347 * t347; + const double t881 = t98 * t295; + const double t883 = 0.1e1 / t61 / t881; + const double t885 = t97 * t41 * t883; + const double t887 = 0.972e3 * t816 + 0.152e5 / 0.9e1 * t885; + const double t893 = t814 * t46; + const double t896 = t125 * t42; + const double t897 = 0.1e1 / t896; + const double t901 = t820 * t65 / 0.24e2 - 0.2e1 / 0.9e1 * t302 * t307 + 0.11e2 / 0.27e2 * t55 * t827 + 0.292e3 / 0.2025e4 * t830 + 0.292e3 / 0.2025e4 * t90 * t866 - 0.73e2 / 0.972e5 * t866 * t106 - 0.73e2 / 0.972e5 * t871 * t347 + 0.73e2 / 0.3888e6 * t876 * t877 - 0.73e2 / 0.1944e6 * t339 * t887 + 0.475e3 / 0.531441e6 * t110 * t111 * t883 + t116 * t893 / 0.12e3 + t120 * t124 * t897 / 0.32e2; + const double t904 = t361 * t364 * t115; + const double t907 = t135 * t135; + const double t908 = 0.1e1 / t907; + const double t910 = t130 * t908 * e; + const double t915 = t901 * t136 + 0.4e1 / 0.9e1 * t904 * t331 + 0.2e1 / 0.27e2 * t910 * t885 - 0.22e2 / 0.27e2 * t366 * t864; + const double t916 = t282 * t915; + const double t917 = t280 * t916; + const double t921 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t757 * t143 - t763 / 0.4e1 - 0.3e1 / 0.4e1 * t765 * t371 + t773 - t776 / 0.4e1 + 0.3e1 / 0.4e1 * t278 * t782 - 0.3e1 / 0.8e1 * t278 * t917 ); + const double t922 = t154 * t154; + const double t923 = 0.1e1 / t922; + const double t924 = t378 * t378; + const double t927 = t149 * t748; + const double t930 = piecewise_functor_5( t15, 0.0, t11, 0.0, 0.2e1 * t261 + 0.2e1 * t927 ); + const double t934 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t924 + 0.4e1 / 0.3e1 * t154 * t930 ); + const double t935 = t934 * t27; + const double t939 = t381 * t273; + const double t941 = t6 * t939 * t255; + const double t943 = t156 * t769; + const double t946 = t6 * t943 * t255 / 0.12e2; + const double t948 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t935 * t255 - t941 / 0.4e1 + t946 ); + const double t964 = t398 * t273; + const double t966 = t6 * t964 * t143; + const double t988 = t409 * t273; + const double t990 = t6 * t988 * t255; + const double t996 = t774 * t504; + const double t997 = t414 * t996; + const double t1005 = t395 * t395; + const double t1010 = piecewise_functor_5( t11, 0.0, t15, 0.0, 0.2e1 * t261 + 0.2e1 * t749 ); + const double t1014 = piecewise_functor_3( t21, 0.0, 0.4e1 / 0.9e1 * t743 * t1005 + 0.4e1 / 0.3e1 * t24 * t1010 ); + const double t1015 = t1014 * t27; + const double t1021 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1015 * t143 - t966 / 0.4e1 + t773 ); + const double t1022 = t406 * t406; + const double t1027 = piecewise_functor_5( t15, 0.0, t11, 0.0, -0.2e1 * t261 + 0.2e1 * t927 ); + const double t1031 = piecewise_functor_3( t153, 0.0, 0.4e1 / 0.9e1 * t923 * t1022 + 0.4e1 / 0.3e1 * t154 * t1027 ); + const double t1032 = t1031 * t27; + const double t1037 = t6 * t409; + const double t1042 = 0.1e1 / t415 / t250; + const double t1043 = t503 * t503; + const double t1044 = t1042 * t1043; + const double t1045 = t280 * t1044; + const double t1048 = t423 * t423; + const double t1049 = t1048 * t180; + const double t1051 = t430 * t160; + const double t1058 = t163 * t1051 * t418 / 0.4e1 + t163 * t1051 / 0.4e1 + t167 * t172; + const double t1061 = t169 * t423; + const double t1062 = t427 * t170; + const double t1063 = t1062 * t487; + const double t1066 = t179 * t179; + const double t1067 = 0.1e1 / t1066; + const double t1068 = t169 * t1067; + const double t1069 = t170 * t170; + const double t1070 = 0.1e1 / t475; + const double t1071 = t1069 * t1070; + const double t1072 = t174 * t174; + const double t1073 = 0.1e1 / t1072; + const double t1077 = 0.1e1 / t217; + const double t1078 = t170 * t1077; + const double t1079 = t1078 * t175; + const double t1083 = ( t169 * t1049 + t169 * t1058 * t180 + t1061 * t1063 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1071 * t1073 - 0.3e1 / 0.16e2 * t428 * t1079 ) * t54; + const double t1089 = 0.1e1 / t186 / t217; + const double t1090 = t184 * t1089; + const double t1093 = t467 * t467; + const double t1097 = sigma_bb * t1089; + const double t1099 = 0.4e2 / 0.9e1 * tau_b * t440 - 0.11e2 / 0.9e1 * t1097; + const double t1100 = t1099 * t54; + const double t1103 = t59 * t454; + const double t1104 = t1103 * t462; + const double t1107 = t206 * t206; + const double t1109 = 0.1e1 / t207 / t1107; + const double t1110 = t201 * t1109; + const double t1111 = t462 * t462; + const double t1114 = b * t1099; + const double t1117 = t448 * t448; + const double t1121 = t97 * t1099; + const double t1124 = 0.5e1 * t1114 * t203 + 0.5e2 / 0.9e1 * b * t1117 * t97 + 0.25e2 / 0.9e1 * t202 * t1121; + const double t1127 = t79 * t1097; + const double t1129 = 0.3e1 / 0.4e1 * t1100 * t450 - 0.3e1 / 0.4e1 * t449 * t1104 + 0.81e2 / 0.8e2 * t1110 * t1111 - 0.27e2 / 0.4e2 * t455 * t1124 + 0.22e2 / 0.81e2 * t1127; + const double t1134 = t467 * t472; + const double t1138 = 0.1e1 / t225 / t224; + const double t1139 = t213 * t1138; + const double t1140 = t481 * t481; + const double t1144 = t217 * t429; + const double t1146 = 0.1e1 / t185 / t1144; + const double t1148 = t97 * t170 * t1146; + const double t1150 = 0.972e3 * t1079 + 0.152e5 / 0.9e1 * t1148; + const double t1156 = t1077 * t175; + const double t1159 = t238 * t171; + const double t1160 = 0.1e1 / t1159; + const double t1164 = t1083 * t189 / 0.24e2 - 0.2e1 / 0.9e1 * t436 * t441 + 0.11e2 / 0.27e2 * t183 * t1090 + 0.292e3 / 0.2025e4 * t1093 + 0.292e3 / 0.2025e4 * t213 * t1129 - 0.73e2 / 0.972e5 * t1129 * t225 - 0.73e2 / 0.972e5 * t1134 * t481 + 0.73e2 / 0.3888e6 * t1139 * t1140 - 0.73e2 / 0.1944e6 * t473 * t1150 + 0.475e3 / 0.531441e6 * t110 * t228 * t1146 + t232 * t1156 / 0.12e3 + t120 * t237 * t1160 / 0.32e2; + const double t1167 = t495 * t498 * t115; + const double t1170 = t247 * t247; + const double t1171 = 0.1e1 / t1170; + const double t1173 = t243 * t1171 * e; + const double t1178 = t1164 * t248 + 0.4e1 / 0.9e1 * t1167 * t465 + 0.2e1 / 0.27e2 * t1173 * t1148 - 0.22e2 / 0.27e2 * t500 * t1127; + const double t1179 = t416 * t1178; + const double t1180 = t280 * t1179; + const double t1184 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t6 * t1032 * t255 - t990 / 0.4e1 - 0.3e1 / 0.4e1 * t1037 * t505 + t946 - t997 / 0.4e1 + 0.3e1 / 0.4e1 * t414 * t1045 - 0.3e1 / 0.8e1 * t414 * t1180 ); + const double t1189 = t774 * t574; + const double t1191 = t278 * t1189 / 0.8e1; + const double t1192 = t279 * t779; + const double t1193 = t573 * t369; + const double t1194 = t1192 * t1193; + const double t1197 = t289 * t518; + const double t1200 = BLOC_b * t43; + const double t1205 = -t1200 * t513 / 0.8e1 - t1200 * t31 / 0.4e1; + const double t1206 = t1205 * t51; + const double t1208 = t40 * t518; + const double t1211 = t293 * sigma_aa; + const double t1212 = t1211 * t117; + const double t1215 = 0.1e1 / t99; + const double t1216 = t123 * t1215; + const double t1220 = sigma_aa * t296; + const double t1221 = t1220 * t46; + const double t1225 = ( t40 * t1197 * t51 + t40 * t1206 + t1208 * t800 / 0.16e2 - t798 * t1212 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1216 * t810 + t294 * t1221 / 0.8e1 ) * t54; + const double t1232 = t59 * t306; + const double t1237 = t306 * t54; + const double t1238 = t1237 * t316; + const double t1240 = t532 * t841; + const double t1242 = t840 * t541; + const double t1245 = t541 * t328; + const double t1248 = b * t306; + const double t1249 = t1248 * t80; + const double t1251 = t535 * t325; + const double t1254 = t78 * t97 * t306; + const double t1256 = 0.5e1 / 0.3e1 * t1249 - 0.25e2 / 0.36e2 * t1251 + 0.25e2 / 0.27e2 * t1254; + const double t1259 = t1237 * t59; + const double t1261 = t1238 / 0.4e1 + 0.3e1 / 0.64e2 * t1240 - 0.3e1 / 0.8e1 * t315 * t1242 + 0.81e2 / 0.8e2 * t847 * t1245 - 0.27e2 / 0.4e2 * t321 * t1256 - 0.2e1 / 0.27e2 * t1259; + const double t1266 = t546 * t338; + const double t1271 = t555 * t347; + const double t1276 = t97 * sigma_aa * t343; + const double t1278 = -0.648e3 * t1221 - 0.16e4 / 0.3e1 * t1276; + const double t1289 = t1225 * t65 / 0.24e2 - t526 * t307 / 0.9e1 + t302 * t529 / 0.24e2 - t55 * t1232 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t546 + 0.292e3 / 0.2025e4 * t90 * t1261 - 0.73e2 / 0.972e5 * t1261 * t106 - 0.73e2 / 0.1944e6 * t1266 * t347 - 0.73e2 / 0.1944e6 * t871 * t555 + 0.73e2 / 0.3888e6 * t876 * t1271 - 0.73e2 / 0.1944e6 * t339 * t1278 - 0.5e2 / 0.177147e6 * t110 * t558 * t343 - t562 * t353 / 0.18e3 - t120 * t565 * t357 / 0.96e2; + const double t1292 = t569 * t364 * t115; + const double t1301 = t1289 * t136 + 0.2e1 / 0.9e1 * t1292 * t331 - t904 * t544 / 0.12e2 - t910 * t1276 / 0.36e2 + 0.2e1 / 0.9e1 * t366 * t1259; + const double t1302 = t282 * t1301; + const double t1303 = t280 * t1302; + const double t1307 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t765 * t575 - t1191 + 0.3e1 / 0.4e1 * t646 * t1194 - 0.3e1 / 0.8e1 * t278 * t1303 ); + const double t1311 = t774 * t641; + const double t1313 = t414 * t1311 / 0.8e1; + const double t1324 = t279 * t1042; + const double t1325 = t640 * t503; + const double t1326 = t1324 * t1325; + const double t1329 = t423 * t585; + const double t1332 = BLOC_b * t172; + const double t1337 = -t1332 * t580 / 0.8e1 - t1332 * t160 / 0.4e1; + const double t1338 = t1337 * t180; + const double t1340 = t169 * t585; + const double t1343 = t427 * sigma_bb; + const double t1344 = t1343 * t233; + const double t1347 = 0.1e1 / t218; + const double t1348 = t236 * t1347; + const double t1352 = sigma_bb * t430; + const double t1353 = t1352 * t175; + const double t1357 = ( t169 * t1329 * t180 + t169 * t1338 + t1340 * t1063 / 0.16e2 - t1061 * t1344 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1348 * t1073 + t428 * t1353 / 0.8e1 ) * t54; + const double t1364 = t59 * t440; + const double t1369 = t440 * t54; + const double t1370 = t1369 * t450; + const double t1372 = t599 * t1104; + const double t1374 = t1103 * t608; + const double t1377 = t608 * t462; + const double t1380 = b * t440; + const double t1381 = t1380 * t203; + const double t1383 = t602 * t459; + const double t1386 = t202 * t97 * t440; + const double t1388 = 0.5e1 / 0.3e1 * t1381 - 0.25e2 / 0.36e2 * t1383 + 0.25e2 / 0.27e2 * t1386; + const double t1391 = t1369 * t59; + const double t1393 = t1370 / 0.4e1 + 0.3e1 / 0.64e2 * t1372 - 0.3e1 / 0.8e1 * t449 * t1374 + 0.81e2 / 0.8e2 * t1110 * t1377 - 0.27e2 / 0.4e2 * t455 * t1388 - 0.2e1 / 0.27e2 * t1391; + const double t1398 = t613 * t472; + const double t1403 = t622 * t481; + const double t1408 = t97 * sigma_bb * t477; + const double t1410 = -0.648e3 * t1353 - 0.16e4 / 0.3e1 * t1408; + const double t1421 = t1357 * t189 / 0.24e2 - t593 * t441 / 0.9e1 + t436 * t596 / 0.24e2 - t183 * t1364 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t613 + 0.292e3 / 0.2025e4 * t213 * t1393 - 0.73e2 / 0.972e5 * t1393 * t225 - 0.73e2 / 0.1944e6 * t1398 * t481 - 0.73e2 / 0.1944e6 * t1134 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1403 - 0.73e2 / 0.1944e6 * t473 * t1410 - 0.5e2 / 0.177147e6 * t110 * t625 * t477 - t629 * t487 / 0.18e3 - t120 * t632 * t491 / 0.96e2; + const double t1424 = t636 * t498 * t115; + const double t1433 = t1421 * t248 + 0.2e1 / 0.9e1 * t1424 * t465 - t1167 * t611 / 0.12e2 - t1173 * t1408 / 0.36e2 + 0.2e1 / 0.9e1 * t500 * t1391; + const double t1434 = t416 * t1433; + const double t1435 = t280 * t1434; + const double t1439 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1037 * t642 - t1313 + 0.3e1 / 0.4e1 * t693 * t1326 - 0.3e1 / 0.8e1 * t414 * t1435 ); + const double t1441 = t6 * t268; + const double t1444 = t6 * t274; + const double t1446 = t1444 * t689 / 0.8e1; + const double t1448 = t1192 * t688 * t369; + const double t1451 = t289 * t653; + const double t1459 = t34 * t117 * t284 / 0.8e1 + t34 * t117 / 0.4e1; + const double t1460 = t1459 * t51; + const double t1462 = t40 * t653; + const double t1465 = t799 * t684; + const double t1468 = t806 * t1215; + const double t1470 = 0.1e1 / t809 / tau_a; + const double t1474 = t297 * t657; + const double t1478 = ( t40 * t1451 * t51 + t40 * t1460 + t1462 * t800 / 0.16e2 + t798 * t1465 / 0.16e2 + 0.3e1 / 0.512e3 * t805 * t1468 * t1470 - t294 * t1474 / 0.8e1 ) * t54; + const double t1488 = t840 * t674; + const double t1491 = t674 * t328; + const double t1498 = -0.25e2 / 0.3e1 * t536 + 0.5e2 / 0.9e1 * t668 * t325 - 0.125e3 / 0.27e2 * t539; + const double t1501 = -0.5e1 / 0.4e1 * t533 - 0.3e1 / 0.8e1 * t665 * t841 - 0.3e1 / 0.8e1 * t315 * t1488 + 0.81e2 / 0.8e2 * t847 * t1491 - 0.27e2 / 0.4e2 * t321 * t1498; + const double t1506 = t677 * t338; + const double t1511 = t876 * t41; + const double t1512 = t684 * t347; + const double t1517 = t296 * t657; + const double t1520 = t1478 * t65 / 0.24e2 - t662 * t307 / 0.9e1 + 0.292e3 / 0.2025e4 * t333 * t677 + 0.292e3 / 0.2025e4 * t90 * t1501 - 0.73e2 / 0.972e5 * t1501 * t106 - 0.73e2 / 0.1944e6 * t1506 * t347 + 0.73e2 / 0.6e3 * t871 * t658 - 0.73e2 / 0.12e4 * t1511 * t1512 - 0.73e2 / 0.3e3 * t339 * t1474 + t116 * t1517 / 0.18e3; + const double t1521 = t1520 * t136; + const double t1522 = t647 * t1521; + const double t1525 = t280 * t282; + const double t1526 = t278 * t1525; + const double t1527 = t687 * t364; + const double t1528 = t1527 * t115; + const double t1529 = t1528 * t331; + const double t1533 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t1441 * t689 - t1446 + 0.3e1 / 0.4e1 * t646 * t1448 - 0.3e1 / 0.8e1 * t646 * t1522 - t1526 * t1529 / 0.12e2 ); + const double t1538 = t6 * t386; + const double t1540 = t1538 * t736 / 0.8e1; + const double t1550 = t6 * t410; + const double t1554 = t1324 * t735 * t503; + const double t1557 = t423 * t700; + const double t1565 = t163 * t233 * t418 / 0.8e1 + t163 * t233 / 0.4e1; + const double t1566 = t1565 * t180; + const double t1568 = t169 * t700; + const double t1571 = t1062 * t731; + const double t1574 = t1069 * t1347; + const double t1576 = 0.1e1 / t1072 / tau_b; + const double t1580 = t431 * t704; + const double t1584 = ( t169 * t1557 * t180 + t169 * t1566 + t1568 * t1063 / 0.16e2 + t1061 * t1571 / 0.16e2 + 0.3e1 / 0.512e3 * t1068 * t1574 * t1576 - t428 * t1580 / 0.8e1 ) * t54; + const double t1594 = t1103 * t721; + const double t1597 = t721 * t462; + const double t1604 = -0.25e2 / 0.3e1 * t603 + 0.5e2 / 0.9e1 * t715 * t459 - 0.125e3 / 0.27e2 * t606; + const double t1607 = -0.5e1 / 0.4e1 * t600 - 0.3e1 / 0.8e1 * t712 * t1104 - 0.3e1 / 0.8e1 * t449 * t1594 + 0.81e2 / 0.8e2 * t1110 * t1597 - 0.27e2 / 0.4e2 * t455 * t1604; + const double t1612 = t724 * t472; + const double t1617 = t1139 * t170; + const double t1618 = t731 * t481; + const double t1623 = t430 * t704; + const double t1626 = t1584 * t189 / 0.24e2 - t709 * t441 / 0.9e1 + 0.292e3 / 0.2025e4 * t467 * t724 + 0.292e3 / 0.2025e4 * t213 * t1607 - 0.73e2 / 0.972e5 * t1607 * t225 - 0.73e2 / 0.1944e6 * t1612 * t481 + 0.73e2 / 0.6e3 * t1134 * t705 - 0.73e2 / 0.12e4 * t1617 * t1618 - 0.73e2 / 0.3e3 * t473 * t1580 + t232 * t1623 / 0.18e3; + const double t1627 = t1626 * t248; + const double t1628 = t694 * t1627; + const double t1631 = t280 * t416; + const double t1632 = t414 * t1631; + const double t1633 = t734 * t498; + const double t1634 = t1633 * t115; + const double t1635 = t1634 * t465; + const double t1639 = piecewise_functor_3( t148, 0.0, -0.3e1 / 0.8e1 * t1550 * t736 - t1540 + 0.3e1 / 0.4e1 * t693 * t1554 - 0.3e1 / 0.8e1 * t693 * t1628 - t1632 * t1635 / 0.12e2 ); + const double t1641 = t573 * t573; + const double t1642 = t779 * t1641; + const double t1643 = t280 * t1642; + const double t1646 = t518 * t518; + const double t1647 = t1646 * t51; + const double t1652 = 0.1e1 / t41; + const double t1654 = t512 * t31 * t516 / 0.4e1 - t38 * t1652; + const double t1659 = t815 * t810; + const double t1662 = t293 * t43; + const double t1663 = t1662 * t46; + const double t1667 = ( t40 * t1647 + t40 * t1654 * t51 - t1208 * t1212 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1659 - t40 * t1663 / 0.16e2 ) * t54; + const double t1672 = t546 * t546; + const double t1674 = t532 * t1242; + const double t1676 = t541 * t541; + const double t1679 = t321 * b; + const double t1680 = t97 * t101; + const double t1681 = t1679 * t1680; + const double t1683 = 0.3e1 / 0.32e2 * t1674 + 0.81e2 / 0.8e2 * t847 * t1676 - 0.15e2 / 0.256e3 * t1681; + const double t1690 = t555 * t555; + const double t1695 = 0.324e3 * t117 + 0.1e3 * t1680; + const double t1698 = t96 * t101; + const double t1701 = t115 * t43; + const double t1704 = t122 * sigma_aa; + const double t1708 = t1667 * t65 / 0.24e2 + t526 * t529 / 0.12e2 + 0.292e3 / 0.2025e4 * t1672 + 0.292e3 / 0.2025e4 * t90 * t1683 - 0.73e2 / 0.972e5 * t1683 * t106 - 0.73e2 / 0.972e5 * t1266 * t555 + 0.73e2 / 0.3888e6 * t876 * t1690 - 0.73e2 / 0.1944e6 * t339 * t1695 + 0.25e2 / 0.472392e6 * t110 * t1698 + t1701 * t46 / 0.36e3 + t120 * t1704 * t126 / 0.384e3; + const double t1714 = t1708 * t136 - t1292 * t544 / 0.6e1 + t910 * t1680 / 0.96e2; + const double t1715 = t282 * t1714; + const double t1716 = t280 * t1715; + const double t1720 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t278 * t1643 - 0.3e1 / 0.8e1 * t278 * t1716 ); + const double t1721 = t640 * t640; + const double t1722 = t1042 * t1721; + const double t1723 = t280 * t1722; + const double t1726 = t585 * t585; + const double t1727 = t1726 * t180; + const double t1732 = 0.1e1 / t170; + const double t1734 = t579 * t160 * t583 / 0.4e1 - t167 * t1732; + const double t1739 = t1078 * t1073; + const double t1742 = t427 * t172; + const double t1743 = t1742 * t175; + const double t1747 = ( t169 * t1727 + t169 * t1734 * t180 - t1340 * t1344 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t1739 - t169 * t1743 / 0.16e2 ) * t54; + const double t1752 = t613 * t613; + const double t1754 = t599 * t1374; + const double t1756 = t608 * t608; + const double t1759 = t455 * b; + const double t1760 = t97 * t220; + const double t1761 = t1759 * t1760; + const double t1763 = 0.3e1 / 0.32e2 * t1754 + 0.81e2 / 0.8e2 * t1110 * t1756 - 0.15e2 / 0.256e3 * t1761; + const double t1770 = t622 * t622; + const double t1775 = 0.324e3 * t233 + 0.1e3 * t1760; + const double t1778 = t96 * t220; + const double t1781 = t115 * t172; + const double t1784 = t122 * sigma_bb; + const double t1788 = t1747 * t189 / 0.24e2 + t593 * t596 / 0.12e2 + 0.292e3 / 0.2025e4 * t1752 + 0.292e3 / 0.2025e4 * t213 * t1763 - 0.73e2 / 0.972e5 * t1763 * t225 - 0.73e2 / 0.972e5 * t1398 * t622 + 0.73e2 / 0.3888e6 * t1139 * t1770 - 0.73e2 / 0.1944e6 * t473 * t1775 + 0.25e2 / 0.472392e6 * t110 * t1778 + t1781 * t175 / 0.36e3 + t120 * t1784 * t239 / 0.384e3; + const double t1794 = t1788 * t248 - t1424 * t611 / 0.6e1 + t1173 * t1760 / 0.96e2; + const double t1795 = t416 * t1794; + const double t1796 = t280 * t1795; + const double t1800 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t414 * t1723 - 0.3e1 / 0.8e1 * t414 * t1796 ); + const double t1802 = t1192 * t688 * t573; + const double t1805 = t518 * t653; + const double t1806 = t1805 * t51; + const double t1808 = t46 * t284; + const double t1813 = -t512 * t1808 / 0.8e1 - t512 * t46 / 0.4e1; + const double t1814 = t1813 * t51; + const double t1820 = t123 * t814; + const double t1824 = t521 * t657; + const double t1828 = ( t40 * t1806 + t40 * t1814 - t1462 * t1212 / 0.16e2 + t1208 * t1465 / 0.16e2 - 0.3e1 / 0.512e3 * t805 * t1820 * t1470 + t294 * t1824 / 0.8e1 ) * t54; + const double t1837 = t532 * t1488; + const double t1839 = t674 * t541; + const double t1843 = 0.1e1 / t61 / t98; + const double t1844 = t1843 * t94; + const double t1846 = t1679 * t1844 * t96; + const double t1848 = -0.3e1 / 0.8e1 * t665 * t1242 + 0.3e1 / 0.64e2 * t1837 + 0.81e2 / 0.8e2 * t847 * t1839 + 0.15e2 / 0.32e2 * t1846; + const double t1857 = t684 * t555; + const double t1864 = t1828 * t65 / 0.24e2 + t662 * t529 / 0.24e2 + 0.292e3 / 0.2025e4 * t546 * t677 + 0.292e3 / 0.2025e4 * t90 * t1848 - 0.73e2 / 0.972e5 * t1848 * t106 - 0.73e2 / 0.1944e6 * t1506 * t555 + 0.73e2 / 0.6e3 * t1266 * t658 - 0.73e2 / 0.12e4 * t1511 * t1857 + 0.73e2 / 0.3e3 * t339 * t1824 - t562 * t684 / 0.18e3; + const double t1865 = t1864 * t136; + const double t1866 = t647 * t1865; + const double t1869 = t1528 * t544; + const double t1873 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1802 - 0.3e1 / 0.8e1 * t646 * t1866 + t1526 * t1869 / 0.32e2 ); + const double t1875 = t1324 * t735 * t640; + const double t1878 = t585 * t700; + const double t1879 = t1878 * t180; + const double t1881 = t175 * t418; + const double t1886 = -t579 * t1881 / 0.8e1 - t579 * t175 / 0.4e1; + const double t1887 = t1886 * t180; + const double t1893 = t236 * t1077; + const double t1897 = t588 * t704; + const double t1901 = ( t169 * t1879 + t169 * t1887 - t1568 * t1344 / 0.16e2 + t1340 * t1571 / 0.16e2 - 0.3e1 / 0.512e3 * t1068 * t1893 * t1576 + t428 * t1897 / 0.8e1 ) * t54; + const double t1910 = t599 * t1594; + const double t1912 = t721 * t608; + const double t1916 = 0.1e1 / t185 / t217; + const double t1917 = t1916 * t94; + const double t1919 = t1759 * t1917 * t96; + const double t1921 = -0.3e1 / 0.8e1 * t712 * t1374 + 0.3e1 / 0.64e2 * t1910 + 0.81e2 / 0.8e2 * t1110 * t1912 + 0.15e2 / 0.32e2 * t1919; + const double t1930 = t731 * t622; + const double t1937 = t1901 * t189 / 0.24e2 + t709 * t596 / 0.24e2 + 0.292e3 / 0.2025e4 * t613 * t724 + 0.292e3 / 0.2025e4 * t213 * t1921 - 0.73e2 / 0.972e5 * t1921 * t225 - 0.73e2 / 0.1944e6 * t1612 * t622 + 0.73e2 / 0.6e3 * t1398 * t705 - 0.73e2 / 0.12e4 * t1617 * t1930 + 0.73e2 / 0.3e3 * t473 * t1897 - t629 * t731 / 0.18e3; + const double t1938 = t1937 * t248; + const double t1939 = t694 * t1938; + const double t1942 = t1634 * t611; + const double t1946 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t1875 - 0.3e1 / 0.8e1 * t693 * t1939 + t1632 * t1942 / 0.32e2 ); + const double t1947 = t687 * t687; + const double t1948 = t1947 * t908; + const double t1949 = t1192 * t1948; + const double t1952 = t653 * t653; + const double t1953 = t1952 * t51; + const double t1955 = t29 * t657; + const double t1962 = t34 * t1955 * t284 / 0.4e1 + t34 * t1955 / 0.4e1 + t38 * t46; + const double t1967 = t806 * t814; + const double t1969 = 0.1e1 / t809 / t45; + const double t1970 = t1967 * t1969; + const double t1973 = t44 * t810; + const double t1977 = ( t40 * t1953 + t40 * t1962 * t51 + t1462 * t1465 / 0.8e1 + 0.3e1 / 0.512e3 * t805 * t1970 - 0.3e1 / 0.16e2 * t294 * t1973 ) * t54; + const double t1980 = t677 * t677; + const double t1984 = t674 * t674; + const double t1988 = 0.1e1 / t61 / t295; + const double t1989 = t1988 * t94; + const double t1993 = -0.3e1 / 0.4e1 * t665 * t1488 + 0.81e2 / 0.8e2 * t847 * t1984 - 0.15e2 / 0.4e1 * t1679 * t1989 * t96; + const double t2004 = t43 * t810; + const double t2007 = t1977 * t65 / 0.24e2 + 0.292e3 / 0.2025e4 * t1980 + 0.292e3 / 0.2025e4 * t90 * t1993 - 0.73e2 / 0.972e5 * t1993 * t106 + 0.73e2 / 0.3e3 * t1506 * t658 + 0.1971e4 / 0.1e3 * t876 * t1970 - 0.73e2 / 0.2e3 * t339 * t1973 + t116 * t2004 / 0.12e3; + const double t2008 = t2007 * t136; + const double t2009 = t647 * t2008; + const double t2013 = piecewise_functor_3( t2, 0.0, 0.3e1 / 0.4e1 * t646 * t1949 - 0.3e1 / 0.8e1 * t646 * t2009 ); + const double t2014 = t734 * t734; + const double t2015 = t2014 * t1171; + const double t2016 = t1324 * t2015; + const double t2019 = t700 * t700; + const double t2020 = t2019 * t180; + const double t2022 = t158 * t704; + const double t2029 = t163 * t2022 * t418 / 0.4e1 + t163 * t2022 / 0.4e1 + t167 * t175; + const double t2034 = t1069 * t1077; + const double t2036 = 0.1e1 / t1072 / t174; + const double t2037 = t2034 * t2036; + const double t2040 = t173 * t1073; + const double t2044 = ( t169 * t2020 + t169 * t2029 * t180 + t1568 * t1571 / 0.8e1 + 0.3e1 / 0.512e3 * t1068 * t2037 - 0.3e1 / 0.16e2 * t428 * t2040 ) * t54; + const double t2047 = t724 * t724; + const double t2051 = t721 * t721; + const double t2055 = 0.1e1 / t185 / t429; + const double t2056 = t2055 * t94; + const double t2060 = -0.3e1 / 0.4e1 * t712 * t1594 + 0.81e2 / 0.8e2 * t1110 * t2051 - 0.15e2 / 0.4e1 * t1759 * t2056 * t96; + const double t2071 = t172 * t1073; + const double t2074 = t2044 * t189 / 0.24e2 + 0.292e3 / 0.2025e4 * t2047 + 0.292e3 / 0.2025e4 * t213 * t2060 - 0.73e2 / 0.972e5 * t2060 * t225 + 0.73e2 / 0.3e3 * t1612 * t705 + 0.1971e4 / 0.1e3 * t1139 * t2037 - 0.73e2 / 0.2e3 * t473 * t2040 + t232 * t2071 / 0.12e3; + const double t2075 = t2074 * t248; + const double t2076 = t694 * t2075; + const double t2080 = piecewise_functor_3( t148, 0.0, 0.3e1 / 0.4e1 * t693 * t2016 - 0.3e1 / 0.8e1 * t693 * t2076 ); + + + vrho_a = t147 + t259 + t7 * ( t375 + t391 ); + vrho_b = t147 + t259 + t7 * ( t404 + t509 ); + vsigma_aa = t7 * t578; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t645; + vlapl_a = 0.e0; + vlapl_b = 0.e0; + vtau_a = t7 * t692; + vtau_b = t7 * t739; + v2rho2_aa = 0.2e1 * t375 + 0.2e1 * t391 + t7 * ( t921 + t948 ); + v2rho2_bb = 0.2e1 * t404 + 0.2e1 * t509 + t7 * ( t1021 + t1184 ); + v2rhosigma_a_aa = t7 * t1307 + t578; + v2rhosigma_b_bb = t7 * t1439 + t645; + v2rholapl_a_a = 0.e0; + v2rholapl_b_b = 0.e0; + v2rhotau_a_a = t7 * t1533 + t692; + v2rhotau_b_b = t7 * t1639 + t739; + v2sigma2_aa_aa = t7 * t1720; + v2sigma2_bb_bb = t7 * t1800; + v2sigmalapl_aa_a = 0.e0; + v2sigmalapl_bb_b = 0.e0; + v2sigmatau_aa_a = t7 * t1873; + v2sigmatau_bb_b = t7 * t1946; + v2lapl2_aa = 0.e0; + v2lapl2_bb = 0.e0; + v2lapltau_a_a = 0.e0; + v2lapltau_b_b = 0.e0; + v2tau2_aa = t7 * t2013; + v2tau2_bb = t7 * t2080; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2rholapl_a_b = 0.0; + v2rholapl_b_a = 0.0; + v2rhotau_a_b = 0.0; + v2rhotau_b_a = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + v2sigmalapl_aa_b = 0.0; + v2sigmalapl_ab_a = 0.0; + v2sigmalapl_ab_b = 0.0; + v2sigmalapl_bb_a = 0.0; + v2sigmatau_aa_b = 0.0; + v2sigmatau_ab_a = 0.0; + v2sigmatau_ab_b = 0.0; + v2sigmatau_bb_a = 0.0; + v2lapl2_ab = 0.0; + v2lapltau_a_b = 0.0; + v2lapltau_b_a = 0.0; + v2tau2_ab = 0.0; + + + + } + + +}; + +struct BuiltinTPSS_X : detail::BuiltinKernelImpl< BuiltinTPSS_X > { + + BuiltinTPSS_X( Spin p ) : + detail::BuiltinKernelImpl< BuiltinTPSS_X >(p) { } + + virtual ~BuiltinTPSS_X() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/vwn.hpp b/include/exchcxx/impl/builtin/kernels/vwn.hpp new file mode 100644 index 0000000..edb45c3 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/vwn.hpp @@ -0,0 +1,1793 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinVWN > : + public lda_screening_interface< BuiltinVWN > { + + static constexpr bool is_lda = true; + static constexpr bool is_gga = false; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-15; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 1.0000000000000027e-20; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t40 = safe_math::log( t4 * t9 * t36 / 0.4e1 ); + const double t41 = t12 + 0.113107e1; + const double t44 = safe_math::atan( 0.71231089178181179908e1 / t41 ); + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t36 ); + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( 0.1e1 <= zeta_tol, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t67 = t33 * ( t40 + 0.317708004743941464e0 * t44 + 0.41403379428206274608e-3 * t49 ) * t65 / 0.24e2; + + + eps = t20 + t25 + t31 - t67; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + constexpr double t74 = t4 * t6; + constexpr double t82 = t3 * t6; + constexpr double t91 = t1 * t1; + constexpr double t93 = 0.1e1 / t3; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t40 = safe_math::log( t4 * t9 * t36 / 0.4e1 ); + const double t41 = t12 + 0.113107e1; + const double t44 = safe_math::atan( 0.71231089178181179908e1 / t41 ); + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t36 ); + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( 0.1e1 <= zeta_tol, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t67 = t33 * ( t40 + 0.317708004743941464e0 * t44 + 0.41403379428206274608e-3 * t49 ) * t65 / 0.24e2; + const double t69 = 0.1e1 / t7 / rho; + const double t70 = t6 * t69; + const double t75 = t14 * t14; + const double t76 = 0.1e1 / t75; + const double t77 = t8 * t76; + const double t78 = t4 * t70; + const double t79 = t78 / 0.12e2; + const double t80 = 0.1e1 / t12; + const double t81 = t80 * t1; + const double t84 = t81 * t82 * t69; + const double t86 = -t79 - 0.31062e0 * t84; + const double t94 = ( -t4 * t70 * t15 / 0.12e2 - t74 * t77 * t86 / 0.4e1 ) * t91 * t93; + const double t95 = t5 * t7; + const double t96 = t95 * t14; + const double t97 = t94 * t96; + const double t99 = t21 * t21; + const double t100 = 0.1e1 / t99; + const double t102 = t100 * t80 * t1; + const double t104 = 0.378469910464e2 * t100 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t108 = t102 * t82 * t69 * t105; + const double t110 = t27 * t15; + const double t111 = t110 * t80; + const double t114 = t28 * t76; + const double t116 = -t111 * t78 / 0.6e1 - t114 * t86; + const double t117 = 0.1e1 / t28; + const double t118 = t116 * t117; + const double t119 = t118 * t14; + const double t124 = t35 * t35; + const double t125 = 0.1e1 / t124; + const double t126 = t8 * t125; + const double t128 = -t79 - 0.94255833333333333334e-1 * t84; + const double t134 = ( -t4 * t70 * t36 / 0.12e2 - t74 * t126 * t128 / 0.4e1 ) * t91 * t93; + const double t135 = t95 * t35; + const double t138 = t41 * t41; + const double t139 = 0.1e1 / t138; + const double t141 = t139 * t80 * t1; + const double t143 = 0.50738680655100000001e2 * t139 + 0.1e1; + const double t144 = 0.1e1 / t143; + const double t149 = t46 * t36; + const double t150 = t149 * t80; + const double t153 = t47 * t125; + const double t155 = -t150 * t78 / 0.6e1 - t153 * t128; + const double t156 = 0.1e1 / t47; + const double t157 = t155 * t156; + const double t162 = t33 * ( t134 * t135 / 0.3e1 + 0.37717812030896172975e0 * t141 * t82 * t69 * t144 + 0.41403379428206274608e-3 * t157 * t35 ) * t65; + + + eps = t20 + t25 + t31 - t67; + vrho = t20 + t25 + t31 - t67 + rho * ( 0.10363566666666666667e-1 * t97 + 0.39765745675026770179e-1 * t108 + 0.96902277115443742139e-3 * t119 - t162 / 0.24e2 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + constexpr double t74 = t4 * t6; + constexpr double t82 = t3 * t6; + constexpr double t91 = t1 * t1; + constexpr double t93 = 0.1e1 / t3; + constexpr double t193 = t3 * t3; + constexpr double t194 = t193 * t5; + constexpr double t256 = t91 * t193; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t21 = t12 + 0.372744e1; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t41 = t12 + 0.113107e1; + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( 0.1e1 <= zeta_tol, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t69 = 0.1e1 / t7 / rho; + const double t70 = t6 * t69; + const double t75 = t14 * t14; + const double t76 = 0.1e1 / t75; + const double t77 = t8 * t76; + const double t78 = t4 * t70; + const double t79 = t78 / 0.12e2; + const double t80 = 0.1e1 / t12; + const double t81 = t80 * t1; + const double t84 = t81 * t82 * t69; + const double t86 = -t79 - 0.31062e0 * t84; + const double t94 = ( -t4 * t70 * t15 / 0.12e2 - t74 * t77 * t86 / 0.4e1 ) * t91 * t93; + const double t95 = t5 * t7; + const double t96 = t95 * t14; + const double t97 = t94 * t96; + const double t99 = t21 * t21; + const double t100 = 0.1e1 / t99; + const double t102 = t100 * t80 * t1; + const double t104 = 0.378469910464e2 * t100 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t108 = t102 * t82 * t69 * t105; + const double t110 = t27 * t15; + const double t111 = t110 * t80; + const double t114 = t28 * t76; + const double t116 = -t111 * t78 / 0.6e1 - t114 * t86; + const double t117 = 0.1e1 / t28; + const double t118 = t116 * t117; + const double t119 = t118 * t14; + const double t124 = t35 * t35; + const double t125 = 0.1e1 / t124; + const double t126 = t8 * t125; + const double t128 = -t79 - 0.94255833333333333334e-1 * t84; + const double t134 = ( -t4 * t70 * t36 / 0.12e2 - t74 * t126 * t128 / 0.4e1 ) * t91 * t93; + const double t135 = t95 * t35; + const double t138 = t41 * t41; + const double t139 = 0.1e1 / t138; + const double t141 = t139 * t80 * t1; + const double t143 = 0.50738680655100000001e2 * t139 + 0.1e1; + const double t144 = 0.1e1 / t143; + const double t149 = t46 * t36; + const double t150 = t149 * t80; + const double t153 = t47 * t125; + const double t155 = -t150 * t78 / 0.6e1 - t153 * t128; + const double t156 = 0.1e1 / t47; + const double t157 = t155 * t156; + const double t162 = t33 * ( t134 * t135 / 0.3e1 + 0.37717812030896172975e0 * t141 * t82 * t69 * t144 + 0.41403379428206274608e-3 * t157 * t35 ) * t65; + const double t170 = rho * rho; + const double t172 = 0.1e1 / t7 / t170; + const double t173 = t6 * t172; + const double t175 = t4 * t173 * t15; + const double t177 = t69 * t76; + const double t182 = 0.1e1 / t75 / t14; + const double t183 = t8 * t182; + const double t184 = t86 * t86; + const double t188 = t4 * t173; + const double t189 = t188 / 0.9e1; + const double t191 = 0.1e1 / t12 / t10; + const double t192 = t191 * t91; + const double t195 = t7 * t7; + const double t197 = 0.1e1 / t195 / t170; + const double t199 = t192 * t194 * t197; + const double t202 = t81 * t82 * t172; + const double t204 = t189 - 0.20708e0 * t199 + 0.41416e0 * t202; + const double t210 = ( t175 / 0.9e1 + t74 * t177 * t86 / 0.6e1 + t74 * t183 * t184 / 0.2e1 - t74 * t77 * t204 / 0.4e1 ) * t91 * t93; + const double t211 = t210 * t96; + const double t214 = t5 / t195; + const double t215 = t214 * t14; + const double t216 = t94 * t215; + const double t218 = t95 * t86; + const double t219 = t94 * t218; + const double t221 = t99 * t21; + const double t222 = 0.1e1 / t221; + const double t223 = t222 * t1; + const double t224 = t223 * t3; + const double t226 = t224 * t173 * t105; + const double t229 = t100 * t191 * t91; + const double t232 = t229 * t194 * t197 * t105; + const double t236 = t102 * t82 * t172 * t105; + const double t238 = t99 * t99; + const double t240 = 0.1e1 / t238 / t21; + const double t241 = t240 * t1; + const double t242 = t241 * t3; + const double t243 = t104 * t104; + const double t244 = 0.1e1 / t243; + const double t246 = t242 * t173 * t244; + const double t249 = t27 * t76; + const double t250 = t249 * t81; + const double t251 = t69 * t86; + const double t255 = t110 * t191; + const double t257 = t5 * t197; + const double t258 = t256 * t257; + const double t263 = t28 * t182; + const double t267 = t175 / 0.72e2 + t250 * t82 * t251 / 0.3e1 - t255 * t258 / 0.9e1 + 0.2e1 / 0.9e1 * t111 * t188 + 0.2e1 * t263 * t184 - t114 * t204; + const double t268 = t267 * t117; + const double t269 = t268 * t14; + const double t272 = 0.1e1 / t28 / t27; + const double t273 = t116 * t272; + const double t274 = t14 * t80; + const double t275 = t273 * t274; + const double t276 = t275 * t78; + const double t278 = t118 * t86; + const double t281 = t4 * t173 * t36; + const double t283 = t69 * t125; + const double t288 = 0.1e1 / t124 / t35; + const double t289 = t8 * t288; + const double t290 = t128 * t128; + const double t296 = t189 - 0.62837222222222222223e-1 * t199 + 0.12567444444444444445e0 * t202; + const double t302 = ( t281 / 0.9e1 + t74 * t283 * t128 / 0.6e1 + t74 * t289 * t290 / 0.2e1 - t74 * t126 * t296 / 0.4e1 ) * t91 * t93; + const double t305 = t214 * t35; + const double t308 = t95 * t128; + const double t311 = t138 * t41; + const double t313 = 0.1e1 / t311 * t1; + const double t314 = t313 * t3; + const double t319 = t139 * t191 * t91; + const double t328 = t138 * t138; + const double t330 = 0.1e1 / t328 / t41; + const double t331 = t330 * t1; + const double t332 = t331 * t3; + const double t333 = t143 * t143; + const double t334 = 0.1e1 / t333; + const double t339 = t46 * t125; + const double t340 = t339 * t81; + const double t341 = t69 * t128; + const double t345 = t149 * t191; + const double t350 = t47 * t288; + const double t354 = t281 / 0.72e2 + t340 * t82 * t341 / 0.3e1 - t345 * t258 / 0.9e1 + 0.2e1 / 0.9e1 * t150 * t188 + 0.2e1 * t350 * t290 - t153 * t296; + const double t355 = t354 * t156; + const double t359 = 0.1e1 / t47 / t46; + const double t360 = t155 * t359; + const double t361 = t35 * t80; + const double t362 = t360 * t361; + const double t369 = t33 * ( t302 * t135 / 0.3e1 + t134 * t305 / 0.9e1 + t134 * t308 / 0.3e1 + 0.12572604010298724325e0 * t314 * t173 * t144 + 0.2514520802059744865e0 * t319 * t194 * t197 * t144 - 0.502904160411948973e0 * t141 * t82 * t172 * t144 - 0.63791733988157656508e1 * t332 * t173 * t334 + 0.41403379428206274608e-3 * t355 * t35 + 0.69005632380343791013e-4 * t362 * t78 + 0.41403379428206274608e-3 * t157 * t128 ) * t65; + const double t371 = 0.10363566666666666667e-1 * t211 + 0.34545222222222222223e-2 * t216 + 0.10363566666666666667e-1 * t219 + 0.13255248558342256726e-1 * t226 + 0.26510497116684513453e-1 * t232 - 0.53020994233369026905e-1 * t236 - 0.50167127350538589834e0 * t246 + 0.96902277115443742139e-3 * t269 + 0.1615037951924062369e-3 * t276 + 0.96902277115443742139e-3 * t278 - t369 / 0.24e2; + + + v2rho2 = 0.20727133333333333334e-1 * t97 + 0.79531491350053540358e-1 * t108 + 0.19380455423088748428e-2 * t119 - t162 / 0.12e2 + rho * t371; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t32 = constants::m_pi_sq; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t33 = 0.1e1 / t32; + constexpr double t74 = t4 * t6; + constexpr double t82 = t3 * t6; + constexpr double t91 = t1 * t1; + constexpr double t93 = 0.1e1 / t3; + constexpr double t193 = t3 * t3; + constexpr double t194 = t193 * t5; + constexpr double t256 = t91 * t193; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t35 = t11 + 0.565535e0 * t12 + 0.130045e2; + const double t36 = 0.1e1 / t35; + const double t40 = safe_math::log( t4 * t9 * t36 / 0.4e1 ); + const double t41 = t12 + 0.113107e1; + const double t44 = safe_math::atan( 0.71231089178181179908e1 / t41 ); + const double t46 = t26 + 0.47584e-2; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t36 ); + const double t54 = safe_math::cbrt( zeta_tol ); + const double t56 = piecewise_functor_3( 0.1e1 <= zeta_tol, t54 * zeta_tol, 1.0 ); + const double t65 = 0.9e1 * t56 - 0.9e1; + const double t67 = t33 * ( t40 + 0.317708004743941464e0 * t44 + 0.41403379428206274608e-3 * t49 ) * t65 / 0.24e2; + const double t69 = 0.1e1 / t7 / rho; + const double t70 = t6 * t69; + const double t75 = t14 * t14; + const double t76 = 0.1e1 / t75; + const double t77 = t8 * t76; + const double t78 = t4 * t70; + const double t79 = t78 / 0.12e2; + const double t80 = 0.1e1 / t12; + const double t81 = t80 * t1; + const double t84 = t81 * t82 * t69; + const double t86 = -t79 - 0.31062e0 * t84; + const double t94 = ( -t4 * t70 * t15 / 0.12e2 - t74 * t77 * t86 / 0.4e1 ) * t91 * t93; + const double t95 = t5 * t7; + const double t96 = t95 * t14; + const double t97 = t94 * t96; + const double t99 = t21 * t21; + const double t100 = 0.1e1 / t99; + const double t102 = t100 * t80 * t1; + const double t104 = 0.378469910464e2 * t100 + 0.1e1; + const double t105 = 0.1e1 / t104; + const double t108 = t102 * t82 * t69 * t105; + const double t110 = t27 * t15; + const double t111 = t110 * t80; + const double t114 = t28 * t76; + const double t116 = -t111 * t78 / 0.6e1 - t114 * t86; + const double t117 = 0.1e1 / t28; + const double t118 = t116 * t117; + const double t119 = t118 * t14; + const double t124 = t35 * t35; + const double t125 = 0.1e1 / t124; + const double t126 = t8 * t125; + const double t128 = -t79 - 0.94255833333333333334e-1 * t84; + const double t134 = ( -t4 * t70 * t36 / 0.12e2 - t74 * t126 * t128 / 0.4e1 ) * t91 * t93; + const double t135 = t95 * t35; + const double t138 = t41 * t41; + const double t139 = 0.1e1 / t138; + const double t141 = t139 * t80 * t1; + const double t143 = 0.50738680655100000001e2 * t139 + 0.1e1; + const double t144 = 0.1e1 / t143; + const double t149 = t46 * t36; + const double t150 = t149 * t80; + const double t153 = t47 * t125; + const double t155 = -t150 * t78 / 0.6e1 - t153 * t128; + const double t156 = 0.1e1 / t47; + const double t157 = t155 * t156; + const double t162 = t33 * ( t134 * t135 / 0.3e1 + 0.37717812030896172975e0 * t141 * t82 * t69 * t144 + 0.41403379428206274608e-3 * t157 * t35 ) * t65; + const double t170 = rho * rho; + const double t172 = 0.1e1 / t7 / t170; + const double t173 = t6 * t172; + const double t175 = t4 * t173 * t15; + const double t177 = t69 * t76; + const double t182 = 0.1e1 / t75 / t14; + const double t183 = t8 * t182; + const double t184 = t86 * t86; + const double t188 = t4 * t173; + const double t189 = t188 / 0.9e1; + const double t191 = 0.1e1 / t12 / t10; + const double t192 = t191 * t91; + const double t195 = t7 * t7; + const double t197 = 0.1e1 / t195 / t170; + const double t199 = t192 * t194 * t197; + const double t202 = t81 * t82 * t172; + const double t204 = t189 - 0.20708e0 * t199 + 0.41416e0 * t202; + const double t210 = ( t175 / 0.9e1 + t74 * t177 * t86 / 0.6e1 + t74 * t183 * t184 / 0.2e1 - t74 * t77 * t204 / 0.4e1 ) * t91 * t93; + const double t211 = t210 * t96; + const double t214 = t5 / t195; + const double t215 = t214 * t14; + const double t216 = t94 * t215; + const double t218 = t95 * t86; + const double t219 = t94 * t218; + const double t221 = t99 * t21; + const double t222 = 0.1e1 / t221; + const double t223 = t222 * t1; + const double t224 = t223 * t3; + const double t226 = t224 * t173 * t105; + const double t229 = t100 * t191 * t91; + const double t232 = t229 * t194 * t197 * t105; + const double t236 = t102 * t82 * t172 * t105; + const double t238 = t99 * t99; + const double t240 = 0.1e1 / t238 / t21; + const double t241 = t240 * t1; + const double t242 = t241 * t3; + const double t243 = t104 * t104; + const double t244 = 0.1e1 / t243; + const double t246 = t242 * t173 * t244; + const double t249 = t27 * t76; + const double t250 = t249 * t81; + const double t251 = t69 * t86; + const double t255 = t110 * t191; + const double t257 = t5 * t197; + const double t258 = t256 * t257; + const double t263 = t28 * t182; + const double t267 = t175 / 0.72e2 + t250 * t82 * t251 / 0.3e1 - t255 * t258 / 0.9e1 + 0.2e1 / 0.9e1 * t111 * t188 + 0.2e1 * t263 * t184 - t114 * t204; + const double t268 = t267 * t117; + const double t269 = t268 * t14; + const double t272 = 0.1e1 / t28 / t27; + const double t273 = t116 * t272; + const double t274 = t14 * t80; + const double t275 = t273 * t274; + const double t276 = t275 * t78; + const double t278 = t118 * t86; + const double t281 = t4 * t173 * t36; + const double t283 = t69 * t125; + const double t288 = 0.1e1 / t124 / t35; + const double t289 = t8 * t288; + const double t290 = t128 * t128; + const double t296 = t189 - 0.62837222222222222223e-1 * t199 + 0.12567444444444444445e0 * t202; + const double t302 = ( t281 / 0.9e1 + t74 * t283 * t128 / 0.6e1 + t74 * t289 * t290 / 0.2e1 - t74 * t126 * t296 / 0.4e1 ) * t91 * t93; + const double t305 = t214 * t35; + const double t308 = t95 * t128; + const double t311 = t138 * t41; + const double t313 = 0.1e1 / t311 * t1; + const double t314 = t313 * t3; + const double t319 = t139 * t191 * t91; + const double t328 = t138 * t138; + const double t330 = 0.1e1 / t328 / t41; + const double t331 = t330 * t1; + const double t332 = t331 * t3; + const double t333 = t143 * t143; + const double t334 = 0.1e1 / t333; + const double t339 = t46 * t125; + const double t340 = t339 * t81; + const double t341 = t69 * t128; + const double t345 = t149 * t191; + const double t350 = t47 * t288; + const double t354 = t281 / 0.72e2 + t340 * t82 * t341 / 0.3e1 - t345 * t258 / 0.9e1 + 0.2e1 / 0.9e1 * t150 * t188 + 0.2e1 * t350 * t290 - t153 * t296; + const double t355 = t354 * t156; + const double t359 = 0.1e1 / t47 / t46; + const double t360 = t155 * t359; + const double t361 = t35 * t80; + const double t362 = t360 * t361; + const double t369 = t33 * ( t302 * t135 / 0.3e1 + t134 * t305 / 0.9e1 + t134 * t308 / 0.3e1 + 0.12572604010298724325e0 * t314 * t173 * t144 + 0.2514520802059744865e0 * t319 * t194 * t197 * t144 - 0.502904160411948973e0 * t141 * t82 * t172 * t144 - 0.63791733988157656508e1 * t332 * t173 * t334 + 0.41403379428206274608e-3 * t355 * t35 + 0.69005632380343791013e-4 * t362 * t78 + 0.41403379428206274608e-3 * t157 * t128 ) * t65; + const double t371 = 0.10363566666666666667e-1 * t211 + 0.34545222222222222223e-2 * t216 + 0.10363566666666666667e-1 * t219 + 0.13255248558342256726e-1 * t226 + 0.26510497116684513453e-1 * t232 - 0.53020994233369026905e-1 * t236 - 0.50167127350538589834e0 * t246 + 0.96902277115443742139e-3 * t269 + 0.1615037951924062369e-3 * t276 + 0.96902277115443742139e-3 * t278 - t369 / 0.24e2; + + + vrho = t20 + t25 + t31 - t67 + rho * ( 0.10363566666666666667e-1 * t97 + 0.39765745675026770179e-1 * t108 + 0.96902277115443742139e-3 * t119 - t162 / 0.24e2 ); + v2rho2 = 0.20727133333333333334e-1 * t97 + 0.79531491350053540358e-1 * t108 + 0.19380455423088748428e-2 * t119 - t162 / 0.12e2 + rho * t371; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t86 = t70 * t84 / 0.24e2; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t109 = t106 * t108; + + + eps = t21 + t26 + t32 - t86 + t109; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + constexpr double t116 = t4 * t6; + constexpr double t124 = t3 * t6; + constexpr double t133 = t1 * t1; + constexpr double t135 = 0.1e1 / t3; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t86 = t70 * t84 / 0.24e2; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t109 = t106 * t108; + const double t111 = 0.1e1 / t8 / t7; + const double t112 = t6 * t111; + const double t117 = t15 * t15; + const double t118 = 0.1e1 / t117; + const double t119 = t9 * t118; + const double t120 = t4 * t112; + const double t121 = t120 / 0.12e2; + const double t122 = 0.1e1 / t13; + const double t123 = t122 * t1; + const double t126 = t123 * t124 * t111; + const double t128 = -t121 - 0.31062e0 * t126; + const double t136 = ( -t4 * t112 * t16 / 0.12e2 - t116 * t119 * t128 / 0.4e1 ) * t133 * t135; + const double t137 = t5 * t8; + const double t138 = t137 * t15; + const double t139 = t136 * t138; + const double t140 = 0.10363566666666666667e-1 * t139; + const double t141 = t22 * t22; + const double t142 = 0.1e1 / t141; + const double t144 = t142 * t122 * t1; + const double t146 = 0.378469910464e2 * t142 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t150 = t144 * t124 * t111 * t147; + const double t151 = 0.39765745675026770179e-1 * t150; + const double t152 = t28 * t16; + const double t153 = t152 * t122; + const double t156 = t29 * t118; + const double t158 = -t153 * t120 / 0.6e1 - t156 * t128; + const double t159 = 0.1e1 / t29; + const double t160 = t158 * t159; + const double t161 = t160 * t15; + const double t162 = 0.96902277115443742139e-3 * t161; + const double t166 = t36 * t36; + const double t167 = 0.1e1 / t166; + const double t168 = t9 * t167; + const double t170 = -t121 - 0.94255833333333333334e-1 * t126; + const double t176 = ( -t4 * t112 * t37 / 0.12e2 - t116 * t168 * t170 / 0.4e1 ) * t133 * t135; + const double t177 = t137 * t36; + const double t180 = t42 * t42; + const double t181 = 0.1e1 / t180; + const double t183 = t181 * t122 * t1; + const double t185 = 0.50738680655100000001e2 * t181 + 0.1e1; + const double t186 = 0.1e1 / t185; + const double t191 = t47 * t37; + const double t192 = t191 * t122; + const double t195 = t48 * t167; + const double t197 = -t192 * t120 / 0.6e1 - t195 * t170; + const double t198 = 0.1e1 / t48; + const double t199 = t197 * t198; + const double t203 = t34 * ( t176 * t177 / 0.3e1 + 0.37717812030896172975e0 * t183 * t124 * t111 * t186 + 0.41403379428206274608e-3 * t199 * t36 ); + const double t204 = t203 * t69; + const double t205 = t204 * t84; + const double t206 = t205 / 0.24e2; + const double t207 = 0.1e1 / t77; + const double t208 = t54 * t207; + const double t209 = t55 - t208; + const double t212 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t209 ); + const double t213 = -t209; + const double t216 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t213 ); + const double t217 = t212 + t216; + const double t218 = t53 * t217; + const double t219 = t218 * t84; + const double t220 = t219 / 0.24e2; + const double t221 = t75 * t54; + const double t222 = t221 * t79; + const double t223 = t78 * t7; + const double t224 = 0.1e1 / t223; + const double t225 = t76 * t224; + const double t229 = t74 * ( -0.4e1 * t222 + 0.4e1 * t225 ) * t83; + const double t230 = t70 * t229; + const double t231 = t230 / 0.24e2; + const double t235 = t88 * t88; + const double t236 = 0.1e1 / t235; + const double t237 = t9 * t236; + const double t239 = -t121 - 0.58836833333333333333e0 * t126; + const double t245 = ( -t4 * t112 * t89 / 0.12e2 - t116 * t237 * t239 / 0.4e1 ) * t133 * t135; + const double t246 = t137 * t88; + const double t249 = t95 * t95; + const double t250 = 0.1e1 / t249; + const double t252 = t250 * t122 * t1; + const double t254 = 0.223816694236e2 * t250 + 0.1e1; + const double t255 = 0.1e1 / t254; + const double t260 = t100 * t89; + const double t261 = t260 * t122; + const double t264 = t101 * t236; + const double t266 = -t261 * t120 / 0.6e1 - t264 * t239; + const double t267 = 0.1e1 / t101; + const double t268 = t266 * t267; + const double t271 = 0.51817833333333333333e-2 * t245 * t246 + 0.41388824077869423261e-1 * t252 * t124 * t111 * t255 + 0.22478670955426118383e-2 * t268 * t88 - t140 - t151 - t162; + const double t272 = t271 * t69; + const double t273 = t272 * t108; + const double t274 = t105 * t217; + const double t275 = t274 * t108; + const double t276 = t74 * t221; + const double t277 = t276 * t79; + const double t278 = t106 * t277; + const double t279 = 0.4e1 * t278; + const double t280 = t107 * t224; + const double t281 = t106 * t280; + const double t282 = 0.4e1 * t281; + const double t285 = -t55 - t208; + const double t288 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t285 ); + const double t289 = -t285; + const double t292 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t289 ); + const double t293 = t288 + t292; + const double t294 = t53 * t293; + const double t295 = t294 * t84; + const double t296 = t295 / 0.24e2; + const double t300 = t74 * ( 0.4e1 * t222 + 0.4e1 * t225 ) * t83; + const double t301 = t70 * t300; + const double t302 = t301 / 0.24e2; + const double t303 = t105 * t293; + const double t304 = t303 * t108; + + + eps = t21 + t26 + t32 - t86 + t109; + vrho_a = t21 + t26 + t32 - t86 + t109 + t7 * ( t140 + t151 + t162 - t206 - t220 - t231 + t273 + t275 + t279 - t282 ); + vrho_b = t21 + t26 + t32 - t86 + t109 + t7 * ( t140 + t151 + t162 - t206 - t296 - t302 + t273 + t304 - t279 - t282 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + constexpr double t116 = t4 * t6; + constexpr double t124 = t3 * t6; + constexpr double t133 = t1 * t1; + constexpr double t135 = 0.1e1 / t3; + constexpr double t339 = t3 * t3; + constexpr double t340 = t339 * t5; + constexpr double t402 = t133 * t339; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t111 = 0.1e1 / t8 / t7; + const double t112 = t6 * t111; + const double t117 = t15 * t15; + const double t118 = 0.1e1 / t117; + const double t119 = t9 * t118; + const double t120 = t4 * t112; + const double t121 = t120 / 0.12e2; + const double t122 = 0.1e1 / t13; + const double t123 = t122 * t1; + const double t126 = t123 * t124 * t111; + const double t128 = -t121 - 0.31062e0 * t126; + const double t136 = ( -t4 * t112 * t16 / 0.12e2 - t116 * t119 * t128 / 0.4e1 ) * t133 * t135; + const double t137 = t5 * t8; + const double t138 = t137 * t15; + const double t139 = t136 * t138; + const double t140 = 0.10363566666666666667e-1 * t139; + const double t141 = t22 * t22; + const double t142 = 0.1e1 / t141; + const double t144 = t142 * t122 * t1; + const double t146 = 0.378469910464e2 * t142 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t150 = t144 * t124 * t111 * t147; + const double t151 = 0.39765745675026770179e-1 * t150; + const double t152 = t28 * t16; + const double t153 = t152 * t122; + const double t156 = t29 * t118; + const double t158 = -t153 * t120 / 0.6e1 - t156 * t128; + const double t159 = 0.1e1 / t29; + const double t160 = t158 * t159; + const double t161 = t160 * t15; + const double t162 = 0.96902277115443742139e-3 * t161; + const double t166 = t36 * t36; + const double t167 = 0.1e1 / t166; + const double t168 = t9 * t167; + const double t170 = -t121 - 0.94255833333333333334e-1 * t126; + const double t176 = ( -t4 * t112 * t37 / 0.12e2 - t116 * t168 * t170 / 0.4e1 ) * t133 * t135; + const double t177 = t137 * t36; + const double t180 = t42 * t42; + const double t181 = 0.1e1 / t180; + const double t183 = t181 * t122 * t1; + const double t185 = 0.50738680655100000001e2 * t181 + 0.1e1; + const double t186 = 0.1e1 / t185; + const double t191 = t47 * t37; + const double t192 = t191 * t122; + const double t195 = t48 * t167; + const double t197 = -t192 * t120 / 0.6e1 - t195 * t170; + const double t198 = 0.1e1 / t48; + const double t199 = t197 * t198; + const double t203 = t34 * ( t176 * t177 / 0.3e1 + 0.37717812030896172975e0 * t183 * t124 * t111 * t186 + 0.41403379428206274608e-3 * t199 * t36 ); + const double t204 = t203 * t69; + const double t205 = t204 * t84; + const double t207 = 0.1e1 / t77; + const double t208 = t54 * t207; + const double t209 = t55 - t208; + const double t212 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t209 ); + const double t213 = -t209; + const double t216 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t213 ); + const double t217 = t212 + t216; + const double t218 = t53 * t217; + const double t219 = t218 * t84; + const double t220 = t219 / 0.24e2; + const double t221 = t75 * t54; + const double t222 = t221 * t79; + const double t223 = t78 * t7; + const double t224 = 0.1e1 / t223; + const double t225 = t76 * t224; + const double t229 = t74 * ( -0.4e1 * t222 + 0.4e1 * t225 ) * t83; + const double t230 = t70 * t229; + const double t231 = t230 / 0.24e2; + const double t235 = t88 * t88; + const double t236 = 0.1e1 / t235; + const double t237 = t9 * t236; + const double t239 = -t121 - 0.58836833333333333333e0 * t126; + const double t245 = ( -t4 * t112 * t89 / 0.12e2 - t116 * t237 * t239 / 0.4e1 ) * t133 * t135; + const double t246 = t137 * t88; + const double t249 = t95 * t95; + const double t250 = 0.1e1 / t249; + const double t252 = t250 * t122 * t1; + const double t254 = 0.223816694236e2 * t250 + 0.1e1; + const double t255 = 0.1e1 / t254; + const double t260 = t100 * t89; + const double t261 = t260 * t122; + const double t264 = t101 * t236; + const double t266 = -t261 * t120 / 0.6e1 - t264 * t239; + const double t267 = 0.1e1 / t101; + const double t268 = t266 * t267; + const double t271 = 0.51817833333333333333e-2 * t245 * t246 + 0.41388824077869423261e-1 * t252 * t124 * t111 * t255 + 0.22478670955426118383e-2 * t268 * t88 - t140 - t151 - t162; + const double t272 = t271 * t69; + const double t273 = t272 * t108; + const double t274 = t105 * t217; + const double t275 = t274 * t108; + const double t276 = t74 * t221; + const double t277 = t276 * t79; + const double t278 = t106 * t277; + const double t280 = t107 * t224; + const double t281 = t106 * t280; + const double t285 = -t55 - t208; + const double t288 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t285 ); + const double t289 = -t285; + const double t292 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t289 ); + const double t293 = t288 + t292; + const double t294 = t53 * t293; + const double t295 = t294 * t84; + const double t296 = t295 / 0.24e2; + const double t300 = t74 * ( 0.4e1 * t222 + 0.4e1 * t225 ) * t83; + const double t301 = t70 * t300; + const double t302 = t301 / 0.24e2; + const double t303 = t105 * t293; + const double t304 = t303 * t108; + const double t307 = 0.20727133333333333334e-1 * t139; + const double t308 = 0.79531491350053540358e-1 * t150; + const double t309 = 0.19380455423088748428e-2 * t161; + const double t310 = t205 / 0.12e2; + const double t313 = 0.2e1 * t273; + const double t315 = 0.8e1 * t278; + const double t316 = 0.8e1 * t281; + const double t318 = 0.1e1 / t8 / t77; + const double t319 = t6 * t318; + const double t321 = t4 * t319 * t89; + const double t323 = t111 * t236; + const double t328 = 0.1e1 / t235 / t88; + const double t329 = t9 * t328; + const double t330 = t239 * t239; + const double t334 = t4 * t319; + const double t335 = t334 / 0.9e1; + const double t337 = 0.1e1 / t13 / t11; + const double t338 = t337 * t133; + const double t341 = t8 * t8; + const double t343 = 0.1e1 / t341 / t77; + const double t345 = t338 * t340 * t343; + const double t348 = t123 * t124 * t318; + const double t350 = t335 - 0.39224555555555555555e0 * t345 + 0.7844911111111111111e0 * t348; + const double t356 = ( t321 / 0.9e1 + t116 * t323 * t239 / 0.6e1 + t116 * t329 * t330 / 0.2e1 - t116 * t237 * t350 / 0.4e1 ) * t133 * t135; + const double t360 = t5 / t341; + const double t361 = t360 * t88; + const double t364 = t137 * t239; + const double t367 = t249 * t95; + const double t368 = 0.1e1 / t367; + const double t369 = t368 * t1; + const double t370 = t369 * t3; + const double t375 = t250 * t337 * t133; + const double t384 = t249 * t249; + const double t386 = 0.1e1 / t384 / t95; + const double t387 = t386 * t1; + const double t388 = t387 * t3; + const double t389 = t254 * t254; + const double t390 = 0.1e1 / t389; + const double t395 = t100 * t236; + const double t396 = t395 * t123; + const double t397 = t111 * t239; + const double t401 = t260 * t337; + const double t403 = t5 * t343; + const double t404 = t402 * t403; + const double t409 = t101 * t328; + const double t413 = t321 / 0.72e2 + t396 * t124 * t397 / 0.3e1 - t401 * t404 / 0.9e1 + 0.2e1 / 0.9e1 * t261 * t334 + 0.2e1 * t409 * t330 - t264 * t350; + const double t414 = t413 * t267; + const double t418 = 0.1e1 / t101 / t100; + const double t419 = t266 * t418; + const double t420 = t88 * t122; + const double t421 = t419 * t420; + const double t427 = t4 * t319 * t16; + const double t429 = t111 * t118; + const double t434 = 0.1e1 / t117 / t15; + const double t435 = t9 * t434; + const double t436 = t128 * t128; + const double t442 = t335 - 0.20708e0 * t345 + 0.41416e0 * t348; + const double t448 = ( t427 / 0.9e1 + t116 * t429 * t128 / 0.6e1 + t116 * t435 * t436 / 0.2e1 - t116 * t119 * t442 / 0.4e1 ) * t133 * t135; + const double t449 = t448 * t138; + const double t450 = 0.10363566666666666667e-1 * t449; + const double t451 = t360 * t15; + const double t452 = t136 * t451; + const double t453 = 0.34545222222222222223e-2 * t452; + const double t454 = t137 * t128; + const double t455 = t136 * t454; + const double t456 = 0.10363566666666666667e-1 * t455; + const double t457 = t141 * t22; + const double t458 = 0.1e1 / t457; + const double t459 = t458 * t1; + const double t460 = t459 * t3; + const double t462 = t460 * t319 * t147; + const double t463 = 0.13255248558342256726e-1 * t462; + const double t465 = t142 * t337 * t133; + const double t468 = t465 * t340 * t343 * t147; + const double t469 = 0.26510497116684513453e-1 * t468; + const double t472 = t144 * t124 * t318 * t147; + const double t473 = 0.53020994233369026905e-1 * t472; + const double t474 = t141 * t141; + const double t476 = 0.1e1 / t474 / t22; + const double t477 = t476 * t1; + const double t478 = t477 * t3; + const double t479 = t146 * t146; + const double t480 = 0.1e1 / t479; + const double t482 = t478 * t319 * t480; + const double t483 = 0.50167127350538589834e0 * t482; + const double t485 = t28 * t118; + const double t486 = t485 * t123; + const double t487 = t111 * t128; + const double t491 = t152 * t337; + const double t496 = t29 * t434; + const double t500 = t427 / 0.72e2 + t486 * t124 * t487 / 0.3e1 - t491 * t404 / 0.9e1 + 0.2e1 / 0.9e1 * t153 * t334 + 0.2e1 * t496 * t436 - t156 * t442; + const double t501 = t500 * t159; + const double t502 = t501 * t15; + const double t503 = 0.96902277115443742139e-3 * t502; + const double t505 = 0.1e1 / t29 / t28; + const double t506 = t158 * t505; + const double t507 = t15 * t122; + const double t508 = t506 * t507; + const double t509 = t508 * t120; + const double t510 = 0.1615037951924062369e-3 * t509; + const double t511 = t160 * t128; + const double t512 = 0.96902277115443742139e-3 * t511; + const double t513 = 0.51817833333333333333e-2 * t356 * t246 + 0.17272611111111111111e-2 * t245 * t361 + 0.51817833333333333333e-2 * t245 * t364 + 0.13796274692623141087e-1 * t370 * t319 * t255 + 0.27592549385246282174e-1 * t375 * t340 * t343 * t255 - 0.55185098770492564348e-1 * t252 * t124 * t318 * t255 - 0.30878365944746984535e0 * t388 * t319 * t390 + 0.22478670955426118383e-2 * t414 * t88 + 0.37464451592376863972e-3 * t421 * t120 + 0.22478670955426118383e-2 * t268 * t239 - t450 - t453 - t456 - t463 - t469 + t473 + t483 - t503 - t510 - t512; + const double t514 = t513 * t69; + const double t515 = t514 * t108; + const double t516 = t61 * t61; + const double t517 = 0.1e1 / t516; + const double t518 = t209 * t209; + const double t521 = t77 * t7; + const double t522 = 0.1e1 / t521; + const double t523 = t54 * t522; + const double t525 = -0.2e1 * t207 + 0.2e1 * t523; + const double t529 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t517 * t518 + 0.4e1 / 0.3e1 * t61 * t525 ); + const double t530 = t66 * t66; + const double t531 = 0.1e1 / t530; + const double t532 = t213 * t213; + const double t535 = -t525; + const double t539 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t531 * t532 + 0.4e1 / 0.3e1 * t66 * t535 ); + const double t540 = t529 + t539; + const double t541 = t105 * t540; + const double t542 = t541 * t108; + const double t543 = t53 * t540; + const double t544 = t543 * t84; + const double t545 = t544 / 0.24e2; + const double t546 = t218 * t229; + const double t547 = t546 / 0.12e2; + const double t549 = 0.12e2 * t75 * t79; + const double t551 = 0.32e2 * t221 * t224; + const double t553 = 0.1e1 / t78 / t77; + const double t555 = 0.2e2 * t76 * t553; + const double t558 = t74 * ( -t549 + t551 - t555 ) * t83; + const double t559 = t70 * t558; + const double t560 = t559 / 0.24e2; + const double t561 = t204 * t229; + const double t562 = t561 / 0.12e2; + const double t564 = t4 * t319 * t37; + const double t566 = t111 * t167; + const double t571 = 0.1e1 / t166 / t36; + const double t572 = t9 * t571; + const double t573 = t170 * t170; + const double t579 = t335 - 0.62837222222222222223e-1 * t345 + 0.12567444444444444445e0 * t348; + const double t585 = ( t564 / 0.9e1 + t116 * t566 * t170 / 0.6e1 + t116 * t572 * t573 / 0.2e1 - t116 * t168 * t579 / 0.4e1 ) * t133 * t135; + const double t588 = t360 * t36; + const double t591 = t137 * t170; + const double t594 = t180 * t42; + const double t596 = 0.1e1 / t594 * t1; + const double t597 = t596 * t3; + const double t602 = t181 * t337 * t133; + const double t611 = t180 * t180; + const double t613 = 0.1e1 / t611 / t42; + const double t614 = t613 * t1; + const double t615 = t614 * t3; + const double t616 = t185 * t185; + const double t617 = 0.1e1 / t616; + const double t622 = t47 * t167; + const double t623 = t622 * t123; + const double t624 = t111 * t170; + const double t628 = t191 * t337; + const double t633 = t48 * t571; + const double t637 = t564 / 0.72e2 + t623 * t124 * t624 / 0.3e1 - t628 * t404 / 0.9e1 + 0.2e1 / 0.9e1 * t192 * t334 + 0.2e1 * t633 * t573 - t195 * t579; + const double t638 = t637 * t198; + const double t642 = 0.1e1 / t48 / t47; + const double t643 = t197 * t642; + const double t644 = t36 * t122; + const double t645 = t643 * t644; + const double t651 = t34 * ( t585 * t177 / 0.3e1 + t176 * t588 / 0.9e1 + t176 * t591 / 0.3e1 + 0.12572604010298724325e0 * t597 * t319 * t186 + 0.2514520802059744865e0 * t602 * t340 * t343 * t186 - 0.502904160411948973e0 * t183 * t124 * t318 * t186 - 0.63791733988157656508e1 * t615 * t319 * t617 + 0.41403379428206274608e-3 * t638 * t36 + 0.69005632380343791013e-4 * t645 * t120 + 0.41403379428206274608e-3 * t199 * t170 ); + const double t652 = t651 * t69; + const double t653 = t652 * t84; + const double t654 = t653 / 0.24e2; + const double t655 = t203 * t217; + const double t656 = t655 * t84; + const double t657 = t656 / 0.12e2; + const double t658 = t515 + t542 - t545 - t547 - t560 - t562 + t453 - t483 - t654 - t657 + t450 + t456 + t463; + const double t659 = t272 * t277; + const double t660 = 0.8e1 * t659; + const double t661 = t272 * t280; + const double t662 = 0.8e1 * t661; + const double t663 = t274 * t277; + const double t664 = 0.8e1 * t663; + const double t665 = t274 * t280; + const double t666 = 0.8e1 * t665; + const double t667 = t74 * t75; + const double t668 = t667 * t79; + const double t669 = t106 * t668; + const double t670 = 0.12e2 * t669; + const double t671 = t276 * t224; + const double t672 = t106 * t671; + const double t673 = 0.32e2 * t672; + const double t674 = t107 * t553; + const double t675 = t106 * t674; + const double t676 = 0.2e2 * t675; + const double t677 = t271 * t217; + const double t678 = t677 * t108; + const double t679 = 0.2e1 * t678; + const double t680 = t503 + t512 + t510 + t469 - t473 + t660 - t662 + t664 - t666 + t670 - t673 + t676 + t679; + const double t683 = t203 * t293; + const double t684 = t683 * t84; + const double t686 = t517 * t285; + const double t689 = t61 * t54; + const double t693 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t686 * t209 + 0.8e1 / 0.3e1 * t689 * t522 ); + const double t694 = t531 * t289; + const double t697 = t66 * t54; + const double t701 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t694 * t213 - 0.8e1 / 0.3e1 * t697 * t522 ); + const double t702 = t693 + t701; + const double t703 = t53 * t702; + const double t704 = t703 * t84; + const double t706 = t294 * t229; + const double t708 = t204 * t300; + const double t710 = t218 * t300; + const double t714 = t74 * ( t549 - t555 ) * t83; + const double t715 = t70 * t714; + const double t719 = t515 - t684 / 0.24e2 - t704 / 0.24e2 - t706 / 0.24e2 - t708 / 0.24e2 - t710 / 0.24e2 - t715 / 0.24e2 - t561 / 0.24e2 + t453 - t483 - t654 - t656 / 0.24e2 + t450 + t456 + t463; + const double t720 = t303 * t277; + const double t722 = t303 * t280; + const double t724 = t105 * t702; + const double t725 = t724 * t108; + const double t726 = t271 * t293; + const double t727 = t726 * t108; + const double t730 = t503 + t512 + t510 + 0.4e1 * t720 - 0.4e1 * t722 + t469 - t473 + t725 + t727 - t662 - 0.4e1 * t663 - 0.4e1 * t665 - t670 + t676 + t678; + const double t738 = t74 * ( -t549 - t551 - t555 ) * t83; + const double t739 = t70 * t738; + const double t740 = t739 / 0.24e2; + const double t741 = t285 * t285; + const double t745 = 0.2e1 * t207 + 0.2e1 * t523; + const double t749 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t517 * t741 + 0.4e1 / 0.3e1 * t61 * t745 ); + const double t750 = t289 * t289; + const double t753 = -t745; + const double t757 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t531 * t750 + 0.4e1 / 0.3e1 * t66 * t753 ); + const double t758 = t749 + t757; + const double t759 = t53 * t758; + const double t760 = t759 * t84; + const double t761 = t760 / 0.24e2; + const double t762 = t294 * t300; + const double t763 = t762 / 0.12e2; + const double t764 = t684 / 0.12e2; + const double t765 = t708 / 0.12e2; + const double t766 = t515 - t740 - t761 - t763 - t764 - t765 + t453 - t483 - t654 + t450 + t456 + t463 + t503; + const double t767 = t105 * t758; + const double t768 = t767 * t108; + const double t769 = 0.8e1 * t720; + const double t770 = 0.8e1 * t722; + const double t771 = 0.2e1 * t727; + const double t772 = t512 + t510 + t768 - t769 - t770 + t469 - t473 + t771 - t660 - t662 + t670 + t673 + t676; + + + v2rho2_aa = t307 + t308 + t309 - t310 - t219 / 0.12e2 - t230 / 0.12e2 + t313 + 0.2e1 * t275 + t315 - t316 + t7 * ( t658 + t680 ); + v2rho2_ab = t307 + t308 + t309 - t310 - t220 - t231 + t313 + t275 - t316 - t296 - t302 + t304 + t7 * ( t719 + t730 ); + v2rho2_bb = t307 + t308 + t309 - t310 - t295 / 0.12e2 - t301 / 0.12e2 + t313 + 0.2e1 * t304 - t315 - t316 + t7 * ( t766 + t772 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t33 = constants::m_pi_sq; + constexpr double t71 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t34 = 0.1e1 / t33; + constexpr double t72 = t71 - 0.1e1; + constexpr double t74 = 0.1e1 / t72 / 0.2e1; + constexpr double t83 = 0.9e1 * t72; + constexpr double t116 = t4 * t6; + constexpr double t124 = t3 * t6; + constexpr double t133 = t1 * t1; + constexpr double t135 = 0.1e1 / t3; + constexpr double t339 = t3 * t3; + constexpr double t340 = t339 * t5; + constexpr double t402 = t133 * t339; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t36 = t12 + 0.565535e0 * t13 + 0.130045e2; + const double t37 = 0.1e1 / t36; + const double t41 = safe_math::log( t4 * t10 * t37 / 0.4e1 ); + const double t42 = t13 + 0.113107e1; + const double t45 = safe_math::atan( 0.71231089178181179908e1 / t42 ); + const double t47 = t27 + 0.47584e-2; + const double t48 = t47 * t47; + const double t50 = safe_math::log( t48 * t37 ); + const double t53 = t34 * ( t41 + 0.317708004743941464e0 * t45 + 0.41403379428206274608e-3 * t50 ); + const double t54 = rho_a - rho_b; + const double t55 = 0.1e1 / t7; + const double t56 = t54 * t55; + const double t57 = 0.1e1 + t56; + const double t58 = t57 <= zeta_tol; + const double t59 = safe_math::cbrt( zeta_tol ); + const double t60 = t59 * zeta_tol; + const double t61 = safe_math::cbrt( t57 ); + const double t63 = piecewise_functor_3( t58, t60, t61 * t57 ); + const double t64 = 0.1e1 - t56; + const double t65 = t64 <= zeta_tol; + const double t66 = safe_math::cbrt( t64 ); + const double t68 = piecewise_functor_3( t65, t60, t66 * t64 ); + const double t69 = t63 + t68 - 0.2e1; + const double t70 = t53 * t69; + const double t75 = t54 * t54; + const double t76 = t75 * t75; + const double t77 = t7 * t7; + const double t78 = t77 * t77; + const double t79 = 0.1e1 / t78; + const double t84 = t74 * ( -t76 * t79 + 0.1e1 ) * t83; + const double t86 = t70 * t84 / 0.24e2; + const double t88 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t89 = 0.1e1 / t88; + const double t93 = safe_math::log( t4 * t10 * t89 / 0.4e1 ); + const double t95 = t13 + 0.706042e1; + const double t98 = safe_math::atan( 0.473092690956011283e1 / t95 ); + const double t100 = t27 + 0.325e0; + const double t101 = t100 * t100; + const double t103 = safe_math::log( t101 * t89 ); + const double t105 = 0.1554535e-1 * t93 + 0.52491393169780936218e-1 * t98 + 0.22478670955426118383e-2 * t103 - t21 - t26 - t32; + const double t106 = t105 * t69; + const double t107 = t74 * t76; + const double t108 = t107 * t79; + const double t109 = t106 * t108; + const double t111 = 0.1e1 / t8 / t7; + const double t112 = t6 * t111; + const double t117 = t15 * t15; + const double t118 = 0.1e1 / t117; + const double t119 = t9 * t118; + const double t120 = t4 * t112; + const double t121 = t120 / 0.12e2; + const double t122 = 0.1e1 / t13; + const double t123 = t122 * t1; + const double t126 = t123 * t124 * t111; + const double t128 = -t121 - 0.31062e0 * t126; + const double t136 = ( -t4 * t112 * t16 / 0.12e2 - t116 * t119 * t128 / 0.4e1 ) * t133 * t135; + const double t137 = t5 * t8; + const double t138 = t137 * t15; + const double t139 = t136 * t138; + const double t140 = 0.10363566666666666667e-1 * t139; + const double t141 = t22 * t22; + const double t142 = 0.1e1 / t141; + const double t144 = t142 * t122 * t1; + const double t146 = 0.378469910464e2 * t142 + 0.1e1; + const double t147 = 0.1e1 / t146; + const double t150 = t144 * t124 * t111 * t147; + const double t151 = 0.39765745675026770179e-1 * t150; + const double t152 = t28 * t16; + const double t153 = t152 * t122; + const double t156 = t29 * t118; + const double t158 = -t153 * t120 / 0.6e1 - t156 * t128; + const double t159 = 0.1e1 / t29; + const double t160 = t158 * t159; + const double t161 = t160 * t15; + const double t162 = 0.96902277115443742139e-3 * t161; + const double t166 = t36 * t36; + const double t167 = 0.1e1 / t166; + const double t168 = t9 * t167; + const double t170 = -t121 - 0.94255833333333333334e-1 * t126; + const double t176 = ( -t4 * t112 * t37 / 0.12e2 - t116 * t168 * t170 / 0.4e1 ) * t133 * t135; + const double t177 = t137 * t36; + const double t180 = t42 * t42; + const double t181 = 0.1e1 / t180; + const double t183 = t181 * t122 * t1; + const double t185 = 0.50738680655100000001e2 * t181 + 0.1e1; + const double t186 = 0.1e1 / t185; + const double t191 = t47 * t37; + const double t192 = t191 * t122; + const double t195 = t48 * t167; + const double t197 = -t192 * t120 / 0.6e1 - t195 * t170; + const double t198 = 0.1e1 / t48; + const double t199 = t197 * t198; + const double t203 = t34 * ( t176 * t177 / 0.3e1 + 0.37717812030896172975e0 * t183 * t124 * t111 * t186 + 0.41403379428206274608e-3 * t199 * t36 ); + const double t204 = t203 * t69; + const double t205 = t204 * t84; + const double t206 = t205 / 0.24e2; + const double t207 = 0.1e1 / t77; + const double t208 = t54 * t207; + const double t209 = t55 - t208; + const double t212 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t209 ); + const double t213 = -t209; + const double t216 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t213 ); + const double t217 = t212 + t216; + const double t218 = t53 * t217; + const double t219 = t218 * t84; + const double t220 = t219 / 0.24e2; + const double t221 = t75 * t54; + const double t222 = t221 * t79; + const double t223 = t78 * t7; + const double t224 = 0.1e1 / t223; + const double t225 = t76 * t224; + const double t229 = t74 * ( -0.4e1 * t222 + 0.4e1 * t225 ) * t83; + const double t230 = t70 * t229; + const double t231 = t230 / 0.24e2; + const double t235 = t88 * t88; + const double t236 = 0.1e1 / t235; + const double t237 = t9 * t236; + const double t239 = -t121 - 0.58836833333333333333e0 * t126; + const double t245 = ( -t4 * t112 * t89 / 0.12e2 - t116 * t237 * t239 / 0.4e1 ) * t133 * t135; + const double t246 = t137 * t88; + const double t249 = t95 * t95; + const double t250 = 0.1e1 / t249; + const double t252 = t250 * t122 * t1; + const double t254 = 0.223816694236e2 * t250 + 0.1e1; + const double t255 = 0.1e1 / t254; + const double t260 = t100 * t89; + const double t261 = t260 * t122; + const double t264 = t101 * t236; + const double t266 = -t261 * t120 / 0.6e1 - t264 * t239; + const double t267 = 0.1e1 / t101; + const double t268 = t266 * t267; + const double t271 = 0.51817833333333333333e-2 * t245 * t246 + 0.41388824077869423261e-1 * t252 * t124 * t111 * t255 + 0.22478670955426118383e-2 * t268 * t88 - t140 - t151 - t162; + const double t272 = t271 * t69; + const double t273 = t272 * t108; + const double t274 = t105 * t217; + const double t275 = t274 * t108; + const double t276 = t74 * t221; + const double t277 = t276 * t79; + const double t278 = t106 * t277; + const double t279 = 0.4e1 * t278; + const double t280 = t107 * t224; + const double t281 = t106 * t280; + const double t282 = 0.4e1 * t281; + const double t285 = -t55 - t208; + const double t288 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.3e1 * t61 * t285 ); + const double t289 = -t285; + const double t292 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.3e1 * t66 * t289 ); + const double t293 = t288 + t292; + const double t294 = t53 * t293; + const double t295 = t294 * t84; + const double t296 = t295 / 0.24e2; + const double t300 = t74 * ( 0.4e1 * t222 + 0.4e1 * t225 ) * t83; + const double t301 = t70 * t300; + const double t302 = t301 / 0.24e2; + const double t303 = t105 * t293; + const double t304 = t303 * t108; + const double t307 = 0.20727133333333333334e-1 * t139; + const double t308 = 0.79531491350053540358e-1 * t150; + const double t309 = 0.19380455423088748428e-2 * t161; + const double t310 = t205 / 0.12e2; + const double t313 = 0.2e1 * t273; + const double t315 = 0.8e1 * t278; + const double t316 = 0.8e1 * t281; + const double t318 = 0.1e1 / t8 / t77; + const double t319 = t6 * t318; + const double t321 = t4 * t319 * t89; + const double t323 = t111 * t236; + const double t328 = 0.1e1 / t235 / t88; + const double t329 = t9 * t328; + const double t330 = t239 * t239; + const double t334 = t4 * t319; + const double t335 = t334 / 0.9e1; + const double t337 = 0.1e1 / t13 / t11; + const double t338 = t337 * t133; + const double t341 = t8 * t8; + const double t343 = 0.1e1 / t341 / t77; + const double t345 = t338 * t340 * t343; + const double t348 = t123 * t124 * t318; + const double t350 = t335 - 0.39224555555555555555e0 * t345 + 0.7844911111111111111e0 * t348; + const double t356 = ( t321 / 0.9e1 + t116 * t323 * t239 / 0.6e1 + t116 * t329 * t330 / 0.2e1 - t116 * t237 * t350 / 0.4e1 ) * t133 * t135; + const double t360 = t5 / t341; + const double t361 = t360 * t88; + const double t364 = t137 * t239; + const double t367 = t249 * t95; + const double t368 = 0.1e1 / t367; + const double t369 = t368 * t1; + const double t370 = t369 * t3; + const double t375 = t250 * t337 * t133; + const double t384 = t249 * t249; + const double t386 = 0.1e1 / t384 / t95; + const double t387 = t386 * t1; + const double t388 = t387 * t3; + const double t389 = t254 * t254; + const double t390 = 0.1e1 / t389; + const double t395 = t100 * t236; + const double t396 = t395 * t123; + const double t397 = t111 * t239; + const double t401 = t260 * t337; + const double t403 = t5 * t343; + const double t404 = t402 * t403; + const double t409 = t101 * t328; + const double t413 = t321 / 0.72e2 + t396 * t124 * t397 / 0.3e1 - t401 * t404 / 0.9e1 + 0.2e1 / 0.9e1 * t261 * t334 + 0.2e1 * t409 * t330 - t264 * t350; + const double t414 = t413 * t267; + const double t418 = 0.1e1 / t101 / t100; + const double t419 = t266 * t418; + const double t420 = t88 * t122; + const double t421 = t419 * t420; + const double t427 = t4 * t319 * t16; + const double t429 = t111 * t118; + const double t434 = 0.1e1 / t117 / t15; + const double t435 = t9 * t434; + const double t436 = t128 * t128; + const double t442 = t335 - 0.20708e0 * t345 + 0.41416e0 * t348; + const double t448 = ( t427 / 0.9e1 + t116 * t429 * t128 / 0.6e1 + t116 * t435 * t436 / 0.2e1 - t116 * t119 * t442 / 0.4e1 ) * t133 * t135; + const double t449 = t448 * t138; + const double t450 = 0.10363566666666666667e-1 * t449; + const double t451 = t360 * t15; + const double t452 = t136 * t451; + const double t453 = 0.34545222222222222223e-2 * t452; + const double t454 = t137 * t128; + const double t455 = t136 * t454; + const double t456 = 0.10363566666666666667e-1 * t455; + const double t457 = t141 * t22; + const double t458 = 0.1e1 / t457; + const double t459 = t458 * t1; + const double t460 = t459 * t3; + const double t462 = t460 * t319 * t147; + const double t463 = 0.13255248558342256726e-1 * t462; + const double t465 = t142 * t337 * t133; + const double t468 = t465 * t340 * t343 * t147; + const double t469 = 0.26510497116684513453e-1 * t468; + const double t472 = t144 * t124 * t318 * t147; + const double t473 = 0.53020994233369026905e-1 * t472; + const double t474 = t141 * t141; + const double t476 = 0.1e1 / t474 / t22; + const double t477 = t476 * t1; + const double t478 = t477 * t3; + const double t479 = t146 * t146; + const double t480 = 0.1e1 / t479; + const double t482 = t478 * t319 * t480; + const double t483 = 0.50167127350538589834e0 * t482; + const double t485 = t28 * t118; + const double t486 = t485 * t123; + const double t487 = t111 * t128; + const double t491 = t152 * t337; + const double t496 = t29 * t434; + const double t500 = t427 / 0.72e2 + t486 * t124 * t487 / 0.3e1 - t491 * t404 / 0.9e1 + 0.2e1 / 0.9e1 * t153 * t334 + 0.2e1 * t496 * t436 - t156 * t442; + const double t501 = t500 * t159; + const double t502 = t501 * t15; + const double t503 = 0.96902277115443742139e-3 * t502; + const double t505 = 0.1e1 / t29 / t28; + const double t506 = t158 * t505; + const double t507 = t15 * t122; + const double t508 = t506 * t507; + const double t509 = t508 * t120; + const double t510 = 0.1615037951924062369e-3 * t509; + const double t511 = t160 * t128; + const double t512 = 0.96902277115443742139e-3 * t511; + const double t513 = 0.51817833333333333333e-2 * t356 * t246 + 0.17272611111111111111e-2 * t245 * t361 + 0.51817833333333333333e-2 * t245 * t364 + 0.13796274692623141087e-1 * t370 * t319 * t255 + 0.27592549385246282174e-1 * t375 * t340 * t343 * t255 - 0.55185098770492564348e-1 * t252 * t124 * t318 * t255 - 0.30878365944746984535e0 * t388 * t319 * t390 + 0.22478670955426118383e-2 * t414 * t88 + 0.37464451592376863972e-3 * t421 * t120 + 0.22478670955426118383e-2 * t268 * t239 - t450 - t453 - t456 - t463 - t469 + t473 + t483 - t503 - t510 - t512; + const double t514 = t513 * t69; + const double t515 = t514 * t108; + const double t516 = t61 * t61; + const double t517 = 0.1e1 / t516; + const double t518 = t209 * t209; + const double t521 = t77 * t7; + const double t522 = 0.1e1 / t521; + const double t523 = t54 * t522; + const double t525 = -0.2e1 * t207 + 0.2e1 * t523; + const double t529 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t517 * t518 + 0.4e1 / 0.3e1 * t61 * t525 ); + const double t530 = t66 * t66; + const double t531 = 0.1e1 / t530; + const double t532 = t213 * t213; + const double t535 = -t525; + const double t539 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t531 * t532 + 0.4e1 / 0.3e1 * t66 * t535 ); + const double t540 = t529 + t539; + const double t541 = t105 * t540; + const double t542 = t541 * t108; + const double t543 = t53 * t540; + const double t544 = t543 * t84; + const double t545 = t544 / 0.24e2; + const double t546 = t218 * t229; + const double t547 = t546 / 0.12e2; + const double t549 = 0.12e2 * t75 * t79; + const double t551 = 0.32e2 * t221 * t224; + const double t553 = 0.1e1 / t78 / t77; + const double t555 = 0.2e2 * t76 * t553; + const double t558 = t74 * ( -t549 + t551 - t555 ) * t83; + const double t559 = t70 * t558; + const double t560 = t559 / 0.24e2; + const double t561 = t204 * t229; + const double t562 = t561 / 0.12e2; + const double t564 = t4 * t319 * t37; + const double t566 = t111 * t167; + const double t571 = 0.1e1 / t166 / t36; + const double t572 = t9 * t571; + const double t573 = t170 * t170; + const double t579 = t335 - 0.62837222222222222223e-1 * t345 + 0.12567444444444444445e0 * t348; + const double t585 = ( t564 / 0.9e1 + t116 * t566 * t170 / 0.6e1 + t116 * t572 * t573 / 0.2e1 - t116 * t168 * t579 / 0.4e1 ) * t133 * t135; + const double t588 = t360 * t36; + const double t591 = t137 * t170; + const double t594 = t180 * t42; + const double t596 = 0.1e1 / t594 * t1; + const double t597 = t596 * t3; + const double t602 = t181 * t337 * t133; + const double t611 = t180 * t180; + const double t613 = 0.1e1 / t611 / t42; + const double t614 = t613 * t1; + const double t615 = t614 * t3; + const double t616 = t185 * t185; + const double t617 = 0.1e1 / t616; + const double t622 = t47 * t167; + const double t623 = t622 * t123; + const double t624 = t111 * t170; + const double t628 = t191 * t337; + const double t633 = t48 * t571; + const double t637 = t564 / 0.72e2 + t623 * t124 * t624 / 0.3e1 - t628 * t404 / 0.9e1 + 0.2e1 / 0.9e1 * t192 * t334 + 0.2e1 * t633 * t573 - t195 * t579; + const double t638 = t637 * t198; + const double t642 = 0.1e1 / t48 / t47; + const double t643 = t197 * t642; + const double t644 = t36 * t122; + const double t645 = t643 * t644; + const double t651 = t34 * ( t585 * t177 / 0.3e1 + t176 * t588 / 0.9e1 + t176 * t591 / 0.3e1 + 0.12572604010298724325e0 * t597 * t319 * t186 + 0.2514520802059744865e0 * t602 * t340 * t343 * t186 - 0.502904160411948973e0 * t183 * t124 * t318 * t186 - 0.63791733988157656508e1 * t615 * t319 * t617 + 0.41403379428206274608e-3 * t638 * t36 + 0.69005632380343791013e-4 * t645 * t120 + 0.41403379428206274608e-3 * t199 * t170 ); + const double t652 = t651 * t69; + const double t653 = t652 * t84; + const double t654 = t653 / 0.24e2; + const double t655 = t203 * t217; + const double t656 = t655 * t84; + const double t657 = t656 / 0.12e2; + const double t658 = t515 + t542 - t545 - t547 - t560 - t562 + t453 - t483 - t654 - t657 + t450 + t456 + t463; + const double t659 = t272 * t277; + const double t660 = 0.8e1 * t659; + const double t661 = t272 * t280; + const double t662 = 0.8e1 * t661; + const double t663 = t274 * t277; + const double t664 = 0.8e1 * t663; + const double t665 = t274 * t280; + const double t666 = 0.8e1 * t665; + const double t667 = t74 * t75; + const double t668 = t667 * t79; + const double t669 = t106 * t668; + const double t670 = 0.12e2 * t669; + const double t671 = t276 * t224; + const double t672 = t106 * t671; + const double t673 = 0.32e2 * t672; + const double t674 = t107 * t553; + const double t675 = t106 * t674; + const double t676 = 0.2e2 * t675; + const double t677 = t271 * t217; + const double t678 = t677 * t108; + const double t679 = 0.2e1 * t678; + const double t680 = t503 + t512 + t510 + t469 - t473 + t660 - t662 + t664 - t666 + t670 - t673 + t676 + t679; + const double t683 = t203 * t293; + const double t684 = t683 * t84; + const double t686 = t517 * t285; + const double t689 = t61 * t54; + const double t693 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t686 * t209 + 0.8e1 / 0.3e1 * t689 * t522 ); + const double t694 = t531 * t289; + const double t697 = t66 * t54; + const double t701 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t694 * t213 - 0.8e1 / 0.3e1 * t697 * t522 ); + const double t702 = t693 + t701; + const double t703 = t53 * t702; + const double t704 = t703 * t84; + const double t706 = t294 * t229; + const double t708 = t204 * t300; + const double t710 = t218 * t300; + const double t714 = t74 * ( t549 - t555 ) * t83; + const double t715 = t70 * t714; + const double t719 = t515 - t684 / 0.24e2 - t704 / 0.24e2 - t706 / 0.24e2 - t708 / 0.24e2 - t710 / 0.24e2 - t715 / 0.24e2 - t561 / 0.24e2 + t453 - t483 - t654 - t656 / 0.24e2 + t450 + t456 + t463; + const double t720 = t303 * t277; + const double t722 = t303 * t280; + const double t724 = t105 * t702; + const double t725 = t724 * t108; + const double t726 = t271 * t293; + const double t727 = t726 * t108; + const double t730 = t503 + t512 + t510 + 0.4e1 * t720 - 0.4e1 * t722 + t469 - t473 + t725 + t727 - t662 - 0.4e1 * t663 - 0.4e1 * t665 - t670 + t676 + t678; + const double t738 = t74 * ( -t549 - t551 - t555 ) * t83; + const double t739 = t70 * t738; + const double t740 = t739 / 0.24e2; + const double t741 = t285 * t285; + const double t745 = 0.2e1 * t207 + 0.2e1 * t523; + const double t749 = piecewise_functor_3( t58, 0.0, 0.4e1 / 0.9e1 * t517 * t741 + 0.4e1 / 0.3e1 * t61 * t745 ); + const double t750 = t289 * t289; + const double t753 = -t745; + const double t757 = piecewise_functor_3( t65, 0.0, 0.4e1 / 0.9e1 * t531 * t750 + 0.4e1 / 0.3e1 * t66 * t753 ); + const double t758 = t749 + t757; + const double t759 = t53 * t758; + const double t760 = t759 * t84; + const double t761 = t760 / 0.24e2; + const double t762 = t294 * t300; + const double t763 = t762 / 0.12e2; + const double t764 = t684 / 0.12e2; + const double t765 = t708 / 0.12e2; + const double t766 = t515 - t740 - t761 - t763 - t764 - t765 + t453 - t483 - t654 + t450 + t456 + t463 + t503; + const double t767 = t105 * t758; + const double t768 = t767 * t108; + const double t769 = 0.8e1 * t720; + const double t770 = 0.8e1 * t722; + const double t771 = 0.2e1 * t727; + const double t772 = t512 + t510 + t768 - t769 - t770 + t469 - t473 + t771 - t660 - t662 + t670 + t673 + t676; + + + vrho_a = t21 + t26 + t32 - t86 + t109 + t7 * ( t140 + t151 + t162 - t206 - t220 - t231 + t273 + t275 + t279 - t282 ); + vrho_b = t21 + t26 + t32 - t86 + t109 + t7 * ( t140 + t151 + t162 - t206 - t296 - t302 + t273 + t304 - t279 - t282 ); + v2rho2_aa = t307 + t308 + t309 - t310 - t219 / 0.12e2 - t230 / 0.12e2 + t313 + 0.2e1 * t275 + t315 - t316 + t7 * ( t658 + t680 ); + v2rho2_ab = t307 + t308 + t309 - t310 - t220 - t231 + t313 + t275 - t316 - t296 - t302 + t304 + t7 * ( t719 + t730 ); + v2rho2_bb = t307 + t308 + t309 - t310 - t295 / 0.12e2 - t301 / 0.12e2 + t313 + 0.2e1 * t304 - t315 - t316 + t7 * ( t766 + t772 ); + + } + + +}; + +struct BuiltinVWN : detail::BuiltinKernelImpl< BuiltinVWN > { + + BuiltinVWN( Spin p ) : + detail::BuiltinKernelImpl< BuiltinVWN >(p) { } + + virtual ~BuiltinVWN() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/vwn3.hpp b/include/exchcxx/impl/builtin/kernels/vwn3.hpp index f5b7bed..1efffa0 100644 --- a/include/exchcxx/impl/builtin/kernels/vwn3.hpp +++ b/include/exchcxx/impl/builtin/kernels/vwn3.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,15 +79,12 @@ struct kernel_traits< BuiltinVWN3 > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -120,7 +168,6 @@ struct kernel_traits< BuiltinVWN3 > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -316,15 +363,1233 @@ struct kernel_traits< BuiltinVWN3 > : const double t355 = t92 * t354; - eps = t20 + t25 + t31 - t126; - vrho = t20 + t25 + t31 - t126 + rho * ( t157 + t168 + t179 - t222 / 0.24e2 + t311 / 0.24e2 - t355 / 0.24e2 ); + eps = t20 + t25 + t31 - t126; + vrho = t20 + t25 + t31 - t126 + rho * ( t157 + t168 + t179 - t222 / 0.24e2 + t311 / 0.24e2 - t355 / 0.24e2 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t90 = constants::m_pi_sq; + constexpr double t118 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t91 = 0.1e1 / t90; + constexpr double t119 = t118 - 0.1e1; + constexpr double t121 = 0.1e1 / t119 / 0.2e1; + constexpr double t122 = 0.9e1 * t119; + constexpr double t123 = t121 * t122; + constexpr double t133 = t4 * t6; + constexpr double t141 = t3 * t6; + constexpr double t150 = t1 * t1; + constexpr double t152 = 0.1e1 / t3; + constexpr double t388 = t3 * t3; + constexpr double t389 = t388 * t5; + constexpr double t451 = t150 * t388; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t33 = t11 + 0.353021e1 * t12 + 0.180578e2; + const double t34 = 0.1e1 / t33; + const double t38 = safe_math::log( t4 * t9 * t34 / 0.4e1 ); + const double t40 = t12 + 0.706042e1; + const double t43 = safe_math::atan( 0.473092690956011283e1 / t40 ); + const double t45 = t26 + 0.325e0; + const double t46 = t45 * t45; + const double t48 = safe_math::log( t46 * t34 ); + const double t50 = 0.1554535e-1 * t38 + 0.52491393169780936218e-1 * t43 + 0.22478670955426118383e-2 * t48 - t20 - t25 - t31; + const double t52 = t11 + 0.1006155e2 * t12 + 0.101578e3; + const double t53 = 0.1e1 / t52; + const double t57 = safe_math::log( t4 * t9 * t53 / 0.4e1 ); + const double t59 = t12 + 0.201231e2; + const double t62 = safe_math::atan( 0.11716852777089929792e1 / t59 ); + const double t64 = t26 + 0.743294e0; + const double t65 = t64 * t64; + const double t67 = safe_math::log( t65 * t53 ); + const double t70 = t11 + 0.6536e1 * t12 + 0.427198e2; + const double t71 = 0.1e1 / t70; + const double t75 = safe_math::log( t4 * t9 * t71 / 0.4e1 ); + const double t77 = t12 + 0.13072e2; + const double t80 = safe_math::atan( 0.44899888641287296627e-1 / t77 ); + const double t82 = t26 + 0.409286e0; + const double t83 = t82 * t82; + const double t85 = safe_math::log( t83 * t71 ); + const double t87 = 0.1554535e-1 * t57 + 0.61881802979060631482e0 * t62 + 0.26673100072733151594e-2 * t67 - 0.310907e-1 * t75 - 0.20521972937837502661e2 * t80 - 0.44313737677495382697e-2 * t85; + const double t88 = 0.1e1 / t87; + const double t92 = t50 * t88 * t91; + const double t94 = t11 + 0.534175e0 * t12 + 0.114813e2; + const double t95 = 0.1e1 / t94; + const double t99 = safe_math::log( t4 * t9 * t95 / 0.4e1 ); + const double t100 = t12 + 0.106835e1; + const double t103 = safe_math::atan( 0.6692072046645941483e1 / t100 ); + const double t105 = t26 + 0.228344e0; + const double t106 = t105 * t105; + const double t108 = safe_math::log( t106 * t95 ); + const double t110 = t99 + 0.32323836906055067299e0 * t103 + 0.21608710360898267022e-1 * t108; + const double t112 = safe_math::cbrt( zeta_tol ); + const double t114 = piecewise_functor_3( 0.1e1 <= zeta_tol, t112 * zeta_tol, 1.0 ); + const double t116 = 0.2e1 * t114 - 0.2e1; + const double t124 = t110 * t116 * t123; + const double t128 = 0.1e1 / t7 / rho; + const double t129 = t6 * t128; + const double t134 = t14 * t14; + const double t135 = 0.1e1 / t134; + const double t136 = t8 * t135; + const double t137 = t4 * t129; + const double t138 = t137 / 0.12e2; + const double t139 = 0.1e1 / t12; + const double t140 = t139 * t1; + const double t143 = t140 * t141 * t128; + const double t145 = -t138 - 0.31062e0 * t143; + const double t153 = ( -t4 * t129 * t15 / 0.12e2 - t133 * t136 * t145 / 0.4e1 ) * t150 * t152; + const double t154 = t5 * t7; + const double t155 = t154 * t14; + const double t156 = t153 * t155; + const double t157 = 0.10363566666666666667e-1 * t156; + const double t158 = t21 * t21; + const double t159 = 0.1e1 / t158; + const double t161 = t159 * t139 * t1; + const double t163 = 0.378469910464e2 * t159 + 0.1e1; + const double t164 = 0.1e1 / t163; + const double t167 = t161 * t141 * t128 * t164; + const double t168 = 0.39765745675026770179e-1 * t167; + const double t169 = t27 * t15; + const double t170 = t169 * t139; + const double t173 = t28 * t135; + const double t175 = -t170 * t137 / 0.6e1 - t173 * t145; + const double t176 = 0.1e1 / t28; + const double t177 = t175 * t176; + const double t178 = t177 * t14; + const double t179 = 0.96902277115443742139e-3 * t178; + const double t183 = t33 * t33; + const double t184 = 0.1e1 / t183; + const double t185 = t8 * t184; + const double t187 = -t138 - 0.58836833333333333333e0 * t143; + const double t193 = ( -t4 * t129 * t34 / 0.12e2 - t133 * t185 * t187 / 0.4e1 ) * t150 * t152; + const double t194 = t154 * t33; + const double t197 = t40 * t40; + const double t198 = 0.1e1 / t197; + const double t200 = t198 * t139 * t1; + const double t202 = 0.223816694236e2 * t198 + 0.1e1; + const double t203 = 0.1e1 / t202; + const double t208 = t45 * t34; + const double t209 = t208 * t139; + const double t212 = t46 * t184; + const double t214 = -t209 * t137 / 0.6e1 - t212 * t187; + const double t215 = 0.1e1 / t46; + const double t216 = t214 * t215; + const double t219 = 0.51817833333333333333e-2 * t193 * t194 + 0.41388824077869423261e-1 * t200 * t141 * t128 * t203 + 0.22478670955426118383e-2 * t216 * t33 - t157 - t168 - t179; + const double t221 = t219 * t88 * t91; + const double t222 = t221 * t124; + const double t224 = t87 * t87; + const double t225 = 0.1e1 / t224; + const double t226 = t50 * t225; + const double t227 = t91 * t110; + const double t228 = t226 * t227; + const double t229 = t116 * t121; + const double t233 = t52 * t52; + const double t234 = 0.1e1 / t233; + const double t235 = t8 * t234; + const double t237 = -t138 - 0.1676925e1 * t143; + const double t243 = ( -t4 * t129 * t53 / 0.12e2 - t133 * t235 * t237 / 0.4e1 ) * t150 * t152; + const double t244 = t154 * t52; + const double t247 = t59 * t59; + const double t248 = 0.1e1 / t247; + const double t250 = t248 * t139 * t1; + const double t252 = 0.137284639e1 * t248 + 0.1e1; + const double t253 = 0.1e1 / t252; + const double t258 = t64 * t53; + const double t259 = t258 * t139; + const double t262 = t65 * t234; + const double t264 = -t259 * t137 / 0.6e1 - t262 * t237; + const double t265 = 0.1e1 / t65; + const double t266 = t264 * t265; + const double t272 = t70 * t70; + const double t273 = 0.1e1 / t272; + const double t274 = t8 * t273; + const double t276 = -t138 - 0.10893333333333333333e1 * t143; + const double t282 = ( -t4 * t129 * t71 / 0.12e2 - t133 * t274 * t276 / 0.4e1 ) * t150 * t152; + const double t283 = t154 * t70; + const double t286 = t77 * t77; + const double t287 = 0.1e1 / t286; + const double t289 = t287 * t139 * t1; + const double t291 = 0.2016e-2 * t287 + 0.1e1; + const double t292 = 0.1e1 / t291; + const double t297 = t82 * t71; + const double t298 = t297 * t139; + const double t301 = t83 * t273; + const double t303 = -t298 * t137 / 0.6e1 - t301 * t276; + const double t304 = 0.1e1 / t83; + const double t305 = t303 * t304; + const double t308 = 0.51817833333333333333e-2 * t243 * t244 + 0.12084332918108974175e0 * t250 * t141 * t128 * t253 + 0.26673100072733151594e-2 * t266 * t52 - 0.10363566666666666667e-1 * t282 * t283 - 0.15357238326806922974e0 * t289 * t141 * t128 * t292 - 0.44313737677495382697e-2 * t305 * t70; + const double t309 = t122 * t308; + const double t310 = t229 * t309; + const double t311 = t228 * t310; + const double t316 = t94 * t94; + const double t317 = 0.1e1 / t316; + const double t318 = t8 * t317; + const double t320 = -t138 - 0.89029166666666666667e-1 * t143; + const double t326 = ( -t4 * t129 * t95 / 0.12e2 - t133 * t318 * t320 / 0.4e1 ) * t150 * t152; + const double t327 = t154 * t94; + const double t330 = t100 * t100; + const double t331 = 0.1e1 / t330; + const double t333 = t331 * t139 * t1; + const double t335 = 0.447838282775e2 * t331 + 0.1e1; + const double t336 = 0.1e1 / t335; + const double t341 = t105 * t95; + const double t342 = t341 * t139; + const double t345 = t106 * t317; + const double t347 = -t342 * t137 / 0.6e1 - t345 * t320; + const double t348 = 0.1e1 / t106; + const double t349 = t347 * t348; + const double t352 = t326 * t327 / 0.3e1 + 0.36052240899892258525e0 * t333 * t141 * t128 * t336 + 0.21608710360898267022e-1 * t349 * t94; + const double t354 = t352 * t116 * t123; + const double t355 = t92 * t354; + const double t365 = rho * rho; + const double t367 = 0.1e1 / t7 / t365; + const double t368 = t6 * t367; + const double t370 = t4 * t368 * t15; + const double t372 = t128 * t135; + const double t377 = 0.1e1 / t134 / t14; + const double t378 = t8 * t377; + const double t379 = t145 * t145; + const double t383 = t4 * t368; + const double t384 = t383 / 0.9e1; + const double t386 = 0.1e1 / t12 / t10; + const double t387 = t386 * t150; + const double t390 = t7 * t7; + const double t392 = 0.1e1 / t390 / t365; + const double t394 = t387 * t389 * t392; + const double t397 = t140 * t141 * t367; + const double t399 = t384 - 0.20708e0 * t394 + 0.41416e0 * t397; + const double t405 = ( t370 / 0.9e1 + t133 * t372 * t145 / 0.6e1 + t133 * t378 * t379 / 0.2e1 - t133 * t136 * t399 / 0.4e1 ) * t150 * t152; + const double t406 = t405 * t155; + const double t407 = 0.10363566666666666667e-1 * t406; + const double t409 = t5 / t390; + const double t410 = t409 * t14; + const double t411 = t153 * t410; + const double t412 = 0.34545222222222222223e-2 * t411; + const double t413 = t154 * t145; + const double t414 = t153 * t413; + const double t415 = 0.10363566666666666667e-1 * t414; + const double t416 = t158 * t21; + const double t417 = 0.1e1 / t416; + const double t418 = t417 * t1; + const double t419 = t418 * t3; + const double t421 = t419 * t368 * t164; + const double t422 = 0.13255248558342256726e-1 * t421; + const double t424 = t159 * t386 * t150; + const double t427 = t424 * t389 * t392 * t164; + const double t428 = 0.26510497116684513453e-1 * t427; + const double t431 = t161 * t141 * t367 * t164; + const double t432 = 0.53020994233369026905e-1 * t431; + const double t433 = t158 * t158; + const double t435 = 0.1e1 / t433 / t21; + const double t436 = t435 * t1; + const double t437 = t436 * t3; + const double t438 = t163 * t163; + const double t439 = 0.1e1 / t438; + const double t441 = t437 * t368 * t439; + const double t442 = 0.50167127350538589834e0 * t441; + const double t444 = t27 * t135; + const double t445 = t444 * t140; + const double t446 = t128 * t145; + const double t450 = t169 * t386; + const double t452 = t5 * t392; + const double t453 = t451 * t452; + const double t458 = t28 * t377; + const double t462 = t370 / 0.72e2 + t445 * t141 * t446 / 0.3e1 - t450 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t170 * t383 + 0.2e1 * t458 * t379 - t173 * t399; + const double t463 = t462 * t176; + const double t464 = t463 * t14; + const double t465 = 0.96902277115443742139e-3 * t464; + const double t467 = 0.1e1 / t28 / t27; + const double t468 = t175 * t467; + const double t469 = t14 * t139; + const double t470 = t468 * t469; + const double t471 = t470 * t137; + const double t472 = 0.1615037951924062369e-3 * t471; + const double t473 = t177 * t145; + const double t474 = 0.96902277115443742139e-3 * t473; + const double t476 = t4 * t368 * t34; + const double t478 = t128 * t184; + const double t483 = 0.1e1 / t183 / t33; + const double t484 = t8 * t483; + const double t485 = t187 * t187; + const double t491 = t384 - 0.39224555555555555555e0 * t394 + 0.7844911111111111111e0 * t397; + const double t497 = ( t476 / 0.9e1 + t133 * t478 * t187 / 0.6e1 + t133 * t484 * t485 / 0.2e1 - t133 * t185 * t491 / 0.4e1 ) * t150 * t152; + const double t500 = t409 * t33; + const double t503 = t154 * t187; + const double t506 = t197 * t40; + const double t507 = 0.1e1 / t506; + const double t508 = t507 * t1; + const double t509 = t508 * t3; + const double t514 = t198 * t386 * t150; + const double t523 = t197 * t197; + const double t525 = 0.1e1 / t523 / t40; + const double t526 = t525 * t1; + const double t527 = t526 * t3; + const double t528 = t202 * t202; + const double t529 = 0.1e1 / t528; + const double t534 = t45 * t184; + const double t535 = t534 * t140; + const double t536 = t128 * t187; + const double t540 = t208 * t386; + const double t545 = t46 * t483; + const double t549 = t476 / 0.72e2 + t535 * t141 * t536 / 0.3e1 - t540 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t209 * t383 + 0.2e1 * t545 * t485 - t212 * t491; + const double t550 = t549 * t215; + const double t554 = 0.1e1 / t46 / t45; + const double t555 = t214 * t554; + const double t556 = t33 * t139; + const double t557 = t555 * t556; + const double t562 = 0.51817833333333333333e-2 * t497 * t194 + 0.17272611111111111111e-2 * t193 * t500 + 0.51817833333333333333e-2 * t193 * t503 + 0.13796274692623141087e-1 * t509 * t368 * t203 + 0.27592549385246282174e-1 * t514 * t389 * t392 * t203 - 0.55185098770492564348e-1 * t200 * t141 * t367 * t203 - 0.30878365944746984535e0 * t527 * t368 * t529 + 0.22478670955426118383e-2 * t550 * t33 + 0.37464451592376863972e-3 * t557 * t137 + 0.22478670955426118383e-2 * t216 * t187 - t407 - t412 - t415 - t422 - t428 + t432 + t442 - t465 - t472 - t474; + const double t564 = t562 * t88 * t91; + const double t565 = t564 * t124; + const double t567 = t219 * t225; + const double t568 = t567 * t227; + const double t569 = t568 * t310; + const double t571 = t221 * t354; + const double t574 = 0.1e1 / t224 / t87; + const double t575 = t50 * t574; + const double t576 = t575 * t227; + const double t577 = t308 * t308; + const double t578 = t122 * t577; + const double t579 = t229 * t578; + const double t580 = t576 * t579; + const double t582 = t91 * t352; + const double t583 = t226 * t582; + const double t584 = t583 * t310; + const double t587 = t4 * t368 * t53; + const double t589 = t128 * t234; + const double t594 = 0.1e1 / t233 / t52; + const double t595 = t8 * t594; + const double t596 = t237 * t237; + const double t602 = t384 - 0.111795e1 * t394 + 0.22359e1 * t397; + const double t608 = ( t587 / 0.9e1 + t133 * t589 * t237 / 0.6e1 + t133 * t595 * t596 / 0.2e1 - t133 * t235 * t602 / 0.4e1 ) * t150 * t152; + const double t611 = t409 * t52; + const double t614 = t154 * t237; + const double t617 = t247 * t59; + const double t619 = 0.1e1 / t617 * t1; + const double t620 = t619 * t3; + const double t625 = t248 * t386 * t150; + const double t634 = t247 * t247; + const double t636 = 0.1e1 / t634 / t59; + const double t637 = t636 * t1; + const double t638 = t637 * t3; + const double t639 = t252 * t252; + const double t640 = 0.1e1 / t639; + const double t645 = t64 * t234; + const double t646 = t645 * t140; + const double t647 = t128 * t237; + const double t651 = t258 * t386; + const double t656 = t65 * t594; + const double t660 = t587 / 0.72e2 + t646 * t141 * t647 / 0.3e1 - t651 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t259 * t383 + 0.2e1 * t656 * t596 - t262 * t602; + const double t661 = t660 * t265; + const double t665 = 0.1e1 / t65 / t64; + const double t666 = t264 * t665; + const double t667 = t52 * t139; + const double t668 = t666 * t667; + const double t674 = t4 * t368 * t71; + const double t676 = t128 * t273; + const double t681 = 0.1e1 / t272 / t70; + const double t682 = t8 * t681; + const double t683 = t276 * t276; + const double t689 = t384 - 0.7262222222222222222e0 * t394 + 0.14524444444444444444e1 * t397; + const double t695 = ( t674 / 0.9e1 + t133 * t676 * t276 / 0.6e1 + t133 * t682 * t683 / 0.2e1 - t133 * t274 * t689 / 0.4e1 ) * t150 * t152; + const double t698 = t409 * t70; + const double t701 = t154 * t276; + const double t704 = t286 * t77; + const double t706 = 0.1e1 / t704 * t1; + const double t707 = t706 * t3; + const double t712 = t287 * t386 * t150; + const double t721 = t286 * t286; + const double t723 = 0.1e1 / t721 / t77; + const double t724 = t723 * t1; + const double t725 = t724 * t3; + const double t726 = t291 * t291; + const double t727 = 0.1e1 / t726; + const double t732 = t82 * t273; + const double t733 = t732 * t140; + const double t734 = t128 * t276; + const double t738 = t297 * t386; + const double t743 = t83 * t681; + const double t747 = t674 / 0.72e2 + t733 * t141 * t734 / 0.3e1 - t738 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t298 * t383 + 0.2e1 * t743 * t683 - t301 * t689; + const double t748 = t747 * t304; + const double t752 = 0.1e1 / t83 / t82; + const double t753 = t303 * t752; + const double t754 = t70 * t139; + const double t755 = t753 * t754; + const double t760 = 0.51817833333333333333e-2 * t608 * t244 + 0.17272611111111111111e-2 * t243 * t611 + 0.51817833333333333333e-2 * t243 * t614 + 0.40281109727029913917e-1 * t620 * t368 * t253 + 0.80562219454059827833e-1 * t625 * t389 * t392 * t253 - 0.16112443890811965567e0 * t250 * t141 * t367 * t253 - 0.55299776073946902743e-1 * t638 * t368 * t640 + 0.26673100072733151594e-2 * t661 * t52 + 0.4445516678788858599e-3 * t668 * t137 + 0.26673100072733151594e-2 * t266 * t237 - 0.10363566666666666667e-1 * t695 * t283 - 0.34545222222222222223e-2 * t282 * t698 - 0.10363566666666666667e-1 * t282 * t701 - 0.51190794422689743247e-1 * t707 * t368 * t292 - 0.10238158884537948649e0 * t712 * t389 * t392 * t292 + 0.20476317769075897299e0 * t289 * t141 * t367 * t292 + 0.10320064155614252239e-3 * t725 * t368 * t727 - 0.44313737677495382697e-2 * t748 * t70 - 0.73856229462492304495e-3 * t755 * t137 - 0.44313737677495382697e-2 * t305 * t276; + const double t762 = t229 * t122 * t760; + const double t763 = t228 * t762; + const double t766 = t4 * t368 * t95; + const double t768 = t128 * t317; + const double t773 = 0.1e1 / t316 / t94; + const double t774 = t8 * t773; + const double t775 = t320 * t320; + const double t781 = t384 - 0.59352777777777777778e-1 * t394 + 0.11870555555555555556e0 * t397; + const double t787 = ( t766 / 0.9e1 + t133 * t768 * t320 / 0.6e1 + t133 * t774 * t775 / 0.2e1 - t133 * t318 * t781 / 0.4e1 ) * t150 * t152; + const double t790 = t409 * t94; + const double t793 = t154 * t320; + const double t796 = t330 * t100; + const double t797 = 0.1e1 / t796; + const double t798 = t797 * t1; + const double t799 = t798 * t3; + const double t804 = t331 * t386 * t150; + const double t813 = t330 * t330; + const double t815 = 0.1e1 / t813 / t100; + const double t816 = t815 * t1; + const double t817 = t816 * t3; + const double t818 = t335 * t335; + const double t819 = 0.1e1 / t818; + const double t824 = t105 * t317; + const double t825 = t824 * t140; + const double t826 = t128 * t320; + const double t830 = t341 * t386; + const double t835 = t106 * t773; + const double t839 = t766 / 0.72e2 + t825 * t141 * t826 / 0.3e1 - t830 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t342 * t383 + 0.2e1 * t835 * t775 - t345 * t781; + const double t840 = t839 * t348; + const double t844 = 0.1e1 / t106 / t105; + const double t845 = t347 * t844; + const double t846 = t94 * t139; + const double t847 = t845 * t846; + const double t852 = t787 * t327 / 0.3e1 + t326 * t790 / 0.9e1 + t326 * t793 / 0.3e1 + 0.12017413633297419508e0 * t799 * t368 * t336 + 0.24034827266594839017e0 * t804 * t389 * t392 * t336 - 0.48069654533189678033e0 * t333 * t141 * t367 * t336 - 0.53818578849327899136e1 * t817 * t368 * t819 + 0.21608710360898267022e-1 * t840 * t94 + 0.3601451726816377837e-2 * t847 * t137 + 0.21608710360898267022e-1 * t349 * t320; + const double t854 = t852 * t116 * t123; + const double t855 = t92 * t854; + const double t857 = t407 + t412 + t415 + t422 + t428 - t432 - t442 + t465 + t472 + t474 - t565 / 0.24e2 + t569 / 0.12e2 - t571 / 0.12e2 - t580 / 0.12e2 + t584 / 0.12e2 + t763 / 0.24e2 - t855 / 0.24e2; + + + v2rho2 = 0.20727133333333333334e-1 * t156 + 0.79531491350053540358e-1 * t167 + 0.19380455423088748428e-2 * t178 - t222 / 0.12e2 + t311 / 0.12e2 - t355 / 0.12e2 + rho * t857; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t90 = constants::m_pi_sq; + constexpr double t118 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t91 = 0.1e1 / t90; + constexpr double t119 = t118 - 0.1e1; + constexpr double t121 = 0.1e1 / t119 / 0.2e1; + constexpr double t122 = 0.9e1 * t119; + constexpr double t123 = t121 * t122; + constexpr double t133 = t4 * t6; + constexpr double t141 = t3 * t6; + constexpr double t150 = t1 * t1; + constexpr double t152 = 0.1e1 / t3; + constexpr double t388 = t3 * t3; + constexpr double t389 = t388 * t5; + constexpr double t451 = t150 * t388; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.186372e1 * t12 + 0.129352e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t20 = 0.310907e-1 * t19; + const double t21 = t12 + 0.372744e1; + const double t24 = safe_math::atan( 0.61519908197590802322e1 / t21 ); + const double t25 = 0.38783294878113014393e-1 * t24; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.10498e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t31 = 0.96902277115443742139e-3 * t30; + const double t33 = t11 + 0.353021e1 * t12 + 0.180578e2; + const double t34 = 0.1e1 / t33; + const double t38 = safe_math::log( t4 * t9 * t34 / 0.4e1 ); + const double t40 = t12 + 0.706042e1; + const double t43 = safe_math::atan( 0.473092690956011283e1 / t40 ); + const double t45 = t26 + 0.325e0; + const double t46 = t45 * t45; + const double t48 = safe_math::log( t46 * t34 ); + const double t50 = 0.1554535e-1 * t38 + 0.52491393169780936218e-1 * t43 + 0.22478670955426118383e-2 * t48 - t20 - t25 - t31; + const double t52 = t11 + 0.1006155e2 * t12 + 0.101578e3; + const double t53 = 0.1e1 / t52; + const double t57 = safe_math::log( t4 * t9 * t53 / 0.4e1 ); + const double t59 = t12 + 0.201231e2; + const double t62 = safe_math::atan( 0.11716852777089929792e1 / t59 ); + const double t64 = t26 + 0.743294e0; + const double t65 = t64 * t64; + const double t67 = safe_math::log( t65 * t53 ); + const double t70 = t11 + 0.6536e1 * t12 + 0.427198e2; + const double t71 = 0.1e1 / t70; + const double t75 = safe_math::log( t4 * t9 * t71 / 0.4e1 ); + const double t77 = t12 + 0.13072e2; + const double t80 = safe_math::atan( 0.44899888641287296627e-1 / t77 ); + const double t82 = t26 + 0.409286e0; + const double t83 = t82 * t82; + const double t85 = safe_math::log( t83 * t71 ); + const double t87 = 0.1554535e-1 * t57 + 0.61881802979060631482e0 * t62 + 0.26673100072733151594e-2 * t67 - 0.310907e-1 * t75 - 0.20521972937837502661e2 * t80 - 0.44313737677495382697e-2 * t85; + const double t88 = 0.1e1 / t87; + const double t92 = t50 * t88 * t91; + const double t94 = t11 + 0.534175e0 * t12 + 0.114813e2; + const double t95 = 0.1e1 / t94; + const double t99 = safe_math::log( t4 * t9 * t95 / 0.4e1 ); + const double t100 = t12 + 0.106835e1; + const double t103 = safe_math::atan( 0.6692072046645941483e1 / t100 ); + const double t105 = t26 + 0.228344e0; + const double t106 = t105 * t105; + const double t108 = safe_math::log( t106 * t95 ); + const double t110 = t99 + 0.32323836906055067299e0 * t103 + 0.21608710360898267022e-1 * t108; + const double t112 = safe_math::cbrt( zeta_tol ); + const double t114 = piecewise_functor_3( 0.1e1 <= zeta_tol, t112 * zeta_tol, 1.0 ); + const double t116 = 0.2e1 * t114 - 0.2e1; + const double t124 = t110 * t116 * t123; + const double t126 = t92 * t124 / 0.24e2; + const double t128 = 0.1e1 / t7 / rho; + const double t129 = t6 * t128; + const double t134 = t14 * t14; + const double t135 = 0.1e1 / t134; + const double t136 = t8 * t135; + const double t137 = t4 * t129; + const double t138 = t137 / 0.12e2; + const double t139 = 0.1e1 / t12; + const double t140 = t139 * t1; + const double t143 = t140 * t141 * t128; + const double t145 = -t138 - 0.31062e0 * t143; + const double t153 = ( -t4 * t129 * t15 / 0.12e2 - t133 * t136 * t145 / 0.4e1 ) * t150 * t152; + const double t154 = t5 * t7; + const double t155 = t154 * t14; + const double t156 = t153 * t155; + const double t157 = 0.10363566666666666667e-1 * t156; + const double t158 = t21 * t21; + const double t159 = 0.1e1 / t158; + const double t161 = t159 * t139 * t1; + const double t163 = 0.378469910464e2 * t159 + 0.1e1; + const double t164 = 0.1e1 / t163; + const double t167 = t161 * t141 * t128 * t164; + const double t168 = 0.39765745675026770179e-1 * t167; + const double t169 = t27 * t15; + const double t170 = t169 * t139; + const double t173 = t28 * t135; + const double t175 = -t170 * t137 / 0.6e1 - t173 * t145; + const double t176 = 0.1e1 / t28; + const double t177 = t175 * t176; + const double t178 = t177 * t14; + const double t179 = 0.96902277115443742139e-3 * t178; + const double t183 = t33 * t33; + const double t184 = 0.1e1 / t183; + const double t185 = t8 * t184; + const double t187 = -t138 - 0.58836833333333333333e0 * t143; + const double t193 = ( -t4 * t129 * t34 / 0.12e2 - t133 * t185 * t187 / 0.4e1 ) * t150 * t152; + const double t194 = t154 * t33; + const double t197 = t40 * t40; + const double t198 = 0.1e1 / t197; + const double t200 = t198 * t139 * t1; + const double t202 = 0.223816694236e2 * t198 + 0.1e1; + const double t203 = 0.1e1 / t202; + const double t208 = t45 * t34; + const double t209 = t208 * t139; + const double t212 = t46 * t184; + const double t214 = -t209 * t137 / 0.6e1 - t212 * t187; + const double t215 = 0.1e1 / t46; + const double t216 = t214 * t215; + const double t219 = 0.51817833333333333333e-2 * t193 * t194 + 0.41388824077869423261e-1 * t200 * t141 * t128 * t203 + 0.22478670955426118383e-2 * t216 * t33 - t157 - t168 - t179; + const double t221 = t219 * t88 * t91; + const double t222 = t221 * t124; + const double t224 = t87 * t87; + const double t225 = 0.1e1 / t224; + const double t226 = t50 * t225; + const double t227 = t91 * t110; + const double t228 = t226 * t227; + const double t229 = t116 * t121; + const double t233 = t52 * t52; + const double t234 = 0.1e1 / t233; + const double t235 = t8 * t234; + const double t237 = -t138 - 0.1676925e1 * t143; + const double t243 = ( -t4 * t129 * t53 / 0.12e2 - t133 * t235 * t237 / 0.4e1 ) * t150 * t152; + const double t244 = t154 * t52; + const double t247 = t59 * t59; + const double t248 = 0.1e1 / t247; + const double t250 = t248 * t139 * t1; + const double t252 = 0.137284639e1 * t248 + 0.1e1; + const double t253 = 0.1e1 / t252; + const double t258 = t64 * t53; + const double t259 = t258 * t139; + const double t262 = t65 * t234; + const double t264 = -t259 * t137 / 0.6e1 - t262 * t237; + const double t265 = 0.1e1 / t65; + const double t266 = t264 * t265; + const double t272 = t70 * t70; + const double t273 = 0.1e1 / t272; + const double t274 = t8 * t273; + const double t276 = -t138 - 0.10893333333333333333e1 * t143; + const double t282 = ( -t4 * t129 * t71 / 0.12e2 - t133 * t274 * t276 / 0.4e1 ) * t150 * t152; + const double t283 = t154 * t70; + const double t286 = t77 * t77; + const double t287 = 0.1e1 / t286; + const double t289 = t287 * t139 * t1; + const double t291 = 0.2016e-2 * t287 + 0.1e1; + const double t292 = 0.1e1 / t291; + const double t297 = t82 * t71; + const double t298 = t297 * t139; + const double t301 = t83 * t273; + const double t303 = -t298 * t137 / 0.6e1 - t301 * t276; + const double t304 = 0.1e1 / t83; + const double t305 = t303 * t304; + const double t308 = 0.51817833333333333333e-2 * t243 * t244 + 0.12084332918108974175e0 * t250 * t141 * t128 * t253 + 0.26673100072733151594e-2 * t266 * t52 - 0.10363566666666666667e-1 * t282 * t283 - 0.15357238326806922974e0 * t289 * t141 * t128 * t292 - 0.44313737677495382697e-2 * t305 * t70; + const double t309 = t122 * t308; + const double t310 = t229 * t309; + const double t311 = t228 * t310; + const double t316 = t94 * t94; + const double t317 = 0.1e1 / t316; + const double t318 = t8 * t317; + const double t320 = -t138 - 0.89029166666666666667e-1 * t143; + const double t326 = ( -t4 * t129 * t95 / 0.12e2 - t133 * t318 * t320 / 0.4e1 ) * t150 * t152; + const double t327 = t154 * t94; + const double t330 = t100 * t100; + const double t331 = 0.1e1 / t330; + const double t333 = t331 * t139 * t1; + const double t335 = 0.447838282775e2 * t331 + 0.1e1; + const double t336 = 0.1e1 / t335; + const double t341 = t105 * t95; + const double t342 = t341 * t139; + const double t345 = t106 * t317; + const double t347 = -t342 * t137 / 0.6e1 - t345 * t320; + const double t348 = 0.1e1 / t106; + const double t349 = t347 * t348; + const double t352 = t326 * t327 / 0.3e1 + 0.36052240899892258525e0 * t333 * t141 * t128 * t336 + 0.21608710360898267022e-1 * t349 * t94; + const double t354 = t352 * t116 * t123; + const double t355 = t92 * t354; + const double t365 = rho * rho; + const double t367 = 0.1e1 / t7 / t365; + const double t368 = t6 * t367; + const double t370 = t4 * t368 * t15; + const double t372 = t128 * t135; + const double t377 = 0.1e1 / t134 / t14; + const double t378 = t8 * t377; + const double t379 = t145 * t145; + const double t383 = t4 * t368; + const double t384 = t383 / 0.9e1; + const double t386 = 0.1e1 / t12 / t10; + const double t387 = t386 * t150; + const double t390 = t7 * t7; + const double t392 = 0.1e1 / t390 / t365; + const double t394 = t387 * t389 * t392; + const double t397 = t140 * t141 * t367; + const double t399 = t384 - 0.20708e0 * t394 + 0.41416e0 * t397; + const double t405 = ( t370 / 0.9e1 + t133 * t372 * t145 / 0.6e1 + t133 * t378 * t379 / 0.2e1 - t133 * t136 * t399 / 0.4e1 ) * t150 * t152; + const double t406 = t405 * t155; + const double t407 = 0.10363566666666666667e-1 * t406; + const double t409 = t5 / t390; + const double t410 = t409 * t14; + const double t411 = t153 * t410; + const double t412 = 0.34545222222222222223e-2 * t411; + const double t413 = t154 * t145; + const double t414 = t153 * t413; + const double t415 = 0.10363566666666666667e-1 * t414; + const double t416 = t158 * t21; + const double t417 = 0.1e1 / t416; + const double t418 = t417 * t1; + const double t419 = t418 * t3; + const double t421 = t419 * t368 * t164; + const double t422 = 0.13255248558342256726e-1 * t421; + const double t424 = t159 * t386 * t150; + const double t427 = t424 * t389 * t392 * t164; + const double t428 = 0.26510497116684513453e-1 * t427; + const double t431 = t161 * t141 * t367 * t164; + const double t432 = 0.53020994233369026905e-1 * t431; + const double t433 = t158 * t158; + const double t435 = 0.1e1 / t433 / t21; + const double t436 = t435 * t1; + const double t437 = t436 * t3; + const double t438 = t163 * t163; + const double t439 = 0.1e1 / t438; + const double t441 = t437 * t368 * t439; + const double t442 = 0.50167127350538589834e0 * t441; + const double t444 = t27 * t135; + const double t445 = t444 * t140; + const double t446 = t128 * t145; + const double t450 = t169 * t386; + const double t452 = t5 * t392; + const double t453 = t451 * t452; + const double t458 = t28 * t377; + const double t462 = t370 / 0.72e2 + t445 * t141 * t446 / 0.3e1 - t450 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t170 * t383 + 0.2e1 * t458 * t379 - t173 * t399; + const double t463 = t462 * t176; + const double t464 = t463 * t14; + const double t465 = 0.96902277115443742139e-3 * t464; + const double t467 = 0.1e1 / t28 / t27; + const double t468 = t175 * t467; + const double t469 = t14 * t139; + const double t470 = t468 * t469; + const double t471 = t470 * t137; + const double t472 = 0.1615037951924062369e-3 * t471; + const double t473 = t177 * t145; + const double t474 = 0.96902277115443742139e-3 * t473; + const double t476 = t4 * t368 * t34; + const double t478 = t128 * t184; + const double t483 = 0.1e1 / t183 / t33; + const double t484 = t8 * t483; + const double t485 = t187 * t187; + const double t491 = t384 - 0.39224555555555555555e0 * t394 + 0.7844911111111111111e0 * t397; + const double t497 = ( t476 / 0.9e1 + t133 * t478 * t187 / 0.6e1 + t133 * t484 * t485 / 0.2e1 - t133 * t185 * t491 / 0.4e1 ) * t150 * t152; + const double t500 = t409 * t33; + const double t503 = t154 * t187; + const double t506 = t197 * t40; + const double t507 = 0.1e1 / t506; + const double t508 = t507 * t1; + const double t509 = t508 * t3; + const double t514 = t198 * t386 * t150; + const double t523 = t197 * t197; + const double t525 = 0.1e1 / t523 / t40; + const double t526 = t525 * t1; + const double t527 = t526 * t3; + const double t528 = t202 * t202; + const double t529 = 0.1e1 / t528; + const double t534 = t45 * t184; + const double t535 = t534 * t140; + const double t536 = t128 * t187; + const double t540 = t208 * t386; + const double t545 = t46 * t483; + const double t549 = t476 / 0.72e2 + t535 * t141 * t536 / 0.3e1 - t540 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t209 * t383 + 0.2e1 * t545 * t485 - t212 * t491; + const double t550 = t549 * t215; + const double t554 = 0.1e1 / t46 / t45; + const double t555 = t214 * t554; + const double t556 = t33 * t139; + const double t557 = t555 * t556; + const double t562 = 0.51817833333333333333e-2 * t497 * t194 + 0.17272611111111111111e-2 * t193 * t500 + 0.51817833333333333333e-2 * t193 * t503 + 0.13796274692623141087e-1 * t509 * t368 * t203 + 0.27592549385246282174e-1 * t514 * t389 * t392 * t203 - 0.55185098770492564348e-1 * t200 * t141 * t367 * t203 - 0.30878365944746984535e0 * t527 * t368 * t529 + 0.22478670955426118383e-2 * t550 * t33 + 0.37464451592376863972e-3 * t557 * t137 + 0.22478670955426118383e-2 * t216 * t187 - t407 - t412 - t415 - t422 - t428 + t432 + t442 - t465 - t472 - t474; + const double t564 = t562 * t88 * t91; + const double t565 = t564 * t124; + const double t567 = t219 * t225; + const double t568 = t567 * t227; + const double t569 = t568 * t310; + const double t571 = t221 * t354; + const double t574 = 0.1e1 / t224 / t87; + const double t575 = t50 * t574; + const double t576 = t575 * t227; + const double t577 = t308 * t308; + const double t578 = t122 * t577; + const double t579 = t229 * t578; + const double t580 = t576 * t579; + const double t582 = t91 * t352; + const double t583 = t226 * t582; + const double t584 = t583 * t310; + const double t587 = t4 * t368 * t53; + const double t589 = t128 * t234; + const double t594 = 0.1e1 / t233 / t52; + const double t595 = t8 * t594; + const double t596 = t237 * t237; + const double t602 = t384 - 0.111795e1 * t394 + 0.22359e1 * t397; + const double t608 = ( t587 / 0.9e1 + t133 * t589 * t237 / 0.6e1 + t133 * t595 * t596 / 0.2e1 - t133 * t235 * t602 / 0.4e1 ) * t150 * t152; + const double t611 = t409 * t52; + const double t614 = t154 * t237; + const double t617 = t247 * t59; + const double t619 = 0.1e1 / t617 * t1; + const double t620 = t619 * t3; + const double t625 = t248 * t386 * t150; + const double t634 = t247 * t247; + const double t636 = 0.1e1 / t634 / t59; + const double t637 = t636 * t1; + const double t638 = t637 * t3; + const double t639 = t252 * t252; + const double t640 = 0.1e1 / t639; + const double t645 = t64 * t234; + const double t646 = t645 * t140; + const double t647 = t128 * t237; + const double t651 = t258 * t386; + const double t656 = t65 * t594; + const double t660 = t587 / 0.72e2 + t646 * t141 * t647 / 0.3e1 - t651 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t259 * t383 + 0.2e1 * t656 * t596 - t262 * t602; + const double t661 = t660 * t265; + const double t665 = 0.1e1 / t65 / t64; + const double t666 = t264 * t665; + const double t667 = t52 * t139; + const double t668 = t666 * t667; + const double t674 = t4 * t368 * t71; + const double t676 = t128 * t273; + const double t681 = 0.1e1 / t272 / t70; + const double t682 = t8 * t681; + const double t683 = t276 * t276; + const double t689 = t384 - 0.7262222222222222222e0 * t394 + 0.14524444444444444444e1 * t397; + const double t695 = ( t674 / 0.9e1 + t133 * t676 * t276 / 0.6e1 + t133 * t682 * t683 / 0.2e1 - t133 * t274 * t689 / 0.4e1 ) * t150 * t152; + const double t698 = t409 * t70; + const double t701 = t154 * t276; + const double t704 = t286 * t77; + const double t706 = 0.1e1 / t704 * t1; + const double t707 = t706 * t3; + const double t712 = t287 * t386 * t150; + const double t721 = t286 * t286; + const double t723 = 0.1e1 / t721 / t77; + const double t724 = t723 * t1; + const double t725 = t724 * t3; + const double t726 = t291 * t291; + const double t727 = 0.1e1 / t726; + const double t732 = t82 * t273; + const double t733 = t732 * t140; + const double t734 = t128 * t276; + const double t738 = t297 * t386; + const double t743 = t83 * t681; + const double t747 = t674 / 0.72e2 + t733 * t141 * t734 / 0.3e1 - t738 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t298 * t383 + 0.2e1 * t743 * t683 - t301 * t689; + const double t748 = t747 * t304; + const double t752 = 0.1e1 / t83 / t82; + const double t753 = t303 * t752; + const double t754 = t70 * t139; + const double t755 = t753 * t754; + const double t760 = 0.51817833333333333333e-2 * t608 * t244 + 0.17272611111111111111e-2 * t243 * t611 + 0.51817833333333333333e-2 * t243 * t614 + 0.40281109727029913917e-1 * t620 * t368 * t253 + 0.80562219454059827833e-1 * t625 * t389 * t392 * t253 - 0.16112443890811965567e0 * t250 * t141 * t367 * t253 - 0.55299776073946902743e-1 * t638 * t368 * t640 + 0.26673100072733151594e-2 * t661 * t52 + 0.4445516678788858599e-3 * t668 * t137 + 0.26673100072733151594e-2 * t266 * t237 - 0.10363566666666666667e-1 * t695 * t283 - 0.34545222222222222223e-2 * t282 * t698 - 0.10363566666666666667e-1 * t282 * t701 - 0.51190794422689743247e-1 * t707 * t368 * t292 - 0.10238158884537948649e0 * t712 * t389 * t392 * t292 + 0.20476317769075897299e0 * t289 * t141 * t367 * t292 + 0.10320064155614252239e-3 * t725 * t368 * t727 - 0.44313737677495382697e-2 * t748 * t70 - 0.73856229462492304495e-3 * t755 * t137 - 0.44313737677495382697e-2 * t305 * t276; + const double t762 = t229 * t122 * t760; + const double t763 = t228 * t762; + const double t766 = t4 * t368 * t95; + const double t768 = t128 * t317; + const double t773 = 0.1e1 / t316 / t94; + const double t774 = t8 * t773; + const double t775 = t320 * t320; + const double t781 = t384 - 0.59352777777777777778e-1 * t394 + 0.11870555555555555556e0 * t397; + const double t787 = ( t766 / 0.9e1 + t133 * t768 * t320 / 0.6e1 + t133 * t774 * t775 / 0.2e1 - t133 * t318 * t781 / 0.4e1 ) * t150 * t152; + const double t790 = t409 * t94; + const double t793 = t154 * t320; + const double t796 = t330 * t100; + const double t797 = 0.1e1 / t796; + const double t798 = t797 * t1; + const double t799 = t798 * t3; + const double t804 = t331 * t386 * t150; + const double t813 = t330 * t330; + const double t815 = 0.1e1 / t813 / t100; + const double t816 = t815 * t1; + const double t817 = t816 * t3; + const double t818 = t335 * t335; + const double t819 = 0.1e1 / t818; + const double t824 = t105 * t317; + const double t825 = t824 * t140; + const double t826 = t128 * t320; + const double t830 = t341 * t386; + const double t835 = t106 * t773; + const double t839 = t766 / 0.72e2 + t825 * t141 * t826 / 0.3e1 - t830 * t453 / 0.9e1 + 0.2e1 / 0.9e1 * t342 * t383 + 0.2e1 * t835 * t775 - t345 * t781; + const double t840 = t839 * t348; + const double t844 = 0.1e1 / t106 / t105; + const double t845 = t347 * t844; + const double t846 = t94 * t139; + const double t847 = t845 * t846; + const double t852 = t787 * t327 / 0.3e1 + t326 * t790 / 0.9e1 + t326 * t793 / 0.3e1 + 0.12017413633297419508e0 * t799 * t368 * t336 + 0.24034827266594839017e0 * t804 * t389 * t392 * t336 - 0.48069654533189678033e0 * t333 * t141 * t367 * t336 - 0.53818578849327899136e1 * t817 * t368 * t819 + 0.21608710360898267022e-1 * t840 * t94 + 0.3601451726816377837e-2 * t847 * t137 + 0.21608710360898267022e-1 * t349 * t320; + const double t854 = t852 * t116 * t123; + const double t855 = t92 * t854; + const double t857 = t407 + t412 + t415 + t422 + t428 - t432 - t442 + t465 + t472 + t474 - t565 / 0.24e2 + t569 / 0.12e2 - t571 / 0.12e2 - t580 / 0.12e2 + t584 / 0.12e2 + t763 / 0.24e2 - t855 / 0.24e2; + + + vrho = t20 + t25 + t31 - t126 + rho * ( t157 + t168 + t179 - t222 / 0.24e2 + t311 / 0.24e2 - t355 / 0.24e2 ); + v2rho2 = 0.20727133333333333334e-1 * t156 + 0.79531491350053540358e-1 * t167 + 0.19380455423088748428e-2 * t178 - t222 / 0.12e2 + t311 / 0.12e2 - t355 / 0.12e2 + rho * t857; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t91 = constants::m_pi_sq; + constexpr double t129 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t92 = 0.1e1 / t91; + constexpr double t130 = t129 - 0.1e1; + constexpr double t132 = 0.1e1 / t130 / 0.2e1; + constexpr double t141 = 0.9e1 * t130; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t34 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t35 = 0.1e1 / t34; + const double t39 = safe_math::log( t4 * t10 * t35 / 0.4e1 ); + const double t41 = t13 + 0.706042e1; + const double t44 = safe_math::atan( 0.473092690956011283e1 / t41 ); + const double t46 = t27 + 0.325e0; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t35 ); + const double t51 = 0.1554535e-1 * t39 + 0.52491393169780936218e-1 * t44 + 0.22478670955426118383e-2 * t49 - t21 - t26 - t32; + const double t53 = t12 + 0.1006155e2 * t13 + 0.101578e3; + const double t54 = 0.1e1 / t53; + const double t58 = safe_math::log( t4 * t10 * t54 / 0.4e1 ); + const double t60 = t13 + 0.201231e2; + const double t63 = safe_math::atan( 0.11716852777089929792e1 / t60 ); + const double t65 = t27 + 0.743294e0; + const double t66 = t65 * t65; + const double t68 = safe_math::log( t66 * t54 ); + const double t71 = t12 + 0.6536e1 * t13 + 0.427198e2; + const double t72 = 0.1e1 / t71; + const double t76 = safe_math::log( t4 * t10 * t72 / 0.4e1 ); + const double t78 = t13 + 0.13072e2; + const double t81 = safe_math::atan( 0.44899888641287296627e-1 / t78 ); + const double t83 = t27 + 0.409286e0; + const double t84 = t83 * t83; + const double t86 = safe_math::log( t84 * t72 ); + const double t88 = 0.1554535e-1 * t58 + 0.61881802979060631482e0 * t63 + 0.26673100072733151594e-2 * t68 - 0.310907e-1 * t76 - 0.20521972937837502661e2 * t81 - 0.44313737677495382697e-2 * t86; + const double t89 = 0.1e1 / t88; + const double t90 = t51 * t89; + const double t94 = t12 + 0.534175e0 * t13 + 0.114813e2; + const double t95 = 0.1e1 / t94; + const double t99 = safe_math::log( t4 * t10 * t95 / 0.4e1 ); + const double t100 = t13 + 0.106835e1; + const double t103 = safe_math::atan( 0.6692072046645941483e1 / t100 ); + const double t105 = t27 + 0.228344e0; + const double t106 = t105 * t105; + const double t108 = safe_math::log( t106 * t95 ); + const double t111 = t92 * ( t99 + 0.32323836906055067299e0 * t103 + 0.21608710360898267022e-1 * t108 ); + const double t112 = t90 * t111; + const double t113 = rho_a - rho_b; + const double t114 = 0.1e1 / t7; + const double t115 = t113 * t114; + const double t116 = 0.1e1 + t115; + const double t117 = t116 <= zeta_tol; + const double t118 = safe_math::cbrt( zeta_tol ); + const double t119 = t118 * zeta_tol; + const double t120 = safe_math::cbrt( t116 ); + const double t122 = piecewise_functor_3( t117, t119, t120 * t116 ); + const double t123 = 0.1e1 - t115; + const double t124 = t123 <= zeta_tol; + const double t125 = safe_math::cbrt( t123 ); + const double t127 = piecewise_functor_3( t124, t119, t125 * t123 ); + const double t128 = t122 + t127 - 0.2e1; + const double t133 = t128 * t132; + const double t134 = t113 * t113; + const double t135 = t134 * t134; + const double t136 = t7 * t7; + const double t137 = t136 * t136; + const double t138 = 0.1e1 / t137; + const double t140 = -t135 * t138 + 0.1e1; + const double t142 = t140 * t141; + const double t143 = t133 * t142; + const double t145 = t112 * t143 / 0.24e2; + const double t146 = t51 * t128; + const double t147 = t132 * t135; + const double t148 = t147 * t138; + const double t149 = t146 * t148; + + + eps = t21 + t26 + t32 - t145 + t149; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t91 = constants::m_pi_sq; + constexpr double t129 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t92 = 0.1e1 / t91; + constexpr double t130 = t129 - 0.1e1; + constexpr double t132 = 0.1e1 / t130 / 0.2e1; + constexpr double t141 = 0.9e1 * t130; + constexpr double t156 = t4 * t6; + constexpr double t164 = t3 * t6; + constexpr double t173 = t1 * t1; + constexpr double t175 = 0.1e1 / t3; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.186372e1 * t13 + 0.129352e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t21 = 0.310907e-1 * t20; + const double t22 = t13 + 0.372744e1; + const double t25 = safe_math::atan( 0.61519908197590802322e1 / t22 ); + const double t26 = 0.38783294878113014393e-1 * t25; + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.10498e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t32 = 0.96902277115443742139e-3 * t31; + const double t34 = t12 + 0.353021e1 * t13 + 0.180578e2; + const double t35 = 0.1e1 / t34; + const double t39 = safe_math::log( t4 * t10 * t35 / 0.4e1 ); + const double t41 = t13 + 0.706042e1; + const double t44 = safe_math::atan( 0.473092690956011283e1 / t41 ); + const double t46 = t27 + 0.325e0; + const double t47 = t46 * t46; + const double t49 = safe_math::log( t47 * t35 ); + const double t51 = 0.1554535e-1 * t39 + 0.52491393169780936218e-1 * t44 + 0.22478670955426118383e-2 * t49 - t21 - t26 - t32; + const double t53 = t12 + 0.1006155e2 * t13 + 0.101578e3; + const double t54 = 0.1e1 / t53; + const double t58 = safe_math::log( t4 * t10 * t54 / 0.4e1 ); + const double t60 = t13 + 0.201231e2; + const double t63 = safe_math::atan( 0.11716852777089929792e1 / t60 ); + const double t65 = t27 + 0.743294e0; + const double t66 = t65 * t65; + const double t68 = safe_math::log( t66 * t54 ); + const double t71 = t12 + 0.6536e1 * t13 + 0.427198e2; + const double t72 = 0.1e1 / t71; + const double t76 = safe_math::log( t4 * t10 * t72 / 0.4e1 ); + const double t78 = t13 + 0.13072e2; + const double t81 = safe_math::atan( 0.44899888641287296627e-1 / t78 ); + const double t83 = t27 + 0.409286e0; + const double t84 = t83 * t83; + const double t86 = safe_math::log( t84 * t72 ); + const double t88 = 0.1554535e-1 * t58 + 0.61881802979060631482e0 * t63 + 0.26673100072733151594e-2 * t68 - 0.310907e-1 * t76 - 0.20521972937837502661e2 * t81 - 0.44313737677495382697e-2 * t86; + const double t89 = 0.1e1 / t88; + const double t90 = t51 * t89; + const double t94 = t12 + 0.534175e0 * t13 + 0.114813e2; + const double t95 = 0.1e1 / t94; + const double t99 = safe_math::log( t4 * t10 * t95 / 0.4e1 ); + const double t100 = t13 + 0.106835e1; + const double t103 = safe_math::atan( 0.6692072046645941483e1 / t100 ); + const double t105 = t27 + 0.228344e0; + const double t106 = t105 * t105; + const double t108 = safe_math::log( t106 * t95 ); + const double t111 = t92 * ( t99 + 0.32323836906055067299e0 * t103 + 0.21608710360898267022e-1 * t108 ); + const double t112 = t90 * t111; + const double t113 = rho_a - rho_b; + const double t114 = 0.1e1 / t7; + const double t115 = t113 * t114; + const double t116 = 0.1e1 + t115; + const double t117 = t116 <= zeta_tol; + const double t118 = safe_math::cbrt( zeta_tol ); + const double t119 = t118 * zeta_tol; + const double t120 = safe_math::cbrt( t116 ); + const double t122 = piecewise_functor_3( t117, t119, t120 * t116 ); + const double t123 = 0.1e1 - t115; + const double t124 = t123 <= zeta_tol; + const double t125 = safe_math::cbrt( t123 ); + const double t127 = piecewise_functor_3( t124, t119, t125 * t123 ); + const double t128 = t122 + t127 - 0.2e1; + const double t133 = t128 * t132; + const double t134 = t113 * t113; + const double t135 = t134 * t134; + const double t136 = t7 * t7; + const double t137 = t136 * t136; + const double t138 = 0.1e1 / t137; + const double t140 = -t135 * t138 + 0.1e1; + const double t142 = t140 * t141; + const double t143 = t133 * t142; + const double t145 = t112 * t143 / 0.24e2; + const double t146 = t51 * t128; + const double t147 = t132 * t135; + const double t148 = t147 * t138; + const double t149 = t146 * t148; + const double t151 = 0.1e1 / t8 / t7; + const double t152 = t6 * t151; + const double t157 = t15 * t15; + const double t158 = 0.1e1 / t157; + const double t159 = t9 * t158; + const double t160 = t4 * t152; + const double t161 = t160 / 0.12e2; + const double t162 = 0.1e1 / t13; + const double t163 = t162 * t1; + const double t166 = t163 * t164 * t151; + const double t168 = -t161 - 0.31062e0 * t166; + const double t176 = ( -t4 * t152 * t16 / 0.12e2 - t156 * t159 * t168 / 0.4e1 ) * t173 * t175; + const double t177 = t5 * t8; + const double t178 = t177 * t15; + const double t179 = t176 * t178; + const double t180 = 0.10363566666666666667e-1 * t179; + const double t181 = t22 * t22; + const double t182 = 0.1e1 / t181; + const double t184 = t182 * t162 * t1; + const double t186 = 0.378469910464e2 * t182 + 0.1e1; + const double t187 = 0.1e1 / t186; + const double t190 = t184 * t164 * t151 * t187; + const double t191 = 0.39765745675026770179e-1 * t190; + const double t192 = t28 * t16; + const double t193 = t192 * t162; + const double t196 = t29 * t158; + const double t198 = -t193 * t160 / 0.6e1 - t196 * t168; + const double t199 = 0.1e1 / t29; + const double t200 = t198 * t199; + const double t201 = t200 * t15; + const double t202 = 0.96902277115443742139e-3 * t201; + const double t206 = t34 * t34; + const double t207 = 0.1e1 / t206; + const double t208 = t9 * t207; + const double t210 = -t161 - 0.58836833333333333333e0 * t166; + const double t216 = ( -t4 * t152 * t35 / 0.12e2 - t156 * t208 * t210 / 0.4e1 ) * t173 * t175; + const double t217 = t177 * t34; + const double t220 = t41 * t41; + const double t221 = 0.1e1 / t220; + const double t223 = t221 * t162 * t1; + const double t225 = 0.223816694236e2 * t221 + 0.1e1; + const double t226 = 0.1e1 / t225; + const double t231 = t46 * t35; + const double t232 = t231 * t162; + const double t235 = t47 * t207; + const double t237 = -t232 * t160 / 0.6e1 - t235 * t210; + const double t238 = 0.1e1 / t47; + const double t239 = t237 * t238; + const double t242 = 0.51817833333333333333e-2 * t216 * t217 + 0.41388824077869423261e-1 * t223 * t164 * t151 * t226 + 0.22478670955426118383e-2 * t239 * t34 - t180 - t191 - t202; + const double t243 = t242 * t89; + const double t244 = t243 * t111; + const double t245 = t244 * t143; + const double t246 = t245 / 0.24e2; + const double t247 = t88 * t88; + const double t248 = 0.1e1 / t247; + const double t249 = t51 * t248; + const double t250 = t249 * t111; + const double t254 = t53 * t53; + const double t255 = 0.1e1 / t254; + const double t256 = t9 * t255; + const double t258 = -t161 - 0.1676925e1 * t166; + const double t264 = ( -t4 * t152 * t54 / 0.12e2 - t156 * t256 * t258 / 0.4e1 ) * t173 * t175; + const double t265 = t177 * t53; + const double t268 = t60 * t60; + const double t269 = 0.1e1 / t268; + const double t271 = t269 * t162 * t1; + const double t273 = 0.137284639e1 * t269 + 0.1e1; + const double t274 = 0.1e1 / t273; + const double t279 = t65 * t54; + const double t280 = t279 * t162; + const double t283 = t66 * t255; + const double t285 = -t280 * t160 / 0.6e1 - t283 * t258; + const double t286 = 0.1e1 / t66; + const double t287 = t285 * t286; + const double t293 = t71 * t71; + const double t294 = 0.1e1 / t293; + const double t295 = t9 * t294; + const double t297 = -t161 - 0.10893333333333333333e1 * t166; + const double t303 = ( -t4 * t152 * t72 / 0.12e2 - t156 * t295 * t297 / 0.4e1 ) * t173 * t175; + const double t304 = t177 * t71; + const double t307 = t78 * t78; + const double t308 = 0.1e1 / t307; + const double t310 = t308 * t162 * t1; + const double t312 = 0.2016e-2 * t308 + 0.1e1; + const double t313 = 0.1e1 / t312; + const double t318 = t83 * t72; + const double t319 = t318 * t162; + const double t322 = t84 * t294; + const double t324 = -t319 * t160 / 0.6e1 - t322 * t297; + const double t325 = 0.1e1 / t84; + const double t326 = t324 * t325; + const double t329 = 0.51817833333333333333e-2 * t264 * t265 + 0.12084332918108974175e0 * t271 * t164 * t151 * t274 + 0.26673100072733151594e-2 * t287 * t53 - 0.10363566666666666667e-1 * t303 * t304 - 0.15357238326806922974e0 * t310 * t164 * t151 * t313 - 0.44313737677495382697e-2 * t326 * t71; + const double t330 = t142 * t329; + const double t331 = t133 * t330; + const double t332 = t250 * t331; + const double t333 = t332 / 0.24e2; + const double t337 = t94 * t94; + const double t338 = 0.1e1 / t337; + const double t339 = t9 * t338; + const double t341 = -t161 - 0.89029166666666666667e-1 * t166; + const double t347 = ( -t4 * t152 * t95 / 0.12e2 - t156 * t339 * t341 / 0.4e1 ) * t173 * t175; + const double t348 = t177 * t94; + const double t351 = t100 * t100; + const double t352 = 0.1e1 / t351; + const double t354 = t352 * t162 * t1; + const double t356 = 0.447838282775e2 * t352 + 0.1e1; + const double t357 = 0.1e1 / t356; + const double t362 = t105 * t95; + const double t363 = t362 * t162; + const double t366 = t106 * t338; + const double t368 = -t363 * t160 / 0.6e1 - t366 * t341; + const double t369 = 0.1e1 / t106; + const double t370 = t368 * t369; + const double t374 = t92 * ( t347 * t348 / 0.3e1 + 0.36052240899892258525e0 * t354 * t164 * t151 * t357 + 0.21608710360898267022e-1 * t370 * t94 ); + const double t375 = t90 * t374; + const double t376 = t375 * t143; + const double t377 = t376 / 0.24e2; + const double t378 = 0.1e1 / t136; + const double t379 = t113 * t378; + const double t380 = t114 - t379; + const double t383 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.3e1 * t120 * t380 ); + const double t384 = -t380; + const double t387 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.3e1 * t125 * t384 ); + const double t388 = t383 + t387; + const double t389 = t388 * t132; + const double t390 = t389 * t142; + const double t391 = t112 * t390; + const double t392 = t391 / 0.24e2; + const double t393 = t134 * t113; + const double t394 = t393 * t138; + const double t395 = t137 * t7; + const double t396 = 0.1e1 / t395; + const double t397 = t135 * t396; + const double t399 = -0.4e1 * t394 + 0.4e1 * t397; + const double t400 = t399 * t141; + const double t401 = t133 * t400; + const double t402 = t112 * t401; + const double t403 = t402 / 0.24e2; + const double t404 = t242 * t128; + const double t405 = t404 * t148; + const double t406 = t51 * t388; + const double t407 = t406 * t148; + const double t408 = t132 * t393; + const double t409 = t408 * t138; + const double t410 = t146 * t409; + const double t411 = 0.4e1 * t410; + const double t412 = t147 * t396; + const double t413 = t146 * t412; + const double t414 = 0.4e1 * t413; + const double t415 = t180 + t191 + t202 - t246 + t333 - t377 - t392 - t403 + t405 + t407 + t411 - t414; + const double t417 = -t114 - t379; + const double t420 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.3e1 * t120 * t417 ); + const double t421 = -t417; + const double t424 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.3e1 * t125 * t421 ); + const double t425 = t420 + t424; + const double t426 = t425 * t132; + const double t427 = t426 * t142; + const double t428 = t112 * t427; + const double t429 = t428 / 0.24e2; + const double t431 = 0.4e1 * t394 + 0.4e1 * t397; + const double t432 = t431 * t141; + const double t433 = t133 * t432; + const double t434 = t112 * t433; + const double t435 = t434 / 0.24e2; + const double t436 = t51 * t425; + const double t437 = t436 * t148; + const double t438 = t180 + t191 + t202 - t246 + t333 - t377 - t429 - t435 + t405 + t437 - t411 - t414; + + + eps = t21 + t26 + t32 - t145 + t149; + vrho_a = t7 * t415 - t145 + t149 + t21 + t26 + t32; + vrho_b = t7 * t438 - t145 + t149 + t21 + t26 + t32; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -336,6 +1601,13 @@ struct kernel_traits< BuiltinVWN3 > : constexpr double t130 = t129 - 0.1e1; constexpr double t132 = 0.1e1 / t130 / 0.2e1; constexpr double t141 = 0.9e1 * t130; + constexpr double t156 = t4 * t6; + constexpr double t164 = t3 * t6; + constexpr double t173 = t1 * t1; + constexpr double t175 = 0.1e1 / t3; + constexpr double t467 = t3 * t3; + constexpr double t468 = t467 * t5; + constexpr double t530 = t173 * t467; const double t7 = rho_a + rho_b; @@ -418,21 +1690,547 @@ struct kernel_traits< BuiltinVWN3 > : const double t140 = -t135 * t138 + 0.1e1; const double t142 = t140 * t141; const double t143 = t133 * t142; - const double t145 = t112 * t143 / 0.24e2; const double t146 = t51 * t128; const double t147 = t132 * t135; const double t148 = t147 * t138; - const double t149 = t146 * t148; + const double t151 = 0.1e1 / t8 / t7; + const double t152 = t6 * t151; + const double t157 = t15 * t15; + const double t158 = 0.1e1 / t157; + const double t159 = t9 * t158; + const double t160 = t4 * t152; + const double t161 = t160 / 0.12e2; + const double t162 = 0.1e1 / t13; + const double t163 = t162 * t1; + const double t166 = t163 * t164 * t151; + const double t168 = -t161 - 0.31062e0 * t166; + const double t176 = ( -t4 * t152 * t16 / 0.12e2 - t156 * t159 * t168 / 0.4e1 ) * t173 * t175; + const double t177 = t5 * t8; + const double t178 = t177 * t15; + const double t179 = t176 * t178; + const double t180 = 0.10363566666666666667e-1 * t179; + const double t181 = t22 * t22; + const double t182 = 0.1e1 / t181; + const double t184 = t182 * t162 * t1; + const double t186 = 0.378469910464e2 * t182 + 0.1e1; + const double t187 = 0.1e1 / t186; + const double t190 = t184 * t164 * t151 * t187; + const double t191 = 0.39765745675026770179e-1 * t190; + const double t192 = t28 * t16; + const double t193 = t192 * t162; + const double t196 = t29 * t158; + const double t198 = -t193 * t160 / 0.6e1 - t196 * t168; + const double t199 = 0.1e1 / t29; + const double t200 = t198 * t199; + const double t201 = t200 * t15; + const double t202 = 0.96902277115443742139e-3 * t201; + const double t206 = t34 * t34; + const double t207 = 0.1e1 / t206; + const double t208 = t9 * t207; + const double t210 = -t161 - 0.58836833333333333333e0 * t166; + const double t216 = ( -t4 * t152 * t35 / 0.12e2 - t156 * t208 * t210 / 0.4e1 ) * t173 * t175; + const double t217 = t177 * t34; + const double t220 = t41 * t41; + const double t221 = 0.1e1 / t220; + const double t223 = t221 * t162 * t1; + const double t225 = 0.223816694236e2 * t221 + 0.1e1; + const double t226 = 0.1e1 / t225; + const double t231 = t46 * t35; + const double t232 = t231 * t162; + const double t235 = t47 * t207; + const double t237 = -t232 * t160 / 0.6e1 - t235 * t210; + const double t238 = 0.1e1 / t47; + const double t239 = t237 * t238; + const double t242 = 0.51817833333333333333e-2 * t216 * t217 + 0.41388824077869423261e-1 * t223 * t164 * t151 * t226 + 0.22478670955426118383e-2 * t239 * t34 - t180 - t191 - t202; + const double t243 = t242 * t89; + const double t244 = t243 * t111; + const double t245 = t244 * t143; + const double t247 = t88 * t88; + const double t248 = 0.1e1 / t247; + const double t249 = t51 * t248; + const double t250 = t249 * t111; + const double t254 = t53 * t53; + const double t255 = 0.1e1 / t254; + const double t256 = t9 * t255; + const double t258 = -t161 - 0.1676925e1 * t166; + const double t264 = ( -t4 * t152 * t54 / 0.12e2 - t156 * t256 * t258 / 0.4e1 ) * t173 * t175; + const double t265 = t177 * t53; + const double t268 = t60 * t60; + const double t269 = 0.1e1 / t268; + const double t271 = t269 * t162 * t1; + const double t273 = 0.137284639e1 * t269 + 0.1e1; + const double t274 = 0.1e1 / t273; + const double t279 = t65 * t54; + const double t280 = t279 * t162; + const double t283 = t66 * t255; + const double t285 = -t280 * t160 / 0.6e1 - t283 * t258; + const double t286 = 0.1e1 / t66; + const double t287 = t285 * t286; + const double t293 = t71 * t71; + const double t294 = 0.1e1 / t293; + const double t295 = t9 * t294; + const double t297 = -t161 - 0.10893333333333333333e1 * t166; + const double t303 = ( -t4 * t152 * t72 / 0.12e2 - t156 * t295 * t297 / 0.4e1 ) * t173 * t175; + const double t304 = t177 * t71; + const double t307 = t78 * t78; + const double t308 = 0.1e1 / t307; + const double t310 = t308 * t162 * t1; + const double t312 = 0.2016e-2 * t308 + 0.1e1; + const double t313 = 0.1e1 / t312; + const double t318 = t83 * t72; + const double t319 = t318 * t162; + const double t322 = t84 * t294; + const double t324 = -t319 * t160 / 0.6e1 - t322 * t297; + const double t325 = 0.1e1 / t84; + const double t326 = t324 * t325; + const double t329 = 0.51817833333333333333e-2 * t264 * t265 + 0.12084332918108974175e0 * t271 * t164 * t151 * t274 + 0.26673100072733151594e-2 * t287 * t53 - 0.10363566666666666667e-1 * t303 * t304 - 0.15357238326806922974e0 * t310 * t164 * t151 * t313 - 0.44313737677495382697e-2 * t326 * t71; + const double t330 = t142 * t329; + const double t331 = t133 * t330; + const double t332 = t250 * t331; + const double t337 = t94 * t94; + const double t338 = 0.1e1 / t337; + const double t339 = t9 * t338; + const double t341 = -t161 - 0.89029166666666666667e-1 * t166; + const double t347 = ( -t4 * t152 * t95 / 0.12e2 - t156 * t339 * t341 / 0.4e1 ) * t173 * t175; + const double t348 = t177 * t94; + const double t351 = t100 * t100; + const double t352 = 0.1e1 / t351; + const double t354 = t352 * t162 * t1; + const double t356 = 0.447838282775e2 * t352 + 0.1e1; + const double t357 = 0.1e1 / t356; + const double t362 = t105 * t95; + const double t363 = t362 * t162; + const double t366 = t106 * t338; + const double t368 = -t363 * t160 / 0.6e1 - t366 * t341; + const double t369 = 0.1e1 / t106; + const double t370 = t368 * t369; + const double t374 = t92 * ( t347 * t348 / 0.3e1 + 0.36052240899892258525e0 * t354 * t164 * t151 * t357 + 0.21608710360898267022e-1 * t370 * t94 ); + const double t375 = t90 * t374; + const double t376 = t375 * t143; + const double t378 = 0.1e1 / t136; + const double t379 = t113 * t378; + const double t380 = t114 - t379; + const double t383 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.3e1 * t120 * t380 ); + const double t384 = -t380; + const double t387 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.3e1 * t125 * t384 ); + const double t388 = t383 + t387; + const double t389 = t388 * t132; + const double t390 = t389 * t142; + const double t391 = t112 * t390; + const double t392 = t391 / 0.24e2; + const double t393 = t134 * t113; + const double t394 = t393 * t138; + const double t395 = t137 * t7; + const double t396 = 0.1e1 / t395; + const double t397 = t135 * t396; + const double t399 = -0.4e1 * t394 + 0.4e1 * t397; + const double t400 = t399 * t141; + const double t401 = t133 * t400; + const double t402 = t112 * t401; + const double t403 = t402 / 0.24e2; + const double t404 = t242 * t128; + const double t405 = t404 * t148; + const double t406 = t51 * t388; + const double t407 = t406 * t148; + const double t408 = t132 * t393; + const double t409 = t408 * t138; + const double t410 = t146 * t409; + const double t412 = t147 * t396; + const double t413 = t146 * t412; + const double t417 = -t114 - t379; + const double t420 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.3e1 * t120 * t417 ); + const double t421 = -t417; + const double t424 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.3e1 * t125 * t421 ); + const double t425 = t420 + t424; + const double t426 = t425 * t132; + const double t427 = t426 * t142; + const double t428 = t112 * t427; + const double t429 = t428 / 0.24e2; + const double t431 = 0.4e1 * t394 + 0.4e1 * t397; + const double t432 = t431 * t141; + const double t433 = t133 * t432; + const double t434 = t112 * t433; + const double t435 = t434 / 0.24e2; + const double t436 = t51 * t425; + const double t437 = t436 * t148; + const double t440 = 0.79531491350053540358e-1 * t190; + const double t441 = t332 / 0.12e2; + const double t442 = t245 / 0.12e2; + const double t443 = t244 * t401; + const double t444 = t443 / 0.12e2; + const double t446 = 0.1e1 / t8 / t136; + const double t447 = t6 * t446; + const double t449 = t4 * t447 * t95; + const double t451 = t151 * t338; + const double t456 = 0.1e1 / t337 / t94; + const double t457 = t9 * t456; + const double t458 = t341 * t341; + const double t462 = t4 * t447; + const double t463 = t462 / 0.9e1; + const double t465 = 0.1e1 / t13 / t11; + const double t466 = t465 * t173; + const double t469 = t8 * t8; + const double t471 = 0.1e1 / t469 / t136; + const double t473 = t466 * t468 * t471; + const double t476 = t163 * t164 * t446; + const double t478 = t463 - 0.59352777777777777778e-1 * t473 + 0.11870555555555555556e0 * t476; + const double t484 = ( t449 / 0.9e1 + t156 * t451 * t341 / 0.6e1 + t156 * t457 * t458 / 0.2e1 - t156 * t339 * t478 / 0.4e1 ) * t173 * t175; + const double t488 = t5 / t469; + const double t489 = t488 * t94; + const double t492 = t177 * t341; + const double t495 = t351 * t100; + const double t496 = 0.1e1 / t495; + const double t497 = t496 * t1; + const double t498 = t497 * t3; + const double t503 = t352 * t465 * t173; + const double t512 = t351 * t351; + const double t514 = 0.1e1 / t512 / t100; + const double t515 = t514 * t1; + const double t516 = t515 * t3; + const double t517 = t356 * t356; + const double t518 = 0.1e1 / t517; + const double t523 = t105 * t338; + const double t524 = t523 * t163; + const double t525 = t151 * t341; + const double t529 = t362 * t465; + const double t531 = t5 * t471; + const double t532 = t530 * t531; + const double t537 = t106 * t456; + const double t541 = t449 / 0.72e2 + t524 * t164 * t525 / 0.3e1 - t529 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t363 * t462 + 0.2e1 * t537 * t458 - t366 * t478; + const double t542 = t541 * t369; + const double t546 = 0.1e1 / t106 / t105; + const double t547 = t368 * t546; + const double t548 = t94 * t162; + const double t549 = t547 * t548; + const double t555 = t92 * ( t484 * t348 / 0.3e1 + t347 * t489 / 0.9e1 + t347 * t492 / 0.3e1 + 0.12017413633297419508e0 * t498 * t447 * t357 + 0.24034827266594839017e0 * t503 * t468 * t471 * t357 - 0.48069654533189678033e0 * t354 * t164 * t446 * t357 - 0.53818578849327899136e1 * t516 * t447 * t518 + 0.21608710360898267022e-1 * t542 * t94 + 0.3601451726816377837e-2 * t549 * t160 + 0.21608710360898267022e-1 * t370 * t341 ); + const double t556 = t90 * t555; + const double t557 = t556 * t143; + const double t558 = t557 / 0.24e2; + const double t559 = t375 * t390; + const double t560 = t559 / 0.12e2; + const double t561 = t375 * t401; + const double t562 = t561 / 0.12e2; + const double t563 = t120 * t120; + const double t564 = 0.1e1 / t563; + const double t565 = t380 * t380; + const double t568 = t136 * t7; + const double t569 = 0.1e1 / t568; + const double t570 = t113 * t569; + const double t572 = -0.2e1 * t378 + 0.2e1 * t570; + const double t576 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.9e1 * t564 * t565 + 0.4e1 / 0.3e1 * t120 * t572 ); + const double t577 = t125 * t125; + const double t578 = 0.1e1 / t577; + const double t579 = t384 * t384; + const double t582 = -t572; + const double t586 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.9e1 * t578 * t579 + 0.4e1 / 0.3e1 * t125 * t582 ); + const double t587 = t576 + t586; + const double t588 = t587 * t132; + const double t589 = t588 * t142; + const double t590 = t112 * t589; + const double t591 = t590 / 0.24e2; + const double t592 = t389 * t400; + const double t593 = t112 * t592; + const double t594 = t593 / 0.12e2; + const double t596 = 0.12e2 * t134 * t138; + const double t598 = 0.32e2 * t393 * t396; + const double t600 = 0.1e1 / t137 / t136; + const double t602 = 0.2e2 * t135 * t600; + const double t604 = ( -t596 + t598 - t602 ) * t141; + const double t605 = t133 * t604; + const double t606 = t112 * t605; + const double t607 = t606 / 0.24e2; + const double t609 = t4 * t447 * t16; + const double t611 = t151 * t158; + const double t616 = 0.1e1 / t157 / t15; + const double t617 = t9 * t616; + const double t618 = t168 * t168; + const double t624 = t463 - 0.20708e0 * t473 + 0.41416e0 * t476; + const double t630 = ( t609 / 0.9e1 + t156 * t611 * t168 / 0.6e1 + t156 * t617 * t618 / 0.2e1 - t156 * t159 * t624 / 0.4e1 ) * t173 * t175; + const double t631 = t630 * t178; + const double t632 = 0.10363566666666666667e-1 * t631; + const double t633 = t488 * t15; + const double t634 = t176 * t633; + const double t635 = 0.34545222222222222223e-2 * t634; + const double t636 = t177 * t168; + const double t637 = t176 * t636; + const double t638 = 0.10363566666666666667e-1 * t637; + const double t639 = t181 * t22; + const double t640 = 0.1e1 / t639; + const double t641 = t640 * t1; + const double t642 = t641 * t3; + const double t644 = t642 * t447 * t187; + const double t645 = 0.13255248558342256726e-1 * t644; + const double t646 = t181 * t181; + const double t648 = 0.1e1 / t646 / t22; + const double t649 = t648 * t1; + const double t650 = t649 * t3; + const double t651 = t186 * t186; + const double t652 = 0.1e1 / t651; + const double t654 = t650 * t447 * t652; + const double t655 = 0.50167127350538589834e0 * t654; + const double t656 = t242 * t248; + const double t657 = t656 * t111; + const double t658 = t657 * t331; + const double t659 = t658 / 0.12e2; + const double t660 = t249 * t374; + const double t661 = t660 * t331; + const double t662 = t661 / 0.12e2; + const double t663 = t389 * t330; + const double t664 = t250 * t663; + const double t665 = t664 / 0.12e2; + const double t666 = t400 * t329; + const double t667 = t133 * t666; + const double t668 = t250 * t667; + const double t669 = t668 / 0.12e2; + const double t671 = t4 * t447 * t54; + const double t673 = t151 * t255; + const double t678 = 0.1e1 / t254 / t53; + const double t679 = t9 * t678; + const double t680 = t258 * t258; + const double t686 = t463 - 0.111795e1 * t473 + 0.22359e1 * t476; + const double t692 = ( t671 / 0.9e1 + t156 * t673 * t258 / 0.6e1 + t156 * t679 * t680 / 0.2e1 - t156 * t256 * t686 / 0.4e1 ) * t173 * t175; + const double t695 = t488 * t53; + const double t698 = t177 * t258; + const double t701 = t268 * t60; + const double t702 = 0.1e1 / t701; + const double t703 = t702 * t1; + const double t704 = t703 * t3; + const double t709 = t269 * t465 * t173; + const double t718 = t268 * t268; + const double t720 = 0.1e1 / t718 / t60; + const double t721 = t720 * t1; + const double t722 = t721 * t3; + const double t723 = t273 * t273; + const double t724 = 0.1e1 / t723; + const double t729 = t65 * t255; + const double t730 = t729 * t163; + const double t731 = t151 * t258; + const double t735 = t279 * t465; + const double t740 = t66 * t678; + const double t744 = t671 / 0.72e2 + t730 * t164 * t731 / 0.3e1 - t735 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t280 * t462 + 0.2e1 * t740 * t680 - t283 * t686; + const double t745 = t744 * t286; + const double t749 = 0.1e1 / t66 / t65; + const double t750 = t285 * t749; + const double t751 = t53 * t162; + const double t752 = t750 * t751; + const double t758 = t4 * t447 * t72; + const double t760 = t151 * t294; + const double t765 = 0.1e1 / t293 / t71; + const double t766 = t9 * t765; + const double t767 = t297 * t297; + const double t773 = t463 - 0.7262222222222222222e0 * t473 + 0.14524444444444444444e1 * t476; + const double t779 = ( t758 / 0.9e1 + t156 * t760 * t297 / 0.6e1 + t156 * t766 * t767 / 0.2e1 - t156 * t295 * t773 / 0.4e1 ) * t173 * t175; + const double t782 = t488 * t71; + const double t785 = t177 * t297; + const double t788 = t307 * t78; + const double t789 = 0.1e1 / t788; + const double t790 = t789 * t1; + const double t791 = t790 * t3; + const double t796 = t308 * t465 * t173; + const double t805 = t307 * t307; + const double t807 = 0.1e1 / t805 / t78; + const double t808 = t807 * t1; + const double t809 = t808 * t3; + const double t810 = t312 * t312; + const double t811 = 0.1e1 / t810; + const double t816 = t83 * t294; + const double t817 = t816 * t163; + const double t818 = t151 * t297; + const double t822 = t318 * t465; + const double t827 = t84 * t765; + const double t831 = t758 / 0.72e2 + t817 * t164 * t818 / 0.3e1 - t822 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t319 * t462 + 0.2e1 * t827 * t767 - t322 * t773; + const double t832 = t831 * t325; + const double t836 = 0.1e1 / t84 / t83; + const double t837 = t324 * t836; + const double t838 = t71 * t162; + const double t839 = t837 * t838; + const double t844 = 0.51817833333333333333e-2 * t692 * t265 + 0.17272611111111111111e-2 * t264 * t695 + 0.51817833333333333333e-2 * t264 * t698 + 0.40281109727029913917e-1 * t704 * t447 * t274 + 0.80562219454059827833e-1 * t709 * t468 * t471 * t274 - 0.16112443890811965567e0 * t271 * t164 * t446 * t274 - 0.55299776073946902743e-1 * t722 * t447 * t724 + 0.26673100072733151594e-2 * t745 * t53 + 0.4445516678788858599e-3 * t752 * t160 + 0.26673100072733151594e-2 * t287 * t258 - 0.10363566666666666667e-1 * t779 * t304 - 0.34545222222222222223e-2 * t303 * t782 - 0.10363566666666666667e-1 * t303 * t785 - 0.51190794422689743247e-1 * t791 * t447 * t313 - 0.10238158884537948649e0 * t796 * t468 * t471 * t313 + 0.20476317769075897299e0 * t310 * t164 * t446 * t313 + 0.10320064155614252239e-3 * t809 * t447 * t811 - 0.44313737677495382697e-2 * t832 * t71 - 0.73856229462492304495e-3 * t839 * t160 - 0.44313737677495382697e-2 * t326 * t297; + const double t845 = t142 * t844; + const double t846 = t133 * t845; + const double t847 = t250 * t846; + const double t848 = t847 / 0.24e2; + const double t850 = 0.1e1 / t247 / t88; + const double t851 = t51 * t850; + const double t852 = t851 * t111; + const double t853 = t329 * t329; + const double t854 = t142 * t853; + const double t855 = t133 * t854; + const double t856 = t852 * t855; + const double t857 = t856 / 0.12e2; + const double t858 = -t444 - t558 - t560 - t562 - t591 - t594 - t607 + t632 + t635 + t638 + t645 - t655 + t659 + t662 + t665 + t669 + t848 - t857; + const double t860 = t28 * t158; + const double t861 = t860 * t163; + const double t862 = t151 * t168; + const double t866 = t192 * t465; + const double t871 = t29 * t616; + const double t875 = t609 / 0.72e2 + t861 * t164 * t862 / 0.3e1 - t866 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t193 * t462 + 0.2e1 * t871 * t618 - t196 * t624; + const double t876 = t875 * t199; + const double t877 = t876 * t15; + const double t878 = 0.96902277115443742139e-3 * t877; + const double t879 = t200 * t168; + const double t880 = 0.96902277115443742139e-3 * t879; + const double t882 = t4 * t447 * t35; + const double t884 = t151 * t207; + const double t889 = 0.1e1 / t206 / t34; + const double t890 = t9 * t889; + const double t891 = t210 * t210; + const double t897 = t463 - 0.39224555555555555555e0 * t473 + 0.7844911111111111111e0 * t476; + const double t903 = ( t882 / 0.9e1 + t156 * t884 * t210 / 0.6e1 + t156 * t890 * t891 / 0.2e1 - t156 * t208 * t897 / 0.4e1 ) * t173 * t175; + const double t906 = t488 * t34; + const double t909 = t177 * t210; + const double t912 = t220 * t41; + const double t913 = 0.1e1 / t912; + const double t914 = t913 * t1; + const double t915 = t914 * t3; + const double t920 = t221 * t465 * t173; + const double t929 = t220 * t220; + const double t931 = 0.1e1 / t929 / t41; + const double t932 = t931 * t1; + const double t933 = t932 * t3; + const double t934 = t225 * t225; + const double t935 = 0.1e1 / t934; + const double t940 = t46 * t207; + const double t941 = t940 * t163; + const double t942 = t151 * t210; + const double t946 = t231 * t465; + const double t951 = t47 * t889; + const double t955 = t882 / 0.72e2 + t941 * t164 * t942 / 0.3e1 - t946 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t232 * t462 + 0.2e1 * t951 * t891 - t235 * t897; + const double t956 = t955 * t238; + const double t960 = 0.1e1 / t47 / t46; + const double t961 = t237 * t960; + const double t962 = t34 * t162; + const double t963 = t961 * t962; + const double t969 = t182 * t465 * t173; + const double t972 = t969 * t468 * t471 * t187; + const double t973 = 0.26510497116684513453e-1 * t972; + const double t976 = t184 * t164 * t446 * t187; + const double t977 = 0.53020994233369026905e-1 * t976; + const double t979 = 0.1e1 / t29 / t28; + const double t980 = t198 * t979; + const double t981 = t15 * t162; + const double t982 = t980 * t981; + const double t983 = t982 * t160; + const double t984 = 0.1615037951924062369e-3 * t983; + const double t985 = 0.51817833333333333333e-2 * t903 * t217 + 0.17272611111111111111e-2 * t216 * t906 + 0.51817833333333333333e-2 * t216 * t909 + 0.13796274692623141087e-1 * t915 * t447 * t226 + 0.27592549385246282174e-1 * t920 * t468 * t471 * t226 - 0.55185098770492564348e-1 * t223 * t164 * t446 * t226 - 0.30878365944746984535e0 * t933 * t447 * t935 + 0.22478670955426118383e-2 * t956 * t34 + 0.37464451592376863972e-3 * t963 * t160 + 0.22478670955426118383e-2 * t239 * t210 - t632 - t635 - t638 - t645 - t973 + t977 + t655 - t878 - t984 - t880; + const double t986 = t985 * t89; + const double t987 = t986 * t111; + const double t988 = t987 * t143; + const double t989 = t988 / 0.24e2; + const double t990 = t243 * t374; + const double t991 = t990 * t143; + const double t992 = t991 / 0.12e2; + const double t993 = t244 * t390; + const double t994 = t993 / 0.12e2; + const double t995 = t147 * t600; + const double t996 = t146 * t995; + const double t997 = 0.2e2 * t996; + const double t998 = t132 * t134; + const double t999 = t998 * t138; + const double t1000 = t146 * t999; + const double t1001 = 0.12e2 * t1000; + const double t1002 = t408 * t396; + const double t1003 = t146 * t1002; + const double t1004 = 0.32e2 * t1003; + const double t1005 = t406 * t409; + const double t1006 = 0.8e1 * t1005; + const double t1007 = t406 * t412; + const double t1008 = 0.8e1 * t1007; + const double t1009 = t51 * t587; + const double t1010 = t1009 * t148; + const double t1011 = t242 * t388; + const double t1012 = t1011 * t148; + const double t1013 = 0.2e1 * t1012; + const double t1014 = t404 * t409; + const double t1015 = 0.8e1 * t1014; + const double t1016 = t404 * t412; + const double t1017 = 0.8e1 * t1016; + const double t1018 = t985 * t128; + const double t1019 = t1018 * t148; + const double t1020 = t878 + t880 - t989 - t992 - t994 + t984 + t997 + t1001 - t1004 + t1006 - t1008 + t1010 + t1013 + t973 - t977 + t1015 - t1017 + t1019; + const double t1023 = 0.2e1 * t405; + const double t1025 = 0.19380455423088748428e-2 * t201; + const double t1026 = 0.20727133333333333334e-1 * t179; + const double t1027 = 0.8e1 * t410; + const double t1028 = 0.8e1 * t413; + const double t1029 = t376 / 0.12e2; + const double t1032 = t564 * t417; + const double t1035 = t120 * t113; + const double t1039 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.9e1 * t1032 * t380 + 0.8e1 / 0.3e1 * t1035 * t569 ); + const double t1040 = t578 * t421; + const double t1043 = t125 * t113; + const double t1047 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.9e1 * t1040 * t384 - 0.8e1 / 0.3e1 * t1043 * t569 ); + const double t1048 = t1039 + t1047; + const double t1049 = t1048 * t132; + const double t1050 = t1049 * t142; + const double t1051 = t112 * t1050; + const double t1052 = t426 * t400; + const double t1053 = t112 * t1052; + const double t1054 = t244 * t433; + const double t1055 = t244 * t427; + const double t1056 = t375 * t427; + const double t1057 = t375 * t433; + const double t1058 = t389 * t432; + const double t1059 = t112 * t1058; + const double t1061 = ( t596 - t602 ) * t141; + const double t1062 = t133 * t1061; + const double t1063 = t112 * t1062; + const double t1064 = -t1051 - t1053 - t1054 - t1055 - t1056 - t1057 - t1059 - t1063 - t443 - t557 - t559; + const double t1069 = -t561 / 0.24e2 + t632 + t635 + t638 + t645 - t655 + t659 + t662 + t664 / 0.24e2 + t668 / 0.24e2 + t848; + const double t1071 = t426 * t330; + const double t1072 = t250 * t1071; + const double t1074 = t432 * t329; + const double t1075 = t133 * t1074; + const double t1076 = t250 * t1075; + const double t1079 = -t857 + t878 + t880 + t1072 / 0.24e2 + t1076 / 0.24e2 - t989 - t992 - t993 / 0.24e2 + t984 + t997 - t1001; + const double t1082 = t436 * t409; + const double t1084 = t436 * t412; + const double t1086 = t51 * t1048; + const double t1087 = t1086 * t148; + const double t1088 = t242 * t425; + const double t1089 = t1088 * t148; + const double t1090 = -0.4e1 * t1005 - 0.4e1 * t1007 + t1012 + t973 - t977 + 0.4e1 * t1082 - 0.4e1 * t1084 + t1087 + t1089 - t1017 + t1019; + const double t1094 = t417 * t417; + const double t1098 = 0.2e1 * t378 + 0.2e1 * t570; + const double t1102 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.9e1 * t564 * t1094 + 0.4e1 / 0.3e1 * t120 * t1098 ); + const double t1103 = t421 * t421; + const double t1106 = -t1098; + const double t1110 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.9e1 * t578 * t1103 + 0.4e1 / 0.3e1 * t125 * t1106 ); + const double t1111 = t1102 + t1110; + const double t1112 = t1111 * t132; + const double t1113 = t1112 * t142; + const double t1114 = t112 * t1113; + const double t1115 = t1114 / 0.24e2; + const double t1116 = t426 * t432; + const double t1117 = t112 * t1116; + const double t1118 = t1117 / 0.12e2; + const double t1120 = ( -t596 - t598 - t602 ) * t141; + const double t1121 = t133 * t1120; + const double t1122 = t112 * t1121; + const double t1123 = t1122 / 0.24e2; + const double t1124 = t1054 / 0.12e2; + const double t1125 = t1055 / 0.12e2; + const double t1126 = t1056 / 0.12e2; + const double t1127 = t1057 / 0.12e2; + const double t1128 = -t1115 - t1118 - t1123 - t1124 - t1125 - t1126 - t1127 - t558 + t632 + t635 + t638 + t645 - t655 + t659 + t662 + t848 - t857 + t878; + const double t1129 = t1072 / 0.12e2; + const double t1130 = t1076 / 0.12e2; + const double t1131 = t51 * t1111; + const double t1132 = t1131 * t148; + const double t1133 = 0.8e1 * t1082; + const double t1134 = 0.8e1 * t1084; + const double t1135 = 0.2e1 * t1089; + const double t1136 = t880 + t1129 + t1130 - t989 - t992 + t984 + t997 + t1001 + t1004 + t1132 + t973 - t977 - t1133 - t1134 + t1135 - t1015 - t1017 + t1019; - eps = t21 + t26 + t32 - t145 + t149; + v2rho2_aa = t440 + t441 - t442 + t7 * ( t858 + t1020 ) + t1023 + 0.2e1 * t407 + t1025 + t1026 + t1027 - t1028 - t1029 - t391 / 0.12e2 - t402 / 0.12e2; + v2rho2_ab = t7 * ( t1064 / 0.24e2 + t1069 + t1079 + t1090 ) + t440 + t441 - t442 + t1023 + t407 + t1025 + t1026 - t1028 - t1029 - t392 - t403 - t429 - t435 + t437; + v2rho2_bb = t7 * ( t1128 + t1136 ) + t440 + t441 - t442 + t1023 + t1025 + t1026 - t1027 - t1028 - t1029 - t428 / 0.12e2 - t434 / 0.12e2 + 0.2e1 * t437; } BUILTIN_KERNEL_EVAL_RETURN - eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -448,6 +2246,9 @@ struct kernel_traits< BuiltinVWN3 > : constexpr double t164 = t3 * t6; constexpr double t173 = t1 * t1; constexpr double t175 = 0.1e1 / t3; + constexpr double t467 = t3 * t3; + constexpr double t468 = t467 * t5; + constexpr double t530 = t173 * t467; const double t7 = rho_a + rho_b; @@ -702,11 +2503,380 @@ struct kernel_traits< BuiltinVWN3 > : const double t436 = t51 * t425; const double t437 = t436 * t148; const double t438 = t180 + t191 + t202 - t246 + t333 - t377 - t429 - t435 + t405 + t437 - t411 - t414; + const double t440 = 0.79531491350053540358e-1 * t190; + const double t441 = t332 / 0.12e2; + const double t442 = t245 / 0.12e2; + const double t443 = t244 * t401; + const double t444 = t443 / 0.12e2; + const double t446 = 0.1e1 / t8 / t136; + const double t447 = t6 * t446; + const double t449 = t4 * t447 * t95; + const double t451 = t151 * t338; + const double t456 = 0.1e1 / t337 / t94; + const double t457 = t9 * t456; + const double t458 = t341 * t341; + const double t462 = t4 * t447; + const double t463 = t462 / 0.9e1; + const double t465 = 0.1e1 / t13 / t11; + const double t466 = t465 * t173; + const double t469 = t8 * t8; + const double t471 = 0.1e1 / t469 / t136; + const double t473 = t466 * t468 * t471; + const double t476 = t163 * t164 * t446; + const double t478 = t463 - 0.59352777777777777778e-1 * t473 + 0.11870555555555555556e0 * t476; + const double t484 = ( t449 / 0.9e1 + t156 * t451 * t341 / 0.6e1 + t156 * t457 * t458 / 0.2e1 - t156 * t339 * t478 / 0.4e1 ) * t173 * t175; + const double t488 = t5 / t469; + const double t489 = t488 * t94; + const double t492 = t177 * t341; + const double t495 = t351 * t100; + const double t496 = 0.1e1 / t495; + const double t497 = t496 * t1; + const double t498 = t497 * t3; + const double t503 = t352 * t465 * t173; + const double t512 = t351 * t351; + const double t514 = 0.1e1 / t512 / t100; + const double t515 = t514 * t1; + const double t516 = t515 * t3; + const double t517 = t356 * t356; + const double t518 = 0.1e1 / t517; + const double t523 = t105 * t338; + const double t524 = t523 * t163; + const double t525 = t151 * t341; + const double t529 = t362 * t465; + const double t531 = t5 * t471; + const double t532 = t530 * t531; + const double t537 = t106 * t456; + const double t541 = t449 / 0.72e2 + t524 * t164 * t525 / 0.3e1 - t529 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t363 * t462 + 0.2e1 * t537 * t458 - t366 * t478; + const double t542 = t541 * t369; + const double t546 = 0.1e1 / t106 / t105; + const double t547 = t368 * t546; + const double t548 = t94 * t162; + const double t549 = t547 * t548; + const double t555 = t92 * ( t484 * t348 / 0.3e1 + t347 * t489 / 0.9e1 + t347 * t492 / 0.3e1 + 0.12017413633297419508e0 * t498 * t447 * t357 + 0.24034827266594839017e0 * t503 * t468 * t471 * t357 - 0.48069654533189678033e0 * t354 * t164 * t446 * t357 - 0.53818578849327899136e1 * t516 * t447 * t518 + 0.21608710360898267022e-1 * t542 * t94 + 0.3601451726816377837e-2 * t549 * t160 + 0.21608710360898267022e-1 * t370 * t341 ); + const double t556 = t90 * t555; + const double t557 = t556 * t143; + const double t558 = t557 / 0.24e2; + const double t559 = t375 * t390; + const double t560 = t559 / 0.12e2; + const double t561 = t375 * t401; + const double t562 = t561 / 0.12e2; + const double t563 = t120 * t120; + const double t564 = 0.1e1 / t563; + const double t565 = t380 * t380; + const double t568 = t136 * t7; + const double t569 = 0.1e1 / t568; + const double t570 = t113 * t569; + const double t572 = -0.2e1 * t378 + 0.2e1 * t570; + const double t576 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.9e1 * t564 * t565 + 0.4e1 / 0.3e1 * t120 * t572 ); + const double t577 = t125 * t125; + const double t578 = 0.1e1 / t577; + const double t579 = t384 * t384; + const double t582 = -t572; + const double t586 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.9e1 * t578 * t579 + 0.4e1 / 0.3e1 * t125 * t582 ); + const double t587 = t576 + t586; + const double t588 = t587 * t132; + const double t589 = t588 * t142; + const double t590 = t112 * t589; + const double t591 = t590 / 0.24e2; + const double t592 = t389 * t400; + const double t593 = t112 * t592; + const double t594 = t593 / 0.12e2; + const double t596 = 0.12e2 * t134 * t138; + const double t598 = 0.32e2 * t393 * t396; + const double t600 = 0.1e1 / t137 / t136; + const double t602 = 0.2e2 * t135 * t600; + const double t604 = ( -t596 + t598 - t602 ) * t141; + const double t605 = t133 * t604; + const double t606 = t112 * t605; + const double t607 = t606 / 0.24e2; + const double t609 = t4 * t447 * t16; + const double t611 = t151 * t158; + const double t616 = 0.1e1 / t157 / t15; + const double t617 = t9 * t616; + const double t618 = t168 * t168; + const double t624 = t463 - 0.20708e0 * t473 + 0.41416e0 * t476; + const double t630 = ( t609 / 0.9e1 + t156 * t611 * t168 / 0.6e1 + t156 * t617 * t618 / 0.2e1 - t156 * t159 * t624 / 0.4e1 ) * t173 * t175; + const double t631 = t630 * t178; + const double t632 = 0.10363566666666666667e-1 * t631; + const double t633 = t488 * t15; + const double t634 = t176 * t633; + const double t635 = 0.34545222222222222223e-2 * t634; + const double t636 = t177 * t168; + const double t637 = t176 * t636; + const double t638 = 0.10363566666666666667e-1 * t637; + const double t639 = t181 * t22; + const double t640 = 0.1e1 / t639; + const double t641 = t640 * t1; + const double t642 = t641 * t3; + const double t644 = t642 * t447 * t187; + const double t645 = 0.13255248558342256726e-1 * t644; + const double t646 = t181 * t181; + const double t648 = 0.1e1 / t646 / t22; + const double t649 = t648 * t1; + const double t650 = t649 * t3; + const double t651 = t186 * t186; + const double t652 = 0.1e1 / t651; + const double t654 = t650 * t447 * t652; + const double t655 = 0.50167127350538589834e0 * t654; + const double t656 = t242 * t248; + const double t657 = t656 * t111; + const double t658 = t657 * t331; + const double t659 = t658 / 0.12e2; + const double t660 = t249 * t374; + const double t661 = t660 * t331; + const double t662 = t661 / 0.12e2; + const double t663 = t389 * t330; + const double t664 = t250 * t663; + const double t665 = t664 / 0.12e2; + const double t666 = t400 * t329; + const double t667 = t133 * t666; + const double t668 = t250 * t667; + const double t669 = t668 / 0.12e2; + const double t671 = t4 * t447 * t54; + const double t673 = t151 * t255; + const double t678 = 0.1e1 / t254 / t53; + const double t679 = t9 * t678; + const double t680 = t258 * t258; + const double t686 = t463 - 0.111795e1 * t473 + 0.22359e1 * t476; + const double t692 = ( t671 / 0.9e1 + t156 * t673 * t258 / 0.6e1 + t156 * t679 * t680 / 0.2e1 - t156 * t256 * t686 / 0.4e1 ) * t173 * t175; + const double t695 = t488 * t53; + const double t698 = t177 * t258; + const double t701 = t268 * t60; + const double t702 = 0.1e1 / t701; + const double t703 = t702 * t1; + const double t704 = t703 * t3; + const double t709 = t269 * t465 * t173; + const double t718 = t268 * t268; + const double t720 = 0.1e1 / t718 / t60; + const double t721 = t720 * t1; + const double t722 = t721 * t3; + const double t723 = t273 * t273; + const double t724 = 0.1e1 / t723; + const double t729 = t65 * t255; + const double t730 = t729 * t163; + const double t731 = t151 * t258; + const double t735 = t279 * t465; + const double t740 = t66 * t678; + const double t744 = t671 / 0.72e2 + t730 * t164 * t731 / 0.3e1 - t735 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t280 * t462 + 0.2e1 * t740 * t680 - t283 * t686; + const double t745 = t744 * t286; + const double t749 = 0.1e1 / t66 / t65; + const double t750 = t285 * t749; + const double t751 = t53 * t162; + const double t752 = t750 * t751; + const double t758 = t4 * t447 * t72; + const double t760 = t151 * t294; + const double t765 = 0.1e1 / t293 / t71; + const double t766 = t9 * t765; + const double t767 = t297 * t297; + const double t773 = t463 - 0.7262222222222222222e0 * t473 + 0.14524444444444444444e1 * t476; + const double t779 = ( t758 / 0.9e1 + t156 * t760 * t297 / 0.6e1 + t156 * t766 * t767 / 0.2e1 - t156 * t295 * t773 / 0.4e1 ) * t173 * t175; + const double t782 = t488 * t71; + const double t785 = t177 * t297; + const double t788 = t307 * t78; + const double t789 = 0.1e1 / t788; + const double t790 = t789 * t1; + const double t791 = t790 * t3; + const double t796 = t308 * t465 * t173; + const double t805 = t307 * t307; + const double t807 = 0.1e1 / t805 / t78; + const double t808 = t807 * t1; + const double t809 = t808 * t3; + const double t810 = t312 * t312; + const double t811 = 0.1e1 / t810; + const double t816 = t83 * t294; + const double t817 = t816 * t163; + const double t818 = t151 * t297; + const double t822 = t318 * t465; + const double t827 = t84 * t765; + const double t831 = t758 / 0.72e2 + t817 * t164 * t818 / 0.3e1 - t822 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t319 * t462 + 0.2e1 * t827 * t767 - t322 * t773; + const double t832 = t831 * t325; + const double t836 = 0.1e1 / t84 / t83; + const double t837 = t324 * t836; + const double t838 = t71 * t162; + const double t839 = t837 * t838; + const double t844 = 0.51817833333333333333e-2 * t692 * t265 + 0.17272611111111111111e-2 * t264 * t695 + 0.51817833333333333333e-2 * t264 * t698 + 0.40281109727029913917e-1 * t704 * t447 * t274 + 0.80562219454059827833e-1 * t709 * t468 * t471 * t274 - 0.16112443890811965567e0 * t271 * t164 * t446 * t274 - 0.55299776073946902743e-1 * t722 * t447 * t724 + 0.26673100072733151594e-2 * t745 * t53 + 0.4445516678788858599e-3 * t752 * t160 + 0.26673100072733151594e-2 * t287 * t258 - 0.10363566666666666667e-1 * t779 * t304 - 0.34545222222222222223e-2 * t303 * t782 - 0.10363566666666666667e-1 * t303 * t785 - 0.51190794422689743247e-1 * t791 * t447 * t313 - 0.10238158884537948649e0 * t796 * t468 * t471 * t313 + 0.20476317769075897299e0 * t310 * t164 * t446 * t313 + 0.10320064155614252239e-3 * t809 * t447 * t811 - 0.44313737677495382697e-2 * t832 * t71 - 0.73856229462492304495e-3 * t839 * t160 - 0.44313737677495382697e-2 * t326 * t297; + const double t845 = t142 * t844; + const double t846 = t133 * t845; + const double t847 = t250 * t846; + const double t848 = t847 / 0.24e2; + const double t850 = 0.1e1 / t247 / t88; + const double t851 = t51 * t850; + const double t852 = t851 * t111; + const double t853 = t329 * t329; + const double t854 = t142 * t853; + const double t855 = t133 * t854; + const double t856 = t852 * t855; + const double t857 = t856 / 0.12e2; + const double t858 = -t444 - t558 - t560 - t562 - t591 - t594 - t607 + t632 + t635 + t638 + t645 - t655 + t659 + t662 + t665 + t669 + t848 - t857; + const double t860 = t28 * t158; + const double t861 = t860 * t163; + const double t862 = t151 * t168; + const double t866 = t192 * t465; + const double t871 = t29 * t616; + const double t875 = t609 / 0.72e2 + t861 * t164 * t862 / 0.3e1 - t866 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t193 * t462 + 0.2e1 * t871 * t618 - t196 * t624; + const double t876 = t875 * t199; + const double t877 = t876 * t15; + const double t878 = 0.96902277115443742139e-3 * t877; + const double t879 = t200 * t168; + const double t880 = 0.96902277115443742139e-3 * t879; + const double t882 = t4 * t447 * t35; + const double t884 = t151 * t207; + const double t889 = 0.1e1 / t206 / t34; + const double t890 = t9 * t889; + const double t891 = t210 * t210; + const double t897 = t463 - 0.39224555555555555555e0 * t473 + 0.7844911111111111111e0 * t476; + const double t903 = ( t882 / 0.9e1 + t156 * t884 * t210 / 0.6e1 + t156 * t890 * t891 / 0.2e1 - t156 * t208 * t897 / 0.4e1 ) * t173 * t175; + const double t906 = t488 * t34; + const double t909 = t177 * t210; + const double t912 = t220 * t41; + const double t913 = 0.1e1 / t912; + const double t914 = t913 * t1; + const double t915 = t914 * t3; + const double t920 = t221 * t465 * t173; + const double t929 = t220 * t220; + const double t931 = 0.1e1 / t929 / t41; + const double t932 = t931 * t1; + const double t933 = t932 * t3; + const double t934 = t225 * t225; + const double t935 = 0.1e1 / t934; + const double t940 = t46 * t207; + const double t941 = t940 * t163; + const double t942 = t151 * t210; + const double t946 = t231 * t465; + const double t951 = t47 * t889; + const double t955 = t882 / 0.72e2 + t941 * t164 * t942 / 0.3e1 - t946 * t532 / 0.9e1 + 0.2e1 / 0.9e1 * t232 * t462 + 0.2e1 * t951 * t891 - t235 * t897; + const double t956 = t955 * t238; + const double t960 = 0.1e1 / t47 / t46; + const double t961 = t237 * t960; + const double t962 = t34 * t162; + const double t963 = t961 * t962; + const double t969 = t182 * t465 * t173; + const double t972 = t969 * t468 * t471 * t187; + const double t973 = 0.26510497116684513453e-1 * t972; + const double t976 = t184 * t164 * t446 * t187; + const double t977 = 0.53020994233369026905e-1 * t976; + const double t979 = 0.1e1 / t29 / t28; + const double t980 = t198 * t979; + const double t981 = t15 * t162; + const double t982 = t980 * t981; + const double t983 = t982 * t160; + const double t984 = 0.1615037951924062369e-3 * t983; + const double t985 = 0.51817833333333333333e-2 * t903 * t217 + 0.17272611111111111111e-2 * t216 * t906 + 0.51817833333333333333e-2 * t216 * t909 + 0.13796274692623141087e-1 * t915 * t447 * t226 + 0.27592549385246282174e-1 * t920 * t468 * t471 * t226 - 0.55185098770492564348e-1 * t223 * t164 * t446 * t226 - 0.30878365944746984535e0 * t933 * t447 * t935 + 0.22478670955426118383e-2 * t956 * t34 + 0.37464451592376863972e-3 * t963 * t160 + 0.22478670955426118383e-2 * t239 * t210 - t632 - t635 - t638 - t645 - t973 + t977 + t655 - t878 - t984 - t880; + const double t986 = t985 * t89; + const double t987 = t986 * t111; + const double t988 = t987 * t143; + const double t989 = t988 / 0.24e2; + const double t990 = t243 * t374; + const double t991 = t990 * t143; + const double t992 = t991 / 0.12e2; + const double t993 = t244 * t390; + const double t994 = t993 / 0.12e2; + const double t995 = t147 * t600; + const double t996 = t146 * t995; + const double t997 = 0.2e2 * t996; + const double t998 = t132 * t134; + const double t999 = t998 * t138; + const double t1000 = t146 * t999; + const double t1001 = 0.12e2 * t1000; + const double t1002 = t408 * t396; + const double t1003 = t146 * t1002; + const double t1004 = 0.32e2 * t1003; + const double t1005 = t406 * t409; + const double t1006 = 0.8e1 * t1005; + const double t1007 = t406 * t412; + const double t1008 = 0.8e1 * t1007; + const double t1009 = t51 * t587; + const double t1010 = t1009 * t148; + const double t1011 = t242 * t388; + const double t1012 = t1011 * t148; + const double t1013 = 0.2e1 * t1012; + const double t1014 = t404 * t409; + const double t1015 = 0.8e1 * t1014; + const double t1016 = t404 * t412; + const double t1017 = 0.8e1 * t1016; + const double t1018 = t985 * t128; + const double t1019 = t1018 * t148; + const double t1020 = t878 + t880 - t989 - t992 - t994 + t984 + t997 + t1001 - t1004 + t1006 - t1008 + t1010 + t1013 + t973 - t977 + t1015 - t1017 + t1019; + const double t1023 = 0.2e1 * t405; + const double t1025 = 0.19380455423088748428e-2 * t201; + const double t1026 = 0.20727133333333333334e-1 * t179; + const double t1027 = 0.8e1 * t410; + const double t1028 = 0.8e1 * t413; + const double t1029 = t376 / 0.12e2; + const double t1032 = t564 * t417; + const double t1035 = t120 * t113; + const double t1039 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.9e1 * t1032 * t380 + 0.8e1 / 0.3e1 * t1035 * t569 ); + const double t1040 = t578 * t421; + const double t1043 = t125 * t113; + const double t1047 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.9e1 * t1040 * t384 - 0.8e1 / 0.3e1 * t1043 * t569 ); + const double t1048 = t1039 + t1047; + const double t1049 = t1048 * t132; + const double t1050 = t1049 * t142; + const double t1051 = t112 * t1050; + const double t1052 = t426 * t400; + const double t1053 = t112 * t1052; + const double t1054 = t244 * t433; + const double t1055 = t244 * t427; + const double t1056 = t375 * t427; + const double t1057 = t375 * t433; + const double t1058 = t389 * t432; + const double t1059 = t112 * t1058; + const double t1061 = ( t596 - t602 ) * t141; + const double t1062 = t133 * t1061; + const double t1063 = t112 * t1062; + const double t1064 = -t1051 - t1053 - t1054 - t1055 - t1056 - t1057 - t1059 - t1063 - t443 - t557 - t559; + const double t1069 = -t561 / 0.24e2 + t632 + t635 + t638 + t645 - t655 + t659 + t662 + t664 / 0.24e2 + t668 / 0.24e2 + t848; + const double t1071 = t426 * t330; + const double t1072 = t250 * t1071; + const double t1074 = t432 * t329; + const double t1075 = t133 * t1074; + const double t1076 = t250 * t1075; + const double t1079 = -t857 + t878 + t880 + t1072 / 0.24e2 + t1076 / 0.24e2 - t989 - t992 - t993 / 0.24e2 + t984 + t997 - t1001; + const double t1082 = t436 * t409; + const double t1084 = t436 * t412; + const double t1086 = t51 * t1048; + const double t1087 = t1086 * t148; + const double t1088 = t242 * t425; + const double t1089 = t1088 * t148; + const double t1090 = -0.4e1 * t1005 - 0.4e1 * t1007 + t1012 + t973 - t977 + 0.4e1 * t1082 - 0.4e1 * t1084 + t1087 + t1089 - t1017 + t1019; + const double t1094 = t417 * t417; + const double t1098 = 0.2e1 * t378 + 0.2e1 * t570; + const double t1102 = piecewise_functor_3( t117, 0.0, 0.4e1 / 0.9e1 * t564 * t1094 + 0.4e1 / 0.3e1 * t120 * t1098 ); + const double t1103 = t421 * t421; + const double t1106 = -t1098; + const double t1110 = piecewise_functor_3( t124, 0.0, 0.4e1 / 0.9e1 * t578 * t1103 + 0.4e1 / 0.3e1 * t125 * t1106 ); + const double t1111 = t1102 + t1110; + const double t1112 = t1111 * t132; + const double t1113 = t1112 * t142; + const double t1114 = t112 * t1113; + const double t1115 = t1114 / 0.24e2; + const double t1116 = t426 * t432; + const double t1117 = t112 * t1116; + const double t1118 = t1117 / 0.12e2; + const double t1120 = ( -t596 - t598 - t602 ) * t141; + const double t1121 = t133 * t1120; + const double t1122 = t112 * t1121; + const double t1123 = t1122 / 0.24e2; + const double t1124 = t1054 / 0.12e2; + const double t1125 = t1055 / 0.12e2; + const double t1126 = t1056 / 0.12e2; + const double t1127 = t1057 / 0.12e2; + const double t1128 = -t1115 - t1118 - t1123 - t1124 - t1125 - t1126 - t1127 - t558 + t632 + t635 + t638 + t645 - t655 + t659 + t662 + t848 - t857 + t878; + const double t1129 = t1072 / 0.12e2; + const double t1130 = t1076 / 0.12e2; + const double t1131 = t51 * t1111; + const double t1132 = t1131 * t148; + const double t1133 = 0.8e1 * t1082; + const double t1134 = 0.8e1 * t1084; + const double t1135 = 0.2e1 * t1089; + const double t1136 = t880 + t1129 + t1130 - t989 - t992 + t984 + t997 + t1001 + t1004 + t1132 + t973 - t977 - t1133 - t1134 + t1135 - t1015 - t1017 + t1019; - eps = t21 + t26 + t32 - t145 + t149; vrho_a = t7 * t415 - t145 + t149 + t21 + t26 + t32; vrho_b = t7 * t438 - t145 + t149 + t21 + t26 + t32; + v2rho2_aa = t440 + t441 - t442 + t7 * ( t858 + t1020 ) + t1023 + 0.2e1 * t407 + t1025 + t1026 + t1027 - t1028 - t1029 - t391 / 0.12e2 - t402 / 0.12e2; + v2rho2_ab = t7 * ( t1064 / 0.24e2 + t1069 + t1079 + t1090 ) + t440 + t441 - t442 + t1023 + t407 + t1025 + t1026 - t1028 - t1029 - t392 - t403 - t429 - t435 + t437; + v2rho2_bb = t7 * ( t1128 + t1136 ) + t440 + t441 - t442 + t1023 + t1025 + t1026 - t1027 - t1028 - t1029 - t428 / 0.12e2 - t434 / 0.12e2 + 0.2e1 * t437; } @@ -724,4 +2894,4 @@ struct BuiltinVWN3 : detail::BuiltinKernelImpl< BuiltinVWN3 > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/vwn_rpa.hpp b/include/exchcxx/impl/builtin/kernels/vwn_rpa.hpp index 417936c..b60f187 100644 --- a/include/exchcxx/impl/builtin/kernels/vwn_rpa.hpp +++ b/include/exchcxx/impl/builtin/kernels/vwn_rpa.hpp @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #pragma once #include @@ -28,15 +79,12 @@ struct kernel_traits< BuiltinVWN_RPA > : static constexpr double sigma_tol = 1.000000000000004e-32; static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; - static constexpr bool is_hyb = false; - static constexpr double exx_coeff = 0.0; BUILTIN_KERNEL_EVAL_RETURN eval_exc_unpolar_impl( double rho, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -84,7 +132,6 @@ struct kernel_traits< BuiltinVWN_RPA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_unpolar_impl( double rho, double& eps, double& vrho ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -178,10 +225,350 @@ struct kernel_traits< BuiltinVWN_RPA > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t73 = t4 * t6; + constexpr double t81 = t3 * t6; + constexpr double t90 = t1 * t1; + constexpr double t92 = 0.1e1 / t3; + constexpr double t191 = t3 * t3; + constexpr double t192 = t191 * t5; + constexpr double t254 = t90 * t191; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.6536e1 * t12 + 0.427198e2; + const double t15 = 0.1e1 / t14; + const double t21 = t12 + 0.13072e2; + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.409286e0; + const double t28 = t27 * t27; + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( 0.1e1 <= zeta_tol, t34 * zeta_tol, 1.0 ); + const double t38 = 0.2e1 * t36 - 0.2e1; + const double t42 = 0.1e1 / ( 0.2e1 * t39 - 0.2e1 ); + const double t44 = -t38 * t42 + 0.1e1; + const double t47 = t11 + 0.1006155e2 * t12 + 0.101578e3; + const double t48 = 0.1e1 / t47; + const double t54 = t12 + 0.201231e2; + const double t59 = t26 + 0.743294e0; + const double t60 = t59 * t59; + const double t68 = 0.1e1 / t7 / rho; + const double t69 = t6 * t68; + const double t74 = t14 * t14; + const double t75 = 0.1e1 / t74; + const double t76 = t8 * t75; + const double t77 = t4 * t69; + const double t78 = t77 / 0.12e2; + const double t79 = 0.1e1 / t12; + const double t80 = t79 * t1; + const double t83 = t80 * t81 * t68; + const double t85 = -t78 - 0.10893333333333333333e1 * t83; + const double t93 = ( -t4 * t69 * t15 / 0.12e2 - t73 * t76 * t85 / 0.4e1 ) * t90 * t92; + const double t94 = t5 * t7; + const double t95 = t94 * t14; + const double t98 = t21 * t21; + const double t99 = 0.1e1 / t98; + const double t101 = t99 * t79 * t1; + const double t103 = 0.2016e-2 * t99 + 0.1e1; + const double t104 = 0.1e1 / t103; + const double t109 = t27 * t15; + const double t110 = t109 * t79; + const double t113 = t28 * t75; + const double t115 = -t110 * t77 / 0.6e1 - t113 * t85; + const double t116 = 0.1e1 / t28; + const double t117 = t115 * t116; + const double t121 = ( 0.10363566666666666667e-1 * t93 * t95 + 0.15357238326806922974e0 * t101 * t81 * t68 * t104 + 0.44313737677495382697e-2 * t117 * t14 ) * t44; + const double t125 = t47 * t47; + const double t126 = 0.1e1 / t125; + const double t127 = t8 * t126; + const double t129 = -t78 - 0.1676925e1 * t83; + const double t135 = ( -t4 * t69 * t48 / 0.12e2 - t73 * t127 * t129 / 0.4e1 ) * t90 * t92; + const double t136 = t94 * t47; + const double t139 = t54 * t54; + const double t140 = 0.1e1 / t139; + const double t142 = t140 * t79 * t1; + const double t144 = 0.137284639e1 * t140 + 0.1e1; + const double t145 = 0.1e1 / t144; + const double t150 = t59 * t48; + const double t151 = t150 * t79; + const double t154 = t60 * t126; + const double t156 = -t151 * t77 / 0.6e1 - t154 * t129; + const double t157 = 0.1e1 / t60; + const double t158 = t156 * t157; + const double t163 = ( 0.51817833333333333333e-2 * t135 * t136 + 0.12084332918108974175e0 * t142 * t81 * t68 * t145 + 0.26673100072733151594e-2 * t158 * t47 ) * t38 * t42; + const double t168 = rho * rho; + const double t170 = 0.1e1 / t7 / t168; + const double t171 = t6 * t170; + const double t173 = t4 * t171 * t15; + const double t175 = t68 * t75; + const double t180 = 0.1e1 / t74 / t14; + const double t181 = t8 * t180; + const double t182 = t85 * t85; + const double t186 = t4 * t171; + const double t187 = t186 / 0.9e1; + const double t189 = 0.1e1 / t12 / t10; + const double t190 = t189 * t90; + const double t193 = t7 * t7; + const double t195 = 0.1e1 / t193 / t168; + const double t197 = t190 * t192 * t195; + const double t200 = t80 * t81 * t170; + const double t202 = t187 - 0.7262222222222222222e0 * t197 + 0.14524444444444444444e1 * t200; + const double t208 = ( t173 / 0.9e1 + t73 * t175 * t85 / 0.6e1 + t73 * t181 * t182 / 0.2e1 - t73 * t76 * t202 / 0.4e1 ) * t90 * t92; + const double t212 = t5 / t193; + const double t213 = t212 * t14; + const double t216 = t94 * t85; + const double t219 = t98 * t21; + const double t221 = 0.1e1 / t219 * t1; + const double t222 = t221 * t3; + const double t227 = t99 * t189 * t90; + const double t236 = t98 * t98; + const double t238 = 0.1e1 / t236 / t21; + const double t239 = t238 * t1; + const double t240 = t239 * t3; + const double t241 = t103 * t103; + const double t242 = 0.1e1 / t241; + const double t247 = t27 * t75; + const double t248 = t247 * t80; + const double t249 = t68 * t85; + const double t253 = t109 * t189; + const double t255 = t5 * t195; + const double t256 = t254 * t255; + const double t261 = t28 * t180; + const double t265 = t173 / 0.72e2 + t248 * t81 * t249 / 0.3e1 - t253 * t256 / 0.9e1 + 0.2e1 / 0.9e1 * t110 * t186 + 0.2e1 * t261 * t182 - t113 * t202; + const double t266 = t265 * t116; + const double t270 = 0.1e1 / t28 / t27; + const double t271 = t115 * t270; + const double t272 = t14 * t79; + const double t273 = t271 * t272; + const double t279 = ( 0.10363566666666666667e-1 * t208 * t95 + 0.34545222222222222223e-2 * t93 * t213 + 0.10363566666666666667e-1 * t93 * t216 + 0.51190794422689743247e-1 * t222 * t171 * t104 + 0.10238158884537948649e0 * t227 * t192 * t195 * t104 - 0.20476317769075897299e0 * t101 * t81 * t170 * t104 - 0.10320064155614252239e-3 * t240 * t171 * t242 + 0.44313737677495382697e-2 * t266 * t14 + 0.73856229462492304495e-3 * t273 * t77 + 0.44313737677495382697e-2 * t117 * t85 ) * t44; + const double t281 = t4 * t171 * t48; + const double t283 = t68 * t126; + const double t288 = 0.1e1 / t125 / t47; + const double t289 = t8 * t288; + const double t290 = t129 * t129; + const double t296 = t187 - 0.111795e1 * t197 + 0.22359e1 * t200; + const double t302 = ( t281 / 0.9e1 + t73 * t283 * t129 / 0.6e1 + t73 * t289 * t290 / 0.2e1 - t73 * t127 * t296 / 0.4e1 ) * t90 * t92; + const double t305 = t212 * t47; + const double t308 = t94 * t129; + const double t311 = t139 * t54; + const double t313 = 0.1e1 / t311 * t1; + const double t314 = t313 * t3; + const double t319 = t140 * t189 * t90; + const double t328 = t139 * t139; + const double t330 = 0.1e1 / t328 / t54; + const double t331 = t330 * t1; + const double t332 = t331 * t3; + const double t333 = t144 * t144; + const double t334 = 0.1e1 / t333; + const double t339 = t59 * t126; + const double t340 = t339 * t80; + const double t341 = t68 * t129; + const double t345 = t150 * t189; + const double t350 = t60 * t288; + const double t354 = t281 / 0.72e2 + t340 * t81 * t341 / 0.3e1 - t345 * t256 / 0.9e1 + 0.2e1 / 0.9e1 * t151 * t186 + 0.2e1 * t350 * t290 - t154 * t296; + const double t355 = t354 * t157; + const double t359 = 0.1e1 / t60 / t59; + const double t360 = t156 * t359; + const double t361 = t47 * t79; + const double t362 = t360 * t361; + const double t369 = ( 0.51817833333333333333e-2 * t302 * t136 + 0.17272611111111111111e-2 * t135 * t305 + 0.51817833333333333333e-2 * t135 * t308 + 0.40281109727029913917e-1 * t314 * t171 * t145 + 0.80562219454059827833e-1 * t319 * t192 * t195 * t145 - 0.16112443890811965567e0 * t142 * t81 * t170 * t145 - 0.55299776073946902743e-1 * t332 * t171 * t334 + 0.26673100072733151594e-2 * t355 * t47 + 0.4445516678788858599e-3 * t362 * t77 + 0.26673100072733151594e-2 * t158 * t129 ) * t38 * t42; + + + v2rho2 = 0.2e1 * t121 + 0.2e1 * t163 + rho * ( t279 + t369 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double& vrho, double& v2rho2 ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t73 = t4 * t6; + constexpr double t81 = t3 * t6; + constexpr double t90 = t1 * t1; + constexpr double t92 = 0.1e1 / t3; + constexpr double t191 = t3 * t3; + constexpr double t192 = t191 * t5; + constexpr double t254 = t90 * t191; + + + const double t7 = safe_math::cbrt( rho ); + const double t8 = 0.1e1 / t7; + const double t9 = t6 * t8; + const double t10 = t4 * t9; + const double t11 = t10 / 0.4e1; + const double t12 = safe_math::sqrt( t10 ); + const double t14 = t11 + 0.6536e1 * t12 + 0.427198e2; + const double t15 = 0.1e1 / t14; + const double t19 = safe_math::log( t4 * t9 * t15 / 0.4e1 ); + const double t21 = t12 + 0.13072e2; + const double t24 = safe_math::atan( 0.44899888641287296627e-1 / t21 ); + const double t26 = t12 / 0.2e1; + const double t27 = t26 + 0.409286e0; + const double t28 = t27 * t27; + const double t30 = safe_math::log( t28 * t15 ); + const double t34 = safe_math::cbrt( zeta_tol ); + const double t36 = piecewise_functor_3( 0.1e1 <= zeta_tol, t34 * zeta_tol, 1.0 ); + const double t38 = 0.2e1 * t36 - 0.2e1; + const double t42 = 0.1e1 / ( 0.2e1 * t39 - 0.2e1 ); + const double t44 = -t38 * t42 + 0.1e1; + const double t45 = ( 0.310907e-1 * t19 + 0.20521972937837502661e2 * t24 + 0.44313737677495382697e-2 * t30 ) * t44; + const double t47 = t11 + 0.1006155e2 * t12 + 0.101578e3; + const double t48 = 0.1e1 / t47; + const double t52 = safe_math::log( t4 * t9 * t48 / 0.4e1 ); + const double t54 = t12 + 0.201231e2; + const double t57 = safe_math::atan( 0.11716852777089929792e1 / t54 ); + const double t59 = t26 + 0.743294e0; + const double t60 = t59 * t59; + const double t62 = safe_math::log( t60 * t48 ); + const double t66 = ( 0.1554535e-1 * t52 + 0.61881802979060631482e0 * t57 + 0.26673100072733151594e-2 * t62 ) * t38 * t42; + const double t68 = 0.1e1 / t7 / rho; + const double t69 = t6 * t68; + const double t74 = t14 * t14; + const double t75 = 0.1e1 / t74; + const double t76 = t8 * t75; + const double t77 = t4 * t69; + const double t78 = t77 / 0.12e2; + const double t79 = 0.1e1 / t12; + const double t80 = t79 * t1; + const double t83 = t80 * t81 * t68; + const double t85 = -t78 - 0.10893333333333333333e1 * t83; + const double t93 = ( -t4 * t69 * t15 / 0.12e2 - t73 * t76 * t85 / 0.4e1 ) * t90 * t92; + const double t94 = t5 * t7; + const double t95 = t94 * t14; + const double t98 = t21 * t21; + const double t99 = 0.1e1 / t98; + const double t101 = t99 * t79 * t1; + const double t103 = 0.2016e-2 * t99 + 0.1e1; + const double t104 = 0.1e1 / t103; + const double t109 = t27 * t15; + const double t110 = t109 * t79; + const double t113 = t28 * t75; + const double t115 = -t110 * t77 / 0.6e1 - t113 * t85; + const double t116 = 0.1e1 / t28; + const double t117 = t115 * t116; + const double t121 = ( 0.10363566666666666667e-1 * t93 * t95 + 0.15357238326806922974e0 * t101 * t81 * t68 * t104 + 0.44313737677495382697e-2 * t117 * t14 ) * t44; + const double t125 = t47 * t47; + const double t126 = 0.1e1 / t125; + const double t127 = t8 * t126; + const double t129 = -t78 - 0.1676925e1 * t83; + const double t135 = ( -t4 * t69 * t48 / 0.12e2 - t73 * t127 * t129 / 0.4e1 ) * t90 * t92; + const double t136 = t94 * t47; + const double t139 = t54 * t54; + const double t140 = 0.1e1 / t139; + const double t142 = t140 * t79 * t1; + const double t144 = 0.137284639e1 * t140 + 0.1e1; + const double t145 = 0.1e1 / t144; + const double t150 = t59 * t48; + const double t151 = t150 * t79; + const double t154 = t60 * t126; + const double t156 = -t151 * t77 / 0.6e1 - t154 * t129; + const double t157 = 0.1e1 / t60; + const double t158 = t156 * t157; + const double t163 = ( 0.51817833333333333333e-2 * t135 * t136 + 0.12084332918108974175e0 * t142 * t81 * t68 * t145 + 0.26673100072733151594e-2 * t158 * t47 ) * t38 * t42; + const double t168 = rho * rho; + const double t170 = 0.1e1 / t7 / t168; + const double t171 = t6 * t170; + const double t173 = t4 * t171 * t15; + const double t175 = t68 * t75; + const double t180 = 0.1e1 / t74 / t14; + const double t181 = t8 * t180; + const double t182 = t85 * t85; + const double t186 = t4 * t171; + const double t187 = t186 / 0.9e1; + const double t189 = 0.1e1 / t12 / t10; + const double t190 = t189 * t90; + const double t193 = t7 * t7; + const double t195 = 0.1e1 / t193 / t168; + const double t197 = t190 * t192 * t195; + const double t200 = t80 * t81 * t170; + const double t202 = t187 - 0.7262222222222222222e0 * t197 + 0.14524444444444444444e1 * t200; + const double t208 = ( t173 / 0.9e1 + t73 * t175 * t85 / 0.6e1 + t73 * t181 * t182 / 0.2e1 - t73 * t76 * t202 / 0.4e1 ) * t90 * t92; + const double t212 = t5 / t193; + const double t213 = t212 * t14; + const double t216 = t94 * t85; + const double t219 = t98 * t21; + const double t221 = 0.1e1 / t219 * t1; + const double t222 = t221 * t3; + const double t227 = t99 * t189 * t90; + const double t236 = t98 * t98; + const double t238 = 0.1e1 / t236 / t21; + const double t239 = t238 * t1; + const double t240 = t239 * t3; + const double t241 = t103 * t103; + const double t242 = 0.1e1 / t241; + const double t247 = t27 * t75; + const double t248 = t247 * t80; + const double t249 = t68 * t85; + const double t253 = t109 * t189; + const double t255 = t5 * t195; + const double t256 = t254 * t255; + const double t261 = t28 * t180; + const double t265 = t173 / 0.72e2 + t248 * t81 * t249 / 0.3e1 - t253 * t256 / 0.9e1 + 0.2e1 / 0.9e1 * t110 * t186 + 0.2e1 * t261 * t182 - t113 * t202; + const double t266 = t265 * t116; + const double t270 = 0.1e1 / t28 / t27; + const double t271 = t115 * t270; + const double t272 = t14 * t79; + const double t273 = t271 * t272; + const double t279 = ( 0.10363566666666666667e-1 * t208 * t95 + 0.34545222222222222223e-2 * t93 * t213 + 0.10363566666666666667e-1 * t93 * t216 + 0.51190794422689743247e-1 * t222 * t171 * t104 + 0.10238158884537948649e0 * t227 * t192 * t195 * t104 - 0.20476317769075897299e0 * t101 * t81 * t170 * t104 - 0.10320064155614252239e-3 * t240 * t171 * t242 + 0.44313737677495382697e-2 * t266 * t14 + 0.73856229462492304495e-3 * t273 * t77 + 0.44313737677495382697e-2 * t117 * t85 ) * t44; + const double t281 = t4 * t171 * t48; + const double t283 = t68 * t126; + const double t288 = 0.1e1 / t125 / t47; + const double t289 = t8 * t288; + const double t290 = t129 * t129; + const double t296 = t187 - 0.111795e1 * t197 + 0.22359e1 * t200; + const double t302 = ( t281 / 0.9e1 + t73 * t283 * t129 / 0.6e1 + t73 * t289 * t290 / 0.2e1 - t73 * t127 * t296 / 0.4e1 ) * t90 * t92; + const double t305 = t212 * t47; + const double t308 = t94 * t129; + const double t311 = t139 * t54; + const double t313 = 0.1e1 / t311 * t1; + const double t314 = t313 * t3; + const double t319 = t140 * t189 * t90; + const double t328 = t139 * t139; + const double t330 = 0.1e1 / t328 / t54; + const double t331 = t330 * t1; + const double t332 = t331 * t3; + const double t333 = t144 * t144; + const double t334 = 0.1e1 / t333; + const double t339 = t59 * t126; + const double t340 = t339 * t80; + const double t341 = t68 * t129; + const double t345 = t150 * t189; + const double t350 = t60 * t288; + const double t354 = t281 / 0.72e2 + t340 * t81 * t341 / 0.3e1 - t345 * t256 / 0.9e1 + 0.2e1 / 0.9e1 * t151 * t186 + 0.2e1 * t350 * t290 - t154 * t296; + const double t355 = t354 * t157; + const double t359 = 0.1e1 / t60 / t59; + const double t360 = t156 * t359; + const double t361 = t47 * t79; + const double t362 = t360 * t361; + const double t369 = ( 0.51817833333333333333e-2 * t302 * t136 + 0.17272611111111111111e-2 * t135 * t305 + 0.51817833333333333333e-2 * t135 * t308 + 0.40281109727029913917e-1 * t314 * t171 * t145 + 0.80562219454059827833e-1 * t319 * t192 * t195 * t145 - 0.16112443890811965567e0 * t142 * t81 * t170 * t145 - 0.55299776073946902743e-1 * t332 * t171 * t334 + 0.26673100072733151594e-2 * t355 * t47 + 0.4445516678788858599e-3 * t362 * t77 + 0.26673100072733151594e-2 * t158 * t129 ) * t38 * t42; + + + vrho = t45 + t66 + rho * ( t121 + t163 ); + v2rho2 = 0.2e1 * t121 + 0.2e1 * t163 + rho * ( t279 + t369 ); + + } + BUILTIN_KERNEL_EVAL_RETURN eval_exc_polar_impl( double rho_a, double rho_b, double& eps ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -243,7 +630,6 @@ struct kernel_traits< BuiltinVWN_RPA > : BUILTIN_KERNEL_EVAL_RETURN eval_exc_vxc_polar_impl( double rho_a, double rho_b, double& eps, double& vrho_a, double& vrho_b ) { - (void)(eps); constexpr double t1 = constants::m_cbrt_3; constexpr double t3 = constants::m_cbrt_one_ov_pi; constexpr double t5 = constants::m_cbrt_4; @@ -371,6 +757,518 @@ struct kernel_traits< BuiltinVWN_RPA > : } + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t50 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t84 = t4 * t6; + constexpr double t92 = t3 * t6; + constexpr double t101 = t1 * t1; + constexpr double t103 = 0.1e1 / t3; + constexpr double t234 = t3 * t3; + constexpr double t235 = t234 * t5; + constexpr double t297 = t101 * t234; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.6536e1 * t13 + 0.427198e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t22 = t13 + 0.13072e2; + const double t25 = safe_math::atan( 0.44899888641287296627e-1 / t22 ); + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.409286e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t33 = 0.310907e-1 * t20 + 0.20521972937837502661e2 * t25 + 0.44313737677495382697e-2 * t31; + const double t34 = rho_a - rho_b; + const double t35 = 0.1e1 / t7; + const double t36 = t34 * t35; + const double t37 = 0.1e1 + t36; + const double t38 = t37 <= zeta_tol; + const double t39 = safe_math::cbrt( zeta_tol ); + const double t40 = t39 * zeta_tol; + const double t41 = safe_math::cbrt( t37 ); + const double t43 = piecewise_functor_3( t38, t40, t41 * t37 ); + const double t44 = 0.1e1 - t36; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( t44 ); + const double t48 = piecewise_functor_3( t45, t40, t46 * t44 ); + const double t49 = t43 + t48 - 0.2e1; + const double t53 = 0.1e1 / ( 0.2e1 * t50 - 0.2e1 ); + const double t55 = -t49 * t53 + 0.1e1; + const double t58 = t12 + 0.1006155e2 * t13 + 0.101578e3; + const double t59 = 0.1e1 / t58; + const double t63 = safe_math::log( t4 * t10 * t59 / 0.4e1 ); + const double t65 = t13 + 0.201231e2; + const double t68 = safe_math::atan( 0.11716852777089929792e1 / t65 ); + const double t70 = t27 + 0.743294e0; + const double t71 = t70 * t70; + const double t73 = safe_math::log( t71 * t59 ); + const double t75 = 0.1554535e-1 * t63 + 0.61881802979060631482e0 * t68 + 0.26673100072733151594e-2 * t73; + const double t79 = 0.1e1 / t8 / t7; + const double t80 = t6 * t79; + const double t85 = t15 * t15; + const double t86 = 0.1e1 / t85; + const double t87 = t9 * t86; + const double t88 = t4 * t80; + const double t89 = t88 / 0.12e2; + const double t90 = 0.1e1 / t13; + const double t91 = t90 * t1; + const double t94 = t91 * t92 * t79; + const double t96 = -t89 - 0.10893333333333333333e1 * t94; + const double t104 = ( -t4 * t80 * t16 / 0.12e2 - t84 * t87 * t96 / 0.4e1 ) * t101 * t103; + const double t105 = t5 * t8; + const double t106 = t105 * t15; + const double t109 = t22 * t22; + const double t110 = 0.1e1 / t109; + const double t112 = t110 * t90 * t1; + const double t114 = 0.2016e-2 * t110 + 0.1e1; + const double t115 = 0.1e1 / t114; + const double t120 = t28 * t16; + const double t121 = t120 * t90; + const double t124 = t29 * t86; + const double t126 = -t121 * t88 / 0.6e1 - t124 * t96; + const double t127 = 0.1e1 / t29; + const double t128 = t126 * t127; + const double t131 = 0.10363566666666666667e-1 * t104 * t106 + 0.15357238326806922974e0 * t112 * t92 * t79 * t115 + 0.44313737677495382697e-2 * t128 * t15; + const double t132 = t131 * t55; + const double t133 = t7 * t7; + const double t134 = 0.1e1 / t133; + const double t135 = t34 * t134; + const double t136 = t35 - t135; + const double t139 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.3e1 * t41 * t136 ); + const double t140 = -t136; + const double t143 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t46 * t140 ); + const double t144 = t139 + t143; + const double t146 = t33 * t144 * t53; + const double t150 = t58 * t58; + const double t151 = 0.1e1 / t150; + const double t152 = t9 * t151; + const double t154 = -t89 - 0.1676925e1 * t94; + const double t160 = ( -t4 * t80 * t59 / 0.12e2 - t84 * t152 * t154 / 0.4e1 ) * t101 * t103; + const double t161 = t105 * t58; + const double t164 = t65 * t65; + const double t165 = 0.1e1 / t164; + const double t167 = t165 * t90 * t1; + const double t169 = 0.137284639e1 * t165 + 0.1e1; + const double t170 = 0.1e1 / t169; + const double t175 = t70 * t59; + const double t176 = t175 * t90; + const double t179 = t71 * t151; + const double t181 = -t176 * t88 / 0.6e1 - t179 * t154; + const double t182 = 0.1e1 / t71; + const double t183 = t181 * t182; + const double t186 = 0.51817833333333333333e-2 * t160 * t161 + 0.12084332918108974175e0 * t167 * t92 * t79 * t170 + 0.26673100072733151594e-2 * t183 * t58; + const double t188 = t186 * t49 * t53; + const double t190 = t75 * t144 * t53; + const double t193 = -t35 - t135; + const double t196 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.3e1 * t41 * t193 ); + const double t197 = -t193; + const double t200 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t46 * t197 ); + const double t201 = t196 + t200; + const double t203 = t33 * t201 * t53; + const double t205 = t75 * t201 * t53; + const double t208 = 0.2e1 * t132; + const double t210 = 0.2e1 * t188; + const double t213 = 0.1e1 / t8 / t133; + const double t214 = t6 * t213; + const double t216 = t4 * t214 * t16; + const double t218 = t79 * t86; + const double t223 = 0.1e1 / t85 / t15; + const double t224 = t9 * t223; + const double t225 = t96 * t96; + const double t229 = t4 * t214; + const double t230 = t229 / 0.9e1; + const double t232 = 0.1e1 / t13 / t11; + const double t233 = t232 * t101; + const double t236 = t8 * t8; + const double t238 = 0.1e1 / t236 / t133; + const double t240 = t233 * t235 * t238; + const double t243 = t91 * t92 * t213; + const double t245 = t230 - 0.7262222222222222222e0 * t240 + 0.14524444444444444444e1 * t243; + const double t251 = ( t216 / 0.9e1 + t84 * t218 * t96 / 0.6e1 + t84 * t224 * t225 / 0.2e1 - t84 * t87 * t245 / 0.4e1 ) * t101 * t103; + const double t255 = t5 / t236; + const double t256 = t255 * t15; + const double t259 = t105 * t96; + const double t262 = t109 * t22; + const double t263 = 0.1e1 / t262; + const double t264 = t263 * t1; + const double t265 = t264 * t3; + const double t270 = t110 * t232 * t101; + const double t279 = t109 * t109; + const double t281 = 0.1e1 / t279 / t22; + const double t282 = t281 * t1; + const double t283 = t282 * t3; + const double t284 = t114 * t114; + const double t285 = 0.1e1 / t284; + const double t290 = t28 * t86; + const double t291 = t290 * t91; + const double t292 = t79 * t96; + const double t296 = t120 * t232; + const double t298 = t5 * t238; + const double t299 = t297 * t298; + const double t304 = t29 * t223; + const double t308 = t216 / 0.72e2 + t291 * t92 * t292 / 0.3e1 - t296 * t299 / 0.9e1 + 0.2e1 / 0.9e1 * t121 * t229 + 0.2e1 * t304 * t225 - t124 * t245; + const double t309 = t308 * t127; + const double t313 = 0.1e1 / t29 / t28; + const double t314 = t126 * t313; + const double t315 = t15 * t90; + const double t316 = t314 * t315; + const double t321 = 0.10363566666666666667e-1 * t251 * t106 + 0.34545222222222222223e-2 * t104 * t256 + 0.10363566666666666667e-1 * t104 * t259 + 0.51190794422689743247e-1 * t265 * t214 * t115 + 0.10238158884537948649e0 * t270 * t235 * t238 * t115 - 0.20476317769075897299e0 * t112 * t92 * t213 * t115 - 0.10320064155614252239e-3 * t283 * t214 * t285 + 0.44313737677495382697e-2 * t309 * t15 + 0.73856229462492304495e-3 * t316 * t88 + 0.44313737677495382697e-2 * t128 * t96; + const double t322 = t321 * t55; + const double t324 = t131 * t144 * t53; + const double t325 = 0.2e1 * t324; + const double t326 = t41 * t41; + const double t327 = 0.1e1 / t326; + const double t328 = t136 * t136; + const double t331 = t133 * t7; + const double t332 = 0.1e1 / t331; + const double t333 = t34 * t332; + const double t335 = -0.2e1 * t134 + 0.2e1 * t333; + const double t339 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.9e1 * t327 * t328 + 0.4e1 / 0.3e1 * t41 * t335 ); + const double t340 = t46 * t46; + const double t341 = 0.1e1 / t340; + const double t342 = t140 * t140; + const double t345 = -t335; + const double t349 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t341 * t342 + 0.4e1 / 0.3e1 * t46 * t345 ); + const double t350 = t339 + t349; + const double t352 = t33 * t350 * t53; + const double t354 = t4 * t214 * t59; + const double t356 = t79 * t151; + const double t361 = 0.1e1 / t150 / t58; + const double t362 = t9 * t361; + const double t363 = t154 * t154; + const double t369 = t230 - 0.111795e1 * t240 + 0.22359e1 * t243; + const double t375 = ( t354 / 0.9e1 + t84 * t356 * t154 / 0.6e1 + t84 * t362 * t363 / 0.2e1 - t84 * t152 * t369 / 0.4e1 ) * t101 * t103; + const double t378 = t255 * t58; + const double t381 = t105 * t154; + const double t384 = t164 * t65; + const double t385 = 0.1e1 / t384; + const double t386 = t385 * t1; + const double t387 = t386 * t3; + const double t392 = t165 * t232 * t101; + const double t401 = t164 * t164; + const double t403 = 0.1e1 / t401 / t65; + const double t404 = t403 * t1; + const double t405 = t404 * t3; + const double t406 = t169 * t169; + const double t407 = 0.1e1 / t406; + const double t412 = t70 * t151; + const double t413 = t412 * t91; + const double t414 = t79 * t154; + const double t418 = t175 * t232; + const double t423 = t71 * t361; + const double t427 = t354 / 0.72e2 + t413 * t92 * t414 / 0.3e1 - t418 * t299 / 0.9e1 + 0.2e1 / 0.9e1 * t176 * t229 + 0.2e1 * t423 * t363 - t179 * t369; + const double t428 = t427 * t182; + const double t432 = 0.1e1 / t71 / t70; + const double t433 = t181 * t432; + const double t434 = t58 * t90; + const double t435 = t433 * t434; + const double t440 = 0.51817833333333333333e-2 * t375 * t161 + 0.17272611111111111111e-2 * t160 * t378 + 0.51817833333333333333e-2 * t160 * t381 + 0.40281109727029913917e-1 * t387 * t214 * t170 + 0.80562219454059827833e-1 * t392 * t235 * t238 * t170 - 0.16112443890811965567e0 * t167 * t92 * t213 * t170 - 0.55299776073946902743e-1 * t405 * t214 * t407 + 0.26673100072733151594e-2 * t428 * t58 + 0.4445516678788858599e-3 * t435 * t88 + 0.26673100072733151594e-2 * t183 * t154; + const double t442 = t440 * t49 * t53; + const double t444 = t186 * t144 * t53; + const double t445 = 0.2e1 * t444; + const double t447 = t75 * t350 * t53; + const double t451 = t131 * t201 * t53; + const double t452 = t327 * t193; + const double t455 = t41 * t34; + const double t459 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.9e1 * t452 * t136 + 0.8e1 / 0.3e1 * t455 * t332 ); + const double t460 = t341 * t197; + const double t463 = t46 * t34; + const double t467 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t460 * t140 - 0.8e1 / 0.3e1 * t463 * t332 ); + const double t468 = t459 + t467; + const double t470 = t33 * t468 * t53; + const double t472 = t186 * t201 * t53; + const double t474 = t75 * t468 * t53; + const double t479 = 0.2e1 * t451; + const double t480 = t193 * t193; + const double t484 = 0.2e1 * t134 + 0.2e1 * t333; + const double t488 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.9e1 * t327 * t480 + 0.4e1 / 0.3e1 * t41 * t484 ); + const double t489 = t197 * t197; + const double t492 = -t484; + const double t496 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t341 * t489 + 0.4e1 / 0.3e1 * t46 * t492 ); + const double t497 = t488 + t496; + const double t499 = t33 * t497 * t53; + const double t500 = 0.2e1 * t472; + const double t502 = t75 * t497 * t53; + + + v2rho2_aa = t208 - 0.2e1 * t146 + t210 + 0.2e1 * t190 + t7 * ( t322 - t325 - t352 + t442 + t445 + t447 ); + v2rho2_ab = t208 - t146 + t210 + t190 - t203 + t205 + t7 * ( t322 - t324 - t451 - t470 + t442 + t444 + t472 + t474 ); + v2rho2_bb = t208 - 0.2e1 * t203 + t210 + 0.2e1 * t205 + t7 * ( t322 - t479 - t499 + t442 + t500 + t502 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double& vrho_a, double& vrho_b, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb ) { + + constexpr double t1 = constants::m_cbrt_3; + constexpr double t3 = constants::m_cbrt_one_ov_pi; + constexpr double t5 = constants::m_cbrt_4; + constexpr double t50 = constants::m_cbrt_2; + constexpr double t4 = t1 * t3; + constexpr double t6 = t5 * t5; + constexpr double t84 = t4 * t6; + constexpr double t92 = t3 * t6; + constexpr double t101 = t1 * t1; + constexpr double t103 = 0.1e1 / t3; + constexpr double t234 = t3 * t3; + constexpr double t235 = t234 * t5; + constexpr double t297 = t101 * t234; + + + const double t7 = rho_a + rho_b; + const double t8 = safe_math::cbrt( t7 ); + const double t9 = 0.1e1 / t8; + const double t10 = t6 * t9; + const double t11 = t4 * t10; + const double t12 = t11 / 0.4e1; + const double t13 = safe_math::sqrt( t11 ); + const double t15 = t12 + 0.6536e1 * t13 + 0.427198e2; + const double t16 = 0.1e1 / t15; + const double t20 = safe_math::log( t4 * t10 * t16 / 0.4e1 ); + const double t22 = t13 + 0.13072e2; + const double t25 = safe_math::atan( 0.44899888641287296627e-1 / t22 ); + const double t27 = t13 / 0.2e1; + const double t28 = t27 + 0.409286e0; + const double t29 = t28 * t28; + const double t31 = safe_math::log( t29 * t16 ); + const double t33 = 0.310907e-1 * t20 + 0.20521972937837502661e2 * t25 + 0.44313737677495382697e-2 * t31; + const double t34 = rho_a - rho_b; + const double t35 = 0.1e1 / t7; + const double t36 = t34 * t35; + const double t37 = 0.1e1 + t36; + const double t38 = t37 <= zeta_tol; + const double t39 = safe_math::cbrt( zeta_tol ); + const double t40 = t39 * zeta_tol; + const double t41 = safe_math::cbrt( t37 ); + const double t43 = piecewise_functor_3( t38, t40, t41 * t37 ); + const double t44 = 0.1e1 - t36; + const double t45 = t44 <= zeta_tol; + const double t46 = safe_math::cbrt( t44 ); + const double t48 = piecewise_functor_3( t45, t40, t46 * t44 ); + const double t49 = t43 + t48 - 0.2e1; + const double t53 = 0.1e1 / ( 0.2e1 * t50 - 0.2e1 ); + const double t55 = -t49 * t53 + 0.1e1; + const double t56 = t33 * t55; + const double t58 = t12 + 0.1006155e2 * t13 + 0.101578e3; + const double t59 = 0.1e1 / t58; + const double t63 = safe_math::log( t4 * t10 * t59 / 0.4e1 ); + const double t65 = t13 + 0.201231e2; + const double t68 = safe_math::atan( 0.11716852777089929792e1 / t65 ); + const double t70 = t27 + 0.743294e0; + const double t71 = t70 * t70; + const double t73 = safe_math::log( t71 * t59 ); + const double t75 = 0.1554535e-1 * t63 + 0.61881802979060631482e0 * t68 + 0.26673100072733151594e-2 * t73; + const double t77 = t75 * t49 * t53; + const double t79 = 0.1e1 / t8 / t7; + const double t80 = t6 * t79; + const double t85 = t15 * t15; + const double t86 = 0.1e1 / t85; + const double t87 = t9 * t86; + const double t88 = t4 * t80; + const double t89 = t88 / 0.12e2; + const double t90 = 0.1e1 / t13; + const double t91 = t90 * t1; + const double t94 = t91 * t92 * t79; + const double t96 = -t89 - 0.10893333333333333333e1 * t94; + const double t104 = ( -t4 * t80 * t16 / 0.12e2 - t84 * t87 * t96 / 0.4e1 ) * t101 * t103; + const double t105 = t5 * t8; + const double t106 = t105 * t15; + const double t109 = t22 * t22; + const double t110 = 0.1e1 / t109; + const double t112 = t110 * t90 * t1; + const double t114 = 0.2016e-2 * t110 + 0.1e1; + const double t115 = 0.1e1 / t114; + const double t120 = t28 * t16; + const double t121 = t120 * t90; + const double t124 = t29 * t86; + const double t126 = -t121 * t88 / 0.6e1 - t124 * t96; + const double t127 = 0.1e1 / t29; + const double t128 = t126 * t127; + const double t131 = 0.10363566666666666667e-1 * t104 * t106 + 0.15357238326806922974e0 * t112 * t92 * t79 * t115 + 0.44313737677495382697e-2 * t128 * t15; + const double t132 = t131 * t55; + const double t133 = t7 * t7; + const double t134 = 0.1e1 / t133; + const double t135 = t34 * t134; + const double t136 = t35 - t135; + const double t139 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.3e1 * t41 * t136 ); + const double t140 = -t136; + const double t143 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t46 * t140 ); + const double t144 = t139 + t143; + const double t146 = t33 * t144 * t53; + const double t150 = t58 * t58; + const double t151 = 0.1e1 / t150; + const double t152 = t9 * t151; + const double t154 = -t89 - 0.1676925e1 * t94; + const double t160 = ( -t4 * t80 * t59 / 0.12e2 - t84 * t152 * t154 / 0.4e1 ) * t101 * t103; + const double t161 = t105 * t58; + const double t164 = t65 * t65; + const double t165 = 0.1e1 / t164; + const double t167 = t165 * t90 * t1; + const double t169 = 0.137284639e1 * t165 + 0.1e1; + const double t170 = 0.1e1 / t169; + const double t175 = t70 * t59; + const double t176 = t175 * t90; + const double t179 = t71 * t151; + const double t181 = -t176 * t88 / 0.6e1 - t179 * t154; + const double t182 = 0.1e1 / t71; + const double t183 = t181 * t182; + const double t186 = 0.51817833333333333333e-2 * t160 * t161 + 0.12084332918108974175e0 * t167 * t92 * t79 * t170 + 0.26673100072733151594e-2 * t183 * t58; + const double t188 = t186 * t49 * t53; + const double t190 = t75 * t144 * t53; + const double t193 = -t35 - t135; + const double t196 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.3e1 * t41 * t193 ); + const double t197 = -t193; + const double t200 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.3e1 * t46 * t197 ); + const double t201 = t196 + t200; + const double t203 = t33 * t201 * t53; + const double t205 = t75 * t201 * t53; + const double t208 = 0.2e1 * t132; + const double t210 = 0.2e1 * t188; + const double t213 = 0.1e1 / t8 / t133; + const double t214 = t6 * t213; + const double t216 = t4 * t214 * t16; + const double t218 = t79 * t86; + const double t223 = 0.1e1 / t85 / t15; + const double t224 = t9 * t223; + const double t225 = t96 * t96; + const double t229 = t4 * t214; + const double t230 = t229 / 0.9e1; + const double t232 = 0.1e1 / t13 / t11; + const double t233 = t232 * t101; + const double t236 = t8 * t8; + const double t238 = 0.1e1 / t236 / t133; + const double t240 = t233 * t235 * t238; + const double t243 = t91 * t92 * t213; + const double t245 = t230 - 0.7262222222222222222e0 * t240 + 0.14524444444444444444e1 * t243; + const double t251 = ( t216 / 0.9e1 + t84 * t218 * t96 / 0.6e1 + t84 * t224 * t225 / 0.2e1 - t84 * t87 * t245 / 0.4e1 ) * t101 * t103; + const double t255 = t5 / t236; + const double t256 = t255 * t15; + const double t259 = t105 * t96; + const double t262 = t109 * t22; + const double t263 = 0.1e1 / t262; + const double t264 = t263 * t1; + const double t265 = t264 * t3; + const double t270 = t110 * t232 * t101; + const double t279 = t109 * t109; + const double t281 = 0.1e1 / t279 / t22; + const double t282 = t281 * t1; + const double t283 = t282 * t3; + const double t284 = t114 * t114; + const double t285 = 0.1e1 / t284; + const double t290 = t28 * t86; + const double t291 = t290 * t91; + const double t292 = t79 * t96; + const double t296 = t120 * t232; + const double t298 = t5 * t238; + const double t299 = t297 * t298; + const double t304 = t29 * t223; + const double t308 = t216 / 0.72e2 + t291 * t92 * t292 / 0.3e1 - t296 * t299 / 0.9e1 + 0.2e1 / 0.9e1 * t121 * t229 + 0.2e1 * t304 * t225 - t124 * t245; + const double t309 = t308 * t127; + const double t313 = 0.1e1 / t29 / t28; + const double t314 = t126 * t313; + const double t315 = t15 * t90; + const double t316 = t314 * t315; + const double t321 = 0.10363566666666666667e-1 * t251 * t106 + 0.34545222222222222223e-2 * t104 * t256 + 0.10363566666666666667e-1 * t104 * t259 + 0.51190794422689743247e-1 * t265 * t214 * t115 + 0.10238158884537948649e0 * t270 * t235 * t238 * t115 - 0.20476317769075897299e0 * t112 * t92 * t213 * t115 - 0.10320064155614252239e-3 * t283 * t214 * t285 + 0.44313737677495382697e-2 * t309 * t15 + 0.73856229462492304495e-3 * t316 * t88 + 0.44313737677495382697e-2 * t128 * t96; + const double t322 = t321 * t55; + const double t324 = t131 * t144 * t53; + const double t325 = 0.2e1 * t324; + const double t326 = t41 * t41; + const double t327 = 0.1e1 / t326; + const double t328 = t136 * t136; + const double t331 = t133 * t7; + const double t332 = 0.1e1 / t331; + const double t333 = t34 * t332; + const double t335 = -0.2e1 * t134 + 0.2e1 * t333; + const double t339 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.9e1 * t327 * t328 + 0.4e1 / 0.3e1 * t41 * t335 ); + const double t340 = t46 * t46; + const double t341 = 0.1e1 / t340; + const double t342 = t140 * t140; + const double t345 = -t335; + const double t349 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t341 * t342 + 0.4e1 / 0.3e1 * t46 * t345 ); + const double t350 = t339 + t349; + const double t352 = t33 * t350 * t53; + const double t354 = t4 * t214 * t59; + const double t356 = t79 * t151; + const double t361 = 0.1e1 / t150 / t58; + const double t362 = t9 * t361; + const double t363 = t154 * t154; + const double t369 = t230 - 0.111795e1 * t240 + 0.22359e1 * t243; + const double t375 = ( t354 / 0.9e1 + t84 * t356 * t154 / 0.6e1 + t84 * t362 * t363 / 0.2e1 - t84 * t152 * t369 / 0.4e1 ) * t101 * t103; + const double t378 = t255 * t58; + const double t381 = t105 * t154; + const double t384 = t164 * t65; + const double t385 = 0.1e1 / t384; + const double t386 = t385 * t1; + const double t387 = t386 * t3; + const double t392 = t165 * t232 * t101; + const double t401 = t164 * t164; + const double t403 = 0.1e1 / t401 / t65; + const double t404 = t403 * t1; + const double t405 = t404 * t3; + const double t406 = t169 * t169; + const double t407 = 0.1e1 / t406; + const double t412 = t70 * t151; + const double t413 = t412 * t91; + const double t414 = t79 * t154; + const double t418 = t175 * t232; + const double t423 = t71 * t361; + const double t427 = t354 / 0.72e2 + t413 * t92 * t414 / 0.3e1 - t418 * t299 / 0.9e1 + 0.2e1 / 0.9e1 * t176 * t229 + 0.2e1 * t423 * t363 - t179 * t369; + const double t428 = t427 * t182; + const double t432 = 0.1e1 / t71 / t70; + const double t433 = t181 * t432; + const double t434 = t58 * t90; + const double t435 = t433 * t434; + const double t440 = 0.51817833333333333333e-2 * t375 * t161 + 0.17272611111111111111e-2 * t160 * t378 + 0.51817833333333333333e-2 * t160 * t381 + 0.40281109727029913917e-1 * t387 * t214 * t170 + 0.80562219454059827833e-1 * t392 * t235 * t238 * t170 - 0.16112443890811965567e0 * t167 * t92 * t213 * t170 - 0.55299776073946902743e-1 * t405 * t214 * t407 + 0.26673100072733151594e-2 * t428 * t58 + 0.4445516678788858599e-3 * t435 * t88 + 0.26673100072733151594e-2 * t183 * t154; + const double t442 = t440 * t49 * t53; + const double t444 = t186 * t144 * t53; + const double t445 = 0.2e1 * t444; + const double t447 = t75 * t350 * t53; + const double t451 = t131 * t201 * t53; + const double t452 = t327 * t193; + const double t455 = t41 * t34; + const double t459 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.9e1 * t452 * t136 + 0.8e1 / 0.3e1 * t455 * t332 ); + const double t460 = t341 * t197; + const double t463 = t46 * t34; + const double t467 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t460 * t140 - 0.8e1 / 0.3e1 * t463 * t332 ); + const double t468 = t459 + t467; + const double t470 = t33 * t468 * t53; + const double t472 = t186 * t201 * t53; + const double t474 = t75 * t468 * t53; + const double t479 = 0.2e1 * t451; + const double t480 = t193 * t193; + const double t484 = 0.2e1 * t134 + 0.2e1 * t333; + const double t488 = piecewise_functor_3( t38, 0.0, 0.4e1 / 0.9e1 * t327 * t480 + 0.4e1 / 0.3e1 * t41 * t484 ); + const double t489 = t197 * t197; + const double t492 = -t484; + const double t496 = piecewise_functor_3( t45, 0.0, 0.4e1 / 0.9e1 * t341 * t489 + 0.4e1 / 0.3e1 * t46 * t492 ); + const double t497 = t488 + t496; + const double t499 = t33 * t497 * t53; + const double t500 = 0.2e1 * t472; + const double t502 = t75 * t497 * t53; + + + vrho_a = t56 + t77 + t7 * ( t132 - t146 + t188 + t190 ); + vrho_b = t56 + t77 + t7 * ( t132 - t203 + t188 + t205 ); + v2rho2_aa = t208 - 0.2e1 * t146 + t210 + 0.2e1 * t190 + t7 * ( t322 - t325 - t352 + t442 + t445 + t447 ); + v2rho2_ab = t208 - t146 + t210 + t190 - t203 + t205 + t7 * ( t322 - t324 - t451 - t470 + t442 + t444 + t472 + t474 ); + v2rho2_bb = t208 - 0.2e1 * t203 + t210 + 0.2e1 * t205 + t7 * ( t322 - t479 - t499 + t442 + t500 + t502 ); + + } + }; @@ -385,4 +1283,4 @@ struct BuiltinVWN_RPA : detail::BuiltinKernelImpl< BuiltinVWN_RPA > { -} // namespace ExchCXX \ No newline at end of file +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/wb97_xc.hpp b/include/exchcxx/impl/builtin/kernels/wb97_xc.hpp new file mode 100644 index 0000000..03aee6c --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/wb97_xc.hpp @@ -0,0 +1,6886 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinWB97_XC > : + public gga_screening_interface< BuiltinWB97_XC > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_x_0 = 1.00000e+00; + static constexpr double c_x_1 = 1.13116e+00; + static constexpr double c_x_2 = -2.74915e+00; + static constexpr double c_x_3 = 1.20900e+01; + static constexpr double c_x_4 = -5.71642e+00; + static constexpr double c_ss_0 = 1.00000e+00; + static constexpr double c_ss_1 = -2.55352e+00; + static constexpr double c_ss_2 = 1.18926e+01; + static constexpr double c_ss_3 = -2.69452e+01; + static constexpr double c_ss_4 = 1.70927e+01; + static constexpr double c_ab_0 = 1.00000e+00; + static constexpr double c_ab_1 = 3.99051e+00; + static constexpr double c_ab_2 = -1.70066e+01; + static constexpr double c_ab_3 = 1.07292e+00; + static constexpr double c_ab_4 = 8.88211e+00; + static constexpr double alpha = 1.0; + static constexpr double beta = -1.0; + static constexpr double omega = 0.4; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + + + eps = t141 + t245 + t316; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + + + eps = t141 + t245 + t316; + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + + + eps = t146 + t257 + t364 + t449 + t545; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + + + eps = t146 + t257 + t364 + t449 + t545; + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + +}; + +struct BuiltinWB97_XC : detail::BuiltinKernelImpl< BuiltinWB97_XC > { + + BuiltinWB97_XC( Spin p ) : + detail::BuiltinKernelImpl< BuiltinWB97_XC >(p) { } + + virtual ~BuiltinWB97_XC() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/wb97x_d3_xc.hpp b/include/exchcxx/impl/builtin/kernels/wb97x_d3_xc.hpp new file mode 100644 index 0000000..d1a430d --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/wb97x_d3_xc.hpp @@ -0,0 +1,6886 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinWB97X_D3_XC > : + public gga_screening_interface< BuiltinWB97X_D3_XC > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_x_0 = 0.804272; + static constexpr double c_x_1 = 0.698900; + static constexpr double c_x_2 = 0.508940; + static constexpr double c_x_3 = -3.744903; + static constexpr double c_x_4 = 10.060790; + static constexpr double c_ss_0 = 1.00000; + static constexpr double c_ss_1 = -4.868902; + static constexpr double c_ss_2 = 21.295726; + static constexpr double c_ss_3 = -36.020866; + static constexpr double c_ss_4 = 19.177018; + static constexpr double c_ab_0 = 1.00000; + static constexpr double c_ab_1 = 2.433266; + static constexpr double c_ab_2 = -15.446008; + static constexpr double c_ab_3 = 17.644390; + static constexpr double c_ab_4 = -8.879494; + static constexpr double alpha = 1.0; + static constexpr double beta = -0.804272; + static constexpr double omega = 0.25; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + + + eps = t141 + t245 + t316; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + + + eps = t141 + t245 + t316; + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + + + eps = t146 + t257 + t364 + t449 + t545; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + + + eps = t146 + t257 + t364 + t449 + t545; + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + +}; + +struct BuiltinWB97X_D3_XC : detail::BuiltinKernelImpl< BuiltinWB97X_D3_XC > { + + BuiltinWB97X_D3_XC( Spin p ) : + detail::BuiltinKernelImpl< BuiltinWB97X_D3_XC >(p) { } + + virtual ~BuiltinWB97X_D3_XC() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/wb97x_d_xc.hpp b/include/exchcxx/impl/builtin/kernels/wb97x_d_xc.hpp new file mode 100644 index 0000000..3c7321d --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/wb97x_d_xc.hpp @@ -0,0 +1,6886 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinWB97X_D_XC > : + public gga_screening_interface< BuiltinWB97X_D_XC > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_x_0 = 7.77964e-01; + static constexpr double c_x_1 = 6.61160e-01; + static constexpr double c_x_2 = 5.74541e-01; + static constexpr double c_x_3 = -5.25671e+00; + static constexpr double c_x_4 = 1.16386e+01; + static constexpr double c_ss_0 = 1.00000e+00; + static constexpr double c_ss_1 = -6.90539e+00; + static constexpr double c_ss_2 = 3.13343e+01; + static constexpr double c_ss_3 = -5.10533e+01; + static constexpr double c_ss_4 = 2.64423e+01; + static constexpr double c_ab_0 = 1.00000e+00; + static constexpr double c_ab_1 = 1.79413e+00; + static constexpr double c_ab_2 = -1.20477e+01; + static constexpr double c_ab_3 = 1.40847e+01; + static constexpr double c_ab_4 = -8.50809e+00; + static constexpr double alpha = 1.0; + static constexpr double beta = -0.777964; + static constexpr double omega = 0.2; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + + + eps = t141 + t245 + t316; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + + + eps = t141 + t245 + t316; + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + + + eps = t146 + t257 + t364 + t449 + t545; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + + + eps = t146 + t257 + t364 + t449 + t545; + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + +}; + +struct BuiltinWB97X_D_XC : detail::BuiltinKernelImpl< BuiltinWB97X_D_XC > { + + BuiltinWB97X_D_XC( Spin p ) : + detail::BuiltinKernelImpl< BuiltinWB97X_D_XC >(p) { } + + virtual ~BuiltinWB97X_D_XC() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/wb97x_v_xc.hpp b/include/exchcxx/impl/builtin/kernels/wb97x_v_xc.hpp new file mode 100644 index 0000000..3c7c416 --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/wb97x_v_xc.hpp @@ -0,0 +1,6886 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinWB97X_V_XC > : + public gga_screening_interface< BuiltinWB97X_V_XC > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_x_0 = 0.833; + static constexpr double c_x_1 = 0.603; + static constexpr double c_x_2 = 1.194; + static constexpr double c_x_3 = 0.0; + static constexpr double c_x_4 = 0.0; + static constexpr double c_ss_0 = 0.556; + static constexpr double c_ss_1 = -0.257; + static constexpr double c_ss_2 = 0.0; + static constexpr double c_ss_3 = 0.0; + static constexpr double c_ss_4 = 0.0; + static constexpr double c_ab_0 = 1.219; + static constexpr double c_ab_1 = -1.850; + static constexpr double c_ab_2 = 0.0; + static constexpr double c_ab_3 = 0.0; + static constexpr double c_ab_4 = 0.0; + static constexpr double alpha = 1.0; + static constexpr double beta = -0.833; + static constexpr double omega = 0.3; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + + + eps = t141 + t245 + t316; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + + + eps = t141 + t245 + t316; + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + + + eps = t146 + t257 + t364 + t449 + t545; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + + + eps = t146 + t257 + t364 + t449 + t545; + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + +}; + +struct BuiltinWB97X_V_XC : detail::BuiltinKernelImpl< BuiltinWB97X_V_XC > { + + BuiltinWB97X_V_XC( Spin p ) : + detail::BuiltinKernelImpl< BuiltinWB97X_V_XC >(p) { } + + virtual ~BuiltinWB97X_V_XC() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/wb97x_xc.hpp b/include/exchcxx/impl/builtin/kernels/wb97x_xc.hpp new file mode 100644 index 0000000..58bfbab --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/wb97x_xc.hpp @@ -0,0 +1,6886 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinWB97X_XC > : + public gga_screening_interface< BuiltinWB97X_XC > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double c_x_0 = 8.42294e-01; + static constexpr double c_x_1 = 7.26479e-01; + static constexpr double c_x_2 = 1.04760e+00; + static constexpr double c_x_3 = -5.70635e+00; + static constexpr double c_x_4 = 1.32794e+01; + static constexpr double c_ss_0 = 1.00000e+00; + static constexpr double c_ss_1 = -4.33879e+00; + static constexpr double c_ss_2 = 1.82308e+01; + static constexpr double c_ss_3 = -3.17430e+01; + static constexpr double c_ss_4 = 1.72901e+01; + static constexpr double c_ab_0 = 1.00000e+00; + static constexpr double c_ab_1 = 2.37031e+00; + static constexpr double c_ab_2 = -1.13995e+01; + static constexpr double c_ab_3 = 6.58405e+00; + static constexpr double c_ab_4 = -3.78132e+00; + static constexpr double alpha = 1.0; + static constexpr double beta = -0.842294; + static constexpr double omega = 0.3; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + + + eps = t141 + t245 + t316; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + + + eps = t141 + t245 + t316; + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t5 = constants::m_cbrt_3; + constexpr double t7 = constants::m_cbrt_one_ov_pi; + constexpr double t9 = constants::m_cbrt_4; + constexpr double t11 = constants::m_cbrt_2; + constexpr double t8 = t5 * t7; + constexpr double t10 = t9 * t9; + constexpr double t13 = t8 * t10 * t11; + constexpr double t23 = t7 * t7; + constexpr double t84 = c_x_1; + constexpr double t86 = t11 * t11; + constexpr double t100 = c_x_2; + constexpr double t113 = c_x_3; + constexpr double t123 = c_x_4; + constexpr double t143 = t8 * t10; + constexpr double t156 = t5 * t5; + constexpr double t157 = t156 * t23; + constexpr double t158 = t157 * t9; + constexpr double t214 = c_ss_1; + constexpr double t222 = c_ss_2; + constexpr double t229 = c_ss_3; + constexpr double t236 = c_ss_4; + constexpr double t286 = c_ab_1; + constexpr double t294 = c_ab_2; + constexpr double t301 = c_ab_3; + constexpr double t308 = c_ab_4; + constexpr double t567 = t7 * t10; + constexpr double t638 = t84 * t86; + constexpr double t671 = t214 * t86; + constexpr double t696 = t286 * t86; + constexpr double t1104 = t23 * t9; + constexpr double t1224 = t84 * t11; + constexpr double t1265 = t214 * t11; + constexpr double t1298 = t286 * t11; + constexpr double t1333 = t100 * t11; + constexpr double t1368 = t222 * t11; + constexpr double t1398 = t294 * t11; + + + const double t3 = 0.1e1 <= zeta_tol; + const double t4 = rho / 0.2e1 <= dens_tol || t3; + const double t14 = 0.2e1 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t16 = t15 * zeta_tol; + const double t18 = piecewise_functor_3( t14, t16, 0.2e1 * t11 ); + const double t19 = safe_math::cbrt( rho ); + const double t20 = t18 * t19; + const double t21 = safe_math::cbrt( 0.9e1 ); + const double t22 = t21 * t21; + const double t25 = t22 * t23 * omega; + const double t26 = 0.1e1 / t19; + const double t28 = piecewise_functor_3( t14, t15, t11 ); + const double t30 = t11 / t28; + const double t33 = t25 * t5 * t26 * t30 / 0.18e2; + const double t34 = 0.135e1 <= t33; + const double t35 = 0.135e1 < t33; + const double t36 = piecewise_functor_3( t35, t33, 1.35 ); + const double t37 = t36 * t36; + const double t40 = t37 * t37; + const double t41 = 0.1e1 / t40; + const double t43 = t40 * t37; + const double t44 = 0.1e1 / t43; + const double t46 = t40 * t40; + const double t47 = 0.1e1 / t46; + const double t50 = 0.1e1 / t46 / t37; + const double t53 = 0.1e1 / t46 / t40; + const double t56 = 0.1e1 / t46 / t43; + const double t58 = t46 * t46; + const double t59 = 0.1e1 / t58; + const double t62 = piecewise_functor_3( t35, 1.35, t33 ); + const double t63 = safe_math::sqrt( M_PI ); + const double t64 = 0.1e1 / t62; + const double t66 = safe_math::erf( t64 / 0.2e1 ); + const double t68 = t62 * t62; + const double t69 = 0.1e1 / t68; + const double t71 = safe_math::exp( -t69 / 0.4e1 ); + const double t72 = t71 - 0.1e1; + const double t75 = t71 - 0.3e1 / 0.2e1 - 0.2e1 * t68 * t72; + const double t78 = 0.2e1 * t62 * t75 + t63 * t66; + const double t82 = piecewise_functor_3( t34, 0.1e1 / t37 / 0.36e2 - t41 / 0.96e3 + t44 / 0.2688e5 - t47 / 0.82944e6 + t50 / 0.2838528e8 - t53 / 0.107347968e10 + t56 / 0.445906944e11 - t59 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t62 * t78 ); + const double t85 = t84 * sigma; + const double t87 = rho * rho; + const double t88 = t19 * t19; + const double t90 = 0.1e1 / t88 / t87; + const double t91 = t86 * t90; + const double t93 = sigma * t86 * t90; + const double t95 = 0.1e1 + 0.4e-2 * t93; + const double t96 = 0.1e1 / t95; + const double t101 = sigma * sigma; + const double t102 = t100 * t101; + const double t103 = t87 * t87; + const double t104 = t103 * rho; + const double t106 = 0.1e1 / t19 / t104; + const double t107 = t11 * t106; + const double t108 = t95 * t95; + const double t109 = 0.1e1 / t108; + const double t110 = t107 * t109; + const double t114 = t101 * sigma; + const double t115 = t113 * t114; + const double t116 = t103 * t103; + const double t117 = 0.1e1 / t116; + const double t118 = t108 * t95; + const double t119 = 0.1e1 / t118; + const double t120 = t117 * t119; + const double t124 = t101 * t101; + const double t125 = t123 * t124; + const double t126 = t116 * t87; + const double t128 = 0.1e1 / t88 / t126; + const double t129 = t86 * t128; + const double t130 = t108 * t108; + const double t131 = 0.1e1 / t130; + const double t132 = t129 * t131; + const double t135 = c_x_0 + 0.4e-2 * t85 * t91 * t96 + 0.32e-4 * t102 * t110 + 0.256e-6 * t115 * t120 + 0.1024e-8 * t125 * t132; + const double t136 = t82 * t135; + const double t140 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t136 ); + const double t141 = 0.2e1 * t140; + const double t142 = piecewise_functor_3( t3, zeta_tol, 1.0 ); + const double t146 = piecewise_functor_3( t3, 0.1e1 / t15, 1.0 ); + const double t148 = t143 * t26 * t11 * t146; + const double t150 = 0.1e1 + 0.53425e-1 * t148; + const double t151 = safe_math::sqrt( t148 ); + const double t154 = pow_3_2( t148 ); + const double t159 = 0.1e1 / t88; + const double t161 = t146 * t146; + const double t163 = t158 * t159 * t86 * t161; + const double t165 = 0.379785e1 * t151 + 0.8969e0 * t148 + 0.204775e0 * t154 + 0.123235e0 * t163; + const double t168 = 0.1e1 + 0.16081824322151104822e2 / t165; + const double t169 = safe_math::log( t168 ); + const double t171 = 0.62182e-1 * t150 * t169; + const double t173 = piecewise_functor_3( 0.e0 <= zeta_tol, t16, 0.0 ); + const double t177 = 0.1e1 / ( 0.2e1 * t11 - 0.2e1 ); + const double t178 = ( t18 + t173 - 0.2e1 ) * t177; + const double t180 = 0.1e1 + 0.5137e-1 * t148; + const double t185 = 0.705945e1 * t151 + 0.1549425e1 * t148 + 0.420775e0 * t154 + 0.1562925e0 * t163; + const double t188 = 0.1e1 + 0.32164683177870697974e2 / t185; + const double t189 = safe_math::log( t188 ); + const double t193 = 0.1e1 + 0.278125e-1 * t148; + const double t198 = 0.51785e1 * t151 + 0.905775e0 * t148 + 0.1100325e0 * t154 + 0.1241775e0 * t163; + const double t201 = 0.1e1 + 0.29608574643216675549e2 / t198; + const double t202 = safe_math::log( t201 ); + const double t203 = t193 * t202; + const double t212 = piecewise_functor_3( t4, 0.0, t142 * ( -t171 + t178 * ( -0.3109e-1 * t180 * t189 + t171 - 0.19751789702565206229e-1 * t203 ) + 0.19751789702565206229e-1 * t178 * t203 ) / 0.2e1 ); + const double t215 = t214 * sigma; + const double t217 = 0.1e1 + 0.2e0 * t93; + const double t218 = 0.1e1 / t217; + const double t223 = t222 * t101; + const double t224 = t217 * t217; + const double t225 = 0.1e1 / t224; + const double t226 = t107 * t225; + const double t230 = t229 * t114; + const double t231 = t224 * t217; + const double t232 = 0.1e1 / t231; + const double t233 = t117 * t232; + const double t237 = t236 * t124; + const double t238 = t224 * t224; + const double t239 = 0.1e1 / t238; + const double t240 = t129 * t239; + const double t243 = c_ss_0 + 0.2e0 * t215 * t91 * t218 + 0.8e-1 * t223 * t226 + 0.32e-1 * t230 * t233 + 0.64e-2 * t237 * t240; + const double t245 = 0.2e1 * t212 * t243; + const double t247 = t8 * t10 * t26; + const double t249 = 0.1e1 + 0.53425e-1 * t247; + const double t250 = safe_math::sqrt( t247 ); + const double t253 = pow_3_2( t247 ); + const double t256 = t157 * t9 * t159; + const double t258 = 0.379785e1 * t250 + 0.8969e0 * t247 + 0.204775e0 * t253 + 0.123235e0 * t256; + const double t261 = 0.1e1 + 0.16081824322151104822e2 / t258; + const double t262 = safe_math::log( t261 ); + const double t265 = piecewise_functor_3( t3, t16, 1.0 ); + const double t268 = ( 0.2e1 * t265 - 0.2e1 ) * t177; + const double t270 = 0.1e1 + 0.278125e-1 * t247; + const double t275 = 0.51785e1 * t250 + 0.905775e0 * t247 + 0.1100325e0 * t253 + 0.1241775e0 * t256; + const double t278 = 0.1e1 + 0.29608574643216675549e2 / t275; + const double t279 = safe_math::log( t278 ); + const double t284 = -0.62182e-1 * t249 * t262 + 0.19751789702565206229e-1 * t268 * t270 * t279 - 0.2e1 * t212; + const double t287 = t286 * sigma; + const double t289 = 0.1e1 + 0.6e-2 * t93; + const double t290 = 0.1e1 / t289; + const double t295 = t294 * t101; + const double t296 = t289 * t289; + const double t297 = 0.1e1 / t296; + const double t298 = t107 * t297; + const double t302 = t301 * t114; + const double t303 = t296 * t289; + const double t304 = 0.1e1 / t303; + const double t305 = t117 * t304; + const double t309 = t308 * t124; + const double t310 = t296 * t296; + const double t311 = 0.1e1 / t310; + const double t312 = t129 * t311; + const double t315 = c_ab_0 + 0.6e-2 * t287 * t91 * t290 + 0.72e-4 * t295 * t298 + 0.864e-6 * t302 * t305 + 0.5184e-8 * t309 * t312; + const double t316 = t284 * t315; + const double t317 = t18 * t159; + const double t321 = t37 * t36; + const double t322 = 0.1e1 / t321; + const double t324 = 0.1e1 / t19 / rho; + const double t328 = t25 * t5 * t324 * t30 / 0.54e2; + const double t329 = piecewise_functor_3( t35, -t328, 0.0 ); + const double t332 = t40 * t36; + const double t333 = 0.1e1 / t332; + const double t336 = t40 * t321; + const double t337 = 0.1e1 / t336; + const double t341 = 0.1e1 / t46 / t36; + const double t345 = 0.1e1 / t46 / t321; + const double t349 = 0.1e1 / t46 / t332; + const double t353 = 0.1e1 / t46 / t336; + const double t357 = 0.1e1 / t58 / t36; + const double t361 = piecewise_functor_3( t35, 0.0, -t328 ); + const double t363 = t71 * t69; + const double t367 = t68 * t62; + const double t368 = 0.1e1 / t367; + const double t372 = t62 * t72; + const double t377 = t368 * t361 * t71 / 0.2e1 - 0.4e1 * t372 * t361 - t64 * t361 * t71; + const double t380 = -t363 * t361 + 0.2e1 * t361 * t75 + 0.2e1 * t62 * t377; + const double t384 = piecewise_functor_3( t34, -t322 * t329 / 0.18e2 + t333 * t329 / 0.24e3 - t337 * t329 / 0.448e4 + t341 * t329 / 0.10368e6 - t345 * t329 / 0.2838528e7 + t349 * t329 / 0.8945664e8 - t353 * t329 / 0.31850496e10 + t357 * t329 / 0.1263403008e12, -0.8e1 / 0.3e1 * t361 * t78 - 0.8e1 / 0.3e1 * t62 * t380 ); + const double t385 = t384 * t135; + const double t389 = t87 * rho; + const double t391 = 0.1e1 / t88 / t389; + const double t392 = t86 * t391; + const double t396 = t84 * t101; + const double t397 = t103 * t87; + const double t399 = 0.1e1 / t19 / t397; + const double t400 = t11 * t399; + const double t401 = t400 * t109; + const double t406 = t100 * t114; + const double t407 = t116 * rho; + const double t408 = 0.1e1 / t407; + const double t409 = t408 * t119; + const double t414 = t113 * t124; + const double t415 = t116 * t389; + const double t417 = 0.1e1 / t88 / t415; + const double t419 = t417 * t131 * t86; + const double t424 = t124 * sigma; + const double t425 = t123 * t424; + const double t426 = t116 * t397; + const double t429 = t11 / t19 / t426; + const double t431 = 0.1e1 / t130 / t95; + const double t432 = t429 * t431; + const double t435 = -0.10666666666666666667e-1 * t85 * t392 * t96 + 0.85333333333333333336e-4 * t396 * t401 - 0.17066666666666666667e-3 * t102 * t401 + 0.13653333333333333334e-5 * t406 * t409 - 0.2048e-5 * t115 * t409 + 0.81920000000000000003e-8 * t414 * t419 - 0.10922666666666666667e-7 * t125 * t419 + 0.87381333333333333336e-10 * t425 * t432; + const double t436 = t82 * t435; + const double t441 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t136 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t385 - 0.3e1 / 0.64e2 * t13 * t20 * t436 ); + const double t443 = t324 * t11; + const double t444 = t146 * t169; + const double t447 = 0.11073577833333333333e-2 * t143 * t443 * t444; + const double t448 = t165 * t165; + const double t449 = 0.1e1 / t448; + const double t450 = t150 * t449; + const double t453 = 0.1e1 / t151 * t5 * t7; + const double t454 = t10 * t324; + const double t455 = t11 * t146; + const double t456 = t454 * t455; + const double t457 = t453 * t456; + const double t459 = t443 * t146; + const double t460 = t143 * t459; + const double t462 = safe_math::sqrt( t148 ); + const double t464 = t462 * t5 * t7; + const double t465 = t464 * t456; + const double t468 = 0.1e1 / t88 / rho; + const double t471 = t158 * t468 * t86 * t161; + const double t473 = -0.632975e0 * t457 - 0.29896666666666666667e0 * t460 - 0.1023875e0 * t465 - 0.82156666666666666667e-1 * t471; + const double t474 = 0.1e1 / t168; + const double t475 = t473 * t474; + const double t477 = 0.1e1 * t450 * t475; + const double t478 = t146 * t189; + const double t482 = t185 * t185; + const double t483 = 0.1e1 / t482; + const double t484 = t180 * t483; + const double t489 = -0.1176575e1 * t457 - 0.516475e0 * t460 - 0.2103875e0 * t465 - 0.104195e0 * t471; + const double t490 = 0.1e1 / t188; + const double t491 = t489 * t490; + const double t494 = t146 * t202; + const double t498 = t198 * t198; + const double t499 = 0.1e1 / t498; + const double t500 = t193 * t499; + const double t505 = -0.86308333333333333334e0 * t457 - 0.301925e0 * t460 - 0.5501625e-1 * t465 - 0.82785e-1 * t471; + const double t506 = 0.1e1 / t201; + const double t507 = t505 * t506; + const double t512 = t178 * t8; + const double t513 = t455 * t202; + const double t517 = t178 * t193; + const double t519 = t499 * t505 * t506; + const double t525 = piecewise_functor_3( t4, 0.0, t142 * ( t447 + t477 + t178 * ( 0.53236443333333333332e-3 * t143 * t443 * t478 + 0.1e1 * t484 * t491 - t447 - t477 + 0.18311555036753159941e-3 * t143 * t443 * t494 + 0.58482233974552040708e0 * t500 * t507 ) - 0.18311555036753159941e-3 * t512 * t454 * t513 - 0.58482233974552040708e0 * t517 * t519 ) / 0.2e1 ); + const double t526 = t525 * t243; + const double t531 = t214 * t101; + const double t532 = t400 * t225; + const double t537 = t222 * t114; + const double t538 = t408 * t232; + const double t543 = t229 * t124; + const double t545 = t417 * t239 * t86; + const double t550 = t236 * t424; + const double t552 = 0.1e1 / t238 / t217; + const double t553 = t429 * t552; + const double t556 = -0.53333333333333333333e0 * t215 * t392 * t218 + 0.21333333333333333334e0 * t531 * t532 - 0.42666666666666666667e0 * t223 * t532 + 0.17066666666666666667e0 * t537 * t538 - 0.256e0 * t230 * t538 + 0.512e-1 * t543 * t545 - 0.68266666666666666667e-1 * t237 * t545 + 0.27306666666666666668e-1 * t550 * t553; + const double t557 = t212 * t556; + const double t562 = t258 * t258; + const double t563 = 0.1e1 / t562; + const double t564 = t249 * t563; + const double t566 = 0.1e1 / t250 * t5; + const double t568 = t567 * t324; + const double t569 = t566 * t568; + const double t571 = t8 * t454; + const double t573 = safe_math::sqrt( t247 ); + const double t574 = t573 * t5; + const double t575 = t574 * t568; + const double t578 = t157 * t9 * t468; + const double t580 = -0.632975e0 * t569 - 0.29896666666666666667e0 * t571 - 0.1023875e0 * t575 - 0.82156666666666666667e-1 * t578; + const double t581 = 0.1e1 / t261; + const double t582 = t580 * t581; + const double t585 = t268 * t5; + const double t590 = t268 * t270; + const double t591 = t275 * t275; + const double t592 = 0.1e1 / t591; + const double t597 = -0.86308333333333333334e0 * t569 - 0.301925e0 * t571 - 0.5501625e-1 * t575 - 0.82785e-1 * t578; + const double t599 = 0.1e1 / t278; + const double t600 = t592 * t597 * t599; + const double t604 = 0.11073577833333333333e-2 * t8 * t454 * t262 + 0.1e1 * t564 * t582 - 0.18311555036753159941e-3 * t585 * t567 * t324 * t279 - 0.58482233974552040708e0 * t590 * t600 - 0.2e1 * t525; + const double t605 = t604 * t315; + const double t609 = t286 * t101; + const double t610 = t400 * t297; + const double t615 = t294 * t114; + const double t616 = t408 * t304; + const double t621 = t301 * t124; + const double t623 = t417 * t311 * t86; + const double t628 = t308 * t424; + const double t630 = 0.1e1 / t310 / t289; + const double t631 = t429 * t630; + const double t634 = -0.16e-1 * t287 * t392 * t290 + 0.192e-3 * t609 * t610 - 0.384e-3 * t295 * t610 + 0.4608e-5 * t615 * t616 - 0.6912e-5 * t302 * t616 + 0.41472e-7 * t621 * t623 - 0.55296e-7 * t309 * t623 + 0.663552e-9 * t628 * t631; + const double t635 = t284 * t634; + const double t644 = t100 * sigma; + const double t649 = t113 * t101; + const double t654 = t123 * t114; + const double t657 = t116 * t104; + const double t660 = t11 / t19 / t657; + const double t661 = t660 * t431; + const double t664 = 0.4e-2 * t638 * t90 * t96 - 0.32e-4 * t85 * t110 + 0.64e-4 * t644 * t110 - 0.512e-6 * t102 * t120 + 0.768e-6 * t649 * t120 - 0.3072e-8 * t115 * t132 + 0.4096e-8 * t654 * t132 - 0.32768e-10 * t125 * t661; + const double t665 = t82 * t664; + const double t669 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t665 ); + const double t670 = 0.2e1 * t669; + const double t677 = t222 * sigma; + const double t682 = t229 * t101; + const double t687 = t236 * t114; + const double t690 = t660 * t552; + const double t693 = 0.2e0 * t671 * t90 * t218 - 0.8e-1 * t215 * t226 + 0.16e0 * t677 * t226 - 0.64e-1 * t223 * t233 + 0.96e-1 * t682 * t233 - 0.192e-1 * t230 * t240 + 0.256e-1 * t687 * t240 - 0.1024e-1 * t237 * t690; + const double t695 = 0.2e1 * t212 * t693; + const double t702 = t294 * sigma; + const double t707 = t301 * t101; + const double t712 = t308 * t114; + const double t715 = t660 * t630; + const double t718 = 0.6e-2 * t696 * t90 * t290 - 0.72e-4 * t287 * t298 + 0.144e-3 * t702 * t298 - 0.1728e-5 * t295 * t305 + 0.2592e-5 * t707 * t305 - 0.15552e-7 * t302 * t312 + 0.20736e-7 * t712 * t312 - 0.248832e-9 * t309 * t715; + const double t719 = t284 * t718; + const double t726 = t18 * t468; + const double t736 = t329 * t329; + const double t740 = 0.1e1 / t19 / t87; + const double t744 = 0.2e1 / 0.81e2 * t25 * t5 * t740 * t30; + const double t745 = piecewise_functor_3( t35, t744, 0.0 ); + const double t773 = 0.1e1 / t58 / t37; + const double t778 = t41 * t736 / 0.6e1 - t322 * t745 / 0.18e2 - t44 * t736 / 0.48e2 + t333 * t745 / 0.24e3 + t47 * t736 / 0.64e3 - t337 * t745 / 0.448e4 - t50 * t736 / 0.1152e5 + t341 * t745 / 0.10368e6 + t53 * t736 / 0.258048e6 - t345 * t745 / 0.2838528e7 - t56 * t736 / 0.688128e7 + t349 * t745 / 0.8945664e8 + t59 * t736 / 0.21233664e9 - t353 * t745 / 0.31850496e10 - t773 * t736 / 0.74317824e10 + t357 * t745 / 0.1263403008e12; + const double t779 = piecewise_functor_3( t35, 0.0, t744 ); + const double t784 = t68 * t68; + const double t786 = 0.1e1 / t784 / t62; + const double t787 = t361 * t361; + const double t788 = t786 * t787; + const double t791 = t71 * t368; + const double t799 = 0.1e1 / t784; + const double t807 = 0.1e1 / t784 / t68; + const double t808 = t807 * t787; + const double t819 = -0.2e1 * t799 * t787 * t71 + t368 * t779 * t71 / 0.2e1 + t808 * t71 / 0.4e1 - 0.4e1 * t787 * t72 - t69 * t787 * t71 - 0.4e1 * t372 * t779 - t64 * t779 * t71; + const double t822 = -t788 * t71 / 0.2e1 + 0.2e1 * t791 * t787 - t363 * t779 + 0.2e1 * t779 * t75 + 0.4e1 * t361 * t377 + 0.2e1 * t62 * t819; + const double t826 = piecewise_functor_3( t34, t778, -0.8e1 / 0.3e1 * t779 * t78 - 0.16e2 / 0.3e1 * t361 * t380 - 0.8e1 / 0.3e1 * t62 * t822 ); + const double t827 = t826 * t135; + const double t831 = t384 * t435; + const double t836 = 0.1e1 / t88 / t103; + const double t837 = t86 * t836; + const double t841 = t103 * t389; + const double t843 = 0.1e1 / t19 / t841; + const double t844 = t11 * t843; + const double t845 = t844 * t109; + const double t848 = t84 * t114; + const double t849 = 0.1e1 / t126; + const double t850 = t849 * t119; + const double t857 = t100 * t124; + const double t858 = t116 * t103; + const double t860 = 0.1e1 / t88 / t858; + const double t862 = t860 * t131 * t86; + const double t869 = t113 * t424; + const double t872 = 0.1e1 / t19 / t116 / t841; + const double t874 = t872 * t431 * t11; + const double t881 = t124 * t101; + const double t882 = t123 * t881; + const double t883 = t116 * t116; + const double t884 = t883 * t87; + const double t885 = 0.1e1 / t884; + const double t887 = 0.1e1 / t130 / t108; + const double t888 = t885 * t887; + const double t891 = 0.39111111111111111112e-1 * t85 * t837 * t96 - 0.76800000000000000003e-3 * t396 * t845 + 0.36408888888888888891e-5 * t848 * t850 + 0.10808888888888888889e-2 * t102 * t845 - 0.19569777777777777779e-4 * t406 * t850 + 0.4369066666666666667e-7 * t857 * t862 + 0.18432e-4 * t115 * t850 - 0.16110933333333333334e-6 * t414 * t862 + 0.69905066666666666671e-9 * t869 * t874 + 0.12743111111111111112e-6 * t125 * t862 - 0.21845333333333333334e-8 * t425 * t874 + 0.93206755555555555561e-11 * t882 * t888; + const double t892 = t82 * t891; + const double t897 = piecewise_functor_3( t4, 0.0, t13 * t726 * t136 / 0.96e2 - t13 * t317 * t385 / 0.32e2 - t13 * t317 * t436 / 0.32e2 - 0.3e1 / 0.64e2 * t13 * t20 * t827 - 0.3e1 / 0.32e2 * t13 * t20 * t831 - 0.3e1 / 0.64e2 * t13 * t20 * t892 ); + const double t899 = t740 * t11; + const double t902 = 0.14764770444444444444e-2 * t143 * t899 * t444; + const double t905 = t455 * t449 * t473 * t474; + const double t907 = 0.35616666666666666667e-1 * t571 * t905; + const double t908 = t448 * t165; + const double t909 = 0.1e1 / t908; + const double t910 = t150 * t909; + const double t911 = t473 * t473; + const double t912 = t911 * t474; + const double t914 = 0.2e1 * t910 * t912; + const double t918 = 0.1e1 / t151 / t148 * t156 * t23; + const double t919 = t9 * t90; + const double t920 = t86 * t161; + const double t921 = t919 * t920; + const double t922 = t918 * t921; + const double t924 = t10 * t740; + const double t925 = t924 * t455; + const double t926 = t453 * t925; + const double t928 = t899 * t146; + const double t929 = t143 * t928; + const double t931 = 0.1e1/safe_math::sqrt( t148 ); + const double t933 = t931 * t156 * t23; + const double t934 = t933 * t921; + const double t936 = t464 * t925; + const double t939 = t158 * t91 * t161; + const double t941 = -0.42198333333333333333e0 * t922 + 0.84396666666666666666e0 * t926 + 0.39862222222222222223e0 * t929 + 0.68258333333333333333e-1 * t934 + 0.13651666666666666667e0 * t936 + 0.13692777777777777778e0 * t939; + const double t944 = 0.1e1 * t450 * t941 * t474; + const double t945 = t448 * t448; + const double t946 = 0.1e1 / t945; + const double t947 = t150 * t946; + const double t948 = t168 * t168; + const double t949 = 0.1e1 / t948; + const double t950 = t911 * t949; + const double t952 = 0.16081824322151104822e2 * t947 * t950; + const double t958 = t455 * t483 * t489 * t490; + const double t961 = t482 * t185; + const double t962 = 0.1e1 / t961; + const double t963 = t180 * t962; + const double t964 = t489 * t489; + const double t965 = t964 * t490; + const double t974 = -0.78438333333333333333e0 * t922 + 0.15687666666666666667e1 * t926 + 0.68863333333333333333e0 * t929 + 0.14025833333333333333e0 * t934 + 0.28051666666666666667e0 * t936 + 0.17365833333333333333e0 * t939; + const double t978 = t482 * t482; + const double t979 = 0.1e1 / t978; + const double t980 = t180 * t979; + const double t981 = t188 * t188; + const double t982 = 0.1e1 / t981; + const double t989 = t455 * t519; + const double t992 = t498 * t198; + const double t993 = 0.1e1 / t992; + const double t994 = t193 * t993; + const double t995 = t505 * t505; + const double t996 = t995 * t506; + const double t1005 = -0.57538888888888888889e0 * t922 + 0.11507777777777777778e1 * t926 + 0.40256666666666666667e0 * t929 + 0.366775e-1 * t934 + 0.73355e-1 * t936 + 0.137975e0 * t939; + const double t1006 = t1005 * t506; + const double t1009 = t498 * t498; + const double t1010 = 0.1e1 / t1009; + const double t1011 = t193 * t1010; + const double t1012 = t201 * t201; + const double t1013 = 0.1e1 / t1012; + const double t1014 = t995 * t1013; + const double t1017 = -0.70981924444444444442e-3 * t143 * t899 * t478 - 0.34246666666666666666e-1 * t571 * t958 - 0.2e1 * t963 * t965 + 0.1e1 * t484 * t974 * t490 + 0.32164683177870697974e2 * t980 * t964 * t982 + t902 + t907 + t914 - t944 - t952 - 0.24415406715670879921e-3 * t143 * t899 * t494 - 0.10843580882781524214e-1 * t571 * t989 - 0.11696446794910408142e1 * t994 * t996 + 0.58482233974552040708e0 * t500 * t1006 + 0.17315755899375863299e2 * t1011 * t1014; + const double t1022 = t178 * t143; + const double t1027 = t993 * t995 * t506; + const double t1031 = t499 * t1005 * t506; + const double t1034 = t1010 * t995; + const double t1035 = t1034 * t1013; + const double t1038 = -t902 - t907 - t914 + t944 + t952 + t178 * t1017 + 0.24415406715670879921e-3 * t512 * t924 * t513 + 0.10843580882781524214e-1 * t1022 * t459 * t519 + 0.11696446794910408142e1 * t517 * t1027 - 0.58482233974552040708e0 * t517 * t1031 - 0.17315755899375863299e2 * t517 * t1035; + const double t1041 = piecewise_functor_3( t4, 0.0, t142 * t1038 / 0.2e1 ); + const double t1042 = t1041 * t243; + const double t1044 = t525 * t556; + const double t1049 = t844 * t225; + const double t1052 = t214 * t114; + const double t1053 = t849 * t232; + const double t1060 = t222 * t124; + const double t1062 = t860 * t239 * t86; + const double t1069 = t229 * t424; + const double t1071 = t872 * t552 * t11; + const double t1078 = t236 * t881; + const double t1080 = 0.1e1 / t238 / t224; + const double t1081 = t885 * t1080; + const double t1084 = 0.19555555555555555555e1 * t215 * t837 * t218 - 0.19200000000000000001e1 * t531 * t1049 + 0.45511111111111111114e0 * t1052 * t1053 + 0.27022222222222222222e1 * t223 * t1049 - 0.24462222222222222223e1 * t537 * t1053 + 0.27306666666666666667e0 * t1060 * t1062 + 0.2304e1 * t230 * t1053 - 0.10069333333333333333e1 * t543 * t1062 + 0.21845333333333333334e0 * t1069 * t1071 + 0.79644444444444444445e0 * t237 * t1062 - 0.68266666666666666669e0 * t550 * t1071 + 0.14563555555555555557e0 * t1078 * t1081; + const double t1085 = t212 * t1084; + const double t1090 = t324 * t563; + const double t1094 = t562 * t258; + const double t1095 = 0.1e1 / t1094; + const double t1096 = t249 * t1095; + const double t1097 = t580 * t580; + const double t1098 = t1097 * t581; + const double t1103 = 0.1e1 / t250 / t247 * t156; + const double t1105 = t1104 * t90; + const double t1106 = t1103 * t1105; + const double t1108 = t567 * t740; + const double t1109 = t566 * t1108; + const double t1111 = t8 * t924; + const double t1113 = 0.1e1/safe_math::sqrt( t247 ); + const double t1114 = t1113 * t156; + const double t1115 = t1114 * t1105; + const double t1117 = t574 * t1108; + const double t1119 = t157 * t919; + const double t1121 = -0.42198333333333333333e0 * t1106 + 0.84396666666666666666e0 * t1109 + 0.39862222222222222223e0 * t1111 + 0.68258333333333333333e-1 * t1115 + 0.13651666666666666667e0 * t1117 + 0.13692777777777777778e0 * t1119; + const double t1122 = t1121 * t581; + const double t1125 = t562 * t562; + const double t1126 = 0.1e1 / t1125; + const double t1127 = t249 * t1126; + const double t1128 = t261 * t261; + const double t1129 = 0.1e1 / t1128; + const double t1130 = t1097 * t1129; + const double t1137 = t268 * t8; + const double t1141 = t591 * t275; + const double t1142 = 0.1e1 / t1141; + const double t1143 = t597 * t597; + const double t1145 = t1142 * t1143 * t599; + const double t1154 = -0.57538888888888888889e0 * t1106 + 0.11507777777777777778e1 * t1109 + 0.40256666666666666667e0 * t1111 + 0.366775e-1 * t1115 + 0.73355e-1 * t1117 + 0.137975e0 * t1119; + const double t1156 = t592 * t1154 * t599; + const double t1159 = t591 * t591; + const double t1160 = 0.1e1 / t1159; + const double t1161 = t1160 * t1143; + const double t1162 = t278 * t278; + const double t1163 = 0.1e1 / t1162; + const double t1164 = t1161 * t1163; + const double t1168 = -0.14764770444444444444e-2 * t8 * t924 * t262 - 0.35616666666666666667e-1 * t143 * t1090 * t582 - 0.2e1 * t1096 * t1098 + 0.1e1 * t564 * t1122 + 0.16081824322151104822e2 * t1127 * t1130 + 0.24415406715670879921e-3 * t585 * t567 * t740 * t279 + 0.10843580882781524214e-1 * t1137 * t454 * t600 + 0.11696446794910408142e1 * t590 * t1145 - 0.58482233974552040708e0 * t590 * t1156 - 0.17315755899375863299e2 * t590 * t1164 - 0.2e1 * t1041; + const double t1169 = t1168 * t315; + const double t1170 = t604 * t634; + const double t1175 = t844 * t297; + const double t1178 = t286 * t114; + const double t1179 = t849 * t304; + const double t1186 = t294 * t124; + const double t1188 = t860 * t311 * t86; + const double t1195 = t301 * t424; + const double t1197 = t872 * t630 * t11; + const double t1204 = t308 * t881; + const double t1206 = 0.1e1 / t310 / t296; + const double t1207 = t885 * t1206; + const double t1210 = 0.58666666666666666667e-1 * t287 * t837 * t290 - 0.1728e-2 * t609 * t1175 + 0.12288e-4 * t1178 * t1179 + 0.2432e-2 * t295 * t1175 - 0.66048e-4 * t615 * t1179 + 0.221184e-6 * t1186 * t1188 + 0.62208e-4 * t302 * t1179 - 0.815616e-6 * t621 * t1188 + 0.5308416e-8 * t1195 * t1197 + 0.64512e-6 * t309 * t1188 - 0.165888e-7 * t628 * t1197 + 0.10616832e-9 * t1204 * t1207; + const double t1211 = t284 * t1210; + const double t1217 = t384 * t664; + const double t1225 = t399 * t109; + const double t1247 = t883 * rho; + const double t1248 = 0.1e1 / t1247; + const double t1249 = t1248 * t887; + const double t1252 = -0.10666666666666666667e-1 * t638 * t391 * t96 + 0.25600000000000000001e-3 * t1224 * t1225 * sigma - 0.13653333333333333334e-5 * t396 * t409 - 0.34133333333333333333e-3 * t644 * t401 + 0.68266666666666666668e-5 * t102 * t409 - 0.16384000000000000001e-7 * t406 * t419 - 0.6144e-5 * t649 * t409 + 0.57344000000000000001e-7 * t115 * t419 - 0.26214400000000000001e-9 * t414 * t432 - 0.43690666666666666667e-7 * t654 * t419 + 0.78643200000000000001e-9 * t125 * t432 - 0.34952533333333333334e-11 * t425 * t1249; + const double t1253 = t82 * t1252; + const double t1258 = piecewise_functor_3( t4, 0.0, -t13 * t317 * t665 / 0.64e2 - 0.3e1 / 0.64e2 * t13 * t20 * t1217 - 0.3e1 / 0.64e2 * t13 * t20 * t1253 ); + const double t1260 = t525 * t693; + const double t1266 = t399 * t225; + const double t1288 = t1248 * t1080; + const double t1291 = -0.53333333333333333333e0 * t671 * t391 * t218 + 0.64000000000000000001e0 * t1265 * t1266 * sigma - 0.17066666666666666667e0 * t531 * t538 - 0.85333333333333333333e0 * t677 * t532 + 0.85333333333333333334e0 * t223 * t538 - 0.1024e0 * t537 * t545 - 0.768e0 * t682 * t538 + 0.3584e0 * t230 * t545 - 0.81920000000000000003e-1 * t543 * t553 - 0.27306666666666666667e0 * t687 * t545 + 0.24576e0 * t237 * t553 - 0.54613333333333333335e-1 * t550 * t1288; + const double t1292 = t212 * t1291; + const double t1294 = t604 * t718; + const double t1299 = t399 * t297; + const double t1321 = t1248 * t1206; + const double t1324 = -0.16e-1 * t696 * t391 * t290 + 0.576e-3 * t1298 * t1299 * sigma - 0.4608e-5 * t609 * t616 - 0.768e-3 * t702 * t610 + 0.2304e-4 * t295 * t616 - 0.82944e-7 * t615 * t623 - 0.20736e-4 * t707 * t616 + 0.290304e-6 * t302 * t623 - 0.1990656e-8 * t621 * t631 - 0.221184e-6 * t712 * t623 + 0.5971968e-8 * t309 * t631 - 0.3981312e-10 * t628 * t1321; + const double t1325 = t284 * t1324; + const double t1328 = t106 * t109; + const double t1340 = t113 * sigma; + const double t1347 = t123 * t101; + const double t1352 = 0.1e1 / t883; + const double t1353 = t1352 * t887; + const double t1356 = -0.64e-4 * t1224 * t1328 + 0.512e-6 * t85 * t120 + 0.64e-4 * t1333 * t1328 - 0.2048e-5 * t644 * t120 + 0.6144e-8 * t102 * t132 + 0.1536e-5 * t1340 * t120 - 0.18432e-7 * t649 * t132 + 0.98304e-10 * t115 * t661 + 0.12288e-7 * t1347 * t132 - 0.262144e-9 * t654 * t661 + 0.131072e-11 * t125 * t1353; + const double t1357 = t82 * t1356; + const double t1361 = piecewise_functor_3( t4, 0.0, -0.3e1 / 0.64e2 * t13 * t20 * t1357 ); + const double t1362 = 0.2e1 * t1361; + const double t1363 = t106 * t225; + const double t1375 = t229 * sigma; + const double t1382 = t236 * t101; + const double t1387 = t1352 * t1080; + const double t1390 = -0.16e0 * t1265 * t1363 + 0.64e-1 * t215 * t233 + 0.16e0 * t1368 * t1363 - 0.256e0 * t677 * t233 + 0.384e-1 * t223 * t240 + 0.192e0 * t1375 * t233 - 0.1152e0 * t682 * t240 + 0.3072e-1 * t230 * t690 + 0.768e-1 * t1382 * t240 - 0.8192e-1 * t687 * t690 + 0.2048e-1 * t237 * t1387; + const double t1392 = 0.2e1 * t212 * t1390; + const double t1393 = t106 * t297; + const double t1405 = t301 * sigma; + const double t1412 = t308 * t101; + const double t1417 = t1352 * t1206; + const double t1420 = -0.144e-3 * t1298 * t1393 + 0.1728e-5 * t287 * t305 + 0.144e-3 * t1398 * t1393 - 0.6912e-5 * t702 * t305 + 0.31104e-7 * t295 * t312 + 0.5184e-5 * t1405 * t305 - 0.93312e-7 * t707 * t312 + 0.746496e-9 * t302 * t715 + 0.62208e-7 * t1412 * t312 - 0.1990656e-8 * t712 * t715 + 0.1492992e-10 * t309 * t1417; + const double t1421 = t284 * t1420; + + + vrho = t141 + t245 + t316 + rho * ( 0.2e1 * t441 + 0.2e1 * t526 + 0.2e1 * t557 + t605 + t635 ); + vsigma = rho * ( t670 + t695 + t719 ); + v2rho2 = 0.4e1 * t441 + 0.4e1 * t526 + 0.4e1 * t557 + 0.2e1 * t605 + 0.2e1 * t635 + rho * ( 0.2e1 * t897 + 0.2e1 * t1042 + 0.4e1 * t1044 + 0.2e1 * t1085 + t1169 + 0.2e1 * t1170 + t1211 ); + v2rhosigma = t670 + t695 + t719 + rho * ( 0.2e1 * t1258 + 0.2e1 * t1260 + 0.2e1 * t1292 + t1294 + t1325 ); + v2sigma2 = rho * ( t1362 + t1392 + t1421 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + + + eps = t146 + t257 + t364 + t449 + t545; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + + + eps = t146 + t257 + t364 + t449 + t545; + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t9 = constants::m_cbrt_3; + constexpr double t12 = constants::m_cbrt_one_ov_pi; + constexpr double t13 = constants::m_cbrt_4; + constexpr double t16 = constants::m_cbrt_2; + constexpr double t14 = t13 * t13; + constexpr double t15 = t12 * t14; + constexpr double t17 = t15 * t16; + constexpr double t31 = t12 * t12; + constexpr double t93 = c_x_0; + constexpr double t94 = c_x_1; + constexpr double t108 = c_x_2; + constexpr double t120 = c_x_3; + constexpr double t130 = c_x_4; + constexpr double t259 = t9 * t12; + constexpr double t260 = t259 * t14; + constexpr double t274 = t9 * t9; + constexpr double t275 = t274 * t31; + constexpr double t276 = t275 * t13; + constexpr double t279 = t16 * t16; + constexpr double t333 = c_ss_0; + constexpr double t334 = c_ss_1; + constexpr double t342 = c_ss_2; + constexpr double t349 = c_ss_3; + constexpr double t356 = c_ss_4; + constexpr double t514 = c_ab_1; + constexpr double t523 = c_ab_2; + constexpr double t530 = c_ab_3; + constexpr double t537 = c_ab_4; + constexpr double t2538 = t31 * t13; + + + const double t2 = rho_a - rho_b; + const double t3 = rho_a + rho_b; + const double t4 = 0.1e1 / t3; + const double t5 = t2 * t4; + const double t6 = 0.1e1 + t5; + const double t7 = t6 <= zeta_tol; + const double t8 = rho_a <= dens_tol || t7; + const double t18 = t6 * t9 * t17; + const double t19 = 0.2e1 <= zeta_tol; + const double t20 = safe_math::cbrt( zeta_tol ); + const double t21 = t20 * zeta_tol; + const double t23 = piecewise_functor_3( t19, t21, 0.2e1 * t16 ); + const double t24 = safe_math::cbrt( t3 ); + const double t25 = t23 * t24; + const double t26 = 0.1e1 / t6; + const double t27 = safe_math::cbrt( t26 ); + const double t28 = 0.1e1 / t27; + const double t29 = safe_math::cbrt( 0.9e1 ); + const double t30 = t29 * t29; + const double t32 = t30 * t31; + const double t33 = omega * t9; + const double t34 = t32 * t33; + const double t35 = 0.1e1 / t24; + const double t36 = t35 * t16; + const double t37 = piecewise_functor_3( t19, t20, t16 ); + const double t38 = 0.1e1 / t37; + const double t39 = t27 * t38; + const double t42 = t34 * t36 * t39 / 0.18e2; + const double t43 = 0.135e1 <= t42; + const double t44 = 0.135e1 < t42; + const double t45 = piecewise_functor_3( t44, t42, 1.35 ); + const double t46 = t45 * t45; + const double t49 = t46 * t46; + const double t50 = 0.1e1 / t49; + const double t52 = t49 * t46; + const double t53 = 0.1e1 / t52; + const double t55 = t49 * t49; + const double t56 = 0.1e1 / t55; + const double t59 = 0.1e1 / t55 / t46; + const double t62 = 0.1e1 / t55 / t49; + const double t65 = 0.1e1 / t55 / t52; + const double t67 = t55 * t55; + const double t68 = 0.1e1 / t67; + const double t71 = piecewise_functor_3( t44, 1.35, t42 ); + const double t72 = safe_math::sqrt( M_PI ); + const double t73 = 0.1e1 / t71; + const double t75 = safe_math::erf( t73 / 0.2e1 ); + const double t77 = t71 * t71; + const double t78 = 0.1e1 / t77; + const double t80 = safe_math::exp( -t78 / 0.4e1 ); + const double t81 = t80 - 0.1e1; + const double t84 = t80 - 0.3e1 / 0.2e1 - 0.2e1 * t77 * t81; + const double t87 = 0.2e1 * t71 * t84 + t72 * t75; + const double t91 = piecewise_functor_3( t43, 0.1e1 / t46 / 0.36e2 - t50 / 0.96e3 + t53 / 0.2688e5 - t56 / 0.82944e6 + t59 / 0.2838528e8 - t62 / 0.107347968e10 + t65 / 0.445906944e11 - t68 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t71 * t87 ); + const double t92 = t28 * t91; + const double t95 = t94 * sigma_aa; + const double t96 = rho_a * rho_a; + const double t97 = safe_math::cbrt( rho_a ); + const double t98 = t97 * t97; + const double t100 = 0.1e1 / t98 / t96; + const double t101 = sigma_aa * t100; + const double t103 = 0.1e1 + 0.4e-2 * t101; + const double t104 = 0.1e1 / t103; + const double t109 = sigma_aa * sigma_aa; + const double t110 = t108 * t109; + const double t111 = t96 * t96; + const double t112 = t111 * rho_a; + const double t114 = 0.1e1 / t97 / t112; + const double t115 = t103 * t103; + const double t116 = 0.1e1 / t115; + const double t117 = t114 * t116; + const double t121 = t109 * sigma_aa; + const double t122 = t120 * t121; + const double t123 = t111 * t111; + const double t124 = 0.1e1 / t123; + const double t125 = t115 * t103; + const double t126 = 0.1e1 / t125; + const double t127 = t124 * t126; + const double t131 = t109 * t109; + const double t132 = t130 * t131; + const double t133 = t123 * t96; + const double t135 = 0.1e1 / t98 / t133; + const double t136 = t115 * t115; + const double t137 = 0.1e1 / t136; + const double t138 = t135 * t137; + const double t141 = t93 + 0.4e-2 * t95 * t100 * t104 + 0.16e-4 * t110 * t117 + 0.64e-7 * t122 * t127 + 0.256e-9 * t132 * t138; + const double t142 = t92 * t141; + const double t143 = t25 * t142; + const double t146 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t143 ); + const double t148 = 0.1e1 - t5; + const double t149 = t148 <= zeta_tol; + const double t150 = rho_b <= dens_tol || t149; + const double t152 = t148 * t9 * t17; + const double t153 = 0.1e1 / t148; + const double t154 = safe_math::cbrt( t153 ); + const double t155 = 0.1e1 / t154; + const double t156 = t154 * t38; + const double t159 = t34 * t36 * t156 / 0.18e2; + const double t160 = 0.135e1 <= t159; + const double t161 = 0.135e1 < t159; + const double t162 = piecewise_functor_3( t161, t159, 1.35 ); + const double t163 = t162 * t162; + const double t166 = t163 * t163; + const double t167 = 0.1e1 / t166; + const double t169 = t166 * t163; + const double t170 = 0.1e1 / t169; + const double t172 = t166 * t166; + const double t173 = 0.1e1 / t172; + const double t176 = 0.1e1 / t172 / t163; + const double t179 = 0.1e1 / t172 / t166; + const double t182 = 0.1e1 / t172 / t169; + const double t184 = t172 * t172; + const double t185 = 0.1e1 / t184; + const double t188 = piecewise_functor_3( t161, 1.35, t159 ); + const double t189 = 0.1e1 / t188; + const double t191 = safe_math::erf( t189 / 0.2e1 ); + const double t193 = t188 * t188; + const double t194 = 0.1e1 / t193; + const double t196 = safe_math::exp( -t194 / 0.4e1 ); + const double t197 = t196 - 0.1e1; + const double t200 = t196 - 0.3e1 / 0.2e1 - 0.2e1 * t193 * t197; + const double t203 = 0.2e1 * t188 * t200 + t191 * t72; + const double t207 = piecewise_functor_3( t160, 0.1e1 / t163 / 0.36e2 - t167 / 0.96e3 + t170 / 0.2688e5 - t173 / 0.82944e6 + t176 / 0.2838528e8 - t179 / 0.107347968e10 + t182 / 0.445906944e11 - t185 / 0.20214448128e13, 0.1e1 - 0.8e1 / 0.3e1 * t188 * t203 ); + const double t208 = t155 * t207; + const double t209 = t94 * sigma_bb; + const double t210 = rho_b * rho_b; + const double t211 = safe_math::cbrt( rho_b ); + const double t212 = t211 * t211; + const double t214 = 0.1e1 / t212 / t210; + const double t215 = sigma_bb * t214; + const double t217 = 0.1e1 + 0.4e-2 * t215; + const double t218 = 0.1e1 / t217; + const double t222 = sigma_bb * sigma_bb; + const double t223 = t108 * t222; + const double t224 = t210 * t210; + const double t225 = t224 * rho_b; + const double t227 = 0.1e1 / t211 / t225; + const double t228 = t217 * t217; + const double t229 = 0.1e1 / t228; + const double t230 = t227 * t229; + const double t233 = t222 * sigma_bb; + const double t234 = t120 * t233; + const double t235 = t224 * t224; + const double t236 = 0.1e1 / t235; + const double t237 = t228 * t217; + const double t238 = 0.1e1 / t237; + const double t239 = t236 * t238; + const double t242 = t222 * t222; + const double t243 = t130 * t242; + const double t244 = t235 * t210; + const double t246 = 0.1e1 / t212 / t244; + const double t247 = t228 * t228; + const double t248 = 0.1e1 / t247; + const double t249 = t246 * t248; + const double t252 = t93 + 0.4e-2 * t209 * t214 * t218 + 0.16e-4 * t223 * t230 + 0.64e-7 * t234 * t239 + 0.256e-9 * t243 * t249; + const double t253 = t208 * t252; + const double t254 = t25 * t253; + const double t257 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t254 ); + const double t258 = piecewise_functor_3( t7, zeta_tol, t6 ); + const double t261 = 0.1e1 / t20; + const double t262 = safe_math::cbrt( t6 ); + const double t264 = piecewise_functor_3( t7, t261, 0.1e1 / t262 ); + const double t266 = t260 * t36 * t264; + const double t268 = 0.1e1 + 0.53425e-1 * t266; + const double t269 = safe_math::sqrt( t266 ); + const double t272 = pow_3_2( t266 ); + const double t277 = t24 * t24; + const double t278 = 0.1e1 / t277; + const double t280 = t278 * t279; + const double t281 = t264 * t264; + const double t283 = t276 * t280 * t281; + const double t285 = 0.379785e1 * t269 + 0.8969e0 * t266 + 0.204775e0 * t272 + 0.123235e0 * t283; + const double t288 = 0.1e1 + 0.16081824322151104822e2 / t285; + const double t289 = safe_math::log( t288 ); + const double t291 = 0.62182e-1 * t268 * t289; + const double t293 = piecewise_functor_3( 0.e0 <= zeta_tol, t21, 0.0 ); + const double t297 = 0.1e1 / ( 0.2e1 * t16 - 0.2e1 ); + const double t298 = ( t23 + t293 - 0.2e1 ) * t297; + const double t300 = 0.1e1 + 0.5137e-1 * t266; + const double t305 = 0.705945e1 * t269 + 0.1549425e1 * t266 + 0.420775e0 * t272 + 0.1562925e0 * t283; + const double t308 = 0.1e1 + 0.32164683177870697974e2 / t305; + const double t309 = safe_math::log( t308 ); + const double t313 = 0.1e1 + 0.278125e-1 * t266; + const double t318 = 0.51785e1 * t269 + 0.905775e0 * t266 + 0.1100325e0 * t272 + 0.1241775e0 * t283; + const double t321 = 0.1e1 + 0.29608574643216675549e2 / t318; + const double t322 = safe_math::log( t321 ); + const double t323 = t313 * t322; + const double t329 = -t291 + t298 * ( -0.3109e-1 * t300 * t309 + t291 - 0.19751789702565206229e-1 * t323 ) + 0.19751789702565206229e-1 * t298 * t323; + const double t332 = piecewise_functor_3( t8, 0.0, t258 * t329 / 0.2e1 ); + const double t335 = t334 * sigma_aa; + const double t337 = 0.1e1 + 0.2e0 * t101; + const double t338 = 0.1e1 / t337; + const double t343 = t342 * t109; + const double t344 = t337 * t337; + const double t345 = 0.1e1 / t344; + const double t346 = t114 * t345; + const double t350 = t349 * t121; + const double t351 = t344 * t337; + const double t352 = 0.1e1 / t351; + const double t353 = t124 * t352; + const double t357 = t356 * t131; + const double t358 = t344 * t344; + const double t359 = 0.1e1 / t358; + const double t360 = t135 * t359; + const double t363 = t333 + 0.2e0 * t335 * t100 * t338 + 0.4e-1 * t343 * t346 + 0.8e-2 * t350 * t353 + 0.16e-2 * t357 * t360; + const double t364 = t332 * t363; + const double t365 = piecewise_functor_3( t149, zeta_tol, t148 ); + const double t366 = safe_math::cbrt( t148 ); + const double t368 = piecewise_functor_3( t149, t261, 0.1e1 / t366 ); + const double t370 = t260 * t36 * t368; + const double t372 = 0.1e1 + 0.53425e-1 * t370; + const double t373 = safe_math::sqrt( t370 ); + const double t376 = pow_3_2( t370 ); + const double t378 = t368 * t368; + const double t380 = t276 * t280 * t378; + const double t382 = 0.379785e1 * t373 + 0.8969e0 * t370 + 0.204775e0 * t376 + 0.123235e0 * t380; + const double t385 = 0.1e1 + 0.16081824322151104822e2 / t382; + const double t386 = safe_math::log( t385 ); + const double t388 = 0.62182e-1 * t372 * t386; + const double t390 = 0.1e1 + 0.5137e-1 * t370; + const double t395 = 0.705945e1 * t373 + 0.1549425e1 * t370 + 0.420775e0 * t376 + 0.1562925e0 * t380; + const double t398 = 0.1e1 + 0.32164683177870697974e2 / t395; + const double t399 = safe_math::log( t398 ); + const double t403 = 0.1e1 + 0.278125e-1 * t370; + const double t408 = 0.51785e1 * t373 + 0.905775e0 * t370 + 0.1100325e0 * t376 + 0.1241775e0 * t380; + const double t411 = 0.1e1 + 0.29608574643216675549e2 / t408; + const double t412 = safe_math::log( t411 ); + const double t413 = t403 * t412; + const double t419 = -t388 + t298 * ( -0.3109e-1 * t390 * t399 + t388 - 0.19751789702565206229e-1 * t413 ) + 0.19751789702565206229e-1 * t298 * t413; + const double t422 = piecewise_functor_3( t150, 0.0, t365 * t419 / 0.2e1 ); + const double t423 = t334 * sigma_bb; + const double t425 = 0.1e1 + 0.2e0 * t215; + const double t426 = 0.1e1 / t425; + const double t430 = t342 * t222; + const double t431 = t425 * t425; + const double t432 = 0.1e1 / t431; + const double t433 = t227 * t432; + const double t436 = t349 * t233; + const double t437 = t431 * t425; + const double t438 = 0.1e1 / t437; + const double t439 = t236 * t438; + const double t442 = t356 * t242; + const double t443 = t431 * t431; + const double t444 = 0.1e1 / t443; + const double t445 = t246 * t444; + const double t448 = t333 + 0.2e0 * t423 * t214 * t426 + 0.4e-1 * t430 * t433 + 0.8e-2 * t436 * t439 + 0.16e-2 * t442 * t445; + const double t449 = t422 * t448; + const double t451 = t259 * t14 * t35; + const double t453 = 0.1e1 + 0.53425e-1 * t451; + const double t454 = safe_math::sqrt( t451 ); + const double t457 = pow_3_2( t451 ); + const double t460 = t275 * t13 * t278; + const double t462 = 0.379785e1 * t454 + 0.8969e0 * t451 + 0.204775e0 * t457 + 0.123235e0 * t460; + const double t465 = 0.1e1 + 0.16081824322151104822e2 / t462; + const double t466 = safe_math::log( t465 ); + const double t468 = 0.62182e-1 * t453 * t466; + const double t469 = t2 * t2; + const double t470 = t469 * t469; + const double t471 = t3 * t3; + const double t472 = t471 * t471; + const double t473 = 0.1e1 / t472; + const double t474 = t470 * t473; + const double t475 = t262 * t6; + const double t476 = piecewise_functor_3( t7, t21, t475 ); + const double t477 = t366 * t148; + const double t478 = piecewise_functor_3( t149, t21, t477 ); + const double t479 = t476 + t478 - 0.2e1; + const double t480 = t479 * t297; + const double t482 = 0.1e1 + 0.5137e-1 * t451; + const double t487 = 0.705945e1 * t454 + 0.1549425e1 * t451 + 0.420775e0 * t457 + 0.1562925e0 * t460; + const double t490 = 0.1e1 + 0.32164683177870697974e2 / t487; + const double t491 = safe_math::log( t490 ); + const double t495 = 0.1e1 + 0.278125e-1 * t451; + const double t500 = 0.51785e1 * t454 + 0.905775e0 * t451 + 0.1100325e0 * t457 + 0.1241775e0 * t460; + const double t503 = 0.1e1 + 0.29608574643216675549e2 / t500; + const double t504 = safe_math::log( t503 ); + const double t505 = t495 * t504; + const double t507 = -0.3109e-1 * t482 * t491 + t468 - 0.19751789702565206229e-1 * t505; + const double t508 = t480 * t507; + const double t512 = -t468 + t474 * t508 + 0.19751789702565206229e-1 * t480 * t505 - t332 - t422; + const double t515 = t101 + t215; + const double t516 = t514 * t515; + const double t519 = 0.1e1 + 0.3e-2 * t101 + 0.3e-2 * t215; + const double t520 = 0.1e1 / t519; + const double t524 = t515 * t515; + const double t525 = t523 * t524; + const double t526 = t519 * t519; + const double t527 = 0.1e1 / t526; + const double t531 = t524 * t515; + const double t532 = t530 * t531; + const double t533 = t526 * t519; + const double t534 = 0.1e1 / t533; + const double t538 = t524 * t524; + const double t539 = t537 * t538; + const double t540 = t526 * t526; + const double t541 = 0.1e1 / t540; + const double t544 = c_ab_0 + 0.3e-2 * t516 * t520 + 0.9e-5 * t525 * t527 + 0.27e-7 * t532 * t534 + 0.81e-10 * t539 * t541; + const double t545 = t512 * t544; + const double t546 = 0.1e1 / t471; + const double t547 = t2 * t546; + const double t548 = t4 - t547; + const double t550 = t548 * t9 * t17; + const double t553 = t23 * t278; + const double t554 = t553 * t142; + const double t556 = t18 * t554 / 0.64e2; + const double t558 = t26 * t9 * t17; + const double t560 = 0.1e1 / t27 / t26; + const double t561 = t25 * t560; + const double t562 = t91 * t141; + const double t563 = t562 * t548; + const double t567 = t46 * t45; + const double t568 = 0.1e1 / t567; + const double t570 = 0.1e1 / t24 / t3; + const double t571 = t570 * t16; + const double t573 = t34 * t571 * t39; + const double t575 = t32 * t33 * t35; + const double t576 = t27 * t27; + const double t577 = 0.1e1 / t576; + const double t578 = t16 * t577; + const double t579 = t6 * t6; + const double t580 = 0.1e1 / t579; + const double t581 = t38 * t580; + const double t583 = t578 * t581 * t548; + const double t586 = -t575 * t583 / 0.54e2 - t573 / 0.54e2; + const double t587 = piecewise_functor_3( t44, t586, 0.0 ); + const double t590 = t49 * t45; + const double t591 = 0.1e1 / t590; + const double t594 = t49 * t567; + const double t595 = 0.1e1 / t594; + const double t599 = 0.1e1 / t55 / t45; + const double t603 = 0.1e1 / t55 / t567; + const double t607 = 0.1e1 / t55 / t590; + const double t611 = 0.1e1 / t55 / t594; + const double t615 = 0.1e1 / t67 / t45; + const double t619 = piecewise_functor_3( t44, 0.0, t586 ); + const double t621 = t80 * t78; + const double t625 = t77 * t71; + const double t626 = 0.1e1 / t625; + const double t630 = t71 * t81; + const double t635 = t626 * t619 * t80 / 0.2e1 - 0.4e1 * t630 * t619 - t73 * t619 * t80; + const double t638 = -t619 * t621 + 0.2e1 * t619 * t84 + 0.2e1 * t635 * t71; + const double t642 = piecewise_functor_3( t43, -t568 * t587 / 0.18e2 + t591 * t587 / 0.24e3 - t595 * t587 / 0.448e4 + t599 * t587 / 0.10368e6 - t603 * t587 / 0.2838528e7 + t607 * t587 / 0.8945664e8 - t611 * t587 / 0.31850496e10 + t615 * t587 / 0.1263403008e12, -0.8e1 / 0.3e1 * t619 * t87 - 0.8e1 / 0.3e1 * t71 * t638 ); + const double t643 = t28 * t642; + const double t644 = t643 * t141; + const double t645 = t25 * t644; + const double t648 = t96 * rho_a; + const double t650 = 0.1e1 / t98 / t648; + const double t654 = t94 * t109; + const double t655 = t111 * t96; + const double t657 = 0.1e1 / t97 / t655; + const double t658 = t657 * t116; + const double t663 = t108 * t121; + const double t664 = t123 * rho_a; + const double t665 = 0.1e1 / t664; + const double t666 = t665 * t126; + const double t671 = t120 * t131; + const double t672 = t123 * t648; + const double t674 = 0.1e1 / t98 / t672; + const double t675 = t674 * t137; + const double t680 = t131 * sigma_aa; + const double t681 = t130 * t680; + const double t682 = t123 * t655; + const double t684 = 0.1e1 / t97 / t682; + const double t686 = 0.1e1 / t136 / t103; + const double t687 = t684 * t686; + const double t690 = -0.10666666666666666667e-1 * t95 * t650 * t104 + 0.42666666666666666668e-4 * t654 * t658 - 0.85333333333333333333e-4 * t110 * t658 + 0.34133333333333333334e-6 * t663 * t666 - 0.512e-6 * t122 * t666 + 0.20480000000000000001e-8 * t671 * t675 - 0.27306666666666666667e-8 * t132 * t675 + 0.10922666666666666667e-10 * t681 * t687; + const double t691 = t92 * t690; + const double t692 = t25 * t691; + const double t696 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t143 - t556 - t558 * t561 * t563 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t645 - 0.3e1 / 0.64e2 * t18 * t692 ); + const double t697 = -t548; + const double t699 = t697 * t9 * t17; + const double t702 = t553 * t253; + const double t704 = t152 * t702 / 0.64e2; + const double t706 = t153 * t9 * t17; + const double t708 = 0.1e1 / t154 / t153; + const double t709 = t25 * t708; + const double t710 = t207 * t252; + const double t711 = t710 * t697; + const double t715 = t163 * t162; + const double t716 = 0.1e1 / t715; + const double t718 = t34 * t571 * t156; + const double t719 = t154 * t154; + const double t720 = 0.1e1 / t719; + const double t721 = t16 * t720; + const double t722 = t148 * t148; + const double t723 = 0.1e1 / t722; + const double t724 = t38 * t723; + const double t726 = t721 * t724 * t697; + const double t729 = -t575 * t726 / 0.54e2 - t718 / 0.54e2; + const double t730 = piecewise_functor_3( t161, t729, 0.0 ); + const double t733 = t166 * t162; + const double t734 = 0.1e1 / t733; + const double t737 = t166 * t715; + const double t738 = 0.1e1 / t737; + const double t742 = 0.1e1 / t172 / t162; + const double t746 = 0.1e1 / t172 / t715; + const double t750 = 0.1e1 / t172 / t733; + const double t754 = 0.1e1 / t172 / t737; + const double t758 = 0.1e1 / t184 / t162; + const double t762 = piecewise_functor_3( t161, 0.0, t729 ); + const double t764 = t196 * t194; + const double t768 = t193 * t188; + const double t769 = 0.1e1 / t768; + const double t773 = t188 * t197; + const double t778 = t769 * t762 * t196 / 0.2e1 - 0.4e1 * t773 * t762 - t189 * t762 * t196; + const double t781 = 0.2e1 * t188 * t778 + 0.2e1 * t200 * t762 - t762 * t764; + const double t785 = piecewise_functor_3( t160, -t716 * t730 / 0.18e2 + t734 * t730 / 0.24e3 - t738 * t730 / 0.448e4 + t742 * t730 / 0.10368e6 - t746 * t730 / 0.2838528e7 + t750 * t730 / 0.8945664e8 - t754 * t730 / 0.31850496e10 + t758 * t730 / 0.1263403008e12, -0.8e1 / 0.3e1 * t188 * t781 - 0.8e1 / 0.3e1 * t762 * t203 ); + const double t786 = t155 * t785; + const double t787 = t786 * t252; + const double t788 = t25 * t787; + const double t792 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t254 - t704 - t706 * t709 * t711 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t788 ); + const double t793 = piecewise_functor_3( t7, 0.0, t548 ); + const double t796 = t260 * t571 * t264; + const double t797 = 0.17808333333333333333e-1 * t796; + const double t798 = 0.1e1 / t475; + const double t801 = piecewise_functor_3( t7, 0.0, -t798 * t548 / 0.3e1 ); + const double t803 = t260 * t36 * t801; + const double t805 = -t797 + 0.53425e-1 * t803; + const double t807 = 0.62182e-1 * t805 * t289; + const double t808 = t285 * t285; + const double t809 = 0.1e1 / t808; + const double t810 = t268 * t809; + const double t811 = 0.1e1 / t269; + const double t812 = t796 / 0.3e1; + const double t813 = -t812 + t803; + const double t814 = t811 * t813; + const double t816 = 0.29896666666666666667e0 * t796; + const double t818 = safe_math::sqrt( t266 ); + const double t819 = t818 * t813; + const double t822 = 0.1e1 / t277 / t3; + const double t823 = t822 * t279; + const double t825 = t276 * t823 * t281; + const double t826 = 0.82156666666666666667e-1 * t825; + const double t827 = t264 * t801; + const double t829 = t276 * t280 * t827; + const double t831 = 0.1898925e1 * t814 - t816 + 0.8969e0 * t803 + 0.3071625e0 * t819 - t826 + 0.24647e0 * t829; + const double t832 = 0.1e1 / t288; + const double t833 = t831 * t832; + const double t835 = 0.1e1 * t810 * t833; + const double t836 = 0.17123333333333333333e-1 * t796; + const double t838 = -t836 + 0.5137e-1 * t803; + const double t841 = t305 * t305; + const double t842 = 0.1e1 / t841; + const double t843 = t300 * t842; + const double t845 = 0.516475e0 * t796; + const double t848 = 0.104195e0 * t825; + const double t850 = 0.3529725e1 * t814 - t845 + 0.1549425e1 * t803 + 0.6311625e0 * t819 - t848 + 0.312585e0 * t829; + const double t851 = 0.1e1 / t308; + const double t852 = t850 * t851; + const double t855 = 0.92708333333333333333e-2 * t796; + const double t857 = -t855 + 0.278125e-1 * t803; + const double t858 = t857 * t322; + const double t860 = t318 * t318; + const double t861 = 0.1e1 / t860; + const double t862 = t313 * t861; + const double t864 = 0.301925e0 * t796; + const double t867 = 0.82785e-1 * t825; + const double t869 = 0.258925e1 * t814 - t864 + 0.905775e0 * t803 + 0.16504875e0 * t819 - t867 + 0.248355e0 * t829; + const double t870 = 0.1e1 / t321; + const double t871 = t869 * t870; + const double t878 = t298 * t313; + const double t880 = t861 * t869 * t870; + const double t883 = -t807 + t835 + t298 * ( -0.3109e-1 * t838 * t309 + 0.1e1 * t843 * t852 + t807 - t835 - 0.19751789702565206229e-1 * t858 + 0.58482233974552040708e0 * t862 * t871 ) + 0.19751789702565206229e-1 * t298 * t858 - 0.58482233974552040708e0 * t878 * t880; + const double t887 = piecewise_functor_3( t8, 0.0, t258 * t883 / 0.2e1 + t793 * t329 / 0.2e1 ); + const double t888 = t887 * t363; + const double t892 = t334 * t109; + const double t893 = t657 * t345; + const double t898 = t342 * t121; + const double t899 = t665 * t352; + const double t904 = t349 * t131; + const double t905 = t674 * t359; + const double t910 = t356 * t680; + const double t912 = 0.1e1 / t358 / t337; + const double t913 = t684 * t912; + const double t916 = -0.53333333333333333333e0 * t335 * t650 * t338 + 0.10666666666666666667e0 * t892 * t893 - 0.21333333333333333333e0 * t343 * t893 + 0.42666666666666666668e-1 * t898 * t899 - 0.64e-1 * t350 * t899 + 0.128e-1 * t904 * t905 - 0.17066666666666666667e-1 * t357 * t905 + 0.34133333333333333333e-2 * t910 * t913; + const double t917 = t332 * t916; + const double t918 = piecewise_functor_3( t149, 0.0, t697 ); + const double t921 = t260 * t571 * t368; + const double t922 = 0.17808333333333333333e-1 * t921; + const double t923 = 0.1e1 / t477; + const double t926 = piecewise_functor_3( t149, 0.0, -t923 * t697 / 0.3e1 ); + const double t928 = t260 * t36 * t926; + const double t930 = -t922 + 0.53425e-1 * t928; + const double t932 = 0.62182e-1 * t930 * t386; + const double t933 = t382 * t382; + const double t934 = 0.1e1 / t933; + const double t935 = t372 * t934; + const double t936 = 0.1e1 / t373; + const double t937 = t921 / 0.3e1; + const double t938 = -t937 + t928; + const double t939 = t936 * t938; + const double t941 = 0.29896666666666666667e0 * t921; + const double t943 = safe_math::sqrt( t370 ); + const double t944 = t943 * t938; + const double t947 = t276 * t823 * t378; + const double t948 = 0.82156666666666666667e-1 * t947; + const double t949 = t368 * t926; + const double t951 = t276 * t280 * t949; + const double t953 = 0.1898925e1 * t939 - t941 + 0.8969e0 * t928 + 0.3071625e0 * t944 - t948 + 0.24647e0 * t951; + const double t954 = 0.1e1 / t385; + const double t955 = t953 * t954; + const double t957 = 0.1e1 * t935 * t955; + const double t958 = 0.17123333333333333333e-1 * t921; + const double t960 = -t958 + 0.5137e-1 * t928; + const double t963 = t395 * t395; + const double t964 = 0.1e1 / t963; + const double t965 = t390 * t964; + const double t967 = 0.516475e0 * t921; + const double t970 = 0.104195e0 * t947; + const double t972 = 0.3529725e1 * t939 - t967 + 0.1549425e1 * t928 + 0.6311625e0 * t944 - t970 + 0.312585e0 * t951; + const double t973 = 0.1e1 / t398; + const double t974 = t972 * t973; + const double t977 = 0.92708333333333333333e-2 * t921; + const double t979 = -t977 + 0.278125e-1 * t928; + const double t980 = t979 * t412; + const double t982 = t408 * t408; + const double t983 = 0.1e1 / t982; + const double t984 = t403 * t983; + const double t986 = 0.301925e0 * t921; + const double t989 = 0.82785e-1 * t947; + const double t991 = 0.258925e1 * t939 - t986 + 0.905775e0 * t928 + 0.16504875e0 * t944 - t989 + 0.248355e0 * t951; + const double t992 = 0.1e1 / t411; + const double t993 = t991 * t992; + const double t1000 = t298 * t403; + const double t1002 = t983 * t991 * t992; + const double t1005 = -t932 + t957 + t298 * ( -0.3109e-1 * t960 * t399 + 0.1e1 * t965 * t974 + t932 - t957 - 0.19751789702565206229e-1 * t980 + 0.58482233974552040708e0 * t984 * t993 ) + 0.19751789702565206229e-1 * t298 * t980 - 0.58482233974552040708e0 * t1000 * t1002; + const double t1009 = piecewise_functor_3( t150, 0.0, t365 * t1005 / 0.2e1 + t918 * t419 / 0.2e1 ); + const double t1010 = t1009 * t448; + const double t1011 = t14 * t570; + const double t1014 = 0.11073577833333333333e-2 * t259 * t1011 * t466; + const double t1015 = t462 * t462; + const double t1016 = 0.1e1 / t1015; + const double t1017 = t453 * t1016; + const double t1019 = 0.1e1 / t454 * t9; + const double t1020 = t15 * t570; + const double t1021 = t1019 * t1020; + const double t1023 = t259 * t1011; + const double t1025 = safe_math::sqrt( t451 ); + const double t1026 = t1025 * t9; + const double t1027 = t1026 * t1020; + const double t1030 = t275 * t13 * t822; + const double t1032 = -0.632975e0 * t1021 - 0.29896666666666666667e0 * t1023 - 0.1023875e0 * t1027 - 0.82156666666666666667e-1 * t1030; + const double t1033 = 0.1e1 / t465; + const double t1034 = t1032 * t1033; + const double t1036 = 0.1e1 * t1017 * t1034; + const double t1037 = t469 * t2; + const double t1038 = t1037 * t473; + const double t1040 = 0.4e1 * t1038 * t508; + const double t1041 = t472 * t3; + const double t1042 = 0.1e1 / t1041; + const double t1043 = t470 * t1042; + const double t1045 = 0.4e1 * t1043 * t508; + const double t1048 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t548 ); + const double t1051 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t697 ); + const double t1053 = ( t1048 + t1051 ) * t297; + const double t1054 = t1053 * t507; + const double t1059 = t487 * t487; + const double t1060 = 0.1e1 / t1059; + const double t1061 = t482 * t1060; + const double t1066 = -0.1176575e1 * t1021 - 0.516475e0 * t1023 - 0.2103875e0 * t1027 - 0.104195e0 * t1030; + const double t1067 = 0.1e1 / t490; + const double t1068 = t1066 * t1067; + const double t1074 = t500 * t500; + const double t1075 = 0.1e1 / t1074; + const double t1076 = t495 * t1075; + const double t1081 = -0.86308333333333333334e0 * t1021 - 0.301925e0 * t1023 - 0.5501625e-1 * t1027 - 0.82785e-1 * t1030; + const double t1082 = 0.1e1 / t503; + const double t1083 = t1081 * t1082; + const double t1086 = 0.53236443333333333332e-3 * t259 * t1011 * t491 + 0.1e1 * t1061 * t1068 - t1014 - t1036 + 0.18311555036753159941e-3 * t259 * t1011 * t504 + 0.58482233974552040708e0 * t1076 * t1083; + const double t1087 = t480 * t1086; + const double t1088 = t474 * t1087; + const double t1091 = t480 * t9; + const double t1093 = t15 * t570 * t504; + const double t1095 = 0.18311555036753159941e-3 * t1091 * t1093; + const double t1096 = t480 * t495; + const double t1098 = t1075 * t1081 * t1082; + const double t1100 = 0.58482233974552040708e0 * t1096 * t1098; + const double t1101 = t1014 + t1036 + t1040 - t1045 + t474 * t1054 + t1088 + 0.19751789702565206229e-1 * t1053 * t505 - t1095 - t1100 - t887 - t1009; + const double t1102 = t1101 * t544; + const double t1103 = t514 * sigma_aa; + const double t1107 = t527 * sigma_aa; + const double t1108 = t1107 * t650; + const double t1111 = t523 * t515; + const double t1114 = t534 * sigma_aa; + const double t1115 = t1114 * t650; + const double t1118 = t530 * t524; + const double t1121 = t541 * sigma_aa; + const double t1122 = t1121 * t650; + const double t1125 = t537 * t531; + const double t1129 = 0.1e1 / t540 / t519; + const double t1130 = t1129 * sigma_aa; + const double t1134 = -0.8e-2 * t1103 * t650 * t520 + 0.24e-4 * t516 * t1108 - 0.48e-4 * t1111 * t1108 + 0.144e-6 * t525 * t1115 - 0.216e-6 * t1118 * t1115 + 0.648e-9 * t532 * t1122 - 0.864e-9 * t1125 * t1122 + 0.2592e-11 * t539 * t1130 * t650; + const double t1135 = t512 * t1134; + const double t1138 = -t4 - t547; + const double t1140 = t1138 * t9 * t17; + const double t1143 = t562 * t1138; + const double t1148 = t578 * t581 * t1138; + const double t1151 = -t575 * t1148 / 0.54e2 - t573 / 0.54e2; + const double t1152 = piecewise_functor_3( t44, t1151, 0.0 ); + const double t1155 = t591 * t1152; + const double t1157 = t595 * t1152; + const double t1159 = t599 * t1152; + const double t1161 = t603 * t1152; + const double t1163 = t607 * t1152; + const double t1165 = t611 * t1152; + const double t1167 = t615 * t1152; + const double t1170 = piecewise_functor_3( t44, 0.0, t1151 ); + const double t1182 = t626 * t1170 * t80 / 0.2e1 - 0.4e1 * t630 * t1170 - t73 * t1170 * t80; + const double t1185 = -t1170 * t621 + 0.2e1 * t1170 * t84 + 0.2e1 * t1182 * t71; + const double t1189 = piecewise_functor_3( t43, -t568 * t1152 / 0.18e2 + t1155 / 0.24e3 - t1157 / 0.448e4 + t1159 / 0.10368e6 - t1161 / 0.2838528e7 + t1163 / 0.8945664e8 - t1165 / 0.31850496e10 + t1167 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1170 * t87 - 0.8e1 / 0.3e1 * t71 * t1185 ); + const double t1190 = t28 * t1189; + const double t1191 = t1190 * t141; + const double t1192 = t25 * t1191; + const double t1196 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t143 - t556 - t558 * t561 * t1143 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t1192 ); + const double t1197 = -t1138; + const double t1199 = t1197 * t9 * t17; + const double t1202 = t710 * t1197; + const double t1207 = t721 * t724 * t1197; + const double t1210 = -t575 * t1207 / 0.54e2 - t718 / 0.54e2; + const double t1211 = piecewise_functor_3( t161, t1210, 0.0 ); + const double t1214 = t734 * t1211; + const double t1216 = t738 * t1211; + const double t1218 = t742 * t1211; + const double t1220 = t746 * t1211; + const double t1222 = t750 * t1211; + const double t1224 = t754 * t1211; + const double t1226 = t758 * t1211; + const double t1229 = piecewise_functor_3( t161, 0.0, t1210 ); + const double t1241 = t769 * t1229 * t196 / 0.2e1 - 0.4e1 * t773 * t1229 - t189 * t1229 * t196; + const double t1244 = 0.2e1 * t1229 * t200 - t1229 * t764 + 0.2e1 * t1241 * t188; + const double t1248 = piecewise_functor_3( t160, -t716 * t1211 / 0.18e2 + t1214 / 0.24e3 - t1216 / 0.448e4 + t1218 / 0.10368e6 - t1220 / 0.2838528e7 + t1222 / 0.8945664e8 - t1224 / 0.31850496e10 + t1226 / 0.1263403008e12, -0.8e1 / 0.3e1 * t1229 * t203 - 0.8e1 / 0.3e1 * t188 * t1244 ); + const double t1249 = t155 * t1248; + const double t1250 = t1249 * t252; + const double t1251 = t25 * t1250; + const double t1254 = t210 * rho_b; + const double t1256 = 0.1e1 / t212 / t1254; + const double t1260 = t94 * t222; + const double t1261 = t224 * t210; + const double t1263 = 0.1e1 / t211 / t1261; + const double t1264 = t1263 * t229; + const double t1269 = t108 * t233; + const double t1270 = t235 * rho_b; + const double t1271 = 0.1e1 / t1270; + const double t1272 = t1271 * t238; + const double t1277 = t120 * t242; + const double t1278 = t235 * t1254; + const double t1280 = 0.1e1 / t212 / t1278; + const double t1281 = t1280 * t248; + const double t1286 = t242 * sigma_bb; + const double t1287 = t130 * t1286; + const double t1288 = t235 * t1261; + const double t1290 = 0.1e1 / t211 / t1288; + const double t1292 = 0.1e1 / t247 / t217; + const double t1293 = t1290 * t1292; + const double t1296 = -0.10666666666666666667e-1 * t209 * t1256 * t218 + 0.42666666666666666668e-4 * t1260 * t1264 - 0.85333333333333333333e-4 * t223 * t1264 + 0.34133333333333333334e-6 * t1269 * t1272 - 0.512e-6 * t234 * t1272 + 0.20480000000000000001e-8 * t1277 * t1281 - 0.27306666666666666667e-8 * t243 * t1281 + 0.10922666666666666667e-10 * t1287 * t1293; + const double t1297 = t208 * t1296; + const double t1298 = t25 * t1297; + const double t1302 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t254 - t704 - t706 * t709 * t1202 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t1251 - 0.3e1 / 0.64e2 * t152 * t1298 ); + const double t1303 = piecewise_functor_3( t7, 0.0, t1138 ); + const double t1307 = piecewise_functor_3( t7, 0.0, -t798 * t1138 / 0.3e1 ); + const double t1309 = t260 * t36 * t1307; + const double t1311 = -t797 + 0.53425e-1 * t1309; + const double t1313 = 0.62182e-1 * t1311 * t289; + const double t1314 = -t812 + t1309; + const double t1315 = t811 * t1314; + const double t1318 = t818 * t1314; + const double t1320 = t264 * t1307; + const double t1322 = t276 * t280 * t1320; + const double t1324 = 0.1898925e1 * t1315 - t816 + 0.8969e0 * t1309 + 0.3071625e0 * t1318 - t826 + 0.24647e0 * t1322; + const double t1325 = t1324 * t832; + const double t1327 = 0.1e1 * t810 * t1325; + const double t1329 = -t836 + 0.5137e-1 * t1309; + const double t1336 = 0.3529725e1 * t1315 - t845 + 0.1549425e1 * t1309 + 0.6311625e0 * t1318 - t848 + 0.312585e0 * t1322; + const double t1337 = t1336 * t851; + const double t1341 = -t855 + 0.278125e-1 * t1309; + const double t1342 = t1341 * t322; + const double t1348 = 0.258925e1 * t1315 - t864 + 0.905775e0 * t1309 + 0.16504875e0 * t1318 - t867 + 0.248355e0 * t1322; + const double t1349 = t1348 * t870; + const double t1357 = t861 * t1348 * t870; + const double t1360 = -t1313 + t1327 + t298 * ( -0.3109e-1 * t1329 * t309 + 0.1e1 * t843 * t1337 + t1313 - t1327 - 0.19751789702565206229e-1 * t1342 + 0.58482233974552040708e0 * t862 * t1349 ) + 0.19751789702565206229e-1 * t298 * t1342 - 0.58482233974552040708e0 * t878 * t1357; + const double t1364 = piecewise_functor_3( t8, 0.0, t1303 * t329 / 0.2e1 + t258 * t1360 / 0.2e1 ); + const double t1365 = t1364 * t363; + const double t1366 = piecewise_functor_3( t149, 0.0, t1197 ); + const double t1370 = piecewise_functor_3( t149, 0.0, -t923 * t1197 / 0.3e1 ); + const double t1372 = t260 * t36 * t1370; + const double t1374 = -t922 + 0.53425e-1 * t1372; + const double t1376 = 0.62182e-1 * t1374 * t386; + const double t1377 = -t937 + t1372; + const double t1378 = t936 * t1377; + const double t1381 = t943 * t1377; + const double t1383 = t368 * t1370; + const double t1385 = t276 * t280 * t1383; + const double t1387 = 0.1898925e1 * t1378 - t941 + 0.8969e0 * t1372 + 0.3071625e0 * t1381 - t948 + 0.24647e0 * t1385; + const double t1388 = t1387 * t954; + const double t1390 = 0.1e1 * t935 * t1388; + const double t1392 = -t958 + 0.5137e-1 * t1372; + const double t1399 = 0.3529725e1 * t1378 - t967 + 0.1549425e1 * t1372 + 0.6311625e0 * t1381 - t970 + 0.312585e0 * t1385; + const double t1400 = t1399 * t973; + const double t1404 = -t977 + 0.278125e-1 * t1372; + const double t1405 = t1404 * t412; + const double t1411 = 0.258925e1 * t1378 - t986 + 0.905775e0 * t1372 + 0.16504875e0 * t1381 - t989 + 0.248355e0 * t1385; + const double t1412 = t1411 * t992; + const double t1420 = t983 * t1411 * t992; + const double t1423 = -t1376 + t1390 + t298 * ( -0.3109e-1 * t1392 * t399 + 0.1e1 * t965 * t1400 + t1376 - t1390 - 0.19751789702565206229e-1 * t1405 + 0.58482233974552040708e0 * t984 * t1412 ) + 0.19751789702565206229e-1 * t298 * t1405 - 0.58482233974552040708e0 * t1000 * t1420; + const double t1427 = piecewise_functor_3( t150, 0.0, t1366 * t419 / 0.2e1 + t365 * t1423 / 0.2e1 ); + const double t1428 = t1427 * t448; + const double t1432 = t334 * t222; + const double t1433 = t1263 * t432; + const double t1438 = t342 * t233; + const double t1439 = t1271 * t438; + const double t1444 = t349 * t242; + const double t1445 = t1280 * t444; + const double t1450 = t356 * t1286; + const double t1452 = 0.1e1 / t443 / t425; + const double t1453 = t1290 * t1452; + const double t1456 = -0.53333333333333333333e0 * t423 * t1256 * t426 + 0.10666666666666666667e0 * t1432 * t1433 - 0.21333333333333333333e0 * t430 * t1433 + 0.42666666666666666668e-1 * t1438 * t1439 - 0.64e-1 * t436 * t1439 + 0.128e-1 * t1444 * t1445 - 0.17066666666666666667e-1 * t442 * t1445 + 0.34133333333333333333e-2 * t1450 * t1453; + const double t1457 = t422 * t1456; + const double t1460 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.3e1 * t262 * t1138 ); + const double t1463 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.3e1 * t366 * t1197 ); + const double t1465 = ( t1460 + t1463 ) * t297; + const double t1466 = t1465 * t507; + const double t1470 = t1014 + t1036 - t1040 - t1045 + t474 * t1466 + t1088 + 0.19751789702565206229e-1 * t1465 * t505 - t1095 - t1100 - t1364 - t1427; + const double t1471 = t1470 * t544; + const double t1472 = t514 * sigma_bb; + const double t1476 = t527 * sigma_bb; + const double t1477 = t1476 * t1256; + const double t1482 = t534 * sigma_bb; + const double t1483 = t1482 * t1256; + const double t1488 = t541 * sigma_bb; + const double t1489 = t1488 * t1256; + const double t1494 = t1129 * sigma_bb; + const double t1498 = -0.8e-2 * t1472 * t1256 * t520 + 0.24e-4 * t516 * t1477 - 0.48e-4 * t1111 * t1477 + 0.144e-6 * t525 * t1483 - 0.216e-6 * t1118 * t1483 + 0.648e-9 * t532 * t1489 - 0.864e-9 * t1125 * t1489 + 0.2592e-11 * t539 * t1494 * t1256; + const double t1499 = t512 * t1498; + const double t1507 = t108 * sigma_aa; + const double t1512 = t120 * t109; + const double t1517 = t130 * t121; + const double t1520 = t123 * t112; + const double t1522 = 0.1e1 / t97 / t1520; + const double t1523 = t1522 * t686; + const double t1526 = 0.4e-2 * t94 * t100 * t104 - 0.16e-4 * t95 * t117 + 0.32e-4 * t1507 * t117 - 0.128e-6 * t110 * t127 + 0.192e-6 * t1512 * t127 - 0.768e-9 * t122 * t138 + 0.1024e-8 * t1517 * t138 - 0.4096e-11 * t132 * t1523; + const double t1527 = t92 * t1526; + const double t1528 = t25 * t1527; + const double t1531 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t1528 ); + const double t1537 = t342 * sigma_aa; + const double t1542 = t349 * t109; + const double t1547 = t356 * t121; + const double t1550 = t1522 * t912; + const double t1553 = 0.2e0 * t334 * t100 * t338 - 0.4e-1 * t335 * t346 + 0.8e-1 * t1537 * t346 - 0.16e-1 * t343 * t353 + 0.24e-1 * t1542 * t353 - 0.48e-2 * t350 * t360 + 0.64e-2 * t1547 * t360 - 0.128e-2 * t357 * t1550; + const double t1554 = t332 * t1553; + const double t1555 = t514 * t100; + const double t1558 = t527 * t100; + const double t1563 = t534 * t100; + const double t1568 = t541 * t100; + const double t1576 = 0.3e-2 * t1555 * t520 - 0.9e-5 * t516 * t1558 + 0.18e-4 * t1111 * t1558 - 0.54e-7 * t525 * t1563 + 0.81e-7 * t1118 * t1563 - 0.243e-9 * t532 * t1568 + 0.324e-9 * t1125 * t1568 - 0.972e-12 * t539 * t1129 * t100; + const double t1577 = t512 * t1576; + const double t1584 = t108 * sigma_bb; + const double t1589 = t120 * t222; + const double t1594 = t130 * t233; + const double t1597 = t235 * t225; + const double t1599 = 0.1e1 / t211 / t1597; + const double t1600 = t1599 * t1292; + const double t1603 = 0.4e-2 * t94 * t214 * t218 - 0.16e-4 * t209 * t230 + 0.32e-4 * t1584 * t230 - 0.128e-6 * t223 * t239 + 0.192e-6 * t1589 * t239 - 0.768e-9 * t234 * t249 + 0.1024e-8 * t1594 * t249 - 0.4096e-11 * t243 * t1600; + const double t1604 = t208 * t1603; + const double t1605 = t25 * t1604; + const double t1608 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t1605 ); + const double t1614 = t342 * sigma_bb; + const double t1619 = t349 * t222; + const double t1624 = t356 * t233; + const double t1627 = t1599 * t1452; + const double t1630 = 0.2e0 * t334 * t214 * t426 - 0.4e-1 * t423 * t433 + 0.8e-1 * t1614 * t433 - 0.16e-1 * t430 * t439 + 0.24e-1 * t1619 * t439 - 0.48e-2 * t436 * t445 + 0.64e-2 * t1624 * t445 - 0.128e-2 * t442 * t1627; + const double t1631 = t422 * t1630; + const double t1632 = t514 * t214; + const double t1635 = t527 * t214; + const double t1640 = t534 * t214; + const double t1645 = t541 * t214; + const double t1650 = t1129 * t214; + const double t1653 = 0.3e-2 * t1632 * t520 - 0.9e-5 * t516 * t1635 + 0.18e-4 * t1111 * t1635 - 0.54e-7 * t525 * t1640 + 0.81e-7 * t1118 * t1640 - 0.243e-9 * t532 * t1645 + 0.324e-9 * t1125 * t1645 - 0.972e-12 * t539 * t1650; + const double t1654 = t512 * t1653; + const double t1663 = t23 * t822; + const double t1664 = t1663 * t142; + const double t1666 = t18 * t1664 / 0.96e2; + const double t1667 = t553 * t560; + const double t1669 = t558 * t1667 * t563; + const double t1671 = t642 * t141; + const double t1672 = t1671 * t548; + const double t1676 = t91 * t690; + const double t1677 = t1676 * t548; + const double t1681 = t471 * t3; + const double t1682 = 0.1e1 / t1681; + const double t1683 = t2 * t1682; + const double t1685 = -0.2e1 * t546 + 0.2e1 * t1683; + const double t1686 = t562 * t1685; + const double t1690 = t579 * t6; + const double t1691 = 0.1e1 / t1690; + const double t1692 = t1691 * t9; + const double t1693 = t1692 * t17; + const double t1695 = 0.1e1 / t27 / t580; + const double t1696 = t25 * t1695; + const double t1697 = t548 * t548; + const double t1698 = t562 * t1697; + const double t1702 = t550 * t554; + const double t1704 = t553 * t644; + const double t1705 = t18 * t1704; + const double t1707 = t553 * t691; + const double t1708 = t18 * t1707; + const double t1710 = t587 * t587; + const double t1714 = 0.1e1 / t24 / t471; + const double t1715 = t1714 * t16; + const double t1718 = 0.2e1 / 0.81e2 * t34 * t1715 * t39; + const double t1720 = t32 * t33 * t570; + const double t1721 = t1720 * t583; + const double t1724 = 0.1e1 / t576 / t26; + const double t1725 = t16 * t1724; + const double t1726 = t579 * t579; + const double t1727 = 0.1e1 / t1726; + const double t1728 = t38 * t1727; + const double t1730 = t1725 * t1728 * t1697; + const double t1733 = t38 * t1691; + const double t1735 = t578 * t1733 * t1697; + const double t1739 = t578 * t581 * t1685; + const double t1742 = t1718 + t1721 / 0.81e2 - t575 * t1730 / 0.81e2 + t575 * t1735 / 0.27e2 - t575 * t1739 / 0.54e2; + const double t1743 = piecewise_functor_3( t44, t1742, 0.0 ); + const double t1771 = 0.1e1 / t67 / t46; + const double t1776 = t50 * t1710 / 0.6e1 - t568 * t1743 / 0.18e2 - t53 * t1710 / 0.48e2 + t591 * t1743 / 0.24e3 + t56 * t1710 / 0.64e3 - t595 * t1743 / 0.448e4 - t59 * t1710 / 0.1152e5 + t599 * t1743 / 0.10368e6 + t62 * t1710 / 0.258048e6 - t603 * t1743 / 0.2838528e7 - t65 * t1710 / 0.688128e7 + t607 * t1743 / 0.8945664e8 + t68 * t1710 / 0.21233664e9 - t611 * t1743 / 0.31850496e10 - t1771 * t1710 / 0.74317824e10 + t615 * t1743 / 0.1263403008e12; + const double t1777 = piecewise_functor_3( t44, 0.0, t1742 ); + const double t1782 = t77 * t77; + const double t1784 = 0.1e1 / t1782 / t71; + const double t1785 = t619 * t619; + const double t1786 = t1784 * t1785; + const double t1789 = t80 * t626; + const double t1797 = 0.1e1 / t1782; + const double t1805 = 0.1e1 / t1782 / t77; + const double t1806 = t1805 * t1785; + const double t1817 = -0.2e1 * t1797 * t1785 * t80 + t626 * t1777 * t80 / 0.2e1 + t1806 * t80 / 0.4e1 - 0.4e1 * t1785 * t81 - t78 * t1785 * t80 - 0.4e1 * t630 * t1777 - t73 * t1777 * t80; + const double t1820 = -t1786 * t80 / 0.2e1 + 0.2e1 * t1789 * t1785 - t621 * t1777 + 0.2e1 * t1777 * t84 + 0.4e1 * t619 * t635 + 0.2e1 * t71 * t1817; + const double t1824 = piecewise_functor_3( t43, t1776, -0.8e1 / 0.3e1 * t1777 * t87 - 0.16e2 / 0.3e1 * t619 * t638 - 0.8e1 / 0.3e1 * t71 * t1820 ); + const double t1825 = t28 * t1824; + const double t1826 = t1825 * t141; + const double t1827 = t25 * t1826; + const double t1830 = t643 * t690; + const double t1831 = t25 * t1830; + const double t1835 = 0.1e1 / t98 / t111; + const double t1839 = t111 * t648; + const double t1841 = 0.1e1 / t97 / t1839; + const double t1842 = t1841 * t116; + const double t1845 = t94 * t121; + const double t1846 = 0.1e1 / t133; + const double t1847 = t1846 * t126; + const double t1854 = t108 * t131; + const double t1855 = t123 * t111; + const double t1857 = 0.1e1 / t98 / t1855; + const double t1858 = t1857 * t137; + const double t1865 = t120 * t680; + const double t1868 = 0.1e1 / t97 / t123 / t1839; + const double t1869 = t1868 * t686; + const double t1876 = t131 * t109; + const double t1877 = t130 * t1876; + const double t1878 = t123 * t123; + const double t1879 = t1878 * t96; + const double t1880 = 0.1e1 / t1879; + const double t1882 = 0.1e1 / t136 / t115; + const double t1883 = t1880 * t1882; + const double t1886 = 0.39111111111111111112e-1 * t95 * t1835 * t104 - 0.38400000000000000001e-3 * t654 * t1842 + 0.91022222222222222228e-6 * t1845 * t1847 + 0.54044444444444444444e-3 * t110 * t1842 - 0.48924444444444444446e-5 * t663 * t1847 + 0.10922666666666666667e-7 * t1854 * t1858 + 0.4608e-5 * t122 * t1847 - 0.40277333333333333336e-7 * t671 * t1858 + 0.8738133333333333334e-10 * t1865 * t1869 + 0.31857777777777777778e-7 * t132 * t1858 - 0.27306666666666666668e-9 * t681 * t1869 + 0.58254222222222222226e-12 * t1877 * t1883; + const double t1887 = t92 * t1886; + const double t1888 = t25 * t1887; + const double t1892 = t1685 * t9 * t17; + const double t1899 = t1666 - t1669 / 0.96e2 - t558 * t561 * t1672 / 0.32e2 - t558 * t561 * t1677 / 0.32e2 - t558 * t561 * t1686 / 0.64e2 - t1693 * t1696 * t1698 / 0.48e2 - t1702 / 0.32e2 - t1705 / 0.32e2 - t1708 / 0.32e2 - 0.3e1 / 0.64e2 * t18 * t1827 - 0.3e1 / 0.32e2 * t18 * t1831 - 0.3e1 / 0.64e2 * t18 * t1888 - 0.3e1 / 0.64e2 * t1892 * t143 - 0.3e1 / 0.32e2 * t550 * t645 - 0.3e1 / 0.32e2 * t550 * t692; + const double t1900 = piecewise_functor_3( t8, 0.0, t1899 ); + const double t1901 = -t1685; + const double t1903 = t1901 * t9 * t17; + const double t1906 = t699 * t702; + const double t1910 = t1663 * t253; + const double t1912 = t152 * t1910 / 0.96e2; + const double t1913 = t553 * t708; + const double t1915 = t706 * t1913 * t711; + const double t1917 = t553 * t787; + const double t1918 = t152 * t1917; + const double t1920 = t722 * t148; + const double t1921 = 0.1e1 / t1920; + const double t1922 = t1921 * t9; + const double t1923 = t1922 * t17; + const double t1925 = 0.1e1 / t154 / t723; + const double t1926 = t25 * t1925; + const double t1927 = t697 * t697; + const double t1928 = t710 * t1927; + const double t1932 = t785 * t252; + const double t1933 = t1932 * t697; + const double t1937 = t710 * t1901; + const double t1941 = t730 * t730; + const double t1946 = 0.2e1 / 0.81e2 * t34 * t1715 * t156; + const double t1947 = t1720 * t726; + const double t1950 = 0.1e1 / t719 / t153; + const double t1951 = t16 * t1950; + const double t1952 = t722 * t722; + const double t1953 = 0.1e1 / t1952; + const double t1954 = t38 * t1953; + const double t1956 = t1951 * t1954 * t1927; + const double t1959 = t38 * t1921; + const double t1961 = t721 * t1959 * t1927; + const double t1965 = t721 * t724 * t1901; + const double t1968 = t1946 + t1947 / 0.81e2 - t575 * t1956 / 0.81e2 + t575 * t1961 / 0.27e2 - t575 * t1965 / 0.54e2; + const double t1969 = piecewise_functor_3( t161, t1968, 0.0 ); + const double t1997 = 0.1e1 / t184 / t163; + const double t2002 = t167 * t1941 / 0.6e1 - t716 * t1969 / 0.18e2 - t170 * t1941 / 0.48e2 + t734 * t1969 / 0.24e3 + t173 * t1941 / 0.64e3 - t738 * t1969 / 0.448e4 - t176 * t1941 / 0.1152e5 + t742 * t1969 / 0.10368e6 + t179 * t1941 / 0.258048e6 - t746 * t1969 / 0.2838528e7 - t182 * t1941 / 0.688128e7 + t750 * t1969 / 0.8945664e8 + t185 * t1941 / 0.21233664e9 - t754 * t1969 / 0.31850496e10 - t1997 * t1941 / 0.74317824e10 + t758 * t1969 / 0.1263403008e12; + const double t2003 = piecewise_functor_3( t161, 0.0, t1968 ); + const double t2008 = t193 * t193; + const double t2010 = 0.1e1 / t2008 / t188; + const double t2011 = t762 * t762; + const double t2012 = t2010 * t2011; + const double t2015 = t196 * t769; + const double t2023 = 0.1e1 / t2008; + const double t2031 = 0.1e1 / t2008 / t193; + const double t2032 = t2031 * t2011; + const double t2043 = -0.2e1 * t2023 * t2011 * t196 + t769 * t2003 * t196 / 0.2e1 + t2032 * t196 / 0.4e1 - 0.4e1 * t2011 * t197 - t194 * t2011 * t196 - 0.4e1 * t773 * t2003 - t189 * t2003 * t196; + const double t2046 = -t2012 * t196 / 0.2e1 + 0.2e1 * t2015 * t2011 - t764 * t2003 + 0.2e1 * t2003 * t200 + 0.4e1 * t762 * t778 + 0.2e1 * t188 * t2043; + const double t2050 = piecewise_functor_3( t160, t2002, -0.8e1 / 0.3e1 * t2003 * t203 - 0.16e2 / 0.3e1 * t762 * t781 - 0.8e1 / 0.3e1 * t188 * t2046 ); + const double t2051 = t155 * t2050; + const double t2052 = t2051 * t252; + const double t2053 = t25 * t2052; + const double t2057 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1903 * t254 - t1906 / 0.32e2 - 0.3e1 / 0.32e2 * t699 * t788 + t1912 - t1915 / 0.96e2 - t1918 / 0.32e2 - t1923 * t1926 * t1928 / 0.48e2 - t706 * t709 * t1933 / 0.32e2 - t706 * t709 * t1937 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t2053 ); + const double t2058 = piecewise_functor_3( t7, 0.0, t1685 ); + const double t2063 = t260 * t1715 * t264; + const double t2064 = 0.23744444444444444444e-1 * t2063; + const double t2066 = t260 * t571 * t801; + const double t2069 = 0.1e1 / t262 / t579; + const double t2075 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t1697 - t798 * t1685 / 0.3e1 ); + const double t2077 = t260 * t36 * t2075; + const double t2079 = t2064 - 0.35616666666666666666e-1 * t2066 + 0.53425e-1 * t2077; + const double t2081 = 0.62182e-1 * t2079 * t289; + const double t2082 = t805 * t809; + const double t2084 = 0.2e1 * t2082 * t833; + const double t2085 = t808 * t285; + const double t2086 = 0.1e1 / t2085; + const double t2087 = t268 * t2086; + const double t2088 = t831 * t831; + const double t2089 = t2088 * t832; + const double t2091 = 0.2e1 * t2087 * t2089; + const double t2093 = 0.1e1 / t269 / t266; + const double t2094 = t813 * t813; + const double t2095 = t2093 * t2094; + const double t2097 = 0.4e1 / 0.9e1 * t2063; + const double t2099 = t2097 - 0.2e1 / 0.3e1 * t2066 + t2077; + const double t2100 = t811 * t2099; + const double t2102 = 0.39862222222222222223e0 * t2063; + const double t2105 = 0.1e1/safe_math::sqrt( t266 ); + const double t2106 = t2105 * t2094; + const double t2108 = t818 * t2099; + const double t2111 = 0.1e1 / t277 / t471; + const double t2112 = t2111 * t279; + const double t2114 = t276 * t2112 * t281; + const double t2115 = 0.13692777777777777778e0 * t2114; + const double t2117 = t276 * t823 * t827; + const double t2119 = t801 * t801; + const double t2121 = t276 * t280 * t2119; + const double t2123 = t264 * t2075; + const double t2125 = t276 * t280 * t2123; + const double t2127 = -0.9494625e0 * t2095 + 0.1898925e1 * t2100 + t2102 - 0.59793333333333333334e0 * t2066 + 0.8969e0 * t2077 + 0.15358125e0 * t2106 + 0.3071625e0 * t2108 + t2115 - 0.32862666666666666666e0 * t2117 + 0.24647e0 * t2121 + 0.24647e0 * t2125; + const double t2128 = t2127 * t832; + const double t2130 = 0.1e1 * t810 * t2128; + const double t2131 = t808 * t808; + const double t2132 = 0.1e1 / t2131; + const double t2133 = t268 * t2132; + const double t2134 = t288 * t288; + const double t2135 = 0.1e1 / t2134; + const double t2136 = t2088 * t2135; + const double t2138 = 0.16081824322151104822e2 * t2133 * t2136; + const double t2139 = 0.22831111111111111111e-1 * t2063; + const double t2142 = t2139 - 0.34246666666666666666e-1 * t2066 + 0.5137e-1 * t2077; + const double t2145 = t838 * t842; + const double t2148 = t841 * t305; + const double t2149 = 0.1e1 / t2148; + const double t2150 = t300 * t2149; + const double t2151 = t850 * t850; + const double t2152 = t2151 * t851; + const double t2157 = 0.68863333333333333333e0 * t2063; + const double t2162 = 0.17365833333333333333e0 * t2114; + const double t2166 = -0.17648625e1 * t2095 + 0.3529725e1 * t2100 + t2157 - 0.103295e1 * t2066 + 0.1549425e1 * t2077 + 0.31558125e0 * t2106 + 0.6311625e0 * t2108 + t2162 - 0.41678e0 * t2117 + 0.312585e0 * t2121 + 0.312585e0 * t2125; + const double t2167 = t2166 * t851; + const double t2170 = t841 * t841; + const double t2171 = 0.1e1 / t2170; + const double t2172 = t300 * t2171; + const double t2173 = t308 * t308; + const double t2174 = 0.1e1 / t2173; + const double t2175 = t2151 * t2174; + const double t2178 = 0.12361111111111111111e-1 * t2063; + const double t2181 = t2178 - 0.18541666666666666667e-1 * t2066 + 0.278125e-1 * t2077; + const double t2182 = t2181 * t322; + const double t2184 = t857 * t861; + const double t2187 = t860 * t318; + const double t2188 = 0.1e1 / t2187; + const double t2189 = t313 * t2188; + const double t2190 = t869 * t869; + const double t2191 = t2190 * t870; + const double t2196 = 0.40256666666666666667e0 * t2063; + const double t2201 = 0.137975e0 * t2114; + const double t2205 = -0.1294625e1 * t2095 + 0.258925e1 * t2100 + t2196 - 0.60385e0 * t2066 + 0.905775e0 * t2077 + 0.82524375e-1 * t2106 + 0.16504875e0 * t2108 + t2201 - 0.33114e0 * t2117 + 0.248355e0 * t2121 + 0.248355e0 * t2125; + const double t2206 = t2205 * t870; + const double t2209 = t860 * t860; + const double t2210 = 0.1e1 / t2209; + const double t2211 = t313 * t2210; + const double t2212 = t321 * t321; + const double t2213 = 0.1e1 / t2212; + const double t2214 = t2190 * t2213; + const double t2217 = -0.3109e-1 * t2142 * t309 + 0.2e1 * t2145 * t852 - 0.2e1 * t2150 * t2152 + 0.1e1 * t843 * t2167 + 0.32164683177870697974e2 * t2172 * t2175 + t2081 - t2084 + t2091 - t2130 - t2138 - 0.19751789702565206229e-1 * t2182 + 0.11696446794910408142e1 * t2184 * t871 - 0.11696446794910408142e1 * t2189 * t2191 + 0.58482233974552040708e0 * t862 * t2206 + 0.17315755899375863299e2 * t2211 * t2214; + const double t2221 = t298 * t857; + const double t2225 = t2188 * t2190 * t870; + const double t2229 = t861 * t2205 * t870; + const double t2232 = t2210 * t2190; + const double t2233 = t2232 * t2213; + const double t2236 = -t2081 + t2084 - t2091 + t2130 + t2138 + t298 * t2217 + 0.19751789702565206229e-1 * t298 * t2182 - 0.11696446794910408142e1 * t2221 * t880 + 0.11696446794910408142e1 * t878 * t2225 - 0.58482233974552040708e0 * t878 * t2229 - 0.17315755899375863299e2 * t878 * t2233; + const double t2240 = piecewise_functor_3( t8, 0.0, t2058 * t329 / 0.2e1 + t793 * t883 + t258 * t2236 / 0.2e1 ); + const double t2241 = t2240 * t363; + const double t2242 = t887 * t916; + const double t2243 = 0.2e1 * t2242; + const double t2247 = t1841 * t345; + const double t2250 = t334 * t121; + const double t2251 = t1846 * t352; + const double t2258 = t342 * t131; + const double t2259 = t1857 * t359; + const double t2266 = t349 * t680; + const double t2267 = t1868 * t912; + const double t2274 = t356 * t1876; + const double t2276 = 0.1e1 / t358 / t344; + const double t2277 = t1880 * t2276; + const double t2280 = 0.19555555555555555555e1 * t335 * t1835 * t338 - 0.96000000000000000002e0 * t892 * t2247 + 0.11377777777777777778e0 * t2250 * t2251 + 0.13511111111111111111e1 * t343 * t2247 - 0.61155555555555555557e0 * t898 * t2251 + 0.68266666666666666669e-1 * t2258 * t2259 + 0.576e0 * t350 * t2251 - 0.25173333333333333333e0 * t904 * t2259 + 0.27306666666666666666e-1 * t2266 * t2267 + 0.19911111111111111112e0 * t357 * t2259 - 0.85333333333333333333e-1 * t910 * t2267 + 0.91022222222222222219e-2 * t2274 * t2277; + const double t2281 = t332 * t2280; + const double t2282 = piecewise_functor_3( t149, 0.0, t1901 ); + const double t2287 = t260 * t1715 * t368; + const double t2288 = 0.23744444444444444444e-1 * t2287; + const double t2290 = t260 * t571 * t926; + const double t2293 = 0.1e1 / t366 / t722; + const double t2299 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t1927 - t923 * t1901 / 0.3e1 ); + const double t2301 = t260 * t36 * t2299; + const double t2303 = t2288 - 0.35616666666666666666e-1 * t2290 + 0.53425e-1 * t2301; + const double t2305 = 0.62182e-1 * t2303 * t386; + const double t2306 = t930 * t934; + const double t2308 = 0.2e1 * t2306 * t955; + const double t2309 = t933 * t382; + const double t2310 = 0.1e1 / t2309; + const double t2311 = t372 * t2310; + const double t2312 = t953 * t953; + const double t2313 = t2312 * t954; + const double t2315 = 0.2e1 * t2311 * t2313; + const double t2317 = 0.1e1 / t373 / t370; + const double t2318 = t938 * t938; + const double t2319 = t2317 * t2318; + const double t2321 = 0.4e1 / 0.9e1 * t2287; + const double t2323 = t2321 - 0.2e1 / 0.3e1 * t2290 + t2301; + const double t2324 = t936 * t2323; + const double t2326 = 0.39862222222222222223e0 * t2287; + const double t2329 = 0.1e1/safe_math::sqrt( t370 ); + const double t2330 = t2329 * t2318; + const double t2332 = t943 * t2323; + const double t2335 = t276 * t2112 * t378; + const double t2336 = 0.13692777777777777778e0 * t2335; + const double t2338 = t276 * t823 * t949; + const double t2340 = t926 * t926; + const double t2342 = t276 * t280 * t2340; + const double t2344 = t368 * t2299; + const double t2346 = t276 * t280 * t2344; + const double t2348 = -0.9494625e0 * t2319 + 0.1898925e1 * t2324 + t2326 - 0.59793333333333333334e0 * t2290 + 0.8969e0 * t2301 + 0.15358125e0 * t2330 + 0.3071625e0 * t2332 + t2336 - 0.32862666666666666666e0 * t2338 + 0.24647e0 * t2342 + 0.24647e0 * t2346; + const double t2349 = t2348 * t954; + const double t2351 = 0.1e1 * t935 * t2349; + const double t2352 = t933 * t933; + const double t2353 = 0.1e1 / t2352; + const double t2354 = t372 * t2353; + const double t2355 = t385 * t385; + const double t2356 = 0.1e1 / t2355; + const double t2357 = t2312 * t2356; + const double t2359 = 0.16081824322151104822e2 * t2354 * t2357; + const double t2360 = 0.22831111111111111111e-1 * t2287; + const double t2363 = t2360 - 0.34246666666666666666e-1 * t2290 + 0.5137e-1 * t2301; + const double t2366 = t960 * t964; + const double t2369 = t963 * t395; + const double t2370 = 0.1e1 / t2369; + const double t2371 = t390 * t2370; + const double t2372 = t972 * t972; + const double t2373 = t2372 * t973; + const double t2378 = 0.68863333333333333333e0 * t2287; + const double t2383 = 0.17365833333333333333e0 * t2335; + const double t2387 = -0.17648625e1 * t2319 + 0.3529725e1 * t2324 + t2378 - 0.103295e1 * t2290 + 0.1549425e1 * t2301 + 0.31558125e0 * t2330 + 0.6311625e0 * t2332 + t2383 - 0.41678e0 * t2338 + 0.312585e0 * t2342 + 0.312585e0 * t2346; + const double t2388 = t2387 * t973; + const double t2391 = t963 * t963; + const double t2392 = 0.1e1 / t2391; + const double t2393 = t390 * t2392; + const double t2394 = t398 * t398; + const double t2395 = 0.1e1 / t2394; + const double t2396 = t2372 * t2395; + const double t2399 = 0.12361111111111111111e-1 * t2287; + const double t2402 = t2399 - 0.18541666666666666667e-1 * t2290 + 0.278125e-1 * t2301; + const double t2403 = t2402 * t412; + const double t2405 = t979 * t983; + const double t2408 = t982 * t408; + const double t2409 = 0.1e1 / t2408; + const double t2410 = t403 * t2409; + const double t2411 = t991 * t991; + const double t2412 = t2411 * t992; + const double t2417 = 0.40256666666666666667e0 * t2287; + const double t2422 = 0.137975e0 * t2335; + const double t2426 = -0.1294625e1 * t2319 + 0.258925e1 * t2324 + t2417 - 0.60385e0 * t2290 + 0.905775e0 * t2301 + 0.82524375e-1 * t2330 + 0.16504875e0 * t2332 + t2422 - 0.33114e0 * t2338 + 0.248355e0 * t2342 + 0.248355e0 * t2346; + const double t2427 = t2426 * t992; + const double t2430 = t982 * t982; + const double t2431 = 0.1e1 / t2430; + const double t2432 = t403 * t2431; + const double t2433 = t411 * t411; + const double t2434 = 0.1e1 / t2433; + const double t2435 = t2411 * t2434; + const double t2438 = -0.3109e-1 * t2363 * t399 + 0.2e1 * t2366 * t974 - 0.2e1 * t2371 * t2373 + 0.1e1 * t965 * t2388 + 0.32164683177870697974e2 * t2393 * t2396 + t2305 - t2308 + t2315 - t2351 - t2359 - 0.19751789702565206229e-1 * t2403 + 0.11696446794910408142e1 * t2405 * t993 - 0.11696446794910408142e1 * t2410 * t2412 + 0.58482233974552040708e0 * t984 * t2427 + 0.17315755899375863299e2 * t2432 * t2435; + const double t2442 = t298 * t979; + const double t2446 = t2409 * t2411 * t992; + const double t2450 = t983 * t2426 * t992; + const double t2453 = t2431 * t2411; + const double t2454 = t2453 * t2434; + const double t2457 = -t2305 + t2308 - t2315 + t2351 + t2359 + t298 * t2438 + 0.19751789702565206229e-1 * t298 * t2403 - 0.11696446794910408142e1 * t2442 * t1002 + 0.11696446794910408142e1 * t1000 * t2446 - 0.58482233974552040708e0 * t1000 * t2450 - 0.17315755899375863299e2 * t1000 * t2454; + const double t2461 = piecewise_functor_3( t150, 0.0, t2282 * t419 / 0.2e1 + t918 * t1005 + t365 * t2457 / 0.2e1 ); + const double t2462 = t2461 * t448; + const double t2463 = t1053 * t9; + const double t2464 = t2463 * t1093; + const double t2466 = t570 * t1016; + const double t2469 = 0.35616666666666666667e-1 * t260 * t2466 * t1034; + const double t2471 = t15 * t1714 * t504; + const double t2473 = 0.24415406715670879921e-3 * t1091 * t2471; + const double t2475 = 0.8e1 * t1038 * t1087; + const double t2477 = 0.8e1 * t1043 * t1087; + const double t2478 = t1038 * t1054; + const double t2480 = t1053 * t1086; + const double t2481 = t474 * t2480; + const double t2483 = t1043 * t1054; + const double t2485 = t262 * t262; + const double t2486 = 0.1e1 / t2485; + const double t2492 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t1697 + 0.4e1 / 0.3e1 * t262 * t1685 ); + const double t2493 = t366 * t366; + const double t2494 = 0.1e1 / t2493; + const double t2500 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t1927 + 0.4e1 / 0.3e1 * t366 * t1901 ); + const double t2502 = ( t2492 + t2500 ) * t297; + const double t2503 = t2502 * t507; + const double t2505 = t472 * t471; + const double t2506 = 0.1e1 / t2505; + const double t2507 = t470 * t2506; + const double t2509 = 0.2e2 * t2507 * t508; + const double t2510 = -t2240 - t2461 - 0.36623110073506319882e-3 * t2464 - t2469 + t2473 + t2475 - t2477 + 0.8e1 * t2478 + 0.2e1 * t2481 - 0.8e1 * t2483 + t474 * t2503 + t2509; + const double t2511 = t469 * t473; + const double t2513 = 0.12e2 * t2511 * t508; + const double t2514 = t1037 * t1042; + const double t2516 = 0.32e2 * t2514 * t508; + const double t2517 = t14 * t1714; + const double t2520 = 0.14764770444444444444e-2 * t259 * t2517 * t466; + const double t2524 = t570 * t1060; + const double t2528 = t1059 * t487; + const double t2529 = 0.1e1 / t2528; + const double t2530 = t482 * t2529; + const double t2531 = t1066 * t1066; + const double t2532 = t2531 * t1067; + const double t2537 = 0.1e1 / t454 / t451 * t274; + const double t2539 = t2538 * t2111; + const double t2540 = t2537 * t2539; + const double t2542 = t15 * t1714; + const double t2543 = t1019 * t2542; + const double t2545 = t259 * t2517; + const double t2547 = 0.1e1/safe_math::sqrt( t451 ); + const double t2548 = t2547 * t274; + const double t2549 = t2548 * t2539; + const double t2551 = t1026 * t2542; + const double t2554 = t275 * t13 * t2111; + const double t2556 = -0.78438333333333333333e0 * t2540 + 0.15687666666666666667e1 * t2543 + 0.68863333333333333333e0 * t2545 + 0.14025833333333333333e0 * t2549 + 0.28051666666666666667e0 * t2551 + 0.17365833333333333333e0 * t2554; + const double t2557 = t2556 * t1067; + const double t2560 = t1059 * t1059; + const double t2561 = 0.1e1 / t2560; + const double t2562 = t482 * t2561; + const double t2563 = t490 * t490; + const double t2564 = 0.1e1 / t2563; + const double t2565 = t2531 * t2564; + const double t2568 = t1015 * t462; + const double t2569 = 0.1e1 / t2568; + const double t2570 = t453 * t2569; + const double t2571 = t1032 * t1032; + const double t2572 = t2571 * t1033; + const double t2574 = 0.2e1 * t2570 * t2572; + const double t2581 = -0.42198333333333333333e0 * t2540 + 0.84396666666666666666e0 * t2543 + 0.39862222222222222223e0 * t2545 + 0.68258333333333333333e-1 * t2549 + 0.13651666666666666667e0 * t2551 + 0.13692777777777777778e0 * t2554; + const double t2582 = t2581 * t1033; + const double t2584 = 0.1e1 * t1017 * t2582; + const double t2585 = t1015 * t1015; + const double t2586 = 0.1e1 / t2585; + const double t2587 = t453 * t2586; + const double t2588 = t465 * t465; + const double t2589 = 0.1e1 / t2588; + const double t2590 = t2571 * t2589; + const double t2592 = 0.16081824322151104822e2 * t2587 * t2590; + const double t2596 = t570 * t1075; + const double t2600 = t1074 * t500; + const double t2601 = 0.1e1 / t2600; + const double t2602 = t495 * t2601; + const double t2603 = t1081 * t1081; + const double t2604 = t2603 * t1082; + const double t2613 = -0.57538888888888888889e0 * t2540 + 0.11507777777777777778e1 * t2543 + 0.40256666666666666667e0 * t2545 + 0.366775e-1 * t2549 + 0.73355e-1 * t2551 + 0.137975e0 * t2554; + const double t2614 = t2613 * t1082; + const double t2617 = t1074 * t1074; + const double t2618 = 0.1e1 / t2617; + const double t2619 = t495 * t2618; + const double t2620 = t503 * t503; + const double t2621 = 0.1e1 / t2620; + const double t2622 = t2603 * t2621; + const double t2625 = -0.70981924444444444442e-3 * t259 * t2517 * t491 - 0.34246666666666666666e-1 * t260 * t2524 * t1068 - 0.2e1 * t2530 * t2532 + 0.1e1 * t1061 * t2557 + 0.32164683177870697974e2 * t2562 * t2565 + t2520 + t2469 + t2574 - t2584 - t2592 - 0.24415406715670879921e-3 * t259 * t2517 * t504 - 0.10843580882781524214e-1 * t260 * t2596 * t1083 - 0.11696446794910408142e1 * t2602 * t2604 + 0.58482233974552040708e0 * t1076 * t2614 + 0.17315755899375863299e2 * t2619 * t2622; + const double t2626 = t480 * t2625; + const double t2627 = t474 * t2626; + const double t2630 = t480 * t259; + const double t2631 = t1011 * t1098; + const double t2633 = 0.10843580882781524214e-1 * t2630 * t2631; + const double t2634 = t2618 * t2603; + const double t2635 = t2634 * t2621; + const double t2637 = 0.17315755899375863299e2 * t1096 * t2635; + const double t2638 = t1053 * t495; + const double t2639 = t2638 * t1098; + const double t2642 = t1075 * t2613 * t1082; + const double t2644 = 0.58482233974552040708e0 * t1096 * t2642; + const double t2646 = t2601 * t2603 * t1082; + const double t2648 = 0.11696446794910408142e1 * t1096 * t2646; + const double t2649 = t2513 - t2516 - t2520 + t2627 - t2574 + 0.19751789702565206229e-1 * t2502 * t505 + t2592 + t2584 + t2633 - t2637 - 0.11696446794910408142e1 * t2639 - t2644 + t2648; + const double t2650 = t2510 + t2649; + const double t2651 = t2650 * t544; + const double t2652 = t1101 * t1134; + const double t2653 = 0.2e1 * t2652; + const double t2657 = t514 * t109; + const double t2658 = t1841 * t527; + const double t2661 = t534 * t109; + const double t2662 = t2661 * t1841; + const double t2665 = t1107 * t1835; + const double t2668 = t523 * t109; + const double t2675 = t541 * t109; + const double t2676 = t2675 * t1841; + const double t2679 = t1114 * t1835; + const double t2682 = t530 * t515; + const double t2689 = t1129 * t109; + const double t2690 = t2689 * t1841; + const double t2693 = t1121 * t1835; + const double t2696 = t537 * t524; + const double t2704 = 0.1e1 / t540 / t526; + const double t2705 = t2704 * t109; + const double t2712 = 0.29333333333333333333e-1 * t1103 * t1835 * t520 - 0.128e-3 * t2657 * t2658 + 0.384e-6 * t516 * t2662 - 0.88e-4 * t516 * t2665 + 0.128e-3 * t2668 * t2658 - 0.1536e-5 * t1111 * t2662 + 0.176e-3 * t1111 * t2665 + 0.3456e-8 * t525 * t2676 - 0.528e-6 * t525 * t2679 + 0.1152e-5 * t2682 * t2662 - 0.10368e-7 * t1118 * t2676 + 0.792e-6 * t1118 * t2679 + 0.20736e-10 * t532 * t2690 - 0.2376e-8 * t532 * t2693 + 0.6912e-8 * t2696 * t2676 - 0.55296e-10 * t1125 * t2690 + 0.3168e-8 * t1125 * t2693 + 0.10368e-12 * t539 * t2705 * t1841 - 0.9504e-11 * t539 * t1130 * t1835; + const double t2713 = t512 * t2712; + const double t2717 = t2 * t2111 * t260; + const double t2718 = t16 * t23; + const double t2719 = t2718 * t142; + const double t2722 = t1140 * t554; + const double t2733 = t558 * t1667 * t1143; + const double t2737 = t14 * t16 * t23; + const double t2738 = t1692 * t12 * t2737; + const double t2739 = t24 * t1695; + const double t2740 = t2739 * t91; + const double t2741 = t141 * t1138; + const double t2742 = t2741 * t548; + const double t2746 = t1671 * t1138; + const double t2750 = t1676 * t1138; + const double t2754 = t23 * t2111; + const double t2755 = t2754 * t560; + const double t2756 = t562 * t2; + const double t2762 = t553 * t1191; + const double t2763 = t18 * t2762; + const double t2765 = t1189 * t141; + const double t2766 = t2765 * t548; + const double t2770 = t50 * t1152; + const double t2774 = t1720 * t1148; + const double t2776 = t1725 * t38; + const double t2777 = t1727 * t1138; + const double t2779 = t2776 * t2777 * t548; + const double t2782 = t578 * t38; + const double t2783 = t1691 * t1138; + const double t2785 = t2782 * t2783 * t548; + const double t2789 = 0.1e1 / t24 / t1681; + const double t2791 = t32 * t33 * t2789; + const double t2793 = t578 * t581 * t2; + const double t2796 = t1718 + t1721 / 0.162e3 + t2774 / 0.162e3 - t575 * t2779 / 0.81e2 + t575 * t2785 / 0.27e2 - t2791 * t2793 / 0.27e2; + const double t2797 = piecewise_functor_3( t44, t2796, 0.0 ); + const double t2800 = t53 * t1152; + const double t2803 = t591 * t2797; + const double t2805 = t56 * t1152; + const double t2808 = t595 * t2797; + const double t2810 = t59 * t1152; + const double t2813 = t599 * t2797; + const double t2815 = t62 * t1152; + const double t2818 = t603 * t2797; + const double t2820 = t65 * t1152; + const double t2823 = t607 * t2797; + const double t2825 = t68 * t1152; + const double t2828 = t611 * t2797; + const double t2830 = t1771 * t1152; + const double t2833 = t615 * t2797; + const double t2835 = t2770 * t587 / 0.6e1 - t568 * t2797 / 0.18e2 - t2800 * t587 / 0.48e2 + t2803 / 0.24e3 + t2805 * t587 / 0.64e3 - t2808 / 0.448e4 - t2810 * t587 / 0.1152e5 + t2813 / 0.10368e6 + t2815 * t587 / 0.258048e6 - t2818 / 0.2838528e7 - t2820 * t587 / 0.688128e7 + t2823 / 0.8945664e8 + t2825 * t587 / 0.21233664e9 - t2828 / 0.31850496e10 - t2830 * t587 / 0.74317824e10 + t2833 / 0.1263403008e12; + const double t2836 = piecewise_functor_3( t44, 0.0, t2796 ); + const double t2840 = t1784 * t619; + const double t2841 = t80 * t1170; + const double t2844 = t1170 * t619; + const double t2854 = t1797 * t1170; + const double t2855 = t80 * t619; + const double t2861 = t1805 * t1170; + const double t2864 = t619 * t81; + const double t2867 = t78 * t619; + const double t2873 = -0.2e1 * t2854 * t2855 + t626 * t2836 * t80 / 0.2e1 + t2861 * t2855 / 0.4e1 - 0.4e1 * t2864 * t1170 - t2867 * t2841 - 0.4e1 * t630 * t2836 - t73 * t2836 * t80; + const double t2876 = -t2840 * t2841 / 0.2e1 + 0.2e1 * t1789 * t2844 - t621 * t2836 + 0.2e1 * t2836 * t84 + 0.2e1 * t1170 * t635 + 0.2e1 * t619 * t1182 + 0.2e1 * t71 * t2873; + const double t2880 = piecewise_functor_3( t43, t2835, -0.8e1 / 0.3e1 * t1170 * t638 - 0.8e1 / 0.3e1 * t619 * t1185 - 0.8e1 / 0.3e1 * t2836 * t87 - 0.8e1 / 0.3e1 * t71 * t2876 ); + const double t2881 = t28 * t2880; + const double t2882 = t2881 * t141; + const double t2883 = t25 * t2882; + const double t2886 = t1190 * t690; + const double t2887 = t25 * t2886; + const double t2890 = -0.3e1 / 0.32e2 * t2717 * t2719 - t2722 / 0.64e2 - 0.3e1 / 0.64e2 * t1140 * t645 - 0.3e1 / 0.64e2 * t1140 * t692 - t1702 / 0.64e2 + t1666 - t1669 / 0.192e3 - t1705 / 0.64e2 - t1708 / 0.64e2 - t2733 / 0.192e3 - t2738 * t2740 * t2742 / 0.48e2 - t558 * t561 * t2746 / 0.64e2 - t558 * t561 * t2750 / 0.64e2 - t558 * t2755 * t2756 / 0.32e2 - 0.3e1 / 0.64e2 * t550 * t1192 - t2763 / 0.64e2 - t558 * t561 * t2766 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t2883 - 0.3e1 / 0.64e2 * t18 * t2887; + const double t2891 = piecewise_functor_3( t8, 0.0, t2890 ); + const double t2892 = t2718 * t253; + const double t2895 = t1199 * t702; + const double t2903 = t706 * t1913 * t1202; + const double t2906 = t1922 * t12 * t2737; + const double t2907 = t24 * t1925; + const double t2908 = t2907 * t207; + const double t2909 = t252 * t1197; + const double t2910 = t2909 * t697; + const double t2914 = t1932 * t1197; + const double t2918 = t2754 * t708; + const double t2919 = t710 * t2; + const double t2925 = t553 * t1250; + const double t2926 = t152 * t2925; + const double t2928 = t1248 * t252; + const double t2929 = t2928 * t697; + const double t2933 = t167 * t1211; + const double t2937 = t1720 * t1207; + const double t2939 = t1951 * t38; + const double t2940 = t1953 * t1197; + const double t2942 = t2939 * t2940 * t697; + const double t2945 = t721 * t38; + const double t2946 = t1921 * t1197; + const double t2948 = t2945 * t2946 * t697; + const double t2952 = t721 * t724 * t2; + const double t2955 = t1946 + t1947 / 0.162e3 + t2937 / 0.162e3 - t575 * t2942 / 0.81e2 + t575 * t2948 / 0.27e2 + t2791 * t2952 / 0.27e2; + const double t2956 = piecewise_functor_3( t161, t2955, 0.0 ); + const double t2959 = t170 * t1211; + const double t2962 = t734 * t2956; + const double t2964 = t173 * t1211; + const double t2967 = t738 * t2956; + const double t2969 = t176 * t1211; + const double t2972 = t742 * t2956; + const double t2974 = t179 * t1211; + const double t2977 = t746 * t2956; + const double t2979 = t182 * t1211; + const double t2982 = t750 * t2956; + const double t2984 = t185 * t1211; + const double t2987 = t754 * t2956; + const double t2989 = t1997 * t1211; + const double t2992 = t758 * t2956; + const double t2994 = t2933 * t730 / 0.6e1 - t716 * t2956 / 0.18e2 - t2959 * t730 / 0.48e2 + t2962 / 0.24e3 + t2964 * t730 / 0.64e3 - t2967 / 0.448e4 - t2969 * t730 / 0.1152e5 + t2972 / 0.10368e6 + t2974 * t730 / 0.258048e6 - t2977 / 0.2838528e7 - t2979 * t730 / 0.688128e7 + t2982 / 0.8945664e8 + t2984 * t730 / 0.21233664e9 - t2987 / 0.31850496e10 - t2989 * t730 / 0.74317824e10 + t2992 / 0.1263403008e12; + const double t2995 = piecewise_functor_3( t161, 0.0, t2955 ); + const double t2999 = t2010 * t762; + const double t3000 = t196 * t1229; + const double t3003 = t1229 * t762; + const double t3013 = t2023 * t1229; + const double t3014 = t196 * t762; + const double t3020 = t2031 * t1229; + const double t3023 = t762 * t197; + const double t3026 = t194 * t762; + const double t3032 = -0.2e1 * t3013 * t3014 + t769 * t2995 * t196 / 0.2e1 + t3020 * t3014 / 0.4e1 - 0.4e1 * t3023 * t1229 - t3026 * t3000 - 0.4e1 * t773 * t2995 - t189 * t2995 * t196; + const double t3035 = -t2999 * t3000 / 0.2e1 + 0.2e1 * t2015 * t3003 - t764 * t2995 + 0.2e1 * t2995 * t200 + 0.2e1 * t1229 * t778 + 0.2e1 * t762 * t1241 + 0.2e1 * t188 * t3032; + const double t3039 = piecewise_functor_3( t160, t2994, -0.8e1 / 0.3e1 * t1229 * t781 - 0.8e1 / 0.3e1 * t762 * t1244 - 0.8e1 / 0.3e1 * t188 * t3035 - 0.8e1 / 0.3e1 * t2995 * t203 ); + const double t3040 = t155 * t3039; + const double t3041 = t3040 * t252; + const double t3042 = t25 * t3041; + const double t3047 = t553 * t1297; + const double t3048 = t152 * t3047; + const double t3050 = t207 * t1296; + const double t3051 = t3050 * t697; + const double t3055 = t786 * t1296; + const double t3056 = t25 * t3055; + const double t3059 = 0.3e1 / 0.32e2 * t2717 * t2892 - t2895 / 0.64e2 - 0.3e1 / 0.64e2 * t1199 * t788 - t1906 / 0.64e2 + t1912 - t1915 / 0.192e3 - t1918 / 0.64e2 - t2903 / 0.192e3 - t2906 * t2908 * t2910 / 0.48e2 - t706 * t709 * t2914 / 0.64e2 + t706 * t2918 * t2919 / 0.32e2 - 0.3e1 / 0.64e2 * t699 * t1251 - t2926 / 0.64e2 - t706 * t709 * t2929 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3042 - 0.3e1 / 0.64e2 * t699 * t1298 - t3048 / 0.64e2 - t706 * t709 * t3051 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t3056; + const double t3060 = piecewise_functor_3( t150, 0.0, t3059 ); + const double t3061 = 0.2e1 * t1683; + const double t3062 = piecewise_functor_3( t7, 0.0, t3061 ); + const double t3068 = t260 * t571 * t1307; + const double t3070 = t2069 * t1138; + const double t3073 = t798 * t2; + const double t3077 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3070 * t548 - 0.2e1 / 0.3e1 * t3073 * t1682 ); + const double t3079 = t260 * t36 * t3077; + const double t3081 = t2064 - 0.17808333333333333333e-1 * t2066 - 0.17808333333333333333e-1 * t3068 + 0.53425e-1 * t3079; + const double t3083 = 0.62182e-1 * t3081 * t289; + const double t3084 = t1311 * t809; + const double t3086 = 0.1e1 * t3084 * t833; + const double t3088 = 0.1e1 * t2082 * t1325; + const double t3089 = t1325 * t831; + const double t3091 = 0.2e1 * t2087 * t3089; + const double t3092 = t2093 * t1314; + const double t3093 = t3092 * t813; + const double t3097 = t2097 - t2066 / 0.3e1 - t3068 / 0.3e1 + t3079; + const double t3098 = t811 * t3097; + const double t3103 = t2105 * t1314; + const double t3104 = t3103 * t813; + const double t3106 = t818 * t3097; + const double t3110 = t276 * t823 * t1320; + const double t3112 = t801 * t1307; + const double t3114 = t276 * t280 * t3112; + const double t3116 = t264 * t3077; + const double t3118 = t276 * t280 * t3116; + const double t3120 = -0.9494625e0 * t3093 + 0.1898925e1 * t3098 + t2102 - 0.29896666666666666667e0 * t2066 - 0.29896666666666666667e0 * t3068 + 0.8969e0 * t3079 + 0.15358125e0 * t3104 + 0.3071625e0 * t3106 + t2115 - 0.16431333333333333333e0 * t2117 - 0.16431333333333333333e0 * t3110 + 0.24647e0 * t3114 + 0.24647e0 * t3118; + const double t3121 = t3120 * t832; + const double t3123 = 0.1e1 * t810 * t3121; + const double t3124 = t1324 * t2135; + const double t3125 = t3124 * t831; + const double t3127 = 0.16081824322151104822e2 * t2133 * t3125; + const double t3131 = t2139 - 0.17123333333333333333e-1 * t2066 - 0.17123333333333333333e-1 * t3068 + 0.5137e-1 * t3079; + const double t3134 = t1329 * t842; + const double t3139 = t1337 * t850; + const double t3153 = -0.17648625e1 * t3093 + 0.3529725e1 * t3098 + t2157 - 0.516475e0 * t2066 - 0.516475e0 * t3068 + 0.1549425e1 * t3079 + 0.31558125e0 * t3104 + 0.6311625e0 * t3106 + t2162 - 0.20839e0 * t2117 - 0.20839e0 * t3110 + 0.312585e0 * t3114 + 0.312585e0 * t3118; + const double t3154 = t3153 * t851; + const double t3157 = t1336 * t2174; + const double t3158 = t3157 * t850; + const double t3164 = t2178 - 0.92708333333333333333e-2 * t2066 - 0.92708333333333333333e-2 * t3068 + 0.278125e-1 * t3079; + const double t3165 = t3164 * t322; + const double t3167 = t1341 * t861; + const double t3172 = t1349 * t869; + const double t3186 = -0.1294625e1 * t3093 + 0.258925e1 * t3098 + t2196 - 0.301925e0 * t2066 - 0.301925e0 * t3068 + 0.905775e0 * t3079 + 0.82524375e-1 * t3104 + 0.16504875e0 * t3106 + t2201 - 0.16557e0 * t2117 - 0.16557e0 * t3110 + 0.248355e0 * t3114 + 0.248355e0 * t3118; + const double t3187 = t3186 * t870; + const double t3190 = t1348 * t2213; + const double t3191 = t3190 * t869; + const double t3194 = -0.3109e-1 * t3131 * t309 + 0.1e1 * t3134 * t852 + 0.1e1 * t2145 * t1337 - 0.2e1 * t2150 * t3139 + 0.1e1 * t843 * t3154 + 0.32164683177870697974e2 * t2172 * t3158 + t3083 - t3086 - t3088 + t3091 - t3123 - t3127 - 0.19751789702565206229e-1 * t3165 + 0.58482233974552040708e0 * t3167 * t871 + 0.58482233974552040708e0 * t2184 * t1349 - 0.11696446794910408142e1 * t2189 * t3172 + 0.58482233974552040708e0 * t862 * t3187 + 0.17315755899375863299e2 * t2211 * t3191; + const double t3198 = t298 * t1341; + const double t3203 = t2188 * t1348; + const double t3204 = t3203 * t871; + const double t3208 = t861 * t3186 * t870; + const double t3211 = t2210 * t1348; + const double t3212 = t2213 * t869; + const double t3213 = t3211 * t3212; + const double t3216 = -t3083 + t3086 + t3088 - t3091 + t3123 + t3127 + t298 * t3194 + 0.19751789702565206229e-1 * t298 * t3165 - 0.58482233974552040708e0 * t3198 * t880 - 0.58482233974552040708e0 * t2221 * t1357 + 0.11696446794910408142e1 * t878 * t3204 - 0.58482233974552040708e0 * t878 * t3208 - 0.17315755899375863299e2 * t878 * t3213; + const double t3220 = piecewise_functor_3( t8, 0.0, t1303 * t883 / 0.2e1 + t793 * t1360 / 0.2e1 + t258 * t3216 / 0.2e1 + t3062 * t329 / 0.2e1 ); + const double t3221 = t3220 * t363; + const double t3222 = t1364 * t916; + const double t3223 = piecewise_functor_3( t149, 0.0, -t3061 ); + const double t3229 = t260 * t571 * t1370; + const double t3231 = t2293 * t1197; + const double t3234 = t923 * t2; + const double t3238 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3231 * t697 + 0.2e1 / 0.3e1 * t3234 * t1682 ); + const double t3240 = t260 * t36 * t3238; + const double t3242 = t2288 - 0.17808333333333333333e-1 * t2290 - 0.17808333333333333333e-1 * t3229 + 0.53425e-1 * t3240; + const double t3244 = 0.62182e-1 * t3242 * t386; + const double t3245 = t1374 * t934; + const double t3247 = 0.1e1 * t3245 * t955; + const double t3249 = 0.1e1 * t2306 * t1388; + const double t3250 = t1388 * t953; + const double t3252 = 0.2e1 * t2311 * t3250; + const double t3253 = t2317 * t1377; + const double t3254 = t3253 * t938; + const double t3258 = t2321 - t2290 / 0.3e1 - t3229 / 0.3e1 + t3240; + const double t3259 = t936 * t3258; + const double t3264 = t2329 * t1377; + const double t3265 = t3264 * t938; + const double t3267 = t943 * t3258; + const double t3271 = t276 * t823 * t1383; + const double t3273 = t926 * t1370; + const double t3275 = t276 * t280 * t3273; + const double t3277 = t368 * t3238; + const double t3279 = t276 * t280 * t3277; + const double t3281 = -0.9494625e0 * t3254 + 0.1898925e1 * t3259 + t2326 - 0.29896666666666666667e0 * t2290 - 0.29896666666666666667e0 * t3229 + 0.8969e0 * t3240 + 0.15358125e0 * t3265 + 0.3071625e0 * t3267 + t2336 - 0.16431333333333333333e0 * t2338 - 0.16431333333333333333e0 * t3271 + 0.24647e0 * t3275 + 0.24647e0 * t3279; + const double t3282 = t3281 * t954; + const double t3284 = 0.1e1 * t935 * t3282; + const double t3285 = t1387 * t2356; + const double t3286 = t3285 * t953; + const double t3288 = 0.16081824322151104822e2 * t2354 * t3286; + const double t3292 = t2360 - 0.17123333333333333333e-1 * t2290 - 0.17123333333333333333e-1 * t3229 + 0.5137e-1 * t3240; + const double t3295 = t1392 * t964; + const double t3300 = t1400 * t972; + const double t3314 = -0.17648625e1 * t3254 + 0.3529725e1 * t3259 + t2378 - 0.516475e0 * t2290 - 0.516475e0 * t3229 + 0.1549425e1 * t3240 + 0.31558125e0 * t3265 + 0.6311625e0 * t3267 + t2383 - 0.20839e0 * t2338 - 0.20839e0 * t3271 + 0.312585e0 * t3275 + 0.312585e0 * t3279; + const double t3315 = t3314 * t973; + const double t3318 = t1399 * t2395; + const double t3319 = t3318 * t972; + const double t3325 = t2399 - 0.92708333333333333333e-2 * t2290 - 0.92708333333333333333e-2 * t3229 + 0.278125e-1 * t3240; + const double t3326 = t3325 * t412; + const double t3328 = t1404 * t983; + const double t3333 = t1412 * t991; + const double t3347 = -0.1294625e1 * t3254 + 0.258925e1 * t3259 + t2417 - 0.301925e0 * t2290 - 0.301925e0 * t3229 + 0.905775e0 * t3240 + 0.82524375e-1 * t3265 + 0.16504875e0 * t3267 + t2422 - 0.16557e0 * t2338 - 0.16557e0 * t3271 + 0.248355e0 * t3275 + 0.248355e0 * t3279; + const double t3348 = t3347 * t992; + const double t3351 = t1411 * t2434; + const double t3352 = t3351 * t991; + const double t3355 = -0.3109e-1 * t3292 * t399 + 0.1e1 * t3295 * t974 + 0.1e1 * t2366 * t1400 - 0.2e1 * t2371 * t3300 + 0.1e1 * t965 * t3315 + 0.32164683177870697974e2 * t2393 * t3319 + t3244 - t3247 - t3249 + t3252 - t3284 - t3288 - 0.19751789702565206229e-1 * t3326 + 0.58482233974552040708e0 * t3328 * t993 + 0.58482233974552040708e0 * t2405 * t1412 - 0.11696446794910408142e1 * t2410 * t3333 + 0.58482233974552040708e0 * t984 * t3348 + 0.17315755899375863299e2 * t2432 * t3352; + const double t3359 = t298 * t1404; + const double t3364 = t2409 * t1411; + const double t3365 = t3364 * t993; + const double t3369 = t983 * t3347 * t992; + const double t3372 = t2431 * t1411; + const double t3373 = t2434 * t991; + const double t3374 = t3372 * t3373; + const double t3377 = -t3244 + t3247 + t3249 - t3252 + t3284 + t3288 + t298 * t3355 + 0.19751789702565206229e-1 * t298 * t3326 - 0.58482233974552040708e0 * t3359 * t1002 - 0.58482233974552040708e0 * t2442 * t1420 + 0.11696446794910408142e1 * t1000 * t3365 - 0.58482233974552040708e0 * t1000 * t3369 - 0.17315755899375863299e2 * t1000 * t3374; + const double t3381 = piecewise_functor_3( t150, 0.0, t1366 * t1005 / 0.2e1 + t918 * t1423 / 0.2e1 + t3223 * t419 / 0.2e1 + t365 * t3377 / 0.2e1 ); + const double t3382 = t3381 * t448; + const double t3383 = t1009 * t1456; + const double t3384 = t1038 * t1466; + const double t3386 = t1043 * t1466; + const double t3388 = t1465 * t1086; + const double t3389 = t474 * t3388; + const double t3390 = t2486 * t1138; + const double t3393 = t262 * t2; + const double t3397 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t3390 * t548 + 0.8e1 / 0.3e1 * t3393 * t1682 ); + const double t3398 = t2494 * t1197; + const double t3401 = t366 * t2; + const double t3405 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t3398 * t697 - 0.8e1 / 0.3e1 * t3401 * t1682 ); + const double t3407 = ( t3397 + t3405 ) * t297; + const double t3408 = t3407 * t507; + const double t3410 = t1465 * t9; + const double t3411 = t3410 * t1093; + const double t3416 = t1465 * t495; + const double t3417 = t3416 * t1098; + const double t3420 = -t3381 + 0.4e1 * t3384 - 0.4e1 * t3386 + t3389 + t474 * t3408 - 0.18311555036753159941e-3 * t3411 + 0.19751789702565206229e-1 * t3407 * t505 - 0.18311555036753159941e-3 * t2464 - t2469 + t2473 - 0.58482233974552040708e0 * t3417 - t2477 - 0.4e1 * t2478 + t2481; + const double t3423 = -0.4e1 * t2483 + t2509 - t2513 - t2520 + t2627 - t3220 - t2574 + t2592 + t2584 + t2633 - t2637 - 0.58482233974552040708e0 * t2639 - t2644 + t2648; + const double t3424 = t3420 + t3423; + const double t3425 = t3424 * t544; + const double t3426 = t1470 * t1134; + const double t3427 = t1101 * t1498; + const double t3428 = t1472 * t1256; + const double t3431 = t516 * t534; + const double t3432 = sigma_bb * t1256; + const double t3433 = sigma_aa * t650; + const double t3434 = t3432 * t3433; + const double t3437 = t523 * sigma_aa; + const double t3438 = t3437 * t650; + const double t3441 = t1111 * t534; + const double t3444 = t525 * t541; + const double t3447 = t2682 * t534; + const double t3450 = t1118 * t541; + const double t3453 = t532 * t1129; + const double t3456 = t2696 * t541; + const double t3459 = t1125 * t1129; + const double t3462 = t539 * t2704; + const double t3465 = -0.128e-3 * t3428 * t1108 + 0.384e-6 * t3431 * t3434 + 0.128e-3 * t3438 * t1477 - 0.1536e-5 * t3441 * t3434 + 0.3456e-8 * t3444 * t3434 + 0.1152e-5 * t3447 * t3434 - 0.10368e-7 * t3450 * t3434 + 0.20736e-10 * t3453 * t3434 + 0.6912e-8 * t3456 * t3434 - 0.55296e-10 * t3459 * t3434 + 0.10368e-12 * t3462 * t3434; + const double t3466 = t512 * t3465; + const double t3477 = 0.2e1 * t546 + 0.2e1 * t1683; + const double t3479 = t3477 * t9 * t17; + const double t3487 = t1138 * t1138; + const double t3488 = t562 * t3487; + const double t3492 = t2765 * t1138; + const double t3496 = t562 * t3477; + const double t3500 = t1152 * t1152; + const double t3505 = t1725 * t1728 * t3487; + const double t3509 = t578 * t1733 * t3487; + const double t3513 = t578 * t581 * t3477; + const double t3516 = t1718 + t2774 / 0.81e2 - t575 * t3505 / 0.81e2 + t575 * t3509 / 0.27e2 - t575 * t3513 / 0.54e2; + const double t3517 = piecewise_functor_3( t44, t3516, 0.0 ); + const double t3520 = t53 * t3500; + const double t3522 = t591 * t3517; + const double t3524 = t56 * t3500; + const double t3526 = t595 * t3517; + const double t3528 = t59 * t3500; + const double t3530 = t599 * t3517; + const double t3532 = t62 * t3500; + const double t3534 = t603 * t3517; + const double t3536 = t65 * t3500; + const double t3538 = t607 * t3517; + const double t3540 = t68 * t3500; + const double t3542 = t611 * t3517; + const double t3544 = t1771 * t3500; + const double t3546 = t615 * t3517; + const double t3548 = t50 * t3500 / 0.6e1 - t568 * t3517 / 0.18e2 - t3520 / 0.48e2 + t3522 / 0.24e3 + t3524 / 0.64e3 - t3526 / 0.448e4 - t3528 / 0.1152e5 + t3530 / 0.10368e6 + t3532 / 0.258048e6 - t3534 / 0.2838528e7 - t3536 / 0.688128e7 + t3538 / 0.8945664e8 + t3540 / 0.21233664e9 - t3542 / 0.31850496e10 - t3544 / 0.74317824e10 + t3546 / 0.1263403008e12; + const double t3549 = piecewise_functor_3( t44, 0.0, t3516 ); + const double t3554 = t1170 * t1170; + const double t3555 = t1784 * t3554; + const double t3571 = t1805 * t3554; + const double t3582 = -0.2e1 * t1797 * t3554 * t80 + t626 * t3549 * t80 / 0.2e1 + t3571 * t80 / 0.4e1 - 0.4e1 * t3554 * t81 - t78 * t3554 * t80 - 0.4e1 * t630 * t3549 - t73 * t3549 * t80; + const double t3585 = -t3555 * t80 / 0.2e1 + 0.2e1 * t1789 * t3554 - t621 * t3549 + 0.2e1 * t3549 * t84 + 0.4e1 * t1170 * t1182 + 0.2e1 * t71 * t3582; + const double t3589 = piecewise_functor_3( t43, t3548, -0.8e1 / 0.3e1 * t3549 * t87 - 0.16e2 / 0.3e1 * t1170 * t1185 - 0.8e1 / 0.3e1 * t71 * t3585 ); + const double t3590 = t28 * t3589; + const double t3591 = t3590 * t141; + const double t3592 = t25 * t3591; + const double t3596 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t3479 * t143 - t2722 / 0.32e2 - 0.3e1 / 0.32e2 * t1140 * t1192 + t1666 - t2733 / 0.96e2 - t2763 / 0.32e2 - t1693 * t1696 * t3488 / 0.48e2 - t558 * t561 * t3492 / 0.32e2 - t558 * t561 * t3496 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t3592 ); + const double t3598 = t2928 * t1197; + const double t3602 = t3050 * t1197; + const double t3606 = -t3477; + const double t3607 = t710 * t3606; + const double t3611 = t1197 * t1197; + const double t3612 = t710 * t3611; + const double t3619 = t1211 * t1211; + const double t3624 = t1951 * t1954 * t3611; + const double t3628 = t721 * t1959 * t3611; + const double t3632 = t721 * t724 * t3606; + const double t3635 = t1946 + t2937 / 0.81e2 - t575 * t3624 / 0.81e2 + t575 * t3628 / 0.27e2 - t575 * t3632 / 0.54e2; + const double t3636 = piecewise_functor_3( t161, t3635, 0.0 ); + const double t3639 = t170 * t3619; + const double t3641 = t734 * t3636; + const double t3643 = t173 * t3619; + const double t3645 = t738 * t3636; + const double t3647 = t176 * t3619; + const double t3649 = t742 * t3636; + const double t3651 = t179 * t3619; + const double t3653 = t746 * t3636; + const double t3655 = t182 * t3619; + const double t3657 = t750 * t3636; + const double t3659 = t185 * t3619; + const double t3661 = t754 * t3636; + const double t3663 = t1997 * t3619; + const double t3665 = t758 * t3636; + const double t3667 = t167 * t3619 / 0.6e1 - t716 * t3636 / 0.18e2 - t3639 / 0.48e2 + t3641 / 0.24e3 + t3643 / 0.64e3 - t3645 / 0.448e4 - t3647 / 0.1152e5 + t3649 / 0.10368e6 + t3651 / 0.258048e6 - t3653 / 0.2838528e7 - t3655 / 0.688128e7 + t3657 / 0.8945664e8 + t3659 / 0.21233664e9 - t3661 / 0.31850496e10 - t3663 / 0.74317824e10 + t3665 / 0.1263403008e12; + const double t3668 = piecewise_functor_3( t161, 0.0, t3635 ); + const double t3673 = t1229 * t1229; + const double t3674 = t2010 * t3673; + const double t3690 = t2031 * t3673; + const double t3701 = -0.2e1 * t2023 * t3673 * t196 + t769 * t3668 * t196 / 0.2e1 + t3690 * t196 / 0.4e1 - 0.4e1 * t3673 * t197 - t194 * t3673 * t196 - 0.4e1 * t773 * t3668 - t189 * t3668 * t196; + const double t3704 = -t3674 * t196 / 0.2e1 + 0.2e1 * t2015 * t3673 - t764 * t3668 + 0.2e1 * t3668 * t200 + 0.4e1 * t1229 * t1241 + 0.2e1 * t188 * t3701; + const double t3708 = piecewise_functor_3( t160, t3667, -0.8e1 / 0.3e1 * t3668 * t203 - 0.16e2 / 0.3e1 * t1229 * t1244 - 0.8e1 / 0.3e1 * t188 * t3704 ); + const double t3709 = t155 * t3708; + const double t3710 = t3709 * t252; + const double t3711 = t25 * t3710; + const double t3714 = t1249 * t1296; + const double t3715 = t25 * t3714; + const double t3719 = 0.1e1 / t212 / t224; + const double t3723 = t224 * t1254; + const double t3725 = 0.1e1 / t211 / t3723; + const double t3726 = t3725 * t229; + const double t3729 = t94 * t233; + const double t3730 = 0.1e1 / t244; + const double t3731 = t3730 * t238; + const double t3738 = t108 * t242; + const double t3739 = t235 * t224; + const double t3741 = 0.1e1 / t212 / t3739; + const double t3742 = t3741 * t248; + const double t3749 = t120 * t1286; + const double t3752 = 0.1e1 / t211 / t235 / t3723; + const double t3753 = t3752 * t1292; + const double t3760 = t242 * t222; + const double t3761 = t130 * t3760; + const double t3762 = t235 * t235; + const double t3763 = t3762 * t210; + const double t3764 = 0.1e1 / t3763; + const double t3766 = 0.1e1 / t247 / t228; + const double t3767 = t3764 * t3766; + const double t3770 = 0.39111111111111111112e-1 * t209 * t3719 * t218 - 0.38400000000000000001e-3 * t1260 * t3726 + 0.91022222222222222228e-6 * t3729 * t3731 + 0.54044444444444444444e-3 * t223 * t3726 - 0.48924444444444444446e-5 * t1269 * t3731 + 0.10922666666666666667e-7 * t3738 * t3742 + 0.4608e-5 * t234 * t3731 - 0.40277333333333333336e-7 * t1277 * t3742 + 0.8738133333333333334e-10 * t3749 * t3753 + 0.31857777777777777778e-7 * t243 * t3742 - 0.27306666666666666668e-9 * t1287 * t3753 + 0.58254222222222222226e-12 * t3761 * t3767; + const double t3771 = t208 * t3770; + const double t3772 = t25 * t3771; + const double t3776 = t3606 * t9 * t17; + const double t3783 = -t2903 / 0.96e2 - t706 * t709 * t3598 / 0.32e2 - t706 * t709 * t3602 / 0.32e2 - t706 * t709 * t3607 / 0.64e2 - t1923 * t1926 * t3612 / 0.48e2 - t3048 / 0.32e2 - t2926 / 0.32e2 - t2895 / 0.32e2 + t1912 - 0.3e1 / 0.64e2 * t152 * t3711 - 0.3e1 / 0.32e2 * t152 * t3715 - 0.3e1 / 0.64e2 * t152 * t3772 - 0.3e1 / 0.64e2 * t3776 * t254 - 0.3e1 / 0.32e2 * t1199 * t1251 - 0.3e1 / 0.32e2 * t1199 * t1298; + const double t3784 = piecewise_functor_3( t150, 0.0, t3783 ); + const double t3785 = piecewise_functor_3( t7, 0.0, t3477 ); + const double t3795 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2069 * t3487 - t798 * t3477 / 0.3e1 ); + const double t3797 = t260 * t36 * t3795; + const double t3799 = t2064 - 0.35616666666666666666e-1 * t3068 + 0.53425e-1 * t3797; + const double t3801 = 0.62182e-1 * t3799 * t289; + const double t3803 = 0.2e1 * t3084 * t1325; + const double t3804 = t1324 * t1324; + const double t3805 = t3804 * t832; + const double t3807 = 0.2e1 * t2087 * t3805; + const double t3808 = t1314 * t1314; + const double t3809 = t2093 * t3808; + const double t3812 = t2097 - 0.2e1 / 0.3e1 * t3068 + t3797; + const double t3813 = t811 * t3812; + const double t3817 = t2105 * t3808; + const double t3819 = t818 * t3812; + const double t3822 = t1307 * t1307; + const double t3824 = t276 * t280 * t3822; + const double t3826 = t264 * t3795; + const double t3828 = t276 * t280 * t3826; + const double t3830 = -0.9494625e0 * t3809 + 0.1898925e1 * t3813 + t2102 - 0.59793333333333333334e0 * t3068 + 0.8969e0 * t3797 + 0.15358125e0 * t3817 + 0.3071625e0 * t3819 + t2115 - 0.32862666666666666666e0 * t3110 + 0.24647e0 * t3824 + 0.24647e0 * t3828; + const double t3831 = t3830 * t832; + const double t3833 = 0.1e1 * t810 * t3831; + const double t3834 = t3804 * t2135; + const double t3836 = 0.16081824322151104822e2 * t2133 * t3834; + const double t3839 = t2139 - 0.34246666666666666666e-1 * t3068 + 0.5137e-1 * t3797; + const double t3844 = t1336 * t1336; + const double t3845 = t3844 * t851; + const double t3857 = -0.17648625e1 * t3809 + 0.3529725e1 * t3813 + t2157 - 0.103295e1 * t3068 + 0.1549425e1 * t3797 + 0.31558125e0 * t3817 + 0.6311625e0 * t3819 + t2162 - 0.41678e0 * t3110 + 0.312585e0 * t3824 + 0.312585e0 * t3828; + const double t3858 = t3857 * t851; + const double t3861 = t3844 * t2174; + const double t3866 = t2178 - 0.18541666666666666667e-1 * t3068 + 0.278125e-1 * t3797; + const double t3867 = t3866 * t322; + const double t3871 = t1348 * t1348; + const double t3872 = t3871 * t870; + const double t3884 = -0.1294625e1 * t3809 + 0.258925e1 * t3813 + t2196 - 0.60385e0 * t3068 + 0.905775e0 * t3797 + 0.82524375e-1 * t3817 + 0.16504875e0 * t3819 + t2201 - 0.33114e0 * t3110 + 0.248355e0 * t3824 + 0.248355e0 * t3828; + const double t3885 = t3884 * t870; + const double t3888 = t3871 * t2213; + const double t3891 = -0.3109e-1 * t3839 * t309 + 0.2e1 * t3134 * t1337 - 0.2e1 * t2150 * t3845 + 0.1e1 * t843 * t3858 + 0.32164683177870697974e2 * t2172 * t3861 + t3801 - t3803 + t3807 - t3833 - t3836 - 0.19751789702565206229e-1 * t3867 + 0.11696446794910408142e1 * t3167 * t1349 - 0.11696446794910408142e1 * t2189 * t3872 + 0.58482233974552040708e0 * t862 * t3885 + 0.17315755899375863299e2 * t2211 * t3888; + const double t3898 = t2188 * t3871 * t870; + const double t3902 = t861 * t3884 * t870; + const double t3905 = t2210 * t3871; + const double t3906 = t3905 * t2213; + const double t3909 = -t3801 + t3803 - t3807 + t3833 + t3836 + t298 * t3891 + 0.19751789702565206229e-1 * t298 * t3867 - 0.11696446794910408142e1 * t3198 * t1357 + 0.11696446794910408142e1 * t878 * t3898 - 0.58482233974552040708e0 * t878 * t3902 - 0.17315755899375863299e2 * t878 * t3906; + const double t3913 = piecewise_functor_3( t8, 0.0, t3785 * t329 / 0.2e1 + t1303 * t1360 + t258 * t3909 / 0.2e1 ); + const double t3914 = t3913 * t363; + const double t3915 = piecewise_functor_3( t149, 0.0, t3606 ); + const double t3925 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2293 * t3611 - t923 * t3606 / 0.3e1 ); + const double t3927 = t260 * t36 * t3925; + const double t3929 = t2288 - 0.35616666666666666666e-1 * t3229 + 0.53425e-1 * t3927; + const double t3931 = 0.62182e-1 * t3929 * t386; + const double t3933 = 0.2e1 * t3245 * t1388; + const double t3934 = t1387 * t1387; + const double t3935 = t3934 * t954; + const double t3937 = 0.2e1 * t2311 * t3935; + const double t3938 = t1377 * t1377; + const double t3939 = t2317 * t3938; + const double t3942 = t2321 - 0.2e1 / 0.3e1 * t3229 + t3927; + const double t3943 = t936 * t3942; + const double t3947 = t2329 * t3938; + const double t3949 = t943 * t3942; + const double t3952 = t1370 * t1370; + const double t3954 = t276 * t280 * t3952; + const double t3956 = t368 * t3925; + const double t3958 = t276 * t280 * t3956; + const double t3960 = -0.9494625e0 * t3939 + 0.1898925e1 * t3943 + t2326 - 0.59793333333333333334e0 * t3229 + 0.8969e0 * t3927 + 0.15358125e0 * t3947 + 0.3071625e0 * t3949 + t2336 - 0.32862666666666666666e0 * t3271 + 0.24647e0 * t3954 + 0.24647e0 * t3958; + const double t3961 = t3960 * t954; + const double t3963 = 0.1e1 * t935 * t3961; + const double t3964 = t3934 * t2356; + const double t3966 = 0.16081824322151104822e2 * t2354 * t3964; + const double t3969 = t2360 - 0.34246666666666666666e-1 * t3229 + 0.5137e-1 * t3927; + const double t3974 = t1399 * t1399; + const double t3975 = t3974 * t973; + const double t3987 = -0.17648625e1 * t3939 + 0.3529725e1 * t3943 + t2378 - 0.103295e1 * t3229 + 0.1549425e1 * t3927 + 0.31558125e0 * t3947 + 0.6311625e0 * t3949 + t2383 - 0.41678e0 * t3271 + 0.312585e0 * t3954 + 0.312585e0 * t3958; + const double t3988 = t3987 * t973; + const double t3991 = t3974 * t2395; + const double t3996 = t2399 - 0.18541666666666666667e-1 * t3229 + 0.278125e-1 * t3927; + const double t3997 = t3996 * t412; + const double t4001 = t1411 * t1411; + const double t4002 = t4001 * t992; + const double t4014 = -0.1294625e1 * t3939 + 0.258925e1 * t3943 + t2417 - 0.60385e0 * t3229 + 0.905775e0 * t3927 + 0.82524375e-1 * t3947 + 0.16504875e0 * t3949 + t2422 - 0.33114e0 * t3271 + 0.248355e0 * t3954 + 0.248355e0 * t3958; + const double t4015 = t4014 * t992; + const double t4018 = t4001 * t2434; + const double t4021 = -0.3109e-1 * t3969 * t399 + 0.2e1 * t3295 * t1400 - 0.2e1 * t2371 * t3975 + 0.1e1 * t965 * t3988 + 0.32164683177870697974e2 * t2393 * t3991 + t3931 - t3933 + t3937 - t3963 - t3966 - 0.19751789702565206229e-1 * t3997 + 0.11696446794910408142e1 * t3328 * t1412 - 0.11696446794910408142e1 * t2410 * t4002 + 0.58482233974552040708e0 * t984 * t4015 + 0.17315755899375863299e2 * t2432 * t4018; + const double t4028 = t2409 * t4001 * t992; + const double t4032 = t983 * t4014 * t992; + const double t4035 = t2431 * t4001; + const double t4036 = t4035 * t2434; + const double t4039 = -t3931 + t3933 - t3937 + t3963 + t3966 + t298 * t4021 + 0.19751789702565206229e-1 * t298 * t3997 - 0.11696446794910408142e1 * t3359 * t1420 + 0.11696446794910408142e1 * t1000 * t4028 - 0.58482233974552040708e0 * t1000 * t4032 - 0.17315755899375863299e2 * t1000 * t4036; + const double t4043 = piecewise_functor_3( t150, 0.0, t3915 * t419 / 0.2e1 + t1366 * t1423 + t365 * t4039 / 0.2e1 ); + const double t4044 = t4043 * t448; + const double t4045 = t1427 * t1456; + const double t4046 = 0.2e1 * t4045; + const double t4050 = t3725 * t432; + const double t4053 = t334 * t233; + const double t4054 = t3730 * t438; + const double t4061 = t342 * t242; + const double t4062 = t3741 * t444; + const double t4069 = t349 * t1286; + const double t4070 = t3752 * t1452; + const double t4077 = t356 * t3760; + const double t4079 = 0.1e1 / t443 / t431; + const double t4080 = t3764 * t4079; + const double t4083 = 0.19555555555555555555e1 * t423 * t3719 * t426 - 0.96000000000000000002e0 * t1432 * t4050 + 0.11377777777777777778e0 * t4053 * t4054 + 0.13511111111111111111e1 * t430 * t4050 - 0.61155555555555555557e0 * t1438 * t4054 + 0.68266666666666666669e-1 * t4061 * t4062 + 0.576e0 * t436 * t4054 - 0.25173333333333333333e0 * t1444 * t4062 + 0.27306666666666666666e-1 * t4069 * t4070 + 0.19911111111111111112e0 * t442 * t4062 - 0.85333333333333333333e-1 * t1450 * t4070 + 0.91022222222222222219e-2 * t4077 * t4080; + const double t4084 = t422 * t4083; + const double t4090 = piecewise_functor_3( t7, 0.0, 0.4e1 / 0.9e1 * t2486 * t3487 + 0.4e1 / 0.3e1 * t262 * t3477 ); + const double t4096 = piecewise_functor_3( t149, 0.0, 0.4e1 / 0.9e1 * t2494 * t3611 + 0.4e1 / 0.3e1 * t366 * t3606 ); + const double t4098 = ( t4090 + t4096 ) * t297; + const double t4104 = t4098 * t507; + const double t4108 = -t4043 + 0.19751789702565206229e-1 * t4098 * t505 - t3913 - 0.8e1 * t3384 - 0.8e1 * t3386 + 0.2e1 * t3389 + t474 * t4104 - 0.36623110073506319882e-3 * t3411 - t2469 + t2473 - 0.11696446794910408142e1 * t3417 - t2475; + const double t4109 = -t2477 + t2509 + t2513 + t2516 - t2520 + t2627 - t2574 + t2592 + t2584 + t2633 - t2637 - t2644 + t2648; + const double t4110 = t4108 + t4109; + const double t4111 = t4110 * t544; + const double t4112 = t1470 * t1498; + const double t4113 = 0.2e1 * t4112; + const double t4117 = t514 * t222; + const double t4118 = t3725 * t527; + const double t4121 = t534 * t222; + const double t4122 = t4121 * t3725; + const double t4125 = t1476 * t3719; + const double t4128 = t523 * t222; + const double t4135 = t541 * t222; + const double t4136 = t4135 * t3725; + const double t4139 = t1482 * t3719; + const double t4148 = t1129 * t222; + const double t4149 = t4148 * t3725; + const double t4152 = t1488 * t3719; + const double t4161 = t2704 * t222; + const double t4168 = 0.29333333333333333333e-1 * t1472 * t3719 * t520 - 0.128e-3 * t4117 * t4118 + 0.384e-6 * t516 * t4122 - 0.88e-4 * t516 * t4125 + 0.128e-3 * t4128 * t4118 - 0.1536e-5 * t1111 * t4122 + 0.176e-3 * t1111 * t4125 + 0.3456e-8 * t525 * t4136 - 0.528e-6 * t525 * t4139 + 0.1152e-5 * t2682 * t4122 - 0.10368e-7 * t1118 * t4136 + 0.792e-6 * t1118 * t4139 + 0.20736e-10 * t532 * t4149 - 0.2376e-8 * t532 * t4152 + 0.6912e-8 * t2696 * t4136 - 0.55296e-10 * t1125 * t4149 + 0.3168e-8 * t1125 * t4152 + 0.10368e-12 * t539 * t4161 * t3725 - 0.9504e-11 * t539 * t1494 * t3719; + const double t4169 = t512 * t4168; + const double t4174 = t553 * t1527; + const double t4176 = t18 * t4174 / 0.64e2; + const double t4177 = t91 * t1526; + const double t4178 = t4177 * t548; + const double t4182 = t643 * t1526; + const double t4183 = t25 * t4182; + const double t4189 = t94 * t657; + const double t4190 = t116 * sigma_aa; + const double t4211 = t1878 * rho_a; + const double t4212 = 0.1e1 / t4211; + const double t4213 = t4212 * t1882; + const double t4216 = -0.10666666666666666667e-1 * t94 * t650 * t104 + 0.128e-3 * t4189 * t4190 - 0.34133333333333333334e-6 * t654 * t666 - 0.17066666666666666667e-3 * t1507 * t658 + 0.17066666666666666667e-5 * t110 * t666 - 0.40960000000000000001e-8 * t663 * t675 - 0.1536e-5 * t1512 * t666 + 0.14336e-7 * t122 * t675 - 0.32768000000000000001e-10 * t671 * t687 - 0.10922666666666666667e-7 * t1517 * t675 + 0.98304000000000000001e-10 * t132 * t687 - 0.21845333333333333334e-12 * t681 * t4213; + const double t4217 = t92 * t4216; + const double t4218 = t25 * t4217; + const double t4222 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t550 * t1528 - t4176 - t558 * t561 * t4178 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4183 - 0.3e1 / 0.64e2 * t18 * t4218 ); + const double t4223 = t887 * t1553; + const double t4227 = t334 * t657; + const double t4228 = t345 * sigma_aa; + const double t4249 = t4212 * t2276; + const double t4252 = -0.53333333333333333333e0 * t334 * t650 * t338 + 0.32e0 * t4227 * t4228 - 0.42666666666666666668e-1 * t892 * t899 - 0.42666666666666666667e0 * t1537 * t893 + 0.21333333333333333334e0 * t343 * t899 - 0.256e-1 * t898 * t905 - 0.192e0 * t1542 * t899 + 0.896e-1 * t350 * t905 - 0.1024e-1 * t904 * t913 - 0.68266666666666666667e-1 * t1547 * t905 + 0.3072e-1 * t357 * t913 - 0.34133333333333333332e-2 * t910 * t4249; + const double t4253 = t332 * t4252; + const double t4254 = t1101 * t1576; + const double t4255 = t514 * t650; + const double t4258 = t514 * t657; + const double t4261 = t534 * t657; + const double t4262 = t4261 * sigma_aa; + const double t4265 = t527 * t650; + const double t4275 = t541 * t657; + const double t4276 = t4275 * sigma_aa; + const double t4279 = t534 * t650; + const double t4288 = t1129 * t657; + const double t4289 = t4288 * sigma_aa; + const double t4292 = t541 * t650; + const double t4301 = t2704 * t657; + const double t4308 = -0.8e-2 * t4255 * t520 + 0.48e-4 * t4258 * t1107 - 0.144e-6 * t516 * t4262 + 0.24e-4 * t516 * t4265 - 0.48e-4 * t3437 * t657 * t527 + 0.576e-6 * t1111 * t4262 - 0.48e-4 * t1111 * t4265 - 0.1296e-8 * t525 * t4276 + 0.144e-6 * t525 * t4279 - 0.432e-6 * t2682 * t4262 + 0.3888e-8 * t1118 * t4276 - 0.216e-6 * t1118 * t4279 - 0.7776e-11 * t532 * t4289 + 0.648e-9 * t532 * t4292 - 0.2592e-8 * t2696 * t4276 + 0.20736e-10 * t1125 * t4289 - 0.864e-9 * t1125 * t4292 - 0.3888e-13 * t539 * t4301 * sigma_aa + 0.2592e-11 * t539 * t1129 * t650; + const double t4309 = t512 * t4308; + const double t4314 = t553 * t1604; + const double t4316 = t152 * t4314 / 0.64e2; + const double t4317 = t207 * t1603; + const double t4318 = t4317 * t697; + const double t4322 = t786 * t1603; + const double t4323 = t25 * t4322; + const double t4327 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t699 * t1605 - t4316 - t706 * t709 * t4318 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4323 ); + const double t4328 = t1009 * t1630; + const double t4329 = t1101 * t1653; + const double t4332 = t214 * sigma_aa; + const double t4333 = t4332 * t650; + const double t4355 = 0.48e-4 * t1632 * t1108 - 0.144e-6 * t3431 * t4333 - 0.48e-4 * t3437 * t4265 * t214 + 0.576e-6 * t3441 * t4333 - 0.1296e-8 * t3444 * t4333 - 0.432e-6 * t3447 * t4333 + 0.3888e-8 * t3450 * t4333 - 0.7776e-11 * t3453 * t4333 - 0.2592e-8 * t3456 * t4333 + 0.20736e-10 * t3459 * t4333 - 0.3888e-13 * t3462 * t4333; + const double t4356 = t512 * t4355; + const double t4361 = t4177 * t1138; + const double t4365 = t1190 * t1526; + const double t4366 = t25 * t4365; + const double t4370 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t1140 * t1528 - t4176 - t558 * t561 * t4361 / 0.64e2 - 0.3e1 / 0.64e2 * t18 * t4366 ); + const double t4371 = t1364 * t1553; + const double t4372 = t1470 * t1576; + const double t4375 = t100 * sigma_bb; + const double t4376 = t4375 * t1256; + const double t4379 = t523 * sigma_bb; + const double t4380 = t1256 * t527; + const double t4400 = 0.48e-4 * t1555 * t1477 - 0.144e-6 * t3431 * t4376 - 0.48e-4 * t4379 * t4380 * t100 + 0.576e-6 * t3441 * t4376 - 0.1296e-8 * t3444 * t4376 - 0.432e-6 * t3447 * t4376 + 0.3888e-8 * t3450 * t4376 - 0.7776e-11 * t3453 * t4376 - 0.2592e-8 * t3456 * t4376 + 0.20736e-10 * t3459 * t4376 - 0.3888e-13 * t3462 * t4376; + const double t4401 = t512 * t4400; + const double t4406 = t4317 * t1197; + const double t4410 = t1249 * t1603; + const double t4411 = t25 * t4410; + const double t4417 = t94 * t1263; + const double t4418 = t229 * sigma_bb; + const double t4439 = t3762 * rho_b; + const double t4440 = 0.1e1 / t4439; + const double t4441 = t4440 * t3766; + const double t4444 = -0.10666666666666666667e-1 * t94 * t1256 * t218 + 0.128e-3 * t4417 * t4418 - 0.34133333333333333334e-6 * t1260 * t1272 - 0.17066666666666666667e-3 * t1584 * t1264 + 0.17066666666666666667e-5 * t223 * t1272 - 0.40960000000000000001e-8 * t1269 * t1281 - 0.1536e-5 * t1589 * t1272 + 0.14336e-7 * t234 * t1281 - 0.32768000000000000001e-10 * t1277 * t1293 - 0.10922666666666666667e-7 * t1594 * t1281 + 0.98304000000000000001e-10 * t243 * t1293 - 0.21845333333333333334e-12 * t1287 * t4441; + const double t4445 = t208 * t4444; + const double t4446 = t25 * t4445; + const double t4450 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t1199 * t1605 - t4316 - t706 * t709 * t4406 / 0.64e2 - 0.3e1 / 0.64e2 * t152 * t4411 - 0.3e1 / 0.64e2 * t152 * t4446 ); + const double t4451 = t1427 * t1630; + const double t4455 = t334 * t1263; + const double t4456 = t432 * sigma_bb; + const double t4477 = t4440 * t4079; + const double t4480 = -0.53333333333333333333e0 * t334 * t1256 * t426 + 0.32e0 * t4455 * t4456 - 0.42666666666666666668e-1 * t1432 * t1439 - 0.42666666666666666667e0 * t1614 * t1433 + 0.21333333333333333334e0 * t430 * t1439 - 0.256e-1 * t1438 * t1445 - 0.192e0 * t1619 * t1439 + 0.896e-1 * t436 * t1445 - 0.1024e-1 * t1444 * t1453 - 0.68266666666666666667e-1 * t1624 * t1445 + 0.3072e-1 * t442 * t1453 - 0.34133333333333333332e-2 * t1450 * t4477; + const double t4481 = t422 * t4480; + const double t4482 = t1470 * t1653; + const double t4483 = t514 * t1256; + const double t4486 = t514 * t1263; + const double t4489 = t534 * t1263; + const double t4490 = t4489 * sigma_bb; + const double t4502 = t541 * t1263; + const double t4503 = t4502 * sigma_bb; + const double t4506 = t534 * t1256; + const double t4515 = t1129 * t1263; + const double t4516 = t4515 * sigma_bb; + const double t4519 = t541 * t1256; + const double t4528 = t2704 * t1263; + const double t4532 = t1129 * t1256; + const double t4535 = -0.8e-2 * t4483 * t520 + 0.48e-4 * t4486 * t1476 - 0.144e-6 * t516 * t4490 + 0.24e-4 * t516 * t4380 - 0.48e-4 * t4379 * t1263 * t527 + 0.576e-6 * t1111 * t4490 - 0.48e-4 * t1111 * t4380 - 0.1296e-8 * t525 * t4503 + 0.144e-6 * t525 * t4506 - 0.432e-6 * t2682 * t4490 + 0.3888e-8 * t1118 * t4503 - 0.216e-6 * t1118 * t4506 - 0.7776e-11 * t532 * t4516 + 0.648e-9 * t532 * t4519 - 0.2592e-8 * t2696 * t4503 + 0.20736e-10 * t1125 * t4516 - 0.864e-9 * t1125 * t4519 - 0.3888e-13 * t539 * t4528 * sigma_bb + 0.2592e-11 * t539 * t4532; + const double t4536 = t512 * t4535; + const double t4551 = t120 * sigma_aa; + const double t4558 = t130 * t109; + const double t4563 = 0.1e1 / t1878; + const double t4564 = t4563 * t1882; + const double t4567 = -0.32e-4 * t94 * t114 * t116 + 0.128e-6 * t95 * t127 + 0.32e-4 * t108 * t114 * t116 - 0.512e-6 * t1507 * t127 + 0.1536e-8 * t110 * t138 + 0.384e-6 * t4551 * t127 - 0.4608e-8 * t1512 * t138 + 0.12288e-10 * t122 * t1523 + 0.3072e-8 * t4558 * t138 - 0.32768e-10 * t1517 * t1523 + 0.8192e-13 * t132 * t4564; + const double t4568 = t92 * t4567; + const double t4569 = t25 * t4568; + const double t4572 = piecewise_functor_3( t8, 0.0, -0.3e1 / 0.64e2 * t18 * t4569 ); + const double t4585 = t349 * sigma_aa; + const double t4592 = t356 * t109; + const double t4597 = t4563 * t2276; + const double t4600 = -0.8e-1 * t334 * t114 * t345 + 0.16e-1 * t335 * t353 + 0.8e-1 * t342 * t114 * t345 - 0.64e-1 * t1537 * t353 + 0.96e-2 * t343 * t360 + 0.48e-1 * t4585 * t353 - 0.288e-1 * t1542 * t360 + 0.384e-2 * t350 * t1550 + 0.192e-1 * t4592 * t360 - 0.1024e-1 * t1547 * t1550 + 0.128e-2 * t357 * t4597; + const double t4601 = t332 * t4600; + const double t4602 = t514 * t114; + const double t4605 = t534 * t114; + const double t4608 = t523 * t114; + const double t4613 = t541 * t114; + const double t4620 = t1129 * t114; + const double t4630 = -0.18e-4 * t4602 * t527 + 0.54e-7 * t516 * t4605 + 0.18e-4 * t4608 * t527 - 0.216e-6 * t1111 * t4605 + 0.486e-9 * t525 * t4613 + 0.162e-6 * t2682 * t4605 - 0.1458e-8 * t1118 * t4613 + 0.2916e-11 * t532 * t4620 + 0.972e-9 * t2696 * t4613 - 0.7776e-11 * t1125 * t4620 + 0.1458e-13 * t539 * t2704 * t114; + const double t4631 = t512 * t4630; + const double t4633 = t3 * t512; + const double t4636 = t1640 * t100; + const double t4639 = t523 * t100; + const double t4644 = t1645 * t100; + const double t4651 = t1650 * t100; + const double t4658 = t2704 * t214; + const double t4662 = -0.18e-4 * t1632 * t1558 + 0.54e-7 * t516 * t4636 + 0.18e-4 * t4639 * t1635 - 0.216e-6 * t1111 * t4636 + 0.486e-9 * t525 * t4644 + 0.162e-6 * t2682 * t4636 - 0.1458e-8 * t1118 * t4644 + 0.2916e-11 * t532 * t4651 + 0.972e-9 * t2696 * t4644 - 0.7776e-11 * t1125 * t4651 + 0.1458e-13 * t539 * t4658 * t100; + const double t4675 = t120 * sigma_bb; + const double t4682 = t130 * t222; + const double t4687 = 0.1e1 / t3762; + const double t4688 = t4687 * t3766; + const double t4691 = -0.32e-4 * t94 * t227 * t229 + 0.128e-6 * t209 * t239 + 0.32e-4 * t108 * t227 * t229 - 0.512e-6 * t1584 * t239 + 0.1536e-8 * t223 * t249 + 0.384e-6 * t4675 * t239 - 0.4608e-8 * t1589 * t249 + 0.12288e-10 * t234 * t1600 + 0.3072e-8 * t4682 * t249 - 0.32768e-10 * t1594 * t1600 + 0.8192e-13 * t243 * t4688; + const double t4692 = t208 * t4691; + const double t4693 = t25 * t4692; + const double t4696 = piecewise_functor_3( t150, 0.0, -0.3e1 / 0.64e2 * t152 * t4693 ); + const double t4709 = t349 * sigma_bb; + const double t4716 = t356 * t222; + const double t4721 = t4687 * t4079; + const double t4724 = -0.8e-1 * t334 * t227 * t432 + 0.16e-1 * t423 * t439 + 0.8e-1 * t342 * t227 * t432 - 0.64e-1 * t1614 * t439 + 0.96e-2 * t430 * t445 + 0.48e-1 * t4709 * t439 - 0.288e-1 * t1619 * t445 + 0.384e-2 * t436 * t1627 + 0.192e-1 * t4716 * t445 - 0.1024e-1 * t1624 * t1627 + 0.128e-2 * t442 * t4721; + const double t4725 = t422 * t4724; + const double t4726 = t514 * t227; + const double t4729 = t534 * t227; + const double t4732 = t523 * t227; + const double t4737 = t541 * t227; + const double t4744 = t1129 * t227; + const double t4751 = t2704 * t227; + const double t4754 = -0.18e-4 * t4726 * t527 + 0.54e-7 * t516 * t4729 + 0.18e-4 * t4732 * t527 - 0.216e-6 * t1111 * t4729 + 0.486e-9 * t525 * t4737 + 0.162e-6 * t2682 * t4729 - 0.1458e-8 * t1118 * t4737 + 0.2916e-11 * t532 * t4744 + 0.972e-9 * t2696 * t4737 - 0.7776e-11 * t1125 * t4744 + 0.1458e-13 * t539 * t4751; + const double t4755 = t512 * t4754; + + + vrho_a = t146 + t257 + t364 + t449 + t545 + t3 * ( t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 ); + vrho_b = t146 + t257 + t364 + t449 + t545 + t3 * ( t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 ); + vsigma_aa = t3 * ( t1531 + t1554 + t1577 ); + vsigma_ab = 0.e0; + vsigma_bb = t3 * ( t1608 + t1631 + t1654 ); + v2rho2_aa = 0.2e1 * t696 + 0.2e1 * t792 + 0.2e1 * t888 + 0.2e1 * t917 + 0.2e1 * t1010 + 0.2e1 * t1102 + 0.2e1 * t1135 + t3 * ( t1900 + t2057 + t2241 + t2243 + t2281 + t2462 + t2651 + t2653 + t2713 ); + v2rho2_ab = t696 + t792 + t888 + t917 + t1010 + t1102 + t1135 + t1196 + t1302 + t1365 + t1428 + t1457 + t1471 + t1499 + t3 * ( t2891 + t3060 + t3221 + t3222 + t3382 + t3383 + t3425 + t3426 + t3427 + t3466 ); + v2rho2_bb = 0.2e1 * t1196 + 0.2e1 * t1302 + 0.2e1 * t1365 + 0.2e1 * t1428 + 0.2e1 * t1457 + 0.2e1 * t1471 + 0.2e1 * t1499 + t3 * ( t3596 + t3784 + t3914 + t4044 + t4046 + t4084 + t4111 + t4113 + t4169 ); + v2rhosigma_a_aa = t1531 + t1554 + t1577 + t3 * ( t4222 + t4223 + t4253 + t4254 + t4309 ); + v2rhosigma_a_ab = 0.e0; + v2rhosigma_a_bb = t1608 + t1631 + t1654 + t3 * ( t4327 + t4328 + t4329 + t4356 ); + v2rhosigma_b_aa = t1531 + t1554 + t1577 + t3 * ( t4370 + t4371 + t4372 + t4401 ); + v2rhosigma_b_ab = 0.e0; + v2rhosigma_b_bb = t1608 + t1631 + t1654 + t3 * ( t4450 + t4451 + t4481 + t4482 + t4536 ); + v2sigma2_aa_aa = t3 * ( t4572 + t4601 + t4631 ); + v2sigma2_aa_ab = 0.e0; + v2sigma2_aa_bb = t4633 * t4662; + v2sigma2_ab_ab = 0.e0; + v2sigma2_ab_bb = 0.e0; + v2sigma2_bb_bb = t3 * ( t4696 + t4725 + t4755 ); + + } + + +}; + +struct BuiltinWB97X_XC : detail::BuiltinKernelImpl< BuiltinWB97X_XC > { + + BuiltinWB97X_XC( Spin p ) : + detail::BuiltinKernelImpl< BuiltinWB97X_XC >(p) { } + + virtual ~BuiltinWB97X_XC() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/kernels/wpbeh_x_default0.hpp b/include/exchcxx/impl/builtin/kernels/wpbeh_x_default0.hpp new file mode 100644 index 0000000..24f994c --- /dev/null +++ b/include/exchcxx/impl/builtin/kernels/wpbeh_x_default0.hpp @@ -0,0 +1,11544 @@ +/** + * ExchCXX + * + * Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + + +#pragma once +#include + +#include +#include +#include +#include + +#include + + + +namespace ExchCXX { + +template <> +struct kernel_traits< BuiltinWPBEh_X_default0 > : + public gga_screening_interface< BuiltinWPBEh_X_default0 > { + + static constexpr bool is_lda = false; + static constexpr bool is_gga = true; + static constexpr bool is_mgga = false; + static constexpr bool needs_laplacian = false; + static constexpr bool is_kedf = false; + static constexpr bool is_epc = false; + + static constexpr double dens_tol = 1e-14; + static constexpr double zeta_tol = 1e-15; + static constexpr double sigma_tol = 2.1544346900318888e-19; + static constexpr double tau_tol = is_kedf ? 0.0 : 1e-20; + + + static constexpr double omega = 0.0; + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_unpolar_impl( double rho, double sigma, double& eps ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + + + eps = 0.2e1 * t336; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_unpolar_impl( double rho, double sigma, double& eps, double& vrho, double& vsigma ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + + + eps = 0.2e1 * t336; + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_unpolar_impl( double rho, double sigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_unpolar_impl( double rho, double sigma, double& vrho, double& vsigma, double& v2rho2, double& v2rhosigma, double& v2sigma2 ) { + + constexpr double t4 = constants::m_cbrt_3; + constexpr double t5 = constants::m_cbrt_pi; + constexpr double t24 = constants::m_pi_sq; + constexpr double t25 = constants::m_cbrt_pi_sq; + constexpr double t35 = constants::m_cbrt_6; + constexpr double t39 = constants::m_cbrt_2; + constexpr double t7 = t4 / t5; + constexpr double t22 = t4 * t4; + constexpr double t26 = 0.1e1 / t25; + constexpr double t36 = t35 * t35; + constexpr double t37 = t36 * t26; + constexpr double t80 = t25 * t25; + + + const double t3 = rho / 0.2e1 <= dens_tol; + const double t8 = 0.1e1 <= zeta_tol; + const double t9 = zeta_tol - 0.1e1; + const double t12 = piecewise_functor_5( t8, t9, t8, -t9, 0.0 ); + const double t13 = 0.1e1 + t12; + const double t14 = t13 <= zeta_tol; + const double t15 = safe_math::cbrt( zeta_tol ); + const double t17 = safe_math::cbrt( t13 ); + const double t19 = piecewise_functor_3( t14, t15 * zeta_tol, t17 * t13 ); + const double t20 = safe_math::cbrt( rho ); + const double t21 = t19 * t20; + const double t23 = omega * t22; + const double t27 = piecewise_functor_3( t14, t15, t17 ); + const double t29 = t26 / t27; + const double t30 = 0.1e1 / t20; + const double t32 = t23 * t29 * t30; + const double t33 = t32 / 0.3e1; + const double t34 = 0.14e2 < t33; + const double t38 = safe_math::sqrt( sigma ); + const double t40 = t38 * t39; + const double t42 = 0.1e1 / t20 / rho; + const double t45 = t37 * t40 * t42 / 0.12e2; + const double t46 = t45 < 0.1e1; + const double t47 = 0.15e2 < t45; + const double t48 = piecewise_functor_3( t47, 15.0, t45 ); + const double t49 = 0.1e1 < t48; + const double t50 = piecewise_functor_3( t49, t48, 1.0 ); + const double t52 = safe_math::exp( t50 - 0.8572844e1 ); + const double t53 = 0.1e1 + t52; + const double t54 = safe_math::log( t53 ); + const double t56 = piecewise_functor_3( t47, 8.572844, t50 - t54 ); + const double t57 = piecewise_functor_3( t46, t45, t56 ); + const double t58 = t57 < 0.1e-14; + const double t59 = piecewise_functor_3( t58, 1e-15, t57 ); + const double t60 = t59 * t59; + const double t62 = t60 * t60; + const double t64 = 0.979681e-2 * t60 + 0.410834e-1 * t62; + const double t65 = t60 * t64; + const double t67 = t62 * t59; + const double t69 = t62 * t60; + const double t71 = 0.1e1 + 0.18744e0 * t62 + 0.120824e-2 * t67 + 0.347188e-1 * t69; + const double t72 = 0.1e1 / t71; + const double t73 = t65 * t72; + const double t74 = 0.22143176004591608976e1 * t73; + const double t75 = t33 < 0.14e2; + const double t76 = piecewise_functor_3( t75, 1.455915450052607, 2.0 ); + const double t77 = omega * omega; + const double t79 = t76 * t77 * t4; + const double t82 = t27 * t27; + const double t84 = 0.1e1 / t80 / t82; + const double t85 = t20 * t20; + const double t86 = 0.1e1 / t85; + const double t87 = t84 * t86; + const double t88 = t79 * t87; + const double t90 = t74 + 0.73810586681972029922e0 * t88; + const double t91 = safe_math::xc_E1_scaled( t90 ); + const double t93 = t88 / 0.3e1; + const double t94 = 0.57786348e0 + t73 + t93; + const double t95 = safe_math::log( t94 ); + const double t97 = t73 + t93; + const double t98 = safe_math::log( t97 ); + const double t101 = piecewise_functor_3( t34, 14.0, t33 ); + const double t103 = t101 * t101; + const double t104 = t103 * t101; + const double t106 = t103 * t103; + const double t107 = t106 * t101; + const double t109 = t106 * t104; + const double t112 = ( 0.17059169152930056821e1 * t101 - 0.41622705406440396562e1 * t104 + 0.42174370348694648999e1 * t107 - 0.10676080470633097775e1 * t109 ) * M_PI; + const double t113 = t101 < 0.14e2; + const double t114 = piecewise_functor_3( t113, 1.455915450052607, 2.0 ); + const double t115 = t114 * t103; + const double t117 = t74 + 0.22143176004591608976e1 * t115; + const double t118 = safe_math::sqrt( t117 ); + const double t119 = safe_math::xc_erfcx( t118 ); + const double t124 = t106 * t103; + const double t126 = t106 * t106; + const double t128 = -0.10161144e1 + 0.326865659796668475e1 * t103 - 0.48418398881417585092e1 * t106 + 0.2723636568586566055e1 * t124 - 0.20524577845574895866e0 * t126; + const double t129 = safe_math::xc_E1_scaled( t117 ); + const double t132 = 0.57786348e0 + t73 + t115; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = 0.1e1 / t133; + const double t137 = 0.1e1 / t132; + const double t140 = t73 + t115; + const double t141 = safe_math::sqrt( t140 ); + const double t142 = 0.1e1 / t141; + const double t144 = t133 * t132; + const double t145 = 0.1e1 / t144; + const double t147 = 0.24788787804618087718e1 * t142 - 0.55973876104037389846e0 * t145; + const double t149 = 0.1e1 / t140; + const double t151 = t132 * t132; + const double t152 = 0.1e1 / t151; + const double t154 = -0.1093302940630051125e1 * t149 + 0.49374260512735112038e0 * t152; + const double t156 = t133 * t151; + const double t159 = 0.9e1 * t73 + 0.9e1 * t115 - 0.20322288e1; + const double t162 = t141 * t140; + const double t164 = 0.3e1 * t156 * t159 + 0.412995389554944e1 * t162; + const double t165 = 0.1e1 / t156; + const double t166 = t164 * t165; + const double t167 = 0.1e1 / t162; + const double t168 = t167 * t107; + const double t171 = t151 * t132; + const double t172 = 0.1e1 / t171; + const double t175 = -0.36e2 + 0.79715433616529792314e2 * t73; + const double t176 = t140 * t140; + const double t177 = 0.1e1 / t176; + const double t180 = 0.25085884618821050197e0 * t172 + 0.7715016088131e-2 * t175 * t177; + const double t182 = t141 * t176; + const double t184 = t133 * t171; + const double t188 = 0.27e2 * t176 - 0.60966864e1 * t73 - 0.60966864e1 * t115 + 0.412995389554944e1; + const double t191 = -0.4196505624603881896e2 * t182 + 0.9e1 * t184 * t188; + const double t192 = 0.1e1 / t184; + const double t193 = t191 * t192; + const double t194 = 0.1e1 / t182; + const double t195 = t194 * t109; + const double t198 = t151 * t151; + const double t199 = t114 * t198; + const double t202 = t176 * t140; + const double t207 = -0.729e3 * t176 + 0.3292210656e3 * t73 + 0.3292210656e3 * t115 - 0.29735668047955968e3; + const double t210 = 0.81278266164980202635e2 * t199 * t140 + 0.33847844843765416574e1 * t202 + 0.8401793031216e-2 * t198 * t207; + const double t211 = 0.1e1 / t198; + const double t212 = t210 * t211; + const double t213 = 0.1e1 / t202; + const double t214 = t213 * t126; + const double t218 = safe_math::log( t140 * t137 ); + const double t220 = t112 * t119 / 0.2e1 - t128 * t129 / 0.2e1 - 0.10159746228068031148e1 * t134 * t101 + 0.73807311952199090995e0 * t137 * t103 + t147 * t104 + t154 * t106 - 0.93027173969241974797e-1 * t166 * t168 + t180 * t124 + 0.26165591067112574428e-2 * t193 * t195 + 0.75666704254679261017e-2 * t212 * t214 + 0.5080572e0 * t218; + const double t221 = piecewise_functor_3( t34, 0.5080572e0 * t91 - 0.5080572e0 * t95 + 0.5080572e0 * t98, t220 ); + const double t223 = 0.57786348e0 + t73; + const double t224 = t223 * t223; + const double t226 = 0.77215461e-1 * t73; + const double t227 = t223 * t60; + const double t230 = 0.64753871e1 * t64 * t72 + 0.4796583e0; + const double t233 = 0.8e-1 < t59; + const double t235 = safe_math::sqrt( M_PI ); + const double t237 = t230 * t60 + 0.1e1; + const double t241 = t224 * t223; + const double t244 = t235 * ( -0.779335965e0 - 0.463292766e0 * t237 * t223 - 0.148683344e1 * t224 + 0.81289152e1 * t241 ); + const double t245 = safe_math::sqrt( t223 ); + const double t246 = t245 * t241; + const double t247 = 0.1e1 / t246; + const double t250 = safe_math::exp( t74 ); + const double t251 = safe_math::sqrt( t73 ); + const double t253 = safe_math::erf( 0.14880583323442535321e1 * t251 ); + const double t254 = 0.1e1 - t253; + const double t255 = t250 * t254; + const double t258 = 0.1e1 / t235; + const double t259 = ( 0.3e1 / 0.4e1 * M_PI + t244 * t247 / 0.16e2 - 0.23751029502456895713e1 * t255 ) * t258; + const double t260 = 0.1e1 / t60; + const double t261 = t260 * t246; + const double t267 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t259 * t261, -0.262841788e-1 - 0.7117647788e-1 * t60 + 0.8534541323e-1 * t62 ); + const double t268 = t60 * t267; + const double t270 = -0.37170836e0 * t224 - 0.14853145700326428e0 - t226 - 0.77215461e-1 * t227 * t230 + 0.2e1 * t268; + const double t271 = 0.1e1 / t241; + const double t274 = t23 * t29; + const double t275 = t77 * t4; + const double t276 = t275 * t87; + const double t278 = 0.57786348e0 + t73 + t276 / 0.3e1; + const double t279 = t278 * t278; + const double t283 = t278 * t60; + const double t284 = t283 * t230; + const double t287 = -0.148683344e1 * t279 - 0.104705593501958568e1 - 0.463292766e0 * t73 - 0.154430922e0 * t276 - 0.463292766e0 * t284 + 0.15e2 * t268; + const double t288 = t30 * t287; + const double t289 = 0.1e1 / t223; + const double t290 = safe_math::sqrt( t278 ); + const double t292 = 0.1e1 / t290 / t279; + const double t293 = t289 * t292; + const double t299 = t77 * omega / t24; + const double t301 = 0.1e1 / t82 / t27; + const double t302 = t299 * t301; + const double t303 = 0.1e1 / rho; + const double t307 = -0.30439865000326428e0 - t226 - 0.25738487e-1 * t276 - 0.77215461e-1 * t284 + 0.5e1 * t268; + const double t309 = 0.1e1 / t224; + const double t310 = t309 * t292; + const double t314 = t77 * t77; + const double t316 = t314 * omega * t4; + const double t319 = t82 * t82; + const double t322 = 0.1e1 / t80 / t24 / t319 / t27; + const double t323 = t316 * t322; + const double t325 = 0.1e1 / t85 / rho; + const double t326 = -0.51955731e-1 + t268; + const double t327 = t325 * t326; + const double t328 = t271 * t292; + const double t332 = -0.8e1 / 0.9e1 * t221 - 0.4e1 / 0.9e1 * t270 * t271 + t274 * t288 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t307 * t310 + 0.8e1 / 0.81e2 * t323 * t327 * t328; + const double t336 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t332 ); + const double t337 = t19 * t86; + const double t342 = t91 - 0.1e1 / t90; + const double t343 = t59 * t64; + const double t344 = rho * rho; + const double t346 = 0.1e1 / t20 / t344; + const double t349 = t37 * t40 * t346 / 0.9e1; + const double t350 = piecewise_functor_3( t47, 0.0, -t349 ); + const double t351 = piecewise_functor_3( t49, t350, 0.0 ); + const double t353 = 0.1e1 / t53; + const double t354 = t351 * t52 * t353; + const double t356 = piecewise_functor_3( t47, 0.0, t351 - t354 ); + const double t357 = piecewise_functor_3( t46, -t349, t356 ); + const double t358 = piecewise_functor_3( t58, 0.0, t357 ); + const double t359 = t72 * t358; + const double t360 = t343 * t359; + const double t361 = 0.44286352009183217952e1 * t360; + const double t362 = t59 * t358; + const double t364 = t60 * t59; + const double t365 = t364 * t358; + const double t367 = 0.1959362e-1 * t362 + 0.1643336e0 * t365; + const double t368 = t60 * t367; + const double t369 = t368 * t72; + const double t370 = 0.22143176004591608976e1 * t369; + const double t371 = t71 * t71; + const double t372 = 0.1e1 / t371; + const double t374 = t62 * t358; + const double t378 = 0.74976e0 * t365 + 0.60412e-2 * t374 + 0.2083128e0 * t67 * t358; + const double t379 = t372 * t378; + const double t380 = t65 * t379; + const double t381 = 0.22143176004591608976e1 * t380; + const double t382 = piecewise_functor_3( t75, 0.0, 0.0 ); + const double t384 = t382 * t77 * t4; + const double t385 = t384 * t87; + const double t386 = 0.73810586681972029922e0 * t385; + const double t387 = t84 * t325; + const double t388 = t79 * t387; + const double t390 = t361 + t370 - t381 + t386 - 0.49207057787981353281e0 * t388; + const double t391 = t342 * t390; + const double t393 = 0.2e1 * t360; + const double t394 = t385 / 0.3e1; + const double t396 = t393 + t369 - t380 + t394 - 0.2e1 / 0.9e1 * t388; + const double t397 = 0.1e1 / t94; + const double t400 = 0.1e1 / t97; + const double t405 = t23 * t29 * t42; + const double t407 = piecewise_functor_3( t34, 0.0, -t405 / 0.9e1 ); + const double t410 = t101 * t407; + const double t412 = t104 * t407; + const double t414 = t107 * t407; + const double t418 = 0.65373131959333695e1 * t410 - 0.19367359552567034037e2 * t412 + 0.1634181941151939633e2 * t414 - 0.16419662276459916693e1 * t109 * t407; + const double t421 = t147 * t103; + const double t424 = t154 * t104; + const double t428 = t103 * t407; + const double t430 = t106 * t407; + const double t432 = t124 * t407; + const double t435 = ( 0.17059169152930056821e1 * t407 - 0.12486811621932118969e2 * t428 + 0.210871851743473245e2 * t430 - 0.74732563294431684425e1 * t432 ) * M_PI; + const double t438 = 0.1e1 / t117; + const double t439 = t129 - t438; + const double t440 = t128 * t439; + const double t441 = piecewise_functor_3( t113, 0.0, 0.0 ); + const double t442 = t441 * t103; + const double t443 = 0.22143176004591608976e1 * t442; + const double t444 = t114 * t101; + const double t445 = t444 * t407; + const double t447 = t361 + t370 - t381 + t443 + 0.44286352009183217952e1 * t445; + const double t450 = t145 * t101; + const double t452 = t393 + t369 - t380 + t442 + 0.2e1 * t445; + const double t455 = t152 * t103; + const double t458 = t137 * t101; + const double t461 = t144 * t159; + const double t467 = 0.9e1 * t442; + const double t469 = 0.18e2 * t360 + 0.9e1 * t369 - 0.9e1 * t380 + t467 + 0.18e2 * t445; + const double t472 = t141 * t452; + const double t474 = 0.15e2 / 0.2e1 * t461 * t452 + 0.3e1 * t156 * t469 + 0.619493084332416e1 * t472; + const double t475 = t474 * t165; + const double t480 = t156 * t188; + const double t483 = t140 * t452; + const double t488 = 0.60966864e1 * t442; + const double t490 = 0.54e2 * t483 - 0.121933728e2 * t360 - 0.60966864e1 * t369 + 0.60966864e1 * t380 - t488 - 0.121933728e2 * t445; + const double t493 = -0.1049126406150970474e3 * t162 * t452 + 0.63e2 / 0.2e1 * t480 * t452 + 0.9e1 * t184 * t490; + const double t494 = t493 * t192; + const double t501 = 0.1093302940630051125e1 * t177 * t452 - 0.98748521025470224076e0 * t172 * t452; + const double t507 = -0.12394393902309043859e1 * t167 * t452 + 0.83960814156056084769e0 * t165 * t452; + const double t509 = -0.10159746228068031148e1 * t134 * t407 - t418 * t129 / 0.2e1 + 0.3e1 * t421 * t407 + 0.4e1 * t424 * t407 + t435 * t119 / 0.2e1 - t440 * t447 / 0.2e1 + 0.5079873114034015574e0 * t450 * t452 - 0.73807311952199090995e0 * t455 * t452 + 0.14761462390439818199e1 * t458 * t407 - 0.93027173969241974797e-1 * t475 * t168 + 0.26165591067112574428e-2 * t494 * t195 + t501 * t106 + t507 * t104; + const double t510 = t211 * t452; + const double t515 = 0.15943086723305958463e3 * t360 + 0.79715433616529792314e2 * t369 - 0.79715433616529792314e2 * t380; + const double t518 = t175 * t213; + const double t521 = -0.75257653856463150591e0 * t510 + 0.7715016088131e-2 * t515 * t177 - 0.15430032176262e-1 * t518 * t452; + const double t523 = t441 * t198; + const double t525 = 0.81278266164980202635e2 * t523 * t140; + const double t526 = t114 * t171; + const double t533 = t171 * t207; + const double t540 = 0.3292210656e3 * t442; + const double t542 = -0.1458e4 * t483 + 0.6584421312e3 * t360 + 0.3292210656e3 * t369 - 0.3292210656e3 * t380 + t540 + 0.6584421312e3 * t445; + const double t545 = t525 + 0.32511306465992081054e3 * t526 * t483 + 0.81278266164980202635e2 * t199 * t452 + 0.10154353453129624972e2 * t176 * t452 + 0.33607172124864e-1 * t533 * t452 + 0.8401793031216e-2 * t198 * t542; + const double t546 = t545 * t211; + const double t550 = t140 * t152; + const double t552 = t452 * t137 - t550 * t452; + const double t553 = t552 * t149; + const double t556 = t180 * t107; + const double t559 = t164 * t192; + const double t560 = t168 * t452; + const double t563 = t194 * t107; + const double t564 = t563 * t452; + const double t567 = t167 * t106; + const double t568 = t567 * t407; + const double t573 = 0.2e1 * t118 * t119 - 0.2e1 * t258; + const double t574 = 0.1e1 / t118; + const double t575 = t573 * t574; + const double t576 = t575 * t447; + const double t579 = t198 * t132; + const double t580 = 0.1e1 / t579; + const double t581 = t210 * t580; + const double t582 = t214 * t452; + const double t585 = t176 * t176; + const double t586 = 0.1e1 / t585; + const double t587 = t586 * t126; + const double t588 = t587 * t452; + const double t591 = t213 * t109; + const double t592 = t591 * t407; + const double t596 = 0.1e1 / t141 / t202; + const double t597 = t596 * t109; + const double t598 = t597 * t452; + const double t601 = t194 * t124; + const double t602 = t601 * t407; + const double t606 = 0.1e1 / t133 / t198; + const double t607 = t191 * t606; + const double t608 = t195 * t452; + const double t611 = t521 * t124 + 0.75666704254679261017e-2 * t546 * t214 + 0.5080572e0 * t553 * t132 + 0.6e1 * t556 * t407 + 0.23256793492310493699e0 * t559 * t560 + 0.1395407609538629622e0 * t166 * t564 - 0.46513586984620987398e0 * t166 * t568 + t112 * t576 / 0.4e1 - 0.30266681701871704407e-1 * t581 * t582 - 0.22700011276403778305e-1 * t212 * t588 + 0.60533363403743408814e-1 * t212 * t592 - 0.6541397766778143607e-2 * t193 * t598 + 0.183159137469788021e-1 * t193 * t602 - 0.91579568734894010498e-2 * t607 * t608; + const double t613 = piecewise_functor_3( t34, 0.5080572e0 * t391 - 0.5080572e0 * t396 * t397 + 0.5080572e0 * t396 * t400, t509 + t611 ); + const double t615 = t393 + t369 - t380; + const double t616 = t223 * t615; + const double t618 = 0.154430922e0 * t360; + const double t619 = 0.77215461e-1 * t369; + const double t620 = 0.77215461e-1 * t380; + const double t621 = t615 * t60; + const double t624 = t223 * t59; + const double t625 = t230 * t358; + const double t630 = t64 * t372; + const double t633 = 0.64753871e1 * t367 * t72 - 0.64753871e1 * t630 * t378; + const double t636 = t59 * t267; + const double t637 = t636 * t358; + const double t640 = t230 * t59; + const double t643 = 0.2e1 * t640 * t358 + t633 * t60; + const double t652 = t235 * ( -0.463292766e0 * t643 * t223 - 0.463292766e0 * t237 * t615 - 0.297366688e1 * t616 + 0.243867456e2 * t224 * t615 ); + const double t655 = t224 * t224; + const double t657 = 0.1e1 / t245 / t655; + const double t658 = t657 * t615; + const double t661 = t361 + t370 - t381; + const double t662 = t661 * t250; + const double t663 = t662 * t254; + const double t665 = safe_math::exp( -t74 ); + const double t666 = t250 * t665; + const double t667 = 0.1e1 / t251; + const double t668 = t667 * t615; + const double t672 = ( t652 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t658 - 0.23751029502456895713e1 * t663 + 0.19940105822687055308e1 * t666 * t668 ) * t258; + const double t675 = 0.1e1 / t364; + const double t676 = t675 * t246; + const double t677 = t676 * t358; + const double t680 = t245 * t224; + const double t681 = t260 * t680; + const double t682 = t681 * t615; + const double t689 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t672 * t261 + 0.32e2 / 0.15e2 * t259 * t677 - 0.56e2 / 0.15e2 * t259 * t682, -0.14235295576e0 * t362 + 0.34138165292e0 * t365 ); + const double t690 = t60 * t689; + const double t692 = -0.74341672e0 * t616 - t618 - t619 + t620 - 0.77215461e-1 * t621 * t230 - 0.154430922e0 * t624 * t625 - 0.77215461e-1 * t227 * t633 + 0.4e1 * t637 + 0.2e1 * t690; + const double t695 = 0.1e1 / t655; + const double t696 = t270 * t695; + const double t699 = t42 * t287; + const double t703 = t275 * t387; + const double t705 = t393 + t369 - t380 - 0.2e1 / 0.9e1 * t703; + const double t712 = t705 * t60; + const double t713 = t712 * t230; + const double t715 = t278 * t59; + const double t716 = t715 * t625; + const double t718 = t283 * t633; + const double t722 = -0.297366688e1 * t278 * t705 - 0.926585532e0 * t360 - 0.463292766e0 * t369 + 0.463292766e0 * t380 + 0.102953948e0 * t703 - 0.463292766e0 * t713 - 0.926585532e0 * t716 - 0.463292766e0 * t718 + 0.3e2 * t637 + 0.15e2 * t690; + const double t723 = t30 * t722; + const double t727 = t310 * t615; + const double t733 = 0.1e1 / t290 / t279 / t278; + const double t734 = t289 * t733; + const double t735 = t734 * t705; + const double t739 = 0.1e1 / t344; + const double t750 = -t618 - t619 + t620 + 0.17158991333333333333e-1 * t703 - 0.77215461e-1 * t713 - 0.154430922e0 * t716 - 0.77215461e-1 * t718 + 0.1e2 * t637 + 0.5e1 * t690; + const double t755 = t301 * t303; + const double t756 = t299 * t755; + const double t757 = t307 * t271; + const double t758 = t292 * t615; + const double t759 = t757 * t758; + const double t762 = t307 * t309; + const double t763 = t733 * t705; + const double t764 = t762 * t763; + const double t768 = 0.1e1 / t85 / t344; + const double t769 = t768 * t326; + const double t774 = 0.2e1 * t637 + t690; + const double t775 = t325 * t774; + const double t779 = t695 * t292; + const double t780 = t779 * t615; + const double t784 = t271 * t733; + const double t785 = t784 * t705; + const double t789 = -0.8e1 / 0.9e1 * t613 - 0.4e1 / 0.9e1 * t692 * t271 + 0.4e1 / 0.3e1 * t696 * t615 - t274 * t699 * t293 / 0.81e2 + t274 * t723 * t293 / 0.27e2 - t274 * t288 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t735 - 0.4e1 / 0.27e2 * t302 * t739 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t750 * t310 - 0.8e1 / 0.27e2 * t756 * t759 - 0.1e2 / 0.27e2 * t756 * t764 - 0.4e2 / 0.243e3 * t323 * t769 * t328 + 0.8e1 / 0.81e2 * t323 * t775 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t780 - 0.2e2 / 0.81e2 * t323 * t327 * t785; + const double t794 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t332 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t789 ); + const double t798 = 0.1e1 / t38 * t39; + const double t801 = t37 * t798 * t42 / 0.24e2; + const double t802 = piecewise_functor_3( t47, 0.0, t801 ); + const double t803 = piecewise_functor_3( t49, t802, 0.0 ); + const double t804 = t803 * t52; + const double t807 = piecewise_functor_3( t47, 0.0, -t804 * t353 + t803 ); + const double t808 = piecewise_functor_3( t46, t801, t807 ); + const double t809 = piecewise_functor_3( t58, 0.0, t808 ); + const double t810 = t72 * t809; + const double t811 = t343 * t810; + const double t813 = t59 * t809; + const double t815 = t364 * t809; + const double t817 = 0.1959362e-1 * t813 + 0.1643336e0 * t815; + const double t818 = t60 * t817; + const double t819 = t818 * t72; + const double t822 = t62 * t809; + const double t826 = 0.74976e0 * t815 + 0.60412e-2 * t822 + 0.2083128e0 * t67 * t809; + const double t827 = t372 * t826; + const double t828 = t65 * t827; + const double t830 = 0.44286352009183217952e1 * t811 + 0.22143176004591608976e1 * t819 - 0.22143176004591608976e1 * t828; + const double t831 = t342 * t830; + const double t834 = 0.2e1 * t811 + t819 - t828; + const double t840 = t575 * t830; + const double t849 = t167 * t834; + const double t853 = -0.12394393902309043859e1 * t849 + 0.83960814156056084769e0 * t165 * t834; + const double t857 = t172 * t834; + const double t859 = 0.1093302940630051125e1 * t177 * t834 - 0.98748521025470224076e0 * t857; + const double t866 = 0.18e2 * t811 + 0.9e1 * t819 - 0.9e1 * t828; + const double t869 = t141 * t834; + const double t871 = 0.15e2 / 0.2e1 * t461 * t834 + 0.3e1 * t156 * t866 + 0.619493084332416e1 * t869; + const double t872 = t871 * t165; + const double t875 = t168 * t834; + const double t878 = t563 * t834; + const double t881 = t211 * t834; + const double t886 = 0.15943086723305958463e3 * t811 + 0.79715433616529792314e2 * t819 - 0.79715433616529792314e2 * t828; + const double t891 = -0.75257653856463150591e0 * t881 + 0.7715016088131e-2 * t886 * t177 - 0.15430032176262e-1 * t518 * t834; + const double t897 = t140 * t834; + const double t902 = 0.54e2 * t897 - 0.121933728e2 * t811 - 0.60966864e1 * t819 + 0.60966864e1 * t828; + const double t905 = -0.1049126406150970474e3 * t162 * t834 + 0.63e2 / 0.2e1 * t480 * t834 + 0.9e1 * t184 * t902; + const double t906 = t905 * t192; + const double t909 = t195 * t834; + const double t912 = t597 * t834; + const double t927 = -0.1458e4 * t897 + 0.6584421312e3 * t811 + 0.3292210656e3 * t819 - 0.3292210656e3 * t828; + const double t930 = 0.32511306465992081054e3 * t526 * t897 + 0.81278266164980202635e2 * t199 * t834 + 0.10154353453129624972e2 * t176 * t834 + 0.33607172124864e-1 * t533 * t834 + 0.8401793031216e-2 * t198 * t927; + const double t931 = t930 * t211; + const double t934 = t214 * t834; + const double t937 = t587 * t834; + const double t942 = t834 * t137 - t550 * t834; + const double t943 = t942 * t149; + const double t946 = t112 * t840 / 0.4e1 - t440 * t830 / 0.2e1 + 0.5079873114034015574e0 * t450 * t834 - 0.73807311952199090995e0 * t455 * t834 + t853 * t104 + t859 * t106 - 0.93027173969241974797e-1 * t872 * t168 + 0.23256793492310493699e0 * t559 * t875 + 0.1395407609538629622e0 * t166 * t878 + t891 * t124 + 0.26165591067112574428e-2 * t906 * t195 - 0.91579568734894010498e-2 * t607 * t909 - 0.6541397766778143607e-2 * t193 * t912 + 0.75666704254679261017e-2 * t931 * t214 - 0.30266681701871704407e-1 * t581 * t934 - 0.22700011276403778305e-1 * t212 * t937 + 0.5080572e0 * t943 * t132; + const double t947 = piecewise_functor_3( t34, 0.5080572e0 * t831 - 0.5080572e0 * t834 * t397 + 0.5080572e0 * t834 * t400, t946 ); + const double t949 = t223 * t834; + const double t951 = 0.154430922e0 * t811; + const double t952 = 0.77215461e-1 * t819; + const double t953 = 0.77215461e-1 * t828; + const double t954 = t834 * t60; + const double t955 = t954 * t230; + const double t956 = 0.77215461e-1 * t955; + const double t957 = t230 * t809; + const double t964 = 0.64753871e1 * t817 * t72 - 0.64753871e1 * t630 * t826; + const double t967 = t636 * t809; + const double t972 = t964 * t60 + 0.2e1 * t640 * t809; + const double t981 = t235 * ( -0.463292766e0 * t972 * t223 - 0.463292766e0 * t237 * t834 - 0.297366688e1 * t949 + 0.243867456e2 * t224 * t834 ); + const double t984 = t657 * t834; + const double t987 = t830 * t250; + const double t990 = t667 * t834; + const double t994 = ( t981 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t244 * t984 - 0.23751029502456895713e1 * t987 * t254 + 0.19940105822687055308e1 * t666 * t990 ) * t258; + const double t997 = t676 * t809; + const double t1000 = t681 * t834; + const double t1007 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t994 * t261 + 0.32e2 / 0.15e2 * t259 * t997 - 0.56e2 / 0.15e2 * t259 * t1000, -0.14235295576e0 * t813 + 0.34138165292e0 * t815 ); + const double t1008 = t60 * t1007; + const double t1010 = -0.74341672e0 * t949 - t951 - t952 + t953 - t956 - 0.154430922e0 * t624 * t957 - 0.77215461e-1 * t227 * t964 + 0.4e1 * t967 + 0.2e1 * t1008; + const double t1021 = t715 * t957; + const double t1023 = t283 * t964; + const double t1027 = -0.297366688e1 * t278 * t834 - 0.926585532e0 * t811 - 0.463292766e0 * t819 + 0.463292766e0 * t828 - 0.463292766e0 * t955 - 0.926585532e0 * t1021 - 0.463292766e0 * t1023 + 0.3e2 * t967 + 0.15e2 * t1008; + const double t1028 = t30 * t1027; + const double t1032 = t310 * t834; + const double t1036 = t734 * t834; + const double t1044 = -t951 - t952 + t953 - t956 - 0.154430922e0 * t1021 - 0.77215461e-1 * t1023 + 0.1e2 * t967 + 0.5e1 * t1008; + const double t1049 = t292 * t834; + const double t1050 = t757 * t1049; + const double t1053 = t733 * t834; + const double t1054 = t762 * t1053; + const double t1058 = 0.2e1 * t967 + t1008; + const double t1059 = t325 * t1058; + const double t1063 = t779 * t834; + const double t1067 = t784 * t834; + const double t1071 = -0.8e1 / 0.9e1 * t947 - 0.4e1 / 0.9e1 * t1010 * t271 + 0.4e1 / 0.3e1 * t696 * t834 + t274 * t1028 * t293 / 0.27e2 - t274 * t288 * t1032 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1036 + 0.4e1 / 0.27e2 * t302 * t303 * t1044 * t310 - 0.8e1 / 0.27e2 * t756 * t1050 - 0.1e2 / 0.27e2 * t756 * t1054 + 0.8e1 / 0.81e2 * t323 * t1059 * t328 - 0.8e1 / 0.27e2 * t323 * t327 * t1063 - 0.2e2 / 0.81e2 * t323 * t327 * t1067; + const double t1075 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t1071 ); + const double t1078 = t19 * t325; + const double t1085 = t358 * t358; + const double t1086 = t1085 * t64; + const double t1087 = t1086 * t72; + const double t1088 = 0.2e1 * t1087; + const double t1089 = t59 * t367; + const double t1090 = t1089 * t359; + const double t1091 = 0.4e1 * t1090; + const double t1092 = t372 * t358; + const double t1093 = t1092 * t378; + const double t1094 = t343 * t1093; + const double t1095 = 0.4e1 * t1094; + const double t1096 = t344 * rho; + const double t1098 = 0.1e1 / t20 / t1096; + const double t1101 = 0.7e1 / 0.27e2 * t37 * t40 * t1098; + const double t1102 = piecewise_functor_3( t47, 0.0, t1101 ); + const double t1103 = piecewise_functor_3( t49, t1102, 0.0 ); + const double t1106 = t351 * t351; + const double t1109 = t52 * t52; + const double t1111 = t53 * t53; + const double t1112 = 0.1e1 / t1111; + const double t1115 = piecewise_functor_3( t47, 0.0, -t1103 * t52 * t353 + t1106 * t1109 * t1112 - t1106 * t52 * t353 + t1103 ); + const double t1116 = piecewise_functor_3( t46, t1101, t1115 ); + const double t1117 = piecewise_functor_3( t58, 0.0, t1116 ); + const double t1118 = t72 * t1117; + const double t1119 = t343 * t1118; + const double t1120 = 0.2e1 * t1119; + const double t1122 = t59 * t1117; + const double t1124 = t60 * t1085; + const double t1126 = t364 * t1117; + const double t1128 = 0.1959362e-1 * t1085 + 0.1959362e-1 * t1122 + 0.4930008e0 * t1124 + 0.1643336e0 * t1126; + const double t1129 = t60 * t1128; + const double t1130 = t1129 * t72; + const double t1131 = t368 * t379; + const double t1132 = 0.2e1 * t1131; + const double t1134 = 0.1e1 / t371 / t71; + const double t1135 = t378 * t378; + const double t1136 = t1134 * t1135; + const double t1137 = t65 * t1136; + const double t1138 = 0.2e1 * t1137; + const double t1141 = t364 * t1085; + const double t1149 = 0.224928e1 * t1124 + 0.74976e0 * t1126 + 0.241648e-1 * t1141 + 0.60412e-2 * t62 * t1117 + 0.1041564e1 * t62 * t1085 + 0.2083128e0 * t67 * t1117; + const double t1150 = t372 * t1149; + const double t1151 = t65 * t1150; + const double t1152 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151; + const double t1153 = t223 * t1152; + const double t1155 = t615 * t615; + const double t1157 = t636 * t1117; + const double t1161 = t367 * t372; + const double t1164 = t64 * t1134; + const double t1169 = 0.64753871e1 * t1128 * t72 - 0.129507742e2 * t1161 * t378 + 0.129507742e2 * t1164 * t1135 - 0.64753871e1 * t630 * t1149; + const double t1172 = t1085 * t267; + const double t1174 = t59 * t689; + const double t1175 = t1174 * t358; + const double t1179 = t1152 * t60; + const double t1182 = t615 * t59; + const double t1185 = t223 * t1085; + const double t1189 = t633 * t358; + const double t1192 = t230 * t1117; + const double t1195 = 0.308861844e0 * t1094; + const double t1196 = 0.154430922e0 * t1137; + const double t1197 = 0.77215461e-1 * t1130; + const double t1198 = 0.154430922e0 * t1087; + const double t1199 = 0.308861844e0 * t1090; + const double t1200 = 0.154430922e0 * t1119; + const double t1201 = 0.154430922e0 * t1131; + const double t1202 = 0.77215461e-1 * t1151; + const double t1204 = t633 * t59; + const double t1211 = 0.2e1 * t230 * t1085 + 0.2e1 * t640 * t1117 + t1169 * t60 + 0.4e1 * t1204 * t358; + const double t1225 = t235 * ( -0.463292766e0 * t1211 * t223 - 0.926585532e0 * t643 * t615 - 0.463292766e0 * t237 * t1152 - 0.297366688e1 * t1155 - 0.297366688e1 * t1153 + 0.487734912e2 * t223 * t1155 + 0.243867456e2 * t224 * t1152 ); + const double t1230 = t655 * t223; + const double t1232 = 0.1e1 / t245 / t1230; + const double t1233 = t1232 * t1155; + const double t1236 = t657 * t1152; + const double t1239 = 0.44286352009183217952e1 * t1087; + const double t1240 = 0.88572704018366435904e1 * t1090; + const double t1241 = 0.88572704018366435904e1 * t1094; + const double t1242 = 0.44286352009183217952e1 * t1119; + const double t1243 = 0.22143176004591608976e1 * t1130; + const double t1244 = 0.44286352009183217952e1 * t1131; + const double t1245 = 0.44286352009183217952e1 * t1137; + const double t1246 = 0.22143176004591608976e1 * t1151; + const double t1247 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246; + const double t1248 = t1247 * t250; + const double t1249 = t1248 * t254; + const double t1251 = t661 * t661; + const double t1252 = t1251 * t250; + const double t1255 = t665 * t667; + const double t1256 = t1255 * t615; + const double t1259 = -t661; + const double t1260 = t250 * t1259; + const double t1264 = 0.1e1 / t251 / t73; + const double t1272 = ( t1225 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t652 * t658 + 0.63e2 / 0.64e2 * t244 * t1233 - 0.7e1 / 0.32e2 * t244 * t1236 - 0.23751029502456895713e1 * t1249 - 0.23751029502456895713e1 * t1252 * t254 + 0.39880211645374110616e1 * t662 * t1256 + 0.19940105822687055308e1 * t1260 * t1256 - 0.9970052911343527654e0 * t666 * t1264 * t1155 + 0.19940105822687055308e1 * t666 * t667 * t1152 ) * t258; + const double t1279 = 0.1e1 / t62; + const double t1280 = t1279 * t246; + const double t1281 = t1280 * t1085; + const double t1284 = t259 * t675; + const double t1285 = t680 * t358; + const double t1286 = t1285 * t615; + const double t1289 = t676 * t1117; + const double t1292 = t245 * t223; + const double t1293 = t260 * t1292; + const double t1294 = t1293 * t1155; + const double t1297 = t681 * t1152; + const double t1306 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t1272 * t261 + 0.64e2 / 0.15e2 * t672 * t677 - 0.112e3 / 0.15e2 * t672 * t682 - 0.32e2 / 0.5e1 * t259 * t1281 + 0.224e3 / 0.15e2 * t1284 * t1286 + 0.32e2 / 0.15e2 * t259 * t1289 - 0.28e2 / 0.3e1 * t259 * t1294 - 0.56e2 / 0.15e2 * t259 * t1297, -0.14235295576e0 * t1085 - 0.14235295576e0 * t1122 + 0.102414495876e1 * t1124 + 0.34138165292e0 * t1126 ); + const double t1307 = t60 * t1306; + const double t1309 = -0.308861844e0 * t624 * t1189 - 0.154430922e0 * t624 * t1192 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 + 0.2e1 * t1307; + const double t1310 = -0.74341672e0 * t1153 - 0.74341672e0 * t1155 + 0.4e1 * t1157 - 0.77215461e-1 * t227 * t1169 + 0.4e1 * t1172 + 0.8e1 * t1175 - 0.154430922e0 * t621 * t633 - 0.77215461e-1 * t1179 * t230 - 0.308861844e0 * t1182 * t625 - 0.154430922e0 * t1185 * t230 + t1309; + const double t1313 = t328 * t1155; + const double t1317 = t279 * t279; + const double t1319 = 0.1e1 / t290 / t1317; + const double t1320 = t289 * t1319; + const double t1321 = t705 * t705; + const double t1322 = t1320 * t1321; + const double t1326 = 0.1e1 / t1230; + const double t1327 = t1326 * t292; + const double t1328 = t1327 * t1155; + const double t1332 = t271 * t1319; + const double t1333 = t1332 * t1321; + const double t1349 = t310 * t1152; + const double t1353 = t84 * t768; + const double t1354 = t275 * t1353; + const double t1356 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + 0.1e2 / 0.27e2 * t1354; + const double t1357 = t734 * t1356; + const double t1361 = t733 * t615; + const double t1362 = t1361 * t705; + const double t1363 = t757 * t1362; + const double t1378 = t779 * t1152; + const double t1382 = t784 * t1356; + const double t1387 = t316 * t322 * t325; + const double t1388 = t326 * t695; + const double t1389 = t1388 * t1362; + const double t1392 = t750 * t271; + const double t1393 = t1392 * t758; + const double t1396 = -0.4e1 / 0.9e1 * t1310 * t271 + 0.2e1 / 0.27e2 * t274 * t288 * t1313 + 0.35e2 / 0.108e3 * t274 * t288 * t1322 + 0.32e2 / 0.27e2 * t323 * t327 * t1328 + 0.7e2 / 0.81e2 * t323 * t327 * t1333 + 0.2e1 / 0.81e2 * t274 * t699 * t727 + 0.5e1 / 0.81e2 * t274 * t699 * t735 - 0.2e1 / 0.27e2 * t274 * t723 * t727 - 0.5e1 / 0.27e2 * t274 * t723 * t735 - t274 * t288 * t1349 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t1357 + 0.4e2 / 0.27e2 * t756 * t1363 + 0.8e2 / 0.81e2 * t323 * t769 * t780 + 0.2e3 / 0.243e3 * t323 * t769 * t785 - 0.16e2 / 0.27e2 * t323 * t775 * t780 - 0.4e2 / 0.81e2 * t323 * t775 * t785 - 0.8e1 / 0.27e2 * t323 * t327 * t1378 - 0.2e2 / 0.81e2 * t323 * t327 * t1382 + 0.4e2 / 0.27e2 * t1387 * t1389 - 0.16e2 / 0.27e2 * t756 * t1393; + const double t1397 = t750 * t309; + const double t1398 = t1397 * t763; + const double t1401 = t292 * t1152; + const double t1402 = t757 * t1401; + const double t1405 = t733 * t1356; + const double t1406 = t762 * t1405; + const double t1409 = t768 * t774; + const double t1413 = 0.1e1 / t1096; + const double t1422 = t278 * t1085; + const double t1423 = t1422 * t230; + const double t1425 = t715 * t1189; + const double t1427 = t715 * t1192; + const double t1429 = t705 * t59; + const double t1430 = t1429 * t625; + const double t1433 = t1356 * t60; + const double t1434 = t1433 * t230; + const double t1436 = t712 * t633; + const double t1438 = t283 * t1169; + const double t1440 = 0.1e2 * t1157 + 0.1e2 * t1172 + 0.2e2 * t1175 + t1195 - t1196 - t1197 - t1198 - t1199 - t1200 + t1201 + t1202 - 0.28598318888888888888e-1 * t1354 - 0.154430922e0 * t1423 - 0.308861844e0 * t1425 - 0.154430922e0 * t1427 - 0.308861844e0 * t1430 + 0.5e1 * t1307 - 0.77215461e-1 * t1434 - 0.154430922e0 * t1436 - 0.77215461e-1 * t1438; + const double t1449 = t90 * t90; + const double t1450 = 0.1e1 / t1449; + const double t1452 = t1450 * t390 + t391; + const double t1453 = t1452 * t390; + const double t1455 = t384 * t387; + const double t1457 = t79 * t1353; + const double t1459 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t386 - 0.98414115575962706562e0 * t1455 + 0.82011762979968922135e0 * t1457; + const double t1460 = t342 * t1459; + const double t1464 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t394 - 0.4e1 / 0.9e1 * t1455 + 0.1e2 / 0.27e2 * t1457; + const double t1467 = t396 * t396; + const double t1468 = t94 * t94; + const double t1469 = 0.1e1 / t1468; + const double t1474 = t97 * t97; + const double t1475 = 0.1e1 / t1474; + const double t1479 = t581 * t213; + const double t1480 = t109 * t452; + const double t1481 = t1480 * t407; + const double t1484 = t212 * t586; + const double t1487 = t193 * t596; + const double t1488 = t124 * t452; + const double t1489 = t1488 * t407; + const double t1492 = t607 * t194; + const double t1495 = t559 * t167; + const double t1496 = t106 * t452; + const double t1497 = t1496 * t407; + const double t1500 = t145 * t407; + const double t1503 = t441 * t101; + const double t1504 = t1503 * t407; + const double t1506 = t407 * t407; + const double t1507 = t114 * t1506; + const double t1510 = t23 * t29 * t346; + const double t1512 = piecewise_functor_3( t34, 0.0, 0.4e1 / 0.27e2 * t1510 ); + const double t1513 = t444 * t1512; + const double t1515 = t1088 + t1091 - t1095 + t1120 + t1130 - t1132 + t1138 - t1151 + t442 + 0.4e1 * t1504 + 0.2e1 * t1507 + 0.2e1 * t1513; + const double t1520 = t501 * t104; + const double t1523 = t507 * t103; + const double t1526 = t147 * t101; + const double t1529 = t154 * t103; + const double t1536 = t587 * t1515; + const double t1539 = t493 * t606; + const double t1544 = t597 * t1515; + const double t1547 = -0.48426690722994727052e0 * t1479 * t1481 - 0.36320018042246045288e0 * t1484 * t1481 - 0.91579568734894010499e-1 * t1487 * t1489 - 0.1282113962288516147e0 * t1492 * t1489 + 0.232567934923104937e1 * t1495 * t1497 + 0.10159746228068031148e1 * t1500 * t452 + 0.5079873114034015574e0 * t450 * t1515 + 0.3e1 * t421 * t1512 + 0.8e1 * t1520 * t407 + 0.6e1 * t1523 * t407 + 0.6e1 * t1526 * t1506 + 0.12e2 * t1529 * t1506 - 0.13082795533556287214e-1 * t494 * t598 + 0.12106672680748681763e0 * t546 * t592 - 0.22700011276403778305e-1 * t212 * t1536 - 0.183159137469788021e-1 * t1539 * t608 + 0.366318274939576042e-1 * t494 * t602 - 0.6541397766778143607e-2 * t193 * t1544; + const double t1548 = t591 * t1512; + const double t1551 = t452 * t452; + const double t1556 = t144 * t188; + const double t1559 = t156 * t490; + const double t1565 = t140 * t1515; + const double t1578 = 0.54e2 * t1551 + 0.54e2 * t1565 - 0.121933728e2 * t1087 - 0.243867456e2 * t1090 + 0.243867456e2 * t1094 - 0.121933728e2 * t1119 - 0.60966864e1 * t1130 + 0.121933728e2 * t1131 - 0.121933728e2 * t1137 + 0.60966864e1 * t1151 - t488 - 0.243867456e2 * t1504 - 0.121933728e2 * t1507 - 0.121933728e2 * t1513; + const double t1581 = -0.1573689609226455711e3 * t141 * t1551 - 0.1049126406150970474e3 * t162 * t1515 + 0.315e3 / 0.4e1 * t1556 * t1551 + 0.63e2 * t1559 * t452 + 0.63e2 / 0.2e1 * t480 * t1515 + 0.9e1 * t184 * t1578; + const double t1582 = t1581 * t192; + const double t1585 = t596 * t107; + const double t1586 = t1585 * t1551; + const double t1589 = t167 * t104; + const double t1590 = t1589 * t1506; + const double t1594 = 0.1e1 / t118 / t117; + const double t1595 = t573 * t1594; + const double t1596 = t447 * t447; + const double t1597 = t1595 * t1596; + const double t1600 = t198 * t151; + const double t1601 = 0.1e1 / t1600; + const double t1602 = t210 * t1601; + const double t1603 = t214 * t1551; + const double t1606 = t587 * t1551; + const double t1609 = t585 * t140; + const double t1610 = 0.1e1 / t1609; + const double t1611 = t1610 * t126; + const double t1612 = t1611 * t1551; + const double t1615 = t213 * t124; + const double t1616 = t1615 * t1506; + const double t1619 = t133 * t159; + const double t1622 = t144 * t469; + const double t1638 = 0.18e2 * t1087 + 0.36e2 * t1090 - 0.36e2 * t1094 + 0.18e2 * t1119 + 0.9e1 * t1130 - 0.18e2 * t1131 + 0.18e2 * t1137 - 0.9e1 * t1151 + t467 + 0.36e2 * t1504 + 0.18e2 * t1507 + 0.18e2 * t1513; + const double t1641 = t142 * t1551; + const double t1645 = 0.45e2 / 0.4e1 * t1619 * t1551 + 0.15e2 * t1622 * t452 + 0.15e2 / 0.2e1 * t461 * t1515 + 0.3e1 * t156 * t1638 + 0.309746542166208e1 * t1641 + 0.619493084332416e1 * t141 * t1515; + const double t1646 = t1645 * t165; + const double t1652 = t140 * t172; + const double t1656 = t1515 * t137 - t550 * t1515 - 0.2e1 * t1551 * t152 + 0.2e1 * t1652 * t1551; + const double t1657 = t1656 * t149; + const double t1660 = t521 * t107; + const double t1663 = t166 * t194; + const double t1669 = t1239 + t1240 - t1241 + t1242 + t1243 - t1244 + t1245 - t1246 + t443 + 0.88572704018366435904e1 * t1504 + 0.44286352009183217952e1 * t1507 + 0.44286352009183217952e1 * t1513; + const double t1676 = t580 * t1551; + const double t1688 = 0.15943086723305958463e3 * t1087 + 0.31886173446611916926e3 * t1090 - 0.31886173446611916926e3 * t1094 + 0.15943086723305958463e3 * t1119 + 0.79715433616529792314e2 * t1130 - 0.15943086723305958463e3 * t1131 + 0.15943086723305958463e3 * t1137 - 0.79715433616529792314e2 * t1151; + const double t1691 = t515 * t213; + const double t1694 = t175 * t586; + const double t1699 = 0.30103061542585260236e1 * t1676 - 0.75257653856463150591e0 * t211 * t1515 + 0.7715016088131e-2 * t1688 * t177 - 0.30860064352524e-1 * t1691 * t452 + 0.46290096528786e-1 * t1694 * t1551 - 0.15430032176262e-1 * t518 * t1515; + const double t1701 = t597 * t1551; + const double t1704 = 0.60533363403743408814e-1 * t212 * t1548 + 0.26165591067112574428e-2 * t1582 * t195 - 0.3488519023846574055e0 * t166 * t1586 - 0.18605434793848394959e1 * t166 * t1590 - t112 * t1597 / 0.8e1 + 0.15133340850935852204e0 * t1602 * t1603 + 0.18160009021123022644e0 * t581 * t1606 + 0.9080004510561511322e-1 * t212 * t1612 + 0.4237335438262038617e0 * t212 * t1616 - 0.93027173969241974797e-1 * t1646 * t168 + 0.5080572e0 * t1657 * t132 + 0.12e2 * t1660 * t407 + 0.1395407609538629622e1 * t1663 * t1497 - t440 * t1669 / 0.2e1 + 0.5080572e0 * t553 * t452 + 0.6e1 * t556 * t1512 + t1699 * t124 + 0.45789784367447005248e-1 * t607 * t1701; + const double t1707 = 0.1e1 / t141 / t585; + const double t1708 = t1707 * t109; + const double t1709 = t1708 * t1551; + const double t1712 = t563 * t1506; + const double t1716 = 0.1e1 / t133 / t579; + const double t1717 = t191 * t1716; + const double t1718 = t195 * t1551; + const double t1721 = t164 * t606; + const double t1722 = t168 * t1551; + const double t1725 = t563 * t1551; + const double t1728 = t441 * t171; + const double t1729 = t1728 * t483; + const double t1731 = t523 * t452; + const double t1733 = t114 * t151; + const double t1734 = t140 * t1551; + const double t1746 = t151 * t207; + const double t1749 = t171 * t542; + const double t1767 = -0.1458e4 * t1551 - 0.1458e4 * t1565 + 0.6584421312e3 * t1087 + 0.13168842624e4 * t1090 - 0.13168842624e4 * t1094 + 0.6584421312e3 * t1119 + 0.3292210656e3 * t1130 - 0.6584421312e3 * t1131 + 0.6584421312e3 * t1137 - 0.3292210656e3 * t1151 + t540 + 0.13168842624e4 * t1504 + 0.6584421312e3 * t1507 + 0.6584421312e3 * t1513; + const double t1770 = t525 + 0.65022612931984162108e3 * t1729 + 0.16255653232996040527e3 * t1731 + 0.97533919397976243162e3 * t1733 * t1734 + 0.65022612931984162108e3 * t526 * t1551 + 0.32511306465992081054e3 * t526 * t1565 + 0.81278266164980202635e2 * t199 * t1515 + 0.20308706906259249944e2 * t1734 + 0.10154353453129624972e2 * t176 * t1515 + 0.100821516374592e0 * t1746 * t1551 + 0.67214344249728e-1 * t1749 * t452 + 0.33607172124864e-1 * t533 * t1515 + 0.8401793031216e-2 * t198 * t1767; + const double t1771 = t1770 * t211; + const double t1774 = t152 * t101; + const double t1775 = t452 * t407; + const double t1781 = t101 * t1506; + const double t1785 = t104 * t1506; + const double t1787 = t106 * t1512; + const double t1789 = t107 * t1506; + const double t1791 = t124 * t1512; + const double t1794 = ( 0.17059169152930056821e1 * t1512 - 0.24973623243864237938e2 * t1781 - 0.12486811621932118969e2 * t103 * t1512 + 0.84348740697389298e2 * t1785 + 0.210871851743473245e2 * t1787 - 0.44839537976659010655e2 * t1789 - 0.74732563294431684425e1 * t1791 ) * M_PI; + const double t1797 = t418 * t439; + const double t1800 = t117 * t117; + const double t1801 = 0.1e1 / t1800; + const double t1803 = t1801 * t447 + t439 * t447; + const double t1804 = t128 * t1803; + const double t1807 = t172 * t103; + const double t1810 = t165 * t101; + const double t1813 = t180 * t106; + const double t1818 = t214 * t1515; + const double t1821 = t545 * t580; + const double t1826 = 0.22894892183723502624e-1 * t193 * t1709 + 0.1098954824818728126e0 * t193 * t1712 + 0.41210805930702304724e-1 * t1717 * t1718 - 0.81398777223086727946e0 * t1721 * t1722 - 0.69770380476931481098e0 * t559 * t1725 + 0.75666704254679261017e-2 * t1771 * t214 - 0.29522924780879636398e1 * t1774 * t1775 + 0.4e1 * t424 * t1512 + t1794 * t119 / 0.2e1 - t1797 * t447 - t1804 * t447 / 0.2e1 + 0.14761462390439818199e1 * t1807 * t1551 - 0.7619809671051023361e0 * t1810 * t1551 + 0.3e2 * t1813 * t1506 - 0.4540002255280755661e-1 * t546 * t588 - 0.30266681701871704407e-1 * t581 * t1818 - 0.60533363403743408814e-1 * t1821 * t582 + 0.14761462390439818199e1 * t458 * t1512; + const double t1829 = t552 * t177; + const double t1830 = t132 * t452; + const double t1841 = t172 * t1515; + const double t1843 = -0.218660588126010225e1 * t213 * t1551 + 0.1093302940630051125e1 * t177 * t1515 + 0.29624556307641067223e1 * t211 * t1551 - 0.98748521025470224076e0 * t1841; + const double t1850 = t103 * t1506; + const double t1852 = t104 * t1512; + const double t1854 = t106 * t1506; + const double t1860 = t109 * t1512; + const double t1862 = 0.65373131959333695e1 * t1506 + 0.65373131959333695e1 * t101 * t1512 - 0.58102078657701102111e2 * t1850 - 0.19367359552567034037e2 * t1852 + 0.8170909705759698165e2 * t1854 + 0.1634181941151939633e2 * t107 * t1512 - 0.11493763593521941685e2 * t124 * t1506 - 0.16419662276459916693e1 * t1860; + const double t1873 = 0.18591590853463565788e1 * t194 * t1551 - 0.12394393902309043859e1 * t167 * t1515 - 0.20990203539014021192e1 * t192 * t1551 + 0.83960814156056084769e0 * t165 * t1515; + const double t1877 = t168 * t1515; + const double t1880 = t474 * t192; + const double t1883 = t195 * t1515; + const double t1886 = t601 * t1512; + const double t1889 = t575 * t1669; + const double t1892 = t567 * t1512; + const double t1897 = t574 * t119; + const double t1900 = t1897 * t447 + t573 * t447; + const double t1901 = t1900 * t574; + const double t1902 = t1901 * t447; + const double t1907 = t563 * t1515; + const double t1910 = -0.73807311952199090995e0 * t455 * t1515 - 0.5080572e0 * t1829 * t1830 + 0.14761462390439818199e1 * t137 * t1506 + t1843 * t106 - 0.10159746228068031148e1 * t134 * t1512 - t1862 * t129 / 0.2e1 + t1873 * t104 + 0.2790815219077259244e0 * t475 * t564 + 0.23256793492310493699e0 * t559 * t1877 + 0.46513586984620987398e0 * t1880 * t560 - 0.91579568734894010498e-2 * t607 * t1883 + 0.183159137469788021e-1 * t193 * t1886 + t112 * t1889 / 0.4e1 - 0.46513586984620987398e0 * t166 * t1892 + t435 * t576 / 0.2e1 + t112 * t1902 / 0.4e1 - 0.93027173969241974796e0 * t475 * t568 + 0.1395407609538629622e0 * t166 * t1907; + const double t1913 = piecewise_functor_3( t34, 0.5080572e0 * t1453 + 0.5080572e0 * t1460 - 0.5080572e0 * t1464 * t397 + 0.5080572e0 * t1467 * t1469 + 0.5080572e0 * t1464 * t400 - 0.5080572e0 * t1467 * t1475, t1547 + t1704 + t1826 + t1910 ); + const double t1915 = t287 * t309; + const double t1916 = t1915 * t1362; + const double t1922 = 0.2e1 * t1172 + 0.4e1 * t1175 + 0.2e1 * t1157 + t1307; + const double t1923 = t325 * t1922; + const double t1928 = t42 * t722; + const double t1944 = 0.3e2 * t1157 + 0.3e2 * t1172 + 0.6e2 * t1175 - 0.297366688e1 * t278 * t1356 - 0.297366688e1 * t1321 + 0.1853171064e1 * t1094 - 0.926585532e0 * t1137 - 0.463292766e0 * t1130 - 0.926585532e0 * t1087 - 0.1853171064e1 * t1090 - 0.926585532e0 * t1119; + const double t1956 = 0.926585532e0 * t1131 + 0.463292766e0 * t1151 - 0.17158991333333333333e0 * t1354 - 0.926585532e0 * t1423 - 0.1853171064e1 * t1425 - 0.926585532e0 * t1427 - 0.1853171064e1 * t1430 + 0.15e2 * t1307 - 0.463292766e0 * t1434 - 0.926585532e0 * t1436 - 0.463292766e0 * t1438; + const double t1957 = t1944 + t1956; + const double t1958 = t30 * t1957; + const double t1962 = t301 * t739; + const double t1963 = t299 * t1962; + const double t1968 = t346 * t287; + const double t1972 = t307 * t695; + const double t1973 = t292 * t1155; + const double t1974 = t1972 * t1973; + const double t1977 = t1319 * t1321; + const double t1978 = t762 * t1977; + const double t1982 = 0.1e1 / t85 / t1096; + const double t1983 = t1982 * t326; + const double t1987 = t270 * t1326; + const double t1990 = t692 * t695; + const double t1995 = -0.2e1 / 0.81e2 * t274 * t1928 * t293 + t274 * t1958 * t293 / 0.27e2 + 0.16e2 / 0.27e2 * t1963 * t759 + 0.2e2 / 0.27e2 * t1963 * t764 + 0.4e1 / 0.243e3 * t274 * t1968 * t293 + 0.8e1 / 0.9e1 * t756 * t1974 + 0.35e2 / 0.27e2 * t756 * t1978 + 0.32e3 / 0.729e3 * t323 * t1983 * t328 - 0.16e2 / 0.3e1 * t1987 * t1155 + 0.8e1 / 0.3e1 * t1990 * t615 + 0.4e1 / 0.3e1 * t696 * t1152; + const double t1997 = t1396 - 0.2e2 / 0.27e2 * t756 * t1398 - 0.8e1 / 0.27e2 * t756 * t1402 - 0.1e2 / 0.27e2 * t756 * t1406 - 0.8e2 / 0.243e3 * t323 * t1409 * t328 + 0.8e1 / 0.27e2 * t302 * t1413 * t307 * t310 + 0.4e1 / 0.27e2 * t302 * t303 * t1440 * t310 - 0.8e1 / 0.27e2 * t302 * t739 * t750 * t310 - 0.8e1 / 0.9e1 * t1913 + 0.5e1 / 0.27e2 * t32 * t1916 + 0.8e1 / 0.81e2 * t323 * t1923 * t328 + t1995; + const double t2002 = piecewise_functor_3( t3, 0.0, t7 * t1078 * t332 / 0.12e2 - t7 * t337 * t789 / 0.4e1 - 0.3e1 / 0.8e1 * t7 * t21 * t1997 ); + const double t2008 = t1053 * t615; + const double t2009 = t1915 * t2008; + const double t2012 = t287 * t289; + const double t2013 = t1319 * t834; + const double t2014 = t2013 * t705; + const double t2015 = t2012 * t2014; + const double t2018 = t326 * t1326; + const double t2019 = t1049 * t615; + const double t2020 = t2018 * t2019; + const double t2023 = t1053 * t705; + const double t2024 = t1388 * t2023; + const double t2027 = t615 * t834; + const double t2030 = t1044 * t271; + const double t2031 = t2030 * t758; + const double t2034 = t1044 * t309; + const double t2035 = t2034 * t763; + const double t2038 = t42 * t1027; + const double t2046 = t768 * t1058; + const double t2050 = t1972 * t2019; + const double t2053 = 0.5e1 / 0.54e2 * t32 * t2009 + 0.35e2 / 0.108e3 * t32 * t2015 + 0.32e2 / 0.27e2 * t1387 * t2020 + 0.2e2 / 0.27e2 * t1387 * t2024 - 0.16e2 / 0.3e1 * t1987 * t2027 - 0.8e1 / 0.27e2 * t756 * t2031 - 0.1e2 / 0.27e2 * t756 * t2035 - t274 * t2038 * t293 / 0.81e2 + 0.8e1 / 0.27e2 * t1963 * t1050 + 0.1e2 / 0.27e2 * t1963 * t1054 - 0.4e2 / 0.243e3 * t323 * t2046 * t328 + 0.8e1 / 0.9e1 * t756 * t2050; + const double t2054 = t757 * t2023; + const double t2057 = t757 * t2008; + const double t2060 = t762 * t2014; + const double t2072 = t358 * t64; + const double t2073 = t2072 * t810; + const double t2075 = t1089 * t810; + const double t2077 = t372 * t809; + const double t2078 = t2077 * t378; + const double t2079 = t343 * t2078; + const double t2083 = t37 * t798 * t346 / 0.18e2; + const double t2084 = piecewise_functor_3( t47, 0.0, -t2083 ); + const double t2085 = piecewise_functor_3( t49, t2084, 0.0 ); + const double t2087 = t2085 * t52 * t353; + const double t2088 = t803 * t351; + const double t2089 = t52 * t353; + const double t2091 = t803 * t1109; + const double t2092 = t1112 * t351; + const double t2095 = piecewise_functor_3( t47, 0.0, -t2088 * t2089 + t2091 * t2092 + t2085 - t2087 ); + const double t2096 = piecewise_functor_3( t46, -t2083, t2095 ); + const double t2097 = piecewise_functor_3( t58, 0.0, t2096 ); + const double t2098 = t72 * t2097; + const double t2099 = t343 * t2098; + const double t2101 = t59 * t817; + const double t2102 = t2101 * t359; + const double t2104 = t358 * t809; + const double t2106 = t59 * t2097; + const double t2108 = t60 * t809; + const double t2109 = t2108 * t358; + const double t2111 = t364 * t2097; + const double t2113 = 0.1959362e-1 * t2104 + 0.1959362e-1 * t2106 + 0.4930008e0 * t2109 + 0.1643336e0 * t2111; + const double t2114 = t60 * t2113; + const double t2115 = t2114 * t72; + const double t2116 = t818 * t379; + const double t2117 = t827 * t358; + const double t2118 = t343 * t2117; + const double t2120 = t368 * t827; + const double t2121 = t1134 * t826; + const double t2122 = t2121 * t378; + const double t2123 = t65 * t2122; + const double t2129 = t62 * t2097; + const double t2135 = 0.224928e1 * t2109 + 0.74976e0 * t2111 + 0.241648e-1 * t815 * t358 + 0.60412e-2 * t2129 + 0.1041564e1 * t822 * t358 + 0.2083128e0 * t67 * t2097; + const double t2136 = t372 * t2135; + const double t2137 = t65 * t2136; + const double t2138 = 0.2e1 * t2073 + 0.2e1 * t2075 - 0.2e1 * t2079 + 0.2e1 * t2099 + 0.2e1 * t2102 + t2115 - t2116 - 0.2e1 * t2118 - t2120 + 0.2e1 * t2123 - t2137; + const double t2139 = t779 * t2138; + const double t2146 = t784 * t2138; + const double t2150 = t287 * t271; + const double t2151 = t2150 * t2019; + const double t2154 = t1915 * t2023; + const double t2160 = 0.2e2 / 0.27e2 * t756 * t2054 + 0.2e2 / 0.27e2 * t756 * t2057 + 0.35e2 / 0.27e2 * t756 * t2060 - 0.8e1 / 0.27e2 * t323 * t1059 * t780 - 0.2e2 / 0.81e2 * t323 * t1059 * t785 - 0.8e1 / 0.27e2 * t323 * t775 * t1063 - 0.8e1 / 0.27e2 * t323 * t327 * t2139 - 0.2e2 / 0.81e2 * t323 * t775 * t1067 - 0.2e2 / 0.81e2 * t323 * t327 * t2146 + 0.2e1 / 0.27e2 * t32 * t2151 + 0.5e1 / 0.54e2 * t32 * t2154 + t274 * t699 * t1032 / 0.81e2; + const double t2180 = t310 * t2138; + const double t2187 = t734 * t2138; + const double t2193 = t1010 * t695; + const double t2198 = 0.5e1 / 0.162e3 * t274 * t699 * t1036 + 0.4e2 / 0.81e2 * t323 * t769 * t1063 + 0.1e3 / 0.243e3 * t323 * t769 * t1067 - t274 * t1028 * t727 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t1028 * t735 - t274 * t723 * t1032 / 0.27e2 - t274 * t288 * t2180 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t723 * t1036 - 0.5e1 / 0.54e2 * t274 * t288 * t2187 + 0.4e1 / 0.3e1 * t1990 * t834 + 0.4e1 / 0.3e1 * t2193 * t615 + 0.4e1 / 0.3e1 * t696 * t2138; + const double t2199 = t1388 * t2008; + const double t2202 = t326 * t271; + const double t2203 = t2202 * t2014; + const double t2206 = t1452 * t830; + const double t2219 = 0.44286352009183217952e1 * t2073 + 0.44286352009183217952e1 * t2075 - 0.44286352009183217952e1 * t2079 + 0.44286352009183217952e1 * t2099 + 0.44286352009183217952e1 * t2102 + 0.22143176004591608976e1 * t2115 - 0.22143176004591608976e1 * t2116 - 0.44286352009183217952e1 * t2118 - 0.22143176004591608976e1 * t2120 + 0.44286352009183217952e1 * t2123 - 0.22143176004591608976e1 * t2137; + const double t2220 = t342 * t2219; + const double t2224 = t834 * t1469; + const double t2229 = t834 * t1475; + const double t2233 = t891 * t107; + const double t2237 = t834 * t152; + const double t2240 = t452 * t834; + const double t2244 = t2138 * t137 + 0.2e1 * t1652 * t2240 - t550 * t2138 - 0.2e1 * t2237 * t452; + const double t2245 = t2244 * t149; + const double t2258 = t853 * t103; + const double t2265 = t1717 * t194; + const double t2266 = t109 * t834; + const double t2267 = t2266 * t452; + const double t2270 = t607 * t596; + const double t2273 = t124 * t834; + const double t2274 = t2273 * t407; + const double t2277 = t193 * t1707; + const double t2282 = 0.6e1 * t2233 * t407 + 0.5080572e0 * t2245 * t132 + 0.5080572e0 * t943 * t452 - t440 * t2219 / 0.2e1 - t1797 * t830 / 0.2e1 - t1804 * t830 / 0.2e1 - 0.73807311952199090995e0 * t455 * t2138 + 0.3e1 * t2258 * t407 + 0.5079873114034015574e0 * t1500 * t834 + 0.5079873114034015574e0 * t450 * t2138 + 0.41210805930702304724e-1 * t2265 * t2267 + 0.45789784367447005248e-1 * t2270 * t2267 - 0.64105698114425807349e-1 * t1492 * t2274 + 0.22894892183723502624e-1 * t2277 * t2267 - 0.45789784367447005249e-1 * t1487 * t2274; + const double t2283 = t1602 * t213; + const double t2284 = t126 * t834; + const double t2285 = t2284 * t452; + const double t2288 = t581 * t586; + const double t2291 = t2266 * t407; + const double t2294 = t212 * t1610; + const double t2299 = t112 * t573; + const double t2300 = t1594 * t830; + const double t2301 = t2300 * t447; + const double t2304 = t1721 * t167; + const double t2305 = t107 * t834; + const double t2306 = t2305 * t452; + const double t2309 = t559 * t194; + const double t2312 = t106 * t834; + const double t2313 = t2312 * t407; + const double t2316 = t166 * t596; + const double t2323 = t834 * t407; + const double t2328 = t575 * t2219; + const double t2331 = 0.15133340850935852204e0 * t2283 * t2285 + 0.18160009021123022644e0 * t2288 * t2285 - 0.24213345361497363526e0 * t1479 * t2291 + 0.9080004510561511322e-1 * t2294 * t2285 - 0.18160009021123022644e0 * t1484 * t2291 - t2299 * t2301 / 0.8e1 - 0.81398777223086727946e0 * t2304 * t2306 - 0.69770380476931481098e0 * t2309 * t2306 + 0.1162839674615524685e1 * t1495 * t2313 - 0.3488519023846574055e0 * t2316 * t2306 + 0.697703804769314811e0 * t1663 * t2313 + 0.1395407609538629622e0 * t872 * t564 - 0.14761462390439818199e1 * t1774 * t2323 - 0.7619809671051023361e0 * t1810 * t2240 + t112 * t2328 / 0.4e1; + const double t2335 = t1901 * t830; + const double t2344 = t144 * t866; + const double t2358 = 0.18e2 * t2073 + 0.18e2 * t2075 - 0.18e2 * t2079 + 0.18e2 * t2099 + 0.18e2 * t2102 + 0.9e1 * t2115 - 0.9e1 * t2116 - 0.18e2 * t2118 - 0.9e1 * t2120 + 0.18e2 * t2123 - 0.9e1 * t2137; + const double t2361 = t142 * t834; + const double t2364 = t141 * t2138; + const double t2366 = 0.45e2 / 0.4e1 * t1619 * t2240 + 0.15e2 / 0.2e1 * t1622 * t834 + 0.15e2 / 0.2e1 * t461 * t2138 + 0.15e2 / 0.2e1 * t2344 * t452 + 0.3e1 * t156 * t2358 + 0.309746542166208e1 * t2361 * t452 + 0.619493084332416e1 * t2364; + const double t2367 = t2366 * t165; + const double t2372 = t580 * t834; + const double t2375 = t211 * t2138; + const double t2388 = 0.15943086723305958463e3 * t2073 + 0.15943086723305958463e3 * t2075 - 0.15943086723305958463e3 * t2079 + 0.15943086723305958463e3 * t2099 + 0.15943086723305958463e3 * t2102 + 0.79715433616529792314e2 * t2115 - 0.79715433616529792314e2 * t2116 - 0.15943086723305958463e3 * t2118 - 0.79715433616529792314e2 * t2120 + 0.15943086723305958463e3 * t2123 - 0.79715433616529792314e2 * t2137; + const double t2391 = t886 * t213; + const double t2400 = 0.30103061542585260236e1 * t2372 * t452 - 0.75257653856463150591e0 * t2375 + 0.7715016088131e-2 * t2388 * t177 - 0.15430032176262e-1 * t2391 * t452 - 0.15430032176262e-1 * t1691 * t834 + 0.46290096528786e-1 * t1694 * t2240 - 0.15430032176262e-1 * t518 * t2138; + const double t2402 = t859 * t104; + const double t2407 = t905 * t606; + const double t2414 = t597 * t2138; + const double t2419 = t195 * t2138; + const double t2425 = 0.32511306465992081054e3 * t1728 * t897; + const double t2426 = t897 * t452; + const double t2431 = t140 * t2138; + const double t2435 = 0.81278266164980202635e2 * t523 * t834; + const double t2447 = t171 * t927; + const double t2463 = -0.1458e4 * t2240 - 0.1458e4 * t2431 + 0.6584421312e3 * t2073 + 0.6584421312e3 * t2075 - 0.6584421312e3 * t2079 + 0.6584421312e3 * t2099 + 0.6584421312e3 * t2102 + 0.3292210656e3 * t2115 - 0.3292210656e3 * t2116 - 0.6584421312e3 * t2118 - 0.3292210656e3 * t2120 + 0.6584421312e3 * t2123 - 0.3292210656e3 * t2137; + const double t2466 = t2425 + 0.97533919397976243162e3 * t1733 * t2426 + 0.65022612931984162108e3 * t526 * t2240 + 0.32511306465992081054e3 * t526 * t2431 + t2435 + 0.81278266164980202635e2 * t199 * t2138 + 0.20308706906259249944e2 * t2426 + 0.10154353453129624972e2 * t176 * t2138 + 0.100821516374592e0 * t1746 * t2240 + 0.33607172124864e-1 * t1749 * t834 + 0.33607172124864e-1 * t533 * t2138 + 0.33607172124864e-1 * t2447 * t452 + 0.8401793031216e-2 * t198 * t2463; + const double t2467 = t2466 * t211; + const double t2470 = t435 * t840 / 0.4e1 + t112 * t2335 / 0.4e1 - 0.93027173969241974797e-1 * t2367 * t168 + 0.14761462390439818199e1 * t1807 * t2240 + t2400 * t124 + 0.4e1 * t2402 * t407 - 0.22700011276403778305e-1 * t546 * t937 - 0.91579568734894010498e-2 * t2407 * t608 - 0.6541397766778143607e-2 * t906 * t598 + 0.183159137469788021e-1 * t906 * t602 - 0.6541397766778143607e-2 * t193 * t2414 - 0.6541397766778143607e-2 * t494 * t912 - 0.91579568734894010498e-2 * t607 * t2419 - 0.91579568734894010498e-2 * t1539 * t909 + 0.75666704254679261017e-2 * t2467 * t214; + const double t2473 = t930 * t580; + const double t2476 = t587 * t2138; + const double t2479 = t942 * t177; + const double t2482 = t194 * t834; + const double t2485 = t167 * t2138; + const double t2487 = t192 * t834; + const double t2492 = 0.18591590853463565788e1 * t2482 * t452 - 0.12394393902309043859e1 * t2485 - 0.20990203539014021192e1 * t2487 * t452 + 0.83960814156056084769e0 * t165 * t2138; + const double t2494 = t168 * t2138; + const double t2501 = t871 * t192; + const double t2504 = t563 * t2138; + const double t2509 = t214 * t2138; + const double t2516 = t213 * t834; + const double t2523 = t172 * t2138; + const double t2525 = -0.218660588126010225e1 * t2516 * t452 + 0.1093302940630051125e1 * t177 * t2138 + 0.29624556307641067223e1 * t881 * t452 - 0.98748521025470224076e0 * t2523; + const double t2537 = t156 * t902; + const double t2553 = 0.54e2 * t2240 + 0.54e2 * t2431 - 0.121933728e2 * t2073 - 0.121933728e2 * t2075 + 0.121933728e2 * t2079 - 0.121933728e2 * t2099 - 0.121933728e2 * t2102 - 0.60966864e1 * t2115 + 0.60966864e1 * t2116 + 0.121933728e2 * t2118 + 0.60966864e1 * t2120 - 0.121933728e2 * t2123 + 0.60966864e1 * t2137; + const double t2556 = -0.1573689609226455711e3 * t869 * t452 - 0.1049126406150970474e3 * t162 * t2138 + 0.315e3 / 0.4e1 * t1556 * t2240 + 0.63e2 / 0.2e1 * t1559 * t834 + 0.63e2 / 0.2e1 * t480 * t2138 + 0.63e2 / 0.2e1 * t2537 * t452 + 0.9e1 * t184 * t2553; + const double t2557 = t2556 * t192; + const double t2560 = -0.30266681701871704407e-1 * t1821 * t934 - 0.30266681701871704407e-1 * t2473 * t582 - 0.22700011276403778305e-1 * t212 * t2476 - 0.5080572e0 * t2479 * t1830 + t2492 * t104 + 0.23256793492310493699e0 * t559 * t2494 - 0.46513586984620987398e0 * t872 * t568 + 0.23256793492310493699e0 * t1880 * t875 + 0.23256793492310493699e0 * t2501 * t560 + 0.1395407609538629622e0 * t166 * t2504 + 0.1395407609538629622e0 * t475 * t878 - 0.30266681701871704407e-1 * t581 * t2509 - 0.22700011276403778305e-1 * t931 * t588 + 0.60533363403743408814e-1 * t931 * t592 + t2525 * t106 + 0.26165591067112574428e-2 * t2557 * t195; + const double t2563 = piecewise_functor_3( t34, 0.5080572e0 * t2206 + 0.5080572e0 * t2220 - 0.5080572e0 * t2138 * t397 + 0.5080572e0 * t2224 * t396 + 0.5080572e0 * t2138 * t400 - 0.5080572e0 * t2229 * t396, t2282 + t2331 + t2470 + t2560 ); + const double t2567 = t817 * t372; + const double t2572 = t826 * t378; + const double t2577 = 0.64753871e1 * t2113 * t72 - 0.64753871e1 * t2567 * t378 - 0.64753871e1 * t1161 * t826 + 0.129507742e2 * t1164 * t2572 - 0.64753871e1 * t630 * t2135; + const double t2579 = t964 * t59; + const double t2588 = 0.2e1 * t1204 * t809 + 0.2e1 * t640 * t2097 + t2577 * t60 + 0.2e1 * t2579 * t358 + 0.2e1 * t625 * t809; + const double t2598 = t223 * t2138; + const double t2605 = t235 * ( -0.463292766e0 * t2588 * t223 - 0.463292766e0 * t972 * t615 - 0.463292766e0 * t643 * t834 - 0.463292766e0 * t237 * t2138 - 0.297366688e1 * t2027 - 0.297366688e1 * t2598 + 0.487734912e2 * t949 * t615 + 0.243867456e2 * t224 * t2138 ); + const double t2612 = t1232 * t834; + const double t2613 = t2612 * t615; + const double t2616 = t657 * t2138; + const double t2619 = t2219 * t250; + const double t2620 = t2619 * t254; + const double t2622 = t830 * t661; + const double t2627 = t1255 * t834; + const double t2632 = t1264 * t834; + const double t2633 = t2632 * t615; + const double t2639 = t2605 * t247 / 0.16e2 - 0.7e1 / 0.32e2 * t981 * t658 - 0.7e1 / 0.32e2 * t652 * t984 + 0.63e2 / 0.64e2 * t244 * t2613 - 0.7e1 / 0.32e2 * t244 * t2616 - 0.23751029502456895713e1 * t2620 - 0.23751029502456895713e1 * t2622 * t255 + 0.19940105822687055308e1 * t987 * t1256 + 0.19940105822687055308e1 * t662 * t2627 + 0.19940105822687055308e1 * t1260 * t2627 - 0.9970052911343527654e0 * t666 * t2633 + 0.19940105822687055308e1 * t666 * t667 * t2138; + const double t2640 = t2639 * t258; + const double t2649 = t259 * t1279; + const double t2650 = t246 * t809; + const double t2651 = t2650 * t358; + const double t2654 = t680 * t809; + const double t2655 = t2654 * t615; + const double t2658 = t676 * t2097; + const double t2663 = t680 * t834; + const double t2664 = t2663 * t358; + const double t2667 = t259 * t260; + const double t2668 = t1292 * t834; + const double t2669 = t2668 * t615; + const double t2672 = t681 * t2138; + const double t2675 = -0.16e2 / 0.15e2 * t2640 * t261 + 0.32e2 / 0.15e2 * t994 * t677 - 0.56e2 / 0.15e2 * t994 * t682 + 0.32e2 / 0.15e2 * t672 * t997 - 0.32e2 / 0.5e1 * t2649 * t2651 + 0.112e3 / 0.15e2 * t1284 * t2655 + 0.32e2 / 0.15e2 * t259 * t2658 - 0.56e2 / 0.15e2 * t672 * t1000 + 0.112e3 / 0.15e2 * t1284 * t2664 - 0.28e2 / 0.3e1 * t2667 * t2669 - 0.56e2 / 0.15e2 * t259 * t2672; + const double t2681 = piecewise_functor_3( t233, t2675, -0.14235295576e0 * t2104 - 0.14235295576e0 * t2106 + 0.102414495876e1 * t2109 + 0.34138165292e0 * t2111 ); + const double t2682 = t60 * t2681; + const double t2686 = t2138 * t60; + const double t2687 = t2686 * t230; + const double t2688 = 0.77215461e-1 * t2687; + const double t2689 = t636 * t2097; + const double t2691 = t59 * t1007; + const double t2692 = t2691 * t358; + const double t2694 = t358 * t267; + const double t2695 = t2694 * t809; + const double t2697 = t1174 * t809; + const double t2699 = t954 * t633; + const double t2700 = 0.77215461e-1 * t2699; + const double t2703 = 0.154430922e0 * t2102; + const double t2704 = 0.77215461e-1 * t2116; + const double t2705 = 0.77215461e-1 * t2120; + const double t2706 = 0.77215461e-1 * t2137; + const double t2707 = 0.154430922e0 * t2073; + const double t2708 = 0.2e1 * t2682 - 0.77215461e-1 * t227 * t2577 - t2688 + 0.4e1 * t2689 + 0.4e1 * t2692 + 0.4e1 * t2695 + 0.4e1 * t2697 - t2700 - 0.77215461e-1 * t621 * t964 - t2703 + t2704 + t2705 + t2706 - t2707; + const double t2709 = 0.154430922e0 * t2075; + const double t2710 = 0.154430922e0 * t2099; + const double t2711 = t223 * t358; + const double t2714 = 0.154430922e0 * t2118; + const double t2715 = 0.154430922e0 * t2123; + const double t2716 = 0.77215461e-1 * t2115; + const double t2719 = t633 * t809; + const double t2722 = t230 * t2097; + const double t2725 = t964 * t358; + const double t2728 = t834 * t59; + const double t2729 = t2728 * t625; + const double t2730 = 0.154430922e0 * t2729; + const double t2733 = 0.154430922e0 * t2079; + const double t2734 = -t2709 - t2710 - 0.154430922e0 * t2711 * t957 + t2714 - t2715 - t2716 - 0.74341672e0 * t2598 - 0.74341672e0 * t2027 - 0.154430922e0 * t624 * t2719 - 0.154430922e0 * t624 * t2722 - 0.154430922e0 * t624 * t2725 - t2730 - 0.154430922e0 * t1182 * t957 + t2733; + const double t2735 = t2708 + t2734; + const double t2738 = t1392 * t1049; + const double t2741 = t292 * t2138; + const double t2742 = t757 * t2741; + const double t2745 = t1397 * t1053; + const double t2748 = t733 * t2138; + const double t2749 = t762 * t2748; + const double t2756 = 0.2e1 * t2695 + 0.2e1 * t2697 + 0.2e1 * t2689 + 0.2e1 * t2692 + t2682; + const double t2757 = t325 * t2756; + const double t2768 = t1429 * t957; + const double t2770 = t278 * t358; + const double t2771 = t2770 * t957; + const double t2773 = t715 * t2719; + const double t2775 = t715 * t2722; + const double t2777 = t715 * t2725; + const double t2779 = t712 * t964; + const double t2782 = 0.15e2 * t2682 - 0.463292766e0 * t2687 + 0.3e2 * t2689 + 0.3e2 * t2692 + 0.3e2 * t2695 + 0.3e2 * t2697 - 0.463292766e0 * t2699 - 0.926585532e0 * t2768 - 0.926585532e0 * t2771 - 0.926585532e0 * t2773 - 0.926585532e0 * t2775 - 0.926585532e0 * t2777 - 0.463292766e0 * t2779 - 0.926585532e0 * t2102; + const double t2794 = t283 * t2577; + const double t2797 = t705 * t834; + const double t2800 = 0.463292766e0 * t2116 + 0.463292766e0 * t2120 + 0.463292766e0 * t2137 - 0.926585532e0 * t2073 - 0.926585532e0 * t2075 - 0.926585532e0 * t2099 + 0.926585532e0 * t2118 - 0.926585532e0 * t2123 - 0.463292766e0 * t2115 - 0.297366688e1 * t278 * t2138 - 0.463292766e0 * t2794 - 0.926585532e0 * t2729 - 0.297366688e1 * t2797 + 0.926585532e0 * t2079; + const double t2801 = t2782 + t2800; + const double t2802 = t30 * t2801; + const double t2817 = 0.5e1 * t2682 - t2688 + 0.1e2 * t2689 + 0.1e2 * t2692 + 0.1e2 * t2695 + 0.1e2 * t2697 - t2700 - 0.154430922e0 * t2768 - 0.154430922e0 * t2771 - 0.154430922e0 * t2773 - 0.154430922e0 * t2775 - 0.154430922e0 * t2777 - 0.77215461e-1 * t2779; + const double t2819 = -t2703 + t2704 + t2705 + t2706 - t2707 - t2709 - t2710 + t2714 - t2715 - t2716 - 0.77215461e-1 * t2794 - t2730 + t2733; + const double t2820 = t2817 + t2819; + const double t2829 = 0.2e2 / 0.27e2 * t1387 * t2199 + 0.7e2 / 0.81e2 * t1387 * t2203 - 0.8e1 / 0.9e1 * t2563 - 0.4e1 / 0.9e1 * t2735 * t271 - 0.8e1 / 0.27e2 * t756 * t2738 - 0.8e1 / 0.27e2 * t756 * t2742 - 0.1e2 / 0.27e2 * t756 * t2745 - 0.1e2 / 0.27e2 * t756 * t2749 + 0.8e1 / 0.81e2 * t323 * t2757 * t328 + t274 * t2802 * t293 / 0.27e2 + 0.4e1 / 0.27e2 * t302 * t303 * t2820 * t310 - 0.4e1 / 0.27e2 * t302 * t739 * t1044 * t310; + const double t2831 = t2053 + t2160 + t2198 + t2829; + const double t2836 = piecewise_functor_3( t3, 0.0, -t7 * t337 * t1071 / 0.8e1 - 0.3e1 / 0.8e1 * t7 * t21 * t2831 ); + const double t2839 = t2034 * t1053; + const double t2842 = t809 * t809; + const double t2843 = t2842 * t64; + const double t2844 = t2843 * t72; + const double t2846 = t2101 * t810; + const double t2848 = t2077 * t826; + const double t2849 = t343 * t2848; + const double t2853 = 0.1e1 / t38 / sigma * t39; + const double t2856 = t37 * t2853 * t42 / 0.48e2; + const double t2857 = piecewise_functor_3( t47, 0.0, -t2856 ); + const double t2858 = piecewise_functor_3( t49, t2857, 0.0 ); + const double t2861 = t803 * t803; + const double t2862 = t2861 * t52; + const double t2864 = t2861 * t1109; + const double t2867 = piecewise_functor_3( t47, 0.0, -t2858 * t52 * t353 + t2864 * t1112 - t2862 * t353 + t2858 ); + const double t2868 = piecewise_functor_3( t46, -t2856, t2867 ); + const double t2869 = piecewise_functor_3( t58, 0.0, t2868 ); + const double t2870 = t72 * t2869; + const double t2871 = t343 * t2870; + const double t2874 = t59 * t2869; + const double t2876 = t60 * t2842; + const double t2878 = t364 * t2869; + const double t2880 = 0.1959362e-1 * t2842 + 0.1959362e-1 * t2874 + 0.4930008e0 * t2876 + 0.1643336e0 * t2878; + const double t2881 = t60 * t2880; + const double t2882 = t2881 * t72; + const double t2883 = t818 * t827; + const double t2885 = t826 * t826; + const double t2886 = t1134 * t2885; + const double t2887 = t65 * t2886; + const double t2891 = t364 * t2842; + const double t2893 = t62 * t2869; + const double t2899 = 0.224928e1 * t2876 + 0.74976e0 * t2878 + 0.241648e-1 * t2891 + 0.60412e-2 * t2893 + 0.1041564e1 * t62 * t2842 + 0.2083128e0 * t67 * t2869; + const double t2900 = t372 * t2899; + const double t2901 = t65 * t2900; + const double t2902 = 0.2e1 * t2844 + 0.4e1 * t2846 - 0.4e1 * t2849 + 0.2e1 * t2871 + t2882 - 0.2e1 * t2883 + 0.2e1 * t2887 - t2901; + const double t2903 = t292 * t2902; + const double t2904 = t757 * t2903; + const double t2907 = t733 * t2902; + const double t2908 = t762 * t2907; + const double t2911 = t2842 * t267; + const double t2913 = t2691 * t809; + const double t2915 = t636 * t2869; + const double t2925 = 0.64753871e1 * t2880 * t72 - 0.129507742e2 * t2567 * t826 + 0.129507742e2 * t1164 * t2885 - 0.64753871e1 * t630 * t2899; + const double t2933 = 0.2e1 * t230 * t2842 + 0.4e1 * t2579 * t809 + 0.2e1 * t640 * t2869 + t2925 * t60; + const double t2940 = t834 * t834; + const double t2941 = 0.297366688e1 * t2940; + const double t2942 = t223 * t2902; + const double t2949 = t235 * ( -0.463292766e0 * t2933 * t223 - 0.926585532e0 * t972 * t834 - 0.463292766e0 * t237 * t2902 - t2941 - 0.297366688e1 * t2942 + 0.487734912e2 * t223 * t2940 + 0.243867456e2 * t224 * t2902 ); + const double t2954 = t1232 * t2940; + const double t2957 = t657 * t2902; + const double t2968 = 0.44286352009183217952e1 * t2844 + 0.88572704018366435904e1 * t2846 - 0.88572704018366435904e1 * t2849 + 0.44286352009183217952e1 * t2871 + 0.22143176004591608976e1 * t2882 - 0.44286352009183217952e1 * t2883 + 0.44286352009183217952e1 * t2887 - 0.22143176004591608976e1 * t2901; + const double t2969 = t2968 * t250; + const double t2972 = t830 * t830; + const double t2973 = t2972 * t250; + const double t2978 = -t830; + const double t2979 = t250 * t2978; + const double t2989 = ( t2949 * t247 / 0.16e2 - 0.7e1 / 0.16e2 * t981 * t984 + 0.63e2 / 0.64e2 * t244 * t2954 - 0.7e1 / 0.32e2 * t244 * t2957 - 0.23751029502456895713e1 * t2969 * t254 - 0.23751029502456895713e1 * t2973 * t254 + 0.39880211645374110616e1 * t987 * t2627 + 0.19940105822687055308e1 * t2979 * t2627 - 0.9970052911343527654e0 * t666 * t1264 * t2940 + 0.19940105822687055308e1 * t666 * t667 * t2902 ) * t258; + const double t2996 = t1280 * t2842; + const double t2999 = t2654 * t834; + const double t3002 = t676 * t2869; + const double t3005 = t1293 * t2940; + const double t3008 = t681 * t2902; + const double t3017 = piecewise_functor_3( t233, -0.16e2 / 0.15e2 * t2989 * t261 + 0.64e2 / 0.15e2 * t994 * t997 - 0.112e3 / 0.15e2 * t994 * t1000 - 0.32e2 / 0.5e1 * t259 * t2996 + 0.224e3 / 0.15e2 * t1284 * t2999 + 0.32e2 / 0.15e2 * t259 * t3002 - 0.28e2 / 0.3e1 * t259 * t3005 - 0.56e2 / 0.15e2 * t259 * t3008, -0.14235295576e0 * t2842 - 0.14235295576e0 * t2874 + 0.102414495876e1 * t2876 + 0.34138165292e0 * t2878 ); + const double t3018 = t60 * t3017; + const double t3019 = 0.2e1 * t2911 + 0.4e1 * t2913 + 0.2e1 * t2915 + t3018; + const double t3020 = t325 * t3019; + const double t3024 = t292 * t2940; + const double t3025 = t1972 * t3024; + const double t3028 = t733 * t2940; + const double t3029 = t757 * t3028; + const double t3032 = t1319 * t2940; + const double t3033 = t762 * t3032; + const double t3042 = t310 * t2902; + const double t3046 = t734 * t2902; + const double t3056 = t779 * t2902; + const double t3060 = -0.2e2 / 0.27e2 * t756 * t2839 - 0.8e1 / 0.27e2 * t756 * t2904 - 0.1e2 / 0.27e2 * t756 * t2908 + 0.8e1 / 0.81e2 * t323 * t3020 * t328 + 0.8e1 / 0.9e1 * t756 * t3025 + 0.4e2 / 0.27e2 * t756 * t3029 + 0.35e2 / 0.27e2 * t756 * t3033 - 0.2e1 / 0.27e2 * t274 * t1028 * t1032 - 0.5e1 / 0.27e2 * t274 * t1028 * t1036 - t274 * t288 * t3042 / 0.27e2 - 0.5e1 / 0.54e2 * t274 * t288 * t3046 - 0.16e2 / 0.27e2 * t323 * t1059 * t1063 - 0.4e2 / 0.81e2 * t323 * t1059 * t1067 - 0.8e1 / 0.27e2 * t323 * t327 * t3056; + const double t3061 = t784 * t2902; + const double t3066 = t1450 * t830 + t831; + const double t3067 = t3066 * t830; + const double t3069 = t342 * t2968; + const double t3080 = t1595 * t2972; + const double t3083 = t168 * t2940; + const double t3086 = t563 * t2940; + const double t3089 = t1585 * t2940; + const double t3092 = t195 * t2940; + const double t3095 = t597 * t2940; + const double t3098 = t1708 * t2940; + const double t3101 = t214 * t2940; + const double t3104 = t587 * t2940; + const double t3107 = t1611 * t2940; + const double t3110 = t194 * t2940; + const double t3112 = t167 * t2902; + const double t3118 = 0.18591590853463565788e1 * t3110 - 0.12394393902309043859e1 * t3112 - 0.20990203539014021192e1 * t192 * t2940 + 0.83960814156056084769e0 * t165 * t2902; + const double t3122 = t1801 * t830 + t439 * t830; + const double t3123 = t128 * t3122; + const double t3132 = t1897 * t830 + t573 * t830; + const double t3133 = t3132 * t574; + const double t3134 = t3133 * t830; + const double t3137 = t575 * t2968; + const double t3144 = t211 * t2940; + const double t3146 = t172 * t2902; + const double t3148 = -0.218660588126010225e1 * t213 * t2940 + 0.1093302940630051125e1 * t177 * t2902 + 0.29624556307641067223e1 * t3144 - 0.98748521025470224076e0 * t3146; + const double t3164 = 0.18e2 * t2844 + 0.36e2 * t2846 - 0.36e2 * t2849 + 0.18e2 * t2871 + 0.9e1 * t2882 - 0.18e2 * t2883 + 0.18e2 * t2887 - 0.9e1 * t2901; + const double t3167 = t142 * t2940; + const double t3169 = t141 * t2902; + const double t3171 = 0.45e2 / 0.4e1 * t1619 * t2940 + 0.15e2 * t2344 * t834 + 0.15e2 / 0.2e1 * t461 * t2902 + 0.3e1 * t156 * t3164 + 0.309746542166208e1 * t3167 + 0.619493084332416e1 * t3169; + const double t3172 = t3171 * t165; + const double t3175 = t214 * t2902; + const double t3178 = -t112 * t3080 / 0.8e1 - 0.81398777223086727946e0 * t1721 * t3083 - 0.69770380476931481098e0 * t559 * t3086 - 0.3488519023846574055e0 * t166 * t3089 + 0.41210805930702304724e-1 * t1717 * t3092 + 0.45789784367447005248e-1 * t607 * t3095 + 0.22894892183723502624e-1 * t193 * t3098 + 0.15133340850935852204e0 * t1602 * t3101 + 0.18160009021123022644e0 * t581 * t3104 + 0.9080004510561511322e-1 * t212 * t3107 + t3118 * t104 - t3123 * t830 / 0.2e1 - t440 * t2968 / 0.2e1 - 0.4540002255280755661e-1 * t931 * t937 + t112 * t3134 / 0.4e1 + t112 * t3137 / 0.4e1 + t3148 * t106 - 0.93027173969241974797e-1 * t3172 * t168 - 0.30266681701871704407e-1 * t581 * t3175; + const double t3181 = t140 * t2940; + const double t3186 = t140 * t2902; + const double t3210 = -0.1458e4 * t2940 - 0.1458e4 * t3186 + 0.6584421312e3 * t2844 + 0.13168842624e4 * t2846 - 0.13168842624e4 * t2849 + 0.6584421312e3 * t2871 + 0.3292210656e3 * t2882 - 0.6584421312e3 * t2883 + 0.6584421312e3 * t2887 - 0.3292210656e3 * t2901; + const double t3213 = 0.97533919397976243162e3 * t1733 * t3181 + 0.65022612931984162108e3 * t526 * t2940 + 0.32511306465992081054e3 * t526 * t3186 + 0.81278266164980202635e2 * t199 * t2902 + 0.20308706906259249944e2 * t3181 + 0.10154353453129624972e2 * t176 * t2902 + 0.100821516374592e0 * t1746 * t2940 + 0.67214344249728e-1 * t2447 * t834 + 0.33607172124864e-1 * t533 * t2902 + 0.8401793031216e-2 * t198 * t3210; + const double t3214 = t3213 * t211; + const double t3223 = t2902 * t137 - 0.2e1 * t2940 * t152 + 0.2e1 * t1652 * t2940 - t550 * t2902; + const double t3224 = t3223 * t149; + const double t3231 = t587 * t2902; + const double t3234 = t168 * t2902; + const double t3241 = t597 * t2902; + const double t3244 = t195 * t2902; + const double t3251 = t563 * t2902; + const double t3278 = 0.54e2 * t2940 + 0.54e2 * t3186 - 0.121933728e2 * t2844 - 0.243867456e2 * t2846 + 0.243867456e2 * t2849 - 0.121933728e2 * t2871 - 0.60966864e1 * t2882 + 0.121933728e2 * t2883 - 0.121933728e2 * t2887 + 0.60966864e1 * t2901; + const double t3281 = -0.1573689609226455711e3 * t141 * t2940 - 0.1049126406150970474e3 * t162 * t2902 + 0.315e3 / 0.4e1 * t1556 * t2940 + 0.63e2 * t2537 * t834 + 0.63e2 / 0.2e1 * t480 * t2902 + 0.9e1 * t184 * t3278; + const double t3282 = t3281 * t192; + const double t3287 = t132 * t834; + const double t3290 = t580 * t2940; + const double t3292 = t211 * t2902; + const double t3302 = 0.15943086723305958463e3 * t2844 + 0.31886173446611916926e3 * t2846 - 0.31886173446611916926e3 * t2849 + 0.15943086723305958463e3 * t2871 + 0.79715433616529792314e2 * t2882 - 0.15943086723305958463e3 * t2883 + 0.15943086723305958463e3 * t2887 - 0.79715433616529792314e2 * t2901; + const double t3311 = 0.30103061542585260236e1 * t3290 - 0.75257653856463150591e0 * t3292 + 0.7715016088131e-2 * t3302 * t177 - 0.30860064352524e-1 * t2391 * t834 + 0.46290096528786e-1 * t1694 * t2940 - 0.15430032176262e-1 * t518 * t2902; + const double t3313 = -0.60533363403743408814e-1 * t2473 * t934 + 0.75666704254679261017e-2 * t3214 * t214 + 0.5080572e0 * t3224 * t132 - 0.73807311952199090995e0 * t455 * t2902 + 0.5079873114034015574e0 * t450 * t2902 - 0.22700011276403778305e-1 * t212 * t3231 + 0.23256793492310493699e0 * t559 * t3234 + 0.46513586984620987398e0 * t2501 * t875 + 0.2790815219077259244e0 * t872 * t878 - 0.6541397766778143607e-2 * t193 * t3241 - 0.91579568734894010498e-2 * t607 * t3244 - 0.13082795533556287214e-1 * t906 * t912 - 0.183159137469788021e-1 * t2407 * t909 + 0.1395407609538629622e0 * t166 * t3251 + 0.14761462390439818199e1 * t1807 * t2940 - 0.7619809671051023361e0 * t1810 * t2940 + 0.26165591067112574428e-2 * t3282 * t195 + 0.5080572e0 * t943 * t834 - 0.5080572e0 * t2479 * t3287 + t3311 * t124; + const double t3315 = piecewise_functor_3( t34, 0.5080572e0 * t3067 + 0.5080572e0 * t3069 - 0.5080572e0 * t2902 * t397 + 0.5080572e0 * t2940 * t1469 + 0.5080572e0 * t2902 * t400 - 0.5080572e0 * t2940 * t1475, t3178 + t3313 ); + const double t3317 = t328 * t2940; + const double t3321 = t309 * t733; + const double t3322 = t3321 * t2940; + const double t3326 = t1320 * t2940; + const double t3330 = t1327 * t2940; + const double t3334 = t695 * t733; + const double t3335 = t3334 * t2940; + const double t3339 = t1332 * t2940; + const double t3346 = 0.154430922e0 * t2844; + const double t3347 = 0.308861844e0 * t2846; + const double t3348 = 0.154430922e0 * t2871; + const double t3349 = 0.154430922e0 * t2883; + const double t3350 = 0.77215461e-1 * t2901; + const double t3351 = 0.77215461e-1 * t2882; + const double t3352 = 0.154430922e0 * t2887; + const double t3356 = 0.308861844e0 * t2849; + const double t3357 = t223 * t2842; + const double t3360 = t964 * t809; + const double t3363 = t230 * t2869; + const double t3366 = t2728 * t957; + const double t3367 = 0.308861844e0 * t3366; + const double t3371 = t954 * t964; + const double t3372 = 0.154430922e0 * t3371; + const double t3375 = t2902 * t60; + const double t3376 = t3375 * t230; + const double t3377 = 0.77215461e-1 * t3376; + const double t3378 = t3356 - 0.154430922e0 * t3357 * t230 - 0.308861844e0 * t624 * t3360 - 0.154430922e0 * t624 * t3363 - t3367 + 0.4e1 * t2915 + 0.4e1 * t2911 + 0.8e1 * t2913 - t3372 - 0.77215461e-1 * t227 * t2925 - t3377; + const double t3379 = 0.2e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - t3352 - 0.74341672e0 * t2940 - 0.74341672e0 * t2942 + t3378; + const double t3383 = t283 * t2925; + const double t3385 = t278 * t2842; + const double t3386 = t3385 * t230; + const double t3388 = t715 * t3360; + const double t3390 = t715 * t3363; + const double t3395 = 0.5e1 * t3018 - t3346 - t3347 - t3348 + t3349 + t3350 - t3351 - 0.77215461e-1 * t3383 - t3352 + t3356 - 0.154430922e0 * t3386 - 0.308861844e0 * t3388 - 0.154430922e0 * t3390 - t3367 + 0.1e2 * t2915 + 0.1e2 * t2911 + 0.2e2 * t2913 - t3372 - t3377; + const double t3422 = 0.1853171064e1 * t2849 - 0.297366688e1 * t278 * t2902 - 0.926585532e0 * t3386 - 0.1853171064e1 * t3388 - 0.926585532e0 * t3390 - 0.1853171064e1 * t3366 + 0.3e2 * t2915 + 0.3e2 * t2911 + 0.6e2 * t2913 - 0.926585532e0 * t3371 - 0.463292766e0 * t3376; + const double t3423 = 0.15e2 * t3018 - 0.926585532e0 * t2844 - 0.1853171064e1 * t2846 - 0.926585532e0 * t2871 + 0.926585532e0 * t2883 + 0.463292766e0 * t2901 - 0.463292766e0 * t2882 - 0.463292766e0 * t3383 - 0.926585532e0 * t2887 - t2941 + t3422; + const double t3424 = t30 * t3423; + const double t3428 = t2030 * t1049; + const double t3435 = -0.2e2 / 0.81e2 * t323 * t327 * t3061 - 0.8e1 / 0.9e1 * t3315 + 0.2e1 / 0.27e2 * t274 * t288 * t3317 + 0.5e1 / 0.27e2 * t274 * t288 * t3322 + 0.35e2 / 0.108e3 * t274 * t288 * t3326 + 0.32e2 / 0.27e2 * t323 * t327 * t3330 + 0.4e2 / 0.27e2 * t323 * t327 * t3335 + 0.7e2 / 0.81e2 * t323 * t327 * t3339 + 0.4e1 / 0.3e1 * t696 * t2902 - 0.4e1 / 0.9e1 * t3379 * t271 + 0.4e1 / 0.27e2 * t302 * t303 * t3395 * t310 + t274 * t3424 * t293 / 0.27e2 - 0.16e2 / 0.27e2 * t756 * t3428 - 0.16e2 / 0.3e1 * t1987 * t2940 + 0.8e1 / 0.3e1 * t2193 * t834; + const double t3436 = t3060 + t3435; + const double t3440 = piecewise_functor_3( t3, 0.0, -0.3e1 / 0.8e1 * t7 * t21 * t3436 ); + + + vrho = 0.2e1 * rho * t794 + 0.2e1 * t336; + vsigma = 0.2e1 * rho * t1075; + v2rho2 = 0.2e1 * rho * t2002 + 0.4e1 * t794; + v2rhosigma = 0.2e1 * rho * t2836 + 0.2e1 * t1075; + v2sigma2 = 0.2e1 * rho * t3440; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + + + eps = t350 + t649; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_exc_vxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& eps, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + + + eps = t350 + t649; + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + BUILTIN_KERNEL_EVAL_RETURN + eval_vxc_fxc_polar_impl( double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb, double& vrho_a, double& vrho_b, double& vsigma_aa, double& vsigma_ab, double& vsigma_bb, double& v2rho2_aa, double& v2rho2_ab, double& v2rho2_bb, double& v2rhosigma_a_aa, double& v2rhosigma_a_ab, double& v2rhosigma_a_bb, double& v2rhosigma_b_aa, double& v2rhosigma_b_ab, double& v2rhosigma_b_bb, double& v2sigma2_aa_aa, double& v2sigma2_aa_ab, double& v2sigma2_aa_bb, double& v2sigma2_ab_ab, double& v2sigma2_ab_bb, double& v2sigma2_bb_bb ) { + + (void)(sigma_ab); + constexpr double t3 = constants::m_cbrt_3; + constexpr double t4 = constants::m_cbrt_pi; + constexpr double t32 = constants::m_pi_sq; + constexpr double t33 = constants::m_cbrt_pi_sq; + constexpr double t51 = constants::m_cbrt_6; + constexpr double t6 = t3 / t4; + constexpr double t30 = t3 * t3; + constexpr double t34 = 0.1e1 / t33; + constexpr double t52 = t51 * t51; + constexpr double t53 = t52 * t34; + constexpr double t95 = t33 * t33; + constexpr double t96 = 0.1e1 / t95; + constexpr double t332 = 0.1e1 / t95 / t32; + + + const double t2 = rho_a <= dens_tol; + const double t7 = rho_a + rho_b; + const double t8 = 0.1e1 / t7; + const double t12 = 0.2e1 * rho_a * t8 <= zeta_tol; + const double t13 = zeta_tol - 0.1e1; + const double t16 = 0.2e1 * rho_b * t8 <= zeta_tol; + const double t17 = -t13; + const double t18 = rho_a - rho_b; + const double t19 = t18 * t8; + const double t20 = piecewise_functor_5( t12, t13, t16, t17, t19 ); + const double t21 = 0.1e1 + t20; + const double t22 = t21 <= zeta_tol; + const double t23 = safe_math::cbrt( zeta_tol ); + const double t24 = t23 * zeta_tol; + const double t25 = safe_math::cbrt( t21 ); + const double t27 = piecewise_functor_3( t22, t24, t25 * t21 ); + const double t28 = safe_math::cbrt( t7 ); + const double t29 = t27 * t28; + const double t31 = omega * t30; + const double t36 = 0.1e1 + t19 <= zeta_tol; + const double t38 = 0.1e1 - t19 <= zeta_tol; + const double t39 = piecewise_functor_5( t36, t13, t38, t17, t19 ); + const double t40 = 0.1e1 + t39; + const double t41 = t40 <= zeta_tol; + const double t42 = safe_math::cbrt( t40 ); + const double t43 = piecewise_functor_3( t41, t23, t42 ); + const double t44 = 0.1e1 / t43; + const double t45 = t34 * t44; + const double t46 = 0.1e1 / t28; + const double t48 = t31 * t45 * t46; + const double t49 = t48 / 0.3e1; + const double t50 = 0.14e2 < t49; + const double t54 = safe_math::sqrt( sigma_aa ); + const double t55 = safe_math::cbrt( rho_a ); + const double t57 = 0.1e1 / t55 / rho_a; + const double t60 = t53 * t54 * t57 / 0.12e2; + const double t61 = t60 < 0.1e1; + const double t62 = 0.15e2 < t60; + const double t63 = piecewise_functor_3( t62, 15.0, t60 ); + const double t64 = 0.1e1 < t63; + const double t65 = piecewise_functor_3( t64, t63, 1.0 ); + const double t67 = safe_math::exp( t65 - 0.8572844e1 ); + const double t68 = 0.1e1 + t67; + const double t69 = safe_math::log( t68 ); + const double t71 = piecewise_functor_3( t62, 8.572844, t65 - t69 ); + const double t72 = piecewise_functor_3( t61, t60, t71 ); + const double t73 = t72 < 0.1e-14; + const double t74 = piecewise_functor_3( t73, 1e-15, t72 ); + const double t75 = t74 * t74; + const double t77 = t75 * t75; + const double t79 = 0.979681e-2 * t75 + 0.410834e-1 * t77; + const double t80 = t75 * t79; + const double t82 = t77 * t74; + const double t84 = t77 * t75; + const double t86 = 0.1e1 + 0.18744e0 * t77 + 0.120824e-2 * t82 + 0.347188e-1 * t84; + const double t87 = 0.1e1 / t86; + const double t88 = t80 * t87; + const double t89 = 0.22143176004591608976e1 * t88; + const double t90 = t49 < 0.14e2; + const double t91 = piecewise_functor_3( t90, 1.455915450052607, 2.0 ); + const double t92 = omega * omega; + const double t93 = t91 * t92; + const double t94 = t93 * t3; + const double t97 = t43 * t43; + const double t98 = 0.1e1 / t97; + const double t99 = t96 * t98; + const double t100 = t28 * t28; + const double t101 = 0.1e1 / t100; + const double t102 = t99 * t101; + const double t103 = t94 * t102; + const double t105 = t89 + 0.73810586681972029922e0 * t103; + const double t106 = safe_math::xc_E1_scaled( t105 ); + const double t108 = t103 / 0.3e1; + const double t109 = 0.57786348e0 + t88 + t108; + const double t110 = safe_math::log( t109 ); + const double t112 = t88 + t108; + const double t113 = safe_math::log( t112 ); + const double t116 = piecewise_functor_3( t50, 14.0, t49 ); + const double t118 = t116 * t116; + const double t119 = t118 * t116; + const double t121 = t118 * t118; + const double t122 = t121 * t116; + const double t124 = t121 * t119; + const double t127 = ( 0.17059169152930056821e1 * t116 - 0.41622705406440396562e1 * t119 + 0.42174370348694648999e1 * t122 - 0.10676080470633097775e1 * t124 ) * M_PI; + const double t128 = t116 < 0.14e2; + const double t129 = piecewise_functor_3( t128, 1.455915450052607, 2.0 ); + const double t130 = t129 * t118; + const double t132 = t89 + 0.22143176004591608976e1 * t130; + const double t133 = safe_math::sqrt( t132 ); + const double t134 = safe_math::xc_erfcx( t133 ); + const double t139 = t121 * t118; + const double t141 = t121 * t121; + const double t143 = -0.10161144e1 + 0.326865659796668475e1 * t118 - 0.48418398881417585092e1 * t121 + 0.2723636568586566055e1 * t139 - 0.20524577845574895866e0 * t141; + const double t144 = safe_math::xc_E1_scaled( t132 ); + const double t147 = 0.57786348e0 + t88 + t130; + const double t148 = safe_math::sqrt( t147 ); + const double t149 = 0.1e1 / t148; + const double t152 = 0.1e1 / t147; + const double t155 = t88 + t130; + const double t156 = safe_math::sqrt( t155 ); + const double t157 = 0.1e1 / t156; + const double t159 = t148 * t147; + const double t160 = 0.1e1 / t159; + const double t162 = 0.24788787804618087718e1 * t157 - 0.55973876104037389846e0 * t160; + const double t164 = 0.1e1 / t155; + const double t166 = t147 * t147; + const double t167 = 0.1e1 / t166; + const double t169 = -0.1093302940630051125e1 * t164 + 0.49374260512735112038e0 * t167; + const double t171 = t148 * t166; + const double t174 = 0.9e1 * t88 + 0.9e1 * t130 - 0.20322288e1; + const double t177 = t156 * t155; + const double t179 = 0.3e1 * t171 * t174 + 0.412995389554944e1 * t177; + const double t180 = 0.1e1 / t171; + const double t181 = t179 * t180; + const double t182 = 0.1e1 / t177; + const double t183 = t182 * t122; + const double t186 = t166 * t147; + const double t187 = 0.1e1 / t186; + const double t190 = -0.36e2 + 0.79715433616529792314e2 * t88; + const double t191 = t155 * t155; + const double t192 = 0.1e1 / t191; + const double t195 = 0.25085884618821050197e0 * t187 + 0.7715016088131e-2 * t190 * t192; + const double t197 = t156 * t191; + const double t199 = t148 * t186; + const double t203 = 0.27e2 * t191 - 0.60966864e1 * t88 - 0.60966864e1 * t130 + 0.412995389554944e1; + const double t206 = -0.4196505624603881896e2 * t197 + 0.9e1 * t199 * t203; + const double t207 = 0.1e1 / t199; + const double t208 = t206 * t207; + const double t209 = 0.1e1 / t197; + const double t210 = t209 * t124; + const double t213 = t166 * t166; + const double t214 = t129 * t213; + const double t217 = t191 * t155; + const double t222 = -0.729e3 * t191 + 0.3292210656e3 * t88 + 0.3292210656e3 * t130 - 0.29735668047955968e3; + const double t225 = 0.81278266164980202635e2 * t214 * t155 + 0.33847844843765416574e1 * t217 + 0.8401793031216e-2 * t213 * t222; + const double t226 = 0.1e1 / t213; + const double t227 = t225 * t226; + const double t228 = 0.1e1 / t217; + const double t229 = t228 * t141; + const double t233 = safe_math::log( t155 * t152 ); + const double t235 = t127 * t134 / 0.2e1 - t143 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t116 + 0.73807311952199090995e0 * t152 * t118 + t162 * t119 + t169 * t121 - 0.93027173969241974797e-1 * t181 * t183 + t195 * t139 + 0.26165591067112574428e-2 * t208 * t210 + 0.75666704254679261017e-2 * t227 * t229 + 0.5080572e0 * t233; + const double t236 = piecewise_functor_3( t50, 0.5080572e0 * t106 - 0.5080572e0 * t110 + 0.5080572e0 * t113, t235 ); + const double t238 = 0.57786348e0 + t88; + const double t239 = t238 * t238; + const double t241 = 0.77215461e-1 * t88; + const double t242 = t238 * t75; + const double t245 = 0.64753871e1 * t79 * t87 + 0.4796583e0; + const double t248 = 0.8e-1 < t74; + const double t249 = 0.3e1 / 0.4e1 * M_PI; + const double t250 = safe_math::sqrt( M_PI ); + const double t252 = t245 * t75 + 0.1e1; + const double t256 = t239 * t238; + const double t259 = t250 * ( -0.779335965e0 - 0.463292766e0 * t252 * t238 - 0.148683344e1 * t239 + 0.81289152e1 * t256 ); + const double t260 = safe_math::sqrt( t238 ); + const double t261 = t260 * t256; + const double t262 = 0.1e1 / t261; + const double t265 = safe_math::exp( t89 ); + const double t266 = safe_math::sqrt( t88 ); + const double t268 = safe_math::erf( 0.14880583323442535321e1 * t266 ); + const double t269 = 0.1e1 - t268; + const double t270 = t265 * t269; + const double t273 = 0.1e1 / t250; + const double t274 = ( t249 + t259 * t262 / 0.16e2 - 0.23751029502456895713e1 * t270 ) * t273; + const double t275 = 0.1e1 / t75; + const double t276 = t275 * t261; + const double t282 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t274 * t276, -0.262841788e-1 - 0.7117647788e-1 * t75 + 0.8534541323e-1 * t77 ); + const double t283 = t75 * t282; + const double t285 = -0.37170836e0 * t239 - 0.14853145700326428e0 - t241 - 0.77215461e-1 * t242 * t245 + 0.2e1 * t283; + const double t286 = 0.1e1 / t256; + const double t289 = t31 * t45; + const double t290 = t92 * t3; + const double t291 = t290 * t102; + const double t293 = 0.57786348e0 + t88 + t291 / 0.3e1; + const double t294 = t293 * t293; + const double t298 = t293 * t75; + const double t299 = t298 * t245; + const double t302 = -0.148683344e1 * t294 - 0.104705593501958568e1 - 0.463292766e0 * t88 - 0.154430922e0 * t291 - 0.463292766e0 * t299 + 0.15e2 * t283; + const double t303 = t46 * t302; + const double t304 = 0.1e1 / t238; + const double t305 = safe_math::sqrt( t293 ); + const double t307 = 0.1e1 / t305 / t294; + const double t308 = t304 * t307; + const double t314 = t92 * omega / t32; + const double t315 = t97 * t43; + const double t316 = 0.1e1 / t315; + const double t317 = t314 * t316; + const double t321 = -0.30439865000326428e0 - t241 - 0.25738487e-1 * t291 - 0.77215461e-1 * t299 + 0.5e1 * t283; + const double t323 = 0.1e1 / t239; + const double t324 = t323 * t307; + const double t328 = t92 * t92; + const double t330 = t328 * omega * t3; + const double t333 = t97 * t97; + const double t335 = 0.1e1 / t333 / t43; + const double t336 = t332 * t335; + const double t337 = t330 * t336; + const double t339 = 0.1e1 / t100 / t7; + const double t340 = -0.51955731e-1 + t283; + const double t341 = t339 * t340; + const double t342 = t286 * t307; + const double t346 = -0.8e1 / 0.9e1 * t236 - 0.4e1 / 0.9e1 * t285 * t286 + t289 * t303 * t308 / 0.27e2 + 0.4e1 / 0.27e2 * t317 * t8 * t321 * t324 + 0.8e1 / 0.81e2 * t337 * t341 * t342; + const double t350 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t346 ); + const double t351 = rho_b <= dens_tol; + const double t352 = -t18; + const double t354 = piecewise_functor_5( t16, t13, t12, t17, t352 * t8 ); + const double t355 = 0.1e1 + t354; + const double t356 = t355 <= zeta_tol; + const double t357 = safe_math::cbrt( t355 ); + const double t359 = piecewise_functor_3( t356, t24, t357 * t355 ); + const double t360 = t359 * t28; + const double t361 = piecewise_functor_5( t38, t13, t36, t17, -t19 ); + const double t362 = 0.1e1 + t361; + const double t363 = t362 <= zeta_tol; + const double t364 = safe_math::cbrt( t362 ); + const double t365 = piecewise_functor_3( t363, t23, t364 ); + const double t366 = 0.1e1 / t365; + const double t367 = t34 * t366; + const double t369 = t31 * t367 * t46; + const double t370 = t369 / 0.3e1; + const double t371 = 0.14e2 < t370; + const double t372 = safe_math::sqrt( sigma_bb ); + const double t373 = safe_math::cbrt( rho_b ); + const double t375 = 0.1e1 / t373 / rho_b; + const double t378 = t53 * t372 * t375 / 0.12e2; + const double t379 = t378 < 0.1e1; + const double t380 = 0.15e2 < t378; + const double t381 = piecewise_functor_3( t380, 15.0, t378 ); + const double t382 = 0.1e1 < t381; + const double t383 = piecewise_functor_3( t382, t381, 1.0 ); + const double t385 = safe_math::exp( t383 - 0.8572844e1 ); + const double t386 = 0.1e1 + t385; + const double t387 = safe_math::log( t386 ); + const double t389 = piecewise_functor_3( t380, 8.572844, t383 - t387 ); + const double t390 = piecewise_functor_3( t379, t378, t389 ); + const double t391 = t390 < 0.1e-14; + const double t392 = piecewise_functor_3( t391, 1e-15, t390 ); + const double t393 = t392 * t392; + const double t395 = t393 * t393; + const double t397 = 0.979681e-2 * t393 + 0.410834e-1 * t395; + const double t398 = t393 * t397; + const double t400 = t395 * t392; + const double t402 = t395 * t393; + const double t404 = 0.1e1 + 0.18744e0 * t395 + 0.120824e-2 * t400 + 0.347188e-1 * t402; + const double t405 = 0.1e1 / t404; + const double t406 = t398 * t405; + const double t407 = 0.22143176004591608976e1 * t406; + const double t408 = t370 < 0.14e2; + const double t409 = piecewise_functor_3( t408, 1.455915450052607, 2.0 ); + const double t410 = t409 * t92; + const double t411 = t410 * t3; + const double t412 = t365 * t365; + const double t413 = 0.1e1 / t412; + const double t414 = t96 * t413; + const double t415 = t414 * t101; + const double t416 = t411 * t415; + const double t418 = t407 + 0.73810586681972029922e0 * t416; + const double t419 = safe_math::xc_E1_scaled( t418 ); + const double t421 = t416 / 0.3e1; + const double t422 = 0.57786348e0 + t406 + t421; + const double t423 = safe_math::log( t422 ); + const double t425 = t406 + t421; + const double t426 = safe_math::log( t425 ); + const double t429 = piecewise_functor_3( t371, 14.0, t370 ); + const double t431 = t429 * t429; + const double t432 = t431 * t429; + const double t434 = t431 * t431; + const double t435 = t434 * t429; + const double t437 = t434 * t432; + const double t440 = ( 0.17059169152930056821e1 * t429 - 0.41622705406440396562e1 * t432 + 0.42174370348694648999e1 * t435 - 0.10676080470633097775e1 * t437 ) * M_PI; + const double t441 = t429 < 0.14e2; + const double t442 = piecewise_functor_3( t441, 1.455915450052607, 2.0 ); + const double t443 = t442 * t431; + const double t445 = t407 + 0.22143176004591608976e1 * t443; + const double t446 = safe_math::sqrt( t445 ); + const double t447 = safe_math::xc_erfcx( t446 ); + const double t452 = t434 * t431; + const double t454 = t434 * t434; + const double t456 = -0.10161144e1 + 0.326865659796668475e1 * t431 - 0.48418398881417585092e1 * t434 + 0.2723636568586566055e1 * t452 - 0.20524577845574895866e0 * t454; + const double t457 = safe_math::xc_E1_scaled( t445 ); + const double t460 = 0.57786348e0 + t406 + t443; + const double t461 = safe_math::sqrt( t460 ); + const double t462 = 0.1e1 / t461; + const double t465 = 0.1e1 / t460; + const double t468 = t406 + t443; + const double t469 = safe_math::sqrt( t468 ); + const double t470 = 0.1e1 / t469; + const double t472 = t461 * t460; + const double t473 = 0.1e1 / t472; + const double t475 = 0.24788787804618087718e1 * t470 - 0.55973876104037389846e0 * t473; + const double t477 = 0.1e1 / t468; + const double t479 = t460 * t460; + const double t480 = 0.1e1 / t479; + const double t482 = -0.1093302940630051125e1 * t477 + 0.49374260512735112038e0 * t480; + const double t484 = t461 * t479; + const double t487 = 0.9e1 * t406 + 0.9e1 * t443 - 0.20322288e1; + const double t490 = t469 * t468; + const double t492 = 0.3e1 * t484 * t487 + 0.412995389554944e1 * t490; + const double t493 = 0.1e1 / t484; + const double t494 = t492 * t493; + const double t495 = 0.1e1 / t490; + const double t496 = t495 * t435; + const double t499 = t479 * t460; + const double t500 = 0.1e1 / t499; + const double t503 = -0.36e2 + 0.79715433616529792314e2 * t406; + const double t504 = t468 * t468; + const double t505 = 0.1e1 / t504; + const double t508 = 0.25085884618821050197e0 * t500 + 0.7715016088131e-2 * t503 * t505; + const double t510 = t469 * t504; + const double t512 = t461 * t499; + const double t516 = 0.27e2 * t504 - 0.60966864e1 * t406 - 0.60966864e1 * t443 + 0.412995389554944e1; + const double t519 = -0.4196505624603881896e2 * t510 + 0.9e1 * t512 * t516; + const double t520 = 0.1e1 / t512; + const double t521 = t519 * t520; + const double t522 = 0.1e1 / t510; + const double t523 = t522 * t437; + const double t526 = t479 * t479; + const double t527 = t442 * t526; + const double t530 = t504 * t468; + const double t535 = -0.729e3 * t504 + 0.3292210656e3 * t406 + 0.3292210656e3 * t443 - 0.29735668047955968e3; + const double t538 = 0.81278266164980202635e2 * t527 * t468 + 0.33847844843765416574e1 * t530 + 0.8401793031216e-2 * t526 * t535; + const double t539 = 0.1e1 / t526; + const double t540 = t538 * t539; + const double t541 = 0.1e1 / t530; + const double t542 = t541 * t454; + const double t546 = safe_math::log( t468 * t465 ); + const double t548 = t440 * t447 / 0.2e1 - t456 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t429 + 0.73807311952199090995e0 * t465 * t431 + t475 * t432 + t482 * t434 - 0.93027173969241974797e-1 * t494 * t496 + t508 * t452 + 0.26165591067112574428e-2 * t521 * t523 + 0.75666704254679261017e-2 * t540 * t542 + 0.5080572e0 * t546; + const double t549 = piecewise_functor_3( t371, 0.5080572e0 * t419 - 0.5080572e0 * t423 + 0.5080572e0 * t426, t548 ); + const double t551 = 0.57786348e0 + t406; + const double t552 = t551 * t551; + const double t554 = 0.77215461e-1 * t406; + const double t555 = t551 * t393; + const double t558 = 0.64753871e1 * t397 * t405 + 0.4796583e0; + const double t561 = 0.8e-1 < t392; + const double t563 = t558 * t393 + 0.1e1; + const double t567 = t552 * t551; + const double t570 = t250 * ( -0.779335965e0 - 0.463292766e0 * t563 * t551 - 0.148683344e1 * t552 + 0.81289152e1 * t567 ); + const double t571 = safe_math::sqrt( t551 ); + const double t572 = t571 * t567; + const double t573 = 0.1e1 / t572; + const double t576 = safe_math::exp( t407 ); + const double t577 = safe_math::sqrt( t406 ); + const double t579 = safe_math::erf( 0.14880583323442535321e1 * t577 ); + const double t580 = 0.1e1 - t579; + const double t581 = t576 * t580; + const double t584 = ( t249 + t570 * t573 / 0.16e2 - 0.23751029502456895713e1 * t581 ) * t273; + const double t585 = 0.1e1 / t393; + const double t586 = t585 * t572; + const double t592 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t584 * t586, -0.262841788e-1 - 0.7117647788e-1 * t393 + 0.8534541323e-1 * t395 ); + const double t593 = t393 * t592; + const double t595 = -0.37170836e0 * t552 - 0.14853145700326428e0 - t554 - 0.77215461e-1 * t555 * t558 + 0.2e1 * t593; + const double t596 = 0.1e1 / t567; + const double t599 = t31 * t367; + const double t600 = t290 * t415; + const double t602 = 0.57786348e0 + t406 + t600 / 0.3e1; + const double t603 = t602 * t602; + const double t607 = t602 * t393; + const double t608 = t607 * t558; + const double t611 = -0.148683344e1 * t603 - 0.104705593501958568e1 - 0.463292766e0 * t406 - 0.154430922e0 * t600 - 0.463292766e0 * t608 + 0.15e2 * t593; + const double t612 = t46 * t611; + const double t613 = 0.1e1 / t551; + const double t614 = safe_math::sqrt( t602 ); + const double t616 = 0.1e1 / t614 / t603; + const double t617 = t613 * t616; + const double t621 = t412 * t365; + const double t622 = 0.1e1 / t621; + const double t623 = t314 * t622; + const double t627 = -0.30439865000326428e0 - t554 - 0.25738487e-1 * t600 - 0.77215461e-1 * t608 + 0.5e1 * t593; + const double t629 = 0.1e1 / t552; + const double t630 = t629 * t616; + const double t634 = t412 * t412; + const double t636 = 0.1e1 / t634 / t365; + const double t637 = t332 * t636; + const double t638 = t330 * t637; + const double t639 = -0.51955731e-1 + t593; + const double t640 = t339 * t639; + const double t641 = t596 * t616; + const double t645 = -0.8e1 / 0.9e1 * t549 - 0.4e1 / 0.9e1 * t595 * t596 + t599 * t612 * t617 / 0.27e2 + 0.4e1 / 0.27e2 * t623 * t8 * t627 * t630 + 0.8e1 / 0.81e2 * t638 * t640 * t641; + const double t649 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t645 ); + const double t650 = t7 * t7; + const double t651 = 0.1e1 / t650; + const double t652 = t18 * t651; + const double t653 = t8 - t652; + const double t654 = piecewise_functor_5( t12, 0.0, t16, 0.0, t653 ); + const double t657 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t654 ); + const double t658 = t657 * t28; + const double t662 = t27 * t101; + const double t665 = t6 * t662 * t346 / 0.8e1; + const double t667 = t106 - 0.1e1 / t105; + const double t668 = t74 * t79; + const double t669 = rho_a * rho_a; + const double t671 = 0.1e1 / t55 / t669; + const double t674 = t53 * t54 * t671 / 0.9e1; + const double t675 = piecewise_functor_3( t62, 0.0, -t674 ); + const double t676 = piecewise_functor_3( t64, t675, 0.0 ); + const double t678 = 0.1e1 / t68; + const double t679 = t676 * t67 * t678; + const double t681 = piecewise_functor_3( t62, 0.0, t676 - t679 ); + const double t682 = piecewise_functor_3( t61, -t674, t681 ); + const double t683 = piecewise_functor_3( t73, 0.0, t682 ); + const double t684 = t87 * t683; + const double t685 = t668 * t684; + const double t686 = 0.44286352009183217952e1 * t685; + const double t687 = t74 * t683; + const double t689 = t75 * t74; + const double t690 = t689 * t683; + const double t692 = 0.1959362e-1 * t687 + 0.1643336e0 * t690; + const double t693 = t75 * t692; + const double t694 = t693 * t87; + const double t695 = 0.22143176004591608976e1 * t694; + const double t696 = t86 * t86; + const double t697 = 0.1e1 / t696; + const double t699 = t77 * t683; + const double t703 = 0.74976e0 * t690 + 0.60412e-2 * t699 + 0.2083128e0 * t82 * t683; + const double t704 = t697 * t703; + const double t705 = t80 * t704; + const double t706 = 0.22143176004591608976e1 * t705; + const double t707 = piecewise_functor_3( t90, 0.0, 0.0 ); + const double t708 = t707 * t92; + const double t709 = t708 * t3; + const double t710 = t709 * t102; + const double t711 = 0.73810586681972029922e0 * t710; + const double t712 = t96 * t316; + const double t713 = t42 * t42; + const double t714 = 0.1e1 / t713; + const double t715 = piecewise_functor_5( t36, 0.0, t38, 0.0, t653 ); + const double t718 = piecewise_functor_3( t41, 0.0, t714 * t715 / 0.3e1 ); + const double t720 = t712 * t101 * t718; + const double t721 = t94 * t720; + const double t723 = t99 * t339; + const double t724 = t94 * t723; + const double t725 = 0.49207057787981353281e0 * t724; + const double t726 = t686 + t695 - t706 + t711 - 0.14762117336394405984e1 * t721 - t725; + const double t727 = t667 * t726; + const double t729 = 0.2e1 * t685; + const double t730 = t710 / 0.3e1; + const double t732 = 0.2e1 / 0.9e1 * t724; + const double t733 = t729 + t694 - t705 + t730 - 0.2e1 / 0.3e1 * t721 - t732; + const double t734 = 0.1e1 / t109; + const double t737 = 0.1e1 / t112; + const double t741 = piecewise_functor_3( t128, 0.0, 0.0 ); + const double t742 = t741 * t118; + const double t743 = t129 * t116; + const double t744 = t31 * t34; + const double t745 = t98 * t46; + const double t750 = 0.1e1 / t28 / t7; + const double t752 = t31 * t45 * t750; + const double t753 = t752 / 0.9e1; + const double t755 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t718 / 0.3e1 - t753 ); + const double t756 = t743 * t755; + const double t758 = t729 + t694 - t705 + t742 + 0.2e1 * t756; + const double t761 = t171 * t203; + const double t764 = t155 * t758; + const double t769 = 0.60966864e1 * t742; + const double t771 = 0.54e2 * t764 - 0.121933728e2 * t685 - 0.60966864e1 * t694 + 0.60966864e1 * t705 - t769 - 0.121933728e2 * t756; + const double t774 = -0.1049126406150970474e3 * t177 * t758 + 0.63e2 / 0.2e1 * t761 * t758 + 0.9e1 * t199 * t771; + const double t775 = t774 * t207; + const double t778 = t169 * t119; + const double t781 = 0.1e1 / t132; + const double t782 = t144 - t781; + const double t783 = t143 * t782; + const double t784 = 0.22143176004591608976e1 * t742; + const double t786 = t686 + t695 - t706 + t784 + 0.44286352009183217952e1 * t756; + const double t789 = t160 * t116; + const double t792 = t167 * t118; + const double t795 = t152 * t116; + const double t798 = t162 * t118; + const double t802 = t118 * t755; + const double t804 = t121 * t755; + const double t806 = t139 * t755; + const double t809 = ( 0.17059169152930056821e1 * t755 - 0.12486811621932118969e2 * t802 + 0.210871851743473245e2 * t804 - 0.74732563294431684425e1 * t806 ) * M_PI; + const double t812 = t195 * t122; + const double t815 = t213 * t147; + const double t816 = 0.1e1 / t815; + const double t817 = t225 * t816; + const double t818 = t229 * t758; + const double t821 = t191 * t191; + const double t822 = 0.1e1 / t821; + const double t823 = t822 * t141; + const double t824 = t823 * t758; + const double t827 = t228 * t124; + const double t828 = t827 * t755; + const double t832 = 0.1e1 / t148 / t213; + const double t833 = t206 * t832; + const double t834 = t210 * t758; + const double t837 = 0.26165591067112574428e-2 * t775 * t210 + 0.4e1 * t778 * t755 - t783 * t786 / 0.2e1 + 0.5079873114034015574e0 * t789 * t758 - 0.73807311952199090995e0 * t792 * t758 + 0.14761462390439818199e1 * t795 * t755 + 0.3e1 * t798 * t755 + t809 * t134 / 0.2e1 + 0.6e1 * t812 * t755 - 0.30266681701871704407e-1 * t817 * t818 - 0.22700011276403778305e-1 * t227 * t824 + 0.60533363403743408814e-1 * t227 * t828 - 0.91579568734894010498e-2 * t833 * t834; + const double t839 = 0.1e1 / t156 / t217; + const double t840 = t839 * t124; + const double t841 = t840 * t758; + const double t844 = t209 * t139; + const double t845 = t844 * t755; + const double t848 = t182 * t121; + const double t849 = t848 * t755; + const double t852 = t179 * t207; + const double t853 = t183 * t758; + const double t856 = t209 * t122; + const double t857 = t856 * t758; + const double t861 = t155 * t167; + const double t863 = t758 * t152 - t861 * t758; + const double t864 = t863 * t164; + const double t867 = t741 * t213; + const double t869 = 0.81278266164980202635e2 * t867 * t155; + const double t870 = t129 * t186; + const double t877 = t186 * t222; + const double t884 = 0.3292210656e3 * t742; + const double t886 = -0.1458e4 * t764 + 0.6584421312e3 * t685 + 0.3292210656e3 * t694 - 0.3292210656e3 * t705 + t884 + 0.6584421312e3 * t756; + const double t889 = t869 + 0.32511306465992081054e3 * t870 * t764 + 0.81278266164980202635e2 * t214 * t758 + 0.10154353453129624972e2 * t191 * t758 + 0.33607172124864e-1 * t877 * t758 + 0.8401793031216e-2 * t213 * t886; + const double t890 = t889 * t226; + const double t893 = t159 * t174; + const double t899 = 0.9e1 * t742; + const double t901 = 0.18e2 * t685 + 0.9e1 * t694 - 0.9e1 * t705 + t899 + 0.18e2 * t756; + const double t904 = t156 * t758; + const double t906 = 0.15e2 / 0.2e1 * t893 * t758 + 0.3e1 * t171 * t901 + 0.619493084332416e1 * t904; + const double t907 = t906 * t180; + const double t912 = 0.2e1 * t133 * t134 - 0.2e1 * t273; + const double t913 = 0.1e1 / t133; + const double t914 = t912 * t913; + const double t915 = t914 * t786; + const double t922 = -0.12394393902309043859e1 * t182 * t758 + 0.83960814156056084769e0 * t180 * t758; + const double t926 = t116 * t755; + const double t928 = t119 * t755; + const double t930 = t122 * t755; + const double t934 = 0.65373131959333695e1 * t926 - 0.19367359552567034037e2 * t928 + 0.1634181941151939633e2 * t930 - 0.16419662276459916693e1 * t124 * t755; + const double t941 = 0.1093302940630051125e1 * t192 * t758 - 0.98748521025470224076e0 * t187 * t758; + const double t943 = t226 * t758; + const double t948 = 0.15943086723305958463e3 * t685 + 0.79715433616529792314e2 * t694 - 0.79715433616529792314e2 * t705; + const double t951 = t190 * t228; + const double t954 = -0.75257653856463150591e0 * t943 + 0.7715016088131e-2 * t948 * t192 - 0.15430032176262e-1 * t951 * t758; + const double t956 = -0.6541397766778143607e-2 * t208 * t841 + 0.183159137469788021e-1 * t208 * t845 - 0.46513586984620987398e0 * t181 * t849 + 0.23256793492310493699e0 * t852 * t853 + 0.1395407609538629622e0 * t181 * t857 + 0.5080572e0 * t864 * t147 + 0.75666704254679261017e-2 * t890 * t229 - 0.93027173969241974797e-1 * t907 * t183 + t127 * t915 / 0.4e1 + t922 * t119 - 0.10159746228068031148e1 * t149 * t755 - t934 * t144 / 0.2e1 + t941 * t121 + t954 * t139; + const double t958 = piecewise_functor_3( t50, 0.5080572e0 * t727 - 0.5080572e0 * t733 * t734 + 0.5080572e0 * t733 * t737, t837 + t956 ); + const double t960 = t729 + t694 - t705; + const double t961 = t238 * t960; + const double t963 = 0.154430922e0 * t685; + const double t964 = 0.77215461e-1 * t694; + const double t965 = 0.77215461e-1 * t705; + const double t966 = t960 * t75; + const double t969 = t238 * t74; + const double t970 = t245 * t683; + const double t975 = t79 * t697; + const double t978 = 0.64753871e1 * t692 * t87 - 0.64753871e1 * t975 * t703; + const double t981 = t74 * t282; + const double t982 = t981 * t683; + const double t985 = t245 * t74; + const double t988 = 0.2e1 * t985 * t683 + t978 * t75; + const double t997 = t250 * ( -0.463292766e0 * t988 * t238 - 0.463292766e0 * t252 * t960 - 0.297366688e1 * t961 + 0.243867456e2 * t239 * t960 ); + const double t1000 = t239 * t239; + const double t1002 = 0.1e1 / t260 / t1000; + const double t1003 = t1002 * t960; + const double t1006 = t686 + t695 - t706; + const double t1007 = t1006 * t265; + const double t1008 = t1007 * t269; + const double t1010 = safe_math::exp( -t89 ); + const double t1011 = t265 * t1010; + const double t1012 = 0.1e1 / t266; + const double t1013 = t1012 * t960; + const double t1017 = ( t997 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t1003 - 0.23751029502456895713e1 * t1008 + 0.19940105822687055308e1 * t1011 * t1013 ) * t273; + const double t1020 = 0.1e1 / t689; + const double t1021 = t1020 * t261; + const double t1022 = t1021 * t683; + const double t1025 = t260 * t239; + const double t1026 = t275 * t1025; + const double t1027 = t1026 * t960; + const double t1034 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t1017 * t276 + 0.32e2 / 0.15e2 * t274 * t1022 - 0.56e2 / 0.15e2 * t274 * t1027, -0.14235295576e0 * t687 + 0.34138165292e0 * t690 ); + const double t1035 = t75 * t1034; + const double t1037 = -0.74341672e0 * t961 - t963 - t964 + t965 - 0.77215461e-1 * t966 * t245 - 0.154430922e0 * t969 * t970 - 0.77215461e-1 * t242 * t978 + 0.4e1 * t982 + 0.2e1 * t1035; + const double t1040 = 0.1e1 / t1000; + const double t1041 = t285 * t1040; + const double t1044 = t34 * t98; + const double t1045 = t31 * t1044; + const double t1046 = t308 * t718; + const double t1050 = t750 * t302; + const double t1053 = t289 * t1050 * t308 / 0.81e2; + const double t1054 = t290 * t96; + const double t1055 = t316 * t101; + const double t1057 = t1054 * t1055 * t718; + const double t1059 = t290 * t723; + const double t1060 = 0.2e1 / 0.9e1 * t1059; + const double t1061 = t729 + t694 - t705 - 0.2e1 / 0.3e1 * t1057 - t1060; + const double t1068 = 0.102953948e0 * t1059; + const double t1069 = t1061 * t75; + const double t1070 = t1069 * t245; + const double t1072 = t293 * t74; + const double t1073 = t1072 * t970; + const double t1075 = t298 * t978; + const double t1079 = -0.297366688e1 * t293 * t1061 - 0.926585532e0 * t685 - 0.463292766e0 * t694 + 0.463292766e0 * t705 + 0.308861844e0 * t1057 + t1068 - 0.463292766e0 * t1070 - 0.926585532e0 * t1073 - 0.463292766e0 * t1075 + 0.3e2 * t982 + 0.15e2 * t1035; + const double t1080 = t46 * t1079; + const double t1084 = t324 * t960; + const double t1090 = 0.1e1 / t305 / t294 / t293; + const double t1091 = t304 * t1090; + const double t1092 = t1091 * t1061; + const double t1096 = 0.1e1 / t333; + const double t1097 = t1096 * t8; + const double t1098 = t314 * t1097; + const double t1099 = t321 * t323; + const double t1100 = t307 * t718; + const double t1101 = t1099 * t1100; + const double t1107 = 0.4e1 / 0.27e2 * t317 * t651 * t321 * t324; + const double t1109 = 0.17158991333333333333e-1 * t1059; + const double t1115 = -t963 - t964 + t965 + 0.51476974e-1 * t1057 + t1109 - 0.77215461e-1 * t1070 - 0.154430922e0 * t1073 - 0.77215461e-1 * t1075 + 0.1e2 * t982 + 0.5e1 * t1035; + const double t1120 = t316 * t8; + const double t1121 = t314 * t1120; + const double t1122 = t321 * t286; + const double t1123 = t307 * t960; + const double t1124 = t1122 * t1123; + const double t1127 = t1090 * t1061; + const double t1128 = t1099 * t1127; + const double t1132 = 0.1e1 / t333 / t97; + const double t1133 = t332 * t1132; + const double t1134 = t330 * t1133; + const double t1135 = t342 * t718; + const double t1140 = 0.1e1 / t100 / t650; + const double t1141 = t1140 * t340; + const double t1144 = 0.4e2 / 0.243e3 * t337 * t1141 * t342; + const double t1146 = 0.2e1 * t982 + t1035; + const double t1147 = t339 * t1146; + const double t1151 = t1040 * t307; + const double t1152 = t1151 * t960; + const double t1156 = t286 * t1090; + const double t1157 = t1156 * t1061; + const double t1161 = -0.8e1 / 0.9e1 * t958 - 0.4e1 / 0.9e1 * t1037 * t286 + 0.4e1 / 0.3e1 * t1041 * t960 - t1045 * t303 * t1046 / 0.27e2 - t1053 + t289 * t1080 * t308 / 0.27e2 - t289 * t303 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1092 - 0.4e1 / 0.9e1 * t1098 * t1101 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1115 * t324 - 0.8e1 / 0.27e2 * t1121 * t1124 - 0.1e2 / 0.27e2 * t1121 * t1128 - 0.4e2 / 0.81e2 * t1134 * t341 * t1135 - t1144 + 0.8e1 / 0.81e2 * t337 * t1147 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t1152 - 0.2e2 / 0.81e2 * t337 * t341 * t1157; + const double t1166 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1161 ); + const double t1167 = t352 * t651; + const double t1169 = piecewise_functor_5( t16, 0.0, t12, 0.0, -t8 - t1167 ); + const double t1172 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1169 ); + const double t1173 = t1172 * t28; + const double t1177 = t359 * t101; + const double t1180 = t6 * t1177 * t645 / 0.8e1; + const double t1182 = t419 - 0.1e1 / t418; + const double t1183 = piecewise_functor_3( t408, 0.0, 0.0 ); + const double t1184 = t1183 * t92; + const double t1185 = t1184 * t3; + const double t1186 = t1185 * t415; + const double t1187 = 0.73810586681972029922e0 * t1186; + const double t1188 = t96 * t622; + const double t1189 = t364 * t364; + const double t1190 = 0.1e1 / t1189; + const double t1192 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t653 ); + const double t1195 = piecewise_functor_3( t363, 0.0, t1190 * t1192 / 0.3e1 ); + const double t1197 = t1188 * t101 * t1195; + const double t1198 = t411 * t1197; + const double t1200 = t414 * t339; + const double t1201 = t411 * t1200; + const double t1202 = 0.49207057787981353281e0 * t1201; + const double t1203 = t1187 - 0.14762117336394405984e1 * t1198 - t1202; + const double t1204 = t1182 * t1203; + const double t1206 = t1186 / 0.3e1; + const double t1208 = 0.2e1 / 0.9e1 * t1201; + const double t1209 = t1206 - 0.2e1 / 0.3e1 * t1198 - t1208; + const double t1210 = 0.1e1 / t422; + const double t1213 = 0.1e1 / t425; + const double t1217 = t472 * t487; + const double t1218 = piecewise_functor_3( t441, 0.0, 0.0 ); + const double t1219 = t1218 * t431; + const double t1220 = t442 * t429; + const double t1221 = t413 * t46; + const double t1226 = t31 * t367 * t750; + const double t1227 = t1226 / 0.9e1; + const double t1229 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1195 / 0.3e1 - t1227 ); + const double t1230 = t1220 * t1229; + const double t1232 = t1219 + 0.2e1 * t1230; + const double t1235 = 0.9e1 * t1219; + const double t1237 = t1235 + 0.18e2 * t1230; + const double t1240 = t469 * t1232; + const double t1242 = 0.15e2 / 0.2e1 * t1217 * t1232 + 0.3e1 * t484 * t1237 + 0.619493084332416e1 * t1240; + const double t1243 = t1242 * t493; + const double t1248 = t484 * t516; + const double t1251 = t468 * t1232; + const double t1253 = 0.60966864e1 * t1219; + const double t1255 = 0.54e2 * t1251 - t1253 - 0.121933728e2 * t1230; + const double t1258 = -0.1049126406150970474e3 * t490 * t1232 + 0.63e2 / 0.2e1 * t1248 * t1232 + 0.9e1 * t512 * t1255; + const double t1259 = t1258 * t520; + const double t1262 = t508 * t435; + const double t1266 = t468 * t480; + const double t1268 = -t1266 * t1232 + t1232 * t465; + const double t1269 = t1268 * t477; + const double t1273 = t431 * t1229; + const double t1275 = t434 * t1229; + const double t1277 = t452 * t1229; + const double t1280 = ( 0.17059169152930056821e1 * t1229 - 0.12486811621932118969e2 * t1273 + 0.210871851743473245e2 * t1275 - 0.74732563294431684425e1 * t1277 ) * M_PI; + const double t1283 = 0.1e1 / t445; + const double t1284 = t457 - t1283; + const double t1285 = t456 * t1284; + const double t1286 = 0.22143176004591608976e1 * t1219; + const double t1288 = t1286 + 0.44286352009183217952e1 * t1230; + const double t1291 = t473 * t429; + const double t1294 = t480 * t431; + const double t1297 = t465 * t429; + const double t1300 = t475 * t431; + const double t1303 = t482 * t432; + const double t1308 = 0.2e1 * t446 * t447 - 0.2e1 * t273; + const double t1309 = 0.1e1 / t446; + const double t1310 = t1308 * t1309; + const double t1311 = t1310 * t1288; + const double t1314 = t492 * t520; + const double t1315 = t496 * t1232; + const double t1318 = -0.93027173969241974797e-1 * t1243 * t496 + 0.26165591067112574428e-2 * t1259 * t523 + 0.6e1 * t1262 * t1229 + 0.5080572e0 * t1269 * t460 + t1280 * t447 / 0.2e1 - t1285 * t1288 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t1232 - 0.73807311952199090995e0 * t1294 * t1232 + 0.14761462390439818199e1 * t1297 * t1229 + 0.3e1 * t1300 * t1229 + 0.4e1 * t1303 * t1229 + t440 * t1311 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t1315; + const double t1319 = t522 * t435; + const double t1320 = t1319 * t1232; + const double t1323 = t495 * t434; + const double t1324 = t1323 * t1229; + const double t1328 = 0.1e1 / t461 / t526; + const double t1329 = t519 * t1328; + const double t1330 = t523 * t1232; + const double t1334 = 0.1e1 / t469 / t530; + const double t1335 = t1334 * t437; + const double t1336 = t1335 * t1232; + const double t1339 = t522 * t452; + const double t1340 = t1339 * t1229; + const double t1343 = t526 * t460; + const double t1344 = 0.1e1 / t1343; + const double t1345 = t538 * t1344; + const double t1346 = t542 * t1232; + const double t1349 = t504 * t504; + const double t1350 = 0.1e1 / t1349; + const double t1351 = t1350 * t454; + const double t1352 = t1351 * t1232; + const double t1355 = t541 * t437; + const double t1356 = t1355 * t1229; + const double t1359 = t539 * t1232; + const double t1361 = t503 * t541; + const double t1364 = -0.75257653856463150591e0 * t1359 - 0.15430032176262e-1 * t1361 * t1232; + const double t1366 = t429 * t1229; + const double t1368 = t432 * t1229; + const double t1370 = t435 * t1229; + const double t1374 = 0.65373131959333695e1 * t1366 - 0.19367359552567034037e2 * t1368 + 0.1634181941151939633e2 * t1370 - 0.16419662276459916693e1 * t437 * t1229; + const double t1383 = -0.12394393902309043859e1 * t495 * t1232 + 0.83960814156056084769e0 * t493 * t1232; + const double t1389 = 0.1093302940630051125e1 * t505 * t1232 - 0.98748521025470224076e0 * t500 * t1232; + const double t1391 = t1218 * t526; + const double t1393 = 0.81278266164980202635e2 * t1391 * t468; + const double t1394 = t442 * t499; + const double t1401 = t499 * t535; + const double t1405 = 0.3292210656e3 * t1219; + const double t1407 = -0.1458e4 * t1251 + t1405 + 0.6584421312e3 * t1230; + const double t1410 = t1393 + 0.32511306465992081054e3 * t1394 * t1251 + 0.81278266164980202635e2 * t527 * t1232 + 0.10154353453129624972e2 * t504 * t1232 + 0.33607172124864e-1 * t1401 * t1232 + 0.8401793031216e-2 * t526 * t1407; + const double t1411 = t1410 * t539; + const double t1414 = 0.1395407609538629622e0 * t494 * t1320 - 0.46513586984620987398e0 * t494 * t1324 - 0.91579568734894010498e-2 * t1329 * t1330 - 0.6541397766778143607e-2 * t521 * t1336 + 0.183159137469788021e-1 * t521 * t1340 - 0.30266681701871704407e-1 * t1345 * t1346 - 0.22700011276403778305e-1 * t540 * t1352 + 0.60533363403743408814e-1 * t540 * t1356 + t1364 * t452 - t1374 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t1229 + t1383 * t432 + t1389 * t434 + 0.75666704254679261017e-2 * t1411 * t542; + const double t1416 = piecewise_functor_3( t371, 0.5080572e0 * t1204 - 0.5080572e0 * t1209 * t1210 + 0.5080572e0 * t1209 * t1213, t1318 + t1414 ); + const double t1418 = t34 * t413; + const double t1419 = t31 * t1418; + const double t1420 = t617 * t1195; + const double t1424 = t750 * t611; + const double t1427 = t599 * t1424 * t617 / 0.81e2; + const double t1428 = t622 * t101; + const double t1430 = t1054 * t1428 * t1195; + const double t1432 = t290 * t1200; + const double t1433 = 0.2e1 / 0.9e1 * t1432; + const double t1434 = -0.2e1 / 0.3e1 * t1430 - t1433; + const double t1438 = 0.102953948e0 * t1432; + const double t1439 = t1434 * t393; + const double t1440 = t1439 * t558; + const double t1442 = -0.297366688e1 * t602 * t1434 + 0.308861844e0 * t1430 + t1438 - 0.463292766e0 * t1440; + const double t1443 = t46 * t1442; + const double t1449 = 0.1e1 / t614 / t603 / t602; + const double t1450 = t613 * t1449; + const double t1451 = t1450 * t1434; + const double t1455 = 0.1e1 / t634; + const double t1456 = t1455 * t8; + const double t1457 = t314 * t1456; + const double t1458 = t627 * t629; + const double t1459 = t616 * t1195; + const double t1460 = t1458 * t1459; + const double t1466 = 0.4e1 / 0.27e2 * t623 * t651 * t627 * t630; + const double t1468 = 0.17158991333333333333e-1 * t1432; + const double t1470 = 0.51476974e-1 * t1430 + t1468 - 0.77215461e-1 * t1440; + const double t1475 = t622 * t8; + const double t1476 = t314 * t1475; + const double t1477 = t1449 * t1434; + const double t1478 = t1458 * t1477; + const double t1482 = 0.1e1 / t634 / t412; + const double t1483 = t332 * t1482; + const double t1484 = t330 * t1483; + const double t1485 = t641 * t1195; + const double t1489 = t1140 * t639; + const double t1492 = 0.4e2 / 0.243e3 * t638 * t1489 * t641; + const double t1493 = t596 * t1449; + const double t1494 = t1493 * t1434; + const double t1498 = -0.8e1 / 0.9e1 * t1416 - t1419 * t612 * t1420 / 0.27e2 - t1427 + t599 * t1443 * t617 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t1451 - 0.4e1 / 0.9e1 * t1457 * t1460 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t1470 * t630 - 0.1e2 / 0.27e2 * t1476 * t1478 - 0.4e2 / 0.81e2 * t1484 * t640 * t1485 - t1492 - 0.2e2 / 0.81e2 * t638 * t640 * t1494; + const double t1503 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1173 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t1498 ); + const double t1506 = -t8 - t652; + const double t1507 = piecewise_functor_5( t12, 0.0, t16, 0.0, t1506 ); + const double t1510 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.3e1 * t25 * t1507 ); + const double t1511 = t1510 * t28; + const double t1515 = piecewise_functor_5( t36, 0.0, t38, 0.0, t1506 ); + const double t1518 = piecewise_functor_3( t41, 0.0, t714 * t1515 / 0.3e1 ); + const double t1519 = t101 * t1518; + const double t1520 = t712 * t1519; + const double t1521 = t94 * t1520; + const double t1523 = t711 - 0.14762117336394405984e1 * t1521 - t725; + const double t1524 = t667 * t1523; + const double t1527 = t730 - 0.2e1 / 0.3e1 * t1521 - t732; + const double t1537 = piecewise_functor_3( t50, 0.0, -t744 * t745 * t1518 / 0.3e1 - t753 ); + const double t1538 = t743 * t1537; + const double t1540 = t742 + 0.2e1 * t1538; + const double t1552 = t899 + 0.18e2 * t1538; + const double t1555 = t156 * t1540; + const double t1557 = 0.15e2 / 0.2e1 * t893 * t1540 + 0.3e1 * t171 * t1552 + 0.619493084332416e1 * t1555; + const double t1558 = t1557 * t180; + const double t1565 = t155 * t1540; + const double t1568 = 0.54e2 * t1565 - t769 - 0.121933728e2 * t1538; + const double t1571 = -0.1049126406150970474e3 * t177 * t1540 + 0.63e2 / 0.2e1 * t761 * t1540 + 0.9e1 * t199 * t1568; + const double t1572 = t1571 * t207; + const double t1585 = -0.1458e4 * t1565 + t884 + 0.6584421312e3 * t1538; + const double t1588 = t869 + 0.32511306465992081054e3 * t870 * t1565 + 0.81278266164980202635e2 * t214 * t1540 + 0.10154353453129624972e2 * t191 * t1540 + 0.33607172124864e-1 * t877 * t1540 + 0.8401793031216e-2 * t213 * t1585; + const double t1589 = t1588 * t226; + const double t1596 = t1540 * t152 - t861 * t1540; + const double t1597 = t1596 * t164; + const double t1601 = t118 * t1537; + const double t1603 = t121 * t1537; + const double t1605 = t139 * t1537; + const double t1608 = ( 0.17059169152930056821e1 * t1537 - 0.12486811621932118969e2 * t1601 + 0.210871851743473245e2 * t1603 - 0.74732563294431684425e1 * t1605 ) * M_PI; + const double t1612 = t784 + 0.44286352009183217952e1 * t1538; + const double t1619 = t187 * t1540; + const double t1621 = 0.1093302940630051125e1 * t192 * t1540 - 0.98748521025470224076e0 * t1619; + const double t1623 = -0.73807311952199090995e0 * t792 * t1540 + 0.14761462390439818199e1 * t795 * t1537 + 0.3e1 * t798 * t1537 + 0.4e1 * t778 * t1537 - 0.93027173969241974797e-1 * t1558 * t183 + 0.26165591067112574428e-2 * t1572 * t210 + 0.75666704254679261017e-2 * t1589 * t229 + 0.6e1 * t812 * t1537 + 0.5080572e0 * t1597 * t147 + t1608 * t134 / 0.2e1 - t783 * t1612 / 0.2e1 + 0.5079873114034015574e0 * t789 * t1540 + t1621 * t121; + const double t1624 = t116 * t1537; + const double t1626 = t119 * t1537; + const double t1628 = t122 * t1537; + const double t1630 = t124 * t1537; + const double t1632 = 0.65373131959333695e1 * t1624 - 0.19367359552567034037e2 * t1626 + 0.1634181941151939633e2 * t1628 - 0.16419662276459916693e1 * t1630; + const double t1635 = t226 * t1540; + const double t1639 = -0.75257653856463150591e0 * t1635 - 0.15430032176262e-1 * t951 * t1540; + const double t1643 = t182 * t1540; + const double t1647 = -0.12394393902309043859e1 * t1643 + 0.83960814156056084769e0 * t180 * t1540; + const double t1649 = t914 * t1612; + const double t1652 = t183 * t1540; + const double t1655 = t856 * t1540; + const double t1658 = t848 * t1537; + const double t1661 = t210 * t1540; + const double t1664 = t840 * t1540; + const double t1667 = t844 * t1537; + const double t1670 = t229 * t1540; + const double t1673 = t823 * t1540; + const double t1676 = t827 * t1537; + const double t1679 = -t1632 * t144 / 0.2e1 + t1639 * t139 - 0.10159746228068031148e1 * t149 * t1537 + t1647 * t119 + t127 * t1649 / 0.4e1 + 0.23256793492310493699e0 * t852 * t1652 + 0.1395407609538629622e0 * t181 * t1655 - 0.46513586984620987398e0 * t181 * t1658 - 0.91579568734894010498e-2 * t833 * t1661 - 0.6541397766778143607e-2 * t208 * t1664 + 0.183159137469788021e-1 * t208 * t1667 - 0.30266681701871704407e-1 * t817 * t1670 - 0.22700011276403778305e-1 * t227 * t1673 + 0.60533363403743408814e-1 * t227 * t1676; + const double t1681 = piecewise_functor_3( t50, 0.5080572e0 * t1524 - 0.5080572e0 * t1527 * t734 + 0.5080572e0 * t1527 * t737, t1623 + t1679 ); + const double t1683 = t308 * t1518; + const double t1688 = t1054 * t1055 * t1518; + const double t1690 = -0.2e1 / 0.3e1 * t1688 - t1060; + const double t1694 = t1690 * t75; + const double t1695 = t1694 * t245; + const double t1697 = -0.297366688e1 * t293 * t1690 + 0.308861844e0 * t1688 + t1068 - 0.463292766e0 * t1695; + const double t1698 = t46 * t1697; + const double t1702 = t1091 * t1690; + const double t1706 = t307 * t1518; + const double t1707 = t1099 * t1706; + const double t1712 = 0.51476974e-1 * t1688 + t1109 - 0.77215461e-1 * t1695; + const double t1717 = t1090 * t1690; + const double t1718 = t1099 * t1717; + const double t1721 = t342 * t1518; + const double t1725 = t1156 * t1690; + const double t1729 = -0.8e1 / 0.9e1 * t1681 - t1045 * t303 * t1683 / 0.27e2 - t1053 + t289 * t1698 * t308 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t1702 - 0.4e1 / 0.9e1 * t1098 * t1707 - t1107 + 0.4e1 / 0.27e2 * t317 * t8 * t1712 * t324 - 0.1e2 / 0.27e2 * t1121 * t1718 - 0.4e2 / 0.81e2 * t1134 * t341 * t1721 - t1144 - 0.2e2 / 0.81e2 * t337 * t341 * t1725; + const double t1734 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t1511 * t346 - t665 - 0.3e1 / 0.8e1 * t6 * t29 * t1729 ); + const double t1736 = piecewise_functor_5( t16, 0.0, t12, 0.0, t8 - t1167 ); + const double t1739 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.3e1 * t357 * t1736 ); + const double t1740 = t1739 * t28; + const double t1744 = t392 * t397; + const double t1745 = rho_b * rho_b; + const double t1747 = 0.1e1 / t373 / t1745; + const double t1750 = t53 * t372 * t1747 / 0.9e1; + const double t1751 = piecewise_functor_3( t380, 0.0, -t1750 ); + const double t1752 = piecewise_functor_3( t382, t1751, 0.0 ); + const double t1754 = 0.1e1 / t386; + const double t1755 = t1752 * t385 * t1754; + const double t1757 = piecewise_functor_3( t380, 0.0, t1752 - t1755 ); + const double t1758 = piecewise_functor_3( t379, -t1750, t1757 ); + const double t1759 = piecewise_functor_3( t391, 0.0, t1758 ); + const double t1760 = t405 * t1759; + const double t1761 = t1744 * t1760; + const double t1762 = 0.44286352009183217952e1 * t1761; + const double t1763 = t392 * t1759; + const double t1765 = t393 * t392; + const double t1766 = t1765 * t1759; + const double t1768 = 0.1959362e-1 * t1763 + 0.1643336e0 * t1766; + const double t1769 = t393 * t1768; + const double t1770 = t1769 * t405; + const double t1771 = 0.22143176004591608976e1 * t1770; + const double t1772 = t404 * t404; + const double t1773 = 0.1e1 / t1772; + const double t1775 = t395 * t1759; + const double t1779 = 0.74976e0 * t1766 + 0.60412e-2 * t1775 + 0.2083128e0 * t400 * t1759; + const double t1780 = t1773 * t1779; + const double t1781 = t398 * t1780; + const double t1782 = 0.22143176004591608976e1 * t1781; + const double t1784 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t1506 ); + const double t1787 = piecewise_functor_3( t363, 0.0, t1190 * t1784 / 0.3e1 ); + const double t1788 = t101 * t1787; + const double t1789 = t1188 * t1788; + const double t1790 = t411 * t1789; + const double t1792 = t1762 + t1771 - t1782 + t1187 - 0.14762117336394405984e1 * t1790 - t1202; + const double t1793 = t1182 * t1792; + const double t1795 = 0.2e1 * t1761; + const double t1797 = t1795 + t1770 - t1781 + t1206 - 0.2e1 / 0.3e1 * t1790 - t1208; + const double t1807 = piecewise_functor_3( t371, 0.0, -t744 * t1221 * t1787 / 0.3e1 - t1227 ); + const double t1808 = t1220 * t1807; + const double t1810 = t1795 + t1770 - t1781 + t1219 + 0.2e1 * t1808; + const double t1813 = -t1266 * t1810 + t1810 * t465; + const double t1814 = t1813 * t477; + const double t1825 = t468 * t1810; + const double t1831 = 0.54e2 * t1825 - 0.121933728e2 * t1761 - 0.60966864e1 * t1770 + 0.60966864e1 * t1781 - t1253 - 0.121933728e2 * t1808; + const double t1834 = -0.1049126406150970474e3 * t490 * t1810 + 0.63e2 / 0.2e1 * t1248 * t1810 + 0.9e1 * t512 * t1831; + const double t1835 = t1834 * t520; + const double t1847 = t431 * t1807; + const double t1849 = t434 * t1807; + const double t1851 = t452 * t1807; + const double t1854 = ( 0.17059169152930056821e1 * t1807 - 0.12486811621932118969e2 * t1847 + 0.210871851743473245e2 * t1849 - 0.74732563294431684425e1 * t1851 ) * M_PI; + const double t1858 = t1762 + t1771 - t1782 + t1286 + 0.44286352009183217952e1 * t1808; + const double t1861 = t542 * t1810; + const double t1864 = t1351 * t1810; + const double t1867 = t1355 * t1807; + const double t1870 = 0.5080572e0 * t1814 * t460 + 0.6e1 * t1262 * t1807 + 0.5079873114034015574e0 * t1291 * t1810 + 0.26165591067112574428e-2 * t1835 * t523 - 0.73807311952199090995e0 * t1294 * t1810 + 0.14761462390439818199e1 * t1297 * t1807 + 0.3e1 * t1300 * t1807 + 0.4e1 * t1303 * t1807 + t1854 * t447 / 0.2e1 - t1285 * t1858 / 0.2e1 - 0.30266681701871704407e-1 * t1345 * t1861 - 0.22700011276403778305e-1 * t540 * t1864 + 0.60533363403743408814e-1 * t540 * t1867; + const double t1871 = t1335 * t1810; + const double t1874 = t1339 * t1807; + const double t1890 = -0.1458e4 * t1825 + 0.6584421312e3 * t1761 + 0.3292210656e3 * t1770 - 0.3292210656e3 * t1781 + t1405 + 0.6584421312e3 * t1808; + const double t1893 = t1393 + 0.32511306465992081054e3 * t1394 * t1825 + 0.81278266164980202635e2 * t527 * t1810 + 0.10154353453129624972e2 * t504 * t1810 + 0.33607172124864e-1 * t1401 * t1810 + 0.8401793031216e-2 * t526 * t1890; + const double t1894 = t1893 * t539; + const double t1897 = t523 * t1810; + const double t1900 = t496 * t1810; + const double t1903 = t1319 * t1810; + const double t1906 = t1323 * t1807; + const double t1909 = t1310 * t1858; + const double t1912 = t429 * t1807; + const double t1914 = t432 * t1807; + const double t1916 = t435 * t1807; + const double t1918 = t437 * t1807; + const double t1920 = 0.65373131959333695e1 * t1912 - 0.19367359552567034037e2 * t1914 + 0.1634181941151939633e2 * t1916 - 0.16419662276459916693e1 * t1918; + const double t1923 = t495 * t1810; + const double t1927 = -0.12394393902309043859e1 * t1923 + 0.83960814156056084769e0 * t493 * t1810; + const double t1933 = t500 * t1810; + const double t1935 = 0.1093302940630051125e1 * t505 * t1810 - 0.98748521025470224076e0 * t1933; + const double t1937 = t539 * t1810; + const double t1942 = 0.15943086723305958463e3 * t1761 + 0.79715433616529792314e2 * t1770 - 0.79715433616529792314e2 * t1781; + const double t1947 = -0.75257653856463150591e0 * t1937 + 0.7715016088131e-2 * t1942 * t505 - 0.15430032176262e-1 * t1361 * t1810; + const double t1955 = 0.18e2 * t1761 + 0.9e1 * t1770 - 0.9e1 * t1781 + t1235 + 0.18e2 * t1808; + const double t1958 = t469 * t1810; + const double t1960 = 0.15e2 / 0.2e1 * t1217 * t1810 + 0.3e1 * t484 * t1955 + 0.619493084332416e1 * t1958; + const double t1961 = t1960 * t493; + const double t1964 = -0.6541397766778143607e-2 * t521 * t1871 + 0.183159137469788021e-1 * t521 * t1874 + 0.75666704254679261017e-2 * t1894 * t542 - 0.91579568734894010498e-2 * t1329 * t1897 + 0.23256793492310493699e0 * t1314 * t1900 + 0.1395407609538629622e0 * t494 * t1903 - 0.46513586984620987398e0 * t494 * t1906 + t440 * t1909 / 0.4e1 - t1920 * t457 / 0.2e1 + t1927 * t432 - 0.10159746228068031148e1 * t462 * t1807 + t1935 * t434 + t1947 * t452 - 0.93027173969241974797e-1 * t1961 * t496; + const double t1966 = piecewise_functor_3( t371, 0.5080572e0 * t1793 - 0.5080572e0 * t1797 * t1210 + 0.5080572e0 * t1797 * t1213, t1870 + t1964 ); + const double t1968 = t1795 + t1770 - t1781; + const double t1969 = t551 * t1968; + const double t1971 = 0.154430922e0 * t1761; + const double t1972 = 0.77215461e-1 * t1770; + const double t1973 = 0.77215461e-1 * t1781; + const double t1974 = t1968 * t393; + const double t1977 = t551 * t392; + const double t1978 = t558 * t1759; + const double t1983 = t397 * t1773; + const double t1986 = 0.64753871e1 * t1768 * t405 - 0.64753871e1 * t1983 * t1779; + const double t1989 = t392 * t592; + const double t1990 = t1989 * t1759; + const double t1993 = t558 * t392; + const double t1996 = 0.2e1 * t1993 * t1759 + t1986 * t393; + const double t2005 = t250 * ( -0.463292766e0 * t1996 * t551 - 0.463292766e0 * t563 * t1968 - 0.297366688e1 * t1969 + 0.243867456e2 * t552 * t1968 ); + const double t2008 = t552 * t552; + const double t2010 = 0.1e1 / t571 / t2008; + const double t2011 = t2010 * t1968; + const double t2014 = t1762 + t1771 - t1782; + const double t2015 = t2014 * t576; + const double t2016 = t2015 * t580; + const double t2018 = safe_math::exp( -t407 ); + const double t2019 = t576 * t2018; + const double t2020 = 0.1e1 / t577; + const double t2021 = t2020 * t1968; + const double t2025 = ( t2005 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2011 - 0.23751029502456895713e1 * t2016 + 0.19940105822687055308e1 * t2019 * t2021 ) * t273; + const double t2028 = 0.1e1 / t1765; + const double t2029 = t2028 * t572; + const double t2030 = t2029 * t1759; + const double t2033 = t571 * t552; + const double t2034 = t585 * t2033; + const double t2035 = t2034 * t1968; + const double t2042 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2025 * t586 + 0.32e2 / 0.15e2 * t584 * t2030 - 0.56e2 / 0.15e2 * t584 * t2035, -0.14235295576e0 * t1763 + 0.34138165292e0 * t1766 ); + const double t2043 = t393 * t2042; + const double t2045 = -0.74341672e0 * t1969 - t1971 - t1972 + t1973 - 0.77215461e-1 * t1974 * t558 - 0.154430922e0 * t1977 * t1978 - 0.77215461e-1 * t555 * t1986 + 0.4e1 * t1990 + 0.2e1 * t2043; + const double t2048 = 0.1e1 / t2008; + const double t2049 = t595 * t2048; + const double t2052 = t617 * t1787; + const double t2057 = t1054 * t1428 * t1787; + const double t2059 = t1795 + t1770 - t1781 - 0.2e1 / 0.3e1 * t2057 - t1433; + const double t2066 = t2059 * t393; + const double t2067 = t2066 * t558; + const double t2069 = t602 * t392; + const double t2070 = t2069 * t1978; + const double t2072 = t607 * t1986; + const double t2076 = -0.297366688e1 * t602 * t2059 - 0.926585532e0 * t1761 - 0.463292766e0 * t1770 + 0.463292766e0 * t1781 + 0.308861844e0 * t2057 + t1438 - 0.463292766e0 * t2067 - 0.926585532e0 * t2070 - 0.463292766e0 * t2072 + 0.3e2 * t1990 + 0.15e2 * t2043; + const double t2077 = t46 * t2076; + const double t2081 = t630 * t1968; + const double t2085 = t1450 * t2059; + const double t2089 = t616 * t1787; + const double t2090 = t1458 * t2089; + const double t2099 = -t1971 - t1972 + t1973 + 0.51476974e-1 * t2057 + t1468 - 0.77215461e-1 * t2067 - 0.154430922e0 * t2070 - 0.77215461e-1 * t2072 + 0.1e2 * t1990 + 0.5e1 * t2043; + const double t2104 = t627 * t596; + const double t2105 = t616 * t1968; + const double t2106 = t2104 * t2105; + const double t2109 = t1449 * t2059; + const double t2110 = t1458 * t2109; + const double t2113 = t641 * t1787; + const double t2118 = 0.2e1 * t1990 + t2043; + const double t2119 = t339 * t2118; + const double t2123 = t2048 * t616; + const double t2124 = t2123 * t1968; + const double t2128 = t1493 * t2059; + const double t2132 = -0.8e1 / 0.9e1 * t1966 - 0.4e1 / 0.9e1 * t2045 * t596 + 0.4e1 / 0.3e1 * t2049 * t1968 - t1419 * t612 * t2052 / 0.27e2 - t1427 + t599 * t2077 * t617 / 0.27e2 - t599 * t612 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2085 - 0.4e1 / 0.9e1 * t1457 * t2090 - t1466 + 0.4e1 / 0.27e2 * t623 * t8 * t2099 * t630 - 0.8e1 / 0.27e2 * t1476 * t2106 - 0.1e2 / 0.27e2 * t1476 * t2110 - 0.4e2 / 0.81e2 * t1484 * t640 * t2113 - t1492 + 0.8e1 / 0.81e2 * t638 * t2119 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2124 - 0.2e2 / 0.81e2 * t638 * t640 * t2128; + const double t2137 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t645 - t1180 - 0.3e1 / 0.8e1 * t6 * t360 * t2132 ); + const double t2140 = 0.1e1 / t54; + const double t2143 = t53 * t2140 * t57 / 0.24e2; + const double t2144 = piecewise_functor_3( t62, 0.0, t2143 ); + const double t2145 = piecewise_functor_3( t64, t2144, 0.0 ); + const double t2146 = t2145 * t67; + const double t2149 = piecewise_functor_3( t62, 0.0, -t2146 * t678 + t2145 ); + const double t2150 = piecewise_functor_3( t61, t2143, t2149 ); + const double t2151 = piecewise_functor_3( t73, 0.0, t2150 ); + const double t2152 = t87 * t2151; + const double t2153 = t668 * t2152; + const double t2155 = t74 * t2151; + const double t2157 = t689 * t2151; + const double t2159 = 0.1959362e-1 * t2155 + 0.1643336e0 * t2157; + const double t2160 = t75 * t2159; + const double t2161 = t2160 * t87; + const double t2164 = t77 * t2151; + const double t2168 = 0.74976e0 * t2157 + 0.60412e-2 * t2164 + 0.2083128e0 * t82 * t2151; + const double t2169 = t697 * t2168; + const double t2170 = t80 * t2169; + const double t2172 = 0.44286352009183217952e1 * t2153 + 0.22143176004591608976e1 * t2161 - 0.22143176004591608976e1 * t2170; + const double t2173 = t667 * t2172; + const double t2176 = 0.2e1 * t2153 + t2161 - t2170; + const double t2182 = t914 * t2172; + const double t2191 = t182 * t2176; + const double t2195 = -0.12394393902309043859e1 * t2191 + 0.83960814156056084769e0 * t180 * t2176; + const double t2199 = t187 * t2176; + const double t2201 = 0.1093302940630051125e1 * t192 * t2176 - 0.98748521025470224076e0 * t2199; + const double t2208 = 0.18e2 * t2153 + 0.9e1 * t2161 - 0.9e1 * t2170; + const double t2211 = t156 * t2176; + const double t2213 = 0.15e2 / 0.2e1 * t893 * t2176 + 0.3e1 * t171 * t2208 + 0.619493084332416e1 * t2211; + const double t2214 = t2213 * t180; + const double t2217 = t183 * t2176; + const double t2220 = t856 * t2176; + const double t2223 = t226 * t2176; + const double t2228 = 0.15943086723305958463e3 * t2153 + 0.79715433616529792314e2 * t2161 - 0.79715433616529792314e2 * t2170; + const double t2233 = -0.75257653856463150591e0 * t2223 + 0.7715016088131e-2 * t2228 * t192 - 0.15430032176262e-1 * t951 * t2176; + const double t2239 = t155 * t2176; + const double t2244 = 0.54e2 * t2239 - 0.121933728e2 * t2153 - 0.60966864e1 * t2161 + 0.60966864e1 * t2170; + const double t2247 = -0.1049126406150970474e3 * t177 * t2176 + 0.63e2 / 0.2e1 * t761 * t2176 + 0.9e1 * t199 * t2244; + const double t2248 = t2247 * t207; + const double t2251 = t210 * t2176; + const double t2254 = t840 * t2176; + const double t2269 = -0.1458e4 * t2239 + 0.6584421312e3 * t2153 + 0.3292210656e3 * t2161 - 0.3292210656e3 * t2170; + const double t2272 = 0.32511306465992081054e3 * t870 * t2239 + 0.81278266164980202635e2 * t214 * t2176 + 0.10154353453129624972e2 * t191 * t2176 + 0.33607172124864e-1 * t877 * t2176 + 0.8401793031216e-2 * t213 * t2269; + const double t2273 = t2272 * t226; + const double t2276 = t229 * t2176; + const double t2279 = t823 * t2176; + const double t2284 = t2176 * t152 - t861 * t2176; + const double t2285 = t2284 * t164; + const double t2288 = t127 * t2182 / 0.4e1 - t783 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t2176 - 0.73807311952199090995e0 * t792 * t2176 + t2195 * t119 + t2201 * t121 - 0.93027173969241974797e-1 * t2214 * t183 + 0.23256793492310493699e0 * t852 * t2217 + 0.1395407609538629622e0 * t181 * t2220 + t2233 * t139 + 0.26165591067112574428e-2 * t2248 * t210 - 0.91579568734894010498e-2 * t833 * t2251 - 0.6541397766778143607e-2 * t208 * t2254 + 0.75666704254679261017e-2 * t2273 * t229 - 0.30266681701871704407e-1 * t817 * t2276 - 0.22700011276403778305e-1 * t227 * t2279 + 0.5080572e0 * t2285 * t147; + const double t2289 = piecewise_functor_3( t50, 0.5080572e0 * t2173 - 0.5080572e0 * t2176 * t734 + 0.5080572e0 * t2176 * t737, t2288 ); + const double t2291 = t238 * t2176; + const double t2293 = 0.154430922e0 * t2153; + const double t2294 = 0.77215461e-1 * t2161; + const double t2295 = 0.77215461e-1 * t2170; + const double t2296 = t2176 * t75; + const double t2297 = t2296 * t245; + const double t2298 = 0.77215461e-1 * t2297; + const double t2299 = t245 * t2151; + const double t2306 = 0.64753871e1 * t2159 * t87 - 0.64753871e1 * t975 * t2168; + const double t2309 = t981 * t2151; + const double t2314 = 0.2e1 * t985 * t2151 + t2306 * t75; + const double t2323 = t250 * ( -0.463292766e0 * t2314 * t238 - 0.463292766e0 * t252 * t2176 - 0.297366688e1 * t2291 + 0.243867456e2 * t239 * t2176 ); + const double t2326 = t1002 * t2176; + const double t2329 = t2172 * t265; + const double t2332 = t1012 * t2176; + const double t2336 = ( t2323 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t259 * t2326 - 0.23751029502456895713e1 * t2329 * t269 + 0.19940105822687055308e1 * t1011 * t2332 ) * t273; + const double t2339 = t1021 * t2151; + const double t2342 = t1026 * t2176; + const double t2349 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t2336 * t276 + 0.32e2 / 0.15e2 * t274 * t2339 - 0.56e2 / 0.15e2 * t274 * t2342, -0.14235295576e0 * t2155 + 0.34138165292e0 * t2157 ); + const double t2350 = t75 * t2349; + const double t2352 = -0.74341672e0 * t2291 - t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t969 * t2299 - 0.77215461e-1 * t242 * t2306 + 0.4e1 * t2309 + 0.2e1 * t2350; + const double t2363 = t1072 * t2299; + const double t2365 = t298 * t2306; + const double t2369 = -0.297366688e1 * t293 * t2176 - 0.926585532e0 * t2153 - 0.463292766e0 * t2161 + 0.463292766e0 * t2170 - 0.463292766e0 * t2297 - 0.926585532e0 * t2363 - 0.463292766e0 * t2365 + 0.3e2 * t2309 + 0.15e2 * t2350; + const double t2370 = t46 * t2369; + const double t2374 = t324 * t2176; + const double t2378 = t1091 * t2176; + const double t2386 = -t2293 - t2294 + t2295 - t2298 - 0.154430922e0 * t2363 - 0.77215461e-1 * t2365 + 0.1e2 * t2309 + 0.5e1 * t2350; + const double t2391 = t307 * t2176; + const double t2392 = t1122 * t2391; + const double t2395 = t1090 * t2176; + const double t2396 = t1099 * t2395; + const double t2400 = 0.2e1 * t2309 + t2350; + const double t2401 = t339 * t2400; + const double t2405 = t1151 * t2176; + const double t2409 = t1156 * t2176; + const double t2413 = -0.8e1 / 0.9e1 * t2289 - 0.4e1 / 0.9e1 * t2352 * t286 + 0.4e1 / 0.3e1 * t1041 * t2176 + t289 * t2370 * t308 / 0.27e2 - t289 * t303 * t2374 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t2378 + 0.4e1 / 0.27e2 * t317 * t8 * t2386 * t324 - 0.8e1 / 0.27e2 * t1121 * t2392 - 0.1e2 / 0.27e2 * t1121 * t2396 + 0.8e1 / 0.81e2 * t337 * t2401 * t342 - 0.8e1 / 0.27e2 * t337 * t341 * t2405 - 0.2e2 / 0.81e2 * t337 * t341 * t2409; + const double t2417 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t2413 ); + const double t2418 = 0.1e1 / t372; + const double t2421 = t53 * t2418 * t375 / 0.24e2; + const double t2422 = piecewise_functor_3( t380, 0.0, t2421 ); + const double t2423 = piecewise_functor_3( t382, t2422, 0.0 ); + const double t2424 = t2423 * t385; + const double t2427 = piecewise_functor_3( t380, 0.0, -t2424 * t1754 + t2423 ); + const double t2428 = piecewise_functor_3( t379, t2421, t2427 ); + const double t2429 = piecewise_functor_3( t391, 0.0, t2428 ); + const double t2430 = t405 * t2429; + const double t2431 = t1744 * t2430; + const double t2433 = t392 * t2429; + const double t2435 = t1765 * t2429; + const double t2437 = 0.1959362e-1 * t2433 + 0.1643336e0 * t2435; + const double t2438 = t393 * t2437; + const double t2439 = t2438 * t405; + const double t2442 = t395 * t2429; + const double t2446 = 0.74976e0 * t2435 + 0.60412e-2 * t2442 + 0.2083128e0 * t400 * t2429; + const double t2447 = t1773 * t2446; + const double t2448 = t398 * t2447; + const double t2450 = 0.44286352009183217952e1 * t2431 + 0.22143176004591608976e1 * t2439 - 0.22143176004591608976e1 * t2448; + const double t2451 = t1182 * t2450; + const double t2454 = 0.2e1 * t2431 + t2439 - t2448; + const double t2460 = t1310 * t2450; + const double t2469 = t495 * t2454; + const double t2473 = -0.12394393902309043859e1 * t2469 + 0.83960814156056084769e0 * t493 * t2454; + const double t2477 = t500 * t2454; + const double t2479 = 0.1093302940630051125e1 * t505 * t2454 - 0.98748521025470224076e0 * t2477; + const double t2486 = 0.18e2 * t2431 + 0.9e1 * t2439 - 0.9e1 * t2448; + const double t2489 = t469 * t2454; + const double t2491 = 0.15e2 / 0.2e1 * t1217 * t2454 + 0.3e1 * t484 * t2486 + 0.619493084332416e1 * t2489; + const double t2492 = t2491 * t493; + const double t2495 = t496 * t2454; + const double t2498 = t1319 * t2454; + const double t2501 = t539 * t2454; + const double t2506 = 0.15943086723305958463e3 * t2431 + 0.79715433616529792314e2 * t2439 - 0.79715433616529792314e2 * t2448; + const double t2511 = -0.75257653856463150591e0 * t2501 + 0.7715016088131e-2 * t2506 * t505 - 0.15430032176262e-1 * t1361 * t2454; + const double t2517 = t468 * t2454; + const double t2522 = 0.54e2 * t2517 - 0.121933728e2 * t2431 - 0.60966864e1 * t2439 + 0.60966864e1 * t2448; + const double t2525 = -0.1049126406150970474e3 * t490 * t2454 + 0.63e2 / 0.2e1 * t1248 * t2454 + 0.9e1 * t512 * t2522; + const double t2526 = t2525 * t520; + const double t2529 = t523 * t2454; + const double t2532 = t1335 * t2454; + const double t2547 = -0.1458e4 * t2517 + 0.6584421312e3 * t2431 + 0.3292210656e3 * t2439 - 0.3292210656e3 * t2448; + const double t2550 = 0.32511306465992081054e3 * t1394 * t2517 + 0.81278266164980202635e2 * t527 * t2454 + 0.10154353453129624972e2 * t504 * t2454 + 0.33607172124864e-1 * t1401 * t2454 + 0.8401793031216e-2 * t526 * t2547; + const double t2551 = t2550 * t539; + const double t2554 = t542 * t2454; + const double t2557 = t1351 * t2454; + const double t2562 = -t1266 * t2454 + t2454 * t465; + const double t2563 = t2562 * t477; + const double t2566 = t440 * t2460 / 0.4e1 - t1285 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t2454 - 0.73807311952199090995e0 * t1294 * t2454 + t2473 * t432 + t2479 * t434 - 0.93027173969241974797e-1 * t2492 * t496 + 0.23256793492310493699e0 * t1314 * t2495 + 0.1395407609538629622e0 * t494 * t2498 + t2511 * t452 + 0.26165591067112574428e-2 * t2526 * t523 - 0.91579568734894010498e-2 * t1329 * t2529 - 0.6541397766778143607e-2 * t521 * t2532 + 0.75666704254679261017e-2 * t2551 * t542 - 0.30266681701871704407e-1 * t1345 * t2554 - 0.22700011276403778305e-1 * t540 * t2557 + 0.5080572e0 * t2563 * t460; + const double t2567 = piecewise_functor_3( t371, 0.5080572e0 * t2451 - 0.5080572e0 * t2454 * t1210 + 0.5080572e0 * t2454 * t1213, t2566 ); + const double t2569 = t551 * t2454; + const double t2571 = 0.154430922e0 * t2431; + const double t2572 = 0.77215461e-1 * t2439; + const double t2573 = 0.77215461e-1 * t2448; + const double t2574 = t2454 * t393; + const double t2575 = t2574 * t558; + const double t2576 = 0.77215461e-1 * t2575; + const double t2577 = t558 * t2429; + const double t2584 = 0.64753871e1 * t2437 * t405 - 0.64753871e1 * t1983 * t2446; + const double t2587 = t1989 * t2429; + const double t2592 = 0.2e1 * t1993 * t2429 + t2584 * t393; + const double t2601 = t250 * ( -0.463292766e0 * t2592 * t551 - 0.463292766e0 * t563 * t2454 - 0.297366688e1 * t2569 + 0.243867456e2 * t552 * t2454 ); + const double t2604 = t2010 * t2454; + const double t2607 = t2450 * t576; + const double t2610 = t2020 * t2454; + const double t2614 = ( t2601 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t570 * t2604 - 0.23751029502456895713e1 * t2607 * t580 + 0.19940105822687055308e1 * t2019 * t2610 ) * t273; + const double t2617 = t2029 * t2429; + const double t2620 = t2034 * t2454; + const double t2627 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t2614 * t586 + 0.32e2 / 0.15e2 * t584 * t2617 - 0.56e2 / 0.15e2 * t584 * t2620, -0.14235295576e0 * t2433 + 0.34138165292e0 * t2435 ); + const double t2628 = t393 * t2627; + const double t2630 = -0.74341672e0 * t2569 - t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t1977 * t2577 - 0.77215461e-1 * t555 * t2584 + 0.4e1 * t2587 + 0.2e1 * t2628; + const double t2641 = t2069 * t2577; + const double t2643 = t607 * t2584; + const double t2647 = -0.297366688e1 * t602 * t2454 - 0.926585532e0 * t2431 - 0.463292766e0 * t2439 + 0.463292766e0 * t2448 - 0.463292766e0 * t2575 - 0.926585532e0 * t2641 - 0.463292766e0 * t2643 + 0.3e2 * t2587 + 0.15e2 * t2628; + const double t2648 = t46 * t2647; + const double t2652 = t630 * t2454; + const double t2656 = t1450 * t2454; + const double t2664 = -t2571 - t2572 + t2573 - t2576 - 0.154430922e0 * t2641 - 0.77215461e-1 * t2643 + 0.1e2 * t2587 + 0.5e1 * t2628; + const double t2669 = t616 * t2454; + const double t2670 = t2104 * t2669; + const double t2673 = t1449 * t2454; + const double t2674 = t1458 * t2673; + const double t2678 = 0.2e1 * t2587 + t2628; + const double t2679 = t339 * t2678; + const double t2683 = t2123 * t2454; + const double t2687 = t1493 * t2454; + const double t2691 = -0.8e1 / 0.9e1 * t2567 - 0.4e1 / 0.9e1 * t2630 * t596 + 0.4e1 / 0.3e1 * t2049 * t2454 + t599 * t2648 * t617 / 0.27e2 - t599 * t612 * t2652 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t612 * t2656 + 0.4e1 / 0.27e2 * t623 * t8 * t2664 * t630 - 0.8e1 / 0.27e2 * t1476 * t2670 - 0.1e2 / 0.27e2 * t1476 * t2674 + 0.8e1 / 0.81e2 * t638 * t2679 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t2683 - 0.2e2 / 0.81e2 * t638 * t640 * t2687; + const double t2695 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t2691 ); + const double t2698 = t25 * t25; + const double t2699 = 0.1e1 / t2698; + const double t2700 = t654 * t654; + const double t2703 = t650 * t7; + const double t2704 = 0.1e1 / t2703; + const double t2705 = t18 * t2704; + const double t2707 = -0.2e1 * t651 + 0.2e1 * t2705; + const double t2708 = piecewise_functor_5( t12, 0.0, t16, 0.0, t2707 ); + const double t2712 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t2700 + 0.4e1 / 0.3e1 * t25 * t2708 ); + const double t2713 = t2712 * t28; + const double t2717 = t657 * t101; + const double t2719 = t6 * t2717 * t346; + const double t2724 = t27 * t339; + const double t2727 = t6 * t2724 * t346 / 0.12e2; + const double t2729 = t6 * t662 * t1161; + const double t2735 = 0.1e1 / t713 / t40; + const double t2736 = t715 * t715; + const double t2739 = piecewise_functor_5( t36, 0.0, t38, 0.0, t2707 ); + const double t2743 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t2736 + t714 * t2739 / 0.3e1 ); + const double t2744 = t342 * t2743; + const double t2749 = t337 * t1141 * t1152; + const double t2752 = t337 * t1141 * t1157; + const double t2760 = t683 * t683; + const double t2761 = t2760 * t79; + const double t2762 = t2761 * t87; + const double t2763 = 0.2e1 * t2762; + const double t2764 = t74 * t692; + const double t2765 = t2764 * t684; + const double t2766 = 0.4e1 * t2765; + const double t2767 = t697 * t683; + const double t2768 = t2767 * t703; + const double t2769 = t668 * t2768; + const double t2770 = 0.4e1 * t2769; + const double t2773 = 0.1e1 / t55 / t669 / rho_a; + const double t2776 = 0.7e1 / 0.27e2 * t53 * t54 * t2773; + const double t2777 = piecewise_functor_3( t62, 0.0, t2776 ); + const double t2778 = piecewise_functor_3( t64, t2777, 0.0 ); + const double t2781 = t676 * t676; + const double t2784 = t67 * t67; + const double t2786 = t68 * t68; + const double t2787 = 0.1e1 / t2786; + const double t2790 = piecewise_functor_3( t62, 0.0, -t2778 * t67 * t678 + t2781 * t2784 * t2787 - t2781 * t67 * t678 + t2778 ); + const double t2791 = piecewise_functor_3( t61, t2776, t2790 ); + const double t2792 = piecewise_functor_3( t73, 0.0, t2791 ); + const double t2793 = t87 * t2792; + const double t2794 = t668 * t2793; + const double t2795 = 0.2e1 * t2794; + const double t2797 = t74 * t2792; + const double t2799 = t75 * t2760; + const double t2801 = t689 * t2792; + const double t2803 = 0.1959362e-1 * t2760 + 0.1959362e-1 * t2797 + 0.4930008e0 * t2799 + 0.1643336e0 * t2801; + const double t2804 = t75 * t2803; + const double t2805 = t2804 * t87; + const double t2806 = t693 * t704; + const double t2807 = 0.2e1 * t2806; + const double t2809 = 0.1e1 / t696 / t86; + const double t2810 = t703 * t703; + const double t2811 = t2809 * t2810; + const double t2812 = t80 * t2811; + const double t2813 = 0.2e1 * t2812; + const double t2816 = t689 * t2760; + const double t2824 = 0.224928e1 * t2799 + 0.74976e0 * t2801 + 0.241648e-1 * t2816 + 0.60412e-2 * t77 * t2792 + 0.1041564e1 * t77 * t2760 + 0.2083128e0 * t82 * t2792; + const double t2825 = t697 * t2824; + const double t2826 = t80 * t2825; + const double t2827 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826; + const double t2828 = t1151 * t2827; + const double t2832 = t1096 * t101; + const double t2833 = t718 * t718; + const double t2835 = t1054 * t2832 * t2833; + const double t2837 = t316 * t339; + const double t2839 = t1054 * t2837 * t718; + const double t2842 = t1054 * t1055 * t2743; + const double t2844 = t99 * t1140; + const double t2845 = t290 * t2844; + const double t2846 = 0.1e2 / 0.27e2 * t2845; + const double t2847 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + 0.2e1 * t2835 + 0.8e1 / 0.9e1 * t2839 - 0.2e1 / 0.3e1 * t2842 + t2846; + const double t2848 = t1156 * t2847; + const double t2853 = t330 * t336 * t339; + const double t2854 = t340 * t1040; + const double t2855 = t1090 * t960; + const double t2856 = t2855 * t1061; + const double t2857 = t2854 * t2856; + const double t2860 = t302 * t323; + const double t2861 = t2860 * t2856; + const double t2864 = t105 * t105; + const double t2865 = 0.1e1 / t2864; + const double t2867 = t2865 * t726 + t727; + const double t2868 = t2867 * t726; + const double t2870 = 0.44286352009183217952e1 * t2762; + const double t2871 = 0.88572704018366435904e1 * t2765; + const double t2872 = 0.88572704018366435904e1 * t2769; + const double t2873 = 0.44286352009183217952e1 * t2794; + const double t2874 = 0.22143176004591608976e1 * t2805; + const double t2875 = 0.44286352009183217952e1 * t2806; + const double t2876 = 0.44286352009183217952e1 * t2812; + const double t2877 = 0.22143176004591608976e1 * t2826; + const double t2878 = t709 * t720; + const double t2879 = 0.29524234672788811968e1 * t2878; + const double t2880 = t709 * t723; + const double t2881 = 0.98414115575962706562e0 * t2880; + const double t2882 = t96 * t1096; + const double t2884 = t2882 * t101 * t2833; + const double t2885 = t94 * t2884; + const double t2888 = t712 * t339 * t718; + const double t2889 = t94 * t2888; + const double t2892 = t712 * t101 * t2743; + const double t2893 = t94 * t2892; + const double t2895 = t94 * t2844; + const double t2896 = 0.82011762979968922135e0 * t2895; + const double t2897 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t711 - t2879 - t2881 + 0.44286352009183217952e1 * t2885 + 0.19682823115192541312e1 * t2889 - 0.14762117336394405984e1 * t2893 + t2896; + const double t2898 = t667 * t2897; + const double t2900 = 0.4e1 / 0.3e1 * t2878; + const double t2901 = 0.4e1 / 0.9e1 * t2880; + const double t2905 = 0.1e2 / 0.27e2 * t2895; + const double t2906 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t730 - t2900 - t2901 + 0.2e1 * t2885 + 0.8e1 / 0.9e1 * t2889 - 0.2e1 / 0.3e1 * t2893 + t2905; + const double t2909 = t733 * t733; + const double t2910 = t109 * t109; + const double t2911 = 0.1e1 / t2910; + const double t2916 = t112 * t112; + const double t2917 = 0.1e1 / t2916; + const double t2921 = t213 * t166; + const double t2922 = 0.1e1 / t2921; + const double t2923 = t225 * t2922; + const double t2924 = t758 * t758; + const double t2925 = t229 * t2924; + const double t2928 = t823 * t2924; + const double t2931 = t741 * t116; + const double t2932 = t2931 * t755; + const double t2933 = 0.4e1 * t2932; + const double t2934 = t755 * t755; + const double t2935 = t129 * t2934; + const double t2937 = t316 * t46; + const double t2941 = t98 * t750; + const double t2943 = t744 * t2941 * t718; + const double t2949 = 0.1e1 / t28 / t650; + const double t2951 = t31 * t45 * t2949; + const double t2952 = 0.4e1 / 0.27e2 * t2951; + const double t2954 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t2833 + 0.2e1 / 0.9e1 * t2943 - t744 * t745 * t2743 / 0.3e1 + t2952 ); + const double t2955 = t743 * t2954; + const double t2957 = t2763 + t2766 - t2770 + t2795 + t2805 - t2807 + t2813 - t2826 + t742 + t2933 + 0.2e1 * t2935 + 0.2e1 * t2955; + const double t2961 = t155 * t187; + const double t2965 = t2957 * t152 - 0.2e1 * t2924 * t167 + 0.2e1 * t2961 * t2924 - t861 * t2957; + const double t2966 = t2965 * t164; + const double t2969 = t954 * t122; + const double t2972 = t889 * t816; + const double t2977 = t856 * t2924; + const double t2980 = t839 * t122; + const double t2981 = t2980 * t2924; + const double t2985 = 0.1e1 / t133 / t132; + const double t2986 = t912 * t2985; + const double t2987 = t786 * t786; + const double t2988 = t2986 * t2987; + const double t2991 = t817 * t228; + const double t2993 = t124 * t758 * t755; + const double t2996 = t227 * t822; + const double t2999 = t833 * t209; + const double t3000 = t139 * t758; + const double t3001 = t3000 * t755; + const double t3004 = t208 * t839; + const double t3007 = t852 * t182; + const double t3008 = t804 * t758; + const double t3014 = t116 * t2934; + const double t3018 = t119 * t2934; + const double t3020 = t121 * t2954; + const double t3022 = t122 * t2934; + const double t3027 = ( 0.17059169152930056821e1 * t2954 - 0.24973623243864237938e2 * t3014 - 0.12486811621932118969e2 * t118 * t2954 + 0.84348740697389298e2 * t3018 + 0.210871851743473245e2 * t3020 - 0.44839537976659010655e2 * t3022 - 0.74732563294431684425e1 * t139 * t2954 ) * M_PI; + const double t3034 = 0.15133340850935852204e0 * t2923 * t2925 + 0.18160009021123022644e0 * t817 * t2928 + 0.5080572e0 * t2966 * t147 + 0.12e2 * t2969 * t755 - 0.60533363403743408814e-1 * t2972 * t818 + 0.5080572e0 * t864 * t758 - 0.69770380476931481098e0 * t852 * t2977 - 0.3488519023846574055e0 * t181 * t2981 - t127 * t2988 / 0.8e1 - 0.48426690722994727052e0 * t2991 * t2993 - 0.36320018042246045288e0 * t2996 * t2993 - 0.1282113962288516147e0 * t2999 * t3001 - 0.91579568734894010499e-1 * t3004 * t3001 + 0.232567934923104937e1 * t3007 * t3008 + 0.3e1 * t798 * t2954 + t3027 * t134 / 0.2e1 + 0.14761462390439818199e1 * t795 * t2954 + 0.5079873114034015574e0 * t789 * t2957; + const double t3035 = t863 * t192; + const double t3036 = t147 * t758; + const double t3043 = t210 * t2957; + const double t3046 = t827 * t2954; + const double t3049 = t774 * t832; + const double t3052 = 0.88572704018366435904e1 * t2932; + const double t3055 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877 + t784 + t3052 + 0.44286352009183217952e1 * t2935 + 0.44286352009183217952e1 * t2955; + const double t3056 = t914 * t3055; + const double t3061 = t913 * t134; + const double t3064 = t3061 * t786 + t912 * t786; + const double t3065 = t3064 * t913; + const double t3066 = t3065 * t786; + const double t3069 = t741 * t186; + const double t3070 = t3069 * t764; + const double t3071 = 0.65022612931984162108e3 * t3070; + const double t3072 = t867 * t758; + const double t3073 = 0.16255653232996040527e3 * t3072; + const double t3074 = t129 * t166; + const double t3075 = t155 * t2924; + const double t3080 = t155 * t2957; + const double t3088 = t166 * t222; + const double t3091 = t186 * t886; + const double t3106 = 0.13168842624e4 * t2932; + const double t3109 = -0.1458e4 * t2924 - 0.1458e4 * t3080 + 0.6584421312e3 * t2762 + 0.13168842624e4 * t2765 - 0.13168842624e4 * t2769 + 0.6584421312e3 * t2794 + 0.3292210656e3 * t2805 - 0.6584421312e3 * t2806 + 0.6584421312e3 * t2812 - 0.3292210656e3 * t2826 + t884 + t3106 + 0.6584421312e3 * t2935 + 0.6584421312e3 * t2955; + const double t3112 = t869 + t3071 + t3073 + 0.97533919397976243162e3 * t3074 * t3075 + 0.65022612931984162108e3 * t870 * t2924 + 0.32511306465992081054e3 * t870 * t3080 + 0.81278266164980202635e2 * t214 * t2957 + 0.20308706906259249944e2 * t3075 + 0.10154353453129624972e2 * t191 * t2957 + 0.100821516374592e0 * t3088 * t2924 + 0.67214344249728e-1 * t3091 * t758 + 0.33607172124864e-1 * t877 * t2957 + 0.8401793031216e-2 * t213 * t3109; + const double t3113 = t3112 * t226; + const double t3116 = t181 * t209; + const double t3119 = t922 * t118; + const double t3122 = t160 * t755; + const double t3125 = t934 * t782; + const double t3127 = t941 * t119; + const double t3136 = -0.5080572e0 * t3035 * t3036 - 0.73807311952199090995e0 * t792 * t2957 - 0.13082795533556287214e-1 * t775 * t841 - 0.91579568734894010498e-2 * t833 * t3043 + 0.60533363403743408814e-1 * t227 * t3046 - 0.183159137469788021e-1 * t3049 * t834 + t127 * t3056 / 0.4e1 + t809 * t915 / 0.2e1 + t127 * t3066 / 0.4e1 + 0.75666704254679261017e-2 * t3113 * t229 + 0.1395407609538629622e1 * t3116 * t3008 + 0.6e1 * t3119 * t755 + 0.10159746228068031148e1 * t3122 * t758 - t3125 * t786 + 0.8e1 * t3127 * t755 - t783 * t3055 / 0.2e1 + 0.6e1 * t812 * t2954 + 0.4e1 * t778 * t2954; + const double t3139 = t132 * t132; + const double t3140 = 0.1e1 / t3139; + const double t3142 = t3140 * t786 + t782 * t786; + const double t3143 = t143 * t3142; + const double t3146 = t162 * t116; + const double t3149 = t187 * t118; + const double t3152 = t195 * t121; + const double t3155 = t169 * t118; + const double t3158 = t180 * t116; + const double t3163 = t840 * t2957; + const double t3166 = t182 * t119; + const double t3167 = t3166 * t2934; + const double t3170 = t179 * t832; + const double t3171 = t183 * t2924; + const double t3174 = t821 * t155; + const double t3175 = 0.1e1 / t3174; + const double t3176 = t3175 * t141; + const double t3177 = t3176 * t2924; + const double t3180 = t228 * t139; + const double t3181 = t3180 * t2934; + const double t3185 = 0.1e1 / t148 / t815; + const double t3186 = t206 * t3185; + const double t3187 = t210 * t2924; + const double t3190 = t840 * t2924; + const double t3194 = 0.1e1 / t156 / t821; + const double t3195 = t3194 * t124; + const double t3196 = t3195 * t2924; + const double t3199 = t856 * t2934; + const double t3202 = t816 * t2924; + const double t3214 = 0.15943086723305958463e3 * t2762 + 0.31886173446611916926e3 * t2765 - 0.31886173446611916926e3 * t2769 + 0.15943086723305958463e3 * t2794 + 0.79715433616529792314e2 * t2805 - 0.15943086723305958463e3 * t2806 + 0.15943086723305958463e3 * t2812 - 0.79715433616529792314e2 * t2826; + const double t3217 = t948 * t228; + const double t3220 = t190 * t822; + const double t3225 = 0.30103061542585260236e1 * t3202 - 0.75257653856463150591e0 * t226 * t2957 + 0.7715016088131e-2 * t3214 * t192 - 0.30860064352524e-1 * t3217 * t758 + 0.46290096528786e-1 * t3220 * t2924 - 0.15430032176262e-1 * t951 * t2957; + const double t3227 = t183 * t2957; + const double t3230 = -t3143 * t786 / 0.2e1 + 0.6e1 * t3146 * t2934 + 0.14761462390439818199e1 * t3149 * t2924 + 0.3e2 * t3152 * t2934 + 0.12e2 * t3155 * t2934 - 0.7619809671051023361e0 * t3158 * t2924 + 0.366318274939576042e-1 * t775 * t845 - 0.6541397766778143607e-2 * t208 * t3163 - 0.18605434793848394959e1 * t181 * t3167 - 0.81398777223086727946e0 * t3170 * t3171 + 0.9080004510561511322e-1 * t227 * t3177 + 0.4237335438262038617e0 * t227 * t3181 + 0.41210805930702304724e-1 * t3186 * t3187 + 0.45789784367447005248e-1 * t833 * t3190 + 0.22894892183723502624e-1 * t208 * t3196 + 0.1098954824818728126e0 * t208 * t3199 + t3225 * t139 + 0.23256793492310493699e0 * t852 * t3227; + const double t3231 = t848 * t2954; + const double t3234 = t906 * t207; + const double t3237 = t844 * t2954; + const double t3244 = t823 * t2957; + const double t3249 = t229 * t2957; + const double t3252 = t856 * t2957; + const double t3257 = t167 * t116; + const double t3258 = t758 * t755; + const double t3267 = t187 * t2957; + const double t3269 = -0.218660588126010225e1 * t228 * t2924 + 0.1093302940630051125e1 * t192 * t2957 + 0.29624556307641067223e1 * t226 * t2924 - 0.98748521025470224076e0 * t3267; + const double t3276 = t118 * t2934; + const double t3278 = t119 * t2954; + const double t3280 = t121 * t2934; + const double t3286 = t124 * t2954; + const double t3288 = 0.65373131959333695e1 * t2934 + 0.65373131959333695e1 * t116 * t2954 - 0.58102078657701102111e2 * t3276 - 0.19367359552567034037e2 * t3278 + 0.8170909705759698165e2 * t3280 + 0.1634181941151939633e2 * t122 * t2954 - 0.11493763593521941685e2 * t139 * t2934 - 0.16419662276459916693e1 * t3286; + const double t3299 = 0.18591590853463565788e1 * t209 * t2924 - 0.12394393902309043859e1 * t182 * t2957 - 0.20990203539014021192e1 * t207 * t2924 + 0.83960814156056084769e0 * t180 * t2957; + const double t3305 = t159 * t203; + const double t3308 = t171 * t771; + const double t3323 = 0.243867456e2 * t2932; + const double t3326 = 0.54e2 * t2924 + 0.54e2 * t3080 - 0.121933728e2 * t2762 - 0.243867456e2 * t2765 + 0.243867456e2 * t2769 - 0.121933728e2 * t2794 - 0.60966864e1 * t2805 + 0.121933728e2 * t2806 - 0.121933728e2 * t2812 + 0.60966864e1 * t2826 - t769 - t3323 - 0.121933728e2 * t2935 - 0.121933728e2 * t2955; + const double t3329 = -0.1573689609226455711e3 * t156 * t2924 - 0.1049126406150970474e3 * t177 * t2957 + 0.315e3 / 0.4e1 * t3305 * t2924 + 0.63e2 * t3308 * t758 + 0.63e2 / 0.2e1 * t761 * t2957 + 0.9e1 * t199 * t3326; + const double t3330 = t3329 * t207; + const double t3333 = t148 * t174; + const double t3336 = t159 * t901; + const double t3349 = 0.36e2 * t2932; + const double t3352 = 0.18e2 * t2762 + 0.36e2 * t2765 - 0.36e2 * t2769 + 0.18e2 * t2794 + 0.9e1 * t2805 - 0.18e2 * t2806 + 0.18e2 * t2812 - 0.9e1 * t2826 + t899 + t3349 + 0.18e2 * t2935 + 0.18e2 * t2955; + const double t3355 = t157 * t2924; + const double t3359 = 0.45e2 / 0.4e1 * t3333 * t2924 + 0.15e2 * t3336 * t758 + 0.15e2 / 0.2e1 * t893 * t2957 + 0.3e1 * t171 * t3352 + 0.309746542166208e1 * t3355 + 0.619493084332416e1 * t156 * t2957; + const double t3360 = t3359 * t180; + const double t3365 = -0.46513586984620987398e0 * t181 * t3231 + 0.46513586984620987398e0 * t3234 * t853 + 0.183159137469788021e-1 * t208 * t3237 - 0.93027173969241974796e0 * t907 * t849 + 0.12106672680748681763e0 * t890 * t828 - 0.22700011276403778305e-1 * t227 * t3244 - 0.4540002255280755661e-1 * t890 * t824 - 0.30266681701871704407e-1 * t817 * t3249 + 0.1395407609538629622e0 * t181 * t3252 + 0.2790815219077259244e0 * t907 * t857 - 0.29522924780879636398e1 * t3257 * t3258 + t3269 * t121 - 0.10159746228068031148e1 * t149 * t2954 - t3288 * t144 / 0.2e1 + t3299 * t119 + 0.26165591067112574428e-2 * t3330 * t210 - 0.93027173969241974797e-1 * t3360 * t183 + 0.14761462390439818199e1 * t152 * t2934; + const double t3368 = piecewise_functor_3( t50, 0.5080572e0 * t2868 + 0.5080572e0 * t2898 - 0.5080572e0 * t2906 * t734 + 0.5080572e0 * t2909 * t2911 + 0.5080572e0 * t2906 * t737 - 0.5080572e0 * t2909 * t2917, t3034 + t3136 + t3230 + t3365 ); + const double t3370 = t34 * t316; + const double t3371 = t31 * t3370; + const double t3372 = t308 * t2833; + const double t3377 = t1045 * t1050 * t1046; + const double t3379 = t960 * t960; + const double t3380 = t342 * t3379; + const double t3384 = -0.8e2 / 0.81e2 * t1134 * t1147 * t1135 - 0.4e2 / 0.81e2 * t1134 * t341 * t2744 + 0.8e2 / 0.81e2 * t2749 + 0.2e3 / 0.243e3 * t2752 - 0.16e2 / 0.27e2 * t337 * t1147 * t1152 - 0.4e2 / 0.81e2 * t337 * t1147 * t1157 - 0.8e1 / 0.27e2 * t337 * t341 * t2828 - 0.2e2 / 0.81e2 * t337 * t341 * t2848 + 0.4e2 / 0.27e2 * t2853 * t2857 + 0.5e1 / 0.27e2 * t48 * t2861 - 0.8e1 / 0.9e1 * t3368 + 0.2e1 / 0.27e2 * t3371 * t303 * t3372 + 0.2e1 / 0.81e2 * t3377 + 0.2e1 / 0.27e2 * t289 * t303 * t3380; + const double t3385 = t294 * t294; + const double t3387 = 0.1e1 / t305 / t3385; + const double t3388 = t304 * t3387; + const double t3389 = t1061 * t1061; + const double t3390 = t3388 * t3389; + const double t3395 = 0.1e1 / t333 / t315; + const double t3396 = t332 * t3395; + const double t3397 = t330 * t3396; + const double t3398 = t342 * t2833; + const double t3403 = t330 * t1133 * t339; + const double t3404 = t1100 * t960; + const double t3405 = t2854 * t3404; + const double t3408 = t340 * t286; + const double t3409 = t1090 * t718; + const double t3410 = t3409 * t1061; + const double t3411 = t3408 * t3410; + const double t3414 = t750 * t1079; + const double t3416 = t289 * t3414 * t308; + const double t3418 = 0.17158991333333333333e0 * t2845; + const double t3419 = t293 * t2760; + const double t3420 = t3419 * t245; + const double t3423 = t74 * t1034; + const double t3424 = t3423 * t683; + const double t3434 = t1061 * t74; + const double t3435 = t3434 * t970; + const double t3437 = -t3418 - 0.926585532e0 * t3420 + 0.1853171064e1 * t2769 + 0.6e2 * t3424 - 0.1853171064e1 * t2765 - 0.926585532e0 * t2794 + 0.926585532e0 * t2806 - 0.926585532e0 * t2812 - 0.926585532e0 * t2762 - 0.463292766e0 * t2805 - 0.297366688e1 * t293 * t2847 - 0.1853171064e1 * t3435; + const double t3438 = t978 * t683; + const double t3439 = t1072 * t3438; + const double t3441 = t245 * t2792; + const double t3442 = t1072 * t3441; + const double t3444 = t981 * t2792; + const double t3451 = t2760 * t282; + const double t3455 = t692 * t697; + const double t3458 = t79 * t2809; + const double t3463 = 0.64753871e1 * t2803 * t87 - 0.129507742e2 * t3455 * t703 + 0.129507742e2 * t3458 * t2810 - 0.64753871e1 * t975 * t2824; + const double t3465 = t978 * t74; + const double t3472 = 0.2e1 * t245 * t2760 + 0.2e1 * t985 * t2792 + t3463 * t75 + 0.4e1 * t3465 * t683; + const double t3480 = t238 * t2827; + const double t3487 = t250 * ( -0.463292766e0 * t3472 * t238 - 0.926585532e0 * t988 * t960 - 0.463292766e0 * t252 * t2827 - 0.297366688e1 * t3379 - 0.297366688e1 * t3480 + 0.487734912e2 * t238 * t3379 + 0.243867456e2 * t239 * t2827 ); + const double t3492 = t1000 * t238; + const double t3494 = 0.1e1 / t260 / t3492; + const double t3495 = t3494 * t3379; + const double t3498 = t1002 * t2827; + const double t3501 = t2870 + t2871 - t2872 + t2873 + t2874 - t2875 + t2876 - t2877; + const double t3502 = t3501 * t265; + const double t3503 = t3502 * t269; + const double t3505 = t1006 * t1006; + const double t3506 = t3505 * t265; + const double t3509 = t1010 * t1012; + const double t3510 = t3509 * t960; + const double t3513 = -t1006; + const double t3514 = t265 * t3513; + const double t3518 = 0.1e1 / t266 / t88; + const double t3526 = ( t3487 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t997 * t1003 + 0.63e2 / 0.64e2 * t259 * t3495 - 0.7e1 / 0.32e2 * t259 * t3498 - 0.23751029502456895713e1 * t3503 - 0.23751029502456895713e1 * t3506 * t269 + 0.39880211645374110616e1 * t1007 * t3510 + 0.19940105822687055308e1 * t3514 * t3510 - 0.9970052911343527654e0 * t1011 * t3518 * t3379 + 0.19940105822687055308e1 * t1011 * t1012 * t2827 ) * t273; + const double t3533 = 0.1e1 / t77; + const double t3534 = t3533 * t261; + const double t3535 = t3534 * t2760; + const double t3538 = t274 * t1020; + const double t3539 = t1025 * t683; + const double t3540 = t3539 * t960; + const double t3543 = t1021 * t2792; + const double t3546 = t260 * t238; + const double t3547 = t275 * t3546; + const double t3548 = t3547 * t3379; + const double t3551 = t1026 * t2827; + const double t3560 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t3526 * t276 + 0.64e2 / 0.15e2 * t1017 * t1022 - 0.112e3 / 0.15e2 * t1017 * t1027 - 0.32e2 / 0.5e1 * t274 * t3535 + 0.224e3 / 0.15e2 * t3538 * t3540 + 0.32e2 / 0.15e2 * t274 * t3543 - 0.28e2 / 0.3e1 * t274 * t3548 - 0.56e2 / 0.15e2 * t274 * t3551, -0.14235295576e0 * t2760 - 0.14235295576e0 * t2797 + 0.102414495876e1 * t2799 + 0.34138165292e0 * t2801 ); + const double t3561 = t75 * t3560; + const double t3563 = t298 * t3463; + const double t3565 = t2847 * t75; + const double t3566 = t3565 * t245; + const double t3568 = t1069 * t978; + const double t3570 = -0.1853171064e1 * t3439 - 0.926585532e0 * t3442 + 0.3e2 * t3444 + 0.463292766e0 * t2826 - 0.926585532e0 * t2835 - 0.411815792e0 * t2839 + 0.308861844e0 * t2842 - 0.297366688e1 * t3389 + 0.3e2 * t3451 + 0.15e2 * t3561 - 0.463292766e0 * t3563 - 0.463292766e0 * t3566 - 0.926585532e0 * t3568; + const double t3571 = t3437 + t3570; + const double t3572 = t46 * t3571; + const double t3576 = t1115 * t323; + const double t3577 = t3576 * t1100; + const double t3580 = t307 * t2743; + const double t3581 = t1099 * t3580; + const double t3584 = t316 * t651; + const double t3585 = t314 * t3584; + const double t3586 = t3585 * t1124; + const double t3588 = t1037 * t1040; + const double t3591 = t335 * t8; + const double t3592 = t314 * t3591; + const double t3593 = t307 * t2833; + const double t3594 = t1099 * t3593; + const double t3597 = t1096 * t651; + const double t3598 = t314 * t3597; + const double t3599 = t3598 * t1101; + const double t3601 = t321 * t1040; + const double t3602 = t307 * t3379; + const double t3603 = t3601 * t3602; + const double t3606 = t3387 * t3389; + const double t3607 = t1099 * t3606; + const double t3611 = 0.1e1 / t100 / t2703; + const double t3612 = t3611 * t340; + const double t3615 = 0.32e3 / 0.729e3 * t337 * t3612 * t342; + const double t3616 = 0.35e2 / 0.108e3 * t289 * t303 * t3390 + 0.8e2 / 0.27e2 * t3397 * t341 * t3398 + 0.8e2 / 0.27e2 * t3403 * t3405 + 0.2e3 / 0.81e2 * t3403 * t3411 - 0.2e1 / 0.81e2 * t3416 + t289 * t3572 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t3577 - 0.4e1 / 0.9e1 * t1098 * t3581 + 0.16e2 / 0.27e2 * t3586 + 0.8e1 / 0.3e1 * t3588 * t960 + 0.16e2 / 0.9e1 * t3592 * t3594 + 0.8e1 / 0.9e1 * t3599 + 0.8e1 / 0.9e1 * t1121 * t3603 + 0.35e2 / 0.27e2 * t1121 * t3607 + t3615; + const double t3618 = 0.1e1 / t3492; + const double t3619 = t285 * t3618; + const double t3625 = t1134 * t1141 * t1135; + const double t3627 = t3618 * t307; + const double t3628 = t3627 * t3379; + const double t3632 = t286 * t3387; + const double t3633 = t3632 * t3389; + const double t3640 = t308 * t2743; + const double t3645 = t289 * t1050 * t1084; + const double t3648 = t289 * t1050 * t1092; + const double t3656 = t324 * t2827; + const double t3660 = t1091 * t2847; + const double t3664 = t1122 * t3404; + const double t3667 = t1099 * t3410; + const double t3670 = -0.16e2 / 0.3e1 * t3619 * t3379 + 0.4e1 / 0.3e1 * t1041 * t2827 + 0.4e3 / 0.243e3 * t3625 + 0.32e2 / 0.27e2 * t337 * t341 * t3628 + 0.7e2 / 0.81e2 * t337 * t341 * t3633 - 0.2e1 / 0.27e2 * t1045 * t1080 * t1046 - t1045 * t303 * t3640 / 0.27e2 + 0.2e1 / 0.81e2 * t3645 + 0.5e1 / 0.81e2 * t3648 - 0.2e1 / 0.27e2 * t289 * t1080 * t1084 - 0.5e1 / 0.27e2 * t289 * t1080 * t1092 - t289 * t303 * t3656 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t303 * t3660 + 0.16e2 / 0.9e1 * t1098 * t3664 + 0.2e2 / 0.9e1 * t1098 * t3667; + const double t3671 = t1122 * t2856; + const double t3674 = t3585 * t1128; + const double t3676 = t1115 * t286; + const double t3677 = t3676 * t1123; + const double t3680 = t3576 * t1127; + const double t3683 = t307 * t2827; + const double t3684 = t1122 * t3683; + const double t3687 = t1090 * t2847; + const double t3688 = t1099 * t3687; + const double t3691 = t1140 * t1146; + const double t3693 = t337 * t3691 * t342; + const double t3698 = 0.2e1 * t3451 + 0.4e1 * t3424 + 0.2e1 * t3444 + t3561; + const double t3699 = t339 * t3698; + const double t3703 = t2949 * t302; + const double t3706 = 0.4e1 / 0.243e3 * t289 * t3703 * t308; + const double t3710 = 0.8e1 / 0.27e2 * t317 * t2704 * t321 * t324; + const double t3713 = t317 * t651 * t1115 * t324; + const double t3715 = 0.154430922e0 * t2762; + const double t3716 = 0.308861844e0 * t2765; + const double t3717 = 0.154430922e0 * t2794; + const double t3718 = 0.154430922e0 * t2806; + const double t3719 = 0.77215461e-1 * t2826; + const double t3720 = 0.308861844e0 * t2769; + const double t3721 = 0.154430922e0 * t2812; + const double t3722 = 0.77215461e-1 * t2805; + const double t3726 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 - 0.77215461e-1 * t3563 - 0.77215461e-1 * t3566 - 0.154430922e0 * t3568; + const double t3738 = 0.28598318888888888888e-1 * t2845; + const double t3739 = -0.308861844e0 * t3435 - 0.154430922e0 * t3420 - 0.308861844e0 * t3439 - 0.154430922e0 * t3442 + 0.5e1 * t3561 + 0.1e2 * t3444 + 0.1e2 * t3451 + 0.2e2 * t3424 - 0.154430922e0 * t2835 - 0.68635965333333333333e-1 * t2839 + 0.51476974e-1 * t2842 - t3738; + const double t3740 = t3726 + t3739; + const double t3746 = t31 * t1044 * t46; + const double t3747 = t302 * t304; + const double t3748 = t3747 * t3410; + const double t3760 = t2827 * t75; + const double t3767 = t960 * t74; + const double t3770 = t238 * t2760; + const double t3775 = -0.74341672e0 * t3379 + 0.4e1 * t3444 - 0.77215461e-1 * t242 * t3463 + 0.4e1 * t3451 + 0.8e1 * t3424 - 0.77215461e-1 * t3760 * t245 - 0.154430922e0 * t966 * t978 - 0.154430922e0 * t969 * t3441 - 0.308861844e0 * t3767 * t970 - 0.154430922e0 * t3770 * t245 - 0.308861844e0 * t969 * t3438; + const double t3776 = -t3715 - t3716 - t3717 + t3718 + t3719 + t3720 - t3721 - t3722 + 0.2e1 * t3561 - 0.74341672e0 * t3480 + t3775; + const double t3779 = t2860 * t3404; + const double t3782 = 0.4e2 / 0.27e2 * t1121 * t3671 + 0.2e2 / 0.27e2 * t3674 - 0.16e2 / 0.27e2 * t1121 * t3677 - 0.2e2 / 0.27e2 * t1121 * t3680 - 0.8e1 / 0.27e2 * t1121 * t3684 - 0.1e2 / 0.27e2 * t1121 * t3688 - 0.8e2 / 0.243e3 * t3693 + 0.8e1 / 0.81e2 * t337 * t3699 * t342 + t3706 + t3710 - 0.8e1 / 0.27e2 * t3713 + 0.4e1 / 0.27e2 * t317 * t8 * t3740 * t324 + 0.5e1 / 0.27e2 * t3746 * t3748 - 0.4e1 / 0.9e1 * t3776 * t286 + 0.2e1 / 0.27e2 * t3746 * t3779; + const double t3784 = t3384 + t3616 + t3670 + t3782; + const double t3789 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t2713 * t346 - t2719 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t658 * t1161 + t2727 - t2729 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t3784 ); + const double t3790 = t357 * t357; + const double t3791 = 0.1e1 / t3790; + const double t3792 = t1169 * t1169; + const double t3795 = t352 * t2704; + const double t3798 = piecewise_functor_5( t16, 0.0, t12, 0.0, 0.2e1 * t651 + 0.2e1 * t3795 ); + const double t3802 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t3792 + 0.4e1 / 0.3e1 * t357 * t3798 ); + const double t3803 = t3802 * t28; + const double t3807 = t1172 * t101; + const double t3809 = t6 * t3807 * t645; + const double t3814 = t359 * t339; + const double t3817 = t6 * t3814 * t645 / 0.12e2; + const double t3819 = t6 * t1177 * t1498; + const double t3823 = t623 * t651 * t1470 * t630; + const double t3825 = t1449 * t1195; + const double t3826 = t3825 * t1434; + const double t3827 = t1458 * t3826; + const double t3831 = 0.1e1 / t1189 / t362; + const double t3832 = t1192 * t1192; + const double t3836 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t2707 ); + const double t3840 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t3832 + t1190 * t3836 / 0.3e1 ); + const double t3841 = t641 * t3840; + const double t3846 = t638 * t1489 * t1494; + const double t3848 = t1455 * t101; + const double t3849 = t1195 * t1195; + const double t3851 = t1054 * t3848 * t3849; + const double t3853 = t622 * t339; + const double t3855 = t1054 * t3853 * t1195; + const double t3858 = t1054 * t1428 * t3840; + const double t3860 = t414 * t1140; + const double t3861 = t290 * t3860; + const double t3862 = 0.1e2 / 0.27e2 * t3861; + const double t3863 = 0.2e1 * t3851 + 0.8e1 / 0.9e1 * t3855 - 0.2e1 / 0.3e1 * t3858 + t3862; + const double t3864 = t1493 * t3863; + const double t3868 = t418 * t418; + const double t3869 = 0.1e1 / t3868; + const double t3871 = t3869 * t1203 + t1204; + const double t3872 = t3871 * t1203; + const double t3874 = t1185 * t1197; + const double t3875 = 0.29524234672788811968e1 * t3874; + const double t3876 = t1185 * t1200; + const double t3877 = 0.98414115575962706562e0 * t3876; + const double t3878 = t96 * t1455; + const double t3880 = t3878 * t101 * t3849; + const double t3881 = t411 * t3880; + const double t3884 = t1188 * t339 * t1195; + const double t3885 = t411 * t3884; + const double t3888 = t1188 * t101 * t3840; + const double t3889 = t411 * t3888; + const double t3891 = t411 * t3860; + const double t3892 = 0.82011762979968922135e0 * t3891; + const double t3893 = t1187 - t3875 - t3877 + 0.44286352009183217952e1 * t3881 + 0.19682823115192541312e1 * t3885 - 0.14762117336394405984e1 * t3889 + t3892; + const double t3894 = t1182 * t3893; + const double t3896 = 0.4e1 / 0.3e1 * t3874; + const double t3897 = 0.4e1 / 0.9e1 * t3876; + const double t3901 = 0.1e2 / 0.27e2 * t3891; + const double t3902 = t1206 - t3896 - t3897 + 0.2e1 * t3881 + 0.8e1 / 0.9e1 * t3885 - 0.2e1 / 0.3e1 * t3889 + t3901; + const double t3905 = t1209 * t1209; + const double t3906 = t422 * t422; + const double t3907 = 0.1e1 / t3906; + const double t3912 = t425 * t425; + const double t3913 = 0.1e1 / t3912; + const double t3921 = t1309 * t447; + const double t3924 = t1308 * t1288 + t3921 * t1288; + const double t3925 = t3924 * t1309; + const double t3926 = t3925 * t1288; + const double t3929 = t1218 * t429; + const double t3930 = t3929 * t1229; + const double t3931 = 0.88572704018366435904e1 * t3930; + const double t3932 = t1229 * t1229; + const double t3933 = t442 * t3932; + const double t3935 = t622 * t46; + const double t3939 = t413 * t750; + const double t3941 = t744 * t3939 * t1195; + const double t3947 = t31 * t367 * t2949; + const double t3948 = 0.4e1 / 0.27e2 * t3947; + const double t3950 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t3849 + 0.2e1 / 0.9e1 * t3941 - t744 * t1221 * t3840 / 0.3e1 + t3948 ); + const double t3951 = t1220 * t3950; + const double t3953 = t1286 + t3931 + 0.44286352009183217952e1 * t3933 + 0.44286352009183217952e1 * t3951; + const double t3954 = t1310 * t3953; + const double t3957 = 0.4e1 * t3930; + const double t3960 = t1219 + t3957 + 0.2e1 * t3933 + 0.2e1 * t3951; + const double t3961 = t496 * t3960; + const double t3966 = t1314 * t495; + const double t3967 = t434 * t1232; + const double t3968 = t3967 * t1229; + const double t3971 = t494 * t522; + const double t3975 = 0.1e1 / t469 / t1349; + const double t3976 = t3975 * t437; + const double t3977 = t1232 * t1232; + const double t3978 = t3976 * t3977; + const double t3981 = t1319 * t3932; + const double t3984 = t526 * t479; + const double t3985 = 0.1e1 / t3984; + const double t3986 = t538 * t3985; + const double t3987 = t542 * t3977; + const double t3990 = t1351 * t3977; + const double t3993 = t1349 * t468; + const double t3994 = 0.1e1 / t3993; + const double t3995 = t3994 * t454; + const double t3996 = t3995 * t3977; + const double t3999 = t541 * t452; + const double t4000 = t3999 * t3932; + const double t4004 = 0.1e1 / t446 / t445; + const double t4005 = t1308 * t4004; + const double t4006 = t1288 * t1288; + const double t4007 = t4005 * t4006; + const double t4010 = t492 * t1328; + const double t4011 = t496 * t3977; + const double t4014 = t1319 * t3977; + const double t4017 = t1334 * t435; + const double t4018 = t4017 * t3977; + const double t4021 = 0.12106672680748681763e0 * t1411 * t1356 + t1280 * t1311 / 0.2e1 + t440 * t3926 / 0.4e1 + t440 * t3954 / 0.4e1 + 0.23256793492310493699e0 * t1314 * t3961 - t1285 * t3953 / 0.2e1 + 0.232567934923104937e1 * t3966 * t3968 + 0.1395407609538629622e1 * t3971 * t3968 + 0.22894892183723502624e-1 * t521 * t3978 + 0.1098954824818728126e0 * t521 * t3981 + 0.15133340850935852204e0 * t3986 * t3987 + 0.18160009021123022644e0 * t1345 * t3990 + 0.9080004510561511322e-1 * t540 * t3996 + 0.4237335438262038617e0 * t540 * t4000 - t440 * t4007 / 0.8e1 - 0.81398777223086727946e0 * t4010 * t4011 - 0.69770380476931481098e0 * t1314 * t4014 - 0.3488519023846574055e0 * t494 * t4018; + const double t4022 = t495 * t432; + const double t4023 = t4022 * t3932; + const double t4027 = 0.1e1 / t461 / t1343; + const double t4028 = t519 * t4027; + const double t4029 = t523 * t3977; + const double t4032 = t1335 * t3977; + const double t4035 = t1319 * t3960; + const double t4038 = t1323 * t3950; + const double t4041 = t523 * t3960; + const double t4044 = t1335 * t3960; + const double t4047 = t1339 * t3950; + const double t4050 = t542 * t3960; + const double t4053 = t1351 * t3960; + const double t4056 = t1355 * t3950; + const double t4059 = t1242 * t520; + const double t4066 = t1258 * t1328; + const double t4073 = t1410 * t1344; + const double t4076 = -0.18605434793848394959e1 * t494 * t4023 + 0.41210805930702304724e-1 * t4028 * t4029 + 0.45789784367447005248e-1 * t1329 * t4032 + 0.1395407609538629622e0 * t494 * t4035 - 0.46513586984620987398e0 * t494 * t4038 - 0.91579568734894010498e-2 * t1329 * t4041 - 0.6541397766778143607e-2 * t521 * t4044 + 0.183159137469788021e-1 * t521 * t4047 - 0.30266681701871704407e-1 * t1345 * t4050 - 0.22700011276403778305e-1 * t540 * t4053 + 0.60533363403743408814e-1 * t540 * t4056 + 0.46513586984620987398e0 * t4059 * t1315 + 0.2790815219077259244e0 * t1243 * t1320 - 0.93027173969241974796e0 * t1243 * t1324 - 0.183159137469788021e-1 * t4066 * t1330 - 0.13082795533556287214e-1 * t1259 * t1336 + 0.366318274939576042e-1 * t1259 * t1340 - 0.60533363403743408814e-1 * t4073 * t1346; + const double t4080 = t508 * t434; + const double t4083 = t493 * t429; + const double t4086 = t500 * t431; + const double t4089 = t475 * t429; + const double t4092 = t482 * t431; + const double t4110 = t468 * t500; + const double t4114 = -t1266 * t3960 + t3960 * t465 + 0.2e1 * t4110 * t3977 - 0.2e1 * t3977 * t480; + const double t4115 = t4114 * t477; + const double t4121 = t429 * t3932; + const double t4125 = t432 * t3932; + const double t4129 = t435 * t3932; + const double t4134 = ( 0.17059169152930056821e1 * t3950 - 0.24973623243864237938e2 * t4121 - 0.12486811621932118969e2 * t431 * t3950 + 0.84348740697389298e2 * t4125 + 0.210871851743473245e2 * t434 * t3950 - 0.44839537976659010655e2 * t4129 - 0.74732563294431684425e1 * t452 * t3950 ) * M_PI; + const double t4138 = t445 * t445; + const double t4139 = 0.1e1 / t4138; + const double t4141 = t1284 * t1288 + t4139 * t1288; + const double t4142 = t456 * t4141; + const double t4147 = t1329 * t522; + const double t4148 = t452 * t1232; + const double t4149 = t4148 * t1229; + const double t4152 = -0.4540002255280755661e-1 * t1411 * t1352 + 0.3e2 * t4080 * t3932 - 0.7619809671051023361e0 * t4083 * t3977 + 0.14761462390439818199e1 * t4086 * t3977 + 0.6e1 * t4089 * t3932 + 0.12e2 * t4092 * t3932 + 0.5079873114034015574e0 * t1291 * t3960 - 0.73807311952199090995e0 * t1294 * t3960 + 0.14761462390439818199e1 * t1297 * t3950 + 0.3e1 * t1300 * t3950 + 0.4e1 * t1303 * t3950 + 0.6e1 * t1262 * t3950 + 0.5080572e0 * t4115 * t460 + 0.5080572e0 * t1269 * t1232 + t4134 * t447 / 0.2e1 - t4142 * t1288 / 0.2e1 + 0.14761462390439818199e1 * t465 * t3932 - 0.1282113962288516147e0 * t4147 * t4149; + const double t4153 = t521 * t1334; + const double t4156 = t1345 * t541; + const double t4157 = t437 * t1232; + const double t4158 = t4157 * t1229; + const double t4161 = t540 * t1350; + const double t4164 = t1364 * t435; + const double t4167 = t1374 * t1284; + const double t4169 = t473 * t1229; + const double t4172 = t1383 * t431; + const double t4175 = t1389 * t432; + const double t4178 = t1218 * t499; + const double t4179 = t4178 * t1251; + const double t4180 = 0.65022612931984162108e3 * t4179; + const double t4181 = t1391 * t1232; + const double t4182 = 0.16255653232996040527e3 * t4181; + const double t4183 = t442 * t479; + const double t4184 = t468 * t3977; + const double t4189 = t468 * t3960; + const double t4197 = t479 * t535; + const double t4200 = t499 * t1407; + const double t4207 = 0.13168842624e4 * t3930; + const double t4210 = -0.1458e4 * t3977 - 0.1458e4 * t4189 + t1405 + t4207 + 0.6584421312e3 * t3933 + 0.6584421312e3 * t3951; + const double t4213 = t1393 + t4180 + t4182 + 0.97533919397976243162e3 * t4183 * t4184 + 0.65022612931984162108e3 * t1394 * t3977 + 0.32511306465992081054e3 * t1394 * t4189 + 0.81278266164980202635e2 * t527 * t3960 + 0.20308706906259249944e2 * t4184 + 0.10154353453129624972e2 * t504 * t3960 + 0.100821516374592e0 * t4197 * t3977 + 0.67214344249728e-1 * t4200 * t1232 + 0.33607172124864e-1 * t1401 * t3960 + 0.8401793031216e-2 * t526 * t4210; + const double t4214 = t4213 * t539; + const double t4217 = t1268 * t505; + const double t4218 = t460 * t1232; + const double t4225 = t472 * t516; + const double t4228 = t484 * t1255; + const double t4235 = 0.243867456e2 * t3930; + const double t4238 = 0.54e2 * t3977 + 0.54e2 * t4189 - t1253 - t4235 - 0.121933728e2 * t3933 - 0.121933728e2 * t3951; + const double t4241 = -0.1573689609226455711e3 * t469 * t3977 - 0.1049126406150970474e3 * t490 * t3960 + 0.315e3 / 0.4e1 * t4225 * t3977 + 0.63e2 * t4228 * t1232 + 0.63e2 / 0.2e1 * t1248 * t3960 + 0.9e1 * t512 * t4238; + const double t4242 = t4241 * t520; + const double t4245 = t461 * t487; + const double t4248 = t472 * t1237; + const double t4253 = 0.36e2 * t3930; + const double t4256 = t1235 + t4253 + 0.18e2 * t3933 + 0.18e2 * t3951; + const double t4259 = t470 * t3977; + const double t4263 = 0.45e2 / 0.4e1 * t4245 * t3977 + 0.15e2 * t4248 * t1232 + 0.15e2 / 0.2e1 * t1217 * t3960 + 0.3e1 * t484 * t4256 + 0.309746542166208e1 * t4259 + 0.619493084332416e1 * t469 * t3960; + const double t4264 = t4263 * t493; + const double t4270 = t431 * t3932; + const double t4274 = t434 * t3932; + const double t4282 = 0.65373131959333695e1 * t3932 + 0.65373131959333695e1 * t429 * t3950 - 0.58102078657701102111e2 * t4270 - 0.19367359552567034037e2 * t432 * t3950 + 0.8170909705759698165e2 * t4274 + 0.1634181941151939633e2 * t435 * t3950 - 0.11493763593521941685e2 * t452 * t3932 - 0.16419662276459916693e1 * t437 * t3950; + const double t4295 = 0.18591590853463565788e1 * t522 * t3977 - 0.12394393902309043859e1 * t495 * t3960 - 0.20990203539014021192e1 * t520 * t3977 + 0.83960814156056084769e0 * t493 * t3960; + const double t4303 = t500 * t3960; + const double t4305 = -0.218660588126010225e1 * t541 * t3977 + 0.1093302940630051125e1 * t505 * t3960 + 0.29624556307641067223e1 * t539 * t3977 - 0.98748521025470224076e0 * t4303; + const double t4307 = t1344 * t3977; + const double t4311 = t503 * t1350; + const double t4316 = 0.30103061542585260236e1 * t4307 - 0.75257653856463150591e0 * t539 * t3960 + 0.46290096528786e-1 * t4311 * t3977 - 0.15430032176262e-1 * t1361 * t3960; + const double t4318 = t480 * t429; + const double t4319 = t1232 * t1229; + const double t4322 = -0.91579568734894010499e-1 * t4153 * t4149 - 0.48426690722994727052e0 * t4156 * t4158 - 0.36320018042246045288e0 * t4161 * t4158 + 0.12e2 * t4164 * t1229 - t4167 * t1288 + 0.10159746228068031148e1 * t4169 * t1232 + 0.6e1 * t4172 * t1229 + 0.8e1 * t4175 * t1229 + 0.75666704254679261017e-2 * t4214 * t542 - 0.5080572e0 * t4217 * t4218 + 0.26165591067112574428e-2 * t4242 * t523 - 0.93027173969241974797e-1 * t4264 * t496 - t4282 * t457 / 0.2e1 - 0.10159746228068031148e1 * t462 * t3950 + t4295 * t432 + t4305 * t434 + t4316 * t452 - 0.29522924780879636398e1 * t4318 * t4319; + const double t4325 = piecewise_functor_3( t371, 0.5080572e0 * t3872 + 0.5080572e0 * t3894 - 0.5080572e0 * t3902 * t1210 + 0.5080572e0 * t3905 * t3907 + 0.5080572e0 * t3902 * t1213 - 0.5080572e0 * t3905 * t3913, t4021 + t4076 + t4152 + t4322 ); + const double t4330 = 0.8e1 / 0.27e2 * t623 * t2704 * t627 * t630; + const double t4331 = t750 * t1442; + const double t4333 = t599 * t4331 * t617; + const double t4335 = t1434 * t1434; + const double t4342 = 0.17158991333333333333e0 * t3861; + const double t4343 = t3863 * t393; + const double t4344 = t4343 * t558; + const double t4346 = -0.297366688e1 * t4335 - 0.297366688e1 * t602 * t3863 - 0.926585532e0 * t3851 - 0.411815792e0 * t3855 + 0.308861844e0 * t3858 - t4342 - 0.463292766e0 * t4344; + const double t4347 = t46 * t4346; + const double t4351 = t1470 * t629; + const double t4352 = t4351 * t1459; + const double t4355 = t616 * t3840; + const double t4356 = t1458 * t4355; + const double t4359 = t622 * t651; + const double t4360 = t314 * t4359; + const double t4361 = t4360 * t1478; + const double t4363 = t4351 * t1477; + const double t4366 = t1449 * t3863; + const double t4367 = t1458 * t4366; + const double t4370 = t2949 * t611; + const double t4373 = 0.4e1 / 0.243e3 * t599 * t4370 * t617; + const double t4374 = t636 * t8; + const double t4375 = t314 * t4374; + const double t4376 = t616 * t3849; + const double t4377 = t1458 * t4376; + const double t4380 = -0.8e1 / 0.27e2 * t3823 + 0.2e2 / 0.9e1 * t1457 * t3827 - 0.4e2 / 0.81e2 * t1484 * t640 * t3841 + 0.2e3 / 0.243e3 * t3846 - 0.2e2 / 0.81e2 * t638 * t640 * t3864 - 0.8e1 / 0.9e1 * t4325 + t4330 - 0.2e1 / 0.81e2 * t4333 + t599 * t4347 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t4352 - 0.4e1 / 0.9e1 * t1457 * t4356 + 0.2e2 / 0.27e2 * t4361 - 0.2e2 / 0.27e2 * t1476 * t4363 - 0.1e2 / 0.27e2 * t1476 * t4367 + t4373 + 0.16e2 / 0.9e1 * t4375 * t4377; + const double t4381 = t1455 * t651; + const double t4382 = t314 * t4381; + const double t4383 = t4382 * t1460; + const double t4385 = t603 * t603; + const double t4387 = 0.1e1 / t614 / t4385; + const double t4388 = t4387 * t4335; + const double t4389 = t1458 * t4388; + const double t4392 = t3611 * t639; + const double t4395 = 0.32e3 / 0.729e3 * t638 * t4392 * t641; + const double t4397 = t330 * t1483 * t339; + const double t4398 = t639 * t596; + const double t4399 = t4398 * t3826; + const double t4402 = t34 * t622; + const double t4403 = t31 * t4402; + const double t4404 = t617 * t3849; + const double t4409 = t1419 * t1424 * t1420; + const double t4411 = t613 * t4387; + const double t4412 = t4411 * t4335; + const double t4417 = 0.1e1 / t634 / t621; + const double t4418 = t332 * t4417; + const double t4419 = t330 * t4418; + const double t4420 = t641 * t3849; + const double t4425 = t1484 * t1489 * t1485; + const double t4427 = t596 * t4387; + const double t4428 = t4427 * t4335; + const double t4435 = t617 * t3840; + const double t4440 = t599 * t1424 * t1451; + const double t4445 = t1450 * t3863; + const double t4450 = t31 * t1418 * t46; + const double t4451 = t611 * t613; + const double t4452 = t4451 * t3826; + const double t4458 = 0.28598318888888888888e-1 * t3861; + const double t4460 = -0.154430922e0 * t3851 - 0.68635965333333333333e-1 * t3855 + 0.51476974e-1 * t3858 - t4458 - 0.77215461e-1 * t4344; + const double t4465 = 0.8e1 / 0.9e1 * t4383 + 0.35e2 / 0.27e2 * t1476 * t4389 + t4395 + 0.2e3 / 0.81e2 * t4397 * t4399 + 0.2e1 / 0.27e2 * t4403 * t612 * t4404 + 0.2e1 / 0.81e2 * t4409 + 0.35e2 / 0.108e3 * t599 * t612 * t4412 + 0.8e2 / 0.27e2 * t4419 * t640 * t4420 + 0.4e3 / 0.243e3 * t4425 + 0.7e2 / 0.81e2 * t638 * t640 * t4428 - 0.2e1 / 0.27e2 * t1419 * t1443 * t1420 - t1419 * t612 * t4435 / 0.27e2 + 0.5e1 / 0.81e2 * t4440 - 0.5e1 / 0.27e2 * t599 * t1443 * t1451 - 0.5e1 / 0.54e2 * t599 * t612 * t4445 + 0.5e1 / 0.27e2 * t4450 * t4452 + 0.4e1 / 0.27e2 * t623 * t8 * t4460 * t630; + const double t4466 = t4380 + t4465; + const double t4471 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t3803 * t645 - t3809 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1173 * t1498 + t3817 - t3819 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t4466 ); + const double t4487 = t1510 * t101; + const double t4489 = t6 * t4487 * t346; + const double t4500 = t6 * t662 * t1729; + const double t4512 = t1054 * t2837 * t1518; + const double t4539 = t1090 * t1518; + const double t4567 = t709 * t1520; + const double t4574 = t712 * t339 * t1518; + const double t4575 = t94 * t4574; + const double t4603 = t1557 * t207; + const double t4612 = t127 * t912; + const double t4617 = t3170 * t182; + const double t4622 = t852 * t209; + const double t4625 = t121 * t1540; + const double t4629 = t181 * t839; + const double t4644 = t3186 * t209; + const double t4645 = t124 * t1540; + const double t4649 = t833 * t839; + const double t4652 = t139 * t1540; + const double t4662 = t744 * t2941 * t1518; + const double t4676 = t2931 * t1537; + const double t4706 = t1588 * t816; + const double t4720 = t1571 * t832; + const double t4732 = t159 * t1552; + const double t4779 = t227 * t3175; + const double t4906 = t1632 * t782; + const double t4909 = t1639 * t122; + const double t4912 = t160 * t1537; + const double t4915 = t1647 * t118; + const double t4918 = t1621 * t119; + const double t4938 = t817 * t822; + const double t4941 = t2923 * t228; + const double t4965 = t3069 * t1565; + const double t4975 = t867 * t1540; + const double t4988 = t186 * t1585; + const double t5014 = t171 * t1568; + const double t5030 = t1596 * t192; + const double t5033 = t208 * t3194; + const double t5045 = t1712 * t323; + const double t5064 = t750 * t1697; + const double t5066 = t289 * t5064 * t308; + const double t5068 = t3598 * t1707; + const double t5070 = t3585 * t1718; + const double t5129 = t289 * t1050 * t1702; + const double t5132 = t1134 * t1141 * t1721; + const double t5135 = t337 * t1141 * t1725; + const double t5146 = t1045 * t1050 * t1683; + const double t5201 = t317 * t651 * t1712 * t324; + const double t5224 = t1739 * t101; + const double t5226 = t6 * t5224 * t645; + const double t5237 = t6 * t1177 * t2132; + const double t5269 = t1449 * t1787; + const double t5274 = t611 * t629; + const double t5279 = t1449 * t1968; + const double t5299 = t639 * t2048; + const double t5304 = t330 * t637 * t339; + const double t5324 = t1054 * t3853 * t1787; + const double t5338 = t1185 * t1789; + const double t5344 = t1188 * t339 * t1787; + const double t5345 = t411 * t5344; + const double t5373 = t1813 * t505; + const double t5395 = t3929 * t1807; + const double t5404 = t744 * t3939 * t1787; + const double t5423 = t484 * t1831; + const double t5446 = t472 * t1955; + const double t5467 = t4178 * t1825; + const double t5476 = t1391 * t1810; + const double t5489 = t499 * t1890; + const double t5505 = t437 * t1810; + const double t5519 = t1329 * t1334; + const double t5523 = t521 * t3975; + const double t5537 = t540 * t3994; + const double t5548 = t1893 * t1344; + const double t5566 = t4028 * t522; + const double t5571 = t4010 * t495; + const double t5576 = t1314 * t522; + const double t5603 = t1960 * t520; + const double t5606 = t434 * t1810; + const double t5610 = t494 * t1334; + const double t5627 = t440 * t1308; + const double t5632 = t3986 * t541; + const double t5635 = t1345 * t1350; + const double t5656 = t1942 * t541; + const double t5699 = t1834 * t1328; + const double t5702 = t1947 * t435; + const double t5726 = t1935 * t432; + const double t5729 = t1927 * t431; + const double t5732 = t473 * t1807; + const double t5743 = t1920 * t1284; + const double t5847 = t599 * t1424 * t2085; + const double t5850 = t1484 * t1489 * t2113; + const double t5853 = t638 * t1489 * t2124; + const double t5856 = t638 * t1489 * t2128; + const double t5893 = t4382 * t2090; + const double t5895 = t4360 * t2106; + const double t5898 = t750 * t2076; + const double t5900 = t599 * t5898 * t617; + const double t5902 = t4360 * t2110; + const double t5904 = t1140 * t2118; + const double t5906 = t638 * t5904 * t641; + const double t5923 = t599 * t1424 * t2081; + const double t5926 = t1419 * t1424 * t2052; + const double t5930 = t623 * t651 * t2099 * t630; + const double t5939 = t2099 * t629; + const double t5965 = t1507 * t1507; + const double t5969 = 0.2e1 * t651 + 0.2e1 * t2705; + const double t5970 = piecewise_functor_5( t12, 0.0, t16, 0.0, t5969 ); + const double t5974 = piecewise_functor_3( t22, 0.0, 0.4e1 / 0.9e1 * t2699 * t5965 + 0.4e1 / 0.3e1 * t25 * t5970 ); + const double t5975 = t5974 * t28; + const double t5984 = t4539 * t1690; + const double t5985 = t1099 * t5984; + const double t5988 = t1518 * t1518; + const double t5990 = t1054 * t2832 * t5988; + const double t5993 = t1515 * t1515; + const double t5996 = piecewise_functor_5( t36, 0.0, t38, 0.0, t5969 ); + const double t6000 = piecewise_functor_3( t41, 0.0, -0.2e1 / 0.9e1 * t2735 * t5993 + t714 * t5996 / 0.3e1 ); + const double t6002 = t1054 * t1055 * t6000; + const double t6004 = 0.2e1 * t5990 + 0.8e1 / 0.9e1 * t4512 - 0.2e1 / 0.3e1 * t6002 + t2846; + const double t6005 = t1091 * t6004; + const double t6012 = t1690 * t1690; + const double t6013 = t3632 * t6012; + const double t6020 = t308 * t5988; + const double t6028 = t308 * t6000; + const double t6032 = t1156 * t6004; + const double t6039 = 0.2e2 / 0.9e1 * t1098 * t5985 - 0.5e1 / 0.54e2 * t289 * t303 * t6005 - 0.2e1 / 0.81e2 * t5066 + 0.8e1 / 0.9e1 * t5068 + 0.2e2 / 0.27e2 * t5070 + 0.7e2 / 0.81e2 * t337 * t341 * t6013 + 0.5e1 / 0.81e2 * t5129 + 0.4e3 / 0.243e3 * t5132 + 0.2e3 / 0.243e3 * t5135 + t3615 + 0.2e1 / 0.27e2 * t3371 * t303 * t6020 + 0.2e1 / 0.81e2 * t5146 - 0.2e1 / 0.27e2 * t1045 * t1698 * t1683 - t1045 * t303 * t6028 / 0.27e2 - 0.2e2 / 0.81e2 * t337 * t341 * t6032 - 0.5e1 / 0.27e2 * t289 * t1698 * t1702; + const double t6040 = t5045 * t1717; + const double t6043 = t1090 * t6004; + const double t6044 = t1099 * t6043; + const double t6053 = t6004 * t75; + const double t6054 = t6053 * t245; + const double t6056 = -0.297366688e1 * t6012 - 0.297366688e1 * t293 * t6004 - 0.926585532e0 * t5990 - 0.411815792e0 * t4512 + 0.308861844e0 * t6002 - t3418 - 0.463292766e0 * t6054; + const double t6057 = t46 * t6056; + const double t6061 = t5045 * t1706; + const double t6064 = t307 * t6000; + const double t6065 = t1099 * t6064; + const double t6068 = t307 * t5988; + const double t6069 = t1099 * t6068; + const double t6072 = t3387 * t6012; + const double t6073 = t1099 * t6072; + const double t6076 = t3388 * t6012; + const double t6080 = t342 * t5988; + const double t6088 = -0.154430922e0 * t5990 - 0.68635965333333333333e-1 * t4512 + 0.51476974e-1 * t6002 - t3738 - 0.77215461e-1 * t6054; + const double t6094 = t3747 * t5984; + const double t6097 = t3408 * t5984; + const double t6101 = t2865 * t1523 + t1524; + const double t6102 = t6101 * t1523; + const double t6104 = 0.29524234672788811968e1 * t4567; + const double t6106 = t2882 * t101 * t5988; + const double t6107 = t94 * t6106; + const double t6111 = t712 * t101 * t6000; + const double t6112 = t94 * t6111; + const double t6114 = t711 - t6104 - t2881 + 0.44286352009183217952e1 * t6107 + 0.19682823115192541312e1 * t4575 - 0.14762117336394405984e1 * t6112 + t2896; + const double t6115 = t667 * t6114; + const double t6117 = 0.4e1 / 0.3e1 * t4567; + const double t6121 = t730 - t6117 - t2901 + 0.2e1 * t6107 + 0.8e1 / 0.9e1 * t4575 - 0.2e1 / 0.3e1 * t6112 + t2905; + const double t6124 = t1527 * t1527; + const double t6132 = 0.65022612931984162108e3 * t4965; + const double t6133 = 0.16255653232996040527e3 * t4975; + const double t6134 = t1540 * t1540; + const double t6135 = t155 * t6134; + const double t6140 = 0.4e1 * t4676; + const double t6141 = t1537 * t1537; + const double t6142 = t129 * t6141; + const double t6152 = piecewise_functor_3( t50, 0.0, 0.2e1 / 0.3e1 * t744 * t2937 * t5988 + 0.2e1 / 0.9e1 * t4662 - t744 * t745 * t6000 / 0.3e1 + t2952 ); + const double t6153 = t743 * t6152; + const double t6155 = t742 + t6140 + 0.2e1 * t6142 + 0.2e1 * t6153; + const double t6156 = t155 * t6155; + const double t6172 = 0.13168842624e4 * t4676; + const double t6175 = -0.1458e4 * t6134 - 0.1458e4 * t6156 + t884 + t6172 + 0.6584421312e3 * t6142 + 0.6584421312e3 * t6153; + const double t6178 = t869 + t6132 + t6133 + 0.97533919397976243162e3 * t3074 * t6135 + 0.65022612931984162108e3 * t870 * t6134 + 0.32511306465992081054e3 * t870 * t6156 + 0.81278266164980202635e2 * t214 * t6155 + 0.20308706906259249944e2 * t6135 + 0.10154353453129624972e2 * t191 * t6155 + 0.100821516374592e0 * t3088 * t6134 + 0.67214344249728e-1 * t4988 * t1540 + 0.33607172124864e-1 * t877 * t6155 + 0.8401793031216e-2 * t213 * t6175; + const double t6179 = t6178 * t226; + const double t6194 = 0.243867456e2 * t4676; + const double t6197 = 0.54e2 * t6134 + 0.54e2 * t6156 - t769 - t6194 - 0.121933728e2 * t6142 - 0.121933728e2 * t6153; + const double t6200 = -0.1573689609226455711e3 * t156 * t6134 - 0.1049126406150970474e3 * t177 * t6155 + 0.315e3 / 0.4e1 * t3305 * t6134 + 0.63e2 * t5014 * t1540 + 0.63e2 / 0.2e1 * t761 * t6155 + 0.9e1 * t199 * t6197; + const double t6201 = t6200 * t207; + const double t6204 = t147 * t1540; + const double t6207 = t848 * t6152; + const double t6210 = t210 * t6155; + const double t6213 = t840 * t6155; + const double t6216 = t844 * t6152; + const double t6219 = t229 * t6155; + const double t6230 = t3195 * t6134; + const double t6233 = t856 * t6141; + const double t6236 = t229 * t6134; + const double t6239 = t823 * t6134; + const double t6242 = t3176 * t6134; + const double t6245 = t3180 * t6141; + const double t6248 = 0.75666704254679261017e-2 * t6179 * t229 + 0.26165591067112574428e-2 * t6201 * t210 - 0.5080572e0 * t5030 * t6204 - 0.46513586984620987398e0 * t181 * t6207 - 0.91579568734894010498e-2 * t833 * t6210 - 0.6541397766778143607e-2 * t208 * t6213 + 0.183159137469788021e-1 * t208 * t6216 - 0.30266681701871704407e-1 * t817 * t6219 + t1608 * t1649 / 0.2e1 + 0.46513586984620987398e0 * t4603 * t1652 + 0.2790815219077259244e0 * t1558 * t1655 - 0.93027173969241974796e0 * t1558 * t1658 + 0.22894892183723502624e-1 * t208 * t6230 + 0.1098954824818728126e0 * t208 * t6233 + 0.15133340850935852204e0 * t2923 * t6236 + 0.18160009021123022644e0 * t817 * t6239 + 0.9080004510561511322e-1 * t227 * t6242 + 0.4237335438262038617e0 * t227 * t6245; + const double t6249 = t1612 * t1612; + const double t6250 = t2986 * t6249; + const double t6253 = t183 * t6134; + const double t6256 = t856 * t6134; + const double t6259 = t2980 * t6134; + const double t6262 = t3166 * t6141; + const double t6265 = t210 * t6134; + const double t6268 = t840 * t6134; + const double t6271 = t816 * t6134; + const double t6273 = t226 * t6155; + const double t6279 = 0.30103061542585260236e1 * t6271 - 0.75257653856463150591e0 * t6273 + 0.46290096528786e-1 * t3220 * t6134 - 0.15430032176262e-1 * t951 * t6155; + const double t6287 = 0.36e2 * t4676; + const double t6290 = t899 + t6287 + 0.18e2 * t6142 + 0.18e2 * t6153; + const double t6293 = t157 * t6134; + const double t6295 = t156 * t6155; + const double t6297 = 0.45e2 / 0.4e1 * t3333 * t6134 + 0.15e2 * t4732 * t1540 + 0.15e2 / 0.2e1 * t893 * t6155 + 0.3e1 * t171 * t6290 + 0.309746542166208e1 * t6293 + 0.619493084332416e1 * t6295; + const double t6298 = t6297 * t180; + const double t6301 = t823 * t6155; + const double t6304 = t827 * t6152; + const double t6321 = t3061 * t1612 + t912 * t1612; + const double t6322 = t6321 * t913; + const double t6323 = t6322 * t1612; + const double t6326 = -t127 * t6250 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t6253 - 0.69770380476931481098e0 * t852 * t6256 - 0.3488519023846574055e0 * t181 * t6259 - 0.18605434793848394959e1 * t181 * t6262 + 0.41210805930702304724e-1 * t3186 * t6265 + 0.45789784367447005248e-1 * t833 * t6268 + t6279 * t139 - 0.93027173969241974797e-1 * t6298 * t183 - 0.22700011276403778305e-1 * t227 * t6301 + 0.60533363403743408814e-1 * t227 * t6304 - 0.183159137469788021e-1 * t4720 * t1661 - 0.13082795533556287214e-1 * t1572 * t1664 + 0.366318274939576042e-1 * t1572 * t1667 - 0.60533363403743408814e-1 * t4706 * t1670 - 0.4540002255280755661e-1 * t1589 * t1673 + 0.12106672680748681763e0 * t1589 * t1676 + t127 * t6323 / 0.4e1; + const double t6328 = 0.88572704018366435904e1 * t4676; + const double t6331 = t784 + t6328 + 0.44286352009183217952e1 * t6142 + 0.44286352009183217952e1 * t6153; + const double t6332 = t914 * t6331; + const double t6335 = t183 * t6155; + const double t6338 = t856 * t6155; + const double t6347 = t4652 * t1537; + const double t6352 = t4645 * t1537; + const double t6357 = t4625 * t1537; + const double t6374 = t127 * t6332 / 0.4e1 + 0.23256793492310493699e0 * t852 * t6335 + 0.1395407609538629622e0 * t181 * t6338 - 0.73807311952199090995e0 * t792 * t6155 + 0.14761462390439818199e1 * t795 * t6152 + 0.6e1 * t4915 * t1537 - 0.1282113962288516147e0 * t2999 * t6347 - 0.91579568734894010499e-1 * t3004 * t6347 - 0.48426690722994727052e0 * t2991 * t6352 - 0.36320018042246045288e0 * t2996 * t6352 + 0.232567934923104937e1 * t3007 * t6357 + 0.1395407609538629622e1 * t3116 * t6357 + 0.14761462390439818199e1 * t152 * t6141 + 0.12e2 * t3155 * t6141 + 0.3e2 * t3152 * t6141 - 0.7619809671051023361e0 * t3158 * t6134 + 0.14761462390439818199e1 * t3149 * t6134 + 0.6e1 * t3146 * t6141; + const double t6375 = t1540 * t1537; + const double t6379 = t116 * t6152; + const double t6381 = t118 * t6141; + const double t6383 = t119 * t6152; + const double t6385 = t121 * t6141; + const double t6387 = t122 * t6152; + const double t6389 = t139 * t6141; + const double t6391 = t124 * t6152; + const double t6393 = 0.65373131959333695e1 * t6141 + 0.65373131959333695e1 * t6379 - 0.58102078657701102111e2 * t6381 - 0.19367359552567034037e2 * t6383 + 0.8170909705759698165e2 * t6385 + 0.1634181941151939633e2 * t6387 - 0.11493763593521941685e2 * t6389 - 0.16419662276459916693e1 * t6391; + const double t6398 = t209 * t6134; + const double t6400 = t182 * t6155; + const double t6406 = 0.18591590853463565788e1 * t6398 - 0.12394393902309043859e1 * t6400 - 0.20990203539014021192e1 * t207 * t6134 + 0.83960814156056084769e0 * t180 * t6155; + const double t6412 = t226 * t6134; + const double t6414 = t187 * t6155; + const double t6416 = -0.218660588126010225e1 * t228 * t6134 + 0.1093302940630051125e1 * t192 * t6155 + 0.29624556307641067223e1 * t6412 - 0.98748521025470224076e0 * t6414; + const double t6420 = t3140 * t1612 + t782 * t1612; + const double t6421 = t143 * t6420; + const double t6433 = t116 * t6141; + const double t6435 = t118 * t6152; + const double t6437 = t119 * t6141; + const double t6439 = t121 * t6152; + const double t6441 = t122 * t6141; + const double t6443 = t139 * t6152; + const double t6446 = ( 0.17059169152930056821e1 * t6152 - 0.24973623243864237938e2 * t6433 - 0.12486811621932118969e2 * t6435 + 0.84348740697389298e2 * t6437 + 0.210871851743473245e2 * t6439 - 0.44839537976659010655e2 * t6441 - 0.74732563294431684425e1 * t6443 ) * M_PI; + const double t6456 = t6155 * t152 - 0.2e1 * t6134 * t167 + 0.2e1 * t2961 * t6134 - t861 * t6155; + const double t6457 = t6456 * t164; + const double t6470 = -0.29522924780879636398e1 * t3257 * t6375 - t6393 * t144 / 0.2e1 - 0.10159746228068031148e1 * t149 * t6152 + t6406 * t119 + t6416 * t121 - t6421 * t1612 / 0.2e1 - t783 * t6331 / 0.2e1 + 0.10159746228068031148e1 * t4912 * t1540 + 0.5079873114034015574e0 * t789 * t6155 + 0.5080572e0 * t1597 * t1540 + t6446 * t134 / 0.2e1 - t4906 * t1612 + 0.5080572e0 * t6457 * t147 + 0.3e1 * t798 * t6152 + 0.8e1 * t4918 * t1537 + 0.4e1 * t778 * t6152 + 0.12e2 * t4909 * t1537 + 0.6e1 * t812 * t6152; + const double t6473 = piecewise_functor_3( t50, 0.5080572e0 * t6102 + 0.5080572e0 * t6115 - 0.5080572e0 * t6121 * t734 + 0.5080572e0 * t6124 * t2911 + 0.5080572e0 * t6121 * t737 - 0.5080572e0 * t6124 * t2917, t6248 + t6326 + t6374 + t6470 ); + const double t6475 = t342 * t6000; + const double t6479 = -0.2e2 / 0.27e2 * t1121 * t6040 - 0.1e2 / 0.27e2 * t1121 * t6044 + t289 * t6057 * t308 / 0.27e2 - 0.8e1 / 0.9e1 * t1098 * t6061 - 0.4e1 / 0.9e1 * t1098 * t6065 + 0.16e2 / 0.9e1 * t3592 * t6069 + 0.35e2 / 0.27e2 * t1121 * t6073 + t3706 + t3710 + 0.35e2 / 0.108e3 * t289 * t303 * t6076 + 0.8e2 / 0.27e2 * t3397 * t341 * t6080 + 0.4e1 / 0.27e2 * t317 * t8 * t6088 * t324 - 0.8e1 / 0.27e2 * t5201 + 0.5e1 / 0.27e2 * t3746 * t6094 + 0.2e3 / 0.81e2 * t3403 * t6097 - 0.8e1 / 0.9e1 * t6473 - 0.4e2 / 0.81e2 * t1134 * t341 * t6475; + const double t6480 = t6039 + t6479; + const double t6485 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t5975 * t346 - t4489 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1511 * t1729 + t2727 - t4500 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t29 * t6480 ); + const double t6486 = t1736 * t1736; + const double t6491 = piecewise_functor_5( t16, 0.0, t12, 0.0, -0.2e1 * t651 + 0.2e1 * t3795 ); + const double t6495 = piecewise_functor_3( t356, 0.0, 0.4e1 / 0.9e1 * t3791 * t6486 + 0.4e1 / 0.3e1 * t357 * t6491 ); + const double t6496 = t6495 * t28; + const double t6506 = t3869 * t1792 + t1793; + const double t6507 = t6506 * t1792; + const double t6509 = t1759 * t1759; + const double t6510 = t6509 * t397; + const double t6511 = t6510 * t405; + const double t6512 = 0.44286352009183217952e1 * t6511; + const double t6513 = t392 * t1768; + const double t6514 = t6513 * t1760; + const double t6515 = 0.88572704018366435904e1 * t6514; + const double t6516 = t1773 * t1759; + const double t6517 = t6516 * t1779; + const double t6518 = t1744 * t6517; + const double t6519 = 0.88572704018366435904e1 * t6518; + const double t6522 = 0.1e1 / t373 / t1745 / rho_b; + const double t6525 = 0.7e1 / 0.27e2 * t53 * t372 * t6522; + const double t6526 = piecewise_functor_3( t380, 0.0, t6525 ); + const double t6527 = piecewise_functor_3( t382, t6526, 0.0 ); + const double t6530 = t1752 * t1752; + const double t6533 = t385 * t385; + const double t6535 = t386 * t386; + const double t6536 = 0.1e1 / t6535; + const double t6539 = piecewise_functor_3( t380, 0.0, -t6527 * t385 * t1754 - t6530 * t385 * t1754 + t6530 * t6533 * t6536 + t6527 ); + const double t6540 = piecewise_functor_3( t379, t6525, t6539 ); + const double t6541 = piecewise_functor_3( t391, 0.0, t6540 ); + const double t6542 = t405 * t6541; + const double t6543 = t1744 * t6542; + const double t6544 = 0.44286352009183217952e1 * t6543; + const double t6546 = t392 * t6541; + const double t6548 = t393 * t6509; + const double t6550 = t1765 * t6541; + const double t6552 = 0.1959362e-1 * t6509 + 0.1959362e-1 * t6546 + 0.4930008e0 * t6548 + 0.1643336e0 * t6550; + const double t6553 = t393 * t6552; + const double t6554 = t6553 * t405; + const double t6555 = 0.22143176004591608976e1 * t6554; + const double t6556 = t1769 * t1780; + const double t6557 = 0.44286352009183217952e1 * t6556; + const double t6559 = 0.1e1 / t1772 / t404; + const double t6560 = t1779 * t1779; + const double t6561 = t6559 * t6560; + const double t6562 = t398 * t6561; + const double t6563 = 0.44286352009183217952e1 * t6562; + const double t6566 = t1765 * t6509; + const double t6574 = 0.224928e1 * t6548 + 0.74976e0 * t6550 + 0.241648e-1 * t6566 + 0.60412e-2 * t395 * t6541 + 0.1041564e1 * t395 * t6509 + 0.2083128e0 * t400 * t6541; + const double t6575 = t1773 * t6574; + const double t6576 = t398 * t6575; + const double t6577 = 0.22143176004591608976e1 * t6576; + const double t6578 = 0.29524234672788811968e1 * t5338; + const double t6579 = t1787 * t1787; + const double t6581 = t3878 * t101 * t6579; + const double t6582 = t411 * t6581; + const double t6585 = t1784 * t1784; + const double t6589 = piecewise_functor_5( t38, 0.0, t36, 0.0, -t5969 ); + const double t6593 = piecewise_functor_3( t363, 0.0, -0.2e1 / 0.9e1 * t3831 * t6585 + t1190 * t6589 / 0.3e1 ); + const double t6595 = t1188 * t101 * t6593; + const double t6596 = t411 * t6595; + const double t6598 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1187 - t6578 - t3877 + 0.44286352009183217952e1 * t6582 + 0.19682823115192541312e1 * t5345 - 0.14762117336394405984e1 * t6596 + t3892; + const double t6599 = t1182 * t6598; + const double t6601 = 0.2e1 * t6511; + const double t6602 = 0.4e1 * t6514; + const double t6603 = 0.4e1 * t6518; + const double t6604 = 0.2e1 * t6543; + const double t6605 = 0.2e1 * t6556; + const double t6606 = 0.2e1 * t6562; + const double t6607 = 0.4e1 / 0.3e1 * t5338; + const double t6611 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1206 - t6607 - t3897 + 0.2e1 * t6582 + 0.8e1 / 0.9e1 * t5345 - 0.2e1 / 0.3e1 * t6596 + t3901; + const double t6614 = t1797 * t1797; + const double t6622 = t1810 * t1810; + const double t6627 = 0.4e1 * t5395; + const double t6628 = t1807 * t1807; + const double t6629 = t442 * t6628; + const double t6639 = piecewise_functor_3( t371, 0.0, 0.2e1 / 0.3e1 * t744 * t3935 * t6579 + 0.2e1 / 0.9e1 * t5404 - t744 * t1221 * t6593 / 0.3e1 + t3948 ); + const double t6640 = t1220 * t6639; + const double t6642 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + t1219 + t6627 + 0.2e1 * t6629 + 0.2e1 * t6640; + const double t6653 = 0.36e2 * t5395; + const double t6656 = 0.18e2 * t6511 + 0.36e2 * t6514 - 0.36e2 * t6518 + 0.18e2 * t6543 + 0.9e1 * t6554 - 0.18e2 * t6556 + 0.18e2 * t6562 - 0.9e1 * t6576 + t1235 + t6653 + 0.18e2 * t6629 + 0.18e2 * t6640; + const double t6659 = t470 * t6622; + const double t6661 = t469 * t6642; + const double t6663 = 0.45e2 / 0.4e1 * t4245 * t6622 + 0.15e2 * t5446 * t1810 + 0.15e2 / 0.2e1 * t1217 * t6642 + 0.3e1 * t484 * t6656 + 0.309746542166208e1 * t6659 + 0.619493084332416e1 * t6661; + const double t6664 = t6663 * t493; + const double t6667 = t1810 * t1807; + const double t6682 = 0.88572704018366435904e1 * t5395; + const double t6685 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577 + t1286 + t6682 + 0.44286352009183217952e1 * t6629 + 0.44286352009183217952e1 * t6640; + const double t6686 = t1310 * t6685; + const double t6689 = t1323 * t6639; + const double t6694 = t1308 * t1858 + t3921 * t1858; + const double t6695 = t6694 * t1309; + const double t6696 = t6695 * t1858; + const double t6699 = 0.65022612931984162108e3 * t5467; + const double t6700 = 0.16255653232996040527e3 * t5476; + const double t6701 = t468 * t6622; + const double t6706 = t468 * t6642; + const double t6730 = 0.13168842624e4 * t5395; + const double t6733 = -0.1458e4 * t6622 - 0.1458e4 * t6706 + 0.6584421312e3 * t6511 + 0.13168842624e4 * t6514 - 0.13168842624e4 * t6518 + 0.6584421312e3 * t6543 + 0.3292210656e3 * t6554 - 0.6584421312e3 * t6556 + 0.6584421312e3 * t6562 - 0.3292210656e3 * t6576 + t1405 + t6730 + 0.6584421312e3 * t6629 + 0.6584421312e3 * t6640; + const double t6736 = t1393 + t6699 + t6700 + 0.97533919397976243162e3 * t4183 * t6701 + 0.65022612931984162108e3 * t1394 * t6622 + 0.32511306465992081054e3 * t1394 * t6706 + 0.81278266164980202635e2 * t527 * t6642 + 0.20308706906259249944e2 * t6701 + 0.10154353453129624972e2 * t504 * t6642 + 0.100821516374592e0 * t4197 * t6622 + 0.67214344249728e-1 * t5489 * t1810 + 0.33607172124864e-1 * t1401 * t6642 + 0.8401793031216e-2 * t526 * t6733; + const double t6737 = t6736 * t539; + const double t6740 = t496 * t6622; + const double t6743 = t1319 * t6622; + const double t6746 = t4017 * t6622; + const double t6749 = t4022 * t6628; + const double t6752 = t1858 * t1858; + const double t6753 = t4005 * t6752; + const double t6758 = -0.93027173969241974797e-1 * t6664 * t496 - 0.29522924780879636398e1 * t4318 * t6667 - 0.7619809671051023361e0 * t4083 * t6622 + 0.14761462390439818199e1 * t4086 * t6622 + 0.6e1 * t4089 * t6628 + 0.12e2 * t4092 * t6628 + 0.3e2 * t4080 * t6628 + t1854 * t1909 / 0.2e1 + t440 * t6686 / 0.4e1 - 0.46513586984620987398e0 * t494 * t6689 + t440 * t6696 / 0.4e1 + 0.75666704254679261017e-2 * t6737 * t542 - 0.81398777223086727946e0 * t4010 * t6740 - 0.69770380476931481098e0 * t1314 * t6743 - 0.3488519023846574055e0 * t494 * t6746 - 0.18605434793848394959e1 * t494 * t6749 - t440 * t6753 / 0.8e1 + 0.366318274939576042e-1 * t1835 * t1874; + const double t6759 = t1335 * t6642; + const double t6762 = t522 * t6622; + const double t6764 = t495 * t6642; + const double t6770 = 0.18591590853463565788e1 * t6762 - 0.12394393902309043859e1 * t6764 - 0.20990203539014021192e1 * t520 * t6622 + 0.83960814156056084769e0 * t493 * t6642; + const double t6776 = t542 * t6642; + const double t6781 = t460 * t1810; + const double t6784 = t1319 * t6642; + const double t6787 = t496 * t6642; + const double t6790 = t523 * t6642; + const double t6793 = t1355 * t6639; + const double t6796 = t1319 * t6628; + const double t6799 = t523 * t6622; + const double t6802 = t542 * t6622; + const double t6805 = t1351 * t6622; + const double t6808 = t3995 * t6622; + const double t6811 = t3999 * t6628; + const double t6814 = t1335 * t6622; + const double t6817 = -0.6541397766778143607e-2 * t521 * t6759 + t6770 * t432 - 0.10159746228068031148e1 * t462 * t6639 - 0.4540002255280755661e-1 * t1894 * t1864 - 0.30266681701871704407e-1 * t1345 * t6776 - 0.60533363403743408814e-1 * t5548 * t1861 - 0.5080572e0 * t5373 * t6781 + 0.1395407609538629622e0 * t494 * t6784 + 0.23256793492310493699e0 * t1314 * t6787 - 0.91579568734894010498e-2 * t1329 * t6790 + 0.60533363403743408814e-1 * t540 * t6793 + 0.1098954824818728126e0 * t521 * t6796 + 0.41210805930702304724e-1 * t4028 * t6799 + 0.15133340850935852204e0 * t3986 * t6802 + 0.18160009021123022644e0 * t1345 * t6805 + 0.9080004510561511322e-1 * t540 * t6808 + 0.4237335438262038617e0 * t540 * t6811 + 0.45789784367447005248e-1 * t1329 * t6814; + const double t6819 = t3976 * t6622; + const double t6830 = t1339 * t6639; + const double t6837 = t1351 * t6642; + const double t6842 = t1284 * t1858 + t4139 * t1858; + const double t6843 = t456 * t6842; + const double t6847 = t429 * t6628; + const double t6849 = t431 * t6639; + const double t6851 = t432 * t6628; + const double t6853 = t434 * t6639; + const double t6855 = t435 * t6628; + const double t6857 = t452 * t6639; + const double t6860 = ( 0.17059169152930056821e1 * t6639 - 0.24973623243864237938e2 * t6847 - 0.12486811621932118969e2 * t6849 + 0.84348740697389298e2 * t6851 + 0.210871851743473245e2 * t6853 - 0.44839537976659010655e2 * t6855 - 0.74732563294431684425e1 * t6857 ) * M_PI; + const double t6867 = t539 * t6622; + const double t6869 = t500 * t6642; + const double t6871 = -0.218660588126010225e1 * t541 * t6622 + 0.1093302940630051125e1 * t505 * t6642 + 0.29624556307641067223e1 * t6867 - 0.98748521025470224076e0 * t6869; + const double t6881 = t1851 * t1810; + const double t6884 = t5505 * t1807; + const double t6887 = 0.22894892183723502624e-1 * t521 * t6819 - 0.183159137469788021e-1 * t5699 * t1897 - 0.93027173969241974796e0 * t1961 * t1906 + 0.46513586984620987398e0 * t5603 * t1900 + 0.2790815219077259244e0 * t1961 * t1903 + 0.183159137469788021e-1 * t521 * t6830 - 0.13082795533556287214e-1 * t1835 * t1871 + 0.12106672680748681763e0 * t1894 * t1867 - 0.22700011276403778305e-1 * t540 * t6837 - t6843 * t1858 / 0.2e1 + t6860 * t447 / 0.2e1 + t6871 * t434 + 0.12e2 * t5702 * t1807 + 0.14761462390439818199e1 * t465 * t6628 + 0.10159746228068031148e1 * t5732 * t1810 + 0.4e1 * t1303 * t6639 - 0.1282113962288516147e0 * t4147 * t6881 - 0.48426690722994727052e0 * t4156 * t6884; + const double t6903 = -t1266 * t6642 + 0.2e1 * t4110 * t6622 + t6642 * t465 - 0.2e1 * t6622 * t480; + const double t6904 = t6903 * t477; + const double t6910 = t429 * t6639; + const double t6912 = t431 * t6628; + const double t6914 = t432 * t6639; + const double t6916 = t434 * t6628; + const double t6918 = t435 * t6639; + const double t6920 = t452 * t6628; + const double t6922 = t437 * t6639; + const double t6924 = 0.65373131959333695e1 * t6628 + 0.65373131959333695e1 * t6910 - 0.58102078657701102111e2 * t6912 - 0.19367359552567034037e2 * t6914 + 0.8170909705759698165e2 * t6916 + 0.1634181941151939633e2 * t6918 - 0.11493763593521941685e2 * t6920 - 0.16419662276459916693e1 * t6922; + const double t6929 = t5606 * t1807; + const double t6938 = t1344 * t6622; + const double t6940 = t539 * t6642; + const double t6950 = 0.15943086723305958463e3 * t6511 + 0.31886173446611916926e3 * t6514 - 0.31886173446611916926e3 * t6518 + 0.15943086723305958463e3 * t6543 + 0.79715433616529792314e2 * t6554 - 0.15943086723305958463e3 * t6556 + 0.15943086723305958463e3 * t6562 - 0.79715433616529792314e2 * t6576; + const double t6959 = 0.30103061542585260236e1 * t6938 - 0.75257653856463150591e0 * t6940 + 0.7715016088131e-2 * t6950 * t505 - 0.30860064352524e-1 * t5656 * t1810 + 0.46290096528786e-1 * t4311 * t6622 - 0.15430032176262e-1 * t1361 * t6642; + const double t6987 = 0.243867456e2 * t5395; + const double t6990 = 0.54e2 * t6622 + 0.54e2 * t6706 - 0.121933728e2 * t6511 - 0.243867456e2 * t6514 + 0.243867456e2 * t6518 - 0.121933728e2 * t6543 - 0.60966864e1 * t6554 + 0.121933728e2 * t6556 - 0.121933728e2 * t6562 + 0.60966864e1 * t6576 - t1253 - t6987 - 0.121933728e2 * t6629 - 0.121933728e2 * t6640; + const double t6993 = -0.1573689609226455711e3 * t469 * t6622 - 0.1049126406150970474e3 * t490 * t6642 + 0.315e3 / 0.4e1 * t4225 * t6622 + 0.63e2 * t5423 * t1810 + 0.63e2 / 0.2e1 * t1248 * t6642 + 0.9e1 * t512 * t6990; + const double t6994 = t6993 * t520; + const double t6997 = -0.36320018042246045288e0 * t4161 * t6884 - 0.91579568734894010499e-1 * t4153 * t6881 + 0.5080572e0 * t1814 * t1810 + 0.6e1 * t5729 * t1807 - t5743 * t1858 + 0.5080572e0 * t6904 * t460 + 0.8e1 * t5726 * t1807 - t6924 * t457 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t6642 + 0.232567934923104937e1 * t3966 * t6929 + 0.1395407609538629622e1 * t3971 * t6929 - 0.73807311952199090995e0 * t1294 * t6642 + 0.6e1 * t1262 * t6639 + t6959 * t452 - t1285 * t6685 / 0.2e1 + 0.14761462390439818199e1 * t1297 * t6639 + 0.3e1 * t1300 * t6639 + 0.26165591067112574428e-2 * t6994 * t523; + const double t7000 = piecewise_functor_3( t371, 0.5080572e0 * t6507 + 0.5080572e0 * t6599 - 0.5080572e0 * t6611 * t1210 + 0.5080572e0 * t6614 * t3907 + 0.5080572e0 * t6611 * t1213 - 0.5080572e0 * t6614 * t3913, t6758 + t6817 + t6887 + t6997 ); + const double t7002 = t5269 * t2059; + const double t7003 = t4451 * t7002; + const double t7006 = t5279 * t2059; + const double t7007 = t5274 * t7006; + const double t7010 = t616 * t6579; + const double t7011 = t1458 * t7010; + const double t7014 = t627 * t2048; + const double t7015 = t1968 * t1968; + const double t7016 = t616 * t7015; + const double t7017 = t7014 * t7016; + const double t7020 = t2059 * t2059; + const double t7021 = t4387 * t7020; + const double t7022 = t1458 * t7021; + const double t7025 = t5299 * t7006; + const double t7028 = t6509 * t592; + const double t7030 = t392 * t2042; + const double t7031 = t7030 * t1759; + const double t7033 = t1989 * t6541; + const double t7037 = t1768 * t1773; + const double t7040 = t397 * t6559; + const double t7045 = 0.64753871e1 * t6552 * t405 - 0.129507742e2 * t7037 * t1779 + 0.129507742e2 * t7040 * t6560 - 0.64753871e1 * t1983 * t6574; + const double t7047 = t1986 * t392; + const double t7054 = 0.4e1 * t7047 * t1759 + 0.2e1 * t1993 * t6541 + t7045 * t393 + 0.2e1 * t558 * t6509; + const double t7059 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576; + const double t7063 = t551 * t7059; + const double t7070 = t250 * ( -0.463292766e0 * t7054 * t551 - 0.926585532e0 * t1996 * t1968 - 0.463292766e0 * t563 * t7059 - 0.297366688e1 * t7015 - 0.297366688e1 * t7063 + 0.487734912e2 * t551 * t7015 + 0.243867456e2 * t552 * t7059 ); + const double t7075 = t2008 * t551; + const double t7077 = 0.1e1 / t571 / t7075; + const double t7078 = t7077 * t7015; + const double t7081 = t2010 * t7059; + const double t7084 = t6512 + t6515 - t6519 + t6544 + t6555 - t6557 + t6563 - t6577; + const double t7085 = t7084 * t576; + const double t7086 = t7085 * t580; + const double t7088 = t2014 * t2014; + const double t7089 = t7088 * t576; + const double t7092 = t2018 * t2020; + const double t7093 = t7092 * t1968; + const double t7096 = -t2014; + const double t7097 = t576 * t7096; + const double t7101 = 0.1e1 / t577 / t406; + const double t7109 = ( t7070 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2005 * t2011 + 0.63e2 / 0.64e2 * t570 * t7078 - 0.7e1 / 0.32e2 * t570 * t7081 - 0.23751029502456895713e1 * t7086 - 0.23751029502456895713e1 * t7089 * t580 + 0.39880211645374110616e1 * t2015 * t7093 + 0.19940105822687055308e1 * t7097 * t7093 - 0.9970052911343527654e0 * t2019 * t7101 * t7015 + 0.19940105822687055308e1 * t2019 * t2020 * t7059 ) * t273; + const double t7116 = 0.1e1 / t395; + const double t7117 = t7116 * t572; + const double t7118 = t7117 * t6509; + const double t7121 = t584 * t2028; + const double t7122 = t2033 * t1759; + const double t7123 = t7122 * t1968; + const double t7126 = t2029 * t6541; + const double t7129 = t571 * t551; + const double t7130 = t585 * t7129; + const double t7131 = t7130 * t7015; + const double t7134 = t2034 * t7059; + const double t7143 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t7109 * t586 + 0.64e2 / 0.15e2 * t2025 * t2030 - 0.112e3 / 0.15e2 * t2025 * t2035 - 0.32e2 / 0.5e1 * t584 * t7118 + 0.224e3 / 0.15e2 * t7121 * t7123 + 0.32e2 / 0.15e2 * t584 * t7126 - 0.28e2 / 0.3e1 * t584 * t7131 - 0.56e2 / 0.15e2 * t584 * t7134, -0.14235295576e0 * t6509 - 0.14235295576e0 * t6546 + 0.102414495876e1 * t6548 + 0.34138165292e0 * t6550 ); + const double t7144 = t393 * t7143; + const double t7145 = 0.2e1 * t7028 + 0.4e1 * t7031 + 0.2e1 * t7033 + t7144; + const double t7146 = t339 * t7145; + const double t7150 = t2123 * t7059; + const double t7158 = t1054 * t3848 * t6579; + const double t7161 = t1054 * t1428 * t6593; + const double t7163 = t2059 * t392; + const double t7164 = t7163 * t1978; + const double t7166 = t1986 * t1759; + const double t7167 = t2069 * t7166; + const double t7169 = t558 * t6541; + const double t7170 = t2069 * t7169; + const double t7173 = t602 * t6509; + const double t7174 = t7173 * t558; + const double t7176 = t2066 * t1986; + const double t7178 = -t4342 + 0.1853171064e1 * t6518 + 0.463292766e0 * t6576 - 0.411815792e0 * t5324 - 0.926585532e0 * t7158 + 0.308861844e0 * t7161 - 0.1853171064e1 * t7164 - 0.1853171064e1 * t7167 - 0.926585532e0 * t7170 + 0.3e2 * t7028 - 0.926585532e0 * t7174 - 0.926585532e0 * t7176; + const double t7186 = t607 * t7045; + const double t7191 = t6601 + t6602 - t6603 + t6604 + t6554 - t6605 + t6606 - t6576 + 0.2e1 * t7158 + 0.8e1 / 0.9e1 * t5324 - 0.2e1 / 0.3e1 * t7161 + t3862; + const double t7192 = t7191 * t393; + const double t7193 = t7192 * t558; + const double t7200 = -0.1853171064e1 * t6514 - 0.926585532e0 * t6543 + 0.926585532e0 * t6556 - 0.926585532e0 * t6562 - 0.297366688e1 * t7020 - 0.926585532e0 * t6511 - 0.463292766e0 * t6554 - 0.463292766e0 * t7186 - 0.463292766e0 * t7193 - 0.297366688e1 * t602 * t7191 + 0.15e2 * t7144 + 0.3e2 * t7033 + 0.6e2 * t7031; + const double t7201 = t7178 + t7200; + const double t7202 = t46 * t7201; + const double t7206 = t5939 * t2089; + const double t7209 = t616 * t6593; + const double t7210 = t1458 * t7209; + const double t7213 = t2099 * t596; + const double t7214 = t7213 * t2105; + const double t7217 = -0.8e1 / 0.9e1 * t7000 + 0.5e1 / 0.27e2 * t4450 * t7003 + 0.5e1 / 0.27e2 * t369 * t7007 + 0.16e2 / 0.9e1 * t4375 * t7011 + 0.8e1 / 0.9e1 * t1476 * t7017 + 0.35e2 / 0.27e2 * t1476 * t7022 + 0.4e2 / 0.27e2 * t5304 * t7025 + 0.8e1 / 0.81e2 * t638 * t7146 * t641 - 0.8e1 / 0.27e2 * t638 * t640 * t7150 + t4330 + t599 * t7202 * t617 / 0.27e2 - 0.8e1 / 0.9e1 * t1457 * t7206 - 0.4e1 / 0.9e1 * t1457 * t7210 - 0.16e2 / 0.27e2 * t1476 * t7214; + const double t7218 = t5939 * t2109; + const double t7221 = t616 * t7059; + const double t7222 = t2104 * t7221; + const double t7225 = t1449 * t7191; + const double t7226 = t1458 * t7225; + const double t7240 = t7059 * t393; + const double t7243 = 0.154430922e0 * t6562; + const double t7244 = 0.308861844e0 * t6518; + const double t7246 = 0.154430922e0 * t6511; + const double t7248 = 0.308861844e0 * t6514; + const double t7249 = 0.154430922e0 * t6543; + const double t7250 = 0.154430922e0 * t6556; + const double t7251 = 0.77215461e-1 * t6576; + const double t7252 = t1968 * t392; + const double t7255 = t551 * t6509; + const double t7262 = 0.77215461e-1 * t6554; + const double t7265 = -t7248 - t7249 + t7250 + t7251 - 0.308861844e0 * t7252 * t1978 - 0.154430922e0 * t7255 * t558 - 0.308861844e0 * t1977 * t7166 - 0.154430922e0 * t1977 * t7169 - t7262 - 0.74341672e0 * t7063 - 0.74341672e0 * t7015; + const double t7266 = 0.4e1 * t7033 + 0.4e1 * t7028 + 0.8e1 * t7031 - 0.154430922e0 * t1974 * t1986 - 0.77215461e-1 * t555 * t7045 - 0.77215461e-1 * t7240 * t558 - t7243 + t7244 + 0.2e1 * t7144 - t7246 + t7265; + const double t7269 = t617 * t6579; + const double t7273 = t641 * t7015; + const double t7277 = t4411 * t7020; + const double t7281 = t641 * t6579; + const double t7285 = 0.1e1 / t7075; + const double t7286 = t7285 * t616; + const double t7287 = t7286 * t7015; + const double t7291 = -0.2e2 / 0.27e2 * t1476 * t7218 - 0.8e1 / 0.27e2 * t1476 * t7222 - 0.1e2 / 0.27e2 * t1476 * t7226 + t4373 + t4395 + 0.5e1 / 0.81e2 * t5847 + 0.4e3 / 0.243e3 * t5850 + 0.8e2 / 0.81e2 * t5853 + 0.2e3 / 0.243e3 * t5856 - 0.4e1 / 0.9e1 * t7266 * t596 + 0.2e1 / 0.27e2 * t4403 * t612 * t7269 + 0.2e1 / 0.27e2 * t599 * t612 * t7273 + 0.35e2 / 0.108e3 * t599 * t612 * t7277 + 0.8e2 / 0.27e2 * t4419 * t640 * t7281 + 0.32e2 / 0.27e2 * t638 * t640 * t7287; + const double t7293 = t4427 * t7020; + const double t7302 = t2045 * t2048; + const double t7313 = t2089 * t1968; + const double t7314 = t5274 * t7313; + const double t7317 = t617 * t6593; + const double t7327 = t630 * t7059; + const double t7331 = 0.7e2 / 0.81e2 * t638 * t640 * t7293 + 0.8e1 / 0.9e1 * t5893 + 0.16e2 / 0.27e2 * t5895 - 0.2e1 / 0.81e2 * t5900 + 0.2e2 / 0.27e2 * t5902 - 0.8e2 / 0.243e3 * t5906 + 0.8e1 / 0.3e1 * t7302 * t1968 - 0.16e2 / 0.27e2 * t638 * t2119 * t2124 - 0.4e2 / 0.81e2 * t638 * t2119 * t2128 + 0.4e1 / 0.3e1 * t2049 * t7059 + 0.2e1 / 0.27e2 * t4450 * t7314 - t1419 * t612 * t7317 / 0.27e2 - 0.2e1 / 0.27e2 * t599 * t2077 * t2081 - 0.5e1 / 0.27e2 * t599 * t2077 * t2085 - t599 * t612 * t7327 / 0.27e2; + const double t7332 = t1450 * t7191; + const double t7341 = 0.1e2 * t7033 + 0.1e2 * t7028 + 0.2e2 * t7031 - 0.68635965333333333333e-1 * t5324 - t7243 + t7244 + 0.5e1 * t7144 - t4458 - t7246 - t7248 - t7249; + const double t7351 = t7250 + t7251 - 0.308861844e0 * t7164 - 0.154430922e0 * t7174 - 0.308861844e0 * t7167 - 0.154430922e0 * t7170 - 0.154430922e0 * t7158 + 0.51476974e-1 * t7161 - 0.154430922e0 * t7176 - 0.77215461e-1 * t7186 - 0.77215461e-1 * t7193 - t7262; + const double t7352 = t7341 + t7351; + const double t7358 = t1493 * t7191; + const double t7362 = t2104 * t7313; + const double t7365 = t1458 * t7002; + const double t7368 = t2104 * t7006; + const double t7374 = t641 * t6593; + const double t7383 = t5299 * t7313; + const double t7386 = t4398 * t7002; + const double t7389 = t595 * t7285; + const double t7392 = -0.5e1 / 0.54e2 * t599 * t612 * t7332 + 0.4e1 / 0.27e2 * t623 * t8 * t7352 * t630 + 0.2e1 / 0.81e2 * t5923 - 0.2e2 / 0.81e2 * t638 * t640 * t7358 + 0.16e2 / 0.9e1 * t1457 * t7362 + 0.2e2 / 0.9e1 * t1457 * t7365 + 0.4e2 / 0.27e2 * t1476 * t7368 - 0.8e2 / 0.81e2 * t1484 * t2119 * t2113 - 0.4e2 / 0.81e2 * t1484 * t640 * t7374 - 0.2e1 / 0.27e2 * t1419 * t2077 * t2052 + 0.2e1 / 0.81e2 * t5926 - 0.8e1 / 0.27e2 * t5930 + 0.8e2 / 0.27e2 * t4397 * t7383 + 0.2e3 / 0.81e2 * t4397 * t7386 - 0.16e2 / 0.3e1 * t7389 * t7015; + const double t7394 = t7217 + t7291 + t7331 + t7392; + const double t7399 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t6496 * t645 - t5226 / 0.4e1 - 0.3e1 / 0.4e1 * t6 * t1740 * t2132 + t3817 - t5237 / 0.4e1 - 0.3e1 / 0.8e1 * t6 * t360 * t7394 ); + const double t7407 = t6 * t662 * t2413 / 0.8e1; + const double t7410 = 0.4e2 / 0.81e2 * t337 * t1141 * t2405; + const double t7413 = 0.1e3 / 0.243e3 * t337 * t1141 * t2409; + const double t7414 = t2352 * t1040; + const double t7417 = t683 * t79; + const double t7418 = t7417 * t2152; + const double t7420 = t2764 * t2152; + const double t7422 = t697 * t2151; + const double t7423 = t7422 * t703; + const double t7424 = t668 * t7423; + const double t7428 = t53 * t2140 * t671 / 0.18e2; + const double t7429 = piecewise_functor_3( t62, 0.0, -t7428 ); + const double t7430 = piecewise_functor_3( t64, t7429, 0.0 ); + const double t7432 = t7430 * t67 * t678; + const double t7433 = t2145 * t676; + const double t7434 = t67 * t678; + const double t7436 = t2145 * t2784; + const double t7437 = t2787 * t676; + const double t7440 = piecewise_functor_3( t62, 0.0, -t7433 * t7434 + t7436 * t7437 + t7430 - t7432 ); + const double t7441 = piecewise_functor_3( t61, -t7428, t7440 ); + const double t7442 = piecewise_functor_3( t73, 0.0, t7441 ); + const double t7443 = t87 * t7442; + const double t7444 = t668 * t7443; + const double t7446 = t74 * t2159; + const double t7447 = t7446 * t684; + const double t7449 = t683 * t2151; + const double t7451 = t74 * t7442; + const double t7453 = t75 * t2151; + const double t7454 = t7453 * t683; + const double t7456 = t689 * t7442; + const double t7458 = 0.1959362e-1 * t7449 + 0.1959362e-1 * t7451 + 0.4930008e0 * t7454 + 0.1643336e0 * t7456; + const double t7459 = t75 * t7458; + const double t7460 = t7459 * t87; + const double t7461 = t2160 * t704; + const double t7462 = t2169 * t683; + const double t7463 = t668 * t7462; + const double t7465 = t693 * t2169; + const double t7466 = t2809 * t2168; + const double t7467 = t7466 * t703; + const double t7468 = t80 * t7467; + const double t7474 = t77 * t7442; + const double t7480 = 0.224928e1 * t7454 + 0.74976e0 * t7456 + 0.241648e-1 * t2157 * t683 + 0.60412e-2 * t7474 + 0.1041564e1 * t2164 * t683 + 0.2083128e0 * t82 * t7442; + const double t7481 = t697 * t7480; + const double t7482 = t80 * t7481; + const double t7483 = 0.2e1 * t7418 + 0.2e1 * t7420 - 0.2e1 * t7424 + 0.2e1 * t7444 + 0.2e1 * t7447 + t7460 - t7461 - 0.2e1 * t7463 - t7465 + 0.2e1 * t7468 - t7482; + const double t7486 = 0.77215461e-1 * t7460; + const double t7487 = t2176 * t74; + const double t7488 = t7487 * t970; + const double t7489 = 0.154430922e0 * t7488; + const double t7492 = t238 * t683; + const double t7495 = t960 * t2176; + const double t7497 = t978 * t2151; + const double t7500 = t245 * t7442; + const double t7503 = t2306 * t683; + const double t7506 = t7483 * t75; + const double t7507 = t7506 * t245; + const double t7508 = 0.77215461e-1 * t7507; + const double t7509 = t2296 * t978; + const double t7510 = 0.77215461e-1 * t7509; + const double t7513 = t2159 * t697; + const double t7518 = t2168 * t703; + const double t7523 = 0.64753871e1 * t7458 * t87 - 0.64753871e1 * t7513 * t703 - 0.64753871e1 * t3455 * t2168 + 0.129507742e2 * t3458 * t7518 - 0.64753871e1 * t975 * t7480; + const double t7525 = t2306 * t74; + const double t7534 = 0.2e1 * t3465 * t2151 + 0.2e1 * t970 * t2151 + 0.2e1 * t7525 * t683 + 0.2e1 * t985 * t7442 + t7523 * t75; + const double t7544 = t238 * t7483; + const double t7551 = t250 * ( -0.463292766e0 * t7534 * t238 - 0.463292766e0 * t2314 * t960 - 0.463292766e0 * t988 * t2176 - 0.463292766e0 * t252 * t7483 - 0.297366688e1 * t7495 - 0.297366688e1 * t7544 + 0.487734912e2 * t2291 * t960 + 0.243867456e2 * t239 * t7483 ); + const double t7558 = t3494 * t2176; + const double t7559 = t7558 * t960; + const double t7562 = t1002 * t7483; + const double t7576 = 0.44286352009183217952e1 * t7418 + 0.44286352009183217952e1 * t7420 - 0.44286352009183217952e1 * t7424 + 0.44286352009183217952e1 * t7444 + 0.44286352009183217952e1 * t7447 + 0.22143176004591608976e1 * t7460 - 0.22143176004591608976e1 * t7461 - 0.44286352009183217952e1 * t7463 - 0.22143176004591608976e1 * t7465 + 0.44286352009183217952e1 * t7468 - 0.22143176004591608976e1 * t7482; + const double t7577 = t7576 * t265; + const double t7578 = t7577 * t269; + const double t7580 = t2172 * t1006; + const double t7585 = t3509 * t2176; + const double t7590 = t3518 * t2176; + const double t7591 = t7590 * t960; + const double t7597 = t7551 * t262 / 0.16e2 - 0.7e1 / 0.32e2 * t2323 * t1003 - 0.7e1 / 0.32e2 * t997 * t2326 + 0.63e2 / 0.64e2 * t259 * t7559 - 0.7e1 / 0.32e2 * t259 * t7562 - 0.23751029502456895713e1 * t7578 - 0.23751029502456895713e1 * t7580 * t270 + 0.19940105822687055308e1 * t2329 * t3510 + 0.19940105822687055308e1 * t1007 * t7585 + 0.19940105822687055308e1 * t3514 * t7585 - 0.9970052911343527654e0 * t1011 * t7591 + 0.19940105822687055308e1 * t1011 * t1012 * t7483; + const double t7598 = t7597 * t273; + const double t7607 = t274 * t3533; + const double t7608 = t261 * t2151; + const double t7609 = t7608 * t683; + const double t7612 = t1025 * t2151; + const double t7613 = t7612 * t960; + const double t7616 = t1021 * t7442; + const double t7621 = t1025 * t2176; + const double t7622 = t7621 * t683; + const double t7625 = t274 * t275; + const double t7626 = t3546 * t2176; + const double t7627 = t7626 * t960; + const double t7630 = t1026 * t7483; + const double t7633 = -0.16e2 / 0.15e2 * t7598 * t276 + 0.32e2 / 0.15e2 * t2336 * t1022 - 0.56e2 / 0.15e2 * t2336 * t1027 + 0.32e2 / 0.15e2 * t1017 * t2339 - 0.32e2 / 0.5e1 * t7607 * t7609 + 0.112e3 / 0.15e2 * t3538 * t7613 + 0.32e2 / 0.15e2 * t274 * t7616 - 0.56e2 / 0.15e2 * t1017 * t2342 + 0.112e3 / 0.15e2 * t3538 * t7622 - 0.28e2 / 0.3e1 * t7625 * t7627 - 0.56e2 / 0.15e2 * t274 * t7630; + const double t7639 = piecewise_functor_3( t248, t7633, -0.14235295576e0 * t7449 - 0.14235295576e0 * t7451 + 0.102414495876e1 * t7454 + 0.34138165292e0 * t7456 ); + const double t7640 = t75 * t7639; + const double t7642 = 0.154430922e0 * t7418; + const double t7643 = 0.154430922e0 * t7420; + const double t7644 = 0.154430922e0 * t7444; + const double t7645 = -t7486 - t7489 - 0.154430922e0 * t3767 * t2299 - 0.154430922e0 * t7492 * t2299 - 0.74341672e0 * t7495 - 0.154430922e0 * t969 * t7497 - 0.154430922e0 * t969 * t7500 - 0.154430922e0 * t969 * t7503 - t7508 - t7510 + 0.2e1 * t7640 - t7642 - t7643 - t7644; + const double t7646 = 0.154430922e0 * t7447; + const double t7647 = 0.77215461e-1 * t7461; + const double t7648 = 0.77215461e-1 * t7465; + const double t7649 = 0.77215461e-1 * t7482; + const double t7650 = t981 * t7442; + const double t7652 = t74 * t2349; + const double t7653 = t7652 * t683; + const double t7660 = t683 * t282; + const double t7661 = t7660 * t2151; + const double t7663 = t3423 * t2151; + const double t7665 = 0.154430922e0 * t7424; + const double t7666 = 0.154430922e0 * t7463; + const double t7667 = 0.154430922e0 * t7468; + const double t7668 = -t7646 + t7647 + t7648 + t7649 + 0.4e1 * t7650 + 0.4e1 * t7653 - 0.74341672e0 * t7544 - 0.77215461e-1 * t966 * t2306 - 0.77215461e-1 * t242 * t7523 + 0.4e1 * t7661 + 0.4e1 * t7663 + t7665 + t7666 - t7667; + const double t7669 = t7645 + t7668; + const double t7672 = t2395 * t1061; + const double t7673 = t1122 * t7672; + const double t7676 = t2395 * t718; + const double t7677 = t1099 * t7676; + const double t7680 = t2395 * t960; + const double t7681 = t1122 * t7680; + const double t7684 = t3387 * t2176; + const double t7685 = t7684 * t1061; + const double t7686 = t1099 * t7685; + const double t7704 = t7410 + t7413 + 0.4e1 / 0.3e1 * t7414 * t960 + 0.4e1 / 0.3e1 * t1041 * t7483 - 0.4e1 / 0.9e1 * t7669 * t286 + 0.2e2 / 0.27e2 * t1121 * t7673 + 0.1e2 / 0.9e1 * t1098 * t7677 + 0.2e2 / 0.27e2 * t1121 * t7681 + 0.35e2 / 0.27e2 * t1121 * t7686 - 0.4e2 / 0.81e2 * t1134 * t2401 * t1135 - 0.8e1 / 0.27e2 * t337 * t2401 * t1152 - t1045 * t2370 * t1046 / 0.27e2 - t289 * t2370 * t1084 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t2370 * t1092; + const double t7706 = 0.8e1 / 0.27e2 * t3585 * t2392; + const double t7708 = 0.1e2 / 0.27e2 * t3585 * t2396; + const double t7709 = t1140 * t2400; + const double t7712 = 0.4e2 / 0.243e3 * t337 * t7709 * t342; + const double t7713 = t750 * t2369; + const double t7716 = t289 * t7713 * t308 / 0.81e2; + const double t7717 = t2867 * t2172; + const double t7719 = t667 * t7576; + const double t7723 = t2176 * t2911; + const double t7728 = t2176 * t2917; + const double t7738 = t2213 * t207; + const double t7743 = t124 * t2176; + const double t7744 = t7743 * t758; + const double t7747 = t139 * t2176; + const double t7748 = t7747 * t755; + const double t7755 = t141 * t2176; + const double t7756 = t7755 * t758; + const double t7761 = t7743 * t755; + const double t7770 = 0.1395407609538629622e0 * t2214 * t857 - 0.46513586984620987398e0 * t2214 * t849 + 0.23256793492310493699e0 * t3234 * t2217 + 0.23256793492310493699e0 * t7738 * t853 + 0.5080572e0 * t2285 * t758 + 0.45789784367447005248e-1 * t4649 * t7744 - 0.64105698114425807349e-1 * t2999 * t7748 + 0.22894892183723502624e-1 * t5033 * t7744 - 0.45789784367447005249e-1 * t3004 * t7748 + 0.15133340850935852204e0 * t4941 * t7756 + 0.18160009021123022644e0 * t4938 * t7756 - 0.24213345361497363526e0 * t2991 * t7761 + 0.9080004510561511322e-1 * t4779 * t7756 - 0.18160009021123022644e0 * t2996 * t7761 - t783 * t7576 / 0.2e1; + const double t7777 = t2284 * t192; + const double t7784 = t758 * t2176; + const double t7791 = t171 * t2244; + const double t7795 = t155 * t7483; + const double t7808 = 0.54e2 * t7784 + 0.54e2 * t7795 - 0.121933728e2 * t7418 - 0.121933728e2 * t7420 + 0.121933728e2 * t7424 - 0.121933728e2 * t7444 - 0.121933728e2 * t7447 - 0.60966864e1 * t7460 + 0.60966864e1 * t7461 + 0.121933728e2 * t7463 + 0.60966864e1 * t7465 - 0.121933728e2 * t7468 + 0.60966864e1 * t7482; + const double t7811 = -0.1573689609226455711e3 * t2211 * t758 - 0.1049126406150970474e3 * t177 * t7483 + 0.315e3 / 0.4e1 * t3305 * t7784 + 0.63e2 / 0.2e1 * t3308 * t2176 + 0.63e2 / 0.2e1 * t761 * t7483 + 0.63e2 / 0.2e1 * t7791 * t758 + 0.9e1 * t199 * t7808; + const double t7812 = t7811 * t207; + const double t7815 = t229 * t7483; + const double t7820 = t823 * t7483; + const double t7823 = t2195 * t118; + const double t7828 = t816 * t2176; + const double t7831 = t226 * t7483; + const double t7844 = 0.15943086723305958463e3 * t7418 + 0.15943086723305958463e3 * t7420 - 0.15943086723305958463e3 * t7424 + 0.15943086723305958463e3 * t7444 + 0.15943086723305958463e3 * t7447 + 0.79715433616529792314e2 * t7460 - 0.79715433616529792314e2 * t7461 - 0.15943086723305958463e3 * t7463 - 0.79715433616529792314e2 * t7465 + 0.15943086723305958463e3 * t7468 - 0.79715433616529792314e2 * t7482; + const double t7847 = t2228 * t228; + const double t7856 = 0.30103061542585260236e1 * t7828 * t758 - 0.75257653856463150591e0 * t7831 + 0.7715016088131e-2 * t7844 * t192 - 0.15430032176262e-1 * t7847 * t758 - 0.15430032176262e-1 * t3217 * t2176 + 0.46290096528786e-1 * t3220 * t7784 - 0.15430032176262e-1 * t951 * t7483; + const double t7858 = t914 * t7576; + const double t7863 = t3065 * t2172; + const double t7866 = t2985 * t2172; + const double t7867 = t7866 * t786; + const double t7870 = -t3125 * t2172 / 0.2e1 + 0.5079873114034015574e0 * t789 * t7483 - 0.73807311952199090995e0 * t792 * t7483 - 0.5080572e0 * t7777 * t3036 + 0.26165591067112574428e-2 * t7812 * t210 - 0.30266681701871704407e-1 * t817 * t7815 - 0.22700011276403778305e-1 * t890 * t2279 - 0.22700011276403778305e-1 * t227 * t7820 + 0.3e1 * t7823 * t755 + 0.5079873114034015574e0 * t3122 * t2176 + t7856 * t139 + t127 * t7858 / 0.4e1 + t809 * t2182 / 0.4e1 + t127 * t7863 / 0.4e1 - t4612 * t7867 / 0.8e1; + const double t7872 = t122 * t2176; + const double t7873 = t7872 * t758; + const double t7878 = t121 * t2176; + const double t7879 = t7878 * t755; + const double t7888 = t2272 * t816; + const double t7892 = 0.32511306465992081054e3 * t3069 * t2239; + const double t7893 = t2239 * t758; + const double t7901 = 0.81278266164980202635e2 * t867 * t2176; + const double t7913 = t186 * t2269; + const double t7929 = -0.1458e4 * t7784 - 0.1458e4 * t7795 + 0.6584421312e3 * t7418 + 0.6584421312e3 * t7420 - 0.6584421312e3 * t7424 + 0.6584421312e3 * t7444 + 0.6584421312e3 * t7447 + 0.3292210656e3 * t7460 - 0.3292210656e3 * t7461 - 0.6584421312e3 * t7463 - 0.3292210656e3 * t7465 + 0.6584421312e3 * t7468 - 0.3292210656e3 * t7482; + const double t7932 = t7892 + 0.97533919397976243162e3 * t3074 * t7893 + 0.65022612931984162108e3 * t870 * t7784 + 0.32511306465992081054e3 * t870 * t7795 + t7901 + 0.81278266164980202635e2 * t214 * t7483 + 0.20308706906259249944e2 * t7893 + 0.10154353453129624972e2 * t191 * t7483 + 0.100821516374592e0 * t3088 * t7784 + 0.33607172124864e-1 * t3091 * t2176 + 0.33607172124864e-1 * t877 * t7483 + 0.33607172124864e-1 * t7913 * t758 + 0.8401793031216e-2 * t213 * t7929; + const double t7933 = t7932 * t226; + const double t7936 = t228 * t2176; + const double t7943 = t187 * t7483; + const double t7945 = -0.218660588126010225e1 * t7936 * t758 + 0.1093302940630051125e1 * t192 * t7483 + 0.29624556307641067223e1 * t2223 * t758 - 0.98748521025470224076e0 * t7943; + const double t7953 = t159 * t2208; + const double t7967 = 0.18e2 * t7418 + 0.18e2 * t7420 - 0.18e2 * t7424 + 0.18e2 * t7444 + 0.18e2 * t7447 + 0.9e1 * t7460 - 0.9e1 * t7461 - 0.18e2 * t7463 - 0.9e1 * t7465 + 0.18e2 * t7468 - 0.9e1 * t7482; + const double t7970 = t157 * t2176; + const double t7973 = t156 * t7483; + const double t7975 = 0.45e2 / 0.4e1 * t3333 * t7784 + 0.15e2 / 0.2e1 * t3336 * t2176 + 0.15e2 / 0.2e1 * t893 * t7483 + 0.15e2 / 0.2e1 * t7953 * t758 + 0.3e1 * t171 * t7967 + 0.309746542166208e1 * t7970 * t758 + 0.619493084332416e1 * t7973; + const double t7976 = t7975 * t180; + const double t7981 = t2176 * t755; + const double t7986 = t840 * t7483; + const double t7989 = t2233 * t122; + const double t7992 = -0.81398777223086727946e0 * t4617 * t7873 - 0.69770380476931481098e0 * t4622 * t7873 + 0.1162839674615524685e1 * t3007 * t7879 - 0.3488519023846574055e0 * t4629 * t7873 + 0.697703804769314811e0 * t3116 * t7879 + 0.41210805930702304724e-1 * t4644 * t7744 - 0.30266681701871704407e-1 * t7888 * t818 + 0.75666704254679261017e-2 * t7933 * t229 + t7945 * t121 - 0.93027173969241974797e-1 * t7976 * t183 + 0.14761462390439818199e1 * t3149 * t7784 - 0.14761462390439818199e1 * t3257 * t7981 - 0.7619809671051023361e0 * t3158 * t7784 - 0.6541397766778143607e-2 * t208 * t7986 + 0.6e1 * t7989 * t755; + const double t7993 = t2201 * t119; + const double t7996 = t2247 * t832; + const double t8011 = t210 * t7483; + const double t8018 = t209 * t2176; + const double t8021 = t182 * t7483; + const double t8023 = t207 * t2176; + const double t8028 = 0.18591590853463565788e1 * t8018 * t758 - 0.12394393902309043859e1 * t8021 - 0.20990203539014021192e1 * t8023 * t758 + 0.83960814156056084769e0 * t180 * t7483; + const double t8031 = t2176 * t167; + const double t8037 = t7483 * t152 + 0.2e1 * t2961 * t7784 - t861 * t7483 - 0.2e1 * t8031 * t758; + const double t8038 = t8037 * t164; + const double t8041 = t856 * t7483; + const double t8046 = t183 * t7483; + const double t8049 = 0.4e1 * t7993 * t755 - 0.91579568734894010498e-2 * t7996 * t834 - 0.6541397766778143607e-2 * t2248 * t841 - t3143 * t2172 / 0.2e1 - 0.22700011276403778305e-1 * t2273 * t824 + 0.60533363403743408814e-1 * t2273 * t828 - 0.30266681701871704407e-1 * t2972 * t2276 - 0.6541397766778143607e-2 * t775 * t2254 - 0.91579568734894010498e-2 * t833 * t8011 + 0.183159137469788021e-1 * t2248 * t845 - 0.91579568734894010498e-2 * t3049 * t2251 + t8028 * t119 + 0.5080572e0 * t8038 * t147 + 0.1395407609538629622e0 * t181 * t8041 + 0.1395407609538629622e0 * t907 * t2220 + 0.23256793492310493699e0 * t852 * t8046; + const double t8052 = piecewise_functor_3( t50, 0.5080572e0 * t7717 + 0.5080572e0 * t7719 - 0.5080572e0 * t7483 * t734 + 0.5080572e0 * t7723 * t733 + 0.5080572e0 * t7483 * t737 - 0.5080572e0 * t7728 * t733, t7770 + t7870 + t7992 + t8049 ); + const double t8062 = t1151 * t7483; + const double t8069 = t1156 * t7483; + const double t8076 = t324 * t7483; + const double t8083 = t7706 + t7708 - t7712 - t7716 - 0.8e1 / 0.9e1 * t8052 + 0.4e1 / 0.3e1 * t3588 * t2176 - 0.2e2 / 0.81e2 * t337 * t2401 * t1157 - 0.8e1 / 0.27e2 * t337 * t1147 * t2405 - 0.8e1 / 0.27e2 * t337 * t341 * t8062 - 0.2e2 / 0.81e2 * t337 * t1147 * t2409 - 0.2e2 / 0.81e2 * t337 * t341 * t8069 - t289 * t1080 * t2374 / 0.27e2 - t289 * t303 * t8076 / 0.27e2 - 0.5e1 / 0.54e2 * t289 * t1080 * t2378; + const double t8085 = t1091 * t7483; + const double t8089 = t2391 * t718; + const double t8090 = t1122 * t8089; + const double t8093 = t2391 * t960; + const double t8094 = t3601 * t8093; + const double t8097 = t2860 * t7680; + const double t8100 = t3747 * t7685; + const double t8103 = t2854 * t8089; + const double t8106 = t340 * t3618; + const double t8107 = t8106 * t8093; + const double t8110 = t2854 * t7672; + const double t8113 = t3408 * t7676; + const double t8116 = t307 * t7483; + const double t8117 = t1122 * t8116; + const double t8120 = t3576 * t2395; + const double t8123 = t1090 * t7483; + const double t8124 = t1099 * t8123; + const double t8131 = 0.2e1 * t7661 + 0.2e1 * t7663 + 0.2e1 * t7650 + 0.2e1 * t7653 + t7640; + const double t8132 = t339 * t8131; + const double t8140 = t1069 * t2306; + const double t8142 = t298 * t7523; + const double t8153 = -0.463292766e0 * t7460 - 0.297366688e1 * t293 * t7483 - 0.926585532e0 * t7488 - 0.463292766e0 * t8140 - 0.463292766e0 * t8142 - 0.463292766e0 * t7507 - 0.463292766e0 * t7509 + 0.15e2 * t7640 - 0.926585532e0 * t7418 - 0.926585532e0 * t7420 - 0.926585532e0 * t7444 - 0.926585532e0 * t7447 + 0.463292766e0 * t7461 + 0.463292766e0 * t7465; + const double t8155 = t1061 * t2176; + const double t8159 = t3434 * t2299; + const double t8161 = t293 * t683; + const double t8162 = t8161 * t2299; + const double t8164 = t1072 * t7497; + const double t8166 = t1072 * t7500; + const double t8168 = t1072 * t7503; + const double t8175 = 0.463292766e0 * t7482 - 0.297366688e1 * t8155 + 0.3e2 * t7650 + 0.3e2 * t7653 - 0.926585532e0 * t8159 - 0.926585532e0 * t8162 - 0.926585532e0 * t8164 - 0.926585532e0 * t8166 - 0.926585532e0 * t8168 + 0.3e2 * t7661 + 0.3e2 * t7663 + 0.926585532e0 * t7424 + 0.926585532e0 * t7463 - 0.926585532e0 * t7468; + const double t8176 = t8153 + t8175; + const double t8177 = t46 * t8176; + const double t8181 = -0.5e1 / 0.54e2 * t289 * t303 * t8085 + 0.8e1 / 0.9e1 * t1098 * t8090 + 0.8e1 / 0.9e1 * t1121 * t8094 + 0.5e1 / 0.54e2 * t48 * t8097 + 0.35e2 / 0.108e3 * t48 * t8100 + 0.4e2 / 0.27e2 * t3403 * t8103 + 0.32e2 / 0.27e2 * t2853 * t8107 + 0.2e2 / 0.27e2 * t2853 * t8110 + 0.1e3 / 0.81e2 * t3403 * t8113 - 0.8e1 / 0.27e2 * t1121 * t8117 - 0.1e2 / 0.27e2 * t1121 * t8120 - 0.1e2 / 0.27e2 * t1121 * t8124 + 0.8e1 / 0.81e2 * t337 * t8132 * t342 + t289 * t8177 * t308 / 0.27e2; + const double t8182 = t2386 * t323; + const double t8183 = t8182 * t1100; + const double t8186 = t2386 * t286; + const double t8187 = t8186 * t1123; + const double t8190 = t8182 * t1127; + const double t8193 = t3676 * t2391; + const double t8198 = t289 * t1050 * t2374 / 0.81e2; + const double t8201 = 0.5e1 / 0.162e3 * t289 * t1050 * t2378; + const double t8202 = t2860 * t8089; + const double t8205 = t302 * t286; + const double t8206 = t8205 * t8093; + const double t8209 = t2860 * t7672; + const double t8212 = t3747 * t7676; + const double t8220 = -t7486 - t7489 - 0.77215461e-1 * t8140 - 0.77215461e-1 * t8142 - t7508 - t7510 + 0.5e1 * t7640 - t7642 - t7643 - t7644 - t7646 + t7647 + t7648; + const double t8230 = t7649 + 0.1e2 * t7650 + 0.1e2 * t7653 - 0.154430922e0 * t8159 - 0.154430922e0 * t8162 - 0.154430922e0 * t8164 - 0.154430922e0 * t8166 - 0.154430922e0 * t8168 + 0.1e2 * t7661 + 0.1e2 * t7663 + t7665 + t7666 - t7667; + const double t8231 = t8220 + t8230; + const double t8236 = t2854 * t7680; + const double t8239 = t3408 * t7685; + const double t8245 = 0.4e1 / 0.27e2 * t317 * t651 * t2386 * t324; + const double t8246 = -0.4e1 / 0.9e1 * t1098 * t8183 - 0.8e1 / 0.27e2 * t1121 * t8187 - 0.1e2 / 0.27e2 * t1121 * t8190 - 0.8e1 / 0.27e2 * t1121 * t8193 + t8198 + t8201 + t3746 * t8202 / 0.27e2 + 0.2e1 / 0.27e2 * t48 * t8206 + 0.5e1 / 0.54e2 * t48 * t8209 + 0.5e1 / 0.54e2 * t3746 * t8212 - 0.16e2 / 0.3e1 * t3619 * t7495 + 0.4e1 / 0.27e2 * t317 * t8 * t8231 * t324 + 0.2e2 / 0.27e2 * t2853 * t8236 + 0.7e2 / 0.81e2 * t2853 * t8239 - t8245; + const double t8248 = t7704 + t8083 + t8181 + t8246; + const double t8253 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t658 * t2413 - t7407 - 0.3e1 / 0.8e1 * t6 * t29 * t8248 ); + const double t8260 = t6 * t1177 * t2691 / 0.8e1; + const double t8267 = 0.4e1 / 0.27e2 * t623 * t651 * t2664 * t630; + const double t8292 = t4387 * t2454; + const double t8298 = 0.8e1 / 0.27e2 * t4360 * t2670; + const double t8300 = 0.1e2 / 0.27e2 * t4360 * t2674; + const double t8301 = t1140 * t2678; + const double t8304 = 0.4e2 / 0.243e3 * t638 * t8301 * t641; + const double t8305 = t750 * t2647; + const double t8308 = t599 * t8305 * t617 / 0.81e2; + const double t8320 = t2664 * t629; + const double t8354 = t599 * t1424 * t2652 / 0.81e2; + const double t8357 = 0.5e1 / 0.162e3 * t599 * t1424 * t2656; + const double t8360 = 0.4e2 / 0.81e2 * t638 * t1489 * t2683; + const double t8363 = 0.1e3 / 0.243e3 * t638 * t1489 * t2687; + const double t8369 = t2454 * t3907; + const double t8372 = t2454 * t3913; + const double t8381 = t2491 * t520; + const double t8390 = t2550 * t1344; + const double t8401 = t1344 * t2454; + const double t8404 = t2506 * t541; + const double t8413 = t522 * t2454; + const double t8416 = t520 * t2454; + const double t8421 = t435 * t2454; + const double t8425 = t434 * t2454; + const double t8433 = t437 * t2454; + const double t8439 = t452 * t2454; + const double t8447 = t454 * t2454; + const double t8468 = t484 * t2522; + const double t8480 = t2479 * t432; + const double t8483 = t2454 * t480; + const double t8495 = t2473 * t431; + const double t8500 = t2511 * t435; + const double t8503 = t541 * t2454; + const double t8514 = t472 * t2486; + const double t8517 = t470 * t2454; + const double t8531 = 0.32511306465992081054e3 * t4178 * t2517; + const double t8538 = 0.81278266164980202635e2 * t1391 * t2454; + const double t8544 = t499 * t2547; + const double t8554 = t2562 * t505; + const double t8559 = t4004 * t2450; + const double t8567 = t2525 * t1328; + const double t8894 = t1759 * t397; + const double t8895 = t8894 * t2430; + const double t8897 = t6513 * t2430; + const double t8899 = t1773 * t2429; + const double t8900 = t8899 * t1779; + const double t8901 = t1744 * t8900; + const double t8905 = t53 * t2418 * t1747 / 0.18e2; + const double t8906 = piecewise_functor_3( t380, 0.0, -t8905 ); + const double t8907 = piecewise_functor_3( t382, t8906, 0.0 ); + const double t8909 = t8907 * t385 * t1754; + const double t8910 = t2423 * t1752; + const double t8911 = t385 * t1754; + const double t8913 = t2423 * t6533; + const double t8914 = t6536 * t1752; + const double t8917 = piecewise_functor_3( t380, 0.0, -t8910 * t8911 + t8913 * t8914 + t8907 - t8909 ); + const double t8918 = piecewise_functor_3( t379, -t8905, t8917 ); + const double t8919 = piecewise_functor_3( t391, 0.0, t8918 ); + const double t8920 = t405 * t8919; + const double t8921 = t1744 * t8920; + const double t8923 = t392 * t2437; + const double t8924 = t8923 * t1760; + const double t8926 = t1759 * t2429; + const double t8928 = t392 * t8919; + const double t8930 = t393 * t2429; + const double t8931 = t8930 * t1759; + const double t8933 = t1765 * t8919; + const double t8935 = 0.1959362e-1 * t8926 + 0.1959362e-1 * t8928 + 0.4930008e0 * t8931 + 0.1643336e0 * t8933; + const double t8936 = t393 * t8935; + const double t8937 = t8936 * t405; + const double t8938 = t2438 * t1780; + const double t8939 = t2447 * t1759; + const double t8940 = t1744 * t8939; + const double t8942 = t1769 * t2447; + const double t8943 = t6559 * t2446; + const double t8944 = t8943 * t1779; + const double t8945 = t398 * t8944; + const double t8951 = t395 * t8919; + const double t8957 = 0.224928e1 * t8931 + 0.74976e0 * t8933 + 0.241648e-1 * t2435 * t1759 + 0.60412e-2 * t8951 + 0.1041564e1 * t2442 * t1759 + 0.2083128e0 * t400 * t8919; + const double t8958 = t1773 * t8957; + const double t8959 = t398 * t8958; + const double t8960 = 0.2e1 * t8895 + 0.2e1 * t8897 - 0.2e1 * t8901 + 0.2e1 * t8921 + 0.2e1 * t8924 + t8937 - t8938 - 0.2e1 * t8940 - t8942 + 0.2e1 * t8945 - t8959; + const double t8961 = t1493 * t8960; + const double t8968 = t630 * t8960; + const double t8975 = t2669 * t1787; + const double t8976 = t5299 * t8975; + const double t8979 = t639 * t7285; + const double t8980 = t2669 * t1968; + const double t8981 = t8979 * t8980; + const double t8984 = t6506 * t2450; + const double t8997 = 0.44286352009183217952e1 * t8895 + 0.44286352009183217952e1 * t8897 - 0.44286352009183217952e1 * t8901 + 0.44286352009183217952e1 * t8921 + 0.44286352009183217952e1 * t8924 + 0.22143176004591608976e1 * t8937 - 0.22143176004591608976e1 * t8938 - 0.44286352009183217952e1 * t8940 - 0.22143176004591608976e1 * t8942 + 0.44286352009183217952e1 * t8945 - 0.22143176004591608976e1 * t8959; + const double t8998 = t1182 * t8997; + const double t9019 = t539 * t8960; + const double t9032 = 0.15943086723305958463e3 * t8895 + 0.15943086723305958463e3 * t8897 - 0.15943086723305958463e3 * t8901 + 0.15943086723305958463e3 * t8921 + 0.15943086723305958463e3 * t8924 + 0.79715433616529792314e2 * t8937 - 0.79715433616529792314e2 * t8938 - 0.15943086723305958463e3 * t8940 - 0.79715433616529792314e2 * t8942 + 0.15943086723305958463e3 * t8945 - 0.79715433616529792314e2 * t8959; + const double t9039 = t1810 * t2454; + const double t9044 = 0.30103061542585260236e1 * t8401 * t1810 - 0.75257653856463150591e0 * t9019 + 0.7715016088131e-2 * t9032 * t505 - 0.15430032176262e-1 * t8404 * t1810 - 0.15430032176262e-1 * t5656 * t2454 + 0.46290096528786e-1 * t4311 * t9039 - 0.15430032176262e-1 * t1361 * t8960; + const double t9046 = t6695 * t2450; + const double t9053 = t1335 * t8960; + const double t9056 = t542 * t8960; + const double t9065 = t2517 * t1810; + const double t9070 = t468 * t8960; + const double t9099 = -0.1458e4 * t9039 - 0.1458e4 * t9070 + 0.6584421312e3 * t8895 + 0.6584421312e3 * t8897 - 0.6584421312e3 * t8901 + 0.6584421312e3 * t8921 + 0.6584421312e3 * t8924 + 0.3292210656e3 * t8937 - 0.3292210656e3 * t8938 - 0.6584421312e3 * t8940 - 0.3292210656e3 * t8942 + 0.6584421312e3 * t8945 - 0.3292210656e3 * t8959; + const double t9102 = t8531 + 0.97533919397976243162e3 * t4183 * t9065 + 0.65022612931984162108e3 * t1394 * t9039 + 0.32511306465992081054e3 * t1394 * t9070 + t8538 + 0.81278266164980202635e2 * t527 * t8960 + 0.20308706906259249944e2 * t9065 + 0.10154353453129624972e2 * t504 * t8960 + 0.100821516374592e0 * t4197 * t9039 + 0.33607172124864e-1 * t5489 * t2454 + 0.33607172124864e-1 * t1401 * t8960 + 0.33607172124864e-1 * t8544 * t1810 + 0.8401793031216e-2 * t526 * t9099; + const double t9103 = t9102 * t539; + const double t9106 = t8559 * t1858; + const double t9109 = 0.23256793492310493699e0 * t5603 * t2495 - 0.5080572e0 * t8554 * t6781 + 0.60533363403743408814e-1 * t2551 * t1867 - 0.30266681701871704407e-1 * t5548 * t2554 + t9044 * t452 + t440 * t9046 / 0.4e1 - 0.30266681701871704407e-1 * t8390 * t1861 - 0.22700011276403778305e-1 * t2551 * t1864 - 0.6541397766778143607e-2 * t521 * t9053 - 0.30266681701871704407e-1 * t1345 * t9056 + 0.183159137469788021e-1 * t2526 * t1874 - 0.91579568734894010498e-2 * t5699 * t2529 - 0.91579568734894010498e-2 * t8567 * t1897 + 0.75666704254679261017e-2 * t9103 * t542 - t5627 * t9106 / 0.8e1; + const double t9110 = t8421 * t1810; + const double t9115 = t523 * t8960; + const double t9118 = t1319 * t8960; + const double t9123 = t8425 * t1807; + const double t9130 = t8433 * t1810; + const double t9135 = t8439 * t1807; + const double t9142 = t8447 * t1810; + const double t9147 = -0.81398777223086727946e0 * t5571 * t9110 - 0.6541397766778143607e-2 * t1835 * t2532 - 0.91579568734894010498e-2 * t1329 * t9115 + 0.1395407609538629622e0 * t494 * t9118 - 0.69770380476931481098e0 * t5576 * t9110 + 0.1162839674615524685e1 * t3966 * t9123 - 0.3488519023846574055e0 * t5610 * t9110 + 0.697703804769314811e0 * t3971 * t9123 + 0.41210805930702304724e-1 * t5566 * t9130 + 0.45789784367447005248e-1 * t5519 * t9130 - 0.64105698114425807349e-1 * t4147 * t9135 + 0.22894892183723502624e-1 * t5523 * t9130 - 0.45789784367447005249e-1 * t4153 * t9135 + 0.15133340850935852204e0 * t5632 * t9142 + 0.18160009021123022644e0 * t5635 * t9142; + const double t9149 = t8433 * t1807; + const double t9162 = t500 * t8960; + const double t9164 = -0.218660588126010225e1 * t8503 * t1810 + 0.1093302940630051125e1 * t505 * t8960 + 0.29624556307641067223e1 * t2501 * t1810 - 0.98748521025470224076e0 * t9162; + const double t9166 = t1310 * t8997; + const double t9202 = 0.54e2 * t9039 + 0.54e2 * t9070 - 0.121933728e2 * t8895 - 0.121933728e2 * t8897 + 0.121933728e2 * t8901 - 0.121933728e2 * t8921 - 0.121933728e2 * t8924 - 0.60966864e1 * t8937 + 0.60966864e1 * t8938 + 0.121933728e2 * t8940 + 0.60966864e1 * t8942 - 0.121933728e2 * t8945 + 0.60966864e1 * t8959; + const double t9205 = -0.1573689609226455711e3 * t2489 * t1810 - 0.1049126406150970474e3 * t490 * t8960 + 0.315e3 / 0.4e1 * t4225 * t9039 + 0.63e2 / 0.2e1 * t5423 * t2454 + 0.63e2 / 0.2e1 * t1248 * t8960 + 0.63e2 / 0.2e1 * t8468 * t1810 + 0.9e1 * t512 * t9202; + const double t9206 = t9205 * t520; + const double t9219 = -0.24213345361497363526e0 * t4156 * t9149 + 0.9080004510561511322e-1 * t5537 * t9142 - 0.18160009021123022644e0 * t4161 * t9149 + t9164 * t434 + t440 * t9166 / 0.4e1 + t1854 * t2460 / 0.4e1 - 0.6541397766778143607e-2 * t2526 * t1871 - t1285 * t8997 / 0.2e1 + 0.5079873114034015574e0 * t5732 * t2454 + 0.26165591067112574428e-2 * t9206 * t523 - t6843 * t2450 / 0.2e1 + 0.5079873114034015574e0 * t1291 * t8960 - t5743 * t2450 / 0.2e1 + 0.3e1 * t8495 * t1807 - 0.73807311952199090995e0 * t1294 * t8960; + const double t9220 = t1351 * t8960; + const double t9227 = t495 * t8960; + const double t9233 = 0.18591590853463565788e1 * t8413 * t1810 - 0.12394393902309043859e1 * t9227 - 0.20990203539014021192e1 * t8416 * t1810 + 0.83960814156056084769e0 * t493 * t8960; + const double t9237 = t2454 * t1807; + const double t9248 = -t1266 * t8960 - 0.2e1 * t8483 * t1810 + 0.2e1 * t4110 * t9039 + t8960 * t465; + const double t9249 = t9248 * t477; + const double t9273 = 0.18e2 * t8895 + 0.18e2 * t8897 - 0.18e2 * t8901 + 0.18e2 * t8921 + 0.18e2 * t8924 + 0.9e1 * t8937 - 0.9e1 * t8938 - 0.18e2 * t8940 - 0.9e1 * t8942 + 0.18e2 * t8945 - 0.9e1 * t8959; + const double t9278 = t469 * t8960; + const double t9280 = 0.45e2 / 0.4e1 * t4245 * t9039 + 0.15e2 / 0.2e1 * t5446 * t2454 + 0.15e2 / 0.2e1 * t1217 * t8960 + 0.15e2 / 0.2e1 * t8514 * t1810 + 0.3e1 * t484 * t9273 + 0.309746542166208e1 * t8517 * t1810 + 0.619493084332416e1 * t9278; + const double t9281 = t9280 * t493; + const double t9290 = t496 * t8960; + const double t9299 = -0.22700011276403778305e-1 * t540 * t9220 - 0.22700011276403778305e-1 * t1894 * t2557 + t9233 * t432 + 0.14761462390439818199e1 * t4086 * t9039 - 0.14761462390439818199e1 * t4318 * t9237 - 0.7619809671051023361e0 * t4083 * t9039 + 0.5080572e0 * t9249 * t460 + 0.5080572e0 * t2563 * t1810 - 0.93027173969241974797e-1 * t9281 * t496 + 0.4e1 * t8480 * t1807 + 0.6e1 * t8500 * t1807 + 0.1395407609538629622e0 * t1961 * t2498 + 0.23256793492310493699e0 * t1314 * t9290 + 0.23256793492310493699e0 * t8381 * t1900 + 0.1395407609538629622e0 * t2492 * t1903 - 0.46513586984620987398e0 * t2492 * t1906; + const double t9302 = piecewise_functor_3( t371, 0.5080572e0 * t8984 + 0.5080572e0 * t8998 - 0.5080572e0 * t8960 * t1210 + 0.5080572e0 * t8369 * t1797 + 0.5080572e0 * t8960 * t1213 - 0.5080572e0 * t8372 * t1797, t9109 + t9147 + t9219 + t9299 ); + const double t9307 = t8292 * t2059; + const double t9308 = t4398 * t9307; + const double t9311 = -0.2e2 / 0.81e2 * t638 * t640 * t8961 - t1419 * t2648 * t2052 / 0.27e2 - t8267 - t599 * t612 * t8968 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2077 * t2656 + 0.4e2 / 0.27e2 * t4397 * t8976 + 0.32e2 / 0.27e2 * t5304 * t8981 + t8298 + t8300 - t8304 - t8308 - 0.8e1 / 0.9e1 * t9302 - t599 * t2077 * t2652 / 0.27e2 + 0.7e2 / 0.81e2 * t5304 * t9308; + const double t9312 = t2454 * t392; + const double t9313 = t9312 * t1978; + const double t9314 = 0.154430922e0 * t9313; + const double t9315 = t7163 * t2577; + const double t9317 = t602 * t1759; + const double t9318 = t9317 * t2577; + const double t9320 = t1986 * t2429; + const double t9321 = t2069 * t9320; + const double t9323 = t558 * t8919; + const double t9324 = t2069 * t9323; + const double t9326 = t2584 * t1759; + const double t9327 = t2069 * t9326; + const double t9329 = 0.154430922e0 * t8901; + const double t9330 = 0.154430922e0 * t8940; + const double t9331 = 0.154430922e0 * t8945; + const double t9332 = t8960 * t393; + const double t9333 = t9332 * t558; + const double t9334 = 0.77215461e-1 * t9333; + const double t9335 = 0.154430922e0 * t8895; + const double t9336 = 0.154430922e0 * t8897; + const double t9337 = 0.154430922e0 * t8921; + const double t9338 = -t9314 - 0.154430922e0 * t9315 - 0.154430922e0 * t9318 - 0.154430922e0 * t9321 - 0.154430922e0 * t9324 - 0.154430922e0 * t9327 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337; + const double t9339 = 0.154430922e0 * t8924; + const double t9340 = 0.77215461e-1 * t8938; + const double t9341 = 0.77215461e-1 * t8942; + const double t9342 = t2066 * t2584; + const double t9346 = t2437 * t1773; + const double t9351 = t2446 * t1779; + const double t9356 = 0.64753871e1 * t8935 * t405 - 0.64753871e1 * t9346 * t1779 - 0.64753871e1 * t7037 * t2446 + 0.129507742e2 * t7040 * t9351 - 0.64753871e1 * t1983 * t8957; + const double t9357 = t607 * t9356; + const double t9359 = 0.77215461e-1 * t8937; + const double t9360 = t1759 * t592; + const double t9361 = t9360 * t2429; + const double t9363 = t7030 * t2429; + const double t9365 = t2574 * t1986; + const double t9366 = 0.77215461e-1 * t9365; + const double t9367 = 0.77215461e-1 * t8959; + const double t9368 = t1989 * t8919; + const double t9370 = t392 * t2627; + const double t9371 = t9370 * t1759; + const double t9374 = t2584 * t392; + const double t9383 = 0.2e1 * t9374 * t1759 + 0.2e1 * t1978 * t2429 + 0.2e1 * t1993 * t8919 + 0.2e1 * t7047 * t2429 + t9356 * t393; + const double t9392 = t1968 * t2454; + const double t9394 = t551 * t8960; + const double t9401 = t250 * ( -0.463292766e0 * t9383 * t551 - 0.463292766e0 * t2592 * t1968 - 0.463292766e0 * t1996 * t2454 - 0.463292766e0 * t563 * t8960 - 0.297366688e1 * t9392 - 0.297366688e1 * t9394 + 0.487734912e2 * t2569 * t1968 + 0.243867456e2 * t552 * t8960 ); + const double t9408 = t7077 * t2454; + const double t9409 = t9408 * t1968; + const double t9412 = t2010 * t8960; + const double t9415 = t8997 * t576; + const double t9416 = t9415 * t580; + const double t9418 = t2450 * t2014; + const double t9423 = t7092 * t2454; + const double t9428 = t7101 * t2454; + const double t9429 = t9428 * t1968; + const double t9435 = t9401 * t573 / 0.16e2 - 0.7e1 / 0.32e2 * t2601 * t2011 - 0.7e1 / 0.32e2 * t2005 * t2604 + 0.63e2 / 0.64e2 * t570 * t9409 - 0.7e1 / 0.32e2 * t570 * t9412 - 0.23751029502456895713e1 * t9416 - 0.23751029502456895713e1 * t9418 * t581 + 0.19940105822687055308e1 * t2607 * t7093 + 0.19940105822687055308e1 * t2015 * t9423 + 0.19940105822687055308e1 * t7097 * t9423 - 0.9970052911343527654e0 * t2019 * t9429 + 0.19940105822687055308e1 * t2019 * t2020 * t8960; + const double t9436 = t9435 * t273; + const double t9445 = t584 * t7116; + const double t9446 = t572 * t2429; + const double t9447 = t9446 * t1759; + const double t9450 = t2033 * t2429; + const double t9451 = t9450 * t1968; + const double t9454 = t2029 * t8919; + const double t9459 = t2033 * t2454; + const double t9460 = t9459 * t1759; + const double t9463 = t584 * t585; + const double t9464 = t7129 * t2454; + const double t9465 = t9464 * t1968; + const double t9468 = t2034 * t8960; + const double t9471 = -0.16e2 / 0.15e2 * t9436 * t586 + 0.32e2 / 0.15e2 * t2614 * t2030 - 0.56e2 / 0.15e2 * t2614 * t2035 + 0.32e2 / 0.15e2 * t2025 * t2617 - 0.32e2 / 0.5e1 * t9445 * t9447 + 0.112e3 / 0.15e2 * t7121 * t9451 + 0.32e2 / 0.15e2 * t584 * t9454 - 0.56e2 / 0.15e2 * t2025 * t2620 + 0.112e3 / 0.15e2 * t7121 * t9460 - 0.28e2 / 0.3e1 * t9463 * t9465 - 0.56e2 / 0.15e2 * t584 * t9468; + const double t9477 = piecewise_functor_3( t561, t9471, -0.14235295576e0 * t8926 - 0.14235295576e0 * t8928 + 0.102414495876e1 * t8931 + 0.34138165292e0 * t8933 ); + const double t9478 = t393 * t9477; + const double t9480 = -t9339 + t9340 + t9341 - 0.77215461e-1 * t9342 - 0.77215461e-1 * t9357 - t9359 + 0.1e2 * t9361 + 0.1e2 * t9363 - t9366 + t9367 + 0.1e2 * t9368 + 0.1e2 * t9371 + 0.5e1 * t9478; + const double t9481 = t9338 + t9480; + const double t9500 = -0.926585532e0 * t9313 - 0.926585532e0 * t9315 - 0.926585532e0 * t9318 - 0.926585532e0 * t9321 - 0.926585532e0 * t9324 - 0.926585532e0 * t9327 + 0.926585532e0 * t8901 + 0.926585532e0 * t8940 - 0.926585532e0 * t8945 - 0.463292766e0 * t9333 - 0.926585532e0 * t8895 - 0.926585532e0 * t8897 - 0.926585532e0 * t8921 - 0.926585532e0 * t8924; + const double t9510 = t2059 * t2454; + const double t9517 = 0.463292766e0 * t8938 + 0.463292766e0 * t8942 - 0.463292766e0 * t9342 - 0.463292766e0 * t9357 - 0.463292766e0 * t8937 + 0.3e2 * t9361 + 0.3e2 * t9363 - 0.463292766e0 * t9365 + 0.463292766e0 * t8959 - 0.297366688e1 * t9510 - 0.297366688e1 * t602 * t8960 + 0.3e2 * t9368 + 0.3e2 * t9371 + 0.15e2 * t9478; + const double t9518 = t9500 + t9517; + const double t9519 = t46 * t9518; + const double t9523 = t8320 * t2089; + const double t9526 = t2664 * t596; + const double t9527 = t9526 * t2105; + const double t9530 = t8320 * t2109; + const double t9533 = t7213 * t2669; + const double t9536 = t616 * t8960; + const double t9537 = t2104 * t9536; + const double t9540 = t5939 * t2673; + const double t9543 = t1449 * t8960; + const double t9544 = t1458 * t9543; + const double t9551 = 0.2e1 * t9361 + 0.2e1 * t9363 + 0.2e1 * t9368 + 0.2e1 * t9371 + t9478; + const double t9552 = t339 * t9551; + const double t9556 = 0.4e1 / 0.27e2 * t623 * t8 * t9481 * t630 + t8354 + t8357 + t8360 + t8363 + t599 * t9519 * t617 / 0.27e2 - 0.4e1 / 0.9e1 * t1457 * t9523 - 0.8e1 / 0.27e2 * t1476 * t9527 - 0.1e2 / 0.27e2 * t1476 * t9530 - 0.8e1 / 0.27e2 * t1476 * t9533 - 0.8e1 / 0.27e2 * t1476 * t9537 - 0.1e2 / 0.27e2 * t1476 * t9540 - 0.1e2 / 0.27e2 * t1476 * t9544 + 0.8e1 / 0.81e2 * t638 * t9552 * t641; + const double t9558 = t1450 * t8960; + const double t9562 = t2104 * t8975; + const double t9565 = t7014 * t8980; + const double t9568 = t2673 * t2059; + const double t9569 = t2104 * t9568; + const double t9572 = t2673 * t1787; + const double t9573 = t1458 * t9572; + const double t9576 = t2673 * t1968; + const double t9577 = t2104 * t9576; + const double t9580 = t5274 * t9568; + const double t9583 = t1458 * t9307; + const double t9588 = t2630 * t2048; + const double t9591 = t4398 * t9572; + const double t9603 = -0.5e1 / 0.54e2 * t599 * t612 * t9558 + 0.8e1 / 0.9e1 * t1457 * t9562 + 0.8e1 / 0.9e1 * t1476 * t9565 + 0.2e2 / 0.27e2 * t1476 * t9569 + 0.1e2 / 0.9e1 * t1457 * t9573 + 0.2e2 / 0.27e2 * t1476 * t9577 + 0.5e1 / 0.54e2 * t369 * t9580 + 0.35e2 / 0.27e2 * t1476 * t9583 + 0.4e1 / 0.3e1 * t2049 * t8960 + 0.4e1 / 0.3e1 * t9588 * t1968 + 0.1e3 / 0.81e2 * t4397 * t9591 - t599 * t2648 * t2081 / 0.27e2 - 0.5e1 / 0.54e2 * t599 * t2648 * t2085 - 0.2e2 / 0.81e2 * t638 * t2679 * t2128; + const double t9606 = t5274 * t8975; + const double t9609 = t611 * t596; + const double t9610 = t9609 * t8980; + const double t9618 = t4451 * t9307; + const double t9621 = t5299 * t9568; + const double t9633 = t5274 * t9576; + const double t9636 = t5299 * t9576; + const double t9639 = t2123 * t8960; + const double t9643 = t4451 * t9572; + const double t9650 = t551 * t1759; + const double t9654 = -0.154430922e0 * t1977 * t9326 - t9314 - 0.154430922e0 * t7252 * t2577 - 0.154430922e0 * t9650 * t2577 - 0.74341672e0 * t9392 + t9329 + t9330 - t9331 - t9334 - t9335 - t9336 - t9337 - t9339 + t9340; + const double t9669 = t9341 - 0.74341672e0 * t9394 - t9359 - 0.77215461e-1 * t555 * t9356 + 0.4e1 * t9361 + 0.4e1 * t9363 - t9366 - 0.77215461e-1 * t1974 * t2584 + t9367 - 0.154430922e0 * t1977 * t9320 - 0.154430922e0 * t1977 * t9323 + 0.4e1 * t9368 + 0.4e1 * t9371 + 0.2e1 * t9478; + const double t9670 = t9654 + t9669; + const double t9673 = 0.4e1 / 0.3e1 * t7302 * t2454 + t4450 * t9606 / 0.27e2 + 0.2e1 / 0.27e2 * t369 * t9610 - 0.16e2 / 0.3e1 * t7389 * t9392 - 0.2e2 / 0.81e2 * t638 * t2119 * t2687 + 0.35e2 / 0.108e3 * t369 * t9618 + 0.2e2 / 0.27e2 * t5304 * t9621 - 0.8e1 / 0.27e2 * t638 * t2119 * t2683 - 0.8e1 / 0.27e2 * t638 * t2679 * t2124 - 0.4e2 / 0.81e2 * t1484 * t2679 * t2113 + 0.5e1 / 0.54e2 * t369 * t9633 + 0.2e2 / 0.27e2 * t5304 * t9636 - 0.8e1 / 0.27e2 * t638 * t640 * t9639 + 0.5e1 / 0.54e2 * t4450 * t9643 - 0.4e1 / 0.9e1 * t9670 * t596; + const double t9675 = t9311 + t9556 + t9603 + t9673; + const double t9680 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t1740 * t2691 - t8260 - 0.3e1 / 0.8e1 * t6 * t360 * t9675 ); + const double t9688 = t2176 * t2176; + const double t9689 = t342 * t9688; + const double t9693 = t2151 * t2151; + const double t9694 = t9693 * t79; + const double t9695 = t9694 * t87; + const double t9697 = t7446 * t2152; + const double t9699 = t7422 * t2168; + const double t9700 = t668 * t9699; + const double t9703 = 0.1e1 / t54 / sigma_aa; + const double t9706 = t53 * t9703 * t57 / 0.48e2; + const double t9707 = piecewise_functor_3( t62, 0.0, -t9706 ); + const double t9708 = piecewise_functor_3( t64, t9707, 0.0 ); + const double t9711 = t2145 * t2145; + const double t9712 = t9711 * t67; + const double t9714 = t9711 * t2784; + const double t9717 = piecewise_functor_3( t62, 0.0, -t9708 * t67 * t678 + t9714 * t2787 - t9712 * t678 + t9708 ); + const double t9718 = piecewise_functor_3( t61, -t9706, t9717 ); + const double t9719 = piecewise_functor_3( t73, 0.0, t9718 ); + const double t9720 = t87 * t9719; + const double t9721 = t668 * t9720; + const double t9724 = t74 * t9719; + const double t9726 = t75 * t9693; + const double t9728 = t689 * t9719; + const double t9730 = 0.1959362e-1 * t9693 + 0.1959362e-1 * t9724 + 0.4930008e0 * t9726 + 0.1643336e0 * t9728; + const double t9731 = t75 * t9730; + const double t9732 = t9731 * t87; + const double t9733 = t2160 * t2169; + const double t9735 = t2168 * t2168; + const double t9736 = t2809 * t9735; + const double t9737 = t80 * t9736; + const double t9741 = t689 * t9693; + const double t9743 = t77 * t9719; + const double t9749 = 0.224928e1 * t9726 + 0.74976e0 * t9728 + 0.241648e-1 * t9741 + 0.60412e-2 * t9743 + 0.1041564e1 * t77 * t9693 + 0.2083128e0 * t82 * t9719; + const double t9750 = t697 * t9749; + const double t9751 = t80 * t9750; + const double t9752 = 0.2e1 * t9695 + 0.4e1 * t9697 - 0.4e1 * t9700 + 0.2e1 * t9721 + t9732 - 0.2e1 * t9733 + 0.2e1 * t9737 - t9751; + const double t9753 = t1091 * t9752; + const double t9760 = t324 * t9752; + const double t9764 = t323 * t1090; + const double t9765 = t9764 * t9688; + const double t9771 = t7487 * t2299; + const double t9772 = 0.308861844e0 * t9771; + const double t9773 = 0.154430922e0 * t9695; + const double t9774 = 0.308861844e0 * t9697; + const double t9775 = 0.154430922e0 * t9721; + const double t9776 = 0.154430922e0 * t9733; + const double t9777 = 0.77215461e-1 * t9751; + const double t9778 = 0.154430922e0 * t9737; + const double t9779 = 0.308861844e0 * t9700; + const double t9788 = 0.64753871e1 * t9730 * t87 - 0.129507742e2 * t7513 * t2168 + 0.129507742e2 * t3458 * t9735 - 0.64753871e1 * t975 * t9749; + const double t9796 = 0.4e1 * t7525 * t2151 + 0.2e1 * t245 * t9693 + t9788 * t75 + 0.2e1 * t985 * t9719; + const double t9803 = 0.297366688e1 * t9688; + const double t9804 = t238 * t9752; + const double t9811 = t250 * ( -0.463292766e0 * t9796 * t238 - 0.926585532e0 * t2314 * t2176 - 0.463292766e0 * t252 * t9752 - t9803 - 0.297366688e1 * t9804 + 0.487734912e2 * t238 * t9688 + 0.243867456e2 * t239 * t9752 ); + const double t9816 = t3494 * t9688; + const double t9819 = t1002 * t9752; + const double t9830 = 0.44286352009183217952e1 * t9695 + 0.88572704018366435904e1 * t9697 - 0.88572704018366435904e1 * t9700 + 0.44286352009183217952e1 * t9721 + 0.22143176004591608976e1 * t9732 - 0.44286352009183217952e1 * t9733 + 0.44286352009183217952e1 * t9737 - 0.22143176004591608976e1 * t9751; + const double t9831 = t9830 * t265; + const double t9834 = t2172 * t2172; + const double t9835 = t9834 * t265; + const double t9840 = -t2172; + const double t9841 = t265 * t9840; + const double t9851 = ( t9811 * t262 / 0.16e2 - 0.7e1 / 0.16e2 * t2323 * t2326 + 0.63e2 / 0.64e2 * t259 * t9816 - 0.7e1 / 0.32e2 * t259 * t9819 - 0.23751029502456895713e1 * t9831 * t269 - 0.23751029502456895713e1 * t9835 * t269 + 0.39880211645374110616e1 * t2329 * t7585 + 0.19940105822687055308e1 * t9841 * t7585 - 0.9970052911343527654e0 * t1011 * t3518 * t9688 + 0.19940105822687055308e1 * t1011 * t1012 * t9752 ) * t273; + const double t9858 = t3534 * t9693; + const double t9861 = t7612 * t2176; + const double t9864 = t1021 * t9719; + const double t9867 = t3547 * t9688; + const double t9870 = t1026 * t9752; + const double t9879 = piecewise_functor_3( t248, -0.16e2 / 0.15e2 * t9851 * t276 + 0.64e2 / 0.15e2 * t2336 * t2339 - 0.112e3 / 0.15e2 * t2336 * t2342 - 0.32e2 / 0.5e1 * t274 * t9858 + 0.224e3 / 0.15e2 * t3538 * t9861 + 0.32e2 / 0.15e2 * t274 * t9864 - 0.28e2 / 0.3e1 * t274 * t9867 - 0.56e2 / 0.15e2 * t274 * t9870, -0.14235295576e0 * t9693 - 0.14235295576e0 * t9724 + 0.102414495876e1 * t9726 + 0.34138165292e0 * t9728 ); + const double t9880 = t75 * t9879; + const double t9882 = 0.77215461e-1 * t9732; + const double t9883 = t9752 * t75; + const double t9884 = t9883 * t245; + const double t9885 = 0.77215461e-1 * t9884; + const double t9886 = t2296 * t2306; + const double t9887 = 0.154430922e0 * t9886; + const double t9888 = t293 * t9693; + const double t9889 = t9888 * t245; + const double t9891 = t2306 * t2151; + const double t9892 = t1072 * t9891; + const double t9894 = t245 * t9719; + const double t9895 = t1072 * t9894; + const double t9897 = t9693 * t282; + const double t9899 = t7652 * t2151; + const double t9901 = t981 * t9719; + const double t9903 = t298 * t9788; + const double t9905 = -t9772 - t9773 - t9774 - t9775 + t9776 + t9777 - t9778 + t9779 + 0.5e1 * t9880 - t9882 - t9885 - t9887 - 0.154430922e0 * t9889 - 0.308861844e0 * t9892 - 0.154430922e0 * t9895 + 0.1e2 * t9897 + 0.2e2 * t9899 + 0.1e2 * t9901 - 0.77215461e-1 * t9903; + const double t9910 = t1151 * t9752; + const double t9914 = t1156 * t9752; + const double t9921 = t3387 * t9688; + const double t9922 = t1099 * t9921; + const double t9925 = t307 * t9688; + const double t9926 = t3601 * t9925; + const double t9929 = -0.16e2 / 0.27e2 * t337 * t2401 * t2405 - 0.4e2 / 0.81e2 * t337 * t2401 * t2409 + 0.2e1 / 0.27e2 * t289 * t303 * t9689 - 0.5e1 / 0.54e2 * t289 * t303 * t9753 - 0.5e1 / 0.27e2 * t289 * t2370 * t2378 - t289 * t303 * t9760 / 0.27e2 + 0.5e1 / 0.27e2 * t289 * t303 * t9765 - 0.16e2 / 0.3e1 * t3619 * t9688 + 0.4e1 / 0.27e2 * t317 * t8 * t9905 * t324 - 0.8e1 / 0.27e2 * t337 * t341 * t9910 - 0.2e2 / 0.81e2 * t337 * t341 * t9914 - 0.2e1 / 0.27e2 * t289 * t2370 * t2374 + 0.35e2 / 0.27e2 * t1121 * t9922 + 0.8e1 / 0.9e1 * t1121 * t9926; + const double t9930 = t1090 * t9688; + const double t9931 = t1122 * t9930; + const double t9956 = 0.15e2 * t9880 - 0.463292766e0 * t9732 - 0.463292766e0 * t9884 - 0.926585532e0 * t9886 - 0.926585532e0 * t9889 - 0.1853171064e1 * t9892 - 0.926585532e0 * t9895 + 0.3e2 * t9897 + 0.6e2 * t9899 + 0.3e2 * t9901 - 0.463292766e0 * t9903; + const double t9957 = -0.1853171064e1 * t9771 - 0.926585532e0 * t9695 - 0.1853171064e1 * t9697 - 0.926585532e0 * t9721 + 0.926585532e0 * t9733 + 0.463292766e0 * t9751 - 0.297366688e1 * t293 * t9752 - t9803 - 0.926585532e0 * t9737 + 0.1853171064e1 * t9700 + t9956; + const double t9958 = t46 * t9957; + const double t9962 = t8186 * t2391; + const double t9965 = t8182 * t2395; + const double t9968 = t307 * t9752; + const double t9969 = t1122 * t9968; + const double t9972 = t1090 * t9752; + const double t9973 = t1099 * t9972; + const double t9979 = 0.2e1 * t9897 + 0.4e1 * t9899 + 0.2e1 * t9901 + t9880; + const double t9980 = t339 * t9979; + const double t9985 = t2865 * t2172 + t2173; + const double t9986 = t9985 * t2172; + const double t9988 = t667 * t9830; + const double t10010 = t155 * t9752; + const double t10020 = 0.54e2 * t9688 + 0.54e2 * t10010 - 0.121933728e2 * t9695 - 0.243867456e2 * t9697 + 0.243867456e2 * t9700 - 0.121933728e2 * t9721 - 0.60966864e1 * t9732 + 0.121933728e2 * t9733 - 0.121933728e2 * t9737 + 0.60966864e1 * t9751; + const double t10023 = -0.1573689609226455711e3 * t156 * t9688 - 0.1049126406150970474e3 * t177 * t9752 + 0.315e3 / 0.4e1 * t3305 * t9688 + 0.63e2 * t7791 * t2176 + 0.63e2 / 0.2e1 * t761 * t9752 + 0.9e1 * t199 * t10020; + const double t10024 = t10023 * t207; + const double t10041 = 0.18e2 * t9695 + 0.36e2 * t9697 - 0.36e2 * t9700 + 0.18e2 * t9721 + 0.9e1 * t9732 - 0.18e2 * t9733 + 0.18e2 * t9737 - 0.9e1 * t9751; + const double t10044 = t157 * t9688; + const double t10046 = t156 * t9752; + const double t10048 = 0.45e2 / 0.4e1 * t3333 * t9688 + 0.15e2 * t7953 * t2176 + 0.15e2 / 0.2e1 * t893 * t9752 + 0.3e1 * t171 * t10041 + 0.309746542166208e1 * t10044 + 0.619493084332416e1 * t10046; + const double t10049 = t10048 * t180; + const double t10060 = t9752 * t152 - 0.2e1 * t9688 * t167 + 0.2e1 * t2961 * t9688 - t861 * t9752; + const double t10061 = t10060 * t164; + const double t10070 = t3140 * t2172 + t782 * t2172; + const double t10071 = t143 * t10070; + const double t10076 = t155 * t9688; + const double t10104 = -0.1458e4 * t9688 - 0.1458e4 * t10010 + 0.6584421312e3 * t9695 + 0.13168842624e4 * t9697 - 0.13168842624e4 * t9700 + 0.6584421312e3 * t9721 + 0.3292210656e3 * t9732 - 0.6584421312e3 * t9733 + 0.6584421312e3 * t9737 - 0.3292210656e3 * t9751; + const double t10107 = 0.97533919397976243162e3 * t3074 * t10076 + 0.65022612931984162108e3 * t870 * t9688 + 0.32511306465992081054e3 * t870 * t10010 + 0.81278266164980202635e2 * t214 * t9752 + 0.20308706906259249944e2 * t10076 + 0.10154353453129624972e2 * t191 * t9752 + 0.100821516374592e0 * t3088 * t9688 + 0.67214344249728e-1 * t7913 * t2176 + 0.33607172124864e-1 * t877 * t9752 + 0.8401793031216e-2 * t213 * t10104; + const double t10108 = t10107 * t226; + const double t10111 = t147 * t2176; + const double t10118 = t226 * t9688; + const double t10120 = t187 * t9752; + const double t10122 = -0.218660588126010225e1 * t228 * t9688 + 0.1093302940630051125e1 * t192 * t9752 + 0.29624556307641067223e1 * t10118 - 0.98748521025470224076e0 * t10120; + const double t10128 = t209 * t9688; + const double t10130 = t182 * t9752; + const double t10136 = 0.18591590853463565788e1 * t10128 - 0.12394393902309043859e1 * t10130 - 0.20990203539014021192e1 * t207 * t9688 + 0.83960814156056084769e0 * t180 * t9752; + const double t10138 = t856 * t9752; + const double t10141 = t183 * t9752; + const double t10148 = t816 * t9688; + const double t10150 = t226 * t9752; + const double t10160 = 0.15943086723305958463e3 * t9695 + 0.31886173446611916926e3 * t9697 - 0.31886173446611916926e3 * t9700 + 0.15943086723305958463e3 * t9721 + 0.79715433616529792314e2 * t9732 - 0.15943086723305958463e3 * t9733 + 0.15943086723305958463e3 * t9737 - 0.79715433616529792314e2 * t9751; + const double t10169 = 0.30103061542585260236e1 * t10148 - 0.75257653856463150591e0 * t10150 + 0.7715016088131e-2 * t10160 * t192 - 0.30860064352524e-1 * t7847 * t2176 + 0.46290096528786e-1 * t3220 * t9688 - 0.15430032176262e-1 * t951 * t9752; + const double t10171 = 0.26165591067112574428e-2 * t10024 * t210 - 0.93027173969241974797e-1 * t10049 * t183 + 0.5080572e0 * t2285 * t2176 + 0.5080572e0 * t10061 * t147 - 0.73807311952199090995e0 * t792 * t9752 + 0.5079873114034015574e0 * t789 * t9752 - t10071 * t2172 / 0.2e1 - t783 * t9830 / 0.2e1 + 0.75666704254679261017e-2 * t10108 * t229 - 0.5080572e0 * t7777 * t10111 + t10122 * t121 + 0.14761462390439818199e1 * t3149 * t9688 - 0.7619809671051023361e0 * t3158 * t9688 + t10136 * t119 + 0.1395407609538629622e0 * t181 * t10138 + 0.23256793492310493699e0 * t852 * t10141 + 0.46513586984620987398e0 * t7738 * t2217 + 0.2790815219077259244e0 * t2214 * t2220 + t10169 * t139; + const double t10172 = t823 * t9752; + const double t10175 = t210 * t9752; + const double t10184 = t840 * t9752; + const double t10187 = t914 * t9830; + const double t10192 = t3061 * t2172 + t912 * t2172; + const double t10193 = t10192 * t913; + const double t10194 = t10193 * t2172; + const double t10197 = t3195 * t9688; + const double t10200 = t229 * t9688; + const double t10203 = t823 * t9688; + const double t10206 = t3176 * t9688; + const double t10209 = t2986 * t9834; + const double t10212 = t183 * t9688; + const double t10215 = t856 * t9688; + const double t10220 = t2980 * t9688; + const double t10223 = t210 * t9688; + const double t10226 = t840 * t9688; + const double t10229 = t229 * t9752; + const double t10232 = -0.22700011276403778305e-1 * t227 * t10172 - 0.91579568734894010498e-2 * t833 * t10175 - 0.183159137469788021e-1 * t7996 * t2251 - 0.13082795533556287214e-1 * t2248 * t2254 - 0.60533363403743408814e-1 * t7888 * t2276 - 0.6541397766778143607e-2 * t208 * t10184 + t127 * t10187 / 0.4e1 + t127 * t10194 / 0.4e1 + 0.22894892183723502624e-1 * t208 * t10197 + 0.15133340850935852204e0 * t2923 * t10200 + 0.18160009021123022644e0 * t817 * t10203 + 0.9080004510561511322e-1 * t227 * t10206 - t127 * t10209 / 0.8e1 - 0.81398777223086727946e0 * t3170 * t10212 - 0.69770380476931481098e0 * t852 * t10215 - 0.4540002255280755661e-1 * t2273 * t2279 - 0.3488519023846574055e0 * t181 * t10220 + 0.41210805930702304724e-1 * t3186 * t10223 + 0.45789784367447005248e-1 * t833 * t10226 - 0.30266681701871704407e-1 * t817 * t10229; + const double t10234 = piecewise_functor_3( t50, 0.5080572e0 * t9986 + 0.5080572e0 * t9988 - 0.5080572e0 * t9752 * t734 + 0.5080572e0 * t9688 * t2911 + 0.5080572e0 * t9752 * t737 - 0.5080572e0 * t9688 * t2917, t10171 + t10232 ); + const double t10236 = t238 * t9693; + const double t10252 = -t9778 + t9779 + 0.2e1 * t9880 - t9882 - t9885 - t9887 - 0.77215461e-1 * t242 * t9788 + 0.4e1 * t9897 + 0.8e1 * t9899 + 0.4e1 * t9901 - 0.74341672e0 * t9804; + const double t10253 = -t9772 - 0.154430922e0 * t10236 * t245 - 0.308861844e0 * t969 * t9891 - 0.154430922e0 * t969 * t9894 - t9773 - t9774 - t9775 + t9776 + t9777 - 0.74341672e0 * t9688 + t10252; + const double t10260 = t3388 * t9688; + const double t10264 = t3627 * t9688; + const double t10268 = t1040 * t1090; + const double t10269 = t10268 * t9688; + const double t10273 = t3632 * t9688; + const double t10277 = 0.4e2 / 0.27e2 * t1121 * t9931 + t289 * t9958 * t308 / 0.27e2 - 0.16e2 / 0.27e2 * t1121 * t9962 - 0.2e2 / 0.27e2 * t1121 * t9965 - 0.8e1 / 0.27e2 * t1121 * t9969 - 0.1e2 / 0.27e2 * t1121 * t9973 + 0.8e1 / 0.81e2 * t337 * t9980 * t342 - 0.8e1 / 0.9e1 * t10234 - 0.4e1 / 0.9e1 * t10253 * t286 + 0.8e1 / 0.3e1 * t7414 * t2176 + 0.4e1 / 0.3e1 * t1041 * t9752 + 0.35e2 / 0.108e3 * t289 * t303 * t10260 + 0.32e2 / 0.27e2 * t337 * t341 * t10264 + 0.4e2 / 0.27e2 * t337 * t341 * t10269 + 0.7e2 / 0.81e2 * t337 * t341 * t10273; + const double t10278 = t9929 + t10277; + const double t10282 = piecewise_functor_3( t2, 0.0, -0.3e1 / 0.8e1 * t6 * t29 * t10278 ); + const double t10283 = t2429 * t2429; + const double t10284 = t10283 * t397; + const double t10285 = t10284 * t405; + const double t10287 = t8923 * t2430; + const double t10289 = t8899 * t2446; + const double t10290 = t1744 * t10289; + const double t10293 = 0.1e1 / t372 / sigma_bb; + const double t10296 = t53 * t10293 * t375 / 0.48e2; + const double t10297 = piecewise_functor_3( t380, 0.0, -t10296 ); + const double t10298 = piecewise_functor_3( t382, t10297, 0.0 ); + const double t10301 = t2423 * t2423; + const double t10302 = t10301 * t385; + const double t10304 = t10301 * t6533; + const double t10307 = piecewise_functor_3( t380, 0.0, -t10298 * t385 * t1754 - t10302 * t1754 + t10304 * t6536 + t10298 ); + const double t10308 = piecewise_functor_3( t379, -t10296, t10307 ); + const double t10309 = piecewise_functor_3( t391, 0.0, t10308 ); + const double t10310 = t405 * t10309; + const double t10311 = t1744 * t10310; + const double t10314 = t392 * t10309; + const double t10316 = t393 * t10283; + const double t10318 = t1765 * t10309; + const double t10320 = 0.1959362e-1 * t10283 + 0.1959362e-1 * t10314 + 0.4930008e0 * t10316 + 0.1643336e0 * t10318; + const double t10321 = t393 * t10320; + const double t10322 = t10321 * t405; + const double t10323 = t2438 * t2447; + const double t10325 = t2446 * t2446; + const double t10326 = t6559 * t10325; + const double t10327 = t398 * t10326; + const double t10331 = t1765 * t10283; + const double t10333 = t395 * t10309; + const double t10339 = 0.224928e1 * t10316 + 0.74976e0 * t10318 + 0.241648e-1 * t10331 + 0.60412e-2 * t10333 + 0.1041564e1 * t395 * t10283 + 0.2083128e0 * t400 * t10309; + const double t10340 = t1773 * t10339; + const double t10341 = t398 * t10340; + const double t10342 = 0.2e1 * t10285 + 0.4e1 * t10287 - 0.4e1 * t10290 + 0.2e1 * t10311 + t10322 - 0.2e1 * t10323 + 0.2e1 * t10327 - t10341; + const double t10343 = t1450 * t10342; + const double t10347 = t629 * t1449; + const double t10348 = t2454 * t2454; + const double t10349 = t10347 * t10348; + const double t10353 = t4411 * t10348; + const double t10357 = t7286 * t10348; + const double t10361 = t2048 * t1449; + const double t10362 = t10361 * t10348; + const double t10367 = t3869 * t2450 + t2451; + const double t10368 = t10367 * t2450; + const double t10378 = 0.44286352009183217952e1 * t10285 + 0.88572704018366435904e1 * t10287 - 0.88572704018366435904e1 * t10290 + 0.44286352009183217952e1 * t10311 + 0.22143176004591608976e1 * t10322 - 0.44286352009183217952e1 * t10323 + 0.44286352009183217952e1 * t10327 - 0.22143176004591608976e1 * t10341; + const double t10379 = t1182 * t10378; + const double t10396 = -t1266 * t10342 + t10342 * t465 + 0.2e1 * t4110 * t10348 - 0.2e1 * t10348 * t480; + const double t10397 = t10396 * t477; + const double t10404 = t1284 * t2450 + t4139 * t2450; + const double t10405 = t456 * t10404; + const double t10419 = t468 * t10342; + const double t10429 = 0.54e2 * t10348 + 0.54e2 * t10419 - 0.121933728e2 * t10285 - 0.243867456e2 * t10287 + 0.243867456e2 * t10290 - 0.121933728e2 * t10311 - 0.60966864e1 * t10322 + 0.121933728e2 * t10323 - 0.121933728e2 * t10327 + 0.60966864e1 * t10341; + const double t10432 = -0.1573689609226455711e3 * t469 * t10348 - 0.1049126406150970474e3 * t490 * t10342 + 0.315e3 / 0.4e1 * t4225 * t10348 + 0.63e2 * t8468 * t2454 + 0.63e2 / 0.2e1 * t1248 * t10342 + 0.9e1 * t512 * t10429; + const double t10433 = t10432 * t520; + const double t10436 = t468 * t10348; + const double t10464 = -0.1458e4 * t10348 - 0.1458e4 * t10419 + 0.6584421312e3 * t10285 + 0.13168842624e4 * t10287 - 0.13168842624e4 * t10290 + 0.6584421312e3 * t10311 + 0.3292210656e3 * t10322 - 0.6584421312e3 * t10323 + 0.6584421312e3 * t10327 - 0.3292210656e3 * t10341; + const double t10467 = 0.97533919397976243162e3 * t4183 * t10436 + 0.65022612931984162108e3 * t1394 * t10348 + 0.32511306465992081054e3 * t1394 * t10419 + 0.81278266164980202635e2 * t527 * t10342 + 0.20308706906259249944e2 * t10436 + 0.10154353453129624972e2 * t504 * t10342 + 0.100821516374592e0 * t4197 * t10348 + 0.67214344249728e-1 * t8544 * t2454 + 0.33607172124864e-1 * t1401 * t10342 + 0.8401793031216e-2 * t526 * t10464; + const double t10468 = t10467 * t539; + const double t10485 = 0.18e2 * t10285 + 0.36e2 * t10287 - 0.36e2 * t10290 + 0.18e2 * t10311 + 0.9e1 * t10322 - 0.18e2 * t10323 + 0.18e2 * t10327 - 0.9e1 * t10341; + const double t10488 = t470 * t10348; + const double t10490 = t469 * t10342; + const double t10492 = 0.45e2 / 0.4e1 * t4245 * t10348 + 0.15e2 * t8514 * t2454 + 0.15e2 / 0.2e1 * t1217 * t10342 + 0.3e1 * t484 * t10485 + 0.309746542166208e1 * t10488 + 0.619493084332416e1 * t10490; + const double t10493 = t10492 * t493; + const double t10510 = t539 * t10348; + const double t10512 = t500 * t10342; + const double t10514 = -0.218660588126010225e1 * t541 * t10348 + 0.1093302940630051125e1 * t505 * t10342 + 0.29624556307641067223e1 * t10510 - 0.98748521025470224076e0 * t10512; + const double t10516 = t1344 * t10348; + const double t10518 = t539 * t10342; + const double t10528 = 0.15943086723305958463e3 * t10285 + 0.31886173446611916926e3 * t10287 - 0.31886173446611916926e3 * t10290 + 0.15943086723305958463e3 * t10311 + 0.79715433616529792314e2 * t10322 - 0.15943086723305958463e3 * t10323 + 0.15943086723305958463e3 * t10327 - 0.79715433616529792314e2 * t10341; + const double t10537 = 0.30103061542585260236e1 * t10516 - 0.75257653856463150591e0 * t10518 + 0.7715016088131e-2 * t10528 * t505 - 0.30860064352524e-1 * t8404 * t2454 + 0.46290096528786e-1 * t4311 * t10348 - 0.15430032176262e-1 * t1361 * t10342; + const double t10543 = t2450 * t2450; + const double t10544 = t4005 * t10543; + const double t10547 = t1335 * t10342; + const double t10550 = t523 * t10342; + const double t10553 = t1310 * t10378; + const double t10556 = 0.5080572e0 * t10397 * t460 - t1285 * t10378 / 0.2e1 - t10405 * t2450 / 0.2e1 + 0.26165591067112574428e-2 * t10433 * t523 + 0.75666704254679261017e-2 * t10468 * t542 - 0.93027173969241974797e-1 * t10493 * t496 + 0.5079873114034015574e0 * t1291 * t10342 - 0.7619809671051023361e0 * t4083 * t10348 + 0.14761462390439818199e1 * t4086 * t10348 + 0.5080572e0 * t2563 * t2454 - 0.73807311952199090995e0 * t1294 * t10342 + t10514 * t434 + t10537 * t452 - 0.183159137469788021e-1 * t8567 * t2529 - 0.13082795533556287214e-1 * t2526 * t2532 - t440 * t10544 / 0.8e1 - 0.6541397766778143607e-2 * t521 * t10547 - 0.91579568734894010498e-2 * t1329 * t10550 + t440 * t10553 / 0.4e1; + const double t10559 = t1308 * t2450 + t3921 * t2450; + const double t10560 = t10559 * t1309; + const double t10561 = t10560 * t2450; + const double t10564 = t522 * t10348; + const double t10566 = t495 * t10342; + const double t10572 = 0.18591590853463565788e1 * t10564 - 0.12394393902309043859e1 * t10566 - 0.20990203539014021192e1 * t520 * t10348 + 0.83960814156056084769e0 * t493 * t10342; + const double t10578 = t1351 * t10342; + const double t10581 = t542 * t10342; + const double t10584 = t1319 * t10342; + const double t10587 = t496 * t10342; + const double t10594 = t3976 * t10348; + const double t10597 = t542 * t10348; + const double t10600 = t1351 * t10348; + const double t10603 = t3995 * t10348; + const double t10606 = t496 * t10348; + const double t10609 = t1319 * t10348; + const double t10612 = t4017 * t10348; + const double t10615 = t523 * t10348; + const double t10618 = t1335 * t10348; + const double t10621 = t460 * t2454; + const double t10624 = t440 * t10561 / 0.4e1 + t10572 * t432 - 0.4540002255280755661e-1 * t2551 * t2557 - 0.60533363403743408814e-1 * t8390 * t2554 - 0.22700011276403778305e-1 * t540 * t10578 - 0.30266681701871704407e-1 * t1345 * t10581 + 0.1395407609538629622e0 * t494 * t10584 + 0.23256793492310493699e0 * t1314 * t10587 + 0.46513586984620987398e0 * t8381 * t2495 + 0.2790815219077259244e0 * t2492 * t2498 + 0.22894892183723502624e-1 * t521 * t10594 + 0.15133340850935852204e0 * t3986 * t10597 + 0.18160009021123022644e0 * t1345 * t10600 + 0.9080004510561511322e-1 * t540 * t10603 - 0.81398777223086727946e0 * t4010 * t10606 - 0.69770380476931481098e0 * t1314 * t10609 - 0.3488519023846574055e0 * t494 * t10612 + 0.41210805930702304724e-1 * t4028 * t10615 + 0.45789784367447005248e-1 * t1329 * t10618 - 0.5080572e0 * t8554 * t10621; + const double t10626 = piecewise_functor_3( t371, 0.5080572e0 * t10368 + 0.5080572e0 * t10379 - 0.5080572e0 * t10342 * t1210 + 0.5080572e0 * t10348 * t3907 + 0.5080572e0 * t10342 * t1213 - 0.5080572e0 * t10348 * t3913, t10556 + t10624 ); + const double t10628 = 0.154430922e0 * t10327; + const double t10629 = 0.308861844e0 * t10290; + const double t10638 = 0.64753871e1 * t10320 * t405 - 0.129507742e2 * t9346 * t2446 + 0.129507742e2 * t7040 * t10325 - 0.64753871e1 * t1983 * t10339; + const double t10646 = 0.2e1 * t558 * t10283 + 0.2e1 * t1993 * t10309 + t10638 * t393 + 0.4e1 * t9374 * t2429; + const double t10653 = 0.297366688e1 * t10348; + const double t10654 = t551 * t10342; + const double t10661 = t250 * ( -0.463292766e0 * t10646 * t551 - 0.926585532e0 * t2592 * t2454 - 0.463292766e0 * t563 * t10342 - t10653 - 0.297366688e1 * t10654 + 0.487734912e2 * t551 * t10348 + 0.243867456e2 * t552 * t10342 ); + const double t10666 = t7077 * t10348; + const double t10669 = t2010 * t10342; + const double t10672 = t10378 * t576; + const double t10675 = t10543 * t576; + const double t10680 = -t2450; + const double t10681 = t576 * t10680; + const double t10691 = ( t10661 * t573 / 0.16e2 - 0.7e1 / 0.16e2 * t2601 * t2604 + 0.63e2 / 0.64e2 * t570 * t10666 - 0.7e1 / 0.32e2 * t570 * t10669 - 0.23751029502456895713e1 * t10672 * t580 - 0.23751029502456895713e1 * t10675 * t580 + 0.39880211645374110616e1 * t2607 * t9423 + 0.19940105822687055308e1 * t10681 * t9423 - 0.9970052911343527654e0 * t2019 * t7101 * t10348 + 0.19940105822687055308e1 * t2019 * t2020 * t10342 ) * t273; + const double t10698 = t7117 * t10283; + const double t10701 = t9450 * t2454; + const double t10704 = t2029 * t10309; + const double t10707 = t7130 * t10348; + const double t10710 = t2034 * t10342; + const double t10719 = piecewise_functor_3( t561, -0.16e2 / 0.15e2 * t10691 * t586 + 0.64e2 / 0.15e2 * t2614 * t2617 - 0.112e3 / 0.15e2 * t2614 * t2620 - 0.32e2 / 0.5e1 * t584 * t10698 + 0.224e3 / 0.15e2 * t7121 * t10701 + 0.32e2 / 0.15e2 * t584 * t10704 - 0.28e2 / 0.3e1 * t584 * t10707 - 0.56e2 / 0.15e2 * t584 * t10710, -0.14235295576e0 * t10283 - 0.14235295576e0 * t10314 + 0.102414495876e1 * t10316 + 0.34138165292e0 * t10318 ); + const double t10720 = t393 * t10719; + const double t10722 = t607 * t10638; + const double t10724 = 0.77215461e-1 * t10322; + const double t10725 = 0.154430922e0 * t10323; + const double t10726 = 0.77215461e-1 * t10341; + const double t10727 = 0.154430922e0 * t10285; + const double t10728 = 0.308861844e0 * t10287; + const double t10729 = 0.154430922e0 * t10311; + const double t10730 = t10283 * t592; + const double t10732 = t9370 * t2429; + const double t10734 = t2574 * t2584; + const double t10735 = 0.154430922e0 * t10734; + const double t10736 = t10342 * t393; + const double t10737 = t10736 * t558; + const double t10738 = 0.77215461e-1 * t10737; + const double t10739 = t1989 * t10309; + const double t10741 = t9312 * t2577; + const double t10742 = 0.308861844e0 * t10741; + const double t10743 = t602 * t10283; + const double t10744 = t10743 * t558; + const double t10746 = t2584 * t2429; + const double t10747 = t2069 * t10746; + const double t10749 = t558 * t10309; + const double t10750 = t2069 * t10749; + const double t10752 = -t10628 + t10629 + 0.5e1 * t10720 - 0.77215461e-1 * t10722 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + 0.1e2 * t10730 + 0.2e2 * t10732 - t10735 - t10738 + 0.1e2 * t10739 - t10742 - 0.154430922e0 * t10744 - 0.308861844e0 * t10747 - 0.154430922e0 * t10750; + const double t10779 = -0.926585532e0 * t10311 + 0.3e2 * t10730 + 0.6e2 * t10732 - 0.926585532e0 * t10734 - 0.463292766e0 * t10737 - 0.297366688e1 * t602 * t10342 + 0.3e2 * t10739 - 0.1853171064e1 * t10741 - 0.926585532e0 * t10744 - 0.1853171064e1 * t10747 - 0.926585532e0 * t10750; + const double t10780 = -0.926585532e0 * t10327 - t10653 + 0.1853171064e1 * t10290 + 0.15e2 * t10720 - 0.463292766e0 * t10722 - 0.463292766e0 * t10322 + 0.926585532e0 * t10323 + 0.463292766e0 * t10341 - 0.926585532e0 * t10285 - 0.1853171064e1 * t10287 + t10779; + const double t10781 = t46 * t10780; + const double t10785 = t9526 * t2669; + const double t10788 = t8320 * t2673; + const double t10791 = t616 * t10342; + const double t10792 = t2104 * t10791; + const double t10802 = -0.5e1 / 0.54e2 * t599 * t612 * t10343 + 0.5e1 / 0.27e2 * t599 * t612 * t10349 + 0.35e2 / 0.108e3 * t599 * t612 * t10353 + 0.32e2 / 0.27e2 * t638 * t640 * t10357 + 0.4e2 / 0.27e2 * t638 * t640 * t10362 - 0.8e1 / 0.9e1 * t10626 + 0.4e1 / 0.27e2 * t623 * t8 * t10752 * t630 + t599 * t10781 * t617 / 0.27e2 - 0.16e2 / 0.27e2 * t1476 * t10785 - 0.2e2 / 0.27e2 * t1476 * t10788 - 0.8e1 / 0.27e2 * t1476 * t10792 - 0.4e2 / 0.81e2 * t638 * t2679 * t2687 + 0.4e1 / 0.3e1 * t2049 * t10342 + 0.8e1 / 0.3e1 * t9588 * t2454; + const double t10813 = t551 * t10283; + const double t10819 = 0.4e1 * t10730 + 0.8e1 * t10732 - t10735 - 0.77215461e-1 * t555 * t10638 - t10738 + 0.4e1 * t10739 - 0.154430922e0 * t1977 * t10749 - t10742 - 0.154430922e0 * t10813 * t558 - 0.308861844e0 * t1977 * t10746 - 0.74341672e0 * t10654; + const double t10820 = -t10628 - 0.74341672e0 * t10348 + t10629 + 0.2e1 * t10720 - t10724 + t10725 + t10726 - t10727 - t10728 - t10729 + t10819; + const double t10828 = t1449 * t10342; + const double t10829 = t1458 * t10828; + const double t10835 = 0.2e1 * t10730 + 0.4e1 * t10732 + 0.2e1 * t10739 + t10720; + const double t10836 = t339 * t10835; + const double t10840 = t616 * t10348; + const double t10841 = t7014 * t10840; + const double t10844 = t1449 * t10348; + const double t10845 = t2104 * t10844; + const double t10848 = t4387 * t10348; + const double t10849 = t1458 * t10848; + const double t10852 = t2123 * t10342; + const double t10856 = t1493 * t10342; + const double t10860 = t641 * t10348; + const double t10864 = t4427 * t10348; + const double t10874 = t630 * t10342; + const double t10878 = -0.4e1 / 0.9e1 * t10820 * t596 - 0.16e2 / 0.27e2 * t638 * t2679 * t2683 - 0.16e2 / 0.3e1 * t7389 * t10348 - 0.1e2 / 0.27e2 * t1476 * t10829 + 0.8e1 / 0.81e2 * t638 * t10836 * t641 + 0.8e1 / 0.9e1 * t1476 * t10841 + 0.4e2 / 0.27e2 * t1476 * t10845 + 0.35e2 / 0.27e2 * t1476 * t10849 - 0.8e1 / 0.27e2 * t638 * t640 * t10852 - 0.2e2 / 0.81e2 * t638 * t640 * t10856 + 0.2e1 / 0.27e2 * t599 * t612 * t10860 + 0.7e2 / 0.81e2 * t638 * t640 * t10864 - 0.2e1 / 0.27e2 * t599 * t2648 * t2652 - 0.5e1 / 0.27e2 * t599 * t2648 * t2656 - t599 * t612 * t10874 / 0.27e2; + const double t10879 = t10802 + t10878; + const double t10883 = piecewise_functor_3( t351, 0.0, -0.3e1 / 0.8e1 * t6 * t360 * t10879 ); + + + vrho_a = t350 + t649 + t7 * ( t1166 + t1503 ); + vrho_b = t350 + t649 + t7 * ( t1734 + t2137 ); + vsigma_aa = t7 * t2417; + vsigma_ab = 0.e0; + vsigma_bb = t7 * t2695; + v2rho2_aa = 0.2e1 * t1166 + 0.2e1 * t1503 + t7 * ( t3789 + t4471 ); + v2rho2_bb = 0.2e1 * t1734 + 0.2e1 * t2137 + t7 * ( t6485 + t7399 ); + v2rhosigma_a_aa = t7 * t8253 + t2417; + v2rhosigma_b_bb = t7 * t9680 + t2695; + v2sigma2_aa_aa = t7 * t10282; + v2sigma2_bb_bb = t7 * t10883; + v2rho2_ab = 0.0; + v2rhosigma_a_ab = 0.0; + v2rhosigma_a_bb = 0.0; + v2rhosigma_b_aa = 0.0; + v2rhosigma_b_ab = 0.0; + v2sigma2_aa_ab = 0.0; + v2sigma2_aa_bb = 0.0; + v2sigma2_ab_ab = 0.0; + v2sigma2_ab_bb = 0.0; + + + + } + + +}; + +struct BuiltinWPBEh_X_default0 : detail::BuiltinKernelImpl< BuiltinWPBEh_X_default0 > { + + BuiltinWPBEh_X_default0( Spin p ) : + detail::BuiltinKernelImpl< BuiltinWPBEh_X_default0 >(p) { } + + virtual ~BuiltinWPBEh_X_default0() = default; + +}; + + + +} // namespace ExchCXX diff --git a/include/exchcxx/impl/builtin/util.hpp b/include/exchcxx/impl/builtin/util.hpp index 8a6e2d9..89d8bda 100644 --- a/include/exchcxx/impl/builtin/util.hpp +++ b/include/exchcxx/impl/builtin/util.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -48,6 +54,7 @@ #include #include +#include namespace ExchCXX { @@ -106,8 +113,146 @@ template SAFE_INLINE(auto) exp( T x ) { return sm::exp(x); } template SAFE_INLINE(auto) atan( T x ) { return sm::atan(x); } +template +SAFE_INLINE(auto) erf( T x ) { return sm::erf(x); } template SAFE_INLINE(auto) pow( T x, U e ) { return sm::pow(x,e); } +template +SAFE_INLINE(auto) xc_erfcx( T x ) { return sm::exp(x*x)*sm::erfc(x); } + + + +// This function is taken from libxc +SAFE_INLINE(auto) xc_cheb_eval(const double x, const double *cs, const int N) +{ + int i; + double twox, b0, b1, b2; + + b2 = b1 = b0 = 0.0; + + twox = 2.0*x; + for(i=N-1; i>=0; i--){ + b2 = b1; + b1 = b0; + b0 = twox*b1 - b2 + cs[i]; + } + + return 0.5*(b0 - b2); +} +// The following data is taken from libxc +#if defined(__CUDACC__) || defined(__HIPCC__) +__device__ +#endif +static double AE11_data[39] = { + 0.121503239716065790, -0.065088778513550150, 0.004897651357459670, -0.000649237843027216, 0.000093840434587471, + 0.000000420236380882, -0.000008113374735904, 0.000002804247688663, 0.000000056487164441, -0.000000344809174450, + 0.000000058209273578, 0.000000038711426349, -0.000000012453235014, -0.000000005118504888, 0.000000002148771527, + 0.000000000868459898, -0.000000000343650105, -0.000000000179796603, 0.000000000047442060, 0.000000000040423282, + -0.000000000003543928, -0.000000000008853444, -0.000000000000960151, 0.000000000001692921, 0.000000000000607990, + -0.000000000000224338, -0.000000000000200327, -0.000000000000006246, 0.000000000000045571, 0.000000000000016383, + -0.000000000000005561, -0.000000000000006074, -0.000000000000000862, 0.000000000000001223, 0.000000000000000716, + -0.000000000000000024, -0.000000000000000201, -0.000000000000000082, 0.000000000000000017 +}; + +#if defined(__CUDACC__) || defined(__HIPCC__) +__device__ +#endif +static double AE12_data[25] = { + 0.582417495134726740, -0.158348850905782750, -0.006764275590323141, 0.005125843950185725, 0.000435232492169391, + -0.000143613366305483, -0.000041801320556301, -0.000002713395758640, 0.000001151381913647, 0.000000420650022012, + 0.000000066581901391, 0.000000000662143777, -0.000000002844104870, -0.000000000940724197, -0.000000000177476602, + -0.000000000015830222, 0.000000000002905732, 0.000000000001769356, 0.000000000000492735, 0.000000000000093709, + 0.000000000000010707, -0.000000000000000537, -0.000000000000000716, -0.000000000000000244, -0.000000000000000058 +}; + +#if defined(__CUDACC__) || defined(__HIPCC__) +__device__ +#endif +static double E11_data[19] = { + -16.11346165557149402600, 7.79407277874268027690, -1.95540581886314195070, 0.37337293866277945612, -0.05692503191092901938, + 0.00721107776966009185, -0.00078104901449841593, 0.00007388093356262168, -0.00000620286187580820, 0.00000046816002303176, + -0.00000003209288853329, 0.00000000201519974874, -0.00000000011673686816, 0.00000000000627627066, -0.00000000000031481541, + 0.00000000000001479904, -0.00000000000000065457, 0.00000000000000002733, -0.00000000000000000108 +}; + +#if defined(__CUDACC__) || defined(__HIPCC__) +__device__ +#endif +static double E12_data[16] = { + -0.03739021479220279500, 0.04272398606220957700, -0.13031820798497005440, 0.01441912402469889073, -0.00134617078051068022, + 0.00010731029253063780, -0.00000742999951611943, 0.00000045377325690753, -0.00000002476417211390, 0.00000000122076581374, + -0.00000000005485141480, 0.00000000000226362142, -0.00000000000008635897, 0.00000000000000306291, -0.00000000000000010148, + 0.00000000000000000315 +}; + +#if defined(__CUDACC__) || defined(__HIPCC__) +__device__ +#endif +static double AE13_data[25] = { + -0.605773246640603460, -0.112535243483660900, 0.013432266247902779, -0.001926845187381145, 0.000309118337720603, + -0.000053564132129618, 0.000009827812880247, -0.000001885368984916, 0.000000374943193568, -0.000000076823455870, + 0.000000016143270567, -0.000000003466802211, 0.000000000758754209, -0.000000000168864333, 0.000000000038145706, + -0.000000000008733026, 0.000000000002023672, -0.000000000000474132, 0.000000000000112211, -0.000000000000026804, + 0.000000000000006457, -0.000000000000001568, 0.000000000000000383, -0.000000000000000094, 0.000000000000000023 +}; + +#if defined(__CUDACC__) || defined(__HIPCC__) +__device__ +#endif +static double AE14_data[26] = { + -0.18929180007530170, -0.08648117855259871, 0.00722410154374659, -0.00080975594575573, 0.00010999134432661, + -0.00001717332998937, 0.00000298562751447, -0.00000056596491457, 0.00000011526808397, -0.00000002495030440, + 0.00000000569232420, -0.00000000135995766, 0.00000000033846628, -0.00000000008737853, 0.00000000002331588, + -0.00000000000641148, 0.00000000000181224, -0.00000000000052538, 0.00000000000015592, -0.00000000000004729, + 0.00000000000001463, -0.00000000000000461, 0.00000000000000148, -0.00000000000000048, 0.00000000000000016, + -0.00000000000000005 +}; + + +// This function is taken from libxc +/* implementation for E1, allowing for scaling by exp(x) */ +template +SAFE_INLINE(auto) xc_E1_scaled(T x){ + int scale = 1; + const double xmaxt = -log(DBL_MIN); /* XMAXT = -log (R1MACH(1)) */ + const double xmax = xmaxt - log(xmaxt); /* XMAX = XMAXT - log(XMAXT) */ + + double e1 = 0.0; + + /* this is a workaround not to have argument errors */ + if(! scale) x = safe_min(x, xmax); + + if(x <= -10.0){ + const double s = 1.0/x; + e1 = s * (1.0 + xc_cheb_eval(20.0/x + 1.0, AE11_data, 39)); + }else if(x <= -4.0){ + const double s = 1.0/x; + e1 = s * (1.0 + xc_cheb_eval((40.0/x + 7.0)/3.0, AE12_data, 25)); + }else if(x <= -1.0){ + const double scale_factor = exp(x); + e1 = scale_factor * (-log(fabs(x)) + xc_cheb_eval((2.0*x + 5.0)/3.0, E11_data, 19)); + }else if(x == 0.0) { +#if defined(__CUDACC__) || defined(__HIPCC__) + printf("Argument cannot be 0.0 in expint_e1\n"); +#endif + }else if(x <= 1.0){ + const double scale_factor = exp(x); + e1 = scale_factor*(-log(fabs(x)) - 0.6875 + x + xc_cheb_eval(x, E12_data, 16)); + }else if(x <= 4.0){ + const double s = 1.0/x; + e1 = s * (1.0 + xc_cheb_eval((8.0/x - 5.0)/3.0, AE13_data, 25)); + }else if(x <= xmax || scale){ + const double s = 1.0/x; + e1 = s * (1.0 + xc_cheb_eval(8.0/x - 1.0, AE14_data, 26)); + }else{ +#if defined(__CUDACC__) || defined(__HIPCC__) + printf("Argument %14.10le is larger than xmax=%14.10le in expint_e1\n", x, xmax); +#endif + } + + return e1; +} + } @@ -156,4 +301,5 @@ SAFE_CONSTEXPR_INLINE( F ) enforce_polar_sigma_constraints(F sigma_aa, F sigma_a return sigma_ab; } + } diff --git a/include/exchcxx/impl/libxc.hpp b/include/exchcxx/impl/libxc.hpp index bfcd17e..c755a8c 100644 --- a/include/exchcxx/impl/libxc.hpp +++ b/include/exchcxx/impl/libxc.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -69,12 +75,10 @@ class LibxcKernelImpl : public XCKernelImpl { bool is_lda_() const noexcept override; bool is_gga_() const noexcept override; bool is_mgga_() const noexcept override; - bool is_hyb_() const noexcept override; bool is_polarized_() const noexcept override; bool is_epc_() const noexcept override; bool needs_laplacian_() const noexcept override; bool needs_tau_() const noexcept override; - double hyb_exx_() const noexcept override; bool supports_inc_interface_() const noexcept override; @@ -83,18 +87,30 @@ class LibxcKernelImpl : public XCKernelImpl { LDA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const override; LDA_EXC_INC_GENERATOR( eval_exc_inc_ ) const override; LDA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const override; + LDA_FXC_GENERATOR( eval_fxc_ ) const override; + LDA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const override; + LDA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const override; + LDA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const override; // GGA interface GGA_EXC_GENERATOR( eval_exc_ ) const override; GGA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const override; GGA_EXC_INC_GENERATOR( eval_exc_inc_ ) const override; GGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const override; + GGA_FXC_GENERATOR( eval_fxc_ ) const override; + GGA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const override; + GGA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const override; + GGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const override; // MGGA interface MGGA_EXC_GENERATOR( eval_exc_ ) const override; MGGA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const override; MGGA_EXC_INC_GENERATOR( eval_exc_inc_ ) const override; MGGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const override; + MGGA_FXC_GENERATOR( eval_fxc_ ) const override; + MGGA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const override; + MGGA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const override; + MGGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const override; #ifdef EXCHCXX_ENABLE_DEVICE @@ -103,18 +119,30 @@ class LibxcKernelImpl : public XCKernelImpl { LDA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const override; LDA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const override; LDA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const override; + LDA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const override; + LDA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const override; + LDA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const override; + LDA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const override; // GGA interface GGA_EXC_GENERATOR_DEVICE( eval_exc_device_ ) const override; GGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const override; GGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const override; GGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const override; + GGA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const override; + GGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const override; + GGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const override; + GGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const override; // MGGA interface MGGA_EXC_GENERATOR_DEVICE( eval_exc_device_ ) const override; MGGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const override; MGGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const override; MGGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const override; + MGGA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const override; + MGGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const override; + MGGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const override; + MGGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const override; #endif diff --git a/include/exchcxx/impl/xc_kernel.hpp b/include/exchcxx/impl/xc_kernel.hpp index 99e283b..67d5ade 100644 --- a/include/exchcxx/impl/xc_kernel.hpp +++ b/include/exchcxx/impl/xc_kernel.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -74,14 +80,11 @@ struct XCKernelImpl { bool is_lda() const noexcept { return is_lda_(); } bool is_gga() const noexcept { return is_gga_(); } bool is_mgga() const noexcept { return is_mgga_(); } - bool is_hyb() const noexcept { return is_hyb_(); } bool is_polarized() const noexcept { return is_polarized_(); } bool is_epc() const noexcept { return is_epc_(); } bool needs_laplacian() const noexcept { return needs_laplacian_(); } bool needs_tau() const noexcept { return needs_tau_(); } - double hyb_exx() const noexcept { return hyb_exx_(); }; - bool supports_inc_interface() const noexcept { return supports_inc_interface_(); } @@ -118,6 +121,37 @@ struct XCKernelImpl { return tau_buffer_len( npts ); } + inline size_t v2rho2_buffer_len( size_t npts ) const noexcept { + return is_polarized() ? 3*npts : npts; + } + inline size_t v2rhosigma_buffer_len( size_t npts ) const noexcept { + return is_lda() ? 0 : is_polarized() ? 6*npts : npts; + } + inline size_t v2sigma2_buffer_len( size_t npts ) const noexcept { + return is_lda() ? 0 : is_polarized() ? 6*npts : npts; + } + inline size_t v2rholapl_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? (is_polarized() ? 4*npts : npts) : 0; + } + inline size_t v2rhotau_buffer_len( size_t npts ) const noexcept { + return is_mgga() ? (is_polarized() ? 4*npts : npts) : 0; + } + inline size_t v2sigmalapl_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? v2rhosigma_buffer_len(npts) : 0; + } + inline size_t v2sigmatau_buffer_len( size_t npts ) const noexcept { + return is_mgga() ? v2rhosigma_buffer_len(npts) : 0; + } + inline size_t v2lapl2_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? v2rho2_buffer_len(npts) : 0; + } + inline size_t v2lapltau_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? (is_polarized() ? 4*npts : npts) : 0; + } + inline size_t v2tau2_buffer_len( size_t npts ) const noexcept { + return is_mgga() ? v2rho2_buffer_len(npts) : 0; + } + template void eval_exc( Args&&... args ) { eval_exc_( std::forward(args)... ); @@ -137,6 +171,26 @@ struct XCKernelImpl { void eval_exc_vxc_inc( Args&&... args ) { eval_exc_vxc_inc_( std::forward(args)... ); } + + template + void eval_fxc( Args&&... args ) { + eval_fxc_( std::forward(args)... ); + } + + template + void eval_fxc_inc( Args&&... args ) { + eval_fxc_inc_( std::forward(args)... ); + } + + template + void eval_vxc_fxc( Args&&... args ) { + eval_vxc_fxc_( std::forward(args)... ); + } + + template + void eval_vxc_fxc_inc( Args&&... args ) { + eval_vxc_fxc_inc_( std::forward(args)... ); + } @@ -163,6 +217,26 @@ struct XCKernelImpl { eval_exc_vxc_inc_device_( std::forward(args)... ); } + template + void eval_fxc_device( Args&&... args ) { + eval_fxc_device_( std::forward(args)... ); + } + + template + void eval_fxc_inc_device( Args&&... args ) { + eval_fxc_inc_device_( std::forward(args)... ); + } + + template + void eval_vxc_fxc_device( Args&&... args ) { + eval_vxc_fxc_device_( std::forward(args)... ); + } + + template + void eval_vxc_fxc_inc_device( Args&&... args ) { + eval_vxc_fxc_inc_device_( std::forward(args)... ); + } + #endif protected: @@ -176,14 +250,11 @@ struct XCKernelImpl { virtual bool is_lda_() const noexcept = 0; virtual bool is_gga_() const noexcept = 0; virtual bool is_mgga_() const noexcept = 0; - virtual bool is_hyb_() const noexcept = 0; virtual bool is_polarized_() const noexcept = 0; virtual bool is_epc_() const noexcept = 0; virtual bool needs_laplacian_() const noexcept = 0; virtual bool needs_tau_() const noexcept = 0; - virtual double hyb_exx_() const noexcept = 0; - virtual bool supports_inc_interface_() const noexcept = 0; // LDA interface @@ -191,18 +262,30 @@ struct XCKernelImpl { virtual LDA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const = 0; virtual LDA_EXC_INC_GENERATOR( eval_exc_inc_ ) const = 0; virtual LDA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const = 0; + virtual LDA_FXC_GENERATOR( eval_fxc_ ) const = 0; + virtual LDA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const = 0; + virtual LDA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const = 0; + virtual LDA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const = 0; // GGA interface virtual GGA_EXC_GENERATOR( eval_exc_ ) const = 0; virtual GGA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const = 0; virtual GGA_EXC_INC_GENERATOR( eval_exc_inc_ ) const = 0; virtual GGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const = 0; + virtual GGA_FXC_GENERATOR( eval_fxc_ ) const = 0; + virtual GGA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const = 0; + virtual GGA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const = 0; + virtual GGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const = 0; // MGGA interface virtual MGGA_EXC_GENERATOR( eval_exc_ ) const = 0; virtual MGGA_EXC_VXC_GENERATOR( eval_exc_vxc_ ) const = 0; virtual MGGA_EXC_INC_GENERATOR( eval_exc_inc_ ) const = 0; virtual MGGA_EXC_VXC_INC_GENERATOR( eval_exc_vxc_inc_ ) const = 0; + virtual MGGA_FXC_GENERATOR( eval_fxc_ ) const = 0; + virtual MGGA_FXC_INC_GENERATOR( eval_fxc_inc_ ) const = 0; + virtual MGGA_VXC_FXC_GENERATOR( eval_vxc_fxc_ ) const = 0; + virtual MGGA_VXC_FXC_INC_GENERATOR( eval_vxc_fxc_inc_ ) const = 0; #ifdef EXCHCXX_ENABLE_DEVICE @@ -211,18 +294,30 @@ struct XCKernelImpl { virtual LDA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const = 0; virtual LDA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const = 0; virtual LDA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const = 0; + virtual LDA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const = 0; + virtual LDA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const = 0; + virtual LDA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const = 0; + virtual LDA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const = 0; // GGA interface virtual GGA_EXC_GENERATOR_DEVICE( eval_exc_device_ ) const = 0; virtual GGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const = 0; virtual GGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const = 0; virtual GGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const = 0; + virtual GGA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const = 0; + virtual GGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const = 0; + virtual GGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const = 0; + virtual GGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const = 0; // MGGA interface virtual MGGA_EXC_GENERATOR_DEVICE( eval_exc_device_ ) const = 0; virtual MGGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device_ ) const = 0; virtual MGGA_EXC_INC_GENERATOR_DEVICE( eval_exc_inc_device_ ) const = 0; virtual MGGA_EXC_VXC_INC_GENERATOR_DEVICE( eval_exc_vxc_inc_device_ ) const = 0; + virtual MGGA_FXC_GENERATOR_DEVICE( eval_fxc_device_ ) const = 0; + virtual MGGA_FXC_INC_GENERATOR_DEVICE( eval_fxc_inc_device_ ) const = 0; + virtual MGGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device_ ) const = 0; + virtual MGGA_VXC_FXC_INC_GENERATOR_DEVICE( eval_vxc_fxc_inc_device_ ) const = 0; #endif diff --git a/include/exchcxx/util/exchcxx_macros.hpp b/include/exchcxx/util/exchcxx_macros.hpp index 9d419c9..da84dc5 100644 --- a/include/exchcxx/util/exchcxx_macros.hpp +++ b/include/exchcxx/util/exchcxx_macros.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -115,24 +121,28 @@ #define RET_LDA_FXC_GENERATOR(func) RET_GENERATOR( LDA, FXC, func ) #define RET_LDA_KXC_GENERATOR(func) RET_GENERATOR( LDA, KXC, func ) #define RET_LDA_EXC_VXC_GENERATOR(func) RET_GENERATOR( LDA, EXC_VXC, func ) +#define RET_LDA_VXC_FXC_GENERATOR(func) RET_GENERATOR( LDA, VXC_FXC, func ) #define LDA_EXC_GENERATOR(func) void RET_LDA_EXC_GENERATOR(func) #define LDA_VXC_GENERATOR(func) void RET_LDA_VXC_GENERATOR(func) #define LDA_FXC_GENERATOR(func) void RET_LDA_FXC_GENERATOR(func) #define LDA_KXC_GENERATOR(func) void RET_LDA_KXC_GENERATOR(func) #define LDA_EXC_VXC_GENERATOR(func) void RET_LDA_EXC_VXC_GENERATOR(func) +#define LDA_VXC_FXC_GENERATOR(func) void RET_LDA_VXC_FXC_GENERATOR(func) #define RET_LDA_EXC_INC_GENERATOR(func) RET_INC_GENERATOR( LDA, EXC, func ) #define RET_LDA_VXC_INC_GENERATOR(func) RET_INC_GENERATOR( LDA, VXC, func ) #define RET_LDA_FXC_INC_GENERATOR(func) RET_INC_GENERATOR( LDA, FXC, func ) #define RET_LDA_KXC_INC_GENERATOR(func) RET_INC_GENERATOR( LDA, KXC, func ) #define RET_LDA_EXC_VXC_INC_GENERATOR(func) RET_INC_GENERATOR( LDA, EXC_VXC, func ) +#define RET_LDA_VXC_FXC_INC_GENERATOR(func) RET_INC_GENERATOR( LDA, VXC_FXC, func ) #define LDA_EXC_INC_GENERATOR(func) void RET_LDA_EXC_INC_GENERATOR(func) #define LDA_VXC_INC_GENERATOR(func) void RET_LDA_VXC_INC_GENERATOR(func) #define LDA_FXC_INC_GENERATOR(func) void RET_LDA_FXC_INC_GENERATOR(func) #define LDA_KXC_INC_GENERATOR(func) void RET_LDA_KXC_INC_GENERATOR(func) #define LDA_EXC_VXC_INC_GENERATOR(func) void RET_LDA_EXC_VXC_INC_GENERATOR(func) +#define LDA_VXC_FXC_INC_GENERATOR(func) void RET_LDA_VXC_FXC_INC_GENERATOR(func) #ifdef EXCHCXX_ENABLE_DEVICE @@ -147,6 +157,8 @@ RET_GENERATOR_DEVICE( LDA, KXC, func ) #define RET_LDA_EXC_VXC_GENERATOR_DEVICE(func) \ RET_GENERATOR_DEVICE( LDA, EXC_VXC, func ) + #define RET_LDA_VXC_FXC_GENERATOR_DEVICE(func) \ + RET_GENERATOR_DEVICE( LDA, VXC_FXC, func ) #define LDA_EXC_GENERATOR_DEVICE(func) \ @@ -159,6 +171,8 @@ void RET_LDA_KXC_GENERATOR_DEVICE(func) #define LDA_EXC_VXC_GENERATOR_DEVICE(func) \ void RET_LDA_EXC_VXC_GENERATOR_DEVICE(func) + #define LDA_VXC_FXC_GENERATOR_DEVICE(func) \ + void RET_LDA_VXC_FXC_GENERATOR_DEVICE(func) #define RET_LDA_EXC_INC_GENERATOR_DEVICE(func) \ RET_INC_GENERATOR_DEVICE( LDA, EXC, func ) @@ -170,6 +184,8 @@ RET_INC_GENERATOR_DEVICE( LDA, KXC, func ) #define RET_LDA_EXC_VXC_INC_GENERATOR_DEVICE(func) \ RET_INC_GENERATOR_DEVICE( LDA, EXC_VXC, func ) + #define RET_LDA_VXC_FXC_INC_GENERATOR_DEVICE(func) \ + RET_INC_GENERATOR_DEVICE( LDA, VXC_FXC, func ) #define LDA_EXC_INC_GENERATOR_DEVICE(func) \ @@ -182,6 +198,8 @@ void RET_LDA_KXC_INC_GENERATOR_DEVICE(func) #define LDA_EXC_VXC_INC_GENERATOR_DEVICE(func) \ void RET_LDA_EXC_VXC_INC_GENERATOR_DEVICE(func) + #define LDA_VXC_FXC_INC_GENERATOR_DEVICE(func) \ + void RET_LDA_VXC_FXC_INC_GENERATOR_DEVICE(func) #endif @@ -197,6 +215,8 @@ RET_GENERATOR_SYCL_KERNEL( LDA, KXC, func ) #define RET_LDA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) \ RET_GENERATOR_SYCL_KERNEL( LDA, EXC_VXC, func ) + #define RET_LDA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) \ + RET_GENERATOR_SYCL_KERNEL( LDA, VXC_FXC, func ) #define LDA_EXC_GENERATOR_SYCL_KERNEL(func) \ @@ -209,6 +229,9 @@ void RET_LDA_KXC_GENERATOR_SYCL_KERNEL(func) #define LDA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) \ void RET_LDA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) + #define LDA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) \ + void RET_LDA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) + #define RET_LDA_EXC_INC_GENERATOR_SYCL_KERNEL(func) \ RET_INC_GENERATOR_SYCL_KERNEL( LDA, EXC, func ) @@ -220,6 +243,8 @@ RET_INC_GENERATOR_SYCL_KERNEL( LDA, KXC, func ) #define RET_LDA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) \ RET_INC_GENERATOR_SYCL_KERNEL( LDA, EXC_VXC, func ) + #define RET_LDA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + RET_INC_GENERATOR_SYCL_KERNEL( LDA, VXC_FXC, func ) #define LDA_EXC_INC_GENERATOR_SYCL_KERNEL(func) \ @@ -232,6 +257,8 @@ void RET_LDA_KXC_INC_GENERATOR_SYCL_KERNEL(func) #define LDA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) \ void RET_LDA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) + #define LDA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + void RET_LDA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) #endif @@ -243,24 +270,28 @@ #define RET_GGA_FXC_GENERATOR(func) RET_GENERATOR( GGA, FXC, func ) #define RET_GGA_KXC_GENERATOR(func) RET_GENERATOR( GGA, KXC, func ) #define RET_GGA_EXC_VXC_GENERATOR(func) RET_GENERATOR( GGA, EXC_VXC, func ) +#define RET_GGA_VXC_FXC_GENERATOR(func) RET_GENERATOR( GGA, VXC_FXC, func ) #define GGA_EXC_GENERATOR(func) void RET_GGA_EXC_GENERATOR(func) #define GGA_VXC_GENERATOR(func) void RET_GGA_VXC_GENERATOR(func) #define GGA_FXC_GENERATOR(func) void RET_GGA_FXC_GENERATOR(func) #define GGA_KXC_GENERATOR(func) void RET_GGA_KXC_GENERATOR(func) #define GGA_EXC_VXC_GENERATOR(func) void RET_GGA_EXC_VXC_GENERATOR(func) +#define GGA_VXC_FXC_GENERATOR(func) void RET_GGA_VXC_FXC_GENERATOR(func) #define RET_GGA_EXC_INC_GENERATOR(func) RET_INC_GENERATOR( GGA, EXC, func ) #define RET_GGA_VXC_INC_GENERATOR(func) RET_INC_GENERATOR( GGA, VXC, func ) #define RET_GGA_FXC_INC_GENERATOR(func) RET_INC_GENERATOR( GGA, FXC, func ) #define RET_GGA_KXC_INC_GENERATOR(func) RET_INC_GENERATOR( GGA, KXC, func ) #define RET_GGA_EXC_VXC_INC_GENERATOR(func) RET_INC_GENERATOR( GGA, EXC_VXC, func ) +#define RET_GGA_VXC_FXC_INC_GENERATOR(func) RET_INC_GENERATOR( GGA, VXC_FXC, func ) #define GGA_EXC_INC_GENERATOR(func) void RET_GGA_EXC_INC_GENERATOR(func) #define GGA_VXC_INC_GENERATOR(func) void RET_GGA_VXC_INC_GENERATOR(func) #define GGA_FXC_INC_GENERATOR(func) void RET_GGA_FXC_INC_GENERATOR(func) #define GGA_KXC_INC_GENERATOR(func) void RET_GGA_KXC_INC_GENERATOR(func) #define GGA_EXC_VXC_INC_GENERATOR(func) void RET_GGA_EXC_VXC_INC_GENERATOR(func) +#define GGA_VXC_FXC_INC_GENERATOR(func) void RET_GGA_VXC_FXC_INC_GENERATOR(func) #ifdef EXCHCXX_ENABLE_DEVICE @@ -275,6 +306,8 @@ RET_GENERATOR_DEVICE( GGA, KXC, func ) #define RET_GGA_EXC_VXC_GENERATOR_DEVICE(func) \ RET_GENERATOR_DEVICE( GGA, EXC_VXC, func ) + #define RET_GGA_VXC_FXC_GENERATOR_DEVICE(func) \ + RET_GENERATOR_DEVICE( GGA, VXC_FXC, func ) #define GGA_EXC_GENERATOR_DEVICE(func) \ @@ -287,6 +320,8 @@ void RET_GGA_KXC_GENERATOR_DEVICE(func) #define GGA_EXC_VXC_GENERATOR_DEVICE(func) \ void RET_GGA_EXC_VXC_GENERATOR_DEVICE(func) + #define GGA_VXC_FXC_GENERATOR_DEVICE(func) \ + void RET_GGA_VXC_FXC_GENERATOR_DEVICE(func) #define RET_GGA_EXC_INC_GENERATOR_DEVICE(func) \ RET_INC_GENERATOR_DEVICE( GGA, EXC, func ) @@ -298,6 +333,8 @@ RET_INC_GENERATOR_DEVICE( GGA, KXC, func ) #define RET_GGA_EXC_VXC_INC_GENERATOR_DEVICE(func) \ RET_INC_GENERATOR_DEVICE( GGA, EXC_VXC, func ) + #define RET_GGA_VXC_FXC_INC_GENERATOR_DEVICE(func) \ + RET_INC_GENERATOR_DEVICE( GGA, VXC_FXC, func ) #define GGA_EXC_INC_GENERATOR_DEVICE(func) \ @@ -310,6 +347,8 @@ void RET_GGA_KXC_INC_GENERATOR_DEVICE(func) #define GGA_EXC_VXC_INC_GENERATOR_DEVICE(func) \ void RET_GGA_EXC_VXC_INC_GENERATOR_DEVICE(func) + #define GGA_VXC_FXC_INC_GENERATOR_DEVICE(func) \ + void RET_GGA_VXC_FXC_INC_GENERATOR_DEVICE(func) #endif @@ -326,6 +365,8 @@ RET_GENERATOR_SYCL_KERNEL( GGA, KXC, func ) #define RET_GGA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) \ RET_GENERATOR_SYCL_KERNEL( GGA, EXC_VXC, func ) + #define RET_GGA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) \ + RET_GENERATOR_SYCL_KERNEL( GGA, VXC_FXC, func ) #define GGA_EXC_GENERATOR_SYCL_KERNEL(func) \ @@ -338,6 +379,8 @@ void RET_GGA_KXC_GENERATOR_SYCL_KERNEL(func) #define GGA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) \ void RET_GGA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) + #define GGA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) \ + void RET_GGA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) #define RET_GGA_EXC_INC_GENERATOR_SYCL_KERNEL(func) \ RET_INC_GENERATOR_SYCL_KERNEL( GGA, EXC, func ) @@ -349,6 +392,8 @@ RET_INC_GENERATOR_SYCL_KERNEL( GGA, KXC, func ) #define RET_GGA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) \ RET_INC_GENERATOR_SYCL_KERNEL( GGA, EXC_VXC, func ) + #define RET_GGA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + RET_INC_GENERATOR_SYCL_KERNEL( GGA, VXC_FXC, func ) #define GGA_EXC_INC_GENERATOR_SYCL_KERNEL(func) \ @@ -361,6 +406,8 @@ void RET_GGA_KXC_INC_GENERATOR_SYCL_KERNEL(func) #define GGA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) \ void RET_GGA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) + #define GGA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + void RET_GGA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) #endif @@ -370,18 +417,26 @@ #define RET_MGGA_EXC_GENERATOR(func) RET_GENERATOR( MGGA, EXC, func ) #define RET_MGGA_VXC_GENERATOR(func) RET_GENERATOR( MGGA, VXC, func ) #define RET_MGGA_EXC_VXC_GENERATOR(func) RET_GENERATOR( MGGA, EXC_VXC, func ) +#define RET_MGGA_FXC_GENERATOR(func) RET_GENERATOR( MGGA, FXC, func ) +#define RET_MGGA_VXC_FXC_GENERATOR(func) RET_GENERATOR( MGGA, VXC_FXC, func ) #define MGGA_EXC_GENERATOR(func) void RET_MGGA_EXC_GENERATOR(func) #define MGGA_VXC_GENERATOR(func) void RET_MGGA_VXC_GENERATOR(func) #define MGGA_EXC_VXC_GENERATOR(func) void RET_MGGA_EXC_VXC_GENERATOR(func) +#define MGGA_FXC_GENERATOR(func) void RET_MGGA_FXC_GENERATOR(func) +#define MGGA_VXC_FXC_GENERATOR(func) void RET_MGGA_VXC_FXC_GENERATOR(func) #define RET_MGGA_EXC_INC_GENERATOR(func) RET_INC_GENERATOR( MGGA, EXC, func ) #define RET_MGGA_VXC_INC_GENERATOR(func) RET_INC_GENERATOR( MGGA, VXC, func ) #define RET_MGGA_EXC_VXC_INC_GENERATOR(func) RET_INC_GENERATOR( MGGA, EXC_VXC, func ) +#define RET_MGGA_FXC_INC_GENERATOR(func) RET_INC_GENERATOR( MGGA, FXC, func ) +#define RET_MGGA_VXC_FXC_INC_GENERATOR(func) RET_INC_GENERATOR( MGGA, VXC_FXC, func ) #define MGGA_EXC_INC_GENERATOR(func) void RET_MGGA_EXC_INC_GENERATOR(func) #define MGGA_VXC_INC_GENERATOR(func) void RET_MGGA_VXC_INC_GENERATOR(func) #define MGGA_EXC_VXC_INC_GENERATOR(func) void RET_MGGA_EXC_VXC_INC_GENERATOR(func) +#define MGGA_FXC_INC_GENERATOR(func) void RET_MGGA_FXC_INC_GENERATOR(func) +#define MGGA_VXC_FXC_INC_GENERATOR(func) void RET_MGGA_VXC_FXC_INC_GENERATOR(func) #ifdef EXCHCXX_ENABLE_DEVICE @@ -392,6 +447,10 @@ RET_GENERATOR_DEVICE( MGGA, VXC, func ) #define RET_MGGA_EXC_VXC_GENERATOR_DEVICE(func) \ RET_GENERATOR_DEVICE( MGGA, EXC_VXC, func ) + #define RET_MGGA_FXC_GENERATOR_DEVICE(func) \ + RET_GENERATOR_DEVICE( MGGA, FXC, func ) + #define RET_MGGA_VXC_FXC_GENERATOR_DEVICE(func) \ + RET_GENERATOR_DEVICE( MGGA, VXC_FXC, func ) #define MGGA_EXC_GENERATOR_DEVICE(func) \ @@ -400,6 +459,10 @@ void RET_MGGA_VXC_GENERATOR_DEVICE(func) #define MGGA_EXC_VXC_GENERATOR_DEVICE(func) \ void RET_MGGA_EXC_VXC_GENERATOR_DEVICE(func) + #define MGGA_FXC_GENERATOR_DEVICE(func) \ + void RET_MGGA_FXC_GENERATOR_DEVICE(func) + #define MGGA_VXC_FXC_GENERATOR_DEVICE(func) \ + void RET_MGGA_VXC_FXC_GENERATOR_DEVICE(func) #define RET_MGGA_EXC_INC_GENERATOR_DEVICE(func) \ @@ -408,6 +471,10 @@ RET_INC_GENERATOR_DEVICE( MGGA, VXC, func ) #define RET_MGGA_EXC_VXC_INC_GENERATOR_DEVICE(func) \ RET_INC_GENERATOR_DEVICE( MGGA, EXC_VXC, func ) + #define RET_MGGA_FXC_INC_GENERATOR_DEVICE(func) \ + RET_INC_GENERATOR_DEVICE( MGGA, FXC, func ) + #define RET_MGGA_VXC_FXC_INC_GENERATOR_DEVICE(func) \ + RET_INC_GENERATOR_DEVICE( MGGA, VXC_FXC, func ) #define MGGA_EXC_INC_GENERATOR_DEVICE(func) \ @@ -416,6 +483,10 @@ void RET_MGGA_VXC_INC_GENERATOR_DEVICE(func) #define MGGA_EXC_VXC_INC_GENERATOR_DEVICE(func) \ void RET_MGGA_EXC_VXC_INC_GENERATOR_DEVICE(func) + #define MGGA_FXC_INC_GENERATOR_DEVICE(func) \ + void RET_MGGA_FXC_INC_GENERATOR_DEVICE(func) + #define MGGA_VXC_FXC_INC_GENERATOR_DEVICE(func) \ + void RET_MGGA_VXC_FXC_INC_GENERATOR_DEVICE(func) #endif @@ -429,6 +500,10 @@ RET_GENERATOR_SYCL_KERNEL( MGGA, VXC, func ) #define RET_MGGA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) \ RET_GENERATOR_SYCL_KERNEL( MGGA, EXC_VXC, func ) + #define RET_MGGA_FXC_GENERATOR_SYCL_KERNEL(func) \ + RET_GENERATOR_SYCL_KERNEL( MGGA, FXC, func ) + #define RET_MGGA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) \ + RET_GENERATOR_SYCL_KERNEL( MGGA, VXC_FXC, func ) #define MGGA_EXC_GENERATOR_SYCL_KERNEL(func) \ @@ -437,6 +512,10 @@ void RET_MGGA_VXC_GENERATOR_SYCL_KERNEL(func) #define MGGA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) \ void RET_MGGA_EXC_VXC_GENERATOR_SYCL_KERNEL(func) + #define MGGA_FXC_GENERATOR_SYCL_KERNEL(func) \ + void RET_MGGA_FXC_GENERATOR_SYCL_KERNEL(func) + #define MGGA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) \ + void RET_MGGA_VXC_FXC_GENERATOR_SYCL_KERNEL(func) #define RET_MGGA_EXC_INC_GENERATOR_SYCL_KERNEL(func) \ @@ -445,6 +524,10 @@ RET_INC_GENERATOR_SYCL_KERNEL( MGGA, VXC, func ) #define RET_MGGA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) \ RET_INC_GENERATOR_SYCL_KERNEL( MGGA, EXC_VXC, func ) + #define RET_MGGA_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + RET_INC_GENERATOR_SYCL_KERNEL( MGGA, FXC, func ) + #define RET_MGGA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + RET_INC_GENERATOR_SYCL_KERNEL( MGGA, VXC_FXC, func ) #define MGGA_EXC_INC_GENERATOR_SYCL_KERNEL(func) \ @@ -453,6 +536,10 @@ void RET_MGGA_VXC_INC_GENERATOR_SYCL_KERNEL(func) #define MGGA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) \ void RET_MGGA_EXC_VXC_INC_GENERATOR_SYCL_KERNEL(func) + #define MGGA_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + void RET_MGGA_FXC_INC_GENERATOR_SYCL_KERNEL(func) + #define MGGA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) \ + void RET_MGGA_VXC_FXC_INC_GENERATOR_SYCL_KERNEL(func) #endif diff --git a/include/exchcxx/util/param_macros.hpp b/include/exchcxx/util/param_macros.hpp index a7d399d..ede1c31 100644 --- a/include/exchcxx/util/param_macros.hpp +++ b/include/exchcxx/util/param_macros.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -73,6 +79,8 @@ namespace ExchCXX { #define TYPED_LDA_OPARAMS_KXC(BUFFER) BUFFER kxc #define TYPED_LDA_OPARAMS_EXC_VXC(BUFFER) \ TYPED_LDA_OPARAMS_EXC(BUFFER), TYPED_LDA_OPARAMS_VXC(BUFFER) +#define TYPED_LDA_OPARAMS_VXC_FXC(BUFFER) \ + TYPED_LDA_OPARAMS_VXC(BUFFER), TYPED_LDA_OPARAMS_FXC(BUFFER) #define LDA_IPARAMS TYPED_LDA_IPARAMS(int,const_host_buffer_type) #define LDA_OPARAMS_EXC TYPED_LDA_OPARAMS_EXC(host_buffer_type) @@ -80,6 +88,7 @@ namespace ExchCXX { #define LDA_OPARAMS_FXC TYPED_LDA_OPARAMS_FXC(host_buffer_type) #define LDA_OPARAMS_KXC TYPED_LDA_OPARAMS_KXC(host_buffer_type) #define LDA_OPARAMS_EXC_VXC TYPED_LDA_OPARAMS_EXC_VXC(host_buffer_type) +#define LDA_OPARAMS_VXC_FXC TYPED_LDA_OPARAMS_VXC_FXC(host_buffer_type) #define DEV_LDA_IPARAMS TYPED_LDA_IPARAMS(int,const_device_buffer_type) #define DEV_LDA_OPARAMS_EXC TYPED_LDA_OPARAMS_EXC(device_buffer_type) @@ -87,6 +96,7 @@ namespace ExchCXX { #define DEV_LDA_OPARAMS_FXC TYPED_LDA_OPARAMS_FXC(device_buffer_type) #define DEV_LDA_OPARAMS_KXC TYPED_LDA_OPARAMS_KXC(device_buffer_type) #define DEV_LDA_OPARAMS_EXC_VXC TYPED_LDA_OPARAMS_EXC_VXC(device_buffer_type) +#define DEV_LDA_OPARAMS_VXC_FXC TYPED_LDA_OPARAMS_VXC_FXC(device_buffer_type) #define LDA_IPARAMS_NOTYPE TYPED_LDA_IPARAMS(NOTYPE,NOTYPE) #define LDA_OPARAMS_EXC_NOTYPE TYPED_LDA_OPARAMS_EXC(NOTYPE) @@ -94,6 +104,7 @@ namespace ExchCXX { #define LDA_OPARAMS_FXC_NOTYPE TYPED_LDA_OPARAMS_FXC(NOTYPE) #define LDA_OPARAMS_KXC_NOTYPE TYPED_LDA_OPARAMS_KXC(NOTYPE) #define LDA_OPARAMS_EXC_VXC_NOTYPE TYPED_LDA_OPARAMS_EXC_VXC(NOTYPE) +#define LDA_OPARAMS_VXC_FXC_NOTYPE TYPED_LDA_OPARAMS_VXC_FXC(NOTYPE) @@ -108,6 +119,8 @@ namespace ExchCXX { #define TYPED_GGA_OPARAMS_EXC_VXC(BUFFER) \ TYPED_GGA_OPARAMS_EXC(BUFFER), TYPED_GGA_OPARAMS_VXC(BUFFER) +#define TYPED_GGA_OPARAMS_VXC_FXC(BUFFER) \ + TYPED_GGA_OPARAMS_VXC(BUFFER), TYPED_GGA_OPARAMS_FXC(BUFFER) @@ -117,6 +130,7 @@ namespace ExchCXX { #define GGA_OPARAMS_FXC TYPED_GGA_OPARAMS_FXC(host_buffer_type) #define GGA_OPARAMS_KXC TYPED_GGA_OPARAMS_KXC(host_buffer_type) #define GGA_OPARAMS_EXC_VXC TYPED_GGA_OPARAMS_EXC_VXC(host_buffer_type) +#define GGA_OPARAMS_VXC_FXC TYPED_GGA_OPARAMS_VXC_FXC(host_buffer_type) #define DEV_GGA_IPARAMS TYPED_GGA_IPARAMS(int,const_device_buffer_type) #define DEV_GGA_OPARAMS_EXC TYPED_GGA_OPARAMS_EXC(device_buffer_type) @@ -124,6 +138,7 @@ namespace ExchCXX { #define DEV_GGA_OPARAMS_FXC TYPED_GGA_OPARAMS_FXC(device_buffer_type) #define DEV_GGA_OPARAMS_KXC TYPED_GGA_OPARAMS_KXC(device_buffer_type) #define DEV_GGA_OPARAMS_EXC_VXC TYPED_GGA_OPARAMS_EXC_VXC(device_buffer_type) +#define DEV_GGA_OPARAMS_VXC_FXC TYPED_GGA_OPARAMS_VXC_FXC(device_buffer_type) #define GGA_IPARAMS_NOTYPE TYPED_GGA_IPARAMS(NOTYPE,NOTYPE) #define GGA_OPARAMS_EXC_NOTYPE TYPED_GGA_OPARAMS_EXC(NOTYPE) @@ -131,6 +146,7 @@ namespace ExchCXX { #define GGA_OPARAMS_FXC_NOTYPE TYPED_GGA_OPARAMS_FXC(NOTYPE) #define GGA_OPARAMS_KXC_NOTYPE TYPED_GGA_OPARAMS_KXC(NOTYPE) #define GGA_OPARAMS_EXC_VXC_NOTYPE TYPED_GGA_OPARAMS_EXC_VXC(NOTYPE) +#define GGA_OPARAMS_VXC_FXC_NOTYPE TYPED_GGA_OPARAMS_VXC_FXC(NOTYPE) // MGGA Parameters @@ -139,21 +155,33 @@ namespace ExchCXX { #define TYPED_MGGA_OPARAMS_EXC(BUFFER) BUFFER eps #define TYPED_MGGA_OPARAMS_VXC(BUFFER) \ BUFFER vrho, BUFFER vsigma, BUFFER vlapl, BUFFER vtau +#define TYPED_MGGA_OPARAMS_FXC(BUFFER) \ + BUFFER v2rho2, BUFFER v2rhosigma, BUFFER v2rholapl, BUFFER v2rhotau, \ + BUFFER v2sigma2, BUFFER v2sigmalapl, BUFFER v2sigmatau, BUFFER v2lapl2, \ + BUFFER v2lapltau, BUFFER v2tau2 #define TYPED_MGGA_OPARAMS_EXC_VXC(BUFFER) \ TYPED_MGGA_OPARAMS_EXC(BUFFER), TYPED_MGGA_OPARAMS_VXC(BUFFER) +#define TYPED_MGGA_OPARAMS_VXC_FXC(BUFFER) \ + TYPED_MGGA_OPARAMS_VXC(BUFFER), TYPED_MGGA_OPARAMS_FXC(BUFFER) #define MGGA_IPARAMS TYPED_MGGA_IPARAMS(int,const_host_buffer_type) #define MGGA_OPARAMS_EXC TYPED_MGGA_OPARAMS_EXC(host_buffer_type) #define MGGA_OPARAMS_VXC TYPED_MGGA_OPARAMS_VXC(host_buffer_type) +#define MGGA_OPARAMS_FXC TYPED_MGGA_OPARAMS_FXC(host_buffer_type) #define MGGA_OPARAMS_EXC_VXC TYPED_MGGA_OPARAMS_EXC_VXC(host_buffer_type) +#define MGGA_OPARAMS_VXC_FXC TYPED_MGGA_OPARAMS_VXC_FXC(host_buffer_type) #define DEV_MGGA_IPARAMS TYPED_MGGA_IPARAMS(int,const_device_buffer_type) #define DEV_MGGA_OPARAMS_EXC TYPED_MGGA_OPARAMS_EXC(device_buffer_type) #define DEV_MGGA_OPARAMS_VXC TYPED_MGGA_OPARAMS_VXC(device_buffer_type) +#define DEV_MGGA_OPARAMS_FXC TYPED_MGGA_OPARAMS_FXC(device_buffer_type) #define DEV_MGGA_OPARAMS_EXC_VXC TYPED_MGGA_OPARAMS_EXC_VXC(device_buffer_type) +#define DEV_MGGA_OPARAMS_VXC_FXC TYPED_MGGA_OPARAMS_VXC_FXC(device_buffer_type) #define MGGA_IPARAMS_NOTYPE TYPED_MGGA_IPARAMS(NOTYPE,NOTYPE) #define MGGA_OPARAMS_EXC_NOTYPE TYPED_MGGA_OPARAMS_EXC(NOTYPE) #define MGGA_OPARAMS_VXC_NOTYPE TYPED_MGGA_OPARAMS_VXC(NOTYPE) +#define MGGA_OPARAMS_FXC_NOTYPE TYPED_MGGA_OPARAMS_FXC(NOTYPE) #define MGGA_OPARAMS_EXC_VXC_NOTYPE TYPED_MGGA_OPARAMS_EXC_VXC(NOTYPE) +#define MGGA_OPARAMS_VXC_FXC_NOTYPE TYPED_MGGA_OPARAMS_VXC_FXC(NOTYPE) diff --git a/include/exchcxx/xc_functional.hpp b/include/exchcxx/xc_functional.hpp index a22457a..8332c85 100644 --- a/include/exchcxx/xc_functional.hpp +++ b/include/exchcxx/xc_functional.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -57,12 +63,31 @@ namespace ExchCXX { + +struct HybCoeffs { + double alpha = 0.0; // the coefficient of HF part for global hybrid functionals or the coefficient of long-range HF part for range-separated functionals + double beta = 0.0; // The deduction of the short-range part. Following the notation of libxc. So the real coefficient of short-range HF is alpha - beta + double omega = 0.0; // the range-separation parameter + + bool operator==(const HybCoeffs& other) const { + return alpha == other.alpha && + beta == other.beta && + omega == other.omega; + } + + bool operator!=(const HybCoeffs& other) const { + return !(*this == other); + } + +}; + class XCFunctional { using value_type = std::pair; private: std::vector< value_type > kernels_; + HybCoeffs hyb_coefs_= {0.0, 0.0, 0.0}; inline bool sanity_check() const { @@ -102,9 +127,14 @@ class XCFunctional { XCFunctional(); explicit XCFunctional( const std::vector< XCKernel >& ); + explicit XCFunctional( const std::vector< XCKernel >&, const HybCoeffs& ); + explicit XCFunctional( const std::pair, HybCoeffs>& ); explicit XCFunctional( const std::initializer_list< value_type >& list ); + explicit XCFunctional( const std::initializer_list< value_type >& list , const HybCoeffs& hyb ); explicit XCFunctional( const std::vector& ks ); + explicit XCFunctional( const std::vector& ks , const HybCoeffs& hyb ); explicit XCFunctional( std::vector&& ks ); + explicit XCFunctional( std::vector&& ks , HybCoeffs&& hyb ); XCFunctional( const Backend, const Functional, const Spin ); XCFunctional( const Functional func, const Spin polar) : @@ -153,10 +183,13 @@ class XCFunctional { inline bool is_hyb() const { throw_if_not_sane(); - return std::any_of( - kernels_.begin(), kernels_.end(), - [](const auto& x) { return x.second.is_hyb(); } - ); + // return true if any hyb_coefs_ is not 0 + return hyb_coefs_.alpha != 0.0 || hyb_coefs_.beta != 0.0 || hyb_coefs_.omega != 0.0; + } + + inline bool is_range_separated() const { + throw_if_not_sane(); + return hyb_coefs_.omega != 0.0 || hyb_coefs_.beta != 0.0; } inline bool is_epc() const { @@ -184,14 +217,9 @@ class XCFunctional { } - inline double hyb_exx() const { + inline HybCoeffs hyb_exx() const { throw_if_not_sane(); - return std::accumulate( - kernels_.begin(), kernels_.end(), 0., - [](const auto& x, const auto &y) { - return x + y.second.hyb_exx(); - } - ); + return hyb_coefs_; } @@ -226,20 +254,58 @@ class XCFunctional { return tau_buffer_len( npts ); } + inline size_t v2rho2_buffer_len( size_t npts ) const noexcept { + return is_polarized() ? 3*npts : npts; + } + inline size_t v2rhosigma_buffer_len( size_t npts ) const noexcept { + return is_lda() ? 0 : is_polarized() ? 6*npts : npts; + } + inline size_t v2sigma2_buffer_len( size_t npts ) const noexcept { + return is_lda() ? 0 : is_polarized() ? 6*npts : npts; + } + inline size_t v2rholapl_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? (is_polarized() ? 4*npts : npts) : 0; + } + inline size_t v2rhotau_buffer_len( size_t npts ) const noexcept { + return is_mgga() ? (is_polarized() ? 4*npts : npts) : 0; + } + inline size_t v2sigmalapl_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? v2rhosigma_buffer_len(npts) : 0; + } + inline size_t v2sigmatau_buffer_len( size_t npts ) const noexcept { + return is_mgga() ? v2rhosigma_buffer_len(npts) : 0; + } + inline size_t v2lapl2_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? v2rho2_buffer_len(npts) : 0; + } + inline size_t v2lapltau_buffer_len( size_t npts ) const noexcept { + return needs_laplacian() ? (is_polarized() ? 4*npts : npts) : 0; + } + inline size_t v2tau2_buffer_len( size_t npts ) const noexcept { + return is_mgga() ? v2rho2_buffer_len(npts) : 0; + } + + // LDA Interfaces LDA_EXC_GENERATOR( eval_exc ) const; LDA_EXC_VXC_GENERATOR( eval_exc_vxc ) const; + LDA_FXC_GENERATOR( eval_fxc ) const; + LDA_VXC_FXC_GENERATOR( eval_vxc_fxc ) const; // GGA Interfaces GGA_EXC_GENERATOR( eval_exc ) const; GGA_EXC_VXC_GENERATOR( eval_exc_vxc ) const; + GGA_FXC_GENERATOR( eval_fxc ) const; + GGA_VXC_FXC_GENERATOR( eval_vxc_fxc ) const; // mGGA interface MGGA_EXC_GENERATOR( eval_exc ) const; MGGA_EXC_VXC_GENERATOR( eval_exc_vxc ) const; + MGGA_FXC_GENERATOR( eval_fxc ) const; + MGGA_VXC_FXC_GENERATOR( eval_vxc_fxc ) const; // Device code @@ -248,14 +314,20 @@ class XCFunctional { // LDA Interfaces LDA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; LDA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; + LDA_FXC_GENERATOR_DEVICE( eval_fxc_device ) const; + LDA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device ) const; // GGA Interfaces GGA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; GGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; + GGA_FXC_GENERATOR_DEVICE( eval_fxc_device ) const; + GGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device ) const; // mGGA interface MGGA_EXC_GENERATOR_DEVICE( eval_exc_device ) const; MGGA_EXC_VXC_GENERATOR_DEVICE( eval_exc_vxc_device ) const; + MGGA_FXC_GENERATOR_DEVICE( eval_fxc_device ) const; + MGGA_VXC_FXC_GENERATOR_DEVICE( eval_vxc_fxc_device ) const; #endif diff --git a/include/exchcxx/xc_kernel.hpp b/include/exchcxx/xc_kernel.hpp index 6262c70..79d49f9 100644 --- a/include/exchcxx/xc_kernel.hpp +++ b/include/exchcxx/xc_kernel.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -103,15 +109,12 @@ class XCKernel { bool is_lda() const noexcept { return pimpl_->is_lda(); } bool is_gga() const noexcept { return pimpl_->is_gga(); } bool is_mgga() const noexcept { return pimpl_->is_mgga(); } - bool is_hyb() const noexcept { return pimpl_->is_hyb(); } bool is_polarized() const noexcept { return pimpl_->is_polarized(); } bool is_epc() const noexcept { return pimpl_->is_epc(); } bool needs_laplacian() const noexcept { return pimpl_->needs_laplacian(); } bool needs_tau() const noexcept { return pimpl_->needs_tau(); } - double hyb_exx() const noexcept { return pimpl_->hyb_exx(); } - bool supports_inc_interface() const noexcept { return pimpl_->supports_inc_interface(); } @@ -144,6 +147,36 @@ class XCKernel { inline size_t vtau_buffer_len( size_t npts ) const noexcept { return pimpl_->vtau_buffer_len( npts ); } + inline size_t v2rho2_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2rho2_buffer_len( npts ); + } + inline size_t v2rhosigma_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2rhosigma_buffer_len( npts ); + } + inline size_t v2rholapl_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2rholapl_buffer_len( npts ); + } + inline size_t v2rhotau_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2rhotau_buffer_len( npts ); + } + inline size_t v2sigma2_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2sigma2_buffer_len( npts ); + } + inline size_t v2sigmalapl_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2sigmalapl_buffer_len( npts ); + } + inline size_t v2sigmatau_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2sigmatau_buffer_len( npts ); + } + inline size_t v2lapl2_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2lapl2_buffer_len( npts ); + } + inline size_t v2lapltau_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2lapltau_buffer_len( npts ); + } + inline size_t v2tau2_buffer_len( size_t npts ) const noexcept { + return pimpl_->v2tau2_buffer_len( npts ); + } template @@ -166,6 +199,26 @@ class XCKernel { pimpl_->eval_exc_vxc_inc( std::forward(args)... ); } + template + void eval_fxc( Args&&... args ) const { + pimpl_->eval_fxc( std::forward(args)... ); + } + + template + void eval_fxc_inc( Args&&... args ) const { + pimpl_->eval_fxc_inc( std::forward(args)... ); + } + + template + void eval_vxc_fxc( Args&&... args ) const { + pimpl_->eval_vxc_fxc( std::forward(args)... ); + } + + template + void eval_vxc_fxc_inc( Args&&... args ) const { + pimpl_->eval_vxc_fxc_inc( std::forward(args)... ); + } + // Device code #ifdef EXCHCXX_ENABLE_DEVICE @@ -189,6 +242,26 @@ class XCKernel { pimpl_->eval_exc_vxc_inc_device( std::forward(args)... ); } + template + void eval_fxc_device( Args&&... args ) const { + pimpl_->eval_fxc_device( std::forward(args)... ); + } + + template + void eval_fxc_inc_device( Args&&... args ) const { + pimpl_->eval_fxc_inc_device( std::forward(args)... ); + } + + template + void eval_vxc_fxc_device( Args&&... args ) const { + pimpl_->eval_vxc_fxc_device( std::forward(args)... ); + } + + template + void eval_vxc_fxc_inc_device( Args&&... args ) const { + pimpl_->eval_vxc_fxc_inc_device( std::forward(args)... ); + } + #endif diff --git a/performance/device_benchmark.cxx b/performance/device_benchmark.cxx index 2c91bdc..e96e19a 100644 --- a/performance/device_benchmark.cxx +++ b/performance/device_benchmark.cxx @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #include #include #include @@ -126,7 +177,7 @@ int main() { using namespace ExchCXX; - auto kern = Kernel::PBE0; + auto kern = Kernel::PBE_X; auto polar = Spin::Unpolarized; auto builtin_backend = Backend::builtin; diff --git a/src/builtin_interface.cxx b/src/builtin_interface.cxx index 398a590..3ad7ce2 100644 --- a/src/builtin_interface.cxx +++ b/src/builtin_interface.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -69,6 +75,8 @@ std::unique_ptr return std::make_unique( polar ); else if( kern == Kernel::VWN5 ) return std::make_unique( polar ); + else if( kern == Kernel::VWN ) + return std::make_unique( polar ); else if( kern == Kernel::PW91_LDA ) return std::make_unique( polar ); else if( kern == Kernel::PW91_LDA_MOD ) @@ -91,12 +99,66 @@ std::unique_ptr return std::make_unique( polar ); else if( kern == Kernel::PBE_C ) return std::make_unique( polar ); - - - else if( kern == Kernel::PBE0 ) - return std::make_unique( polar ); - else if( kern == Kernel::B3LYP ) - return std::make_unique( polar ); + else if( kern == Kernel::B97_D ) + return std::make_unique( polar ); + else if( kern == Kernel::ITYH_X ) + return std::make_unique( polar ); + else if( kern == Kernel::ITYH_X_033 ) + return std::make_unique( polar ); + else if( kern == Kernel::ITYH_X_015 ) + return std::make_unique( polar ); + else if( kern == Kernel::P86_C ) + return std::make_unique( polar ); + else if( kern == Kernel::P86VWN_FT_C ) + return std::make_unique( polar ); + else if( kern == Kernel::PW91_C ) + return std::make_unique( polar ); + else if( kern == Kernel::PBE_SOL_C ) + return std::make_unique( polar ); + else if( kern == Kernel::BMK_C ) + return std::make_unique( polar ); + else if( kern == Kernel::N12_C ) + return std::make_unique( polar ); + else if( kern == Kernel::N12_SX_C ) + return std::make_unique( polar ); + else if( kern == Kernel::SOGGA11_X_C ) + return std::make_unique( polar ); + else if( kern == Kernel::PW91_X ) + return std::make_unique( polar ); + else if( kern == Kernel::MPW91_X ) + return std::make_unique( polar ); + else if( kern == Kernel::OPTX_X ) + return std::make_unique( polar ); + else if( kern == Kernel::RPBE_X ) + return std::make_unique( polar ); + else if( kern == Kernel::SOGGA11_X_X ) + return std::make_unique( polar ); + else if( kern == Kernel::PW86_X ) + return std::make_unique( polar ); + else if( kern == Kernel::wB97_XC ) + return std::make_unique( polar ); + else if( kern == Kernel::wB97X_XC ) + return std::make_unique( polar ); + else if( kern == Kernel::wB97X_V_XC ) + return std::make_unique( polar ); + else if( kern == Kernel::wB97X_D_XC ) + return std::make_unique( polar ); + else if( kern == Kernel::wB97X_D3_XC ) + return std::make_unique( polar ); + else if( kern == Kernel::HJS_PBE_X ) + return std::make_unique( polar ); + else if( kern == Kernel::LCwPBE_wPBEh_X ) + return std::make_unique( polar ); + else if( kern == Kernel::LRCwPBE_HJS_PBE_X ) + return std::make_unique( polar ); + else if( kern == Kernel::LRCwPBEh_HJS_PBE_X ) + return std::make_unique( polar ); + else if( kern == Kernel::wPBEh_X_default0 ) + return std::make_unique( polar ); + else if( kern == Kernel::HSE03_wPBEh_X ) + return std::make_unique( polar ); + else if( kern == Kernel::HSE06_wPBEh_X ) + return std::make_unique( polar ); else if( kern == Kernel::SCAN_X ) return std::make_unique( polar ); @@ -124,6 +186,97 @@ std::unique_ptr return std::make_unique( polar ); else if( kern == Kernel::PKZB_C ) return std::make_unique( polar ); + else if( kern == Kernel::TPSS_X ) + return std::make_unique( polar ); + else if( kern == Kernel::revTPSS_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_L_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_HF_X ) + return std::make_unique( polar ); + else if( kern == Kernel::revM06_L_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_SX_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_L_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_HF_C ) + return std::make_unique( polar ); + else if( kern == Kernel::revM06_L_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_SX_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M05_2X_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M05_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M08_HX_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M08_SO_C ) + return std::make_unique( polar ); + else if( kern == Kernel::CF22D_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M11_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN12_L_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN12_SX_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN15_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN15_L_C ) + return std::make_unique( polar ); + else if( kern == Kernel::TPSS_C ) + return std::make_unique( polar ); + else if( kern == Kernel::revTPSS_C ) + return std::make_unique( polar ); + else if( kern == Kernel::RSCAN_C ) + return std::make_unique( polar ); + else if( kern == Kernel::BC95_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN12_L_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN12_SX_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN15_C ) + return std::make_unique( polar ); + else if( kern == Kernel::MN15_L_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_L_C ) + return std::make_unique( polar ); + else if( kern == Kernel::M06_C ) + return std::make_unique( polar ); + else if( kern == Kernel::mBEEF_X ) + return std::make_unique( polar ); + else if( kern == Kernel::RSCAN_X ) + return std::make_unique( polar ); + else if( kern == Kernel::BMK_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M08_HX_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M08_SO_X ) + return std::make_unique( polar ); + else if( kern == Kernel::MN12_L_X ) + return std::make_unique( polar ); + else if( kern == Kernel::MN15_L_X ) + return std::make_unique( polar ); + else if( kern == Kernel::MN15_X ) + return std::make_unique( polar ); + else if( kern == Kernel::CF22D_X ) + return std::make_unique( polar ); + else if( kern == Kernel::MN12_SX_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M11_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M05_X ) + return std::make_unique( polar ); + else if( kern == Kernel::M05_2X_X ) + return std::make_unique( polar ); + else if( kern == Kernel::PC07_K ) return std::make_unique( polar ); @@ -173,9 +326,6 @@ bool BuiltinKernelInterface::is_gga_() const noexcept { bool BuiltinKernelInterface::is_mgga_() const noexcept { return impl_->is_mgga(); } -bool BuiltinKernelInterface::is_hyb_() const noexcept { - return impl_->is_hyb(); -} bool BuiltinKernelInterface::is_polarized_() const noexcept { return impl_->is_polarized(); } @@ -185,9 +335,6 @@ bool BuiltinKernelInterface::needs_laplacian_() const noexcept { bool BuiltinKernelInterface::needs_tau_() const noexcept { return impl_->needs_tau(); } -double BuiltinKernelInterface::hyb_exx_() const noexcept { - return impl_->hyb_exx(); -} bool BuiltinKernelInterface::is_epc_() const noexcept { return impl_->is_epc(); } @@ -197,7 +344,6 @@ bool BuiltinKernelInterface::supports_inc_interface_() const noexcept { } - #define FORWARD_FOR_BUILTIN( APPROX, TYPE, func ) \ FORWARD_XC_ARGS( APPROX, TYPE, BuiltinKernelInterface:: func ## _, \ impl_->func, const ) @@ -213,40 +359,61 @@ bool BuiltinKernelInterface::supports_inc_interface_() const noexcept { - - - - FORWARD_FOR_BUILTIN( LDA, EXC, eval_exc ) FORWARD_FOR_BUILTIN( LDA, EXC_VXC, eval_exc_vxc ) +FORWARD_FOR_BUILTIN( LDA, FXC, eval_fxc ) +FORWARD_FOR_BUILTIN( LDA, VXC_FXC, eval_vxc_fxc ) FORWARD_FOR_BUILTIN( GGA, EXC, eval_exc ) FORWARD_FOR_BUILTIN( GGA, EXC_VXC, eval_exc_vxc ) +FORWARD_FOR_BUILTIN( GGA, FXC, eval_fxc ) +FORWARD_FOR_BUILTIN( GGA, VXC_FXC, eval_vxc_fxc ) FORWARD_FOR_BUILTIN( MGGA, EXC, eval_exc ) FORWARD_FOR_BUILTIN( MGGA, EXC_VXC, eval_exc_vxc ) +FORWARD_FOR_BUILTIN( MGGA, FXC, eval_fxc ) +FORWARD_FOR_BUILTIN( MGGA, VXC_FXC, eval_vxc_fxc ) FORWARD_FOR_BUILTIN_INC( LDA, EXC, eval_exc_inc ) FORWARD_FOR_BUILTIN_INC( LDA, EXC_VXC, eval_exc_vxc_inc ) +FORWARD_FOR_BUILTIN_INC( LDA, FXC, eval_fxc_inc ) +FORWARD_FOR_BUILTIN_INC( LDA, VXC_FXC, eval_vxc_fxc_inc ) FORWARD_FOR_BUILTIN_INC( GGA, EXC, eval_exc_inc ) FORWARD_FOR_BUILTIN_INC( GGA, EXC_VXC, eval_exc_vxc_inc ) +FORWARD_FOR_BUILTIN_INC( GGA, FXC, eval_fxc_inc ) +FORWARD_FOR_BUILTIN_INC( GGA, VXC_FXC, eval_vxc_fxc_inc ) FORWARD_FOR_BUILTIN_INC( MGGA, EXC, eval_exc_inc ) FORWARD_FOR_BUILTIN_INC( MGGA, EXC_VXC, eval_exc_vxc_inc ) +FORWARD_FOR_BUILTIN_INC( MGGA, FXC, eval_fxc_inc ) +FORWARD_FOR_BUILTIN_INC( MGGA, VXC_FXC, eval_vxc_fxc_inc ) #ifdef EXCHCXX_ENABLE_DEVICE FORWARD_FOR_BUILTIN_DEVICE( LDA, EXC, eval_exc_device ) FORWARD_FOR_BUILTIN_DEVICE( LDA, EXC_VXC, eval_exc_vxc_device ) +FORWARD_FOR_BUILTIN_DEVICE( LDA, FXC, eval_fxc_device ) +FORWARD_FOR_BUILTIN_DEVICE( LDA, VXC_FXC, eval_vxc_fxc_device ) FORWARD_FOR_BUILTIN_DEVICE( GGA, EXC, eval_exc_device ) FORWARD_FOR_BUILTIN_DEVICE( GGA, EXC_VXC, eval_exc_vxc_device ) +FORWARD_FOR_BUILTIN_DEVICE( GGA, FXC, eval_fxc_device ) +FORWARD_FOR_BUILTIN_DEVICE( GGA, VXC_FXC, eval_vxc_fxc_device ) FORWARD_FOR_BUILTIN_DEVICE( MGGA, EXC, eval_exc_device ) FORWARD_FOR_BUILTIN_DEVICE( MGGA, EXC_VXC, eval_exc_vxc_device ) +FORWARD_FOR_BUILTIN_DEVICE( MGGA, FXC, eval_fxc_device ) +FORWARD_FOR_BUILTIN_DEVICE( MGGA, VXC_FXC, eval_vxc_fxc_device ) + FORWARD_FOR_BUILTIN_INC_DEVICE( LDA, EXC, eval_exc_inc_device ) FORWARD_FOR_BUILTIN_INC_DEVICE( LDA, EXC_VXC, eval_exc_vxc_inc_device ) +FORWARD_FOR_BUILTIN_INC_DEVICE( LDA, FXC, eval_fxc_inc_device ) +FORWARD_FOR_BUILTIN_INC_DEVICE( LDA, VXC_FXC, eval_vxc_fxc_inc_device ) FORWARD_FOR_BUILTIN_INC_DEVICE( GGA, EXC, eval_exc_inc_device ) FORWARD_FOR_BUILTIN_INC_DEVICE( GGA, EXC_VXC, eval_exc_vxc_inc_device ) +FORWARD_FOR_BUILTIN_INC_DEVICE( GGA, FXC, eval_fxc_inc_device ) +FORWARD_FOR_BUILTIN_INC_DEVICE( GGA, VXC_FXC, eval_vxc_fxc_inc_device ) FORWARD_FOR_BUILTIN_INC_DEVICE( MGGA, EXC, eval_exc_inc_device ) FORWARD_FOR_BUILTIN_INC_DEVICE( MGGA, EXC_VXC, eval_exc_vxc_inc_device ) +FORWARD_FOR_BUILTIN_INC_DEVICE( MGGA, FXC, eval_fxc_inc_device ) +FORWARD_FOR_BUILTIN_INC_DEVICE( MGGA, VXC_FXC, eval_vxc_fxc_inc_device ) #endif diff --git a/src/builtin_kernel.cxx b/src/builtin_kernel.cxx index d4ebef3..2fbaa82 100644 --- a/src/builtin_kernel.cxx +++ b/src/builtin_kernel.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -55,46 +61,75 @@ namespace ExchCXX { // LDA interface UNUSED_INTERFACE_GENERATOR( LDA, EXC, BuiltinKernel::eval_exc, const ) UNUSED_INTERFACE_GENERATOR( LDA, EXC_VXC, BuiltinKernel::eval_exc_vxc, const ) +UNUSED_INTERFACE_GENERATOR( LDA, FXC, BuiltinKernel::eval_fxc, const ) +UNUSED_INTERFACE_GENERATOR( LDA, VXC_FXC, BuiltinKernel::eval_vxc_fxc, const ) // GGA interface UNUSED_INTERFACE_GENERATOR( GGA, EXC, BuiltinKernel::eval_exc, const ) UNUSED_INTERFACE_GENERATOR( GGA, EXC_VXC, BuiltinKernel::eval_exc_vxc, const ) +UNUSED_INTERFACE_GENERATOR( GGA, FXC, BuiltinKernel::eval_fxc, const ) +UNUSED_INTERFACE_GENERATOR( GGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc, const ) // MGGA interface UNUSED_INTERFACE_GENERATOR( MGGA, EXC, BuiltinKernel::eval_exc, const ) UNUSED_INTERFACE_GENERATOR( MGGA, EXC_VXC, BuiltinKernel::eval_exc_vxc, const ) +UNUSED_INTERFACE_GENERATOR( MGGA, FXC, BuiltinKernel::eval_fxc, const ) +UNUSED_INTERFACE_GENERATOR( MGGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc, const ) // INC interfaces UNUSED_INC_INTERFACE_GENERATOR( LDA, EXC, BuiltinKernel::eval_exc_inc, const ) UNUSED_INC_INTERFACE_GENERATOR( LDA, EXC_VXC, BuiltinKernel::eval_exc_vxc_inc, const ) +UNUSED_INC_INTERFACE_GENERATOR( LDA, FXC, BuiltinKernel::eval_fxc_inc, const ) +UNUSED_INC_INTERFACE_GENERATOR( LDA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_inc, const ) + UNUSED_INC_INTERFACE_GENERATOR( GGA, EXC, BuiltinKernel::eval_exc_inc, const ) UNUSED_INC_INTERFACE_GENERATOR( GGA, EXC_VXC, BuiltinKernel::eval_exc_vxc_inc, const ) +UNUSED_INC_INTERFACE_GENERATOR( GGA, FXC, BuiltinKernel::eval_fxc_inc, const ) +UNUSED_INC_INTERFACE_GENERATOR( GGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_inc, const ) + UNUSED_INC_INTERFACE_GENERATOR( MGGA, EXC, BuiltinKernel::eval_exc_inc, const ) UNUSED_INC_INTERFACE_GENERATOR( MGGA, EXC_VXC, BuiltinKernel::eval_exc_vxc_inc, const ) +UNUSED_INC_INTERFACE_GENERATOR( MGGA, FXC, BuiltinKernel::eval_fxc_inc, const ) +UNUSED_INC_INTERFACE_GENERATOR( MGGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_inc, const ) + #ifdef EXCHCXX_ENABLE_DEVICE // LDA interface UNUSED_DEVICE_INTERFACE_GENERATOR( LDA, EXC, BuiltinKernel::eval_exc_device, const ) UNUSED_DEVICE_INTERFACE_GENERATOR( LDA, EXC_VXC, BuiltinKernel::eval_exc_vxc_device, const ) +UNUSED_DEVICE_INTERFACE_GENERATOR( LDA, FXC, BuiltinKernel::eval_fxc_device, const ) +UNUSED_DEVICE_INTERFACE_GENERATOR( LDA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_device, const ) // GGA interface UNUSED_DEVICE_INTERFACE_GENERATOR( GGA, EXC, BuiltinKernel::eval_exc_device, const ) UNUSED_DEVICE_INTERFACE_GENERATOR( GGA, EXC_VXC, BuiltinKernel::eval_exc_vxc_device, const ) +UNUSED_DEVICE_INTERFACE_GENERATOR( GGA, FXC, BuiltinKernel::eval_fxc_device, const ) +UNUSED_DEVICE_INTERFACE_GENERATOR( GGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_device, const ) // MGGA interface UNUSED_DEVICE_INTERFACE_GENERATOR( MGGA, EXC, BuiltinKernel::eval_exc_device, const ) UNUSED_DEVICE_INTERFACE_GENERATOR( MGGA, EXC_VXC, BuiltinKernel::eval_exc_vxc_device, const ) +UNUSED_DEVICE_INTERFACE_GENERATOR( MGGA, FXC, BuiltinKernel::eval_fxc_device, const ) +UNUSED_DEVICE_INTERFACE_GENERATOR( MGGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_device, const ) // INC interfaces UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, EXC, BuiltinKernel::eval_exc_inc_device, const ) UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, EXC_VXC, BuiltinKernel::eval_exc_vxc_inc_device, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, FXC, BuiltinKernel::eval_fxc_inc_device, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_inc_device, const ) + UNUSED_DEVICE_INC_INTERFACE_GENERATOR( GGA, EXC, BuiltinKernel::eval_exc_inc_device, const ) UNUSED_DEVICE_INC_INTERFACE_GENERATOR( GGA, EXC_VXC, BuiltinKernel::eval_exc_vxc_inc_device, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( GGA, FXC, BuiltinKernel::eval_fxc_inc_device, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( GGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_inc_device, const ) + UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, EXC, BuiltinKernel::eval_exc_inc_device, const ) UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, EXC_VXC, BuiltinKernel::eval_exc_vxc_inc_device, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, FXC, BuiltinKernel::eval_fxc_inc_device, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, VXC_FXC, BuiltinKernel::eval_vxc_fxc_inc_device, const ) #endif @@ -231,19 +266,119 @@ LDA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ) { } +template +LDA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + traits::eval_fxc_unpolar( rho[i], fxc[i] ); + + } + +} + +template +LDA_FXC_GENERATOR( host_eval_fxc_helper_polar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + auto* rho_i = rho + 2*i; + auto* v2rho2_i = fxc + 3*i; + + traits::eval_fxc_polar( rho_i[0], rho_i[1], v2rho2_i[0], + v2rho2_i[1], v2rho2_i[2] ); + + } + +} + +template +LDA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ) { + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + traits::eval_vxc_fxc_unpolar( rho[i], vxc[i], fxc[i] ); + } +} +template +LDA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ) { + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* vrho_i = vxc + 2*i; + auto* v2rho2_i = fxc + 3*i; + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], + vrho_i[0], vrho_i[1], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2] ); + } +} +template +LDA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + double f; + traits::eval_fxc_unpolar( rho[i], f ); + fxc[i] += scal_fact * f; + } +} +template +LDA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* fxc_i = fxc + 3*i; + double f_aa, f_ab, f_bb; + traits::eval_fxc_polar( rho_i[0], rho_i[1], f_aa, f_ab, f_bb ); + fxc_i[0] += scal_fact * f_aa; + fxc_i[1] += scal_fact * f_ab; + fxc_i[2] += scal_fact * f_bb; + } +} +template +LDA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + double v, f; + traits::eval_vxc_fxc_unpolar( rho[i], v, f ); + vxc[i] += scal_fact * v; + fxc[i] += scal_fact * f; + } +} + +template +LDA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* vxc_i = vxc + 2*i; + auto* fxc_i = fxc + 3*i; + double v_a, v_b, f_aa, f_ab, f_bb; + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], v_a, v_b, f_aa, f_ab, f_bb ); + vxc_i[0] += scal_fact * v_a; + vxc_i[1] += scal_fact * v_b; + fxc_i[0] += scal_fact * f_aa; + fxc_i[1] += scal_fact * f_ab; + fxc_i[2] += scal_fact * f_bb; + } +} template GGA_EXC_GENERATOR( host_eval_exc_helper_unpolar ) { @@ -392,10 +527,155 @@ GGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ) { } +template +GGA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + traits::eval_fxc_unpolar( rho[i], sigma[i], v2rho2[i], v2rhosigma[i], v2sigma2[i] ); + + } + +} + +template +GGA_FXC_GENERATOR( host_eval_fxc_helper_polar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + traits::eval_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5] ); + } +} + +template +GGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + traits::eval_vxc_fxc_unpolar( rho[i], sigma[i], vrho[i], vsigma[i], + v2rho2[i], v2rhosigma[i], v2sigma2[i] ); + + } + +} + +template +GGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* vrho_i = vrho + 2*i; + auto* vsigma_i = vsigma + 3*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + vrho_i[0], vrho_i[1], + vsigma_i[0], vsigma_i[1], vsigma_i[2], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5] ); + + } + +} + +template +GGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + double f_rho2, f_rhosigma, f_sigma2; + traits::eval_fxc_unpolar( rho[i], sigma[i], f_rho2, f_rhosigma, f_sigma2 ); + v2rho2[i] += scal_fact * f_rho2; + v2rhosigma[i] += scal_fact * f_rhosigma; + v2sigma2[i] += scal_fact * f_sigma2; + } +} + +template +GGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + double f_rho2[3], f_rhosigma[6], f_sigma2[6]; + traits::eval_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + f_rho2[0], f_rho2[1], f_rho2[2], + f_rhosigma[0], f_rhosigma[1], f_rhosigma[2], f_rhosigma[3], f_rhosigma[4], f_rhosigma[5], + f_sigma2[0], f_sigma2[1], f_sigma2[2], f_sigma2[3], f_sigma2[4], f_sigma2[5] ); + for(int j=0;j<3;++j) v2rho2_i[j] += scal_fact * f_rho2[j]; + for(int j=0;j<6;++j) v2rhosigma_i[j] += scal_fact * f_rhosigma[j]; + for(int j=0;j<6;++j) v2sigma2_i[j] += scal_fact * f_sigma2[j]; + } +} + +template +GGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + double vr, vs, f_rho2, f_rhosigma, f_sigma2; + traits::eval_vxc_fxc_unpolar( rho[i], sigma[i], vr, vs, f_rho2, f_rhosigma, f_sigma2 ); + vrho[i] += scal_fact * vr; + vsigma[i] += scal_fact * vs; + v2rho2[i] += scal_fact * f_rho2; + v2rhosigma[i] += scal_fact * f_rhosigma; + v2sigma2[i] += scal_fact * f_sigma2; + } +} + +template +GGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* vrho_i = vrho + 2*i; + auto* vsigma_i = vsigma + 3*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + double vr[2], vs[3], f_rho2[3], f_rhosigma[6], f_sigma2[6]; + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + vr[0], vr[1], vs[0], vs[1], vs[2], + f_rho2[0], f_rho2[1], f_rho2[2], + f_rhosigma[0], f_rhosigma[1], f_rhosigma[2], f_rhosigma[3], f_rhosigma[4], f_rhosigma[5], + f_sigma2[0], f_sigma2[1], f_sigma2[2], f_sigma2[3], f_sigma2[4], f_sigma2[5] ); + for(int j=0;j<2;++j) vrho_i[j] += scal_fact * vr[j]; + for(int j=0;j<3;++j) vsigma_i[j] += scal_fact * vs[j]; + for(int j=0;j<3;++j) v2rho2_i[j] += scal_fact * f_rho2[j]; + for(int j=0;j<6;++j) v2rhosigma_i[j] += scal_fact * f_rhosigma[j]; + for(int j=0;j<6;++j) v2sigma2_i[j] += scal_fact * f_sigma2[j]; + } +} template MGGA_EXC_GENERATOR( host_eval_exc_helper_unpolar ) { @@ -592,6 +872,400 @@ MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ) { } +template +MGGA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + const auto lapl_i = traits::needs_laplacian ? lapl[i] : 0.0; + + // Use local variables for laplacian-related second derivatives + double local_v2rholapl, local_v2sigmalapl, local_v2lapl2, local_v2lapltau; + + traits::eval_fxc_unpolar( rho[i], sigma[i], lapl_i, tau[i], + v2rho2[i], v2rhosigma[i], local_v2rholapl, v2rhotau[i], + v2sigma2[i], local_v2sigmalapl, v2sigmatau[i], + local_v2lapl2, local_v2lapltau, v2tau2[i] ); + + // Only update laplacian-related second derivatives if needs_laplacian + if (traits::needs_laplacian) { + v2rholapl[i] = local_v2rholapl; + v2sigmalapl[i] = local_v2sigmalapl; + v2lapl2[i] = local_v2lapl2; + v2lapltau[i] = local_v2lapltau; + } + } +} + +template +MGGA_FXC_GENERATOR( host_eval_fxc_helper_polar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* lapl_i = lapl + 2*i; + auto* tau_i = tau + 2*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2rhotau_i = v2rhotau + 4*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + auto* v2sigmatau_i = v2sigmatau + 6*i; + auto* v2tau2_i = v2tau2 + 3*i; + + const auto lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const auto lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + + // Use local variables for laplacian-related second derivatives + double local_v2rholapl_aa, local_v2rholapl_ab, local_v2rholapl_ba, local_v2rholapl_bb; + double local_v2sigmalapl_aa_a, local_v2sigmalapl_aa_b, local_v2sigmalapl_ab_a, local_v2sigmalapl_ab_b, local_v2sigmalapl_bb_a, local_v2sigmalapl_bb_b; + double local_v2lapl2_aa, local_v2lapl2_ab, local_v2lapl2_bb; + double local_v2lapltau_aa, local_v2lapltau_ab, local_v2lapltau_ba, local_v2lapltau_bb; + + traits::eval_fxc_polar( rho_i[0], rho_i[1], + sigma_i[0], sigma_i[1], sigma_i[2], + lapl_a_use, lapl_b_use, + tau_i[0], tau_i[1], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + local_v2rholapl_aa, local_v2rholapl_ab, local_v2rholapl_ba, local_v2rholapl_bb, + v2rhotau_i[0], v2rhotau_i[1], v2rhotau_i[2], v2rhotau_i[3], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5], + local_v2sigmalapl_aa_a, local_v2sigmalapl_aa_b, local_v2sigmalapl_ab_a, + local_v2sigmalapl_ab_b, local_v2sigmalapl_bb_a, local_v2sigmalapl_bb_b, + v2sigmatau_i[0], v2sigmatau_i[1], v2sigmatau_i[2], + v2sigmatau_i[3], v2sigmatau_i[4], v2sigmatau_i[5], + local_v2lapl2_aa, local_v2lapl2_ab, local_v2lapl2_bb, + local_v2lapltau_aa, local_v2lapltau_ab, local_v2lapltau_ba, local_v2lapltau_bb, + v2tau2_i[0], v2tau2_i[1], v2tau2_i[2] ); + + // Only update laplacian-related second derivatives if needs_laplacian + if (traits::needs_laplacian) { + auto* v2rholapl_i = v2rholapl + 4*i; + auto* v2sigmalapl_i = v2sigmalapl + 6*i; + auto* v2lapl2_i = v2lapl2 + 3*i; + auto* v2lapltau_i = v2lapltau + 4*i; + + v2rholapl_i[0] = local_v2rholapl_aa; + v2rholapl_i[1] = local_v2rholapl_ab; + v2rholapl_i[2] = local_v2rholapl_ba; + v2rholapl_i[3] = local_v2rholapl_bb; + + v2sigmalapl_i[0] = local_v2sigmalapl_aa_a; + v2sigmalapl_i[1] = local_v2sigmalapl_aa_b; + v2sigmalapl_i[2] = local_v2sigmalapl_ab_a; + v2sigmalapl_i[3] = local_v2sigmalapl_ab_b; + v2sigmalapl_i[4] = local_v2sigmalapl_bb_a; + v2sigmalapl_i[5] = local_v2sigmalapl_bb_b; + + v2lapl2_i[0] = local_v2lapl2_aa; + v2lapl2_i[1] = local_v2lapl2_ab; + v2lapl2_i[2] = local_v2lapl2_bb; + + v2lapltau_i[0] = local_v2lapltau_aa; + v2lapltau_i[1] = local_v2lapltau_ab; + v2lapltau_i[2] = local_v2lapltau_ba; + v2lapltau_i[3] = local_v2lapltau_bb; + } + } +} + +template +MGGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + const auto lapl_i = traits::needs_laplacian ? lapl[i] : 0.0; + + /* First–derivative w.r.t. laplacian */ + double local_vlapl; + + /* Second–derivatives involving the laplacian */ + double local_v2rholapl, local_v2sigmalapl, local_v2lapl2, local_v2lapltau; + + traits::eval_vxc_fxc_unpolar( rho[i], sigma[i], lapl_i, tau[i], + vrho[i], vsigma[i], local_vlapl, vtau[i], + v2rho2[i], v2rhosigma[i], local_v2rholapl, + v2rhotau[i], v2sigma2[i], local_v2sigmalapl, + v2sigmatau[i], local_v2lapl2, + local_v2lapltau, v2tau2[i] ); + + if( traits::needs_laplacian ) { + vlapl[i] = local_vlapl; + v2rholapl[i] = local_v2rholapl; + v2sigmalapl[i] = local_v2sigmalapl; + v2lapl2[i] = local_v2lapl2; + v2lapltau[i] = local_v2lapltau; + } + + } + +} + + + +template +MGGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ) { + + using traits = kernel_traits; + + for( int32_t i = 0; i < N; ++i ) { + + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* lapl_i = lapl + 2*i; + auto* tau_i = tau + 2*i; + auto* vrho_i = vrho + 2*i; + auto* vsigma_i = vsigma + 3*i; + auto* vlapl_i = vlapl + 2*i; + auto* vtau_i = vtau + 2*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2rhotau_i = v2rhotau + 4*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + auto* v2sigmatau_i = v2sigmatau + 6*i; + auto* v2tau2_i = v2tau2 + 3*i; + + const auto lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const auto lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + + /* First–derivative w.r.t. laplacian */ + double local_vlapl_a, local_vlapl_b; + + /* Second–derivatives involving the laplacian */ + double local_v2rholapl_aa, local_v2rholapl_ab, local_v2rholapl_ba, local_v2rholapl_bb; + + double local_v2sigmalapl_aa_a, local_v2sigmalapl_aa_b, local_v2sigmalapl_ab_a, local_v2sigmalapl_ab_b, local_v2sigmalapl_bb_a, local_v2sigmalapl_bb_b; + + double local_v2lapl2_aa, local_v2lapl2_ab, local_v2lapl2_bb; + double local_v2lapltau_aa, local_v2lapltau_ab, local_v2lapltau_ba, local_v2lapltau_bb; + + traits::eval_vxc_fxc_polar( + rho_i[0], rho_i[1], + sigma_i[0], sigma_i[1], sigma_i[2], + lapl_a_use, lapl_b_use, + tau_i[0], tau_i[1], + vrho_i[0], vrho_i[1], + vsigma_i[0], vsigma_i[1], vsigma_i[2], + local_vlapl_a, local_vlapl_b, + vtau_i[0], vtau_i[1], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + local_v2rholapl_aa, local_v2rholapl_ab, local_v2rholapl_ba, local_v2rholapl_bb, + v2rhotau_i[0], v2rhotau_i[1], v2rhotau_i[2], v2rhotau_i[3], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5], + local_v2sigmalapl_aa_a, local_v2sigmalapl_aa_b, local_v2sigmalapl_ab_a, + local_v2sigmalapl_ab_b, local_v2sigmalapl_bb_a, local_v2sigmalapl_bb_b, + v2sigmatau_i[0], v2sigmatau_i[1], v2sigmatau_i[2], + v2sigmatau_i[3], v2sigmatau_i[4], v2sigmatau_i[5], + local_v2lapl2_aa, local_v2lapl2_ab, local_v2lapl2_bb, + local_v2lapltau_aa, local_v2lapltau_ab, local_v2lapltau_ba, local_v2lapltau_bb, + v2tau2_i[0], v2tau2_i[1], v2tau2_i[2] ); + + if( traits::needs_laplacian ) { + /* first derivative */ + vlapl_i[0] = local_vlapl_a; + vlapl_i[1] = local_vlapl_b; + + /* second derivatives */ + auto* v2rholapl_i = v2rholapl + 4*i; + auto* v2sigmalapl_i = v2sigmalapl + 6*i; + auto* v2lapl2_i = v2lapl2 + 3*i; + auto* v2lapltau_i = v2lapltau + 4*i; + + v2rholapl_i[0] = local_v2rholapl_aa; + v2rholapl_i[1] = local_v2rholapl_ab; + v2rholapl_i[2] = local_v2rholapl_ba; + v2rholapl_i[3] = local_v2rholapl_bb; + + v2sigmalapl_i[0] = local_v2sigmalapl_aa_a; + v2sigmalapl_i[1] = local_v2sigmalapl_aa_b; + v2sigmalapl_i[2] = local_v2sigmalapl_ab_a; + v2sigmalapl_i[3] = local_v2sigmalapl_ab_b; + v2sigmalapl_i[4] = local_v2sigmalapl_bb_a; + v2sigmalapl_i[5] = local_v2sigmalapl_bb_b; + + v2lapl2_i[0] = local_v2lapl2_aa; + v2lapl2_i[1] = local_v2lapl2_ab; + v2lapl2_i[2] = local_v2lapl2_bb; + + v2lapltau_i[0] = local_v2lapltau_aa; + v2lapltau_i[1] = local_v2lapltau_ab; + v2lapltau_i[2] = local_v2lapltau_ba; + v2lapltau_i[3] = local_v2lapltau_bb; + } + + } + +} + +template +MGGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + const auto lapl_i = traits::needs_laplacian ? lapl[i] : 0.0; + double f_rho2, f_rhosigma, f_rholapl, f_rhotau, f_sigma2, f_sigmalapl, f_sigmatau, f_lapl2, f_lapltau, f_tau2; + traits::eval_fxc_unpolar( rho[i], sigma[i], lapl_i, tau[i], + f_rho2, f_rhosigma, f_rholapl, f_rhotau, + f_sigma2, f_sigmalapl, f_sigmatau, + f_lapl2, f_lapltau, f_tau2 ); + v2rho2[i] += scal_fact * f_rho2; + v2rhosigma[i] += scal_fact * f_rhosigma; + v2rhotau[i] += scal_fact * f_rhotau; + v2sigma2[i] += scal_fact * f_sigma2; + v2sigmatau[i] += scal_fact * f_sigmatau; + v2tau2[i] += scal_fact * f_tau2; + if(traits::needs_laplacian) { + v2rholapl[i] += scal_fact * f_rholapl; + v2sigmalapl[i] += scal_fact * f_sigmalapl; + v2lapl2[i] += scal_fact * f_lapl2; + v2lapltau[i] += scal_fact * f_lapltau; + } + } +} + +template +MGGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* lapl_i = lapl + 2*i; + auto* tau_i = tau + 2*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2rhotau_i = v2rhotau + 4*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + auto* v2sigmatau_i = v2sigmatau + 6*i; + auto* v2tau2_i = v2tau2 + 3*i; + const auto lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const auto lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + double f_rho2[3], f_rhosigma[6], f_rholapl[4], f_rhotau[4], f_sigma2[6], f_sigmalapl[6], f_sigmatau[6], f_lapl2[3], f_lapltau[4], f_tau2[3]; + traits::eval_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], lapl_a_use, lapl_b_use, tau_i[0], tau_i[1], + f_rho2[0], f_rho2[1], f_rho2[2], + f_rhosigma[0], f_rhosigma[1], f_rhosigma[2], f_rhosigma[3], f_rhosigma[4], f_rhosigma[5], + f_rholapl[0], f_rholapl[1], f_rholapl[2], f_rholapl[3], + f_rhotau[0], f_rhotau[1], f_rhotau[2], f_rhotau[3], + f_sigma2[0], f_sigma2[1], f_sigma2[2], f_sigma2[3], f_sigma2[4], f_sigma2[5], + f_sigmalapl[0], f_sigmalapl[1], f_sigmalapl[2], f_sigmalapl[3], f_sigmalapl[4], f_sigmalapl[5], + f_sigmatau[0], f_sigmatau[1], f_sigmatau[2], f_sigmatau[3], f_sigmatau[4], f_sigmatau[5], + f_lapl2[0], f_lapl2[1], f_lapl2[2], + f_lapltau[0], f_lapltau[1], f_lapltau[2], f_lapltau[3], + f_tau2[0], f_tau2[1], f_tau2[2] ); + + for(int j=0;j<3;++j) v2rho2_i[j] += scal_fact * f_rho2[j]; + for(int j=0;j<6;++j) v2rhosigma_i[j] += scal_fact * f_rhosigma[j]; + for(int j=0;j<4;++j) v2rhotau_i[j] += scal_fact * f_rhotau[j]; + for(int j=0;j<6;++j) v2sigma2_i[j] += scal_fact * f_sigma2[j]; + for(int j=0;j<6;++j) v2sigmatau_i[j] += scal_fact * f_sigmatau[j]; + for(int j=0;j<3;++j) v2tau2_i[j] += scal_fact * f_tau2[j]; + + if(traits::needs_laplacian) { + for(int j=0;j<4;++j) v2rholapl[4*i+j] += scal_fact * f_rholapl[j]; + for(int j=0;j<6;++j) v2sigmalapl[6*i+j] += scal_fact * f_sigmalapl[j]; + for(int j=0;j<3;++j) v2lapl2[3*i+j] += scal_fact * f_lapl2[j]; + for(int j=0;j<4;++j) v2lapltau[4*i+j] += scal_fact * f_lapltau[j]; + } + } +} + +template +MGGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + const auto lapl_i = traits::needs_laplacian ? lapl[i] : 0.0; + double vr, vs, vl, vt, f_rho2, f_rhosigma, f_rholapl, f_rhotau, f_sigma2, f_sigmalapl, f_sigmatau, f_lapl2, f_lapltau, f_tau2; + traits::eval_vxc_fxc_unpolar( rho[i], sigma[i], lapl_i, tau[i], + vr, vs, vl, vt, + f_rho2, f_rhosigma, f_rholapl, f_rhotau, + f_sigma2, f_sigmalapl, f_sigmatau, + f_lapl2, f_lapltau, f_tau2 ); + + vrho[i] += scal_fact * vr; + vsigma[i] += scal_fact * vs; + vtau[i] += scal_fact * vt; + v2rho2[i] += scal_fact * f_rho2; + v2rhosigma[i] += scal_fact * f_rhosigma; + v2rhotau[i] += scal_fact * f_rhotau; + v2sigma2[i] += scal_fact * f_sigma2; + v2sigmatau[i] += scal_fact * f_sigmatau; + v2tau2[i] += scal_fact * f_tau2; + + if(traits::needs_laplacian) { + vlapl[i] += scal_fact * vl; + v2rholapl[i] += scal_fact * f_rholapl; + v2sigmalapl[i] += scal_fact * f_sigmalapl; + v2lapl2[i] += scal_fact * f_lapl2; + v2lapltau[i] += scal_fact * f_lapltau; + } + } +} + +template +MGGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ) { + using traits = kernel_traits; + for( int32_t i = 0; i < N; ++i ) { + auto* rho_i = rho + 2*i; + auto* sigma_i = sigma + 3*i; + auto* lapl_i = lapl + 2*i; + auto* tau_i = tau + 2*i; + auto* vrho_i = vrho + 2*i; + auto* vsigma_i = vsigma + 3*i; + auto* vlapl_i = vlapl + 2*i; + auto* vtau_i = vtau + 2*i; + auto* v2rho2_i = v2rho2 + 3*i; + auto* v2rhosigma_i = v2rhosigma + 6*i; + auto* v2rhotau_i = v2rhotau + 4*i; + auto* v2sigma2_i = v2sigma2 + 6*i; + auto* v2sigmatau_i = v2sigmatau + 6*i; + auto* v2tau2_i = v2tau2 + 3*i; + const auto lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const auto lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + double vr[2], vs[3], vl[2], vt[2], f_rho2[3], f_rhosigma[6], f_rholapl[4], f_rhotau[4], f_sigma2[6], f_sigmalapl[6], f_sigmatau[6], f_lapl2[3], f_lapltau[4], f_tau2[3]; + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], lapl_a_use, lapl_b_use, tau_i[0], tau_i[1], + vr[0], vr[1], vs[0], vs[1], vs[2], vl[0], vl[1], vt[0], vt[1], + f_rho2[0], f_rho2[1], f_rho2[2], + f_rhosigma[0], f_rhosigma[1], f_rhosigma[2], f_rhosigma[3], f_rhosigma[4], f_rhosigma[5], + f_rholapl[0], f_rholapl[1], f_rholapl[2], f_rholapl[3], + f_rhotau[0], f_rhotau[1], f_rhotau[2], f_rhotau[3], + f_sigma2[0], f_sigma2[1], f_sigma2[2], f_sigma2[3], f_sigma2[4], f_sigma2[5], + f_sigmalapl[0], f_sigmalapl[1], f_sigmalapl[2], f_sigmalapl[3], f_sigmalapl[4], f_sigmalapl[5], + f_sigmatau[0], f_sigmatau[1], f_sigmatau[2], f_sigmatau[3], f_sigmatau[4], f_sigmatau[5], + f_lapl2[0], f_lapl2[1], f_lapl2[2], + f_lapltau[0], f_lapltau[1], f_lapltau[2], f_lapltau[3], + f_tau2[0], f_tau2[1], f_tau2[2] ); + + for(int j=0;j<2;++j) vrho_i[j] += scal_fact * vr[j]; + for(int j=0;j<3;++j) vsigma_i[j] += scal_fact * vs[j]; + for(int j=0;j<2;++j) vtau_i[j] += scal_fact * vt[j]; + + for(int j=0;j<3;++j) v2rho2_i[j] += scal_fact * f_rho2[j]; + for(int j=0;j<6;++j) v2rhosigma_i[j] += scal_fact * f_rhosigma[j]; + for(int j=0;j<4;++j) v2rhotau_i[j] += scal_fact * f_rhotau[j]; + for(int j=0;j<6;++j) v2sigma2_i[j] += scal_fact * f_sigma2[j]; + for(int j=0;j<6;++j) v2sigmatau_i[j] += scal_fact * f_sigmatau[j]; + for(int j=0;j<3;++j) v2tau2_i[j] += scal_fact * f_tau2[j]; + + if(traits::needs_laplacian) { + for(int j=0;j<2;++j) vlapl_i[j] += scal_fact * vl[j]; + for(int j=0;j<4;++j) v2rholapl[4*i+j] += scal_fact * f_rholapl[j]; + for(int j=0;j<6;++j) v2sigmalapl[6*i+j] += scal_fact * f_sigmalapl[j]; + for(int j=0;j<3;++j) v2lapl2[3*i+j] += scal_fact * f_lapl2[j]; + for(int j=0;j<4;++j) v2lapltau[4*i+j] += scal_fact * f_lapltau[j]; + } + } +} + #define LDA_GENERATE_HOST_HELPERS(KERN) \ template LDA_EXC_GENERATOR( host_eval_exc_helper_unpolar ); \ template LDA_EXC_VXC_GENERATOR( host_eval_exc_vxc_helper_unpolar ); \ @@ -600,7 +1274,15 @@ MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ) { template LDA_EXC_GENERATOR( host_eval_exc_helper_polar ); \ template LDA_EXC_VXC_GENERATOR( host_eval_exc_vxc_helper_polar ); \ template LDA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_polar ); \ - template LDA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); + template LDA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); \ + template LDA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ); \ + template LDA_FXC_GENERATOR( host_eval_fxc_helper_polar ); \ + template LDA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ); \ + template LDA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ); \ + template LDA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ); \ + template LDA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ); \ + template LDA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ); \ + template LDA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ); #define GGA_GENERATE_HOST_HELPERS(KERN) \ template GGA_EXC_GENERATOR( host_eval_exc_helper_unpolar ); \ @@ -610,7 +1292,15 @@ MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ) { template GGA_EXC_GENERATOR( host_eval_exc_helper_polar ); \ template GGA_EXC_VXC_GENERATOR( host_eval_exc_vxc_helper_polar ); \ template GGA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_polar ); \ - template GGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); + template GGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); \ + template GGA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ); \ + template GGA_FXC_GENERATOR( host_eval_fxc_helper_polar ); \ + template GGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ); \ + template GGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ); \ + template GGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ); \ + template GGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ); \ + template GGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ); \ + template GGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ); #define MGGA_GENERATE_HOST_HELPERS(KERN) \ template MGGA_EXC_GENERATOR( host_eval_exc_helper_unpolar ); \ @@ -620,11 +1310,20 @@ MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ) { template MGGA_EXC_GENERATOR( host_eval_exc_helper_polar ); \ template MGGA_EXC_VXC_GENERATOR( host_eval_exc_vxc_helper_polar ); \ template MGGA_EXC_INC_GENERATOR( host_eval_exc_inc_helper_polar ); \ - template MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); + template MGGA_EXC_VXC_INC_GENERATOR( host_eval_exc_vxc_inc_helper_polar ); \ + template MGGA_FXC_GENERATOR( host_eval_fxc_helper_unpolar ); \ + template MGGA_FXC_GENERATOR( host_eval_fxc_helper_polar ); \ + template MGGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_unpolar ); \ + template MGGA_VXC_FXC_GENERATOR( host_eval_vxc_fxc_helper_polar ); \ + template MGGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_unpolar ); \ + template MGGA_FXC_INC_GENERATOR( host_eval_fxc_inc_helper_polar ); \ + template MGGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_unpolar ); \ + template MGGA_VXC_FXC_INC_GENERATOR( host_eval_vxc_fxc_inc_helper_polar ); LDA_GENERATE_HOST_HELPERS( BuiltinSlaterExchange ) LDA_GENERATE_HOST_HELPERS( BuiltinVWN3 ) LDA_GENERATE_HOST_HELPERS( BuiltinVWN_RPA ) +LDA_GENERATE_HOST_HELPERS( BuiltinVWN) LDA_GENERATE_HOST_HELPERS( BuiltinPW91_LDA ) LDA_GENERATE_HOST_HELPERS( BuiltinPW91_LDA_MOD ) LDA_GENERATE_HOST_HELPERS( BuiltinPW91_LDA_RPA ) @@ -636,9 +1335,37 @@ GGA_GENERATE_HOST_HELPERS( BuiltinLYP ) GGA_GENERATE_HOST_HELPERS( BuiltinPBE_X ) GGA_GENERATE_HOST_HELPERS( BuiltinRevPBE_X ) GGA_GENERATE_HOST_HELPERS( BuiltinPBE_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinB97_D ) +GGA_GENERATE_HOST_HELPERS( BuiltinITYH_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinITYH_X_033 ) +GGA_GENERATE_HOST_HELPERS( BuiltinITYH_X_015 ) +GGA_GENERATE_HOST_HELPERS( BuiltinP86_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinP86VWN_FT_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinPW91_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinPBE_SOL_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinBMK_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinN12_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinN12_SX_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinSOGGA11_X_C ) +GGA_GENERATE_HOST_HELPERS( BuiltinPW91_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinMPW91_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinOPTX_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinRPBE_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinSOGGA11_X_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinPW86_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinWB97_XC ) +GGA_GENERATE_HOST_HELPERS( BuiltinWB97X_XC ) +GGA_GENERATE_HOST_HELPERS( BuiltinWB97X_V_XC ) +GGA_GENERATE_HOST_HELPERS( BuiltinWB97X_D_XC ) +GGA_GENERATE_HOST_HELPERS( BuiltinWB97X_D3_XC ) +GGA_GENERATE_HOST_HELPERS( BuiltinHJS_PBE_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinLCwPBE_wPBEh_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinLRCwPBE_HJS_PBE_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinLRCwPBEh_HJS_PBE_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinWPBEh_X_default0 ) +GGA_GENERATE_HOST_HELPERS( BuiltinHSE03_wPBEh_X ) +GGA_GENERATE_HOST_HELPERS( BuiltinHSE06_wPBEh_X ) -GGA_GENERATE_HOST_HELPERS( BuiltinB3LYP ) -GGA_GENERATE_HOST_HELPERS( BuiltinPBE0 ) MGGA_GENERATE_HOST_HELPERS( BuiltinSCAN_X ) MGGA_GENERATE_HOST_HELPERS( BuiltinSCAN_C ) @@ -649,6 +1376,46 @@ MGGA_GENERATE_HOST_HELPERS( BuiltinM062X_X ) MGGA_GENERATE_HOST_HELPERS( BuiltinM062X_C ) MGGA_GENERATE_HOST_HELPERS( BuiltinPKZB_X ) MGGA_GENERATE_HOST_HELPERS( BuiltinPKZB_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinTPSS_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinRevTPSS_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_L_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_HF_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinRevM06_L_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_SX_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_L_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_HF_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinRevM06_L_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM06_SX_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM05_2X_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM05_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM08_HX_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM08_SO_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinCF22D_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM11_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN12_L_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN12_SX_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN15_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN15_L_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinTPSS_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinRevTPSS_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinRSCAN_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinBC95_C ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMBEEF_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinRSCAN_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinBMK_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM08_HX_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM08_SO_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN12_L_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN15_L_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN15_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinCF22D_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinMN12_SX_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM11_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM05_X ) +MGGA_GENERATE_HOST_HELPERS( BuiltinM05_2X_X ) + MGGA_GENERATE_HOST_HELPERS( BuiltinPC07_K ) MGGA_GENERATE_HOST_HELPERS( BuiltinPC07OPT_K ) diff --git a/src/cuda/builtin.cu b/src/cuda/builtin.cu index a20b5d8..e5bfba0 100644 --- a/src/cuda/builtin.cu +++ b/src/cuda/builtin.cu @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -113,6 +119,70 @@ __global__ LDA_EXC_VXC_GENERATOR( device_eval_exc_vxc_helper_polar_kernel ) { } + +template +__global__ LDA_FXC_GENERATOR( device_eval_fxc_helper_unpolar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + traits::eval_fxc_unpolar( rho[tid], fxc[tid] ); + + } + +} + +template +__global__ LDA_FXC_GENERATOR( device_eval_fxc_helper_polar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + auto rho_i = rho + 2*tid; + auto v2rho2_i = fxc + 3*tid; + + traits::eval_fxc_polar( rho_i[0], rho_i[1], v2rho2_i[0], + v2rho2_i[1], v2rho2_i[2] ); + } +} + +template +__global__ LDA_VXC_FXC_GENERATOR( device_eval_vxc_fxc_helper_unpolar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + traits::eval_vxc_fxc_unpolar( rho[tid], vxc[tid], fxc[tid] ); + + } + +} + +template +__global__ LDA_VXC_FXC_GENERATOR( device_eval_vxc_fxc_helper_polar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + auto rho_i = rho + 2*tid; + auto vxc_i = vxc + 2*tid; + auto v2rho2_i = fxc + 3*tid; + + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], vxc_i[0], vxc_i[1], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2] ); + + } + +} + template __global__ LDA_EXC_INC_GENERATOR( device_eval_exc_inc_helper_unpolar_kernel ) { @@ -186,6 +256,67 @@ __global__ LDA_EXC_VXC_INC_GENERATOR( device_eval_exc_vxc_inc_helper_polar_kerne } +template +__global__ LDA_FXC_INC_GENERATOR( device_eval_fxc_inc_helper_unpolar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + double f; + traits::eval_fxc_unpolar( rho[tid], f ); + fxc[tid] += scal_fact * f; + } +} + +template +__global__ LDA_FXC_INC_GENERATOR( device_eval_fxc_inc_helper_polar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + auto rho_i = rho + 2*tid; + auto fxc_i = fxc + 3*tid; + double f0, f1, f2; + traits::eval_fxc_polar( rho_i[0], rho_i[1], f0, f1, f2 ); + fxc_i[0] += scal_fact * f0; + fxc_i[1] += scal_fact * f1; + fxc_i[2] += scal_fact * f2; + } +} + +template +__global__ LDA_VXC_FXC_INC_GENERATOR( device_eval_vxc_fxc_inc_helper_unpolar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + double v, f; + traits::eval_vxc_fxc_unpolar( rho[tid], v, f ); + vxc[tid] += scal_fact * v; + fxc[tid] += scal_fact * f; + } +} + +template +__global__ LDA_VXC_FXC_INC_GENERATOR( device_eval_vxc_fxc_inc_helper_polar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + auto rho_i = rho + 2*tid; + auto vxc_i = vxc + 2*tid; + auto fxc_i = fxc + 3*tid; + double v0, v1, f0, f1, f2; + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], v0, v1, f0, f1, f2 ); + vxc_i[0] += scal_fact * v0; + vxc_i[1] += scal_fact * v1; + fxc_i[0] += scal_fact * f0; + fxc_i[1] += scal_fact * f1; + fxc_i[2] += scal_fact * f2; + } +} + + + + + + template __global__ GGA_EXC_GENERATOR( device_eval_exc_helper_unpolar_kernel ) { @@ -254,6 +385,88 @@ __global__ GGA_EXC_VXC_GENERATOR( device_eval_exc_vxc_helper_polar_kernel ) { } +template +__global__ GGA_FXC_GENERATOR( device_eval_fxc_helper_unpolar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + traits::eval_fxc_unpolar( rho[tid], sigma[tid], v2rho2[tid], v2rhosigma[tid], v2sigma2[tid] ); + + } + +} + +template +__global__ GGA_FXC_GENERATOR( device_eval_fxc_helper_polar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + auto* rho_i = rho + 2*tid; + auto* sigma_i = sigma + 3*tid; + auto* v2rho2_i = v2rho2 + 3*tid; + auto* v2rhosigma_i = v2rhosigma + 6*tid; + auto* v2sigma2_i = v2sigma2 + 6*tid; + + + traits::eval_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5] ); + + } +} + +template +__global__ GGA_VXC_FXC_GENERATOR( device_eval_vxc_fxc_helper_unpolar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + traits::eval_vxc_fxc_unpolar( rho[tid], sigma[tid], vrho[tid], vsigma[tid], + v2rho2[tid], v2rhosigma[tid], v2sigma2[tid] ); + + } + +} + +template +__global__ GGA_VXC_FXC_GENERATOR( device_eval_vxc_fxc_helper_polar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + auto* rho_i = rho + 2*tid; + auto* sigma_i = sigma + 3*tid; + auto* vrho_i = vrho + 2*tid; + auto* vsigma_i = vsigma + 3*tid; + auto* v2rho2_i = v2rho2 + 3*tid; + auto* v2rhosigma_i = v2rhosigma + 6*tid; + auto* v2sigma2_i = v2sigma2 + 6*tid; + + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + vrho_i[0], vrho_i[1], vsigma_i[0], vsigma_i[1], vsigma_i[2], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5] ); + + } + +} + template __global__ GGA_EXC_INC_GENERATOR( device_eval_exc_inc_helper_unpolar_kernel ) { @@ -338,6 +551,94 @@ __global__ GGA_EXC_VXC_INC_GENERATOR( device_eval_exc_vxc_inc_helper_polar_kerne } +template +__global__ GGA_FXC_INC_GENERATOR( device_eval_fxc_inc_helper_unpolar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + double f2, f3, f4; + traits::eval_fxc_unpolar( rho[tid], sigma[tid], f2, f3, f4 ); + v2rho2[tid] += scal_fact * f2; + v2rhosigma[tid] += scal_fact * f3; + v2sigma2[tid] += scal_fact * f4; + } +} + +template +__global__ GGA_FXC_INC_GENERATOR( device_eval_fxc_inc_helper_polar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + auto* rho_i = rho + 2*tid; + auto* sigma_i = sigma + 3*tid; + auto* v2rho2_i = v2rho2 + 3*tid; + auto* v2rhosigma_i = v2rhosigma + 6*tid; + auto* v2sigma2_i = v2sigma2 + 6*tid; + double f2[3], f3[6], f4[6]; + traits::eval_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + f2[0], f2[1], f2[2], + f3[0], f3[1], f3[2], f3[3], f3[4], f3[5], + f4[0], f4[1], f4[2], f4[3], f4[4], f4[5] ); + for(int i=0;i<3;++i) v2rho2_i[i] += scal_fact * f2[i]; + for(int i=0;i<6;++i) v2rhosigma_i[i] += scal_fact * f3[i]; + for(int i=0;i<6;++i) v2sigma2_i[i] += scal_fact * f4[i]; + } +} + +template +__global__ GGA_VXC_FXC_INC_GENERATOR( device_eval_vxc_fxc_inc_helper_unpolar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + double v, s, f2, f3, f4; + traits::eval_vxc_fxc_unpolar( rho[tid], sigma[tid], v, s, f2, f3, f4 ); + vrho[tid] += scal_fact * v; + vsigma[tid] += scal_fact * s; + v2rho2[tid] += scal_fact * f2; + v2rhosigma[tid] += scal_fact * f3; + v2sigma2[tid] += scal_fact * f4; + } +} + +template +__global__ GGA_VXC_FXC_INC_GENERATOR( device_eval_vxc_fxc_inc_helper_polar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + auto* rho_i = rho + 2*tid; + auto* sigma_i = sigma + 3*tid; + auto* vrho_i = vrho + 2*tid; + auto* vsigma_i = vsigma + 3*tid; + auto* v2rho2_i = v2rho2 + 3*tid; + auto* v2rhosigma_i = v2rhosigma + 6*tid; + auto* v2sigma2_i = v2sigma2 + 6*tid; + double v[2], s[3], f2[3], f3[6], f4[6]; + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + v[0], v[1], s[0], s[1], s[2], + f2[0], f2[1], f2[2], + f3[0], f3[1], f3[2], f3[3], f3[4], f3[5], + f4[0], f4[1], f4[2], f4[3], f4[4], f4[5] ); + for(int i=0;i<2;++i) vrho_i[i] += scal_fact * v[i]; + for(int i=0;i<3;++i) vsigma_i[i] += scal_fact * s[i]; + for(int i=0;i<3;++i) v2rho2_i[i] += scal_fact * f2[i]; + for(int i=0;i<6;++i) v2rhosigma_i[i] += scal_fact * f3[i]; + for(int i=0;i<6;++i) v2sigma2_i[i] += scal_fact * f4[i]; + } +} + + + + + + + + + + + + + + template __global__ MGGA_EXC_GENERATOR( device_eval_exc_helper_unpolar_kernel ) { @@ -428,6 +729,166 @@ __global__ MGGA_EXC_VXC_GENERATOR( device_eval_exc_vxc_helper_polar_kernel ) { } +template +__global__ MGGA_FXC_GENERATOR( device_eval_fxc_helper_unpolar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + const double lapl_use = traits::needs_laplacian ? lapl[tid] : 0.0; + double local_v2rholapl, local_v2sigmalapl, local_v2lapl2, local_v2lapltau; + + auto& v2rholapl_return = traits::needs_laplacian ? v2rholapl[tid] : local_v2rholapl; + auto& v2sigmalapl_return = traits::needs_laplacian ? v2sigmalapl[tid] : local_v2sigmalapl; + auto& v2lapl2_return = traits::needs_laplacian ? v2lapl2[tid] : local_v2lapl2; + auto& v2lapltau_return = traits::needs_laplacian ? v2lapltau[tid] : local_v2lapltau; + + traits::eval_fxc_unpolar( rho[tid], sigma[tid], lapl_use, tau[tid], + v2rho2[tid], v2rhosigma[tid], v2rholapl_return, v2rhotau[tid], + v2sigma2[tid], v2sigmalapl_return, v2sigmatau[tid], + v2lapl2_return, v2lapltau_return, v2tau2[tid] ); + } + +} + +template +__global__ MGGA_FXC_GENERATOR( device_eval_fxc_helper_polar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + double dummy_v2rholapl[4]; + double dummy_v2sigmalapl[6]; + double dummy_v2lapl2[3]; + double dummy_v2lapltau[4]; + + if( tid < N ) { + + auto* rho_i = rho + 2 * tid; + auto* sigma_i = sigma + 3 * tid; + auto* tau_i = tau + 2 * tid; + auto* v2rho2_i = v2rho2 + 3 * tid; + auto* v2rhosigma_i = v2rhosigma + 6 * tid; + auto* v2rhotau_i = v2rhotau + 4 * tid; + auto* v2sigma2_i = v2sigma2 + 6 * tid; + auto* v2sigmatau_i = v2sigmatau + 6 * tid; + auto* v2tau2_i = v2tau2 + 3 * tid; + + auto* lapl_i = traits::needs_laplacian ? (lapl + 2 * tid) : lapl; + auto* v2rholapl_i = traits::needs_laplacian ? (v2rholapl + 4 * tid) : dummy_v2rholapl; + auto* v2sigmalapl_i = traits::needs_laplacian ? (v2sigmalapl + 6 * tid) : dummy_v2sigmalapl; + auto* v2lapl2_i = traits::needs_laplacian ? (v2lapl2 + 3 * tid) : dummy_v2lapl2; + auto* v2lapltau_i = traits::needs_laplacian ? (v2lapltau + 4 * tid) : dummy_v2lapltau; + + const double lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const double lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + + traits::eval_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + lapl_a_use, lapl_b_use, tau_i[0], tau_i[1], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + v2rholapl_i[0], v2rholapl_i[1], v2rholapl_i[2], v2rholapl_i[3], + v2rhotau_i[0], v2rhotau_i[1], v2rhotau_i[2], v2rhotau_i[3], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5], + v2sigmalapl_i[0], v2sigmalapl_i[1], v2sigmalapl_i[2], + v2sigmalapl_i[3], v2sigmalapl_i[4], v2sigmalapl_i[5], + v2sigmatau_i[0], v2sigmatau_i[1], v2sigmatau_i[2], + v2sigmatau_i[3], v2sigmatau_i[4], v2sigmatau_i[5], + v2lapl2_i[0], v2lapl2_i[1], v2lapl2_i[2], + v2lapltau_i[0], v2lapltau_i[1], v2lapltau_i[2], v2lapltau_i[3], + v2tau2_i[0], v2tau2_i[1], v2tau2_i[2] ); + + + } +} + +template +__global__ MGGA_VXC_FXC_GENERATOR( device_eval_vxc_fxc_helper_unpolar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + + const double lapl_use = traits::needs_laplacian ? lapl[tid] : 0.0; + double dummy_v2rholapl, dummy_v2sigmalapl, dummy_v2lapl2, dummy_v2lapltau, dummy_vlapl; + auto& vlapl_return = traits::needs_laplacian ? vlapl[tid] : dummy_vlapl; + auto& v2rholapl_return = traits::needs_laplacian ? v2rholapl[tid] : dummy_v2rholapl; + auto& v2sigmalapl_return = traits::needs_laplacian ? v2sigmalapl[tid] : dummy_v2sigmalapl; + auto& v2lapl2_return = traits::needs_laplacian ? v2lapl2[tid] : dummy_v2lapl2; + auto& v2lapltau_return = traits::needs_laplacian ? v2lapltau[tid] : dummy_v2lapltau; + + traits::eval_vxc_fxc_unpolar( rho[tid], sigma[tid], lapl_use, tau[tid], + vrho[tid], vsigma[tid], vlapl_return, vtau[tid], + v2rho2[tid], v2rhosigma[tid], v2rholapl_return, + v2rhotau[tid], v2sigma2[tid], v2sigmalapl_return, + v2sigmatau[tid], v2lapl2_return, v2lapltau_return, + v2tau2[tid] ); + + } + +} + +template +__global__ MGGA_VXC_FXC_GENERATOR( device_eval_vxc_fxc_helper_polar_kernel ) { + + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + double dummy_vlapl[2]; + double dummy_v2rholapl[4]; + double dummy_v2sigmalapl[6]; + double dummy_v2lapl2[3]; + double dummy_v2lapltau[4]; + + if( tid < N ) { + + auto* rho_i = rho + 2 * tid; + auto* sigma_i = sigma + 3 * tid; + auto* tau_i = tau + 2 * tid; + auto* vrho_i = vrho + 2 * tid; + auto* vsigma_i = vsigma + 3 * tid; + auto* vtau_i = vtau + 2 * tid; + + auto* v2rho2_i = v2rho2 + 3 * tid; + auto* v2rhosigma_i = v2rhosigma + 6 * tid; + auto* v2rhotau_i = v2rhotau + 4 * tid; + auto* v2sigma2_i = v2sigma2 + 6 * tid; + auto* v2sigmatau_i = v2sigmatau + 6 * tid; + auto* v2tau2_i = v2tau2 + 3 * tid; + + auto* lapl_i = traits::needs_laplacian ? (lapl + 2 * tid) : lapl; + auto* vlapl_i = traits::needs_laplacian ? (vlapl + 2 * tid) : dummy_vlapl; + auto* v2rholapl_i = traits::needs_laplacian ? (v2rholapl + 4 * tid) : dummy_v2rholapl; + auto* v2sigmalapl_i = traits::needs_laplacian ? (v2sigmalapl + 6 * tid) : dummy_v2sigmalapl; + auto* v2lapl2_i = traits::needs_laplacian ? (v2lapl2 + 3 * tid) : dummy_v2lapl2; + auto* v2lapltau_i = traits::needs_laplacian ? (v2lapltau + 4 * tid) : dummy_v2lapltau; + const double lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const double lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + lapl_a_use, lapl_b_use, tau_i[0], tau_i[1], + vrho_i[0], vrho_i[1], vsigma_i[0], vsigma_i[1], vsigma_i[2], + vlapl_i[0], vlapl_i[1], vtau_i[0], vtau_i[1], + v2rho2_i[0], v2rho2_i[1], v2rho2_i[2], + v2rhosigma_i[0], v2rhosigma_i[1], v2rhosigma_i[2], + v2rhosigma_i[3], v2rhosigma_i[4], v2rhosigma_i[5], + v2rholapl_i[0], v2rholapl_i[1], v2rholapl_i[2], v2rholapl_i[3], + v2rhotau_i[0], v2rhotau_i[1], v2rhotau_i[2], v2rhotau_i[3], + v2sigma2_i[0], v2sigma2_i[1], v2sigma2_i[2], + v2sigma2_i[3], v2sigma2_i[4], v2sigma2_i[5], + v2sigmalapl_i[0], v2sigmalapl_i[1], v2sigmalapl_i[2], + v2sigmalapl_i[3], v2sigmalapl_i[4], v2sigmalapl_i[5], + v2sigmatau_i[0], v2sigmatau_i[1], v2sigmatau_i[2], + v2sigmatau_i[3], v2sigmatau_i[4], v2sigmatau_i[5], + v2lapl2_i[0], v2lapl2_i[1], v2lapl2_i[2], + v2lapltau_i[0], v2lapltau_i[1], v2lapltau_i[2], v2lapltau_i[3], + v2tau2_i[0], v2tau2_i[1], v2tau2_i[2] ); + + } +} template __global__ MGGA_EXC_INC_GENERATOR( device_eval_exc_inc_helper_unpolar_kernel ) { @@ -542,6 +1003,200 @@ __global__ MGGA_EXC_VXC_INC_GENERATOR( device_eval_exc_vxc_inc_helper_polar_kern } +template +__global__ MGGA_FXC_INC_GENERATOR( device_eval_fxc_inc_helper_unpolar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + const double lapl_use = traits::needs_laplacian ? lapl[tid] : 0.0; + double f_rho2, f_rhosigma, f_rholapl, f_rhotau, f_sigma2, f_sigmalapl, f_sigmatau, f_lapl2, f_lapltau, f_tau2; + traits::eval_fxc_unpolar( rho[tid], sigma[tid], lapl_use, tau[tid], + f_rho2, f_rhosigma, f_rholapl, f_rhotau, + f_sigma2, f_sigmalapl, f_sigmatau, + f_lapl2, f_lapltau, f_tau2 ); + v2rho2[tid] += scal_fact * f_rho2; + v2rhosigma[tid] += scal_fact * f_rhosigma; + v2rhotau[tid] += scal_fact * f_rhotau; + v2sigma2[tid] += scal_fact * f_sigma2; + v2sigmatau[tid] += scal_fact * f_sigmatau; + v2tau2[tid] += scal_fact * f_tau2; + if(traits::needs_laplacian) { + v2rholapl[tid] += scal_fact * f_rholapl; + v2sigmalapl[tid] += scal_fact * f_sigmalapl; + v2lapl2[tid] += scal_fact * f_lapl2; + v2lapltau[tid] += scal_fact * f_lapltau; + } + } +} + +template +__global__ MGGA_FXC_INC_GENERATOR( device_eval_fxc_inc_helper_polar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + auto* rho_i = rho + 2 * tid; + auto* sigma_i = sigma + 3 * tid; + auto* tau_i = tau + 2 * tid; + auto* v2rho2_i = v2rho2 + 3 * tid; + auto* v2rhosigma_i = v2rhosigma + 6 * tid; + auto* v2rhotau_i = v2rhotau + 4 * tid; + auto* v2sigma2_i = v2sigma2 + 6 * tid; + auto* v2sigmatau_i = v2sigmatau + 6 * tid; + auto* v2tau2_i = v2tau2 + 3 * tid; + + auto* lapl_i = traits::needs_laplacian ? (lapl + 2 * tid) : lapl; + const double lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const double lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + + double f_rho2[3], f_rhosigma[6], f_rholapl[4], f_rhotau[4], f_sigma2[6], f_sigmalapl[6], f_sigmatau[6], f_lapl2[3], f_lapltau[4], f_tau2[3]; + + traits::eval_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + lapl_a_use, lapl_b_use, tau_i[0], tau_i[1], + f_rho2[0], f_rho2[1], f_rho2[2], + f_rhosigma[0], f_rhosigma[1], f_rhosigma[2], f_rhosigma[3], f_rhosigma[4], f_rhosigma[5], + f_rholapl[0], f_rholapl[1], f_rholapl[2], f_rholapl[3], + f_rhotau[0], f_rhotau[1], f_rhotau[2], f_rhotau[3], + f_sigma2[0], f_sigma2[1], f_sigma2[2], f_sigma2[3], f_sigma2[4], f_sigma2[5], + f_sigmalapl[0], f_sigmalapl[1], f_sigmalapl[2], f_sigmalapl[3], f_sigmalapl[4], f_sigmalapl[5], + f_sigmatau[0], f_sigmatau[1], f_sigmatau[2], f_sigmatau[3], f_sigmatau[4], f_sigmatau[5], + f_lapl2[0], f_lapl2[1], f_lapl2[2], + f_lapltau[0], f_lapltau[1], f_lapltau[2], f_lapltau[3], + f_tau2[0], f_tau2[1], f_tau2[2] ); + + for(int i=0;i<3;++i) v2rho2_i[i] += scal_fact * f_rho2[i]; + for(int i=0;i<6;++i) v2rhosigma_i[i] += scal_fact * f_rhosigma[i]; + for(int i=0;i<4;++i) v2rhotau_i[i] += scal_fact * f_rhotau[i]; + for(int i=0;i<6;++i) v2sigma2_i[i] += scal_fact * f_sigma2[i]; + for(int i=0;i<6;++i) v2sigmatau_i[i] += scal_fact * f_sigmatau[i]; + for(int i=0;i<3;++i) v2tau2_i[i] += scal_fact * f_tau2[i]; + + if(traits::needs_laplacian) { + auto* v2rholapl_i = v2rholapl + 4 * tid; + auto* v2sigmalapl_i = v2sigmalapl + 6 * tid; + auto* v2lapl2_i = v2lapl2 + 3 * tid; + auto* v2lapltau_i = v2lapltau + 4 * tid; + for(int i=0;i<4;++i) v2rholapl_i[i] += scal_fact * f_rholapl[i]; + for(int i=0;i<6;++i) v2sigmalapl_i[i] += scal_fact * f_sigmalapl[i]; + for(int i=0;i<3;++i) v2lapl2_i[i] += scal_fact * f_lapl2[i]; + for(int i=0;i<4;++i) v2lapltau_i[i] += scal_fact * f_lapltau[i]; + } + } +} + + +template +__global__ MGGA_VXC_FXC_INC_GENERATOR( device_eval_vxc_fxc_inc_helper_unpolar_kernel ) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if( tid < N ) { + const double lapl_use = traits::needs_laplacian ? lapl[tid] : 0.0; + double f_rho2, f_rhosigma, f_rholapl, f_rhotau, f_sigma2, f_sigmalapl, f_sigmatau, f_lapl2, f_lapltau, f_tau2; + double vr, vs, vl, vt; + traits::eval_vxc_fxc_unpolar( rho[tid], sigma[tid], lapl_use, tau[tid], + vr, vs, vl, vt, + f_rho2, f_rhosigma, f_rholapl, f_rhotau, + f_sigma2, f_sigmalapl, f_sigmatau, + f_lapl2, f_lapltau, f_tau2); + + vrho[tid] += scal_fact * vr; + vsigma[tid] += scal_fact * vs; + vtau[tid] += scal_fact * vt; + v2rho2[tid] += scal_fact * f_rho2; + v2rhosigma[tid] += scal_fact * f_rhosigma; + v2rhotau[tid] += scal_fact * f_rhotau; + v2sigma2[tid] += scal_fact * f_sigma2; + v2sigmatau[tid] += scal_fact * f_sigmatau; + v2tau2[tid] += scal_fact * f_tau2; + + if(traits::needs_laplacian) { + vlapl[tid] += scal_fact * vl; + v2rholapl[tid] += scal_fact * f_rholapl; + v2sigmalapl[tid] += scal_fact * f_sigmalapl; + v2lapl2[tid] += scal_fact * f_lapl2; + v2lapltau[tid] += scal_fact * f_lapltau; + } + } +} + +template +__global__ MGGA_VXC_FXC_INC_GENERATOR(device_eval_vxc_fxc_inc_helper_polar_kernel) { + using traits = kernel_traits; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < N ) { + auto* rho_i = rho + 2 * tid; + auto* sigma_i = sigma + 3 * tid; + auto* tau_i = tau + 2 * tid; + auto* vrho_i = vrho + 2 * tid; + auto* vsigma_i = vsigma + 3 * tid; + auto* vtau_i = vtau + 2 * tid; + + auto* v2rho2_i = v2rho2 + 3 * tid; + auto* v2rhosigma_i = v2rhosigma + 6 * tid; + auto* v2rhotau_i = v2rhotau + 4 * tid; + auto* v2sigma2_i = v2sigma2 + 6 * tid; + auto* v2sigmatau_i = v2sigmatau + 6 * tid; + auto* v2tau2_i = v2tau2 + 3 * tid; + + auto* lapl_i = traits::needs_laplacian ? (lapl + 2 * tid) : lapl; + const double lapl_a_use = traits::needs_laplacian ? lapl_i[0] : 0.0; + const double lapl_b_use = traits::needs_laplacian ? lapl_i[1] : 0.0; + + double frho[2], fsigma[3], flapl[2], ftau[2]; + double f_rho2[3], f_rhosigma[6], f_rholapl[4], f_rhotau[4], f_sigma2[6], f_sigmalapl[6], f_sigmatau[6], f_lapl2[3], f_lapltau[4], f_tau2[3]; + + traits::eval_vxc_fxc_polar( rho_i[0], rho_i[1], sigma_i[0], sigma_i[1], sigma_i[2], + lapl_a_use, lapl_b_use, tau_i[0], tau_i[1], + frho[0], frho[1], fsigma[0], fsigma[1], fsigma[2], + flapl[0], flapl[1], ftau[0], ftau[1], + f_rho2[0], f_rho2[1], f_rho2[2], + f_rhosigma[0], f_rhosigma[1], f_rhosigma[2], + f_rhosigma[3], f_rhosigma[4], f_rhosigma[5], + f_rholapl[0], f_rholapl[1], f_rholapl[2], f_rholapl[3], + f_rhotau[0], f_rhotau[1], f_rhotau[2], f_rhotau[3], + f_sigma2[0], f_sigma2[1], f_sigma2[2], + f_sigma2[3], f_sigma2[4], f_sigma2[5], + f_sigmalapl[0], f_sigmalapl[1], f_sigmalapl[2], + f_sigmalapl[3], f_sigmalapl[4], f_sigmalapl[5], + f_sigmatau[0], f_sigmatau[1], f_sigmatau[2], + f_sigmatau[3], f_sigmatau[4], f_sigmatau[5], + f_lapl2[0], f_lapl2[1], f_lapl2[2], + f_lapltau[0], f_lapltau[1], f_lapltau[2], f_lapltau[3], + f_tau2[0], f_tau2[1], f_tau2[2] ); + + for(int i=0;i<2;++i) vrho_i[i] += scal_fact * frho[i]; + for(int i=0;i<3;++i) vsigma_i[i] += scal_fact * fsigma[i]; + for(int i=0;i<2;++i) vtau_i[i] += scal_fact * ftau[i]; + + for(int i=0;i<3;++i) v2rho2_i[i] += scal_fact * f_rho2[i]; + for(int i=0;i<6;++i) v2rhosigma_i[i] += scal_fact * f_rhosigma[i]; + for(int i=0;i<4;++i) v2rhotau_i[i] += scal_fact * f_rhotau[i]; + for(int i=0;i<6;++i) v2sigma2_i[i] += scal_fact * f_sigma2[i]; + for(int i=0;i<6;++i) v2sigmatau_i[i] += scal_fact * f_sigmatau[i]; + for(int i=0;i<3;++i) v2tau2_i[i] += scal_fact * f_tau2[i]; + + if(traits::needs_laplacian) { + auto* vlapl_i = vlapl + 2 * tid; + auto* v2rholapl_i = v2rholapl + 4 * tid; + auto* v2sigmalapl_i = v2sigmalapl + 6 * tid; + auto* v2lapl2_i = v2lapl2 + 3 * tid; + auto* v2lapltau_i = v2lapltau + 4 * tid; + for(int i=0;i<2;++i) vlapl_i[i] += scal_fact * flapl[i]; + for(int i=0;i<4;++i) v2rholapl_i[i] += scal_fact * f_rholapl[i]; + for(int i=0;i<6;++i) v2sigmalapl_i[i] += scal_fact * f_sigmalapl[i]; + for(int i=0;i<3;++i) v2lapl2_i[i] += scal_fact * f_lapl2[i]; + for(int i=0;i<4;++i) v2lapltau_i[i] += scal_fact * f_lapltau[i]; + } + } +} + + + + + + + template LDA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_unpolar ) { @@ -587,6 +1242,49 @@ LDA_EXC_VXC_GENERATOR_DEVICE( device_eval_exc_vxc_helper_polar ) { } +template +LDA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_helper_unpolar_kernel<<>>( + N, rho, fxc + ); + +} + +template +LDA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_helper_polar_kernel<<>>( + N, rho, fxc + ); +} + +template +LDA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_helper_unpolar_kernel<<>>( + N, rho, vxc, fxc + ); + +} + +template +LDA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_helper_polar_kernel<<>>( + N, rho, vxc, fxc + ); + +} + template LDA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_unpolar ) { @@ -631,6 +1329,50 @@ LDA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ) { } +template +LDA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_inc_helper_unpolar_kernel<<>>( + scal_fact, N, rho, fxc + ); + +} + +template +LDA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_inc_helper_polar_kernel<<>>( + scal_fact, N, rho, fxc + ); + +} + +template +LDA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_inc_helper_unpolar_kernel<<>>( + scal_fact, N, rho, vxc, fxc + ); + +} + +template +LDA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_inc_helper_polar_kernel<<>>( + scal_fact, N, rho, vxc, fxc + ); + +} + @@ -680,6 +1422,49 @@ GGA_EXC_VXC_GENERATOR_DEVICE( device_eval_exc_vxc_helper_polar ) { } +template +GGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_helper_unpolar_kernel<<>>( + N, rho, sigma, v2rho2, v2rhosigma, v2sigma2 + ); + +} + +template +GGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_helper_polar_kernel<<>>( + N, rho, sigma, v2rho2, v2rhosigma, v2sigma2 + ); + +} + +template +GGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_helper_unpolar_kernel<<>>( + N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, v2sigma2 + ); + +} + +template +GGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_helper_polar_kernel<<>>( + N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, v2sigma2 + ); + +} template GGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_unpolar ) { @@ -728,9 +1513,42 @@ GGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ) { } +template +GGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_inc_helper_unpolar_kernel<<>>( + scal_fact, N, rho, sigma, v2rho2, v2rhosigma, v2sigma2 ); +} + +template +GGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_inc_helper_polar_kernel<<>>( + scal_fact, N, rho, sigma, v2rho2, v2rhosigma, v2sigma2 ); +} + +template +GGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_inc_helper_unpolar_kernel<<>>( + scal_fact, N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, v2sigma2); +} +template +GGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ) { + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_inc_helper_polar_kernel<<>>( + scal_fact, N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, v2sigma2); +} template MGGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_unpolar ) { @@ -778,6 +1596,57 @@ MGGA_EXC_VXC_GENERATOR_DEVICE( device_eval_exc_vxc_helper_polar ) { } +template +MGGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_helper_unpolar_kernel<<>>( + N, rho, sigma, lapl, tau, v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2 + ); + +} + +template +MGGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_helper_polar_kernel<<>>( + N, rho, sigma, lapl, tau, v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2 + ); + +} + +template +MGGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_helper_unpolar_kernel<<>>( + N, rho, sigma, lapl, tau, vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2 + ); + +} + +template +MGGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_helper_polar_kernel<<>>( + N, rho, sigma, lapl, tau, vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2 + ); + +} template MGGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_unpolar ) { @@ -825,6 +1694,66 @@ MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ) { } +template +MGGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_inc_helper_unpolar_kernel<<>>( + scal_fact, N, rho, sigma, lapl, tau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2 + ); + +} + +template +MGGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_fxc_inc_helper_polar_kernel<<>>( + scal_fact, N, rho, sigma, lapl, tau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2 + ); + +} + +template +MGGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_inc_helper_unpolar_kernel<<>>( + scal_fact, N, rho, sigma, lapl, tau, + vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2 + ); + +} + +template +MGGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ) { + + dim3 threads(32); + dim3 blocks( util::div_ceil( N, threads.x) ); + device_eval_vxc_fxc_inc_helper_polar_kernel<<>>( + scal_fact, N, rho, sigma, lapl, tau, + vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, + v2lapl2, v2lapltau, v2tau2 + ); + +} + + + #define LDA_GENERATE_DEVICE_HELPERS(KERN) \ template LDA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_unpolar ); \ template LDA_EXC_VXC_GENERATOR_DEVICE( device_eval_exc_vxc_helper_unpolar ); \ @@ -833,7 +1762,15 @@ MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ) { template LDA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_polar ); \ template LDA_EXC_VXC_GENERATOR_DEVICE( device_eval_exc_vxc_helper_polar ); \ template LDA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_polar ); \ - template LDA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); + template LDA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); \ + template LDA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ); \ + template LDA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ); \ + template LDA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ); \ + template LDA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ); \ + template LDA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ); \ + template LDA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ); \ + template LDA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ); \ + template LDA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ); #define GGA_GENERATE_DEVICE_HELPERS(KERN) \ template GGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_unpolar ); \ @@ -843,7 +1780,15 @@ MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ) { template GGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_polar ); \ template GGA_EXC_VXC_GENERATOR_DEVICE( device_eval_exc_vxc_helper_polar ); \ template GGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_polar ); \ - template GGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); + template GGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); \ + template GGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ); \ + template GGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ); \ + template GGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ); \ + template GGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ); \ + template GGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ); \ + template GGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ); \ + template GGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ); \ + template GGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ); #define MGGA_GENERATE_DEVICE_HELPERS(KERN) \ template MGGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_unpolar ); \ @@ -853,11 +1798,20 @@ MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ) { template MGGA_EXC_GENERATOR_DEVICE( device_eval_exc_helper_polar ); \ template MGGA_EXC_VXC_GENERATOR_DEVICE( device_eval_exc_vxc_helper_polar ); \ template MGGA_EXC_INC_GENERATOR_DEVICE( device_eval_exc_inc_helper_polar ); \ - template MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); + template MGGA_EXC_VXC_INC_GENERATOR_DEVICE( device_eval_exc_vxc_inc_helper_polar ); \ + template MGGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_unpolar ); \ + template MGGA_FXC_GENERATOR_DEVICE( device_eval_fxc_helper_polar ); \ + template MGGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_unpolar ); \ + template MGGA_VXC_FXC_GENERATOR_DEVICE( device_eval_vxc_fxc_helper_polar ); \ + template MGGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_unpolar ); \ + template MGGA_FXC_INC_GENERATOR_DEVICE( device_eval_fxc_inc_helper_polar ); \ + template MGGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_unpolar ); \ + template MGGA_VXC_FXC_INC_GENERATOR_DEVICE( device_eval_vxc_fxc_inc_helper_polar ); LDA_GENERATE_DEVICE_HELPERS( BuiltinSlaterExchange ); LDA_GENERATE_DEVICE_HELPERS( BuiltinVWN3 ); LDA_GENERATE_DEVICE_HELPERS( BuiltinVWN_RPA ); +LDA_GENERATE_DEVICE_HELPERS( BuiltinVWN ); LDA_GENERATE_DEVICE_HELPERS( BuiltinPW91_LDA ); LDA_GENERATE_DEVICE_HELPERS( BuiltinPW91_LDA_MOD ); LDA_GENERATE_DEVICE_HELPERS( BuiltinPW91_LDA_RPA ); @@ -869,9 +1823,37 @@ GGA_GENERATE_DEVICE_HELPERS( BuiltinLYP ); GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE_X ); GGA_GENERATE_DEVICE_HELPERS( BuiltinRevPBE_X ); GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinB97_D ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinITYH_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinITYH_X_033 ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinITYH_X_015 ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinP86_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinP86VWN_FT_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinPW91_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE_SOL_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinBMK_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinN12_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinN12_SX_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinSOGGA11_X_C ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinPW91_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinMPW91_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinOPTX_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinRPBE_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinSOGGA11_X_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinPW86_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinWB97_XC ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinWB97X_XC ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinWB97X_V_XC ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinWB97X_D_XC ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinWB97X_D3_XC ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinHJS_PBE_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinLCwPBE_wPBEh_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinLRCwPBE_HJS_PBE_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinLRCwPBEh_HJS_PBE_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinWPBEh_X_default0 ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinHSE03_wPBEh_X ); +GGA_GENERATE_DEVICE_HELPERS( BuiltinHSE06_wPBEh_X ); -GGA_GENERATE_DEVICE_HELPERS( BuiltinB3LYP ); -GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE0 ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCAN_X ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCAN_C ); @@ -882,7 +1864,45 @@ MGGA_GENERATE_DEVICE_HELPERS( BuiltinM062X_X ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinM062X_C ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinPKZB_X ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinPKZB_C ); - +MGGA_GENERATE_DEVICE_HELPERS( BuiltinTPSS_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinRevTPSS_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_L_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_HF_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinRevM06_L_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_SX_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_L_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_HF_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinRevM06_L_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM06_SX_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM05_2X_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM05_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM08_HX_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM08_SO_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinCF22D_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM11_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN12_L_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN12_SX_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN15_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN15_L_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinTPSS_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinRevTPSS_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinRSCAN_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinBC95_C ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMBEEF_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinRSCAN_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinBMK_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM08_HX_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM08_SO_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN12_L_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN15_L_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN15_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinCF22D_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinMN12_SX_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM11_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM05_X ); +MGGA_GENERATE_DEVICE_HELPERS( BuiltinM05_2X_X ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinPC07_K ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinPC07OPT_K ); diff --git a/src/cuda/libxc_device.cxx b/src/cuda/libxc_device.cxx index 813067f..0c17e24 100644 --- a/src/cuda/libxc_device.cxx +++ b/src/cuda/libxc_device.cxx @@ -1,3 +1,54 @@ +/** + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * (2) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * (3) Neither the name of the University of California, Lawrence Berkeley + * National Laboratory, U.S. Dept. of Energy nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * You are under no obligation whatsoever to provide any bug fixes, patches, + * or upgrades to the features, functionality or performance of the source + * code ("Enhancements") to anyone; however, if you choose to make your + * Enhancements available either publicly, or directly to Lawrence Berkeley + * National Laboratory, without imposing a separate written license agreement + * for such Enhancements, then you hereby grant the following license: a + * non-exclusive, royalty-free perpetual license to install, use, modify, + * prepare derivative works, incorporate into other computer software, + * distribute, and sublicense such enhancements or derivative works thereof, + * in binary and source code form. + */ + #include "libxc_common.hpp" #include #include @@ -100,6 +151,56 @@ LDA_EXC_VXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_exc_vxc_device_ ) const { } +LDA_FXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_fxc_device_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + + size_t sz_rho = this->rho_buffer_len(N); + size_t sz_fxc = this->v2rho2_buffer_len(N); + + size_t len_rho = sz_rho*sizeof(double); + size_t len_fxc = sz_fxc*sizeof(double); + + std::vector rho_host( sz_rho ), fxc_host( sz_fxc ); + + recv_from_device( rho_host.data(), rho, len_rho, stream ); + + stream_sync( stream ); + xc_lda_fxc( &kernel_, N, rho_host.data(), fxc_host.data() ); + + send_to_device( fxc, fxc_host.data(), len_fxc, stream ); + stream_sync( stream ); // Lifetime of host vectors + +} + + +LDA_VXC_FXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_vxc_fxc_device_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + + size_t sz_rho = this->rho_buffer_len(N); + size_t sz_vxc = this->vrho_buffer_len(N); + size_t sz_fxc = this->v2rho2_buffer_len(N); + + size_t len_rho = sz_rho*sizeof(double); + size_t len_vxc = sz_vxc*sizeof(double); + size_t len_fxc = sz_fxc*sizeof(double); + + std::vector rho_host( sz_rho ), vxc_host( sz_vxc ), fxc_host( sz_fxc ); + + recv_from_device( rho_host.data(), rho, len_rho, stream ); + + stream_sync( stream ); + xc_lda_vxc_fxc( &kernel_, N, rho_host.data(), vxc_host.data(), fxc_host.data() ); + + send_to_device( vxc, vxc_host.data(), len_vxc, stream ); + send_to_device( fxc, fxc_host.data(), len_fxc, stream ); + stream_sync( stream ); // Lifetime of host vectors + +} + // TODO: LDA kxc interfaces // GGA interface @@ -164,6 +265,86 @@ GGA_EXC_VXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_exc_vxc_device_ ) const { } +GGA_FXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_fxc_device_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + + size_t sz_rho = this->rho_buffer_len(N); + size_t sz_sigma = this->sigma_buffer_len(N); + size_t sz_v2rho2 = this->v2rho2_buffer_len(N); + size_t sz_v2rhosigma = this->v2rhosigma_buffer_len(N); + size_t sz_v2sigma2 = this->v2sigma2_buffer_len(N); + + size_t len_rho = sz_rho * sizeof(double); + size_t len_sigma = sz_sigma * sizeof(double); + size_t len_v2rho2 = sz_v2rho2 * sizeof(double); + size_t len_v2rhosigma = sz_v2rhosigma * sizeof(double); + size_t len_v2sigma2 = sz_v2sigma2 * sizeof(double); + + std::vector rho_host(sz_rho), sigma_host(sz_sigma), + v2rho2_host(sz_v2rho2), v2rhosigma_host(sz_v2rhosigma), + v2sigma2_host(sz_v2sigma2); + + recv_from_device(rho_host.data(), rho, len_rho, stream); + recv_from_device(sigma_host.data(), sigma, len_sigma, stream); + + stream_sync(stream); + xc_gga_fxc(&kernel_, N, rho_host.data(), sigma_host.data(), + v2rho2_host.data(), v2rhosigma_host.data(), v2sigma2_host.data()); + + send_to_device(v2rho2, v2rho2_host.data(), len_v2rho2, stream); + send_to_device(v2rhosigma, v2rhosigma_host.data(), len_v2rhosigma, stream); + send_to_device(v2sigma2, v2sigma2_host.data(), len_v2sigma2, stream); + + stream_sync(stream); // Lifetime of host vectors +} + +GGA_VXC_FXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_vxc_fxc_device_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + + size_t sz_rho = this->rho_buffer_len(N); + size_t sz_sigma = this->sigma_buffer_len(N); + size_t sz_vrho = this->vrho_buffer_len(N); + size_t sz_vsigma = this->vsigma_buffer_len(N); + + size_t sz_v2rho2 = this->v2rho2_buffer_len(N); + size_t sz_v2rhosigma = this->v2rhosigma_buffer_len(N); + size_t sz_v2sigma2 = this->v2sigma2_buffer_len(N); + + size_t len_rho = sz_rho * sizeof(double); + size_t len_sigma = sz_sigma * sizeof(double); + size_t len_vrho = sz_vrho * sizeof(double); + size_t len_vsigma = sz_vsigma * sizeof(double); + + size_t len_v2rho2 = sz_v2rho2 * sizeof(double); + size_t len_v2rhosigma = sz_v2rhosigma * sizeof(double); + size_t len_v2sigma2 = sz_v2sigma2 * sizeof(double); + + std::vector rho_host(sz_rho), sigma_host(sz_sigma), + vrho_host(sz_vrho), vsigma_host(sz_vsigma), + v2rho2_host(sz_v2rho2), v2rhosigma_host(sz_v2rhosigma), + v2sigma2_host(sz_v2sigma2); + + recv_from_device(rho_host.data(), rho, len_rho, stream); + recv_from_device(sigma_host.data(), sigma, len_sigma, stream); + + stream_sync(stream); + xc_gga_vxc_fxc(&kernel_, N, rho_host.data(), sigma_host.data(), + vrho_host.data(), vsigma_host.data(), + v2rho2_host.data(), v2rhosigma_host.data(), + v2sigma2_host.data()); + + send_to_device(vrho, vrho_host.data(), len_vrho, stream); + send_to_device(vsigma, vsigma_host.data(), len_vsigma, stream); + send_to_device(v2rho2, v2rho2_host.data(), len_v2rho2, stream); + send_to_device(v2rhosigma, v2rhosigma_host.data(), len_v2rhosigma, stream); + send_to_device(v2sigma2, v2sigma2_host.data(), len_v2sigma2, stream); + stream_sync(stream); // Lifetime of host vectors +} + // TODO: GGA kxc interfaces @@ -254,6 +435,173 @@ MGGA_EXC_VXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_exc_vxc_device_ ) const { } +MGGA_FXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_fxc_device_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + + size_t sz_rho = this->rho_buffer_len(N); + size_t sz_sigma = this->sigma_buffer_len(N); + size_t sz_lapl = this->lapl_buffer_len(N) ; + size_t sz_tau = this->tau_buffer_len(N) ; + + size_t sz_v2rho2 = this->v2rho2_buffer_len(N); + size_t sz_v2rhosigma = this->v2rhosigma_buffer_len(N); + size_t sz_v2rholapl = this->v2rholapl_buffer_len(N); + size_t sz_v2rhotau = this->v2rhotau_buffer_len(N); + size_t sz_v2sigma2 = this->v2sigma2_buffer_len(N); + size_t sz_v2sigmalapl = this->v2sigmalapl_buffer_len(N); + size_t sz_v2sigmatau = this->v2sigmatau_buffer_len(N); + size_t sz_v2lapl2 = this->v2lapl2_buffer_len(N); + size_t sz_v2lapltau = this->v2lapltau_buffer_len(N); + size_t sz_v2tau2 = this->v2tau2_buffer_len(N); + + size_t len_rho = sz_rho * sizeof(double); + size_t len_sigma = sz_sigma * sizeof(double); + size_t len_lapl = sz_lapl * sizeof(double); + size_t len_tau = sz_tau * sizeof(double); + + size_t len_v2rho2 = sz_v2rho2 * sizeof(double); + size_t len_v2rhosigma = sz_v2rhosigma * sizeof(double); + size_t len_v2rholapl = sz_v2rholapl * sizeof(double); + size_t len_v2rhotau = sz_v2rhotau * sizeof(double); + size_t len_v2sigma2 = sz_v2sigma2 * sizeof(double); + size_t len_v2sigmalapl = sz_v2sigmalapl * sizeof(double); + size_t len_v2sigmatau = sz_v2sigmatau * sizeof(double); + size_t len_v2lapl2 = sz_v2lapl2 * sizeof(double); + size_t len_v2lapltau = sz_v2lapltau * sizeof(double); + size_t len_v2tau2 = sz_v2tau2 * sizeof(double); + + std::vector rho_host(sz_rho), sigma_host(sz_sigma), + lapl_host(sz_lapl), tau_host(sz_tau); + + std::vector v2rho2_host(sz_v2rho2), v2rhosigma_host(sz_v2rhosigma), + v2rholapl_host(sz_v2rholapl), v2rhotau_host(sz_v2rhotau), + v2sigma2_host(sz_v2sigma2), v2sigmalapl_host(sz_v2sigmalapl), + v2sigmatau_host(sz_v2sigmatau), v2lapl2_host(sz_v2lapl2), + v2lapltau_host(sz_v2lapltau), v2tau2_host(sz_v2tau2); + + recv_from_device(rho_host.data(), rho, len_rho, stream); + recv_from_device(sigma_host.data(), sigma, len_sigma, stream); + recv_from_device(lapl_host.data(), lapl, len_lapl, stream); + recv_from_device(tau_host.data(), tau, len_tau, stream); + + stream_sync(stream); + xc_mgga_fxc(&kernel_, N, rho_host.data(), sigma_host.data(), + lapl_host.data(), tau_host.data(), + v2rho2_host.data(), v2rhosigma_host.data(), v2rholapl_host.data(), + v2rhotau_host.data(), v2sigma2_host.data(), v2sigmalapl_host.data(), + v2sigmatau_host.data(), v2lapl2_host.data(), v2lapltau_host.data(), + v2tau2_host.data()); + + send_to_device(v2rho2, v2rho2_host.data(), len_v2rho2, stream); + send_to_device(v2rhosigma, v2rhosigma_host.data(), len_v2rhosigma, stream); + send_to_device(v2rholapl, v2rholapl_host.data(), len_v2rholapl, stream); + send_to_device(v2rhotau, v2rhotau_host.data(), len_v2rhotau, stream); + send_to_device(v2sigma2, v2sigma2_host.data(), len_v2sigma2, stream); + send_to_device(v2sigmalapl, v2sigmalapl_host.data(), len_v2sigmalapl, stream); + send_to_device(v2sigmatau, v2sigmatau_host.data(), len_v2sigmatau, stream); + send_to_device(v2lapl2, v2lapl2_host.data(), len_v2lapl2, stream); + send_to_device(v2lapltau, v2lapltau_host.data(), len_v2lapltau, stream); + send_to_device(v2tau2, v2tau2_host.data(), len_v2tau2, stream); + + stream_sync(stream); // Lifetime of host vectors +} + + +MGGA_VXC_FXC_GENERATOR_DEVICE( LibxcKernelImpl::eval_vxc_fxc_device_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + + size_t sz_rho = this->rho_buffer_len(N); + size_t sz_sigma = this->sigma_buffer_len(N); + size_t sz_lapl = this->lapl_buffer_len(N); + size_t sz_tau = this->tau_buffer_len(N) ; + + size_t sz_vrho = this->vrho_buffer_len(N); + size_t sz_vsigma = this->vsigma_buffer_len(N); + size_t sz_vlapl = this->vlapl_buffer_len(N); + size_t sz_vtau = this->vtau_buffer_len(N) ; + + size_t sz_v2rho2 = this->v2rho2_buffer_len(N); + size_t sz_v2rhosigma = this->v2rhosigma_buffer_len(N); + size_t sz_v2rholapl = this->v2rholapl_buffer_len(N); + size_t sz_v2rhotau = this->v2rhotau_buffer_len(N); + size_t sz_v2sigma2 = this->v2sigma2_buffer_len(N); + size_t sz_v2sigmalapl = this->v2sigmalapl_buffer_len(N); + size_t sz_v2sigmatau = this->v2sigmatau_buffer_len(N); + size_t sz_v2lapl2 = this->v2lapl2_buffer_len(N); + size_t sz_v2lapltau = this->v2lapltau_buffer_len(N); + size_t sz_v2tau2 = this->v2tau2_buffer_len(N); + + size_t len_rho = sz_rho * sizeof(double); + size_t len_sigma = sz_sigma * sizeof(double); + size_t len_lapl = sz_lapl * sizeof(double); + size_t len_tau = sz_tau * sizeof(double); + + size_t len_vrho = sz_vrho * sizeof(double); + size_t len_vsigma = sz_vsigma * sizeof(double); + size_t len_vlapl = sz_vlapl * sizeof(double); + size_t len_vtau = sz_vtau * sizeof(double); + + size_t len_v2rho2 = sz_v2rho2 * sizeof(double); + size_t len_v2rhosigma = sz_v2rhosigma * sizeof(double); + size_t len_v2rholapl = sz_v2rholapl * sizeof(double); + size_t len_v2rhotau = sz_v2rhotau * sizeof(double); + size_t len_v2sigma2 = sz_v2sigma2 * sizeof(double); + size_t len_v2sigmalapl = sz_v2sigmalapl * sizeof(double); + size_t len_v2sigmatau = sz_v2sigmatau * sizeof(double); + size_t len_v2lapl2 = sz_v2lapl2 * sizeof(double); + size_t len_v2lapltau = sz_v2lapltau * sizeof(double); + size_t len_v2tau2 = sz_v2tau2 * sizeof(double); + + std::vector rho_host(sz_rho), sigma_host(sz_sigma), + lapl_host(sz_lapl), tau_host(sz_tau); + + std::vector vrho_host(sz_vrho), vsigma_host(sz_vsigma), + vlapl_host(sz_vlapl), vtau_host(sz_vtau); + + std::vector v2rho2_host(sz_v2rho2), v2rhosigma_host(sz_v2rhosigma), + v2rholapl_host(sz_v2rholapl), v2rhotau_host(sz_v2rhotau), + v2sigma2_host(sz_v2sigma2), v2sigmalapl_host(sz_v2sigmalapl), + v2sigmatau_host(sz_v2sigmatau), v2lapl2_host(sz_v2lapl2), + v2lapltau_host(sz_v2lapltau), v2tau2_host(sz_v2tau2); + + recv_from_device(rho_host.data(), rho, len_rho, stream); + recv_from_device(sigma_host.data(), sigma, len_sigma, stream); + recv_from_device(lapl_host.data(), lapl, len_lapl, stream); + recv_from_device(tau_host.data(), tau, len_tau, stream); + + stream_sync(stream); + xc_mgga_vxc_fxc(&kernel_, N, rho_host.data(), sigma_host.data(), + lapl_host.data(), tau_host.data(), + vrho_host.data(), vsigma_host.data(), vlapl_host.data(), vtau_host.data(), + v2rho2_host.data(), v2rhosigma_host.data(), v2rholapl_host.data(), + v2rhotau_host.data(), v2sigma2_host.data(), v2sigmalapl_host.data(), + v2sigmatau_host.data(), v2lapl2_host.data(), v2lapltau_host.data(), + v2tau2_host.data()); + + send_to_device(vrho, vrho_host.data(), len_vrho, stream); + send_to_device(vsigma, vsigma_host.data(), len_vsigma, stream); + send_to_device(vlapl, vlapl_host.data(), len_vlapl, stream); + send_to_device(vtau, vtau_host.data(), len_vtau, stream); + + send_to_device(v2rho2, v2rho2_host.data(), len_v2rho2, stream); + send_to_device(v2rhosigma, v2rhosigma_host.data(), len_v2rhosigma, stream); + send_to_device(v2rholapl, v2rholapl_host.data(), len_v2rholapl, stream); + send_to_device(v2rhotau, v2rhotau_host.data(), len_v2rhotau, stream); + send_to_device(v2sigma2, v2sigma2_host.data(), len_v2sigma2, stream); + send_to_device(v2sigmalapl, v2sigmalapl_host.data(), len_v2sigmalapl, stream); + send_to_device(v2sigmatau, v2sigmatau_host.data(), len_v2sigmatau, stream); + send_to_device(v2lapl2, v2lapl2_host.data(), len_v2lapl2, stream); + send_to_device(v2lapltau, v2lapltau_host.data(), len_v2lapltau, stream); + send_to_device(v2tau2, v2tau2_host.data(), len_v2tau2, stream); + + stream_sync(stream); // Lifetime of host vectors +} + + UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, EXC, LibxcKernelImpl::eval_exc_inc_device_, const ) UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, EXC_VXC, @@ -266,6 +614,20 @@ UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, EXC, LibxcKernelImpl::eval_exc_inc_device_, const ) UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, EXC_VXC, LibxcKernelImpl::eval_exc_vxc_inc_device_, const ) + + +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, FXC, + LibxcKernelImpl::eval_fxc_inc_device_, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( GGA, FXC, + LibxcKernelImpl::eval_fxc_inc_device_, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, FXC, + LibxcKernelImpl::eval_fxc_inc_device_, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( LDA, VXC_FXC, + LibxcKernelImpl::eval_vxc_fxc_inc_device_, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( GGA, VXC_FXC, + LibxcKernelImpl::eval_vxc_fxc_inc_device_, const ) +UNUSED_DEVICE_INC_INTERFACE_GENERATOR( MGGA, VXC_FXC, + LibxcKernelImpl::eval_vxc_fxc_inc_device_, const ) } } diff --git a/src/cuda/xc_functional_device.cu b/src/cuda/xc_functional_device.cu index 2f720f1..04f7bac 100644 --- a/src/cuda/xc_functional_device.cu +++ b/src/cuda/xc_functional_device.cu @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -206,6 +212,81 @@ LDA_EXC_VXC_GENERATOR_DEVICE( XCFunctional::eval_exc_vxc_device ) const { } +LDA_FXC_GENERATOR_DEVICE( XCFunctional::eval_fxc_device ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + + const size_t len_fxc_buffer = v2rho2_buffer_len(N); + + double* fxc_scr = nullptr; + bool use_inc = supports_inc_interface(); + if( kernels_.size() > 1 && !use_inc ) + fxc_scr = safe_cuda_malloc( len_fxc_buffer ); + + safe_zero( len_fxc_buffer, fxc, stream ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + if (use_inc) { + kernels_[i].second.eval_fxc_inc_device( + kernels_[i].first, N, rho, fxc, stream + ); + } else { + double* fxc_eval = i ? fxc_scr : fxc; + kernels_[i].second.eval_fxc_device(N, rho, fxc_eval, stream); + + if( i ) + add_scal_device( len_fxc_buffer, kernels_[i].first, fxc_eval, fxc, stream ); + else + scal_device( len_fxc_buffer, kernels_[i].first, fxc_eval, fxc, stream ); + } + } + + if( fxc_scr ) cudaFree( fxc_scr ); +} + +LDA_VXC_FXC_GENERATOR_DEVICE( XCFunctional::eval_vxc_fxc_device ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + + const size_t len_vxc_buffer = vrho_buffer_len(N); + const size_t len_fxc_buffer = v2rho2_buffer_len(N); + + double* vxc_scr(nullptr), *fxc_scr(nullptr); + bool use_inc = supports_inc_interface(); + if( kernels_.size() > 1 && !use_inc ) { + vxc_scr = safe_cuda_malloc( len_vxc_buffer ); + fxc_scr = safe_cuda_malloc( len_fxc_buffer ); + } + + safe_zero( len_vxc_buffer, vxc, stream ); + safe_zero( len_fxc_buffer, fxc, stream ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + if (use_inc) { + kernels_[i].second.eval_vxc_fxc_inc_device( + kernels_[i].first, N, rho, vxc, fxc, stream + ); + } else { + double* vxc_eval = i ? vxc_scr : vxc; + double* fxc_eval = i ? fxc_scr : fxc; + kernels_[i].second.eval_vxc_fxc_device(N, rho, vxc_eval, fxc_eval, stream); + + if( i ) { + add_scal_device( len_vxc_buffer, kernels_[i].first, vxc_eval, vxc, stream ); + add_scal_device( len_fxc_buffer, kernels_[i].first, fxc_eval, fxc, stream ); + } else { + scal_device( len_vxc_buffer, kernels_[i].first, vxc_eval, vxc, stream ); + scal_device( len_fxc_buffer, kernels_[i].first, fxc_eval, fxc, stream ); + } + } + } + + if( vxc_scr ) cudaFree( vxc_scr ); + if( fxc_scr ) cudaFree( fxc_scr ); +} + // GGA Interfaces @@ -328,8 +409,151 @@ GGA_EXC_VXC_GENERATOR_DEVICE( XCFunctional::eval_exc_vxc_device ) const { } +GGA_FXC_GENERATOR_DEVICE( XCFunctional::eval_fxc_device ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + + double* v2rho2_scr(nullptr), *v2rhosigma_scr(nullptr), *v2sigma2_scr(nullptr); + bool use_inc = supports_inc_interface(); + if( kernels_.size() > 1 && !use_inc ) { + v2rho2_scr = safe_cuda_malloc( len_v2rho2_buffer ); + v2rhosigma_scr = safe_cuda_malloc( len_v2rhosigma_buffer ); + v2sigma2_scr = safe_cuda_malloc( len_v2sigma2_buffer ); + } + + safe_zero( len_v2rho2_buffer, v2rho2, stream ); + safe_zero( len_v2rhosigma_buffer, v2rhosigma, stream ); + safe_zero( len_v2sigma2_buffer, v2sigma2, stream ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + if (use_inc) { + if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc_inc_device( + kernels_[i].first, N, rho, sigma, v2rho2, v2rhosigma, v2sigma2, stream + ); + else + kernels_[i].second.eval_fxc_inc_device( + kernels_[i].first, N, rho, v2rho2, stream + ); + } else { + double* v2rho2_eval = i ? v2rho2_scr : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr : v2rhosigma; + double* v2sigma2_eval = i ? v2sigma2_scr : v2sigma2; + + if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc_device(N, rho, sigma, v2rho2_eval, + v2rhosigma_eval, v2sigma2_eval, stream ); + else + kernels_[i].second.eval_fxc_device(N, rho, v2rho2_eval, stream); + + if( i ) { + add_scal_device( len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream ); + if( kernels_[i].second.is_gga() ){ + add_scal_device( len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream ); + add_scal_device( len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream ); + } + + } else { + scal_device( len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream ); + if( kernels_[i].second.is_gga() ){ + scal_device( len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream ); + scal_device( len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream ); + } + } + } + } + + if( v2rho2_scr ) cudaFree( v2rho2_scr ); + if( v2rhosigma_scr ) cudaFree( v2rhosigma_scr ); + if( v2sigma2_scr ) cudaFree( v2sigma2_scr ); +} + +GGA_VXC_FXC_GENERATOR_DEVICE( XCFunctional::eval_vxc_fxc_device ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + const size_t len_vrho_buffer = vrho_buffer_len(N); + const size_t len_vsigma_buffer = vsigma_buffer_len(N); + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + + double* vrho_scr(nullptr), *vsigma_scr(nullptr); + double* v2rho2_scr(nullptr), *v2rhosigma_scr(nullptr), *v2sigma2_scr(nullptr); + bool use_inc = supports_inc_interface(); + if( kernels_.size() > 1 && !use_inc ) { + vrho_scr = safe_cuda_malloc( len_vrho_buffer ); + vsigma_scr = safe_cuda_malloc( len_vsigma_buffer ); + v2rho2_scr = safe_cuda_malloc( len_v2rho2_buffer ); + v2rhosigma_scr = safe_cuda_malloc( len_v2rhosigma_buffer ); + v2sigma2_scr = safe_cuda_malloc( len_v2sigma2_buffer ); + } + safe_zero( len_vrho_buffer, vrho, stream ); + safe_zero( len_vsigma_buffer, vsigma, stream ); + safe_zero( len_v2rho2_buffer, v2rho2, stream ); + safe_zero( len_v2rhosigma_buffer, v2rhosigma, stream ); + safe_zero( len_v2sigma2_buffer, v2sigma2, stream ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + if (use_inc) { + if (kernels_[i].second.is_gga()) { + kernels_[i].second.eval_vxc_fxc_inc_device( + kernels_[i].first, N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, v2sigma2, stream + ); + } else { + kernels_[i].second.eval_vxc_fxc_inc_device( + kernels_[i].first, N, rho, vrho, v2rho2, stream + ); + } + } else { + double* vrho_eval = i ? vrho_scr : vrho; + double* vsigma_eval = i ? vsigma_scr : vsigma; + double* v2rho2_eval = i ? v2rho2_scr : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr : v2rhosigma; + double* v2sigma2_eval = i ? v2sigma2_scr : v2sigma2; + + if (kernels_[i].second.is_gga()) { + kernels_[i].second.eval_vxc_fxc_device( + N, rho, sigma, vrho_eval, vsigma_eval, v2rho2_eval, v2rhosigma_eval, v2sigma2_eval, stream); + } else { + kernels_[i].second.eval_vxc_fxc_device(N, rho, vrho_eval, v2rho2_eval, stream); + } + + if (i) { + add_scal_device(len_vrho_buffer, kernels_[i].first, vrho_eval, vrho, stream); + add_scal_device(len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream); + + if (kernels_[i].second.is_gga()) { + add_scal_device(len_vsigma_buffer, kernels_[i].first, vsigma_eval, vsigma, stream); + add_scal_device(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream); + add_scal_device(len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream); + } + } else { + scal_device(len_vrho_buffer, kernels_[i].first, vrho_eval, vrho, stream); + scal_device(len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream); + + if (kernels_[i].second.is_gga()) { + scal_device(len_vsigma_buffer, kernels_[i].first, vsigma_eval, vsigma, stream); + scal_device(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream); + scal_device(len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream); + } + } + } + } + + if( vrho_scr ) cudaFree( vrho_scr ); + if( vsigma_scr ) cudaFree( vsigma_scr ); + if( v2rho2_scr ) cudaFree( v2rho2_scr ); + if( v2rhosigma_scr ) cudaFree( v2rhosigma_scr ); + if( v2sigma2_scr ) cudaFree( v2sigma2_scr ); +} // mGGA Interfaces @@ -498,4 +722,329 @@ MGGA_EXC_VXC_GENERATOR_DEVICE( XCFunctional::eval_exc_vxc_device ) const { if( vtau_scr ) cudaFree( vtau_scr ); } +MGGA_FXC_GENERATOR_DEVICE( XCFunctional::eval_fxc_device ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2rholapl_buffer = v2rholapl_buffer_len(N); + const size_t len_v2rhotau_buffer = v2rhotau_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + const size_t len_v2sigmalapl_buffer = v2sigmalapl_buffer_len(N); + const size_t len_v2sigmatau_buffer = v2sigmatau_buffer_len(N); + const size_t len_v2lapl2_buffer = v2lapl2_buffer_len(N); + const size_t len_v2lapltau_buffer = v2lapltau_buffer_len(N); + const size_t len_v2tau2_buffer = v2tau2_buffer_len(N); + + double* v2rho2_scr(nullptr), *v2rhosigma_scr(nullptr), *v2rholapl_scr(nullptr), *v2rhotau_scr(nullptr), + *v2sigma2_scr(nullptr), *v2sigmalapl_scr(nullptr), *v2sigmatau_scr(nullptr), *v2lapl2_scr(nullptr), + *v2lapltau_scr(nullptr), *v2tau2_scr(nullptr); + + bool use_inc = supports_inc_interface(); + if( kernels_.size() > 1 && !use_inc ) { + v2rho2_scr = safe_cuda_malloc( len_v2rho2_buffer ); + v2rhosigma_scr = safe_cuda_malloc( len_v2rhosigma_buffer ); + v2rholapl_scr = safe_cuda_malloc( len_v2rholapl_buffer ); + v2rhotau_scr = safe_cuda_malloc( len_v2rhotau_buffer ); + v2sigma2_scr = safe_cuda_malloc( len_v2sigma2_buffer ); + v2sigmalapl_scr = safe_cuda_malloc( len_v2sigmalapl_buffer ); + v2sigmatau_scr = safe_cuda_malloc( len_v2sigmatau_buffer ); + v2lapl2_scr = safe_cuda_malloc( len_v2lapl2_buffer ); + v2lapltau_scr = safe_cuda_malloc( len_v2lapltau_buffer ); + v2tau2_scr = safe_cuda_malloc( len_v2tau2_buffer ); + } + + safe_zero( len_v2rho2_buffer, v2rho2, stream ); + safe_zero( len_v2rhosigma_buffer, v2rhosigma, stream ); + safe_zero( len_v2rholapl_buffer, v2rholapl, stream ); + safe_zero( len_v2rhotau_buffer, v2rhotau, stream ); + safe_zero( len_v2sigma2_buffer, v2sigma2, stream ); + safe_zero( len_v2sigmalapl_buffer, v2sigmalapl, stream ); + safe_zero( len_v2sigmatau_buffer, v2sigmatau, stream ); + safe_zero( len_v2lapl2_buffer, v2lapl2, stream ); + safe_zero( len_v2lapltau_buffer, v2lapltau, stream ); + safe_zero( len_v2tau2_buffer, v2tau2, stream ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + + if( use_inc ) { + if( kernels_[i].second.is_mgga() ) + kernels_[i].second.eval_fxc_inc_device( + kernels_[i].first, N, rho, sigma, lapl, tau, v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2, stream + ); + else if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc_inc_device( + kernels_[i].first, N, rho, sigma, v2rho2, v2rhosigma, v2sigma2, stream + ); + else + kernels_[i].second.eval_fxc_inc_device( + kernels_[i].first, N, rho, v2rho2, stream + ); + } else { + double* v2rho2_eval = i ? v2rho2_scr : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr : v2rhosigma; + double* v2rholapl_eval = i ? v2rholapl_scr : v2rholapl; + double* v2rhotau_eval = i ? v2rhotau_scr : v2rhotau; + double* v2sigma2_eval = i ? v2sigma2_scr : v2sigma2; + double* v2sigmalapl_eval = i ? v2sigmalapl_scr : v2sigmalapl; + double* v2sigmatau_eval = i ? v2sigmatau_scr : v2sigmatau; + double* v2lapl2_eval = i ? v2lapl2_scr : v2lapl2; + double* v2lapltau_eval = i ? v2lapltau_scr : v2lapltau; + double* v2tau2_eval = i ? v2tau2_scr : v2tau2; + + if( kernels_[i].second.is_mgga() ) + kernels_[i].second.eval_fxc_device(N, rho, sigma, lapl, tau, v2rho2_eval, + v2rhosigma_eval, v2rholapl_eval, v2rhotau_eval, v2sigma2_eval, v2sigmalapl_eval, + v2sigmatau_eval, v2lapl2_eval, v2lapltau_eval, v2tau2_eval, stream); + else if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc_device(N, rho, sigma, v2rho2_eval, v2rhosigma_eval, v2sigma2_eval, stream); + else + kernels_[i].second.eval_fxc_device(N, rho, v2rho2_eval, stream); + + if (i) { + add_scal_device(len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream); + + if( kernels_[i].second.is_gga() or kernels_[i].second.is_mgga() ){ + add_scal_device(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream); + add_scal_device(len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream); + } + + if( kernels_[i].second.needs_laplacian() ) { + add_scal_device(len_v2rholapl_buffer, kernels_[i].first, v2rholapl_eval, v2rholapl, stream); + add_scal_device(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl_eval, v2sigmalapl, stream); + add_scal_device(len_v2lapl2_buffer, kernels_[i].first, v2lapl2_eval, v2lapl2, stream); + } + + if( kernels_[i].second.is_mgga() ) { + add_scal_device(len_v2rhotau_buffer, kernels_[i].first, v2rhotau_eval, v2rhotau, stream); + add_scal_device(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau_eval, v2sigmatau, stream); + add_scal_device(len_v2tau2_buffer, kernels_[i].first, v2tau2_eval, v2tau2, stream); + } + + if ( kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga() ) { + add_scal_device(len_v2lapltau_buffer, kernels_[i].first, v2lapltau_eval, v2lapltau, stream); + } + + } else{ + + scal_device(len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream); + + if (kernels_[i].second.is_gga() or kernels_[i].second.is_mgga()) { + scal_device(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream); + scal_device(len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream); + } + + if (kernels_[i].second.needs_laplacian()) { + scal_device(len_v2rholapl_buffer, kernels_[i].first, v2rholapl_eval, v2rholapl, stream); + scal_device(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl_eval, v2sigmalapl, stream); + scal_device(len_v2lapl2_buffer, kernels_[i].first, v2lapl2_eval, v2lapl2, stream); + } + + if (kernels_[i].second.is_mgga()) { + scal_device(len_v2rhotau_buffer, kernels_[i].first, v2rhotau_eval, v2rhotau, stream); + scal_device(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau_eval, v2sigmatau, stream); + scal_device(len_v2tau2_buffer, kernels_[i].first, v2tau2_eval, v2tau2, stream); + } + + if (kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga()) { + scal_device(len_v2lapltau_buffer, kernels_[i].first, v2lapltau_eval, v2lapltau, stream); + } + } + } + } + + if( v2rho2_scr ) cudaFree( v2rho2_scr ); + if( v2rhosigma_scr ) cudaFree( v2rhosigma_scr ); + if( v2rholapl_scr ) cudaFree( v2rholapl_scr ); + if( v2rhotau_scr ) cudaFree( v2rhotau_scr ); + if( v2sigma2_scr ) cudaFree( v2sigma2_scr ); + if( v2sigmalapl_scr ) cudaFree( v2sigmalapl_scr ); + if( v2sigmatau_scr ) cudaFree( v2sigmatau_scr ); + if( v2lapl2_scr ) cudaFree( v2lapl2_scr ); + if( v2lapltau_scr ) cudaFree( v2lapltau_scr ); + if( v2tau2_scr ) cudaFree( v2tau2_scr ); +} + +MGGA_VXC_FXC_GENERATOR_DEVICE( XCFunctional::eval_vxc_fxc_device ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + + const size_t len_vrho_buffer = vrho_buffer_len(N); + const size_t len_vsigma_buffer = vsigma_buffer_len(N); + const size_t len_vlapl_buffer = vlapl_buffer_len(N); + const size_t len_vtau_buffer = vtau_buffer_len(N); + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2rholapl_buffer = v2rholapl_buffer_len(N); + const size_t len_v2rhotau_buffer = v2rhotau_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + const size_t len_v2sigmalapl_buffer = v2sigmalapl_buffer_len(N); + const size_t len_v2sigmatau_buffer = v2sigmatau_buffer_len(N); + const size_t len_v2lapl2_buffer = v2lapl2_buffer_len(N); + const size_t len_v2lapltau_buffer = v2lapltau_buffer_len(N); + const size_t len_v2tau2_buffer = v2tau2_buffer_len(N); + + double* vrho_scr(nullptr), *vsigma_scr(nullptr), *vlapl_scr(nullptr), *vtau_scr(nullptr); + double* v2rho2_scr(nullptr), *v2rhosigma_scr(nullptr), *v2rholapl_scr(nullptr), *v2rhotau_scr(nullptr), + *v2sigma2_scr(nullptr), *v2sigmalapl_scr(nullptr), *v2sigmatau_scr(nullptr), *v2lapl2_scr(nullptr), + *v2lapltau_scr(nullptr), *v2tau2_scr(nullptr); + + bool use_inc = supports_inc_interface(); + if( kernels_.size() > 1 && !use_inc ) { + vrho_scr = safe_cuda_malloc( len_vrho_buffer ); + vsigma_scr = safe_cuda_malloc( len_vsigma_buffer ); + vlapl_scr = safe_cuda_malloc( len_vlapl_buffer ); + vtau_scr = safe_cuda_malloc( len_vtau_buffer ); + v2rho2_scr = safe_cuda_malloc( len_v2rho2_buffer ); + v2rhosigma_scr = safe_cuda_malloc( len_v2rhosigma_buffer ); + v2rholapl_scr = safe_cuda_malloc( len_v2rholapl_buffer ); + v2rhotau_scr = safe_cuda_malloc(len_v2rhotau_buffer); + v2sigma2_scr = safe_cuda_malloc(len_v2sigma2_buffer); + v2sigmalapl_scr = safe_cuda_malloc(len_v2sigmalapl_buffer); + v2sigmatau_scr = safe_cuda_malloc(len_v2sigmatau_buffer); + v2lapl2_scr = safe_cuda_malloc(len_v2lapl2_buffer); + v2lapltau_scr = safe_cuda_malloc(len_v2lapltau_buffer); + v2tau2_scr = safe_cuda_malloc(len_v2tau2_buffer); + } + + safe_zero(len_vrho_buffer, vrho, stream); + safe_zero(len_vsigma_buffer, vsigma, stream); + safe_zero(len_vlapl_buffer, vlapl, stream); + safe_zero(len_vtau_buffer, vtau, stream); + safe_zero(len_v2rho2_buffer, v2rho2, stream); + safe_zero(len_v2rhosigma_buffer, v2rhosigma, stream); + safe_zero(len_v2rholapl_buffer, v2rholapl, stream); + safe_zero(len_v2rhotau_buffer, v2rhotau, stream); + safe_zero(len_v2sigma2_buffer, v2sigma2, stream); + safe_zero(len_v2sigmalapl_buffer, v2sigmalapl, stream); + safe_zero(len_v2sigmatau_buffer, v2sigmatau, stream); + safe_zero(len_v2lapl2_buffer, v2lapl2, stream); + safe_zero(len_v2lapltau_buffer, v2lapltau, stream); + safe_zero(len_v2tau2_buffer, v2tau2, stream); + + for (auto i = 0ul; i < kernels_.size(); ++i) { + if( use_inc ) { + if (kernels_[i].second.is_mgga()) { + kernels_[i].second.eval_vxc_fxc_inc_device( + kernels_[i].first, N, rho, sigma, lapl, tau, vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, + v2lapltau, v2tau2, stream); + } else if (kernels_[i].second.is_gga()) { + kernels_[i].second.eval_vxc_fxc_inc_device( + kernels_[i].first, N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, + v2sigma2, stream); + } else { + kernels_[i].second.eval_vxc_fxc_inc_device( + kernels_[i].first, N, rho, vrho, v2rho2, stream); + } + } else { + double* vrho_eval = i ? vrho_scr : vrho; + double* vsigma_eval = i ? vsigma_scr : vsigma; + double* vlapl_eval = i ? vlapl_scr : vlapl; + double* vtau_eval = i ? vtau_scr : vtau; + double* v2rho2_eval = i ? v2rho2_scr : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr : v2rhosigma; + double* v2rholapl_eval = i ? v2rholapl_scr : v2rholapl; + double* v2rhotau_eval = i ? v2rhotau_scr : v2rhotau; + double* v2sigma2_eval = i ? v2sigma2_scr : v2sigma2; + double* v2sigmalapl_eval = i ? v2sigmalapl_scr : v2sigmalapl; + double* v2sigmatau_eval = i ? v2sigmatau_scr : v2sigmatau; + double* v2lapl2_eval = i ? v2lapl2_scr : v2lapl2; + double* v2lapltau_eval = i ? v2lapltau_scr : v2lapltau; + double* v2tau2_eval = i ? v2tau2_scr : v2tau2; + + if (kernels_[i].second.is_mgga()) { + kernels_[i].second.eval_vxc_fxc_device( + N, rho, sigma, lapl, tau, vrho_eval, vsigma_eval, vlapl_eval, vtau_eval, + v2rho2_eval, v2rhosigma_eval, v2rholapl_eval, v2rhotau_eval, + v2sigma2_eval, v2sigmalapl_eval, v2sigmatau_eval, v2lapl2_eval, + v2lapltau_eval, v2tau2_eval, stream); + } else if (kernels_[i].second.is_gga()) { + kernels_[i].second.eval_vxc_fxc_device( + N, rho, sigma, vrho_eval, vsigma_eval, v2rho2_eval, v2rhosigma_eval, + v2sigma2_eval, stream); + } else { + kernels_[i].second.eval_vxc_fxc_device(N, rho, vrho_eval, v2rho2_eval, stream); + } + + if (i) { + add_scal_device(len_vrho_buffer, kernels_[i].first, vrho_eval, vrho, stream); + add_scal_device(len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream); + + if (kernels_[i].second.is_gga() || kernels_[i].second.is_mgga()) { + add_scal_device(len_vsigma_buffer, kernels_[i].first, vsigma_eval, vsigma, stream); + add_scal_device(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream); + add_scal_device(len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream); + } + + if (kernels_[i].second.needs_laplacian()) { + add_scal_device(len_vlapl_buffer, kernels_[i].first, vlapl_eval, vlapl, stream); + add_scal_device(len_v2rholapl_buffer, kernels_[i].first, v2rholapl_eval, v2rholapl, stream); + add_scal_device(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl_eval, v2sigmalapl, stream); + add_scal_device(len_v2lapl2_buffer, kernels_[i].first, v2lapl2_eval, v2lapl2, stream); + } + + if (kernels_[i].second.is_mgga()) { + add_scal_device(len_vtau_buffer, kernels_[i].first, vtau_eval, vtau, stream); + add_scal_device(len_v2rhotau_buffer, kernels_[i].first, v2rhotau_eval, v2rhotau, stream); + add_scal_device(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau_eval, v2sigmatau, stream); + add_scal_device(len_v2tau2_buffer, kernels_[i].first, v2tau2_eval, v2tau2, stream); + } + + if (kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga()) { + add_scal_device(len_v2lapltau_buffer, kernels_[i].first, v2lapltau_eval, v2lapltau, stream); + } + } else { + scal_device(len_vrho_buffer, kernels_[i].first, vrho_eval, vrho, stream); + scal_device(len_v2rho2_buffer, kernels_[i].first, v2rho2_eval, v2rho2, stream); + + if (kernels_[i].second.is_gga() || kernels_[i].second.is_mgga()) { + scal_device(len_vsigma_buffer, kernels_[i].first, vsigma_eval, vsigma, stream); + scal_device(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma_eval, v2rhosigma, stream); + scal_device(len_v2sigma2_buffer, kernels_[i].first, v2sigma2_eval, v2sigma2, stream); + } + + if (kernels_[i].second.needs_laplacian()) { + scal_device(len_vlapl_buffer, kernels_[i].first, vlapl_eval, vlapl, stream); + scal_device(len_v2rholapl_buffer, kernels_[i].first, v2rholapl_eval, v2rholapl, stream); + scal_device(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl_eval, v2sigmalapl, stream); + scal_device(len_v2lapl2_buffer, kernels_[i].first, v2lapl2_eval, v2lapl2, stream); + } + + if (kernels_[i].second.is_mgga()) { + scal_device(len_vtau_buffer, kernels_[i].first, vtau_eval, vtau, stream); + scal_device(len_v2rhotau_buffer, kernels_[i].first, v2rhotau_eval, v2rhotau, stream); + scal_device(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau_eval, v2sigmatau, stream); + scal_device(len_v2tau2_buffer, kernels_[i].first, v2tau2_eval, v2tau2, stream); + } + + if (kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga()) { + scal_device(len_v2lapltau_buffer, kernels_[i].first, v2lapltau_eval, v2lapltau, stream); + } + } + } + } + + if( vrho_scr ) cudaFree( vrho_scr ); + if( vsigma_scr ) cudaFree( vsigma_scr ); + if( vlapl_scr ) cudaFree( vlapl_scr ); + if( vtau_scr ) cudaFree( vtau_scr ); + if( v2rho2_scr ) cudaFree( v2rho2_scr ); + if( v2rhosigma_scr ) cudaFree( v2rhosigma_scr ); + if( v2rholapl_scr ) cudaFree( v2rholapl_scr ); + if( v2rhotau_scr ) cudaFree( v2rhotau_scr ); + if( v2sigma2_scr ) cudaFree( v2sigma2_scr ); + if( v2sigmalapl_scr ) cudaFree( v2sigmalapl_scr ); + if( v2sigmatau_scr ) cudaFree( v2sigmatau_scr ); + if( v2lapl2_scr ) cudaFree( v2lapl2_scr ); + if( v2lapltau_scr ) cudaFree( v2lapltau_scr ); + if( v2tau2_scr ) cudaFree( v2tau2_scr ); +} + + } diff --git a/src/hip/builtin.hip b/src/hip/builtin.hip index 8071265..a1a8f68 100644 --- a/src/hip/builtin.hip +++ b/src/hip/builtin.hip @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -923,8 +929,6 @@ GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE_X ); GGA_GENERATE_DEVICE_HELPERS( BuiltinRevPBE_X ); GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE_C ); -GGA_GENERATE_DEVICE_HELPERS( BuiltinB3LYP ); -GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE0 ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCAN_X ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCAN_C ); diff --git a/src/libxc.cxx b/src/libxc.cxx index a22b309..fb859bd 100644 --- a/src/libxc.cxx +++ b/src/libxc.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -69,6 +75,7 @@ std::unordered_map< Kernel, int > libxc_kernel_map { { Kernel::SlaterExchange, XC_LDA_X }, { Kernel::VWN3, XC_LDA_C_VWN_3 }, { Kernel::VWN5, XC_LDA_C_VWN_RPA }, + { Kernel::VWN, XC_LDA_C_VWN }, { Kernel::PZ81, XC_LDA_C_PZ }, { Kernel::PZ81_MOD, XC_LDA_C_PZ_MOD }, { Kernel::PW91_LDA, XC_LDA_C_PW }, @@ -81,6 +88,29 @@ std::unordered_map< Kernel, int > libxc_kernel_map { { Kernel::revPBE_X, XC_GGA_X_PBE_R }, { Kernel::B88, XC_GGA_X_B88 }, { Kernel::LYP, XC_GGA_C_LYP }, + { Kernel::B97_D, XC_GGA_XC_B97_D }, + { Kernel::ITYH_X, XC_GGA_X_ITYH }, + { Kernel::P86_C, XC_GGA_C_P86 }, + { Kernel::P86VWN_FT_C, XC_GGA_C_P86VWN_FT }, + { Kernel::PW91_C, XC_GGA_C_PW91 }, + { Kernel::PBE_SOL_C, XC_GGA_C_PBE_SOL }, + { Kernel::BMK_C, XC_GGA_C_BMK }, + { Kernel::N12_C, XC_GGA_C_N12 }, + { Kernel::N12_SX_C, XC_GGA_C_N12_SX }, + { Kernel::SOGGA11_X_C, XC_GGA_C_SOGGA11_X }, + { Kernel::PW91_X, XC_GGA_X_PW91 }, + { Kernel::MPW91_X, XC_GGA_X_MPW91 }, + { Kernel::OPTX_X, XC_GGA_X_OPTX }, + { Kernel::RPBE_X, XC_GGA_X_RPBE }, + { Kernel::SOGGA11_X_X, XC_HYB_GGA_X_SOGGA11_X }, + { Kernel::PW86_X, XC_GGA_X_PW86 }, + { Kernel::wB97_XC, XC_HYB_GGA_XC_WB97 }, + { Kernel::wB97X_XC, XC_HYB_GGA_XC_WB97X }, + { Kernel::wB97X_V_XC, XC_HYB_GGA_XC_WB97X_V}, + { Kernel::wB97X_D_XC, XC_HYB_GGA_XC_WB97X_D}, + { Kernel::wB97X_D3_XC, XC_HYB_GGA_XC_WB97X_D3}, + { Kernel::HJS_PBE_X, XC_GGA_X_HJS_PBE }, + { Kernel::wPBEh_X_default0, XC_GGA_X_WPBEH }, // MGGA Functionals { Kernel::SCAN_C, XC_MGGA_C_SCAN }, @@ -96,14 +126,50 @@ std::unordered_map< Kernel, int > libxc_kernel_map { { Kernel::M062X_C, XC_MGGA_C_M06_2X }, { Kernel::PKZB_X, XC_MGGA_X_PKZB }, { Kernel::PKZB_C, XC_MGGA_C_PKZB }, + { Kernel::TPSS_X, XC_MGGA_X_TPSS }, + { Kernel::revTPSS_X, XC_MGGA_X_REVTPSS }, + { Kernel::M06_L_X, XC_MGGA_X_M06_L }, + { Kernel::M06_X, XC_HYB_MGGA_X_M06 }, + { Kernel::revM06_L_X, XC_MGGA_X_REVM06_L }, + { Kernel::M06_HF_X, XC_HYB_MGGA_X_M06_HF }, + { Kernel::M06_SX_X, XC_HYB_MGGA_X_M06_SX }, + { Kernel::M06_L_C, XC_MGGA_C_M06_L }, + { Kernel::M06_C, XC_MGGA_C_M06 }, + { Kernel::revM06_L_C, XC_MGGA_C_REVM06_L }, + { Kernel::M06_HF_C, XC_MGGA_C_M06_HF }, + { Kernel::M06_SX_C, XC_MGGA_C_M06_SX }, + { Kernel::M05_2X_C, XC_MGGA_C_M05_2X }, + { Kernel::M05_C, XC_MGGA_C_M05 }, + { Kernel::M08_HX_C, XC_MGGA_C_M08_HX }, + { Kernel::M08_SO_C, XC_MGGA_C_M08_SO }, + { Kernel::CF22D_C, XC_MGGA_C_CF22D }, + { Kernel::M11_C, XC_MGGA_C_M11 }, + { Kernel::MN12_L_C, XC_MGGA_C_MN12_L }, + { Kernel::MN12_SX_C, XC_MGGA_C_MN12_SX }, + { Kernel::MN15_C, XC_MGGA_C_MN15 }, + { Kernel::MN15_L_C, XC_MGGA_C_MN15_L }, + { Kernel::TPSS_C, XC_MGGA_C_TPSS }, + { Kernel::revTPSS_C, XC_MGGA_C_REVTPSS }, + { Kernel::RSCAN_C, XC_MGGA_C_RSCAN }, + { Kernel::BC95_C, XC_MGGA_C_BC95 }, + { Kernel::mBEEF_X, XC_MGGA_X_MBEEF }, + { Kernel::RSCAN_X, XC_MGGA_X_RSCAN }, + { Kernel::BMK_X, XC_HYB_MGGA_X_BMK }, + { Kernel::M08_HX_X, XC_HYB_MGGA_X_M08_HX }, + { Kernel::M08_SO_X, XC_HYB_MGGA_X_M08_SO }, + { Kernel::MN12_L_X, XC_MGGA_X_MN12_L }, + { Kernel::MN15_L_X, XC_MGGA_X_MN15_L }, + { Kernel::MN15_X, XC_HYB_MGGA_X_MN15 }, + { Kernel::CF22D_X, XC_HYB_MGGA_X_CF22D }, + { Kernel::MN12_SX_X, XC_HYB_MGGA_X_MN12_SX}, + { Kernel::M11_X, XC_HYB_MGGA_X_M11 }, + { Kernel::M05_X, XC_HYB_MGGA_X_M05 }, + { Kernel::M05_2X_X, XC_HYB_MGGA_X_M05_2X }, // KEDFs { Kernel::PC07_K, XC_MGGA_K_PC07 }, { Kernel::PC07OPT_K, XC_MGGA_K_PC07_OPT }, - // Hybrid GGA Functionals - { Kernel::B3LYP, XC_HYB_GGA_XC_B3LYP }, - { Kernel::PBE0, XC_HYB_GGA_XC_PBEH }, }; @@ -207,16 +273,6 @@ bool LibxcKernelImpl::is_mgga_() const noexcept { or (kernel_.info->family == XC_FAMILY_HYB_MGGA); } -bool LibxcKernelImpl::is_hyb_() const noexcept { - return - (kernel_.info->family == XC_FAMILY_HYB_GGA ) or - (kernel_.info->family == XC_FAMILY_HYB_MGGA) -#if XC_MAJOR_VERSION > 6 - or (kernel_.info->family == XC_FAMILY_HYB_LDA) -#endif - ; -} - bool LibxcKernelImpl::needs_laplacian_() const noexcept { return kernel_.info->flags & XC_FLAGS_NEEDS_LAPLACIAN; } @@ -245,9 +301,7 @@ bool LibxcKernelImpl::is_epc_() const noexcept { } -double LibxcKernelImpl::hyb_exx_() const noexcept { - return is_hyb_() ? xc_hyb_exx_coef(&kernel_) : 0.0; -} +// } bool LibxcKernelImpl::supports_inc_interface_() const noexcept { return false; @@ -272,11 +326,31 @@ LDA_EXC_VXC_GENERATOR( LibxcKernelImpl::eval_exc_vxc_ ) const { } +LDA_FXC_GENERATOR( LibxcKernelImpl::eval_fxc_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + xc_lda_fxc( &kernel_, N, rho, fxc); + +} + +LDA_VXC_FXC_GENERATOR( LibxcKernelImpl::eval_vxc_fxc_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + xc_lda_vxc_fxc( &kernel_, N, rho, vxc, fxc ); + +} + UNUSED_INC_INTERFACE_GENERATOR( LDA, EXC, LibxcKernelImpl::eval_exc_inc_, const ) UNUSED_INC_INTERFACE_GENERATOR( LDA, EXC_VXC, LibxcKernelImpl::eval_exc_vxc_inc_, const ) +UNUSED_INC_INTERFACE_GENERATOR( LDA, FXC, LibxcKernelImpl::eval_fxc_inc_, + const ) +UNUSED_INC_INTERFACE_GENERATOR( LDA, VXC_FXC, LibxcKernelImpl::eval_vxc_fxc_inc_, + const ) // GGA interface @@ -297,11 +371,30 @@ GGA_EXC_VXC_GENERATOR( LibxcKernelImpl::eval_exc_vxc_ ) const { } +GGA_FXC_GENERATOR( LibxcKernelImpl::eval_fxc_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + xc_gga_fxc( &kernel_, N, rho, sigma, v2rho2, v2rhosigma, v2sigma2 ); + +} + +GGA_VXC_FXC_GENERATOR( LibxcKernelImpl::eval_vxc_fxc_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + xc_gga_vxc_fxc( &kernel_, N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, v2sigma2 ); + +} + UNUSED_INC_INTERFACE_GENERATOR( GGA, EXC, LibxcKernelImpl::eval_exc_inc_, const ) UNUSED_INC_INTERFACE_GENERATOR( GGA, EXC_VXC, LibxcKernelImpl::eval_exc_vxc_inc_, const ) - +UNUSED_INC_INTERFACE_GENERATOR( GGA, FXC, LibxcKernelImpl::eval_fxc_inc_, + const ) +UNUSED_INC_INTERFACE_GENERATOR( GGA, VXC_FXC, LibxcKernelImpl::eval_vxc_fxc_inc_, + const ) // mGGA interface MGGA_EXC_GENERATOR( LibxcKernelImpl::eval_exc_ ) const { @@ -321,11 +414,33 @@ MGGA_EXC_VXC_GENERATOR( LibxcKernelImpl::eval_exc_vxc_ ) const { } +MGGA_FXC_GENERATOR( LibxcKernelImpl::eval_fxc_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + xc_mgga_fxc( &kernel_, N, rho, sigma, lapl, tau, v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2 ); + +} + +MGGA_VXC_FXC_GENERATOR( LibxcKernelImpl::eval_vxc_fxc_ ) const { + + throw_if_uninitialized(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + xc_mgga_vxc_fxc( &kernel_, N, rho, sigma, lapl, tau, vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, v2sigma2, + v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2 ); + +} UNUSED_INC_INTERFACE_GENERATOR( MGGA, EXC, LibxcKernelImpl::eval_exc_inc_, const ) UNUSED_INC_INTERFACE_GENERATOR( MGGA, EXC_VXC, LibxcKernelImpl::eval_exc_vxc_inc_, const ) +UNUSED_INC_INTERFACE_GENERATOR( MGGA, FXC, LibxcKernelImpl::eval_fxc_inc_, + const ) +UNUSED_INC_INTERFACE_GENERATOR( MGGA, VXC_FXC, LibxcKernelImpl::eval_vxc_fxc_inc_, + const ) } diff --git a/src/sycl/builtin_sycl.cxx b/src/sycl/builtin_sycl.cxx index 8e204b9..0225fab 100644 --- a/src/sycl/builtin_sycl.cxx +++ b/src/sycl/builtin_sycl.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -600,8 +606,6 @@ GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE_X ); GGA_GENERATE_DEVICE_HELPERS( BuiltinRevPBE_X ); GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE_C ); -GGA_GENERATE_DEVICE_HELPERS( BuiltinB3LYP ); -GGA_GENERATE_DEVICE_HELPERS( BuiltinPBE0 ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCAN_X ); MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCAN_C ); diff --git a/src/xc_functional.cxx b/src/xc_functional.cxx index f412fa8..24f99b4 100644 --- a/src/xc_functional.cxx +++ b/src/xc_functional.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -48,8 +54,8 @@ namespace ExchCXX { -BidirectionalMap functional_map{ - {{"SVWN3", Functional::SVWN3}, +BidirectionalMap functional_map{{ + {"SVWN3", Functional::SVWN3}, {"SVWN5", Functional::SVWN5}, {"BLYP", Functional::BLYP}, {"B3LYP", Functional::B3LYP}, @@ -59,131 +65,622 @@ BidirectionalMap functional_map{ {"R2SCANL", Functional::R2SCANL}, {"M062X", Functional::M062X}, {"PKZB", Functional::PKZB}, - {"revPBE", Functional::revPBE}, + {"REVPBE", Functional::revPBE}, {"PBE0", Functional::PBE0}, {"EPC17_1", Functional::EPC17_1}, {"EPC17_2", Functional::EPC17_2}, {"EPC18_1", Functional::EPC18_1}, - {"EPC18_2", Functional::EPC18_2}}}; + {"EPC18_2", Functional::EPC18_2}, + + {"B97D", Functional::B97D}, + {"B97D3ZERO", Functional::B97D3ZERO}, + {"CAMB3LYP", Functional::CAMB3LYP}, + {"LDA", Functional::LDA}, + {"M06L", Functional::M06L}, + {"SCAN0", Functional::SCAN0}, + {"SPW92", Functional::SPW92}, + {"TPSS", Functional::TPSS}, + {"TPSSH", Functional::TPSSh}, + {"TPSS0", Functional::TPSS0}, + {"VWN3", Functional::VWN3}, + {"VWN5", Functional::VWN5}, + {"LRCWPBE", Functional::LRCwPBE}, + {"LRCWPBEH", Functional::LRCwPBEh}, + {"BP86", Functional::BP86}, + {"HSE03", Functional::HSE03}, + {"HSE06", Functional::HSE06}, + {"REVB3LYP", Functional::revB3LYP}, + {"REVPBE0", Functional::revPBE0}, + {"REVTPSS", Functional::revTPSS}, + {"REVTPSSH", Functional::revTPSSh}, + {"PW91", Functional::PW91}, + {"MBEEF", Functional::mBEEF}, + {"B3PW91", Functional::B3PW91}, + {"O3LYP", Functional::O3LYP}, + {"OLYP", Functional::OLYP}, + {"OPBE", Functional::OPBE}, + {"MPW1K", Functional::MPW1K}, + {"RPBE", Functional::RPBE}, + {"B88", Functional::B88}, + {"MPW91", Functional::MPW91}, + {"RSCAN", Functional::RSCAN}, + {"TUNEDCAMB3LYP", Functional::TUNEDCAMB3LYP}, + {"WB97", Functional::wB97}, + {"WB97X", Functional::wB97X}, + {"WB97XD", Functional::wB97XD}, + {"WB97XD3", Functional::wB97XD3}, + {"LCWPBE", Functional::LCwPBE}, + {"X3LYP", Functional::X3LYP}, + {"XLYP", Functional::XLYP}, + {"BHANDH", Functional::BHANDH}, + {"BMK", Functional::BMK}, + {"BP86VWN", Functional::BP86VWN}, + {"PW86B95", Functional::PW86B95}, + {"PW86PBE", Functional::PW86PBE}, + {"R2SCAN0", Functional::R2SCAN0}, + {"R2SCANH", Functional::R2SCANh}, + {"R2SCAN50", Functional::R2SCAN50}, + {"M05", Functional::M05}, + {"M06", Functional::M06}, + {"M08HX", Functional::M08HX}, + {"M08SO", Functional::M08SO}, + {"M052X", Functional::M052X}, + {"M06SX", Functional::M06SX}, + {"CF22D", Functional::CF22D}, + {"SOGGA11X", Functional::SOGGA11X}, + {"M06HF", Functional::M06HF}, + {"M11", Functional::M11}, + {"MN12L", Functional::MN12L}, + {"MN12SX", Functional::MN12SX}, + {"MN15", Functional::MN15}, + {"MN15L", Functional::MN15L}, + {"REVM06L", Functional::revM06L}} + }; std::ostream &operator<<(std::ostream &out, Functional functional) { out << functional_map.key(functional); return out; } -std::vector< XCKernel > functional_factory( +std::pair>, HybCoeffs> functional_factory( const Backend backend, const Functional func, const Spin polar ) { - std::vector< XCKernel > kerns; + std::vector< std::pair > kerns; + HybCoeffs hyb_coefs = {0.0, 0.0, 0.0}; // Default initialization if( func == Functional::SVWN3 ) kerns = { - XCKernel( backend, Kernel::SlaterExchange, polar ), - XCKernel( backend, Kernel::VWN3, polar ) + {1.0, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {1.0, XCKernel( backend, Kernel::VWN3, polar )} }; else if( func == Functional::SVWN5 ) kerns = { - XCKernel( backend, Kernel::SlaterExchange, polar ), - XCKernel( backend, Kernel::VWN5, polar ) + {1.0, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {1.0, XCKernel( backend, Kernel::VWN5, polar )} }; else if( func == Functional::BLYP ) kerns = { - XCKernel( backend, Kernel::B88, polar ), - XCKernel( backend, Kernel::LYP, polar ) + {1.0, XCKernel( backend, Kernel::B88, polar )}, + {1.0, XCKernel( backend, Kernel::LYP, polar )} }; - else if( func == Functional::B3LYP ) + else if( func == Functional::B3LYP ){ + hyb_coefs = {0.2, 0.0, 0.0}; kerns = { - XCKernel( backend, Kernel::B3LYP, polar ) + {0.08, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {0.72, XCKernel( backend, Kernel::B88, polar )}, + {0.19, XCKernel( backend, Kernel::VWN5, polar )}, + {0.81, XCKernel( backend, Kernel::LYP, polar )} }; + } else if( func == Functional::PBE ) kerns = { - XCKernel( backend, Kernel::PBE_X, polar ), - XCKernel( backend, Kernel::PBE_C, polar ) + {1.0, XCKernel( backend, Kernel::PBE_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} }; else if( func == Functional::SCAN ) kerns = { - XCKernel( backend, Kernel::SCAN_X, polar ), - XCKernel( backend, Kernel::SCAN_C, polar ) + {1.0, XCKernel( backend, Kernel::SCAN_X, polar )}, + {1.0, XCKernel( backend, Kernel::SCAN_C, polar )} }; else if( func == Functional::R2SCAN ) kerns = { - XCKernel( backend, Kernel::R2SCAN_X, polar ), - XCKernel( backend, Kernel::R2SCAN_C, polar ) + {1.0, XCKernel( backend, Kernel::R2SCAN_X, polar )}, + {1.0, XCKernel( backend, Kernel::R2SCAN_C, polar )} }; else if( func == Functional::PKZB ) kerns = { - XCKernel( backend, Kernel::PKZB_X, polar ), - XCKernel( backend, Kernel::PKZB_C, polar ) + {1.0, XCKernel( backend, Kernel::PKZB_X, polar )}, + {1.0, XCKernel( backend, Kernel::PKZB_C, polar )} }; - else if( func == Functional::M062X ) + else if( func == Functional::M062X ){ + hyb_coefs = {0.54, 0.0, 0.0}; kerns = { - XCKernel( backend, Kernel::M062X_X, polar ), - XCKernel( backend, Kernel::M062X_C, polar ) + {1.0, XCKernel( backend, Kernel::M062X_X, polar )}, + {1.0, XCKernel( backend, Kernel::M062X_C, polar )} }; + } else if( func == Functional::R2SCANL ) kerns = { - XCKernel( backend, Kernel::R2SCANL_X, polar ), - XCKernel( backend, Kernel::R2SCANL_C, polar ) + {1.0, XCKernel( backend, Kernel::R2SCANL_X, polar )}, + {1.0, XCKernel( backend, Kernel::R2SCANL_C, polar )} }; else if( func == Functional::revPBE ) kerns = { - XCKernel( backend, Kernel::revPBE_X, polar ), - XCKernel( backend, Kernel::PBE_C, polar ) - }; - else if( func == Functional::PBE0 ) - kerns = { - XCKernel( backend, Kernel::PBE0, polar ) + {1.0, XCKernel( backend, Kernel::revPBE_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} }; + else if( func == Functional::PBE0 ){ + hyb_coefs = {0.25, 0.0, 0.0}; + kerns = { {0.75, XCKernel( backend, Kernel::PBE_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} }; + } else if( func == Functional::EPC17_1 ) kerns = { - XCKernel( backend, Kernel::EPC17_1, polar ) + {1.0, XCKernel( backend, Kernel::EPC17_1, polar )} }; else if( func == Functional::EPC17_2 ) kerns = { - XCKernel( backend, Kernel::EPC17_2, polar ) + {1.0, XCKernel( backend, Kernel::EPC17_2, polar )} }; else if( func == Functional::EPC18_1 ) kerns = { - XCKernel( backend, Kernel::EPC18_1, polar ) + {1.0, XCKernel( backend, Kernel::EPC18_1, polar )} }; else if( func == Functional::EPC18_2 ) kerns = { - XCKernel( backend, Kernel::EPC18_2, polar ) + {1.0, XCKernel( backend, Kernel::EPC18_2, polar )} + }; + else if( func == Functional::B97D ) + kerns = { + {1.0, XCKernel( backend, Kernel::B97_D, polar )} + }; + else if( func == Functional::B97D3ZERO ) + kerns = { + {1.0, XCKernel( backend, Kernel::B97_D, polar )} + }; + else if( func == Functional::CAMB3LYP ){ + hyb_coefs = {0.65, -0.46, 0.33}; + kerns = { + {0.35, XCKernel( backend, Kernel::B88, polar)}, + {0.46, XCKernel( backend, Kernel::ITYH_X_033, polar)}, + {0.19, XCKernel( backend, Kernel::VWN, polar)}, + {0.81, XCKernel( backend, Kernel::LYP, polar)} + }; + } + else if( func == Functional::LDA ) + kerns = { + {1.0, XCKernel( backend, Kernel::SlaterExchange, polar )} + }; + else if( func == Functional::M06L ) + kerns = { + {1.0, XCKernel( backend, Kernel::M06_L_X, polar )}, + {1.0, XCKernel( backend, Kernel::M06_L_C, polar )} + }; + else if( func == Functional::SCAN0 ){ + hyb_coefs = {0.25, 0.0, 0.0}; + kerns = { + {0.75, XCKernel( backend, Kernel::SCAN_X, polar )}, + {1.0, XCKernel( backend, Kernel::SCAN_C, polar )} + }; + } + else if( func == Functional::SPW92 ) + kerns = { + {1.0, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {1.0, XCKernel( backend, Kernel::PW91_LDA, polar )} + }; + else if( func == Functional::TPSS ) + kerns = { + {1.0, XCKernel( backend, Kernel::TPSS_X, polar )}, + {1.0, XCKernel( backend, Kernel::TPSS_C, polar )} + }; + else if( func == Functional::TPSSh ){ + hyb_coefs = {0.1, 0.0, 0.0}; + kerns = { + {0.9, XCKernel( backend, Kernel::TPSS_X, polar )}, + {1.0, XCKernel( backend, Kernel::TPSS_C, polar )} + }; + } + else if( func == Functional::TPSS0 ){ + hyb_coefs = {0.25, 0.0, 0.0}; + kerns = { + {0.75, XCKernel( backend, Kernel::TPSS_X, polar )}, + {1.0, XCKernel( backend, Kernel::TPSS_C, polar )} + }; + } + else if( func == Functional::VWN3 ) + kerns = { + {1.0, XCKernel( backend, Kernel::VWN3, polar )} + }; + else if( func == Functional::VWN5 ) + kerns = { + {1.0, XCKernel( backend, Kernel::VWN5, polar )} + }; + else if( func == Functional::LRCwPBE ){ + hyb_coefs = {1.0, -1.0, 0.3}; + kerns = { + {1.0, XCKernel( backend, Kernel::LRCwPBE_HJS_PBE_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + } + else if( func == Functional::LRCwPBEh ){ + hyb_coefs = {1.0, -0.8, 0.2}; + kerns = { + {0.8, XCKernel( backend, Kernel::LRCwPBEh_HJS_PBE_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + } + else if( func == Functional::BP86 ) + kerns = { + {1.0, XCKernel( backend, Kernel::B88, polar )}, + {1.0, XCKernel( backend, Kernel::P86_C, polar )} + }; + else if( func == Functional::HSE03 ){ + hyb_coefs = {0.0, 0.25, 0.10606601717798213}; + kerns = { + {1.0, XCKernel( backend, Kernel::wPBEh_X_default0, polar )}, + {-0.25, XCKernel( backend, Kernel::HSE03_wPBEh_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + } + else if( func == Functional::HSE06 ){ + hyb_coefs = {0.0, 0.25, 0.11}; + kerns = { + {1.0, XCKernel( backend, Kernel::wPBEh_X_default0, polar )}, + {-0.25, XCKernel( backend, Kernel::HSE06_wPBEh_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + } + else if( func == Functional::revB3LYP ){ + hyb_coefs = {0.2, 0.0, 0.0}; + kerns = { + {0.13, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {0.67, XCKernel( backend, Kernel::B88, polar )}, + {0.16, XCKernel( backend, Kernel::VWN5, polar )}, + {0.84, XCKernel( backend, Kernel::LYP, polar )} + }; + } + else if( func == Functional::revPBE0 ){ + hyb_coefs = {0.25, 0.0, 0.0}; + kerns = { + {0.75, XCKernel( backend, Kernel::revPBE_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + } + else if( func == Functional::revTPSS ) + kerns = { + {1.0, XCKernel( backend, Kernel::revTPSS_X, polar )}, + {1.0, XCKernel( backend, Kernel::revTPSS_C, polar )} + }; + else if( func == Functional::revTPSSh ){ + hyb_coefs = {0.1, 0.0, 0.0}; + kerns = { + {0.9, XCKernel( backend, Kernel::revTPSS_X, polar )}, + {1.0, XCKernel( backend, Kernel::revTPSS_C, polar )} + }; + } + else if ( func == Functional::PW91 ) + kerns = { + {1.0, XCKernel( backend, Kernel::PW91_X, polar )}, + {1.0, XCKernel( backend, Kernel::PW91_C, polar )} + }; + else if ( func == Functional::mBEEF ) + kerns = { + {1.0, XCKernel( backend, Kernel::mBEEF_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_SOL_C, polar )} + }; + else if ( func == Functional::B3PW91 ){ + hyb_coefs = {0.2, 0.0, 0.0}; + // 0.08, 0.72, 0.19, 0.81 + kerns = { + {0.08, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {0.72, XCKernel( backend, Kernel::B88, polar )}, + {0.19, XCKernel( backend, Kernel::PW91_LDA, polar )}, + {0.81, XCKernel( backend, Kernel::PW91_C, polar )} + }; + } + else if ( func == Functional::O3LYP ){ + hyb_coefs = {0.1161, 0.0, 0.0}; + kerns = { + {0.071006917, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {0.8133, XCKernel( backend, Kernel::OPTX_X, polar )}, + {0.19, XCKernel( backend, Kernel::VWN, polar )}, + {0.81, XCKernel( backend, Kernel::LYP, polar )} + }; + } + else if ( func == Functional::OLYP ) + kerns = { + {1.0, XCKernel( backend, Kernel::OPTX_X, polar )}, + {1.0, XCKernel( backend, Kernel::LYP, polar )} + }; + else if ( func == Functional::OPBE ) + kerns = { + {1.0, XCKernel( backend, Kernel::OPTX_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + else if ( func == Functional::MPW1K ){ + hyb_coefs = {0.428, 0.0, 0.0}; + kerns = { + {0.572, XCKernel( backend, Kernel::MPW91_X, polar )}, + {1.0, XCKernel( backend, Kernel::PW91_C, polar )} + }; + } + else if ( func == Functional::RPBE ) + kerns = { + {1.0, XCKernel( backend, Kernel::RPBE_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + else if ( func == Functional::B88 ) + kerns = { + {1.0, XCKernel( backend, Kernel::B88, polar )} + }; + else if ( func == Functional::MPW91 ) + kerns = { + {1.0, XCKernel( backend, Kernel::MPW91_X, polar )}, + {1.0, XCKernel( backend, Kernel::PW91_C, polar )} + }; + else if ( func == Functional::RSCAN ) + kerns = { + {1.0, XCKernel( backend, Kernel::RSCAN_X, polar )}, + {1.0, XCKernel( backend, Kernel::RSCAN_C, polar )} + }; + else if ( func == Functional::TUNEDCAMB3LYP ){ + hyb_coefs = {1.0, -0.9201, 0.15}; + kerns = { + {0.9201, XCKernel( backend, Kernel::ITYH_X_015, polar)}, + {0.19, XCKernel( backend, Kernel::VWN, polar)}, + {0.81, XCKernel( backend, Kernel::LYP, polar)} + }; + } + else if ( func == Functional::wB97 ){ + hyb_coefs = {1.0, -1.0, 0.4}; + kerns = { + {1.0, XCKernel( backend, Kernel::wB97_XC, polar )}, }; + } + else if ( func == Functional::wB97X ){ + hyb_coefs = {1.0, -0.842294, 0.3}; + kerns = { + {1.0, XCKernel( backend, Kernel::wB97X_XC, polar )}, + }; + } + else if ( func == Functional::wB97XD ){ + hyb_coefs = {1.0, -0.777964, 0.2}; + kerns = { + {1.0, XCKernel( backend, Kernel::wB97X_D_XC, polar )}, + }; + } + else if ( func == Functional::wB97XD3 ){ + hyb_coefs = {1.0, -0.804272, 0.25}; + kerns = { + {1.0, XCKernel( backend, Kernel::wB97X_D3_XC, polar )}, + }; + } + else if ( func == Functional::LCwPBE ){ + hyb_coefs = {1.0, -1.0, 0.4}; + kerns = { + {1.0, XCKernel( backend, Kernel::LCwPBE_wPBEh_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + } + else if ( func == Functional::X3LYP ){ + hyb_coefs = {0.218, 0.0, 0.0}; + kerns = { + {0.073, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {0.166615, XCKernel( backend, Kernel::PW91_X, polar )}, + {0.542385, XCKernel( backend, Kernel::B88, polar )}, + {0.129, XCKernel( backend, Kernel::VWN5, polar )}, + {0.871, XCKernel( backend, Kernel::LYP, polar )} + }; + } + else if ( func == Functional::XLYP ){ + kerns = { + {-0.069, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {0.722, XCKernel( backend, Kernel::B88, polar )}, + {0.347, XCKernel( backend, Kernel::PW91_X, polar )}, + {1.0, XCKernel( backend, Kernel::LYP, polar )} + }; + } + else if ( func == Functional::BHANDH ){ + hyb_coefs = {0.5, 0.0, 0.0}; + kerns = { + {0.5, XCKernel( backend, Kernel::SlaterExchange, polar )}, + {1.0, XCKernel( backend, Kernel::LYP, polar )} + }; + } + else if ( func == Functional::BMK ){ + hyb_coefs = {0.42, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::BMK_X, polar )}, + {1.0, XCKernel( backend, Kernel::BMK_C, polar )} + }; + } + else if ( func == Functional::BP86VWN ){ + kerns = { + {1.0, XCKernel( backend, Kernel::B88, polar )}, + {1.0, XCKernel( backend, Kernel::P86VWN_FT_C, polar )} + }; + } + else if ( func == Functional::PW86B95 ){ + hyb_coefs = {0.29, 0.0, 0.0}; + kerns = { + {0.71, XCKernel( backend, Kernel::PW86_X, polar )}, + {1.0, XCKernel( backend, Kernel::BC95_C, polar )} + }; + } + else if ( func == Functional::PW86PBE ){ + kerns = { + {1.0, XCKernel( backend, Kernel::PW86_X, polar )}, + {1.0, XCKernel( backend, Kernel::PBE_C, polar )} + }; + } + else if ( func == Functional::R2SCAN0 ){ + hyb_coefs = {0.25, 0.0, 0.0}; + kerns = { + {0.75, XCKernel( backend, Kernel::R2SCAN_X, polar )}, + {1.0, XCKernel( backend, Kernel::R2SCAN_C, polar )} + }; + } + else if ( func == Functional::R2SCANh ){ + hyb_coefs = {0.1, 0.0, 0.0}; + kerns = { + {0.9, XCKernel( backend, Kernel::R2SCAN_X, polar )}, + {1.0, XCKernel( backend, Kernel::R2SCAN_C, polar )} + }; + } + else if ( func == Functional::R2SCAN50 ){ + hyb_coefs = {0.5, 0.0, 0.0}; + kerns = { + {0.5, XCKernel( backend, Kernel::R2SCAN_X, polar )}, + {1.0, XCKernel( backend, Kernel::R2SCAN_C, polar )} + }; + } + else if ( func == Functional::M05 ){ + hyb_coefs = {0.28, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::M05_X, polar )}, + {1.0, XCKernel( backend, Kernel::M05_C, polar )} + }; + } + else if ( func == Functional::M06 ){ + hyb_coefs = {0.27, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::M06_X, polar )}, + {1.0, XCKernel( backend, Kernel::M06_C, polar )} + }; + } + else if ( func == Functional::M08HX ){ + hyb_coefs = {0.5223, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::M08_HX_X, polar )}, + {1.0, XCKernel( backend, Kernel::M08_HX_C, polar )} + }; + } + else if ( func == Functional::M08SO ){ + hyb_coefs = {0.5679, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::M08_SO_X, polar )}, + {1.0, XCKernel( backend, Kernel::M08_SO_C, polar )} + }; + } + else if ( func == Functional::M052X ){ + hyb_coefs = {0.56, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::M05_2X_X, polar )}, + {1.0, XCKernel( backend, Kernel::M05_2X_C, polar )} + }; + } + else if ( func == Functional::M06SX ){ + hyb_coefs = {0.0, 0.335, 0.1}; + kerns = { + {1.0, XCKernel( backend, Kernel::M06_SX_X, polar )}, + {1.0, XCKernel( backend, Kernel::M06_SX_C, polar )} + }; + } + else if ( func == Functional::CF22D ){ + hyb_coefs = {0.462806, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::CF22D_X, polar )}, + {1.0, XCKernel( backend, Kernel::CF22D_C, polar )} + }; + } + else if ( func == Functional::SOGGA11X ){ + hyb_coefs = {0.4015, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::SOGGA11_X_X, polar )}, + {1.0, XCKernel( backend, Kernel::SOGGA11_X_C, polar )} + }; + } + else if ( func == Functional::M06HF ){ + hyb_coefs = {1.0, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::M06_HF_X, polar )}, + {1.0, XCKernel( backend, Kernel::M06_HF_C, polar )} + }; + } + else if ( func == Functional::M11 ){ + hyb_coefs = {1.0, -0.572, 0.25}; + kerns = { + {1.0, XCKernel( backend, Kernel::M11_X, polar )}, + {1.0, XCKernel( backend, Kernel::M11_C, polar )} + }; + } + else if ( func == Functional::MN12L ) + kerns = { + {1.0, XCKernel( backend, Kernel::MN12_L_X, polar )}, + {1.0, XCKernel( backend, Kernel::MN12_L_C, polar )} + }; + else if ( func == Functional::MN12SX ){ + hyb_coefs = {0.0, 0.25, 0.11}; + kerns = { + {1.0, XCKernel( backend, Kernel::MN12_SX_X, polar )}, + {1.0, XCKernel( backend, Kernel::MN12_SX_C, polar )} + }; + } + else if ( func == Functional::MN15 ){ + hyb_coefs = {0.44, 0.0, 0.0}; + kerns = { + {1.0, XCKernel( backend, Kernel::MN15_X, polar )}, + {1.0, XCKernel( backend, Kernel::MN15_C, polar )} + }; + } + else if ( func == Functional::MN15L ) + kerns = { + {1.0, XCKernel( backend, Kernel::MN15_L_X, polar )}, + {1.0, XCKernel( backend, Kernel::MN15_L_C, polar )} + }; + else if ( func == Functional::revM06L ) + kerns = { + {1.0, XCKernel( backend, Kernel::revM06_L_X, polar )}, + {1.0, XCKernel( backend, Kernel::revM06_L_C, polar )} + }; else { EXCHCXX_BOOL_CHECK( "Functional NYI Through Builtin Backend", false ); } - return kerns; + return {kerns, hyb_coefs}; } XCFunctional::XCFunctional() = default; XCFunctional::XCFunctional( const std::vector< XCKernel > &ks ) { - + hyb_coefs_ = {0.0, 0.0, 0.0}; + for(const auto& k : ks ) + kernels_.push_back( { 1., k } ); +} +XCFunctional::XCFunctional( const std::vector< XCKernel > &ks, const HybCoeffs& hyb ) : + hyb_coefs_(hyb) { for(const auto& k : ks ) kernels_.push_back( { 1., k } ); - } XCFunctional::XCFunctional( const std::initializer_list< value_type >& list ) : kernels_{ list } { } +XCFunctional::XCFunctional( const std::initializer_list< value_type >& list , const HybCoeffs& hyb ) : + kernels_{ list }, hyb_coefs_(hyb) { } XCFunctional::XCFunctional( const std::vector& ks ) : kernels_(ks) { } + XCFunctional::XCFunctional( const std::vector& ks, const HybCoeffs& hyb ) : + kernels_(ks), hyb_coefs_(hyb) { } XCFunctional::XCFunctional( std::vector&& ks ) : kernels_(std::move(ks)) { } - - -XCFunctional::XCFunctional( - const Backend backend, - const Functional func, - const Spin polar -) : - XCFunctional(functional_factory(backend,func,polar)) { } + XCFunctional::XCFunctional( std::vector&& ks, HybCoeffs&& hyb ) : + kernels_(std::move(ks)), hyb_coefs_(std::move(hyb)) { } + + + XCFunctional::XCFunctional( + const Backend backend, + const Functional func, + const Spin polar + ) { + auto [kernels, hyb_coefs] = functional_factory(backend, func, polar); + hyb_coefs_ = std::move(hyb_coefs); + for(const auto& k : kernels ) + kernels_.push_back( k ); + } @@ -291,7 +788,75 @@ LDA_EXC_VXC_GENERATOR( XCFunctional::eval_exc_vxc ) const { } } +LDA_FXC_GENERATOR( XCFunctional::eval_fxc ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + const size_t len_fxc_buffer = v2rho2_buffer_len(N); + + std::vector fxc_scr; + if( kernels_.size() > 1 && !supports_inc_interface() ) + fxc_scr.resize( len_fxc_buffer ); + + std::fill_n( fxc, len_fxc_buffer, 0. ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + + if( supports_inc_interface() ) { + kernels_[i].second.eval_fxc_inc( + kernels_[i].first, N, rho, fxc + ); + } else { + double* fxc_eval = i ? fxc_scr.data() : fxc; + kernels_[i].second.eval_fxc(N, rho, fxc_eval); + + if( i ) + _addscal( len_fxc_buffer, kernels_[i].first, fxc, fxc_eval ); + else + _scal( len_fxc_buffer, kernels_[i].first, fxc ); + } + } +} + +LDA_VXC_FXC_GENERATOR( XCFunctional::eval_vxc_fxc ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT LDA", is_lda() ); + + const size_t len_vxc_buffer = vrho_buffer_len(N); + const size_t len_fxc_buffer = v2rho2_buffer_len(N); + + std::vector vxc_scr, fxc_scr; + if( kernels_.size() > 1 && !supports_inc_interface() ) { + vxc_scr.resize( len_vxc_buffer ); + fxc_scr.resize( len_fxc_buffer ); + } + + std::fill_n( vxc, len_vxc_buffer, 0. ); + std::fill_n( fxc, len_fxc_buffer, 0. ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + + if( supports_inc_interface() ) { + kernels_[i].second.eval_vxc_fxc_inc( + kernels_[i].first, N, rho, vxc, fxc + ); + } else { + double* vxc_eval = i ? vxc_scr.data() : vxc; + double* fxc_eval = i ? fxc_scr.data() : fxc; + kernels_[i].second.eval_vxc_fxc(N, rho, vxc_eval, fxc_eval); + + if( i ) { + _addscal( len_vxc_buffer, kernels_[i].first, vxc, vxc_eval ); + _addscal( len_fxc_buffer, kernels_[i].first, fxc, fxc_eval ); + } else { + _scal( len_vxc_buffer, kernels_[i].first, vxc ); + _scal( len_fxc_buffer, kernels_[i].first, fxc ); + } + } + } +} // GGA Interfaces @@ -413,8 +978,146 @@ GGA_EXC_VXC_GENERATOR( XCFunctional::eval_exc_vxc ) const { } } +GGA_FXC_GENERATOR( XCFunctional::eval_fxc ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + + std::vector v2sigma2_scr, v2rhosigma_scr, v2rho2_scr; + if( kernels_.size() > 1 and not supports_inc_interface() ) { + v2rho2_scr.resize( len_v2rho2_buffer ); + v2rhosigma_scr.resize( len_v2rhosigma_buffer ); + v2sigma2_scr.resize( len_v2sigma2_buffer ); + } + + std::fill_n( v2rho2, len_v2rho2_buffer, 0. ); + std::fill_n( v2rhosigma, len_v2rhosigma_buffer, 0. ); + std::fill_n( v2sigma2, len_v2sigma2_buffer, 0. ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + + if( supports_inc_interface() ) { + + if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc_inc( + kernels_[i].first, N, rho, sigma, v2rho2, v2rhosigma, v2sigma2 + ); + else + kernels_[i].second.eval_fxc_inc( + kernels_[i].first, N, rho, v2rho2 + ); + + } else { + + double* v2rho2_eval = i ? v2rho2_scr.data() : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr.data() : v2rhosigma; + double* v2sigma2_eval = i ? v2sigma2_scr.data() : v2sigma2; + + if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc(N, rho, sigma, v2rho2_eval, + v2rhosigma_eval, v2sigma2_eval ); + else + kernels_[i].second.eval_fxc(N, rho, v2rho2_eval); + + if( i ) { + _addscal( len_v2rho2_buffer, kernels_[i].first, v2rho2, v2rho2_eval ); + if( kernels_[i].second.is_gga() ){ + _addscal( len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma, v2rhosigma_eval ); + _addscal( len_v2sigma2_buffer, kernels_[i].first, v2sigma2, v2sigma2_eval ); + } + + } else { + _scal( len_v2rho2_buffer, kernels_[i].first, v2rho2 ); + if( kernels_[i].second.is_gga() ){ + _scal( len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma ); + _scal( len_v2sigma2_buffer, kernels_[i].first, v2sigma2 ); + } + } + } + } +} + +GGA_VXC_FXC_GENERATOR( XCFunctional::eval_vxc_fxc ) const { + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT GGA", is_gga() ); + const size_t len_vrho_buffer = vrho_buffer_len(N); + const size_t len_vsigma_buffer = vsigma_buffer_len(N); + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + + std::vector vrho_scr, vsigma_scr, v2rho2_scr, v2rhosigma_scr, v2sigma2_scr; + if( kernels_.size() > 1 and not supports_inc_interface() ) { + vrho_scr.resize( len_vrho_buffer ); + vsigma_scr.resize( len_vsigma_buffer ); + v2rho2_scr.resize( len_v2rho2_buffer ); + v2rhosigma_scr.resize( len_v2rhosigma_buffer ); + v2sigma2_scr.resize( len_v2sigma2_buffer ); + } + + std::fill_n( vrho, len_vrho_buffer, 0. ); + std::fill_n( vsigma, len_vsigma_buffer, 0. ); + std::fill_n( v2rho2, len_v2rho2_buffer, 0. ); + std::fill_n( v2rhosigma, len_v2rhosigma_buffer, 0. ); + std::fill_n( v2sigma2, len_v2sigma2_buffer, 0. ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + + if( supports_inc_interface() ) { + + if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_vxc_fxc_inc( + kernels_[i].first, N, rho, sigma, vrho, vsigma, + v2rho2, v2rhosigma, v2sigma2 + ); + else + kernels_[i].second.eval_vxc_fxc_inc( + kernels_[i].first, N, rho, vrho, v2rho2 + ); + + } else { + + double* vrho_eval = i ? vrho_scr.data() : vrho; + double* vsigma_eval = i ? vsigma_scr.data() : vsigma; + double* v2rho2_eval = i ? v2rho2_scr.data() : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr.data() : v2rhosigma; + double* v2sigma2_eval = i ? v2sigma2_scr.data() : v2sigma2; + + if (kernels_[i].second.is_gga()) { + kernels_[i].second.eval_vxc_fxc(N, rho, sigma, vrho_eval, vsigma_eval, + v2rho2_eval, v2rhosigma_eval, v2sigma2_eval); + } else { + kernels_[i].second.eval_vxc_fxc(N, rho, vrho_eval, v2rho2_eval); + } + + if (i) { + _addscal(len_vrho_buffer, kernels_[i].first, vrho, vrho_eval); + _addscal(len_v2rho2_buffer, kernels_[i].first, v2rho2, v2rho2_eval); + + if (kernels_[i].second.is_gga()) { + _addscal(len_vsigma_buffer, kernels_[i].first, vsigma, vsigma_eval); + _addscal(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma, v2rhosigma_eval); + _addscal(len_v2sigma2_buffer, kernels_[i].first, v2sigma2, v2sigma2_eval); + } + } else { + _scal(len_vrho_buffer, kernels_[i].first, vrho); + _scal(len_v2rho2_buffer, kernels_[i].first, v2rho2); + + if (kernels_[i].second.is_gga()) { + _scal(len_vsigma_buffer, kernels_[i].first, vsigma); + _scal(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma); + _scal(len_v2sigma2_buffer, kernels_[i].first, v2sigma2); + } + } + } + } +} // mGGA Interfaces @@ -572,7 +1275,306 @@ MGGA_EXC_VXC_GENERATOR( XCFunctional::eval_exc_vxc ) const { } +MGGA_FXC_GENERATOR( XCFunctional::eval_fxc ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2rholapl_buffer = v2rholapl_buffer_len(N); + const size_t len_v2rhotau_buffer = v2rhotau_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + const size_t len_v2sigmalapl_buffer = v2sigmalapl_buffer_len(N); + const size_t len_v2sigmatau_buffer = v2sigmatau_buffer_len(N); + const size_t len_v2lapl2_buffer = v2lapl2_buffer_len(N); + const size_t len_v2lapltau_buffer = v2lapltau_buffer_len(N); + const size_t len_v2tau2_buffer = v2tau2_buffer_len(N); + + std::vector v2rho2_scr, v2rhosigma_scr, v2rholapl_scr, v2rhotau_scr, + v2sigma2_scr, v2sigmalapl_scr, v2sigmatau_scr, v2lapl2_scr, v2lapltau_scr, v2tau2_scr; + if( kernels_.size() > 1 && !supports_inc_interface() ) { + v2rho2_scr.resize( len_v2rho2_buffer ); + v2rhosigma_scr.resize( len_v2rhosigma_buffer ); + v2rholapl_scr.resize( len_v2rholapl_buffer ); + v2rhotau_scr.resize( len_v2rhotau_buffer ); + v2sigma2_scr.resize( len_v2sigma2_buffer ); + v2sigmalapl_scr.resize( len_v2sigmalapl_buffer ); + v2sigmatau_scr.resize( len_v2sigmatau_buffer ); + v2lapl2_scr.resize( len_v2lapl2_buffer ); + v2lapltau_scr.resize( len_v2lapltau_buffer ); + v2tau2_scr.resize( len_v2tau2_buffer ); + } + + std::fill_n( v2rho2, len_v2rho2_buffer, 0. ); + std::fill_n( v2rhosigma, len_v2rhosigma_buffer, 0. ); + std::fill_n( v2rholapl, len_v2rholapl_buffer, 0. ); + std::fill_n( v2rhotau, len_v2rhotau_buffer, 0. ); + std::fill_n( v2sigma2, len_v2sigma2_buffer, 0. ); + std::fill_n( v2sigmalapl, len_v2sigmalapl_buffer, 0. ); + std::fill_n( v2sigmatau, len_v2sigmatau_buffer, 0. ); + std::fill_n( v2lapl2, len_v2lapl2_buffer, 0. ); + std::fill_n( v2lapltau, len_v2lapltau_buffer, 0. ); + std::fill_n( v2tau2, len_v2tau2_buffer, 0. ); + + for( auto i = 0ul; i < kernels_.size(); ++i ) { + + if( supports_inc_interface() ) { + + if( kernels_[i].second.is_mgga() ) + kernels_[i].second.eval_fxc_inc( + kernels_[i].first, N, rho, sigma, lapl, tau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2 + ); + else if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc_inc( + kernels_[i].first, N, rho, sigma, v2rho2, v2rhosigma, v2sigma2 + ); + else + kernels_[i].second.eval_fxc_inc( + kernels_[i].first, N, rho, v2rho2 + ); + + } else { + + double* v2rho2_eval = i ? v2rho2_scr.data() : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr.data() : v2rhosigma; + double* v2rholapl_eval = i ? v2rholapl_scr.data() : v2rholapl; + double* v2rhotau_eval = i ? v2rhotau_scr.data() : v2rhotau; + double* v2sigma2_eval = i ? v2sigma2_scr.data() : v2sigma2; + double* v2sigmalapl_eval = i ? v2sigmalapl_scr.data() : v2sigmalapl; + double* v2sigmatau_eval = i ? v2sigmatau_scr.data() : v2sigmatau; + double* v2lapl2_eval = i ? v2lapl2_scr.data() : v2lapl2; + double* v2lapltau_eval = i ? v2lapltau_scr.data() : v2lapltau; + double* v2tau2_eval = i ? v2tau2_scr.data() : v2tau2; + + if( kernels_[i].second.is_mgga() ) + kernels_[i].second.eval_fxc(N, rho, sigma, lapl, tau, v2rho2_eval, + v2rhosigma_eval, v2rholapl_eval, v2rhotau_eval, v2sigma2_eval, v2sigmalapl_eval, + v2sigmatau_eval, v2lapl2_eval, v2lapltau_eval, v2tau2_eval); + else if( kernels_[i].second.is_gga() ) + kernels_[i].second.eval_fxc(N, rho, sigma, v2rho2_eval, v2rhosigma_eval, v2sigma2_eval ); + else + kernels_[i].second.eval_fxc(N, rho, v2rho2_eval); + + if (i) { + _addscal(len_v2rho2_buffer, kernels_[i].first, v2rho2, v2rho2_eval); + + if( kernels_[i].second.is_gga() or kernels_[i].second.is_mgga() ){ + _addscal(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma, v2rhosigma_eval); + _addscal(len_v2sigma2_buffer, kernels_[i].first, v2sigma2, v2sigma2_eval); + } + + if( kernels_[i].second.needs_laplacian() ) { + _addscal(len_v2rholapl_buffer, kernels_[i].first, v2rholapl, v2rholapl_eval); + _addscal(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl, v2sigmalapl_eval); + _addscal(len_v2lapl2_buffer, kernels_[i].first, v2lapl2, v2lapl2_eval); + } + if( kernels_[i].second.is_mgga() ) { + _addscal(len_v2rhotau_buffer, kernels_[i].first, v2rhotau, v2rhotau_eval); + _addscal(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau, v2sigmatau_eval); + _addscal(len_v2tau2_buffer, kernels_[i].first, v2tau2, v2tau2_eval); + } + if ( kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga() ) { + _addscal(len_v2lapltau_buffer, kernels_[i].first, v2lapltau, v2lapltau_eval); + } + + } else{ + + _scal(len_v2rho2_buffer, kernels_[i].first, v2rho2); + + if (kernels_[i].second.is_gga() or kernels_[i].second.is_mgga()) { + _scal(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma); + _scal(len_v2sigma2_buffer, kernels_[i].first, v2sigma2); + } + + if (kernels_[i].second.needs_laplacian()) { + _scal(len_v2rholapl_buffer, kernels_[i].first, v2rholapl); + _scal(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl); + _scal(len_v2lapl2_buffer, kernels_[i].first, v2lapl2); + } + + if (kernels_[i].second.is_mgga()) { + _scal(len_v2rhotau_buffer, kernels_[i].first, v2rhotau); + _scal(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau); + _scal(len_v2tau2_buffer, kernels_[i].first, v2tau2); + } + + if (kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga()) { + _scal(len_v2lapltau_buffer, kernels_[i].first, v2lapltau); + } + } + } + } +} + + +MGGA_VXC_FXC_GENERATOR( XCFunctional::eval_vxc_fxc ) const { + + throw_if_not_sane(); + EXCHCXX_BOOL_CHECK("KERNEL IS NOT MGGA", is_mgga() ); + + const size_t len_vrho_buffer = vrho_buffer_len(N); + const size_t len_vsigma_buffer = vsigma_buffer_len(N); + const size_t len_vlapl_buffer = vlapl_buffer_len(N); + const size_t len_vtau_buffer = vtau_buffer_len(N); + const size_t len_v2rho2_buffer = v2rho2_buffer_len(N); + const size_t len_v2rhosigma_buffer = v2rhosigma_buffer_len(N); + const size_t len_v2rholapl_buffer = v2rholapl_buffer_len(N); + const size_t len_v2rhotau_buffer = v2rhotau_buffer_len(N); + const size_t len_v2sigma2_buffer = v2sigma2_buffer_len(N); + const size_t len_v2sigmalapl_buffer = v2sigmalapl_buffer_len(N); + const size_t len_v2sigmatau_buffer = v2sigmatau_buffer_len(N); + const size_t len_v2lapl2_buffer = v2lapl2_buffer_len(N); + const size_t len_v2lapltau_buffer = v2lapltau_buffer_len(N); + const size_t len_v2tau2_buffer = v2tau2_buffer_len(N); + + std::vector vrho_scr, vsigma_scr, vlapl_scr, vtau_scr; + std::vector v2rho2_scr, v2rhosigma_scr, v2rholapl_scr, v2rhotau_scr, + v2sigma2_scr, v2sigmalapl_scr, v2sigmatau_scr, v2lapl2_scr, v2lapltau_scr, v2tau2_scr; + + if( kernels_.size() > 1 && !supports_inc_interface() ) { + vrho_scr.resize( len_vrho_buffer ); + vsigma_scr.resize( len_vsigma_buffer ); + vlapl_scr.resize( len_vlapl_buffer ); + vtau_scr.resize( len_vtau_buffer ); + v2rho2_scr.resize( len_v2rho2_buffer ); + v2rhosigma_scr.resize( len_v2rhosigma_buffer ); + v2rholapl_scr.resize( len_v2rholapl_buffer ); + v2rhotau_scr.resize(len_v2rhotau_buffer); + v2sigma2_scr.resize(len_v2sigma2_buffer); + v2sigmalapl_scr.resize(len_v2sigmalapl_buffer); + v2sigmatau_scr.resize(len_v2sigmatau_buffer); + v2lapl2_scr.resize(len_v2lapl2_buffer); + v2lapltau_scr.resize(len_v2lapltau_buffer); + v2tau2_scr.resize(len_v2tau2_buffer); + } + + std::fill_n(vrho, len_vrho_buffer, 0.); + std::fill_n(vsigma, len_vsigma_buffer, 0.); + std::fill_n(vlapl, len_vlapl_buffer, 0.); + std::fill_n(vtau, len_vtau_buffer, 0.); + std::fill_n(v2rho2, len_v2rho2_buffer, 0.); + std::fill_n(v2rhosigma, len_v2rhosigma_buffer, 0.); + std::fill_n(v2rholapl, len_v2rholapl_buffer, 0.); + std::fill_n(v2rhotau, len_v2rhotau_buffer, 0.); + std::fill_n(v2sigma2, len_v2sigma2_buffer, 0.); + std::fill_n(v2sigmalapl, len_v2sigmalapl_buffer, 0.); + std::fill_n(v2sigmatau, len_v2sigmatau_buffer, 0.); + std::fill_n(v2lapl2, len_v2lapl2_buffer, 0.); + std::fill_n(v2lapltau, len_v2lapltau_buffer, 0.); + std::fill_n(v2tau2, len_v2tau2_buffer, 0.); + + for (auto i = 0ul; i < kernels_.size(); ++i) { + + if( supports_inc_interface() ) { + + if (kernels_[i].second.is_mgga()) { + kernels_[i].second.eval_vxc_fxc_inc( + kernels_[i].first, N, rho, sigma, lapl, tau, vrho, vsigma, vlapl, vtau, + v2rho2, v2rhosigma, v2rholapl, v2rhotau, + v2sigma2, v2sigmalapl, v2sigmatau, v2lapl2, v2lapltau, v2tau2 + ); + } else if (kernels_[i].second.is_gga()) { + kernels_[i].second.eval_vxc_fxc_inc( + kernels_[i].first, N, rho, sigma, vrho, vsigma, v2rho2, v2rhosigma, v2sigma2 + ); + } else { + kernels_[i].second.eval_vxc_fxc_inc( + kernels_[i].first, N, rho, vrho, v2rho2 + ); + } + + } else { + + double* vrho_eval = i ? vrho_scr.data() : vrho; + double* vsigma_eval = i ? vsigma_scr.data() : vsigma; + double* vlapl_eval = i ? vlapl_scr.data() : vlapl; + double* vtau_eval = i ? vtau_scr.data() : vtau; + double* v2rho2_eval = i ? v2rho2_scr.data() : v2rho2; + double* v2rhosigma_eval = i ? v2rhosigma_scr.data() : v2rhosigma; + double* v2rholapl_eval = i ? v2rholapl_scr.data() : v2rholapl; + double* v2rhotau_eval = i ? v2rhotau_scr.data() : v2rhotau; + double* v2sigma2_eval = i ? v2sigma2_scr.data() : v2sigma2; + double* v2sigmalapl_eval = i ? v2sigmalapl_scr.data() : v2sigmalapl; + double* v2sigmatau_eval = i ? v2sigmatau_scr.data() : v2sigmatau; + double* v2lapl2_eval = i ? v2lapl2_scr.data() : v2lapl2; + double* v2lapltau_eval = i ? v2lapltau_scr.data() : v2lapltau; + double* v2tau2_eval = i ? v2tau2_scr.data() : v2tau2; + + if (kernels_[i].second.is_mgga()) { + kernels_[i].second.eval_vxc_fxc( + N, rho, sigma, lapl, tau, vrho_eval, vsigma_eval, vlapl_eval, vtau_eval, + v2rho2_eval, v2rhosigma_eval, v2rholapl_eval, v2rhotau_eval, + v2sigma2_eval, v2sigmalapl_eval, v2sigmatau_eval, v2lapl2_eval, + v2lapltau_eval, v2tau2_eval); + } else if (kernels_[i].second.is_gga()) { + kernels_[i].second.eval_vxc_fxc( + N, rho, sigma, vrho_eval, vsigma_eval, v2rho2_eval, v2rhosigma_eval, + v2sigma2_eval); + } else { + kernels_[i].second.eval_vxc_fxc(N, rho, vrho_eval, v2rho2_eval); + } + if (i) { + _addscal(len_vrho_buffer, kernels_[i].first, vrho, vrho_eval); + _addscal(len_v2rho2_buffer, kernels_[i].first, v2rho2, v2rho2_eval); + + if (kernels_[i].second.is_gga() || kernels_[i].second.is_mgga()) { + _addscal(len_vsigma_buffer, kernels_[i].first, vsigma, vsigma_eval); + _addscal(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma, v2rhosigma_eval); + _addscal(len_v2sigma2_buffer, kernels_[i].first, v2sigma2, v2sigma2_eval); + } + + if (kernels_[i].second.needs_laplacian()) { + _addscal(len_vlapl_buffer, kernels_[i].first, vlapl, vlapl_eval); + _addscal(len_v2rholapl_buffer, kernels_[i].first, v2rholapl, v2rholapl_eval); + _addscal(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl, v2sigmalapl_eval); + _addscal(len_v2lapl2_buffer, kernels_[i].first, v2lapl2, v2lapl2_eval); + } + + if (kernels_[i].second.is_mgga()) { + _addscal(len_vtau_buffer, kernels_[i].first, vtau, vtau_eval); + _addscal(len_v2rhotau_buffer, kernels_[i].first, v2rhotau, v2rhotau_eval); + _addscal(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau, v2sigmatau_eval); + _addscal(len_v2tau2_buffer, kernels_[i].first, v2tau2, v2tau2_eval); + } + + if (kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga()) { + _addscal(len_v2lapltau_buffer, kernels_[i].first, v2lapltau, v2lapltau_eval); + } + } else { + _scal(len_vrho_buffer, kernels_[i].first, vrho); + _scal(len_v2rho2_buffer, kernels_[i].first, v2rho2); + + if (kernels_[i].second.is_gga() || kernels_[i].second.is_mgga()) { + _scal(len_vsigma_buffer, kernels_[i].first, vsigma); + _scal(len_v2rhosigma_buffer, kernels_[i].first, v2rhosigma); + _scal(len_v2sigma2_buffer, kernels_[i].first, v2sigma2); + } + + if (kernels_[i].second.needs_laplacian()) { + _scal(len_vlapl_buffer, kernels_[i].first, vlapl); + _scal(len_v2rholapl_buffer, kernels_[i].first, v2rholapl); + _scal(len_v2sigmalapl_buffer, kernels_[i].first, v2sigmalapl); + _scal(len_v2lapl2_buffer, kernels_[i].first, v2lapl2); + } + + if (kernels_[i].second.is_mgga()) { + _scal(len_vtau_buffer, kernels_[i].first, vtau); + _scal(len_v2rhotau_buffer, kernels_[i].first, v2rhotau); + _scal(len_v2sigmatau_buffer, kernels_[i].first, v2sigmatau); + _scal(len_v2tau2_buffer, kernels_[i].first, v2tau2); + } + + if (kernels_[i].second.needs_laplacian() && kernels_[i].second.is_mgga()) { + _scal(len_v2lapltau_buffer, kernels_[i].first, v2lapltau); + } + } + } + } +} } // ExchCXX diff --git a/src/xc_kernel.cxx b/src/xc_kernel.cxx index 7d046bf..f8705ff 100644 --- a/src/xc_kernel.cxx +++ b/src/xc_kernel.cxx @@ -1,24 +1,30 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. - * + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * (1) Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. - * + * * (2) Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * (3) Neither the name of the University of California, Lawrence Berkeley * National Laboratory, U.S. Dept. of Energy nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. - * - * + * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -30,7 +36,7 @@ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. - * + * * You are under no obligation whatsoever to provide any bug fixes, patches, * or upgrades to the features, functionality or performance of the source * code ("Enhancements") to anyone; however, if you choose to make your @@ -47,78 +53,156 @@ #include #include -namespace ExchCXX { - -BidirectionalMap kernel_map{ - {{"SlaterExchange", Kernel::SlaterExchange}, - {"PBE_X", Kernel::PBE_X}, - {"PBE_C", Kernel::PBE_C}, - {"SCAN_X", Kernel::SCAN_X}, - {"SCAN_C", Kernel::SCAN_C}, - {"SCANL_C", Kernel::SCANL_C}, - {"SCANL_X", Kernel::SCANL_X}, - {"FT98_X", Kernel::FT98_X}, - {"PC07_K", Kernel::PC07_K}, - {"PC07OPT_K", Kernel::PC07OPT_K}, - {"R2SCAN_X", Kernel::R2SCAN_X}, - {"R2SCAN_C", Kernel::R2SCAN_C}, - {"R2SCANL_X", Kernel::R2SCANL_X}, - {"R2SCANL_C", Kernel::R2SCANL_C}, - {"M062X_X", Kernel::M062X_X}, - {"M062X_C", Kernel::M062X_C}, - {"PKZB_X", Kernel::PKZB_X}, - {"PKZB_C", Kernel::PKZB_C}, - {"revPBE_X", Kernel::revPBE_X}, - {"LYP", Kernel::LYP}, - {"B3LYP", Kernel::B3LYP}, - {"PBE0", Kernel::PBE0}, - {"VWN3", Kernel::VWN3}, - {"VWN5", Kernel::VWN5}, - {"PZ81", Kernel::PZ81}, - {"PZ81_MOD", Kernel::PZ81_MOD}, - {"PW91_LDA", Kernel::PW91_LDA}, - {"PW91_LDA_MOD", Kernel::PW91_LDA_MOD}, - {"PW91_LDA_RPA", Kernel::PW91_LDA_RPA}, - {"B88", Kernel::B88}, - {"EPC17_1", Kernel::EPC17_1}, - {"EPC17_2", Kernel::EPC17_2}, - {"EPC18_1", Kernel::EPC18_1}, - {"EPC18_2", Kernel::EPC18_2}}}; - -std::ostream& operator<<( std::ostream& out, Kernel kern ) { - out << kernel_map.key(kern); - return out; -} +namespace ExchCXX +{ -XCKernel::XCKernel( - const Backend backend, - const Kernel kern, - const Spin polar) : -XCKernel( kernel_factory( backend, kern, polar ) ) { } + BidirectionalMap kernel_map{ + {{"SlaterExchange", Kernel::SlaterExchange}, + {"PBE_X", Kernel::PBE_X}, + {"PBE_C", Kernel::PBE_C}, + {"B97_D", Kernel::B97_D}, + {"ITYH_X", Kernel::ITYH_X}, + {"ITYH_X", Kernel::ITYH_X_033}, + {"ITYH_X", Kernel::ITYH_X_015}, + {"wB97_XC", Kernel::wB97_XC}, + {"wB97X_XC", Kernel::wB97X_XC}, + {"wB97X_V_XC", Kernel::wB97X_V_XC}, + {"wB97X_D_XC", Kernel::wB97X_D_XC}, + {"wB97X_D3_XC", Kernel::wB97X_D3_XC}, -#ifdef EXCHCXX_ENABLE_LIBXC -XCKernel::XCKernel( - const libxc_name_string& xc_name, - const Spin polar) : -XCKernel( libxc_kernel_factory( xc_name.get(), polar ) ) { } -#endif + {"SCAN_X", Kernel::SCAN_X}, + {"SCAN_C", Kernel::SCAN_C}, + {"SCANL_C", Kernel::SCANL_C}, + {"SCANL_X", Kernel::SCANL_X}, + {"FT98_X", Kernel::FT98_X}, + {"PC07_K", Kernel::PC07_K}, + {"PC07OPT_K", Kernel::PC07OPT_K}, + {"R2SCAN_X", Kernel::R2SCAN_X}, + {"R2SCAN_C", Kernel::R2SCAN_C}, + {"R2SCANL_X", Kernel::R2SCANL_X}, + {"R2SCANL_C", Kernel::R2SCANL_C}, + {"M062X_X", Kernel::M062X_X}, + {"M062X_C", Kernel::M062X_C}, + {"PKZB_X", Kernel::PKZB_X}, + {"PKZB_C", Kernel::PKZB_C}, + {"TPSS_X", Kernel::TPSS_X}, + {"revTPSS_X", Kernel::revTPSS_X}, + {"M06_L_X", Kernel::M06_L_X}, + {"M06_X", Kernel::M06_X}, + {"revM06_L_X", Kernel::revM06_L_X}, + {"M06_HF_X", Kernel::M06_HF_X}, + {"M06_SX_X", Kernel::M06_SX_X}, + {"M06_L_C", Kernel::M06_L_C}, + {"M06_C", Kernel::M06_C}, + {"revM06_L_C", Kernel::revM06_L_C}, + {"M06_HF_C", Kernel::M06_HF_C}, + {"M06_SX_C", Kernel::M06_SX_C}, + {"M05_2X_C", Kernel::M05_2X_C}, + {"M05_C", Kernel::M05_C}, + {"M08_HX_C", Kernel::M08_HX_C}, + {"M08_SO_C", Kernel::M08_SO_C}, + {"CF22D_C", Kernel::CF22D_C}, + {"M11_C", Kernel::M11_C}, + {"MN12_L_C", Kernel::MN12_L_C}, + {"MN12_SX_C", Kernel::MN12_SX_C}, + {"MN15_C", Kernel::MN15_C}, + {"MN15_L_C", Kernel::MN15_L_C}, + {"M05_2X_C", Kernel::M05_2X_C}, + {"M05_C", Kernel::M05_C}, + {"M08_HX_C", Kernel::M08_HX_C}, + {"M08_SO_C", Kernel::M08_SO_C}, + {"CF22D_C", Kernel::CF22D_C}, + {"M11_C", Kernel::M11_C}, + {"MN12_L_C", Kernel::MN12_L_C}, + {"MN12_SX_C", Kernel::MN12_SX_C}, + {"MN15_C", Kernel::MN15_C}, + {"MN15_L_C", Kernel::MN15_L_C}, + {"P86_C", Kernel::P86_C}, + {"P86VWN_FT_C", Kernel::P86VWN_FT_C}, + {"PW91_C", Kernel::PW91_C}, + {"PBE_SOL_C", Kernel::PBE_SOL_C}, + {"BMK_C", Kernel::BMK_C}, + {"N12_C", Kernel::N12_C}, + {"N12_SX_C", Kernel::N12_SX_C}, + {"SOGGA11_X_C", Kernel::SOGGA11_X_C}, + {"TPSS_C", Kernel::TPSS_C}, + {"revTPSS_C", Kernel::revTPSS_C}, + {"RSCAN_C", Kernel::RSCAN_C}, + {"BC95_C", Kernel::BC95_C}, + {"PW91_X", Kernel::PW91_X}, + {"MPW91_X", Kernel::MPW91_X}, + {"OPTX_X", Kernel::OPTX_X}, + {"RPBE_X", Kernel::RPBE_X}, + {"SOGGA11_X_X", Kernel::SOGGA11_X_X}, + {"PW86_X", Kernel::PW86_X}, + {"HJS_PBE_X", Kernel::HJS_PBE_X}, + {"LCwPBE_wPBEh_X", Kernel::LCwPBE_wPBEh_X}, + {"LRCwPBE_HJS_PBE_X", Kernel::LRCwPBE_HJS_PBE_X}, + {"LRCwPBEh_HJS_PBE_X", Kernel::LRCwPBEh_HJS_PBE_X}, + {"wPBEh_X_default0", Kernel::wPBEh_X_default0}, + {"HSE03_wPBEh_X", Kernel::HSE03_wPBEh_X}, + {"HSE06_wPBEh_X", Kernel::HSE06_wPBEh_X}, + {"mBEEF_X", Kernel::mBEEF_X}, + {"RSCAN_X", Kernel::RSCAN_X}, + {"BMK_X", Kernel::BMK_X}, + {"M08_HX_X", Kernel::M08_HX_X}, + {"M08_SO_X", Kernel::M08_SO_X}, + {"MN12_L_X", Kernel::MN12_L_X}, + {"MN15_L_X", Kernel::MN15_L_X}, + {"MN15_X", Kernel::MN15_X}, + {"CF22D_X", Kernel::CF22D_X}, + {"MN12_SX_X", Kernel::MN12_SX_X}, + {"M11_X", Kernel::M11_X}, + {"M05_X", Kernel::M05_X}, + {"M05_2X_X", Kernel::M05_2X_X}, -XCKernel::XCKernel( impl_ptr&& ptr ) : - pimpl_(std::move(ptr)) { } + {"revPBE_X", Kernel::revPBE_X}, + {"LYP", Kernel::LYP}, + {"VWN3", Kernel::VWN3}, + {"VWN5", Kernel::VWN5}, + {"VWN", Kernel::VWN}, + {"PZ81", Kernel::PZ81}, + {"PZ81_MOD", Kernel::PZ81_MOD}, + {"PW91_LDA", Kernel::PW91_LDA}, + {"PW91_LDA_MOD", Kernel::PW91_LDA_MOD}, + {"PW91_LDA_RPA", Kernel::PW91_LDA_RPA}, + {"B88", Kernel::B88}, + {"EPC17_1", Kernel::EPC17_1}, + {"EPC17_2", Kernel::EPC17_2}, + {"EPC18_1", Kernel::EPC18_1}, + {"EPC18_2", Kernel::EPC18_2}}}; -XCKernel::XCKernel( const XCKernel& other ) : - pimpl_(other.pimpl_->clone()) { } + std::ostream &operator<<(std::ostream &out, Kernel kern) + { + out << kernel_map.key(kern); + return out; + } -XCKernel::XCKernel( XCKernel&& other ) noexcept = default; + XCKernel::XCKernel( + const Backend backend, + const Kernel kern, + const Spin polar) : XCKernel(kernel_factory(backend, kern, polar)) {} -XCKernel& XCKernel::operator=( XCKernel&& other ) noexcept =default; +#ifdef EXCHCXX_ENABLE_LIBXC + XCKernel::XCKernel( + const libxc_name_string &xc_name, + const Spin polar) : XCKernel(libxc_kernel_factory(xc_name.get(), polar)) {} +#endif + XCKernel::XCKernel(impl_ptr &&ptr) : pimpl_(std::move(ptr)) {} -XCKernel& XCKernel::operator=( const XCKernel& other ) { - return *this = XCKernel(other); -} + XCKernel::XCKernel(const XCKernel &other) : pimpl_(other.pimpl_->clone()) {} + + XCKernel::XCKernel(XCKernel &&other) noexcept = default; + + XCKernel &XCKernel::operator=(XCKernel &&other) noexcept = default; + + XCKernel &XCKernel::operator=(const XCKernel &other) + { + return *this = XCKernel(other); + } -XCKernel::~XCKernel() noexcept = default; + XCKernel::~XCKernel() noexcept = default; } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6fdf267..fef6bea 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -24,7 +24,7 @@ add_executable( xc_kernel_test xc_kernel_test.cxx reference_values.cxx ) target_link_libraries( xc_kernel_test PUBLIC exchcxx catch2_main ) target_compile_features( xc_kernel_test PRIVATE cxx_std_17 ) -add_executable( xc_functional_test xc_functional_test.cxx ) +add_executable( xc_functional_test xc_functional_test.cxx reference_values.cxx ) target_link_libraries( xc_functional_test PUBLIC exchcxx catch2_main ) target_compile_features( xc_functional_test PRIVATE cxx_std_17 ) diff --git a/test/reference_values.cxx b/test/reference_values.cxx index 7b8302d..dac4d7c 100644 --- a/test/reference_values.cxx +++ b/test/reference_values.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -44,6 +50,7 @@ */ #include "reference_values.hpp" +#include "ut_common.hpp" #include std::vector rho = {0.1, 0.2, 0.3, 0.4, 0.5}; @@ -436,10 +443,15 @@ lda_reference gen_lda_reference_values(ExchCXX::Backend backend, ref_vals.exc.resize( func.exc_buffer_len( ref_vals.npts ) ); ref_vals.vrho.resize( func.vrho_buffer_len( ref_vals.npts ) ); + ref_vals.v2rho2.resize( func.v2rho2_buffer_len( ref_vals.npts ) ); func.eval_exc_vxc( ref_vals.npts, ref_vals.rho.data(), ref_vals.exc.data(), ref_vals.vrho.data() ); + if(!is_deorbitalized(kern)) + func.eval_fxc( ref_vals.npts, ref_vals.rho.data(), + ref_vals.v2rho2.data() ); + return ref_vals; } @@ -457,9 +469,15 @@ gga_reference gen_gga_reference_values(ExchCXX::Backend backend, ref_vals.exc.resize( func.exc_buffer_len( ref_vals.npts ) ); ref_vals.vrho.resize( func.vrho_buffer_len( ref_vals.npts ) ); ref_vals.vsigma.resize( func.vsigma_buffer_len( ref_vals.npts ) ); + ref_vals.v2rho2.resize( func.v2rho2_buffer_len( ref_vals.npts ) ); + ref_vals.v2sigma2.resize( func.v2sigma2_buffer_len( ref_vals.npts ) ); + ref_vals.v2rhosigma.resize( func.v2rhosigma_buffer_len( ref_vals.npts ) ); func.eval_exc_vxc( ref_vals.npts, ref_vals.rho.data(), ref_vals.sigma.data(), ref_vals.exc.data(), ref_vals.vrho.data(), ref_vals.vsigma.data() ); + if(!is_deorbitalized(kern)) + func.eval_fxc( ref_vals.npts, ref_vals.rho.data(), ref_vals.sigma.data(), + ref_vals.v2rho2.data(), ref_vals.v2rhosigma.data() , ref_vals.v2sigma2.data()); return ref_vals; @@ -486,11 +504,31 @@ mgga_reference gen_mgga_reference_values(ExchCXX::Backend backend, ref_vals.vlapl.resize( func.vlapl_buffer_len( ref_vals.npts ) ); ref_vals.vtau.resize( func.vtau_buffer_len( ref_vals.npts ) ); + ref_vals.v2rho2.resize( func.v2rho2_buffer_len( ref_vals.npts ) ); + ref_vals.v2rhosigma.resize( func.v2rhosigma_buffer_len( ref_vals.npts ) ); + ref_vals.v2rholapl.resize( func.v2rholapl_buffer_len( ref_vals.npts ) ); + ref_vals.v2rhotau.resize( func.v2rhotau_buffer_len( ref_vals.npts ) ); + ref_vals.v2sigma2.resize( func.v2sigma2_buffer_len( ref_vals.npts ) ); + ref_vals.v2sigmalapl.resize( func.v2sigmalapl_buffer_len( ref_vals.npts ) ); + ref_vals.v2sigmatau.resize( func.v2sigmatau_buffer_len( ref_vals.npts ) ); + ref_vals.v2lapl2.resize( func.v2lapl2_buffer_len( ref_vals.npts ) ); + ref_vals.v2lapltau.resize( func.v2lapltau_buffer_len( ref_vals.npts ) ); + ref_vals.v2tau2.resize( func.v2tau2_buffer_len( ref_vals.npts ) ); + func.eval_exc_vxc( ref_vals.npts, ref_vals.rho.data(), ref_vals.sigma.data(), ref_vals.lapl.data(), ref_vals.tau.data(), ref_vals.exc.data(), ref_vals.vrho.data(), ref_vals.vsigma.data(), ref_vals.vlapl.data(), ref_vals.vtau.data() ); + if(!is_deorbitalized(kern)) + func.eval_fxc( ref_vals.npts, ref_vals.rho.data(), ref_vals.sigma.data(), + ref_vals.lapl.data(), ref_vals.tau.data(), ref_vals.v2rho2.data(), + ref_vals.v2rhosigma.data(), ref_vals.v2rholapl.data(), + ref_vals.v2rhotau.data(), ref_vals.v2sigma2.data(), + ref_vals.v2sigmalapl.data(), ref_vals.v2sigmatau.data(), + ref_vals.v2lapl2.data(), ref_vals.v2lapltau.data(), + ref_vals.v2tau2.data() ); + return ref_vals; } @@ -566,16 +604,56 @@ std::pair> load_reference_tau(ExchCXX::Spin s) { } -double load_reference_exx( ExchCXX::Kernel kern ) { +ExchCXX::HybCoeffs load_reference_exx( ExchCXX::Functional func ) { using namespace ExchCXX; - double exx; - switch(kern) { - case Kernel::B3LYP: exx = 0.2; break; - case Kernel::PBE0: exx = 0.25; break; - case Kernel::M062X_X: exx = 0.54; break; - default: exx = 0; + HybCoeffs exx; + switch(func) { + case Functional::B3LYP: exx = {0.2,0.0,0.0}; break; + case Functional::PBE0: exx = {0.25,0.0,0.0}; break; + case Functional::M062X: exx = {0.54,0.0,0.0}; break; + + case Functional::CAMB3LYP: exx = {0.65, -0.46, 0.33}; break; + case Functional::SCAN0: exx = {0.25, 0, 0.0}; break; + case Functional::TPSSh: exx = {0.1, 0, 0.0}; break; + case Functional::TPSS0: exx = {0.25, 0, 0.0}; break; + case Functional::LRCwPBE: exx = {1.0, -1.0, 0.3}; break; + case Functional::LRCwPBEh: exx = {1.0, -0.8, 0.2}; break; + case Functional::HSE03: exx = {0.0, 0.25, 0.10606601717798213}; break; + case Functional::HSE06: exx = {0.0, 0.25, 0.11}; break; + case Functional::revB3LYP: exx = {0.2, 0, 0.0}; break; + case Functional::revPBE0: exx = {0.25, 0, 0.0}; break; + case Functional::revTPSSh: exx = {0.1, 0, 0.0}; break; + case Functional::B3PW91: exx = {0.2, 0, 0.0}; break; + case Functional::O3LYP: exx = {0.1161, 0, 0.0}; break; + case Functional::MPW1K: exx = {0.428, 0, 0.0}; break; + case Functional::TUNEDCAMB3LYP: exx = {1.0, -0.9201, 0.15}; break; + case Functional::wB97: exx = {1.0, -1.0, 0.4}; break; + case Functional::wB97X: exx = {1.0, -0.842294, 0.3}; break; + case Functional::wB97XD: exx = {1.0, -0.777964, 0.2}; break; + case Functional::wB97XD3: exx = {1.0, -0.804272, 0.25}; break; + case Functional::LCwPBE: exx = {1.0, -1.0, 0.4}; break; + case Functional::X3LYP: exx = {0.218, 0, 0.0}; break; + case Functional::BHANDH: exx = {0.5, 0, 0.0}; break; + case Functional::BMK: exx = {0.42, 0, 0.0}; break; + case Functional::PW86B95: exx = {0.29, 0, 0.0}; break; + case Functional::R2SCAN0: exx = {0.25, 0, 0.0}; break; + case Functional::R2SCANh: exx = {0.1, 0, 0.0}; break; + case Functional::R2SCAN50: exx = {0.5, 0, 0.0}; break; + case Functional::M05: exx = {0.28, 0, 0.0}; break; + case Functional::M06: exx = {0.27, 0, 0.0}; break; + case Functional::M08HX: exx = {0.5223, 0, 0.0}; break; + case Functional::M08SO: exx = {0.5679, 0, 0.0}; break; + case Functional::M052X: exx = {0.56, 0, 0.0}; break; + case Functional::M06SX: exx = {0.0, 0.335, 0.1}; break; + case Functional::CF22D: exx = {0.462806, 0.0, 0.0}; break; + case Functional::SOGGA11X: exx = {0.4015, 0, 0.0}; break; + case Functional::M06HF: exx = {1.0, 0, 0.0}; break; + case Functional::M11: exx = {1.0, -0.572, 0.25}; break; + case Functional::MN12SX: exx = {0.0, 0.25, 0.11}; break; + case Functional::MN15: exx = {0.44, 0, 0.0}; break; + default: exx = {0.0,0.0,0.0}; } return exx; diff --git a/test/reference_values.hpp b/test/reference_values.hpp index 4e2a462..98b328a 100644 --- a/test/reference_values.hpp +++ b/test/reference_values.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -45,6 +51,7 @@ #pragma once #include +#include #include #include @@ -54,6 +61,7 @@ struct lda_reference { std::vector rho; std::vector exc; std::vector vrho; + std::vector v2rho2; }; struct gga_reference { @@ -63,6 +71,9 @@ struct gga_reference { std::vector exc; std::vector vrho; std::vector vsigma; + std::vector v2rho2; + std::vector v2sigma2; + std::vector v2rhosigma; }; struct mgga_reference { @@ -76,6 +87,17 @@ struct mgga_reference { std::vector vsigma; std::vector vlapl; std::vector vtau; + + std::vector v2rho2; + std::vector v2rhosigma; + std::vector v2rholapl; + std::vector v2rhotau; + std::vector v2sigma2; + std::vector v2sigmalapl; + std::vector v2sigmatau; + std::vector v2lapl2; + std::vector v2lapltau; + std::vector v2tau2; }; lda_reference load_lda_reference_values(ExchCXX::Kernel, ExchCXX::Spin); @@ -91,4 +113,4 @@ std::pair> load_reference_sigma(ExchCXX::Spin); std::pair> load_reference_lapl(ExchCXX::Spin); std::pair> load_reference_tau(ExchCXX::Spin); -double load_reference_exx( ExchCXX::Kernel ); +ExchCXX::HybCoeffs load_reference_exx( ExchCXX::Functional func ); diff --git a/test/ut_common.hpp b/test/ut_common.hpp index e408232..70d1714 100644 --- a/test/ut_common.hpp +++ b/test/ut_common.hpp @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -64,7 +70,13 @@ enum class TestInterface { EXC_VXC, EXC_INC, - EXC_VXC_INC + EXC_VXC_INC, + + FXC, + VXC_FXC, + + FXC_INC, + VXC_FXC_INC, }; enum class EvalType { @@ -78,6 +90,7 @@ static std::vector lda_kernels = { ExchCXX::Kernel::SlaterExchange, ExchCXX::Kernel::VWN3, ExchCXX::Kernel::VWN5, + ExchCXX::Kernel::VWN, ExchCXX::Kernel::PZ81, ExchCXX::Kernel::PZ81_MOD, ExchCXX::Kernel::PW91_LDA, @@ -91,8 +104,30 @@ static std::vector gga_kernels = { ExchCXX::Kernel::revPBE_X, ExchCXX::Kernel::B88, ExchCXX::Kernel::LYP, - ExchCXX::Kernel::B3LYP, - ExchCXX::Kernel::PBE0 + ExchCXX::Kernel::B97_D, + ExchCXX::Kernel::ITYH_X, + ExchCXX::Kernel::P86_C, + ExchCXX::Kernel::P86VWN_FT_C, + ExchCXX::Kernel::PW91_C, + ExchCXX::Kernel::PBE_SOL_C, + ExchCXX::Kernel::BMK_C, + ExchCXX::Kernel::N12_C, + ExchCXX::Kernel::N12_SX_C, + ExchCXX::Kernel::SOGGA11_X_C, + ExchCXX::Kernel::PW91_X, + ExchCXX::Kernel::MPW91_X, + ExchCXX::Kernel::OPTX_X, + ExchCXX::Kernel::RPBE_X, + ExchCXX::Kernel::SOGGA11_X_X, + ExchCXX::Kernel::PW86_X, + ExchCXX::Kernel::wB97_XC, + ExchCXX::Kernel::wB97X_XC, + ExchCXX::Kernel::wB97X_V_XC, + ExchCXX::Kernel::wB97X_D_XC, + ExchCXX::Kernel::wB97X_D3_XC, + ExchCXX::Kernel::HJS_PBE_X, + ExchCXX::Kernel::wPBEh_X_default0, + }; static std::vector mgga_kernels = { @@ -107,7 +142,43 @@ static std::vector mgga_kernels = { ExchCXX::Kernel::M062X_C, ExchCXX::Kernel::FT98_X, ExchCXX::Kernel::PC07_K, - ExchCXX::Kernel::PC07OPT_K + ExchCXX::Kernel::PC07OPT_K, + ExchCXX::Kernel::TPSS_X, + ExchCXX::Kernel::revTPSS_X, + ExchCXX::Kernel::M06_L_X, + ExchCXX::Kernel::M06_X, + ExchCXX::Kernel::revM06_L_X, + ExchCXX::Kernel::M06_HF_X, + ExchCXX::Kernel::M06_SX_X, + ExchCXX::Kernel::M06_L_C, + ExchCXX::Kernel::M06_C, + ExchCXX::Kernel::revM06_L_C, + ExchCXX::Kernel::M06_HF_C, + ExchCXX::Kernel::M06_SX_C, + ExchCXX::Kernel::M05_2X_C, + ExchCXX::Kernel::M05_C, + ExchCXX::Kernel::M08_HX_C, + ExchCXX::Kernel::M08_SO_C, + ExchCXX::Kernel::CF22D_C, + ExchCXX::Kernel::M11_C, + ExchCXX::Kernel::MN12_L_C, + ExchCXX::Kernel::MN12_SX_C, + ExchCXX::Kernel::MN15_C, + ExchCXX::Kernel::MN15_L_C, + ExchCXX::Kernel::TPSS_C, + ExchCXX::Kernel::revTPSS_C, + ExchCXX::Kernel::BC95_C, + ExchCXX::Kernel::BMK_X, + ExchCXX::Kernel::M08_HX_X, + ExchCXX::Kernel::M08_SO_X, + ExchCXX::Kernel::MN12_L_X, + ExchCXX::Kernel::MN15_L_X, + ExchCXX::Kernel::MN15_X, + ExchCXX::Kernel::CF22D_X, + ExchCXX::Kernel::MN12_SX_X, + ExchCXX::Kernel::M11_X, + ExchCXX::Kernel::M05_X, + ExchCXX::Kernel::M05_2X_X, }; static std::vector epc_lda_kernels = { @@ -121,6 +192,7 @@ static std::vector builtin_supported_kernels = { ExchCXX::Kernel::SlaterExchange, ExchCXX::Kernel::VWN3, ExchCXX::Kernel::VWN5, + ExchCXX::Kernel::VWN, ExchCXX::Kernel::PZ81, ExchCXX::Kernel::PZ81_MOD, ExchCXX::Kernel::PW91_LDA, @@ -132,9 +204,30 @@ static std::vector builtin_supported_kernels = { ExchCXX::Kernel::PBE_X, ExchCXX::Kernel::PBE_C, ExchCXX::Kernel::revPBE_X, + ExchCXX::Kernel::B97_D, + ExchCXX::Kernel::ITYH_X, + ExchCXX::Kernel::P86_C, + ExchCXX::Kernel::P86VWN_FT_C, + ExchCXX::Kernel::PW91_C, + ExchCXX::Kernel::PBE_SOL_C, + ExchCXX::Kernel::BMK_C, + ExchCXX::Kernel::N12_C, + ExchCXX::Kernel::N12_SX_C, + ExchCXX::Kernel::SOGGA11_X_C, + ExchCXX::Kernel::PW91_X, + ExchCXX::Kernel::MPW91_X, + ExchCXX::Kernel::OPTX_X, + ExchCXX::Kernel::RPBE_X, + ExchCXX::Kernel::SOGGA11_X_X, + ExchCXX::Kernel::PW86_X, + ExchCXX::Kernel::wB97_XC, + ExchCXX::Kernel::wB97X_XC, + ExchCXX::Kernel::wB97X_V_XC, + ExchCXX::Kernel::wB97X_D_XC, + ExchCXX::Kernel::wB97X_D3_XC, + ExchCXX::Kernel::HJS_PBE_X, + ExchCXX::Kernel::wPBEh_X_default0, - ExchCXX::Kernel::B3LYP, - ExchCXX::Kernel::PBE0, ExchCXX::Kernel::SCAN_X, ExchCXX::Kernel::SCAN_C, @@ -149,6 +242,42 @@ static std::vector builtin_supported_kernels = { ExchCXX::Kernel::M062X_C, ExchCXX::Kernel::PKZB_X, ExchCXX::Kernel::PKZB_C, + ExchCXX::Kernel::TPSS_X, + ExchCXX::Kernel::revTPSS_X, + ExchCXX::Kernel::M06_L_X, + ExchCXX::Kernel::M06_X, + ExchCXX::Kernel::revM06_L_X, + ExchCXX::Kernel::M06_HF_X, + ExchCXX::Kernel::M06_SX_X, + ExchCXX::Kernel::M06_L_C, + ExchCXX::Kernel::M06_C, + ExchCXX::Kernel::revM06_L_C, + ExchCXX::Kernel::M06_HF_C, + ExchCXX::Kernel::M06_SX_C, + ExchCXX::Kernel::M05_2X_C, + ExchCXX::Kernel::M05_C, + ExchCXX::Kernel::M08_HX_C, + ExchCXX::Kernel::M08_SO_C, + ExchCXX::Kernel::CF22D_C, + ExchCXX::Kernel::M11_C, + ExchCXX::Kernel::MN12_L_C, + ExchCXX::Kernel::MN12_SX_C, + ExchCXX::Kernel::MN15_C, + ExchCXX::Kernel::MN15_L_C, + ExchCXX::Kernel::TPSS_C, + ExchCXX::Kernel::revTPSS_C, + ExchCXX::Kernel::BC95_C, + ExchCXX::Kernel::BMK_X, + ExchCXX::Kernel::M08_HX_X, + ExchCXX::Kernel::M08_SO_X, + ExchCXX::Kernel::MN12_L_X, + ExchCXX::Kernel::MN15_L_X, + ExchCXX::Kernel::MN15_X, + ExchCXX::Kernel::CF22D_X, + ExchCXX::Kernel::MN12_SX_X, + ExchCXX::Kernel::M11_X, + ExchCXX::Kernel::M05_X, + ExchCXX::Kernel::M05_2X_X, ExchCXX::Kernel::PC07_K, ExchCXX::Kernel::PC07OPT_K, @@ -159,18 +288,143 @@ static std::vector builtin_supported_kernels = { ExchCXX::Kernel::EPC18_2 }; -static std::vector unstable_small_kernels = { - ExchCXX::Kernel::SCAN_C, +static std::vector deorbitalized_kernels = { + ExchCXX::Kernel::SCANL_C, ExchCXX::Kernel::SCANL_X, - ExchCXX::Kernel::PKZB_C + ExchCXX::Kernel::R2SCANL_X, + ExchCXX::Kernel::R2SCANL_C +}; + +static std::vector unstable_small_kernels = { + + // Unstable on CPU and GPU + ExchCXX::Kernel::SCANL_C, // vrho, vsigma (GPU only) + ExchCXX::Kernel::ITYH_X, //vsigma + ExchCXX::Kernel::PKZB_C, // exc, vrho, vsigma + ExchCXX::Kernel::TPSS_C, // exc, vrho, vsigma + ExchCXX::Kernel::revTPSS_C, // vrho, vsigma + ExchCXX::Kernel::RSCAN_C, + ExchCXX::Kernel::BMK_X, + ExchCXX::Kernel::M05_2X_C, + ExchCXX::Kernel::M05_C, + ExchCXX::Kernel::PC07_K, + ExchCXX::Kernel::PC07OPT_K, + ExchCXX::Kernel::SOGGA11_X_X, + + // The following kernels is unstable on GPU only + // vsigma unstable only and report -0.0 == Approx( -0.0 ): B97 series, BMK_C, N12_C, OPTX_X + ExchCXX::Kernel::B97_D, + ExchCXX::Kernel::wB97_XC, + ExchCXX::Kernel::wB97X_XC, + ExchCXX::Kernel::wB97X_V_XC, + ExchCXX::Kernel::wB97X_D3_XC, + ExchCXX::Kernel::wB97X_D_XC, + ExchCXX::Kernel::BMK_C, + ExchCXX::Kernel::N12_C, + ExchCXX::Kernel::OPTX_X, + // vrho and vsigma unstable and report -0.0 == Approx( -0.0 ): PW91_X, MPW91_X, OPTX_X + ExchCXX::Kernel::PW91_X, + ExchCXX::Kernel::MPW91_X, + + ExchCXX::Kernel::SCANL_X, // vrho, vsigma, vrho sometimes big error + ExchCXX::Kernel::mBEEF_X, // vrho, vsigma, vtau, vrho huge error + + // vsigma unstable only with small error + ExchCXX::Kernel::MN12_L_C, + ExchCXX::Kernel::MN15_C, + ExchCXX::Kernel::M08_HX_C, + ExchCXX::Kernel::CF22D_C, + ExchCXX::Kernel::N12_SX_C, + ExchCXX::Kernel::MN12_SX_C, + ExchCXX::Kernel::M11_C, + ExchCXX::Kernel::M08_SO_C, + ExchCXX::Kernel::MN15_L_C +}; + +static std::vector unstable_small_polarized_fxc_exchange_due_to_libxc_bug = { + + ExchCXX::Kernel::B88, + ExchCXX::Kernel::M05_2X_X, + ExchCXX::Kernel::M05_X, + ExchCXX::Kernel::M062X_X, + ExchCXX::Kernel::SlaterExchange, + ExchCXX::Kernel::PBE_X, + ExchCXX::Kernel::RPBE_X, + ExchCXX::Kernel::revPBE_X, + ExchCXX::Kernel::PW86_X, + ExchCXX::Kernel::wPBEh_X_default0, + ExchCXX::Kernel::SCAN_X, + ExchCXX::Kernel::PKZB_X, + ExchCXX::Kernel::TPSS_X, + ExchCXX::Kernel::revTPSS_X, + ExchCXX::Kernel::M06_L_X, + ExchCXX::Kernel::M06_X, + ExchCXX::Kernel::revM06_L_X, + ExchCXX::Kernel::M06_HF_X, + ExchCXX::Kernel::M06_SX_X, + ExchCXX::Kernel::BMK_X, + ExchCXX::Kernel::M08_HX_X, + ExchCXX::Kernel::M08_SO_X, + ExchCXX::Kernel::MN12_L_X, + ExchCXX::Kernel::MN15_L_X, + ExchCXX::Kernel::MN15_X, + ExchCXX::Kernel::CF22D_X, + ExchCXX::Kernel::MN12_SX_X, +}; + +static std::vector unstable_small_2nd_deriv_device ={ + + ExchCXX::Kernel::B97_D, + ExchCXX::Kernel::BMK_C, + ExchCXX::Kernel::BMK_X, + ExchCXX::Kernel::N12_C, + ExchCXX::Kernel::N12_SX_C, + ExchCXX::Kernel::OPTX_X, + ExchCXX::Kernel::PW91_X, + ExchCXX::Kernel::MPW91_X, + ExchCXX::Kernel::wB97_XC, + ExchCXX::Kernel::wB97X_XC, + ExchCXX::Kernel::wB97X_V_XC, + ExchCXX::Kernel::wB97X_D3_XC, + ExchCXX::Kernel::wB97X_D_XC, + ExchCXX::Kernel::M08_HX_C, + ExchCXX::Kernel::M08_SO_C, + ExchCXX::Kernel::CF22D_C, + ExchCXX::Kernel::M11_C, + ExchCXX::Kernel::MN12_L_C, + ExchCXX::Kernel::MN12_SX_C, + ExchCXX::Kernel::MN15_C, + ExchCXX::Kernel::MN15_L_C, + ExchCXX::Kernel::TPSS_C, + ExchCXX::Kernel::PC07_K, + ExchCXX::Kernel::PC07OPT_K, + ExchCXX::Kernel::mBEEF_X, // vrho, vsigma, vtau, vrho huge error + + //Polarized unstable only + ExchCXX::Kernel::PKZB_C, + ExchCXX::Kernel::revTPSS_C, + ExchCXX::Kernel::M05_2X_C, + ExchCXX::Kernel::M05_C, + }; inline bool is_unstable_small(ExchCXX::Kernel kern) { return std::find(unstable_small_kernels.begin(), unstable_small_kernels.end(), kern) != unstable_small_kernels.end(); } - +inline bool is_unstable_small_polarized_fxc_exchange_due_to_libxc_bug(ExchCXX::Kernel kern) { + return std::find(unstable_small_polarized_fxc_exchange_due_to_libxc_bug.begin(), unstable_small_polarized_fxc_exchange_due_to_libxc_bug.end(), + kern) != unstable_small_polarized_fxc_exchange_due_to_libxc_bug.end(); +} +inline bool is_unstable_small_2nd_deriv_device(ExchCXX::Kernel kern) { + return std::find(unstable_small_2nd_deriv_device.begin(), unstable_small_2nd_deriv_device.end(), + kern) != unstable_small_2nd_deriv_device.end(); +} +inline bool is_deorbitalized(ExchCXX::Kernel kern) { + return std::find(deorbitalized_kernels.begin(), deorbitalized_kernels.end(), + kern) != deorbitalized_kernels.end(); +} inline bool is_epc(ExchCXX::Kernel kern) { return std::find(epc_lda_kernels.begin(), epc_lda_kernels.end(), kern) != epc_lda_kernels.end(); @@ -179,7 +433,32 @@ inline bool is_epc(ExchCXX::Kernel kern) { static constexpr std::array string_kernal_pairs = { std::pair("SlaterExchange", ExchCXX::Kernel::SlaterExchange), std::pair("PBE_X",ExchCXX::Kernel::PBE_X), + std::pair("revPBE_X", ExchCXX::Kernel::revPBE_X), std::pair("PBE_C", ExchCXX::Kernel::PBE_C), + std::pair("B97_D", ExchCXX::Kernel::B97_D), + std::pair("ITYH_X", ExchCXX::Kernel::ITYH_X), + std::pair("P86_C", ExchCXX::Kernel::P86_C), + std::pair("P86VWN_FT_C", ExchCXX::Kernel::P86VWN_FT_C), + std::pair("PW91_C", ExchCXX::Kernel::PW91_C), + std::pair("PBE_SOL_C", ExchCXX::Kernel::PBE_SOL_C), + std::pair("BMK_C", ExchCXX::Kernel::BMK_C), + std::pair("N12_C", ExchCXX::Kernel::N12_C), + std::pair("N12_SX_C", ExchCXX::Kernel::N12_SX_C), + std::pair("SOGGA11_X_C", ExchCXX::Kernel::SOGGA11_X_C), + std::pair("PW91_X", ExchCXX::Kernel::PW91_X), + std::pair("MPW91_X", ExchCXX::Kernel::MPW91_X), + std::pair("OPTX_X", ExchCXX::Kernel::OPTX_X), + std::pair("RPBE_X", ExchCXX::Kernel::RPBE_X), + std::pair("SOGGA11_X_X", ExchCXX::Kernel::SOGGA11_X_X), + std::pair("PW86_X", ExchCXX::Kernel::PW86_X), + std::pair("wB97_XC", ExchCXX::Kernel::wB97_XC), + std::pair("wB97X_XC", ExchCXX::Kernel::wB97X_XC), + std::pair("wB97X_V_XC", ExchCXX::Kernel::wB97X_V_XC), + std::pair("wB97X_D_XC", ExchCXX::Kernel::wB97X_D_XC), + std::pair("wB97X_D3_XC", ExchCXX::Kernel::wB97X_D3_XC), + std::pair("HJS_PBE_X", ExchCXX::Kernel::HJS_PBE_X), + std::pair("wPBEh_X_default0", ExchCXX::Kernel::wPBEh_X_default0), + std::pair("SCAN_X",ExchCXX::Kernel::SCAN_X), std::pair("SCAN_C", ExchCXX::Kernel::SCAN_C), std::pair("SCANL_C", ExchCXX::Kernel::SCANL_C), @@ -194,11 +473,50 @@ static constexpr std::array string_kernal_pairs = { std::pair("M062X_C", ExchCXX::Kernel::M062X_C), std::pair("PKZB_X",ExchCXX::Kernel::PKZB_X), std::pair("PKZB_C", ExchCXX::Kernel::PKZB_C), + std::pair("TPSS_X", ExchCXX::Kernel::TPSS_X), + std::pair("revTPSS_X", ExchCXX::Kernel::revTPSS_X), + std::pair("M06_L_X", ExchCXX::Kernel::M06_L_X), + std::pair("M06_X", ExchCXX::Kernel::M06_X), + std::pair("revM06_L_X", ExchCXX::Kernel::revM06_L_X), + std::pair("M06_HF_X", ExchCXX::Kernel::M06_HF_X), + std::pair("M06_SX_X", ExchCXX::Kernel::M06_SX_X), + std::pair("M06_L_C", ExchCXX::Kernel::M06_L_C), + std::pair("M06_C", ExchCXX::Kernel::M06_C), + std::pair("revM06_L_C", ExchCXX::Kernel::revM06_L_C), + std::pair("M06_HF_C", ExchCXX::Kernel::M06_HF_C), + std::pair("M06_SX_C", ExchCXX::Kernel::M06_SX_C), + std::pair("M05_2X_C", ExchCXX::Kernel::M05_2X_C), + std::pair("M05_C", ExchCXX::Kernel::M05_C), + std::pair("M08_HX_C", ExchCXX::Kernel::M08_HX_C), + std::pair("M08_SO_C", ExchCXX::Kernel::M08_SO_C), + std::pair("CF22D_C", ExchCXX::Kernel::CF22D_C), + std::pair("M11_C", ExchCXX::Kernel::M11_C), + std::pair("MN12_L_C", ExchCXX::Kernel::MN12_L_C), + std::pair("MN12_SX_C", ExchCXX::Kernel::MN12_SX_C), + std::pair("MN15_C", ExchCXX::Kernel::MN15_C), + std::pair("MN15_L_C", ExchCXX::Kernel::MN15_L_C), + std::pair("TPSS_C", ExchCXX::Kernel::TPSS_C), + std::pair("revTPSS_C", ExchCXX::Kernel::revTPSS_C), + std::pair("RSCAN_C", ExchCXX::Kernel::RSCAN_C), + std::pair("BC95_C", ExchCXX::Kernel::BC95_C), + std::pair("mBEEF_X", ExchCXX::Kernel::mBEEF_X), + std::pair("RSCAN_X", ExchCXX::Kernel::RSCAN_X), + std::pair("BMK_X", ExchCXX::Kernel::BMK_X), + std::pair("M08_HX_X", ExchCXX::Kernel::M08_HX_X), + std::pair("M08_SO_X", ExchCXX::Kernel::M08_SO_X), + std::pair("MN12_L_X", ExchCXX::Kernel::MN12_L_X), + std::pair("MN15_L_X", ExchCXX::Kernel::MN15_L_X), + std::pair("MN15_X", ExchCXX::Kernel::MN15_X), + std::pair("CF22D_X", ExchCXX::Kernel::CF22D_X), + std::pair("MN12_SX_X", ExchCXX::Kernel::MN12_SX_X), + std::pair("M11_X", ExchCXX::Kernel::M11_X), + std::pair("M05_X", ExchCXX::Kernel::M05_X), + std::pair("M05_2X_X", ExchCXX::Kernel::M05_2X_X), + std::pair("LYP", ExchCXX::Kernel::LYP), - std::pair("B3LYP", ExchCXX::Kernel::B3LYP), - std::pair("PBE0", ExchCXX::Kernel::PBE0), std::pair("VWN3", ExchCXX::Kernel::VWN3), std::pair("VWN5", ExchCXX::Kernel::VWN5), + std::pair("VWN", ExchCXX::Kernel::VWN), std::pair("PZ81", ExchCXX::Kernel::PZ81), std::pair("PZ81_MOD", ExchCXX::Kernel::PZ81_MOD), std::pair("PW91_LDA", ExchCXX::Kernel::PW91_LDA), @@ -225,5 +543,69 @@ static constexpr std::array string_functional_pairs = { std::pair("EPC17_1", ExchCXX::Functional::EPC17_1), std::pair("EPC17_2", ExchCXX::Functional::EPC17_2), std::pair("EPC18_1", ExchCXX::Functional::EPC18_1), - std::pair("EPC18_2", ExchCXX::Functional::EPC18_2) + std::pair("EPC18_2", ExchCXX::Functional::EPC18_2), + + std::pair("B97D", ExchCXX::Functional::B97D), + std::pair("B97D3ZERO", ExchCXX::Functional::B97D3ZERO), + std::pair("CAMB3LYP", ExchCXX::Functional::CAMB3LYP), + std::pair("LDA", ExchCXX::Functional::LDA), + std::pair("M06L", ExchCXX::Functional::M06L), + std::pair("SCAN0", ExchCXX::Functional::SCAN0), + std::pair("SPW92", ExchCXX::Functional::SPW92), + std::pair("TPSS", ExchCXX::Functional::TPSS), + std::pair("TPSSH", ExchCXX::Functional::TPSSh), + std::pair("TPSS0", ExchCXX::Functional::TPSS0), + std::pair("VWN3", ExchCXX::Functional::VWN3), + std::pair("VWN5", ExchCXX::Functional::VWN5), + std::pair("LRCWPBE", ExchCXX::Functional::LRCwPBE), + std::pair("LRCWPBEH", ExchCXX::Functional::LRCwPBEh), + std::pair("BP86", ExchCXX::Functional::BP86), + std::pair("HSE03", ExchCXX::Functional::HSE03), + std::pair("HSE06", ExchCXX::Functional::HSE06), + std::pair("REVB3LYP", ExchCXX::Functional::revB3LYP), + std::pair("REVPBE0", ExchCXX::Functional::revPBE0), + std::pair("REVTPSS", ExchCXX::Functional::revTPSS), + std::pair("REVTPSSH", ExchCXX::Functional::revTPSSh), + std::pair("PW91", ExchCXX::Functional::PW91), + std::pair("MBEEF", ExchCXX::Functional::mBEEF), + std::pair("B3PW91", ExchCXX::Functional::B3PW91), + std::pair("O3LYP", ExchCXX::Functional::O3LYP), + std::pair("OLYP", ExchCXX::Functional::OLYP), + std::pair("OPBE", ExchCXX::Functional::OPBE), + std::pair("MPW1K", ExchCXX::Functional::MPW1K), + std::pair("RPBE", ExchCXX::Functional::RPBE), + std::pair("B88", ExchCXX::Functional::B88), + std::pair("MPW91", ExchCXX::Functional::MPW91), + std::pair("RSCAN", ExchCXX::Functional::RSCAN), + std::pair("TUNEDCAMB3LYP", ExchCXX::Functional::TUNEDCAMB3LYP), + std::pair("WB97", ExchCXX::Functional::wB97), + std::pair("WB97X", ExchCXX::Functional::wB97X), + std::pair("WB97XD", ExchCXX::Functional::wB97XD), + std::pair("WB97XD3", ExchCXX::Functional::wB97XD3), + std::pair("LCWPBE", ExchCXX::Functional::LCwPBE), + std::pair("X3LYP", ExchCXX::Functional::X3LYP), + std::pair("XLYP", ExchCXX::Functional::XLYP), + std::pair("BHANDH", ExchCXX::Functional::BHANDH), + std::pair("BMK", ExchCXX::Functional::BMK), + std::pair("BP86VWN", ExchCXX::Functional::BP86VWN), + std::pair("PW86B95", ExchCXX::Functional::PW86B95), + std::pair("PW86PBE", ExchCXX::Functional::PW86PBE), + std::pair("R2SCAN0", ExchCXX::Functional::R2SCAN0), + std::pair("R2SCANH", ExchCXX::Functional::R2SCANh), + std::pair("R2SCAN50", ExchCXX::Functional::R2SCAN50), + std::pair("M05", ExchCXX::Functional::M05), + std::pair("M06", ExchCXX::Functional::M06), + std::pair("M08HX", ExchCXX::Functional::M08HX), + std::pair("M08SO", ExchCXX::Functional::M08SO), + std::pair("M052X", ExchCXX::Functional::M052X), + std::pair("M06SX", ExchCXX::Functional::M06SX), + std::pair("CF22D", ExchCXX::Functional::CF22D), + std::pair("SOGGA11X", ExchCXX::Functional::SOGGA11X), + std::pair("M06HF", ExchCXX::Functional::M06HF), + std::pair("M11", ExchCXX::Functional::M11), + std::pair("MN12L", ExchCXX::Functional::MN12L), + std::pair("MN12SX", ExchCXX::Functional::MN12SX), + std::pair("MN15", ExchCXX::Functional::MN15), + std::pair("MN15L", ExchCXX::Functional::MN15L), + std::pair("REVM06L", ExchCXX::Functional::revM06L), }; diff --git a/test/xc_functional_test.cxx b/test/xc_functional_test.cxx index b0a1288..58b0e9f 100644 --- a/test/xc_functional_test.cxx +++ b/test/xc_functional_test.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -196,8 +202,6 @@ void check_meta( Backend backend, Spin polar, Args&&... args ) { bool should_be_polarized = std::any_of( kerns.begin(), kerns.end(), [](const auto& k) { return k.is_polarized(); } ); - bool should_be_hyb = std::any_of( kerns.begin(), kerns.end(), - [](const auto& k) { return k.is_hyb(); } ); bool should_need_lapl = std::any_of( kerns.begin(), kerns.end(), [](const auto& k) { return k.needs_laplacian(); } ); @@ -205,19 +209,30 @@ void check_meta( Backend backend, Spin polar, Args&&... args ) { CHECK( func.is_gga() == should_be_gga ); CHECK( func.is_lda() == should_be_lda ); CHECK( func.is_polarized() == should_be_polarized ); - CHECK( func.is_hyb() == should_be_hyb ); CHECK( func.is_epc() == should_be_epc ); CHECK( func.needs_laplacian() == should_need_lapl ); - double total_exx = std::accumulate( kerns.begin(), kerns.end(), 0., - [](const auto &a, const auto &b){ return a + b.hyb_exx(); } ); - CHECK( func.hyb_exx() == Approx( total_exx ) ); } TEST_CASE( "XC Functional Metadata", "[xc-meta]" ) { + SECTION("XCFunctional hyb_coef ref comparison") { + + for (auto pair : string_functional_pairs) { + auto func_enum = pair.second; + XCFunctional func( Backend::builtin, func_enum, Spin::Polarized ); + auto exx = load_reference_exx(func_enum); + INFO( "hyb_coef check Fails: functional is " << func_enum ); + CHECK( exx == func.hyb_exx() ); + if( exx != HybCoeffs({0.0, 0.0, 0.0})) CHECK( func.is_hyb() ); + if (exx.beta != 0.0 || exx.omega != 0.0) CHECK( func.is_range_separated() ); + } + + } + + SECTION( "LDA" ) { check_meta( Backend::libxc, Spin::Unpolarized, Kernel::SlaterExchange @@ -242,27 +257,11 @@ TEST_CASE( "XC Functional Metadata", "[xc-meta]" ) { } - SECTION( "Hyb" ) { - check_meta( Backend::libxc, Spin::Unpolarized, - Kernel::B3LYP - ); - } - SECTION( "Hyb + Hyb" ) { - check_meta( Backend::libxc, Spin::Unpolarized, - Kernel::B3LYP, Kernel::PBE0 - ); - } - SECTION( "LDA + GGA" ) { check_meta( Backend::libxc, Spin::Unpolarized, Kernel::B88, Kernel::VWN3 ); } - SECTION( "Hyb + Pure" ) { - check_meta( Backend::libxc, Spin::Unpolarized, - Kernel::B3LYP, Kernel::LYP - ); - } SECTION( "Polarized" ) { check_meta( Backend::libxc, Spin::Polarized, @@ -810,3 +809,5 @@ TEST_CASE( "functional_map Test", "[xc-functional-map]") { } } + + diff --git a/test/xc_kernel_test.cxx b/test/xc_kernel_test.cxx index 77ffa8d..cb3eb9b 100644 --- a/test/xc_kernel_test.cxx +++ b/test/xc_kernel_test.cxx @@ -1,7 +1,13 @@ /** - * ExchCXX Copyright (c) 2020-2022, The Regents of the University of California, + * ExchCXX + * + * Copyright (c) 2020-2024, The Regents of the University of California, * through Lawrence Berkeley National Laboratory (subject to receipt of - * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * any required approvals from the U.S. Dept. of Energy). + * + * Portions Copyright (c) Microsoft Corporation. + * + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -54,7 +60,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { auto lda_kernel_test = Kernel::SlaterExchange; auto gga_kernel_test = Kernel::LYP; - auto hyb_kernel_test = Kernel::B3LYP; auto mgga_tau_kernel_test = Kernel::SCAN_C; auto mgga_lapl_kernel_test = Kernel::R2SCANL_C; @@ -73,7 +78,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( not lda.is_polarized() ); CHECK( not lda.is_gga() ); CHECK( not lda.is_mgga() ); - CHECK( not lda.is_hyb() ); CHECK( not lda.needs_laplacian() ); CHECK( lda.rho_buffer_len( npts ) == npts ); @@ -86,6 +90,17 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( lda.vlapl_buffer_len( npts ) == 0 ); CHECK( lda.vtau_buffer_len( npts ) == 0 ); + CHECK( lda.v2rho2_buffer_len( npts ) == npts ); + CHECK( lda.v2rhosigma_buffer_len( npts ) == 0 ); + CHECK( lda.v2rholapl_buffer_len( npts ) == 0 ); + CHECK( lda.v2rhotau_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigma2_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigmalapl_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigmatau_buffer_len( npts ) == 0 ); + CHECK( lda.v2lapl2_buffer_len( npts ) == 0 ); + CHECK( lda.v2lapltau_buffer_len( npts ) == 0 ); + CHECK( lda.v2tau2_buffer_len( npts ) == 0 ); + } SECTION( "Pure LDA Polarized" ) { @@ -99,7 +114,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( lda.is_polarized() ); CHECK( not lda.is_gga() ); CHECK( not lda.is_mgga() ); - CHECK( not lda.is_hyb() ); CHECK( not lda.needs_laplacian() ); CHECK( lda.rho_buffer_len( npts ) == 2*npts ); @@ -112,6 +126,16 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( lda.vlapl_buffer_len( npts ) == 0 ); CHECK( lda.vtau_buffer_len( npts ) == 0 ); + CHECK( lda.v2rho2_buffer_len( npts ) == 3*npts ); + CHECK( lda.v2rhosigma_buffer_len( npts ) == 0 ); + CHECK( lda.v2rholapl_buffer_len( npts ) == 0 ); + CHECK( lda.v2rhotau_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigma2_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigmalapl_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigmatau_buffer_len( npts ) == 0 ); + CHECK( lda.v2lapl2_buffer_len( npts ) == 0 ); + CHECK( lda.v2lapltau_buffer_len( npts ) == 0 ); + CHECK( lda.v2tau2_buffer_len( npts ) == 0 ); } @@ -126,7 +150,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( not gga.is_polarized() ); CHECK( not gga.is_lda() ); CHECK( not gga.is_mgga() ); - CHECK( not gga.is_hyb() ); CHECK( not gga.needs_laplacian() ); CHECK( gga.rho_buffer_len( npts ) == npts ); @@ -139,6 +162,16 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( gga.vlapl_buffer_len( npts ) == 0 ); CHECK( gga.vtau_buffer_len( npts ) == 0 ); + CHECK( gga.v2rho2_buffer_len( npts ) == npts ); + CHECK( gga.v2rhosigma_buffer_len( npts ) == npts ); + CHECK( gga.v2rholapl_buffer_len( npts ) == 0 ); + CHECK( gga.v2rhotau_buffer_len( npts ) == 0 ); + CHECK( gga.v2sigma2_buffer_len( npts ) == npts ); + CHECK( gga.v2sigmalapl_buffer_len( npts ) == 0 ); + CHECK( gga.v2sigmatau_buffer_len( npts ) == 0 ); + CHECK( gga.v2lapl2_buffer_len( npts ) == 0 ); + CHECK( gga.v2lapltau_buffer_len( npts ) == 0 ); + CHECK( gga.v2tau2_buffer_len( npts ) == 0 ); } SECTION( "Pure GGA Polarized" ) { @@ -152,7 +185,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( gga.is_polarized() ); CHECK( not gga.is_lda() ); CHECK( not gga.is_mgga() ); - CHECK( not gga.is_hyb() ); CHECK( not gga.needs_laplacian() ); CHECK( gga.rho_buffer_len( npts ) == 2*npts ); @@ -165,6 +197,17 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( gga.vlapl_buffer_len( npts ) == 0 ); CHECK( gga.vtau_buffer_len( npts ) == 0 ); + CHECK( gga.v2rho2_buffer_len( npts ) == 3*npts ); + CHECK( gga.v2rhosigma_buffer_len( npts ) == 6*npts ); + CHECK( gga.v2rholapl_buffer_len( npts ) == 0 ); + CHECK( gga.v2rhotau_buffer_len( npts ) == 0 ); + CHECK( gga.v2sigma2_buffer_len( npts ) == 6*npts ); + CHECK( gga.v2sigmalapl_buffer_len( npts ) == 0 ); + CHECK( gga.v2sigmatau_buffer_len( npts ) == 0 ); + CHECK( gga.v2lapl2_buffer_len( npts ) == 0 ); + CHECK( gga.v2lapltau_buffer_len( npts ) == 0 ); + CHECK( gga.v2tau2_buffer_len( npts ) == 0 ); + } SECTION( "Pure MGGA-TAU Unpolarized" ) { @@ -178,7 +221,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( not mgga.is_polarized() ); CHECK( not mgga.is_lda() ); CHECK( not mgga.is_gga() ); - CHECK( not mgga.is_hyb() ); CHECK( not mgga.needs_laplacian() ); CHECK( mgga.rho_buffer_len( npts ) == npts ); @@ -191,6 +233,16 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( mgga.vlapl_buffer_len( npts ) == 0 ); CHECK( mgga.vtau_buffer_len( npts ) == npts ); + CHECK( mgga.v2rho2_buffer_len( npts ) == npts ); + CHECK( mgga.v2rhosigma_buffer_len( npts ) == npts ); + CHECK( mgga.v2rholapl_buffer_len( npts ) == 0 ); + CHECK( mgga.v2rhotau_buffer_len( npts ) == npts ); + CHECK( mgga.v2sigma2_buffer_len( npts ) == npts ); + CHECK( mgga.v2sigmalapl_buffer_len( npts ) == 0 ); + CHECK( mgga.v2sigmatau_buffer_len( npts ) == npts ); + CHECK( mgga.v2lapl2_buffer_len( npts ) == 0 ); + CHECK( mgga.v2lapltau_buffer_len( npts ) == 0 ); + CHECK( mgga.v2tau2_buffer_len( npts ) == npts ); } SECTION( "Pure MGGA-LAPL Unpolarized" ) { @@ -205,7 +257,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( not mgga.is_polarized() ); CHECK( not mgga.is_lda() ); CHECK( not mgga.is_gga() ); - CHECK( not mgga.is_hyb() ); CHECK( mgga.rho_buffer_len( npts ) == npts ); CHECK( mgga.sigma_buffer_len( npts ) == npts ); @@ -217,6 +268,16 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( mgga.vlapl_buffer_len( npts ) == npts ); CHECK( mgga.vtau_buffer_len( npts ) == npts ); + CHECK( mgga.v2rho2_buffer_len( npts ) == npts ); + CHECK( mgga.v2rhosigma_buffer_len( npts ) == npts ); + CHECK( mgga.v2rholapl_buffer_len( npts ) == npts ); + CHECK( mgga.v2rhotau_buffer_len( npts ) == npts ); + CHECK( mgga.v2sigma2_buffer_len( npts ) == npts ); + CHECK( mgga.v2sigmalapl_buffer_len( npts ) == npts ); + CHECK( mgga.v2sigmatau_buffer_len( npts ) == npts ); + CHECK( mgga.v2lapl2_buffer_len( npts ) == npts ); + CHECK( mgga.v2lapltau_buffer_len( npts ) == npts ); + CHECK( mgga.v2tau2_buffer_len( npts ) == npts ); } SECTION( "Pure MGGA-TAU Polarized" ) { @@ -230,7 +291,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( mgga.is_polarized() ); CHECK( not mgga.is_lda() ); CHECK( not mgga.is_gga() ); - CHECK( not mgga.is_hyb() ); CHECK( not mgga.needs_laplacian() ); CHECK( mgga.rho_buffer_len( npts ) == 2*npts ); @@ -243,33 +303,18 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( mgga.vlapl_buffer_len( npts ) == 0 ); CHECK( mgga.vtau_buffer_len( npts ) == 2*npts ); + CHECK( mgga.v2rho2_buffer_len( npts ) == 3*npts ); + CHECK( mgga.v2rhosigma_buffer_len( npts ) == 6*npts ); + CHECK( mgga.v2rholapl_buffer_len( npts ) == 0 ); + CHECK( mgga.v2rhotau_buffer_len( npts ) == 4*npts ); + CHECK( mgga.v2sigma2_buffer_len( npts ) == 6*npts ); + CHECK( mgga.v2sigmalapl_buffer_len( npts ) == 0 ); + CHECK( mgga.v2sigmatau_buffer_len( npts ) == 6*npts ); + CHECK( mgga.v2lapl2_buffer_len( npts ) == 0 ); + CHECK( mgga.v2lapltau_buffer_len( npts ) == 0 ); + CHECK( mgga.v2tau2_buffer_len( npts ) == 3*npts ); } - SECTION( "Pure MGGA-LAPL Unpolarized" ) { - - SECTION( "Libxc Backend" ) { backend = Backend::libxc; } - //SECTION( "Builtin Backend" ) { backend = Backend::builtin; } - - XCKernel mgga( backend, mgga_lapl_kernel_test, Spin::Unpolarized ); - - CHECK( mgga.is_mgga() ); - CHECK( mgga.needs_laplacian() ); - CHECK( not mgga.is_polarized() ); - CHECK( not mgga.is_lda() ); - CHECK( not mgga.is_gga() ); - CHECK( not mgga.is_hyb() ); - - CHECK( mgga.rho_buffer_len( npts ) == npts ); - CHECK( mgga.sigma_buffer_len( npts ) == npts ); - CHECK( mgga.lapl_buffer_len( npts ) == npts ); - CHECK( mgga.tau_buffer_len( npts ) == npts ); - CHECK( mgga.exc_buffer_len( npts ) == npts ); - CHECK( mgga.vrho_buffer_len( npts ) == npts ); - CHECK( mgga.vsigma_buffer_len( npts ) == npts ); - CHECK( mgga.vlapl_buffer_len( npts ) == npts ); - CHECK( mgga.vtau_buffer_len( npts ) == npts ); - - } SECTION( "Pure MGGA-LAPL Polarized" ) { @@ -283,7 +328,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( mgga.is_polarized() ); CHECK( not mgga.is_lda() ); CHECK( not mgga.is_gga() ); - CHECK( not mgga.is_hyb() ); CHECK( mgga.rho_buffer_len( npts ) == 2*npts ); CHECK( mgga.sigma_buffer_len( npts ) == 3*npts ); @@ -295,17 +339,19 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( mgga.vlapl_buffer_len( npts ) == 2*npts ); CHECK( mgga.vtau_buffer_len( npts ) == 2*npts ); + CHECK( mgga.v2rho2_buffer_len( npts ) == 3*npts ); + CHECK( mgga.v2rhosigma_buffer_len( npts ) == 6*npts ); + CHECK( mgga.v2rholapl_buffer_len( npts ) == 4*npts ); + CHECK( mgga.v2rhotau_buffer_len( npts ) == 4*npts ); + CHECK( mgga.v2sigma2_buffer_len( npts ) == 6*npts ); + CHECK( mgga.v2sigmalapl_buffer_len( npts ) == 6*npts ); + CHECK( mgga.v2sigmatau_buffer_len( npts ) == 6*npts ); + CHECK( mgga.v2lapl2_buffer_len( npts ) == 3*npts ); + CHECK( mgga.v2lapltau_buffer_len( npts ) == 4*npts ); + CHECK( mgga.v2tau2_buffer_len( npts ) == 3*npts ); } - SECTION( "Hybrid" ) { - - SECTION( "Libxc Backend" ) { backend = Backend::libxc; } - SECTION( "Builtin Backend" ) { backend = Backend::builtin; } - - XCKernel hyb( backend, hyb_kernel_test, Spin::Unpolarized ); - CHECK( hyb.is_hyb() ); - } SECTION( "EPC LDA Polarized" ) { @@ -318,7 +364,6 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( lda.is_polarized() ); CHECK( not lda.is_gga() ); CHECK( not lda.is_mgga() ); - CHECK( not lda.is_hyb() ); CHECK( not lda.needs_laplacian() ); CHECK( lda.rho_buffer_len( npts ) == 2*npts ); @@ -331,6 +376,16 @@ TEST_CASE( "XCKernel Metadata Validity", "[xc-kernel]" ) { CHECK( lda.vlapl_buffer_len( npts ) == 0 ); CHECK( lda.vtau_buffer_len( npts ) == 0 ); + CHECK( lda.v2rho2_buffer_len( npts ) == 3*npts ); + CHECK( lda.v2rhosigma_buffer_len( npts ) == 0 ); + CHECK( lda.v2rholapl_buffer_len( npts ) == 0 ); + CHECK( lda.v2rhotau_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigma2_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigmalapl_buffer_len( npts ) == 0 ); + CHECK( lda.v2sigmatau_buffer_len( npts ) == 0 ); + CHECK( lda.v2lapl2_buffer_len( npts ) == 0 ); + CHECK( lda.v2lapltau_buffer_len( npts ) == 0 ); + CHECK( lda.v2tau2_buffer_len( npts ) == 0 ); } } @@ -345,12 +400,8 @@ TEST_CASE( "XCKernel Metadata Correctness", "[xc-kernel]" ) { for( const auto& kern : lda_kernels ) { XCKernel func( backend, kern, Spin::Unpolarized ); - auto exx = load_reference_exx( kern ); - CHECK( func.is_lda() ); - CHECK( exx == Approx( func.hyb_exx() ) ); - if( std::abs(exx) > 0 ) CHECK( func.is_hyb() ); } } @@ -362,12 +413,7 @@ TEST_CASE( "XCKernel Metadata Correctness", "[xc-kernel]" ) { for( const auto& kern : gga_kernels ) { XCKernel func( backend, kern, Spin::Unpolarized ); - auto exx = load_reference_exx( kern ); - CHECK( func.is_gga() ); - CHECK( exx == Approx( func.hyb_exx() ) ); - - if( std::abs(exx) > 0 ) CHECK( func.is_hyb() ); } } @@ -381,12 +427,7 @@ TEST_CASE( "XCKernel Metadata Correctness", "[xc-kernel]" ) { if ( backend == Backend::builtin && kern == ExchCXX::Kernel::R2SCANL_X ) continue; if ( backend == Backend::builtin && kern == ExchCXX::Kernel::R2SCANL_C ) continue; XCKernel func( backend, kern, Spin::Unpolarized ); - auto exx = load_reference_exx( kern ); - CHECK( func.is_mgga() ); - CHECK( exx == Approx( func.hyb_exx() ) ); - - if( std::abs(exx) > 0 ) CHECK( func.is_hyb() ); } } @@ -397,13 +438,8 @@ TEST_CASE( "XCKernel Metadata Correctness", "[xc-kernel]" ) { for( const auto& kern : epc_lda_kernels ) { XCKernel func( backend, kern, Spin::Polarized ); - auto exx = load_reference_exx( kern ); - CHECK( func.is_lda() ); CHECK( func.is_epc() ); - CHECK( exx == Approx( func.hyb_exx() ) ); - - if( std::abs(exx) > 0 ) CHECK( func.is_hyb() ); } } @@ -414,9 +450,6 @@ TEST_CASE( "XCKernel Metadata Correctness", "[xc-kernel]" ) { - - - void kernel_test( TestInterface interface, Backend backend, Kernel kern, Spin polar ) { @@ -429,10 +462,23 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, const double fill_val_vs = 50.; const double fill_val_vl = 3.; const double fill_val_vt = 5.; + + const double fill_val_v2rho2 = 10.; + const double fill_val_v2rhosigma = 11.; + const double fill_val_v2rholapl = 12.; + const double fill_val_v2rhotau = 13.; + const double fill_val_v2sigma2 = 14.; + const double fill_val_v2sigmalapl = 15.; + const double fill_val_v2sigmatau = 16.; + const double fill_val_v2lapl2 = 17.; + const double fill_val_v2lapltau = 18.; + const double fill_val_v2tau2 = 19.; const bool use_ref_values = (interface != TestInterface::EXC_INC) and - (interface != TestInterface::EXC_VXC_INC); + (interface != TestInterface::EXC_VXC_INC) and + (interface != TestInterface::FXC_INC) and + (interface != TestInterface::VXC_FXC_INC); // LDA XC Kernels if( func.is_lda() ) { @@ -446,11 +492,13 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, const auto& rho = ref_vals.rho; const auto& exc_ref = ref_vals.exc; const auto& vrho_ref = ref_vals.vrho; + const auto& v2rho2_ref = ref_vals.v2rho2; // Allocate buffers std::vector exc( func.exc_buffer_len( npts ), fill_val_e ); std::vector vrho( func.vrho_buffer_len( npts ), fill_val_vr ); + std::vector v2rho2( func.v2rho2_buffer_len( npts ), fill_val_v2rho2 ); if( interface == TestInterface::EXC ) { @@ -500,6 +548,27 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, } + if( interface == TestInterface::FXC_INC ) { + // Evaluate XC kernel + func.eval_fxc_inc( alpha, npts, rho.data(), v2rho2.data() ); + // Check correctness + for( auto i = 0ul; i < func.v2rho2_buffer_len(npts); ++i ) + CHECK( v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]) ); + } + + if( interface == TestInterface::VXC_FXC_INC ) { + + // Evaluate XC kernel + func.eval_vxc_fxc_inc( alpha, npts, rho.data(), vrho.data(), v2rho2.data() ); + + // Check correctness + for( auto i = 0ul; i < func.vrho_buffer_len(npts); ++i ) + CHECK( vrho[i] == Approx(fill_val_vr + alpha * vrho_ref[i]) ); + for( auto i = 0ul; i < func.v2rho2_buffer_len(npts); ++i ) + CHECK( v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]) ); + + } + // GGA XC Kernels } else if( func.is_gga() ) { @@ -514,12 +583,19 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, const auto& exc_ref = ref_vals.exc; const auto& vrho_ref = ref_vals.vrho; const auto& vsigma_ref = ref_vals.vsigma; + const auto& v2rho2_ref = ref_vals.v2rho2; + const auto& v2rhosigma_ref = ref_vals.v2rhosigma; + const auto& v2sigam2_ref = ref_vals.v2sigma2; // Allocate buffers std::vector exc( func.exc_buffer_len( npts ), fill_val_e ); std::vector vrho( func.vrho_buffer_len( npts ), fill_val_vr ); std::vector vsigma( func.vsigma_buffer_len( npts ), fill_val_vs ); + std::vector v2rho2( func.v2rho2_buffer_len( npts ), fill_val_v2rho2 ); + std::vector v2rhosigma( func.v2rhosigma_buffer_len( npts ), fill_val_v2rhosigma ); + std::vector v2sigma2( func.v2sigma2_buffer_len( npts ), fill_val_v2sigma2 ); + if( interface == TestInterface::EXC ) { // Evaluate XC kernel @@ -574,6 +650,42 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, } + if( interface == TestInterface::FXC_INC ) { + + // Evaluate XC kernel + func.eval_fxc_inc( alpha, npts, rho.data(), sigma.data(), v2rho2.data(), + v2rhosigma.data(), v2sigma2.data() ); + + // Check correctness + for( auto i = 0ul; i < func.v2rho2_buffer_len(npts); ++i ) + CHECK( v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]) ); + for( auto i = 0ul; i < func.v2rhosigma_buffer_len(npts); ++i ) + CHECK( v2rhosigma[i] == Approx(fill_val_v2rhosigma + alpha * v2rhosigma_ref[i]) ); + for( auto i = 0ul; i < func.v2sigma2_buffer_len(npts); ++i ) + CHECK( v2sigma2[i] == Approx(fill_val_v2sigma2 + alpha * v2sigam2_ref[i]) ); + + } + + if( interface == TestInterface::VXC_FXC_INC ) { + + // Evaluate XC kernel + func.eval_vxc_fxc_inc( alpha, npts, rho.data(), sigma.data(), vrho.data(), + vsigma.data(), v2rho2.data(), v2rhosigma.data(), v2sigma2.data() ); + + // Check correctness + for( auto i = 0ul; i < func.vrho_buffer_len(npts); ++i ) + CHECK( vrho[i] == Approx(fill_val_vr + alpha * vrho_ref[i]) ); + for( auto i = 0ul; i < func.vsigma_buffer_len(npts); ++i ) + CHECK( vsigma[i] == Approx(fill_val_vs + alpha * vsigma_ref[i]) ); + for( auto i = 0ul; i < func.v2rho2_buffer_len(npts); ++i ) + CHECK( v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]) ); + for( auto i = 0ul; i < func.v2rhosigma_buffer_len(npts); ++i ) + CHECK( v2rhosigma[i] == Approx(fill_val_v2rhosigma + alpha * v2rhosigma_ref[i]) ); + for( auto i = 0ul; i < func.v2sigma2_buffer_len(npts); ++i ) + CHECK( v2sigma2[i] == Approx(fill_val_v2sigma2 + alpha * v2sigam2_ref[i]) ); + + } + } else if( func.is_mgga() ) { // Get reference values @@ -594,6 +706,17 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, const auto& vlapl_ref = ref_vals.vlapl; const auto& vtau_ref = ref_vals.vtau; + const auto& v2rho2_ref = ref_vals.v2rho2; + const auto& v2rhosigma_ref = ref_vals.v2rhosigma; + const auto& v2rholapl_ref = ref_vals.v2rholapl; + const auto& v2rhotau_ref = ref_vals.v2rhotau; + const auto& v2sigma2_ref = ref_vals.v2sigma2; + const auto& v2sigmalapl_ref = ref_vals.v2sigmalapl; + const auto& v2sigmatau_ref = ref_vals.v2sigmatau; + const auto& v2lapl2_ref = ref_vals.v2lapl2; + const auto& v2lapltau_ref = ref_vals.v2lapltau; + const auto& v2tau2_ref = ref_vals.v2tau2; + // Allocate buffers std::vector exc( func.exc_buffer_len( npts ), fill_val_e ); std::vector vrho( func.vrho_buffer_len( npts ), fill_val_vr ); @@ -601,6 +724,17 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, std::vector vlapl( func.vlapl_buffer_len( npts ), fill_val_vl ); std::vector vtau( func.vtau_buffer_len( npts ), fill_val_vt ); + std::vector v2rho2( func.v2rho2_buffer_len( npts ), fill_val_v2rho2 ); + std::vector v2rhosigma( func.v2rhosigma_buffer_len( npts ), fill_val_v2rhosigma ); + std::vector v2rholapl( func.v2rholapl_buffer_len( npts ), fill_val_v2rholapl ); + std::vector v2rhotau( func.v2rhotau_buffer_len( npts ), fill_val_v2rhotau ); + std::vector v2sigma2( func.v2sigma2_buffer_len( npts ), fill_val_v2sigma2 ); + std::vector v2sigmalapl( func.v2sigmalapl_buffer_len( npts ), fill_val_v2sigmalapl ); + std::vector v2sigmatau( func.v2sigmatau_buffer_len( npts ), fill_val_v2sigmatau ); + std::vector v2lapl2( func.v2lapl2_buffer_len( npts ), fill_val_v2lapl2 ); + std::vector v2lapltau( func.v2lapltau_buffer_len( npts ), fill_val_v2lapltau ); + std::vector v2tau2( func.v2tau2_buffer_len( npts ), fill_val_v2tau2 ); + if( interface == TestInterface::EXC ) { // Evaluate XC kernel @@ -672,6 +806,78 @@ void kernel_test( TestInterface interface, Backend backend, Kernel kern, } + if( interface == TestInterface::FXC_INC ) { + + // Evaluate XC kernel + func.eval_fxc_inc( alpha, npts, rho.data(), sigma.data(), lapl.data(), tau.data(), + v2rho2.data(), v2rhosigma.data(), v2rholapl.data(), v2rhotau.data(), + v2sigma2.data(), v2sigmalapl.data(), v2sigmatau.data(), v2lapl2.data(), + v2lapltau.data(), v2tau2.data() ); + + // Check correctness + for( auto i = 0ul; i < func.v2rho2_buffer_len(npts); ++i ) + CHECK( v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]) ); + for( auto i = 0ul; i < func.v2rhosigma_buffer_len(npts); ++i ) + CHECK( v2rhosigma[i] == Approx(fill_val_v2rhosigma + alpha * v2rhosigma_ref[i]) ); + for( auto i = 0ul; i < func.v2rholapl_buffer_len(npts); ++i ) + CHECK( v2rholapl[i] == Approx(fill_val_v2rholapl + alpha * v2rholapl_ref[i]) ); + for( auto i = 0ul; i < func.v2rhotau_buffer_len(npts); ++i ) + CHECK( v2rhotau[i] == Approx(fill_val_v2rhotau + alpha * v2rhotau_ref[i]) ); + for( auto i = 0ul; i < func.v2sigma2_buffer_len(npts); ++i ) + CHECK( v2sigma2[i] == Approx(fill_val_v2sigma2 + alpha * v2sigma2_ref[i]) ); + for( auto i = 0ul; i < func.v2sigmalapl_buffer_len(npts); ++i ) + CHECK( v2sigmalapl[i] == Approx(fill_val_v2sigmalapl + alpha * v2sigmalapl_ref[i]) ); + for( auto i = 0ul; i < func.v2sigmatau_buffer_len(npts); ++i ) + CHECK( v2sigmatau[i] == Approx(fill_val_v2sigmatau + alpha * v2sigmatau_ref[i]) ); + for( auto i = 0ul; i < func.v2lapl2_buffer_len(npts); ++i ) + CHECK( v2lapl2[i] == Approx(fill_val_v2lapl2 + alpha * v2lapl2_ref[i]) ); + for( auto i = 0ul; i < func.v2lapltau_buffer_len(npts); ++i ) + CHECK( v2lapltau[i] == Approx(fill_val_v2lapltau + alpha * v2lapltau_ref[i]) ); + for( auto i = 0ul; i < func.v2tau2_buffer_len(npts); ++i ) + CHECK( v2tau2[i] == Approx(fill_val_v2tau2 + alpha * v2tau2_ref[i]) ); + + } + + if( interface == TestInterface::VXC_FXC_INC ) { + + // Evaluate XC kernel + func.eval_vxc_fxc_inc( alpha, npts, rho.data(), sigma.data(), lapl.data(), tau.data(), + vrho.data(), vsigma.data(), vlapl.data(), vtau.data(), + v2rho2.data(), v2rhosigma.data(), v2rholapl.data(), v2rhotau.data(), + v2sigma2.data(), v2sigmalapl.data(), v2sigmatau.data(), v2lapl2.data(), + v2lapltau.data(), v2tau2.data() ); + // Check correctness + for( auto i = 0ul; i < func.vrho_buffer_len(npts); ++i ) + CHECK( vrho[i] == Approx(fill_val_vr + alpha * vrho_ref[i]) ); + for( auto i = 0ul; i < func.vsigma_buffer_len(npts); ++i ) + CHECK( vsigma[i] == Approx(fill_val_vs + alpha * vsigma_ref[i]) ); + for( auto i = 0ul; i < func.vlapl_buffer_len(npts); ++i ) + CHECK( vlapl[i] == Approx(fill_val_vl + alpha * vlapl_ref[i]) ); + for( auto i = 0ul; i < func.vtau_buffer_len(npts); ++i ) + CHECK( vtau[i] == Approx(fill_val_vt + alpha * vtau_ref[i]) ); + + for( auto i = 0ul; i < func.v2rho2_buffer_len(npts); ++i ) + CHECK( v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]) ); + for( auto i = 0ul; i < func.v2rhosigma_buffer_len(npts); ++i ) + CHECK( v2rhosigma[i] == Approx(fill_val_v2rhosigma + alpha * v2rhosigma_ref[i]) ); + for( auto i = 0ul; i < func.v2rholapl_buffer_len(npts); ++i ) + CHECK( v2rholapl[i] == Approx(fill_val_v2rholapl + alpha * v2rholapl_ref[i]) ); + for( auto i = 0ul; i < func.v2rhotau_buffer_len(npts); ++i ) + CHECK( v2rhotau[i] == Approx(fill_val_v2rhotau + alpha * v2rhotau_ref[i]) ); + for( auto i = 0ul; i < func.v2sigma2_buffer_len(npts); ++i ) + CHECK( v2sigma2[i] == Approx(fill_val_v2sigma2 + alpha * v2sigma2_ref[i]) ); + for( auto i = 0ul; i < func.v2sigmalapl_buffer_len(npts); ++i ) + CHECK( v2sigmalapl[i] == Approx(fill_val_v2sigmalapl + alpha * v2sigmalapl_ref[i]) ); + for( auto i = 0ul; i < func.v2sigmatau_buffer_len(npts); ++i ) + CHECK( v2sigmatau[i] == Approx(fill_val_v2sigmatau + alpha * v2sigmatau_ref[i]) ); + for( auto i = 0ul; i < func.v2lapl2_buffer_len(npts); ++i ) + CHECK( v2lapl2[i] == Approx(fill_val_v2lapl2 + alpha * v2lapl2_ref[i]) ); + for( auto i = 0ul; i < func.v2lapltau_buffer_len(npts); ++i ) + CHECK( v2lapltau[i] == Approx(fill_val_v2lapltau + alpha * v2lapltau_ref[i]) ); + for( auto i = 0ul; i < func.v2tau2_buffer_len(npts); ++i ) + CHECK( v2tau2[i] == Approx(fill_val_v2tau2 + alpha * v2tau2_ref[i]) ); + + } } } @@ -778,6 +984,17 @@ void compare_libxc_builtin( TestInterface interface, EvalType evaltype, const int len_sigma = func_libxc.sigma_buffer_len( npts ); const int len_lapl = func_libxc.lapl_buffer_len( npts ); const int len_tau = func_libxc.tau_buffer_len( npts ); + + const int len_v2rho2 = func_libxc.v2rho2_buffer_len( npts ); + const int len_v2rhosigma = func_libxc.v2rhosigma_buffer_len( npts ); + const int len_v2rholapl = func_libxc.v2rholapl_buffer_len( npts ); + const int len_v2rhotau = func_libxc.v2rhotau_buffer_len( npts ); + const int len_v2sigma2 = func_libxc.v2sigma2_buffer_len( npts ); + const int len_v2sigmalapl = func_libxc.v2sigmalapl_buffer_len( npts ); + const int len_v2sigmatau = func_libxc.v2sigmatau_buffer_len( npts ); + const int len_v2lapl2 = func_libxc.v2lapl2_buffer_len( npts ); + const int len_v2lapltau = func_libxc.v2lapltau_buffer_len( npts ); + const int len_v2tau2 = func_libxc.v2tau2_buffer_len( npts ); std::vector rho_small(len_rho, 1e-13); std::vector sigma_small(len_sigma, 1e-14); @@ -812,19 +1029,41 @@ void compare_libxc_builtin( TestInterface interface, EvalType evaltype, tau_use = tau_zero; } - + std::vector exc_libxc( func_builtin.exc_buffer_len(npts) ); std::vector vrho_libxc( func_builtin.vrho_buffer_len(npts) ); std::vector vsigma_libxc( func_builtin.vsigma_buffer_len(npts) ); std::vector vlapl_libxc( func_builtin.vlapl_buffer_len(npts) ); std::vector vtau_libxc( func_builtin.vtau_buffer_len(npts) ); + + std::vector v2rho2_libxc ( len_v2rho2 ); + std::vector v2rhosigma_libxc ( len_v2rhosigma ); + std::vector v2rholapl_libxc ( len_v2rholapl ); + std::vector v2rhotau_libxc ( len_v2rhotau ); + std::vector v2sigma2_libxc ( len_v2sigma2 ); + std::vector v2sigmalapl_libxc ( len_v2sigmalapl ); + std::vector v2sigmatau_libxc ( len_v2sigmatau ); + std::vector v2lapl2_libxc ( len_v2lapl2 ); + std::vector v2lapltau_libxc ( len_v2lapltau ); + std::vector v2tau2_libxc ( len_v2tau2 ); std::vector exc_builtin( func_builtin.exc_buffer_len(npts) ); std::vector vrho_builtin( func_builtin.vrho_buffer_len(npts) ); std::vector vsigma_builtin( func_builtin.vsigma_buffer_len(npts) ); std::vector vlapl_builtin( func_builtin.vlapl_buffer_len(npts) ); std::vector vtau_builtin( func_builtin.vtau_buffer_len(npts) ); + + std::vector v2rho2_builtin ( func_builtin.v2rho2_buffer_len(npts) ); + std::vector v2rhosigma_builtin ( func_builtin.v2rhosigma_buffer_len(npts) ); + std::vector v2rholapl_builtin ( func_builtin.v2rholapl_buffer_len(npts) ); + std::vector v2rhotau_builtin ( func_builtin.v2rhotau_buffer_len(npts) ); + std::vector v2sigma2_builtin ( func_builtin.v2sigma2_buffer_len(npts) ); + std::vector v2sigmalapl_builtin ( func_builtin.v2sigmalapl_buffer_len(npts) ); + std::vector v2sigmatau_builtin ( func_builtin.v2sigmatau_buffer_len(npts) ); + std::vector v2lapl2_builtin ( func_builtin.v2lapl2_buffer_len(npts) ); + std::vector v2lapltau_builtin ( func_builtin.v2lapltau_buffer_len(npts) ); + std::vector v2tau2_builtin ( func_builtin.v2tau2_buffer_len(npts) ); if( func_libxc.is_lda() ) { @@ -840,6 +1079,16 @@ void compare_libxc_builtin( TestInterface interface, EvalType evaltype, func_builtin.eval_exc_vxc( npts, rho_use.data(), exc_builtin.data(), vrho_builtin.data() ); + } else if( interface == TestInterface::FXC ) { + + func_libxc.eval_fxc( npts, rho_use.data(), v2rho2_libxc.data() ); + func_builtin.eval_fxc( npts, rho_use.data(), v2rho2_builtin.data() ); + + } else if( interface == TestInterface::VXC_FXC ) { + + func_libxc.eval_vxc_fxc( npts, rho_use.data(), vrho_libxc.data(), v2rho2_libxc.data() ); + func_builtin.eval_vxc_fxc( npts, rho_use.data(), vrho_builtin.data(), v2rho2_builtin.data() ); + } } else if( func_libxc.is_gga() ) { @@ -858,6 +1107,20 @@ void compare_libxc_builtin( TestInterface interface, EvalType evaltype, func_builtin.eval_exc_vxc( npts, rho_use.data(), sigma_use.data(), exc_builtin.data(), vrho_builtin.data(), vsigma_builtin.data() ); + } else if( interface == TestInterface::FXC ) { + + func_libxc.eval_fxc( npts, rho_use.data(), sigma_use.data(), + v2rho2_libxc.data(), v2rhosigma_libxc.data(), v2sigma2_libxc.data() ); + func_builtin.eval_fxc( npts, rho_use.data(), sigma_use.data(), + v2rho2_builtin.data(), v2rhosigma_builtin.data(), v2sigma2_builtin.data() ); + + } else if( interface == TestInterface::VXC_FXC ) { + + func_libxc.eval_vxc_fxc( npts, rho_use.data(), sigma_use.data(), vrho_libxc.data(), vsigma_libxc.data(), + v2rho2_libxc.data(), v2rhosigma_libxc.data(), v2sigma2_libxc.data() ); + func_builtin.eval_vxc_fxc( npts, rho_use.data(), sigma_use.data(), vrho_builtin.data(), vsigma_builtin.data(), + v2rho2_builtin.data(), v2rhosigma_builtin.data(), v2sigma2_builtin.data() ); + } } else if( func_libxc.is_mgga() ) { @@ -876,17 +1139,51 @@ void compare_libxc_builtin( TestInterface interface, EvalType evaltype, func_builtin.eval_exc_vxc( npts, rho_use.data(), sigma_use.data(), lapl_use.data(), tau_use.data(), exc_builtin.data(), vrho_builtin.data(), vsigma_builtin.data(), vlapl_builtin.data(), vtau_builtin.data() ); + } else if( interface == TestInterface::FXC ) { + + func_libxc.eval_fxc( npts, rho_use.data(), sigma_use.data(), + lapl_use.data(), tau_use.data(), + v2rho2_libxc.data(), v2rhosigma_libxc.data(), v2rholapl_libxc.data(), + v2rhotau_libxc.data(), v2sigma2_libxc.data(), v2sigmalapl_libxc.data(), + v2sigmatau_libxc.data(), v2lapl2_libxc.data(), v2lapltau_libxc.data(), + v2tau2_libxc.data() ); + func_builtin.eval_fxc( npts, rho_use.data(), sigma_use.data(), + lapl_use.data(), tau_use.data(), + v2rho2_builtin.data(), v2rhosigma_builtin.data(), v2rholapl_builtin.data(), + v2rhotau_builtin.data(), v2sigma2_builtin.data(), v2sigmalapl_builtin.data(), + v2sigmatau_builtin.data(), v2lapl2_builtin.data(), v2lapltau_builtin.data(), + v2tau2_builtin.data() ); + + } else if( interface == TestInterface::VXC_FXC ) { + + func_libxc.eval_vxc_fxc( npts, rho_use.data(), sigma_use.data(), + lapl_use.data(), tau_use.data(), vrho_libxc.data(), vsigma_libxc.data(), + vlapl_libxc.data(), vtau_libxc.data(), + v2rho2_libxc.data(), v2rhosigma_libxc.data(), v2rholapl_libxc.data(), + v2rhotau_libxc.data(), v2sigma2_libxc.data(), v2sigmalapl_libxc.data(), + v2sigmatau_libxc.data(), v2lapl2_libxc.data(), v2lapltau_libxc.data(), + v2tau2_libxc.data() ); + func_builtin.eval_vxc_fxc( npts, rho_use.data(), sigma_use.data(), + lapl_use.data(), tau_use.data(), vrho_builtin.data(), vsigma_builtin.data(), + vlapl_builtin.data(), vtau_builtin.data(), + v2rho2_builtin.data(), v2rhosigma_builtin.data(), v2rholapl_builtin.data(), + v2rhotau_builtin.data(), v2sigma2_builtin.data(), v2sigmalapl_builtin.data(), + v2sigmatau_builtin.data(), v2lapl2_builtin.data(), v2lapltau_builtin.data(), + v2tau2_builtin.data() ); + } } // Check correctness - for( auto i = 0ul; i < func_libxc.exc_buffer_len(npts); ++i ) { - INFO( "EXC Fails: Kernel is " << kern ); - CHECK( exc_builtin[i] == Approx(exc_libxc[i]) ); + if ( interface == TestInterface::EXC || interface == TestInterface::EXC_VXC ) { + for( auto i = 0ul; i < func_libxc.exc_buffer_len(npts); ++i ) { + INFO( "EXC Fails: Kernel is " << kern ); + CHECK( exc_builtin[i] == Approx(exc_libxc[i]) ); + } } - if( interface == TestInterface::EXC_VXC ) { + if( interface == TestInterface::EXC_VXC || interface == TestInterface::VXC_FXC ) { for( auto i = 0ul; i < func_libxc.vrho_buffer_len(npts); ++i ) { INFO( "VRHO Fails: Kernel is " << kern ); CHECK( vrho_builtin[i] == Approx(vrho_libxc[i]) ); @@ -895,6 +1192,67 @@ void compare_libxc_builtin( TestInterface interface, EvalType evaltype, INFO( "VSIGMA Fails: Kernel is " << kern ); CHECK( vsigma_builtin[i] == Approx(vsigma_libxc[i]) ); } + for( auto i = 0ul; i < func_libxc.vlapl_buffer_len(npts); ++i ) { + INFO( "VLAPL Fails: Kernel is " << kern ); + CHECK( vlapl_builtin[i] == Approx(vlapl_libxc[i]) ); + } + for( auto i = 0ul; i < func_libxc.vtau_buffer_len(npts); ++i ) { + INFO( "VTAU Fails: Kernel is " << kern ); + CHECK( vtau_builtin[i] == Approx(vtau_libxc[i]) ); + } + } + + if( interface == TestInterface::FXC || interface == TestInterface::VXC_FXC ) { + for( auto i = 0ul; i < len_v2rho2; ++i ) { + INFO( "V2RHO2 Fails: Kernel is " << kern << ", builtin = " << v2rho2_builtin[i] << ", libxc = " << v2rho2_libxc[i] ); + bool is_close = (v2rho2_builtin[i] == Approx(v2rho2_libxc[i]) || v2rho2_builtin[i] == Approx(v2rho2_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rhosigma; ++i ) { + INFO( "V2RHOSIGMA Fails: Kernel is " << kern << ", builtin = " << v2rhosigma_builtin[i] << ", libxc = " << v2rhosigma_libxc[i] ); + bool is_close = (v2rhosigma_builtin[i] == Approx(v2rhosigma_libxc[i]) || v2rhosigma_builtin[i] == Approx(v2rhosigma_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rholapl; ++i ) { + INFO( "V2RHOLAPL Fails: Kernel is " << kern << ", builtin = " << v2rholapl_builtin[i] << ", libxc = " << v2rholapl_libxc[i] ); + bool is_close = (v2rholapl_builtin[i] == Approx(v2rholapl_libxc[i]) || v2rholapl_builtin[i] == Approx(v2rholapl_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rhotau; ++i ) { + INFO( "V2RHOTAU Fails: Kernel is " << kern << ", builtin = " << v2rhotau_builtin[i] << ", libxc = " << v2rhotau_libxc[i] ); + bool is_close = (v2rhotau_builtin[i] == Approx(v2rhotau_libxc[i]) || v2rhotau_builtin[i] == Approx(v2rhotau_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigma2; ++i ) { + INFO( "V2SIGMA2 Fails: Kernel is " << kern << ", builtin = " << v2sigma2_builtin[i] << ", libxc = " << v2sigma2_libxc[i] ); + bool is_close = (v2sigma2_builtin[i] == Approx(v2sigma2_libxc[i]) || v2sigma2_builtin[i] == Approx(v2sigma2_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigmalapl; ++i ) { + INFO( "V2SIGMALAPL Fails: Kernel is " << kern << ", builtin = " << v2sigmalapl_builtin[i] << ", libxc = " << v2sigmalapl_libxc[i] ); + bool is_close = (v2sigmalapl_builtin[i] == Approx(v2sigmalapl_libxc[i]) || v2sigmalapl_builtin[i] == Approx(v2sigmalapl_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigmatau; ++i ) { + INFO( "V2SIGMATAU Fails: Kernel is " << kern << ", builtin = " << v2sigmatau_builtin[i] << ", libxc = " << v2sigmatau_libxc[i] ); + bool is_close = (v2sigmatau_builtin[i] == Approx(v2sigmatau_libxc[i]) || v2sigmatau_builtin[i] == Approx(v2sigmatau_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2lapl2; ++i ) { + INFO( "V2LAPL2 Fails: Kernel is " << kern << ", builtin = " << v2lapl2_builtin[i] << ", libxc = " << v2lapl2_libxc[i] ); + bool is_close = (v2lapl2_builtin[i] == Approx(v2lapl2_libxc[i]) || v2lapl2_builtin[i] == Approx(v2lapl2_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2lapltau; ++i ) { + INFO( "V2LAPLTAU Fails: Kernel is " << kern << ", builtin = " << v2lapltau_builtin[i] << ", libxc = " << v2lapltau_libxc[i] ); + bool is_close = (v2lapltau_builtin[i] == Approx(v2lapltau_libxc[i]) || v2lapltau_builtin[i] == Approx(v2lapltau_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2tau2; ++i ) { + INFO( "V2TAU2 Fails: Kernel is " << kern << ", builtin = " << v2tau2_builtin[i] << ", libxc = " << v2tau2_libxc[i] ); + bool is_close = (v2tau2_builtin[i] == Approx(v2tau2_libxc[i]) || v2tau2_builtin[i] == Approx(v2tau2_libxc[i]).margin(1e-12)); + CHECK( is_close ); + } } } @@ -917,10 +1275,29 @@ TEST_CASE( "Builtin Corectness Test", "[xc-builtin]" ) { } } + SECTION( "Unpolarized Regular Eval : FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::FXC, EvalType::Regular, + kern, Spin::Unpolarized ); + } + } + + SECTION( "Unpolarized Regular Eval : VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::VXC_FXC, EvalType::Regular, + kern, Spin::Unpolarized ); + } + } + SECTION( "Unpolarized Small Eval : EXC" ) { for( auto kern : builtin_supported_kernels ) { if(is_unstable_small(kern)) continue; if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::EXC, EvalType::Small, kern, Spin::Unpolarized ); } @@ -935,6 +1312,26 @@ TEST_CASE( "Builtin Corectness Test", "[xc-builtin]" ) { } } + SECTION( "Unpolarized Small Eval : FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_unstable_small(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::FXC, EvalType::Small, + kern, Spin::Unpolarized ); + } + } + + SECTION( "Unpolarized Small Eval : VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_unstable_small(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::VXC_FXC, EvalType::Small, + kern, Spin::Unpolarized ); + } + } + SECTION( "Unpolarized Zero Eval : EXC" ) { for( auto kern : builtin_supported_kernels ) { if(is_epc(kern)) continue; @@ -951,6 +1348,23 @@ TEST_CASE( "Builtin Corectness Test", "[xc-builtin]" ) { } } + SECTION( "Unpolarized Zero Eval : FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::FXC, EvalType::Zero, + kern, Spin::Unpolarized ); + } + } + + SECTION( "Unpolarized Zero Eval : VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::VXC_FXC, EvalType::Zero, + kern, Spin::Unpolarized ); + } + } @@ -972,6 +1386,24 @@ TEST_CASE( "Builtin Corectness Test", "[xc-builtin]" ) { } } + SECTION( "Polarized Regular Eval : FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::FXC, EvalType::Regular, + kern, Spin::Polarized ); + } + } + + SECTION( "Polarized Regular Eval : VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::VXC_FXC, EvalType::Regular, + kern, Spin::Polarized ); + } + } + SECTION( "Polarized Small Eval : EXC" ) { for( auto kern : builtin_supported_kernels ) { if(is_unstable_small(kern)) continue; @@ -990,6 +1422,28 @@ TEST_CASE( "Builtin Corectness Test", "[xc-builtin]" ) { } } + SECTION( "Polarized Small Eval : FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_unstable_small(kern)) continue; + if(is_unstable_small_polarized_fxc_exchange_due_to_libxc_bug(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::FXC, EvalType::Small, + kern, Spin::Polarized ); + } + } + + SECTION( "Polarized Small Eval : VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_unstable_small(kern)) continue; + if(is_unstable_small_polarized_fxc_exchange_due_to_libxc_bug(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::VXC_FXC, EvalType::Small, + kern, Spin::Polarized ); + } + } + SECTION( "Polarized Zero Eval : EXC" ) { for( auto kern : builtin_supported_kernels ) { if(is_epc(kern)) continue; @@ -1006,6 +1460,23 @@ TEST_CASE( "Builtin Corectness Test", "[xc-builtin]" ) { } } + SECTION( "Polarized Zero Eval : FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::FXC, EvalType::Zero, + kern, Spin::Polarized ); + } + } + + SECTION( "Polarized Zero Eval : VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + compare_libxc_builtin( TestInterface::VXC_FXC, EvalType::Zero, + kern, Spin::Polarized ); + } + } } @@ -1027,6 +1498,24 @@ TEST_CASE( "Scale and Increment Interface", "[xc-inc]" ) { } } + SECTION( "Builtin Unpolarized FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + kernel_test( TestInterface::FXC_INC, Backend::builtin, kern, + Spin::Unpolarized ); + } + } + + SECTION( "Builtin Unpolarized VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + if(is_epc(kern)) continue; + kernel_test( TestInterface::VXC_FXC_INC, Backend::builtin, kern, + Spin::Unpolarized ); + } + } + SECTION( "Builtin Polarized EXC" ) { for( auto kern : builtin_supported_kernels ) kernel_test( TestInterface::EXC_INC, Backend::builtin, kern, @@ -1038,6 +1527,23 @@ TEST_CASE( "Scale and Increment Interface", "[xc-inc]" ) { kernel_test( TestInterface::EXC_VXC_INC, Backend::builtin, kern, Spin::Polarized ); } + + SECTION( "Builtin Polarized FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + kernel_test( TestInterface::FXC_INC, Backend::builtin, kern, + Spin::Polarized ); + } + } + + SECTION( "Builtin Polarized VXC + FXC" ) { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + kernel_test( TestInterface::VXC_FXC_INC, Backend::builtin, kern, + Spin::Polarized ); + } + } + } TEST_CASE( "kernel_map Test", "[xc-kernel-map]") { @@ -1131,7 +1637,7 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, REQUIRE( npts_lda == npts_mgga ); REQUIRE( npts_lda == npts_lapl ); - const int npts = npts_lda; + const int npts = 1;//npts_lda; if (polar == Spin::Unpolarized && !supports_unpolarized(kern)){ CHECK_THROWS( XCKernel( backend, kern, polar ) ); @@ -1149,6 +1655,16 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, size_t len_vlapl_buffer = func.vlapl_buffer_len(npts); size_t len_vtau_buffer = func.vtau_buffer_len(npts); + size_t len_v2rho2 = func.v2rho2_buffer_len(npts); + size_t len_v2rhosigma = func.v2rhosigma_buffer_len(npts); + size_t len_v2rholapl = func.v2rholapl_buffer_len(npts); + size_t len_v2rhotau = func.v2rhotau_buffer_len(npts); + size_t len_v2sigma2 = func.v2sigma2_buffer_len(npts); + size_t len_v2sigmalapl = func.v2sigmalapl_buffer_len(npts); + size_t len_v2sigmatau = func.v2sigmatau_buffer_len(npts); + size_t len_v2lapl2 = func.v2lapl2_buffer_len(npts); + size_t len_v2lapltau = func.v2lapltau_buffer_len(npts); + size_t len_v2tau2 = func.v2tau2_buffer_len(npts); std::vector rho_small(len_rho_buffer, 1e-13); std::vector sigma_small(len_sigma_buffer, 1e-14); @@ -1191,6 +1707,18 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, vlapl_ref( len_vlapl_buffer ), vtau_ref( len_vtau_buffer ); + std::vector + v2rho2_ref( len_v2rho2 ), + v2rhosigma_ref( len_v2rhosigma ), + v2rholapl_ref( len_v2rholapl ), + v2rhotau_ref( len_v2rhotau ), + v2sigma2_ref( len_v2sigma2 ), + v2sigmalapl_ref( len_v2sigmalapl ), + v2sigmatau_ref( len_v2sigmatau ), + v2lapl2_ref( len_v2lapl2 ), + v2lapltau_ref( len_v2lapltau ), + v2tau2_ref( len_v2tau2 ); + if( interface == TestInterface::EXC or interface == TestInterface::EXC_INC ) { if( func.is_lda() ) @@ -1211,6 +1739,33 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, func.eval_exc_vxc( npts, rho.data(), sigma.data(), lapl.data(), tau.data(), exc_ref.data(), vrho_ref.data(), vsigma_ref.data(), vlapl_ref.data(), vtau_ref.data() ); + } else if( interface == TestInterface::FXC or interface == TestInterface::FXC_INC ) { + + if( func.is_lda() ) + func.eval_fxc( npts, rho.data(), v2rho2_ref.data() ); + else if( func.is_gga() ) + func.eval_fxc( npts, rho.data(), sigma.data(), v2rho2_ref.data(), + v2rhosigma_ref.data(), v2sigma2_ref.data() ); + else if( func.is_mgga() ) + func.eval_fxc( npts, rho.data(), sigma.data(), lapl.data(), tau.data(), + v2rho2_ref.data(), v2rhosigma_ref.data(), v2rholapl_ref.data(), + v2rhotau_ref.data(), v2sigma2_ref.data(), v2sigmalapl_ref.data(), + v2sigmatau_ref.data(), v2lapl2_ref.data(), v2lapltau_ref.data(), + v2tau2_ref.data() ); + } else if( interface == TestInterface::VXC_FXC or interface == TestInterface::VXC_FXC_INC ) { + if( func.is_lda() ) + func.eval_vxc_fxc( npts, rho.data(), vrho_ref.data(), v2rho2_ref.data() ); + else if( func.is_gga() ) + func.eval_vxc_fxc( npts, rho.data(), sigma.data(), vrho_ref.data(), + vsigma_ref.data(), v2rho2_ref.data(), v2rhosigma_ref.data(), + v2sigma2_ref.data() ); + else if( func.is_mgga() ) + func.eval_vxc_fxc( npts, rho.data(), sigma.data(), lapl.data(), tau.data(), + vrho_ref.data(), vsigma_ref.data(), vlapl_ref.data(), vtau_ref.data(), + v2rho2_ref.data(), v2rhosigma_ref.data(), v2rholapl_ref.data(), + v2rhotau_ref.data(), v2sigma2_ref.data(), v2sigmalapl_ref.data(), + v2sigmatau_ref.data(), v2lapl2_ref.data(), v2lapltau_ref.data(), + v2tau2_ref.data() ); } @@ -1218,6 +1773,7 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, + // Allocate device memory double* rho_device = safe_cuda_malloc( len_rho_buffer ); double* sigma_device = safe_cuda_malloc( len_sigma_buffer ); @@ -1229,6 +1785,17 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, double* vlapl_device = safe_cuda_malloc( len_vlapl_buffer ); double* vtau_device = safe_cuda_malloc( len_vtau_buffer ); + double* v2rho2_device = safe_cuda_malloc( len_v2rho2 ); + double* v2rhosigma_device = safe_cuda_malloc( len_v2rhosigma ); + double* v2rholapl_device = safe_cuda_malloc( len_v2rholapl ); + double* v2rhotau_device = safe_cuda_malloc( len_v2rhotau ); + double* v2sigma2_device = safe_cuda_malloc( len_v2sigma2 ); + double* v2sigmalapl_device = safe_cuda_malloc( len_v2sigmalapl ); + double* v2sigmatau_device = safe_cuda_malloc( len_v2sigmatau ); + double* v2lapl2_device = safe_cuda_malloc( len_v2lapl2 ); + double* v2lapltau_device = safe_cuda_malloc( len_v2lapltau ); + double* v2tau2_device = safe_cuda_malloc( len_v2tau2 ); + // H2D Copy of rho / sigma safe_cuda_cpy( rho_device, rho.data(), len_rho_buffer ); if( func.is_gga() or func.is_mgga() ) @@ -1239,27 +1806,62 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, safe_cuda_cpy( lapl_device, lapl.data(), len_lapl_buffer ); const double alpha = 3.14; - const double fill_val_e = 2.; - const double fill_val_vr = 10.; - const double fill_val_vs = 50.; - const double fill_val_vl = 20.; - const double fill_val_vt = 30.; + const double fill_val_e = 0.1; + const double fill_val_vr = 1.; + const double fill_val_vs = 2.; + const double fill_val_vl = 3.; + const double fill_val_vt = 4.; + const double fill_val_v2rho2 = 10.; + const double fill_val_v2rhosigma = 11.; + const double fill_val_v2rholapl = 12.; + const double fill_val_v2rhotau = 13.; + const double fill_val_v2sigma2 = 14.; + const double fill_val_v2sigmalapl = 15.; + const double fill_val_v2sigmatau = 16.; + const double fill_val_v2lapl2 = 17.; + const double fill_val_v2lapltau = 18.; + const double fill_val_v2tau2 = 19.; std::vector exc( len_exc_buffer, fill_val_e ), vrho( len_vrho_buffer, fill_val_vr ), vsigma( len_vsigma_buffer, fill_val_vs ), vlapl(len_vlapl_buffer, fill_val_vl), vtau(len_vtau_buffer, fill_val_vt); + std::vector + v2rho2( len_v2rho2, fill_val_v2rho2 ), + v2rhosigma( len_v2rhosigma, fill_val_v2rhosigma ), + v2rholapl( len_v2rholapl, fill_val_v2rholapl ), + v2rhotau( len_v2rhotau, fill_val_v2rhotau ), + v2sigma2( len_v2sigma2, fill_val_v2sigma2 ), + v2sigmalapl( len_v2sigmalapl, fill_val_v2sigmalapl ), + v2sigmatau( len_v2sigmatau, fill_val_v2sigmatau ), + v2lapl2( len_v2lapl2, fill_val_v2lapl2 ), + v2lapltau( len_v2lapltau, fill_val_v2lapltau ), + v2tau2( len_v2tau2, fill_val_v2tau2 ); // H2D copy of initial values, tests clobber / increment safe_cuda_cpy( exc_device, exc.data(), len_exc_buffer ); safe_cuda_cpy( vrho_device, vrho.data(), len_vrho_buffer ); - if( func.is_gga() or func.is_mgga() ) + safe_cuda_cpy( v2rho2_device, v2rho2.data(), len_v2rho2 ); + if( func.is_gga() or func.is_mgga() ){ safe_cuda_cpy( vsigma_device, vsigma.data(), len_vsigma_buffer ); - if( func.is_mgga() ) + safe_cuda_cpy( v2rhosigma_device, v2rhosigma.data(), len_v2rhosigma ); + safe_cuda_cpy( v2sigma2_device, v2sigma2.data(), len_v2sigma2 ); + } + if( func.is_mgga() ){ safe_cuda_cpy( vtau_device, vtau.data(), len_vtau_buffer ); - if( func.needs_laplacian() ) + safe_cuda_cpy( v2rhotau_device, v2rhotau.data(), len_v2rhotau ); + safe_cuda_cpy( v2sigmatau_device, v2sigmatau.data(), len_v2sigmatau ); + safe_cuda_cpy( v2tau2_device, v2tau2.data(), len_v2tau2 ); + } + if( func.needs_laplacian() ){ safe_cuda_cpy( vlapl_device, vlapl.data(), len_vlapl_buffer ); + safe_cuda_cpy( v2rholapl_device, v2rholapl.data(), len_v2rholapl ); + safe_cuda_cpy( v2sigmalapl_device, v2sigmalapl.data(), len_v2sigmalapl ); + safe_cuda_cpy( v2lapl2_device, v2lapl2.data(), len_v2lapl2 ); + safe_cuda_cpy( v2lapltau_device, v2lapltau.data(), len_v2lapltau ); + } + // Evaluate functional on device cudaStream_t stream = 0; if( interface == TestInterface::EXC ) { @@ -1308,6 +1910,59 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, lapl_device, tau_device, exc_device, vrho_device, vsigma_device, vlapl_device, vtau_device, stream ); + } else if( interface == TestInterface::FXC ) { + + if( func.is_lda() ) + func.eval_fxc_device( npts, rho_device, v2rho2_device, stream ); + else if( func.is_gga() ) + func.eval_fxc_device( npts, rho_device, sigma_device, v2rho2_device, + v2rhosigma_device, v2sigma2_device, stream ); + else if( func.is_mgga() ) + func.eval_fxc_device( npts, rho_device, sigma_device, lapl_device, tau_device, + v2rho2_device, v2rhosigma_device, v2rholapl_device, v2rhotau_device, + v2sigma2_device, v2sigmalapl_device, v2sigmatau_device, + v2lapl2_device, v2lapltau_device, v2tau2_device, stream ); + } else if( interface == TestInterface::FXC_INC ) { + if( func.is_lda() ) + func.eval_fxc_inc_device( alpha, npts, rho_device, v2rho2_device, stream ); + else if( func.is_gga() ) + func.eval_fxc_inc_device( alpha, npts, rho_device, sigma_device, + v2rho2_device, v2rhosigma_device, v2sigma2_device, stream ); + else if( func.is_mgga() ) + func.eval_fxc_inc_device( alpha, npts, rho_device, sigma_device, + lapl_device, tau_device, v2rho2_device, v2rhosigma_device, + v2rholapl_device, v2rhotau_device, v2sigma2_device, + v2sigmalapl_device, v2sigmatau_device, v2lapl2_device, + v2lapltau_device, v2tau2_device, stream ); + } else if( interface == TestInterface::VXC_FXC ) { + + if( func.is_lda() ) + func.eval_vxc_fxc_device( npts, rho_device, vrho_device, v2rho2_device, stream ); + else if( func.is_gga() ) + func.eval_vxc_fxc_device( npts, rho_device, sigma_device, vrho_device, + vsigma_device, v2rho2_device, v2rhosigma_device, v2sigma2_device, stream ); + else if( func.is_mgga() ) + func.eval_vxc_fxc_device( npts, rho_device, sigma_device, lapl_device, tau_device, + vrho_device, vsigma_device, vlapl_device, vtau_device, + v2rho2_device, v2rhosigma_device, v2rholapl_device, + v2rhotau_device, v2sigma2_device, v2sigmalapl_device, + v2sigmatau_device, v2lapl2_device, v2lapltau_device, + v2tau2_device, stream ); + } else if( interface == TestInterface::VXC_FXC_INC ) { + if( func.is_lda() ) + func.eval_vxc_fxc_inc_device( alpha, npts, rho_device, vrho_device, + v2rho2_device, stream ); + else if( func.is_gga() ) + func.eval_vxc_fxc_inc_device( alpha, npts, rho_device, sigma_device, + vrho_device, vsigma_device, v2rho2_device, v2rhosigma_device, + v2sigma2_device, stream ); + else if( func.is_mgga() ) + func.eval_vxc_fxc_inc_device( alpha, npts, rho_device, sigma_device, + lapl_device, tau_device, vrho_device, vsigma_device, + vlapl_device, vtau_device, v2rho2_device, v2rhosigma_device, + v2rholapl_device, v2rhotau_device, v2sigma2_device, + v2sigmalapl_device, v2sigmatau_device, v2lapl2_device, + v2lapltau_device, v2tau2_device, stream ); } device_synchronize(); @@ -1315,23 +1970,36 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, // D2H of results safe_cuda_cpy( exc.data(), exc_device, len_exc_buffer ); safe_cuda_cpy( vrho.data(), vrho_device, len_vrho_buffer ); - if( func.is_gga() or func.is_mgga() ) + safe_cuda_cpy( v2rho2.data(), v2rho2_device, len_v2rho2 ); + if( func.is_gga() or func.is_mgga() ){ safe_cuda_cpy( vsigma.data(), vsigma_device, len_vsigma_buffer ); - if(func.is_mgga()) + safe_cuda_cpy( v2rhosigma.data(), v2rhosigma_device, len_v2rhosigma ); + safe_cuda_cpy( v2sigma2.data(), v2sigma2_device, len_v2sigma2 ); + } + if( func.is_mgga() ){ safe_cuda_cpy( vtau.data(), vtau_device, len_vtau_buffer ); - if(func.needs_laplacian()) + safe_cuda_cpy( v2rhotau.data(), v2rhotau_device, len_v2rhotau ); + safe_cuda_cpy( v2sigmatau.data(), v2sigmatau_device, len_v2sigmatau ); + safe_cuda_cpy( v2tau2.data(), v2tau2_device, len_v2tau2 ); + } + if( func.needs_laplacian() ){ safe_cuda_cpy( vlapl.data(), vlapl_device, len_vlapl_buffer ); + safe_cuda_cpy( v2rholapl.data(), v2rholapl_device, len_v2rholapl ); + safe_cuda_cpy( v2sigmalapl.data(), v2sigmalapl_device, len_v2sigmalapl ); + safe_cuda_cpy( v2lapl2.data(), v2lapl2_device, len_v2lapl2 ); + safe_cuda_cpy( v2lapltau.data(), v2lapltau_device, len_v2lapltau ); + } // Check correctness if( interface == TestInterface::EXC_INC or interface == TestInterface::EXC_VXC_INC ) { for( auto i = 0ul; i < len_exc_buffer; ++i ) CHECK( exc[i] == Approx(fill_val_e + alpha * exc_ref[i]) ); - } else { + } else if( interface == TestInterface::EXC or interface == TestInterface::EXC_VXC ) { for( auto i = 0ul; i < len_exc_buffer; ++i ) CHECK( exc[i] == Approx(exc_ref[i]) ); } - if( interface == TestInterface::EXC_VXC_INC ) { + if( interface == TestInterface::EXC_VXC_INC or interface == TestInterface::VXC_FXC_INC ) { for( auto i = 0ul; i < len_vrho_buffer; ++i ) CHECK( vrho[i] == Approx(fill_val_vr + alpha * vrho_ref[i]) ); @@ -1342,13 +2010,16 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, for( auto i = 0ul; i < len_vtau_buffer; ++i ) CHECK( vtau[i] == Approx(fill_val_vt + alpha * vtau_ref[i]) ); - } else if(interface == TestInterface::EXC_VXC) { + } else if(interface == TestInterface::EXC_VXC or interface == TestInterface::VXC_FXC) { - for( auto i = 0ul; i < len_vrho_buffer; ++i ) + for( auto i = 0ul; i < len_vrho_buffer; ++i ){ + INFO( "Kernel is " << kern ); CHECK( vrho[i] == Approx(vrho_ref[i]) ); + } for( auto i = 0ul; i < len_vsigma_buffer; ++i ) { - INFO( "Kernel is " << kern ); - CHECK( vsigma[i] == Approx(vsigma_ref[i]) ); + INFO( "vsigma Fails: Kernel is " << kern << ", builtin device = " << vsigma[i] << ", builtin = " << vsigma_ref[i] ); + bool is_close = (vsigma[i] == Approx(vsigma_ref[i]) || vsigma[i] == Approx(vsigma_ref[i]).margin(1e-13)); + CHECK( is_close ); } for( auto i = 0ul; i < len_vlapl_buffer; ++i ) { INFO( "Kernel is " << kern ); @@ -1361,8 +2032,116 @@ void test_cuda_hip_interface( TestInterface interface, EvalType evaltype, } + if( interface == TestInterface::FXC or interface == TestInterface::VXC_FXC ) { + for( auto i = 0ul; i < len_v2rho2; ++i ) { + INFO( "V2RHO2 Fails: Kernel is " << kern << ", builtin device = " << v2rho2[i] << ", builtin = " << v2rho2_ref[i] ); + bool is_close = (v2rho2[i] == Approx(v2rho2_ref[i]) || v2rho2[i] == Approx(v2rho2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rhosigma; ++i ) { + INFO( "V2RHOSIGMA Fails: Kernel is " << kern << ", builtin device = " << v2rhosigma[i] << ", builtin = " << v2rhosigma_ref[i] ); + bool is_close = (v2rhosigma[i] == Approx(v2rhosigma_ref[i]) || v2rhosigma[i] == Approx(v2rhosigma_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rholapl; ++i ) { + INFO( "V2RHOLAPL Fails: Kernel is " << kern << ", builtin device = " << v2rholapl[i] << ", builtin = " << v2rholapl_ref[i] ); + bool is_close = (v2rholapl[i] == Approx(v2rholapl_ref[i]) || v2rholapl[i] == Approx(v2rholapl_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rhotau; ++i ) { + INFO( "V2RHOTAU Fails: Kernel is " << kern << ", builtin device = " << v2rhotau[i] << ", builtin = " << v2rhotau_ref[i] ); + bool is_close = (v2rhotau[i] == Approx(v2rhotau_ref[i]) || v2rhotau[i] == Approx(v2rhotau_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigma2; ++i ) { + INFO( "V2SIGMA2 Fails: Kernel is " << kern << ", builtin device = " << v2sigma2[i] << ", builtin = " << v2sigma2_ref[i] ); + bool is_close = (v2sigma2[i] == Approx(v2sigma2_ref[i]) || v2sigma2[i] == Approx(v2sigma2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigmalapl; ++i ) { + INFO( "V2SIGMALAPL Fails: Kernel is " << kern << ", builtin device = " << v2sigmalapl[i] << ", builtin = " << v2sigmalapl_ref[i] ); + bool is_close = (v2sigmalapl[i] == Approx(v2sigmalapl_ref[i]) || v2sigmalapl[i] == Approx(v2sigmalapl_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigmatau; ++i ) { + INFO( "V2SIGMATAU Fails: Kernel is " << kern << ", builtin device = " << v2sigmatau[i] << ", builtin = " << v2sigmatau_ref[i] ); + bool is_close = (v2sigmatau[i] == Approx(v2sigmatau_ref[i]) || v2sigmatau[i] == Approx(v2sigmatau_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2lapl2; ++i ) { + INFO( "V2LAPL2 Fails: Kernel is " << kern << ", builtin device = " << v2lapl2[i] << ", builtin = " << v2lapl2_ref[i] ); + bool is_close = (v2lapl2[i] == Approx(v2lapl2_ref[i]) || v2lapl2[i] == Approx(v2lapl2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2lapltau; ++i ) { + INFO( "V2LAPLTAU Fails: Kernel is " << kern << ", builtin device = " << v2lapltau[i] << ", builtin = " << v2lapltau_ref[i] ); + bool is_close = (v2lapltau[i] == Approx(v2lapltau_ref[i]) || v2lapltau[i] == Approx(v2lapltau_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2tau2; ++i ) { + INFO( "V2TAU2 Fails: Kernel is " << kern << ", builtin device = " << v2tau2[i] << ", builtin = " << v2tau2_ref[i] ); + bool is_close = (v2tau2[i] == Approx(v2tau2_ref[i]) || v2tau2[i] == Approx(v2tau2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + } else if( interface == TestInterface::FXC_INC or interface == TestInterface::VXC_FXC_INC ) { + for( auto i = 0ul; i < len_v2rho2; ++i ) { + INFO( "V2RHO2 Fails: Kernel is " << kern << ", builtin device = " << v2rho2[i] << ", builtin = " << v2rho2_ref[i] ); + bool is_close = (v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]) || v2rho2[i] == Approx(fill_val_v2rho2 + alpha * v2rho2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rhosigma; ++i ) { + INFO( "V2RHOSIGMA Fails: Kernel is " << kern << ", builtin device = " << v2rhosigma[i] << ", builtin = " << v2rhosigma_ref[i] ); + bool is_close = (v2rhosigma[i] == Approx(fill_val_v2rhosigma + alpha * v2rhosigma_ref[i]) || v2rhosigma[i] == Approx(fill_val_v2rhosigma + alpha * v2rhosigma_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rholapl; ++i ) { + INFO( "V2RHOLAPL Fails: Kernel is " << kern << ", builtin device = " << v2rholapl[i] << ", builtin = " << v2rholapl_ref[i] ); + bool is_close = (v2rholapl[i] == Approx(fill_val_v2rholapl + alpha * v2rholapl_ref[i]) || v2rholapl[i] == Approx(fill_val_v2rholapl + alpha * v2rholapl_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2rhotau; ++i ) { + INFO( "V2RHOTAU Fails: Kernel is " << kern << ", builtin device = " << v2rhotau[i] << ", builtin = " << v2rhotau_ref[i] ); + bool is_close = (v2rhotau[i] == Approx(fill_val_v2rhotau + alpha * v2rhotau_ref[i]) || v2rhotau[i] == Approx(fill_val_v2rhotau + alpha * v2rhotau_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigma2; ++i ) { + INFO( "V2SIGMA2 Fails: Kernel is " << kern << ", builtin device = " << v2sigma2[i] << ", builtin = " << v2sigma2_ref[i] ); + bool is_close = (v2sigma2[i] == Approx(fill_val_v2sigma2 + alpha * v2sigma2_ref[i]) || v2sigma2[i] == Approx(fill_val_v2sigma2 + alpha * v2sigma2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigmalapl; ++i ) { + INFO( "V2SIGMALAPL Fails: Kernel is " << kern << ", builtin device = " << v2sigmalapl[i] << ", builtin = " << v2sigmalapl_ref[i] ); + bool is_close = (v2sigmalapl[i] == Approx(fill_val_v2sigmalapl + alpha * v2sigmalapl_ref[i]) || v2sigmalapl[i] == Approx(fill_val_v2sigmalapl + alpha * v2sigmalapl_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2sigmatau; ++i ) { + INFO( "V2SIGMATAU Fails: Kernel is " << kern << ", builtin device = " << v2sigmatau[i] << ", builtin = " << v2sigmatau_ref[i] ); + bool is_close = (v2sigmatau[i] == Approx(fill_val_v2sigmatau + alpha * v2sigmatau_ref[i]) || v2sigmatau[i] == Approx(fill_val_v2sigmatau + alpha * v2sigmatau_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2lapl2; ++i ) { + INFO( "V2LAPL2 Fails: Kernel is " << kern << ", builtin device = " << v2lapl2[i] << ", builtin = " << v2lapl2_ref[i] ); + bool is_close = (v2lapl2[i] == Approx(fill_val_v2lapl2 + alpha * v2lapl2_ref[i]) || v2lapl2[i] == Approx(fill_val_v2lapl2 + alpha * v2lapl2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2lapltau; ++i ) { + INFO( "V2LAPLTAU Fails: Kernel is " << kern << ", builtin device = " << v2lapltau[i] << ", builtin = " << v2lapltau_ref[i] ); + bool is_close = (v2lapltau[i] == Approx(fill_val_v2lapltau + alpha * v2lapltau_ref[i]) || v2lapltau[i] == Approx(fill_val_v2lapltau + alpha * v2lapltau_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + for( auto i = 0ul; i < len_v2tau2; ++i ) { + INFO( "V2TAU2 Fails: Kernel is " << kern << ", builtin device = " << v2tau2[i] << ", builtin = " << v2tau2_ref[i] ); + bool is_close = (v2tau2[i] == Approx(fill_val_v2tau2 + alpha * v2tau2_ref[i]) || v2tau2[i] == Approx(fill_val_v2tau2 + alpha * v2tau2_ref[i]).margin(1e-11)); + CHECK( is_close ); + } + } + // Free device memory cuda_free_all( rho_device, sigma_device, exc_device, vrho_device, vsigma_device, lapl_device, tau_device, - vlapl_device, vtau_device ); + vlapl_device, vtau_device, + v2rho2_device, v2rhosigma_device, v2rholapl_device, v2rhotau_device, + v2sigma2_device, v2sigmalapl_device, v2sigmatau_device, + v2lapl2_device, v2lapltau_device, v2tau2_device ); + } @@ -1371,29 +2150,61 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { SECTION( "Libxc Functionals" ) { + SECTION( "LDA Functionals: EXC Regular Eval Unpolarized" ) { for( auto kern : lda_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Regular, Backend::libxc, kern, Spin::Unpolarized ); } - SECTION( "LDA Functionals: EXC + VXC Regular Eval Unpolarized" ) { for( auto kern : lda_kernels ) test_cuda_hip_interface( TestInterface::EXC_VXC, EvalType::Regular, Backend::libxc, kern, Spin::Unpolarized ); } - SECTION( "GGA Functionals: EXC Regular Eval Unpolarized" ) { - for( auto kern : gga_kernels ) - test_cuda_hip_interface( TestInterface::EXC, EvalType::Regular, + SECTION( "LDA Functionals: FXC Regular Eval Unpolarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, Backend::libxc, kern, Spin::Unpolarized ); + } } - SECTION( "GGA Functionals: EXC + VXC Regular Eval Unpolarized" ) { - for( auto kern : gga_kernels ) - test_cuda_hip_interface( TestInterface::EXC_VXC, EvalType::Regular, + SECTION( "LDA Functionals: VXC + FXC Regular Eval Unpolarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "GGA Functionals: EXC Regular Eval Unpolarized" ) { + for( auto kern : gga_kernels ) + test_cuda_hip_interface( TestInterface::EXC, EvalType::Regular, + Backend::libxc, kern, Spin::Unpolarized ); + } + + SECTION( "GGA Functionals: EXC + VXC Regular Eval Unpolarized" ) { + for( auto kern : gga_kernels ) + test_cuda_hip_interface( TestInterface::EXC_VXC, EvalType::Regular, + Backend::libxc, kern, Spin::Unpolarized ); + } + + SECTION( "GGA Functionals: FXC Regular Eval Unpolarized" ) { + for( auto kern : gga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "GGA Functionals: VXC + FXC Regular Eval Unpolarized" ) { + for( auto kern : gga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Unpolarized ); + } } SECTION( "MGGA Functionals: EXC Regular Eval Unpolarized" ) { @@ -1408,6 +2219,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Unpolarized ); } + SECTION( "MGGA Functionals: FXC Regular Eval Unpolarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "MGGA Functionals: VXC + FXC Regular Eval Unpolarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + + SECTION( "LDA Functionals: EXC Small Eval Unpolarized" ) { for( auto kern : lda_kernels ) { if(is_unstable_small(kern)) continue; @@ -1416,7 +2245,6 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } - SECTION( "LDA Functionals: EXC + VXC Small Eval Unpolarized" ) { for( auto kern : lda_kernels ){ if(is_unstable_small(kern)) continue; @@ -1425,6 +2253,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION( "LDA Functionals: FXC Small Eval Unpolarized" ) { + for( auto kern : lda_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "LDA Functionals: VXC + FXC Small Eval Unpolarized" ) { + for( auto kern : lda_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + SECTION( "GGA Functionals: EXC Small Eval Unpolarized" ) { for( auto kern : gga_kernels ){ if(is_unstable_small(kern)) continue; @@ -1441,6 +2287,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION( "GGA Functionals: FXC Small Eval Unpolarized" ) { + for( auto kern : gga_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "GGA Functionals: VXC + FXC Small Eval Unpolarized" ) { + for( auto kern : gga_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + SECTION( "MGGA Functionals: EXC Small Eval Unpolarized" ) { for( auto kern : mgga_kernels ){ if(is_unstable_small(kern)) continue; @@ -1457,19 +2321,52 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION( "MGGA Functionals: FXC Small Eval Unpolarized" ) { + for( auto kern : mgga_kernels ) { + if(is_unstable_small(kern)) continue; + + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "MGGA Functionals: VXC + FXC Small Eval Unpolarized" ) { + for( auto kern : mgga_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + SECTION( "LDA Functionals: EXC Zero Eval Unpolarized" ) { for( auto kern : lda_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, Backend::libxc, kern, Spin::Unpolarized ); } - SECTION( "LDA Functionals: EXC + VXC Zero Eval Unpolarized" ) { for( auto kern : lda_kernels ) test_cuda_hip_interface( TestInterface::EXC_VXC, EvalType::Zero, Backend::libxc, kern, Spin::Unpolarized ); } + SECTION( "LDA Functionals: FXC Zero Eval Unpolarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "LDA Functionals: VXC + FXC Zero Eval Unpolarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + SECTION( "GGA Functionals: EXC Zero Eval Unpolarized" ) { for( auto kern : gga_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, @@ -1482,6 +2379,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Unpolarized ); } + SECTION( "GGA Functionals: FXC Zero Eval Unpolarized" ) { + for( auto kern : gga_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + + SECTION( "GGA Functionals: VXC + FXC Zero Eval Unpolarized" ) { + for( auto kern : gga_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + SECTION( "MGGA Functionals: EXC Zero Eval Unpolarized" ) { for( auto kern : mgga_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, @@ -1494,7 +2407,21 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Unpolarized ); } + SECTION( "MGGA Functionals: FXC Zero Eval Unpolarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Unpolarized ); + } + } + SECTION( "MGGA Functionals: VXC + FXC Zero Eval Unpolarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Unpolarized ); + } + } @@ -1507,13 +2434,28 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Polarized ); } - SECTION( "LDA Functionals: EXC + VXC Regular Eval Polarized" ) { for( auto kern : lda_kernels ) test_cuda_hip_interface( TestInterface::EXC_VXC, EvalType::Regular, Backend::libxc, kern, Spin::Polarized ); } + SECTION( "LDA Functionals: FXC Regular Eval Polarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "LDA Functionals: VXC + FXC Regular Eval Polarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Polarized ); + } + } + SECTION( "GGA Functionals: EXC Regular Eval Polarized" ) { for( auto kern : gga_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Regular, @@ -1526,6 +2468,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Polarized ); } + SECTION( "GGA Functionals: FXC Regular Eval Polarized" ) { + for( auto kern : gga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "GGA Functionals: VXC + FXC Regular Eval Polarized" ) { + for( auto kern : gga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Polarized ); + } + } + SECTION( "MGGA Functionals: EXC Regular Eval Polarized" ) { for( auto kern : mgga_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Regular, @@ -1538,6 +2496,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Polarized ); } + SECTION( "MGGA Functionals: FXC Regular Eval Polarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "MGGA Functionals: VXC + FXC Regular Eval Polarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, + Backend::libxc, kern, Spin::Polarized ); + } + } + SECTION( "LDA Functionals: EXC Small Eval Polarized" ) { for( auto kern : lda_kernels ){ if(is_unstable_small(kern)) continue; @@ -1546,7 +2520,6 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } - SECTION( "LDA Functionals: EXC + VXC Small Eval Polarized" ) { for( auto kern : lda_kernels ) { if(is_unstable_small(kern)) continue; @@ -1555,6 +2528,25 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION( "LDA Functionals: FXC Small Eval Polarized" ) { + for( auto kern : lda_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "LDA Functionals: VXC + FXC Small Eval Polarized" ) { + for( auto kern : lda_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "GGA Functionals: EXC Small Eval Polarized" ) { for( auto kern : gga_kernels ) { if(is_unstable_small(kern)) continue; @@ -1571,6 +2563,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION( "GGA Functionals: FXC Small Eval Polarized" ) { + for( auto kern : gga_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "GGA Functionals: VXC + FXC Small Eval Polarized" ) { + for( auto kern : gga_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::libxc, kern, Spin::Polarized ); + } + } + SECTION( "MGGA Functionals: EXC Small Eval Polarized" ) { for( auto kern : mgga_kernels ) { if(is_unstable_small(kern)) continue; @@ -1587,6 +2597,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION( "MGGA Functionals: FXC Small Eval Polarized" ) { + for( auto kern : mgga_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "MGGA Functionals: VXC + FXC Small Eval Polarized" ) { + for( auto kern : mgga_kernels ) { + if(is_unstable_small(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::libxc, kern, Spin::Polarized ); + } + } + SECTION( "LDA Functionals: EXC Zero Eval Polarized" ) { for( auto kern : lda_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, @@ -1600,6 +2628,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Polarized ); } + SECTION( "LDA Functionals: FXC Zero Eval Polarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "LDA Functionals: VXC + FXC Zero Eval Polarized" ) { + for( auto kern : lda_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Polarized ); + } + } + SECTION( "GGA Functionals: EXC Zero Eval Polarized" ) { for( auto kern : gga_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, @@ -1612,6 +2656,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Polarized ); } + SECTION( "GGA Functionals: FXC Zero Eval Polarized" ) { + for( auto kern : gga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "GGA Functionals: VXC + FXC Zero Eval Polarized" ) { + for( auto kern : gga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Polarized ); + } + } + SECTION( "MGGA Functionals: EXC Zero Eval Polarized" ) { for( auto kern : mgga_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, @@ -1624,6 +2684,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::libxc, kern, Spin::Polarized ); } + SECTION( "MGGA Functionals: FXC Zero Eval Polarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Polarized ); + } + } + + SECTION( "MGGA Functionals: VXC + FXC Zero Eval Polarized" ) { + for( auto kern : mgga_kernels ){ + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::libxc, kern, Spin::Polarized ); + } + } + } SECTION( "Builtin Functionals" ) { @@ -1640,6 +2716,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Unpolarized ); } + SECTION("FXC Regular: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + + SECTION("VXC + FXC Regular: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + SECTION("EXC + INC Regular: Unpolarized") { for( auto kern : builtin_supported_kernels ) test_cuda_hip_interface( TestInterface::EXC_INC, EvalType::Regular, @@ -1652,6 +2744,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Unpolarized ); } + SECTION("FXC + INC Regular: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC_INC, EvalType::Regular, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + + SECTION("VXC + FXC + INC Regular: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC_INC, EvalType::Regular, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + SECTION("EXC Small: Unpolarized") { for( auto kern : builtin_supported_kernels ) { if(is_unstable_small(kern)) continue; @@ -1668,6 +2776,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION("FXC Small: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + + SECTION("VXC + FXC Small: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + SECTION("EXC + INC Small: Unpolarized") { for( auto kern : builtin_supported_kernels ) { if(is_unstable_small(kern)) continue; @@ -1684,6 +2810,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION("FXC + INC Small: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC_INC, EvalType::Small, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + + SECTION("VXC + FXC + INC Small: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC_INC, EvalType::Small, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + SECTION("EXC Zero: Unpolarized") { for( auto kern : builtin_supported_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, @@ -1696,6 +2840,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Unpolarized ); } + SECTION("FXC Zero: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + + SECTION("VXC + FXC Zero: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + SECTION("EXC + INC Zero: Unpolarized") { for( auto kern : builtin_supported_kernels ) test_cuda_hip_interface( TestInterface::EXC_INC, EvalType::Zero, @@ -1708,6 +2868,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Unpolarized ); } + SECTION("FXC + INC Zero: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC_INC, EvalType::Zero, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + + SECTION("VXC + FXC + INC Zero: Unpolarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC_INC, EvalType::Zero, + Backend::builtin, kern, Spin::Unpolarized ); + } + } + + + SECTION("EXC Regular: Polarized") { for( auto kern : builtin_supported_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Regular, @@ -1720,6 +2898,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Polarized ); } + SECTION("FXC Regular: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Regular, + Backend::builtin, kern, Spin::Polarized ); + } + } + + SECTION("VXC + FXC Regular: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Regular, + Backend::builtin, kern, Spin::Polarized ); + } + } + SECTION("EXC + INC Regular: Polarized") { for( auto kern : builtin_supported_kernels ) test_cuda_hip_interface( TestInterface::EXC_INC, EvalType::Regular, @@ -1732,6 +2926,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Polarized ); } + SECTION("FXC + INC Regular: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC_INC, EvalType::Regular, + Backend::builtin, kern, Spin::Polarized ); + } + } + + SECTION("VXC + FXC + INC Regular: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC_INC, EvalType::Regular, + Backend::builtin, kern, Spin::Polarized ); + } + } + SECTION("EXC Small: Polarized") { for( auto kern : builtin_supported_kernels ) { if(is_unstable_small(kern)) continue; @@ -1748,6 +2958,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION("FXC Small: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Small, + Backend::builtin, kern, Spin::Polarized ); + } + } + + SECTION("VXC + FXC Small: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Small, + Backend::builtin, kern, Spin::Polarized ); + } + } + SECTION("EXC + INC Small: Polarized") { for( auto kern : builtin_supported_kernels ) { if(is_unstable_small(kern)) continue; @@ -1764,6 +2992,24 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { } } + SECTION("FXC + INC Small: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC_INC, EvalType::Small, + Backend::builtin, kern, Spin::Polarized ); + } + } + + SECTION("VXC + FXC + INC Small: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_unstable_small_2nd_deriv_device(kern)) continue; + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC_INC, EvalType::Small, + Backend::builtin, kern, Spin::Polarized ); + } + } + SECTION("EXC Zero: Polarized") { for( auto kern : builtin_supported_kernels ) test_cuda_hip_interface( TestInterface::EXC, EvalType::Zero, @@ -1776,6 +3022,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Polarized ); } + SECTION("FXC Zero: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC, EvalType::Zero, + Backend::builtin, kern, Spin::Polarized ); + } + } + + SECTION("VXC + FXC Zero: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC, EvalType::Zero, + Backend::builtin, kern, Spin::Polarized ); + } + } + SECTION("EXC + INC Zero: Polarized") { for( auto kern : builtin_supported_kernels ) test_cuda_hip_interface( TestInterface::EXC_INC, EvalType::Zero, @@ -1788,6 +3050,22 @@ TEST_CASE( "CUDA Interfaces", "[xc-device]" ) { Backend::builtin, kern, Spin::Polarized ); } + SECTION("FXC + INC Zero: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::FXC_INC, EvalType::Zero, + Backend::builtin, kern, Spin::Polarized ); + } + } + + SECTION("VXC + FXC + INC Zero: Polarized") { + for( auto kern : builtin_supported_kernels ) { + if(is_deorbitalized(kern)) continue; + test_cuda_hip_interface( TestInterface::VXC_FXC_INC, EvalType::Zero, + Backend::builtin, kern, Spin::Polarized ); + } + } + }